Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoeland Jago Douma <roeland@famdouma.nl>2019-02-04 18:53:54 +0300
committerRoeland Jago Douma <roeland@famdouma.nl>2019-02-11 10:47:44 +0300
commit75d52dea17a72054538ddcc0904052c98b819a6a (patch)
treee60a039c7b41da0a822c623ceeb6678b72ea540b
parentd576ffd4873448501e848a7dd937981ac69499dd (diff)
Move core/systemtags to webpack
* Use webpack to bundle the core systemtags so the webserver can serve them statically * Bundle the core scss in there as well (saves a request) Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
-rw-r--r--apps/systemtags/appinfo/app.php3
-rw-r--r--core/js/dist/systemtags.js2
-rw-r--r--core/js/dist/systemtags.js.map1
-rw-r--r--core/js/systemtags/merged-systemtags.js8
-rw-r--r--core/js/systemtags/merged.json8
-rw-r--r--core/webpack.common.js13
-rw-r--r--package-lock.json1314
-rw-r--r--package.json2
8 files changed, 1330 insertions, 21 deletions
diff --git a/apps/systemtags/appinfo/app.php b/apps/systemtags/appinfo/app.php
index 6f478273487..0fcf4134864 100644
--- a/apps/systemtags/appinfo/app.php
+++ b/apps/systemtags/appinfo/app.php
@@ -33,9 +33,8 @@ $eventDispatcher->addListener(
'OCA\Files::loadAdditionalScripts',
function() {
// FIXME: no public API for these ?
- \OCP\Util::addScript('systemtags/merged');
+ \OCP\Util::addScript('dist/systemtags');
\OCP\Util::addScript('systemtags', 'merged');
- \OCP\Util::addStyle('systemtags');
\OCP\Util::addStyle('systemtags', 'systemtagsfilelist');
}
);
diff --git a/core/js/dist/systemtags.js b/core/js/dist/systemtags.js
new file mode 100644
index 00000000000..6501a3e57c7
--- /dev/null
+++ b/core/js/dist/systemtags.js
@@ -0,0 +1,2 @@
+!function(e){var t={};function n(s){if(t[s])return t[s].exports;var i=t[s]={i:s,l:!1,exports:{}};return e[s].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=e,n.c=t,n.d=function(e,t,s){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:s})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var s=Object.create(null);if(n.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(s,i,function(t){return e[t]}.bind(null,i));return s},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=10)}([,,,,,,,,,,function(e,t,n){"use strict";n.r(t);n(11),n(12),n(13),n(14),n(15),n(16),n(17)},function(e,n){!function(e){e.SystemTags={getDescriptiveTag:function(e){if(_.isUndefined(e.name)&&!_.isUndefined(e.toJSON)&&(e=e.toJSON()),_.isUndefined(e.name))return $("<span>").addClass("non-existing-tag").text(t("core","Non-existing tag #{tag}",{tag:e}));var n,s=$("<span>");if(s.append(escapeHTML(e.name)),e.userAssignable||(n=t("core","restricted")),e.userVisible||(n=t("core","invisible")),n){var i=$("<em>").text(" "+t("core","({scope})",{scope:n}));s.append(i)}return s}}}(OC)},function(e,t){function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var s,i;s=Handlebars.template,(i=OC.SystemTags.Templates=OC.SystemTags.Templates||{}).result=s({1:function(e,t,n,s,i){return" new-item"},3:function(e,t,n,s,i){var a,o;return'\t\t<span class="label">'+(null!=(a="function"==typeof(o=null!=(o=n.tagMarkup||(null!=t?t.tagMarkup:t))?o:n.helperMissing)?o.call(null!=t?t:e.nullContext||{},{name:"tagMarkup",hash:{},data:i}):o)?a:"")+"</span>\n"},5:function(e,t,n,s,i){var a;return'\t\t<span class="label">'+e.escapeExpression("function"==typeof(a=null!=(a=n.name||(null!=t?t.name:t))?a:n.helperMissing)?a.call(null!=t?t:e.nullContext||{},{name:"name",hash:{},data:i}):a)+"</span>\n"},7:function(e,t,n,s,i){var a;return'\t\t<span class="systemtags-actions">\n\t\t\t<a href="#" class="rename icon icon-rename" title="'+e.escapeExpression("function"==typeof(a=null!=(a=n.renameTooltip||(null!=t?t.renameTooltip:t))?a:n.helperMissing)?a.call(null!=t?t:e.nullContext||{},{name:"renameTooltip",hash:{},data:i}):a)+'"></a>\n\t\t</span>\n'},compiler:[7,">= 4.0.0"],main:function(e,t,s,i,a){var o,l,r,c=null!=t?t:e.nullContext||{},u=s.helperMissing,d='<span class="systemtags-item'+(null!=(o=s.if.call(c,null!=t?t.isNew:t,{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a}))?o:"")+'" data-id="'+e.escapeExpression("function"===n(l=null!=(l=s.id||(null!=t?t.id:t))?l:u)?l.call(c,{name:"id",hash:{},data:a}):l)+'">\n<span class="checkmark icon icon-checkmark"></span>\n'+(null!=(o=s.if.call(c,null!=t?t.isAdmin:t,{name:"if",hash:{},fn:e.program(3,a,0),inverse:e.program(5,a,0),data:a}))?o:"");return l=null!=(l=s.allowActions||(null!=t?t.allowActions:t))?l:u,r={name:"allowActions",hash:{},fn:e.program(7,a,0),inverse:e.noop,data:a},o="function"===n(l)?l.call(c,r):l,s.allowActions||(o=s.blockHelperMissing.call(t,o,r)),null!=o&&(d+=o),d+"</span>\n"},useData:!0}),i.result_form=s({1:function(e,t,n,s,i){var a;return'\t\t<a href="#" class="delete icon icon-delete" title="'+e.escapeExpression("function"==typeof(a=null!=(a=n.deleteTooltip||(null!=t?t.deleteTooltip:t))?a:n.helperMissing)?a.call(null!=t?t:e.nullContext||{},{name:"deleteTooltip",hash:{},data:i}):a)+'"></a>\n'},compiler:[7,">= 4.0.0"],main:function(e,t,s,i,a){var o,l,r=null!=t?t:e.nullContext||{},c=s.helperMissing,u=e.escapeExpression;return'<form class="systemtags-rename-form">\n\t <label class="hidden-visually" for="'+u("function"===n(l=null!=(l=s.cid||(null!=t?t.cid:t))?l:c)?l.call(r,{name:"cid",hash:{},data:a}):l)+'-rename-input">'+u("function"===n(l=null!=(l=s.renameLabel||(null!=t?t.renameLabel:t))?l:c)?l.call(r,{name:"renameLabel",hash:{},data:a}):l)+'</label>\n\t<input id="'+u("function"===n(l=null!=(l=s.cid||(null!=t?t.cid:t))?l:c)?l.call(r,{name:"cid",hash:{},data:a}):l)+'-rename-input" type="text" value="'+u("function"===n(l=null!=(l=s.name||(null!=t?t.name:t))?l:c)?l.call(r,{name:"name",hash:{},data:a}):l)+'">\n'+(null!=(o=s.if.call(r,null!=t?t.isAdmin:t,{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a}))?o:"")+"</form>\n"},useData:!0}),i.selection=s({1:function(e,t,n,s,i){var a,o;return'\t<span class="label">'+(null!=(a="function"==typeof(o=null!=(o=n.tagMarkup||(null!=t?t.tagMarkup:t))?o:n.helperMissing)?o.call(null!=t?t:e.nullContext||{},{name:"tagMarkup",hash:{},data:i}):o)?a:"")+"</span>\n"},3:function(e,t,n,s,i){var a;return'\t<span class="label">'+e.escapeExpression("function"==typeof(a=null!=(a=n.name||(null!=t?t.name:t))?a:n.helperMissing)?a.call(null!=t?t:e.nullContext||{},{name:"name",hash:{},data:i}):a)+"</span>\n"},compiler:[7,">= 4.0.0"],main:function(e,t,n,s,i){var a;return null!=(a=n.if.call(null!=t?t:e.nullContext||{},null!=t?t.isAdmin:t,{name:"if",hash:{},fn:e.program(1,i,0),inverse:e.program(3,i,0),data:i}))?a:""},useData:!0})},function(e,t){!function(e){_.extend(e.Files.Client,{PROPERTY_FILEID:"{"+e.Files.Client.NS_OWNCLOUD+"}id",PROPERTY_CAN_ASSIGN:"{"+e.Files.Client.NS_OWNCLOUD+"}can-assign",PROPERTY_DISPLAYNAME:"{"+e.Files.Client.NS_OWNCLOUD+"}display-name",PROPERTY_USERVISIBLE:"{"+e.Files.Client.NS_OWNCLOUD+"}user-visible",PROPERTY_USERASSIGNABLE:"{"+e.Files.Client.NS_OWNCLOUD+"}user-assignable"});var t=e.Backbone.Model.extend({sync:e.Backbone.davSync,defaults:{userVisible:!0,userAssignable:!0,canAssign:!0},davProperties:{id:e.Files.Client.PROPERTY_FILEID,name:e.Files.Client.PROPERTY_DISPLAYNAME,userVisible:e.Files.Client.PROPERTY_USERVISIBLE,userAssignable:e.Files.Client.PROPERTY_USERASSIGNABLE,canAssign:e.Files.Client.PROPERTY_CAN_ASSIGN},parse:function(e){return{id:e.id,name:e.name,userVisible:!0===e.userVisible||"true"===e.userVisible,userAssignable:!0===e.userAssignable||"true"===e.userAssignable,canAssign:!0===e.canAssign||"true"===e.canAssign}}});e.SystemTags=e.SystemTags||{},e.SystemTags.SystemTagModel=t}(OC)},function(e,t){!function(e){var t=e.Backbone.Collection.extend({sync:e.Backbone.davSync,usePUT:!0,_objectId:null,_objectType:"files",model:e.SystemTags.SystemTagModel,url:function(){return e.linkToRemote("dav")+"/systemtags-relations/"+this._objectType+"/"+this._objectId},setObjectId:function(e){this._objectId=e},setObjectType:function(e){this._objectType=e},initialize:function(e,t){t=t||{},_.isUndefined(t.objectId)||(this._objectId=t.objectId),_.isUndefined(t.objectType)||(this._objectType=t.objectType)},getTagIds:function(){return this.map(function(e){return e.id})}});e.SystemTags=e.SystemTags||{},e.SystemTags.SystemTagsMappingCollection=t}(OC)},function(e,t){!function(e){var t=e.Backbone.Collection.extend({sync:e.Backbone.davSync,model:e.SystemTags.SystemTagModel,url:function(){return e.linkToRemote("dav")+"/systemtags/"},filterByName:function(e){return this.filter(function(t){return function(e,t){return e.get("name").substr(0,t.length).toLowerCase()===t.toLowerCase()}(t,e)})},reset:function(){return this.fetched=!1,e.Backbone.Collection.prototype.reset.apply(this,arguments)},fetch:function(t){var n=this;if(t=t||{},this.fetched||t.force)return t.success&&t.success(this,null,t),this.trigger("sync",this,null,t),Promise.resolve();var s=t.success;return(t=_.extend({},t)).success=function(){if(n.fetched=!0,s)return s.apply(this,arguments)},e.Backbone.Collection.prototype.fetch.call(this,t)}});e.SystemTags=e.SystemTags||{},e.SystemTags.SystemTagsCollection=t,e.SystemTags.collection=new e.SystemTags.SystemTagsCollection}(OC)},function(e,n){!function(e){var n=e.Backbone.View.extend({_rendered:!1,_newTag:null,_lastUsedTags:[],className:"systemTagsInputFieldContainer",template:function(e){return'<input class="systemTagsInputField" type="hidden" name="tags" value=""/>'},initialize:function(t){t=t||{},this._multiple=!!t.multiple,this._allowActions=_.isUndefined(t.allowActions)||!!t.allowActions,this._allowCreate=_.isUndefined(t.allowCreate)||!!t.allowCreate,this._isAdmin=!!t.isAdmin,_.isFunction(t.initSelection)&&(this._initSelection=t.initSelection),this.collection=t.collection||e.SystemTags.collection;var n=this;this.collection.on("change:name remove",function(){_.defer(n._refreshSelection)}),_.defer(_.bind(this._getLastUsedTags,this)),_.bindAll(this,"_refreshSelection","_onClickRenameTag","_onClickDeleteTag","_onSelectTag","_onDeselectTag","_onSubmitRenameTag")},_getLastUsedTags:function(){var t=this;$.ajax({type:"GET",url:e.generateUrl("/apps/systemtags/lastused"),success:function(e){t._lastUsedTags=e}})},_refreshSelection:function(){this.$tagsField.select2("val",this.$tagsField.val())},_onClickRenameTag:function(n){var s=$(n.target).closest(".systemtags-item"),i=s.attr("data-id"),a=this.collection.get(i).get("name"),o=$(e.SystemTags.Templates.result_form({cid:this.cid,name:a,deleteTooltip:t("core","Delete"),renameLabel:t("core","Rename"),isAdmin:this._isAdmin}));return s.find(".label").after(o),s.find(".label, .systemtags-actions").addClass("hidden"),s.closest(".select2-result").addClass("has-form"),o.find("[title]").tooltip({placement:"bottom",container:"body"}),o.find("input").focus().selectRange(0,a.length),!1},_onSubmitRenameTag:function(e){e.preventDefault();var t=$(e.target),n=t.closest(".systemtags-item"),s=n.attr("data-id"),i=this.collection.get(s),a=$(e.target).find("input").val().trim();a&&a!==i.get("name")&&(i.save({name:a}),n.find(".label").text(a)),n.find(".label, .systemtags-actions").removeClass("hidden"),t.remove(),n.closest(".select2-result").removeClass("has-form")},_onClickDeleteTag:function(e){var t=$(e.target).closest(".systemtags-item"),n=t.attr("data-id");return this.collection.get(n).destroy(),$(e.target).tooltip("hide"),t.closest(".select2-result").remove(),!1},_addToSelect2Selection:function(e){var t=this.$tagsField.select2("data");t.push(e),this.$tagsField.select2("data",t)},_onSelectTag:function(e){var t,n=this;if(e.object&&e.object.isNew)return t=this.collection.create({name:e.object.name.trim(),userVisible:!0,userAssignable:!0,canAssign:!0},{success:function(e){n._addToSelect2Selection(e.toJSON()),n._lastUsedTags.unshift(e.id),n.trigger("select",e)},error:function(t,s){409===s.status&&(n.collection.reset(),n.collection.fetch({success:function(t){var s=t.where({name:e.object.name.trim(),userVisible:!0,userAssignable:!0});s.length&&(s=s[0],n._addToSelect2Selection(s.toJSON()),n.trigger("select",s))}}))}}),this.$tagsField.select2("close"),e.preventDefault(),!1;t=this.collection.get(e.object.id),this._lastUsedTags.unshift(t.id),this._newTag=null,this.trigger("select",t)},_onDeselectTag:function(e){this.trigger("deselect",e.choice.id)},_queryTagsAutocomplete:function(e){var t=this;this.collection.fetch({success:function(n){var s=n.filterByName(e.term.trim());t._isAdmin||(s=_.filter(s,function(e){return e.get("canAssign")})),e.callback({results:_.invoke(s,"toJSON")})}})},_preventDefault:function(e){e.stopPropagation()},_formatDropDownResult:function(n){return e.SystemTags.Templates.result(_.extend({renameTooltip:t("core","Rename"),allowActions:this._allowActions,tagMarkup:this._isAdmin?e.SystemTags.getDescriptiveTag(n)[0].innerHTML:null,isAdmin:this._isAdmin},n))},_formatSelection:function(t){return e.SystemTags.Templates.selection(_.extend({tagMarkup:this._isAdmin?e.SystemTags.getDescriptiveTag(t)[0].innerHTML:null,isAdmin:this._isAdmin},t))},_createSearchChoice:function(e){if(e=e.trim(),!this.collection.filter(function(t){return t.get("name")===e}).length)return this._newTag?this._newTag.name=e:this._newTag={id:-1,name:e,userAssignable:!0,userVisible:!0,canAssign:!0,isNew:!0},this._newTag},_initSelection:function(e,t){var n=this,s=$(e).val().split(",");function i(e){var t=e.toJSON();return n._isAdmin||t.canAssign||(t.locked=!0),t}this.collection.fetch({success:function(){t(function(e){var t=n.collection.filter(function(t){return e.indexOf(t.id)>=0&&(n._isAdmin||t.get("userVisible"))});return _.map(t,i)}(s))}})},render:function(){var n=this;this.$el.html(this.template()),this.$el.find("[title]").tooltip({placement:"bottom"}),this.$tagsField=this.$el.find("[name=tags]"),this.$tagsField.select2({placeholder:t("core","Collaborative tags"),containerCssClass:"systemtags-select2-container",dropdownCssClass:"systemtags-select2-dropdown",closeOnSelect:!1,allowClear:!1,multiple:this._multiple,toggleSelect:this._multiple,query:_.bind(this._queryTagsAutocomplete,this),id:function(e){return e.id},initSelection:_.bind(this._initSelection,this),formatResult:_.bind(this._formatDropDownResult,this),formatSelection:_.bind(this._formatSelection,this),createSearchChoice:this._allowCreate?_.bind(this._createSearchChoice,this):void 0,sortResults:function(t){var s=_.pluck(n.$tagsField.select2("data"),"id");return t.sort(function(t,i){var a=s.indexOf(t.id)>=0,o=s.indexOf(i.id)>=0;if(a===o){var l=n._lastUsedTags.indexOf(t.id),r=n._lastUsedTags.indexOf(i.id);return l!==r?-1===r?-1:-1===l?1:l<r?-1:1:e.Util.naturalSortCompare(t.name,i.name)}return a&&!o?-1:1}),t},formatNoMatches:function(){return t("core","No tags found")}}).on("select2-selecting",this._onSelectTag).on("select2-removing",this._onDeselectTag);var s=this.$tagsField.select2("dropdown");s.on("mouseup",".rename",this._onClickRenameTag),s.on("mouseup",".delete",this._onClickDeleteTag),s.on("mouseup",".select2-result-selectable.has-form",this._preventDefault),s.on("submit",".systemtags-rename-form",this._onSubmitRenameTag),this.delegateEvents()},remove:function(){this.$tagsField&&this.$tagsField.select2("destroy")},getValues:function(){this.$tagsField.select2("val")},setValues:function(e){this.$tagsField.select2("val",e)},setData:function(e){this.$tagsField.select2("data",e)}});e.SystemTags=e.SystemTags||{},e.SystemTags.SystemTagsInputField=n}(OC)},function(e,t,n){var s=n(18);"string"==typeof s&&(s=[[e.i,s,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};n(20)(s,i);s.locals&&(e.exports=s.locals)},function(e,t,n){(e.exports=n(19)(!1)).push([e.i,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\n * @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\n * @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\n * @copyright Copyright (c) 2016, Vincent Petry <pvince81@owncloud.com>\n * @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\n * @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n */\n.systemtags-select2-dropdown .select2-result-label .checkmark {\n visibility: hidden;\n margin-left: -5px;\n margin-right: 5px;\n padding: 4px; }\n\n.systemtags-select2-dropdown .select2-result-label .new-item .systemtags-actions {\n display: none; }\n\n.systemtags-select2-dropdown .select2-selected .select2-result-label .checkmark {\n visibility: visible; }\n\n.systemtags-select2-dropdown .select2-result-label .icon {\n display: inline-block;\n opacity: .5; }\n .systemtags-select2-dropdown .select2-result-label .icon.rename {\n padding: 4px; }\n\n.systemtags-select2-dropdown .systemtags-actions {\n position: absolute;\n right: 5px; }\n\n.systemtags-select2-dropdown .systemtags-rename-form {\n display: inline-block;\n width: calc(100% - 20px);\n top: -6px;\n position: relative; }\n .systemtags-select2-dropdown .systemtags-rename-form input {\n display: inline-block;\n height: 30px;\n width: calc(100% - 40px); }\n\n.systemtags-select2-dropdown .label {\n width: 85%;\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis; }\n .systemtags-select2-dropdown .label.hidden {\n display: none; }\n\n.systemtags-select2-dropdown span {\n line-height: 25px; }\n\n.systemtags-select2-dropdown .systemtags-item {\n display: inline-block;\n height: 25px;\n width: 100%; }\n\n.systemtags-select2-dropdown .select2-result-label {\n height: 25px; }\n\n.systemtags-select2-container {\n width: 100%; }\n .systemtags-select2-container .select2-choices .select2-search-choice.select2-locked .label {\n opacity: 0.5; }\n\n#select2-drop.systemtags-select2-dropdown .select2-results li.select2-result {\n padding: 5px; }\n',""])},function(e,t,n){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n=function(e,t){var n=e[1]||"",s=e[3];if(!s)return n;if(t&&"function"==typeof btoa){var i=(o=s,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */"),a=s.sources.map(function(e){return"/*# sourceURL="+s.sourceRoot+e+" */"});return[n].concat(a).concat([i]).join("\n")}var o;return[n].join("\n")}(t,e);return t[2]?"@media "+t[2]+"{"+n+"}":n}).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var s={},i=0;i<this.length;i++){var a=this[i][0];null!=a&&(s[a]=!0)}for(i=0;i<e.length;i++){var o=e[i];null!=o[0]&&s[o[0]]||(n&&!o[2]?o[2]=n:n&&(o[2]="("+o[2]+") and ("+n+")"),t.push(o))}},t}},function(e,t,n){var s,i,a={},o=(s=function(){return window&&document&&document.all&&!window.atob},function(){return void 0===i&&(i=s.apply(this,arguments)),i}),l=function(e){var t={};return function(e,n){if("function"==typeof e)return e();if(void 0===t[e]){var s=function(e,t){return t?t.querySelector(e):document.querySelector(e)}.call(this,e,n);if(window.HTMLIFrameElement&&s instanceof window.HTMLIFrameElement)try{s=s.contentDocument.head}catch(e){s=null}t[e]=s}return t[e]}}(),r=null,c=0,u=[],d=n(21);function f(e,t){for(var n=0;n<e.length;n++){var s=e[n],i=a[s.id];if(i){i.refs++;for(var o=0;o<i.parts.length;o++)i.parts[o](s.parts[o]);for(;o<s.parts.length;o++)i.parts.push(b(s.parts[o],t))}else{var l=[];for(o=0;o<s.parts.length;o++)l.push(b(s.parts[o],t));a[s.id]={id:s.id,refs:1,parts:l}}}}function p(e,t){for(var n=[],s={},i=0;i<e.length;i++){var a=e[i],o=t.base?a[0]+t.base:a[0],l={css:a[1],media:a[2],sourceMap:a[3]};s[o]?s[o].parts.push(l):n.push(s[o]={id:o,parts:[l]})}return n}function m(e,t){var n=l(e.insertInto);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.");var s=u[u.length-1];if("top"===e.insertAt)s?s.nextSibling?n.insertBefore(t,s.nextSibling):n.appendChild(t):n.insertBefore(t,n.firstChild),u.push(t);else if("bottom"===e.insertAt)n.appendChild(t);else{if("object"!=typeof e.insertAt||!e.insertAt.before)throw new Error("[Style Loader]\n\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\n Must be 'top', 'bottom', or Object.\n (https://github.com/webpack-contrib/style-loader#insertat)\n");var i=l(e.insertAt.before,n);n.insertBefore(t,i)}}function h(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e);var t=u.indexOf(e);t>=0&&u.splice(t,1)}function g(e){var t=document.createElement("style");if(void 0===e.attrs.type&&(e.attrs.type="text/css"),void 0===e.attrs.nonce){var s=function(){0;return n.nc}();s&&(e.attrs.nonce=s)}return y(t,e.attrs),m(e,t),t}function y(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}function b(e,t){var n,s,i,a;if(t.transform&&e.css){if(!(a="function"==typeof t.transform?t.transform(e.css):t.transform.default(e.css)))return function(){};e.css=a}if(t.singleton){var o=c++;n=r||(r=g(t)),s=T.bind(null,n,o,!1),i=T.bind(null,n,o,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",y(t,e.attrs),m(e,t),t}(t),s=function(e,t,n){var s=n.css,i=n.sourceMap,a=void 0===t.convertToAbsoluteUrls&&i;(t.convertToAbsoluteUrls||a)&&(s=d(s));i&&(s+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */");var o=new Blob([s],{type:"text/css"}),l=e.href;e.href=URL.createObjectURL(o),l&&URL.revokeObjectURL(l)}.bind(null,n,t),i=function(){h(n),n.href&&URL.revokeObjectURL(n.href)}):(n=g(t),s=function(e,t){var n=t.css,s=t.media;s&&e.setAttribute("media",s);if(e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}.bind(null,n),i=function(){h(n)});return s(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;s(e=t)}else i()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=o()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=p(e,t);return f(n,t),function(e){for(var s=[],i=0;i<n.length;i++){var o=n[i];(l=a[o.id]).refs--,s.push(l)}e&&f(p(e,t),t);for(i=0;i<s.length;i++){var l;if(0===(l=s[i]).refs){for(var r=0;r<l.parts.length;r++)l.parts[r]();delete a[l.id]}}}};var v,_=(v=[],function(e,t){return v[e]=t,v.filter(Boolean).join("\n")});function T(e,t,n,s){var i=n?"":s.css;if(e.styleSheet)e.styleSheet.cssText=_(t,i);else{var a=document.createTextNode(i),o=e.childNodes;o[t]&&e.removeChild(o[t]),o.length?e.insertBefore(a,o[t]):e.appendChild(a)}}},function(e,t){e.exports=function(e){var t="undefined"!=typeof window&&window.location;if(!t)throw new Error("fixUrls requires window.location");if(!e||"string"!=typeof e)return e;var n=t.protocol+"//"+t.host,s=n+t.pathname.replace(/\/[^\/]*$/,"/");return e.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi,function(e,t){var i,a=t.trim().replace(/^"(.*)"$/,function(e,t){return t}).replace(/^'(.*)'$/,function(e,t){return t});return/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(a)?e:(i=0===a.indexOf("//")?a:0===a.indexOf("/")?n+a:s+a.replace(/^\.\//,""),"url("+JSON.stringify(i)+")")})}}]);
+//# sourceMappingURL=systemtags.js.map \ No newline at end of file
diff --git a/core/js/dist/systemtags.js.map b/core/js/dist/systemtags.js.map
new file mode 100644
index 00000000000..06d03efc2b3
--- /dev/null
+++ b/core/js/dist/systemtags.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./core/js/systemtags/merged-systemtags.js","webpack:///./core/js/systemtags/systemtags.js","webpack:///./core/js/systemtags/templates.js","webpack:///./core/js/systemtags/systemtagmodel.js","webpack:///./core/js/systemtags/systemtagsmappingcollection.js","webpack:///./core/js/systemtags/systemtagscollection.js","webpack:///./core/js/systemtags/systemtagsinputfield.js","webpack:///./core/css/systemtags.scss?50be","webpack:///./core/css/systemtags.scss","webpack:///./node_modules/css-loader/dist/runtime/api.js","webpack:///./node_modules/style-loader/lib/addStyles.js","webpack:///./node_modules/style-loader/lib/urls.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","OC","SystemTags","getDescriptiveTag","tag","_","isUndefined","toJSON","$","addClass","text","scope","$span","append","escapeHTML","userAssignable","userVisible","$tag","template","templates","Handlebars","Templates","1","container","depth0","helpers","partials","data","3","stack1","helper","tagMarkup","helperMissing","nullContext","hash","5","escapeExpression","7","renameTooltip","compiler","main","options","alias1","alias2","buffer","isNew","fn","program","inverse","noop","_typeof","id","isAdmin","allowActions","blockHelperMissing","useData","deleteTooltip","alias4","cid","renameLabel","extend","Files","Client","PROPERTY_FILEID","NS_OWNCLOUD","PROPERTY_CAN_ASSIGN","PROPERTY_DISPLAYNAME","PROPERTY_USERVISIBLE","PROPERTY_USERASSIGNABLE","SystemTagModel","Backbone","Model","sync","davSync","defaults","canAssign","davProperties","parse","SystemTagsMappingCollection","Collection","usePUT","_objectId","_objectType","model","url","linkToRemote","this","setObjectId","objectId","setObjectType","objectType","initialize","models","getTagIds","map","SystemTagsCollection","filterByName","filter","term","substr","length","toLowerCase","filterFunction","reset","fetched","apply","arguments","fetch","self","force","success","trigger","Promise","resolve","collection","SystemTagsInputField","View","_rendered","_newTag","_lastUsedTags","className","_multiple","multiple","_allowActions","_allowCreate","allowCreate","_isAdmin","isFunction","initSelection","_initSelection","on","defer","_refreshSelection","_getLastUsedTags","bindAll","ajax","type","generateUrl","response","$tagsField","select2","val","_onClickRenameTag","ev","$item","target","closest","tagId","attr","oldName","$renameForm","find","after","tooltip","placement","focus","selectRange","_onSubmitRenameTag","preventDefault","$form","tagModel","newName","trim","save","removeClass","remove","_onClickDeleteTag","destroy","_addToSelect2Selection","selection","push","_onSelectTag","e","unshift","error","xhr","status","where","_onDeselectTag","choice","_queryTagsAutocomplete","query","tagModels","callback","results","invoke","_preventDefault","stopPropagation","_formatDropDownResult","innerHTML","_formatSelection","_createSearchChoice","entry","element","ids","split","modelToSelection","locked","selectedModels","indexOf","findSelectedObjects","render","$el","html","placeholder","containerCssClass","dropdownCssClass","closeOnSelect","allowClear","toggleSelect","formatResult","formatSelection","createSearchChoice","undefined","sortResults","selectedItems","pluck","sort","a","b","aSelected","bSelected","aLastUsed","bLastUsed","Util","naturalSortCompare","formatNoMatches","$dropDown","delegateEvents","getValues","setValues","values","setData","content","hmr","transform","insertInto","locals","useSourceMap","list","toString","item","cssMapping","btoa","sourceMapping","sourceMap","unescape","encodeURIComponent","JSON","stringify","sourceURLs","sources","source","sourceRoot","concat","join","cssWithMappingToString","mediaQuery","alreadyImportedModules","memo","stylesInDom","isOldIE","window","document","all","atob","getElement","parent","styleTarget","querySelector","HTMLIFrameElement","contentDocument","head","singleton","singletonCounter","stylesInsertedAtTop","fixUrls","addStylesToDom","styles","domStyle","refs","j","parts","addStyle","listToStyles","newStyles","base","part","css","media","insertStyleElement","style","Error","lastStyleElementInsertedAtTop","insertAt","nextSibling","insertBefore","appendChild","firstChild","before","removeStyleElement","parentNode","removeChild","idx","splice","createStyleElement","createElement","attrs","nonce","nc","getNonce","addAttrs","el","keys","forEach","setAttribute","obj","update","result","default","styleIndex","applyToSingletonTag","URL","createObjectURL","revokeObjectURL","Blob","link","rel","createLinkElement","autoFixUrls","convertToAbsoluteUrls","blob","oldSrc","href","styleSheet","cssText","createTextNode","newObj","DEBUG","newList","mayRemove","textStore","replaceText","index","replacement","Boolean","cssNode","childNodes","location","baseUrl","protocol","host","currentDir","pathname","replace","fullMatch","origUrl","newUrl","unquotedOrigUrl","$1","test"],"mappings":"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","file":"systemtags.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 10);\n","import './systemtags.js'\nimport './templates.js'\nimport './systemtagmodel.js'\nimport './systemtagsmappingcollection.js'\nimport './systemtagscollection.js'\nimport './systemtagsinputfield.js'\n\nimport '../../css/systemtags.scss'\n","/*\n * Copyright (c) 2016\n *\n * This file is licensed under the Affero General Public License version 3\n * or later.\n *\n * See the COPYING-README file.\n *\n */\n\n(function(OC) {\n\t/**\n\t * @namespace\n\t */\n\tOC.SystemTags = {\n\t\t/**\n\t\t *\n\t\t * @param {OC.SystemTags.SystemTagModel|Object|String} tag\n\t\t * @return {jQuery}\n\t\t */\n\t\tgetDescriptiveTag: function(tag) {\n\t\t\tif (_.isUndefined(tag.name) && !_.isUndefined(tag.toJSON)) {\n\t\t\t\ttag = tag.toJSON();\n\t\t\t}\n\n\t\t\tif (_.isUndefined(tag.name)) {\n\t\t\t\treturn $('<span>').addClass('non-existing-tag').text(\n\t\t\t\t\tt('core', 'Non-existing tag #{tag}', {\n\t\t\t\t\t\ttag: tag\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tvar $span = $('<span>');\n\t\t\t$span.append(escapeHTML(tag.name));\n\n\t\t\tvar scope;\n\t\t\tif (!tag.userAssignable) {\n\t\t\t\tscope = t('core', 'restricted');\n\t\t\t}\n\t\t\tif (!tag.userVisible) {\n\t\t\t\t// invisible also implicitly means not assignable\n\t\t\t\tscope = t('core', 'invisible');\n\t\t\t}\n\t\t\tif (scope) {\n\t\t\t\tvar $tag = $('<em>').text(' ' +\n\t\t\t\t\tt('core', '({scope})', {\n\t\t\t\t\t\tscope: scope\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t\t$span.append($tag);\n\t\t\t}\n\t\t\treturn $span;\n\t\t}\n\t};\n})(OC);\n\n","(function() {\n var template = Handlebars.template, templates = OC.SystemTags.Templates = OC.SystemTags.Templates || {};\ntemplates['result'] = template({\"1\":function(container,depth0,helpers,partials,data) {\n return \" new-item\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"\t\t<span class=\\\"label\\\">\"\n + ((stack1 = ((helper = (helper = helpers.tagMarkup || (depth0 != null ? depth0.tagMarkup : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{\"name\":\"tagMarkup\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"</span>\\n\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"\t\t<span class=\\\"label\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{\"name\":\"name\",\"hash\":{},\"data\":data}) : helper)))\n + \"</span>\\n\";\n},\"7\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"\t\t<span class=\\\"systemtags-actions\\\">\\n\t\t\t<a href=\\\"#\\\" class=\\\"rename icon icon-rename\\\" title=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.renameTooltip || (depth0 != null ? depth0.renameTooltip : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{\"name\":\"renameTooltip\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"></a>\\n\t\t</span>\\n\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, options, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3=\"function\", buffer = \n \"<span class=\\\"systemtags-item\"\n + ((stack1 = helpers[\"if\"].call(alias1,(depth0 != null ? depth0.isNew : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\" data-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n<span class=\\\"checkmark icon icon-checkmark\\\"></span>\\n\"\n + ((stack1 = helpers[\"if\"].call(alias1,(depth0 != null ? depth0.isAdmin : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.program(5, data, 0),\"data\":data})) != null ? stack1 : \"\");\n stack1 = ((helper = (helper = helpers.allowActions || (depth0 != null ? depth0.allowActions : depth0)) != null ? helper : alias2),(options={\"name\":\"allowActions\",\"hash\":{},\"fn\":container.program(7, data, 0),\"inverse\":container.noop,\"data\":data}),(typeof helper === alias3 ? helper.call(alias1,options) : helper));\n if (!helpers.allowActions) { stack1 = helpers.blockHelperMissing.call(depth0,stack1,options)}\n if (stack1 != null) { buffer += stack1; }\n return buffer + \"</span>\\n\";\n},\"useData\":true});\ntemplates['result_form'] = template({\"1\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"\t\t<a href=\\\"#\\\" class=\\\"delete icon icon-delete\\\" title=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.deleteTooltip || (depth0 != null ? depth0.deleteTooltip : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{\"name\":\"deleteTooltip\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"></a>\\n\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3=\"function\", alias4=container.escapeExpression;\n\n return \"<form class=\\\"systemtags-rename-form\\\">\\n\t <label class=\\\"hidden-visually\\\" for=\\\"\"\n + alias4(((helper = (helper = helpers.cid || (depth0 != null ? depth0.cid : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"cid\",\"hash\":{},\"data\":data}) : helper)))\n + \"-rename-input\\\">\"\n + alias4(((helper = (helper = helpers.renameLabel || (depth0 != null ? depth0.renameLabel : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"renameLabel\",\"hash\":{},\"data\":data}) : helper)))\n + \"</label>\\n\t<input id=\\\"\"\n + alias4(((helper = (helper = helpers.cid || (depth0 != null ? depth0.cid : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"cid\",\"hash\":{},\"data\":data}) : helper)))\n + \"-rename-input\\\" type=\\\"text\\\" value=\\\"\"\n + alias4(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"name\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\"\n + ((stack1 = helpers[\"if\"].call(alias1,(depth0 != null ? depth0.isAdmin : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"</form>\\n\";\n},\"useData\":true});\ntemplates['selection'] = template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"\t<span class=\\\"label\\\">\"\n + ((stack1 = ((helper = (helper = helpers.tagMarkup || (depth0 != null ? depth0.tagMarkup : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{\"name\":\"tagMarkup\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"</span>\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"\t<span class=\\\"label\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{\"name\":\"name\",\"hash\":{},\"data\":data}) : helper)))\n + \"</span>\\n\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? depth0.isAdmin : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});\n})();","/*\n * Copyright (c) 2015\n *\n * This file is licensed under the Affero General Public License version 3\n * or later.\n *\n * See the COPYING-README file.\n *\n */\n\n(function(OC) {\n\n\t_.extend(OC.Files.Client, {\n\t\tPROPERTY_FILEID:\t'{' + OC.Files.Client.NS_OWNCLOUD + '}id',\n\t\tPROPERTY_CAN_ASSIGN:'{' + OC.Files.Client.NS_OWNCLOUD + '}can-assign',\n\t\tPROPERTY_DISPLAYNAME:\t'{' + OC.Files.Client.NS_OWNCLOUD + '}display-name',\n\t\tPROPERTY_USERVISIBLE:\t'{' + OC.Files.Client.NS_OWNCLOUD + '}user-visible',\n\t\tPROPERTY_USERASSIGNABLE:'{' + OC.Files.Client.NS_OWNCLOUD + '}user-assignable',\n\t});\n\n\t/**\n\t * @class OCA.SystemTags.SystemTagsCollection\n\t * @classdesc\n\t *\n\t * System tag\n\t *\n\t */\n\tvar SystemTagModel = OC.Backbone.Model.extend(\n\t\t/** @lends OCA.SystemTags.SystemTagModel.prototype */ {\n\t\tsync: OC.Backbone.davSync,\n\n\t\tdefaults: {\n\t\t\tuserVisible: true,\n\t\t\tuserAssignable: true,\n\t\t\tcanAssign: true\n\t\t},\n\n\t\tdavProperties: {\n\t\t\t'id':\tOC.Files.Client.PROPERTY_FILEID,\n\t\t\t'name': OC.Files.Client.PROPERTY_DISPLAYNAME,\n\t\t\t'userVisible': \tOC.Files.Client.PROPERTY_USERVISIBLE,\n\t\t\t'userAssignable': \tOC.Files.Client.PROPERTY_USERASSIGNABLE,\n\t\t\t// read-only, effective permissions computed by the server,\n\t\t\t'canAssign': OC.Files.Client.PROPERTY_CAN_ASSIGN\n\t\t},\n\n\t\tparse: function(data) {\n\t\t\treturn {\n\t\t\t\tid: data.id,\n\t\t\t\tname: data.name,\n\t\t\t\tuserVisible: data.userVisible === true || data.userVisible === 'true',\n\t\t\t\tuserAssignable: data.userAssignable === true || data.userAssignable === 'true',\n\t\t\t\tcanAssign: data.canAssign === true || data.canAssign === 'true'\n\t\t\t};\n\t\t}\n\t});\n\n\tOC.SystemTags = OC.SystemTags || {};\n\tOC.SystemTags.SystemTagModel = SystemTagModel;\n})(OC);\n","/*\n * Copyright (c) 2015\n *\n * This file is licensed under the Affero General Public License version 3\n * or later.\n *\n * See the COPYING-README file.\n *\n */\n\n(function(OC) {\n\t/**\n\t * @class OC.SystemTags.SystemTagsMappingCollection\n\t * @classdesc\n\t *\n\t * Collection of tags assigned to a an object\n\t *\n\t */\n\tvar SystemTagsMappingCollection = OC.Backbone.Collection.extend(\n\t\t/** @lends OC.SystemTags.SystemTagsMappingCollection.prototype */ {\n\n\t\tsync: OC.Backbone.davSync,\n\n\t\t/**\n\t\t * Use PUT instead of PROPPATCH\n\t\t */\n\t\tusePUT: true,\n\n\t\t/**\n\t\t * Id of the file for which to filter activities by\n\t\t *\n\t\t * @var int\n\t\t */\n\t\t_objectId: null,\n\n\t\t/**\n\t\t * Type of the object to filter by\n\t\t *\n\t\t * @var string\n\t\t */\n\t\t_objectType: 'files',\n\n\t\tmodel: OC.SystemTags.SystemTagModel,\n\n\t\turl: function() {\n\t\t\treturn OC.linkToRemote('dav') + '/systemtags-relations/' + this._objectType + '/' + this._objectId;\n\t\t},\n\n\t\t/**\n\t\t * Sets the object id to filter by or null for all.\n\t\t *\n\t\t * @param {int} objectId file id or null\n\t\t */\n\t\tsetObjectId: function(objectId) {\n\t\t\tthis._objectId = objectId;\n\t\t},\n\n\t\t/**\n\t\t * Sets the object type to filter by or null for all.\n\t\t *\n\t\t * @param {int} objectType file id or null\n\t\t */\n\t\tsetObjectType: function(objectType) {\n\t\t\tthis._objectType = objectType;\n\t\t},\n\n\t\tinitialize: function(models, options) {\n\t\t\toptions = options || {};\n\t\t\tif (!_.isUndefined(options.objectId)) {\n\t\t\t\tthis._objectId = options.objectId;\n\t\t\t}\n\t\t\tif (!_.isUndefined(options.objectType)) {\n\t\t\t\tthis._objectType = options.objectType;\n\t\t\t}\n\t\t},\n\n\t\tgetTagIds: function() {\n\t\t\treturn this.map(function(model) {\n\t\t\t\treturn model.id;\n\t\t\t});\n\t\t}\n\t});\n\n\tOC.SystemTags = OC.SystemTags || {};\n\tOC.SystemTags.SystemTagsMappingCollection = SystemTagsMappingCollection;\n})(OC);\n\n","/*\n * Copyright (c) 2015\n *\n * This file is licensed under the Affero General Public License version 3\n * or later.\n *\n * See the COPYING-README file.\n *\n */\n\n(function(OC) {\n\n\tfunction filterFunction(model, term) {\n\t\treturn model.get('name').substr(0, term.length).toLowerCase() === term.toLowerCase();\n\t}\n\n\t/**\n\t * @class OCA.SystemTags.SystemTagsCollection\n\t * @classdesc\n\t *\n\t * Collection of tags assigned to a file\n\t *\n\t */\n\tvar SystemTagsCollection = OC.Backbone.Collection.extend(\n\t\t/** @lends OC.SystemTags.SystemTagsCollection.prototype */ {\n\n\t\tsync: OC.Backbone.davSync,\n\n\t\tmodel: OC.SystemTags.SystemTagModel,\n\n\t\turl: function() {\n\t\t\treturn OC.linkToRemote('dav') + '/systemtags/';\n\t\t},\n\n\t\tfilterByName: function(name) {\n\t\t\treturn this.filter(function(model) {\n\t\t\t\treturn filterFunction(model, name);\n\t\t\t});\n\t\t},\n\n\t\treset: function() {\n\t\t\tthis.fetched = false;\n\t\t\treturn OC.Backbone.Collection.prototype.reset.apply(this, arguments);\n\t\t},\n\n\t\t/**\n\t\t * Lazy fetch.\n\t\t * Only fetches once, subsequent calls will directly call the success handler.\n\t\t *\n\t\t * @param options\n\t\t * @param [options.force] true to force fetch even if cached entries exist\n\t\t *\n\t\t * @see Backbone.Collection#fetch\n\t\t */\n\t\tfetch: function(options) {\n\t\t\tvar self = this;\n\t\t\toptions = options || {};\n\t\t\tif (this.fetched || options.force) {\n\t\t\t\t// directly call handler\n\t\t\t\tif (options.success) {\n\t\t\t\t\toptions.success(this, null, options);\n\t\t\t\t}\n\t\t\t\t// trigger sync event\n\t\t\t\tthis.trigger('sync', this, null, options);\n\t\t\t\treturn Promise.resolve();\n\t\t\t}\n\n\t\t\tvar success = options.success;\n\t\t\toptions = _.extend({}, options);\n\t\t\toptions.success = function() {\n\t\t\t\tself.fetched = true;\n\t\t\t\tif (success) {\n\t\t\t\t\treturn success.apply(this, arguments);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\treturn OC.Backbone.Collection.prototype.fetch.call(this, options);\n\t\t}\n\t});\n\n\tOC.SystemTags = OC.SystemTags || {};\n\tOC.SystemTags.SystemTagsCollection = SystemTagsCollection;\n\n\t/**\n\t * @type OC.SystemTags.SystemTagsCollection\n\t */\n\tOC.SystemTags.collection = new OC.SystemTags.SystemTagsCollection();\n})(OC);\n\n","/*\n * Copyright (c) 2015\n *\n * This file is licensed under the Affero General Public License version 3\n * or later.\n *\n * See the COPYING-README file.\n *\n */\n\n/* global Handlebars */\n\n(function(OC) {\n\n\t/**\n\t * @class OC.SystemTags.SystemTagsInputField\n\t * @classdesc\n\t *\n\t * Displays a file's system tags\n\t *\n\t */\n\tvar SystemTagsInputField = OC.Backbone.View.extend(\n\t\t/** @lends OC.SystemTags.SystemTagsInputField.prototype */ {\n\n\t\t_rendered: false,\n\n\t\t_newTag: null,\n\n\t\t_lastUsedTags: [],\n\n\t\tclassName: 'systemTagsInputFieldContainer',\n\n\t\ttemplate: function(data) {\n\t\t\treturn '<input class=\"systemTagsInputField\" type=\"hidden\" name=\"tags\" value=\"\"/>';\n\t\t},\n\n\t\t/**\n\t\t * Creates a new SystemTagsInputField\n\t\t *\n\t\t * @param {Object} [options]\n\t\t * @param {string} [options.objectType=files] object type for which tags are assigned to\n\t\t * @param {bool} [options.multiple=false] whether to allow selecting multiple tags\n\t\t * @param {bool} [options.allowActions=true] whether tags can be renamed/delete within the dropdown\n\t\t * @param {bool} [options.allowCreate=true] whether new tags can be created\n\t\t * @param {bool} [options.isAdmin=true] whether the user is an administrator\n\t\t * @param {Function} options.initSelection function to convert selection to data\n\t\t */\n\t\tinitialize: function(options) {\n\t\t\toptions = options || {};\n\n\t\t\tthis._multiple = !!options.multiple;\n\t\t\tthis._allowActions = _.isUndefined(options.allowActions) || !!options.allowActions;\n\t\t\tthis._allowCreate = _.isUndefined(options.allowCreate) || !!options.allowCreate;\n\t\t\tthis._isAdmin = !!options.isAdmin;\n\n\t\t\tif (_.isFunction(options.initSelection)) {\n\t\t\t\tthis._initSelection = options.initSelection;\n\t\t\t}\n\n\t\t\tthis.collection = options.collection || OC.SystemTags.collection;\n\n\t\t\tvar self = this;\n\t\t\tthis.collection.on('change:name remove', function() {\n\t\t\t\t// refresh selection\n\t\t\t\t_.defer(self._refreshSelection);\n\t\t\t});\n\n\t\t\t_.defer(_.bind(this._getLastUsedTags, this));\n\n\t\t\t_.bindAll(\n\t\t\t\tthis,\n\t\t\t\t'_refreshSelection',\n\t\t\t\t'_onClickRenameTag',\n\t\t\t\t'_onClickDeleteTag',\n\t\t\t\t'_onSelectTag',\n\t\t\t\t'_onDeselectTag',\n\t\t\t\t'_onSubmitRenameTag'\n\t\t\t);\n\t\t},\n\n\t\t_getLastUsedTags: function() {\n\t\t\tvar self = this;\n\t\t\t$.ajax({\n\t\t\t\ttype: 'GET',\n\t\t\t\turl: OC.generateUrl('/apps/systemtags/lastused'),\n\t\t\t\tsuccess: function (response) {\n\t\t\t\t\tself._lastUsedTags = response;\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\n\t\t/**\n\t\t * Refreshes the selection, triggering a call to\n\t\t * select2's initSelection\n\t\t */\n\t\t_refreshSelection: function() {\n\t\t\tthis.$tagsField.select2('val', this.$tagsField.val());\n\t\t},\n\n\t\t/**\n\t\t * Event handler whenever the user clicked the \"rename\" action.\n\t\t * This will display the rename field.\n\t\t */\n\t\t_onClickRenameTag: function(ev) {\n\t\t\tvar $item = $(ev.target).closest('.systemtags-item');\n\t\t\tvar tagId = $item.attr('data-id');\n\t\t\tvar tagModel = this.collection.get(tagId);\n\n\t\t\tvar oldName = tagModel.get('name');\n\t\t\tvar $renameForm = $(OC.SystemTags.Templates['result_form']({\n\t\t\t\tcid: this.cid,\n\t\t\t\tname: oldName,\n\t\t\t\tdeleteTooltip: t('core', 'Delete'),\n\t\t\t\trenameLabel: t('core', 'Rename'),\n\t\t\t\tisAdmin: this._isAdmin\n\t\t\t}));\n\t\t\t$item.find('.label').after($renameForm);\n\t\t\t$item.find('.label, .systemtags-actions').addClass('hidden');\n\t\t\t$item.closest('.select2-result').addClass('has-form');\n\n\t\t\t$renameForm.find('[title]').tooltip({\n\t\t\t\tplacement: 'bottom',\n\t\t\t\tcontainer: 'body'\n\t\t\t});\n\t\t\t$renameForm.find('input').focus().selectRange(0, oldName.length);\n\t\t\treturn false;\n\t\t},\n\n\t\t/**\n\t\t * Event handler whenever the rename form has been submitted after\n\t\t * the user entered a new tag name.\n\t\t * This will submit the change to the server. \n\t\t *\n\t\t * @param {Object} ev event\n\t\t */\n\t\t_onSubmitRenameTag: function(ev) {\n\t\t\tev.preventDefault();\n\t\t\tvar $form = $(ev.target);\n\t\t\tvar $item = $form.closest('.systemtags-item');\n\t\t\tvar tagId = $item.attr('data-id');\n\t\t\tvar tagModel = this.collection.get(tagId);\n\t\t\tvar newName = $(ev.target).find('input').val().trim();\n\t\t\tif (newName && newName !== tagModel.get('name')) {\n\t\t\t\ttagModel.save({'name': newName});\n\t\t\t\t// TODO: spinner, and only change text after finished saving\n\t\t\t\t$item.find('.label').text(newName);\n\t\t\t}\n\t\t\t$item.find('.label, .systemtags-actions').removeClass('hidden');\n\t\t\t$form.remove();\n\t\t\t$item.closest('.select2-result').removeClass('has-form');\n\t\t},\n\n\t\t/**\n\t\t * Event handler whenever a tag must be deleted\n\t\t *\n\t\t * @param {Object} ev event\n\t\t */\n\t\t_onClickDeleteTag: function(ev) {\n\t\t\tvar $item = $(ev.target).closest('.systemtags-item');\n\t\t\tvar tagId = $item.attr('data-id');\n\t\t\tthis.collection.get(tagId).destroy();\n\t\t\t$(ev.target).tooltip('hide');\n\t\t\t$item.closest('.select2-result').remove();\n\t\t\t// TODO: spinner\n\t\t\treturn false;\n\t\t},\n\n\t\t_addToSelect2Selection: function(selection) {\n\t\t\tvar data = this.$tagsField.select2('data');\n\t\t\tdata.push(selection);\n\t\t\tthis.$tagsField.select2('data', data);\n\t\t},\n\n\t\t/**\n\t\t * Event handler whenever a tag is selected.\n\t\t * Also called whenever tag creation is requested through the dummy tag object.\n\t\t *\n\t\t * @param {Object} e event\n\t\t */\n\t\t_onSelectTag: function(e) {\n\t\t\tvar self = this;\n\t\t\tvar tag;\n\t\t\tif (e.object && e.object.isNew) {\n\t\t\t\t// newly created tag, check if existing\n\t\t\t\t// create a new tag\n\t\t\t\ttag = this.collection.create({\n\t\t\t\t\tname: e.object.name.trim(),\n\t\t\t\t\tuserVisible: true,\n\t\t\t\t\tuserAssignable: true,\n\t\t\t\t\tcanAssign: true\n\t\t\t\t}, {\n\t\t\t\t\tsuccess: function(model) {\n\t\t\t\t\t\tself._addToSelect2Selection(model.toJSON());\n\t\t\t\t\t\tself._lastUsedTags.unshift(model.id);\n\t\t\t\t\t\tself.trigger('select', model);\n\t\t\t\t\t},\n\t\t\t\t\terror: function(model, xhr) {\n\t\t\t\t\t\tif (xhr.status === 409) {\n\t\t\t\t\t\t\t// re-fetch collection to get the missing tag\n\t\t\t\t\t\t\tself.collection.reset();\n\t\t\t\t\t\t\tself.collection.fetch({\n\t\t\t\t\t\t\t\tsuccess: function(collection) {\n\t\t\t\t\t\t\t\t\t// find the tag in the collection\n\t\t\t\t\t\t\t\t\tvar model = collection.where({\n\t\t\t\t\t\t\t\t\t\tname: e.object.name.trim(),\n\t\t\t\t\t\t\t\t\t\tuserVisible: true,\n\t\t\t\t\t\t\t\t\t\tuserAssignable: true\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tif (model.length) {\n\t\t\t\t\t\t\t\t\t\tmodel = model[0];\n\t\t\t\t\t\t\t\t\t\t// the tag already exists or was already assigned,\n\t\t\t\t\t\t\t\t\t\t// add it to the list anyway\n\t\t\t\t\t\t\t\t\t\tself._addToSelect2Selection(model.toJSON());\n\t\t\t\t\t\t\t\t\t\tself.trigger('select', model);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tthis.$tagsField.select2('close');\n\t\t\t\te.preventDefault();\n\t\t\t\treturn false;\n\t\t\t} else {\n\t\t\t\ttag = this.collection.get(e.object.id);\n\t\t\t\tthis._lastUsedTags.unshift(tag.id);\n\t\t\t}\n\t\t\tthis._newTag = null;\n\t\t\tthis.trigger('select', tag);\n\t\t},\n\n\t\t/**\n\t\t * Event handler whenever a tag gets deselected.\n\t\t *\n\t\t * @param {Object} e event\n\t\t */\n\t\t_onDeselectTag: function(e) {\n\t\t\tthis.trigger('deselect', e.choice.id);\n\t\t},\n\n\t\t/**\n\t\t * Autocomplete function for dropdown results\n\t\t *\n\t\t * @param {Object} query select2 query object\n\t\t */\n\t\t_queryTagsAutocomplete: function(query) {\n\t\t\tvar self = this;\n\t\t\tthis.collection.fetch({\n\t\t\t\tsuccess: function(collection) {\n\t\t\t\t\tvar tagModels = collection.filterByName(query.term.trim());\n\t\t\t\t\tif (!self._isAdmin) {\n\t\t\t\t\t\ttagModels = _.filter(tagModels, function(tagModel) {\n\t\t\t\t\t\t\treturn tagModel.get('canAssign');\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tquery.callback({\n\t\t\t\t\t\tresults: _.invoke(tagModels, 'toJSON')\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\n\t\t_preventDefault: function(e) {\n\t\t\te.stopPropagation();\n\t\t},\n\n\t\t/**\n\t\t * Formats a single dropdown result\n\t\t *\n\t\t * @param {Object} data data to format\n\t\t * @return {string} HTML markup\n\t\t */\n\t\t_formatDropDownResult: function(data) {\n\t\t\treturn OC.SystemTags.Templates['result'](_.extend({\n\t\t\t\trenameTooltip: t('core', 'Rename'),\n\t\t\t\tallowActions: this._allowActions,\n\t\t\t\ttagMarkup: this._isAdmin ? OC.SystemTags.getDescriptiveTag(data)[0].innerHTML : null,\n\t\t\t\tisAdmin: this._isAdmin\n\t\t\t}, data));\n\t\t},\n\n\t\t/**\n\t\t * Formats a single selection item\n\t\t *\n\t\t * @param {Object} data data to format\n\t\t * @return {string} HTML markup\n\t\t */\n\t\t_formatSelection: function(data) {\n\t\t\treturn OC.SystemTags.Templates['selection'](_.extend({\n\t\t\t\ttagMarkup: this._isAdmin ? OC.SystemTags.getDescriptiveTag(data)[0].innerHTML : null,\n\t\t\t\tisAdmin: this._isAdmin\n\t\t\t}, data));\n\t\t},\n\n\t\t/**\n\t\t * Create new dummy choice for select2 when the user\n\t\t * types an arbitrary string\n\t\t *\n\t\t * @param {string} term entered term\n\t\t * @return {Object} dummy tag\n\t\t */\n\t\t_createSearchChoice: function(term) {\n\t\t\tterm = term.trim();\n\t\t\tif (this.collection.filter(function(entry) {\n\t\t\t\t\treturn entry.get('name') === term;\n\t\t\t\t}).length) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (!this._newTag) {\n\t\t\t\tthis._newTag = {\n\t\t\t\t\tid: -1,\n\t\t\t\t\tname: term,\n\t\t\t\t\tuserAssignable: true,\n\t\t\t\t\tuserVisible: true,\n\t\t\t\t\tcanAssign: true,\n\t\t\t\t\tisNew: true\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tthis._newTag.name = term;\n\t\t\t}\n\n\t\t\treturn this._newTag;\n\t\t},\n\n\t\t_initSelection: function(element, callback) {\n\t\t\tvar self = this;\n\t\t\tvar ids = $(element).val().split(',');\n\n\t\t\tfunction modelToSelection(model) {\n\t\t\t\tvar data = model.toJSON();\n\t\t\t\tif (!self._isAdmin && !data.canAssign) {\n\t\t\t\t\t// lock static tags for non-admins\n\t\t\t\t\tdata.locked = true;\n\t\t\t\t}\n\t\t\t\treturn data;\n\t\t\t}\n\n\t\t\tfunction findSelectedObjects(ids) {\n\t\t\t\tvar selectedModels = self.collection.filter(function(model) {\n\t\t\t\t\treturn ids.indexOf(model.id) >= 0 && (self._isAdmin || model.get('userVisible'));\n\t\t\t\t});\n\t\t\t\treturn _.map(selectedModels, modelToSelection);\n\t\t\t}\n\n\t\t\tthis.collection.fetch({\n\t\t\t\tsuccess: function() {\n\t\t\t\t\tcallback(findSelectedObjects(ids));\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\n\t\t/**\n\t\t * Renders this details view\n\t\t */\n\t\trender: function() {\n\t\t\tvar self = this;\n\t\t\tthis.$el.html(this.template());\n\n\t\t\tthis.$el.find('[title]').tooltip({placement: 'bottom'});\n\t\t\tthis.$tagsField = this.$el.find('[name=tags]');\n\t\t\tthis.$tagsField.select2({\n\t\t\t\tplaceholder: t('core', 'Collaborative tags'),\n\t\t\t\tcontainerCssClass: 'systemtags-select2-container',\n\t\t\t\tdropdownCssClass: 'systemtags-select2-dropdown',\n\t\t\t\tcloseOnSelect: false,\n\t\t\t\tallowClear: false,\n\t\t\t\tmultiple: this._multiple,\n\t\t\t\ttoggleSelect: this._multiple,\n\t\t\t\tquery: _.bind(this._queryTagsAutocomplete, this),\n\t\t\t\tid: function(tag) {\n\t\t\t\t\treturn tag.id;\n\t\t\t\t},\n\t\t\t\tinitSelection: _.bind(this._initSelection, this),\n\t\t\t\tformatResult: _.bind(this._formatDropDownResult, this),\n\t\t\t\tformatSelection: _.bind(this._formatSelection, this),\n\t\t\t\tcreateSearchChoice: this._allowCreate ? _.bind(this._createSearchChoice, this) : undefined,\n\t\t\t\tsortResults: function(results) {\n\t\t\t\t\tvar selectedItems = _.pluck(self.$tagsField.select2('data'), 'id');\n\t\t\t\t\tresults.sort(function(a, b) {\n\t\t\t\t\t\tvar aSelected = selectedItems.indexOf(a.id) >= 0;\n\t\t\t\t\t\tvar bSelected = selectedItems.indexOf(b.id) >= 0;\n\t\t\t\t\t\tif (aSelected === bSelected) {\n\t\t\t\t\t\t\tvar aLastUsed = self._lastUsedTags.indexOf(a.id);\n\t\t\t\t\t\t\tvar bLastUsed = self._lastUsedTags.indexOf(b.id);\n\n\t\t\t\t\t\t\tif (aLastUsed !== bLastUsed) {\n\t\t\t\t\t\t\t\tif (bLastUsed === -1) {\n\t\t\t\t\t\t\t\t\treturn -1;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (aLastUsed === -1) {\n\t\t\t\t\t\t\t\t\treturn 1;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn aLastUsed < bLastUsed ? -1 : 1;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Both not found\n\t\t\t\t\t\t\treturn OC.Util.naturalSortCompare(a.name, b.name);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (aSelected && !bSelected) {\n\t\t\t\t\t\t\treturn -1;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn 1;\n\t\t\t\t\t});\n\t\t\t\t\treturn results;\n\t\t\t\t},\n\t\t\t\tformatNoMatches: function() {\n\t\t\t\t\treturn t('core', 'No tags found');\n\t\t\t\t}\n\t\t\t})\n\t\t\t\t.on('select2-selecting', this._onSelectTag)\n\t\t\t\t.on('select2-removing', this._onDeselectTag);\n\n\t\t\tvar $dropDown = this.$tagsField.select2('dropdown');\n\t\t\t// register events for inside the dropdown\n\t\t\t$dropDown.on('mouseup', '.rename', this._onClickRenameTag);\n\t\t\t$dropDown.on('mouseup', '.delete', this._onClickDeleteTag);\n\t\t\t$dropDown.on('mouseup', '.select2-result-selectable.has-form', this._preventDefault);\n\t\t\t$dropDown.on('submit', '.systemtags-rename-form', this._onSubmitRenameTag);\n\n\t\t\tthis.delegateEvents();\n\t\t},\n\n\t\tremove: function() {\n\t\t\tif (this.$tagsField) {\n\t\t\t\tthis.$tagsField.select2('destroy');\n\t\t\t}\n\t\t},\n\n\t\tgetValues: function() {\n\t\t\tthis.$tagsField.select2('val');\n\t\t},\n\n\t\tsetValues: function(values) {\n\t\t\tthis.$tagsField.select2('val', values);\n\t\t},\n\n\t\tsetData: function(data) {\n\t\t\tthis.$tagsField.select2('data', data);\n\t\t}\n\t});\n\n\tOC.SystemTags = OC.SystemTags || {};\n\tOC.SystemTags.SystemTagsInputField = SystemTagsInputField;\n\n})(OC);\n\n","\nvar content = require(\"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/sass-loader/lib/loader.js!./systemtags.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/sass-loader/lib/loader.js!./systemtags.scss\", function() {\n\t\tvar newContent = require(\"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/sass-loader/lib/loader.js!./systemtags.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n * @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n * @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n * @copyright Copyright (c) 2016, Vincent Petry <pvince81@owncloud.com>\\n * @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n * @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n */\\n.systemtags-select2-dropdown .select2-result-label .checkmark {\\n visibility: hidden;\\n margin-left: -5px;\\n margin-right: 5px;\\n padding: 4px; }\\n\\n.systemtags-select2-dropdown .select2-result-label .new-item .systemtags-actions {\\n display: none; }\\n\\n.systemtags-select2-dropdown .select2-selected .select2-result-label .checkmark {\\n visibility: visible; }\\n\\n.systemtags-select2-dropdown .select2-result-label .icon {\\n display: inline-block;\\n opacity: .5; }\\n .systemtags-select2-dropdown .select2-result-label .icon.rename {\\n padding: 4px; }\\n\\n.systemtags-select2-dropdown .systemtags-actions {\\n position: absolute;\\n right: 5px; }\\n\\n.systemtags-select2-dropdown .systemtags-rename-form {\\n display: inline-block;\\n width: calc(100% - 20px);\\n top: -6px;\\n position: relative; }\\n .systemtags-select2-dropdown .systemtags-rename-form input {\\n display: inline-block;\\n height: 30px;\\n width: calc(100% - 40px); }\\n\\n.systemtags-select2-dropdown .label {\\n width: 85%;\\n display: inline-block;\\n overflow: hidden;\\n text-overflow: ellipsis; }\\n .systemtags-select2-dropdown .label.hidden {\\n display: none; }\\n\\n.systemtags-select2-dropdown span {\\n line-height: 25px; }\\n\\n.systemtags-select2-dropdown .systemtags-item {\\n display: inline-block;\\n height: 25px;\\n width: 100%; }\\n\\n.systemtags-select2-dropdown .select2-result-label {\\n height: 25px; }\\n\\n.systemtags-select2-container {\\n width: 100%; }\\n .systemtags-select2-container .select2-choices .select2-search-choice.select2-locked .label {\\n opacity: 0.5; }\\n\\n#select2-drop.systemtags-select2-dropdown .select2-results li.select2-result {\\n padding: 5px; }\\n\", \"\"]);\n\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function (useSourceMap) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item, useSourceMap);\n\n if (item[2]) {\n return '@media ' + item[2] + '{' + content + '}';\n } else {\n return content;\n }\n }).join('');\n }; // import a list of modules into the list\n\n\n list.i = function (modules, mediaQuery) {\n if (typeof modules === 'string') {\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n for (var i = 0; i < this.length; i++) {\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n\n for (i = 0; i < modules.length; i++) {\n var item = modules[i]; // skip already imported module\n // this implementation is not 100% perfect for weird media query combinations\n // when a module is imported multiple times with different media queries.\n // I hope this will never occur (Hey this way we have smaller bundles)\n\n if (item[0] == null || !alreadyImportedModules[item[0]]) {\n if (mediaQuery && !item[2]) {\n item[2] = mediaQuery;\n } else if (mediaQuery) {\n item[2] = '(' + item[2] + ') and (' + mediaQuery + ')';\n }\n\n list.push(item);\n }\n }\n };\n\n return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || '';\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function (source) {\n return '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */';\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n\n return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n return '/*# ' + data + ' */';\n}","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n\nvar stylesInDom = {};\n\nvar\tmemoize = function (fn) {\n\tvar memo;\n\n\treturn function () {\n\t\tif (typeof memo === \"undefined\") memo = fn.apply(this, arguments);\n\t\treturn memo;\n\t};\n};\n\nvar isOldIE = memoize(function () {\n\t// Test for IE <= 9 as proposed by Browserhacks\n\t// @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n\t// Tests for existence of standard globals is to allow style-loader\n\t// to operate correctly into non-standard environments\n\t// @see https://github.com/webpack-contrib/style-loader/issues/177\n\treturn window && document && document.all && !window.atob;\n});\n\nvar getTarget = function (target, parent) {\n if (parent){\n return parent.querySelector(target);\n }\n return document.querySelector(target);\n};\n\nvar getElement = (function (fn) {\n\tvar memo = {};\n\n\treturn function(target, parent) {\n // If passing function in options, then use it for resolve \"head\" element.\n // Useful for Shadow Root style i.e\n // {\n // insertInto: function () { return document.querySelector(\"#foo\").shadowRoot }\n // }\n if (typeof target === 'function') {\n return target();\n }\n if (typeof memo[target] === \"undefined\") {\n\t\t\tvar styleTarget = getTarget.call(this, target, parent);\n\t\t\t// Special case to return head of iframe instead of iframe itself\n\t\t\tif (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n\t\t\t\ttry {\n\t\t\t\t\t// This will throw an exception if access to iframe is blocked\n\t\t\t\t\t// due to cross-origin restrictions\n\t\t\t\t\tstyleTarget = styleTarget.contentDocument.head;\n\t\t\t\t} catch(e) {\n\t\t\t\t\tstyleTarget = null;\n\t\t\t\t}\n\t\t\t}\n\t\t\tmemo[target] = styleTarget;\n\t\t}\n\t\treturn memo[target]\n\t};\n})();\n\nvar singleton = null;\nvar\tsingletonCounter = 0;\nvar\tstylesInsertedAtTop = [];\n\nvar\tfixUrls = require(\"./urls\");\n\nmodule.exports = function(list, options) {\n\tif (typeof DEBUG !== \"undefined\" && DEBUG) {\n\t\tif (typeof document !== \"object\") throw new Error(\"The style-loader cannot be used in a non-browser environment\");\n\t}\n\n\toptions = options || {};\n\n\toptions.attrs = typeof options.attrs === \"object\" ? options.attrs : {};\n\n\t// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n\t// tags it will allow on a page\n\tif (!options.singleton && typeof options.singleton !== \"boolean\") options.singleton = isOldIE();\n\n\t// By default, add <style> tags to the <head> element\n if (!options.insertInto) options.insertInto = \"head\";\n\n\t// By default, add <style> tags to the bottom of the target\n\tif (!options.insertAt) options.insertAt = \"bottom\";\n\n\tvar styles = listToStyles(list, options);\n\n\taddStylesToDom(styles, options);\n\n\treturn function update (newList) {\n\t\tvar mayRemove = [];\n\n\t\tfor (var i = 0; i < styles.length; i++) {\n\t\t\tvar item = styles[i];\n\t\t\tvar domStyle = stylesInDom[item.id];\n\n\t\t\tdomStyle.refs--;\n\t\t\tmayRemove.push(domStyle);\n\t\t}\n\n\t\tif(newList) {\n\t\t\tvar newStyles = listToStyles(newList, options);\n\t\t\taddStylesToDom(newStyles, options);\n\t\t}\n\n\t\tfor (var i = 0; i < mayRemove.length; i++) {\n\t\t\tvar domStyle = mayRemove[i];\n\n\t\t\tif(domStyle.refs === 0) {\n\t\t\t\tfor (var j = 0; j < domStyle.parts.length; j++) domStyle.parts[j]();\n\n\t\t\t\tdelete stylesInDom[domStyle.id];\n\t\t\t}\n\t\t}\n\t};\n};\n\nfunction addStylesToDom (styles, options) {\n\tfor (var i = 0; i < styles.length; i++) {\n\t\tvar item = styles[i];\n\t\tvar domStyle = stylesInDom[item.id];\n\n\t\tif(domStyle) {\n\t\t\tdomStyle.refs++;\n\n\t\t\tfor(var j = 0; j < domStyle.parts.length; j++) {\n\t\t\t\tdomStyle.parts[j](item.parts[j]);\n\t\t\t}\n\n\t\t\tfor(; j < item.parts.length; j++) {\n\t\t\t\tdomStyle.parts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\t\t} else {\n\t\t\tvar parts = [];\n\n\t\t\tfor(var j = 0; j < item.parts.length; j++) {\n\t\t\t\tparts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\n\t\t\tstylesInDom[item.id] = {id: item.id, refs: 1, parts: parts};\n\t\t}\n\t}\n}\n\nfunction listToStyles (list, options) {\n\tvar styles = [];\n\tvar newStyles = {};\n\n\tfor (var i = 0; i < list.length; i++) {\n\t\tvar item = list[i];\n\t\tvar id = options.base ? item[0] + options.base : item[0];\n\t\tvar css = item[1];\n\t\tvar media = item[2];\n\t\tvar sourceMap = item[3];\n\t\tvar part = {css: css, media: media, sourceMap: sourceMap};\n\n\t\tif(!newStyles[id]) styles.push(newStyles[id] = {id: id, parts: [part]});\n\t\telse newStyles[id].parts.push(part);\n\t}\n\n\treturn styles;\n}\n\nfunction insertStyleElement (options, style) {\n\tvar target = getElement(options.insertInto)\n\n\tif (!target) {\n\t\tthrow new Error(\"Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.\");\n\t}\n\n\tvar lastStyleElementInsertedAtTop = stylesInsertedAtTop[stylesInsertedAtTop.length - 1];\n\n\tif (options.insertAt === \"top\") {\n\t\tif (!lastStyleElementInsertedAtTop) {\n\t\t\ttarget.insertBefore(style, target.firstChild);\n\t\t} else if (lastStyleElementInsertedAtTop.nextSibling) {\n\t\t\ttarget.insertBefore(style, lastStyleElementInsertedAtTop.nextSibling);\n\t\t} else {\n\t\t\ttarget.appendChild(style);\n\t\t}\n\t\tstylesInsertedAtTop.push(style);\n\t} else if (options.insertAt === \"bottom\") {\n\t\ttarget.appendChild(style);\n\t} else if (typeof options.insertAt === \"object\" && options.insertAt.before) {\n\t\tvar nextSibling = getElement(options.insertAt.before, target);\n\t\ttarget.insertBefore(style, nextSibling);\n\t} else {\n\t\tthrow new Error(\"[Style Loader]\\n\\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\\n Must be 'top', 'bottom', or Object.\\n (https://github.com/webpack-contrib/style-loader#insertat)\\n\");\n\t}\n}\n\nfunction removeStyleElement (style) {\n\tif (style.parentNode === null) return false;\n\tstyle.parentNode.removeChild(style);\n\n\tvar idx = stylesInsertedAtTop.indexOf(style);\n\tif(idx >= 0) {\n\t\tstylesInsertedAtTop.splice(idx, 1);\n\t}\n}\n\nfunction createStyleElement (options) {\n\tvar style = document.createElement(\"style\");\n\n\tif(options.attrs.type === undefined) {\n\t\toptions.attrs.type = \"text/css\";\n\t}\n\n\tif(options.attrs.nonce === undefined) {\n\t\tvar nonce = getNonce();\n\t\tif (nonce) {\n\t\t\toptions.attrs.nonce = nonce;\n\t\t}\n\t}\n\n\taddAttrs(style, options.attrs);\n\tinsertStyleElement(options, style);\n\n\treturn style;\n}\n\nfunction createLinkElement (options) {\n\tvar link = document.createElement(\"link\");\n\n\tif(options.attrs.type === undefined) {\n\t\toptions.attrs.type = \"text/css\";\n\t}\n\toptions.attrs.rel = \"stylesheet\";\n\n\taddAttrs(link, options.attrs);\n\tinsertStyleElement(options, link);\n\n\treturn link;\n}\n\nfunction addAttrs (el, attrs) {\n\tObject.keys(attrs).forEach(function (key) {\n\t\tel.setAttribute(key, attrs[key]);\n\t});\n}\n\nfunction getNonce() {\n\tif (typeof __webpack_nonce__ === 'undefined') {\n\t\treturn null;\n\t}\n\n\treturn __webpack_nonce__;\n}\n\nfunction addStyle (obj, options) {\n\tvar style, update, remove, result;\n\n\t// If a transform function was defined, run it on the css\n\tif (options.transform && obj.css) {\n\t result = typeof options.transform === 'function'\n\t\t ? options.transform(obj.css) \n\t\t : options.transform.default(obj.css);\n\n\t if (result) {\n\t \t// If transform returns a value, use that instead of the original css.\n\t \t// This allows running runtime transformations on the css.\n\t \tobj.css = result;\n\t } else {\n\t \t// If the transform function returns a falsy value, don't add this css.\n\t \t// This allows conditional loading of css\n\t \treturn function() {\n\t \t\t// noop\n\t \t};\n\t }\n\t}\n\n\tif (options.singleton) {\n\t\tvar styleIndex = singletonCounter++;\n\n\t\tstyle = singleton || (singleton = createStyleElement(options));\n\n\t\tupdate = applyToSingletonTag.bind(null, style, styleIndex, false);\n\t\tremove = applyToSingletonTag.bind(null, style, styleIndex, true);\n\n\t} else if (\n\t\tobj.sourceMap &&\n\t\ttypeof URL === \"function\" &&\n\t\ttypeof URL.createObjectURL === \"function\" &&\n\t\ttypeof URL.revokeObjectURL === \"function\" &&\n\t\ttypeof Blob === \"function\" &&\n\t\ttypeof btoa === \"function\"\n\t) {\n\t\tstyle = createLinkElement(options);\n\t\tupdate = updateLink.bind(null, style, options);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\n\t\t\tif(style.href) URL.revokeObjectURL(style.href);\n\t\t};\n\t} else {\n\t\tstyle = createStyleElement(options);\n\t\tupdate = applyToTag.bind(null, style);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\t\t};\n\t}\n\n\tupdate(obj);\n\n\treturn function updateStyle (newObj) {\n\t\tif (newObj) {\n\t\t\tif (\n\t\t\t\tnewObj.css === obj.css &&\n\t\t\t\tnewObj.media === obj.media &&\n\t\t\t\tnewObj.sourceMap === obj.sourceMap\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdate(obj = newObj);\n\t\t} else {\n\t\t\tremove();\n\t\t}\n\t};\n}\n\nvar replaceText = (function () {\n\tvar textStore = [];\n\n\treturn function (index, replacement) {\n\t\ttextStore[index] = replacement;\n\n\t\treturn textStore.filter(Boolean).join('\\n');\n\t};\n})();\n\nfunction applyToSingletonTag (style, index, remove, obj) {\n\tvar css = remove ? \"\" : obj.css;\n\n\tif (style.styleSheet) {\n\t\tstyle.styleSheet.cssText = replaceText(index, css);\n\t} else {\n\t\tvar cssNode = document.createTextNode(css);\n\t\tvar childNodes = style.childNodes;\n\n\t\tif (childNodes[index]) style.removeChild(childNodes[index]);\n\n\t\tif (childNodes.length) {\n\t\t\tstyle.insertBefore(cssNode, childNodes[index]);\n\t\t} else {\n\t\t\tstyle.appendChild(cssNode);\n\t\t}\n\t}\n}\n\nfunction applyToTag (style, obj) {\n\tvar css = obj.css;\n\tvar media = obj.media;\n\n\tif(media) {\n\t\tstyle.setAttribute(\"media\", media)\n\t}\n\n\tif(style.styleSheet) {\n\t\tstyle.styleSheet.cssText = css;\n\t} else {\n\t\twhile(style.firstChild) {\n\t\t\tstyle.removeChild(style.firstChild);\n\t\t}\n\n\t\tstyle.appendChild(document.createTextNode(css));\n\t}\n}\n\nfunction updateLink (link, options, obj) {\n\tvar css = obj.css;\n\tvar sourceMap = obj.sourceMap;\n\n\t/*\n\t\tIf convertToAbsoluteUrls isn't defined, but sourcemaps are enabled\n\t\tand there is no publicPath defined then lets turn convertToAbsoluteUrls\n\t\ton by default. Otherwise default to the convertToAbsoluteUrls option\n\t\tdirectly\n\t*/\n\tvar autoFixUrls = options.convertToAbsoluteUrls === undefined && sourceMap;\n\n\tif (options.convertToAbsoluteUrls || autoFixUrls) {\n\t\tcss = fixUrls(css);\n\t}\n\n\tif (sourceMap) {\n\t\t// http://stackoverflow.com/a/26603875\n\t\tcss += \"\\n/*# sourceMappingURL=data:application/json;base64,\" + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + \" */\";\n\t}\n\n\tvar blob = new Blob([css], { type: \"text/css\" });\n\n\tvar oldSrc = link.href;\n\n\tlink.href = URL.createObjectURL(blob);\n\n\tif(oldSrc) URL.revokeObjectURL(oldSrc);\n}\n","\n/**\n * When source maps are enabled, `style-loader` uses a link element with a data-uri to\n * embed the css on the page. This breaks all relative urls because now they are relative to a\n * bundle instead of the current page.\n *\n * One solution is to only use full urls, but that may be impossible.\n *\n * Instead, this function \"fixes\" the relative urls to be absolute according to the current page location.\n *\n * A rudimentary test suite is located at `test/fixUrls.js` and can be run via the `npm test` command.\n *\n */\n\nmodule.exports = function (css) {\n // get current location\n var location = typeof window !== \"undefined\" && window.location;\n\n if (!location) {\n throw new Error(\"fixUrls requires window.location\");\n }\n\n\t// blank or null?\n\tif (!css || typeof css !== \"string\") {\n\t return css;\n }\n\n var baseUrl = location.protocol + \"//\" + location.host;\n var currentDir = baseUrl + location.pathname.replace(/\\/[^\\/]*$/, \"/\");\n\n\t// convert each url(...)\n\t/*\n\tThis regular expression is just a way to recursively match brackets within\n\ta string.\n\n\t /url\\s*\\( = Match on the word \"url\" with any whitespace after it and then a parens\n\t ( = Start a capturing group\n\t (?: = Start a non-capturing group\n\t [^)(] = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t (?: = Start another non-capturing groups\n\t [^)(]+ = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t [^)(]* = Match anything that isn't a parentheses\n\t \\) = Match a end parentheses\n\t ) = End Group\n *\\) = Match anything and then a close parens\n ) = Close non-capturing group\n * = Match anything\n ) = Close capturing group\n\t \\) = Match a close parens\n\n\t /gi = Get all matches, not the first. Be case insensitive.\n\t */\n\tvar fixedCss = css.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi, function(fullMatch, origUrl) {\n\t\t// strip quotes (if they exist)\n\t\tvar unquotedOrigUrl = origUrl\n\t\t\t.trim()\n\t\t\t.replace(/^\"(.*)\"$/, function(o, $1){ return $1; })\n\t\t\t.replace(/^'(.*)'$/, function(o, $1){ return $1; });\n\n\t\t// already a full url? no change\n\t\tif (/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/|\\s*$)/i.test(unquotedOrigUrl)) {\n\t\t return fullMatch;\n\t\t}\n\n\t\t// convert the url to a full url\n\t\tvar newUrl;\n\n\t\tif (unquotedOrigUrl.indexOf(\"//\") === 0) {\n\t\t \t//TODO: should we add protocol?\n\t\t\tnewUrl = unquotedOrigUrl;\n\t\t} else if (unquotedOrigUrl.indexOf(\"/\") === 0) {\n\t\t\t// path should be relative to the base url\n\t\t\tnewUrl = baseUrl + unquotedOrigUrl; // already starts with '/'\n\t\t} else {\n\t\t\t// path should be relative to current directory\n\t\t\tnewUrl = currentDir + unquotedOrigUrl.replace(/^\\.\\//, \"\"); // Strip leading './'\n\t\t}\n\n\t\t// send back the fixed url(...)\n\t\treturn \"url(\" + JSON.stringify(newUrl) + \")\";\n\t});\n\n\t// send back the fixed css\n\treturn fixedCss;\n};\n"],"sourceRoot":""} \ No newline at end of file
diff --git a/core/js/systemtags/merged-systemtags.js b/core/js/systemtags/merged-systemtags.js
new file mode 100644
index 00000000000..e17f55ed1de
--- /dev/null
+++ b/core/js/systemtags/merged-systemtags.js
@@ -0,0 +1,8 @@
+import './systemtags.js'
+import './templates.js'
+import './systemtagmodel.js'
+import './systemtagsmappingcollection.js'
+import './systemtagscollection.js'
+import './systemtagsinputfield.js'
+
+import '../../css/systemtags.scss'
diff --git a/core/js/systemtags/merged.json b/core/js/systemtags/merged.json
deleted file mode 100644
index 641858ee2ed..00000000000
--- a/core/js/systemtags/merged.json
+++ /dev/null
@@ -1,8 +0,0 @@
-[
- "systemtags.js",
- "templates.js",
- "systemtagmodel.js",
- "systemtagsmappingcollection.js",
- "systemtagscollection.js",
- "systemtagsinputfield.js"
-]
diff --git a/core/webpack.common.js b/core/webpack.common.js
index e0bac992e5a..651bffaad9f 100644
--- a/core/webpack.common.js
+++ b/core/webpack.common.js
@@ -59,7 +59,8 @@ module.exports = [
},
{
entry: {
- share_backend: path.resolve(__dirname, 'js/merged-share-backend.js')
+ share_backend: path.resolve(__dirname, 'js/merged-share-backend.js'),
+ systemtags: path.resolve(__dirname, 'js/systemtags/merged-systemtags.js')
},
output: {
filename: '[name].js',
@@ -71,7 +72,15 @@ module.exports = [
test: /\.js$/,
loader: 'babel-loader',
exclude: /node_modules/
- }
+ },
+ {
+ test: /\.css$/,
+ use: ['style-loader', 'css-loader']
+ },
+ {
+ test: /\.scss$/,
+ use: ['style-loader', 'css-loader', 'sass-loader']
+ },
]
}
}
diff --git a/package-lock.json b/package-lock.json
index dffae5a46c8..bad2f54cfa8 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1144,7 +1144,13 @@
},
"Select2": {
"version": "git+https://github.com/select2/select2.git#b5f3b2839c48c53f9641d6bb1bccafc5260c7620",
- "from": "git+https://github.com/select2/select2.git#b5f3b2839c48c53f9641d6bb1bccafc5260c7620"
+ "from": "git+https://github.com/select2/select2.git#3.4.8"
+ },
+ "abbrev": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
+ "dev": true
},
"acorn": {
"version": "6.0.7",
@@ -1182,6 +1188,12 @@
"integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=",
"dev": true
},
+ "amdefine": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
+ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
+ "dev": true
+ },
"ansi-regex": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
@@ -1224,6 +1236,16 @@
"integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
"dev": true
},
+ "are-we-there-yet": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
+ "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
+ "dev": true,
+ "requires": {
+ "delegates": "^1.0.0",
+ "readable-stream": "^2.0.6"
+ }
+ },
"arr-diff": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
@@ -1242,12 +1264,27 @@
"integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
"dev": true
},
+ "array-find-index": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
+ "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
+ "dev": true
+ },
"array-unique": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
"integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
"dev": true
},
+ "asn1": {
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
+ "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
+ "dev": true,
+ "requires": {
+ "safer-buffer": "~2.1.0"
+ }
+ },
"asn1.js": {
"version": "4.10.1",
"resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
@@ -1285,6 +1322,12 @@
}
}
},
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true
+ },
"assign-symbols": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
@@ -1302,6 +1345,18 @@
"integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
"dev": true
},
+ "async-foreach": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz",
+ "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=",
+ "dev": true
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
+ "dev": true
+ },
"atob": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
@@ -1313,6 +1368,18 @@
"resolved": "https://registry.npmjs.org/autosize/-/autosize-4.0.2.tgz",
"integrity": "sha512-jnSyH2d+qdfPGpWlcuhGiHmqBJ6g3X+8T+iRwFrHPLVcdoGJE/x6Qicm6aDHfTsbgZKxyV8UU/YB2p4cjKDRRA=="
},
+ "aws-sign2": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
+ "dev": true
+ },
+ "aws4": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
+ "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
+ "dev": true
+ },
"babel-loader": {
"version": "8.0.5",
"resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.5.tgz",
@@ -1400,6 +1467,15 @@
"integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==",
"dev": true
},
+ "bcrypt-pbkdf": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
+ "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
+ "dev": true,
+ "requires": {
+ "tweetnacl": "^0.14.3"
+ }
+ },
"big.js": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
@@ -1412,6 +1488,15 @@
"integrity": "sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw==",
"dev": true
},
+ "block-stream": {
+ "version": "0.0.9",
+ "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
+ "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
+ "dev": true,
+ "requires": {
+ "inherits": "~2.0.0"
+ }
+ },
"bluebird": {
"version": "3.5.3",
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz",
@@ -1584,6 +1669,12 @@
"integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
"dev": true
},
+ "builtin-modules": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
+ "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
+ "dev": true
+ },
"builtin-status-codes": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
@@ -1635,12 +1726,36 @@
"integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==",
"dev": true
},
+ "camelcase-keys": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
+ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
+ "dev": true,
+ "requires": {
+ "camelcase": "^2.0.0",
+ "map-obj": "^1.0.0"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
+ "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
+ "dev": true
+ }
+ }
+ },
"caniuse-lite": {
"version": "1.0.30000930",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000930.tgz",
"integrity": "sha512-KD+pw9DderBLB8CGqBzYyFWpnrPVOEjsjargU/CvkNyg60od3cxSPTcTeMPhxJhDbkQPWvOz5BAyBzNl/St9vg==",
"dev": true
},
+ "caseless": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
+ "dev": true
+ },
"chalk": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
@@ -1761,6 +1876,18 @@
"wrap-ansi": "^2.0.0"
}
},
+ "clone-deep": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz",
+ "integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==",
+ "dev": true,
+ "requires": {
+ "for-own": "^1.0.0",
+ "is-plain-object": "^2.0.4",
+ "kind-of": "^6.0.0",
+ "shallow-clone": "^1.0.0"
+ }
+ },
"code-point-at": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
@@ -1797,6 +1924,15 @@
"resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
"integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs="
},
+ "combined-stream": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz",
+ "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==",
+ "dev": true,
+ "requires": {
+ "delayed-stream": "~1.0.0"
+ }
+ },
"commander": {
"version": "2.17.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz",
@@ -1841,6 +1977,12 @@
"date-now": "^0.1.4"
}
},
+ "console-control-strings": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
+ "dev": true
+ },
"constants-browserify": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
@@ -2080,12 +2222,30 @@
"integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=",
"dev": true
},
+ "currently-unhandled": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
+ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
+ "dev": true,
+ "requires": {
+ "array-find-index": "^1.0.1"
+ }
+ },
"cyclist": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz",
"integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=",
"dev": true
},
+ "dashdash": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0"
+ }
+ },
"date-now": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
@@ -2094,7 +2254,7 @@
},
"davclient.js": {
"version": "git+https://github.com/owncloud/davclient.js.git#0e5ef1af5d174d9ec10dbe889a415b8f481d5094",
- "from": "git+https://github.com/owncloud/davclient.js.git#0e5ef1af5d174d9ec10dbe889a415b8f481d5094"
+ "from": "git+https://github.com/owncloud/davclient.js.git#0.1.3"
},
"debug": {
"version": "2.6.9",
@@ -2166,11 +2326,23 @@
}
}
},
+ "delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
+ "dev": true
+ },
"delegate": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz",
"integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw=="
},
+ "delegates": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
+ "dev": true
+ },
"des.js": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
@@ -2221,10 +2393,20 @@
"stream-shift": "^1.0.0"
}
},
+ "ecc-jsbn": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+ "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
+ "dev": true,
+ "requires": {
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.1.0"
+ }
+ },
"ecstatic": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/ecstatic/-/ecstatic-3.3.0.tgz",
- "integrity": "sha512-EblWYTd+wPIAMQ0U4oYJZ7QBypT9ZUIwpqli0bKDjeIIQnXDBK2dXtZ9yzRCOlkW1HkO8gn7/FxLK1yPIW17pw==",
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/ecstatic/-/ecstatic-3.3.1.tgz",
+ "integrity": "sha512-/rrctvxZ78HMI/tPIsqdvFKHHscxR3IJuKrZI2ZoUgkt2SiufyLFBmcco+aqQBIu6P1qBsUNG3drAAGLx80vTQ==",
"requires": {
"he": "^1.1.1",
"mime": "^1.6.0",
@@ -2300,6 +2482,15 @@
"prr": "~1.0.1"
}
},
+ "error-ex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "dev": true,
+ "requires": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
"es-abstract": {
"version": "1.13.0",
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz",
@@ -2460,6 +2651,12 @@
}
}
},
+ "extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+ "dev": true
+ },
"extend-shallow": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
@@ -2546,6 +2743,12 @@
}
}
},
+ "extsprintf": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
+ "dev": true
+ },
"fast-deep-equal": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
@@ -2683,6 +2886,32 @@
"integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
"dev": true
},
+ "for-own": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
+ "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
+ "dev": true,
+ "requires": {
+ "for-in": "^1.0.1"
+ }
+ },
+ "forever-agent": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+ "dev": true
+ },
+ "form-data": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
+ "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
+ "dev": true,
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.6",
+ "mime-types": "^2.1.12"
+ }
+ },
"fragment-cache": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
@@ -3268,18 +3497,98 @@
}
}
},
+ "fstream": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz",
+ "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "inherits": "~2.0.0",
+ "mkdirp": ">=0.5 0",
+ "rimraf": "2"
+ }
+ },
"function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
"dev": true
},
+ "gauge": {
+ "version": "2.7.4",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
+ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
+ "dev": true,
+ "requires": {
+ "aproba": "^1.0.3",
+ "console-control-strings": "^1.0.0",
+ "has-unicode": "^2.0.0",
+ "object-assign": "^4.1.0",
+ "signal-exit": "^3.0.0",
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
+ "wide-align": "^1.1.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ }
+ }
+ },
+ "gaze": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
+ "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
+ "dev": true,
+ "requires": {
+ "globule": "^1.0.0"
+ }
+ },
"get-caller-file": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
"integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
"dev": true
},
+ "get-stdin": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
+ "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
+ "dev": true
+ },
"get-stream": {
"version": "4.1.0",
"resolved": "http://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
@@ -3295,6 +3604,15 @@
"integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
"dev": true
},
+ "getpass": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0"
+ }
+ },
"glob": {
"version": "7.1.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
@@ -3360,6 +3678,17 @@
"integrity": "sha512-5cJVtyXWH8PiJPVLZzzoIizXx944O4OmRro5MWKx5fT4MgcN7OfaMutPeaTdJCCURwbWdhhcCWcKIffPnmTzBg==",
"dev": true
},
+ "globule": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz",
+ "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==",
+ "dev": true,
+ "requires": {
+ "glob": "~7.1.1",
+ "lodash": "~4.17.10",
+ "minimatch": "~3.0.2"
+ }
+ },
"good-listener": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz",
@@ -3387,7 +3716,7 @@
"dependencies": {
"async": {
"version": "2.6.1",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
+ "resolved": "http://registry.npmjs.org/async/-/async-2.6.1.tgz",
"integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
"requires": {
"lodash": "^4.17.10"
@@ -3431,6 +3760,22 @@
}
}
},
+ "har-schema": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+ "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
+ "dev": true
+ },
+ "har-validator": {
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
+ "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
+ "dev": true,
+ "requires": {
+ "ajv": "^6.5.5",
+ "har-schema": "^2.0.0"
+ }
+ },
"has": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
@@ -3440,6 +3785,23 @@
"function-bind": "^1.1.1"
}
},
+ "has-ansi": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ }
+ }
+ },
"has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
@@ -3452,6 +3814,12 @@
"integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
"dev": true
},
+ "has-unicode": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
+ "dev": true
+ },
"has-value": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
@@ -3529,6 +3897,12 @@
"parse-passwd": "^1.0.0"
}
},
+ "hosted-git-info": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz",
+ "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==",
+ "dev": true
+ },
"http-proxy": {
"version": "1.17.0",
"resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz",
@@ -3554,6 +3928,17 @@
"union": "~0.4.3"
}
},
+ "http-signature": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
+ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0",
+ "jsprim": "^1.2.2",
+ "sshpk": "^1.7.0"
+ }
+ },
"https-browserify": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
@@ -3603,6 +3988,21 @@
"integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
"dev": true
},
+ "in-publish": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz",
+ "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=",
+ "dev": true
+ },
+ "indent-string": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
+ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
+ "dev": true,
+ "requires": {
+ "repeating": "^2.0.0"
+ }
+ },
"indexof": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
@@ -3672,6 +4072,12 @@
}
}
},
+ "is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "dev": true
+ },
"is-binary-path": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
@@ -3687,6 +4093,15 @@
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
"dev": true
},
+ "is-builtin-module": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
+ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
+ "dev": true,
+ "requires": {
+ "builtin-modules": "^1.0.0"
+ }
+ },
"is-callable": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
@@ -3750,6 +4165,15 @@
"integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
"dev": true
},
+ "is-finite": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
+ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
"is-fullwidth-code-point": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
@@ -3818,6 +4242,18 @@
"has-symbols": "^1.0.0"
}
},
+ "is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+ "dev": true
+ },
+ "is-utf8": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
+ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
+ "dev": true
+ },
"is-windows": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
@@ -3842,9 +4278,15 @@
"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
"dev": true
},
+ "isstream": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
+ "dev": true
+ },
"jcrop": {
"version": "git+https://github.com/ChristophWurst/Jcrop.git#d4caad5fd7b2d032f05e91b4bc2a6f09dbf7d29e",
- "from": "git+https://github.com/ChristophWurst/Jcrop.git#d4caad5fd7b2d032f05e91b4bc2a6f09dbf7d29e",
+ "from": "git+https://github.com/ChristophWurst/Jcrop.git#v0.9.12-npm",
"requires": {
"http-server": "^0.11.1",
"resize-observer-polyfill": "^1.5.0"
@@ -3865,6 +4307,12 @@
"resolved": "https://registry.npmjs.org/jquery-ui-dist/-/jquery-ui-dist-1.12.1.tgz",
"integrity": "sha1-XAgV08xvkP9fqvWyaKbiO0ypBPo="
},
+ "js-base64": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz",
+ "integrity": "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==",
+ "dev": true
+ },
"js-levenshtein": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz",
@@ -3877,6 +4325,12 @@
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
"dev": true
},
+ "jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+ "dev": true
+ },
"jsesc": {
"version": "2.5.2",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
@@ -3889,18 +4343,42 @@
"integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
"dev": true
},
+ "json-schema": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
+ "dev": true
+ },
"json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
"dev": true
},
+ "json-stringify-safe": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+ "dev": true
+ },
"json5": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
"integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
"dev": true
},
+ "jsprim": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
+ "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.3.0",
+ "json-schema": "0.2.3",
+ "verror": "1.10.0"
+ }
+ },
"jstimezonedetect": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/jstimezonedetect/-/jstimezonedetect-1.0.6.tgz",
@@ -3921,6 +4399,27 @@
"invert-kv": "^2.0.0"
}
},
+ "load-json-file": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^2.2.0",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0",
+ "strip-bom": "^2.0.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ }
+ }
+ },
"loader-runner": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
@@ -3953,6 +4452,30 @@
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
"integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg=="
},
+ "lodash.assign": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
+ "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=",
+ "dev": true
+ },
+ "lodash.clonedeep": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
+ "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
+ "dev": true
+ },
+ "lodash.mergewith": {
+ "version": "4.6.1",
+ "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz",
+ "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==",
+ "dev": true
+ },
+ "lodash.tail": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz",
+ "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=",
+ "dev": true
+ },
"loose-envify": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
@@ -3962,6 +4485,16 @@
"js-tokens": "^3.0.0 || ^4.0.0"
}
},
+ "loud-rejection": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
+ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
+ "dev": true,
+ "requires": {
+ "currently-unhandled": "^0.4.1",
+ "signal-exit": "^3.0.0"
+ }
+ },
"lru-cache": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
@@ -3995,6 +4528,12 @@
"integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
"dev": true
},
+ "map-obj": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
+ "dev": true
+ },
"map-visit": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
@@ -4041,6 +4580,32 @@
"readable-stream": "^2.0.1"
}
},
+ "meow": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
+ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
+ "dev": true,
+ "requires": {
+ "camelcase-keys": "^2.0.0",
+ "decamelize": "^1.1.2",
+ "loud-rejection": "^1.0.0",
+ "map-obj": "^1.0.1",
+ "minimist": "^1.1.3",
+ "normalize-package-data": "^2.3.4",
+ "object-assign": "^4.0.1",
+ "read-pkg-up": "^1.0.1",
+ "redent": "^1.0.0",
+ "trim-newlines": "^1.0.0"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ }
+ }
+ },
"micromatch": {
"version": "3.1.10",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
@@ -4078,6 +4643,21 @@
"integrity": "sha512-ikBcWwyqXQSHKtciCcctu9YfPbFYZ4+gbHEmE0Q8jzcTYQg5dHCr3g2wwAZjPoJfQVXZq6KXAjpXOTf5/cjT7w==",
"dev": true
},
+ "mime-db": {
+ "version": "1.37.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz",
+ "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==",
+ "dev": true
+ },
+ "mime-types": {
+ "version": "2.1.21",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz",
+ "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==",
+ "dev": true,
+ "requires": {
+ "mime-db": "~1.37.0"
+ }
+ },
"mimic-fn": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
@@ -4149,6 +4729,24 @@
}
}
},
+ "mixin-object": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz",
+ "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=",
+ "dev": true,
+ "requires": {
+ "for-in": "^0.1.3",
+ "is-extendable": "^0.1.1"
+ },
+ "dependencies": {
+ "for-in": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz",
+ "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=",
+ "dev": true
+ }
+ }
+ },
"mkdirp": {
"version": "0.5.1",
"resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
@@ -4185,8 +4783,7 @@
"version": "2.12.1",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz",
"integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==",
- "dev": true,
- "optional": true
+ "dev": true
},
"nanomatch": {
"version": "1.2.13",
@@ -4219,6 +4816,34 @@
"integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
"dev": true
},
+ "node-gyp": {
+ "version": "3.8.0",
+ "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz",
+ "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==",
+ "dev": true,
+ "requires": {
+ "fstream": "^1.0.0",
+ "glob": "^7.0.3",
+ "graceful-fs": "^4.1.2",
+ "mkdirp": "^0.5.0",
+ "nopt": "2 || 3",
+ "npmlog": "0 || 1 || 2 || 3 || 4",
+ "osenv": "0",
+ "request": "^2.87.0",
+ "rimraf": "2",
+ "semver": "~5.3.0",
+ "tar": "^2.0.0",
+ "which": "1"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
+ "dev": true
+ }
+ }
+ },
"node-libs-browser": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.0.tgz",
@@ -4267,6 +4892,122 @@
"semver": "^5.3.0"
}
},
+ "node-sass": {
+ "version": "4.11.0",
+ "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.11.0.tgz",
+ "integrity": "sha512-bHUdHTphgQJZaF1LASx0kAviPH7sGlcyNhWade4eVIpFp6tsn7SV8xNMTbsQFpEV9VXpnwTTnNYlfsZXgGgmkA==",
+ "dev": true,
+ "requires": {
+ "async-foreach": "^0.1.3",
+ "chalk": "^1.1.1",
+ "cross-spawn": "^3.0.0",
+ "gaze": "^1.0.0",
+ "get-stdin": "^4.0.1",
+ "glob": "^7.0.3",
+ "in-publish": "^2.0.0",
+ "lodash.assign": "^4.2.0",
+ "lodash.clonedeep": "^4.3.2",
+ "lodash.mergewith": "^4.6.0",
+ "meow": "^3.7.0",
+ "mkdirp": "^0.5.1",
+ "nan": "^2.10.0",
+ "node-gyp": "^3.8.0",
+ "npmlog": "^4.0.0",
+ "request": "^2.88.0",
+ "sass-graph": "^2.2.4",
+ "stdout-stream": "^1.4.0",
+ "true-case-path": "^1.0.2"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ }
+ },
+ "cross-spawn": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz",
+ "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^4.0.1",
+ "which": "^1.2.9"
+ }
+ },
+ "lru-cache": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
+ "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
+ "dev": true,
+ "requires": {
+ "pseudomap": "^1.0.2",
+ "yallist": "^2.1.2"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ },
+ "yallist": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
+ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
+ "dev": true
+ }
+ }
+ },
+ "nopt": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
+ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
+ "dev": true,
+ "requires": {
+ "abbrev": "1"
+ }
+ },
+ "normalize-package-data": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.2.tgz",
+ "integrity": "sha512-YcMnjqeoUckXTPKZSAsPjUPLxH85XotbpqK3w4RyCwdFQSU5FxxBys8buehkSfg0j9fKvV1hn7O0+8reEgkAiw==",
+ "dev": true,
+ "requires": {
+ "hosted-git-info": "^2.1.4",
+ "is-builtin-module": "^1.0.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
+ }
+ },
"normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
@@ -4282,12 +5023,30 @@
"path-key": "^2.0.0"
}
},
+ "npmlog": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
+ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
+ "dev": true,
+ "requires": {
+ "are-we-there-yet": "~1.1.2",
+ "console-control-strings": "~1.1.0",
+ "gauge": "~2.7.3",
+ "set-blocking": "~2.0.0"
+ }
+ },
"number-is-nan": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
"dev": true
},
+ "oauth-sign": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
+ "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
+ "dev": true
+ },
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
@@ -4388,6 +5147,12 @@
"integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
"dev": true
},
+ "os-homedir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+ "dev": true
+ },
"os-locale": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz",
@@ -4399,6 +5164,22 @@
"mem": "^4.0.0"
}
},
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+ "dev": true
+ },
+ "osenv": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
+ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
+ "dev": true,
+ "requires": {
+ "os-homedir": "^1.0.0",
+ "os-tmpdir": "^1.0.0"
+ }
+ },
"p-defer": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
@@ -4472,6 +5253,15 @@
"safe-buffer": "^5.1.1"
}
},
+ "parse-json": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "dev": true,
+ "requires": {
+ "error-ex": "^1.2.0"
+ }
+ },
"parse-passwd": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
@@ -4520,6 +5310,25 @@
"integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
"dev": true
},
+ "path-type": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
+ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ }
+ }
+ },
"pbkdf2": {
"version": "3.0.17",
"resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz",
@@ -4533,12 +5342,33 @@
"sha.js": "^2.4.8"
}
},
+ "performance-now": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
+ "dev": true
+ },
"pify": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
"dev": true
},
+ "pinkie": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
+ "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
+ "dev": true
+ },
+ "pinkie-promise": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+ "dev": true,
+ "requires": {
+ "pinkie": "^2.0.0"
+ }
+ },
"pkg-dir": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
@@ -4696,6 +5526,12 @@
"integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
"dev": true
},
+ "psl": {
+ "version": "1.1.31",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz",
+ "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==",
+ "dev": true
+ },
"public-encrypt": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
@@ -4785,6 +5621,48 @@
"safe-buffer": "^5.1.0"
}
},
+ "read-pkg": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
+ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "^1.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^1.0.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+ "dev": true,
+ "requires": {
+ "find-up": "^1.0.0",
+ "read-pkg": "^1.0.0"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+ "dev": true,
+ "requires": {
+ "path-exists": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "path-exists": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+ "dev": true,
+ "requires": {
+ "pinkie-promise": "^2.0.0"
+ }
+ }
+ }
+ },
"readable-stream": {
"version": "2.3.6",
"resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
@@ -4811,6 +5689,16 @@
"readable-stream": "^2.0.2"
}
},
+ "redent": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
+ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
+ "dev": true,
+ "requires": {
+ "indent-string": "^2.1.0",
+ "strip-indent": "^1.0.1"
+ }
+ },
"regenerate": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
@@ -5091,6 +5979,51 @@
"integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
"dev": true
},
+ "repeating": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
+ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+ "dev": true,
+ "requires": {
+ "is-finite": "^1.0.0"
+ }
+ },
+ "request": {
+ "version": "2.88.0",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
+ "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
+ "dev": true,
+ "requires": {
+ "aws-sign2": "~0.7.0",
+ "aws4": "^1.8.0",
+ "caseless": "~0.12.0",
+ "combined-stream": "~1.0.6",
+ "extend": "~3.0.2",
+ "forever-agent": "~0.6.1",
+ "form-data": "~2.3.2",
+ "har-validator": "~5.1.0",
+ "http-signature": "~1.2.0",
+ "is-typedarray": "~1.0.0",
+ "isstream": "~0.1.2",
+ "json-stringify-safe": "~5.0.1",
+ "mime-types": "~2.1.19",
+ "oauth-sign": "~0.9.0",
+ "performance-now": "^2.1.0",
+ "qs": "~6.5.2",
+ "safe-buffer": "^5.1.2",
+ "tough-cookie": "~2.4.3",
+ "tunnel-agent": "^0.6.0",
+ "uuid": "^3.3.2"
+ },
+ "dependencies": {
+ "qs": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
+ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
+ "dev": true
+ }
+ }
+ },
"require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
@@ -5202,6 +6135,158 @@
"ret": "~0.1.10"
}
},
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "dev": true
+ },
+ "sass-graph": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz",
+ "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=",
+ "dev": true,
+ "requires": {
+ "glob": "^7.0.0",
+ "lodash": "^4.0.0",
+ "scss-tokenizer": "^0.2.3",
+ "yargs": "^7.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "camelcase": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
+ "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
+ "dev": true
+ },
+ "cliui": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+ "dev": true,
+ "requires": {
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
+ "wrap-ansi": "^2.0.0"
+ }
+ },
+ "invert-kv": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
+ "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "lcid": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
+ "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+ "dev": true,
+ "requires": {
+ "invert-kv": "^1.0.0"
+ }
+ },
+ "os-locale": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
+ "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
+ "dev": true,
+ "requires": {
+ "lcid": "^1.0.0"
+ }
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "which-module": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
+ "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
+ "dev": true
+ },
+ "y18n": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
+ "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
+ "dev": true
+ },
+ "yargs": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz",
+ "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=",
+ "dev": true,
+ "requires": {
+ "camelcase": "^3.0.0",
+ "cliui": "^3.2.0",
+ "decamelize": "^1.1.1",
+ "get-caller-file": "^1.0.1",
+ "os-locale": "^1.4.0",
+ "read-pkg-up": "^1.0.1",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^1.0.1",
+ "set-blocking": "^2.0.0",
+ "string-width": "^1.0.2",
+ "which-module": "^1.0.0",
+ "y18n": "^3.2.1",
+ "yargs-parser": "^5.0.0"
+ }
+ },
+ "yargs-parser": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz",
+ "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
+ "dev": true,
+ "requires": {
+ "camelcase": "^3.0.0"
+ }
+ }
+ }
+ },
+ "sass-loader": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.1.0.tgz",
+ "integrity": "sha512-+G+BKGglmZM2GUSfT9TLuEp6tzehHPjAMoRRItOojWIqIGPloVCMhNIQuG639eJ+y033PaGTSjLaTHts8Kw79w==",
+ "dev": true,
+ "requires": {
+ "clone-deep": "^2.0.1",
+ "loader-utils": "^1.0.1",
+ "lodash.tail": "^4.1.1",
+ "neo-async": "^2.5.0",
+ "pify": "^3.0.0",
+ "semver": "^5.5.0"
+ }
+ },
"schema-utils": {
"version": "0.4.7",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz",
@@ -5212,6 +6297,27 @@
"ajv-keywords": "^3.1.0"
}
},
+ "scss-tokenizer": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz",
+ "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=",
+ "dev": true,
+ "requires": {
+ "js-base64": "^2.1.8",
+ "source-map": "^0.4.2"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
+ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
+ "dev": true,
+ "requires": {
+ "amdefine": ">=0.0.4"
+ }
+ }
+ }
+ },
"select": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz",
@@ -5274,6 +6380,25 @@
"safe-buffer": "^5.0.1"
}
},
+ "shallow-clone": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz",
+ "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.1",
+ "kind-of": "^5.0.0",
+ "mixin-object": "^2.0.1"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true
+ }
+ }
+ },
"shebang-command": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
@@ -5456,6 +6581,38 @@
"integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
"dev": true
},
+ "spdx-correct": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
+ "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==",
+ "dev": true,
+ "requires": {
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-exceptions": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
+ "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==",
+ "dev": true
+ },
+ "spdx-expression-parse": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
+ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
+ "dev": true,
+ "requires": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-license-ids": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz",
+ "integrity": "sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g==",
+ "dev": true
+ },
"split-string": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
@@ -5465,6 +6622,23 @@
"extend-shallow": "^3.0.0"
}
},
+ "sshpk": {
+ "version": "1.16.1",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
+ "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
+ "dev": true,
+ "requires": {
+ "asn1": "~0.2.3",
+ "assert-plus": "^1.0.0",
+ "bcrypt-pbkdf": "^1.0.0",
+ "dashdash": "^1.12.0",
+ "ecc-jsbn": "~0.1.1",
+ "getpass": "^0.1.1",
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.0.2",
+ "tweetnacl": "~0.14.0"
+ }
+ },
"ssri": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz",
@@ -5495,6 +6669,15 @@
}
}
},
+ "stdout-stream": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz",
+ "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==",
+ "dev": true,
+ "requires": {
+ "readable-stream": "^2.0.1"
+ }
+ },
"stream-browserify": {
"version": "2.0.2",
"resolved": "http://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
@@ -5566,12 +6749,30 @@
"ansi-regex": "^3.0.0"
}
},
+ "strip-bom": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+ "dev": true,
+ "requires": {
+ "is-utf8": "^0.2.0"
+ }
+ },
"strip-eof": {
"version": "1.0.0",
"resolved": "http://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
"integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
"dev": true
},
+ "strip-indent": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
+ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
+ "dev": true,
+ "requires": {
+ "get-stdin": "^4.0.1"
+ }
+ },
"style-loader": {
"version": "0.23.1",
"resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.23.1.tgz",
@@ -5610,6 +6811,17 @@
"integrity": "sha512-9I2ydhj8Z9veORCw5PRm4u9uebCn0mcCa6scWoNcbZ6dAtoo2618u9UUzxgmsCOreJpqDDuv61LvwofW7hLcBA==",
"dev": true
},
+ "tar": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
+ "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
+ "dev": true,
+ "requires": {
+ "block-stream": "*",
+ "fstream": "^1.0.2",
+ "inherits": "2"
+ }
+ },
"terser": {
"version": "3.16.1",
"resolved": "https://registry.npmjs.org/terser/-/terser-3.16.1.tgz",
@@ -5742,12 +6954,45 @@
"repeat-string": "^1.6.1"
}
},
+ "tough-cookie": {
+ "version": "2.4.3",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
+ "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
+ "dev": true,
+ "requires": {
+ "psl": "^1.1.24",
+ "punycode": "^1.4.1"
+ },
+ "dependencies": {
+ "punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+ "dev": true
+ }
+ }
+ },
+ "trim-newlines": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
+ "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
+ "dev": true
+ },
"trim-right": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
"integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
"dev": true
},
+ "true-case-path": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz",
+ "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.2"
+ }
+ },
"tslib": {
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz",
@@ -5760,6 +7005,21 @@
"integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
"dev": true
},
+ "tunnel-agent": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "tweetnacl": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+ "dev": true
+ },
"typedarray": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
@@ -6017,12 +7277,39 @@
"object.getownpropertydescriptors": "^2.0.3"
}
},
+ "uuid": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
+ "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
+ "dev": true
+ },
"v8-compile-cache": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz",
"integrity": "sha512-1wFuMUIM16MDJRCrpbpuEPTUGmM5QMUg0cr3KFwra2XgOgFcPGDQHDh3CszSCD2Zewc/dh/pamNEW8CbfDebUw==",
"dev": true
},
+ "validate-npm-package-license": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
+ "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
+ "dev": true,
+ "requires": {
+ "spdx-correct": "^3.0.0",
+ "spdx-expression-parse": "^3.0.0"
+ }
+ },
+ "verror": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "^1.2.0"
+ }
+ },
"vm-browserify": {
"version": "0.0.4",
"resolved": "http://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz",
@@ -6136,6 +7423,15 @@
"integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
"dev": true
},
+ "wide-align": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
+ "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
+ "dev": true,
+ "requires": {
+ "string-width": "^1.0.2 || 2"
+ }
+ },
"wordwrap": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
diff --git a/package.json b/package.json
index 0c3c273ce8c..7f0f85a8035 100644
--- a/package.json
+++ b/package.json
@@ -50,6 +50,8 @@
"css-loader": "^2.1.0",
"exports-loader": "^0.7.0",
"handlebars-loader": "^1.7.1",
+ "node-sass": "^4.11.0",
+ "sass-loader": "^7.1.0",
"style-loader": "^0.23.1",
"url-loader": "^1.1.2",
"webpack": "^4.29.1",