From 06a7374098e413ee8ad0c04fb24d4f97bfdb8ecb Mon Sep 17 00:00:00 2001 From: Tobias Reich Date: Sat, 25 Jun 2016 12:30:14 +0200 Subject: [PATCH 01/29] Updated deps --- dist/_main--javascript.js | 0 dist/_view--javascript.js | 1021 ++++++++++++++++++++++++++++++ src/npm-shrinkwrap.json | 1233 ++++++++++++++++++++++--------------- src/package.json | 14 +- 4 files changed, 1755 insertions(+), 513 deletions(-) create mode 100644 dist/_main--javascript.js create mode 100644 dist/_view--javascript.js diff --git a/dist/_main--javascript.js b/dist/_main--javascript.js new file mode 100644 index 0000000..e69de29 diff --git a/dist/_view--javascript.js b/dist/_view--javascript.js new file mode 100644 index 0000000..1ab68a1 --- /dev/null +++ b/dist/_view--javascript.js @@ -0,0 +1,1021 @@ +"use strict"; + +var _templateObject = _taggedTemplateLiteral([""], [""]), + _templateObject2 = _taggedTemplateLiteral(["

$", "

"], ["

$", "

"]), + _templateObject3 = _taggedTemplateLiteral(["
", "
"], ["
", "
"]), + _templateObject4 = _taggedTemplateLiteral(["
"], ["
"]), + _templateObject5 = _taggedTemplateLiteral(["\n\t
\n\t Photo thumbnail\n\t Photo thumbnail\n\t Photo thumbnail\n\t
\n\t

$", "

\n\t $", "\n\t
\n\t "], ["\n\t
\n\t Photo thumbnail\n\t Photo thumbnail\n\t Photo thumbnail\n\t
\n\t

$", "

\n\t $", "\n\t
\n\t "]), + _templateObject6 = _taggedTemplateLiteral(["\n\t\t
\n\t\t ", "\n\t\t ", "\n\t\t ", "\n\t\t ", "\n\t\t ", "\n\t\t
\n\t\t "], ["\n\t\t
\n\t\t ", "\n\t\t ", "\n\t\t ", "\n\t\t ", "\n\t\t ", "\n\t\t
\n\t\t "]), + _templateObject7 = _taggedTemplateLiteral(["\n\t
\n\t Photo thumbnail\n\t
\n\t

$", "

\n\t "], ["\n\t
\n\t Photo thumbnail\n\t
\n\t

$", "

\n\t "]), + _templateObject8 = _taggedTemplateLiteral(["", "$", ""], ["", "$", ""]), + _templateObject9 = _taggedTemplateLiteral(["$", ""], ["$", ""]), + _templateObject10 = _taggedTemplateLiteral(["\n\t\t
\n\t\t ", "\n\t\t ", "\n\t\t
\n\t\t "], ["\n\t\t
\n\t\t ", "\n\t\t ", "\n\t\t
\n\t\t "]), + _templateObject11 = _taggedTemplateLiteral([""], [""]), + _templateObject12 = _taggedTemplateLiteral([""], [""]), + _templateObject13 = _taggedTemplateLiteral(["\n\t

$", "

\n\t
\n\t "], ["\n\t

$", "

\n\t
\n\t "]), + _templateObject14 = _taggedTemplateLiteral(["\n\t\t
\n\t\t $", "\n\t\t \n\t\t

\n\t\t
\n\t\t "], ["\n\t\t
\n\t\t $", "\n\t\t \n\t\t

\n\t\t
\n\t\t "]), + _templateObject15 = _taggedTemplateLiteral(["$", "", ""], ["$", "", ""]), + _templateObject16 = _taggedTemplateLiteral(["$", "", ""], ["$", "", ""]), + _templateObject17 = _taggedTemplateLiteral(["$", ""], ["$", ""]), + _templateObject18 = _taggedTemplateLiteral(["\n\t\t\t \n\t\t\t $", "\n\t\t\t ", "\n\t\t\t \n\t\t\t "], ["\n\t\t\t \n\t\t\t $", "\n\t\t\t ", "\n\t\t\t \n\t\t\t "]), + _templateObject19 = _taggedTemplateLiteral(["\n\t\t \n\t\t
\n\t\t
", "
\n\t\t ", "\n\t\t
\n\t\t "], ["\n\t\t \n\t\t
\n\t\t
", "
\n\t\t ", "\n\t\t
\n\t\t "]); + +function _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); } + +function gup(b) { + + b = b.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); + + var a = "[\\?&]" + b + "=([^&#]*)"; + var d = new RegExp(a); + var c = d.exec(window.location.href); + + if (c === null) return '';else return c[1]; +} +/** + * @description This module is used to generate HTML-Code. + * @copyright 2015 by Tobias Reich + */ + +build = {}; + +build.iconic = function (icon) { + var classes = arguments.length <= 1 || arguments[1] === undefined ? '' : arguments[1]; + + + var html = ''; + + html += lychee.html(_templateObject, classes, icon); + + return html; +}; + +build.divider = function (title) { + + var html = ''; + + html += lychee.html(_templateObject2, title); + + return html; +}; + +build.editIcon = function (id) { + + var html = ''; + + html += lychee.html(_templateObject3, id, build.iconic('pencil')); + + return html; +}; + +build.multiselect = function (top, left) { + + return lychee.html(_templateObject4, top, left); +}; + +build.album = function (data) { + + var html = ''; + + var _lychee$retinize = lychee.retinize(data.thumbs[0]); + + var retinaThumbUrl = _lychee$retinize.path; + var isPhoto = _lychee$retinize.isPhoto; + + + html += lychee.html(_templateObject5, data.id, data.thumbs[2], data.thumbs[1], data.thumbs[0], retinaThumbUrl, isPhoto, data.title, data.title, data.sysdate); + + if (lychee.publicMode === false) { + + html += lychee.html(_templateObject6, data.star === '1' ? 'badge--visible' : '', build.iconic('star'), data.public === '1' ? 'badge--visible' : '', build.iconic('eye'), data.unsorted === '1' ? 'badge--visible' : '', build.iconic('list'), data.recent === '1' ? 'badge--visible' : '', build.iconic('clock'), data.password === '1' ? 'badge--visible' : '', build.iconic('lock-locked')); + } + + html += '
'; + + return html; +}; + +build.photo = function (data) { + + var html = ''; + + var _lychee$retinize2 = lychee.retinize(data.thumbUrl); + + var retinaThumbUrl = _lychee$retinize2.path; + + + html += lychee.html(_templateObject7, data.album, data.id, data.thumbUrl, retinaThumbUrl, data.title, data.title); + + if (data.cameraDate === '1') html += lychee.html(_templateObject8, build.iconic('camera-slr'), data.sysdate);else html += lychee.html(_templateObject9, data.sysdate); + + html += "
"; + + if (lychee.publicMode === false) { + + html += lychee.html(_templateObject10, data.star === '1' ? 'badge--visible' : '', build.iconic('star'), data.public === '1' && album.json.public !== '1' ? 'badge--visible' : '', build.iconic('eye')); + } + + html += "
"; + + return html; +}; + +build.imageview = function (data, visibleControls) { + + var html = ''; + var hasMedium = data.medium !== ''; + + if (hasMedium === false) { + + html += lychee.html(_templateObject11, visibleControls === true ? '' : 'full', data.url); + } else { + + html += lychee.html(_templateObject12, visibleControls === true ? '' : 'full', data.url, data.medium, data.url, data.width); + } + + html += "\n\t \n\t \n\t "; + + return html; +}; + +build.no_content = function (typ) { + + var html = ''; + + html += "\n\t
\n\t " + build.iconic(typ) + "\n\t "; + + switch (typ) { + case 'magnifying-glass': + html += "

No results

"; + break; + case 'eye': + html += "

No public albums

"; + break; + case 'cog': + html += "

No configuration

"; + break; + case 'question-mark': + html += "

Photo not found

"; + break; + } + + html += "
"; + + return html; +}; + +build.uploadModal = function (title, files) { + + var html = ''; + + html += lychee.html(_templateObject13, title); + + var i = 0; + + while (i < files.length) { + + var file = files[i]; + + if (file.name.length > 40) file.name = file.name.substr(0, 17) + '...' + file.name.substr(file.name.length - 20, 20); + + html += lychee.html(_templateObject14, file.name); + + i++; + } + + html += "
"; + + return html; +}; + +build.tags = function (tags) { + + var html = ''; + + if (tags !== '') { + + tags = tags.split(','); + + tags.forEach(function (tag, index, array) { + html += lychee.html(_templateObject15, tag, index, build.iconic('x')); + }); + } else { + + html = "
No Tags
"; + } + + return html; +}; +/** + * @description This module communicates with Lychee's API + * @copyright 2015 by Tobias Reich + */ + +api = { + + path: 'php/index.php', + onError: null + +}; + +api.post = function (fn, params, callback) { + + loadingBar.show(); + + params = $.extend({ function: fn }, params); + + var success = function success(data) { + + setTimeout(loadingBar.hide, 100); + + // Catch errors + if (typeof data === 'string' && data.substring(0, 7) === 'Error: ') { + api.onError(data.substring(7, data.length), params, data); + return false; + } + + callback(data); + }; + + var error = function error(jqXHR, textStatus, errorThrown) { + + api.onError('Server error or API not found.', params, errorThrown); + }; + + $.ajax({ + type: 'POST', + url: api.path, + data: params, + dataType: 'json', + success: success, + error: error + }); +}; +/** + * @description This module takes care of the header. + * @copyright 2015 by Tobias Reich + */ + +header = { + + _dom: $('.header') + +}; + +header.dom = function (selector) { + + if (selector == null || selector === '') return header._dom; + return header._dom.find(selector); +}; + +header.bind = function () { + + // Event Name + var eventName = lychee.getEventName(); + + header.dom('.header__title').on(eventName, function (e) { + + if ($(this).hasClass('header__title--editable') === false) return false; + + if (visible.photo()) contextMenu.photoTitle(album.getID(), photo.getID(), e);else contextMenu.albumTitle(album.getID(), e); + }); + + header.dom('#button_share').on(eventName, function (e) { + if (photo.json.public === '1' || photo.json.public === '2') contextMenu.sharePhoto(photo.getID(), e);else photo.setPublic(photo.getID(), e); + }); + + header.dom('#button_share_album').on(eventName, function (e) { + if (album.json.public === '1') contextMenu.shareAlbum(album.getID(), e);else album.setPublic(album.getID(), true, e); + }); + + header.dom('#button_signin').on(eventName, lychee.loginDialog); + header.dom('#button_settings').on(eventName, contextMenu.settings); + header.dom('#button_info_album').on(eventName, sidebar.toggle); + header.dom('#button_info').on(eventName, sidebar.toggle); + header.dom('.button_add').on(eventName, contextMenu.add); + header.dom('#button_more').on(eventName, function (e) { + contextMenu.photoMore(photo.getID(), e); + }); + header.dom('#button_move').on(eventName, function (e) { + contextMenu.move([photo.getID()], e); + }); + header.dom('.header__hostedwith').on(eventName, function () { + window.open(lychee.website); + }); + header.dom('#button_trash_album').on(eventName, function () { + album.delete([album.getID()]); + }); + header.dom('#button_trash').on(eventName, function () { + photo.delete([photo.getID()]); + }); + header.dom('#button_archive').on(eventName, function () { + album.getArchive(album.getID()); + }); + header.dom('#button_star').on(eventName, function () { + photo.setStar([photo.getID()]); + }); + header.dom('#button_back_home').on(eventName, function () { + lychee.goto(); + }); + header.dom('#button_back').on(eventName, function () { + lychee.goto(album.getID()); + }); + + header.dom('.header__search').on('keyup click', function () { + search.find($(this).val()); + }); + header.dom('.header__clear').on(eventName, function () { + header.dom('.header__search').focus(); + search.reset(); + }); + + return true; +}; + +header.show = function () { + + clearTimeout($(window).data('timeout')); + + lychee.imageview.removeClass('full'); + header.dom().removeClass('header--hidden'); + + return true; +}; + +header.hide = function (e) { + var delay = arguments.length <= 1 || arguments[1] === undefined ? 500 : arguments[1]; + + + if (visible.photo() && !visible.sidebar() && !visible.contextMenu() && basicModal.visible() === false) { + + clearTimeout($(window).data('timeout')); + + $(window).data('timeout', setTimeout(function () { + + lychee.imageview.addClass('full'); + header.dom().addClass('header--hidden'); + }, delay)); + + return true; + } + + return false; +}; + +header.setTitle = function () { + var title = arguments.length <= 0 || arguments[0] === undefined ? 'Untitled' : arguments[0]; + + + var $title = header.dom('.header__title'); + var html = lychee.html(_templateObject16, title, build.iconic('caret-bottom')); + + $title.html(html); + + return true; +}; + +header.setMode = function (mode) { + + if (mode === 'albums' && lychee.publicMode === true) mode = 'public'; + + switch (mode) { + + case 'public': + + header.dom().removeClass('header--view'); + header.dom('.header__toolbar--albums, .header__toolbar--album, .header__toolbar--photo').removeClass('header__toolbar--visible'); + header.dom('.header__toolbar--public').addClass('header__toolbar--visible'); + + return true; + break; + + case 'albums': + + header.dom().removeClass('header--view'); + header.dom('.header__toolbar--public, .header__toolbar--album, .header__toolbar--photo').removeClass('header__toolbar--visible'); + header.dom('.header__toolbar--albums').addClass('header__toolbar--visible'); + + return true; + break; + + case 'album': + + var albumID = album.getID(); + + header.dom().removeClass('header--view'); + header.dom('.header__toolbar--public, .header__toolbar--albums, .header__toolbar--photo').removeClass('header__toolbar--visible'); + header.dom('.header__toolbar--album').addClass('header__toolbar--visible'); + + // Hide download button when album empty + if (album.json.content === false) $('#button_archive').hide();else $('#button_archive').show(); + + // Hide download button when not logged in and album not downloadable + if (lychee.publicMode === true && album.json.downloadable === '0') $('#button_archive').hide(); + + if (albumID === 's' || albumID === 'f' || albumID === 'r') { + $('#button_info_album, #button_trash_album, #button_share_album').hide(); + } else if (albumID === '0') { + $('#button_info_album, #button_share_album').hide(); + $('#button_trash_album').show(); + } else { + $('#button_info_album, #button_trash_album, #button_share_album').show(); + } + + return true; + break; + + case 'photo': + + header.dom().addClass('header--view'); + header.dom('.header__toolbar--public, .header__toolbar--albums, .header__toolbar--album').removeClass('header__toolbar--visible'); + header.dom('.header__toolbar--photo').addClass('header__toolbar--visible'); + + return true; + break; + + } + + return false; +}; + +header.setEditable = function (editable) { + + var $title = header.dom('.header__title'); + + // Hide editable icon when not logged in + if (lychee.publicMode === true) editable = false; + + if (editable) $title.addClass('header__title--editable');else $title.removeClass('header__title--editable'); + + return true; +}; +/** + * @description This module is used to check if elements are visible or not. + * @copyright 2015 by Tobias Reich + */ + +visible = {}; + +visible.albums = function () { + if (header.dom('.header__toolbar--public').hasClass('header__toolbar--visible')) return true; + if (header.dom('.header__toolbar--albums').hasClass('header__toolbar--visible')) return true; + return false; +}; + +visible.album = function () { + if (header.dom('.header__toolbar--album').hasClass('header__toolbar--visible')) return true; + return false; +}; + +visible.photo = function () { + if ($('#imageview.fadeIn').length > 0) return true; + return false; +}; + +visible.search = function () { + if (search.hash != null) return true; + return false; +}; + +visible.sidebar = function () { + if (sidebar.dom().hasClass('active') === true) return true; + return false; +}; + +visible.sidebarbutton = function () { + if (visible.photo()) return true; + if (visible.album() && $('#button_info_album:visible').length > 0) return true; + return false; +}; + +visible.header = function () { + if (header.dom().hasClass('header--hidden') === true) return false; + return true; +}; + +visible.contextMenu = function () { + return basicContext.visible(); +}; + +visible.multiselect = function () { + if ($('#multiselect').length > 0) return true; + return false; +}; +/** + * @description This module takes care of the sidebar. + * @copyright 2015 by Tobias Reich + */ + +sidebar = { + + _dom: $('.sidebar'), + types: { + DEFAULT: 0, + TAGS: 1 + }, + createStructure: {} + +}; + +sidebar.dom = function (selector) { + + if (selector == null || selector === '') return sidebar._dom; + + return sidebar._dom.find(selector); +}; + +sidebar.bind = function () { + + // This function should be called after building and appending + // the sidebars content to the DOM. + // This function can be called multiple times, therefore + // event handlers should be removed before binding a new one. + + // Event Name + var eventName = lychee.getEventName(); + + sidebar.dom('#edit_title').off(eventName).on(eventName, function () { + if (visible.photo()) photo.setTitle([photo.getID()]);else if (visible.album()) album.setTitle([album.getID()]); + }); + + sidebar.dom('#edit_description').off(eventName).on(eventName, function () { + if (visible.photo()) photo.setDescription(photo.getID());else if (visible.album()) album.setDescription(album.getID()); + }); + + sidebar.dom('#edit_tags').off(eventName).on(eventName, function () { + photo.editTags([photo.getID()]); + }); + + sidebar.dom('#tags .tag span').off(eventName).on(eventName, function () { + photo.deleteTag(photo.getID(), $(this).data('index')); + }); + + return true; +}; + +sidebar.toggle = function () { + + if (visible.sidebar() || visible.sidebarbutton()) { + + header.dom('.button--info').toggleClass('active'); + lychee.content.toggleClass('content--sidebar'); + sidebar.dom().toggleClass('active'); + + return true; + } + + return false; +}; + +sidebar.setSelectable = function () { + var selectable = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0]; + + + // Attributes/Values inside the sidebar are selectable by default. + // Selection needs to be deactivated to prevent an unwanted selection + // while using multiselect. + + if (selectable === true) sidebar.dom().removeClass('notSelectable');else sidebar.dom().addClass('notSelectable'); +}; + +sidebar.changeAttr = function (attr) { + var value = arguments.length <= 1 || arguments[1] === undefined ? '-' : arguments[1]; + var dangerouslySetInnerHTML = arguments.length <= 2 || arguments[2] === undefined ? false : arguments[2]; + + + if (attr == null || attr === '') return false; + + // Set a default for the value + if (value == null || value === '') value = '-'; + + // Escape value + if (dangerouslySetInnerHTML === false) value = lychee.escapeHTML(value); + + // Set new value + sidebar.dom('.attr_' + attr).html(value); + + return true; +}; + +sidebar.createStructure.photo = function (data) { + + if (data == null || data === '') return false; + + var editable = false; + var exifHash = data.takestamp + data.make + data.model + data.shutter + data.aperture + data.focal + data.iso; + var structure = {}; + var _public = ''; + + // Enable editable when user logged in + if (lychee.publicMode === false) editable = true; + + // Set value for public + switch (data.public) { + + case '0': + _public = 'No'; + break; + case '1': + _public = 'Yes'; + break; + case '2': + _public = 'Yes (Album)'; + break; + default: + _public = '-'; + break; + + } + + structure.basics = { + title: 'Basics', + type: sidebar.types.DEFAULT, + rows: [{ title: 'Title', value: data.title, editable: editable }, { title: 'Uploaded', value: data.sysdate }, { title: 'Description', value: data.description, editable: editable }] + }; + + structure.image = { + title: 'Image', + type: sidebar.types.DEFAULT, + rows: [{ title: 'Size', value: data.size }, { title: 'Format', value: data.type }, { title: 'Resolution', value: data.width + ' x ' + data.height }] + }; + + // Only create tags section when user logged in + if (lychee.publicMode === false) { + + structure.tags = { + title: 'Tags', + type: sidebar.types.TAGS, + value: build.tags(data.tags), + editable: editable + }; + } else { + + structure.tags = {}; + } + + // Only create EXIF section when EXIF data available + if (exifHash !== '0') { + + structure.exif = { + title: 'Camera', + type: sidebar.types.DEFAULT, + rows: [{ title: 'Captured', value: data.takedate }, { title: 'Make', value: data.make }, { title: 'Type/Model', value: data.model }, { title: 'Shutter Speed', value: data.shutter }, { title: 'Aperture', value: data.aperture }, { title: 'Focal Length', value: data.focal }, { title: 'ISO', value: data.iso }] + }; + } else { + + structure.exif = {}; + } + + structure.sharing = { + title: 'Sharing', + type: sidebar.types.DEFAULT, + rows: [{ title: 'Public', value: _public }] + }; + + // Construct all parts of the structure + structure = [structure.basics, structure.image, structure.tags, structure.exif, structure.sharing]; + + return structure; +}; + +sidebar.createStructure.album = function (data) { + + if (data == null || data === '') return false; + + var editable = false; + var structure = {}; + var _public = ''; + var hidden = ''; + var downloadable = ''; + var password = ''; + + // Enable editable when user logged in + if (lychee.publicMode === false) editable = true; + + // Set value for public + switch (data.public) { + + case '0': + _public = 'No'; + break; + case '1': + _public = 'Yes'; + break; + default: + _public = '-'; + break; + + } + + // Set value for hidden + switch (data.visible) { + + case '0': + hidden = 'Yes'; + break; + case '1': + hidden = 'No'; + break; + default: + hidden = '-'; + break; + + } + + // Set value for downloadable + switch (data.downloadable) { + + case '0': + downloadable = 'No'; + break; + case '1': + downloadable = 'Yes'; + break; + default: + downloadable = '-'; + break; + + } + + // Set value for password + switch (data.password) { + + case '0': + password = 'No'; + break; + case '1': + password = 'Yes'; + break; + default: + password = '-'; + break; + + } + + structure.basics = { + title: 'Basics', + type: sidebar.types.DEFAULT, + rows: [{ title: 'Title', value: data.title, editable: editable }, { title: 'Description', value: data.description, editable: editable }] + }; + + structure.album = { + title: 'Album', + type: sidebar.types.DEFAULT, + rows: [{ title: 'Created', value: data.sysdate }, { title: 'Images', value: data.num }] + }; + + structure.share = { + title: 'Share', + type: sidebar.types.DEFAULT, + rows: [{ title: 'Public', value: _public }, { title: 'Hidden', value: hidden }, { title: 'Downloadable', value: downloadable }, { title: 'Password', value: password }] + }; + + // Construct all parts of the structure + structure = [structure.basics, structure.album, structure.share]; + + return structure; +}; + +sidebar.render = function (structure) { + + if (structure == null || structure === '') return false; + + var html = ''; + + var renderDefault = function renderDefault(section) { + + var _html = ''; + + _html += "\n\t\t \n\t\t \n\t\t "; + + section.rows.forEach(function (row) { + + var value = row.value; + + // Set a default for the value + if (value === '' || value == null) value = '-'; + + // Wrap span-element around value for easier selecting on change + value = lychee.html(_templateObject17, row.title.toLowerCase(), value); + + // Add edit-icon to the value when editable + if (row.editable === true) value += ' ' + build.editIcon('edit_' + row.title.toLowerCase()); + + _html += lychee.html(_templateObject18, row.title, value); + }); + + _html += "\n\t\t
\n\t\t "; + + return _html; + }; + + var renderTags = function renderTags(section) { + + var _html = ''; + var editable = ''; + + // Add edit-icon to the value when editable + if (section.editable === true) editable = build.editIcon('edit_tags'); + + _html += lychee.html(_templateObject19, section.title, section.title.toLowerCase(), section.value, editable); + + return _html; + }; + + structure.forEach(function (section) { + + if (section.type === sidebar.types.DEFAULT) html += renderDefault(section);else if (section.type === sidebar.types.TAGS) html += renderTags(section); + }); + + return html; +}; +/** + * @description Used to view single photos with view.php + * @copyright 2015 by Tobias Reich + */ + +// Sub-implementation of lychee -------------------------------------------------------------- // + +var lychee = {}; + +lychee.content = $('.content'); + +lychee.escapeHTML = function () { + var html = arguments.length <= 0 || arguments[0] === undefined ? '' : arguments[0]; + + + // Ensure that html is a string + html += ''; + + // Escape all critical characters + html = html.replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/`/g, '`'); + + return html; +}; + +lychee.html = function (literalSections) { + + // Use raw literal sections: we don’t want + // backslashes (\n etc.) to be interpreted + var raw = literalSections.raw; + var result = ''; + + for (var _len = arguments.length, substs = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + substs[_key - 1] = arguments[_key]; + } + + substs.forEach(function (subst, i) { + + // Retrieve the literal section preceding + // the current substitution + var lit = raw[i]; + + // If the substitution is preceded by a dollar sign, + // we escape special characters in it + if (lit.slice(-1) === '$') { + subst = lychee.escapeHTML(subst); + lit = lit.slice(0, -1); + } + + result += lit; + result += subst; + }); + + // Take care of last literal section + // (Never fails, because an empty template string + // produces one literal section, an empty string) + result += raw[raw.length - 1]; + + return result; +}; + +lychee.getEventName = function () { + + var touchendSupport = /Android|iPhone|iPad|iPod/i.test(navigator.userAgent || navigator.vendor || window.opera) && 'ontouchend' in document.documentElement; + var eventName = touchendSupport === true ? 'touchend' : 'click'; + + return eventName; +}; + +// Sub-implementation of photo -------------------------------------------------------------- // + +var photo = {}; + +photo.share = function (photoID, service) { + + var url = location.toString(); + + switch (service) { + case 'twitter': + window.open("https://twitter.com/share?url=" + encodeURI(url)); + break; + case 'facebook': + window.open("http://www.facebook.com/sharer.php?u=" + encodeURI(url)); + break; + case 'mail': + location.href = "mailto:?subject=&body=" + encodeURI(url); + break; + } +}; + +photo.getDirectLink = function () { + + return $('#imageview img').attr('src').replace(/"/g, '').replace(/url\(|\)$/ig, ''); +}; + +// Sub-implementation of contextMenu -------------------------------------------------------------- // + +var contextMenu = {}; + +contextMenu.sharePhoto = function (photoID, e) { + + var iconClass = 'ionicons'; + + var items = [{ title: build.iconic('twitter', iconClass) + 'Twitter', fn: function fn() { + return photo.share(photoID, 'twitter'); + } }, { title: build.iconic('facebook', iconClass) + 'Facebook', fn: function fn() { + return photo.share(photoID, 'facebook'); + } }, { title: build.iconic('envelope-closed') + 'Mail', fn: function fn() { + return photo.share(photoID, 'mail'); + } }, { title: build.iconic('link-intact') + 'Direct Link', fn: function fn() { + return window.open(photo.getDirectLink(), '_newtab'); + } }]; + + basicContext.show(items, e.originalEvent); +}; + +// Main -------------------------------------------------------------- // + +var loadingBar = { + show: function show() {}, + hide: function hide() {} +}; +var imageview = $('#imageview'); + +$(document).ready(function () { + + // Save ID of photo + var photoID = gup('p'); + + // Set API error handler + api.onError = error; + + // Share + header.dom('#button_share').on('click', function (e) { + contextMenu.sharePhoto(photoID, e); + }); + + // Infobox + header.dom('#button_info').on('click', sidebar.toggle); + + // Load photo + loadPhotoInfo(photoID); +}); + +var loadPhotoInfo = function loadPhotoInfo(photoID) { + + var params = { + photoID: photoID, + albumID: 0, + password: '' + }; + + api.post('Photo::get', params, function (data) { + + if (data === 'Warning: Photo private!' || data === 'Warning: Wrong password!') { + + $('body').append(build.no_content('question-mark')); + $('body').removeClass('view'); + header.dom().remove(); + return false; + } + + // Set title + if (!data.title) data.title = 'Untitled'; + document.title = 'Lychee - ' + data.title; + header.dom('.header__title').html(lychee.escapeHTML(data.title)); + + // Render HTML + imageview.html(build.imageview(data, true)); + imageview.find('.arrow_wrapper').remove(); + imageview.addClass('fadeIn').show(); + + // Render Sidebar + var structure = sidebar.createStructure.photo(data); + var html = sidebar.render(structure); + + sidebar.dom('.sidebar__wrapper').html(html); + sidebar.bind(); + }); +}; + +var error = function error(errorThrown, params, data) { + + console.error({ + description: errorThrown, + params: params, + response: data + }); + + loadingBar.show('error', errorThrown); +}; \ No newline at end of file diff --git a/src/npm-shrinkwrap.json b/src/npm-shrinkwrap.json index 14be57f..621e94b 100644 --- a/src/npm-shrinkwrap.json +++ b/src/npm-shrinkwrap.json @@ -1,16 +1,23 @@ { "name": "Lychee", - "version": "3.1.0", + "version": "3.1.2", "dependencies": { "abbrev": { - "version": "1.0.7", + "version": "1.0.9", "from": "abbrev@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.7.tgz" + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz" }, "align-text": { "version": "0.1.4", "from": "align-text@>=0.1.3 <0.2.0", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz" + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "dependencies": { + "kind-of": { + "version": "3.0.3", + "from": "kind-of@>=3.0.2 <4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.0.3.tgz" + } + } }, "amdefine": { "version": "1.0.0", @@ -28,14 +35,14 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" }, "ansi-styles": { - "version": "2.2.0", - "from": "ansi-styles@>=2.1.0 <3.0.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.0.tgz" + "version": "2.2.1", + "from": "ansi-styles@>=2.2.1 <3.0.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" }, "any-promise": { - "version": "1.1.0", + "version": "1.3.0", "from": "any-promise@>=1.1.0 <2.0.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.1.0.tgz" + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz" }, "archy": { "version": "1.0.0", @@ -47,6 +54,11 @@ "from": "are-we-there-yet@>=1.1.2 <1.2.0", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz" }, + "arr-diff": { + "version": "2.0.0", + "from": "arr-diff@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz" + }, "arr-flatten": { "version": "1.0.1", "from": "arr-flatten@>=1.0.1 <2.0.0", @@ -59,7 +71,7 @@ }, "array-find-index": { "version": "1.0.1", - "from": "array-find-index@>=1.0.0 <2.0.0", + "from": "array-find-index@>=1.0.1 <2.0.0", "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.1.tgz" }, "array-index": { @@ -67,15 +79,15 @@ "from": "array-index@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/array-index/-/array-index-1.0.0.tgz" }, - "array-union": { - "version": "1.0.1", - "from": "array-union@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.1.tgz" - }, "array-uniq": { - "version": "1.0.2", + "version": "1.0.3", "from": "array-uniq@>=1.0.2 <2.0.0", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.2.tgz" + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz" + }, + "array-unique": { + "version": "0.2.1", + "from": "array-unique@>=0.2.1 <0.3.0", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz" }, "arrify": { "version": "1.0.1", @@ -103,9 +115,9 @@ "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz" }, "autoprefixer": { - "version": "6.3.3", + "version": "6.3.6", "from": "autoprefixer@>=6.0.0 <7.0.0", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.3.3.tgz" + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.3.6.tgz" }, "aws-sign2": { "version": "0.6.0", @@ -113,251 +125,239 @@ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz" }, "aws4": { - "version": "1.3.2", + "version": "1.4.1", "from": "aws4@>=1.2.1 <2.0.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.3.2.tgz", - "dependencies": { - "lru-cache": { - "version": "4.0.0", - "from": "lru-cache@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.0.tgz" - } - } + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.4.1.tgz" }, "babel-code-frame": { - "version": "6.7.2", - "from": "babel-code-frame@>=6.7.2 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.7.2.tgz" + "version": "6.8.0", + "from": "babel-code-frame@>=6.8.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.8.0.tgz" }, "babel-core": { - "version": "6.7.2", - "from": "babel-core@>=6.6.5 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.7.2.tgz" + "version": "6.10.4", + "from": "babel-core@>=6.9.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.10.4.tgz" }, "babel-generator": { - "version": "6.7.2", - "from": "babel-generator@>=6.7.2 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.7.2.tgz" + "version": "6.10.2", + "from": "babel-generator@>=6.9.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.10.2.tgz" }, "babel-helper-call-delegate": { - "version": "6.6.5", - "from": "babel-helper-call-delegate@>=6.6.5 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.6.5.tgz" + "version": "6.8.0", + "from": "babel-helper-call-delegate@>=6.8.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.8.0.tgz" }, "babel-helper-define-map": { - "version": "6.6.5", - "from": "babel-helper-define-map@>=6.6.5 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.6.5.tgz" + "version": "6.9.0", + "from": "babel-helper-define-map@>=6.9.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.9.0.tgz" }, "babel-helper-function-name": { - "version": "6.6.0", - "from": "babel-helper-function-name@>=6.6.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.6.0.tgz" + "version": "6.8.0", + "from": "babel-helper-function-name@>=6.8.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.8.0.tgz" }, "babel-helper-get-function-arity": { - "version": "6.6.5", - "from": "babel-helper-get-function-arity@>=6.3.13 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.6.5.tgz" + "version": "6.8.0", + "from": "babel-helper-get-function-arity@>=6.8.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.8.0.tgz" }, "babel-helper-hoist-variables": { - "version": "6.6.5", - "from": "babel-helper-hoist-variables@>=6.6.5 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.6.5.tgz" + "version": "6.8.0", + "from": "babel-helper-hoist-variables@>=6.8.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.8.0.tgz" }, "babel-helper-optimise-call-expression": { - "version": "6.6.0", - "from": "babel-helper-optimise-call-expression@>=6.6.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.6.0.tgz" + "version": "6.8.0", + "from": "babel-helper-optimise-call-expression@>=6.8.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.8.0.tgz" }, "babel-helper-regex": { - "version": "6.6.5", - "from": "babel-helper-regex@>=6.3.13 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.6.5.tgz" + "version": "6.9.0", + "from": "babel-helper-regex@>=6.8.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.9.0.tgz" }, "babel-helper-replace-supers": { - "version": "6.7.0", - "from": "babel-helper-replace-supers@>=6.6.5 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.7.0.tgz" + "version": "6.8.0", + "from": "babel-helper-replace-supers@>=6.8.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.8.0.tgz" }, "babel-helpers": { - "version": "6.6.0", - "from": "babel-helpers@>=6.6.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.6.0.tgz" + "version": "6.8.0", + "from": "babel-helpers@>=6.8.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.8.0.tgz" }, "babel-messages": { - "version": "6.7.2", - "from": "babel-messages@>=6.7.2 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.7.2.tgz" + "version": "6.8.0", + "from": "babel-messages@>=6.8.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.8.0.tgz" }, "babel-plugin-check-es2015-constants": { - "version": "6.7.2", + "version": "6.8.0", "from": "babel-plugin-check-es2015-constants@>=6.3.13 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.7.2.tgz" + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.8.0.tgz" }, "babel-plugin-syntax-async-functions": { - "version": "6.5.0", - "from": "babel-plugin-syntax-async-functions@>=6.3.13 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.5.0.tgz" + "version": "6.8.0", + "from": "babel-plugin-syntax-async-functions@>=6.8.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.8.0.tgz" }, "babel-plugin-transform-es2015-arrow-functions": { - "version": "6.5.2", + "version": "6.8.0", "from": "babel-plugin-transform-es2015-arrow-functions@>=6.3.13 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.5.2.tgz" + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.8.0.tgz" }, "babel-plugin-transform-es2015-block-scoped-functions": { - "version": "6.6.5", + "version": "6.8.0", "from": "babel-plugin-transform-es2015-block-scoped-functions@>=6.3.13 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.6.5.tgz" + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.8.0.tgz" }, "babel-plugin-transform-es2015-block-scoping": { - "version": "6.7.1", - "from": "babel-plugin-transform-es2015-block-scoping@>=6.6.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.7.1.tgz" + "version": "6.10.1", + "from": "babel-plugin-transform-es2015-block-scoping@>=6.9.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.10.1.tgz" }, "babel-plugin-transform-es2015-classes": { - "version": "6.6.5", - "from": "babel-plugin-transform-es2015-classes@>=6.6.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.6.5.tgz" + "version": "6.9.0", + "from": "babel-plugin-transform-es2015-classes@>=6.9.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.9.0.tgz" }, "babel-plugin-transform-es2015-computed-properties": { - "version": "6.6.5", + "version": "6.8.0", "from": "babel-plugin-transform-es2015-computed-properties@>=6.3.13 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.6.5.tgz" + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.8.0.tgz" }, "babel-plugin-transform-es2015-destructuring": { - "version": "6.6.5", - "from": "babel-plugin-transform-es2015-destructuring@>=6.6.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.6.5.tgz" + "version": "6.9.0", + "from": "babel-plugin-transform-es2015-destructuring@>=6.9.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.9.0.tgz" }, "babel-plugin-transform-es2015-duplicate-keys": { - "version": "6.6.4", + "version": "6.8.0", "from": "babel-plugin-transform-es2015-duplicate-keys@>=6.6.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.6.4.tgz" + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.8.0.tgz" }, "babel-plugin-transform-es2015-for-of": { - "version": "6.6.0", + "version": "6.8.0", "from": "babel-plugin-transform-es2015-for-of@>=6.6.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.6.0.tgz" + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.8.0.tgz" }, "babel-plugin-transform-es2015-function-name": { - "version": "6.5.0", - "from": "babel-plugin-transform-es2015-function-name@>=6.3.13 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.5.0.tgz" + "version": "6.9.0", + "from": "babel-plugin-transform-es2015-function-name@>=6.9.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.9.0.tgz" }, "babel-plugin-transform-es2015-literals": { - "version": "6.5.0", + "version": "6.8.0", "from": "babel-plugin-transform-es2015-literals@>=6.3.13 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.5.0.tgz" + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.8.0.tgz" }, "babel-plugin-transform-es2015-modules-commonjs": { - "version": "6.7.0", + "version": "6.10.3", "from": "babel-plugin-transform-es2015-modules-commonjs@>=6.6.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.7.0.tgz" + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.10.3.tgz" }, "babel-plugin-transform-es2015-object-super": { - "version": "6.6.5", + "version": "6.8.0", "from": "babel-plugin-transform-es2015-object-super@>=6.3.13 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.6.5.tgz" + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.8.0.tgz" }, "babel-plugin-transform-es2015-parameters": { - "version": "6.7.0", - "from": "babel-plugin-transform-es2015-parameters@>=6.6.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.7.0.tgz" + "version": "6.9.0", + "from": "babel-plugin-transform-es2015-parameters@>=6.9.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.9.0.tgz" }, "babel-plugin-transform-es2015-shorthand-properties": { - "version": "6.5.0", + "version": "6.8.0", "from": "babel-plugin-transform-es2015-shorthand-properties@>=6.3.13 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.5.0.tgz" + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.8.0.tgz" }, "babel-plugin-transform-es2015-spread": { - "version": "6.6.5", + "version": "6.8.0", "from": "babel-plugin-transform-es2015-spread@>=6.3.13 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.6.5.tgz" + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.8.0.tgz" }, "babel-plugin-transform-es2015-sticky-regex": { - "version": "6.5.0", + "version": "6.8.0", "from": "babel-plugin-transform-es2015-sticky-regex@>=6.3.13 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.5.0.tgz" + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.8.0.tgz" }, "babel-plugin-transform-es2015-template-literals": { - "version": "6.6.5", + "version": "6.8.0", "from": "babel-plugin-transform-es2015-template-literals@>=6.6.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.6.5.tgz" + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.8.0.tgz" }, "babel-plugin-transform-es2015-typeof-symbol": { - "version": "6.6.0", + "version": "6.8.0", "from": "babel-plugin-transform-es2015-typeof-symbol@>=6.6.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.6.0.tgz" + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.8.0.tgz" }, "babel-plugin-transform-es2015-unicode-regex": { - "version": "6.5.0", + "version": "6.8.0", "from": "babel-plugin-transform-es2015-unicode-regex@>=6.3.13 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.5.0.tgz" + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.8.0.tgz" }, "babel-plugin-transform-regenerator": { - "version": "6.6.5", - "from": "babel-plugin-transform-regenerator@>=6.6.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.6.5.tgz" + "version": "6.9.0", + "from": "babel-plugin-transform-regenerator@>=6.9.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.9.0.tgz" }, "babel-plugin-transform-strict-mode": { - "version": "6.6.5", - "from": "babel-plugin-transform-strict-mode@>=6.6.5 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.6.5.tgz" + "version": "6.8.0", + "from": "babel-plugin-transform-strict-mode@>=6.8.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.8.0.tgz" }, "babel-preset-es2015": { - "version": "6.6.0", - "from": "babel-preset-es2015@>=6.6.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.6.0.tgz" + "version": "6.9.0", + "from": "babel-preset-es2015@>=6.9.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.9.0.tgz" }, "babel-register": { - "version": "6.7.2", - "from": "babel-register@>=6.7.2 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.7.2.tgz", - "dependencies": { - "core-js": { - "version": "2.2.0", - "from": "core-js@>=2.1.0 <3.0.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.2.0.tgz" - } - } + "version": "6.9.0", + "from": "babel-register@>=6.9.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.9.0.tgz" }, "babel-runtime": { - "version": "5.8.35", - "from": "babel-runtime@>=5.0.0 <6.0.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-5.8.35.tgz" + "version": "6.9.2", + "from": "babel-runtime@>=6.0.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.9.2.tgz" }, "babel-template": { - "version": "6.7.0", - "from": "babel-template@>=6.7.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.7.0.tgz" + "version": "6.9.0", + "from": "babel-template@>=6.9.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.9.0.tgz" }, "babel-traverse": { - "version": "6.7.3", - "from": "babel-traverse@>=6.7.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.7.3.tgz" + "version": "6.10.4", + "from": "babel-traverse@>=6.9.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.10.4.tgz" }, "babel-types": { - "version": "6.7.2", - "from": "babel-types@>=6.7.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.7.2.tgz" + "version": "6.10.2", + "from": "babel-types@>=6.10.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.10.2.tgz" }, "babylon": { - "version": "6.7.0", + "version": "6.8.2", "from": "babylon@>=6.7.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.7.0.tgz" + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.8.2.tgz" }, "balanced-match": { - "version": "0.3.0", - "from": "balanced-match@>=0.3.0 <0.4.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.3.0.tgz" + "version": "0.4.1", + "from": "balanced-match@>=0.4.1 <0.5.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.1.tgz" }, "basiccontext": { "version": "3.5.1", - "from": "basiccontext@>=3.5.1 <4.0.0" + "from": "basiccontext@>=3.5.1 <4.0.0", + "resolved": "https://registry.npmjs.org/basiccontext/-/basiccontext-3.5.1.tgz" }, "basicmodal": { - "version": "3.3.4", - "from": "basicmodal@>=3.3.4 <4.0.0" + "version": "3.3.5", + "from": "basicmodal@>=3.3.5 <4.0.0", + "resolved": "https://registry.npmjs.org/basicmodal/-/basicmodal-3.3.5.tgz" }, "beeper": { "version": "1.1.0", @@ -365,9 +365,9 @@ "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.0.tgz" }, "bl": { - "version": "1.0.3", - "from": "bl@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.0.3.tgz", + "version": "1.1.2", + "from": "bl@>=1.1.2 <1.2.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz", "dependencies": { "isarray": { "version": "1.0.0", @@ -382,9 +382,9 @@ } }, "block-stream": { - "version": "0.0.8", + "version": "0.0.9", "from": "block-stream@*", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.8.tgz" + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz" }, "boom": { "version": "2.10.1", @@ -392,14 +392,24 @@ "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz" }, "brace-expansion": { - "version": "1.1.3", + "version": "1.1.5", "from": "brace-expansion@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.3.tgz" + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.5.tgz" + }, + "braces": { + "version": "1.8.5", + "from": "braces@>=1.8.2 <2.0.0", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz" }, "browserslist": { - "version": "1.1.3", - "from": "browserslist@>=1.1.3 <1.2.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.1.3.tgz" + "version": "1.3.3", + "from": "browserslist@>=1.3.1 <1.4.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.3.3.tgz" + }, + "buffer-shims": { + "version": "1.0.0", + "from": "buffer-shims@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz" }, "bufferstreams": { "version": "1.0.1", @@ -422,9 +432,9 @@ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz" }, "caniuse-db": { - "version": "1.0.30000430", - "from": "caniuse-db@>=1.0.30000409 <2.0.0", - "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000430.tgz" + "version": "1.0.30000488", + "from": "caniuse-db@>=1.0.30000444 <2.0.0", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000488.tgz" }, "caseless": { "version": "0.11.0", @@ -434,17 +444,24 @@ "center-align": { "version": "0.1.3", "from": "center-align@>=0.1.1 <0.2.0", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz" + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "dependencies": { + "lazy-cache": { + "version": "1.0.4", + "from": "lazy-cache@>=1.0.3 <2.0.0", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz" + } + } }, "chalk": { - "version": "1.1.1", + "version": "1.1.3", "from": "chalk@>=1.1.0 <2.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.1.tgz" + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" }, "clean-css": { - "version": "3.4.10", + "version": "3.4.18", "from": "clean-css@>=3.3.3 <4.0.0", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.10.tgz", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.18.tgz", "dependencies": { "source-map": { "version": "0.4.4", @@ -454,9 +471,9 @@ } }, "cliui": { - "version": "3.1.0", - "from": "cliui@>=3.0.3 <4.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.1.0.tgz" + "version": "3.2.0", + "from": "cliui@>=3.2.0 <4.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz" }, "clone": { "version": "1.0.2", @@ -473,11 +490,6 @@ "from": "code-point-at@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.0.0.tgz" }, - "color-convert": { - "version": "1.0.0", - "from": "color-convert@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.0.0.tgz" - }, "combined-stream": { "version": "1.0.5", "from": "combined-stream@>=1.0.5 <1.1.0", @@ -493,42 +505,20 @@ "from": "concat-map@0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" }, - "concat-stream": { - "version": "1.5.1", - "from": "concat-stream@>=1.4.7 <2.0.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.1.tgz", - "dependencies": { - "isarray": { - "version": "1.0.0", - "from": "isarray@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - }, - "readable-stream": { - "version": "2.0.6", - "from": "readable-stream@>=2.0.0 <2.1.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz" - } - } - }, "concat-with-sourcemaps": { "version": "1.0.4", "from": "concat-with-sourcemaps@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.0.4.tgz" }, - "config-chain": { - "version": "1.1.10", - "from": "config-chain@>=1.1.8 <1.2.0", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.10.tgz" - }, "convert-source-map": { "version": "1.2.0", "from": "convert-source-map@>=1.1.0 <2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.2.0.tgz" }, "core-js": { - "version": "1.2.6", - "from": "core-js@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.6.tgz" + "version": "2.4.0", + "from": "core-js@>=2.4.0 <3.0.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.0.tgz" }, "core-util-is": { "version": "1.0.2", @@ -536,19 +526,14 @@ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" }, "cross-spawn": { - "version": "2.1.5", - "from": "cross-spawn@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-2.1.5.tgz" - }, - "cross-spawn-async": { - "version": "2.1.9", - "from": "cross-spawn-async@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/cross-spawn-async/-/cross-spawn-async-2.1.9.tgz", + "version": "3.0.1", + "from": "cross-spawn@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", "dependencies": { "lru-cache": { - "version": "4.0.0", - "from": "lru-cache@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.0.tgz" + "version": "4.0.1", + "from": "lru-cache@>=4.0.1 <5.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.1.tgz" } } }, @@ -557,15 +542,20 @@ "from": "cryptiles@>=2.0.0 <3.0.0", "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz" }, + "currently-unhandled": { + "version": "0.4.1", + "from": "currently-unhandled@>=0.4.1 <0.5.0", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz" + }, "d": { "version": "0.1.1", "from": "d@>=0.1.1 <0.2.0", "resolved": "https://registry.npmjs.org/d/-/d-0.1.1.tgz" }, "dashdash": { - "version": "1.13.0", - "from": "dashdash@>=1.10.1 <2.0.0", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.13.0.tgz", + "version": "1.14.0", + "from": "dashdash@>=1.12.0 <2.0.0", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.0.tgz", "dependencies": { "assert-plus": { "version": "1.0.0", @@ -631,7 +621,7 @@ }, "ecc-jsbn": { "version": "0.1.1", - "from": "ecc-jsbn@>=0.0.1 <1.0.0", + "from": "ecc-jsbn@>=0.1.1 <0.2.0", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz" }, "end-of-stream": { @@ -646,8 +636,15 @@ }, "es5-ext": { "version": "0.10.11", - "from": "es5-ext@>=0.10.10 <0.11.0", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.11.tgz" + "from": "es5-ext@>=0.10.11 <0.11.0", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.11.tgz", + "dependencies": { + "es6-symbol": { + "version": "3.0.2", + "from": "es6-symbol@>=3.0.2 <3.1.0", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.0.2.tgz" + } + } }, "es6-iterator": { "version": "2.0.0", @@ -655,9 +652,9 @@ "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz" }, "es6-symbol": { - "version": "3.0.2", + "version": "3.1.0", "from": "es6-symbol@>=3.0.2 <4.0.0", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.0.2.tgz" + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.0.tgz" }, "escape-string-regexp": { "version": "1.0.5", @@ -670,14 +667,34 @@ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz" }, "event-stream": { - "version": "3.3.2", + "version": "3.3.3", "from": "event-stream@>=3.1.0 <4.0.0", - "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.2.tgz" + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.3.tgz" + }, + "expand-brackets": { + "version": "0.1.5", + "from": "expand-brackets@>=0.1.4 <0.2.0", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz" + }, + "expand-range": { + "version": "1.8.2", + "from": "expand-range@>=1.8.1 <2.0.0", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz" + }, + "expand-tilde": { + "version": "1.2.2", + "from": "expand-tilde@>=1.2.0 <2.0.0", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz" }, "extend": { - "version": "2.0.1", - "from": "extend@>=2.0.1 <3.0.0", - "resolved": "https://registry.npmjs.org/extend/-/extend-2.0.1.tgz" + "version": "3.0.0", + "from": "extend@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz" + }, + "extglob": { + "version": "0.3.2", + "from": "extglob@>=0.3.1 <0.4.0", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz" }, "extsprintf": { "version": "1.0.2", @@ -689,6 +706,16 @@ "from": "fancy-log@>=1.1.0 <2.0.0", "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.2.0.tgz" }, + "filename-regex": { + "version": "2.0.0", + "from": "filename-regex@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.0.tgz" + }, + "fill-range": { + "version": "2.2.3", + "from": "fill-range@>=2.1.0 <3.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz" + }, "find-index": { "version": "0.1.1", "from": "find-index@>=0.1.1 <0.2.0", @@ -717,9 +744,19 @@ "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz" }, "flagged-respawn": { - "version": "0.3.1", - "from": "flagged-respawn@>=0.3.1 <0.4.0", - "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-0.3.1.tgz" + "version": "0.3.2", + "from": "flagged-respawn@>=0.3.2 <0.4.0", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-0.3.2.tgz" + }, + "for-in": { + "version": "0.1.5", + "from": "for-in@>=0.1.5 <0.2.0", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.5.tgz" + }, + "for-own": { + "version": "0.1.4", + "from": "for-own@>=0.1.3 <0.2.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.4.tgz" }, "forever-agent": { "version": "0.6.1", @@ -736,10 +773,20 @@ "from": "from@>=0.0.0 <1.0.0", "resolved": "https://registry.npmjs.org/from/-/from-0.1.3.tgz" }, + "fs-exists-sync": { + "version": "0.1.0", + "from": "fs-exists-sync@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz" + }, + "fs.realpath": { + "version": "1.0.0", + "from": "fs.realpath@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + }, "fstream": { - "version": "1.0.8", + "version": "1.0.10", "from": "fstream@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.8.tgz" + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.10.tgz" }, "gauge": { "version": "1.2.7", @@ -769,12 +816,17 @@ "get-value": { "version": "1.3.1", "from": "get-value@>=1.1.5 <2.0.0", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-1.3.1.tgz", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-1.3.1.tgz" + }, + "getpass": { + "version": "0.1.6", + "from": "getpass@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz", "dependencies": { - "lazy-cache": { - "version": "0.2.7", - "from": "lazy-cache@>=0.2.4 <0.3.0", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz" + "assert-plus": { + "version": "1.0.0", + "from": "assert-plus@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" } } }, @@ -783,6 +835,16 @@ "from": "glob@>=5.0.0 <5.1.0", "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz" }, + "glob-base": { + "version": "0.3.0", + "from": "glob-base@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz" + }, + "glob-parent": { + "version": "2.0.0", + "from": "glob-parent@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz" + }, "glob-stream": { "version": "3.1.18", "from": "glob-stream@>=3.1.5 <4.0.0", @@ -793,10 +855,15 @@ "from": "glob@>=4.3.1 <5.0.0", "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz" }, + "minimatch": { + "version": "2.0.10", + "from": "minimatch@>=2.0.1 <3.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz" + }, "readable-stream": { - "version": "1.0.33", + "version": "1.0.34", "from": "readable-stream@>=1.0.33-1 <1.1.0-0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz" + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz" }, "through2": { "version": "0.6.5", @@ -815,6 +882,16 @@ "from": "glob2base@>=0.0.12 <0.0.13", "resolved": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz" }, + "global-modules": { + "version": "0.2.2", + "from": "global-modules@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.2.tgz" + }, + "global-prefix": { + "version": "0.1.4", + "from": "global-prefix@>=0.1.4 <0.2.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.4.tgz" + }, "globals": { "version": "8.18.0", "from": "globals@>=8.3.0 <9.0.0", @@ -858,9 +935,9 @@ "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz" }, "graceful-fs": { - "version": "4.1.3", + "version": "4.1.4", "from": "graceful-fs@>=4.1.2 <5.0.0", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.3.tgz" + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.4.tgz" }, "graceful-readlink": { "version": "1.0.1", @@ -870,14 +947,7 @@ "group-array": { "version": "0.3.0", "from": "group-array@>=0.3.0 <0.4.0", - "resolved": "https://registry.npmjs.org/group-array/-/group-array-0.3.0.tgz", - "dependencies": { - "kind-of": { - "version": "2.0.1", - "from": "kind-of@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz" - } - } + "resolved": "https://registry.npmjs.org/group-array/-/group-array-0.3.0.tgz" }, "gulp": { "version": "3.9.1", @@ -895,9 +965,9 @@ "resolved": "https://registry.npmjs.org/gulp-babel/-/gulp-babel-6.1.2.tgz", "dependencies": { "object-assign": { - "version": "4.0.1", + "version": "4.1.0", "from": "object-assign@>=4.0.1 <5.0.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.0.1.tgz" + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz" } } }, @@ -907,9 +977,9 @@ "resolved": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.0.tgz", "dependencies": { "readable-stream": { - "version": "1.0.33", + "version": "1.0.34", "from": "readable-stream@>=1.0.33-1 <1.1.0-0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz" + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz" }, "through2": { "version": "0.6.5", @@ -919,24 +989,19 @@ } }, "gulp-inject": { - "version": "4.0.0", - "from": "gulp-inject@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/gulp-inject/-/gulp-inject-4.0.0.tgz" + "version": "4.1.0", + "from": "gulp-inject@>=4.1.0 <5.0.0", + "resolved": "https://registry.npmjs.org/gulp-inject/-/gulp-inject-4.1.0.tgz" }, "gulp-load-plugins": { - "version": "1.2.0", - "from": "gulp-load-plugins@>=1.2.0 <2.0.0", - "resolved": "https://registry.npmjs.org/gulp-load-plugins/-/gulp-load-plugins-1.2.0.tgz", + "version": "1.2.4", + "from": "gulp-load-plugins@>=1.2.4 <2.0.0", + "resolved": "https://registry.npmjs.org/gulp-load-plugins/-/gulp-load-plugins-1.2.4.tgz", "dependencies": { "findup-sync": { - "version": "0.2.1", - "from": "findup-sync@>=0.2.1 <0.3.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.2.1.tgz" - }, - "glob": { - "version": "4.3.5", - "from": "glob@>=4.3.0 <4.4.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-4.3.5.tgz" + "version": "0.4.1", + "from": "findup-sync@>=0.4.0 <0.5.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.4.1.tgz" } } }, @@ -951,14 +1016,14 @@ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" }, "object-assign": { - "version": "4.0.1", + "version": "4.1.0", "from": "object-assign@>=4.0.1 <5.0.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.0.1.tgz" + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz" }, "readable-stream": { - "version": "2.0.6", + "version": "2.1.4", "from": "readable-stream@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz" + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.4.tgz" } } }, @@ -968,21 +1033,14 @@ "resolved": "https://registry.npmjs.org/gulp-rimraf/-/gulp-rimraf-0.2.0.tgz" }, "gulp-sass": { - "version": "2.2.0", - "from": "gulp-sass@>=2.2.0 <3.0.0", - "resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-2.2.0.tgz", - "dependencies": { - "object-assign": { - "version": "4.0.1", - "from": "object-assign@>=4.0.1 <5.0.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.0.1.tgz" - } - } + "version": "2.3.2", + "from": "gulp-sass@>=2.3.2 <3.0.0", + "resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-2.3.2.tgz" }, "gulp-uglify": { - "version": "1.5.3", - "from": "gulp-uglify@>=1.5.3 <2.0.0", - "resolved": "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-1.5.3.tgz" + "version": "1.5.4", + "from": "gulp-uglify@>=1.5.4 <2.0.0", + "resolved": "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-1.5.4.tgz" }, "gulp-util": { "version": "3.0.7", @@ -1022,13 +1080,13 @@ "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz" }, "has-unicode": { - "version": "2.0.0", + "version": "2.0.1", "from": "has-unicode@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.0.tgz" + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz" }, "hawk": { "version": "3.1.3", - "from": "hawk@>=3.1.0 <3.2.0", + "from": "hawk@>=3.1.3 <3.2.0", "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz" }, "hoek": { @@ -1042,31 +1100,36 @@ "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-1.0.0.tgz" }, "hosted-git-info": { - "version": "2.1.4", + "version": "2.1.5", "from": "hosted-git-info@>=2.1.4 <3.0.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.4.tgz" + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.5.tgz" }, "http-signature": { "version": "1.1.1", "from": "http-signature@>=1.1.0 <1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz" }, + "in-publish": { + "version": "2.0.0", + "from": "in-publish@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz" + }, "indent-string": { "version": "2.1.0", "from": "indent-string@>=2.1.0 <3.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", "dependencies": { "repeating": { - "version": "2.0.0", + "version": "2.0.1", "from": "repeating@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.0.tgz" + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz" } } }, "inflight": { - "version": "1.0.4", + "version": "1.0.5", "from": "inflight@>=1.0.4 <2.0.0", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.4.tgz" + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz" }, "inherits": { "version": "2.0.1", @@ -1075,13 +1138,13 @@ }, "ini": { "version": "1.3.4", - "from": "ini@>=1.2.0 <2.0.0", + "from": "ini@>=1.3.4 <2.0.0", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz" }, "interpret": { - "version": "1.0.0", + "version": "1.0.1", "from": "interpret@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.0.tgz" + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.1.tgz" }, "invariant": { "version": "2.2.1", @@ -1093,11 +1156,6 @@ "from": "invert-kv@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz" }, - "is-absolute": { - "version": "0.1.7", - "from": "is-absolute@>=0.1.7 <0.2.0", - "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.1.7.tgz" - }, "is-arrayish": { "version": "0.2.1", "from": "is-arrayish@>=0.2.1 <0.3.0", @@ -1113,11 +1171,26 @@ "from": "is-builtin-module@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz" }, + "is-dotfile": { + "version": "1.0.2", + "from": "is-dotfile@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.2.tgz" + }, + "is-equal-shallow": { + "version": "0.1.3", + "from": "is-equal-shallow@>=0.1.3 <0.2.0", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz" + }, "is-extendable": { "version": "0.1.1", "from": "is-extendable@>=0.1.1 <0.2.0", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" }, + "is-extglob": { + "version": "1.0.0", + "from": "is-extglob@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz" + }, "is-finite": { "version": "1.0.1", "from": "is-finite@>=1.0.0 <2.0.0", @@ -1128,26 +1201,43 @@ "from": "is-fullwidth-code-point@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" }, - "is-integer": { - "version": "1.0.6", - "from": "is-integer@>=1.0.4 <2.0.0", - "resolved": "https://registry.npmjs.org/is-integer/-/is-integer-1.0.6.tgz" + "is-glob": { + "version": "2.0.1", + "from": "is-glob@>=2.0.1 <3.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz" }, "is-my-json-valid": { "version": "2.13.1", "from": "is-my-json-valid@>=2.12.4 <3.0.0", "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz" }, + "is-number": { + "version": "2.1.0", + "from": "is-number@>=2.1.0 <3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "dependencies": { + "kind-of": { + "version": "3.0.3", + "from": "kind-of@>=3.0.2 <4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.0.3.tgz" + } + } + }, + "is-posix-bracket": { + "version": "0.1.1", + "from": "is-posix-bracket@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz" + }, + "is-primitive": { + "version": "2.0.0", + "from": "is-primitive@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz" + }, "is-property": { "version": "1.0.2", "from": "is-property@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz" }, - "is-relative": { - "version": "0.1.3", - "from": "is-relative@>=0.1.0 <0.2.0", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.1.3.tgz" - }, "is-typedarray": { "version": "1.0.0", "from": "is-typedarray@>=1.0.0 <1.1.0", @@ -1158,6 +1248,11 @@ "from": "is-utf8@>=0.2.0 <0.3.0", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz" }, + "is-windows": { + "version": "0.2.0", + "from": "is-windows@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz" + }, "isarray": { "version": "0.0.1", "from": "isarray@0.0.1", @@ -1169,9 +1264,16 @@ "resolved": "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz" }, "isobject": { - "version": "2.0.0", + "version": "2.1.0", "from": "isobject@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.0.0.tgz" + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "dependencies": { + "isarray": { + "version": "1.0.0", + "from": "isarray@1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + } + } }, "isstream": { "version": "0.1.2", @@ -1184,9 +1286,9 @@ "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz" }, "jquery": { - "version": "2.2.3", - "from": "jquery@>=2.2.3 <3.0.0", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-2.2.3.tgz" + "version": "3.0.0", + "from": "jquery@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.0.0.tgz" }, "js-base64": { "version": "2.1.9", @@ -1194,9 +1296,9 @@ "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz" }, "js-tokens": { - "version": "1.0.2", - "from": "js-tokens@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-1.0.2.tgz" + "version": "1.0.3", + "from": "js-tokens@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-1.0.3.tgz" }, "jsbn": { "version": "0.1.0", @@ -1229,39 +1331,29 @@ "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz" }, "jsprim": { - "version": "1.2.2", + "version": "1.3.0", "from": "jsprim@>=1.2.2 <2.0.0", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.2.2.tgz" + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.0.tgz" }, "kind-of": { - "version": "3.0.2", - "from": "kind-of@>=3.0.2 <4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.0.2.tgz" + "version": "2.0.1", + "from": "kind-of@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz" }, "lazy-cache": { - "version": "1.0.3", - "from": "lazy-cache@>=1.0.3 <2.0.0", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.3.tgz" + "version": "0.2.7", + "from": "lazy-cache@>=0.2.4 <0.3.0", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz" }, "lcid": { "version": "1.0.0", "from": "lcid@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz" }, - "left-pad": { - "version": "0.0.3", - "from": "left-pad@0.0.3", - "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-0.0.3.tgz" - }, "liftoff": { - "version": "2.2.0", + "version": "2.2.4", "from": "liftoff@>=2.1.0 <3.0.0", - "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.2.0.tgz" - }, - "line-numbers": { - "version": "0.2.0", - "from": "line-numbers@>=0.2.0 <0.3.0", - "resolved": "https://registry.npmjs.org/line-numbers/-/line-numbers-0.2.0.tgz" + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.2.4.tgz" }, "load-json-file": { "version": "1.1.0", @@ -1269,15 +1361,25 @@ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz" }, "lodash": { - "version": "3.10.1", - "from": "lodash@>=3.10.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz" + "version": "4.13.1", + "from": "lodash@>=4.2.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.13.1.tgz" + }, + "lodash._baseclone": { + "version": "4.5.7", + "from": "lodash._baseclone@>=4.5.0 <4.6.0", + "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-4.5.7.tgz" }, "lodash._basecopy": { "version": "3.0.1", "from": "lodash._basecopy@>=3.0.0 <4.0.0", "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz" }, + "lodash._baseslice": { + "version": "4.0.0", + "from": "lodash._baseslice@>=4.0.0 <4.1.0", + "resolved": "https://registry.npmjs.org/lodash._baseslice/-/lodash._baseslice-4.0.0.tgz" + }, "lodash._basetostring": { "version": "3.0.1", "from": "lodash._basetostring@>=3.0.0 <4.0.0", @@ -1318,6 +1420,23 @@ "from": "lodash._root@>=3.0.0 <4.0.0", "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz" }, + "lodash.assign": { + "version": "4.0.9", + "from": "lodash.assign@>=4.0.3 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.0.9.tgz", + "dependencies": { + "lodash.keys": { + "version": "4.0.7", + "from": "lodash.keys@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-4.0.7.tgz" + } + } + }, + "lodash.clonedeep": { + "version": "4.3.2", + "from": "lodash.clonedeep@>=4.3.2 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.3.2.tgz" + }, "lodash.escape": { "version": "3.2.0", "from": "lodash.escape@>=3.0.0 <4.0.0", @@ -1339,24 +1458,45 @@ "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz" }, "lodash.pad": { - "version": "4.1.0", + "version": "4.4.0", "from": "lodash.pad@>=4.1.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.1.0.tgz" + "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.4.0.tgz", + "dependencies": { + "lodash._basetostring": { + "version": "4.12.0", + "from": "lodash._basetostring@>=4.12.0 <4.13.0", + "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-4.12.0.tgz" + } + } }, "lodash.padend": { - "version": "4.2.0", + "version": "4.5.0", "from": "lodash.padend@>=4.1.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.2.0.tgz" + "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.5.0.tgz", + "dependencies": { + "lodash._basetostring": { + "version": "4.12.0", + "from": "lodash._basetostring@>=4.12.0 <4.13.0", + "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-4.12.0.tgz" + } + } }, "lodash.padstart": { - "version": "4.2.0", + "version": "4.5.0", "from": "lodash.padstart@>=4.1.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.2.0.tgz" + "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.5.0.tgz", + "dependencies": { + "lodash._basetostring": { + "version": "4.12.0", + "from": "lodash._basetostring@>=4.12.0 <4.13.0", + "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-4.12.0.tgz" + } + } }, - "lodash.repeat": { - "version": "4.0.0", - "from": "lodash.repeat@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash.repeat/-/lodash.repeat-4.0.0.tgz" + "lodash.rest": { + "version": "4.0.3", + "from": "lodash.rest@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.rest/-/lodash.rest-4.0.3.tgz" }, "lodash.restparam": { "version": "3.6.1", @@ -1374,9 +1514,9 @@ "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz" }, "lodash.tostring": { - "version": "4.1.2", + "version": "4.1.3", "from": "lodash.tostring@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash.tostring/-/lodash.tostring-4.1.2.tgz" + "resolved": "https://registry.npmjs.org/lodash.tostring/-/lodash.tostring-4.1.3.tgz" }, "longest": { "version": "1.0.1", @@ -1384,14 +1524,14 @@ "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz" }, "loose-envify": { - "version": "1.1.0", + "version": "1.2.0", "from": "loose-envify@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.1.0.tgz" + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.2.0.tgz" }, "loud-rejection": { - "version": "1.3.0", + "version": "1.5.0", "from": "loud-rejection@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.3.0.tgz" + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.5.0.tgz" }, "lru-cache": { "version": "2.7.3", @@ -1414,26 +1554,38 @@ "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", "dependencies": { "object-assign": { - "version": "4.0.1", + "version": "4.1.0", "from": "object-assign@>=4.0.1 <5.0.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.0.1.tgz" + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz" + } + } + }, + "micromatch": { + "version": "2.3.10", + "from": "micromatch@>=2.3.8 <3.0.0", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.10.tgz", + "dependencies": { + "kind-of": { + "version": "3.0.3", + "from": "kind-of@>=3.0.2 <4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.0.3.tgz" } } }, "mime-db": { - "version": "1.22.0", - "from": "mime-db@>=1.22.0 <1.23.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.22.0.tgz" + "version": "1.23.0", + "from": "mime-db@>=1.23.0 <1.24.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz" }, "mime-types": { - "version": "2.1.10", + "version": "2.1.11", "from": "mime-types@>=2.1.7 <2.2.0", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.10.tgz" + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz" }, "minimatch": { - "version": "2.0.10", - "from": "minimatch@>=2.0.3 <3.0.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz" + "version": "3.0.2", + "from": "minimatch@>=3.0.2 <4.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.2.tgz" }, "minimist": { "version": "1.2.0", @@ -1453,33 +1605,28 @@ } }, "mousetrap": { - "version": "1.5.3", - "from": "mousetrap@>=1.5.3 <2.0.0", - "resolved": "https://registry.npmjs.org/mousetrap/-/mousetrap-1.5.3.tgz" + "version": "1.6.0", + "from": "mousetrap@>=1.6.0 <2.0.0", + "resolved": "https://registry.npmjs.org/mousetrap/-/mousetrap-1.6.0.tgz" }, "ms": { "version": "0.7.1", "from": "ms@0.7.1", "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" }, - "multimatch": { - "version": "2.0.0", - "from": "multimatch@2.0.0", - "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.0.0.tgz" - }, "multipipe": { "version": "0.1.2", "from": "multipipe@>=0.1.2 <0.2.0", "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz" }, "nan": { - "version": "2.2.0", - "from": "nan@>=2.0.8 <3.0.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.2.0.tgz" + "version": "2.3.5", + "from": "nan@>=2.3.2 <3.0.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.3.5.tgz" }, "node-gyp": { "version": "3.3.1", - "from": "node-gyp@>=3.0.1 <4.0.0", + "from": "node-gyp@>=3.3.1 <4.0.0", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.3.1.tgz", "dependencies": { "glob": { @@ -1489,7 +1636,8 @@ "dependencies": { "minimatch": { "version": "2.0.10", - "from": "minimatch@>=2.0.1 <3.0.0" + "from": "minimatch@>=2.0.1 <3.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz" } } }, @@ -1501,9 +1649,31 @@ } }, "node-sass": { - "version": "3.4.2", - "from": "node-sass@>=3.4.1 <4.0.0", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-3.4.2.tgz" + "version": "3.8.0", + "from": "node-sass@>=3.4.2 <4.0.0", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-3.8.0.tgz", + "dependencies": { + "gaze": { + "version": "1.1.0", + "from": "gaze@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.0.tgz" + }, + "glob": { + "version": "7.0.5", + "from": "glob@>=7.0.3 <8.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz" + }, + "globule": { + "version": "1.0.0", + "from": "globule@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.0.0.tgz" + }, + "lodash": { + "version": "4.9.0", + "from": "lodash@>=4.9.0 <4.10.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.9.0.tgz" + } + } }, "node-uuid": { "version": "1.4.7", @@ -1525,20 +1695,20 @@ "from": "normalize-package-data@>=2.3.4 <3.0.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz" }, + "normalize-path": { + "version": "2.0.1", + "from": "normalize-path@>=2.0.1 <3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.0.1.tgz" + }, "normalize-range": { "version": "0.1.2", "from": "normalize-range@>=0.1.2 <0.2.0", "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" }, - "npmconf": { - "version": "2.1.2", - "from": "npmconf@>=2.1.2 <3.0.0", - "resolved": "https://registry.npmjs.org/npmconf/-/npmconf-2.1.2.tgz" - }, "npmlog": { - "version": "2.0.3", + "version": "2.0.4", "from": "npmlog@>=0.0.0 <1.0.0||>=1.0.0 <2.0.0||>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-2.0.3.tgz" + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-2.0.4.tgz" }, "num2fraction": { "version": "1.2.2", @@ -1551,15 +1721,20 @@ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz" }, "oauth-sign": { - "version": "0.8.1", - "from": "oauth-sign@>=0.8.0 <0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.1.tgz" + "version": "0.8.2", + "from": "oauth-sign@>=0.8.1 <0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz" }, "object-assign": { "version": "3.0.0", "from": "object-assign@>=3.0.0 <4.0.0", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz" }, + "object.omit": { + "version": "2.0.0", + "from": "object.omit@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.0.tgz" + }, "once": { "version": "1.3.3", "from": "once@>=1.3.0 <2.0.0", @@ -1585,11 +1760,6 @@ "from": "os-locale@>=1.4.0 <2.0.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz" }, - "os-shim": { - "version": "0.1.3", - "from": "os-shim@>=0.1.2 <0.2.0", - "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz" - }, "os-tmpdir": { "version": "1.0.1", "from": "os-tmpdir@>=1.0.1 <2.0.0", @@ -1597,9 +1767,14 @@ }, "osenv": { "version": "0.1.3", - "from": "osenv@>=0.0.0 <1.0.0", + "from": "osenv@>=0.1.3 <0.2.0", "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.3.tgz" }, + "parse-glob": { + "version": "3.0.4", + "from": "parse-glob@>=3.0.4 <4.0.0", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz" + }, "parse-json": { "version": "2.2.0", "from": "parse-json@>=2.2.0 <3.0.0", @@ -1641,14 +1816,26 @@ "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" }, "pinkie-promise": { - "version": "2.0.0", + "version": "2.0.1", "from": "pinkie-promise@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.0.tgz" + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" + }, + "pkg-conf": { + "version": "1.1.3", + "from": "pkg-conf@>=1.1.2 <2.0.0", + "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-1.1.3.tgz", + "dependencies": { + "object-assign": { + "version": "4.1.0", + "from": "object-assign@>=4.0.1 <5.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz" + } + } }, "postcss": { - "version": "5.0.19", + "version": "5.0.21", "from": "postcss@>=5.0.4 <6.0.0", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.0.19.tgz", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.0.21.tgz", "dependencies": { "supports-color": { "version": "3.1.2", @@ -1662,6 +1849,11 @@ "from": "postcss-value-parser@>=3.2.3 <4.0.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz" }, + "preserve": { + "version": "0.2.0", + "from": "preserve@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz" + }, "pretty-hrtime": { "version": "1.0.2", "from": "pretty-hrtime@>=1.0.0 <2.0.0", @@ -1673,14 +1865,9 @@ "resolved": "https://registry.npmjs.org/private/-/private-0.1.6.tgz" }, "process-nextick-args": { - "version": "1.0.6", + "version": "1.0.7", "from": "process-nextick-args@>=1.0.6 <1.1.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.6.tgz" - }, - "proto-list": { - "version": "1.2.4", - "from": "proto-list@>=1.2.1 <1.3.0", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz" + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz" }, "pseudomap": { "version": "1.0.2", @@ -1688,9 +1875,21 @@ "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz" }, "qs": { - "version": "6.0.2", - "from": "qs@>=6.0.2 <6.1.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.0.2.tgz" + "version": "6.1.0", + "from": "qs@>=6.1.0 <6.2.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.1.0.tgz" + }, + "randomatic": { + "version": "1.1.5", + "from": "randomatic@>=1.1.3 <2.0.0", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.5.tgz", + "dependencies": { + "kind-of": { + "version": "3.0.3", + "from": "kind-of@>=3.0.2 <4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.0.3.tgz" + } + } }, "read-pkg": { "version": "1.1.0", @@ -1703,13 +1902,13 @@ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz" }, "readable-stream": { - "version": "1.1.13", + "version": "1.1.14", "from": "readable-stream@>=1.1.9 <1.2.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13.tgz" + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz" }, "rechoir": { "version": "0.6.2", - "from": "rechoir@>=0.6.0 <0.7.0", + "from": "rechoir@>=0.6.2 <0.7.0", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" }, "redent": { @@ -1718,9 +1917,19 @@ "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz" }, "regenerate": { - "version": "1.2.1", + "version": "1.3.1", "from": "regenerate@>=1.2.1 <2.0.0", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.2.1.tgz" + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.1.tgz" + }, + "regenerator-runtime": { + "version": "0.9.5", + "from": "regenerator-runtime@>=0.9.5 <0.10.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz" + }, + "regex-cache": { + "version": "0.4.3", + "from": "regex-cache@>=0.4.2 <0.5.0", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz" }, "regexpu-core": { "version": "1.0.0", @@ -1737,6 +1946,11 @@ "from": "regjsparser@>=0.1.4 <0.2.0", "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz" }, + "repeat-element": { + "version": "1.1.2", + "from": "repeat-element@>=1.1.2 <2.0.0", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz" + }, "repeat-string": { "version": "1.5.4", "from": "repeat-string@>=1.5.2 <2.0.0", @@ -1744,7 +1958,7 @@ }, "repeating": { "version": "1.1.3", - "from": "repeating@>=1.1.3 <2.0.0", + "from": "repeating@>=1.1.0 <2.0.0", "resolved": "https://registry.npmjs.org/repeating/-/repeating-1.1.3.tgz" }, "replace-ext": { @@ -1753,22 +1967,25 @@ "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz" }, "request": { - "version": "2.69.0", + "version": "2.72.0", "from": "request@>=2.61.0 <3.0.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.69.0.tgz", - "dependencies": { - "extend": { - "version": "3.0.0", - "from": "extend@>=3.0.0 <3.1.0", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz" - } - } + "resolved": "https://registry.npmjs.org/request/-/request-2.72.0.tgz" + }, + "require-main-filename": { + "version": "1.0.1", + "from": "require-main-filename@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz" }, "resolve": { "version": "1.1.7", - "from": "resolve@>=1.1.6 <2.0.0", + "from": "resolve@>=1.1.7 <2.0.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz" }, + "resolve-dir": { + "version": "0.1.0", + "from": "resolve-dir@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.0.tgz" + }, "right-align": { "version": "0.1.3", "from": "right-align@>=0.1.1 <0.2.0", @@ -1780,26 +1997,21 @@ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.2.tgz", "dependencies": { "glob": { - "version": "7.0.3", + "version": "7.0.5", "from": "glob@>=7.0.0 <8.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.3.tgz" + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz" } } }, "sass-graph": { - "version": "2.1.1", - "from": "sass-graph@>=2.0.1 <3.0.0", - "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.1.1.tgz", + "version": "2.1.2", + "from": "sass-graph@>=2.1.1 <3.0.0", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.1.2.tgz", "dependencies": { "glob": { - "version": "6.0.4", - "from": "glob@>=6.0.4 <7.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz" - }, - "lodash": { - "version": "4.6.1", - "from": "lodash@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.6.1.tgz" + "version": "7.0.5", + "from": "glob@>=7.0.0 <8.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz" } } }, @@ -1813,6 +2025,11 @@ "from": "sequencify@>=0.0.7 <0.1.0", "resolved": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz" }, + "set-blocking": { + "version": "1.0.0", + "from": "set-blocking@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-1.0.0.tgz" + }, "shebang-regex": { "version": "1.0.0", "from": "shebang-regex@>=1.0.0 <2.0.0", @@ -1824,9 +2041,9 @@ "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz" }, "signal-exit": { - "version": "2.1.2", - "from": "signal-exit@>=2.1.2 <3.0.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-2.1.2.tgz" + "version": "3.0.0", + "from": "signal-exit@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.0.tgz" }, "slash": { "version": "1.0.0", @@ -1839,9 +2056,9 @@ "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz" }, "source-map": { - "version": "0.5.3", + "version": "0.5.6", "from": "source-map@>=0.5.0 <0.6.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.3.tgz" + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz" }, "source-map-support": { "version": "0.2.10", @@ -1860,11 +2077,6 @@ "from": "sparkles@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz" }, - "spawn-sync": { - "version": "1.0.15", - "from": "spawn-sync@>=1.0.15 <2.0.0", - "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz" - }, "spdx-correct": { "version": "1.0.2", "from": "spdx-correct@>=1.0.0 <1.1.0", @@ -1881,9 +2093,9 @@ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.2.tgz" }, "spdx-license-ids": { - "version": "1.2.0", + "version": "1.2.1", "from": "spdx-license-ids@>=1.0.2 <2.0.0", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.0.tgz" + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.1.tgz" }, "split": { "version": "0.3.3", @@ -1891,9 +2103,16 @@ "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz" }, "sshpk": { - "version": "1.7.4", + "version": "1.8.3", "from": "sshpk@>=1.7.0 <2.0.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.7.4.tgz" + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.8.3.tgz", + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "from": "assert-plus@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" + } + } }, "stream-combiner": { "version": "0.0.4", @@ -1945,6 +2164,11 @@ "from": "supports-color@>=2.0.0 <3.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" }, + "symbol": { + "version": "0.2.3", + "from": "symbol@>=0.2.1 <0.3.0", + "resolved": "https://registry.npmjs.org/symbol/-/symbol-0.2.3.tgz" + }, "tar": { "version": "2.2.1", "from": "tar@>=2.0.0 <3.0.0", @@ -1973,19 +2197,19 @@ } }, "tildify": { - "version": "1.1.2", + "version": "1.2.0", "from": "tildify@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/tildify/-/tildify-1.1.2.tgz" + "resolved": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz" }, "time-stamp": { - "version": "1.0.0", + "version": "1.0.1", "from": "time-stamp@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.0.0.tgz" + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.0.1.tgz" }, "to-fast-properties": { - "version": "1.0.1", + "version": "1.0.2", "from": "to-fast-properties@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.1.tgz" + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.2.tgz" }, "tough-cookie": { "version": "2.2.2", @@ -1997,30 +2221,20 @@ "from": "trim-newlines@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz" }, - "trim-right": { - "version": "1.0.1", - "from": "trim-right@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz" - }, "tunnel-agent": { - "version": "0.4.2", + "version": "0.4.3", "from": "tunnel-agent@>=0.4.1 <0.5.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.2.tgz" + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz" }, "tweetnacl": { - "version": "0.14.1", - "from": "tweetnacl@>=0.13.0 <1.0.0", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.1.tgz" - }, - "typedarray": { - "version": "0.0.6", - "from": "typedarray@>=0.0.5 <0.1.0", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" + "version": "0.13.3", + "from": "tweetnacl@>=0.13.0 <0.14.0", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.3.tgz" }, "uglify-js": { - "version": "2.6.2", - "from": "uglify-js@2.6.2", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.6.2.tgz", + "version": "2.6.4", + "from": "uglify-js@2.6.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.6.4.tgz", "dependencies": { "async": { "version": "0.2.10", @@ -2059,11 +2273,6 @@ "from": "uglify-to-browserify@>=1.0.0 <1.1.0", "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz" }, - "uid-number": { - "version": "0.0.5", - "from": "uid-number@0.0.5", - "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.5.tgz" - }, "unique-stream": { "version": "1.0.0", "from": "unique-stream@>=1.0.0 <2.0.0", @@ -2120,9 +2329,9 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.8.tgz" }, "readable-stream": { - "version": "1.0.33", + "version": "1.0.34", "from": "readable-stream@>=1.0.33-1 <1.1.0-0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz" + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz" }, "strip-bom": { "version": "1.0.0", @@ -2147,14 +2356,14 @@ "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz" }, "which": { - "version": "1.2.4", - "from": "which@>=1.2.4 <2.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-1.2.4.tgz" + "version": "1.2.10", + "from": "which@>=1.2.10 <2.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-1.2.10.tgz" }, "window-size": { - "version": "0.1.4", - "from": "window-size@>=0.1.4 <0.2.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz" + "version": "0.2.0", + "from": "window-size@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz" }, "wordwrap": { "version": "0.0.2", @@ -2162,14 +2371,14 @@ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz" }, "wrap-ansi": { - "version": "1.0.0", - "from": "wrap-ansi@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-1.0.0.tgz" + "version": "2.0.0", + "from": "wrap-ansi@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.0.0.tgz" }, "wrappy": { - "version": "1.0.1", + "version": "1.0.2", "from": "wrappy@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz" + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" }, "xtend": { "version": "4.0.1", @@ -2177,9 +2386,9 @@ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" }, "y18n": { - "version": "3.2.0", - "from": "y18n@>=3.2.0 <4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.0.tgz" + "version": "3.2.1", + "from": "y18n@>=3.2.1 <4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz" }, "yallist": { "version": "2.0.0", @@ -2187,9 +2396,21 @@ "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.0.0.tgz" }, "yargs": { - "version": "3.32.0", - "from": "yargs@>=3.8.0 <4.0.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz" + "version": "4.7.1", + "from": "yargs@>=4.7.1 <5.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.7.1.tgz", + "dependencies": { + "camelcase": { + "version": "3.0.0", + "from": "camelcase@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz" + } + } + }, + "yargs-parser": { + "version": "2.4.0", + "from": "yargs-parser@>=2.4.0 <3.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.0.tgz" } } } diff --git a/src/package.json b/src/package.json index cdf7be2..f255439 100644 --- a/src/package.json +++ b/src/package.json @@ -14,20 +14,20 @@ "compile": "gulp" }, "dependencies": { - "babel-preset-es2015": "^6.6.0", + "babel-preset-es2015": "^6.9.0", "basiccontext": "^3.5.1", "basicmodal": "^3.3.5", "gulp": "^3.9.1", "gulp-autoprefixer": "3.1.0", "gulp-babel": "^6.1.2", "gulp-concat": "^2.6.0", - "gulp-inject": "^4.0.0", - "gulp-load-plugins": "^1.2.2", + "gulp-inject": "^4.1.0", + "gulp-load-plugins": "^1.2.4", "gulp-minify-css": "^1.2.4", "gulp-rimraf": "^0.2.0", - "gulp-sass": "^2.3.1", - "gulp-uglify": "^1.5.3", - "jquery": "^2.2.3", - "mousetrap": "^1.5.3" + "gulp-sass": "^2.3.2", + "gulp-uglify": "^1.5.4", + "jquery": "^3.0.0", + "mousetrap": "^1.6.0" } } From 94c43db85b65e6f9d8a2fcff8188e308e900f678 Mon Sep 17 00:00:00 2001 From: Tobias Reich Date: Sat, 25 Jun 2016 12:30:24 +0200 Subject: [PATCH 02/29] Rebuild --- dist/_main--javascript.js | 0 dist/_view--javascript.js | 1021 ------------------------------------- dist/main.js | 13 +- dist/view.js | 8 +- 4 files changed, 11 insertions(+), 1031 deletions(-) delete mode 100644 dist/_main--javascript.js delete mode 100644 dist/_view--javascript.js diff --git a/dist/_main--javascript.js b/dist/_main--javascript.js deleted file mode 100644 index e69de29..0000000 diff --git a/dist/_view--javascript.js b/dist/_view--javascript.js deleted file mode 100644 index 1ab68a1..0000000 --- a/dist/_view--javascript.js +++ /dev/null @@ -1,1021 +0,0 @@ -"use strict"; - -var _templateObject = _taggedTemplateLiteral([""], [""]), - _templateObject2 = _taggedTemplateLiteral(["

$", "

"], ["

$", "

"]), - _templateObject3 = _taggedTemplateLiteral(["
", "
"], ["
", "
"]), - _templateObject4 = _taggedTemplateLiteral(["
"], ["
"]), - _templateObject5 = _taggedTemplateLiteral(["\n\t
\n\t Photo thumbnail\n\t Photo thumbnail\n\t Photo thumbnail\n\t
\n\t

$", "

\n\t $", "\n\t
\n\t "], ["\n\t
\n\t Photo thumbnail\n\t Photo thumbnail\n\t Photo thumbnail\n\t
\n\t

$", "

\n\t $", "\n\t
\n\t "]), - _templateObject6 = _taggedTemplateLiteral(["\n\t\t
\n\t\t ", "\n\t\t ", "\n\t\t ", "\n\t\t ", "\n\t\t ", "\n\t\t
\n\t\t "], ["\n\t\t
\n\t\t ", "\n\t\t ", "\n\t\t ", "\n\t\t ", "\n\t\t ", "\n\t\t
\n\t\t "]), - _templateObject7 = _taggedTemplateLiteral(["\n\t
\n\t Photo thumbnail\n\t
\n\t

$", "

\n\t "], ["\n\t
\n\t Photo thumbnail\n\t
\n\t

$", "

\n\t "]), - _templateObject8 = _taggedTemplateLiteral(["", "$", ""], ["", "$", ""]), - _templateObject9 = _taggedTemplateLiteral(["$", ""], ["$", ""]), - _templateObject10 = _taggedTemplateLiteral(["\n\t\t
\n\t\t ", "\n\t\t ", "\n\t\t
\n\t\t "], ["\n\t\t
\n\t\t ", "\n\t\t ", "\n\t\t
\n\t\t "]), - _templateObject11 = _taggedTemplateLiteral([""], [""]), - _templateObject12 = _taggedTemplateLiteral([""], [""]), - _templateObject13 = _taggedTemplateLiteral(["\n\t

$", "

\n\t
\n\t "], ["\n\t

$", "

\n\t
\n\t "]), - _templateObject14 = _taggedTemplateLiteral(["\n\t\t
\n\t\t $", "\n\t\t \n\t\t

\n\t\t
\n\t\t "], ["\n\t\t
\n\t\t $", "\n\t\t \n\t\t

\n\t\t
\n\t\t "]), - _templateObject15 = _taggedTemplateLiteral(["$", "", ""], ["$", "", ""]), - _templateObject16 = _taggedTemplateLiteral(["$", "", ""], ["$", "", ""]), - _templateObject17 = _taggedTemplateLiteral(["$", ""], ["$", ""]), - _templateObject18 = _taggedTemplateLiteral(["\n\t\t\t \n\t\t\t $", "\n\t\t\t ", "\n\t\t\t \n\t\t\t "], ["\n\t\t\t \n\t\t\t $", "\n\t\t\t ", "\n\t\t\t \n\t\t\t "]), - _templateObject19 = _taggedTemplateLiteral(["\n\t\t \n\t\t
\n\t\t
", "
\n\t\t ", "\n\t\t
\n\t\t "], ["\n\t\t \n\t\t
\n\t\t
", "
\n\t\t ", "\n\t\t
\n\t\t "]); - -function _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); } - -function gup(b) { - - b = b.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); - - var a = "[\\?&]" + b + "=([^&#]*)"; - var d = new RegExp(a); - var c = d.exec(window.location.href); - - if (c === null) return '';else return c[1]; -} -/** - * @description This module is used to generate HTML-Code. - * @copyright 2015 by Tobias Reich - */ - -build = {}; - -build.iconic = function (icon) { - var classes = arguments.length <= 1 || arguments[1] === undefined ? '' : arguments[1]; - - - var html = ''; - - html += lychee.html(_templateObject, classes, icon); - - return html; -}; - -build.divider = function (title) { - - var html = ''; - - html += lychee.html(_templateObject2, title); - - return html; -}; - -build.editIcon = function (id) { - - var html = ''; - - html += lychee.html(_templateObject3, id, build.iconic('pencil')); - - return html; -}; - -build.multiselect = function (top, left) { - - return lychee.html(_templateObject4, top, left); -}; - -build.album = function (data) { - - var html = ''; - - var _lychee$retinize = lychee.retinize(data.thumbs[0]); - - var retinaThumbUrl = _lychee$retinize.path; - var isPhoto = _lychee$retinize.isPhoto; - - - html += lychee.html(_templateObject5, data.id, data.thumbs[2], data.thumbs[1], data.thumbs[0], retinaThumbUrl, isPhoto, data.title, data.title, data.sysdate); - - if (lychee.publicMode === false) { - - html += lychee.html(_templateObject6, data.star === '1' ? 'badge--visible' : '', build.iconic('star'), data.public === '1' ? 'badge--visible' : '', build.iconic('eye'), data.unsorted === '1' ? 'badge--visible' : '', build.iconic('list'), data.recent === '1' ? 'badge--visible' : '', build.iconic('clock'), data.password === '1' ? 'badge--visible' : '', build.iconic('lock-locked')); - } - - html += '
'; - - return html; -}; - -build.photo = function (data) { - - var html = ''; - - var _lychee$retinize2 = lychee.retinize(data.thumbUrl); - - var retinaThumbUrl = _lychee$retinize2.path; - - - html += lychee.html(_templateObject7, data.album, data.id, data.thumbUrl, retinaThumbUrl, data.title, data.title); - - if (data.cameraDate === '1') html += lychee.html(_templateObject8, build.iconic('camera-slr'), data.sysdate);else html += lychee.html(_templateObject9, data.sysdate); - - html += "
"; - - if (lychee.publicMode === false) { - - html += lychee.html(_templateObject10, data.star === '1' ? 'badge--visible' : '', build.iconic('star'), data.public === '1' && album.json.public !== '1' ? 'badge--visible' : '', build.iconic('eye')); - } - - html += "
"; - - return html; -}; - -build.imageview = function (data, visibleControls) { - - var html = ''; - var hasMedium = data.medium !== ''; - - if (hasMedium === false) { - - html += lychee.html(_templateObject11, visibleControls === true ? '' : 'full', data.url); - } else { - - html += lychee.html(_templateObject12, visibleControls === true ? '' : 'full', data.url, data.medium, data.url, data.width); - } - - html += "\n\t \n\t \n\t "; - - return html; -}; - -build.no_content = function (typ) { - - var html = ''; - - html += "\n\t
\n\t " + build.iconic(typ) + "\n\t "; - - switch (typ) { - case 'magnifying-glass': - html += "

No results

"; - break; - case 'eye': - html += "

No public albums

"; - break; - case 'cog': - html += "

No configuration

"; - break; - case 'question-mark': - html += "

Photo not found

"; - break; - } - - html += "
"; - - return html; -}; - -build.uploadModal = function (title, files) { - - var html = ''; - - html += lychee.html(_templateObject13, title); - - var i = 0; - - while (i < files.length) { - - var file = files[i]; - - if (file.name.length > 40) file.name = file.name.substr(0, 17) + '...' + file.name.substr(file.name.length - 20, 20); - - html += lychee.html(_templateObject14, file.name); - - i++; - } - - html += "
"; - - return html; -}; - -build.tags = function (tags) { - - var html = ''; - - if (tags !== '') { - - tags = tags.split(','); - - tags.forEach(function (tag, index, array) { - html += lychee.html(_templateObject15, tag, index, build.iconic('x')); - }); - } else { - - html = "
No Tags
"; - } - - return html; -}; -/** - * @description This module communicates with Lychee's API - * @copyright 2015 by Tobias Reich - */ - -api = { - - path: 'php/index.php', - onError: null - -}; - -api.post = function (fn, params, callback) { - - loadingBar.show(); - - params = $.extend({ function: fn }, params); - - var success = function success(data) { - - setTimeout(loadingBar.hide, 100); - - // Catch errors - if (typeof data === 'string' && data.substring(0, 7) === 'Error: ') { - api.onError(data.substring(7, data.length), params, data); - return false; - } - - callback(data); - }; - - var error = function error(jqXHR, textStatus, errorThrown) { - - api.onError('Server error or API not found.', params, errorThrown); - }; - - $.ajax({ - type: 'POST', - url: api.path, - data: params, - dataType: 'json', - success: success, - error: error - }); -}; -/** - * @description This module takes care of the header. - * @copyright 2015 by Tobias Reich - */ - -header = { - - _dom: $('.header') - -}; - -header.dom = function (selector) { - - if (selector == null || selector === '') return header._dom; - return header._dom.find(selector); -}; - -header.bind = function () { - - // Event Name - var eventName = lychee.getEventName(); - - header.dom('.header__title').on(eventName, function (e) { - - if ($(this).hasClass('header__title--editable') === false) return false; - - if (visible.photo()) contextMenu.photoTitle(album.getID(), photo.getID(), e);else contextMenu.albumTitle(album.getID(), e); - }); - - header.dom('#button_share').on(eventName, function (e) { - if (photo.json.public === '1' || photo.json.public === '2') contextMenu.sharePhoto(photo.getID(), e);else photo.setPublic(photo.getID(), e); - }); - - header.dom('#button_share_album').on(eventName, function (e) { - if (album.json.public === '1') contextMenu.shareAlbum(album.getID(), e);else album.setPublic(album.getID(), true, e); - }); - - header.dom('#button_signin').on(eventName, lychee.loginDialog); - header.dom('#button_settings').on(eventName, contextMenu.settings); - header.dom('#button_info_album').on(eventName, sidebar.toggle); - header.dom('#button_info').on(eventName, sidebar.toggle); - header.dom('.button_add').on(eventName, contextMenu.add); - header.dom('#button_more').on(eventName, function (e) { - contextMenu.photoMore(photo.getID(), e); - }); - header.dom('#button_move').on(eventName, function (e) { - contextMenu.move([photo.getID()], e); - }); - header.dom('.header__hostedwith').on(eventName, function () { - window.open(lychee.website); - }); - header.dom('#button_trash_album').on(eventName, function () { - album.delete([album.getID()]); - }); - header.dom('#button_trash').on(eventName, function () { - photo.delete([photo.getID()]); - }); - header.dom('#button_archive').on(eventName, function () { - album.getArchive(album.getID()); - }); - header.dom('#button_star').on(eventName, function () { - photo.setStar([photo.getID()]); - }); - header.dom('#button_back_home').on(eventName, function () { - lychee.goto(); - }); - header.dom('#button_back').on(eventName, function () { - lychee.goto(album.getID()); - }); - - header.dom('.header__search').on('keyup click', function () { - search.find($(this).val()); - }); - header.dom('.header__clear').on(eventName, function () { - header.dom('.header__search').focus(); - search.reset(); - }); - - return true; -}; - -header.show = function () { - - clearTimeout($(window).data('timeout')); - - lychee.imageview.removeClass('full'); - header.dom().removeClass('header--hidden'); - - return true; -}; - -header.hide = function (e) { - var delay = arguments.length <= 1 || arguments[1] === undefined ? 500 : arguments[1]; - - - if (visible.photo() && !visible.sidebar() && !visible.contextMenu() && basicModal.visible() === false) { - - clearTimeout($(window).data('timeout')); - - $(window).data('timeout', setTimeout(function () { - - lychee.imageview.addClass('full'); - header.dom().addClass('header--hidden'); - }, delay)); - - return true; - } - - return false; -}; - -header.setTitle = function () { - var title = arguments.length <= 0 || arguments[0] === undefined ? 'Untitled' : arguments[0]; - - - var $title = header.dom('.header__title'); - var html = lychee.html(_templateObject16, title, build.iconic('caret-bottom')); - - $title.html(html); - - return true; -}; - -header.setMode = function (mode) { - - if (mode === 'albums' && lychee.publicMode === true) mode = 'public'; - - switch (mode) { - - case 'public': - - header.dom().removeClass('header--view'); - header.dom('.header__toolbar--albums, .header__toolbar--album, .header__toolbar--photo').removeClass('header__toolbar--visible'); - header.dom('.header__toolbar--public').addClass('header__toolbar--visible'); - - return true; - break; - - case 'albums': - - header.dom().removeClass('header--view'); - header.dom('.header__toolbar--public, .header__toolbar--album, .header__toolbar--photo').removeClass('header__toolbar--visible'); - header.dom('.header__toolbar--albums').addClass('header__toolbar--visible'); - - return true; - break; - - case 'album': - - var albumID = album.getID(); - - header.dom().removeClass('header--view'); - header.dom('.header__toolbar--public, .header__toolbar--albums, .header__toolbar--photo').removeClass('header__toolbar--visible'); - header.dom('.header__toolbar--album').addClass('header__toolbar--visible'); - - // Hide download button when album empty - if (album.json.content === false) $('#button_archive').hide();else $('#button_archive').show(); - - // Hide download button when not logged in and album not downloadable - if (lychee.publicMode === true && album.json.downloadable === '0') $('#button_archive').hide(); - - if (albumID === 's' || albumID === 'f' || albumID === 'r') { - $('#button_info_album, #button_trash_album, #button_share_album').hide(); - } else if (albumID === '0') { - $('#button_info_album, #button_share_album').hide(); - $('#button_trash_album').show(); - } else { - $('#button_info_album, #button_trash_album, #button_share_album').show(); - } - - return true; - break; - - case 'photo': - - header.dom().addClass('header--view'); - header.dom('.header__toolbar--public, .header__toolbar--albums, .header__toolbar--album').removeClass('header__toolbar--visible'); - header.dom('.header__toolbar--photo').addClass('header__toolbar--visible'); - - return true; - break; - - } - - return false; -}; - -header.setEditable = function (editable) { - - var $title = header.dom('.header__title'); - - // Hide editable icon when not logged in - if (lychee.publicMode === true) editable = false; - - if (editable) $title.addClass('header__title--editable');else $title.removeClass('header__title--editable'); - - return true; -}; -/** - * @description This module is used to check if elements are visible or not. - * @copyright 2015 by Tobias Reich - */ - -visible = {}; - -visible.albums = function () { - if (header.dom('.header__toolbar--public').hasClass('header__toolbar--visible')) return true; - if (header.dom('.header__toolbar--albums').hasClass('header__toolbar--visible')) return true; - return false; -}; - -visible.album = function () { - if (header.dom('.header__toolbar--album').hasClass('header__toolbar--visible')) return true; - return false; -}; - -visible.photo = function () { - if ($('#imageview.fadeIn').length > 0) return true; - return false; -}; - -visible.search = function () { - if (search.hash != null) return true; - return false; -}; - -visible.sidebar = function () { - if (sidebar.dom().hasClass('active') === true) return true; - return false; -}; - -visible.sidebarbutton = function () { - if (visible.photo()) return true; - if (visible.album() && $('#button_info_album:visible').length > 0) return true; - return false; -}; - -visible.header = function () { - if (header.dom().hasClass('header--hidden') === true) return false; - return true; -}; - -visible.contextMenu = function () { - return basicContext.visible(); -}; - -visible.multiselect = function () { - if ($('#multiselect').length > 0) return true; - return false; -}; -/** - * @description This module takes care of the sidebar. - * @copyright 2015 by Tobias Reich - */ - -sidebar = { - - _dom: $('.sidebar'), - types: { - DEFAULT: 0, - TAGS: 1 - }, - createStructure: {} - -}; - -sidebar.dom = function (selector) { - - if (selector == null || selector === '') return sidebar._dom; - - return sidebar._dom.find(selector); -}; - -sidebar.bind = function () { - - // This function should be called after building and appending - // the sidebars content to the DOM. - // This function can be called multiple times, therefore - // event handlers should be removed before binding a new one. - - // Event Name - var eventName = lychee.getEventName(); - - sidebar.dom('#edit_title').off(eventName).on(eventName, function () { - if (visible.photo()) photo.setTitle([photo.getID()]);else if (visible.album()) album.setTitle([album.getID()]); - }); - - sidebar.dom('#edit_description').off(eventName).on(eventName, function () { - if (visible.photo()) photo.setDescription(photo.getID());else if (visible.album()) album.setDescription(album.getID()); - }); - - sidebar.dom('#edit_tags').off(eventName).on(eventName, function () { - photo.editTags([photo.getID()]); - }); - - sidebar.dom('#tags .tag span').off(eventName).on(eventName, function () { - photo.deleteTag(photo.getID(), $(this).data('index')); - }); - - return true; -}; - -sidebar.toggle = function () { - - if (visible.sidebar() || visible.sidebarbutton()) { - - header.dom('.button--info').toggleClass('active'); - lychee.content.toggleClass('content--sidebar'); - sidebar.dom().toggleClass('active'); - - return true; - } - - return false; -}; - -sidebar.setSelectable = function () { - var selectable = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0]; - - - // Attributes/Values inside the sidebar are selectable by default. - // Selection needs to be deactivated to prevent an unwanted selection - // while using multiselect. - - if (selectable === true) sidebar.dom().removeClass('notSelectable');else sidebar.dom().addClass('notSelectable'); -}; - -sidebar.changeAttr = function (attr) { - var value = arguments.length <= 1 || arguments[1] === undefined ? '-' : arguments[1]; - var dangerouslySetInnerHTML = arguments.length <= 2 || arguments[2] === undefined ? false : arguments[2]; - - - if (attr == null || attr === '') return false; - - // Set a default for the value - if (value == null || value === '') value = '-'; - - // Escape value - if (dangerouslySetInnerHTML === false) value = lychee.escapeHTML(value); - - // Set new value - sidebar.dom('.attr_' + attr).html(value); - - return true; -}; - -sidebar.createStructure.photo = function (data) { - - if (data == null || data === '') return false; - - var editable = false; - var exifHash = data.takestamp + data.make + data.model + data.shutter + data.aperture + data.focal + data.iso; - var structure = {}; - var _public = ''; - - // Enable editable when user logged in - if (lychee.publicMode === false) editable = true; - - // Set value for public - switch (data.public) { - - case '0': - _public = 'No'; - break; - case '1': - _public = 'Yes'; - break; - case '2': - _public = 'Yes (Album)'; - break; - default: - _public = '-'; - break; - - } - - structure.basics = { - title: 'Basics', - type: sidebar.types.DEFAULT, - rows: [{ title: 'Title', value: data.title, editable: editable }, { title: 'Uploaded', value: data.sysdate }, { title: 'Description', value: data.description, editable: editable }] - }; - - structure.image = { - title: 'Image', - type: sidebar.types.DEFAULT, - rows: [{ title: 'Size', value: data.size }, { title: 'Format', value: data.type }, { title: 'Resolution', value: data.width + ' x ' + data.height }] - }; - - // Only create tags section when user logged in - if (lychee.publicMode === false) { - - structure.tags = { - title: 'Tags', - type: sidebar.types.TAGS, - value: build.tags(data.tags), - editable: editable - }; - } else { - - structure.tags = {}; - } - - // Only create EXIF section when EXIF data available - if (exifHash !== '0') { - - structure.exif = { - title: 'Camera', - type: sidebar.types.DEFAULT, - rows: [{ title: 'Captured', value: data.takedate }, { title: 'Make', value: data.make }, { title: 'Type/Model', value: data.model }, { title: 'Shutter Speed', value: data.shutter }, { title: 'Aperture', value: data.aperture }, { title: 'Focal Length', value: data.focal }, { title: 'ISO', value: data.iso }] - }; - } else { - - structure.exif = {}; - } - - structure.sharing = { - title: 'Sharing', - type: sidebar.types.DEFAULT, - rows: [{ title: 'Public', value: _public }] - }; - - // Construct all parts of the structure - structure = [structure.basics, structure.image, structure.tags, structure.exif, structure.sharing]; - - return structure; -}; - -sidebar.createStructure.album = function (data) { - - if (data == null || data === '') return false; - - var editable = false; - var structure = {}; - var _public = ''; - var hidden = ''; - var downloadable = ''; - var password = ''; - - // Enable editable when user logged in - if (lychee.publicMode === false) editable = true; - - // Set value for public - switch (data.public) { - - case '0': - _public = 'No'; - break; - case '1': - _public = 'Yes'; - break; - default: - _public = '-'; - break; - - } - - // Set value for hidden - switch (data.visible) { - - case '0': - hidden = 'Yes'; - break; - case '1': - hidden = 'No'; - break; - default: - hidden = '-'; - break; - - } - - // Set value for downloadable - switch (data.downloadable) { - - case '0': - downloadable = 'No'; - break; - case '1': - downloadable = 'Yes'; - break; - default: - downloadable = '-'; - break; - - } - - // Set value for password - switch (data.password) { - - case '0': - password = 'No'; - break; - case '1': - password = 'Yes'; - break; - default: - password = '-'; - break; - - } - - structure.basics = { - title: 'Basics', - type: sidebar.types.DEFAULT, - rows: [{ title: 'Title', value: data.title, editable: editable }, { title: 'Description', value: data.description, editable: editable }] - }; - - structure.album = { - title: 'Album', - type: sidebar.types.DEFAULT, - rows: [{ title: 'Created', value: data.sysdate }, { title: 'Images', value: data.num }] - }; - - structure.share = { - title: 'Share', - type: sidebar.types.DEFAULT, - rows: [{ title: 'Public', value: _public }, { title: 'Hidden', value: hidden }, { title: 'Downloadable', value: downloadable }, { title: 'Password', value: password }] - }; - - // Construct all parts of the structure - structure = [structure.basics, structure.album, structure.share]; - - return structure; -}; - -sidebar.render = function (structure) { - - if (structure == null || structure === '') return false; - - var html = ''; - - var renderDefault = function renderDefault(section) { - - var _html = ''; - - _html += "\n\t\t \n\t\t \n\t\t "; - - section.rows.forEach(function (row) { - - var value = row.value; - - // Set a default for the value - if (value === '' || value == null) value = '-'; - - // Wrap span-element around value for easier selecting on change - value = lychee.html(_templateObject17, row.title.toLowerCase(), value); - - // Add edit-icon to the value when editable - if (row.editable === true) value += ' ' + build.editIcon('edit_' + row.title.toLowerCase()); - - _html += lychee.html(_templateObject18, row.title, value); - }); - - _html += "\n\t\t
\n\t\t "; - - return _html; - }; - - var renderTags = function renderTags(section) { - - var _html = ''; - var editable = ''; - - // Add edit-icon to the value when editable - if (section.editable === true) editable = build.editIcon('edit_tags'); - - _html += lychee.html(_templateObject19, section.title, section.title.toLowerCase(), section.value, editable); - - return _html; - }; - - structure.forEach(function (section) { - - if (section.type === sidebar.types.DEFAULT) html += renderDefault(section);else if (section.type === sidebar.types.TAGS) html += renderTags(section); - }); - - return html; -}; -/** - * @description Used to view single photos with view.php - * @copyright 2015 by Tobias Reich - */ - -// Sub-implementation of lychee -------------------------------------------------------------- // - -var lychee = {}; - -lychee.content = $('.content'); - -lychee.escapeHTML = function () { - var html = arguments.length <= 0 || arguments[0] === undefined ? '' : arguments[0]; - - - // Ensure that html is a string - html += ''; - - // Escape all critical characters - html = html.replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/`/g, '`'); - - return html; -}; - -lychee.html = function (literalSections) { - - // Use raw literal sections: we don’t want - // backslashes (\n etc.) to be interpreted - var raw = literalSections.raw; - var result = ''; - - for (var _len = arguments.length, substs = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - substs[_key - 1] = arguments[_key]; - } - - substs.forEach(function (subst, i) { - - // Retrieve the literal section preceding - // the current substitution - var lit = raw[i]; - - // If the substitution is preceded by a dollar sign, - // we escape special characters in it - if (lit.slice(-1) === '$') { - subst = lychee.escapeHTML(subst); - lit = lit.slice(0, -1); - } - - result += lit; - result += subst; - }); - - // Take care of last literal section - // (Never fails, because an empty template string - // produces one literal section, an empty string) - result += raw[raw.length - 1]; - - return result; -}; - -lychee.getEventName = function () { - - var touchendSupport = /Android|iPhone|iPad|iPod/i.test(navigator.userAgent || navigator.vendor || window.opera) && 'ontouchend' in document.documentElement; - var eventName = touchendSupport === true ? 'touchend' : 'click'; - - return eventName; -}; - -// Sub-implementation of photo -------------------------------------------------------------- // - -var photo = {}; - -photo.share = function (photoID, service) { - - var url = location.toString(); - - switch (service) { - case 'twitter': - window.open("https://twitter.com/share?url=" + encodeURI(url)); - break; - case 'facebook': - window.open("http://www.facebook.com/sharer.php?u=" + encodeURI(url)); - break; - case 'mail': - location.href = "mailto:?subject=&body=" + encodeURI(url); - break; - } -}; - -photo.getDirectLink = function () { - - return $('#imageview img').attr('src').replace(/"/g, '').replace(/url\(|\)$/ig, ''); -}; - -// Sub-implementation of contextMenu -------------------------------------------------------------- // - -var contextMenu = {}; - -contextMenu.sharePhoto = function (photoID, e) { - - var iconClass = 'ionicons'; - - var items = [{ title: build.iconic('twitter', iconClass) + 'Twitter', fn: function fn() { - return photo.share(photoID, 'twitter'); - } }, { title: build.iconic('facebook', iconClass) + 'Facebook', fn: function fn() { - return photo.share(photoID, 'facebook'); - } }, { title: build.iconic('envelope-closed') + 'Mail', fn: function fn() { - return photo.share(photoID, 'mail'); - } }, { title: build.iconic('link-intact') + 'Direct Link', fn: function fn() { - return window.open(photo.getDirectLink(), '_newtab'); - } }]; - - basicContext.show(items, e.originalEvent); -}; - -// Main -------------------------------------------------------------- // - -var loadingBar = { - show: function show() {}, - hide: function hide() {} -}; -var imageview = $('#imageview'); - -$(document).ready(function () { - - // Save ID of photo - var photoID = gup('p'); - - // Set API error handler - api.onError = error; - - // Share - header.dom('#button_share').on('click', function (e) { - contextMenu.sharePhoto(photoID, e); - }); - - // Infobox - header.dom('#button_info').on('click', sidebar.toggle); - - // Load photo - loadPhotoInfo(photoID); -}); - -var loadPhotoInfo = function loadPhotoInfo(photoID) { - - var params = { - photoID: photoID, - albumID: 0, - password: '' - }; - - api.post('Photo::get', params, function (data) { - - if (data === 'Warning: Photo private!' || data === 'Warning: Wrong password!') { - - $('body').append(build.no_content('question-mark')); - $('body').removeClass('view'); - header.dom().remove(); - return false; - } - - // Set title - if (!data.title) data.title = 'Untitled'; - document.title = 'Lychee - ' + data.title; - header.dom('.header__title').html(lychee.escapeHTML(data.title)); - - // Render HTML - imageview.html(build.imageview(data, true)); - imageview.find('.arrow_wrapper').remove(); - imageview.addClass('fadeIn').show(); - - // Render Sidebar - var structure = sidebar.createStructure.photo(data); - var html = sidebar.render(structure); - - sidebar.dom('.sidebar__wrapper').html(html); - sidebar.bind(); - }); -}; - -var error = function error(errorThrown, params, data) { - - console.error({ - description: errorThrown, - params: params, - response: data - }); - - loadingBar.show('error', errorThrown); -}; \ No newline at end of file diff --git a/dist/main.js b/dist/main.js index 8bae640..c6d0190 100644 --- a/dist/main.js +++ b/dist/main.js @@ -1,6 +1,7 @@ -function _taggedTemplateLiteral(e,t){return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function gup(e){e=e.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var t="[\\?&]"+e+"=([^&#]*)",n=new RegExp(t),o=n.exec(window.location.href);return null===o?"":o[1]}!function(e,t){"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){function n(e){var t=!!e&&"length"in e&&e.length,n=ae.type(e);return"function"===n||ae.isWindow(e)?!1:"array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e}function o(e,t,n){if(ae.isFunction(t))return ae.grep(e,function(e,o){return!!t.call(e,o,e)!==n});if(t.nodeType)return ae.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(be.test(t))return ae.filter(t,e,n);t=ae.filter(t,e)}return ae.grep(e,function(e){return J.call(t,e)>-1!==n})}function i(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function a(e){var t={};return ae.each(e.match(xe)||[],function(e,n){t[n]=!0}),t}function r(){V.removeEventListener("DOMContentLoaded",r),e.removeEventListener("load",r),ae.ready()}function l(){this.expando=ae.expando+l.uid++}function s(e,t,n){var o;if(void 0===n&&1===e.nodeType)if(o="data-"+t.replace($e,"-$&").toLowerCase(),n=e.getAttribute(o),"string"==typeof n){try{n="true"===n?!0:"false"===n?!1:"null"===n?null:+n+""===n?+n:Ce.test(n)?ae.parseJSON(n):n}catch(i){}ke.set(e,t,n)}else n=void 0;return n}function c(e,t,n,o){var i,a=1,r=20,l=o?function(){return o.cur()}:function(){return ae.css(e,t,"")},s=l(),c=n&&n[3]||(ae.cssNumber[t]?"":"px"),u=(ae.cssNumber[t]||"px"!==c&&+s)&&Ae.exec(ae.css(e,t));if(u&&u[3]!==c){c=c||u[3],n=n||[],u=+s||1;do a=a||".5",u/=a,ae.style(e,t,u+c);while(a!==(a=l()/s)&&1!==a&&--r)}return n&&(u=+u||+s||0,i=n[1]?u+(n[1]+1)*n[2]:+n[2],o&&(o.unit=c,o.start=u,o.end=i)),i}function u(e,t){var n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[];return void 0===t||t&&ae.nodeName(e,t)?ae.merge([e],n):n}function d(e,t){for(var n=0,o=e.length;o>n;n++)Me.set(e[n],"globalEval",!t||Me.get(t[n],"globalEval"))}function p(e,t,n,o,i){for(var a,r,l,s,c,p,h=t.createDocumentFragment(),f=[],b=0,m=e.length;m>b;b++)if(a=e[b],a||0===a)if("object"===ae.type(a))ae.merge(f,a.nodeType?[a]:a);else if(Ne.test(a)){for(r=r||h.appendChild(t.createElement("div")),l=(Pe.exec(a)||["",""])[1].toLowerCase(),s=Oe[l]||Oe._default,r.innerHTML=s[1]+ae.htmlPrefilter(a)+s[2],p=s[0];p--;)r=r.lastChild;ae.merge(f,r.childNodes),r=h.firstChild,r.textContent=""}else f.push(t.createTextNode(a));for(h.textContent="",b=0;a=f[b++];)if(o&&ae.inArray(a,o)>-1)i&&i.push(a);else if(c=ae.contains(a.ownerDocument,a),r=u(h.appendChild(a),"script"),c&&d(r),n)for(p=0;a=r[p++];)Ie.test(a.type||"")&&n.push(a);return h}function h(){return!0}function f(){return!1}function b(){try{return V.activeElement}catch(e){}}function m(e,t,n,o,i,a){var r,l;if("object"==typeof t){"string"!=typeof n&&(o=o||n,n=void 0);for(l in t)m(e,l,n,o,t[l],a);return e}if(null==o&&null==i?(i=n,o=n=void 0):null==i&&("string"==typeof n?(i=o,o=void 0):(i=o,o=n,n=void 0)),i===!1)i=f;else if(!i)return e;return 1===a&&(r=i,i=function(e){return ae().off(e),r.apply(this,arguments)},i.guid=r.guid||(r.guid=ae.guid++)),e.each(function(){ae.event.add(this,t,i,o,n)})}function g(e,t){return ae.nodeName(e,"table")&&ae.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function v(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function y(e){var t=We.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function w(e,t){var n,o,i,a,r,l,s,c;if(1===t.nodeType){if(Me.hasData(e)&&(a=Me.access(e),r=Me.set(t,a),c=a.events)){delete r.handle,r.events={};for(i in c)for(n=0,o=c[i].length;o>n;n++)ae.event.add(t,i,c[i][n])}ke.hasData(e)&&(l=ke.access(e),s=ae.extend({},l),ke.set(t,s))}}function x(e,t){var n=t.nodeName.toLowerCase();"input"===n&&Le.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function _(e,t,n,o){t=Z.apply([],t);var i,a,r,l,s,c,d=0,h=e.length,f=h-1,b=t[0],m=ae.isFunction(b);if(m||h>1&&"string"==typeof b&&!oe.checkClone&&Be.test(b))return e.each(function(i){var a=e.eq(i);m&&(t[0]=b.call(this,i,a.html())),_(a,t,n,o)});if(h&&(i=p(t,e[0].ownerDocument,!1,e,o),a=i.firstChild,1===i.childNodes.length&&(i=a),a||o)){for(r=ae.map(u(i,"script"),v),l=r.length;h>d;d++)s=i,d!==f&&(s=ae.clone(s,!0,!0),l&&ae.merge(r,u(s,"script"))),n.call(e[d],s,d);if(l)for(c=r[r.length-1].ownerDocument,ae.map(r,y),d=0;l>d;d++)s=r[d],Ie.test(s.type||"")&&!Me.access(s,"globalEval")&&ae.contains(c,s)&&(s.src?ae._evalUrl&&ae._evalUrl(s.src):ae.globalEval(s.textContent.replace(Xe,"")))}return e}function j(e,t,n){for(var o,i=t?ae.filter(t,e):e,a=0;null!=(o=i[a]);a++)n||1!==o.nodeType||ae.cleanData(u(o)),o.parentNode&&(n&&ae.contains(o.ownerDocument,o)&&d(u(o,"script")),o.parentNode.removeChild(o));return e}function T(e,t){var n=ae(t.createElement(e)).appendTo(t.body),o=ae.css(n[0],"display");return n.detach(),o}function M(e){var t=V,n=Ye[e];return n||(n=T(e,t),"none"!==n&&n||(ze=(ze||ae("