Replaced bootstrap-vue with vuetify

This commit is contained in:
Michael Mayer 2018-09-06 23:58:16 +02:00
parent 1716c5a38f
commit d5f46df060
13 changed files with 226 additions and 269 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1 MiB

After

Width:  |  Height:  |  Size: 1.5 MiB

View file

@ -1,5 +1,5 @@
@import url("../node_modules/bootstrap/dist/css/bootstrap.css");
@import url("../node_modules/bootstrap-vue/dist/bootstrap-vue.css");
@import url("../node_modules/vuetify/dist/vuetify.min.css");
@import url("../node_modules/material-design-icons-iconfont/dist/material-design-icons.css");
@import url("../node_modules/@fortawesome/fontawesome-free/css/all.css");
@import url("alerts.css");
@ -36,12 +36,12 @@ main {
}
main div.page {
margin: 43px 0 0 0;
margin: 0;
padding: 0;
}
main div.page .page-container {
padding: 2rem;
padding: 0;
overflow: auto;
}

View file

@ -11,19 +11,10 @@
"test": "karma start"
},
"dependencies": {
"@fortawesome/fontawesome-free": "^5.2.0",
"autoprefixer": "^6.7.2",
"axios": "^0.16.1",
"axios-mock-adapter": "^1.8.1",
"chart.js": "^2.5.0",
"@fortawesome/fontawesome-free": "^5.2.0",
"justified-gallery": "^0.1.0",
"vue": "^2.4.4",
"vue-justified-layout": "^0.1.0",
"vue-router": "^2.7.0",
"vue-template-compiler": "^2.4.4",
"vue-moment": "^4.0.0"
},
"devDependencies": {
"autoprefixer": "^6.7.2",
"babel-core": "^6.22.1",
"babel-eslint": "^7.1.1",
"babel-loader": "^7.1.5",
@ -34,10 +25,9 @@
"babel-preset-es2015": "^6.24.1",
"babel-preset-stage-2": "^6.22.0",
"babel-register": "^6.22.0",
"bootstrap": "^4.1.3",
"bootstrap-vue": "^2.0.0-rc.11",
"chai": "^3.5.0",
"chalk": "^1.1.3",
"chart.js": "^2.5.0",
"connect-history-api-fallback": "^1.3.0",
"copy-webpack-plugin": "^4.0.1",
"cross-env": "^3.1.4",
@ -56,6 +46,7 @@
"html-webpack-plugin": "^2.28.0",
"http-proxy-middleware": "^0.17.3",
"inject-loader": "^2.0.1",
"justified-gallery": "^0.1.0",
"karma": "^1.7.0",
"karma-chrome-launcher": "^2.1.1",
"karma-firefox-launcher": "^1.0.1",
@ -65,6 +56,7 @@
"karma-webdriver-launcher": "^1.0.5",
"karma-webpack": "^2.0.3",
"lodash": "^4.17.10",
"material-design-icons-iconfont": "^3.0.3",
"mocha": "^3.3.0",
"node-sass": "^4.9.2",
"optimize-css-assets-webpack-plugin": "^1.3.0",
@ -76,9 +68,15 @@
"style-loader": "^0.16.1",
"svg-url-loader": "^2.0.2",
"url-loader": "^0.5.8",
"vue": "^2.4.4",
"vue-justified-layout": "^0.1.0",
"vue-loader": "^11.1.4",
"vue-moment": "^4.0.0",
"vue-router": "^2.7.0",
"vue-style-loader": "^2.0.0",
"vue-template-compiler": "^2.4.4",
"vuelidate": "^0.4.3",
"vuetify": "^1.2.3",
"webpack": "^3.12.0",
"webpack-bundle-analyzer": "^2.13.1",
"webpack-dev-middleware": "^2.0.0",

View file

@ -1,5 +1,5 @@
import Vue from 'vue';
import BootstrapVue from 'bootstrap-vue';
import Vuetify from 'vuetify';
import Router from 'vue-router';
import '../css/app.css';
import App from 'app/main.vue';
@ -19,7 +19,15 @@ Vue.prototype.$session = session;
Vue.prototype.$api = Api;
Vue.prototype.$config = window.appConfig;
Vue.use(BootstrapVue);
Vue.use(Vuetify, {
theme: {
primary: '#FFCA28',
secondary: '#b0bec5',
accent: '#8c9eff',
error: '#b71c1c',
},
});
Vue.use(Moment);
Vue.use(AppComponents);
Vue.use(Router);

View file

@ -2,13 +2,13 @@
<div id="app">
<app-loading-bar ref="loadingBar" height="4"></app-loading-bar>
<app-navigation></app-navigation>
<v-app>
<app-navigation></app-navigation>
<!-- route outlet -->
<!-- component matched by the route will render here -->
<main>
<router-view></router-view>
</main>
<v-content>
<router-view></router-view>
</v-content>
</v-app>
</div>
</template>

View file

@ -1,10 +1,10 @@
<template>
<div class="page page-albums">
<v-container fluid>
<h1 class="md-display-1">Albums</h1>
<p class="md-subheading">
A user-friendly tool for importing, filtering and archiving large amounts of JPEG and RAW files
</p>
</div>
</v-container>
</template>
<script>

View file

@ -1,10 +1,10 @@
<template>
<div class="page page-export">
<v-container fluid>
<h1 class="md-display-1">Export</h1>
<p class="md-subheading">
A user-friendly tool for importing, filtering and archiving large amounts of JPEG and RAW files
</p>
</div>
</v-container>
</template>
<script>

View file

@ -1,10 +1,10 @@
<template>
<div class="page page-import">
<v-container fluid>
<h1>Import</h1>
<p class="md-subheading">
A user-friendly tool for importing, filtering and archiving large amounts of JPEG and RAW files
</p>
</div>
</v-container>
</template>
<script>

View file

@ -1,52 +1,100 @@
<template>
<div class="page page-photos">
<div class="page-form">
<b-form inline @submit="formChange">
<b-form-select class="mb-2 mr-sm-2"
v-b-tooltip.hover title="Category"
v-model="query.category"
:options="{ 'junction': 'Junction', 'tourism': 'Tourism', 'historic': 'Historic' }"
id="inlineFormCustomSelectPref">
<option slot="first" :value="null"></option>
</b-form-select>
<div>
<v-form ref="form" lazy-validation @submit="formChange" dense>
<v-toolbar>
<v-text-field class="pt-3"
single-line
label="Search"
prepend-inner-icon="search"
clear-icon="mdi-close-circle"
clearable
v-model="query.q"
@keyup.enter.native="formChange"
></v-text-field>
<b-form-select @change="formChange" class="mb-2 mr-sm-2"
v-model="query.country"
:options="{ '1': 'One', '2': 'Two', '3': 'Three' }"
id="inlineFormCustomSelectPref">
<option slot="first" :value="null">Country</option>
</b-form-select>
<b-form-select @change="formChange" class="mb-2 mr-sm-2"
:v-model="query.camera"
:options="{ '1': 'One', '2': 'Two', '3': 'Three' }"
id="inlineFormCustomSelectPref">
<option slot="first" :value="null">Camera Model</option>
</b-form-select>
<b-form-select @change="formChange" class="mb-2 mr-sm-2"
v-model="dir"
:options="{ 'asc': 'Ascending', 'desc': 'Descending' }"
id="inlineFormCustomSelectPref">
<option slot="first" :value="null">Sort Order</option>
</b-form-select>
<v-spacer></v-spacer>
<v-btn icon @click="advandedSearch = !advandedSearch">
<v-icon>{{ advandedSearch ? 'keyboard_arrow_down' : 'keyboard_arrow_up' }}</v-icon>
</v-btn>
</v-toolbar><v-slide-y-transition>
<v-card class="theme--light v-toolbar pt-0" style="box-shadow: 0 4px 4px -1px rgba(0,0,0,.2), 0 4px 5px 0 rgba(0,0,0,.14), 0 4px 10px 0 rgba(0,0,0,.12);" v-show="advandedSearch">
<b-form-select @change="formChange" class="mb-2 mr-sm-2"
v-model="view"
:options="{ 'list': 'List View', 'tile': 'Tile View (small)', 'tile_large': 'Tile View (large)' }"
id="inlineFormCustomSelectPref">
</b-form-select>
<b-form-input class="mb-2 mr-sm-2" v-b-tooltip.hover title="After" type="date"/>
<b-form-input class="mb-2 mr-sm-2" v-b-tooltip.hover title="Before" type="date"/>
<v-card-text >
<v-container>
<v-layout row wrap>
<v-flex xs12 sm6 md3>
<v-select @change="formChange" class="mb-2 mr-sm-2"
title="Category"
v-model="query.category"
:options="{ 'junction': 'Junction', 'tourism': 'Tourism', 'historic': 'Historic' }"
id="inlineFormCustomSelectPref">
<option slot="first" :value="null"></option>
</v-select>
</v-flex>
<b-form-checkbox class="mb-2 mr-sm-2 mb-sm-0">
Favorites only
</b-form-checkbox>
</b-form>
<div class="clearfix"></div>
</div>
<div class="page-container photo-grid">
<v-flex xs12 sm6 md3>
<v-select @change="formChange" class="mb-2 mr-sm-2"
v-model="query.country"
:options="{ '1': 'One', '2': 'Two', '3': 'Three' }"
id="inlineFormCustomSelectPref">
<option slot="first" :value="null">Country</option>
</v-select>
</v-flex>
<v-flex xs12 sm6 md3>
<v-select @change="formChange" class="mb-2 mr-sm-2"
:v-model="query.camera"
:options="{ '1': 'One', '2': 'Two', '3': 'Three' }"
id="inlineFormCustomSelectPref">
<option slot="first" :value="null">Camera Model</option>
</v-select>
</v-flex>
<v-flex xs12 sm6 md3>
<v-select @change="formChange" class="mb-2 mr-sm-2"
v-model="dir"
:options="{ 'asc': 'Ascending', 'desc': 'Descending' }"
id="inlineFormCustomSelectPref">
<option slot="first" :value="null">Sort Order</option>
</v-select>
</v-flex>
<v-flex xs12 sm6 md3>
<v-select @change="formChange" class="mb-2 mr-sm-2"
v-model="view"
:options="{ 'list': 'List View', 'tile': 'Tile View (small)', 'tile_large': 'Tile View (large)' }"
id="inlineFormCustomSelectPref">
</v-select>
</v-flex>
<v-flex xs12 sm6 md3>
<v-text-field class="mb-2 mr-sm-2" title="After" type="date"></v-text-field>
</v-flex>
<v-flex xs12 sm6 md3>
<v-text-field class="mb-2 mr-sm-2" title="Before" type="date"></v-text-field>
</v-flex>
<v-flex xs12 sm6 md3>
<v-checkbox class="mb-2 mr-sm-2 mb-sm-0">
Favorites only
</v-checkbox>
</v-flex>
</v-layout>
</v-container>
</v-card-text>
</v-card>
</v-slide-y-transition>
</v-form>
<v-container fluid>
<div class="page-container photo-grid pt-3">
<template v-for="photo in items">
<div class="photo">
<div class="photo hover-12">
<div class="info">{{ photo.TakenAt | moment("DD.MM.YYYY hh:mm:ss") }}<span class="right">{{ photo.CameraModel }}</span></div>
<div class="actions">
<span class="left">
@ -56,7 +104,10 @@
</a>
</span>
<span class="center" v-if="photo.Location">
<a class="location" target="_blank" :href="photo.getGoogleMapsLink()" v-b-tooltip.hover :title="photo.Location.DisplayName">{{ photo.Location.Country }}</a>
<v-tooltip bottom>
<a slot="activator" class="location" target="_blank" :href="photo.getGoogleMapsLink()">{{ photo.Location.Country }}</a>
<span :html="photo.Location.DisplayName"></span>
</v-tooltip>
</span>
<span class="right">
<a class="action delete" v-on:click="deletePhoto(photo)">
@ -68,8 +119,11 @@
<img v-if="file.FileType === 'jpg'" :src="'/api/v1/files/' + file.ID + '/square_thumbnail?size=250'">
</template>
</div>
</template>
</div>
<div style="clear: both"></div>
</v-container>
</div>
</template>
@ -92,6 +146,7 @@
const view = query.hasOwnProperty('view') ? query['view'] : 'tile';
return {
'advandedSearch': false,
'items': [],
'query': {
category: '',

View file

@ -1,5 +1,5 @@
<template>
<div class="page page-settings">
<v-container fluid>
<h1 class="md-display-1">Settings</h1>
<p class="md-subheading">
@ -8,7 +8,7 @@
<button v-on:click="showInfo()">Show Info</button>
<button v-on:click="showError()">Show Error</button>
<button v-on:click="showWarning()">Show Warning</button>
</div>
</v-container>
</template>
<script>

View file

@ -5,11 +5,11 @@ import Export from 'app/pages/export.vue';
import Settings from 'app/pages/settings.vue';
export default [
{ path: '/', redirect: '/photos' },
{ path: '/photos', component: Photos },
{ path: '/albums', component: Albums },
{ path: '/import', component: Import },
{ path: '/export', component: Export },
{ path: '/settings', component: Settings },
{ name: 'home', path: '/', redirect: '/photos' },
{ name: 'photos', path: '/photos', component: Photos },
{ name: 'albums', path: '/albums', component: Albums },
{ name: 'import', path: '/import', component: Import },
{ name: 'export', path: '/export', component: Export },
{ name: 'settings', path: '/settings', component: Settings },
{ path: '*', redirect: '/photos' },
];

View file

@ -1,34 +1,63 @@
<template>
<div class="app-navigation">
<b-navbar toggleable="md" type="dark" variant="dark">
<v-navigation-drawer
v-model="drawer"
:mini-variant="mini"
fixed
dark
app
>
<v-toolbar flat>
<v-list>
<v-list-tile>
<v-list-tile-avatar>
<img src="/assets/img/logo.png">
</v-list-tile-avatar>
<v-list-tile-content>
<v-list-tile-title class="title">
PhotoPrism
</v-list-tile-title>
</v-list-tile-content>
<v-list-tile-action>
<v-btn icon @click.stop="mini = !mini">
<v-icon>chevron_left</v-icon>
</v-btn>
</v-list-tile-action>
</v-list-tile>
</v-list>
</v-toolbar>
<b-navbar-toggle target="nav_collapse"></b-navbar-toggle>
<!-- b-navbar-nav class="ml-auto">
<b-navbar-brand href="/"><img src="/assets/img/logo.png" alt="PhotoPrism"></b-navbar-brand>
<b-nav-form action="/photos">
<b-form-input size="sm" class="mr-sm-2" type="text" name="q" :value="q" placeholder="Search"/>
<b-button size="sm" class="my-2 my-sm-0" type="submit">Search</b-button>
</b-nav-form>
<b-collapse is-nav id="nav_collapse">
</b-navbar-nav -->
<b-navbar-nav>
<b-nav-item to="/photos" class="nav-item-photos">Photos</b-nav-item>
<b-nav-item to="/albums" class="nav-item-albums">Albums</b-nav-item>
<b-nav-item to="/import" class="nav-item-import">Import</b-nav-item>
<b-nav-item to="/export" class="nav-item-export">Export</b-nav-item>
<b-nav-item to="/settings" class="nav-item-settings">Settings</b-nav-item>
</b-navbar-nav>
<v-list class="pt-3">
<v-list-tile v-if="mini" @click.stop="mini = !mini">
<v-list-tile-action>
<v-icon>chevron_right</v-icon>
</v-list-tile-action>
</v-list-tile>
<!-- Right aligned nav items -->
<b-navbar-nav class="ml-auto">
<v-list-tile
v-for="item in items"
:key="item.title"
:to="{ name: item.route }"
@click=""
>
<v-list-tile-action>
<v-icon>{{ item.icon }}</v-icon>
</v-list-tile-action>
<b-nav-form action="/photos">
<b-form-input size="sm" class="mr-sm-2" type="text" name="q" :value="q" placeholder="Search"/>
<b-button size="sm" class="my-2 my-sm-0" type="submit">Search</b-button>
</b-nav-form>
</b-navbar-nav>
</b-collapse>
</b-navbar>
</div>
<v-list-tile-content>
<v-list-tile-title>{{ item.title }}</v-list-tile-title>
</v-list-tile-content>
</v-list-tile>
</v-list>
</v-navigation-drawer>
</template>
<script>
@ -38,6 +67,15 @@
const q = query.hasOwnProperty('q') ? query['q'] : '';
return {
items: [
{ title: 'Photos', route: 'photos', icon: 'photo_library' },
{ title: 'Albums', route: 'albums', icon: 'folder' },
{ title: 'Import', route: 'import', icon: 'add_circle' },
{ title: 'Export', route: 'export', icon: 'save' },
{ title: 'Settings', route: 'settings', icon: 'settings' },
],
drawer: null,
mini: false,
q: q,
};
},

View file

@ -814,14 +814,6 @@ babel-plugin-transform-strict-mode@^6.24.1:
babel-runtime "^6.22.0"
babel-types "^6.24.1"
babel-polyfill@6.23.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.23.0.tgz#8364ca62df8eafb830499f699177466c3b03499d"
dependencies:
babel-runtime "^6.22.0"
core-js "^2.4.0"
regenerator-runtime "^0.10.0"
babel-polyfill@^6.23.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153"
@ -1110,21 +1102,6 @@ boom@5.x.x:
dependencies:
hoek "4.x.x"
bootstrap-vue@^2.0.0-rc.11:
version "2.0.0-rc.11"
resolved "https://registry.yarnpkg.com/bootstrap-vue/-/bootstrap-vue-2.0.0-rc.11.tgz#47aaa6d2a8d390477de75e636d8ea652b1d03f59"
dependencies:
bootstrap "^4.1.1"
lodash.get "^4.4.2"
lodash.startcase "^4.4.0"
opencollective "^1.0.3"
popper.js "^1.12.9"
vue-functional-data-merge "^2.0.5"
bootstrap@^4.1.1, bootstrap@^4.1.3:
version "4.1.3"
resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.1.3.tgz#0eb371af2c8448e8c210411d0cb824a6409a12be"
brace-expansion@^1.1.7:
version "1.1.11"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
@ -1402,7 +1379,7 @@ chai@^3.5.0:
deep-eql "^0.1.3"
type-detect "^1.0.0"
chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3:
chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
dependencies:
@ -1420,10 +1397,6 @@ chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.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"
chart.js@^2.5.0:
version "2.7.2"
resolved "https://registry.yarnpkg.com/chart.js/-/chart.js-2.7.2.tgz#3c9fde4dc5b95608211bdefeda7e5d33dffa5714"
@ -2316,12 +2289,6 @@ encodeurl@~1.0.1, encodeurl@~1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
encoding@^0.1.11:
version "0.1.12"
resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb"
dependencies:
iconv-lite "~0.4.13"
end-of-stream@^1.0.0, end-of-stream@^1.1.0:
version "1.4.1"
resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43"
@ -2725,14 +2692,6 @@ extend@^3.0.0, extend@~3.0.0, extend@~3.0.1:
version "3.0.2"
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
external-editor@^2.0.1:
version "2.2.0"
resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5"
dependencies:
chardet "^0.4.0"
iconv-lite "^0.4.17"
tmp "^0.0.33"
extglob@^0.3.1:
version "0.3.2"
resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1"
@ -2770,14 +2729,10 @@ extract-zip@^1.6.5:
mkdirp "0.5.1"
yauzl "2.4.1"
extsprintf@1.3.0:
extsprintf@1.3.0, extsprintf@^1.2.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
extsprintf@^1.2.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
fast-deep-equal@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614"
@ -2811,12 +2766,6 @@ figures@^1.3.5:
escape-string-regexp "^1.0.5"
object-assign "^4.1.0"
figures@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
dependencies:
escape-string-regexp "^1.0.5"
file-entry-cache@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361"
@ -3504,7 +3453,7 @@ 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, iconv-lite@^0.4.17, iconv-lite@^0.4.4, iconv-lite@~0.4.13:
iconv-lite@0.4.23, iconv-lite@^0.4.4:
version "0.4.23"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63"
dependencies:
@ -3585,24 +3534,6 @@ inject-loader@^2.0.1:
dependencies:
loader-utils "^0.2.3"
inquirer@3.0.6:
version "3.0.6"
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.0.6.tgz#e04aaa9d05b7a3cb9b0f407d04375f0447190347"
dependencies:
ansi-escapes "^1.1.0"
chalk "^1.0.0"
cli-cursor "^2.1.0"
cli-width "^2.0.0"
external-editor "^2.0.1"
figures "^2.0.0"
lodash "^4.3.0"
mute-stream "0.0.7"
run-async "^2.2.0"
rx "^4.1.0"
string-width "^2.0.0"
strip-ansi "^3.0.0"
through "^2.3.6"
inquirer@^0.12.0:
version "0.12.0"
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e"
@ -3837,10 +3768,6 @@ is-primitive@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
is-promise@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
is-property@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84"
@ -3934,11 +3861,7 @@ js-beautify@^1.6.3:
mkdirp "~0.5.0"
nopt "~3.0.1"
"js-tokens@^3.0.0 || ^4.0.0":
version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
js-tokens@^3.0.2:
"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
@ -4270,10 +4193,6 @@ lodash.debounce@^4.0.8:
version "4.0.8"
resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
lodash.get@^4.4.2:
version "4.4.2"
resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
lodash.isarguments@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a"
@ -4298,10 +4217,6 @@ lodash.mergewith@^4.6.0:
version "4.6.1"
resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz#639057e726c3afbdb3e7d42741caa8d6e4335927"
lodash.startcase@^4.4.0:
version "4.4.0"
resolved "https://registry.yarnpkg.com/lodash.startcase/-/lodash.startcase-4.4.0.tgz#9436e34ed26093ed7ffae1936144350915d9add8"
lodash.tail@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664"
@ -4392,6 +4307,10 @@ map-visit@^1.0.0:
dependencies:
object-visit "^1.0.0"
material-design-icons-iconfont@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/material-design-icons-iconfont/-/material-design-icons-iconfont-3.0.3.tgz#154a1084047d4e27237fa7f5a37e1075ceea6df2"
math-expression-evaluator@^1.2.14:
version "1.2.17"
resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac"
@ -4538,7 +4457,7 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
dependencies:
brace-expansion "^1.1.7"
minimist@0.0.8:
minimist@0.0.8, minimist@~0.0.1:
version "0.0.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
@ -4546,10 +4465,6 @@ minimist@1.2.0, minimist@^1.1.3, minimist@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
minimist@~0.0.1:
version "0.0.10"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf"
minipass@^2.2.1, minipass@^2.3.3:
version "2.3.3"
resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.3.tgz#a7dcc8b7b833f5d368759cce544dccb55f50f233"
@ -4646,10 +4561,6 @@ mute-stream@0.0.5:
version "0.0.5"
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0"
mute-stream@0.0.7:
version "0.0.7"
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
nan@^2.10.0, nan@^2.9.2:
version "2.10.0"
resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f"
@ -4700,13 +4611,6 @@ no-case@^2.2.0:
dependencies:
lower-case "^1.1.1"
node-fetch@1.6.3:
version "1.6.3"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.6.3.tgz#dc234edd6489982d58e8f0db4f695029abcd8c04"
dependencies:
encoding "^0.1.11"
is-stream "^1.0.1"
node-gyp@^3.3.1:
version "3.7.0"
resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.7.0.tgz#789478e8f6c45e277aa014f3e28f958f286f9203"
@ -4958,28 +4862,10 @@ onetime@^2.0.0:
dependencies:
mimic-fn "^1.0.0"
opencollective@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/opencollective/-/opencollective-1.0.3.tgz#aee6372bc28144583690c3ca8daecfc120dd0ef1"
dependencies:
babel-polyfill "6.23.0"
chalk "1.1.3"
inquirer "3.0.6"
minimist "1.2.0"
node-fetch "1.6.3"
opn "4.0.2"
opener@^1.4.3:
version "1.4.3"
resolved "https://registry.yarnpkg.com/opener/-/opener-1.4.3.tgz#5c6da2c5d7e5831e8ffa3964950f8d6674ac90b8"
opn@4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/opn/-/opn-4.0.2.tgz#7abc22e644dff63b0a96d5ab7f2790c0f01abc95"
dependencies:
object-assign "^4.0.1"
pinkie-promise "^2.0.0"
optimist@^0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"
@ -5041,7 +4927,7 @@ os-locale@^2.0.0:
lcid "^1.0.0"
mem "^1.1.0"
os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.1, os-tmpdir@~1.0.2:
os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
@ -5273,10 +5159,6 @@ pluralize@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-4.0.0.tgz#59b708c1c0190a2f692f1c7618c446b052fd1762"
popper.js@^1.12.9:
version "1.14.3"
resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.14.3.tgz#1438f98d046acf7b4d78cd502bf418ac64d4f095"
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"
@ -5648,14 +5530,10 @@ punycode@^2.1.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
q@1.4.1:
q@1.4.1, q@^1.1.2:
version "1.4.1"
resolved "https://registry.yarnpkg.com/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e"
q@^1.1.2:
version "1.5.1"
resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
qjobs@^1.1.4:
version "1.2.0"
resolved "https://registry.yarnpkg.com/qjobs/-/qjobs-1.2.0.tgz#c45e9c61800bd087ef88d7e256423bdd49e5d071"
@ -5838,7 +5716,7 @@ regenerate@^1.2.1:
version "1.4.0"
resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11"
regenerator-runtime@^0.10.0, regenerator-runtime@^0.10.5:
regenerator-runtime@^0.10.5:
version "0.10.5"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658"
@ -6094,12 +5972,6 @@ run-async@^0.1.0:
dependencies:
once "^1.3.0"
run-async@^2.2.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0"
dependencies:
is-promise "^2.1.0"
run-queue@^1.0.0, run-queue@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47"
@ -6110,10 +5982,6 @@ rx-lite@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102"
rx@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782"
safe-buffer@5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853"
@ -6500,18 +6368,14 @@ static-extend@^0.1.1:
define-property "^0.2.5"
object-copy "^0.1.0"
"statuses@>= 1.3.1 < 2", "statuses@>= 1.4.0 < 2":
version "1.5.0"
resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
"statuses@>= 1.3.1 < 2", "statuses@>= 1.4.0 < 2", statuses@~1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087"
statuses@~1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e"
statuses@~1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087"
stdout-stream@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.0.tgz#a2c7c8587e54d9427ea9edb3ac3f2cd522df378b"
@ -6754,18 +6618,12 @@ timers-browserify@^2.0.4:
dependencies:
setimmediate "^1.0.4"
tmp@0.0.31:
tmp@0.0.31, tmp@0.0.x:
version "0.0.31"
resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7"
dependencies:
os-tmpdir "~1.0.1"
tmp@0.0.x, tmp@^0.0.33:
version "0.0.33"
resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
dependencies:
os-tmpdir "~1.0.2"
to-array@0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890"
@ -7069,10 +6927,6 @@ void-elements@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec"
vue-functional-data-merge@^2.0.5:
version "2.0.6"
resolved "https://registry.yarnpkg.com/vue-functional-data-merge/-/vue-functional-data-merge-2.0.6.tgz#f08055adfb92458debcf2ad10c3aa712277f7fc2"
vue-hot-reload-api@^2.0.11:
version "2.3.0"
resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.0.tgz#97976142405d13d8efae154749e88c4e358cf926"
@ -7139,6 +6993,10 @@ vuelidate@^0.4.3:
dependencies:
babel-plugin-transform-inline-environment-variables "^0.0.2"
vuetify@^1.2.3:
version "1.2.3"
resolved "https://registry.yarnpkg.com/vuetify/-/vuetify-1.2.3.tgz#519bab56c31420892912c0c7dbd23e790c9287bb"
watchpack@^1.4.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00"