From a2987481e92721ce31ee84c022d679a3056201af Mon Sep 17 00:00:00 2001 From: Yan Zhu Date: Sun, 29 Apr 2018 13:04:20 +0800 Subject: Fix deleted demo video and Edge support info --- docs/elements.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs/elements.html') diff --git a/docs/elements.html b/docs/elements.html index 5488d8b..f6269e4 100644 --- a/docs/elements.html +++ b/docs/elements.html @@ -1926,7 +1926,7 @@
-

Add the img-fit-contain or img-fit-cover class to <img> or <video> elements. The media will crop itself to fit inside the element (and you don't need another container). This feature can replace the background image trick. Microsoft Edge support is in preview.

+

Add the img-fit-contain or img-fit-cover class to <img> or <video> elements. The media will crop itself to fit inside the element (and you don't need another container). This feature can replace the background image trick. Microsoft Edge support is shipped.

@@ -1973,7 +1973,7 @@
- +
-- cgit v1.3.1-23-gd82d From f8d7a075fa0b28b299e33c1bdc2a9d25dd668847 Mon Sep 17 00:00:00 2001 From: Yan Zhu Date: Sun, 20 May 2018 09:57:10 +0800 Subject: Move more Docs pages to Pug --- docs/dist/docs.css | 11 +- docs/dist/docs.min.css | 2 +- docs/elements.html | 2344 ++++++-------------------------------- docs/getting-started.html | 6 - docs/src/contents/buttons.pug | 0 docs/src/contents/codes.pug | 0 docs/src/contents/custom.pug | 12 +- docs/src/contents/forms.pug | 0 docs/src/contents/grid.pug | 0 docs/src/contents/icons.pug | 0 docs/src/contents/labels.pug | 0 docs/src/contents/media.pug | 0 docs/src/contents/navbar.pug | 0 docs/src/contents/responsive.pug | 0 docs/src/contents/tables.pug | 64 ++ docs/src/contents/typography.pug | 267 +++++ docs/src/elements.pug | 41 + docs/src/getting-started.pug | 4 +- docs/src/scss/docs.scss | 20 +- 19 files changed, 770 insertions(+), 2001 deletions(-) create mode 100644 docs/src/contents/buttons.pug create mode 100644 docs/src/contents/codes.pug create mode 100644 docs/src/contents/forms.pug create mode 100644 docs/src/contents/grid.pug create mode 100644 docs/src/contents/icons.pug create mode 100644 docs/src/contents/labels.pug create mode 100644 docs/src/contents/media.pug create mode 100644 docs/src/contents/navbar.pug create mode 100644 docs/src/contents/responsive.pug create mode 100644 docs/src/contents/tables.pug create mode 100644 docs/src/contents/typography.pug create mode 100644 docs/src/elements.pug (limited to 'docs/elements.html') diff --git a/docs/dist/docs.css b/docs/dist/docs.css index e3c1473..56db536 100644 --- a/docs/dist/docs.css +++ b/docs/dist/docs.css @@ -184,6 +184,10 @@ font-size: .7rem; } +.docs-content .columns { + margin-bottom: 1rem; +} + .docs-content .column { padding: .4rem; } @@ -451,6 +455,9 @@ .off-canvas .off-canvas-toggle { z-index: 300; } + .off-canvas .off-canvas-content { + width: 100%; + } .docs-sidebar .docs-brand { margin: .85rem 1.5rem; padding: 0; @@ -469,7 +476,7 @@ background: rgba(248, 249, 250, .65); left: 0; } - .docs-content.off-canvas-content { + .docs-content { min-width: auto; padding: 0 1.5rem; width: 100%; @@ -523,7 +530,7 @@ .docs-sidebar .docs-nav { padding: .5rem 1rem; } - .docs-content.off-canvas-content { + .docs-content { padding: 0 .5rem; } .docs-content .docs-block { diff --git a/docs/dist/docs.min.css b/docs/dist/docs.min.css index 782728c..1578bf3 100644 --- a/docs/dist/docs.min.css +++ b/docs/dist/docs.min.css @@ -1 +1 @@ -/*! Spectre.css Docs | MIT License | github.com/picturepan2/spectre */.version::after{content:"0.5.2"}.off-canvas .off-canvas-toggle{font-size:1rem;left:1.5rem;position:fixed;top:1rem}.off-canvas .off-canvas-sidebar{width:12rem}.off-canvas .off-canvas-content{padding:0}.docs-navbar{height:3.8rem;position:fixed;right:0;top:0;z-index:100}.docs-navbar .btn{position:absolute;right:1.5rem;top:1rem}.docs-sidebar .docs-nav{bottom:1.5rem;-webkit-overflow-scrolling:touch;overflow-y:auto;padding:.5rem 1.5rem;position:fixed;top:3.5rem;width:12rem}.docs-sidebar .accordion{margin-bottom:.75rem}.docs-sidebar .accordion input~.accordion-header{color:#5b657a;font-size:.65rem;font-weight:600;text-transform:uppercase}.docs-sidebar .accordion input:checked~.accordion-header{color:#667189}.docs-sidebar .accordion .menu .menu-item{font-size:.7rem;padding-left:1rem}.docs-sidebar .accordion .menu .menu-item>a{background:0 0;color:#667189;display:inline-block}.docs-content{-ms-flex:1 1 auto;flex:1 1 auto;padding:0 4rem;width:calc(100vw - 12rem)}.docs-content>.container{margin-left:0;max-width:800px;padding-bottom:1.5rem}.docs-content .anchor{color:#6362dc;height:0;margin-left:-2em;overflow:hidden;padding:0 1em;position:absolute;text-align:center;width:0;z-index:100}.docs-content .anchor:focus,.docs-content .anchor:hover{box-shadow:none;height:auto;text-decoration:none;width:2em}.docs-content .s-subtitle,.docs-content .s-title{color:#414857;line-height:1.8rem;margin-bottom:0;padding-bottom:1rem;padding-top:1rem;position:static}@supports ((position:-webkit-sticky) or (position:sticky)){.docs-content .s-subtitle,.docs-content .s-title{position:sticky;position:-webkit-sticky;top:0;z-index:100}.docs-content .s-subtitle::before,.docs-content .s-title::before{background:#fff;bottom:0;content:"";display:block;left:-10px;position:absolute;right:-10px;top:-5px;z-index:-1}}.docs-content .s-subtitle:hover .anchor,.docs-content .s-title:hover .anchor{height:auto;width:1em}.docs-content .s-subtitle+.docs-note,.docs-content .s-title+.docs-note{margin-top:.4rem}.docs-content .docs-note{margin:1.5rem 0}.docs-content .docs-ad{background:#f8f9fa;border-radius:.1rem;display:inline-block;padding:.4rem;position:relative}.docs-content .docs-ad::before{color:#acb3c2;content:"AD";font-size:.7rem;position:absolute;right:.4rem;top:.1rem}.docs-content .docs-ad.docs-ad-sidebar::before{content:none}.docs-content .carbon-wrap .carbon-img{display:block}.docs-content .carbon-wrap .carbon-text{color:#667189;display:block;font-size:.7rem}.docs-content .carbon-poweredby{color:#acb3c2;font-size:.7rem}.docs-content .column{padding:.4rem}.docs-content .docs-block{border-radius:.1rem;padding:.4rem}.docs-content .docs-block.bg-gray{background:#f0f1f4}.docs-content .docs-shape{height:4.8rem;line-height:1.2rem;padding:1.8rem 0;width:4.8rem}.docs-content .docs-dot{border-radius:50%;display:inline-block;height:.5rem;padding:0;width:.5rem}.docs-content .docs-table td,.docs-content .docs-table th{padding:.75rem .25rem}.docs-content .docs-color{border-radius:.1rem;margin:.25rem 0;padding:.5rem}.docs-content .docs-color .color-subtitle{font-size:.7rem;opacity:.75}.docs-content .code .hljs-tag{color:#667189}.docs-content .code .hljs-comment{color:#acb3c2}.docs-content .code .hljs-class,.docs-content .code .hljs-string,.docs-content .code .hljs-title{color:#5755d9}.docs-content .code .hljs-attribute,.docs-content .code .hljs-built_in,.docs-content .code .hljs-keyword,.docs-content .code .hljs-variable{color:#d73e48}.docs-content .code .hljs-hexcolor,.docs-content .code .hljs-value{color:#667189}.docs-content .panel{height:75vh}.docs-content .panel .tile{margin:.75rem 0}.docs-content .parallax{margin:2rem auto}.docs-content .form-autocomplete .menu{position:static}.docs-content .example-tile-icon{align-content:space-around;align-items:center;background:#5755d9;border-radius:.1rem;color:#fff;display:flex;display:-ms-flexbox;-ms-flex-align:center;-ms-flex-line-pack:distribute;font-size:1.2rem;height:2rem;width:2rem}.docs-content .example-tile-icon .icon{margin:auto}.docs-content .comparison-slider{height:auto;padding-bottom:56.2222%}.docs-content .comparison-slider .filter-grayscale{filter:grayscale(75%)}.docs-content .off-canvas{position:relative}.docs-content .off-canvas .off-canvas-toggle{left:.4rem;position:absolute;top:.4rem;z-index:1}.docs-brand{color:#5755d9;left:1.5rem;position:fixed;top:.85rem}.docs-brand .docs-logo{align-items:center;border-radius:.1rem;display:inline-flex;display:-ms-inline-flexbox;-ms-flex-align:center;height:2rem;padding:.2rem;width:auto}.docs-brand .docs-logo:focus,.docs-brand .docs-logo:hover{text-decoration:none}.docs-brand .docs-logo img{display:inline;height:auto;width:1.6rem}.docs-brand .docs-logo h2{display:inline;font-size:.8rem;font-weight:700;line-height:1.5rem;margin-bottom:0;margin-left:.5rem;margin-right:.5rem}.docs-footer{color:#acb3c2;padding:.5rem .5rem 1.5rem .5rem}.docs-footer a{color:#667189}.btn .feather{height:1rem;vertical-align:middle}.section-hero{padding:1rem .5rem}.section-hero .docs-brand{position:absolute;top:.85rem}.section-hero .docs-brand h2{color:#5755d9}.section-hero .column{padding:.4rem}.section-updates{padding:4.5rem .5rem 3.5rem .5rem}.section-updates .card{border:0;color:#727e96;margin-bottom:1rem}.section-features{padding:4.5rem .5rem}.section-features .column{padding:.4rem}.section-footer{color:#acb3c2;padding:1.8rem .75rem 1rem .75rem;position:relative;z-index:200}.section-footer a{color:#667189}.grid-hero{padding-bottom:2rem;padding-top:6rem}.grid-hero h1{color:#50596c;font-size:1.6rem;margin-bottom:1.5rem}.grid-hero h2{color:#5b657a;font-size:.9rem;font-weight:400;line-height:1.5rem;margin-bottom:1.5rem}.grid-hero h2 u{border-bottom:.1rem solid currentColor;padding-bottom:.05rem;text-decoration:none}.grid-hero .card{background:0 0;border:0;color:#727e96;padding:.5rem}.grid-hero .card .card-title{color:#5755d9;font-size:.9rem;margin-bottom:0}@media (max-width:960px){.off-canvas .off-canvas-toggle{z-index:300}.docs-sidebar .docs-brand{margin:.85rem 1.5rem;padding:0;position:static}.docs-sidebar .docs-nav{margin-top:1rem;position:static}.docs-sidebar .menu .menu-item>a{padding:.3rem .4rem}.docs-navbar{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:rgba(248,249,250,.65);left:0}.docs-content.off-canvas-content{min-width:auto;padding:0 1.5rem;width:100%}.docs-content .s-subtitle,.docs-content .s-title{padding-top:5rem;position:static}.docs-content .s-subtitle::before,.docs-content .s-title::before{content:none}.section-hero .s-brand{height:5rem;padding:1.5rem .5rem;text-align:center;width:100%}.section-hero .s-brand .s-logo{height:auto}.section-hero .s-brand img{height:3.2rem;width:3.2rem}.section-hero .s-brand h2{display:none}}@media (max-width:600px){.grid-hero h2{font-size:.9rem}.grid-hero .card{padding:0}.off-canvas .off-canvas-toggle{left:.5rem}.docs-navbar .btn{right:1rem}.grid-hero .docs-brand{left:1rem}.docs-sidebar .docs-brand{margin:.85rem 1rem}.docs-sidebar .docs-nav{padding:.5rem 1rem}.docs-content.off-canvas-content{padding:0 .5rem}.docs-content .docs-block{padding:.4rem .1rem}.docs-content .anchor{display:none}}@media (min-width:1366px){.docs-ad.docs-ad-sidebar{bottom:1rem;position:fixed;right:1rem;width:7.3rem}} \ No newline at end of file +/*! Spectre.css Docs | MIT License | github.com/picturepan2/spectre */.version::after{content:"0.5.2"}.off-canvas .off-canvas-toggle{font-size:1rem;left:1.5rem;position:fixed;top:1rem}.off-canvas .off-canvas-sidebar{width:12rem}.off-canvas .off-canvas-content{padding:0}.docs-navbar{height:3.8rem;position:fixed;right:0;top:0;z-index:100}.docs-navbar .btn{position:absolute;right:1.5rem;top:1rem}.docs-sidebar .docs-nav{bottom:1.5rem;-webkit-overflow-scrolling:touch;overflow-y:auto;padding:.5rem 1.5rem;position:fixed;top:3.5rem;width:12rem}.docs-sidebar .accordion{margin-bottom:.75rem}.docs-sidebar .accordion input~.accordion-header{color:#5b657a;font-size:.65rem;font-weight:600;text-transform:uppercase}.docs-sidebar .accordion input:checked~.accordion-header{color:#667189}.docs-sidebar .accordion .menu .menu-item{font-size:.7rem;padding-left:1rem}.docs-sidebar .accordion .menu .menu-item>a{background:0 0;color:#667189;display:inline-block}.docs-content{-ms-flex:1 1 auto;flex:1 1 auto;padding:0 4rem;width:calc(100vw - 12rem)}.docs-content>.container{margin-left:0;max-width:800px;padding-bottom:1.5rem}.docs-content .anchor{color:#6362dc;height:0;margin-left:-2em;overflow:hidden;padding:0 1em;position:absolute;text-align:center;width:0;z-index:100}.docs-content .anchor:focus,.docs-content .anchor:hover{box-shadow:none;height:auto;text-decoration:none;width:2em}.docs-content .s-subtitle,.docs-content .s-title{color:#414857;line-height:1.8rem;margin-bottom:0;padding-bottom:1rem;padding-top:1rem;position:static}@supports ((position:-webkit-sticky) or (position:sticky)){.docs-content .s-subtitle,.docs-content .s-title{position:sticky;position:-webkit-sticky;top:0;z-index:100}.docs-content .s-subtitle::before,.docs-content .s-title::before{background:#fff;bottom:0;content:"";display:block;left:-10px;position:absolute;right:-10px;top:-5px;z-index:-1}}.docs-content .s-subtitle:hover .anchor,.docs-content .s-title:hover .anchor{height:auto;width:1em}.docs-content .s-subtitle+.docs-note,.docs-content .s-title+.docs-note{margin-top:.4rem}.docs-content .docs-note{margin:1.5rem 0}.docs-content .docs-ad{background:#f8f9fa;border-radius:.1rem;display:inline-block;padding:.4rem;position:relative}.docs-content .docs-ad::before{color:#acb3c2;content:"AD";font-size:.7rem;position:absolute;right:.4rem;top:.1rem}.docs-content .docs-ad.docs-ad-sidebar::before{content:none}.docs-content .carbon-wrap .carbon-img{display:block}.docs-content .carbon-wrap .carbon-text{color:#667189;display:block;font-size:.7rem}.docs-content .carbon-poweredby{color:#acb3c2;font-size:.7rem}.docs-content .columns{margin-bottom:1rem}.docs-content .column{padding:.4rem}.docs-content .docs-block{border-radius:.1rem;padding:.4rem}.docs-content .docs-block.bg-gray{background:#f0f1f4}.docs-content .docs-shape{height:4.8rem;line-height:1.2rem;padding:1.8rem 0;width:4.8rem}.docs-content .docs-dot{border-radius:50%;display:inline-block;height:.5rem;padding:0;width:.5rem}.docs-content .docs-table td,.docs-content .docs-table th{padding:.75rem .25rem}.docs-content .docs-color{border-radius:.1rem;margin:.25rem 0;padding:.5rem}.docs-content .docs-color .color-subtitle{font-size:.7rem;opacity:.75}.docs-content .code .hljs-tag{color:#667189}.docs-content .code .hljs-comment{color:#acb3c2}.docs-content .code .hljs-class,.docs-content .code .hljs-string,.docs-content .code .hljs-title{color:#5755d9}.docs-content .code .hljs-attribute,.docs-content .code .hljs-built_in,.docs-content .code .hljs-keyword,.docs-content .code .hljs-variable{color:#d73e48}.docs-content .code .hljs-hexcolor,.docs-content .code .hljs-value{color:#667189}.docs-content .panel{height:75vh}.docs-content .panel .tile{margin:.75rem 0}.docs-content .parallax{margin:2rem auto}.docs-content .form-autocomplete .menu{position:static}.docs-content .example-tile-icon{align-content:space-around;align-items:center;background:#5755d9;border-radius:.1rem;color:#fff;display:flex;display:-ms-flexbox;-ms-flex-align:center;-ms-flex-line-pack:distribute;font-size:1.2rem;height:2rem;width:2rem}.docs-content .example-tile-icon .icon{margin:auto}.docs-content .comparison-slider{height:auto;padding-bottom:56.2222%}.docs-content .comparison-slider .filter-grayscale{filter:grayscale(75%)}.docs-content .off-canvas{position:relative}.docs-content .off-canvas .off-canvas-toggle{left:.4rem;position:absolute;top:.4rem;z-index:1}.docs-brand{color:#5755d9;left:1.5rem;position:fixed;top:.85rem}.docs-brand .docs-logo{align-items:center;border-radius:.1rem;display:inline-flex;display:-ms-inline-flexbox;-ms-flex-align:center;height:2rem;padding:.2rem;width:auto}.docs-brand .docs-logo:focus,.docs-brand .docs-logo:hover{text-decoration:none}.docs-brand .docs-logo img{display:inline;height:auto;width:1.6rem}.docs-brand .docs-logo h2{display:inline;font-size:.8rem;font-weight:700;line-height:1.5rem;margin-bottom:0;margin-left:.5rem;margin-right:.5rem}.docs-footer{color:#acb3c2;padding:.5rem .5rem 1.5rem .5rem}.docs-footer a{color:#667189}.btn .feather{height:1rem;vertical-align:middle}.section-hero{padding:1rem .5rem}.section-hero .docs-brand{position:absolute;top:.85rem}.section-hero .docs-brand h2{color:#5755d9}.section-hero .column{padding:.4rem}.section-updates{padding:4.5rem .5rem 3.5rem .5rem}.section-updates .card{border:0;color:#727e96;margin-bottom:1rem}.section-features{padding:4.5rem .5rem}.section-features .column{padding:.4rem}.section-footer{color:#acb3c2;padding:1.8rem .75rem 1rem .75rem;position:relative;z-index:200}.section-footer a{color:#667189}.grid-hero{padding-bottom:2rem;padding-top:6rem}.grid-hero h1{color:#50596c;font-size:1.6rem;margin-bottom:1.5rem}.grid-hero h2{color:#5b657a;font-size:.9rem;font-weight:400;line-height:1.5rem;margin-bottom:1.5rem}.grid-hero h2 u{border-bottom:.1rem solid currentColor;padding-bottom:.05rem;text-decoration:none}.grid-hero .card{background:0 0;border:0;color:#727e96;padding:.5rem}.grid-hero .card .card-title{color:#5755d9;font-size:.9rem;margin-bottom:0}@media (max-width:960px){.off-canvas .off-canvas-toggle{z-index:300}.off-canvas .off-canvas-content{width:100%}.docs-sidebar .docs-brand{margin:.85rem 1.5rem;padding:0;position:static}.docs-sidebar .docs-nav{margin-top:1rem;position:static}.docs-sidebar .menu .menu-item>a{padding:.3rem .4rem}.docs-navbar{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:rgba(248,249,250,.65);left:0}.docs-content{min-width:auto;padding:0 1.5rem;width:100%}.docs-content .s-subtitle,.docs-content .s-title{padding-top:5rem;position:static}.docs-content .s-subtitle::before,.docs-content .s-title::before{content:none}.section-hero .s-brand{height:5rem;padding:1.5rem .5rem;text-align:center;width:100%}.section-hero .s-brand .s-logo{height:auto}.section-hero .s-brand img{height:3.2rem;width:3.2rem}.section-hero .s-brand h2{display:none}}@media (max-width:600px){.grid-hero h2{font-size:.9rem}.grid-hero .card{padding:0}.off-canvas .off-canvas-toggle{left:.5rem}.docs-navbar .btn{right:1rem}.grid-hero .docs-brand{left:1rem}.docs-sidebar .docs-brand{margin:.85rem 1rem}.docs-sidebar .docs-nav{padding:.5rem 1rem}.docs-content{padding:0 .5rem}.docs-content .docs-block{padding:.4rem .1rem}.docs-content .anchor{display:none}}@media (min-width:1366px){.docs-ad.docs-ad-sidebar{bottom:1rem;position:fixed;right:1rem;width:7.3rem}} \ No newline at end of file diff --git a/docs/elements.html b/docs/elements.html index f6269e4..cf1c334 100644 --- a/docs/elements.html +++ b/docs/elements.html @@ -1,2013 +1,405 @@ - - - - - - - Elements - Spectre.css CSS Framework - - - - - - - - -
- - - - - - -
-
-

Elements

-
- -
-
-
- - - - -
-
- - - -
-
-
- -
-

Typography

-
-

Typography sets default styles for headings, paragraphs, semantic text, blockquote and lists elements.

-
-

Headings

-
-
-

H1 Heading 40px

-
-
-

H2 Heading 32px

-
-
-

H3 Heading 28px

-
-
-

H4 Heading 24px

-
-
-
H5 Heading 20px
-
-
-
H6 Heading 16px
-
-
- - -
<h1>H1 Heading</h1>
-<h1>H1 Heading <small class="label">40px</small></h1>
-<span class="h1">H1 Heading</span>
-
- -

Paragraphs

-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent risus leo, dictum in vehicula sit amet, feugiat tempus tellus. Duis quis sodales risus. Etiam euismod ornare consequat.

-

Climb leg rub face on everything give attitude nap all day for under the bed. Chase mice attack feet but rub face on everything hopped up on goofballs.

-
- - -
<p>Lorem ipsum dolor sit amet, ...</p>
-<p>...</p>
-
- -

Semantic text elements

-
-
- I18N - <abbr> -
-
- Bold - <strong> <b> -
-
- Citation - <cite> -
-
- Hello World! - <code> -
-
- Deleted - <del> -
-
- Emphasis - <em> -
-
- Italic - <i> -
-
- Inserted - <ins> -
-
- Ctrl + S - <kbd> -
-
- Highlighted - <mark> -
-
- - 漢 kan - 字 ji - - <ruby> -
-
- Strikethrough - <s> -
-
- Sample - <samp> -
-
- Text Subscripted - <sub> -
-
- Text Superscripted - <sup> -
-
- - <time> -
-
- Underline - <u> -
-
- x = y + 2 - <var> -
-
- -

Optimized for east asian fonts

-
你好, こんにちは, 안녕하세요
-
-

Chinese (Simplified)

-

革命不是请客吃饭,不是做文章,不是绘画绣花,不能那样雅致,那样从容不迫,“文质彬彬”,那样“温良恭俭让”。革命就是暴动,是一个阶级推翻一个阶级的暴烈的行动。

-

Chinese (Tranditional)

-

山不在高,有仙則名;水不在深,有龍則靈。斯是陋室,惟吾德馨。苔痕上階綠,草色入簾青;談笑有鴻儒,往來無白丁。可以調素琴,閱金經。無絲竹之亂耳,無案牘之勞形。南陽諸葛廬,西蜀子雲亭。孔子云:「何陋之有?」

-

Japanese

-

祇園精舎の鐘の声、諸行無常の響きあり。沙羅双樹の花の色、盛者必衰の理をあらはす。おごれる人も久しからず。ただ春の夜の夢のごとし。たけき者も遂にはほろびぬ、ひとへ‌​に風の前の塵に同じ。

-

Korean

-

나라말이 중국과 달라, 한문・한자와 서로 통하지 아니하므로, 어리석은 백성들이 말하고자 하는 바가 있어도, 끝내 제 뜻을 펴지 못하는 사람이 많다. 내가 이를 불쌍히 여겨, 새로 스물 여덟 글자를 만드니, 사람마다 하여금 쉽게 익혀, 날마다 씀에 편하게 하고자 할 따름이다.

-
-
-

Use the lang attribute to the container element to have better Asian CJK (Chinese, Japanese and Korean) font support.

-
- - -
<p lang="zh-Hans">革命不是请客吃饭,不是做文章……</p>
-<p lang="ja">祇園精舎の鐘の声、諸行無常の響きあり……</p>
-<p lang="ko">나라말이 중국과 달라, 한문・한자와 서로 통하지 아니하므로……</p>
-
- -
-

And you can use the cjk class or the lang attribute to add spacing between underlines and strike-through text for better Chinese and Japanese readability.

-
-
-

祇園精舎の鐘の声、諸行無常の響きあり。

-

祇園精舎の鐘の声、諸行無常の響きあり。

-
- - -
<p class="cjk"><u>祇園</u><u>精舎</u>の鐘の声、諸行無常の響きあり。……</p>
-<p class="cjk"><del>祇園</del><del>精舎</del>の鐘の声、諸行無常の響きあり。……</p>
-
- -

Fonts

-
-

Spectre sets the most common and best font-family for each OS with fallback support in old systems. There are also fonts targeted East Asian typography.

-
- - -
<!-- Western typography targeted -->
-font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
-<!-- Monospace typography targeted -->
-font-family: "SF Mono", "Segoe UI Mono", "Roboto Mono", Menlo, Courier, monospace;
-
-<!-- Chinese (lang="zh-Hans" and lang="zh-Hant") targeted -->
-font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", sans-serif;
-<!-- Japanese (lang="ja") targeted -->
-font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Hiragino Sans", "Hiragino Kaku Gothic Pro", "Yu Gothic", YuGothic, Meiryo, "Helvetica Neue", sans-serif;
-<!-- Korean (lang="ko") targeted -->
-font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Malgun Gothic", "Helvetica Neue", sans-serif;
-
- -

Blockquote

-
-

The advance of technology is based on making it fit in so that you don't really even notice it, so it's part of everyday life.

- - Bill Gates -
- - -
<blockquote>
-  <p>The advance of technology is based on making it fit in so that you don't really even notice it, so it's part of everyday life. </p>
-  <cite>- Bill Gates</cite>
-</blockquote>
-
- -

Lists

-
-
-
-
-
    -
  1. list item 1
  2. -
  3. list item 2 -
      -
    1. list item 2.1
    2. -
    3. list item 2.2
    4. -
    5. list item 2.3
    6. -
    -
  4. -
  5. list item 3
  6. -
-
-
-
-
description list term 1
-
description list description 1
-
description list term 2
-
description list description 2
-
description list term 3
-
description list description 3
-
-
-
- - -
<!-- unordered list -->
-<ul>
-  <li>list item 1</li>
-  <li>list item 2
-    <ul>
-      <li>list item 2.1</li>
-      <li>list item 2.2</li>
-      <li>list item 2.3</li>
-    </ul>
-  </li>
-  <li>list item 3</li>
-</ul>
-
-<!-- description list -->
-<dl>
-  <dt>description list term</dt>
-  <dd>description list description</dd>
-</dl>
-
- -
- -
-
- -
-
- -
-

Tables

-
-

Tables include default styles for tables and data sets.

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameGenreRelease date
The Shawshank RedemptionCrime, Drama14 October 1994
The GodfatherCrime, Drama24 March 1972
Schindler's ListBiography, Drama, History4 February 1994
Se7enCrime, Drama, Mystery22 September 1995
-
-

Add the table class to any <table> element. The class will add padding, border and emphasized table header. Use the table-striped class to <table> to add zebra striped style. For hoverable table rows, you can add the table-hover class to enable hover style.

-

Use the active class to make <tr> element highlighted.

-
- - -
<table class="table table-striped table-hover">
-  <thead>
-    <tr>
-      <th>name</th>
-      <th>genre</th>
-      <th>release date</th>
-    </tr>
-  </thead>
-  <tbody>
-    <tr class="active">
-      <td>The Shawshank Redemption</td>
-      <td>Crime, Drama</td>
-      <td>14 October 1994</td>
-    </tr>
-  </tbody>
-</table>
-
- -
-

If you need the tables with horizontal scroll, add the table-scroll class to the <table> element.

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameGenreDirectorRatingDurationRelease date
The Shawshank RedemptionCrime, DramaFrank DarabontR2h 22min14 October 1994
The GodfatherCrime, DramaFrancis Ford CoppolaR2h 55min24 March 1972
Schindler's ListBiography, Drama, HistorySteven SpielbergR3h 15min4 February 1994
Se7enCrime, Drama, MysteryDavid FincherR2h 7min22 September 1995
- - -
<table class="table table-scroll">
-  <!-- table content -->
-</table>
-
- -
- -
-

Buttons

-
-

Buttons include simple button styles for actions in different types and sizes.

-
-
-
- - - -
-
- -
-

Add the btn class to <a>, <input> or <button> elements for a default button. There are classes btn-primary and btn-link for predefined primary and link buttons.

-
- - -
<button class="btn">default button</button>
-<button class="btn btn-primary">primary button</button>
-<button class="btn btn-link">link button</button>
-
- -

Button colors

-
-
- - -
-
-
-

Add the btn-success or btn-error class for success (green) or error (red) button color. If you need more button colors, please use button mixins to create your own button color variants.

-
- - -
<button class="btn btn-success">success button</button>
-<button class="btn btn-error">error button</button>
-
- -

Button sizes

-
-
- - -
-
- - -
-
- - -
-
-
-

Add the btn-sm or btn-lg class for small or large button size. Also, you can add the btn-block class for a full-width button.

-
- - -
<button class="btn btn-lg">large button</button>
-<button class="btn btn-sm">small button</button>
-
-<button class="btn btn-block">block button</button>
-
-<button class="btn btn-primary btn-lg"><i class="icon icon-arrow-left"></i> large</button>
-<button class="btn btn-primary"><i class="icon icon-arrow-left"></i> normal</button>
-<button class="btn btn-primary btn-sm"><i class="icon icon-arrow-left"></i> small</button>
-
- -
-

Please note that you could use the btn-action class for a square button, or add another circle class for a round button, which is often used as a Float Action Button (FAB).

-
- -
-
- - - -
-
- - - -
-
- - -
<button class="btn btn-action"><i class="icon icon-arrow-left"></i></button>
-<button class="btn btn-action circle"><i class="icon icon-arrow-left"></i></button>
-
- -

Button states

- -
-

Add the active class for active button state style.

-
- -
-
- - - -
-
- - -
<!-- buttons with active state -->
-<button class="btn active">active button</button>
-
- -
-

Add the disabled class or the disabled attribute for disabled button state style.

-
- -
-
- - - -
-
- - -
<!-- buttons with disabled state -->
-<button class="btn disabled" tabindex="-1">disabled button</button>
-<button class="btn" disabled tabindex="-1">disabled button</button>
-
- -
-

A button with the loading class can show loading indicator.

-
- -
-
- - - -
-
- - -
<!-- a button with loading state -->
-<button class="btn loading">button</button>
-
- -

Button groups

-
-
-
- - - -
-
-
-
- - - -
-
-
-
-
-
- - - -
-
-
-
- - - -
-
-
-
-

If you want to use buttons as a group, add the btn-group class to the container. You can add the btn-group-block class for a full-width button group.

-
- - -
<div class="btn-group btn-group-block">
-  <button class="btn">first button</button>
-  <button class="btn">second button</button>
-  <button class="btn">third button</button>
-</div>
-
- -
- -
-

Forms

-
-

Forms provide the most common control styles used in forms, including input, textarea, select, checkbox, radio and switch.

-
-
-
-
- - -
-
- - -
-
-
- -
<!-- form input control -->
-<div class="form-group">
-  <label class="form-label" for="input-example-1">Name</label>
-  <input class="form-input" type="text" id="input-example-1" placeholder="Name">
-</div>
-
- -
-
-
- - -
-
-
- -
<!-- form textarea control -->
-<div class="form-group">
-  <label class="form-label" for="input-example-3">Message</label>
-  <textarea class="form-input" id="input-example-3" placeholder="Textarea" rows="3"></textarea>
-</div>
-
- -
-
-
- +
-
- +
+ + +
-
-
- -
<!-- form select control -->
-<div class="form-group">
-  <select class="form-select">
-    <option>Choose an option</option>
-    <option>Slack</option>
-    <option>Skype</option>
-    <option>Hipchat</option>
-  </select>
-</div>
-
- -
-
-
-
- - - +
+ + + - -
-
- -
<!-- form radio control -->
-<div class="form-group">
-  <label class="form-label">Gender</label>
-  <label class="form-radio">
-    <input type="radio" name="gender" checked>
-    <i class="form-icon"></i> Male
-  </label>
-  <label class="form-radio">
-    <input type="radio" name="gender">
-    <i class="form-icon"></i> Female
-  </label>
-</div>
-
- -
-
-
-
-
- + -
-
- -
<!-- form switch control -->
-<div class="form-group">
-  <label class="form-switch">
-    <input type="checkbox">
-    <i class="form-icon"></i> Send me emails with news and tips
-  </label>
-</div>
-
- -
-
-
- +
+ + +
-
- +
- -
<!-- form checkbox control -->
-<div class="form-group">
-  <label class="form-checkbox">
-    <input type="checkbox">
-    <i class="form-icon"></i> Remember me
-  </label>
-</div>
-
- -
-

You can use :indeterminate pseudo class for indeterminate state of checkboxes.

-
- -

Horizontal forms

-
-

If you want to have a horizontal form, add the form-horizontal class to the <form> container. And add the col-[1-12] and col-xs/sm/lg/xl-[1-12] class to the child elements for responsive form row layout.

-
-
-
-
-
-
- -
-
- -
+
+
+
+
+

Typography

+

Typography sets default styles for headings, paragraphs, semantic text, blockquote and lists elements.

+

Headings

+
+
+

H1 Heading 40px

-
-
- -
-
- -
+
+

H2 Heading 32px

-
-
- -
-
- - -
+
+

H3 Heading 28px

-
-
- -
-
- -
+
+

H4 Heading 24px

-
-
- -
+
+
H5 Heading 20px
-
-
- -
-
- -
+
+
H6 Heading 16px
-
-
- -
-
- -
-
- - -
<form class="form-horizontal">
-  <div class="form-group">
-    <div class="col-3 col-sm-12">
-      <label class="form-label" for="input-example-1">Name</label>
-    </div>
-    <div class="col-9 col-sm-12">
-      <input class="form-input" type="text" id="input-example-1" placeholder="Name">
-    </div>
-  </div>
-  <!-- form structure -->
-</form>
-
- -

Form sizes

-
-

For smaller or larger input and select controls, you could add the input-sm/input-lg, select-sm/select-lg and label-sm/label-lg classes to the elements.

-
-
-
- -
-
- -
-
- -
-
-
-
- -
-
- -
-
- -
-
-
-

You can add the input-sm/input-lg classes to the input-checkbox, input-radio and input-switch to have different sizes.

-
- -

Form icons

-
-

Spectre Form components has Spectre Icons support.

-

Add a wrapper with the has-icon-left/has-icon-right class to <input> element. And add the icon with form-icon class next to the <input>.

-
-
-
-
- -
-
-
-
- - -
-
-
-
- - -
-
-
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
- - -
<!-- form input with Spectre icon -->
-<div class="has-icon-left">
-  <input type="text" class="form-input" placeholder="...">
-  <i class="form-icon icon icon-check"></i>
-</div>
-
- -
-

You can use the loading class for loading or posting state.

-
- -
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
- -
<!-- form input with loading icon -->
-<div class="has-icon-right">
-  <input type="text" class="form-input" placeholder="...">
-  <i class="form-icon loading"></i>
-</div>
-
- -

Input types

-
-
-
-
-
- -
-
- -
+
<h1>H1 Heading</h1>
+<h1>H1 Heading <small class="label">40px</small></h1>
+<span class="h1">H1 Heading</span>
+
+

Paragraphs

+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent risus leo, dictum in vehicula sit amet, feugiat tempus tellus. Duis quis sodales risus. Etiam euismod ornare consequat.

+

Climb leg rub face on everything give attitude nap all day for under the bed. Chase mice attack feet but rub face on everything hopped up on goofballs.

+
<p>Lorem ipsum dolor sit amet, ...</p>
+<p>...</p>
+
+

Semantic text elements

+
+
I18Nabbr
+
Boldstrongb
+
+ Citationcite
-
-
- -
-
- -
+
Hello World!code
+
+ Deleteddel
-
-
- -
-
- -
+
Emphasisem
+
Italici
+
Insertedins
+
Ctrl + Skbd
+
+ Highlightedmark
-
-
- -
-
- -
+
+ 漢 + kan字 + ji + ruby
-
-
- -
-
- -
+
+ Strikethroughs
-
-
- -
-
- -
+
Samplesamp
+
Text Subscriptedsub
+
Text Superscriptedsup
+
+ time
-
-
- -
-
- -
+
+ Underlineu
-
-
- -
-
- -
+
+ x = + y + 2var
-
-
- -
-
- -
-
- -
-
- -

Input groups

-
-
-
- - -
-
-
-
- slack.com/ - - -
-
-
-
-
-
- - -
-
-
-
- slack.com/ - -
-
-
-
-
-
- - -
-
-
-
- - -
-
-
-
-
-
- - -
-
-
-
- slack.com/ - - -
-
-
- -
-

If you want to attach text and button along with an input, add the input-group class to the input container. And add the input-group-addon class to the text element and input-group-btn to the button element.

-
- - -
<!-- normal input group -->
-<div class="input-group">
-  <span class="input-group-addon">...</span>
-  <input type="text" class="form-input" placeholder="...">
-</div>
-
-<!-- large input group -->
-<div class="input-group">
-  <span class="input-group-addon addon-lg">...</span>
-  <input type="text" class="form-input input-lg" placeholder="...">
-</div>
-
-<!-- normal input group with button -->
-<div class="input-group">
-  <span class="input-group-addon">...</span>
-  <input type="text" class="form-input" placeholder="...">
-  <button class="btn btn-primary input-group-btn">Submit</button>
-</div>
-
- -

Form validation styles

-
-

To use form validation styles, add is-success or is-error class to the controls or add has-success or has-error class to parent elements. You can use the form-input-hint class to provide form validation success and error messages.

-
-
-
-
- Input -
- - -

The name is valid.

-
-
- - -

Passwords must have at least 8 characters.

-
-
- - -

The Email address is unavailable.

-
-
-
- Select -
- -

The option is invalid.

-
-
- -

The option is available.

+

Optimized for East Asian fonts

+

你好, こんにちは, 안녕하세요

+

Chinese (Simplified)

+

革命不是请客吃饭,不是做文章,不是绘画绣花,不能那样雅致,那样从容不迫,“文质彬彬”,那样“温良恭俭让”。革命就是暴动,是一个阶级推翻一个阶级的暴烈的行动。

+

Chinese (Tranditional)

+

山不在高,有仙則名;水不在深,有龍則靈。斯是陋室,惟吾德馨。苔痕上階綠,草色入簾青;談笑有鴻儒,往來無白丁。可以調素琴,閱金經。無絲竹之亂耳,無案牘之勞形。南陽諸葛廬,西蜀子雲亭。孔子云:「何陋之有?」

+

Japanese

+

祇園精舎の鐘の声、諸行無常の響きあり。沙羅双樹の花の色、盛者必衰の理をあらはす。おごれる人も久しからず。ただ春の夜の夢のごとし。たけき者も遂にはほろびぬ、ひとへ‌​に風の前の塵に同じ。

+

Korean

+

나라말이 중국과 달라, 한문・한자와 서로 통하지 아니하므로, 어리석은 백성들이 말하고자 하는 바가 있어도, 끝내 제 뜻을 펴지 못하는 사람이 많다. 내가 이를 불쌍히 여겨, 새로 스물 여덟 글자를 만드니, 사람마다 하여금 쉽게 익혀, 날마다 씀에 편하게 하고자 할 따름이다.

+

Use the lang attribute to the container element to have better Asian CJK (Chinese, Japanese and Korean) font support.

+
<p lang="zh-Hans">革命不是请客吃饭,不是做文章……</p>
+<p lang="ja">祇園精舎の鐘の声、諸行無常の響きあり……</p>
+<p lang="ko">나라말이 중국과 달라, 한문・한자와 서로 통하지 아니하므로……</p>
+
+

And you can use the cjk class or the lang attribute to add spacing between underlines and strike-through text for better Chinese and Japanese readability.

+

+ 祇園 + 精舎の鐘の声、諸行無常の響きあり。 +

+

+ 祇園 + 精舎の鐘の声、諸行無常の響きあり。 +

+
<p class="cjk"><u>祇園</u><u>精舎</u>の鐘の声、諸行無常の響きあり。……</p>
+<p class="cjk"><del>祇園</del><del>精舎</del>の鐘の声、諸行無常の響きあり。……</p>
+
+

Fonts

+

Spectre sets the most common and best font-family for each OS with fallback support in old systems. There are also fonts targeted East Asian typography.

+
/* Western typography targeted */
+font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
+/* Monospace typography targeted */
+font-family: "SF Mono", "Segoe UI Mono", "Roboto Mono", Menlo, Courier, monospace;
+
+/* Chinese (lang="zh-Hans" and lang="zh-Hant") targeted */
+font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", sans-serif;
+/* Japanese (lang="ja") targeted */
+font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Hiragino Sans", "Hiragino Kaku Gothic Pro", "Yu Gothic", YuGothic, Meiryo, "Helvetica Neue", sans-serif;
+/* Korean (lang="ko") targeted */
+font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Malgun Gothic", "Helvetica Neue", sans-serif;
+
+

Blockquote

+
+

The advance of technology is based on making it fit in so that you don't really even notice it, so it's part of everyday life.

+ - Bill Gates +
+
<blockquote>
+  <p>The advance of technology is based on making it fit in so that you don't really even notice it, so it's part of everyday life. </p>
+  <cite>- Bill Gates</cite>
+</blockquote>
+
+

Lists

+
+
+
    +
  • list item 1
  • +
  • list item 2 +
      +
    • list item 2.1
    • +
    • list item 2.2
    • +
    • list item 2.3
    • +
    +
  • +
  • list item 3
  • +
-
-
- Checkbox, Radio and Switch (Error state only) -
- +
+
    +
  1. list item 1
  2. +
  3. list item 2 +
      +
    1. list item 2.1
    2. +
    3. list item 2.2
    4. +
    5. list item 2.3
    6. +
    +
  4. +
  5. list item 3
  6. +
-
- - +
+
+
description list term 1
+
description list description 1
+
description list term 2
+
description list description 2
+
description list term 3
+
description list description 3
+
-
- +
+
<!-- unordered list -->
+<ul>
+  <li>list item 1</li>
+  <li>list item 2
+    <ul>
+      <li>list item 2.1</li>
+      <li>list item 2.2</li>
+      <li>list item 2.3</li>
+    </ul>
+  </li>
+  <li>list item 3</li>
+</ul>
+
+<!-- description list -->
+<dl>
+  <dt>description list term</dt>
+  <dd>description list description</dd>
+</dl>
+
+
+

Tables

+

Tables include default styles for tables and data sets.

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameGenreRelease date
The Shawshank RedemptionCrime, Drama14 October 1994
The GodfatherCrime, Drama24 March 1972
Schindler's ListBiography, Drama, History4 February 1994
Se7enCrime, Drama, Mystery22 September 1995
-
-
-
- - -
<form>
-  <!-- form validation class: has-success -->
-  <div class="form-group has-success">
-    <label class="form-label" for="input-example-1">Name</label>
-    <input class="form-input" type="text" id="input-example-1" placeholder="...">
-    <p class="form-input-hint">The name is invalid.</p>
-  </div>
-
-  <!-- form validation class: is-success -->
-  <div class="form-group">
-    <label class="form-label" for="input-example-1">Name</label>
-    <input class="form-input is-success" type="text" id="input-example-1" placeholder="...">
-    <p class="form-input-hint">The name is invalid.</p>
-  </div>
-
-  <!-- form validation example for checkbox, radio and switch -->
-  <div class="form-group">
-    <label class="form-checkbox is-error">
-      <input type="checkbox">
-      <i class="form-icon"></i> Remember me
-    </label>
-  </div>
-</form>
-
- -

Form disabled styles

-
-

Add the disabled attribute to the element or <fieldset> for a disabled form components style.

-
-
-
-
-
-
- - -
-
- - - -
-
- -
-
- -
-
- - -
-
- -
-
-
-
-
-
- -
-

Icons experimental

-
-

Icons are single-element, responsive and pure CSS icons. You can include spectre-icons.css located in the dist folder to your web <head> to have these CSS icons.

-
-

Navigation icons

-
-
- -

icon-arrow-up

-
-
- -

icon-arrow-right

-
-
- -

icon-arrow-down

-
-
- -

icon-arrow-left

-
-
- -

icon-upward

-
-
- -

icon-forward

-
-
- -

icon-downward

-
-
- -

icon-back

-
-
- -

icon-caret

-
-
- -

icon-menu

-
-
- -

icon-apps

-
-
- -

icon-more-horiz

-
-
- -

icon-more-vert

-
-
-

Action icons

-
-
- -

icon-resize-horiz

-
-
- -

icon-resize-vert

-
-
- -

icon-plus

-
-
- -

icon-minus

-
-
- -

icon-cross

-
-
- -

icon-check

-
-
- -

icon-stop

-
-
- -

icon-shutdown

-
-
- -

icon-refresh

-
-
- -

icon-search

-
-
- -

icon-flag

-
-
- -

icon-bookmark

-
-
- -

icon-edit

-
-
- -

icon-delete

-
-
- -

icon-share

-
-
- -

icon-download

-
-
- -

icon-upload

-
-
-

Object icons

-
-
- -

icon-mail

-
-
- -

icon-people

-
-
- -

icon-message

-
-
- -

icon-photo

-
-
- -

icon-time

-
-
- -

icon-location

-
-
- -

icon-link

-
-
- -

icon-emoji

-
-
- - -
<i class="icon icon-menu"></i>
-
- -

Icon sizes

-
-

Use icon-2x, icon-3x and icon-4x classes to increase icon sizes. You can set font-size to have different icon sizes.

-
-
-
-

-

icon-2x (32px)

-
-
-

-

icon-3x (48px)

-
-
-

-

icon-4x (64px)

-
-
- - -
<i class="icon icon-2x icon-mail"></i>
-
- -
- -
-

Labels

-
-

Labels are formatted text tags for highlighted, informative information.

-
-
-
- default label - primary label - secondary label - success label - warning label - error label -
-
-
-

Add the label class to <span> or <small> elements. You can add another class label-primary, label-secondary, label-success, label-warning and label-error for colored labels.

-
-
-
- default label - primary label - secondary label - success label - warning label - error label -
-
-
-

Add the label-rounded class to have rounded labels.

-
- - -
<span class="label">default label</span>
-<span class="label label-primary">primary label</span>
-
- -
- -
-

Codes

-
-

Codes are inline and multiline code snippets.

-

For inline code, you can use the element <code>. For multiline code snippet blocks, you can use <pre> with the code class as a container, and add <code> inside it. The data-lang attribute is rendered as the language name in the top right.

-
- -
<!-- code snippets -->
-<button class="btn">
-  Submit
-</button>
-
- - -
<pre class="code" data-lang="HTML"><code><span class="com">&lt;!-- code snippets --&gt;</span>
-&lt;<span class="tag">button</span> <span class="atn">class</span>=<span class="atv">&quot;btn&quot;</span>&gt;
-  Submit
-&lt;<span class="tag">/button</span>&gt;
-</code></pre>
-
- -
- -
-

Media

-
-

Media includes responsive images, figures and video classes.

-
-

Images

-
-

Add the img-responsive class to <img> elements. The images will scale with the parent sizes.

-
-
-
- macOS El Capitan Wallpaper -
-
- -
-

Add the img-fit-contain or img-fit-cover class to <img> or <video> elements. The media will crop itself to fit inside the element (and you don't need another container). This feature can replace the background image trick. Microsoft Edge support is shipped.

-
-
-
-
- macOS Yosemite Wallpaper -
img-fit-contain
-
-
-
-
- macOS Yosemite Wallpaper -
img-fit-cover
-
-
-
- -
<img src="img/osx-el-capitan.jpg" class="img-responsive ..." alt="...">
-<img src="img/osx-el-capitan.jpg" class="img-fit-contain ..." alt="...">
-<img src="img/osx-el-capitan.jpg" class="img-fit-cover ..." alt="...">
-
- -
-

You can use the element <figure> for an image with a caption. Add the figure class to <figure> element. The images with the img-responsive class will be responsive. And the included class figure-caption will provide basic style for caption. Also, you can use text-left, text-center and text-right for caption alignment.

-
-
-
-
- macOS Yosemite Wallpaper -
macOS Yosemite wallpaper
-
-
-
- -
<figure class="figure">
-  <img src="img/osx-yosemite-2.jpg" class="img-responsive ..." alt="...">
-  <figcaption class="figure-caption text-center">macOS Yosemite wallpaper</figcaption>
-</figure>
-
- -

Video

-
-

For responsive video, add a container with the video-responsive class. Insert any YouTube, Youku or other iframe/embed video inside the container. The ratio is 16:9 by default. You may add video-responsive-4-3 for 4:3 ratio video container or video-responsive-1-1 for 1:1 ratio.

-
-
-
-
-
+

Add the table class to any <table> element. The class will add padding, border and emphasized table header. Use the table-striped class to <table> to add zebra striped style. For hoverable table rows, you can add the table-hover class to enable hover style. +

+

Use the active class to make element highlighted.

+
<table class="table table-striped table-hover">
+  <thead>
+    <tr>
+      <th>name</th>
+      <th>genre</th>
+      <th>release date</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr class="active">
+      <td>The Shawshank Redemption</td>
+      <td>Crime, Drama</td>
+      <td>14 October 1994</td>
+    </tr>
+  </tbody>
+</table>
+
+
+

Buttons

+
+
+

Forms

+
+
+

Icons

+
+
+

Labels

+
+
+

Codes

+
+
+

Media

- -
-

For responsive video elements, you can add the video-responsive class directly to the video.

-
- - -
<div class="video-responsive video-responsive-4-3">
-  <iframe src="..." width="..." height="..." frameborder="0" allowfullscreen></iframe>
-</div>
-
-<video class="video-responsive" src="...">...</video>
-
-
- - -
-
- - - - + + + \ No newline at end of file diff --git a/docs/getting-started.html b/docs/getting-started.html index 97c85bc..0f3f1ff 100644 --- a/docs/getting-started.html +++ b/docs/getting-started.html @@ -189,7 +189,6 @@
  • Then create your project-name.scss file in the root folder. You can use project-name.scss to define your variables.
  • Compile the Sass file to CSS to get the custom version of Spectre.
  • -
    // Example of project-name.scss
     // Define variables to override default ones
     $primary-color: #2e5bec;
    @@ -199,7 +198,6 @@
     @import "node_modules/spectre.css/src/spectre";
     

    Alternatively, you can create custom _variables.scss and import it to project-name.scss.

    -
    // Example of project-name.scss
     @import "variables";
     
    @@ -208,7 +206,6 @@
     @import "node_modules/spectre.css/src/forms";
     

    Folder structure

    -
    spectre/
     ├── dist/                           // Build folder
     │   ├── spectre-exp.css
    @@ -338,7 +335,6 @@
                   
  • @mixin button-variant($color: $primary-color);
  • @mixin button-outline-variant($color: $primary-color);
  • -
    <!-- filled button with the success color -->
     .btn-success {
       @include button-variant($success-color);
    @@ -355,11 +351,9 @@
                 

    Spectre uses 4px as the unit size. Sizes of components are based on the unit size.

    Variables - Custom prefix

    There is also a way to add custom prefix to all CSS classes. You can use gulp-css-prefix plugin and add a new Gulp task to enable it.

    -
    npm install gulp-css-prefix
     

    To add spectre- to all classes, you can add the Gulp task to gulpfile.js file.

    -
    var cssPrefix = require('gulp-css-prefix');
     
     gulp.task('prefix', function() {
    diff --git a/docs/src/contents/buttons.pug b/docs/src/contents/buttons.pug
    new file mode 100644
    index 0000000..e69de29
    diff --git a/docs/src/contents/codes.pug b/docs/src/contents/codes.pug
    new file mode 100644
    index 0000000..e69de29
    diff --git a/docs/src/contents/custom.pug b/docs/src/contents/custom.pug
    index ce787f7..a21357e 100644
    --- a/docs/src/contents/custom.pug
    +++ b/docs/src/contents/custom.pug
    @@ -64,7 +64,7 @@ ul
         |  to define your variables.
       li Compile the Sass file to CSS to get the custom version of Spectre.
     
    -// importing
    +//- importing
     pre.code(data-lang='Sass')
       code
         :highlight(lang="scss")
    @@ -83,7 +83,7 @@ p
       code project-name.scss
       | .
     
    -// custom variables
    +//- custom variables
     pre.code(data-lang='Sass')
       code
         :highlight(lang="scss")
    @@ -96,7 +96,7 @@ pre.code(data-lang='Sass')
     
     +docs-subheading('folders', 'Folder structure')
     
    -// folder structure
    +//- folder structure
     pre.code
       code
         :highlight
    @@ -221,7 +221,7 @@ ul
         code $color
         | : $primary-color);
     
    -// button mixins
    +//- button mixins
     pre.code(data-lang='Sass')
       code
         :highlight(lang="scss")
    @@ -256,7 +256,7 @@ p
       a(href='https://www.npmjs.com/package/gulp-css-prefix', target='_blank') gulp-css-prefix
       |  plugin and add a new Gulp task to enable it.
     
    -// custom prefix
    +//- custom prefix
     pre.code(data-lang='Bash')
       code
         :highlight(lang="Bash")
    @@ -269,7 +269,7 @@ p
       code gulpfile.js
       |  file.
     
    -// custom prefix
    +//- custom prefix
     pre.code
       code
         :highlight(lang="JavaScript")
    diff --git a/docs/src/contents/forms.pug b/docs/src/contents/forms.pug
    new file mode 100644
    index 0000000..e69de29
    diff --git a/docs/src/contents/grid.pug b/docs/src/contents/grid.pug
    new file mode 100644
    index 0000000..e69de29
    diff --git a/docs/src/contents/icons.pug b/docs/src/contents/icons.pug
    new file mode 100644
    index 0000000..e69de29
    diff --git a/docs/src/contents/labels.pug b/docs/src/contents/labels.pug
    new file mode 100644
    index 0000000..e69de29
    diff --git a/docs/src/contents/media.pug b/docs/src/contents/media.pug
    new file mode 100644
    index 0000000..e69de29
    diff --git a/docs/src/contents/navbar.pug b/docs/src/contents/navbar.pug
    new file mode 100644
    index 0000000..e69de29
    diff --git a/docs/src/contents/responsive.pug b/docs/src/contents/responsive.pug
    new file mode 100644
    index 0000000..e69de29
    diff --git a/docs/src/contents/tables.pug b/docs/src/contents/tables.pug
    new file mode 100644
    index 0000000..a66aa34
    --- /dev/null
    +++ b/docs/src/contents/tables.pug
    @@ -0,0 +1,64 @@
    +p Tables include default styles for tables and data sets.
    +
    +.columns
    +  .column.col-12
    +    table.table.table-striped
    +      thead
    +        tr
    +          th Name
    +          th Genre
    +          th Release date
    +      tbody
    +        tr
    +          td The Shawshank Redemption
    +          td Crime, Drama
    +          td 14 October 1994
    +        tr
    +          td The Godfather
    +          td Crime, Drama
    +          td 24 March 1972
    +        tr
    +          td Schindler's List
    +          td Biography, Drama, History
    +          td 4 February 1994
    +        tr
    +          td Se7en
    +          td Crime, Drama, Mystery
    +          td 22 September 1995
    +
    +p
    +  | Add the 
    +  code table
    +  |  class to any 
    +  = ''
    +  |  element. The class will add padding, border and emphasized table header. Use the 
    +  code table-striped
    +  |  class to 
    +  = '
    ' + | to add zebra striped style. For hoverable table rows, you can add the + code table-hover + | class to enable hover style. +p + | Use the + code active + | class to make element highlighted. + +pre.code(data-lang='HTML') + code + :highlight(lang="html") +
    + + + + + + + + + + + + + + +
    namegenrerelease date
    The Shawshank RedemptionCrime, Drama14 October 1994
    \ No newline at end of file diff --git a/docs/src/contents/typography.pug b/docs/src/contents/typography.pug new file mode 100644 index 0000000..47b980a --- /dev/null +++ b/docs/src/contents/typography.pug @@ -0,0 +1,267 @@ +p + | Typography sets default styles for headings, paragraphs, semantic text, blockquote and lists elements. + ++docs-subheading('typography-headings', 'Headings') + +.columns + .column.col-12 + h1 + | H1 Heading + small.label 40px + .column.col-12 + h2 + | H2 Heading + small.label 32px + .column.col-12 + h3 + | H3 Heading + small.label 28px + .column.col-12 + h4 + | H4 Heading + small.label 24px + .column.col-12 + h5 + | H5 Heading + small.label 20px + .column.col-12 + h6 + | H6 Heading + small.label 16px + +//- headings +pre.code(data-lang='HTML') + code + :highlight(lang="html") +

    H1 Heading

    +

    H1 Heading 40px

    + H1 Heading + ++docs-subheading('typography-paragraphs', 'Paragraphs') + +p + | Lorem ipsum dolor sit amet, consectetur + a(href='#typography') adipiscing elit. Praesent risus leo, dictum in vehicula sit amet + | , feugiat tempus tellus. Duis quis sodales risus. Etiam euismod ornare consequat. +p + | Climb leg rub face on everything give attitude nap all day for under the bed. Chase mice attack feet but rub face on everything hopped up on goofballs. + +//- paragraphs +pre.code(data-lang='HTML') + code + :highlight(lang="html") +

    Lorem ipsum dolor sit amet, ...

    +

    ...

    + ++docs-subheading('typography-semantic-text', 'Semantic text elements') + +.columns + .column.col-6.col-xs-12 + abbr(title='Internationalization') I18N + code.ml-2 abbr + .column.col-6.col-xs-12 + strong Bold + code.ml-2 strong + code.ml-2 b + .column.col-6.col-xs-12 + cite Citation + code.ml-2 cite + .column.col-6.col-xs-12 + code Hello World! + code.ml-2 code + .column.col-6.col-xs-12 + del Deleted + code.ml-2 del + .column.col-6.col-xs-12 + em Emphasis + code.ml-2 em + .column.col-6.col-xs-12 + i Italic + code.ml-2 i + .column.col-6.col-xs-12 + ins Inserted + code.ml-2 ins + .column.col-6.col-xs-12 + kbd Ctrl + S + code.ml-2 kbd + .column.col-6.col-xs-12 + mark Highlighted + code.ml-2 mark + .column.col-6.col-xs-12 + ruby + | 漢 + rt kan + | 字 + rt ji + code.ml-2 ruby + .column.col-6.col-xs-12 + s Strikethrough + code.ml-2 s + .column.col-6.col-xs-12 + samp Sample + code.ml-2 samp + .column.col-6.col-xs-12 + | Text + sub Subscripted + code.ml-2 sub + .column.col-6.col-xs-12 + | Text + sup Superscripted + code.ml-2 sup + .column.col-6.col-xs-12 + time 20:00 + code.ml-2 time + .column.col-6.col-xs-12 + u Underline + code.ml-2 u + .column.col-6.col-xs-12 + var x + | = + var y + | + 2 + code.ml-2 var + ++docs-subheading('typography-east-asian', 'Optimized for East Asian fonts') + +p.h5 + small(lang='zh-Hans') 你好 + | , + small(lang='ja') こんにちは + | , + small(lang='ko') 안녕하세요 + +p.h6 Chinese (Simplified) +p(lang='zh-Hans') 革命不是请客吃饭,不是做文章,不是绘画绣花,不能那样雅致,那样从容不迫,“文质彬彬”,那样“温良恭俭让”。革命就是暴动,是一个阶级推翻一个阶级的暴烈的行动。 +p.h6 Chinese (Tranditional) +p(lang='zh-Hant') + | 山不在高,有仙則名;水不在深,有龍則靈。斯是陋室,惟吾德馨。苔痕上階綠,草色入簾青;談笑有鴻儒,往來無白丁。可以調素琴,閱金經。無絲竹之亂耳,無案牘之勞形。南陽諸葛廬,西蜀子雲亭。孔子云:「何陋之有?」 +p.h6 Japanese +p(lang='ja') + | 祇園精舎の鐘の声、諸行無常の響きあり。沙羅双樹の花の色、盛者必衰の理をあらはす。おごれる人も久しからず。ただ春の夜の夢のごとし。たけき者も遂にはほろびぬ、ひとへ‌​に風の前の塵に同じ。 +p.h6 Korean +p(lang='ko') + | 나라말이 중국과 달라, 한문・한자와 서로 통하지 아니하므로, 어리석은 백성들이 말하고자 하는 바가 있어도, 끝내 제 뜻을 펴지 못하는 사람이 많다. 내가 이를 불쌍히 여겨, 새로 스물 여덟 글자를 만드니, 사람마다 하여금 쉽게 익혀, 날마다 씀에 편하게 하고자 할 따름이다. +p + | Use the + code lang + | attribute to the container element to have better Asian CJK (Chinese, Japanese and Korean) font support. + +pre.code(data-lang='HTML') + code + :highlight(lang="html") +

    革命不是请客吃饭,不是做文章……

    +

    祇園精舎の鐘の声、諸行無常の響きあり……

    +

    나라말이 중국과 달라, 한문・한자와 서로 통하지 아니하므로……

    + +p + | And you can use the + code cjk + | class or the + code lang + | attribute to add spacing between underlines and strike-through text for better Chinese and Japanese readability. + +p(lang='ja') + u 祇園 + u 精舎 + | の鐘の声、諸行無常の響きあり。 +p(lang='ja') + del 祇園 + del 精舎 + | の鐘の声、諸行無常の響きあり。 + +pre.code(data-lang='HTML') + code + :highlight(lang="html") +

    祇園精舎の鐘の声、諸行無常の響きあり。……

    +

    祇園精舎の鐘の声、諸行無常の響きあり。……

    + ++docs-subheading('typography-fonts', 'Fonts') + +p + | Spectre sets the most common and best + code font-family + | for each OS with fallback support in old systems. There are also fonts targeted East Asian typography. + +pre.code + code + :highlight(lang="scss") + /* Western typography targeted */ + font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif; + /* Monospace typography targeted */ + font-family: "SF Mono", "Segoe UI Mono", "Roboto Mono", Menlo, Courier, monospace; + + /* Chinese (lang="zh-Hans" and lang="zh-Hant") targeted */ + font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", sans-serif; + /* Japanese (lang="ja") targeted */ + font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Hiragino Sans", "Hiragino Kaku Gothic Pro", "Yu Gothic", YuGothic, Meiryo, "Helvetica Neue", sans-serif; + /* Korean (lang="ko") targeted */ + font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Malgun Gothic", "Helvetica Neue", sans-serif; + ++docs-subheading('typography-blockquote', 'Blockquote') + +blockquote + p + | The advance of technology is based on making it fit in so that you don't really even notice it, so it's part of everyday life. + cite - Bill Gates + +pre.code(data-lang='HTML') + code + :highlight(lang="html") +
    +

    The advance of technology is based on making it fit in so that you don't really even notice it, so it's part of everyday life.

    + - Bill Gates +
    + ++docs-subheading('typography-lists', 'Lists') + +.columns + .column.col-4.col-xs-12 + ul.list + li list item 1 + li + | list item 2 + ul + li list item 2.1 + li list item 2.2 + li list item 2.3 + li list item 3 + .column.col-4.col-xs-12 + ol.list + li list item 1 + li + | list item 2 + ol + li list item 2.1 + li list item 2.2 + li list item 2.3 + li list item 3 + .column.col-4.col-xs-12 + dl.list + dt description list term 1 + dd description list description 1 + dt description list term 2 + dd description list description 2 + dt description list term 3 + dd description list description 3 + +pre.code(data-lang='HTML') + code + :highlight(lang="html") + +
      +
    • list item 1
    • +
    • list item 2 +
        +
      • list item 2.1
      • +
      • list item 2.2
      • +
      • list item 2.3
      • +
      +
    • +
    • list item 3
    • +
    + + +
    +
    description list term
    +
    description list description
    +
    \ No newline at end of file diff --git a/docs/src/elements.pug b/docs/src/elements.pug new file mode 100644 index 0000000..d7cf0f0 --- /dev/null +++ b/docs/src/elements.pug @@ -0,0 +1,41 @@ +extends _docs-layout.pug + +block variables + - var title = 'Elements - Spectre.css CSS Framework' + - var description = '' + - var current = 'elements' + +block docs-content + //- Typography + +docs-heading('typography', 'Typography') + include contents/typography.pug + + //- Tables + +docs-heading('tables', 'Tables') + include contents/tables.pug + + //- Buttons + +docs-heading('buttons', 'Buttons') + include contents/buttons.pug + + //- Forms + +docs-heading('forms', 'Forms') + include contents/forms.pug + + //- Icons + +docs-heading('icons', 'Icons') + include contents/icons.pug + + //- Labels + +docs-heading('labels', 'Labels') + include contents/labels.pug + + //- Codes + +docs-heading('codes', 'Codes') + include contents/codes.pug + + //- Media + +docs-heading('media', 'Media') + include contents/media.pug + + \ No newline at end of file diff --git a/docs/src/getting-started.pug b/docs/src/getting-started.pug index 19e1db0..d5e8ac3 100644 --- a/docs/src/getting-started.pug +++ b/docs/src/getting-started.pug @@ -6,11 +6,11 @@ block variables - var current = 'getting-started' block docs-content - //- introduction + //- Introduction +docs-heading('introduction', 'Introduction') include contents/introduction.pug - //- installation + //- Installation +docs-heading('installation', 'Installation') include contents/installation.pug diff --git a/docs/src/scss/docs.scss b/docs/src/scss/docs.scss index 342ca8c..e17f832 100644 --- a/docs/src/scss/docs.scss +++ b/docs/src/scss/docs.scss @@ -195,6 +195,10 @@ font-size: $font-size-sm; } + .columns { + margin-bottom: 1rem; + } + .column { padding: $layout-spacing; } @@ -463,6 +467,10 @@ .off-canvas-toggle { z-index: $zindex-3; } + + .off-canvas-content { + width: 100%; + } } .docs-sidebar { @@ -489,11 +497,9 @@ } .docs-content { - &.off-canvas-content { - min-width: auto; - padding: 0 1.5rem; - width: 100%; - } + min-width: auto; + padding: 0 1.5rem; + width: 100%; .s-title, .s-subtitle { @@ -568,9 +574,7 @@ } .docs-content { - &.off-canvas-content { - padding: 0 .5rem; - } + padding: 0 .5rem; .docs-block { padding: $unit-2 $unit-h; -- cgit v1.3.1-23-gd82d From c59e31abc96642d4e54e56e3aa8167806a35f35e Mon Sep 17 00:00:00 2001 From: Yan Zhu Date: Sun, 3 Jun 2018 17:37:29 +0800 Subject: Update buttons and forms docs to Pug templates --- docs/elements.html | 941 ++++++++++- docs/getting-started.html | 36 +- docs/src/contents/buttons.pug | 179 ++ docs/src/contents/forms.pug | 626 +++++++ docs/src/contents/tables.pug | 19 +- docs/src/contents/typography.pug | 22 +- package-lock.json | 3349 -------------------------------------- package.json | 8 +- 8 files changed, 1725 insertions(+), 3455 deletions(-) delete mode 100644 package-lock.json (limited to 'docs/elements.html') diff --git a/docs/elements.html b/docs/elements.html index cf1c334..f971860 100644 --- a/docs/elements.html +++ b/docs/elements.html @@ -153,15 +153,17 @@
    H6 Heading 16px
    -
    <h1>H1 Heading</h1>
    -<h1>H1 Heading <small class="label">40px</small></h1>
    -<span class="h1">H1 Heading</span>
    +            
    <h1>H1 Heading</h1>
    +<h1>H1 Heading <small class="label">40px</small></h1>
    +<span class="h1">H1 Heading</span>
     

    Paragraphs

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent risus leo, dictum in vehicula sit amet, feugiat tempus tellus. Duis quis sodales risus. Etiam euismod ornare consequat.

    +

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. + Praesent risus leo, dictum in vehicula sit amet, feugiat tempus tellus. Duis quis sodales risus. Etiam euismod ornare consequat. +

    Climb leg rub face on everything give attitude nap all day for under the bed. Chase mice attack feet but rub face on everything hopped up on goofballs.

    -
    <p>Lorem ipsum dolor sit amet, ...</p>
    -<p>...</p>
    +            
    <p>Lorem ipsum dolor sit amet, ...</p>
    +<p>...</p>
     

    Semantic text elements

    @@ -205,7 +207,7 @@

    Optimized for East Asian fonts

    -

    你好, こんにちは, 안녕하세요

    +

    你好, こんにちは,안녕하세요

    Chinese (Simplified)

    革命不是请客吃饭,不是做文章,不是绘画绣花,不能那样雅致,那样从容不迫,“文质彬彬”,那样“温良恭俭让”。革命就是暴动,是一个阶级推翻一个阶级的暴烈的行动。

    Chinese (Tranditional)

    @@ -215,9 +217,9 @@

    Korean

    나라말이 중국과 달라, 한문・한자와 서로 통하지 아니하므로, 어리석은 백성들이 말하고자 하는 바가 있어도, 끝내 제 뜻을 펴지 못하는 사람이 많다. 내가 이를 불쌍히 여겨, 새로 스물 여덟 글자를 만드니, 사람마다 하여금 쉽게 익혀, 날마다 씀에 편하게 하고자 할 따름이다.

    Use the lang attribute to the container element to have better Asian CJK (Chinese, Japanese and Korean) font support.

    -
    <p lang="zh-Hans">革命不是请客吃饭,不是做文章……</p>
    -<p lang="ja">祇園精舎の鐘の声、諸行無常の響きあり……</p>
    -<p lang="ko">나라말이 중국과 달라, 한문・한자와 서로 통하지 아니하므로……</p>
    +            
    <p lang="zh-Hans">革命不是请客吃饭,不是做文章……</p>
    +<p lang="ja">祇園精舎の鐘の声、諸行無常の響きあり……</p>
    +<p lang="ko">나라말이 중국과 달라, 한문・한자와 서로 통하지 아니하므로……</p>
     

    And you can use the cjk class or the lang attribute to add spacing between underlines and strike-through text for better Chinese and Japanese readability.

    @@ -228,32 +230,34 @@ 祇園 精舎の鐘の声、諸行無常の響きあり。

    -
    <p class="cjk"><u>祇園</u><u>精舎</u>の鐘の声、諸行無常の響きあり。……</p>
    -<p class="cjk"><del>祇園</del><del>精舎</del>の鐘の声、諸行無常の響きあり。……</p>
    +            
    <p class="cjk"><u>祇園</u><u>精舎</u>の鐘の声、諸行無常の響きあり。……</p>
    +<p class="cjk"><del>祇園</del><del>精舎</del>の鐘の声、諸行無常の響きあり。……</p>
     

    Fonts

    -

    Spectre sets the most common and best font-family for each OS with fallback support in old systems. There are also fonts targeted East Asian typography.

    +

    Spectre sets the most common and best font-family for each OS with fallback support in old systems. + There are also fonts targeted East Asian typography. +

    /* Western typography targeted */
    -font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
    +font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
     /* Monospace typography targeted */
    -font-family: "SF Mono", "Segoe UI Mono", "Roboto Mono", Menlo, Courier, monospace;
    +font-family: "SF Mono", "Segoe UI Mono", "Roboto Mono", Menlo, Courier, monospace;
     
     /* Chinese (lang="zh-Hans" and lang="zh-Hant") targeted */
    -font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", sans-serif;
    +font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", sans-serif;
     /* Japanese (lang="ja") targeted */
    -font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Hiragino Sans", "Hiragino Kaku Gothic Pro", "Yu Gothic", YuGothic, Meiryo, "Helvetica Neue", sans-serif;
    +font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Hiragino Sans", "Hiragino Kaku Gothic Pro", "Yu Gothic", YuGothic, Meiryo, "Helvetica Neue", sans-serif;
     /* Korean (lang="ko") targeted */
    -font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Malgun Gothic", "Helvetica Neue", sans-serif;
    +font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Malgun Gothic", "Helvetica Neue", sans-serif;
     

    Blockquote

    The advance of technology is based on making it fit in so that you don't really even notice it, so it's part of everyday life.

    - Bill Gates
    -
    <blockquote>
    -  <p>The advance of technology is based on making it fit in so that you don't really even notice it, so it's part of everyday life. </p>
    -  <cite>- Bill Gates</cite>
    -</blockquote>
    +            
    <blockquote>
    +  <p>The advance of technology is based on making it fit in so that you don't really even notice it, so it's part of everyday life. </p>
    +  <cite>- Bill Gates</cite>
    +</blockquote>
     

    Lists

    @@ -295,23 +299,23 @@
    <!-- unordered list -->
    -<ul>
    -  <li>list item 1</li>
    -  <li>list item 2
    -    <ul>
    -      <li>list item 2.1</li>
    -      <li>list item 2.2</li>
    -      <li>list item 2.3</li>
    -    </ul>
    -  </li>
    -  <li>list item 3</li>
    -</ul>
    +<ul>
    +  <li>list item 1</li>
    +  <li>list item 2
    +    <ul>
    +      <li>list item 2.1</li>
    +      <li>list item 2.2</li>
    +      <li>list item 2.3</li>
    +    </ul>
    +  </li>
    +  <li>list item 3</li>
    +</ul>
     
     <!-- description list -->
    -<dl>
    -  <dt>description list term</dt>
    -  <dd>description list description</dd>
    -</dl>
    +<dl> + <dt>description list term</dt> + <dd>description list description</dd> +</dl>

    Tables

    @@ -351,31 +355,858 @@
    -

    Add the table class to any <table> element. The class will add padding, border and emphasized table header. Use the table-striped class to <table> to add zebra striped style. For hoverable table rows, you can add the table-hover class to enable hover style. +

    Add the table class to any <table> element. + The class will add padding, border and emphasized table header. + Use the table-striped class to <table> to add zebra striped style. + For hoverable table rows, you can add the table-hover class to enable hover style.

    -

    Use the active class to make element highlighted.

    -
    <table class="table table-striped table-hover">
    -  <thead>
    -    <tr>
    -      <th>name</th>
    -      <th>genre</th>
    -      <th>release date</th>
    -    </tr>
    -  </thead>
    -  <tbody>
    -    <tr class="active">
    -      <td>The Shawshank Redemption</td>
    -      <td>Crime, Drama</td>
    -      <td>14 October 1994</td>
    -    </tr>
    -  </tbody>
    -</table>
    +

    Use the active class to make <tr> element highlighted.

    +
    <table class="table table-striped table-hover">
    +  <thead>
    +    <tr>
    +      <th>name</th>
    +      <th>genre</th>
    +      <th>release date</th>
    +    </tr>
    +  </thead>
    +  <tbody>
    +    <tr class="active">
    +      <td>The Shawshank Redemption</td>
    +      <td>Crime, Drama</td>
    +      <td>14 October 1994</td>
    +    </tr>
    +  </tbody>
    +</table>

    Buttons

    +

    Buttons include simple button styles for actions in different types and sizes.

    +
    +
    + + + +
    +
    +

    Add the btn class to <a>, <input> or <button> elements for a default button. + There are classes btn-primary and btn-link for predefined primary and link buttons. +

    +
    <button class="btn">default button</button>
    +<button class="btn btn-primary">primary button</button>
    +<button class="btn btn-link">link button</button>
    +
    +

    Button colors

    +
    +
    + + +
    +
    +

    Add the btn-success or btn-error class for success (green) or error (red) button color. + If you need more button colors, please use button mixins to create your own button color variants. +

    +
    <button class="btn btn-success">success button</button>
    +<button class="btn btn-error">error button</button>
    +
    +

    Button sizes

    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    +

    Add the btn-sm or btn-lg class for small or large button size. + Also, you can add the btn-block class for a full-width button. +

    +
    <button class="btn btn-lg">large button</button>
    +<button class="btn btn-sm">small button</button>
    +
    +<button class="btn btn-block">block button</button>
    +
    +<button class="btn btn-primary btn-lg"><i class="icon icon-arrow-left"></i> large</button>
    +<button class="btn btn-primary"><i class="icon icon-arrow-left"></i> normal</button>
    +<button class="btn btn-primary btn-sm"><i class="icon icon-arrow-left"></i> small</button>
    +
    +

    Please note that you could use the btn-action class for a square button, or add another circle class for a round button, which is often used as a Float Action Button (FAB).

    +
    +
    + + + +
    +
    + + + +
    +
    +
    <button class="btn btn-action"><i class="icon icon-arrow-left"></i></button>
    +<button class="btn btn-action circle"><i class="icon icon-arrow-left"></i></button>
    +
    +

    Button states

    +

    Add the active class for active button state style.

    +
    +
    + + + +
    +
    +

    Add the disabled class or the disabled attribute for disabled button state style.

    +
    +
    + + + +
    +
    +
    <!-- buttons with disabled state -->
    +<button class="btn disabled" tabindex="-1">disabled button</button>
    +<button class="btn" disabled tabindex="-1">disabled button</button>
    +
    +

    A button with the loading class can show loading indicator.

    +
    +
    + + + +
    +
    +
    <!-- buttons with loading state -->
    +<button class="btn loading">button</button>
    +<button class="btn btn-primary loading">primary button</button>
    +
    +

    Button groups

    +
    +
    +
    + + + +
    +
    +
    +
    + + + +
    +
    +
    +
    +
    +
    + + + +
    +
    +
    +
    + + + +
    +
    +
    +

    If you want to use buttons as a group, add the btn-group class to the container. + You can add the btn-group-block class for a full-width button group. +

    +
    <div class="btn-group btn-group-block">
    +  <button class="btn">first button</button>
    +  <button class="btn">second button</button>
    +  <button class="btn">third button</button>
    +</div> 

    Forms

    +

    Forms provide the most common control styles used in forms, including input, textarea, select, checkbox, radio and switch.

    +
    +
    +
    + + +
    +
    + + +
    +
    +
    +
    <!-- form input control -->
    +<div class="form-group">
    +  <label class="form-label" for="input-example-1">Name</label>
    +  <input class="form-input" type="text" id="input-example-1" placeholder="Name">
    +</div>
    +
    +
    +
    +
    + + +
    +
    +
    +
    <!-- form textarea control -->
    +<div class="form-group">
    +  <label class="form-label" for="input-example-3">Message</label>
    +  <textarea class="form-input" id="input-example-3" placeholder="Textarea" rows="3"></textarea>
    +</div>
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    <!-- form select control -->
    +<div class="form-group">
    +  <select class="form-select">
    +    <option>Choose an option</option>
    +    <option>Slack</option>
    +    <option>Skype</option>
    +    <option>Hipchat</option>
    +  </select>
    +</div>
    +
    +
    +
    +
    +
    + + + +
    +
    +
    +
    +
    <!-- form radio control -->
    +<div class="form-group">
    +  <label class="form-label">Gender</label>
    +  <label class="form-radio">
    +    <input type="radio" name="gender" checked>
    +    <i class="form-icon"></i> Male
    +  </label>
    +  <label class="form-radio">
    +    <input type="radio" name="gender">
    +    <i class="form-icon"></i> Female
    +  </label>
    +</div>
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    <!-- form switch control -->
    +<div class="form-group">
    +  <label class="form-switch">
    +    <input type="checkbox">
    +    <i class="form-icon"></i> Send me emails with news and tips
    +  </label>
    +</div>
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    <!-- form checkbox control -->
    +<div class="form-group">
    +  <label class="form-checkbox">
    +    <input type="checkbox">
    +    <i class="form-icon"></i> Remember me
    +  </label>
    +</div>
    +
    +

    You can use :indeterminate pseudo class for indeterminate state of checkboxes.

    +

    Horizontal forms

    +

    If you want to have a horizontal form, add the form-horizontal class to the <form> container. + And add the col-<1-12> and col-xs/sm/lg/xl-<1-12> class to the child elements for responsive form row layout. +

    +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    <form class="form-horizontal">
    +  <div class="form-group">
    +    <div class="col-3 col-sm-12">
    +      <label class="form-label" for="input-example-1">Name</label>
    +    </div>
    +    <div class="col-9 col-sm-12">
    +      <input class="form-input" type="text" id="input-example-1" placeholder="Name">
    +    </div>
    +  </div>
    +  <!-- form structure -->
    +</form>
    +
    +

    Form sizes

    +

    For smaller or larger input and select controls, you could add the input-sm/input-lg, select-sm/select-lg and label-sm/label-lg classes to the elements.

    +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    +

    You can add the input-sm/input-lg classes to the input-checkbox, input-radio and input-switch to have different sizes.

    +

    Form icons

    +

    Spectre Form components has Spectre Icons support.

    +

    Add a wrapper with the has-icon-left/has-icon-right class to <input> element. + And add the icon with form-icon class next to the <input>. +

    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    <!-- form input with Spectre icon -->
    +<div class="has-icon-left">
    +  <input type="text" class="form-input" placeholder="...">
    +  <i class="form-icon icon icon-check"></i>
    +</div>
    +
    +

    You can use the loading class for loading or posting state.

    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    <!-- form input with loading icon -->
    +<div class="has-icon-right">
    +  <input type="text" class="form-input" placeholder="...">
    +  <i class="form-icon loading"></i>
    +</div>
    +
    +

    Input types

    +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +

    Input groups

    +
    +
    +
    + + +
    +
    +
    +
    slack.com/ + + +
    +
    +
    +
    +
    +
    + + +
    +
    +
    +
    slack.com/ + + +
    +
    +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    +
    +
    +
    slack.com/ + + +
    +
    +
    +

    If you want to attach text and button along with an input, add the input-group class to the input container. + And add the input-group-addon class to the text element and input-group-btn to the button element. +

    +
    <!-- normal input group -->
    +<div class="input-group">
    +  <span class="input-group-addon">...</span>
    +  <input type="text" class="form-input" placeholder="...">
    +</div>
    +
    +<!-- large input group -->
    +<div class="input-group">
    +  <span class="input-group-addon addon-lg">...</span>
    +  <input type="text" class="form-input input-lg" placeholder="...">
    +</div>
    +
    +<!-- normal input group with button -->
    +<div class="input-group">
    +  <span class="input-group-addon">...</span>
    +  <input type="text" class="form-input" placeholder="...">
    +  <button class="btn btn-primary input-group-btn">Submit</button>
    +</div>
    +
    +

    Form validation styles

    +

    To use form validation styles, you can either add is-success or is-error class to the controls or add has-success or has-error class to parent elements. + Use the form-input-hint class to provide form validation success and error messages. +

    +
    +
    +
    + Input +
    + + +

    The name is valid.

    +
    +
    + + +

    Passwords must have at least 8 characters.

    +
    +
    + + +

    The Email address is unavailable.

    +
    +
    +
    + Select +
    + +

    The option is invalid.

    +
    +
    + +

    The option is available.

    +
    +
    +
    + Checkbox, Radio and Switch (Error state only) +
    + +
    +
    + + +
    +
    + +
    +
    +
    +
    +
    <form>
    +  <!-- form validation class: has-success -->
    +  <div class="form-group has-success">
    +    <label class="form-label" for="input-example-1">Name</label>
    +    <input class="form-input" type="text" id="input-example-1" placeholder="...">
    +    <p class="form-input-hint">The name is invalid.</p>
    +  </div>
    +
    +  <!-- form validation class: is-success -->
    +  <div class="form-group">
    +    <label class="form-label" for="input-example-1">Name</label>
    +    <input class="form-input is-success" type="text" id="input-example-1" placeholder="...">
    +    <p class="form-input-hint">The name is invalid.</p>
    +  </div>
    +
    +  <!-- form validation example for checkbox, radio and switch -->
    +  <div class="form-group">
    +    <label class="form-checkbox is-error">
    +      <input type="checkbox">
    +      <i class="form-icon"></i> Remember me
    +    </label>
    +  </div>
    +</form>
    +
    +

    Form disabled styles

    +

    + Add the disabled attribute to the element or <fieldset> for a disabled form components style.

    +
    +
    +
    +
    +
    + + +
    +
    + + + +
    +
    + +
    +
    + +
    +
    + + +
    +
    + +
    +
    +
    +
    +
    +
    <form action="#forms">
    +  <fieldset disabled>
    +    <div class="form-group">
    +      <label class="form-label" for="input-example-19">Name</label>
    +      <input class="form-input" type="text" id="input-example-19" placeholder="Name">
    +    </div>
    +    <div class="form-group">
    +      <label class="form-label">Gender</label>
    +      <label class="form-radio">
    +        <input type="radio" name="gender" disabled>
    +        <i class="form-icon"></i> Male
    +      </label>
    +      <label class="form-radio">
    +        <input type="radio" name="gender" disabled>
    +        <i class="form-icon"></i> Female
    +      </label>
    +    </div>
    +    <div class="form-group">
    +      <select class="form-select" disabled>
    +        <option>Choose an option</option>
    +        <option>Slack</option>
    +        <option>Skype</option>
    +        <option>Hipchat</option>
    +      </select>
    +    </div>
    +    <div class="form-group">
    +      <label class="form-switch">
    +        <input type="checkbox" disabled>
    +        <i class="form-icon"></i> Send me emails with news and tips
    +      </label>
    +    </div>
    +    <div class="form-group">
    +      <label class="form-label" for="input-example-20">Message</label>
    +      <textarea class="form-input" id="input-example-20" placeholder="Textarea" rows="3" disabled></textarea>
    +    </div>
    +    <div class="form-group">
    +      <label class="form-checkbox">
    +        <input type="checkbox" disabled>
    +        <i class="form-icon"></i> Remember me
    +      </label>
    +    </div>
    +  </fieldset>

    Icons

    diff --git a/docs/getting-started.html b/docs/getting-started.html index 0f3f1ff..4d9f7ee 100644 --- a/docs/getting-started.html +++ b/docs/getting-started.html @@ -142,15 +142,15 @@

    Download the compiled and minified Spectre CSS file (core ~10KB min+gzip):

    Download Spectre.css

    Include spectre.css located in /dist in your website or Web app . Also, you can add spectre-icons.css and spectre-exp.css accordingly.

    -
    <link rel="stylesheet" href="spectre.min.css">
    -<link rel="stylesheet" href="spectre-exp.min.css">
    -<link rel="stylesheet" href="spectre-icons.min.css">
    +            
    <link rel="stylesheet" href="spectre.min.css">
    +<link rel="stylesheet" href="spectre-exp.min.css">
    +<link rel="stylesheet" href="spectre-icons.min.css">
     

    Install from CDN

    Alternatively, you can use the unpkg or cdnjs CDN to load compiled Spectre.css.

    -
    <link rel="stylesheet" href="https://unpkg.com/spectre.css/dist/spectre.min.css">
    -<link rel="stylesheet" href="https://unpkg.com/spectre.css/dist/spectre-exp.min.css">
    -<link rel="stylesheet" href="https://unpkg.com/spectre.css/dist/spectre-icons.min.css">
    +            
    <link rel="stylesheet" href="https://unpkg.com/spectre.css/dist/spectre.min.css">
    +<link rel="stylesheet" href="https://unpkg.com/spectre.css/dist/spectre-exp.min.css">
    +<link rel="stylesheet" href="https://unpkg.com/spectre.css/dist/spectre-icons.min.css">
     

    Install with NPM

    npm install spectre.css --save
    @@ -191,19 +191,19 @@
                 
                 
    // Example of project-name.scss
     // Define variables to override default ones
    -$primary-color: #2e5bec;
    -$dark-color: #3e396b;
    +$primary-color: #2e5bec;
    +$dark-color: #3e396b;
     
     // Import full Spectre source code
    -@import "node_modules/spectre.css/src/spectre";
    +@import "node_modules/spectre.css/src/spectre";
     

    Alternatively, you can create custom _variables.scss and import it to project-name.scss.

    // Example of project-name.scss
    -@import "variables";
    +@import "variables";
     
     // Import only the needed components
    -@import "node_modules/spectre.css/src/buttons";
    -@import "node_modules/spectre.css/src/forms";
    +@import "node_modules/spectre.css/src/buttons";
    +@import "node_modules/spectre.css/src/forms";
     

    Folder structure

    spectre/
    @@ -335,14 +335,14 @@
                   
  • @mixin button-variant($color: $primary-color);
  • @mixin button-outline-variant($color: $primary-color);
  • -
    <!-- filled button with the success color -->
    -.btn-success {
    -  @include button-variant($success-color);
    +            
    <!-- filled button with the success color -->
    +.btn-success {
    +  @include button-variant($success-color);
     }
     
    -<!-- outlined button with the success color -->
    -.btn-outline-success {
    -  @include button-outline-variant($success-color);
    +<!-- outlined button with the success color -->
    +.btn-outline-success {
    +  @include button-outline-variant($success-color);
     }
     

    Variables - Sizes

    diff --git a/docs/src/contents/buttons.pug b/docs/src/contents/buttons.pug index e69de29..8f8dbb1 100644 --- a/docs/src/contents/buttons.pug +++ b/docs/src/contents/buttons.pug @@ -0,0 +1,179 @@ +p Buttons include simple button styles for actions in different types and sizes. + +.columns + .column.col-12 + button.btn default button + button.btn.btn-primary primary button + button.btn.btn-link link button + +p + | Add the #[code btn] class to #{''}, #{''} or #{' + + + ++docs-subheading('buttons-colors', 'Button colors') + +.columns + .column.col-12 + button.btn.btn-success success button + button.btn.btn-error error button + +p + | Add the #[code btn-success] or #[code btn-error] class for success (green) or error (red) button color. + | If you need more button colors, please use + a(href="getting-started.html#variables-buttons") button mixins + | to create your own button color variants. + +pre.code(data-lang='HTML') + code + :highlight(lang="html") + + + ++docs-subheading('buttons-sizes', 'Button sizes') + +.columns + .column.col-12 + button.btn.btn-primary.btn-lg + | large + i.icon.icon-arrow-down + button.btn.btn-primary.btn-lg large button + .column.col-12 + button.btn.btn-primary + | normal + i.icon.icon-arrow-down + button.btn.btn-primary normal button + .column.col-12 + button.btn.btn-primary.btn-sm + | small + i.icon.icon-arrow-down + button.btn.btn-primary.btn-sm small button + + +p + | Add the #[code btn-sm] or #[code btn-lg] class for small or large button size. + | Also, you can add the #[code btn-block] class for a full-width button. + +pre.code(data-lang='HTML') + code + :highlight(lang="html") + + + + + + + + + +p + | Please note that you could use the #[code btn-action] class for a square button, or add another #[code circle] class for a round button, which is often used as a Float Action Button (FAB). + +.columns + .column.col-xs-12 + button.btn.btn-action.btn-primary.btn-lg + i.icon.icon-menu + button.btn.btn-action.btn-primary + i.icon.icon-menu + button.btn.btn-action.btn-primary.btn-sm + i.icon.icon-menu + .column.col-xs-12 + button.btn.btn-action.btn-primary.btn-lg.circle + i.icon.icon-arrow-up + button.btn.btn-action.btn-primary.circle + i.icon.icon-arrow-up + button.btn.btn-action.btn-primary.btn-sm.circle + i.icon.icon-arrow-up + +pre.code(data-lang='HTML') + code + :highlight(lang="html") + + + ++docs-subheading('buttons-states', 'Button states') + +p + | Add the #[code active] class for active button state style. + +.columns + .column.col-12 + button.btn.active default active + button.btn.btn-primary.active primary active + button.btn.btn-link.active link active + +p + | Add the #[code disabled] class or the #[code disabled] attribute for disabled button state style. + +.columns + .column.col-12 + button.btn.disabled(tabindex="-1") default disabled + button.btn.btn-primary(disabled="" tabindex="-1") primary disabled + button.btn.btn-link(disabled="" tabindex="-1") link disabled + +pre.code(data-lang='HTML') + code + :highlight(lang="html") + + + + +p + | A button with the #[code loading] class can show loading indicator. + +.columns + .column.col-12 + button.btn.loading default button + button.btn.btn-primary.loading primary button + button.btn.btn-link.loading link button + +pre.code(data-lang='HTML') + code + :highlight(lang="html") + + + + ++docs-subheading('buttons-groups', 'Button groups') + +.columns + .column.col-md-12 + .btn-group + button.btn first button + button.btn second button + button.btn third button + .column.col-md-12 + .btn-group.btn-group-block + button.btn.btn-primary first button + button.btn.btn-primary second button + button.btn.btn-primary third button +.columns + .column.col-md-12 + .btn-group + button.btn.btn-sm.active first button + button.btn.btn-sm second button + button.btn.btn-sm third button + .column.col-md-12 + .btn-group.btn-group-block + button.btn.btn-primary.btn-sm.active first button + button.btn.btn-primary.btn-sm second button + button.btn.btn-primary.btn-sm third button + +p + | If you want to use buttons as a group, add the #[code btn-group] class to the container. + | You can add the #[code btn-group-block] class for a full-width button group. + +pre.code(data-lang='HTML') + code + :highlight(lang="html") +
    + + + +
    \ No newline at end of file diff --git a/docs/src/contents/forms.pug b/docs/src/contents/forms.pug index e69de29..bcfde1a 100644 --- a/docs/src/contents/forms.pug +++ b/docs/src/contents/forms.pug @@ -0,0 +1,626 @@ +p + | Forms provide the most common control styles used in forms, including input, textarea, select, checkbox, radio and switch. + +.columns + .column.col-6.col-xs-12 + .form-group + label.form-label(for="input-example-1") Name + input#input-example-1.form-input(type="text" placeholder="Name") + .form-group + label.form-label(for="input-example-2") Email + input#input-example-2.form-input(type="email" placeholder="Email") + +pre.code(data-lang='HTML') + code + :highlight(lang="html") + +
    + + +
    + +.columns + .column.col-6.col-xs-12 + .form-group + label.form-label(for="input-example-3") Message + textarea#input-example-3.form-input(placeholder="Textarea" rows="3") + +pre.code(data-lang='HTML') + code + :highlight(lang="html") + +
    + + +
    + +.columns + .column.col-6.col-xs-12 + .form-group + select.form-select + option Choose an option + option Slack + option Skype + option Hipchat + .form-group + select.form-select(multiple="") + option Choose an option + option Slack + option Skype + option Hipchat + +pre.code(data-lang='HTML') + code + :highlight(lang="html") + +
    + +
    + +.columns + .column.col-6.col-xs-12 + form + .form-group + label.form-label Gender + label.form-radio + input(type="radio" name="gender" checked="") + i.form-icon + | Male + label.form-radio + input(type="radio" name="gender") + i.form-icon + | Female + +pre.code(data-lang='HTML') + code + :highlight(lang="html") + +
    + + + +
    + +.columns + .column.col-6.col-xs-12 + .form-group + label.form-switch + input(type="checkbox") + i.form-icon + | Send me emails with news and tips + .form-group + label.form-switch + input(type="checkbox" checked="") + i.form-icon + | Send me emails with news and tips + +pre.code(data-lang='HTML') + code + :highlight(lang="html") + +
    + +
    + +.columns + .column.col-6.col-xs-12 + .form-group + label.form-checkbox + input(type="checkbox") + i.form-icon + | Remember me + .form-group + label.form-checkbox + input(type="checkbox" checked="") + i.form-icon + | Remember me + +pre.code(data-lang='HTML') + code + :highlight(lang="html") + +
    + +
    + +p + | You can use #[code :indeterminate] pseudo class for indeterminate state of checkboxes. + ++docs-subheading('forms-horizontal', 'Horizontal forms') + +p + | If you want to have a horizontal form, add the #[code form-horizontal] class to the #{'
    '} container. + | And add the #[code col-<1-12>] and #[code col-xs/sm/lg/xl-<1-12>] class to the child elements for responsive form row layout. + +.columns + .column.col-9.col-sm-12 + form.form-horizontal(action="#forms") + .form-group + .col-3.col-sm-12 + label.form-label(for="input-example-4") Name + .col-9.col-sm-12 + input#input-example-4.form-input(type="text" placeholder="Name") + .form-group + .col-3.col-sm-12 + label.form-label(for="input-example-5") Email + .col-9.col-sm-12 + input#input-example-5.form-input(type="email" placeholder="Email") + .form-group + .col-3.col-sm-12 + label.form-label Gender + .col-9.col-sm-12 + label.form-radio + input(type="radio" name="gender") + i.form-icon + | Male + label.form-radio + input(type="radio" name="gender" checked="") + i.form-icon + | Female + .form-group + .col-3.col-sm-12 + label.form-label Source + .col-9.col-sm-12 + select.form-select(multiple="") + option Slack + option Skype + option Hipchat + .form-group + .col-9.col-sm-12.col-ml-auto + label.form-switch + input(type="checkbox") + i.form-icon + | Send me emails with news and tips + .form-group + .col-3.col-sm-12 + label.form-label(for="input-example-6") Message + .col-9.col-sm-12 + textarea#input-example-6.form-input(placeholder="Textarea" rows="3") + .form-group + .col-9.col-sm-12.col-ml-auto + label.form-checkbox + input(type="checkbox") + i.form-icon + | Remember me + +pre.code(data-lang='HTML') + code + :highlight(lang="html") + +
    +
    + +
    +
    + +
    +
    + +
    + ++docs-subheading('forms-sizes', 'Form sizes') + +p + | For smaller or larger input and select controls, you could add the #[code input-sm]/#[code input-lg], #[code select-sm]/#[code select-lg] and #[code label-sm]/#[code label-lg] classes to the elements. + +.columns + .column.col-4.col-xs-12 + label.form-label.label-sm Label + .column.col-4.col-xs-12 + input.form-input.input-sm(type="text" placeholder="Name") + .column.col-4.col-xs-12 + select.form-select.select-sm + option Choose an option + option Slack + option Skype + option Hipchat +.columns + .column.col-4.col-xs-12 + label.form-label.label-lg Label + .column.col-4.col-xs-12 + input.form-input.input-lg(type="text" placeholder="Name") + .column.col-4.col-xs-12 + select.form-select.select-lg + option Choose an option + option Slack + option Skype + option Hipchat + +p + | You can add the #[code input-sm]/#[code input-lg] classes to the input-checkbox, input-radio and input-switch to have different sizes. + ++docs-subheading('forms-icons', 'Form icons') + +p + | Spectre Form components has + a(href="#icons") Spectre Icons + | support. +p + | Add a wrapper with the #[code has-icon-left]/#[code has-icon-right] class to #{''} element. + | And add the icon with #[code form-icon] class next to the #{''}. + +.columns + .column.col-4.col-xs-12 + .has-icon-left + input.form-input.input-sm(type="text" placeholder="Name") + i.form-icon.icon.icon-arrow-right + .column.col-4.col-xs-12 + .has-icon-left.tooltip(data-tooltip="Lorem ipsum dolor sit amet") + input.form-input(type="text" placeholder="Name") + i.form-icon.icon.icon-arrow-right + .column.col-4.col-xs-12 + .has-icon-left + input.form-input.input-lg(type="text" placeholder="Name") + i.form-icon.icon.icon-arrow-right +.columns + .column.col-4.col-xs-12 + .has-icon-right + input.form-input.input-sm(type="text" placeholder="Name") + i.form-icon.icon.icon-check + .column.col-4.col-xs-12 + .has-icon-right + input.form-input(type="text" placeholder="Name") + i.form-icon.icon.icon-check + .column.col-4.col-xs-12 + .has-icon-right + input.form-input.input-lg(type="text" placeholder="Name") + i.form-icon.icon.icon-check + +pre.code(data-lang='HTML') + code + :highlight(lang="html") + +
    + + +
    + +p + | You can use the #[code loading] class for loading or posting state. + +.columns + .column.col-4.col-xs-12 + .has-icon-right + input.form-input.input-sm(type="text" placeholder="Name") + i.form-icon.loading + .column.col-4.col-xs-12 + .has-icon-right + input.form-input(type="text" placeholder="Name") + i.form-icon.loading + .column.col-4.col-xs-12 + .has-icon-right + input.form-input.input-lg(type="text" placeholder="Name") + i.form-icon.loading + +pre.code(data-lang='HTML') + code + :highlight(lang="html") + +
    + + +
    + ++docs-subheading('forms-input', 'Input types') + +.columns + .column.col-9.col-sm-12 + form.form-horizontal(action="#forms") + .form-group + .col-3 + label.form-label(for="input-example-8") Email + .col-9 + input#input-example-8.form-input(type="email" placeholder="Email" value="spectre@example.com" pattern="[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$") + .form-group + .col-3 + label.form-label(for="input-example-9") URL + .col-9 + input#input-example-9.form-input(type="url" placeholder="URL" value="https://github.com/picturepan2/spectre") + .form-group + .col-3 + label.form-label(for="input-example-10") Search + .col-9 + input#input-example-10.form-input(type="search" placeholder="Search") + .form-group + .col-3 + label.form-label(for="input-example-11") Tel + .col-9 + input#input-example-11.form-input(type="tel" placeholder="Tel" value="1-(888)-888-8888") + .form-group + .col-3 + label.form-label(for="input-example-12") Password + .col-9 + input#input-example-12.form-input(type="password" placeholder="Password" value="123456789") + .form-group + .col-3 + label.form-label(for="input-example-13") Number + .col-9 + input#input-example-13.form-input(type="number" placeholder="00" value="66") + .form-group + .col-3 + label.form-label(for="input-example-14") Date + .col-9 + input#input-example-14.form-input(type="date" value="2016-12-31") + .form-group + .col-3 + label.form-label(for="input-example-15") Color + .col-9 + input#input-example-15.form-input(type="color" value="#5755d9") + .form-group + .col-3 + label.form-label(for="input-example-16") File + .col-9 + input#input-example-16.form-input(type="file") + ++docs-subheading('forms-input-groups', 'Input groups') + +.columns + .column.col-xs-12 + .input-group + input.form-input.input-sm(type="text" placeholder="username") + select.form-select.select-sm + option Slack + option Skype + option Hipchat + .column.col-xs-12 + .input-group + span.input-group-addon.addon-sm slack.com/ + input.form-input.input-sm(type="text" placeholder="site name") + button.btn.btn-primary.input-group-btn.btn-sm Submit +.columns + .column.col-xs-12 + .input-group + input.form-input(type="text" placeholder="username") + select.form-select + option Slack + option Skype + option Hipchat + .column.col-xs-12 + .input-group + span.input-group-addon slack.com/ + input.form-input(type="text" placeholder="site name") + button.btn.btn-primary.input-group-btn Submit +.columns + .column.col-xs-12 + .input-group + label.form-switch + input(type="checkbox") + i.form-icon + input.form-input(type="text" placeholder="name") + .column.col-xs-12 + .input-group + label.form-checkbox + input(type="checkbox") + i.form-icon + input.form-input(type="text" placeholder="name") +.columns + .column.col-xs-12 + .input-group + input.form-input.input-lg(type="text" placeholder="username") + select.form-select.select-lg + option Slack + option Skype + option Hipchat + .column.col-xs-12 + .input-group + span.input-group-addon.addon-lg slack.com/ + input.form-input.input-lg(type="text" placeholder="site name") + button.btn.btn-primary.input-group-btn.btn-lg Submit + +p + | If you want to attach text and button along with an input, add the #[code input-group] class to the input container. + | And add the #[code input-group-addon] class to the text element and #[code input-group-btn] to the button element. + +pre.code(data-lang='HTML') + code + :highlight(lang="html") + +
    + ... + +
    + + +
    + ... + +
    + + +
    + ... + + +
    + ++docs-subheading('forms-validation', 'Form validation styles') + +p + | To use form validation styles, you can either add #[code is-success] or #[code is-error] class to the controls or add #[code has-success] or #[code has-error] class to parent elements. + | Use the #[code form-input-hint] class to provide form validation success and error messages. + +.columns + .column.col-9.col-sm-12 + fieldset + legend Input + .form-group + label.form-label(for="input-example-17") Name + input#input-example-17.form-input.is-success(type="text" placeholder="Name") + p.form-input-hint The name is valid. + .form-group.has-error + label.form-label(for="input-example-18") Password + input#input-example-18.form-input(type="password" placeholder="Password") + p.form-input-hint Passwords must have at least 8 characters. + .form-group + label.form-label(for="input-example-21") Email + input#input-example-21.form-input(type="text" placeholder="Email" pattern="[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$") + p.form-input-hint The Email address is unavailable. + fieldset + legend Select + .form-group + select.form-select.is-error + option Choose an option + option Slack + option Skype + option Hipchat + p.form-input-hint The option is invalid. + .form-group.has-success + select.form-select + option Choose an option + option Slack + option Skype + option Hipchat + p.form-input-hint The option is available. + fieldset + legend Checkbox, Radio and Switch (Error state only) + .form-group + label.form-checkbox.is-error + input(type="checkbox" checked="") + i.form-icon + | I'm not a robot. + .form-group.has-error + label.form-radio + input(type="radio" name="gender" checked="") + i.form-icon + | Male + label.form-radio + input(type="radio" name="gender") + i.form-icon + | Female + .form-group + label.form-switch.is-error + input(type="checkbox" checked="") + i.form-icon + | Send me emails with news and tips + +pre.code(data-lang='HTML') + code + :highlight(lang="html") +
    + +
    + + +

    The name is invalid.

    +
    + + +
    + + +

    The name is invalid.

    +
    + + +
    + +
    +
    + ++docs-subheading('forms-disabled', 'Form disabled styles') + +p + | Add the #[code disabled] attribute to the element or #{'
    '} for a disabled form components style. + +.columns + .column.col-6.col-xs-12 + form(action="#forms") + fieldset(disabled="") + .form-group + label.form-label(for="input-example-19") Name + input#input-example-19.form-input(type="text" placeholder="Name") + .form-group + label.form-label Gender + label.form-radio + input(type="radio" name="gender" disabled="") + i.form-icon + | Male + label.form-radio + input(type="radio" name="gender" disabled="") + i.form-icon + | Female + .form-group + select.form-select(disabled="") + option Choose an option + option Slack + option Skype + option Hipchat + .form-group + label.form-switch + input(type="checkbox" disabled="") + i.form-icon + | Send me emails with news and tips + .form-group + label.form-label(for="input-example-20") Message + textarea#input-example-20.form-input(placeholder="Textarea" rows="3" disabled="") + .form-group + label.form-checkbox + input(type="checkbox" disabled="") + i.form-icon + | Remember me + +pre.code(data-lang='HTML') + code + :highlight(lang="html") +
    +
    +
    + + +
    +
    + + + +
    +
    + +
    +
    + +
    +
    + + +
    +
    + +
    +
    \ No newline at end of file diff --git a/docs/src/contents/tables.pug b/docs/src/contents/tables.pug index a66aa34..64e4ffd 100644 --- a/docs/src/contents/tables.pug +++ b/docs/src/contents/tables.pug @@ -27,21 +27,12 @@ p Tables include default styles for tables and data sets. td 22 September 1995 p - | Add the - code table - | class to any - = '' - | element. The class will add padding, border and emphasized table header. Use the - code table-striped - | class to - = '
    ' - | to add zebra striped style. For hoverable table rows, you can add the - code table-hover - | class to enable hover style. + | Add the #[code table] class to any #{'
    '} element. + | The class will add padding, border and emphasized table header. + | Use the #[code table-striped] class to #{'
    '} to add zebra striped style. + | For hoverable table rows, you can add the #[code table-hover] class to enable hover style. p - | Use the - code active - | class to make element highlighted. + | Use the #[code active] class to make #{''} element highlighted. pre.code(data-lang='HTML') code diff --git a/docs/src/contents/typography.pug b/docs/src/contents/typography.pug index 47b980a..28ffc17 100644 --- a/docs/src/contents/typography.pug +++ b/docs/src/contents/typography.pug @@ -40,9 +40,8 @@ pre.code(data-lang='HTML') +docs-subheading('typography-paragraphs', 'Paragraphs') p - | Lorem ipsum dolor sit amet, consectetur - a(href='#typography') adipiscing elit. Praesent risus leo, dictum in vehicula sit amet - | , feugiat tempus tellus. Duis quis sodales risus. Etiam euismod ornare consequat. + | Lorem ipsum dolor sit amet, consectetur #[a(href='#typography') adipiscing elit]. + | Praesent risus leo, dictum in vehicula sit amet, feugiat tempus tellus. Duis quis sodales risus. Etiam euismod ornare consequat. p | Climb leg rub face on everything give attitude nap all day for under the bed. Chase mice attack feet but rub face on everything hopped up on goofballs. @@ -127,7 +126,7 @@ p.h5 small(lang='zh-Hans') 你好 | , small(lang='ja') こんにちは - | , + | , small(lang='ko') 안녕하세요 p.h6 Chinese (Simplified) @@ -142,9 +141,7 @@ p.h6 Korean p(lang='ko') | 나라말이 중국과 달라, 한문・한자와 서로 통하지 아니하므로, 어리석은 백성들이 말하고자 하는 바가 있어도, 끝내 제 뜻을 펴지 못하는 사람이 많다. 내가 이를 불쌍히 여겨, 새로 스물 여덟 글자를 만드니, 사람마다 하여금 쉽게 익혀, 날마다 씀에 편하게 하고자 할 따름이다. p - | Use the - code lang - | attribute to the container element to have better Asian CJK (Chinese, Japanese and Korean) font support. + | Use the #[code lang] attribute to the container element to have better Asian CJK (Chinese, Japanese and Korean) font support. pre.code(data-lang='HTML') code @@ -154,11 +151,7 @@ pre.code(data-lang='HTML')

    나라말이 중국과 달라, 한문・한자와 서로 통하지 아니하므로……

    p - | And you can use the - code cjk - | class or the - code lang - | attribute to add spacing between underlines and strike-through text for better Chinese and Japanese readability. + | And you can use the #[code cjk] class or the #[code lang] attribute to add spacing between underlines and strike-through text for better Chinese and Japanese readability. p(lang='ja') u 祇園 @@ -178,9 +171,8 @@ pre.code(data-lang='HTML') +docs-subheading('typography-fonts', 'Fonts') p - | Spectre sets the most common and best - code font-family - | for each OS with fallback support in old systems. There are also fonts targeted East Asian typography. + | Spectre sets the most common and best #[code font-family] for each OS with fallback support in old systems. + | There are also fonts targeted East Asian typography. pre.code code diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index eb01640..0000000 --- a/package-lock.json +++ /dev/null @@ -1,3349 +0,0 @@ -{ - "name": "spectre.css", - "version": "0.4.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "abbrev": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz", - "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=", - "dev": true - }, - "ajv": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", - "dev": true, - "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" - } - }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "aproba": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.1.2.tgz", - "integrity": "sha512-ZpYajIfO0j2cOFTO955KUMIKNmj6zhX8kVztMAxFsDaMwz+9Z9SV0uou2pC9HJqcfpffOsjnbrDMvkNy+9RXPw==", - "dev": true - }, - "archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", - "dev": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", - "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", - "dev": true, - "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.3" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - } - } - }, - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true, - "requires": { - "arr-flatten": "1.1.0" - } - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "array-differ": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", - "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", - "dev": true - }, - "array-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", - "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", - "dev": true - }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true - }, - "array-slice": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.0.0.tgz", - "integrity": "sha1-5zA08A3MH0CHYAj9IP6ud71LfC8=", - "dev": true - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true - }, - "asn1": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", - "dev": true - }, - "assert-plus": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", - "dev": true - }, - "async-foreach": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", - "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "autoprefixer": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.1.3.tgz", - "integrity": "sha512-zGy6aRrZjWhR+25n89jYkpLXutg6xdDGKKnVNzkfamnnhK3mYchkKj5GJR14aJiU0x4UqZ1+N728tkFNUL5N2g==", - "dev": true, - "requires": { - "browserslist": "2.4.0", - "caniuse-lite": "1.0.30000718", - "normalize-range": "0.1.2", - "num2fraction": "1.2.2", - "postcss": "6.0.10", - "postcss-value-parser": "3.3.0" - } - }, - "aws-sign2": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", - "dev": true - }, - "aws4": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", - "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", - "dev": true - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", - "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", - "dev": true, - "optional": true, - "requires": { - "tweetnacl": "0.14.5" - } - }, - "beeper": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz", - "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=", - "dev": true - }, - "block-stream": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", - "dev": true, - "requires": { - "inherits": "2.0.3" - } - }, - "boom": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, - "brace-expansion": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", - "dev": true, - "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true, - "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" - } - }, - "browserslist": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.4.0.tgz", - "integrity": "sha512-aM2Gt4x9bVlCUteADBS6JP0F+2tMWKM1jQzUulVROtdFWFIcIVvY76AJbr7GDqy0eDhn+PcnpzzivGxY4qiaKQ==", - "dev": true, - "requires": { - "caniuse-lite": "1.0.30000718", - "electron-to-chromium": "1.3.18" - } - }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true - }, - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true - }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "dev": true, - "requires": { - "camelcase": "2.1.1", - "map-obj": "1.0.1" - } - }, - "caniuse-lite": { - "version": "1.0.30000718", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000718.tgz", - "integrity": "sha1-DdJCkL6xExCy2A9rcKgjwqZab60=", - "dev": true - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } - }, - "clean-css": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.7.tgz", - "integrity": "sha1-ua6k+FZ5iJzz6ui0A0nsTr390DI=", - "dev": true, - "requires": { - "source-map": "0.5.6" - } - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" - } - }, - "clone": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz", - "integrity": "sha1-Jgt6meux7f4kdTgXX3gyQ8sZ0Uk=", - "dev": true - }, - "clone-stats": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", - "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", - "dev": true - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true - }, - "color-convert": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz", - "integrity": "sha1-Gsz5fdc5uYO/mU1W/sj5WFNkG3o=", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "combined-stream": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", - "dev": true, - "requires": { - "delayed-stream": "1.0.0" - } - }, - "commander": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.0.0.tgz", - "integrity": "sha1-0bhvkB+LZL2UG96tr5JFMDk76Sg=", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "cross-spawn": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", - "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", - "dev": true, - "requires": { - "lru-cache": "4.1.1", - "which": "1.3.0" - }, - "dependencies": { - "lru-cache": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", - "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", - "dev": true, - "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" - } - } - } - }, - "cryptiles": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", - "dev": true, - "requires": { - "boom": "2.10.1" - } - }, - "csscomb": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/csscomb/-/csscomb-3.1.8.tgz", - "integrity": "sha1-qKc4iE9Am6817JRhr8UuHHW9I6I=", - "dev": true, - "requires": { - "commander": "2.0.0", - "csscomb-core": "3.0.0-3.1", - "gonzales-pe": "3.0.0-28", - "vow": "0.4.4" - } - }, - "csscomb-core": { - "version": "3.0.0-3.1", - "resolved": "https://registry.npmjs.org/csscomb-core/-/csscomb-core-3.0.0-3.1.tgz", - "integrity": "sha1-tBHI18/g3z8v4d+E0b1kpvAEbGg=", - "dev": true, - "requires": { - "gonzales-pe": "3.0.0-28", - "minimatch": "0.2.12", - "vow": "0.4.4", - "vow-fs": "0.3.2" - }, - "dependencies": { - "minimatch": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz", - "integrity": "sha1-6oKgEqxmLH3fqhRPHBR+aUb12vs=", - "dev": true, - "requires": { - "lru-cache": "2.7.3", - "sigmund": "1.0.1" - } - } - } - }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "dev": true, - "requires": { - "array-find-index": "1.0.2" - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } - } - }, - "dateformat": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.0.0.tgz", - "integrity": "sha1-J0Pjq7XD/CRi5SfcpEXgTp9N7hc=", - "dev": true - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", - "dev": true, - "requires": { - "clone": "1.0.2" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true - }, - "deprecated": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz", - "integrity": "sha1-+cmvVGSvoeepcUWKi97yqpTVuxk=", - "dev": true - }, - "detect-file": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-0.1.0.tgz", - "integrity": "sha1-STXe39lIhkjgBrASlWbpOGcR6mM=", - "dev": true, - "requires": { - "fs-exists-sync": "0.1.0" - } - }, - "duplexer2": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", - "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", - "dev": true, - "requires": { - "readable-stream": "1.1.14" - } - }, - "ecc-jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", - "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", - "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "electron-to-chromium": { - "version": "1.3.18", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.18.tgz", - "integrity": "sha1-PcyZ2j5rZl9qu8ccKK1Ros1zGpw=", - "dev": true - }, - "end-of-stream": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz", - "integrity": "sha1-jhdyBsPICDfYVjLouTWd/osvbq8=", - "dev": true, - "requires": { - "once": "1.3.3" - } - }, - "error-ex": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", - "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", - "dev": true, - "requires": { - "is-arrayish": "0.2.1" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true, - "requires": { - "is-posix-bracket": "0.1.1" - } - }, - "expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "dev": true, - "requires": { - "fill-range": "2.2.3" - } - }, - "expand-tilde": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz", - "integrity": "sha1-C4HrqJflo9MdHD0QL48BRB5VlEk=", - "dev": true, - "requires": { - "os-homedir": "1.0.2" - } - }, - "extend": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", - "dev": true - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "dev": true, - "requires": { - "is-extglob": "1.0.0" - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "fancy-log": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.0.tgz", - "integrity": "sha1-Rb4X0Cu5kX1gzP/UmVyZnmyMmUg=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "time-stamp": "1.1.0" - } - }, - "filename-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", - "dev": true - }, - "fill-range": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", - "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", - "dev": true, - "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "1.1.7", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" - } - }, - "find-index": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz", - "integrity": "sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ=", - "dev": true - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" - } - }, - "findup-sync": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.4.3.tgz", - "integrity": "sha1-QAQ5Kee8YK3wt/SCfExudaDeyhI=", - "dev": true, - "requires": { - "detect-file": "0.1.0", - "is-glob": "2.0.1", - "micromatch": "2.3.11", - "resolve-dir": "0.1.1" - } - }, - "fined": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fined/-/fined-1.1.0.tgz", - "integrity": "sha1-s33IRLdqL15wgeiE98CuNE8VNHY=", - "dev": true, - "requires": { - "expand-tilde": "2.0.2", - "is-plain-object": "2.0.4", - "object.defaults": "1.1.0", - "object.pick": "1.3.0", - "parse-filepath": "1.0.1" - }, - "dependencies": { - "expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", - "dev": true, - "requires": { - "homedir-polyfill": "1.0.1" - } - } - } - }, - "first-chunk-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz", - "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=", - "dev": true - }, - "flagged-respawn": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-0.3.2.tgz", - "integrity": "sha1-/xke3c1wiKZ1smEP/8l2vpuAdLU=", - "dev": true - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "dev": true, - "requires": { - "for-in": "1.0.2" - } - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, - "form-data": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", - "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", - "dev": true, - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.16" - } - }, - "fs-exists-sync": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz", - "integrity": "sha1-mC1ok6+RjnLQjeyehnP/K1qNat0=", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fstream": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", - "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.1" - }, - "dependencies": { - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "dev": true - } - } - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, - "requires": { - "aproba": "1.1.2", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - } - } - }, - "gaze": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz", - "integrity": "sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8=", - "dev": true, - "requires": { - "globule": "0.1.0" - } - }, - "get-caller-file": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", - "dev": true - }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } - } - }, - "glob": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz", - "integrity": "sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=", - "dev": true, - "requires": { - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "2.0.10", - "once": "1.3.3" - } - }, - "glob-base": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", - "dev": true, - "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" - } - }, - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "dev": true, - "requires": { - "is-glob": "2.0.1" - } - }, - "glob-stream": { - "version": "3.1.18", - "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz", - "integrity": "sha1-kXCl8St5Awb9/lmPMT+PeVT9FDs=", - "dev": true, - "requires": { - "glob": "4.5.3", - "glob2base": "0.0.12", - "minimatch": "2.0.10", - "ordered-read-streams": "0.1.0", - "through2": "0.6.5", - "unique-stream": "1.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } - }, - "through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "dev": true, - "requires": { - "readable-stream": "1.0.34", - "xtend": "4.0.1" - } - } - } - }, - "glob-watcher": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz", - "integrity": "sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs=", - "dev": true, - "requires": { - "gaze": "0.5.2" - } - }, - "glob2base": { - "version": "0.0.12", - "resolved": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz", - "integrity": "sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY=", - "dev": true, - "requires": { - "find-index": "0.1.1" - } - }, - "global-modules": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz", - "integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=", - "dev": true, - "requires": { - "global-prefix": "0.1.5", - "is-windows": "0.2.0" - } - }, - "global-prefix": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz", - "integrity": "sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=", - "dev": true, - "requires": { - "homedir-polyfill": "1.0.1", - "ini": "1.3.4", - "is-windows": "0.2.0", - "which": "1.3.0" - } - }, - "globule": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz", - "integrity": "sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU=", - "dev": true, - "requires": { - "glob": "3.1.21", - "lodash": "1.0.2", - "minimatch": "0.2.14" - }, - "dependencies": { - "glob": { - "version": "3.1.21", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", - "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=", - "dev": true, - "requires": { - "graceful-fs": "1.2.3", - "inherits": "1.0.2", - "minimatch": "0.2.14" - } - }, - "graceful-fs": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", - "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=", - "dev": true - }, - "inherits": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz", - "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=", - "dev": true - }, - "minimatch": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", - "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=", - "dev": true, - "requires": { - "lru-cache": "2.7.3", - "sigmund": "1.0.1" - } - } - } - }, - "glogg": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz", - "integrity": "sha1-f+DxmfV6yQbPUS/urY+Q7kooT8U=", - "dev": true, - "requires": { - "sparkles": "1.0.0" - } - }, - "gonzales-pe": { - "version": "3.0.0-28", - "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-3.0.0-28.tgz", - "integrity": "sha1-3VC0HdFbaCooxA5fD/IAeQGsYr0=", - "dev": true - }, - "graceful-fs": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz", - "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=", - "dev": true, - "requires": { - "natives": "1.1.0" - } - }, - "gulp": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz", - "integrity": "sha1-VxzkWSjdQK9lFPxAEYZgFsE4RbQ=", - "dev": true, - "requires": { - "archy": "1.0.0", - "chalk": "1.1.3", - "deprecated": "0.0.1", - "gulp-util": "3.0.8", - "interpret": "1.0.3", - "liftoff": "2.3.0", - "minimist": "1.2.0", - "orchestrator": "0.3.8", - "pretty-hrtime": "1.0.3", - "semver": "4.3.6", - "tildify": "1.2.0", - "v8flags": "2.1.1", - "vinyl-fs": "0.3.14" - } - }, - "gulp-autoprefixer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/gulp-autoprefixer/-/gulp-autoprefixer-4.0.0.tgz", - "integrity": "sha1-4AqMVxuF0GUWrCY0G+kN/Z/B6rA=", - "dev": true, - "requires": { - "autoprefixer": "7.1.3", - "gulp-util": "3.0.8", - "postcss": "6.0.10", - "through2": "2.0.3", - "vinyl-sourcemaps-apply": "0.2.1" - } - }, - "gulp-clean-css": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/gulp-clean-css/-/gulp-clean-css-3.7.0.tgz", - "integrity": "sha1-VLM1JtyJmTCUn7N7TKz4UcXV2Ts=", - "dev": true, - "requires": { - "clean-css": "4.1.7", - "gulp-util": "3.0.8", - "through2": "2.0.3", - "vinyl-sourcemaps-apply": "0.2.1" - } - }, - "gulp-csscomb": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/gulp-csscomb/-/gulp-csscomb-3.0.8.tgz", - "integrity": "sha1-3zSCSlgKTH0zUcHo67ateh1aibc=", - "dev": true, - "requires": { - "csscomb": "3.1.8", - "gulp-util": "3.0.8", - "through2": "2.0.3" - } - }, - "gulp-rename": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.2.2.tgz", - "integrity": "sha1-OtRCh2PwXidk3sHGfYaNsnVoeBc=", - "dev": true - }, - "gulp-sass": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-3.1.0.tgz", - "integrity": "sha1-U9xLaKH13f5EJKtMJHZVJpqLdLc=", - "dev": true, - "requires": { - "gulp-util": "3.0.8", - "lodash.clonedeep": "4.5.0", - "node-sass": "4.5.3", - "through2": "2.0.3", - "vinyl-sourcemaps-apply": "0.2.1" - } - }, - "gulp-util": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz", - "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=", - "dev": true, - "requires": { - "array-differ": "1.0.0", - "array-uniq": "1.0.3", - "beeper": "1.1.1", - "chalk": "1.1.3", - "dateformat": "2.0.0", - "fancy-log": "1.3.0", - "gulplog": "1.0.0", - "has-gulplog": "0.1.0", - "lodash._reescape": "3.0.0", - "lodash._reevaluate": "3.0.0", - "lodash._reinterpolate": "3.0.0", - "lodash.template": "3.6.2", - "minimist": "1.2.0", - "multipipe": "0.1.2", - "object-assign": "3.0.0", - "replace-ext": "0.0.1", - "through2": "2.0.3", - "vinyl": "0.5.3" - } - }, - "gulplog": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", - "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", - "dev": true, - "requires": { - "glogg": "1.0.0" - } - }, - "har-schema": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", - "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", - "dev": true - }, - "har-validator": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", - "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", - "dev": true, - "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "has-gulplog": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", - "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", - "dev": true, - "requires": { - "sparkles": "1.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "dev": true - }, - "hawk": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", - "dev": true, - "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" - } - }, - "hoek": { - "version": "2.16.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", - "dev": true - }, - "homedir-polyfill": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", - "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", - "dev": true, - "requires": { - "parse-passwd": "1.0.0" - } - }, - "hosted-git-info": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", - "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", - "dev": true - }, - "http-signature": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", - "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", - "dev": true, - "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.1", - "sshpk": "1.13.1" - } - }, - "in-publish": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", - "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=", - "dev": true - }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "dev": true, - "requires": { - "repeating": "2.0.1" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "1.3.3", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "ini": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", - "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=", - "dev": true - }, - "interpret": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.3.tgz", - "integrity": "sha1-y8NcYu7uc/Gat7EKgBURQBr8D5A=", - "dev": true - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "dev": true - }, - "is-absolute": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.2.6.tgz", - "integrity": "sha1-IN5p89uULvLYe5wto28XIjWxtes=", - "dev": true, - "requires": { - "is-relative": "0.2.1", - "is-windows": "0.2.0" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-buffer": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz", - "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=", - "dev": true - }, - "is-builtin-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", - "dev": true, - "requires": { - "builtin-modules": "1.1.1" - } - }, - "is-dotfile": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", - "dev": true - }, - "is-equal-shallow": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", - "dev": true, - "requires": { - "is-primitive": "2.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "1.0.0" - } - }, - "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - } - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "3.0.1" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "is-posix-bracket": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", - "dev": true - }, - "is-primitive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", - "dev": true - }, - "is-relative": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.2.1.tgz", - "integrity": "sha1-0n9MfVFtF1+2ENuEu+7yPDvJeqU=", - "dev": true, - "requires": { - "is-unc-path": "0.1.2" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-unc-path": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-0.1.2.tgz", - "integrity": "sha1-arBTpyVzwQJQ/0FqOBTDUXivObk=", - "dev": true, - "requires": { - "unc-path-regex": "0.1.2" - } - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "is-windows": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz", - "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw=", - "dev": true - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - } - } - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "js-base64": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz", - "integrity": "sha1-8OgK4DmkvWVLXygfyT8EqRSn/M4=", - "dev": true - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true, - "optional": true - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "dev": true, - "requires": { - "jsonify": "0.0.0" - } - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "dev": true - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.5" - } - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dev": true, - "requires": { - "invert-kv": "1.0.0" - } - }, - "liftoff": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.3.0.tgz", - "integrity": "sha1-qY8v9nGD2Lp8+soQVIvX/wVQs4U=", - "dev": true, - "requires": { - "extend": "3.0.1", - "findup-sync": "0.4.3", - "fined": "1.1.0", - "flagged-respawn": "0.3.2", - "lodash.isplainobject": "4.0.6", - "lodash.isstring": "4.0.1", - "lodash.mapvalues": "4.6.0", - "rechoir": "0.6.2", - "resolve": "1.4.0" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" - }, - "dependencies": { - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "dev": true - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "0.2.1" - } - } - } - }, - "lodash": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz", - "integrity": "sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE=", - "dev": true - }, - "lodash._basecopy": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", - "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", - "dev": true - }, - "lodash._basetostring": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", - "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=", - "dev": true - }, - "lodash._basevalues": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz", - "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=", - "dev": true - }, - "lodash._getnative": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", - "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", - "dev": true - }, - "lodash._isiterateecall": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", - "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", - "dev": true - }, - "lodash._reescape": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", - "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=", - "dev": true - }, - "lodash._reevaluate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz", - "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=", - "dev": true - }, - "lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", - "dev": true - }, - "lodash._root": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", - "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=", - "dev": true - }, - "lodash.assign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", - "dev": true - }, - "lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true - }, - "lodash.escape": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", - "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", - "dev": true, - "requires": { - "lodash._root": "3.0.1" - } - }, - "lodash.isarguments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", - "dev": true - }, - "lodash.isarray": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", - "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", - "dev": true - }, - "lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", - "dev": true - }, - "lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=", - "dev": true - }, - "lodash.keys": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", - "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", - "dev": true, - "requires": { - "lodash._getnative": "3.9.1", - "lodash.isarguments": "3.1.0", - "lodash.isarray": "3.0.4" - } - }, - "lodash.mapvalues": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz", - "integrity": "sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw=", - "dev": true - }, - "lodash.mergewith": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz", - "integrity": "sha1-FQzwoWeR9ZA7iJHqsVRgknS96lU=", - "dev": true - }, - "lodash.restparam": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", - "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", - "dev": true - }, - "lodash.template": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", - "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", - "dev": true, - "requires": { - "lodash._basecopy": "3.0.1", - "lodash._basetostring": "3.0.1", - "lodash._basevalues": "3.0.0", - "lodash._isiterateecall": "3.0.9", - "lodash._reinterpolate": "3.0.0", - "lodash.escape": "3.2.0", - "lodash.keys": "3.1.2", - "lodash.restparam": "3.6.1", - "lodash.templatesettings": "3.1.1" - } - }, - "lodash.templatesettings": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", - "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", - "dev": true, - "requires": { - "lodash._reinterpolate": "3.0.0", - "lodash.escape": "3.2.0" - } - }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "dev": true, - "requires": { - "currently-unhandled": "0.4.1", - "signal-exit": "3.0.2" - } - }, - "lru-cache": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", - "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=", - "dev": true - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true - }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "dev": true, - "requires": { - "camelcase-keys": "2.1.0", - "decamelize": "1.2.0", - "loud-rejection": "1.6.0", - "map-obj": "1.0.1", - "minimist": "1.2.0", - "normalize-package-data": "2.4.0", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "redent": "1.0.0", - "trim-newlines": "1.0.0" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - } - } - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true, - "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.3" - } - }, - "mime-db": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.29.0.tgz", - "integrity": "sha1-SNJtI1WJZRcErFkWygYAGRQmaHg=", - "dev": true - }, - "mime-types": { - "version": "2.1.16", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.16.tgz", - "integrity": "sha1-K4WKUuXs1RbbiXrCvodIeDBpjiM=", - "dev": true, - "requires": { - "mime-db": "1.29.0" - } - }, - "minimatch": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", - "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=", - "dev": true, - "requires": { - "brace-expansion": "1.1.8" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - } - } - }, - "multipipe": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", - "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", - "dev": true, - "requires": { - "duplexer2": "0.0.2" - } - }, - "nan": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.6.2.tgz", - "integrity": "sha1-5P805slf37WuzAjeZZb0NgWn20U=", - "dev": true - }, - "natives": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.0.tgz", - "integrity": "sha1-6f+EFBimsux6SV6TmYT3jxY+bjE=", - "dev": true - }, - "node-gyp": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.2.tgz", - "integrity": "sha1-m/vlRWIoYoSDjnUOrAUpWFP6HGA=", - "dev": true, - "requires": { - "fstream": "1.0.11", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "nopt": "3.0.6", - "npmlog": "4.1.2", - "osenv": "0.1.4", - "request": "2.81.0", - "rimraf": "2.6.1", - "semver": "5.3.0", - "tar": "2.2.1", - "which": "1.3.0" - }, - "dependencies": { - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.3.3", - "path-is-absolute": "1.0.1" - } - }, - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "1.1.8" - } - }, - "semver": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", - "dev": true - } - } - }, - "node-sass": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.5.3.tgz", - "integrity": "sha1-0JydEXlkEjnRuX/8YjH9zsU+FWg=", - "dev": true, - "requires": { - "async-foreach": "0.1.3", - "chalk": "1.1.3", - "cross-spawn": "3.0.1", - "gaze": "1.1.2", - "get-stdin": "4.0.1", - "glob": "7.1.2", - "in-publish": "2.0.0", - "lodash.assign": "4.2.0", - "lodash.clonedeep": "4.5.0", - "lodash.mergewith": "4.6.0", - "meow": "3.7.0", - "mkdirp": "0.5.1", - "nan": "2.6.2", - "node-gyp": "3.6.2", - "npmlog": "4.1.2", - "request": "2.81.0", - "sass-graph": "2.2.4", - "stdout-stream": "1.4.0" - }, - "dependencies": { - "gaze": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz", - "integrity": "sha1-hHIkZ3rbiHDWeSV+0ziP22HkAQU=", - "dev": true, - "requires": { - "globule": "1.2.0" - } - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.3.3", - "path-is-absolute": "1.0.1" - } - }, - "globule": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.0.tgz", - "integrity": "sha1-HcScaCLdnoovoAuiopUAboZkvQk=", - "dev": true, - "requires": { - "glob": "7.1.2", - "lodash": "4.17.4", - "minimatch": "3.0.4" - } - }, - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "1.1.8" - } - } - } - }, - "node-uuid": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.0.tgz", - "integrity": "sha1-B/myM3Vy/2J1x3Xh1IUT86RdemU=", - "dev": true - }, - "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true, - "requires": { - "abbrev": "1.1.0" - } - }, - "normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", - "dev": true, - "requires": { - "hosted-git-info": "2.5.0", - "is-builtin-module": "1.0.0", - "semver": "4.3.6", - "validate-npm-package-license": "3.0.1" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "1.1.0" - } - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "dev": true - }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "dev": true, - "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" - } - }, - "num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", - "dev": true - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, - "oauth-sign": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", - "dev": true - }, - "object-assign": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", - "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", - "dev": true - }, - "object.defaults": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", - "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", - "dev": true, - "requires": { - "array-each": "1.0.1", - "array-slice": "1.0.0", - "for-own": "1.0.0", - "isobject": "3.0.1" - }, - "dependencies": { - "for-own": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", - "dev": true, - "requires": { - "for-in": "1.0.2" - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "object.omit": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", - "dev": true, - "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "requires": { - "isobject": "3.0.1" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "once": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", - "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", - "dev": true, - "requires": { - "wrappy": "1.0.2" - } - }, - "orchestrator": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.8.tgz", - "integrity": "sha1-FOfp4nZPcxX7rBhOUGx6pt+UrX4=", - "dev": true, - "requires": { - "end-of-stream": "0.1.5", - "sequencify": "0.0.7", - "stream-consume": "0.1.0" - } - }, - "ordered-read-streams": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz", - "integrity": "sha1-/VZamvjrRHO6abbtijQ1LLVS8SY=", - "dev": true - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dev": true, - "requires": { - "lcid": "1.0.0" - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "osenv": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz", - "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=", - "dev": true, - "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" - } - }, - "parse-filepath": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.1.tgz", - "integrity": "sha1-FZ1hVdQ5BNFsEO9piRHaHpGWm3M=", - "dev": true, - "requires": { - "is-absolute": "0.2.6", - "map-cache": "0.2.2", - "path-root": "0.1.1" - } - }, - "parse-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", - "dev": true, - "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "1.3.1" - } - }, - "parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", - "dev": true - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "2.0.1" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-parse": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", - "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", - "dev": true - }, - "path-root": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", - "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", - "dev": true, - "requires": { - "path-root-regex": "0.1.2" - } - }, - "path-root-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", - "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", - "dev": true - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - }, - "dependencies": { - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "dev": true - } - } - }, - "performance-now": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", - "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", - "dev": true - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "2.0.4" - } - }, - "postcss": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.10.tgz", - "integrity": "sha512-7WOpqea/cQHH1XUXdN1mqoFFmhigW3KAXJ+ssMOk/f6mKmwqFgqqdwsnjLGH+wuY+kwaJvT4whHcfKt5kWga0A==", - "dev": true, - "requires": { - "chalk": "2.1.0", - "source-map": "0.5.7", - "supports-color": "4.2.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", - "dev": true, - "requires": { - "color-convert": "1.9.0" - } - }, - "chalk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.2.1" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.2.1.tgz", - "integrity": "sha512-qxzYsob3yv6U+xMzPrv170y8AwGP7i74g+pbixCfD6rgso8BscLT2qXIuz6TpOaiJZ3mFgT5O9lyT9nMU4LfaA==", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } - } - } - }, - "postcss-value-parser": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", - "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=", - "dev": true - }, - "preserve": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", - "dev": true - }, - "pretty-hrtime": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", - "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", - "dev": true - }, - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", - "dev": true - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - }, - "qs": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", - "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", - "dev": true - }, - "randomatic": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", - "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", - "dev": true, - "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.5" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "1.1.5" - } - } - } - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" - } - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true, - "requires": { - "resolve": "1.4.0" - } - }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "dev": true, - "requires": { - "indent-string": "2.1.0", - "strip-indent": "1.0.1" - } - }, - "regex-cache": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz", - "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=", - "dev": true, - "requires": { - "is-equal-shallow": "0.1.3", - "is-primitive": "2.0.0" - } - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "repeat-element": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "requires": { - "is-finite": "1.0.2" - } - }, - "replace-ext": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", - "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", - "dev": true - }, - "request": { - "version": "2.81.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", - "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", - "dev": true, - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "4.2.1", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.16", - "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", - "safe-buffer": "5.1.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.2", - "tunnel-agent": "0.6.0", - "uuid": "3.1.0" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true - }, - "resolve": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.4.0.tgz", - "integrity": "sha512-aW7sVKPufyHqOmyyLzg/J+8606v5nevBgaliIlV7nUpVMsDnoBGV/cbSLNjZAg9q0Cfd/+easKVKQ8vOu8fn1Q==", - "dev": true, - "requires": { - "path-parse": "1.0.5" - } - }, - "resolve-dir": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz", - "integrity": "sha1-shklmlYC+sXFxJatiUpujMQwJh4=", - "dev": true, - "requires": { - "expand-tilde": "1.2.2", - "global-modules": "0.2.3" - } - }, - "rimraf": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", - "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", - "dev": true, - "requires": { - "glob": "7.1.2" - }, - "dependencies": { - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.3.3", - "path-is-absolute": "1.0.1" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "1.1.8" - } - } - } - }, - "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", - "dev": true - }, - "sass-graph": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", - "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", - "dev": true, - "requires": { - "glob": "7.1.2", - "lodash": "4.17.4", - "scss-tokenizer": "0.2.3", - "yargs": "7.1.0" - }, - "dependencies": { - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.3.3", - "path-is-absolute": "1.0.1" - } - }, - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "1.1.8" - } - } - } - }, - "scss-tokenizer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", - "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", - "dev": true, - "requires": { - "js-base64": "2.1.9", - "source-map": "0.4.4" - }, - "dependencies": { - "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dev": true, - "requires": { - "amdefine": "1.0.1" - } - } - } - }, - "semver": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", - "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", - "dev": true - }, - "sequencify": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz", - "integrity": "sha1-kM/xnQLgcCf9dn9erT57ldHnOAw=", - "dev": true - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "sigmund": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", - "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", - "dev": true - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true - }, - "sntp": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, - "source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", - "dev": true - }, - "sparkles": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz", - "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=", - "dev": true - }, - "spdx-correct": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", - "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", - "dev": true, - "requires": { - "spdx-license-ids": "1.2.2" - } - }, - "spdx-expression-parse": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", - "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", - "dev": true - }, - "spdx-license-ids": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", - "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", - "dev": true - }, - "sshpk": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", - "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", - "dev": true, - "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } - } - }, - "stdout-stream": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.0.tgz", - "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=", - "dev": true, - "requires": { - "readable-stream": "2.3.3" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - } - } - }, - "stream-consume": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.0.tgz", - "integrity": "sha1-pB6tGm1ggc63n2WwYZAbbY89HQ8=", - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - }, - "stringstream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", - "dev": true - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "strip-bom": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz", - "integrity": "sha1-hbiGLzhEtabV7IRnqTWYFzo295Q=", - "dev": true, - "requires": { - "first-chunk-stream": "1.0.0", - "is-utf8": "0.2.1" - } - }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "dev": true, - "requires": { - "get-stdin": "4.0.1" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - }, - "tar": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", - "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", - "dev": true, - "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" - } - }, - "through2": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", - "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", - "dev": true, - "requires": { - "readable-stream": "2.3.3", - "xtend": "4.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - } - } - }, - "tildify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz", - "integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=", - "dev": true, - "requires": { - "os-homedir": "1.0.2" - } - }, - "time-stamp": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", - "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", - "dev": true - }, - "tough-cookie": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", - "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=", - "dev": true, - "requires": { - "punycode": "1.4.1" - } - }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", - "dev": true - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true, - "optional": true - }, - "unc-path-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", - "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", - "dev": true - }, - "unique-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz", - "integrity": "sha1-1ZpKdUJ0R9mqbJHnAmP40mpLEEs=", - "dev": true - }, - "user-home": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", - "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=", - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "uuid": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", - "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==", - "dev": true - }, - "v8flags": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz", - "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=", - "dev": true, - "requires": { - "user-home": "1.1.1" - } - }, - "validate-npm-package-license": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", - "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", - "dev": true, - "requires": { - "spdx-correct": "1.0.2", - "spdx-expression-parse": "1.0.4" - } - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "1.3.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } - } - }, - "vinyl": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", - "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", - "dev": true, - "requires": { - "clone": "1.0.2", - "clone-stats": "0.0.1", - "replace-ext": "0.0.1" - } - }, - "vinyl-fs": { - "version": "0.3.14", - "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz", - "integrity": "sha1-mmhRzhysHBzqX+hsCTHWIMLPqeY=", - "dev": true, - "requires": { - "defaults": "1.0.3", - "glob-stream": "3.1.18", - "glob-watcher": "0.0.6", - "graceful-fs": "3.0.11", - "mkdirp": "0.5.1", - "strip-bom": "1.0.0", - "through2": "0.6.5", - "vinyl": "0.4.6" - }, - "dependencies": { - "clone": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", - "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", - "dev": true - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } - }, - "through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "dev": true, - "requires": { - "readable-stream": "1.0.34", - "xtend": "4.0.1" - } - }, - "vinyl": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", - "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", - "dev": true, - "requires": { - "clone": "0.2.0", - "clone-stats": "0.0.1" - } - } - } - }, - "vinyl-sourcemaps-apply": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz", - "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=", - "dev": true, - "requires": { - "source-map": "0.5.6" - } - }, - "vow": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/vow/-/vow-0.4.4.tgz", - "integrity": "sha1-yf5GCRKdf1qmIVCOvmS1HJW8e5g=", - "dev": true - }, - "vow-fs": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/vow-fs/-/vow-fs-0.3.2.tgz", - "integrity": "sha1-6isDTYXh24wnfrLpqG0cFfXTjno=", - "dev": true, - "requires": { - "glob": "3.2.8", - "node-uuid": "1.4.0", - "vow": "0.4.4", - "vow-queue": "0.3.1" - }, - "dependencies": { - "glob": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.8.tgz", - "integrity": "sha1-VQb0MRchvMYYx9jboUQYh1AwcHM=", - "dev": true, - "requires": { - "inherits": "2.0.3", - "minimatch": "0.2.14" - } - }, - "minimatch": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", - "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=", - "dev": true, - "requires": { - "lru-cache": "2.7.3", - "sigmund": "1.0.1" - } - } - } - }, - "vow-queue": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/vow-queue/-/vow-queue-0.3.1.tgz", - "integrity": "sha1-WYxRoVsKgabV/AX0dhzrRi3h6Gg=", - "dev": true, - "requires": { - "vow": "0.4.4" - } - }, - "which": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", - "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", - "dev": true, - "requires": { - "isexe": "2.0.0" - } - }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", - "dev": true - }, - "wide-align": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", - "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", - "dev": true, - "requires": { - "string-width": "1.0.2" - } - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", - "dev": true - }, - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", - "dev": true - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - }, - "yargs": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", - "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", - "dev": true, - "requires": { - "camelcase": "3.0.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "os-locale": "1.4.0", - "read-pkg-up": "1.0.1", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "1.0.2", - "which-module": "1.0.0", - "y18n": "3.2.1", - "yargs-parser": "5.0.0" - }, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - } - } - }, - "yargs-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", - "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", - "dev": true, - "requires": { - "camelcase": "3.0.0" - }, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - } - } - } - } -} diff --git a/package.json b/package.json index de9ec69..b65da1f 100644 --- a/package.json +++ b/package.json @@ -26,11 +26,11 @@ "devDependencies": { "gulp": "latest", "gulp-autoprefixer": "latest", - "gulp-clean-css": "^3.7.0", - "gulp-csscomb": "^3.0.8", - "gulp-rename": "^1.2.2", + "gulp-clean-css": "latest", + "gulp-csscomb": "latest", + "gulp-rename": "latest", "gulp-sass": "latest", - "gulp-pug": "^4.0.1", + "gulp-pug": "latest", "jstransformer-highlight": "latest", "jstransformer-markdown-it": "latest" }, -- cgit v1.3.1-23-gd82d From 611c666dbcbae64c233f0f335a09a2cee36c7132 Mon Sep 17 00:00:00 2001 From: Yan Zhu Date: Sun, 3 Jun 2018 17:45:42 +0800 Subject: Update labels docs to Pug template --- docs/elements.html | 17 +++++++++++++++++ docs/src/contents/labels.pug | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) (limited to 'docs/elements.html') diff --git a/docs/elements.html b/docs/elements.html index f971860..ae803f4 100644 --- a/docs/elements.html +++ b/docs/elements.html @@ -1213,6 +1213,23 @@

    Labels

    +

    Labels are formatted text tags for highlighted, informative information.

    +
    +
    default labelprimary labelsecondary labelsuccess labelwarning labelerror label
    +
    +

    Add the label class to <span> or <small> elements. + You can add another class label-primary, label-secondary, label-success, label-warning and label-error for colored labels. +

    +
    +
    default labelprimary label
    +
    +

    Add the label-rounded class to have rounded labels.

    +
    <!-- normal labels -->
    +<span class="label">default label</span>
    +<span class="label label-primary">primary label</span>
    +
    +<!-- rounded labels -->
    +<span class="label label-rounded label-primary">primary label</span>

    Codes

    diff --git a/docs/src/contents/labels.pug b/docs/src/contents/labels.pug index e69de29..2d55412 100644 --- a/docs/src/contents/labels.pug +++ b/docs/src/contents/labels.pug @@ -0,0 +1,32 @@ +p Labels are formatted text tags for highlighted, informative information. + +.columns + .column + span.label.mr-1 default label + span.label.label-primary.mr-1 primary label + span.label.label-secondary.mr-1 secondary label + span.label.label-success.mr-1 success label + span.label.label-warning.mr-1 warning label + span.label.label-error error label + +p + | Add the #[code label] class to #{''} or #{''} elements. + | You can add another class #[code label-primary], #[code label-secondary], #[code label-success], #[code label-warning] and #[code label-error] for colored labels. + +.columns + .column + span.label.label-rounded.mr-1 default label + span.label.label-rounded.label-primary primary label + +p + | Add the #[code label-rounded] class to have rounded labels. + +pre.code(data-lang='HTML') + code + :highlight(lang="html") + + default label + primary label + + + primary label \ No newline at end of file -- cgit v1.3.1-23-gd82d From f7344f3e056a94640b6260ad7b7badfd33646c37 Mon Sep 17 00:00:00 2001 From: Yan Zhu Date: Sun, 3 Jun 2018 18:07:08 +0800 Subject: Update code and media docs to new Pug templates --- README.md | 2 +- docs/elements.html | 75 ++++++++++++++++++++++++++++++++++++++++++++- docs/src/contents/code.pug | 22 +++++++++++++ docs/src/contents/codes.pug | 0 docs/src/contents/media.pug | 73 +++++++++++++++++++++++++++++++++++++++++++ docs/src/elements.pug | 4 +-- 6 files changed, 172 insertions(+), 4 deletions(-) create mode 100644 docs/src/contents/code.pug delete mode 100644 docs/src/contents/codes.pug (limited to 'docs/elements.html') diff --git a/README.md b/README.md index 711be7e..c5a47a8 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ You can compile your custom version of Spectre.css. Read [the documentation](htt - [Forms](https://picturepan2.github.io/spectre/elements.html#forms) - [Icons](https://picturepan2.github.io/spectre/elements.html#icons) - CSS only - [Labels](https://picturepan2.github.io/spectre/elements.html#labels) -- [Codes](https://picturepan2.github.io/spectre/elements.html#codes) +- [Code](https://picturepan2.github.io/spectre/elements.html#code) - [Media](https://picturepan2.github.io/spectre/elements.html#media) ### Layout diff --git a/docs/elements.html b/docs/elements.html index ae803f4..e7b4e82 100644 --- a/docs/elements.html +++ b/docs/elements.html @@ -1232,10 +1232,83 @@ <span class="label label-rounded label-primary">primary label</span>
    -

    Codes

    +

    Code

    +

    Code is used for styling inline and multiline code snippets.

    +

    For inline code, you can use the <code> element. + For multiline code snippet blocks, you can use <pre> with the code class as a container, and add <code> inside it. + The data-lang ibute is rendered as the language name in the top right. +

    +
    <!-- code snippets -->
    +<button class="btn">
    +  Submit
    +</button>
    +
    +
    <pre class="code" data-lang="HTML"><code><span class="com">&lt;!-- code snippets --&gt;</span>
    +&lt;<span class="tag">button</span> <span class="atn">class</span>=<span class="atv">&quot;btn&quot;</span>&gt;
    +  Submit
    +&lt;<span class="tag">/button</span>&gt;
    +</code></pre>

    Media

    +

    Media includes responsive images, figures and video classes.

    +

    Images

    +

    Add the img-responsive class to <img> elements. The images will scale with the parent sizes.

    +
    +
    macOS El Capitan Wallpaper
    +
    +

    Add the img-fit-contain or img-fit-cover class to <img> or <video> elements. The media will crop itself to fit inside the element (and you don't need another container). + This feature can replace the classic background image trick. Microsoft Edge support is shipped with Build Number 16299+. +

    +
    +
    +
    macOS Yosemite Wallpaper +
    img-fit-contain
    +
    +
    +
    +
    macOS Yosemite Wallpaper +
    img-fit-cover
    +
    +
    +
    +
    <img src="img/osx-el-capitan.jpg" class="img-responsive ..." alt="...">
    +<img src="img/osx-el-capitan.jpg" class="img-fit-contain ..." alt="...">
    +<img src="img/osx-el-capitan.jpg" class="img-fit-cover ..." alt="...">
    +
    +

    Figure

    +

    You can use the element <figure> for an image with a caption. + Add the figure class to <figure> element. + The images with the img-responsive class will be responsive. + And the included class figure-caption will provide basic style for caption. + Also, you can use text-left, text-center and text-right for caption alignment. +

    +
    +
    +
    macOS Yosemite Wallpaper +
    macOS Yosemite wallpaper
    +
    +
    +
    +

    Video

    +

    For responsive video, add a container with the video-responsive class. + Insert any YouTube, Youku or other iframe/embed video inside the container. + The ratio is 16:9 by default. + You may add video-responsive-4-3 for 4:3 ratio video container or video-responsive-1-1 for 1:1 ratio. +

    +
    +
    +
    + +
    +
    +
    +

    For responsive <video> elements, you can add the video-responsive class directly.

    +
    <div class="video-responsive video-responsive-4-3">
    +  <iframe src="..." width="..." height="..." frameborder="0" allowfullscreen></iframe>
    +</div>
    +
    +<video class="video-responsive" src="...">...</video>
    diff --git a/docs/src/contents/code.pug b/docs/src/contents/code.pug new file mode 100644 index 0000000..f1ee876 --- /dev/null +++ b/docs/src/contents/code.pug @@ -0,0 +1,22 @@ +p Code is used for styling inline and multiline code snippets. +p + | For inline code, you can use the #{''} element. + | For multiline code snippet blocks, you can use #{'
    '} with the #[code code] class as a container, and add #{''} inside it.
    +  | The #[code data-lang] ibute is rendered as the language name in the top right.
    +
    +pre.code(data-lang='HTML')
    +  code
    +    :highlight(lang="html")
    +      
    +      
    +
    +pre.code(data-lang='HTML')
    +  code
    +    :highlight(lang="html")
    +      
    <!-- code snippets -->
    +      <button class="btn">
    +        Submit
    +      </button>
    +      
    \ No newline at end of file diff --git a/docs/src/contents/codes.pug b/docs/src/contents/codes.pug deleted file mode 100644 index e69de29..0000000 diff --git a/docs/src/contents/media.pug b/docs/src/contents/media.pug index e69de29..fcb8d36 100644 --- a/docs/src/contents/media.pug +++ b/docs/src/contents/media.pug @@ -0,0 +1,73 @@ +p Media includes responsive images, figures and video classes. + ++docs-subheading('media-images', 'Images') + +p + | Add the #[code img-responsive] class to #{''} elements. The images will scale with the parent sizes. + +.columns + .column.col-12 + img.img-responsive.rounded(src="img/osx-el-capitan.jpg" alt="macOS El Capitan Wallpaper") + +p + | Add the #[code img-fit-contain] or #[code img-fit-cover] class to #{''} or #{'
    '} for an image with a caption. + | Add the #[code figure] class to #{'
    '} element. + | The images with the #[code img-responsive] class will be responsive. + | And the included class #[code figure-caption] will provide basic style for caption. + | Also, you can use #[code text-left], #[code text-center] and #[code text-right] for caption alignment. + +.columns + .column.col-12 + figure.figure + img.img-responsive.rounded(src="img/osx-yosemite-2.jpg" alt="macOS Yosemite Wallpaper") + figcaption.figure-caption.text-center macOS Yosemite wallpaper + ++docs-subheading('media-video', 'Video') + +p + | For responsive video, add a container with the #[code video-responsive] class. + | Insert any YouTube, Youku or other iframe/embed video inside the container. + | The ratio is 16:9 by default. + | You may add #[code video-responsive-4-3] for 4:3 ratio video container or #[code video-responsive-1-1] for 1:1 ratio. + +.columns + .column.col-12 + .video-responsive + iframe(width="560" height="315" src="https://www.youtube.com/embed/7DbslbKsQSk" allowfullscreen="") + +p + | For responsive #{'
    -
    -

    Typography

    +
    +

    Typography

    Typography sets default styles for headings, paragraphs, semantic text, blockquote and lists elements.

    Headings

    @@ -317,8 +317,8 @@ <dd>description list description</dd> </dl>
    -
    -

    Tables

    +
    +

    Tables

    Tables include default styles for tables and data sets.

    @@ -378,8 +378,8 @@ </tbody> </table>
    -
    -

    Buttons

    +
    +

    Buttons

    Buttons include simple button styles for actions in different types and sizes.

    @@ -526,8 +526,8 @@ <button class="btn">third button</button> </div>
    -
    -

    Forms

    +
    +

    Forms

    Forms provide the most common control styles used in forms, including input, textarea, select, checkbox, radio and switch.

    @@ -1208,11 +1208,11 @@ </div> </fieldset>
    -
    -

    Icons

    +
    +

    Icons

    -
    -

    Labels

    +
    +

    Labels

    Labels are formatted text tags for highlighted, informative information.

    default labelprimary labelsecondary labelsuccess labelwarning labelerror label
    @@ -1231,8 +1231,8 @@ <!-- rounded labels --> <span class="label label-rounded label-primary">primary label</span>
    -
    -

    Code

    +
    +

    Code

    Code is used for styling inline and multiline code snippets.

    For inline code, you can use the <code> element. For multiline code snippet blocks, you can use <pre> with the code class as a container, and add <code> inside it. @@ -1249,8 +1249,8 @@ &lt;<span class="tag">/button</span>&gt; </code></pre>

    -
    -

    Media

    +
    +

    Media

    Media includes responsive images, figures and video classes.

    Images

    Add the img-responsive class to <img> elements. The images will scale with the parent sizes.

    diff --git a/docs/getting-started.html b/docs/getting-started.html index 4d9f7ee..2665d0c 100644 --- a/docs/getting-started.html +++ b/docs/getting-started.html @@ -46,7 +46,7 @@ - +
    @@ -129,14 +129,14 @@
    -
    -

    Introduction

    +
    +

    Introduction

    Spectre.css is a lightweight, responsive and modern CSS framework for faster and extensible development.

    Spectre provides basic styles for typography and elements, flexbox based responsive layout system, pure CSS components and utilities with best practice coding and consistent design language.

    -
    -

    Installation

    +
    +

    Installation

    There are 5 ways to get started with Spectre CSS framework in your projects. You can either install manually, from CDN or use package managers.

    Install manually

    Download the compiled and minified Spectre CSS file (core ~10KB min+gzip):

    @@ -161,8 +161,8 @@

    Install from Bower

    bower install spectre.css --save
    -
    -

    Custom version

    +
    +

    Custom version

    You can customize your version of Spectre.css by editing Sass files in /src directory or removing unneeded components from .scss source files.

    Sass Source Code

    If you are looking for Less version of Spectre.css, please switch to Less branch.

    @@ -364,11 +364,11 @@ gulp.task('prefix',

    After you compile your version of Spectre in the /dist, run gulp prefix in the directory of Spectre.

    -
    -

    Accessibility

    +
    +

    Accessibility

    -
    -

    Browser support

    +
    +

    Browser support

    Spectre uses Autoprefixer to make most styles compatible with earlier browsers and Normalize.css for CSS resets. Spectre is designed for modern browsers. For best compatibility, these browsers are recommended:

    • Chrome LAST 4
    • @@ -380,8 +380,8 @@ gulp.task('prefix',

      Spectre supports Internet Explorer 10+, but some HTML5 and CSS3 features are not perfectly supported by Internet Explorer.

    -
    -

    What's new

    +
    +

    What's new

    September 2017

    • Off-canvas: navigation layout that the sidebar can slide in and out of the viewport NEW
    • diff --git a/docs/layout.html b/docs/layout.html index dd4fae5..b20594a 100644 --- a/docs/layout.html +++ b/docs/layout.html @@ -1,799 +1,1326 @@ - - - - - - - Layout - Spectre.css CSS Framework - - - - - - - - -
      - - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameGenreRelease date
    The Shawshank RedemptionCrime, Drama14 October 1994
    The GodfatherCrime, Drama24 March 1972
    Schindler's ListBiography, Drama, History4 February 1994
    Se7enCrime, Drama, Mystery22 September 1995
    +
    +
    +

    Add the table class to any <table> element. + The class will add padding, border and emphasized table header. + Use the table-striped class to <table> to add zebra striped style. + For hoverable table rows, you can add the table-hover class to enable hover style. +

    +

    Use the active class to make <tr> element highlighted.

    +
    <table class="table table-striped table-hover">
    +  <thead>
    +    <tr>
    +      <th>name</th>
    +      <th>genre</th>
    +      <th>release date</th>
    +    </tr>
    +  </thead>
    +  <tbody>
    +    <tr class="active">
    +      <td>The Shawshank Redemption</td>
    +      <td>Crime, Drama</td>
    +      <td>14 October 1994</td>
    +    </tr>
    +  </tbody>
    +</table>
    -
    - - -
    <div class="container">
    -  <div class="columns">
    -    <div class="column col-6">col-6</div>
    -    <div class="column col-3">col-3</div>
    -    <div class="column col-2">col-2</div>
    -    <div class="column col-1">col-1</div>
    -  </div>
    -
    -  <div class="columns col-gapless">
    -    <div class="column col-6">col-6</div>
    -    <div class="column col-6">col-6</div>
    -  </div>
    -
    -  <div class="columns col-oneline">
    -    <div class="column col-8">col-8</div>
    -    <div class="column col-8">col-8</div>
    -  </div>
    -</div>
    +          
    +

    Buttons

    +

    Buttons include simple button styles for actions in different types and sizes.

    +
    +
    + + + +
    +
    +

    Add the btn class to <a>, <input> or <button> elements for a default button. + There are classes btn-primary and btn-link for predefined primary and link buttons. +

    +
    <button class="btn">default button</button>
    +<button class="btn btn-primary">primary button</button>
    +<button class="btn btn-link">link button</button>
     
    +

    Button colors

    +
    +
    + + +
    +
    +

    Add the btn-success or btn-error class for success (green) or error (red) button color. + If you need more button colors, please use button mixins to create your own button color variants. +

    +
    <button class="btn btn-success">success button</button>
    +<button class="btn btn-error">error button</button>
    +
    +

    Button sizes

    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    +

    Add the btn-sm or btn-lg class for small or large button size. + Also, you can add the btn-block class for a full-width button. +

    +
    <button class="btn btn-lg">large button</button>
    +<button class="btn btn-sm">small button</button>
     
    -        

    Grid offset

    -
    -

    The Flexbox grid provides margin auto utilities to set offset. There are col-mx-auto, col-ml-auto and col-mr-auto to set margins between columns without using empty columns.

    -
    +<button class="btn btn-block">block button</button> -
    -
    -
    col-2
    -
    -
    -
    col-4 col-mx-auto
    -
    -
    -
    -
    -
    col-2
    -
    -
    -
    col-4 col-ml-auto
    -
    -
    -
    -
    -
    col-4 col-ml-auto
    -
    -
    -
    col-2
    -
    -
    -
    -
    -
    col-4 col-mx-auto
    -
    -
    -
    col-2
    -
    -
    -
    -
    -
    col-4 col-mr-auto
    -
    -
    -
    col-2
    -
    -
    -
    -
    -
    col-4 col-mx-auto
    -
    -
    - - -
    <div class="container">
    -  <div class="columns">
    -    <div class="column col-4 col-mr-auto">col-4 col-mr-auto</div>
    -    <div class="column col-2">col-2</div>
    -  </div>
    -</div>
    +<button class="btn btn-primary btn-lg"><i class="icon icon-arrow-left"></i> large</button>
    +<button class="btn btn-primary"><i class="icon icon-arrow-left"></i> normal</button>
    +<button class="btn btn-primary btn-sm"><i class="icon icon-arrow-left"></i> small</button>
     
    - -

    Grid nesting

    -
    -

    To nest grids, add the new columns and column structure within an existing column.

    -
    -
    -
    -
    col-6
    +

    Please note that you could use the btn-action class for a square button, or add another circle class for a round button, which is often used as a Float Action Button (FAB).

    -
    -
    col-6
    +
    + + +
    -
    -
    col-6
    +
    + + +
    -
    -
    -
    col-6
    -
    -
    - - -
    <div class="container">
    -  <div class="columns">
    -    <div class="column col-6">col-6
    -      <div class="columns">
    -        <div class="column col-6">col-6</div>
    -        <div class="column col-6">col-6</div>
    -      </div>
    -    </div>
    -    <div class="column col-6">col-6</div>
    -  </div>
    -</div>
    +            
    <button class="btn btn-action"><i class="icon icon-arrow-left"></i></button>
    +<button class="btn btn-action circle"><i class="icon icon-arrow-left"></i></button>
     
    - -
    - -
    -
    - -
    -
    - -
    -

    Responsive

    -
    -

    Spectre provides a neat responsive layout grid system and responsive visibility utilities.

    -
    -
    -
    -
    col-10
    col-lg-8
    col-md-6
    col-sm-4
    -
    -
    -
    col-2
    col-lg-4
    col-md-6
    col-sm-8
    +

    Button states

    +

    Add the active class for active button state style.

    +
    +
    + + + +
    +
    +

    Add the disabled class or the disabled attribute for disabled button state style.

    +
    +
    + + + +
    +
    +
    <!-- buttons with disabled state -->
    +<button class="btn disabled" tabindex="-1">disabled button</button>
    +<button class="btn" disabled tabindex="-1">disabled button</button>
    +
    +

    A button with the loading class can show loading indicator.

    +
    +
    + + + +
    +
    +
    <!-- buttons with loading state -->
    +<button class="btn loading">button</button>
    +<button class="btn btn-primary loading">primary button</button>
    +
    +

    Button groups

    +
    +
    +
    + + + +
    +
    +
    +
    + + + +
    +
    +
    +
    +
    +
    + + + +
    +
    +
    +
    + + + +
    +
    +
    +

    If you want to use buttons as a group, add the btn-group class to the container. + You can add the btn-group-block class for a full-width button group. +

    +
    <div class="btn-group btn-group-block">
    +  <button class="btn">first button</button>
    +  <button class="btn">second button</button>
    +  <button class="btn">third button</button>
    +</div> 
    -
    - -
    -

    There are col-xs-[1-12], col-sm-[1-12], col-md-[1-12], col-lg-[1-12] and col-xl-[1-12] available for flexible grid across mobile, tablet and desktop viewport usage.

    -
      -
    • col-xs-[1-12] apply to window width smaller than or equal to 480px.
    • -
    • col-sm-[1-12] apply to window width smaller than or equal to 600px.
    • -
    • col-md-[1-12] apply to window width smaller than or equal to 840px.
    • -
    • col-lg-[1-12] apply to window width smaller than or equal to 960px.
    • -
    • col-xl-[1-12] apply to window width smaller than or equal to 1280px.
    • -
    • col-[1-12] apply to all window width, including the width wider than 1280px.
    • -
    -
    - - -
    <div class="container">
    -  <div class="columns">
    -    <div class="column col-xs-6">col-xs-6</div>
    -    <div class="column col-xs-3">col-xs-3</div>
    -    <div class="column col-xs-3">col-xs-3</div>
    -  </div>
    -</div>
    +          
    +

    Forms

    +

    Forms provide the most common control styles used in forms, including input, textarea, select, checkbox, radio and switch.

    +
    +
    +
    + + +
    +
    + + +
    +
    +
    +
    <!-- form input control -->
    +<div class="form-group">
    +  <label class="form-label" for="input-example-1">Name</label>
    +  <input class="form-input" type="text" id="input-example-1" placeholder="Name">
    +</div>
     
    - -

    Responsive container

    -
    -

    The responsive layout also provides fixed-width containers. Use grid-xs(480px), grid-sm (600px), grid-md (840px), grid-lg (960px) or grid-xl (1280px) to container for a fixed-width container with the specific max-width.

    -
    - - -
    <!-- 100% width container with max-width set to grid-lg (960px) -->
    -<div class="container grid-lg">
    -  <div class="columns">
    -    ...
    -  </div>
    -</div>
    +            
    +
    +
    + + +
    +
    +
    +
    <!-- form textarea control -->
    +<div class="form-group">
    +  <label class="form-label" for="input-example-3">Message</label>
    +  <textarea class="form-input" id="input-example-3" placeholder="Textarea" rows="3"></textarea>
    +</div>
     
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    <!-- form select control -->
    +<div class="form-group">
    +  <select class="form-select">
    +    <option>Choose an option</option>
    +    <option>Slack</option>
    +    <option>Skype</option>
    +    <option>Hipchat</option>
    +  </select>
    +</div>
    +
    +
    +
    + +
    + + + +
    + +
    +
    +
    <!-- form radio control -->
    +<div class="form-group">
    +  <label class="form-label">Gender</label>
    +  <label class="form-radio">
    +    <input type="radio" name="gender" checked>
    +    <i class="form-icon"></i> Male
    +  </label>
    +  <label class="form-radio">
    +    <input type="radio" name="gender">
    +    <i class="form-icon"></i> Female
    +  </label>
    +</div>
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    <!-- form switch control -->
    +<div class="form-group">
    +  <label class="form-switch">
    +    <input type="checkbox">
    +    <i class="form-icon"></i> Send me emails with news and tips
    +  </label>
    +</div>
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    <!-- form checkbox control -->
    +<div class="form-group">
    +  <label class="form-checkbox">
    +    <input type="checkbox">
    +    <i class="form-icon"></i> Remember me
    +  </label>
    +</div>
    +
    +

    You can use :indeterminate pseudo class for indeterminate state of checkboxes.

    +

    Horizontal forms

    +

    If you want to have a horizontal form, add the form-horizontal class to the <form> container. + And add the col-<1-12> and col-xs/sm/lg/xl-<1-12> class to the child elements for responsive form row layout. +

    +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    <form class="form-horizontal">
    +  <div class="form-group">
    +    <div class="col-3 col-sm-12">
    +      <label class="form-label" for="input-example-1">Name</label>
    +    </div>
    +    <div class="col-9 col-sm-12">
    +      <input class="form-input" type="text" id="input-example-1" placeholder="Name">
    +    </div>
    +  </div>
    +  <!-- form structure -->
    +</form>
    +
    +

    Form sizes

    +

    For smaller or larger input and select controls, you could add the input-sm/input-lg, select-sm/select-lg and label-sm/label-lg classes to the elements.

    +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    +

    You can add the input-sm/input-lg classes to the input-checkbox, input-radio and input-switch to have different sizes.

    +

    Form icons

    +

    Spectre Form components has Spectre Icons support.

    +

    Add a wrapper with the has-icon-left/has-icon-right class to <input> element. + And add the icon with form-icon class next to the <input>. +

    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    <!-- form input with Spectre icon -->
    +<div class="has-icon-left">
    +  <input type="text" class="form-input" placeholder="...">
    +  <i class="form-icon icon icon-check"></i>
    +</div>
    +
    +

    You can use the loading class for loading or posting state.

    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    <!-- form input with loading icon -->
    +<div class="has-icon-right">
    +  <input type="text" class="form-input" placeholder="...">
    +  <i class="form-icon loading"></i>
    +</div>
    +
    +

    Input types

    +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +

    Input groups

    +
    +
    +
    + + +
    +
    +
    +
    slack.com/ + + +
    +
    +
    +
    +
    +
    + + +
    +
    +
    +
    slack.com/ + + +
    +
    +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    +
    +
    +
    slack.com/ + + +
    +
    +
    +

    If you want to attach text and button along with an input, add the input-group class to the input container. + And add the input-group-addon class to the text element and input-group-btn to the button element. +

    +
    <!-- normal input group -->
    +<div class="input-group">
    +  <span class="input-group-addon">...</span>
    +  <input type="text" class="form-input" placeholder="...">
    +</div>
     
    -        

    Responsive visibility

    -
    -

    The responsive visibility utilities help show and hide elements on specific viewport sizes.

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    size-xssize-smsize-mdsize-lgsize-xl
    hide-xs
    hide-sm
    hide-md
    hide-lg
    hide-xl
    - -
    -

    For hiding elements on specific viewport sizes, there are classes hide-xs, hide-sm, hide-md, hide-lg and hide-xl available.

    -
      -
    • hide-xs hides elements when the window width is smaller than or equal to 480px.
    • -
    • hide-sm hides elements when the window width is smaller than or equal to 600px.
    • -
    • hide-md hides elements when the window width is smaller than or equal to 840px.
    • -
    • hide-lg hides elements when the window width is smaller than or equal to 960px.
    • -
    • hide-xl hides elements when the window width is smaller than or equal to 1280px.
    • -
    -
    +<!-- large input group --> +<div class="input-group"> + <span class="input-group-addon addon-lg">...</span> + <input type="text" class="form-input input-lg" placeholder="..."> +</div> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    size-xssize-smsize-mdsize-lgsize-xl
    show-xs
    show-sm
    show-md
    show-lg
    show-xl
    +<!-- normal input group with button --> +<div class="input-group"> + <span class="input-group-addon">...</span> + <input type="text" class="form-input" placeholder="..."> + <button class="btn btn-primary input-group-btn">Submit</button> +</div> +
    +

    Form validation styles

    +

    To use form validation styles, you can either add is-success or is-error class to the controls or add has-success or has-error class to parent elements. + Use the form-input-hint class to provide form validation success and error messages. +

    +
    +
    +
    + Input +
    + + +

    The name is valid.

    +
    +
    + + +

    Passwords must have at least 8 characters.

    +
    +
    + + +

    The Email address is unavailable.

    +
    +
    +
    + Select +
    + +

    The option is invalid.

    +
    +
    + +

    The option is available.

    +
    +
    +
    + Checkbox, Radio and Switch (Error state only) +
    + +
    +
    + + +
    +
    + +
    +
    +
    +
    +
    <form>
    +  <!-- form validation class: has-success -->
    +  <div class="form-group has-success">
    +    <label class="form-label" for="input-example-1">Name</label>
    +    <input class="form-input" type="text" id="input-example-1" placeholder="...">
    +    <p class="form-input-hint">The name is invalid.</p>
    +  </div>
     
    -        
    -

    For showing elements on specific viewport sizes, there are classes show-xs, show-sm, show-md, show-lg and show-xl available.

    -
      -
    • show-xs shows elements when the window width is smaller than or equal to 480px.
    • -
    • show-sm shows elements when the window width is smaller than or equal to 600px.
    • -
    • show-md shows elements when the window width is smaller than or equal to 840px.
    • -
    • show-lg shows elements when the window width is smaller than or equal to 960px.
    • -
    • show-xl shows elements when the window width is smaller than or equal to 1280px.
    • -
    -

    Spectre also has a responsive web test tool Responsive Resizer. You can clone the GitHub Repo to use it locally or use it online.

    -

    Responsive Resizer

    -
    -
    + <!-- form validation class: is-success --> + <div class="form-group"> + <label class="form-label" for="input-example-1">Name</label> + <input class="form-input is-success" type="text" id="input-example-1" placeholder="..."> + <p class="form-input-hint">The name is invalid.</p> + </div> -
    +

    Form disabled styles

    +

    + Add the disabled attribute to the element or <fieldset> for a disabled form components style.

    +
    +
    +
    +
    +
    + + +
    +
    + + + +
    +
    + +
    +
    + +
    +
    + + +
    +
    + +
    +
    +
    +
    <form action="#forms">
    +  <fieldset disabled>
    +    <div class="form-group">
    +      <label class="form-label" for="input-example-19">Name</label>
    +      <input class="form-input" type="text" id="input-example-19" placeholder="Name">
    +    </div>
    +    <div class="form-group">
    +      <label class="form-label">Gender</label>
    +      <label class="form-radio">
    +        <input type="radio" name="gender" disabled>
    +        <i class="form-icon"></i> Male
    +      </label>
    +      <label class="form-radio">
    +        <input type="radio" name="gender" disabled>
    +        <i class="form-icon"></i> Female
    +      </label>
    +    </div>
    +    <div class="form-group">
    +      <select class="form-select" disabled>
    +        <option>Choose an option</option>
    +        <option>Slack</option>
    +        <option>Skype</option>
    +        <option>Hipchat</option>
    +      </select>
    +    </div>
    +    <div class="form-group">
    +      <label class="form-switch">
    +        <input type="checkbox" disabled>
    +        <i class="form-icon"></i> Send me emails with news and tips
    +      </label>
    +    </div>
    +    <div class="form-group">
    +      <label class="form-label" for="input-example-20">Message</label>
    +      <textarea class="form-input" id="input-example-20" placeholder="Textarea" rows="3" disabled></textarea>
    +    </div>
    +    <div class="form-group">
    +      <label class="form-checkbox">
    +        <input type="checkbox" disabled>
    +        <i class="form-icon"></i> Remember me
    +      </label>
    +    </div>
    +  </fieldset>
    -
    -
    -

    The navbar component can include logo brand, nav links and buttons, search box or any combination of those elements. Each section with the navbar-section class will be evenly distributed in the container.

    -
    +
    +

    Icons

    +
    +
    +

    Labels

    +

    Labels are formatted text tags for highlighted, informative information.

    +
    +
    default labelprimary labelsecondary labelsuccess labelwarning labelerror label
    +
    +

    Add the label class to <span> or <small> elements. + You can add another class label-primary, label-secondary, label-success, label-warning and label-error for colored labels. +

    +
    +
    default labelprimary label
    +
    +

    Add the label-rounded class to have rounded labels.

    +
    <!-- normal labels -->
    +<span class="label">default label</span>
    +<span class="label label-primary">primary label</span>
     
    -
    -
    <header class="navbar">
    -  <section class="navbar-section">
    -    <a href="#" class="navbar-brand mr-2">Spectre.css</a>
    -    <a href="#" class="btn btn-link">Docs</a>
    -    <a href="https://github.com/picturepan2/spectre" class="btn btn-link">GitHub</a>
    -  </section>
    -  <section class="navbar-section">
    -    <div class="input-group input-inline">
    -      <input class="form-input" type="text" placeholder="search">
    -      <button class="btn btn-primary input-group-btn">Search</button>
    -    </div>
    -  </section>
    -</header>
    +<!-- rounded labels -->
    +<span class="label label-rounded label-primary">primary label</span>
    +
    +
    +

    Code

    +

    Code is used for styling inline and multiline code snippets.

    +

    For inline code, you can use the <code> element. + For multiline code snippet blocks, you can use <pre> with the code class as a container, and add <code> inside it. + The data-lang ibute is rendered as the language name in the top right. +

    +
    <!-- code snippets -->
    +<button class="btn">
    +  Submit
    +</button>
     
    - -
    -

    You can use navbar-center class to have a centered section.

    -
    - -
    -
    - -
    - - - - + + + \ No newline at end of file diff --git a/docs/src/_docs-layout.pug b/docs/src/_docs-layout.pug index 7ae771c..ae2da02 100644 --- a/docs/src/_docs-layout.pug +++ b/docs/src/_docs-layout.pug @@ -32,7 +32,7 @@ block content {url: '#forms', name: 'Forms'}, {url: '#icons', name: 'Icons'}, {url: '#labels', name: 'Labels'}, - {url: '#codes', name: 'Codes'}, + {url: '#code', name: 'Code'}, {url: '#media', name: 'Media'} ) +docs-accordion( diff --git a/docs/src/_mixins.pug b/docs/src/_mixins.pug index 54e76d7..ccbe89e 100644 --- a/docs/src/_mixins.pug +++ b/docs/src/_mixins.pug @@ -9,8 +9,8 @@ mixin docs-accordion(id, name, ...pages) a(href=id + '.html' + page.url)= page.name mixin docs-heading(id, name) - .container - h3.s-title(id=id) + .container(id=id) + h3.s-title a.anchor(href='#'+id aria-hidden='true') # | #{name} if block diff --git a/docs/src/elements.pug b/docs/src/elements.pug index 809fe0f..3f1e270 100644 --- a/docs/src/elements.pug +++ b/docs/src/elements.pug @@ -36,6 +36,4 @@ block docs-content //- Media +docs-heading('media', 'Media') - include contents/media.pug - - \ No newline at end of file + include contents/media.pug \ No newline at end of file diff --git a/docs/src/layout.pug b/docs/src/layout.pug new file mode 100644 index 0000000..3f1e270 --- /dev/null +++ b/docs/src/layout.pug @@ -0,0 +1,39 @@ +extends _docs-layout.pug + +block variables + - var title = 'Elements - Spectre.css CSS Framework' + - var description = '' + - var current = 'elements' + +block docs-content + //- Typography + +docs-heading('typography', 'Typography') + include contents/typography.pug + + //- Tables + +docs-heading('tables', 'Tables') + include contents/tables.pug + + //- Buttons + +docs-heading('buttons', 'Buttons') + include contents/buttons.pug + + //- Forms + +docs-heading('forms', 'Forms') + include contents/forms.pug + + //- Icons + +docs-heading('icons', 'Icons') + include contents/icons.pug + + //- Labels + +docs-heading('labels', 'Labels') + include contents/labels.pug + + //- Codes + +docs-heading('code', 'Code') + include contents/code.pug + + //- Media + +docs-heading('media', 'Media') + include contents/media.pug \ No newline at end of file -- cgit v1.3.1-23-gd82d From b903b30d81eb531eead430db3c9cc934ab5dea8f Mon Sep 17 00:00:00 2001 From: Yan Zhu Date: Mon, 4 Jun 2018 21:12:57 +0800 Subject: Update old docs to new Pug templates --- README.md | 4 +- docs/components.html | 3661 ++++++++++++++--------------------- docs/elements.html | 4 +- docs/experimentals.html | 2012 +++++++++---------- docs/getting-started.html | 4 +- docs/layout.html | 4 +- docs/src/_docs-layout.pug | 4 +- docs/src/components.pug | 83 + docs/src/contents/accordions.pug | 113 ++ docs/src/contents/autocomplete.pug | 119 ++ docs/src/contents/avatars.pug | 93 + docs/src/contents/badges.pug | 59 + docs/src/contents/bars.pug | 84 + docs/src/contents/breadcrumbs.pug | 45 + docs/src/contents/calendars.pug | 195 ++ docs/src/contents/cards.pug | 94 + docs/src/contents/carousels.pug | 39 + docs/src/contents/chips.pug | 44 + docs/src/contents/colors.pug | 89 + docs/src/contents/comparison.pug | 29 + docs/src/contents/cursor.pug | 31 + docs/src/contents/display.pug | 26 + docs/src/contents/divider.pug | 54 + docs/src/contents/empty.pug | 50 + docs/src/contents/experimentals.pug | 4 + docs/src/contents/filters.pug | 107 + docs/src/contents/loading.pug | 21 + docs/src/contents/menu.pug | 184 ++ docs/src/contents/meters.pug | 22 + docs/src/contents/modals.pug | 141 ++ docs/src/contents/nav.pug | 57 + docs/src/contents/off-canvas.pug | 45 + docs/src/contents/pagination.pug | 102 + docs/src/contents/panels.pug | 114 ++ docs/src/contents/parallax.pug | 34 + docs/src/contents/popovers.pug | 82 + docs/src/contents/position.pug | 40 + docs/src/contents/progress.pug | 17 + docs/src/contents/shapes.pug | 17 + docs/src/contents/sliders.pug | 18 + docs/src/contents/steps.pug | 47 + docs/src/contents/tabs.pug | 132 ++ docs/src/contents/text.pug | 36 + docs/src/contents/tiles.pug | 92 + docs/src/contents/timelines.pug | 81 + docs/src/contents/toasts.pug | 49 + docs/src/contents/tooltips.pug | 24 + docs/src/experimentals.pug | 55 + docs/src/utilities.pug | 39 + docs/utilities.html | 1060 ++++------ 50 files changed, 5557 insertions(+), 4003 deletions(-) create mode 100644 docs/src/components.pug create mode 100644 docs/src/contents/accordions.pug create mode 100644 docs/src/contents/autocomplete.pug create mode 100644 docs/src/contents/avatars.pug create mode 100644 docs/src/contents/badges.pug create mode 100644 docs/src/contents/bars.pug create mode 100644 docs/src/contents/breadcrumbs.pug create mode 100644 docs/src/contents/calendars.pug create mode 100644 docs/src/contents/cards.pug create mode 100644 docs/src/contents/carousels.pug create mode 100644 docs/src/contents/chips.pug create mode 100644 docs/src/contents/colors.pug create mode 100644 docs/src/contents/comparison.pug create mode 100644 docs/src/contents/cursor.pug create mode 100644 docs/src/contents/display.pug create mode 100644 docs/src/contents/divider.pug create mode 100644 docs/src/contents/empty.pug create mode 100644 docs/src/contents/experimentals.pug create mode 100644 docs/src/contents/filters.pug create mode 100644 docs/src/contents/loading.pug create mode 100644 docs/src/contents/menu.pug create mode 100644 docs/src/contents/meters.pug create mode 100644 docs/src/contents/modals.pug create mode 100644 docs/src/contents/nav.pug create mode 100644 docs/src/contents/off-canvas.pug create mode 100644 docs/src/contents/pagination.pug create mode 100644 docs/src/contents/panels.pug create mode 100644 docs/src/contents/parallax.pug create mode 100644 docs/src/contents/popovers.pug create mode 100644 docs/src/contents/position.pug create mode 100644 docs/src/contents/progress.pug create mode 100644 docs/src/contents/shapes.pug create mode 100644 docs/src/contents/sliders.pug create mode 100644 docs/src/contents/steps.pug create mode 100644 docs/src/contents/tabs.pug create mode 100644 docs/src/contents/text.pug create mode 100644 docs/src/contents/tiles.pug create mode 100644 docs/src/contents/timelines.pug create mode 100644 docs/src/contents/toasts.pug create mode 100644 docs/src/contents/tooltips.pug create mode 100644 docs/src/experimentals.pug create mode 100644 docs/src/utilities.pug (limited to 'docs/elements.html') diff --git a/README.md b/README.md index c5a47a8..8d249e9 100644 --- a/README.md +++ b/README.md @@ -69,8 +69,8 @@ You can compile your custom version of Spectre.css. Read [the documentation](htt - [Cards](https://picturepan2.github.io/spectre/components.html#cards) - [Chips](https://picturepan2.github.io/spectre/components.html#chips) - [Empty states](https://picturepan2.github.io/spectre/components.html#empty) -- [Menus](https://picturepan2.github.io/spectre/components.html#menus) -- [Navs](https://picturepan2.github.io/spectre/components.html#navs) +- [Menu](https://picturepan2.github.io/spectre/components.html#menu) +- [Nav](https://picturepan2.github.io/spectre/components.html#nav) - [Modals](https://picturepan2.github.io/spectre/components.html#modals) - [Pagination](https://picturepan2.github.io/spectre/components.html#pagination) - [Panels](https://picturepan2.github.io/spectre/components.html#panels) diff --git a/docs/components.html b/docs/components.html index fb2ddd8..4185433 100644 --- a/docs/components.html +++ b/docs/components.html @@ -1,2384 +1,1633 @@ - - - - - - - Components - Spectre.css CSS Framework - - - - - - - - -
    - - - - - - -
    -
    -

    Components

    -
    - -
    -
    -
    - - - - -
    -
    - - - -
    -
    -
    - -
    -

    Accordions

    -
    -

    Accordions are used to toggle sections of content.

    -
    -
    -
    + + Components - Spectre.css CSS Framework + + + + + + + + + + + + + +
    + + +
    +
    +
    +

    Accordions

    +

    Accordions are used to toggle sections of content.

    +
    +
    +
    + + +
    + +
    +
    +
    + + +
    + +
    +
    +
    + + + +
    +
    +
    +
    + + +
    + +
    +
    +
    + + +
    + +
    +
    +
    + + + +
    +
    +
    +
    <!-- standard Accordions example -->
    +<div class="accordion">
    +  <input type="checkbox" id="accordion-1" name="accordion-checkbox" hidden>
    +  <label class="accordion-header">
    +    <i class="icon icon-arrow-right mr-1"></i>
         Title
    -  </label>
    -  <div class="accordion-body">
    -    <!-- Accordions content -->
    -  </div>
    -</div>
    -
    -<!-- mutually exclusive Accordions example (with same input names) -->
    -<div class="accordion">
    -  <input type="radio" id="accordion-1" name="accordion-radio" hidden>
    -  <label class="accordion-header">
    +  </label>
    +  <div class="accordion-body">
    +    <!-- Accordions content -->
    +  </div>
    +</div>
    +
    +<!-- mutually exclusive Accordions example (with same input names) -->
    +<div class="accordion">
    +  <input type="radio" id="accordion-1" name="accordion-radio" hidden>
    +  <label class="accordion-header">
         Title
    -  </label>
    -  <div class="accordion-body">
    -    <!-- Accordions content -->
    -  </div>
    -</div>
    +  </label>
    +  <div class="accordion-body">
    +    <!-- Accordions content -->
    +  </div>
    +</div>
     
    - -
    -

    Alternatively, you can use details and summary instead of input radio or checkbox trick. Add the open attribute to details to expand it. Microsoft Edge support is in development.

    -
    - - -
    <!-- details and summary Accordions example -->
    -<details class="accordion" open>
    -  <summary class="accordion-header">
    -    <i class="icon icon-arrow-right mr-1"></i>
    +            

    Alternatively, you can use details and summary instead of input radio or checkbox trick. + Add the open attribute to details to expand it. + Microsoft Edge support is under consideration. +

    +
    <!-- details and summary Accordions example -->
    +<details class="accordion" open>
    +  <summary class="accordion-header">
    +    <i class="icon icon-arrow-right mr-1"></i>
         Title
    -  </summary>
    -  <div class="accordion-body">
    -    <!-- Accordions content -->
    -  </div>
    -</details>
    -
    - -
    - -
    -
    - -
    -
    - -
    -

    Avatars

    -
    -

    Avatars are user profile pictures.

    -
    -
    -
    -
    - Avatar XL -
    -
    - Avatar LG -
    -
    - Avatar -
    -
    - Avatar SM -
    -
    - Avatar XS -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Add the avatar class to <img> element. There are 4 additional sizes available, including avatar-xl (64px), avatar-lg (48px), avatar-sm (24px), and avatar-xs (16px). By default, the avatar size is 32px.

    -

    For users who don't have profile pictures, you may use their initials for avatars. Add the avatar class and avatar size class to <div> element. The data-initial attribute is the name appear inside the avatar.

    -
    -
    -
    -
    - Avatar - Avatar -
    -
    - Avatar - Avatar -
    -
    - Avatar - Avatar -
    -
    - Avatar - Avatar -
    -
    - Avatar - Avatar -
    -
    -
    - - -
    <!-- Basic avatar examples -->
    -<figure class="avatar avatar-xl">
    -  <img src="img/avatar-1.png" alt="...">
    -</figure>
    -
    -<figure class="avatar avatar-xl">
    -  <img src="img/avatar-1.png" alt="...">
    -  <img src="img/avatar-5.png" class="avatar-icon" alt="...">
    -</figure>
    -
    -<figure class="avatar avatar-xl" data-initial="YZ" style="background-color: #5755d9;"></figure>
    -
    -<!-- Show initals when avatar image is unavailable or not fully loaded -->
    -<figure class="avatar avatar-xl" data-initial="YZ" style="background-color: #5755d9;">
    -  <img src="img/avatar-1.png" alt="...">
    -</figure>
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - -
    -
    - -
    -
    - -
    -
    -
    -
    -

    Avatars support presence indicators. You can add an i element with the avatar-presence class, and add online, busy or away class for different status colors. The default is gray which means offline.

    -
    - - -
    <figure class="avatar avatar-xl">
    -  <img src="img/avatar-1.png" alt="...">
    -  <i class="avatar-presence online"></i>
    -</figure>
    -
    - -
    - -
    -

    Badges

    -
    -

    Badges are often used as unread number indicators.

    -
    -
    -
    - - Notifications - -
    -
    - - Notifications - -
    -
    - - Notifications - -
    -
    - - Notifications - -
    -
    -
    -

    Add the badge class to non self closing elements. And add the data-badge attribute to define the content of a badge. The badge will appear in the top-right direction of the element.

    -

    If there is no data-badge or the attribute is not specified, the badge will appear as a dot.

    -
    -
    -
    - - -
    -
    - - -
    -
    -
    - YZ -
    -
    - YZ -
    -
    - YZ -
    -
    -
    -
    -

    Badges support button and avatars elements as well.

    -
    - - -
    <span class="badge">
    -  Notifications
    -</span>
    -
    -<span class="badge" data-badge="8">
    -  Notifications
    -</span>
    -
    -<button class="btn badge" data-badge="8">
    -  Button
    -</button>
    -
    -<figure class="avatar badge" data-badge="8" data-initial="YZ">
    -  <img src="img/avatar-3.png" alt="YZ">
    -</figure>
    -
    - -
    - -
    -

    Bars

    -
    -

    Bars represent the progress of a task or the value within the known range. Bars are custom components for displaying HTML5 progress, meter and input range elements.

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    + </summary> + <div class="accordion-body"> + <!-- Accordions content --> + </div> +</details>
    +
    +
    +

    Avatars

    +

    Avatars are user profile pictures.

    +
    +
    +
    Avatar XL
    +
    Avatar LG
    +
    Avatar
    +
    Avatar SM
    +
    Avatar XS
    +
    +
    +
    +
    +
    +
    +
    +
    -
    -
    -
    -
    -
    -
    25%
    -
    15%
    -
    10%
    -
    15%
    +

    Add the avatar class to <img> element. + There are 4 additional sizes available, including avatar-xl(64px), avatar-lg(48px), avatar-sm(24px), and avatar-xs(16px). + By default, the avatar size is 32px. +

    +

    + For users who don't have profile pictures, you may use their initials for avatars. + Add the avatar class and avatar size class to <div> element. + The data-initial attribute is the name appear inside the avatar. +

    +
    +
    +
    AvatarAvatar
    +
    AvatarAvatar
    +
    AvatarAvatar
    +
    AvatarAvatar
    +
    AvatarAvatar
    +
    -
    -
    -
    -

    Add a container element with the bar class. And add child elements with the bar-item class. The width percentage value is needed for every bar-item.

    -

    There is the bar-sm class for thinner Bars. Also, you could use Tooltips for any bar-item.

    -
    - - -
    <div class="bar bar-sm">
    -  <div class="bar-item" role="progressbar" style="width:25%;" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div>
    -</div>
    -
    -<!-- multi-bars -->
    -<div class="bar">
    -  <div class="bar-item tooltip" data-tooltip="25%" style="width:25%;">25%</div>
    -  <div class="bar-item" style="width:15%;background:#818bd5;">15%</div>
    -</div>
    -
    - -

    Slider bars

    -
    -
    -
    -
    - +
    <!-- Basic avatar examples -->
    +<figure class="avatar avatar-xl">
    +  <img src="img/avatar-1.png" alt="...">
    +</figure>
    +
    +<figure class="avatar avatar-xl">
    +  <img src="img/avatar-1.png" alt="...">
    +  <img src="img/avatar-5.png" class="avatar-icon" alt="...">
    +</figure>
    +
    +<figure class="avatar avatar-xl" data-initial="YZ" style="background-color: #5755d9;"></figure>
    +
    +<!-- Show initals when avatar image is unavailable or not fully loaded -->
    +<figure class="avatar avatar-xl" data-initial="YZ" style="background-color: #5755d9;">
    +  <img src="img/avatar-1.png" alt="...">
    +</figure>
    +  
    +
    +
    +
    +
    +
    +
    +
    -
    -
    -
    -
    -
    -
    - +

    + Avatars support presence indicators. + You can add an <i> element with the avatar-presence class, and add online, busy or away class for different status colors. + The default is gray which means offline. +

    +
    <figure class="avatar avatar-xl">
    +  <img src="img/avatar-1.png" alt="...">
    +  <i class="avatar-presence online"></i>
    +</figure>
    +
    +
    +

    Badges

    +

    Badges are often used as unread number indicators.

    +
    +
    Notifications
    +
    Notifications
    +
    Notifications
    +
    Notifications
    +
    +

    Add the badge class to non self closing elements. + And add the data-badge attribute to define the content of a badge. + The badge will appear in the top-right direction of the element. +

    +

    If there is no data-badge or the attribute is not specified, the badge will appear as a dot.

    +
    +
    + +
    -
    - +
    + +
    -
    -
    -
    - -
    -

    You can add the bar-slider class to the Bars container. And add child elements with the bar-item class and bar-slider-btn inside bar-item. You need to set the bar-item width manually to have the slider point.

    -

    If there are two bar-item divs in one bar-slider, you will have a range slider.

    -
    - - -
    <!-- slider -->
    -<div class="bar bar-slider">
    -  <div class="bar-item" role="progressbar" style="width:25%;">
    -    <button class="bar-slider-btn btn" role="slider"></button>
    -  </div>
    -</div>
    -
    -<!-- range slider -->
    -<div class="bar bar-slider">
    -  <div class="bar-item" role="progressbar" style="width:15%;">
    -    <button class="bar-slider-btn btn" role="slider"></button>
    -  </div>
    -  <div class="bar-item" role="progressbar" style="width:65%;">
    -    <button class="bar-slider-btn btn" role="slider"></button>
    -  </div>
    -</div>
    -
    - -
    - - +<span class="badge" data-badge="8"> + Notifications +</span> -
    -

    Cards

    -
    -

    Cards are flexible content containers.

    -
    -
    -
    -
    -
    - OS X El Capitan -
    -
    -
    Microsoft
    -
    Software and hardware
    -
    -
    - Empower every person and every organization on the planet to achieve more. -
    -
    +
    +

    Bars

    +

    + Bars represent the progress of a task or the value within the known range. + Bars are custom components for displaying HTML5 <progress>, <meter> and input range elements. +

    +
    +
    +
    +
    +
    -
    -
    -
    -
    -
    Apple
    -
    Hardware and software
    -
    -
    - OS X Yosemite -
    -
    - To make a contribution to the world by making tools for the mind that advance humankind. -
    -