diff --git a/app/index.html b/app/index.html index 1438998..3dfde9f 100644 --- a/app/index.html +++ b/app/index.html @@ -12,6 +12,8 @@ + + {{content-for "head-footer"}} diff --git a/app/pods/application/controller.js b/app/pods/application/controller.js new file mode 100644 index 0000000..7d94454 --- /dev/null +++ b/app/pods/application/controller.js @@ -0,0 +1,17 @@ +import Controller from '@ember/controller'; +import { computed } from '@ember/object'; + +export default Controller.extend({ + isShowingNav: true, + + isShowingSpeedControl: computed({ + get() { + return window.localStorage.getItem('isShowingSpeedControl') === 'true'; + }, + + set(key, value) { + window.localStorage.setItem('isShowingSpeedControl', value); + return value; + } + }), +}); diff --git a/app/pods/application/template.hbs b/app/pods/application/template.hbs index 199beb2..42b16b5 100644 --- a/app/pods/application/template.hbs +++ b/app/pods/application/template.hbs @@ -11,32 +11,46 @@
- Acme, Inc. +
+
+ Acme, Inc. +
+ + +
-
- {{#link-to 'dashboard'}} - Dashboard - {{/link-to}} - {{#link-to 'posts'}} - Blog posts - {{/link-to}} - {{#link-to 'tags'}} - Tags - {{/link-to}} - {{#link-to 'media'}} - Media - {{/link-to}} - {{#link-to 'comments'}} - Comments - {{/link-to}} -
+ {{#if isShowingNav}} +
+ {{#link-to 'dashboard'}} + Dashboard + {{/link-to}} + {{#link-to 'posts'}} + Blog posts + {{/link-to}} + {{#link-to 'tags'}} + Tags + {{/link-to}} + {{#link-to 'media'}} + Media + {{/link-to}} + {{#link-to 'comments'}} + Comments + {{/link-to}} +
+ {{/if}}
- {{outlet}} -
+ +{{#if isShowingSpeedControl}} + {{speed-control}} +{{/if}} diff --git a/app/pods/components/bar-chart/template.hbs b/app/pods/components/bar-chart/template.hbs index 341d53b..080ddeb 100644 --- a/app/pods/components/bar-chart/template.hbs +++ b/app/pods/components/bar-chart/template.hbs @@ -7,7 +7,7 @@ attachment='bottom middle' offset='14px 0'}} -
+

{{highlightedLabel}}

diff --git a/app/pods/components/comment-box/template.hbs b/app/pods/components/comment-box/template.hbs index fe88dbb..67e85ac 100644 --- a/app/pods/components/comment-box/template.hbs +++ b/app/pods/components/comment-box/template.hbs @@ -14,7 +14,7 @@ {{#if isLong}} Show {{if isExpanded "less" "more"}} {{/if}} diff --git a/app/pods/components/confirm-delete-post/template.hbs b/app/pods/components/confirm-delete-post/template.hbs index 10b7d15..a37047c 100644 --- a/app/pods/components/confirm-delete-post/template.hbs +++ b/app/pods/components/confirm-delete-post/template.hbs @@ -1,11 +1,11 @@ {{#ui-modal onClose=(action on-cancel)}} -
-

+
+

Delete post?

-

+

Are you sure you want to delete {{post.title}}? This action cannot be undone.

diff --git a/app/pods/components/speed-control/component.js b/app/pods/components/speed-control/component.js new file mode 100644 index 0000000..432cbd0 --- /dev/null +++ b/app/pods/components/speed-control/component.js @@ -0,0 +1,30 @@ +import Component from '@ember/component'; +import { computed } from '@ember/object'; + +export default Component.extend({ + didInsertElement() { + this._super(...arguments); + + if (!this.timing) { + this.set('timing', window.server.timing); + } + }, + + timing: computed({ + get() { + return window.localStorage.getItem('timing'); + }, + + set(key, value) { + window.localStorage.setItem('timing', value); + window.server.timing = +value; + return value; + } + }), + + actions: { + updateTiming(event) { + this.set('timing', event.target.value); + } + } +}); diff --git a/app/pods/components/speed-control/template.hbs b/app/pods/components/speed-control/template.hbs new file mode 100644 index 0000000..1ecc931 --- /dev/null +++ b/app/pods/components/speed-control/template.hbs @@ -0,0 +1,28 @@ +
+ +
+

+ Server speed +

+
+ +
+ + +
+ {{timing}} ms +
+
+
diff --git a/app/pods/components/tag-list/template.hbs b/app/pods/components/tag-list/template.hbs index 075111a..ee82982 100644 --- a/app/pods/components/tag-list/template.hbs +++ b/app/pods/components/tag-list/template.hbs @@ -1,5 +1,10 @@ {{#each (sort-by 'name' tags) as |tag|}} - {{#link-to 'tags.tag' tag.slug class='dib transition mr1 near-black link f8 fw5 ttu br-pill bg-light-gray hover-bg-moon-gray ph2 pv1'}} + {{#link-to 'tags.tag' tag.slug + class=' + inline-block no-underline transition mr-1 + text-black text-10px font-medium uppercase + rounded-full bg-grey-lighter hover:bg-grey-light + px-2 py-1'}} {{tag.name}} {{/link-to}} {{/each}} diff --git a/app/pods/components/ui-button/component.js b/app/pods/components/ui-button/component.js index df6b710..058b660 100644 --- a/app/pods/components/ui-button/component.js +++ b/app/pods/components/ui-button/component.js @@ -1,5 +1,5 @@ import Component from '@ember/component'; -import { Styled } from 'ember-cli-ui-components'; +import { Styled, group } from 'ember-cli-ui-components'; import { oneWay } from '@ember/object/computed'; import { computed } from '@ember/object'; @@ -7,16 +7,27 @@ export default Component.extend(Styled, { tagName: '', styles: computed(function() { - return {}; + return { + defaultStyle: 'blue', + + colors: group({ + blue: 'bg-blue text-white', + gray: 'bg-grey-lighter text-black' + }) + }; }), + type: "button", + disabled: oneWay('task.isRunning'), task: null, onClick() {}, actions: { - click() { + click(event) { + event.preventDefault(); + let task = this.get('task'); let onClick = this.get('onClick'); diff --git a/app/pods/components/ui-button/template.hbs b/app/pods/components/ui-button/template.hbs index e6940ea..abe5c5e 100644 --- a/app/pods/components/ui-button/template.hbs +++ b/app/pods/components/ui-button/template.hbs @@ -2,13 +2,16 @@ onclick={{action "click"}} disabled={{disabled}} data-test-id={{data-test-id}} + type={{type}} class=" - leading-tight inline-block mb3 pointer f5 pv2 ph3 br2 fw3 bn bg-blue white - {{if disabled 'o-50' 'dim'}} + leading-tight inline-block + mb-4 pointer text-base py-2 px-3 rounded font-light border-0 + {{activeClasses}} + {{if disabled 'opacity-50' 'dim'}} "> {{#if task.isRunning}} -
+
{{ui-spinner}}
{{/if}} diff --git a/app/pods/components/ui-card/header/template.hbs b/app/pods/components/ui-card/header/template.hbs index 46b6804..125cbf4 100644 --- a/app/pods/components/ui-card/header/template.hbs +++ b/app/pods/components/ui-card/header/template.hbs @@ -1,6 +1,7 @@ -
-

{{yield}}

- + diff --git a/app/pods/components/ui-form/component.js b/app/pods/components/ui-form/component.js new file mode 100644 index 0000000..ae8333f --- /dev/null +++ b/app/pods/components/ui-form/component.js @@ -0,0 +1,12 @@ +import Component from '@ember/component'; + +export default Component.extend({ + tagName: 'form', + + onSubmit() {}, + + submit(event) { + event.preventDefault(); + this.get('onSubmit')(); + } +}); diff --git a/app/pods/components/ui-form/input/component.js b/app/pods/components/ui-form/input/component.js new file mode 100644 index 0000000..b727c86 --- /dev/null +++ b/app/pods/components/ui-form/input/component.js @@ -0,0 +1,3 @@ +import TextField from '@ember/component/text-field'; + +export default TextField; diff --git a/app/pods/components/ui-form/label/component.js b/app/pods/components/ui-form/label/component.js new file mode 100644 index 0000000..caee917 --- /dev/null +++ b/app/pods/components/ui-form/label/component.js @@ -0,0 +1,5 @@ +import Component from '@ember/component'; + +export default Component.extend({ + tagName: 'label' +}); diff --git a/app/pods/components/ui-form/template.hbs b/app/pods/components/ui-form/template.hbs new file mode 100644 index 0000000..a935392 --- /dev/null +++ b/app/pods/components/ui-form/template.hbs @@ -0,0 +1,7 @@ +{{yield (hash + label=(component 'ui-form/label') + input=(component 'ui-form/input') + submit=(component 'ui-button' + onClick=onSubmit + type="submit") +)}} diff --git a/app/pods/components/ui-modal/styles.scss b/app/pods/components/ui-modal/styles.scss index 4b118a5..5aba666 100644 --- a/app/pods/components/ui-modal/styles.scss +++ b/app/pods/components/ui-modal/styles.scss @@ -1,23 +1,36 @@ -.ui-modal { - z-index: 51; - position: absolute; - - width: 500px; - top: 150px; - left: 50%; - margin-left: -250px; +.ember-modal-dialog { + @extend .rounded; + @extend .bg-white; + @extend .shadow-lg; + @extend .p-4; + @extend .w-modal; + top: 40% !important; +} +.ember-modal-overlay.translucent { + background-color: rgba(0,0,0,0.5); +} - border-radius: 2px; - background-color: #fff; - // box-shadow: 0 0 20px rgba(0, 0, 0, 0.5); - // @extend .shadow-2; - box-shadow: 0 15px 30px 0 rgba(0,0,0,0.11), - 0 5px 15px 0 rgba(0,0,0,0.08); - &.emd-in-place { - position: static; - } -} +// .ui-modal { +// z-index: 51; +// position: absolute; +// +// width: 500px; +// top: 150px; +// left: 50%; +// margin-left: -250px; +// +// border-radius: 2px; +// background-color: #fff; +// // box-shadow: 0 0 20px rgba(0, 0, 0, 0.5); +// // @extend .shadow-2; +// box-shadow: 0 15px 30px 0 rgba(0,0,0,0.11), +// 0 5px 15px 0 rgba(0,0,0,0.08); +// +// &.emd-in-place { +// position: static; +// } +// } // .ember-modal-wrapper.emd-static.emd-wrapper-target-attachment-center { // .ui-modal { @@ -57,7 +70,7 @@ // left: 0; // z-index: 50; // } - -.ember-modal-overlay.translucent { - background-color: rgba(#000, 0.60); -} +// +// .ember-modal-overlay.translucent { +// background-color: rgba(#000, 0.60); +// } diff --git a/app/pods/components/ui-selectable-list/item/template.hbs b/app/pods/components/ui-selectable-list/item/template.hbs index 84ef4e3..dff8551 100644 --- a/app/pods/components/ui-selectable-list/item/template.hbs +++ b/app/pods/components/ui-selectable-list/item/template.hbs @@ -1,11 +1,13 @@
  • + class=' + flex items-center + no-underline text-grey-dark p-2 rounded hover:bg-grey-lightest mb-2'> {{yield}} - + {{#if selected}} {{fa-icon 'check'}} {{/if}} diff --git a/app/pods/components/ui-spinner/component.js b/app/pods/components/ui-spinner/component.js index bb93d73..5d6661e 100644 --- a/app/pods/components/ui-spinner/component.js +++ b/app/pods/components/ui-spinner/component.js @@ -1,4 +1,5 @@ import Component from '@ember/component'; export default Component.extend({ + color: "white" }); diff --git a/app/pods/components/ui-spinner/styles.scss b/app/pods/components/ui-spinner/styles.scss index 1c75280..a8b22f0 100644 --- a/app/pods/components/ui-spinner/styles.scss +++ b/app/pods/components/ui-spinner/styles.scss @@ -7,6 +7,18 @@ position: relative; display: inline-block; } + + +.sk-circle--small { + height: 10px; + width: 10px; +} + +.sk-circle--large { + width: 40px; + height: 40px; +} + .sk-circle .sk-child { width: 100%; height: 100%; @@ -14,6 +26,12 @@ left: 0; top: 0; } +.sk-circle--white .sk-child:before { + background-color: white; +} +.sk-circle--black .sk-child:before { + background-color: #333; +} .sk-circle .sk-child:before { content: ''; display: block; @@ -21,7 +39,6 @@ width: 15%; height: 15%; // background-color: #333; - background-color: white; border-radius: 100%; animation: sk-circleBounceDelay 1.2s infinite ease-in-out both; } diff --git a/app/pods/components/ui-spinner/template.hbs b/app/pods/components/ui-spinner/template.hbs index dd53a59..53c0edc 100644 --- a/app/pods/components/ui-spinner/template.hbs +++ b/app/pods/components/ui-spinner/template.hbs @@ -1,4 +1,4 @@ -
    +
    diff --git a/app/pods/dashboard/template.hbs b/app/pods/dashboard/template.hbs index 6118d8c..290c0cc 100644 --- a/app/pods/dashboard/template.hbs +++ b/app/pods/dashboard/template.hbs @@ -2,7 +2,7 @@ did-insert=(action 'activateKeyboard') will-destroy=(action 'deactivateKeyboard')}} -

    Welcome, Sam!

    +

    Welcome, Sam!

    Latest posts

    @@ -10,19 +10,19 @@ {{ui-spinner}} {{/liquid-if}} -
    +
    {{#ui-card}}

    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

    {{/ui-card}}
    -
    +
    {{#ui-card}}

    Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    {{/ui-card}}
    -
    +
    {{#ui-card}}

    Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    {{/ui-card}} diff --git a/app/pods/forms/controller.js b/app/pods/forms/controller.js new file mode 100644 index 0000000..d925584 --- /dev/null +++ b/app/pods/forms/controller.js @@ -0,0 +1,9 @@ +import Controller from '@ember/controller'; + +export default Controller.extend({ + actions: { + save() { + alert("Saved!"); + } + } +}); diff --git a/app/pods/forms/template.hbs b/app/pods/forms/template.hbs new file mode 100644 index 0000000..db69b85 --- /dev/null +++ b/app/pods/forms/template.hbs @@ -0,0 +1,19 @@ +{{#ui-form onSubmit=(action "save") as |form|}} + + {{#form.label}} + my label + {{/form.label}} + + {{form.input + value=name + placeholder="my input"}} + + {{#form.submit}} + Save + {{/form.submit}} + + {{#ui-button onClick=(action (mut name) "")}} + Reset + {{/ui-button}} + +{{/ui-form}} diff --git a/app/pods/future/horizontal-form/template.hbs b/app/pods/future/horizontal-form/template.hbs new file mode 100644 index 0000000..c06e7ed --- /dev/null +++ b/app/pods/future/horizontal-form/template.hbs @@ -0,0 +1,88 @@ +{{!-- {{#ui-modal as |modal|}} + +

    + Sign in to your account +

    + +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    + + +
    + + +{{/ui-modal}} --}} + +{{#ui-modal as |modal|}} + +

    + Sign in to your account +

    + + {{#ui-form class='mt-8' as |form|}} + +
    +
    + {{#form.label class="mb-2 block text-grey-darker" }} + Email + {{/form.label}} +
    +
    + {{form.input class="mb-2 p-2 border rounded block w-full" + placeholder="you@example.com"}} +
    +
    + +
    +
    + {{#form.label class="mb-2 block text-grey-darker" }} + Password + {{/form.label}} +
    +
    + {{form.input class="mb-2 p-2 border rounded block w-full" + type="password"}} +
    +
    + +
    + + {{#ui-button style="gray" onClick=(action (mut name) "")}} + Cancel + {{/ui-button}} + + + {{#form.submit}} + Sign in + {{/form.submit}} + +
    + + {{/ui-form}} + + +{{/ui-modal}} diff --git a/app/pods/login/controller.js b/app/pods/login/controller.js new file mode 100644 index 0000000..00122eb --- /dev/null +++ b/app/pods/login/controller.js @@ -0,0 +1,9 @@ +import Controller from '@ember/controller'; + +export default Controller.extend({ + actions: { + login() { + alert("hello!"); + } + } +}); diff --git a/app/pods/login/template.hbs b/app/pods/login/template.hbs new file mode 100644 index 0000000..518f9af --- /dev/null +++ b/app/pods/login/template.hbs @@ -0,0 +1,38 @@ +{{#ui-modal as |modal|}} + +

    + Sign in to your account +

    + + {{#ui-form onSubmit=(action "login") class='mt-6' as |form|}} + +
    + {{#form.label class="text-sm font-semibold block text-grey-darkest"}} + Email + + {{form.input class="mt-1 p-2 border rounded w-full" placeholder="you@example.com"}} + {{/form.label}} +
    + +
    + {{#form.label class="text-sm font-semibold block text-grey-darkest"}} + Password + + {{form.input class="mt-1 p-2 border rounded w-full" type="password"}} + {{/form.label}} +
    + +
    + {{#ui-button style="gray"}} + Cancel + {{/ui-button}} + + {{#form.submit}} + Log in + {{/form.submit}} +
    + + {{/ui-form}} + + +{{/ui-modal}} diff --git a/app/pods/media/albums/album/image/template.hbs b/app/pods/media/albums/album/image/template.hbs index 64b63bd..852d1c1 100644 --- a/app/pods/media/albums/album/image/template.hbs +++ b/app/pods/media/albums/album/image/template.hbs @@ -1,7 +1,7 @@ -{{#link-to 'media.albums.album.index' class='link dark-gray dim'}} +{{#link-to 'media.albums.album.index' class='no-underline text-grey-darkest dim'}} < {{model.album.title}} {{/link-to}}

    {{model.title}}

    - + diff --git a/app/pods/media/albums/album/index/template.hbs b/app/pods/media/albums/album/index/template.hbs index ae3eb76..b94e73c 100644 --- a/app/pods/media/albums/album/index/template.hbs +++ b/app/pods/media/albums/album/index/template.hbs @@ -1,4 +1,4 @@ -{{#link-to 'media.albums' class='link dark-gray dim'}} +{{#link-to 'media.albums' class='no-underline text-grey-darkest dim'}} < All albums {{/link-to}} @@ -7,7 +7,7 @@
    {{#each model.images as |image|}} {{#link-to 'media.albums.album.image' image class='dim'}} - + {{/link-to}} {{/each}}
    diff --git a/app/pods/media/albums/index/template.hbs b/app/pods/media/albums/index/template.hbs index 9415cbf..48b36db 100644 --- a/app/pods/media/albums/index/template.hbs +++ b/app/pods/media/albums/index/template.hbs @@ -2,10 +2,11 @@
    {{#each (sort-by 'id' model) as |album|}} - {{#link-to 'media.albums.album.index' album class='db w4 mb3 mr3 link gray dim'}} + {{#link-to 'media.albums.album.index' album + class='block w-32 mb-3 mr-3 no-underline text-grey-dark dim'}} -

    {{album.title}}

    + class='w-32 h-32 rounded border border-grey'> +

    {{album.title}}

    {{/link-to}} {{/each}}
    diff --git a/app/pods/media/styles/style/template.hbs b/app/pods/media/styles/style/template.hbs index b159255..de5a9f0 100644 --- a/app/pods/media/styles/style/template.hbs +++ b/app/pods/media/styles/style/template.hbs @@ -1,5 +1,5 @@
    {{#each model as |image|}} - + {{/each}}
    diff --git a/app/pods/media/styles/template.hbs b/app/pods/media/styles/template.hbs index 68bab14..a84fb69 100644 --- a/app/pods/media/styles/template.hbs +++ b/app/pods/media/styles/template.hbs @@ -1,20 +1,20 @@ -
    -

    Photo styles

    +
    +

    Photo styles

    {{#link-to 'media.styles.style' 'light' - class='flex link b silver pb2 mr3 bb bw1 b--transparent' - activeClass='b--inherit'}} -
    -

    + class='flex no-underline text-bold text-grey-dark mr-4 border-bottom border-color-transparent' + activeClass='border-color-inherit'}} +

    +

    LIGHT

    {{/link-to}} {{#link-to 'media.styles.style' 'dark' - class='flex link b near-black pb2 bb bw1 b--transparent' - activeClass='b--inherit'}} -
    -

    + class='flex no-underline text-bold text-black border-bottom-1 border-color-transparent' + activeClass='border-color-inherit'}} +

    +

    DARK

    {{/link-to}} diff --git a/app/pods/media/template.hbs b/app/pods/media/template.hbs index 11f3b61..aa0738d 100644 --- a/app/pods/media/template.hbs +++ b/app/pods/media/template.hbs @@ -1,11 +1,15 @@ -{{#link-to 'media.albums' class='link dark-gray dim mr3' activeClass='silver'}} +{{#link-to 'media.albums' + class='no-underline text-grey-darkest dim mr-4' + activeClass='text-grey-dark'}} Albums {{/link-to}} -{{#link-to 'media.styles' class='link dark-gray dim' activeClass='silver'}} +{{#link-to 'media.styles' + class='no-underline text-grey-darkest dim' + activeClass='text-grey-dark'}} Styles {{/link-to}} -
    +
    {{outlet}} diff --git a/app/pods/posts/index/template.hbs b/app/pods/posts/index/template.hbs index 4e34306..c7f4d9e 100644 --- a/app/pods/posts/index/template.hbs +++ b/app/pods/posts/index/template.hbs @@ -5,31 +5,31 @@ {{/if}} {{#if model}} -
    -
    +
    +
    {{bar-chart data=authorData selectedLabel=selectedAuthor on-click=(action 'toggleBar' 'selectedAuthor')}} -

    +

    Authors

    -
    +
    {{bar-chart data=categoryData color='green' selectedLabel=selectedCategory on-click=(action 'toggleBar' 'selectedCategory')}} -

    +

    Categories

    -
    +
    {{bar-chart data=commentsData color='red' selectedLabel=selectedPost on-click=(action 'toggleBar' 'selectedPost')}} -

    +

    Comments

    @@ -37,7 +37,7 @@ {{/if}} {{#if model}} - +
    + -
    @@ -64,18 +64,20 @@ {{keyboard-press key="Enter" on-press=(action "openPost" navigatedPost)}} {{#each posts as |post|}} -
    - {{#link-to 'posts.post' post.id class='link dark-gray dim'}} + {{#link-to 'posts.post' post.id class='no-underline text-grey-darkest'}} {{post.title}} {{/link-to}} {{moment-format post.date 'MMM D, YYYY'}} {{post.author}} {{tag-list tags=post.tags}} + + class="hidden group-hover:block no-transition text-grey-dark no-underline"> {{fa-icon "trash"}} Delete diff --git a/app/pods/posts/post/edit/template.hbs b/app/pods/posts/post/edit/template.hbs index 38a2232..7c3dd67 100644 --- a/app/pods/posts/post/edit/template.hbs +++ b/app/pods/posts/post/edit/template.hbs @@ -1,22 +1,28 @@ -
    -
    -

    - {{input value=model.title class='w-100 pa2'}} +
    +
    +

    + {{input + value=model.title + class='w-full p-2 border border-grey-lighter'}}

    -
    +
    {{textarea value=model.text rows=20 - class='pa2 b--light-gray w-100'}} + class='p-2 border border-grey-lighter w-full'}}
    -
    +
    {{#ui-button task=save data-test-id="save"}} Save {{/ui-button}} + {{#ui-button task=save style="gray" data-test-id="save"}} + Cancel + {{/ui-button}} + {{#if save.last.isError}} -

    +

    {{fa-icon 'exclamation-circle'}} Whoops - your post was not saved. Please try again!

    diff --git a/app/pods/posts/post/index/template.hbs b/app/pods/posts/post/index/template.hbs index d937c03..c1cabec 100644 --- a/app/pods/posts/post/index/template.hbs +++ b/app/pods/posts/post/index/template.hbs @@ -1,21 +1,25 @@

    {{model.title}}

    -

    - {{#link-to 'posts.post.edit' model.id class='dim link silver'}} +

    + {{#link-to 'posts.post.edit' model.id class='dim no-underline text-grey-dark'}} Edit post {{/link-to}}

    -

    -
    +
      {{#each (sort-by 'createdAt:desc' model.activities) as |activity|}}
    • · {{activity.text}} - {{moment-from-now activity.createdAt}} + {{moment-from-now activity.createdAt}}
    • {{/each}}
    @@ -54,7 +58,7 @@ {{/if}} -
    +
    {{#if model.comments}}
      {{#each model.comments as |comment|}} diff --git a/app/pods/posts/post/template.hbs b/app/pods/posts/post/template.hbs index dd44f28..0729bc7 100644 --- a/app/pods/posts/post/template.hbs +++ b/app/pods/posts/post/template.hbs @@ -1,8 +1,8 @@ -
      - {{#link-to 'posts' class='link silver ttu dim'}} +
      + {{#link-to 'posts' class='text-grey-dark uppercase no-underline dim'}} Blog posts {{/link-to}} - +  / 
      diff --git a/app/pods/tags/index/route.js b/app/pods/tags/index/route.js index 185eacf..03ea1cb 100644 --- a/app/pods/tags/index/route.js +++ b/app/pods/tags/index/route.js @@ -3,7 +3,7 @@ import Route from '@ember/routing/route'; export default Route.extend({ model() { - return this.get('store').findAll('tag', { + return this.get('store').query('tag', { include: 'posts' }); } diff --git a/app/pods/tags/index/template.hbs b/app/pods/tags/index/template.hbs index 4e9476e..76c642e 100644 --- a/app/pods/tags/index/template.hbs +++ b/app/pods/tags/index/template.hbs @@ -2,8 +2,8 @@
        {{#each model as |tag|}} -
      • - {{#link-to 'tags.tag' tag.slug class='link near-black dim'}} +
      • + {{#link-to 'tags.tag' tag.slug class='no-underline text-black'}} {{tag.name}} ({{tag.posts.length}} {{inflect-word 'posts' tag.posts.length}}) {{/link-to}}
      • diff --git a/app/pods/tags/loading/template.hbs b/app/pods/tags/loading/template.hbs new file mode 100644 index 0000000..df1b197 --- /dev/null +++ b/app/pods/tags/loading/template.hbs @@ -0,0 +1,19 @@ +

        Tags

        + +
          +
        • + +   + +
        • +
        • + +   + +
        • +
        • + +   + +
        • +
        diff --git a/app/pods/tags/tag/template.hbs b/app/pods/tags/tag/template.hbs index 25ed651..4230042 100644 --- a/app/pods/tags/tag/template.hbs +++ b/app/pods/tags/tag/template.hbs @@ -1,9 +1,9 @@ {{!-- Breadcrumbs --}} -
        - {{#link-to 'tags' class='link silver ttu dim'}} +
        + {{#link-to 'tags' class='no-underline text-grey-dark uppercase dim'}} Tags {{/link-to}} - + /
        @@ -12,8 +12,8 @@
          {{#each (sort-by 'date' model.posts) as |post|}} -
        • - {{#link-to 'posts.post' post.id class='link near-black dim'}} +
        • + {{#link-to 'posts.post' post.id class='no-underline text-black dim'}} {{post.title}} by {{post.author}} {{/link-to}}
        • diff --git a/app/router.js b/app/router.js index a794b32..87b87de 100644 --- a/app/router.js +++ b/app/router.js @@ -7,6 +7,8 @@ const Router = EmberRouter.extend({ }); Router.map(function() { + this.route('login'); + this.route('dashboard', { path: '/' }); this.route('posts', function() { this.route('post', { path: '/:post_id' }, function() { @@ -30,6 +32,8 @@ Router.map(function() { }); this.route('comments'); + this.route('forms'); + this.route('styleguide', function() { this.route('components', function() { diff --git a/app/styles/app.scss b/app/styles/app.scss index 04bb07b..c1f3a26 100644 --- a/app/styles/app.scss +++ b/app/styles/app.scss @@ -1,18 +1,26 @@ +@import 'tailwind'; +@import "ember-modal-dialog/ember-modal-structure"; +// @import "ember-modal-dialog/ember-modal-appearance"; + @import 'pod-styles'; -@import './reset'; -@import './tachyons'; +// @import './reset'; +// @import './tachyons'; body { // overflow: hidden; - @extend .lh-copy; + + // TODO + @extend .leading-normal; } .app { height: 100vh; display: flex; flex-direction: column; - @extend .avenir; + + // TODO + @extend .font-avenir; } .app-header { @@ -20,7 +28,8 @@ body { color: white; padding: 15px 20px; z-index: 1; - @extend .f4; + + @extend .text-xl; } .app-main { @@ -35,13 +44,14 @@ body { border-right: 1px solid #ddd; a { - @extend .db; + @extend .block; color: #888; text-decoration: none; padding: 20px; border-bottom: 1px solid #bbb; - &.active { + &.active:not(.ember-transitioning-out), + &.ember-transitioning-in { background: white; border-right: 5px solid #2196f3; } @@ -65,8 +75,8 @@ h2 { } table { - @extend .w-100; - @extend .mt4; + @extend .w-full; + @extend .mt-8; // border: 1px solid #ddd; } @@ -99,50 +109,14 @@ tbody tr:hover { background: rgb(250,250,250); } -.transition { - transition: all 0.15s; -} - // tbody tr:nth-child(even) { // background: rgb(250,250,250); // } -.link, -.link:link, -.link:hover, -.link:focus, { - &, * { - transition: none; - } -} - -.link:focus { - outline: none; -} - -.f8 { - font-size: 10px; -} - -.bullets { - list-style: disc; - margin-left: 30px; -} - -.mla { - margin-left: auto; -} - -.no-events { - pointer-events: none; -} - -.no-transition { - transition: none !important; -} - -.vw-100 { - width: 100vw; +ul { + list-style-type: none; + padding: 0; + margin: 0; } @keyframes fadeUp { diff --git a/app/tailwind/components/your-component.css b/app/tailwind/components/your-component.css new file mode 100644 index 0000000..f1d7418 --- /dev/null +++ b/app/tailwind/components/your-component.css @@ -0,0 +1,17 @@ +/** + * You can create Tailwind components using @apply here. + * + * Feel free to rename this file, define multiple components here, or make + * any other files in this directory. + + * Here's an example: +**/ + +/* +.btn-blue { + @apply .bg-blue .text-white .font-bold .py-2 .px-4 .rounded; +} +.btn-blue:hover { + @apply .bg-blue-dark; +} +*/ diff --git a/app/tailwind/config/background-colors.js b/app/tailwind/config/background-colors.js new file mode 100644 index 0000000..1c3c1de --- /dev/null +++ b/app/tailwind/config/background-colors.js @@ -0,0 +1,16 @@ +import colors from './colors'; + +/* +|----------------------------------------------------------------------------- +| Background colors https://tailwindcss.com/docs/background-color +|----------------------------------------------------------------------------- +| +| Here is where you define your background colors. By default these use +| the color palette we defined above, however you're welcome to set +| these independently if that makes sense for your project. +| +| Class name: .bg-{color} +| +*/ + +export default colors; diff --git a/app/tailwind/config/background-size.js b/app/tailwind/config/background-size.js new file mode 100644 index 0000000..ad837cf --- /dev/null +++ b/app/tailwind/config/background-size.js @@ -0,0 +1,18 @@ +/* +|----------------------------------------------------------------------------- +| Background sizes https://tailwindcss.com/docs/background-size +|----------------------------------------------------------------------------- +| +| Here is where you define your background sizes. We provide some common +| values that are useful in most projects, but feel free to add other sizes +| that are specific to your project here as well. +| +| Class name: .bg-{size} +| +*/ + +export default { + auto: 'auto', + cover: 'cover', + contain: 'contain' +}; diff --git a/app/tailwind/config/border-colors.js b/app/tailwind/config/border-colors.js new file mode 100644 index 0000000..8687f4e --- /dev/null +++ b/app/tailwind/config/border-colors.js @@ -0,0 +1,20 @@ +import colors from './colors'; + +/* +|----------------------------------------------------------------------------- +| Border colors https://tailwindcss.com/docs/border-color +|----------------------------------------------------------------------------- +| +| Here is where you define your border colors. By default these use the +| color palette we defined above, however you're welcome to set these +| independently if that makes sense for your project. +| +| Take note that border colors require a special "default" value set +| as well. This is the color that will be used when you do not +| specify a border color. +| +| Class name: .border-{color} +| +*/ + +export default Object.assign({ default: colors['grey-light'] }, colors); diff --git a/app/tailwind/config/border-radius.js b/app/tailwind/config/border-radius.js new file mode 100644 index 0000000..31a3572 --- /dev/null +++ b/app/tailwind/config/border-radius.js @@ -0,0 +1,23 @@ +/* +|----------------------------------------------------------------------------- +| Border radius https://tailwindcss.com/docs/border-radius +|----------------------------------------------------------------------------- +| +| Here is where you define your border radius values. If a `default` radius +| is provided, it will be made available as the non-suffixed `.rounded` +| utility. +| +| If your scale includes a `0` value to reset already rounded corners, it's +| a good idea to put it first so other values are able to override it. +| +| Class name: .rounded{-side?}{-size?} +| +*/ + +export default { + none: '0', + sm: '.125rem', + default: '.25rem', + lg: '.5rem', + full: '9999px' +}; diff --git a/app/tailwind/config/border-widths.js b/app/tailwind/config/border-widths.js new file mode 100644 index 0000000..8e3e917 --- /dev/null +++ b/app/tailwind/config/border-widths.js @@ -0,0 +1,20 @@ +/* +|----------------------------------------------------------------------------- +| Border widths https://tailwindcss.com/docs/border-width +|----------------------------------------------------------------------------- +| +| Here is where you define your border widths. Take note that border +| widths require a special "default" value set as well. This is the +| width that will be used when you do not specify a border width. +| +| Class name: .border{-side?}{-width?} +| +*/ + +export default { + default: '1px', + '0': '0', + '2': '2px', + '4': '4px', + '8': '8px' +}; diff --git a/app/tailwind/config/colors.js b/app/tailwind/config/colors.js new file mode 100644 index 0000000..614823c --- /dev/null +++ b/app/tailwind/config/colors.js @@ -0,0 +1,102 @@ +/* +|------------------------------------------------------------------------------- +| Colors https://tailwindcss.com/docs/colors +|------------------------------------------------------------------------------- +| +| Here you can specify the colors used in your project. To get you started, +| we've provided a generous palette of great looking colors that are perfect +| for prototyping, but don't hesitate to change them for your project. You +| own these colors, nothing will break if you change everything about them. +| +| We've used literal color names ("red", "blue", etc.) for the default +| palette, but if you'd rather use functional names like "primary" and +| "secondary", or even a numeric scale like "100" and "200", go for it. +| +*/ + +export default { + transparent: 'transparent', + inherit: 'inherit', + + black: '#22292f', + 'grey-darkest': '#3d4852', + 'grey-darker': '#606f7b', + 'grey-dark': '#8795a1', + grey: '#b8c2cc', + 'grey-light': '#dae1e7', + 'grey-lighter': '#f1f5f8', + 'grey-lightest': '#f8fafc', + white: '#ffffff', + + 'red-darkest': '#3b0d0c', + 'red-darker': '#621b18', + 'red-dark': '#cc1f1a', + red: '#e3342f', + 'red-light': '#ef5753', + 'red-lighter': '#f9acaa', + 'red-lightest': '#fcebea', + + 'orange-darkest': '#462a16', + 'orange-darker': '#613b1f', + 'orange-dark': '#de751f', + orange: '#f6993f', + 'orange-light': '#faad63', + 'orange-lighter': '#fcd9b6', + 'orange-lightest': '#fff5eb', + + 'yellow-darkest': '#453411', + 'yellow-darker': '#684f1d', + 'yellow-dark': '#f2d024', + yellow: '#ffed4a', + 'yellow-light': '#fff382', + 'yellow-lighter': '#fff9c2', + 'yellow-lightest': '#fcfbeb', + + 'green-darkest': '#0f2f21', + 'green-darker': '#1a4731', + 'green-dark': '#1f9d55', + green: '#38c172', + 'green-light': '#51d88a', + 'green-lighter': '#a2f5bf', + 'green-lightest': '#e3fcec', + + 'teal-darkest': '#0d3331', + 'teal-darker': '#20504f', + 'teal-dark': '#38a89d', + teal: '#4dc0b5', + 'teal-light': '#64d5ca', + 'teal-lighter': '#a0f0ed', + 'teal-lightest': '#e8fffe', + + 'blue-darkest': '#12283a', + 'blue-darker': '#1c3d5a', + 'blue-dark': '#2779bd', + blue: '#3490dc', + 'blue-light': '#6cb2eb', + 'blue-lighter': '#bcdefa', + 'blue-lightest': '#eff8ff', + + 'indigo-darkest': '#191e38', + 'indigo-darker': '#2f365f', + 'indigo-dark': '#5661b3', + indigo: '#6574cd', + 'indigo-light': '#7886d7', + 'indigo-lighter': '#b2b7ff', + 'indigo-lightest': '#e6e8ff', + + 'purple-darkest': '#21183c', + 'purple-darker': '#382b5f', + 'purple-dark': '#794acf', + purple: '#9561e2', + 'purple-light': '#a779e9', + 'purple-lighter': '#d6bbfc', + 'purple-lightest': '#f3ebff', + + 'pink-darkest': '#451225', + 'pink-darker': '#6f213f', + 'pink-dark': '#eb5286', + pink: '#f66d9b', + 'pink-light': '#fa7ea8', + 'pink-lighter': '#ffbbca', + 'pink-lightest': '#ffebef' +}; diff --git a/app/tailwind/config/font-weights.js b/app/tailwind/config/font-weights.js new file mode 100644 index 0000000..ba43fea --- /dev/null +++ b/app/tailwind/config/font-weights.js @@ -0,0 +1,25 @@ +/* +|----------------------------------------------------------------------------- +| Font weights https://tailwindcss.com/docs/font-weight +|----------------------------------------------------------------------------- +| +| Here is where you define your font weights. We've provided a list of +| common font weight names with their respective numeric scale values +| to get you started. It's unlikely that your project will require +| all of these, so we recommend removing those you don't need. +| +| Class name: .font-{weight} +| +*/ + +export default { + hairline: 100, + thin: 200, + light: 300, + normal: 400, + medium: 500, + semibold: 600, + bold: 700, + extrabold: 800, + black: 900 +}; diff --git a/app/tailwind/config/fonts.js b/app/tailwind/config/fonts.js new file mode 100644 index 0000000..d56ffea --- /dev/null +++ b/app/tailwind/config/fonts.js @@ -0,0 +1,57 @@ +/* +|----------------------------------------------------------------------------- +| Fonts https://tailwindcss.com/docs/fonts +|----------------------------------------------------------------------------- +| +| Here is where you define your project's font stack, or font families. +| Keep in mind that Tailwind doesn't actually load any fonts for you. +| If you're using custom fonts you'll need to import them prior to +| defining them here. +| +| By default we provide a native font stack that works remarkably well on +| any device or OS you're using, since it just uses the default fonts +| provided by the platform. +| +| Class name: .font-{name} +| +*/ + +export default { + sans: [ + 'system-ui', + 'BlinkMacSystemFont', + '-apple-system', + 'Segoe UI', + 'Roboto', + 'Oxygen', + 'Ubuntu', + 'Cantarell', + 'Fira Sans', + 'Droid Sans', + 'Helvetica Neue', + 'sans-serif' + ], + serif: [ + 'Constantia', + 'Lucida Bright', + 'Lucidabright', + 'Lucida Serif', + 'Lucida', + 'DejaVu Serif', + 'Bitstream Vera Serif', + 'Liberation Serif', + 'Georgia', + 'serif' + ], + mono: [ + 'Menlo', + 'Monaco', + 'Consolas', + 'Liberation Mono', + 'Courier New', + 'monospace' + ], + avenir: [ + 'avenir' + ] +}; diff --git a/app/tailwind/config/height.js b/app/tailwind/config/height.js new file mode 100644 index 0000000..043effa --- /dev/null +++ b/app/tailwind/config/height.js @@ -0,0 +1,34 @@ +/* +|----------------------------------------------------------------------------- +| Height https://tailwindcss.com/docs/height +|----------------------------------------------------------------------------- +| +| Here is where you define your height utility sizes. These can be +| percentage based, pixels, rems, or any other units. By default +| we provide a sensible rem based numeric scale plus some other +| common use-cases. You can, of course, modify these values as +| needed. +| +| Class name: .h-{size} +| +*/ + +export default { + auto: 'auto', + px: '1px', + '1': '0.25rem', + '2': '0.5rem', + '3': '0.75rem', + '4': '1rem', + '6': '1.5rem', + '8': '2rem', + '10': '2.5rem', + '12': '3rem', + '16': '4rem', + '24': '6rem', + '32': '8rem', + '48': '12rem', + '64': '16rem', + full: '100%', + screen: '100vh' +}; diff --git a/app/tailwind/config/letter-spacing.js b/app/tailwind/config/letter-spacing.js new file mode 100644 index 0000000..e19b22a --- /dev/null +++ b/app/tailwind/config/letter-spacing.js @@ -0,0 +1,17 @@ +/* +|----------------------------------------------------------------------------- +| Tracking (letter spacing) https://tailwindcss.com/docs/letter-spacing +|----------------------------------------------------------------------------- +| +| Here is where you define your letter spacing values, or as we call +| them in Tailwind, tracking. +| +| Class name: .tracking-{size} +| +*/ + +export default { + tight: '-0.05em', + normal: '0', + wide: '0.05em' +}; diff --git a/app/tailwind/config/line-height.js b/app/tailwind/config/line-height.js new file mode 100644 index 0000000..7d3731b --- /dev/null +++ b/app/tailwind/config/line-height.js @@ -0,0 +1,18 @@ +/* +|----------------------------------------------------------------------------- +| Leading (line height) https://tailwindcss.com/docs/line-height +|----------------------------------------------------------------------------- +| +| Here is where you define your line height values, or as we call +| them in Tailwind, leadings. +| +| Class name: .leading-{size} +| +*/ + +export default { + none: 1, + tight: 1.25, + normal: 1.5, + loose: 2 +}; diff --git a/app/tailwind/config/margin.js b/app/tailwind/config/margin.js new file mode 100644 index 0000000..d443584 --- /dev/null +++ b/app/tailwind/config/margin.js @@ -0,0 +1,33 @@ +/* +|----------------------------------------------------------------------------- +| Margin https://tailwindcss.com/docs/margin +|----------------------------------------------------------------------------- +| +| Here is where you define your margin utility sizes. These can be +| percentage based, pixels, rems, or any other units. By default we +| provide a sensible rem based numeric scale plus a couple other +| common use-cases like "1px". You can, of course, modify these +| values as needed. +| +| Class name: .m{side?}-{size} +| +*/ + +export default { + auto: 'auto', + px: '1px', + '0': '0', + '1': '0.25rem', + '2': '0.5rem', + '3': '0.75rem', + '4': '1rem', + '5': '1.25rem', + '6': '1.5rem', + '8': '2rem', + '10': '2.5rem', + '12': '3rem', + '16': '4rem', + '20': '5rem', + '24': '6rem', + '32': '8rem' +}; diff --git a/app/tailwind/config/max-height.js b/app/tailwind/config/max-height.js new file mode 100644 index 0000000..9ebcd57 --- /dev/null +++ b/app/tailwind/config/max-height.js @@ -0,0 +1,18 @@ +/* +|----------------------------------------------------------------------------- +| Maximum height https://tailwindcss.com/docs/max-height +|----------------------------------------------------------------------------- +| +| Here is where you define your maximum height utility sizes. These can +| be percentage based, pixels, rems, or any other units. We provide a +| couple common use-cases by default. You can, of course, modify +| these values as needed. +| +| Class name: .max-h-{size} +| +*/ + +export default { + full: '100%', + screen: '100vh' +}; diff --git a/app/tailwind/config/max-width.js b/app/tailwind/config/max-width.js new file mode 100644 index 0000000..689b51e --- /dev/null +++ b/app/tailwind/config/max-width.js @@ -0,0 +1,27 @@ +/* +|----------------------------------------------------------------------------- +| Maximum width https://tailwindcss.com/docs/max-width +|----------------------------------------------------------------------------- +| +| Here is where you define your maximum width utility sizes. These can +| be percentage based, pixels, rems, or any other units. By default +| we provide a sensible rem based scale and a "full width" size, +| which is basically a reset utility. You can, of course, +| modify these values as needed. +| +| Class name: .max-w-{size} +| +*/ + +export default { + xs: '20rem', + sm: '30rem', + md: '40rem', + lg: '50rem', + xl: '60rem', + '2xl': '70rem', + '3xl': '80rem', + '4xl': '90rem', + '5xl': '100rem', + full: '100%' +}; diff --git a/app/tailwind/config/min-height.js b/app/tailwind/config/min-height.js new file mode 100644 index 0000000..f451f9b --- /dev/null +++ b/app/tailwind/config/min-height.js @@ -0,0 +1,19 @@ +/* +|----------------------------------------------------------------------------- +| Minimum height https://tailwindcss.com/docs/min-height +|----------------------------------------------------------------------------- +| +| Here is where you define your minimum height utility sizes. These can +| be percentage based, pixels, rems, or any other units. We provide a +| few common use-cases by default. You can, of course, modify these +| values as needed. +| +| Class name: .min-h-{size} +| +*/ + +export default { + '0': '0', + full: '100%', + screen: '100vh' +}; diff --git a/app/tailwind/config/min-width.js b/app/tailwind/config/min-width.js new file mode 100644 index 0000000..a4f54cf --- /dev/null +++ b/app/tailwind/config/min-width.js @@ -0,0 +1,18 @@ +/* +|----------------------------------------------------------------------------- +| Minimum width https://tailwindcss.com/docs/min-width +|----------------------------------------------------------------------------- +| +| Here is where you define your minimum width utility sizes. These can +| be percentage based, pixels, rems, or any other units. We provide a +| couple common use-cases by default. You can, of course, modify +| these values as needed. +| +| Class name: .min-w-{size} +| +*/ + +export default { + '0': '0', + full: '100%' +}; diff --git a/app/tailwind/config/negative-margin.js b/app/tailwind/config/negative-margin.js new file mode 100644 index 0000000..7f407fe --- /dev/null +++ b/app/tailwind/config/negative-margin.js @@ -0,0 +1,32 @@ +/* +|----------------------------------------------------------------------------- +| Negative margin https://tailwindcss.com/docs/negative-margin +|----------------------------------------------------------------------------- +| +| Here is where you define your negative margin utility sizes. These can +| be percentage based, pixels, rems, or any other units. By default we +| provide matching values to the padding scale since these utilities +| generally get used together. You can, of course, modify these +| values as needed. +| +| Class name: .-m{side?}-{size} +| +*/ + +export default { + px: '1px', + '0': '0', + '1': '0.25rem', + '2': '0.5rem', + '3': '0.75rem', + '4': '1rem', + '5': '1.25rem', + '6': '1.5rem', + '8': '2rem', + '10': '2.5rem', + '12': '3rem', + '16': '4rem', + '20': '5rem', + '24': '6rem', + '32': '8rem' +}; diff --git a/app/tailwind/config/opacity.js b/app/tailwind/config/opacity.js new file mode 100644 index 0000000..5fb0c03 --- /dev/null +++ b/app/tailwind/config/opacity.js @@ -0,0 +1,21 @@ +/* +|----------------------------------------------------------------------------- +| Opacity https://tailwindcss.com/docs/opacity +|----------------------------------------------------------------------------- +| +| Here is where you define your opacity utility values. By default we +| provide a sensible numeric scale. You can, of course, modify these +| values as needed. +| +| Class name: .opacity-{name} +| +*/ + +export default { + '0': '0', + '25': '.25', + '50': '.5', + '75': '.75', + '80': '.80', + '100': '1' +}; diff --git a/app/tailwind/config/padding.js b/app/tailwind/config/padding.js new file mode 100644 index 0000000..a219891 --- /dev/null +++ b/app/tailwind/config/padding.js @@ -0,0 +1,32 @@ +/* +|----------------------------------------------------------------------------- +| Padding https://tailwindcss.com/docs/padding +|----------------------------------------------------------------------------- +| +| Here is where you define your padding utility sizes. These can be +| percentage based, pixels, rems, or any other units. By default we +| provide a sensible rem based numeric scale plus a couple other +| common use-cases like "1px". You can, of course, modify these +| values as needed. +| +| Class name: .p{side?}-{size} +| +*/ + +export default { + px: '1px', + '0': '0', + '1': '0.25rem', + '2': '0.5rem', + '3': '0.75rem', + '4': '1rem', + '5': '1.25rem', + '6': '1.5rem', + '8': '2rem', + '10': '2.5rem', + '12': '3rem', + '16': '4rem', + '20': '5rem', + '24': '6rem', + '32': '8rem' +}; diff --git a/app/tailwind/config/screens.js b/app/tailwind/config/screens.js new file mode 100644 index 0000000..dd0fd2e --- /dev/null +++ b/app/tailwind/config/screens.js @@ -0,0 +1,25 @@ +/* +|----------------------------------------------------------------------------- +| Screens https://tailwindcss.com/docs/responsive-design +|----------------------------------------------------------------------------- +| +| Screens in Tailwind are translated to CSS media queries. They define the +| responsive breakpoints for your project. By default Tailwind takes a +| "mobile first" approach, where each screen size represents a minimum +| viewport width. Feel free to have as few or as many screens as you +| want, naming them in whatever way you'd prefer for your project. +| +| Tailwind also allows for more complex screen definitions, which can be +| useful in certain situations. Be sure to see the full responsive +| documentation for a complete list of options. +| +| Class name: .{screen}:{utility} +| +*/ + +export default { + sm: '576px', + md: '768px', + lg: '992px', + xl: '1200px' +}; diff --git a/app/tailwind/config/shadows.js b/app/tailwind/config/shadows.js new file mode 100644 index 0000000..01e32d5 --- /dev/null +++ b/app/tailwind/config/shadows.js @@ -0,0 +1,24 @@ +/* +|----------------------------------------------------------------------------- +| Shadows https://tailwindcss.com/docs/shadows +|----------------------------------------------------------------------------- +| +| Here is where you define your shadow utilities. As you can see from +| the defaults we provide, it's possible to apply multiple shadows +| per utility using comma separation. +| +| If a `default` shadow is provided, it will be made available as the non- +| suffixed `.shadow` utility. +| +| Class name: .shadow-{size?} +| +*/ + +export default { + default: '0 2px 4px 0 rgba(0,0,0,0.10)', + md: '0 4px 8px 0 rgba(0,0,0,0.12), 0 2px 4px 0 rgba(0,0,0,0.08)', + lg: '0 15px 30px 0 rgba(0,0,0,0.11), 0 5px 15px 0 rgba(0,0,0,0.08)', + inner: 'inset 0 2px 4px 0 rgba(0,0,0,0.06)', + outline: '0 0 0 3px rgba(52,144,220,0.5)', + none: 'none' +}; diff --git a/app/tailwind/config/svg-fill.js b/app/tailwind/config/svg-fill.js new file mode 100644 index 0000000..bc7b0f2 --- /dev/null +++ b/app/tailwind/config/svg-fill.js @@ -0,0 +1,17 @@ +/* +|----------------------------------------------------------------------------- +| SVG fill https://tailwindcss.com/docs/svg +|----------------------------------------------------------------------------- +| +| Here is where you define your SVG fill colors. By default we just provide +| `fill-current` which sets the fill to the current text color. This lets you +| specify a fill color using existing text color utilities and helps keep the +| generated CSS file size down. +| +| Class name: .fill-{name} +| +*/ + +export default { + current: 'currentColor' +}; diff --git a/app/tailwind/config/svg-stroke.js b/app/tailwind/config/svg-stroke.js new file mode 100644 index 0000000..ef4b8cc --- /dev/null +++ b/app/tailwind/config/svg-stroke.js @@ -0,0 +1,17 @@ +/* +|----------------------------------------------------------------------------- +| SVG stroke https://tailwindcss.com/docs/svg +|----------------------------------------------------------------------------- +| +| Here is where you define your SVG stroke colors. By default we just provide +| `stroke-current` which sets the stroke to the current text color. This lets +| you specify a stroke color using existing text color utilities and helps +| keep the generated CSS file size down. +| +| Class name: .stroke-{name} +| +*/ + +export default { + current: 'currentColor' +}; diff --git a/app/tailwind/config/tailwind.js b/app/tailwind/config/tailwind.js new file mode 100644 index 0000000..ad63b0d --- /dev/null +++ b/app/tailwind/config/tailwind.js @@ -0,0 +1,146 @@ +import container from 'tailwindcss/plugins/container'; + +import colors from './colors'; +import screens from './screens'; +import fonts from './fonts'; +import textSizes from './text-sizes'; +import fontWeights from './font-weights'; +import leading from './line-height'; +import tracking from './letter-spacing'; +import textColors from './text-colors'; +import backgroundColors from './background-colors'; +import backgroundSize from './background-size'; +import borderWidths from './border-widths'; +import borderColors from './border-colors'; +import borderRadius from './border-radius'; +import width from './width'; +import height from './height'; +import minWidth from './min-width'; +import minHeight from './min-height'; +import maxWidth from './max-width'; +import maxHeight from './max-height'; +import padding from './padding'; +import margin from './margin'; +import negativeMargin from './negative-margin'; +import shadows from './shadows'; +import zIndex from './z-index'; +import opacity from './opacity'; +import svgFill from './svg-fill'; +import svgStroke from './svg-stroke'; + +export default { + colors, + screens, + fonts, + textSizes, + fontWeights, + leading, + tracking, + textColors, + backgroundColors, + backgroundSize, + borderWidths, + borderColors, + borderRadius, + width, + height, + minWidth, + minHeight, + maxWidth, + maxHeight, + padding, + margin, + negativeMargin, + shadows, + zIndex, + opacity, + svgFill, + svgStroke, + + modules: { + appearance: ['responsive'], + backgroundAttachment: ['responsive'], + backgroundColors: ['responsive', 'hover', 'focus'], + backgroundPosition: ['responsive'], + backgroundRepeat: ['responsive'], + backgroundSize: ['responsive'], + borderCollapse: [], + borderColors: ['responsive', 'hover', 'focus'], + borderRadius: ['responsive'], + borderStyle: ['responsive'], + borderWidths: ['responsive'], + cursor: ['responsive'], + display: ['responsive', 'group-hover'], + flexbox: ['responsive'], + float: ['responsive'], + fonts: ['responsive'], + fontWeights: ['responsive', 'hover', 'focus'], + height: ['responsive'], + leading: ['responsive'], + lists: ['responsive'], + margin: ['responsive'], + maxHeight: ['responsive'], + maxWidth: ['responsive'], + minHeight: ['responsive'], + minWidth: ['responsive'], + negativeMargin: ['responsive'], + opacity: ['responsive'], + outline: ['focus'], + overflow: ['responsive'], + padding: ['responsive'], + pointerEvents: ['responsive'], + position: ['responsive'], + resize: ['responsive'], + shadows: ['responsive', 'hover', 'focus'], + svgFill: [], + svgStroke: [], + textAlign: ['responsive'], + textColors: ['responsive', 'hover', 'focus'], + textSizes: ['responsive'], + textStyle: ['responsive', 'hover', 'focus'], + tracking: ['responsive'], + userSelect: ['responsive'], + verticalAlign: ['responsive'], + visibility: ['responsive'], + whitespace: ['responsive'], + width: ['responsive'], + zIndex: ['responsive'] + }, + + /* + |----------------------------------------------------------------------------- + | Plugins https://tailwindcss.com/docs/plugins + |----------------------------------------------------------------------------- + | + | Here is where you can register any plugins you'd like to use in your + | project. Tailwind's built-in `container` plugin is enabled by default to + | give you a Bootstrap-style responsive container component out of the box. + | + | Be sure to view the complete plugin documentation to learn more about how + | the plugin system works. + | + */ + + plugins: [ + container({ + // center: true, + // padding: '1rem', + }) + ], + + /* + |----------------------------------------------------------------------------- + | Advanced Options https://tailwindcss.com/docs/configuration#options + |----------------------------------------------------------------------------- + | + | Here is where you can tweak advanced configuration options. We recommend + | leaving these options alone unless you absolutely need to change them. + | + */ + + options: { + prefix: '', + important: false, + separator: ':' + } +}; diff --git a/app/tailwind/config/text-colors.js b/app/tailwind/config/text-colors.js new file mode 100644 index 0000000..f481c11 --- /dev/null +++ b/app/tailwind/config/text-colors.js @@ -0,0 +1,16 @@ +import colors from './colors'; + +/* +|----------------------------------------------------------------------------- +| Text colors https://tailwindcss.com/docs/text-color +|----------------------------------------------------------------------------- +| +| Here is where you define your text colors. By default these use the +| color palette we defined above, however you're welcome to set these +| independently if that makes sense for your project. +| +| Class name: .text-{color} +| +*/ + +export default colors; diff --git a/app/tailwind/config/text-sizes.js b/app/tailwind/config/text-sizes.js new file mode 100644 index 0000000..3cfa97d --- /dev/null +++ b/app/tailwind/config/text-sizes.js @@ -0,0 +1,31 @@ +/* +|----------------------------------------------------------------------------- +| Text sizes https://tailwindcss.com/docs/text-sizing +|----------------------------------------------------------------------------- +| +| Here is where you define your text sizes. Name these in whatever way +| makes the most sense to you. We use size names by default, but +| you're welcome to use a numeric scale or even something else +| entirely. +| +| By default Tailwind uses the "rem" unit type for most measurements. +| This allows you to set a root font size which all other sizes are +| then based on. That said, you are free to use whatever units you +| prefer, be it rems, ems, pixels or other. +| +| Class name: .text-{size} +| +*/ + +export default { + '10px': '10px', + xs: '.75rem', // 12px + sm: '.875rem', // 14px + base: '1rem', // 16px + lg: '1.125rem', // 18px + xl: '1.25rem', // 20px + '2xl': '1.5rem', // 24px + '3xl': '1.875rem', // 30px + '4xl': '2.25rem', // 36px + '5xl': '3rem' // 48px +}; diff --git a/app/tailwind/config/width.js b/app/tailwind/config/width.js new file mode 100644 index 0000000..5412e54 --- /dev/null +++ b/app/tailwind/config/width.js @@ -0,0 +1,51 @@ +/* +|----------------------------------------------------------------------------- +| Width https://tailwindcss.com/docs/width +|----------------------------------------------------------------------------- +| +| Here is where you define your width utility sizes. These can be +| percentage based, pixels, rems, or any other units. By default +| we provide a sensible rem based numeric scale, a percentage +| based fraction scale, plus some other common use-cases. You +| can, of course, modify these values as needed. +| +| +| It's also worth mentioning that Tailwind automatically escapes +| invalid CSS class name characters, which allows you to have +| awesome classes like .w-2/3. +| +| Class name: .w-{size} +| +*/ + +export default { + auto: 'auto', + px: '1px', + '1': '0.25rem', + '2': '0.5rem', + '3': '0.75rem', + '4': '1rem', + '6': '1.5rem', + '8': '2rem', + '10': '2.5rem', + '12': '3rem', + '16': '4rem', + '24': '6rem', + '32': '8rem', + '48': '12rem', + '64': '16rem', + '1/2': '50%', + '1/3': '33.33333%', + '2/3': '66.66667%', + '1/4': '25%', + '3/4': '75%', + '1/5': '20%', + '2/5': '40%', + '3/5': '60%', + '4/5': '80%', + '1/6': '16.66667%', + '5/6': '83.33333%', + 'modal': '500px', + full: '100%', + screen: '100vw' +}; diff --git a/app/tailwind/config/z-index.js b/app/tailwind/config/z-index.js new file mode 100644 index 0000000..815ae09 --- /dev/null +++ b/app/tailwind/config/z-index.js @@ -0,0 +1,22 @@ +/* +|----------------------------------------------------------------------------- +| Z-index https://tailwindcss.com/docs/z-index +|----------------------------------------------------------------------------- +| +| Here is where you define your z-index utility values. By default we +| provide a sensible numeric scale. You can, of course, modify these +| values as needed. +| +| Class name: .z-{index} +| +*/ + +export default { + auto: 'auto', + '0': 0, + '10': 10, + '20': 20, + '30': 30, + '40': 40, + '50': 50 +}; diff --git a/app/tailwind/modules.css b/app/tailwind/modules.css new file mode 100644 index 0000000..318bc86 --- /dev/null +++ b/app/tailwind/modules.css @@ -0,0 +1,32 @@ +/** +* This injects Tailwind's base styles, which is a combination of +* Normalize.css and some additional base styles. +* +* You can see the styles here: +* https://github.com/tailwindcss/tailwindcss/blob/master/css/preflight.css +*/ +@import "tailwindcss/preflight"; + +/** +* This injects any component classes registered by plugins. +*/ +@import "tailwindcss/components"; + +/** +* Here you would add any of your custom component classes; stuff that you'd +* want loaded *before* the utilities so that the utilities could still +* override them. +*/ +@import "./components/*.css"; + +/** +* This injects all of Tailwind's utility classes, generated based on your +* config file. +*/ +@import "tailwindcss/utilities"; + +/** +* Here you would add any custom utilities you need that don't come out of the +* box with Tailwind. +*/ +@import "./utilities/*.css"; diff --git a/app/tailwind/utilities/your-utility.css b/app/tailwind/utilities/your-utility.css new file mode 100644 index 0000000..ecd534f --- /dev/null +++ b/app/tailwind/utilities/your-utility.css @@ -0,0 +1,65 @@ +/** + * You can create new utilities here. + * + * Feel free to rename this file, define multiple utilities here, or make + * any other files in this directory. + + * Here's an example: +**/ + +/* .skew-45 { + transform: skewY(45deg); +} */ + +.f8 { + font-size: 10px; +} + +.bullets { + list-style: disc; + margin-left: 30px; +} + +.mla { + margin-left: auto; +} + +.no-events { + pointer-events: none; +} + +.transition { + transition: all 0.15s; +} + +.no-transition { + transition: none !important; +} + +.vw-100 { + width: 100vw; +} + +// tachyons dim! +.dim { + opacity: 1; + transition: opacity .15s ease-in; +} +.dim:hover, +.dim:focus { + opacity: .5; + transition: opacity .15s ease-in; +} +.dim:active { + opacity: .8; transition: opacity .15s ease-out; +} + +// glow! +.glow { + transition: opacity .15s ease-in; +} +.glow:hover, +.glow:focus { + opacity: 1; + transition: opacity .15s ease-in; +} diff --git a/mirage/config.js b/mirage/config.js index 2d67b6f..195fab2 100644 --- a/mirage/config.js +++ b/mirage/config.js @@ -6,7 +6,7 @@ import moment from 'moment'; faker.seed(123); export default function() { - this.timing = 200; + this.timing = +window.localStorage.getItem("timing") || 200; this.resource('tags'); this.resource('posts'); diff --git a/package.json b/package.json index 204402d..dd542fb 100644 --- a/package.json +++ b/package.json @@ -37,6 +37,7 @@ "ember-cli-sass": "^6.1.3", "ember-cli-shims": "^1.2.0", "ember-cli-sri": "^2.1.0", + "ember-cli-tailwind": "^0.6.1", "ember-cli-uglify": "^2.0.0", "ember-cli-update": "^0.21.2", "ember-code-snippet": "^2.2.1", diff --git a/yarn.lock b/yarn.lock index 2256954..a46dd61 100644 --- a/yarn.lock +++ b/yarn.lock @@ -88,6 +88,24 @@ version "0.7.0" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd" +"@types/acorn@^4.0.3": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@types/acorn/-/acorn-4.0.3.tgz#d1f3e738dde52536f9aad3d3380d14e448820afd" + dependencies: + "@types/estree" "*" + +"@types/estree@*": + version "0.0.39" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" + +"@types/estree@0.0.38": + version "0.0.38" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.38.tgz#c1be40aa933723c608820a99a373a16d215a1ca2" + +"@types/node@^9.6.0": + version "9.6.31" + resolved "https://registry.yarnpkg.com/@types/node/-/node-9.6.31.tgz#4d1722987f8d808b4c194dceb8c213bd92f028e5" + JSONStream@~1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.2.tgz#c102371b6ec3a7cf3b847ca00c20bb0fce4c6dea" @@ -95,6 +113,10 @@ JSONStream@~1.3.1: jsonparse "^1.2.0" through ">=2.2.7 <3" +abab@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.0.tgz#aba0ab4c5eee2d4c79d3487d85450fb2376ebb0f" + abbrev@1, abbrev@~1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" @@ -106,6 +128,18 @@ accepts@~1.3.4, accepts@~1.3.5: mime-types "~2.1.18" negotiator "0.6.1" +acorn-dynamic-import@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz#901ceee4c7faaef7e07ad2a47e890675da50a278" + dependencies: + acorn "^5.0.0" + +acorn-globals@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.1.0.tgz#ab716025dbe17c54d3ef81d32ece2b2d99fe2538" + dependencies: + acorn "^5.0.0" + acorn-jsx@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" @@ -116,6 +150,10 @@ acorn@^3.0.4: version "3.3.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" +acorn@^5.0.0, acorn@^5.2.1, acorn@^5.5.3: + version "5.7.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" + acorn@^5.5.0: version "5.5.3" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.5.3.tgz#f473dd47e0277a08e28e9bec5aeeb04751f0b8c9" @@ -455,6 +493,10 @@ aws4@^1.2.1, aws4@^1.6.0: version "1.7.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.7.0.tgz#d4d0e9b9dbfca77bf08eeb0a8a471550fe39e289" +aws4@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" + babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" @@ -1490,6 +1532,22 @@ broccoli-rollup@^1.2.0: symlink-or-copy "^1.1.8" walk-sync "^0.3.1" +broccoli-rollup@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/broccoli-rollup/-/broccoli-rollup-2.1.1.tgz#0b77dc4b7560a53e998ea85f3b56772612d4988d" + dependencies: + "@types/node" "^9.6.0" + amd-name-resolver "^1.2.0" + broccoli-plugin "^1.2.1" + fs-tree-diff "^0.5.2" + heimdalljs "^0.2.1" + heimdalljs-logger "^0.1.7" + magic-string "^0.24.0" + node-modules-path "^1.0.1" + rollup "^0.57.1" + symlink-or-copy "^1.1.8" + walk-sync "^0.3.1" + broccoli-sass-source-maps@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/broccoli-sass-source-maps/-/broccoli-sass-source-maps-2.2.0.tgz#1f1a0794136152b096188638b59b42b17a4bdc68" @@ -1594,6 +1652,10 @@ broccoli-writer@^0.1.1, broccoli-writer@~0.1.1: quick-temp "^0.1.0" rsvp "^3.0.6" +browser-process-hrtime@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.2.tgz#425d68a58d3447f02a04aa894187fce8af8b7b8e" + browser-stdout@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f" @@ -1626,6 +1688,10 @@ builtin-modules@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" +builtin-modules@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-2.0.0.tgz#60b7ef5ae6546bd7deefa74b08b62a43a232648e" + builtins@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" @@ -1742,6 +1808,10 @@ callsites@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" +camelcase-css@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-1.0.1.tgz#157c4238265f5cf94a1dffde86446552cbf3f705" + camelcase-keys@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" @@ -1843,6 +1913,14 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.3.1, chalk@^2.3 escape-string-regexp "^1.0.5" supports-color "^5.3.0" +chalk@^2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + chardet@^0.4.0: version "0.4.2" resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" @@ -1955,6 +2033,14 @@ cli-width@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" +clipboard@^1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-1.7.1.tgz#360d6d6946e99a7a1fef395e42ba92b5e9b5a16b" + dependencies: + good-listener "^1.2.2" + select "^1.1.2" + tiny-emitter "^2.0.0" + cliui@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" @@ -2044,7 +2130,7 @@ columnify@~1.5.4: strip-ansi "^3.0.0" wcwidth "^1.0.0" -combined-stream@1.0.6, combined-stream@^1.0.5, combined-stream@~1.0.5: +combined-stream@1.0.6, combined-stream@^1.0.5, combined-stream@~1.0.5, combined-stream@~1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818" dependencies: @@ -2070,10 +2156,18 @@ commander@2.9.0: dependencies: graceful-readlink ">= 1.0.0" +commander@^2.11.0: + version "2.18.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.18.0.tgz#2bf063ddee7c7891176981a2cc798e5754bc6970" + commander@~2.13.0: version "2.13.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" +comment-regex@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/comment-regex/-/comment-regex-1.0.1.tgz#e070d2c4db33231955d0979d27c918fcb6f93565" + common-tags@^1.4.0: version "1.7.2" resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.7.2.tgz#24d9768c63d253a56ecff93845b44b4df1d52771" @@ -2280,6 +2374,20 @@ cson-parser@^1.1.0: dependencies: coffee-script "^1.10.0" +css.escape@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" + +cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": + version "0.3.4" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.4.tgz#8cd52e8a3acfd68d3aed38ee0a640177d2f9d797" + +cssstyle@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.1.1.tgz#18b038a9c44d65f7a8e428a653b9f6fe42faf5fb" + dependencies: + cssom "0.3.x" + currently-unhandled@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" @@ -2603,6 +2711,20 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" +data-urls@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.0.1.tgz#d416ac3896918f29ca84d81085bc3705834da579" + dependencies: + abab "^2.0.0" + whatwg-mimetype "^2.1.0" + whatwg-url "^7.0.0" + +date-time@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/date-time/-/date-time-2.1.0.tgz#0286d1b4c769633b3ca13e1e62558d2dbdc2eba2" + dependencies: + time-zone "^1.0.0" + debug@2.6.8: version "2.6.8" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" @@ -2678,6 +2800,10 @@ define-property@^2.0.2: is-descriptor "^1.0.2" isobject "^3.0.1" +defined@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" + del@^2.0.2: version "2.2.2" resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" @@ -2694,6 +2820,10 @@ delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" +delegate@^3.1.2: + version "3.2.0" + resolved "https://registry.yarnpkg.com/delegate/-/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166" + delegates@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" @@ -2753,7 +2883,13 @@ doctrine@^2.1.0: dependencies: esutils "^2.0.2" -dot-prop@^4.1.0: +domexception@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" + dependencies: + webidl-conversions "^4.0.2" + +dot-prop@^4.1.0, dot-prop@^4.1.1: version "4.2.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" dependencies: @@ -2853,6 +2989,16 @@ ember-cli-broccoli-sane-watcher@^2.0.4: rsvp "^3.0.18" sane "^2.4.1" +ember-cli-clipboard@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/ember-cli-clipboard/-/ember-cli-clipboard-0.8.1.tgz#59f8eb6ba471a7668dff592fcebb7b06014240dd" + dependencies: + broccoli-funnel "^1.1.0" + clipboard "^1.7.1" + ember-cli-babel "^6.8.0" + ember-cli-htmlbars "^2.0.2" + fastboot-transform "0.1.1" + ember-cli-custom-assertions@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/ember-cli-custom-assertions/-/ember-cli-custom-assertions-0.1.0.tgz#99a38ae3aa3adf72057b916d841c92bbeaf8b95d" @@ -3046,6 +3192,28 @@ ember-cli-string-utils@^1.0.0, ember-cli-string-utils@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/ember-cli-string-utils/-/ember-cli-string-utils-1.1.0.tgz#39b677fc2805f55173735376fcef278eaa4452a1" +ember-cli-tailwind@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/ember-cli-tailwind/-/ember-cli-tailwind-0.6.1.tgz#a93aea4c00b07dc492f7a0d5ec996da02c16e9b8" + dependencies: + broccoli-funnel "^2.0.1" + broccoli-plugin "^1.3.0" + broccoli-rollup "^2.0.0" + ember-cli-babel "^6.6.0" + ember-cli-clipboard "^0.8.1" + ember-cli-htmlbars "^2.0.1" + ember-cli-string-utils "^1.1.0" + ember-composable-helpers "^2.1.0" + ember-truth-helpers "^2.0.0" + fixturify "^0.3.4" + fs-extra "^5.0.0" + jsdom "^11.6.2" + postcss "^6.0.20" + postcss-easy-import "^3.0.0" + rollup-plugin-commonjs "^8.3.0" + rollup-plugin-node-resolve "^3.3.0" + tailwindcss "^0.6.1" + ember-cli-test-info@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/ember-cli-test-info/-/ember-cli-test-info-1.0.0.tgz#ed4e960f249e97523cf891e4aed2072ce84577b4" @@ -3225,7 +3393,7 @@ ember-component-css@^0.3.4: rsvp "^4.0.1" walk-sync "^0.3.2" -ember-composable-helpers@^2.0.3: +ember-composable-helpers@^2.0.3, ember-composable-helpers@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/ember-composable-helpers/-/ember-composable-helpers-2.1.0.tgz#71f75ab2de1c696d21939b5f9dcc62eaf2c947e5" dependencies: @@ -3496,6 +3664,12 @@ ember-tether@^1.0.0-beta.0: ember-cli-node-assets "^0.2.2" tether "^1.4.0" +ember-truth-helpers@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ember-truth-helpers/-/ember-truth-helpers-2.1.0.tgz#d4dab4eee7945aa2388126485977baeb33ca0798" + dependencies: + ember-cli-babel "^6.6.0" + ember-truth-helpers@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ember-truth-helpers/-/ember-truth-helpers-2.0.0.tgz#f3e2eef667859197f1328bb4f83b0b35b661c1ac" @@ -3701,6 +3875,17 @@ escape-string-regexp@1.0.5, escape-string-regexp@^1.0.0, escape-string-regexp@^1 version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" +escodegen@^1.9.1: + version "1.11.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.0.tgz#b27a9389481d5bfd5bec76f7bb1eb3f8f4556589" + dependencies: + esprima "^3.1.3" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + eslint-plugin-ember@^5.0.0: version "5.1.0" resolved "https://registry.yarnpkg.com/eslint-plugin-ember/-/eslint-plugin-ember-5.1.0.tgz#fb96abd2d8bf105678a0aa81dadd99d7ca441ba1" @@ -3770,6 +3955,10 @@ espree@^3.5.4: acorn "^5.5.0" acorn-jsx "^3.0.0" +esprima@^3.1.3, esprima@~3.1.0: + version "3.1.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" + esprima@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" @@ -3778,10 +3967,6 @@ esprima@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.0.0.tgz#53cf247acda77313e551c3aa2e73342d3fb4f7d9" -esprima@~3.1.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" - esquery@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" @@ -3794,10 +3979,14 @@ esrecurse@^4.1.0: dependencies: estraverse "^4.1.0" -estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1: +estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" +estree-walker@^0.5.0, estree-walker@^0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.5.2.tgz#d3850be7529c9580d815600b53126515e146dd39" + esutils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" @@ -3973,6 +4162,10 @@ extend@^3.0.0, extend@~3.0.0, extend@~3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + external-editor@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-1.1.1.tgz#12d7b0db850f7ff7e7081baf4005700060c4600b" @@ -4055,6 +4248,12 @@ fast-sourcemap-concat@^1.0.1: source-map-url "^0.3.0" sourcemap-validator "^1.0.5" +fastboot-transform@0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/fastboot-transform/-/fastboot-transform-0.1.1.tgz#de55550d85644ec94cb11264c2ba883e3ea3b255" + dependencies: + broccoli-stew "^1.5.0" + faye-websocket@~0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" @@ -4211,7 +4410,7 @@ form-data@~2.1.1: combined-stream "^1.0.5" mime-types "^2.1.12" -form-data@~2.3.1: +form-data@~2.3.1, form-data@~2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099" dependencies: @@ -4386,6 +4585,10 @@ functional-red-black-tree@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" +gather-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/gather-stream/-/gather-stream-1.0.0.tgz#b33994af457a8115700d410f317733cbe7a0904b" + gauge@~2.7.3: version "2.7.4" resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" @@ -4571,6 +4774,16 @@ globby@^5.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" +globby@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" + dependencies: + array-union "^1.0.1" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + globule@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/globule/-/globule-1.2.0.tgz#1dc49c6822dd9e8a2fa00ba2a295006e8664bd09" @@ -4579,6 +4792,12 @@ globule@^1.0.0: lodash "~4.17.4" minimatch "~3.0.2" +good-listener@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50" + dependencies: + delegate "^3.1.2" + got@^6.7.1: version "6.7.1" resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" @@ -4674,6 +4893,13 @@ har-validator@~5.0.3: ajv "^5.1.0" har-schema "^2.0.0" +har-validator@~5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.0.tgz#44657f5688a22cfd4b72486e81b3a3fb11742c29" + dependencies: + ajv "^5.3.0" + har-schema "^2.0.0" + has-ansi@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-0.1.0.tgz#84f265aae8c0e6a88a12d7022894b7568894c62e" @@ -4837,6 +5063,12 @@ hosted-git-info@~2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c" +html-encoding-sniffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" + dependencies: + whatwg-encoding "^1.0.1" + http-cache-semantics@3.8.1, http-cache-semantics@^3.8.0: version "3.8.1" resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2" @@ -4916,6 +5148,12 @@ iconv-lite@0.4.19: version "0.4.19" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" +iconv-lite@0.4.23: + version "0.4.23" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" + dependencies: + safer-buffer ">= 2.1.2 < 3" + iferr@^0.1.5, iferr@~0.1.5: version "0.1.5" resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" @@ -4946,6 +5184,10 @@ indent-string@^2.1.0: dependencies: repeating "^2.0.0" +indexes-of@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + indexof@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" @@ -5145,7 +5387,7 @@ is-extglob@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" -is-extglob@^2.1.0: +is-extglob@^2.1.0, is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" @@ -5181,6 +5423,12 @@ is-glob@^3.1.0: dependencies: is-extglob "^2.1.0" +is-glob@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" + dependencies: + is-extglob "^2.1.1" + is-installed-globally@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80" @@ -5188,6 +5436,10 @@ is-installed-globally@^0.1.0: global-dirs "^0.1.0" is-path-inside "^1.0.0" +is-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" + is-my-ip-valid@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz#7b351b8e8edd4d3995d4d066680e664d94696824" @@ -5282,6 +5534,12 @@ is-redirect@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" +is-reference@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.1.0.tgz#50e6ef3f64c361e2c53c0416cdc9420037f2685b" + dependencies: + "@types/estree" "0.0.38" + is-resolvable@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" @@ -5392,6 +5650,37 @@ jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" +jsdom@^11.6.2: + version "11.12.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8" + dependencies: + abab "^2.0.0" + acorn "^5.5.3" + acorn-globals "^4.1.0" + array-equal "^1.0.0" + cssom ">= 0.3.2 < 0.4.0" + cssstyle "^1.0.0" + data-urls "^1.0.0" + domexception "^1.0.1" + escodegen "^1.9.1" + html-encoding-sniffer "^1.0.2" + left-pad "^1.3.0" + nwsapi "^2.0.7" + parse5 "4.0.0" + pn "^1.1.0" + request "^2.87.0" + request-promise-native "^1.0.5" + sax "^1.2.4" + symbol-tree "^3.2.2" + tough-cookie "^2.3.4" + w3c-hr-time "^1.0.1" + webidl-conversions "^4.0.2" + whatwg-encoding "^1.0.3" + whatwg-mimetype "^2.1.0" + whatwg-url "^6.4.1" + ws "^5.2.0" + xml-name-validator "^3.0.0" + jsesc@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" @@ -5539,6 +5828,10 @@ leek@0.0.24: lodash.assign "^3.2.0" rsvp "^3.0.21" +left-pad@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" + levn@^0.3.0, levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" @@ -5598,6 +5891,10 @@ loader.js@^4.2.3: version "4.7.0" resolved "https://registry.yarnpkg.com/loader.js/-/loader.js-4.7.0.tgz#a1a52902001c83631efde9688b8ab3799325ef1f" +locate-character@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/locate-character/-/locate-character-2.0.5.tgz#f2d2614d49820ecb3c92d80d193b8db755f74c0f" + locate-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" @@ -5921,6 +6218,10 @@ lodash.restparam@^3.0.0: version "3.6.1" resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + lodash.support@~2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/lodash.support/-/lodash.support-2.3.0.tgz#7eaf038af4f0d6aab776b44aa6dcfc80334c9bfd" @@ -5993,6 +6294,10 @@ lodash@^4.0.0, lodash@^4.14.0, lodash@^4.17.4, lodash@^4.3.0, lodash@^4.5.1, lod version "4.17.5" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" +lodash@^4.13.1, lodash@^4.17.5: + version "4.17.11" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" + log-symbols@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" @@ -6035,6 +6340,18 @@ lru-cache@^4.0.1, lru-cache@^4.1.1, lru-cache@~4.1.1: pseudomap "^1.0.2" yallist "^2.1.2" +magic-string@^0.22.4: + version "0.22.5" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.22.5.tgz#8e9cf5afddf44385c1da5bc2a6a0dbd10b03657e" + dependencies: + vlq "^0.2.2" + +magic-string@^0.24.0: + version "0.24.1" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.24.1.tgz#7e38e5f126cae9f15e71f0cf8e450818ca7d5a8f" + dependencies: + sourcemap-codec "^1.4.1" + make-dir@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.2.0.tgz#6d6a49eead4aae296c53bbf3a1a008bd6c89469b" @@ -6203,7 +6520,7 @@ methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" -micromatch@^2.1.5: +micromatch@^2.1.5, micromatch@^2.3.11: version "2.3.11" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" dependencies: @@ -6243,12 +6560,22 @@ micromatch@^3.0.4, micromatch@^3.1.4: version "1.33.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" +mime-db@~1.36.0: + version "1.36.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.36.0.tgz#5020478db3c7fe93aad7bbcc4dcf869c43363397" + mime-types@^2.1.12, mime-types@^2.1.18, mime-types@~2.1.17, mime-types@~2.1.18, mime-types@~2.1.7: version "2.1.18" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" dependencies: mime-db "~1.33.0" +mime-types@~2.1.19: + version "2.1.20" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.20.tgz#930cb719d571e903738520f8470911548ca2cc19" + dependencies: + mime-db "~1.36.0" + mime@1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" @@ -6766,11 +7093,19 @@ number-is-nan@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" +nwsapi@^2.0.7: + version "2.0.9" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.0.9.tgz#77ac0cdfdcad52b6a1151a84e73254edc33ed016" + oauth-sign@~0.8.1, oauth-sign@~0.8.2: version "0.8.2" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" -object-assign@4.1.1, object-assign@^4.0.1, object-assign@^4.1.0: +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + +object-assign@4.1.1, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" @@ -6852,7 +7187,7 @@ optimist@^0.6.1: minimist "~0.0.1" wordwrap "~0.0.2" -optionator@^0.8.2: +optionator@^0.8.1, optionator@^0.8.2: version "0.8.2" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" dependencies: @@ -6999,10 +7334,18 @@ parse-json@^2.2.0: dependencies: error-ex "^1.2.0" +parse-ms@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-1.0.1.tgz#56346d4749d78f23430ca0c713850aef91aa361d" + parse-passwd@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" +parse5@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" + parseqs@0.0.5: version "0.0.5" resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d" @@ -7071,6 +7414,21 @@ path-type@^1.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" +perfectionist@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/perfectionist/-/perfectionist-2.4.0.tgz#c147ad3714e126467f1764129ee72df861d47ea0" + dependencies: + comment-regex "^1.0.0" + defined "^1.0.0" + minimist "^1.2.0" + postcss "^5.0.8" + postcss-scss "^0.3.0" + postcss-value-parser "^3.3.0" + read-file-stdin "^0.2.0" + string.prototype.repeat "^0.2.0" + vendors "^1.0.0" + write-file-stdout "0.0.2" + performance-now@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" @@ -7079,7 +7437,7 @@ performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" -pify@^2.0.0: +pify@^2.0.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -7101,6 +7459,10 @@ pluralize@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" +pn@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" + portfinder@^1.0.7: version "1.0.13" resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.13.tgz#bb32ecd87c27104ae6ee44b5a3ccbf0ebb1aede9" @@ -7113,12 +7475,64 @@ posix-character-classes@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" +postcss-easy-import@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-easy-import/-/postcss-easy-import-3.0.0.tgz#8eaaf5ae59566083d0cae98735dfd803e3ab194d" + dependencies: + globby "^6.1.0" + is-glob "^4.0.0" + lodash "^4.17.4" + object-assign "^4.0.1" + pify "^3.0.0" + postcss "^6.0.11" + postcss-import "^10.0.0" + resolve "^1.1.7" + +postcss-functions@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-functions/-/postcss-functions-3.0.0.tgz#0e94d01444700a481de20de4d55fb2640564250e" + dependencies: + glob "^7.1.2" + object-assign "^4.1.1" + postcss "^6.0.9" + postcss-value-parser "^3.3.0" + +postcss-import@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-10.0.0.tgz#4c85c97b099136cc5ea0240dc1dfdbfde4e2ebbe" + dependencies: + object-assign "^4.0.1" + postcss "^6.0.1" + postcss-value-parser "^3.2.3" + read-cache "^1.0.0" + resolve "^1.1.7" + +postcss-js@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-1.0.1.tgz#ffaf29226e399ea74b5dce02cab1729d7addbc7b" + dependencies: + camelcase-css "^1.0.1" + postcss "^6.0.11" + postcss-less@^1.1.0: version "1.1.5" resolved "https://registry.yarnpkg.com/postcss-less/-/postcss-less-1.1.5.tgz#a6f0ce180cf3797eeee1d4adc0e9e6d6db665609" dependencies: postcss "^5.2.16" +postcss-nested@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-3.0.0.tgz#cde40bd07a078565f3df72e2dc2665871c724852" + dependencies: + postcss "^6.0.14" + postcss-selector-parser "^3.1.1" + +postcss-scss@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/postcss-scss/-/postcss-scss-0.3.1.tgz#65c610d8e2a7ee0e62b1835b71b8870734816e4b" + dependencies: + postcss "^5.2.4" + postcss-scss@^1.0.2: version "1.0.5" resolved "https://registry.yarnpkg.com/postcss-scss/-/postcss-scss-1.0.5.tgz#40a10cfd03766accf0a3cf8e65a8af887b2bf6c4" @@ -7131,11 +7545,19 @@ postcss-selector-namespace@^1.4.1: dependencies: postcss "^6.0.14" -postcss-value-parser@^3.2.3: +postcss-selector-parser@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz#4f875f4afb0c96573d5cf4d74011aee250a7e865" + dependencies: + dot-prop "^4.1.1" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15" -postcss@^5.2.16: +postcss@^5.0.8, postcss@^5.2.16, postcss@^5.2.4: version "5.2.18" resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.18.tgz#badfa1497d46244f6390f58b319830d9107853c5" dependencies: @@ -7152,6 +7574,14 @@ postcss@^6.0.1, postcss@^6.0.14, postcss@^6.0.17, postcss@^6.0.21, postcss@^6.0. source-map "^0.6.1" supports-color "^5.3.0" +postcss@^6.0.11, postcss@^6.0.20, postcss@^6.0.9: + version "6.0.23" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" + dependencies: + chalk "^2.4.1" + source-map "^0.6.1" + supports-color "^5.4.0" + prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" @@ -7175,6 +7605,12 @@ pretender@^1.6.1: fake-xml-http-request "^1.6.0" route-recognizer "^0.3.3" +pretty-ms@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-3.2.0.tgz#87a8feaf27fc18414d75441467d411d6e6098a25" + dependencies: + parse-ms "^1.0.0" + printf@^0.2.3: version "0.2.5" resolved "https://registry.yarnpkg.com/printf/-/printf-0.2.5.tgz#c438ca2ca33e3927671db4ab69c0e52f936a4f0f" @@ -7245,6 +7681,10 @@ pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" +psl@^1.1.24: + version "1.1.29" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.29.tgz#60f580d360170bb722a797cc704411e6da850c67" + pump@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/pump/-/pump-1.0.3.tgz#5dfe8311c33bbf6fc18261f9f34702c47c08a954" @@ -7271,6 +7711,10 @@ punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" +punycode@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + qs@6.5.1, qs@^6.4.0, qs@~6.5.1: version "6.5.1" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" @@ -7283,6 +7727,10 @@ qs@~6.4.0: version "6.4.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + query-string@^5.0.1: version "5.1.1" resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" @@ -7354,12 +7802,24 @@ rc@^1.0.1, rc@^1.1.6, rc@^1.1.7: minimist "^1.2.0" strip-json-comments "~2.0.1" +read-cache@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" + dependencies: + pify "^2.3.0" + read-cmd-shim@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-1.0.1.tgz#2d5d157786a37c055d22077c32c53f8329e91c7b" dependencies: graceful-fs "^4.1.2" +read-file-stdin@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/read-file-stdin/-/read-file-stdin-0.2.1.tgz#25eccff3a153b6809afacb23ee15387db9e0ee61" + dependencies: + gather-stream "^1.0.0" + read-installed@~4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/read-installed/-/read-installed-4.0.3.tgz#ff9b8b67f187d1e4c29b9feb31f6b223acd19067" @@ -7575,6 +8035,20 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" +request-promise-core@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.1.tgz#3eee00b2c5aa83239cfb04c5700da36f81cd08b6" + dependencies: + lodash "^4.13.1" + +request-promise-native@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.5.tgz#5281770f68e0c9719e5163fd3fab482215f4fda5" + dependencies: + request-promise-core "1.1.1" + stealthy-require "^1.1.0" + tough-cookie ">=2.3.3" + request@2, request@^2.74.0: version "2.85.0" resolved "https://registry.yarnpkg.com/request/-/request-2.85.0.tgz#5a03615a47c61420b3eb99b7dba204f83603e1fa" @@ -7629,6 +8103,31 @@ request@2.81.0, request@~2.81.0: tunnel-agent "^0.6.0" uuid "^3.0.0" +request@^2.87.0: + version "2.88.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.0" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.4.3" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + request@~2.79.0: version "2.79.0" resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" @@ -7668,6 +8167,10 @@ require-main-filename@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" +require-relative@^0.8.7: + version "0.8.7" + resolved "https://registry.yarnpkg.com/require-relative/-/require-relative-0.8.7.tgz#7999539fc9e047a37928fa196f8e1563dabd36de" + require-uncached@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" @@ -7761,12 +8264,53 @@ rimraf@~2.2.6: version "2.2.8" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582" +rollup-plugin-commonjs@^8.3.0: + version "8.4.1" + resolved "https://registry.yarnpkg.com/rollup-plugin-commonjs/-/rollup-plugin-commonjs-8.4.1.tgz#5c9cea2b2c3de322f5fbccd147e07ed5e502d7a0" + dependencies: + acorn "^5.2.1" + estree-walker "^0.5.0" + magic-string "^0.22.4" + resolve "^1.4.0" + rollup-pluginutils "^2.0.1" + +rollup-plugin-node-resolve@^3.3.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.4.0.tgz#908585eda12e393caac7498715a01e08606abc89" + dependencies: + builtin-modules "^2.0.0" + is-module "^1.0.0" + resolve "^1.1.6" + +rollup-pluginutils@^2.0.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.3.1.tgz#760d185ccc237dedc12d7ae48c6bcd127b4892d0" + dependencies: + estree-walker "^0.5.2" + micromatch "^2.3.11" + rollup@^0.41.4: version "0.41.6" resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.41.6.tgz#e0d05497877a398c104d816d2733a718a7a94e2a" dependencies: source-map-support "^0.4.0" +rollup@^0.57.1: + version "0.57.1" + resolved "http://registry.npmjs.org/rollup/-/rollup-0.57.1.tgz#0bb28be6151d253f67cf4a00fea48fb823c74027" + dependencies: + "@types/acorn" "^4.0.3" + acorn "^5.5.3" + acorn-dynamic-import "^3.0.0" + date-time "^2.1.0" + is-reference "^1.1.0" + locate-character "^2.0.5" + pretty-ms "^3.1.0" + require-relative "^0.8.7" + rollup-pluginutils "^2.0.1" + signal-exit "^3.0.2" + sourcemap-codec "^1.4.1" + route-recognizer@^0.2.3: version "0.2.10" resolved "https://registry.yarnpkg.com/route-recognizer/-/route-recognizer-0.2.10.tgz#024b2283c2e68d13a7c7f5173a5924645e8902df" @@ -7825,6 +8369,10 @@ safe-buffer@5.1.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, s version "5.1.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" +safe-buffer@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + safe-json-parse@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/safe-json-parse/-/safe-json-parse-1.0.1.tgz#3e76723e38dfdda13c9b1d29a1e07ffee4b30b57" @@ -7835,7 +8383,7 @@ safe-regex@^1.1.0: dependencies: ret "~0.1.10" -safer-buffer@^2.1.0: +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" @@ -7862,6 +8410,10 @@ sass-graph@^2.2.4: scss-tokenizer "^0.2.3" yargs "^7.0.0" +sax@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + scss-tokenizer@^0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1" @@ -7869,6 +8421,10 @@ scss-tokenizer@^0.2.3: js-base64 "^2.1.8" source-map "^0.4.2" +select@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d" + semver-diff@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" @@ -8169,6 +8725,10 @@ source-map@~0.1.x: dependencies: amdefine ">=0.0.4" +sourcemap-codec@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.1.tgz#c8fd92d91889e902a07aee392bdd2c5863958ba2" + sourcemap-validator@^1.0.5: version "1.1.0" resolved "https://registry.yarnpkg.com/sourcemap-validator/-/sourcemap-validator-1.1.0.tgz#00454547d1682186e1498a7208e022e8dfa8738f" @@ -8276,6 +8836,10 @@ stdout-stream@^1.4.0: dependencies: readable-stream "^2.0.1" +stealthy-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + stream-each@^1.1.0: version "1.2.2" resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.2.tgz#8e8c463f91da8991778765873fe4d960d8f616bd" @@ -8317,6 +8881,10 @@ string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" +string.prototype.repeat@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/string.prototype.repeat/-/string.prototype.repeat-0.2.0.tgz#aba36de08dcee6a5a337d49b2ea1da1b28fc0ecf" + string_decoder@0.10, string_decoder@~0.10.x: version "0.10.31" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" @@ -8409,6 +8977,16 @@ supports-color@^5.3.0: dependencies: has-flag "^3.0.0" +supports-color@^5.4.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + dependencies: + has-flag "^3.0.0" + +symbol-tree@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" + symlink-or-copy@^1.0.0, symlink-or-copy@^1.0.1, symlink-or-copy@^1.1.8: version "1.2.0" resolved "https://registry.yarnpkg.com/symlink-or-copy/-/symlink-or-copy-1.2.0.tgz#5d49108e2ab824a34069b68974486c290020b393" @@ -8434,6 +9012,21 @@ table@4.0.2: slice-ansi "1.0.0" string-width "^2.1.1" +tailwindcss@^0.6.1: + version "0.6.5" + resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-0.6.5.tgz#f692f875c373721d65ccecba5eb16fa949bcbb97" + dependencies: + commander "^2.11.0" + css.escape "^1.5.1" + fs-extra "^4.0.2" + lodash "^4.17.5" + perfectionist "^2.4.0" + postcss "^6.0.9" + postcss-functions "^3.0.0" + postcss-js "^1.0.1" + postcss-nested "^3.0.0" + postcss-selector-parser "^3.1.1" + tap-parser@^5.1.0: version "5.4.0" resolved "https://registry.yarnpkg.com/tap-parser/-/tap-parser-5.4.0.tgz#6907e89725d7b7fa6ae41ee2c464c3db43188aec" @@ -8556,10 +9149,18 @@ through2@^2.0.0: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" +time-zone@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/time-zone/-/time-zone-1.0.0.tgz#99c5bf55958966af6d06d83bdf3800dc82faec5d" + timed-out@^4.0.0, timed-out@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" +tiny-emitter@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.0.2.tgz#82d27468aca5ade8e5fd1e6d22b57dd43ebdfb7c" + tiny-lr@^1.0.3: version "1.1.1" resolved "https://registry.yarnpkg.com/tiny-lr/-/tiny-lr-1.1.1.tgz#9fa547412f238fedb068ee295af8b682c98b2aab" @@ -8623,12 +9224,25 @@ to-regex@^3.0.1, to-regex@^3.0.2: regex-not "^1.0.2" safe-regex "^1.1.0" +tough-cookie@>=2.3.3, tough-cookie@^2.3.4, tough-cookie@~2.4.3: + version "2.4.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" + dependencies: + psl "^1.1.24" + punycode "^1.4.1" + tough-cookie@~2.3.0, tough-cookie@~2.3.3: version "2.3.4" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655" dependencies: punycode "^1.4.1" +tr46@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" + dependencies: + punycode "^2.1.0" + tree-sync@^1.2.1, tree-sync@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/tree-sync/-/tree-sync-1.2.2.tgz#2cf76b8589f59ffedb58db5a3ac7cb013d0158b7" @@ -8748,6 +9362,10 @@ union-value@^1.0.0: is-extendable "^0.1.1" set-value "^0.4.3" +uniq@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + unique-filename@^1.1.0, unique-filename@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.0.tgz#d05f2fe4032560871f30e93cbe735eea201514f3" @@ -8879,6 +9497,10 @@ uuid@^3.0.0, uuid@^3.1.0: version "3.2.1" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14" +uuid@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" + uuid@~3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" @@ -8904,6 +9526,10 @@ vary@~1.1.2: version "1.5.1" resolved "https://registry.yarnpkg.com/velocity-animate/-/velocity-animate-1.5.1.tgz#606837047bab8fbfb59a636d1d82ecc3f7bd71a6" +vendors@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.2.tgz#7fcb5eef9f5623b156bcea89ec37d63676f21801" + verror@1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" @@ -8912,6 +9538,16 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" +vlq@^0.2.2: + version "0.2.3" + resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.3.tgz#8f3e4328cf63b1540c0d67e1b2778386f8975b26" + +w3c-hr-time@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045" + dependencies: + browser-process-hrtime "^0.1.2" + walk-sync@0.3.2, walk-sync@^0.3.0, walk-sync@^0.3.1, walk-sync@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/walk-sync/-/walk-sync-0.3.2.tgz#4827280afc42d0e035367c4a4e31eeac0d136f75" @@ -8955,6 +9591,10 @@ wcwidth@^1.0.0, wcwidth@^1.0.1: dependencies: defaults "^1.0.3" +webidl-conversions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" + websocket-driver@>=0.5.1: version "0.7.0" resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.0.tgz#0caf9d2d755d93aee049d4bdd0d3fe2cca2a24eb" @@ -8966,6 +9606,32 @@ websocket-extensions@>=0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29" +whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.4.tgz#63fb016b7435b795d9025632c086a5209dbd2621" + dependencies: + iconv-lite "0.4.23" + +whatwg-mimetype@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.1.0.tgz#f0f21d76cbba72362eb609dbed2a30cd17fcc7d4" + +whatwg-url@^6.4.1: + version "6.5.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + +whatwg-url@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.0.0.tgz#fde926fa54a599f3adf82dff25a9f7be02dc6edd" + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + which-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" @@ -9054,12 +9720,22 @@ write-file-atomic@~2.1.0: imurmurhash "^0.1.4" slide "^1.1.5" +write-file-stdout@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/write-file-stdout/-/write-file-stdout-0.0.2.tgz#c252d7c7c5b1b402897630e3453c7bfe690d9ca1" + write@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" dependencies: mkdirp "^0.5.1" +ws@^5.2.0: + version "5.2.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" + dependencies: + async-limiter "~1.0.0" + ws@~3.3.1: version "3.3.3" resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" @@ -9072,6 +9748,10 @@ xdg-basedir@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + xmldom@^0.1.19: version "0.1.27" resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.27.tgz#d501f97b3bdb403af8ef9ecc20573187aadac0e9"