diff --git a/dist/grapes.min.js b/dist/grapes.min.js index fff2d1b07..1a2f6096c 100644 --- a/dist/grapes.min.js +++ b/dist/grapes.min.js @@ -1,3 +1,3 @@ -/*! grapesjs - 0.18.4 */ -!function(t,e){'object'==typeof exports&&'object'==typeof module?module.exports=e():'function'==typeof define&&define.amd?define([],e):'object'==typeof exports?exports.grapesjs=e():t.grapesjs=e()}('undefined'!=typeof globalThis?globalThis:'undefined'!=typeof window?window:this,(function(){return(()=>{var t={7757:(t,e,n)=>{t.exports=n(5666)},3410:(t,e,n)=>{var r,i,o;i=[n(9050),n(2316)],r=function(t,e){var n=Array.prototype.slice;function r(t,e,n){return n.length<=4?t.call(e,n[0],n[1],n[2],n[3]):t.apply(e,n)}function i(t,e){return n.call(t,e)}function o(e,n){return null!=e&&(t.isArray(n)||(n=i(arguments,1)),t.all(n,(function(t){return t in e})))}var s=function(){var e=!1,n=-1;function r(){n++,e=!0,t.defer((function(){e=!1}))}return function(){return e||r(),n}}();function a(){this.registeredObjects=[],this.cidIndexes=[]}function l(e,n,r,i){for(var o,s=0,a=n.length;st.maximumStackLength&&(t.shift(),t.pointer--)}}}a.prototype={isRegistered:function(e){return e&&e.cid?this.registeredObjects[e.cid]:t.contains(this.registeredObjects,e)},register:function(t){return!this.isRegistered(t)&&(t&&t.cid?(this.registeredObjects[t.cid]=t,this.cidIndexes.push(t.cid)):this.registeredObjects.push(t),!0)},unregister:function(e){if(this.isRegistered(e)){if(e&&e.cid)delete this.registeredObjects[e.cid],this.cidIndexes.splice(t.indexOf(this.cidIndexes,e.cid),1);else{var n=t.indexOf(this.registeredObjects,e);this.registeredObjects.splice(n,1)}return!0}return!1},get:function(){return t.map(this.cidIndexes,(function(t){return this.registeredObjects[t]}),this).concat(this.registeredObjects)}};var d={add:{undo:function(t,e,n,r){t.remove(n,r)},redo:function(t,e,n,r){r.index&&(r.at=r.index),t.add(n,r)},on:function(e,n,r){return{object:n,before:void 0,after:e,options:t.clone(r)}}},remove:{undo:function(t,e,n,r){"index"in r&&(r.at=r.index),t.add(e,r)},redo:function(t,e,n,r){t.remove(e,r)},on:function(e,n,r){return{object:n,before:e,after:void 0,options:t.clone(r)}}},change:{undo:function(e,n,r,i){t.isEmpty(n)?t.each(t.keys(r),e.unset,e):(e.set(n),i&&i.unsetData&&i.unsetData.before&&i.unsetData.before.length&&t.each(i.unsetData.before,e.unset,e))},redo:function(e,n,r,i){t.isEmpty(r)?t.each(t.keys(n),e.unset,e):(e.set(r),i&&i.unsetData&&i.unsetData.after&&i.unsetData.after.length&&t.each(i.unsetData.after,e.unset,e))},on:function(e,n){var r=e.changedAttributes(),i=t.keys(r),o=t.pick(e.previousAttributes(),i),s=t.keys(o),a=(n||(n={})).unsetData={after:[],before:[]};return i.length!=s.length&&(i.length>s.length?t.each(i,(function(t){t in o||a.before.push(t)}),this):t.each(s,(function(t){t in r||a.after.push(t)}))),{object:e,before:o,after:r,options:t.clone(n)}}},reset:{undo:function(t,e,n){t.reset(e)},redo:function(t,e,n){t.reset(n)},on:function(e,n){return{object:e,before:n.previousModels,after:t.clone(e.models)}}}};function p(){}function g(e,n,r,i){if("object"==typeof n)return t.each(n,(function(t,n){2===e?g(e,t,r,i):g(e,n,t,r)}));switch(e){case 0:o(r,"undo","redo","on")&&t.all(t.pick(r,"undo","redo","on"),t.isFunction)&&(i[n]=r);break;case 1:i[n]&&t.isObject(r)&&(i[n]=t.extend({},i[n],r));break;case 2:delete i[n]}return this}p.prototype=d;var v=e.Model.extend({defaults:{type:null,object:null,before:null,after:null,magicFusionIndex:null},undo:function(t){c("undo",this.attributes)},redo:function(t){c("redo",this.attributes)}}),m=e.Collection.extend({model:v,pointer:-1,track:!1,isCurrentlyUndoRedoing:!1,maximumStackLength:1/0,setMaxLength:function(t){this.maximumStackLength=t}}),y=e.Model.extend({defaults:{maximumStackLength:1/0,track:!1},initialize:function(e){this.stack=new m,this.objectRegistry=new a,this.undoTypes=new p,this.stack.setMaxLength(this.get("maximumStackLength")),this.on("change:maximumStackLength",(function(t,e){this.stack.setMaxLength(e)}),this),e&&e.track&&this.startTracking(),e&&e.register&&(t.isArray(e.register)||t.isArguments(e.register)?r(this.register,this,e.register):this.register(e.register))},startTracking:function(){this.set("track",!0),this.stack.track=!0},stopTracking:function(){this.set("track",!1),this.stack.track=!1},isTracking:function(){return this.get("track")},_addToStack:function(t){f(this.stack,t,i(arguments,1),this.undoTypes)},register:function(){l("on",arguments,this._addToStack,this)},unregister:function(){l("off",arguments,this._addToStack,this)},unregisterAll:function(){r(this.unregister,this,this.objectRegistry.get())},undo:function(t){u("undo",this,this.stack,t)},undoAll:function(){u("undo",this,this.stack,!1,!0)},redo:function(t){u("redo",this,this.stack,t)},redoAll:function(){u("redo",this,this.stack,!1,!0)},isAvailable:function(t){var e=this.stack,n=e.length;switch(t){case"undo":return n>0&&e.pointer>-1;case"redo":return n>0&&e.pointer{var r,i,o;o='object'==typeof self&&self.self===self&&self||'object'==typeof n.g&&n.g.global===n.g&&n.g,r=[n(9050),n(2579),e],i=function(t,e,n){o.Backbone=function(t,e,n,r){var i=t.Backbone,o=Array.prototype.slice;e.VERSION='1.3.3',e.$=r,e.noConflict=function(){return t.Backbone=i,this},e.emulateHTTP=!1,e.emulateJSON=!1;var s=function(t,e,r){switch(t){case 1:return function(){return n[e](this[r])};case 2:return function(t){return n[e](this[r],t)};case 3:return function(t,i){return n[e](this[r],l(t,this),i)};case 4:return function(t,i,o){return n[e](this[r],l(t,this),i,o)};default:return function(){var t=o.call(arguments);return t.unshift(this[r]),n[e].apply(n,t)}}},a=function(t,e,r){n.each(e,(function(e,i){n[i]&&(t.prototype[i]=s(e,i,r))}))},l=function(t,e){return n.isFunction(t)?t:n.isObject(t)&&!e._isModel(t)?c(t):n.isString(t)?function(e){return e.get(t)}:t},c=function(t){var e=n.matches(t);return function(t){return e(t.attributes)}},u=e.Events={},h=/\s+/,f=function(t,e,r,i,o){var s,a=0;if(r&&'object'==typeof r){void 0!==i&&'context'in o&&void 0===o.context&&(o.context=i);for(s=n.keys(r);athis.length&&(i=this.length),i<0&&(i+=this.length+1);var o,s,a=[],l=[],c=[],u=[],h={},f=e.add,d=e.merge,p=e.remove,g=!1,v=this.comparator&&null==i&&!1!==e.sort,m=n.isString(this.comparator)?this.comparator:null;for(s=0;s7),this._useHashChange=this._wantsHashChange&&this._hasHashChange,this._wantsPushState=!!this.options.pushState,this._hasPushState=!(!this.history||!this.history.pushState),this._usePushState=this._wantsPushState&&this._hasPushState,this.fragment=this.getFragment(),this.root=('/'+this.root+'/').replace(R,'/'),this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot()){var e=this.root.slice(0,-1)||'/';return this.location.replace(e+'#'+this.getPath()),!0}this._hasPushState&&this.atRoot()&&this.navigate(this.getHash(),{replace:!0})}if(!this._hasHashChange&&this._wantsHashChange&&!this._usePushState){this.iframe=document.createElement('iframe'),this.iframe.src='javascript:0',this.iframe.style.display='none',this.iframe.tabIndex=-1;var r=document.body,i=r.insertBefore(this.iframe,r.firstChild).contentWindow;i.document.open(),i.document.close(),i.location.hash='#'+this.fragment}var o=window.addEventListener||function(t,e){return attachEvent('on'+t,e)};if(this._usePushState?o('popstate',this.checkUrl,!1):this._useHashChange&&!this.iframe?o('hashchange',this.checkUrl,!1):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),!this.options.silent)return this.loadUrl()},stop:function(){var t=window.removeEventListener||function(t,e){return detachEvent('on'+t,e)};this._usePushState?t('popstate',this.checkUrl,!1):this._useHashChange&&!this.iframe&&t('hashchange',this.checkUrl,!1),this.iframe&&(document.body.removeChild(this.iframe),this.iframe=null),this._checkUrlInterval&&clearInterval(this._checkUrlInterval),A.started=!1},route:function(t,e){this.handlers.unshift({route:t,callback:e})},checkUrl:function(t){var e=this.getFragment();if(e===this.fragment&&this.iframe&&(e=this.getHash(this.iframe.contentWindow)),e===this.fragment)return!1;this.iframe&&this.navigate(e),this.loadUrl()},loadUrl:function(t){return!!this.matchRoot()&&(t=this.fragment=this.getFragment(t),n.some(this.handlers,(function(e){if(e.route.test(t))return e.callback(t),!0})))},navigate:function(t,e){if(!A.started)return!1;e&&!0!==e||(e={trigger:!!e}),t=this.getFragment(t||'');var n=this.root;''!==t&&'?'!==t.charAt(0)||(n=n.slice(0,-1)||'/');var r=n+t;if(t=this.decodeFragment(t.replace(N,'')),this.fragment!==t){if(this.fragment=t,this._usePushState)this.history[e.replace?'replaceState':'pushState']({},document.title,r);else{if(!this._wantsHashChange)return this.location.assign(r);if(this._updateHash(this.location,t,e.replace),this.iframe&&t!==this.getHash(this.iframe.contentWindow)){var i=this.iframe.contentWindow;e.replace||(i.document.open(),i.document.close()),this._updateHash(i.location,t,e.replace)}}return e.trigger?this.loadUrl(t):void 0}},_updateHash:function(t,e,n){if(n){var r=t.href.replace(/(javascript:|#).*$/,'');t.replace(r+'#'+e)}else t.hash='#'+e}}),e.history=new A;var Z=function(t,e){var r,i=this;return r=t&&n.has(t,'constructor')?t.constructor:function(){return i.apply(this,arguments)},n.extend(r,i,e),r.prototype=n.create(i.prototype,t),r.prototype.constructor=r,r.__super__=i.prototype,r};b.extend=w.extend=T.extend=k.extend=A.extend=Z;var I=function(){throw new Error('A "url" property or function must be specified')},F=function(t,e){var n=e.error;e.error=function(r){n&&n.call(e.context,t,r,e),t.trigger('error',t,r,e)}};return e}(o,n,t,e)}.apply(e,r),void 0===i||(t.exports=i)},9210:(t,e,n)=>{!function(t){t.extendMode("css",{commentStart:"/*",commentEnd:"*/",newlineAfterToken:function(t,e){return/^[;{}]$/.test(e)}}),t.extendMode("javascript",{commentStart:"/*",commentEnd:"*/",newlineAfterToken:function(t,e,n,r){return this.jsonMode?/^[\[,{]$/.test(e)||/^}/.test(n):(";"!=e||!r.lexical||")"!=r.lexical.type)&&/^[;{}]$/.test(e)&&!/^;/.test(n)}});var e=/^(a|abbr|acronym|area|base|bdo|big|br|button|caption|cite|code|col|colgroup|dd|del|dfn|em|frame|hr|iframe|img|input|ins|kbd|label|legend|link|map|object|optgroup|option|param|q|samp|script|select|small|span|strong|sub|sup|textarea|tt|var)$/;t.extendMode("xml",{commentStart:"\x3c!--",commentEnd:"--\x3e",newlineAfterToken:function(t,n,r,i){var o=!1;return"html"==this.configuration&&(o=!!i.context&&e.test(i.context.tagName)),!o&&("tag"==t&&/>$/.test(n)&&i.context||/^-1&&a>-1&&a>s&&(t=t.substr(0,s)+t.substring(s+o.commentStart.length,a)+t.substr(a+o.commentEnd.length)),i.replaceRange(t,n,r)}}))})),t.defineExtension("autoIndentRange",(function(t,e){var n=this;this.operation((function(){for(var r=t.line;r<=e.line;r++)n.indentLine(r,"smart")}))})),t.defineExtension("autoFormatRange",(function(e,n){var r=this,i=r.getMode(),o=r.getRange(e,n).split("\n"),s=t.copyState(i,r.getTokenAt(e).state),a=r.getOption("tabSize"),l="",c=0,u=0===e.ch;function h(){l+="\n",u=!0,++c}for(var f=0;f2),v=/Android/.test(t),m=g||v||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(t),y=g||/Mac/.test(e),b=/\bCrOS\b/.test(t),w=/win/i.test(e),x=h&&t.match(/Version\/(\d*\.\d*)/);x&&(x=Number(x[1])),x&&x>=15&&(h=!1,l=!0);var O=y&&(c||h&&(null==x||x<12.11)),C=n||s&&a>=9;function k(t){return new RegExp("(^|\\s)"+t+"(?:$|\\s)\\s*")}var S,P=function(t,e){var n=t.className,r=k(e).exec(n);if(r){var i=n.slice(r.index+r[0].length);t.className=n.slice(0,r.index)+(i?r[1]+i:"")}};function _(t){for(var e=t.childNodes.length;e>0;--e)t.removeChild(t.firstChild);return t}function T(t,e){return _(t).appendChild(e)}function E(t,e,n,r){var i=document.createElement(t);if(n&&(i.className=n),r&&(i.style.cssText=r),"string"==typeof e)i.appendChild(document.createTextNode(e));else if(e)for(var o=0;o=e)return s+(e-o);s+=a-o,s+=n-s%n,o=a+1}}g?R=function(t){t.selectionStart=0,t.selectionEnd=t.value.length}:s&&(R=function(t){try{t.select()}catch(t){}});var F=function(){this.id=null,this.f=null,this.time=0,this.handler=N(this.onTimeout,this)};function V(t,e){for(var n=0;n=e)return r+Math.min(s,e-i);if(i+=o-r,r=o+1,(i+=n-i%n)>=e)return r}}var q=[""];function G(t){for(;q.length<=t;)q.push(K(q)+" ");return q[t]}function K(t){return t[t.length-1]}function Y(t,e){for(var n=[],r=0;r"€"&&(t.toUpperCase()!=t.toLowerCase()||tt.test(t))}function nt(t,e){return e?!!(e.source.indexOf("\\w")>-1&&et(t))||e.test(t):et(t)}function rt(t){for(var e in t)if(t.hasOwnProperty(e)&&t[e])return!1;return!0}var it=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function ot(t){return t.charCodeAt(0)>=768&&it.test(t)}function st(t,e,n){for(;(n<0?e>0:en?-1:1;;){if(e==n)return e;var i=(e+n)/2,o=r<0?Math.ceil(i):Math.floor(i);if(o==e)return t(o)?e:n;t(o)?n=o:e=o+r}}function lt(t,e,n,r){if(!t)return r(e,n,"ltr",0);for(var i=!1,o=0;oe||e==n&&s.to==e)&&(r(Math.max(s.from,e),Math.min(s.to,n),1==s.level?"rtl":"ltr",o),i=!0)}i||r(e,n,"ltr")}var ct=null;function ut(t,e,n){var r;ct=null;for(var i=0;ie)return i;o.to==e&&(o.from!=o.to&&"before"==n?r=i:ct=i),o.from==e&&(o.from!=o.to&&"before"!=n?r=i:ct=i)}return null!=r?r:ct}var ht=function(){var t="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",e="nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111";function n(n){return n<=247?t.charAt(n):1424<=n&&n<=1524?"R":1536<=n&&n<=1785?e.charAt(n-1536):1774<=n&&n<=2220?"r":8192<=n&&n<=8203?"w":8204==n?"b":"L"}var r=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,i=/[stwN]/,o=/[LRr]/,s=/[Lb1n]/,a=/[1n]/;function l(t,e,n){this.level=t,this.from=e,this.to=n}return function(t,e){var c="ltr"==e?"L":"R";if(0==t.length||"ltr"==e&&!r.test(t))return!1;for(var u=t.length,h=[],f=0;f-1&&(r[e]=i.slice(0,o).concat(i.slice(o+1)))}}}function mt(t,e){var n=gt(t,e);if(n.length)for(var r=Array.prototype.slice.call(arguments,2),i=0;i0}function xt(t){t.prototype.on=function(t,e){pt(this,t,e)},t.prototype.off=function(t,e){vt(this,t,e)}}function Ot(t){t.preventDefault?t.preventDefault():t.returnValue=!1}function Ct(t){t.stopPropagation?t.stopPropagation():t.cancelBubble=!0}function kt(t){return null!=t.defaultPrevented?t.defaultPrevented:0==t.returnValue}function St(t){Ot(t),Ct(t)}function Pt(t){return t.target||t.srcElement}function _t(t){var e=t.which;return null==e&&(1&t.button?e=1:2&t.button?e=3:4&t.button&&(e=2)),y&&t.ctrlKey&&1==e&&(e=3),e}var Tt,Et,jt=function(){if(s&&a<9)return!1;var t=E('div');return"draggable"in t||"dragDrop"in t}();function Dt(t){if(null==Tt){var e=E("span","​");T(t,E("span",[e,document.createTextNode("x")])),0!=t.firstChild.offsetHeight&&(Tt=e.offsetWidth<=1&&e.offsetHeight>2&&!(s&&a<8))}var n=Tt?E("span","​"):E("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");return n.setAttribute("cm-text",""),n}function Mt(t){if(null!=Et)return Et;var e=T(t,document.createTextNode("AخA")),n=S(e,0,1).getBoundingClientRect(),r=S(e,1,2).getBoundingClientRect();return _(t),!(!n||n.left==n.right)&&(Et=r.right-n.right<3)}var At,Lt=3!="\n\nb".split(/\n/).length?function(t){for(var e=0,n=[],r=t.length;e<=r;){var i=t.indexOf("\n",e);-1==i&&(i=t.length);var o=t.slice(e,"\r"==t.charAt(i-1)?i-1:i),s=o.indexOf("\r");-1!=s?(n.push(o.slice(0,s)),e+=s+1):(n.push(o),e=i+1)}return n}:function(t){return t.split(/\r\n?|\n/)},Rt=window.getSelection?function(t){try{return t.selectionStart!=t.selectionEnd}catch(t){return!1}}:function(t){var e;try{e=t.ownerDocument.selection.createRange()}catch(t){}return!(!e||e.parentElement()!=t)&&0!=e.compareEndPoints("StartToEnd",e)},Nt="oncopy"in(At=E("div"))||(At.setAttribute("oncopy","return;"),"function"==typeof At.oncopy),Zt=null;function It(t){if(null!=Zt)return Zt;var e=T(t,E("span","x")),n=e.getBoundingClientRect(),r=S(e,0,1).getBoundingClientRect();return Zt=Math.abs(n.left-r.left)>1}var Ft={},Vt={};function Ht(t,e){arguments.length>2&&(e.dependencies=Array.prototype.slice.call(arguments,2)),Ft[t]=e}function Bt(t,e){Vt[t]=e}function zt(t){if("string"==typeof t&&Vt.hasOwnProperty(t))t=Vt[t];else if(t&&"string"==typeof t.name&&Vt.hasOwnProperty(t.name)){var e=Vt[t.name];"string"==typeof e&&(e={name:e}),(t=Q(e,t)).name=e.name}else{if("string"==typeof t&&/^[\w\-]+\/[\w\-]+\+xml$/.test(t))return zt("application/xml");if("string"==typeof t&&/^[\w\-]+\/[\w\-]+\+json$/.test(t))return zt("application/json")}return"string"==typeof t?{name:t}:t||{name:"null"}}function Ut(t,e){e=zt(e);var n=Ft[e.name];if(!n)return Ut(t,"text/plain");var r=n(t,e);if(Wt.hasOwnProperty(e.name)){var i=Wt[e.name];for(var o in i)i.hasOwnProperty(o)&&(r.hasOwnProperty(o)&&(r["_"+o]=r[o]),r[o]=i[o])}if(r.name=e.name,e.helperType&&(r.helperType=e.helperType),e.modeProps)for(var s in e.modeProps)r[s]=e.modeProps[s];return r}var Wt={};function $t(t,e){Z(e,Wt.hasOwnProperty(t)?Wt[t]:Wt[t]={})}function qt(t,e){if(!0===e)return e;if(t.copyState)return t.copyState(e);var n={};for(var r in e){var i=e[r];i instanceof Array&&(i=i.concat([])),n[r]=i}return n}function Gt(t,e){for(var n;t.innerMode&&(n=t.innerMode(e))&&n.mode!=t;)e=n.state,t=n.mode;return n||{mode:t,state:e}}function Kt(t,e,n){return!t.startState||t.startState(e,n)}var Yt=function(t,e,n){this.pos=this.start=0,this.string=t,this.tabSize=e||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=n};function Jt(t,e){if((e-=t.first)<0||e>=t.size)throw new Error("There is no line "+(e+t.first)+" in the document.");for(var n=t;!n.lines;)for(var r=0;;++r){var i=n.children[r],o=i.chunkSize();if(e=t.first&&en?oe(n,Jt(t,n).text.length):de(e,Jt(t,e.line).text.length)}function de(t,e){var n=t.ch;return null==n||n>e?oe(t.line,e):n<0?oe(t.line,0):t}function pe(t,e){for(var n=[],r=0;r=this.string.length},Yt.prototype.sol=function(){return this.pos==this.lineStart},Yt.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},Yt.prototype.next=function(){if(this.pose},Yt.prototype.eatSpace=function(){for(var t=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>t},Yt.prototype.skipToEnd=function(){this.pos=this.string.length},Yt.prototype.skipTo=function(t){var e=this.string.indexOf(t,this.pos);if(e>-1)return this.pos=e,!0},Yt.prototype.backUp=function(t){this.pos-=t},Yt.prototype.column=function(){return this.lastColumnPos0?null:(r&&!1!==e&&(this.pos+=r[0].length),r)}var i=function(t){return n?t.toLowerCase():t};if(i(this.string.substr(this.pos,t.length))==i(t))return!1!==e&&(this.pos+=t.length),!0},Yt.prototype.current=function(){return this.string.slice(this.start,this.pos)},Yt.prototype.hideFirstChars=function(t,e){this.lineStart+=t;try{return e()}finally{this.lineStart-=t}},Yt.prototype.lookAhead=function(t){var e=this.lineOracle;return e&&e.lookAhead(t)},Yt.prototype.baseToken=function(){var t=this.lineOracle;return t&&t.baseToken(this.pos)};var ge=function(t,e){this.state=t,this.lookAhead=e},ve=function(t,e,n,r){this.state=e,this.doc=t,this.line=n,this.maxLookAhead=r||0,this.baseTokens=null,this.baseTokenPos=1};function me(t,e,n,r){var i=[t.state.modeGen],o={};Pe(t,e.text,t.doc.mode,n,(function(t,e){return i.push(t,e)}),o,r);for(var s=n.state,a=function(r){n.baseTokens=i;var a=t.state.overlays[r],l=1,c=0;n.state=!0,Pe(t,e.text,a.mode,n,(function(t,e){for(var n=l;ct&&i.splice(l,1,t,i[l+1],r),l+=2,c=Math.min(t,r)}if(e)if(a.opaque)i.splice(n,l-n,t,"overlay "+e),l=n+2;else for(;nt.options.maxHighlightLength&&qt(t.doc.mode,r.state),o=me(t,e,r);i&&(r.state=i),e.stateAfter=r.save(!i),e.styles=o.styles,o.classes?e.styleClasses=o.classes:e.styleClasses&&(e.styleClasses=null),n===t.doc.highlightFrontier&&(t.doc.modeFrontier=Math.max(t.doc.modeFrontier,++t.doc.highlightFrontier))}return e.styles}function be(t,e,n){var r=t.doc,i=t.display;if(!r.mode.startState)return new ve(r,!0,e);var o=_e(t,e,n),s=o>r.first&&Jt(r,o-1).stateAfter,a=s?ve.fromSaved(r,s,o):new ve(r,Kt(r.mode),o);return r.iter(o,e,(function(n){we(t,n.text,a);var r=a.line;n.stateAfter=r==e-1||r%5==0||r>=i.viewFrom&&re.start)return o}throw new Error("Mode "+t.name+" failed to advance stream.")}ve.prototype.lookAhead=function(t){var e=this.doc.getLine(this.line+t);return null!=e&&t>this.maxLookAhead&&(this.maxLookAhead=t),e},ve.prototype.baseToken=function(t){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=t;)this.baseTokenPos+=2;var e=this.baseTokens[this.baseTokenPos+1];return{type:e&&e.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-t}},ve.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},ve.fromSaved=function(t,e,n){return e instanceof ge?new ve(t,qt(t.mode,e.state),n,e.lookAhead):new ve(t,qt(t.mode,e),n)},ve.prototype.save=function(t){var e=!1!==t?qt(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new ge(e,this.maxLookAhead):e};var Ce=function(t,e,n){this.start=t.start,this.end=t.pos,this.string=t.current(),this.type=e||null,this.state=n};function ke(t,e,n,r){var i,o,s=t.doc,a=s.mode,l=Jt(s,(e=fe(s,e)).line),c=be(t,e.line,n),u=new Yt(l.text,t.options.tabSize,c);for(r&&(o=[]);(r||u.post.options.maxHighlightLength?(a=!1,s&&we(t,e,r,h.pos),h.pos=e.length,l=null):l=Se(Oe(n,h,r.state,f),o),f){var d=f[0].name;d&&(l="m-"+(l?d+" "+l:d))}if(!a||u!=l){for(;cs;--a){if(a<=o.first)return o.first;var l=Jt(o,a-1),c=l.stateAfter;if(c&&(!n||a+(c instanceof ge?c.lookAhead:0)<=o.modeFrontier))return a;var u=I(l.text,null,t.options.tabSize);(null==i||r>u)&&(i=a-1,r=u)}return i}function Te(t,e){if(t.modeFrontier=Math.min(t.modeFrontier,e),!(t.highlightFrontiern;r--){var i=Jt(t,r).stateAfter;if(i&&(!(i instanceof ge)||r+i.lookAhead=e:o.to>e);(r||(r=[])).push(new Ae(s,o.from,a?null:o.to))}}return r}function Ie(t,e,n){var r;if(t)for(var i=0;i=e:o.to>e)||o.from==e&&"bookmark"==s.type&&(!n||o.marker.insertLeft)){var a=null==o.from||(s.inclusiveLeft?o.from<=e:o.from0&&a)for(var b=0;b0)){var u=[l,1],h=se(c.from,a.from),f=se(c.to,a.to);(h<0||!s.inclusiveLeft&&!h)&&u.push({from:c.from,to:a.from}),(f>0||!s.inclusiveRight&&!f)&&u.push({from:a.to,to:c.to}),i.splice.apply(i,u),l+=u.length-3}}return i}function Be(t){var e=t.markedSpans;if(e){for(var n=0;ne)&&(!n||$e(n,o.marker)<0)&&(n=o.marker)}return n}function Je(t,e,n,r,i){var o=Jt(t,e),s=je&&o.markedSpans;if(s)for(var a=0;a=0&&h<=0||u<=0&&h>=0)&&(u<=0&&(l.marker.inclusiveRight&&i.inclusiveLeft?se(c.to,n)>=0:se(c.to,n)>0)||u>=0&&(l.marker.inclusiveRight&&i.inclusiveLeft?se(c.from,r)<=0:se(c.from,r)<0)))return!0}}}function Xe(t){for(var e;e=Ge(t);)t=e.find(-1,!0).line;return t}function Qe(t){for(var e;e=Ke(t);)t=e.find(1,!0).line;return t}function tn(t){for(var e,n;e=Ke(t);)t=e.find(1,!0).line,(n||(n=[])).push(t);return n}function en(t,e){var n=Jt(t,e),r=Xe(n);return n==r?e:ee(r)}function nn(t,e){if(e>t.lastLine())return e;var n,r=Jt(t,e);if(!rn(t,r))return e;for(;n=Ke(r);)r=n.find(1,!0).line;return ee(r)+1}function rn(t,e){var n=je&&e.markedSpans;if(n)for(var r=void 0,i=0;ie.maxLineLength&&(e.maxLineLength=n,e.maxLine=t)}))}var cn=function(t,e,n){this.text=t,ze(this,e),this.height=n?n(this):1};function un(t,e,n,r){t.text=e,t.stateAfter&&(t.stateAfter=null),t.styles&&(t.styles=null),null!=t.order&&(t.order=null),Be(t),ze(t,n);var i=r?r(t):1;i!=t.height&&te(t,i)}function hn(t){t.parent=null,Be(t)}cn.prototype.lineNo=function(){return ee(this)},xt(cn);var fn={},dn={};function pn(t,e){if(!t||/^\s*$/.test(t))return null;var n=e.addModeClass?dn:fn;return n[t]||(n[t]=t.replace(/\S+/g,"cm-$&"))}function gn(t,e){var n=j("span",null,null,l?"padding-right: .1px":null),r={pre:j("pre",[n],"CodeMirror-line"),content:n,col:0,pos:0,cm:t,trailingSpace:!1,splitSpaces:t.getOption("lineWrapping")};e.measure={};for(var i=0;i<=(e.rest?e.rest.length:0);i++){var o=i?e.rest[i-1]:e.line,s=void 0;r.pos=0,r.addToken=mn,Mt(t.display.measure)&&(s=ft(o,t.doc.direction))&&(r.addToken=bn(r.addToken,s)),r.map=[],xn(o,r,ye(t,o,e!=t.display.externalMeasured&&ee(o))),o.styleClasses&&(o.styleClasses.bgClass&&(r.bgClass=L(o.styleClasses.bgClass,r.bgClass||"")),o.styleClasses.textClass&&(r.textClass=L(o.styleClasses.textClass,r.textClass||""))),0==r.map.length&&r.map.push(0,0,r.content.appendChild(Dt(t.display.measure))),0==i?(e.measure.map=r.map,e.measure.cache={}):((e.measure.maps||(e.measure.maps=[])).push(r.map),(e.measure.caches||(e.measure.caches=[])).push({}))}if(l){var a=r.content.lastChild;(/\bcm-tab\b/.test(a.className)||a.querySelector&&a.querySelector(".cm-tab"))&&(r.content.className="cm-tab-wrap-hack")}return mt(t,"renderLine",t,e.line,r.pre),r.pre.className&&(r.textClass=L(r.pre.className,r.textClass||"")),r}function vn(t){var e=E("span","•","cm-invalidchar");return e.title="\\u"+t.charCodeAt(0).toString(16),e.setAttribute("aria-label",e.title),e}function mn(t,e,n,r,i,o,l){if(e){var c,u=t.splitSpaces?yn(e,t.trailingSpace):e,h=t.cm.state.specialChars,f=!1;if(h.test(e)){c=document.createDocumentFragment();for(var d=0;;){h.lastIndex=d;var p=h.exec(e),g=p?p.index-d:e.length-d;if(g){var v=document.createTextNode(u.slice(d,d+g));s&&a<9?c.appendChild(E("span",[v])):c.appendChild(v),t.map.push(t.pos,t.pos+g,v),t.col+=g,t.pos+=g}if(!p)break;d+=g+1;var m=void 0;if("\t"==p[0]){var y=t.cm.options.tabSize,b=y-t.col%y;(m=c.appendChild(E("span",G(b),"cm-tab"))).setAttribute("role","presentation"),m.setAttribute("cm-text","\t"),t.col+=b}else"\r"==p[0]||"\n"==p[0]?((m=c.appendChild(E("span","\r"==p[0]?"␍":"␤","cm-invalidchar"))).setAttribute("cm-text",p[0]),t.col+=1):((m=t.cm.options.specialCharPlaceholder(p[0])).setAttribute("cm-text",p[0]),s&&a<9?c.appendChild(E("span",[m])):c.appendChild(m),t.col+=1);t.map.push(t.pos,t.pos+1,m),t.pos++}}else t.col+=e.length,c=document.createTextNode(u),t.map.push(t.pos,t.pos+e.length,c),s&&a<9&&(f=!0),t.pos+=e.length;if(t.trailingSpace=32==u.charCodeAt(e.length-1),n||r||i||f||o||l){var w=n||"";r&&(w+=r),i&&(w+=i);var x=E("span",[c],w,o);if(l)for(var O in l)l.hasOwnProperty(O)&&"style"!=O&&"class"!=O&&x.setAttribute(O,l[O]);return t.content.appendChild(x)}t.content.appendChild(c)}}function yn(t,e){if(t.length>1&&!/ /.test(t))return t;for(var n=e,r="",i=0;ic&&h.from<=c);f++);if(h.to>=u)return t(n,r,i,o,s,a,l);t(n,r.slice(0,h.to-c),i,o,null,a,l),o=null,r=r.slice(h.to-c),c=h.to}}}function wn(t,e,n,r){var i=!r&&n.widgetNode;i&&t.map.push(t.pos,t.pos+e,i),!r&&t.cm.display.input.needsContentAttribute&&(i||(i=t.content.appendChild(document.createElement("span"))),i.setAttribute("cm-marker",n.id)),i&&(t.cm.display.input.setUneditable(i),t.content.appendChild(i)),t.pos+=e,t.trailingSpace=!1}function xn(t,e,n){var r=t.markedSpans,i=t.text,o=0;if(r)for(var s,a,l,c,u,h,f,d=i.length,p=0,g=1,v="",m=0;;){if(m==p){l=c=u=a="",f=null,h=null,m=1/0;for(var y=[],b=void 0,w=0;wp||O.collapsed&&x.to==p&&x.from==p)){if(null!=x.to&&x.to!=p&&m>x.to&&(m=x.to,c=""),O.className&&(l+=" "+O.className),O.css&&(a=(a?a+";":"")+O.css),O.startStyle&&x.from==p&&(u+=" "+O.startStyle),O.endStyle&&x.to==m&&(b||(b=[])).push(O.endStyle,x.to),O.title&&((f||(f={})).title=O.title),O.attributes)for(var C in O.attributes)(f||(f={}))[C]=O.attributes[C];O.collapsed&&(!h||$e(h.marker,O)<0)&&(h=x)}else x.from>p&&m>x.from&&(m=x.from)}if(b)for(var k=0;k=d)break;for(var P=Math.min(d,m);;){if(v){var _=p+v.length;if(!h){var T=_>P?v.slice(0,P-p):v;e.addToken(e,T,s?s+l:l,u,p+T.length==m?c:"",a,f)}if(_>=P){v=v.slice(P-p),p=P;break}p=_,u=""}v=i.slice(o,o=n[g++]),s=pn(n[g++],e.cm.options)}}else for(var E=1;E2&&o.push((l.bottom+c.top)/2-n.top)}}o.push(n.bottom-n.top)}}function Xn(t,e,n){if(t.line==e)return{map:t.measure.map,cache:t.measure.cache};for(var r=0;rn)return{map:t.measure.maps[i],cache:t.measure.caches[i],before:!0}}function Qn(t,e){var n=ee(e=Xe(e)),r=t.display.externalMeasured=new On(t.doc,e,n);r.lineN=n;var i=r.built=gn(t,r);return r.text=i.pre,T(t.display.lineMeasure,i.pre),r}function tr(t,e,n,r){return rr(t,nr(t,e),n,r)}function er(t,e){if(e>=t.display.viewFrom&&e=n.lineN&&ee)&&(i=(o=l-a)-1,e>=l&&(s="right")),null!=i){if(r=t[c+2],a==l&&n==(r.insertLeft?"left":"right")&&(s=n),"left"==n&&0==i)for(;c&&t[c-2]==t[c-3]&&t[c-1].insertLeft;)r=t[2+(c-=3)],s="left";if("right"==n&&i==l-a)for(;c=0&&(n=t[i]).left==n.right;i--);return n}function lr(t,e,n,r){var i,o=sr(e.map,n,r),l=o.node,c=o.start,u=o.end,h=o.collapse;if(3==l.nodeType){for(var f=0;f<4;f++){for(;c&&ot(e.line.text.charAt(o.coverStart+c));)--c;for(;o.coverStart+u0&&(h=r="right"),i=t.options.lineWrapping&&(d=l.getClientRects()).length>1?d["right"==r?d.length-1:0]:l.getBoundingClientRect()}if(s&&a<9&&!c&&(!i||!i.left&&!i.right)){var p=l.parentNode.getClientRects()[0];i=p?{left:p.left,right:p.left+jr(t.display),top:p.top,bottom:p.bottom}:or}for(var g=i.top-e.rect.top,v=i.bottom-e.rect.top,m=(g+v)/2,y=e.view.measure.heights,b=0;b=r.text.length?(l=r.text.length,c="before"):l<=0&&(l=0,c="after"),!a)return s("before"==c?l-1:l,"before"==c);function u(t,e,n){return s(n?t-1:t,1==a[e].level!=n)}var h=ut(a,l,c),f=ct,d=u(l,h,"before"==c);return null!=f&&(d.other=u(l,f,"before"!=c)),d}function wr(t,e){var n=0;e=fe(t.doc,e),t.options.lineWrapping||(n=jr(t.display)*e.ch);var r=Jt(t.doc,e.line),i=sn(r)+Wn(t.display);return{left:n,right:n,top:i,bottom:i+r.height}}function xr(t,e,n,r,i){var o=oe(t,e,n);return o.xRel=i,r&&(o.outside=r),o}function Or(t,e,n){var r=t.doc;if((n+=t.display.viewOffset)<0)return xr(r.first,0,null,-1,-1);var i=ne(r,n),o=r.first+r.size-1;if(i>o)return xr(r.first+r.size-1,Jt(r,o).text.length,null,1,1);e<0&&(e=0);for(var s=Jt(r,i);;){var a=Pr(t,s,i,e,n),l=Ye(s,a.ch+(a.xRel>0||a.outside>0?1:0));if(!l)return a;var c=l.find(1);if(c.line==i)return c;s=Jt(r,i=c.line)}}function Cr(t,e,n,r){r-=gr(e);var i=e.text.length,o=at((function(e){return rr(t,n,e-1).bottom<=r}),i,0);return{begin:o,end:i=at((function(e){return rr(t,n,e).top>r}),o,i)}}function kr(t,e,n,r){return n||(n=nr(t,e)),Cr(t,e,n,vr(t,e,rr(t,n,r),"line").top)}function Sr(t,e,n,r){return!(t.bottom<=n)&&(t.top>n||(r?t.left:t.right)>e)}function Pr(t,e,n,r,i){i-=sn(e);var o=nr(t,e),s=gr(e),a=0,l=e.text.length,c=!0,u=ft(e,t.doc.direction);if(u){var h=(t.options.lineWrapping?Tr:_r)(t,e,n,o,u,r,i);a=(c=1!=h.level)?h.from:h.to-1,l=c?h.to:h.from-1}var f,d,p=null,g=null,v=at((function(e){var n=rr(t,o,e);return n.top+=s,n.bottom+=s,!!Sr(n,r,i,!1)&&(n.top<=i&&n.left<=r&&(p=e,g=n),!0)}),a,l),m=!1;if(g){var y=r-g.left=w.bottom?1:0}return xr(n,v=st(e.text,v,1),d,m,r-f)}function _r(t,e,n,r,i,o,s){var a=at((function(a){var l=i[a],c=1!=l.level;return Sr(br(t,oe(n,c?l.to:l.from,c?"before":"after"),"line",e,r),o,s,!0)}),0,i.length-1),l=i[a];if(a>0){var c=1!=l.level,u=br(t,oe(n,c?l.from:l.to,c?"after":"before"),"line",e,r);Sr(u,o,s,!0)&&u.top>s&&(l=i[a-1])}return l}function Tr(t,e,n,r,i,o,s){var a=Cr(t,e,r,s),l=a.begin,c=a.end;/\s/.test(e.text.charAt(c-1))&&c--;for(var u=null,h=null,f=0;f=c||d.to<=l)){var p=rr(t,r,1!=d.level?Math.min(c,d.to)-1:Math.max(l,d.from)).right,g=pg)&&(u=d,h=g)}}return u||(u=i[i.length-1]),u.fromc&&(u={from:u.from,to:c,level:u.level}),u}function Er(t){if(null!=t.cachedTextHeight)return t.cachedTextHeight;if(null==ir){ir=E("pre",null,"CodeMirror-line-like");for(var e=0;e<49;++e)ir.appendChild(document.createTextNode("x")),ir.appendChild(E("br"));ir.appendChild(document.createTextNode("x"))}T(t.measure,ir);var n=ir.offsetHeight/50;return n>3&&(t.cachedTextHeight=n),_(t.measure),n||1}function jr(t){if(null!=t.cachedCharWidth)return t.cachedCharWidth;var e=E("span","xxxxxxxxxx"),n=E("pre",[e],"CodeMirror-line-like");T(t.measure,n);var r=e.getBoundingClientRect(),i=(r.right-r.left)/10;return i>2&&(t.cachedCharWidth=i),i||10}function Dr(t){for(var e=t.display,n={},r={},i=e.gutters.clientLeft,o=e.gutters.firstChild,s=0;o;o=o.nextSibling,++s){var a=t.display.gutterSpecs[s].className;n[a]=o.offsetLeft+o.clientLeft+i,r[a]=o.clientWidth}return{fixedPos:Mr(e),gutterTotalWidth:e.gutters.offsetWidth,gutterLeft:n,gutterWidth:r,wrapperWidth:e.wrapper.clientWidth}}function Mr(t){return t.scroller.getBoundingClientRect().left-t.sizer.getBoundingClientRect().left}function Ar(t){var e=Er(t.display),n=t.options.lineWrapping,r=n&&Math.max(5,t.display.scroller.clientWidth/jr(t.display)-3);return function(i){if(rn(t.doc,i))return 0;var o=0;if(i.widgets)for(var s=0;s0&&(l=Jt(t.doc,c.line).text).length==c.ch){var u=I(l,l.length,t.options.tabSize)-l.length;c=oe(c.line,Math.max(0,Math.round((o-qn(t.display).left)/jr(t.display))-u))}return c}function Nr(t,e){if(e>=t.display.viewTo)return null;if((e-=t.display.viewFrom)<0)return null;for(var n=t.display.view,r=0;re)&&(i.updateLineNumbers=e),t.curOp.viewChanged=!0,e>=i.viewTo)je&&en(t.doc,e)i.viewFrom?Fr(t):(i.viewFrom+=r,i.viewTo+=r);else if(e<=i.viewFrom&&n>=i.viewTo)Fr(t);else if(e<=i.viewFrom){var o=Vr(t,n,n+r,1);o?(i.view=i.view.slice(o.index),i.viewFrom=o.lineN,i.viewTo+=r):Fr(t)}else if(n>=i.viewTo){var s=Vr(t,e,e,-1);s?(i.view=i.view.slice(0,s.index),i.viewTo=s.lineN):Fr(t)}else{var a=Vr(t,e,e,-1),l=Vr(t,n,n+r,1);a&&l?(i.view=i.view.slice(0,a.index).concat(Cn(t,a.lineN,l.lineN)).concat(i.view.slice(l.index)),i.viewTo+=r):Fr(t)}var c=i.externalMeasured;c&&(n=i.lineN&&e=r.viewTo)){var o=r.view[Nr(t,e)];if(null!=o.node){var s=o.changes||(o.changes=[]);-1==V(s,n)&&s.push(n)}}}function Fr(t){t.display.viewFrom=t.display.viewTo=t.doc.first,t.display.view=[],t.display.viewOffset=0}function Vr(t,e,n,r){var i,o=Nr(t,e),s=t.display.view;if(!je||n==t.doc.first+t.doc.size)return{index:o,lineN:n};for(var a=t.display.viewFrom,l=0;l0){if(o==s.length-1)return null;i=a+s[o].size-e,o++}else i=a-e;e+=i,n+=i}for(;en(t.doc,n)!=n;){if(o==(r<0?0:s.length-1))return null;n+=r*s[o-(r<0?1:0)].size,o+=r}return{index:o,lineN:n}}function Hr(t,e,n){var r=t.display;0==r.view.length||e>=r.viewTo||n<=r.viewFrom?(r.view=Cn(t,e,n),r.viewFrom=e):(r.viewFrom>e?r.view=Cn(t,e,r.viewFrom).concat(r.view):r.viewFromn&&(r.view=r.view.slice(0,Nr(t,n)))),r.viewTo=n}function Br(t){for(var e=t.display.view,n=0,r=0;r=t.display.viewTo||a.to().line0&&(i.style.width=o.right-o.left+"px")}if(r.other){var s=n.appendChild(E("div"," ","CodeMirror-cursor CodeMirror-secondarycursor"));s.style.display="",s.style.left=r.other.left+"px",s.style.top=r.other.top+"px",s.style.height=.85*(r.other.bottom-r.other.top)+"px"}}function $r(t,e){return t.top-e.top||t.left-e.left}function qr(t,e,n){var r=t.display,i=t.doc,o=document.createDocumentFragment(),s=qn(t.display),a=s.left,l=Math.max(r.sizerWidth,Kn(t)-r.sizer.offsetLeft)-s.right,c="ltr"==i.direction;function u(t,e,n,r){e<0&&(e=0),e=Math.round(e),r=Math.round(r),o.appendChild(E("div",null,"CodeMirror-selected","position: absolute; left: "+t+"px;\n top: "+e+"px; width: "+(null==n?l-t:n)+"px;\n height: "+(r-e)+"px"))}function h(e,n,r){var o,s,h=Jt(i,e),f=h.text.length;function d(n,r){return yr(t,oe(e,n),"div",h,r)}function p(e,n,r){var i=kr(t,h,null,e),o="ltr"==n==("after"==r)?"left":"right";return d("after"==r?i.begin:i.end-(/\s/.test(h.text.charAt(i.end-1))?2:1),o)[o]}var g=ft(h,i.direction);return lt(g,n||0,null==r?f:r,(function(t,e,i,h){var v="ltr"==i,m=d(t,v?"left":"right"),y=d(e-1,v?"right":"left"),b=null==n&&0==t,w=null==r&&e==f,x=0==h,O=!g||h==g.length-1;if(y.top-m.top<=3){var C=(c?w:b)&&O,k=(c?b:w)&&x?a:(v?m:y).left,S=C?l:(v?y:m).right;u(k,m.top,S-k,m.bottom)}else{var P,_,T,E;v?(P=c&&b&&x?a:m.left,_=c?l:p(t,i,"before"),T=c?a:p(e,i,"after"),E=c&&w&&O?l:y.right):(P=c?p(t,i,"before"):a,_=!c&&b&&x?l:m.right,T=!c&&w&&O?a:y.left,E=c?p(e,i,"after"):l),u(P,m.top,_-P,m.bottom),m.bottom0?e.blinker=setInterval((function(){t.hasFocus()||Xr(t),e.cursorDiv.style.visibility=(n=!n)?"":"hidden"}),t.options.cursorBlinkRate):t.options.cursorBlinkRate<0&&(e.cursorDiv.style.visibility="hidden")}}function Kr(t){t.hasFocus()||(t.display.input.focus(),t.state.focused||Jr(t))}function Yr(t){t.state.delayingBlurEvent=!0,setTimeout((function(){t.state.delayingBlurEvent&&(t.state.delayingBlurEvent=!1,t.state.focused&&Xr(t))}),100)}function Jr(t,e){t.state.delayingBlurEvent&&!t.state.draggingText&&(t.state.delayingBlurEvent=!1),"nocursor"!=t.options.readOnly&&(t.state.focused||(mt(t,"focus",t,e),t.state.focused=!0,A(t.display.wrapper,"CodeMirror-focused"),t.curOp||t.display.selForContextMenu==t.doc.sel||(t.display.input.reset(),l&&setTimeout((function(){return t.display.input.reset(!0)}),20)),t.display.input.receivedFocus()),Gr(t))}function Xr(t,e){t.state.delayingBlurEvent||(t.state.focused&&(mt(t,"blur",t,e),t.state.focused=!1,P(t.display.wrapper,"CodeMirror-focused")),clearInterval(t.display.blinker),setTimeout((function(){t.state.focused||(t.display.shift=!1)}),150))}function Qr(t){for(var e=t.display,n=e.lineDiv.offsetTop,r=Math.max(0,e.scroller.getBoundingClientRect().top),i=e.lineDiv.getBoundingClientRect().top,o=0,l=0;l.005||g<-.005)&&(it.display.sizerWidth){var m=Math.ceil(f/jr(t.display));m>t.display.maxLineLength&&(t.display.maxLineLength=m,t.display.maxLine=c.line,t.display.maxLineChanged=!0)}}}Math.abs(o)>2&&(e.scroller.scrollTop+=o)}function ti(t){if(t.widgets)for(var e=0;e=s&&(o=ne(e,sn(Jt(e,l))-t.wrapper.clientHeight),s=l)}return{from:o,to:Math.max(s,o+1)}}function ni(t,e){if(!yt(t,"scrollCursorIntoView")){var n=t.display,r=n.sizer.getBoundingClientRect(),i=null;if(e.top+r.top<0?i=!0:e.bottom+r.top>(window.innerHeight||document.documentElement.clientHeight)&&(i=!1),null!=i&&!p){var o=E("div","​",null,"position: absolute;\n top: "+(e.top-n.viewOffset-Wn(t.display))+"px;\n height: "+(e.bottom-e.top+Gn(t)+n.barHeight)+"px;\n left: "+e.left+"px; width: "+Math.max(2,e.right-e.left)+"px;");t.display.lineSpace.appendChild(o),o.scrollIntoView(i),t.display.lineSpace.removeChild(o)}}}function ri(t,e,n,r){var i;null==r&&(r=0),t.options.lineWrapping||e!=n||(n="before"==e.sticky?oe(e.line,e.ch+1,"before"):e,e=e.ch?oe(e.line,"before"==e.sticky?e.ch-1:e.ch,"after"):e);for(var o=0;o<5;o++){var s=!1,a=br(t,e),l=n&&n!=e?br(t,n):a,c=oi(t,i={left:Math.min(a.left,l.left),top:Math.min(a.top,l.top)-r,right:Math.max(a.left,l.left),bottom:Math.max(a.bottom,l.bottom)+r}),u=t.doc.scrollTop,h=t.doc.scrollLeft;if(null!=c.scrollTop&&(fi(t,c.scrollTop),Math.abs(t.doc.scrollTop-u)>1&&(s=!0)),null!=c.scrollLeft&&(pi(t,c.scrollLeft),Math.abs(t.doc.scrollLeft-h)>1&&(s=!0)),!s)break}return i}function ii(t,e){var n=oi(t,e);null!=n.scrollTop&&fi(t,n.scrollTop),null!=n.scrollLeft&&pi(t,n.scrollLeft)}function oi(t,e){var n=t.display,r=Er(t.display);e.top<0&&(e.top=0);var i=t.curOp&&null!=t.curOp.scrollTop?t.curOp.scrollTop:n.scroller.scrollTop,o=Yn(t),s={};e.bottom-e.top>o&&(e.bottom=e.top+o);var a=t.doc.height+$n(n),l=e.topa-r;if(e.topi+o){var u=Math.min(e.top,(c?a:e.bottom)-o);u!=i&&(s.scrollTop=u)}var h=t.options.fixedGutter?0:n.gutters.offsetWidth,f=t.curOp&&null!=t.curOp.scrollLeft?t.curOp.scrollLeft:n.scroller.scrollLeft-h,d=Kn(t)-n.gutters.offsetWidth,p=e.right-e.left>d;return p&&(e.right=e.left+d),e.left<10?s.scrollLeft=0:e.leftd+f-3&&(s.scrollLeft=e.right+(p?0:10)-d),s}function si(t,e){null!=e&&(ui(t),t.curOp.scrollTop=(null==t.curOp.scrollTop?t.doc.scrollTop:t.curOp.scrollTop)+e)}function ai(t){ui(t);var e=t.getCursor();t.curOp.scrollToPos={from:e,to:e,margin:t.options.cursorScrollMargin}}function li(t,e,n){null==e&&null==n||ui(t),null!=e&&(t.curOp.scrollLeft=e),null!=n&&(t.curOp.scrollTop=n)}function ci(t,e){ui(t),t.curOp.scrollToPos=e}function ui(t){var e=t.curOp.scrollToPos;e&&(t.curOp.scrollToPos=null,hi(t,wr(t,e.from),wr(t,e.to),e.margin))}function hi(t,e,n,r){var i=oi(t,{left:Math.min(e.left,n.left),top:Math.min(e.top,n.top)-r,right:Math.max(e.right,n.right),bottom:Math.max(e.bottom,n.bottom)+r});li(t,i.scrollLeft,i.scrollTop)}function fi(t,e){Math.abs(t.doc.scrollTop-e)<2||(n||zi(t,{top:e}),di(t,e,!0),n&&zi(t),Ri(t,100))}function di(t,e,n){e=Math.max(0,Math.min(t.display.scroller.scrollHeight-t.display.scroller.clientHeight,e)),(t.display.scroller.scrollTop!=e||n)&&(t.doc.scrollTop=e,t.display.scrollbars.setScrollTop(e),t.display.scroller.scrollTop!=e&&(t.display.scroller.scrollTop=e))}function pi(t,e,n,r){e=Math.max(0,Math.min(e,t.display.scroller.scrollWidth-t.display.scroller.clientWidth)),(n?e==t.doc.scrollLeft:Math.abs(t.doc.scrollLeft-e)<2)&&!r||(t.doc.scrollLeft=e,qi(t),t.display.scroller.scrollLeft!=e&&(t.display.scroller.scrollLeft=e),t.display.scrollbars.setScrollLeft(e))}function gi(t){var e=t.display,n=e.gutters.offsetWidth,r=Math.round(t.doc.height+$n(t.display));return{clientHeight:e.scroller.clientHeight,viewHeight:e.wrapper.clientHeight,scrollWidth:e.scroller.scrollWidth,clientWidth:e.scroller.clientWidth,viewWidth:e.wrapper.clientWidth,barLeft:t.options.fixedGutter?n:0,docHeight:r,scrollHeight:r+Gn(t)+e.barHeight,nativeBarWidth:e.nativeBarWidth,gutterWidth:n}}var vi=function(t,e,n){this.cm=n;var r=this.vert=E("div",[E("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),i=this.horiz=E("div",[E("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");r.tabIndex=i.tabIndex=-1,t(r),t(i),pt(r,"scroll",(function(){r.clientHeight&&e(r.scrollTop,"vertical")})),pt(i,"scroll",(function(){i.clientWidth&&e(i.scrollLeft,"horizontal")})),this.checkedZeroWidth=!1,s&&a<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};vi.prototype.update=function(t){var e=t.scrollWidth>t.clientWidth+1,n=t.scrollHeight>t.clientHeight+1,r=t.nativeBarWidth;if(n){this.vert.style.display="block",this.vert.style.bottom=e?r+"px":"0";var i=t.viewHeight-(e?r:0);this.vert.firstChild.style.height=Math.max(0,t.scrollHeight-t.clientHeight+i)+"px"}else this.vert.style.display="",this.vert.firstChild.style.height="0";if(e){this.horiz.style.display="block",this.horiz.style.right=n?r+"px":"0",this.horiz.style.left=t.barLeft+"px";var o=t.viewWidth-t.barLeft-(n?r:0);this.horiz.firstChild.style.width=Math.max(0,t.scrollWidth-t.clientWidth+o)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&t.clientHeight>0&&(0==r&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:n?r:0,bottom:e?r:0}},vi.prototype.setScrollLeft=function(t){this.horiz.scrollLeft!=t&&(this.horiz.scrollLeft=t),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},vi.prototype.setScrollTop=function(t){this.vert.scrollTop!=t&&(this.vert.scrollTop=t),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},vi.prototype.zeroWidthHack=function(){var t=y&&!d?"12px":"18px";this.horiz.style.height=this.vert.style.width=t,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new F,this.disableVert=new F},vi.prototype.enableZeroWidthBar=function(t,e,n){function r(){var i=t.getBoundingClientRect();("vert"==n?document.elementFromPoint(i.right-1,(i.top+i.bottom)/2):document.elementFromPoint((i.right+i.left)/2,i.bottom-1))!=t?t.style.pointerEvents="none":e.set(1e3,r)}t.style.pointerEvents="auto",e.set(1e3,r)},vi.prototype.clear=function(){var t=this.horiz.parentNode;t.removeChild(this.horiz),t.removeChild(this.vert)};var mi=function(){};function yi(t,e){e||(e=gi(t));var n=t.display.barWidth,r=t.display.barHeight;bi(t,e);for(var i=0;i<4&&n!=t.display.barWidth||r!=t.display.barHeight;i++)n!=t.display.barWidth&&t.options.lineWrapping&&Qr(t),bi(t,gi(t)),n=t.display.barWidth,r=t.display.barHeight}function bi(t,e){var n=t.display,r=n.scrollbars.update(e);n.sizer.style.paddingRight=(n.barWidth=r.right)+"px",n.sizer.style.paddingBottom=(n.barHeight=r.bottom)+"px",n.heightForcer.style.borderBottom=r.bottom+"px solid transparent",r.right&&r.bottom?(n.scrollbarFiller.style.display="block",n.scrollbarFiller.style.height=r.bottom+"px",n.scrollbarFiller.style.width=r.right+"px"):n.scrollbarFiller.style.display="",r.bottom&&t.options.coverGutterNextToScrollbar&&t.options.fixedGutter?(n.gutterFiller.style.display="block",n.gutterFiller.style.height=r.bottom+"px",n.gutterFiller.style.width=e.gutterWidth+"px"):n.gutterFiller.style.display=""}mi.prototype.update=function(){return{bottom:0,right:0}},mi.prototype.setScrollLeft=function(){},mi.prototype.setScrollTop=function(){},mi.prototype.clear=function(){};var wi={native:vi,null:mi};function xi(t){t.display.scrollbars&&(t.display.scrollbars.clear(),t.display.scrollbars.addClass&&P(t.display.wrapper,t.display.scrollbars.addClass)),t.display.scrollbars=new wi[t.options.scrollbarStyle]((function(e){t.display.wrapper.insertBefore(e,t.display.scrollbarFiller),pt(e,"mousedown",(function(){t.state.focused&&setTimeout((function(){return t.display.input.focus()}),0)})),e.setAttribute("cm-not-content","true")}),(function(e,n){"horizontal"==n?pi(t,e):fi(t,e)}),t),t.display.scrollbars.addClass&&A(t.display.wrapper,t.display.scrollbars.addClass)}var Oi=0;function Ci(t){t.curOp={cm:t,viewChanged:!1,startHeight:t.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++Oi,markArrays:null},Sn(t.curOp)}function ki(t){var e=t.curOp;e&&_n(e,(function(t){for(var e=0;e=n.viewTo)||n.maxLineChanged&&e.options.lineWrapping,t.update=t.mustUpdate&&new Zi(e,t.mustUpdate&&{top:t.scrollTop,ensure:t.scrollToPos},t.forceUpdate)}function _i(t){t.updatedDisplay=t.mustUpdate&&Hi(t.cm,t.update)}function Ti(t){var e=t.cm,n=e.display;t.updatedDisplay&&Qr(e),t.barMeasure=gi(e),n.maxLineChanged&&!e.options.lineWrapping&&(t.adjustWidthTo=tr(e,n.maxLine,n.maxLine.text.length).left+3,e.display.sizerWidth=t.adjustWidthTo,t.barMeasure.scrollWidth=Math.max(n.scroller.clientWidth,n.sizer.offsetLeft+t.adjustWidthTo+Gn(e)+e.display.barWidth),t.maxScrollLeft=Math.max(0,n.sizer.offsetLeft+t.adjustWidthTo-Kn(e))),(t.updatedDisplay||t.selectionChanged)&&(t.preparedSelection=n.input.prepareSelection())}function Ei(t){var e=t.cm;null!=t.adjustWidthTo&&(e.display.sizer.style.minWidth=t.adjustWidthTo+"px",t.maxScrollLeft=t.display.viewTo)){var n=+new Date+t.options.workTime,r=be(t,e.highlightFrontier),i=[];e.iter(r.line,Math.min(e.first+e.size,t.display.viewTo+500),(function(o){if(r.line>=t.display.viewFrom){var s=o.styles,a=o.text.length>t.options.maxHighlightLength?qt(e.mode,r.state):null,l=me(t,o,r,!0);a&&(r.state=a),o.styles=l.styles;var c=o.styleClasses,u=l.classes;u?o.styleClasses=u:c&&(o.styleClasses=null);for(var h=!s||s.length!=o.styles.length||c!=u&&(!c||!u||c.bgClass!=u.bgClass||c.textClass!=u.textClass),f=0;!h&&fn)return Ri(t,t.options.workDelay),!0})),e.highlightFrontier=r.line,e.modeFrontier=Math.max(e.modeFrontier,r.line),i.length&&Di(t,(function(){for(var e=0;e=n.viewFrom&&e.visible.to<=n.viewTo&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo)&&n.renderedView==n.view&&0==Br(t))return!1;Gi(t)&&(Fr(t),e.dims=Dr(t));var i=r.first+r.size,o=Math.max(e.visible.from-t.options.viewportMargin,r.first),s=Math.min(i,e.visible.to+t.options.viewportMargin);n.viewFroms&&n.viewTo-s<20&&(s=Math.min(i,n.viewTo)),je&&(o=en(t.doc,o),s=nn(t.doc,s));var a=o!=n.viewFrom||s!=n.viewTo||n.lastWrapHeight!=e.wrapperHeight||n.lastWrapWidth!=e.wrapperWidth;Hr(t,o,s),n.viewOffset=sn(Jt(t.doc,n.viewFrom)),t.display.mover.style.top=n.viewOffset+"px";var l=Br(t);if(!a&&0==l&&!e.force&&n.renderedView==n.view&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo))return!1;var c=Fi(t);return l>4&&(n.lineDiv.style.display="none"),Ui(t,n.updateLineNumbers,e.dims),l>4&&(n.lineDiv.style.display=""),n.renderedView=n.view,Vi(c),_(n.cursorDiv),_(n.selectionDiv),n.gutters.style.height=n.sizer.style.minHeight=0,a&&(n.lastWrapHeight=e.wrapperHeight,n.lastWrapWidth=e.wrapperWidth,Ri(t,400)),n.updateLineNumbers=null,!0}function Bi(t,e){for(var n=e.viewport,r=!0;;r=!1){if(r&&t.options.lineWrapping&&e.oldDisplayWidth!=Kn(t))r&&(e.visible=ei(t.display,t.doc,n));else if(n&&null!=n.top&&(n={top:Math.min(t.doc.height+$n(t.display)-Yn(t),n.top)}),e.visible=ei(t.display,t.doc,n),e.visible.from>=t.display.viewFrom&&e.visible.to<=t.display.viewTo)break;if(!Hi(t,e))break;Qr(t);var i=gi(t);zr(t),yi(t,i),$i(t,i),e.force=!1}e.signal(t,"update",t),t.display.viewFrom==t.display.reportedViewFrom&&t.display.viewTo==t.display.reportedViewTo||(e.signal(t,"viewportChange",t,t.display.viewFrom,t.display.viewTo),t.display.reportedViewFrom=t.display.viewFrom,t.display.reportedViewTo=t.display.viewTo)}function zi(t,e){var n=new Zi(t,e);if(Hi(t,n)){Qr(t),Bi(t,n);var r=gi(t);zr(t),yi(t,r),$i(t,r),n.finish()}}function Ui(t,e,n){var r=t.display,i=t.options.lineNumbers,o=r.lineDiv,s=o.firstChild;function a(e){var n=e.nextSibling;return l&&y&&t.display.currentWheelTarget==e?e.style.display="none":e.parentNode.removeChild(e),n}for(var c=r.view,u=r.viewFrom,h=0;h-1&&(d=!1),Dn(t,f,u,n)),d&&(_(f.lineNumber),f.lineNumber.appendChild(document.createTextNode(ie(t.options,u)))),s=f.node.nextSibling}else{var p=Fn(t,f,u,n);o.insertBefore(p,s)}u+=f.size}for(;s;)s=a(s)}function Wi(t){var e=t.gutters.offsetWidth;t.sizer.style.marginLeft=e+"px",En(t,"gutterChanged",t)}function $i(t,e){t.display.sizer.style.minHeight=e.docHeight+"px",t.display.heightForcer.style.top=e.docHeight+"px",t.display.gutters.style.height=e.docHeight+t.display.barHeight+Gn(t)+"px"}function qi(t){var e=t.display,n=e.view;if(e.alignWidgets||e.gutters.firstChild&&t.options.fixedGutter){for(var r=Mr(e)-e.scroller.scrollLeft+t.doc.scrollLeft,i=e.gutters.offsetWidth,o=r+"px",s=0;sa.clientWidth,u=a.scrollHeight>a.clientHeight;if(i&&c||o&&u){if(o&&y&&l)t:for(var f=e.target,d=s.view;f!=a;f=f.parentNode)for(var p=0;p=0&&se(t,r.to())<=0)return n}return-1};var oo=function(t,e){this.anchor=t,this.head=e};function so(t,e,n){var r=t&&t.options.selectionsMayTouch,i=e[n];e.sort((function(t,e){return se(t.from(),e.from())})),n=V(e,i);for(var o=1;o0:l>=0){var c=ue(a.from(),s.from()),u=ce(a.to(),s.to()),h=a.empty()?s.from()==s.head:a.from()==a.head;o<=n&&--n,e.splice(--o,2,new oo(h?u:c,h?c:u))}}return new io(e,n)}function ao(t,e){return new io([new oo(t,e||t)],0)}function lo(t){return t.text?oe(t.from.line+t.text.length-1,K(t.text).length+(1==t.text.length?t.from.ch:0)):t.to}function co(t,e){if(se(t,e.from)<0)return t;if(se(t,e.to)<=0)return lo(e);var n=t.line+e.text.length-(e.to.line-e.from.line)-1,r=t.ch;return t.line==e.to.line&&(r+=lo(e).ch-e.to.ch),oe(n,r)}function uo(t,e){for(var n=[],r=0;r1&&t.remove(a.line+1,p-1),t.insert(a.line+1,m)}En(t,"change",t,e)}function yo(t,e,n){function r(t,i,o){if(t.linked)for(var s=0;s1&&!t.done[t.done.length-2].ranges?(t.done.pop(),K(t.done)):void 0}function Po(t,e,n,r){var i=t.history;i.undone.length=0;var o,s,a=+new Date;if((i.lastOp==r||i.lastOrigin==e.origin&&e.origin&&("+"==e.origin.charAt(0)&&i.lastModTime>a-(t.cm?t.cm.options.historyEventDelay:500)||"*"==e.origin.charAt(0)))&&(o=So(i,i.lastOp==r)))s=K(o.changes),0==se(e.from,e.to)&&0==se(e.from,s.to)?s.to=lo(e):o.changes.push(Co(t,e));else{var l=K(i.done);for(l&&l.ranges||Eo(t.sel,i.done),o={changes:[Co(t,e)],generation:i.generation},i.done.push(o);i.done.length>i.undoDepth;)i.done.shift(),i.done[0].ranges||i.done.shift()}i.done.push(n),i.generation=++i.maxGeneration,i.lastModTime=i.lastSelTime=a,i.lastOp=i.lastSelOp=r,i.lastOrigin=i.lastSelOrigin=e.origin,s||mt(t,"historyAdded")}function _o(t,e,n,r){var i=e.charAt(0);return"*"==i||"+"==i&&n.ranges.length==r.ranges.length&&n.somethingSelected()==r.somethingSelected()&&new Date-t.history.lastSelTime<=(t.cm?t.cm.options.historyEventDelay:500)}function To(t,e,n,r){var i=t.history,o=r&&r.origin;n==i.lastSelOp||o&&i.lastSelOrigin==o&&(i.lastModTime==i.lastSelTime&&i.lastOrigin==o||_o(t,o,K(i.done),e))?i.done[i.done.length-1]=e:Eo(e,i.done),i.lastSelTime=+new Date,i.lastSelOrigin=o,i.lastSelOp=n,r&&!1!==r.clearRedo&&ko(i.undone)}function Eo(t,e){var n=K(e);n&&n.ranges&&n.equals(t)||e.push(t)}function jo(t,e,n,r){var i=e["spans_"+t.id],o=0;t.iter(Math.max(t.first,n),Math.min(t.first+t.size,r),(function(n){n.markedSpans&&((i||(i=e["spans_"+t.id]={}))[o]=n.markedSpans),++o}))}function Do(t){if(!t)return null;for(var e,n=0;n-1&&(K(a)[h]=c[h],delete c[h])}}}return r}function Ro(t,e,n,r){if(r){var i=t.anchor;if(n){var o=se(e,i)<0;o!=se(n,i)<0?(i=e,e=n):o!=se(e,n)<0&&(e=n)}return new oo(i,e)}return new oo(n||e,e)}function No(t,e,n,r,i){null==i&&(i=t.cm&&(t.cm.display.shift||t.extend)),Bo(t,new io([Ro(t.sel.primary(),e,n,i)],0),r)}function Zo(t,e,n){for(var r=[],i=t.cm&&(t.cm.display.shift||t.extend),o=0;o=e.ch:a.to>e.ch))){if(i&&(mt(l,"beforeCursorEnter"),l.explicitlyCleared)){if(o.markedSpans){--s;continue}break}if(!l.atomic)continue;if(n){var h=l.find(r<0?1:-1),f=void 0;if((r<0?u:c)&&(h=Ko(t,h,-r,h&&h.line==e.line?o:null)),h&&h.line==e.line&&(f=se(h,n))&&(r<0?f<0:f>0))return qo(t,h,e,r,i)}var d=l.find(r<0?-1:1);return(r<0?c:u)&&(d=Ko(t,d,r,d.line==e.line?o:null)),d?qo(t,d,e,r,i):null}}return e}function Go(t,e,n,r,i){var o=r||1,s=qo(t,e,n,o,i)||!i&&qo(t,e,n,o,!0)||qo(t,e,n,-o,i)||!i&&qo(t,e,n,-o,!0);return s||(t.cantEdit=!0,oe(t.first,0))}function Ko(t,e,n,r){return n<0&&0==e.ch?e.line>t.first?fe(t,oe(e.line-1)):null:n>0&&e.ch==(r||Jt(t,e.line)).text.length?e.line=0;--i)Qo(t,{from:r[i].from,to:r[i].to,text:i?[""]:e.text,origin:e.origin});else Qo(t,e)}}function Qo(t,e){if(1!=e.text.length||""!=e.text[0]||0!=se(e.from,e.to)){var n=uo(t,e);Po(t,e,n,t.cm?t.cm.curOp.id:NaN),ns(t,e,n,Fe(t,e));var r=[];yo(t,(function(t,n){n||-1!=V(r,t.history)||(as(t.history,e),r.push(t.history)),ns(t,e,null,Fe(t,e))}))}}function ts(t,e,n){var r=t.cm&&t.cm.state.suppressEdits;if(!r||n){for(var i,o=t.history,s=t.sel,a="undo"==e?o.done:o.undone,l="undo"==e?o.undone:o.done,c=0;c=0;--d){var p=f(d);if(p)return p.v}}}}function es(t,e){if(0!=e&&(t.first+=e,t.sel=new io(Y(t.sel.ranges,(function(t){return new oo(oe(t.anchor.line+e,t.anchor.ch),oe(t.head.line+e,t.head.ch))})),t.sel.primIndex),t.cm)){Zr(t.cm,t.first,t.first-e,e);for(var n=t.cm.display,r=n.viewFrom;rt.lastLine())){if(e.from.lineo&&(e={from:e.from,to:oe(o,Jt(t,o).text.length),text:[e.text[0]],origin:e.origin}),e.removed=Xt(t,e.from,e.to),n||(n=uo(t,e)),t.cm?rs(t.cm,e,r):mo(t,e,r),zo(t,n,z),t.cantEdit&&Go(t,oe(t.firstLine(),0))&&(t.cantEdit=!1)}}function rs(t,e,n){var r=t.doc,i=t.display,o=e.from,s=e.to,a=!1,l=o.line;t.options.lineWrapping||(l=ee(Xe(Jt(r,o.line))),r.iter(l,s.line+1,(function(t){if(t==i.maxLine)return a=!0,!0}))),r.sel.contains(e.from,e.to)>-1&&bt(t),mo(r,e,n,Ar(t)),t.options.lineWrapping||(r.iter(l,o.line+e.text.length,(function(t){var e=an(t);e>i.maxLineLength&&(i.maxLine=t,i.maxLineLength=e,i.maxLineChanged=!0,a=!1)})),a&&(t.curOp.updateMaxLine=!0)),Te(r,o.line),Ri(t,400);var c=e.text.length-(s.line-o.line)-1;e.full?Zr(t):o.line!=s.line||1!=e.text.length||vo(t.doc,e)?Zr(t,o.line,s.line+1,c):Ir(t,o.line,"text");var u=wt(t,"changes"),h=wt(t,"change");if(h||u){var f={from:o,to:s,text:e.text,removed:e.removed,origin:e.origin};h&&En(t,"change",t,f),u&&(t.curOp.changeObjs||(t.curOp.changeObjs=[])).push(f)}t.display.selForContextMenu=null}function is(t,e,n,r,i){var o;r||(r=n),se(r,n)<0&&(n=(o=[r,n])[0],r=o[1]),"string"==typeof e&&(e=t.splitLines(e)),Xo(t,{from:n,to:r,text:e,origin:i})}function os(t,e,n,r){n1||!(this.children[0]instanceof cs))){var a=[];this.collapse(a),this.children=[new cs(a)],this.children[0].parent=this}},collapse:function(t){for(var e=0;e50){for(var s=i.lines.length%25+25,a=s;a10);t.parent.maybeSpill()}},iterN:function(t,e,n){for(var r=0;r0||0==s&&!1!==o.clearWhenEmpty)return o;if(o.replacedWith&&(o.collapsed=!0,o.widgetNode=j("span",[o.replacedWith],"CodeMirror-widget"),r.handleMouseEvents||o.widgetNode.setAttribute("cm-ignore-events","true"),r.insertLeft&&(o.widgetNode.insertLeft=!0)),o.collapsed){if(Je(t,e.line,e,n,o)||e.line!=n.line&&Je(t,n.line,e,n,o))throw new Error("Inserting collapsed marker partially overlapping an existing one");Me()}o.addToHistory&&Po(t,{from:e,to:n,origin:"markText"},t.sel,NaN);var a,l=e.line,c=t.cm;if(t.iter(l,n.line+1,(function(r){c&&o.collapsed&&!c.options.lineWrapping&&Xe(r)==c.display.maxLine&&(a=!0),o.collapsed&&l!=e.line&&te(r,0),Ne(r,new Ae(o,l==e.line?e.ch:null,l==n.line?n.ch:null),t.cm&&t.cm.curOp),++l})),o.collapsed&&t.iter(e.line,n.line+1,(function(e){rn(t,e)&&te(e,0)})),o.clearOnEnter&&pt(o,"beforeCursorEnter",(function(){return o.clear()})),o.readOnly&&(De(),(t.history.done.length||t.history.undone.length)&&t.clearHistory()),o.collapsed&&(o.id=++ps,o.atomic=!0),c){if(a&&(c.curOp.updateMaxLine=!0),o.collapsed)Zr(c,e.line,n.line+1);else if(o.className||o.startStyle||o.endStyle||o.css||o.attributes||o.title)for(var u=e.line;u<=n.line;u++)Ir(c,u,"text");o.atomic&&Wo(c.doc),En(c,"markerAdded",c,o)}return o}gs.prototype.clear=function(){if(!this.explicitlyCleared){var t=this.doc.cm,e=t&&!t.curOp;if(e&&Ci(t),wt(this,"clear")){var n=this.find();n&&En(this,"clear",n.from,n.to)}for(var r=null,i=null,o=0;ot.display.maxLineLength&&(t.display.maxLine=c,t.display.maxLineLength=u,t.display.maxLineChanged=!0)}null!=r&&t&&this.collapsed&&Zr(t,r,i+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,t&&Wo(t.doc)),t&&En(t,"markerCleared",t,this,r,i),e&&ki(t),this.parent&&this.parent.clear()}},gs.prototype.find=function(t,e){var n,r;null==t&&"bookmark"==this.type&&(t=1);for(var i=0;i=0;l--)Xo(this,r[l]);a?Ho(this,a):this.cm&&ai(this.cm)})),undo:Li((function(){ts(this,"undo")})),redo:Li((function(){ts(this,"redo")})),undoSelection:Li((function(){ts(this,"undo",!0)})),redoSelection:Li((function(){ts(this,"redo",!0)})),setExtending:function(t){this.extend=t},getExtending:function(){return this.extend},historySize:function(){for(var t=this.history,e=0,n=0,r=0;r=t.ch)&&e.push(i.marker.parent||i.marker)}return e},findMarks:function(t,e,n){t=fe(this,t),e=fe(this,e);var r=[],i=t.line;return this.iter(t.line,e.line+1,(function(o){var s=o.markedSpans;if(s)for(var a=0;a=l.to||null==l.from&&i!=t.line||null!=l.from&&i==e.line&&l.from>=e.ch||n&&!n(l.marker)||r.push(l.marker.parent||l.marker)}++i})),r},getAllMarks:function(){var t=[];return this.iter((function(e){var n=e.markedSpans;if(n)for(var r=0;rt)return e=t,!0;t-=o,++n})),fe(this,oe(n,e))},indexFromPos:function(t){var e=(t=fe(this,t)).ch;if(t.linee&&(e=t.from),null!=t.to&&t.to-1)return e.state.draggingText(t),void setTimeout((function(){return e.display.input.focus()}),20);try{var h=t.dataTransfer.getData("Text");if(h){var f;if(e.state.draggingText&&!e.state.draggingText.copy&&(f=e.listSelections()),zo(e.doc,ao(n,n)),f)for(var d=0;d=0;e--)is(t.doc,"",r[e].from,r[e].to,"+delete");ai(t)}))}function qs(t,e,n){var r=st(t.text,e+n,n);return r<0||r>t.text.length?null:r}function Gs(t,e,n){var r=qs(t,e.ch,n);return null==r?null:new oe(e.line,r,n<0?"after":"before")}function Ks(t,e,n,r,i){if(t){"rtl"==e.doc.direction&&(i=-i);var o=ft(n,e.doc.direction);if(o){var s,a=i<0?K(o):o[0],l=i<0==(1==a.level)?"after":"before";if(a.level>0||"rtl"==e.doc.direction){var c=nr(e,n);s=i<0?n.text.length-1:0;var u=rr(e,c,s).top;s=at((function(t){return rr(e,c,t).top==u}),i<0==(1==a.level)?a.from:a.to-1,s),"before"==l&&(s=qs(n,s,1))}else s=i<0?a.to:a.from;return new oe(r,s,l)}}return new oe(r,i<0?n.text.length:0,i<0?"before":"after")}function Ys(t,e,n,r){var i=ft(e,t.doc.direction);if(!i)return Gs(e,n,r);n.ch>=e.text.length?(n.ch=e.text.length,n.sticky="before"):n.ch<=0&&(n.ch=0,n.sticky="after");var o=ut(i,n.ch,n.sticky),s=i[o];if("ltr"==t.doc.direction&&s.level%2==0&&(r>0?s.to>n.ch:s.from=s.from&&f>=u.begin)){var d=h?"before":"after";return new oe(n.line,f,d)}}var p=function(t,e,r){for(var o=function(t,e){return e?new oe(n.line,l(t,1),"before"):new oe(n.line,t,"after")};t>=0&&t0==(1!=s.level),c=a?r.begin:l(r.end,-1);if(s.from<=c&&c0?u.end:l(u.begin,-1);return null==v||r>0&&v==e.text.length||!(g=p(r>0?0:i.length-1,r,c(v)))?null:g}Is.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},Is.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},Is.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},Is.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},Is.default=y?Is.macDefault:Is.pcDefault;var Js={selectAll:Yo,singleSelection:function(t){return t.setSelection(t.getCursor("anchor"),t.getCursor("head"),z)},killLine:function(t){return $s(t,(function(e){if(e.empty()){var n=Jt(t.doc,e.head.line).text.length;return e.head.ch==n&&e.head.line0)i=new oe(i.line,i.ch+1),t.replaceRange(o.charAt(i.ch-1)+o.charAt(i.ch-2),oe(i.line,i.ch-2),i,"+transpose");else if(i.line>t.doc.first){var s=Jt(t.doc,i.line-1).text;s&&(i=new oe(i.line,1),t.replaceRange(o.charAt(0)+t.doc.lineSeparator()+s.charAt(s.length-1),oe(i.line-1,s.length-1),i,"+transpose"))}n.push(new oo(i,i))}t.setSelections(n)}))},newlineAndIndent:function(t){return Di(t,(function(){for(var e=t.listSelections(),n=e.length-1;n>=0;n--)t.replaceRange(t.doc.lineSeparator(),e[n].anchor,e[n].head,"+input");e=t.listSelections();for(var r=0;r-1&&(se((i=a.ranges[i]).from(),e)<0||e.xRel>0)&&(se(i.to(),e)>0||e.xRel<0)?Oa(t,r,e,o):ka(t,r,e,o)}function Oa(t,e,n,r){var i=t.display,o=!1,c=Mi(t,(function(e){l&&(i.scroller.draggable=!1),t.state.draggingText=!1,t.state.delayingBlurEvent&&(t.hasFocus()?t.state.delayingBlurEvent=!1:Yr(t)),vt(i.wrapper.ownerDocument,"mouseup",c),vt(i.wrapper.ownerDocument,"mousemove",u),vt(i.scroller,"dragstart",h),vt(i.scroller,"drop",c),o||(Ot(e),r.addNew||No(t.doc,n,null,null,r.extend),l&&!f||s&&9==a?setTimeout((function(){i.wrapper.ownerDocument.body.focus({preventScroll:!0}),i.input.focus()}),20):i.input.focus())})),u=function(t){o=o||Math.abs(e.clientX-t.clientX)+Math.abs(e.clientY-t.clientY)>=10},h=function(){return o=!0};l&&(i.scroller.draggable=!0),t.state.draggingText=c,c.copy=!r.moveOnDrag,pt(i.wrapper.ownerDocument,"mouseup",c),pt(i.wrapper.ownerDocument,"mousemove",u),pt(i.scroller,"dragstart",h),pt(i.scroller,"drop",c),t.state.delayingBlurEvent=!0,setTimeout((function(){return i.input.focus()}),20),i.scroller.dragDrop&&i.scroller.dragDrop()}function Ca(t,e,n){if("char"==n)return new oo(e,e);if("word"==n)return t.findWordAt(e);if("line"==n)return new oo(oe(e.line,0),fe(t.doc,oe(e.line+1,0)));var r=n(t,e);return new oo(r.from,r.to)}function ka(t,e,n,r){s&&Yr(t);var i=t.display,o=t.doc;Ot(e);var a,l,c=o.sel,u=c.ranges;if(r.addNew&&!r.extend?(l=o.sel.contains(n),a=l>-1?u[l]:new oo(n,n)):(a=o.sel.primary(),l=o.sel.primIndex),"rectangle"==r.unit)r.addNew||(a=new oo(n,n)),n=Rr(t,e,!0,!0),l=-1;else{var h=Ca(t,n,r.unit);a=r.extend?Ro(a,h.anchor,h.head,r.extend):h}r.addNew?-1==l?(l=u.length,Bo(o,so(t,u.concat([a]),l),{scroll:!1,origin:"*mouse"})):u.length>1&&u[l].empty()&&"char"==r.unit&&!r.extend?(Bo(o,so(t,u.slice(0,l).concat(u.slice(l+1)),0),{scroll:!1,origin:"*mouse"}),c=o.sel):Io(o,l,a,U):(l=0,Bo(o,new io([a],0),U),c=o.sel);var f=n;function d(e){if(0!=se(f,e))if(f=e,"rectangle"==r.unit){for(var i=[],s=t.options.tabSize,u=I(Jt(o,n.line).text,n.ch,s),h=I(Jt(o,e.line).text,e.ch,s),d=Math.min(u,h),p=Math.max(u,h),g=Math.min(n.line,e.line),v=Math.min(t.lastLine(),Math.max(n.line,e.line));g<=v;g++){var m=Jt(o,g).text,y=$(m,d,s);d==p?i.push(new oo(oe(g,y),oe(g,y))):m.length>y&&i.push(new oo(oe(g,y),oe(g,$(m,p,s))))}i.length||i.push(new oo(n,n)),Bo(o,so(t,c.ranges.slice(0,l).concat(i),l),{origin:"*mouse",scroll:!1}),t.scrollIntoView(e)}else{var b,w=a,x=Ca(t,e,r.unit),O=w.anchor;se(x.anchor,O)>0?(b=x.head,O=ue(w.from(),x.anchor)):(b=x.anchor,O=ce(w.to(),x.head));var C=c.ranges.slice(0);C[l]=Sa(t,new oo(fe(o,O),b)),Bo(o,so(t,C,l),U)}}var p=i.wrapper.getBoundingClientRect(),g=0;function v(e){var n=++g,s=Rr(t,e,!0,"rectangle"==r.unit);if(s)if(0!=se(s,f)){t.curOp.focus=M(),d(s);var a=ei(i,o);(s.line>=a.to||s.linep.bottom?20:0;l&&setTimeout(Mi(t,(function(){g==n&&(i.scroller.scrollTop+=l,v(e))})),50)}}function m(e){t.state.selectingText=!1,g=1/0,e&&(Ot(e),i.input.focus()),vt(i.wrapper.ownerDocument,"mousemove",y),vt(i.wrapper.ownerDocument,"mouseup",b),o.history.lastSelOrigin=null}var y=Mi(t,(function(t){0!==t.buttons&&_t(t)?v(t):m(t)})),b=Mi(t,m);t.state.selectingText=b,pt(i.wrapper.ownerDocument,"mousemove",y),pt(i.wrapper.ownerDocument,"mouseup",b)}function Sa(t,e){var n=e.anchor,r=e.head,i=Jt(t.doc,n.line);if(0==se(n,r)&&n.sticky==r.sticky)return e;var o=ft(i);if(!o)return e;var s=ut(o,n.ch,n.sticky),a=o[s];if(a.from!=n.ch&&a.to!=n.ch)return e;var l,c=s+(a.from==n.ch==(1!=a.level)?0:1);if(0==c||c==o.length)return e;if(r.line!=n.line)l=(r.line-n.line)*("ltr"==t.doc.direction?1:-1)>0;else{var u=ut(o,r.ch,r.sticky),h=u-s||(r.ch-n.ch)*(1==a.level?-1:1);l=u==c-1||u==c?h<0:h>0}var f=o[c+(l?-1:0)],d=l==(1==f.level),p=d?f.from:f.to,g=d?"after":"before";return n.ch==p&&n.sticky==g?e:new oo(new oe(n.line,p,g),r)}function Pa(t,e,n,r){var i,o;if(e.touches)i=e.touches[0].clientX,o=e.touches[0].clientY;else try{i=e.clientX,o=e.clientY}catch(t){return!1}if(i>=Math.floor(t.display.gutters.getBoundingClientRect().right))return!1;r&&Ot(e);var s=t.display,a=s.lineDiv.getBoundingClientRect();if(o>a.bottom||!wt(t,n))return kt(e);o-=a.top-s.viewOffset;for(var l=0;l=i)return mt(t,n,t,ne(t.doc,o),t.display.gutterSpecs[l].className,e),kt(e)}}function _a(t,e){return Pa(t,e,"gutterClick",!0)}function Ta(t,e){Un(t.display,e)||Ea(t,e)||yt(t,e,"contextmenu")||C||t.display.input.onContextMenu(e)}function Ea(t,e){return!!wt(t,"gutterContextMenu")&&Pa(t,e,"gutterContextMenu",!1)}function ja(t){t.display.wrapper.className=t.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+t.options.theme.replace(/(^|\s)\s*/g," cm-s-"),fr(t)}va.prototype.compare=function(t,e,n){return this.time+ga>t&&0==se(e,this.pos)&&n==this.button};var Da={toString:function(){return"CodeMirror.Init"}},Ma={},Aa={};function La(t){var e=t.optionHandlers;function n(n,r,i,o){t.defaults[n]=r,i&&(e[n]=o?function(t,e,n){n!=Da&&i(t,e,n)}:i)}t.defineOption=n,t.Init=Da,n("value","",(function(t,e){return t.setValue(e)}),!0),n("mode",null,(function(t,e){t.doc.modeOption=e,po(t)}),!0),n("indentUnit",2,po,!0),n("indentWithTabs",!1),n("smartIndent",!0),n("tabSize",4,(function(t){go(t),fr(t),Zr(t)}),!0),n("lineSeparator",null,(function(t,e){if(t.doc.lineSep=e,e){var n=[],r=t.doc.first;t.doc.iter((function(t){for(var i=0;;){var o=t.text.indexOf(e,i);if(-1==o)break;i=o+e.length,n.push(oe(r,o))}r++}));for(var i=n.length-1;i>=0;i--)is(t.doc,e,n[i],oe(n[i].line,n[i].ch+e.length))}})),n("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b\u200e\u200f\u2028\u2029\ufeff\ufff9-\ufffc]/g,(function(t,e,n){t.state.specialChars=new RegExp(e.source+(e.test("\t")?"":"|\t"),"g"),n!=Da&&t.refresh()})),n("specialCharPlaceholder",vn,(function(t){return t.refresh()}),!0),n("electricChars",!0),n("inputStyle",m?"contenteditable":"textarea",(function(){throw new Error("inputStyle can not (yet) be changed in a running editor")}),!0),n("spellcheck",!1,(function(t,e){return t.getInputField().spellcheck=e}),!0),n("autocorrect",!1,(function(t,e){return t.getInputField().autocorrect=e}),!0),n("autocapitalize",!1,(function(t,e){return t.getInputField().autocapitalize=e}),!0),n("rtlMoveVisually",!w),n("wholeLineUpdateBefore",!0),n("theme","default",(function(t){ja(t),Ji(t)}),!0),n("keyMap","default",(function(t,e,n){var r=Ws(e),i=n!=Da&&Ws(n);i&&i.detach&&i.detach(t,r),r.attach&&r.attach(t,i||null)})),n("extraKeys",null),n("configureMouse",null),n("lineWrapping",!1,Na,!0),n("gutters",[],(function(t,e){t.display.gutterSpecs=Ki(e,t.options.lineNumbers),Ji(t)}),!0),n("fixedGutter",!0,(function(t,e){t.display.gutters.style.left=e?Mr(t.display)+"px":"0",t.refresh()}),!0),n("coverGutterNextToScrollbar",!1,(function(t){return yi(t)}),!0),n("scrollbarStyle","native",(function(t){xi(t),yi(t),t.display.scrollbars.setScrollTop(t.doc.scrollTop),t.display.scrollbars.setScrollLeft(t.doc.scrollLeft)}),!0),n("lineNumbers",!1,(function(t,e){t.display.gutterSpecs=Ki(t.options.gutters,e),Ji(t)}),!0),n("firstLineNumber",1,Ji,!0),n("lineNumberFormatter",(function(t){return t}),Ji,!0),n("showCursorWhenSelecting",!1,zr,!0),n("resetSelectionOnContextMenu",!0),n("lineWiseCopyCut",!0),n("pasteLinesPerSelection",!0),n("selectionsMayTouch",!1),n("readOnly",!1,(function(t,e){"nocursor"==e&&(Xr(t),t.display.input.blur()),t.display.input.readOnlyChanged(e)})),n("screenReaderLabel",null,(function(t,e){e=''===e?null:e,t.display.input.screenReaderLabelChanged(e)})),n("disableInput",!1,(function(t,e){e||t.display.input.reset()}),!0),n("dragDrop",!0,Ra),n("allowDropFileTypes",null),n("cursorBlinkRate",530),n("cursorScrollMargin",0),n("cursorHeight",1,zr,!0),n("singleCursorHeightPerLine",!0,zr,!0),n("workTime",100),n("workDelay",100),n("flattenSpans",!0,go,!0),n("addModeClass",!1,go,!0),n("pollInterval",100),n("undoDepth",200,(function(t,e){return t.doc.history.undoDepth=e})),n("historyEventDelay",1250),n("viewportMargin",10,(function(t){return t.refresh()}),!0),n("maxHighlightLength",1e4,go,!0),n("moveInputWithCursor",!0,(function(t,e){e||t.display.input.resetPosition()})),n("tabindex",null,(function(t,e){return t.display.input.getField().tabIndex=e||""})),n("autofocus",null),n("direction","ltr",(function(t,e){return t.doc.setDirection(e)}),!0),n("phrases",null)}function Ra(t,e,n){if(!e!=!(n&&n!=Da)){var r=t.display.dragFunctions,i=e?pt:vt;i(t.display.scroller,"dragstart",r.start),i(t.display.scroller,"dragenter",r.enter),i(t.display.scroller,"dragover",r.over),i(t.display.scroller,"dragleave",r.leave),i(t.display.scroller,"drop",r.drop)}}function Na(t){t.options.lineWrapping?(A(t.display.wrapper,"CodeMirror-wrap"),t.display.sizer.style.minWidth="",t.display.sizerWidth=null):(P(t.display.wrapper,"CodeMirror-wrap"),ln(t)),Lr(t),Zr(t),fr(t),setTimeout((function(){return yi(t)}),100)}function Za(t,e){var n=this;if(!(this instanceof Za))return new Za(t,e);this.options=e=e?Z(e):{},Z(Ma,e,!1);var r=e.value;"string"==typeof r?r=new Cs(r,e.mode,null,e.lineSeparator,e.direction):e.mode&&(r.modeOption=e.mode),this.doc=r;var i=new Za.inputStyles[e.inputStyle](this),o=this.display=new Xi(t,r,i,e);for(var c in o.wrapper.CodeMirror=this,ja(this),e.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),xi(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new F,keySeq:null,specialChars:null},e.autofocus&&!m&&o.input.focus(),s&&a<11&&setTimeout((function(){return n.display.input.reset(!0)}),20),Ia(this),Ds(),Ci(this),this.curOp.forceUpdate=!0,bo(this,r),e.autofocus&&!m||this.hasFocus()?setTimeout((function(){n.hasFocus()&&!n.state.focused&&Jr(n)}),20):Xr(this),Aa)Aa.hasOwnProperty(c)&&Aa[c](this,e[c],Da);Gi(this),e.finishInit&&e.finishInit(this);for(var u=0;u400}pt(e.scroller,"touchstart",(function(i){if(!yt(t,i)&&!o(i)&&!_a(t,i)){e.input.ensurePolled(),clearTimeout(n);var s=+new Date;e.activeTouch={start:s,moved:!1,prev:s-r.end<=300?r:null},1==i.touches.length&&(e.activeTouch.left=i.touches[0].pageX,e.activeTouch.top=i.touches[0].pageY)}})),pt(e.scroller,"touchmove",(function(){e.activeTouch&&(e.activeTouch.moved=!0)})),pt(e.scroller,"touchend",(function(n){var r=e.activeTouch;if(r&&!Un(e,n)&&null!=r.left&&!r.moved&&new Date-r.start<300){var o,s=t.coordsChar(e.activeTouch,"page");o=!r.prev||l(r,r.prev)?new oo(s,s):!r.prev.prev||l(r,r.prev.prev)?t.findWordAt(s):new oo(oe(s.line,0),fe(t.doc,oe(s.line+1,0))),t.setSelection(o.anchor,o.head),t.focus(),Ot(n)}i()})),pt(e.scroller,"touchcancel",i),pt(e.scroller,"scroll",(function(){e.scroller.clientHeight&&(fi(t,e.scroller.scrollTop),pi(t,e.scroller.scrollLeft,!0),mt(t,"scroll",t))})),pt(e.scroller,"mousewheel",(function(e){return ro(t,e)})),pt(e.scroller,"DOMMouseScroll",(function(e){return ro(t,e)})),pt(e.wrapper,"scroll",(function(){return e.wrapper.scrollTop=e.wrapper.scrollLeft=0})),e.dragFunctions={enter:function(e){yt(t,e)||St(e)},over:function(e){yt(t,e)||(_s(t,e),St(e))},start:function(e){return Ps(t,e)},drop:Mi(t,Ss),leave:function(e){yt(t,e)||Ts(t)}};var c=e.input.getField();pt(c,"keyup",(function(e){return ha.call(t,e)})),pt(c,"keydown",Mi(t,ca)),pt(c,"keypress",Mi(t,fa)),pt(c,"focus",(function(e){return Jr(t,e)})),pt(c,"blur",(function(e){return Xr(t,e)}))}Za.defaults=Ma,Za.optionHandlers=Aa;var Fa=[];function Va(t,e,n,r){var i,o=t.doc;null==n&&(n="add"),"smart"==n&&(o.mode.indent?i=be(t,e).state:n="prev");var s=t.options.tabSize,a=Jt(o,e),l=I(a.text,null,s);a.stateAfter&&(a.stateAfter=null);var c,u=a.text.match(/^\s*/)[0];if(r||/\S/.test(a.text)){if("smart"==n&&((c=o.mode.indent(i,a.text.slice(u.length),a.text))==B||c>150)){if(!r)return;n="prev"}}else c=0,n="not";"prev"==n?c=e>o.first?I(Jt(o,e-1).text,null,s):0:"add"==n?c=l+t.options.indentUnit:"subtract"==n?c=l-t.options.indentUnit:"number"==typeof n&&(c=l+n),c=Math.max(0,c);var h="",f=0;if(t.options.indentWithTabs)for(var d=Math.floor(c/s);d;--d)f+=s,h+="\t";if(fs,l=Lt(e),c=null;if(a&&r.ranges.length>1)if(Ha&&Ha.text.join("\n")==e){if(r.ranges.length%Ha.text.length==0){c=[];for(var u=0;u=0;f--){var d=r.ranges[f],p=d.from(),g=d.to();d.empty()&&(n&&n>0?p=oe(p.line,p.ch-n):t.state.overwrite&&!a?g=oe(g.line,Math.min(Jt(o,g.line).text.length,g.ch+K(l).length)):a&&Ha&&Ha.lineWise&&Ha.text.join("\n")==l.join("\n")&&(p=g=oe(p.line,0)));var v={from:p,to:g,text:c?c[f%c.length]:l,origin:i||(a?"paste":t.state.cutIncoming>s?"cut":"+input")};Xo(t.doc,v),En(t,"inputRead",t,v)}e&&!a&&Wa(t,e),ai(t),t.curOp.updateInput<2&&(t.curOp.updateInput=h),t.curOp.typing=!0,t.state.pasteIncoming=t.state.cutIncoming=-1}function Ua(t,e){var n=t.clipboardData&&t.clipboardData.getData("Text");if(n)return t.preventDefault(),e.isReadOnly()||e.options.disableInput||Di(e,(function(){return za(e,n,0,null,"paste")})),!0}function Wa(t,e){if(t.options.electricChars&&t.options.smartIndent)for(var n=t.doc.sel,r=n.ranges.length-1;r>=0;r--){var i=n.ranges[r];if(!(i.head.ch>100||r&&n.ranges[r-1].head.line==i.head.line)){var o=t.getModeAt(i.head),s=!1;if(o.electricChars){for(var a=0;a-1){s=Va(t,i.head.line,"smart");break}}else o.electricInput&&o.electricInput.test(Jt(t.doc,i.head.line).text.slice(0,i.head.ch))&&(s=Va(t,i.head.line,"smart"));s&&En(t,"electricInput",t,i.head.line)}}}function $a(t){for(var e=[],n=[],r=0;rn&&(Va(this,i.head.line,t,!0),n=i.head.line,r==this.doc.sel.primIndex&&ai(this));else{var o=i.from(),s=i.to(),a=Math.max(n,o.line);n=Math.min(this.lastLine(),s.line-(s.ch?0:1))+1;for(var l=a;l0&&Io(this.doc,r,new oo(o,c[r].to()),z)}}})),getTokenAt:function(t,e){return ke(this,t,e)},getLineTokens:function(t,e){return ke(this,oe(t),e,!0)},getTokenTypeAt:function(t){t=fe(this.doc,t);var e,n=ye(this,Jt(this.doc,t.line)),r=0,i=(n.length-1)/2,o=t.ch;if(0==o)e=n[2];else for(;;){var s=r+i>>1;if((s?n[2*s-1]:0)>=o)i=s;else{if(!(n[2*s+1]o&&(t=o,i=!0),r=Jt(this.doc,t)}else r=t;return vr(this,r,{top:0,left:0},e||"page",n||i).top+(i?this.doc.height-sn(r):0)},defaultTextHeight:function(){return Er(this.display)},defaultCharWidth:function(){return jr(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(t,e,n,r,i){var o=this.display,s=(t=br(this,fe(this.doc,t))).bottom,a=t.left;if(e.style.position="absolute",e.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(e),o.sizer.appendChild(e),"over"==r)s=t.top;else if("above"==r||"near"==r){var l=Math.max(o.wrapper.clientHeight,this.doc.height),c=Math.max(o.sizer.clientWidth,o.lineSpace.clientWidth);('above'==r||t.bottom+e.offsetHeight>l)&&t.top>e.offsetHeight?s=t.top-e.offsetHeight:t.bottom+e.offsetHeight<=l&&(s=t.bottom),a+e.offsetWidth>c&&(a=c-e.offsetWidth)}e.style.top=s+"px",e.style.left=e.style.right="","right"==i?(a=o.sizer.clientWidth-e.offsetWidth,e.style.right="0px"):("left"==i?a=0:"middle"==i&&(a=(o.sizer.clientWidth-e.offsetWidth)/2),e.style.left=a+"px"),n&&ii(this,{left:a,top:s,right:a+e.offsetWidth,bottom:s+e.offsetHeight})},triggerOnKeyDown:Ai(ca),triggerOnKeyPress:Ai(fa),triggerOnKeyUp:ha,triggerOnMouseDown:Ai(ya),execCommand:function(t){if(Js.hasOwnProperty(t))return Js[t].call(null,this)},triggerElectric:Ai((function(t){Wa(this,t)})),findPosH:function(t,e,n,r){var i=1;e<0&&(i=-1,e=-e);for(var o=fe(this.doc,t),s=0;s0&&s(e.charAt(n-1));)--n;for(;r.5||this.options.lineWrapping)&&Lr(this),mt(this,"refresh",this)})),swapDoc:Ai((function(t){var e=this.doc;return e.cm=null,this.state.selectingText&&this.state.selectingText(),bo(this,t),fr(this),this.display.input.reset(),li(this,t.scrollLeft,t.scrollTop),this.curOp.forceScroll=!0,En(this,"swapDoc",this,e),e})),phrase:function(t){var e=this.options.phrases;return e&&Object.prototype.hasOwnProperty.call(e,t)?e[t]:t},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},xt(t),t.registerHelper=function(e,r,i){n.hasOwnProperty(e)||(n[e]=t[e]={_global:[]}),n[e][r]=i},t.registerGlobalHelper=function(e,r,i,o){t.registerHelper(e,r,o),n[e]._global.push({pred:i,val:o})}}function Ya(t,e,n,r,i){var o=e,s=n,a=Jt(t,e.line),l=i&&"rtl"==t.direction?-n:n;function c(){var n=e.line+l;return!(n=t.first+t.size)&&(e=new oe(n,e.ch,e.sticky),a=Jt(t,n))}function u(o){var s;if("codepoint"==r){var u=a.text.charCodeAt(e.ch+(n>0?0:-1));if(isNaN(u))s=null;else{var h=n>0?u>=55296&&u<56320:u>=56320&&u<57343;s=new oe(e.line,Math.max(0,Math.min(a.text.length,e.ch+n*(h?2:1))),-n)}}else s=i?Ys(t.cm,a,e,n):Gs(a,e,n);if(null==s){if(o||!c())return!1;e=Ks(i,t.cm,a,e.line,l)}else e=s;return!0}if("char"==r||"codepoint"==r)u();else if("column"==r)u(!0);else if("word"==r||"group"==r)for(var h=null,f="group"==r,d=t.cm&&t.cm.getHelper(e,"wordChars"),p=!0;!(n<0)||u(!p);p=!1){var g=a.text.charAt(e.ch)||"\n",v=nt(g,d)?"w":f&&"\n"==g?"n":!f||/\s/.test(g)?null:"p";if(!f||p||v||(v="s"),h&&h!=v){n<0&&(n=1,u(),e.sticky="after");break}if(v&&(h=v),n>0&&!u(!p))break}var m=Go(t,e,o,s,!0);return ae(o,m)&&(m.hitSide=!0),m}function Ja(t,e,n,r){var i,o,s=t.doc,a=e.left;if("page"==r){var l=Math.min(t.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),c=Math.max(l-.5*Er(t.display),3);i=(n>0?e.bottom:e.top)+n*c}else"line"==r&&(i=n>0?e.bottom+3:e.top-3);for(;(o=Or(t,a,i)).outside;){if(n<0?i<=0:i>=s.height){o.hitSide=!0;break}i+=5*n}return o}var Xa=function(t){this.cm=t,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new F,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};function Qa(t,e){var n=er(t,e.line);if(!n||n.hidden)return null;var r=Jt(t.doc,e.line),i=Xn(n,r,e.line),o=ft(r,t.doc.direction),s="left";o&&(s=ut(o,e.ch)%2?"right":"left");var a=sr(i.map,e.ch,s);return a.offset="right"==a.collapse?a.end:a.start,a}function tl(t){for(var e=t;e;e=e.parentNode)if(/CodeMirror-gutter-wrapper/.test(e.className))return!0;return!1}function el(t,e){return e&&(t.bad=!0),t}function nl(t,e,n,r,i){var o="",s=!1,a=t.doc.lineSeparator(),l=!1;function c(t){return function(e){return e.id==t}}function u(){s&&(o+=a,l&&(o+=a),s=l=!1)}function h(t){t&&(u(),o+=t)}function f(e){if(1==e.nodeType){var n=e.getAttribute("cm-text");if(n)return void h(n);var o,d=e.getAttribute("cm-marker");if(d){var p=t.findMarks(oe(r,0),oe(i+1,0),c(+d));return void(p.length&&(o=p[0].find(0))&&h(Xt(t.doc,o.from,o.to).join(a)))}if("false"==e.getAttribute("contenteditable"))return;var g=/^(pre|div|p|li|table|br)$/i.test(e.nodeName);if(!/^br$/i.test(e.nodeName)&&0==e.textContent.length)return;g&&u();for(var v=0;v=e.display.viewTo||o.line=e.display.viewFrom&&Qa(e,i)||{node:l[0].measure.map[2],offset:0},u=o.liner.firstLine()&&(s=oe(s.line-1,Jt(r.doc,s.line-1).length)),a.ch==Jt(r.doc,a.line).text.length&&a.linei.viewTo-1)return!1;s.line==i.viewFrom||0==(t=Nr(r,s.line))?(e=ee(i.view[0].line),n=i.view[0].node):(e=ee(i.view[t].line),n=i.view[t-1].node.nextSibling);var l,c,u=Nr(r,a.line);if(u==i.view.length-1?(l=i.viewTo-1,c=i.lineDiv.lastChild):(l=ee(i.view[u+1].line)-1,c=i.view[u+1].node.previousSibling),!n)return!1;for(var h=r.doc.splitLines(nl(r,n,c,e,l)),f=Xt(r.doc,oe(e,0),oe(l,Jt(r.doc,l).text.length));h.length>1&&f.length>1;)if(K(h)==K(f))h.pop(),f.pop(),l--;else{if(h[0]!=f[0])break;h.shift(),f.shift(),e++}for(var d=0,p=0,g=h[0],v=f[0],m=Math.min(g.length,v.length);ds.ch&&y.charCodeAt(y.length-p-1)==b.charCodeAt(b.length-p-1);)d--,p++;h[h.length-1]=y.slice(0,y.length-p).replace(/^\u200b+/,""),h[0]=h[0].slice(d).replace(/\u200b+$/,"");var x=oe(e,d),O=oe(l,f.length?K(f).length-p:0);return h.length>1||h[0]||se(x,O)?(is(r.doc,h,x,O,"+input"),!0):void 0},Xa.prototype.ensurePolled=function(){this.forceCompositionEnd()},Xa.prototype.reset=function(){this.forceCompositionEnd()},Xa.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},Xa.prototype.readFromDOMSoon=function(){var t=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout((function(){if(t.readDOMTimeout=null,t.composing){if(!t.composing.done)return;t.composing=null}t.updateFromDOM()}),80))},Xa.prototype.updateFromDOM=function(){var t=this;!this.cm.isReadOnly()&&this.pollContent()||Di(this.cm,(function(){return Zr(t.cm)}))},Xa.prototype.setUneditable=function(t){t.contentEditable="false"},Xa.prototype.onKeyPress=function(t){0==t.charCode||this.composing||(t.preventDefault(),this.cm.isReadOnly()||Mi(this.cm,za)(this.cm,String.fromCharCode(null==t.charCode?t.keyCode:t.charCode),0))},Xa.prototype.readOnlyChanged=function(t){this.div.contentEditable=String("nocursor"!=t)},Xa.prototype.onContextMenu=function(){},Xa.prototype.resetPosition=function(){},Xa.prototype.needsContentAttribute=!0;var ol=function(t){this.cm=t,this.prevInput="",this.pollingFast=!1,this.polling=new F,this.hasSelection=!1,this.composing=null};function sl(t,e){if((e=e?Z(e):{}).value=t.value,!e.tabindex&&t.tabIndex&&(e.tabindex=t.tabIndex),!e.placeholder&&t.placeholder&&(e.placeholder=t.placeholder),null==e.autofocus){var n=M();e.autofocus=n==t||null!=t.getAttribute("autofocus")&&n==document.body}function r(){t.value=a.getValue()}var i;if(t.form&&(pt(t.form,"submit",r),!e.leaveSubmitMethodAlone)){var o=t.form;i=o.submit;try{var s=o.submit=function(){r(),o.submit=i,o.submit(),o.submit=s}}catch(t){}}e.finishInit=function(n){n.save=r,n.getTextArea=function(){return t},n.toTextArea=function(){n.toTextArea=isNaN,r(),t.parentNode.removeChild(n.getWrapperElement()),t.style.display="",t.form&&(vt(t.form,"submit",r),e.leaveSubmitMethodAlone||"function"!=typeof t.form.submit||(t.form.submit=i))}},t.style.display="none";var a=Za((function(e){return t.parentNode.insertBefore(e,t.nextSibling)}),e);return a}function al(t){t.off=vt,t.on=pt,t.wheelEventPixels=no,t.Doc=Cs,t.splitLines=Lt,t.countColumn=I,t.findColumn=$,t.isWordChar=et,t.Pass=B,t.signal=mt,t.Line=cn,t.changeEnd=lo,t.scrollbarModel=wi,t.Pos=oe,t.cmpPos=se,t.modes=Ft,t.mimeModes=Vt,t.resolveMode=zt,t.getMode=Ut,t.modeExtensions=Wt,t.extendMode=$t,t.copyState=qt,t.startState=Kt,t.innerMode=Gt,t.commands=Js,t.keyMap=Is,t.keyName=Us,t.isModifierKey=Bs,t.lookupKey=Hs,t.normalizeKeyMap=Vs,t.StringStream=Yt,t.SharedTextMarker=ms,t.TextMarker=gs,t.LineWidget=hs,t.e_preventDefault=Ot,t.e_stopPropagation=Ct,t.e_stop=St,t.addClass=A,t.contains=D,t.rmClass=P,t.keyNames=Ls}ol.prototype.init=function(t){var e=this,n=this,r=this.cm;this.createField(t);var i=this.textarea;function o(t){if(!yt(r,t)){if(r.somethingSelected())Ba({lineWise:!1,text:r.getSelections()});else{if(!r.options.lineWiseCopyCut)return;var e=$a(r);Ba({lineWise:!0,text:e.text}),"cut"==t.type?r.setSelections(e.ranges,null,z):(n.prevInput="",i.value=e.text.join("\n"),R(i))}"cut"==t.type&&(r.state.cutIncoming=+new Date)}}t.wrapper.insertBefore(this.wrapper,t.wrapper.firstChild),g&&(i.style.width="0px"),pt(i,"input",(function(){s&&a>=9&&e.hasSelection&&(e.hasSelection=null),n.poll()})),pt(i,"paste",(function(t){yt(r,t)||Ua(t,r)||(r.state.pasteIncoming=+new Date,n.fastPoll())})),pt(i,"cut",o),pt(i,"copy",o),pt(t.scroller,"paste",(function(e){if(!Un(t,e)&&!yt(r,e)){if(!i.dispatchEvent)return r.state.pasteIncoming=+new Date,void n.focus();var o=new Event("paste");o.clipboardData=e.clipboardData,i.dispatchEvent(o)}})),pt(t.lineSpace,"selectstart",(function(e){Un(t,e)||Ot(e)})),pt(i,"compositionstart",(function(){var t=r.getCursor("from");n.composing&&n.composing.range.clear(),n.composing={start:t,range:r.markText(t,r.getCursor("to"),{className:"CodeMirror-composing"})}})),pt(i,"compositionend",(function(){n.composing&&(n.poll(),n.composing.range.clear(),n.composing=null)}))},ol.prototype.createField=function(t){this.wrapper=Ga(),this.textarea=this.wrapper.firstChild},ol.prototype.screenReaderLabelChanged=function(t){t?this.textarea.setAttribute('aria-label',t):this.textarea.removeAttribute('aria-label')},ol.prototype.prepareSelection=function(){var t=this.cm,e=t.display,n=t.doc,r=Ur(t);if(t.options.moveInputWithCursor){var i=br(t,n.sel.primary().head,"div"),o=e.wrapper.getBoundingClientRect(),s=e.lineDiv.getBoundingClientRect();r.teTop=Math.max(0,Math.min(e.wrapper.clientHeight-10,i.top+s.top-o.top)),r.teLeft=Math.max(0,Math.min(e.wrapper.clientWidth-10,i.left+s.left-o.left))}return r},ol.prototype.showSelection=function(t){var e=this.cm.display;T(e.cursorDiv,t.cursors),T(e.selectionDiv,t.selection),null!=t.teTop&&(this.wrapper.style.top=t.teTop+"px",this.wrapper.style.left=t.teLeft+"px")},ol.prototype.reset=function(t){if(!this.contextMenuPending&&!this.composing){var e=this.cm;if(e.somethingSelected()){this.prevInput="";var n=e.getSelection();this.textarea.value=n,e.state.focused&&R(this.textarea),s&&a>=9&&(this.hasSelection=n)}else t||(this.prevInput=this.textarea.value="",s&&a>=9&&(this.hasSelection=null))}},ol.prototype.getField=function(){return this.textarea},ol.prototype.supportsTouch=function(){return!1},ol.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!m||M()!=this.textarea))try{this.textarea.focus()}catch(t){}},ol.prototype.blur=function(){this.textarea.blur()},ol.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},ol.prototype.receivedFocus=function(){this.slowPoll()},ol.prototype.slowPoll=function(){var t=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,(function(){t.poll(),t.cm.state.focused&&t.slowPoll()}))},ol.prototype.fastPoll=function(){var t=!1,e=this;function n(){e.poll()||t?(e.pollingFast=!1,e.slowPoll()):(t=!0,e.polling.set(60,n))}e.pollingFast=!0,e.polling.set(20,n)},ol.prototype.poll=function(){var t=this,e=this.cm,n=this.textarea,r=this.prevInput;if(this.contextMenuPending||!e.state.focused||Rt(n)&&!r&&!this.composing||e.isReadOnly()||e.options.disableInput||e.state.keySeq)return!1;var i=n.value;if(i==r&&!e.somethingSelected())return!1;if(s&&a>=9&&this.hasSelection===i||y&&/[\uf700-\uf7ff]/.test(i))return e.display.input.reset(),!1;if(e.doc.sel==e.display.selForContextMenu){var o=i.charCodeAt(0);if(8203!=o||r||(r="​"),8666==o)return this.reset(),this.cm.execCommand("undo")}for(var l=0,c=Math.min(r.length,i.length);l1e3||i.indexOf("\n")>-1?n.value=t.prevInput="":t.prevInput=i,t.composing&&(t.composing.range.clear(),t.composing.range=e.markText(t.composing.start,e.getCursor("to"),{className:"CodeMirror-composing"}))})),!0},ol.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},ol.prototype.onKeyPress=function(){s&&a>=9&&(this.hasSelection=null),this.fastPoll()},ol.prototype.onContextMenu=function(t){var e=this,n=e.cm,r=n.display,i=e.textarea;e.contextMenuPending&&e.contextMenuPending();var o=Rr(n,t),c=r.scroller.scrollTop;if(o&&!h){n.options.resetSelectionOnContextMenu&&-1==n.doc.sel.contains(o)&&Mi(n,Bo)(n.doc,ao(o),z);var u,f=i.style.cssText,d=e.wrapper.style.cssText,p=e.wrapper.offsetParent.getBoundingClientRect();if(e.wrapper.style.cssText="position: static",i.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(t.clientY-p.top-5)+"px; left: "+(t.clientX-p.left-5)+"px;\n z-index: 1000; background: "+(s?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);",l&&(u=window.scrollY),r.input.focus(),l&&window.scrollTo(null,u),r.input.reset(),n.somethingSelected()||(i.value=e.prevInput=" "),e.contextMenuPending=m,r.selForContextMenu=n.doc.sel,clearTimeout(r.detectingSelectAll),s&&a>=9&&v(),C){St(t);var g=function(){vt(window,"mouseup",g),setTimeout(m,20)};pt(window,"mouseup",g)}else setTimeout(m,50)}function v(){if(null!=i.selectionStart){var t=n.somethingSelected(),o="​"+(t?i.value:"");i.value="⇚",i.value=o,e.prevInput=t?"":"​",i.selectionStart=1,i.selectionEnd=o.length,r.selForContextMenu=n.doc.sel}}function m(){if(e.contextMenuPending==m&&(e.contextMenuPending=!1,e.wrapper.style.cssText=d,i.style.cssText=f,s&&a<9&&r.scrollbars.setScrollTop(r.scroller.scrollTop=c),null!=i.selectionStart)){(!s||s&&a<9)&&v();var t=0,o=function(){r.selForContextMenu==n.doc.sel&&0==i.selectionStart&&i.selectionEnd>0&&"​"==e.prevInput?Mi(n,Yo)(n):t++<10?r.detectingSelectAll=setTimeout(o,500):(r.selForContextMenu=null,r.input.reset())};r.detectingSelectAll=setTimeout(o,200)}}},ol.prototype.readOnlyChanged=function(t){t||this.reset(),this.textarea.disabled="nocursor"==t,this.textarea.readOnly=!!t},ol.prototype.setUneditable=function(){},ol.prototype.needsContentAttribute=!1,La(Za),Ka(Za);var ll="iter insert remove copy getEditor constructor".split(" ");for(var cl in Cs.prototype)Cs.prototype.hasOwnProperty(cl)&&V(ll,cl)<0&&(Za.prototype[cl]=function(t){return function(){return t.apply(this.doc,arguments)}}(Cs.prototype[cl]));return xt(Cs),Za.inputStyles={textarea:ol,contenteditable:Xa},Za.defineMode=function(t){Za.defaults.mode||"null"==t||(Za.defaults.mode=t),Ht.apply(this,arguments)},Za.defineMIME=Bt,Za.defineMode("null",(function(){return{token:function(t){return t.skipToEnd()}}})),Za.defineMIME("text/plain","null"),Za.defineExtension=function(t,e){Za.prototype[t]=e},Za.defineDocExtension=function(t,e){Cs.prototype[t]=e},Za.fromTextArea=sl,al(Za),Za.version="5.63.0",Za}()},6629:(t,e,n)=>{!function(t){"use strict";function e(t){for(var e={},n=0;n*\/]/.test(n)?O(null,"select-op"):"."==n&&t.match(/^-?[_a-z][_a-z0-9-]*/i)?O("qualifier","qualifier"):/[:;{}\[\]\(\)]/.test(n)?O(null,n):t.match(/^[\w-.]+(?=\()/)?(/^(url(-prefix)?|domain|regexp)$/i.test(t.current())&&(e.tokenize=S),O("variable callee","variable")):/[\w\\\-]/.test(n)?(t.eatWhile(/[\w\\\-]/),O("property","word")):O(null,null):/[\d.]/.test(t.peek())?(t.eatWhile(/[\w.%]/),O("number","unit")):t.match(/^-[\w\\\-]*/)?(t.eatWhile(/[\w\\\-]/),t.match(/^\s*:/,!1)?O("variable-2","variable-definition"):O("variable-2","variable")):t.match(/^\w+-/)?O("meta","meta"):void 0}function k(t){return function(e,n){for(var r,i=!1;null!=(r=e.next());){if(r==t&&!i){")"==t&&e.backUp(1);break}i=!i&&"\\"==r}return(r==t||!i&&")"!=t)&&(n.tokenize=null),O("string","string")}}function S(t,e){return t.next(),t.match(/^\s*[\"\')]/,!1)?e.tokenize=null:e.tokenize=k(")"),O(null,"(")}function P(t,e,n){this.type=t,this.indent=e,this.prev=n}function _(t,e,n,r){return t.context=new P(n,e.indentation()+(!1===r?0:s),t.context),n}function T(t){return t.context.prev&&(t.context=t.context.prev),t.context.type}function E(t,e,n){return M[n.context.type](t,e,n)}function j(t,e,n,r){for(var i=r||1;i>0;i--)n.context=n.context.prev;return E(t,e,n)}function D(t){var e=t.current().toLowerCase();o=m.hasOwnProperty(e)?"atom":v.hasOwnProperty(e)?"keyword":"variable"}var M={top:function(t,e,n){if("{"==t)return _(n,e,"block");if("}"==t&&n.context.prev)return T(n);if(w&&/@component/i.test(t))return _(n,e,"atComponentBlock");if(/^@(-moz-)?document$/i.test(t))return _(n,e,"documentTypes");if(/^@(media|supports|(-moz-)?document|import)$/i.test(t))return _(n,e,"atBlock");if(/^@(font-face|counter-style)/i.test(t))return n.stateArg=t,"restricted_atBlock_before";if(/^@(-(moz|ms|o|webkit)-)?keyframes$/i.test(t))return"keyframes";if(t&&"@"==t.charAt(0))return _(n,e,"at");if("hash"==t)o="builtin";else if("word"==t)o="tag";else{if("variable-definition"==t)return"maybeprop";if("interpolation"==t)return _(n,e,"interpolation");if(":"==t)return"pseudo";if(y&&"("==t)return _(n,e,"parens")}return n.context.type},block:function(t,e,n){if("word"==t){var r=e.current().toLowerCase();return f.hasOwnProperty(r)?(o="property","maybeprop"):d.hasOwnProperty(r)?(o=x?"string-2":"property","maybeprop"):y?(o=e.match(/^\s*:(?:\s|$)/,!1)?"property":"tag","block"):(o+=" error","maybeprop")}return"meta"==t?"block":y||"hash"!=t&&"qualifier"!=t?M.top(t,e,n):(o="error","block")},maybeprop:function(t,e,n){return":"==t?_(n,e,"prop"):E(t,e,n)},prop:function(t,e,n){if(";"==t)return T(n);if("{"==t&&y)return _(n,e,"propBlock");if("}"==t||"{"==t)return j(t,e,n);if("("==t)return _(n,e,"parens");if("hash"!=t||/^#([0-9a-fA-f]{3,4}|[0-9a-fA-f]{6}|[0-9a-fA-f]{8})$/.test(e.current())){if("word"==t)D(e);else if("interpolation"==t)return _(n,e,"interpolation")}else o+=" error";return"prop"},propBlock:function(t,e,n){return"}"==t?T(n):"word"==t?(o="property","maybeprop"):n.context.type},parens:function(t,e,n){return"{"==t||"}"==t?j(t,e,n):")"==t?T(n):"("==t?_(n,e,"parens"):"interpolation"==t?_(n,e,"interpolation"):("word"==t&&D(e),"parens")},pseudo:function(t,e,n){return"meta"==t?"pseudo":"word"==t?(o="variable-3",n.context.type):E(t,e,n)},documentTypes:function(t,e,n){return"word"==t&&l.hasOwnProperty(e.current())?(o="tag",n.context.type):M.atBlock(t,e,n)},atBlock:function(t,e,n){if("("==t)return _(n,e,"atBlock_parens");if("}"==t||";"==t)return j(t,e,n);if("{"==t)return T(n)&&_(n,e,y?"block":"top");if("interpolation"==t)return _(n,e,"interpolation");if("word"==t){var r=e.current().toLowerCase();o="only"==r||"not"==r||"and"==r||"or"==r?"keyword":c.hasOwnProperty(r)?"attribute":u.hasOwnProperty(r)?"property":h.hasOwnProperty(r)?"keyword":f.hasOwnProperty(r)?"property":d.hasOwnProperty(r)?x?"string-2":"property":m.hasOwnProperty(r)?"atom":v.hasOwnProperty(r)?"keyword":"error"}return n.context.type},atComponentBlock:function(t,e,n){return"}"==t?j(t,e,n):"{"==t?T(n)&&_(n,e,y?"block":"top",!1):("word"==t&&(o="error"),n.context.type)},atBlock_parens:function(t,e,n){return")"==t?T(n):"{"==t||"}"==t?j(t,e,n,2):M.atBlock(t,e,n)},restricted_atBlock_before:function(t,e,n){return"{"==t?_(n,e,"restricted_atBlock"):"word"==t&&"@counter-style"==n.stateArg?(o="variable","restricted_atBlock_before"):E(t,e,n)},restricted_atBlock:function(t,e,n){return"}"==t?(n.stateArg=null,T(n)):"word"==t?(o="@font-face"==n.stateArg&&!p.hasOwnProperty(e.current().toLowerCase())||"@counter-style"==n.stateArg&&!g.hasOwnProperty(e.current().toLowerCase())?"error":"property","maybeprop"):"restricted_atBlock"},keyframes:function(t,e,n){return"word"==t?(o="variable","keyframes"):"{"==t?_(n,e,"top"):E(t,e,n)},at:function(t,e,n){return";"==t?T(n):"{"==t||"}"==t?j(t,e,n):("word"==t?o="tag":"hash"==t&&(o="builtin"),"at")},interpolation:function(t,e,n){return"}"==t?T(n):"{"==t||";"==t?j(t,e,n):("word"==t?o="variable":"variable"!=t&&"("!=t&&")"!=t&&(o="error"),"interpolation")}};return{startState:function(t){return{tokenize:null,state:r?"block":"top",stateArg:null,context:new P(r?"block":"top",t||0,null)}},token:function(t,e){if(!e.tokenize&&t.eatSpace())return null;var n=(e.tokenize||C)(t,e);return n&&"object"==typeof n&&(i=n[1],n=n[0]),o=n,"comment"!=i&&(e.state=M[e.state](i,t,e)),o},indent:function(t,e){var n=t.context,r=e&&e.charAt(0),i=n.indent;return"prop"!=n.type||"}"!=r&&")"!=r||(n=n.prev),n.prev&&("}"!=r||"block"!=n.type&&"top"!=n.type&&"interpolation"!=n.type&&"restricted_atBlock"!=n.type?(")"!=r||"parens"!=n.type&&"atBlock_parens"!=n.type)&&("{"!=r||"at"!=n.type&&"atBlock"!=n.type)||(i=Math.max(0,n.indent-s)):i=(n=n.prev).indent),i},electricChars:"}",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:b,fold:"brace"}}));var n=["domain","regexp","url","url-prefix"],r=e(n),i=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],o=e(i),s=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid","orientation","device-pixel-ratio","min-device-pixel-ratio","max-device-pixel-ratio","pointer","any-pointer","hover","any-hover","prefers-color-scheme"],a=e(s),l=["landscape","portrait","none","coarse","fine","on-demand","hover","interlace","progressive","dark","light"],c=e(l),u=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","all","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","binding","bleed","block-size","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-content","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-gap","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-gap","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","inset","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","left","letter-spacing","line-break","line-height","line-height-step","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","place-content","place-items","place-self","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotate","rotation","rotation-point","row-gap","ruby-align","ruby-overhang","ruby-position","ruby-span","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-type","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-orientation","text-outline","text-overflow","text-rendering","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","touch-action","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-select","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","paint-order","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode"],h=e(u),f=["accent-color","aspect-ratio","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","content-visibility","margin-block","margin-block-end","margin-block-start","margin-inline","margin-inline-end","margin-inline-start","overflow-anchor","overscroll-behavior","padding-block","padding-block-end","padding-block-start","padding-inline","padding-inline-end","padding-inline-start","scroll-snap-stop","scrollbar-3d-light-color","scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-track-color","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","shape-inside","zoom"],d=e(f),p=e(["font-display","font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"]),g=e(["additive-symbols","fallback","negative","pad","prefix","range","speak-as","suffix","symbols","system"]),v=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],m=e(v),y=["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","blur","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","brightness","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","contrast","copy","counter","counters","cover","crop","cross","crosshair","cubic-bezier","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","devanagari","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","drop-shadow","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","georgian","grayscale","graytext","grid","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hard-light","hebrew","help","hidden","hide","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","hue","hue-rotate","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","luminosity","malayalam","manipulation","match","matrix","matrix3d","media-controls-background","media-current-time-display","media-fullscreen-button","media-mute-button","media-play-button","media-return-to-realtime-button","media-rewind-button","media-seek-back-button","media-seek-forward-button","media-slider","media-sliderthumb","media-time-remaining-display","media-volume-slider","media-volume-slider-container","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menulist-text","menulist-textfield","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","multiple_mask_images","multiply","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","opacity","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturate","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","self-start","self-end","semi-condensed","semi-expanded","separate","sepia","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","somali","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","square-button","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"],b=e(y),w=n.concat(i).concat(s).concat(l).concat(u).concat(f).concat(v).concat(y);function x(t,e){for(var n,r=!1;null!=(n=t.next());){if(r&&"/"==n){e.tokenize=null;break}r="*"==n}return["comment","comment"]}t.registerHelper("hintWords","css",w),t.defineMIME("text/css",{documentTypes:r,mediaTypes:o,mediaFeatures:a,mediaValueKeywords:c,propertyKeywords:h,nonStandardPropertyKeywords:d,fontProperties:p,counterDescriptors:g,colorKeywords:m,valueKeywords:b,tokenHooks:{"/":function(t,e){return!!t.eat("*")&&(e.tokenize=x,x(t,e))}},name:"css"}),t.defineMIME("text/x-scss",{mediaTypes:o,mediaFeatures:a,mediaValueKeywords:c,propertyKeywords:h,nonStandardPropertyKeywords:d,colorKeywords:m,valueKeywords:b,fontProperties:p,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(t,e){return t.eat("/")?(t.skipToEnd(),["comment","comment"]):t.eat("*")?(e.tokenize=x,x(t,e)):["operator","operator"]},":":function(t){return!!t.match(/^\s*\{/,!1)&&[null,null]},$:function(t){return t.match(/^[\w-]+/),t.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"]},"#":function(t){return!!t.eat("{")&&[null,"interpolation"]}},name:"css",helperType:"scss"}),t.defineMIME("text/x-less",{mediaTypes:o,mediaFeatures:a,mediaValueKeywords:c,propertyKeywords:h,nonStandardPropertyKeywords:d,colorKeywords:m,valueKeywords:b,fontProperties:p,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(t,e){return t.eat("/")?(t.skipToEnd(),["comment","comment"]):t.eat("*")?(e.tokenize=x,x(t,e)):["operator","operator"]},"@":function(t){return t.eat("{")?[null,"interpolation"]:!t.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\b/i,!1)&&(t.eatWhile(/[\w\\\-]/),t.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"])},"&":function(){return["atom","atom"]}},name:"css",helperType:"less"}),t.defineMIME("text/x-gss",{documentTypes:r,mediaTypes:o,mediaFeatures:a,propertyKeywords:h,nonStandardPropertyKeywords:d,fontProperties:p,counterDescriptors:g,colorKeywords:m,valueKeywords:b,supportsAtComponent:!0,tokenHooks:{"/":function(t,e){return!!t.eat("*")&&(e.tokenize=x,x(t,e))}},name:"css",helperType:"gss"})}(n(4631))},6531:(t,e,n)=>{!function(t){"use strict";var e={script:[["lang",/(javascript|babel)/i,"javascript"],["type",/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i,"javascript"],["type",/./,"text/plain"],[null,null,"javascript"]],style:[["lang",/^css$/i,"css"],["type",/^(text\/)?(x-)?(stylesheet|css)$/i,"css"],["type",/./,"text/plain"],[null,null,"css"]]};function n(t,e,n){var r=t.current(),i=r.search(e);return i>-1?t.backUp(r.length-i):r.match(/<\/?$/)&&(t.backUp(r.length),t.match(e,!1)||t.match(r)),n}var r={};function i(t){var e=r[t];return e||(r[t]=new RegExp("\\s+"+t+"\\s*=\\s*('|\")?([^'\"]+)('|\")?\\s*"))}function o(t,e){var n=t.match(i(e));return n?/^\s*(.*?)\s*$/.exec(n[2])[1]:""}function s(t,e){return new RegExp((e?"^":"")+"","i")}function a(t,e){for(var n in t)for(var r=e[n]||(e[n]=[]),i=t[n],o=i.length-1;o>=0;o--)r.unshift(i[o])}function l(t,e){for(var n=0;n=0;f--)c.script.unshift(["type",h[f].matches,h[f].mode]);function d(e,i){var a,u=o.token(e,i.htmlState),h=/\btag\b/.test(u);if(h&&!/[<>\s\/]/.test(e.current())&&(a=i.htmlState.tagName&&i.htmlState.tagName.toLowerCase())&&c.hasOwnProperty(a))i.inTag=a+" ";else if(i.inTag&&h&&/>$/.test(e.current())){var f=/^([\S]+) (.*)/.exec(i.inTag);i.inTag=null;var p=">"==e.current()&&l(c[f[1]],f[2]),g=t.getMode(r,p),v=s(f[1],!0),m=s(f[1],!1);i.token=function(t,e){return t.match(v,!1)?(e.token=d,e.localState=e.localMode=null,null):n(t,m,e.localMode.token(t,e.localState))},i.localMode=g,i.localState=t.startState(g,o.indent(i.htmlState,"",""))}else i.inTag&&(i.inTag+=e.current(),e.eol()&&(i.inTag+=" "));return u}return{startState:function(){return{token:d,inTag:null,localMode:null,localState:null,htmlState:t.startState(o)}},copyState:function(e){var n;return e.localState&&(n=t.copyState(e.localMode,e.localState)),{token:e.token,inTag:e.inTag,localMode:e.localMode,localState:n,htmlState:t.copyState(o,e.htmlState)}},token:function(t,e){return e.token(t,e)},indent:function(e,n,r){return!e.localMode||/^\s*<\//.test(n)?o.indent(e.htmlState,n,r):e.localMode.indent?e.localMode.indent(e.localState,n,r):t.Pass},innerMode:function(t){return{state:t.localState||t.htmlState,mode:t.localMode||o}}}}),"xml","javascript","css"),t.defineMIME("text/html","htmlmixed")}(n(4631),n(9589),n(6876),n(6629))},6876:(t,e,n)=>{!function(t){"use strict";t.defineMode("javascript",(function(e,n){var r,i,o=e.indentUnit,s=n.statementIndent,a=n.jsonld,l=n.json||a,c=!1!==n.trackScope,u=n.typescript,h=n.wordCharacters||/[\w$\xa1-\uffff]/,f=function(){function t(t){return{type:t,style:"keyword"}}var e=t("keyword a"),n=t("keyword b"),r=t("keyword c"),i=t("keyword d"),o=t("operator"),s={type:"atom",style:"atom"};return{if:t("if"),while:e,with:e,else:n,do:n,try:n,finally:n,return:i,break:i,continue:i,new:t("new"),delete:r,void:r,throw:r,debugger:t("debugger"),var:t("var"),const:t("var"),let:t("var"),function:t("function"),catch:t("catch"),for:t("for"),switch:t("switch"),case:t("case"),default:t("default"),in:o,typeof:o,instanceof:o,true:s,false:s,null:s,undefined:s,NaN:s,Infinity:s,this:t("this"),class:t("class"),super:t("atom"),yield:r,export:t("export"),import:t("import"),extends:r,await:r}}(),d=/[+\-*&%=<>!?|~^@]/,p=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function g(t){for(var e,n=!1,r=!1;null!=(e=t.next());){if(!n){if("/"==e&&!r)return;"["==e?r=!0:r&&"]"==e&&(r=!1)}n=!n&&"\\"==e}}function v(t,e,n){return r=t,i=n,e}function m(t,e){var n=t.next();if('"'==n||"'"==n)return e.tokenize=y(n),e.tokenize(t,e);if("."==n&&t.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/))return v("number","number");if("."==n&&t.match(".."))return v("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(n))return v(n);if("="==n&&t.eat(">"))return v("=>","operator");if("0"==n&&t.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/))return v("number","number");if(/\d/.test(n))return t.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/),v("number","number");if("/"==n)return t.eat("*")?(e.tokenize=b,b(t,e)):t.eat("/")?(t.skipToEnd(),v("comment","comment")):ie(t,e,1)?(g(t),t.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),v("regexp","string-2")):(t.eat("="),v("operator","operator",t.current()));if("`"==n)return e.tokenize=w,w(t,e);if("#"==n&&"!"==t.peek())return t.skipToEnd(),v("meta","meta");if("#"==n&&t.eatWhile(h))return v("variable","property");if("<"==n&&t.match("!--")||"-"==n&&t.match("->")&&!/\S/.test(t.string.slice(0,t.start)))return t.skipToEnd(),v("comment","comment");if(d.test(n))return">"==n&&e.lexical&&">"==e.lexical.type||(t.eat("=")?"!"!=n&&"="!=n||t.eat("="):/[<>*+\-|&?]/.test(n)&&(t.eat(n),">"==n&&t.eat(n))),"?"==n&&t.eat(".")?v("."):v("operator","operator",t.current());if(h.test(n)){t.eatWhile(h);var r=t.current();if("."!=e.lastType){if(f.propertyIsEnumerable(r)){var i=f[r];return v(i.type,i.style,r)}if("async"==r&&t.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/,!1))return v("async","keyword",r)}return v("variable","variable",r)}}function y(t){return function(e,n){var r,i=!1;if(a&&"@"==e.peek()&&e.match(p))return n.tokenize=m,v("jsonld-keyword","meta");for(;null!=(r=e.next())&&(r!=t||i);)i=!i&&"\\"==r;return i||(n.tokenize=m),v("string","string")}}function b(t,e){for(var n,r=!1;n=t.next();){if("/"==n&&r){e.tokenize=m;break}r="*"==n}return v("comment","comment")}function w(t,e){for(var n,r=!1;null!=(n=t.next());){if(!r&&("`"==n||"$"==n&&t.eat("{"))){e.tokenize=m;break}r=!r&&"\\"==n}return v("quasi","string-2",t.current())}var x="([{}])";function O(t,e){e.fatArrowAt&&(e.fatArrowAt=null);var n=t.string.indexOf("=>",t.start);if(!(n<0)){if(u){var r=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(t.string.slice(t.start,n));r&&(n=r.index)}for(var i=0,o=!1,s=n-1;s>=0;--s){var a=t.string.charAt(s),l=x.indexOf(a);if(l>=0&&l<3){if(!i){++s;break}if(0==--i){"("==a&&(o=!0);break}}else if(l>=3&&l<6)++i;else if(h.test(a))o=!0;else if(/["'\/`]/.test(a))for(;;--s){if(0==s)return;if(t.string.charAt(s-1)==a&&"\\"!=t.string.charAt(s-2)){s--;break}}else if(o&&!i){++s;break}}o&&!i&&(e.fatArrowAt=s)}}var C={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,import:!0,"jsonld-keyword":!0};function k(t,e,n,r,i,o){this.indented=t,this.column=e,this.type=n,this.prev=i,this.info=o,null!=r&&(this.align=r)}function S(t,e){if(!c)return!1;for(var n=t.localVars;n;n=n.next)if(n.name==e)return!0;for(var r=t.context;r;r=r.prev)for(n=r.vars;n;n=n.next)if(n.name==e)return!0}function P(t,e,n,r,i){var o=t.cc;for(_.state=t,_.stream=i,_.marked=null,_.cc=o,_.style=e,t.lexical.hasOwnProperty("align")||(t.lexical.align=!0);;)if((o.length?o.pop():l?W:z)(n,r)){for(;o.length&&o[o.length-1].lex;)o.pop()();return _.marked?_.marked:"variable"==n&&S(t,r)?"variable-2":e}}var _={state:null,column:null,marked:null,cc:null};function T(){for(var t=arguments.length-1;t>=0;t--)_.cc.push(arguments[t])}function E(){return T.apply(null,arguments),!0}function j(t,e){for(var n=e;n;n=n.next)if(n.name==t)return!0;return!1}function D(t){var e=_.state;if(_.marked="def",c){if(e.context)if("var"==e.lexical.info&&e.context&&e.context.block){var r=M(t,e.context);if(null!=r)return void(e.context=r)}else if(!j(t,e.localVars))return void(e.localVars=new R(t,e.localVars));n.globalVars&&!j(t,e.globalVars)&&(e.globalVars=new R(t,e.globalVars))}}function M(t,e){if(e){if(e.block){var n=M(t,e.prev);return n?n==e.prev?e:new L(n,e.vars,!0):null}return j(t,e.vars)?e:new L(e.prev,new R(t,e.vars),!1)}return null}function A(t){return"public"==t||"private"==t||"protected"==t||"abstract"==t||"readonly"==t}function L(t,e,n){this.prev=t,this.vars=e,this.block=n}function R(t,e){this.name=t,this.next=e}var N=new R("this",new R("arguments",null));function Z(){_.state.context=new L(_.state.context,_.state.localVars,!1),_.state.localVars=N}function I(){_.state.context=new L(_.state.context,_.state.localVars,!0),_.state.localVars=null}function F(){_.state.localVars=_.state.context.vars,_.state.context=_.state.context.prev}function V(t,e){var n=function(){var n=_.state,r=n.indented;if("stat"==n.lexical.type)r=n.lexical.indented;else for(var i=n.lexical;i&&")"==i.type&&i.align;i=i.prev)r=i.indented;n.lexical=new k(r,_.stream.column(),t,null,n.lexical,e)};return n.lex=!0,n}function H(){var t=_.state;t.lexical.prev&&(")"==t.lexical.type&&(t.indented=t.lexical.indented),t.lexical=t.lexical.prev)}function B(t){function e(n){return n==t?E():";"==t||"}"==n||")"==n||"]"==n?T():E(e)}return e}function z(t,e){return"var"==t?E(V("vardef",e),Tt,B(";"),H):"keyword a"==t?E(V("form"),q,z,H):"keyword b"==t?E(V("form"),z,H):"keyword d"==t?_.stream.match(/^\s*$/,!1)?E():E(V("stat"),K,B(";"),H):"debugger"==t?E(B(";")):"{"==t?E(V("}"),I,ft,H,F):";"==t?E():"if"==t?("else"==_.state.lexical.info&&_.state.cc[_.state.cc.length-1]==H&&_.state.cc.pop()(),E(V("form"),q,z,H,Lt)):"function"==t?E(It):"for"==t?E(V("form"),I,Rt,z,F,H):"class"==t||u&&"interface"==e?(_.marked="keyword",E(V("form","class"==t?t:e),zt,H)):"variable"==t?u&&"declare"==e?(_.marked="keyword",E(z)):u&&("module"==e||"enum"==e||"type"==e)&&_.stream.match(/^\s*\w/,!1)?(_.marked="keyword","enum"==e?E(ee):"type"==e?E(Vt,B("operator"),mt,B(";")):E(V("form"),Et,B("{"),V("}"),ft,H,H)):u&&"namespace"==e?(_.marked="keyword",E(V("form"),W,z,H)):u&&"abstract"==e?(_.marked="keyword",E(z)):E(V("stat"),ot):"switch"==t?E(V("form"),q,B("{"),V("}","switch"),I,ft,H,H,F):"case"==t?E(W,B(":")):"default"==t?E(B(":")):"catch"==t?E(V("form"),Z,U,z,H,F):"export"==t?E(V("stat"),qt,H):"import"==t?E(V("stat"),Kt,H):"async"==t?E(z):"@"==e?E(W,z):T(V("stat"),W,B(";"),H)}function U(t){if("("==t)return E(Ht,B(")"))}function W(t,e){return G(t,e,!1)}function $(t,e){return G(t,e,!0)}function q(t){return"("!=t?T():E(V(")"),K,B(")"),H)}function G(t,e,n){if(_.state.fatArrowAt==_.stream.start){var r=n?et:tt;if("("==t)return E(Z,V(")"),ut(Ht,")"),H,B("=>"),r,F);if("variable"==t)return T(Z,Et,B("=>"),r,F)}var i=n?J:Y;return C.hasOwnProperty(t)?E(i):"function"==t?E(It,i):"class"==t||u&&"interface"==e?(_.marked="keyword",E(V("form"),Bt,H)):"keyword c"==t||"async"==t?E(n?$:W):"("==t?E(V(")"),K,B(")"),H,i):"operator"==t||"spread"==t?E(n?$:W):"["==t?E(V("]"),te,H,i):"{"==t?ht(at,"}",null,i):"quasi"==t?T(X,i):"new"==t?E(nt(n)):E()}function K(t){return t.match(/[;\}\)\],]/)?T():T(W)}function Y(t,e){return","==t?E(K):J(t,e,!1)}function J(t,e,n){var r=0==n?Y:J,i=0==n?W:$;return"=>"==t?E(Z,n?et:tt,F):"operator"==t?/\+\+|--/.test(e)||u&&"!"==e?E(r):u&&"<"==e&&_.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/,!1)?E(V(">"),ut(mt,">"),H,r):"?"==e?E(W,B(":"),i):E(i):"quasi"==t?T(X,r):";"!=t?"("==t?ht($,")","call",r):"."==t?E(st,r):"["==t?E(V("]"),K,B("]"),H,r):u&&"as"==e?(_.marked="keyword",E(mt,r)):"regexp"==t?(_.state.lastType=_.marked="operator",_.stream.backUp(_.stream.pos-_.stream.start-1),E(i)):void 0:void 0}function X(t,e){return"quasi"!=t?T():"${"!=e.slice(e.length-2)?E(X):E(K,Q)}function Q(t){if("}"==t)return _.marked="string-2",_.state.tokenize=w,E(X)}function tt(t){return O(_.stream,_.state),T("{"==t?z:W)}function et(t){return O(_.stream,_.state),T("{"==t?z:$)}function nt(t){return function(e){return"."==e?E(t?it:rt):"variable"==e&&u?E(St,t?J:Y):T(t?$:W)}}function rt(t,e){if("target"==e)return _.marked="keyword",E(Y)}function it(t,e){if("target"==e)return _.marked="keyword",E(J)}function ot(t){return":"==t?E(H,z):T(Y,B(";"),H)}function st(t){if("variable"==t)return _.marked="property",E()}function at(t,e){return"async"==t?(_.marked="property",E(at)):"variable"==t||"keyword"==_.style?(_.marked="property","get"==e||"set"==e?E(lt):(u&&_.state.fatArrowAt==_.stream.start&&(n=_.stream.match(/^\s*:\s*/,!1))&&(_.state.fatArrowAt=_.stream.pos+n[0].length),E(ct))):"number"==t||"string"==t?(_.marked=a?"property":_.style+" property",E(ct)):"jsonld-keyword"==t?E(ct):u&&A(e)?(_.marked="keyword",E(at)):"["==t?E(W,dt,B("]"),ct):"spread"==t?E($,ct):"*"==e?(_.marked="keyword",E(at)):":"==t?T(ct):void 0;var n}function lt(t){return"variable"!=t?T(ct):(_.marked="property",E(It))}function ct(t){return":"==t?E($):"("==t?T(It):void 0}function ut(t,e,n){function r(i,o){if(n?n.indexOf(i)>-1:","==i){var s=_.state.lexical;return"call"==s.info&&(s.pos=(s.pos||0)+1),E((function(n,r){return n==e||r==e?T():T(t)}),r)}return i==e||o==e?E():n&&n.indexOf(";")>-1?T(t):E(B(e))}return function(n,i){return n==e||i==e?E():T(t,r)}}function ht(t,e,n){for(var r=3;r"),mt):"quasi"==t?T(xt,kt):void 0}function yt(t){if("=>"==t)return E(mt)}function bt(t){return t.match(/[\}\)\]]/)?E():","==t||";"==t?E(bt):T(wt,bt)}function wt(t,e){return"variable"==t||"keyword"==_.style?(_.marked="property",E(wt)):"?"==e||"number"==t||"string"==t?E(wt):":"==t?E(mt):"["==t?E(B("variable"),pt,B("]"),wt):"("==t?T(Ft,wt):t.match(/[;\}\)\],]/)?void 0:E()}function xt(t,e){return"quasi"!=t?T():"${"!=e.slice(e.length-2)?E(xt):E(mt,Ot)}function Ot(t){if("}"==t)return _.marked="string-2",_.state.tokenize=w,E(xt)}function Ct(t,e){return"variable"==t&&_.stream.match(/^\s*[?:]/,!1)||"?"==e?E(Ct):":"==t?E(mt):"spread"==t?E(Ct):T(mt)}function kt(t,e){return"<"==e?E(V(">"),ut(mt,">"),H,kt):"|"==e||"."==t||"&"==e?E(mt):"["==t?E(mt,B("]"),kt):"extends"==e||"implements"==e?(_.marked="keyword",E(mt)):"?"==e?E(mt,B(":"),mt):void 0}function St(t,e){if("<"==e)return E(V(">"),ut(mt,">"),H,kt)}function Pt(){return T(mt,_t)}function _t(t,e){if("="==e)return E(mt)}function Tt(t,e){return"enum"==e?(_.marked="keyword",E(ee)):T(Et,dt,Mt,At)}function Et(t,e){return u&&A(e)?(_.marked="keyword",E(Et)):"variable"==t?(D(e),E()):"spread"==t?E(Et):"["==t?ht(Dt,"]"):"{"==t?ht(jt,"}"):void 0}function jt(t,e){return"variable"!=t||_.stream.match(/^\s*:/,!1)?("variable"==t&&(_.marked="property"),"spread"==t?E(Et):"}"==t?T():"["==t?E(W,B(']'),B(':'),jt):E(B(":"),Et,Mt)):(D(e),E(Mt))}function Dt(){return T(Et,Mt)}function Mt(t,e){if("="==e)return E($)}function At(t){if(","==t)return E(Tt)}function Lt(t,e){if("keyword b"==t&&"else"==e)return E(V("form","else"),z,H)}function Rt(t,e){return"await"==e?E(Rt):"("==t?E(V(")"),Nt,H):void 0}function Nt(t){return"var"==t?E(Tt,Zt):"variable"==t?E(Zt):T(Zt)}function Zt(t,e){return")"==t?E():";"==t?E(Zt):"in"==e||"of"==e?(_.marked="keyword",E(W,Zt)):T(W,Zt)}function It(t,e){return"*"==e?(_.marked="keyword",E(It)):"variable"==t?(D(e),E(It)):"("==t?E(Z,V(")"),ut(Ht,")"),H,gt,z,F):u&&"<"==e?E(V(">"),ut(Pt,">"),H,It):void 0}function Ft(t,e){return"*"==e?(_.marked="keyword",E(Ft)):"variable"==t?(D(e),E(Ft)):"("==t?E(Z,V(")"),ut(Ht,")"),H,gt,F):u&&"<"==e?E(V(">"),ut(Pt,">"),H,Ft):void 0}function Vt(t,e){return"keyword"==t||"variable"==t?(_.marked="type",E(Vt)):"<"==e?E(V(">"),ut(Pt,">"),H):void 0}function Ht(t,e){return"@"==e&&E(W,Ht),"spread"==t?E(Ht):u&&A(e)?(_.marked="keyword",E(Ht)):u&&"this"==t?E(dt,Mt):T(Et,dt,Mt)}function Bt(t,e){return"variable"==t?zt(t,e):Ut(t,e)}function zt(t,e){if("variable"==t)return D(e),E(Ut)}function Ut(t,e){return"<"==e?E(V(">"),ut(Pt,">"),H,Ut):"extends"==e||"implements"==e||u&&","==t?("implements"==e&&(_.marked="keyword"),E(u?mt:W,Ut)):"{"==t?E(V("}"),Wt,H):void 0}function Wt(t,e){return"async"==t||"variable"==t&&("static"==e||"get"==e||"set"==e||u&&A(e))&&_.stream.match(/^\s+[\w$\xa1-\uffff]/,!1)?(_.marked="keyword",E(Wt)):"variable"==t||"keyword"==_.style?(_.marked="property",E($t,Wt)):"number"==t||"string"==t?E($t,Wt):"["==t?E(W,dt,B("]"),$t,Wt):"*"==e?(_.marked="keyword",E(Wt)):u&&"("==t?T(Ft,Wt):";"==t||","==t?E(Wt):"}"==t?E():"@"==e?E(W,Wt):void 0}function $t(t,e){if("!"==e)return E($t);if("?"==e)return E($t);if(":"==t)return E(mt,Mt);if("="==e)return E($);var n=_.state.lexical.prev;return T(n&&"interface"==n.info?Ft:It)}function qt(t,e){return"*"==e?(_.marked="keyword",E(Qt,B(";"))):"default"==e?(_.marked="keyword",E(W,B(";"))):"{"==t?E(ut(Gt,"}"),Qt,B(";")):T(z)}function Gt(t,e){return"as"==e?(_.marked="keyword",E(B("variable"))):"variable"==t?T($,Gt):void 0}function Kt(t){return"string"==t?E():"("==t?T(W):"."==t?T(Y):T(Yt,Jt,Qt)}function Yt(t,e){return"{"==t?ht(Yt,"}"):("variable"==t&&D(e),"*"==e&&(_.marked="keyword"),E(Xt))}function Jt(t){if(","==t)return E(Yt,Jt)}function Xt(t,e){if("as"==e)return _.marked="keyword",E(Yt)}function Qt(t,e){if("from"==e)return _.marked="keyword",E(W)}function te(t){return"]"==t?E():T(ut($,"]"))}function ee(){return T(V("form"),Et,B("{"),V("}"),ut(ne,"}"),H,H)}function ne(){return T(Et,Mt)}function re(t,e){return"operator"==t.lastType||","==t.lastType||d.test(e.charAt(0))||/[,.]/.test(e.charAt(0))}function ie(t,e,n){return e.tokenize==m&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(e.lastType)||"quasi"==e.lastType&&/\{\s*$/.test(t.string.slice(0,t.pos-(n||0)))}return F.lex=!0,H.lex=!0,{startState:function(t){var e={tokenize:m,lastType:"sof",cc:[],lexical:new k((t||0)-o,0,"block",!1),localVars:n.localVars,context:n.localVars&&new L(null,null,!1),indented:t||0};return n.globalVars&&"object"==typeof n.globalVars&&(e.globalVars=n.globalVars),e},token:function(t,e){if(t.sol()&&(e.lexical.hasOwnProperty("align")||(e.lexical.align=!1),e.indented=t.indentation(),O(t,e)),e.tokenize!=b&&t.eatSpace())return null;var n=e.tokenize(t,e);return"comment"==r?n:(e.lastType="operator"!=r||"++"!=i&&"--"!=i?r:"incdec",P(e,n,r,i,t))},indent:function(e,r){if(e.tokenize==b||e.tokenize==w)return t.Pass;if(e.tokenize!=m)return 0;var i,a=r&&r.charAt(0),l=e.lexical;if(!/^\s*else\b/.test(r))for(var c=e.cc.length-1;c>=0;--c){var u=e.cc[c];if(u==H)l=l.prev;else if(u!=Lt&&u!=F)break}for(;("stat"==l.type||"form"==l.type)&&("}"==a||(i=e.cc[e.cc.length-1])&&(i==Y||i==J)&&!/^[,\.=+\-*:?[\(]/.test(r));)l=l.prev;s&&")"==l.type&&"stat"==l.prev.type&&(l=l.prev);var h=l.type,f=a==h;return"vardef"==h?l.indented+("operator"==e.lastType||","==e.lastType?l.info.length+1:0):"form"==h&&"{"==a?l.indented:"form"==h?l.indented+o:"stat"==h?l.indented+(re(e,r)?s||o:0):"switch"!=l.info||f||0==n.doubleIndentSwitch?l.align?l.column+(f?0:1):l.indented+(f?0:o):l.indented+(/^(?:case|default)\b/.test(r)?o:2*o)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:l?null:"/*",blockCommentEnd:l?null:"*/",blockCommentContinue:l?null:" * ",lineComment:l?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:l?"json":"javascript",jsonldMode:a,jsonMode:l,expressionAllowed:ie,skipExpression:function(e){P(e,"atom","atom","true",new t.StringStream("",2,null))}}})),t.registerHelper("wordChars","javascript",/[\w$]/),t.defineMIME("text/javascript","javascript"),t.defineMIME("text/ecmascript","javascript"),t.defineMIME("application/javascript","javascript"),t.defineMIME("application/x-javascript","javascript"),t.defineMIME("application/ecmascript","javascript"),t.defineMIME("application/json",{name:"javascript",json:!0}),t.defineMIME("application/x-json",{name:"javascript",json:!0}),t.defineMIME("application/manifest+json",{name:"javascript",json:!0}),t.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),t.defineMIME("text/typescript",{name:"javascript",typescript:!0}),t.defineMIME("application/typescript",{name:"javascript",typescript:!0})}(n(4631))},9589:(t,e,n)=>{!function(t){"use strict";var e={autoSelfClosers:{area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},implicitlyClosed:{dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},contextGrabbers:{dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},doNotIndent:{pre:!0},allowUnquoted:!0,allowMissing:!0,caseFold:!0},n={autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1,allowMissingTagName:!1,caseFold:!1};t.defineMode("xml",(function(r,i){var o,s,a=r.indentUnit,l={},c=i.htmlMode?e:n;for(var u in c)l[u]=c[u];for(var u in i)l[u]=i[u];function h(t,e){function n(n){return e.tokenize=n,n(t,e)}var r=t.next();return"<"==r?t.eat("!")?t.eat("[")?t.match("CDATA[")?n(p("atom","]]>")):null:t.match("--")?n(p("comment","--\x3e")):t.match("DOCTYPE",!0,!0)?(t.eatWhile(/[\w\._\-]/),n(g(1))):null:t.eat("?")?(t.eatWhile(/[\w\._\-]/),e.tokenize=p("meta","?>"),"meta"):(o=t.eat("/")?"closeTag":"openTag",e.tokenize=f,"tag bracket"):"&"==r?(t.eat("#")?t.eat("x")?t.eatWhile(/[a-fA-F\d]/)&&t.eat(";"):t.eatWhile(/[\d]/)&&t.eat(";"):t.eatWhile(/[\w\.\-:]/)&&t.eat(";"))?"atom":"error":(t.eatWhile(/[^&<]/),null)}function f(t,e){var n=t.next();if(">"==n||"/"==n&&t.eat(">"))return e.tokenize=h,o=">"==n?"endTag":"selfcloseTag","tag bracket";if("="==n)return o="equals",null;if("<"==n){e.tokenize=h,e.state=w,e.tagName=e.tagStart=null;var r=e.tokenize(t,e);return r?r+" tag error":"tag error"}return/[\'\"]/.test(n)?(e.tokenize=d(n),e.stringStartCol=t.column(),e.tokenize(t,e)):(t.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/),"word")}function d(t){var e=function(e,n){for(;!e.eol();)if(e.next()==t){n.tokenize=f;break}return"string"};return e.isInAttribute=!0,e}function p(t,e){return function(n,r){for(;!n.eol();){if(n.match(e)){r.tokenize=h;break}n.next()}return t}}function g(t){return function(e,n){for(var r;null!=(r=e.next());){if("<"==r)return n.tokenize=g(t+1),n.tokenize(e,n);if(">"==r){if(1==t){n.tokenize=h;break}return n.tokenize=g(t-1),n.tokenize(e,n)}}return"meta"}}function v(t){return t&&t.toLowerCase()}function m(t,e,n){this.prev=t.context,this.tagName=e||"",this.indent=t.indented,this.startOfLine=n,(l.doNotIndent.hasOwnProperty(e)||t.context&&t.context.noIndent)&&(this.noIndent=!0)}function y(t){t.context&&(t.context=t.context.prev)}function b(t,e){for(var n;;){if(!t.context)return;if(n=t.context.tagName,!l.contextGrabbers.hasOwnProperty(v(n))||!l.contextGrabbers[v(n)].hasOwnProperty(v(e)))return;y(t)}}function w(t,e,n){return"openTag"==t?(n.tagStart=e.column(),x):"closeTag"==t?O:w}function x(t,e,n){return"word"==t?(n.tagName=e.current(),s="tag",S):l.allowMissingTagName&&"endTag"==t?(s="tag bracket",S(t,e,n)):(s="error",x)}function O(t,e,n){if("word"==t){var r=e.current();return n.context&&n.context.tagName!=r&&l.implicitlyClosed.hasOwnProperty(v(n.context.tagName))&&y(n),n.context&&n.context.tagName==r||!1===l.matchClosing?(s="tag",C):(s="tag error",k)}return l.allowMissingTagName&&"endTag"==t?(s="tag bracket",C(t,e,n)):(s="error",k)}function C(t,e,n){return"endTag"!=t?(s="error",C):(y(n),w)}function k(t,e,n){return s="error",C(t,e,n)}function S(t,e,n){if("word"==t)return s="attribute",P;if("endTag"==t||"selfcloseTag"==t){var r=n.tagName,i=n.tagStart;return n.tagName=n.tagStart=null,"selfcloseTag"==t||l.autoSelfClosers.hasOwnProperty(v(r))?b(n,r):(b(n,r),n.context=new m(n,r,i==n.indented)),w}return s="error",S}function P(t,e,n){return"equals"==t?_:(l.allowMissing||(s="error"),S(t,e,n))}function _(t,e,n){return"string"==t?T:"word"==t&&l.allowUnquoted?(s="string",S):(s="error",S(t,e,n))}function T(t,e,n){return"string"==t?T:S(t,e,n)}return h.isInText=!0,{startState:function(t){var e={tokenize:h,state:w,indented:t||0,tagName:null,tagStart:null,context:null};return null!=t&&(e.baseIndent=t),e},token:function(t,e){if(!e.tagName&&t.sol()&&(e.indented=t.indentation()),t.eatSpace())return null;o=null;var n=e.tokenize(t,e);return(n||o)&&"comment"!=n&&(s=null,e.state=e.state(o||n,t,e),s&&(n="error"==s?n+" error":s)),n},indent:function(e,n,r){var i=e.context;if(e.tokenize.isInAttribute)return e.tagStart==e.indented?e.stringStartCol+1:e.indented+a;if(i&&i.noIndent)return t.Pass;if(e.tokenize!=f&&e.tokenize!=h)return r?r.match(/^(\s*)/)[0].length:0;if(e.tagName)return!1!==l.multilineTagIndentPastTag?e.tagStart+e.tagName.length+2:e.tagStart+a*(l.multilineTagIndentFactor||1);if(l.alignCDATA&&/$/,blockCommentStart:"\x3c!--",blockCommentEnd:"--\x3e",configuration:l.htmlMode?"html":"xml",helperType:l.htmlMode?"html":"xml",skipAttribute:function(t){t.state==_&&(t.state=S)},xmlCurrentTag:function(t){return t.tagName?{name:t.tagName,close:"closeTag"==t.type}:null},xmlCurrentContext:function(t){for(var e=[],n=t.context;n;n=n.prev)e.push(n.tagName);return e.reverse()}}})),t.defineMIME("text/xml","xml"),t.defineMIME("application/xml","xml"),t.mimeModes.hasOwnProperty("text/html")||t.defineMIME("text/html",{name:"xml",htmlMode:!0})}(n(4631))},1030:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>Q,evAdd:()=>B,evAll:()=>I,evClose:()=>q,evCustom:()=>W,evOpen:()=>$,evPfx:()=>F,evRemove:()=>z,evRemoveBefore:()=>U,evSelect:()=>V,evUpdate:()=>H,evUpload:()=>G,evUploadEnd:()=>Y,evUploadError:()=>J,evUploadRes:()=>X,evUploadStart:()=>K});var r=n(4942),i=n(9050),o=n(9304);const s={assets:[],noAssets:'',stylePrefix:'am-',upload:0,uploadName:'files',headers:{},params:{},credentials:'include',multiUpload:!0,autoAdd:!0,customFetch:null,uploadFile:null,embedAsBase64:!0,handleAdd:null,beforeUpload:null,showUrlInput:!0,custom:!1,dropzone:!1,openAssetsOnDrop:1,dropzoneContent:''};var a=n(2316),l=n.n(a),c=n(5671),u=n(3144),h=n(9340),f=n(3930),d=n(1120);function p(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=(0,d.Z)(t);if(e){var i=(0,d.Z)(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return(0,f.Z)(this,n)}}var g=function(t){(0,h.Z)(n,t);var e=p(n);function n(){return(0,c.Z)(this,n),e.apply(this,arguments)}return(0,u.Z)(n,[{key:"defaults",value:function(){return{type:'',src:''}}},{key:"getType",value:function(){return this.get('type')}},{key:"getSrc",value:function(){return this.get('src')}},{key:"getFilename",value:function(){return this.get('src').split('/').pop().split('?').shift()}},{key:"getExtension",value:function(){return this.getFilename().split('.').pop()}}]),n}(a.Model);function v(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function m(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{};this.options=t,this.collection=t.collection;var e=t.config||{};this.config=e,this.pfx=e.stylePrefix||'',this.ppfx=e.pStylePrefix||'',this.em=e.em,this.className=this.pfx+'asset',this.listenTo(this.model,'destroy remove',this.remove),this.model.view=this;var n=this.init&&this.init.bind(this);n&&n(t)},__getBhv:function(){var t=this.em,e=t&&t.get('AssetManager');return e&&e.__getBehaviour()||{}},template:function(){var t=this.pfx;return"\n
\n ").concat(this.getPreview(),"\n
\n
\n ").concat(this.getInfo(),"\n
\n
\n ⨯\n
\n ")},updateTarget:function(t){t&&t.set&&(t.set('attributes',(0,i.clone)(t.get('attributes'))),t.set('src',this.model.get('src')))},getPreview:function(){return''},getInfo:function(){return''},render:function(){var t=this.el;return t.innerHTML=this.template(this,this.model),t.className=this.className,this}});var O,C,k=n(1629);const S=x.extend({events:{'click [data-toggle=asset-remove]':'onRemove',click:'onClick',dblclick:'onDblClick'},getPreview:function(){var t=this.pfx,e=this.ppfx,n=this.model.get('src');return(0,k.Z)(O||(O=(0,w.Z)(["\n
\n
\n "])),t,n,t,e)},getInfo:function(){var t=this.pfx,e=this.model,n=e.get('name'),r=e.get('width'),i=e.get('height'),o=e.get('unitDim'),s=r&&i?"".concat(r,"x").concat(i).concat(o):'';return n=n||e.getFilename(),(0,k.Z)(C||(C=(0,w.Z)(["\n
","
\n
","
\n "])),t,n,t,s)},init:function(t){var e=this.pfx;this.className+=" ".concat(e,"asset-image")},onClick:function(){var t=this.model,e=this.pfx,n=this.__getBhv().select,r=this.config.onClick,o=this.collection;o.trigger('deselectAll'),this.$el.addClass(e+'highlight'),(0,i.isFunction)(n)?n(t,!1):(0,i.isFunction)(r)?r(t):this.updateTarget(o.target)},onDblClick:function(){var t=this.em,e=this.model,n=this.__getBhv().select,r=this.config.onDblClick,o=this.collection,s=o.target,a=o.onSelect;(0,i.isFunction)(n)?n(e,!0):(0,i.isFunction)(r)?r(e):(this.updateTarget(s),t&&t.get('Modal').close()),(0,i.isFunction)(a)&&a(e)},onRemove:function(t){t.stopImmediatePropagation(),this.model.collection.remove(this.model)}});var P=n(793);const _=l().Collection.extend(P.Z).extend({types:[{id:'image',model:b,view:S,isType:function(t){return'string'==typeof t?{type:'image',src:t}:t}}]});var T=n(4925),E=["pfx","ppfx","em"];const j=l().View.extend({events:{submit:'handleSubmit'},template:function(t){var e=t.pfx,n=t.ppfx,r=t.em,i=((0,T.Z)(t,E),'');return this.config.showUrlInput&&(i="\n
\n
\n \n
\n \n
\n
\n ")),"\n
\n
\n ").concat(i,"\n
\n
\n
\n
\n ")},initialize:function(t){this.options=t,this.config=t.config,this.pfx=this.config.stylePrefix||'',this.ppfx=this.config.pStylePrefix||'',this.em=this.config.em;var e=this.collection;this.listenTo(e,'reset',this.renderAssets),this.listenTo(e,'add',this.addToAsset),this.listenTo(e,'remove',this.removedAsset),this.listenTo(e,'deselectAll',this.deselectAll)},handleSubmit:function(t){t.preventDefault();var e=this.getAddInput(),n=e&&e.value.trim(),r=this.config.handleAdd;n&&(e.value='',this.getAssetsEl().scrollTop=0,r?r.bind(this)(n):this.options.globalCollection.add(n,{at:0}))},getAssetsEl:function(){return this.el.querySelector(".".concat(this.pfx,"assets"))},getAddInput:function(){return this.inputUrl&&this.inputUrl.value||(this.inputUrl=this.el.querySelector(".".concat(this.pfx,"add-asset input"))),this.inputUrl},removedAsset:function(t){this.collection.length||this.toggleNoAssets()},addToAsset:function(t){1==this.collection.length&&this.toggleNoAssets(1),this.addAsset(t)},addAsset:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=e,r=this.collection,i=this.config,o=new t.typeView({model:t,collection:r,config:i}).render().el;if(n)n.appendChild(o);else{var s=this.getAssetsEl();s&&s.insertBefore(o,s.firstChild)}return o},toggleNoAssets:function(t){var e=this.$el.find(".".concat(this.pfx,"assets"));if(t)e.empty();else{var n=this.config.noAssets;n&&e.append(n)}},deselectAll:function(){var t=this.pfx;this.$el.find(".".concat(t,"highlight")).removeClass("".concat(t,"highlight"))},renderAssets:function(){var t=this,e=document.createDocumentFragment(),n=this.$el.find(".".concat(this.pfx,"assets"));n.empty(),this.toggleNoAssets(this.collection.length),this.collection.each((function(n){return t.addAsset(n,e)})),n.append(e)},render:function(){var t=this.options.fu.render().el;return this.$el.empty(),this.$el.append(t).append(this.template(this)),this.el.className="".concat(this.ppfx,"asset-manager"),this.renderAssets(),this}});var D,M=n(9661);function A(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return L(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return L(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){a=!0,o=t},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}function L(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n\n
","
\n \n
\n \n "])),e,n,r,i?'disabled':'',o?'multiple':'')},events:{},initialize:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.options=t;var e=t.config||{};this.module=t.module,this.config=e,this.em=this.config.em,this.pfx=e.stylePrefix||'',this.ppfx=e.pStylePrefix||'',this.target=this.options.globalCollection||{},this.uploadId=this.pfx+'uploadFile',this.disabled=void 0!==e.disableUpload?e.disableUpload:!e.upload&&!e.embedAsBase64,this.multiUpload=void 0===e.multiUpload||e.multiUpload,this.events['change #'+this.uploadId]='uploadFile';var n=e.uploadFile;n?this.uploadFile=n.bind(this):!e.upload&&e.embedAsBase64&&(this.uploadFile=this.constructor.embedAsBase64),this.delegateEvents()},onUploadStart:function(){var t=this.module;t&&t.__propEv('asset:upload:start')},onUploadEnd:function(t){var e=this.$el,n=this.module;n&&n.__propEv('asset:upload:end',t);var r=e.find('input');r&&r.val('')},onUploadError:function(t){var e=this.module;console.error(t),this.onUploadEnd(t),e&&e.__propEv('asset:upload:error',t)},onUploadResponse:function(t,e){var n,r=this.module,i=this.config,o=this.target;try{n='string'==typeof t?JSON.parse(t):t}catch(e){n=t}r&&r.__propEv('asset:upload:response',n),i.autoAdd&&o&&o.add(n.data,{at:0}),this.onUploadEnd(t),e&&e(n)},uploadFile:function(t,e){var n=this,r=t.dataTransfer?t.dataTransfer.files:t.target.files,i=this.config,o=i.beforeUpload;if(!1!==(o&&o(r))){var s=new FormData,a=i.params,l=i.customFetch;for(var c in a)s.append(c,a[c]);if(this.multiUpload)for(var u=0;u").concat(r.dropzoneContent,"")),h(),'draggable'in o&&[o,a].forEach((function(t){t.ondragover=f,t.ondragleave=d,t.ondrop=p}))},render:function(){var t=this.$el,e=this.pfx,n=this.em;return t.html(this.template({title:n&&n.t('assetManager.uploadTitle'),uploadId:this.uploadId,disabled:this.disabled,multiUpload:this.multiUpload,pfx:e})),this.initDrop(),t.attr('class',e+'file-uploader'),this}},{embedAsBase64:function(t,e){var n=this,r=t.dataTransfer?t.dataTransfer.files:t.target.files,i={data:[]};if(FileReader){var o,s=[],a=/^(.+)\/(.+)$/,l=A(r);try{var c=function(){var t=o.value,e=new Promise((function(e,n){var r=new FileReader;r.addEventListener('load',(function(i){var o,s=t.name,l=a.exec(t.type);if('image'===(o=l?l[1]:t.type)){var c={src:r.result,name:s,type:o,height:0,width:0},u=new Image;u.addEventListener('error',(function(t){n(t)})),u.addEventListener('load',(function(){c.height=u.height,c.width=u.width,e(c)})),u.src=c.src}else e(o?{src:r.result,name:s,type:o}:r.result)})),r.addEventListener('error',(function(t){n(t)})),r.addEventListener('abort',(function(t){n('Aborted')})),r.readAsDataURL(t)}));s.push(e)};for(l.s();!(o=l.n()).done;)c()}catch(t){l.e(t)}finally{l.f()}Promise.all(s).then((function(t){i.data=t,n.onUploadResponse(i,e)}),(function(t){n.onUploadError(t)}))}else this.onUploadError(new Error('Unsupported platform, FileReader is not defined'))}});function N(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Z(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{},i=(a=Z(Z({},s),r)).pStylePrefix,o=a,l=o.em;return this.config=a,this.em=l,i&&(a.stylePrefix=i+a.stylePrefix),t=new _([]),e=new _([]),this.all=t,this.__initListen(),t.on('add',(function(t){return n.getAllVisible().add(t)})),t.on('remove',(function(t){return n.getAllVisible().remove(t)})),this},__propEv:function(t){for(var e,n,r=arguments.length,i=new Array(r>1?r-1:0),o=1;o0&&void 0!==arguments[0]?arguments[0]:{},e=this.em.get('Commands');e.run(l,Z({types:['image'],select:function(){}},t))},close:function(){this.em.get('Commands').stop(l)},isOpen:function(){var t=this.em.get('Commands');return!(!t||!t.isActive(l))},add:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return void 0===n.at&&(n.at=0),t.add(e,n)},get:function(e){return t.where({src:e})[0]||null},getAll:function(){return t},getAllVisible:function(){return e},remove:function(t,e){return this.__remove(t,e)},store:function(t){var e={},n=JSON.stringify(this.getAll().toJSON());return e[this.storageKey]=n,!t&&a.stm&&a.stm.store(e),e},load:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.storageKey,n=t[e]||[];if('string'==typeof n)try{n=JSON.parse(t[e])}catch(t){}return n&&n.length&&this.getAll().reset(n),n},getContainer:function(){return this.__getBehaviour().container||n&&n.el},getAssetsEl:function(){return n.el.querySelector('[data-el=assets]')},render:function(t){if(!this.getConfig('custom')){var r=t||this.getAll().models;if(!n){var i=this.__viewParams();i.fu=this.FileUploader();var o=n&&n.el;(n=new j(Z({el:o},i))).render()}return e.reset(r),this.getContainer()}},__viewParams:function(){return{collection:e,globalCollection:t,config:a,module:this}},addType:function(t,e){this.getAll().addType(t,e)},getType:function(t){return this.getAll().getType(t)},getTypes:function(){return this.getAll().getTypes()},AssetsView:function(){return n},FileUploader:function(){return r||(r=new R(this.__viewParams())),r},onLoad:function(){var t=this;this.getAll().reset(a.assets);var e=this.em,n=this.events;e.on("run:".concat(l),(function(){return t.__propEv(n.open)})),e.on("stop:".concat(l),(function(){return t.__propEv(n.close)}))},postRender:function(t){a.dropzone&&r&&r.initDropzone(t)},setTarget:function(t){e.target=t},onSelect:function(t){e.onSelect=t},onClick:function(t){a.onClick=t},onDblClick:function(t){a.onDblClick=t},__behaviour:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._bhv=Z(Z({},this._bhv||{}),t)},__getBehaviour:function(){return this._bhv||{}},destroy:function(){t.stopListening(),e.stopListening(),t.reset(),e.reset(),r&&r.remove(),n&&n.remove(),[t,e,n,r].forEach((function(t){return null})),this._bhv={},this.all={},a={}}})}},6407:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>U,evAdd:()=>N,evAll:()=>L,evCustom:()=>z,evDrag:()=>V,evDragStart:()=>H,evDragStop:()=>B,evPfx:()=>R,evRemove:()=>I,evRemoveBefore:()=>F,evUpdate:()=>Z});var r=n(4942),i=n(9050),o=n(9304);const s={appendTo:'',appendOnClick:!1,blocks:[],custom:!1};var a=n(5671),l=n(3144),c=n(9340),u=n(3930),h=n(1120),f=n(2316),d=n.n(f);function p(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=(0,h.Z)(t);if(e){var i=(0,h.Z)(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return(0,u.Z)(this,n)}}var g=function(t){(0,c.Z)(n,t);var e=p(n);function n(){return(0,a.Z)(this,n),e.apply(this,arguments)}return(0,l.Z)(n,[{key:"defaults",value:function(){return{label:'',content:'',media:'',category:'',activate:!1,select:null,resetId:!1,disable:!1,onClick:null,attributes:{}}}},{key:"getId",value:function(){return this.id}},{key:"getLabel",value:function(){return this.get('label')}},{key:"getMedia",value:function(){return this.get('media')}},{key:"getContent",value:function(){return this.get('content')}},{key:"getCategoryLabel",value:function(){var t=this.get('category');return(0,i.isFunction)(t.get)?t.get('label'):t.label?t.label:t}}]),n}(f.Model);function v(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=(0,h.Z)(t);if(e){var i=(0,h.Z)(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return(0,u.Z)(this,n)}}var m=function(t){(0,c.Z)(n,t);var e=v(n);function n(){return(0,a.Z)(this,n),e.apply(this,arguments)}return(0,l.Z)(n)}(f.Collection);function y(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=(0,h.Z)(t);if(e){var i=(0,h.Z)(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return(0,u.Z)(this,n)}}m.prototype.model=g;var b=function(t){(0,c.Z)(n,t);var e=y(n);function n(){return(0,a.Z)(this,n),e.apply(this,arguments)}return(0,l.Z)(n,[{key:"defaults",value:function(){return{id:'',label:'',open:!0,attributes:{}}}}]),n}(f.Model);function w(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=(0,h.Z)(t);if(e){var i=(0,h.Z)(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return(0,u.Z)(this,n)}}var x=function(t){(0,c.Z)(n,t);var e=w(n);function n(){return(0,a.Z)(this,n),e.apply(this,arguments)}return(0,l.Z)(n)}(f.Collection);x.prototype.model=b;var O=n(6183);const C=d().View.extend({events:{click:'handleClick',mousedown:'startDrag',dragstart:'handleDragStart',drag:'handleDrag',dragend:'handleDragEnd'},initialize:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.model;this.em=e.em,this.config=e,this.endDrag=this.endDrag.bind(this),this.ppfx=e.pStylePrefix||'',this.listenTo(n,'destroy remove',this.remove),this.listenTo(n,'change',this.render)},__getModule:function(){return this.em.get('BlockManager')},handleClick:function(t){var e=this.config,n=this.model,r=this.em,o=n.get('onClick')||e.appendOnClick;if(r.trigger('block:click',n,t),o){if((0,i.isFunction)(o))return o(n,r.getEditor(),{event:t});var s,a=e.getSorter(),l=n.get('content'),c=r.getSelected();if(a.setDropContent(l),c)if(a.validTarget(c.getEl(),l).valid)s=c;else{var u=c.parent();a.validTarget(u.getEl(),l).valid&&(s=u)}if(!s){var h=r.getWrapper();a.validTarget(h.getEl(),l).valid&&(s=h)}var f=s&&s.append(l)[0];f&&r.setSelected(f,{scroll:1})}},startDrag:function(t){var e=this.config,n=this.em,r=this.model.get('disable');if(0===t.button&&e.getSorter&&!this.el.draggable&&!r){n.refreshCanvas();var i=e.getSorter();i.setDragHelper(this.el,t),i.setDropContent(this.model.get('content')),i.startSort(this.el),(0,O.on)(document,'mouseup',this.endDrag)}},handleDragStart:function(t){this.__getModule().__startDrag(this.model,t)},handleDrag:function(t){this.__getModule().__drag(t)},handleDragEnd:function(){this.__getModule().__endDrag()},endDrag:function(t){(0,O.off)(document,'mouseup',this.endDrag);var e=this.config.getSorter();e.moved=0,e.endMove()},render:function(){var t=this.em,e=this.el,n=this.$el,r=this.ppfx,i=this.model,o=i.get('disable'),s=i.get('attributes')||{},a=s.class||'',l="".concat(r,"block"),c=t&&t.t("blockManager.labels.".concat(i.id))||i.get('label'),u=i.get('render'),h=i.get('media'),f=o?"".concat(l,"--disable"):"".concat(r,"four-color-h");n.attr(s),e.className="".concat(a," ").concat(l," ").concat(r,"one-bg ").concat(f).trim(),e.innerHTML="\n ".concat(h?"
").concat(h,"
"):'',"\n
").concat(c,"
\n "),e.title=s.title||e.textContent.trim(),e.setAttribute('draggable',!(!(0,O.hasDnd)(t)||o));var d=u&&u({el:e,model:i,className:l,prefix:r});return d&&(e.innerHTML=d),this}});var k,S=n(168),P=n(1629);function _(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=(0,h.Z)(t);if(e){var i=(0,h.Z)(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return(0,u.Z)(this,n)}}var T=function(t){(0,c.Z)(n,t);var e=_(n);function n(){return(0,a.Z)(this,n),e.apply(this,arguments)}return(0,l.Z)(n,[{key:"template",value:function(t){var e=t.pfx,n=t.label;return(0,P.Z)(k||(k=(0,S.Z)(["\n
\n \n ","\n
\n
\n "])),e,e,n,e)}},{key:"attributes",value:function(){return this.model.get('attributes')}},{key:"initialize",value:function(){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.config=t;var e=t.pStylePrefix||'';this.em=t.em,this.pfx=e,this.caretR='fa fa-caret-right',this.caretD='fa fa-caret-down',this.iconClass="".concat(e,"caret-icon"),this.activeClass="".concat(e,"open"),this.className="".concat(e,"block-category"),this.events={},this.events["click .".concat(e,"title")]='toggle',this.listenTo(this.model,'change:open',this.updateVisibility),this.delegateEvents(),this.model.view=this}},{key:"updateVisibility",value:function(){this.model.get('open')?this.open():this.close()}},{key:"open",value:function(){this.$el.addClass(this.activeClass),this.getIconEl().className="".concat(this.iconClass," ").concat(this.caretD),this.getBlocksEl().style.display=''}},{key:"close",value:function(){this.$el.removeClass(this.activeClass),this.getIconEl().className="".concat(this.iconClass," ").concat(this.caretR),this.getBlocksEl().style.display='none'}},{key:"toggle",value:function(){var t=this.model;t.set('open',!t.get('open'))}},{key:"getIconEl",value:function(){return this.iconEl||(this.iconEl=this.el.querySelector('.'+this.iconClass)),this.iconEl}},{key:"getBlocksEl",value:function(){return this.blocksEl||(this.blocksEl=this.el.querySelector('.'+this.pfx+'blocks-c')),this.blocksEl}},{key:"append",value:function(t){this.getBlocksEl().appendChild(t)}},{key:"render",value:function(){var t=this.em,e=this.el,n=this.$el,r=this.model,i=this.pfx,o=t.t("blockManager.categories.".concat(r.id))||r.get('label');return e.innerHTML=this.template({pfx:i,label:o}),n.addClass(this.className),n.css({order:r.get('order')}),this.updateVisibility(),this}}]),n}(f.View);function E(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function j(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{};this.config=j(j({},this.config),t)},getSorter:function(){if(this.em){if(!this.sorter){var t=this.em.get('Utils'),e=this.canvas;this.sorter=new t.Sorter({container:e.getBody(),placer:e.getPlacerEl(),containerSel:'*',itemSel:'*',pfx:this.ppfx,onStart:this.onDrag,onEndMove:this.onDrop,onMove:this.onMove,document:e.getFrameEl().contentDocument,direction:'a',wmargin:1,nested:1,em:this.em,canvasRelative:1})}return this.sorter}},onDrag:function(t){this.em.stopDefault(),this.em.trigger('block:drag:start',t)},onMove:function(t){this.em.trigger('block:drag:move',t)},onDrop:function(t){var e=this.em;if(e.runDefault(),t&&t.get){var n='activeOnRender';t.get(n)&&(t.trigger('active'),t.unset(n)),e.trigger('block:drag:stop',t)}},addTo:function(t){this.add(t)},add:function(t,e){var n=this.config,r=e||null,o=new C({model:t,attributes:t.get('attributes')},n).render().el,s=t.get('category');if(s&&this.categories&&!n.ignoreCategories){(0,i.isString)(s)?s={id:s,label:s}:(0,i.isObject)(s)&&!s.id&&(s.id=s.label);var a=this.categories.add(s),l=a.get('id'),c=this.renderedCategories[l],u=this.getCategoriesEl();return t.set('category',a,{silent:!0}),!c&&u&&(c=new T({model:a},this.config).render(),this.renderedCategories[l]=c,u.appendChild(c.el)),void(c&&c.append(o))}r?r.appendChild(o):this.append(o)},getCategoriesEl:function(){return this.catsEl||(this.catsEl=this.el.querySelector(".".concat(this.catsClass))),this.catsEl},getBlocksEl:function(){return this.blocksEl||(this.blocksEl=this.el.querySelector(".".concat(this.noCatClass," .").concat(this.blockContClass))),this.blocksEl},append:function(t){var e=this.getBlocksEl();e&&e.appendChild(t)},render:function(){var t=this,e=this.ppfx,n=document.createDocumentFragment();this.catsEl=null,this.blocksEl=null,this.renderedCategories=[],this.el.innerHTML="\n
\n
\n
\n
\n "),this.collection.each((function(e){return t.add(e,n)})),this.append(n);var r="".concat(this.blockContClass,"s ").concat(e,"one-bg ").concat(e,"two-color");return this.$el.addClass(r),this.rendered=!0,this}});function M(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function A(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{},i=r=A(A({},s),n),o=i.em;return this.em=o,t=new m(r.blocks),e=new m(t.models),a=new x,this.all=t,this.__initListen(),t.on('add',(function(t){return e.add(t)})),t.on('remove',(function(t){return e.remove(t)})),t.on('reset',(function(t){return e.reset(t.models)})),this},__trgCustom:function(){this.em.trigger(this.events.custom,this.__customData())},__customData:function(){var t=this,e=this.__getBehaviour();return{bm:this,blocks:this.getAll().models,container:e.container,dragStart:function(e,n){return t.startDrag(e,n)},drag:function(e){return t.__drag(e)},dragStop:function(e){return t.endDrag(e)}}},__startDrag:function(e,n){var r=this.em,i=this.events,o=e.getContent?e.getContent():e;this._dragBlock=e,r.set({dragResult:null,dragContent:o}),[r,t].map((function(t){return t.trigger(i.dragStart,e,n)}))},__drag:function(e){var n=this.em,r=this.events,i=this._dragBlock;[n,t].map((function(t){return t.trigger(r.drag,i,e)}))},__endDrag:function(){var e=this.em,n=this.events,r=this._dragBlock,o=e.get('dragResult');if(this._dragBlock=null,o){var s='activeOnRender',a=o.get&&o.get(s),l=r.get('activate')||a,c=r.get('select'),u=(0,i.isArray)(o)?o[0]:o;(c||l&&!1!==c)&&e.setSelected(u),l&&(u.trigger('active'),a&&u.unset(s)),r.get('resetId')&&u.onAll((function(t){return t.resetId()}))}e.set({dragResult:null,dragContent:null}),[e,t].map((function(t){return t.trigger(n.dragEnd,o,r)}))},__getFrameViews:function(){return this.em.get('Canvas').getFrames().map((function(t){return t.view}))},__behaviour:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._bhv=A(A({},this._bhv||{}),t)},__getBehaviour:function(){return this._bhv||{}},startDrag:function(t,e){this.__startDrag(t,e),this.__getFrameViews().forEach((function(t){return t.droppable.startCustom()}))},endDrag:function(t){this.__getFrameViews().forEach((function(e){return e.droppable.endCustom(t)})),this.__endDrag()},getConfig:function(){return r},postRender:function(){n=new D({collection:e,categories:a},r);var t=this.getConfig().appendTo;if(t){var o=(0,i.isElement)(t)?t:document.querySelector(t);if(!o)return this.__logWarn('"appendTo" element not found');o.appendChild(this.render(e.models))}this.__trgCustom()},add:function(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=n||{};return i.id=e,t.add(i,r)},get:function(e){return t.get(e)},getAll:function(){return t},getAllVisible:function(){return e},remove:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.__remove(t,e)},getCategories:function(){return a},getContainer:function(){return n.el},render:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=t||this.getAll().models;if(e.external){var o=new m(i);return new D({collection:o,categories:a},A(A({},r),e)).render().el}return n&&(n.updateConfig(e),n.collection.reset(i),n.rendered||(n.render(),n.rendered=1)),this.getContainer()},destroy:function(){var i=[t,e,a];i.map((function(t){return t.stopListening()})),i.map((function(t){return t.reset()})),n&&n.remove(),r={},t={},e={},n={},a=[],this.all={}}})}},6950:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>F});var r=n(2982),i=n(4942),o=n(9050),s=n(6183);const a={stylePrefix:'cv-',scripts:[],styles:[],customBadgeLabel:'',autoscrollLimit:50,extHl:0,notTextable:['button','a','input[type=checkbox]','input[type=radio]']};var l=n(5671),c=n(3144),u=n(9340),h=n(3930),f=n(1120),d=n(2316),p=n.n(d),g=n(2567),v=n(9065);function m(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=(0,f.Z)(t);if(e){var i=(0,f.Z)(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return(0,h.Z)(this,n)}}var y=function(t){(0,u.Z)(n,t);var e=m(n);function n(){return(0,l.Z)(this,n),e.apply(this,arguments)}return(0,c.Z)(n,[{key:"defaults",value:function(){return{frame:'',frames:'',rulers:!1,zoom:100,x:0,y:0,scripts:[],styles:[]}}},{key:"initialize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.em;this.config=e,this.em=n,this.set('frames',new v.Z),this.listenTo(this,'change:zoom',this.onZoomChange),this.listenTo(n,'change:device',this.updateDevice),this.listenTo(n,g.evPageSelect,this._pageUpdated)}},{key:"init",value:function(){var t=this.em.get('PageManager').getMain(),e=t.getMainFrame();this.set('frames',t.getFrames()),this.updateDevice({frame:e})}},{key:"_pageUpdated",value:function(t,e){var n=this.em;n.setSelected(),n.get('readyCanvas')&&n.stopDefault(),e&&e.getFrames().map((function(t){return t.disable()})),this.set('frames',t.getFrames())}},{key:"updateDevice",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.em,n=e.getDeviceModel(),r=t.frame||e.getCurrentFrameModel();if(r&&n){var i=n.attributes,o=i.width,s=i.height;r.set({width:o,height:s},{noUndo:1})}}},{key:"onZoomChange",value:function(){this.get('zoom')<1&&this.set('zoom',1)}}]),n}(d.Model),b=n(6602),w=n(4868);function x(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}var O=function(){function t(e,n){var r=this;(0,l.Z)(this,t),this.em=e;var i=n||e.get('Canvas').getFrames().map((function(t){return t.getComponent().getEl()})),s=Array.isArray(i)?i:[i];return this.el=i,this.counter=0,(0,o.bindAll)(this,'handleDragEnter','handleDragOver','handleDrop','handleDragLeave'),s.forEach((function(t){return r.toggleEffects(t,1)})),this}return(0,c.Z)(t,[{key:"toggleEffects",value:function(t,e){var n={on:s.on,off:s.off},r=e?'on':'off';n[r](t,'dragenter',this.handleDragEnter),n[r](t,'dragover',this.handleDragOver),n[r](t,'drop',this.handleDrop),n[r](t,'dragleave',this.handleDragLeave)}},{key:"__customTglEff",value:function(t){var e=t?s.on:s.off,n=this.el.ownerDocument,r=n.defaultView.frameElement;this.sortOpts=t?{onStart:function(t){var e=t.sorter;(0,s.on)(r,'pointermove',e.onMove)},onEnd:function(t){var e=t.sorter;(0,s.off)(r,'pointermove',e.onMove)},customTarget:function(t){var e=t.event;return n.elementFromPoint(e.clientX,e.clientY)}}:null,e(r,'pointerenter',this.handleDragEnter),e(r,'pointermove',this.handleDragOver),e(document,'pointerup',this.handleDrop),e(r,'pointerout',this.handleDragLeave)}},{key:"startCustom",value:function(){this.__customTglEff(!0)}},{key:"endCustom",value:function(t){this.over?this.endDrop(t):this.__customTglEff(!1)}},{key:"endDrop",value:function(t,e){var n=this.em,r=this.dragStop;this.counter=0,r&&r(t),this.__customTglEff(!1),n.trigger('canvas:dragend',e)}},{key:"handleDragLeave",value:function(t){this.updateCounter(-1,t)}},{key:"updateCounter",value:function(t,e){this.counter+=t,0===this.counter&&this.endDrop(1,e)}},{key:"handleDragEnter",value:function(t){var e=this,n=this.em,r=t.dataTransfer;if(this.updateCounter(1,t),!this.over){this.over=1;var o,s,a=n.get('Utils'),l=n.get('Canvas'),c=n.get('dragContent')||'
';if(n.stopDefault(),n.inAbsoluteMode()){var u=n.get('DomComponents').getWrapper(),h=u.append({})[0],f=n.get('Commands').run('core:component-drag',{event:t,guidesInfo:1,center:1,target:h,onEnd:function(t,n,i){var o;if(!i.cancelled){o=u.append(c)[0];var s=h.getStyle(),a=s.left,l=s.top,f=s.position;o.addStyle({left:a,top:l,position:f})}e.handleDragEnd(o,r),h.remove()}});o=function(e){return f.stop(t,{cancel:e})},s=function(t){return c=t}}else{var d=new a.Sorter(function(t){for(var e=1;e=0)s=t&&t.getData('text/html').replace(/<\/?meta[^>]*>/g,'');else if((0,o.indexOf)(n,'text/uri-list')>=0)s={type:'link',attributes:{href:s},content:s};else if((0,o.indexOf)(n,'text/json')>=0){var u=t&&t.getData('text/json');u&&(s=JSON.parse(u))}else 1===n.length&&'text/plain'===n[0]&&(s="
".concat(s,"
"));var h={content:s};return e.trigger('canvas:dragdata',t,h),h}}]),t}(),C=n(9283);function k(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function S(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{};return Object.keys(t).sort().map((function(e){return"[".concat(e,"=\"").concat(t[e],"\"]")})).join('')},a=function(t,e,n){t.forEach((function(t){var r=t.tag,i=t.attributes;!e.some((function(t){return t.tag===r&&s(t.attributes)===s(i)}))&&n.push(t)}))};a(i,o,r),a(o,i,n),n.forEach((function(t){var n=e.querySelector("".concat(t.tag).concat(s(t.attributes)));n&&n.parentNode.removeChild(n)})),(0,C.SJ)(e,r)},getEl:function(){return this.el},getCanvasModel:function(){return this.em.get('Canvas').getModel()},getWindow:function(){return this.getEl().contentWindow},getDoc:function(){return this.getEl().contentDocument},getHead:function(){return this.getDoc().querySelector('head')},getBody:function(){return this.getDoc().querySelector('body')},getWrapper:function(){return this.getBody().querySelector('[data-gjs-type=wrapper]')},getJsContainer:function(){return this.jsContainer||(this.jsContainer=(0,C.ut)('div',{class:"".concat(this.ppfx,"js-cont")})),this.jsContainer},getToolsEl:function(){var t=this.config.frameWrapView;return t&&t.elTools},getGlobalToolsEl:function(){return this.em.get('Canvas').getGlobalToolsEl()},getHighlighter:function(){return this._getTool('[data-hl]')},getBadgeEl:function(){return this._getTool('[data-badge]')},getOffsetViewerEl:function(){return this._getTool('[data-offset]')},getRect:function(){return this.rect||(this.rect=this.el.getBoundingClientRect()),this.rect},getOffsetRect:function(){var t=this.el,e=this.getBody(),n=e.scrollTop,r=e.scrollLeft,i=t.offsetHeight,o=t.offsetWidth;return{top:t.offsetTop,left:t.offsetLeft,height:i,width:o,scrollTop:n,scrollLeft:r,scrollBottom:n+i,scrollRight:r+o}},_getTool:function(t){var e=this.tools,n=this.getToolsEl();return e[t]||(e[t]=n.querySelector(t)),e[t]},remove:function(){var t=this.wrapper;this._toggleEffects(),this.tools={},t&&t.remove(),p().View.prototype.remove.apply(this,arguments)},startAutoscroll:function(){var t=this;this.lastMaxHeight=this.getWrapper().offsetHeight-this.el.offsetHeight,setTimeout((function(){t._toggleAutoscrollFx(1),requestAnimationFrame(t.autoscroll)}),0)},autoscroll:function(){if(this.dragging){var t=this.lastClientY,e=this.em.get('Canvas'),n=this.getWindow(),r=this.getBody().scrollTop,i=t||0,s=e.getConfig().autoscrollLimit,a=this.getRect().height-s,l=r;if(ia&&(l+=i-a),!(0,o.isUndefined)(t)&&l!==r&&l>0&&l0){var l=r.shift(),c=(0,C.ut)('script',S({type:'text/javascript'},(0,o.isString)(l)?{src:l}:l));c.onerror=c.onload=n.bind(null,r),e.contentDocument.head.appendChild(c)}else t.renderBody(),i&&i.trigger(s,a)};e.onload=function(){i&&i.trigger("".concat(s,":before"),a),c((0,r.Z)(l.get('scripts')))}},renderStyles:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.getHead(),n=this.getCanvasModel(),r=function(t){return t.map((function(t){return{tag:'link',attributes:S({rel:'stylesheet'},(0,o.isString)(t)?{href:t}:t)}}))},i=r(t.prev||n.previous('styles')),s=r(n.get('styles')),a=[],l=[],c=function(t,e,n){t.forEach((function(t){var r=t.attributes.href;!e.some((function(t){return t.attributes.href===r}))&&n.push(t)}))};c(s,i,l),c(i,s,a),a.forEach((function(t){var n=e.querySelector("link[href=\"".concat(t.attributes.href,"\"]"));n&&n.parentNode.removeChild(n)})),(0,C.SJ)(e,l)},renderBody:function(){var t=this,e=this.config,n=this.model,r=this.ppfx,i=e.em,o=this.getDoc(),a=this.getBody(),l=this.getWindow(),c=i.get('Config');l._isEditor=!0,this.renderStyles({prev:[]});(0,C.R3)(a,""));var u=n.getComponent(),h=i.get('DomComponents').getType('wrapper').view;this.wrapper=new h({model:u,config:S(S({},u.config),{},{frameView:this})}).render(),(0,C.R3)(a,this.wrapper.el),(0,C.R3)(a,new w.Z({collection:n.getStyles(),config:S(S({},i.get('CssComposer').getConfig()),{},{frameView:this})}).render().el),(0,C.R3)(a,this.getJsContainer()),(0,s.on)(a,'click',(function(t){return t&&'A'==t.target.tagName&&t.preventDefault()})),(0,s.on)(a,'submit',(function(t){return t&&t.preventDefault()})),[{event:'keydown keyup keypress',class:'KeyboardEvent'},{event:'mousedown mousemove mouseup',class:'MouseEvent'},{event:'pointerdown pointermove pointerup',class:'PointerEvent'},{event:'wheel',class:'WheelEvent'}].forEach((function(e){return e.event.split(' ').forEach((function(n){o.addEventListener(n,(function(n){return t.el.dispatchEvent((0,C.t3)(n,e.class))}))}))})),this._toggleEffects(1),this.droppable=(0,s.hasDnd)(i)&&new O(i,this.wrapper.el),n.trigger('loaded')},_toggleEffects:function(t){var e=t?s.on:s.off,n=this.getWindow();n&&e(n,"".concat(C.G1," resize"),this._emitUpdate)},_emitUpdate:function(){this.model._emitUpdated()}});var _=n(5610);function T(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function E(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,o.bindAll)(this,'onScroll','frameLoaded','updateOffset','remove','startDrag');var n=this.model,r=E(E({},t.config||e),{},{frameWrapView:this}),i=r.canvasView,s=r.em;this.cv=i,this.config=r,this.em=s,this.canvas=s&&s.get('Canvas'),this.ppfx=r.pStylePrefix||'',this.frame=new P({model:n,config:r}),this.classAnim="".concat(this.ppfx,"frame-wrapper--anim"),this.updateOffset=(0,o.debounce)(this.updateOffset.bind(this)),this.updateSize=(0,o.debounce)(this.updateSize.bind(this)),this.listenTo(n,'loaded',this.frameLoaded),this.listenTo(n,'change:x change:y',this.updatePos),this.listenTo(n,'change:width change:height',this.updateSize),this.listenTo(n,'destroy remove',this.remove),this.updatePos(),this.setupDragger()},setupDragger:function(){var t,e,n,r=this,i=this.canvas,o=this.model,s=function(t){i.toggleFramesEvents(t)};this.dragger=new _.Z({onStart:function(){var i=o.attributes,a=i.x,l=i.y;n=r.em.getZoomMultiplier(),t=a,e=l,s()},onEnd:function(){return s(1)},setPosition:function(r){o.set({x:t+r.x*n,y:e+r.y*n})}})},startDrag:function(t){t&&this.dragger.start(t)},__clear:function(t){var e=this.frame;e&&e.remove(t),(0,C.L_)(this.elTools)},remove:function(t){var e=this;return this.__clear(t),p().View.prototype.remove.apply(this,arguments),['frame','dragger','cv','em','canvas','elTools'].forEach((function(t){return e[t]=0})),this},updateOffset:function(){var t=this.em,e=this.$el,n=this.frame;t&&(t.runDefault({preserveSelected:1}),e.removeClass(this.classAnim),n.model._emitUpdated())},updatePos:function(t){var e=this.model,n=this.el,r=e.attributes,i=r.x,o=r.y,s=n.style;this.frame.rect=0,s.left=isNaN(i)?i:"".concat(i,"px"),s.top=isNaN(o)?o:"".concat(o,"px"),t&&this.updateOffset()},updateSize:function(){this.updateDim()},updateDim:function(){var t=this.em,e=this.el,n=this.$el,r=this.model,i=this.classAnim,s=this.frame;if(s){s.rect=0,n.addClass(i);var a=this.__handleSize(),l=a.noChanges,c=a.width,u=a.height;((0,o.isNull)(c)||(0,o.isNull)(u))&&r.set(E(E({},c?{}:{width:e.offsetWidth}),u?{}:{height:e.offsetHeight}),{silent:1}),t.stopDefault({preserveSelected:1}),l?this.updateOffset():setTimeout(this.updateOffset,350)}},onScroll:function(){var t=this.frame;this.em.trigger('frame:scroll',{frame:t,body:t.getBody(),target:t.getWindow()})},frameLoaded:function(){this.frame.getWindow().onscroll=this.onScroll,this.updateDim()},__handleSize:function(){var t=this.model,e=this.el.style,n=t.attributes,r=n.width,i=n.height,s=e.width||'',a=e.height||'',l=r||'',c=i||'',u=s==l&&a==c;return e.width=(0,o.isNumber)(l)?"".concat(l).concat("px"):l,e.height=(0,o.isNumber)(c)?"".concat(c).concat("px"):c,{noChanges:u,width:r,height:i,newW:l,newH:c}},render:function(){var t=this.frame,e=this.$el,n=this.ppfx,r=this.cv,i=this.model,o=this.el,s=i.attributes.onRender;this.__clear(),this.__handleSize(),t.render(),e.empty().attr({class:"".concat(n,"frame-wrapper")}).append("\n
\n
\n ").concat(i.get('name')||'',"\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n ")).append(t.el);var a=(0,C.ut)('div',{class:"".concat(n,"tools"),style:'pointer-events:none; display: none'},"\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n "));this.elTools=a;var l=r.toolsWrapper;return l&&l.appendChild(a),s&&s({el:o,elTop:o.querySelector('[data-frame-top]'),elRight:o.querySelector('[data-frame-right]'),elBottom:o.querySelector('[data-frame-bottom]'),elLeft:o.querySelector('[data-frame-left]'),frame:i,frameWrapperView:this,remove:this.remove,startDrag:this.startDrag}),this}}),D=b.Z.extend({itemView:j,autoAdd:1,init:function(){this.listenTo(this.collection,'reset',this.render)},onRemoveBefore:function(t,e){t.forEach((function(t){return t.remove(e)}))},onRender:function(){var t=this.config,e=this.$el,n=t.em;n&&e.attr({class:"".concat(n.getConfig('stylePrefix'),"frames")})}});function M(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function A(t){for(var e=1;e\n
\n ")},initialize:function(t){(0,o.bindAll)(this,'clearOff','onKeyPress','onCanvasMove');var e=this.model;this.config=t.config||{},this.em=this.config.em||{},this.pfx=this.config.stylePrefix||'',this.ppfx=this.config.pStylePrefix||'',this.className=this.config.stylePrefix+'canvas';var n=this.em;this._initFrames(),this.listenTo(n,'change:canvasOffset',this.clearOff),this.listenTo(n,'component:selected',this.checkSelected),this.listenTo(e,'change:zoom change:x change:y',this.updateFrames),this.listenTo(e,'change:frames',this._onFramesUpdate),this.toggleListeners(1)},_onFramesUpdate:function(){this._initFrames(),this._renderFrames()},_initFrames:function(){var t=this.frames,e=this.model,n=this.config,r=this.em,i=e.get('frames');r.set('readyCanvas',0),i.once('loaded:all',(function(){return r.set('readyCanvas',1)})),t&&t.remove(),this.frames=new D({collection:i,config:A(A({},n),{},{canvasView:this})})},checkSelected:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.scroll,r=this.em.get('currentFrame');n&&t.views.forEach((function(t){t._getFrame()===r&&t.scrollIntoView(n)}))},remove:function(){this.frames.remove(),this.frames={},p().View.prototype.remove.apply(this,arguments),this.toggleListeners()},preventDefault:function(t){t&&(t.preventDefault(),t._parentEvent&&t._parentEvent.preventDefault())},onCanvasMove:function(t){},toggleListeners:function(t){this.el;var e=t?s.on:s.off;e(document,'keypress',this.onKeyPress),e(window,'scroll resize',this.clearOff)},onKeyPress:function(t){var e=this.em;' '!==(0,s.getKeyChar)(t)||1===e.getZoomDecimal()||e.get('Canvas').isInputFocused()||(this.preventDefault(t),e.get('Editor').runCommand('core:canvas-move'))},onWheel:function(t){if((t.ctrlKey||t.metaKey)&&this.em.getConfig('multiFrames')){this.preventDefault(t);var e=this.model,n=Math.max(-1,Math.min(1,t.wheelDelta||-t.detail)),r=e.get('zoom');e.set('zoom',r+2*n)}},updateFrames:function(t){var e=this.em,n=this.model.attributes,r=n.x,i=n.y,o=this.getZoom(),s={preserveSelected:1},a=o?1/o:1;this.framesArea.style.transform="scale(".concat(o,") translate(").concat(r*a,"px, ").concat(i*a,"px)"),this.clearOff(),e.stopDefault(s),e.trigger('canvas:update',t),L&&clearTimeout(L),L=setTimeout((function(){return e.runDefault(s)}),300)},getZoom:function(){return this.em.getZoomDecimal()},isElInViewport:function(t){var e=(0,s.getElement)(t),n=(0,s.getElRect)(e),r=this.getFrameOffset(e),i=n.top,o=n.left;return i>=0&&o>=0&&i<=r.height&&o<=r.width},offset:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=(0,s.getElRect)(t),r=t.ownerDocument.body,i=e.noScroll;return{top:n.top+(i?0:r.scrollTop),left:n.left+(i?0:r.scrollLeft),width:n.width,height:n.height}},clearOff:function(){this.frmOff=null,this.cvsOff=null},getFrameOffset:function(t){if(!this.frmOff||t){var e=this.frame.el,n=t&&t.ownerDocument.defaultView,r=n?n.frameElement:e;this.frmOff=this.offset(r||e)}return this.frmOff},getCanvasOffset:function(){return this.cvsOff||(this.cvsOff=this.offset(this.el)),this.cvsOff},getElementPos:function(t,e){var n=this.getZoom(),r=e||{},i=this.getFrameOffset(t),o=this.getCanvasOffset(),s=this.offset(t,e),a=r.avoidFrameOffset?0:i.top,l=r.avoidFrameOffset?0:i.left;return{top:s.top*n+a-o.top,left:s.left*n+l-o.left,height:s.height*n,width:s.width*n,zoom:n,rect:s}},getElementOffsets:function(t){var e=this;if(!t||(0,s.isTextNode)(t))return{};var n={},r=window.getComputedStyle(t);return['marginTop','marginRight','marginBottom','marginLeft','paddingTop','paddingRight','paddingBottom','paddingLeft'].forEach((function(t){n[t]=parseFloat(r[t])*e.getZoom()})),n},getPosition:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.frame.el.contentDocument;if(e){var n=e.body,r=this.getZoom(),i=this.getFrameOffset(),o=this.getCanvasOffset(),s=t.noScroll;return{top:i.top+(s?0:n.scrollTop)*r-o.top,left:i.left+(s?0:n.scrollLeft)*r-o.left,width:o.width,height:o.height}}},updateScript:function(t){var e=t.model,n=e.getId();t.scriptContainer||(t.scriptContainer=R("
")),this.getJsContainer().appendChild(t.scriptContainer.get(0))),t.el.id=n,t.scriptContainer.html('');var r=document.createElement('script'),i=e.getScriptString(),o=e.get('script-props')?i:"function(){\n".concat(i,"\n;}"),s=JSON.stringify(e.__getScriptProps());r.innerHTML="\n setTimeout(function() {\n var item = document.getElementById('".concat(n,"');\n if (!item) return;\n (").concat(o,".bind(item))(").concat(s,")\n }, 1);"),setTimeout((function(){var e=t.scriptContainer;e&&e.get(0).appendChild(r)}),0)},getJsContainer:function(t){var e=this.getFrameView(t);return e&&e.getJsContainer()},getFrameView:function(t){return t&&t._getFrame()||this.em.get('currentFrame')},_renderFrames:function(){if(this.ready){var t=this.model,e=this.frames,n=this.em,r=this.framesArea,i=t.get('frames');i.listenToLoad(),e.render();var o=i.at(0),s=o&&o.view;n.setCurrentFrame(s),r&&r.appendChild(e.el),this.frame=s}},render:function(){var t=this.el,e=this.$el,n=this.ppfx,r=this.config,i=this.em;e.html(this.template());var o=e.find('[data-frames]');this.framesArea=o.get(0);var a=e.find('[data-tools]');this.toolsWrapper=a.get(0),a.append("\n
\n
\n
\n
\n
\n
\n ").concat(r.extHl?"
"):'',"\n
\n
\n
\n
\n
\n
\n
\n "));var l=t.querySelector("#".concat(n,"tools"));return this.hlEl=t.querySelector(".".concat(n,"highlighter")),this.badgeEl=t.querySelector(".".concat(n,"badge")),this.placerEl=t.querySelector(".".concat(n,"placeholder")),this.ghostEl=t.querySelector(".".concat(n,"ghost")),this.toolbarEl=t.querySelector(".".concat(n,"toolbar")),this.resizerEl=t.querySelector(".".concat(n,"resizer")),this.offsetEl=t.querySelector(".".concat(n,"offset-v")),this.fixedOffsetEl=t.querySelector(".".concat(n,"offset-fixed-v")),this.toolsGlobEl=t.querySelector(".".concat(n,"tools-gl")),this.toolsEl=l,this.el.className=(0,s.getUiClass)(i,this.className),this.ready=1,this._renderFrames(),this}});function Z(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function I(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{};n=I(I(I({},a),e),{},{module:this}),this.em=n.em;var r=n,i=r.scripts,o=r.styles,s=n.pStylePrefix;return s&&(n.stylePrefix=s+n.stylePrefix),t=new y({scripts:i,styles:o},e),this.model=t,this.startAutoscroll=this.startAutoscroll.bind(this),this.stopAutoscroll=this.stopAutoscroll.bind(this),this},onLoad:function(){this.model.init()},getModel:function(){return t},getConfig:function(){return n},getElement:function(){return e.el},getFrame:function(t){return this.getFrames()[t||0]},getFrameEl:function(){var t=(e||{}).frame;return t&&t.el},getFramesEl:function(){return e.framesArea},getWindow:function(){return this.getFrameEl().contentWindow},getDocument:function(){var t=this.getFrameEl();return t&&t.contentDocument},getBody:function(){var t=this.getDocument();return t&&t.body},_getCompFrame:function(t){return t&&t._getFrame()},_getLocalEl:function(t,e,n){var r=t,i=this._getCompFrame(e);return r=i?i[n]():r},getGlobalToolsEl:function(){return e.toolsGlobEl},getToolsEl:function(t){return this._getLocalEl(e.toolsEl,t,'getToolsEl')},getHighlighter:function(t){return this._getLocalEl(e.hlEl,t,'getHighlighter')},getBadgeEl:function(t){return this._getLocalEl(e.badgeEl,t,'getBadgeEl')},getPlacerEl:function(){return e.placerEl},getGhostEl:function(){return e.ghostEl},getToolbarEl:function(){return e.toolbarEl},getResizerEl:function(){return e.resizerEl},getOffsetViewerEl:function(t){return this._getLocalEl(e.offsetEl,t,'getOffsetViewerEl')},getFixedOffsetViewerEl:function(){return e.fixedOffsetEl},render:function(){return e&&e.remove(),(e=new N({model:t,config:n})).render().el},getOffset:function(){var t=this.offset(this.getFrameEl()),e=this.offset(this.getElement());return{top:t.top-e.top,left:t.left-e.left}},offset:function(t){return e.offset(t)},setCustomBadgeLabel:function(t){n.customBadgeLabel=t},getElementPos:function(t,n){return e.getElementPos(t,n)},getElementOffsets:function(t){return e.getElementOffsets(t)},getRect:function(){var t=e.getPosition(),n=t.top,r=t.left;return I(I({},e.getCanvasOffset()),{},{topScroll:n,leftScroll:r})},getTargetToElementDim:function(t,r){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=i||{},s=e.getPosition();if(s){var a=o.elPos||e.getElementPos(r),l=i.toRight||0,c=o.targetHeight||t.offsetHeight,u=o.targetWidth||t.offsetWidth,h=o.event||null,f=a.top-c,d=a.left;d+=l?a.width:0;var p=(d=l?d-u:d)a.top+a.height?a.top+a.height:g,left:p,elementTop:a.top,elementLeft:a.left,elementWidth:a.width,elementHeight:a.height,targetWidth:t.offsetWidth,targetHeight:t.offsetHeight,canvasTop:s.top,canvasLeft:s.left,canvasWidth:s.width,canvasHeight:s.height};return h&&n.em&&n.em.trigger(h,v),v}},canvasRectOffset:function(t,e){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=function(t){var e=t.defaultView;return e&&e.frameElement},o=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,o=arguments.length>2?arguments[2]:void 0,s=n.em.getZoomDecimal(),a=e?'top':'left',l=t.ownerDocument,c=r.offset?i(l):{},u=c.offsetTop,h=void 0===u?0:u,f=c.offsetLeft,d=void 0===f?0:f,p=l.body||{},g=p.scrollTop,v=void 0===g?0:g,m=p.scrollLeft,y=void 0===m?0:m,b=e?v:y,w=e?h:d;return o[a]-(b-w)*s};return{top:o(t,1,e),left:o(t,0,e)}},getTargetToElementFixed:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.pos||this.getElementPos(t),i=n.canvasOff||this.canvasRectOffset(t,r),s=e.offsetHeight||0,a=e.offsetWidth||0,l=r.left+r.width,c=this.getCanvasView(),u=c.getPosition(),h=c.getFrameOffset(t),f=n.event,d=-s,p=(0,o.isUndefined)(n.left)?r.width-a:n.left;p=r.left<-p?-r.left:p,p=l>u.width?p-(l-u.width):p;var g=r.height+s,v=g1&&void 0!==arguments[1]?arguments[1]:{},n=(0,s.getElement)(t),r=n&&(0,s.getViewEl)(n);r&&r.scrollIntoView(e)},startAutoscroll:function(t){var e=t&&t.view||this.em.getCurrentFrame();e&&e.startAutoscroll()},stopAutoscroll:function(t){var e=t&&t.view||this.em.getCurrentFrame();e&&e.stopAutoscroll()},setZoom:function(e){return t.set('zoom',parseFloat(e)),this},getZoom:function(){return parseFloat(t.get('zoom'))},setCoords:function(e,n){return t.set({x:parseFloat(e),y:parseFloat(n)}),this},getCoords:function(){var e=t.attributes;return{x:e.x,y:e.y}},getZoomDecimal:function(){return this.getZoom()/100},getZoomMultiplier:function(){var t=this.getZoomDecimal();return t?1/t:1},toggleFramesEvents:function(t){this.getFramesEl().style.pointerEvents=t?'':'none'},getFrames:function(){return t.get('frames').map((function(t){return t}))},addFrame:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t.get('frames').add(I({},e),I(I({},n),{},{em:this.em}))},destroy:function(){var r=this;t.stopListening(),e&&e.remove(),[n,t,e].forEach((function(t){return{}})),['em','model','droppable'].forEach((function(t){return r[t]={}}))}}}},9065:(t,e,n)=>{"use strict";n.d(e,{Z:()=>O});var r=n(4942),i=n(5671),o=n(3144),s=n(9340),a=n(3930),l=n(1120),c=n(9050),u=n(2316),h=n(2982),f=n(6183);function d(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function p(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:{},n=e.config,r=n.em,i=this.attributes,o=i.styles,s=i.component,a=r.get('DomComponents'),l=a.getConfig(),u=r.get('CssComposer').getAll(),h={};this.em=r;var d={em:r,config:l,frame:this,idMap:h};if(!(0,f.isComponent)(s)){var p=(0,f.isObject)(s)?s:{components:s};!p.type&&(p.type='wrapper');var g=a.getType('wrapper').model;this.set('component',new g(p,d))}if(o){if(!(0,f.isObject)(o)){var y=Object.keys(h);y.length&&Array.isArray(o)&&o.forEach((function(t){var e=t.selectors;if(e&&1==e.length){var n=e[0],r=n.name&&2===n.type&&n;if(r&&h[r.name])r.name=h[r.name];else if((0,c.isString)(n)&&'#'===n[0]){var i=n.substring(1);i&&h[i]&&(e[0]="#".concat(h[i]))}}})),u.add(o),this.set('styles',u)}}else this.set('styles',u);!t.width&&this.set(v,1),!t.height&&this.set(m,1)}},{key:"onRemove",value:function(){this.getComponent().remove({root:1})}},{key:"changesUp",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t.temporary||t.noCount||t.avoidStore||this.set('changesCount',this.get('changesCount')+1)}},{key:"getComponent",value:function(){return this.get('component')}},{key:"getStyles",value:function(){return this.get('styles')}},{key:"disable",value:function(){this.trigger('disable')}},{key:"remove",value:function(){this.view=0;var t=this.collection;return t&&t.remove(this)}},{key:"getHead",value:function(){var t=this.get('head')||[];return(0,h.Z)(t)}},{key:"setHead",value:function(t){return this.set('head',(0,h.Z)(t))}},{key:"addHeadItem",value:function(t){var e=this.getHead();e.push(t),this.setHead(e)}},{key:"getHeadByAttr",value:function(t,e,n){return this.getHead().filter((function(r){return r.attributes&&r.attributes[t]==e&&(!n||n===r.tag)}))[0]}},{key:"removeHeadByAttr",value:function(t,e,n){var r=this.getHead(),i=this.getHeadByAttr(t,e,n),o=r.indexOf(i);o>=0&&(r.splice(o,1),this.setHead(r))}},{key:"addLink",value:function(t){var e='link';!this.getHeadByAttr('href',t,e)&&this.addHeadItem({tag:e,attributes:{href:t,rel:'stylesheet'}})}},{key:"removeLink",value:function(t){this.removeHeadByAttr('href',t,'link')}},{key:"addScript",value:function(t){var e='script';!this.getHeadByAttr('src',t,e)&&this.addHeadItem({tag:e,attributes:{src:t}})}},{key:"removeScript",value:function(t){this.removeHeadByAttr('src',t,'script')}},{key:"getPage",value:function(){var t=this.collection;return t&&t.page}},{key:"_emitUpdated",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.em.trigger('frame:updated',p({frame:this},t))}},{key:"toJSON",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=u.Model.prototype.toJSON.call(this,t),n=this.em,r=n&&n.get('StorageManager'),i=r&&r.getConfig(),o=(0,c.result)(this,'defaults');if(i&&!t.fromUndo){var s={component:this.getComponent()};i.storeHtml&&(e.html=n.getHtml(s)),i.storeCss&&(e.css=n.getCss(s))}return t.fromUndo&&delete e.component,delete e.styles,delete e.changesCount,e.__aw&&delete e.width,e.__ah&&delete e.height,(0,c.forEach)(e,(function(t,n){0===n.indexOf('_')&&delete e[n]})),(0,c.forEach)(o,(function(t,n){e[n]===t&&delete e[n]})),(0,c.forEach)(['attributes','head'],(function(t){(0,c.isEmpty)(e[t])&&delete e[t]})),e}}]),n}(u.Model);function b(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function w(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:{};(0,c.bindAll)(this,'itemLoaded'),this.config=e,this.on('reset',this.onReset),this.on('remove',this.onRemove)}},{key:"onReset",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.previousModels||[];r.map((function(t){return e.onRemove(t)}))}},{key:"onRemove",value:function(t){t&&t.onRemove()}},{key:"itemLoaded",value:function(){this.loadedItems++,this.loadedItems>=this.itemsToLoad&&(this.trigger('loaded:all'),this.listenToLoadItems(0))}},{key:"listenToLoad",value:function(){this.loadedItems=0,this.itemsToLoad=this.length,this.listenToLoadItems(1)}},{key:"listenToLoadItems",value:function(t){var e=this;this.forEach((function(n){return n[t?'on':'off']('loaded',e.itemLoaded)}))}},{key:"add",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.config;return u.Collection.prototype.add.call(this,t,w(w({},e),{},{config:n}))}}]),n}(u.Collection);O.prototype.model=y},7619:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>P});var r=n(9050);const i={stylePrefix:'cm-',inlineCss:!1};var o=n(5671),s=n(3144),a=n(9340),l=n(3930),c=n(1120),u=n(2316),h=n.n(u);function f(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=(0,c.Z)(t);if(e){var i=(0,c.Z)(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return(0,l.Z)(this,n)}}var d=function(t){(0,a.Z)(n,t);var e=f(n);function n(){return(0,o.Z)(this,n),e.apply(this,arguments)}return(0,s.Z)(n,[{key:"build",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={},r=e.em;if(e.cleanId&&r){var i=r.get('CssComposer').getAll(),o=i.toJSON().map((function(t){var e=t.selectors,n=e&&1===e.length&&e.models[0];return n&&n.isId()&&n.get('name')})).filter((function(t){return t}));n.attributes=function(t,e){var n=e.id;return n&&'i'===n[0]&&!t.get('script')&&!t.get('attributes').id&&o.indexOf(n)<0&&delete e.id,e}}return t.toHTML(n)}}]),n}(u.Model),p=n(8795);const g=h().Model.extend({build:function(t){var e=t.toJSON();return this.beforeEach(e),(0,r.each)(e,(function(t,n){var r=e[n];if(r instanceof h().Model)e[n]=this.build(r);else if(r instanceof h().Collection){var i=r;e[n]=[],i.length&&i.each((function(t,r){e[n][r]=this.build(t)}),this)}}),this),e},beforeEach:function(t){delete t.status}});var v=n(4942);const m=h().Model.extend({mapModel:function(t){var e='',n=t.get('script-export')||t.get('script'),i=t.get('type'),o=t.get('components'),s=t.getId();if(n){var a=t.get('attributes');a=(0,r.extend)({},a,{id:s}),t.set('attributes',a,{silent:1});var l=t.getScriptString(n),c=t.get('script-props');if(t.get('scriptUpdated')&&!c)this.mapJs[i+'-'+s]={ids:[s],code:l};else{var u,h=this.mapJs[i];if(c&&(u=t.__getScriptProps()),h)h.ids.push(s),u&&(h.props[s]=u);else{var f={ids:[s],code:l};u&&(f.props=(0,v.Z)({},s,u)),this.mapJs[i]=f}}}return o.each((function(t){e+=this.mapModel(t)}),this),e},build:function(t){this.mapJs={},this.mapModel(t);var e='';for(var n in this.mapJs){var r=this.mapJs[n];if(r.code)if(r.props){if(0===r.code.toString().match(/\{([\s\S]*)\}/m)[1].replace(/^\s*\/\/.*$/gm,'').trim().length)continue;e+="\n var props = ".concat(JSON.stringify(r.props),";\n var ids = Object.keys(props).map(function(id) { return '#'+id }).join(',');\n var els = document.querySelectorAll(ids);\n for (var i = 0, len = els.length; i < len; i++) {\n var el = els[i];\n (").concat(r.code,".bind(el))(props[el.id]);\n }")}else{var i='#'+r.ids.join(', #');e+="\n var items = document.querySelectorAll('".concat(i,"');\n for (var i = 0, len = items.length; i < len; i++) {\n (function(){\n").concat(r.code,"\n}.bind(items[i]))();\n }")}}return e}});var y;function b(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}(0,n(6183).hasWin)()&&(y=n(4631),n(6531),n(6629),n(9210));const w=h().Model.extend({CodeMirror:y,defaults:{input:'',label:'',codeName:'',theme:'hopscotch',readOnly:!0,lineNumbers:!0},init:function(t){return(0,r.bindAll)(this,'onChange'),this.editor=y.fromTextArea(t,function(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:{},r=this.editor;r&&(r.setValue(t),r.autoFormatRange&&(y.commands.selectAll(r),r.autoFormatRange(r.getCursor(!0),r.getCursor(!1)),y.commands.goDocStart(r)),!n.noRefresh&&setTimeout((function(){return e.refresh()})))}});var x,O=n(168),C=n(1629);function k(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=(0,c.Z)(t);if(e){var i=(0,c.Z)(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return(0,l.Z)(this,n)}}var S=function(t){(0,a.Z)(n,t);var e=k(n);function n(){return(0,o.Z)(this,n),e.apply(this,arguments)}return(0,s.Z)(n,[{key:"template",value:function(t){var e=t.pfx,n=t.codeName,r=t.label;return(0,C.Z)(x||(x=(0,O.Z)(["\n
\n
","
\n
\n
\n "])),e,e,n,e,r,e)}},{key:"initialize",value:function(t){this.config=t.config||{},this.pfx=this.config.stylePrefix}},{key:"render",value:function(){var t=this.model,e=this.pfx,n=this.$el,r=t.toJSON();return r.pfx=e,n.html(this.template(r)),n.attr('class',"".concat(e,"editor-c")),n.find("#".concat(e,"code")).append(t.get('input')),this}}]),n}(u.View);const P=function(){var t={},e={},n={},o={},s={},a='CodeMirror';return{getConfig:function(){return t},config:t,EditorView:S,name:'CodeManager',init:function(e){for(var r in t=e||{},i)r in t||(t[r]=i[r]);var o=t.pStylePrefix;return o&&(t.stylePrefix=o+t.stylePrefix),n.html=new d,n.css=new p.Z,n.json=new g,n.js=new m,s.CodeMirror=new w,this.loadDefaultGenerators().loadDefaultViewers(),this},addGenerator:function(t,n){return e[t]=n,this},getGenerator:function(t){return e[t]||null},getGenerators:function(){return e},addViewer:function(t,e){return o[t]=e,this},getViewer:function(t){return o[t]||null},getViewers:function(){return o},createViewer:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=(0,r.isUndefined)(t.type)?a:t.type,n=this.getViewer(e)&&this.getViewer(e).clone(),i=document.createElement('div'),o=document.createElement('textarea');return i.appendChild(o),n.set(t),n.init(o),n.setElement(i),n},updateViewer:function(t,e){t.setContent(e)},getCode:function(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};r.em=t.em;var i=this.getGenerator(n);return i?i.build(e,r):''},loadDefaultGenerators:function(){for(var t in n)this.addGenerator(t,n[t]);return this},loadDefaultViewers:function(){for(var t in s)this.addViewer(t,s[t]);return this},destroy:function(){[t,e,n,o,s].forEach((function(t){return{}}))}}}},8795:(t,e,n)=>{"use strict";n.d(e,{U:()=>l,Z:()=>c});var r=n(2316),i=n.n(r),o=n(9050),s=n(6183),a=Number.MAX_VALUE,l=function(t){var e=/(-?\d*\.?\d+)\w{0,}/.exec(t);return e?e[0]:''};const c=i().Model.extend({initialize:function(){(0,o.bindAll)(this,'sortRules'),this.compCls=[],this.ids=[]},buildFromModel:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r='',i=this.em,o=i&&i.getConfig('avoidInlineStyle'),s=t.styleToString(),a=t.get('classes');this.ids.push("#".concat(t.getId())),a.each((function(t){return e.compCls.push(t.getFullName())})),!o&&s&&(r="#".concat(t.getId(),"{").concat(s,"}"));var l=t.components();return l.each((function(t){return r+=e.buildFromModel(t,n)})),r},build:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.json,i=n.em||'',a=n.cssc||i&&i.get('CssComposer');this.em=i,this.compCls=[],this.ids=[],this.model=t;var l=[],c=t?this.buildFromModel(t,n):'',u=(0,o.isUndefined)(n.clearStyles)&&i?i.getConfig('clearStyles'):n.clearStyles;if(a){var h=n.rules||a.getAll(),f={},d=[];n.onlyMatched&&t&&(0,s.hasWin)()&&(h=this.matchedRules(t,h)),h.forEach((function(t){var i=t.getAtRule();if(i){var o=f[i];o?o.push(t):f[i]=[t]}else{var s=e.buildFromRule(t,d,n);r?l.push(s):c+=s}})),this.sortMediaObject(f).forEach((function(t){var i='',o=t.key;t.value.forEach((function(t){var s=e.buildFromRule(t,d,n);t.get('singleAtRule')?c+="".concat(o,"{").concat(s,"}"):i+=s,r&&l.push(s)})),i&&(c+="".concat(o,"{").concat(i,"}"))})),i&&u&&h.remove&&h.remove(d)}return r?l.filter((function(t){return t})):c},buildFromRule:function(t,e){var n,r=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o='',s=this.model,a=t.selectorsToString({skipAdd:1}),l=t.get('selectorsAdd'),c=t.get('singleAtRule');if(t.get('selectors').each((function(t){var e=t.getFullName();(r.compCls.indexOf(e)>=0||r.ids.indexOf(e)>=0||i.keepUnusedStyles)&&(n=1)})),a&&n||l||c||!s){var u=t.getDeclaration({body:1});u&&(i.json?o=t:o+=u)}else e.push(t);return o},matchedRules:function(t,e){var n=this,r=t.getEl(),i=[];return e.forEach((function(t){try{t.selectorsToString().split(',').some((function(t){return r.matches(n.__cleanSelector(t))}))&&i.push(t)}catch(t){}})),t.components().forEach((function(t){i=i.concat(n.matchedRules(t,e))})),i=i.filter((function(t,e){return i.indexOf(t)===e}))},getQueryLength:function(t){var e=/(-?\d*\.?\d+)\w{0,}/.exec(t);return e?parseFloat(e[1]):a},sortMediaObject:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=[];return(0,o.each)(e,(function(t,e){return n.push({key:e,value:t})})),n.sort((function(e,n){var r=[e.key,n.key].every((function(t){return-1!==t.indexOf('min-width')})),i=r?e.key:n.key,o=r?n.key:e.key;return t.getQueryLength(i)-t.getQueryLength(o)}))},sortRules:function(t,e){var n=function(t){return t.get('mediaText')},r=[n(t),n(e)].every((function(t){return-1!==t.indexOf('min-width')})),i=n(r?t:e),o=n(r?e:t);return this.getQueryLength(i)-this.getQueryLength(o)},__cleanSelector:function(t){return t.split(' ').map((function(t){return t.split(':')[0]})).join(' ')}})},289:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>f});var r=n(2982),i=n(4942),o=n(9050),s=n(238);const a={stylePrefix:'com-',defaults:[],strict:1};var l=n(9138);function c(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function u(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{};e=u(u({},a),s),t=e.em;var f=e.pStylePrefix;return f&&(e.stylePrefix=f+e.stylePrefix),Object.keys(e.defaults).forEach((function(t){var n=e.defaults[t];n.id&&i.add(n.id,n)})),c['tlb-delete']={run:function(t){return t.runCommand('core:component-delete')}},c['tlb-clone']={run:function(t){t.runCommand('core:copy'),t.runCommand('core:paste',{action:'clone-component'})}},c['tlb-move']={run:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=t.getModel(),s=n&&n.event,a=n.target,c=a||t.getSelected(),u=a?[a]:(0,r.Z)(t.getSelectedAll()),h=s&&'dragstart'==s.type,f={preserveSelected:1},d=['absolute','translate'];if(!c||!c.get('draggable'))return i.logWarning('The element is not draggable');var p=c.get('dmode')||i.get('dmode'),g=function(){return i.stopDefault(f)},v=(0,o.includes)(d,p);u.forEach((function(t){return t.trigger('disable')})),h?setTimeout(g,0):g();var m=function(t){i.trigger("".concat(l.OA,":start"),t)},y=function(t){i.trigger(l.OA,t)},b=function(e,n,r){u.forEach((function(t){return t.set('status','selected')})),t.select(u),c.emitUpdate(),i.trigger("".concat(l.OA,":end"),r),setTimeout((function(){return i.runDefault(f)})),(v||r.cancelled)&&i.set('_cmpDrag',1)};if(v)t.runCommand('core:component-drag',{guidesInfo:1,mode:p,target:c,onStart:m,onDrag:y,onEnd:b,event:s});else{h&&s.dataTransfer.setDragImage(c.view.el,0,0);var w=t.Commands.get('move-comp');w.onStart=m,w.onDrag=y,w.onEndMoveFromModel=b,w.initSorterFromModels(u)}u.forEach((function(t){return t.set('status','freezed-selected')}))}},c['core:undo']=function(t){return t.UndoManager.undo()},c['core:redo']=function(t){return t.UndoManager.redo()},h.forEach((function(e){var r=e[2],i=n(2828)("./".concat(e[1])).default,o="core:".concat(e[0]);c[o]=i,r&&(c[r]=i,['run','stop'].forEach((function(e){t.on("".concat(e,":").concat(r),(function(){for(var n,r=arguments.length,i=new Array(r),s=0;s1&&void 0!==arguments[1]?arguments[1]:{},n=this.get(t);if(n){var r=u(u({},n.constructor.prototype),e);this.add(t,r);var i=h.filter((function(e){return"core:".concat(e[0])===t&&e[2]}))[0];i&&this.add(i[2],r)}return this},has:function(t){return!!i[t]},getAll:function(){return i},run:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.runCommand(this.get(t),e)},stop:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.stopCommand(this.get(t),e)},isActive:function(t){return this.getActive().hasOwnProperty(t)},getActive:function(){return f},loadDefaultCommands:function(){for(var t in c)this.add(t,c[t]);return this},runCommand:function(n){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(n&&n.run){var o=n.id,s=t.get('Editor');this.isActive(o)&&!i.force&&e.strict||(r=s&&n.callRun(s,i),o&&n.stop&&!n.noStop&&!i.abort&&(f[o]=r))}return r},stopCommand:function(n){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(n&&n.run){var o=n.id,s=t.get('Editor');(this.isActive(o)||i.force||!e.strict)&&(o&&delete f[o],r=n.callStop(s,i))}return r},create:function(t){return t.stop||(t.noStop=1),new(s.default.extend(t))(e)},destroy:function(){[t,e,i,c,f].forEach((function(t){return{}}))}}}},7202:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>r});const r={run:function(t){t.DomComponents.clear(),t.CssComposer.clear()}}},327:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>s});var r=n(9050),i=n(6183),o=n(5610);const s={run:function(t){(0,r.bindAll)(this,'onKeyUp','enableDragger','disableDragger'),this.editor=t,this.canvasModel=this.canvas.getCanvasView().model,this.toggleMove(1)},stop:function(t){this.toggleMove(),this.disableDragger()},onKeyUp:function(t){' '===(0,i.getKeyChar)(t)&&this.editor.stopCommand(this.id)},enableDragger:function(t){this.toggleDragger(1,t)},disableDragger:function(t){this.toggleDragger(0,t)},toggleDragger:function(t,e){var n=this.canvasModel,r=this.em,i=this.dragger,s=t?'add':'remove';this.getCanvas().classList[s]("".concat(this.ppfx,"is__grabbing")),i||(i=new o.Z({getPosition:function(){return{x:n.get('x'),y:n.get('y')}},setPosition:function(t){var e=t.x,r=t.y;n.set({x:e,y:r})},onStart:function(t,e){r.trigger('canvas:move:start',e)},onDrag:function(t,e){r.trigger('canvas:move',e)},onEnd:function(t,e){r.trigger('canvas:move:end',e)}}),this.dragger=i),t?i.start(e):i.stop()},toggleMove:function(t){var e=this.ppfx,n=t?'add':'remove',r=t?'on':'off',o={on:i.on,off:i.off},s=this.getCanvas(),a=["".concat(e,"is__grab")];!t&&a.push("".concat(e,"is__grabbing")),a.forEach((function(t){return s.classList[n](t)})),o[r](document,'keyup',this.onKeyUp),o[r](s,'mousedown',this.enableDragger),o[r](document,'mouseup',this.disableDragger)}}},238:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>i});var r=n(2316);const i=r.Model.extend({initialize:function(t){this.config=t||{},this.editorModel=this.em=this.config.em||{},this.pfx=this.config.stylePrefix,this.ppfx=this.config.pStylePrefix,this.hoverClass=this.pfx+'hover',this.badgeClass=this.pfx+'badge',this.plhClass=this.pfx+'placeholder',this.freezClass=this.ppfx+'freezed',this.canvas=this.em.get&&this.em.get('Canvas'),this.init(this.config)},onFrameScroll:function(t){},getCanvas:function(){return this.canvas.getElement()},getCanvasBody:function(){return this.canvas.getBody()},getCanvasTools:function(){return this.canvas.getToolsEl()},offset:function(t){var e=t.getBoundingClientRect();return{top:e.top+t.ownerDocument.body.scrollTop,left:e.left+t.ownerDocument.body.scrollLeft}},init:function(t){},callRun:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.id;if(t.trigger("run:".concat(n,":before"),e),!e||!e.abort){var r=e.sender||t,i=this.run(t,r,e);return t.trigger("run:".concat(n),i,e),t.trigger('run',n,i,e),i}t.trigger("abort:".concat(n),e)},callStop:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.id,r=e.sender||t;t.trigger("stop:".concat(n,":before"),e);var i=this.stop(t,r,e);return t.trigger("stop:".concat(n),i,e),t.trigger('stop',n,i,e),i},stopCommand:function(){this.em.get('Commands').stop(this.id)},run:function(t,e){},stop:function(t,e){}})},5820:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>o});var r=n(2982),i=n(9050);const o={run:function(t,e){var n=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=[],a=o.component||t.getSelectedAll();return(a=(0,i.isArray)(a)?(0,r.Z)(a):[a]).filter(Boolean).forEach((function(t){if(!t.get('removable'))return s.push(t),n.em.logWarning('The element is not removable',{component:t});t.remove()})),t.select(s),a}}},6694:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>c});var r=n(4942),i=n(9050),o=n(5610);function s(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function a(t){for(var e=1;e2&&void 0!==arguments[2]?arguments[2]:{};(0,i.bindAll)(this,'setPosition','onStart','onDrag','onEnd','getPosition','getGuidesStatic','renderGuide','getGuidesTarget');var s=r.target,c=r.event,u=r.mode,h=r.dragger,f=void 0===h?{}:h,d=s.getEl(),p=a({doc:d.ownerDocument,onStart:this.onStart,onEnd:this.onEnd,onDrag:this.onDrag,getPosition:this.getPosition,setPosition:this.setPosition,guidesStatic:function(){return n.guidesStatic},guidesTarget:function(){return n.guidesTarget}},f);this.setupGuides(),this.opts=r,this.editor=t,this.em=t.getModel(),this.target=s,this.isTran='translate'==u,this.guidesContainer=this.getGuidesContainer(),this.guidesTarget=this.getGuidesTarget(),this.guidesStatic=this.getGuidesStatic();var g=this.dragger;return g?g.setOptions(p):(g=new o.Z(p),this.dragger=g),c&&g.start(c),this.toggleDrag(1),this.em.trigger("".concat(l,":start"),this.getEventOpts()),g},getEventOpts:function(){return{mode:this.opts.mode,target:this.target,guidesTarget:this.guidesTarget,guidesStatic:this.guidesStatic}},stop:function(){this.toggleDrag()},setupGuides:function(){(this.guides||[]).forEach((function(t){var e=t.guide;e&&e.parentNode.removeChild(e)})),this.guides=[]},getGuidesContainer:function(){var t=this,e=this.guidesEl;if(!e){var n=this.editor,r=this.em,o=this.opts,s=n.getConfig('stylePrefix'),a=document.createElement('div'),l=document.createElement('div'),c="
\n
\n
");(e=document.createElement('div')).className="".concat(s,"guides"),a.className="".concat(s,"guide-info ").concat(s,"guide-info__x"),l.className="".concat(s,"guide-info ").concat(s,"guide-info__y"),a.innerHTML=c,l.innerHTML=c,e.appendChild(a),e.appendChild(l),n.Canvas.getGlobalToolsEl().appendChild(e),this.guidesEl=e,this.elGuideInfoX=a,this.elGuideInfoY=l,this.elGuideInfoContentX=a.querySelector(".".concat(s,"guide-info__content")),this.elGuideInfoContentY=l.querySelector(".".concat(s,"guide-info__content")),r.on('canvas:update frame:scroll',(0,i.debounce)((function(){t.updateGuides(),o.debug&&t.guides.forEach((function(e){return t.renderGuide(e)}))}),200))}return e},getGuidesStatic:function(){var t=this,e=[],n=this.target.getEl(),r=n.parentNode,o=void 0===r?{}:r;return(0,i.each)(o.children,(function(r){return e=e.concat(n!==r?t.getElementGuides(r):[])})),e.concat(this.getElementGuides(o))},getGuidesTarget:function(){return this.getElementGuides(this.target.getEl())},updateGuides:function(t){var e,n,r=this;(t||this.guides).forEach((function(t){var o=t.origin,s=e===o?n:r.getElementPos(o);e=o,n=s,(0,i.each)(r.getGuidePosUpdate(t,s),(function(e,n){return t[n]=e})),t.originRect=s}))},getGuidePosUpdate:function(t,e){var n={},r=e.top,i=e.height,o=e.left,s=e.width;switch(t.type){case't':n.y=r;break;case'b':n.y=r+i;break;case'l':n.x=o;break;case'r':n.x=o+s;break;case'x':n.x=o+s/2;break;case'y':n.y=r+i/2}return n},renderGuide:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.guide||document.createElement('div'),n='px',r=t.active?2:1,i=e.children[0];return e.style="position: absolute; background-color: ".concat(t.active?'green':'red',";"),e.children.length||((i=document.createElement('div')).style='position: absolute; color: red; padding: 5px; top: 0; left: 0;',e.appendChild(i)),t.y?(e.style.width='100%',e.style.height="".concat(r).concat(n),e.style.top="".concat(t.y).concat(n),e.style.left=0):(e.style.width="".concat(r).concat(n),e.style.height='100%',e.style.left="".concat(t.x).concat(n),e.style.top="0".concat(n)),!t.guide&&this.guidesContainer.appendChild(e),e},getElementPos:function(t){return this.editor.Canvas.getElementPos(t,{noScroll:1})},getElementGuides:function(t){var e=this,n=this.opts,r=this.getElementPos(t),i=r.top,o=r.height,s=r.left,l=r.width,c=[{type:'t',y:i},{type:'b',y:i+o},{type:'l',x:s},{type:'r',x:s+l},{type:'x',x:s+l/2},{type:'y',y:i+o/2}].map((function(i){return a(a({},i),{},{origin:t,originRect:r,guide:n.debug&&e.renderGuide(i)})}));return c.forEach((function(t){return e.guides.push(t)})),c},getTranslate:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:'x',n=0;return(t||'').split(' ').forEach((function(t){var r=t.trim(),i="translate".concat(e.toUpperCase(),"(");0===r.indexOf(i)&&(n=parseFloat(r.replace(i,'')))})),n},setTranslate:function(t,e,n){var r="translate".concat(e.toUpperCase(),"("),i="".concat(r).concat(n,")"),o=(t||'').split(' ').map((function(t){return 0===t.trim().indexOf(r)&&(t=i),t})).join(' ');return o.indexOf(r)<0&&(o+=" ".concat(i)),o},getPosition:function(){var t=this.target,e=this.isTran,n=t.getStyle(),r=n.left,i=n.top,o=n.transform,s=0,a=0;return e?(s=this.getTranslate(o),a=this.getTranslate(o,'y')):(s=parseFloat(r||0),a=parseFloat(i||0)),{x:s,y:a}},setPosition:function(t){var e=t.x,n=t.y,r=t.end,o=t.position,s=t.width,a=t.height,l=this.target,c=this.isTran,u=this.em,h=r?'':1,f="".concat(e).concat("px"),d="".concat(n).concat("px"),p={};if(c){var g=l.getStyle().transform||'';g=this.setTranslate(g,'x',f),p={transform:g=this.setTranslate(g,'y',d),en:h},l.addStyle(p,{avoidStore:!r})}else{var v={position:o,width:s,height:a},m={left:f,top:d,en:h};(0,i.keys)(v).forEach((function(t){var e=v[t];e&&(m[t]=e)})),p=m,l.addStyle(p,{avoidStore:!r})}u.getSelected()&&(0,i.keys)(p).forEach((function(t){return u.trigger("update:component:style:".concat(t))}))},_getDragData:function(){var t=this.target;return{target:t,parent:t.parent(),index:t.index()}},onStart:function(t){var e=this.target,n=this.editor,r=this.isTran,i=this.opts,o=i.center,s=i.onStart,a=n.Canvas,l=e.getStyle(),c='absolute',u=[c,'relative'];if(s&&s(this._getDragData()),!r&&l.position!==c){var h,f=a.offset(e.getEl()),d=f.left,p=f.top,g=f.width,v=f.height,m=e.parent();do{var y=m.getStyle();h=u.indexOf(y.position)>=0?m:null,m=m.parent()}while(m&&!h);if(o){var b=a.getMouseRelativeCanvas(t);d=b.x,p=b.y}else if(h){var w=a.offset(h.getEl());d-=w.left,p-=w.top}this.setPosition({x:d,y:p,width:"".concat(g,"px"),height:"".concat(v,"px"),position:c})}},onDrag:function(){var t=this,e=this.guidesTarget,n=this.opts,r=n.onDrag;this.updateGuides(e),n.debug&&e.forEach((function(e){return t.renderGuide(e)})),n.guidesInfo&&this.renderGuideInfo(e.filter((function(t){return t.active}))),r&&r(this._getDragData())},onEnd:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=this.editor,i=this.opts,o=this.id,s=i.onEnd;s&&s(t,n,a(a({event:t},n),this._getDragData())),r.stopCommand(o),this.hideGuidesInfo(),this.em.trigger("".concat(l,":end"),this.getEventOpts())},hideGuidesInfo:function(){var t=this;['X','Y'].forEach((function(e){var n=t["elGuideInfo".concat(e)];n&&(n.style.display='none')}))},renderGuideInfo:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=this.guidesStatic;this.hideGuidesInfo(),e.forEach((function(e){var r=e.origin,o=e.x,s=t.getElementPos(r),c=(0,i.isUndefined)(o)?'y':'x',u='y'===c,h=s[u?'left':'top'],f=s.rect[u?'left':'top'],d=u?h+s.width:h+s.height,p=u?f+s.rect.width:f+s.rect.height,g=t["elGuideInfo".concat(c.toUpperCase())],v=t["elGuideInfoContent".concat(c.toUpperCase())],m=g.style,y=n.filter((function(t){return t.type===e.type})).map((function(t){var e=t.originRect,n=e.left,r=e.width,i=e.top,o=e.height,s=u?n+r:i+o;return{gap:s0})).sort((function(t,e){return t.gap-e.gap})).map((function(t){return t.guide}))[0];if(y){var b=y.originRect,w=b.left,x=b.width,O=b.top,C=b.height,k=b.rect,S=u?w{"use strict";n.r(e),n.d(e,{default:()=>r});const r={run:function(t){if(t.Canvas.hasFocus()){var e=[];t.getSelectedAll().forEach((function(t){var n=t.components(),r=n&&n.filter((function(t){return t.get('selectable')}))[0];r&&e.push(r)})),e.length&&t.select(e)}}}},3888:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>r});const r={run:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(t.Canvas.hasFocus()||n.force){var r=[];t.getSelectedAll().forEach((function(t){for(var e=t.parent();e&&!e.get('selectable');)e=e.parent();e&&r.push(e)})),r.length&&t.select(r)}}}},5883:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>r});const r={run:function(t){if(t.Canvas.hasFocus()){var e=[];t.getSelectedAll().forEach((function(t){var n=t.parent();if(n){var r,i=n.components().length,o=0,s=0;do{o++,r=(s=t.index()+o)<=i?n.getChildAt(s):null}while(r&&!r.get('selectable'));e.push(r||t)}})),e.length&&t.select(e)}}}},7508:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>r});const r={run:function(t){if(t.Canvas.hasFocus()){var e=[];t.getSelectedAll().forEach((function(t){var n=t.parent();if(n){var r,i=0,o=0;do{i++,r=(o=t.index()-i)>=0?n.getChildAt(o):null}while(r&&!r.get('selectable'));e.push(r||t)}})),e.length&&t.select(e)}}}},8769:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>i});var r=n(9050);const i={run:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=n.target,o=[];if(!i.get('styles'))return o;var s=i.get('type'),a=t.Pages.getAllWrappers(),l=(0,r.flatten)(a.map((function(t){return t.findType(s)}))).length;if(!l){var c=t.CssComposer.getAll();o=c.filter((function(t){return t.get('group')==="cmp:".concat(s)})),c.remove(o)}return o}}},2213:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>i});var r=n(2982);const i={run:function(t){var e=t.getModel(),n=(0,r.Z)(t.getSelectedAll());n.length&&e.set('clipboard',n)}}},5049:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>l});var r=n(9050),i=n(2316),o=n.n(i),s=n(2620),a=o().$;const l=(0,r.extend)({},s.default,{init:function(t){(0,r.bindAll)(this,'startDelete','stopDelete','onDelete'),this.hoverClass=this.pfx+'hover-delete',this.badgeClass=this.pfx+'badge-red'},enable:function(){this.$el.find('*').mouseover(this.startDelete).mouseout(this.stopDelete).click(this.onDelete)},startDelete:function(t){t.stopPropagation();var e=a(t.target);e.data('model').get('removable')&&(e.addClass(this.hoverClass),this.attachBadge(e.get(0)))},stopDelete:function(t){t.stopPropagation(),a(t.target).removeClass(this.hoverClass),this.badge&&this.badge.css({left:-1e3,top:-1e3})},onDelete:function(t){t.stopPropagation();var e=a(t.target);e.data('model').get('removable')&&(e.data('model').destroy(),this.removeBadge(),this.clean())},updateBadgeLabel:function(t){this.badge.html('Remove '+t.getName())}})},3775:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>o});var r=n(2316),i=n.n(r)().$;const o={run:function(t,e){var n=this;e&&e.set&&e.set('active',0);var r=t.getConfig(),o=t.Modal,s=r.stylePrefix;if(this.cm=t.CodeManager||null,!this.$editors){var a=this.buildEditor('htmlmixed','hopscotch','HTML'),l=this.buildEditor('css','hopscotch','CSS');this.htmlEditor=a.el,this.cssEditor=l.el;var c=i("
"));c.append(a.$el).append(l.$el),this.$editors=c}o.open({title:r.textViewCode,content:this.$editors}).getModel().once('change:open',(function(){return t.stopCommand(n.id)})),this.htmlEditor.setContent(t.getHtml()),this.cssEditor.setContent(t.getCss())},stop:function(t){var e=t.Modal;e&&e.close()},buildEditor:function(t,e,n){var r=document.createElement('textarea');!this.codeMirror&&(this.codeMirror=this.cm.getViewer('CodeMirror'));var i=this.codeMirror.clone().set({label:n,codeName:t,theme:e,input:r}),o=new this.cm.EditorView({model:i,config:this.cm.getConfig()}).render().$el;return i.init(r),{el:i,$el:o}}}},58:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>i});var r=n(9050);const i={isEnabled:function(){var t=document;return t.fullscreenElement||t.webkitFullscreenElement||t.mozFullScreenElement?1:0},enable:function(t){var e='';return t.requestFullscreen?t.requestFullscreen():t.webkitRequestFullscreen?(e='webkit',t.webkitRequestFullscreen()):t.mozRequestFullScreen?(e='moz',t.mozRequestFullScreen()):t.msRequestFullscreen?t.msRequestFullscreen():console.warn('Fullscreen not supported'),e},disable:function(){var t=document;this.isEnabled()&&(t.exitFullscreen?t.exitFullscreen():t.webkitExitFullscreen?t.webkitExitFullscreen():t.mozCancelFullScreen?t.mozCancelFullScreen():t.msExitFullscreen&&t.msExitFullscreen())},fsChanged:function(t,e){document;var n=(t||'')+'fullscreenchange';this.isEnabled()||(this.stop(null,this.sender),document.removeEventListener(n,this.fsChanged))},run:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.sender=e;var i=n.target,o=(0,r.isElement)(i)?i:document.querySelector(i),s=this.enable(o||t.getContainer());this.fsChanged=this.fsChanged.bind(this,s),document.addEventListener(s+'fullscreenchange',this.fsChanged),t.trigger('change:canvasOffset')},stop:function(t,e){e&&e.set&&e.set('active',!1),this.disable(),t&&t.trigger('change:canvasOffset')}}},8658:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>u});var r=n(9050),i=n(2316),o=n.n(i),s=n(6183),a=n(2620),l=n(8463),c=o().$;const u=(0,r.extend)({},l.default,a.default,{init:function(t){a.default.init.apply(this,arguments),(0,r.bindAll)(this,'initSorter','rollback','onEndMove'),this.opt=t,this.hoverClass=this.ppfx+'highlighter-warning',this.badgeClass=this.ppfx+'badge-warning',this.noSelClass=this.ppfx+'no-select'},enable:function(){for(var t=arguments.length,e=new Array(t),n=0;n{"use strict";n.r(e),n.d(e,{default:()=>o});var r=n(9050),i=n(9283);const o={open:function(t){var e=this,n=this.editor,i=this.title,o=this.config,s=this.am,a=o.custom;if((0,r.isFunction)(a.open))return a.open(s.__customData());n.Modal.open({title:i,content:t}).onceClose((function(){return n.stopCommand(e.id)}))},close:function(){var t=this.config.custom;if((0,r.isFunction)(t.close))return t.close(this.am.__customData());var e=this.editor.Modal;e&&e.close()},run:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=t.AssetManager,o=r.getConfig(),s=n.types,a=void 0===s?[]:s,l=n.accept,c=n.select;if(this.title=n.modalTitle||t.t('assetManager.modalTitle')||'',this.editor=t,this.config=o,this.am=r,r.setTarget(n.target),r.onClick(n.onClick),r.onDblClick(n.onDblClick),r.onSelect(n.onSelect),r.__behaviour({select:c,types:a,options:n}),o.custom)this.rendered=this.rendered||(0,i.ut)('div'),this.rendered.className="".concat(o.stylePrefix,"custom-wrp"),r.__behaviour({container:this.rendered}),r.__trgCustom();else{if(!this.rendered||a){var u=r.getAll().filter((function(t){return t}));a&&a.length&&(u=u.filter((function(t){return-1!==a.indexOf(t.get('type'))}))),r.render(u),this.rendered=r.getContainer()}if(l){var h=this.rendered.querySelector("input#".concat(o.stylePrefix,"uploadFile"));h&&h.setAttribute('accept',l)}}return this.open(this.rendered),this},stop:function(t){this.editor=t,this.close(this.rendered)}}},5821:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>o});var r=n(9050),i=n(9283);const o={open:function(){var t=this.container,e=this.editor,n=this.bm,i=this.config,o=i.custom,s=i.appendTo;if((0,r.isFunction)(o.open))return o.open(n.__customData());if(this.firstRender&&!s){var a='views-container',l=e.Panels;(l.getPanel(a)||l.addPanel({id:a})).set('appendContent',t).trigger('change:appendContent'),o||t.appendChild(n.render())}t&&(t.style.display='block')},close:function(){var t=this.container,e=this.config.custom;if((0,r.isFunction)(e.close))return e.close(this.bm.__customData());t&&(t.style.display='none')},run:function(t){var e=t.Blocks;this.config=e.getConfig(),this.firstRender=!this.container,this.container=this.container||(0,i.ut)('div'),this.editor=t,this.bm=e;var n=this.container;e.__behaviour({container:n}),this.config.custom&&e.__trgCustom(),this.open()},stop:function(){this.close()}}},3452:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>r});const r={run:function(t){var e=t.LayerManager,n=t.Panels;if(!e.getConfig().appendTo){if(!this.layers){var r='views-container',i=document.createElement('div'),o=n.getPanel(r)||n.addPanel({id:r});i.appendChild(e.render()),o.set('appendContent',i).trigger('change:appendContent'),this.layers=i}this.layers.style.display='block'}},stop:function(){var t=this.layers;t&&(t.style.display='none')}}},2840:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>o});var r=n(2316),i=n.n(r)().$;const o={run:function(t,e){if(this.sender=e,!this.$cn){var n=t.getConfig(),r=t.Panels,o='change:appendContent';this.$cn=i('
'),this.$cn2=i('
'),this.$cn.append(this.$cn2);var s=t.DeviceManager;if(s&&n.showDevices){var a=r.addPanel({id:'devices-c'}),l=s.render();a.set('appendContent',l).trigger(o)}var c=t.SelectorManager;this.slm=c;var u=c.getConfig();u.custom?c.__trgCustom({container:this.$cn2.get(0)}):u.appendTo||this.$cn2.append(c.render([]));var h=t.StyleManager;this.sm=h;var f=h.getConfig(),d=f.stylePrefix;this.$header=i("
").concat(t.t('styleManager.empty'),"
")),this.$cn.append(this.$header),f.custom?h.__trgCustom({container:this.$cn2.get(0)}):f.appendTo||this.$cn2.append(h.render());var p='views-container';this.panel=r.getPanel(p),this.panel||(this.panel=r.addPanel({id:p})),this.panel.set('appendContent',this.$cn).trigger(o),this.em=t.getModel(),this.listenTo(this.em,h.events.target,this.toggleSm)}this.toggleSm()},toggleSm:function(){var t,e,n,r,i=this.sender,o=this.sm;i&&i.get&&!i.get('active')||!o||(o.getSelected()?(null===(t=this.$cn2)||void 0===t||t.show(),null===(e=this.$header)||void 0===e||e.hide()):(null===(n=this.$cn2)||void 0===n||n.hide(),null===(r=this.$header)||void 0===r||r.show()))},stop:function(){var t,e;null===(t=this.$cn2)||void 0===t||t.hide(),null===(e=this.$header)||void 0===e||e.hide()}}},8644:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>o});var r=n(2316),i=n.n(r)().$;const o={run:function(t,e){this.sender=e;var n=t.getModel(),r=t.Config.stylePrefix,o=t.TraitManager,s=o.getConfig();if(!s.appendTo){if(!this.$cn){this.$cn=i('
'),this.$cn2=i('
'),this.$cn.append(this.$cn2),this.$header=i('
').append("
").concat(n.t('traitManager.empty'),"
")),this.$cn.append(this.$header),this.$cn2.append("
").concat(n.t('traitManager.label'),"
")),this.$cn2.append(o.render());var a=t.Panels;(a.getPanel('views-container')?a.getPanel('views-container'):a.addPanel({id:'views-container'})).set('appendContent',this.$cn.get(0)).trigger('change:appendContent'),this.target=t.getModel(),this.listenTo(this.target,'component:toggled',this.toggleTm)}this.toggleTm()}},toggleTm:function(){var t=this.sender;t&&t.get&&!t.get('active')||(1===this.target.getSelectedAll().length?(this.$cn2.show(),this.$header.hide()):(this.$cn2.hide(),this.$header.show()))},stop:function(){this.$cn2&&this.$cn2.hide(),this.$header&&this.$header.hide()}}},560:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>i});var r=n(9050);const i={run:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=t.getModel(),o=i.get('clipboard'),s=t.getSelected();o&&s&&(t.getSelectedAll().forEach((function(e){if(e){var i=e.collection;if(i){var s,a={at:i.indexOf(e)+1,action:n.action||'paste-component'},l=o.filter((function(t){return t.get('copyable')}));s=(0,r.contains)(o,e)&&e.get('copyable')?i.add(e.clone(),a):i.add(l.map((function(t){return t.clone()})),a),(s=(0,r.isArray)(s)?s:[s]).forEach((function(e){return t.trigger('component:paste',e)}))}}})),s.emitUpdate())}}},4944:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>s});var r=n(2982),i=n(9050),o='sw-visibility';const s={getPanels:function(t){return this.panels||(this.panels=t.Panels.getPanels()),this.panels},preventDrag:function(t){t.abort=1},tglEffects:function(t){var e=this.em,n=t?'on':'off';if(e){var r=e.get('Canvas'),o=r.getBody(),s=r.getToolbarEl();s&&(s.style.display=t?'none':'');var a=o.querySelectorAll(".".concat(this.ppfx,"no-pointer"));(0,i.each)(a,(function(e){return e.style.pointerEvents=t?'all':''})),e[n]('run:tlb-move:before',this.preventDrag)}},run:function(t,e){var n=this;this.sender=e,this.selected=(0,r.Z)(t.getSelectedAll()),t.select(),this.shouldRunSwVisibility||(this.shouldRunSwVisibility=t.Commands.isActive(o)),this.shouldRunSwVisibility&&t.stopCommand(o),t.getModel().stopDefault();var i=this.getPanels(t),s=t.Canvas.getElement(),a=t.getEl(),l=t.Config.stylePrefix;if(!this.helper){var c=document.createElement('span');c.className="".concat(l,"off-prv fa fa-eye-slash"),a.appendChild(c),c.onclick=function(){return n.stopCommand()},this.helper=c}this.helper.style.display='inline-block',i.forEach((function(t){return t.set('visible',!1)}));var u=s.style;u.width='100%',u.height='100%',u.top='0',u.left='0',u.padding='0',u.margin='0',t.refresh(),this.tglEffects(1)},stop:function(t){var e=this.sender,n=void 0===e?{}:e,r=this.selected;n.set&&n.set('active',0);var i=this.getPanels(t);this.shouldRunSwVisibility&&(t.runCommand(o),this.shouldRunSwVisibility=!1),t.getModel().runDefault(),i.forEach((function(t){return t.set('visible',!0)})),t.Canvas.getElement().setAttribute('style',''),r&&t.select(r),delete this.selected,this.helper&&(this.helper.style.display='none'),t.refresh(),this.tglEffects()}}},7538:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>o});var r=n(4942);function i(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}const o={run:function(t,e,n){var o=n||{},s=t.Canvas,a=s.getCanvasView(),l=function(t){for(var e=1;e{"use strict";n.r(e),n.d(e,{default:()=>x});var r=n(1002),i=n(4942),o=n(2316),s=n.n(o),a=n(9050),l=n(6183),c=n(9283),u=n(6602);function h(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function f(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{},e=t.config,n=void 0===e?{}:e;this.em=n.em,this.editor=n.editor},handleClick:function(t){t.preventDefault(),t.stopPropagation();var e=this.editor,n=this.em,r=e.Canvas.getFrameEl().getBoundingClientRect(),i=r.left,o=r.top,s=f(f({},t),{},{clientX:t.clientX-i,clientY:t.clientY-o});n.trigger('toolbar:run:before'),this.execCommand(s)},execCommand:function(t){var e={event:t},n=this.model.get('command'),r=this.editor;'function'==typeof n&&n(r,null,e),'string'==typeof n&&r.runCommand(n,e)},render:function(){var t=this.editor,e=this.$el,n=this.model,r=n.get('id'),i=n.get('label'),o=t.getConfig('stylePrefix');return e.addClass("".concat(o,"toolbar-item")),r&&e.addClass("".concat(o,"toolbar-item__").concat(r)),i&&e.append(i),this}}),p=u.Z.extend({itemView:d,initialize:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.config={editor:t.editor||'',em:t.em},this.listenTo(this.collection,'reset',this.render)}}),g=s().Model.extend({defaults:{command:'',attributes:{}}}),v=s().Collection.extend({model:g});function m(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function y(t){for(var e=1;e2&&void 0!==arguments[2]?arguments[2]:{},r=n.el||this.canvas.getToolsEl(e);return r&&(r.style.display=t?'':'none'),r||{}},showElementOffset:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};b&&this.editor.runCommand('show-offset',{el:t,elPos:e,view:n.view,force:1,top:0,left:0})},hideElementOffset:function(t){this.editor.stopCommand('show-offset',{view:t})},showFixedElementOffset:function(t,e){this.editor.runCommand('show-offset',{el:t,elPos:e,state:'Fixed'})},hideFixedElementOffset:function(t,e){this.editor&&this.editor.stopCommand('show-offset',{state:'Fixed'})},hideHighlighter:function(t){this.canvas.getHighlighter(t).style.opacity=0},onClick:function(t){t.stopPropagation(),t.preventDefault();var e=this.em;if(e.get('_cmpDrag'))return e.set('_cmpDrag');var n=w(t.target),r=n.data('model');if(!r)for(var i=n.parent();!r&&i.length&&!(0,c.Mx)(i[0]);)r=i.data('model'),i=i.parent();if(r){if(e.isEditing()&&!r.get('textable')&&r.isChildOf('text'))return;this.select(r,t)}},select:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t&&(this.editor.select(t,{event:e,useValid:!0}),this.initResize(t))},updateBadge:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=this.canvas,i=w(t).data('model');if(i&&i.get('badgable')){var o=this.getBadge(n);if(!n.posOnly){var s=this.canvas.getConfig(),a=i.getIcon(),l=s.pStylePrefix||'',c="".concat(l,"badge"),u=s.customBadgeLabel,h="".concat(a?"
").concat(a,"
"):'',"\n
").concat(i.getName(),"
");o.innerHTML=u?u(i):h}var f='px',d=o.style;d.display='block';var p=r.getTargetToElementFixed(t,o,{pos:e}),g=p.top,v=n.leftOff<0?-n.leftOff:0;d.top=g+f,d.left=v+f}},showHighlighter:function(t){this.canvas.getHighlighter(t).style.opacity=''},initResize:function(t){var e,n=this.em,i=this.canvas,o=n?n.get('Editor'):'',s=(n?n.get('Config'):'').stylePrefix||'',c="".concat(s,"resizing"),u=!(0,a.isElement)(t)&&(0,l.isTaggableNode)(t)?t:n.getSelected(),h=u&&u.get('resizable'),f={},d=function(t,e,n){var r=n.docs;r&&r.forEach((function(e){var n=e.body,r=n.className||'';n.className=('add'==t?"".concat(r," ").concat(c):r.replace(c,'')).trim()}))};if(o&&h){var p=(0,a.isElement)(t)?t:u.getEl();f={onStart:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=r.el,s=r.config,a=r.resizer,c=s.keyHeight,h=s.keyWidth,f=s.currentUnit,p=s.keepAutoHeight,g=s.keepAutoWidth;d('add',0,r),e=n.get('StyleManager').getModelToStyle(u),i.toggleFramesEvents();var v=getComputedStyle(o),m=e.getStyle(),y=m[h];s.autoWidth=g&&'auto'===y,isNaN(parseFloat(y))&&(y=v[h]);var w=m[c];s.autoHeight=p&&'auto'===w,isNaN(parseFloat(w))&&(w=v[c]),a.startDim.w=parseFloat(y),a.startDim.h=parseFloat(w),b=0,f&&(s.unitHeight=(0,l.getUnitFromValue)(w),s.unitWidth=(0,l.getUnitFromValue)(y))},onMove:function(){o.trigger('component:resize')},onEnd:function(t,e){d('remove',0,e),o.trigger('component:resize'),i.toggleFramesEvents(1),b=1},updateTarget:function(t,r){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e){var s=o.store,a=o.selectedHandler,l=o.config,c=l.keyHeight,u=l.keyWidth,h=l.autoHeight,f=l.autoWidth,d=l.unitWidth,p=l.unitHeight,g=['tc','bc'].indexOf(a)>=0,v=['cl','cr'].indexOf(a)>=0,m={},b=s?'':1;if(!g){var w=i.getBody().offsetWidth,x=r.w0&&void 0!==arguments[0]?arguments[0]:{};return this.canvas.getBadgeEl(t.view)},onFrameScroll:function(){this.updateTools()},updateTools:function(){this.updateLocalPos(),this.updateGlobalPos()},isCompSelected:function(t){return t&&'selected'===t.get('status')},updateToolsLocal:function(t){var e=t||this.getElHovered(),n=e.el,r=e.pos,i=e.view,o=e.component;if(n){var s=o.get('hoverable'),a=this.lastHovered!==n,l=a?{}:{posOnly:1};a&&s&&(this.lastHovered=n,this.showHighlighter(i),this.showElementOffset(n,r,{view:i})),this.isCompSelected(o)&&(this.hideHighlighter(i),this.hideElementOffset(i));var c='px',u=this.toggleToolsEl(1,i),h=u.style,f=this.canvas.canvasRectOffset(n,r),d=f.top,p=f.left;this.updateBadge(n,r,y(y({},l),{},{view:i,topOff:d,leftOff:p})),h.top=d+c,h.left=p+c,h.width=r.width+c,h.height=r.height+c,this._trgToolUp('local',{component:o,el:u,top:d,left:p,width:r.width,height:r.height})}else this.lastHovered=0},_upToolbar:(0,a.debounce)((function(){this.updateToolsGlobal({force:1})})),_trgToolUp:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.em.trigger('canvas:tools:update',y({type:t},e))},updateToolsGlobal:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.getElSelected(),n=e.el,r=e.pos,i=e.component;if(!n)return this.toggleToolsEl(),void(this.lastSelected=0);var o=this.canvas,s=this.lastSelected!==n;(s||t.force)&&(this.lastSelected=n,this.updateToolbar(i));var a='px',l=this.toggleToolsEl(1),c=l.style,u=o.getTargetToElementFixed(n,o.getToolbarEl(),{pos:r}),h=u.canvasOffsetTop,f=u.canvasOffsetLeft;c.top=h+a,c.left=f+a,c.width=r.width+a,c.height=r.height+a,this.updateToolbarPos({top:u.top,left:u.left}),this._trgToolUp('global',{component:i,el:l,top:h,left:f,width:r.width,height:r.height})},updateAttached:(0,a.debounce)((function(){this.updateGlobalPos()})),onContainerChange:(0,a.debounce)((function(){this.em.refreshCanvas()}),150),getElementPos:function(t){return this.canvas.getCanvasView().getElementPos(t)},hideBadge:function(){this.getBadge().style.display='none'},cleanPrevious:function(t){t&&t.set({status:'',state:''})},getContentWindow:function(){return this.canvas.getWindow()},run:function(t){(0,l.hasWin)()&&(this.editor=t&&t.get('Editor'),this.enable())},stop:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if((0,l.hasWin)()){var r=this.em,i=this.editor;this.onHovered(),this.stopSelectComponent(),!n.preserveSelected&&r.setSelected(null),this.toggleToolsEl(),i&&i.stopCommand('resize')}}}},8463:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>o});var r=n(2316),i=n.n(r)().$;const o={startSelectPosition:function(t,e){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.isPointed=!1;var i=this.editorModel.get('Utils'),o=t.ownerDocument.body;i&&!this.sorter&&(this.sorter=new i.Sorter({container:o,placer:this.canvas.getPlacerEl(),containerSel:'*',itemSel:'*',pfx:this.ppfx,direction:'a',document:e,wmargin:1,nested:1,em:this.editorModel,canvasRelative:1,scale:function(){return n.em.getZoomDecimal()}})),r.onStart&&(this.sorter.onStart=r.onStart),t&&this.sorter.startSort(t,{container:o})},getOffsetDim:function(){var t=this.offset(this.canvas.getFrameEl()),e=this.offset(this.canvas.getElement());return{top:t.top-e.top,left:t.left-e.left}},stopSelectPosition:function(){this.posTargetCollection=null,this.posIndex='after'==this.posMethod&&0!==this.cDim.length?this.posIndex+1:this.posIndex,this.sorter&&(this.sorter.moved=0,this.sorter.endMove()),this.cDim&&(this.posIsLastEl=0!==this.cDim.length&&'after'==this.posMethod&&this.posIndex==this.cDim.length,this.posTargetEl=0===this.cDim.length?i(this.outsideElem):!this.posIsLastEl&&this.cDim[this.posIndex]?i(this.cDim[this.posIndex][5]).parent():i(this.outsideElem),this.posTargetModel=this.posTargetEl.data('model'),this.posTargetCollection=this.posTargetEl.data('model-comp'))},enable:function(){this.startSelectPosition()},nearFloat:function(t,e,n){var r=t||0,i=e||'before',o=n.length,s=0!==o&&'after'==i&&r==o;return 0!==o&&(!s&&!n[r][4]||n[r-1]&&!n[r-1][4]||s&&!n[r-1][4])?1:0},run:function(){this.enable()},stop:function(){this.stopSelectPosition(),this.$wrapper.css('cursor',''),this.$wrapper.unbind()}}},7994:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>u});var r=n(4942),i=n(2316),o=n.n(i),s=n(9050),a=n(6183);function l(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}var c=o().$;const u={getOffsetMethod:function(t){return'get'+(t||'')+'OffsetViewerEl'},run:function(t,e,n){var i=n||{},o=i.state||'',u=t.getConfig(),h=this.em.getZoomDecimal(),f=i.el||'';if(!u.showOffsets||(0,a.isTextNode)(f)||!u.showOffsetsSelected&&'Fixed'==o)t.stopCommand(this.id,n);else{var d=t.Canvas,p=function(t){for(var e=1;e")).get(0),D=c("
")).get(0),M=v+E+'-el',A="".concat(v+T+'-el'," ").concat(v+T),L="".concat(M," ").concat(v+E);b=c("
")).get(0),w=c("
")).get(0),x=c("
")).get(0),O=c("
")).get(0),C=c("
")).get(0),k=c("
")).get(0),S=c("
")).get(0),P=c("
")).get(0),this['marginT'+o]=b,this['marginB'+o]=w,this['marginL'+o]=x,this['marginR'+o]=O,this['padT'+o]=C,this['padB'+o]=k,this['padL'+o]=S,this['padR'+o]=P,j.appendChild(b),j.appendChild(w),j.appendChild(x),j.appendChild(O),D.appendChild(C),D.appendChild(k),D.appendChild(S),D.appendChild(P),y.appendChild(j),y.appendChild(D),this[m]='1'}var R='px',N=parseFloat(g.marginLeft.replace(R,''))*h,Z=parseFloat(g.marginRight.replace(R,''))*h,I=parseFloat(g.marginTop.replace(R,''))*h,F=parseFloat(g.marginBottom.replace(R,''))*h,V=b.style,H=w.style,B=x.style,z=O.style,U=C.style,W=k.style,$=S.style,q=P.style,G=parseFloat(p.left),K=parseFloat(g.width)*h+R;V.height=I+R,V.width=K,V.top=p.top-I+R,V.left=G+R,H.height=F+R,H.width=K,H.top=p.top+p.height+R,H.left=G+R;var Y=p.height+I+F+R,J=p.top-I+R;B.height=Y,B.width=N+R,B.top=J,B.left=G-N+R,z.height=Y,z.width=Z+R,z.top=J,z.left=G+p.width+R;var X=parseFloat(g.paddingTop)*h;U.height=X+R;var Q=parseFloat(g.paddingBottom)*h;W.height=Q+R;var tt=p.height-Q-X+R,et=p.top+X+R;$.height=tt,$.width=parseFloat(g.paddingLeft)*h+R,$.top=et;var nt=parseFloat(g.paddingRight)*h;q.height=tt,q.width=nt+R,q.top=et}},stop:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n||{},i=r.state||'',o=this.getOffsetMethod(i),s=t.Canvas,a=s[o](n.view);a.style.opacity=0}}},8352:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>i});var r=n(9050);const i={init:function(){(0,r.bindAll)(this,'_onFramesChange')},run:function(t){this.toggleVis(t)},stop:function(t){this.toggleVis(t,0)},toggleVis:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;if(!t.Commands.isActive('preview')){var r=t.Canvas,i=n?'on':'off';r.getFrames().forEach((function(t){return e._upFrame(t,n)})),r.getModel()[i]('change:frames',this._onFramesChange)}},_onFramesChange:function(t,e){var n=this;e.forEach((function(t){return n._upFrame(t,1)}))},_upFrame:function(t,e){var n=e?'add':'remove';t.view.getBody().classList[n]("".concat(this.ppfx,"dashed"))}}},9304:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var r=n(4942),i=n(2982),o=n(9050),s=n(6183);function a(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function l(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{};return this.all?t.array?(0,i.Z)(this.all.models):this.all:[]},getAllMap:function(){return this.getAll().reduce((function(t,e){return t[e.get(e.idAttribute)]=e,t}),{})},__initConfig:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.config=l(l({},t),e),this.em=this.config.em,this.cls=[]},__initListen:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.all,n=this.em,r=this.events;e&&n&&e.on('add',(function(t,e,i){return n.trigger(r.add,t,i)})).on('remove',(function(t,e,i){return n.trigger(r.remove,t,i)})).on('change',(function(t,e){return n.trigger(r.update,t,t.changedAttributes(),e)})).on('all',this.__catchAllEvent,this),this.cls=[e].concat(t.collections||[]),(t.propagate||[]).forEach((function(t){var r=t.entity,i=t.event;r.on('all',(function(t,r,o,s){var a=l({event:t},s||o);[n,e].map((function(t){return t.trigger(i,r,a)}))}))}))},__remove:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=this.em,i=(0,o.isString)(t)?this.get(t):t,s=function(){return i&&e.all.remove(i,n),i};return!n.silent&&r&&r.trigger(this.events.removeBefore,i,s,n),!n.abort&&s()},__catchAllEvent:function(t,e,n,r){var i=this.em,o=this.events,s=r||n;i&&o.all&&i.trigger(o.all,{event:t,model:e,options:s}),this.__onAllEvent()},__appendTo:function(){var t=this.getConfig().appendTo;if(t){var e=(0,o.isElement)(t)?t:document.querySelector(t);if(!e)return this.__logWarn('"appendTo" element not found');e.appendChild(this.render())}},__onAllEvent:function(){},__logWarn:function(t){this.em.logWarning("[".concat(this.name,"]: ").concat(t))},_createId:function(){var t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:16,n=this.getAll(),r=n.length+e,i=this.getAllMap();do{t=(0,s.createId)(r)}while(i[t]);return t},__listenAdd:function(t,e){var n=this;t.on('add',(function(t,r,i){return n.em.trigger(e,t,i)}))},__listenRemove:function(t,e){var n=this;t.on('remove',(function(t,r,i){return n.em.trigger(e,t,i)}))},__listenUpdate:function(t,e){var n=this;t.on('change',(function(t,r){return n.em.trigger(e,t,t.changedAttributes(),r)}))},__destroy:function(){var t;this.cls.forEach((function(t){t.stopListening(),t.reset()})),this.em=0,this.config=0,null===(t=this.view)||void 0===t||t.remove(),this.view=0}}},672:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>E});var r=n(2982),i=n(4942),o=n(9050),s=n(6183);const a={stylePrefix:'css-',rules:[],onBeforeStyle:null};var l=n(5671),c=n(3144),u=n(9340),h=n(3930),f=n(1120),d=n(2316),p=n.n(d),g=n(3345),v=n(4293),m=n(8795);function y(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function b(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:{};this.config=t||{},this.opt=e,this.em=e.em,this.ensureSelectors(),this.on('change',this.__onChange)}},{key:"__onChange",value:function(t,e){var n=this.em,r=this.changedAttributes();!(0,s.isEmptyObj)(r)&&n&&n.changesUp(e)}},{key:"clone",value:function(){var t=b({},this.opt),e=b({},this.attributes);return e.selectors=this.get('selectors').map((function(t){return t.clone()})),new this.constructor(e,t)}},{key:"ensureSelectors",value:function(t,e,n){var i=this.em,s=i&&i.get('SelectorManager'),a=[this,'change:selectors',this.ensureSelectors],l=this.getSelectors();if(this.stopListening.apply(this,a),l.models&&(l=(0,r.Z)(l.models)),l=(0,o.isString)(l)?[l]:l,Array.isArray(l)){var c=l.filter((function(t){return t})).map((function(t){return s?s.add(t):t}));l=new v.Z(c)}this.set('selectors',l,n),this.listenTo.apply(this,a)}},{key:"getAtRule",value:function(){var t=this.get('atRuleType'),e=this.get('mediaText'),n=t?"@".concat(t):e?'@media':'';return n+(e&&n?" ".concat(e):'')}},{key:"selectorsToString",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=[],n=this.get('state'),r=this.get('selectorsAdd'),i={escape:function(t){return x&&x.escape?x.escape(t):t}},o=this.get('selectors').getFullString(0,i),s=n&&!t.skipState?":".concat(n):'';return o&&e.push("".concat(o).concat(s)),r&&!t.skipAdd&&e.push(r),e.join(', ')}},{key:"getDeclaration",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e='',n=this.selectorsToString(t),r=this.styleToString(t),i=this.get('singleAtRule');return(n||i)&&(r||t.allowEmpty)&&(e=i?r:"".concat(n,"{").concat(r,"}")),e}},{key:"getDevice",value:function(){var t=this.em,e=this.attributes,n=e.atRuleType,r=e.mediaText,i=(null==t?void 0:t.get('DeviceManager').getDevices())||[],o=i.filter((function(t){return''===t.getWidthMedia()}))[0];return'media'===n&&r?i.filter((function(t){return t.getWidthMedia()===(0,m.U)(r)}))[0]||null:o||null}},{key:"getState",value:function(){var t=this.em,e=this.get('state');return(t.get('SelectorManager').getStates()||[]).filter((function(t){return t.getName()===e}))[0]||null}},{key:"getComponent",value:function(){var t,e=this.getSelectors(),n=1==e.length&&e.at(0),r=n&&n.isId()&&n.get('name');return r&&(null===(t=this.em)||void 0===t?void 0:t.get('DomComponents').getById(r))||null}},{key:"toCSS",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e='',n=this.getAtRule(),r=this.getDeclaration(t);return(r||t.allowEmpty)&&(e=r),n&&e&&(e="".concat(n,"{").concat(e,"}")),e}},{key:"toJSON",value:function(){for(var t=arguments.length,e=new Array(t),n=0;n3&&void 0!==arguments[3]?arguments[3]:{},i=e||'',s=n||'',a=r.selectorsAdd||'',l=r.atRuleType||'',c=(0,o.isArray)(t)||t.models?t.models||t:[t];s&&!l&&(l='media');var u=c.map((function(t){return t.getFullName()})),h=this.get('selectors').map((function(t){return t.getFullName()})),f=u.slice().sort(),d=h.slice().sort();return!(u.length!==h.length||!f.every((function(t,e){return t===d[e]})))&&(this.get('state')===i&&this.get('mediaText')===s&&this.get('selectorsAdd')===a&&this.get('atRuleType')===l)}}]),n}(d.Model.extend(g.Z)),C=p().Collection;const k=C.extend({model:O,initialize:function(t,e){var n=this;e&&e.em&&(this.editor=e.em),setTimeout((function(){n.on('remove',n.onRemove),n.on('add',n.onAdd)}))},toJSON:function(t){return C.prototype.toJSON.call(this,t).filter((function(t){return t.style&&!t.shallow}))},onAdd:function(t,e,n){t.ensureSelectors(t,e,n)},onRemove:function(t){var e=this.editor;e.stopListening(t),e.get('UndoManager').remove(t)},add:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return'string'==typeof t&&(t=this.editor.get('Parser').parseCss(t)),e.em=this.editor,C.prototype.add.apply(this,[t,e])}});var S=n(4868),P=n(8490);function _(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function T(t){for(var e=1;e=0&&!s&&(r.css=i.em.getCss()),o.indexOf('styles')>=0&&(r.styles=JSON.stringify(e)),n||i.stm.store(r),r}},add:function(t,n,r){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},a=n||'',l=r||'',c=T({},o),u=this.get(t,a,l,c);return u&&u.config&&!u.config.singleAtRule||(c.state=a,c.mediaText=l,c.selectors=[],l&&(c.atRuleType='media'),(u=new O(c,i)).get('selectors').add(t,s),e.add(u,s)),u},get:function(n,r,i,s){var a=n;if((0,o.isString)(n)){var l=t.get('SelectorManager'),c=n.split(',')[0].trim(),u=t.get('Parser').parserCss.checkNode({selectors:c})[0];a=l.get(u.selectors)}return e.find((function(t){return t.compare(a,r,i,s)}))||null},getAll:function(){return e},addCollection:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=[];(0,o.isString)(e)&&(e=t.get('Parser').parseCss(e));for(var l=e instanceof Array?e:[e],c=0,u=l.length;c2&&void 0!==arguments[2]?arguments[2]:{},i=r.atRuleType,o=r.atRuleParams,s=t.get('Parser').parserCss.checkNode({selectors:e,style:n})[0],a=s.state,l=s.selectorsAdd,c=t.get('SelectorManager'),u=c.add(s.selectors),h=this.add(u,a,o,{selectorsAdd:l,atRule:i});return h.setStyle(n,r),h},getRule:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.get('SelectorManager'),i=t.get('Parser').parserCss.checkNode({selectors:e})[0],o=r.get(i.selectors),s=i.state,a=i.selectorsAdd,l=n.atRuleType,c=n.atRuleParams;return o&&this.get(o,s,c,{selectorsAdd:a,atRule:l})},getRules:function(t){var e=this.getAll();if(!t)return(0,r.Z)(e.models);var n=(0,o.isString)(t)?t.split(',').map((function(t){return t.trim()})):t;return e.filter((function(t){return n.indexOf(t.getSelectors().getFullString())>=0}))},setIdRule:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=r.addOpts,s=void 0===i?{}:i,a=r.mediaText,l=r.state||'',c=(0,o.isUndefined)(a)?t.getCurrentMedia():a,u=t.get('SelectorManager'),h=u.add({name:e,type:P.Z.TYPE_ID},s),f=this.add(h,l,c,{},s);return f.setStyle(n,T(T({},r),s)),f},getIdRule:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.mediaText,i=n.state||'',s=(0,o.isUndefined)(r)?t.getCurrentMedia():r,a=t.get('SelectorManager').get(e,P.Z.TYPE_ID);return a&&this.get(a,i,s)},setClassRule:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=r.state||'',o=r.mediaText||t.getCurrentMedia(),s=t.get('SelectorManager'),a=s.add({name:e,type:P.Z.TYPE_CLASS}),l=this.add(a,i,o);return l.setStyle(n,r),l},getClassRule:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.state||'',i=n.mediaText||t.getCurrentMedia(),o=t.get('SelectorManager').get(e,P.Z.TYPE_CLASS);return o&&this.get(o,r,i)},remove:function(t,e){var n=(0,o.isString)(t)?this.getRules(t):t,r=this.getAll().remove(n,e);return(0,o.isArray)(r)?r:[r]},clear:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.getAll().reset(null,t),this},getComponentRules:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.state,i=n.mediaText,s=n.current;s&&(r=t.get('state')||'',i=t.getCurrentMedia());var a=e.getId(),l=this.getAll().filter((function(t){if(((0,o.isUndefined)(r)||t.get('state')===r)&&((0,o.isUndefined)(i)||t.get('mediaText')===i))return t.getSelectorsString()==="#".concat(a)}));return l},render:function(){return n&&n.remove(),(n=new S.Z({collection:e,config:i})).render().el},destroy:function(){e.reset(),e.stopListening(),n&&n.remove(),[t,e,n].forEach((function(t){return null})),i={}}}}},4868:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var r=n(2316),i=n.n(r);const o=i().View.extend({tagName:'style',initialize:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.config=t.config||{};var e=this.model;this.listenTo(e,'change',this.render),this.listenTo(e,'destroy remove',this.remove),this.listenTo(e.get('selectors'),'change',this.render)},render:function(){var t=this.model,e=this.el,n=t.get('important');return e.innerHTML=t.toCSS({important:n}),this}}),s=o.extend({_createElement:function(t){return document.createTextNode('')},render:function(){var t=this.model,e=t.get('important');return this.el.textContent=t.getDeclaration({important:e}),this}});var a=i().$,l=function(t,e){return"".concat(t).concat(e?"-".concat(parseFloat(e)):'')};const c=i().View.extend({initialize:function(t){var e=t.config||{};this.atRules={},this.config=e,this.em=e.em,this.pfx=e.stylePrefix||'',this.className=this.pfx+'rules';var n=this.collection;this.listenTo(n,'add',this.addTo),this.listenTo(n,'reset',this.render)},addTo:function(t){this.addToCollection(t)},addToCollection:function(t,e){if(this.renderStarted){var n,r,i=e||null,a={model:t,config:this.config};if('keyframes'===t.get('atRuleType')){var c=t.getAtRule(),u=this.atRules[c];if(!u){var h=document.createElement('style');u=document.createTextNode(''),h.appendChild(document.createTextNode("".concat(c,"{"))),h.appendChild(u),h.appendChild(document.createTextNode("}")),this.atRules[c]=u,n=h}r=new s(a),u.appendData(r.render().el.textContent)}else n=(r=new o(a)).render().el;var f=this.className,d=t.get('mediaText'),p=l(f),g=p;if(d&&(g=l(f,this.getMediaWidth(d))),n){var v,m=i||this.el;try{v=m.querySelector("#".concat(g))}catch(t){}v||(v=m.querySelector("#".concat(p))),v.appendChild(n)}return n}},getMediaWidth:function(t){return t&&t.replace("(".concat(this.em.getConfig('mediaCondition'),": "),'').replace(')','')},render:function(){var t=this;this.renderStarted=1,this.atRules={};var e=this.em,n=this.$el,r=this.className,i=this.collection,o=document.createDocumentFragment();n.empty();var s=e.get('DeviceManager').getAll().pluck('priority');return s.every((function(t){return t}))&&s.unshift(0),s.forEach((function(t){return a("
")).appendTo(o)})),i.each((function(e){return t.addToCollection(e,o)})),n.append(o),n.attr('class',r),this}})},2004:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>L,evAdd:()=>E,evAddBefore:()=>j,evAll:()=>k,evPfx:()=>S,evRemove:()=>D,evRemoveBefore:()=>M,evSelect:()=>P,evSelectBefore:()=>_,evUpdate:()=>T});var r=n(4942),i=n(9050),o=n(9304);const s={default:null,devices:[{id:'desktop',name:'Desktop',width:''},{id:'tablet',name:'Tablet',width:'770px',widthMedia:'992px'},{id:'mobileLandscape',name:'Mobile landscape',width:'568px',widthMedia:'768px'},{id:'mobilePortrait',name:'Mobile portrait',width:'320px',widthMedia:'480px'}]};var a=n(5671),l=n(3144),c=n(9340),u=n(3930),h=n(1120),f=n(2316);function d(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=(0,h.Z)(t);if(e){var i=(0,h.Z)(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return(0,u.Z)(this,n)}}var p=function(t){(0,c.Z)(n,t);var e=d(n);function n(){return(0,a.Z)(this,n),e.apply(this,arguments)}return(0,l.Z)(n,[{key:"defaults",value:function(){return{name:'',width:null,height:'',widthMedia:null,priority:null}}},{key:"initialize",value:function(){var t=this;null===this.get('widthMedia')&&this.set('widthMedia',this.get('width')),null===this.get('width')&&this.set('width',this.get('widthMedia')),!this.get('priority')&&this.set('priority',parseFloat(this.get('widthMedia'))||0);['width','height','widthMedia'].forEach((function(e){return t.checkUnit(e)}))}},{key:"checkUnit",value:function(t){var e=this.get(t)||'';(parseFloat(e)||0).toString()===e.toString()&&this.set(t,"".concat(e,"px"))}},{key:"getName",value:function(){return this.get('name')||this.get('id')}},{key:"getWidthMedia",value:function(){return this.get('widthMedia')||''}}]),n}(f.Model);function g(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=(0,h.Z)(t);if(e){var i=(0,h.Z)(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return(0,u.Z)(this,n)}}var v=function(t){(0,c.Z)(n,t);var e=g(n);function n(){return(0,a.Z)(this,n),e.apply(this,arguments)}return(0,l.Z)(n,[{key:"comparator",value:function(t,e){var n=Number.MAX_VALUE;return(e.get('priority')||n)-(t.get('priority')||n)}},{key:"getSorted",value:function(){return this.sort()}}]),n}(f.Collection);v.prototype.model=p;var m,y=n(168),b=n(1629);function w(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=(0,h.Z)(t);if(e){var i=(0,h.Z)(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return(0,u.Z)(this,n)}}var x=function(t){(0,c.Z)(n,t);var e=w(n);function n(){return(0,a.Z)(this,n),e.apply(this,arguments)}return(0,l.Z)(n,[{key:"template",value:function(t){var e=t.ppfx,n=t.label;return(0,b.Z)(m||(m=(0,y.Z)(["\n
","
\n
\n \n \n \n
\n
\n
\n
\n \n "])),e,n,e,e,e,e,e,e,e)}},{key:"events",value:function(){return{change:'updateDevice'}}},{key:"initialize",value:function(t){this.config=t.config||{},this.em=this.config.em,this.ppfx=this.config.pStylePrefix||'',this.events['click .'+this.ppfx+'add-trasp']=this.startAdd,this.listenTo(this.em,'change:device',this.updateSelect),this.delegateEvents()}},{key:"startAdd",value:function(){}},{key:"updateDevice",value:function(){var t=this.em;if(t){var e=this.devicesEl,n=e?e.val():'';t.set('device',n)}}},{key:"updateSelect",value:function(){var t=this.em,e=this.devicesEl;if(t&&t.getDeviceModel&&e){var n=t.getDeviceModel(),r=n?n.get('id'):'';e.val(r)}}},{key:"getOptions",value:function(){var t=this.collection,e=this.em,n='';return t.each((function(t){var r=t.attributes,i=r.name,o=r.id,s=e&&e.t&&e.t("deviceManager.devices.".concat(o))||i;n+="")})),n}},{key:"render",value:function(){var t=this.em,e=this.ppfx,n=this.$el,r=this.el,i=t&&t.t&&t.t('deviceManager.device');return n.html(this.template({ppfx:e,label:i})),this.devicesEl=n.find(".".concat(e,"devices")),this.devicesEl.append(this.getOptions()),this.devicesEl.val(t.get('device')),r.className="".concat(e,"devices-c"),this}}]),n}(f.View);function O(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function C(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{},i=n=C(C({},s),r),o=i.em;return t=new v,n.devices.forEach((function(t){return e.add(t)})),this.em=o,this.all=t,this.select(n.default||t.at(0)),this.__initListen(),o.on(A,this._onSelect,this),this},_onSelect:function(t,e,n){var r=this.em,i=this.events,o=t.previous('device'),s=this.get(e),a=i.select;r.trigger(a,s,this.get(o)),this.__catchAllEvent(a,s,n)},add:function(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=r;if((0,i.isString)(e)){var s=r;n=C(C({},o=arguments[2]||{}),{},{id:e,name:o.name||e,width:s})}else n=e;return n.id||(n.id=n.name||this._createId()),t.add(n,o)},get:function(e){return this.getAll().filter((function(t){return t.get('name')===e}))[0]||t.get(e)||null},remove:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.__remove(t,e)},getDevices:function(){return t.models},select:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=(0,i.isString)(t)?this.get(t):t;return n&&this.em.set('device',n.get('id'),e),this},getSelected:function(){return this.get(this.em.get('device'))},getAll:function(){return t},render:function(){return e&&e.remove(),(e=new x({collection:t,config:n})).render().el},destroy:function(){t.stopListening(),t.reset(),e&&e.remove(),[t,e].forEach((function(t){return null})),n={}}})}},9831:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>ue});var r=n(4942),i=n(1002),o=n(9050);const s={stylePrefix:'comp-',components:[],draggableComponents:1,storeWrapper:0,processor:0,voidElements:['area','base','br','col','embed','hr','img','input','keygen','link','menuitem','meta','param','source','track','wbr']};var a=n(9138),l=n(8431),c=n(2169),u=n(5671),h=n(3144),f=n(9340),d=n(3930),p=n(1120);function g(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=(0,p.Z)(t);if(e){var i=(0,p.Z)(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return(0,d.Z)(this,n)}}var v=function(t){(0,f.Z)(n,t);var e=g(n);function n(){return(0,u.Z)(this,n),e.apply(this,arguments)}return(0,h.Z)(n,[{key:"tagName",value:function(){return'div'}}]),n}(c.Z),m=n(3505),y=n(6183);function b(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function w(t){for(var e=1;e=0}}),O=c.Z.extend({});function C(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function k(t){for(var e=1;e\n \n "),fallback:"\n \n "),file:''}),initialize:function(t,e){a.ZP.prototype.initialize.apply(this,arguments);var n=this.get('attributes'),r=n.src;r&&this.set('src',r,{silent:1})},initToolbar:function(){for(var t=arguments.length,e=new Array(t),n=0;n0&&void 0!==arguments[0]?arguments[0]:{},e=this.get(t.fallback?'fallback':'src')||'',n=e;return e&&'1&&void 0!==arguments[1]?arguments[1]:{};if('a'===(0,y.toLowerCase)(t.tagName)){var r=n.textTags||[];e={type:ct,editable:!1};var i=t.childNodes,s=i.length;s||delete e.editable,(0,o.forEach)(i,(function(t){var n=t.tagName;(3==t.nodeType&&''!==t.textContent.trim()||n&&r.indexOf((0,y.toLowerCase)(n))>=0)&&delete e.editable}))}return e};var ht=n(5861),ft=n(7757),dt=n.n(ft);function pt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function gt(t){for(var e=1;e2&&void 0!==arguments[2]?arguments[2]:{};!n.fromDisable&&this.disableEditing()},canActivate:function(){var t,e=this.model,n=this.rteEnabled,r=this.em,i=(null==r?void 0:r.getEditing())===e,o=!0,s=!1;if((n||!e.get('editable')||i||(s=e.isChildOf('text')))&&(o=!1,s&&!e.get('textable'))){for(var a=e.parent();a&&!a.isInstanceOf('text');)a=a.parent();a&&a.get('editable')?t=a:o=!0}return{result:o,delegate:t}},onActive:function(t){var e=this;return(0,ht.Z)(dt().mark((function n(){var r,i,o,s,a,l,c;return dt().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(i=e.rte,o=e.em,s=e.canActivate(),a=s.result,l=s.delegate,a){n.next=5;break}return l&&(null==t||null===(c=t.stopPropagation)||void 0===c||c.call(t),o.setSelected(l),l.trigger('active',t)),n.abrupt("return");case 5:if(null==t||null===(r=t.stopPropagation)||void 0===r||r.call(t),e.lastContent=e.getContent(),!i){n.next=17;break}return n.prev=8,n.next=11,i.enable(e,e.activeRte,{event:t});case 11:e.activeRte=n.sent,n.next=17;break;case 14:n.prev=14,n.t0=n.catch(8),o.logError(n.t0);case 17:e.toggleEvents(1);case 18:case"end":return n.stop()}}),n,null,[[8,14]])})))()},onDisable:function(){this.disableEditing()},disableEditing:function(){var t=arguments,e=this;return(0,ht.Z)(dt().mark((function n(){var r,i,o,s,a,l;return dt().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(r=t.length>0&&void 0!==t[0]?t[0]:{},i=e.model,o=e.rte,s=e.activeRte,a=e.em,l=i&&i.get('editable'),!o){n.next=13;break}return n.prev=4,n.next=7,o.disable(e,s);case 7:n.next=12;break;case 9:n.prev=9,n.t0=n.catch(4),a.logError(n.t0);case 12:l&&e.getContent()!==e.lastContent&&(e.syncContent(r),e.lastContent='');case 13:e.toggleEvents();case 14:case"end":return n.stop()}}),n,null,[[4,9]])})))()},getContent:function(){var t=this.activeRte;return t&&'function'==typeof t.getContent?t.getContent():this.getChildrenContainer().innerHTML},syncContent:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.model,n=this.rte,r=this.rteEnabled;if(r||t.force){var i=this.getContent(),o=e.components(),s=gt({fromDisable:1},t);e.set('content','',s),n.customRte?(o.length&&o.reset(null,t),e.set('content',i,s)):o.resetFromString(i,t)}},insertComponent:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.model,r=this.el,i=r.ownerDocument,o=i.getSelection();if(null!=o&&o.rangeCount){var s,a=o.getRangeAt(0),l=a.startContainer,c=a.startOffset,u=(0,y.getModel)(l),h=[];if(u&&null!==(s=u.is)&&void 0!==s&&s.call(u,'textnode')){var f=u.collection;f.forEach((function(e){if(e===u){var n='textnode',r=e.get('content');h.push({type:n,content:r.slice(0,c)}),h.push(t),h.push({type:n,content:r.slice(c)})}else h.push(e)}));var d=h.filter(Boolean),p=d.indexOf(t);return f.reset(d,e),f.at(p)}}return n.append(t,e)},onInput:function(){var t=this.em,e='component',n=["".concat(e,":update"),"".concat(e,":input")].join(' ');t&&t.trigger(n,this.model)},disablePropagation:function(t){t.stopPropagation()},toggleEvents:function(t){var e=this.em,n=this.model,r=this.$el,i={on:y.on,off:y.off},o=t?'on':'off';e.setEditing(t?this:0),this.rteEnabled=!!t;var s=[this.el.ownerDocument,document];if(i.off(s,'mousedown',this.onDisable),i[o](s,'mousedown',this.onDisable),e[o]('toolbar:run:before',this.onDisable),n&&(n[o]('removed',this.onDisable),n.trigger("rte:".concat(t?'enable':'disable'))),r&&r.off('mousedown',this.disablePropagation),r&&r[o]('mousedown',this.disablePropagation),this.config.draggableComponents)for(var a=this.el;a;)a.draggable=!t,(a=a.parentNode)&&'BODY'==a.tagName&&(a=0)}}),yt=mt.extend({render:function(){for(var t=arguments.length,e=new Array(t),n=0;n1&&void 0!==arguments[1]?arguments[1]:{};return!!e.inSvg}}),Ut=c.Z.extend({_createElement:function(t){return document.createElementNS('http://www.w3.org/2000/svg',t)}});function Wt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function $t(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:'',e=this.em,n='';!t&&r.stm&&(t=r.em.getCacheLoad());var i=t,s=i.components,a=i.html;if(s)if((0,o.isObject)(s)||(0,o.isArray)(s))n=s;else try{n=JSON.parse(s)}catch(t){e&&e.logError(t)}else a&&(n=a);var l=n&&n.constructor===Object;return(n&&n.length||l)&&(this.clear(),l?this.getWrapper().set(n):this.getComponents().add(n)),n},store:function(t){if(!r.stm||this.em.get('hasPages'))return{};var e={},n=this.storageKey();if(n.indexOf('html')>=0&&(e.html=r.em.getHtml()),n.indexOf('components')>=0){var i=r.storeWrapper?this.getWrapper():this.getComponents();e.components=JSON.stringify(i)}return t||r.stm.store(e),e},getComponent:function(){var t=this.em.get('PageManager').getSelected(),e=t&&t.getMainFrame();return e&&e.getComponent()},getWrapper:function(){return this.getComponent()},getComponents:function(){var t=this.getWrapper();return t&&t.get('components')},addComponent:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.getComponents().add(t,e)},render:function(){return n.render().el},clear:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.getComponents().map((function(t){return t})).forEach((function(e){return e.remove(t)})),this},setComponents:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.clear(e).addComponent(t,e)},addType:function(t,e){var n=this.em,r=e.model,s=void 0===r?{}:r,a=e.view,l=void 0===a?{}:a,c=e.isComponent,u=e.extend,f=e.extendView,d=e.extendFn,p=void 0===d?[]:d,g=e.extendFnView,v=void 0===g?[]:g,m=this.getType(t),y=this.getType(u),b=this.getType(f),w=y||(m||this.getType('default')),x=w.model,O=b?b.view:w.view,C=function(t,e,n){return t.reduce((function(t,r){var i=e[r],o=n.prototype[r];return i&&o&&(t[r]=function(){o.bind(this).apply(void 0,arguments),i.bind(this).apply(void 0,arguments)}),t}),{})};'object'===(0,i.Z)(s)&&(e.model=x.extend(ce(ce(ce({},s),C(p,s,x)),{},{defaults:ce(ce({},(0,o.result)(x.prototype,'defaults')||{}),(0,o.result)(s,'defaults')||{})}),{isComponent:!m||y||c?c||function(){return 0}:x.isComponent})),'object'===(0,i.Z)(l)&&(e.view=O.extend(ce(ce({},l),C(v,l,O)))),m?(m.model=e.model,m.view=e.view):(e.id=t,h.unshift(e));var k="component:type:".concat(m?'update':'add');return n&&n.trigger(k,m||e),this},getType:function(t){for(var e=h,n=0;n1&&void 0!==arguments[1]?arguments[1]:{};t&&(t.set({status:'selected'}),['component:selected','component:toggled'].forEach((function(r){return e.em.trigger(r,t,n)})))},selectRemove:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t){this.em;t.set({status:'',state:''}),['component:deselected','component:toggled'].forEach((function(r){return e.em.trigger(r,t,n)}))}},componentHovered:function(){var t=r.em,e=t.get('componentHovered'),n=t.previous('componentHovered'),i='hovered';n&&n.get('status')==i&&n.set({status:'',state:''}),e&&(0,o.isEmpty)(e.get('status'))&&e.set('status',i)},getShallowWrapper:function(){var t=this.shallow,e=this.em;if(!t&&e){var n=e.get('shallow');if(!n)return;var r=n.get('DomComponents');if(r.componentTypes=this.componentTypes,t=r.getWrapper()){var i=[a.GN,a.xH].join(' ');t.on(i,(0,o.debounce)((function(){return t.components('')}),100))}this.shallow=t}return t},canMove:function(t,e,n){var r=n||0===n?n:null,i={result:!1,reason:0,target:t,source:null};if(!e)return i;var s=null!=e&&e.toHTML?e:null;if(!s){var a=this.getShallowWrapper();s=null==a?void 0:a.append(e)[0]}if(i.source=s,!s)return i;var l=s.get('draggable');if((0,o.isFunction)(l))l=!!l(s,t,r);else{var c=t.getEl();l=(0,o.isArray)(l)?l.join(','):l,l=(0,o.isString)(l)?null==c?void 0:c.matches(l):l}if(!l)return ce(ce({},i),{},{reason:1});var u=t.get('droppable');if((0,o.isFunction)(u))u=!!u(s,t,r);else if(!1===u&&t.isInstanceOf('text')&&s.get('textable'))u=!0;else{var h=s.getEl();u=(0,o.isArray)(u)?u.join(','):u,u=(0,o.isString)(u)?null==h?void 0:h.matches(u):u}return ce(ce({},i),{},u?{result:!0}:{reason:2})},allById:function(){return u},getById:function(t){return u[t]||null},destroy:function(){var i=this.allById();Object.keys(i).forEach((function(t){return i[t]&&i[t].remove()})),n&&n.remove(),[r,t,u,e,n].forEach((function(t){return{}})),this.em={}}}}},9138:(t,e,n)=>{"use strict";n.d(e,{ZP:()=>Z,OA:()=>D,GN:()=>R,xH:()=>N});var r=n(1002),i=n(2982),o=n(885),s=n(4942),a=n(5671),l=n(3144),c=n(9340),u=n(3930),h=n(1120),f=n(9050),d=n(6183),p=n(3345),g=n(2316),v=n(8431),m=n(8490),y=n(4293);function b(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function w(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{},n=e.locale,r=void 0===n||n,i=this.getId(),o=this.get('label')||this.getName();return r&&(null===(t=this.em)||void 0===t?void 0:t.t("traitManager.traits.labels.".concat(i)))||o}},{key:"getValue",value:function(){return this.getTargetValue()}},{key:"setValue",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={};e.partial&&(n.avoidStore=!0),this.setTargetValue(t,n),!1===e.partial&&(this.setTargetValue(''),this.setTargetValue(t))}},{key:"props",value:function(){return this.attributes}},{key:"targetUpdated",value:function(){var t,e=this.getTargetValue();this.set({value:e},{fromTarget:1}),null===(t=this.em)||void 0===t||t.trigger('trait:update',{trait:this,component:this.target})}},{key:"getTargetValue",value:function(){var t,e=this.get('name'),n=this.target;return t=this.get('changeProp')?n.get(e):n.getAttributes()[e],(0,f.isUndefined)(t)?'':t}},{key:"setTargetValue",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.target,r=this.get('name');if(!(0,f.isUndefined)(t)){var i=t;if('false'===t?i=!1:'true'===t&&(i=!0),this.get('changeProp'))n.set(r,i,e);else{var o=w({},n.get('attributes'));o[r]=i,n.set('attributes',o,e)}}}},{key:"setValueFromInput",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r={value:t};this.set(r,w(w({},n),{},{avoidStore:1})),e&&(this.set('value','',n),this.set(r,n))}},{key:"getInitValue",value:function(){var t,e=this.target,n=this.get('name');if(e){var r=e.get('attributes');t=this.get('changeProp')?e.get(n):r[n]}return t||this.get('value')||this.get('default')}}]),n}(g.Model);O.prototype.defaults={type:'text',label:'',name:'',min:'',max:'',unit:'',step:1,value:'',target:'',default:'',placeholder:'',changeProp:0,options:[]};function C(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=(0,h.Z)(t);if(e){var i=(0,h.Z)(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return(0,u.Z)(this,n)}}var k,S=function(t){(0,c.Z)(n,t);var e=C(n);function n(){return(0,a.Z)(this,n),e.apply(this,arguments)}return(0,l.Z)(n,[{key:"initialize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.em=e.em,this.listenTo(this,'add',this.handleAdd),this.listenTo(this,'reset',this.handleReset)}},{key:"handleReset",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.previousModels,r=void 0===n?[]:n;r.forEach((function(t){return t.trigger('remove')}))}},{key:"handleAdd",value:function(t){t.em=this.em;var e=this.target;e&&(t.target=e)}},{key:"setTarget",value:function(t){this.target=t}},{key:"add",value:function(t,e){var n=this.em;if((0,f.isString)(t)||(0,f.isArray)(t)){var r=n&&n.get&&n.get('TraitManager'),i=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{build:function(e){var n=[];'string'==typeof e&&(e=[e]);for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,f.bindAll)(this,'__upSymbProps','__upSymbCls','__upSymbComps');var i=r.em,o=this.parent(),s=o&&o.attributes,a=this.get('propagate');if(a&&this.set('propagate',(0,f.isArray)(a)?a:[a]),s&&s.propagate&&!a){var l={},c=s.propagate;c.forEach((function(t){return l[t]=o.get(t)})),l.propagate=c,this.set(_(_({},l),e))}if(r&&r.config&&r.config.voidElements.indexOf(this.get('tagName'))>=0&&this.set('void',!0),r.em=i,this.opt=r,this.em=i,this.frame=r.frame,this.config=r.config||{},this.set('attributes',_(_({},(0,f.result)(this,'defaults').attributes||{}),this.get('attributes')||{})),this.ccid=n.createId(this,r),this.initClasses(),this.initTraits(),this.initComponents(),this.initToolbar(),this.initScriptProps(),this.listenTo(this,'change:script',this.scriptUpdated),this.listenTo(this,'change:tagName',this.tagUpdated),this.listenTo(this,'change:attributes',this.attrUpdated),this.listenTo(this,'change:attributes:id',this._idUpdated),this.on('change:toolbar',this.__emitUpdateTlb),this.on('change',this.__onChange),this.on(N,this.__propToParent),this.set('status',''),this.views=[],['classes','traits','components'].forEach((function(e){var n="add remove ".concat('components'!==e?'change':'');t.listenTo(t.get(e),n.trim(),(function(){for(var n=arguments.length,r=new Array(n),i=0;i0&&void 0!==arguments[0]?arguments[0]:{},e=this.em,n=e&&e.get('UndoManager'),r=this.components();n&&!this.__hasUm&&(n.add(r),n.add(this.getSelectors()),this.__hasUm=1),t.recursive&&r.map((function(e){return e.__postAdd(t)}))}},{key:"__postRemove",value:function(){var t=this.em,e=t&&t.get('UndoManager');e&&(e.remove(this.components()),e.remove(this.getSelectors()),delete this.__hasUm)}},{key:"__onChange",value:function(t,e){var n=this.changedAttributes();['status','open','toolbar','traits'].forEach((function(t){return delete n[t]})),(0,d.isEmptyObj)(n)||(this.__changesUp(e),this.__propSelfToParent({component:this,changed:n,options:e}))}},{key:"__changesUp",value:function(t){var e=this.em;[this.frame,e].forEach((function(e){return e&&e.changesUp(t)}))}},{key:"__propSelfToParent",value:function(t){this.trigger(R,t),this.__propToParent(t)}},{key:"__propToParent",value:function(t){var e=this.parent();e&&e.trigger(N,t)}},{key:"__emitUpdateTlb",value:function(){this.emitUpdate('toolbar')}},{key:"is",value:function(t){return!(this.get('type')!=t)}},{key:"props",value:function(){return this.attributes}},{key:"index",value:function(){var t=this.collection;return t?t.indexOf(this):0}},{key:"setDragMode",value:function(t){return this.set('dmode',t)}},{key:"find",value:function(t){var e=[],n=this.view.$el.find(t);return n.each((function(t){var r=n.eq(t).data('model');r&&e.push(r)})),e}},{key:"findType",value:function(t){var e=[];return function n(r){return r.forEach((function(r){r.is(t)&&e.push(r),n(r.components())}))}(this.components()),e}},{key:"closest",value:function(t){var e=this.view.$el.closest(t);return e.length&&e.data('model')}},{key:"closestType",value:function(t){for(var e=this.parent();e&&!e.is(t);)e=e.parent();return e}},{key:"contains",value:function(t){var e=!1;if(!t)return e;var n=function n(r){!e&&r.forEach((function(r){r===t&&(e=!0),!e&&n(r.components())}))};return n(this.components()),e}},{key:"tagUpdated",value:function(){this.trigger('rerender')}},{key:"replaceWith",value:function(t){var e=this.collection,n=e.indexOf(this);return e.remove(this),e.add(t,{at:n})}},{key:"attrUpdated",value:function(t,e){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=this.get('attributes'),o=i.class;o&&this.setClass(o),delete i.class;var s=i.style;s&&this.setStyle(s),delete i.style;var a=_({},this.previous('attributes')),l=(0,d.shallowDiff)(a,this.get('attributes'));(0,f.keys)(l).forEach((function(t){return n.trigger("change:attributes:".concat(t),n,l[t],r)}))}},{key:"setAttributes",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.set('attributes',_({},t),e),this}},{key:"addAttributes",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.setAttributes(_(_({},this.getAttributes({noClass:1})),t),e)}},{key:"removeAttributes",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=Array.isArray(t)?t:[t],r=this.getAttributes();return n.map((function(t){return delete r[t]})),this.setAttributes(r,e)}},{key:"getStyle",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.em,r=(0,f.isString)(t)?t:'',i=r?e:t;if(n&&n.getConfig('avoidInlineStyle')&&!i.inline){var o=n.get('state'),s=n.get('CssComposer'),a=s.getIdRule(this.getId(),_({state:o},i));if(this.rule=a,a)return a.getStyle(r)}return p.Z.getStyle.call(this,r)}},{key:"setStyle",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=this.em,i=this.opt;if(r&&r.getConfig('avoidInlineStyle')&&!i.temporary&&!n.inline){var o=this.get('style')||{};e=_(_({},e=(0,f.isString)(e)?this.parseStyle(e):e),o);var s=r.get('state'),a=r.get('CssComposer'),l=this.getStyle(n);this.rule=a.setIdRule(this.getId(),e,_(_({},n),{},{state:s}));var c=(0,d.shallowDiff)(l,e);this.set('style','',{silent:1}),(0,f.keys)(c).forEach((function(e){return t.trigger("change:style:".concat(e))}))}else e=p.Z.setStyle.apply(this,arguments);return e}},{key:"getAttributes",value:function(){var t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=this.em,r=[],i=_({},this.get('attributes')),o=n&&n.get('SelectorManager'),s=this.getId();if(e.noClass||(this.get('classes').forEach((function(t){return r.push((0,f.isString)(t)?t:t.get('name'))})),r.length&&(i.class=r.join(' '))),!e.noStyle){var a=this.get('style');(0,d.isObject)(a)&&!(0,d.isEmptyObj)(a)&&(i.style=this.styleToString({inline:1}))}(0,f.has)(i,'id')||(j(n)?t=o&&o.get(s,o.Selector.TYPE_ID):(0,f.isEmpty)(this.getStyle())||(t=1),(this.__getSymbol()||this.__getSymbols())&&(t=1),t&&(i.id=s));return i}},{key:"addClass",value:function(t){var e=this.em.get('SelectorManager').addClass(t);return this.get('classes').add(e)}},{key:"setClass",value:function(t){return this.get('classes').reset(),this.addClass(t)}},{key:"removeClass",value:function(t){var e=[];t=(0,f.isArray)(t)?t:[t];var n=this.get('classes'),r=m.Z.TYPE_CLASS;return t.forEach((function(t){t.split(' ').forEach((function(t){var i=n.where({name:t,type:r})[0];i&&e.push(n.remove(i))}))})),e}},{key:"getClasses",value:function(){var t=this.getAttributes().class;return t?t.split(' '):[]}},{key:"__logSymbol",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=this.__getSymbol(),i=this.__getSymbols();(r||i)&&this.em.log(t,{model:this,toUp:e,context:'symbols',opts:n})}},{key:"__initSymb",value:function(){this.__symbReady||(this.on('change',this.__upSymbProps),this.__symbReady=1)}},{key:"__isSymbol",value:function(){return(0,f.isArray)(this.get(M))}},{key:"__isSymbolOrInst",value:function(){return!(!this.__isSymbol()&&!this.get(A))}},{key:"__isSymbolTop",value:function(){var t=this.parent();return this.__isSymbolOrInst()&&(!t||t&&!t.__isSymbol()&&!t.__getSymbol())}},{key:"__isSymbolNested",value:function(){if(!this.__isSymbolOrInst()||this.__isSymbolTop())return!1;var t=(this.__isSymbol()?this:this.__getSymbol()).__getSymbTop(),e=this.__getSymbTop();return(e.__isSymbol()?e:e.__getSymbol())!==t}},{key:"__getAllById",value:function(){var t=this.em;return t?t.get('DomComponents').allById():{}}},{key:"__getSymbol",value:function(){var t=this.get(A);if(t&&(0,f.isString)(t)){var e=this.__getAllById()[t];e?(t=e,this.set(A,e)):t=0}return t}},{key:"__getSymbols",value:function(){var t=this,e=this.get(M);return e&&(0,f.isArray)(e)&&(e.forEach((function(n,r){n&&(0,f.isString)(n)&&(e[r]=t.__getAllById()[n])})),e=e.filter((function(t){return t&&!(0,f.isString)(t)}))),e}},{key:"__isSymbOvrd",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:'',e=this.get(L),n=t.split(':'),r=(0,o.Z)(n,1),i=r[0],s=t!==i?[t,i]:[t];return!0===e||(0,f.isArray)(e)&&s.some((function(t){return e.indexOf(t)>=0}))}},{key:"__getSymbToUp",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=[],r=this.em,o=e.changed,s=r&&r.get('symbols');if(e.fromInstance||e.noPropagate||e.fromUndo||!s||o&&this.__isSymbOvrd(o))return n;var a=this.__getSymbols()||[],l=this.__getSymbol(),c=l?[l].concat((0,i.Z)(l.__getSymbols()||[])):a;return n=c.filter((function(e){return e!==t})).filter((function(t){return!(o&&t.__isSymbOvrd(o))}))}},{key:"__getSymbTop",value:function(t){for(var e=this,n=this.parent(t);n&&(n.__isSymbol()||n.__getSymbol());)e=n,n=n.parent(t);return e}},{key:"__upSymbProps",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=this.changedAttributes(),i=r.attributes||{};if(delete r.status,delete r.open,delete r.__symbols,delete r.__symbol,delete r.__symbol_ovrd,delete r.attributes,delete i.id,(0,d.isEmptyObj)(i)||(r.attributes=i),!(0,d.isEmptyObj)(r)){var o=this.__getSymbToUp(n);(0,f.keys)(r).map((function(t){e.__isSymbOvrd(t)&&delete r[t]})),this.__logSymbol('props',o,{opts:n,changed:r}),o.forEach((function(t){var i=_({},r);(0,f.keys)(i).map((function(e){t.__isSymbOvrd(e)&&delete i[e]})),t.set(i,_({fromInstance:e},n))}))}}},{key:"__upSymbCls",value:function(t,e){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=this.__getSymbToUp(r);this.__logSymbol('classes',i,{opts:r}),i.forEach((function(t){t.set('classes',n.get('classes'),{fromInstance:n})})),this.__changesUp(r)}},{key:"__upSymbComps",value:function(t,e,n){var r=this,o=n||e||{},s={fromInstance:o.fromInstance,fromUndo:o.fromUndo},a=t.opt.temporary;if(n)if(n.add){var l=[],c=!!this.__getSymbols(),u=this.__getSymbToUp(_(_({},s),{},{changed:'components:add'}));if(u.length){var h=t.__getSymbol();l=(h?h.__getSymbols():t.__getSymbols())||[],(l=(0,i.Z)(l)).push(h||t)}!a&&this.__logSymbol('add',u,{opts:n,addedInstances:l.map((function(t){return t.cid})),added:t.cid}),u.forEach((function(e){var i=e.__getSymbTop(),o=l.filter((function(t){var e=t.__getSymbTop({prev:1});return i&&e&&e===i}))[0]||t.clone({symbol:1,symbolInv:c});e.append(o,_({fromInstance:r},n))}))}else{var f=t.__getSymbol();if(f&&!n.temporary&&f.set(M,f.__getSymbols().filter((function(e){return e!==t}))),!t.__isSymbolTop()){var d='components:remove',p=n.index,g=t.parent(),v=_({fromInstance:t},n),m=t.__isSymbolNested(),y=function(t){var e=t.parent();e&&!e.__isSymbOvrd(d)&&t.remove(v)},b=g.__isSymbOvrd(d)?[]:t.__getSymbToUp(s);m&&(b=g.__getSymbToUp(_(_({},s),{},{changed:d})),y=function(t){var e=t.components().at(p);e&&e.remove(_({fromInstance:g},v))}),!a&&this.__logSymbol('remove',b,{opts:n,removed:t.cid,isSymbNested:m}),b.forEach(y)}}else{var w=this.__getSymbToUp(_(_({},s),{},{changed:'components:reset'}));this.__logSymbol('reset',w,{components:t.models}),w.forEach((function(n){var i=t.models.map((function(t){return t.clone({symbol:1})}));n.components().reset(i,_({fromInstance:r},e))}))}this.__changesUp(o)}},{key:"initClasses",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r='change:classes',i=this.get('attributes').class||[],o=[this,r,this.initClasses],s=this.get('classes')||i,a=(0,f.isString)(s)?s.split(' '):s;this.stopListening.apply(this,o);var l=this.normalizeClasses(a),c=new y.Z([]);return this.set('classes',c,n),c.add(l),c.on('add remove reset',this.__upSymbCls),this.listenTo.apply(this,o),this}},{key:"initComponents",value:function(){var t=[this,'change:components',this.initComponents];this.stopListening.apply(this,t);var e=new v.Z(null,this.opt);e.parent=this;var n=this.get('components'),r=!this.opt.avoidChildren;return this.set('components',e),r&&n&&e.add((0,f.isFunction)(n)?n(this):n,this.opt),e.on('add remove reset',this.__upSymbComps),this.listenTo.apply(this,t),this}},{key:"initTraits",value:function(t){var e=this.em,n='change:traits';this.off(n,this.initTraits),this.__loadTraits();var r=_({},this.get('attributes')),i=this.get('traits');return i.each((function(t){if(!t.get('changeProp')){var e=t.get('name'),n=t.getInitValue();e&&n&&(r[e]=n)}})),i.length&&this.set('attributes',r),this.on(n,this.initTraits),t&&e&&e.trigger('component:toggled'),this}},{key:"initScriptProps",value:function(){if(!this.opt.temporary){var t='script-props',e=["change:".concat(t),this.initScriptProps];this.off.apply(this,e);var n=this.previous(t)||[],r=this.get(t)||[],i=n.map((function(t){return"change:".concat(t)})).join(' '),o=r.map((function(t){return"change:".concat(t)})).join(' ');i&&this.off(i,this.__scriptPropsChange),o&&this.on(o,this.__scriptPropsChange),this.on.apply(this,e)}}},{key:"__scriptPropsChange",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};n.avoidStore||this.trigger('rerender')}},{key:"append",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=(0,f.isArray)(t)?t:[t],r=n.map((function(t){return(0,f.isString)(t)||t.collection&&t.collection.remove(t,{temporary:1}),t})),i=this.components().add(r,e);return(0,f.isArray)(i)?i:[i]}},{key:"components",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.get('components');return(0,f.isUndefined)(t)?n:(n.reset(null,e),t?this.append(t,e):[])}},{key:"getChildAt",value:function(t){return this.components().at(t||0)||null}},{key:"getLastChild",value:function(){var t=this.components();return t.at(t.length-1)||null}},{key:"empty",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.components().reset(null,t),this}},{key:"parent",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.collection||t.prev&&this.prevColl;return e?e.parent:null}},{key:"scriptUpdated",value:function(){this.set('scriptUpdated',1)}},{key:"initToolbar",value:function(){var t=this.em,e=this,n=t&&t.getConfig('stylePrefix')||'';if(!e.get('toolbar')&&t){var r=[];e.collection&&r.push({label:t.getIcon('arrowUp'),command:function(t){return t.runCommand('core:component-exit',{force:1})}}),e.get('draggable')&&r.push({attributes:{class:"".concat(n,"no-touch-actions"),draggable:!0},label:t.getIcon('move'),command:'tlb-move'}),e.get('copyable')&&r.push({label:t.getIcon('copy'),command:'tlb-clone'}),e.get('removable')&&r.push({label:t.getIcon('delete'),command:'tlb-delete'}),e.set('toolbar',r)}}},{key:"__loadTraits",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t||this.get('traits');if(!(n instanceof S)){n=(0,f.isFunction)(n)?n(this):n;var r=new S([],this.opt);r.setTarget(this),n.length&&(n.forEach((function(t){return t.attributes&&delete t.attributes.value})),r.add(n)),this.set({traits:r},e)}return this}},{key:"getTraits",value:function(){return this.__loadTraits(),(0,i.Z)(this.get('traits').models)}},{key:"setTraits",value:function(t){var e=(0,f.isArray)(t)?t:[t];return this.set({traits:e}),this.getTraits()}},{key:"getTrait",value:function(t){return this.getTraits().filter((function(e){return e.get('id')===t||e.get('name')===t}))[0]||null}},{key:"updateTrait",value:function(t,e){var n,r=this.getTrait(t);return r&&r.set(e),null===(n=this.em)||void 0===n||n.trigger('component:toggled'),this}},{key:"getTraitIndex",value:function(t){var e=this.getTrait(t);return e?this.get('traits').indexOf(e):-1}},{key:"removeTrait",value:function(t){var e,n=this,r=((0,f.isArray)(t)?t:[t]).map((function(t){return n.getTrait(t)})),i=this.get('traits'),o=r.length?i.remove(r):[];return null===(e=this.em)||void 0===e||e.trigger('component:toggled'),(0,f.isArray)(o)?o:[o]}},{key:"addTrait",value:function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.__loadTraits();var r=this.get('traits').add(t,n);return null===(e=this.em)||void 0===e||e.trigger('component:toggled'),(0,f.isArray)(r)?r:[r]}},{key:"normalizeClasses",value:function(t){var e=[],n=this.em,r=n&&n.get('SelectorManager');if(r)return t.models?(0,i.Z)(t.models):(t.forEach((function(t){return e.push(r.add(t))})),e)}},{key:"clone",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.em,n=_({},this.attributes),r=_({},this.opt),o=this.getId(),s=e&&e.get('CssComposer');n.attributes=_({},n.attributes),delete n.attributes.id,n.components=[],n.classes=[],n.traits=[],this.__isSymbolTop()&&(t.symbol=1),this.get('components').each((function(e,r){n.components[r]=e.clone(_(_({},t),{},{_inner:1}))})),this.get('traits').each((function(t,e){n.traits[e]=t.clone()})),this.get('classes').each((function(t,e){n.classes[e]=t.get('name')})),n.status='',r.collection=null;var a=new this.constructor(n,r),l="#".concat(a.getId()),c=s?s.getRules("#".concat(o)):[];c.forEach((function(t){var e=t.clone();e.set('selectors',[l]),s.getAll().add(e)})),a.set(M,0);var u=this.__getSymbol(),h=this.__getSymbols();t.symbol||!u&&!h?u?(u.set(M,[].concat((0,i.Z)(u.__getSymbols()),[a])),a.__initSymb()):t.symbol&&(this.__isSymbol()?(this.set(M,[].concat((0,i.Z)(h),[a])),a.set(A,this),a.__initSymb()):t.symbolInv?(this.set(M,[a]),a.set(A,this),[this,a].map((function(t){return t.__initSymb()}))):(a.set(M,[this]),[this,a].map((function(t){return t.__initSymb()})),this.set(A,a))):(a.set(A,0),a.set(M,0));var f='component:clone';return e&&e.trigger(f,a),this.trigger(f,a),a}},{key:"getName",value:function(){var t=this.em,e=this.attributes,n=e.type,r=e.tagName,i=e.name,o=n||r,s=!n&&r,a='domComponents.names.',l=i&&(null==t?void 0:t.t("".concat(a).concat(i))),c=s&&(null==t?void 0:t.t("".concat(a).concat(s))),u=t&&(t.t("".concat(a).concat(n))||t.t("".concat(a).concat(r)));return this.get('custom-name')||l||i||c||(0,d.capitalize)(s)||u||(0,d.capitalize)(o)}},{key:"getIcon",value:function(){var t=this.get('icon');return t?t+' ':''}},{key:"toHTML",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this,n=[],r=t.tag,i=r||e.get('tagName'),o=e.get('void'),s=t.attributes,a=this.getAttrToHTML();if(delete t.tag,s&&((0,f.isFunction)(s)?a=s(e,a)||{}:(0,d.isObject)(s)&&(a=s)),t.withProps){var l=this.toJSON();(0,f.forEach)(l,(function(t,e){'_'!==e[0]&&['classes','attributes','components'].indexOf(e)<0&&(a["data-gjs-".concat(e)]=(0,f.isArray)(t)||(0,d.isObject)(t)?JSON.stringify(t):t)}))}for(var c in a){var u=a[c];if(!(0,f.isUndefined)(u)&&null!==u)if((0,f.isBoolean)(u))u&&n.push(c);else{var h='';if(t.altQuoteAttr&&(0,f.isString)(u)&&u.indexOf('"')>=0)h="'".concat(u.replace(/'/g,'''),"'");else{var p=(0,f.isString)(u)?u.replace(/"/g,'"'):u;h="\"".concat(p,"\"")}n.push("".concat(c,"=").concat(h))}}var g=n.length?" ".concat(n.join(' ')):'',v=e.getInnerHTML(t),m="<".concat(i).concat(g).concat(o?'/':'',">").concat(v);return!o&&(m+="")),m}},{key:"getInnerHTML",value:function(t){return this.__innerHTML(t)}},{key:"__innerHTML",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.components();return e.length?e.map((function(e){return e.toHTML(t)})).join(''):this.get('content')}},{key:"getAttrToHTML",value:function(){var t=this.getAttributes();return delete t.style,t}},{key:"toJSON",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=g.Model.prototype.toJSON.call(this,t);if(e.attributes=this.getAttributes(),delete e.attributes.class,delete e.toolbar,delete e.traits,delete e.status,delete e.open,!t.fromUndo){var n=e.__symbol,r=e.__symbols;r&&(0,f.isArray)(r)&&(e.__symbols=r.filter((function(t){return t})).map((function(t){return t.getId?t.getId():t}))),n&&!(0,f.isString)(n)&&(e.__symbol=n.getId())}return this.em.getConfig('avoidDefaults')&&this.getChangedProps(e),e}},{key:"getChangedProps",value:function(t){var e=t||g.Model.prototype.toJSON.apply(this),n=(0,f.result)(this,'defaults');return(0,f.forEach)(n,(function(t,n){-1===['type'].indexOf(n)&&e[n]===t&&delete e[n]})),(0,f.isEmpty)(e.type)&&delete e.type,(0,f.forEach)(['attributes','style'],(function(t){(0,f.isEmpty)(n[t])&&(0,f.isEmpty)(e[t])&&delete e[t]})),(0,f.forEach)(['classes','components'],(function(t){(!e[t]||(0,f.isEmpty)(n[t])&&!e[t].length)&&delete e[t]})),e}},{key:"getId",value:function(){return(this.get('attributes')||{}).id||this.ccid||this.cid}},{key:"setId",value:function(t,e){var n=_({},this.get('attributes'));return n.id=t,this.set('attributes',n,e),this}},{key:"getEl",value:function(t){var e=this.getView(t);return e&&e.el}},{key:"getView",value:function(t){var e=this.view,n=this.views;return t&&(e=n.filter((function(e){return e._getFrame()===t.view}))[0]),e}},{key:"getCurrentView",value:function(){var t=(this.em.get('currentFrame')||{}).model;return this.getView(t)}},{key:"__getScriptProps",value:function(){var t=this.props();return(this.get('script-props')||[]).reduce((function(e,n){return e[n]=t[n],e}),{})}},{key:"getScriptString",value:function(t){var e=this,n=t||this.get('script');if(!n)return n;if(this.get('script-props'))n=n.toString().trim();else{if('function'==typeof n){var i=n.toString().trim();n=(i=i.replace(/^function[\s\w]*\(\)\s?\{/,'').replace(/\}$/,'')).trim()}var o=this.em.getConfig(),s=E(o.tagVarStart||'{[ '),a=E(o.tagVarEnd||' ]}'),l=new RegExp("".concat(s,"([\\w\\d-]*)").concat(a),'g');n=n.replace(l,(function(t,n){e.scriptUpdated();var i=e.attributes[n]||'';return(0,f.isArray)(i)||'object'==(0,r.Z)(i)?JSON.stringify(i):i}))}return n}},{key:"emitUpdate",value:function(t){for(var e=this.em,n=R+(t?":".concat(t):''),r=t&&this.get(t),i=arguments.length,o=new Array(i>1?i-1:0),a=1;a=0&&this.__propSelfToParent({component:this,changed:(0,s.Z)({},t,r),options:o[2]||o[1]||{}})}},{key:"onAll",value:function(t){return(0,f.isFunction)(t)&&(t(this),this.components().forEach((function(e){return e.onAll(t)}))),this}},{key:"remove",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=this.em,r=this.collection,i=function(){r&&r.remove(t,_(_({},e),{},{action:'remove-component'})),e.root&&t.components('')},o=_({},e);return[this,n].map((function(e){return e.trigger('component:remove:before',t,i,o)})),!o.abort&&i(),this}},{key:"move",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.remove({temporary:1}),t&&t.append(this,e),this}},{key:"isInstanceOf",value:function(t){var e,n,r=null===(e=this.em)||void 0===e||null===(n=e.get('DomComponents').getType(t))||void 0===n?void 0:n.model;return!!r&&this instanceof r}},{key:"isChildOf",value:function(t){for(var e=(0,f.isString)(t),n=this.parent();n;){if(e){if(n.isInstanceOf(t))return!0}else if(n===t)return!0;n=n.parent()}return!1}},{key:"resetId",value:function(){var t=this.em,e=this.getId();if(e){var r=n.createId(this);this.setId(r);var i=t&&t.get('CssComposer').getIdRule(e),o=i&&i.get('selectors').at(0);return o&&o.set('name',r),this}}},{key:"_getStyleRule",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.id,n=this.em,r=e||this.getId();return n&&n.get('CssComposer').getIdRule(r)}},{key:"_getStyleSelector",value:function(t){var e=this._getStyleRule(t);return e&&e.get('selectors').at(0)}},{key:"_idUpdated",value:function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!r.idUpdate){var i=this.ccid,o=this.get('attributes')||{},s=o.id,a=(this.previous('attributes')||{}).id||i,l=n.getList(this);if(l[s]||!s&&a)return this.setId(a,{idUpdate:1});delete l[a],l[s]=this,this.ccid=s;var c=this._getStyleSelector({id:a});c&&c.set({name:s,label:s})}}}]),n}(g.Model.extend(p.Z));Z.isComponent=function(t){return{tagName:(0,d.toLowerCase)(t.tagName)}},Z.ensureInList=function(t){var e=Z.getList(t),n=t.getId(),r=e[n];if(r){if(r!==t){var i=Z.getIncrementId(n,e);t.setId(i),e[i]=t}}else e[n]=t;t.components().forEach((function(t){return Z.ensureInList(t)}))},Z.createId=function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=Z.getList(t),i=n.idMap,o=void 0===i?{}:i,s=t.get('attributes'),a=s.id;return a?(e=Z.getIncrementId(a,r,n),t.setId(e),a!==e&&(o[a]=e)):e=Z.getNewId(r),r[e]=t,e},Z.getNewId=function(t){for(var e=Object.keys(t).length.toString().length+2,n=(Math.random()+1.1).toString(36).slice(-e),r="i".concat(n);t[r];)r=Z.getNewId(t);return r},Z.getIncrementId=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.keepIds,i=void 0===r?[]:r,o=1,s=t;if(i.indexOf(t)<0)for(;e[s];)o++,s="".concat(t,"-").concat(o);return s},Z.getList=function(t){var e=t.opt,n=void 0===e?{}:e,r=n.domc,i=n.em,o=r||i&&i.get('DomComponents');return o?o.componentsById:{}},Z.checkId=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=(0,f.isArray)(t)?t:[t],o=r.keepIds,s=void 0===o?[]:o;i.forEach((function(t){var i=t.attributes,o=void 0===i?{}:i,a=t.components,l=o.id;if(l&&n[l]&&s.indexOf(l)<0){var c=Z.getIncrementId(l,n);o.id=c,(0,f.isArray)(e)&&e.forEach((function(t){var e=t.selectors;e.forEach((function(t,n){t==="#".concat(l)&&(e[n]="#".concat(c))}))}))}a&&Z.checkId(a,e,n,r)}))},Z.getDefaults=function(){return(0,f.result)(this.prototype,'defaults')},Z.prototype.defaults=(k={tagName:'div',type:'',name:'',removable:!0,draggable:!0,droppable:!0,badgable:!0,stylable:!0,'stylable-require':'','style-signature':'',unstylable:'',highlightable:!0,copyable:!0,resizable:!1,editable:!1,layerable:!0,selectable:!0,hoverable:!0,void:!1,state:'',status:'',content:'',icon:'',style:'',styles:'',classes:'',script:'','script-props':'','script-export':'',attributes:'',traits:['id','title'],propagate:'',dmode:'',toolbar:null},(0,s.Z)(k,A,0),(0,s.Z)(k,M,0),(0,s.Z)(k,L,0),(0,s.Z)(k,"_undo",!0),(0,s.Z)(k,"_undoexc",['status','open']),k)},8431:(t,e,n)=>{"use strict";n.d(e,{Z:()=>v});var r=n(1002),i=n(2982),o=n(4925),s=n(4942),a=n(2316),l=n.n(a),c=n(9050),u=n(9138),h=["at"];function f(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function d(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:[];if(!e)return[];var r=(0,c.isArray)(e)||(0,c.isFunction)(e.map)?e:[e];return r.map((function(e){n.push(e.getId()),t(e.components().models,n)})),n},g=function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=(0,c.isArray)(e)?e:[e];return i.map((function(e){var i=e.attributes,o=void 0===i?{}:i,s=e.components,a=e.tagName,l=o.id,u=e;if(l&&n[l]&&(u=n[l],a&&u.set({tagName:a},d(d({},r),{},{silent:!0}))),s){var h=t(s,n);if((0,c.isFunction)(u.components)){var f=u.components();f.length>0&&f.reset(h,r)}else u.components=h}return u}))};const v=l().Collection.extend({initialize:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.opt=e,this.listenTo(this,'add',this.onAdd),this.listenTo(this,'remove',this.removeChildren),this.listenTo(this,'reset',this.resetChildren);var n=e.em,r=e.config;this.config=r,this.em=n,this.domc=e.domc||n&&n.get('DomComponents')},resetChildren:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=this,i=n.previousModels||[],o=i.filter((function(e){return!t.get(e.cid)})),s=p(t);n.keepIds=p(i).filter((function(t){return s.indexOf(t)>=0})),o.forEach((function(t){return e.removeChildren(t,r,n)})),t.each((function(t){return e.onAdd(t)}))},resetFromString:function(){var t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:'',n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};n.keepIds=p(this);var r=this.domc,i=(null==r?void 0:r.allById())||{},o=this.parseString(e,n),s=(0,c.isArray)(o)?o:[o],a=g(s,i,n);this.reset(a,n),null===(t=this.em)||void 0===t||t.trigger('component:content',this.parent,n,e)},removeChildren:function(t,e){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(t){var i=this.domc,o=this.em,s=r.temporary||r.fromUndo;if(t.prevColl=this,!s){var a=t.getId(),l=o.get('SelectorManager').getAll(),c=o.get('CssComposer').getAll(),u=(r.keepIds||[]).indexOf(a)<0,h=i?i.allById():{};delete h[a];var f=u?c.remove(c.filter((function(t){return t.getSelectors().getFullString()==="#".concat(a)})),r):[];l.remove(f.map((function(t){return t.getSelectors().at(0)}))),t.opt.temporary||(o.get('Commands').run('core:component-style-clear',{target:t}),t.removed(),t.trigger('removed'),o.trigger('component:remove',t));var d=t.components();d.forEach((function(t){return n.removeChildren(t,e,r)}))}var p=t.components();o.stopListening(p),o.stopListening(t),o.stopListening(t.get('classes')),t.__postRemove()}},model:function(t,e){var n,r=e.collection.opt,i=r.em,o=i.get('DomComponents').componentTypes;e.em=i,e.config=r.config,e.componentTypes=o,e.domc=r.domc;for(var s=0;s1&&void 0!==arguments[1]?arguments[1]:{},n=this.em,r=this.domc,i=n.get('CssComposer'),s=n.get('Parser').parseHtml(t);if(u.ZP.checkId(s.html,s.css,r.componentsById,e),s.css&&i&&!e.temporary){e.at;var a=(0,o.Z)(e,h);i.addCollection(s.css,d(d({},a),{},{extend:1}))}return s.html},add:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};n.keepIds=[].concat((0,i.Z)(n.keepIds||[]),(0,i.Z)(p(n.previousModels))),(0,c.isString)(t)?t=this.parseString(t,n):(0,c.isArray)(t)&&(t=(0,i.Z)(t)).forEach((function(r,i){if((0,c.isString)(r)){var o=e.parseString(r,n);t[i]=(0,c.isArray)(o)&&!o.length?null:o}}));var r=(0,c.isArray)(t);t=(r?t:[t]).filter((function(t){return t})).map((function(t){return e.processDef(t)})),t=r?(0,c.flatten)(t,1):t[0];var o=l().Collection.prototype.add.apply(this,[t,n]);return this.__firstAdd=o,o},processDef:function(t){if(t.cid&&t.ccid)return t;var e=this.em,n=this.config,i=(void 0===n?{}:n).processor,o=t;if(i){var s=i(o=d({},o));s&&((0,c.each)(o,(function(t,e){return delete o[e]})),(0,c.extend)(o,s))}if(o.$$typeof&&'object'==(0,r.Z)(o.props)){(o=d({},o)).props=d({},o.props);var a=e.get('DomComponents'),l=e.get('Parser').parserHtml;(0,c.each)(o,(function(t,e){(0,c.includes)(['props','type'],e)||delete o[e]}));var u=o.props,h=u.children;delete u.children,delete o.props;var f=l.splitPropsFromAttr(u);o.attributes=f.attrs,h&&(o.components=h),o.type?a.getType(o.type)||(o.tagName=o.type,delete o.type):o.type='textnode',(0,c.extend)(o,f.props)}return o},onAdd:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=this.domc,i=this.em,o=t.getStyle(),s=i&&i.getConfig('avoidInlineStyle');if(r&&r.Component.ensureInList(t),!(0,c.isEmpty)(o)&&!s&&i&&i.get&&i.getConfig('forceClass')&&!n.temporary){var a=t.cid;i.get('CssComposer').setClassRule(a,o);t.setStyle({}),t.addClass(a)}t.__postAdd({recursive:1}),this.__onAddEnd()},__onAddEnd:(0,c.debounce)((function(){}))})},2169:(t,e,n)=>{"use strict";n.d(e,{Z:()=>p});var r=n(4942),i=n(2316),o=n.n(i),s=n(9050),a=n(8431),l=n(3505),c=n(4293),u=n(9283),h=n(6183);function f(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function d(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{},e=this.model,n=t.config||{},r=n.em,i=e.opt||{},o=this.$el,s=this.el;this.opts=t,this.modelOpt=i,this.config=n,this.em=r||'',this.pfx=n.stylePrefix||'',this.ppfx=n.pStylePrefix||'',this.attr=e.get('attributes'),this.classe=this.attr.class||[],this.listenTo(e,'change:style',this.updateStyle),this.listenTo(e,'change:attributes',this.renderAttributes),this.listenTo(e,'change:highlightable',this.updateHighlight),this.listenTo(e,'change:status',this.updateStatus),this.listenTo(e,'change:script rerender',this.reset),this.listenTo(e,'change:content',this.updateContent),this.listenTo(e,'change',this.handleChange),this.listenTo(e,'active',this.onActive),this.listenTo(e,'disable',this.onDisable),o.data('model',e),(0,h.setViewEl)(s,this),e.view=this,this._getFrame()&&e.views.push(this),this.initClasses(),this.initComponents({avoidRender:1}),this.events=d(d({},this.events),{},{dragstart:'handleDragStart'}),this.delegateEvents(),!i.temporary&&this.init(this._clbObj())},__isDraggable:function(){var t=this.model,e=this.config,n=t.attributes.draggable;return e.draggableComponents&&n},_clbObj:function(){var t=this.em,e=this.model,n=this.el;return{editor:t&&t.getEditor(),model:e,el:n}},init:function(){},removed:function(){},onActive:function(){},onDisable:function(){},remove:function(){var t;o().View.prototype.remove.apply(this,arguments);var e=this.model,n=this.$el,r=e.views,i=this._getFrame()||{};return e.components().forEach((function(t){var e=t.getView(i.model);null==e||e.remove()})),null===(t=this.childrenView)||void 0===t||t.remove(),r.splice(r.indexOf(this),1),this.removed(this._clbObj()),n.data({model:'',collection:'',view:''}),this},handleDragStart:function(t){if(!this.__isDraggable())return!1;t.stopPropagation(),t.preventDefault(),this.em.get('Commands').run('tlb-move',{target:this.model,event:t})},initClasses:function(){var t=this.model,e='change:classes',n=t.get('classes');n instanceof c.Z&&(this.stopListening(t,e,this.initClasses),this.listenTo(t,e,this.initClasses),this.listenTo(n,'add remove change',this.updateClasses),n.length&&this.importClasses())},initComponents:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.model,n=this.$el,r=this.childrenView,i='change:components',o=e.get('components'),s=[e,i,this.initComponents];o instanceof a.Z&&(n.data('collection',o),r&&r.remove(),this.stopListening.apply(this,s),!t.avoidRender&&this.renderChildren(),this.listenTo.apply(this,s))},handleChange:function(){var t=this.model,e=(0,s.keys)(t.changed);if(1!==e.length||'status'!==e[0])for(var n in t.emitUpdate(),t.changed)t.emitUpdate(n)},importClasses:function(){var t=this.config.em.get('SelectorManager');t&&this.model.get('classes').each((function(e){t.add(e.get('name'))}))},updateStatus:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.em,n=e?e.get('Canvas').getConfig():{},r=n.extHl,i=this.el,o=this.model.get('status'),s=this.ppfx,a="".concat(s,"selected"),l="".concat(a,"-parent"),c="".concat(s,"freezed"),u="".concat(s,"hovered"),h=[a,l,c,u],f=r&&!t.noExtHl?'':a;this.$el.removeClass(h.join(' '));var d=i.getAttribute('class')||'',p='';switch(o){case'selected':p="".concat(d," ").concat(f);break;case'selected-parent':p="".concat(d," ").concat(l);break;case'freezed':p="".concat(d," ").concat(c);break;case'freezed-selected':p="".concat(d," ").concat(c," ").concat(f);break;case'hovered':p=t.avoidHover?'':"".concat(d," ").concat(u)}(p=p.trim())&&i.setAttribute('class',p)},updateHighlight:function(){var t=this.model,e=t.get('textable'),n=t.get('highlightable')&&(e||!t.isChildOf('text'));this.setAttribute('data-gjs-highlightable',!!n||'')},updateStyle:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=this.model,i=this.em;if(i&&i.getConfig('avoidInlineStyle')&&!n.inline){var o=r.getStyle();!(0,s.isEmpty)(o)&&r.setStyle(o)}else this.setAttribute('style',r.styleToString(n))},updateClasses:function(){var t=this.model.get('classes').pluck('name').join(' ');this.setAttribute('class',t),this.updateStatus(),this.onAttrUpdate()},setAttribute:function(t,e){var n=this.$el;e?n.attr(t,e):n.removeAttr(t)},getClasses:function(){return this.model.getClasses().join(' ')},updateAttributes:function(){var t=[],e=this.model,n=this.$el,r=this.el,i=e.attributes,o=i.textable,a=i.type,l=d(d({id:e.getId(),'data-gjs-type':a||'default'},this.__isDraggable()&&{draggable:!0}),o&&{contenteditable:'false'});(0,s.each)(r.attributes,(function(e){return t.push(e.nodeName)})),t.forEach((function(t){return n.removeAttr(t)})),this.updateStyle(),this.updateHighlight();var c=d(d({},l),e.getAttributes());(0,s.keys)(c).forEach((function(t){return!1===c[t]&&delete c[t]})),n.attr(c)},updateContent:function(){var t=this.model.get('content'),e=this.model.components().length;this.getChildrenContainer().innerHTML=e?'':t},prevDef:function(t){t.preventDefault()},updateScript:function(){var t=this.model,e=this.em;t.get('script')&&e&&e.get('Canvas').getCanvasView().updateScript(this)},getChildrenContainer:function(){var t=this.el;return'function'==typeof this.getChildrenSelector?t=this.el.querySelector(this.getChildrenSelector()):this.getTemplate,t},getOffsetRect:function(){var t={},e=this.el,n=0,r=0;return function i(o){var s=o.offsetParent;s?(n+=s.offsetTop,r+=s.offsetLeft,i(s)):(t.top=e.offsetTop+n,t.left=e.offsetLeft+r,t.bottom=t.top+e.offsetHeight,t.right=t.left+e.offsetWidth)}(e),t},isInViewport:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.rect,n=this.el,r=n.ownerDocument,i=r.body,o=r.defaultView.frameElement,s=e||this.getOffsetRect(),a=s.top,l=s.left,c=this._getFrame().getOffsetRect();return a>=c.scrollTop&&l>=c.scrollLeft&&a<=c.scrollBottom&&l<=o.offsetWidth+i.scrollLeft},scrollIntoView:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.getOffsetRect(),n=this.isInViewport({rect:e});if(!n||t.force){var r=this.el;'smooth'!==t.behavior?r.ownerDocument.defaultView.scrollTo(0,e.top):r.scrollIntoView(d({behavior:'smooth',block:'nearest'},t))}},reset:function(){var t=this.el;this.el='',this._ensureElement(),this._setData(),(0,u.dL)(t,this.el),this.render()},_setData:function(){var t=this.model,e=t.components();this.$el.data({model:t,collection:e,view:this})},_getFrame:function(){return this.config.frameView},renderChildren:function(){this.updateContent();var t=this.getChildrenContainer(),e=this.childrenView||new l.Z({collection:this.model.get('components'),config:this.config,componentTypes:this.opts.componentTypes});e.render(t),this.childrenView=e;for(var n=Array.prototype.slice.call(e.el.childNodes),r=0,i=n.length;r{"use strict";n.d(e,{Z:()=>s});var r=n(2316),i=n.n(r),o=n(9050);const s=i().View.extend({initialize:function(t){this.opts=t||{},this.config=t.config||{},this.em=this.config.em;var e=this.collection;this.listenTo(e,'add',this.addTo),this.listenTo(e,'reset',this.resetChildren),this.listenTo(e,'remove',this.removeChildren)},removeChildren:function(t,e){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};t.views.forEach((function(t){if(t){var e=t.childrenView,n=t.scriptContainer;e&&e.stopListening(),n&&n.remove(),t.remove.apply(t)}}));var i=t.components();i.forEach((function(t){return n.removeChildren(t,e,r)}))},addTo:function(t){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=this.config.em,r=this.collection.indexOf(t);if(this.addToCollection(t,null,r),n&&!e.temporary){var i=function t(e){n.trigger('component:add',e),e.components().forEach((function(e){return t(e)}))};i(t)}},addToCollection:function(t,e,r){this.compView||(this.compView=n(2169).Z);for(var i=this.config,s=this.opts,a=this.em,l=e||null,c=i.frameView,u=void 0===c?{}:c,h=u.model&&t.getView(u.model),f=s.componentTypes||a&&a.get('DomComponents').getTypes(),d=t.get('type')||'default',p=this.compView,g=0;g1&&void 0!==arguments[1]?arguments[1]:{},r=n.previousModels,i=void 0===r?[]:r;this.parentEl.innerHTML='',i.forEach((function(t){return e.removeChildren(t,e.collection)})),t.each((function(t){return e.addToCollection(t)}))},render:function(t){var e=this,n=this.el,r=document.createDocumentFragment();return this.parentEl=t||this.el,this.collection.each((function(t){return e.addToCollection(t,r)})),n.innerHTML='',n.appendChild(r),this}})},3345:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var r=n(4942),i=n(9050),o=n(6183);function s(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function a(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,i.isString)(e)&&(e=l(e));var r=this.getStyle(n),s=a({},e);this.set('style',s,n);var c=(0,o.shallowDiff)(r,s);return(0,i.keys)(c).forEach((function(e){var r=t.em;n.noEvent||(t.trigger("change:style:".concat(e)),r&&(r.trigger("styleable:change",t,e,n),r.trigger("styleable:change:".concat(e),t,e,n)))})),s},addStyle:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:'',n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};'string'==typeof t?t={prop:e}:n=e||{},t=this.extendStyle(t),this.setStyle(t,n)},removeStyle:function(t){var e=this.getStyle();delete e[t],this.setStyle(e)},styleToString:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=[],n=this.getStyle(t);for(var r in n){var o=t.important,s=(0,i.isArray)(o)?o.indexOf(r)>=0:o,a="".concat(n[r]).concat(s?' !important':''),l='__'==r.substr(0,2);a&&!l&&e.push("".concat(r,":").concat(a,";"))}return e.join('')},getSelectors:function(){return this.get('selectors')||this.get('classes')},getSelectorsString:function(t){return this.selectorsToString?this.selectorsToString(t):this.getSelectors().getFullString()},_validate:function(t,e){var n,r=t.style,o=this.em||e.em,s=null==o||null===(n=o.get('CssComposer'))||void 0===n?void 0:n.getConfig().onBeforeStyle;if(r&&s){var l=s(a({},r));l&&(0,i.keys)(r).map((function(e){(0,i.isUndefined)(l[e])&&delete t.style[e]})),l&&(0,i.keys)(l).map((function(e){t.style[e]=l[e]}))}return!0}}},793:(t,e,n)=>{"use strict";n.d(e,{Z:()=>h});var r=n(4942),i=n(9050),o=n(2316),s=n.n(o);function a(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function l(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:{},r=n.em;this.em=r,this.opts=n,this.model=function(){var t,n,i,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(o&&o.type){var a=e.getBaseType();t=(i=e.getType(o.type))?i.model:a.model,n=i?i.view:a.view}else{var c=e.recognizeType(o);t=(i=c.type).model,n=i.view,o=c.attributes}var u=new t(o,l(l({},s),{},{em:r}));return u.typeView=n,u};var i=this.init&&this.init.bind(this);i&&i()},recognizeType:function(t){for(var e=this.getTypes(),n=0;n{"use strict";n.d(e,{Z:()=>s});var r=n(2316),i=n.n(r),o=i().$;const s=i().View.extend({events:{change:'handleChange'},template:function(){return"")},inputClass:function(){return"".concat(this.ppfx,"field")},holderClass:function(){return"".concat(this.ppfx,"input-holder")},initialize:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.ppfx||'';this.opts=t,this.ppfx=e,this.em=t.target||{},!t.onChange&&this.listenTo(this.model,'change:value',this.handleModelChange)},elementUpdated:function(){this.model.trigger('el:change')},setValue:function(t){var e=this.model,n=t||e.get('defaults'),r=this.getInputEl();r&&(r.value=n)},handleModelChange:function(t,e,n){this.setValue(e,n)},handleChange:function(t){t.stopPropagation();var e=this.getInputEl().value;this.__onInputChange(e),this.elementUpdated()},__onInputChange:function(t){this.model.set({value:t},{fromInput:1})},getInputEl:function(){if(!this.inputEl){var t=this.model,e=this.opts.type||'text',n=t.get('placeholder')||t.get('defaults')||t.get('default')||'';this.inputEl=o(""))}return this.inputEl.get(0)},render:function(){this.inputEl=null;var t=this.$el;return t.addClass(this.inputClass()),t.html(this.template()),t.find(".".concat(this.holderClass())).append(this.getInputEl()),this}})},1511:(t,e,n)=>{"use strict";n.d(e,{Z:()=>p});var r=n(4942),i=n(2316),o=n.n(i),s=n(9050),a=n(1002),l=n(6183);var c=n(8659);function u(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function h(t){for(var e=1;e","
","
",'
'].join(''),c=function(){var t='';if(i)for(var e=1;e<=6;e++)t+="
";return["
","
","
","
","",'
','
',"
","
","
","
","
","
","
","
",'
','
','
',"
",'
',"
","
",t,'
','
',"
",'
',"
","",'
',"
","
","","",'
','
','
'].join('')}(),u='spectrum.id';t.fn.spectrum=function(e,n){if('string'==typeof e){var i=this,o=Array.prototype.slice.call(arguments,1);return this.each((function(){var n=r[t(this).data(u)];if(n){var s=n[e];if(!s)throw new Error("Spectrum: no such method: '"+e+"'");'get'==e?i=n.get():'container'==e?i=n.container:'option'==e?i=n.option.apply(n,o):'destroy'==e?(n.destroy(),t(this).removeData(u)):s.apply(n,o)}})),i}return this.spectrum('destroy').each((function(){var n=_(this,t.extend({},e,t(this).data()));t(this).data(u,n.id)}))},t.fn.spectrum.load=!0,t.fn.spectrum.loadOpts={},t.fn.spectrum.draggable=D,t.fn.spectrum.defaults=n,t.fn.spectrum.inputTypeColorSupport=function e(){if(void 0===e._cachedResult){var n=t("")[0];e._cachedResult='color'===n.type&&''!==n.value}return e._cachedResult},t.spectrum={},t.spectrum.localization={},t.spectrum.palettes={},t.fn.spectrum.processNativeColorInputs=function(){var e=t('input[type=color]');e.length&&!M()&&e.spectrum({preferredFormat:'hex6'})};var h=/^[\s,#]+/,f=/\s+$/,d=0,p=Math,g=p.round,v=p.min,m=p.max,y=p.random,b=function t(e,n){if(n=n||{},(e=e||'')instanceof t)return e;if(!(this instanceof t))return new t(e,n);var r=function(t){var e={r:0,g:0,b:0},n=1,r=!1,i=!1;'string'==typeof t&&(t=function(t){t=t.replace(h,'').replace(f,'').toLowerCase();var e,n=!1;if(C[t])t=C[t],n=!0;else if('transparent'==t)return{r:0,g:0,b:0,a:0,format:'name'};if(e=S.rgb.exec(t))return{r:e[1],g:e[2],b:e[3]};if(e=S.rgba.exec(t))return{r:e[1],g:e[2],b:e[3],a:e[4]};if(e=S.hsl.exec(t))return{h:e[1],s:e[2],l:e[3]};if(e=S.hsla.exec(t))return{h:e[1],s:e[2],l:e[3],a:e[4]};if(e=S.hsv.exec(t))return{h:e[1],s:e[2],v:e[3]};if(e=S.hsva.exec(t))return{h:e[1],s:e[2],v:e[3],a:e[4]};if(e=S.hex8.exec(t))return{a:nt(e[1]),r:Q(e[2]),g:Q(e[3]),b:Q(e[4]),format:n?'name':'hex8'};if(e=S.hex6.exec(t))return{r:Q(e[1]),g:Q(e[2]),b:Q(e[3]),format:n?'name':'hex'};if(e=S.hex3.exec(t))return{r:Q(e[1]+''+e[1]),g:Q(e[2]+''+e[2]),b:Q(e[3]+''+e[3]),format:n?'name':'hex'};return!1}(t));'object'==(0,a.Z)(t)&&(t.hasOwnProperty('r')&&t.hasOwnProperty('g')&&t.hasOwnProperty('b')?(o=t.r,s=t.g,l=t.b,e={r:255*J(o,255),g:255*J(s,255),b:255*J(l,255)},r=!0,i='%'===String(t.r).substr(-1)?'prgb':'rgb'):t.hasOwnProperty('h')&&t.hasOwnProperty('s')&&t.hasOwnProperty('v')?(t.s=et(t.s),t.v=et(t.v),e=function(t,e,n){t=6*J(t,360),e=J(e,100),n=J(n,100);var r=p.floor(t),i=t-r,o=n*(1-e),s=n*(1-i*e),a=n*(1-(1-i)*e),l=r%6;return{r:255*[n,s,o,o,a,n][l],g:255*[a,n,n,s,o,o][l],b:255*[o,o,a,n,n,s][l]}}(t.h,t.s,t.v),r=!0,i='hsv'):t.hasOwnProperty('h')&&t.hasOwnProperty('s')&&t.hasOwnProperty('l')&&(t.s=et(t.s),t.l=et(t.l),e=function(t,e,n){var r,i,o;function s(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t}if(t=J(t,360),e=J(e,100),n=J(n,100),0===e)r=i=o=n;else{var a=n<.5?n*(1+e):n+e-n*e,l=2*n-a;r=s(l,a,t+1/3),i=s(l,a,t),o=s(l,a,t-1/3)}return{r:255*r,g:255*i,b:255*o}}(t.h,t.s,t.l),r=!0,i='hsl'),t.hasOwnProperty('a')&&(n=t.a));var o,s,l;return n=Y(n),{ok:r,format:t.format||i,r:v(255,m(e.r,0)),g:v(255,m(e.g,0)),b:v(255,m(e.b,0)),a:n}}(e);this._originalInput=e,this._r=r.r,this._g=r.g,this._b=r.b,this._a=r.a,this._roundA=g(100*this._a)/100,this._format=n.format||r.format,this._gradientType=n.gradientType,this._r<1&&(this._r=g(this._r)),this._g<1&&(this._g=g(this._g)),this._b<1&&(this._b=g(this._b)),this._ok=r.ok,this._tc_id=d++};b.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},setAlpha:function(t){return this._a=Y(t),this._roundA=g(100*this._a)/100,this},toHsv:function(){var t=L(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=L(this._r,this._g,this._b),e=g(360*t.h),n=g(100*t.s),r=g(100*t.v);return 1==this._a?'hsv('+e+', '+n+'%, '+r+'%)':'hsva('+e+', '+n+'%, '+r+'%, '+this._roundA+')'},toHsl:function(){var t=A(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=A(this._r,this._g,this._b),e=g(360*t.h),n=g(100*t.s),r=g(100*t.l);return 1==this._a?'hsl('+e+', '+n+'%, '+r+'%)':'hsla('+e+', '+n+'%, '+r+'%, '+this._roundA+')'},toHex:function(t){return R(this._r,this._g,this._b,t)},toHexString:function(t){return'#'+this.toHex(t)},toHex8:function(){return N(this._r,this._g,this._b,this._a)},toHex8String:function(){return'#'+this.toHex8()},toRgb:function(){return{r:g(this._r),g:g(this._g),b:g(this._b),a:this._a}},toRgbString:function(){return 1==this._a?'rgb('+g(this._r)+', '+g(this._g)+', '+g(this._b)+')':'rgba('+g(this._r)+', '+g(this._g)+', '+g(this._b)+', '+this._roundA+')'},toPercentageRgb:function(){return{r:g(100*J(this._r,255))+'%',g:g(100*J(this._g,255))+'%',b:g(100*J(this._b,255))+'%',a:this._a}},toPercentageRgbString:function(){return 1==this._a?'rgb('+g(100*J(this._r,255))+'%, '+g(100*J(this._g,255))+'%, '+g(100*J(this._b,255))+'%)':'rgba('+g(100*J(this._r,255))+'%, '+g(100*J(this._g,255))+'%, '+g(100*J(this._b,255))+'%, '+this._roundA+')'},toName:function(){return 0===this._a?'transparent':!(this._a<1)&&(k[R(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e='#'+N(this._r,this._g,this._b,this._a),n=e,r=this._gradientType?'GradientType = 1, ':'';t&&(n=b(t).toHex8String());return'progid:DXImageTransform.Microsoft.gradient('+r+'startColorstr='+e+',endColorstr='+n+')'},toString:function(t){var e=!!t;t=t||this._format;var n=!1,r=this._a<1&&this._a>=0;return e||!r||'hex'!==t&&'hex6'!==t&&'hex3'!==t&&'name'!==t?('rgb'===t&&(n=this.toRgbString()),'prgb'===t&&(n=this.toPercentageRgbString()),'hex'!==t&&'hex6'!==t||(n=this.toHexString()),'hex3'===t&&(n=this.toHexString(!0)),'hex8'===t&&(n=this.toHex8String()),'name'===t&&(n=this.toName()),'hsl'===t&&(n=this.toHslString()),'hsv'===t&&(n=this.toHsvString()),n||this.toHexString()):'name'===t&&0===this._a?this.toName():this.toRgbString()},_applyModification:function(t,e){var n=t.apply(null,[this].concat([].slice.call(e)));return this._r=n._r,this._g=n._g,this._b=n._b,this.setAlpha(n._a),this},lighten:function(){return this._applyModification(V,arguments)},brighten:function(){return this._applyModification(H,arguments)},darken:function(){return this._applyModification(B,arguments)},desaturate:function(){return this._applyModification(Z,arguments)},saturate:function(){return this._applyModification(I,arguments)},greyscale:function(){return this._applyModification(F,arguments)},spin:function(){return this._applyModification(z,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(G,arguments)},complement:function(){return this._applyCombination(U,arguments)},monochromatic:function(){return this._applyCombination(K,arguments)},splitcomplement:function(){return this._applyCombination(q,arguments)},triad:function(){return this._applyCombination(W,arguments)},tetrad:function(){return this._applyCombination($,arguments)}},b.fromRatio=function(t,e){if('object'==(0,a.Z)(t)){var n={};for(var r in t)t.hasOwnProperty(r)&&(n[r]='a'===r?t[r]:et(t[r]));t=n}return b(t,e)},b.equals=function(t,e){return!(!t||!e)&&b(t).toRgbString()==b(e).toRgbString()},b.random=function(){return b.fromRatio({r:y(),g:y(),b:y()})},b.mix=function(t,e,n){n=0===n?0:n||50;var r,i=b(t).toRgb(),o=b(e).toRgb(),s=n/100,a=2*s-1,l=o.a-i.a,c=1-(r=((r=a*l==-1?a:(a+l)/(1+a*l))+1)/2),u={r:o.r*r+i.r*c,g:o.g*r+i.g*c,b:o.b*r+i.b*c,a:o.a*s+i.a*(1-s)};return b(u)},b.readability=function(t,e){var n=b(t),r=b(e),i=n.toRgb(),o=r.toRgb(),s=n.getBrightness(),a=r.getBrightness(),l=Math.max(i.r,o.r)-Math.min(i.r,o.r)+Math.max(i.g,o.g)-Math.min(i.g,o.g)+Math.max(i.b,o.b)-Math.min(i.b,o.b);return{brightness:Math.abs(s-a),color:l}},b.isReadable=function(t,e){var n=b.readability(t,e);return n.brightness>125&&n.color>500},b.mostReadable=function(t,e){for(var n=null,r=0,i=!1,o=0;o125&&s.color>500,l=s.brightness/125*3+s.color/500;(a&&!i||a&&i&&l>r||!a&&!i&&l>r)&&(i=a,r=l,n=b(e[o]))}return n};var w,x,O,C=b.names={aliceblue:'f0f8ff',antiquewhite:'faebd7',aqua:'0ff',aquamarine:'7fffd4',azure:'f0ffff',beige:'f5f5dc',bisque:'ffe4c4',black:'000',blanchedalmond:'ffebcd',blue:'00f',blueviolet:'8a2be2',brown:'a52a2a',burlywood:'deb887',burntsienna:'ea7e5d',cadetblue:'5f9ea0',chartreuse:'7fff00',chocolate:'d2691e',coral:'ff7f50',cornflowerblue:'6495ed',cornsilk:'fff8dc',crimson:'dc143c',cyan:'0ff',darkblue:'00008b',darkcyan:'008b8b',darkgoldenrod:'b8860b',darkgray:'a9a9a9',darkgreen:'006400',darkgrey:'a9a9a9',darkkhaki:'bdb76b',darkmagenta:'8b008b',darkolivegreen:'556b2f',darkorange:'ff8c00',darkorchid:'9932cc',darkred:'8b0000',darksalmon:'e9967a',darkseagreen:'8fbc8f',darkslateblue:'483d8b',darkslategray:'2f4f4f',darkslategrey:'2f4f4f',darkturquoise:'00ced1',darkviolet:'9400d3',deeppink:'ff1493',deepskyblue:'00bfff',dimgray:'696969',dimgrey:'696969',dodgerblue:'1e90ff',firebrick:'b22222',floralwhite:'fffaf0',forestgreen:'228b22',fuchsia:'f0f',gainsboro:'dcdcdc',ghostwhite:'f8f8ff',gold:'ffd700',goldenrod:'daa520',gray:'808080',green:'008000',greenyellow:'adff2f',grey:'808080',honeydew:'f0fff0',hotpink:'ff69b4',indianred:'cd5c5c',indigo:'4b0082',ivory:'fffff0',khaki:'f0e68c',lavender:'e6e6fa',lavenderblush:'fff0f5',lawngreen:'7cfc00',lemonchiffon:'fffacd',lightblue:'add8e6',lightcoral:'f08080',lightcyan:'e0ffff',lightgoldenrodyellow:'fafad2',lightgray:'d3d3d3',lightgreen:'90ee90',lightgrey:'d3d3d3',lightpink:'ffb6c1',lightsalmon:'ffa07a',lightseagreen:'20b2aa',lightskyblue:'87cefa',lightslategray:'789',lightslategrey:'789',lightsteelblue:'b0c4de',lightyellow:'ffffe0',lime:'0f0',limegreen:'32cd32',linen:'faf0e6',magenta:'f0f',maroon:'800000',mediumaquamarine:'66cdaa',mediumblue:'0000cd',mediumorchid:'ba55d3',mediumpurple:'9370db',mediumseagreen:'3cb371',mediumslateblue:'7b68ee',mediumspringgreen:'00fa9a',mediumturquoise:'48d1cc',mediumvioletred:'c71585',midnightblue:'191970',mintcream:'f5fffa',mistyrose:'ffe4e1',moccasin:'ffe4b5',navajowhite:'ffdead',navy:'000080',oldlace:'fdf5e6',olive:'808000',olivedrab:'6b8e23',orange:'ffa500',orangered:'ff4500',orchid:'da70d6',palegoldenrod:'eee8aa',palegreen:'98fb98',paleturquoise:'afeeee',palevioletred:'db7093',papayawhip:'ffefd5',peachpuff:'ffdab9',peru:'cd853f',pink:'ffc0cb',plum:'dda0dd',powderblue:'b0e0e6',purple:'800080',rebeccapurple:'663399',red:'f00',rosybrown:'bc8f8f',royalblue:'4169e1',saddlebrown:'8b4513',salmon:'fa8072',sandybrown:'f4a460',seagreen:'2e8b57',seashell:'fff5ee',sienna:'a0522d',silver:'c0c0c0',skyblue:'87ceeb',slateblue:'6a5acd',slategray:'708090',slategrey:'708090',snow:'fffafa',springgreen:'00ff7f',steelblue:'4682b4',tan:'d2b48c',teal:'008080',thistle:'d8bfd8',tomato:'ff6347',turquoise:'40e0d0',violet:'ee82ee',wheat:'f5deb3',white:'fff',whitesmoke:'f5f5f5',yellow:'ff0',yellowgreen:'9acd32'},k=b.hexNames=function(t){var e={};for(var n in t)t.hasOwnProperty(n)&&(e[t[n]]=n);return e}(C),S=(x='[\\s|\\(]+('+(w="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+')[,|\\s]+('+w+')[,|\\s]+('+w+')\\s*\\)?',O='[\\s|\\(]+('+w+')[,|\\s]+('+w+')[,|\\s]+('+w+')[,|\\s]+('+w+')\\s*\\)?',{rgb:new RegExp('rgb'+x),rgba:new RegExp('rgba'+O),hsl:new RegExp('hsl'+x),hsla:new RegExp('hsla'+O),hsv:new RegExp('hsv'+x),hsva:new RegExp('hsva'+O),hex3:/^([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex8:/^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});window.tinycolor=b,t((function(){t.fn.spectrum.load&&t.fn.spectrum.processNativeColorInputs()}))}function P(e,n,r,i){for(var s=[],a=0;a')}else{s.push(t('
').append(t("").attr('title',i.noColorSelectedText)).html())}}return"
"+s.join('')+'
'}function _(a,l){var u,h,f,d,p=function(e,r){var i=t.extend({},n,e);return i.callbacks={move:j(i.move,r),change:j(i.change,r),show:j(i.show,r),hide:j(i.hide,r),beforeShow:j(i.beforeShow,r)},i}(l,a),g=p.flat,v=p.showSelectionPalette,m=p.localStorageKey,y=p.theme,w=p.callbacks,x=(u=Wt,h=10,function(){var t=this,e=arguments,n=function(){d=null,u.apply(t,e)};f&&clearTimeout(d),!f&&d||(d=setTimeout(n,h))}),O=!1,C=!1,k=!0,S=0,_=0,T=0,A=0,L=0,R=0,N=0,Z=0,I=0,F=0,V=1,H=[],B=[],z={},U=p.selectionPalette.slice(0),W=p.maxSelectionSize,$='sp-dragging',q=null,G=a.ownerDocument,K=(G.body,t(a)),Y=!1,J=t(c,G).addClass(y),X=J.find('.sp-picker-container'),Q=J.find('.sp-color'),tt=J.find('.sp-dragger'),et=J.find('.sp-hue'),nt=J.find('.sp-slider'),rt=J.find('.sp-alpha-inner'),it=J.find('.sp-alpha'),ot=J.find('.sp-alpha-handle'),st=J.find('.sp-input'),at=J.find('.sp-palette'),lt=J.find('.sp-initial'),ct=J.find('.sp-cancel'),ut=J.find('.sp-clear'),ht=J.find('.sp-choose'),ft=J.find('.sp-palette-toggle'),dt=K.is('input'),pt=dt&&'color'===K.attr('type')&&M(),gt=dt&&!g,vt=gt?t(s).addClass(y).addClass(p.className).addClass(p.replacerClassName):t([]),mt=gt?vt:K,yt=vt.find('.sp-preview-inner'),bt=p.color||dt&&K.val(),wt=!1,xt=p.preferredFormat,Ot=!p.showButtons||p.clickoutFiresChange,Ct=!bt,kt=p.allowEmpty&&!pt;function St(){if(p.showPaletteOnly&&(p.showPalette=!0),ft.text(p.showPaletteOnly?p.togglePaletteMoreText:p.togglePaletteLessText),p.palette){H=p.palette.slice(0),B=t.isArray(H[0])?H:[H],z={};for(var e=0;e1&&(delete window.localStorage[m],t.each(e,(function(t,e){_t(e)})))}catch(t){}try{U=window.localStorage[m].split(';')}catch(t){}}}function _t(e){if(v){var n=b(e).toRgbString();if(!z[n]&&-1===t.inArray(n,U))for(U.push(n);U.length>W;)U.shift();if(m&&window.localStorage)try{window.localStorage[m]=U.join(';')}catch(t){}}}function Tt(){var e=Vt(),n=t.map(B,(function(t,n){return P(t,e,'sp-palette-row sp-palette-row-'+n,p)}));Pt(),U&&n.push(P(function(){var t=[];if(p.showPalette)for(var e=0;ed&&d>i?Math.abs(g.left+i-d):0),g.top-=Math.min(g.top,g.top+o>p&&p>o?Math.abs(o+s-r):r),g}(J,mt))),zt(),p.showPalette&&Tt(),K.trigger('reflow.spectrum'))}function $t(){Zt(),Y=!0,K.attr('disabled',!0),mt.addClass('sp-disabled')}!function(){if(i&&J.find('*:not(input)').attr('unselectable','on'),St(),gt&&K.after(vt).hide(),kt||ut.hide(),g)K.after(J).hide();else{var e='parent'===p.appendTo?K.parent():t(p.appendTo);1!==e.length&&(e=t('body')),e.append(J)}function n(e){return e.data&&e.data.ignore?(Ft(t(e.target).closest('.sp-thumb-el').data('color')),Ht()):(Ft(t(e.target).closest('.sp-thumb-el').data('color')),Ht(),p.hideAfterPaletteSelect&&(Ut(!0),Zt())),!1}Pt(),mt.bind('click.spectrum touchstart.spectrum',(function(e){Y||At(),e.stopPropagation(),t(e.target).is('input')||e.preventDefault()})),(K.is(':disabled')||!0===p.disabled)&&$t(),J.click(E),st.change(Mt),st.bind('paste',(function(){setTimeout(Mt,1)})),st.keydown((function(t){13==t.keyCode&&Mt()})),ct.text(p.cancelText),ct.bind('click.spectrum',(function(t){t.stopPropagation(),t.preventDefault(),It(),Zt()})),ut.attr('title',p.clearText),ut.bind('click.spectrum',(function(t){t.stopPropagation(),t.preventDefault(),Ct=!0,Ht(),g&&Ut(!0)})),ht.text(p.chooseText),ht.bind('click.spectrum',(function(t){t.stopPropagation(),t.preventDefault(),i&&st.is(':focus')&&st.trigger('change'),st.hasClass('sp-validation-error')||(Ut(!0),Zt())})),ft.text(p.showPaletteOnly?p.togglePaletteMoreText:p.togglePaletteLessText),ft.bind('click.spectrum',(function(t){t.stopPropagation(),t.preventDefault(),p.showPaletteOnly=!p.showPaletteOnly,p.showPaletteOnly||g||J.css('left','-='+(X.outerWidth(!0)+5)),St()})),D(it,(function(t,e,n){V=t/L,Ct=!1,n.shiftKey&&(V=Math.round(10*V)/10),Ht()}),jt,Dt),D(et,(function(t,e){Z=parseFloat(e/A),Ct=!1,p.showAlpha||(V=1),Ht()}),jt,Dt),D(Q,(function(t,e,n){if(n.shiftKey){if(!q){var r=I*S,i=_-F*_,o=Math.abs(t-r)>Math.abs(e-i);q=o?'x':'y'}}else q=null;var s=!q||'y'===q;(!q||'x'===q)&&(I=parseFloat(t/S)),s&&(F=parseFloat((_-e)/_)),Ct=!1,p.showAlpha||(V=1),Ht()}),jt,Dt),bt?(Ft(bt),Bt(),xt=p.preferredFormat||b(bt).getFormat(),_t(bt)):Bt(),g&&Lt();var r=i?'mousedown.spectrum':'click.spectrum touchstart.spectrum';at.delegate('.sp-thumb-el',r,n),lt.delegate('.sp-thumb-el:nth-child(1)',r,{ignore:!0},n)}();var qt={show:Lt,hide:Zt,toggle:At,reflow:Wt,option:function(n,r){return n===e?t.extend({},p):r===e?p[n]:(p[n]=r,'preferredFormat'===n&&(xt=p.preferredFormat),void St())},enable:function(){Y=!1,K.attr('disabled',!1),mt.removeClass('sp-disabled')},disable:$t,offset:function(t){p.offset=t,Wt()},set:function(t){Ft(t),Ut()},get:Vt,destroy:function(){K.show(),mt.unbind('click.spectrum touchstart.spectrum'),J.remove(),vt.remove(),r[qt.id]=null},container:J};return qt.id=r.push(qt)-1,qt}function T(){}function E(t){t.stopPropagation()}function j(t,e){var n=Array.prototype.slice,r=n.call(arguments,2);return function(){return t.apply(e,r.concat(n.call(arguments)))}}function D(e,n,r,o){n=n||function(){},r=r||function(){},o=o||function(){};var s=document,a=!1,l={},c=0,u=0,h='ontouchstart'in window,f={};function d(t){t.stopPropagation&&t.stopPropagation(),t.preventDefault&&t.preventDefault(),t.returnValue=!1}function p(t){if(a){if(i&&s.documentMode<9&&!t.button)return g();var r=t&&t.touches&&t.touches[0],o=r&&r.pageX||t.pageX,f=r&&r.pageY||t.pageY,p=Math.max(0,Math.min(o-l.left,u)),v=Math.max(0,Math.min(f-l.top,c));h&&d(t),n.apply(e,[p,v,t])}}function g(){a&&(t(s).unbind(f),t(s.body).removeClass('sp-dragging'),setTimeout((function(){o.apply(e,arguments)}),0)),a=!1}f.selectstart=d,f.dragstart=d,f['touchmove mousemove']=p,f['touchend mouseup']=g,t(e).bind('touchstart mousedown',(function(n){var i=n.which?3==n.which:2==n.button;i||a||!1!==r.apply(e,arguments)&&(a=!0,c=t(e).height(),u=t(e).width(),l=t(e).offset(),t(s).bind(f),t(s.body).addClass('sp-dragging'),p(n),d(n))}))}function M(){return t.fn.spectrum.inputTypeColorSupport()}function A(t,e,n){t=J(t,255),e=J(e,255),n=J(n,255);var r,i,o=m(t,e,n),s=v(t,e,n),a=(o+s)/2;if(o==s)r=i=0;else{var l=o-s;switch(i=a>.5?l/(2-o-s):l/(o+s),o){case t:r=(e-n)/l+(e>1)+720)%360;--e;)r.h=(r.h+i)%360,o.push(b(r));return o}function K(t,e){e=e||6;for(var n=b(t).toHsv(),r=n.h,i=n.s,o=n.v,s=[],a=1/e;e--;)s.push(b({h:r,s:i,v:o})),o=(o+a)%1;return s}function Y(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function J(t,e){(function(t){return'string'==typeof t&&-1!=t.indexOf('.')&&1===parseFloat(t)})(t)&&(t='100%');var n=function(t){return'string'==typeof t&&-1!=t.indexOf('%')}(t);return t=v(e,m(0,parseFloat(t))),n&&(t=parseInt(t*e,10)/100),p.abs(t-e)<1e-6?1:t%e/parseFloat(e)}function X(t){return v(1,m(0,t))}function Q(t){return parseInt(t,16)}function tt(t){return 1==t.length?'0'+t:''+t}function et(t){return t<=1&&(t=100*t+'%'),t}function nt(t){return Q(t)/255}}(f);var d=function(t){var e='name'===t.getFormat()&&t.toName(),n=1==t.getAlpha()?t.toHexString():t.toRgbString();return e||n.replace(/ /g,'')};const p=c.Z.extend({template:function(){var t=this.ppfx;return"\n
\n
\n
\n
\n
\n
\n ")},inputClass:function(){var t=this.ppfx;return"".concat(t,"field ").concat(t,"field-color")},holderClass:function(){return"".concat(this.ppfx,"input-holder")},remove:function(){c.Z.prototype.remove.apply(this,arguments),this.colorEl.spectrum('destroy')},handleChange:function(t){t.stopPropagation();var e=t.target.value;(0,s.isUndefined)(e)||this.__onInputChange(e)},__onInputChange:function(t){var e=this.model,n=this.opts.onChange,r=t,i=this.getColorEl();if(i){i.spectrum('set',r);var o=i.spectrum('get'),s=r&&d(o);s&&(r=s)}n?n(r):e.set({value:r},{fromInput:1})},setValue:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.model,r=(0,s.isUndefined)(e.def)?n.get('defaults'):e.def,i=(0,s.isUndefined)(t)?(0,s.isUndefined)(r)?'':r:t,o=this.getInputEl(),a=this.getColorEl(),l='none'!=i?i:'';o.value=i,a.get(0).style.backgroundColor=l,(e.fromTarget||e.fromInput&&!e.avoidStore)&&(a.spectrum('set',l),this.noneColor='none'==i)},getColorEl:function(){if(!this.colorEl){var t,e=this.em,n=this.model,r=this.opts,i=this,o=this.ppfx,s=r.onChange,a=f("
")),l=a.get(0).style,c=e&&e.config?e.config.el:'',u=e&&e.getConfig&&e.getConfig('colorPicker')||{},p=0;this.$el.find("[data-colorp-c]").append(a),a.spectrum(h(h(h({color:n.getValue()||!1,containerClassName:"".concat(o,"one-bg ").concat(o,"two-color"),appendTo:c||'body',maxSelectionSize:8,showPalette:!0,showAlpha:!0,chooseText:'Ok',cancelText:'⨯',palette:[]},u),n.get('colorPicker')||{}),{},{move:function(t){var e=d(t);l.backgroundColor=e,s?s(e,!0):n.setValueFromInput(e,0)},change:function(t){p=1;var e=d(t);l.backgroundColor=e,s?s(e):(n.setValueFromInput(0,0),n.setValueFromInput(e)),i.noneColor=0},show:function(e){p=0,t=s?n.getValue({noDefault:!0}):d(e)},hide:function(e){p||!t&&!s||(i.noneColor&&(t=''),l.backgroundColor=t,a.spectrum('set',t),s?s(t,!0):n.setValueFromInput(t,0))}})),e&&e.on&&this.listenTo(e,'component:selected',(function(){p=1,a.spectrum('hide')})),this.colorEl=a}return this.colorEl},render:function(){return c.Z.prototype.render.call(this),this.getColorEl(),this}})},7610:(t,e,n)=>{"use strict";n.d(e,{Z:()=>l});var r=n(2316),i=n.n(r),o=n(9050),s=n(6183),a=n(8659);i().$;const l=a.Z.extend({events:{'change input':'handleChange','change select':'handleUnitChange','click [data-arrow-up]':'upArrowClick','click [data-arrow-down]':'downArrowClick','mousedown [data-arrows]':'downIncrement',keydown:'handleKeyDown'},template:function(){var t=this.ppfx;return"\n \n \n
\n
\n
\n
\n ")},inputClass:function(){var t=this.ppfx;return this.opts.contClass||"".concat(t,"field ").concat(t,"field-integer")},initialize:function(){a.Z.prototype.initialize.apply(this,arguments),(0,o.bindAll)(this,'moveIncrement','upIncrement'),this.doc=document,this.listenTo(this.model,'change:unit',this.handleModelChange)},setValue:function(t,e){var n=e||{},r=this.validateInputValue(t,{deepCheck:1}),i={value:r.value};(r.unit||r.force)&&(i.unit=r.unit),this.model.set(i,n),n.silent&&this.handleModelChange()},handleChange:function(t){t.stopPropagation(),this.setValue(this.getInputEl().value),this.elementUpdated()},handleUnitChange:function(t){t.stopPropagation();var e=this.getUnitEl().value;this.model.set('unit',e),this.elementUpdated()},handleKeyDown:function(t){'ArrowUp'===t.key&&(t.preventDefault(),this.upArrowClick()),'ArrowDown'===t.key&&(t.preventDefault(),this.downArrowClick())},elementUpdated:function(){this.model.trigger('el:change')},handleModelChange:function(){var t=this.model;this.getInputEl().value=t.get('value');var e=this.getUnitEl();e&&(e.value=t.get('unit')||'')},getUnitEl:function(){if(!this.unitEl){var t=this.model,e=t.get('units')||[];if(e.length){var n=[''];e.forEach((function(e){var r=e==t.get('unit')?'selected':'';n.push(""))}));var r=document.createElement('div');r.innerHTML=""),this.unitEl=r.firstChild}}return this.unitEl},upArrowClick:function(){var t=this.model,e=t.get('step'),n=parseFloat(t.get('value'));this.setValue(this.normalizeValue(n+e)),this.elementUpdated()},downArrowClick:function(){var t=this.model,e=t.get('step'),n=parseFloat(t.get('value'));this.setValue(this.normalizeValue(n-e)),this.elementUpdated()},downIncrement:function(t){t.preventDefault(),this.moved=0;var e=this.model.get('value')||0;e=this.normalizeValue(e),this.current={y:t.pageY,val:e},(0,s.on)(this.doc,'mousemove',this.moveIncrement),(0,s.on)(this.doc,'mouseup',this.upIncrement)},moveIncrement:function(t){this.moved=1;var e=this.model,n=e.get('step'),r=this.current,i=this.normalizeValue(r.val+(r.y-t.pageY)*n),o=this.validateInputValue(i),s=o.value,a=o.unit;return this.prValue=s,e.set({value:s,unit:a},{avoidStore:1}),!1},upIncrement:function(){var t=this.model,e=t.get('step');if((0,s.off)(this.doc,'mouseup',this.upIncrement),(0,s.off)(this.doc,'mousemove',this.moveIncrement),this.prValue&&this.moved){var n=this.prValue-e;t.set('value',n,{avoidStore:1}).set('value',n+e),this.elementUpdated()}},normalizeValue:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=this.model,r=n.get('step'),i=0;if(isNaN(t))return e;if(t=parseFloat(t),Math.floor(t)!==t){var o=r.toString().split('.')[1];i=o?o.length:0}return i?parseFloat(t.toFixed(i)):t},validateInputValue:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=0,r=e||{},i=this.model,s='',a=(0,o.isUndefined)(t)?s:t,l=e.units||i.get('units')||[],c=i.get('unit')||l.length&&l[0]||'',u=(0,o.isUndefined)(e.max)?i.get('max'):e.max,h=(0,o.isUndefined)(e.min)?i.get('min'):e.min,f=!!i.get('limitlessMax'),d=!!i.get('limitlessMin');if(r.deepCheck){var p=i.get('fixedValues')||[];if(''===a&&(c=''),a){var g=new RegExp('^'+p.join('|'),'g');if(p.length&&g.test(a))a=a.match(g)[0],c='',n=1;else{var v=a+'';a+='',a=parseFloat(a.replace(',','.')),a=isNaN(a)?s:a;var m=v.replace(a,'');(0,o.indexOf)(l,m)>=0&&(c=m)}}}return f||(0,o.isUndefined)(u)||''===u||(a=a>u?u:a),d||(0,o.isUndefined)(h)||''===h||(a=a{"use strict";n.d(e,{Z:()=>s});var r=n(9050),i=n(2316),o=n.n(i);const s=o().View.extend({itemView:'',itemsView:'',itemType:'type',autoAdd:0,initialize:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;this.config=e||t.config||{},this.autoAdd&&this.listenTo(this.collection,'add',this.addTo),this.items=[],this.init()},init:function(){},addTo:function(t){this.add(t)},itemViewNotFound:function(t){var e=this.config,n=this.ns,r=e.em,i="".concat(n?"[".concat(n,"]: "):'',"'").concat(t,"' type not found");r&&r.logWarning(i)},add:function(t,e){var n,i=this.config,o=this.reuseView,s=this.items,a=this.itemsView,l=void 0===a?{}:a,c=e||null,u=this.itemView,h=t.get(this.itemType);l[h]?u=l[h]:!h||l[h]||(0,r.includes)(['button','checkbox','color','date','datetime-local','email','file','hidden','image','month','number','password','radio','range','reset','search','submit','tel','text','time','url','week'],h)||this.itemViewNotFound(h),n=t.view&&o?t.view:new u({model:t,config:i},i),s&&s.push(n);var f=n.render().el;c?c.appendChild(f):this.$el.append(f)},render:function(){var t=document.createDocumentFragment();return this.clearItems(),this.$el.empty(),this.collection.length&&this.collection.each((function(e){this.add(e,t)}),this),this.$el.append(t),this.onRender(),this},onRender:function(){},onRemoveBefore:function(){},onRemove:function(){},remove:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.items;this.onRemoveBefore(e,t),this.clearItems(),o().View.prototype.remove.apply(this,arguments),this.onRemove(e,t)},clearItems:function(){this.items}})},4836:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>d});var r=n(4942),i=n(1002),o=n(9050),s=n(6183),a={placeholder:'eg. Text here'};const l={locale:'en',localeFallback:'en',detectLocale:!0,debug:!1,messages:{en:{assetManager:{addButton:'Add image',inputPlh:'http://path/to/the/image.jpg',modalTitle:'Select Image',uploadTitle:'Drop files here or click to upload'},blockManager:{labels:{},categories:{}},domComponents:{names:{'':'Box',wrapper:'Body',text:'Text',comment:'Comment',image:'Image',video:'Video',label:'Label',link:'Link',map:'Map',tfoot:'Table foot',tbody:'Table body',thead:'Table head',table:'Table',row:'Table row',cell:'Table cell'}},deviceManager:{device:'Device',devices:{desktop:'Desktop',tablet:'Tablet',mobileLandscape:'Mobile Landscape',mobilePortrait:'Mobile Portrait'}},panels:{buttons:{titles:{preview:'Preview',fullscreen:'Fullscreen','sw-visibility':'View components','export-template':'View code','open-sm':'Open Style Manager','open-tm':'Settings','open-layers':'Open Layer Manager','open-blocks':'Open Blocks'}}},selectorManager:{label:'Classes',selected:'Selected',emptyState:'- State -',states:{hover:'Hover',active:'Click','nth-of-type(2n)':'Even/Odd'}},styleManager:{empty:'Select an element before using Style Manager',layer:'Layer',fileButton:'Images',sectors:{general:'General',layout:'Layout',typography:'Typography',decorations:'Decorations',extra:'Extra',flex:'Flex',dimension:'Dimension'},properties:{'text-shadow-h':'X','text-shadow-v':'Y','text-shadow-blur':'Blur','text-shadow-color':'Color','box-shadow-h':'X','box-shadow-v':'Y','box-shadow-blur':'Blur','box-shadow-spread':'Spread','box-shadow-color':'Color','box-shadow-type':'Type','margin-top-sub':'Top','margin-right-sub':'Right','margin-bottom-sub':'Bottom','margin-left-sub':'Left','padding-top-sub':'Top','padding-right-sub':'Right','padding-bottom-sub':'Bottom','padding-left-sub':'Left','border-width-sub':'Width','border-style-sub':'Style','border-color-sub':'Color','border-top-left-radius-sub':'Top Left','border-top-right-radius-sub':'Top Right','border-bottom-right-radius-sub':'Bottom Right','border-bottom-left-radius-sub':'Bottom Left','transform-rotate-x':'Rotate X','transform-rotate-y':'Rotate Y','transform-rotate-z':'Rotate Z','transform-scale-x':'Scale X','transform-scale-y':'Scale Y','transform-scale-z':'Scale Z','transition-property-sub':'Property','transition-duration-sub':'Duration','transition-timing-function-sub':'Timing','background-image-sub':'Image','background-repeat-sub':'Repeat','background-position-sub':'Position','background-attachment-sub':'Attachment','background-size-sub':'Size'}},traitManager:{empty:'Select an element before using Trait Manager',label:'Component settings',traits:{labels:{},attributes:{id:a,alt:a,title:a,href:{placeholder:'eg. https://google.com'}},options:{target:{false:'This window',_blank:'New window'}}}}}},messagesAdd:null};function c(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function u(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{};this.config=u(u(u({},l),t),{},{messages:u(u({},l.messages),t.messages||{})});var e=this.config.messagesAdd;return e&&this.addMessages(e),this.config.detectLocale&&(this.config.locale=this._localLang()),this.em=t.em,this},getConfig:function(){return this.config},setLocale:function(t){var e=this.em,n=this.config,r={value:t,valuePrev:n.locale};return e&&e.trigger('i18n:locale',r),n.locale=t,this},getLocale:function(){return this.config.locale},getMessages:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.config.messages;return t&&!n[t]&&this._debug("'".concat(t,"' i18n lang not found"),e),t?n[t]:n},setMessages:function(t){var e=this.em;return this.config.messages=t,e&&e.trigger('i18n:update',t),this},addMessages:function(t){var e=this.em,n=this.config.messages;return e&&e.trigger('i18n:add',t),this.setMessages(f(n,t)),this},t:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.config,r=e.params||{},i=e.l||this.getLocale(),s=e.lFlb||n.localeFallback,a=this._getMsg(t,i,e);return a||(a=this._getMsg(t,s,e)),!a&&this._debug("'".concat(t,"' i18n key not found in '").concat(i,"' lang"),e),a=a&&(0,o.isString)(a)?this._addParams(a,r):a},_localLang:function(){var t=(0,s.hasWin)()&&window.navigator||{},e=t.language||t.userLanguage;return e?e.split('-')[0]:'en'},_addParams:function(t,e){var n=new RegExp("{([\\w\\d-]*)}",'g');return t.replace(n,(function(t,n){return e[n]||''})).trim()},_getMsg:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=this.getMessages(e,n);if(r){var i=r[t];return!i&&t.indexOf('.')>0&&(i=t.split('.').reduce((function(t,e){if(!(0,o.isUndefined)(t))return t[e]}),r)),i}},_debug:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.em,r=this.config;(e.debug||r.debug)&&n&&n.logWarning(t)},destroy:function(){this.config=l,this.em={}}}}},9788:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>E});var r,i=n(1002),o=n(4942),s=n(9050),a=n(6183),l={},c={16:!1,18:!1,17:!1,91:!1},u='all',h={'⇧':16,shift:16,'⌥':18,alt:18,option:18,'⌃':17,ctrl:17,control:17,'⌘':91,command:91},f={backspace:8,tab:9,clear:12,enter:13,return:13,esc:27,escape:27,space:32,left:37,up:38,right:39,down:40,del:46,delete:46,home:36,end:35,pageup:33,pagedown:34,',':188,'.':190,'/':191,'`':192,'-':189,'=':187,';':186,"'":222,'[':219,']':221,'\\':220},d=function(t){return f[t]||t.toUpperCase().charCodeAt(0)},p=[];for(r=1;r<20;r++)f['f'+r]=111+r;function g(t,e){for(var n=t.length;n--;)if(t[n]===e)return n;return-1}function v(t,e){if(t.length!=e.length)return!1;for(var n=0;n=0&&p.splice(r,1),93!=n&&224!=n||(n=91),n in c)for(e in c[n]=!1,h)h[e]==n&&(x[e]=!1)}function w(){for(r in c)c[r]=!1;for(r in h)x[r]=!1}function x(t,e,n){var r,i;r=C(t),void 0===n&&(n=e,e='all');for(var o=0;o1&&(i=k(t),t=[t[t.length-1]]),t=t[0],(t=d(t))in l||(l[t]=[]),l[t].push({shortcut:r[o],scope:e,method:n,key:r[o],mods:i})}for(r in h)x[r]=!1;function O(){return u||'all'}function C(t){var e;return''==(e=(t=t.replace(/\s/g,'')).split(','))[e.length-1]&&(e[e.length-2]+=','),e}function k(t){for(var e=t.slice(0,t.length-1),n=0;n1&&(a=k(r)),t=r[r.length-1],t=d(t),void 0===e&&(e=O()),!l[t])return;for(i=0;i0,c)(!c[r]&&g(n.mods,+r)>-1||c[r]&&-1==g(n.mods,+r))&&(o=!1);(0!=n.mods.length||c[16]||c[18]||c[17]||c[91])&&!o||!1===n.method(t,n)&&(t.preventDefault?t.preventDefault():t.returnValue=!1,t.stopPropagation&&t.stopPropagation(),t.cancelBubble&&(t.cancelBubble=!0))}}(t)})),S(t.document,'keyup',b),S(t,'focus',w)};const P=x;function _(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function T(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{};return this.config=T(T({},t),e),this.em=this.config.em,this.keymaps={},this},onLoad:function(){var t=this.config.defaults;for(var e in t){var n=t[e];this.add(e,n.keys,n.handler,n.opts||{})}},add:function(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=this.em,a=o.get('Commands'),l=o.getEditor(),c=o.get('Canvas'),u={id:t,keys:e,handler:n},h=this.keymaps[t];return h&&this.remove(t),this.keymaps[t]=u,P(e,(function(e,u){var h={event:e,h:u};if(n=(0,s.isString)(n)?a.get(n):n,!o.isEditing()&&!l.Canvas.isInputFocused()||r.force){r.prevent&&c.getCanvasView().preventDefault(e),'object'==(0,i.Z)(n)?a.runCommand(n,h):n(l,0,h);var f=[t,u.shortcut,e];o.trigger.apply(o,['keymap:emit'].concat(f)),o.trigger.apply(o,["keymap:emit:".concat(t)].concat(f))}})),o.trigger('keymap:add',u),u},get:function(t){return this.keymaps[t]},getAll:function(){return this.keymaps},remove:function(t){var e=this.em,n=this.get(t);if(n)return delete this.keymaps[t],n.keys.split(', ').forEach((function(t){return P.unbind(t.trim())})),e&&e.trigger('keymap:remove',n),n},removeAll:function(){var t=this;return Object.keys(this.keymaps).forEach((function(e){return t.remove(e)})),P.handlers={},this},destroy:function(){this.removeAll(),this.keymaps={},this.em={}}}}},2450:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>x});var r=n(4942),i=n(9050),o=n(9283);const s={stylePrefix:'mdl-',title:'',content:'',backdrop:!0,custom:!1,extend:{}};var a=n(5671),l=n(3144),c=n(9340),u=n(3930),h=n(1120),f=n(2316);function d(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=(0,h.Z)(t);if(e){var i=(0,h.Z)(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return(0,u.Z)(this,n)}}var p=function(t){(0,c.Z)(n,t);var e=d(n);function n(){return(0,a.Z)(this,n),e.apply(this,arguments)}return(0,l.Z)(n,[{key:"defaults",value:function(){return{title:'',content:'',attributes:{},open:!1}}},{key:"open",value:function(){this.set('open',!0)}},{key:"close",value:function(){this.set('open',!1)}}]),n}(f.Model);function g(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function v(t){for(var e=1;e\n
\n
").concat(i,"
\n
\n
\n
\n
").concat(r,"
\n
\n
\n
\n
")}},{key:"events",value:function(){return{click:'onClick','click [data-close-modal]':'hide'}}},{key:"initialize",value:function(t){var e=this.model,n=t.config||{},r=n.stylePrefix||'';this.config=n,this.pfx=r,this.ppfx=n.pStylePrefix||'',this.listenTo(e,'change:open',this.updateOpen),this.listenTo(e,'change:title',this.updateTitle),this.listenTo(e,'change:content',this.updateContent)}},{key:"onClick",value:function(t){this.config.backdrop&&t.target===this.el&&this.hide()}},{key:"getCollector",value:function(){return this.$collector||(this.$collector=this.$el.find('.'+this.pfx+'collector')),this.$collector}},{key:"getContent",value:function(){var t=this.pfx;return this.$content||(this.$content=this.$el.find(".".concat(t,"content #").concat(t,"c"))),this.$content}},{key:"getTitle",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.$title||(this.$title=this.$el.find('.'+this.pfx+'title')),t.$?this.$title:this.$title.get(0)}},{key:"updateContent",value:function(){var t=this.getContent(),e=t.children(),n=this.getCollector(),r=this.model.get('content');e.length&&n.append(e),t.empty().append(r)}},{key:"updateTitle",value:function(){var t=this.getTitle({$:!0});t&&t.empty().append(this.model.get('title'))}},{key:"updateOpen",value:function(){this.el.style.display=this.model.get('open')?'':'none'}},{key:"hide",value:function(){this.model.close()}},{key:"show",value:function(){this.model.open()}},{key:"updateAttr",value:function(t){var e=this.pfx,n=this.$el,r=this.el,i=[].slice.call(r.attributes).map((function(t){return t.name}));n.removeAttr(i.join(' ')),n.attr(v(v({},t||{}),{},{class:"".concat(e,"container ").concat(t&&t.class||'').trim()}))}},{key:"render",value:function(){var t=this.$el,e=this.model.toJSON();return e.pfx=this.pfx,e.ppfx=this.ppfx,t.html(this.template(e)),this.updateAttr(),this.updateOpen(),this}}]),n}(f.View);function b(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function w(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{},a=(n=w(w({},s),o)).em;this.em=a;var l=n.pStylePrefix;return l&&(n.stylePrefix=l+n.stylePrefix),(t=new p(n)).on('change:open',(function(t,e){return r(e,a)})),t.on('change',(0,i.debounce)((function(){var t=e._evData(),n=e.getConfig().custom;(0,i.isFunction)(n)&&n(t),a.trigger('modal',t)}))),this},_evData:function(){var e=this,n=this.getTitle(),r=this.getContent(),s=t.attributes;return{open:s.open,attributes:s.attributes,title:(0,i.isString)(n)?(0,o.rw)(n):n,content:(0,i.isString)(r)?(0,o.rw)(r):r.get?r.get(0):r,close:function(){return e.close()}}},postRender:function(t){var e=t.model.getConfig().el||t.el,n=this.render();n&&n.appendTo(e)},open:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=n.attributes||{};return n.title&&this.setTitle(n.title),n.content&&this.setContent(n.content),t.set('attributes',r),t.open(),e&&e.updateAttr(r),this},close:function(){return t.close(),this},onceClose:function(t){return this.em.once('modal:close',t),this},onceOpen:function(t){return this.em.once('modal:open',t),this},isOpen:function(){return!!t.get('open')},setTitle:function(e){return t.set('title',e),this},getTitle:function(){return t.get('title')},setContent:function(e){return t.set('content',' '),t.set('content',e),this},getContent:function(){return t.get('content')},getContentEl:function(){return e.getContent().get(0)},getModel:function(){return t},render:function(){if(!this.getConfig().custom){var r=y.extend(n.extend),i=e&&e.el;return(e=new r({el:i,model:t,config:n})).render().$el}},destroy:function(){e&&e.remove(),[n,t,e].forEach((function(t){return{}})),this.em={}}}}},77:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>b});var r=n(4942);const i={stylePrefix:'',appendTo:'',sortable:1,hidable:1,hideTextnode:1,root:'',showWrapper:1,showHover:1,scrollCanvas:{behavior:'smooth',block:'nearest'},scrollLayers:{behavior:'auto',block:'nearest'},highlightHover:1,onInit:function(){},onRender:function(){},extend:{}};var o,s=n(9050),a=n(6183),l=n(2316),c=n.n(l),u=n(2169),h=n(9138),f='contentEditable',d={mediaText:''},p=c().$,g=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return 0===(t.display||'').trim().indexOf('none')};const v=c().View.extend({events:{'mousedown [data-toggle-move]':'startSort','touchstart [data-toggle-move]':'startSort','click [data-toggle-visible]':'toggleVisibility','click [data-toggle-open]':'toggleOpening','click [data-toggle-select]':'handleSelect','mouseover [data-toggle-select]':'handleHover','mouseout [data-toggle-select]':'handleHoverOut','dblclick [data-name]':'handleEdit','keydown [data-name]':'handleEditKey','focusout [data-name]':'handleEditEnd'},template:function(t){var e=this.pfx,n=this.ppfx,r=this.config,i=this.clsNoEdit,o=r.hidable,s=this.countChildren(t),a=s?'':this.clsNoChild,l="".concat(this.clsTitle," ").concat(a),c="".concat(this.clsTitleC," ").concat(n,"one-bg"),u="".concat(this.clsCaret," fa fa-chevron-right"),h="".concat(this.inputNameCls," ").concat(i," ").concat(n,"no-app"),f=this.level+1,d="".concat(30+10*f,"px"),p=t.getName(),g=t.getIcon(),v="".concat(e,"layer");return"\n ".concat(o?""):'',"\n
\n
\n
\n \n ").concat(g?"").concat(g,""):'',"\n ").concat(p,"\n
\n
\n
\n
").concat(s||'',"
\n
\n \n
\n
")},initialize:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,s.bindAll)(this,'__render'),this.opt=e,this.level=e.level;var n=e.config||{},r=n.onInit;this.config=n,this.em=e.config.em,this.ppfx=this.em.get('Config').stylePrefix,this.sorter=e.sorter||'',this.pfx=this.config.stylePrefix,this.parentView=e.parentView;var i=this.pfx,o=this.ppfx,a=this.model,l=a.get('components'),c=a.get('type')||'default';a.set('open',!1),this.listenTo(l,'remove add reset',this.checkChildren),[['change:status',this.updateStatus],['change:open',this.updateOpening],['change:layerable',this.updateLayerable],['change:style:display',this.updateVisibility],['rerender:layer',this.render],['change:name change:custom-name',this.updateName]].forEach((function(e){return t.listenTo(a,e[0],e[1])})),this.className="".concat(i,"layer ").concat(i,"layer__t-").concat(c," no-select ").concat(o,"two-color"),this.inputNameCls="".concat(o,"layer-name"),this.clsTitleC="".concat(i,"layer-title-c"),this.clsTitle="".concat(i,"layer-title"),this.clsCaret="".concat(i,"layer-caret"),this.clsCount="".concat(i,"layer-count"),this.clsMove="".concat(i,"layer-move"),this.clsChildren="".concat(i,"layer-children"),this.clsNoChild="".concat(i,"layer-no-chld"),this.clsEdit="".concat(this.inputNameCls,"--edit"),this.clsNoEdit="".concat(this.inputNameCls,"--no-edit"),this.$el.data('model',a),this.$el.data('collection',l),a.viewLayer=this,r.bind(this)({component:a,render:this.__render,listenTo:this.listenTo})},updateName:function(){this.getInputName().innerText=this.model.getName()},getVisibilityEl:function(){return this.eyeEl||(this.eyeEl=this.$el.children(".".concat(this.pfx,"layer-vis"))),this.eyeEl},updateVisibility:function(){var t=this.pfx,e=this.model,n="".concat(t,"layer-hidden"),r=g(e.getStyle(d))?'addClass':'removeClass';this.$el[r](n),this.getVisibilityEl()[r]('fa-eye-slash')},toggleVisibility:function(t){t&&t.stopPropagation();var e=this.model,n=this.em,r='__prev-display',i=e.get(r),o=e.getStyle(d),s=o.display;g(o)?(delete o.display,i&&(o.display=i,e.unset(r))):(s&&e.set(r,s),o.display='none'),e.setStyle(o,d),n&&n.trigger('component:toggled')},handleEdit:function(t){t&&t.stopPropagation();var e=this.em,n=this.$el,r=this.clsNoEdit,i=this.clsEdit,o=this.getInputName();o[f]=!0,o.focus(),document.execCommand('selectAll',!1,null),e&&e.setEditing(1),n.find(".".concat(this.inputNameCls)).removeClass(r).addClass(i)},handleEditKey:function(t){t.stopPropagation(),((0,a.isEscKey)(t)||(0,a.isEnterKey)(t))&&this.handleEditEnd(t)},handleEditEnd:function(t){t&&t.stopPropagation();var e=this.em,n=this.$el,r=this.clsNoEdit,i=this.clsEdit,o=this.getInputName(),s=o.textContent;o.scrollLeft=0,o[f]=!1,this.setName(s,{component:this.model,propName:'custom-name'}),e&&e.setEditing(0),n.find(".".concat(this.inputNameCls)).addClass(r).removeClass(i)},setName:function(t,e){var n=e.propName;this.model.set(n,t)},getInputName:function(){return this.inputName||(this.inputName=this.el.querySelector(".".concat(this.inputNameCls))),this.inputName},updateOpening:function(){var t=this.opt.opened||{},e=this.model,n='fa-chevron-down';e.get('open')?(this.$el.addClass('open'),this.getCaret().addClass(n),t[e.cid]=e):(this.$el.removeClass('open'),this.getCaret().removeClass(n),delete t[e.cid])},toggleOpening:function(t){var e=this.model;t.stopImmediatePropagation(),e.get('components').length&&e.set('open',!e.get('open'))},handleSelect:function(t){t.stopPropagation();var e=this.em,n=this.config,r=this.model;if(e){e.setSelected(r,{fromLayers:1,event:t});var i=n.scrollCanvas;i&&r.views.forEach((function(t){return t.scrollIntoView(i)}))}},handleHover:function(t){t.stopPropagation();var e=this.em,n=this.config,r=this.model;e&&n.showHover&&e.setHovered(r,{fromLayers:1})},handleHoverOut:function(t){t.stopPropagation();var e=this.em,n=this.config;e&&n.showHover&&e.setHovered(0,{fromLayers:1})},startSort:function(t){t.stopPropagation();var e=this.em,n=this.sorter;t.button&&0!==t.button||n&&(n.onStart=function(t){return e.trigger("".concat(h.OA,":start"),t)},n.onMoveClb=function(t){return e.trigger(h.OA,t)},n.startSort(t.target))},freeze:function(){this.$el.addClass(this.pfx+'opac50'),this.model.set('open',0)},unfreeze:function(){this.$el.removeClass(this.pfx+'opac50')},updateStatus:function(t){u.Z.prototype.updateStatus.apply(this,[{avoidHover:!this.config.highlightHover,noExtHl:1}])},isVisible:function(){return!g(this.model.getStyle())},checkChildren:function(){var t=this.model,e=this.clsNoChild,n=this.countChildren(t),r=this.$el.children(".".concat(this.clsTitleC)).children(".".concat(this.clsTitle)),i=this.cnt;i||(i=this.$el.children('[data-count]').get(0),this.cnt=i),r[n?'removeClass':'addClass'](e),i&&(i.innerHTML=n||''),!n&&t.set('open',0)},countChildren:function(t){var e=0;return t.get('components').each((function(t){var n=this.opt.isCountable,r=this.config.hideTextnode;n&&!n(t,r)||e++}),this),e},getCaret:function(){if(!this.caret||!this.caret.length){this.pfx;this.caret=this.$el.children(".".concat(this.clsTitleC)).find(".".concat(this.clsCaret))}return this.caret},setRoot:function(t){t=(0,s.isString)(t)?this.em.getWrapper().find(t)[0]:t;var e=(0,a.getModel)(t,p);e&&(this.stopListening(),this.model=e,this.initialize(this.opt),this._rendered&&this.render())},updateLayerable:function(){(this.parentView||this).render()},__clearItems:function(){var t=this.items;t&&t.remove()},remove:function(){c().View.prototype.remove.apply(this,arguments),this.__clearItems()},render:function(){var t=this.model,e=this.config,r=this.pfx,i=this.ppfx,a=this.opt;this.__clearItems();var l=a.isCountable,c=l&&!l(t,e.hideTextnode),u=this.isVisible(),h=this.$el.empty(),f=this.level+1;this.inputName=0,(0,s.isUndefined)(o)&&(o=n(3557).Z),this.items=new o({ItemView:a.ItemView,collection:t.get('components'),config:this.config,sorter:this.sorter,opened:this.opt.opened,parentView:this,parent:t,level:f});var d=this.items.render().$el;return this.config.showWrapper||1!==f?(h.html(this.template(t)),h.find(".".concat(this.clsChildren)).append(d)):h.append(d),t.get('draggable')&&this.config.sortable||h.children(".".concat(this.clsMove)).remove(),!u&&(this.className+=" ".concat(r,"hide")),c&&(this.className+=" ".concat(i,"hidden")),h.attr('class',this.className),this.updateOpening(),this.updateStatus(),this.updateVisibility(),this.__render(),this._rendered=1,this},__render:function(){var t=this.model,e=this.config,n={component:t,el:this.el};e.onRender.bind(this)(n),this.em.trigger('layer:render',n)}});function m(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function y(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{};return(n=y(y({},i),e)).stylePrefix=e.pStylePrefix,t=n.em,this},getConfig:function(){return n},onLoad:function(){t&&t.on('component:selected',this.componentChanged),this.componentChanged()},postRender:function(){var t=n.appendTo,e=n.root;(e&&this.setRoot(e),t)&&((0,s.isElement)(t)?t:document.querySelector(t)).appendChild(this.render())},setRoot:function(t){return e&&e.setRoot(t),this},getRoot:function(){return e&&e.model},getAll:function(){return e},componentChanged:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!r.fromLayers){var i=t.get('opened'),o=t.getSelected(),s=n.scrollLayers,a=o&&o.collection?o.collection.parent:null;for(var l in i)i[l].set('open',0);for(;a;)a.set('open',1),i[a.cid]=a,a=a.collection?a.collection.parent:null;if(o&&s){var c=o.viewLayer&&o.viewLayer.el;c&&c.scrollIntoView(s)}}},render:function(){var r=v.extend(n.extend);return e&&e.remove(),(e=new r({ItemView:r,level:0,config:n,opened:n.opened||{},model:t.get('DomComponents').getWrapper()})).render().el},destroy:function(){e&&e.remove(),[t,e,n].forEach((function(t){return{}}))}}}},3557:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var r=n(2316),i=n(9138);const o=r.View.extend({initialize:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.items=[],this.opt=t;var e=t.config||{};this.level=t.level,this.config=e,this.preview=t.preview,this.ppfx=e.pStylePrefix||'',this.pfx=e.stylePrefix||'',this.parent=t.parent,this.parentView=t.parentView;var n=this.pfx,r=this.ppfx,o=this.parent,s=this.collection;this.listenTo(s,'add',this.addTo),this.listenTo(s,'reset resetNavigator',this.render),this.listenTo(s,'remove',this.removeChildren),this.className="".concat(n,"layers");var a=e.em;if(e.sortable&&!this.opt.sorter){var l=a.get('Utils');this.opt.sorter=new l.Sorter({container:e.sortContainer||this.el,containerSel:".".concat(this.className),itemSel:".".concat(n,"layer"),ignoreViewChildren:1,onEndMove:function(t,e,n){var r=e.getSourceModel();a.setSelected(r,{forceChange:1}),a.trigger("".concat(i.OA,":end"),n)},avoidSelectOnEnd:1,nested:1,ppfx:r,pfx:n})}this.sorter=this.opt.sorter||'',this.$el.data('collection',s),o&&this.$el.data('model',o)},removeChildren:function(t){var e=t.viewLayer;e&&(e.remove(),t.viewLayer=0)},addTo:function(t){var e=this.collection.indexOf(t);this.addToCollection(t,null,e)},addToCollection:function(t,e,n){var r=this.level,i=this.parentView,o=this.opt.ItemView,s=e||null,a=new o({ItemView:o,level:r,model:t,parentView:i,config:this.config,sorter:this.sorter,isCountable:this.isCountable,opened:this.opt.opened}),l=a.render().el;if(s)s.appendChild(l);else if(void 0!==n){var c='before';this.$el.children().length==n&&(n--,c='after'),n<0?this.$el.append(l):this.$el.children().eq(n)[c](l)}else this.$el.append(l);return this.items.push(a),l},remove:function(){r.View.prototype.remove.apply(this,arguments),this.items.map((function(t){return t.remove()}))},isCountable:function(t,e){var n=t.get('type'),r=t.get('tagName');return!(('textnode'==n||'br'==r)&&e||!t.get('layerable'))},render:function(){var t=this,e=document.createDocumentFragment(),n=this.el;return n.innerHTML='',this.collection.each((function(n){return t.addToCollection(n,e)})),n.appendChild(e),n.className=this.className,this}})},2567:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>A,evAll:()=>O,evPageAdd:()=>_,evPageAddBefore:()=>T,evPageRemove:()=>E,evPageRemoveBefore:()=>j,evPageSelect:()=>k,evPageSelectBefore:()=>S,evPageUpdate:()=>P,evPfx:()=>C});var r=n(2982),i=n(4942),o=n(9050),s=n(6183),a=n(2316),l=n(5671),c=n(3144),u=n(9340),h=n(3930),f=n(1120),d=n(9065);function p(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=(0,f.Z)(t);if(e){var i=(0,f.Z)(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return(0,h.Z)(this,n)}}var g=function(t){(0,u.Z)(n,t);var e=p(n);function n(){return(0,l.Z)(this,n),e.apply(this,arguments)}return(0,c.Z)(n,[{key:"defaults",value:function(){return{frames:[],_undo:!0}}},{key:"initialize",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.config,i=void 0===r?{}:r,o=i.em,s={};this.em=o,t.frames||(s.component=t.component,s.styles=t.styles,['component','styles'].map((function(t){return e.unset(t)})));var a=t.frames||[s],l=new d.Z(a,i);l.page=this,this.set('frames',l);var c=o&&o.get('UndoManager');c&&c.add(l)}},{key:"onRemove",value:function(){this.get('frames').reset()}},{key:"getFrames",value:function(){return this.get('frames')}},{key:"getId",value:function(){return this.id}},{key:"getName",value:function(){return this.get('name')}},{key:"setName",value:function(t){return this.get({name:t})}},{key:"getAllFrames",value:function(){return this.getFrames().models||[]}},{key:"getMainFrame",value:function(){return this.getFrames().at(0)}},{key:"getMainComponent",value:function(){var t=this.getMainFrame();return t&&t.getComponent()}},{key:"toJSON",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=a.Model.prototype.toJSON.call(this,t),n=(0,o.result)(this,'defaults');return(0,o.forEach)(e,(function(t,n){0===n.indexOf('_')&&delete e[n]})),(0,o.forEach)(n,(function(t,n){e[n]===t&&delete e[n]})),e}}]),n}(a.Model);function v(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function m(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:{};this.config=e,this.on('reset',this.onReset),this.on('remove',this.onRemove)}},{key:"onReset",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.previousModels||[];r.map((function(t){return e.onRemove(t)}))}},{key:"onRemove",value:function(t){t&&t.onRemove()}},{key:"add",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.config;return a.Collection.prototype.add.call(this,t,m(m({},e),{},{config:n}))}}]),n}(a.Collection);function w(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function x(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{};(0,o.bindAll)(this,'_onPageChange');var n=e.em,r=x({},e);this.config=r,this.em=n;var i=new b([],r);this.pages=i;var s=new a.Model({_undo:!0});return this.model=s,i.on('add',(function(t,e,r){return n.trigger(_,t,r)})),i.on('remove',(function(t,e,r){return n.trigger(E,t,r)})),i.on('change',(function(t,e){n.trigger(P,t,t.changedAttributes(),e)})),i.on('reset',(function(e){return e.at(0)&&t.select(e.at(0))})),i.on('all',this.__onChange,this),s.on(D,this._onPageChange),this},__onChange:function(t,e,n,r){var i=r||n;this.em.trigger(O,{event:t,page:e,options:i})},onLoad:function(){var t=this.pages,e={silent:!0};t.add(this.config.pages||[],e);var n=t.length?this.getMain():this.add({type:M},e);this.select(n,e)},_onPageChange:function(t,e,n){var r=this.em,i=r.get('LayerManager'),o=e.getMainComponent();i&&o&&i.setRoot(o),r.trigger(k,e,t.previous('selected')),this.__onChange(D,e,n)},postLoad:function(){var t=this.em,e=this.model,n=t.get('UndoManager');n&&n.add(e),n&&n.add(this.pages)},add:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=this.em;t.id=t.id||this._createId();var i=function(){var r=e.pages.add(t,n);return n.select&&e.select(r),r};return!n.silent&&r.trigger(T,t,i,n),!n.abort&&i()},remove:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=this.em,i=(0,o.isString)(t)?this.get(t):t,s=function(){return i&&e.pages.remove(i,n),i};return!n.silent&&r.trigger(j,i,s,n),!n.abort&&s()},get:function(t){return this.pages.filter((function(e){return e.get('id')===t}))[0]},getMain:function(){var t=this.pages;return t.filter((function(t){return t.get('type')===M}))[0]||t.at(0)},getAll:function(){return(0,r.Z)(this.pages.models)},getAllWrappers:function(){var t=this.getAll();return(0,o.unique)((0,o.flatten)(t.map((function(t){return t.getAllFrames().map((function(t){return t.getComponent()}))}))))},getAllMap:function(){return this.getAll().reduce((function(t,e){return t[e.get('id')]=e,t}),{})},select:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=(0,o.isString)(t)?this.get(t):t;return n&&(this.em.trigger(S,n,e),this.model.set('selected',n,e)),this},getSelected:function(){return this.model.get('selected')},destroy:function(){var t=this;this.pages.off().reset(),this.model.stopListening(),this.model.clear({silent:!0}),['selected','config','em','pages','model'].map((function(e){return t[e]=0}))},store:function(t){if(!this.em.get('hasPages'))return{};var e={},n=this.config;return e[this.storageKey]=JSON.stringify(this.getAll()),!t&&n.stm&&n.stm.store(e),e},load:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.storageKey,n=t[e]||[];if('string'==typeof n)try{n=JSON.parse(t[e])}catch(t){}return n&&n.length&&this.pages.reset(n),n},_createId:function(){var t,e=this.getAll().length+16,n=this.getAllMap();do{t=(0,s.createId)(e)}while(n[t]);return t}}}},4906:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>P});var r='sw-visibility',i='export-template',o='open-sm',s='open-tm',a='open-layers',l='open-blocks',c='fullscreen',u='preview';const h={stylePrefix:'pn-',defaults:[{id:'commands',buttons:[{}]},{id:'options',buttons:[{active:!0,id:r,className:'fa fa-square-o',command:r,context:r,attributes:{title:'View components'}},{id:u,className:'fa fa-eye',command:u,context:u,attributes:{title:'Preview'}},{id:c,className:'fa fa-arrows-alt',command:c,context:c,attributes:{title:'Fullscreen'}},{id:i,className:'fa fa-code',command:i,attributes:{title:'View code'}}]},{id:'views',buttons:[{id:o,className:'fa fa-paint-brush',command:o,active:!0,togglable:0,attributes:{title:'Open Style Manager'}},{id:s,className:'fa fa-cog',command:s,togglable:0,attributes:{title:'Settings'}},{id:a,className:'fa fa-bars',command:a,togglable:0,attributes:{title:'Open Layer Manager'}},{id:l,className:'fa fa-th-large',command:l,togglable:0,attributes:{title:'Open Blocks'}}]}],em:null,delayBtnsShow:300};var f=n(2316),d=n.n(f),p=n(2516);const g=d().Model.extend({defaults:{id:'',content:'',visible:!0,buttons:[],attributes:{}},initialize:function(t){this.btn=this.get('buttons')||[],this.buttons=new p.Z(this.btn),this.set('buttons',this.buttons)}}),v=d().Collection.extend({model:g});var m=n(4942),y=n(9050);function b(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function w(t){for(var e=1;e2&&void 0!==arguments[2]?arguments[2]:{},r=this.model,i=this.commands,o=this.$el,s=this.activeCls,a=n.fromCollection,l=n.fromListen,c=r.get('context'),u=r.get('options'),h=r.get('command'),f={};h&&(i&&(0,y.isString)(h)?f=i.get(h)||{}:(0,y.isFunction)(h)?f=i.create({run:h}):null!==h&&(0,y.isObject)(h)&&(f=i.create(h)),r.get('active')?(!a&&r.collection.deactivateAll(c,r),r.set('active',!0,{silent:!0}).trigger('checkActive'),!l&&i.runCommand(f,w(w({},u),{},{sender:r})),f.noStop&&r.set('active',!1)):(o.removeClass(s),!l&&i.stopCommand(f,w(w({},u),{},{sender:r,force:1}))))},updateDisable:function(){var t=this.disableCls,e=this.model.get('disable');this.$el[e?'addClass':'removeClass'](t)},checkActive:function(){var t=this.model,e=this.$el,n=this.activeCls;t.get('active')?e.addClass(n):e.removeClass(n)},clicked:function(t){var e=this.model;e.get('bntsVis')||e.get('disable')||!e.get('command')||this.toggleActive()},toggleActive:function(){var t=this.model,e=this.em,n=t.attributes,r=n.active,i=n.togglable;r&&!i||(t.set('active',!r),r?t.get('runDefaultCommand')&&e.runDefault():t.get('stopDefaultCommand')&&e.stopDefault())},render:function(){var t=this.model,e=t.get('label'),n=this.$el;return!t.get('el')&&n.empty(),this.updateAttributes(),e&&n.append(e),this.checkActive(),this.updateDisable(),this}}),O=d().View.extend({initialize:function(t){this.opt=t||{},this.config=this.opt.config||{},this.pfx=this.config.stylePrefix||'',this.parentM=this.opt.parentM||null,this.listenTo(this.collection,'add',this.addTo),this.listenTo(this.collection,'reset remove',this.render),this.className=this.pfx+'buttons'},addTo:function(t){this.addToCollection(t)},addToCollection:function(t,e){var n=e||null,r=new x({el:t.get('el'),model:t,config:this.config,parentM:this.parentM}).render().el;return n?n.appendChild(r):this.$el.append(r),r},render:function(){var t=document.createDocumentFragment();return this.$el.empty(),this.collection.each((function(e){this.addToCollection(e,t)}),this),this.$el.append(t),this.$el.attr('class',(0,y.result)(this,'className')),this}});function C(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}const k=d().View.extend({initialize:function(t){var e=t.config||{},n=this.model;this.config=e,this.pfx=e.stylePrefix||'',this.ppfx=e.pStylePrefix||'',this.buttons=n.get('buttons'),this.className=this.pfx+'panel',this.id=this.pfx+n.get('id'),this.listenTo(n,'change:appendContent',this.appendContent),this.listenTo(n,'change:content',this.updateContent),this.listenTo(n,'change:visible',this.toggleVisible),n.view=this},appendContent:function(){this.$el.append(this.model.get('appendContent'))},updateContent:function(){this.$el.html(this.model.get('content'))},toggleVisible:function(){this.model.get('visible')?this.$el.removeClass("".concat(this.ppfx,"hidden")):this.$el.addClass("".concat(this.ppfx,"hidden"))},attributes:function(){return this.model.get('attributes')},initResize:function(){var t=this.config.em,e=t?t.get('Editor'):'',n=this.model.get('resizable');if(e&&n){var r,i,o,s=!0===n?[1,1,1,1]:n,a=s.length,l=0;2==a?(r=s[0],o=s[0],i=s[1],l=s[1]):4==a&&(r=s[0],i=s[1],o=s[2],l=s[3]);var c=e.Utils.Resizer.init(function(t){for(var e=1;e{"use strict";n.d(e,{Z:()=>s});var r=n(2316),i=n.n(r);const o=i().Model.extend({defaults:{id:'',label:'',tagName:'span',className:'',command:'',context:'',buttons:[],attributes:{},options:{},active:!1,dragDrop:!1,togglable:!0,runDefaultCommand:!0,stopDefaultCommand:!1,disable:!1},initialize:function(t){if(this.get('buttons').length){var e=n(2516).Z;this.set('buttons',new e(this.get('buttons')))}}}),s=i().Collection.extend({model:o,deactivateAllExceptOne:function(t,e){this.forEach((function(n,r){n!==t&&(n.set('active',!1),e&&n.get('buttons').length&&n.get('buttons').deactivateAllExceptOne(t,e))}))},deactivateAll:function(t,e){var n=t||'';this.forEach((function(t){t.get('context')==n&&t!==e&&t.set('active',!1,{fromCollection:1})}))},disableAllButtons:function(t){var e=t||'';this.forEach((function(t,n){t.get('context')==e&&t.set('disable',!0)}))},disableAllButtonsExceptOne:function(t,e){this.forEach((function(n,r){n!==t&&(n.set('disable',!0),e&&n.get('buttons').length&&n.get('buttons').disableAllButtonsExceptOne(t,e))}))}})},4424:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>w});var r=n(4942);const i={textTags:['br','b','i','u','a','ul','ol'],parserCss:null,parserHtml:null,optionsHtml:{htmlType:null,allowScripts:!1,allowUnsafeAttr:!1}};var o=n(9050),s={4:'media',5:'font-face',6:'page',7:'keyframes',11:'counter-style',12:'supports',13:'document',14:'font-feature-values',15:'viewport'},a=(0,o.keys)(s),l=['5','6','11','15'],c=['font-face','page','counter-style','viewport'],u=function(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:'',e=[],n=[],r=t.split(','),i=0,o=r.length;i1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r={},i=t.length,o=t[i-1],s=o?o.split(/:(.+)/):[],a=s[1],l=n.atRule,u=n.selectorsAdd,h=n.mediaText,f=c.indexOf(l)>=0;return f&&(r.singleAtRule=1),l&&(r.atRuleType=l),u&&(r.selectorsAdd=u),h&&(r.mediaText=h),a&&(t[i-1]=s[0],r.state=a,s.splice(s.length-1,1)),r.selectors=t,r.style=e,r},p=function t(e){for(var n=[],r=e.cssRules||[],i=0,o=r.length;i=0;if(b)g=1,v=s[p],m=f(c);else if(a.indexOf(p)>=0){var w=t(c);m=f(c);for(var x=0,O=w.length;x0&&void 0!==arguments[0]?arguments[0]:{};return{parse:function(e){var n=this,r=[],i=t.parserCss,o=t.em,s=o&&o.get&&o.get('Editor');return(i?i(e,s):g(e)).forEach((function(t){return r=r.concat(n.checkNode(t))})),o&&o.trigger('parse:css',{input:e,output:r}),r},checkNode:function(t){var e=t,n=e.selectors,r=e.style;if((0,o.isString)(n)){var i=[],s=u(n),a=s.result,l=s.add.join(', '),c={atRule:t.atRule,mediaText:t.params};if(a.length?a.forEach((function(t){i.push(d(t,r,c))})):i.push(d([],r,c)),l)i[i.length-1].selectorsAdd=l;t=i}return t}}};var m=n(5311);function y(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function b(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{};return(n=b(b({},i),r)).Parser=this,t=new m.Z(n),e=new v(n),this.em=n.em,this.parserCss=e,this.parserHtml=t,this},getConfig:function(){return n},parseHtml:function(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=this.em,o=this.compTypes;return t.compTypes=i?i.get('DomComponents').getTypes():o,t.parse(n,e,r)},parseCss:function(t){return e.parse(t)},destroy:function(){var r=this;[n,t,e].forEach((function(t){return{}})),['em','parserCss','parserHtml'].forEach((function(t){return r[t]={}}))}}}},5311:(t,e,n)=>{"use strict";n.d(e,{Z:()=>h});var r=n(4942),i=n(1002),o=n(9050),s='text/html',a=s;const l=function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=new DOMParser,i=n.htmlType||a,l=i===s,c=l?t:"
".concat(t,"
"),u=r.parseFromString(c,i);if(l){var h=u.head,f=u.body,d=h.querySelectorAll('script');(0,o.each)(d,(function(t){return f.appendChild(t)}));var p=[];(0,o.each)(h.children,(function(t){return p.push(t)})),(0,o.each)(p,(function(t,e){return f.insertBefore(t,f.children[e])})),e=f}else e=u.firstChild;return e};function c(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function u(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{},r={},i={};return(0,o.each)(e,(function(e,s){if(0===s.indexOf(t.modelAttrStart)){var a=s.replace(n,''),l=e.length,c=e&&(0,o.isString)(e),u=c&&e.substr(0,1),h=c&&e.substr(l-1);e='false'!==(e='true'===e||e)&&e;try{e='{'==u&&'}'==h||'['==u&&']'==h?JSON.parse(e):e}catch(t){}r[a]=e}else i[s]=e})),{props:r,attrs:i}},parseStyle:function(t){for(var e={},n=t.split(';'),r=0,i=n.length;r1&&void 0!==arguments[1]?arguments[1]:{},s=[],a=r.childNodes,l=0,c=a.length;l'!=="".concat(h.outerHTML).slice(-2)||(m.void=!0);var A=m.components;if(!m.type&&A){for(var L=1,R=0,N=0;N2&&void 0!==arguments[2]?arguments[2]:{},c=e.em,h=c&&c.get('Config')||{},f={html:null,css:null},d=u(u({},t),a),p=u(u({},t.optionsHtml),{},{htmlType:(null===(s=t.optionsHtml)||void 0===s?void 0:s.htmlType)||t.htmlType},a),g=(0,o.isFunction)(d.parserHtml)?d.parserHtml(n,p):l(n,p),v=g.querySelectorAll('script'),m=v.length,y=(0,o.isUndefined)(h.allowScripts)?p.allowScripts:h.allowScripts;if(!y)for(;m--;)v[m].parentNode.removeChild(v[m]);if(p.allowUnsafeAttr||this.__clearUnsafeAttr(g),i){for(var b=g.querySelectorAll('style'),w=b.length,x='';w--;)x=b[w].innerHTML+x,b[w].parentNode.removeChild(b[w]);x&&(f.css=i.parse(x))}c&&c.trigger("".concat(r,":root"),{input:n,root:g});var O=this.parseNode(g,d),C=1!==O.length||e.returnArray?O:O[0];return f.html=C,c&&c.trigger(r,{input:n,output:f}),f},__clearUnsafeAttr:function(t){var e=this,n=t.attributes||[],r=t.childNodes||[],i=[];(0,o.each)(n,(function(t){var e=t.nodeName||'';0===e.indexOf('on')&&i.push(e)})),i.map((function(e){return t.removeAttribute(e)})),(0,o.each)(r,(function(t){return e.__clearUnsafeAttr(t)}))}}}},2012:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>S});var r=n(5861),i=n(2982),o=n(4942),s=n(7757),a=n.n(s),l=n(5671),c=n(3144),u=n(9050),h=n(6183);function f(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function d(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:'A',n=t.selection(),r=n.anchorNode,i=n.focusNode,o=null==r?void 0:r.parentNode,s=null==i?void 0:i.parentNode;return(null==o?void 0:o.nodeName)==e||(null==s?void 0:s.nodeName)==e},y='data-selectme',b={bold:{name:'bold',icon:'B',attributes:{title:'Bold'},result:function(t){return t.exec('bold')}},italic:{name:'italic',icon:'I',attributes:{title:'Italic'},result:function(t){return t.exec('italic')}},underline:{name:'underline',icon:'U',attributes:{title:'Underline'},result:function(t){return t.exec('underline')}},strikethrough:{name:'strikethrough',icon:'S',attributes:{title:'Strike-through'},result:function(t){return t.exec('strikeThrough')}},link:{icon:"\n \n ",name:'link',attributes:{style:'font-size:1.4rem;padding:0 4px 2px;',title:'Link'},state:function(t){return t&&t.selection()&&m(t)?p:g},result:function(t){m(t)?t.exec('unlink'):t.insertHTML("").concat(t.selection(),""),{select:!0})}},wrap:{icon:"\n \n ",attributes:{title:'Wrap for style'},state:function(t){return null!=t&&t.selection()&&m(t,'SPAN')?v:g},result:function(t){!m(t,'SPAN')&&t.insertHTML("").concat(t.selection(),""),{select:!0})}}},w=function(){function t(){var e=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,l.Z)(this,t);var r=n.el,i=n.em;if(this.em=i,r._rte)return r._rte;r._rte=this,this.setEl(r),this.updateActiveActions=this.updateActiveActions.bind(this),this.__onKeydown=this.__onKeydown.bind(this),this.__onPaste=this.__onPaste.bind(this);var o=(n.actions||[]).map((function(t){var e=t;return'string'==typeof t?e=d({},b[t]):b[t.name]&&(e=d(d({},b[t.name]),t)),e})),s=o.length?o:Object.keys(b).map((function(t){return b[t]}));n.classes=d(d({},{actionbar:'actionbar',button:'action',active:'active',disabled:'disabled',inactive:'inactive'}),n.classes);var a=n.classes,c=n.actionbar;if(this.actionbar=c,this.settings=n,this.classes=a,this.actions=s,!c){var u=n.actionbarContainer;(c=document.createElement('div')).className=a.actionbar,u.appendChild(c),this.actionbar=c,s.forEach((function(t){return e.addAction(t)}))}return n.styleWithCSS&&this.exec('styleWithCSS'),this}return(0,c.Z)(t,[{key:"destroy",value:function(){this.el=0,this.doc=0,this.actionbar=0,this.settings={},this.classes={},this.actions=[]}},{key:"setEl",value:function(t){this.el=t,this.doc=t.ownerDocument}},{key:"updateActiveActions",value:function(){var t=this;this.getActions().forEach((function(e){var n=e.btn,r=e.update,i=d({},t.classes),o=i.active,s=i.inactive,a=i.disabled,l=e.state,c=e.name,u=t.doc;if(n.className=n.className.replace(o,'').trim(),n.className=n.className.replace(s,'').trim(),n.className=n.className.replace(a,'').trim(),l)switch(l(t,u)){case p:n.className+=" ".concat(o);break;case g:n.className+=" ".concat(s);break;case v:n.className+=" ".concat(a)}else u.queryCommandSupported(c)&&u.queryCommandState(c)&&(n.className+=" ".concat(o));r&&r(t,e)}))}},{key:"enable",value:function(t){return this.enabled?this:this.__toggleEffects(!0,t)}},{key:"disable",value:function(){return this.__toggleEffects(!1)}},{key:"__toggleEffects",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t?h.on:h.off,r=this.el,i=this.doc;if(this.actionbarEl().style.display=t?'':'none',r.contentEditable=!!t,n(r,'mouseup keyup',this.updateActiveActions),n(i,'keydown',this.__onKeydown),n(i,'paste',this.__onPaste),this.enabled=t,t){var o=e.event;if(this.syncActions(),this.updateActiveActions(),o){var s=null;if(i.caretRangeFromPoint){var a=(0,h.getPointerEvent)(o);s=i.caretRangeFromPoint(a.clientX,a.clientY)}else o.rangeParent&&(s=i.createRange()).setStart(o.rangeParent,o.rangeOffset);var l=i.getSelection();l.removeAllRanges(),s&&l.addRange(s)}r.focus()}return this}},{key:"__onKeydown",value:function(t){'Enter'===t.key&&(this.doc.execCommand('insertLineBreak'),t.preventDefault())}},{key:"__onPaste",value:function(t){var e=t.clipboardData||window.clipboardData,n=e.getData('text'),r=e.getData('text/html');if(n&&!r){t.preventDefault();var i=n.replace(/(?:\r\n|\r|\n)/g,'
');this.doc.execCommand('insertHTML',!1,i)}}},{key:"syncActions",value:function(){var t=this;this.getActions().forEach((function(e){if(t.actionbar&&(!e.state||e.state&&e.state(t,t.doc)>=0)){var n=e.event||'click';e.btn["on".concat(n)]=function(n){e.result(t,e),t.updateActiveActions()}}}))}},{key:"addAction",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.sync,r=document.createElement('span'),i=t.icon,o=t.attributes||{};for(var s in r.className=this.classes.button,t.btn=r,o)r.setAttribute(s,o[s]);'string'==typeof i?r.innerHTML=i:r.appendChild(i),this.actionbarEl().appendChild(r),n&&(this.actions.push(t),this.syncActions())}},{key:"getActions",value:function(){return this.actions}},{key:"selection",value:function(){return this.doc.getSelection()}},{key:"exec",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.doc.execCommand(t,!1,e)}},{key:"actionbarEl",value:function(){return this.actionbar}},{key:"insertHTML",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.select,r=this.em,i=this.doc,o=this.el,s=i.getSelection();if(s&&s.rangeCount){var a=(0,h.getModel)(o),l=i.createElement('div'),c=s.getRangeAt(0);c.deleteContents(),(0,u.isString)(t)?l.innerHTML=t:t&&l.appendChild(t),Array.prototype.slice.call(l.childNodes).forEach((function(t){c.insertNode(t)})),s.removeAllRanges(),s.addRange(c),o.focus(),n&&a&&(a.once('rte:disable',(function(){var t=a.find("[".concat(y,"]"))[0];t&&(r.setSelected(t),t.removeAttributes(y))})),a.trigger('disable'))}}}]),t}();const x={stylePrefix:'rte-',adjustToolbar:1,actions:['bold','italic','underline','strikethrough','link','wrap']};function O(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function C(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{},n=C(C({},x),e),r=n.pStylePrefix;return r&&(n.stylePrefix=r+n.stylePrefix),this.config=n,this.pfx=n.stylePrefix,this.em=n.em,this.actions=n.actions||[],(0,h.hasWin)()?((t=document.createElement('div')).className="".concat(r,"rte-toolbar ").concat(r,"one-bg"),this.initRte(document.createElement('div')),(0,h.on)(t,'mousedown',(function(t){return t.stopPropagation()})),this):this},destroy:function(){var e,n,r,i=this;null===(e=this.globalRte)||void 0===e||e.destroy(),null===(n=this.customRte)||void 0===n||null===(r=n.destroy)||void 0===r||r.call(n),t=0,['actionbar','actions','em','config','globalRte','lastEl'].map((function(t){delete i[t]}))},postRender:function(n){var r=n.model.get('Canvas');t.style.pointerEvents='all',e(),r.getToolsEl().appendChild(t)},initRte:function(e){var n=this.globalRte,r=this.em,o=this.pfx,s=this.actionbar,a=this.config,l=t,c=this.actions||(0,i.Z)(a.actions),u={actionbar:"".concat(o,"actionbar"),button:"".concat(o,"action"),active:"".concat(o,"active"),inactive:"".concat(o,"inactive"),disabled:"".concat(o,"disabled")};return n?(n.em=r,n.setEl(e)):(n=new w({em:r,el:e,classes:u,actions:c,actionbar:s,actionbarContainer:l}),this.globalRte=n),n.actionbar&&(this.actionbar=n.actionbar),n.actions&&(this.actions=n.actions),n},add:function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};n.name=t,null===(e=this.globalRte)||void 0===e||e.addAction(n,{sync:1})},get:function(t){var e,n;return null===(e=this.globalRte)||void 0===e||e.getActions().forEach((function(e){e.name==t&&(n=e)})),n},getAll:function(){var t;return null===(t=this.globalRte)||void 0===t?void 0:t.getActions()},remove:function(t){var e=this.getAll(),n=this.get(t);if(n){var r=n.btn,i=e.indexOf(n);r.parentNode.removeChild(r),e.splice(i,1)}return n},getToolbarEl:function(){return t},updatePosition:function(){var e=this.em.get('Canvas'),n=t.style,r=e.getTargetToElementFixed(this.lastEl,t,{event:'rteToolbarPosUpdate',left:0});n.top=(r.top||0)+"px",n.left=(r.left||0)+"px"},enable:function(e,n,i){var o=this;return(0,r.Z)(a().mark((function r(){var s,l,c,u;return a().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return o.lastEl=e.el,s=o.customRte,l=o.em,c=e.getChildrenContainer(),t.style.display='',r.next=6,s?s.enable(c,n):o.initRte(c).enable(i);case 6:return u=r.sent,l&&(setTimeout(o.updatePosition.bind(o),0),l.off(k,o.updatePosition,o),l.on(k,o.updatePosition,o),l.trigger('rte:enable',e,u)),r.abrupt("return",u);case 9:case"end":return r.stop()}}),r)})))()},disable:function(t,n){var r=this.em,i=this.customRte,o=t.getChildrenContainer();i?i.disable(o,n):n&&n.disable(),e(),r&&(r.off(k,this.updatePosition,this),r.trigger('rte:disable',t,n))}}}},4755:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>H,evAdd:()=>R,evAll:()=>A,evCustom:()=>F,evPfx:()=>L,evRemove:()=>Z,evRemoveBefore:()=>I,evState:()=>V,evUpdate:()=>N});var r=n(2982),i=n(4942),o=n(9050),s=n(6183),a=n(2316),l=n.n(a),c=n(9304);const u={stylePrefix:'clm-',appendTo:'',selectors:[],states:[{name:'hover'},{name:'active'},{name:'nth-of-type(2n)'}],escapeName:0,selectedName:0,iconAdd:'',iconSync:'',iconTagOn:'',iconTagOff:'',iconTagRemove:'',render:0,componentFirst:0,custom:!1};var h=n(8490),f=n(4293),d=n(5671),p=n(3144),g=n(9340),v=n(3930),m=n(1120);function y(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=(0,m.Z)(t);if(e){var i=(0,m.Z)(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return(0,v.Z)(this,n)}}var b=function(t){(0,g.Z)(n,t);var e=y(n);function n(){return(0,d.Z)(this,n),e.apply(this,arguments)}return(0,p.Z)(n,[{key:"defaults",value:function(){return{name:'',label:''}}},{key:"getName",value:function(){return this.get('name')}},{key:"getLabel",value:function(){return this.get('label')||this.getName()}}]),n}(a.Model);b.prototype.idAttribute='name';var w=n(168),x='contentEditable';const O=l().View.extend({template:function(){var t=this.pfx,e=this.model,n=this.config,r=e.get('label')||'';return"\n \n ").concat(r,"\n \n ").concat(n.iconTagRemove,"\n \n ")},events:{'click [data-tag-remove]':'removeTag','click [data-tag-status]':'changeStatus','dblclick [data-tag-name]':'startEditTag','focusout [data-tag-name]':'endEditTag'},initialize:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.config||{};this.config=e,this.module=t.module,this.coll=t.coll||null,this.pfx=e.stylePrefix||'',this.ppfx=e.pStylePrefix||'',this.em=e.em,this.listenTo(this.model,'change:active',this.updateStatus)},getInputEl:function(){return this.inputEl||(this.inputEl=this.el.querySelector('[data-tag-name]')),this.inputEl},startEditTag:function(){var t=this.em,e=this.getInputEl();e[x]=!0,e.focus(),t&&t.setEditing(1)},endEditTag:function(){var t=this.model,e=this.getInputEl(),n=e.textContent,r=this.em,i=r&&r.get('SelectorManager');if(e[x]=!1,r&&r.setEditing(0),i){var o=i.escapeName(n);i.get(o)?e.innerText=t.get('label'):t.set({name:o,label:n})}},changeStatus:function(){var t=this.model;t.set('active',!t.get('active'))},removeTag:function(){this.module.removeSelected(this.model)},updateStatus:function(){var t=this.model,e=this.$el,n=this.config,r=n.iconTagOn,i=n.iconTagOff,o=e.find('[data-tag-status]');t.get('active')?(o.html(r),e.removeClass('opac50')):(o.html(i),e.addClass('opac50'))},render:function(){var t=this.pfx,e=this.ppfx;return this.$el.html(this.template()),this.$el.attr('class',"".concat(t,"tag ").concat(e,"three-bg")),this.updateStatus(),this}});var C,k,S,P,_=n(1629);const T=l().View.extend({template:function(t){var e=t.labelInfo,n=t.labelHead,r=t.iconSync,i=t.iconAdd,o=t.pfx,s=t.ppfx;return"\n
\n
").concat(n,"
\n
\n \n
\n \n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n \n ").concat(i,"\n \n \n ").concat(r,"\n \n
\n
\n
").concat(e,":
\n
\n
")},events:{'change [data-states]':'stateChanged','click [data-add]':'startNewTag','focusout [data-input]':'endNewTag','keyup [data-input]':'onInputKeyUp','click [data-sync-style]':'syncStyle'},initialize:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.config=e.config||{},this.pfx=this.config.stylePrefix||'',this.ppfx=this.config.pStylePrefix||'',this.className=this.pfx+'tags',this.stateInputId=this.pfx+'states',this.stateInputC=this.pfx+'input-c',this.states=this.config.states||[];var n=this.config.em,r=this.collection;this.target=this.config.em;var i=e.module;this.module=i,this.em=n;var s='component:toggled component:update:classes',a='component:update:classes change:state';this.listenTo(n,s,this.componentChanged),this.listenTo(n,'styleManager:update',this.componentChanged),this.listenTo(n,a,this.__handleStateChange),this.listenTo(n,'styleable:change change:device',this.checkSync),this.listenTo(r,'add',this.addNew),this.listenTo(r,'reset',this.renderClasses),this.listenTo(r,'remove',this.tagRemoved),this.listenTo(i.getAll(),i.events.state,(0,o.debounce)((function(){return t.renderStates()}))),this.delegateEvents()},syncStyle:function(){var t,e=this.em,n=this.getTarget(),r=e.get('CssComposer'),i=this.getCommonSelectors({opts:{noDisabled:1}}),o=e.get('state'),s=e.getCurrentMedia(),a=[],l=r.get(i,o,s)||r.add(i,o,s);this.getTargets().forEach((function(e){var n=r.getIdRule(e.getId(),{state:o,mediaText:s});t=n.getStyle(),n.setStyle({}),a.push(n)})),t&&l.addStyle(t),e.trigger('component:toggled'),e.trigger('component:sync-style',{component:n,selectors:i,mediaText:s,rule:l,ruleComponents:a,state:o})},tagRemoved:function(t){this.updateStateVis()},addNew:function(t){this.addToClasses(t)},startNewTag:function(){this.$addBtn.css({display:'none'}),this.$input.show().focus()},endNewTag:function(){this.$addBtn.css({display:''}),this.$input.hide().val('')},onInputKeyUp:function(t){13===t.keyCode?(t.preventDefault(),this.addNewTag(this.$input.val())):27===t.keyCode&&this.endNewTag()},checkStates:function(){var t=this.em.getState(),e=this.getStates();e&&e.val(t)},componentChanged:(0,o.debounce)((function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.targets;this.updateSelection(e)})),updateSelection:function(t){var e=t||this.getTargets(),n=[];return(e=(0,o.isArray)(e)?e:[e])&&e.length&&(n=this.getCommonSelectors({targets:e}),this.checkSync({validSelectors:n})),this.collection.reset(n),this.updateStateVis(e),this.module.__trgCustom(),n},getCommonSelectors:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.targets,n=t.opts,r=void 0===n?{}:n,i=e||this.getTargets();return this.module.__getCommonSelectors(i,r)},_commonSelectors:function(){var t;return(t=this.module).__common.apply(t,arguments)},checkSync:(0,o.debounce)((function(){var t,e=this.$btnSyncEl,n=this.config,r=this.collection,i=this.getTarget();if(i&&n.componentFirst&&r.length){var s=i.getStyle();t=!(0,o.isEmpty)(s)}e&&e[t?'show':'hide']()})),getTarget:function(){return this.target.getSelected()},getTargets:function(){return this.target.getSelectedAll()},updateStateVis:function(t){var e=this.em,n=e&&e.getConfig('avoidInlineStyle'),r=this.collection.length||n?'':'none';this.getStatesC().css('display',r),this.updateSelector(t)},__handleStateChange:function(){this.updateSelector(this.getTargets())},updateSelector:function(t){var e=this,n=this.el.querySelector('[data-selected]'),r=[],i=t||this.getTargets();(i=(0,o.isArray)(i)?i:[i]).forEach((function(t){return r.push(e.__getName(t))})),n&&(n.innerHTML=r.join(', ')),this.checkStates()},__getName:function(t){var e,n=this.pfx,r=this.config,i=this.em,s=r.selectedName,a=r.componentFirst;if((0,o.isString)(t))e=(0,_.Z)(C||(C=(0,w.Z)(["",""])),n,t);else{var l=t&&t.get&&t.getSelectors();if(!l)return;var c=l.getStyleable(),u=i.get('state'),h=t.getId?(0,_.Z)(k||(k=(0,w.Z)(["","\n #",""])),n,t.getName(),n,t.getId()):'';e=(e=this.collection.getFullString(c))?(0,_.Z)(S||(S=(0,w.Z)(["",""])),n,e):t.get('selectorsAdd')||h,e=a&&h?h:e,e+=u?(0,_.Z)(P||(P=(0,w.Z)([":",""])),n,u):'',e=s?s({result:e,state:u,target:t}):e}return e&&"").concat(e,"")},stateChanged:function(t){var e=this.em,n=t.target.value;e.set('state',n)},addNewTag:function(t){var e=t.trim();e&&(this.module.addSelected({label:e}),this.endNewTag())},addToClasses:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=e,r=this.getClasses(),i=new O({model:t,config:this.config,coll:this.collection,module:this.module}).render().el;return n?n.appendChild(i):r.append(i),i},renderClasses:function(){var t=this,e=document.createDocumentFragment(),n=this.getClasses();n.empty(),this.collection.each((function(n){return t.addToClasses(n,e)})),n.append(e)},getClasses:function(){return this.$el.find('[data-selectors]')},getStates:function(){if(!this.$states){var t=this.$el.find('[data-states]');this.$states=t[0]&&t}return this.$states},getStatesC:function(){return this.$statesC||(this.$statesC=this.$el.find('#'+this.stateInputC)),this.$statesC},renderStates:function(){var t=this.module,e=this.em,n=e.t('selectorManager.emptyState'),r=t.getStates().map((function(t){var n=e.t("selectorManager.states.".concat(t.id))||t.getLabel()||t.id;return"")})).join(''),i=this.getStates();i&&i.html("").concat(r)),this.checkStates()},render:function(){var t=this.em,e=this.pfx,n=this.ppfx,r=this.config,i=this.$el,o=this.el,s=r.render,a={iconSync:r.iconSync,iconAdd:r.iconAdd,labelHead:t.t('selectorManager.label'),labelInfo:t.t('selectorManager.selected'),ppfx:n,pfx:e,el:o};i.html(this.template(a));var l=s&&s(a);return l&&l!==o&&i.empty().append(l),this.$input=i.find('[data-input]'),this.$addBtn=i.find('[data-add]'),this.$classes=i.find('#'+e+'tags-c'),this.$btnSyncEl=i.find('[data-sync-style]'),this.$input.hide(),this.renderStates(),this.renderClasses(),i.attr('class',"".concat(this.className," ").concat(n,"one-bg ").concat(n,"two-color")),this}});function E(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function j(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{};this.__initConfig(u,e);var n=this.getConfig(),r=n.em,i=n.pStylePrefix;i&&(n.stylePrefix=i+n.stylePrefix),this.all=new f.Z(n.selectors),this.selected=new f.Z([],{em:r,config:n}),this.states=new a.Collection(n.states,{model:b}),this.model=new a.Model({cFirst:n.componentFirst,_undo:!0}),this.__initListen({collections:[this.states,this.selected],propagate:[{entity:this.states,event:this.events.state}]}),r.on('change:state',(function(t,e){return r.trigger(V,e)})),this.model.on('change:cFirst',(function(t,e){return r.trigger('selector:type',e)}));var o='component:toggled component:update:classes change:device styleManager:update selector:state selector:type';return this.model.listenTo(r,o,(function(){return t.__update()})),this},__update:(0,o.debounce)((function(){this.__trgCustom()})),__trgCustom:function(t){this.em.trigger(this.events.custom,this.__customData(t))},__customData:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.container;return{states:this.getStates(),selected:this.getSelected(),container:e}},postRender:function(){this.__appendTo(),this.__trgCustom()},select:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=Array.isArray(t)?t:[t],r=this.em.get('StyleManager').select(n,e),i=this.selectorTags,o=r.filter((function(t){return t})).map((function(t){return(0,s.isComponent)(t)||(0,s.isRule)(t)&&!t.get('selectorsAdd')?t:t.getSelectorsString()}));return i&&i.componentChanged({targets:o}),this},addSelector:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=j({},e);(0,o.isObject)(t)?r=t:r.name=t,D(r.name)?(r.name=r.name.substr(1),r.type=h.Z.TYPE_ID):M(r.name)&&(r.name=r.name.substr(1)),r.label&&!r.name&&(r.name=this.escapeName(r.label));var i=r.name,s=this.getConfig(),a=this.getAll(),l=i?this.get(i,r.type):a.where(r)[0];return l||a.add(r,j(j({},n),{},{config:s}))},getSelector:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:h.Z.TYPE_CLASS;return D(t)?(t=t.substr(1),e=h.Z.TYPE_ID):M(t)&&(t=t.substr(1)),this.getAll().where({name:t,type:e})[0]},add:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=(0,o.isString)(t)?{}:n;return(0,o.isArray)(t)?t.map((function(t){return e.addSelector(t,n,r)})):this.addSelector(t,n,r)},addClass:function(t){var e=this,n=[];return(0,o.isString)(t)&&(t=t.trim().split(' ')),t.forEach((function(t){return n.push(e.addSelector(t))})),n},get:function(t,e){var n=this;if((0,o.isArray)(t)){var r=[];return t.map((function(t){return n.getSelector(t)})).filter((function(t){return t})).forEach((function(t){return r.indexOf(t)<0&&r.push(t)})),r}return this.getSelector(t,e)||null},remove:function(t,e){return this.__remove(t,e)},setState:function(t){return this.em.setState(t),this},getState:function(){return this.em.getState()},getStates:function(){return(0,r.Z)(this.states.models)},setStates:function(t,e){return this.states.reset(t,e)},getSelected:function(){return this.__getCommon()},addSelected:function(t){var e=this.add(t);this.em.getSelectedAll().forEach((function(t){t.getSelectors().add(e)}))},removeSelected:function(t){this.em.getSelectedAll().forEach((function(e){!t.get('protected')&&e&&e.getSelectors().remove(t)}))},getSelectedTargets:function(){return this.em.get('StyleManager').getSelectedAll()},setComponentFirst:function(t){this.getConfig().componentFirst=t,this.model.set({cFirst:t})},getComponentFirst:function(){return this.getConfig().componentFirst},escapeName:function(t){var e=this.getConfig().escapeName;return e?e(t):h.Z.escapeName(t)},render:function(t){this.em;var e=this.selectorTags,n=this.getConfig(),r=e&&e.el;return this.selected.reset(t),this.selectorTags=new T({el:r,collection:this.selected,module:this,config:n}),this.selectorTags.render().el},destroy:function(){var t=this.selectorTags;this.model.stopListening(),this.__destroy(),t&&t.remove(),this.selectorTags={}},__getCommon:function(){return this.__getCommonSelectors(this.em.getSelectedAll())},__getCommonSelectors:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.map((function(t){return t.getSelectors&&t.getSelectors().getValid(e)})).filter(Boolean);return this.__common.apply(this,(0,r.Z)(n))},__common:function(){for(var t=this,e=arguments.length,n=new Array(e),r=0;r=0})):n.slice(1).reduce((function(e,n){return t.__common(e,n)}),n[0]):[]}})}},8490:(t,e,n)=>{"use strict";n.d(e,{Z:()=>h});var r=n(5671),i=n(3144),o=n(9340),s=n(3930),a=n(1120),l=n(2316),c=n(9050);function u(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=(0,a.Z)(t);if(e){var i=(0,a.Z)(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return(0,s.Z)(this,n)}}var h=function(t){(0,o.Z)(n,t);var e=u(n);function n(){return(0,r.Z)(this,n),e.apply(this,arguments)}return(0,i.Z)(n,[{key:"defaults",value:function(){return{name:'',label:'',type:1,active:!0,private:!1,protected:!1,_undo:!0}}},{key:"initialize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=e.config,i=void 0===r?{}:r,o=this.get('name'),s=this.get('label');o?s||this.set('label',o):this.set('name',s);var a=this.get('name'),l=i.escapeName,c=l?l(a):n.escapeName(a);this.set('name',c),this.em=i.em}},{key:"isId",value:function(){return 2===this.get('type')}},{key:"isClass",value:function(){return 1===this.get('type')}},{key:"getFullName",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.escape,n=this.get('name'),r='';switch(this.get('type')){case 1:r='.';break;case 2:r='#'}return r+(e?e(n):n)}},{key:"toString",value:function(){return this.getFullName()}},{key:"getLabel",value:function(){return this.get('label')}},{key:"setLabel",value:function(t){return this.set('label',t)}},{key:"getActive",value:function(){return this.get('active')}},{key:"setActive",value:function(t){return this.set('active',t)}},{key:"toJSON",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.em,n=l.Model.prototype.toJSON.call(this,[t]),r=(0,c.result)(this,'defaults');if(e&&e.getConfig('avoidDefaults')){(0,c.forEach)(r,(function(t,e){n[e]===t&&delete n[e]})),n.label===n.name&&delete n.label;var i=(0,c.keys)(n).length;1===i&&n.name&&(n=n.name),2===i&&n.name&&n.type&&(n=this.getFullName())}return n}}]),n}(l.Model);h.prototype.idAttribute='name',h.TYPE_CLASS=1,h.TYPE_ID=2,h.escapeName=function(t){return"".concat(t).trim().replace(/([^a-z0-9\w-\:]+)/gi,'-')}},4293:(t,e,n)=>{"use strict";n.d(e,{Z:()=>d});var r=n(5671),i=n(3144),o=n(9340),s=n(3930),a=n(1120),l=n(9050),c=n(2316),u=n(8490);function h(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=(0,a.Z)(t);if(e){var i=(0,a.Z)(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return(0,s.Z)(this,n)}}var f=function t(e,n){return e.reduce((function(r,i,o){return r.concat(t(e.slice(o+1),"".concat(n).concat(i)))}),[n])},d=function(t){(0,o.Z)(n,t);var e=h(n);function n(){return(0,r.Z)(this,n),e.apply(this,arguments)}return(0,i.Z)(n,[{key:"modelId",value:function(t){return"".concat(t.name,"_").concat(t.type||u.Z.TYPE_CLASS)}},{key:"getStyleable",value:function(){return(0,l.filter)(this.models,(function(t){return t.get('active')&&!t.get('private')}))}},{key:"getValid",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.noDisabled;return(0,l.filter)(this.models,(function(t){return!t.get('private')})).filter((function(t){return e?t.get('active'):1}))}},{key:"getFullString",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=[],r=t||this;return r.forEach((function(t){return n.push(t.getFullName(e))})),n.join('').trim()}},{key:"getFullName",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.combination,n=t.array,r=[],i=this.map((function(e){return e.getFullName(t)})).sort();return e?i.forEach((function(t,e){r=r.concat(f(i.slice(e+1),t))})):r=i,n?r:e?r.join(','):r.join('')}}]),n}(c.Collection);d.prototype.model=u.Z},4859:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>w});var r=n(4942);const i={id:'gjs-',autosave:!0,autoload:!0,type:'local',stepsBeforeSave:1,storeComponents:!0,storeStyles:!0,storeHtml:!0,storeCss:!0,checkLocal:!0,params:{},headers:{},urlStore:'',urlLoad:'',beforeSend:function(t,e){},onComplete:function(t,e){},contentTypeJson:!0,credentials:'include',fetchOptions:''};var o=n(2316),s=n.n(o),a=n(6183);const l=o.Model.extend({defaults:{checkLocal:!0},store:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){};if(this.hasLocal())for(var n in t)localStorage.setItem(n,t[n]);e&&e()},load:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},n={};if(this.hasLocal())for(var r=0,i=t.length;r1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,a=this.get('contentTypeJson'),l=this.get('headers')||{},c=this.get('params'),h='X-Requested-With',d='Content-Type',p=i.body||{};for(var g in c)p[g]=c[g];if((0,u.isUndefined)(l[h])&&(l[h]='XMLHttpRequest'),(0,u.isUndefined)(l[d])&&a&&(l[d]='application/json; charset=utf-8'),a)n=JSON.stringify(p);else for(var v in n=new FormData,p)n.append(v,p[v]);'post'===(e={method:i.method||'post',credentials:this.get('credentials'),headers:l}).method&&(e.body=n);var m=this.get('fetchOptions')||{},y=(0,u.isFunction)(m)?m(e):e;this.onStart(),this.fetch(t,f(f({},e),y||{})).then((function(t){return 1==(t.status/200|0)?t.text():t.text().then((function(t){return Promise.reject(t)}))})).then((function(t){return r.onResponse(t,o)})).catch((function(t){return r.onError(t,s)}))}});function p(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function g(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{};return e=g(g({},i),n),t=e.em,e._disable&&(e.type=0),r.remote=new d(e),r.local=new l(e),e.currentStorage=e.type,this.loadDefaultProviders().setCurrent(e.type),this},getConfig:function(){return e},isAutosave:function(){return!!e.autosave},setAutosave:function(t){return e.autosave=!!t,this},getStepsBeforeSave:function(){return e.stepsBeforeSave},setStepsBeforeSave:function(t){return e.stepsBeforeSave=t,this},add:function(t,e){return n[t]=e,this},get:function(t){return n[t]||null},getStorages:function(){return n},getCurrent:function(){return e.currentStorage},setCurrent:function(t){return e.currentStorage=t,this},store:function(t,n){var r=this,i=this.get(this.getCurrent()),o={};for(var s in this.onStart('store',t),t)o[e.id+s]=t[s];return i?i.store(o,(function(t){r.onAfter('store',t),n&&n(t),r.onEnd('store',t)}),(function(t){r.onError('store',t)})):null},load:function(t,n){var r=this,i=this.get(this.getCurrent()),o=[],s={};'string'==typeof t&&(t=[t]),this.onStart('load',t);for(var a=0,l=t.length;a0&&void 0!==arguments[0]?arguments[0]:{},n={},r=new RegExp('^'+e.id);for(var i in t){var o=i.replace(r,'');n[o]=t[i]}return n},loadDefaultProviders:function(){for(var t in r)this.add(t,r[t]);return this},getCurrentStorage:function(){return this.get(this.getCurrent())},onStart:function(e,n){t&&(t.trigger(v),e&&t.trigger("".concat(v,":").concat(e),n))},onAfter:function(e,n){t&&(t.trigger(m),e&&t.trigger("".concat(m,":").concat(e),n))},onEnd:function(e,n){t&&(t.trigger(y),e&&t.trigger("".concat(y,":").concat(e),n))},onError:function(e,n){t&&(t.trigger(b,n),e&&t.trigger("".concat(b,":").concat(e),n),this.onEnd(e,n))},canAutoload:function(){return this.getCurrentStorage()&&this.getConfig().autoload},destroy:function(){[e,t,n,r].forEach((function(t){return{}}))}}}},2326:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>_e,evAll:()=>de,evCustom:()=>Se,evLayerSelect:()=>Ce,evPfx:()=>pe,evProp:()=>be,evPropAdd:()=>we,evPropRemove:()=>xe,evPropUp:()=>Oe,evSector:()=>ge,evSectorAdd:()=>ve,evSectorRemove:()=>me,evSectorUpdate:()=>ye,evTarget:()=>ke});var r=n(2982),i=n(4942),o=n(9050),s=n(6183),a=n(9304),l=n(2316),c=n.n(l);const u={sectors:[{name:'General',open:!1,properties:['display','float','position','top','right','left','bottom']},{name:'Flex',open:!1,properties:['flex-direction','flex-wrap','justify-content','align-items','align-content','order','flex-basis','flex-grow','flex-shrink','align-self']},{name:'Dimension',open:!1,properties:['width','height','max-width','min-height','margin','padding']},{name:'Typography',open:!1,properties:['font-family','font-size','font-weight','letter-spacing','color','line-height','text-align','text-shadow']},{name:'Decorations',open:!1,properties:['background-color','border-radius','border','box-shadow','background']},{name:'Extra',open:!1,properties:['opacity','transition']}],appendTo:'',stylePrefix:'sm-',custom:!1,hideNotStylable:!0,highlightChanged:!0,highlightComputed:!0,showComputed:!0,clearProperties:!0,avoidComputed:['width','height']};var h=n(4925),f=n(5671),d=n(3144),p=n(9340),g=n(3930),v=n(1120),m=n(793),y=["partial"];function b(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function w(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.em=e.em;var r=this.get('id')||'',i=this.get('name')||this.get('label')||'';!this.get('property')&&this.set('property',(i||r).replace(/ /g,'-'));var o=this.get('property');!this.get('id')&&this.set('id',o),!i&&this.set('name',(0,s.capitalize)(o).replace(/-/g,' ')),this.on('change',this.__upTargets),n.callInit(this,t,e)}},{key:"__getParentProp",value:function(){var t,e;return null===(t=this.collection)||void 0===t||null===(e=t.opts)||void 0===e?void 0:e.parentProp}},{key:"__upTargets",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=this.em,a=s.get('StyleManager'),l=this.getName(),c=n.__clear,u=c?'':this.__getFullValue(n),h=this.__getParentProp(),f=this.changedAttributes(),d=(0,o.keys)(f).reduce((function(t,n){return t[n]=e.previous(n),t}),{}),p=[].concat((0,r.Z)((0,o.keys)(this.__getClearProps())),['__p']),g=(0,o.keys)(f),v=!n.__up&&!h&&(c||p.some((function(t){return g.indexOf(t)>=0}))),m=this.get('onChange'),y={property:this,from:d,to:f,value:u,opts:n};a.__trgEv(a.events.propertyUpdate,y),m&&m(y),v&&this.__upTargetsStyle((0,i.Z)({},l,u),n)}},{key:"__upTargetsStyle",value:function(t,e){var n,r=null===(n=this.em)||void 0===n?void 0:n.get('StyleManager');null==r||r.addStyleTargets(w(w({},t),{},{__p:!!e.avoidStore}),e)}},{key:"_up",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e.noTarget&&(e.__up=!0);var n=e.partial,r=(0,h.Z)(e,y);return t.__p=!(!r.avoidStore&&!n),this.set(t,w(w({},r),{},{avoidStore:t.__p}))}},{key:"up",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.set(t,w(w({},e),{},{__up:!0}))}},{key:"init",value:function(){}},{key:"getId",value:function(){return this.get('id')}},{key:"getType",value:function(){return this.get('type')}},{key:"getName",value:function(){return this.get('property')}},{key:"getLabel",value:function(){var t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.locale,r=void 0===n||n,i=this.getId(),o=this.get('name')||this.get('label');return r&&(null===(t=this.em)||void 0===t?void 0:t.t("styleManager.properties.".concat(i)))||o}},{key:"getValue",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.noDefault,n=this.get('value');return this.hasValue()||e?n:this.getDefaultValue()}},{key:"hasValue",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.noParent,n=e&&this.getParentTarget(),r=this.get('value');return!(0,o.isUndefined)(r)&&''!==r&&!n}},{key:"hasValueParent",value:function(){return this.hasValue()&&!this.hasValue({noParent:!0})}},{key:"getStyle",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.getName(),n=t.camelCase?(0,s.camelCase)(e):e;return(0,i.Z)({},n,this.__getFullValue(t))}},{key:"getDefaultValue",value:function(){var t=this.get('default');return"".concat((0,o.isUndefined)(t)?this.get('defaults'):t)}},{key:"upValue",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=null===t||''===t?this.__getClearProps():this.__parseValue(t,e);return this._up(n,e)}},{key:"isVisible",value:function(){return!!this.get('visible')}},{key:"clear",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._up(this.__getClearProps(),w(w({},t),{},{__clear:!0}))}},{key:"canClear",value:function(){var t=this.getParent();return t?t.__canClearProp(this):this.hasValue({noParent:!0})}},{key:"getParent",value:function(){return this.__getParentProp()||null}},{key:"isFull",value:function(){return!!this.get('full')}},{key:"__parseValue",value:function(t,e){return this.parseValue(t,e)}},{key:"__getClearProps",value:function(){return{value:''}}},{key:"setValue",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=this.parseValue(t),i=!e;!i&&this.set({value:void 0},{avoidStore:i,silent:!0}),this.set(r,w({avoidStore:i},n))}},{key:"setValueFromInput",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.setValue(t,e,w(w({},n),{},{fromInput:1}))}},{key:"parseValue",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={value:t},r='!important';if((0,o.isString)(t)&&-1!==t.indexOf(r)&&(n.value=t.replace(r,'').trim(),n.important=1),!this.get('functionName')&&!e.complete)return n;var i=[],s="".concat(n.value),a=s.indexOf('(')+1,l=s.lastIndexOf(')'),c=s.substring(0,a-1);if(c&&(n.functionName=c),i.push(a),l>=0&&i.push(l),n.value=String.prototype.substring.apply(s,i),e.numeric){var u=parseFloat(n.value);n.unit=n.value.replace(u,''),n.value=u}return n}},{key:"__getFullValue",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.withDefault;return!this.hasValue()&&e?this.getDefaultValue():this.getFullValue()}},{key:"getFullValue",value:function(t){var e=this.get('functionName'),n=this.getDefaultValue(),r=(0,o.isUndefined)(t)?this.get('value'):t,i=!(0,o.isUndefined)(r)&&''!==r;if(r&&n&&r===n)return n;if(e&&i){var s='url'===e?"'".concat(r.replace(/'/g,''),"'"):r;r="".concat(e,"(").concat(s,")")}return i&&this.get('important')&&(r="".concat(r," !important")),r||''}},{key:"__setParentTarget",value:function(t){this.__parentTarget=t}},{key:"getParentTarget",value:function(){return this.__parentTarget||null}},{key:"__parseFn",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:'',e=t.indexOf('(')+1,n=t.lastIndexOf(')');return{name:t.substring(0,e-1).trim(),value:String.prototype.substring.apply(t,[e,n>=0?n:void 0]).trim()}}},{key:"__checkVisibility",value:function(t){var e=t.target,n=t.component,r=t.sectors,i=n||e;if(!i)return!1;var a=this.getId(),l=this.getName(),c=this.get('toRequire'),u=this.get('requires'),h=this.get('requiresParent'),f=i.get('unstylable'),d=i.get('stylable-require'),p=i.get('stylable');if((0,o.isArray)(p)&&(p=p.indexOf(l)>=0),(0,o.isArray)(f)&&(p=f.indexOf(l)<0),c&&(p=!e||d&&(d.indexOf(a)>=0||d.indexOf(l)>=0)),r&&u){var g=(0,o.keys)(u);r.forEach((function(t){t.getProperties().forEach((function(t){if((0,o.includes)(g,t.id)){var e=u[t.id];p=p&&(0,o.includes)(e,t.get('value'))}}))}))}if(h){var v=n&&n.parent(),m=v&&v.getEl();if(m){var y=(0,s.hasWin)()?window.getComputedStyle(m):{};(0,o.each)(h,(function(t,e){p=p&&y[e]&&(0,o.includes)(t,y[e])}))}else p=!1}return!!p}}]),n}(l.Model);function C(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function k(t){for(var e=1;e3&&void 0!==arguments[3]?arguments[3]:{};t.prototype.initialize.apply(e,[n,w(w({},r),{},{skipInit:1})])},O.callInit=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!n.skipInit&&t.init(e,n)},O.getDefaults=function(){return(0,o.result)(this.prototype,'defaults')},O.prototype.defaults={name:'',property:'',type:'',defaults:'',info:'',value:'',icon:'',functionName:'',status:'',visible:!0,fixedValues:['initial','inherit'],onChange:null,full:0,important:0,toRequire:0,requires:null,requiresParent:null};var P=function(t){return'integer'===t||'number'===t},_=function(t){(0,p.Z)(n,t);var e=S(n);function n(){return(0,f.Z)(this,n),e.apply(this,arguments)}return(0,d.Z)(n,[{key:"defaults",value:function(){return k(k({},O.getDefaults()),{},{detached:!1,properties:[],separator:' ',join:null,fromStyle:null,toStyle:null,full:!0})}},{key:"initialize",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};O.callParentInit(O,this,t,e);var n=this.em,r=new Bt(this.get('properties')||[],{em:n,parentProp:this});this.set('properties',r,{silent:1}),this.listenTo(r,'change',this.__upProperties),O.callInit(this,t,e)}},{key:"getProperties",value:function(){return(0,r.Z)(this.get('properties').models)}},{key:"getProperty",value:function(t){return this.get('properties').filter((function(e){return e.getId()===t||e.getName()===t}))[0]||null}},{key:"getPropertyAt",value:function(t){return this.get('properties').at(t)}},{key:"isDetached",value:function(){return!!this.get('detached')}},{key:"getValues",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.byName;return this.getProperties().reduce((function(t,n){return t[e?n.getName():n.getId()]="".concat(n.__getFullValue()),t}),{})}},{key:"getSeparator",value:function(){return this.getSplitSeparator()}},{key:"getJoin",value:function(){return this.__getJoin()}},{key:"getStyleFromProps",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.getName(),n=this.__getJoin(),r=this.get('toStyle'),o=this.getValues(),s={};if(r)s=r(o,{join:n,name:e,property:this});else if(o=this.getValues({byName:!0}),this.isDetached())s=o;else{var a=this.getProperties().map((function(t){return t.__getFullValue({withDefault:1})})).filter(Boolean).join(n);s=(0,i.Z)({},e,a)}return this.isDetached()?s[e]='':(s[e]=s[e]||'',s=k(k({},s),this.getProperties().reduce((function(t,e){return t[e.getName()]='',t}),{}))),t.camelCase?Object.keys(s).reduce((function(t,e){return t[camelCase(e)]=s[e],t}),{}):s}},{key:"getSplitSeparator",value:function(){return new RegExp("".concat(this.get('separator'),"(?![^\\(]*\\))"))}},{key:"__upProperties",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e.__up&&!e.__clearIn){var n=this.__getParentProp();if(n)return n.__upProperties(this,e);this.__upTargetsStyleProps(e,t)}}},{key:"__upTargetsStyleProps",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0,n=this.getStyleFromProps();if(this.isDetached()&&e){var r=e.getName();n=(0,i.Z)({},r,n[r])}this.__upTargetsStyle(n,t)}},{key:"_up",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.__setProperties(this.__getSplitValue(t.value),e),O.prototype._up.call(this,t,e)}},{key:"getStyle",value:function(t){return this.getStyleFromProps(t)}},{key:"__getFullValue",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.isDetached()||t.__clear?'':this.getStyleFromProps()[this.getName()]||''}},{key:"__getJoin",value:function(){var t=this.get('join');return(0,o.isString)(t)?t:this.get('separator')}},{key:"__styleHasProps",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.getName(),n=this.getProperties(),i=n.map((function(t){return t.getName()})),s=[e].concat((0,r.Z)(i));return s.some((function(e){return!(0,o.isUndefined)(t[e])&&''!==t[e]}))}},{key:"__splitValue",value:function(t,e){return t.split(e).map((function(t){return t.trim()})).filter(Boolean)}},{key:"__splitStyleName",value:function(t,e,n){return this.__splitValue(t[e]||'',n)}},{key:"__getSplitValue",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:'',e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.byName,r=this.getProperties(),i=4===r.length&&r.every((function(t){return P(t.getType())})),s=this.__splitValue(t,this.getSplitSeparator()),a={};return r.forEach((function(t,e){var r=s[e],l=(0,o.isUndefined)(r)?'':r;if(i){var c=s.length;l=s[e]||s[e%c+(1!=c&&c%2?1:0)]||l}var u=n?t.getName():t.getId();a[u]=l||''})),a}},{key:"__getPropsFromStyle",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.__styleHasProps(t))return null;var n=e.byName,r=this.getName(),i=this.getProperties(),s=this.getSplitSeparator(),a=this.get('fromStyle'),l=a?a(t,{property:this,name:r,separator:s}):{};return a||(l=this.__getSplitValue(t[r]||'',{byName:n}),i.forEach((function(e){var r=t[e.getName()],i=n?e.getName():e.getId();(0,o.isUndefined)(r)||''===r||(l[i]=r)}))),l}},{key:"__setProperties",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.getProperties().forEach((function(n){var r=t[n.getId()];n.__getFullValue()!==r&&n.upValue(r,e)}));var n=(0,o.keys)(t).map((function(e){return t[e]})).join(' ');this.set('value',n,{silent:!0})}},{key:"clear",value:function(){var t=this;return this.getProperties().map((function(e){return e.clear({__clearIn:!t.isDetached()})})),O.prototype.clear.call(this)}},{key:"hasValue",value:function(t){return this.getProperties().some((function(e){return e.hasValue(t)}))}},{key:"getFullValue",value:function(){return this.__getFullValue()}},{key:"__canClearProp",value:function(t){return this.isDetached()&&t.hasValue({noParent:!0})}}]),n}(O);function T(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function E(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{},e=this.get('values');return t.camelCase?Object.keys(e).reduce((function(t,n){return t[(0,s.camelCase)(n)]=e[n],t}),{}):e}},{key:"getLabel",value:function(){var t;return null===(t=this.prop)||void 0===t?void 0:t.getLayerLabel(this)}},{key:"isSelected",value:function(){var t;return(null===(t=this.prop)||void 0===t?void 0:t.getSelectedLayer())===this}},{key:"select",value:function(){var t;return null===(t=this.prop)||void 0===t?void 0:t.selectLayer(this)}},{key:"remove",value:function(){var t;return null===(t=this.prop)||void 0===t?void 0:t.removeLayer(this)}},{key:"move",value:function(t){var e;return null===(e=this.prop)||void 0===e?void 0:e.moveLayer(this,t)}},{key:"getStylePreview",value:function(){var t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return null===(t=this.prop)||void 0===t?void 0:t.getStylePreview(this,e)}},{key:"hasPreview",value:function(){var t;return!(null===(t=this.prop)||void 0===t||!t.get('preview'))}},{key:"upValues",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.set('values',E(E({},this.getValues()),t))}}]),n}(l.Model);function M(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=(0,v.Z)(t);if(e){var i=(0,v.Z)(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return(0,g.Z)(this,n)}}var A=function(t){(0,p.Z)(n,t);var e=M(n);function n(){return(0,f.Z)(this,n),e.apply(this,arguments)}return(0,d.Z)(n,[{key:"initialize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prop=e.prop}}]),n}(l.Collection);A.prototype.model=D;var L=["__layers"];function R(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function N(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};_.callParentInit(_,this,t,e);var n=this.get('layers'),r=new A(n,{prop:this});r.property=this,r.properties=this.get('properties'),this.set('layers',r,{silent:!0}),this.on('change:selectedLayer',this.__upSelected),this.listenTo(r,'add remove',this.__upLayers),_.callInit(this,t,e)}},{key:"getLayers",value:function(){return this.__getLayers().models}},{key:"__getLayers",value:function(){return this.get('layers')}},{key:"getLayer",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return this.__getLayers().at(t)||null}},{key:"getSelectedLayer",value:function(){var t=this.get('selectedLayer');return t&&t.getIndex()>=0?t:null}},{key:"selectLayer",value:function(t){return this.set('selectedLayer',t,{__select:!0})}},{key:"selectLayerAt",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=this.getLayer(t);return e&&this.selectLayer(e)}},{key:"moveLayer",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=t?t.getIndex():-1;n>=0&&(0,o.isNumber)(e)&&e>=0&&e0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={};this.getProperties().forEach((function(e){var r=e.getId(),i=t[r];n[r]=(0,o.isUndefined)(i)?e.getDefaultValue():i}));var r=this.get('layers').push({values:n},e);return r}},{key:"removeLayer",value:function(t){return this.get('layers').remove(t)}},{key:"removeLayerAt",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=this.getLayer(t);return e?this.removeLayer(e):null}},{key:"getLayerLabel",value:function(t){var e='';if(t){var n=this.get('layerLabel'),r=t.getValues(),i=t.getIndex();if(n)e=n(t,{index:i,values:r,property:this});else{var o=[];this.getProperties().map((function(t){o.push(r[t.getId()])})),e=o.filter(Boolean).join(' ')}}return e}},{key:"getStyleFromLayer",value:function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=this.__getJoin(),a=this.__getJoinLayers(),l=this.get('toStyle'),c=this.getName(),u=t.getValues();if(l)e=l(u,{join:r,joinLayers:a,name:c,layer:t,property:this});else{var h=this.getProperties().map((function(t){var e=t.getName(),r=u[t.getId()],i=(0,o.isUndefined)(r)?t.getDefaultValue():r;if(n.number&&P(t.getType())){var s=t.parseValue(r,n.number);i="".concat(s.value).concat(s.unit)}return{name:e,value:i}}));e=this.isDetached()?h.reduce((function(t,e){return t[e.name]=e.value,t}),{}):(0,i.Z)({},this.getName(),h.map((function(t){return t.value})).join(r))}return n.camelCase?Object.keys(e).reduce((function(t,n){return t[(0,s.camelCase)(n)]=e[n],t}),{}):e}},{key:"getStylePreview",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={},r=this.get('preview');return r&&(n=this.getStyleFromLayer(t,e)),n}},{key:"getLayerSeparator",value:function(){var t=this.get('layerSeparator');return(0,o.isString)(t)?new RegExp("".concat(t,"(?![^\\(]*\\))")):t}},{key:"__upProperties",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.getSelectedLayer();n&&(n.upValues((0,i.Z)({},t.getId(),t.__getFullValue())),e.__up||this.__upTargetsStyleProps(e))}},{key:"__upLayers",value:function(t,e,n){this.__upTargetsStyleProps(n||e)}},{key:"__upTargets",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e.__select)return O.prototype.__upTargets.call(this,t,e)}},{key:"__upTargetsStyleProps",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.__upTargetsStyle(this.getStyleFromLayers(),t)}},{key:"__upTargetsStyle",value:function(t,e){return O.prototype.__upTargetsStyle.call(this,t,e)}},{key:"__upSelected",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.noEvent,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=this.em.get('StyleManager'),i=this.getSelectedLayer(),o=null==i?void 0:i.getValues();o&&this.getProperties().forEach((function(t){var e=o[t.getId()];t.__getFullValue()!==e&&t.upValue(e,N(N({},n),{},{__up:!0}))})),!e&&r.__trgEv(r.events.layerSelect,{property:this})}},{key:"_up",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.__layers,r=void 0===n?[]:n,i=(0,h.Z)(t,L);return!this.isDetached()&&this.__setLayers(r),this.__upSelected({noEvent:!0},e),O.prototype._up.call(this,i,e)}},{key:"__setLayers",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=this.__getLayers(),n=t.map((function(t){return{values:t}}));e.length===n.length?n.map((function(t,n){var r;return null===(r=e.at(n))||void 0===r?void 0:r.upValues(t.values)})):this.__getLayers().reset(n),this.__upSelected({noEvent:!0})}},{key:"__parseValue",value:function(t){var e=this,n=this.parseValue(t);return n.__layers=t.split(I).map((function(t){return t.trim()})).map((function(t){return e.__parseLayer(t)})).filter(Boolean),n}},{key:"__parseLayer",value:function(t){var e=this.get('parseLayer'),n=t.split(F),r=this.getProperties();return e?e({value:t,values:n}):r.reduce((function(t,e,r){var i=n[r];return t[e.getId()]=(0,o.isUndefined)(i)?e.getDefaultValue():i,t}),{})}},{key:"__getLayersFromStyle",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!this.__styleHasProps(e))return null;var n=this.getName(),r=this.getProperties(),s=this.getLayerSeparator(),a=this.get('fromStyle'),l=a?a(e,{property:this,name:n,separatorLayers:s}):[];if(!a){var c=this.__splitStyleName(e,n,s).map((function(e){return e.split(t.getSplitSeparator())})).map((function(t){var e={};return r.forEach((function(n,r){var i=t[r];e[n.getId()]=(0,o.isUndefined)(i)?n.getDefaultValue():i})),e}));r.forEach((function(n){var r=n.getId();t.__splitStyleName(e,n.getName(),s).map((function(t){return(0,i.Z)({},r,t||n.getDefaultValue())})).forEach((function(t,e){c[e]=c[e]?N(N({},c[e]),t):t}))})),l=c}return(0,o.isArray)(l)?l:[l]}},{key:"getStyle",value:function(t){return this.getStyleFromLayers(t)}},{key:"getStyleFromLayers",value:function(t){var e=this,n={},r=this.getName(),i=this.getLayers(),s=this.getProperties();if(i.map((function(n){return e.getStyleFromLayer(n,t)})).forEach((function(t){(0,o.keys)(t).map((function(e){n[e]||(n[e]=[]),n[e].push(t[e])}))})),(0,o.keys)(n).map((function(t){n[t]=n[t].join(e.__getJoinLayers())})),this.isDetached())n[r]='',!i.length&&s.map((function(t){n[t.getName()]=''}));else{var a=s.reduce((function(t,e){return t[e.getName()]='',t}),{});n[r]=n[r]||'',n=N(N({},n),a)}return n}},{key:"__getJoinLayers",value:function(){var t=this.get('layerJoin'),e=this.get('layerSeparator');return t||((0,o.isString)(e)?e:t)}},{key:"__getFullValue",value:function(){return this.get('detached')?'':this.getStyleFromLayers()[this.getName()]}},{key:"hasValue",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.noParent,n=e&&this.getParentTarget();return this.getLayers().length>0&&!n}},{key:"clear",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.__getLayers().reset(),this.__upTargetsStyleProps(t),O.prototype.clear.call(this)}},{key:"__canClearProp",value:function(){return!1}}]),n}(_),H=["complete","partial"];function B(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function z(t){for(var e=1;e
\n
\n ")}},{key:"templateLabel",value:function(t){var e=this.pfx,n=this.em,r=t.parent,i=t.attributes,o=i.icon,s=void 0===o?'':o,a=i.info,l=void 0===a?'':a,c=null==n?void 0:n.getConfig('icons'),u=(null==c?void 0:c.close)||'';return"\n \n ").concat(t.getLabel(),"\n \n ").concat(r?'':"
").concat(u,"
"),"\n ")}},{key:"templateInput",value:function(t){return"\n
\n \n
\n ")}},{key:"initialize",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,o.bindAll)(this,'__change','__updateStyle');var e=t.config||{},n=e.em;this.config=e,this.em=n,this.pfx=e.stylePrefix||'',this.ppfx=e.pStylePrefix||'',this.__destroyFn=this.destroy?this.destroy.bind(this):function(){};var r=this.model;r.view=this,this.onValueChange=(0,o.debounce)(this.onValueChange.bind(this),10),this.updateStatus=(0,o.debounce)(this.updateStatus.bind(this)),this.listenTo(r,'destroy remove',this.remove),this.listenTo(r,'change:visible',this.updateVisibility),this.listenTo(r,'change:name change:className change:full',this.render),this.listenTo(r,'change:value',this.onValueChange),this.listenTo(n,'change:device',this.onValueChange);var i=this.init&&this.init.bind(this);i&&i()}},{key:"remove",value:function(){var t=this;l.View.prototype.remove.apply(this,arguments),['em','input','$input','view'].forEach((function(e){return t[e]=null})),this.__destroyFn(this._getClbOpts())}},{key:"updateStatus",value:function(){var t,e=this.model,n=this.pfx,r=this.ppfx,i=this.config,o="".concat(r,"four-color"),s="".concat(r,"color-warn"),a=this.$el.children(".".concat(n,"label")),l=this.getClearEl(),c=l?l.style:{};a.removeClass("".concat(o," ").concat(s)),c.display='none',e.hasValue({noParent:!0})&&i.highlightChanged?(a.addClass(o),i.clearProperties&&(c.display='')):e.hasValue()&&i.highlightComputed&&a.addClass(s),null===(t=this.parent)||void 0===t||t.updateStatus()}},{key:"clear",value:function(t){t&&t.stopPropagation(),this.model.clear()}},{key:"getClearEl",value:function(){return this.clearEl||(this.clearEl=this.el.querySelector("[".concat(W,"]"))),this.clearEl}},{key:"inputValueChanged",value:function(t){t&&t.stopPropagation(),this.emit||this.model.upValue(t.target.value)}},{key:"onValueChange",value:function(t,e){this.setValue(this.model.getFullValue()),this.updateStatus()}},{key:"setValue",value:function(t){var e=this.model,n=(0,o.isUndefined)(t)||''===t?e.getDefaultValue():t;if(this.update)return this.__update(n);this.__setValueInput(n)}},{key:"__setValueInput",value:function(t){var e=this.getInputEl();e&&(e.value=t)}},{key:"getInputEl",value:function(){return this.input||(this.input=this.el.querySelector('input')),this.input}},{key:"updateVisibility",value:function(){this.el.style.display=this.model.isVisible()?'':'none'}},{key:"clearCached",value:function(){this.clearEl=null,this.input=null,this.$input=null}},{key:"__unset",value:function(){var t=this.unset&&this.unset.bind(this);t&&t(this._getClbOpts())}},{key:"__update",value:function(t){var e=this.update&&this.update.bind(this);e&&e(z(z({},this._getClbOpts()),{},{value:t}))}},{key:"__change",value:function(){for(var t=this.emit&&this.emit.bind(this),e=arguments.length,n=new Array(e),r=0;r1&&void 0!==arguments[1]?arguments[1]:{},n=e.complete,r=e.partial,i=((0,h.Z)(e,H),this.model),o=!1!==n&&!0!==r;(0,s.isObject)(t)?i.__upTargetsStyle(t,{avoidStore:!o}):i.upValue(t,{partial:!o})}},{key:"_getClbOpts",value:function(){var t=this.model;return{el:this.el,createdEl:this.createdEl,property:t,props:t.attributes,change:this.__change,updateStyle:this.__updateStyle}}},{key:"render",value:function(){this.clearCached();var t=this.pfx,e=this.model,n=this.el,r=this.$el,i=e.getName(),o=e.getType(),s=e.get('className')||'',a="".concat(t,"property"),l='number'===o?"".concat(t).concat(o," ").concat(t,"integer"):"".concat(t).concat(o);this.createdEl&&this.__destroyFn(this._getClbOpts()),r.empty().append(this.template(e)),r.find('[data-sm-label]').append(this.templateLabel(e));var c=this.create&&this.create.bind(this);this.createdEl=c&&c(this._getClbOpts()),r.find('[data-sm-fields]').append(this.createdEl||this.templateInput(e)),n.className="".concat(a," ").concat(l," ").concat(a,"__").concat(i," ").concat(s).trim(),n.className+=e.isFull()?" ".concat(a,"--full"):'';var u=this.onRender&&this.onRender.bind(this);u&&u(),this.setValue(e.getValue())}}]),n}(l.View);$.prototype.events=(0,i.Z)({change:'inputValueChanged'},"click [".concat(W,"]"),'clear');var q=n(9283);function G(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=(0,v.Z)(t);if(e){var i=(0,v.Z)(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return(0,g.Z)(this,n)}}var K=function(t){(0,p.Z)(n,t);var e=G(n);function n(){return(0,f.Z)(this,n),e.apply(this,arguments)}return(0,d.Z)(n,[{key:"initialize",value:function(t){this.config=t.config||{},this.pfx=this.config.stylePrefix||'',this.properties=[],this.parent=t.parent;var e=this.collection;this.listenTo(e,'add',this.addTo),this.listenTo(e,'reset',this.render)}},{key:"addTo",value:function(t,e,n){this.add(t,null,n)}},{key:"add",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=this.parent,i=this.config,o=e||this.el,s=new t.typeView({model:t,config:i});r&&(s.parent=r),s.render();var a=s.el;this.properties.push(s),(0,q.$Q)(o,a,n.at)}},{key:"remove",value:function(){l.View.prototype.remove.apply(this,arguments),this.clearItems()}},{key:"clearItems",value:function(){this.properties.forEach((function(t){return t.remove()})),this.properties=[]}},{key:"render",value:function(){var t=this,e=this.$el,n=this.pfx;this.clearItems();var r=document.createDocumentFragment();return this.collection.forEach((function(e){return t.add(e,r)})),e.empty(),e.append(r),e.attr('class',"".concat(n,"properties")),this}}]),n}(l.View);function Y(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function J(t){for(var e=1;e\n \n
\n ")}},{key:"remove",value:function(){var t;null===(t=this.props)||void 0===t||t.remove(),$.prototype.remove.apply(this,arguments)}},{key:"onValueChange",value:function(){}},{key:"onRender",value:function(){var t=this.model,e=this.pfx,n=t.get('properties');if(n.length&&!this.props){var r=t.isDetached(),i=new K({config:J(J({},this.config),{},{highlightComputed:r,highlightChanged:r}),collection:n,parent:this});i.render(),this.$el.find("#".concat(e,"input-holder")).append(i.el),this.props=i}}},{key:"clearCached",value:function(){$.prototype.clearCached.apply(this,arguments),this.props=null}}]),n}($);function tt(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=(0,v.Z)(t);if(e){var i=(0,v.Z)(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return(0,g.Z)(this,n)}}var et=function(t){(0,p.Z)(n,t);var e=tt(n);function n(){return(0,f.Z)(this,n),e.apply(this,arguments)}return(0,d.Z)(n,[{key:"events",value:function(){return{click:'select','click [data-close-layer]':'removeItem','mousedown [data-move-layer]':'initSorter','touchstart [data-move-layer]':'initSorter'}}},{key:"template",value:function(){var t=this.pfx,e=this.ppfx,n=this.em,r=null==n?void 0:n.getConfig('icons'),i=(null==r?void 0:r.close)||'',o=(null==r?void 0:r.move)||'';return"\n
\n
\n ").concat(o,"\n
\n
\n
\n
\n
\n
\n ").concat(i,"\n
\n
\n
\n ")}},{key:"initialize",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.model,n=t.config||{};this.em=n.em,this.config=n,this.sorter=t.sorter,this.pfx=n.stylePrefix||'',this.ppfx=n.pStylePrefix||'',this.propertyView=t.propertyView;var r=this.propertyView.model;this.listenTo(e,'destroy remove',this.remove),this.listenTo(e,'change:values',this.updateLabel),this.listenTo(r,'change:selectedLayer',this.updateVisibility),e.view=this,e.set({droppable:0,draggable:1}),this.$el.data('model',e)}},{key:"initSorter",value:function(){var t;null===(t=this.sorter)||void 0===t||t.startSort(this.el)}},{key:"removeItem",value:function(t){t&&t.stopPropagation(),this.model.remove()}},{key:"select",value:function(){this.model.select()}},{key:"getPropertiesWrapper",value:function(){return this.propsWrapEl||(this.propsWrapEl=this.el.querySelector('[data-properties]')),this.propsWrapEl}},{key:"getPreviewEl",value:function(){return this.previewEl||(this.previewEl=this.el.querySelector('[data-preview]')),this.previewEl}},{key:"getLabelEl",value:function(){return this.labelEl||(this.labelEl=this.el.querySelector('[data-label]')),this.labelEl}},{key:"updateLabel",value:function(){var t=this.model,e=t.getLabel();if(this.getLabelEl().innerHTML=e,t.hasPreview()){var n=this.getPreviewEl(),r=t.getStylePreview({number:{min:-3,max:3}}),i=(0,o.keys)(r).map((function(t){return"".concat(t,":").concat(r[t])})).join(';');n.setAttribute('style',i)}}},{key:"updateVisibility",value:function(){var t=this.pfx,e=this.model,n=this.propertyView,r=this.getPropertiesWrapper(),i=e.isSelected();r.style.display=i?'':'none',this.$el[i?'addClass':'removeClass']("".concat(t,"active")),i&&r.appendChild(n.props.el)}},{key:"render",value:function(){var t=this.el,e=this.pfx,n=this.model;return t.innerHTML=this.template(),t.className="".concat(e,"layer"),n.hasPreview()&&(t.querySelector("[data-preview-box]").style.display=''),this.updateLabel(),this.updateVisibility(),this}}]),n}(l.View);function nt(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=(0,v.Z)(t);if(e){var i=(0,v.Z)(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return(0,g.Z)(this,n)}}var rt=function(t){(0,p.Z)(n,t);var e=nt(n);function n(){return(0,f.Z)(this,n),e.apply(this,arguments)}return(0,d.Z)(n,[{key:"initialize",value:function(t){var e=this.collection,n=t.config||{},r=n.em,i=n.stylePrefix||'',o=n.pStylePrefix||'';this.config=n,this.pfx=i,this.ppfx=o,this.propertyView=t.propertyView,this.className="".concat(i,"layers ").concat(o,"field"),this.listenTo(e,'add',this.addTo),this.listenTo(e,'reset',this.reset),this.items=[];var s=r?r.get('Utils'):'';this.sorter=s?new s.Sorter({container:this.el,ignoreViewChildren:1,containerSel:".".concat(i,"layers"),itemSel:".".concat(i,"layer"),pfx:n.pStylePrefix}):'',e.view=this,this.$el.data('model',e),this.$el.data('collection',e)}},{key:"addTo",value:function(t){var e=this.collection.indexOf(t);this.addToCollection(t,null,e)}},{key:"addToCollection",value:function(t,e,n){var r=e||null,i=this.propertyView,o=this.config,s=this.sorter,a=this.$el,l=new et({model:t,config:o,sorter:s,propertyView:i}),c=l.render().el;if(this.items.push(l),r)r.appendChild(c);else if(void 0!==n){var u='before';a.children().length===n&&(n--,u='after'),n<0?a.append(c):a.children().eq(n)[u](c)}else a.append(c);return c}},{key:"reset",value:function(t,e){this.clearItems(e),this.render()}},{key:"remove",value:function(){this.clearItems(),l.View.prototype.remove.apply(this,arguments)}},{key:"clearItems",value:function(){this.items.forEach((function(t){return t.remove()})),this.items=[]}},{key:"render",value:function(){var t=this,e=this.$el,n=this.sorter,r=document.createDocumentFragment();return e.empty(),this.collection.forEach((function(e){return t.addToCollection(e,r)})),e.append(r),e.attr('class',this.className),n&&(n.plh=null),this}}]),n}(l.View);function it(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function ot(t){for(var e=1;e\n \n
\n \n ")}},{key:"init",value:function(){var t=this.model;this.listenTo(t.__getLayers(),'change reset',this.updateStatus)}},{key:"addLayer",value:function(){this.model.addLayer({},{at:0})}},{key:"setValue",value:function(){}},{key:"remove",value:function(){var t;null===(t=this.layersView)||void 0===t||t.remove(),Q.prototype.remove.apply(this,arguments)}},{key:"clearCached",value:function(){Q.prototype.clearCached.apply(this,arguments),this.layersView=null}},{key:"onRender",value:function(){var t=this.model,e=this.el,n=this.config,r=t.get('properties');if(r.length&&!this.props){var i=new K({config:ot(ot({},n),{},{highlightComputed:!1,highlightChanged:!1}),collection:r,parent:this});i.render();var o=new rt({collection:t.__getLayers(),config:n,propertyView:this});o.render(),e.querySelector('[data-layers-wrapper]').appendChild(o.el),this.props=i,this.layersView=o}}}]),n}(Q);function lt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function ct(t){for(var e=1;e\n
\n
\n \n
\n
\n
\n
\n
\n
").concat(i,"
\n
\n \n ")}},{key:"__setValueInput",value:function(t){var e=this.model,n=this.el,r=e.getDefaultValue(),i=n.querySelector('[data-preview-box]'),o=n.querySelector('[data-preview]');i.style.display=t&&t!==r?'':'none',o.style.backgroundImage=t||e.getDefaultValue()}},{key:"openAssetManager",value:function(){var t,e=this,n=null===(t=this.em)||void 0===t?void 0:t.get('AssetManager');null==n||n.open({select:function(t,r){var i=(0,o.isString)(t)?t:t.get('src');e.model.upValue(i,{partial:!r}),r&&n.close()},types:['image'],accept:'image/*'})}}]),n}($);function ft(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=(0,v.Z)(t);if(e){var i=(0,v.Z)(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return(0,g.Z)(this,n)}}var dt=function(t){(0,p.Z)(n,t);var e=ft(n);function n(){return(0,f.Z)(this,n),e.apply(this,arguments)}return(0,d.Z)(n,[{key:"templateInput",value:function(){return''}},{key:"init",value:function(){var t=this.model;this.listenTo(t,'change:unit',this.onValueChange),this.listenTo(t,'change:units',this.render)}},{key:"setValue",value:function(){}},{key:"onRender",value:function(){var t=this.ppfx,e=this.model,n=this.el;if(!this.inputInst){var r=e.input;r.ppfx=t,r.render(),n.querySelector(".".concat(t,"fields")).appendChild(r.el),this.input=r.inputEl.get(0),this.inputInst=r}}},{key:"clearCached",value:function(){$.prototype.clearCached.apply(this,arguments),this.inputInst=null}}]),n}($),pt=n(1511);function gt(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=(0,v.Z)(t);if(e){var i=(0,v.Z)(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return(0,g.Z)(this,n)}}var vt=function(t){(0,p.Z)(n,t);var e=gt(n);function n(){return(0,f.Z)(this,n),e.apply(this,arguments)}return(0,d.Z)(n,[{key:"setValue",value:function(t){var e;null===(e=this.inputInst)||void 0===e||e.setValue(t,{fromTarget:1,def:this.model.getDefaultValue()})}},{key:"remove",value:function(){var t=this;dt.prototype.remove.apply(this,arguments);var e=this.inputInst;e&&e.remove&&e.remove(),['inputInst','$color'].forEach((function(e){return t[e]=null}))}},{key:"__handleChange",value:function(t,e){this.model.upValue(t,{partial:e})}},{key:"onRender",value:function(){if(!this.inputInst){this.__handleChange=this.__handleChange.bind(this);var t=this.ppfx,e=this.model,n=this.em,r=this.el,i=new pt.Z({target:n,model:e,ppfx:t,onChange:this.__handleChange}).render();r.querySelector(".".concat(t,"fields")).appendChild(i.el),this.input=i.inputEl.get(0),this.inputInst=i}}}]),n}(dt);function mt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function yt(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:[];return this.set('options',t),this}},{key:"addOption",value:function(t){if(t){var e=this.getOptions();this.setOptions([].concat((0,r.Z)(e),[t]))}return this}},{key:"getOptionId",value:function(t){return(0,s.isDef)(t.id)?t.id:t.value}},{key:"getOptionLabel",value:function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.locale,i=void 0===r||r,s=((0,o.isString)(t)?this.getOption(t):t)||{},a=this.getOptionId(s),l=s.label||s.name||a,c=this.getId();return i&&(null===(e=this.em)||void 0===e?void 0:e.t("styleManager.options.".concat(c,".").concat(a)))||l}},{key:"initialize",value:function(){for(var t=arguments.length,e=new Array(t),n=0;n\n \n
\n
\n
\n \n ")}},{key:"initialize",value:function(){for(var t=arguments.length,e=new Array(t),n=0;n").concat(i,""))}));var i=this.el.querySelector("#".concat(e,"input-holder"));i.innerHTML=""),this.input=i.firstChild}}},{key:"__setValueInput",value:function(t){var e=this.model,n=this.getInputEl(),r=e.getOptions()[0],i=r?e.getOptionId(r):'';n&&(n.value=t||i)}}]),n}($);function Ct(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function kt(t){for(var e=1;e")}},{key:"onRender",value:function(){var t=this.pfx,e=this.ppfx,n=this.model,r="".concat(e,"radio-item-label"),i=n.getName(),o=n.getOptions(),s="".concat(t,"radio ").concat(t,"radio-").concat(i),a=n.cid;if(!this.input){var l=[];o.forEach((function(o){var c=o.className?"".concat(o.className," ").concat(t,"icon ").concat(r):'',u=n.getOptionId(o),h="".concat(i,"-").concat(u,"-").concat(a),f=c?'':n.getOptionLabel(u),d=o.title?"title=\"".concat(o.title,"\""):'',p=n.getValue()===u?'checked':'';l.push("\n
\n \n \n
\n "))}));var c=this.el.querySelector(".".concat(e,"field"));c.innerHTML="
").concat(l.join(''),"
"),this.input=c.firstChild}}},{key:"__setValueInput",value:function(t){var e,n=this.model,r=t||n.getDefaultValue(),i=null===(e=this.getInputEl())||void 0===e?void 0:e.querySelector("[value=\"".concat(r,"\"]"));i&&(i.checked=!0)}}]),n}(Ot),Et=n(7610);function jt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Dt(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};O.callParentInit(O,this,t,e);var n=this.get('unit'),r=this.get('units');this.input=(0,s.hasWin)()&&new Et.Z({model:this}),r.length&&!n&&this.set('unit',r[0],{silent:1}),O.callInit(this,t,e)}},{key:"__getClearProps",value:function(){return Dt(Dt({},O.prototype.__getClearProps()),{},{unit:''})}},{key:"parseValue",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=O.prototype.parseValue.apply(this,arguments),r=this.input.validateInputValue(n.value,Dt({deepCheck:1},e)),i=r.value,o=r.unit;return n.value=i,n.unit=o,n}},{key:"getFullValue",value:function(){var t=this.get('value'),e=this.get('unit');return t=(0,o.isUndefined)(t)?'':t,e=!(0,o.isUndefined)(e)&&t?e:'',t="".concat(t).concat(e),O.prototype.getFullValue.apply(this,[t])}}]),n}(O);function Lt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Rt(t){for(var e=1;e\n \n \n ")}},{key:"getSliderEl",value:function(){return this.slider||(this.slider=this.el.querySelector('input[type=range]')),this.slider}},{key:"inputValueChanged",value:function(){this.model.upValue(this.getSliderEl().value)}},{key:"inputValueChangedSoft",value:function(){this.model.upValue(this.getSliderEl().value,{partial:!0})}},{key:"setValue",value:function(t){var e=this.model,n=e.parseValue(t);this.getSliderEl().value=''===t?e.getDefaultValue():parseFloat(n.value),dt.prototype.setValue.apply(this,arguments)}},{key:"onRender",value:function(){dt.prototype.onRender.apply(this,arguments),this.model.get('showInput')||(this.inputInst.el.style.display='none')}},{key:"clearCached",value:function(){dt.prototype.clearCached.apply(this,arguments),this.slider=null}}]),n}(dt);const Bt=c().Collection.extend(m.Z).extend({extendViewApi:1,init:function(){var t=this.opts,e=this.em,n=t.module||(null==e?void 0:e.get('StyleManager'));n&&(n.__listenAdd(this,n.events.propertyAdd),n.__listenRemove(this,n.events.propertyRemove))},types:[{id:'stack',model:V,view:at,isType:function(t){if(t&&'stack'==t.type)return t}},{id:'composite',model:_,view:Q,isType:function(t){if(t&&'composite'==t.type)return t}},{id:'file',model:O,view:ht,isType:function(t){if(t&&'file'==t.type)return t}},{id:'color',model:O,view:vt,isType:function(t){if(t&&'color'==t.type)return t}},{id:'select',model:wt,view:Ot,isType:function(t){if(t&&'select'==t.type)return t}},{id:'radio',model:Pt,view:Tt,isType:function(t){if(t&&'radio'==t.type)return t}},{id:'slider',model:Zt,view:Ht,isType:function(t){if(t&&'slider'==t.type)return t}},{id:'integer',model:At,view:dt,isType:function(t){if(t&&'integer'==t.type)return t}},{id:'number',model:At,view:dt,isType:function(t){if(t&&'number'==t.type)return t}},{id:'base',model:O,view:$,isType:function(t){return t.type='base',t}}]});var zt=["extend"];function Ut(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Wt(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:{},r=n.em;this.em=r;var i=t||{},s=this.buildProperties(i.buildProps),a=this.get('name')||'',l=[];!this.get('id')&&this.set('id',a.replace(/ /g,'_').toLowerCase()),l=(l=s?this.extendProperties(s):this.get('properties').map((function(t){return(0,o.isString)(t)?e.buildProperties(t)[0]:t})).filter(Boolean)).map((function(t){return e.checkExtend(t)}));var c=new Bt(l,{em:r});c.sector=this,this.set('properties',c)}},{key:"getId",value:function(){return this.get('id')}},{key:"getName",value:function(){var t,e=this.getId();return(null===(t=this.em)||void 0===t?void 0:t.t("styleManager.sectors.".concat(e)))||this.get('name')}},{key:"setName",value:function(t){return this.set('name',t)}},{key:"isOpen",value:function(){return!!this.get('open')}},{key:"setOpen",value:function(t){return this.set('open',t)}},{key:"isVisible",value:function(){return!!this.get('visible')}},{key:"getProperties",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.get('properties'),n=e.models?(0,r.Z)(e.models):e;return n.filter((function(e){var n=!0;(t.withValue&&(n=e.hasValue({noParent:!0})),t.withParentValue)&&(n=!e.hasValue({noParent:!0})&&e.hasValue());return n}))}},{key:"getProperty",value:function(t){return this.getProperties().filter((function(e){return e.get('id')===t}))[0]||null}},{key:"addProperty",value:function(t,e){return this.get('properties').add(this.checkExtend(t),e)}},{key:"extendProperties",value:function(t,e,n){for(var r=t.length,i=e||this.get('properties'),s=this.get('extendBuilded'),a=[],l=0,c=i.length;l1&&void 0!==arguments[1]?arguments[1]:{},n=e.module,r=e.em;this.em=r,this.module=n,this.listenTo(this,'reset',this.onReset)}},{key:"model",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.collection.em;return new qt(t,Kt(Kt({},e),{},{em:n}))}},{key:"onReset",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.previousModels||[];n.forEach((function(t){return t.get('properties').reset()}))}}]),n}(l.Collection),Xt=n(885),Qt=["extend"];function te(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function ee(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.from||'',i=this.props[r||t]||{},s=ee(ee({},i),{},{property:t},e);return s.properties&&(0,o.isFunction)(s.properties)&&(s.properties=s.properties()),this.props[t]=s,s}},{key:"get",value:function(t){return this.props[t]||null}},{key:"build",value:function(t){var e=this,n=[];return((0,o.isString)(t)?[t]:t).forEach((function(t){n.push(e.get(t)||{property:t})})),n}}]),t}(),oe=n(168),se=n(1629);function ae(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=(0,v.Z)(t);if(e){var i=(0,v.Z)(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return(0,g.Z)(this,n)}}var le=function(t){(0,p.Z)(n,t);var e=ae(n);function n(){return(0,f.Z)(this,n),e.apply(this,arguments)}return(0,d.Z)(n,[{key:"template",value:function(t){var e,n=t.pfx,r=t.label,i=null===(e=this.em)||void 0===e?void 0:e.getConfig('icons'),o=(null==i?void 0:i.caret)||'',s="".concat(n,"sector-");return(0,se.Z)(ne||(ne=(0,oe.Z)(["\n
\n
$","
\n
","
\n
\n "])),s,s,o,s,r)}},{key:"events",value:function(){return{'click [data-sector-title]':'toggle'}}},{key:"initialize",value:function(t){var e=t.config||{},n=this.model,r=e.em;this.config=e,this.em=r,this.pfx=e.stylePrefix||'',this.listenTo(n,'destroy remove',this.remove),this.listenTo(n,'change:open',this.updateOpen),this.listenTo(n,'change:visible',this.updateVisibility)}},{key:"updateOpen",value:function(){var t=this.$el,e=this.model,n=this.pfx,r=e.isOpen();t[r?'addClass':'removeClass']("".concat(n,"open")),this.getPropertiesEl().style.display=r?'':'none'}},{key:"updateVisibility",value:function(){this.el.style.display=this.model.isVisible()?'':'none'}},{key:"getPropertiesEl",value:function(){var t=this.$el,e=this.pfx;return t.find(".".concat(e,"properties")).get(0)}},{key:"toggle",value:function(){var t=this.model;t.setOpen(!t.get('open'))}},{key:"renderProperties",value:function(){var t=this.model,e=this.config,n=t.get('properties');if(n){var r=new K({collection:n,config:e});this.$el.append(r.render().el)}}},{key:"render",value:function(){var t=this.pfx,e=this.model,n=this.$el,r=e.getId(),i=e.getName();return n.html(this.template({pfx:t,label:i})),this.renderProperties(),n.attr('class',"".concat(t,"sector ").concat(t,"sector__").concat(r," no-select")),this.updateOpen(),this}}]),n}(l.View);function ce(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=(0,v.Z)(t);if(e){var i=(0,v.Z)(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return(0,g.Z)(this,n)}}var ue=function(t){(0,p.Z)(n,t);var e=ce(n);function n(){return(0,f.Z)(this,n),e.apply(this,arguments)}return(0,d.Z)(n,[{key:"initialize",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.module,n=t.config,r=void 0===n?{}:n,i=this.collection;this.pfx=r.stylePrefix||'',this.ppfx=r.pStylePrefix||'',this.config=r,this.module=e,this.listenTo(i,'add',this.addTo),this.listenTo(i,'reset',this.render)}},{key:"remove",value:function(){var t=this;l.View.prototype.remove.apply(this,arguments),['config','module','em'].forEach((function(e){return t[e]={}}))}},{key:"addTo",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.addToCollection(t,null,n)}},{key:"addToCollection",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=this.config,i=this.el,o=e||i,s=new le({model:t,config:r}).render().el;return(0,q.$Q)(o,s,n.at),s}},{key:"render",value:function(){var t=this,e=this.$el,n=this.pfx,r=this.ppfx;e.empty();var i=document.createDocumentFragment();return this.collection.each((function(e){return t.addToCollection(e,i)})),e.append(i),e.addClass("".concat(n,"sectors ").concat(r,"one-bg ").concat(r,"two-color")),this}}]),n}(l.View);function he(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function fe(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{};(0,o.bindAll)(this,'__clearStateTarget'),this.__initConfig(u,r);var i=this.config,s=i.em,a=i.pStylePrefix;a&&(i.stylePrefix=a+i.stylePrefix),this.builtIn=new ie,t=new Bt([],{em:s,module:this}),e=new Jt([],fe(fe({},i),{},{module:this}));var c=new l.Model({targets:[]});this.model=c,this.__listenAdd(e,ve),this.__listenRemove(e,me),this.__listenUpdate(e,ye);var h='component:toggled component:update:classes change:state change:device frame:resized selector:type',f=(0,o.debounce)((function(){return n.__upSel()}));c.listenTo(s,h,f),c.listenTo(s,'component:toggled',this.__clearStateTarget);var d=(0,o.debounce)((function(){n.__upProps(),n.__trgCustom()}));c.listenTo(s,'styleable:change undo redo',d);var p=(0,o.debounce)((function(){return n.__trgCustom()}));return c.listenTo(s,"".concat(Ce," ").concat(ke),p),c.on('change:lastTarget',(function(){return s.trigger(ke,n.getSelected())})),this},__upSel:function(){this.select(this.em.getSelectedAll())},__trgCustom:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.__ctn=this.__ctn||t.container,this.em.trigger(this.events.custom,{container:this.__ctn})},__trgEv:function(t){for(var e,n=arguments.length,r=new Array(n>1?n-1:0),i=1;i2&&void 0!==arguments[2]?arguments[2]:{},i=this.getSector(t);return i||(n.id=t,i=e.add(n,r)),i},getSector:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=e.where({id:t})[0];return!r&&n.warn&&this._logNoSector(t),r||null},getSectors:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e&&e.models?t.array?(0,r.Z)(e.models):e:[];return t.visible?n.filter((function(t){return t.isVisible()})):n},removeSector:function(t){return this.getSectors().remove(this.getSector(t,{warn:1}))},addProperty:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=this.getSector(t,{warn:1}),i=null;return r&&(i=r.addProperty(e,n)),i},getProperty:function(t,e){var n,r=this.getSector(t,{warn:1});return r&&(n=r.get('properties').filter((function(t){return t.get('property')===e||t.get('id')===e}))[0]),n||null},getProperties:function(t){var e=null,n=this.getSector(t,{warn:1});return n&&(e=n.get('properties')),e},removeProperty:function(t,e){var n=this.getProperties(t);return n?n.remove(this.getProperty(t,e)):null},select:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=this.em,i=(0,o.isArray)(t)?t:[t],a=n.stylable,l=r.get('CssComposer'),c=[];i.filter(Boolean).forEach((function(t){var e=t;if((0,o.isString)(t)){var n=l.getRule(t)||l.setRule(t);!(0,o.isUndefined)(a)&&n.set({stylable:a}),e=n}c.push(e)}));var u=n.component||c.filter((function(t){return(0,s.isComponent)(t)})).reverse()[0];c=c.map((function(t){return e.getModelToStyle(t)}));var h=r.getState(),f=c.slice().reverse()[0],d=this.getParentRules(f,{state:h,component:u}),p=this.__getStateTarget();return r.skip((function(){var t;if(h&&null!=f&&null!==(t=f.getState)&&void 0!==t&&t.call(f)){var e=f.getStyle();p?p.setStyle(e):p=l.getAll().add({selectors:'gjs-selected',style:e,shallow:!0,important:!0})}else p&&(l.remove(p),p=null)})),this.model.set({targets:c,lastTarget:f,lastTargetParents:d,stateTarget:p,component:u}),this.__upProps(n),c},getSelected:function(){return this.model.get('lastTarget')||null},getSelectedAll:function(){return this.model.get('targets')},getSelectedParents:function(){return this.model.get('lastTargetParents')||[]},__getStateTarget:function(){return this.model.get('stateTarget')||null},addStyleTargets:function(t,e){this.getSelectedAll().map((function(n){return n.addStyle(t,e)}));var n=this.getSelected(),r=this.__getStateTarget();n&&(null==r||r.setStyle(n.getStyle(),e))},getBuiltIn:function(t){return this.builtIn.get(t)},getBuiltInAll:function(){return this.builtIn.props},addBuiltIn:function(t,e){return this.builtIn.add(t,e)},getModelToStyle:function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=this.em,i=n.skipAdd;if(r&&null!==(e=t)&&void 0!==e&&e.toHTML){var o,s=r.getConfig(),a=r.get('UndoManager'),l=r.get('CssComposer'),c=r.get('SelectorManager'),u=c?c.getConfig():{},h=s.devicePreviewMode?'':r.get('state'),f=t.get('classes'),d=f.getStyleable(),p=d.length,g=!u.componentFirst||n.useClasses,v={noCount:1},m={state:h,addOpts:v};if(a.stop(),p&&g){var y=r.getCurrentMedia();(o=l.get(d,h,y))||i||(o=l.add(d,h,y,{},v))}else if(s.avoidInlineStyle){var b=t.getId();!(o=l.getIdRule(b,m))&&!i&&(o=l.setIdRule(b,{},m)),t.is('wrapper')&&o.set('wrapper',1,v)}o&&(t=o),a.start()}return t},getParentRules:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.state,r=e.component,i=this.em,s=[];if(i&&t){var a=r,l=i.get('CssComposer'),c=i.get('CodeManager').getGenerator('css'),u=t.toHTML?t:t.getComponent(),h={combination:!0,array:!0},f=[],d=[],p=[];u?(f=l.getRules("#".concat(u.getId())),p=(d=a?l.getRules(a.getSelectors().getFullName(h)):[]).concat(f)):(f=a?l.getRules("#".concat(a.getId())):[],d=l.getRules(t.getSelectors().getFullName(h)),p=f.concat(d));var g=p.filter((function(t){return(0,o.isUndefined)(n)?1:t.get('state')===n})).sort(c.sortRules).reverse();s=g.slice(g.indexOf(t)+1)}return s},addType:function(e,n){t.addType(e,n)},getType:function(e){return t.getType(e)},getTypes:function(){return t.getTypes()},createType:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.model,r=void 0===n?{}:n,i=e.view,o=void 0===i?{}:i,s=this.config,a=this.getType(t);if(a)return new a.view(fe({model:new a.model(r),config:s},o))},render:function(){var t=this.config,r=this.em,i=n&&n.el;return(n=new ue({el:i,em:r,config:t,collection:e,module:this})).render().el},_logNoSector:function(t){var e=this.em;e&&e.logWarning("'".concat(t,"' sector not found"))},__upProps:function(t){var n=this,r=this.getSelected();if(r){var i=this.model.get('component'),o=this.getSelectedParents(),s=r.getStyle(),a=o.map((function(t){return{target:t,style:t.getStyle()}}));e.map((function(e){e.getProperties().map((function(e){n.__upProp(e,s,a,t)}))})),e.forEach((function(t){var n=t.getProperties();n.forEach((function(t){var n=t.__checkVisibility({target:r,component:i,sectors:e});t.set('visible',n)}));var o=n.some((function(t){return t.isVisible()}));t.set('visible',o)}))}},__upProp:function(t,e,n,r){var i=this,o=t.getName(),s=e[o],a=Pe(s),l='stack'===t.getType(),c='composite'===t.getType(),u=fe(fe({},r),{},{__up:!0}),h=!c&&!l,f=l?t.__getLayersFromStyle(e):[],d=c?t.__getPropsFromStyle(e):{},p=a?s:null,g=null;if(l&&null===f||c&&null===d){var v=l?'__getLayersFromStyle':'__getPropsFromStyle',m=n.filter((function(e){return null!==t[v](e.style)}))[0];if(m){p=m.style[o],g=m.target;var y=t[v](m.style);l?f=y:d=y}}else if(!a){p=null;var b=n.filter((function(t){return Pe(t.style[o])}))[0];b&&(p=b.style[o],g=b.target)}if(t.__setParentTarget(g),h&&t.__getFullValue()!==p&&t.upValue(p,u),l&&t.__setLayers(f||[]),c){var w=t.getProperties();if(t.isDetached()){var x=t.__getPropsFromStyle(e,{byName:!0})||{},O=n.map((function(e){return fe(fe({},e),{},{style:t.__getPropsFromStyle(e.style,{byName:!0})||{}})}));w.map((function(t){return i.__upProp(t,x,O,r)}))}else t.__setProperties(d||{},u),t.getProperties().map((function(t){return t.__setParentTarget(g)}))}},destroy:function(){[t,e].forEach((function(t){t.reset(),t.stopListening()})),n&&n.remove(),[t,e,n].forEach((function(t){return{}})),this.em={},this.config={},this.builtIn={},this.model={}}})}},6388:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>j,evAll:()=>_,evCustom:()=>E,evPfx:()=>T});var r=n(4942),i=n(9050);const o={stylePrefix:'trt-',appendTo:'',optionsTarget:[{value:!1},{value:'_blank'}]};var s=n(6602),a=n(885),l=n(2316),c=n.n(l),u=n(6183);function h(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function f(t){for(var e=1;e").concat(e,"")},templateInput:function(){var t=this.clsField;return"
")},initialize:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.config,r=void 0===n?{}:n,i=this.model,o=this.eventCapture,s=i.target,l=i.attributes.type;this.config=r,this.em=r.em,this.pfx=r.stylePrefix||'',this.ppfx=r.pStylePrefix||'',this.target=s;var c=this.ppfx;this.clsField="".concat(c,"field ").concat(c,"field-").concat(l),[['change:value',this.onValueChange],['remove',this.removeView]].forEach((function(e){var n=(0,a.Z)(e,2),r=n[0],o=n[1];i.off(r,o),t.listenTo(i,r,o)})),i.view=this,this.listenTo(i,'change:label',this.render),this.listenTo(i,'change:placeholder',this.rerender),this.events={},o.forEach((function(e){return t.events[e]='onChange'})),this.delegateEvents(),this.init()},getClbOpts:function(){return{component:this.target,trait:this.model,elInput:this.getInputElem()}},removeView:function(){this.remove(),this.removed()},init:function(){},removed:function(){},onRender:function(){},onUpdate:function(){},onEvent:function(){},onChange:function(t){var e=this.getInputElem();e&&!(0,i.isUndefined)(e.value)&&this.model.set('value',e.value),this.onEvent(f(f({},this.getClbOpts()),{},{event:t}))},getValueForTarget:function(){return this.model.get('value')},setInputValue:function(t){var e=this.getInputElem();e&&(e.value=t)},onValueChange:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(n.fromTarget)this.setInputValue(t.get('value')),this.postUpdate();else{var r=this.getValueForTarget();t.setTargetValue(r,n)}},renderLabel:function(){var t=this.$el,e=this.target,n=this.getLabel(),r=this.templateLabel(e);this.createLabel&&(r=this.createLabel({label:n,component:e,trait:this})||''),t.find('[data-label]').append(r)},getLabel:function(){var t=this.em,e=this.model.attributes,n=e.label,r=e.name;return t.t("traitManager.traits.labels.".concat(r))||(0,u.capitalize)(n||r).replace(/-/g,' ')},getComponent:function(){return this.target},getInputEl:function(){if(!this.$input){var t=this.em,e=this.model,n=e,r=e.attributes.name,o=n.get('placeholder')||n.get('default')||'',s=n.get('type')||'text',a=n.get('min'),l=n.get('max'),c=this.getModelValue(),u=d("")),h=t.t("traitManager.traits.attributes.".concat(r))||{};u.attr(h),(0,i.isUndefined)(c)||(n.set({value:c},{silent:!0}),u.prop('value',c)),a&&u.prop('min',a),l&&u.prop('max',l),this.$input=u}return this.$input.get(0)},getInputElem:function(){var t=this.input,e=this.$input;return t||e&&e.get&&e.get(0)||this.getElInput()},getModelValue:function(){var t,e=this.model,n=this.target,r=e.get('name');if(e.get('changeProp'))t=n.get(r);else{var o=n.get('attributes');t=e.get('value')||o[r]}return(0,i.isUndefined)(t)?'':t},getElInput:function(){return this.elInput},renderField:function(){var t=this.$el,e=this.appendInput,n=this.model,r=t.find('[data-input]'),o=r[r.length-1],s=n.el;s||(s=this.createInput?this.createInput(this.getClbOpts()):this.getInputEl()),(0,i.isString)(s)?(o.innerHTML=s,this.elInput=o.firstChild):(e?o.appendChild(s):o.insertBefore(s,o.firstChild),this.elInput=s),n.el=this.elInput},hasLabel:function(){var t=this.model.attributes.label;return!this.noLabel&&!1!==t},rerender:function(){this.model.el=null,this.render()},postUpdate:function(){this.onUpdate(this.getClbOpts())},render:function(){var t=this.$el,e=this.pfx,n=this.ppfx,r=this.model.attributes,o=r.type,s=r.id,a=this.hasLabel&&this.hasLabel(),l="".concat(e,"trait");this.$input=null;var c="
\n ").concat(a?"
"):'',"\n
\n ").concat(this.templateInput?(0,i.isFunction)(this.templateInput)?this.templateInput(this.getClbOpts()):this.templateInput:'',"\n
\n
");return t.empty().append(c),a&&this.renderLabel(),this.renderField(),this.el.className="".concat(l,"__wrp ").concat(l,"__wrp-").concat(s),this.postUpdate(),this.onRender(this.getClbOpts()),this}}),g=s.Z.extend({ns:'Traits',itemView:p,reuseView:1,initialize:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.config||{},n=e.stylePrefix||'',r=t.editor;this.config=e,this.em=r,this.pfx=n,this.ppfx=e.pStylePrefix||'',this.className="".concat(n,"traits"),this.listenTo(r,'component:toggled',this.updatedCollection)},updatedCollection:function(){var t=this.ppfx,e=this.className,n=this.em.getSelected();this.el.className="".concat(e," ").concat(t,"one-bg ").concat(t,"two-color"),this.collection=n?n.get('traits'):[],this.render()}});var v=c().$;const m=p.extend({init:function(){this.listenTo(this.model,'change:options',this.rerender)},templateInput:function(){var t=this.ppfx,e=this.clsField;return"
\n
\n
\n
\n
\n
")},getInputEl:function(){if(!this.$input){var t=this.model,e=this.em,n=t.get('name'),r=t.get('options')||[],o=[],s='',this.$input=v(s);var a=t.getTargetValue(),l=o.indexOf(a)>=0?a:t.get('default');!(0,i.isUndefined)(l)&&this.$input.val(l)}return this.$input.get(0)}}),y=p.extend({appendInput:0,templateInput:function(){var t=this.ppfx,e=this.clsField;return"")},onChange:function(){var t=this.getInputElem().checked;this.model.set('value',this.getCheckedValue(t))},getCheckedValue:function(t){var e=t,n=this.model.attributes,r=n.valueTrue,o=n.valueFalse;return e&&!(0,i.isUndefined)(r)&&(e=r),e||(0,i.isUndefined)(o)||(e=o),e},getInputEl:function(){for(var t=!this.$input,e=arguments.length,n=new Array(e),r=0;r").concat(s,"")}});var k=n(9304);function S(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function P(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{};this.__initConfig(o,n);var r=this.config,s=new l.Model;this.model=s;var a=this.em,c=r.pStylePrefix;this.types=P({},t),c&&(r.stylePrefix="".concat(c).concat(r.stylePrefix));var u=(0,i.debounce)((function(){return e.__upSel()}));s.listenTo(a,'component:toggled',u);var h=(0,i.debounce)((function(){return e.__onUp()}));return s.listenTo(a,'trait:update',h),this},__upSel:function(){this.select(this.em.getSelected())},__onUp:function(){this.select(this.getSelected())},select:function(t){var e=t?t.getTraits():[];this.model.set({component:t,traits:e}),this.__trgCustom()},getSelected:function(){return this.model.get('component')||null},getCurrent:function(){return this.model.get('traits')||[]},__trgCustom:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.__ctn=this.__ctn||t.container,this.em.trigger(this.events.custom,{container:this.__ctn})},postRender:function(){this.__appendTo()},getTraitsViewer:function(){return this.view},addType:function(t,e){var n=this.getType('text');this.types[t]=n.extend(e)},getType:function(t){return this.getTypes()[t]},getTypes:function(){return this.types},render:function(){var t=this.view,e=this.getConfig(),n=t&&t.el;return(t=new g({el:n,collection:[],editor:e.em,config:e})).itemsView=this.getTypes(),t.updatedCollection(),this.view=t,t.el},destroy:function(){this.__destroy()}})}},8202:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>u});var r=n(2982),i=n(4942),o=n(3410),s=n.n(o),a=n(9050);function l(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function c(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{};n=c(c({},o),f),t=n.em,this.em=t,n._disable&&(n=c(c({},n),{},{maximumStackLength:0}));var d=!0;return(e=new(s())(c({track:!0,register:[]},n))).changeUndoType('change',{condition:function(t){var e=t.get('_undo');if(e){var n=t.get('_undoexc');if((0,a.isArray)(n)&&u(t).some((function(t){return n.indexOf(t)>=0})))return!1;if((0,a.isBoolean)(e))return!0;if((0,a.isArray)(e)&&u(t).some((function(t){return e.indexOf(t)>=0})))return!0}return!1},on:function(t,e,n){!i&&(i=t.previousAttributes());var r=n||e||{};if(r.noUndo&&setTimeout((function(){i=null})),!l(r)){var o=t.toJSON({fromUndo:d}),s={object:t,before:i,after:o};if(i=null,!(0,a.isEmpty)(o))return s}}}),e.changeUndoType('add',{on:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!l(n)&&h.isRegistered(e))return{object:e,before:void 0,after:t,options:c(c({},n),{},{fromUndo:d})}}}),e.changeUndoType('remove',{on:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!l(n)&&h.isRegistered(e))return{object:e,before:t,after:void 0,options:c(c({},n),{},{fromUndo:d})}}}),e.changeUndoType('reset',{undo:function(t,e){t.reset(e,{fromUndo:d})},redo:function(t,e,n){t.reset(n,{fromUndo:d})},on:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!l(e)&&h.isRegistered(t))return{object:t,before:e.previousModels,after:(0,r.Z)(t.models),options:c(c({},e),{},{fromUndo:d})}}}),e.on('undo redo',(function(){t.trigger('change:canvasOffset'),t.getSelectedAll().map((function(t){return t.trigger('rerender:layer')}))})),['undo','redo'].forEach((function(n){return e.on(n,(function(){return t.trigger(n)}))})),this},postLoad:function(){n.trackSelection&&t&&this.add(t.get('selected'))},getConfig:function(){return n},add:function(t){return e.register(t),this},remove:function(t){return e.unregister(t),this},removeAll:function(){return e.unregisterAll(),this},start:function(){return e.startTracking(),this},stop:function(){return e.stopTracking(),this},undo:function(){var n=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return!t.isEditing()&&e.undo(n),this},undoAll:function(){return e.undoAll(),this},redo:function(){var n=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return!t.isEditing()&&e.redo(n),this},redoAll:function(){return e.redoAll(),this},hasUndo:function(){return e.isAvailable('undo')},hasRedo:function(){return e.isAvailable('redo')},isRegistered:function(t){return!!this.getInstance().objectRegistry.isRegistered(t)},getStack:function(){return e.stack},getStackGroup:function(){var t=[],e=[];return this.getStack().forEach((function(n){var r=n.get('magicFusionIndex');e.indexOf(r)<0&&(e.push(r),t.push(n))})),t},skip:function(t){this.stop(),t(),this.start()},getGroupedStack:function(){var t={},e=this.getStack();return e.forEach((function(e,n){var r=e.get('magicFusionIndex'),i=function(t,e){var n=t.attributes,r=n.type,i=n.after,o=n.before,s=n.object,a=n.options;return{index:e,type:r,after:i,before:o,object:s,options:void 0===a?{}:a}}(e,n);t[r]?t[r].push(i):t[r]=[i]})),Object.keys(t).map((function(e){var n=t[e];return{index:n[n.length-1].index,actions:n,labels:(0,a.unique)(n.reduce((function(t,e){var n,r=null===(n=e.options)||void 0===n?void 0:n.action;return r&&t.push(r),t}),[]))}}))},goToGroup:function(t){var e=this;if(t){var n=this.getPointer(),r=t.index-n;(0,a.times)(Math.abs(r),(function(){e[r<0?'undo':'redo'](!1)}))}},getPointer:function(){return this.getStack().pointer},clear:function(){return e.clear(),this},getInstance:function(){return e},destroy:function(){this.clear().removeAll(),[t,e,n,i].forEach((function(t){return{}})),this.em={}}}}},5610:(t,e,n)=>{"use strict";n.d(e,{Z:()=>u});var r=n(4942),i=n(5671),o=n(3144),s=n(9050),a=n(6183);function l(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function c(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{};return(0,i.Z)(this,t),this.opts={container:null,onStart:null,onDrag:null,onEnd:null,setPosition:null,getPosition:null,guidesStatic:null,guidesTarget:null,snapOffset:5,doc:0,scale:1},(0,s.bindAll)(this,'drag','stop','keyHandle','handleScroll'),this.setOptions(e),this.delta={x:0,y:0},this}return(0,o.Z)(t,[{key:"setOptions",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.opts=c(c({},this.opts),t)}},{key:"toggleDrag",value:function(t){var e=this.getDocumentEl(),n=this.getContainerEl(),r=this.getWindowEl(),i=t?'on':'off',o={on:a.on,off:a.off};o[i](n,'mousemove dragover',this.drag),o[i](e,'mouseup dragend touchend',this.stop),o[i](e,'keydown',this.keyHandle),o[i](r,'scroll',this.handleScroll)}},{key:"handleScroll",value:function(){var t=this.lastScroll,e=this.delta,n=this.getScrollInfo(),r={x:n.x-t.x,y:n.y-t.y};this.move(e.x+r.x,e.y+r.y),this.lastScrollDiff=r}},{key:"start",value:function(t){var e=this.opts,n=e.onStart;this.toggleDrag(1),this.startPointer=this.getPointerPos(t),this.guidesStatic=(0,s.result)(e,'guidesStatic')||[],this.guidesTarget=(0,s.result)(e,'guidesTarget')||[],(0,s.isFunction)(n)&&n(t,this),this.startPosition=this.getStartPosition(),this.lastScrollDiff={x:0,y:0},this.globScrollDiff={x:0,y:0},this.drag(t)}},{key:"drag",value:function(t){var e=this,n=this.opts,r=this.lastScrollDiff,i=this.globScrollDiff,o=n.onDrag,a=this.startPointer,l=this.getPointerPos(t),u={x:i.x+r.x,y:i.y+r.y};this.globScrollDiff=u;var h={x:l.x-a.x+u.x,y:l.y-a.y+u.y};this.lastScrollDiff={x:0,y:0};var f=this.lockedAxis;'x'===(f=t.shiftKey?!f&&this.detectAxisLock(h.x,h.y):null)?h.x=a.x:'y'===f&&(h.y=a.y);var d=function(r){['x','y'].forEach((function(t){return r[t]=r[t]*(0,s.result)(n,'scale')})),e.delta=r,e.move(r.x,r.y),(0,s.isFunction)(o)&&o(t,e)},p=c({},h);if(this.currentPointer=l,this.lockedAxis=f,this.lastScroll=this.getScrollInfo(),d(h),this.guidesTarget.length){var g=this.snapGuides(p),v=g.newDelta,m=g.trgX,y=g.trgY;(m||y)&&d(v)}0===t.which&&this.stop(t)}},{key:"snapGuides",value:function(t){var e=this,n=t,r=this.trgX,i=this.trgY;return this.guidesTarget.forEach((function(n){n.x&&e.trgX||n.y&&e.trgY||(n.active=0,e.guidesStatic.forEach((function(o){if(!(n.y&&o.x||n.x&&o.y)){var a=n.y&&o.y,l=a?'y':'x',c=n[l],u=o[l],h=t[l],f=a?i:r;if(e.isPointIn(c,u)&&(0,s.isUndefined)(f)){var d=h-(c-u);e.setGuideLock(n,d)}}})))})),r=this.trgX,i=this.trgY,['x','y'].forEach((function(r){var i=r.toUpperCase(),o=e["trg".concat(i)];o&&!e.isPointIn(t[r],o.lock)&&(e.setGuideLock(o,null),o=null),o&&!(0,s.isUndefined)(o.lock)&&(n[r]=o.lock)})),{newDelta:n,trgX:this.trgX,trgY:this.trgY}}},{key:"isPointIn",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.offset,i=r||this.opts.snapOffset;return t>=e&&t<=e+i||t<=e&&t>=e-i}},{key:"setGuideLock",value:function(t,e){var n=(0,s.isUndefined)(t.x)?'Y':'X',r="trg".concat(n);return null!==e?(t.active=1,t.lock=e,this[r]=t):(delete t.active,delete t.lock,delete this[r]),t}},{key:"stop",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.delta,r=e.cancel,i=r?0:n.x,o=r?0:n.y;this.toggleDrag(),this.lockedAxis=null,this.move(i,o,1);var a=this.opts.onEnd;(0,s.isFunction)(a)&&a(t,this,{cancelled:r})}},{key:"keyHandle",value:function(t){(0,a.isEscKey)(t)&&this.stop(t,{cancel:1})}},{key:"move",value:function(t,e,n){var r=this.el,i=this.opts,o=this.startPosition;if(o){var a=i.setPosition,l=o.x+t,c=o.y+e;this.position={x:l,y:c,end:n},(0,s.isFunction)(a)&&a(this.position),r&&(r.style.left="".concat(l,"px"),r.style.top="".concat(c,"px"))}}},{key:"getContainerEl",value:function(){var t=this.opts.container;return t?[t]:this.getDocumentEl()}},{key:"getWindowEl",value:function(){return this.getContainerEl().map((function(t){var e=t.ownerDocument||t;return e.defaultView||e.parentWindow}))}},{key:"getDocumentEl",value:function(t){var e=this.opts.doc;if(t=t||this.el,!this.docs){var n=[document];t&&n.push(t.ownerDocument),e&&n.push(e),this.docs=n}return this.docs}},{key:"getPointerPos",value:function(t){var e=this.opts.getPointerPosition,n=(0,a.getPointerEvent)(t);return e?e(t):{x:n.clientX,y:n.clientY}}},{key:"getStartPosition",value:function(){var t=this.el,e=this.opts.getPosition,n={x:0,y:0};return(0,s.isFunction)(e)?n=e():t&&(n={x:parseFloat(t.style.left),y:parseFloat(t.style.top)}),n}},{key:"getScrollInfo",value:function(){var t=this.opts.doc,e=t&&t.body;return{y:e?e.scrollTop:0,x:e?e.scrollLeft:0}}},{key:"detectAxisLock",value:function(t,e){var n=t,r=e,i=Math.abs(n),o=Math.abs(r);return r>=i||r<=-i?'x':n>o||n<-o?'y':void 0}}]),t}()},2579:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>pt});var r='undefined'!=typeof document?document:null,i='undefined'!=typeof window?window:null,o=Array.prototype,s=o.filter,a=o.indexOf,l=o.map,c=o.push,u=o.reverse,h=o.slice,f=o.splice,d=/^#[\w-]*$/,p=/^\.[\w-]*$/,g=/<.+>/,v=/^\w+$/;function m(t,e){return void 0===e&&(e=r),p.test(t)?e.getElementsByClassName(t.slice(1)):v.test(t)?e.getElementsByTagName(t):e.querySelectorAll(t)}function y(t,e){if(void 0===e&&(e=r),t){if(t.__cash)return t;var n=t;if(T(t)){if(e.__cash&&(e=e[0]),!(n=d.test(t)?e.getElementById(t.slice(1)):g.test(t)?ht(t):m(t,e)))return}else if(_(t))return this.ready(t);(n.nodeType||n===i)&&(n=[n]),this.length=n.length;for(var o=0,s=this.length;o=0})):n.value=i}))},w.clone=function(){return this.map((function(t,e){return e.cloneNode(!0)}))},w.detach=function(){return this.each((function(t,e){e.parentNode&&e.parentNode.removeChild(e)}))};var lt,ct=/^\s*<(\w+)[^>]*>/,ut=/^\s*<(\w+)\s*\/?>(?:<\/\1>)?\s*$/;function ht(t){if(function(){if(!lt){var t=r.createElement('table'),e=r.createElement('tr');lt={'*':r.createElement('div'),tr:r.createElement('tbody'),td:e,th:e,thead:t,tbody:t,tfoot:t}}}(),!T(t))return[];if(ut.test(t))return[r.createElement(RegExp.$1)];var e=ct.test(t)&&RegExp.$1,n=lt[e]||lt['*'];return n.innerHTML=t,b(n.childNodes).detach().get()}function ft(t,e,n){if(void 0!==e){var r=T(e);!r&&e.length?k(e,(function(e){return ft(t,e,n)})):k(t,r?function(t){t.insertAdjacentHTML(n?'afterbegin':'beforeend',e)}:function(t,r){return function(t,e,n){n?t.insertBefore(e,t.childNodes[0]):t.appendChild(e)}(t,r?e.cloneNode(!0):e,n)})}}b.parseHTML=ht,w.empty=function(){var t=this[0];if(t)for(;t.firstChild;)t.removeChild(t.firstChild);return this},w.append=function(){var t=this;return k(arguments,(function(e){ft(t,e)})),this},w.appendTo=function(t){return ft(b(t),this),this},w.html=function(t){if(void 0===t)return this[0]&&this[0].innerHTML;var e=t.nodeType?t[0].outerHTML:t;return this.each((function(t,n){n.innerHTML=e}))},w.insertAfter=function(t){var e=this;return b(t).each((function(t,n){var r=n.parentNode;e.each((function(e,i){r.insertBefore(t?i.cloneNode(!0):i,n.nextSibling)}))})),this},w.after=function(){var t=this;return k(u.apply(arguments),(function(e){u.apply(b(e).slice()).insertAfter(t)})),this},w.insertBefore=function(t){var e=this;return b(t).each((function(t,n){var r=n.parentNode;e.each((function(e,i){r.insertBefore(t?i.cloneNode(!0):i,n)}))})),this},w.before=function(){var t=this;return k(arguments,(function(e){b(e).insertBefore(t)})),this},w.prepend=function(){var t=this;return k(arguments,(function(e){ft(t,e,!0)})),this},w.prependTo=function(t){return ft(b(t),u.apply(this.slice()),!0),this},w.remove=function(){return this.detach().off()},w.replaceWith=function(t){var e=this;return this.each((function(n,r){var i=r.parentNode;if(i){var o=n?b(t).clone():b(t);if(!o[0])return e.remove(),!1;i.replaceChild(o[0],r),b(o[0]).after(o.slice(1))}}))},w.replaceAll=function(t){return b(t).replaceWith(this),this},w.text=function(t){return void 0===t?this[0]?this[0].textContent:'':this.each((function(e,n){n.textContent=t}))};var dt=r&&r.documentElement;w.offset=function(){var t=this[0];if(t){var e=t.getBoundingClientRect();return{top:e.top+i.pageYOffset-dt.clientTop,left:e.left+i.pageXOffset-dt.clientLeft}}},w.offsetParent=function(){return b(this[0]&&this[0].offsetParent)},w.position=function(){var t=this[0];if(t)return{left:t.offsetLeft,top:t.offsetTop}},w.children=function(t){var e=[];return this.each((function(t,n){c.apply(e,n.children)})),e=b(L(e)),t?e.filter((function(e,n){return P(n,t)})):e},w.contents=function(){var t=[];return this.each((function(e,n){c.apply(t,'IFRAME'===n.tagName?[n.contentDocument]:n.childNodes)})),b(t.length&&L(t))},w.find=function(t){for(var e=[],n=0,r=this.length;n{"use strict";n.d(e,{G1:()=>o,Mx:()=>s,L_:()=>a,sE:()=>l,FW:()=>c,pn:()=>u,dL:()=>h,$Q:()=>f,R3:()=>d,ut:()=>p,rw:()=>g,t3:()=>v,SJ:()=>m});var r=n(9050),i='attributes',o='transitionend oTransitionEnd transitionend webkitTransitionEnd',s=function(t){return t&&9===t.nodeType},a=function(t){var e=t&&t.parentNode;e&&e.removeChild(t)},l=function(t,e){return t.querySelectorAll(e)},c=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t&&t.setAttribute&&(0,r.each)(e,(function(e,n){return t.setAttribute(n,e)}))},u=function(t){return t&&!!(t.offsetWidth||t.offsetHeight||t.getClientRects().length)},h=function(t,e){t.parentNode.replaceChild(e,t)},f=function(t,e,n){var i=t.childNodes,o=i.length,s=(0,r.isUndefined)(n)?o:n;(0,r.isString)(e)&&(t.insertAdjacentHTML('beforeEnd',e),e=t.lastChild,t.removeChild(e)),s>=o?t.appendChild(e):t.insertBefore(e,i[s])},d=function(t,e){return f(t,e)},p=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:'',n=arguments.length>2?arguments[2]:void 0,i=document.createElement(t);return e&&(0,r.each)(e,(function(t,e){return i.setAttribute(e,t)})),n&&((0,r.isString)(n)?i.innerHTML=n:i.appendChild(n)),i},g=function(t){return document.createTextNode(t)},v=function(t,e){var n,r=t.type;try{n=new window[e](r,t)}catch(t){(n=document.createEvent(e)).initEvent(r,!0,!0)}return n._parentEvent=t,0===r.indexOf('key')&&(n.keyCodeVal=t.keyCode,['keyCode','which'].forEach((function(t){Object.defineProperty(n,t,{get:function(){return this.keyCodeVal}})}))),n},m=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=Array.isArray(e)?e:[e];n.forEach((function(e){var n=e.tag||'div',o=e[i]||{},s=document.createElement(n);(0,r.each)(o,(function(t,e){s.setAttribute(e,t)})),t.appendChild(s)}))}},9661:(t,e,n)=>{"use strict";n.d(e,{Z:()=>m});var r=n(1002);const i=function(t){var e=this.constructor;return this.then((function(n){return e.resolve(t()).then((function(){return n}))}),(function(n){return e.resolve(t()).then((function(){return e.reject(n)}))}))};const o=function(t){return new this((function(e,n){if(!t||void 0===t.length)return n(new TypeError((0,r.Z)(t)+' '+t+' is not iterable(cannot read property Symbol(Symbol.iterator))'));var i=Array.prototype.slice.call(t);if(0===i.length)return e([]);var o=i.length;function s(t,n){if(n&&('object'===(0,r.Z)(n)||'function'==typeof n)){var a=n.then;if('function'==typeof a)return void a.call(n,(function(e){s(t,e)}),(function(n){i[t]={status:'rejected',reason:n},0==--o&&e(i)}))}i[t]={status:'fulfilled',value:n},0==--o&&e(i)}for(var a=0;a{"use strict";n.d(e,{Z:()=>i});var r=n(6183);function i(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),i=1;i{"use strict";n.r(e),n.d(e,{default:()=>k});var r=n(4942),i=n(5610),o=n(2316),s=n.n(o),a=n(9050),l=n(6183);function c(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function u(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:{},a=this.em,c=this.itemSel,u=this.containerSel,h=this.plh,f=this.getContainerEl(s.container),d=this.getDocuments(t);this.dropModel=null,this.target=null,this.prevTarget=null,this.moved=0,t&&!this.matches(t,"".concat(c,", ").concat(u))&&(t=this.closest(t,c)),this.sourceEl=t,h||(this.plh=this.createPlaceholder(),f.appendChild(this.plh)),t&&((o=this.getSourceModel(t))&&o.set&&o.set('status','freezed'),this.srcModel=o),(0,l.on)(f,'mousemove dragover',this.onMove),(0,l.on)(d,'mouseup dragend touchend',this.endMove),(0,l.on)(d,'keydown',this.rollback),this.onStart({sorter:this,target:o,parent:o&&(null===(e=(n=o).parent)||void 0===e?void 0:e.call(n)),index:o&&(null===(r=(i=o).index)||void 0===r?void 0:r.call(i))}),null==a||a.clearSelection(),this.toggleSortCursor(1),null==a||a.trigger('sorter:drag:start',t,o)},getTargetModel:function(t){var e=t||this.target;return h(e).data('model')},getSourceModel:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.target,i=n.avoidChildren,o=void 0===i?1:i,s=this.em,a=this.sourceEl,l=t||a,c=this.dropModel,f=this.dropContent,d=function(t){return t&&r&&t.opt&&t.opt.avoidChildren&&e.isTextableActive(t,r)};if(f&&s){if(d(c)&&(c=null),!c){var p=s.get('DomComponents').getComponents(),g={avoidChildren:o,avoidStore:1,avoidUpdateStyle:1},v=p.add(f,u(u({},g),{},{temporary:1}));if(c=(c=p.remove(v,g))instanceof Array?c[0]:c,this.dropModel=c,d(c))return this.getSourceModel(l,{target:r,avoidChildren:0})}return c}return l&&h(l).data('model')},selectTargetModel:function(t,e){if(!(t instanceof s().Collection||e&&e===t)){var n=this.targetModel;n&&n!==this.srcModel&&n.set('status',''),t&&t.set&&(t.set('status','selected-parent'),this.targetModel=t)}},onMove:function(t){var e=t,n=this.em,r=this.onMoveClb,i=this.plh,o=this.customTarget;this.moved=1;var s=i.style.display;s&&'none'!==s||(i.style.display='block');var l=this.offset(this.el);this.elT=this.wmargin?Math.abs(l.top):l.top,this.elL=this.wmargin?Math.abs(l.left):l.left;var c=t.pageY-this.elT+this.el.scrollTop,u=t.pageX-this.elL+this.el.scrollLeft;if(this.canvasRelative&&n){var f=n.get('Canvas').getMouseRelativeCanvas(t,{noScroll:1});u=f.x,c=f.y}this.rX=u,this.rY=c,this.eventMove=t;var d=this.getSourceModel(),p=o?o({sorter:this,event:t}):t.target,g=this.dimsFromTarget(p,u,c),v=this.target,m=v&&this.getTargetModel(v);if(this.selectTargetModel(m,d),m||(i.style.display='none'),v){this.lastDims=g;var y=this.findPosition(g,u,c);this.isTextableActive(d,m)?(this.activeTextModel=m,i.style.display='none',this.lastPos=y,this.updateTextViewCursorPosition(e)):(this.disableTextable(),this.activeTextModel=null,this.lastPos&&this.lastPos.index==y.index&&this.lastPos.method==y.method||(this.movePlaceholder(this.plh,g,y,this.prevTargetDim),this.$plh||(this.$plh=h(this.plh)),this.canvasRelative||(this.offTop&&this.$plh.css('top','+='+this.offTop+'px'),this.offLeft&&this.$plh.css('left','+='+this.offLeft+'px')),this.lastPos=y)),(0,a.isFunction)(r)&&r({event:t,target:d,parent:m,index:y.index+('after'==y.method?1:0)}),n&&n.trigger('sorter:drag',{target:v,targetModel:m,sourceModel:d,dims:g,pos:y,x:u,y:c})}},isTextableActive:function(t,e){return t&&t.get&&t.get('textable')&&e&&e.is('text')},disableTextable:function(){var t=this.activeTextModel;t&&t.getView().disableEditing(),this.setContentEditable(t,!1)},isInFlow:function(t,e){if(!t)return!1;e=e||document.body;var n=t;return n.offsetHeight,!!this.styleInFlow(n,e)},styleInFlow:function(t,e){if(!(0,l.isTextNode)(t)){var n=t.style||{},r=h(t),i=e&&h(e);if(!n.overflow||'visible'===n.overflow){var o=r.css('float');if(!(o&&'none'!==o||i&&'flex'==i.css('display')&&'column'!==i.css('flex-direction'))){switch(n.position){case'static':case'relative':case'':break;default:return}switch(t.tagName){case'TR':case'TBODY':case'THEAD':case'TFOOT':return!0}switch(r.css('display')){case'block':case'list-item':case'table':case'flex':return!0}}}}},validTarget:function(t,e){var n=this.getTargetModel(t),r=this.getSourceModel(e,{target:n}),i={valid:!0,src:e=r&&r.view&&r.view.el,srcModel:r,trg:t=n&&n.view&&n.view.el,trgModel:n};if(!e||!t)return i.valid=!1,i;var o=r.get('draggable');if((0,a.isFunction)(o)){var l=o(r,n);i.dragInfo=l,i.draggable=l,o=l}else o=o instanceof Array?o.join(', '):o,i.dragInfo=o,o=(0,a.isString)(o)?this.matches(t,o):o,i.draggable=o;var c=n.get('droppable');if((0,a.isFunction)(c)){var u=c(r,n);i.droppable=u,i.dropInfo=u,c=u}else c=(c=c instanceof s().Collection?1:c)instanceof Array?c.join(', '):c,i.dropInfo=c,c=(0,a.isString)(c)?this.matches(e,c):c,c=o&&this.isTextableActive(r,n)?1:c,i.droppable=c;return c&&o||(i.valid=!1),i},dimsFromTarget:function(t,e,n){var r=this.em,i=[];if(!t)return i;if(this.matches(t,"".concat(this.itemSel,", ").concat(this.containerSel))||(t=this.closest(t,this.itemSel)),this.draggable instanceof Array&&(t=this.closest(t,this.draggable.join(','))),!t)return i;if(this.prevTarget&&this.prevTarget!=t&&(this.prevTarget=null),!this.prevTarget){this.targetP=this.closest(t,this.containerSel);var o=this.validTarget(t);if(r&&r.trigger('sorter:drag:validation',o),!o.valid&&this.targetP)return this.dimsFromTarget(this.targetP,e,n);this.prevTarget=t,this.prevTargetDim=this.getDim(t),this.cacheDimsP=this.getChildrenDim(this.targetP),this.cacheDims=this.getChildrenDim(t)}if(this.prevTarget==t&&(i=this.cacheDims),this.target=this.prevTarget,this.nearBorders(this.prevTargetDim,e,n)||!this.nested&&!this.cacheDims.length){var s=this.targetP;s&&this.validTarget(s).valid&&(i=this.cacheDimsP,this.target=s)}return this.lastPos=null,i},getTargetFromEl:function(t){var e,n=t,r=this.targetPrev,i=this.em,o=this.containerSel,s=this.itemSel;if(this.matches(n,"".concat(s,", ").concat(o))||(n=this.closest(n,s)),this.draggable instanceof Array&&(n=this.closest(n,this.draggable.join(','))),r&&r!=n&&(this.targetPrev=''),!this.targetPrev){e=this.closest(n,o);var a=this.validTarget(n);if(i&&i.trigger('sorter:drag:validation',a),!a.valid&&e)return this.getTargetFromEl(e);this.targetPrev=n}return this.nearElBorders(n)&&(e=this.closest(n,o))&&this.validTarget(e).valid&&(n=e),n},nearElBorders:function(t){var e=t.getBoundingClientRect(),n=t.ownerDocument.body,r=this.getCurrentPos(),i=r.x,o=r.y,s=e.top+n.scrollTop,a=e.left+n.scrollLeft,l=e.width,c=e.height;if(os+c-10||ia+l-10)return 1},getCurrentPos:function(){var t=this.eventMove;return{x:t.pageX||0,y:t.pageY||0}},getDim:function(t){var e,n,r,i,o=this.em,s=this.canvasRelative,a=o&&o.get('Canvas'),l=a?a.getElementOffsets(t):{};if(s&&o){var c=a.getElementPos(t,{noScroll:1});e=c.top,n=c.left,r=c.height,i=c.width}else{var u=this.offset(t);e=this.relative?t.offsetTop:u.top-(this.wmargin?-1:1)*this.elT,n=this.relative?t.offsetLeft:u.left-(this.wmargin?-1:1)*this.elL,r=t.offsetHeight,i=t.offsetWidth}return{top:e,left:n,height:r,width:i,offsets:l}},getChildrenDim:function(t){var e=this,n=[];if(!t)return n;var r=this.getTargetModel(t);if(r&&r.view&&!this.ignoreViewChildren){var i=r.getCurrentView?r.getCurrentView():r.view;t=i.getChildrenContainer()}return(0,a.each)(t.children,(function(r,i){var o=(0,l.getModel)(r,h),s=o&&o.index?o.index():i;if((0,l.isTextNode)(r)||e.matches(r,e.itemSel)){var a=e.getDim(r),c=e.direction;c='v'==c||'h'!=c&&e.isInFlow(r,t),a.dir=c,a.el=r,a.indexEl=s,n.push(a)}})),n},nearBorders:function(t,e,n){var r=0,i=this.borderOffset,o=e||0,s=n||0,a=t.top,l=t.left,c=t.height,u=t.width;return(a+i>s||s>a+c-i||l+i>o||o>l+u-i)&&(r=1),!!r},findPosition:function(t,e,n){for(var r={index:0,indexEl:0,method:'before'},i=0,o=0,s=0,a=0,l=0,c=0,u=0,h=0,f=t.length;ho||s&&l>=s||i&&g+mO&&(w.at=d-1))}r&&(x?(delete w.at,i=v.getView().insertComponent(r,w)):i=g.add(r,w)),this.dropContent=null,this.prevTarget=null}else if(o){var k=p.dropInfo||(null==v?void 0:v.get('droppable')),S=p.dragInfo||(null==m?void 0:m.get('draggable'));!g&&f.push('Target collection not found'),!b&&k&&f.push("Target is not droppable, accepts [".concat(k,"]")),!y&&S&&f.push("Component not draggable, acceptable by [".concat(S,"]")),o.logWarning('Invalid target position',{errors:f,model:m,context:'sorter',target:v})}return null==o||o.trigger('sorter:drag:end',{targetCollection:g,modelToDrop:r,warns:f,validResult:p,dst:t,srcEl:u}),i},rollback:function(t){(0,l.off)(this.getDocuments(),'keydown',this.rollback),27==(t.which||t.keyCode)&&(this.moved=0,this.endMove())}});var p=n(5671),g=n(3144);function v(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function m(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{};return(0,p.Z)(this,t),this.setOptions(e),(0,a.bindAll)(this,'handleKeyDown','handleMouseDown','move','stop'),this}return(0,g.Z)(t,[{key:"getConfig",value:function(){return this.opts}},{key:"setOptions",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.opts=(0,a.defaults)(t,y),this.setup()}},{key:"setup",value:function(){var t=this.opts,e=t.prefix||'',n=t.appendTo||document.body,r=this.container;for(r||((r=document.createElement('div')).className="".concat(e,"resizer-c"),n.appendChild(r),this.container=r);r.firstChild;)r.removeChild(r.firstChild);var i={};for(var o in['tl','tc','tr','cl','cr','bl','bc','br'].forEach((function(e){return i[e]=t[e]?function(t,e){var n=e.prefix||'',r=document.createElement('i');return r.className=n+'resizer-h '+n+'resizer-h-'+t,r.setAttribute('data-'+n+'handler',t),r}(e,t):''})),i){var s=i[o];s&&r.appendChild(s)}this.handlers=i,this.mousePosFetcher=t.mousePosFetcher,this.updateTarget=t.updateTarget,this.posFetcher=t.posFetcher,this.onStart=t.onStart,this.onMove=t.onMove,this.onEnd=t.onEnd,this.onUpdateContainer=t.onUpdateContainer}},{key:"toggleFrames",value:function(t){if(this.opts.silentFrames){var e=document.querySelectorAll('iframe');(0,a.each)(e,(function(e){return e.style.pointerEvents=t?'none':''}))}}},{key:"isHandler",value:function(t){var e=this.handlers;for(var n in e)if(e[n]===t)return!0;return!1}},{key:"getFocusedEl",value:function(){return this.el}},{key:"getParentEl",value:function(){return this.el.parentElement}},{key:"getDocumentEl",value:function(){return[this.el.ownerDocument,document]}},{key:"getElementPos",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.posFetcher||'';return n?n(t,e):b(t)}},{key:"focus",value:function(t){t&&t===this.el||(this.el=t,this.updateContainer({forceShow:1}),(0,l.on)(this.getDocumentEl(),'mousedown',this.handleMouseDown))}},{key:"blur",value:function(){this.container.style.display='none',this.el&&((0,l.off)(this.getDocumentEl(),'mousedown',this.handleMouseDown),this.el=null)}},{key:"start",value:function(t){if(0===t.button){t.preventDefault(),t.stopPropagation();var e=this.el,n=this.getParentEl(),r=this.opts||{},i='data-'+r.prefix+'handler',o=this.getElementPos(e,{target:'el'}),s=this.getElementPos(n);this.handlerAttr=t.target.getAttribute(i),this.clickedHandler=t.target,this.startDim={t:o.top,l:o.left,w:o.width,h:o.height},this.rectDim={t:o.top,l:o.left,w:o.width,h:o.height},this.startPos={x:t.clientX,y:t.clientY},this.parentDim={t:s.top,l:s.left,w:s.width,h:s.height};var c=this.getDocumentEl();(0,l.on)(c,'mousemove',this.move),(0,l.on)(c,'keydown',this.handleKeyDown),(0,l.on)(c,'mouseup',this.stop),(0,a.isFunction)(this.onStart)&&this.onStart(t,{docs:c,config:r,el:e,resizer:this}),this.toggleFrames(1),this.move(t)}}},{key:"move",value:function(t){var e=this.onMove,n=this.mousePosFetcher,r=n?n(t):{x:t.clientX,y:t.clientY};this.currentPos=r,this.delta={x:r.x-this.startPos.x,y:r.y-this.startPos.y},this.keys={shift:t.shiftKey,ctrl:t.ctrlKey,alt:t.altKey},this.rectDim=this.calc(this),this.updateRect(0),e&&e(t),0===t.which&&this.stop(t)}},{key:"stop",value:function(t){var e=this.opts,n=this.getDocumentEl();(0,l.off)(n,'mousemove',this.move),(0,l.off)(n,'keydown',this.handleKeyDown),(0,l.off)(n,'mouseup',this.stop),this.updateRect(1),this.toggleFrames(),(0,a.isFunction)(this.onEnd)&&this.onEnd(t,{docs:n,config:e})}},{key:"updateRect",value:function(t){var e=this.el,n=this.opts,r=this.rectDim,i=this.updateTarget,o=this.getSelectedHandler(),s=n.unitHeight,l=n.unitWidth,c=n.keyWidth,u=n.keyHeight;if((0,a.isFunction)(i))i(e,r,{store:t,selectedHandler:o,resizer:this,config:n});else{var h=e.style;h[c]=r.w+l,h[u]=r.h+s}this.updateContainer()}},{key:"updateContainer",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.opts,n=this.container,r=this.el,i=n.style;!e.avoidContainerUpdate&&r&&t.forceShow&&(i.display='block'),this.onUpdateContainer({el:n,resizer:this,opts:m(m({},e),t)})}},{key:"getSelectedHandler",value:function(){var t=this.handlers;if(this.selectedHandler)for(var e in t)if(t[e]===this.selectedHandler)return e}},{key:"handleKeyDown",value:function(t){27===t.keyCode&&(this.rectDim=this.startDim,this.stop(t))}},{key:"handleMouseDown",value:function(t){var e=t.target;this.isHandler(e)?(this.selectedHandler=e,this.start(t)):e!==this.el&&(this.selectedHandler='',this.blur())}},{key:"calc",value:function(t){var e,n=this.opts||{},r=n.step,i=this.startDim,o=n.minDim,s=n.maxDim,a=t.delta.x,c=t.delta.y,u=this.parentDim.w,h=this.parentDim.h,f=this.opts.unitWidth,d=this.opts.unitHeight,p='%'===f?i.w/100*u:i.w,g='%'===d?i.h/100*h:i.h,v={t:0,l:0,w:p,h:g};if(t){var m=t.handlerAttr;~m.indexOf('r')&&(e='%'===f?(0,l.normalizeFloat)((p+a*r)/u*100,.01):(0,l.normalizeFloat)(p+a*r,r),e=Math.max(o,e),s&&(e=Math.min(s,e)),v.w=e),~m.indexOf('b')&&(e='%'===d?(0,l.normalizeFloat)((g+c*r)/h*100,.01):(0,l.normalizeFloat)(g+c*r,r),e=Math.max(o,e),s&&(e=Math.min(s,e)),v.h=e),~m.indexOf('l')&&(e='%'===f?(0,l.normalizeFloat)((p-a*r)/u*100,.01):(0,l.normalizeFloat)(p-a*r,r),e=Math.max(o,e),s&&(e=Math.min(s,e)),v.w=e),~m.indexOf('t')&&(e='%'===d?(0,l.normalizeFloat)((g-c*r)/h*100,.01):(0,l.normalizeFloat)(g-c*r,r),e=Math.max(o,e),s&&(e=Math.min(s,e)),v.h=e);var y=n.ratioDefault?!t.keys.shift:t.keys.shift;if(m.indexOf('c')<0&&y){var b=i.w/i.h;v.w/v.h>b?v.h=Math.round(v.w/b):v.w=Math.round(v.h*b)}return~m.indexOf('l')&&(v.l=i.w-v.w),~m.indexOf('t')&&(v.t=i.h-v.h),v}}}]),t}();const x={init:function(t){return new w(t)}};function O(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function C(t){for(var e=1;e{"use strict";n.r(e),n.d(e,{isDef:()=>s,hasWin:()=>a,getGlobal:()=>l,toLowerCase:()=>c,getUiClass:()=>f,isCommentNode:()=>k,isTaggableNode:()=>S,find:()=>P,escape:()=>_,on:()=>g,off:()=>v,hasDnd:()=>x,upFirst:()=>y,matches:()=>h,getModel:()=>T,getElRect:()=>E,camelCase:()=>b,isTextNode:()=>C,getKeyCode:()=>D,getKeyChar:()=>M,isEscKey:()=>A,isEnterKey:()=>L,getElement:()=>O,shallowDiff:()=>p,normalizeFloat:()=>w,getPointerEvent:()=>j,getUnitFromValue:()=>m,capitalize:()=>Z,getViewEl:()=>V,setViewEl:()=>H,appendStyles:()=>d,isObject:()=>R,isEmptyObj:()=>N,isComponent:()=>I,createId:()=>B,isRule:()=>F});var r=n(1002),i=n(2982),o=n(9050),s=function(t){return void 0!==t},a=function(){return'undefined'!=typeof window},l=function(){return'undefined'!=typeof globalThis?globalThis:'undefined'!=typeof window?window:n.g},c=function(t){return(t||'').toLowerCase()},u=a()?window.Element.prototype:{},h=u.matches||u.webkitMatchesSelector||u.mozMatchesSelector||u.msMatchesSelector,f=function(t,e){var n=t.getConfig(),r=n.stylePrefix;return[n.customUI&&"".concat(r,"cui"),e].filter((function(t){return t})).join(' ')},d=function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=(0,o.isArray)(e)?(0,i.Z)(e):[e];if(r.length){var s=r.shift();if(s&&(!n.unique||!document.querySelector("link[href=\"".concat(s,"\"]")))){var a=document,l=a.head,c=document.createElement('link');c.href=s,c.rel='stylesheet',n.prepand?l.insertBefore(c,l.firstChild):l.appendChild(c)}t(r)}},p=function(t,e){var n={},r=(0,o.keys)(e);for(var i in t)if(t.hasOwnProperty(i)){var s=t[i],a=e[i];r.indexOf(i)>=0?s!==a&&(n[i]=a):n[i]=null}for(var l in e)e.hasOwnProperty(l)&&(0,o.isUndefined)(t[l])&&(n[l]=e[l]);return n},g=function(t,e,n,r){e=e.split(/\s+/),t=t instanceof Array?t:[t];for(var i=function(i){t.forEach((function(t){return t&&t.addEventListener(e[i],n,r)}))},o=0;o1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=0;if(isNaN(t))return n;if(t=parseFloat(t),Math.floor(t)!==t){var i=e.toString().split('.')[1];r=i?i.length:0}return r?parseFloat(t.toFixed(r)):t},x=function(t){return'draggable'in document.createElement('i')&&(t?t.get('Config').nativeDnD:1)},O=function(t){return(0,o.isElement)(t)||C(t)?t:t&&t.getEl?t.getEl():void 0},C=function(t){return t&&3===t.nodeType},k=function(t){return t&&8===t.nodeType},S=function(t){return t&&!C(t)&&!k(t)},P=function(t,e){var n=null;return t.some((function(r,i){return e(r,i,t)?(n=r,1):0})),n},_=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:'';return"".concat(t).replace(/&/g,'&').replace(//g,'>').replace(/"/g,'"').replace(/'/g,''').replace(/`/g,'`')},T=function(t,e){var n=t;return!e&&t&&t.__cashData?n=t.__cashData.model:(0,o.isElement)(t)&&(n=e(t).data('model')),n},E=function(t){var e,n={top:0,left:0,width:0,height:0};if(!t)return n;if(C(t)){var r=document.createRange();r.selectNode(t),e=r.getBoundingClientRect(),r.detach()}return e||(t.getBoundingClientRect?t.getBoundingClientRect():n)},j=function(t){return t.touches&&t.touches[0]?t.touches[0]:t},D=function(t){return t.which||t.keyCode},M=function(t){return String.fromCharCode(D(t))},A=function(t){return 27===D(t)},L=function(t){return 13===D(t)},R=function(t){return null!==t&&!Array.isArray(t)&&'object'===(0,r.Z)(t)},N=function(t){return Object.keys(t).length<=0},Z=function(t){return t&&t.charAt(0).toUpperCase()+t.substring(1)},I=function(t){return t&&t.toHTML},F=function(t){return t&&t.toCSS},V=function(t){return t.__gjsv},H=function(t,e){t.__gjsv=e},B=function(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:16,e='',n='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',r=n.length,i=0;i{var e=function(t){"use strict";var e,n=Object.prototype,r=n.hasOwnProperty,i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",s=i.asyncIterator||"@@asyncIterator",a=i.toStringTag||"@@toStringTag";function l(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,n){return t[e]=n}}function c(t,e,n,r){var i=e&&e.prototype instanceof v?e:v,o=Object.create(i.prototype),s=new T(r||[]);return o._invoke=function(t,e,n){var r=h;return function(i,o){if(r===d)throw new Error("Generator is already running");if(r===p){if("throw"===i)throw o;return j()}for(n.method=i,n.arg=o;;){var s=n.delegate;if(s){var a=S(s,n);if(a){if(a===g)continue;return a}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===h)throw r=p,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=d;var l=u(t,e,n);if("normal"===l.type){if(r=n.done?p:f,l.arg===g)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(r=p,n.method="throw",n.arg=l.arg)}}}(t,n,s),o}function u(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var h="suspendedStart",f="suspendedYield",d="executing",p="completed",g={};function v(){}function m(){}function y(){}var b={};b[o]=function(){return this};var w=Object.getPrototypeOf,x=w&&w(w(E([])));x&&x!==n&&r.call(x,o)&&(b=x);var O=y.prototype=v.prototype=Object.create(b);function C(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function k(t,e){function n(i,o,s,a){var l=u(t[i],t,o);if("throw"!==l.type){var c=l.arg,h=c.value;return h&&"object"==typeof h&&r.call(h,"__await")?e.resolve(h.__await).then((function(t){n("next",t,s,a)}),(function(t){n("throw",t,s,a)})):e.resolve(h).then((function(t){c.value=t,s(c)}),(function(t){return n("throw",t,s,a)}))}a(l.arg)}var i;this._invoke=function(t,r){function o(){return new e((function(e,i){n(t,r,e,i)}))}return i=i?i.then(o,o):o()}}function S(t,n){var r=t.iterator[n.method];if(r===e){if(n.delegate=null,"throw"===n.method){if(t.iterator.return&&(n.method="return",n.arg=e,S(t,n),"throw"===n.method))return g;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return g}var i=u(r,t.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,g;var o=i.arg;return o?o.done?(n[t.resultName]=o.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,g):o:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,g)}function P(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function _(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function T(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(P,this),this.reset(!0)}function E(t){if(t){var n=t[o];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,s=function n(){for(;++i=0;--o){var s=this.tryEntries[o],a=s.completion;if("root"===s.tryLoc)return i("end");if(s.tryLoc<=this.prev){var l=r.call(s,"catchLoc"),c=r.call(s,"finallyLoc");if(l&&c){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),_(n),g}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;_(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:E(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),g}},t}(t.exports);try{regeneratorRuntime=e}catch(t){Function("r","regeneratorRuntime = r")(e)}},2828:(t,e,n)=>{var r={"./CanvasClear":7202,"./CanvasClear.js":7202,"./CanvasMove":327,"./CanvasMove.js":327,"./CommandAbstract":238,"./CommandAbstract.js":238,"./ComponentDelete":5820,"./ComponentDelete.js":5820,"./ComponentDrag":6694,"./ComponentDrag.js":6694,"./ComponentEnter":1947,"./ComponentEnter.js":1947,"./ComponentExit":3888,"./ComponentExit.js":3888,"./ComponentNext":5883,"./ComponentNext.js":5883,"./ComponentPrev":7508,"./ComponentPrev.js":7508,"./ComponentStyleClear":8769,"./ComponentStyleClear.js":8769,"./CopyComponent":2213,"./CopyComponent.js":2213,"./DeleteComponent":5049,"./DeleteComponent.js":5049,"./ExportTemplate":3775,"./ExportTemplate.js":3775,"./Fullscreen":58,"./Fullscreen.js":58,"./MoveComponent":8658,"./MoveComponent.js":8658,"./OpenAssets":9617,"./OpenAssets.js":9617,"./OpenBlocks":5821,"./OpenBlocks.js":5821,"./OpenLayers":3452,"./OpenLayers.js":3452,"./OpenStyleManager":2840,"./OpenStyleManager.js":2840,"./OpenTraitManager":8644,"./OpenTraitManager.js":8644,"./PasteComponent":560,"./PasteComponent.js":560,"./Preview":4944,"./Preview.js":4944,"./Resize":7538,"./Resize.js":7538,"./SelectComponent":2620,"./SelectComponent.js":2620,"./SelectPosition":8463,"./SelectPosition.js":8463,"./ShowOffset":7994,"./ShowOffset.js":7994,"./SwitchVisibility":8352,"./SwitchVisibility.js":8352};function i(t){var e=o(t);return n(e)}function o(t){if(!n.o(r,t)){var e=new Error("Cannot find module '"+t+"'");throw e.code='MODULE_NOT_FOUND',e}return r[t]}i.keys=function(){return Object.keys(r)},i.resolve=o,t.exports=i,i.id=2828},907:(t,e,n)=>{"use strict";function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);nr})},5861:(t,e,n)=>{"use strict";function r(t,e,n,r,i,o,s){try{var a=t[o](s),l=a.value}catch(t){return void n(t)}a.done?e(l):Promise.resolve(l).then(r,i)}function i(t){return function(){var e=this,n=arguments;return new Promise((function(i,o){var s=t.apply(e,n);function a(t){r(s,i,o,a,l,"next",t)}function l(t){r(s,i,o,a,l,"throw",t)}a(void 0)}))}}n.d(e,{Z:()=>i})},5671:(t,e,n)=>{"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}n.d(e,{Z:()=>r})},3144:(t,e,n)=>{"use strict";function r(t,e){for(var n=0;ni})},4942:(t,e,n)=>{"use strict";function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}n.d(e,{Z:()=>r})},1120:(t,e,n)=>{"use strict";function r(t){return r=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},r(t)}n.d(e,{Z:()=>r})},9340:(t,e,n)=>{"use strict";function r(t,e){return r=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},r(t,e)}function i(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&r(t,e)}n.d(e,{Z:()=>i})},4925:(t,e,n)=>{"use strict";function r(t,e){if(null==t)return{};var n,r,i=function(t,e){if(null==t)return{};var n,r,i={},o=Object.keys(t);for(r=0;r=0||(i[n]=t[n]);return i}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(i[n]=t[n])}return i}n.d(e,{Z:()=>r})},3930:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=n(1002);function i(t,e){return!e||"object"!==(0,r.Z)(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}},885:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=n(181);function i(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=t&&("undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"]);if(null!=n){var r,i,o=[],s=!0,a=!1;try{for(n=n.call(t);!(s=(r=n.next()).done)&&(o.push(r.value),!e||o.length!==e);s=!0);}catch(t){a=!0,i=t}finally{try{s||null==n.return||n.return()}finally{if(a)throw i}}return o}}(t,e)||(0,r.Z)(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}},168:(t,e,n)=>{"use strict";function r(t,e){return e||(e=t.slice(0)),Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}n.d(e,{Z:()=>r})},2982:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var r=n(907);var i=n(181);function o(t){return function(t){if(Array.isArray(t))return(0,r.Z)(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||(0,i.Z)(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}},1002:(t,e,n)=>{"use strict";function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}n.d(e,{Z:()=>r})},181:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=n(907);function i(t,e){if(t){if("string"==typeof t)return(0,r.Z)(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?(0,r.Z)(t,e):void 0}}},9050:(t,e,n)=>{"use strict";n.r(e),n.d(e,{VERSION:()=>i,after:()=>Le,all:()=>tn,allKeys:()=>vt,any:()=>en,assign:()=>Lt,before:()=>Re,bind:()=>Oe,bindAll:()=>Se,chain:()=>ye,chunk:()=>In,clone:()=>It,collect:()=>Ge,compact:()=>_n,compose:()=>Ae,constant:()=>X,contains:()=>nn,countBy:()=>gn,create:()=>Zt,debounce:()=>je,default:()=>zn,defaults:()=>Rt,defer:()=>Te,delay:()=>_e,detect:()=>We,difference:()=>En,drop:()=>Sn,each:()=>qe,escape:()=>se,every:()=>tn,extend:()=>At,extendOwn:()=>Lt,filter:()=>Xe,find:()=>We,findIndex:()=>Fe,findKey:()=>Ze,findLastIndex:()=>Ve,findWhere:()=>$e,first:()=>kn,flatten:()=>Tn,foldl:()=>Ye,foldr:()=>Je,forEach:()=>qe,functions:()=>Dt,get:()=>zt,groupBy:()=>dn,has:()=>Ut,head:()=>kn,identity:()=>Wt,include:()=>nn,includes:()=>nn,indexBy:()=>pn,indexOf:()=>ze,initial:()=>Cn,inject:()=>Ye,intersection:()=>An,invert:()=>jt,invoke:()=>rn,isArguments:()=>K,isArray:()=>$,isArrayBuffer:()=>Z,isBoolean:()=>T,isDataView:()=>W,isDate:()=>A,isElement:()=>E,isEmpty:()=>lt,isEqual:()=>gt,isError:()=>R,isFinite:()=>Y,isFunction:()=>V,isMap:()=>kt,isMatch:()=>ct,isNaN:()=>J,isNull:()=>P,isNumber:()=>M,isObject:()=>S,isRegExp:()=>L,isSet:()=>Pt,isString:()=>D,isSymbol:()=>N,isTypedArray:()=>it,isUndefined:()=>_,isWeakMap:()=>St,isWeakSet:()=>_t,iteratee:()=>Yt,keys:()=>at,last:()=>Pn,lastIndexOf:()=>Ue,map:()=>Ge,mapObject:()=>Xt,matcher:()=>$t,matches:()=>$t,max:()=>an,memoize:()=>Pe,methods:()=>Dt,min:()=>ln,mixin:()=>Vn,negate:()=>Me,noop:()=>Qt,now:()=>re,object:()=>Nn,omit:()=>On,once:()=>Ne,pairs:()=>Et,partial:()=>xe,partition:()=>vn,pick:()=>xn,pluck:()=>on,property:()=>qt,propertyOf:()=>te,random:()=>ne,range:()=>Zn,reduce:()=>Ye,reduceRight:()=>Je,reject:()=>Qe,rest:()=>Sn,restArguments:()=>k,result:()=>ge,sample:()=>cn,select:()=>Xe,shuffle:()=>un,size:()=>bn,some:()=>en,sortBy:()=>hn,sortedIndex:()=>He,tail:()=>Sn,take:()=>kn,tap:()=>Ft,template:()=>pe,templateSettings:()=>le,throttle:()=>Ee,times:()=>ee,toArray:()=>yn,toPath:()=>Vt,transpose:()=>Ln,unescape:()=>ae,union:()=>Mn,uniq:()=>Dn,unique:()=>Dn,uniqueId:()=>me,unzip:()=>Ln,values:()=>Tt,where:()=>sn,without:()=>jn,wrap:()=>De,zip:()=>Rn});var r={};n.r(r),n.d(r,{VERSION:()=>i,after:()=>Le,all:()=>tn,allKeys:()=>vt,any:()=>en,assign:()=>Lt,before:()=>Re,bind:()=>Oe,bindAll:()=>Se,chain:()=>ye,chunk:()=>In,clone:()=>It,collect:()=>Ge,compact:()=>_n,compose:()=>Ae,constant:()=>X,contains:()=>nn,countBy:()=>gn,create:()=>Zt,debounce:()=>je,default:()=>Hn,defaults:()=>Rt,defer:()=>Te,delay:()=>_e,detect:()=>We,difference:()=>En,drop:()=>Sn,each:()=>qe,escape:()=>se,every:()=>tn,extend:()=>At,extendOwn:()=>Lt,filter:()=>Xe,find:()=>We,findIndex:()=>Fe,findKey:()=>Ze,findLastIndex:()=>Ve,findWhere:()=>$e,first:()=>kn,flatten:()=>Tn,foldl:()=>Ye,foldr:()=>Je,forEach:()=>qe,functions:()=>Dt,get:()=>zt,groupBy:()=>dn,has:()=>Ut,head:()=>kn,identity:()=>Wt,include:()=>nn,includes:()=>nn,indexBy:()=>pn,indexOf:()=>ze,initial:()=>Cn,inject:()=>Ye,intersection:()=>An,invert:()=>jt,invoke:()=>rn,isArguments:()=>K,isArray:()=>$,isArrayBuffer:()=>Z,isBoolean:()=>T,isDataView:()=>W,isDate:()=>A,isElement:()=>E,isEmpty:()=>lt,isEqual:()=>gt,isError:()=>R,isFinite:()=>Y,isFunction:()=>V,isMap:()=>kt,isMatch:()=>ct,isNaN:()=>J,isNull:()=>P,isNumber:()=>M,isObject:()=>S,isRegExp:()=>L,isSet:()=>Pt,isString:()=>D,isSymbol:()=>N,isTypedArray:()=>it,isUndefined:()=>_,isWeakMap:()=>St,isWeakSet:()=>_t,iteratee:()=>Yt,keys:()=>at,last:()=>Pn,lastIndexOf:()=>Ue,map:()=>Ge,mapObject:()=>Xt,matcher:()=>$t,matches:()=>$t,max:()=>an,memoize:()=>Pe,methods:()=>Dt,min:()=>ln,mixin:()=>Vn,negate:()=>Me,noop:()=>Qt,now:()=>re,object:()=>Nn,omit:()=>On,once:()=>Ne,pairs:()=>Et,partial:()=>xe,partition:()=>vn,pick:()=>xn,pluck:()=>on,property:()=>qt,propertyOf:()=>te,random:()=>ne,range:()=>Zn,reduce:()=>Ye,reduceRight:()=>Je,reject:()=>Qe,rest:()=>Sn,restArguments:()=>k,result:()=>ge,sample:()=>cn,select:()=>Xe,shuffle:()=>un,size:()=>bn,some:()=>en,sortBy:()=>hn,sortedIndex:()=>He,tail:()=>Sn,take:()=>kn,tap:()=>Ft,template:()=>pe,templateSettings:()=>le,throttle:()=>Ee,times:()=>ee,toArray:()=>yn,toPath:()=>Vt,transpose:()=>Ln,unescape:()=>ae,union:()=>Mn,uniq:()=>Dn,unique:()=>Dn,uniqueId:()=>me,unzip:()=>Ln,values:()=>Tt,where:()=>sn,without:()=>jn,wrap:()=>De,zip:()=>Rn});var i='1.13.1',o='object'==typeof self&&self.self===self&&self||'object'==typeof global&&global.global===global&&global||Function('return this')()||{},s=Array.prototype,a=Object.prototype,l='undefined'!=typeof Symbol?Symbol.prototype:null,c=s.push,u=s.slice,h=a.toString,f=a.hasOwnProperty,d='undefined'!=typeof ArrayBuffer,p='undefined'!=typeof DataView,g=Array.isArray,v=Object.keys,m=Object.create,y=d&&ArrayBuffer.isView,b=isNaN,w=isFinite,x=!{toString:null}.propertyIsEnumerable('toString'),O=['valueOf','isPrototypeOf','toString','propertyIsEnumerable','hasOwnProperty','toLocaleString'],C=Math.pow(2,53)-1;function k(t,e){return e=null==e?t.length-1:+e,function(){for(var n=Math.max(arguments.length-e,0),r=Array(n),i=0;i=0&&n<=C}}function tt(t){return function(e){return null==e?void 0:e[t]}}const et=tt('byteLength'),nt=Q(et);var rt=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;const it=d?function(t){return y?y(t)&&!W(t):nt(t)&&rt.test(h.call(t))}:X(!1),ot=tt('length');function st(t,e){e=function(t){for(var e={},n=t.length,r=0;r':'>','"':'"',"'":''','`':'`'},se=ie(oe),ae=ie(jt(oe)),le=ut.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var ce=/(.)^/,ue={"'":"'",'\\':'\\','\r':'r','\n':'n','\u2028':'u2028','\u2029':'u2029'},he=/\\|'|\r|\n|\u2028|\u2029/g;function fe(t){return'\\'+ue[t]}var de=/^\s*(\w|\$)+\s*$/;function pe(t,e,n){!e&&n&&(e=n),e=Rt({},e,ut.templateSettings);var r=RegExp([(e.escape||ce).source,(e.interpolate||ce).source,(e.evaluate||ce).source].join('|')+'|$','g'),i=0,o="__p+='";t.replace(r,(function(e,n,r,s,a){return o+=t.slice(i,a).replace(he,fe),i=a+e.length,n?o+="'+\n((__t=("+n+"))==null?'':_.escape(__t))+\n'":r?o+="'+\n((__t=("+r+"))==null?'':__t)+\n'":s&&(o+="';\n"+s+"\n__p+='"),e})),o+="';\n";var s,a=e.variable;if(a){if(!de.test(a))throw new Error('variable is not a bare identifier: '+a)}else o='with(obj||{}){\n'+o+'}\n',a='obj';o="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+o+'return __p;\n';try{s=new Function(a,'_',o)}catch(t){throw t.source=o,t}var l=function(t){return s.call(this,t,ut)};return l.source='function('+a+'){\n'+o+'}',l}function ge(t,e,n){var r=(e=Ht(e)).length;if(!r)return V(n)?n.call(t):n;for(var i=0;i1)ke(a,e-1,n,r),i=r.length;else for(var l=0,c=a.length;le?(r&&(clearTimeout(r),r=null),a=c,s=t.apply(i,o),r||(i=o=null)):r||!1===n.trailing||(r=setTimeout(l,u)),s};return c.cancel=function(){clearTimeout(r),a=0,r=i=o=null},c}function je(t,e,n){var r,i,o,s,a,l=function(){var c=re()-i;e>c?r=setTimeout(l,e-c):(r=null,n||(s=t.apply(a,o)),r||(o=a=null))},c=k((function(c){return a=this,o=c,i=re(),r||(r=setTimeout(l,e),n&&(s=t.apply(a,o))),s}));return c.cancel=function(){clearTimeout(r),r=o=a=null},c}function De(t,e){return xe(e,t)}function Me(t){return function(){return!t.apply(this,arguments)}}function Ae(){var t=arguments,e=t.length-1;return function(){for(var n=e,r=t[e].apply(this,arguments);n--;)r=t[n].call(this,r);return r}}function Le(t,e){return function(){if(--t<1)return e.apply(this,arguments)}}function Re(t,e){var n;return function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=null),n}}const Ne=xe(Re,2);function Ze(t,e,n){e=Jt(e,n);for(var r,i=at(t),o=0,s=i.length;o0?0:i-1;o>=0&&o0?s=o>=0?o:Math.max(o+a,s):a=o>=0?Math.min(o+1,a):o+a+1;else if(n&&o&&a)return r[o=n(r,i)]===i?o:-1;if(i!=i)return(o=e(u.call(r,s,a),J))>=0?o+s:-1;for(o=t>0?s:a-1;o>=0&&o0?0:s-1;for(i||(r=e[o?o[a]:a],a+=t);a>=0&&a=3;return e(t,Gt(n,i,4),r,o)}}const Ye=Ke(1),Je=Ke(-1);function Xe(t,e,n){var r=[];return e=Jt(e,n),qe(t,(function(t,n,i){e(t,n,i)&&r.push(t)})),r}function Qe(t,e,n){return Xe(t,Me(Jt(e)),n)}function tn(t,e,n){e=Jt(e,n);for(var r=!Ce(t)&&at(t),i=(r||t).length,o=0;o=0}const rn=k((function(t,e,n){var r,i;return V(e)?i=e:(e=Ht(e),r=e.slice(0,-1),e=e[e.length-1]),Ge(t,(function(t){var o=i;if(!o){if(r&&r.length&&(t=Bt(t,r)),null==t)return;o=t[e]}return null==o?o:o.apply(t,n)}))}));function on(t,e){return Ge(t,qt(e))}function sn(t,e){return Xe(t,$t(e))}function an(t,e,n){var r,i,o=-1/0,s=-1/0;if(null==e||'number'==typeof e&&'object'!=typeof t[0]&&null!=t)for(var a=0,l=(t=Ce(t)?t:Tt(t)).length;ao&&(o=r);else e=Jt(e,n),qe(t,(function(t,n,r){((i=e(t,n,r))>s||i===-1/0&&o===-1/0)&&(o=t,s=i)}));return o}function ln(t,e,n){var r,i,o=1/0,s=1/0;if(null==e||'number'==typeof e&&'object'!=typeof t[0]&&null!=t)for(var a=0,l=(t=Ce(t)?t:Tt(t)).length;ar||void 0===n)return 1;if(n1&&(r=Gt(r,e[1])),e=vt(t)):(r=wn,e=ke(e,!1,!1),t=Object(t));for(var i=0,o=e.length;i1&&(n=e[1])):(e=Ge(ke(e,!1,!1),String),r=function(t,n){return!nn(e,n)}),xn(t,r,n)}));function Cn(t,e,n){return u.call(t,0,Math.max(0,t.length-(null==e||n?1:e)))}function kn(t,e,n){return null==t||t.length<1?null==e||n?void 0:[]:null==e||n?t[0]:Cn(t,t.length-e)}function Sn(t,e,n){return u.call(t,null==e||n?1:e)}function Pn(t,e,n){return null==t||t.length<1?null==e||n?void 0:[]:null==e||n?t[t.length-1]:Sn(t,Math.max(0,t.length-e))}function _n(t){return Xe(t,Boolean)}function Tn(t,e){return ke(t,e,!1)}const En=k((function(t,e){return e=ke(e,!0,!0),Xe(t,(function(t){return!nn(e,t)}))})),jn=k((function(t,e){return En(t,e)}));function Dn(t,e,n,r){T(e)||(r=n,n=e,e=!1),null!=n&&(n=Jt(n,r));for(var i=[],o=[],s=0,a=ot(t);s{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.g=function(){if('object'==typeof globalThis)return globalThis;try{return this||new Function('return this')()}catch(t){if('object'==typeof window)return window}}(),n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{'undefined'!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:'Module'}),Object.defineProperty(t,'__esModule',{value:!0})};var r={};return(()=>{"use strict";n.d(r,{default:()=>V});var t=n(4942),e=n(9050),i=n(2579);const o={stylePrefix:'gjs-',components:'',style:'',fromElement:0,noticeOnUnload:!0,showOffsets:!1,showOffsetsSelected:!1,forceClass:!0,height:'900px',width:'100%',log:['warning','error'],baseCss:"\n * {\n box-sizing: border-box;\n }\n html, body, [data-gjs-type=wrapper] {\n min-height: 100%;\n }\n body {\n margin: 0;\n height: 100%;\n background-color: #fff\n }\n [data-gjs-type=wrapper] {\n overflow: auto;\n overflow-x: hidden;\n }\n\n * ::-webkit-scrollbar-track {\n background: rgba(0, 0, 0, 0.1)\n }\n\n * ::-webkit-scrollbar-thumb {\n background: rgba(255, 255, 255, 0.2)\n }\n\n * ::-webkit-scrollbar {\n width: 10px\n }\n ",protectedCss:'* { box-sizing: border-box; } body {margin: 0;}',canvasCss:'',defaultCommand:'select-comp',showToolbar:1,showDevices:1,devicePreviewMode:0,mediaCondition:'max-width',tagVarStart:'{[ ',tagVarEnd:' ]}',keepEmptyTextNodes:0,jsInHtml:!0,nativeDnD:1,multipleSelection:1,optsHtml:{},optsCss:{},avoidInlineStyle:1,avoidDefaults:1,clearStyles:0,dragMode:0,listenToEl:[],cssIcons:'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css',icons:{close:'',move:'',plus:'',caret:'',delete:'',copy:'',arrowUp:''},el:'',i18n:{},undoManager:{},assetManager:{},canvas:{},layers:{},storageManager:{},richTextEditor:{},domComponents:{},modal:{},codeManager:{},panels:{},commands:{},cssComposer:{},selectorManager:{},deviceManager:{},styleManager:{},blockManager:{},traitManager:{},textViewCode:'Code',keepUnusedStyles:0,multiFrames:0,customUI:!1};var s=n(4925),a=n(5671),l=n(3144),c=n(9340),u=n(3930),h=n(1120),f=n(2316),d=n.n(f);var p=n(6183);function g(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=(0,h.Z)(t);if(e){var i=(0,h.Z)(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return(0,u.Z)(this,n)}}var v=function(t){(0,c.Z)(n,t);var e=g(n);function n(){return(0,a.Z)(this,n),e.apply(this,arguments)}return(0,l.Z)(n)}(f.Model),m=function(t){(0,c.Z)(r,t);var n=g(r);function r(){return(0,a.Z)(this,r),n.apply(this,arguments)}return(0,l.Z)(r,[{key:"getByComponent",value:function(t){var e=this;return this.filter((function(n){return e.getComponent(n)===t}))[0]}},{key:"addComponent",value:function(t,n){var r=this,i=((0,e.isArray)(t)?t:[t]).filter((function(t){return!r.hasComponent(t)})).map((function(t){return{component:t}}));return this.push(i,n)}},{key:"getComponent",value:function(t){return t.get('component')}},{key:"hasComponent",value:function(t){var e=this.getByComponent(t);return e&&this.contains(e)}},{key:"lastComponent",value:function(){var t=this.last();return t&&this.getComponent(t)}},{key:"allComponents",value:function(){var t=this;return this.map((function(e){return t.getComponent(e)})).filter((function(t){return t}))}},{key:"removeComponent",value:function(t,n){var r=this,i=((0,e.isArray)(t)?t:[t]).map((function(t){return r.getByComponent(t)}));return this.remove(i,n)}}]),r}(f.Collection);m.prototype.model=v;var y=["unset"];function b(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function w(e){for(var n=1;n0&&void 0!==arguments[0]?arguments[0]:{};this.config=n,this.set('Config',n),this.set('modules',[]),this.set('toLoad',[]),this.set('storables',[]),this.set('selected',new m),this.set('dmode',n.dragMode),this.set('hasPages',!!n.pageManager);var r=n.el,i=n.log,o=!0===i?(0,e.keys)(S):(0,e.isArray)(i)?i:[];(0,e.bindAll)(this,'initBaseColorPicker'),r&&n.fromElement&&(this.config.components=r.innerHTML),this.attrsOrig=r?(0,e.toArray)(r.attributes).reduce((function(t,e){return t[e.nodeName]=e.nodeValue,t}),{}):'',k.forEach((function(e){return t.loadModule(e)})),this.on('change:componentHovered',this.componentHovered,this),this.on('change:changesCount',this.updateChanges,this),this.on('change:readyLoad change:readyCanvas',this._checkReady,this),o.forEach((function(e){return t.listenLog(e)})),[{from:'change:selectedComponent',to:'component:toggled'}].forEach((function(e){var n=e.from,r=e.to;t.listenTo(t,n,(function(){for(var e=arguments.length,i=new Array(e),o=0;o0&&void 0!==arguments[0]?arguments[0]:null,n=this.get('StorageManager');this.get('toLoad').forEach((function(t){return t.onLoad()}));var i=function(){t.get('modules').forEach((function(e){return e.postLoad&&e.postLoad(t)})),t.set('readyLoad',1),e&&e()};n&&n.canAutoload()?this.load(i):setTimeout(i);var o=new r({noticeOnUnload:!1,storageManager:!1,undoManager:!1});['PageManager','Canvas'].forEach((function(t){return o.get(t).onLoad()})),this.set('shallow',o)}},{key:"updateChanges",value:function(){var t=this,e=this.get('StorageManager'),n=this.get('changesCount');C&&clearTimeout(C),C=setTimeout((function(){return t.trigger('update')})),this.config.noticeOnUnload&&(window.onbeforeunload=n?function(t){return 1}:null),e.isAutosave()&&n>=e.getStepsBeforeSave()&&this.store()}},{key:"loadModule",value:function(t){var n=this.config,r=new(t.default||t),i=r.name.charAt(0).toLowerCase()+r.name.slice(1),o=(0,e.isUndefined)(n[i])?n[r.name]:n[i],s=!0===o?{}:o||{},a=this.get('StorageManager');if(s.pStylePrefix=n.pStylePrefix||'',(0,e.isUndefined)(o)||o||(s._disable=1),r.storageKey&&r.store&&r.load&&a){s.stm=a;var l='domComponents'==i?'unshift':'push';this.get('storables')[l](r)}return s.em=this,r.init(w({},s)),!r.private&&this.set(r.name,r),r.onLoad&&this.get('toLoad').push(r),this.get('modules').push(r),this}},{key:"init",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.destroyed&&(this.initialize(e),this.destroyed=0),this.set('Editor',t)}},{key:"getEditor",value:function(){return this.get('Editor')}},{key:"handleUpdates",value:function(t,e){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.__skip||r.temporary||r.noCount||r.avoidStore||!this.get('ready')||(O&&clearTimeout(O),O=setTimeout((function(){var t=n.get('changesCount')||0,e=(r.unset,(0,s.Z)(r,y));n.set('changesCount',t+1,e)}),0))}},{key:"changesUp",value:function(t){this.handleUpdates(0,0,t)}},{key:"componentHovered",value:function(t,e,n){var r=this.previous('componentHovered');r&&this.trigger('component:unhovered',r,n),e&&this.trigger('component:hovered',e,n)}},{key:"getSelected",value:function(){return this.get('selected').lastComponent()}},{key:"getSelectedAll",value:function(){return this.get('selected').allComponents()}},{key:"setSelected",value:function(t){var n=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=r.event,s=o&&(o.ctrlKey||o.metaKey),a=o||{},l=a.shiftKey,c=(0,e.isArray)(t),u=(c?t:[t]).map((function(t){return(0,p.getModel)(t,i.default)})),h=this.getSelectedAll(),f=this.getConfig('multipleSelection');c&&this.removeSelected(h.filter((function(t){return!(0,e.contains)(u,t)}))),u.forEach((function(t){var i=(0,p.getModel)(t);if(i&&(n.trigger('component:select:before',i,r),!i.get('selectable')||r.abort)){if(!r.useValid)return;for(var o=i.parent();o&&!o.get('selectable');)o=o.parent();i=o}if(s&&f)return n.toggleSelected(i);if(l&&f){n.clearSelection(n.get('Canvas').getWindow());var a,u,d=i.collection,g=i.index();if(n.getSelectedAll().forEach((function(t){var n=t.collection,r=t.index();n===d&&(rg&&(u=(0,e.isUndefined)(u)?r:Math.min(u,r)))})),!(0,e.isUndefined)(a))for(;a!==g;)n.addSelected(d.at(a)),a++;if(!(0,e.isUndefined)(u))for(;u!==g;)n.addSelected(d.at(u)),u--;return n.addSelected(i)}!c&&n.removeSelected(h.filter((function(t){return t!==i}))),n.addSelected(i,r),i}))}},{key:"addSelected",value:function(t){var n=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=(0,p.getModel)(t,i.default),s=(0,e.isArray)(o)?o:[o];s.forEach((function(t){if(!t||t.get('selectable')){var e=n.get('selected');r.forceChange&&n.removeSelected(t,r),e.addComponent(t,r),t&&n.trigger('component:select',t,r)}}))}},{key:"removeSelected",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.get('selected').removeComponent((0,p.getModel)(t,i.default),e)}},{key:"toggleSelected",value:function(t){var n=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=(0,p.getModel)(t,i.default),s=(0,e.isArray)(o)?o:[o];s.forEach((function(t){n.get('selected').hasComponent(t)?n.removeSelected(t,r):n.addSelected(t,r)}))}},{key:"setHovered",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!t)return this.set('componentHovered','');var n='component:hover',r=(0,p.getModel)(t);if(r){if(e.forceChange&&this.set('componentHovered',''),this.trigger("".concat(n,":before"),r,e),!r.get('hoverable')){if(!e.useValid||e.abort)return;for(var i=r&&r.parent();i&&!i.get('hoverable');)i=i.parent();r=i}e.abort||(this.set('componentHovered',r,e),this.trigger(n,r,e))}}},{key:"getHovered",value:function(){return this.get('componentHovered')}},{key:"setComponents",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.get('DomComponents').setComponents(t,e)}},{key:"getComponents",value:function(){var t=this.get('DomComponents'),e=this.get('CodeManager');if(t&&e){var n=t.getComponents();return e.getCode(n,'json')}}},{key:"setStyle",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.get('CssComposer');return n.clear(e),n.getAll().add(t,e),this}},{key:"addStyle",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=this.getStyle().add(t,n);return(0,e.isArray)(r)?r:[r]}},{key:"getStyle",value:function(){return this.get('CssComposer').getAll()}},{key:"setState",value:function(t){return this.set('state',t),this}},{key:"getState",value:function(){return this.get('state')||''}},{key:"getHtml",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.config,n=e.optsHtml,r=e.jsInHtml?this.getJs(t):'',i=t.component||this.get('DomComponents').getComponent(),o=i?this.get('CodeManager').getCode(i,'html',w(w({},n),t)):'';return o+=r?"` : '';\n return html;\n }\n\n /**\n * Returns CSS built inside canvas\n * @param {Object} [opts={}] Options\n * @returns {string} CSS string\n * @private\n */\n getCss(opts = {}) {\n const config = this.config;\n const { optsCss } = config;\n const avoidProt = opts.avoidProtected;\n const keepUnusedStyles = !isUndefined(opts.keepUnusedStyles) ? opts.keepUnusedStyles : config.keepUnusedStyles;\n const cssc = this.get('CssComposer');\n const wrp = opts.component || this.get('DomComponents').getComponent();\n const protCss = !avoidProt ? config.protectedCss : '';\n const css =\n wrp &&\n this.get('CodeManager').getCode(wrp, 'css', {\n cssc,\n keepUnusedStyles,\n ...optsCss,\n ...opts,\n });\n return wrp ? (opts.json ? css : protCss + css) : '';\n }\n\n /**\n * Returns JS of all components\n * @return {string} JS string\n * @private\n */\n getJs(opts = {}) {\n var wrp = opts.component || this.get('DomComponents').getWrapper();\n return wrp ? this.get('CodeManager').getCode(wrp, 'js').trim() : '';\n }\n\n /**\n * Store data to the current storage\n * @param {Function} clb Callback function\n * @return {Object} Stored data\n * @private\n */\n store(clb) {\n const sm = this.get('StorageManager');\n if (!sm) return;\n\n const store = this.storeData();\n sm.store(store, res => {\n clb && clb(res, store);\n this.set('changesCount', 0);\n this.trigger('storage:store', store);\n });\n\n return store;\n }\n\n storeData() {\n let result = {};\n // Sync content if there is an active RTE\n const editingCmp = this.getEditing();\n editingCmp && editingCmp.trigger('sync:content', { noCount: true });\n\n this.get('storables').forEach(m => {\n result = { ...result, ...m.store(1) };\n });\n return result;\n }\n\n /**\n * Load data from the current storage\n * @param {Function} clb Callback function\n * @private\n */\n load(clb = null) {\n this.getCacheLoad(1, res => {\n this.loadData(res);\n clb && clb(res);\n });\n }\n\n loadData(data = {}) {\n const sm = this.get('StorageManager');\n const result = sm.__clearKeys(data);\n\n this.get('storables').forEach(module => {\n module.load(result);\n module.postLoad && module.postLoad(this);\n });\n\n return result;\n }\n\n /**\n * Returns cached load\n * @param {Boolean} force Force to reload\n * @param {Function} clb Callback function\n * @return {Object}\n * @private\n */\n getCacheLoad(force, clb) {\n if (this.cacheLoad && !force) return this.cacheLoad;\n const sm = this.get('StorageManager');\n const load = [];\n\n if (!sm) return {};\n\n this.get('storables').forEach(m => {\n let key = m.storageKey;\n key = isFunction(key) ? key() : key;\n const keys = isArray(key) ? key : [key];\n keys.forEach(k => load.push(k));\n });\n\n sm.load(load, res => {\n this.cacheLoad = res;\n clb && clb(res);\n setTimeout(() => this.trigger('storage:load', res));\n });\n }\n\n /**\n * Returns device model by name\n * @return {Device|null}\n * @private\n */\n getDeviceModel() {\n var name = this.get('device');\n return this.get('DeviceManager').get(name);\n }\n\n /**\n * Run default command if setted\n * @param {Object} [opts={}] Options\n * @private\n */\n runDefault(opts = {}) {\n var command = this.get('Commands').get(this.config.defaultCommand);\n if (!command || this.defaultRunning) return;\n command.stop(this, this, opts);\n command.run(this, this, opts);\n this.defaultRunning = 1;\n }\n\n /**\n * Stop default command\n * @param {Object} [opts={}] Options\n * @private\n */\n stopDefault(opts = {}) {\n const commands = this.get('Commands');\n const command = commands.get(this.config.defaultCommand);\n if (!command || !this.defaultRunning) return;\n command.stop(this, this, opts);\n this.defaultRunning = 0;\n }\n\n /**\n * Update canvas dimensions and refresh data useful for tools positioning\n * @private\n */\n refreshCanvas(opts = {}) {\n this.set('canvasOffset', null);\n this.set('canvasOffset', this.get('Canvas').getOffset());\n opts.tools && this.trigger('canvas:updateTools');\n }\n\n /**\n * Clear all selected stuf inside the window, sometimes is useful to call before\n * doing some dragging opearation\n * @param {Window} win If not passed the current one will be used\n * @private\n */\n clearSelection(win) {\n var w = win || window;\n w.getSelection().removeAllRanges();\n }\n\n /**\n * Get the current media text\n * @return {string}\n */\n getCurrentMedia() {\n const config = this.config;\n const device = this.getDeviceModel();\n const condition = config.mediaCondition;\n const preview = config.devicePreviewMode;\n const width = device && device.get('widthMedia');\n return device && width && !preview ? `(${condition}: ${width})` : '';\n }\n\n /**\n * Return the component wrapper\n * @return {Component}\n */\n getWrapper() {\n return this.get('DomComponents').getWrapper();\n }\n\n setCurrentFrame(frameView) {\n return this.set('currentFrame', frameView);\n }\n\n getCurrentFrame() {\n return this.get('currentFrame');\n }\n\n getCurrentFrameModel() {\n return (this.getCurrentFrame() || {}).model;\n }\n\n getIcon(icon) {\n const icons = this.getConfig('icons') || {};\n return icons[icon] || '';\n }\n\n /**\n * Return the count of changes made to the content and not yet stored.\n * This count resets at any `store()`\n * @return {number}\n */\n getDirtyCount() {\n return this.get('changesCount');\n }\n\n getZoomDecimal() {\n return this.get('Canvas').getZoomDecimal();\n }\n\n getZoomMultiplier() {\n return this.get('Canvas').getZoomMultiplier();\n }\n\n setDragMode(value) {\n return this.set('dmode', value);\n }\n\n t(...args) {\n const i18n = this.get('I18n');\n return i18n?.t(...args);\n }\n\n /**\n * Returns true if the editor is in absolute mode\n * @returns {Boolean}\n */\n inAbsoluteMode() {\n return this.get('dmode') === 'absolute';\n }\n\n /**\n * Destroy editor\n */\n destroyAll() {\n const { config, view } = this;\n const editor = this.getEditor();\n const { editors = [] } = config.grapesjs || {};\n const shallow = this.get('shallow');\n shallow?.destroyAll();\n this.stopListening();\n this.stopDefault();\n this.get('modules')\n .slice()\n .reverse()\n .forEach(mod => mod.destroy());\n view && view.remove();\n this.clear({ silent: true });\n this.destroyed = 1;\n ['config', 'view', '_previousAttributes', '_events', '_listeners'].forEach(i => (this[i] = {}));\n editors.splice(editors.indexOf(editor), 1);\n hasWin() && $(config.el).empty().attr(this.attrsOrig);\n }\n\n getEditing() {\n const res = this.get('editing');\n return (res && res.model) || null;\n }\n\n setEditing(value) {\n this.set('editing', value);\n return this;\n }\n\n isEditing() {\n return !!this.get('editing');\n }\n\n log(msg, opts = {}) {\n const { ns, level = 'debug' } = opts;\n this.trigger('log', msg, opts);\n level && this.trigger(`log:${level}`, msg, opts);\n\n if (ns) {\n const logNs = `log-${ns}`;\n this.trigger(logNs, msg, opts);\n level && this.trigger(`${logNs}:${level}`, msg, opts);\n }\n }\n\n logInfo(msg, opts) {\n this.log(msg, { ...opts, level: 'info' });\n }\n\n logWarning(msg, opts) {\n this.log(msg, { ...opts, level: 'warning' });\n }\n\n logError(msg, opts) {\n this.log(msg, { ...opts, level: 'error' });\n }\n\n initBaseColorPicker(el, opts = {}) {\n const config = this.getConfig();\n const { colorPicker = {} } = config;\n const elToAppend = config.el;\n const ppfx = config.stylePrefix;\n\n return $(el).spectrum({\n containerClassName: `${ppfx}one-bg ${ppfx}two-color`,\n appendTo: elToAppend || 'body',\n maxSelectionSize: 8,\n showPalette: true,\n palette: [],\n showAlpha: true,\n chooseText: 'Ok',\n cancelText: '⨯',\n ...opts,\n ...colorPicker,\n });\n }\n\n /**\n * Execute actions without triggering the storage and undo manager.\n * @param {Function} clb\n * @private\n */\n skip(clb) {\n this.__skip = true;\n const um = this.get('UndoManager');\n um ? um.skip(clb) : clb();\n this.__skip = false;\n }\n\n /**\n * Set/get data from the HTMLElement\n * @param {HTMLElement} el\n * @param {string} name Data name\n * @param {any} value Date value\n * @return {any}\n * @private\n */\n data(el, name, value) {\n const varName = '_gjs-data';\n\n if (!el[varName]) {\n el[varName] = {};\n }\n\n if (isUndefined(value)) {\n return el[varName][name];\n } else {\n el[varName][name] = value;\n }\n }\n}\n","import { isObject, isString, each, isUndefined } from 'underscore';\n\nexport default ({ $ }) => {\n if ($ && $.prototype && $.prototype.constructor.name !== 'jQuery') {\n const fn = $.fn;\n\n // Additional helpers\n\n fn.hide = function() {\n return this.css('display', 'none');\n };\n\n fn.show = function() {\n return this.css('display', 'block');\n };\n\n fn.focus = function() {\n const el = this.get(0);\n el && el.focus();\n return this;\n };\n\n // For SVGs in IE\n // (fn.removeClass = function(c) {\n // if (!arguments.length) {\n // return this.attr('class', '');\n // }\n // const classes = isString(c) && c.match(/\\S+/g);\n // return classes\n // ? this.each(function(el) {\n // each(classes, function(c) {\n // if (el.classList) {\n // el.classList.remove(c);\n // } else {\n // const val = el.className;\n // const bval = el.className.baseVal;\n\n // if (!isUndefined(bval)) {\n // val.baseVal = bval.replace(c, '');\n // } else {\n // el.className = val.replace(c, '');\n // }\n // }\n // });\n // })\n // : this;\n // }),\n // (fn.remove = function() {\n // return this.each(node => {\n // return node.parentNode && node.parentNode.removeChild(node);\n // });\n // }),\n\n // For spectrum compatibility\n\n fn.bind = function(ev, h) {\n return this.on(ev, h);\n };\n\n fn.unbind = function(ev, h) {\n if (isObject(ev)) {\n for (let name in ev) {\n ev.hasOwnProperty(name) && this.off(name, ev[name]);\n }\n\n return this;\n } else {\n return this.off(ev, h);\n }\n };\n\n fn.click = function(h) {\n return h ? this.on('click', h) : this.trigger('click');\n };\n\n fn.change = function(h) {\n return h ? this.on('change', h) : this.trigger('change');\n };\n\n fn.keydown = function(h) {\n return h ? this.on('keydown', h) : this.trigger('keydown');\n };\n\n fn.delegate = function(selector, events, data, handler) {\n if (!handler) {\n handler = data;\n }\n\n return this.on(events, selector, function(e) {\n e.data = data;\n handler(e);\n });\n };\n\n fn.scrollLeft = function() {\n let el = this.get(0);\n el = el.nodeType == 9 ? el.defaultView : el;\n let win = el instanceof Window ? el : null;\n return win ? win.pageXOffset : el.scrollLeft || 0;\n };\n\n fn.scrollTop = function() {\n let el = this.get(0);\n el = el.nodeType == 9 ? el.defaultView : el;\n let win = el instanceof Window ? el : null;\n return win ? win.pageYOffset : el.scrollTop || 0;\n };\n\n const offset = $.prototype.offset;\n fn.offset = function(coords) {\n let top, left;\n\n if (coords) {\n top = coords.top;\n left = coords.left;\n }\n\n if (typeof top != 'undefined') {\n this.css('top', `${top}px`);\n }\n if (typeof left != 'undefined') {\n this.css('left', `${left}px`);\n }\n\n return offset.call(this);\n };\n\n $.map = function(items, clb) {\n const ar = [];\n\n for (var i = 0; i < items.length; i++) {\n ar.push(clb(items[i], i));\n }\n\n return ar;\n };\n\n const indexOf = Array.prototype.indexOf;\n\n $.inArray = function(val, arr, i) {\n return arr == null ? -1 : indexOf.call(arr, val, i);\n };\n\n $.Event = function(src, props) {\n if (!(this instanceof $.Event)) {\n return new $.Event(src, props);\n }\n\n this.type = src;\n this.isDefaultPrevented = () => false;\n };\n }\n};\n","import Backbone from 'backbone';\nimport { View } from 'common';\nimport { appendStyles } from 'utils/mixins';\n\nconst $ = Backbone.$;\n\nexport default class EditorView extends View {\n initialize() {\n const { model } = this;\n model.view = this;\n this.conf = model.config;\n this.pn = model.get('Panels');\n this.cv = model.get('Canvas');\n model.once('change:ready', () => {\n this.pn.active();\n this.pn.disableButtons();\n setTimeout(() => {\n model.trigger('load', model.get('Editor'));\n model.set('changesCount', 0);\n });\n });\n }\n\n render() {\n const { $el, conf, model } = this;\n const pfx = conf.stylePrefix;\n const contEl = $(conf.el || `body ${conf.container}`);\n appendStyles(conf.cssIcons, { unique: 1, prepand: 1 });\n $el.empty();\n\n if (conf.width) contEl.css('width', conf.width);\n if (conf.height) contEl.css('height', conf.height);\n\n $el.append(this.cv.render());\n $el.append(this.pn.render());\n\n // Load shallow editor\n const shallow = model.get('shallow');\n const shallowCanvasEl = shallow.get('Canvas').render();\n shallowCanvasEl.style.display = 'none';\n $el.append(shallowCanvasEl);\n\n $el.attr('class', `${pfx}editor ${pfx}one-bg ${pfx}two-color`);\n contEl.addClass(`${pfx}editor-cont`).empty().append($el);\n\n return this;\n }\n}\n","/**\n * Editor contains the top level API which you'll probably use to customize the editor or extend it with plugins.\n * You get the Editor instance on init method and you can pass options via its [Configuration Object](https://github.com/artf/grapesjs/blob/master/src/editor/config/config.js)\n *\n * ```js\n * const editor = grapesjs.init({\n * // options\n * });\n * ```\n *\n * ## Available Events\n *\n * You can make use of available events in this way\n * ```js\n * editor.on('EVENT-NAME', (some, argument) => {\n * // do something\n * })\n * ```\n *\n * * `update` - The structure of the template is updated (its HTML/CSS)\n * * `undo` - Undo executed\n * * `redo` - Redo executed\n * * `load` - Editor is loaded\n *\n * ### Components\n * Check the [Components](/api/components.html) module.\n * ### Keymaps\n * Check the [Keymaps](/api/keymaps.html) module.\n * ### Style Manager\n * Check the [Style Manager](/api/style_manager.html) module.\n * ### Storage\n * Check the [Storage](/api/storage_manager.html) module.\n * ### Canvas\n * Check the [Canvas](/api/canvas.html) module.\n * ### RTE\n * Check the [Rich Text Editor](/api/rich_text_editor.html) module.\n * ### Commands\n * Check the [Commands](/api/commands.html) module.\n * ### Selectors\n * Check the [Selectors](/api/selector_manager.html) module.\n * ### Blocks\n * Check the [Blocks](/api/block_manager.html) module.\n * ### Assets\n * Check the [Assets](/api/assets.html) module.\n * ### Modal\n * Check the [Modal](/api/modal_dialog.html) module.\n * ### Devices\n * Check the [Devices](/api/device_manager.html) module.\n * ### Parser\n * Check the [Parser](/api/parser.html) module.\n * ### Pages\n * Check the [Pages](/api/pages.html) module.\n *\n * ## Methods\n * @module Editor\n */\nimport defaults from './config/config';\nimport EditorModel from './model/Editor';\nimport EditorView from './view/EditorView';\nimport html from 'utils/html';\n\nexport default (config = {}, opts = {}) => {\n const { $ } = opts;\n let c = {\n ...defaults,\n ...config,\n };\n\n c.pStylePrefix = c.stylePrefix;\n let em = new EditorModel(c);\n let editorView;\n\n return {\n $,\n\n /**\n * @property {EditorModel}\n * @private\n */\n editor: em,\n\n modules: [],\n\n /**\n * Initialize editor model\n * @return {this}\n * @private\n */\n init(opts = {}) {\n em.init(this, { ...c, ...opts });\n\n this.modules = [\n 'I18n',\n 'Utils',\n 'Config',\n 'Commands',\n 'Keymaps',\n 'Modal',\n 'Panels',\n 'Canvas',\n 'Parser',\n 'CodeManager',\n 'UndoManager',\n 'RichTextEditor',\n ['Pages', 'PageManager'],\n 'DomComponents',\n ['Components', 'DomComponents'],\n 'LayerManager',\n ['Layers', 'LayerManager'],\n 'CssComposer',\n ['Css', 'CssComposer'],\n 'StorageManager',\n ['Storage', 'StorageManager'],\n 'AssetManager',\n ['Assets', 'AssetManager'],\n 'BlockManager',\n ['Blocks', 'BlockManager'],\n 'TraitManager',\n ['Traits', 'TraitManager'],\n 'SelectorManager',\n ['Selectors', 'SelectorManager'],\n 'StyleManager',\n ['Styles', 'StyleManager'],\n 'DeviceManager',\n ['Devices', 'DeviceManager'],\n ];\n\n this.modules.forEach(prop => {\n if (Array.isArray(prop)) {\n this[prop[0]] = em.get(prop[1]);\n } else {\n this[prop] = em.get(prop);\n }\n });\n\n // Do post render stuff after the iframe is loaded otherwise it'll\n // be empty during tests\n em.once('change:ready', () => {\n this.UndoManager.clear();\n em.get('modules').forEach(module => {\n module.postRender && module.postRender(editorView);\n });\n });\n\n return this;\n },\n\n /**\n * Returns configuration object\n * @param {string} [prop] Property name\n * @returns {any} Returns the configuration object or\n * the value of the specified property\n */\n getConfig(prop) {\n return em.getConfig(prop);\n },\n\n /**\n * Returns HTML built inside canvas\n * @param {Object} [opts={}] Options\n * @param {Component} [opts.component] Return the HTML of a specific Component\n * @param {Boolean} [opts.cleanId=false] Remove unnecessary IDs (eg. those created automatically)\n * @returns {string} HTML string\n */\n getHtml(opts) {\n return em.getHtml(opts);\n },\n\n /**\n * Returns CSS built inside canvas\n * @param {Object} [opts={}] Options\n * @param {Component} [opts.component] Return the CSS of a specific Component\n * @param {Boolean} [opts.json=false] Return an array of CssRules instead of the CSS string\n * @param {Boolean} [opts.avoidProtected=false] Don't include protected CSS\n * @param {Boolean} [opts.onlyMatched=false] Return only rules matched by the passed component.\n * @param {Boolean} [opts.keepUnusedStyles=false] Force keep all defined rules. Toggle on in case output looks different inside/outside of the editor.\n * @returns {String|Array} CSS string or array of CssRules\n */\n getCss(opts) {\n return em.getCss(opts);\n },\n\n /**\n * Returns JS of all components\n * @param {Object} [opts={}] Options\n * @param {Component} [opts.component] Get the JS of a specific component\n * @returns {String} JS string\n */\n getJs(opts) {\n return em.getJs(opts);\n },\n\n /**\n * Return the complete tree of components. Use `getWrapper` to include also the wrapper\n * @return {Components}\n */\n getComponents() {\n return em.get('DomComponents').getComponents();\n },\n\n /**\n * Return the wrapper and its all components\n * @return {Component}\n */\n getWrapper() {\n return em.get('DomComponents').getWrapper();\n },\n\n /**\n * Set components inside editor's canvas. This method overrides actual components\n * @param {Array|Object|string} components HTML string or components model\n * @param {Object} opt the options object to be used by the [setComponents]{@link em#setComponents} method\n * @return {this}\n * @example\n * editor.setComponents('
New component
');\n * // or\n * editor.setComponents({\n * type: 'text',\n * classes:['cls'],\n * content: 'New component'\n * });\n */\n setComponents(components, opt = {}) {\n em.setComponents(components, opt);\n return this;\n },\n\n /**\n * Add components\n * @param {Array|Object|string} components HTML string or components model\n * @param {Object} opts Options\n * @param {Boolean} [opts.avoidUpdateStyle=false] If the HTML string contains styles,\n * by default, they will be created and, if already exist, updated. When this option\n * is true, styles already created will not be updated.\n * @return {Array}\n * @example\n * editor.addComponents('
New component
');\n * // or\n * editor.addComponents({\n * type: 'text',\n * classes:['cls'],\n * content: 'New component'\n * });\n */\n addComponents(components, opts) {\n return this.getWrapper().append(components, opts);\n },\n\n /**\n * Returns style in JSON format object\n * @return {Object}\n */\n getStyle() {\n return em.get('CssComposer').getAll();\n },\n\n /**\n * Set style inside editor's canvas. This method overrides actual style\n * @param {Array|Object|string} style CSS string or style model\n * @return {this}\n * @example\n * editor.setStyle('.cls{color: red}');\n * //or\n * editor.setStyle({\n * selectors: ['cls'],\n * style: { color: 'red' }\n * });\n */\n setStyle(style, opt = {}) {\n em.setStyle(style, opt);\n return this;\n },\n\n /**\n * Add styles to the editor\n * @param {Array|Object|string} style CSS string or style model\n * @returns {Array} Array of created CssRule instances\n * @example\n * editor.addStyle('.cls{color: red}');\n */\n addStyle(style, opts = {}) {\n return em.addStyle(style, opts);\n },\n\n /**\n * Returns the last selected component, if there is one\n * @return {Model}\n */\n getSelected() {\n return em.getSelected();\n },\n\n /**\n * Returns an array of all selected components\n * @return {Array}\n */\n getSelectedAll() {\n return em.getSelectedAll();\n },\n\n /**\n * Get a stylable entity from the selected component.\n * If you select a component without classes the entity is the Component\n * itself and all changes will go inside its 'style' attribute. Otherwise,\n * if the selected component has one or more classes, the function will\n * return the corresponding CSS Rule\n * @return {Model}\n */\n getSelectedToStyle() {\n let selected = em.getSelected();\n\n if (selected) {\n return this.StyleManager.getModelToStyle(selected);\n }\n },\n\n /**\n * Select a component\n * @param {Component|HTMLElement} el Component to select\n * @param {Object} [opts] Options\n * @param {Boolean} [opts.scroll] Scroll canvas to the selected element\n * @return {this}\n * @example\n * // Select dropped block\n * editor.on('block:drag:stop', function(model) {\n * editor.select(model);\n * });\n */\n select(el, opts) {\n em.setSelected(el, opts);\n return this;\n },\n\n /**\n * Add component to selection\n * @param {Component|HTMLElement|Array} el Component to select\n * @return {this}\n * @example\n * editor.selectAdd(model);\n */\n selectAdd(el) {\n em.addSelected(el);\n return this;\n },\n\n /**\n * Remove component from selection\n * @param {Component|HTMLElement|Array} el Component to select\n * @return {this}\n * @example\n * editor.selectRemove(model);\n */\n selectRemove(el) {\n em.removeSelected(el);\n return this;\n },\n\n /**\n * Toggle component selection\n * @param {Component|HTMLElement|Array} el Component to select\n * @return {this}\n * @example\n * editor.selectToggle(model);\n */\n selectToggle(el) {\n em.toggleSelected(el);\n return this;\n },\n\n /**\n * Returns, if active, the Component enabled in rich text editing mode.\n * @returns {Component|null}\n * @example\n * const textComp = editor.getEditing();\n * if (textComp) {\n * console.log('HTML: ', textComp.toHTML());\n * }\n */\n getEditing() {\n return em.getEditing();\n },\n\n /**\n * Set device to the editor. If the device exists it will\n * change the canvas to the proper width\n * @param {string} name Name of the device\n * @return {this}\n * @example\n * editor.setDevice('Tablet');\n */\n setDevice(name) {\n em.set('device', name);\n return this;\n },\n\n /**\n * Return the actual active device\n * @return {string} Device name\n * @example\n * var device = editor.getDevice();\n * console.log(device);\n * // 'Tablet'\n */\n getDevice() {\n return em.get('device');\n },\n\n /**\n * Execute command\n * @param {string} id Command ID\n * @param {Object} options Custom options\n * @return {*} The return is defined by the command\n * @example\n * editor.runCommand('myCommand', {someValue: 1});\n */\n runCommand(id, options = {}) {\n return em.get('Commands').run(id, options);\n },\n\n /**\n * Stop the command if stop method was provided\n * @param {string} id Command ID\n * @param {Object} options Custom options\n * @return {*} The return is defined by the command\n * @example\n * editor.stopCommand('myCommand', {someValue: 1});\n */\n stopCommand(id, options = {}) {\n return em.get('Commands').stop(id, options);\n },\n\n /**\n * Store data to the current storage\n * @param {Function} clb Callback function\n * @return {Object} Stored data\n */\n store(clb) {\n return em.store(clb);\n },\n\n /**\n * Get the JSON project data, which could be stored and loaded back with `editor.loadProject(json)`\n * @returns {Object}\n * @example\n * console.log(editor.getProject());\n * // { pages: [...], styles: [...], ... }\n */\n getProject() {\n return em.storeData();\n },\n\n storeData() {\n return em.storeData();\n },\n\n /**\n * Load data from the current storage\n * @param {Function} clb Callback function\n * @return {Object} Stored data\n */\n load(clb) {\n return em.load(clb);\n },\n\n /**\n * Load data from the JSON project\n * @param {Object} data Project to load\n * @example\n * editor.loadProject({ pages: [...], styles: [...], ... })\n */\n loadProject(data) {\n return em.loadData(data);\n },\n\n loadData(data) {\n return em.loadData(data);\n },\n\n /**\n * Returns container element. The one which was indicated as 'container'\n * on init method\n * @return {HTMLElement}\n */\n getContainer() {\n return c.el;\n },\n\n /**\n * Return the count of changes made to the content and not yet stored.\n * This count resets at any `store()`\n * @return {number}\n */\n getDirtyCount() {\n return em.getDirtyCount();\n },\n\n /**\n * Update editor dimension offsets\n *\n * This method could be useful when you update, for example, some position\n * of the editor element (eg. canvas, panels, etc.) with CSS, where without\n * refresh you'll get misleading position of tools\n * @param {Object} [options] Options\n * @param {Boolean} [options.tools=false] Update the position of tools (eg. rich text editor, component highlighter, etc.)\n */\n refresh(opts) {\n em.refreshCanvas(opts);\n },\n\n /**\n * Replace the built-in Rich Text Editor with a custom one.\n * @param {Object} obj Custom RTE Interface\n * @example\n * editor.setCustomRte({\n * // Function for enabling custom RTE\n * // el is the HTMLElement of the double clicked Text Component\n * // rte is the same instance you have returned the first time you call\n * // enable(). This is useful if need to check if the RTE is already enabled so\n * // ion this case you'll need to return the RTE and the end of the function\n * enable: function(el, rte) {\n * rte = new MyCustomRte(el, {}); // this depends on the Custom RTE API\n * ...\n * return rte; // return the RTE instance\n * },\n *\n * // Disable the editor, called for example when you unfocus the Text Component\n * disable: function(el, rte) {\n * rte.blur(); // this depends on the Custom RTE API\n * }\n *\n * // Called when the Text Component is focused again. If you returned the RTE instance\n * // from the enable function, the enable won't be called again instead will call focus,\n * // in this case to avoid double binding of the editor\n * focus: function (el, rte) {\n * rte.focus(); // this depends on the Custom RTE API\n * }\n * });\n */\n setCustomRte(obj) {\n this.RichTextEditor.customRte = obj;\n },\n\n /**\n * Replace the default CSS parser with a custom one.\n * The parser function receives a CSS string as a parameter and expects\n * an array of CSSRule objects as a result. If you need to remove the\n * custom parser, pass `null` as the argument\n * @param {Function|null} parser Parser function\n * @return {this}\n * @example\n * editor.setCustomParserCss(css => {\n * const result = [];\n * // ... parse the CSS string\n * result.push({\n * selectors: '.someclass, div .otherclass',\n * style: { color: 'red' }\n * })\n * // ...\n * return result;\n * });\n */\n setCustomParserCss(parser) {\n this.Parser.getConfig().parserCss = parser;\n return this;\n },\n\n /**\n * Change the global drag mode of components.\n * To get more about this feature read: https://github.com/artf/grapesjs/issues/1936\n * @param {String} value Drag mode, options: 'absolute' | 'translate'\n * @returns {this}\n */\n setDragMode(value) {\n em.setDragMode(value);\n return this;\n },\n\n /**\n * Trigger event log message\n * @param {*} msg Message to log\n * @param {Object} [opts={}] Custom options\n * @param {String} [opts.ns=''] Namespace of the log (eg. to use in plugins)\n * @param {String} [opts.level='debug'] Level of the log, `debug`, `info`, `warning`, `error`\n * @return {this}\n * @example\n * editor.log('Something done!', { ns: 'from-plugin-x', level: 'info' });\n * // This will trigger following events\n * // `log`, `log:info`, `log-from-plugin-x`, `log-from-plugin-x:info`\n * // Callbacks of those events will always receive the message and\n * // options, as arguments, eg:\n * // editor.on('log:info', (msg, opts) => console.info(msg, opts))\n */\n log(msg, opts = {}) {\n em.log(msg, opts);\n return this;\n },\n\n /**\n * Translate label\n * @param {String} key Label to translate\n * @param {Object} [opts] Options for the translation\n * @param {Object} [opts.params] Params for the translation\n * @param {Boolean} [opts.noWarn] Avoid warnings in case of missing resources\n * @returns {String}\n * @example\n * editor.t('msg');\n * // use params\n * editor.t('msg2', { params: { test: 'hello' } });\n * // custom local\n * editor.t('msg2', { params: { test: 'hello' }, l: 'it' });\n */\n t(...args) {\n return em.t(...args);\n },\n\n /**\n * Attach event\n * @param {string} event Event name\n * @param {Function} callback Callback function\n * @return {this}\n */\n on(event, callback) {\n em.on(event, callback);\n return this;\n },\n\n /**\n * Attach event and detach it after the first run\n * @param {string} event Event name\n * @param {Function} callback Callback function\n * @return {this}\n */\n once(event, callback) {\n em.once(event, callback);\n return this;\n },\n\n /**\n * Detach event\n * @param {string} event Event name\n * @param {Function} callback Callback function\n * @return {this}\n */\n off(event, callback) {\n em.off(event, callback);\n return this;\n },\n\n /**\n * Trigger event\n * @param {string} event Event to trigger\n * @return {this}\n */\n trigger(event) {\n em.trigger.apply(em, arguments);\n return this;\n },\n\n /**\n * Destroy the editor\n */\n destroy() {\n if (!em) return;\n em.destroyAll();\n this.modules.forEach(prop => {\n if (Array.isArray(prop)) {\n this[prop[0]] = 0;\n } else {\n this[prop] = 0;\n }\n });\n this.modules = 0;\n editorView = 0;\n em = 0;\n c = 0;\n },\n\n /**\n * Returns editor element\n * @return {HTMLElement}\n * @private\n */\n getEl() {\n return editorView && editorView.el;\n },\n\n /**\n * Returns editor model\n * @return {Model}\n * @private\n */\n getModel() {\n return em;\n },\n\n /**\n * Render editor\n * @return {HTMLElement}\n */\n render() {\n editorView && editorView.remove();\n editorView = new EditorView({\n model: em,\n config: c,\n });\n return editorView.render().el;\n },\n\n /**\n * Trigger a callback once the editor is loaded and rendered.\n * The callback will be executed immediately if the method is called on the already rendered editor.\n * @param {Function} clb Callback to trigger\n * @example\n * editor.onReady(() => {\n * // perform actions\n * });\n */\n onReady(clb) {\n em.get('ready') ? clb(this) : em.on('load', clb);\n },\n\n /**\n * Print safe HTML by using ES6 tagged template strings.\n * @param {Array} literals\n * @param {Array} substs\n * @returns {String}\n * @example\n * const unsafeStr = '';\n * const safeStr = 'Hello';\n * // Use `$${var}` to avoid escaping\n * const strHtml = editor.html`Escaped ${unsafeStr}, unescaped $${safeStr}`;\n */\n html,\n };\n};\n","export default {\n plugins: []\n};\n","/**\n * File made for IE/Edge support\n * https://github.com/artf/grapesjs/issues/214\n */\nimport { hasWin } from './mixins';\n\nexport default () => {\n /**\n * Check if IE/Edge\n * @return {Boolean}\n */\n const isIE = () => {\n let match;\n const agent = window.navigator.userAgent;\n const rules = [\n ['edge', /Edge\\/([0-9\\._]+)/],\n ['ie', /MSIE\\s(7\\.0)/],\n ['ie', /MSIE\\s([0-9\\.]+);.*Trident\\/[4-7].0/],\n ['ie', /Trident\\/7\\.0.*rv\\:([0-9\\.]+).*\\).*Gecko$/]\n ];\n\n for (let i = 0; i < rules.length; i++) {\n const rule = rules[i];\n match = rule[1].exec(agent);\n if (match) break;\n }\n\n return !!match;\n };\n\n if (hasWin() && isIE()) {\n const originalCreateHTMLDocument =\n DOMImplementation.prototype.createHTMLDocument;\n DOMImplementation.prototype.createHTMLDocument = title => {\n if (!title) title = '';\n return originalCreateHTMLDocument.apply(document.implementation, [title]);\n };\n }\n};\n","import { isElement, isFunction } from 'underscore';\nimport $ from 'utils/cash-dom';\nimport Editor from './editor';\nimport polyfills from 'utils/polyfills';\nimport { getGlobal } from 'utils/mixins';\nimport PluginManager from './plugin_manager';\n\npolyfills();\n\nconst plugins = new PluginManager();\nconst editors = [];\nconst defaultConfig = {\n // If true renders editor on init\n autorender: 1,\n\n // Array of plugins to init\n plugins: [],\n\n // Custom options for plugins\n pluginsOpts: {}\n};\n\nexport default {\n $,\n\n editors,\n\n plugins,\n\n // Will be replaced on build\n version: __GJS_VERSION__,\n\n /**\n * Initialize the editor with passed options\n * @param {Object} config Configuration object\n * @param {string|HTMLElement} config.container Selector which indicates where render the editor\n * @param {Boolean} [config.autorender=true] If true, auto-render the content\n * @param {Array} [config.plugins=[]] Array of plugins to execute on start\n * @param {Object} [config.pluginsOpts={}] Custom options for plugins\n * @param {Boolean} [config.headless=false] Init headless editor\n * @return {Editor} Editor instance\n * @example\n * var editor = grapesjs.init({\n * container: '#myeditor',\n * components: '
Hello world
',\n * style: '.hello{color: red}',\n * })\n */\n init(config = {}) {\n const { headless } = config;\n const els = config.container;\n if (!els && !headless) throw new Error(\"'container' is required\");\n config = { ...defaultConfig, ...config, grapesjs: this };\n config.el =\n !headless && (isElement(els) ? els : document.querySelector(els));\n const editor = new Editor(config, { $ }).init();\n const em = editor.getModel();\n\n // Load plugins\n config.plugins.forEach(pluginId => {\n let plugin = isFunction(pluginId) ? pluginId : plugins.get(pluginId);\n const plgOptions = config.pluginsOpts[pluginId] || {};\n\n // Try to search in global context\n if (!plugin) {\n const wplg = getGlobal()[pluginId];\n plugin = wplg?.default || wplg;\n }\n\n if (plugin) {\n plugin(editor, plgOptions);\n } else if (isFunction(pluginId)) {\n pluginId(editor, plgOptions);\n } else {\n em.logWarning(`Plugin ${pluginId} not found`, {\n context: 'plugins',\n plugin: pluginId\n });\n }\n });\n\n // Execute `onLoad` on modules once all plugins are initialized.\n // A plugin might have extended/added some custom type so this\n // is a good point to load stuff like components, css rules, etc.\n em.loadOnStart();\n config.autorender && !headless && editor.render();\n editors.push(editor);\n\n return editor;\n }\n};\n","import defaults from './config/config';\n\nexport default config => {\n var c = config || {};\n\n // Set default options\n for (var name in defaults) {\n if (!(name in c)) c[name] = defaults[name];\n }\n\n var plugins = {};\n\n return {\n /**\n * Add new plugin. Plugins could not be overwritten\n * @param {string} id Plugin ID\n * @param {Function} plugin Function which contains all plugin logic\n * @return {Function} The plugin function\n * @example\n * PluginManager.add('some-plugin', function(editor){\n * editor.Commands.add('new-command', {\n * run: function(editor, senderBtn){\n * console.log('Executed new-command');\n * }\n * })\n * });\n */\n add(id, plugin) {\n if (plugins[id]) {\n return plugins[id];\n }\n\n plugins[id] = plugin;\n return plugin;\n },\n\n /**\n * Returns plugin by ID\n * @param {string} id Plugin ID\n * @return {Function|undefined} Plugin\n * @example\n * var plugin = PluginManager.get('some-plugin');\n * plugin(editor);\n */\n get(id) {\n return plugins[id];\n },\n\n /**\n * Returns object with all plugins\n * @return {Object}\n */\n getAll() {\n return plugins;\n }\n };\n};\n"],"names":["root","factory","exports","module","define","amd","globalThis","window","this","_","Backbone","core_slice","Array","prototype","slice","apply","fn","ctx","args","length","call","arr","index","hasKeys","obj","keys","isArray","arguments","all","key","getMagicFusionIndex","callstackWasIndexed","magicFusionIndex","indexCycle","defer","ObjectRegistry","registeredObjects","cidIndexes","onoff","which","objects","i","l","objectRegistry","register","unregister","isFunction","actionUndoRedo","action","type","undoTypes","object","before","after","options","managerUndoRedo","manager","stack","magic","everything","isCurrentlyUndoRedoing","pointer","actions","isUndo","clone","models","at","where","get","pop","shift","trigger","validateUndoActionCreation","undoTypesType","condition","addToStack","track","res","diff","add","maximumStackLength","isRegistered","cid","contains","push","splice","indexOf","map","concat","UndoTypes","collection","ignore","model","remove","undefined","isEmpty","each","unset","set","unsetData","afterAttributes","changedAttributes","keysAfter","previousAttributes","pick","keysPrevious","val","reset","previousModels","OwnedUndoTypes","manipulateUndoType","manipType","undoType","fns","undoTypesInstance","isObject","extend","Action","Model","defaults","undo","attributes","redo","UndoStack","Collection","Infinity","setMaxLength","UndoManager","initialize","attr","on","value","startTracking","isArguments","stopTracking","isTracking","_addToStack","unregisterAll","undoAll","redoAll","isAvailable","s","merge","undoManager","addUndoType","changeUndoType","removeUndoType","clear","defaultAttributes","self","g","global","$","previousBackbone","VERSION","noConflict","emulateHTTP","emulateJSON","addMethod","method","attribute","iteratee","context","cb","defaultVal","unshift","addUnderscoreMethods","Class","methods","instance","_isModel","modelMatcher","isString","attrs","matcher","matches","Events","eventSplitter","eventsApi","events","name","callback","opts","names","test","split","internalOn","listening","_events","onApi","_listeners","id","listenTo","_listenId","uniqueId","listeningTo","_listeningTo","thisId","objId","count","handlers","off","offApi","listeners","stopListening","ids","remaining","j","handler","_callback","once","onceMap","bind","listenToOnce","offer","Math","max","triggerApi","objEvents","allEvents","triggerEvents","ev","a1","a2","a3","unbind","cidPrefix","parse","result","changed","validationError","idAttribute","toJSON","sync","escape","has","_validate","silent","changes","changing","_changing","_previousAttributes","current","prev","isEqual","_pending","hasChanged","old","size","previous","fetch","success","resp","serverAttrs","wrapError","save","wait","validate","isNew","patch","xhr","destroy","url","base","urlError","replace","encodeURIComponent","constructor","isValid","error","values","pairs","invert","omit","chain","comparator","_reset","setOptions","addOptions","array","insert","min","tail","singular","removed","_removeModels","added","merged","toAdd","toMerge","toRemove","modelMap","sort","sortable","sortAttr","existing","_prepareModel","_addReference","orderChanged","some","m","_removeReference","_byId","modelId","first","findWhere","Error","sortBy","pluck","create","callbackOpts","_onModelEvent","event","prevId","forEach","collect","reduce","foldl","inject","reduceRight","foldr","find","detect","filter","select","reject","every","any","include","includes","invoke","toArray","head","take","initial","rest","drop","last","without","difference","shuffle","lastIndexOf","sample","partition","groupBy","countBy","indexBy","findIndex","findLastIndex","View","viewOptions","_ensureElement","delegateEventSplitter","tagName","selector","$el","render","_removeElement","setElement","element","undelegateEvents","_setElement","delegateEvents","el","match","delegate","eventName","listener","undelegate","_createElement","document","createElement","className","_setAttributes","methodMap","params","dataType","data","contentType","JSON","stringify","_method","beforeSend","setRequestHeader","processData","textStatus","errorThrown","ajax","Router","routes","_bindRoutes","optionalParam","namedParam","splatParam","escapeRegExp","route","isRegExp","_routeToRegExp","router","history","fragment","_extractParameters","execute","navigate","optional","RegExp","exec","param","decodeURIComponent","History","checkUrl","location","routeStripper","rootStripper","pathStripper","started","interval","atRoot","pathname","getSearch","matchRoot","decodeFragment","decodeURI","href","getHash","getPath","path","charAt","getFragment","_usePushState","_wantsHashChange","start","hashChange","_hasHashChange","documentMode","_useHashChange","_wantsPushState","pushState","_hasPushState","rootPath","iframe","src","style","display","tabIndex","body","iWindow","insertBefore","firstChild","contentWindow","open","close","hash","addEventListener","attachEvent","_checkUrlInterval","setInterval","loadUrl","stop","removeEventListener","detachEvent","removeChild","clearInterval","e","title","assign","_updateHash","protoProps","staticProps","child","parent","__super__","CodeMirror","extendMode","commentStart","commentEnd","newlineAfterToken","_type","content","textAfter","state","jsonMode","lexical","inlineElements","inline","configuration","defineExtension","isComment","from","to","cm","curMode","innerMode","getMode","getTokenAt","mode","operation","replaceRange","line","ch","setCursor","selText","getRange","startIndex","endIndex","substr","substring","cmInstance","indentLine","outer","text","copyState","tabSize","getOption","out","lines","atSol","newline","stream","StringStream","eol","inner","token","cur","pos","string","blankLine","end","setSelection","getCursor","mod","userAgent","navigator","platform","gecko","ie_upto10","ie_11up","edge","ie","ie_version","webkit","qtwebkit","chrome","presto","safari","vendor","mac_geMountainLion","phantom","ios","maxTouchPoints","android","mobile","mac","chromeOS","windows","presto_version","Number","flipCtrlCmd","captureRightClick","classTest","cls","range","rmClass","node","removeChildren","childNodes","removeChildrenAndAdd","appendChild","elt","tag","cssText","createTextNode","eltP","setAttribute","nodeType","parentNode","host","activeElt","activeElement","shadowRoot","addClass","joinClasses","a","b","as","createRange","endNode","r","setEnd","setStart","createTextRange","moveToElementText","collapse","moveEnd","moveStart","selectInput","f","copyObj","target","overwrite","prop","hasOwnProperty","countColumn","startValue","search","n","nextTab","selectionStart","selectionEnd","_e","Delayed","time","onTimeout","Date","setTimeout","ms","clearTimeout","scrollerGap","Pass","toString","sel_dontScroll","scroll","sel_mouse","origin","sel_move","findColumn","goal","col","skipped","spaceStrs","spaceStr","lst","insertSorted","score","priority","nothing","createObj","props","inst","Object","nonASCIISingleCaseWordChar","isWordCharBasic","toUpperCase","toLowerCase","isWordChar","helper","source","extendingChars","isExtendingChar","charCodeAt","skipExtendingChars","str","dir","findFirst","pred","midF","mid","ceil","floor","iterateBidiSections","order","found","part","level","bidiOther","getBidiPartAt","sticky","bidiOrdering","lowTypes","arabicTypes","charType","code","bidiRE","isNeutral","isStrong","countsAsLeft","countsAsNum","BidiSpan","direction","outerType","len","types","i$1","i$2","type$1","i$3","prev$1","type$2","i$4","type$3","i$5","cur$1","type$4","i$6","end$1","replace$1","j$1","i$7","isRTL","j$2","nstart","reverse","getOrder","noHandlers","emitter","_handlers","getHandlers","signal","signalDOMEvent","override","preventDefault","defaultPrevented","e_defaultPrevented","codemirrorIgnore","signalCursorActivity","cursorActivity","curOp","cursorActivityHandlers","hasHandler","eventMixin","ctor","e_preventDefault","returnValue","e_stopPropagation","stopPropagation","cancelBubble","e_stop","e_target","srcElement","e_button","button","ctrlKey","zwspSupported","badBidiRects","dragAndDrop","div","zeroWidthElement","measure","offsetHeight","offsetWidth","hasBadBidiRects","txt","r0","getBoundingClientRect","r1","left","right","splitLinesAuto","nl","rt","hasSelection","getSelection","te","ownerDocument","selection","parentElement","compareEndPoints","hasCopyEvent","oncopy","badZoomedRects","hasBadZoomedRects","normal","fromRange","abs","modes","mimeModes","defineMode","dependencies","defineMIME","mime","spec","resolveMode","mfactory","modeObj","modeExtensions","exts","helperType","modeProps","prop$1","properties","nstate","info","startState","lineOracle","lastColumnPos","lastColumnValue","lineStart","getLine","doc","chunk","children","sz","chunkSize","getBetween","iter","getLines","updateLineHeight","height","lineNo","no","lineAtHeight","h","lh","isLine","lineNumberFor","String","lineNumberFormatter","firstLineNumber","Pos","cmp","equalCursorPos","copyPos","x","maxPos","minPos","clipLine","clipPos","clipToLen","linelen","clipPosArray","sol","peek","next","eat","eatWhile","eatSpace","skipToEnd","skipTo","backUp","column","indentation","pattern","consume","caseInsensitive","cased","hideFirstChars","lookAhead","oracle","baseToken","SavedContext","Context","maxLookAhead","baseTokens","baseTokenPos","highlightLine","forceToEnd","st","modeGen","lineClasses","runMode","loop","o","overlay","overlays","i_end","opaque","styles","classes","bgClass","textClass","getLineStyles","updateFrontier","getContextBefore","resetState","maxHighlightLength","stateAfter","styleClasses","highlightFrontier","modeFrontier","precise","findStartLine","saved","fromSaved","processLine","viewFrom","viewTo","nextLine","startAt","callBlankLine","readToken","copy","Token","takeToken","asArray","tokens","extractLineClasses","output","lineClass","flattenSpans","curStart","curStyle","addModeClass","mName","minindent","minline","lim","indented","retreatFrontier","sawReadOnlySpans","sawCollapsedSpans","seeReadOnlySpans","seeCollapsedSpans","MarkedSpan","marker","getMarkedSpanFor","spans","span","removeMarkedSpan","addMarkedSpan","op","inThisOp","WeakSet","markedSpans","attachLine","markedSpansBefore","startCh","isInsert","nw","inclusiveLeft","insertLeft","endsAfter","inclusiveRight","markedSpansAfter","endCh","startsBefore","stretchSpansOverChange","change","full","oldFirst","oldLast","sameLine","offset","span$1","clearEmptySpans","newMarkers","gapMarkers","gap","clearWhenEmpty","removeReadOnlyRanges","markers","mark","readOnly","parts","mk","p","newParts","dfrom","dto","detachMarkedSpans","detachLine","attachMarkedSpans","extraLeft","extraRight","compareCollapsedMarkers","lenDiff","aPos","bPos","fromCmp","toCmp","collapsedSpanAtSide","sps","sp","collapsed","collapsedSpanAtStart","collapsedSpanAtEnd","collapsedSpanAround","conflictingCollapsedRange","visualLine","visualLineEnd","visualLineContinued","visualLineNo","lineN","vis","visualLineEndNo","lastLine","lineIsHidden","widgetNode","lineIsHiddenInner","heightAtLine","lineObj","lineLength","found$1","findMaxLine","d","maxLine","maxLineLength","maxLineChanged","Line","estimateHeight","updateLine","estHeight","cleanUpLine","styleToClassCache","styleToClassCacheWithMode","interpretTokenStyle","cache","buildLineContent","lineView","builder","pre","trailingSpace","splitSpaces","addToken","buildToken","buildTokenBadBidi","insertLineContent","externalMeasured","maps","caches","lastChild","querySelector","defaultSpecialCharPlaceholder","startStyle","endStyle","css","displayText","special","specialChars","mustWrap","createDocumentFragment","lastIndex","txt$1","tabWidth","specialCharPlaceholder","fullStyle","trailingBefore","spaceBefore","buildCollapsedSpan","ignoreWidget","widget","input","needsContentAttribute","setUneditable","allText","spanStyle","spanEndStyle","spanStartStyle","nextChange","foundBookmarks","endStyles","upto","tokenText","LineView","hidden","buildViewArray","nextPos","view","operationGroup","pushOperation","ops","ownsGroup","delayedCallbacks","fireCallbacksForOps","group","callbacks","cursorActivityCalled","finishOperation","endCb","orphanDelayedCallbacks","signalLater","list","fireOrphanDelayed","delayed","updateLineForChanges","dims","updateLineText","updateLineGutter","updateLineClasses","updateLineWidgets","ensureLineWrapped","replaceChild","zIndex","updateLineBackground","background","wrap","getLineContent","ext","built","wrapClass","gutter","gutterBackground","gutterClass","fixedGutter","fixedPos","gutterTotalWidth","gutterMarkers","lineNumbers","wrap$1","gutterWrap","lineNumber","gutterLeft","k","gutterSpecs","gutterWidth","alignable","isWidget","nextSibling","insertLineWidgets","buildLineElement","insertLineWidgetsFor","allowAbove","widgets","ws","handleMouseEvents","positionLineWidget","above","noHScroll","width","wrapperWidth","coverGutter","paddingLeft","position","marginLeft","widgetHeight","parentStyle","gutters","wrapper","clientWidth","eventInWidget","getAttribute","sizer","mover","paddingTop","lineSpace","offsetTop","paddingVert","paddingH","cachedPaddingH","getComputedStyle","currentStyle","parseInt","paddingRight","isNaN","scrollGap","nativeBarWidth","displayWidth","scroller","barWidth","displayHeight","clientHeight","barHeight","ensureLineHeights","rect","wrapping","lineWrapping","curWidth","heights","rects","getClientRects","bottom","top","mapFromLineView","updateExternalMeasurement","lineMeasure","measureChar","bias","measureCharPrepared","prepareMeasureForLine","findViewForLine","findViewIndex","getDimensions","forceUpdate","hasHeights","prepared","varHeight","measureCharInner","bogus","rtop","rbottom","measureText","nullRect","nodeAndOffsetInLineMap","mStart","mEnd","coverStart","coverEnd","getUsefulRect","place","maybeUpdateRectForZooming","rSpan","charWidth","rbot","bot","singleCursorHeightPerLine","screen","logicalXDPI","deviceXDPI","scaleX","scaleY","logicalYDPI","deviceYDPI","clearLineMeasurementCacheFor","clearLineMeasurementCache","externalMeasure","clearCaches","cachedCharWidth","cachedTextHeight","lineNumChars","pageScrollX","pageXOffset","documentElement","scrollLeft","pageScrollY","marginTop","pageYOffset","scrollTop","widgetTopHeight","intoCoordSystem","includeWidgets","yOff","viewOffset","lOff","xOff","fromCoordSystem","coords","localBox","lineSpaceBox","charCoords","cursorCoords","preparedMeasure","getBidi","partPos","other","estimateCoords","PosWithInfo","outside","xRel","coordsChar","y","coordsCharInner","rangeEnd","wrappedLineExtent","begin","wrappedLineExtentChar","boxIsAfter","box","ltr","coordsBidiPartWrapped","coordsBidiPart","baseX","chAround","boxAround","atLeft","atStart","_lineNo","ref","closestDist","endX","dist","textHeight","anchor","clientLeft","offsetLeft","compensateForHScroll","th","perLine","widgetsHeight","estimateLineHeights","est","posFromMouse","liberal","forRect","space","clientX","clientY","e$1","colDiff","round","regChange","lendiff","updateLineNumbers","viewChanged","resetView","cut","viewCuttingPoint","cut$1","cutTop","cutBot","regLineChange","oldN","newN","adjustView","countDirtyView","dirty","updateSelection","showSelection","prepareSelection","primary","curFragment","cursors","selFragment","sel","ranges","primIndex","empty","showCursorWhenSelecting","drawSelectionCursor","drawSelectionRange","cursor","cursorHeight","getWrapperElement","charPos","otherCursor","cmpCoords","padding","leftSide","rightSide","sizerWidth","docLTR","drawForLine","fromArg","toArg","lineLen","wrapX","side","extent","fromPos","toPos","openStart","openEnd","openRight","topLeft","topRight","botLeft","botRight","sFrom","sTo","fromLine","toLine","singleVLine","leftEnd","rightStart","restartBlink","focused","blinker","cursorDiv","visibility","cursorBlinkRate","hasFocus","onBlur","ensureFocus","focus","onFocus","delayBlurEvent","delayingBlurEvent","draggingText","selForContextMenu","receivedFocus","updateHeightsInViewport","prevBottom","lineDiv","viewTop","oldHeight","mustScroll","updateWidgetHeight","chWidth","w","visibleLines","viewport","ensure","ensureFrom","ensureTo","maybeScrollWindow","doScroll","innerHeight","scrollNode","scrollIntoView","scrollPosIntoView","margin","limit","endCoords","scrollPos","calculateScrollPos","startTop","startLeft","updateScrollTop","setScrollLeft","snapMargin","screentop","docBottom","atTop","atBottom","newTop","gutterSpace","screenleft","screenw","tooWide","addToScrollTop","resolveScrollToPos","ensureCursorVisible","scrollToPos","cursorScrollMargin","scrollToCoords","scrollToRange","scrollToCoordsRange","sPos","updateDisplaySimple","setScrollTop","startWorker","forceScroll","scrollHeight","scrollbars","isScroller","scrollWidth","alignHorizontally","measureForScrollbars","gutterW","docH","viewHeight","viewWidth","barLeft","docHeight","NativeScrollbars","vert","horiz","checkedZeroWidth","minHeight","minWidth","update","needsH","needsV","sWidth","totalHeight","totalWidth","zeroWidthHack","disableHoriz","enableZeroWidthBar","disableVert","pointerEvents","bar","delay","maybeDisable","elementFromPoint","NullScrollbars","updateScrollbars","startWidth","startHeight","updateScrollbarsInner","sizes","paddingBottom","heightForcer","borderBottom","scrollbarFiller","coverGutterNextToScrollbar","gutterFiller","scrollbarModel","initScrollbars","scrollbarStyle","axis","nextOpId","startOperation","updateInput","typing","changeObjs","selectionChanged","updateMaxLine","markArrays","endOperation","endOperations","endOperation_R1","endOperation_W1","endOperation_R2","endOperation_W2","endOperation_finish","maybeClipScrollbars","mustUpdate","DisplayUpdate","updatedDisplay","updateDisplayIfNeeded","barMeasure","adjustWidthTo","maxScrollLeft","preparedSelection","takeFocus","setDocumentHeight","postUpdateDisplay","wheelStartX","wheelStartY","maybeHiddenMarkers","unhidden","maybeUnhiddenMarkers","finish","runInOp","methodOp","docMethodOp","highlight","highlightWorker","workTime","changedLines","oldStyles","highlighted","oldCls","newCls","ischange","workDelay","force","visible","editorIsHidden","wrapperHeight","oldDisplayWidth","scrollbarsClipped","marginBottom","borderRightWidth","selectionSnapshot","active","anchorNode","anchorOffset","focusNode","focusOffset","restoreSelection","snapshot","nodeName","removeAllRanges","addRange","renderedView","maybeUpdateLineNumberWidth","viewportMargin","different","lastWrapHeight","lastWrapWidth","toUpdate","selSnapshot","patchDisplay","selectionDiv","reportedViewFrom","reportedViewTo","updateNumbersFrom","container","rm","currentWheelTarget","updateNumber","updateGutterSpace","alignWidgets","comp","align","innerW","lineGutter","lineNumInnerWidth","lineNumWidth","getGutters","sawLineNumbers","renderGutters","specs","gElt","updateGutters","Display","draggable","wheelDX","wheelDY","activeTouch","init","wheelSamples","wheelPixelsPerUnit","wheelEventDelta","dx","wheelDeltaX","dy","wheelDeltaY","detail","HORIZONTAL_AXIS","VERTICAL_AXIS","wheelDelta","wheelEventPixels","delta","onScrollWheel","canScrollX","canScrollY","pixels","movedX","movedY","Selection","equals","here","there","deepCopy","Range","somethingSelected","normalizeSelection","mayTouch","selectionsMayTouch","prim","inv","simpleSelection","changeEnd","adjustForChange","computeSelAfterChange","offsetPos","computeReplacedSel","hint","oldPrev","newPrev","loadMode","modeOption","resetModeState","isWholeLineUpdate","wholeLineUpdateBefore","updateDoc","spansFor","linesFor","firstLine","lastText","lastSpans","nlines","added$1","added$2","linkedDocs","sharedHistOnly","propagate","skip","sharedHist","linked","rel","shared","attachDoc","setDirectionClass","directionChanged","done","undone","undoDepth","lastModTime","lastSelTime","lastOp","lastSelOp","lastOrigin","lastSelOrigin","generation","maxGeneration","historyChangeFromChange","histChange","attachLocalSpans","clearSelectionEvents","lastChangeEvent","hist","addChangeToHistory","selAfter","opId","historyEventDelay","pushSelectionToHistory","selectionEventCanBeMerged","addSelectionToHistory","clearRedo","dest","removeClearedSpans","explicitlyCleared","getOldSpans","mergeOldSpans","stretched","oldCur","stretchCur","copyHistoryArray","newGroup","instantiateSel","newChanges","extendRange","posBefore","extendSelection","extendSelections","heads","replaceOneSelection","setSimpleSelection","filterSelectionChange","setSelectionReplaceHistory","setSelectionNoUndo","NaN","setSelectionInner","skipAtomicInSelection","reCheckSelection","mayClear","newAnchor","skipAtomic","newHead","skipAtomicInner","oldPos","preventCursorLeft","selectLeft","preventCursorRight","selectRight","atomic","near","movePos","far","cantEdit","selectAll","filterChange","canceled","cancel","makeChange","ignoreReadOnly","suppressEdits","makeChangeInner","makeChangeSingleDoc","rebased","rebaseHist","makeChangeFromHistory","allowSelectionOnly","suppress","antiChanges","returned","v","shiftDoc","distance","makeChangeSingleDocInEditor","recomputeMaxLength","checkWidthStart","changesHandler","changeHandler","splitLines","rebaseHistSelSingle","rebaseHistArray","sub","ok","copied","changeLine","handle","changeType","LeafChunk","BranchChunk","removeInner","insertInner","iterN","leaf","maybeSpill","me","sibling","myIndex","used","LineWidget","opt","adjustScrollWhenAboveVisible","addLineWidget","insertAt","aboveVisible","this$1","oldH","nextMarkerId","TextMarker","markText","markTextShared","replacedWith","addToHistory","curLine","clearOnEnter","clearHistory","withOp","visual","dHeight","SharedTextMarker","cloneNode","isParent","findSharedMarkers","findMarks","copySharedMarkers","mFrom","mTo","subMark","detachSharedMarkers","subMarker","nextDocId","Doc","lineSep","cleanGeneration","getValue","join","lineSeparator","setValue","getLineHandle","getLineNumber","getLineHandleVisualStart","lineCount","listSelections","extendSelectionsBy","setSelections","addSelection","getSelections","replaceSelection","dup","replaceSelections","newSel","undoSelection","redoSelection","setExtending","getExtending","historySize","markClean","changeGeneration","forceSplit","isClean","gen","getHistory","setHistory","histData","setGutterMarker","gutterID","clearGutter","lineInfo","addLineClass","removeLineClass","removeLineWidget","setBookmark","realOpts","findMarksAt","getAllMarks","posFromIndex","sepSize","indexFromPos","copyHistory","linkedDoc","unlinkDoc","splitIds","iterLinkedDocs","getEditor","setDirection","eachLine","lastDrop","onDrop","clearDragCursor","files","dataTransfer","isReadOnly","FileReader","File","read","markAsReadAndPasteIfAllFilesAreRead","t","readTextFromFile","file","allowDropFileTypes","reader","onerror","onload","readAsText","text$1","getData","selected","onDragStart","setData","effectAllowed","setDragImage","img","_top","onDragOver","frag","dragCursor","forEachCodeMirror","getElementsByClassName","byClass","editors","globalsRegistered","ensureGlobalHandlers","registerGlobalHandlers","resizeTimer","onResize","setSize","keyNames","fromCharCode","keyMap","normalizeKeyName","alt","ctrl","cmd","normalizeKeyMap","keymap","keyname","lookupKey","getKeyMap","fallthrough","isModifierKey","keyCode","addModifierNames","noShift","altKey","metaKey","shiftKey","keyName","altGraphKey","deleteNearSelection","compute","kill","toKill","replaced","moveCharLogically","moveLogically","endOfLine","visually","prep","targetTop","moveVisually","bidi","mv","getWrappedLineExtent","moveInStorageOrder","searchInVisualLine","getRes","nextCh","basic","pcDefault","emacsy","macDefault","commands","singleSelection","killLine","deleteLine","delLineLeft","delWrappedLineLeft","delWrappedLineRight","rightPos","goDocStart","goDocEnd","goLineStart","goLineStartSmart","lineStartSmart","goLineEnd","lineEnd","goLineRight","goLineLeft","goLineLeftSmart","goLineUp","moveV","goLineDown","goPageUp","goPageDown","goCharLeft","moveH","goCharRight","goColumnLeft","goColumnRight","goWordLeft","goGroupRight","goGroupLeft","goWordRight","delCharBefore","deleteH","delCharAfter","delWordBefore","delWordAfter","delGroupBefore","delGroupAfter","indentAuto","indentSelection","indentMore","indentLess","insertTab","insertSoftTab","spaces","defaultTab","execCommand","transposeChars","newlineAndIndent","sels","openLine","toggleOverwrite","firstNonWS","inWS","doHandleBinding","bound","dropShift","ensurePolled","prevShift","lookupKeyForEditor","keyMaps","extraKeys","stopSeq","dispatchKey","seq","keySeq","dispatchKeyInner","handleKeyBinding","motion","handleCharBinding","lastStoppedKey","onKeyDown","getField","handled","showCrossHair","up","onKeyUp","onKeyPress","charCode","lastClick","lastDoubleClick","DOUBLECLICK_DELAY","PastClick","clickRepeat","now","compare","onMouseDown","supportsTouch","clickInGutter","repeat","selectingText","handleMappedButton","leftButtonDown","onContextMenu","configureMouse","option","unit","addNew","moveOnDrag","contained","behavior","dragDrop","leftButtonStartDrag","leftButtonSelect","moved","dragEnd","mouseMove","dragStart","preventScroll","e2","rangeForUnit","findWordAt","ourRange","ourIndex","startSel","lastPos","extendTo","startCol","posCol","leftPos","oldRange","ranges$1","bidiSimplify","editorSize","counter","curCount","move","buttons","anchorLine","boundary","headIndex","usePart","gutterEvent","prevent","mX","mY","touches","lineBox","contextMenuInGutter","themeChanged","theme","Init","optionHandlers","defineOptions","deflt","notOnInit","defineOption","newBreaks","refresh","getInputField","spellcheck","autocorrect","autocapitalize","detach","attach","wrappingChanged","integer","blur","readOnlyChanged","screenReaderLabelChanged","dragDropChanged","resetPosition","funcs","dragFunctions","toggle","enter","over","leave","inputStyles","inputStyle","pasteIncoming","cutIncoming","autofocus","registerEventHandlers","finishInit","initHooks","textRendering","word","touchFinished","prevTouch","finishTouch","isMouseLikeTouchEvent","touch","radiusX","radiusY","farAway","pageX","pageY","inp","how","aggressive","indent","curSpace","curSpaceString","indentUnit","indentString","indentWithTabs","pos$1","defineInitHook","lastCopied","setLastCopied","newLastCopied","applyTextInput","inserted","deleted","recent","paste","textLines","multiPaste","pasteLinesPerSelection","lineWise","changeEvent","triggerElectric","handlePaste","pasted","clipboardData","disableInput","electricChars","smartIndent","getModeAt","electricInput","copyableRanges","lineRange","disableBrowserMagic","field","hiddenTextarea","border","addEditorMethods","helpers","setOption","getDoc","addKeyMap","removeKeyMap","addOverlay","modeSpec","removeOverlay","newRanges","getLineTokens","getTokenTypeAt","getHelper","getHelpers","help","_global","getStateAfter","defaultTextHeight","defaultCharWidth","getViewport","addWidget","vspace","hspace","triggerOnKeyDown","triggerOnKeyPress","triggerOnKeyUp","triggerOnMouseDown","findPosH","amount","hitSide","rtlMoveVisually","findPosV","goalColumn","goals","headPos","startChar","check","scrollTo","getScrollInfo","interpret","swapDoc","phrase","phraseText","phrases","getScrollerElement","getGutterElement","registerHelper","registerGlobalHelper","predicate","origDir","lineDir","findNextLine","moveOnce","boundToLine","astral","sawType","pageSize","moveAmount","ContentEditableInput","lastAnchorNode","lastAnchorOffset","lastFocusNode","lastFocusOffset","polling","composing","gracePeriod","readDOMTimeout","posToDOM","isInGutter","scan","badPos","bad","domTextBetween","closing","extraLinebreak","recognizeMarker","addText","walk","cmText","markerID","isBlock","textContent","nodeValue","domToPos","lineNode","locateNodeInLineView","textNode","topNode","curNode","previousSibling","dist$1","belongsToInput","onCopyCut","lineWiseCopyCut","clearData","kludge","hadFocus","showPrimarySelection","contentEditable","updateFromDOM","readFromDOMSoon","forceCompositionEnd","label","removeAttribute","showMultipleSelections","curAnchor","curFocus","rng","rangeCount","getRangeAt","startGracePeriod","rememberSelection","selectionInEditor","commonAncestorContainer","poll","pollSelection","pollInterval","pollContent","fromIndex","fromNode","toNode","toIndex","newText","oldText","cutFront","cutEnd","oldTop","maxCutFront","newBot","oldBot","maxCutEnd","chFrom","chTo","TextareaInput","prevInput","pollingFast","fromTextArea","textarea","tabindex","placeholder","realSubmit","form","leaveSubmitMethodAlone","submit","wrappedSubmit","getTextArea","toTextArea","addLegacyProps","cmpPos","createField","prepareCopyCut","fastPoll","dispatchEvent","Event","_display","moveInputWithCursor","wrapOff","lineOff","teTop","teLeft","drawn","contextMenuPending","slowPoll","missed","same","resetSelectionOnContextMenu","oldScrollY","oldCSS","oldWrapperCSS","wrapperBox","offsetParent","scrollY","rehide","detectingSelectAll","prepareSelectAllHack","mouseup","extval","disabled","dontDelegate","func","defineDocExtension","version","keySet","config","parserConfig","propertyKeywords","tokenHooks","documentTypes","mediaTypes","mediaFeatures","mediaValueKeywords","nonStandardPropertyKeywords","fontProperties","counterDescriptors","colorKeywords","valueKeywords","allowNested","lineComment","supportsAtComponent","highlightNonStandardPropertyKeywords","ret","tp","tokenBase","tokenize","tokenString","tokenParenthesized","quote","escaped","pushContext","popContext","pass","states","popAndPass","wordAsValue","stateArg","_stream","atBlock","cx","blockCommentStart","blockCommentEnd","blockCommentContinue","fold","documentTypes_","mediaTypes_","mediaFeatures_","mediaValueKeywords_","propertyKeywords_","nonStandardPropertyKeywords_","colorKeywords_","valueKeywords_","allWords","tokenCComment","maybeEnd","defaultTags","script","maybeBackup","pat","attrRegexpCache","getAttrRegexp","regexp","getAttrValue","getTagRegexp","anchored","addTags","findMatchingMode","tagInfo","tagText","htmlMode","multilineTagIndentFactor","multilineTagIndentPastTag","allowMissingTagName","tags","configTags","configScript","scriptTypes","html","htmlState","inTag","endTagA","endTag","localState","localMode","local","statementIndent","jsonldMode","jsonld","json","trackScope","isTS","typescript","wordRE","wordCharacters","keywords","kw","A","B","C","D","operator","atom","isOperatorChar","isJsonldKeyword","readRegexp","inSet","cont","tokenComment","expressionAllowed","tokenQuasi","lastType","propertyIsEnumerable","brackets","findFatArrow","fatArrowAt","arrow","depth","sawSomething","bracket","atomicTypes","JSLexical","inScope","varname","localVars","vars","parseJS","cc","marked","expression","statement","lex","inList","block","newContext","registerVarScoped","Var","globalVars","isModifier","defaultVars","pushcontext","pushblockcontext","popcontext","pushlex","poplex","expect","wanted","exp","vardef","parenExpr","maybeexpression","maybeelse","functiondef","forspec","enumdef","typename","typeexpr","maybelabel","maybeCatchBinding","afterExport","afterImport","funarg","expressionInner","expressionNoComma","noComma","arrowBodyNoComma","arrowBody","commasep","maybeop","maybeoperatorNoComma","maybeoperatorComma","classExpression","arrayLiteral","contCommasep","objprop","quasi","maybeTarget","expr","property","continueQuasi","targetNoComma","maybeTypeArgs","getterSetter","afterprop","maybetype","what","sep","proceed","maybetypeOrIn","mayberettype","isKW","afterType","typeprops","typearg","maybeReturnType","quasiType","typeprop","functiondecl","continueQuasiType","typeparam","maybeTypeDefault","maybeAssign","vardefCont","eltpattern","proppattern","forspec1","forspec2","classNameAfter","classBody","classfield","maybeFrom","exportField","importSpec","maybeMoreImports","maybeAs","enummember","isContinuedStatement","basecolumn","firstChar","c","doubleIndentSwitch","closeBrackets","skipExpression","htmlConfig","autoSelfClosers","implicitlyClosed","contextGrabbers","doNotIndent","allowUnquoted","allowMissing","caseFold","xmlConfig","editorConf","config_","setStyle","inText","parser","inBlock","doctype","baseState","tagStart","inAttribute","stringStartCol","closure","isInAttribute","terminator","lower","startOfLine","noIndent","maybePopContext","nextTagName","parentTagName","tagNameState","closeTagNameState","attrState","matchClosing","closeState","closeStateErr","attrEqState","attrValueState","attrContinuedState","isInText","baseIndent","fullLine","alignCDATA","tagAfter","grabbers","skipAttribute","xmlCurrentTag","xmlCurrentContext","assets","noAssets","stylePrefix","upload","uploadName","headers","credentials","multiUpload","autoAdd","customFetch","uploadFile","embedAsBase64","handleAdd","beforeUpload","showUrlInput","custom","dropzone","openAssetsOnDrop","dropzoneContent","Asset","getFilename","getDefaults","AssetImage","unitDim","pfx","ppfx","pStylePrefix","em","__getBhv","am","__getBehaviour","template","getPreview","getInfo","updateTarget","innerHTML","AssetView","click","dblclick","dim","onClick","coll","onDblClick","onSelect","onRemove","stopImmediatePropagation","TypeableCollection","AssetImageView","isType","renderAssets","addToAsset","removedAsset","deselectAll","handleSubmit","getAddInput","trim","getAssetsEl","globalCollection","inputUrl","toggleNoAssets","addAsset","fragmentEl","rendered","typeView","assetsEl","hide","append","removeClass","fuRendered","fu","uploadId","disableUpload","onUploadStart","__propEv","onUploadEnd","onUploadError","err","console","onUploadResponse","clb","FormData","reqHead","fetchOpts","then","status","Promise","catch","initDrop","that","uploadForm","ondragover","ondragleave","ondrop","initDropzone","addedCls","edEl","editor","frameEl","getBody","updatedCls","dropzoneCls","cleanEditorElCls","onDragLeave","getSelected","runCommand","Modal","AssetManager","setTarget","item","response","promises","mimeTypeMatcher","promise","resolve","image","Image","readAsDataURL","evAll","evPfx","evSelect","evUpdate","evAdd","evRemove","evRemoveBefore","evCustom","evOpen","evClose","evUpload","evUploadStart","evUploadEnd","evUploadError","evUploadRes","assetsVis","assetCmd","Module","storageKey","Assets","removeBefore","uploadStart","uploadEnd","uploadError","uploadResponse","__initListen","getAllVisible","getAll","__onAllEvent","debounce","__trgCustom","getConfig","__customData","bhv","isOpen","asset","complete","run","isActive","__remove","store","noStore","stm","load","getContainer","assts","toRender","__viewParams","FileUploader","AssetsView","addType","definition","getType","getTypes","FileUpload","onLoad","postRender","editorView","__behaviour","_bhv","appendTo","appendOnClick","blocks","Block","media","category","activate","resetId","disable","ctg","Blocks","Category","Categories","mousedown","dragstart","drag","dragend","endDrag","__getModule","handleClick","sorter","getSorter","setDropContent","validTarget","getEl","valid","getWrapper","setSelected","startDrag","refreshCanvas","setDragHelper","startSort","handleDragStart","__startDrag","handleDrag","__drag","handleDragEnd","__endDrag","endMove","class","clsAdd","hasDnd","prefix","CategoryView","caretR","caretD","iconClass","activeClass","updateVisibility","getIconEl","getBlocksEl","iconEl","blocksEl","bindAll","categories","renderedCategories","noCatClass","blockContClass","catsClass","addTo","tac","grabbingCls","canvas","updateConfig","utils","Sorter","placer","getPlacerEl","containerSel","itemSel","onStart","onDrag","onEndMove","onMove","getFrameEl","contentDocument","wmargin","nested","canvasRelative","stopDefault","runDefault","oldActive","BlockView","ignoreCategories","catModel","catId","catView","getCategoriesEl","catsEl","evDrag","evDragStart","evDragStop","blocksVisible","blocksView","bm","dragStop","getContent","_dragBlock","dragResult","dragContent","oldKey","toActive","toSelect","onAll","__getFrameViews","getFrames","frame","fv","droppable","startCustom","endCustom","BlocksView","elTo","isElement","__logWarn","prp","getCategories","external","colls","scripts","customBadgeLabel","autoscrollLimit","extHl","notTextable","Canvas","frames","rulers","zoom","Frames","onZoomChange","updateDevice","evPageSelect","_pageUpdated","mainPage","getMain","getMainFrame","page","device","getDeviceModel","getCurrentFrameModel","noUndo","Droppable","rootEl","getComponent","els","toggleEffects","enable","handleDragEnter","handleDragOver","handleDrop","handleDragLeave","defaultView","frameElement","sortOpts","onEnd","customTarget","__customTglEff","endDrop","updateCounter","dt","inAbsoluteMode","dragger","guidesInfo","center","cancelled","getStyle","addStyle","cnt","preserveSelected","getContentByData","allowfullscreen","tools","frameView","cvModel","getCanvasModel","updateHead","renderStyles","setViewEl","headEl","getHead","attrStr","items","stl","appendVNodes","getModel","getWindow","getJsContainer","jsContainer","createEl","getToolsEl","frameWrapView","elTools","getGlobalToolsEl","getHighlighter","_getTool","getBadgeEl","getOffsetViewerEl","getRect","getOffsetRect","scrollBottom","scrollRight","toolsEl","wrp","_toggleEffects","startAutoscroll","lastMaxHeight","_toggleAutoscrollFx","requestAnimationFrame","autoscroll","dragging","lastClientY","win","actualTop","limitTop","limitBottom","nextTop","isUndefined","opacity","showGlobalTools","updateClientY","getPointerEvent","getZoomDecimal","stopAutoscroll","mt","renderScripts","evLoad","evOpts","appendScript","scriptEl","renderBody","normalize","stls","prevStyles","conf","_isEditor","baseCss","canvasCss","protectedCss","component","CssRulesView","getStyles","createCustomEvent","motionsEv","_emitUpdate","_emitUpdated","canvasView","cv","FrameView","classAnim","updateOffset","updateSize","frameLoaded","updatePos","setupDragger","dragX","dragY","toggleFramesEvents","Dragger","getZoomMultiplier","setPosition","posOpts","__clear","removeEl","md","updateDim","__handleSize","noChanges","isNull","onScroll","onscroll","currW","currH","newW","newH","isNumber","onRender","twrp","toolsWrapper","elTop","elRight","elBottom","elLeft","frameWrapperView","DomainViews","itemView","FrameWrapView","onRemoveBefore","timerZoom","wheel","_initFrames","clearOff","checkSelected","updateFrames","_onFramesUpdate","toggleListeners","_renderFrames","FramesView","currFrame","views","_getFrame","_parentEvent","onCanvasMove","getKeyChar","isInputFocused","onWheel","getZoom","defOpts","mpl","framesArea","transform","isElInViewport","elem","getElement","getElRect","frameRect","getFrameOffset","rTop","rLeft","docBody","noScroll","frmOff","cvsOff","winEl","frEl","getCanvasOffset","getElementPos","eo","frmTop","avoidFrameOffset","frmLeft","getElementOffsets","isTextNode","parseFloat","getPosition","bEl","fo","co","updateScript","getId","scriptContainer","scriptFn","getScriptString","scriptFnStr","scriptProps","__getScriptProps","scr","getFrameView","ready","frms","listenToLoad","mainFrame","setCurrentFrame","$frames","toolsWrp","hlEl","badgeEl","placerEl","ghostEl","toolbarEl","resizerEl","offsetEl","fixedOffsetEl","toolsGlobEl","getUiClass","CanvasView","getCanvasView","getFrame","getFramesEl","getDocument","_getCompFrame","compView","_getLocalEl","globalEl","getGhostEl","getToolbarEl","getResizerEl","getFixedOffsetViewerEl","getOffset","frameOff","canvasOff","setCustomBadgeLabel","topScroll","leftScroll","getTargetToElementDim","canvasPos","elPos","toRight","targetHeight","targetWidth","eventToTrigger","topPos","elementTop","elementLeft","elementWidth","elementHeight","canvasTop","canvasLeft","canvasWidth","canvasHeight","canvasRectOffset","getFrameElFromDoc","rectOff","getTargetToElementFixed","elToMove","cvOff","toolbarH","toolbarW","frCvOff","frameOffset","fullHeight","elIsShort","canvasOffsetTop","canvasOffsetLeft","getMouseRelativePos","addTop","addLeft","subWinOffset","parentWindow","yOffset","xOffset","getMouseRelativeCanvas","toIgnore","getViewEl","fr","getCurrentFrame","setZoom","setCoords","getCoords","addFrame","keyAutoW","keyAutoH","Frame","changesCount","_undo","_undoexc","domc","allRules","idMap","modOpts","isComponent","components","Wrapper","idMapKeys","selectors","sSel","idSel","temporary","noCount","avoidStore","setHead","getHeadByAttr","addHeadItem","removeHeadByAttr","sm","smc","fromUndo","storeHtml","getHtml","storeCss","getCss","onReset","loadedItems","itemsToLoad","listenToLoadItems","itemLoaded","inlineCss","HTMLGenerator","htmlOpts","cleanId","rules","idRules","rule","isId","toHTML","build","beforeEach","mapModel","comps","scrStr","scrProps","mapJs","mapType","hasWin","require","codeName","onChange","ed","setContent","autoFormatRange","noRefresh","EditorView","generators","defGenerators","viewers","defViewers","defaultViewer","gHtml","gCss","gJson","js","gJs","eCM","loadDefaultGenerators","loadDefaultViewers","addGenerator","generator","getGenerator","getGenerators","addViewer","viewer","getViewer","getViewers","createViewer","txtarea","updateViewer","getCode","genId","maxValue","MAX_VALUE","getMediaLength","mediaQuery","compCls","buildFromModel","avoidInline","styleToString","getFullName","cssc","codeJson","clearStyles","atRules","dump","onlyMatched","matchedRules","atRule","getAtRule","mRules","buildFromRule","sortMediaObject","rulesStr","ruleStr","selectorStrNoAdd","selectorsToString","skipAdd","selectorsAdd","singleAtRule","keepUnusedStyles","getDeclaration","__cleanSelector","getQueryLength","itemsArr","isMobFirst","mquery","sortRules","getKey","q","strict","commandsDef","defaultCommands","CommandAbstract","sender","selAll","getSelectedAll","nativeDrag","defComOptions","logWarning","hideTlb","altMode","eventDrag","emitUpdate","cmdMove","Commands","onEndMoveFromModel","initSorterFromModels","oldCmd","default","cmdName","loadDefaultCommands","noStop","command","cmdObj","stopCommand","getActive","callRun","abort","callStop","DomComponents","CssComposer","canvasModel","toggleMove","disableDragger","enableDragger","toggleDragger","methodCls","getCanvas","classList","methodEv","methodsEv","editorModel","hoverClass","badgeClass","plhClass","freezClass","onFrameScroll","getCanvasBody","getCanvasTools","Boolean","evName","guidesStatic","guidesTarget","setupGuides","isTran","guidesContainer","getGuidesContainer","getGuidesTarget","getGuidesStatic","drg","toggleDrag","getEventOpts","guides","guide","guidesEl","elInfoX","elInfoY","guideContent","elGuideInfoX","elGuideInfoY","elGuideInfoContentX","elGuideInfoContentY","updateGuides","debug","renderGuide","getElementGuides","lastEl","getGuidePosUpdate","originRect","un","guideSize","numEl","getTranslate","itemStr","setTranslate","en","styleUp","adds","_getDragData","relPos","parentRel","pStyle","offsetP","renderGuideInfo","hideGuidesInfo","rectOrigin","isY","origEdge1","origEdge1Raw","origEdge2","origEdge2Raw","elGuideInfo","elGuideInfoCnt","guideInfoStyle","stat","statEdge2","isEdge1","statEdge1","statEdge1Raw","statEdge2Raw","posFirst","posSecond","pos2","sizeRaw","matched","snd","incr","getChildAt","wrappers","Pages","getAllWrappers","flatten","findType","SelectComponent","mouseover","startDelete","mouseout","stopDelete","onDelete","$this","attachBadge","badge","removeBadge","clean","updateBadgeLabel","getName","modal","CodeManager","$editors","oHtmlEd","buildEditor","oCsslEd","htmlEditor","cssEditor","textViewCode","codeMirror","isEnabled","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","requestFullscreen","webkitRequestFullscreen","mozRequestFullScreen","msRequestFullscreen","warn","exitFullscreen","webkitExitFullscreen","mozCancelFullScreen","msExitFullscreen","fsChanged","targetEl","SelectPosition","noSelClass","getHighlighterEl","wp","$wrapper","initSorter","toggleClipboard","cacheEl","startSelectPosition","stopSelectComponent","getContentWindow","rollback","initSorterFromModel","lastModel","toMove","onMoveClb","$badge","getBadge","$hl","onceClose","accept","modalTitle","uploadEl","firstRender","pn","Panels","getPanel","addPanel","lm","LayerManager","layers","panels","$cn","trgEvCnt","$cn2","dvm","DeviceManager","showDevices","devicePanel","dvEl","slm","SelectorManager","slmConfig","StyleManager","smConfig","$header","pnCnt","panel","toggleSm","show","Config","tm","TraitManager","confTm","toggleTm","clp","addOpts","copyable","cop","cmdVis","getPanels","preventDrag","tglEffects","mthEv","tlb","elP","querySelectorAll","shouldRunSwVisibility","editorEl","onclick","canvasS","posFetcher","mousePosFetcher","canvasResizer","forceNew","Utils","Resizer","calibrated","ToolbarButtonView","ToolbarButton","showOffsets","adjScroll","startSelectComponent","toggleSelectComponent","listenToEl","onFrameUpdated","onContainerChange","onHovered","updateGlobalPos","_upToolbar","updateAttached","onHover","onOut","trg","isDoc","currentDoc","setHovered","useValid","updateLocalPos","updateToolsLocal","elHovered","toggleToolsEl","currentFrame","getView","isVisible","elSelected","updateToolsGlobal","initResize","getElSelected","getElHovered","showElementOffset","hideElementOffset","showFixedElementOffset","hideFixedElementOffset","hideHighlighter","isEditing","isChildOf","updateBadge","posOnly","icon","getIcon","clsBadge","customeLabel","badgeLabel","bStyle","targetToElem","leftOff","showHighlighter","modelToStyle","resizeClass","isTaggableNode","resizable","toggleBodyClass","docs","resizer","keyHeight","keyWidth","currentUnit","keepAutoHeight","keepAutoWidth","getModelToStyle","computedStyle","modelStyle","currentWidth","autoWidth","currentHeight","autoHeight","startDim","unitHeight","getUnitFromValue","unitWidth","selectedHandler","onlyHeight","onlyWidth","bodyw","updateEvent","eventToListen","noEmit","updateToolbar","toolbarStyle","toolbar","showToolbar","Toolbar","toolbarView","ToolbarView","updateToolbarPos","getCanvasPosition","updateTools","isCompSelected","isHoverEn","isNewEl","lastHovered","badgeOpts","topOff","_trgToolUp","lastSelected","hideBadge","cleanPrevious","isPointed","scale","getOffsetDim","stopSelectPosition","posTargetCollection","posIndex","posMethod","cDim","posIsLastEl","posTargetEl","outsideElem","posTargetModel","nearFloat","isLast","getOffsetMethod","showOffsetsSelected","stateVar","offsetViewer","marginT","marginB","marginL","marginR","padT","padB","padL","padR","stateLow","marginName","paddingName","marginV","paddingV","paddingEls","fullMargName","fullPadName","marginLeftSt","marginRightSt","marginRight","marginTopSt","marginBottomSt","mtStyle","mbStyle","mlStyle","mrStyle","ptStyle","pbStyle","plStyle","prStyle","posLeft","widthEl","marginSideH","marginSideT","padTop","padBot","padSideH","padSideT","padRight","toggleVis","mth","_upFrame","_onFramesChange","__getConfig","getAllMap","acc","__initConfig","def","__catchAllEvent","collections","entity","__appendTo","_createId","ln","allMap","createId","__listenAdd","__listenRemove","__listenUpdate","__destroy","onBeforeStyle","CSS","CssRule","mediaText","stylable","atRuleType","important","shallow","ensureSelectors","__onChange","isEmptyObj","changesUp","toListen","getSelectors","Selectors","typeStr","addSelector","selOpts","getFullString","stateStr","skipState","allowEmpty","devices","getDevices","deviceDefault","getWidthMedia","stateValue","getStates","sngl","cmpId","getById","ruleProps","wd","selAdd","a1S","a2S","Styleable","onAdd","parseCss","rulesView","storeStyles","elStyle","CssRules","postLoad","um","getCacheLoad","hasPages","slc","singleSel","parserCss","checkNode","addCollection","sl","newSels","le","selec","modelExists","updateStyle","avoidUpdateStyle","styleUpdate","addRules","setRule","atRuleParams","getRule","getRules","setIdRule","getCurrentMedia","Selector","getIdRule","setClassRule","getClassRule","getComponentRules","getSelectorsString","toCSS","CssRuleView","getBlockId","addToCollection","renderStarted","atRuleEl","styleEl","CssGroupRuleView","appendData","clsName","defaultBlockId","blockId","getMediaWidth","contRules","prs","pr","widthMedia","Device","checkUnit","Devices","DevicesView","startAdd","updateSelect","devEl","devicesEl","getOptions","evSelectBefore","evAddBefore","chnSel","dv","_onSelect","deviceId","newDevice","draggableComponents","storeWrapper","processor","voidElements","ComponentWrapperView","ComponentView","Component","columns","rows","rowsToAdd","columnsToAdd","clm","ComponentTableBody","svgAttrs","void","editable","highlightable","ratioDefault","traits","fallback","initToolbar","hasButtonBool","tb","getAttrToHTML","getSrcResult","btoa","isDefaultSrc","parseUri","uri","query","qrs","pair","hostname","protocol","port","mapUrl","address","frameborder","OComponent","changeProp","parseFromSrc","updateSrc","getMapUrl","addr","qr","z","classEmpty","fetchFile","modelOpt","srcExists","addAttributes","onActive","getSrc","onError","noDrag","renderAttributes","getIframe","ifrm","frameBorder","updateClasses","ComponentText","ComponentLink","textTags","compProt","updateContentText","syncContent","rte","fromDisable","disableEditing","canActivate","rteEnabled","sameInEdit","getEditing","isInnerText","isInstanceOf","lastContent","activeRte","logError","toggleEvents","onDisable","getChildrenContainer","contentOpt","customRte","resetFromString","insertComponent","startContainer","startOffset","textModel","newCmps","is","cmps","onInput","disablePropagation","mixins","setEditing","elDocs","prevDef","ComponentLinkView","yt","vi","ytnc","videoId","provider","ytUrl","ytncUrl","viUrl","poster","muted","autoplay","controls","color","modestbranding","sources","updateTraits","getYoutubeTraits","getVimeoTraits","getSourceTraits","prov","getYoutubeSrc","getYoutubeNoCookieSrc","getVimeoSrc","getProviderTrait","getAutoplayTrait","getLoopTrait","getControlsTrait","isYtProv","isYtncProv","isViProv","isExtProv","OComponentView","updateProvider","updateVideo","renderByProvider","videoEl","renderYoutube","renderYoutubeNoCookie","renderVimeo","renderSource","initVideoEl","layerable","scrCnt","scriptCount","svar","svarNext","svarFn","svarNextFn","__innerHTML","customName","selectable","hoverable","inSvg","createElementNS","updateStatus","updateAttributes","initClasses","initComponents","createComment","ComponentWrapper","removable","__hasUm","attrUp","__getSrc","getAttributes","componentView","componentsById","componentTypes","ComponentTableCell","ComponentTableCellView","ComponentTableRow","ComponentTableRowView","ComponentTable","ComponentTableView","ComponentTableHead","ComponentTableHeadView","ComponentTableBodyView","ComponentTableFoot","ComponentTableFootView","ComponentMap","ComponentMapView","ComponentLabel","ComponentLabelView","ComponentVideo","ComponentVideoView","ComponentImage","ComponentImageView","ComponentScript","ComponentScriptView","ComponentSvgIn","ComponentSvgView","ComponentSvg","ComponentFrame","ComponentFrameView","ComponentComment","ComponentCommentView","ComponentTextNode","ComponentTextNodeView","ComponentTextView","Components","ComponentsView","storeComponents","compTypes","componentHovered","selectAdd","selectRemove","setComponents","isObj","getComponents","toStore","addComponent","extendView","extendFn","extendFnView","compType","extendType","extendViewType","typeToExtend","modelToExt","viewToExt","getExtendedObj","srcToExt","parentFn","df","it","removeType","getShallowWrapper","shallowEm","keyUpdate","keyUpdateInside","canMove","reason","srcModel","allById","Trait","targetEvent","targetUpdated","locale","getTargetValue","valueOpts","partial","setTargetValue","fromTarget","trait","valueToSet","final","toSet","step","Traits","handleReset","tf","objs","optionsTarget","TraitFactory","keySymbols","keySymbol","keySymbolOvrd","parentAttr","newAttr","toPropagate","ccid","initTraits","initScriptProps","scriptUpdated","tagUpdated","attrUpdated","_idUpdated","__emitUpdateTlb","__propToParent","__postAdd","__isSymbolOrInst","__initSymb","recursive","__changesUp","__propSelfToParent","$els","eq","closest","setClass","attrPrev","shallowDiff","setAttributes","noClass","attrArr","compAttr","optsAdd","parseStyle","propOrig","addId","noStyle","TYPE_ID","__getSymbol","__getSymbols","classe","classStr","toUp","symbol","symbols","log","__symbReady","__upSymbProps","__isSymbol","__isSymbolTop","symbTopSelf","__getSymbTop","symbTop","symb","__getAllById","symbs","idx","ovrd","symbEnabled","fromInstance","noPropagate","__isSymbOvrd","__getSymbToUp","__logSymbol","propsChanged","optUp","toUpOpts","isTemp","addedInstances","isMainSymb","addSymb","toAppend","addedInst","addedTop","symbolInv","isSymbNested","__isSymbolNested","toUpFn","symbPrnt","newMods","attrCls","clsArr","normalizeClasses","__upSymbCls","addChild","avoidChildren","__upSymbComps","__loadTraits","getInitValue","prevProps","newProps","prevPropsEv","newPropsEv","__scriptPropsChange","compArr","prevColl","tr","traitsI","getTraits","getTrait","_inner","cloned","newId","rulesToClone","newRule","defName","nameTag","i18nPfx","i18nName","i18nNameTag","i18nDefName","capitalize","customTag","sTag","customAttr","withProps","isBoolean","valueRes","altQuoteAttr","attrString","getInnerHTML","getChangedProps","modelProps","tagVarStart","tagVarEnd","reg","updated","rmOpts","byType","oldId","setId","idS","_getStyleRule","idUpdate","idPrev","getList","_getStyleSelector","ensureInList","nextId","getIncrementId","getNewId","ilen","uid","random","keepIds","dm","checkId","badgable","unstylable","dmode","getComponentIds","getComponentsFromDefs","itms","newComponents","resetChildren","newIds","allByID","parsed","parseString","canRemoveStyle","rulesRemoved","__postRemove","parseHtml","optsToPass","nodes","isMult","processDef","__firstAdd","mdl","modelPr","$$typeof","parserHtml","splitPropsFromAttr","__onAddEnd","getClasses","updateHighlight","updateContent","handleChange","avoidRender","_clbObj","__isDraggable","childrenView","importClasses","renderChildren","chgArr","selectedCls","selectedParentCls","freezedCls","hoveredCls","selCls","noExtHl","actualCls","avoidHover","isTextable","hl","onAttrUpdate","removeAttr","textable","defaultAttr","contenteditable","hasComps","getChildrenSelector","getTemplate","gtop","gleft","assignRect","isInViewport","elDoc","_setData","replaceWith","triggerAdd","sameFrameView","viewObject","parentEl","ParserHtml","extendStyle","propNew","noEvent","removeStyle","imp","propPrv","newStyle","baseType","getBaseType","typeFound","recognizeType","ModelInst","ViewInst","extendViewApi","holderClass","inputClass","handleModelChange","elementUpdated","getInputEl","__onInputChange","fromInput","inputEl","plh","defaultOpts","beforeShow","noop","flat","showInput","showButtons","clickoutFiresChange","showInitial","showPalette","showPaletteOnly","hideAfterPaletteSelect","togglePaletteOnly","showSelectionPalette","localStorageKey","maxSelectionSize","cancelText","chooseText","togglePaletteMoreText","togglePaletteLessText","clearText","noColorSelectedText","preferredFormat","containerClassName","replacerClassName","showAlpha","palette","selectionPalette","spectrums","IE","rgbaSupport","backgroundColor","replaceInput","markup","gradientFix","dataID","spectrum","extra","spect","removeData","loadOpts","inputTypeColorSupport","_cachedResult","colorInput","localization","palettes","processNativeColorInputs","colorInputs","trimLeft","trimRight","tinyCounter","math","mathRound","mathMin","mathMax","mathRandom","tinycolor","rgb","format","named","matchers","rgba","hsl","hsla","hsv","hsva","hex8","convertHexToDecimal","parseIntFromHex","hex6","hex3","stringInputToObject","bound01","convertToPercentage","hsvToRgb","hue2rgb","hslToRgb","boundAlpha","inputToRGB","_originalInput","_r","_g","_b","_a","_roundA","_format","_gradientType","gradientType","_ok","_tc_id","isDark","getBrightness","isLight","getOriginalInput","getFormat","getAlpha","toRgb","setAlpha","toHsv","rgbToHsv","toHsvString","toHsl","rgbToHsl","toHslString","toHex","allow3Char","rgbToHex","toHexString","toHex8","rgbaToHex","toHex8String","toRgbString","toPercentageRgb","toPercentageRgbString","toName","hexNames","toFilter","secondColor","hex8String","secondHex8String","formatSet","formattedString","hasAlpha","_applyModification","lighten","brighten","darken","desaturate","saturate","greyscale","spin","_applyCombination","analogous","complement","monochromatic","splitcomplement","triad","tetrad","fromRatio","newColor","color1","color2","mix","w1","rgb1","rgb2","w2","readability","c1","c2","brightnessA","brightnessB","colorDiff","brightness","isReadable","mostReadable","baseColor","colorList","bestColor","bestScore","bestIsReadable","readable","CSS_UNIT","PERMISSIVE_MATCH3","PERMISSIVE_MATCH4","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","burntsienna","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","flipped","flip","paletteTemplate","tiny","swatchStyle","timeout","callbackContext","instanceOptions","resize","reflow","throttler","isDragging","isDefault","dragWidth","dragHeight","dragHelperHeight","slideHeight","alphaWidth","alphaSlideHelperWidth","slideHelperHeight","currentHue","currentSaturation","currentValue","currentAlpha","paletteArray","paletteLookup","draggingClass","shiftMovementDirection","boundElement","pickerContainer","dragHelper","slider","slideHelper","alphaSliderInner","alphaSlider","alphaSlideHelper","textInput","paletteContainer","initialColorContainer","cancelButton","clearButton","chooseButton","toggleButton","isInput","isInputTypeColor","shouldReplace","replacer","offsetElement","previewElement","initialColor","colorOnShow","currentPreferredFormat","applyOptions","toggleClass","updateSelectionPaletteFromStorage","localStorage","oldPalette","addColorToSelectionPalette","inArray","drawPalette","currentColor","unique","getUniqueSelectionPalette","drawInitial","setFromTextInput","updateOriginalInput","isDefaultPrevented","hideAll","$doc","onkeydown","clickout","updateUI","revert","ignoreFormatChange","newHsv","updateHelperLocations","flatColor","realColor","displayColor","realHex","realRgb","alpha","realAlpha","gradient","alphaX","slideY","fireCallback","picker","extraY","dpWidth","outerWidth","dpHeight","outerHeight","inputHeight","docElem","cW","cH","scL","scT","paletteElementClick","keydown","hasClass","oldDragX","oldDragY","furtherFromX","paletteEvent","optionName","optionValue","coord","onmove","onstart","onstop","maxHeight","maxWidth","hasTouch","duringDragEvents","t0","rightclick","hex","pad2","clamp01","hue","results","slices","modification","isOnePointZero","processPercent","isPercentage","ColorPicker","getColor","cl","Input","colorEl","getColorEl","tc","valueClr","noneColor","previousColor","cpStyle","elToAppend","colorPickerConfig","setValueFromInput","noDefault","contClass","validateInputValue","deepCheck","validObj","handleUnitChange","getUnitEl","handleKeyDown","upArrowClick","downArrowClick","unitEl","units","temp","normalizeValue","downIncrement","moveIncrement","upIncrement","prValue","defValue","stepDecimals","toFixed","limitlessMax","limitlessMin","fixed","regFixed","valCopy","uN","itemsView","itemType","itemViewNotFound","ns","reuseView","typeField","clearItems","traitInputAttr","localeFallback","detectLocale","messages","assetManager","addButton","inputPlh","uploadTitle","blockManager","labels","domComponents","comment","video","link","tfoot","tbody","thead","table","row","cell","deviceManager","desktop","tablet","mobileLandscape","mobilePortrait","titles","preview","fullscreen","selectorManager","emptyState","hover","styleManager","layer","fileButton","sectors","general","layout","typography","decorations","flex","dimension","traitManager","false","_blank","messagesAdd","deepAssign","targValue","srcValue","addMessages","_localLang","setLocale","evObj","valuePrev","getLocale","getMessages","lang","_debug","setMessages","msg","localeFlb","lFlb","_getMsg","_addParams","nav","language","userLanguage","msgSet","_mods","_scope","_MODIFIERS","control","_MAP","backspace","tab","return","esc","down","del","delete","home","pageup","pagedown","_downKeys","compareArray","modifierMap","updateModifierKey","clearModifier","assignKey","resetModifiers","scope","mods","getKeys","getMods","shortcut","getScope","mi","addEvent","setScope","deleteScope","isPressed","getPressedKeyCodes","multipleKeys","modifiersMatch","dispatch","keymaster","configDef","keymaps","defKeys","pk","removeAll","backdrop","ModalView","updateOpen","updateTitle","$collector","$content","$title","getCollector","getTitle","currAttr","updateAttr","triggerEvent","ModalM","enb","_evData","titl","createText","setTitle","onceOpen","getContentEl","hidable","hideTextnode","showWrapper","showHover","scrollCanvas","scrollLayers","highlightHover","onInit","ItemsView","inputProp","styleOpts","isStyleHidden","clsNoEdit","countChildren","clsNoChild","clsTitle","clsTitleC","clsCaret","clsInput","inputNameCls","gut","clsBase","clsCount","clsMove","clsChildren","parentView","checkChildren","updateOpening","updateLayerable","updateName","clsEdit","viewLayer","__render","getInputName","innerText","getVisibilityEl","eyeEl","hClass","toggleVisibility","prevDspKey","prevDisplay","handleEdit","handleEditKey","isEscKey","isEnterKey","handleEditEnd","setName","propName","inputName","opened","chvDown","getCaret","toggleOpening","handleSelect","fromLayers","handleHover","handleHoverOut","freeze","unfreeze","isCountable","caret","setRoot","_rendered","__clearItems","ItemView","componentChanged","getRoot","sortContainer","ignoreViewChildren","created","getSourceModel","forceChange","avoidSelectOnEnd","Page","defFrame","evPageSelectBefore","evPageUpdate","evPageAdd","evPageAddBefore","evPageRemove","evPageRemoveBefore","typeMain","selectBefore","addBefore","cnf","pages","_onPageChange","mainComp","getMainComponent","pg","getAllFrames","pagesMap","swv","expt","osm","otm","ola","obl","ful","prv","togglable","delayBtnsShow","btn","Buttons","Panel","listen","activeCls","disableCls","btnsVisCls","updateActive","checkActive","updateBtnsVis","updateClassName","updateDisable","chnOpt","fromListen","$buttons","fromCollection","commandName","deactivateAll","clicked","toggleActive","parentM","ButtonView","appendContent","toggleVisible","cr","bc","resz","resLen","tl","bl","br","silentFrames","avoidContainerUpdate","forContainer","styleWidth","styleHeight","ButtonsView","PanelView","PanelsViewObj","getPanelsEl","removePanel","panelId","removeButton","getButton","PanelsView","disableButtons","runDefaultCommand","stopDefaultCommand","Button","deactivateAllExceptOne","except","disableAllButtons","disableAllButtonsExceptOne","optionsHtml","htmlType","allowScripts","allowUnsafeAttr","atRuleKeys","singleAtRules","singleAtRulesNames","parseSelector","propValue","getPropertyValue","getPropertyPriority","parseCondition","conditionText","selectorText","createNode","selLen","lastClass","stateArr","parseNode","cssRules","keyText","isSingleAtRule","subRules","lens","subRule","selsParsed","selsAdd","lastRule","len3","selsAddStr","sheet","BrowserCssParser","classSets","classSet","pHtml","pCss","Parser","defaultType","DOMParser","mimeType","strF","parseFromString","hEls","modelAttrStart","modelAttr","valueLen","valStr","lastChar","decls","decl","parseClass","attrsLen","nodePrev","nodeChild","ct","namespaceURI","keepEmptyTextNodes","outerHTML","allTxt","foundTextNode","ci","cType","cf","BrowserParserHtml","__clearUnsafeAttr","styleStr","resHtml","returnArray","btnState","isValidTag","parentAnchor","parentFocus","customElAttr","defActions","bold","italic","underline","strikethrough","insertHTML","RichTextEditor","settings","setEl","updateActiveActions","__onKeydown","__onPaste","acts","actionbar","inactive","actionbarCont","actionbarContainer","addAction","styleWithCSS","getActions","queryCommandSupported","queryCommandState","enabled","__toggleEffects","actionbarEl","syncActions","caretRangeFromPoint","poiner","rangeParent","rangeOffset","textHtml","deleteContents","nd","insertNode","toSel","removeAttributes","adjustToolbar","eventsUp","hideToolbar","initRte","globalRte","updatePosition","rteInst","escapeName","selectedName","iconAdd","iconSync","iconTagOn","iconTagOff","iconTagRemove","componentFirst","State","startEditTag","endEditTag","changeStatus","removeTag","removeSelected","$chk","labelInfo","labelHead","stateInputId","stateInputC","toList","toListCls","__handleStateChange","checkSync","renderClasses","tagRemoved","renderStates","syncStyle","getTarget","cssC","getCommonSelectors","noDisabled","ruleComponents","getTargets","ruleComponent","updateStateVis","addToClasses","startNewTag","$addBtn","$input","endNewTag","onInputKeyUp","addNewTag","checkStates","getState","statesEl","targets","trgs","validSelectors","__getCommonSelectors","_commonSelectors","__common","hasStyle","$btnSyncEl","getStatesC","updateSelector","elSel","__getName","getStyleable","idRes","stateChanged","addSelected","ClassTagView","$states","$statesC","labelStates","getLabel","tmpOpts","renderRes","$classes","isClass","evState","cFirst","__update","selTags","selectorTags","isRule","cOpts","cname","getSelector","setState","setStates","__getCommon","getSelectedTargets","setComponentFirst","getComponentFirst","ClassTagsView","getValid","private","protected","namePreEsc","nameEsc","objLen","TYPE_CLASS","combine","curr","combination","autosave","autoload","stepsBeforeSave","checkLocal","urlStore","urlLoad","jqXHR","onComplete","contentTypeJson","fetchOptions","hasLocal","setItem","getItem","removeItem","clbErr","onResponse","request","typeJson","typeHead","bodyObj","bodyKey","eventStart","eventAfter","eventEnd","eventError","storages","defaultStorages","_disable","remote","RemoteStorage","LocalStorage","currentStorage","loadDefaultProviders","setCurrent","isAutosave","setAutosave","getStepsBeforeSave","setStepsBeforeSave","storage","getStorages","getCurrent","onAfter","keysF","__clearKeys","itemKey","itemKeyR","getCurrentStorage","canAutoload","hideNotStylable","highlightChanged","highlightComputed","showComputed","clearProperties","avoidComputed","Property","__upTargets","callInit","parentProp","isClear","__getFullValue","__getParentProp","kProps","__getClearProps","toProps","applyStyle","__up","__trgEv","propertyUpdate","__upTargetsStyle","addStyleTargets","__p","noTarget","hasValue","getDefaultValue","noParent","parentValue","getParentTarget","camelCase","__parseValue","_up","getParent","__canClearProp","parseValue","valueStr","functionName","numeric","num","withDefault","getFullValue","fnParameter","__parentTarget","toRequire","requires","requiresParent","stylableReq","sector","getProperties","callParentInit","skipInit","fixedValues","isNumberType","PropertyComposite","detached","separator","fromStyle","toStyle","Properties","__upProperties","byName","getSplitSeparator","__getJoin","getValues","isDetached","__clearIn","__upTargetsStyleProps","getStyleFromProps","__setProperties","__getSplitValue","nameProps","allNameProps","__splitValue","props4Nums","__styleHasProps","upValue","valuesStr","Layer","getLayerLabel","getSelectedLayer","selectLayer","removeLayer","moveLayer","getStylePreview","Layers","VALUES_REG","PARTS_REG","PropertyStack","layerSeparator","layerJoin","prepend","layerLabel","selectedLayer","layersColl","__upSelected","__upLayers","__getLayers","getIndex","__select","getLayer","currIndex","getLayers","joinLayers","__getJoinLayers","number","newVal","getStyleFromLayer","upValues","PropertyBase","getStyleFromLayers","layerSelect","__layers","__setLayers","newLayers","layersNew","__parseLayer","parseFn","getLayerSeparator","separatorLayers","__splitStyleName","inLayer","clearProp","icons","iconClose","__destroyFn","onValueChange","_getClbOpts","computedCls","labelEl","clearStyleEl","getClearEl","clearStyle","clearEl","emit","__setValueInput","createdEl","__change","__updateStyle","clearCached","clsType","templateLabel","templateInput","isFull","PropertiesView","appendAtIndex","PropertyCompositeView","PropertyView","propsView","LayerView","iconMove","propertyView","pModel","updateLabel","propsWrapEl","previewEl","getLabelEl","hasPreview","prvEl","getPreviewEl","wrapEl","getPropertiesWrapper","isSelected","LayersView","PropertyStackView","iconPlus","plus","addLayer","layersView","PropertyFileView","valueDef","prvBoxEl","backgroundImage","PropertyNumberView","inputInst","PropertyColorView","__handleChange","InputColor","PropertySelect","getOptionId","isDef","optId","propId","__onOptionChange","PropertySelectView","updateOptions","optionsRes","getOptionLabel","styleAttr","inputH","firstOpt","firstId","PropertyRadio","PropertyRadioView","itemCls","elId","titleAttr","checked","inputHld","inputIn","PropertyNumber","InputNumber","PropertySlider","PropertySliderView","getSliderEl","propertyAdd","propertyRemove","Sector","buildProps","extendBuilded","builded","buildProperties","extendProperties","checkExtend","propsModel","withValue","withParentValue","moProps","ex","pLen","mProps","isolated","mProp","mPProps","buildP","builtIn","Sectors","sect","PropertyFactory","typeNumber","typeColor","typeRadio","typeSelect","typeFile","typeSlider","typeComposite","typeStack","unitsSize","unitsSizeNoPerc","unitsTime","unitsAngle","ss","optsFlex","optsFlexAlign","optsBgSize","optsBgAttach","optsBgRepeat","optsWrap","optsOverflow","optsDir","opstDisplay","optsTransitFn","optsCursor","optsFloat","optsPos","optsTextAlign","optsJustCont","optsAlignCont","optsAlignSelf","optsTransitProp","optsBorderStyle","optsBgPos","optsWeight","optsShadowType","optsFonts","font","fixedFontSizes","fixedLetSpace","requireFlex","__sub","spread","att","fromRes","SectorView","iconCaret","clsPfx","getPropertiesEl","setOpen","renderProperties","SectorsView","evSector","evSectorAdd","evSectorRemove","evSectorUpdate","evProp","evPropAdd","evPropRemove","evPropUp","evLayerSelect","evTarget","propDef","SectView","sectorAdd","sectorRemove","sectorUpdate","upAll","__upSel","__clearStateTarget","upProps","__upProps","trgCustom","__ctn","stateTarget","__getStateTarget","addSector","getSector","_logNoSector","getSectors","removeSector","addProperty","sectorId","getProperty","removeProperty","lastTarget","lastTargetParents","getParentRules","getSelectedParents","targetState","getBuiltIn","getBuiltInAll","addBuiltIn","smConf","devicePreviewMode","hasClasses","useClasses","deviceW","avoidInlineStyle","cssGen","optsSel","cmpRules","otherRules","createType","parentStyles","__upProp","__checkVisibility","sectorVisible","hasVal","isStack","isComposite","canUpdate","__getLayersFromStyle","__getPropsFromStyle","newValue","parentTarget","parentItem","__setParentTarget","newParentStyles","eventCapture","appendInput","clsField","removeView","rerender","getClbOpts","elInput","getInputElem","onUpdate","onEvent","getValueForTarget","setInputValue","postUpdate","renderLabel","tpl","createLabel","getModelValue","i18nAttr","getElInput","renderField","inputs","createInput","hasLabel","noLabel","tmpl","TraitView","updatedCollection","resultName","valResult","getCheckedValue","valueTrue","valueFalse","toInit","targetValue","inputNumber","$unit","labelButton","typesDef","TraitNumberView","TraitSelectView","checkbox","TraitCheckboxView","TraitColorView","TraitButtonView","TraitsView","__onUp","getTraitsViewer","baseView","beforeCache","trackSelection","hasSkip","getChanged","hasUndo","undoExc","chn","hasRedo","getInstance","getStack","getStackGroup","getGroupedStack","createItem","goToGroup","getPointer","goTo","times","snapOffset","getDocumentEl","getContainerEl","getWindowEl","keyHandle","handleScroll","lastScroll","actualScroll","scrollDiff","lastScrollDiff","startPointer","getPointerPos","startPosition","getStartPosition","globScrollDiff","currentPos","glDiff","lockedAxis","detectAxisLock","moveDelta","deltaPre","currentPointer","snapGuides","newDelta","trgX","trgY","axs","trgPoint","statPoint","deltaPoint","trgGuide","isPointIn","trgValue","setGuideLock","lock","ofst","trgName","xPos","yPos","getPos","getPointerPosition","pEv","relX","relY","absX","absY","_Array$prototype","idRe","classRe","htmlRe","tagRe","getElementsByTagName","Cash","__cash","eles","getElementById","parseHTML","cash","ele","camelCaseRe","camelCaseWhitespaceRe","letter","removeProp","guid","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","isNumeric","isFinite","getCompareFunction","splitValuesRe","getSplitValues","computeStyle","isVariable","computeStyleInt","_value","isForce","cssVariableRe","isCSSVariable","prefixedProps","docEl","vendorsPrefixes","getPrefixedProp","propCC","propUC","prefixedProp","numericProps","animationIterationCount","columnCount","flexGrow","flexShrink","fontWeight","lineHeight","orphans","widows","getSuffixedValue","setProperty","dataNamespace","dataAttributeRe","getDataCache","dataset","getExtraSpace","xAxis","hasNamespaces","ns1","ns2","removeEventListeners","_ref","hasData","_this","boxSizing","includeMargins","getEventsCache","parseEventName","removeEvent","namespaces","eventCache","_ref2","eventFullName","_this2","_parseEventName","_one","_this3","_parseEventName2","finalCallback","namespace","thisArg","one","readyState","evt","_parseEventName3","createEvent","initEvent","selectOneRe","selectMultipleRe","selectedIndex","getValueSelectSingle","getValueSelectMultiple","queryEncodeSpaceRe","skippableRe","checkableRe","serialize","elements","queryEncode","isMultiple","eleValue","containers","fragmentRe","singleTagRe","td","initContainers","$1","insertContent","isStr","insertAdjacentHTML","insertElement","_this4","insertAfter","_this5","_this6","_this7","_this8","_this9","prependTo","_this10","$eles","replaceAll","docEle","clientTop","contents","nextElementSibling","not","parents","previousElementSibling","siblings","KEY_ATTR","oldEl","newEl","total","oEvent","keyCodeVal","defineProperty","vNodes","vNodesArr","vnode","TypeError","setTimeoutFunc","_state","_handled","_deferreds","doResolve","deferred","_immediateFn","onFulfilled","onRejected","finale","_unhandledRejectionFn","Handler","prom","promiseFinally","allSettled","race","setImmediate","rej","req","XMLHttpRequest","withCredentials","statusText","responseText","onProgress","onprogress","send","literals","substs","raw","lit","subst","elT","elL","borderOffset","freezeClass","relative","ignoreModels","offTop","offLeft","$document","dropContent","selectOnEnd","activeTextModel","getScale","getDocuments","dropModel","updateTextViewCursorPosition","targetDoc","setContentEditable","toggleSortCursor","clonedEl","computed","moveDragHelper","posY","posX","dragHelperStyle","useBody","createPlaceholder","ins","prevTarget","sourceEl","clearSelection","getTargetModel","isTextableActive","tempModel","selectTargetModel","targetModel","dsp","eO","rY","rX","mousePos","eventMove","sourceModel","dimsFromTarget","lastDims","findPosition","disableTextable","movePlaceholder","prevTargetDim","$plh","isInFlow","styleInFlow","$parent","overflow","propFloat","trgModel","dragInfo","dropInfo","targetP","validResult","getDim","cacheDimsP","getChildrenDim","cacheDims","nearBorders","targetParent","getTargetFromEl","targetPrev","nearElBorders","getCurrentPos","offsets","getCurrentView","elIndex","indexEl","leftLimit","xLimit","yLimit","xCenter","yCenter","dimDown","trgDim","elDim","marg","pT","pL","dst","modelToDrop","srcEl","warns","targetCollection","srcIndex","sameCollection","errors","onUpdateContainer","minDim","maxDim","getBoundingRect","setup","hdl","createHandler","updateContainer","forceShow","handleMouseDown","getParentEl","attrName","parentRect","handlerAttr","clickedHandler","rectDim","startPos","parentDim","toggleFrames","mouseFetch","calc","updateRect","getSelectedHandler","isHandler","deltaX","deltaY","parentW","parentH","startW","startH","normalizeFloat","ratioActive","ratio","getGlobal","elProt","Element","defCls","customUI","appendStyles","prepand","objOrig","objNew","keysNew","origValue","upFirst","nativeDnD","isCommentNode","__cashData","rectText","selectNode","getKeyCode","__gjsv","chars","runtime","Op","hasOwn","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","enumerable","configurable","writable","innerFn","outerFn","tryLocsList","protoGenerator","Generator","_invoke","GenStateSuspendedStart","arg","GenStateExecuting","GenStateCompleted","doneResult","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","GenStateSuspendedYield","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iterable","iteratorMethod","displayName","isGeneratorFunction","genFun","setPrototypeOf","__proto__","awrap","async","skipTempReset","rootRecord","rval","exception","loc","caught","hasCatch","hasFinally","finallyEntry","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Function","webpackContext","webpackContextResolve","__webpack_require__","_arrayLikeToArray","arr2","asyncGeneratorStep","_next","_throw","_asyncToGenerator","_classCallCheck","Constructor","_defineProperties","descriptor","_createClass","_defineProperty","_getPrototypeOf","_setPrototypeOf","_inherits","subClass","superClass","_objectWithoutProperties","excluded","sourceKeys","getOwnPropertySymbols","sourceSymbolKeys","_possibleConstructorReturn","ReferenceError","_slicedToArray","_i","_s","_arr","_n","_d","unsupportedIterableToArray","_taggedTemplateLiteral","strings","defineProperties","_toConsumableArray","arrayLikeToArray","_typeof","_unsupportedIterableToArray","minLen","ArrayProto","ObjProto","SymbolProto","supportsArrayBuffer","ArrayBuffer","supportsDataView","DataView","nativeIsArray","nativeKeys","nativeCreate","nativeIsView","isView","_isNaN","_isFinite","hasEnumBug","nonEnumerableProps","MAX_ARRAY_INDEX","pow","restArguments","tagTester","nodelist","Int8Array","hasStringTagBug","isIE11","Map","isDataView","getInt8","isArrayBuffer","buffer","isSymbol","constant","createSizePropertyCheck","getSizeProperty","sizeProperty","shallowProperty","typedArrayPattern","collectNonEnumProps","emulatedSet","nonEnumIdx","proto","isMatch","_keys","_wrapped","toBufferView","bufferSource","Uint8Array","byteOffset","valueOf","tagDataView","aStack","bStack","deepEq","areArrays","aCtor","bCtor","allKeys","ie11fingerprint","weakMapMethods","forEachName","commonInit","mapTail","mapMethods","setMethods","functions","createAssigner","keysFunc","baseCreate","Ctor","extendOwn","tap","interceptor","toPath","deepGet","defaultValue","identity","optimizeCb","argCount","accumulator","baseIteratee","mapObject","currentKey","propertyOf","accum","getTime","createEscaper","escaper","testRegexp","replaceRegexp","templateSettings","evaluate","interpolate","noMatch","escapes","escapeChar","bareIdentifier","oldSettings","argument","variable","idCounter","_chain","executeBound","sourceFunc","boundFunc","callingContext","boundArgs","callArgs","memoize","hasher","throttle","later","leading","throttled","_now","trailing","immediate","passed","debounced","_args","negate","compose","memo","findKey","createPredicateIndexFinder","sortedIndex","low","high","createIndexFinder","predicateFind","createReduce","reducer","guard","contextPath","lastComputed","rand","criteria","reStrSymbol","keyInObj","compact","otherArrays","uniq","isSorted","seen","arrays","intersection","argsLength","unzip","chainResult","mixin","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","getter","__esModule","fromElement","noticeOnUnload","forceClass","defaultCommand","mediaCondition","jsInHtml","multipleSelection","optsHtml","optsCss","avoidDefaults","dragMode","cssIcons","arrowUp","i18n","storageManager","richTextEditor","codeManager","cssComposer","multiFrames","Selectable","Selected","hasComponent","getByComponent","timedInterval","updateItr","deps","Window","ar","Extender","logs","warning","EditorModel","editing","clipboard","previousModel","storables","modules","toLoad","pageManager","toLog","attrsOrig","loadModule","updateChanges","_checkReady","listenLog","eventFrom","eventTo","onbeforeunload","moduleName","Mod","cfgParent","cfg","destroyed","__skip","handleUpdates","lastComponent","allComponents","multiple","mltSel","toggleSelected","selColl","selIndex","removeComponent","getJs","avoidProt","avoidProtected","protCss","storeData","editingCmp","loadData","cacheLoad","defaultRunning","grapesjs","destroyAll","logNs","colorPicker","varName","contEl","shallowCanvasEl","addComponents","getSelectedToStyle","selectToggle","setDevice","getDevice","getProject","loadProject","getDirtyCount","setCustomRte","setCustomParserCss","setDragMode","onReady","plugins","agent","isIE","originalCreateHTMLDocument","DOMImplementation","createHTMLDocument","implementation","polyfills","plugin","defaultConfig","autorender","pluginsOpts","__GJS_VERSION__","headless","Editor","pluginId","plgOptions","wplg","loadOnStart"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"grapes.min.js","mappings":"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","sources":["webpack://grapesjs/webpack/universalModuleDefinition","webpack://grapesjs/./node_modules/@babel/runtime/regenerator/index.js","webpack://grapesjs/./src/asset_manager/config/config.js","webpack://grapesjs/./src/asset_manager/model/Asset.js","webpack://grapesjs/./src/asset_manager/model/AssetImage.js","webpack://grapesjs/./src/asset_manager/view/AssetView.js","webpack://grapesjs/./src/asset_manager/view/AssetImageView.js","webpack://grapesjs/./src/asset_manager/model/Assets.js","webpack://grapesjs/./src/asset_manager/view/AssetsView.js","webpack://grapesjs/./src/asset_manager/view/FileUploader.js","webpack://grapesjs/./src/asset_manager/index.js","webpack://grapesjs/./src/block_manager/config/config.js","webpack://grapesjs/./src/block_manager/model/Block.js","webpack://grapesjs/./src/block_manager/model/Blocks.js","webpack://grapesjs/./src/block_manager/model/Category.js","webpack://grapesjs/./src/block_manager/model/Categories.js","webpack://grapesjs/./src/block_manager/view/BlockView.js","webpack://grapesjs/./src/block_manager/view/CategoryView.js","webpack://grapesjs/./src/block_manager/view/BlocksView.js","webpack://grapesjs/./src/block_manager/index.js","webpack://grapesjs/./src/canvas/config/config.js","webpack://grapesjs/./src/canvas/model/Canvas.js","webpack://grapesjs/./src/utils/Droppable.js","webpack://grapesjs/./src/canvas/view/FrameView.js","webpack://grapesjs/./src/canvas/view/FrameWrapView.js","webpack://grapesjs/./src/canvas/view/CanvasView.js","webpack://grapesjs/./src/canvas/view/FramesView.js","webpack://grapesjs/./src/canvas/index.js","webpack://grapesjs/./src/canvas/model/Frame.js","webpack://grapesjs/./src/canvas/model/Frames.js","webpack://grapesjs/./src/code_manager/config/config.js","webpack://grapesjs/./src/code_manager/model/HtmlGenerator.js","webpack://grapesjs/./src/code_manager/model/JsonGenerator.js","webpack://grapesjs/./src/code_manager/model/CodeMirrorEditor.js","webpack://grapesjs/./src/code_manager/model/JsGenerator.js","webpack://grapesjs/./src/code_manager/view/EditorView.js","webpack://grapesjs/./src/code_manager/index.js","webpack://grapesjs/./src/code_manager/model/CssGenerator.js","webpack://grapesjs/./src/commands/config/config.js","webpack://grapesjs/./src/commands/index.js","webpack://grapesjs/./src/commands/view/CanvasClear.js","webpack://grapesjs/./src/commands/view/CanvasMove.js","webpack://grapesjs/./src/commands/view/CommandAbstract.js","webpack://grapesjs/./src/commands/view/ComponentDelete.js","webpack://grapesjs/./src/commands/view/ComponentDrag.js","webpack://grapesjs/./src/commands/view/ComponentEnter.js","webpack://grapesjs/./src/commands/view/ComponentExit.js","webpack://grapesjs/./src/commands/view/ComponentNext.js","webpack://grapesjs/./src/commands/view/ComponentPrev.js","webpack://grapesjs/./src/commands/view/ComponentStyleClear.js","webpack://grapesjs/./src/commands/view/CopyComponent.js","webpack://grapesjs/./src/commands/view/DeleteComponent.js","webpack://grapesjs/./src/commands/view/ExportTemplate.js","webpack://grapesjs/./src/commands/view/Fullscreen.js","webpack://grapesjs/./src/commands/view/MoveComponent.js","webpack://grapesjs/./src/commands/view/OpenAssets.js","webpack://grapesjs/./src/commands/view/OpenBlocks.js","webpack://grapesjs/./src/commands/view/OpenLayers.js","webpack://grapesjs/./src/commands/view/OpenStyleManager.js","webpack://grapesjs/./src/commands/view/OpenTraitManager.js","webpack://grapesjs/./src/commands/view/PasteComponent.js","webpack://grapesjs/./src/commands/view/Preview.js","webpack://grapesjs/./src/commands/view/Resize.js","webpack://grapesjs/./src/dom_components/view/ToolbarButtonView.js","webpack://grapesjs/./src/dom_components/view/ToolbarView.js","webpack://grapesjs/./src/dom_components/model/ToolbarButton.js","webpack://grapesjs/./src/dom_components/model/Toolbar.js","webpack://grapesjs/./src/commands/view/SelectComponent.js","webpack://grapesjs/./src/commands/view/SelectPosition.js","webpack://grapesjs/./src/commands/view/ShowOffset.js","webpack://grapesjs/./src/commands/view/SwitchVisibility.js","webpack://grapesjs/./src/common/module.js","webpack://grapesjs/./src/css_composer/config/config.js","webpack://grapesjs/./src/css_composer/model/CssRule.js","webpack://grapesjs/./src/css_composer/model/CssRules.js","webpack://grapesjs/./src/css_composer/index.js","webpack://grapesjs/./src/css_composer/view/CssRuleView.js","webpack://grapesjs/./src/css_composer/view/CssGroupRuleView.js","webpack://grapesjs/./src/css_composer/view/CssRulesView.js","webpack://grapesjs/./src/device_manager/config/config.js","webpack://grapesjs/./src/device_manager/model/Device.js","webpack://grapesjs/./src/device_manager/model/Devices.js","webpack://grapesjs/./src/device_manager/view/DevicesView.js","webpack://grapesjs/./src/device_manager/index.js","webpack://grapesjs/./src/dom_components/config/config.js","webpack://grapesjs/./src/dom_components/view/ComponentWrapperView.js","webpack://grapesjs/./src/dom_components/model/ComponentTableCell.js","webpack://grapesjs/./src/dom_components/view/ComponentTableCellView.js","webpack://grapesjs/./src/dom_components/model/ComponentTableRow.js","webpack://grapesjs/./src/dom_components/view/ComponentTableRowView.js","webpack://grapesjs/./src/dom_components/model/ComponentTable.js","webpack://grapesjs/./src/dom_components/view/ComponentTableView.js","webpack://grapesjs/./src/dom_components/model/ComponentTableBody.js","webpack://grapesjs/./src/dom_components/model/ComponentTableHead.js","webpack://grapesjs/./src/dom_components/view/ComponentTableHeadView.js","webpack://grapesjs/./src/dom_components/view/ComponentTableBodyView.js","webpack://grapesjs/./src/dom_components/model/ComponentTableFoot.js","webpack://grapesjs/./src/dom_components/view/ComponentTableFootView.js","webpack://grapesjs/./src/dom_components/model/ComponentImage.js","webpack://grapesjs/./src/dom_components/model/ComponentMap.js","webpack://grapesjs/./src/dom_components/view/ComponentImageView.js","webpack://grapesjs/./src/dom_components/view/ComponentMapView.js","webpack://grapesjs/./src/dom_components/model/ComponentText.js","webpack://grapesjs/./src/dom_components/model/ComponentLink.js","webpack://grapesjs/./src/dom_components/view/ComponentTextView.js","webpack://grapesjs/./src/dom_components/view/ComponentLinkView.js","webpack://grapesjs/./src/dom_components/model/ComponentLabel.js","webpack://grapesjs/./src/dom_components/view/ComponentLabelView.js","webpack://grapesjs/./src/dom_components/model/ComponentVideo.js","webpack://grapesjs/./src/dom_components/view/ComponentVideoView.js","webpack://grapesjs/./src/dom_components/model/ComponentScript.js","webpack://grapesjs/./src/dom_components/view/ComponentScriptView.js","webpack://grapesjs/./src/dom_components/model/ComponentSvg.js","webpack://grapesjs/./src/dom_components/model/ComponentSvgIn.js","webpack://grapesjs/./src/dom_components/view/ComponentSvgView.js","webpack://grapesjs/./src/dom_components/model/ComponentTextNode.js","webpack://grapesjs/./src/dom_components/model/ComponentComment.js","webpack://grapesjs/./src/dom_components/view/ComponentTextNodeView.js","webpack://grapesjs/./src/dom_components/view/ComponentCommentView.js","webpack://grapesjs/./src/dom_components/model/ComponentWrapper.js","webpack://grapesjs/./src/dom_components/model/ComponentFrame.js","webpack://grapesjs/./src/dom_components/view/ComponentFrameView.js","webpack://grapesjs/./src/dom_components/index.js","webpack://grapesjs/./src/trait_manager/model/Trait.js","webpack://grapesjs/./src/trait_manager/model/Traits.js","webpack://grapesjs/./src/trait_manager/model/TraitFactory.js","webpack://grapesjs/./src/dom_components/model/Component.js","webpack://grapesjs/./src/dom_components/model/Components.js","webpack://grapesjs/./src/dom_components/view/ComponentView.js","webpack://grapesjs/./src/dom_components/view/ComponentsView.js","webpack://grapesjs/./src/domain_abstract/model/Styleable.js","webpack://grapesjs/./src/domain_abstract/model/TypeableCollection.js","webpack://grapesjs/./src/domain_abstract/ui/Input.js","webpack://grapesjs/./src/domain_abstract/ui/InputColor.js","webpack://grapesjs/./src/utils/ColorPicker.js","webpack://grapesjs/./src/domain_abstract/ui/InputNumber.js","webpack://grapesjs/./src/domain_abstract/view/DomainViews.js","webpack://grapesjs/./src/i18n/locale/en.js","webpack://grapesjs/./src/i18n/config.js","webpack://grapesjs/./src/i18n/index.js","webpack://grapesjs/./src/utils/keymaster.js","webpack://grapesjs/./src/keymaps/index.js","webpack://grapesjs/./src/modal_dialog/config/config.js","webpack://grapesjs/./src/modal_dialog/model/Modal.js","webpack://grapesjs/./src/modal_dialog/view/ModalView.js","webpack://grapesjs/./src/modal_dialog/index.js","webpack://grapesjs/./src/navigator/config/config.js","webpack://grapesjs/./src/navigator/view/ItemView.js","webpack://grapesjs/./src/navigator/index.js","webpack://grapesjs/./src/navigator/view/ItemsView.js","webpack://grapesjs/./src/pages/model/Page.js","webpack://grapesjs/./src/pages/model/Pages.js","webpack://grapesjs/./src/pages/index.js","webpack://grapesjs/./src/panels/config/config.js","webpack://grapesjs/./src/panels/model/Panel.js","webpack://grapesjs/./src/panels/model/Panels.js","webpack://grapesjs/./src/panels/view/ButtonView.js","webpack://grapesjs/./src/panels/view/ButtonsView.js","webpack://grapesjs/./src/panels/view/PanelView.js","webpack://grapesjs/./src/panels/view/PanelsView.js","webpack://grapesjs/./src/panels/index.js","webpack://grapesjs/./src/panels/model/Button.js","webpack://grapesjs/./src/panels/model/Buttons.js","webpack://grapesjs/./src/parser/config/config.js","webpack://grapesjs/./src/parser/model/BrowserParserCss.js","webpack://grapesjs/./src/parser/model/ParserCss.js","webpack://grapesjs/./src/parser/index.js","webpack://grapesjs/./src/parser/model/BrowserParserHtml.js","webpack://grapesjs/./src/parser/model/ParserHtml.js","webpack://grapesjs/./src/rich_text_editor/model/RichTextEditor.js","webpack://grapesjs/./src/rich_text_editor/config/config.js","webpack://grapesjs/./src/rich_text_editor/index.js","webpack://grapesjs/./src/selector_manager/config/config.js","webpack://grapesjs/./src/selector_manager/model/State.js","webpack://grapesjs/./src/selector_manager/view/ClassTagView.js","webpack://grapesjs/./src/selector_manager/view/ClassTagsView.js","webpack://grapesjs/./src/selector_manager/index.js","webpack://grapesjs/./src/selector_manager/model/Selector.js","webpack://grapesjs/./src/selector_manager/model/Selectors.js","webpack://grapesjs/./src/storage_manager/config/config.js","webpack://grapesjs/./src/storage_manager/model/LocalStorage.js","webpack://grapesjs/./src/storage_manager/model/RemoteStorage.js","webpack://grapesjs/./src/storage_manager/index.js","webpack://grapesjs/./src/style_manager/config/config.js","webpack://grapesjs/./src/style_manager/model/Property.js","webpack://grapesjs/./src/style_manager/model/PropertyComposite.js","webpack://grapesjs/./src/style_manager/model/Layer.js","webpack://grapesjs/./src/style_manager/model/Layers.js","webpack://grapesjs/./src/style_manager/model/PropertyStack.js","webpack://grapesjs/./src/style_manager/view/PropertyView.js","webpack://grapesjs/./src/style_manager/view/PropertiesView.js","webpack://grapesjs/./src/style_manager/view/PropertyCompositeView.js","webpack://grapesjs/./src/style_manager/view/LayerView.js","webpack://grapesjs/./src/style_manager/view/LayersView.js","webpack://grapesjs/./src/style_manager/view/PropertyStackView.js","webpack://grapesjs/./src/style_manager/view/PropertyFileView.js","webpack://grapesjs/./src/style_manager/view/PropertyNumberView.js","webpack://grapesjs/./src/style_manager/view/PropertyColorView.js","webpack://grapesjs/./src/style_manager/model/PropertySelect.js","webpack://grapesjs/./src/style_manager/view/PropertySelectView.js","webpack://grapesjs/./src/style_manager/model/PropertyRadio.js","webpack://grapesjs/./src/style_manager/view/PropertyRadioView.js","webpack://grapesjs/./src/style_manager/model/PropertyNumber.js","webpack://grapesjs/./src/style_manager/model/PropertySlider.js","webpack://grapesjs/./src/style_manager/view/PropertySliderView.js","webpack://grapesjs/./src/style_manager/model/Properties.js","webpack://grapesjs/./src/style_manager/model/Sector.js","webpack://grapesjs/./src/style_manager/model/Sectors.js","webpack://grapesjs/./src/style_manager/model/PropertyFactory.js","webpack://grapesjs/./src/style_manager/view/SectorView.js","webpack://grapesjs/./src/style_manager/view/SectorsView.js","webpack://grapesjs/./src/style_manager/index.js","webpack://grapesjs/./src/trait_manager/config/config.js","webpack://grapesjs/./src/trait_manager/view/TraitView.js","webpack://grapesjs/./src/trait_manager/view/TraitsView.js","webpack://grapesjs/./src/trait_manager/view/TraitSelectView.js","webpack://grapesjs/./src/trait_manager/view/TraitCheckboxView.js","webpack://grapesjs/./src/trait_manager/view/TraitNumberView.js","webpack://grapesjs/./src/trait_manager/view/TraitColorView.js","webpack://grapesjs/./src/trait_manager/view/TraitButtonView.js","webpack://grapesjs/./src/trait_manager/index.js","webpack://grapesjs/./src/undo_manager/index.js","webpack://grapesjs/./src/utils/Dragger.js","webpack://grapesjs/./src/utils/cash-dom.js","webpack://grapesjs/./src/utils/dom.js","webpack://grapesjs/./node_modules/promise-polyfill/src/finally.js","webpack://grapesjs/./node_modules/promise-polyfill/src/allSettled.js","webpack://grapesjs/./node_modules/promise-polyfill/src/index.js","webpack://grapesjs/./src/utils/fetch.js","webpack://grapesjs/./src/utils/html.js","webpack://grapesjs/./src/utils/Sorter.js","webpack://grapesjs/./src/utils/Resizer.js","webpack://grapesjs/./src/utils/index.js","webpack://grapesjs/./src/utils/mixins.js","webpack://grapesjs/./node_modules/backbone-undo/Backbone.Undo.js","webpack://grapesjs/./node_modules/backbone/backbone.js","webpack://grapesjs/./node_modules/codemirror-formatting/formatting.js","webpack://grapesjs/./node_modules/codemirror/lib/codemirror.js","webpack://grapesjs/./node_modules/codemirror/mode/css/css.js","webpack://grapesjs/./node_modules/codemirror/mode/htmlmixed/htmlmixed.js","webpack://grapesjs/./node_modules/codemirror/mode/javascript/javascript.js","webpack://grapesjs/./node_modules/codemirror/mode/xml/xml.js","webpack://grapesjs/./node_modules/regenerator-runtime/runtime.js","webpack://grapesjs/./src/common/Model.ts","webpack://grapesjs/./src/commands/view|sync|/^/.*$","webpack://grapesjs/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://grapesjs/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://grapesjs/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://grapesjs/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://grapesjs/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://grapesjs/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://grapesjs/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://grapesjs/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://grapesjs/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://grapesjs/./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack://grapesjs/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://grapesjs/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://grapesjs/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://grapesjs/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://grapesjs/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://grapesjs/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://grapesjs/./node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","webpack://grapesjs/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://grapesjs/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://grapesjs/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://grapesjs/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://grapesjs/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://grapesjs/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://grapesjs/./node_modules/underscore/modules/_setup.js","webpack://grapesjs/./node_modules/underscore/modules/restArguments.js","webpack://grapesjs/./node_modules/underscore/modules/isObject.js","webpack://grapesjs/./node_modules/underscore/modules/isNull.js","webpack://grapesjs/./node_modules/underscore/modules/isUndefined.js","webpack://grapesjs/./node_modules/underscore/modules/isBoolean.js","webpack://grapesjs/./node_modules/underscore/modules/isElement.js","webpack://grapesjs/./node_modules/underscore/modules/_tagTester.js","webpack://grapesjs/./node_modules/underscore/modules/isString.js","webpack://grapesjs/./node_modules/underscore/modules/isNumber.js","webpack://grapesjs/./node_modules/underscore/modules/isDate.js","webpack://grapesjs/./node_modules/underscore/modules/isRegExp.js","webpack://grapesjs/./node_modules/underscore/modules/isError.js","webpack://grapesjs/./node_modules/underscore/modules/isSymbol.js","webpack://grapesjs/./node_modules/underscore/modules/isArrayBuffer.js","webpack://grapesjs/./node_modules/underscore/modules/isFunction.js","webpack://grapesjs/./node_modules/underscore/modules/_hasObjectTag.js","webpack://grapesjs/./node_modules/underscore/modules/_stringTagBug.js","webpack://grapesjs/./node_modules/underscore/modules/isDataView.js","webpack://grapesjs/./node_modules/underscore/modules/isArray.js","webpack://grapesjs/./node_modules/underscore/modules/_has.js","webpack://grapesjs/./node_modules/underscore/modules/isArguments.js","webpack://grapesjs/./node_modules/underscore/modules/isFinite.js","webpack://grapesjs/./node_modules/underscore/modules/isNaN.js","webpack://grapesjs/./node_modules/underscore/modules/constant.js","webpack://grapesjs/./node_modules/underscore/modules/_createSizePropertyCheck.js","webpack://grapesjs/./node_modules/underscore/modules/_shallowProperty.js","webpack://grapesjs/./node_modules/underscore/modules/_getByteLength.js","webpack://grapesjs/./node_modules/underscore/modules/_isBufferLike.js","webpack://grapesjs/./node_modules/underscore/modules/isTypedArray.js","webpack://grapesjs/./node_modules/underscore/modules/_getLength.js","webpack://grapesjs/./node_modules/underscore/modules/_collectNonEnumProps.js","webpack://grapesjs/./node_modules/underscore/modules/keys.js","webpack://grapesjs/./node_modules/underscore/modules/isEmpty.js","webpack://grapesjs/./node_modules/underscore/modules/isMatch.js","webpack://grapesjs/./node_modules/underscore/modules/underscore.js","webpack://grapesjs/./node_modules/underscore/modules/_toBufferView.js","webpack://grapesjs/./node_modules/underscore/modules/isEqual.js","webpack://grapesjs/./node_modules/underscore/modules/allKeys.js","webpack://grapesjs/./node_modules/underscore/modules/_methodFingerprint.js","webpack://grapesjs/./node_modules/underscore/modules/isMap.js","webpack://grapesjs/./node_modules/underscore/modules/isWeakMap.js","webpack://grapesjs/./node_modules/underscore/modules/isSet.js","webpack://grapesjs/./node_modules/underscore/modules/isWeakSet.js","webpack://grapesjs/./node_modules/underscore/modules/values.js","webpack://grapesjs/./node_modules/underscore/modules/pairs.js","webpack://grapesjs/./node_modules/underscore/modules/invert.js","webpack://grapesjs/./node_modules/underscore/modules/functions.js","webpack://grapesjs/./node_modules/underscore/modules/_createAssigner.js","webpack://grapesjs/./node_modules/underscore/modules/extend.js","webpack://grapesjs/./node_modules/underscore/modules/extendOwn.js","webpack://grapesjs/./node_modules/underscore/modules/defaults.js","webpack://grapesjs/./node_modules/underscore/modules/_baseCreate.js","webpack://grapesjs/./node_modules/underscore/modules/create.js","webpack://grapesjs/./node_modules/underscore/modules/clone.js","webpack://grapesjs/./node_modules/underscore/modules/tap.js","webpack://grapesjs/./node_modules/underscore/modules/toPath.js","webpack://grapesjs/./node_modules/underscore/modules/_toPath.js","webpack://grapesjs/./node_modules/underscore/modules/_deepGet.js","webpack://grapesjs/./node_modules/underscore/modules/get.js","webpack://grapesjs/./node_modules/underscore/modules/has.js","webpack://grapesjs/./node_modules/underscore/modules/identity.js","webpack://grapesjs/./node_modules/underscore/modules/matcher.js","webpack://grapesjs/./node_modules/underscore/modules/property.js","webpack://grapesjs/./node_modules/underscore/modules/_optimizeCb.js","webpack://grapesjs/./node_modules/underscore/modules/_baseIteratee.js","webpack://grapesjs/./node_modules/underscore/modules/iteratee.js","webpack://grapesjs/./node_modules/underscore/modules/_cb.js","webpack://grapesjs/./node_modules/underscore/modules/mapObject.js","webpack://grapesjs/./node_modules/underscore/modules/noop.js","webpack://grapesjs/./node_modules/underscore/modules/propertyOf.js","webpack://grapesjs/./node_modules/underscore/modules/times.js","webpack://grapesjs/./node_modules/underscore/modules/random.js","webpack://grapesjs/./node_modules/underscore/modules/now.js","webpack://grapesjs/./node_modules/underscore/modules/_createEscaper.js","webpack://grapesjs/./node_modules/underscore/modules/_escapeMap.js","webpack://grapesjs/./node_modules/underscore/modules/escape.js","webpack://grapesjs/./node_modules/underscore/modules/unescape.js","webpack://grapesjs/./node_modules/underscore/modules/_unescapeMap.js","webpack://grapesjs/./node_modules/underscore/modules/templateSettings.js","webpack://grapesjs/./node_modules/underscore/modules/template.js","webpack://grapesjs/./node_modules/underscore/modules/result.js","webpack://grapesjs/./node_modules/underscore/modules/uniqueId.js","webpack://grapesjs/./node_modules/underscore/modules/chain.js","webpack://grapesjs/./node_modules/underscore/modules/_executeBound.js","webpack://grapesjs/./node_modules/underscore/modules/partial.js","webpack://grapesjs/./node_modules/underscore/modules/bind.js","webpack://grapesjs/./node_modules/underscore/modules/_isArrayLike.js","webpack://grapesjs/./node_modules/underscore/modules/_flatten.js","webpack://grapesjs/./node_modules/underscore/modules/bindAll.js","webpack://grapesjs/./node_modules/underscore/modules/memoize.js","webpack://grapesjs/./node_modules/underscore/modules/delay.js","webpack://grapesjs/./node_modules/underscore/modules/defer.js","webpack://grapesjs/./node_modules/underscore/modules/throttle.js","webpack://grapesjs/./node_modules/underscore/modules/debounce.js","webpack://grapesjs/./node_modules/underscore/modules/wrap.js","webpack://grapesjs/./node_modules/underscore/modules/negate.js","webpack://grapesjs/./node_modules/underscore/modules/compose.js","webpack://grapesjs/./node_modules/underscore/modules/after.js","webpack://grapesjs/./node_modules/underscore/modules/before.js","webpack://grapesjs/./node_modules/underscore/modules/once.js","webpack://grapesjs/./node_modules/underscore/modules/findKey.js","webpack://grapesjs/./node_modules/underscore/modules/_createPredicateIndexFinder.js","webpack://grapesjs/./node_modules/underscore/modules/findIndex.js","webpack://grapesjs/./node_modules/underscore/modules/findLastIndex.js","webpack://grapesjs/./node_modules/underscore/modules/sortedIndex.js","webpack://grapesjs/./node_modules/underscore/modules/_createIndexFinder.js","webpack://grapesjs/./node_modules/underscore/modules/indexOf.js","webpack://grapesjs/./node_modules/underscore/modules/lastIndexOf.js","webpack://grapesjs/./node_modules/underscore/modules/find.js","webpack://grapesjs/./node_modules/underscore/modules/findWhere.js","webpack://grapesjs/./node_modules/underscore/modules/each.js","webpack://grapesjs/./node_modules/underscore/modules/map.js","webpack://grapesjs/./node_modules/underscore/modules/_createReduce.js","webpack://grapesjs/./node_modules/underscore/modules/reduce.js","webpack://grapesjs/./node_modules/underscore/modules/reduceRight.js","webpack://grapesjs/./node_modules/underscore/modules/filter.js","webpack://grapesjs/./node_modules/underscore/modules/reject.js","webpack://grapesjs/./node_modules/underscore/modules/every.js","webpack://grapesjs/./node_modules/underscore/modules/some.js","webpack://grapesjs/./node_modules/underscore/modules/contains.js","webpack://grapesjs/./node_modules/underscore/modules/invoke.js","webpack://grapesjs/./node_modules/underscore/modules/pluck.js","webpack://grapesjs/./node_modules/underscore/modules/where.js","webpack://grapesjs/./node_modules/underscore/modules/max.js","webpack://grapesjs/./node_modules/underscore/modules/min.js","webpack://grapesjs/./node_modules/underscore/modules/sample.js","webpack://grapesjs/./node_modules/underscore/modules/shuffle.js","webpack://grapesjs/./node_modules/underscore/modules/sortBy.js","webpack://grapesjs/./node_modules/underscore/modules/_group.js","webpack://grapesjs/./node_modules/underscore/modules/groupBy.js","webpack://grapesjs/./node_modules/underscore/modules/indexBy.js","webpack://grapesjs/./node_modules/underscore/modules/countBy.js","webpack://grapesjs/./node_modules/underscore/modules/partition.js","webpack://grapesjs/./node_modules/underscore/modules/toArray.js","webpack://grapesjs/./node_modules/underscore/modules/size.js","webpack://grapesjs/./node_modules/underscore/modules/_keyInObj.js","webpack://grapesjs/./node_modules/underscore/modules/pick.js","webpack://grapesjs/./node_modules/underscore/modules/omit.js","webpack://grapesjs/./node_modules/underscore/modules/initial.js","webpack://grapesjs/./node_modules/underscore/modules/first.js","webpack://grapesjs/./node_modules/underscore/modules/rest.js","webpack://grapesjs/./node_modules/underscore/modules/last.js","webpack://grapesjs/./node_modules/underscore/modules/compact.js","webpack://grapesjs/./node_modules/underscore/modules/flatten.js","webpack://grapesjs/./node_modules/underscore/modules/difference.js","webpack://grapesjs/./node_modules/underscore/modules/without.js","webpack://grapesjs/./node_modules/underscore/modules/uniq.js","webpack://grapesjs/./node_modules/underscore/modules/union.js","webpack://grapesjs/./node_modules/underscore/modules/intersection.js","webpack://grapesjs/./node_modules/underscore/modules/unzip.js","webpack://grapesjs/./node_modules/underscore/modules/zip.js","webpack://grapesjs/./node_modules/underscore/modules/object.js","webpack://grapesjs/./node_modules/underscore/modules/range.js","webpack://grapesjs/./node_modules/underscore/modules/chunk.js","webpack://grapesjs/./node_modules/underscore/modules/_chainResult.js","webpack://grapesjs/./node_modules/underscore/modules/mixin.js","webpack://grapesjs/./node_modules/underscore/modules/underscore-array-methods.js","webpack://grapesjs/./node_modules/underscore/modules/index-default.js","webpack://grapesjs/webpack/bootstrap","webpack://grapesjs/webpack/runtime/compat get default export","webpack://grapesjs/webpack/runtime/define property getters","webpack://grapesjs/webpack/runtime/global","webpack://grapesjs/webpack/runtime/hasOwnProperty shorthand","webpack://grapesjs/webpack/runtime/make namespace object","webpack://grapesjs/./src/editor/config/config.js","webpack://grapesjs/./src/editor/model/Selected.js","webpack://grapesjs/./src/editor/model/Editor.js","webpack://grapesjs/./src/utils/extender.js","webpack://grapesjs/./src/editor/view/EditorView.js","webpack://grapesjs/./src/editor/index.js","webpack://grapesjs/./src/plugin_manager/config/config.js","webpack://grapesjs/./src/utils/polyfills.js","webpack://grapesjs/./src/index.js","webpack://grapesjs/./src/plugin_manager/index.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"grapesjs\"] = factory();\n\telse\n\t\troot[\"grapesjs\"] = factory();\n})(typeof globalThis !== 'undefined' ? globalThis : (typeof window !== 'undefined' ? window : this), function() {\nreturn ","module.exports = require(\"regenerator-runtime\");\n","export default {\r\n // Default assets\r\n // eg. [\r\n // 'https://...image1.png',\r\n // 'https://...image2.png',\r\n // {type: 'image', src: 'https://...image3.png', someOtherCustomProp: 1},\r\n // ..\r\n // ]\r\n assets: [],\r\n\r\n // Content to add where there is no assets to show\r\n // eg. 'No assets here, drag to upload'\r\n noAssets: '',\r\n\r\n // Style prefix\r\n stylePrefix: 'am-',\r\n\r\n // Upload endpoint, set `false` to disable upload\r\n // upload: 'https://endpoint/upload/assets',\r\n // upload: false,\r\n upload: 0,\r\n\r\n // The name used in POST to pass uploaded files\r\n uploadName: 'files',\r\n\r\n // Custom headers to pass with the upload request\r\n headers: {},\r\n\r\n // Custom parameters to pass with the upload request, eg. csrf token\r\n params: {},\r\n\r\n // The credentials setting for the upload request, eg. 'include', 'omit'\r\n credentials: 'include',\r\n\r\n // Allow uploading multiple files per request.\r\n // If disabled filename will not have '[]' appended\r\n multiUpload: true,\r\n\r\n // If true, tries to add automatically uploaded assets.\r\n // To make it work the server should respond with a JSON containing assets\r\n // in a data key, eg:\r\n // {\r\n // data: [\r\n // 'https://.../image.png',\r\n // ...\r\n // {src: 'https://.../image2.png'},\r\n // ...\r\n // ]\r\n // }\r\n autoAdd: true,\r\n\r\n // To upload your assets, the module uses Fetch API, with this option you\r\n // overwrite it with something else.\r\n // It should return a Promise\r\n // @example\r\n // customFetch: (url, options) => axios(url, { data: options.body }),\r\n customFetch: null,\r\n\r\n // Custom uploadFile function.\r\n // Differently from the `customFetch` option, this gives a total control\r\n // over the uploading process, but you also have to emit all `asset:upload:*` events\r\n // by yourself (if you need to use them somewhere)\r\n // @example\r\n // uploadFile: (e) => {\r\n // var files = e.dataTransfer ? e.dataTransfer.files : e.target.files;\r\n // // ...send somewhere\r\n // }\r\n uploadFile: null,\r\n\r\n // In the absence of 'uploadFile' or 'upload' assets will be embedded as Base64\r\n embedAsBase64: true,\r\n\r\n // Handle the image url submit from the built-in 'Add image' form\r\n // @example\r\n // handleAdd: (textFromInput) => {\r\n // // some check...\r\n // editor.AssetManager.add(textFromInput);\r\n // }\r\n handleAdd: null,\r\n\r\n // Method called before upload, on return false upload is canceled.\r\n // @example\r\n // beforeUpload: (files) => {\r\n // // logic...\r\n // var stopUpload = true;\r\n // if(stopUpload) return false;\r\n // }\r\n beforeUpload: null,\r\n\r\n // Toggles visiblity of assets url input\r\n showUrlInput: true,\r\n\r\n // Avoid rendering the default asset manager.\r\n custom: false,\r\n\r\n // WARNING: all the options below are considered DEPRECATED.\r\n // ---------------------------------------------------------------\r\n\r\n // Enable an upload dropzone on the entire editor (not document) when dragging\r\n // files over it\r\n // If active the dropzone disable/hide the upload dropzone in asset modal,\r\n // otherwise you will get double drops (#507)\r\n dropzone: false,\r\n\r\n // Open the asset manager once files are been dropped via the dropzone\r\n openAssetsOnDrop: 1,\r\n\r\n // Any dropzone content to append inside dropzone element\r\n dropzoneContent: ''\r\n};\r\n","import { result } from 'underscore';\r\nimport { Model } from '../../common';\r\n\r\n/**\r\n * @property {String} type Asset type, eg. 'image'.\r\n * @property {String} src Asset URL, eg. 'https://.../image.png'.\r\n */\r\nexport default class Asset extends Model {\r\n defaults() {\r\n return {\r\n type: '',\r\n src: '',\r\n };\r\n }\r\n\r\n /**\r\n * Get asset type.\r\n * @returns {String}\r\n * @example\r\n * // Asset: { src: 'https://.../image.png', type: 'image' }\r\n * asset.getType(); // -> 'image'\r\n * */\r\n getType() {\r\n return this.get('type');\r\n }\r\n\r\n /**\r\n * Get asset URL.\r\n * @returns {String}\r\n * @example\r\n * // Asset: { src: 'https://.../image.png' }\r\n * asset.getSrc(); // -> 'https://.../image.png'\r\n * */\r\n getSrc() {\r\n return this.get('src');\r\n }\r\n\r\n /**\r\n * Get filename of the asset (based on `src`).\r\n * @returns {String}\r\n * @example\r\n * // Asset: { src: 'https://.../image.png' }\r\n * asset.getFilename(); // -> 'image.png'\r\n * // Asset: { src: 'https://.../image' }\r\n * asset.getFilename(); // -> 'image'\r\n * */\r\n getFilename() {\r\n return this.get('src').split('/').pop().split('?').shift();\r\n }\r\n\r\n /**\r\n * Get extension of the asset (based on `src`).\r\n * @returns {String}\r\n * @example\r\n * // Asset: { src: 'https://.../image.png' }\r\n * asset.getExtension(); // -> 'png'\r\n * // Asset: { src: 'https://.../image' }\r\n * asset.getExtension(); // -> ''\r\n * */\r\n getExtension() {\r\n return this.getFilename().split('.').pop();\r\n }\r\n}\r\n\r\nAsset.prototype.idAttribute = 'src';\r\n\r\nAsset.getDefaults = function () {\r\n return result(this.prototype, 'defaults');\r\n};\r\n","import Asset from './Asset';\r\n\r\nexport default class AssetImage extends Asset {\r\n defaults() {\r\n return {\r\n ...Asset.getDefaults(),\r\n type: 'image',\r\n unitDim: 'px',\r\n height: 0,\r\n width: 0\r\n };\r\n }\r\n}\r\n","import { View } from '../../common';\r\nimport { clone } from 'underscore';\r\n\r\nexport default class AssetView extends View {\r\n initialize(o = {}) {\r\n this.options = o;\r\n this.collection = o.collection;\r\n const config = o.config || {};\r\n this.config = config;\r\n this.pfx = config.stylePrefix || '';\r\n this.ppfx = config.pStylePrefix || '';\r\n this.em = config.em;\r\n this.className = this.pfx + 'asset';\r\n this.listenTo(this.model, 'destroy remove', this.remove);\r\n this.model.view = this;\r\n const init = this.init && this.init.bind(this);\r\n init && init(o);\r\n }\r\n\r\n __getBhv() {\r\n const { em } = this;\r\n const am = em && em.get('AssetManager');\r\n return (am && am.__getBehaviour()) || {};\r\n }\r\n\r\n template() {\r\n const pfx = this.pfx;\r\n return `\r\n
\r\n ${this.getPreview()}\r\n
\r\n
\r\n ${this.getInfo()}\r\n
\r\n
\r\n ⨯\r\n
\r\n `;\r\n }\r\n\r\n /**\r\n * Update target if exists\r\n * @param {Model} target\r\n * @private\r\n * */\r\n updateTarget(target) {\r\n if (target && target.set) {\r\n target.set('attributes', clone(target.get('attributes')));\r\n target.set('src', this.model.get('src'));\r\n }\r\n }\r\n\r\n getPreview() {\r\n return '';\r\n }\r\n\r\n getInfo() {\r\n return '';\r\n }\r\n\r\n render() {\r\n const el = this.el;\r\n el.innerHTML = this.template(this, this.model);\r\n el.className = this.className;\r\n return this;\r\n }\r\n}\r\n","import { isFunction } from 'underscore';\r\nimport AssetView from './AssetView';\r\nimport html from '../../utils/html';\r\n\r\nexport default class AssetImageView extends AssetView {\r\n getPreview() {\r\n const { pfx, ppfx, model } = this;\r\n const src = model.get('src');\r\n return html`\r\n
\r\n
\r\n `;\r\n }\r\n\r\n getInfo() {\r\n const { pfx, model } = this;\r\n let name = model.get('name');\r\n let width = model.get('width');\r\n let height = model.get('height');\r\n let unit = model.get('unitDim');\r\n let dim = width && height ? `${width}x${height}${unit}` : '';\r\n name = name || model.getFilename();\r\n return html`\r\n
${name}
\r\n
${dim}
\r\n `;\r\n }\r\n\r\n init(o) {\r\n const pfx = this.pfx;\r\n this.className += ` ${pfx}asset-image`;\r\n }\r\n\r\n /**\r\n * Triggered when the asset is clicked\r\n * @private\r\n * */\r\n onClick() {\r\n const { model, pfx } = this;\r\n const { select } = this.__getBhv();\r\n const { onClick } = this.config;\r\n const coll = this.collection;\r\n coll.trigger('deselectAll');\r\n this.$el.addClass(pfx + 'highlight');\r\n\r\n if (isFunction(select)) {\r\n select(model, false);\r\n } else if (isFunction(onClick)) {\r\n onClick(model);\r\n } else {\r\n this.updateTarget(coll.target);\r\n }\r\n }\r\n\r\n /**\r\n * Triggered when the asset is double clicked\r\n * @private\r\n * */\r\n onDblClick() {\r\n const { em, model } = this;\r\n const { select } = this.__getBhv();\r\n const { onDblClick } = this.config;\r\n const { target, onSelect } = this.collection;\r\n\r\n if (isFunction(select)) {\r\n select(model, true);\r\n } else if (isFunction(onDblClick)) {\r\n onDblClick(model);\r\n } else {\r\n this.updateTarget(target);\r\n em && em.get('Modal').close();\r\n }\r\n isFunction(onSelect) && onSelect(model);\r\n }\r\n\r\n /**\r\n * Remove asset from collection\r\n * @private\r\n * */\r\n onRemove(e) {\r\n e.stopImmediatePropagation();\r\n this.model.collection.remove(this.model);\r\n }\r\n}\r\n\r\nAssetImageView.prototype.events = {\r\n 'click [data-toggle=asset-remove]': 'onRemove',\r\n click: 'onClick',\r\n dblclick: 'onDblClick',\r\n};\r\n","import { Collection } from '../../common';\r\nimport AssetImage from './AssetImage';\r\nimport AssetImageView from './../view/AssetImageView';\r\nimport TypeableCollection from '../../domain_abstract/model/TypeableCollection';\r\n\r\nexport default class Assets extends Collection.extend(TypeableCollection) {}\r\n\r\nAssets.prototype.types = [\r\n {\r\n id: 'image',\r\n model: AssetImage,\r\n view: AssetImageView,\r\n isType(value) {\r\n if (typeof value == 'string') {\r\n return {\r\n type: 'image',\r\n src: value,\r\n };\r\n }\r\n return value;\r\n },\r\n },\r\n];\r\n","import { View } from '../../common';\r\n\r\nexport default class AssetsView extends View {\r\n template({ pfx, ppfx, em }) {\r\n let form = '';\r\n if (this.config.showUrlInput) {\r\n form = `\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n `;\r\n }\r\n\r\n return `\r\n
\r\n
\r\n ${form}\r\n
\r\n
\r\n
\r\n
\r\n `;\r\n }\r\n\r\n initialize(o) {\r\n this.options = o;\r\n this.config = o.config;\r\n this.pfx = this.config.stylePrefix || '';\r\n this.ppfx = this.config.pStylePrefix || '';\r\n this.em = this.config.em;\r\n const coll = this.collection;\r\n this.listenTo(coll, 'reset', this.renderAssets);\r\n this.listenTo(coll, 'add', this.addToAsset);\r\n this.listenTo(coll, 'remove', this.removedAsset);\r\n this.listenTo(coll, 'deselectAll', this.deselectAll);\r\n }\r\n\r\n /**\r\n * Add new asset to the collection via string\r\n * @param {Event} e Event object\r\n * @return {this}\r\n * @private\r\n */\r\n handleSubmit(e) {\r\n e.preventDefault();\r\n const input = this.getAddInput();\r\n const url = input && input.value.trim();\r\n const handleAdd = this.config.handleAdd;\r\n\r\n if (!url) {\r\n return;\r\n }\r\n\r\n input.value = '';\r\n this.getAssetsEl().scrollTop = 0;\r\n\r\n if (handleAdd) {\r\n handleAdd.bind(this)(url);\r\n } else {\r\n this.options.globalCollection.add(url, { at: 0 });\r\n }\r\n }\r\n\r\n /**\r\n * Returns assets element\r\n * @return {HTMLElement}\r\n * @private\r\n */\r\n getAssetsEl() {\r\n //if(!this.assets) // Not able to cache as after the rerender it losses the ref\r\n return this.el.querySelector(`.${this.pfx}assets`);\r\n }\r\n\r\n /**\r\n * Returns input url element\r\n * @return {HTMLElement}\r\n * @private\r\n */\r\n getAddInput() {\r\n if (!this.inputUrl || !this.inputUrl.value) this.inputUrl = this.el.querySelector(`.${this.pfx}add-asset input`);\r\n return this.inputUrl;\r\n }\r\n\r\n /**\r\n * Triggered when an asset is removed\r\n * @param {Asset} model Removed asset\r\n * @private\r\n */\r\n removedAsset(model) {\r\n if (!this.collection.length) {\r\n this.toggleNoAssets();\r\n }\r\n }\r\n\r\n /**\r\n * Add asset to collection\r\n * @private\r\n * */\r\n addToAsset(model) {\r\n if (this.collection.length == 1) {\r\n this.toggleNoAssets(1);\r\n }\r\n this.addAsset(model);\r\n }\r\n\r\n /**\r\n * Add new asset to collection\r\n * @param Object Model\r\n * @param Object Fragment collection\r\n * @return Object Object created\r\n * @private\r\n * */\r\n addAsset(model, fragmentEl = null) {\r\n const fragment = fragmentEl;\r\n const collection = this.collection;\r\n const config = this.config;\r\n const rendered = new model.typeView({\r\n model,\r\n collection,\r\n config,\r\n }).render().el;\r\n\r\n if (fragment) {\r\n fragment.appendChild(rendered);\r\n } else {\r\n const assetsEl = this.getAssetsEl();\r\n if (assetsEl) {\r\n assetsEl.insertBefore(rendered, assetsEl.firstChild);\r\n }\r\n }\r\n\r\n return rendered;\r\n }\r\n\r\n /**\r\n * Checks if to show noAssets\r\n * @param {Boolean} hide\r\n * @private\r\n */\r\n toggleNoAssets(hide) {\r\n const assetsEl = this.$el.find(`.${this.pfx}assets`);\r\n\r\n if (hide) {\r\n assetsEl.empty();\r\n } else {\r\n const noAssets = this.config.noAssets;\r\n noAssets && assetsEl.append(noAssets);\r\n }\r\n }\r\n\r\n /**\r\n * Deselect all assets\r\n * @private\r\n * */\r\n deselectAll() {\r\n const pfx = this.pfx;\r\n this.$el.find(`.${pfx}highlight`).removeClass(`${pfx}highlight`);\r\n }\r\n\r\n renderAssets() {\r\n const fragment = document.createDocumentFragment();\r\n const assets = this.$el.find(`.${this.pfx}assets`);\r\n assets.empty();\r\n this.toggleNoAssets(this.collection.length);\r\n this.collection.each(model => this.addAsset(model, fragment));\r\n assets.append(fragment);\r\n }\r\n\r\n render() {\r\n const fuRendered = this.options.fu.render().el;\r\n this.$el.empty();\r\n this.$el.append(fuRendered).append(this.template(this));\r\n this.el.className = `${this.ppfx}asset-manager`;\r\n this.renderAssets();\r\n return this;\r\n }\r\n}\r\n\r\nAssetsView.prototype.events = {\r\n submit: 'handleSubmit',\r\n};\r\n","import { View } from '../../common';\r\nimport fetch from '../../utils/fetch';\r\nimport html from '../../utils/html';\r\n\r\nexport default class FileUploaderView extends View {\r\n template({ pfx, title, uploadId, disabled, multiUpload }) {\r\n return html`\r\n
\r\n
${title}
\r\n \r\n
\r\n \r\n `;\r\n }\r\n\r\n initialize(opts = {}) {\r\n this.options = opts;\r\n const c = opts.config || {};\r\n this.module = opts.module;\r\n this.config = c;\r\n this.em = this.config.em;\r\n this.pfx = c.stylePrefix || '';\r\n this.ppfx = c.pStylePrefix || '';\r\n this.target = this.options.globalCollection || {};\r\n this.uploadId = this.pfx + 'uploadFile';\r\n this.disabled = c.disableUpload !== undefined ? c.disableUpload : !c.upload && !c.embedAsBase64;\r\n this.multiUpload = c.multiUpload !== undefined ? c.multiUpload : true;\r\n this.events = {\r\n [`change #${this.uploadId}`]: 'uploadFile',\r\n };\r\n let uploadFile = c.uploadFile;\r\n\r\n if (uploadFile) {\r\n this.uploadFile = uploadFile.bind(this);\r\n } else if (!c.upload && c.embedAsBase64) {\r\n this.uploadFile = this.constructor.embedAsBase64;\r\n }\r\n\r\n this.delegateEvents();\r\n }\r\n\r\n /**\r\n * Triggered before the upload is started\r\n * @private\r\n */\r\n onUploadStart() {\r\n const { module } = this;\r\n module && module.__propEv('asset:upload:start');\r\n }\r\n\r\n /**\r\n * Triggered after the upload is ended\r\n * @param {Object|string} res End result\r\n * @private\r\n */\r\n onUploadEnd(res) {\r\n const { $el, module } = this;\r\n module && module.__propEv('asset:upload:end', res);\r\n const input = $el.find('input');\r\n input && input.val('');\r\n }\r\n\r\n /**\r\n * Triggered on upload error\r\n * @param {Object} err Error\r\n * @private\r\n */\r\n onUploadError(err) {\r\n const { module } = this;\r\n console.error(err);\r\n this.onUploadEnd(err);\r\n module && module.__propEv('asset:upload:error', err);\r\n }\r\n\r\n /**\r\n * Triggered on upload response\r\n * @param {string} text Response text\r\n * @private\r\n */\r\n onUploadResponse(text, clb) {\r\n const { module, config, target } = this;\r\n let json;\r\n try {\r\n json = typeof text === 'string' ? JSON.parse(text) : text;\r\n } catch (e) {\r\n json = text;\r\n }\r\n\r\n module && module.__propEv('asset:upload:response', json);\r\n\r\n if (config.autoAdd && target) {\r\n target.add(json.data, { at: 0 });\r\n }\r\n\r\n this.onUploadEnd(text);\r\n clb && clb(json);\r\n }\r\n\r\n /**\r\n * Upload files\r\n * @param {Object} e Event\r\n * @return {Promise}\r\n * @private\r\n * */\r\n uploadFile(e, clb) {\r\n const files = e.dataTransfer ? e.dataTransfer.files : e.target.files;\r\n const { config } = this;\r\n const { beforeUpload } = config;\r\n\r\n const beforeUploadResponse = beforeUpload && beforeUpload(files);\r\n if (beforeUploadResponse === false) return;\r\n\r\n const body = new FormData();\r\n const { params, customFetch } = config;\r\n\r\n for (let param in params) {\r\n body.append(param, params[param]);\r\n }\r\n\r\n if (this.multiUpload) {\r\n for (let i = 0; i < files.length; i++) {\r\n body.append(`${config.uploadName}[]`, files[i]);\r\n }\r\n } else if (files.length) {\r\n body.append(config.uploadName, files[0]);\r\n }\r\n\r\n var target = this.target;\r\n const url = config.upload;\r\n const headers = config.headers;\r\n const reqHead = 'X-Requested-With';\r\n\r\n if (typeof headers[reqHead] == 'undefined') {\r\n headers[reqHead] = 'XMLHttpRequest';\r\n }\r\n\r\n if (url) {\r\n this.onUploadStart();\r\n const fetchOpts = {\r\n method: 'post',\r\n credentials: config.credentials || 'include',\r\n headers,\r\n body,\r\n };\r\n const fetchResult = customFetch\r\n ? customFetch(url, fetchOpts)\r\n : fetch(url, fetchOpts).then(res =>\r\n ((res.status / 200) | 0) == 1 ? res.text() : res.text().then(text => Promise.reject(text))\r\n );\r\n return fetchResult.then(text => this.onUploadResponse(text, clb)).catch(err => this.onUploadError(err));\r\n }\r\n }\r\n\r\n /**\r\n * Make input file droppable\r\n * @private\r\n * */\r\n initDrop() {\r\n var that = this;\r\n if (!this.uploadForm) {\r\n this.uploadForm = this.$el.find('form').get(0);\r\n if ('draggable' in this.uploadForm) {\r\n var uploadFile = this.uploadFile;\r\n this.uploadForm.ondragover = function () {\r\n this.className = that.pfx + 'hover';\r\n return false;\r\n };\r\n this.uploadForm.ondragleave = function () {\r\n this.className = '';\r\n return false;\r\n };\r\n this.uploadForm.ondrop = function (e) {\r\n this.className = '';\r\n e.preventDefault();\r\n that.uploadFile(e);\r\n return;\r\n };\r\n }\r\n }\r\n }\r\n\r\n initDropzone(ev) {\r\n let addedCls = 0;\r\n const c = this.config;\r\n const em = ev.model;\r\n const edEl = ev.el;\r\n const editor = em.get('Editor');\r\n const container = em.get('Config').el;\r\n const frameEl = em.get('Canvas').getBody();\r\n const ppfx = this.ppfx;\r\n const updatedCls = `${ppfx}dropzone-active`;\r\n const dropzoneCls = `${ppfx}dropzone`;\r\n const cleanEditorElCls = () => {\r\n edEl.className = edEl.className.replace(updatedCls, '').trim();\r\n addedCls = 0;\r\n };\r\n const onDragOver = () => {\r\n if (!addedCls) {\r\n edEl.className += ` ${updatedCls}`;\r\n addedCls = 1;\r\n }\r\n return false;\r\n };\r\n const onDragLeave = () => {\r\n cleanEditorElCls();\r\n return false;\r\n };\r\n const onDrop = e => {\r\n cleanEditorElCls();\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.uploadFile(e);\r\n\r\n if (c.openAssetsOnDrop && editor) {\r\n const target = editor.getSelected();\r\n editor.runCommand('open-assets', {\r\n target,\r\n onSelect() {\r\n editor.Modal.close();\r\n editor.AssetManager.setTarget(null);\r\n },\r\n });\r\n }\r\n\r\n return false;\r\n };\r\n\r\n ev.$el.append(`
${c.dropzoneContent}
`);\r\n cleanEditorElCls();\r\n\r\n if ('draggable' in edEl) {\r\n [edEl, frameEl].forEach(item => {\r\n item.ondragover = onDragOver;\r\n item.ondragleave = onDragLeave;\r\n item.ondrop = onDrop;\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n const { $el, pfx, em } = this;\r\n $el.html(\r\n this.template({\r\n title: em && em.t('assetManager.uploadTitle'),\r\n uploadId: this.uploadId,\r\n disabled: this.disabled,\r\n multiUpload: this.multiUpload,\r\n pfx,\r\n })\r\n );\r\n this.initDrop();\r\n $el.attr('class', pfx + 'file-uploader');\r\n return this;\r\n }\r\n}\r\n\r\nFileUploaderView.embedAsBase64 = function (e, clb) {\r\n // List files dropped\r\n const files = e.dataTransfer ? e.dataTransfer.files : e.target.files;\r\n const response = { data: [] };\r\n\r\n // Unlikely, widely supported now\r\n if (!FileReader) {\r\n this.onUploadError(new Error('Unsupported platform, FileReader is not defined'));\r\n return;\r\n }\r\n\r\n const promises = [];\r\n const mimeTypeMatcher = /^(.+)\\/(.+)$/;\r\n\r\n for (const file of files) {\r\n // For each file a reader (to read the base64 URL)\r\n // and a promise (to track and merge results and errors)\r\n const promise = new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.addEventListener('load', event => {\r\n let type;\r\n const name = file.name;\r\n\r\n // Try to find the MIME type of the file.\r\n const match = mimeTypeMatcher.exec(file.type);\r\n if (match) {\r\n type = match[1]; // The first part in the MIME, \"image\" in image/png\r\n } else {\r\n type = file.type;\r\n }\r\n\r\n /*\r\n // Show local video files, http://jsfiddle.net/dsbonev/cCCZ2/embedded/result,js,html,css/\r\n var URL = window.URL || window.webkitURL\r\n var file = this.files[0]\r\n var type = file.type\r\n var videoNode = document.createElement('video');\r\n var canPlay = videoNode.canPlayType(type) // can use also for 'audio' types\r\n if (canPlay === '') canPlay = 'no'\r\n var message = 'Can play type \"' + type + '\": ' + canPlay\r\n var isError = canPlay === 'no'\r\n displayMessage(message, isError)\r\n\r\n if (isError) {\r\n return\r\n }\r\n\r\n var fileURL = URL.createObjectURL(file)\r\n videoNode.src = fileURL\r\n */\r\n\r\n // If it's an image, try to find its size\r\n if (type === 'image') {\r\n const data = {\r\n src: reader.result,\r\n name,\r\n type,\r\n height: 0,\r\n width: 0,\r\n };\r\n\r\n const image = new Image();\r\n image.addEventListener('error', error => {\r\n reject(error);\r\n });\r\n image.addEventListener('load', () => {\r\n data.height = image.height;\r\n data.width = image.width;\r\n resolve(data);\r\n });\r\n image.src = data.src;\r\n } else if (type) {\r\n // Not an image, but has a type\r\n resolve({\r\n src: reader.result,\r\n name,\r\n type,\r\n });\r\n } else {\r\n // No type found, resolve with the URL only\r\n resolve(reader.result);\r\n }\r\n });\r\n reader.addEventListener('error', error => {\r\n reject(error);\r\n });\r\n reader.addEventListener('abort', error => {\r\n reject('Aborted');\r\n });\r\n\r\n reader.readAsDataURL(file);\r\n });\r\n\r\n promises.push(promise);\r\n }\r\n\r\n Promise.all(promises).then(\r\n data => {\r\n response.data = data;\r\n this.onUploadResponse(response, clb);\r\n },\r\n error => {\r\n this.onUploadError(error);\r\n }\r\n );\r\n};\r\n","/**\r\n * You can customize the initial state of the module from the editor initialization, by passing the following [Configuration Object](https://github.com/artf/grapesjs/blob/master/src/asset_manager/config/config.js)\r\n * ```js\r\n * const editor = grapesjs.init({\r\n * assetManager: {\r\n * // options\r\n * }\r\n * })\r\n * ```\r\n *\r\n * Once the editor is instantiated you can use its API. Before using these methods you should get the module from the instance\r\n *\r\n * ```js\r\n * const assetManager = editor.AssetManager;\r\n * ```\r\n *\r\n * ## Available Events\r\n * * `asset:open` - Asset Manager opened.\r\n * * `asset:close` - Asset Manager closed.\r\n * * `asset:add` - Asset added. The [Asset] is passed as an argument to the callback.\r\n * * `asset:remove` - Asset removed. The [Asset] is passed as an argument to the callback.\r\n * * `asset:update` - Asset updated. The updated [Asset] and the object containing changes are passed as arguments to the callback.\r\n * * `asset:upload:start` - Before the upload is started.\r\n * * `asset:upload:end` - After the upload is ended.\r\n * * `asset:upload:error` - On any error in upload, passes the error as an argument.\r\n * * `asset:upload:response` - On upload response, passes the result as an argument.\r\n * * `asset` - Catch-all event for all the events mentioned above. An object containing all the available data about the triggered event is passed as an argument to the callback.\r\n * * `asset:custom` - Event for handling custom Asset Manager UI.\r\n *\r\n * ## Methods\r\n * * [open](#open)\r\n * * [close](#close)\r\n * * [isOpen](#isopen)\r\n * * [add](#add)\r\n * * [get](#get)\r\n * * [getAll](#getall)\r\n * * [getAllVisible](#getallvisible)\r\n * * [remove](#remove)\r\n * * [store](#store)\r\n * * [load](#load)\r\n * * [getContainer](#getcontainer)\r\n *\r\n * [Asset]: asset.html\r\n *\r\n * @module AssetManager\r\n */\r\n\r\nimport { debounce, isFunction } from 'underscore';\r\nimport { Module } from '../common';\r\nimport defaults from './config/config';\r\nimport Asset from './model/Assets';\r\nimport Assets from './model/Assets';\r\nimport AssetsView from './view/AssetsView';\r\nimport FileUpload from './view/FileUploader';\r\n\r\nexport const evAll = 'asset';\r\nexport const evPfx = `${evAll}:`;\r\nexport const evSelect = `${evPfx}select`;\r\nexport const evUpdate = `${evPfx}update`;\r\nexport const evAdd = `${evPfx}add`;\r\nexport const evRemove = `${evPfx}remove`;\r\nexport const evRemoveBefore = `${evRemove}:before`;\r\nexport const evCustom = `${evPfx}custom`;\r\nexport const evOpen = `${evPfx}open`;\r\nexport const evClose = `${evPfx}close`;\r\nexport const evUpload = `${evPfx}upload`;\r\nexport const evUploadStart = `${evUpload}:start`;\r\nexport const evUploadEnd = `${evUpload}:end`;\r\nexport const evUploadError = `${evUpload}:error`;\r\nexport const evUploadRes = `${evUpload}:response`;\r\n\r\nexport default () => {\r\n let c = {};\r\n let assets, assetsVis, am, fu;\r\n const assetCmd = 'open-assets';\r\n\r\n return {\r\n ...Module,\r\n\r\n name: 'AssetManager',\r\n\r\n storageKey: 'assets',\r\n\r\n Asset,\r\n\r\n Assets,\r\n\r\n events: {\r\n all: evAll,\r\n select: evSelect,\r\n update: evUpdate,\r\n add: evAdd,\r\n remove: evRemove,\r\n removeBefore: evRemoveBefore,\r\n custom: evCustom,\r\n open: evOpen,\r\n close: evClose,\r\n uploadStart: evUploadStart,\r\n uploadEnd: evUploadEnd,\r\n uploadError: evUploadError,\r\n uploadResponse: evUploadRes,\r\n },\r\n\r\n init(config = {}) {\r\n c = { ...defaults, ...config };\r\n const ppfx = c.pStylePrefix;\r\n const { em } = c;\r\n this.config = c;\r\n this.em = em;\r\n\r\n if (ppfx) {\r\n c.stylePrefix = ppfx + c.stylePrefix;\r\n }\r\n\r\n // Global assets collection\r\n assets = new Assets([]);\r\n assetsVis = new Assets([]);\r\n this.all = assets;\r\n this.__initListen();\r\n\r\n // Setup the sync between the global and public collections\r\n assets.on('add', model => this.getAllVisible().add(model));\r\n assets.on('remove', model => this.getAllVisible().remove(model));\r\n\r\n return this;\r\n },\r\n\r\n __propEv(ev, ...data) {\r\n this.em.trigger(ev, ...data);\r\n this.getAll().trigger(ev, ...data);\r\n },\r\n\r\n __onAllEvent: debounce(function () {\r\n this.__trgCustom();\r\n }),\r\n\r\n __trgCustom() {\r\n const bhv = this.__getBehaviour();\r\n if (!bhv.container && !this.getConfig('custom').open) {\r\n return;\r\n }\r\n this.em.trigger(this.events.custom, this.__customData());\r\n },\r\n\r\n __customData() {\r\n const bhv = this.__getBehaviour();\r\n return {\r\n am: this,\r\n open: this.isOpen(),\r\n assets: this.getAll().models,\r\n types: bhv.types || [],\r\n container: bhv.container,\r\n close: () => this.close(),\r\n remove: (...args) => this.remove(...args),\r\n select: (asset, complete) => {\r\n const res = this.add(asset);\r\n isFunction(bhv.select) && bhv.select(res, complete);\r\n },\r\n // extra\r\n options: bhv.options || {},\r\n };\r\n },\r\n\r\n /**\r\n * Open the asset manager.\r\n * @param {Object} [options] Options for the asset manager.\r\n * @param {Array} [options.types=['image']] Types of assets to show.\r\n * @param {Function} [options.select] Type of operation to perform on asset selection. If not specified, nothing will happen.\r\n * @example\r\n * assetManager.open({\r\n * select(asset, complete) {\r\n * const selected = editor.getSelected();\r\n * if (selected && selected.is('image')) {\r\n * selected.addAttributes({ src: asset.getSrc() });\r\n * // The default AssetManager UI will trigger `select(asset, false)` on asset click\r\n * // and `select(asset, true)` on double-click\r\n * complete && assetManager.close();\r\n * }\r\n * }\r\n * });\r\n * // with your custom types (you should have assets with those types declared)\r\n * assetManager.open({ types: ['doc'], ... });\r\n */\r\n open(options = {}) {\r\n const cmd = this.em.get('Commands');\r\n cmd.run(assetCmd, {\r\n types: ['image'],\r\n select: () => {},\r\n ...options,\r\n });\r\n },\r\n\r\n /**\r\n * Close the asset manager.\r\n * @example\r\n * assetManager.close();\r\n */\r\n close() {\r\n const cmd = this.em.get('Commands');\r\n cmd.stop(assetCmd);\r\n },\r\n\r\n /**\r\n * Checks if the asset manager is open\r\n * @returns {Boolean}\r\n * @example\r\n * assetManager.isOpen(); // true | false\r\n */\r\n isOpen() {\r\n const cmd = this.em.get('Commands');\r\n return !!(cmd && cmd.isActive(assetCmd));\r\n },\r\n\r\n /**\r\n * Add new asset/s to the collection. URLs are supposed to be unique\r\n * @param {String|Object|Array|Array} asset URL strings or an objects representing the resource.\r\n * @param {Object} [opts] Options\r\n * @returns {[Asset]}\r\n * @example\r\n * // As strings\r\n * assetManager.add('http://img.jpg');\r\n * assetManager.add(['http://img.jpg', './path/to/img.png']);\r\n *\r\n * // Using objects you can indicate the type and other meta informations\r\n * assetManager.add({\r\n * // type: 'image',\t// image is default\r\n * \tsrc: 'http://img.jpg',\r\n * \theight: 300,\r\n *\twidth: 200,\r\n * });\r\n * assetManager.add([{ src: 'img2.jpg' }, { src: 'img2.png' }]);\r\n */\r\n add(asset, opts = {}) {\r\n // Put the model at the beginning\r\n if (typeof opts.at == 'undefined') {\r\n opts.at = 0;\r\n }\r\n\r\n return assets.add(asset, opts);\r\n },\r\n\r\n /**\r\n * Return asset by URL\r\n * @param {String} src URL of the asset\r\n * @returns {[Asset]|null}\r\n * @example\r\n * const asset = assetManager.get('http://img.jpg');\r\n */\r\n get(src) {\r\n return assets.where({ src })[0] || null;\r\n },\r\n\r\n /**\r\n * Return the global collection, containing all the assets\r\n * @returns {Collection<[Asset]>}\r\n */\r\n getAll() {\r\n return assets;\r\n },\r\n\r\n /**\r\n * Return the visible collection, which contains assets actually rendered\r\n * @returns {Collection<[Asset]>}\r\n */\r\n getAllVisible() {\r\n return assetsVis;\r\n },\r\n\r\n /**\r\n * Remove asset\r\n * @param {String|[Asset]} asset Asset or asset URL\r\n * @returns {[Asset]} Removed asset\r\n * @example\r\n * const removed = assetManager.remove('http://img.jpg');\r\n * // or by passing the Asset\r\n * const asset = assetManager.get('http://img.jpg');\r\n * assetManager.remove(asset);\r\n */\r\n remove(asset, opts) {\r\n return this.__remove(asset, opts);\r\n },\r\n\r\n store() {\r\n return this.getProjectData();\r\n },\r\n\r\n load(data) {\r\n return this.loadProjectData(data);\r\n },\r\n\r\n /**\r\n * Return the Asset Manager Container\r\n * @returns {HTMLElement}\r\n */\r\n getContainer() {\r\n const bhv = this.__getBehaviour();\r\n return bhv.container || (am && am.el);\r\n },\r\n\r\n /**\r\n * Get assets element container\r\n * @returns {HTMLElement}\r\n * @private\r\n */\r\n getAssetsEl() {\r\n return am.el.querySelector('[data-el=assets]');\r\n },\r\n\r\n /**\r\n * Render assets\r\n * @param {array} assets Assets to render, without the argument will render all global assets\r\n * @returns {HTMLElement}\r\n * @example\r\n * // Render all assets\r\n * assetManager.render();\r\n *\r\n * // Render some of the assets\r\n * const assets = assetManager.getAll();\r\n * assetManager.render(assets.filter(\r\n * asset => asset.get('category') == 'cats'\r\n * ));\r\n */\r\n render(assts) {\r\n if (this.getConfig('custom')) return;\r\n const toRender = assts || this.getAll().models;\r\n\r\n if (!am) {\r\n const obj = this.__viewParams();\r\n obj.fu = this.FileUploader();\r\n const el = am && am.el;\r\n am = new AssetsView({\r\n el,\r\n ...obj,\r\n });\r\n am.render();\r\n }\r\n\r\n assetsVis.reset(toRender);\r\n return this.getContainer();\r\n },\r\n\r\n __viewParams() {\r\n return {\r\n collection: assetsVis, // Collection visible in asset manager\r\n globalCollection: assets,\r\n config: c,\r\n module: this,\r\n };\r\n },\r\n\r\n /**\r\n * Add new type. If you want to get more about type definition we suggest to read the [module's page](/modules/Assets.html)\r\n * @param {string} id Type ID\r\n * @param {Object} definition Definition of the type. Each definition contains\r\n * `model` (business logic), `view` (presentation logic)\r\n * and `isType` function which recognize the type of the\r\n * passed entity\r\n * @private\r\n * @example\r\n * assetManager.addType('my-type', {\r\n * model: {},\r\n * view: {},\r\n * isType: (value) => {},\r\n * })\r\n */\r\n addType(id, definition) {\r\n this.getAll().addType(id, definition);\r\n },\r\n\r\n /**\r\n * Get type\r\n * @param {string} id Type ID\r\n * @returns {Object} Type definition\r\n * @private\r\n */\r\n getType(id) {\r\n return this.getAll().getType(id);\r\n },\r\n\r\n /**\r\n * Get types\r\n * @returns {Array}\r\n * @private\r\n */\r\n getTypes() {\r\n return this.getAll().getTypes();\r\n },\r\n\r\n //-------\r\n\r\n AssetsView() {\r\n return am;\r\n },\r\n\r\n FileUploader() {\r\n if (!fu) {\r\n fu = new FileUpload(this.__viewParams());\r\n }\r\n return fu;\r\n },\r\n\r\n onLoad() {\r\n this.getAll().reset(c.assets);\r\n const { em, events } = this;\r\n em.on(`run:${assetCmd}`, () => this.__propEv(events.open));\r\n em.on(`stop:${assetCmd}`, () => this.__propEv(events.close));\r\n },\r\n\r\n postRender(editorView) {\r\n c.dropzone && fu && fu.initDropzone(editorView);\r\n },\r\n\r\n /**\r\n * Set new target\r\n * @param\t{Object}\tm Model\r\n * @private\r\n * */\r\n setTarget(m) {\r\n assetsVis.target = m;\r\n },\r\n\r\n /**\r\n * Set callback after asset was selected\r\n * @param\t{Object}\tf Callback function\r\n * @private\r\n * */\r\n onSelect(f) {\r\n assetsVis.onSelect = f;\r\n },\r\n\r\n /**\r\n * Set callback to fire when the asset is clicked\r\n * @param {function} func\r\n * @private\r\n */\r\n onClick(func) {\r\n c.onClick = func;\r\n },\r\n\r\n /**\r\n * Set callback to fire when the asset is double clicked\r\n * @param {function} func\r\n * @private\r\n */\r\n onDblClick(func) {\r\n c.onDblClick = func;\r\n },\r\n\r\n __behaviour(opts = {}) {\r\n return (this._bhv = {\r\n ...(this._bhv || {}),\r\n ...opts,\r\n });\r\n },\r\n\r\n __getBehaviour(opts = {}) {\r\n return this._bhv || {};\r\n },\r\n\r\n destroy() {\r\n assets.stopListening();\r\n assetsVis.stopListening();\r\n assets.reset();\r\n assetsVis.reset();\r\n fu && fu.remove();\r\n am && am.remove();\r\n [assets, assetsVis, am, fu].forEach(i => (i = null));\r\n this._bhv = {};\r\n this.all = {};\r\n c = {};\r\n },\r\n };\r\n};\r\n","export default {\r\n // Specify the element to use as a container, string (query) or HTMLElement\r\n // With the empty value, nothing will be rendered\r\n appendTo: '',\r\n\r\n // Append blocks to canvas on click.\r\n // With the `true` value, it will try to append the block to the selected component.\r\n // If there is no selected component, the block will be appened to the wrapper.\r\n // You can also pass a function to this option, use it as a catch-all for all block\r\n // clicks and implement a custom logic for each block.\r\n // appendOnClick: (block, editor) => {\r\n // if (block.get('id') === 'some-id')\r\n // editor.getSelected().append(block.get('content'))\r\n // else\r\n // editor.getWrapper().append(block.get('content'))\r\n // }\r\n appendOnClick: false,\r\n\r\n // Default blocks\r\n blocks: [],\r\n\r\n // Avoid rendering the default block manager.\r\n custom: false\r\n};\r\n","import { Model } from '../../common';\r\nimport { isFunction } from 'underscore';\r\n\r\n/**\r\n * @property {String} label Block label, eg. `My block`\r\n * @property {String|Object} content The content of the block. Might be an HTML string or a [Component Defintion](/modules/Components.html#component-definition)\r\n * @property {String} [media=''] HTML string for the media/icon of the block, eg. ` editor.getWrapper().append(block.get('content'))`\r\n * @property {Object} [attributes={}] Block attributes to apply in the view element\r\n */\r\nexport default class Block extends Model {\r\n defaults() {\r\n return {\r\n label: '',\r\n content: '',\r\n media: '',\r\n category: '',\r\n activate: false,\r\n select: null,\r\n resetId: false,\r\n disable: false,\r\n onClick: null,\r\n attributes: {},\r\n };\r\n }\r\n\r\n /**\r\n * Get block id\r\n * @returns {String}\r\n */\r\n getId() {\r\n return this.id;\r\n }\r\n\r\n /**\r\n * Get block label\r\n * @returns {String}\r\n */\r\n getLabel() {\r\n return this.get('label');\r\n }\r\n\r\n /**\r\n * Get block media\r\n * @returns {String}\r\n */\r\n getMedia() {\r\n return this.get('media');\r\n }\r\n\r\n /**\r\n * Get block content\r\n * @returns {Object|String|Array} Component definition | HTML string\r\n */\r\n getContent() {\r\n return this.get('content');\r\n }\r\n\r\n /**\r\n * Get block category label\r\n * @returns {String}\r\n */\r\n getCategoryLabel() {\r\n const ctg = this.get('category');\r\n return isFunction(ctg.get) ? ctg.get('label') : ctg.label ? ctg.label : ctg;\r\n }\r\n}\r\n","import { Collection } from '../../common';\r\nimport Block from './Block';\r\n\r\nexport default class Blocks extends Collection {}\r\n\r\nBlocks.prototype.model = Block;\r\n","import { Model } from '../../common';\r\n\r\nexport default class Category extends Model {\r\n defaults() {\r\n return {\r\n id: '',\r\n label: '',\r\n open: true,\r\n attributes: {},\r\n };\r\n }\r\n}\r\n","import { Collection } from '../../common';\r\nimport Category from './Category';\r\n\r\nexport default class Categories extends Collection {}\r\n\r\nCategories.prototype.model = Category;\r\n","import { isFunction } from 'underscore';\r\nimport { View } from '../../common';\r\nimport { on, off, hasDnd } from '../../utils/mixins';\r\n\r\nexport default class BlockView extends View {\r\n events() {\r\n return {\r\n click: 'handleClick',\r\n mousedown: 'startDrag',\r\n dragstart: 'handleDragStart',\r\n drag: 'handleDrag',\r\n dragend: 'handleDragEnd',\r\n };\r\n }\r\n\r\n initialize(o, config = {}) {\r\n const { model } = this;\r\n this.em = config.em;\r\n this.config = config;\r\n this.endDrag = this.endDrag.bind(this);\r\n this.ppfx = config.pStylePrefix || '';\r\n this.listenTo(model, 'destroy remove', this.remove);\r\n this.listenTo(model, 'change', this.render);\r\n }\r\n\r\n __getModule() {\r\n return this.em.get('BlockManager');\r\n }\r\n\r\n handleClick(ev) {\r\n const { config, model, em } = this;\r\n const onClick = model.get('onClick') || config.appendOnClick;\r\n em.trigger('block:click', model, ev);\r\n if (!onClick) {\r\n return;\r\n } else if (isFunction(onClick)) {\r\n return onClick(model, em.getEditor(), { event: ev });\r\n }\r\n const sorter = config.getSorter();\r\n const content = model.get('content');\r\n const selected = em.getSelected();\r\n sorter.setDropContent(content);\r\n let target, valid, insertAt;\r\n\r\n // If there is a selected component, try first to append\r\n // the block inside, otherwise, try to place it as a next sibling\r\n if (selected) {\r\n valid = sorter.validTarget(selected.getEl(), content);\r\n\r\n if (valid.valid) {\r\n target = selected;\r\n } else {\r\n const parent = selected.parent();\r\n valid = sorter.validTarget(parent.getEl(), content);\r\n if (valid.valid) {\r\n target = parent;\r\n insertAt = parent.components().indexOf(selected) + 1;\r\n }\r\n }\r\n }\r\n\r\n // If no target found yet, try to append the block to the wrapper\r\n if (!target) {\r\n const wrapper = em.getWrapper();\r\n valid = sorter.validTarget(wrapper.getEl(), content);\r\n if (valid.valid) target = wrapper;\r\n }\r\n\r\n const result = target && target.append(content, { at: insertAt })[0];\r\n result && em.setSelected(result, { scroll: 1 });\r\n }\r\n\r\n /**\r\n * Start block dragging\r\n * @private\r\n */\r\n startDrag(e) {\r\n const { config, em, model } = this;\r\n const disable = model.get('disable');\r\n //Right or middel click\r\n if (e.button !== 0 || !config.getSorter || this.el.draggable || disable) return;\r\n em.refreshCanvas();\r\n const sorter = config.getSorter();\r\n sorter.setDragHelper(this.el, e);\r\n sorter.setDropContent(this.model.get('content'));\r\n sorter.startSort(this.el);\r\n on(document, 'mouseup', this.endDrag);\r\n }\r\n\r\n handleDragStart(ev) {\r\n this.__getModule().__startDrag(this.model, ev);\r\n }\r\n\r\n handleDrag(ev) {\r\n this.__getModule().__drag(ev);\r\n }\r\n\r\n handleDragEnd() {\r\n this.__getModule().__endDrag();\r\n }\r\n\r\n /**\r\n * Drop block\r\n * @private\r\n */\r\n endDrag(e) {\r\n off(document, 'mouseup', this.endDrag);\r\n const sorter = this.config.getSorter();\r\n\r\n // After dropping the block in the canvas the mouseup event is not yet\r\n // triggerd on 'this.doc' and so clicking outside, the sorter, tries to move\r\n // things (throws false positives). As this method just need to drop away\r\n // the block helper I use the trick of 'moved = 0' to void those errors.\r\n sorter.moved = 0;\r\n sorter.endMove();\r\n }\r\n\r\n render() {\r\n const { em, el, $el, ppfx, model } = this;\r\n const disable = model.get('disable');\r\n const attr = model.get('attributes') || {};\r\n const cls = attr.class || '';\r\n const className = `${ppfx}block`;\r\n const label = (em && em.t(`blockManager.labels.${model.id}`)) || model.get('label');\r\n const render = model.get('render');\r\n const media = model.get('media');\r\n const clsAdd = disable ? `${className}--disable` : `${ppfx}four-color-h`;\r\n $el.attr(attr);\r\n el.className = `${cls} ${className} ${ppfx}one-bg ${clsAdd}`.trim();\r\n el.innerHTML = `\r\n ${media ? `
${media}
` : ''}\r\n
${label}
\r\n `;\r\n el.title = attr.title || el.textContent.trim();\r\n el.setAttribute('draggable', hasDnd(em) && !disable ? true : false);\r\n const result = render && render({ el, model, className, prefix: ppfx });\r\n if (result) el.innerHTML = result;\r\n return this;\r\n }\r\n}\r\n","import { View } from '../../common';\r\nimport html from '../../utils/html';\r\n\r\nexport default class CategoryView extends View {\r\n template({ pfx, label }) {\r\n return html`\r\n
\r\n \r\n ${label}\r\n
\r\n
\r\n `;\r\n }\r\n\r\n attributes() {\r\n return this.model.get('attributes');\r\n }\r\n\r\n initialize(o = {}, config = {}) {\r\n this.config = config;\r\n const pfx = config.pStylePrefix || '';\r\n this.em = config.em;\r\n this.pfx = pfx;\r\n this.caretR = 'fa fa-caret-right';\r\n this.caretD = 'fa fa-caret-down';\r\n this.iconClass = `${pfx}caret-icon`;\r\n this.activeClass = `${pfx}open`;\r\n this.className = `${pfx}block-category`;\r\n this.events = {};\r\n this.events[`click .${pfx}title`] = 'toggle';\r\n this.listenTo(this.model, 'change:open', this.updateVisibility);\r\n this.delegateEvents();\r\n this.model.view = this;\r\n }\r\n\r\n updateVisibility() {\r\n if (this.model.get('open')) this.open();\r\n else this.close();\r\n }\r\n\r\n open() {\r\n this.$el.addClass(this.activeClass);\r\n this.getIconEl().className = `${this.iconClass} ${this.caretD}`;\r\n this.getBlocksEl().style.display = '';\r\n }\r\n\r\n close() {\r\n this.$el.removeClass(this.activeClass);\r\n this.getIconEl().className = `${this.iconClass} ${this.caretR}`;\r\n this.getBlocksEl().style.display = 'none';\r\n }\r\n\r\n toggle() {\r\n var model = this.model;\r\n model.set('open', !model.get('open'));\r\n }\r\n\r\n getIconEl() {\r\n if (!this.iconEl) {\r\n this.iconEl = this.el.querySelector('.' + this.iconClass);\r\n }\r\n\r\n return this.iconEl;\r\n }\r\n\r\n getBlocksEl() {\r\n if (!this.blocksEl) {\r\n this.blocksEl = this.el.querySelector('.' + this.pfx + 'blocks-c');\r\n }\r\n\r\n return this.blocksEl;\r\n }\r\n\r\n append(el) {\r\n this.getBlocksEl().appendChild(el);\r\n }\r\n\r\n render() {\r\n const { em, el, $el, model, pfx } = this;\r\n const label = em.t(`blockManager.categories.${model.id}`) || model.get('label');\r\n el.innerHTML = this.template({ pfx, label });\r\n $el.addClass(this.className);\r\n $el.css({ order: model.get('order') });\r\n this.updateVisibility();\r\n\r\n return this;\r\n }\r\n}\r\n","import { isString, isObject, bindAll } from 'underscore';\r\nimport { View } from '../../common';\r\nimport BlockView from './BlockView';\r\nimport CategoryView from './CategoryView';\r\n\r\nexport default class BlocksView extends View {\r\n initialize(opts, config) {\r\n bindAll(this, 'getSorter', 'onDrag', 'onDrop', 'onMove');\r\n this.config = config || {};\r\n this.categories = opts.categories || '';\r\n this.renderedCategories = [];\r\n var ppfx = this.config.pStylePrefix || '';\r\n this.ppfx = ppfx;\r\n this.noCatClass = `${ppfx}blocks-no-cat`;\r\n this.blockContClass = `${ppfx}blocks-c`;\r\n this.catsClass = `${ppfx}block-categories`;\r\n const coll = this.collection;\r\n this.listenTo(coll, 'add', this.addTo);\r\n this.listenTo(coll, 'reset', this.render);\r\n this.em = this.config.em;\r\n this.tac = 'test-tac';\r\n this.grabbingCls = this.ppfx + 'grabbing';\r\n\r\n if (this.em) {\r\n this.config.getSorter = this.getSorter;\r\n this.canvas = this.em.get('Canvas');\r\n }\r\n }\r\n\r\n updateConfig(opts = {}) {\r\n this.config = {\r\n ...this.config,\r\n ...opts,\r\n };\r\n }\r\n\r\n /**\r\n * Get sorter\r\n * @private\r\n */\r\n getSorter() {\r\n if (!this.em) return;\r\n if (!this.sorter) {\r\n var utils = this.em.get('Utils');\r\n var canvas = this.canvas;\r\n this.sorter = new utils.Sorter({\r\n container: canvas.getBody(),\r\n placer: canvas.getPlacerEl(),\r\n containerSel: '*',\r\n itemSel: '*',\r\n pfx: this.ppfx,\r\n onStart: this.onDrag,\r\n onEndMove: this.onDrop,\r\n onMove: this.onMove,\r\n document: canvas.getFrameEl().contentDocument,\r\n direction: 'a',\r\n wmargin: 1,\r\n nested: 1,\r\n em: this.em,\r\n canvasRelative: 1,\r\n });\r\n }\r\n return this.sorter;\r\n }\r\n\r\n /**\r\n * Callback when block is on drag\r\n * @private\r\n */\r\n onDrag(e) {\r\n this.em.stopDefault();\r\n this.em.trigger('block:drag:start', e);\r\n }\r\n\r\n onMove(e) {\r\n this.em.trigger('block:drag:move', e);\r\n }\r\n\r\n /**\r\n * Callback when block is dropped\r\n * @private\r\n */\r\n onDrop(model) {\r\n const { em } = this;\r\n em.runDefault();\r\n\r\n if (model && model.get) {\r\n const oldActive = 'activeOnRender';\r\n\r\n if (model.get(oldActive)) {\r\n model.trigger('active');\r\n model.unset(oldActive);\r\n }\r\n\r\n em.trigger('block:drag:stop', model);\r\n }\r\n }\r\n\r\n /**\r\n * Add new model to the collection\r\n * @param {Model} model\r\n * @private\r\n * */\r\n addTo(model) {\r\n this.add(model);\r\n }\r\n\r\n /**\r\n * Render new model inside the view\r\n * @param {Model} model\r\n * @param {Object} fragment Fragment collection\r\n * @private\r\n * */\r\n add(model, fragment) {\r\n const { config } = this;\r\n var frag = fragment || null;\r\n var view = new BlockView(\r\n {\r\n model,\r\n attributes: model.get('attributes'),\r\n },\r\n config\r\n );\r\n var rendered = view.render().el;\r\n var category = model.get('category');\r\n\r\n // Check for categories\r\n if (category && this.categories && !config.ignoreCategories) {\r\n if (isString(category)) {\r\n category = {\r\n id: category,\r\n label: category,\r\n };\r\n } else if (isObject(category) && !category.id) {\r\n category.id = category.label;\r\n }\r\n\r\n var catModel = this.categories.add(category);\r\n var catId = catModel.get('id');\r\n var catView = this.renderedCategories[catId];\r\n var categories = this.getCategoriesEl();\r\n model.set('category', catModel, { silent: true });\r\n\r\n if (!catView && categories) {\r\n catView = new CategoryView(\r\n {\r\n model: catModel,\r\n },\r\n this.config\r\n ).render();\r\n this.renderedCategories[catId] = catView;\r\n categories.appendChild(catView.el);\r\n }\r\n\r\n catView && catView.append(rendered);\r\n return;\r\n }\r\n\r\n if (frag) frag.appendChild(rendered);\r\n else this.append(rendered);\r\n }\r\n\r\n getCategoriesEl() {\r\n if (!this.catsEl) {\r\n this.catsEl = this.el.querySelector(`.${this.catsClass}`);\r\n }\r\n\r\n return this.catsEl;\r\n }\r\n\r\n getBlocksEl() {\r\n if (!this.blocksEl) {\r\n this.blocksEl = this.el.querySelector(`.${this.noCatClass} .${this.blockContClass}`);\r\n }\r\n\r\n return this.blocksEl;\r\n }\r\n\r\n append(el) {\r\n let blocks = this.getBlocksEl();\r\n blocks && blocks.appendChild(el);\r\n }\r\n\r\n render() {\r\n const ppfx = this.ppfx;\r\n const frag = document.createDocumentFragment();\r\n this.catsEl = null;\r\n this.blocksEl = null;\r\n this.renderedCategories = [];\r\n this.el.innerHTML = `\r\n
\r\n
\r\n
\r\n
\r\n `;\r\n\r\n this.collection.each(model => this.add(model, frag));\r\n this.append(frag);\r\n const cls = `${this.blockContClass}s ${ppfx}one-bg ${ppfx}two-color`;\r\n this.$el.addClass(cls);\r\n this.rendered = true;\r\n return this;\r\n }\r\n}\r\n","/**\r\n * You can customize the initial state of the module from the editor initialization, by passing the following [Configuration Object](https://github.com/artf/grapesjs/blob/master/src/block_manager/config/config.js)\r\n * ```js\r\n * const editor = grapesjs.init({\r\n * blockManager: {\r\n * // options\r\n * }\r\n * })\r\n * ```\r\n *\r\n * Once the editor is instantiated you can use its API and listen to its events. Before using these methods, you should get the module from the instance.\r\n *\r\n * ```js\r\n * // Listen to events\r\n * editor.on('block:add', (block) => { ... });\r\n *\r\n * // Use the API\r\n * const blockManager = editor.BlockManager;\r\n * blockManager.add(...);\r\n * ```\r\n *\r\n * ## Available Events\r\n * * `block:add` - Block added. The [Block] is passed as an argument to the callback.\r\n * * `block:remove` - Block removed. The [Block] is passed as an argument to the callback.\r\n * * `block:update` - Block updated. The [Block] and the object containing changes are passed as arguments to the callback.\r\n * * `block:drag:start` - Started dragging block, the [Block] is passed as an argument.\r\n * * `block:drag` - Dragging block, the [Block] is passed as an argument.\r\n * * `block:drag:stop` - Dragging of the block is stopped. The dropped [Component] (if dropped successfully) and the [Block] are passed as arguments.\r\n * * `block` - Catch-all event for all the events mentioned above. An object containing all the available data about the triggered event is passed as an argument to the callback.\r\n *\r\n * ## Methods\r\n * * [add](#add)\r\n * * [get](#get)\r\n * * [getAll](#getall)\r\n * * [getAllVisible](#getallvisible)\r\n * * [remove](#remove)\r\n * * [getConfig](#getconfig)\r\n * * [getCategories](#getcategories)\r\n * * [getContainer](#getcontainer)\r\n * * [render](#render)\r\n *\r\n * [Block]: block.html\r\n * [Component]: component.html\r\n *\r\n * @module BlockManager\r\n */\r\nimport { isElement, isArray } from 'underscore';\r\nimport Module from '../common/module';\r\nimport defaults from './config/config';\r\nimport Block from './model/Block';\r\nimport Blocks from './model/Blocks';\r\nimport Category from './model/Category';\r\nimport Categories from './model/Categories';\r\nimport BlocksView from './view/BlocksView';\r\n\r\nexport const evAll = 'block';\r\nexport const evPfx = `${evAll}:`;\r\nexport const evAdd = `${evPfx}add`;\r\nexport const evUpdate = `${evPfx}update`;\r\nexport const evRemove = `${evPfx}remove`;\r\nexport const evRemoveBefore = `${evRemove}:before`;\r\nexport const evDrag = `${evPfx}drag`;\r\nexport const evDragStart = `${evDrag}:start`;\r\nexport const evDragStop = `${evDrag}:stop`;\r\nexport const evCustom = `${evPfx}custom`;\r\n\r\nexport default () => {\r\n var c = {};\r\n var blocks, blocksVisible, blocksView;\r\n var categories = [];\r\n\r\n return {\r\n ...Module,\r\n\r\n name: 'BlockManager',\r\n\r\n Block,\r\n\r\n Blocks,\r\n\r\n Category,\r\n\r\n Categories,\r\n\r\n events: {\r\n all: evAll,\r\n update: evUpdate,\r\n add: evAdd,\r\n remove: evRemove,\r\n removeBefore: evRemoveBefore,\r\n drag: evDrag,\r\n dragStart: evDragStart,\r\n dragEnd: evDragStop,\r\n custom: evCustom,\r\n },\r\n\r\n init(config = {}) {\r\n c = { ...defaults, ...config };\r\n const { em } = c;\r\n this.em = em;\r\n\r\n // Global blocks collection\r\n blocks = new Blocks(c.blocks);\r\n blocksVisible = new Blocks(blocks.models);\r\n categories = new Categories();\r\n this.all = blocks;\r\n this.__initListen();\r\n\r\n // Setup the sync between the global and public collections\r\n blocks.on('add', model => blocksVisible.add(model));\r\n blocks.on('remove', model => blocksVisible.remove(model));\r\n blocks.on('reset', coll => blocksVisible.reset(coll.models));\r\n\r\n return this;\r\n },\r\n\r\n __trgCustom() {\r\n this.em.trigger(this.events.custom, this.__customData());\r\n },\r\n\r\n __customData() {\r\n const bhv = this.__getBehaviour();\r\n return {\r\n bm: this,\r\n blocks: this.getAll().models,\r\n container: bhv.container,\r\n dragStart: (block, ev) => this.startDrag(block, ev),\r\n drag: ev => this.__drag(ev),\r\n dragStop: cancel => this.endDrag(cancel),\r\n };\r\n },\r\n\r\n __startDrag(block, ev) {\r\n const { em, events } = this;\r\n const content = block.getContent ? block.getContent() : block;\r\n this._dragBlock = block;\r\n em.set({ dragResult: null, dragContent: content });\r\n [em, blocks].map(i => i.trigger(events.dragStart, block, ev));\r\n },\r\n\r\n __drag(ev) {\r\n const { em, events } = this;\r\n const block = this._dragBlock;\r\n [em, blocks].map(i => i.trigger(events.drag, block, ev));\r\n },\r\n\r\n __endDrag() {\r\n const { em, events } = this;\r\n const block = this._dragBlock;\r\n const cmp = em.get('dragResult');\r\n this._dragBlock = null;\r\n\r\n if (cmp) {\r\n const oldKey = 'activeOnRender';\r\n const oldActive = cmp.get && cmp.get(oldKey);\r\n const toActive = block.get('activate') || oldActive;\r\n const toSelect = block.get('select');\r\n const first = isArray(cmp) ? cmp[0] : cmp;\r\n\r\n if (toSelect || (toActive && toSelect !== false)) {\r\n em.setSelected(first);\r\n }\r\n\r\n if (toActive) {\r\n first.trigger('active');\r\n oldActive && first.unset(oldKey);\r\n }\r\n\r\n if (block.get('resetId')) {\r\n first.onAll(block => block.resetId());\r\n }\r\n }\r\n\r\n em.set({ dragResult: null, dragContent: null });\r\n [em, blocks].map(i => i.trigger(events.dragEnd, cmp, block));\r\n },\r\n\r\n __getFrameViews() {\r\n return this.em\r\n .get('Canvas')\r\n .getFrames()\r\n .map(frame => frame.view);\r\n },\r\n\r\n __behaviour(opts = {}) {\r\n return (this._bhv = {\r\n ...(this._bhv || {}),\r\n ...opts,\r\n });\r\n },\r\n\r\n __getBehaviour() {\r\n return this._bhv || {};\r\n },\r\n\r\n startDrag(block, ev) {\r\n this.__startDrag(block, ev);\r\n this.__getFrameViews().forEach(fv => fv.droppable.startCustom());\r\n },\r\n\r\n endDrag(cancel) {\r\n this.__getFrameViews().forEach(fv => fv.droppable.endCustom(cancel));\r\n this.__endDrag();\r\n },\r\n\r\n /**\r\n * Get configuration object\r\n * @return {Object}\r\n */\r\n getConfig() {\r\n return c;\r\n },\r\n\r\n postRender() {\r\n const collection = blocksVisible;\r\n blocksView = new BlocksView({ collection, categories }, c);\r\n const elTo = this.getConfig().appendTo;\r\n\r\n if (elTo) {\r\n const el = isElement(elTo) ? elTo : document.querySelector(elTo);\r\n if (!el) return this.__logWarn('\"appendTo\" element not found');\r\n el.appendChild(this.render(blocksVisible.models));\r\n }\r\n\r\n this.__trgCustom();\r\n },\r\n\r\n /**\r\n * Add new block.\r\n * @param {String} id Block ID\r\n * @param {[Block]} props Block properties\r\n * @returns {[Block]} Added block\r\n * @example\r\n * blockManager.add('h1-block', {\r\n * label: 'Heading',\r\n * content: '

Put your title here

',\r\n * category: 'Basic',\r\n * attributes: {\r\n * title: 'Insert h1 block'\r\n * }\r\n * });\r\n */\r\n add(id, props, opts = {}) {\r\n const prp = props || {};\r\n prp.id = id;\r\n return blocks.add(prp, opts);\r\n },\r\n\r\n /**\r\n * Get the block by id.\r\n * @param {String} id Block id\r\n * @returns {[Block]}\r\n * @example\r\n * const block = blockManager.get('h1-block');\r\n * console.log(JSON.stringify(block));\r\n * // {label: 'Heading', content: '

Put your ...', ...}\r\n */\r\n get(id) {\r\n return blocks.get(id);\r\n },\r\n\r\n /**\r\n * Return all blocks.\r\n * @returns {Collection<[Block]>}\r\n * @example\r\n * const blocks = blockManager.getAll();\r\n * console.log(JSON.stringify(blocks));\r\n * // [{label: 'Heading', content: '

Put your ...'}, ...]\r\n */\r\n getAll() {\r\n return blocks;\r\n },\r\n\r\n /**\r\n * Return the visible collection, which containes blocks actually rendered\r\n * @returns {Collection<[Block]>}\r\n */\r\n getAllVisible() {\r\n return blocksVisible;\r\n },\r\n\r\n /**\r\n * Remove block.\r\n * @param {String|[Block]} block Block or block ID\r\n * @returns {[Block]} Removed block\r\n * @example\r\n * const removed = blockManager.remove('BLOCK_ID');\r\n * // or by passing the Block\r\n * const block = blockManager.get('BLOCK_ID');\r\n * blockManager.remove(block);\r\n */\r\n remove(block, opts = {}) {\r\n return this.__remove(block, opts);\r\n },\r\n\r\n /**\r\n * Get all available categories.\r\n * It's possible to add categories only within blocks via 'add()' method\r\n * @return {Array|Collection}\r\n */\r\n getCategories() {\r\n return categories;\r\n },\r\n\r\n /**\r\n * Return the Blocks container element\r\n * @return {HTMLElement}\r\n */\r\n getContainer() {\r\n return blocksView.el;\r\n },\r\n\r\n /**\r\n * Render blocks\r\n * @param {Array} blocks Blocks to render, without the argument will render all global blocks\r\n * @param {Object} [opts={}] Options\r\n * @param {Boolean} [opts.external] Render blocks in a new container (HTMLElement will be returned)\r\n * @param {Boolean} [opts.ignoreCategories] Render blocks without categories\r\n * @return {HTMLElement} Rendered element\r\n * @example\r\n * // Render all blocks (inside the global collection)\r\n * blockManager.render();\r\n *\r\n * // Render new set of blocks\r\n * const blocks = blockManager.getAll();\r\n * const filtered = blocks.filter(block => block.get('category') == 'sections')\r\n *\r\n * blockManager.render(filtered);\r\n * // Or a new set from an array\r\n * blockManager.render([\r\n * {label: 'Label text', content: '
Content
'}\r\n * ]);\r\n *\r\n * // Back to blocks from the global collection\r\n * blockManager.render();\r\n *\r\n * // You can also render your blocks outside of the main block container\r\n * const newBlocksEl = blockManager.render(filtered, { external: true });\r\n * document.getElementById('some-id').appendChild(newBlocksEl);\r\n */\r\n render(blocks, opts = {}) {\r\n const toRender = blocks || this.getAll().models;\r\n\r\n if (opts.external) {\r\n const collection = new Blocks(toRender);\r\n return new BlocksView({ collection, categories }, { ...c, ...opts }).render().el;\r\n }\r\n\r\n if (blocksView) {\r\n blocksView.updateConfig(opts);\r\n blocksView.collection.reset(toRender);\r\n\r\n if (!blocksView.rendered) {\r\n blocksView.render();\r\n blocksView.rendered = 1;\r\n }\r\n }\r\n\r\n return this.getContainer();\r\n },\r\n\r\n destroy() {\r\n const colls = [blocks, blocksVisible, categories];\r\n colls.map(c => c.stopListening());\r\n colls.map(c => c.reset());\r\n blocksView && blocksView.remove();\r\n c = {};\r\n blocks = {};\r\n blocksVisible = {};\r\n blocksView = {};\r\n categories = [];\r\n this.all = {};\r\n },\r\n };\r\n};\r\n","export default {\r\n stylePrefix: 'cv-',\r\n\r\n /*\r\n * Append external scripts to the `` of the iframe.\r\n * Be aware that these scripts will not be printed in the export code\r\n * @example\r\n * scripts: [ 'https://...1.js', 'https://...2.js' ]\r\n * * // or passing objects as attributes\r\n * scripts: [ { src: '/file.js', someattr: 'value' }, ... ]\r\n */\r\n scripts: [],\r\n\r\n /*\r\n * Append external styles to the `` of the iframe\r\n * Be aware that these styles will not be printed in the export code\r\n * @example\r\n * styles: [ 'https://...1.css', 'https://...2.css' ]\r\n * // or passing objects as attributes\r\n * styles: [ { href: '/style.css', someattr: 'value' }, ... ]\r\n */\r\n styles: [],\r\n\r\n /**\r\n * Add custom badge naming strategy\r\n * @example\r\n * customBadgeLabel: function(component) {\r\n * return component.getName();\r\n * }\r\n */\r\n customBadgeLabel: '',\r\n\r\n /**\r\n * Indicate when to start the auto scroll of the canvas on component/block dragging (value in px )\r\n */\r\n autoscrollLimit: 50,\r\n\r\n // Experimental: external highlighter box\r\n extHl: 0,\r\n\r\n /**\r\n * When some textable component is selected and focused (eg. input or text component) the editor\r\n * stops some commands (eg. disables the copy/paste of components with CTRL+C/V to allow the copy/paste of the text).\r\n * This option allows to customize, by a selector, which element should not be considered textable\r\n */\r\n notTextable: ['button', 'a', 'input[type=checkbox]', 'input[type=radio]']\r\n};\r\n","import { Model } from '../../common';\r\nimport { evPageSelect } from '../../pages';\r\nimport Frames from './Frames';\r\n\r\nexport default class Canvas extends Model {\r\n defaults() {\r\n return {\r\n frame: '',\r\n frames: '',\r\n rulers: false,\r\n zoom: 100,\r\n x: 0,\r\n y: 0,\r\n // Scripts to apply on all frames\r\n scripts: [],\r\n // Styles to apply on all frames\r\n styles: [],\r\n };\r\n }\r\n\r\n initialize(props, config = {}) {\r\n const { em } = config;\r\n this.config = config;\r\n this.em = em;\r\n this.set('frames', new Frames());\r\n this.listenTo(this, 'change:zoom', this.onZoomChange);\r\n this.listenTo(em, 'change:device', this.updateDevice);\r\n this.listenTo(em, evPageSelect, this._pageUpdated);\r\n }\r\n\r\n init() {\r\n const { em } = this;\r\n const mainPage = em.get('PageManager').getMain();\r\n const frame = mainPage.getMainFrame();\r\n this.set('frames', mainPage.getFrames());\r\n this.updateDevice({ frame });\r\n }\r\n\r\n _pageUpdated(page, prev) {\r\n const { em } = this;\r\n em.setSelected();\r\n em.get('readyCanvas') && em.stopDefault(); // We have to stop before changing current frames\r\n prev && prev.getFrames().map(frame => frame.disable());\r\n this.set('frames', page.getFrames());\r\n }\r\n\r\n updateDevice(opts = {}) {\r\n const { em } = this;\r\n const device = em.getDeviceModel();\r\n const model = opts.frame || em.getCurrentFrameModel();\r\n\r\n if (model && device) {\r\n const { width, height } = device.attributes;\r\n model.set({ width, height }, { noUndo: 1 });\r\n }\r\n }\r\n\r\n onZoomChange() {\r\n const zoom = this.get('zoom');\r\n zoom < 1 && this.set('zoom', 1);\r\n }\r\n}\r\n","/*\r\n This class makes the canvas droppable\r\n */\r\n\r\nimport { bindAll, indexOf } from 'underscore';\r\nimport { on, off } from './mixins';\r\n\r\nexport default class Droppable {\r\n constructor(em, rootEl) {\r\n this.em = em;\r\n const el =\r\n rootEl ||\r\n em\r\n .get('Canvas')\r\n .getFrames()\r\n .map(frame => frame.getComponent().getEl());\r\n const els = Array.isArray(el) ? el : [el];\r\n this.el = el;\r\n this.counter = 0;\r\n bindAll(this, 'handleDragEnter', 'handleDragOver', 'handleDrop', 'handleDragLeave');\r\n els.forEach(el => this.toggleEffects(el, 1));\r\n\r\n return this;\r\n }\r\n\r\n toggleEffects(el, enable) {\r\n const methods = { on, off };\r\n const method = enable ? 'on' : 'off';\r\n methods[method](el, 'dragenter', this.handleDragEnter);\r\n methods[method](el, 'dragover', this.handleDragOver);\r\n methods[method](el, 'drop', this.handleDrop);\r\n methods[method](el, 'dragleave', this.handleDragLeave);\r\n }\r\n\r\n __customTglEff(enable) {\r\n const method = enable ? on : off;\r\n const doc = this.el.ownerDocument;\r\n const frameEl = doc.defaultView.frameElement;\r\n this.sortOpts = enable\r\n ? {\r\n onStart({ sorter }) {\r\n on(frameEl, 'pointermove', sorter.onMove);\r\n },\r\n onEnd({ sorter }) {\r\n off(frameEl, 'pointermove', sorter.onMove);\r\n },\r\n customTarget({ event }) {\r\n return doc.elementFromPoint(event.clientX, event.clientY);\r\n },\r\n }\r\n : null;\r\n method(frameEl, 'pointerenter', this.handleDragEnter);\r\n method(frameEl, 'pointermove', this.handleDragOver);\r\n method(document, 'pointerup', this.handleDrop);\r\n method(frameEl, 'pointerout', this.handleDragLeave);\r\n\r\n // Test with touch devices (seems like frameEl is not capturing pointer events).\r\n // on/off(document, 'pointermove', sorter.onMove); // for the sorter\r\n // enable && this.handleDragEnter({}); // no way to use pointerenter/pointerout\r\n }\r\n\r\n startCustom() {\r\n this.__customTglEff(true);\r\n }\r\n\r\n endCustom(cancel) {\r\n this.over ? this.endDrop(cancel) : this.__customTglEff(false);\r\n }\r\n\r\n endDrop(cancel, ev) {\r\n const { em, dragStop } = this;\r\n this.counter = 0;\r\n dragStop && dragStop(cancel);\r\n this.__customTglEff(false);\r\n em.trigger('canvas:dragend', ev);\r\n }\r\n\r\n handleDragLeave(ev) {\r\n this.updateCounter(-1, ev);\r\n }\r\n\r\n updateCounter(value, ev) {\r\n this.counter += value;\r\n this.counter === 0 && this.endDrop(1, ev);\r\n }\r\n\r\n handleDragEnter(ev) {\r\n const { em } = this;\r\n const dt = ev.dataTransfer;\r\n this.updateCounter(1, ev);\r\n if (this.over) return;\r\n this.over = 1;\r\n const utils = em.get('Utils');\r\n const canvas = em.get('Canvas');\r\n // For security reason I can't read the drag data on dragenter, but\r\n // as I need it for the Sorter context I will use `dragContent` or just\r\n // any not empty element\r\n let content = em.get('dragContent') || '
';\r\n let dragStop, dragContent;\r\n em.stopDefault();\r\n\r\n // Select the right drag provider\r\n if (em.inAbsoluteMode()) {\r\n const wrapper = em.get('DomComponents').getWrapper();\r\n const target = wrapper.append({})[0];\r\n const dragger = em.get('Commands').run('core:component-drag', {\r\n event: ev,\r\n guidesInfo: 1,\r\n center: 1,\r\n target,\r\n onEnd: (ev, dragger, { cancelled }) => {\r\n let comp;\r\n if (!cancelled) {\r\n comp = wrapper.append(content)[0];\r\n const { left, top, position } = target.getStyle();\r\n comp.addStyle({ left, top, position });\r\n }\r\n this.handleDragEnd(comp, dt);\r\n target.remove();\r\n },\r\n });\r\n dragStop = cancel => dragger.stop(ev, { cancel });\r\n dragContent = cnt => (content = cnt);\r\n } else {\r\n const sorter = new utils.Sorter({\r\n em,\r\n wmargin: 1,\r\n nested: 1,\r\n canvasRelative: 1,\r\n direction: 'a',\r\n container: this.el,\r\n placer: canvas.getPlacerEl(),\r\n containerSel: '*',\r\n itemSel: '*',\r\n pfx: 'gjs-',\r\n onEndMove: model => this.handleDragEnd(model, dt),\r\n document: this.el.ownerDocument,\r\n ...(this.sortOpts || {}),\r\n });\r\n sorter.setDropContent(content);\r\n sorter.startSort();\r\n this.sorter = sorter;\r\n dragStop = cancel => {\r\n cancel && (sorter.moved = 0);\r\n sorter.endMove();\r\n };\r\n dragContent = content => sorter.setDropContent(content);\r\n }\r\n\r\n this.dragStop = dragStop;\r\n this.dragContent = dragContent;\r\n em.trigger('canvas:dragenter', dt, content);\r\n }\r\n\r\n handleDragEnd(model, dt) {\r\n const { em } = this;\r\n this.over = 0;\r\n if (model) {\r\n em.set('dragResult', model);\r\n em.trigger('canvas:drop', dt, model);\r\n }\r\n em.runDefault({ preserveSelected: 1 });\r\n }\r\n\r\n /**\r\n * Always need to have this handler active for enabling the drop\r\n * @param {Event} ev\r\n */\r\n handleDragOver(ev) {\r\n ev.preventDefault();\r\n this.em.trigger('canvas:dragover', ev);\r\n }\r\n\r\n /**\r\n * WARNING: This function might fail to run on drop, for example, when the\r\n * drop, accidentally, happens on some external element (DOM not inside the iframe)\r\n */\r\n handleDrop(ev) {\r\n ev.preventDefault();\r\n const { dragContent } = this;\r\n const dt = ev.dataTransfer;\r\n const content = this.getContentByData(dt).content;\r\n ev.target.style.border = '';\r\n content && dragContent && dragContent(content);\r\n this.endDrop(!content, ev);\r\n }\r\n\r\n getContentByData(dt) {\r\n const em = this.em;\r\n const types = dt && dt.types;\r\n const files = (dt && dt.files) || [];\r\n const dragContent = em.get('dragContent');\r\n let content = dt && dt.getData('text');\r\n\r\n if (files.length) {\r\n content = [];\r\n for (let i = 0; i < files.length; i++) {\r\n const file = files[i];\r\n const type = file.type.split('/')[0];\r\n\r\n if (type == 'image') {\r\n content.push({\r\n type,\r\n file,\r\n attributes: { alt: file.name },\r\n });\r\n }\r\n }\r\n } else if (dragContent) {\r\n content = dragContent;\r\n } else if (indexOf(types, 'text/html') >= 0) {\r\n content = dt && dt.getData('text/html').replace(/<\\/?meta[^>]*>/g, '');\r\n } else if (indexOf(types, 'text/uri-list') >= 0) {\r\n content = {\r\n type: 'link',\r\n attributes: { href: content },\r\n content: content,\r\n };\r\n } else if (indexOf(types, 'text/json') >= 0) {\r\n const json = dt && dt.getData('text/json');\r\n json && (content = JSON.parse(json));\r\n } else if (types.length === 1 && types[0] === 'text/plain') {\r\n // Avoid dropping non-selectable and non-editable text nodes inside the editor\r\n content = `
${content}
`;\r\n }\r\n\r\n const result = { content };\r\n em.trigger('canvas:dragdata', dt, result);\r\n\r\n return result;\r\n }\r\n}\r\n","import { bindAll, isString, debounce, isUndefined } from 'underscore';\r\nimport { appendVNodes, append, createEl, createCustomEvent, motionsEv } from '../../utils/dom';\r\nimport { on, off, setViewEl, hasDnd, getPointerEvent } from '../../utils/mixins';\r\nimport { View } from '../../common';\r\nimport CssRulesView from '../../css_composer/view/CssRulesView';\r\nimport Droppable from '../../utils/Droppable';\r\n\r\nexport default class FrameView extends View {\r\n tagName() {\r\n return 'iframe';\r\n }\r\n\r\n attributes() {\r\n return {\r\n allowfullscreen: 'allowfullscreen',\r\n 'data-frame-el': true,\r\n };\r\n }\r\n\r\n initialize(o) {\r\n bindAll(this, 'updateClientY', 'stopAutoscroll', 'autoscroll', '_emitUpdate');\r\n const { model, el } = this;\r\n this.tools = {};\r\n this.config = {\r\n ...(o.config || {}),\r\n frameView: this,\r\n };\r\n this.ppfx = this.config.pStylePrefix || '';\r\n this.em = this.config.em;\r\n this.showGlobalTools = debounce(this.showGlobalTools.bind(this), 50);\r\n const cvModel = this.getCanvasModel();\r\n this.listenTo(model, 'change:head', this.updateHead);\r\n this.listenTo(cvModel, 'change:styles', this.renderStyles);\r\n model.view = this;\r\n setViewEl(el, this);\r\n }\r\n\r\n /**\r\n * Update `` content of the frame\r\n */\r\n updateHead() {\r\n const { model } = this;\r\n const headEl = this.getHead();\r\n const toRemove = [];\r\n const toAdd = [];\r\n const current = model.get('head');\r\n const prev = model.previous('head');\r\n const attrStr = (attr = {}) =>\r\n Object.keys(attr)\r\n .sort()\r\n .map(i => `[${i}=\"${attr[i]}\"]`)\r\n .join('');\r\n const find = (items, stack, res) => {\r\n items.forEach(item => {\r\n const { tag, attributes } = item;\r\n const has = stack.some(s => s.tag === tag && attrStr(s.attributes) === attrStr(attributes));\r\n !has && res.push(item);\r\n });\r\n };\r\n find(current, prev, toAdd);\r\n find(prev, current, toRemove);\r\n toRemove.forEach(stl => {\r\n const el = headEl.querySelector(`${stl.tag}${attrStr(stl.attributes)}`);\r\n el && el.parentNode.removeChild(el);\r\n });\r\n appendVNodes(headEl, toAdd);\r\n }\r\n\r\n getEl() {\r\n return this.el;\r\n }\r\n\r\n getCanvasModel() {\r\n return this.em.get('Canvas').getModel();\r\n }\r\n\r\n getWindow() {\r\n return this.getEl().contentWindow;\r\n }\r\n\r\n getDoc() {\r\n return this.getEl().contentDocument;\r\n }\r\n\r\n getHead() {\r\n return this.getDoc().querySelector('head');\r\n }\r\n\r\n getBody() {\r\n return this.getDoc().querySelector('body');\r\n }\r\n\r\n getWrapper() {\r\n return this.getBody().querySelector('[data-gjs-type=wrapper]');\r\n }\r\n\r\n getJsContainer() {\r\n if (!this.jsContainer) {\r\n this.jsContainer = createEl('div', { class: `${this.ppfx}js-cont` });\r\n }\r\n\r\n return this.jsContainer;\r\n }\r\n\r\n getToolsEl() {\r\n const { frameWrapView } = this.config;\r\n return frameWrapView && frameWrapView.elTools;\r\n }\r\n\r\n getGlobalToolsEl() {\r\n return this.em.get('Canvas').getGlobalToolsEl();\r\n }\r\n\r\n getHighlighter() {\r\n return this._getTool('[data-hl]');\r\n }\r\n\r\n getBadgeEl() {\r\n return this._getTool('[data-badge]');\r\n }\r\n\r\n getOffsetViewerEl() {\r\n return this._getTool('[data-offset]');\r\n }\r\n\r\n getRect() {\r\n if (!this.rect) {\r\n this.rect = this.el.getBoundingClientRect();\r\n }\r\n\r\n return this.rect;\r\n }\r\n\r\n /**\r\n * Get rect data, not affected by the canvas zoom\r\n */\r\n getOffsetRect() {\r\n const { el } = this;\r\n const { scrollTop, scrollLeft } = this.getBody();\r\n const height = el.offsetHeight;\r\n const width = el.offsetWidth;\r\n\r\n return {\r\n top: el.offsetTop,\r\n left: el.offsetLeft,\r\n height,\r\n width,\r\n scrollTop,\r\n scrollLeft,\r\n scrollBottom: scrollTop + height,\r\n scrollRight: scrollLeft + width,\r\n };\r\n }\r\n\r\n _getTool(name) {\r\n const { tools } = this;\r\n const toolsEl = this.getToolsEl();\r\n\r\n if (!tools[name]) {\r\n tools[name] = toolsEl.querySelector(name);\r\n }\r\n\r\n return tools[name];\r\n }\r\n\r\n remove() {\r\n const wrp = this.wrapper;\r\n this._toggleEffects();\r\n this.tools = {};\r\n wrp && wrp.remove();\r\n View.prototype.remove.apply(this, arguments);\r\n }\r\n\r\n startAutoscroll() {\r\n this.lastMaxHeight = this.getWrapper().offsetHeight - this.el.offsetHeight;\r\n\r\n // By detaching those from the stack avoid browsers lags\r\n // Noticeable with \"fast\" drag of blocks\r\n setTimeout(() => {\r\n this._toggleAutoscrollFx(1);\r\n requestAnimationFrame(this.autoscroll);\r\n }, 0);\r\n }\r\n\r\n autoscroll() {\r\n if (this.dragging) {\r\n const { lastClientY } = this;\r\n const canvas = this.em.get('Canvas');\r\n const win = this.getWindow();\r\n const body = this.getBody();\r\n const actualTop = body.scrollTop;\r\n const clientY = lastClientY || 0;\r\n const limitTop = canvas.getConfig().autoscrollLimit;\r\n const limitBottom = this.getRect().height - limitTop;\r\n let nextTop = actualTop;\r\n\r\n if (clientY < limitTop) {\r\n nextTop -= limitTop - clientY;\r\n }\r\n\r\n if (clientY > limitBottom) {\r\n nextTop += clientY - limitBottom;\r\n }\r\n\r\n if (\r\n !isUndefined(lastClientY) && // Fixes #3134\r\n nextTop !== actualTop &&\r\n nextTop > 0 &&\r\n nextTop < this.lastMaxHeight\r\n ) {\r\n const toolsEl = this.getGlobalToolsEl();\r\n toolsEl.style.opacity = 0;\r\n this.showGlobalTools();\r\n win.scrollTo(0, nextTop);\r\n }\r\n\r\n requestAnimationFrame(this.autoscroll);\r\n }\r\n }\r\n\r\n updateClientY(ev) {\r\n ev.preventDefault();\r\n this.lastClientY = getPointerEvent(ev).clientY * this.em.getZoomDecimal();\r\n }\r\n\r\n showGlobalTools() {\r\n this.getGlobalToolsEl().style.opacity = '';\r\n }\r\n\r\n stopAutoscroll() {\r\n this.dragging && this._toggleAutoscrollFx();\r\n }\r\n\r\n _toggleAutoscrollFx(enable) {\r\n this.dragging = enable;\r\n const win = this.getWindow();\r\n const method = enable ? 'on' : 'off';\r\n const mt = { on, off };\r\n mt[method](win, 'mousemove dragover', this.updateClientY);\r\n mt[method](win, 'mouseup', this.stopAutoscroll);\r\n }\r\n\r\n render() {\r\n const { $el, ppfx } = this;\r\n $el.attr({ class: `${ppfx}frame` });\r\n this.renderScripts();\r\n return this;\r\n }\r\n\r\n renderScripts() {\r\n const { el, model, em } = this;\r\n const evLoad = 'frame:load';\r\n const evOpts = { el, model, view: this };\r\n const canvas = this.getCanvasModel();\r\n const appendScript = scripts => {\r\n if (scripts.length > 0) {\r\n const src = scripts.shift();\r\n const scriptEl = createEl('script', {\r\n type: 'text/javascript',\r\n ...(isString(src) ? { src } : src),\r\n });\r\n scriptEl.onerror = scriptEl.onload = appendScript.bind(null, scripts);\r\n el.contentDocument.head.appendChild(scriptEl);\r\n } else {\r\n this.renderBody();\r\n em && em.trigger(evLoad, evOpts);\r\n }\r\n };\r\n\r\n el.onload = () => {\r\n em && em.trigger(`${evLoad}:before`, evOpts);\r\n appendScript([...canvas.get('scripts')]);\r\n };\r\n }\r\n\r\n renderStyles(opts = {}) {\r\n const head = this.getHead();\r\n const canvas = this.getCanvasModel();\r\n const normalize = stls =>\r\n stls.map(href => ({\r\n tag: 'link',\r\n attributes: {\r\n rel: 'stylesheet',\r\n ...(isString(href) ? { href } : href),\r\n },\r\n }));\r\n const prevStyles = normalize(opts.prev || canvas.previous('styles'));\r\n const styles = normalize(canvas.get('styles'));\r\n const toRemove = [];\r\n const toAdd = [];\r\n const find = (items, stack, res) => {\r\n items.forEach(item => {\r\n const { href } = item.attributes;\r\n const has = stack.some(s => s.attributes.href === href);\r\n !has && res.push(item);\r\n });\r\n };\r\n find(styles, prevStyles, toAdd);\r\n find(prevStyles, styles, toRemove);\r\n toRemove.forEach(stl => {\r\n const el = head.querySelector(`link[href=\"${stl.attributes.href}\"]`);\r\n el && el.parentNode.removeChild(el);\r\n });\r\n appendVNodes(head, toAdd);\r\n }\r\n\r\n renderBody() {\r\n const { config, model, ppfx } = this;\r\n const { em } = config;\r\n const doc = this.getDoc();\r\n const body = this.getBody();\r\n const win = this.getWindow();\r\n const conf = em.get('Config');\r\n win._isEditor = true;\r\n this.renderStyles({ prev: [] });\r\n\r\n const colorWarn = '#ffca6f';\r\n\r\n // I need all this styles to make the editor work properly\r\n // Remove `html { height: 100%;}` from the baseCss as it gives jumpings\r\n // effects (on ENTER) with RTE like CKEditor (maybe some bug there?!?)\r\n // With `body {height: auto;}` jumps in CKEditor are removed but in\r\n // Firefox is impossible to drag stuff in empty canvas, so bring back\r\n // `body {height: 100%;}`.\r\n // For the moment I give the priority to Firefox as it might be\r\n // CKEditor's issue\r\n append(\r\n body,\r\n ``\r\n );\r\n const component = model.getComponent();\r\n const { view } = em.get('DomComponents').getType('wrapper');\r\n this.wrapper = new view({\r\n model: component,\r\n config: {\r\n ...component.config,\r\n frameView: this,\r\n },\r\n }).render();\r\n append(body, this.wrapper.el);\r\n append(\r\n body,\r\n new CssRulesView({\r\n collection: model.getStyles(),\r\n config: {\r\n ...em.get('CssComposer').getConfig(),\r\n frameView: this,\r\n },\r\n }).render().el\r\n );\r\n append(body, this.getJsContainer());\r\n // em.trigger('loaded'); // I need to manage only the first one maybe\r\n //this.updateOffset(); // TOFIX (check if I need it)\r\n\r\n // Avoid some default behaviours\r\n on(body, 'click', ev => ev && ev.target.tagName == 'A' && ev.preventDefault());\r\n on(body, 'submit', ev => ev && ev.preventDefault());\r\n\r\n // When the iframe is focused the event dispatcher is not the same so\r\n // I need to delegate all events to the parent document\r\n [\r\n { event: 'keydown keyup keypress', class: 'KeyboardEvent' },\r\n { event: 'mousedown mousemove mouseup', class: 'MouseEvent' },\r\n { event: 'pointerdown pointermove pointerup', class: 'PointerEvent' },\r\n { event: 'wheel', class: 'WheelEvent' },\r\n ].forEach(obj =>\r\n obj.event.split(' ').forEach(event => {\r\n doc.addEventListener(event, ev => this.el.dispatchEvent(createCustomEvent(ev, obj.class)));\r\n })\r\n );\r\n\r\n this._toggleEffects(1);\r\n this.droppable = hasDnd(em) && new Droppable(em, this.wrapper.el);\r\n model.trigger('loaded');\r\n }\r\n\r\n _toggleEffects(enable) {\r\n const method = enable ? on : off;\r\n const win = this.getWindow();\r\n win && method(win, `${motionsEv} resize`, this._emitUpdate);\r\n }\r\n\r\n _emitUpdate() {\r\n this.model._emitUpdated();\r\n }\r\n}\r\n","import { bindAll, isNumber, isNull, debounce } from 'underscore';\r\nimport { View } from '../../common';\r\nimport FrameView from './FrameView';\r\nimport { createEl, removeEl } from '../../utils/dom';\r\nimport Dragger from '../../utils/Dragger';\r\n\r\nexport default class FrameWrapView extends View {\r\n events() {\r\n return {\r\n 'click [data-action-remove]': 'remove',\r\n 'mousedown [data-action-move]': 'startDrag',\r\n };\r\n }\r\n\r\n initialize(opts = {}, conf = {}) {\r\n bindAll(this, 'onScroll', 'frameLoaded', 'updateOffset', 'remove', 'startDrag');\r\n const { model } = this;\r\n const config = {\r\n ...(opts.config || conf),\r\n frameWrapView: this,\r\n };\r\n const { canvasView, em } = config;\r\n this.cv = canvasView;\r\n this.config = config;\r\n this.em = em;\r\n this.canvas = em && em.get('Canvas');\r\n this.ppfx = config.pStylePrefix || '';\r\n this.frame = new FrameView({ model, config });\r\n this.classAnim = `${this.ppfx}frame-wrapper--anim`;\r\n this.updateOffset = debounce(this.updateOffset.bind(this));\r\n this.updateSize = debounce(this.updateSize.bind(this));\r\n this.listenTo(model, 'loaded', this.frameLoaded);\r\n this.listenTo(model, 'change:x change:y', this.updatePos);\r\n this.listenTo(model, 'change:width change:height', this.updateSize);\r\n this.listenTo(model, 'destroy remove', this.remove);\r\n this.updatePos();\r\n this.setupDragger();\r\n }\r\n\r\n setupDragger() {\r\n const { canvas, model } = this;\r\n let dragX, dragY, zoom;\r\n const toggleEffects = on => {\r\n canvas.toggleFramesEvents(on);\r\n };\r\n\r\n this.dragger = new Dragger({\r\n onStart: () => {\r\n const { x, y } = model.attributes;\r\n zoom = this.em.getZoomMultiplier();\r\n dragX = x;\r\n dragY = y;\r\n toggleEffects();\r\n },\r\n onEnd: () => toggleEffects(1),\r\n setPosition: posOpts => {\r\n model.set({\r\n x: dragX + posOpts.x * zoom,\r\n y: dragY + posOpts.y * zoom,\r\n });\r\n },\r\n });\r\n }\r\n\r\n startDrag(ev) {\r\n ev && this.dragger.start(ev);\r\n }\r\n\r\n __clear(opts) {\r\n const { frame } = this;\r\n frame && frame.remove(opts);\r\n removeEl(this.elTools);\r\n }\r\n\r\n remove(opts) {\r\n this.__clear(opts);\r\n View.prototype.remove.apply(this, arguments);\r\n ['frame', 'dragger', 'cv', 'em', 'canvas', 'elTools'].forEach(i => (this[i] = 0));\r\n return this;\r\n }\r\n\r\n updateOffset() {\r\n const { em, $el, frame } = this;\r\n if (!em) return;\r\n em.runDefault({ preserveSelected: 1 });\r\n $el.removeClass(this.classAnim);\r\n frame.model._emitUpdated();\r\n }\r\n\r\n updatePos(md) {\r\n const { model, el } = this;\r\n const { x, y } = model.attributes;\r\n const { style } = el;\r\n this.frame.rect = 0;\r\n style.left = isNaN(x) ? x : `${x}px`;\r\n style.top = isNaN(y) ? y : `${y}px`;\r\n md && this.updateOffset();\r\n }\r\n\r\n updateSize() {\r\n this.updateDim();\r\n }\r\n\r\n /**\r\n * Update dimensions of the frame\r\n * @private\r\n */\r\n updateDim() {\r\n const { em, el, $el, model, classAnim, frame } = this;\r\n if (!frame) return;\r\n frame.rect = 0;\r\n $el.addClass(classAnim);\r\n const { noChanges, width, height } = this.__handleSize();\r\n\r\n // Set width and height from DOM (should be done only once)\r\n if (isNull(width) || isNull(height)) {\r\n model.set(\r\n {\r\n ...(!width ? { width: el.offsetWidth } : {}),\r\n ...(!height ? { height: el.offsetHeight } : {}),\r\n },\r\n { silent: 1 }\r\n );\r\n }\r\n\r\n // Prevent fixed highlighting box which appears when on\r\n // component hover during the animation\r\n em.stopDefault({ preserveSelected: 1 });\r\n noChanges ? this.updateOffset() : setTimeout(this.updateOffset, 350);\r\n }\r\n\r\n onScroll() {\r\n const { frame, em } = this;\r\n em.trigger('frame:scroll', {\r\n frame,\r\n body: frame.getBody(),\r\n target: frame.getWindow(),\r\n });\r\n }\r\n\r\n frameLoaded() {\r\n const { frame } = this;\r\n frame.getWindow().onscroll = this.onScroll;\r\n this.updateDim();\r\n }\r\n\r\n __handleSize() {\r\n const un = 'px';\r\n const { model, el } = this;\r\n const { style } = el;\r\n const { width, height } = model.attributes;\r\n const currW = style.width || '';\r\n const currH = style.height || '';\r\n const newW = width || '';\r\n const newH = height || '';\r\n const noChanges = currW == newW && currH == newH;\r\n style.width = isNumber(newW) ? `${newW}${un}` : newW;\r\n style.height = isNumber(newH) ? `${newH}${un}` : newH;\r\n return { noChanges, width, height, newW, newH };\r\n }\r\n\r\n render() {\r\n const { frame, $el, ppfx, cv, model, el } = this;\r\n const { onRender } = model.attributes;\r\n this.__clear();\r\n this.__handleSize();\r\n frame.render();\r\n $el\r\n .empty()\r\n .attr({ class: `${ppfx}frame-wrapper` })\r\n .append(\r\n `\r\n
\r\n
\r\n ${model.get('name') || ''}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n `\r\n )\r\n .append(frame.el);\r\n const elTools = createEl(\r\n 'div',\r\n {\r\n class: `${ppfx}tools`,\r\n style: 'pointer-events:none; display: none',\r\n },\r\n `\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n `\r\n );\r\n this.elTools = elTools;\r\n const twrp = cv.toolsWrapper;\r\n twrp && twrp.appendChild(elTools); // TODO remove on frame remove\r\n onRender &&\r\n onRender({\r\n el,\r\n elTop: el.querySelector('[data-frame-top]'),\r\n elRight: el.querySelector('[data-frame-right]'),\r\n elBottom: el.querySelector('[data-frame-bottom]'),\r\n elLeft: el.querySelector('[data-frame-left]'),\r\n frame: model,\r\n frameWrapperView: this,\r\n remove: this.remove,\r\n startDrag: this.startDrag,\r\n });\r\n return this;\r\n }\r\n}\r\n","import { bindAll } from 'underscore';\r\nimport { View } from '../../common';\r\nimport { on, off, getElement, getKeyChar, isTextNode, getElRect, getUiClass } from '../../utils/mixins';\r\nimport { createEl } from '../../utils/dom';\r\nimport FramesView from './FramesView';\r\n\r\nlet timerZoom;\r\n\r\nexport default class CanvasView extends View {\r\n events() {\r\n return {\r\n wheel: 'onWheel',\r\n };\r\n }\r\n\r\n template() {\r\n const { pfx } = this;\r\n return `\r\n
\r\n
\r\n `;\r\n }\r\n\r\n initialize(o) {\r\n bindAll(this, 'clearOff', 'onKeyPress', 'onCanvasMove');\r\n const { model } = this;\r\n this.config = o.config || {};\r\n this.em = this.config.em || {};\r\n this.pfx = this.config.stylePrefix || '';\r\n this.ppfx = this.config.pStylePrefix || '';\r\n this.className = this.config.stylePrefix + 'canvas';\r\n const { em } = this;\r\n this._initFrames();\r\n this.listenTo(em, 'change:canvasOffset', this.clearOff);\r\n this.listenTo(em, 'component:selected', this.checkSelected);\r\n this.listenTo(model, 'change:zoom change:x change:y', this.updateFrames);\r\n this.listenTo(model, 'change:frames', this._onFramesUpdate);\r\n this.toggleListeners(1);\r\n }\r\n\r\n _onFramesUpdate() {\r\n this._initFrames();\r\n this._renderFrames();\r\n }\r\n\r\n _initFrames() {\r\n const { frames, model, config, em } = this;\r\n const collection = model.get('frames');\r\n em.set('readyCanvas', 0);\r\n collection.once('loaded:all', () => em.set('readyCanvas', 1));\r\n frames && frames.remove();\r\n this.frames = new FramesView({\r\n collection,\r\n config: {\r\n ...config,\r\n canvasView: this,\r\n },\r\n });\r\n }\r\n\r\n checkSelected(component, opts = {}) {\r\n const { scroll } = opts;\r\n const currFrame = this.em.get('currentFrame');\r\n\r\n scroll &&\r\n component.views.forEach(view => {\r\n view._getFrame() === currFrame && view.scrollIntoView(scroll);\r\n });\r\n }\r\n\r\n remove() {\r\n this.frames.remove();\r\n this.frames = {};\r\n View.prototype.remove.apply(this, arguments);\r\n this.toggleListeners();\r\n }\r\n\r\n preventDefault(ev) {\r\n if (ev) {\r\n ev.preventDefault();\r\n ev._parentEvent && ev._parentEvent.preventDefault();\r\n }\r\n }\r\n\r\n onCanvasMove(ev) {\r\n // const data = { x: ev.clientX, y: ev.clientY };\r\n // const data2 = this.em.get('Canvas').getMouseRelativeCanvas(ev);\r\n // const data3 = this.em.get('Canvas').getMouseRelativePos(ev);\r\n // this.em.trigger('canvas:over', data, data2, data3);\r\n }\r\n\r\n toggleListeners(enable) {\r\n const { el } = this;\r\n const fn = enable ? on : off;\r\n fn(document, 'keypress', this.onKeyPress);\r\n fn(window, 'scroll resize', this.clearOff);\r\n // fn(el, 'mousemove dragover', this.onCanvasMove);\r\n }\r\n\r\n onKeyPress(ev) {\r\n const { em } = this;\r\n const key = getKeyChar(ev);\r\n\r\n if (key === ' ' && em.getZoomDecimal() !== 1 && !em.get('Canvas').isInputFocused()) {\r\n this.preventDefault(ev);\r\n em.get('Editor').runCommand('core:canvas-move');\r\n }\r\n }\r\n\r\n onWheel(ev) {\r\n if ((ev.ctrlKey || ev.metaKey) && this.em.getConfig('multiFrames')) {\r\n this.preventDefault(ev);\r\n const { model } = this;\r\n const delta = Math.max(-1, Math.min(1, ev.wheelDelta || -ev.detail));\r\n const zoom = model.get('zoom');\r\n model.set('zoom', zoom + delta * 2);\r\n }\r\n }\r\n\r\n updateFrames(ev) {\r\n const { em, model } = this;\r\n const { x, y } = model.attributes;\r\n const zoom = this.getZoom();\r\n const defOpts = { preserveSelected: 1 };\r\n const mpl = zoom ? 1 / zoom : 1;\r\n this.framesArea.style.transform = `scale(${zoom}) translate(${x * mpl}px, ${y * mpl}px)`;\r\n this.clearOff();\r\n em.stopDefault(defOpts);\r\n em.trigger('canvas:update', ev);\r\n timerZoom && clearTimeout(timerZoom);\r\n timerZoom = setTimeout(() => em.runDefault(defOpts), 300);\r\n }\r\n\r\n getZoom() {\r\n return this.em.getZoomDecimal();\r\n }\r\n\r\n /**\r\n * Checks if the element is visible in the canvas's viewport\r\n * @param {HTMLElement} el\r\n * @return {Boolean}\r\n */\r\n isElInViewport(el) {\r\n const elem = getElement(el);\r\n const rect = getElRect(elem);\r\n const frameRect = this.getFrameOffset(elem);\r\n const rTop = rect.top;\r\n const rLeft = rect.left;\r\n return rTop >= 0 && rLeft >= 0 && rTop <= frameRect.height && rLeft <= frameRect.width;\r\n }\r\n\r\n /**\r\n * Get the offset of the element\r\n * @param {HTMLElement} el\r\n * @return {Object}\r\n */\r\n offset(el, opts = {}) {\r\n const rect = getElRect(el);\r\n const docBody = el.ownerDocument.body;\r\n const { noScroll } = opts;\r\n\r\n return {\r\n top: rect.top + (noScroll ? 0 : docBody.scrollTop),\r\n left: rect.left + (noScroll ? 0 : docBody.scrollLeft),\r\n width: rect.width,\r\n height: rect.height,\r\n };\r\n }\r\n\r\n /**\r\n * Cleare cached offsets\r\n * @private\r\n */\r\n clearOff() {\r\n this.frmOff = null;\r\n this.cvsOff = null;\r\n }\r\n\r\n /**\r\n * Return frame offset\r\n * @return {Object}\r\n * @private\r\n */\r\n getFrameOffset(el) {\r\n if (!this.frmOff || el) {\r\n const frame = this.frame.el;\r\n const winEl = el && el.ownerDocument.defaultView;\r\n const frEl = winEl ? winEl.frameElement : frame;\r\n this.frmOff = this.offset(frEl || frame);\r\n }\r\n return this.frmOff;\r\n }\r\n\r\n /**\r\n * Return canvas offset\r\n * @return {Object}\r\n * @private\r\n */\r\n getCanvasOffset() {\r\n if (!this.cvsOff) this.cvsOff = this.offset(this.el);\r\n return this.cvsOff;\r\n }\r\n\r\n /**\r\n * Returns element's rect info\r\n * @param {HTMLElement} el\r\n * @return {Object}\r\n * @private\r\n */\r\n getElementPos(el, opts) {\r\n const zoom = this.getZoom();\r\n var opt = opts || {};\r\n var frmOff = this.getFrameOffset(el);\r\n var cvsOff = this.getCanvasOffset();\r\n var eo = this.offset(el, opts);\r\n\r\n var frmTop = opt.avoidFrameOffset ? 0 : frmOff.top;\r\n var frmLeft = opt.avoidFrameOffset ? 0 : frmOff.left;\r\n\r\n const top = eo.top * zoom + frmTop - cvsOff.top;\r\n const left = eo.left * zoom + frmLeft - cvsOff.left;\r\n const height = eo.height * zoom;\r\n const width = eo.width * zoom;\r\n\r\n return { top, left, height, width, zoom, rect: eo };\r\n }\r\n\r\n /**\r\n * Returns element's offsets like margins and paddings\r\n * @param {HTMLElement} el\r\n * @return {Object}\r\n * @private\r\n */\r\n getElementOffsets(el) {\r\n if (!el || isTextNode(el)) return {};\r\n const result = {};\r\n const styles = window.getComputedStyle(el);\r\n [\r\n 'marginTop',\r\n 'marginRight',\r\n 'marginBottom',\r\n 'marginLeft',\r\n 'paddingTop',\r\n 'paddingRight',\r\n 'paddingBottom',\r\n 'paddingLeft',\r\n ].forEach(offset => {\r\n result[offset] = parseFloat(styles[offset]) * this.getZoom();\r\n });\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Returns position data of the canvas element\r\n * @return {Object} obj Position object\r\n * @private\r\n */\r\n getPosition(opts = {}) {\r\n const doc = this.frame.el.contentDocument;\r\n if (!doc) return;\r\n const bEl = doc.body;\r\n const zoom = this.getZoom();\r\n const fo = this.getFrameOffset();\r\n const co = this.getCanvasOffset();\r\n const { noScroll } = opts;\r\n\r\n return {\r\n top: fo.top + (noScroll ? 0 : bEl.scrollTop) * zoom - co.top,\r\n left: fo.left + (noScroll ? 0 : bEl.scrollLeft) * zoom - co.left,\r\n width: co.width,\r\n height: co.height,\r\n };\r\n }\r\n\r\n /**\r\n * Update javascript of a specific component passed by its View\r\n * @param {View} view Component's View\r\n * @private\r\n */\r\n updateScript(view) {\r\n const model = view.model;\r\n const id = model.getId();\r\n\r\n if (!view.scriptContainer) {\r\n view.scriptContainer = createEl('div', { 'data-id': id });\r\n this.getJsContainer().appendChild(view.scriptContainer);\r\n }\r\n\r\n view.el.id = id;\r\n view.scriptContainer.innerHTML = '';\r\n // In editor, I make use of setTimeout as during the append process of elements\r\n // those will not be available immediately, therefore 'item' variable\r\n const script = document.createElement('script');\r\n const scriptFn = model.getScriptString();\r\n const scriptFnStr = model.get('script-props') ? scriptFn : `function(){\\n${scriptFn}\\n;}`;\r\n const scriptProps = JSON.stringify(model.__getScriptProps());\r\n script.innerHTML = `\r\n setTimeout(function() {\r\n var item = document.getElementById('${id}');\r\n if (!item) return;\r\n (${scriptFnStr}.bind(item))(${scriptProps})\r\n }, 1);`;\r\n // #873\r\n // Adding setTimeout will make js components work on init of the editor\r\n setTimeout(() => {\r\n const scr = view.scriptContainer;\r\n scr?.appendChild(script);\r\n }, 0);\r\n }\r\n\r\n /**\r\n * Get javascript container\r\n * @private\r\n */\r\n getJsContainer(view) {\r\n const frameView = this.getFrameView(view);\r\n return frameView && frameView.getJsContainer();\r\n }\r\n\r\n getFrameView(view) {\r\n return (view && view._getFrame()) || this.em.get('currentFrame');\r\n }\r\n\r\n _renderFrames() {\r\n if (!this.ready) return;\r\n const { model, frames, em, framesArea } = this;\r\n const frms = model.get('frames');\r\n frms.listenToLoad();\r\n frames.render();\r\n const mainFrame = frms.at(0);\r\n const currFrame = mainFrame && mainFrame.view;\r\n em.setCurrentFrame(currFrame);\r\n framesArea && framesArea.appendChild(frames.el);\r\n this.frame = currFrame;\r\n }\r\n\r\n render() {\r\n const { el, $el, ppfx, config, em } = this;\r\n $el.html(this.template());\r\n const $frames = $el.find('[data-frames]');\r\n this.framesArea = $frames.get(0);\r\n\r\n const toolsWrp = $el.find('[data-tools]');\r\n this.toolsWrapper = toolsWrp.get(0);\r\n toolsWrp.append(`\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n ${config.extHl ? `
` : ''}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n `);\r\n const toolsEl = el.querySelector(`#${ppfx}tools`);\r\n this.hlEl = el.querySelector(`.${ppfx}highlighter`);\r\n this.badgeEl = el.querySelector(`.${ppfx}badge`);\r\n this.placerEl = el.querySelector(`.${ppfx}placeholder`);\r\n this.ghostEl = el.querySelector(`.${ppfx}ghost`);\r\n this.toolbarEl = el.querySelector(`.${ppfx}toolbar`);\r\n this.resizerEl = el.querySelector(`.${ppfx}resizer`);\r\n this.offsetEl = el.querySelector(`.${ppfx}offset-v`);\r\n this.fixedOffsetEl = el.querySelector(`.${ppfx}offset-fixed-v`);\r\n this.toolsGlobEl = el.querySelector(`.${ppfx}tools-gl`);\r\n this.toolsEl = toolsEl;\r\n this.el.className = getUiClass(em, this.className);\r\n this.ready = 1;\r\n this._renderFrames();\r\n\r\n return this;\r\n }\r\n}\r\n","import DomainViews from '../../domain_abstract/view/DomainViews';\r\nimport FrameWrapView from './FrameWrapView';\r\n\r\nexport default class FramesView extends DomainViews {\r\n constructor(opts = {}, config) {\r\n super(opts, config, true);\r\n this.listenTo(this.collection, 'reset', this.render);\r\n }\r\n\r\n onRemoveBefore(items, opts) {\r\n items.forEach(item => item.remove(opts));\r\n }\r\n\r\n onRender() {\r\n const { config, $el } = this;\r\n const { em } = config;\r\n em && $el.attr({ class: `${em.getConfig('stylePrefix')}frames` });\r\n }\r\n}\r\n\r\nFramesView.prototype.itemView = FrameWrapView;\r\n","/**\r\n * You can customize the initial state of the module from the editor initialization, by passing the following [Configuration Object](https://github.com/artf/grapesjs/blob/master/src/canvas/config/config.js)\r\n * ```js\r\n * const editor = grapesjs.init({\r\n * canvas: {\r\n * // options\r\n * }\r\n * })\r\n * ```\r\n *\r\n * Once the editor is instantiated you can use its API and listen to its events. Before using these methods, you should get the module from the instance.\r\n *\r\n * ```js\r\n * // Listen to events\r\n * editor.on('canvas:drop', () => { ... });\r\n *\r\n * // Use the API\r\n * const canvas = editor.Canvas;\r\n * canvas.setCoords(...);\r\n * ```\r\n * ## Available Events\r\n * * `canvas:dragenter` - When something is dragged inside the canvas, `DataTransfer` instance passed as an argument\r\n * * `canvas:dragover` - When something is dragging on canvas, `DataTransfer` instance passed as an argument\r\n * * `canvas:drop` - Something is dropped in canvas, `DataTransfer` instance and the dropped model are passed as arguments\r\n * * `canvas:dragend` - When a drag operation is ended, `DataTransfer` instance passed as an argument\r\n * * `canvas:dragdata` - On any dataTransfer parse, `DataTransfer` instance and the `result` are passed as arguments.\r\n * By changing `result.content` you're able to customize what is dropped\r\n *\r\n * ## Methods\r\n * * [getConfig](#getconfig)\r\n * * [getElement](#getelement)\r\n * * [getFrameEl](#getframeel)\r\n * * [getWindow](#getwindow)\r\n * * [getDocument](#getdocument)\r\n * * [getBody](#getbody)\r\n * * [setCustomBadgeLabel](#setcustombadgelabel)\r\n * * [hasFocus](#hasfocus)\r\n * * [scrollTo](#scrollto)\r\n * * [setZoom](#setzoom)\r\n * * [getZoom](#getzoom)\r\n * * [getCoords](#getcoords)\r\n * * [setCoords](#setcoords)\r\n *\r\n * [Component]: component.html\r\n * [Frame]: frame.html\r\n *\r\n * @module Canvas\r\n */\r\n\r\nimport { isUndefined } from 'underscore';\r\nimport { getElement, getViewEl } from '../utils/mixins';\r\nimport defaults from './config/config';\r\nimport Canvas from './model/Canvas';\r\nimport canvasView from './view/CanvasView';\r\n\r\nexport default () => {\r\n let c = {};\r\n let canvas;\r\n let CanvasView;\r\n\r\n return {\r\n /**\r\n * Used inside RTE\r\n * @private\r\n */\r\n getCanvasView() {\r\n return CanvasView;\r\n },\r\n\r\n name: 'Canvas',\r\n\r\n /**\r\n * Initialize module. Automatically called with a new instance of the editor\r\n * @param {Object} config Configurations\r\n * @private\r\n */\r\n init(config = {}) {\r\n c = {\r\n ...defaults,\r\n ...config,\r\n module: this,\r\n };\r\n\r\n this.em = c.em;\r\n const { scripts, styles } = c;\r\n const ppfx = c.pStylePrefix;\r\n if (ppfx) c.stylePrefix = ppfx + c.stylePrefix;\r\n canvas = new Canvas({ scripts, styles }, config);\r\n this.model = canvas;\r\n this.startAutoscroll = this.startAutoscroll.bind(this);\r\n this.stopAutoscroll = this.stopAutoscroll.bind(this);\r\n return this;\r\n },\r\n\r\n onLoad() {\r\n this.model.init();\r\n },\r\n\r\n getModel() {\r\n return canvas;\r\n },\r\n\r\n /**\r\n * Get the configuration object\r\n * @returns {Object} Configuration object\r\n * @example\r\n * console.log(canvas.getConfig())\r\n */\r\n getConfig() {\r\n return c;\r\n },\r\n\r\n /**\r\n * Get the canvas element\r\n * @returns {HTMLElement}\r\n */\r\n getElement() {\r\n return CanvasView.el;\r\n },\r\n\r\n getFrame(index) {\r\n return this.getFrames()[index || 0];\r\n },\r\n\r\n /**\r\n * Get the main frame element of the canvas\r\n * @returns {HTMLIFrameElement}\r\n */\r\n getFrameEl() {\r\n const { frame } = CanvasView || {};\r\n return frame && frame.el;\r\n },\r\n\r\n getFramesEl() {\r\n return CanvasView.framesArea;\r\n },\r\n\r\n /**\r\n * Get the main frame window instance\r\n * @returns {Window}\r\n */\r\n getWindow() {\r\n return this.getFrameEl().contentWindow;\r\n },\r\n\r\n /**\r\n * Get the main frame document element\r\n * @returns {HTMLDocument}\r\n */\r\n getDocument() {\r\n const frame = this.getFrameEl();\r\n return frame && frame.contentDocument;\r\n },\r\n\r\n /**\r\n * Get the main frame body element\r\n * @return {HTMLBodyElement}\r\n */\r\n getBody() {\r\n const doc = this.getDocument();\r\n return doc && doc.body;\r\n },\r\n\r\n _getCompFrame(compView) {\r\n return compView && compView._getFrame();\r\n },\r\n\r\n _getLocalEl(globalEl, compView, method) {\r\n let result = globalEl;\r\n const frameView = this._getCompFrame(compView);\r\n result = frameView ? frameView[method]() : result;\r\n\r\n return result;\r\n },\r\n\r\n /**\r\n * Returns element containing all global canvas tools\r\n * @returns {HTMLElement}\r\n * @private\r\n */\r\n getGlobalToolsEl() {\r\n return CanvasView.toolsGlobEl;\r\n },\r\n\r\n /**\r\n * Returns element containing all canvas tools\r\n * @returns {HTMLElement}\r\n * @private\r\n */\r\n getToolsEl(compView) {\r\n return this._getLocalEl(CanvasView.toolsEl, compView, 'getToolsEl');\r\n },\r\n\r\n /**\r\n * Returns highlighter element\r\n * @returns {HTMLElement}\r\n * @private\r\n */\r\n getHighlighter(compView) {\r\n return this._getLocalEl(CanvasView.hlEl, compView, 'getHighlighter');\r\n },\r\n\r\n /**\r\n * Returns badge element\r\n * @returns {HTMLElement}\r\n * @private\r\n */\r\n getBadgeEl(compView) {\r\n return this._getLocalEl(CanvasView.badgeEl, compView, 'getBadgeEl');\r\n },\r\n\r\n /**\r\n * Returns placer element\r\n * @returns {HTMLElement}\r\n * @private\r\n */\r\n getPlacerEl() {\r\n return CanvasView.placerEl;\r\n },\r\n\r\n /**\r\n * Returns ghost element\r\n * @returns {HTMLElement}\r\n * @private\r\n */\r\n getGhostEl() {\r\n return CanvasView.ghostEl;\r\n },\r\n\r\n /**\r\n * Returns toolbar element\r\n * @returns {HTMLElement}\r\n * @private\r\n */\r\n getToolbarEl() {\r\n return CanvasView.toolbarEl;\r\n },\r\n\r\n /**\r\n * Returns resizer element\r\n * @returns {HTMLElement}\r\n * @private\r\n */\r\n getResizerEl() {\r\n return CanvasView.resizerEl;\r\n },\r\n\r\n /**\r\n * Returns offset viewer element\r\n * @returns {HTMLElement}\r\n * @private\r\n */\r\n getOffsetViewerEl(compView) {\r\n return this._getLocalEl(CanvasView.offsetEl, compView, 'getOffsetViewerEl');\r\n },\r\n\r\n /**\r\n * Returns fixed offset viewer element\r\n * @returns {HTMLElement}\r\n * @private\r\n */\r\n getFixedOffsetViewerEl() {\r\n return CanvasView.fixedOffsetEl;\r\n },\r\n\r\n render() {\r\n CanvasView && CanvasView.remove();\r\n CanvasView = new canvasView({\r\n model: canvas,\r\n config: c,\r\n });\r\n return CanvasView.render().el;\r\n },\r\n\r\n /**\r\n * Get frame position\r\n * @returns {Object}\r\n * @private\r\n */\r\n getOffset() {\r\n var frameOff = this.offset(this.getFrameEl());\r\n var canvasOff = this.offset(this.getElement());\r\n return {\r\n top: frameOff.top - canvasOff.top,\r\n left: frameOff.left - canvasOff.left,\r\n };\r\n },\r\n\r\n /**\r\n * Get the offset of the passed component element\r\n * @param {HTMLElement} el\r\n * @returns {Object}\r\n * @private\r\n */\r\n offset(el) {\r\n return CanvasView.offset(el);\r\n },\r\n\r\n /**\r\n * Set custom badge naming strategy\r\n * @param {Function} f\r\n * @example\r\n * canvas.setCustomBadgeLabel(function(component){\r\n * return component.getName();\r\n * });\r\n */\r\n setCustomBadgeLabel(f) {\r\n c.customBadgeLabel = f;\r\n },\r\n\r\n /**\r\n * Get element position relative to the canvas\r\n * @param {HTMLElement} el\r\n * @returns {Object}\r\n * @private\r\n */\r\n getElementPos(el, opts) {\r\n return CanvasView.getElementPos(el, opts);\r\n },\r\n\r\n /**\r\n * Returns element's offsets like margins and paddings\r\n * @param {HTMLElement} el\r\n * @returns {Object}\r\n * @private\r\n */\r\n getElementOffsets(el) {\r\n return CanvasView.getElementOffsets(el);\r\n },\r\n\r\n /**\r\n * Get canvas rectangular data\r\n * @returns {Object}\r\n */\r\n getRect() {\r\n const { top, left } = CanvasView.getPosition();\r\n return {\r\n ...CanvasView.getCanvasOffset(),\r\n topScroll: top,\r\n leftScroll: left,\r\n };\r\n },\r\n\r\n /**\r\n * This method comes handy when you need to attach something like toolbars\r\n * to elements inside the canvas, dealing with all relative position,\r\n * offsets, etc. and returning as result the object with positions which are\r\n * viewable by the user (when the canvas is scrolled the top edge of the element\r\n * is not viewable by the user anymore so the new top edge is the one of the canvas)\r\n *\r\n * The target should be visible before being passed here as invisible elements\r\n * return empty string as width\r\n * @param {HTMLElement} target The target in this case could be the toolbar\r\n * @param {HTMLElement} element The element on which I'd attach the toolbar\r\n * @param {Object} options Custom options\r\n * @param {Boolean} options.toRight Set to true if you want the toolbar attached to the right\r\n * @return {Object}\r\n * @private\r\n */\r\n getTargetToElementDim(target, element, options = {}) {\r\n var opts = options || {};\r\n var canvasPos = CanvasView.getPosition();\r\n if (!canvasPos) return;\r\n var pos = opts.elPos || CanvasView.getElementPos(element);\r\n var toRight = options.toRight || 0;\r\n var targetHeight = opts.targetHeight || target.offsetHeight;\r\n var targetWidth = opts.targetWidth || target.offsetWidth;\r\n var eventToTrigger = opts.event || null;\r\n\r\n var elTop = pos.top - targetHeight;\r\n var elLeft = pos.left;\r\n elLeft += toRight ? pos.width : 0;\r\n elLeft = toRight ? elLeft - targetWidth : elLeft;\r\n\r\n var leftPos = elLeft < canvasPos.left ? canvasPos.left : elLeft;\r\n var topPos = elTop < canvasPos.top ? canvasPos.top : elTop;\r\n topPos = topPos > pos.top + pos.height ? pos.top + pos.height : topPos;\r\n\r\n var result = {\r\n top: topPos,\r\n left: leftPos,\r\n elementTop: pos.top,\r\n elementLeft: pos.left,\r\n elementWidth: pos.width,\r\n elementHeight: pos.height,\r\n targetWidth: target.offsetWidth,\r\n targetHeight: target.offsetHeight,\r\n canvasTop: canvasPos.top,\r\n canvasLeft: canvasPos.left,\r\n canvasWidth: canvasPos.width,\r\n canvasHeight: canvasPos.height,\r\n };\r\n\r\n // In this way I can catch data and also change the position strategy\r\n if (eventToTrigger && c.em) {\r\n c.em.trigger(eventToTrigger, result);\r\n }\r\n\r\n return result;\r\n },\r\n\r\n canvasRectOffset(el, pos, opts = {}) {\r\n const getFrameElFromDoc = doc => {\r\n const { defaultView } = doc;\r\n return defaultView && defaultView.frameElement;\r\n };\r\n\r\n const rectOff = (el, top = 1, pos) => {\r\n const zoom = this.em.getZoomDecimal();\r\n const side = top ? 'top' : 'left';\r\n const doc = el.ownerDocument;\r\n const { offsetTop = 0, offsetLeft = 0 } = opts.offset ? getFrameElFromDoc(doc) : {};\r\n const { scrollTop = 0, scrollLeft = 0 } = doc.body || {};\r\n const scroll = top ? scrollTop : scrollLeft;\r\n const offset = top ? offsetTop : offsetLeft;\r\n\r\n // if (!top) {\r\n // console.log('LEFT', { posLeft: pos[side], scroll, offset }, el);\r\n // }\r\n\r\n return pos[side] - (scroll - offset) * zoom;\r\n };\r\n\r\n return {\r\n top: rectOff(el, 1, pos),\r\n left: rectOff(el, 0, pos),\r\n };\r\n },\r\n\r\n getTargetToElementFixed(el, elToMove, opts = {}) {\r\n const pos = opts.pos || this.getElementPos(el);\r\n const cvOff = opts.canvasOff || this.canvasRectOffset(el, pos);\r\n const toolbarH = elToMove.offsetHeight || 0;\r\n const toolbarW = elToMove.offsetWidth || 0;\r\n const elRight = pos.left + pos.width;\r\n const cv = this.getCanvasView();\r\n const frCvOff = cv.getPosition();\r\n const frameOffset = cv.getFrameOffset(el);\r\n const { event } = opts;\r\n\r\n let top = -toolbarH;\r\n let left = !isUndefined(opts.left) ? opts.left : pos.width - toolbarW;\r\n left = pos.left < -left ? -pos.left : left;\r\n left = elRight > frCvOff.width ? left - (elRight - frCvOff.width) : left;\r\n\r\n // Scroll with the window if the top edge is reached and the\r\n // element is bigger than the canvas\r\n const fullHeight = pos.height + toolbarH;\r\n const elIsShort = fullHeight < frameOffset.height;\r\n\r\n if (cvOff.top < toolbarH) {\r\n if (elIsShort) {\r\n top = top + fullHeight;\r\n } else {\r\n top = -cvOff.top < pos.height ? -cvOff.top : pos.height;\r\n }\r\n }\r\n\r\n const result = {\r\n top,\r\n left,\r\n canvasOffsetTop: cvOff.top,\r\n canvasOffsetLeft: cvOff.left,\r\n };\r\n\r\n // In this way I can catch data and also change the position strategy\r\n event && this.em.trigger(event, result);\r\n\r\n return result;\r\n },\r\n\r\n /**\r\n * Instead of simply returning e.clientX and e.clientY this function\r\n * calculates also the offset based on the canvas. This is helpful when you\r\n * need to get X and Y position while moving between the editor area and\r\n * canvas area, which is in the iframe\r\n * @param {Event} e\r\n * @return {Object}\r\n * @private\r\n */\r\n getMouseRelativePos(e, options) {\r\n var opts = options || {};\r\n var addTop = 0;\r\n var addLeft = 0;\r\n var subWinOffset = opts.subWinOffset;\r\n var doc = e.target.ownerDocument;\r\n var win = doc.defaultView || doc.parentWindow;\r\n var frame = win.frameElement;\r\n var yOffset = subWinOffset ? win.pageYOffset : 0;\r\n var xOffset = subWinOffset ? win.pageXOffset : 0;\r\n\r\n if (frame) {\r\n var frameRect = frame.getBoundingClientRect();\r\n addTop = frameRect.top || 0;\r\n addLeft = frameRect.left || 0;\r\n }\r\n\r\n return {\r\n y: e.clientY + addTop - yOffset,\r\n x: e.clientX + addLeft - xOffset,\r\n };\r\n },\r\n\r\n /**\r\n * X and Y mouse position relative to the canvas\r\n * @param {Event} ev\r\n * @return {Object}\r\n * @private\r\n */\r\n getMouseRelativeCanvas(ev, opts) {\r\n const zoom = this.getZoomDecimal();\r\n const { top, left } = CanvasView.getPosition(opts);\r\n\r\n return {\r\n y: ev.clientY * zoom + top,\r\n x: ev.clientX * zoom + left,\r\n };\r\n },\r\n\r\n /**\r\n * Check if the canvas is focused\r\n * @returns {Boolean}\r\n */\r\n hasFocus() {\r\n return this.getDocument().hasFocus();\r\n },\r\n\r\n /**\r\n * Detects if some input is focused (input elements, text components, etc.)\r\n * @return {Boolean}\r\n * @private\r\n */\r\n isInputFocused() {\r\n const doc = this.getDocument();\r\n const frame = this.getFrameEl();\r\n const toIgnore = ['body', ...this.getConfig().notTextable];\r\n const docActive = frame && document.activeElement === frame;\r\n const focused = docActive ? doc && doc.activeElement : document.activeElement;\r\n\r\n return focused && !toIgnore.some(item => focused.matches(item));\r\n },\r\n\r\n /**\r\n * Scroll canvas to the element if it's not visible. The scrolling is\r\n * executed via `scrollIntoView` API and options of this method are\r\n * passed to it. For instance, you can scroll smoothly by using\r\n * `{ behavior: 'smooth' }`.\r\n * @param {HTMLElement|[Component]} el\r\n * @param {Object} [opts={}] Options, same as options for `scrollIntoView`\r\n * @param {Boolean} [opts.force=false] Force the scroll, even if the element is already visible\r\n * @example\r\n * const selected = editor.getSelected();\r\n * // Scroll smoothly (this behavior can be polyfilled)\r\n * canvas.scrollTo(selected, { behavior: 'smooth' });\r\n * // Force the scroll, even if the element is alredy visible\r\n * canvas.scrollTo(selected, { force: true });\r\n */\r\n scrollTo(el, opts = {}) {\r\n const elem = getElement(el);\r\n const view = elem && getViewEl(elem);\r\n view && view.scrollIntoView(opts);\r\n },\r\n\r\n /**\r\n * Start autoscroll\r\n * @private\r\n */\r\n startAutoscroll(frame) {\r\n const fr = (frame && frame.view) || this.em.getCurrentFrame();\r\n fr && fr.startAutoscroll();\r\n },\r\n\r\n /**\r\n * Stop autoscroll\r\n * @private\r\n */\r\n stopAutoscroll(frame) {\r\n const fr = (frame && frame.view) || this.em.getCurrentFrame();\r\n fr && fr.stopAutoscroll();\r\n },\r\n\r\n /**\r\n * Set canvas zoom value\r\n * @param {Number} value The zoom value, from 0 to 100\r\n * @returns {this}\r\n * @example\r\n * canvas.setZoom(50); // set zoom to 50%\r\n */\r\n setZoom(value) {\r\n canvas.set('zoom', parseFloat(value));\r\n return this;\r\n },\r\n\r\n /**\r\n * Get canvas zoom value\r\n * @returns {Number}\r\n * @example\r\n * canvas.setZoom(50); // set zoom to 50%\r\n * const zoom = canvas.getZoom(); // 50\r\n */\r\n getZoom() {\r\n return parseFloat(canvas.get('zoom'));\r\n },\r\n\r\n /**\r\n * Set canvas position coordinates\r\n * @param {Number} x Horizontal position\r\n * @param {Number} y Vertical position\r\n * @returns {this}\r\n * @example\r\n * canvas.setCoords(100, 100);\r\n */\r\n setCoords(x, y) {\r\n canvas.set({ x: parseFloat(x), y: parseFloat(y) });\r\n return this;\r\n },\r\n\r\n /**\r\n * Get canvas position coordinates\r\n * @returns {Object} Object containing coordinates\r\n * @example\r\n * canvas.setCoords(100, 100);\r\n * const coords = canvas.getCoords();\r\n * // { x: 100, y: 100 }\r\n */\r\n getCoords() {\r\n const { x, y } = canvas.attributes;\r\n return { x, y };\r\n },\r\n\r\n getZoomDecimal() {\r\n return this.getZoom() / 100;\r\n },\r\n\r\n getZoomMultiplier() {\r\n const zoom = this.getZoomDecimal();\r\n return zoom ? 1 / zoom : 1;\r\n },\r\n\r\n toggleFramesEvents(on) {\r\n const { style } = this.getFramesEl();\r\n style.pointerEvents = on ? '' : 'none';\r\n },\r\n\r\n getFrames() {\r\n return canvas.get('frames').map(item => item);\r\n },\r\n\r\n /**\r\n * Add new frame to the canvas\r\n * @param {Object} props Frame properties\r\n * @returns {[Frame]}\r\n * @example\r\n * canvas.addFrame({\r\n * name: 'Mobile home page',\r\n * x: 100, // Position in canvas\r\n * y: 100,\r\n * width: 500, // Frame dimensions\r\n * height: 600,\r\n * // device: 'DEVICE-ID',\r\n * components: [\r\n * '

Title frame

',\r\n * '

Paragraph frame

',\r\n * ],\r\n * styles: `\r\n * .testh { color: red; }\r\n * .testp { color: blue; }\r\n * `,\r\n * });\r\n */\r\n addFrame(props = {}, opts = {}) {\r\n return canvas.get('frames').add(\r\n {\r\n ...props,\r\n },\r\n {\r\n ...opts,\r\n em: this.em,\r\n }\r\n );\r\n },\r\n\r\n destroy() {\r\n canvas.stopListening();\r\n CanvasView && CanvasView.remove();\r\n [c, canvas, CanvasView].forEach(i => (i = {}));\r\n ['em', 'model', 'droppable'].forEach(i => (this[i] = {}));\r\n },\r\n };\r\n};\r\n","import { result, forEach, isEmpty, isString } from 'underscore';\r\nimport { Model } from '../../common';\r\nimport { isComponent, isObject } from '../../utils/mixins';\r\n\r\nconst keyAutoW = '__aw';\r\nconst keyAutoH = '__ah';\r\n\r\n/**\r\n * @property {Object|String} component Wrapper component definition. You can also pass an HTML string as components of the default wrapper component.\r\n * @property {String} [width=''] Width of the frame. By default, the canvas width will be taken.\r\n * @property {String} [height=''] Height of the frame. By default, the canvas height will be taken.\r\n * @property {Number} [x=0] Horizontal position of the frame in the canvas.\r\n * @property {Number} [y=0] Vertical position of the frame in the canvas.\r\n *\r\n */\r\nexport default class Frame extends Model {\r\n defaults() {\r\n return {\r\n x: 0,\r\n y: 0,\r\n changesCount: 0,\r\n attributes: {},\r\n width: null,\r\n height: null,\r\n head: [],\r\n component: '',\r\n styles: '',\r\n _undo: true,\r\n _undoexc: ['changesCount'],\r\n };\r\n }\r\n\r\n initialize(props, opts = {}) {\r\n const { config } = opts;\r\n const { em } = config;\r\n const { styles, component } = this.attributes;\r\n const domc = em.get('DomComponents');\r\n const conf = domc.getConfig();\r\n const allRules = em.get('CssComposer').getAll();\r\n const idMap = {};\r\n this.em = em;\r\n const modOpts = { em, config: conf, frame: this, idMap };\r\n\r\n if (!isComponent(component)) {\r\n const wrp = isObject(component) ? component : { components: component };\r\n !wrp.type && (wrp.type = 'wrapper');\r\n const Wrapper = domc.getType('wrapper').model;\r\n this.set('component', new Wrapper(wrp, modOpts));\r\n }\r\n\r\n if (!styles) {\r\n this.set('styles', allRules);\r\n } else if (!isObject(styles)) {\r\n // Avoid losing styles on remapped components\r\n const idMapKeys = Object.keys(idMap);\r\n if (idMapKeys.length && Array.isArray(styles)) {\r\n styles.forEach(style => {\r\n const sel = style.selectors;\r\n if (sel && sel.length == 1) {\r\n const sSel = sel[0];\r\n const idSel = sSel.name && sSel.type === 2 && sSel;\r\n if (idSel && idMap[idSel.name]) {\r\n idSel.name = idMap[idSel.name];\r\n } else if (isString(sSel) && sSel[0] === '#') {\r\n const prevId = sSel.substring(1);\r\n if (prevId && idMap[prevId]) {\r\n sel[0] = `#${idMap[prevId]}`;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n allRules.add(styles);\r\n this.set('styles', allRules);\r\n }\r\n\r\n !props.width && this.set(keyAutoW, 1);\r\n !props.height && this.set(keyAutoH, 1);\r\n }\r\n\r\n onRemove() {\r\n this.getComponent().remove({ root: 1 });\r\n }\r\n\r\n changesUp(opt = {}) {\r\n if (opt.temporary || opt.noCount || opt.avoidStore) {\r\n return;\r\n }\r\n this.set('changesCount', this.get('changesCount') + 1);\r\n }\r\n\r\n getComponent() {\r\n return this.get('component');\r\n }\r\n\r\n getStyles() {\r\n return this.get('styles');\r\n }\r\n\r\n disable() {\r\n this.trigger('disable');\r\n }\r\n\r\n remove() {\r\n this.view = 0;\r\n const coll = this.collection;\r\n return coll && coll.remove(this);\r\n }\r\n\r\n getHead() {\r\n const head = this.get('head') || [];\r\n return [...head];\r\n }\r\n\r\n setHead(value) {\r\n return this.set('head', [...value]);\r\n }\r\n\r\n addHeadItem(item) {\r\n const head = this.getHead();\r\n head.push(item);\r\n this.setHead(head);\r\n }\r\n\r\n getHeadByAttr(attr, value, tag) {\r\n const head = this.getHead();\r\n return head.filter(item => item.attributes && item.attributes[attr] == value && (!tag || tag === item.tag))[0];\r\n }\r\n\r\n removeHeadByAttr(attr, value, tag) {\r\n const head = this.getHead();\r\n const item = this.getHeadByAttr(attr, value, tag);\r\n const index = head.indexOf(item);\r\n\r\n if (index >= 0) {\r\n head.splice(index, 1);\r\n this.setHead(head);\r\n }\r\n }\r\n\r\n addLink(href) {\r\n const tag = 'link';\r\n !this.getHeadByAttr('href', href, tag) &&\r\n this.addHeadItem({\r\n tag,\r\n attributes: {\r\n href,\r\n rel: 'stylesheet',\r\n },\r\n });\r\n }\r\n\r\n removeLink(href) {\r\n this.removeHeadByAttr('href', href, 'link');\r\n }\r\n\r\n addScript(src) {\r\n const tag = 'script';\r\n !this.getHeadByAttr('src', src, tag) &&\r\n this.addHeadItem({\r\n tag,\r\n attributes: { src },\r\n });\r\n }\r\n\r\n removeScript(src) {\r\n this.removeHeadByAttr('src', src, 'script');\r\n }\r\n\r\n getPage() {\r\n const coll = this.collection;\r\n return coll && coll.page;\r\n }\r\n\r\n _emitUpdated(data = {}) {\r\n this.em.trigger('frame:updated', { frame: this, ...data });\r\n }\r\n\r\n toJSON(opts = {}) {\r\n const obj = Model.prototype.toJSON.call(this, opts);\r\n const defaults = result(this, 'defaults');\r\n\r\n if (opts.fromUndo) delete obj.component;\r\n delete obj.styles;\r\n delete obj.changesCount;\r\n obj[keyAutoW] && delete obj.width;\r\n obj[keyAutoH] && delete obj.height;\r\n\r\n // Remove private keys\r\n forEach(obj, (value, key) => {\r\n key.indexOf('_') === 0 && delete obj[key];\r\n });\r\n\r\n forEach(defaults, (value, key) => {\r\n if (obj[key] === value) delete obj[key];\r\n });\r\n\r\n forEach(['attributes', 'head'], prop => {\r\n if (isEmpty(obj[prop])) delete obj[prop];\r\n });\r\n\r\n return obj;\r\n }\r\n}\r\n","import { bindAll } from 'underscore';\r\nimport { Collection } from '../../common';\r\nimport Frame from './Frame';\r\n\r\nexport default class Frames extends Collection {\r\n initialize(models, config = {}) {\r\n bindAll(this, 'itemLoaded');\r\n this.config = config;\r\n this.on('reset', this.onReset);\r\n this.on('remove', this.onRemove);\r\n }\r\n\r\n onReset(m, opts = {}) {\r\n const prev = opts.previousModels || [];\r\n prev.map(p => this.onRemove(p));\r\n }\r\n\r\n onRemove(removed) {\r\n removed && removed.onRemove();\r\n }\r\n\r\n itemLoaded() {\r\n this.loadedItems++;\r\n\r\n if (this.loadedItems >= this.itemsToLoad) {\r\n this.trigger('loaded:all');\r\n this.listenToLoadItems(0);\r\n }\r\n }\r\n\r\n listenToLoad() {\r\n this.loadedItems = 0;\r\n this.itemsToLoad = this.length;\r\n this.listenToLoadItems(1);\r\n }\r\n\r\n listenToLoadItems(on) {\r\n this.forEach(item => item[on ? 'on' : 'off']('loaded', this.itemLoaded));\r\n }\r\n\r\n add(m, o = {}) {\r\n const { config } = this;\r\n return Collection.prototype.add.call(this, m, { ...o, config });\r\n }\r\n}\r\n\r\nFrames.prototype.model = Frame;\r\n","export default {\r\n // Style prefix\r\n stylePrefix: 'cm-',\r\n\r\n inlineCss: false\r\n};\r\n","import { Model } from '../../common';\r\n\r\nexport default class HTMLGenerator extends Model {\r\n build(model, opts = {}) {\r\n const htmlOpts = {};\r\n const { em } = opts;\r\n\r\n // Remove unnecessary IDs\r\n if (opts.cleanId && em) {\r\n const rules = em.get('CssComposer').getAll();\r\n const idRules = rules\r\n .toJSON()\r\n .map(rule => {\r\n const sels = rule.selectors;\r\n const sel = sels && sels.length === 1 && sels.models[0];\r\n return sel && sel.isId() && sel.get('name');\r\n })\r\n .filter(i => i);\r\n\r\n htmlOpts.attributes = (mod, attrs) => {\r\n const { id } = attrs;\r\n if (\r\n id &&\r\n id[0] === 'i' && // all autogenerated IDs start with 'i'\r\n !mod.get('script') && // if the component has script, we have to leave the ID\r\n !mod.get('attributes').id && // id is not intentionally in attributes\r\n idRules.indexOf(id) < 0 // we shouldn't have any rule with this ID\r\n ) {\r\n delete attrs.id;\r\n }\r\n return attrs;\r\n };\r\n }\r\n\r\n return model.toHTML(htmlOpts);\r\n }\r\n}\r\n","import { each } from 'underscore';\r\nimport { Model, Collection } from '../../common';\r\n\r\nexport default class JsonGenerator extends Model {\r\n build(model) {\r\n var json = model.toJSON();\r\n this.beforeEach(json);\r\n\r\n each(\r\n json,\r\n function (v, attr) {\r\n var obj = json[attr];\r\n if (obj instanceof Model) {\r\n json[attr] = this.build(obj);\r\n } else if (obj instanceof Collection) {\r\n var coll = obj;\r\n json[attr] = [];\r\n if (coll.length) {\r\n coll.each(function (el, index) {\r\n json[attr][index] = this.build(el);\r\n }, this);\r\n }\r\n }\r\n },\r\n this\r\n );\r\n\r\n return json;\r\n }\r\n\r\n /**\r\n * Execute on each object\r\n * @param {Object} obj\r\n */\r\n beforeEach(obj) {\r\n delete obj.status;\r\n }\r\n}\r\n","import { bindAll } from 'underscore';\r\nimport { Model } from '../../common';\r\nimport { hasWin } from '../../utils/mixins';\r\n\r\nlet CodeMirror;\r\n\r\nif (hasWin()) {\r\n CodeMirror = require('codemirror/lib/codemirror');\r\n require('codemirror/mode/htmlmixed/htmlmixed');\r\n require('codemirror/mode/css/css');\r\n require('codemirror-formatting');\r\n}\r\n\r\nexport default class CodeMirrorEditor extends Model {\r\n defaults() {\r\n return {\r\n input: '',\r\n label: '',\r\n codeName: '',\r\n theme: 'hopscotch',\r\n readOnly: true,\r\n lineNumbers: true,\r\n };\r\n }\r\n\r\n init(el) {\r\n bindAll(this, 'onChange');\r\n this.editor = CodeMirror.fromTextArea(el, {\r\n dragDrop: false,\r\n lineWrapping: true,\r\n mode: this.get('codeName'),\r\n ...this.attributes,\r\n });\r\n this.element = el;\r\n this.editor.on('change', this.onChange);\r\n\r\n return this;\r\n }\r\n\r\n onChange() {\r\n this.trigger('update', this);\r\n }\r\n\r\n getEditor() {\r\n return this.editor;\r\n }\r\n\r\n /**\r\n * The element where the viewer is attached\r\n * @return {HTMLElement}\r\n */\r\n getElement() {\r\n return this.element;\r\n }\r\n\r\n /**\r\n * Set the element which contains the viewer attached.\r\n * Generally, it should be just a textarea, but some editor might require\r\n * a container for it some in that case this method can be used\r\n * @param {HTMLElement} el\r\n * @return {self}\r\n */\r\n setElement(el) {\r\n this.element = el;\r\n return this;\r\n }\r\n\r\n /**\r\n * Refresh the viewer\r\n * @return {self}\r\n */\r\n refresh() {\r\n this.getEditor().refresh();\r\n return this;\r\n }\r\n\r\n /**\r\n * Focus the viewer\r\n * @return {self}\r\n */\r\n focus() {\r\n this.getEditor().focus();\r\n return this;\r\n }\r\n\r\n getContent() {\r\n const ed = this.getEditor();\r\n return ed && ed.getValue();\r\n }\r\n\r\n /** @inheritdoc */\r\n setContent(v, opts = {}) {\r\n const { editor } = this;\r\n if (!editor) return;\r\n editor.setValue(v);\r\n\r\n if (editor.autoFormatRange) {\r\n CodeMirror.commands.selectAll(editor);\r\n editor.autoFormatRange(editor.getCursor(true), editor.getCursor(false));\r\n CodeMirror.commands.goDocStart(editor);\r\n }\r\n\r\n !opts.noRefresh && setTimeout(() => this.refresh());\r\n }\r\n}\r\n\r\nCodeMirrorEditor.prototype.CodeMirror = CodeMirror;\r\n","import { extend } from 'underscore';\r\nimport { Model } from '../../common';\r\n\r\nfunction isFunctionEmpty(fn) {\r\n const content = fn.toString().match(/\\{([\\s\\S]*)\\}/m)[1]; // content between first and last { }\r\n return content.replace(/^\\s*\\/\\/.*$/gm, '').trim().length === 0; // remove comments\r\n}\r\n\r\nexport default class JsGenerator extends Model {\r\n mapModel(model) {\r\n var code = '';\r\n var script = model.get('script-export') || model.get('script');\r\n var type = model.get('type');\r\n var comps = model.get('components');\r\n var id = model.getId();\r\n\r\n if (script) {\r\n // If the component has scripts we need to expose his ID\r\n var attr = model.get('attributes');\r\n attr = extend({}, attr, { id });\r\n model.set('attributes', attr, { silent: 1 });\r\n var scrStr = model.getScriptString(script);\r\n const scrProps = model.get('script-props');\r\n\r\n // If the script was updated, I'll put its code in a separate container\r\n if (model.get('scriptUpdated') && !scrProps) {\r\n this.mapJs[type + '-' + id] = { ids: [id], code: scrStr };\r\n } else {\r\n let props;\r\n const mapType = this.mapJs[type];\r\n\r\n if (scrProps) {\r\n props = model.__getScriptProps();\r\n }\r\n\r\n if (mapType) {\r\n mapType.ids.push(id);\r\n if (props) mapType.props[id] = props;\r\n } else {\r\n const res = { ids: [id], code: scrStr };\r\n if (props) res.props = { [id]: props };\r\n this.mapJs[type] = res;\r\n }\r\n }\r\n }\r\n\r\n comps.each(function (model) {\r\n code += this.mapModel(model);\r\n }, this);\r\n\r\n return code;\r\n }\r\n\r\n build(model) {\r\n this.mapJs = {};\r\n this.mapModel(model);\r\n let code = '';\r\n\r\n for (let type in this.mapJs) {\r\n const mapType = this.mapJs[type];\r\n\r\n if (!mapType.code) {\r\n continue;\r\n }\r\n\r\n if (mapType.props) {\r\n if (isFunctionEmpty(mapType.code)) {\r\n continue;\r\n }\r\n\r\n code += `\r\n var props = ${JSON.stringify(mapType.props)};\r\n var ids = Object.keys(props).map(function(id) { return '#'+id }).join(',');\r\n var els = document.querySelectorAll(ids);\r\n for (var i = 0, len = els.length; i < len; i++) {\r\n var el = els[i];\r\n (${mapType.code}.bind(el))(props[el.id]);\r\n }`;\r\n } else {\r\n // Deprecated\r\n const ids = '#' + mapType.ids.join(', #');\r\n code += `\r\n var items = document.querySelectorAll('${ids}');\r\n for (var i = 0, len = items.length; i < len; i++) {\r\n (function(){\\n${mapType.code}\\n}.bind(items[i]))();\r\n }`;\r\n }\r\n }\r\n\r\n return code;\r\n }\r\n}\r\n","import { View } from '../../common';\r\nimport html from '../../utils/html';\r\n\r\nexport default class EditorView extends View {\r\n template({ pfx, codeName, label }) {\r\n return html`\r\n
\r\n
${label}
\r\n
\r\n
\r\n `;\r\n }\r\n\r\n initialize(o) {\r\n this.config = o.config || {};\r\n this.pfx = this.config.stylePrefix;\r\n }\r\n\r\n render() {\r\n const { model, pfx, $el } = this;\r\n const obj = model.toJSON();\r\n obj.pfx = pfx;\r\n $el.html(this.template(obj));\r\n $el.attr('class', `${pfx}editor-c`);\r\n $el.find(`#${pfx}code`).append(model.get('input'));\r\n return this;\r\n }\r\n}\r\n","/**\r\n * - [addGenerator](#addgenerator)\r\n * - [getGenerator](#getgenerator)\r\n * - [getGenerators](#getgenerators)\r\n * - [addViewer](#addviewer)\r\n * - [getViewer](#getviewer)\r\n * - [getViewers](#getviewers)\r\n * - [updateViewer](#updateviewer)\r\n * - [getCode](#getcode)\r\n *\r\n *\r\n * Before using methods you should get first the module from the editor instance, in this way:\r\n *\r\n * ```js\r\n * var codeManager = editor.CodeManager;\r\n * ```\r\n *\r\n * @module CodeManager\r\n */\r\nimport { isUndefined } from 'underscore';\r\nimport defaults from './config/config';\r\nimport gHtml from './model/HtmlGenerator';\r\nimport gCss from './model/CssGenerator';\r\nimport gJson from './model/JsonGenerator';\r\nimport gJs from './model/JsGenerator';\r\nimport eCM from './model/CodeMirrorEditor';\r\nimport editorView from './view/EditorView';\r\n\r\nexport default () => {\r\n var c = {};\r\n var generators = {},\r\n defGenerators = {},\r\n viewers = {},\r\n defViewers = {};\r\n\r\n const defaultViewer = 'CodeMirror';\r\n\r\n return {\r\n getConfig() {\r\n return c;\r\n },\r\n\r\n config: c,\r\n\r\n EditorView: editorView,\r\n\r\n /**\r\n * Name of the module\r\n * @type {String}\r\n * @private\r\n */\r\n name: 'CodeManager',\r\n\r\n /**\r\n * Initialize module. Automatically called with a new instance of the editor\r\n * @param {Object} config Configurations\r\n */\r\n init(config) {\r\n c = config || {};\r\n for (var name in defaults) {\r\n if (!(name in c)) c[name] = defaults[name];\r\n }\r\n\r\n var ppfx = c.pStylePrefix;\r\n if (ppfx) c.stylePrefix = ppfx + c.stylePrefix;\r\n\r\n defGenerators.html = new gHtml();\r\n defGenerators.css = new gCss();\r\n defGenerators.json = new gJson();\r\n defGenerators.js = new gJs();\r\n defViewers.CodeMirror = new eCM();\r\n this.loadDefaultGenerators().loadDefaultViewers();\r\n\r\n return this;\r\n },\r\n\r\n /**\r\n * Add new code generator to the collection\r\n * @param {string} id Code generator ID\r\n * @param {Object} generator Code generator wrapper\r\n * @param {Function} generator.build Function that builds the code\r\n * @return {this}\r\n * @example\r\n * codeManager.addGenerator('html7',{\r\n * build: function(model){\r\n * return 'myCode';\r\n * }\r\n * });\r\n * */\r\n addGenerator(id, generator) {\r\n generators[id] = generator;\r\n return this;\r\n },\r\n\r\n /**\r\n * Get code generator by id\r\n * @param {string} id Code generator ID\r\n * @return {Object|null}\r\n * @example\r\n * var generator = codeManager.getGenerator('html7');\r\n * generator.build = function(model){\r\n * //extend\r\n * };\r\n * */\r\n getGenerator(id) {\r\n return generators[id] || null;\r\n },\r\n\r\n /**\r\n * Returns all code generators\r\n * @return {Array}\r\n * */\r\n getGenerators() {\r\n return generators;\r\n },\r\n\r\n /**\r\n * Add new code viewer\r\n * @param {string} id Code viewer ID\r\n * @param {Object} viewer Code viewer wrapper\r\n * @param {Function} viewer.init Set element on which viewer will be displayed\r\n * @param {Function} viewer.setContent Set content to the viewer\r\n * @return {this}\r\n * @example\r\n * codeManager.addViewer('ace',{\r\n * init: function(el){\r\n * var ace = require('ace-editor');\r\n * this.editor = ace.edit(el.id);\r\n * },\r\n * setContent: function(code){\r\n * this.editor.setValue(code);\r\n * }\r\n * });\r\n * */\r\n addViewer(id, viewer) {\r\n viewers[id] = viewer;\r\n return this;\r\n },\r\n\r\n /**\r\n * Get code viewer by id\r\n * @param {string} id Code viewer ID\r\n * @return {Object|null}\r\n * @example\r\n * var viewer = codeManager.getViewer('ace');\r\n * */\r\n getViewer(id) {\r\n return viewers[id] || null;\r\n },\r\n\r\n /**\r\n * Returns all code viewers\r\n * @return {Array}\r\n * */\r\n getViewers() {\r\n return viewers;\r\n },\r\n\r\n createViewer(opts = {}) {\r\n const type = !isUndefined(opts.type) ? opts.type : defaultViewer;\r\n const viewer = this.getViewer(type) && this.getViewer(type).clone();\r\n const cont = document.createElement('div');\r\n const txtarea = document.createElement('textarea');\r\n cont.appendChild(txtarea);\r\n viewer.set(opts);\r\n viewer.init(txtarea);\r\n viewer.setElement(cont);\r\n\r\n return viewer;\r\n },\r\n\r\n /**\r\n * Update code viewer content\r\n * @param {Object} viewer Viewer instance\r\n * @param {string} code Code string\r\n * @example\r\n * var AceViewer = codeManager.getViewer('ace');\r\n * // ...\r\n * var viewer = AceViewer.init(el);\r\n * // ...\r\n * codeManager.updateViewer(AceViewer, 'code');\r\n * */\r\n updateViewer(viewer, code) {\r\n viewer.setContent(code);\r\n },\r\n\r\n /**\r\n * Get code from model\r\n * @param {Object} model Any kind of model that will be passed to the build method of generator\r\n * @param {string} genId Code generator id\r\n * @param {Object} [opt] Options\r\n * @return {string}\r\n * @example\r\n * var codeStr = codeManager.getCode(model, 'html');\r\n * */\r\n getCode(model, genId, opt = {}) {\r\n opt.em = c.em;\r\n var generator = this.getGenerator(genId);\r\n return generator ? generator.build(model, opt) : '';\r\n },\r\n\r\n /**\r\n * Load default code generators\r\n * @return {this}\r\n * @private\r\n * */\r\n loadDefaultGenerators() {\r\n for (var id in defGenerators) this.addGenerator(id, defGenerators[id]);\r\n\r\n return this;\r\n },\r\n\r\n /**\r\n * Load default code viewers\r\n * @return {this}\r\n * @private\r\n * */\r\n loadDefaultViewers() {\r\n for (var id in defViewers) this.addViewer(id, defViewers[id]);\r\n\r\n return this;\r\n },\r\n\r\n destroy() {\r\n [c, generators, defGenerators, viewers, defViewers].forEach(\r\n i => (i = {})\r\n );\r\n }\r\n };\r\n};\r\n","import { bindAll, isUndefined, each } from 'underscore';\r\nimport { Model } from '../../common';\r\nimport { hasWin } from '../../utils/mixins';\r\n\r\nconst maxValue = Number.MAX_VALUE;\r\n\r\nexport const getMediaLength = mediaQuery => {\r\n const length = /(-?\\d*\\.?\\d+)\\w{0,}/.exec(mediaQuery);\r\n return !length ? '' : length[0];\r\n};\r\n\r\nexport default class CssGenerator extends Model {\r\n initialize() {\r\n bindAll(this, 'sortRules');\r\n this.compCls = [];\r\n this.ids = [];\r\n }\r\n\r\n /**\r\n * Get CSS from a component\r\n * @param {Model} model\r\n * @return {String}\r\n */\r\n buildFromModel(model, opts = {}) {\r\n let code = '';\r\n const em = this.em;\r\n const avoidInline = em && em.getConfig('avoidInlineStyle');\r\n const style = model.styleToString();\r\n const classes = model.get('classes');\r\n this.ids.push(`#${model.getId()}`);\r\n\r\n // Let's know what classes I've found\r\n classes.each(model => this.compCls.push(model.getFullName()));\r\n\r\n if (!avoidInline && style) {\r\n code = `#${model.getId()}{${style}}`;\r\n }\r\n\r\n const components = model.components();\r\n components.each(model => (code += this.buildFromModel(model, opts)));\r\n return code;\r\n }\r\n\r\n build(model, opts = {}) {\r\n const { json } = opts;\r\n const em = opts.em || '';\r\n const cssc = opts.cssc || (em && em.get('CssComposer'));\r\n this.em = em;\r\n this.compCls = [];\r\n this.ids = [];\r\n this.model = model;\r\n const codeJson = [];\r\n let code = model ? this.buildFromModel(model, opts) : '';\r\n const clearStyles = isUndefined(opts.clearStyles) && em ? em.getConfig('clearStyles') : opts.clearStyles;\r\n\r\n if (cssc) {\r\n let rules = opts.rules || cssc.getAll();\r\n const atRules = {};\r\n const dump = [];\r\n\r\n if (opts.onlyMatched && model && hasWin()) {\r\n rules = this.matchedRules(model, rules);\r\n }\r\n\r\n rules.forEach(rule => {\r\n const atRule = rule.getAtRule();\r\n\r\n if (atRule) {\r\n const mRules = atRules[atRule];\r\n if (mRules) {\r\n mRules.push(rule);\r\n } else {\r\n atRules[atRule] = [rule];\r\n }\r\n return;\r\n }\r\n\r\n const res = this.buildFromRule(rule, dump, opts);\r\n\r\n if (json) {\r\n codeJson.push(res);\r\n } else {\r\n code += res;\r\n }\r\n });\r\n\r\n this.sortMediaObject(atRules).forEach(item => {\r\n let rulesStr = '';\r\n const atRule = item.key;\r\n const mRules = item.value;\r\n\r\n mRules.forEach(rule => {\r\n const ruleStr = this.buildFromRule(rule, dump, opts);\r\n\r\n if (rule.get('singleAtRule')) {\r\n code += `${atRule}{${ruleStr}}`;\r\n } else {\r\n rulesStr += ruleStr;\r\n }\r\n\r\n json && codeJson.push(ruleStr);\r\n });\r\n\r\n if (rulesStr) {\r\n code += `${atRule}{${rulesStr}}`;\r\n }\r\n });\r\n\r\n em && clearStyles && rules.remove && rules.remove(dump);\r\n }\r\n\r\n return json ? codeJson.filter(r => r) : code;\r\n }\r\n\r\n /**\r\n * Get CSS from the rule model\r\n * @param {Model} rule\r\n * @return {string} CSS string\r\n */\r\n buildFromRule(rule, dump, opts = {}) {\r\n let result = '';\r\n const { model } = this;\r\n const selectorStrNoAdd = rule.selectorsToString({ skipAdd: 1 });\r\n const selectorsAdd = rule.get('selectorsAdd');\r\n const singleAtRule = rule.get('singleAtRule');\r\n let found;\r\n\r\n // This will not render a rule if there is no its component\r\n rule.get('selectors').each(selector => {\r\n const name = selector.getFullName();\r\n if (this.compCls.indexOf(name) >= 0 || this.ids.indexOf(name) >= 0 || opts.keepUnusedStyles) {\r\n found = 1;\r\n }\r\n });\r\n\r\n if ((selectorStrNoAdd && found) || selectorsAdd || singleAtRule || !model) {\r\n const block = rule.getDeclaration({ body: 1 });\r\n block && (opts.json ? (result = rule) : (result += block));\r\n } else {\r\n dump.push(rule);\r\n }\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Get matched rules of a component\r\n * @param {Component} component\r\n * @param {Array} rules\r\n * @returns {Array}\r\n */\r\n matchedRules(component, rules) {\r\n const el = component.getEl();\r\n let result = [];\r\n\r\n rules.forEach(rule => {\r\n try {\r\n if (\r\n rule\r\n .selectorsToString()\r\n .split(',')\r\n .some(selector => el.matches(this.__cleanSelector(selector)))\r\n ) {\r\n result.push(rule);\r\n }\r\n } catch (err) {}\r\n });\r\n\r\n component.components().forEach(component => {\r\n result = result.concat(this.matchedRules(component, rules));\r\n });\r\n\r\n // Remove duplicates\r\n result = result.filter((rule, i) => result.indexOf(rule) === i);\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Get the numeric length of the media query string\r\n * @param {String} mediaQuery Media query string\r\n * @return {Number}\r\n */\r\n getQueryLength(mediaQuery) {\r\n const length = /(-?\\d*\\.?\\d+)\\w{0,}/.exec(mediaQuery);\r\n if (!length) return maxValue;\r\n\r\n return parseFloat(length[1]);\r\n }\r\n\r\n /**\r\n * Return a sorted array from media query object\r\n * @param {Object} items\r\n * @return {Array}\r\n */\r\n sortMediaObject(items = {}) {\r\n const itemsArr = [];\r\n each(items, (value, key) => itemsArr.push({ key, value }));\r\n return itemsArr.sort((a, b) => {\r\n const isMobFirst = [a.key, b.key].every(mquery => mquery.indexOf('min-width') !== -1);\r\n const left = isMobFirst ? a.key : b.key;\r\n const right = isMobFirst ? b.key : a.key;\r\n return this.getQueryLength(left) - this.getQueryLength(right);\r\n });\r\n }\r\n\r\n sortRules(a, b) {\r\n const getKey = rule => rule.get('mediaText');\r\n const isMobFirst = [getKey(a), getKey(b)].every(q => q.indexOf('min-width') !== -1);\r\n const left = isMobFirst ? getKey(a) : getKey(b);\r\n const right = isMobFirst ? getKey(b) : getKey(a);\r\n return this.getQueryLength(left) - this.getQueryLength(right);\r\n }\r\n\r\n /**\r\n * Return passed selector without states\r\n * @param {String} selector\r\n * @returns {String}\r\n * @private\r\n */\r\n __cleanSelector(selector) {\r\n return selector\r\n .split(' ')\r\n .map(item => item.split(':')[0])\r\n .join(' ');\r\n }\r\n}\r\n","export default {\r\n stylePrefix: 'com-',\r\n\r\n // Default array of commands\r\n defaults: [],\r\n\r\n // If true, stateful commands (with `run` and `stop` methods) can't be runned multiple times.\r\n // So, if the command is already active, running it again will not execute the `run` method\r\n strict: 1\r\n};\r\n","/**\r\n * You can customize the initial state of the module from the editor initialization, by passing the following [Configuration Object](https://github.com/artf/grapesjs/blob/master/src/commands/config/config.js)\r\n * ```js\r\n * const editor = grapesjs.init({\r\n * commands: {\r\n * // options\r\n * }\r\n * })\r\n * ```\r\n *\r\n * Once the editor is instantiated you can use its API and listen to its events. Before using these methods, you should get the module from the instance.\r\n *\r\n * ```js\r\n * // Listen to events\r\n * editor.on('run', () => { ... });\r\n *\r\n * // Use the API\r\n * const commands = editor.Commands;\r\n * commands.add(...);\r\n * ```\r\n *\r\n ** ## Available Events\r\n * * `run:{commandName}` - Triggered when some command is called to run (eg. editor.runCommand('preview'))\r\n * * `stop:{commandName}` - Triggered when some command is called to stop (eg. editor.stopCommand('preview'))\r\n * * `run:{commandName}:before` - Triggered before the command is called\r\n * * `stop:{commandName}:before` - Triggered before the command is called to stop\r\n * * `abort:{commandName}` - Triggered when the command execution is aborted (`editor.on(`run:preview:before`, opts => opts.abort = 1);`)\r\n * * `run` - Triggered on run of any command. The id and the result are passed as arguments to the callback\r\n * * `stop` - Triggered on stop of any command. The id and the result are passed as arguments to the callback\r\n *\r\n * ## Methods\r\n * * [add](#add)\r\n * * [get](#get)\r\n * * [getAll](#getall)\r\n * * [extend](#extend)\r\n * * [has](#has)\r\n * * [run](#run)\r\n * * [stop](#stop)\r\n * * [isActive](#isactive)\r\n * * [getActive](#getactive)\r\n *\r\n * @module Commands\r\n */\r\n\r\nimport { isFunction, includes } from 'underscore';\r\nimport CommandAbstract from './view/CommandAbstract';\r\nimport defaults from './config/config';\r\nimport { eventDrag } from '../dom_components/model/Component';\r\n\r\nconst commandsDef = [\r\n ['preview', 'Preview', 'preview'],\r\n ['resize', 'Resize', 'resize'],\r\n ['fullscreen', 'Fullscreen', 'fullscreen'],\r\n ['copy', 'CopyComponent'],\r\n ['paste', 'PasteComponent'],\r\n ['canvas-move', 'CanvasMove'],\r\n ['canvas-clear', 'CanvasClear'],\r\n ['open-code', 'ExportTemplate', 'export-template'],\r\n ['open-layers', 'OpenLayers', 'open-layers'],\r\n ['open-styles', 'OpenStyleManager', 'open-sm'],\r\n ['open-traits', 'OpenTraitManager', 'open-tm'],\r\n ['open-blocks', 'OpenBlocks', 'open-blocks'],\r\n ['open-assets', 'OpenAssets', 'open-assets'],\r\n ['component-select', 'SelectComponent', 'select-comp'],\r\n ['component-outline', 'SwitchVisibility', 'sw-visibility'],\r\n ['component-offset', 'ShowOffset', 'show-offset'],\r\n ['component-move', 'MoveComponent', 'move-comp'],\r\n ['component-next', 'ComponentNext'],\r\n ['component-prev', 'ComponentPrev'],\r\n ['component-enter', 'ComponentEnter'],\r\n ['component-exit', 'ComponentExit', 'select-parent'],\r\n ['component-delete', 'ComponentDelete'],\r\n ['component-style-clear', 'ComponentStyleClear'],\r\n ['component-drag', 'ComponentDrag'],\r\n];\r\n\r\nexport default () => {\r\n let em;\r\n let c = {};\r\n const commands = {};\r\n const defaultCommands = {};\r\n const active = {};\r\n\r\n // Need it here as it would be used below\r\n const add = function (id, obj) {\r\n if (isFunction(obj)) obj = { run: obj };\r\n if (!obj.stop) obj.noStop = 1;\r\n delete obj.initialize;\r\n obj.id = id;\r\n commands[id] = CommandAbstract.extend(obj);\r\n return this;\r\n };\r\n\r\n return {\r\n CommandAbstract,\r\n\r\n /**\r\n * Name of the module\r\n * @type {String}\r\n * @private\r\n */\r\n name: 'Commands',\r\n\r\n /**\r\n * Initialize module. Automatically called with a new instance of the editor\r\n * @param {Object} config Configurations\r\n * @private\r\n */\r\n init(config = {}) {\r\n c = {\r\n ...defaults,\r\n ...config,\r\n };\r\n em = c.em;\r\n const ppfx = c.pStylePrefix;\r\n if (ppfx) c.stylePrefix = ppfx + c.stylePrefix;\r\n\r\n // Load commands passed via configuration\r\n Object.keys(c.defaults).forEach(k => {\r\n const obj = c.defaults[k];\r\n if (obj.id) this.add(obj.id, obj);\r\n });\r\n\r\n defaultCommands['tlb-delete'] = {\r\n run(ed) {\r\n return ed.runCommand('core:component-delete');\r\n },\r\n };\r\n\r\n defaultCommands['tlb-clone'] = {\r\n run(ed) {\r\n ed.runCommand('core:copy');\r\n ed.runCommand('core:paste', { action: 'clone-component' });\r\n },\r\n };\r\n\r\n defaultCommands['tlb-move'] = {\r\n run(ed, sender, opts = {}) {\r\n let dragger;\r\n const em = ed.getModel();\r\n const event = opts && opts.event;\r\n const { target } = opts;\r\n const sel = target || ed.getSelected();\r\n const selAll = target ? [target] : [...ed.getSelectedAll()];\r\n const nativeDrag = event && event.type == 'dragstart';\r\n const defComOptions = { preserveSelected: 1 };\r\n const modes = ['absolute', 'translate'];\r\n\r\n if (!sel || !sel.get('draggable')) {\r\n return em.logWarning('The element is not draggable');\r\n }\r\n\r\n const mode = sel.get('dmode') || em.get('dmode');\r\n const hideTlb = () => em.stopDefault(defComOptions);\r\n const altMode = includes(modes, mode);\r\n selAll.forEach(sel => sel.trigger('disable'));\r\n\r\n // Without setTimeout the ghost image disappears\r\n nativeDrag ? setTimeout(hideTlb, 0) : hideTlb();\r\n\r\n const onStart = data => {\r\n em.trigger(`${eventDrag}:start`, data);\r\n };\r\n const onDrag = data => {\r\n em.trigger(eventDrag, data);\r\n };\r\n const onEnd = (e, opts, data) => {\r\n selAll.forEach(sel => sel.set('status', 'selected'));\r\n ed.select(selAll);\r\n sel.emitUpdate();\r\n em.trigger(`${eventDrag}:end`, data);\r\n\r\n // Defer selectComponent in order to prevent canvas \"freeze\" #2692\r\n setTimeout(() => em.runDefault(defComOptions));\r\n\r\n // Dirty patch to prevent parent selection on drop\r\n (altMode || data.cancelled) && em.set('_cmpDrag', 1);\r\n };\r\n\r\n if (altMode) {\r\n // TODO move grabbing func in editor/canvas from the Sorter\r\n dragger = ed.runCommand('core:component-drag', {\r\n guidesInfo: 1,\r\n mode,\r\n target: sel,\r\n onStart,\r\n onDrag,\r\n onEnd,\r\n event,\r\n });\r\n } else {\r\n if (nativeDrag) {\r\n event.dataTransfer.setDragImage(sel.view.el, 0, 0);\r\n //sel.set('status', 'freezed');\r\n }\r\n\r\n const cmdMove = ed.Commands.get('move-comp');\r\n cmdMove.onStart = onStart;\r\n cmdMove.onDrag = onDrag;\r\n cmdMove.onEndMoveFromModel = onEnd;\r\n cmdMove.initSorterFromModels(selAll);\r\n }\r\n\r\n selAll.forEach(sel => sel.set('status', 'freezed-selected'));\r\n },\r\n };\r\n\r\n // Core commands\r\n defaultCommands['core:undo'] = e => e.UndoManager.undo();\r\n defaultCommands['core:redo'] = e => e.UndoManager.redo();\r\n commandsDef.forEach(item => {\r\n const oldCmd = item[2];\r\n const cmd = require(`./view/${item[1]}`).default;\r\n const cmdName = `core:${item[0]}`;\r\n defaultCommands[cmdName] = cmd;\r\n if (oldCmd) {\r\n defaultCommands[oldCmd] = cmd;\r\n // Propogate old commands (can be removed once we stop to call old commands)\r\n ['run', 'stop'].forEach(name => {\r\n em.on(`${name}:${oldCmd}`, (...args) => em.trigger(`${name}:${cmdName}`, ...args));\r\n });\r\n }\r\n });\r\n\r\n if (c.em) c.model = c.em.get('Canvas');\r\n\r\n this.loadDefaultCommands();\r\n\r\n return this;\r\n },\r\n\r\n /**\r\n * Add new command to the collection\r\n * @param\t{string} id Command's ID\r\n * @param\t{Object|Function} command Object representing your command,\r\n * By passing just a function it's intended as a stateless command\r\n * (just like passing an object with only `run` method).\r\n * @return {this}\r\n * @example\r\n * commands.add('myCommand', {\r\n * \trun(editor, sender) {\r\n * \t\talert('Hello world!');\r\n * \t},\r\n * \tstop(editor, sender) {\r\n * \t},\r\n * });\r\n * // As a function\r\n * commands.add('myCommand2', editor => { ... });\r\n * */\r\n add,\r\n\r\n /**\r\n * Get command by ID\r\n * @param\t{string}\tid Command's ID\r\n * @return {Object} Object representing the command\r\n * @example\r\n * var myCommand = commands.get('myCommand');\r\n * myCommand.run();\r\n * */\r\n get(id) {\r\n let el = commands[id];\r\n\r\n if (isFunction(el)) {\r\n el = new el(c);\r\n commands[id] = el;\r\n } else if (!el) {\r\n em.logWarning(`'${id}' command not found`);\r\n }\r\n\r\n return el;\r\n },\r\n\r\n /**\r\n * Extend the command. The command to extend should be defined as an object\r\n * @param\t{string}\tid Command's ID\r\n * @param {Object} Object with the new command functions\r\n * @returns {this}\r\n * @example\r\n * commands.extend('old-command', {\r\n * someInnerFunction() {\r\n * // ...\r\n * }\r\n * });\r\n * */\r\n extend(id, cmd = {}) {\r\n const command = this.get(id);\r\n if (command) {\r\n const cmdObj = {\r\n ...command.constructor.prototype,\r\n ...cmd,\r\n };\r\n this.add(id, cmdObj);\r\n // Extend also old name commands if exist\r\n const oldCmd = commandsDef.filter(cmd => `core:${cmd[0]}` === id && cmd[2])[0];\r\n oldCmd && this.add(oldCmd[2], cmdObj);\r\n }\r\n return this;\r\n },\r\n\r\n /**\r\n * Check if command exists\r\n * @param\t{string}\tid Command's ID\r\n * @return {Boolean}\r\n * */\r\n has(id) {\r\n return !!commands[id];\r\n },\r\n\r\n /**\r\n * Get an object containing all the commands\r\n * @return {Object}\r\n */\r\n getAll() {\r\n return commands;\r\n },\r\n\r\n /**\r\n * Execute the command\r\n * @param {String} id Command ID\r\n * @param {Object} [options={}] Options\r\n * @return {*} The return is defined by the command\r\n * @example\r\n * commands.run('myCommand', { someOption: 1 });\r\n */\r\n run(id, options = {}) {\r\n return this.runCommand(this.get(id), options);\r\n },\r\n\r\n /**\r\n * Stop the command\r\n * @param {String} id Command ID\r\n * @param {Object} [options={}] Options\r\n * @return {*} The return is defined by the command\r\n * @example\r\n * commands.stop('myCommand', { someOption: 1 });\r\n */\r\n stop(id, options = {}) {\r\n return this.stopCommand(this.get(id), options);\r\n },\r\n\r\n /**\r\n * Check if the command is active. You activate commands with `run`\r\n * and disable them with `stop`. If the command was created without `stop`\r\n * method it can't be registered as active\r\n * @param {String} id Command id\r\n * @return {Boolean}\r\n * @example\r\n * const cId = 'some-command';\r\n * commands.run(cId);\r\n * commands.isActive(cId);\r\n * // -> true\r\n * commands.stop(cId);\r\n * commands.isActive(cId);\r\n * // -> false\r\n */\r\n isActive(id) {\r\n return this.getActive().hasOwnProperty(id);\r\n },\r\n\r\n /**\r\n * Get all active commands\r\n * @return {Object}\r\n * @example\r\n * console.log(commands.getActive());\r\n * // -> { someCommand: itsLastReturn, anotherOne: ... };\r\n */\r\n getActive() {\r\n return active;\r\n },\r\n\r\n /**\r\n * Load default commands\r\n * @return {this}\r\n * @private\r\n * */\r\n loadDefaultCommands() {\r\n for (var id in defaultCommands) {\r\n this.add(id, defaultCommands[id]);\r\n }\r\n\r\n return this;\r\n },\r\n\r\n /**\r\n * Run command via its object\r\n * @param {Object} command\r\n * @param {Object} options\r\n * @return {*} Result of the command\r\n * @private\r\n */\r\n runCommand(command, options = {}) {\r\n let result;\r\n\r\n if (command && command.run) {\r\n const id = command.id;\r\n const editor = em.get('Editor');\r\n\r\n if (!this.isActive(id) || options.force || !c.strict) {\r\n result = editor && command.callRun(editor, options);\r\n if (id && command.stop && !command.noStop && !options.abort) {\r\n active[id] = result;\r\n }\r\n }\r\n }\r\n\r\n return result;\r\n },\r\n\r\n /**\r\n * Stop the command\r\n * @param {Object} command\r\n * @param {Object} options\r\n * @return {*} Result of the command\r\n * @private\r\n */\r\n stopCommand(command, options = {}) {\r\n let result;\r\n\r\n if (command && command.run) {\r\n const id = command.id;\r\n const editor = em.get('Editor');\r\n\r\n if (this.isActive(id) || options.force || !c.strict) {\r\n if (id) delete active[id];\r\n result = command.callStop(editor, options);\r\n }\r\n }\r\n\r\n return result;\r\n },\r\n\r\n /**\r\n * Create anonymous Command instance\r\n * @param {Object} command Command object\r\n * @return {Command}\r\n * @private\r\n * */\r\n create(command) {\r\n if (!command.stop) command.noStop = 1;\r\n const cmd = CommandAbstract.extend(command);\r\n return new cmd(c);\r\n },\r\n\r\n destroy() {\r\n [em, c, commands, defaultCommands, active].forEach(i => (i = {}));\r\n },\r\n };\r\n};\r\n","export default {\r\n run(ed) {\r\n ed.DomComponents.clear();\r\n ed.CssComposer.clear();\r\n }\r\n};\r\n","import { bindAll } from 'underscore';\r\nimport { on, off, getKeyChar } from '../../utils/mixins';\r\nimport Dragger from '../../utils/Dragger';\r\n\r\nexport default {\r\n run(ed) {\r\n bindAll(this, 'onKeyUp', 'enableDragger', 'disableDragger');\r\n this.editor = ed;\r\n this.canvasModel = this.canvas.getCanvasView().model;\r\n this.toggleMove(1);\r\n },\r\n stop(ed) {\r\n this.toggleMove();\r\n this.disableDragger();\r\n },\r\n\r\n onKeyUp(ev) {\r\n if (getKeyChar(ev) === ' ') {\r\n this.editor.stopCommand(this.id);\r\n }\r\n },\r\n\r\n enableDragger(ev) {\r\n this.toggleDragger(1, ev);\r\n },\r\n\r\n disableDragger(ev) {\r\n this.toggleDragger(0, ev);\r\n },\r\n\r\n toggleDragger(enable, ev) {\r\n const { canvasModel, em } = this;\r\n let { dragger } = this;\r\n const methodCls = enable ? 'add' : 'remove';\r\n this.getCanvas().classList[methodCls](`${this.ppfx}is__grabbing`);\r\n\r\n if (!dragger) {\r\n dragger = new Dragger({\r\n getPosition() {\r\n return {\r\n x: canvasModel.get('x'),\r\n y: canvasModel.get('y'),\r\n };\r\n },\r\n setPosition({ x, y }) {\r\n canvasModel.set({ x, y });\r\n },\r\n onStart(ev, dragger) {\r\n em.trigger('canvas:move:start', dragger);\r\n },\r\n onDrag(ev, dragger) {\r\n em.trigger('canvas:move', dragger);\r\n },\r\n onEnd(ev, dragger) {\r\n em.trigger('canvas:move:end', dragger);\r\n },\r\n });\r\n this.dragger = dragger;\r\n }\r\n\r\n enable ? dragger.start(ev) : dragger.stop();\r\n },\r\n\r\n toggleMove(enable) {\r\n const { ppfx } = this;\r\n const methodCls = enable ? 'add' : 'remove';\r\n const methodEv = enable ? 'on' : 'off';\r\n const methodsEv = { on, off };\r\n const canvas = this.getCanvas();\r\n const classes = [`${ppfx}is__grab`];\r\n !enable && classes.push(`${ppfx}is__grabbing`);\r\n classes.forEach(cls => canvas.classList[methodCls](cls));\r\n methodsEv[methodEv](document, 'keyup', this.onKeyUp);\r\n methodsEv[methodEv](canvas, 'mousedown', this.enableDragger);\r\n methodsEv[methodEv](document, 'mouseup', this.disableDragger);\r\n },\r\n};\r\n","import { Model } from '../../common';\r\n\r\nexport default class CommandAbstract extends Model {\r\n /**\r\n * Initialize method that can't be removed\r\n * @param {Object} o Options\r\n * @private\r\n * */\r\n initialize(o) {\r\n this.config = o || {};\r\n this.editorModel = this.em = this.config.em || {};\r\n this.pfx = this.config.stylePrefix;\r\n this.ppfx = this.config.pStylePrefix;\r\n this.hoverClass = this.pfx + 'hover';\r\n this.badgeClass = this.pfx + 'badge';\r\n this.plhClass = this.pfx + 'placeholder';\r\n this.freezClass = this.ppfx + 'freezed';\r\n\r\n this.canvas = this.em.get && this.em.get('Canvas');\r\n this.init(this.config);\r\n }\r\n\r\n /**\r\n * On frame scroll callback\r\n * @param {[type]} e [description]\r\n * @return {[type]} [description]\r\n */\r\n onFrameScroll(e) {}\r\n\r\n /**\r\n * Returns canval element\r\n * @return {HTMLElement}\r\n */\r\n getCanvas() {\r\n return this.canvas.getElement();\r\n }\r\n\r\n /**\r\n * Get canvas body element\r\n * @return {HTMLElement}\r\n */\r\n getCanvasBody() {\r\n return this.canvas.getBody();\r\n }\r\n\r\n /**\r\n * Get canvas wrapper element\r\n * @return {HTMLElement}\r\n */\r\n getCanvasTools() {\r\n return this.canvas.getToolsEl();\r\n }\r\n\r\n /**\r\n * Get the offset of the element\r\n * @param {HTMLElement} el\r\n * @return {Object}\r\n */\r\n offset(el) {\r\n var rect = el.getBoundingClientRect();\r\n return {\r\n top: rect.top + el.ownerDocument.body.scrollTop,\r\n left: rect.left + el.ownerDocument.body.scrollLeft,\r\n };\r\n }\r\n\r\n /**\r\n * Callback triggered after initialize\r\n * @param {Object} o Options\r\n * @private\r\n * */\r\n init(o) {}\r\n\r\n /**\r\n * Method that run command\r\n * @param {Object} editor Editor instance\r\n * @param {Object} [options={}] Options\r\n * @private\r\n * */\r\n callRun(editor, options = {}) {\r\n const id = this.id;\r\n editor.trigger(`run:${id}:before`, options);\r\n\r\n if (options && options.abort) {\r\n editor.trigger(`abort:${id}`, options);\r\n return;\r\n }\r\n\r\n const sender = options.sender || editor;\r\n const result = this.run(editor, sender, options);\r\n editor.trigger(`run:${id}`, result, options);\r\n editor.trigger('run', id, result, options);\r\n return result;\r\n }\r\n\r\n /**\r\n * Method that run command\r\n * @param {Object} editor Editor instance\r\n * @param {Object} [options={}] Options\r\n * @private\r\n * */\r\n callStop(editor, options = {}) {\r\n const id = this.id;\r\n const sender = options.sender || editor;\r\n editor.trigger(`stop:${id}:before`, options);\r\n const result = this.stop(editor, sender, options);\r\n editor.trigger(`stop:${id}`, result, options);\r\n editor.trigger('stop', id, result, options);\r\n return result;\r\n }\r\n\r\n /**\r\n * Stop current command\r\n */\r\n stopCommand() {\r\n this.em.get('Commands').stop(this.id);\r\n }\r\n\r\n /**\r\n * Method that run command\r\n * @param {Object} em Editor model\r\n * @param {Object} sender Button sender\r\n * @private\r\n * */\r\n run(em, sender) {}\r\n\r\n /**\r\n * Method that stop command\r\n * @param {Object} em Editor model\r\n * @param {Object} sender Button sender\r\n * @private\r\n * */\r\n stop(em, sender) {}\r\n}\r\n","import { isArray } from 'underscore';\r\n\r\nexport default {\r\n run(ed, s, opts = {}) {\r\n const toSelect = [];\r\n let components = opts.component || ed.getSelectedAll();\r\n components = isArray(components) ? [...components] : [components];\r\n\r\n components.filter(Boolean).forEach(component => {\r\n if (!component.get('removable')) {\r\n toSelect.push(component);\r\n return this.em.logWarning('The element is not removable', {\r\n component,\r\n });\r\n }\r\n component.remove();\r\n });\r\n\r\n ed.select(toSelect);\r\n\r\n return components;\r\n },\r\n};\r\n","import { keys, bindAll, each, isUndefined, debounce } from 'underscore';\r\nimport Dragger from '../../utils/Dragger';\r\n\r\nconst evName = 'dmode';\r\n\r\nexport default {\r\n run(editor, sender, opts = {}) {\r\n bindAll(\r\n this,\r\n 'setPosition',\r\n 'onStart',\r\n 'onDrag',\r\n 'onEnd',\r\n 'getPosition',\r\n 'getGuidesStatic',\r\n 'renderGuide',\r\n 'getGuidesTarget'\r\n );\r\n const { target, event, mode, dragger = {} } = opts;\r\n const el = target.getEl();\r\n const config = {\r\n doc: el.ownerDocument,\r\n onStart: this.onStart,\r\n onEnd: this.onEnd,\r\n onDrag: this.onDrag,\r\n getPosition: this.getPosition,\r\n setPosition: this.setPosition,\r\n guidesStatic: () => this.guidesStatic,\r\n guidesTarget: () => this.guidesTarget,\r\n ...dragger,\r\n };\r\n this.setupGuides();\r\n this.opts = opts;\r\n this.editor = editor;\r\n this.em = editor.getModel();\r\n this.target = target;\r\n this.isTran = mode == 'translate';\r\n this.guidesContainer = this.getGuidesContainer();\r\n this.guidesTarget = this.getGuidesTarget();\r\n this.guidesStatic = this.getGuidesStatic();\r\n let drg = this.dragger;\r\n\r\n if (!drg) {\r\n drg = new Dragger(config);\r\n this.dragger = drg;\r\n } else {\r\n drg.setOptions(config);\r\n }\r\n\r\n event && drg.start(event);\r\n this.toggleDrag(1);\r\n this.em.trigger(`${evName}:start`, this.getEventOpts());\r\n\r\n return drg;\r\n },\r\n\r\n getEventOpts() {\r\n return {\r\n mode: this.opts.mode,\r\n target: this.target,\r\n guidesTarget: this.guidesTarget,\r\n guidesStatic: this.guidesStatic,\r\n };\r\n },\r\n\r\n stop() {\r\n this.toggleDrag();\r\n },\r\n\r\n setupGuides() {\r\n (this.guides || []).forEach(item => {\r\n const { guide } = item;\r\n guide && guide.parentNode.removeChild(guide);\r\n });\r\n this.guides = [];\r\n },\r\n\r\n getGuidesContainer() {\r\n let { guidesEl } = this;\r\n\r\n if (!guidesEl) {\r\n const { editor, em, opts } = this;\r\n const pfx = editor.getConfig('stylePrefix');\r\n const elInfoX = document.createElement('div');\r\n const elInfoY = document.createElement('div');\r\n const guideContent = `
\r\n
\r\n
`;\r\n guidesEl = document.createElement('div');\r\n guidesEl.className = `${pfx}guides`;\r\n elInfoX.className = `${pfx}guide-info ${pfx}guide-info__x`;\r\n elInfoY.className = `${pfx}guide-info ${pfx}guide-info__y`;\r\n elInfoX.innerHTML = guideContent;\r\n elInfoY.innerHTML = guideContent;\r\n guidesEl.appendChild(elInfoX);\r\n guidesEl.appendChild(elInfoY);\r\n editor.Canvas.getGlobalToolsEl().appendChild(guidesEl);\r\n this.guidesEl = guidesEl;\r\n this.elGuideInfoX = elInfoX;\r\n this.elGuideInfoY = elInfoY;\r\n this.elGuideInfoContentX = elInfoX.querySelector(`.${pfx}guide-info__content`);\r\n this.elGuideInfoContentY = elInfoY.querySelector(`.${pfx}guide-info__content`);\r\n\r\n em.on(\r\n 'canvas:update frame:scroll',\r\n debounce(() => {\r\n this.updateGuides();\r\n opts.debug && this.guides.forEach(item => this.renderGuide(item));\r\n }, 200)\r\n );\r\n }\r\n\r\n return guidesEl;\r\n },\r\n\r\n getGuidesStatic() {\r\n let result = [];\r\n const el = this.target.getEl();\r\n const { parentNode = {} } = el;\r\n each(parentNode.children, item => (result = result.concat(el !== item ? this.getElementGuides(item) : [])));\r\n\r\n return result.concat(this.getElementGuides(parentNode));\r\n },\r\n\r\n getGuidesTarget() {\r\n return this.getElementGuides(this.target.getEl());\r\n },\r\n\r\n updateGuides(guides) {\r\n let lastEl, lastPos;\r\n (guides || this.guides).forEach(item => {\r\n const { origin } = item;\r\n const pos = lastEl === origin ? lastPos : this.getElementPos(origin);\r\n lastEl = origin;\r\n lastPos = pos;\r\n each(this.getGuidePosUpdate(item, pos), (val, key) => (item[key] = val));\r\n item.originRect = pos;\r\n });\r\n },\r\n\r\n getGuidePosUpdate(item, rect) {\r\n const result = {};\r\n const { top, height, left, width } = rect;\r\n\r\n switch (item.type) {\r\n case 't':\r\n result.y = top;\r\n break;\r\n case 'b':\r\n result.y = top + height;\r\n break;\r\n case 'l':\r\n result.x = left;\r\n break;\r\n case 'r':\r\n result.x = left + width;\r\n break;\r\n case 'x':\r\n result.x = left + width / 2;\r\n break;\r\n case 'y':\r\n result.y = top + height / 2;\r\n break;\r\n }\r\n\r\n return result;\r\n },\r\n\r\n renderGuide(item = {}) {\r\n const el = item.guide || document.createElement('div');\r\n const un = 'px';\r\n const guideSize = item.active ? 2 : 1;\r\n let numEl = el.children[0];\r\n el.style = `position: absolute; background-color: ${item.active ? 'green' : 'red'};`;\r\n\r\n if (!el.children.length) {\r\n numEl = document.createElement('div');\r\n numEl.style = 'position: absolute; color: red; padding: 5px; top: 0; left: 0;';\r\n el.appendChild(numEl);\r\n }\r\n\r\n if (item.y) {\r\n el.style.width = '100%';\r\n el.style.height = `${guideSize}${un}`;\r\n el.style.top = `${item.y}${un}`;\r\n el.style.left = 0;\r\n } else {\r\n el.style.width = `${guideSize}${un}`;\r\n el.style.height = '100%';\r\n el.style.left = `${item.x}${un}`;\r\n el.style.top = `0${un}`;\r\n }\r\n\r\n !item.guide && this.guidesContainer.appendChild(el);\r\n return el;\r\n },\r\n\r\n getElementPos(el) {\r\n return this.editor.Canvas.getElementPos(el, { noScroll: 1 });\r\n },\r\n\r\n getElementGuides(el) {\r\n const { opts } = this;\r\n const originRect = this.getElementPos(el);\r\n const { top, height, left, width } = originRect;\r\n const guides = [\r\n { type: 't', y: top }, // Top\r\n { type: 'b', y: top + height }, // Bottom\r\n { type: 'l', x: left }, // Left\r\n { type: 'r', x: left + width }, // Right\r\n { type: 'x', x: left + width / 2 }, // Mid x\r\n { type: 'y', y: top + height / 2 }, // Mid y\r\n ].map(item => ({\r\n ...item,\r\n origin: el,\r\n originRect,\r\n guide: opts.debug && this.renderGuide(item),\r\n }));\r\n guides.forEach(item => this.guides.push(item));\r\n\r\n return guides;\r\n },\r\n\r\n getTranslate(transform, axis = 'x') {\r\n let result = 0;\r\n (transform || '').split(' ').forEach(item => {\r\n const itemStr = item.trim();\r\n const fn = `translate${axis.toUpperCase()}(`;\r\n if (itemStr.indexOf(fn) === 0) result = parseFloat(itemStr.replace(fn, ''));\r\n });\r\n return result;\r\n },\r\n\r\n setTranslate(transform, axis, value) {\r\n const fn = `translate${axis.toUpperCase()}(`;\r\n const val = `${fn}${value})`;\r\n let result = (transform || '')\r\n .split(' ')\r\n .map(item => {\r\n const itemStr = item.trim();\r\n if (itemStr.indexOf(fn) === 0) item = val;\r\n return item;\r\n })\r\n .join(' ');\r\n if (result.indexOf(fn) < 0) result += ` ${val}`;\r\n\r\n return result;\r\n },\r\n\r\n getPosition() {\r\n const { target, isTran } = this;\r\n const { left, top, transform } = target.getStyle();\r\n let x = 0;\r\n let y = 0;\r\n\r\n if (isTran) {\r\n x = this.getTranslate(transform);\r\n y = this.getTranslate(transform, 'y');\r\n } else {\r\n x = parseFloat(left || 0);\r\n y = parseFloat(top || 0);\r\n }\r\n\r\n return { x, y };\r\n },\r\n\r\n setPosition({ x, y, end, position, width, height }) {\r\n const { target, isTran, em } = this;\r\n const unit = 'px';\r\n const en = !end ? 1 : ''; // this will trigger the final change\r\n const left = `${x}${unit}`;\r\n const top = `${y}${unit}`;\r\n let styleUp = {};\r\n\r\n if (isTran) {\r\n let transform = target.getStyle()['transform'] || '';\r\n transform = this.setTranslate(transform, 'x', left);\r\n transform = this.setTranslate(transform, 'y', top);\r\n styleUp = { transform, en };\r\n target.addStyle(styleUp, { avoidStore: !end });\r\n } else {\r\n const adds = { position, width, height };\r\n const style = { left, top, en };\r\n keys(adds).forEach(add => {\r\n const prop = adds[add];\r\n if (prop) style[add] = prop;\r\n });\r\n styleUp = style;\r\n target.addStyle(styleUp, { avoidStore: !end });\r\n }\r\n\r\n // Update StyleManager properties\r\n em.getSelected() && keys(styleUp).forEach(i => em.trigger(`update:component:style:${i}`));\r\n },\r\n\r\n _getDragData() {\r\n const { target } = this;\r\n return {\r\n target,\r\n parent: target.parent(),\r\n index: target.index(),\r\n };\r\n },\r\n\r\n onStart(event) {\r\n const { target, editor, isTran, opts } = this;\r\n const { center, onStart } = opts;\r\n const { Canvas } = editor;\r\n const style = target.getStyle();\r\n const position = 'absolute';\r\n const relPos = [position, 'relative'];\r\n onStart && onStart(this._getDragData());\r\n if (isTran) return;\r\n\r\n if (style.position !== position) {\r\n let { left, top, width, height } = Canvas.offset(target.getEl());\r\n let parent = target.parent();\r\n let parentRel;\r\n\r\n // Check for the relative parent\r\n do {\r\n const pStyle = parent.getStyle();\r\n parentRel = relPos.indexOf(pStyle.position) >= 0 ? parent : null;\r\n parent = parent.parent();\r\n } while (parent && !parentRel);\r\n\r\n // Center the target to the pointer position (used in Droppable for Blocks)\r\n if (center) {\r\n const { x, y } = Canvas.getMouseRelativeCanvas(event);\r\n left = x;\r\n top = y;\r\n } else if (parentRel) {\r\n const offsetP = Canvas.offset(parentRel.getEl());\r\n left = left - offsetP.left;\r\n top = top - offsetP.top;\r\n }\r\n\r\n this.setPosition({\r\n x: left,\r\n y: top,\r\n width: `${width}px`,\r\n height: `${height}px`,\r\n position,\r\n });\r\n }\r\n },\r\n\r\n onDrag(...args) {\r\n const { guidesTarget, opts } = this;\r\n const { onDrag } = opts;\r\n this.updateGuides(guidesTarget);\r\n opts.debug && guidesTarget.forEach(item => this.renderGuide(item));\r\n opts.guidesInfo && this.renderGuideInfo(guidesTarget.filter(item => item.active));\r\n onDrag && onDrag(this._getDragData());\r\n },\r\n\r\n onEnd(ev, dragger, opt = {}) {\r\n const { editor, opts, id } = this;\r\n const { onEnd } = opts;\r\n onEnd && onEnd(ev, opt, { event: ev, ...opt, ...this._getDragData() });\r\n editor.stopCommand(id);\r\n this.hideGuidesInfo();\r\n this.em.trigger(`${evName}:end`, this.getEventOpts());\r\n },\r\n\r\n hideGuidesInfo() {\r\n ['X', 'Y'].forEach(item => {\r\n const guide = this[`elGuideInfo${item}`];\r\n if (guide) guide.style.display = 'none';\r\n });\r\n },\r\n\r\n /**\r\n * Render guides with spacing information\r\n */\r\n renderGuideInfo(guides = []) {\r\n const { guidesStatic } = this;\r\n this.hideGuidesInfo();\r\n guides.forEach(item => {\r\n const { origin, x } = item;\r\n const rectOrigin = this.getElementPos(origin);\r\n const axis = isUndefined(x) ? 'y' : 'x';\r\n const isY = axis === 'y';\r\n const origEdge1 = rectOrigin[isY ? 'left' : 'top'];\r\n const origEdge1Raw = rectOrigin.rect[isY ? 'left' : 'top'];\r\n const origEdge2 = isY ? origEdge1 + rectOrigin.width : origEdge1 + rectOrigin.height;\r\n const origEdge2Raw = isY ? origEdge1Raw + rectOrigin.rect.width : origEdge1Raw + rectOrigin.rect.height;\r\n const elGuideInfo = this[`elGuideInfo${axis.toUpperCase()}`];\r\n const elGuideInfoCnt = this[`elGuideInfoContent${axis.toUpperCase()}`];\r\n const guideInfoStyle = elGuideInfo.style;\r\n\r\n // Find the nearest element\r\n const res = guidesStatic\r\n .filter(stat => stat.type === item.type)\r\n .map(stat => {\r\n const { left, width, top, height } = stat.originRect;\r\n const statEdge1 = isY ? left : top;\r\n const statEdge2 = isY ? left + width : top + height;\r\n return {\r\n gap: statEdge2 < origEdge1 ? origEdge1 - statEdge2 : statEdge1 - origEdge2,\r\n guide: stat,\r\n };\r\n })\r\n .filter(item => item.gap > 0)\r\n .sort((a, b) => a.gap - b.gap)\r\n .map(item => item.guide)[0];\r\n\r\n if (res) {\r\n const { left, width, top, height, rect } = res.originRect;\r\n const isEdge1 = isY ? left < rectOrigin.left : top < rectOrigin.top;\r\n const statEdge1 = isY ? left : top;\r\n const statEdge1Raw = isY ? rect.left : rect.top;\r\n const statEdge2 = isY ? left + width : top + height;\r\n const statEdge2Raw = isY ? rect.left + rect.width : rect.top + rect.height;\r\n const posFirst = isY ? item.y : item.x;\r\n const posSecond = isEdge1 ? statEdge2 : origEdge2;\r\n const pos2 = `${posFirst}px`;\r\n const size = isEdge1 ? origEdge1 - statEdge2 : statEdge1 - origEdge2;\r\n const sizeRaw = isEdge1 ? origEdge1Raw - statEdge2Raw : statEdge1Raw - origEdge2Raw;\r\n guideInfoStyle.display = '';\r\n guideInfoStyle[isY ? 'top' : 'left'] = pos2;\r\n guideInfoStyle[isY ? 'left' : 'top'] = `${posSecond}px`;\r\n guideInfoStyle[isY ? 'width' : 'height'] = `${size}px`;\r\n elGuideInfoCnt.innerHTML = `${Math.round(sizeRaw)}px`;\r\n this.em.trigger(`${evName}:active`, {\r\n ...this.getEventOpts(),\r\n guide: item,\r\n guidesStatic,\r\n matched: res,\r\n posFirst,\r\n posSecond,\r\n size,\r\n sizeRaw,\r\n elGuideInfo,\r\n elGuideInfoCnt,\r\n });\r\n }\r\n });\r\n },\r\n\r\n toggleDrag(enable) {\r\n const { ppfx, editor } = this;\r\n const methodCls = enable ? 'add' : 'remove';\r\n const classes = [`${ppfx}is__grabbing`];\r\n const { Canvas } = editor;\r\n const body = Canvas.getBody();\r\n classes.forEach(cls => body.classList[methodCls](cls));\r\n Canvas[enable ? 'startAutoscroll' : 'stopAutoscroll']();\r\n },\r\n};\r\n","export default {\r\n run(ed) {\r\n if (!ed.Canvas.hasFocus()) return;\r\n const toSelect = [];\r\n\r\n ed.getSelectedAll().forEach(component => {\r\n const coll = component.components();\r\n const next = coll && coll.filter(c => c.get('selectable'))[0];\r\n next && toSelect.push(next);\r\n });\r\n\r\n toSelect.length && ed.select(toSelect);\r\n }\r\n};\r\n","export default {\r\n run(ed, snd, opts = {}) {\r\n if (!ed.Canvas.hasFocus() && !opts.force) return;\r\n const toSelect = [];\r\n\r\n ed.getSelectedAll().forEach(component => {\r\n let next = component.parent();\r\n\r\n // Recurse through the parent() chain until a selectable parent is found\r\n while (next && !next.get('selectable')) {\r\n next = next.parent();\r\n }\r\n\r\n next && toSelect.push(next);\r\n });\r\n\r\n toSelect.length && ed.select(toSelect);\r\n }\r\n};\r\n","export default {\r\n run(ed) {\r\n if (!ed.Canvas.hasFocus()) return;\r\n const toSelect = [];\r\n\r\n ed.getSelectedAll().forEach(cmp => {\r\n const parent = cmp.parent();\r\n if (!parent) return;\r\n\r\n const len = parent.components().length;\r\n let incr = 0;\r\n let at = 0;\r\n let next;\r\n\r\n // Get the next selectable component\r\n do {\r\n incr++;\r\n at = cmp.index() + incr;\r\n next = at <= len ? parent.getChildAt(at) : null;\r\n } while (next && !next.get('selectable'));\r\n\r\n toSelect.push(next || cmp);\r\n });\r\n\r\n toSelect.length && ed.select(toSelect);\r\n }\r\n};\r\n","export default {\r\n run(ed) {\r\n if (!ed.Canvas.hasFocus()) return;\r\n const toSelect = [];\r\n\r\n ed.getSelectedAll().forEach(cmp => {\r\n const parent = cmp.parent();\r\n if (!parent) return;\r\n\r\n let incr = 0;\r\n let at = 0;\r\n let next;\r\n\r\n // Get the first selectable component\r\n do {\r\n incr++;\r\n at = cmp.index() - incr;\r\n next = at >= 0 ? parent.getChildAt(at) : null;\r\n } while (next && !next.get('selectable'));\r\n\r\n toSelect.push(next || cmp);\r\n });\r\n\r\n toSelect.length && ed.select(toSelect);\r\n }\r\n};\r\n","import { flatten } from 'underscore';\r\n\r\nexport default {\r\n run(ed, s, opts = {}) {\r\n const { target } = opts;\r\n let toRemove = [];\r\n\r\n if (!target.get('styles')) return toRemove;\r\n\r\n // Find all components in the project, of the target component type\r\n const type = target.get('type');\r\n const wrappers = ed.Pages.getAllWrappers();\r\n const len = flatten(wrappers.map(wrp => wrp.findType(type))).length;\r\n\r\n // Remove component related styles only if there are no more components\r\n // of that type in the project\r\n if (!len) {\r\n const rules = ed.CssComposer.getAll();\r\n toRemove = rules.filter(rule => rule.get('group') === `cmp:${type}`);\r\n rules.remove(toRemove);\r\n }\r\n\r\n return toRemove;\r\n },\r\n};\r\n","export default {\r\n run(ed) {\r\n const em = ed.getModel();\r\n const models = [...ed.getSelectedAll()];\r\n models.length && em.set('clipboard', models);\r\n }\r\n};\r\n","import { extend, bindAll } from 'underscore';\r\nimport Backbone from 'backbone';\r\nimport SelectComponent from './SelectComponent';\r\n\r\nconst $ = Backbone.$;\r\n\r\nexport default extend({}, SelectComponent, {\r\n init(o) {\r\n bindAll(this, 'startDelete', 'stopDelete', 'onDelete');\r\n this.hoverClass = this.pfx + 'hover-delete';\r\n this.badgeClass = this.pfx + 'badge-red';\r\n },\r\n\r\n enable() {\r\n var that = this;\r\n this.$el\r\n .find('*')\r\n .mouseover(this.startDelete)\r\n .mouseout(this.stopDelete)\r\n .click(this.onDelete);\r\n },\r\n\r\n /**\r\n * Start command\r\n * @param {Object} e\r\n * @private\r\n */\r\n startDelete(e) {\r\n e.stopPropagation();\r\n var $this = $(e.target);\r\n\r\n // Show badge if possible\r\n if ($this.data('model').get('removable')) {\r\n $this.addClass(this.hoverClass);\r\n this.attachBadge($this.get(0));\r\n }\r\n },\r\n\r\n /**\r\n * Stop command\r\n * @param {Object} e\r\n * @private\r\n */\r\n stopDelete(e) {\r\n e.stopPropagation();\r\n var $this = $(e.target);\r\n $this.removeClass(this.hoverClass);\r\n\r\n // Hide badge if possible\r\n if (this.badge) this.badge.css({ left: -1000, top: -1000 });\r\n },\r\n\r\n /**\r\n * Delete command\r\n * @param {Object} e\r\n * @private\r\n */\r\n onDelete(e) {\r\n e.stopPropagation();\r\n var $this = $(e.target);\r\n\r\n // Do nothing in case can't remove\r\n if (!$this.data('model').get('removable')) return;\r\n\r\n $this.data('model').destroy();\r\n this.removeBadge();\r\n this.clean();\r\n },\r\n\r\n /**\r\n * Updates badge label\r\n * @param {Object} model\r\n * @private\r\n * */\r\n updateBadgeLabel(model) {\r\n this.badge.html('Remove ' + model.getName());\r\n }\r\n});\r\n","import Backbone from 'backbone';\r\nconst $ = Backbone.$;\r\n\r\nexport default {\r\n run(editor, sender, opts = {}) {\r\n sender && sender.set && sender.set('active', 0);\r\n const config = editor.getConfig();\r\n const modal = editor.Modal;\r\n const pfx = config.stylePrefix;\r\n this.cm = editor.CodeManager || null;\r\n\r\n if (!this.$editors) {\r\n const oHtmlEd = this.buildEditor('htmlmixed', 'hopscotch', 'HTML');\r\n const oCsslEd = this.buildEditor('css', 'hopscotch', 'CSS');\r\n this.htmlEditor = oHtmlEd.el;\r\n this.cssEditor = oCsslEd.el;\r\n const $editors = $(`
`);\r\n $editors.append(oHtmlEd.$el).append(oCsslEd.$el);\r\n this.$editors = $editors;\r\n }\r\n\r\n modal\r\n .open({\r\n title: config.textViewCode,\r\n content: this.$editors\r\n })\r\n .getModel()\r\n .once('change:open', () => editor.stopCommand(this.id));\r\n this.htmlEditor.setContent(editor.getHtml());\r\n this.cssEditor.setContent(editor.getCss());\r\n },\r\n\r\n stop(editor) {\r\n const modal = editor.Modal;\r\n modal && modal.close();\r\n },\r\n\r\n buildEditor(codeName, theme, label) {\r\n const input = document.createElement('textarea');\r\n !this.codeMirror && (this.codeMirror = this.cm.getViewer('CodeMirror'));\r\n\r\n const el = this.codeMirror.clone().set({\r\n label,\r\n codeName,\r\n theme,\r\n input\r\n });\r\n\r\n const $el = new this.cm.EditorView({\r\n model: el,\r\n config: this.cm.getConfig()\r\n }).render().$el;\r\n\r\n el.init(input);\r\n\r\n return { el, $el };\r\n }\r\n};\r\n","import { isElement } from 'underscore';\r\n\r\nexport default {\r\n /**\r\n * Check if fullscreen mode is enabled\r\n * @return {Boolean}\r\n */\r\n isEnabled() {\r\n var d = document;\r\n if (\r\n d.fullscreenElement ||\r\n d.webkitFullscreenElement ||\r\n d.mozFullScreenElement\r\n )\r\n return 1;\r\n else return 0;\r\n },\r\n\r\n /**\r\n * Enable fullscreen mode and return browser prefix\r\n * @param {HTMLElement} el\r\n * @return {string}\r\n */\r\n enable(el) {\r\n var pfx = '';\r\n if (el.requestFullscreen) el.requestFullscreen();\r\n else if (el.webkitRequestFullscreen) {\r\n pfx = 'webkit';\r\n el.webkitRequestFullscreen();\r\n } else if (el.mozRequestFullScreen) {\r\n pfx = 'moz';\r\n el.mozRequestFullScreen();\r\n } else if (el.msRequestFullscreen) el.msRequestFullscreen();\r\n else console.warn('Fullscreen not supported');\r\n return pfx;\r\n },\r\n\r\n /**\r\n * Disable fullscreen mode\r\n */\r\n disable() {\r\n const d = document;\r\n if (this.isEnabled()) {\r\n if (d.exitFullscreen) d.exitFullscreen();\r\n else if (d.webkitExitFullscreen) d.webkitExitFullscreen();\r\n else if (d.mozCancelFullScreen) d.mozCancelFullScreen();\r\n else if (d.msExitFullscreen) d.msExitFullscreen();\r\n }\r\n },\r\n\r\n /**\r\n * Triggered when the state of the fullscreen is changed. Inside detects if\r\n * it's enabled\r\n * @param {strinf} pfx Browser prefix\r\n * @param {Event} e\r\n */\r\n fsChanged(pfx, e) {\r\n var d = document;\r\n var ev = (pfx || '') + 'fullscreenchange';\r\n if (!this.isEnabled()) {\r\n this.stop(null, this.sender);\r\n document.removeEventListener(ev, this.fsChanged);\r\n }\r\n },\r\n\r\n run(editor, sender, opts = {}) {\r\n this.sender = sender;\r\n const { target } = opts;\r\n const targetEl = isElement(target)\r\n ? target\r\n : document.querySelector(target);\r\n const pfx = this.enable(targetEl || editor.getContainer());\r\n this.fsChanged = this.fsChanged.bind(this, pfx);\r\n document.addEventListener(pfx + 'fullscreenchange', this.fsChanged);\r\n editor.trigger('change:canvasOffset');\r\n },\r\n\r\n stop(editor, sender) {\r\n if (sender && sender.set) sender.set('active', false);\r\n this.disable();\r\n if (editor) editor.trigger('change:canvasOffset');\r\n }\r\n};\r\n","import { extend, bindAll } from 'underscore';\r\nimport Backbone from 'backbone';\r\nimport { on, off } from '../../utils/mixins';\r\nimport SelectComponent from './SelectComponent';\r\nimport SelectPosition from './SelectPosition';\r\n\r\nconst $ = Backbone.$;\r\n\r\nexport default extend({}, SelectPosition, SelectComponent, {\r\n init(o) {\r\n SelectComponent.init.apply(this, arguments);\r\n bindAll(this, 'initSorter', 'rollback', 'onEndMove');\r\n this.opt = o;\r\n this.hoverClass = this.ppfx + 'highlighter-warning';\r\n this.badgeClass = this.ppfx + 'badge-warning';\r\n this.noSelClass = this.ppfx + 'no-select';\r\n },\r\n\r\n enable(...args) {\r\n SelectComponent.enable.apply(this, args);\r\n this.getBadgeEl().addClass(this.badgeClass);\r\n this.getHighlighterEl().addClass(this.hoverClass);\r\n var wp = this.$wrapper;\r\n wp.css('cursor', 'move');\r\n wp.on('mousedown', this.initSorter);\r\n\r\n // Avoid strange moving behavior\r\n wp.addClass(this.noSelClass);\r\n },\r\n\r\n /**\r\n * Overwrite for doing nothing\r\n * @private\r\n */\r\n toggleClipboard() {},\r\n\r\n /**\r\n * Delegate sorting\r\n * @param {Event} e\r\n * @private\r\n * */\r\n initSorter(e) {\r\n var el = $(e.target).data('model');\r\n var drag = el.get('draggable');\r\n if (!drag) return;\r\n\r\n // Avoid badge showing on move\r\n this.cacheEl = null;\r\n this.startSelectPosition(e.target, this.frameEl.contentDocument);\r\n this.sorter.draggable = drag;\r\n this.sorter.onEndMove = this.onEndMove.bind(this);\r\n this.stopSelectComponent();\r\n this.$wrapper.off('mousedown', this.initSorter);\r\n on(this.getContentWindow(), 'keydown', this.rollback);\r\n },\r\n\r\n /**\r\n * Init sorter from model\r\n * @param {Object} model\r\n * @private\r\n */\r\n initSorterFromModel(model) {\r\n var drag = model.get('draggable');\r\n if (!drag) return;\r\n // Avoid badge showing on move\r\n this.cacheEl = null;\r\n var el = model.view.el;\r\n this.startSelectPosition(el, this.frameEl.contentDocument);\r\n this.sorter.draggable = drag;\r\n this.sorter.onEndMove = this.onEndMoveFromModel.bind(this);\r\n\r\n /*\r\n this.sorter.setDragHelper(el);\r\n var dragHelper = this.sorter.dragHelper;\r\n dragHelper.className = this.ppfx + 'drag-helper';\r\n dragHelper.innerHTML = '';\r\n dragHelper.backgroundColor = 'white';\r\n */\r\n\r\n this.stopSelectComponent();\r\n on(this.getContentWindow(), 'keydown', this.rollback);\r\n },\r\n\r\n /**\r\n * Init sorter from models\r\n * @param {Object} model\r\n * @private\r\n */\r\n initSorterFromModels(models) {\r\n // TODO: if one only check for `draggable`\r\n // Avoid badge showing on move\r\n this.cacheEl = null;\r\n const lastModel = models[models.length - 1];\r\n const frame = (this.em.get('currentFrame') || {}).model;\r\n const el = lastModel.getEl(frame);\r\n const doc = el.ownerDocument;\r\n this.startSelectPosition(el, doc, { onStart: this.onStart });\r\n this.sorter.draggable = lastModel.get('draggable');\r\n this.sorter.toMove = models;\r\n this.sorter.onMoveClb = this.onDrag;\r\n this.sorter.onEndMove = this.onEndMoveFromModel.bind(this);\r\n this.stopSelectComponent();\r\n on(this.getContentWindow(), 'keydown', this.rollback);\r\n },\r\n\r\n onEndMoveFromModel() {\r\n off(this.getContentWindow(), 'keydown', this.rollback);\r\n },\r\n\r\n /**\r\n * Callback after sorting\r\n * @private\r\n */\r\n onEndMove() {\r\n this.enable();\r\n off(this.getContentWindow(), 'keydown', this.rollback);\r\n },\r\n\r\n /**\r\n * Say what to do after the component was selected (selectComponent)\r\n * @param {Event} e\r\n * @param {Object} Selected element\r\n * @private\r\n * */\r\n onSelect(e, el) {},\r\n\r\n /**\r\n * Used to bring the previous situation before start moving the component\r\n * @param {Event} e\r\n * @param {Boolean} Indicates if rollback in anycase\r\n * @private\r\n * */\r\n rollback(e, force) {\r\n var key = e.which || e.keyCode;\r\n if (key == 27 || force) {\r\n this.sorter.moved = false;\r\n this.sorter.endMove();\r\n }\r\n return;\r\n },\r\n\r\n /**\r\n * Returns badge element\r\n * @return {HTMLElement}\r\n * @private\r\n */\r\n getBadgeEl() {\r\n if (!this.$badge) this.$badge = $(this.getBadge());\r\n return this.$badge;\r\n },\r\n\r\n /**\r\n * Returns highlighter element\r\n * @return {HTMLElement}\r\n * @private\r\n */\r\n getHighlighterEl() {\r\n if (!this.$hl) this.$hl = $(this.canvas.getHighlighter());\r\n return this.$hl;\r\n },\r\n\r\n stop(...args) {\r\n SelectComponent.stop.apply(this, args);\r\n this.getBadgeEl().removeClass(this.badgeClass);\r\n this.getHighlighterEl().removeClass(this.hoverClass);\r\n var wp = this.$wrapper;\r\n wp.css('cursor', '').unbind().removeClass(this.noSelClass);\r\n },\r\n});\r\n","import { isFunction } from 'underscore';\r\nimport { createEl } from '../../utils/dom';\r\n\r\nexport default {\r\n open(content) {\r\n const { editor, title, config, am } = this;\r\n const { custom } = config;\r\n if (isFunction(custom.open)) {\r\n return custom.open(am.__customData());\r\n }\r\n const { Modal } = editor;\r\n Modal.open({ title, content }).onceClose(() => editor.stopCommand(this.id));\r\n },\r\n\r\n close() {\r\n const { custom } = this.config;\r\n if (isFunction(custom.close)) {\r\n return custom.close(this.am.__customData());\r\n }\r\n const { Modal } = this.editor;\r\n Modal && Modal.close();\r\n },\r\n\r\n run(editor, sender, opts = {}) {\r\n const am = editor.AssetManager;\r\n const config = am.getConfig();\r\n const { types = [], accept, select } = opts;\r\n this.title = opts.modalTitle || editor.t('assetManager.modalTitle') || '';\r\n this.editor = editor;\r\n this.config = config;\r\n this.am = am;\r\n\r\n am.setTarget(opts.target);\r\n am.onClick(opts.onClick);\r\n am.onDblClick(opts.onDblClick);\r\n am.onSelect(opts.onSelect);\r\n am.__behaviour({\r\n select,\r\n types,\r\n options: opts\r\n });\r\n\r\n if (config.custom) {\r\n this.rendered = this.rendered || createEl('div');\r\n this.rendered.className = `${config.stylePrefix}custom-wrp`;\r\n am.__behaviour({ container: this.rendered });\r\n am.__trgCustom();\r\n } else {\r\n if (!this.rendered || types) {\r\n let assets = am.getAll().filter(i => i);\r\n\r\n if (types && types.length) {\r\n assets = assets.filter(a => types.indexOf(a.get('type')) !== -1);\r\n }\r\n\r\n am.render(assets);\r\n this.rendered = am.getContainer();\r\n }\r\n\r\n if (accept) {\r\n const uploadEl = this.rendered.querySelector(\r\n `input#${config.stylePrefix}uploadFile`\r\n );\r\n uploadEl && uploadEl.setAttribute('accept', accept);\r\n }\r\n }\r\n\r\n this.open(this.rendered);\r\n return this;\r\n },\r\n\r\n stop(editor) {\r\n this.editor = editor;\r\n this.close(this.rendered);\r\n }\r\n};\r\n","import { isFunction } from 'underscore';\r\nimport { createEl } from '../../utils/dom';\r\n\r\nexport default {\r\n open() {\r\n const { container, editor, bm, config } = this;\r\n const { custom, appendTo } = config;\r\n\r\n if (isFunction(custom.open)) {\r\n return custom.open(bm.__customData());\r\n }\r\n\r\n if (this.firstRender && !appendTo) {\r\n const id = 'views-container';\r\n const pn = editor.Panels;\r\n const panels = pn.getPanel(id) || pn.addPanel({ id });\r\n panels.set('appendContent', container).trigger('change:appendContent');\r\n if (!custom) container.appendChild(bm.render());\r\n }\r\n\r\n if (container) container.style.display = 'block';\r\n },\r\n\r\n close() {\r\n const { container, config } = this;\r\n const { custom } = config;\r\n\r\n if (isFunction(custom.close)) {\r\n return custom.close(this.bm.__customData());\r\n }\r\n\r\n if (container) container.style.display = 'none';\r\n },\r\n\r\n run(editor) {\r\n const bm = editor.Blocks;\r\n this.config = bm.getConfig();\r\n this.firstRender = !this.container;\r\n this.container = this.container || createEl('div');\r\n this.editor = editor;\r\n this.bm = bm;\r\n const { container } = this;\r\n bm.__behaviour({\r\n container\r\n });\r\n\r\n if (this.config.custom) {\r\n bm.__trgCustom();\r\n }\r\n\r\n this.open();\r\n },\r\n\r\n stop() {\r\n this.close();\r\n }\r\n};\r\n","export default {\r\n run(editor) {\r\n const lm = editor.LayerManager;\r\n const pn = editor.Panels;\r\n\r\n if (lm.getConfig().appendTo) return;\r\n\r\n if (!this.layers) {\r\n const id = 'views-container';\r\n const layers = document.createElement('div');\r\n const panels = pn.getPanel(id) || pn.addPanel({ id });\r\n layers.appendChild(lm.render());\r\n panels.set('appendContent', layers).trigger('change:appendContent');\r\n this.layers = layers;\r\n }\r\n\r\n this.layers.style.display = 'block';\r\n },\r\n\r\n stop() {\r\n const { layers } = this;\r\n layers && (layers.style.display = 'none');\r\n }\r\n};\r\n","import Backbone from 'backbone';\r\nconst $ = Backbone.$;\r\n\r\nexport default {\r\n run(editor, sender) {\r\n this.sender = sender;\r\n\r\n if (!this.$cn) {\r\n const config = editor.getConfig();\r\n const panels = editor.Panels;\r\n const trgEvCnt = 'change:appendContent';\r\n this.$cn = $('
');\r\n this.$cn2 = $('
');\r\n this.$cn.append(this.$cn2);\r\n\r\n // Device Manager\r\n const dvm = editor.DeviceManager;\r\n if (dvm && config.showDevices) {\r\n const devicePanel = panels.addPanel({ id: 'devices-c' });\r\n const dvEl = dvm.render();\r\n devicePanel.set('appendContent', dvEl).trigger(trgEvCnt);\r\n }\r\n\r\n // Selector Manager container\r\n const slm = editor.SelectorManager;\r\n this.slm = slm;\r\n const slmConfig = slm.getConfig();\r\n if (slmConfig.custom) {\r\n slm.__trgCustom({ container: this.$cn2.get(0) });\r\n } else if (!slmConfig.appendTo) {\r\n this.$cn2.append(slm.render([]));\r\n }\r\n\r\n // Style Manager\r\n const sm = editor.StyleManager;\r\n this.sm = sm;\r\n const smConfig = sm.getConfig();\r\n const pfx = smConfig.stylePrefix;\r\n this.$header = $(`
${editor.t('styleManager.empty')}
`);\r\n this.$cn.append(this.$header);\r\n\r\n if (smConfig.custom) {\r\n sm.__trgCustom({ container: this.$cn2.get(0) });\r\n } else if (!smConfig.appendTo) {\r\n this.$cn2.append(sm.render());\r\n }\r\n\r\n // Create panel if not exists\r\n const pnCnt = 'views-container';\r\n this.panel = panels.getPanel(pnCnt);\r\n if (!this.panel) this.panel = panels.addPanel({ id: pnCnt });\r\n\r\n // Add all containers to the panel\r\n this.panel.set('appendContent', this.$cn).trigger(trgEvCnt);\r\n\r\n // Toggle Style Manager on target selection\r\n this.em = editor.getModel();\r\n this.listenTo(this.em, sm.events.target, this.toggleSm);\r\n }\r\n\r\n this.toggleSm();\r\n },\r\n\r\n /**\r\n * Toggle Style Manager visibility\r\n * @private\r\n */\r\n toggleSm() {\r\n const { sender, sm } = this;\r\n if ((sender && sender.get && !sender.get('active')) || !sm) return;\r\n\r\n if (sm.getSelected()) {\r\n this.$cn2?.show();\r\n this.$header?.hide();\r\n } else {\r\n this.$cn2?.hide();\r\n this.$header?.show();\r\n }\r\n },\r\n\r\n stop() {\r\n this.$cn2?.hide();\r\n this.$header?.hide();\r\n },\r\n};\r\n","import Backbone from 'backbone';\r\n\r\nconst $ = Backbone.$;\r\n\r\nexport default {\r\n run(editor, sender) {\r\n this.sender = sender;\r\n const em = editor.getModel();\r\n\r\n const config = editor.Config;\r\n const pfx = config.stylePrefix;\r\n const tm = editor.TraitManager;\r\n const confTm = tm.getConfig();\r\n let panelC;\r\n\r\n if (confTm.appendTo) return;\r\n\r\n if (!this.$cn) {\r\n this.$cn = $('
');\r\n this.$cn2 = $('
');\r\n this.$cn.append(this.$cn2);\r\n this.$header = $('
').append(\r\n `
${em.t(\r\n 'traitManager.empty'\r\n )}
`\r\n );\r\n this.$cn.append(this.$header);\r\n this.$cn2.append(\r\n `
${em.t('traitManager.label')}
`\r\n );\r\n this.$cn2.append(tm.render());\r\n var panels = editor.Panels;\r\n\r\n if (!panels.getPanel('views-container'))\r\n panelC = panels.addPanel({ id: 'views-container' });\r\n else panelC = panels.getPanel('views-container');\r\n\r\n panelC\r\n .set('appendContent', this.$cn.get(0))\r\n .trigger('change:appendContent');\r\n\r\n this.target = editor.getModel();\r\n this.listenTo(this.target, 'component:toggled', this.toggleTm);\r\n }\r\n\r\n this.toggleTm();\r\n },\r\n\r\n /**\r\n * Toggle Trait Manager visibility\r\n * @private\r\n */\r\n toggleTm() {\r\n const sender = this.sender;\r\n if (sender && sender.get && !sender.get('active')) return;\r\n\r\n if (this.target.getSelectedAll().length === 1) {\r\n this.$cn2.show();\r\n this.$header.hide();\r\n } else {\r\n this.$cn2.hide();\r\n this.$header.show();\r\n }\r\n },\r\n\r\n stop() {\r\n this.$cn2 && this.$cn2.hide();\r\n this.$header && this.$header.hide();\r\n }\r\n};\r\n","import { isArray, contains } from 'underscore';\r\n\r\nexport default {\r\n run(ed, s, opts = {}) {\r\n const em = ed.getModel();\r\n const clp = em.get('clipboard');\r\n const selected = ed.getSelected();\r\n\r\n if (clp && selected) {\r\n ed.getSelectedAll().forEach(comp => {\r\n if (!comp) return;\r\n\r\n const coll = comp.collection;\r\n if (!coll) return;\r\n\r\n const at = coll.indexOf(comp) + 1;\r\n const addOpts = { at, action: opts.action || 'paste-component' };\r\n const copyable = clp.filter(cop => cop.get('copyable'));\r\n let added;\r\n\r\n if (contains(clp, comp) && comp.get('copyable')) {\r\n added = coll.add(comp.clone(), addOpts);\r\n } else {\r\n added = coll.add(\r\n copyable.map(cop => cop.clone()),\r\n addOpts\r\n );\r\n }\r\n\r\n added = isArray(added) ? added : [added];\r\n added.forEach(add => ed.trigger('component:paste', add));\r\n });\r\n\r\n selected.emitUpdate();\r\n }\r\n },\r\n};\r\n","import { each } from 'underscore';\r\n\r\nconst cmdVis = 'sw-visibility';\r\n\r\nexport default {\r\n getPanels(editor) {\r\n if (!this.panels) {\r\n this.panels = editor.Panels.getPanels();\r\n }\r\n\r\n return this.panels;\r\n },\r\n\r\n preventDrag(opts) {\r\n opts.abort = 1;\r\n },\r\n\r\n tglEffects(on) {\r\n const { em } = this;\r\n const mthEv = on ? 'on' : 'off';\r\n if (em) {\r\n const canvas = em.get('Canvas');\r\n const body = canvas.getBody();\r\n const tlb = canvas.getToolbarEl();\r\n tlb && (tlb.style.display = on ? 'none' : '');\r\n const elP = body.querySelectorAll(`.${this.ppfx}no-pointer`);\r\n each(elP, item => (item.style.pointerEvents = on ? 'all' : ''));\r\n em[mthEv]('run:tlb-move:before', this.preventDrag);\r\n }\r\n },\r\n\r\n run(editor, sender) {\r\n this.sender = sender;\r\n this.selected = [...editor.getSelectedAll()];\r\n editor.select();\r\n\r\n if (!this.shouldRunSwVisibility) {\r\n this.shouldRunSwVisibility = editor.Commands.isActive(cmdVis);\r\n }\r\n\r\n this.shouldRunSwVisibility && editor.stopCommand(cmdVis);\r\n editor.getModel().stopDefault();\r\n\r\n const panels = this.getPanels(editor);\r\n const canvas = editor.Canvas.getElement();\r\n const editorEl = editor.getEl();\r\n const pfx = editor.Config.stylePrefix;\r\n\r\n if (!this.helper) {\r\n const helper = document.createElement('span');\r\n helper.className = `${pfx}off-prv fa fa-eye-slash`;\r\n editorEl.appendChild(helper);\r\n helper.onclick = () => this.stopCommand();\r\n this.helper = helper;\r\n }\r\n\r\n this.helper.style.display = 'inline-block';\r\n\r\n panels.forEach(panel => panel.set('visible', false));\r\n\r\n const canvasS = canvas.style;\r\n canvasS.width = '100%';\r\n canvasS.height = '100%';\r\n canvasS.top = '0';\r\n canvasS.left = '0';\r\n canvasS.padding = '0';\r\n canvasS.margin = '0';\r\n editor.refresh();\r\n this.tglEffects(1);\r\n },\r\n\r\n stop(editor) {\r\n const { sender = {}, selected } = this;\r\n sender.set && sender.set('active', 0);\r\n const panels = this.getPanels(editor);\r\n\r\n if (this.shouldRunSwVisibility) {\r\n editor.runCommand(cmdVis);\r\n this.shouldRunSwVisibility = false;\r\n }\r\n\r\n editor.getModel().runDefault();\r\n panels.forEach(panel => panel.set('visible', true));\r\n\r\n const canvas = editor.Canvas.getElement();\r\n canvas.setAttribute('style', '');\r\n selected && editor.select(selected);\r\n delete this.selected;\r\n\r\n if (this.helper) {\r\n this.helper.style.display = 'none';\r\n }\r\n\r\n editor.refresh();\r\n this.tglEffects();\r\n }\r\n};\r\n","export default {\r\n run(editor, sender, opts) {\r\n const opt = opts || {};\r\n const canvas = editor.Canvas;\r\n const canvasView = canvas.getCanvasView();\r\n const options = {\r\n appendTo: canvas.getResizerEl(),\r\n prefix: editor.getConfig().stylePrefix,\r\n posFetcher: canvasView.getElementPos.bind(canvasView),\r\n mousePosFetcher: canvas.getMouseRelativePos,\r\n ...(opt.options || {}),\r\n };\r\n let { canvasResizer } = this;\r\n\r\n // Create the resizer for the canvas if not yet created\r\n if (!canvasResizer || opt.forceNew) {\r\n this.canvasResizer = editor.Utils.Resizer.init(options);\r\n canvasResizer = this.canvasResizer;\r\n }\r\n\r\n canvasResizer.setOptions(options);\r\n canvasResizer.blur();\r\n canvasResizer.focus(opt.el);\r\n return canvasResizer;\r\n },\r\n\r\n stop() {\r\n this.canvasResizer?.blur();\r\n },\r\n};\r\n","import Backbone from 'backbone';\r\n\r\nexport default Backbone.View.extend({\r\n events() {\r\n return (\r\n this.model.get('events') || {\r\n mousedown: 'handleClick'\r\n }\r\n );\r\n },\r\n\r\n attributes() {\r\n return this.model.get('attributes');\r\n },\r\n\r\n initialize(opts = {}) {\r\n const { config = {} } = opts;\r\n this.em = config.em;\r\n this.editor = config.editor;\r\n },\r\n\r\n handleClick(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n /*\r\n * Since the toolbar lives outside the canvas frame, the event's\r\n * generated on it have clientX and clientY relative to the page.\r\n *\r\n * This causes issues during events like dragging, where they depend\r\n * on the clientX and clientY.\r\n *\r\n * This makes sure the offsets are calculated.\r\n *\r\n * More information on\r\n * https://github.com/artf/grapesjs/issues/2372\r\n * https://github.com/artf/grapesjs/issues/2207\r\n */\r\n\r\n const { editor, em } = this;\r\n const { left, top } = editor.Canvas.getFrameEl().getBoundingClientRect();\r\n\r\n const calibrated = {\r\n ...event,\r\n clientX: event.clientX - left,\r\n clientY: event.clientY - top\r\n };\r\n\r\n em.trigger('toolbar:run:before');\r\n this.execCommand(calibrated);\r\n },\r\n\r\n execCommand(event) {\r\n const opts = { event };\r\n const command = this.model.get('command');\r\n const editor = this.editor;\r\n\r\n if (typeof command === 'function') {\r\n command(editor, null, opts);\r\n }\r\n\r\n if (typeof command === 'string') {\r\n editor.runCommand(command, opts);\r\n }\r\n },\r\n\r\n render() {\r\n const { editor, $el, model } = this;\r\n const id = model.get('id');\r\n const label = model.get('label');\r\n const pfx = editor.getConfig('stylePrefix');\r\n $el.addClass(`${pfx}toolbar-item`);\r\n id && $el.addClass(`${pfx}toolbar-item__${id}`);\r\n label && $el.append(label);\r\n return this;\r\n }\r\n});\r\n","import DomainViews from 'domain_abstract/view/DomainViews';\r\nimport ToolbarButtonView from './ToolbarButtonView';\r\n\r\nexport default class ToolbarView extends DomainViews {\r\n constructor(opts = {}, config) {\r\n super(opts, config);\r\n this.config = { editor: opts.editor || '', em: opts.em };\r\n this.listenTo(this.collection, 'reset', this.render);\r\n }\r\n}\r\n\r\nToolbarView.prototype.itemView = ToolbarButtonView;\r\n","import Backbone from 'backbone';\r\n\r\nexport default Backbone.Model.extend({\r\n defaults: {\r\n command: '',\r\n attributes: {}\r\n }\r\n});\r\n","import Backbone from 'backbone';\r\nimport ToolbarButton from './ToolbarButton';\r\n\r\nexport default Backbone.Collection.extend({ model: ToolbarButton });\r\n","import Backbone from 'backbone';\r\nimport { bindAll, isElement, debounce } from 'underscore';\r\nimport { on, off, getUnitFromValue, isTaggableNode, getViewEl, hasWin } from '../../utils/mixins';\r\nimport { isVisible, isDoc } from '../../utils/dom';\r\nimport ToolbarView from '../../dom_components/view/ToolbarView';\r\nimport Toolbar from '../../dom_components/model/Toolbar';\r\n\r\nconst $ = Backbone.$;\r\nlet showOffsets;\r\n/**\r\n * This command is responsible for show selecting components and displaying\r\n * all the necessary tools around (component toolbar, badge, highlight box, etc.)\r\n *\r\n * The command manages different boxes to display tools and when something in\r\n * the canvas is updated, the command triggers the appropriate method to update\r\n * their position (across multiple frames/components):\r\n * - Global Tools (updateToolsGlobal/updateGlobalPos)\r\n * This box contains tools intended to be displayed only on ONE component per time,\r\n * like Component Toolbar (updated by updateToolbar/updateToolbarPos), this means\r\n * you won't be able to see more than one Component Toolbar (even with multiple\r\n * frames or multiple selected components)\r\n * - Local Tools (updateToolsLocal/updateLocalPos)\r\n * Each frame in the canvas has its own local box, so we're able to see more than\r\n * one active container at the same time. When you put a mouse over an element\r\n * you can see stuff like the highlight box, badge, margins/paddings offsets, etc.\r\n * so those elements are inside the Local Tools box\r\n *\r\n *\r\n */\r\nexport default {\r\n init(o) {\r\n bindAll(this, 'onHover', 'onOut', 'onClick', 'onFrameScroll', 'onFrameUpdated', 'onContainerChange');\r\n },\r\n\r\n enable() {\r\n this.frameOff = this.canvasOff = this.adjScroll = null;\r\n this.startSelectComponent();\r\n showOffsets = 1;\r\n },\r\n\r\n /**\r\n * Start select component event\r\n * @private\r\n * */\r\n startSelectComponent() {\r\n this.toggleSelectComponent(1);\r\n this.em.getSelected() && this.onSelect();\r\n },\r\n\r\n /**\r\n * Stop select component event\r\n * @private\r\n * */\r\n stopSelectComponent() {\r\n this.toggleSelectComponent();\r\n },\r\n\r\n /**\r\n * Toggle select component event\r\n * @private\r\n * */\r\n toggleSelectComponent(enable) {\r\n const { em } = this;\r\n const listenToEl = em.getConfig('listenToEl');\r\n const { parentNode } = em.getContainer();\r\n const method = enable ? 'on' : 'off';\r\n const methods = { on, off };\r\n !listenToEl.length && parentNode && listenToEl.push(parentNode);\r\n const trigger = (win, body) => {\r\n methods[method](body, 'mouseover', this.onHover);\r\n methods[method](body, 'mouseleave', this.onOut);\r\n methods[method](body, 'click touchend', this.onClick);\r\n methods[method](win, 'scroll', this.onFrameScroll, true);\r\n };\r\n methods[method](window, 'resize', this.onFrameUpdated);\r\n methods[method](listenToEl, 'scroll', this.onContainerChange);\r\n em[method]('component:toggled component:update undo redo', this.onSelect, this);\r\n em[method]('change:componentHovered', this.onHovered, this);\r\n em[method](\r\n 'component:resize styleable:change component:input', // component:styleUpdate\r\n this.updateGlobalPos,\r\n this\r\n );\r\n em[method]('component:update:toolbar', this._upToolbar, this);\r\n em[method]('change:canvasOffset', this.updateAttached, this);\r\n em[method]('frame:updated', this.onFrameUpdated, this);\r\n em[method]('canvas:updateTools', this.onFrameUpdated, this);\r\n em.get('Canvas')\r\n .getFrames()\r\n .forEach(frame => {\r\n const { view } = frame;\r\n const win = view?.getWindow();\r\n win && trigger(win, view.getBody());\r\n });\r\n },\r\n\r\n /**\r\n * Hover command\r\n * @param {Object} e\r\n * @private\r\n */\r\n onHover(e) {\r\n e.stopPropagation();\r\n const { em } = this;\r\n const trg = e.target;\r\n const view = getViewEl(trg);\r\n const frameView = view && view._getFrame();\r\n const $el = $(trg);\r\n let model = $el.data('model');\r\n\r\n // Get first valid model\r\n if (!model) {\r\n let parent = $el.parent();\r\n while (!model && parent.length && !isDoc(parent[0])) {\r\n model = parent.data('model');\r\n parent = parent.parent();\r\n }\r\n }\r\n\r\n this.currentDoc = trg.ownerDocument;\r\n em.setHovered(model, { useValid: true });\r\n frameView && em.set('currentFrame', frameView);\r\n },\r\n\r\n onFrameUpdated() {\r\n this.updateLocalPos();\r\n this.updateGlobalPos();\r\n },\r\n\r\n onHovered(em, component) {\r\n let result = {};\r\n\r\n if (component) {\r\n component.views.forEach(view => {\r\n const el = view.el;\r\n const pos = this.getElementPos(el);\r\n result = { el, pos, component, view: getViewEl(el) };\r\n this.updateToolsLocal(result);\r\n\r\n if (el.ownerDocument === this.currentDoc) this.elHovered = result;\r\n });\r\n } else {\r\n this.currentDoc = null;\r\n this.elHovered = 0;\r\n this.updateToolsLocal();\r\n this.canvas.getFrames().forEach(frame => {\r\n const { view } = frame;\r\n const el = view && view.getToolsEl();\r\n el && this.toggleToolsEl(0, 0, { el });\r\n });\r\n }\r\n },\r\n\r\n /**\r\n * Say what to do after the component was selected\r\n * @param {Object} e\r\n * @param {Object} el\r\n * @private\r\n * */\r\n onSelect: debounce(function () {\r\n const { em } = this;\r\n const component = em.getSelected();\r\n const currentFrame = em.get('currentFrame') || {};\r\n const view = component && component.getView(currentFrame.model);\r\n let el = view && view.el;\r\n let result = {};\r\n\r\n if (el && isVisible(el)) {\r\n const pos = this.getElementPos(el);\r\n result = { el, pos, component, view: getViewEl(el) };\r\n }\r\n\r\n this.elSelected = result;\r\n this.updateToolsGlobal();\r\n // This will hide some elements from the select component\r\n this.updateLocalPos(result);\r\n this.initResize(component);\r\n }),\r\n\r\n updateGlobalPos() {\r\n const sel = this.getElSelected();\r\n if (!sel.el) return;\r\n sel.pos = this.getElementPos(sel.el);\r\n this.updateToolsGlobal();\r\n },\r\n\r\n updateLocalPos(data) {\r\n const sel = this.getElHovered();\r\n if (!sel.el) return;\r\n sel.pos = this.getElementPos(sel.el);\r\n this.updateToolsLocal(data);\r\n },\r\n\r\n getElHovered() {\r\n return this.elHovered || {};\r\n },\r\n\r\n getElSelected() {\r\n return this.elSelected || {};\r\n },\r\n\r\n onOut() {\r\n this.em.setHovered(0);\r\n },\r\n\r\n toggleToolsEl(on, view, opts = {}) {\r\n const el = opts.el || this.canvas.getToolsEl(view);\r\n el && (el.style.display = on ? '' : 'none');\r\n return el || {};\r\n },\r\n\r\n /**\r\n * Show element offset viewer\r\n * @param {HTMLElement} el\r\n * @param {Object} pos\r\n */\r\n showElementOffset(el, pos, opts = {}) {\r\n if (!showOffsets) return;\r\n this.editor.runCommand('show-offset', {\r\n el,\r\n elPos: pos,\r\n view: opts.view,\r\n force: 1,\r\n top: 0,\r\n left: 0,\r\n });\r\n },\r\n\r\n /**\r\n * Hide element offset viewer\r\n * @param {HTMLElement} el\r\n * @param {Object} pos\r\n */\r\n hideElementOffset(view) {\r\n this.editor.stopCommand('show-offset', {\r\n view,\r\n });\r\n },\r\n\r\n /**\r\n * Show fixed element offset viewer\r\n * @param {HTMLElement} el\r\n * @param {Object} pos\r\n */\r\n showFixedElementOffset(el, pos) {\r\n this.editor.runCommand('show-offset', {\r\n el,\r\n elPos: pos,\r\n state: 'Fixed',\r\n });\r\n },\r\n\r\n /**\r\n * Hide fixed element offset viewer\r\n * @param {HTMLElement} el\r\n * @param {Object} pos\r\n */\r\n hideFixedElementOffset(el, pos) {\r\n if (this.editor) this.editor.stopCommand('show-offset', { state: 'Fixed' });\r\n },\r\n\r\n /**\r\n * Hide Highlighter element\r\n */\r\n hideHighlighter(view) {\r\n this.canvas.getHighlighter(view).style.opacity = 0;\r\n },\r\n\r\n /**\r\n * On element click\r\n * @param {Event} e\r\n * @private\r\n */\r\n onClick(ev) {\r\n ev.stopPropagation();\r\n ev.preventDefault();\r\n const { em } = this;\r\n if (em.get('_cmpDrag')) return em.set('_cmpDrag');\r\n const $el = $(ev.target);\r\n let model = $el.data('model');\r\n\r\n if (!model) {\r\n let parent = $el.parent();\r\n while (!model && parent.length && !isDoc(parent[0])) {\r\n model = parent.data('model');\r\n parent = parent.parent();\r\n }\r\n }\r\n\r\n if (model) {\r\n // Avoid selection of inner text components during editing\r\n if (em.isEditing() && !model.get('textable') && model.isChildOf('text')) {\r\n return;\r\n }\r\n this.select(model, ev);\r\n }\r\n },\r\n\r\n /**\r\n * Select component\r\n * @param {Component} model\r\n * @param {Event} event\r\n */\r\n select(model, event = {}) {\r\n if (!model) return;\r\n this.editor.select(model, { event, useValid: true });\r\n this.initResize(model);\r\n },\r\n\r\n /**\r\n * Update badge for the component\r\n * @param {Object} Component\r\n * @param {Object} pos Position object\r\n * @private\r\n * */\r\n updateBadge(el, pos, opts = {}) {\r\n const { canvas } = this;\r\n const model = $(el).data('model');\r\n if (!model || !model.get('badgable')) return;\r\n const badge = this.getBadge(opts);\r\n\r\n if (!opts.posOnly) {\r\n const config = this.canvas.getConfig();\r\n const icon = model.getIcon();\r\n const ppfx = config.pStylePrefix || '';\r\n const clsBadge = `${ppfx}badge`;\r\n const customeLabel = config.customBadgeLabel;\r\n const badgeLabel = `${icon ? `
${icon}
` : ''}\r\n
${model.getName()}
`;\r\n badge.innerHTML = customeLabel ? customeLabel(model) : badgeLabel;\r\n }\r\n\r\n const un = 'px';\r\n const bStyle = badge.style;\r\n bStyle.display = 'block';\r\n\r\n const targetToElem = canvas.getTargetToElementFixed(el, badge, {\r\n pos: pos,\r\n });\r\n\r\n const top = targetToElem.top; //opts.topOff - badgeH < 0 ? -opts.topOff : posTop;\r\n const left = opts.leftOff < 0 ? -opts.leftOff : 0;\r\n\r\n bStyle.top = top + un;\r\n bStyle.left = left + un;\r\n },\r\n\r\n /**\r\n * Update highlighter element\r\n * @param {HTMLElement} el\r\n * @param {Object} pos Position object\r\n * @private\r\n */\r\n showHighlighter(view) {\r\n this.canvas.getHighlighter(view).style.opacity = '';\r\n },\r\n\r\n /**\r\n * Init resizer on the element if possible\r\n * @param {HTMLElement|Component} elem\r\n * @private\r\n */\r\n initResize(elem) {\r\n const { em, canvas } = this;\r\n const editor = em ? em.get('Editor') : '';\r\n const config = em ? em.get('Config') : '';\r\n const pfx = config.stylePrefix || '';\r\n const resizeClass = `${pfx}resizing`;\r\n const model = !isElement(elem) && isTaggableNode(elem) ? elem : em.getSelected();\r\n const resizable = model && model.get('resizable');\r\n let options = {};\r\n let modelToStyle;\r\n\r\n var toggleBodyClass = (method, e, opts) => {\r\n const docs = opts.docs;\r\n docs &&\r\n docs.forEach(doc => {\r\n const body = doc.body;\r\n const cls = body.className || '';\r\n body.className = (method == 'add' ? `${cls} ${resizeClass}` : cls.replace(resizeClass, '')).trim();\r\n });\r\n };\r\n\r\n if (editor && resizable) {\r\n const el = isElement(elem) ? elem : model.getEl();\r\n options = {\r\n // Here the resizer is updated with the current element height and width\r\n onStart(e, opts = {}) {\r\n const { el, config, resizer } = opts;\r\n const { keyHeight, keyWidth, currentUnit, keepAutoHeight, keepAutoWidth } = config;\r\n toggleBodyClass('add', e, opts);\r\n modelToStyle = em.get('StyleManager').getModelToStyle(model);\r\n canvas.toggleFramesEvents();\r\n const computedStyle = getComputedStyle(el);\r\n const modelStyle = modelToStyle.getStyle();\r\n\r\n let currentWidth = modelStyle[keyWidth];\r\n config.autoWidth = keepAutoWidth && currentWidth === 'auto';\r\n if (isNaN(parseFloat(currentWidth))) {\r\n currentWidth = computedStyle[keyWidth];\r\n }\r\n\r\n let currentHeight = modelStyle[keyHeight];\r\n config.autoHeight = keepAutoHeight && currentHeight === 'auto';\r\n if (isNaN(parseFloat(currentHeight))) {\r\n currentHeight = computedStyle[keyHeight];\r\n }\r\n\r\n resizer.startDim.w = parseFloat(currentWidth);\r\n resizer.startDim.h = parseFloat(currentHeight);\r\n showOffsets = 0;\r\n\r\n if (currentUnit) {\r\n config.unitHeight = getUnitFromValue(currentHeight);\r\n config.unitWidth = getUnitFromValue(currentWidth);\r\n }\r\n },\r\n\r\n // Update all positioned elements (eg. component toolbar)\r\n onMove() {\r\n editor.trigger('component:resize');\r\n },\r\n\r\n onEnd(e, opts) {\r\n toggleBodyClass('remove', e, opts);\r\n editor.trigger('component:resize');\r\n canvas.toggleFramesEvents(1);\r\n showOffsets = 1;\r\n },\r\n\r\n updateTarget(el, rect, options = {}) {\r\n if (!modelToStyle) {\r\n return;\r\n }\r\n\r\n const { store, selectedHandler, config } = options;\r\n const { keyHeight, keyWidth, autoHeight, autoWidth, unitWidth, unitHeight } = config;\r\n const onlyHeight = ['tc', 'bc'].indexOf(selectedHandler) >= 0;\r\n const onlyWidth = ['cl', 'cr'].indexOf(selectedHandler) >= 0;\r\n const style = {};\r\n const en = !store ? 1 : ''; // this will trigger the final change\r\n\r\n if (!onlyHeight) {\r\n const bodyw = canvas.getBody().offsetWidth;\r\n const width = rect.w < bodyw ? rect.w : bodyw;\r\n style[keyWidth] = autoWidth ? 'auto' : `${width}${unitWidth}`;\r\n }\r\n\r\n if (!onlyWidth) {\r\n style[keyHeight] = autoHeight ? 'auto' : `${rect.h}${unitHeight}`;\r\n }\r\n\r\n modelToStyle.addStyle({ ...style, en }, { avoidStore: !store });\r\n const updateEvent = `update:component:style`;\r\n const eventToListen = `${updateEvent}:${keyHeight} ${updateEvent}:${keyWidth}`;\r\n em && em.trigger(eventToListen, null, null, { noEmit: 1 });\r\n },\r\n };\r\n\r\n if (typeof resizable == 'object') {\r\n options = { ...options, ...resizable, parent: options };\r\n }\r\n\r\n this.resizer = editor.runCommand('resize', { el, options, force: 1 });\r\n } else {\r\n editor.stopCommand('resize');\r\n this.resizer = null;\r\n }\r\n },\r\n\r\n /**\r\n * Update toolbar if the component has one\r\n * @param {Object} mod\r\n */\r\n updateToolbar(mod) {\r\n const { em } = this.config;\r\n const model = mod == em ? em.getSelected() : mod;\r\n const toolbarEl = this.canvas.getToolbarEl();\r\n const toolbarStyle = toolbarEl.style;\r\n const toolbar = model.get('toolbar');\r\n const showToolbar = em.get('Config').showToolbar;\r\n\r\n if (model && showToolbar && toolbar && toolbar.length) {\r\n toolbarStyle.display = '';\r\n if (!this.toolbar) {\r\n toolbarEl.innerHTML = '';\r\n this.toolbar = new Toolbar(toolbar);\r\n const toolbarView = new ToolbarView({\r\n collection: this.toolbar,\r\n editor: this.editor,\r\n em,\r\n });\r\n toolbarEl.appendChild(toolbarView.render().el);\r\n }\r\n\r\n this.toolbar.reset(toolbar);\r\n toolbarStyle.top = '-100px';\r\n toolbarStyle.left = 0;\r\n } else {\r\n toolbarStyle.display = 'none';\r\n }\r\n },\r\n\r\n /**\r\n * Update toolbar positions\r\n * @param {HTMLElement} el\r\n * @param {Object} pos\r\n */\r\n updateToolbarPos(pos) {\r\n const unit = 'px';\r\n const { style } = this.canvas.getToolbarEl();\r\n style.top = `${pos.top}${unit}`;\r\n style.left = `${pos.left}${unit}`;\r\n style.opacity = '';\r\n },\r\n\r\n /**\r\n * Return canvas dimensions and positions\r\n * @return {Object}\r\n */\r\n getCanvasPosition() {\r\n return this.canvas.getCanvasView().getPosition();\r\n },\r\n\r\n /**\r\n * Returns badge element\r\n * @return {HTMLElement}\r\n * @private\r\n */\r\n getBadge(opts = {}) {\r\n return this.canvas.getBadgeEl(opts.view);\r\n },\r\n\r\n /**\r\n * On frame scroll callback\r\n * @private\r\n */\r\n onFrameScroll() {\r\n this.updateTools();\r\n },\r\n\r\n updateTools() {\r\n this.updateLocalPos();\r\n this.updateGlobalPos();\r\n },\r\n\r\n isCompSelected(comp) {\r\n return comp && comp.get('status') === 'selected';\r\n },\r\n\r\n /**\r\n * Update tools visible on hover\r\n * @param {HTMLElement} el\r\n * @param {Object} pos\r\n */\r\n updateToolsLocal(data) {\r\n const { el, pos, view, component } = data || this.getElHovered();\r\n\r\n if (!el) {\r\n this.lastHovered = 0;\r\n return;\r\n }\r\n\r\n const isHoverEn = component.get('hoverable');\r\n const isNewEl = this.lastHovered !== el;\r\n const badgeOpts = isNewEl ? {} : { posOnly: 1 };\r\n\r\n if (isNewEl && isHoverEn) {\r\n this.lastHovered = el;\r\n this.showHighlighter(view);\r\n this.showElementOffset(el, pos, { view });\r\n }\r\n\r\n if (this.isCompSelected(component)) {\r\n this.hideHighlighter(view);\r\n this.hideElementOffset(view);\r\n }\r\n\r\n const unit = 'px';\r\n const toolsEl = this.toggleToolsEl(1, view);\r\n const { style } = toolsEl;\r\n const frameOff = this.canvas.canvasRectOffset(el, pos);\r\n const topOff = frameOff.top;\r\n const leftOff = frameOff.left;\r\n\r\n this.updateBadge(el, pos, {\r\n ...badgeOpts,\r\n view,\r\n topOff,\r\n leftOff,\r\n });\r\n\r\n style.top = topOff + unit;\r\n style.left = leftOff + unit;\r\n style.width = pos.width + unit;\r\n style.height = pos.height + unit;\r\n\r\n this._trgToolUp('local', {\r\n component,\r\n el: toolsEl,\r\n top: topOff,\r\n left: leftOff,\r\n width: pos.width,\r\n height: pos.height,\r\n });\r\n },\r\n\r\n _upToolbar: debounce(function () {\r\n this.updateToolsGlobal({ force: 1 });\r\n }),\r\n\r\n _trgToolUp(type, opts = {}) {\r\n this.em.trigger('canvas:tools:update', {\r\n type,\r\n ...opts,\r\n });\r\n },\r\n\r\n updateToolsGlobal(opts = {}) {\r\n const { el, pos, component } = this.getElSelected();\r\n\r\n if (!el) {\r\n this.toggleToolsEl(); // Hides toolbar\r\n this.lastSelected = 0;\r\n return;\r\n }\r\n\r\n const { canvas } = this;\r\n const isNewEl = this.lastSelected !== el;\r\n\r\n if (isNewEl || opts.force) {\r\n this.lastSelected = el;\r\n this.updateToolbar(component);\r\n }\r\n\r\n const unit = 'px';\r\n const toolsEl = this.toggleToolsEl(1);\r\n const { style } = toolsEl;\r\n const targetToElem = canvas.getTargetToElementFixed(el, canvas.getToolbarEl(), { pos });\r\n const topOff = targetToElem.canvasOffsetTop;\r\n const leftOff = targetToElem.canvasOffsetLeft;\r\n style.top = topOff + unit;\r\n style.left = leftOff + unit;\r\n style.width = pos.width + unit;\r\n style.height = pos.height + unit;\r\n\r\n this.updateToolbarPos({ top: targetToElem.top, left: targetToElem.left });\r\n this._trgToolUp('global', {\r\n component,\r\n el: toolsEl,\r\n top: topOff,\r\n left: leftOff,\r\n width: pos.width,\r\n height: pos.height,\r\n });\r\n },\r\n\r\n /**\r\n * Update attached elements, eg. component toolbar\r\n */\r\n updateAttached: debounce(function () {\r\n this.updateGlobalPos();\r\n }),\r\n\r\n onContainerChange: debounce(function () {\r\n this.em.refreshCanvas();\r\n }, 150),\r\n\r\n /**\r\n * Returns element's data info\r\n * @param {HTMLElement} el\r\n * @return {Object}\r\n * @private\r\n */\r\n getElementPos(el) {\r\n return this.canvas.getCanvasView().getElementPos(el);\r\n },\r\n\r\n /**\r\n * Hide badge\r\n * @private\r\n * */\r\n hideBadge() {\r\n this.getBadge().style.display = 'none';\r\n },\r\n\r\n /**\r\n * Clean previous model from different states\r\n * @param {Component} model\r\n * @private\r\n */\r\n cleanPrevious(model) {\r\n model &&\r\n model.set({\r\n status: '',\r\n state: '',\r\n });\r\n },\r\n\r\n /**\r\n * Returns content window\r\n * @private\r\n */\r\n getContentWindow() {\r\n return this.canvas.getWindow();\r\n },\r\n\r\n run(editor) {\r\n if (!hasWin()) return;\r\n this.editor = editor && editor.get('Editor');\r\n this.enable();\r\n },\r\n\r\n stop(ed, sender, opts = {}) {\r\n if (!hasWin()) return;\r\n const { em, editor } = this;\r\n this.onHovered(); // force to hide toolbar\r\n this.stopSelectComponent();\r\n !opts.preserveSelected && em.setSelected(null);\r\n this.toggleToolsEl();\r\n editor && editor.stopCommand('resize');\r\n },\r\n};\r\n","import Backbone from 'backbone';\r\nconst $ = Backbone.$;\r\n\r\nexport default {\r\n /**\r\n * Start select position event\r\n * @param {HTMLElement} trg\r\n * @private\r\n * */\r\n startSelectPosition(trg, doc, opts = {}) {\r\n this.isPointed = false;\r\n var utils = this.editorModel.get('Utils');\r\n const container = trg.ownerDocument.body;\r\n\r\n if (utils && !this.sorter)\r\n this.sorter = new utils.Sorter({\r\n container,\r\n placer: this.canvas.getPlacerEl(),\r\n containerSel: '*',\r\n itemSel: '*',\r\n pfx: this.ppfx,\r\n direction: 'a',\r\n document: doc,\r\n wmargin: 1,\r\n nested: 1,\r\n em: this.editorModel,\r\n canvasRelative: 1,\r\n scale: () => this.em.getZoomDecimal()\r\n });\r\n\r\n if (opts.onStart) this.sorter.onStart = opts.onStart;\r\n trg && this.sorter.startSort(trg, { container });\r\n },\r\n\r\n /**\r\n * Get frame position\r\n * @return {Object}\r\n * @private\r\n */\r\n getOffsetDim() {\r\n var frameOff = this.offset(this.canvas.getFrameEl());\r\n var canvasOff = this.offset(this.canvas.getElement());\r\n var top = frameOff.top - canvasOff.top;\r\n var left = frameOff.left - canvasOff.left;\r\n return { top, left };\r\n },\r\n\r\n /**\r\n * Stop select position event\r\n * @private\r\n * */\r\n stopSelectPosition() {\r\n this.posTargetCollection = null;\r\n this.posIndex =\r\n this.posMethod == 'after' && this.cDim.length !== 0\r\n ? this.posIndex + 1\r\n : this.posIndex; //Normalize\r\n if (this.sorter) {\r\n this.sorter.moved = 0;\r\n this.sorter.endMove();\r\n }\r\n if (this.cDim) {\r\n this.posIsLastEl =\r\n this.cDim.length !== 0 &&\r\n this.posMethod == 'after' &&\r\n this.posIndex == this.cDim.length;\r\n this.posTargetEl =\r\n this.cDim.length === 0\r\n ? $(this.outsideElem)\r\n : !this.posIsLastEl && this.cDim[this.posIndex]\r\n ? $(this.cDim[this.posIndex][5]).parent()\r\n : $(this.outsideElem);\r\n this.posTargetModel = this.posTargetEl.data('model');\r\n this.posTargetCollection = this.posTargetEl.data('model-comp');\r\n }\r\n },\r\n\r\n /**\r\n * Enabel select position\r\n * @private\r\n */\r\n enable() {\r\n this.startSelectPosition();\r\n },\r\n\r\n /**\r\n * Check if the pointer is near to the float component\r\n * @param {number} index\r\n * @param {string} method\r\n * @param {Array} dims\r\n * @return {Boolean}\r\n * @private\r\n * */\r\n nearFloat(index, method, dims) {\r\n var i = index || 0;\r\n var m = method || 'before';\r\n var len = dims.length;\r\n var isLast = len !== 0 && m == 'after' && i == len;\r\n if (\r\n len !== 0 &&\r\n ((!isLast && !dims[i][4]) ||\r\n (dims[i - 1] && !dims[i - 1][4]) ||\r\n (isLast && !dims[i - 1][4]))\r\n )\r\n return 1;\r\n return 0;\r\n },\r\n\r\n run() {\r\n this.enable();\r\n },\r\n\r\n stop() {\r\n this.stopSelectPosition();\r\n this.$wrapper.css('cursor', '');\r\n this.$wrapper.unbind();\r\n }\r\n};\r\n","import Backbone from 'backbone';\r\nimport { isUndefined } from 'underscore';\r\nimport { isTextNode } from '../../utils/mixins';\r\nconst $ = Backbone.$;\r\n\r\nexport default {\r\n getOffsetMethod(state) {\r\n var method = state || '';\r\n return 'get' + method + 'OffsetViewerEl';\r\n },\r\n\r\n run(editor, sender, opts) {\r\n var opt = opts || {};\r\n var state = opt.state || '';\r\n var config = editor.getConfig();\r\n const zoom = this.em.getZoomDecimal();\r\n const el = opt.el || '';\r\n\r\n if (!config.showOffsets || isTextNode(el) || (!config.showOffsetsSelected && state == 'Fixed')) {\r\n editor.stopCommand(this.id, opts);\r\n return;\r\n }\r\n\r\n var canvas = editor.Canvas;\r\n var pos = { ...(opt.elPos || canvas.getElementPos(el)) };\r\n\r\n if (!isUndefined(opt.top)) {\r\n pos.top = opt.top;\r\n }\r\n if (!isUndefined(opt.left)) {\r\n pos.left = opt.left;\r\n }\r\n\r\n var style = window.getComputedStyle(el);\r\n var ppfx = this.ppfx;\r\n var stateVar = state + 'State';\r\n var method = this.getOffsetMethod(state);\r\n var offsetViewer = canvas[method](opts.view);\r\n offsetViewer.style.opacity = '';\r\n\r\n let marginT = this['marginT' + state];\r\n let marginB = this['marginB' + state];\r\n let marginL = this['marginL' + state];\r\n let marginR = this['marginR' + state];\r\n let padT = this['padT' + state];\r\n let padB = this['padB' + state];\r\n let padL = this['padL' + state];\r\n let padR = this['padR' + state];\r\n\r\n if (offsetViewer.childNodes.length) {\r\n this[stateVar] = '1';\r\n marginT = offsetViewer.querySelector('[data-offset-m-t]');\r\n marginB = offsetViewer.querySelector('[data-offset-m-b]');\r\n marginL = offsetViewer.querySelector('[data-offset-m-l]');\r\n marginR = offsetViewer.querySelector('[data-offset-m-r]');\r\n padT = offsetViewer.querySelector('[data-offset-p-t]');\r\n padB = offsetViewer.querySelector('[data-offset-p-b]');\r\n padL = offsetViewer.querySelector('[data-offset-p-l]');\r\n padR = offsetViewer.querySelector('[data-offset-p-r]');\r\n }\r\n\r\n if (!this[stateVar]) {\r\n var stateLow = state.toLowerCase();\r\n var marginName = stateLow + 'margin-v';\r\n var paddingName = stateLow + 'padding-v';\r\n var marginV = $(`
`).get(0);\r\n var paddingV = $(`
`).get(0);\r\n var marginEls = ppfx + marginName + '-el';\r\n var paddingEls = ppfx + paddingName + '-el';\r\n const fullMargName = `${marginEls} ${ppfx + marginName}`;\r\n const fullPadName = `${paddingEls} ${ppfx + paddingName}`;\r\n marginT = $(`
`).get(0);\r\n marginB = $(`
`).get(0);\r\n marginL = $(`
`).get(0);\r\n marginR = $(`
`).get(0);\r\n padT = $(`
`).get(0);\r\n padB = $(`
`).get(0);\r\n padL = $(`
`).get(0);\r\n padR = $(`
`).get(0);\r\n this['marginT' + state] = marginT;\r\n this['marginB' + state] = marginB;\r\n this['marginL' + state] = marginL;\r\n this['marginR' + state] = marginR;\r\n this['padT' + state] = padT;\r\n this['padB' + state] = padB;\r\n this['padL' + state] = padL;\r\n this['padR' + state] = padR;\r\n marginV.appendChild(marginT);\r\n marginV.appendChild(marginB);\r\n marginV.appendChild(marginL);\r\n marginV.appendChild(marginR);\r\n paddingV.appendChild(padT);\r\n paddingV.appendChild(padB);\r\n paddingV.appendChild(padL);\r\n paddingV.appendChild(padR);\r\n offsetViewer.appendChild(marginV);\r\n offsetViewer.appendChild(paddingV);\r\n this[stateVar] = '1';\r\n }\r\n\r\n var unit = 'px';\r\n var marginLeftSt = parseFloat(style.marginLeft.replace(unit, '')) * zoom;\r\n var marginRightSt = parseFloat(style.marginRight.replace(unit, '')) * zoom;\r\n var marginTopSt = parseFloat(style.marginTop.replace(unit, '')) * zoom;\r\n var marginBottomSt = parseFloat(style.marginBottom.replace(unit, '')) * zoom;\r\n var mtStyle = marginT.style;\r\n var mbStyle = marginB.style;\r\n var mlStyle = marginL.style;\r\n var mrStyle = marginR.style;\r\n var ptStyle = padT.style;\r\n var pbStyle = padB.style;\r\n var plStyle = padL.style;\r\n var prStyle = padR.style;\r\n var posLeft = parseFloat(pos.left);\r\n var widthEl = parseFloat(style.width) * zoom + unit;\r\n\r\n // Margin style\r\n mtStyle.height = marginTopSt + unit;\r\n mtStyle.width = widthEl;\r\n mtStyle.top = pos.top - marginTopSt + unit;\r\n mtStyle.left = posLeft + unit;\r\n\r\n mbStyle.height = marginBottomSt + unit;\r\n mbStyle.width = widthEl;\r\n mbStyle.top = pos.top + pos.height + unit;\r\n mbStyle.left = posLeft + unit;\r\n\r\n var marginSideH = pos.height + marginTopSt + marginBottomSt + unit;\r\n var marginSideT = pos.top - marginTopSt + unit;\r\n mlStyle.height = marginSideH;\r\n mlStyle.width = marginLeftSt + unit;\r\n mlStyle.top = marginSideT;\r\n mlStyle.left = posLeft - marginLeftSt + unit;\r\n\r\n mrStyle.height = marginSideH;\r\n mrStyle.width = marginRightSt + unit;\r\n mrStyle.top = marginSideT;\r\n mrStyle.left = posLeft + pos.width + unit;\r\n\r\n // Padding style\r\n var padTop = parseFloat(style.paddingTop) * zoom;\r\n ptStyle.height = padTop + unit;\r\n // ptStyle.width = widthEl;\r\n // ptStyle.top = pos.top + unit;\r\n // ptStyle.left = posLeft + unit;\r\n\r\n var padBot = parseFloat(style.paddingBottom) * zoom;\r\n pbStyle.height = padBot + unit;\r\n // pbStyle.width = widthEl;\r\n // pbStyle.top = pos.top + pos.height - padBot + unit;\r\n // pbStyle.left = posLeft + unit;\r\n\r\n var padSideH = pos.height - padBot - padTop + unit;\r\n var padSideT = pos.top + padTop + unit;\r\n plStyle.height = padSideH;\r\n plStyle.width = parseFloat(style.paddingLeft) * zoom + unit;\r\n plStyle.top = padSideT;\r\n // plStyle.left = pos.left + unit;\r\n // plStyle.right = 0;\r\n\r\n var padRight = parseFloat(style.paddingRight) * zoom;\r\n prStyle.height = padSideH;\r\n prStyle.width = padRight + unit;\r\n prStyle.top = padSideT;\r\n // prStyle.left = pos.left + pos.width - padRight + unit;\r\n // prStyle.left = 0;\r\n },\r\n\r\n stop(editor, sender, opts = {}) {\r\n var opt = opts || {};\r\n var state = opt.state || '';\r\n var method = this.getOffsetMethod(state);\r\n var canvas = editor.Canvas;\r\n var offsetViewer = canvas[method](opts.view);\r\n offsetViewer.style.opacity = 0;\r\n },\r\n};\r\n","import { bindAll } from 'underscore';\r\n\r\nexport default {\r\n init() {\r\n bindAll(this, '_onFramesChange');\r\n },\r\n\r\n run(ed) {\r\n this.toggleVis(ed);\r\n },\r\n\r\n stop(ed) {\r\n this.toggleVis(ed, 0);\r\n },\r\n\r\n toggleVis(ed, active = 1) {\r\n if (!ed.Commands.isActive('preview')) {\r\n const cv = ed.Canvas;\r\n const mth = active ? 'on' : 'off';\r\n cv.getFrames().forEach(frame => this._upFrame(frame, active));\r\n cv.getModel()[mth]('change:frames', this._onFramesChange);\r\n }\r\n },\r\n\r\n _onFramesChange(m, frames) {\r\n frames.forEach(frame => this._upFrame(frame, 1));\r\n },\r\n\r\n _upFrame(frame, active) {\r\n const method = active ? 'add' : 'remove';\r\n frame.view.getBody().classList[method](`${this.ppfx}dashed`);\r\n }\r\n};\r\n","import { isString, isElement } from 'underscore';\r\nimport { createId, deepMerge, isDef } from 'utils/mixins';\r\n\r\nexport default {\r\n getConfig(name) {\r\n return this.__getConfig(name);\r\n },\r\n\r\n getProjectData(data) {\r\n const obj = {};\r\n const key = this.storageKey;\r\n if (key) {\r\n obj[key] = data || this.getAll();\r\n }\r\n return obj;\r\n },\r\n\r\n loadProjectData(data = {}, { all, onResult, reset } = {}) {\r\n const key = this.storageKey;\r\n const opts = { action: 'load' };\r\n const coll = all || this.getAll();\r\n let result = data[key];\r\n\r\n if (typeof result == 'string') {\r\n try {\r\n result = JSON.parse(result);\r\n } catch (err) {\r\n this.__logWarn('Data parsing failed', { input: result });\r\n }\r\n }\r\n\r\n reset && result && coll.reset(null, opts);\r\n\r\n if (onResult) {\r\n result && onResult(result, opts);\r\n } else if (result && isDef(result.length)) {\r\n coll.reset(result, opts);\r\n }\r\n\r\n return result;\r\n },\r\n\r\n clear(opts = {}) {\r\n const { all } = this;\r\n all && all.reset(null, opts);\r\n return this;\r\n },\r\n\r\n __getConfig(name) {\r\n const res = this.config || {};\r\n return name ? res[name] : res;\r\n },\r\n\r\n getAll(opts = {}) {\r\n return this.all ? (opts.array ? [...this.all.models] : this.all) : [];\r\n },\r\n\r\n getAllMap() {\r\n return this.getAll().reduce((acc, i) => {\r\n acc[i.get(i.idAttribute)] = i;\r\n return acc;\r\n }, {});\r\n },\r\n\r\n __initConfig(def = {}, conf = {}) {\r\n this.config = deepMerge(def, conf);\r\n this.em = this.config.em;\r\n this.cls = [];\r\n },\r\n\r\n __initListen(opts = {}) {\r\n const { all, em, events } = this;\r\n all &&\r\n em &&\r\n all\r\n .on('add', (m, c, o) => em.trigger(events.add, m, o))\r\n .on('remove', (m, c, o) => em.trigger(events.remove, m, o))\r\n .on('change', (p, c) => em.trigger(events.update, p, p.changedAttributes(), c))\r\n .on('all', this.__catchAllEvent, this);\r\n // Register collections\r\n this.cls = [all].concat(opts.collections || []);\r\n // Propagate events\r\n (opts.propagate || []).forEach(({ entity, event }) => {\r\n entity.on('all', (ev, model, coll, opts) => {\r\n const options = opts || coll;\r\n const opt = { event: ev, ...options };\r\n [em, all].map(md => md.trigger(event, model, opt));\r\n });\r\n });\r\n },\r\n\r\n __remove(model, opts = {}) {\r\n const { em } = this;\r\n const md = isString(model) ? this.get(model) : model;\r\n const rm = () => {\r\n md && this.all.remove(md, opts);\r\n return md;\r\n };\r\n !opts.silent && em && em.trigger(this.events.removeBefore, md, rm, opts);\r\n return !opts.abort && rm();\r\n },\r\n\r\n __catchAllEvent(event, model, coll, opts) {\r\n const { em, events } = this;\r\n const options = opts || coll;\r\n em && events.all && em.trigger(events.all, { event, model, options });\r\n this.__onAllEvent();\r\n },\r\n\r\n __appendTo() {\r\n const elTo = this.getConfig().appendTo;\r\n\r\n if (elTo) {\r\n const el = isElement(elTo) ? elTo : document.querySelector(elTo);\r\n if (!el) return this.__logWarn('\"appendTo\" element not found');\r\n el.appendChild(this.render());\r\n }\r\n },\r\n\r\n __onAllEvent() {},\r\n\r\n __logWarn(str, opts) {\r\n this.em.logWarning(`[${this.name}]: ${str}`, opts);\r\n },\r\n\r\n _createId(len = 16) {\r\n const all = this.getAll();\r\n const ln = all.length + len;\r\n const allMap = this.getAllMap();\r\n let id;\r\n\r\n do {\r\n id = createId(ln);\r\n } while (allMap[id]);\r\n\r\n return id;\r\n },\r\n\r\n __listenAdd(model, event) {\r\n model.on('add', (m, c, o) => this.em.trigger(event, m, o));\r\n },\r\n\r\n __listenRemove(model, event) {\r\n model.on('remove', (m, c, o) => this.em.trigger(event, m, o));\r\n },\r\n\r\n __listenUpdate(model, event) {\r\n model.on('change', (p, c) => this.em.trigger(event, p, p.changedAttributes(), c));\r\n },\r\n\r\n __destroy() {\r\n this.cls.forEach(coll => {\r\n coll.stopListening();\r\n coll.reset();\r\n });\r\n this.em = 0;\r\n this.config = 0;\r\n this.view?.remove();\r\n this.view = 0;\r\n },\r\n};\r\n","export default {\r\n // Style prefix\r\n stylePrefix: 'css-',\r\n\r\n // Default CSS style\r\n rules: [],\r\n\r\n /**\r\n * Adjust style object before creation/update.\r\n * @example\r\n * onBeforeStyle(style) {\r\n * const padValue = style.padding;\r\n * if (padValue === '10px') {\r\n * delete style.padding;\r\n * style['padding-top'] = padValue;\r\n * // ...\r\n * }\r\n * return style;\r\n * }\r\n */\r\n onBeforeStyle: null\r\n};\r\n","import { isEmpty, forEach, isString, isArray } from 'underscore';\r\nimport { Model } from '../../common';\r\nimport Styleable from '../../domain_abstract/model/Styleable';\r\nimport Selectors from '../../selector_manager/model/Selectors';\r\nimport { getMediaLength } from '../../code_manager/model/CssGenerator';\r\nimport { isEmptyObj, hasWin } from '../../utils/mixins';\r\n\r\nconst { CSS } = hasWin() ? window : {};\r\n\r\n/**\r\n * @typedef CssRule\r\n * @property {Array} selectors Array of selectors\r\n * @property {Object} style Object containing style definitions\r\n * @property {String} [selectorsAdd=''] Additional string css selectors\r\n * @property {String} [atRuleType=''] Type of at-rule, eg. `media`, 'font-face'\r\n * @property {String} [mediaText=''] At-rule value, eg. `(max-width: 1000px)`\r\n * @property {Boolean} [singleAtRule=false] This property is used only on at-rules, like 'page' or 'font-face', where the block containes only style declarations\r\n * @property {String} [state=''] State of the rule, eg: `hover`, `focused`\r\n * @property {Boolean|Array} [important=false] If true, sets `!important` on all properties. You can also pass an array to specify properties on which use important\r\n * @property {Boolean} [stylable=true] Indicates if the rule is stylable from the editor\r\n *\r\n * [Device]: device.html\r\n * [State]: state.html\r\n * [Component]: component.html\r\n */\r\nexport default class CssRule extends Model.extend(Styleable) {\r\n defaults() {\r\n return {\r\n selectors: [],\r\n selectorsAdd: '',\r\n style: {},\r\n mediaText: '',\r\n state: '',\r\n stylable: true,\r\n atRuleType: '',\r\n singleAtRule: false,\r\n important: false,\r\n group: '',\r\n // If true, won't be stored in JSON or showed in CSS\r\n shallow: false,\r\n _undo: true,\r\n };\r\n }\r\n\r\n initialize(c, opt = {}) {\r\n this.config = c || {};\r\n this.opt = opt;\r\n this.em = opt.em;\r\n this.ensureSelectors();\r\n this.on('change', this.__onChange);\r\n }\r\n\r\n __onChange(m, opts) {\r\n const { em } = this;\r\n const changed = this.changedAttributes();\r\n !isEmptyObj(changed) && em && em.changesUp(opts);\r\n }\r\n\r\n clone() {\r\n const opts = { ...this.opt };\r\n const attr = { ...this.attributes };\r\n attr.selectors = this.get('selectors').map(s => s.clone());\r\n return new this.constructor(attr, opts);\r\n }\r\n\r\n ensureSelectors(m, c, opts) {\r\n const { em } = this;\r\n const sm = em && em.get('SelectorManager');\r\n const toListen = [this, 'change:selectors', this.ensureSelectors];\r\n let sels = this.getSelectors();\r\n this.stopListening(...toListen);\r\n\r\n if (sels.models) {\r\n sels = [...sels.models];\r\n }\r\n\r\n sels = isString(sels) ? [sels] : sels;\r\n\r\n if (Array.isArray(sels)) {\r\n const res = sels.filter(i => i).map(i => (sm ? sm.add(i) : i));\r\n sels = new Selectors(res);\r\n }\r\n\r\n this.set('selectors', sels, opts);\r\n this.listenTo(...toListen);\r\n }\r\n\r\n /**\r\n * Returns the at-rule statement when exists, eg. `@media (...)`, `@keyframes`\r\n * @returns {String}\r\n * @example\r\n * const cssRule = editor.Css.setRule('.class1', { color: 'red' }, {\r\n * atRuleType: 'media',\r\n * atRuleParams: '(min-width: 500px)'\r\n * });\r\n * cssRule.getAtRule(); // \"@media (min-width: 500px)\"\r\n */\r\n getAtRule() {\r\n const type = this.get('atRuleType');\r\n const condition = this.get('mediaText');\r\n // Avoid breaks with the last condition\r\n const typeStr = type ? `@${type}` : condition ? '@media' : '';\r\n\r\n return typeStr + (condition && typeStr ? ` ${condition}` : '');\r\n }\r\n\r\n /**\r\n * Return selectors of the rule as a string\r\n * @param {Object} [opts] Options\r\n * @param {Boolean} [opts.skipState] Skip state from the result\r\n * @returns {String}\r\n * @example\r\n * const cssRule = editor.Css.setRule('.class1:hover', { color: 'red' });\r\n * cssRule.selectorsToString(); // \".class1:hover\"\r\n * cssRule.selectorsToString({ skipState: true }); // \".class1\"\r\n */\r\n selectorsToString(opts = {}) {\r\n const result = [];\r\n const state = this.get('state');\r\n const addSelector = this.get('selectorsAdd');\r\n const selOpts = {\r\n escape: str => (CSS && CSS.escape ? CSS.escape(str) : str),\r\n };\r\n const selectors = this.get('selectors').getFullString(0, selOpts);\r\n const stateStr = state && !opts.skipState ? `:${state}` : '';\r\n selectors && result.push(`${selectors}${stateStr}`);\r\n addSelector && !opts.skipAdd && result.push(addSelector);\r\n return result.join(', ');\r\n }\r\n\r\n /**\r\n * Get declaration block (without the at-rule statement)\r\n * @param {Object} [opts={}] Options (same as in `selectorsToString`)\r\n * @returns {String}\r\n * @example\r\n * const cssRule = editor.Css.setRule('.class1', { color: 'red' }, {\r\n * atRuleType: 'media',\r\n * atRuleParams: '(min-width: 500px)'\r\n * });\r\n * cssRule.getDeclaration() // \".class1{color:red;}\"\r\n */\r\n getDeclaration(opts = {}) {\r\n let result = '';\r\n const selectors = this.selectorsToString(opts);\r\n const style = this.styleToString(opts);\r\n const singleAtRule = this.get('singleAtRule');\r\n\r\n if ((selectors || singleAtRule) && (style || opts.allowEmpty)) {\r\n result = singleAtRule ? style : `${selectors}{${style}}`;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Get the Device the rule is related to.\r\n * @returns {[Device]|null}\r\n * @example\r\n * const device = rule.getDevice();\r\n * console.log(device?.getName());\r\n */\r\n getDevice() {\r\n const { em } = this;\r\n const { atRuleType, mediaText } = this.attributes;\r\n const devices = em?.get('DeviceManager').getDevices() || [];\r\n const deviceDefault = devices.filter(d => d.getWidthMedia() === '')[0];\r\n if (atRuleType !== 'media' || !mediaText) {\r\n return deviceDefault || null;\r\n }\r\n return devices.filter(d => d.getWidthMedia() === getMediaLength(mediaText))[0] || null;\r\n }\r\n\r\n /**\r\n * Get the State the rule is related to.\r\n * @returns {[State]|null}\r\n * @example\r\n * const state = rule.getState();\r\n * console.log(state?.getLabel());\r\n */\r\n getState() {\r\n const { em } = this;\r\n const stateValue = this.get('state');\r\n const states = em.get('SelectorManager').getStates() || [];\r\n return states.filter(s => s.getName() === stateValue)[0] || null;\r\n }\r\n\r\n /**\r\n * Returns the related Component (valid only for component-specific rules).\r\n * @returns {[Component]|null}\r\n * @example\r\n * const cmp = rule.getComponent();\r\n * console.log(cmp?.toHTML());\r\n */\r\n getComponent() {\r\n const sel = this.getSelectors();\r\n const sngl = sel.length == 1 && sel.at(0);\r\n const cmpId = sngl && sngl.isId() && sngl.get('name');\r\n return (cmpId && this.em?.get('DomComponents').getById(cmpId)) || null;\r\n }\r\n\r\n /**\r\n * Return the CSS string of the rule\r\n * @param {Object} [opts={}] Options (same as in `getDeclaration`)\r\n * @return {String} CSS string\r\n * @example\r\n * const cssRule = editor.Css.setRule('.class1', { color: 'red' }, {\r\n * atRuleType: 'media',\r\n * atRuleParams: '(min-width: 500px)'\r\n * });\r\n * cssRule.toCSS() // \"@media (min-width: 500px){.class1{color:red;}}\"\r\n */\r\n toCSS(opts = {}) {\r\n let result = '';\r\n const atRule = this.getAtRule();\r\n const block = this.getDeclaration(opts);\r\n if (block || opts.allowEmpty) {\r\n result = block;\r\n }\r\n\r\n if (atRule && result) {\r\n result = `${atRule}{${result}}`;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n toJSON(...args) {\r\n const obj = Model.prototype.toJSON.apply(this, args);\r\n\r\n if (this.em.getConfig('avoidDefaults')) {\r\n const defaults = this.defaults();\r\n\r\n forEach(defaults, (value, key) => {\r\n if (obj[key] === value) {\r\n delete obj[key];\r\n }\r\n });\r\n\r\n // Delete the property used for partial updates\r\n delete obj.style.__p;\r\n\r\n if (isEmpty(obj.selectors)) delete obj.selectors;\r\n if (isEmpty(obj.style)) delete obj.style;\r\n }\r\n\r\n return obj;\r\n }\r\n\r\n /**\r\n * Compare the actual model with parameters\r\n * @param {Object} selectors Collection of selectors\r\n * @param {String} state Css rule state\r\n * @param {String} width For which device this style is oriented\r\n * @param {Object} ruleProps Other rule props\r\n * @returns {Boolean}\r\n * @private\r\n */\r\n compare(selectors, state, width, ruleProps = {}) {\r\n const st = state || '';\r\n const wd = width || '';\r\n const selAdd = ruleProps.selectorsAdd || '';\r\n let atRule = ruleProps.atRuleType || '';\r\n const sel = !isArray(selectors) && !selectors.models ? [selectors] : selectors.models || selectors;\r\n\r\n // Fix atRuleType in case is not specified with width\r\n if (wd && !atRule) atRule = 'media';\r\n\r\n const a1 = sel.map(model => model.getFullName());\r\n const a2 = this.get('selectors').map(model => model.getFullName());\r\n\r\n // Check selectors\r\n const a1S = a1.slice().sort();\r\n const a2S = a2.slice().sort();\r\n if (a1.length !== a2.length || !a1S.every((v, i) => v === a2S[i])) {\r\n return false;\r\n }\r\n\r\n // Check other properties\r\n if (\r\n this.get('state') !== st ||\r\n this.get('mediaText') !== wd ||\r\n this.get('selectorsAdd') !== selAdd ||\r\n this.get('atRuleType') !== atRule\r\n ) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","import { Collection } from '../../common';\r\nimport CssRule from './CssRule';\r\n\r\nexport default class CssRules extends Collection {\r\n initialize(models, opt) {\r\n // Inject editor\r\n if (opt && opt.em) this.editor = opt.em;\r\n\r\n // This will put the listener post CssComposer.postLoad\r\n setTimeout(() => {\r\n this.on('remove', this.onRemove);\r\n this.on('add', this.onAdd);\r\n });\r\n }\r\n\r\n toJSON(opts) {\r\n const result = Collection.prototype.toJSON.call(this, opts);\r\n return result.filter(rule => rule.style && !rule.shallow);\r\n }\r\n\r\n onAdd(model, c, o) {\r\n model.ensureSelectors(model, c, o); // required for undo\r\n }\r\n\r\n onRemove(removed) {\r\n const em = this.editor;\r\n em.stopListening(removed);\r\n em.get('UndoManager').remove(removed);\r\n }\r\n\r\n add(models, opt = {}) {\r\n if (typeof models === 'string') {\r\n models = this.editor.get('Parser').parseCss(models);\r\n }\r\n opt.em = this.editor;\r\n return Collection.prototype.add.apply(this, [models, opt]);\r\n }\r\n}\r\n\r\nCssRules.prototype.model = CssRule;\r\n","/**\r\n * This module manages CSS rules in the canvas.\r\n * You can customize the initial state of the module from the editor initialization, by passing the following [Configuration Object](https://github.com/artf/grapesjs/blob/master/src/css_composer/config/config.js)\r\n * ```js\r\n * const editor = grapesjs.init({\r\n * cssComposer: {\r\n * // options\r\n * }\r\n * })\r\n * ```\r\n *\r\n * Once the editor is instantiated you can use its API. Before using these methods you should get the module from the instance\r\n *\r\n * ```js\r\n * const css = editor.Css;\r\n * ```\r\n *\r\n * * [addRules](#addrules)\r\n * * [setRule](#setrule)\r\n * * [getRule](#getrule)\r\n * * [getRules](#getrules)\r\n * * [remove](#remove)\r\n * * [clear](#clear)\r\n *\r\n * [CssRule]: css_rule.html\r\n *\r\n * @module CssComposer\r\n */\r\n\r\nimport { isArray, isString, isUndefined } from 'underscore';\r\nimport { isObject } from '../utils/mixins';\r\nimport Module from '../common/module';\r\nimport Selectors from '../selector_manager/model/Selectors';\r\nimport Selector from '../selector_manager/model/Selector';\r\nimport defaults from './config/config';\r\nimport CssRule from './model/CssRule';\r\nimport CssRules from './model/CssRules';\r\nimport CssRulesView from './view/CssRulesView';\r\n\r\nexport default () => {\r\n let em;\r\n var c = {};\r\n var rules, rulesView;\r\n\r\n return {\r\n ...Module,\r\n\r\n Selectors,\r\n\r\n /**\r\n * Name of the module\r\n * @type {String}\r\n * @private\r\n */\r\n name: 'CssComposer',\r\n\r\n storageKey: 'styles',\r\n\r\n getConfig() {\r\n return c;\r\n },\r\n\r\n /**\r\n * Initializes module. Automatically called with a new instance of the editor\r\n * @param {Object} config Configurations\r\n * @private\r\n */\r\n init(config) {\r\n c = config || {};\r\n for (var name in defaults) {\r\n if (!(name in c)) c[name] = defaults[name];\r\n }\r\n\r\n var ppfx = c.pStylePrefix;\r\n if (ppfx) c.stylePrefix = ppfx + c.stylePrefix;\r\n\r\n var elStyle = (c.em && c.em.config.style) || '';\r\n c.rules = elStyle || c.rules;\r\n\r\n em = c.em;\r\n rules = new CssRules([], c);\r\n return this;\r\n },\r\n\r\n /**\r\n * On load callback\r\n * @private\r\n */\r\n onLoad() {\r\n rules.add(c.rules, { silent: 1 });\r\n },\r\n\r\n /**\r\n * Do stuff after load\r\n * @param {Editor} em\r\n * @private\r\n */\r\n postLoad() {\r\n const um = em && em.get('UndoManager');\r\n um && um.add(this.getAll());\r\n },\r\n\r\n store() {\r\n return this.getProjectData();\r\n },\r\n\r\n load(data) {\r\n return this.loadProjectData(data);\r\n },\r\n\r\n /**\r\n * Add new rule to the collection, if not yet exists with the same selectors\r\n * @param {Array} selectors Array of selectors\r\n * @param {String} state Css rule state\r\n * @param {String} width For which device this style is oriented\r\n * @param {Object} props Other props for the rule\r\n * @param {Object} opts Options for the add of new rule\r\n * @return {Model}\r\n * @private\r\n * @example\r\n * var sm = editor.SelectorManager;\r\n * var sel1 = sm.add('myClass1');\r\n * var sel2 = sm.add('myClass2');\r\n * var rule = cssComposer.add([sel1, sel2], 'hover');\r\n * rule.set('style', {\r\n * width: '100px',\r\n * color: '#fff',\r\n * });\r\n * */\r\n add(selectors, state, width, opts = {}, addOpts = {}) {\r\n var s = state || '';\r\n var w = width || '';\r\n var opt = { ...opts };\r\n var rule = this.get(selectors, s, w, opt);\r\n\r\n // do not create rules that were found before\r\n // unless this is a single at-rule, for which multiple declarations\r\n // make sense (e.g. multiple `@font-type`s)\r\n if (rule && rule.config && !rule.config.singleAtRule) {\r\n return rule;\r\n } else {\r\n opt.state = s;\r\n opt.mediaText = w;\r\n opt.selectors = [];\r\n w && (opt.atRuleType = 'media');\r\n rule = new CssRule(opt, c);\r\n rule.get('selectors').add(selectors, addOpts);\r\n rules.add(rule, addOpts);\r\n return rule;\r\n }\r\n },\r\n\r\n /**\r\n * Get the rule\r\n * @param {String|Array} selectors Array of selectors or selector string, eg `.myClass1.myClass2`\r\n * @param {String} state Css rule state, eg. 'hover'\r\n * @param {String} width Media rule value, eg. '(max-width: 992px)'\r\n * @param {Object} ruleProps Other rule props\r\n * @return {Model|null}\r\n * @private\r\n * @example\r\n * const sm = editor.SelectorManager;\r\n * const sel1 = sm.add('myClass1');\r\n * const sel2 = sm.add('myClass2');\r\n * const rule = cssComposer.get([sel1, sel2], 'hover', '(max-width: 992px)');\r\n * // Update the style\r\n * rule.set('style', {\r\n * width: '300px',\r\n * color: '#000',\r\n * });\r\n * */\r\n get(selectors, state, width, ruleProps) {\r\n let slc = selectors;\r\n if (isString(selectors)) {\r\n const sm = em.get('SelectorManager');\r\n const singleSel = selectors.split(',')[0].trim();\r\n const node = em.get('Parser').parserCss.checkNode({ selectors: singleSel })[0];\r\n slc = sm.get(node.selectors);\r\n }\r\n return rules.find(rule => rule.compare(slc, state, width, ruleProps)) || null;\r\n },\r\n\r\n getAll() {\r\n return rules;\r\n },\r\n\r\n /**\r\n * Add a raw collection of rule objects\r\n * This method overrides styles, in case, of already defined rule\r\n * @param {String|Array} data CSS string or an array of rule objects, eg. [{selectors: ['class1'], style: {....}}, ..]\r\n * @param {Object} opts Options\r\n * @param {Object} props Additional properties to add on rules\r\n * @return {Array}\r\n * @private\r\n */\r\n addCollection(data, opts = {}, props = {}) {\r\n const result = [];\r\n\r\n if (isString(data)) {\r\n data = em.get('Parser').parseCss(data);\r\n }\r\n\r\n const d = data instanceof Array ? data : [data];\r\n\r\n for (var i = 0, l = d.length; i < l; i++) {\r\n var rule = d[i] || {};\r\n if (!rule.selectors) continue;\r\n var sm = c.em && c.em.get('SelectorManager');\r\n if (!sm) console.warn('Selector Manager not found');\r\n var sl = rule.selectors;\r\n var sels = sl instanceof Array ? sl : [sl];\r\n var newSels = [];\r\n\r\n for (var j = 0, le = sels.length; j < le; j++) {\r\n var selec = sm.add(sels[j]);\r\n newSels.push(selec);\r\n }\r\n\r\n var modelExists = this.get(newSels, rule.state, rule.mediaText, rule);\r\n var model = this.add(newSels, rule.state, rule.mediaText, rule, opts);\r\n var updateStyle = !modelExists || !opts.avoidUpdateStyle;\r\n const style = rule.style || {};\r\n\r\n isObject(props) && model.set(props, opts);\r\n\r\n if (updateStyle) {\r\n let styleUpdate = opts.extend ? { ...model.get('style'), ...style } : style;\r\n model.set('style', styleUpdate, opts);\r\n }\r\n\r\n result.push(model);\r\n }\r\n\r\n return result;\r\n },\r\n\r\n /**\r\n * Add CssRules via CSS string.\r\n * @param {String} css CSS string of rules to add.\r\n * @returns {Array<[CssRule]>} Array of rules\r\n * @example\r\n * const addedRules = css.addRules('.my-cls{ color: red } @media (max-width: 992px) { .my-cls{ color: darkred } }');\r\n * // Check rules\r\n * console.log(addedRules.map(rule => rule.toCSS()));\r\n */\r\n addRules(css) {\r\n return this.addCollection(css);\r\n },\r\n\r\n /**\r\n * Add/update the CssRule.\r\n * @param {String} selectors Selector string, eg. `.myclass`\r\n * @param {Object} style Style properties and values\r\n * @param {Object} [opts={}] Additional properties\r\n * @param {String} [opts.atRuleType=''] At-rule type, eg. `media`\r\n * @param {String} [opts.atRuleParams=''] At-rule parameters, eg. `(min-width: 500px)`\r\n * @returns {[CssRule]} The new/updated CssRule\r\n * @example\r\n * // Simple class-based rule\r\n * const rule = css.setRule('.class1.class2', { color: 'red' });\r\n * console.log(rule.toCSS()) // output: .class1.class2 { color: red }\r\n * // With state and other mixed selector\r\n * const rule = css.setRule('.class1.class2:hover, div#myid', { color: 'red' });\r\n * // output: .class1.class2:hover, div#myid { color: red }\r\n * // With media\r\n * const rule = css.setRule('.class1:hover', { color: 'red' }, {\r\n * atRuleType: 'media',\r\n * atRuleParams: '(min-width: 500px)',\r\n * });\r\n * // output: @media (min-width: 500px) { .class1:hover { color: red } }\r\n */\r\n setRule(selectors, style, opts = {}) {\r\n const { atRuleType, atRuleParams } = opts;\r\n const node = em.get('Parser').parserCss.checkNode({\r\n selectors,\r\n style,\r\n })[0];\r\n const { state, selectorsAdd } = node;\r\n const sm = em.get('SelectorManager');\r\n const selector = sm.add(node.selectors);\r\n const rule = this.add(selector, state, atRuleParams, {\r\n selectorsAdd,\r\n atRule: atRuleType,\r\n });\r\n rule.setStyle(style, opts);\r\n return rule;\r\n },\r\n\r\n /**\r\n * Get the CssRule.\r\n * @param {String} selectors Selector string, eg. `.myclass:hover`\r\n * @param {Object} [opts={}] Additional properties\r\n * @param {String} [opts.atRuleType=''] At-rule type, eg. `media`\r\n * @param {String} [opts.atRuleParams=''] At-rule parameters, eg. '(min-width: 500px)'\r\n * @returns {[CssRule]}\r\n * @example\r\n * const rule = css.getRule('.myclass1:hover');\r\n * const rule2 = css.getRule('.myclass1:hover, div#myid');\r\n * const rule3 = css.getRule('.myclass1', {\r\n * atRuleType: 'media',\r\n * atRuleParams: '(min-width: 500px)',\r\n * });\r\n */\r\n getRule(selectors, opts = {}) {\r\n const sm = em.get('SelectorManager');\r\n const node = em.get('Parser').parserCss.checkNode({ selectors })[0];\r\n const selector = sm.get(node.selectors);\r\n const { state, selectorsAdd } = node;\r\n const { atRuleType, atRuleParams } = opts;\r\n return (\r\n selector &&\r\n this.get(selector, state, atRuleParams, {\r\n selectorsAdd,\r\n atRule: atRuleType,\r\n })\r\n );\r\n },\r\n\r\n /**\r\n * Get all rules or filtered by a matching selector.\r\n * @param {String} [selector=''] Selector, eg. `.myclass`\r\n * @returns {Array<[CssRule]>}\r\n * @example\r\n * // Take all the component specific rules\r\n * const id = someComponent.getId();\r\n * const rules = css.getRules(`#${id}`);\r\n * console.log(rules.map(rule => rule.toCSS()))\r\n * // All rules in the project\r\n * console.log(css.getRules())\r\n */\r\n getRules(selector) {\r\n const rules = this.getAll();\r\n if (!selector) return [...rules.models];\r\n const sels = isString(selector) ? selector.split(',').map(s => s.trim()) : selector;\r\n const result = rules.filter(r => sels.indexOf(r.getSelectors().getFullString()) >= 0);\r\n return result;\r\n },\r\n\r\n /**\r\n * Add/update the CSS rule with id selector\r\n * @param {string} name Id selector name, eg. 'my-id'\r\n * @param {Object} style Style properties and values\r\n * @param {Object} [opts={}] Custom options, like `state` and `mediaText`\r\n * @return {CssRule} The new/updated rule\r\n * @private\r\n * @example\r\n * const rule = css.setIdRule('myid', { color: 'red' });\r\n * const ruleHover = css.setIdRule('myid', { color: 'blue' }, { state: 'hover' });\r\n * // This will add current CSS:\r\n * // #myid { color: red }\r\n * // #myid:hover { color: blue }\r\n */\r\n setIdRule(name, style = {}, opts = {}) {\r\n const { addOpts = {}, mediaText } = opts;\r\n const state = opts.state || '';\r\n const media = !isUndefined(mediaText) ? mediaText : em.getCurrentMedia();\r\n const sm = em.get('SelectorManager');\r\n const selector = sm.add({ name, type: Selector.TYPE_ID }, addOpts);\r\n const rule = this.add(selector, state, media, {}, addOpts);\r\n rule.setStyle(style, { ...opts, ...addOpts });\r\n return rule;\r\n },\r\n\r\n /**\r\n * Get the CSS rule by id selector\r\n * @param {string} name Id selector name, eg. 'my-id'\r\n * @param {Object} [opts={}] Custom options, like `state` and `mediaText`\r\n * @return {CssRule}\r\n * @private\r\n * @example\r\n * const rule = css.getIdRule('myid');\r\n * const ruleHover = css.setIdRule('myid', { state: 'hover' });\r\n */\r\n getIdRule(name, opts = {}) {\r\n const { mediaText } = opts;\r\n const state = opts.state || '';\r\n const media = !isUndefined(mediaText) ? mediaText : em.getCurrentMedia();\r\n const selector = em.get('SelectorManager').get(name, Selector.TYPE_ID);\r\n return selector && this.get(selector, state, media);\r\n },\r\n\r\n /**\r\n * Add/update the CSS rule with class selector\r\n * @param {string} name Class selector name, eg. 'my-class'\r\n * @param {Object} style Style properties and values\r\n * @param {Object} [opts={}] Custom options, like `state` and `mediaText`\r\n * @return {CssRule} The new/updated rule\r\n * @private\r\n * @example\r\n * const rule = css.setClassRule('myclass', { color: 'red' });\r\n * const ruleHover = css.setClassRule('myclass', { color: 'blue' }, { state: 'hover' });\r\n * // This will add current CSS:\r\n * // .myclass { color: red }\r\n * // .myclass:hover { color: blue }\r\n */\r\n setClassRule(name, style = {}, opts = {}) {\r\n const state = opts.state || '';\r\n const media = opts.mediaText || em.getCurrentMedia();\r\n const sm = em.get('SelectorManager');\r\n const selector = sm.add({ name, type: Selector.TYPE_CLASS });\r\n const rule = this.add(selector, state, media);\r\n rule.setStyle(style, opts);\r\n return rule;\r\n },\r\n\r\n /**\r\n * Get the CSS rule by class selector\r\n * @param {string} name Class selector name, eg. 'my-class'\r\n * @param {Object} [opts={}] Custom options, like `state` and `mediaText`\r\n * @return {CssRule}\r\n * @private\r\n * @example\r\n * const rule = css.getClassRule('myclass');\r\n * const ruleHover = css.getClassRule('myclass', { state: 'hover' });\r\n */\r\n getClassRule(name, opts = {}) {\r\n const state = opts.state || '';\r\n const media = opts.mediaText || em.getCurrentMedia();\r\n const selector = em.get('SelectorManager').get(name, Selector.TYPE_CLASS);\r\n return selector && this.get(selector, state, media);\r\n },\r\n\r\n /**\r\n * Remove rule, by CssRule or matching selector (eg. the selector will match also at-rules like `@media`)\r\n * @param {String|[CssRule]|Array<[CssRule]>} rule CssRule or matching selector.\r\n * @return {Array<[CssRule]>} Removed rules\r\n * @example\r\n * // Remove by CssRule\r\n * const toRemove = css.getRules('.my-cls');\r\n * css.remove(toRemove);\r\n * // Remove by selector\r\n * css.remove('.my-cls-2');\r\n */\r\n remove(rule, opts) {\r\n const toRemove = isString(rule) ? this.getRules(rule) : rule;\r\n const result = this.getAll().remove(toRemove, opts);\r\n return isArray(result) ? result : [result];\r\n },\r\n\r\n /**\r\n * Remove all rules\r\n * @return {this}\r\n */\r\n clear(opts = {}) {\r\n this.getAll().reset(null, opts);\r\n return this;\r\n },\r\n\r\n getComponentRules(cmp, opts = {}) {\r\n let { state, mediaText, current } = opts;\r\n if (current) {\r\n state = em.get('state') || '';\r\n mediaText = em.getCurrentMedia();\r\n }\r\n const id = cmp.getId();\r\n const rules = this.getAll().filter(r => {\r\n if (!isUndefined(state) && r.get('state') !== state) return;\r\n if (!isUndefined(mediaText) && r.get('mediaText') !== mediaText) return;\r\n return r.getSelectorsString() === `#${id}`;\r\n });\r\n return rules;\r\n },\r\n\r\n /**\r\n * Render the block of CSS rules\r\n * @return {HTMLElement}\r\n * @private\r\n */\r\n render() {\r\n rulesView && rulesView.remove();\r\n rulesView = new CssRulesView({\r\n collection: rules,\r\n config: c,\r\n });\r\n return rulesView.render().el;\r\n },\r\n\r\n destroy() {\r\n rules.reset();\r\n rules.stopListening();\r\n rulesView && rulesView.remove();\r\n [em, rules, rulesView].forEach(i => (i = null));\r\n c = {};\r\n },\r\n };\r\n};\r\n","import { View } from '../../common';\r\n\r\nexport default class CssRuleView extends View {\r\n tagName() {\r\n return 'style';\r\n }\r\n\r\n initialize(o = {}) {\r\n this.config = o.config || {};\r\n const { model } = this;\r\n this.listenTo(model, 'change', this.render);\r\n this.listenTo(model, 'destroy remove', this.remove);\r\n this.listenTo(model.get('selectors'), 'change', this.render);\r\n }\r\n\r\n render() {\r\n const { model, el } = this;\r\n const important = model.get('important');\r\n el.innerHTML = model.toCSS({ important });\r\n return this;\r\n }\r\n}\r\n","import CssRuleView from './CssRuleView';\r\n\r\nexport default class CssGroupRuleView extends CssRuleView {\r\n _createElement() {\r\n return document.createTextNode('');\r\n }\r\n\r\n render() {\r\n const model = this.model;\r\n const important = model.get('important');\r\n this.el.textContent = model.getDeclaration({ important });\r\n return this;\r\n }\r\n}\r\n","import { View } from '../../common';\r\nimport { createEl } from '../../utils/dom';\r\nimport CssRuleView from './CssRuleView';\r\nimport CssGroupRuleView from './CssGroupRuleView';\r\n\r\nconst getBlockId = (pfx, order) => `${pfx}${order ? `-${parseFloat(order)}` : ''}`;\r\n\r\nexport default class CssRulesView extends View {\r\n initialize(o) {\r\n const config = o.config || {};\r\n this.atRules = {};\r\n this.config = config;\r\n this.em = config.em;\r\n this.pfx = config.stylePrefix || '';\r\n this.className = this.pfx + 'rules';\r\n const coll = this.collection;\r\n this.listenTo(coll, 'add', this.addTo);\r\n this.listenTo(coll, 'reset', this.render);\r\n }\r\n\r\n /**\r\n * Add to collection\r\n * @param {Object} model\r\n * @private\r\n * */\r\n addTo(model) {\r\n this.addToCollection(model);\r\n }\r\n\r\n /**\r\n * Add new object to collection\r\n * @param {Object} model\r\n * @param {Object} fragmentEl\r\n * @return {Object}\r\n * @private\r\n * */\r\n addToCollection(model, fragmentEl) {\r\n // If the render is not yet started\r\n if (!this.renderStarted) {\r\n return;\r\n }\r\n\r\n const fragment = fragmentEl || null;\r\n const { config } = this;\r\n const opts = { model, config };\r\n let rendered, view;\r\n\r\n // I have to render keyframes of the same name together\r\n // Unfortunately at the moment I didn't find the way of appending them\r\n // if not staticly, via appendData\r\n if (model.get('atRuleType') === 'keyframes') {\r\n const atRule = model.getAtRule();\r\n let atRuleEl = this.atRules[atRule];\r\n\r\n if (!atRuleEl) {\r\n const styleEl = document.createElement('style');\r\n atRuleEl = document.createTextNode('');\r\n styleEl.appendChild(document.createTextNode(`${atRule}{`));\r\n styleEl.appendChild(atRuleEl);\r\n styleEl.appendChild(document.createTextNode(`}`));\r\n this.atRules[atRule] = atRuleEl;\r\n rendered = styleEl;\r\n }\r\n\r\n view = new CssGroupRuleView(opts);\r\n atRuleEl.appendData(view.render().el.textContent);\r\n } else {\r\n view = new CssRuleView(opts);\r\n rendered = view.render().el;\r\n }\r\n\r\n const clsName = this.className;\r\n const mediaText = model.get('mediaText');\r\n const defaultBlockId = getBlockId(clsName);\r\n let blockId = defaultBlockId;\r\n\r\n // If the rule contains a media query it might have a different container\r\n // for it (eg. rules created with Device Manager)\r\n if (mediaText) {\r\n blockId = getBlockId(clsName, this.getMediaWidth(mediaText));\r\n }\r\n\r\n if (rendered) {\r\n const container = fragment || this.el;\r\n let contRules;\r\n\r\n // Try to find a specific container for the rule (if it\r\n // containes a media query), otherwise get the default one\r\n try {\r\n contRules = container.querySelector(`#${blockId}`);\r\n } catch (e) {}\r\n\r\n if (!contRules) {\r\n contRules = container.querySelector(`#${defaultBlockId}`);\r\n }\r\n\r\n contRules.appendChild(rendered);\r\n }\r\n\r\n return rendered;\r\n }\r\n\r\n getMediaWidth(mediaText) {\r\n return mediaText && mediaText.replace(`(${this.em.getConfig('mediaCondition')}: `, '').replace(')', '');\r\n }\r\n\r\n render() {\r\n this.renderStarted = 1;\r\n this.atRules = {};\r\n const { em, $el, className, collection } = this;\r\n const frag = document.createDocumentFragment();\r\n $el.empty();\r\n\r\n // Create devices related DOM structure, ensure also to have a default container\r\n const prs = em.get('DeviceManager').getAll().pluck('priority');\r\n prs.every(pr => pr) && prs.unshift(0);\r\n prs.forEach(pr => frag.appendChild(createEl('div', { id: getBlockId(className, pr) })));\r\n\r\n collection.each(model => this.addToCollection(model, frag));\r\n $el.append(frag);\r\n $el.attr('class', className);\r\n return this;\r\n }\r\n}\r\n","export default {\r\n // The device `id` to select on start, if not indicated, the first available from `devices` will be used.\r\n default: null,\r\n\r\n // Default devices\r\n devices: [\r\n {\r\n id: 'desktop',\r\n name: 'Desktop',\r\n width: '',\r\n },\r\n {\r\n id: 'tablet',\r\n name: 'Tablet',\r\n width: '770px',\r\n widthMedia: '992px',\r\n },\r\n {\r\n id: 'mobileLandscape',\r\n name: 'Mobile landscape',\r\n width: '568px',\r\n widthMedia: '768px',\r\n },\r\n {\r\n id: 'mobilePortrait',\r\n name: 'Mobile portrait',\r\n width: '320px',\r\n widthMedia: '480px',\r\n },\r\n ],\r\n};\r\n","import { Model } from '../../common';\r\n\r\n/**\r\n * @typedef Device\r\n * @property {String} [name=''] Device type, eg. `Mobile`\r\n * @property {String} [width] Width to set for the editor iframe, eg. '900px'\r\n * @property {String} [height=''] Height to set for the editor iframe, eg. '600px'\r\n * @property {String} [widthMedia=''] The width which will be used in media queries, If empty the width will be used\r\n * @property {Number} [priority=null] Setup the order of media queries\r\n */\r\nexport default class Device extends Model {\r\n defaults() {\r\n return {\r\n name: '',\r\n width: null,\r\n height: '',\r\n widthMedia: null,\r\n priority: null,\r\n };\r\n }\r\n\r\n initialize() {\r\n this.get('widthMedia') === null && this.set('widthMedia', this.get('width'));\r\n this.get('width') === null && this.set('width', this.get('widthMedia'));\r\n !this.get('priority') && this.set('priority', parseFloat(this.get('widthMedia')) || 0);\r\n const toCheck = ['width', 'height', 'widthMedia'];\r\n toCheck.forEach(prop => this.checkUnit(prop));\r\n }\r\n\r\n checkUnit(prop) {\r\n const pr = this.get(prop) || '';\r\n const noUnit = (parseFloat(pr) || 0).toString() === pr.toString();\r\n noUnit && this.set(prop, `${pr}px`);\r\n }\r\n\r\n getName() {\r\n return this.get('name') || this.get('id');\r\n }\r\n\r\n getWidthMedia() {\r\n return this.get('widthMedia') || '';\r\n }\r\n}\r\n","import { Collection } from '../../common';\r\nimport Device from './Device';\r\n\r\nexport default class Devices extends Collection {\r\n comparator(left, right) {\r\n const max = Number.MAX_VALUE;\r\n return (right.get('priority') || max) - (left.get('priority') || max);\r\n }\r\n\r\n getSorted() {\r\n return this.sort();\r\n }\r\n}\r\n\r\nDevices.prototype.model = Device;\r\n","import { View } from '../../common';\r\nimport html from '../../utils/html';\r\n\r\nexport default class DevicesView extends View {\r\n template({ ppfx, label }) {\r\n return html`\r\n
${label}
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n `;\r\n }\r\n\r\n events() {\r\n return {\r\n change: 'updateDevice',\r\n };\r\n }\r\n\r\n initialize(o) {\r\n this.config = o.config || {};\r\n this.em = this.config.em;\r\n this.ppfx = this.config.pStylePrefix || '';\r\n this.events['click .' + this.ppfx + 'add-trasp'] = this.startAdd;\r\n this.listenTo(this.em, 'change:device', this.updateSelect);\r\n this.delegateEvents();\r\n }\r\n\r\n /**\r\n * Start adding new device\r\n * @return {[type]} [description]\r\n * @private\r\n */\r\n startAdd() {}\r\n\r\n /**\r\n * Update device of the editor\r\n * @private\r\n */\r\n updateDevice() {\r\n var em = this.em;\r\n if (em) {\r\n var devEl = this.devicesEl;\r\n var val = devEl ? devEl.val() : '';\r\n em.set('device', val);\r\n }\r\n }\r\n\r\n /**\r\n * Update select value on device update\r\n * @private\r\n */\r\n updateSelect() {\r\n var em = this.em;\r\n var devEl = this.devicesEl;\r\n if (em && em.getDeviceModel && devEl) {\r\n var device = em.getDeviceModel();\r\n var name = device ? device.get('id') : '';\r\n devEl.val(name);\r\n }\r\n }\r\n\r\n /**\r\n * Return devices options\r\n * @return {string} String of options\r\n * @private\r\n */\r\n getOptions() {\r\n const { collection, em } = this;\r\n let result = '';\r\n\r\n collection.each(device => {\r\n const { name, id } = device.attributes;\r\n const label = (em && em.t && em.t(`deviceManager.devices.${id}`)) || name;\r\n result += ``;\r\n });\r\n\r\n return result;\r\n }\r\n\r\n render() {\r\n const { em, ppfx, $el, el } = this;\r\n const label = em && em.t && em.t('deviceManager.device');\r\n $el.html(this.template({ ppfx, label }));\r\n this.devicesEl = $el.find(`.${ppfx}devices`);\r\n this.devicesEl.append(this.getOptions());\r\n this.devicesEl.val(em.get('device'));\r\n el.className = `${ppfx}devices-c`;\r\n return this;\r\n }\r\n}\r\n","/**\r\n * You can customize the initial state of the module from the editor initialization, by passing the following [Configuration Object](https://github.com/artf/grapesjs/blob/master/src/device_manager/config/config.js)\r\n * ```js\r\n * const editor = grapesjs.init({\r\n * deviceManager: {\r\n * // options\r\n * }\r\n * })\r\n * ```\r\n *\r\n * Once the editor is instantiated you can use its API. Before using these methods you should get the module from the instance\r\n *\r\n * ```js\r\n * const deviceManager = editor.Devices;\r\n * ```\r\n * ## Available Events\r\n * * `device:add` - Added new device. The [Device] is passed as an argument to the callback\r\n * * `device:remove` - Device removed. The [Device] is passed as an argument to the callback\r\n * * `device:select` - New device selected. The newly selected [Device] and the previous one, are passed as arguments to the callback\r\n * * `device:update` - Device updated. The updated [Device] and the object containing changes are passed as arguments to the callback\r\n * * `device` - Catch-all event for all the events mentioned above. An object containing all the available data about the triggered event is passed as an argument to the callback\r\n *\r\n * ## Methods\r\n * * [add](#add)\r\n * * [get](#get)\r\n * * [getDevices](#getdevices)\r\n * * [remove](#remove)\r\n * * [select](#select)\r\n * * [getSelected](#getselected)\r\n *\r\n * [Device]: device.html\r\n *\r\n * @module Devices\r\n */\r\nimport { isString } from 'underscore';\r\nimport Module from '../common/module';\r\nimport defaults from './config/config';\r\nimport Device from './model/Device';\r\nimport Devices from './model/Devices';\r\nimport DevicesView from './view/DevicesView';\r\n\r\nexport const evAll = 'device';\r\nexport const evPfx = `${evAll}:`;\r\nexport const evSelect = `${evPfx}select`;\r\nexport const evSelectBefore = `${evSelect}:before`;\r\nexport const evUpdate = `${evPfx}update`;\r\nexport const evAdd = `${evPfx}add`;\r\nexport const evAddBefore = `${evAdd}:before`;\r\nexport const evRemove = `${evPfx}remove`;\r\nexport const evRemoveBefore = `${evRemove}:before`;\r\nconst chnSel = 'change:device';\r\n\r\nexport default () => {\r\n let c = {};\r\n let devices;\r\n let view;\r\n\r\n return {\r\n ...Module,\r\n\r\n name: 'DeviceManager',\r\n\r\n Device,\r\n\r\n Devices,\r\n\r\n events: {\r\n all: evAll,\r\n select: evSelect,\r\n // selectBefore: evSelectBefore,\r\n update: evUpdate,\r\n add: evAdd,\r\n // addBefore: evAddBefore,\r\n remove: evRemove,\r\n removeBefore: evRemoveBefore,\r\n },\r\n\r\n init(config = {}) {\r\n c = { ...defaults, ...config };\r\n const { em } = c;\r\n\r\n devices = new Devices();\r\n c.devices.forEach(dv => this.add(dv));\r\n this.em = em;\r\n this.all = devices;\r\n this.select(c.default || devices.at(0));\r\n this.__initListen();\r\n em.on(chnSel, this._onSelect, this);\r\n\r\n return this;\r\n },\r\n\r\n _onSelect(m, deviceId, opts) {\r\n const { em, events } = this;\r\n const prevId = m.previous('device');\r\n const newDevice = this.get(deviceId);\r\n const ev = events.select;\r\n em.trigger(ev, newDevice, this.get(prevId));\r\n this.__catchAllEvent(ev, newDevice, opts);\r\n },\r\n\r\n /**\r\n * Add new device\r\n * @param {Object} props Device properties\r\n * @returns {[Device]} Added device\r\n * @example\r\n * const device1 = deviceManager.add({\r\n * // Without an explicit ID, the `name` will be taken. In case of missing `name`, a random ID will be created.\r\n * id: 'tablet',\r\n * name: 'Tablet',\r\n * width: '900px', // This width will be applied on the canvas frame and for the CSS media\r\n * });\r\n * const device2 = deviceManager.add({\r\n * id: 'tablet2',\r\n * name: 'Tablet 2',\r\n * width: '800px', // This width will be applied on the canvas frame\r\n * widthMedia: '810px', // This width that will be used for the CSS media\r\n * height: '600px', // Height will be applied on the canvas frame\r\n * });\r\n */\r\n add(props, options = {}) {\r\n let result;\r\n let opts = options;\r\n\r\n // Support old API\r\n if (isString(props)) {\r\n const width = options;\r\n opts = arguments[2] || {};\r\n result = {\r\n ...opts,\r\n id: props,\r\n name: opts.name || props,\r\n width,\r\n };\r\n } else {\r\n result = props;\r\n }\r\n\r\n if (!result.id) {\r\n result.id = result.name || this._createId();\r\n }\r\n\r\n return devices.add(result, opts);\r\n },\r\n\r\n /**\r\n * Return device by ID\r\n * @param {String} id ID of the device\r\n * @returns {[Device]|null}\r\n * @example\r\n * const device = deviceManager.get('Tablet');\r\n * console.log(JSON.stringify(device));\r\n * // {name: 'Tablet', width: '900px'}\r\n */\r\n get(id) {\r\n // Support old API\r\n const byName = this.getAll().filter(d => d.get('name') === id)[0];\r\n return byName || devices.get(id) || null;\r\n },\r\n\r\n /**\r\n * Remove device\r\n * @param {String|[Device]} device Device or device id\r\n * @returns {[Device]} Removed device\r\n * @example\r\n * const removed = deviceManager.remove('device-id');\r\n * // or by passing the Device\r\n * const device = deviceManager.get('device-id');\r\n * deviceManager.remove(device);\r\n */\r\n remove(device, opts = {}) {\r\n return this.__remove(device, opts);\r\n },\r\n\r\n /**\r\n * Return all devices\r\n * @returns {Array<[Device]>}\r\n * @example\r\n * const devices = deviceManager.getDevices();\r\n * console.log(JSON.stringify(devices));\r\n * // [{name: 'Desktop', width: ''}, ...]\r\n */\r\n getDevices() {\r\n return devices.models;\r\n },\r\n\r\n /**\r\n * Change the selected device. This will update the frame in the canvas\r\n * @param {String|[Device]} device Device or device id\r\n * @example\r\n * deviceManager.select('some-id');\r\n * // or by passing the page\r\n * const device = deviceManager.get('some-id');\r\n * deviceManager.select(device);\r\n */\r\n select(device, opts = {}) {\r\n const md = isString(device) ? this.get(device) : device;\r\n md && this.em.set('device', md.get('id'), opts);\r\n return this;\r\n },\r\n\r\n /**\r\n * Get the selected device\r\n * @returns {[Device]}\r\n * @example\r\n * const selected = deviceManager.getSelected();\r\n */\r\n getSelected() {\r\n return this.get(this.em.get('device'));\r\n },\r\n\r\n getAll() {\r\n return devices;\r\n },\r\n\r\n render() {\r\n view && view.remove();\r\n view = new DevicesView({\r\n collection: devices,\r\n config: c,\r\n });\r\n return view.render().el;\r\n },\r\n\r\n destroy() {\r\n devices.stopListening();\r\n devices.reset();\r\n view && view.remove();\r\n [devices, view].forEach(i => (i = null));\r\n c = {};\r\n },\r\n };\r\n};\r\n","export default {\r\n stylePrefix: 'comp-',\r\n\r\n // Could be used for default components\r\n components: [],\r\n\r\n // If the component is draggable you can drag the component itself (not only from the toolbar)\r\n draggableComponents: 1,\r\n\r\n /**\r\n * You can setup a custom component definition processor before adding it into the editor.\r\n * It might be useful to transform custom objects (es. some framework specific JSX) to GrapesJS component one.\r\n * This custom function will be executed on ANY new added component to the editor so make smart checks/conditions\r\n * to avoid doing useless executions\r\n * By default, GrapesJS supports already elements generated from React JSX preset\r\n * @example\r\n * processor: (obj) => {\r\n * if (obj.$$typeof) { // eg. this is a React Element\r\n * const gjsComponent = {\r\n * type: obj.type,\r\n * components: obj.props.children,\r\n * ...\r\n * };\r\n * ...\r\n * return gjsComponent;\r\n * }\r\n * }\r\n */\r\n processor: 0,\r\n\r\n // List of HTML void elements\r\n // https://www.w3.org/TR/2011/WD-html-markup-20110113/syntax.html#void-elements\r\n voidElements: [\r\n 'area',\r\n 'base',\r\n 'br',\r\n 'col',\r\n 'embed',\r\n 'hr',\r\n 'img',\r\n 'input',\r\n 'keygen',\r\n 'link',\r\n 'menuitem',\r\n 'meta',\r\n 'param',\r\n 'source',\r\n 'track',\r\n 'wbr',\r\n ],\r\n};\r\n","import ComponentView from './ComponentView';\r\n\r\nexport default class ComponentWrapperView extends ComponentView {\r\n tagName() {\r\n return 'div';\r\n }\r\n}\r\n","import Component from './Component';\r\nimport { toLowerCase } from 'utils/mixins';\r\n\r\nexport default Component.extend(\r\n {\r\n defaults: {\r\n ...Component.prototype.defaults,\r\n type: 'cell',\r\n tagName: 'td',\r\n draggable: ['tr']\r\n }\r\n },\r\n {\r\n isComponent: el => ['td', 'th'].indexOf(toLowerCase(el.tagName)) >= 0\r\n }\r\n);\r\n","import ComponentView from './ComponentView';\r\n\r\nexport default ComponentView.extend({});\r\n","import Component from './Component';\r\nimport { toLowerCase } from 'utils/mixins';\r\n\r\nconst tagName = 'tr';\r\n\r\nexport default Component.extend(\r\n {\r\n defaults: {\r\n ...Component.prototype.defaults,\r\n tagName,\r\n draggable: ['thead', 'tbody', 'tfoot'],\r\n droppable: ['th', 'td']\r\n }\r\n },\r\n {\r\n isComponent: el => toLowerCase(el.tagName) === tagName\r\n }\r\n);\r\n","import ComponentView from './ComponentView';\r\n\r\nexport default ComponentView.extend({});\r\n","import Component from './Component';\r\nimport { toLowerCase } from 'utils/mixins';\r\n\r\nconst type = 'table';\r\n\r\nexport default Component.extend(\r\n {\r\n defaults: {\r\n ...Component.prototype.defaults,\r\n type,\r\n tagName: type,\r\n droppable: ['tbody', 'thead', 'tfoot']\r\n },\r\n\r\n initialize(o, opt) {\r\n Component.prototype.initialize.apply(this, arguments);\r\n const components = this.get('components');\r\n !components.length && components.add({ type: 'tbody' });\r\n }\r\n },\r\n {\r\n isComponent: el => toLowerCase(el.tagName) === type\r\n }\r\n);\r\n","import ComponentView from './ComponentView';\r\n\r\nexport default ComponentView.extend({\r\n events: {}\r\n});\r\n","import Component from './Component';\r\nimport { toLowerCase } from 'utils/mixins';\r\n\r\nconst type = 'tbody';\r\n\r\nexport default Component.extend(\r\n {\r\n defaults: {\r\n ...Component.prototype.defaults,\r\n type,\r\n tagName: type,\r\n draggable: ['table'],\r\n droppable: ['tr'],\r\n columns: 1,\r\n rows: 1\r\n },\r\n\r\n initialize(o, opt) {\r\n Component.prototype.initialize.apply(this, arguments);\r\n const components = this.get('components');\r\n let columns = this.get('columns');\r\n let rows = this.get('rows');\r\n\r\n // Init components if empty\r\n if (!components.length) {\r\n const rowsToAdd = [];\r\n\r\n while (rows--) {\r\n const columnsToAdd = [];\r\n let clm = columns;\r\n\r\n while (clm--) {\r\n columnsToAdd.push({\r\n type: 'cell',\r\n classes: ['cell']\r\n });\r\n }\r\n\r\n rowsToAdd.push({\r\n type: 'row',\r\n classes: ['row'],\r\n components: columnsToAdd\r\n });\r\n }\r\n\r\n components.add(rowsToAdd);\r\n }\r\n }\r\n },\r\n {\r\n isComponent: el => toLowerCase(el.tagName) === type\r\n }\r\n);\r\n","import ComponentTableBody from './ComponentTableBody';\r\nimport { toLowerCase } from 'utils/mixins';\r\n\r\nconst type = 'thead';\r\n\r\nexport default ComponentTableBody.extend(\r\n {\r\n defaults: {\r\n ...ComponentTableBody.prototype.defaults,\r\n type,\r\n tagName: type\r\n }\r\n },\r\n {\r\n isComponent: el => toLowerCase(el.tagName) === type\r\n }\r\n);\r\n","import ComponentView from './ComponentView';\r\n\r\nexport default ComponentView.extend({});\r\n","import ComponentView from './ComponentView';\r\n\r\nexport default ComponentView.extend({});\r\n","import ComponentTableBody from './ComponentTableBody';\r\nimport { toLowerCase } from 'utils/mixins';\r\n\r\nconst type = 'tfoot';\r\n\r\nexport default ComponentTableBody.extend(\r\n {\r\n defaults: {\r\n ...ComponentTableBody.prototype.defaults,\r\n type,\r\n tagName: type\r\n }\r\n },\r\n {\r\n isComponent: el => toLowerCase(el.tagName) === type\r\n }\r\n);\r\n","import ComponentView from './ComponentView';\r\n\r\nexport default ComponentView.extend({});\r\n","import { result } from 'underscore';\r\nimport Component from './Component';\r\nimport { toLowerCase } from 'utils/mixins';\r\n\r\nconst svgAttrs =\r\n 'xmlns=\"http://www.w3.org/2000/svg\" width=\"100\" viewBox=\"0 0 24 24\" style=\"fill: rgba(0,0,0,0.15); transform: scale(0.75)\"';\r\n\r\nexport default Component.extend(\r\n {\r\n defaults: {\r\n ...Component.prototype.defaults,\r\n type: 'image',\r\n tagName: 'img',\r\n void: true,\r\n droppable: 0,\r\n editable: 1,\r\n highlightable: 0,\r\n resizable: { ratioDefault: 1 },\r\n traits: ['alt'],\r\n\r\n src: `\r\n \r\n `,\r\n\r\n // Fallback image in case the src can't be loaded\r\n // If you use SVG, xmlns=\"http://www.w3.org/2000/svg\" is required\r\n fallback: `\r\n \r\n `,\r\n\r\n // File to load asynchronously once the model is rendered\r\n file: ''\r\n },\r\n\r\n initialize(o, opt) {\r\n Component.prototype.initialize.apply(this, arguments);\r\n const { src } = this.get('attributes');\r\n if (src) this.set('src', src, { silent: 1 });\r\n },\r\n\r\n initToolbar(...args) {\r\n Component.prototype.initToolbar.apply(this, args);\r\n const em = this.em;\r\n\r\n if (em) {\r\n var cmd = em.get('Commands');\r\n var cmdName = 'image-editor';\r\n\r\n // Add Image Editor button only if the default command exists\r\n if (cmd.has(cmdName)) {\r\n let hasButtonBool = false;\r\n var tb = this.get('toolbar');\r\n\r\n for (let i = 0; i < tb.length; i++) {\r\n if (tb[i].command === 'image-editor') {\r\n hasButtonBool = true;\r\n break;\r\n }\r\n }\r\n\r\n if (!hasButtonBool) {\r\n tb.push({\r\n attributes: { class: 'fa fa-pencil' },\r\n command: cmdName\r\n });\r\n this.set('toolbar', tb);\r\n }\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Returns object of attributes for HTML\r\n * @return {Object}\r\n * @private\r\n */\r\n getAttrToHTML(...args) {\r\n const attr = Component.prototype.getAttrToHTML.apply(this, args);\r\n const src = this.getSrcResult();\r\n if (src) attr.src = src;\r\n return attr;\r\n },\r\n\r\n getSrcResult(opt = {}) {\r\n const src = this.get(opt.fallback ? 'fallback' : 'src') || '';\r\n let result = src;\r\n\r\n if (src && src.substr(0, 4) === ' toLowerCase(el.tagName) === 'img'\r\n }\r\n);\r\n","import Component from './ComponentImage';\r\nimport OComponent from './Component';\r\nimport { toLowerCase } from 'utils/mixins';\r\n\r\nexport default Component.extend(\r\n {\r\n defaults: {\r\n ...Component.prototype.defaults,\r\n type: 'map',\r\n src: '',\r\n void: 0,\r\n mapUrl: 'https://maps.google.com/maps',\r\n tagName: 'iframe',\r\n mapType: 'q',\r\n address: '',\r\n zoom: '1',\r\n attributes: { frameborder: 0 },\r\n toolbar: OComponent.prototype.defaults.toolbar,\r\n traits: [\r\n {\r\n label: 'Address',\r\n name: 'address',\r\n placeholder: 'eg. London, UK',\r\n changeProp: 1\r\n },\r\n {\r\n type: 'select',\r\n label: 'Map type',\r\n name: 'mapType',\r\n changeProp: 1,\r\n options: [\r\n { value: 'q', name: 'Roadmap' },\r\n { value: 'w', name: 'Satellite' }\r\n ]\r\n },\r\n {\r\n label: 'Zoom',\r\n name: 'zoom',\r\n type: 'range',\r\n min: '1',\r\n max: '20',\r\n changeProp: 1\r\n }\r\n ]\r\n },\r\n\r\n initialize(o, opt) {\r\n if (this.get('src')) this.parseFromSrc();\r\n else this.updateSrc();\r\n Component.prototype.initialize.apply(this, arguments);\r\n this.listenTo(\r\n this,\r\n 'change:address change:zoom change:mapType',\r\n this.updateSrc\r\n );\r\n },\r\n\r\n updateSrc() {\r\n this.set('src', this.getMapUrl());\r\n },\r\n\r\n /**\r\n * Returns url of the map\r\n * @return {string}\r\n * @private\r\n */\r\n getMapUrl() {\r\n var md = this;\r\n var addr = md.get('address');\r\n var zoom = md.get('zoom');\r\n var type = md.get('mapType');\r\n var size = '';\r\n addr = addr ? '&q=' + addr : '';\r\n zoom = zoom ? '&z=' + zoom : '';\r\n type = type ? '&t=' + type : '';\r\n var result = md.get('mapUrl') + '?' + addr + zoom + type;\r\n result += '&output=embed';\r\n return result;\r\n },\r\n\r\n /**\r\n * Set attributes by src string\r\n * @private\r\n */\r\n parseFromSrc() {\r\n var uri = this.parseUri(this.get('src'));\r\n var qr = uri.query;\r\n if (qr.q) this.set('address', qr.q);\r\n if (qr.z) this.set('zoom', qr.z);\r\n if (qr.t) this.set('mapType', qr.t);\r\n }\r\n },\r\n {\r\n /**\r\n * Detect if the passed element is a valid component.\r\n * In case the element is valid an object abstracted\r\n * from the element will be returned\r\n * @param {HTMLElement}\r\n * @return {Object}\r\n * @private\r\n */\r\n isComponent(el) {\r\n var result = '';\r\n if (\r\n toLowerCase(el.tagName) == 'iframe' &&\r\n /maps\\.google\\.com/.test(el.src)\r\n ) {\r\n result = { type: 'map', src: el.src };\r\n }\r\n return result;\r\n }\r\n }\r\n);\r\n","import { isString } from 'underscore';\r\nimport ComponentView from './ComponentView';\r\n\r\nexport default ComponentView.extend({\r\n tagName: 'img',\r\n\r\n events: {\r\n dblclick: 'onActive',\r\n click: 'initResize',\r\n error: 'onError',\r\n load: 'onLoad',\r\n dragstart: 'noDrag',\r\n },\r\n\r\n initialize(o) {\r\n ComponentView.prototype.initialize.apply(this, arguments);\r\n this.listenTo(this.model, 'change:src', this.updateSrc);\r\n this.classEmpty = `${this.ppfx}plh-image`;\r\n this.fetchFile();\r\n },\r\n\r\n /**\r\n * Fetch file if exists\r\n */\r\n fetchFile() {\r\n if (this.modelOpt.temporary) return;\r\n const { model, em } = this;\r\n const file = model.get('file');\r\n\r\n if (file && em) {\r\n const fu = em.get('AssetManager').FileUploader();\r\n fu?.uploadFile({ dataTransfer: { files: [file] } }, res => {\r\n const obj = res && res.data && res.data[0];\r\n const src = obj && (isString(obj) ? obj : obj.src);\r\n src && model.set({ src });\r\n });\r\n model.set('file', '');\r\n }\r\n },\r\n\r\n /**\r\n * Update src attribute\r\n * @private\r\n * */\r\n updateSrc() {\r\n const { model, classEmpty, $el } = this;\r\n const src = model.getSrcResult();\r\n const srcExists = src && !model.isDefaultSrc();\r\n model.addAttributes({ src });\r\n $el[srcExists ? 'removeClass' : 'addClass'](classEmpty);\r\n },\r\n\r\n /**\r\n * Open dialog for image changing\r\n * @param {Object} e Event\r\n * @private\r\n * */\r\n onActive(ev) {\r\n ev && ev.stopPropagation();\r\n const { em, model } = this;\r\n const am = em && em.get('AssetManager');\r\n\r\n if (am && model.get('editable')) {\r\n am.open({\r\n select(asset, complete) {\r\n model.set({ src: asset.getSrc() });\r\n complete && am.close();\r\n },\r\n target: model,\r\n types: ['image'],\r\n accept: 'image/*',\r\n });\r\n }\r\n },\r\n\r\n onError() {\r\n const fallback = this.model.getSrcResult({ fallback: 1 });\r\n if (fallback) this.el.src = fallback;\r\n },\r\n\r\n onLoad() {\r\n // Used to update component tools box (eg. toolbar, resizer) once the image is loaded\r\n this.em.trigger('change:canvasOffset');\r\n },\r\n\r\n noDrag(ev) {\r\n ev.preventDefault();\r\n return false;\r\n },\r\n\r\n render() {\r\n this.renderAttributes();\r\n if (this.modelOpt.temporary) return this;\r\n this.updateSrc();\r\n const { $el, model } = this;\r\n const cls = $el.attr('class') || '';\r\n !model.get('src') && $el.attr('class', `${cls} ${this.classEmpty}`.trim());\r\n this.postRender();\r\n\r\n return this;\r\n },\r\n});\r\n","import Backbone from 'backbone';\r\nimport ComponentView from './ComponentImageView';\r\n\r\nexport default ComponentView.extend({\r\n tagName: 'div',\r\n\r\n events: {},\r\n\r\n initialize(o) {\r\n ComponentView.prototype.initialize.apply(this, arguments);\r\n this.classEmpty = this.ppfx + 'plh-map';\r\n },\r\n\r\n /**\r\n * Update the map on the canvas\r\n * @private\r\n */\r\n updateSrc() {\r\n this.getIframe().src = this.model.get('src');\r\n },\r\n\r\n getIframe() {\r\n if (!this.iframe) {\r\n var ifrm = document.createElement('iframe');\r\n ifrm.src = this.model.get('src');\r\n ifrm.frameBorder = 0;\r\n ifrm.style.height = '100%';\r\n ifrm.style.width = '100%';\r\n ifrm.className = this.ppfx + 'no-pointer';\r\n this.iframe = ifrm;\r\n }\r\n return this.iframe;\r\n },\r\n\r\n render(...args) {\r\n ComponentView.prototype.render.apply(this, args);\r\n this.updateClasses();\r\n this.el.appendChild(this.getIframe());\r\n return this;\r\n }\r\n});\r\n","import Component from './Component';\r\n\r\nexport default class ComponentText extends Component {}\r\n\r\nComponentText.prototype.defaults = {\r\n ...Component.getDefaults(),\r\n type: 'text',\r\n droppable: false,\r\n editable: true,\r\n};\r\n","import { forEach } from 'underscore';\r\nimport { toLowerCase } from 'utils/mixins';\r\nimport ComponentText from './ComponentText';\r\n\r\nconst type = 'link';\r\n\r\nexport default class ComponentLink extends ComponentText {}\r\n\r\nComponentLink.prototype.defaults = {\r\n ...ComponentText.getDefaults(),\r\n type,\r\n tagName: 'a',\r\n traits: ['title', 'href', 'target'],\r\n};\r\n\r\nComponentLink.isComponent = (el, opts = {}) => {\r\n let result;\r\n\r\n if (toLowerCase(el.tagName) === 'a') {\r\n const textTags = opts.textTags || [];\r\n result = { type, editable: false };\r\n\r\n // The link is editable only if, at least, one of its\r\n // children is a text node (not empty one)\r\n const children = el.childNodes;\r\n const len = children.length;\r\n if (!len) delete result.editable;\r\n\r\n forEach(children, child => {\r\n const { tagName } = child;\r\n if (\r\n (child.nodeType == 3 && child.textContent.trim() !== '') ||\r\n (tagName && textTags.indexOf(toLowerCase(tagName)) >= 0)\r\n ) {\r\n delete result.editable;\r\n }\r\n });\r\n }\r\n\r\n return result;\r\n};\r\n","import { on, off, getModel } from 'utils/mixins';\r\nimport ComponentView from './ComponentView';\r\nimport { bindAll } from 'underscore';\r\n\r\nconst compProt = ComponentView.prototype;\r\n\r\nexport default ComponentView.extend({\r\n events: {\r\n dblclick: 'onActive',\r\n input: 'onInput',\r\n },\r\n\r\n initialize(o) {\r\n compProt.initialize.apply(this, arguments);\r\n bindAll(this, 'disableEditing', 'onDisable');\r\n const model = this.model;\r\n const em = this.em;\r\n this.listenTo(model, 'focus', this.onActive);\r\n this.listenTo(model, 'change:content', this.updateContentText);\r\n this.listenTo(model, 'sync:content', this.syncContent);\r\n this.rte = em && em.get('RichTextEditor');\r\n },\r\n\r\n updateContentText(m, v, opts = {}) {\r\n !opts.fromDisable && this.disableEditing();\r\n },\r\n\r\n canActivate() {\r\n const { model, rteEnabled, em } = this;\r\n const modelInEdit = em?.getEditing();\r\n const sameInEdit = modelInEdit === model;\r\n let result = true;\r\n let isInnerText = false;\r\n let delegate;\r\n\r\n if (rteEnabled || !model.get('editable') || sameInEdit || (isInnerText = model.isChildOf('text'))) {\r\n result = false;\r\n // If the current is inner text, select the closest text\r\n if (isInnerText && !model.get('textable')) {\r\n let parent = model.parent();\r\n\r\n while (parent && !parent.isInstanceOf('text')) {\r\n parent = parent.parent();\r\n }\r\n\r\n if (parent && parent.get('editable')) {\r\n delegate = parent;\r\n } else {\r\n result = true;\r\n }\r\n }\r\n }\r\n\r\n return { result, delegate };\r\n },\r\n\r\n /**\r\n * Enable element content editing\r\n * @private\r\n * */\r\n async onActive(ev) {\r\n const { rte, em } = this;\r\n const { result, delegate } = this.canActivate();\r\n\r\n // We place this before stopPropagation in case of nested\r\n // text components will not block the editing (#1394)\r\n if (!result) {\r\n if (delegate) {\r\n ev?.stopPropagation?.();\r\n em.setSelected(delegate);\r\n delegate.trigger('active', ev);\r\n }\r\n return;\r\n }\r\n\r\n ev?.stopPropagation?.();\r\n this.lastContent = this.getContent();\r\n\r\n if (rte) {\r\n try {\r\n this.activeRte = await rte.enable(this, this.activeRte, { event: ev });\r\n } catch (err) {\r\n em.logError(err);\r\n }\r\n }\r\n\r\n this.toggleEvents(1);\r\n },\r\n\r\n onDisable() {\r\n this.disableEditing();\r\n },\r\n\r\n /**\r\n * Disable element content editing\r\n * @private\r\n * */\r\n async disableEditing(opts = {}) {\r\n const { model, rte, activeRte, em } = this;\r\n // There are rare cases when disableEditing is called when the view is already removed\r\n // so, we have to check for the model, this will avoid breaking stuff.\r\n const editable = model && model.get('editable');\r\n\r\n if (rte) {\r\n try {\r\n await rte.disable(this, activeRte);\r\n } catch (err) {\r\n em.logError(err);\r\n }\r\n\r\n if (editable && this.getContent() !== this.lastContent) {\r\n this.syncContent(opts);\r\n this.lastContent = '';\r\n }\r\n }\r\n\r\n this.toggleEvents();\r\n },\r\n\r\n /**\r\n * get content from RTE\r\n * @return string\r\n */\r\n getContent() {\r\n const { activeRte } = this;\r\n const canGetRteContent = activeRte && typeof activeRte.getContent === 'function';\r\n\r\n return canGetRteContent ? activeRte.getContent() : this.getChildrenContainer().innerHTML;\r\n },\r\n\r\n /**\r\n * Merge content from the DOM to the model\r\n */\r\n syncContent(opts = {}) {\r\n const { model, rte, rteEnabled } = this;\r\n if (!rteEnabled && !opts.force) return;\r\n const content = this.getContent();\r\n const comps = model.components();\r\n const contentOpt = { fromDisable: 1, ...opts };\r\n model.set('content', '', contentOpt);\r\n\r\n // If there is a custom RTE the content is just baked staticly\r\n // inside 'content'\r\n if (rte.customRte) {\r\n comps.length && comps.reset(null, opts);\r\n model.set('content', content, contentOpt);\r\n } else {\r\n comps.resetFromString(content, opts);\r\n }\r\n },\r\n\r\n insertComponent(content, opts = {}) {\r\n const { model, el } = this;\r\n const doc = el.ownerDocument;\r\n const selection = doc.getSelection();\r\n\r\n if (selection?.rangeCount) {\r\n const range = selection.getRangeAt(0);\r\n const textNode = range.startContainer;\r\n const offset = range.startOffset;\r\n const textModel = getModel(textNode);\r\n const newCmps = [];\r\n\r\n if (textModel && textModel.is?.('textnode')) {\r\n const cmps = textModel.collection;\r\n cmps.forEach(cmp => {\r\n if (cmp === textModel) {\r\n const type = 'textnode';\r\n const cnt = cmp.get('content');\r\n newCmps.push({ type, content: cnt.slice(0, offset) });\r\n newCmps.push(content);\r\n newCmps.push({ type, content: cnt.slice(offset) });\r\n } else {\r\n newCmps.push(cmp);\r\n }\r\n });\r\n\r\n const result = newCmps.filter(Boolean);\r\n const index = result.indexOf(content);\r\n cmps.reset(result, opts);\r\n\r\n return cmps.at(index);\r\n }\r\n }\r\n\r\n return model.append(content, opts);\r\n },\r\n\r\n /**\r\n * Callback on input event\r\n * @param {Event} e\r\n */\r\n onInput() {\r\n const { em } = this;\r\n const evPfx = 'component';\r\n const ev = [`${evPfx}:update`, `${evPfx}:input`].join(' ');\r\n\r\n // Update toolbars\r\n em && em.trigger(ev, this.model);\r\n },\r\n\r\n /**\r\n * Isolate disable propagation method\r\n * @param {Event}\r\n * @private\r\n * */\r\n disablePropagation(e) {\r\n e.stopPropagation();\r\n },\r\n\r\n /**\r\n * Enable/Disable events\r\n * @param {Boolean} enable\r\n */\r\n toggleEvents(enable) {\r\n const { em, model, $el } = this;\r\n const mixins = { on, off };\r\n const method = enable ? 'on' : 'off';\r\n em.setEditing(enable ? this : 0);\r\n this.rteEnabled = !!enable;\r\n\r\n // The ownerDocument is from the frame\r\n var elDocs = [this.el.ownerDocument, document];\r\n mixins.off(elDocs, 'mousedown', this.onDisable);\r\n mixins[method](elDocs, 'mousedown', this.onDisable);\r\n em[method]('toolbar:run:before', this.onDisable);\r\n if (model) {\r\n model[method]('removed', this.onDisable);\r\n model.trigger(`rte:${enable ? 'enable' : 'disable'}`);\r\n }\r\n\r\n // Avoid closing edit mode on component click\r\n $el && $el.off('mousedown', this.disablePropagation);\r\n $el && $el[method]('mousedown', this.disablePropagation);\r\n\r\n // Fixes #2210 but use this also as a replacement\r\n // of this fix: bd7b804f3b46eb45b4398304b2345ce870f232d2\r\n if (this.config.draggableComponents) {\r\n let { el } = this;\r\n\r\n while (el) {\r\n el.draggable = enable ? !1 : !0;\r\n // Note: el.parentNode is sometimes null here\r\n el = el.parentNode;\r\n el && el.tagName == 'BODY' && (el = 0);\r\n }\r\n }\r\n },\r\n});\r\n","import ComponentView from './ComponentTextView';\r\n\r\nexport default ComponentView.extend({\r\n render(...args) {\r\n ComponentView.prototype.render.apply(this, args);\r\n\r\n // I need capturing instead of bubbling as bubbled clicks from other\r\n // children will execute the link event\r\n this.el.addEventListener('click', this.prevDef, true);\r\n\r\n return this;\r\n }\r\n});\r\n","import Component from './ComponentText';\r\nimport { toLowerCase } from 'utils/mixins';\r\n\r\nconst type = 'label';\r\n\r\nexport default Component.extend(\r\n {\r\n defaults: {\r\n ...Component.prototype.defaults,\r\n type,\r\n tagName: type,\r\n traits: ['id', 'title', 'for']\r\n }\r\n },\r\n {\r\n isComponent: el => toLowerCase(el.tagName) === type\r\n }\r\n);\r\n","import ComponentLinkView from './ComponentLinkView';\r\n\r\nexport default ComponentLinkView.extend({\r\n tagName: 'span' // Avoid Firefox bug with label editing #2332\r\n});\r\n","import Component from './ComponentImage';\r\nimport { toLowerCase } from 'utils/mixins';\r\n\r\nconst type = 'video';\r\nconst yt = 'yt';\r\nconst vi = 'vi';\r\nconst ytnc = 'ytnc';\r\n\r\nexport default Component.extend(\r\n {\r\n defaults: {\r\n ...Component.prototype.defaults,\r\n type,\r\n tagName: type,\r\n videoId: '',\r\n void: 0,\r\n provider: 'so', // on change of provider, traits are switched\r\n ytUrl: 'https://www.youtube.com/embed/',\r\n ytncUrl: 'https://www.youtube-nocookie.com/embed/',\r\n viUrl: 'https://player.vimeo.com/video/',\r\n loop: 0,\r\n poster: '',\r\n muted: 0,\r\n autoplay: 0,\r\n controls: 1,\r\n color: '',\r\n list: '',\r\n rel: 1, // YT related videos\r\n modestbranding: 0, // YT modest branding\r\n sources: [],\r\n attributes: { allowfullscreen: 'allowfullscreen' }\r\n },\r\n\r\n initialize(o, opt) {\r\n this.em = opt.em;\r\n if (this.get('src')) this.parseFromSrc();\r\n this.updateTraits();\r\n this.listenTo(this, 'change:provider', this.updateTraits);\r\n this.listenTo(this, 'change:videoId change:provider', this.updateSrc);\r\n Component.prototype.initialize.apply(this, arguments);\r\n },\r\n\r\n /**\r\n * Update traits by provider\r\n * @private\r\n */\r\n updateTraits() {\r\n const prov = this.get('provider');\r\n let tagName = 'iframe';\r\n let traits;\r\n\r\n switch (prov) {\r\n case yt:\r\n case ytnc:\r\n traits = this.getYoutubeTraits();\r\n break;\r\n case vi:\r\n traits = this.getVimeoTraits();\r\n break;\r\n default:\r\n tagName = 'video';\r\n traits = this.getSourceTraits();\r\n }\r\n\r\n this.set({ tagName }, { silent: 1 }); // avoid break in view\r\n this.set({ traits });\r\n this.em.trigger('component:toggled');\r\n },\r\n\r\n /**\r\n * Set attributes by src string\r\n */\r\n parseFromSrc() {\r\n var prov = this.get('provider');\r\n var uri = this.parseUri(this.get('src'));\r\n var qr = uri.query;\r\n switch (prov) {\r\n case yt:\r\n case ytnc:\r\n case vi:\r\n var videoId = uri.pathname.split('/').pop();\r\n this.set('videoId', videoId);\r\n qr.list && this.set('list', qr.list);\r\n if (qr.autoplay) this.set('autoplay', 1);\r\n if (qr.loop) this.set('loop', 1);\r\n if (parseInt(qr.controls) === 0) this.set('controls', 0);\r\n if (qr.color) this.set('color', qr.color);\r\n if (qr.rel === '0') this.set('rel', 0);\r\n if (qr.modestbranding === '1') this.set('modestbranding', 1);\r\n break;\r\n default:\r\n }\r\n },\r\n\r\n /**\r\n * Update src on change of video ID\r\n * @private\r\n */\r\n updateSrc() {\r\n const prov = this.get('provider');\r\n let src = '';\r\n\r\n switch (prov) {\r\n case yt:\r\n src = this.getYoutubeSrc();\r\n break;\r\n case ytnc:\r\n src = this.getYoutubeNoCookieSrc();\r\n break;\r\n case vi:\r\n src = this.getVimeoSrc();\r\n break;\r\n }\r\n\r\n this.set({ src });\r\n },\r\n\r\n /**\r\n * Returns object of attributes for HTML\r\n * @return {Object}\r\n * @private\r\n */\r\n getAttrToHTML(...args) {\r\n var attr = Component.prototype.getAttrToHTML.apply(this, args);\r\n var prov = this.get('provider');\r\n switch (prov) {\r\n case yt:\r\n case ytnc:\r\n case vi:\r\n break;\r\n default:\r\n if (this.get('loop')) attr.loop = 'loop';\r\n if (this.get('autoplay')) attr.autoplay = 'autoplay';\r\n if (this.get('controls')) attr.controls = 'controls';\r\n }\r\n return attr;\r\n },\r\n\r\n // Listen provider change and switch traits, in TraitView listen traits change\r\n\r\n /**\r\n * Return the provider trait\r\n * @return {Object}\r\n * @private\r\n */\r\n getProviderTrait() {\r\n return {\r\n type: 'select',\r\n label: 'Provider',\r\n name: 'provider',\r\n changeProp: 1,\r\n options: [\r\n { value: 'so', name: 'HTML5 Source' },\r\n { value: yt, name: 'Youtube' },\r\n { value: ytnc, name: 'Youtube (no cookie)' },\r\n { value: vi, name: 'Vimeo' }\r\n ]\r\n };\r\n },\r\n\r\n /**\r\n * Return traits for the source provider\r\n * @return {Array}\r\n * @private\r\n */\r\n getSourceTraits() {\r\n return [\r\n this.getProviderTrait(),\r\n {\r\n label: 'Source',\r\n name: 'src',\r\n placeholder: 'eg. ./media/video.mp4',\r\n changeProp: 1\r\n },\r\n {\r\n label: 'Poster',\r\n name: 'poster',\r\n placeholder: 'eg. ./media/image.jpg'\r\n // changeProp: 1\r\n },\r\n this.getAutoplayTrait(),\r\n this.getLoopTrait(),\r\n this.getControlsTrait()\r\n ];\r\n },\r\n /**\r\n * Return traits for the source provider\r\n * @return {Array}\r\n * @private\r\n */\r\n getYoutubeTraits() {\r\n return [\r\n this.getProviderTrait(),\r\n {\r\n label: 'Video ID',\r\n name: 'videoId',\r\n placeholder: 'eg. jNQXAC9IVRw',\r\n changeProp: 1\r\n },\r\n this.getAutoplayTrait(),\r\n this.getLoopTrait(),\r\n this.getControlsTrait(),\r\n {\r\n type: 'checkbox',\r\n label: 'Related',\r\n name: 'rel',\r\n changeProp: 1\r\n },\r\n {\r\n type: 'checkbox',\r\n label: 'Modest',\r\n name: 'modestbranding',\r\n changeProp: 1\r\n }\r\n ];\r\n },\r\n\r\n /**\r\n * Return traits for the source provider\r\n * @return {Array}\r\n * @private\r\n */\r\n getVimeoTraits() {\r\n return [\r\n this.getProviderTrait(),\r\n {\r\n label: 'Video ID',\r\n name: 'videoId',\r\n placeholder: 'eg. 123456789',\r\n changeProp: 1\r\n },\r\n {\r\n label: 'Color',\r\n name: 'color',\r\n placeholder: 'eg. FF0000',\r\n changeProp: 1\r\n },\r\n this.getAutoplayTrait(),\r\n this.getLoopTrait()\r\n ];\r\n },\r\n\r\n /**\r\n * Return object trait\r\n * @return {Object}\r\n * @private\r\n */\r\n getAutoplayTrait() {\r\n return {\r\n type: 'checkbox',\r\n label: 'Autoplay',\r\n name: 'autoplay',\r\n changeProp: 1\r\n };\r\n },\r\n\r\n /**\r\n * Return object trait\r\n * @return {Object}\r\n * @private\r\n */\r\n getLoopTrait() {\r\n return {\r\n type: 'checkbox',\r\n label: 'Loop',\r\n name: 'loop',\r\n changeProp: 1\r\n };\r\n },\r\n\r\n /**\r\n * Return object trait\r\n * @return {Object}\r\n * @private\r\n */\r\n getControlsTrait() {\r\n return {\r\n type: 'checkbox',\r\n label: 'Controls',\r\n name: 'controls',\r\n changeProp: 1\r\n };\r\n },\r\n\r\n /**\r\n * Returns url to youtube video\r\n * @return {string}\r\n * @private\r\n */\r\n getYoutubeSrc() {\r\n const id = this.get('videoId');\r\n let url = this.get('ytUrl');\r\n const list = this.get('list');\r\n url += id + (id.indexOf('?') < 0 ? '?' : '');\r\n url += list ? `&list=${list}` : '';\r\n url += this.get('autoplay') ? '&autoplay=1' : '';\r\n url += !this.get('controls') ? '&controls=0&showinfo=0' : '';\r\n // Loop works only with playlist enabled\r\n // https://stackoverflow.com/questions/25779966/youtube-iframe-loop-doesnt-work\r\n url += this.get('loop') ? `&loop=1&playlist=${id}` : '';\r\n url += this.get('rel') ? '' : '&rel=0';\r\n url += this.get('modestbranding') ? '&modestbranding=1' : '';\r\n return url;\r\n },\r\n\r\n /**\r\n * Returns url to youtube no cookie video\r\n * @return {string}\r\n * @private\r\n */\r\n getYoutubeNoCookieSrc() {\r\n let url = this.getYoutubeSrc();\r\n url = url.replace(this.get('ytUrl'), this.get('ytncUrl'));\r\n return url;\r\n },\r\n\r\n /**\r\n * Returns url to vimeo video\r\n * @return {string}\r\n * @private\r\n */\r\n getVimeoSrc() {\r\n var url = this.get('viUrl');\r\n url += this.get('videoId') + '?';\r\n url += this.get('autoplay') ? '&autoplay=1' : '';\r\n url += this.get('loop') ? '&loop=1' : '';\r\n url += !this.get('controls') ? '&title=0&portrait=0&badge=0' : '';\r\n url += this.get('color') ? '&color=' + this.get('color') : '';\r\n return url;\r\n }\r\n },\r\n {\r\n /**\r\n * Detect if the passed element is a valid component.\r\n * In case the element is valid an object abstracted\r\n * from the element will be returned\r\n * @param {HTMLElement}\r\n * @return {Object}\r\n * @private\r\n */\r\n isComponent(el) {\r\n let result = '';\r\n const { tagName, src } = el;\r\n const isYtProv = /youtube\\.com\\/embed/.test(src);\r\n const isYtncProv = /youtube-nocookie\\.com\\/embed/.test(src);\r\n const isViProv = /player\\.vimeo\\.com\\/video/.test(src);\r\n const isExtProv = isYtProv || isYtncProv || isViProv;\r\n if (\r\n toLowerCase(tagName) == type ||\r\n (toLowerCase(tagName) == 'iframe' && isExtProv)\r\n ) {\r\n result = { type: 'video' };\r\n if (src) result.src = src;\r\n if (isExtProv) {\r\n if (isYtProv) result.provider = yt;\r\n else if (isYtncProv) result.provider = ytnc;\r\n else if (isViProv) result.provider = vi;\r\n }\r\n }\r\n return result;\r\n }\r\n }\r\n);\r\n","import ComponentView from './ComponentImageView';\r\nimport OComponentView from './ComponentView';\r\n\r\nexport default ComponentView.extend({\r\n tagName: 'div',\r\n\r\n events: {},\r\n\r\n initialize(o) {\r\n OComponentView.prototype.initialize.apply(this, arguments);\r\n const { model } = this;\r\n const props = [\r\n 'loop',\r\n 'autoplay',\r\n 'controls',\r\n 'color',\r\n 'rel',\r\n 'modestbranding',\r\n 'poster'\r\n ];\r\n const events = props.map(p => `change:${p}`).join(' ');\r\n this.listenTo(model, 'change:provider', this.updateProvider);\r\n this.listenTo(model, 'change:src', this.updateSrc);\r\n this.listenTo(model, events, this.updateVideo);\r\n },\r\n\r\n /**\r\n * Rerender on update of the provider\r\n * @private\r\n */\r\n updateProvider() {\r\n var prov = this.model.get('provider');\r\n this.el.innerHTML = '';\r\n this.el.appendChild(this.renderByProvider(prov));\r\n },\r\n\r\n /**\r\n * Update the source of the video\r\n * @private\r\n */\r\n updateSrc() {\r\n const { model, videoEl } = this;\r\n if (!videoEl) return;\r\n const prov = model.get('provider');\r\n let src = model.get('src');\r\n\r\n switch (prov) {\r\n case 'yt':\r\n src = model.getYoutubeSrc();\r\n break;\r\n case 'ytnc':\r\n src = model.getYoutubeNoCookieSrc();\r\n break;\r\n case 'vi':\r\n src = model.getVimeoSrc();\r\n break;\r\n }\r\n\r\n videoEl.src = src;\r\n },\r\n\r\n /**\r\n * Update video parameters\r\n * @private\r\n */\r\n updateVideo() {\r\n var prov = this.model.get('provider');\r\n var videoEl = this.videoEl;\r\n var md = this.model;\r\n switch (prov) {\r\n case 'yt':\r\n case 'ytnc':\r\n case 'vi':\r\n this.model.trigger('change:videoId');\r\n break;\r\n default:\r\n videoEl.loop = md.get('loop');\r\n videoEl.autoplay = md.get('autoplay');\r\n videoEl.controls = md.get('controls');\r\n videoEl.poster = md.get('poster');\r\n }\r\n },\r\n\r\n renderByProvider(prov) {\r\n var videoEl;\r\n switch (prov) {\r\n case 'yt':\r\n videoEl = this.renderYoutube();\r\n break;\r\n case 'ytnc':\r\n videoEl = this.renderYoutubeNoCookie();\r\n break;\r\n case 'vi':\r\n videoEl = this.renderVimeo();\r\n break;\r\n default:\r\n videoEl = this.renderSource();\r\n }\r\n this.videoEl = videoEl;\r\n return videoEl;\r\n },\r\n\r\n renderSource() {\r\n var el = document.createElement('video');\r\n el.src = this.model.get('src');\r\n this.initVideoEl(el);\r\n return el;\r\n },\r\n\r\n renderYoutube() {\r\n var el = document.createElement('iframe');\r\n el.src = this.model.getYoutubeSrc();\r\n el.frameBorder = 0;\r\n el.setAttribute('allowfullscreen', true);\r\n this.initVideoEl(el);\r\n return el;\r\n },\r\n\r\n renderYoutubeNoCookie() {\r\n var el = document.createElement('iframe');\r\n el.src = this.model.getYoutubeNoCookieSrc();\r\n el.frameBorder = 0;\r\n el.setAttribute('allowfullscreen', true);\r\n this.initVideoEl(el);\r\n return el;\r\n },\r\n\r\n renderVimeo() {\r\n var el = document.createElement('iframe');\r\n el.src = this.model.getVimeoSrc();\r\n el.frameBorder = 0;\r\n el.setAttribute('allowfullscreen', true);\r\n this.initVideoEl(el);\r\n return el;\r\n },\r\n\r\n initVideoEl(el) {\r\n el.className = this.ppfx + 'no-pointer';\r\n el.style.height = '100%';\r\n el.style.width = '100%';\r\n },\r\n\r\n render(...args) {\r\n ComponentView.prototype.render.apply(this, args);\r\n this.updateClasses();\r\n var prov = this.model.get('provider');\r\n this.el.appendChild(this.renderByProvider(prov));\r\n this.updateVideo();\r\n return this;\r\n }\r\n});\r\n","import Component from './Component';\r\nimport { toLowerCase } from 'utils/mixins';\r\n\r\nconst type = 'script';\r\n\r\nexport default Component.extend(\r\n {\r\n defaults: {\r\n ...Component.prototype.defaults,\r\n type,\r\n tagName: type,\r\n droppable: false,\r\n draggable: false,\r\n layerable: false\r\n }\r\n },\r\n {\r\n isComponent(el) {\r\n if (toLowerCase(el.tagName) == type) {\r\n const result = { type };\r\n\r\n if (el.src) {\r\n result.src = el.src;\r\n result.onload = el.onload;\r\n }\r\n\r\n return result;\r\n }\r\n }\r\n }\r\n);\r\n","import ComponentView from './ComponentImageView';\r\n\r\nexport default ComponentView.extend({\r\n tagName: 'script',\r\n\r\n events: {},\r\n\r\n render() {\r\n const { model, em } = this;\r\n const src = model.get('src');\r\n const scrCnt = em && em.get('scriptCount');\r\n const scriptCount = scrCnt ? scrCnt : 0;\r\n let content = '';\r\n\r\n // If it's an external script\r\n if (src) {\r\n const onload = model.get('onload');\r\n const svar = `script${scriptCount}`;\r\n const svarNext = `script${scriptCount + 1}`;\r\n const svarFn = `${svar}Start`;\r\n const svarNextFn = `${svarNext}Start`;\r\n // Load multiple external scripts in the correct order\r\n content = `\r\n var ${svar} = document.createElement('script');\r\n ${svar}.onload = function() {\r\n ${onload ? `${onload}();\\n` : ''}\r\n typeof ${svarNextFn} == 'function' && ${svarNextFn}();\r\n };\r\n ${svar}.src = '${src}';\r\n function ${svarFn}() { document.body.appendChild(${svar}); };\r\n ${!scriptCount ? `${svarFn}();` : ''}\r\n `;\r\n em && em.set('scriptCount', scriptCount + 1);\r\n } else {\r\n content = model.__innerHTML();\r\n }\r\n\r\n this.el.innerHTML = content;\r\n this.postRender();\r\n return this;\r\n }\r\n});\r\n","import Component from './Component';\r\nimport { toLowerCase } from 'utils/mixins';\r\n\r\nconst type = 'svg';\r\n\r\nexport default Component.extend(\r\n {\r\n defaults: {\r\n ...Component.prototype.defaults,\r\n type,\r\n tagName: type,\r\n highlightable: 0,\r\n resizable: { ratioDefault: 1 }\r\n },\r\n\r\n getName() {\r\n let name = this.get('tagName');\r\n let customName = this.get('custom-name');\r\n name = name.charAt(0).toUpperCase() + name.slice(1);\r\n return customName || name;\r\n }\r\n },\r\n {\r\n isComponent: el => toLowerCase(el.tagName) === type\r\n }\r\n);\r\n","import Component from './ComponentSvg';\r\n\r\n/**\r\n * Component for inner SVG elements\r\n */\r\nexport default Component.extend(\r\n {\r\n defaults: {\r\n ...Component.prototype.defaults,\r\n selectable: false,\r\n hoverable: false,\r\n layerable: false\r\n }\r\n },\r\n {\r\n isComponent: (el, opts = {}) => !!opts.inSvg\r\n }\r\n);\r\n","import ComponentView from './ComponentView';\r\n\r\nexport default ComponentView.extend({\r\n _createElement: function(tagName) {\r\n return document.createElementNS('http://www.w3.org/2000/svg', tagName);\r\n }\r\n});\r\n","import Component from './Component';\r\nimport { escape } from 'utils/mixins';\r\n\r\nexport default Component.extend(\r\n {\r\n defaults: {\r\n ...Component.prototype.defaults,\r\n tagName: '',\r\n droppable: false,\r\n layerable: false,\r\n selectable: false,\r\n editable: true\r\n },\r\n\r\n toHTML() {\r\n const parent = this.parent();\r\n const cnt = this.get('content');\r\n return parent && parent.is('script') ? cnt : escape(cnt);\r\n }\r\n },\r\n {\r\n isComponent(el) {\r\n var result = '';\r\n if (el.nodeType === 3) {\r\n result = {\r\n type: 'textnode',\r\n content: el.textContent\r\n };\r\n }\r\n return result;\r\n }\r\n }\r\n);\r\n","import Component from './ComponentTextNode';\r\n\r\nexport default Component.extend(\r\n {\r\n defaults: {\r\n ...Component.prototype.defaults\r\n },\r\n\r\n toHTML() {\r\n return ``;\r\n }\r\n },\r\n {\r\n isComponent(el) {\r\n if (el.nodeType == 8) {\r\n return {\r\n tagName: 'NULL',\r\n type: 'comment',\r\n content: el.textContent\r\n };\r\n }\r\n }\r\n }\r\n);\r\n","import ComponentView from './ComponentView';\r\n\r\nexport default ComponentView.extend({\r\n initialize() {\r\n ComponentView.prototype.initialize.apply(this, arguments);\r\n },\r\n\r\n // Clear methods used on Nodes with attributes\r\n _setAttributes() {},\r\n renderAttributes() {},\r\n updateStatus() {},\r\n updateClasses() {},\r\n setAttribute() {},\r\n updateAttributes() {},\r\n initClasses() {},\r\n initComponents() {},\r\n delegateEvents() {},\r\n\r\n _createElement() {\r\n return document.createTextNode('');\r\n },\r\n\r\n render() {\r\n const { model, el } = this;\r\n if (model.opt.temporary) return this;\r\n el.textContent = model.get('content');\r\n return this;\r\n }\r\n});\r\n","import ComponentView from './ComponentTextNodeView';\r\n\r\nexport default ComponentView.extend({\r\n _createElement() {\r\n return document.createComment(this.model.get('content'));\r\n }\r\n});\r\n","import Component from './Component';\r\n\r\nexport default class ComponentWrapper extends Component {\r\n defaults() {\r\n return {\r\n ...Component.getDefaults(),\r\n tagName: 'body',\r\n removable: false,\r\n copyable: false,\r\n draggable: false,\r\n components: [],\r\n traits: [],\r\n stylable: [\r\n 'background',\r\n 'background-color',\r\n 'background-image',\r\n 'background-repeat',\r\n 'background-attachment',\r\n 'background-position',\r\n 'background-size',\r\n ],\r\n };\r\n }\r\n\r\n __postAdd() {\r\n const um = this.em && this.em.get('UndoManager');\r\n um && !this.__hasUm && um.add(this);\r\n return Component.prototype.__postAdd.call(this, arguments);\r\n }\r\n\r\n __postRemove() {\r\n const um = this.em && this.em.get('UndoManager');\r\n um && um.remove(this);\r\n return Component.prototype.__postRemove.call(this, arguments);\r\n }\r\n}\r\n\r\nComponentWrapper.isComponent = () => false;\r\n","import Component from './Component';\r\nimport { toLowerCase } from 'utils/mixins';\r\n\r\nconst type = 'iframe';\r\n\r\nexport default Component.extend(\r\n {\r\n defaults() {\r\n return {\r\n ...Component.prototype.defaults,\r\n type,\r\n tagName: type,\r\n droppable: false,\r\n resizable: true,\r\n traits: ['id', 'title', 'src'],\r\n attributes: { frameborder: '0' }\r\n };\r\n }\r\n },\r\n {\r\n isComponent: el => toLowerCase(el.tagName) === type\r\n }\r\n);\r\n","import ComponentView from './ComponentView';\r\nimport { createEl, find, attrUp } from 'utils/dom';\r\n\r\nexport default ComponentView.extend({\r\n tagName: 'div',\r\n\r\n initialize(...args) {\r\n ComponentView.prototype.initialize.apply(this, args);\r\n this.listenTo(this.model, 'change:attributes:src', this.updateSrc);\r\n },\r\n\r\n updateSrc() {\r\n const frame = find(this.el, 'iframe')[0];\r\n frame && attrUp(frame, { src: this.__getSrc() });\r\n },\r\n\r\n render(...args) {\r\n ComponentView.prototype.render.apply(this, args);\r\n const frame = createEl('iframe', {\r\n class: `${this.ppfx}no-pointer`,\r\n style: 'width: 100%; height: 100%; border: none',\r\n src: this.__getSrc()\r\n });\r\n this.el.appendChild(frame);\r\n return this;\r\n },\r\n\r\n __getSrc() {\r\n return this.model.getAttributes().src || '';\r\n }\r\n});\r\n","/**\r\n * With this module is possible to manage components inside the canvas. You can customize the initial state of the module from the editor initialization, by passing the following [Configuration Object](https://github.com/artf/grapesjs/blob/master/src/dom_components/config/config.js)\r\n * ```js\r\n * const editor = grapesjs.init({\r\n * domComponents: {\r\n * // options\r\n * }\r\n * })\r\n * ```\r\n *\r\n * Once the editor is instantiated you can use its API and listen to its events. Before using these methods, you should get the module from the instance.\r\n *\r\n * ```js\r\n * // Listen to events\r\n * editor.on('component:create', () => { ... });\r\n *\r\n * // Use the API\r\n * const cmp = editor.Components;\r\n * cmp.addType(...);\r\n * ```\r\n *\r\n * ## Available Events\r\n * * `component:create` - Component is created (only the model, is not yet mounted in the canvas), called after the init() method\r\n * * `component:mount` - Component is mounted to an element and rendered in canvas\r\n * * `component:add` - Triggered when a new component is added to the editor, the model is passed as an argument to the callback\r\n * * `component:remove` - Triggered when a component is removed, the model is passed as an argument to the callback\r\n * * `component:remove:before` - Triggered before the remove of the component, the model, remove function (if aborted via options, with this function you can complete the remove) and options (use options.abort = true to prevent remove), are passed as arguments to the callback\r\n * * `component:clone` - Triggered when a component is cloned, the new model is passed as an argument to the callback\r\n * * `component:update` - Triggered when a component is updated (moved, styled, etc.), the model is passed as an argument to the callback\r\n * * `component:update:{propertyName}` - Listen any property change, the model is passed as an argument to the callback\r\n * * `component:styleUpdate` - Triggered when the style of the component is updated, the model is passed as an argument to the callback\r\n * * `component:styleUpdate:{propertyName}` - Listen for a specific style property change, the model is passed as an argument to the callback\r\n * * `component:selected` - New component selected, the selected model is passed as an argument to the callback\r\n * * `component:deselected` - Component deselected, the deselected model is passed as an argument to the callback\r\n * * `component:toggled` - Component selection changed, toggled model is passed as an argument to the callback\r\n * * `component:type:add` - New component type added, the new type is passed as an argument to the callback\r\n * * `component:type:update` - Component type updated, the updated type is passed as an argument to the callback\r\n * * `component:drag:start` - Component drag started. Passed an object, to the callback, containing the `target` (component to drag), `parent` (parent of the component) and `index` (component index in the parent)\r\n * * `component:drag` - During component drag. Passed the same object as in `component:drag:start` event, but in this case, `parent` and `index` are updated by the current pointer\r\n * * `component:drag:end` - Component drag ended. Passed the same object as in `component:drag:start` event, but in this case, `parent` and `index` are updated by the final pointer\r\n *\r\n * ## Methods\r\n * * [getWrapper](#getwrapper)\r\n * * [getComponents](#getcomponents)\r\n * * [addComponent](#addcomponent)\r\n * * [clear](#clear)\r\n * * [load](#load)\r\n * * [store](#store)\r\n * * [addType](#addtype)\r\n * * [getType](#gettype)\r\n * * [getTypes](#gettypes)\r\n * * [render](#render)\r\n *\r\n * @module Components\r\n */\r\nimport { isEmpty, isObject, isArray, isFunction, isString, result, debounce } from 'underscore';\r\nimport defaults from './config/config';\r\nimport Component, { keyUpdate, keyUpdateInside } from './model/Component';\r\nimport Components from './model/Components';\r\nimport ComponentView from './view/ComponentView';\r\nimport ComponentWrapperView from './view/ComponentWrapperView';\r\nimport ComponentsView from './view/ComponentsView';\r\nimport ComponentTableCell from './model/ComponentTableCell';\r\nimport ComponentTableCellView from './view/ComponentTableCellView';\r\nimport ComponentTableRow from './model/ComponentTableRow';\r\nimport ComponentTableRowView from './view/ComponentTableRowView';\r\nimport ComponentTable from './model/ComponentTable';\r\nimport ComponentTableView from './view/ComponentTableView';\r\nimport ComponentTableHead from './model/ComponentTableHead';\r\nimport ComponentTableHeadView from './view/ComponentTableHeadView';\r\nimport ComponentTableBody from './model/ComponentTableBody';\r\nimport ComponentTableBodyView from './view/ComponentTableBodyView';\r\nimport ComponentTableFoot from './model/ComponentTableFoot';\r\nimport ComponentTableFootView from './view/ComponentTableFootView';\r\nimport ComponentMap from './model/ComponentMap';\r\nimport ComponentMapView from './view/ComponentMapView';\r\nimport ComponentLink from './model/ComponentLink';\r\nimport ComponentLinkView from './view/ComponentLinkView';\r\nimport ComponentLabel from './model/ComponentLabel';\r\nimport ComponentLabelView from './view/ComponentLabelView';\r\nimport ComponentVideo from './model/ComponentVideo';\r\nimport ComponentVideoView from './view/ComponentVideoView';\r\nimport ComponentImage from './model/ComponentImage';\r\nimport ComponentImageView from './view/ComponentImageView';\r\nimport ComponentScript from './model/ComponentScript';\r\nimport ComponentScriptView from './view/ComponentScriptView';\r\nimport ComponentSvg from './model/ComponentSvg';\r\nimport ComponentSvgIn from './model/ComponentSvgIn';\r\nimport ComponentSvgView from './view/ComponentSvgView';\r\nimport ComponentComment from './model/ComponentComment';\r\nimport ComponentCommentView from './view/ComponentCommentView';\r\nimport ComponentTextNode from './model/ComponentTextNode';\r\nimport ComponentTextNodeView from './view/ComponentTextNodeView';\r\nimport ComponentText from './model/ComponentText';\r\nimport ComponentTextView from './view/ComponentTextView';\r\nimport ComponentWrapper from './model/ComponentWrapper';\r\nimport ComponentFrame from './model/ComponentFrame';\r\nimport ComponentFrameView from './view/ComponentFrameView';\r\nimport Module from 'common/module';\r\n\r\nexport default () => {\r\n var c = {};\r\n let em;\r\n const componentsById = {};\r\n\r\n var component, componentView;\r\n var componentTypes = [\r\n {\r\n id: 'cell',\r\n model: ComponentTableCell,\r\n view: ComponentTableCellView,\r\n },\r\n {\r\n id: 'row',\r\n model: ComponentTableRow,\r\n view: ComponentTableRowView,\r\n },\r\n {\r\n id: 'table',\r\n model: ComponentTable,\r\n view: ComponentTableView,\r\n },\r\n {\r\n id: 'thead',\r\n model: ComponentTableHead,\r\n view: ComponentTableHeadView,\r\n },\r\n {\r\n id: 'tbody',\r\n model: ComponentTableBody,\r\n view: ComponentTableBodyView,\r\n },\r\n {\r\n id: 'tfoot',\r\n model: ComponentTableFoot,\r\n view: ComponentTableFootView,\r\n },\r\n {\r\n id: 'map',\r\n model: ComponentMap,\r\n view: ComponentMapView,\r\n },\r\n {\r\n id: 'link',\r\n model: ComponentLink,\r\n view: ComponentLinkView,\r\n },\r\n {\r\n id: 'label',\r\n model: ComponentLabel,\r\n view: ComponentLabelView,\r\n },\r\n {\r\n id: 'video',\r\n model: ComponentVideo,\r\n view: ComponentVideoView,\r\n },\r\n {\r\n id: 'image',\r\n model: ComponentImage,\r\n view: ComponentImageView,\r\n },\r\n {\r\n id: 'script',\r\n model: ComponentScript,\r\n view: ComponentScriptView,\r\n },\r\n {\r\n id: 'svg-in',\r\n model: ComponentSvgIn,\r\n view: ComponentSvgView,\r\n },\r\n {\r\n id: 'svg',\r\n model: ComponentSvg,\r\n view: ComponentSvgView,\r\n },\r\n {\r\n id: 'iframe',\r\n model: ComponentFrame,\r\n view: ComponentFrameView,\r\n },\r\n {\r\n id: 'comment',\r\n model: ComponentComment,\r\n view: ComponentCommentView,\r\n },\r\n {\r\n id: 'textnode',\r\n model: ComponentTextNode,\r\n view: ComponentTextNodeView,\r\n },\r\n {\r\n id: 'text',\r\n model: ComponentText,\r\n view: ComponentTextView,\r\n },\r\n {\r\n id: 'wrapper',\r\n model: ComponentWrapper,\r\n view: ComponentWrapperView,\r\n },\r\n {\r\n id: 'default',\r\n model: Component,\r\n view: ComponentView,\r\n },\r\n ];\r\n\r\n return {\r\n ...Module,\r\n\r\n Component,\r\n\r\n Components,\r\n\r\n ComponentsView,\r\n\r\n componentTypes,\r\n\r\n componentsById,\r\n\r\n /**\r\n * Name of the module\r\n * @type {String}\r\n * @private\r\n */\r\n name: 'DomComponents',\r\n\r\n storageKey: 'components',\r\n\r\n /**\r\n * Returns config\r\n * @return {Object} Config object\r\n * @private\r\n */\r\n getConfig() {\r\n return c;\r\n },\r\n\r\n /**\r\n * Initialize module. Called on a new instance of the editor with configurations passed\r\n * inside 'domComponents' field\r\n * @param {Object} config Configurations\r\n * @private\r\n */\r\n init(config) {\r\n c = config || {};\r\n em = c.em;\r\n this.em = em;\r\n\r\n if (em) {\r\n c.components = em.config.components || c.components;\r\n }\r\n\r\n for (var name in defaults) {\r\n if (!(name in c)) c[name] = defaults[name];\r\n }\r\n\r\n var ppfx = c.pStylePrefix;\r\n if (ppfx) c.stylePrefix = ppfx + c.stylePrefix;\r\n\r\n // Load dependencies\r\n if (em) {\r\n c.modal = em.get('Modal') || '';\r\n c.am = em.get('AssetManager') || '';\r\n em.get('Parser').compTypes = componentTypes;\r\n em.on('change:componentHovered', this.componentHovered, this);\r\n\r\n const selected = em.get('selected');\r\n em.listenTo(selected, 'add', (sel, c, opts) => this.selectAdd(selected.getComponent(sel), opts));\r\n em.listenTo(selected, 'remove', (sel, c, opts) => this.selectRemove(selected.getComponent(sel), opts));\r\n }\r\n\r\n return this;\r\n },\r\n\r\n load(data) {\r\n return this.loadProjectData(data, {\r\n onResult: result => {\r\n const wrapper = this.getWrapper();\r\n if (isArray(result)) {\r\n result.length && wrapper.components(result);\r\n } else {\r\n const { components = [], ...rest } = result;\r\n wrapper.set(rest);\r\n wrapper.components(components);\r\n }\r\n },\r\n });\r\n },\r\n\r\n store() {\r\n return {};\r\n },\r\n\r\n /**\r\n * Returns privately the main wrapper\r\n * @return {Object}\r\n * @private\r\n */\r\n getComponent() {\r\n const sel = this.em.get('PageManager').getSelected();\r\n const frame = sel && sel.getMainFrame();\r\n return frame && frame.getComponent();\r\n },\r\n\r\n /**\r\n * Returns root component inside the canvas. Something like `` inside HTML page\r\n * The wrapper doesn't differ from the original Component Model\r\n * @return {Component} Root Component\r\n * @example\r\n * // Change background of the wrapper and set some attribute\r\n * var wrapper = cmp.getWrapper();\r\n * wrapper.set('style', {'background-color': 'red'});\r\n * wrapper.set('attributes', {'title': 'Hello!'});\r\n */\r\n getWrapper() {\r\n return this.getComponent();\r\n },\r\n\r\n /**\r\n * Returns wrapper's children collection. Once you have the collection you can\r\n * add other Components(Models) inside. Each component can have several nested\r\n * components inside and you can nest them as more as you wish.\r\n * @return {Components} Collection of components\r\n * @example\r\n * // Let's add some component\r\n * var wrapperChildren = cmp.getComponents();\r\n * var comp1 = wrapperChildren.add({\r\n * style: { 'background-color': 'red'}\r\n * });\r\n * var comp2 = wrapperChildren.add({\r\n * tagName: 'span',\r\n * attributes: { title: 'Hello!'}\r\n * });\r\n * // Now let's add an other one inside first component\r\n * // First we have to get the collection inside. Each\r\n * // component has 'components' property\r\n * var comp1Children = comp1.get('components');\r\n * // Procede as before. You could also add multiple objects\r\n * comp1Children.add([\r\n * { style: { 'background-color': 'blue'}},\r\n * { style: { height: '100px', width: '100px'}}\r\n * ]);\r\n * // Remove comp2\r\n * wrapperChildren.remove(comp2);\r\n */\r\n getComponents() {\r\n const wrp = this.getWrapper();\r\n return wrp && wrp.get('components');\r\n },\r\n\r\n /**\r\n * Add new components to the wrapper's children. It's the same\r\n * as 'cmp.getComponents().add(...)'\r\n * @param {Object|Component|Array} component Component/s to add\r\n * @param {string} [component.tagName='div'] Tag name\r\n * @param {string} [component.type=''] Type of the component. Available: ''(default), 'text', 'image'\r\n * @param {boolean} [component.removable=true] If component is removable\r\n * @param {boolean} [component.draggable=true] If is possible to move the component around the structure\r\n * @param {boolean} [component.droppable=true] If is possible to drop inside other components\r\n * @param {boolean} [component.badgable=true] If the badge is visible when the component is selected\r\n * @param {boolean} [component.stylable=true] If is possible to style component\r\n * @param {boolean} [component.copyable=true] If is possible to copy&paste the component\r\n * @param {string} [component.content=''] String inside component\r\n * @param {Object} [component.style={}] Style object\r\n * @param {Object} [component.attributes={}] Attribute object\r\n * @param {Object} opt the options object to be used by the [Components.add]{@link getComponents} method\r\n * @return {Component|Array} Component/s added\r\n * @example\r\n * // Example of a new component with some extra property\r\n * var comp1 = cmp.addComponent({\r\n * tagName: 'div',\r\n * removable: true, // Can't remove it\r\n * draggable: true, // Can't move it\r\n * copyable: true, // Disable copy/past\r\n * content: 'Content text', // Text inside component\r\n * style: { color: 'red'},\r\n * attributes: { title: 'here' }\r\n * });\r\n */\r\n addComponent(component, opt = {}) {\r\n return this.getComponents().add(component, opt);\r\n },\r\n\r\n /**\r\n * Render and returns wrapper element with all components inside.\r\n * Once the wrapper is rendered, and it's what happens when you init the editor,\r\n * the all new components will be added automatically and property changes are all\r\n * updated immediately\r\n * @return {HTMLElement}\r\n */\r\n render() {\r\n return componentView.render().el;\r\n },\r\n\r\n /**\r\n * Remove all components\r\n * @return {this}\r\n */\r\n clear(opts = {}) {\r\n this.getComponents()\r\n .map(i => i)\r\n .forEach(i => i.remove(opts));\r\n return this;\r\n },\r\n\r\n /**\r\n * Set components\r\n * @param {Object|string} components HTML string or components model\r\n * @param {Object} opt the options object to be used by the {@link addComponent} method\r\n * @return {this}\r\n * @private\r\n */\r\n setComponents(components, opt = {}) {\r\n this.clear(opt).addComponent(components, opt);\r\n },\r\n\r\n /**\r\n * Add new component type.\r\n * Read more about this in [Define New Component](https://grapesjs.com/docs/modules/Components.html#define-new-component)\r\n * @param {string} type Component ID\r\n * @param {Object} methods Component methods\r\n * @return {this}\r\n */\r\n addType(type, methods) {\r\n const { em } = this;\r\n const { model = {}, view = {}, isComponent, extend, extendView, extendFn = [], extendFnView = [] } = methods;\r\n const compType = this.getType(type);\r\n const extendType = this.getType(extend);\r\n const extendViewType = this.getType(extendView);\r\n const typeToExtend = extendType ? extendType : compType ? compType : this.getType('default');\r\n const modelToExt = typeToExtend.model;\r\n const viewToExt = extendViewType ? extendViewType.view : typeToExtend.view;\r\n\r\n // Function for extending source object methods\r\n const getExtendedObj = (fns, target, srcToExt) =>\r\n fns.reduce((res, next) => {\r\n const fn = target[next];\r\n const parentFn = srcToExt.prototype[next];\r\n if (fn && parentFn) {\r\n res[next] = function (...args) {\r\n parentFn.bind(this)(...args);\r\n fn.bind(this)(...args);\r\n };\r\n }\r\n return res;\r\n }, {});\r\n\r\n // If the model/view is a simple object I need to extend it\r\n if (typeof model === 'object') {\r\n methods.model = modelToExt.extend(\r\n {\r\n ...model,\r\n ...getExtendedObj(extendFn, model, modelToExt),\r\n defaults: {\r\n ...(result(modelToExt.prototype, 'defaults') || {}),\r\n ...(result(model, 'defaults') || {}),\r\n },\r\n },\r\n {\r\n isComponent: compType && !extendType && !isComponent ? modelToExt.isComponent : isComponent || (() => 0),\r\n }\r\n );\r\n }\r\n\r\n if (typeof view === 'object') {\r\n methods.view = viewToExt.extend({\r\n ...view,\r\n ...getExtendedObj(extendFnView, view, viewToExt),\r\n });\r\n }\r\n\r\n if (compType) {\r\n compType.model = methods.model;\r\n compType.view = methods.view;\r\n } else {\r\n methods.id = type;\r\n componentTypes.unshift(methods);\r\n }\r\n\r\n const event = `component:type:${compType ? 'update' : 'add'}`;\r\n em && em.trigger(event, compType || methods);\r\n\r\n return this;\r\n },\r\n\r\n /**\r\n * Get component type.\r\n * Read more about this in [Define New Component](https://grapesjs.com/docs/modules/Components.html#define-new-component)\r\n * @param {string} type Component ID\r\n * @return {Object} Component type definition, eg. `{ model: ..., view: ... }`\r\n */\r\n getType(type) {\r\n var df = componentTypes;\r\n\r\n for (var it = 0; it < df.length; it++) {\r\n var dfId = df[it].id;\r\n if (dfId == type) {\r\n return df[it];\r\n }\r\n }\r\n return;\r\n },\r\n\r\n /**\r\n * Remove component type\r\n * @param {string} type Component ID\r\n * @returns {Object|undefined} Removed component type, undefined otherwise\r\n */\r\n removeType(id) {\r\n const df = componentTypes;\r\n const type = this.getType(id);\r\n if (!type) return;\r\n const index = df.indexOf(type);\r\n df.splice(index, 1);\r\n return type;\r\n },\r\n\r\n /**\r\n * Return the array of all types\r\n * @return {Array}\r\n */\r\n getTypes() {\r\n return componentTypes;\r\n },\r\n\r\n selectAdd(component, opts = {}) {\r\n if (component) {\r\n component.set({\r\n status: 'selected',\r\n });\r\n ['component:selected', 'component:toggled'].forEach(event => this.em.trigger(event, component, opts));\r\n }\r\n },\r\n\r\n selectRemove(component, opts = {}) {\r\n if (component) {\r\n const { em } = this;\r\n component.set({\r\n status: '',\r\n state: '',\r\n });\r\n ['component:deselected', 'component:toggled'].forEach(event => this.em.trigger(event, component, opts));\r\n }\r\n },\r\n\r\n /**\r\n * Triggered when the component is hovered\r\n * @private\r\n */\r\n componentHovered() {\r\n const em = c.em;\r\n const model = em.get('componentHovered');\r\n const previous = em.previous('componentHovered');\r\n const state = 'hovered';\r\n\r\n // Deselect the previous component\r\n previous &&\r\n previous.get('status') == state &&\r\n previous.set({\r\n status: '',\r\n state: '',\r\n });\r\n\r\n model && isEmpty(model.get('status')) && model.set('status', state);\r\n },\r\n\r\n getShallowWrapper() {\r\n let { shallow, em } = this;\r\n\r\n if (!shallow && em) {\r\n const shallowEm = em.get('shallow');\r\n if (!shallowEm) return;\r\n const domc = shallowEm.get('DomComponents');\r\n domc.componentTypes = this.componentTypes;\r\n shallow = domc.getWrapper();\r\n if (shallow) {\r\n const events = [keyUpdate, keyUpdateInside].join(' ');\r\n shallow.on(\r\n events,\r\n debounce(() => shallow.components(''), 100)\r\n );\r\n }\r\n this.shallow = shallow;\r\n }\r\n\r\n return shallow;\r\n },\r\n\r\n /**\r\n * Check if the component can be moved inside another.\r\n * @param {[Component]} target The target Component is the one that is supposed to receive the source one.\r\n * @param {[Component]|String} source The source can be another Component or an HTML string.\r\n * @param {Number} [index] Index position. If not specified, the check will perform against appending the source to target.\r\n * @returns {Object} Object containing the `result` (Boolean), `source`, `target` (as Components), and a `reason` (Number) with these meanings:\r\n * * `0` - Invalid source. This is a default value and should be ignored in case the `result` is true.\r\n * * `1` - Source doesn't accept target as destination.\r\n * * `2` - Target doesn't accept source.\r\n * @private\r\n */\r\n canMove(target, source, index) {\r\n const at = index || index === 0 ? index : null;\r\n const result = {\r\n result: false,\r\n reason: 0,\r\n target,\r\n source: null,\r\n };\r\n\r\n if (!source) return result;\r\n\r\n let srcModel = source?.toHTML ? source : null;\r\n\r\n if (!srcModel) {\r\n const wrapper = this.getShallowWrapper();\r\n srcModel = wrapper?.append(source)[0];\r\n }\r\n\r\n result.source = srcModel;\r\n\r\n if (!srcModel) return result;\r\n\r\n // Check if the source is draggable in the target\r\n let draggable = srcModel.get('draggable');\r\n\r\n if (isFunction(draggable)) {\r\n draggable = !!draggable(srcModel, target, at);\r\n } else {\r\n const el = target.getEl();\r\n draggable = isArray(draggable) ? draggable.join(',') : draggable;\r\n draggable = isString(draggable) ? el?.matches(draggable) : draggable;\r\n }\r\n\r\n if (!draggable) return { ...result, reason: 1 };\r\n\r\n // Check if the target accepts the source\r\n let droppable = target.get('droppable');\r\n\r\n if (isFunction(droppable)) {\r\n droppable = !!droppable(srcModel, target, at);\r\n } else {\r\n if (droppable === false && target.isInstanceOf('text') && srcModel.get('textable')) {\r\n droppable = true;\r\n } else {\r\n const el = srcModel.getEl();\r\n droppable = isArray(droppable) ? droppable.join(',') : droppable;\r\n droppable = isString(droppable) ? el?.matches(droppable) : droppable;\r\n }\r\n }\r\n\r\n if (!droppable) return { ...result, reason: 2 };\r\n\r\n return { ...result, result: true };\r\n },\r\n\r\n allById() {\r\n return componentsById;\r\n },\r\n\r\n getById(id) {\r\n return componentsById[id] || null;\r\n },\r\n\r\n destroy() {\r\n const all = this.allById();\r\n Object.keys(all).forEach(id => all[id] && all[id].remove());\r\n componentView && componentView.remove();\r\n [c, em, componentsById, component, componentView].forEach(i => (i = {}));\r\n this.em = {};\r\n },\r\n };\r\n};\r\n","import { isUndefined } from 'underscore';\r\nimport { Model } from '../../common';\r\n\r\n/**\r\n * @typedef Trait\r\n * @property {String} id Trait id, eg. `my-trait-id`.\r\n * @property {String} type Trait type, defines how the trait should rendered. Possible values: `text` (default), `number`, `select`, `checkbox`, `color`, `button`\r\n * @property {String} label The trait label to show for the rendered trait.\r\n * @property {String} name The name of the trait used as a key for the attribute/property. By default, the name is used as attribute name or property in case `changeProp` in enabled.\r\n * @property {Boolean} changeProp If `true` the trait value is applied on component\r\n *\r\n */\r\nexport default class Trait extends Model {\r\n initialize() {\r\n const { target, name, changeProp } = this.attributes;\r\n !this.get('id') && this.set('id', name);\r\n\r\n if (target) {\r\n this.target = target;\r\n this.unset('target');\r\n const targetEvent = changeProp ? `change:${name}` : `change:attributes:${name}`;\r\n this.listenTo(target, targetEvent, this.targetUpdated);\r\n }\r\n }\r\n\r\n /**\r\n * Get the trait id.\r\n * @returns {String}\r\n */\r\n getId() {\r\n return this.get('id');\r\n }\r\n\r\n /**\r\n * Get the trait type.\r\n * @returns {String}\r\n */\r\n getType() {\r\n return this.get('type');\r\n }\r\n\r\n /**\r\n * Get the trait name.\r\n * @returns {String}\r\n */\r\n getName() {\r\n return this.get('name');\r\n }\r\n\r\n /**\r\n * Get the trait label.\r\n * @param {Object} [opts={}] Options.\r\n * @param {Boolean} [opts.locale=true] Use the locale string from i18n module.\r\n * @returns {String}\r\n */\r\n getLabel(opts = {}) {\r\n const { locale = true } = opts;\r\n const id = this.getId();\r\n const name = this.get('label') || this.getName();\r\n return (locale && this.em?.t(`traitManager.traits.labels.${id}`)) || name;\r\n }\r\n\r\n /**\r\n * Get the trait value.\r\n * The value is taken from component attributes by default or from properties if the trait has the `changeProp` enabled.\r\n * @returns {any}\r\n */\r\n getValue() {\r\n return this.getTargetValue();\r\n }\r\n\r\n /**\r\n * Update the trait value.\r\n * The value is applied on component attributes by default or on properties if the trait has the `changeProp` enabled.\r\n * @param {any} value Value of the trait.\r\n * @param {Object} [opts={}] Options.\r\n * @param {Boolean} [opts.partial] If `true` the update won't be considered complete (not stored in UndoManager).\r\n */\r\n setValue(value, opts = {}) {\r\n const valueOpts = {};\r\n\r\n if (opts.partial) {\r\n valueOpts.avoidStore = true;\r\n }\r\n\r\n this.setTargetValue(value, valueOpts);\r\n\r\n if (opts.partial === false) {\r\n this.setTargetValue('');\r\n this.setTargetValue(value);\r\n }\r\n }\r\n\r\n props() {\r\n return this.attributes;\r\n }\r\n\r\n targetUpdated() {\r\n const value = this.getTargetValue();\r\n this.set({ value }, { fromTarget: 1 });\r\n this.em?.trigger('trait:update', {\r\n trait: this,\r\n component: this.target,\r\n });\r\n }\r\n\r\n getTargetValue() {\r\n const name = this.get('name');\r\n const target = this.target;\r\n let value;\r\n\r\n if (this.get('changeProp')) {\r\n value = target.get(name);\r\n } else {\r\n value = target.getAttributes()[name];\r\n }\r\n\r\n return !isUndefined(value) ? value : '';\r\n }\r\n\r\n setTargetValue(value, opts = {}) {\r\n const target = this.target;\r\n const name = this.get('name');\r\n if (isUndefined(value)) return;\r\n let valueToSet = value;\r\n\r\n if (value === 'false') {\r\n valueToSet = false;\r\n } else if (value === 'true') {\r\n valueToSet = true;\r\n }\r\n\r\n if (this.get('changeProp')) {\r\n target.set(name, valueToSet, opts);\r\n } else {\r\n const attrs = { ...target.get('attributes') };\r\n attrs[name] = valueToSet;\r\n target.set('attributes', attrs, opts);\r\n }\r\n }\r\n\r\n setValueFromInput(value, final = 1, opts = {}) {\r\n const toSet = { value };\r\n this.set(toSet, { ...opts, avoidStore: 1 });\r\n\r\n // Have to trigger the change\r\n if (final) {\r\n this.set('value', '', opts);\r\n this.set(toSet, opts);\r\n }\r\n }\r\n\r\n getInitValue() {\r\n const target = this.target;\r\n const name = this.get('name');\r\n let value;\r\n\r\n if (target) {\r\n const attrs = target.get('attributes');\r\n value = this.get('changeProp') ? target.get(name) : attrs[name];\r\n }\r\n\r\n return value || this.get('value') || this.get('default');\r\n }\r\n}\r\n\r\nTrait.prototype.defaults = {\r\n type: 'text',\r\n label: '',\r\n name: '',\r\n min: '',\r\n max: '',\r\n unit: '',\r\n step: 1,\r\n value: '',\r\n target: '',\r\n default: '',\r\n placeholder: '',\r\n changeProp: 0,\r\n options: [],\r\n};\r\n","import { isString, isArray } from 'underscore';\r\nimport { Collection } from '../../common';\r\nimport Trait from './Trait';\r\nimport TraitFactory from './TraitFactory';\r\n\r\nexport default class Traits extends Collection {\r\n initialize(coll, options = {}) {\r\n this.em = options.em;\r\n this.listenTo(this, 'add', this.handleAdd);\r\n this.listenTo(this, 'reset', this.handleReset);\r\n }\r\n\r\n handleReset(coll, { previousModels = [] } = {}) {\r\n previousModels.forEach(model => model.trigger('remove'));\r\n }\r\n\r\n handleAdd(model) {\r\n model.em = this.em;\r\n const target = this.target;\r\n\r\n if (target) {\r\n model.target = target;\r\n }\r\n }\r\n\r\n setTarget(target) {\r\n this.target = target;\r\n }\r\n\r\n add(models, opt) {\r\n const em = this.em;\r\n\r\n // Use TraitFactory if necessary\r\n if (isString(models) || isArray(models)) {\r\n const tm = em && em.get && em.get('TraitManager');\r\n const tmOpts = tm && tm.getConfig();\r\n const tf = TraitFactory(tmOpts);\r\n\r\n if (isString(models)) {\r\n models = [models];\r\n }\r\n\r\n for (var i = 0, len = models.length; i < len; i++) {\r\n const str = models[i];\r\n const model = isString(str) ? tf.build(str)[0] : str;\r\n model.target = this.target;\r\n models[i] = model;\r\n }\r\n }\r\n\r\n return Collection.prototype.add.apply(this, [models, opt]);\r\n }\r\n}\r\n\r\nTraits.prototype.model = Trait;\r\n","export default (config = {}) => ({\r\n /**\r\n * Build props object by their name\r\n * @param {Array|string} props Array of properties name\r\n * @return {Array}\r\n */\r\n build(props) {\r\n const objs = [];\r\n\r\n if (typeof props === 'string') props = [props];\r\n\r\n for (let i = 0; i < props.length; i++) {\r\n const obj = {};\r\n const prop = props[i];\r\n obj.name = prop;\r\n\r\n switch (prop) {\r\n case 'target':\r\n obj.type = 'select';\r\n obj.default = false;\r\n obj.options = config.optionsTarget;\r\n break;\r\n }\r\n\r\n objs.push(obj);\r\n }\r\n\r\n return objs;\r\n }\r\n});\r\n","import {\r\n isUndefined,\r\n isFunction,\r\n isArray,\r\n isEmpty,\r\n isBoolean,\r\n has,\r\n isString,\r\n forEach,\r\n result,\r\n bindAll,\r\n keys,\r\n} from 'underscore';\r\nimport { shallowDiff, capitalize, isEmptyObj, isObject, toLowerCase } from 'utils/mixins';\r\nimport Styleable from 'domain_abstract/model/Styleable';\r\nimport { Model } from 'backbone';\r\nimport Components from './Components';\r\nimport Selector from 'selector_manager/model/Selector';\r\nimport Selectors from 'selector_manager/model/Selectors';\r\nimport Traits from 'trait_manager/model/Traits';\r\n\r\nconst escapeRegExp = str => {\r\n return str.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&');\r\n};\r\n\r\nconst avoidInline = em => em && em.getConfig('avoidInlineStyle');\r\n\r\nexport const eventDrag = 'component:drag';\r\nexport const keySymbols = '__symbols';\r\nexport const keySymbol = '__symbol';\r\nexport const keySymbolOvrd = '__symbol_ovrd';\r\nexport const keyUpdate = 'component:update';\r\nexport const keyUpdateInside = `${keyUpdate}-inside`;\r\n\r\n/**\r\n * The Component object represents a single node of our template structure, so when you update its properties the changes are\r\n * immediately reflected on the canvas and in the code to export (indeed, when you ask to export the code we just go through all\r\n * the tree of nodes).\r\n * An example on how to update properties:\r\n * ```js\r\n * component.set({\r\n * tagName: 'span',\r\n * attributes: { ... },\r\n * removable: false,\r\n * });\r\n * component.get('tagName');\r\n * // -> 'span'\r\n * ```\r\n *\r\n * [Component]: component.html\r\n *\r\n * @typedef Component\r\n * @property {String} [type=''] Component type, eg. `text`, `image`, `video`, etc.\r\n * @property {String} [tagName='div'] HTML tag of the component, eg. `span`. Default: `div`\r\n * @property {Object} [attributes={}] Key-value object of the component's attributes, eg. `{ title: 'Hello' }` Default: `{}`\r\n * @property {String} [name=''] Name of the component. Will be used, for example, in Layers and badges\r\n * @property {Boolean} [removable=true] When `true` the component is removable from the canvas, default: `true`\r\n * @property {Boolean|String|Function} [draggable=true] Indicates if it's possible to drag the component inside others.\r\n * You can also specify a query string to indentify elements,\r\n * eg. `'.some-class[title=Hello], [data-gjs-type=column]'` means you can drag the component only inside elements\r\n * containing `some-class` class and `Hello` title, and `column` components. In the case of a function, target and destination components are passed as arguments, return a Boolean to indicate if the drag is possible. Default: `true`\r\n * @property {Boolean|String|Function} [droppable=true] Indicates if it's possible to drop other components inside. You can use\r\n * a query string as with `draggable`. In the case of a function, target and destination components are passed as arguments, return a Boolean to indicate if the drop is possible. Default: `true`\r\n * @property {Boolean} [badgable=true] Set to false if you don't want to see the badge (with the name) over the component. Default: `true`\r\n * @property {Boolean|Array} [stylable=true] True if it's possible to style the component.\r\n * You can also indicate an array of CSS properties which is possible to style, eg. `['color', 'width']`, all other properties\r\n * will be hidden from the style manager. Default: `true`\r\n * @property {Array} [stylable-require=[]] Indicate an array of style properties to show up which has been marked as `toRequire`. Default: `[]`\r\n * @property {Array} [unstylable=[]] Indicate an array of style properties which should be hidden from the style manager. Default: `[]`\r\n * @property {Boolean} [highlightable=true] It can be highlighted with 'dotted' borders if true. Default: `true`\r\n * @property {Boolean} [copyable=true] True if it's possible to clone the component. Default: `true`\r\n * @property {Boolean} [resizable=false] Indicates if it's possible to resize the component. It's also possible to pass an object as [options for the Resizer](https://github.com/artf/grapesjs/blob/master/src/utils/Resizer.js). Default: `false`\r\n * @property {Boolean} [editable=false] Allow to edit the content of the component (used on Text components). Default: `false`\r\n * @property {Boolean} [layerable=true] Set to `false` if you need to hide the component inside Layers. Default: `true`\r\n * @property {Boolean} [selectable=true] Allow component to be selected when clicked. Default: `true`\r\n * @property {Boolean} [hoverable=true] Shows a highlight outline when hovering on the element if `true`. Default: `true`\r\n * @property {Boolean} [void=false] This property is used by the HTML exporter as void elements don't have closing tags, eg. `
`, `
`, etc. Default: `false`\r\n * @property {Object} [style={}] Component default style, eg. `{ width: '100px', height: '100px', 'background-color': 'red' }`\r\n * @property {String} [styles=''] Component related styles, eg. `.my-component-class { color: red }`\r\n * @property {String} [content=''] Content of the component (not escaped) which will be appended before children rendering. Default: `''`\r\n * @property {String} [icon=''] Component's icon, this string will be inserted before the name (in Layers and badge), eg. it can be an HTML string ''. Default: `''`\r\n * @property {String|Function} [script=''] Component's javascript. More about it [here](/modules/Components-js.html). Default: `''`\r\n * @property {String|Function} [script-export=''] You can specify javascript available only in export functions (eg. when you get the HTML).\r\n * If this property is defined it will overwrite the `script` one (in export functions). Default: `''`\r\n * @property {Array} [traits=''] Component's traits. More about it [here](/modules/Traits.html). Default: `['id', 'title']`\r\n * @property {Array} [propagate=[]] Indicates an array of properties which will be inhereted by all NEW appended children.\r\n * For example if you create a component likes this: `{ removable: false, draggable: false, propagate: ['removable', 'draggable'] }`\r\n * and append some new component inside, the new added component will get the exact same properties indicated in the `propagate` array (and the `propagate` property itself). Default: `[]`\r\n * @property {Array} [toolbar=null] Set an array of items to show up inside the toolbar when the component is selected (move, clone, delete).\r\n * Eg. `toolbar: [ { attributes: {class: 'fa fa-arrows'}, command: 'tlb-move' }, ... ]`.\r\n * By default, when `toolbar` property is falsy the editor will add automatically commands `core:component-exit` (select parent component, added if there is one), `tlb-move` (added if `draggable`) , `tlb-clone` (added if `copyable`), `tlb-delete` (added if `removable`).\r\n * @property {Collection} [components=null] Children components. Default: `null`\r\n */\r\nexport default class Component extends Model.extend(Styleable) {\r\n /**\r\n * Hook method, called once the model is created\r\n */\r\n init() {}\r\n\r\n /**\r\n * Hook method, called when the model has been updated (eg. updated some model's property)\r\n * @param {String} property Property name, if triggered after some property update\r\n * @param {*} value Property value, if triggered after some property update\r\n * @param {*} previous Property previous value, if triggered after some property update\r\n */\r\n updated(property, value, previous) {}\r\n\r\n /**\r\n * Hook method, called once the model has been removed\r\n */\r\n removed() {}\r\n\r\n initialize(props = {}, opt = {}) {\r\n bindAll(this, '__upSymbProps', '__upSymbCls', '__upSymbComps');\r\n const em = opt.em;\r\n\r\n // Propagate properties from parent if indicated\r\n const parent = this.parent();\r\n const parentAttr = parent && parent.attributes;\r\n const propagate = this.get('propagate');\r\n propagate && this.set('propagate', isArray(propagate) ? propagate : [propagate]);\r\n\r\n if (parentAttr && parentAttr.propagate && !propagate) {\r\n const newAttr = {};\r\n const toPropagate = parentAttr.propagate;\r\n toPropagate.forEach(prop => (newAttr[prop] = parent.get(prop)));\r\n newAttr.propagate = toPropagate;\r\n this.set({ ...newAttr, ...props });\r\n }\r\n\r\n // Check void elements\r\n if (opt && opt.config && opt.config.voidElements.indexOf(this.get('tagName')) >= 0) {\r\n this.set('void', true);\r\n }\r\n\r\n opt.em = em;\r\n this.opt = opt;\r\n this.em = em;\r\n this.frame = opt.frame;\r\n this.config = opt.config || {};\r\n this.set('attributes', {\r\n ...(result(this, 'defaults').attributes || {}),\r\n ...(this.get('attributes') || {}),\r\n });\r\n this.ccid = Component.createId(this, opt);\r\n this.initClasses();\r\n this.initTraits();\r\n this.initComponents();\r\n this.initToolbar();\r\n this.initScriptProps();\r\n this.listenTo(this, 'change:script', this.scriptUpdated);\r\n this.listenTo(this, 'change:tagName', this.tagUpdated);\r\n this.listenTo(this, 'change:attributes', this.attrUpdated);\r\n this.listenTo(this, 'change:attributes:id', this._idUpdated);\r\n this.on('change:toolbar', this.__emitUpdateTlb);\r\n this.on('change', this.__onChange);\r\n this.on(keyUpdateInside, this.__propToParent);\r\n this.set('status', '');\r\n this.views = [];\r\n\r\n // Register global updates for collection properties\r\n ['classes', 'traits', 'components'].forEach(name => {\r\n const events = `add remove ${name !== 'components' ? 'change' : ''}`;\r\n this.listenTo(this.get(name), events.trim(), (...args) => this.emitUpdate(name, ...args));\r\n });\r\n\r\n if (!opt.temporary) {\r\n // Add component styles\r\n const cssc = em && em.get('CssComposer');\r\n const { styles, type } = this.attributes;\r\n if (styles && cssc) {\r\n cssc.addCollection(styles, {}, { group: `cmp:${type}` });\r\n }\r\n\r\n this.__postAdd();\r\n this.init();\r\n this.__isSymbolOrInst() && this.__initSymb();\r\n em && em.trigger('component:create', this);\r\n }\r\n }\r\n\r\n __postAdd(opts = {}) {\r\n const { em } = this;\r\n const um = em && em.get('UndoManager');\r\n const comps = this.components();\r\n if (um && !this.__hasUm) {\r\n um.add(comps);\r\n um.add(this.getSelectors());\r\n this.__hasUm = 1;\r\n }\r\n opts.recursive && comps.map(c => c.__postAdd(opts));\r\n }\r\n\r\n __postRemove() {\r\n const { em } = this;\r\n const um = em && em.get('UndoManager');\r\n if (um) {\r\n um.remove(this.components());\r\n um.remove(this.getSelectors());\r\n delete this.__hasUm;\r\n }\r\n }\r\n\r\n __onChange(m, opts) {\r\n const changed = this.changedAttributes();\r\n ['status', 'open', 'toolbar', 'traits'].forEach(name => delete changed[name]);\r\n // Propagate component prop changes\r\n if (!isEmptyObj(changed)) {\r\n this.__changesUp(opts);\r\n this.__propSelfToParent({ component: this, changed, options: opts });\r\n }\r\n }\r\n\r\n __changesUp(opts) {\r\n const { em, frame } = this;\r\n [frame, em].forEach(md => md && md.changesUp(opts));\r\n }\r\n\r\n __propSelfToParent(props) {\r\n this.trigger(keyUpdate, props);\r\n this.__propToParent(props);\r\n }\r\n\r\n __propToParent(props) {\r\n const parent = this.parent();\r\n parent && parent.trigger(keyUpdateInside, props);\r\n }\r\n\r\n __emitUpdateTlb() {\r\n this.emitUpdate('toolbar');\r\n }\r\n\r\n /**\r\n * Check component's type\r\n * @param {string} type Component type\r\n * @return {Boolean}\r\n * @example\r\n * component.is('image')\r\n * // -> false\r\n */\r\n is(type) {\r\n return !!(this.get('type') == type);\r\n }\r\n\r\n /**\r\n * Return all the propeties\r\n * @returns {Object}\r\n */\r\n props() {\r\n return this.attributes;\r\n }\r\n\r\n /**\r\n * Get the index of the component in the parent collection.\r\n * @return {Number}\r\n */\r\n index() {\r\n const { collection } = this;\r\n return collection ? collection.indexOf(this) : 0;\r\n }\r\n\r\n /**\r\n * Change the drag mode of the component.\r\n * To get more about this feature read: https://github.com/artf/grapesjs/issues/1936\r\n * @param {String} value Drag mode, options: 'absolute' | 'translate'\r\n * @returns {this}\r\n */\r\n setDragMode(value) {\r\n return this.set('dmode', value);\r\n }\r\n\r\n /**\r\n * Find inner components by query string.\r\n * **ATTENTION**: this method works only with already rendered component\r\n * @param {String} query Query string\r\n * @return {Array} Array of components\r\n * @example\r\n * component.find('div > .class');\r\n * // -> [Component, Component, ...]\r\n */\r\n find(query) {\r\n const result = [];\r\n const $els = this.view.$el.find(query);\r\n $els.each(i => {\r\n const $el = $els.eq(i);\r\n const model = $el.data('model');\r\n model && result.push(model);\r\n });\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Find all inner components by component type.\r\n * The advantage of this method over `find` is that you can use it\r\n * also before rendering the component\r\n * @param {String} type Component type\r\n * @returns {Array}\r\n * @example\r\n * const allImages = component.findType('image');\r\n * console.log(allImages[0]) // prints the first found component\r\n */\r\n findType(type) {\r\n const result = [];\r\n const find = components =>\r\n components.forEach(item => {\r\n item.is(type) && result.push(item);\r\n find(item.components());\r\n });\r\n find(this.components());\r\n return result;\r\n }\r\n\r\n /**\r\n * Find the closest parent component by query string.\r\n * **ATTENTION**: this method works only with already rendered component\r\n * @param {string} query Query string\r\n * @return {Component}\r\n * @example\r\n * component.closest('div.some-class');\r\n * // -> Component\r\n */\r\n closest(query) {\r\n const result = this.view.$el.closest(query);\r\n return result.length && result.data('model');\r\n }\r\n\r\n /**\r\n * Find the closest parent component by its type.\r\n * The advantage of this method over `closest` is that you can use it\r\n * also before rendering the component\r\n * @param {String} type Component type\r\n * @returns {Component} Found component, otherwise `undefined`\r\n * @example\r\n * const Section = component.closestType('section');\r\n * console.log(Section);\r\n */\r\n closestType(type) {\r\n let parent = this.parent();\r\n\r\n while (parent && !parent.is(type)) {\r\n parent = parent.parent();\r\n }\r\n\r\n return parent;\r\n }\r\n\r\n /**\r\n * The method returns a Boolean value indicating whether the passed\r\n * component is a descendant of a given component\r\n * @param {Component} component Component to check\r\n * @returns {Boolean}\r\n */\r\n contains(component) {\r\n let result = !1;\r\n if (!component) return result;\r\n const contains = components => {\r\n !result &&\r\n components.forEach(item => {\r\n if (item === component) result = !0;\r\n !result && contains(item.components());\r\n });\r\n };\r\n contains(this.components());\r\n return result;\r\n }\r\n\r\n /**\r\n * Once the tag is updated I have to rerender the element\r\n * @private\r\n */\r\n tagUpdated() {\r\n this.trigger('rerender');\r\n }\r\n\r\n /**\r\n * Replace a component with another one\r\n * @param {String|Component} el Component or HTML string\r\n * @return {Component|Array} New added component/s\r\n * @example\r\n * component.replaceWith('
Some new content
');\r\n * // -> Component\r\n */\r\n replaceWith(el) {\r\n const coll = this.collection;\r\n const at = coll.indexOf(this);\r\n coll.remove(this);\r\n return coll.add(el, { at });\r\n }\r\n\r\n /**\r\n * Emit changes for each updated attribute\r\n * @private\r\n */\r\n attrUpdated(m, v, opts = {}) {\r\n const attrs = this.get('attributes');\r\n // Handle classes\r\n const classes = attrs.class;\r\n classes && this.setClass(classes);\r\n delete attrs.class;\r\n\r\n // Handle style\r\n const style = attrs.style;\r\n style && this.setStyle(style);\r\n delete attrs.style;\r\n\r\n const attrPrev = { ...this.previous('attributes') };\r\n const diff = shallowDiff(attrPrev, this.get('attributes'));\r\n keys(diff).forEach(pr => this.trigger(`change:attributes:${pr}`, this, diff[pr], opts));\r\n }\r\n\r\n /**\r\n * Update attributes of the component\r\n * @param {Object} attrs Key value attributes\r\n * @param {Object} options Options for the model update\r\n * @return {this}\r\n * @example\r\n * component.setAttributes({ id: 'test', 'data-key': 'value' });\r\n */\r\n setAttributes(attrs, opts = {}) {\r\n this.set('attributes', { ...attrs }, opts);\r\n return this;\r\n }\r\n\r\n /**\r\n * Add attributes to the component\r\n * @param {Object} attrs Key value attributes\r\n * @param {Object} options Options for the model update\r\n * @return {this}\r\n * @example\r\n * component.addAttributes({ 'data-key': 'value' });\r\n */\r\n addAttributes(attrs, opts = {}) {\r\n return this.setAttributes(\r\n {\r\n ...this.getAttributes({ noClass: 1 }),\r\n ...attrs,\r\n },\r\n opts\r\n );\r\n }\r\n\r\n /**\r\n * Remove attributes from the component\r\n * @param {String|Array} attrs Array of attributes to remove\r\n * @param {Object} options Options for the model update\r\n * @return {this}\r\n * @example\r\n * component.removeAttributes('some-attr');\r\n * component.removeAttributes(['some-attr1', 'some-attr2']);\r\n */\r\n removeAttributes(attrs = [], opts = {}) {\r\n const attrArr = Array.isArray(attrs) ? attrs : [attrs];\r\n const compAttr = this.getAttributes();\r\n attrArr.map(i => delete compAttr[i]);\r\n return this.setAttributes(compAttr, opts);\r\n }\r\n\r\n /**\r\n * Get the style of the component\r\n * @return {Object}\r\n */\r\n getStyle(options = {}, optsAdd = {}) {\r\n const em = this.em;\r\n const prop = isString(options) ? options : '';\r\n const opts = prop ? optsAdd : options;\r\n\r\n if (em && em.getConfig('avoidInlineStyle') && !opts.inline) {\r\n const state = em.get('state');\r\n const cc = em.get('CssComposer');\r\n const rule = cc.getIdRule(this.getId(), { state, ...opts });\r\n this.rule = rule;\r\n\r\n if (rule) {\r\n return rule.getStyle(prop);\r\n }\r\n }\r\n\r\n return Styleable.getStyle.call(this, prop);\r\n }\r\n\r\n /**\r\n * Set the style on the component\r\n * @param {Object} prop Key value style object\r\n * @return {Object}\r\n * @example\r\n * component.setStyle({ color: 'red' });\r\n */\r\n setStyle(prop = {}, opts = {}) {\r\n const em = this.em;\r\n const { opt } = this;\r\n\r\n if (em && em.getConfig('avoidInlineStyle') && !opt.temporary && !opts.inline) {\r\n const style = this.get('style') || {};\r\n prop = isString(prop) ? this.parseStyle(prop) : prop;\r\n prop = { ...prop, ...style };\r\n const state = em.get('state');\r\n const cc = em.get('CssComposer');\r\n const propOrig = this.getStyle(opts);\r\n this.rule = cc.setIdRule(this.getId(), prop, { ...opts, state });\r\n const diff = shallowDiff(propOrig, prop);\r\n this.set('style', '', { silent: 1 });\r\n keys(diff).forEach(pr => this.trigger(`change:style:${pr}`));\r\n } else {\r\n prop = Styleable.setStyle.apply(this, arguments);\r\n }\r\n\r\n return prop;\r\n }\r\n\r\n /**\r\n * Return all component's attributes\r\n * @return {Object}\r\n */\r\n getAttributes(opts = {}) {\r\n const { em } = this;\r\n const classes = [];\r\n const attributes = { ...this.get('attributes') };\r\n const sm = em && em.get('SelectorManager');\r\n const id = this.getId();\r\n\r\n // Add classes\r\n if (!opts.noClass) {\r\n this.get('classes').forEach(cls => classes.push(isString(cls) ? cls : cls.get('name')));\r\n classes.length && (attributes.class = classes.join(' '));\r\n }\r\n\r\n // Add style\r\n if (!opts.noStyle) {\r\n const style = this.get('style');\r\n if (isObject(style) && !isEmptyObj(style)) {\r\n attributes.style = this.styleToString({ inline: 1 });\r\n }\r\n }\r\n\r\n // Check if we need an ID on the component\r\n if (!has(attributes, 'id')) {\r\n let addId;\r\n\r\n // If we don't rely on inline styling we have to check\r\n // for the ID selector\r\n if (avoidInline(em)) {\r\n addId = sm && sm.get(id, sm.Selector.TYPE_ID);\r\n } else if (!isEmpty(this.getStyle())) {\r\n addId = 1;\r\n }\r\n\r\n // Symbols should always have an id\r\n if (this.__getSymbol() || this.__getSymbols()) {\r\n addId = 1;\r\n }\r\n\r\n if (addId) {\r\n attributes.id = id;\r\n }\r\n }\r\n\r\n return attributes;\r\n }\r\n\r\n /**\r\n * Add classes\r\n * @param {Array|String} classes Array or string of classes\r\n * @return {Array} Array of added selectors\r\n * @example\r\n * model.addClass('class1');\r\n * model.addClass('class1 class2');\r\n * model.addClass(['class1', 'class2']);\r\n * // -> [SelectorObject, ...]\r\n */\r\n addClass(classes) {\r\n const added = this.em.get('SelectorManager').addClass(classes);\r\n return this.get('classes').add(added);\r\n }\r\n\r\n /**\r\n * Set classes (resets current collection)\r\n * @param {Array|String} classes Array or string of classes\r\n * @return {Array} Array of added selectors\r\n * @example\r\n * model.setClass('class1');\r\n * model.setClass('class1 class2');\r\n * model.setClass(['class1', 'class2']);\r\n * // -> [SelectorObject, ...]\r\n */\r\n setClass(classes) {\r\n this.get('classes').reset();\r\n return this.addClass(classes);\r\n }\r\n\r\n /**\r\n * Remove classes\r\n * @param {Array|String} classes Array or string of classes\r\n * @return {Array} Array of removed selectors\r\n * @example\r\n * model.removeClass('class1');\r\n * model.removeClass('class1 class2');\r\n * model.removeClass(['class1', 'class2']);\r\n * // -> [SelectorObject, ...]\r\n */\r\n removeClass(classes) {\r\n const removed = [];\r\n classes = isArray(classes) ? classes : [classes];\r\n const selectors = this.get('classes');\r\n const type = Selector.TYPE_CLASS;\r\n\r\n classes.forEach(classe => {\r\n const classes = classe.split(' ');\r\n classes.forEach(name => {\r\n const selector = selectors.where({ name, type })[0];\r\n selector && removed.push(selectors.remove(selector));\r\n });\r\n });\r\n\r\n return removed;\r\n }\r\n\r\n /**\r\n * Returns component's classes as an array of strings\r\n * @return {Array}\r\n */\r\n getClasses() {\r\n const attr = this.getAttributes();\r\n const classStr = attr.class;\r\n return classStr ? classStr.split(' ') : [];\r\n }\r\n\r\n __logSymbol(type, toUp, opts = {}) {\r\n const symbol = this.__getSymbol();\r\n const symbols = this.__getSymbols();\r\n if (!symbol && !symbols) return;\r\n this.em.log(type, { model: this, toUp, context: 'symbols', opts });\r\n }\r\n\r\n __initSymb() {\r\n if (this.__symbReady) return;\r\n this.on('change', this.__upSymbProps);\r\n this.__symbReady = 1;\r\n }\r\n\r\n __isSymbol() {\r\n return isArray(this.get(keySymbols));\r\n }\r\n\r\n __isSymbolOrInst() {\r\n return !!(this.__isSymbol() || this.get(keySymbol));\r\n }\r\n\r\n __isSymbolTop() {\r\n const parent = this.parent();\r\n const symb = this.__isSymbolOrInst();\r\n return symb && (!parent || (parent && !parent.__isSymbol() && !parent.__getSymbol()));\r\n }\r\n\r\n __isSymbolNested() {\r\n if (!this.__isSymbolOrInst() || this.__isSymbolTop()) return false;\r\n const symbTopSelf = (this.__isSymbol() ? this : this.__getSymbol()).__getSymbTop();\r\n const symbTop = this.__getSymbTop();\r\n const symbTopMain = symbTop.__isSymbol() ? symbTop : symbTop.__getSymbol();\r\n return symbTopMain !== symbTopSelf;\r\n }\r\n\r\n __getAllById() {\r\n const { em } = this;\r\n return em ? em.get('DomComponents').allById() : {};\r\n }\r\n\r\n __getSymbol() {\r\n let symb = this.get(keySymbol);\r\n if (symb && isString(symb)) {\r\n const ref = this.__getAllById()[symb];\r\n if (ref) {\r\n symb = ref;\r\n this.set(keySymbol, ref);\r\n } else {\r\n symb = 0;\r\n }\r\n }\r\n return symb;\r\n }\r\n\r\n __getSymbols() {\r\n let symbs = this.get(keySymbols);\r\n if (symbs && isArray(symbs)) {\r\n symbs.forEach((symb, idx) => {\r\n if (symb && isString(symb)) {\r\n symbs[idx] = this.__getAllById()[symb];\r\n }\r\n });\r\n symbs = symbs.filter(symb => symb && !isString(symb));\r\n }\r\n return symbs;\r\n }\r\n\r\n __isSymbOvrd(prop = '') {\r\n const ovrd = this.get(keySymbolOvrd);\r\n const [prp] = prop.split(':');\r\n const props = prop !== prp ? [prop, prp] : [prop];\r\n return ovrd === true || (isArray(ovrd) && props.some(p => ovrd.indexOf(p) >= 0));\r\n }\r\n\r\n __getSymbToUp(opts = {}) {\r\n let result = [];\r\n const { em } = this;\r\n const { changed } = opts;\r\n const symbEnabled = em && em.get('symbols');\r\n\r\n if (\r\n opts.fromInstance ||\r\n opts.noPropagate ||\r\n opts.fromUndo ||\r\n !symbEnabled ||\r\n // Avoid updating others if the current component has override\r\n (changed && this.__isSymbOvrd(changed))\r\n ) {\r\n return result;\r\n }\r\n\r\n const symbols = this.__getSymbols() || [];\r\n const symbol = this.__getSymbol();\r\n const all = symbol ? [symbol, ...(symbol.__getSymbols() || [])] : symbols;\r\n result = all\r\n .filter(s => s !== this)\r\n // Avoid updating those with override\r\n .filter(s => !(changed && s.__isSymbOvrd(changed)));\r\n\r\n return result;\r\n }\r\n\r\n __getSymbTop(opts) {\r\n let result = this;\r\n let parent = this.parent(opts);\r\n\r\n while (parent && (parent.__isSymbol() || parent.__getSymbol())) {\r\n result = parent;\r\n parent = parent.parent(opts);\r\n }\r\n\r\n return result;\r\n }\r\n\r\n __upSymbProps(m, opts = {}) {\r\n const changed = this.changedAttributes();\r\n const attrs = changed.attributes || {};\r\n delete changed.status;\r\n delete changed.open;\r\n delete changed[keySymbols];\r\n delete changed[keySymbol];\r\n delete changed[keySymbolOvrd];\r\n delete changed.attributes;\r\n delete attrs.id;\r\n if (!isEmptyObj(attrs)) changed.attributes = attrs;\r\n if (!isEmptyObj(changed)) {\r\n const toUp = this.__getSymbToUp(opts);\r\n // Avoid propagating overrides to other symbols\r\n keys(changed).map(prop => {\r\n if (this.__isSymbOvrd(prop)) delete changed[prop];\r\n });\r\n\r\n this.__logSymbol('props', toUp, { opts, changed });\r\n toUp.forEach(child => {\r\n const propsChanged = { ...changed };\r\n // Avoid updating those with override\r\n keys(propsChanged).map(prop => {\r\n if (child.__isSymbOvrd(prop)) delete propsChanged[prop];\r\n });\r\n child.set(propsChanged, { fromInstance: this, ...opts });\r\n });\r\n }\r\n }\r\n\r\n __upSymbCls(m, c, opts = {}) {\r\n const toUp = this.__getSymbToUp(opts);\r\n this.__logSymbol('classes', toUp, { opts });\r\n toUp.forEach(child => {\r\n // This will propagate the change up to __upSymbProps\r\n child.set('classes', this.get('classes'), { fromInstance: this });\r\n });\r\n this.__changesUp(opts);\r\n }\r\n\r\n __upSymbComps(m, c, o) {\r\n const optUp = o || c || {};\r\n const { fromInstance, fromUndo } = optUp;\r\n const toUpOpts = { fromInstance, fromUndo };\r\n const isTemp = m.opt.temporary;\r\n\r\n // Reset\r\n if (!o) {\r\n const toUp = this.__getSymbToUp({\r\n ...toUpOpts,\r\n changed: 'components:reset',\r\n });\r\n this.__logSymbol('reset', toUp, { components: m.models });\r\n toUp.forEach(symb => {\r\n const newMods = m.models.map(mod => mod.clone({ symbol: 1 }));\r\n symb.components().reset(newMods, { fromInstance: this, ...c });\r\n });\r\n // Add\r\n } else if (o.add) {\r\n let addedInstances = [];\r\n const isMainSymb = !!this.__getSymbols();\r\n const toUp = this.__getSymbToUp({\r\n ...toUpOpts,\r\n changed: 'components:add',\r\n });\r\n if (toUp.length) {\r\n const addSymb = m.__getSymbol();\r\n addedInstances = (addSymb ? addSymb.__getSymbols() : m.__getSymbols()) || [];\r\n addedInstances = [...addedInstances];\r\n addedInstances.push(addSymb ? addSymb : m);\r\n }\r\n !isTemp &&\r\n this.__logSymbol('add', toUp, {\r\n opts: o,\r\n addedInstances: addedInstances.map(c => c.cid),\r\n added: m.cid,\r\n });\r\n // Here, before appending a new symbol, I have to ensure there are no previously\r\n // created symbols (eg. used mainly when drag components around)\r\n toUp.forEach(symb => {\r\n const symbTop = symb.__getSymbTop();\r\n const symbPrev = addedInstances.filter(addedInst => {\r\n const addedTop = addedInst.__getSymbTop({ prev: 1 });\r\n return symbTop && addedTop && addedTop === symbTop;\r\n })[0];\r\n const toAppend = symbPrev || m.clone({ symbol: 1, symbolInv: isMainSymb });\r\n symb.append(toAppend, { fromInstance: this, ...o });\r\n });\r\n // Remove\r\n } else {\r\n // Remove instance reference from the symbol\r\n const symb = m.__getSymbol();\r\n symb &&\r\n !o.temporary &&\r\n symb.set(\r\n keySymbols,\r\n symb.__getSymbols().filter(i => i !== m)\r\n );\r\n\r\n // Propagate remove only if the component is an inner symbol\r\n if (!m.__isSymbolTop()) {\r\n const changed = 'components:remove';\r\n const { index } = o;\r\n const parent = m.parent();\r\n const opts = { fromInstance: m, ...o };\r\n const isSymbNested = m.__isSymbolNested();\r\n let toUpFn = symb => {\r\n const symbPrnt = symb.parent();\r\n symbPrnt && !symbPrnt.__isSymbOvrd(changed) && symb.remove(opts);\r\n };\r\n // Check if the parent allows the removing\r\n let toUp = !parent.__isSymbOvrd(changed) ? m.__getSymbToUp(toUpOpts) : [];\r\n\r\n if (isSymbNested) {\r\n toUp = parent.__getSymbToUp({ ...toUpOpts, changed });\r\n toUpFn = symb => {\r\n const toRemove = symb.components().at(index);\r\n toRemove && toRemove.remove({ fromInstance: parent, ...opts });\r\n };\r\n }\r\n\r\n !isTemp &&\r\n this.__logSymbol('remove', toUp, {\r\n opts: o,\r\n removed: m.cid,\r\n isSymbNested,\r\n });\r\n toUp.forEach(toUpFn);\r\n }\r\n }\r\n\r\n this.__changesUp(optUp);\r\n }\r\n\r\n initClasses(m, c, opts = {}) {\r\n const event = 'change:classes';\r\n const attrCls = this.get('attributes').class || [];\r\n const toListen = [this, event, this.initClasses];\r\n const cls = this.get('classes') || attrCls;\r\n const clsArr = isString(cls) ? cls.split(' ') : cls;\r\n this.stopListening(...toListen);\r\n const classes = this.normalizeClasses(clsArr);\r\n const selectors = new Selectors([]);\r\n this.set('classes', selectors, opts);\r\n selectors.add(classes);\r\n selectors.on('add remove reset', this.__upSymbCls);\r\n this.listenTo(...toListen);\r\n return this;\r\n }\r\n\r\n initComponents() {\r\n const event = 'change:components';\r\n const toListen = [this, event, this.initComponents];\r\n this.stopListening(...toListen);\r\n // Have to add components after the init, otherwise the parent\r\n // is not visible\r\n const comps = new Components(null, this.opt);\r\n comps.parent = this;\r\n const components = this.get('components');\r\n const addChild = !this.opt.avoidChildren;\r\n this.set('components', comps);\r\n addChild && components && comps.add(isFunction(components) ? components(this) : components, this.opt);\r\n comps.on('add remove reset', this.__upSymbComps);\r\n this.listenTo(...toListen);\r\n return this;\r\n }\r\n\r\n initTraits(changed) {\r\n const { em } = this;\r\n const event = 'change:traits';\r\n this.off(event, this.initTraits);\r\n this.__loadTraits();\r\n const attrs = { ...this.get('attributes') };\r\n const traits = this.get('traits');\r\n traits.each(trait => {\r\n if (!trait.get('changeProp')) {\r\n const name = trait.get('name');\r\n const value = trait.getInitValue();\r\n if (name && value) attrs[name] = value;\r\n }\r\n });\r\n traits.length && this.set('attributes', attrs);\r\n this.on(event, this.initTraits);\r\n changed && em && em.trigger('component:toggled');\r\n return this;\r\n }\r\n\r\n initScriptProps() {\r\n if (this.opt.temporary) return;\r\n const prop = 'script-props';\r\n const toListen = [`change:${prop}`, this.initScriptProps];\r\n this.off(...toListen);\r\n const prevProps = this.previous(prop) || [];\r\n const newProps = this.get(prop) || [];\r\n const prevPropsEv = prevProps.map(e => `change:${e}`).join(' ');\r\n const newPropsEv = newProps.map(e => `change:${e}`).join(' ');\r\n prevPropsEv && this.off(prevPropsEv, this.__scriptPropsChange);\r\n newPropsEv && this.on(newPropsEv, this.__scriptPropsChange);\r\n this.on(...toListen);\r\n }\r\n\r\n __scriptPropsChange(m, v, opts = {}) {\r\n if (opts.avoidStore) return;\r\n this.trigger('rerender');\r\n }\r\n\r\n /**\r\n * Add new component children\r\n * @param {Component|String} components Component to add\r\n * @param {Object} [opts={}] Options for the append action\r\n * @return {Array} Array of appended components\r\n * @example\r\n * someComponent.get('components').length // -> 0\r\n * const videoComponent = someComponent.append('
')[0];\r\n * // This will add 2 components (`video` and `div`) to your `someComponent`\r\n * someComponent.get('components').length // -> 2\r\n * // You can pass components directly\r\n * otherComponent.append(otherComponent2);\r\n * otherComponent.append([otherComponent3, otherComponent4]);\r\n * // append at specific index (eg. at the beginning)\r\n * someComponent.append(otherComponent, { at: 0 });\r\n */\r\n append(components, opts = {}) {\r\n const compArr = isArray(components) ? components : [components];\r\n const toAppend = compArr.map(comp => {\r\n if (isString(comp)) {\r\n return comp;\r\n } else {\r\n // I have to remove components from the old container before adding them to a new one\r\n comp.collection && comp.collection.remove(comp, { temporary: 1 });\r\n return comp;\r\n }\r\n });\r\n const result = this.components().add(toAppend, opts);\r\n return isArray(result) ? result : [result];\r\n }\r\n\r\n /**\r\n * Set new collection if `components` are provided, otherwise the\r\n * current collection is returned\r\n * @param {Component|String} [components] Component Definitions or HTML string\r\n * @param {Object} [opts={}] Options, same as in `Component.append()`\r\n * @returns {Collection|Array<[Component]>}\r\n * @example\r\n * // Set new collection\r\n * component.components('
');\r\n * // Get current collection\r\n * const collection = component.components();\r\n * console.log(collection.length);\r\n * // -> 2\r\n */\r\n components(components, opts = {}) {\r\n const coll = this.get('components');\r\n\r\n if (isUndefined(components)) {\r\n return coll;\r\n } else {\r\n coll.reset(null, opts);\r\n return components ? this.append(components, opts) : [];\r\n }\r\n }\r\n\r\n /**\r\n * If exists, returns the child component at specific index.\r\n * @param {Number} index Index of the component to return\r\n * @returns {[Component]|null}\r\n * @example\r\n * // Return first child\r\n * component.getChildAt(0);\r\n * // Return second child\r\n * component.getChildAt(1);\r\n */\r\n getChildAt(index) {\r\n return this.components().at(index || 0) || null;\r\n }\r\n\r\n /**\r\n * If exists, returns the last child component.\r\n * @returns {[Component]|null}\r\n * @example\r\n * const lastChild = component.getLastChild();\r\n */\r\n getLastChild() {\r\n const children = this.components();\r\n return children.at(children.length - 1) || null;\r\n }\r\n\r\n /**\r\n * Remove all inner components\r\n * * @return {this}\r\n */\r\n empty(opts = {}) {\r\n this.components().reset(null, opts);\r\n return this;\r\n }\r\n\r\n /**\r\n * Get the parent component, if exists\r\n * @return {Component|null}\r\n * @example\r\n * component.parent();\r\n * // -> Component\r\n */\r\n parent(opts = {}) {\r\n const coll = this.collection || (opts.prev && this.prevColl);\r\n return coll ? coll.parent : null;\r\n }\r\n\r\n /**\r\n * Script updated\r\n * @private\r\n */\r\n scriptUpdated() {\r\n this.set('scriptUpdated', 1);\r\n }\r\n\r\n /**\r\n * Init toolbar\r\n * @private\r\n */\r\n initToolbar() {\r\n const { em } = this;\r\n const model = this;\r\n const ppfx = (em && em.getConfig('stylePrefix')) || '';\r\n\r\n if (!model.get('toolbar') && em) {\r\n const tb = [];\r\n model.collection &&\r\n tb.push({\r\n label: em.getIcon('arrowUp'),\r\n command: ed => ed.runCommand('core:component-exit', { force: 1 }),\r\n });\r\n model.get('draggable') &&\r\n tb.push({\r\n attributes: { class: `${ppfx}no-touch-actions`, draggable: true },\r\n label: em.getIcon('move'),\r\n command: 'tlb-move',\r\n });\r\n model.get('copyable') &&\r\n tb.push({\r\n label: em.getIcon('copy'),\r\n command: 'tlb-clone',\r\n });\r\n model.get('removable') &&\r\n tb.push({\r\n label: em.getIcon('delete'),\r\n command: 'tlb-delete',\r\n });\r\n model.set('toolbar', tb);\r\n }\r\n }\r\n\r\n __loadTraits(tr, opts = {}) {\r\n let traitsI = tr || this.get('traits');\r\n\r\n if (!(traitsI instanceof Traits)) {\r\n traitsI = isFunction(traitsI) ? traitsI(this) : traitsI;\r\n const traits = new Traits([], this.opt);\r\n traits.setTarget(this);\r\n\r\n if (traitsI.length) {\r\n traitsI.forEach(tr => tr.attributes && delete tr.attributes.value);\r\n traits.add(traitsI);\r\n }\r\n\r\n this.set({ traits }, opts);\r\n }\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Get traits.\r\n * @returns {Array}\r\n * @example\r\n * const traits = component.getTraits();\r\n * console.log(traits);\r\n * // [Trait, Trait, Trait, ...]\r\n */\r\n getTraits() {\r\n this.__loadTraits();\r\n return [...this.get('traits').models];\r\n }\r\n\r\n /**\r\n * Replace current collection of traits with a new one.\r\n * @param {Array} traits Array of trait definitions\r\n * @returns {Array}\r\n * @example\r\n * const traits = component.setTraits([{ type: 'checkbox', name: 'disabled'}, ...]);\r\n * console.log(traits);\r\n * // [Trait, ...]\r\n */\r\n setTraits(traits) {\r\n const tr = isArray(traits) ? traits : [traits];\r\n this.set({ traits: tr });\r\n return this.getTraits();\r\n }\r\n\r\n /**\r\n * Get the trait by id/name.\r\n * @param {String} id The `id` or `name` of the trait\r\n * @return {Trait|null} Trait getModelToStyle\r\n * @example\r\n * const traitTitle = component.getTrait('title');\r\n * traitTitle && traitTitle.set('label', 'New label');\r\n */\r\n getTrait(id) {\r\n return (\r\n this.getTraits().filter(trait => {\r\n return trait.get('id') === id || trait.get('name') === id;\r\n })[0] || null\r\n );\r\n }\r\n\r\n /**\r\n * Update a trait.\r\n * @param {String} id The `id` or `name` of the trait\r\n * @param {Object} props Object with the props to update\r\n * @return {this}\r\n * @example\r\n * component.updateTrait('title', {\r\n * type: 'select',\r\n * options: [ 'Option 1', 'Option 2' ],\r\n * });\r\n */\r\n updateTrait(id, props) {\r\n const trait = this.getTrait(id);\r\n trait && trait.set(props);\r\n this.em?.trigger('component:toggled');\r\n return this;\r\n }\r\n\r\n /**\r\n * Get the trait position index by id/name. Useful in case you want to\r\n * replace some trait, at runtime, with something else.\r\n * @param {String} id The `id` or `name` of the trait\r\n * @return {Number} Index position of the current trait\r\n * @example\r\n * const traitTitle = component.getTraitIndex('title');\r\n * console.log(traitTitle); // 1\r\n */\r\n getTraitIndex(id) {\r\n const trait = this.getTrait(id);\r\n return trait ? this.get('traits').indexOf(trait) : -1;\r\n }\r\n\r\n /**\r\n * Remove trait/s by id/s.\r\n * @param {String|Array} id The `id`/`name` of the trait (or an array)\r\n * @return {Array} Array of removed traits\r\n * @example\r\n * component.removeTrait('title');\r\n * component.removeTrait(['title', 'id']);\r\n */\r\n removeTrait(id) {\r\n const ids = isArray(id) ? id : [id];\r\n const toRemove = ids.map(id => this.getTrait(id));\r\n const traits = this.get('traits');\r\n const removed = toRemove.length ? traits.remove(toRemove) : [];\r\n this.em?.trigger('component:toggled');\r\n return isArray(removed) ? removed : [removed];\r\n }\r\n\r\n /**\r\n * Add new trait/s.\r\n * @param {String|Object|Array} trait Trait to add (or an array of traits)\r\n * @param {Options} opts Options for the add\r\n * @return {Array} Array of added traits\r\n * @example\r\n * component.addTrait('title', { at: 1 }); // Add title trait (`at` option is the position index)\r\n * component.addTrait({\r\n * type: 'checkbox',\r\n * name: 'disabled',\r\n * });\r\n * component.addTrait(['title', {...}, ...]);\r\n */\r\n addTrait(trait, opts = {}) {\r\n this.__loadTraits();\r\n const added = this.get('traits').add(trait, opts);\r\n this.em?.trigger('component:toggled');\r\n return isArray(added) ? added : [added];\r\n }\r\n\r\n /**\r\n * Normalize input classes from array to array of objects\r\n * @param {Array} arr\r\n * @return {Array}\r\n * @private\r\n */\r\n normalizeClasses(arr) {\r\n const res = [];\r\n const { em } = this;\r\n const clm = em && em.get('SelectorManager');\r\n if (!clm) return;\r\n if (arr.models) return [...arr.models];\r\n arr.forEach(val => res.push(clm.add(val)));\r\n return res;\r\n }\r\n\r\n /**\r\n * Override original clone method\r\n * @private\r\n */\r\n clone(opt = {}) {\r\n const em = this.em;\r\n const attr = { ...this.attributes };\r\n const opts = { ...this.opt };\r\n const id = this.getId();\r\n const cssc = em && em.get('CssComposer');\r\n attr.attributes = { ...attr.attributes };\r\n delete attr.attributes.id;\r\n attr.components = [];\r\n attr.classes = [];\r\n attr.traits = [];\r\n\r\n if (this.__isSymbolTop()) {\r\n opt.symbol = 1;\r\n }\r\n\r\n this.get('components').each((md, i) => {\r\n attr.components[i] = md.clone({ ...opt, _inner: 1 });\r\n });\r\n this.get('traits').each((md, i) => {\r\n attr.traits[i] = md.clone();\r\n });\r\n this.get('classes').each((md, i) => {\r\n attr.classes[i] = md.get('name');\r\n });\r\n\r\n attr.status = '';\r\n opts.collection = null;\r\n\r\n const cloned = new this.constructor(attr, opts);\r\n\r\n // Clone component specific rules\r\n const newId = `#${cloned.getId()}`;\r\n const rulesToClone = cssc ? cssc.getRules(`#${id}`) : [];\r\n rulesToClone.forEach(rule => {\r\n const newRule = rule.clone();\r\n newRule.set('selectors', [newId]);\r\n cssc.getAll().add(newRule);\r\n });\r\n\r\n // Symbols\r\n // If I clone an inner symbol, I have to reset it\r\n cloned.set(keySymbols, 0);\r\n const symbol = this.__getSymbol();\r\n const symbols = this.__getSymbols();\r\n\r\n if (!opt.symbol && (symbol || symbols)) {\r\n cloned.set(keySymbol, 0);\r\n cloned.set(keySymbols, 0);\r\n } else if (symbol) {\r\n // Contains already a reference to a symbol\r\n symbol.set(keySymbols, [...symbol.__getSymbols(), cloned]);\r\n cloned.__initSymb();\r\n } else if (opt.symbol) {\r\n // Request to create a symbol\r\n if (this.__isSymbol()) {\r\n // Already a symbol, cloned should be an instance\r\n this.set(keySymbols, [...symbols, cloned]);\r\n cloned.set(keySymbol, this);\r\n cloned.__initSymb();\r\n } else if (opt.symbolInv) {\r\n // Inverted, cloned is the instance, the origin is the main symbol\r\n this.set(keySymbols, [cloned]);\r\n cloned.set(keySymbol, this);\r\n [this, cloned].map(i => i.__initSymb());\r\n } else {\r\n // Cloned becomes the main symbol\r\n cloned.set(keySymbols, [this]);\r\n [this, cloned].map(i => i.__initSymb());\r\n this.set(keySymbol, cloned);\r\n }\r\n }\r\n\r\n const event = 'component:clone';\r\n em && em.trigger(event, cloned);\r\n this.trigger(event, cloned);\r\n\r\n return cloned;\r\n }\r\n\r\n /**\r\n * Get the name of the component\r\n * @return {String}\r\n * */\r\n getName() {\r\n const { em } = this;\r\n const { type, tagName, name } = this.attributes;\r\n const defName = type || tagName;\r\n const nameTag = !type && tagName;\r\n const i18nPfx = 'domComponents.names.';\r\n const i18nName = name && em?.t(`${i18nPfx}${name}`);\r\n const i18nNameTag = nameTag && em?.t(`${i18nPfx}${nameTag}`);\r\n const i18nDefName = em && (em.t(`${i18nPfx}${type}`) || em.t(`${i18nPfx}${tagName}`));\r\n return (\r\n this.get('custom-name') || // Used in Layers (when the user changes the name)\r\n i18nName || // Use local component `name` key (eg. `domComponents.names.myComponentName`)\r\n name || // Use component `name` key\r\n i18nNameTag || // Use local component `tagName` key (eg. `domComponents.names.div`)\r\n capitalize(nameTag) || // Use component `tagName` key\r\n i18nDefName || // Use local component `type` key (eg. `domComponents.names.image`)\r\n capitalize(defName) // Use component `type` key\r\n );\r\n }\r\n\r\n /**\r\n * Get the icon string\r\n * @return {String}\r\n */\r\n getIcon() {\r\n let icon = this.get('icon');\r\n return icon ? icon + ' ' : '';\r\n }\r\n\r\n /**\r\n * Return HTML string of the component\r\n * @param {Object} [opts={}] Options\r\n * @param {String} [opts.tag] Custom tagName\r\n * @param {Object|Function} [opts.attributes=null] You can pass an object of custom attributes to replace with the current ones or you can even pass a function to generate attributes dynamically.\r\n * @param {Boolean} [opts.withProps] Include component properties as `data-gjs-*` attributes. This allows you to have re-importable HTML.\r\n * @param {Boolean} [opts.altQuoteAttr] In case the attribute value contains a `\"` char, instead of escaping it (`attr=\"value "\"`), the attribute will be quoted using single quotes (`attr='value \"'`).\r\n * @return {String} HTML string\r\n * @example\r\n * // Simple HTML return\r\n * component.set({ tagName: 'span' });\r\n * component.setAttributes({ title: 'Hello' });\r\n * component.toHTML();\r\n * // -> \r\n *\r\n * // Custom attributes\r\n * component.toHTML({ attributes: { 'data-test': 'Hello' } });\r\n * // -> \r\n *\r\n * // Custom dynamic attributes\r\n * component.toHTML({\r\n * attributes(component, attributes) {\r\n * if (component.get('tagName') == 'span') {\r\n * attributes.title = 'Custom attribute';\r\n * }\r\n * return attributes;\r\n * },\r\n * });\r\n * // -> \r\n */\r\n toHTML(opts = {}) {\r\n const model = this;\r\n const attrs = [];\r\n const customTag = opts.tag;\r\n const tag = customTag || model.get('tagName');\r\n const sTag = model.get('void');\r\n const customAttr = opts.attributes;\r\n let attributes = this.getAttrToHTML();\r\n delete opts.tag;\r\n\r\n // Get custom attributes if requested\r\n if (customAttr) {\r\n if (isFunction(customAttr)) {\r\n attributes = customAttr(model, attributes) || {};\r\n } else if (isObject(customAttr)) {\r\n attributes = customAttr;\r\n }\r\n }\r\n\r\n if (opts.withProps) {\r\n const props = this.toJSON();\r\n\r\n forEach(props, (value, key) => {\r\n const skipProps = ['classes', 'attributes', 'components'];\r\n if (key[0] !== '_' && skipProps.indexOf(key) < 0) {\r\n attributes[`data-gjs-${key}`] = isArray(value) || isObject(value) ? JSON.stringify(value) : value;\r\n }\r\n });\r\n }\r\n\r\n for (let attr in attributes) {\r\n const val = attributes[attr];\r\n\r\n if (!isUndefined(val) && val !== null) {\r\n if (isBoolean(val)) {\r\n val && attrs.push(attr);\r\n } else {\r\n let valueRes = '';\r\n if (opts.altQuoteAttr && isString(val) && val.indexOf('\"') >= 0) {\r\n valueRes = `'${val.replace(/'/g, ''')}'`;\r\n } else {\r\n const value = isString(val) ? val.replace(/\"/g, '"') : val;\r\n valueRes = `\"${value}\"`;\r\n }\r\n\r\n attrs.push(`${attr}=${valueRes}`);\r\n }\r\n }\r\n }\r\n\r\n const attrString = attrs.length ? ` ${attrs.join(' ')}` : '';\r\n const inner = model.getInnerHTML(opts);\r\n let code = `<${tag}${attrString}${sTag ? '/' : ''}>${inner}`;\r\n !sTag && (code += ``);\r\n\r\n return code;\r\n }\r\n\r\n /**\r\n * Get inner HTML of the component\r\n * @param {Object} [opts={}] Same options of `toHTML`\r\n * @returns {String} HTML string\r\n */\r\n getInnerHTML(opts) {\r\n return this.__innerHTML(opts);\r\n }\r\n\r\n __innerHTML(opts = {}) {\r\n const cmps = this.components();\r\n return !cmps.length ? this.get('content') : cmps.map(c => c.toHTML(opts)).join('');\r\n }\r\n\r\n /**\r\n * Returns object of attributes for HTML\r\n * @return {Object}\r\n * @private\r\n */\r\n getAttrToHTML() {\r\n var attr = this.getAttributes();\r\n delete attr.style;\r\n return attr;\r\n }\r\n\r\n /**\r\n * Return a shallow copy of the model's attributes for JSON\r\n * stringification.\r\n * @return {Object}\r\n * @private\r\n */\r\n toJSON(opts = {}) {\r\n const obj = Model.prototype.toJSON.call(this, opts);\r\n obj.attributes = this.getAttributes();\r\n delete obj.attributes.class;\r\n delete obj.toolbar;\r\n delete obj.traits;\r\n delete obj.status;\r\n delete obj.open; // used in Layers\r\n\r\n if (!opts.fromUndo) {\r\n const symbol = obj[keySymbol];\r\n const symbols = obj[keySymbols];\r\n if (symbols && isArray(symbols)) {\r\n obj[keySymbols] = symbols.filter(i => i).map(i => (i.getId ? i.getId() : i));\r\n }\r\n if (symbol && !isString(symbol)) {\r\n obj[keySymbol] = symbol.getId();\r\n }\r\n }\r\n\r\n if (this.em.getConfig('avoidDefaults')) {\r\n this.getChangedProps(obj);\r\n }\r\n\r\n return obj;\r\n }\r\n\r\n /**\r\n * Return an object containing only changed props\r\n */\r\n getChangedProps(res) {\r\n const obj = res || Model.prototype.toJSON.apply(this);\r\n const defaults = result(this, 'defaults');\r\n\r\n forEach(defaults, (value, key) => {\r\n if (['type'].indexOf(key) === -1 && obj[key] === value) {\r\n delete obj[key];\r\n }\r\n });\r\n\r\n if (isEmpty(obj.type)) {\r\n delete obj.type;\r\n }\r\n\r\n forEach(['attributes', 'style'], prop => {\r\n if (isEmpty(defaults[prop]) && isEmpty(obj[prop])) {\r\n delete obj[prop];\r\n }\r\n });\r\n\r\n forEach(['classes', 'components'], prop => {\r\n if (!obj[prop] || (isEmpty(defaults[prop]) && !obj[prop].length)) {\r\n delete obj[prop];\r\n }\r\n });\r\n\r\n return obj;\r\n }\r\n\r\n /**\r\n * Return the component id\r\n * @return {String}\r\n */\r\n getId() {\r\n let attrs = this.get('attributes') || {};\r\n return attrs.id || this.ccid || this.cid;\r\n }\r\n\r\n /**\r\n * Set new id on the component\r\n * @param {String} id\r\n * @return {this}\r\n */\r\n setId(id, opts) {\r\n const attrs = { ...this.get('attributes') };\r\n attrs.id = id;\r\n this.set('attributes', attrs, opts);\r\n return this;\r\n }\r\n\r\n /**\r\n * Get the DOM element of the component.\r\n * This works only if the component is already rendered\r\n * @param {Frame} frame Specific frame from which taking the element\r\n * @return {HTMLElement}\r\n */\r\n getEl(frame) {\r\n const view = this.getView(frame);\r\n return view && view.el;\r\n }\r\n\r\n /**\r\n * Get the View of the component.\r\n * This works only if the component is already rendered\r\n * @param {Frame} frame Get View of a specific frame\r\n * @return {ComponentView}\r\n */\r\n getView(frame) {\r\n let { view, views } = this;\r\n\r\n if (frame) {\r\n view = views.filter(view => view._getFrame() === frame.view)[0];\r\n }\r\n\r\n return view;\r\n }\r\n\r\n getCurrentView() {\r\n const frame = (this.em.get('currentFrame') || {}).model;\r\n return this.getView(frame);\r\n }\r\n\r\n __getScriptProps() {\r\n const modelProps = this.props();\r\n const scrProps = this.get('script-props') || [];\r\n return scrProps.reduce((acc, prop) => {\r\n acc[prop] = modelProps[prop];\r\n return acc;\r\n }, {});\r\n }\r\n\r\n /**\r\n * Return script in string format, cleans 'function() {..' from scripts\r\n * if it's a function\r\n * @param {string|Function} script\r\n * @return {string}\r\n * @private\r\n */\r\n getScriptString(script) {\r\n let scr = script || this.get('script');\r\n\r\n if (!scr) {\r\n return scr;\r\n }\r\n\r\n if (this.get('script-props')) {\r\n scr = scr.toString().trim();\r\n } else {\r\n // Deprecated\r\n // Need to convert script functions to strings\r\n if (typeof scr == 'function') {\r\n var scrStr = scr.toString().trim();\r\n scrStr = scrStr.replace(/^function[\\s\\w]*\\(\\)\\s?\\{/, '').replace(/\\}$/, '');\r\n scr = scrStr.trim();\r\n }\r\n\r\n var config = this.em.getConfig();\r\n var tagVarStart = escapeRegExp(config.tagVarStart || '{[ ');\r\n var tagVarEnd = escapeRegExp(config.tagVarEnd || ' ]}');\r\n var reg = new RegExp(`${tagVarStart}([\\\\w\\\\d-]*)${tagVarEnd}`, 'g');\r\n scr = scr.replace(reg, (match, v) => {\r\n // If at least one match is found I have to track this change for a\r\n // better optimization inside JS generator\r\n this.scriptUpdated();\r\n const result = this.attributes[v] || '';\r\n return isArray(result) || typeof result == 'object' ? JSON.stringify(result) : result;\r\n });\r\n }\r\n return scr;\r\n }\r\n\r\n emitUpdate(property, ...args) {\r\n const { em } = this;\r\n const event = keyUpdate + (property ? `:${property}` : '');\r\n const item = property && this.get(property);\r\n property && this.updated(property, item, property && this.previous(property), ...args);\r\n this.trigger(event, ...args);\r\n em && em.trigger(event, this, ...args);\r\n ['components', 'classes'].indexOf(property) >= 0 &&\r\n this.__propSelfToParent({\r\n component: this,\r\n changed: { [property]: item },\r\n options: args[2] || args[1] || {},\r\n });\r\n }\r\n\r\n /**\r\n * Execute callback function on itself and all inner components\r\n * @param {Function} clb Callback function, the model is passed as an argument\r\n * @return {this}\r\n * @example\r\n * component.onAll(component => {\r\n * // do something with component\r\n * })\r\n */\r\n onAll(clb) {\r\n if (isFunction(clb)) {\r\n clb(this);\r\n this.components().forEach(model => model.onAll(clb));\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Remove the component\r\n * @return {this}\r\n */\r\n remove(opts = {}) {\r\n const { em } = this;\r\n const coll = this.collection;\r\n const remove = () => {\r\n coll && coll.remove(this, { ...opts, action: 'remove-component' });\r\n // Component without parent\r\n if (!coll) {\r\n this.components('', opts);\r\n this.components().removeChildren(this, null, opts);\r\n }\r\n };\r\n const rmOpts = { ...opts };\r\n [this, em].map(i => i.trigger('component:remove:before', this, remove, rmOpts));\r\n !rmOpts.abort && remove();\r\n return this;\r\n }\r\n\r\n /**\r\n * Move the component to another destination component\r\n * @param {Component} component Destination component (so the current one will be appended as a child)\r\n * @param {Object} opts Options for the append action\r\n * @returns {this}\r\n * @example\r\n * // Move the selected component on top of the wrapper\r\n * const dest = editor.getWrapper();\r\n * editor.getSelected().move(dest, { at: 0 });\r\n */\r\n move(component, opts = {}) {\r\n this.remove({ temporary: 1 });\r\n component && component.append(this, opts);\r\n return this;\r\n }\r\n\r\n /**\r\n * Check if the component is an instance of some component type.\r\n * @param {String} type Component type\r\n * @returns {Boolean}\r\n * @example\r\n * // Add a new component type by extending an existing one\r\n * editor.Components.addType('text-ext', { extend: 'text' });\r\n * // Append a new component somewhere\r\n * const newTextExt = editor.getSelected().append({ type: 'text-ext' })[0];\r\n * newTextExt.isInstanceOf('text-ext'); // true\r\n * newTextExt.isInstanceOf('text'); // true\r\n */\r\n isInstanceOf(type) {\r\n const cmp = this.em?.get('DomComponents').getType(type)?.model;\r\n\r\n if (!cmp) return false;\r\n\r\n return this instanceof cmp;\r\n }\r\n\r\n /**\r\n * Check if the component is a child of some other component (or component type)\r\n * @param {[Component]|String} component Component parent to check. In case a string is passed,\r\n * the check will be performed on the component type.\r\n * @returns {Boolean}\r\n * @example\r\n * const newTextComponent = editor.getSelected().append({\r\n * type: 'text',\r\n * components: 'My text here',\r\n * })[0];\r\n * const innerComponent = newTextComponent.find('b')[0];\r\n * innerComponent.isChildOf(newTextComponent); // true\r\n * innerComponent.isChildOf('text'); // true\r\n */\r\n isChildOf(component) {\r\n const byType = isString(component);\r\n let parent = this.parent();\r\n\r\n while (parent) {\r\n if (byType) {\r\n if (parent.isInstanceOf(component)) {\r\n return true;\r\n }\r\n } else {\r\n if (parent === component) {\r\n return true;\r\n }\r\n }\r\n\r\n parent = parent.parent();\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Reset id of the component and any of its style rule\r\n * @param {Object} [opts={}] Options\r\n * @return {this}\r\n * @private\r\n */\r\n resetId(opts = {}) {\r\n const { em } = this;\r\n const oldId = this.getId();\r\n if (!oldId) return;\r\n const newId = Component.createId(this);\r\n this.setId(newId);\r\n const rule = em && em.get('CssComposer').getIdRule(oldId);\r\n const selector = rule && rule.get('selectors').at(0);\r\n selector && selector.set('name', newId);\r\n return this;\r\n }\r\n\r\n _getStyleRule({ id } = {}) {\r\n const { em } = this;\r\n const idS = id || this.getId();\r\n return em && em.get('CssComposer').getIdRule(idS);\r\n }\r\n\r\n _getStyleSelector(opts) {\r\n const rule = this._getStyleRule(opts);\r\n return rule && rule.get('selectors').at(0);\r\n }\r\n\r\n _idUpdated(m, v, opts = {}) {\r\n if (opts.idUpdate) return;\r\n\r\n const { ccid } = this;\r\n const { id } = this.get('attributes') || {};\r\n const idPrev = (this.previous('attributes') || {}).id || ccid;\r\n const list = Component.getList(this);\r\n\r\n // If the ID already exists I need to rollback to the old one\r\n if (list[id] || (!id && idPrev)) {\r\n return this.setId(idPrev, { idUpdate: 1 });\r\n }\r\n\r\n // Remove the old ID reference and add the new one\r\n delete list[idPrev];\r\n list[id] = this;\r\n this.ccid = id;\r\n\r\n // Update the style selector name\r\n const selector = this._getStyleSelector({ id: idPrev });\r\n selector && selector.set({ name: id, label: id });\r\n }\r\n}\r\n\r\n/**\r\n * Detect if the passed element is a valid component.\r\n * In case the element is valid an object abstracted\r\n * from the element will be returned\r\n * @param {HTMLElement}\r\n * @return {Object}\r\n * @private\r\n */\r\nComponent.isComponent = el => {\r\n return { tagName: toLowerCase(el.tagName) };\r\n};\r\n\r\nComponent.ensureInList = model => {\r\n const list = Component.getList(model);\r\n const id = model.getId();\r\n const current = list[id];\r\n\r\n if (!current) {\r\n // Insert in list\r\n list[id] = model;\r\n } else if (current !== model) {\r\n // Create new ID\r\n const nextId = Component.getIncrementId(id, list);\r\n model.setId(nextId);\r\n list[nextId] = model;\r\n }\r\n\r\n model.components().forEach(i => Component.ensureInList(i));\r\n};\r\n\r\n/**\r\n * Relying simply on the number of components becomes a problem when you\r\n * store and load them back, you might hit collisions with new components\r\n * @param {Model} model\r\n * @return {string}\r\n * @private\r\n */\r\nComponent.createId = (model, opts = {}) => {\r\n const list = Component.getList(model);\r\n const { idMap = {} } = opts;\r\n let { id } = model.get('attributes');\r\n let nextId;\r\n\r\n if (id) {\r\n nextId = Component.getIncrementId(id, list, opts);\r\n model.setId(nextId);\r\n if (id !== nextId) idMap[id] = nextId;\r\n } else {\r\n nextId = Component.getNewId(list);\r\n }\r\n\r\n list[nextId] = model;\r\n return nextId;\r\n};\r\n\r\nComponent.getNewId = list => {\r\n const count = Object.keys(list).length;\r\n // Testing 1000000 components with `+ 2` returns 0 collisions\r\n const ilen = count.toString().length + 2;\r\n const uid = (Math.random() + 1.1).toString(36).slice(-ilen);\r\n let newId = `i${uid}`;\r\n\r\n while (list[newId]) {\r\n newId = Component.getNewId(list);\r\n }\r\n\r\n return newId;\r\n};\r\n\r\nComponent.getIncrementId = (id, list, opts = {}) => {\r\n const { keepIds = [] } = opts;\r\n let counter = 1;\r\n let newId = id;\r\n\r\n if (keepIds.indexOf(id) < 0) {\r\n while (list[newId]) {\r\n counter++;\r\n newId = `${id}-${counter}`;\r\n }\r\n }\r\n\r\n return newId;\r\n};\r\n\r\n/**\r\n * The list of components is taken from the Components module.\r\n * Initially, the list, was set statically on the Component object but it was\r\n * not ok, as it was shared between multiple editor instances\r\n * @private\r\n */\r\nComponent.getList = model => {\r\n const { opt = {} } = model;\r\n const { domc, em } = opt;\r\n const dm = domc || (em && em.get('DomComponents'));\r\n return dm ? dm.componentsById : {};\r\n};\r\n\r\n/**\r\n * This method checks, for each parsed component and style object\r\n * (are not Components/CSSRules yet), for duplicated id and fixes them\r\n * This method is used in Components.js just after the parsing\r\n * @private\r\n */\r\nComponent.checkId = (components, styles = [], list = {}, opts = {}) => {\r\n const comps = isArray(components) ? components : [components];\r\n const { keepIds = [] } = opts;\r\n comps.forEach(comp => {\r\n const { attributes = {}, components } = comp;\r\n const { id } = attributes;\r\n\r\n // Check if we have collisions with current components\r\n if (id && list[id] && keepIds.indexOf(id) < 0) {\r\n const newId = Component.getIncrementId(id, list);\r\n attributes.id = newId;\r\n // Update passed styles\r\n isArray(styles) &&\r\n styles.forEach(style => {\r\n const { selectors } = style;\r\n selectors.forEach((sel, idx) => {\r\n if (sel === `#${id}`) selectors[idx] = `#${newId}`;\r\n });\r\n });\r\n }\r\n\r\n components && Component.checkId(components, styles, list, opts);\r\n });\r\n};\r\n\r\nComponent.getDefaults = function () {\r\n return result(this.prototype, 'defaults');\r\n};\r\n\r\nComponent.prototype.defaults = {\r\n tagName: 'div',\r\n type: '',\r\n name: '',\r\n removable: true,\r\n draggable: true,\r\n droppable: true,\r\n badgable: true,\r\n stylable: true,\r\n 'stylable-require': '',\r\n 'style-signature': '',\r\n unstylable: '',\r\n highlightable: true,\r\n copyable: true,\r\n resizable: false,\r\n editable: false,\r\n layerable: true,\r\n selectable: true,\r\n hoverable: true,\r\n void: false,\r\n state: '', // Indicates if the component is in some CSS state like ':hover', ':active', etc.\r\n status: '', // State, eg. 'selected'\r\n content: '',\r\n icon: '',\r\n style: '',\r\n styles: '', // Component related styles\r\n classes: '', // Array of classes\r\n script: '',\r\n 'script-props': '',\r\n 'script-export': '',\r\n attributes: '',\r\n traits: ['id', 'title'],\r\n propagate: '',\r\n dmode: '',\r\n toolbar: null,\r\n [keySymbol]: 0,\r\n [keySymbols]: 0,\r\n [keySymbolOvrd]: 0,\r\n _undo: true,\r\n _undoexc: ['status', 'open'],\r\n};\r\n","import Backbone from 'backbone';\r\nimport { isEmpty, isArray, isString, isFunction, each, includes, extend, flatten, debounce } from 'underscore';\r\nimport Component, { keySymbol, keySymbols } from './Component';\r\n\r\nexport const getComponentIds = (cmp, res = []) => {\r\n if (!cmp) return [];\r\n const cmps = isArray(cmp) || isFunction(cmp.map) ? cmp : [cmp];\r\n cmps.map(cmp => {\r\n res.push(cmp.getId());\r\n getComponentIds(cmp.components().models, res);\r\n });\r\n return res;\r\n};\r\n\r\nconst getComponentsFromDefs = (items, all = {}, opts = {}) => {\r\n const itms = isArray(items) ? items : [items];\r\n\r\n return itms.map(item => {\r\n const { attributes = {}, components, tagName } = item;\r\n const { id } = attributes;\r\n let result = item;\r\n\r\n if (id && all[id]) {\r\n result = all[id];\r\n tagName && result.set({ tagName }, { ...opts, silent: true });\r\n }\r\n\r\n if (components) {\r\n const newComponents = getComponentsFromDefs(components, all);\r\n\r\n if (isFunction(result.components)) {\r\n const cmps = result.components();\r\n cmps.length > 0 && cmps.reset(newComponents, opts);\r\n } else {\r\n result.components = newComponents;\r\n }\r\n }\r\n\r\n return result;\r\n });\r\n};\r\n\r\nexport default Backbone.Collection.extend({\r\n initialize(models, opt = {}) {\r\n this.opt = opt;\r\n this.listenTo(this, 'add', this.onAdd);\r\n this.listenTo(this, 'remove', this.removeChildren);\r\n this.listenTo(this, 'reset', this.resetChildren);\r\n const { em, config } = opt;\r\n this.config = config;\r\n this.em = em;\r\n this.domc = opt.domc || (em && em.get('DomComponents'));\r\n },\r\n\r\n resetChildren(models, opts = {}) {\r\n const coll = this;\r\n const prev = opts.previousModels || [];\r\n const toRemove = prev.filter(prev => !models.get(prev.cid));\r\n const newIds = getComponentIds(models);\r\n opts.keepIds = getComponentIds(prev).filter(pr => newIds.indexOf(pr) >= 0);\r\n toRemove.forEach(md => this.removeChildren(md, coll, opts));\r\n models.each(model => this.onAdd(model));\r\n },\r\n\r\n resetFromString(input = '', opts = {}) {\r\n opts.keepIds = getComponentIds(this);\r\n const { domc } = this;\r\n const allByID = domc?.allById() || {};\r\n const parsed = this.parseString(input, opts);\r\n const cmps = isArray(parsed) ? parsed : [parsed];\r\n const newCmps = getComponentsFromDefs(cmps, allByID, opts);\r\n this.reset(newCmps, opts);\r\n this.em?.trigger('component:content', this.parent, opts, input);\r\n },\r\n\r\n removeChildren(removed, coll, opts = {}) {\r\n // Removing a parent component can cause this function\r\n // to be called with an already removed child element\r\n if (!removed) {\r\n return;\r\n }\r\n\r\n const { domc, em } = this;\r\n const isTemp = opts.temporary || opts.fromUndo;\r\n removed.prevColl = this; // This one is required for symbols\r\n\r\n if (!isTemp) {\r\n // Remove the component from the global list\r\n const id = removed.getId();\r\n const sels = em.get('SelectorManager').getAll();\r\n const rules = em.get('CssComposer').getAll();\r\n const canRemoveStyle = (opts.keepIds || []).indexOf(id) < 0;\r\n const allByID = domc ? domc.allById() : {};\r\n delete allByID[id];\r\n\r\n // Remove all component related styles\r\n const rulesRemoved = canRemoveStyle\r\n ? rules.remove(\r\n rules.filter(r => r.getSelectors().getFullString() === `#${id}`),\r\n opts\r\n )\r\n : [];\r\n\r\n // Clean selectors\r\n sels.remove(rulesRemoved.map(rule => rule.getSelectors().at(0)));\r\n\r\n if (!removed.opt.temporary) {\r\n em.get('Commands').run('core:component-style-clear', {\r\n target: removed,\r\n });\r\n removed.removed();\r\n removed.trigger('removed');\r\n em.trigger('component:remove', removed);\r\n }\r\n\r\n const inner = removed.components();\r\n inner.forEach(it => this.removeChildren(it, coll, opts));\r\n }\r\n\r\n // Remove stuff registered in DomComponents.handleChanges\r\n const inner = removed.components();\r\n em.stopListening(inner);\r\n em.stopListening(removed);\r\n em.stopListening(removed.get('classes'));\r\n removed.__postRemove();\r\n },\r\n\r\n model(attrs, options) {\r\n const { opt } = options.collection;\r\n const { em } = opt;\r\n let model;\r\n const df = em.get('DomComponents').componentTypes;\r\n options.em = em;\r\n options.config = opt.config;\r\n options.componentTypes = df;\r\n options.domc = opt.domc;\r\n\r\n for (let it = 0; it < df.length; it++) {\r\n const dfId = df[it].id;\r\n if (dfId == attrs.type) {\r\n model = df[it].model;\r\n break;\r\n }\r\n }\r\n\r\n // If no model found, get the default one\r\n if (!model) {\r\n model = df[df.length - 1].model;\r\n em &&\r\n attrs.type &&\r\n em.logWarning(`Component type '${attrs.type}' not found`, {\r\n attrs,\r\n options,\r\n });\r\n }\r\n\r\n return new model(attrs, options);\r\n },\r\n\r\n parseString(value, opt = {}) {\r\n const { em, domc } = this;\r\n const cssc = em.get('CssComposer');\r\n const parsed = em.get('Parser').parseHtml(value);\r\n // We need this to avoid duplicate IDs\r\n Component.checkId(parsed.html, parsed.css, domc.componentsById, opt);\r\n\r\n if (parsed.css && cssc && !opt.temporary) {\r\n const { at, ...optsToPass } = opt;\r\n cssc.addCollection(parsed.css, {\r\n ...optsToPass,\r\n extend: 1,\r\n });\r\n }\r\n\r\n return parsed.html;\r\n },\r\n\r\n add(models, opt = {}) {\r\n opt.keepIds = [...(opt.keepIds || []), ...getComponentIds(opt.previousModels)];\r\n\r\n if (isString(models)) {\r\n models = this.parseString(models, opt);\r\n } else if (isArray(models)) {\r\n models = [...models];\r\n models.forEach((item, index) => {\r\n if (isString(item)) {\r\n const nodes = this.parseString(item, opt);\r\n models[index] = isArray(nodes) && !nodes.length ? null : nodes;\r\n }\r\n });\r\n }\r\n\r\n const isMult = isArray(models);\r\n models = (isMult ? models : [models]).filter(i => i).map(model => this.processDef(model));\r\n models = isMult ? flatten(models, 1) : models[0];\r\n\r\n const result = Backbone.Collection.prototype.add.apply(this, [models, opt]);\r\n this.__firstAdd = result;\r\n return result;\r\n },\r\n\r\n /**\r\n * Process component definition.\r\n */\r\n processDef(mdl) {\r\n // Avoid processing Models\r\n if (mdl.cid && mdl.ccid) return mdl;\r\n const { em, config = {} } = this;\r\n const { processor } = config;\r\n let model = mdl;\r\n\r\n if (processor) {\r\n model = { ...model }; // Avoid 'Cannot delete property ...'\r\n const modelPr = processor(model);\r\n if (modelPr) {\r\n each(model, (val, key) => delete model[key]);\r\n extend(model, modelPr);\r\n }\r\n }\r\n\r\n // React JSX preset\r\n if (model.$$typeof && typeof model.props == 'object') {\r\n model = { ...model };\r\n model.props = { ...model.props };\r\n const domc = em.get('DomComponents');\r\n const parser = em.get('Parser');\r\n const { parserHtml } = parser;\r\n\r\n each(model, (value, key) => {\r\n if (!includes(['props', 'type'], key)) delete model[key];\r\n });\r\n const { props } = model;\r\n const comps = props.children;\r\n delete props.children;\r\n delete model.props;\r\n const res = parserHtml.splitPropsFromAttr(props);\r\n model.attributes = res.attrs;\r\n\r\n if (comps) {\r\n model.components = comps;\r\n }\r\n if (!model.type) {\r\n model.type = 'textnode';\r\n } else if (!domc.getType(model.type)) {\r\n model.tagName = model.type;\r\n delete model.type;\r\n }\r\n\r\n extend(model, res.props);\r\n }\r\n\r\n return model;\r\n },\r\n\r\n onAdd(model, c, opts = {}) {\r\n const { domc, em } = this;\r\n const style = model.getStyle();\r\n const avoidInline = em && em.getConfig('avoidInlineStyle');\r\n domc && domc.Component.ensureInList(model);\r\n\r\n if (!isEmpty(style) && !avoidInline && em && em.get && em.getConfig('forceClass') && !opts.temporary) {\r\n const name = model.cid;\r\n const rule = em.get('CssComposer').setClassRule(name, style);\r\n model.setStyle({});\r\n model.addClass(name);\r\n }\r\n\r\n model.__postAdd({ recursive: 1 });\r\n this.__onAddEnd();\r\n },\r\n\r\n __onAddEnd: debounce(function () {\r\n // TODO to check symbols on load, probably this might be removed as symbols\r\n // are always recovered from the model\r\n // const { domc } = this;\r\n // const allComp = (domc && domc.allById()) || {};\r\n // const firstAdd = this.__firstAdd;\r\n // const toCheck = isArray(firstAdd) ? firstAdd : [firstAdd];\r\n // const silent = { silent: true };\r\n // const onAll = comps => {\r\n // comps.forEach(comp => {\r\n // const symbol = comp.get(keySymbols);\r\n // const symbolOf = comp.get(keySymbol);\r\n // if (symbol && isArray(symbol) && isString(symbol[0])) {\r\n // comp.set(\r\n // keySymbols,\r\n // symbol.map(smb => allComp[smb]).filter(i => i),\r\n // silent\r\n // );\r\n // }\r\n // if (isString(symbolOf)) {\r\n // comp.set(keySymbol, allComp[symbolOf], silent);\r\n // }\r\n // onAll(comp.components());\r\n // });\r\n // };\r\n // onAll(toCheck);\r\n }),\r\n});\r\n","import Backbone from 'backbone';\r\nimport { isEmpty, each, keys } from 'underscore';\r\nimport Components from '../model/Components';\r\nimport ComponentsView from './ComponentsView';\r\nimport Selectors from 'selector_manager/model/Selectors';\r\nimport { replaceWith } from 'utils/dom';\r\nimport { setViewEl } from 'utils/mixins';\r\n\r\nexport default Backbone.View.extend({\r\n className() {\r\n return this.getClasses();\r\n },\r\n\r\n tagName() {\r\n return this.model.get('tagName');\r\n },\r\n\r\n initialize(opt = {}) {\r\n const model = this.model;\r\n const config = opt.config || {};\r\n const em = config.em;\r\n const modelOpt = model.opt || {};\r\n const { $el, el } = this;\r\n this.opts = opt;\r\n this.modelOpt = modelOpt;\r\n this.config = config;\r\n this.em = em || '';\r\n this.pfx = config.stylePrefix || '';\r\n this.ppfx = config.pStylePrefix || '';\r\n this.attr = model.get('attributes');\r\n this.classe = this.attr.class || [];\r\n this.listenTo(model, 'change:style', this.updateStyle);\r\n this.listenTo(model, 'change:attributes', this.renderAttributes);\r\n this.listenTo(model, 'change:highlightable', this.updateHighlight);\r\n this.listenTo(model, 'change:status', this.updateStatus);\r\n this.listenTo(model, 'change:script rerender', this.reset);\r\n this.listenTo(model, 'change:content', this.updateContent);\r\n this.listenTo(model, 'change', this.handleChange);\r\n this.listenTo(model, 'active', this.onActive);\r\n this.listenTo(model, 'disable', this.onDisable);\r\n $el.data('model', model);\r\n setViewEl(el, this);\r\n model.view = this;\r\n this._getFrame() && model.views.push(this);\r\n this.initClasses();\r\n this.initComponents({ avoidRender: 1 });\r\n this.events = {\r\n ...this.events,\r\n dragstart: 'handleDragStart',\r\n };\r\n this.delegateEvents();\r\n !modelOpt.temporary && this.init(this._clbObj());\r\n },\r\n\r\n __isDraggable() {\r\n const { model, config } = this;\r\n const { draggable } = model.attributes;\r\n return config.draggableComponents && draggable;\r\n },\r\n\r\n _clbObj() {\r\n const { em, model, el } = this;\r\n return {\r\n editor: em && em.getEditor(),\r\n model,\r\n el,\r\n };\r\n },\r\n\r\n /**\r\n * Initialize callback\r\n */\r\n init() {},\r\n\r\n /**\r\n * Remove callback\r\n */\r\n removed() {},\r\n\r\n /**\r\n * Callback executed when the `active` event is triggered on component\r\n */\r\n onActive() {},\r\n\r\n /**\r\n * Callback executed when the `disable` event is triggered on component\r\n */\r\n onDisable() {},\r\n\r\n remove() {\r\n Backbone.View.prototype.remove.apply(this, arguments);\r\n const { model, $el } = this;\r\n const { views } = model;\r\n const frame = this._getFrame() || {};\r\n model.components().forEach(comp => {\r\n const view = comp.getView(frame.model);\r\n view?.remove();\r\n });\r\n this.childrenView?.remove();\r\n views.splice(views.indexOf(this), 1);\r\n this.removed(this._clbObj());\r\n $el.data({ model: '', collection: '', view: '' });\r\n // delete model.view; // Sorter relies on this property\r\n return this;\r\n },\r\n\r\n handleDragStart(event) {\r\n if (!this.__isDraggable()) return false;\r\n event.stopPropagation();\r\n event.preventDefault();\r\n this.em.get('Commands').run('tlb-move', {\r\n target: this.model,\r\n event,\r\n });\r\n },\r\n\r\n initClasses() {\r\n const { model } = this;\r\n const event = 'change:classes';\r\n const classes = model.get('classes');\r\n\r\n if (classes instanceof Selectors) {\r\n this.stopListening(model, event, this.initClasses);\r\n this.listenTo(model, event, this.initClasses);\r\n this.listenTo(classes, 'add remove change', this.updateClasses);\r\n classes.length && this.importClasses();\r\n }\r\n },\r\n\r\n initComponents(opts = {}) {\r\n const { model, $el, childrenView } = this;\r\n const event = 'change:components';\r\n const comps = model.get('components');\r\n const toListen = [model, event, this.initComponents];\r\n\r\n if (comps instanceof Components) {\r\n $el.data('collection', comps);\r\n childrenView && childrenView.remove();\r\n this.stopListening(...toListen);\r\n !opts.avoidRender && this.renderChildren();\r\n this.listenTo(...toListen);\r\n }\r\n },\r\n\r\n /**\r\n * Handle any property change\r\n * @private\r\n */\r\n handleChange() {\r\n const { model } = this;\r\n const chgArr = keys(model.changed);\r\n if (chgArr.length === 1 && chgArr[0] === 'status') return;\r\n model.emitUpdate();\r\n\r\n for (let prop in model.changed) {\r\n model.emitUpdate(prop);\r\n }\r\n },\r\n\r\n /**\r\n * Import, if possible, classes inside main container\r\n * @private\r\n * */\r\n importClasses() {\r\n var clm = this.config.em.get('SelectorManager');\r\n\r\n if (clm) {\r\n this.model.get('classes').each(m => {\r\n clm.add(m.get('name'));\r\n });\r\n }\r\n },\r\n\r\n /**\r\n * Update item on status change\r\n * @param {Event} e\r\n * @private\r\n * */\r\n updateStatus(opts = {}) {\r\n const { em } = this;\r\n const { extHl } = em ? em.get('Canvas').getConfig() : {};\r\n const el = this.el;\r\n const status = this.model.get('status');\r\n const ppfx = this.ppfx;\r\n const selectedCls = `${ppfx}selected`;\r\n const selectedParentCls = `${selectedCls}-parent`;\r\n const freezedCls = `${ppfx}freezed`;\r\n const hoveredCls = `${ppfx}hovered`;\r\n const toRemove = [selectedCls, selectedParentCls, freezedCls, hoveredCls];\r\n const selCls = extHl && !opts.noExtHl ? '' : selectedCls;\r\n this.$el.removeClass(toRemove.join(' '));\r\n var actualCls = el.getAttribute('class') || '';\r\n var cls = '';\r\n\r\n switch (status) {\r\n case 'selected':\r\n cls = `${actualCls} ${selCls}`;\r\n break;\r\n case 'selected-parent':\r\n cls = `${actualCls} ${selectedParentCls}`;\r\n break;\r\n case 'freezed':\r\n cls = `${actualCls} ${freezedCls}`;\r\n break;\r\n case 'freezed-selected':\r\n cls = `${actualCls} ${freezedCls} ${selCls}`;\r\n break;\r\n case 'hovered':\r\n cls = !opts.avoidHover ? `${actualCls} ${hoveredCls}` : '';\r\n break;\r\n }\r\n\r\n cls = cls.trim();\r\n cls && el.setAttribute('class', cls);\r\n },\r\n\r\n /**\r\n * Update highlight attribute\r\n * @private\r\n * */\r\n updateHighlight() {\r\n const { model } = this;\r\n const isTextable = model.get('textable');\r\n const hl = model.get('highlightable') && (isTextable || !model.isChildOf('text'));\r\n this.setAttribute('data-gjs-highlightable', hl ? true : '');\r\n },\r\n\r\n /**\r\n * Update style attribute\r\n * @private\r\n * */\r\n updateStyle(m, v, opts = {}) {\r\n const { model, em } = this;\r\n\r\n if (em && em.getConfig('avoidInlineStyle') && !opts.inline) {\r\n const style = model.getStyle();\r\n !isEmpty(style) && model.setStyle(style);\r\n } else {\r\n this.setAttribute('style', model.styleToString(opts));\r\n }\r\n },\r\n\r\n /**\r\n * Update classe attribute\r\n * @private\r\n * */\r\n updateClasses() {\r\n const str = this.model.get('classes').pluck('name').join(' ');\r\n this.setAttribute('class', str);\r\n\r\n // Regenerate status class\r\n this.updateStatus();\r\n this.onAttrUpdate();\r\n },\r\n\r\n /**\r\n * Update single attribute\r\n * @param {[type]} name [description]\r\n * @param {[type]} value [description]\r\n */\r\n setAttribute(name, value) {\r\n const el = this.$el;\r\n value ? el.attr(name, value) : el.removeAttr(name);\r\n },\r\n\r\n /**\r\n * Get classes from attributes.\r\n * This method is called before initialize\r\n *\r\n * @return {Array}|null\r\n * @private\r\n * */\r\n getClasses() {\r\n return this.model.getClasses().join(' ');\r\n },\r\n\r\n /**\r\n * Update attributes\r\n * @private\r\n * */\r\n updateAttributes() {\r\n const attrs = [];\r\n const { model, $el, el } = this;\r\n const { textable, type } = model.attributes;\r\n\r\n const defaultAttr = {\r\n id: model.getId(),\r\n 'data-gjs-type': type || 'default',\r\n ...(this.__isDraggable() && { draggable: true }),\r\n ...(textable && { contenteditable: 'false' }),\r\n };\r\n\r\n // Remove all current attributes\r\n each(el.attributes, attr => attrs.push(attr.nodeName));\r\n attrs.forEach(attr => $el.removeAttr(attr));\r\n this.updateStyle();\r\n this.updateHighlight();\r\n const attr = {\r\n ...defaultAttr,\r\n ...model.getAttributes(),\r\n };\r\n\r\n // Remove all `false` attributes\r\n keys(attr).forEach(key => attr[key] === false && delete attr[key]);\r\n\r\n $el.attr(attr);\r\n },\r\n\r\n /**\r\n * Update component content\r\n * @private\r\n * */\r\n updateContent() {\r\n const content = this.model.get('content');\r\n const hasComps = this.model.components().length;\r\n this.getChildrenContainer().innerHTML = hasComps ? '' : content;\r\n },\r\n\r\n /**\r\n * Prevent default helper\r\n * @param {Event} e\r\n * @private\r\n */\r\n prevDef(e) {\r\n e.preventDefault();\r\n },\r\n\r\n /**\r\n * Render component's script\r\n * @private\r\n */\r\n updateScript() {\r\n const { model, em } = this;\r\n if (!model.get('script')) return;\r\n em && em.get('Canvas').getCanvasView().updateScript(this);\r\n },\r\n\r\n /**\r\n * Return children container\r\n * Differently from a simple component where children container is the\r\n * component itself\r\n * \r\n * \r\n * \r\n * You could have the children container more deeper\r\n * \r\n *
\r\n *
\r\n *
\r\n *
\r\n * \r\n *
\r\n *
\r\n *
\r\n * @return HTMLElement\r\n * @private\r\n */\r\n getChildrenContainer() {\r\n var container = this.el;\r\n\r\n if (typeof this.getChildrenSelector == 'function') {\r\n container = this.el.querySelector(this.getChildrenSelector());\r\n } else if (typeof this.getTemplate == 'function') {\r\n // Need to find deepest first child\r\n }\r\n\r\n return container;\r\n },\r\n\r\n /**\r\n * This returns rect informations not affected by the canvas zoom.\r\n * The method `getBoundingClientRect` doesn't work here and we\r\n * have to take in account offsetParent\r\n */\r\n getOffsetRect() {\r\n const rect = {};\r\n const target = this.el;\r\n let gtop = 0;\r\n let gleft = 0;\r\n\r\n const assignRect = el => {\r\n const { offsetParent } = el;\r\n\r\n if (offsetParent) {\r\n gtop += offsetParent.offsetTop;\r\n gleft += offsetParent.offsetLeft;\r\n assignRect(offsetParent);\r\n } else {\r\n rect.top = target.offsetTop + gtop;\r\n rect.left = target.offsetLeft + gleft;\r\n rect.bottom = rect.top + target.offsetHeight;\r\n rect.right = rect.left + target.offsetWidth;\r\n }\r\n };\r\n assignRect(target);\r\n\r\n return rect;\r\n },\r\n\r\n isInViewport({ rect } = {}) {\r\n const { el } = this;\r\n const elDoc = el.ownerDocument;\r\n const { body } = elDoc;\r\n const { frameElement } = elDoc.defaultView;\r\n const { top, left } = rect || this.getOffsetRect();\r\n const frame = this._getFrame().getOffsetRect();\r\n\r\n return (\r\n top >= frame.scrollTop &&\r\n left >= frame.scrollLeft &&\r\n top <= frame.scrollBottom &&\r\n left <= frameElement.offsetWidth + body.scrollLeft\r\n );\r\n },\r\n\r\n scrollIntoView(opts = {}) {\r\n const rect = this.getOffsetRect();\r\n const isInViewport = this.isInViewport({ rect });\r\n\r\n if (!isInViewport || opts.force) {\r\n const { el } = this;\r\n\r\n // PATCH: scrollIntoView won't work with multiple requests from iframes\r\n if (opts.behavior !== 'smooth') {\r\n el.ownerDocument.defaultView.scrollTo(0, rect.top);\r\n } else {\r\n el.scrollIntoView({\r\n behavior: 'smooth',\r\n block: 'nearest',\r\n ...opts,\r\n });\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Recreate the element of the view\r\n */\r\n reset() {\r\n const { el } = this;\r\n this.el = '';\r\n this._ensureElement();\r\n this._setData();\r\n replaceWith(el, this.el);\r\n this.render();\r\n },\r\n\r\n _setData() {\r\n const { model } = this;\r\n const collection = model.components();\r\n const view = this;\r\n this.$el.data({ model, collection, view });\r\n },\r\n\r\n _getFrame() {\r\n return this.config.frameView;\r\n },\r\n\r\n /**\r\n * Render children components\r\n * @private\r\n */\r\n renderChildren() {\r\n this.updateContent();\r\n const container = this.getChildrenContainer();\r\n const view =\r\n this.childrenView ||\r\n new ComponentsView({\r\n collection: this.model.get('components'),\r\n config: this.config,\r\n componentTypes: this.opts.componentTypes,\r\n });\r\n\r\n view.render(container);\r\n this.childrenView = view;\r\n const childNodes = Array.prototype.slice.call(view.el.childNodes);\r\n\r\n for (var i = 0, len = childNodes.length; i < len; i++) {\r\n container.appendChild(childNodes.shift());\r\n }\r\n },\r\n\r\n renderAttributes() {\r\n this.updateAttributes();\r\n this.updateClasses();\r\n },\r\n\r\n onAttrUpdate() {},\r\n\r\n render() {\r\n this.renderAttributes();\r\n if (this.modelOpt.temporary) return this;\r\n this.renderChildren();\r\n this.updateScript();\r\n setViewEl(this.el, this);\r\n this.postRender();\r\n\r\n return this;\r\n },\r\n\r\n postRender() {\r\n if (!this.modelOpt.temporary) {\r\n this.onRender(this._clbObj());\r\n }\r\n },\r\n\r\n onRender() {},\r\n});\r\n","import Backbone from 'backbone';\r\nimport { isUndefined } from 'underscore';\r\nimport { removeEl } from '../../utils/dom';\r\n\r\nexport default Backbone.View.extend({\r\n initialize(o) {\r\n this.opts = o || {};\r\n this.config = o.config || {};\r\n this.em = this.config.em;\r\n const coll = this.collection;\r\n this.listenTo(coll, 'add', this.addTo);\r\n this.listenTo(coll, 'reset', this.resetChildren);\r\n this.listenTo(coll, 'remove', this.removeChildren);\r\n },\r\n\r\n removeChildren(removed, coll, opts = {}) {\r\n removed.views.forEach(view => {\r\n if (!view) return;\r\n const { childrenView, scriptContainer } = view;\r\n childrenView && childrenView.stopListening();\r\n removeEl(scriptContainer);\r\n view.remove.apply(view);\r\n });\r\n\r\n const inner = removed.components();\r\n inner.forEach(it => this.removeChildren(it, coll, opts));\r\n },\r\n\r\n /**\r\n * Add to collection\r\n * @param {Model} model\r\n * @param {Collection} coll\r\n * @param {Object} opts\r\n * @private\r\n * */\r\n addTo(model, coll = {}, opts = {}) {\r\n const em = this.config.em;\r\n const i = this.collection.indexOf(model);\r\n this.addToCollection(model, null, i);\r\n\r\n if (em && !opts.temporary) {\r\n const triggerAdd = model => {\r\n em.trigger('component:add', model);\r\n model.components().forEach(comp => triggerAdd(comp));\r\n };\r\n triggerAdd(model);\r\n }\r\n },\r\n\r\n /**\r\n * Add new object to collection\r\n * @param {Object} Model\r\n * @param {Object} Fragment collection\r\n * @param {Integer} Index of append\r\n *\r\n * @return {Object} Object rendered\r\n * @private\r\n * */\r\n addToCollection(model, fragmentEl, index) {\r\n if (!this.compView) this.compView = require('./ComponentView').default;\r\n const { config, opts, em } = this;\r\n const fragment = fragmentEl || null;\r\n const { frameView = {} } = config;\r\n const sameFrameView = frameView.model && model.getView(frameView.model);\r\n const dt = opts.componentTypes || (em && em.get('DomComponents').getTypes());\r\n const type = model.get('type') || 'default';\r\n let viewObject = this.compView;\r\n\r\n for (let it = 0; it < dt.length; it++) {\r\n if (dt[it].id == type) {\r\n viewObject = dt[it].view;\r\n break;\r\n }\r\n }\r\n const view =\r\n sameFrameView ||\r\n new viewObject({\r\n model,\r\n config,\r\n componentTypes: dt,\r\n });\r\n let rendered;\r\n\r\n try {\r\n // Avoid breaking on DOM rendering (eg. invalid attribute name)\r\n rendered = view.render().el;\r\n } catch (error) {\r\n rendered = document.createTextNode('');\r\n em.logError(error);\r\n }\r\n\r\n if (fragment) {\r\n fragment.appendChild(rendered);\r\n } else {\r\n const parent = this.parentEl;\r\n const children = parent.childNodes;\r\n\r\n if (!isUndefined(index)) {\r\n const lastIndex = children.length == index;\r\n\r\n // If the added model is the last of collection\r\n // need to change the logic of append\r\n if (lastIndex) {\r\n index--;\r\n }\r\n\r\n // In case the added is new in the collection index will be -1\r\n if (lastIndex || !children.length) {\r\n parent.appendChild(rendered);\r\n } else {\r\n parent.insertBefore(rendered, children[index]);\r\n }\r\n } else {\r\n parent.appendChild(rendered);\r\n }\r\n }\r\n\r\n if (!model.opt.temporary) {\r\n em?.trigger('component:mount', model);\r\n }\r\n\r\n return rendered;\r\n },\r\n\r\n resetChildren(models, { previousModels = [] } = {}) {\r\n this.parentEl.innerHTML = '';\r\n previousModels.forEach(md => this.removeChildren(md, this.collection));\r\n models.each(model => this.addToCollection(model));\r\n },\r\n\r\n render(parent) {\r\n const el = this.el;\r\n const frag = document.createDocumentFragment();\r\n this.parentEl = parent || this.el;\r\n this.collection.each(model => this.addToCollection(model, frag));\r\n el.innerHTML = '';\r\n el.appendChild(frag);\r\n return this;\r\n },\r\n});\r\n","import { isString, isArray, keys, isUndefined } from 'underscore';\r\nimport { shallowDiff } from '../../utils/mixins';\r\nimport ParserHtml from '../../parser/model/ParserHtml';\r\n\r\nconst parseStyle = ParserHtml().parseStyle;\r\n\r\nexport default {\r\n parseStyle,\r\n\r\n /**\r\n * To trigger the style change event on models I have to\r\n * pass a new object instance\r\n * @param {Object} prop\r\n * @return {Object}\r\n */\r\n extendStyle(prop) {\r\n return { ...this.getStyle(), ...prop };\r\n },\r\n\r\n /**\r\n * Get style object\r\n * @return {Object}\r\n */\r\n getStyle(prop) {\r\n const style = this.get('style') || {};\r\n const result = { ...style };\r\n return prop && isString(prop) ? result[prop] : result;\r\n },\r\n\r\n /**\r\n * Set new style object\r\n * @param {Object|string} prop\r\n * @param {Object} opts\r\n * @return {Object} Applied properties\r\n */\r\n setStyle(prop = {}, opts = {}) {\r\n if (isString(prop)) {\r\n prop = parseStyle(prop);\r\n }\r\n\r\n const propOrig = this.getStyle(opts);\r\n const propNew = { ...prop };\r\n this.set('style', propNew, opts);\r\n const diff = shallowDiff(propOrig, propNew);\r\n keys(diff).forEach(pr => {\r\n const em = this.em;\r\n if (opts.noEvent) return;\r\n this.trigger(`change:style:${pr}`);\r\n if (em) {\r\n em.trigger(`styleable:change`, this, pr, opts);\r\n em.trigger(`styleable:change:${pr}`, this, pr, opts);\r\n }\r\n });\r\n\r\n return propNew;\r\n },\r\n\r\n /**\r\n * Add style property\r\n * @param {Object|string} prop\r\n * @param {string} value\r\n * @example\r\n * this.addStyle({color: 'red'});\r\n * this.addStyle('color', 'blue');\r\n */\r\n addStyle(prop, value = '', opts = {}) {\r\n if (typeof prop == 'string') {\r\n prop = {\r\n prop: value,\r\n };\r\n } else {\r\n opts = value || {};\r\n }\r\n\r\n prop = this.extendStyle(prop);\r\n this.setStyle(prop, opts);\r\n },\r\n\r\n /**\r\n * Remove style property\r\n * @param {string} prop\r\n */\r\n removeStyle(prop) {\r\n let style = this.getStyle();\r\n delete style[prop];\r\n this.setStyle(style);\r\n },\r\n\r\n /**\r\n * Returns string of style properties\r\n * @param {Object} [opts={}] Options\r\n * @return {String}\r\n */\r\n styleToString(opts = {}) {\r\n const result = [];\r\n const style = this.getStyle(opts);\r\n\r\n for (let prop in style) {\r\n const imp = opts.important;\r\n const important = isArray(imp) ? imp.indexOf(prop) >= 0 : imp;\r\n const value = `${style[prop]}${important ? ' !important' : ''}`;\r\n const propPrv = prop.substr(0, 2) == '__';\r\n value && !propPrv && result.push(`${prop}:${value};`);\r\n }\r\n\r\n return result.join('');\r\n },\r\n\r\n getSelectors() {\r\n return this.get('selectors') || this.get('classes');\r\n },\r\n\r\n getSelectorsString(opts) {\r\n return this.selectorsToString ? this.selectorsToString(opts) : this.getSelectors().getFullString();\r\n },\r\n\r\n _validate(attr, opts) {\r\n const { style } = attr;\r\n const em = this.em || opts.em;\r\n const onBeforeStyle = em?.get('CssComposer')?.getConfig().onBeforeStyle;\r\n\r\n if (style && onBeforeStyle) {\r\n const newStyle = onBeforeStyle({ ...style });\r\n newStyle &&\r\n keys(style).map(prop => {\r\n if (isUndefined(newStyle[prop])) delete attr.style[prop];\r\n });\r\n newStyle &&\r\n keys(newStyle).map(prop => {\r\n attr.style[prop] = newStyle[prop];\r\n });\r\n }\r\n\r\n return true;\r\n },\r\n};\r\n","import { isFunction } from 'underscore';\r\nimport { View, Model } from '../../common';\r\n\r\nexport default {\r\n types: [],\r\n\r\n initialize(models, opts = {}) {\r\n const { em } = opts;\r\n this.em = em;\r\n this.opts = opts;\r\n this.model = (attrs = {}, options = {}) => {\r\n let Model, View, type;\r\n\r\n if (attrs && attrs.type) {\r\n const baseType = this.getBaseType();\r\n type = this.getType(attrs.type);\r\n Model = type ? type.model : baseType.model;\r\n View = type ? type.view : baseType.view;\r\n } else {\r\n const typeFound = this.recognizeType(attrs);\r\n type = typeFound.type;\r\n Model = type.model;\r\n View = type.view;\r\n attrs = typeFound.attributes;\r\n }\r\n\r\n const model = new Model(attrs, { ...options, em });\r\n model.typeView = View;\r\n return model;\r\n };\r\n const init = this.init && this.init.bind(this);\r\n init && init();\r\n },\r\n\r\n /**\r\n * Recognize type by any value\r\n * @param {mixed} value\r\n * @return {Object} Found type\r\n */\r\n recognizeType(value) {\r\n const types = this.getTypes();\r\n\r\n for (let i = 0; i < types.length; i++) {\r\n const type = types[i];\r\n let typeFound = type.isType(value);\r\n typeFound = typeof typeFound == 'boolean' && typeFound ? { type: type.id } : typeFound;\r\n\r\n if (typeFound) {\r\n return {\r\n type,\r\n attributes: typeFound,\r\n };\r\n }\r\n }\r\n\r\n // If, for any reason, the type is not found it'll return the base one\r\n return {\r\n type: this.getBaseType(),\r\n attributes: value,\r\n };\r\n },\r\n\r\n /**\r\n * Returns the base type (last object in the stack)\r\n * @return {Object}\r\n */\r\n getBaseType() {\r\n const types = this.getTypes();\r\n return types[types.length - 1];\r\n },\r\n\r\n /**\r\n * Get types\r\n * @return {Array}\r\n */\r\n getTypes() {\r\n return this.types;\r\n },\r\n\r\n /**\r\n * Get type\r\n * @param {string} id Type ID\r\n * @return {Object} Type definition\r\n */\r\n getType(id) {\r\n const types = this.getTypes();\r\n\r\n for (let i = 0; i < types.length; i++) {\r\n const type = types[i];\r\n if (type.id === id) {\r\n return type;\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Add new type\r\n * @param {string} id Type ID\r\n * @param {Object} definition Definition of the type. Each definition contains\r\n * `model` (business logic), `view` (presentation logic)\r\n * and `isType` function which recognize the type of the\r\n * passed entity\r\n * addType('my-type', {\r\n * model: {},\r\n * view: {},\r\n * isType: (value) => {},\r\n * })\r\n */\r\n addType(id, definition) {\r\n const type = this.getType(id);\r\n const baseType = this.getBaseType();\r\n const ModelInst = type ? type.model : baseType.model;\r\n const ViewInst = type ? type.view : baseType.view;\r\n let { model, view, isType } = definition;\r\n model = model instanceof Model || isFunction(model) ? model : ModelInst.extend(model || {});\r\n view = view instanceof View || isFunction(view) ? view : ViewInst.extend(view || {});\r\n\r\n // New API\r\n if (this.extendViewApi && !definition.model && !definition.view) {\r\n view = view.extend(definition);\r\n }\r\n\r\n if (type) {\r\n type.model = model;\r\n type.view = view;\r\n type.isType = isType || type.isType;\r\n } else {\r\n definition.id = id;\r\n definition.model = model;\r\n definition.view = view;\r\n definition.isType =\r\n isType ||\r\n function (value) {\r\n if (value && value.type == id) {\r\n return true;\r\n }\r\n };\r\n this.getTypes().unshift(definition);\r\n }\r\n },\r\n};\r\n","import Backbone from 'backbone';\r\n\r\nconst $ = Backbone.$;\r\n\r\nexport default class Input extends Backbone.View {\r\n template() {\r\n return ``;\r\n }\r\n\r\n inputClass() {\r\n return `${this.ppfx}field`;\r\n }\r\n\r\n holderClass() {\r\n return `${this.ppfx}input-holder`;\r\n }\r\n\r\n constructor(opts = {}) {\r\n super(opts);\r\n const ppfx = opts.ppfx || '';\r\n this.opts = opts;\r\n this.ppfx = ppfx;\r\n this.em = opts.target || {};\r\n !opts.onChange && this.listenTo(this.model, 'change:value', this.handleModelChange);\r\n }\r\n\r\n /**\r\n * Fired when the element of the property is updated\r\n */\r\n elementUpdated() {\r\n this.model.trigger('el:change');\r\n }\r\n\r\n /**\r\n * Set value to the input element\r\n * @param {string} value\r\n */\r\n setValue(value) {\r\n const model = this.model;\r\n let val = value || model.get('defaults');\r\n const input = this.getInputEl();\r\n input && (input.value = val);\r\n }\r\n\r\n /**\r\n * Updates the view when the model is changed\r\n * */\r\n handleModelChange(model, value, opts) {\r\n this.setValue(value, opts);\r\n }\r\n\r\n /**\r\n * Handled when the view is changed\r\n */\r\n handleChange(e) {\r\n e.stopPropagation();\r\n const value = this.getInputEl().value;\r\n this.__onInputChange(value);\r\n this.elementUpdated();\r\n }\r\n\r\n __onInputChange(value) {\r\n this.model.set({ value }, { fromInput: 1 });\r\n }\r\n\r\n /**\r\n * Get the input element\r\n * @return {HTMLElement}\r\n */\r\n getInputEl() {\r\n if (!this.inputEl) {\r\n const { model, opts } = this;\r\n const type = opts.type || 'text';\r\n const plh = model.get('placeholder') || model.get('defaults') || model.get('default') || '';\r\n this.inputEl = $(``);\r\n }\r\n\r\n return this.inputEl.get(0);\r\n }\r\n\r\n render() {\r\n this.inputEl = null;\r\n const el = this.$el;\r\n el.addClass(this.inputClass());\r\n el.html(this.template());\r\n el.find(`.${this.holderClass()}`).append(this.getInputEl());\r\n return this;\r\n }\r\n}\r\n\r\nInput.prototype.events = {\r\n change: 'handleChange',\r\n};\r\n","import Backbone from 'backbone';\r\nimport { isUndefined } from 'underscore';\r\nimport ColorPicker from '../../utils/ColorPicker';\r\nimport Input from './Input';\r\n\r\nconst { $ } = Backbone;\r\n$ && ColorPicker($);\r\n\r\nconst getColor = color => {\r\n const name = color.getFormat() === 'name' && color.toName();\r\n const cl = color.getAlpha() == 1 ? color.toHexString() : color.toRgbString();\r\n return name || cl.replace(/ /g, '');\r\n};\r\n\r\nexport default class InputColor extends Input {\r\n template() {\r\n const ppfx = this.ppfx;\r\n return `\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n `;\r\n }\r\n\r\n inputClass() {\r\n const ppfx = this.ppfx;\r\n return `${ppfx}field ${ppfx}field-color`;\r\n }\r\n\r\n holderClass() {\r\n return `${this.ppfx}input-holder`;\r\n }\r\n\r\n remove() {\r\n Input.prototype.remove.apply(this, arguments);\r\n this.colorEl.spectrum('destroy');\r\n }\r\n\r\n handleChange(e) {\r\n e.stopPropagation();\r\n const { value } = e.target;\r\n if (isUndefined(value)) return;\r\n this.__onInputChange(value);\r\n }\r\n\r\n __onInputChange(val) {\r\n const { model, opts } = this;\r\n const { onChange } = opts;\r\n let value = val;\r\n const colorEl = this.getColorEl();\r\n\r\n // Check the color by using the ColorPicker's parser\r\n if (colorEl) {\r\n colorEl.spectrum('set', value);\r\n const tc = colorEl.spectrum('get');\r\n const color = value && getColor(tc);\r\n color && (value = color);\r\n }\r\n\r\n onChange ? onChange(value) : model.set({ value }, { fromInput: 1 });\r\n }\r\n\r\n /**\r\n * Set value to the model\r\n * @param {string} val\r\n * @param {Object} opts\r\n */\r\n setValue(val, opts = {}) {\r\n const { model } = this;\r\n const def = !isUndefined(opts.def) ? opts.def : model.get('defaults');\r\n const value = !isUndefined(val) ? val : !isUndefined(def) ? def : '';\r\n const inputEl = this.getInputEl();\r\n const colorEl = this.getColorEl();\r\n const valueClr = value != 'none' ? value : '';\r\n inputEl.value = value;\r\n colorEl.get(0).style.backgroundColor = valueClr;\r\n\r\n // This prevents from adding multiple thumbs in spectrum\r\n if (opts.fromTarget || (opts.fromInput && !opts.avoidStore)) {\r\n colorEl.spectrum('set', valueClr);\r\n this.noneColor = value == 'none';\r\n }\r\n }\r\n\r\n /**\r\n * Get the color input element\r\n * @return {HTMLElement}\r\n */\r\n getColorEl() {\r\n if (!this.colorEl) {\r\n const { em, model, opts } = this;\r\n const self = this;\r\n const ppfx = this.ppfx;\r\n const { onChange } = opts;\r\n\r\n var colorEl = $(`
`);\r\n var cpStyle = colorEl.get(0).style;\r\n var elToAppend = em && em.config ? em.config.el : '';\r\n var colorPickerConfig = (em && em.getConfig && em.getConfig('colorPicker')) || {};\r\n\r\n let changed = 0;\r\n let previousColor;\r\n this.$el.find(`[data-colorp-c]`).append(colorEl);\r\n colorEl.spectrum({\r\n color: model.getValue() || false,\r\n containerClassName: `${ppfx}one-bg ${ppfx}two-color`,\r\n appendTo: elToAppend || 'body',\r\n maxSelectionSize: 8,\r\n showPalette: true,\r\n showAlpha: true,\r\n chooseText: 'Ok',\r\n cancelText: '⨯',\r\n palette: [],\r\n\r\n // config expanded here so that the functions below are not overridden\r\n ...colorPickerConfig,\r\n ...(model.get('colorPicker') || {}),\r\n\r\n move(color) {\r\n const cl = getColor(color);\r\n cpStyle.backgroundColor = cl;\r\n onChange ? onChange(cl, true) : model.setValueFromInput(cl, 0);\r\n },\r\n change(color) {\r\n changed = 1;\r\n const cl = getColor(color);\r\n cpStyle.backgroundColor = cl;\r\n if (onChange) {\r\n onChange(cl);\r\n } else {\r\n model.setValueFromInput(0, 0); // for UndoManager\r\n model.setValueFromInput(cl);\r\n }\r\n self.noneColor = 0;\r\n },\r\n show(color) {\r\n changed = 0;\r\n previousColor = onChange ? model.getValue({ noDefault: true }) : getColor(color);\r\n },\r\n hide(color) {\r\n if (!changed && (previousColor || onChange)) {\r\n if (self.noneColor) {\r\n previousColor = '';\r\n }\r\n cpStyle.backgroundColor = previousColor;\r\n colorEl.spectrum('set', previousColor);\r\n onChange ? onChange(previousColor, true) : model.setValueFromInput(previousColor, 0);\r\n }\r\n },\r\n });\r\n\r\n if (em && em.on) {\r\n this.listenTo(em, 'component:selected', () => {\r\n changed = 1;\r\n colorEl.spectrum('hide');\r\n });\r\n }\r\n\r\n this.colorEl = colorEl;\r\n }\r\n return this.colorEl;\r\n }\r\n\r\n render() {\r\n Input.prototype.render.call(this);\r\n // This will make the color input available on render\r\n this.getColorEl();\r\n return this;\r\n }\r\n}\r\n","// Without jquery I have to update few stuff\r\n//\r\n// Spectrum Colorpicker v1.8.0\r\n// https://github.com/bgrins/spectrum\r\n// Author: Brian Grinstead\r\n// License: MIT\r\nimport { hasWin } from './mixins';\r\n\r\nexport default function ($, undefined) {\r\n 'use strict';\r\n if (!hasWin()) return;\r\n\r\n var defaultOpts = {\r\n // Callbacks\r\n beforeShow: noop,\r\n move: noop,\r\n change: noop,\r\n show: noop,\r\n hide: noop,\r\n\r\n // Options\r\n color: false,\r\n flat: false,\r\n showInput: false,\r\n allowEmpty: false,\r\n showButtons: true,\r\n clickoutFiresChange: true,\r\n showInitial: false,\r\n showPalette: false,\r\n showPaletteOnly: false,\r\n hideAfterPaletteSelect: false,\r\n togglePaletteOnly: false,\r\n showSelectionPalette: true,\r\n localStorageKey: false,\r\n appendTo: 'body',\r\n maxSelectionSize: 7,\r\n cancelText: 'cancel',\r\n chooseText: 'choose',\r\n togglePaletteMoreText: 'more',\r\n togglePaletteLessText: 'less',\r\n clearText: 'Clear Color Selection',\r\n noColorSelectedText: 'No Color Selected',\r\n preferredFormat: false,\r\n className: '', // Deprecated - use containerClassName and replacerClassName instead.\r\n containerClassName: '',\r\n replacerClassName: '',\r\n showAlpha: false,\r\n theme: 'sp-light',\r\n palette: [['#ffffff', '#000000', '#ff0000', '#ff8000', '#ffff00', '#008000', '#0000ff', '#4b0082', '#9400d3']],\r\n selectionPalette: [],\r\n disabled: false,\r\n offset: null,\r\n },\r\n spectrums = [],\r\n IE = !!/msie/i.exec(window.navigator.userAgent),\r\n rgbaSupport = (function () {\r\n function contains(str, substr) {\r\n return !!~('' + str).indexOf(substr);\r\n }\r\n\r\n var elem = document.createElement('div');\r\n var style = elem.style;\r\n style.cssText = 'background-color:rgba(0,0,0,.5)';\r\n return contains(style.backgroundColor, 'rgba') || contains(style.backgroundColor, 'hsla');\r\n })(),\r\n replaceInput = [\r\n \"
\",\r\n \"
\",\r\n \"
\",\r\n '
',\r\n ].join(''),\r\n markup = (function () {\r\n // IE does not support gradients with multiple stops, so we need to simulate\r\n // that for the rainbow slider with 8 divs that each have a single gradient\r\n var gradientFix = '';\r\n if (IE) {\r\n for (var i = 1; i <= 6; i++) {\r\n gradientFix += \"
\";\r\n }\r\n }\r\n\r\n return [\r\n \"
\",\r\n \"
\",\r\n \"
\",\r\n \"
\",\r\n \"\",\r\n '
',\r\n '
',\r\n \"
\",\r\n \"
\",\r\n \"
\",\r\n \"
\",\r\n \"
\",\r\n \"
\",\r\n \"
\",\r\n \"
\",\r\n '
',\r\n '
',\r\n '
',\r\n \"
\",\r\n '
',\r\n \"
\",\r\n \"
\",\r\n gradientFix,\r\n '
',\r\n '
',\r\n \"
\",\r\n '
',\r\n \"
\",\r\n \"\",\r\n '
',\r\n \"
\",\r\n \"
\",\r\n \"\",\r\n \"\",\r\n '
',\r\n '
',\r\n '
',\r\n ].join('');\r\n })();\r\n\r\n function paletteTemplate(p, color, className, opts) {\r\n var html = [];\r\n for (var i = 0; i < p.length; i++) {\r\n var current = p[i];\r\n if (current) {\r\n var tiny = tinycolor(current);\r\n var c = tiny.toHsl().l < 0.5 ? 'sp-thumb-el sp-thumb-dark' : 'sp-thumb-el sp-thumb-light';\r\n c += tinycolor.equals(color, current) ? ' sp-thumb-active' : '';\r\n var formattedString = tiny.toString(opts.preferredFormat || 'rgb');\r\n var swatchStyle = rgbaSupport ? 'background-color:' + tiny.toRgbString() : 'filter:' + tiny.toFilter();\r\n html.push(\r\n ''\r\n );\r\n } else {\r\n var cls = 'sp-clear-display';\r\n html.push(\r\n $('
')\r\n .append(\r\n $('').attr(\r\n 'title',\r\n opts.noColorSelectedText\r\n )\r\n )\r\n .html()\r\n );\r\n }\r\n }\r\n return \"
\" + html.join('') + '
';\r\n }\r\n\r\n function hideAll() {\r\n for (var i = 0; i < spectrums.length; i++) {\r\n if (spectrums[i]) {\r\n spectrums[i].hide();\r\n }\r\n }\r\n }\r\n\r\n function instanceOptions(o, callbackContext) {\r\n var opts = $.extend({}, defaultOpts, o);\r\n opts.callbacks = {\r\n move: bind(opts.move, callbackContext),\r\n change: bind(opts.change, callbackContext),\r\n show: bind(opts.show, callbackContext),\r\n hide: bind(opts.hide, callbackContext),\r\n beforeShow: bind(opts.beforeShow, callbackContext),\r\n };\r\n return opts;\r\n }\r\n\r\n function spectrum(element, o) {\r\n var opts = instanceOptions(o, element),\r\n flat = opts.flat,\r\n showSelectionPalette = opts.showSelectionPalette,\r\n localStorageKey = opts.localStorageKey,\r\n theme = opts.theme,\r\n callbacks = opts.callbacks,\r\n resize = throttle(reflow, 10),\r\n visible = false,\r\n isDragging = false,\r\n isDefault = true,\r\n dragWidth = 0,\r\n dragHeight = 0,\r\n dragHelperHeight = 0,\r\n slideHeight = 0,\r\n slideWidth = 0,\r\n alphaWidth = 0,\r\n alphaSlideHelperWidth = 0,\r\n slideHelperHeight = 0,\r\n currentHue = 0,\r\n currentSaturation = 0,\r\n currentValue = 0,\r\n currentAlpha = 1,\r\n palette = [],\r\n paletteArray = [],\r\n paletteLookup = {},\r\n selectionPalette = opts.selectionPalette.slice(0),\r\n maxSelectionSize = opts.maxSelectionSize,\r\n draggingClass = 'sp-dragging',\r\n shiftMovementDirection = null;\r\n\r\n var doc = element.ownerDocument,\r\n body = doc.body,\r\n boundElement = $(element),\r\n disabled = false,\r\n container = $(markup, doc).addClass(theme),\r\n pickerContainer = container.find('.sp-picker-container'),\r\n dragger = container.find('.sp-color'),\r\n dragHelper = container.find('.sp-dragger'),\r\n slider = container.find('.sp-hue'),\r\n slideHelper = container.find('.sp-slider'),\r\n alphaSliderInner = container.find('.sp-alpha-inner'),\r\n alphaSlider = container.find('.sp-alpha'),\r\n alphaSlideHelper = container.find('.sp-alpha-handle'),\r\n textInput = container.find('.sp-input'),\r\n paletteContainer = container.find('.sp-palette'),\r\n initialColorContainer = container.find('.sp-initial'),\r\n cancelButton = container.find('.sp-cancel'),\r\n clearButton = container.find('.sp-clear'),\r\n chooseButton = container.find('.sp-choose'),\r\n toggleButton = container.find('.sp-palette-toggle'),\r\n isInput = boundElement.is('input'),\r\n isInputTypeColor = isInput && boundElement.attr('type') === 'color' && inputTypeColorSupport(),\r\n shouldReplace = isInput && !flat,\r\n replacer = shouldReplace\r\n ? $(replaceInput).addClass(theme).addClass(opts.className).addClass(opts.replacerClassName)\r\n : $([]),\r\n offsetElement = shouldReplace ? replacer : boundElement,\r\n previewElement = replacer.find('.sp-preview-inner'),\r\n initialColor = opts.color || (isInput && boundElement.val()),\r\n colorOnShow = false,\r\n currentPreferredFormat = opts.preferredFormat,\r\n clickoutFiresChange = !opts.showButtons || opts.clickoutFiresChange,\r\n isEmpty = !initialColor,\r\n allowEmpty = opts.allowEmpty && !isInputTypeColor;\r\n\r\n function applyOptions() {\r\n if (opts.showPaletteOnly) {\r\n opts.showPalette = true;\r\n }\r\n\r\n toggleButton.text(opts.showPaletteOnly ? opts.togglePaletteMoreText : opts.togglePaletteLessText);\r\n\r\n if (opts.palette) {\r\n palette = opts.palette.slice(0);\r\n paletteArray = $.isArray(palette[0]) ? palette : [palette];\r\n paletteLookup = {};\r\n for (var i = 0; i < paletteArray.length; i++) {\r\n for (var j = 0; j < paletteArray[i].length; j++) {\r\n var rgb = tinycolor(paletteArray[i][j]).toRgbString();\r\n paletteLookup[rgb] = true;\r\n }\r\n }\r\n }\r\n\r\n container.toggleClass('sp-flat', flat);\r\n container.toggleClass('sp-input-disabled', !opts.showInput);\r\n container.toggleClass('sp-alpha-enabled', opts.showAlpha);\r\n container.toggleClass('sp-clear-enabled', allowEmpty);\r\n container.toggleClass('sp-buttons-disabled', !opts.showButtons);\r\n container.toggleClass('sp-palette-buttons-disabled', !opts.togglePaletteOnly);\r\n container.toggleClass('sp-palette-disabled', !opts.showPalette);\r\n container.toggleClass('sp-palette-only', opts.showPaletteOnly);\r\n container.toggleClass('sp-initial-disabled', !opts.showInitial);\r\n container.addClass(opts.className).addClass(opts.containerClassName);\r\n\r\n reflow();\r\n }\r\n\r\n function initialize() {\r\n if (IE) {\r\n container.find('*:not(input)').attr('unselectable', 'on');\r\n }\r\n\r\n applyOptions();\r\n\r\n if (shouldReplace) {\r\n boundElement.after(replacer).hide();\r\n }\r\n\r\n if (!allowEmpty) {\r\n clearButton.hide();\r\n }\r\n\r\n if (flat) {\r\n boundElement.after(container).hide();\r\n } else {\r\n var appendTo = opts.appendTo === 'parent' ? boundElement.parent() : $(opts.appendTo);\r\n if (appendTo.length !== 1) {\r\n appendTo = $('body');\r\n }\r\n\r\n appendTo.append(container);\r\n }\r\n\r\n updateSelectionPaletteFromStorage();\r\n\r\n offsetElement.bind('click.spectrum touchstart.spectrum', function (e) {\r\n if (!disabled) {\r\n toggle();\r\n }\r\n\r\n e.stopPropagation();\r\n\r\n if (!$(e.target).is('input')) {\r\n e.preventDefault();\r\n }\r\n });\r\n\r\n if (boundElement.is(':disabled') || opts.disabled === true) {\r\n disable();\r\n }\r\n\r\n // Prevent clicks from bubbling up to document. This would cause it to be hidden.\r\n container.click(stopPropagation);\r\n\r\n // Handle user typed input\r\n textInput.change(setFromTextInput);\r\n textInput.bind('paste', function () {\r\n setTimeout(setFromTextInput, 1);\r\n });\r\n textInput.keydown(function (e) {\r\n if (e.keyCode == 13) {\r\n setFromTextInput();\r\n }\r\n });\r\n\r\n cancelButton.text(opts.cancelText);\r\n cancelButton.bind('click.spectrum', function (e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n revert();\r\n hide();\r\n });\r\n\r\n clearButton.attr('title', opts.clearText);\r\n clearButton.bind('click.spectrum', function (e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n isEmpty = true;\r\n move();\r\n\r\n if (flat) {\r\n //for the flat style, this is a change event\r\n updateOriginalInput(true);\r\n }\r\n });\r\n\r\n chooseButton.text(opts.chooseText);\r\n chooseButton.bind('click.spectrum', function (e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n if (IE && textInput.is(':focus')) {\r\n textInput.trigger('change');\r\n }\r\n\r\n if (isValid()) {\r\n updateOriginalInput(true);\r\n hide();\r\n }\r\n });\r\n\r\n toggleButton.text(opts.showPaletteOnly ? opts.togglePaletteMoreText : opts.togglePaletteLessText);\r\n toggleButton.bind('click.spectrum', function (e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n opts.showPaletteOnly = !opts.showPaletteOnly;\r\n\r\n // To make sure the Picker area is drawn on the right, next to the\r\n // Palette area (and not below the palette), first move the Palette\r\n // to the left to make space for the picker, plus 5px extra.\r\n // The 'applyOptions' function puts the whole container back into place\r\n // and takes care of the button-text and the sp-palette-only CSS class.\r\n if (!opts.showPaletteOnly && !flat) {\r\n container.css('left', '-=' + (pickerContainer.outerWidth(true) + 5));\r\n }\r\n applyOptions();\r\n });\r\n\r\n draggable(\r\n alphaSlider,\r\n function (dragX, dragY, e) {\r\n currentAlpha = dragX / alphaWidth;\r\n isEmpty = false;\r\n if (e.shiftKey) {\r\n currentAlpha = Math.round(currentAlpha * 10) / 10;\r\n }\r\n\r\n move();\r\n },\r\n dragStart,\r\n dragStop\r\n );\r\n\r\n draggable(\r\n slider,\r\n function (dragX, dragY) {\r\n currentHue = parseFloat(dragY / slideHeight);\r\n isEmpty = false;\r\n if (!opts.showAlpha) {\r\n currentAlpha = 1;\r\n }\r\n move();\r\n },\r\n dragStart,\r\n dragStop\r\n );\r\n\r\n draggable(\r\n dragger,\r\n function (dragX, dragY, e) {\r\n // shift+drag should snap the movement to either the x or y axis.\r\n if (!e.shiftKey) {\r\n shiftMovementDirection = null;\r\n } else if (!shiftMovementDirection) {\r\n var oldDragX = currentSaturation * dragWidth;\r\n var oldDragY = dragHeight - currentValue * dragHeight;\r\n var furtherFromX = Math.abs(dragX - oldDragX) > Math.abs(dragY - oldDragY);\r\n\r\n shiftMovementDirection = furtherFromX ? 'x' : 'y';\r\n }\r\n\r\n var setSaturation = !shiftMovementDirection || shiftMovementDirection === 'x';\r\n var setValue = !shiftMovementDirection || shiftMovementDirection === 'y';\r\n\r\n if (setSaturation) {\r\n currentSaturation = parseFloat(dragX / dragWidth);\r\n }\r\n if (setValue) {\r\n currentValue = parseFloat((dragHeight - dragY) / dragHeight);\r\n }\r\n\r\n isEmpty = false;\r\n if (!opts.showAlpha) {\r\n currentAlpha = 1;\r\n }\r\n\r\n move();\r\n },\r\n dragStart,\r\n dragStop\r\n );\r\n\r\n if (!!initialColor) {\r\n set(initialColor);\r\n\r\n // In case color was black - update the preview UI and set the format\r\n // since the set function will not run (default color is black).\r\n updateUI();\r\n currentPreferredFormat = opts.preferredFormat || tinycolor(initialColor).getFormat();\r\n\r\n addColorToSelectionPalette(initialColor);\r\n } else {\r\n updateUI();\r\n }\r\n\r\n if (flat) {\r\n show();\r\n }\r\n\r\n function paletteElementClick(e) {\r\n if (e.data && e.data.ignore) {\r\n set($(e.target).closest('.sp-thumb-el').data('color'));\r\n move();\r\n } else {\r\n set($(e.target).closest('.sp-thumb-el').data('color'));\r\n move();\r\n if (opts.hideAfterPaletteSelect) {\r\n updateOriginalInput(true);\r\n hide();\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n var paletteEvent = IE ? 'mousedown.spectrum' : 'click.spectrum touchstart.spectrum';\r\n paletteContainer.delegate('.sp-thumb-el', paletteEvent, paletteElementClick);\r\n initialColorContainer.delegate('.sp-thumb-el:nth-child(1)', paletteEvent, { ignore: true }, paletteElementClick);\r\n }\r\n\r\n function updateSelectionPaletteFromStorage() {\r\n if (localStorageKey && window.localStorage) {\r\n // Migrate old palettes over to new format. May want to remove this eventually.\r\n try {\r\n var oldPalette = window.localStorage[localStorageKey].split(',#');\r\n if (oldPalette.length > 1) {\r\n delete window.localStorage[localStorageKey];\r\n $.each(oldPalette, function (i, c) {\r\n addColorToSelectionPalette(c);\r\n });\r\n }\r\n } catch (e) {}\r\n\r\n try {\r\n selectionPalette = window.localStorage[localStorageKey].split(';');\r\n } catch (e) {}\r\n }\r\n }\r\n\r\n function addColorToSelectionPalette(color) {\r\n if (showSelectionPalette) {\r\n var rgb = tinycolor(color).toRgbString();\r\n if (!paletteLookup[rgb] && $.inArray(rgb, selectionPalette) === -1) {\r\n selectionPalette.push(rgb);\r\n while (selectionPalette.length > maxSelectionSize) {\r\n selectionPalette.shift();\r\n }\r\n }\r\n\r\n if (localStorageKey && window.localStorage) {\r\n try {\r\n window.localStorage[localStorageKey] = selectionPalette.join(';');\r\n } catch (e) {}\r\n }\r\n }\r\n }\r\n\r\n function getUniqueSelectionPalette() {\r\n var unique = [];\r\n if (opts.showPalette) {\r\n for (var i = 0; i < selectionPalette.length; i++) {\r\n var rgb = tinycolor(selectionPalette[i]).toRgbString();\r\n\r\n if (!paletteLookup[rgb]) {\r\n unique.push(selectionPalette[i]);\r\n }\r\n }\r\n }\r\n\r\n return unique.reverse().slice(0, opts.maxSelectionSize);\r\n }\r\n\r\n function drawPalette() {\r\n var currentColor = get();\r\n\r\n var html = $.map(paletteArray, function (palette, i) {\r\n return paletteTemplate(palette, currentColor, 'sp-palette-row sp-palette-row-' + i, opts);\r\n });\r\n\r\n updateSelectionPaletteFromStorage();\r\n\r\n if (selectionPalette) {\r\n html.push(\r\n paletteTemplate(getUniqueSelectionPalette(), currentColor, 'sp-palette-row sp-palette-row-selection', opts)\r\n );\r\n }\r\n\r\n paletteContainer.html(html.join(''));\r\n }\r\n\r\n function drawInitial() {\r\n if (opts.showInitial) {\r\n var initial = colorOnShow;\r\n var current = get();\r\n initialColorContainer.html(paletteTemplate([initial, current], current, 'sp-palette-row-initial', opts));\r\n }\r\n }\r\n\r\n function dragStart() {\r\n if (dragHeight <= 0 || dragWidth <= 0 || slideHeight <= 0) {\r\n reflow();\r\n }\r\n isDragging = true;\r\n container.addClass(draggingClass);\r\n shiftMovementDirection = null;\r\n boundElement.trigger('dragstart.spectrum', [get()]);\r\n }\r\n\r\n function dragStop() {\r\n isDragging = false;\r\n container.removeClass(draggingClass);\r\n boundElement.trigger('dragstop.spectrum', [get()]);\r\n }\r\n\r\n function setFromTextInput() {\r\n var value = textInput.val();\r\n\r\n if ((value === null || value === '') && allowEmpty) {\r\n set(null);\r\n updateOriginalInput(true);\r\n } else {\r\n var tiny = tinycolor(value);\r\n if (tiny.isValid()) {\r\n set(tiny);\r\n updateOriginalInput(true);\r\n } else {\r\n textInput.addClass('sp-validation-error');\r\n }\r\n }\r\n }\r\n\r\n function toggle() {\r\n if (visible) {\r\n hide();\r\n } else {\r\n show();\r\n }\r\n }\r\n\r\n function show() {\r\n var event = $.Event('beforeShow.spectrum');\r\n\r\n if (visible) {\r\n reflow();\r\n return;\r\n }\r\n\r\n boundElement.trigger('beforeShow.spectrum', [get()]);\r\n\r\n if (callbacks.beforeShow(get()) === false || event.isDefaultPrevented()) {\r\n return;\r\n }\r\n\r\n hideAll();\r\n visible = true;\r\n\r\n var $doc = $(doc);\r\n $doc.bind('keydown.spectrum', onkeydown);\r\n $doc.bind('click.spectrum', clickout);\r\n $(window).bind('resize.spectrum', resize);\r\n replacer.addClass('sp-active');\r\n container.removeClass('sp-hidden');\r\n\r\n reflow();\r\n updateUI();\r\n\r\n colorOnShow = get();\r\n\r\n drawInitial();\r\n callbacks.show(colorOnShow);\r\n boundElement.trigger('show.spectrum', [colorOnShow]);\r\n }\r\n\r\n function onkeydown(e) {\r\n // Close on ESC\r\n if (e.keyCode === 27) {\r\n hide();\r\n }\r\n }\r\n\r\n function clickout(e) {\r\n // Return on right click.\r\n if (e.button == 2) {\r\n return;\r\n }\r\n\r\n // If a drag event was happening during the mouseup, don't hide\r\n // on click.\r\n if (isDragging) {\r\n return;\r\n }\r\n\r\n if (clickoutFiresChange) {\r\n updateOriginalInput(true);\r\n } else {\r\n revert();\r\n }\r\n hide();\r\n }\r\n\r\n function hide() {\r\n // Return if hiding is unnecessary\r\n if (!visible || flat) {\r\n return;\r\n }\r\n visible = false;\r\n\r\n $(doc).unbind('keydown.spectrum', onkeydown);\r\n $(doc).unbind('click.spectrum', clickout);\r\n $(window).unbind('resize.spectrum', resize);\r\n\r\n replacer.removeClass('sp-active');\r\n container.addClass('sp-hidden');\r\n\r\n callbacks.hide(get());\r\n boundElement.trigger('hide.spectrum', [get()]);\r\n }\r\n\r\n function revert() {\r\n set(colorOnShow, true);\r\n }\r\n\r\n function set(color, ignoreFormatChange) {\r\n if (tinycolor.equals(color, get())) {\r\n // Update UI just in case a validation error needs\r\n // to be cleared.\r\n updateUI();\r\n return;\r\n }\r\n\r\n var newColor, newHsv;\r\n if (!color && allowEmpty) {\r\n isEmpty = true;\r\n } else {\r\n isEmpty = false;\r\n isDefault = !color; // if no color is available an empty string will be passed. tinycolor will then set it to #000\r\n newColor = tinycolor(color);\r\n newHsv = newColor.toHsv();\r\n\r\n currentHue = (newHsv.h % 360) / 360;\r\n currentSaturation = newHsv.s;\r\n currentValue = newHsv.v;\r\n currentAlpha = newHsv.a;\r\n }\r\n updateUI();\r\n\r\n if (newColor && newColor.isValid() && !ignoreFormatChange) {\r\n currentPreferredFormat = opts.preferredFormat || newColor.getFormat();\r\n }\r\n }\r\n\r\n function get(opts) {\r\n opts = opts || {};\r\n\r\n if (allowEmpty && isEmpty) {\r\n return null;\r\n }\r\n\r\n return tinycolor.fromRatio(\r\n {\r\n h: currentHue,\r\n s: currentSaturation,\r\n v: currentValue,\r\n a: Math.round(currentAlpha * 100) / 100,\r\n },\r\n { format: opts.format || currentPreferredFormat }\r\n );\r\n }\r\n\r\n function isValid() {\r\n return !textInput.hasClass('sp-validation-error');\r\n }\r\n\r\n function move() {\r\n updateUI();\r\n\r\n callbacks.move(get());\r\n boundElement.trigger('move.spectrum', [get()]);\r\n }\r\n\r\n function updateUI() {\r\n textInput.removeClass('sp-validation-error');\r\n\r\n updateHelperLocations();\r\n\r\n // Update dragger background color (gradients take care of saturation and value).\r\n var flatColor = tinycolor.fromRatio({ h: currentHue, s: 1, v: 1 });\r\n dragger.css('background-color', flatColor.toHexString());\r\n\r\n // Get a format that alpha will be included in (hex and names ignore alpha)\r\n var format = currentPreferredFormat;\r\n if (currentAlpha < 1 && !(currentAlpha === 0 && format === 'name')) {\r\n if (format === 'hex' || format === 'hex3' || format === 'hex6' || format === 'name') {\r\n format = 'rgb';\r\n }\r\n }\r\n\r\n var realColor = get({ format: format }),\r\n displayColor = '';\r\n\r\n //reset background info for preview element\r\n previewElement.removeClass('sp-clear-display');\r\n previewElement.css('background-color', 'transparent');\r\n\r\n if (!realColor && allowEmpty) {\r\n // Update the replaced elements background with icon indicating no color selection\r\n previewElement.addClass('sp-clear-display');\r\n } else {\r\n var realHex = realColor.toHexString(),\r\n realRgb = realColor.toRgbString();\r\n\r\n // Update the replaced elements background color (with actual selected color)\r\n if (rgbaSupport || realColor.alpha === 1) {\r\n previewElement.css('background-color', realRgb);\r\n } else {\r\n previewElement.css('background-color', 'transparent');\r\n previewElement.css('filter', realColor.toFilter());\r\n }\r\n\r\n if (opts.showAlpha) {\r\n var rgb = realColor.toRgb();\r\n rgb.a = 0;\r\n var realAlpha = tinycolor(rgb).toRgbString();\r\n var gradient = 'linear-gradient(left, ' + realAlpha + ', ' + realHex + ')';\r\n\r\n if (IE) {\r\n alphaSliderInner.css('filter', tinycolor(realAlpha).toFilter({ gradientType: 1 }, realHex));\r\n } else {\r\n alphaSliderInner.css('background', '-webkit-' + gradient);\r\n alphaSliderInner.css('background', '-moz-' + gradient);\r\n alphaSliderInner.css('background', '-ms-' + gradient);\r\n // Use current syntax gradient on unprefixed property.\r\n alphaSliderInner.css('background', 'linear-gradient(to right, ' + realAlpha + ', ' + realHex + ')');\r\n }\r\n }\r\n\r\n displayColor = realColor.toString(format);\r\n }\r\n\r\n // Update the text entry input as it changes happen\r\n if (opts.showInput) {\r\n textInput.val(displayColor);\r\n }\r\n\r\n if (opts.showPalette) {\r\n drawPalette();\r\n }\r\n\r\n drawInitial();\r\n }\r\n\r\n function updateHelperLocations() {\r\n var s = currentSaturation;\r\n var v = currentValue;\r\n\r\n if (allowEmpty && isEmpty) {\r\n //if selected color is empty, hide the helpers\r\n alphaSlideHelper.hide();\r\n slideHelper.hide();\r\n dragHelper.hide();\r\n } else {\r\n //make sure helpers are visible\r\n alphaSlideHelper.show();\r\n slideHelper.show();\r\n dragHelper.show();\r\n\r\n // Where to show the little circle in that displays your current selected color\r\n var dragX = s * dragWidth;\r\n var dragY = dragHeight - v * dragHeight;\r\n dragX = Math.max(-dragHelperHeight, Math.min(dragWidth - dragHelperHeight, dragX - dragHelperHeight));\r\n dragY = Math.max(-dragHelperHeight, Math.min(dragHeight - dragHelperHeight, dragY - dragHelperHeight));\r\n dragHelper.css({\r\n top: dragY + 'px',\r\n left: dragX + 'px',\r\n });\r\n\r\n var alphaX = currentAlpha * alphaWidth;\r\n alphaSlideHelper.css({\r\n left: alphaX - alphaSlideHelperWidth / 2 + 'px',\r\n });\r\n\r\n // Where to show the bar that displays your current selected hue\r\n var slideY = currentHue * slideHeight;\r\n slideHelper.css({\r\n top: slideY - slideHelperHeight + 'px',\r\n });\r\n }\r\n }\r\n\r\n function updateOriginalInput(fireCallback) {\r\n var color = get(),\r\n displayColor = '',\r\n hasChanged = isDefault ? true : !tinycolor.equals(color, colorOnShow);\r\n\r\n if (color) {\r\n displayColor = color.toString(currentPreferredFormat);\r\n // Update the selection palette with the current color\r\n !visible && addColorToSelectionPalette(color);\r\n }\r\n\r\n if (isInput) {\r\n boundElement.val(displayColor);\r\n }\r\n\r\n if (fireCallback && hasChanged) {\r\n callbacks.change(color);\r\n boundElement.trigger('change', [color]);\r\n }\r\n }\r\n\r\n function reflow() {\r\n if (!visible) {\r\n return; // Calculations would be useless and wouldn't be reliable anyways\r\n }\r\n dragWidth = dragger.width();\r\n dragHeight = dragger.height();\r\n dragHelperHeight = dragHelper.height();\r\n slideWidth = slider.width();\r\n slideHeight = slider.height();\r\n slideHelperHeight = slideHelper.height();\r\n alphaWidth = alphaSlider.width();\r\n alphaSlideHelperWidth = alphaSlideHelper.width();\r\n\r\n if (!flat) {\r\n container.css('position', 'absolute');\r\n if (opts.offset) {\r\n container.offset(opts.offset);\r\n } else {\r\n container.offset(getOffset(container, offsetElement));\r\n }\r\n }\r\n\r\n updateHelperLocations();\r\n\r\n if (opts.showPalette) {\r\n drawPalette();\r\n }\r\n\r\n boundElement.trigger('reflow.spectrum');\r\n }\r\n\r\n function destroy() {\r\n boundElement.show();\r\n offsetElement.unbind('click.spectrum touchstart.spectrum');\r\n container.remove();\r\n replacer.remove();\r\n spectrums[spect.id] = null;\r\n }\r\n\r\n function option(optionName, optionValue) {\r\n if (optionName === undefined) {\r\n return $.extend({}, opts);\r\n }\r\n if (optionValue === undefined) {\r\n return opts[optionName];\r\n }\r\n\r\n opts[optionName] = optionValue;\r\n\r\n if (optionName === 'preferredFormat') {\r\n currentPreferredFormat = opts.preferredFormat;\r\n }\r\n applyOptions();\r\n }\r\n\r\n function enable() {\r\n disabled = false;\r\n boundElement.attr('disabled', false);\r\n offsetElement.removeClass('sp-disabled');\r\n }\r\n\r\n function disable() {\r\n hide();\r\n disabled = true;\r\n boundElement.attr('disabled', true);\r\n offsetElement.addClass('sp-disabled');\r\n }\r\n\r\n function setOffset(coord) {\r\n opts.offset = coord;\r\n reflow();\r\n }\r\n\r\n initialize();\r\n\r\n var spect = {\r\n show: show,\r\n hide: hide,\r\n toggle: toggle,\r\n reflow: reflow,\r\n option: option,\r\n enable: enable,\r\n disable: disable,\r\n offset: setOffset,\r\n set: function (c) {\r\n set(c);\r\n updateOriginalInput();\r\n },\r\n get: get,\r\n destroy: destroy,\r\n container: container,\r\n };\r\n\r\n spect.id = spectrums.push(spect) - 1;\r\n\r\n return spect;\r\n }\r\n\r\n /**\r\n * checkOffset - get the offset below/above and left/right element depending on screen position\r\n * Thanks https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.datepicker.js\r\n */\r\n function getOffset(picker, input) {\r\n var extraY = 0;\r\n var dpWidth = picker.outerWidth();\r\n var dpHeight = picker.outerHeight();\r\n var inputHeight = input.outerHeight();\r\n var doc = picker[0].ownerDocument;\r\n var docElem = doc.documentElement;\r\n var cW = docElem.clientWidth;\r\n var cH = docElem.clientHeight;\r\n var scL = $(doc).scrollLeft();\r\n var scT = $(doc).scrollTop();\r\n var viewWidth = cW + scL;\r\n var viewHeight = cH + scT;\r\n var offset = input.offset();\r\n\r\n offset.top += inputHeight;\r\n\r\n offset.left -= Math.min(\r\n offset.left,\r\n offset.left + dpWidth > viewWidth && viewWidth > dpWidth ? Math.abs(offset.left + dpWidth - viewWidth) : 0\r\n );\r\n\r\n offset.top -= Math.min(\r\n offset.top,\r\n offset.top + dpHeight > viewHeight && viewHeight > dpHeight ? Math.abs(dpHeight + inputHeight - extraY) : extraY\r\n );\r\n\r\n return offset;\r\n }\r\n\r\n /**\r\n * noop - do nothing\r\n */\r\n function noop() {}\r\n\r\n /**\r\n * stopPropagation - makes the code only doing this a little easier to read in line\r\n */\r\n function stopPropagation(e) {\r\n e.stopPropagation();\r\n }\r\n\r\n /**\r\n * Create a function bound to a given object\r\n * Thanks to underscore.js\r\n */\r\n function bind(func, obj) {\r\n var slice = Array.prototype.slice;\r\n var args = slice.call(arguments, 2);\r\n return function () {\r\n return func.apply(obj, args.concat(slice.call(arguments)));\r\n };\r\n }\r\n\r\n /**\r\n * Lightweight drag helper. Handles containment within the element, so that\r\n * when dragging, the x is within [0,element.width] and y is within [0,element.height]\r\n */\r\n function draggable(element, onmove, onstart, onstop) {\r\n onmove = onmove || function () {};\r\n onstart = onstart || function () {};\r\n onstop = onstop || function () {};\r\n var doc = document;\r\n var dragging = false;\r\n var offset = {};\r\n var maxHeight = 0;\r\n var maxWidth = 0;\r\n var hasTouch = 'ontouchstart' in window;\r\n\r\n var duringDragEvents = {};\r\n duringDragEvents['selectstart'] = prevent;\r\n duringDragEvents['dragstart'] = prevent;\r\n duringDragEvents['touchmove mousemove'] = move;\r\n duringDragEvents['touchend mouseup'] = stop;\r\n\r\n function prevent(e) {\r\n if (e.stopPropagation) {\r\n e.stopPropagation();\r\n }\r\n if (e.preventDefault) {\r\n e.preventDefault();\r\n }\r\n e.returnValue = false;\r\n }\r\n\r\n function move(e) {\r\n if (dragging) {\r\n // Mouseup happened outside of window\r\n if (IE && doc.documentMode < 9 && !e.button) {\r\n return stop();\r\n }\r\n\r\n var t0 = e && e.touches && e.touches[0];\r\n var pageX = (t0 && t0.pageX) || e.pageX;\r\n var pageY = (t0 && t0.pageY) || e.pageY;\r\n\r\n var dragX = Math.max(0, Math.min(pageX - offset.left, maxWidth));\r\n var dragY = Math.max(0, Math.min(pageY - offset.top, maxHeight));\r\n\r\n if (hasTouch) {\r\n // Stop scrolling in iOS\r\n prevent(e);\r\n }\r\n\r\n onmove.apply(element, [dragX, dragY, e]);\r\n }\r\n }\r\n\r\n function start(e) {\r\n var rightclick = e.which ? e.which == 3 : e.button == 2;\r\n\r\n if (!rightclick && !dragging) {\r\n if (onstart.apply(element, arguments) !== false) {\r\n dragging = true;\r\n maxHeight = $(element).height();\r\n maxWidth = $(element).width();\r\n offset = $(element).offset();\r\n\r\n $(doc).bind(duringDragEvents);\r\n $(doc.body).addClass('sp-dragging');\r\n\r\n move(e);\r\n\r\n prevent(e);\r\n }\r\n }\r\n }\r\n\r\n function stop() {\r\n if (dragging) {\r\n $(doc).unbind(duringDragEvents);\r\n $(doc.body).removeClass('sp-dragging');\r\n\r\n // Wait a tick before notifying observers to allow the click event\r\n // to fire in Chrome.\r\n setTimeout(function () {\r\n onstop.apply(element, arguments);\r\n }, 0);\r\n }\r\n dragging = false;\r\n }\r\n\r\n $(element).bind('touchstart mousedown', start);\r\n }\r\n\r\n function throttle(func, wait, debounce) {\r\n var timeout;\r\n return function () {\r\n var context = this,\r\n args = arguments;\r\n var throttler = function () {\r\n timeout = null;\r\n func.apply(context, args);\r\n };\r\n if (debounce) clearTimeout(timeout);\r\n if (debounce || !timeout) timeout = setTimeout(throttler, wait);\r\n };\r\n }\r\n\r\n function inputTypeColorSupport() {\r\n return $.fn.spectrum.inputTypeColorSupport();\r\n }\r\n\r\n /**\r\n * Define a jQuery plugin\r\n */\r\n var dataID = 'spectrum.id';\r\n $.fn.spectrum = function (opts, extra) {\r\n if (typeof opts == 'string') {\r\n var returnValue = this;\r\n var args = Array.prototype.slice.call(arguments, 1);\r\n\r\n this.each(function () {\r\n var spect = spectrums[$(this).data(dataID)];\r\n if (spect) {\r\n var method = spect[opts];\r\n if (!method) {\r\n throw new Error(\"Spectrum: no such method: '\" + opts + \"'\");\r\n }\r\n\r\n if (opts == 'get') {\r\n returnValue = spect.get();\r\n } else if (opts == 'container') {\r\n returnValue = spect.container;\r\n } else if (opts == 'option') {\r\n returnValue = spect.option.apply(spect, args);\r\n } else if (opts == 'destroy') {\r\n spect.destroy();\r\n $(this).removeData(dataID);\r\n } else {\r\n method.apply(spect, args);\r\n }\r\n }\r\n });\r\n\r\n return returnValue;\r\n }\r\n\r\n // Initializing a new instance of spectrum\r\n return this.spectrum('destroy').each(function () {\r\n var options = $.extend({}, opts, $(this).data());\r\n var spect = spectrum(this, options);\r\n $(this).data(dataID, spect.id);\r\n });\r\n };\r\n\r\n $.fn.spectrum.load = true;\r\n $.fn.spectrum.loadOpts = {};\r\n $.fn.spectrum.draggable = draggable;\r\n $.fn.spectrum.defaults = defaultOpts;\r\n $.fn.spectrum.inputTypeColorSupport = function inputTypeColorSupport() {\r\n if (typeof inputTypeColorSupport._cachedResult === 'undefined') {\r\n var colorInput = $(\"\")[0]; // if color element is supported, value will default to not null\r\n inputTypeColorSupport._cachedResult = colorInput.type === 'color' && colorInput.value !== '';\r\n }\r\n return inputTypeColorSupport._cachedResult;\r\n };\r\n\r\n $.spectrum = {};\r\n $.spectrum.localization = {};\r\n $.spectrum.palettes = {};\r\n\r\n $.fn.spectrum.processNativeColorInputs = function () {\r\n var colorInputs = $('input[type=color]');\r\n if (colorInputs.length && !inputTypeColorSupport()) {\r\n colorInputs.spectrum({\r\n preferredFormat: 'hex6',\r\n });\r\n }\r\n };\r\n\r\n // TinyColor v1.1.2\r\n // https://github.com/bgrins/TinyColor\r\n // Brian Grinstead, MIT License\r\n\r\n //(function() {\r\n\r\n var trimLeft = /^[\\s,#]+/,\r\n trimRight = /\\s+$/,\r\n tinyCounter = 0,\r\n math = Math,\r\n mathRound = math.round,\r\n mathMin = math.min,\r\n mathMax = math.max,\r\n mathRandom = math.random;\r\n\r\n var tinycolor = function (color, opts) {\r\n color = color ? color : '';\r\n opts = opts || {};\r\n\r\n // If input is already a tinycolor, return itself\r\n if (color instanceof tinycolor) {\r\n return color;\r\n }\r\n // If we are called as a function, call using new instead\r\n if (!(this instanceof tinycolor)) {\r\n return new tinycolor(color, opts);\r\n }\r\n\r\n var rgb = inputToRGB(color);\r\n (this._originalInput = color),\r\n (this._r = rgb.r),\r\n (this._g = rgb.g),\r\n (this._b = rgb.b),\r\n (this._a = rgb.a),\r\n (this._roundA = mathRound(100 * this._a) / 100),\r\n (this._format = opts.format || rgb.format);\r\n this._gradientType = opts.gradientType;\r\n\r\n // Don't let the range of [0,255] come back in [0,1].\r\n // Potentially lose a little bit of precision here, but will fix issues where\r\n // .5 gets interpreted as half of the total, instead of half of 1\r\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\r\n if (this._r < 1) {\r\n this._r = mathRound(this._r);\r\n }\r\n if (this._g < 1) {\r\n this._g = mathRound(this._g);\r\n }\r\n if (this._b < 1) {\r\n this._b = mathRound(this._b);\r\n }\r\n\r\n this._ok = rgb.ok;\r\n this._tc_id = tinyCounter++;\r\n };\r\n\r\n tinycolor.prototype = {\r\n isDark: function () {\r\n return this.getBrightness() < 128;\r\n },\r\n isLight: function () {\r\n return !this.isDark();\r\n },\r\n isValid: function () {\r\n return this._ok;\r\n },\r\n getOriginalInput: function () {\r\n return this._originalInput;\r\n },\r\n getFormat: function () {\r\n return this._format;\r\n },\r\n getAlpha: function () {\r\n return this._a;\r\n },\r\n getBrightness: function () {\r\n var rgb = this.toRgb();\r\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\r\n },\r\n setAlpha: function (value) {\r\n this._a = boundAlpha(value);\r\n this._roundA = mathRound(100 * this._a) / 100;\r\n return this;\r\n },\r\n toHsv: function () {\r\n var hsv = rgbToHsv(this._r, this._g, this._b);\r\n return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a };\r\n },\r\n toHsvString: function () {\r\n var hsv = rgbToHsv(this._r, this._g, this._b);\r\n var h = mathRound(hsv.h * 360),\r\n s = mathRound(hsv.s * 100),\r\n v = mathRound(hsv.v * 100);\r\n return this._a == 1\r\n ? 'hsv(' + h + ', ' + s + '%, ' + v + '%)'\r\n : 'hsva(' + h + ', ' + s + '%, ' + v + '%, ' + this._roundA + ')';\r\n },\r\n toHsl: function () {\r\n var hsl = rgbToHsl(this._r, this._g, this._b);\r\n return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a };\r\n },\r\n toHslString: function () {\r\n var hsl = rgbToHsl(this._r, this._g, this._b);\r\n var h = mathRound(hsl.h * 360),\r\n s = mathRound(hsl.s * 100),\r\n l = mathRound(hsl.l * 100);\r\n return this._a == 1\r\n ? 'hsl(' + h + ', ' + s + '%, ' + l + '%)'\r\n : 'hsla(' + h + ', ' + s + '%, ' + l + '%, ' + this._roundA + ')';\r\n },\r\n toHex: function (allow3Char) {\r\n return rgbToHex(this._r, this._g, this._b, allow3Char);\r\n },\r\n toHexString: function (allow3Char) {\r\n return '#' + this.toHex(allow3Char);\r\n },\r\n toHex8: function () {\r\n return rgbaToHex(this._r, this._g, this._b, this._a);\r\n },\r\n toHex8String: function () {\r\n return '#' + this.toHex8();\r\n },\r\n toRgb: function () {\r\n return {\r\n r: mathRound(this._r),\r\n g: mathRound(this._g),\r\n b: mathRound(this._b),\r\n a: this._a,\r\n };\r\n },\r\n toRgbString: function () {\r\n return this._a == 1\r\n ? 'rgb(' + mathRound(this._r) + ', ' + mathRound(this._g) + ', ' + mathRound(this._b) + ')'\r\n : 'rgba(' +\r\n mathRound(this._r) +\r\n ', ' +\r\n mathRound(this._g) +\r\n ', ' +\r\n mathRound(this._b) +\r\n ', ' +\r\n this._roundA +\r\n ')';\r\n },\r\n toPercentageRgb: function () {\r\n return {\r\n r: mathRound(bound01(this._r, 255) * 100) + '%',\r\n g: mathRound(bound01(this._g, 255) * 100) + '%',\r\n b: mathRound(bound01(this._b, 255) * 100) + '%',\r\n a: this._a,\r\n };\r\n },\r\n toPercentageRgbString: function () {\r\n return this._a == 1\r\n ? 'rgb(' +\r\n mathRound(bound01(this._r, 255) * 100) +\r\n '%, ' +\r\n mathRound(bound01(this._g, 255) * 100) +\r\n '%, ' +\r\n mathRound(bound01(this._b, 255) * 100) +\r\n '%)'\r\n : 'rgba(' +\r\n mathRound(bound01(this._r, 255) * 100) +\r\n '%, ' +\r\n mathRound(bound01(this._g, 255) * 100) +\r\n '%, ' +\r\n mathRound(bound01(this._b, 255) * 100) +\r\n '%, ' +\r\n this._roundA +\r\n ')';\r\n },\r\n toName: function () {\r\n if (this._a === 0) {\r\n return 'transparent';\r\n }\r\n\r\n if (this._a < 1) {\r\n return false;\r\n }\r\n\r\n return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;\r\n },\r\n toFilter: function (secondColor) {\r\n var hex8String = '#' + rgbaToHex(this._r, this._g, this._b, this._a);\r\n var secondHex8String = hex8String;\r\n var gradientType = this._gradientType ? 'GradientType = 1, ' : '';\r\n\r\n if (secondColor) {\r\n var s = tinycolor(secondColor);\r\n secondHex8String = s.toHex8String();\r\n }\r\n\r\n return (\r\n 'progid:DXImageTransform.Microsoft.gradient(' +\r\n gradientType +\r\n 'startColorstr=' +\r\n hex8String +\r\n ',endColorstr=' +\r\n secondHex8String +\r\n ')'\r\n );\r\n },\r\n toString: function (format) {\r\n var formatSet = !!format;\r\n format = format || this._format;\r\n\r\n var formattedString = false;\r\n var hasAlpha = this._a < 1 && this._a >= 0;\r\n var needsAlphaFormat =\r\n !formatSet && hasAlpha && (format === 'hex' || format === 'hex6' || format === 'hex3' || format === 'name');\r\n\r\n if (needsAlphaFormat) {\r\n // Special case for \"transparent\", all other non-alpha formats\r\n // will return rgba when there is transparency.\r\n if (format === 'name' && this._a === 0) {\r\n return this.toName();\r\n }\r\n return this.toRgbString();\r\n }\r\n if (format === 'rgb') {\r\n formattedString = this.toRgbString();\r\n }\r\n if (format === 'prgb') {\r\n formattedString = this.toPercentageRgbString();\r\n }\r\n if (format === 'hex' || format === 'hex6') {\r\n formattedString = this.toHexString();\r\n }\r\n if (format === 'hex3') {\r\n formattedString = this.toHexString(true);\r\n }\r\n if (format === 'hex8') {\r\n formattedString = this.toHex8String();\r\n }\r\n if (format === 'name') {\r\n formattedString = this.toName();\r\n }\r\n if (format === 'hsl') {\r\n formattedString = this.toHslString();\r\n }\r\n if (format === 'hsv') {\r\n formattedString = this.toHsvString();\r\n }\r\n\r\n return formattedString || this.toHexString();\r\n },\r\n\r\n _applyModification: function (fn, args) {\r\n var color = fn.apply(null, [this].concat([].slice.call(args)));\r\n this._r = color._r;\r\n this._g = color._g;\r\n this._b = color._b;\r\n this.setAlpha(color._a);\r\n return this;\r\n },\r\n lighten: function () {\r\n return this._applyModification(lighten, arguments);\r\n },\r\n brighten: function () {\r\n return this._applyModification(brighten, arguments);\r\n },\r\n darken: function () {\r\n return this._applyModification(darken, arguments);\r\n },\r\n desaturate: function () {\r\n return this._applyModification(desaturate, arguments);\r\n },\r\n saturate: function () {\r\n return this._applyModification(saturate, arguments);\r\n },\r\n greyscale: function () {\r\n return this._applyModification(greyscale, arguments);\r\n },\r\n spin: function () {\r\n return this._applyModification(spin, arguments);\r\n },\r\n\r\n _applyCombination: function (fn, args) {\r\n return fn.apply(null, [this].concat([].slice.call(args)));\r\n },\r\n analogous: function () {\r\n return this._applyCombination(analogous, arguments);\r\n },\r\n complement: function () {\r\n return this._applyCombination(complement, arguments);\r\n },\r\n monochromatic: function () {\r\n return this._applyCombination(monochromatic, arguments);\r\n },\r\n splitcomplement: function () {\r\n return this._applyCombination(splitcomplement, arguments);\r\n },\r\n triad: function () {\r\n return this._applyCombination(triad, arguments);\r\n },\r\n tetrad: function () {\r\n return this._applyCombination(tetrad, arguments);\r\n },\r\n };\r\n\r\n // If input is an object, force 1 into \"1.0\" to handle ratios properly\r\n // String input requires \"1.0\" as input, so 1 will be treated as 1\r\n tinycolor.fromRatio = function (color, opts) {\r\n if (typeof color == 'object') {\r\n var newColor = {};\r\n for (var i in color) {\r\n if (color.hasOwnProperty(i)) {\r\n if (i === 'a') {\r\n newColor[i] = color[i];\r\n } else {\r\n newColor[i] = convertToPercentage(color[i]);\r\n }\r\n }\r\n }\r\n color = newColor;\r\n }\r\n\r\n return tinycolor(color, opts);\r\n };\r\n\r\n // Given a string or object, convert that input to RGB\r\n // Possible string inputs:\r\n //\r\n // \"red\"\r\n // \"#f00\" or \"f00\"\r\n // \"#ff0000\" or \"ff0000\"\r\n // \"#ff000000\" or \"ff000000\"\r\n // \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\r\n // \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\r\n // \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\r\n // \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\r\n // \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\r\n // \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\r\n // \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\r\n //\r\n function inputToRGB(color) {\r\n var rgb = { r: 0, g: 0, b: 0 };\r\n var a = 1;\r\n var ok = false;\r\n var format = false;\r\n\r\n if (typeof color == 'string') {\r\n color = stringInputToObject(color);\r\n }\r\n\r\n if (typeof color == 'object') {\r\n if (color.hasOwnProperty('r') && color.hasOwnProperty('g') && color.hasOwnProperty('b')) {\r\n rgb = rgbToRgb(color.r, color.g, color.b);\r\n ok = true;\r\n format = String(color.r).substr(-1) === '%' ? 'prgb' : 'rgb';\r\n } else if (color.hasOwnProperty('h') && color.hasOwnProperty('s') && color.hasOwnProperty('v')) {\r\n color.s = convertToPercentage(color.s);\r\n color.v = convertToPercentage(color.v);\r\n rgb = hsvToRgb(color.h, color.s, color.v);\r\n ok = true;\r\n format = 'hsv';\r\n } else if (color.hasOwnProperty('h') && color.hasOwnProperty('s') && color.hasOwnProperty('l')) {\r\n color.s = convertToPercentage(color.s);\r\n color.l = convertToPercentage(color.l);\r\n rgb = hslToRgb(color.h, color.s, color.l);\r\n ok = true;\r\n format = 'hsl';\r\n }\r\n\r\n if (color.hasOwnProperty('a')) {\r\n a = color.a;\r\n }\r\n }\r\n\r\n a = boundAlpha(a);\r\n\r\n return {\r\n ok: ok,\r\n format: color.format || format,\r\n r: mathMin(255, mathMax(rgb.r, 0)),\r\n g: mathMin(255, mathMax(rgb.g, 0)),\r\n b: mathMin(255, mathMax(rgb.b, 0)),\r\n a: a,\r\n };\r\n }\r\n\r\n // Conversion Functions\r\n // --------------------\r\n\r\n // `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\r\n // \r\n\r\n // `rgbToRgb`\r\n // Handle bounds / percentage checking to conform to CSS color spec\r\n // \r\n // *Assumes:* r, g, b in [0, 255] or [0, 1]\r\n // *Returns:* { r, g, b } in [0, 255]\r\n function rgbToRgb(r, g, b) {\r\n return {\r\n r: bound01(r, 255) * 255,\r\n g: bound01(g, 255) * 255,\r\n b: bound01(b, 255) * 255,\r\n };\r\n }\r\n\r\n // `rgbToHsl`\r\n // Converts an RGB color value to HSL.\r\n // *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\r\n // *Returns:* { h, s, l } in [0,1]\r\n function rgbToHsl(r, g, b) {\r\n r = bound01(r, 255);\r\n g = bound01(g, 255);\r\n b = bound01(b, 255);\r\n\r\n var max = mathMax(r, g, b),\r\n min = mathMin(r, g, b);\r\n var h,\r\n s,\r\n l = (max + min) / 2;\r\n\r\n if (max == min) {\r\n h = s = 0; // achromatic\r\n } else {\r\n var d = max - min;\r\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\r\n switch (max) {\r\n case r:\r\n h = (g - b) / d + (g < b ? 6 : 0);\r\n break;\r\n case g:\r\n h = (b - r) / d + 2;\r\n break;\r\n case b:\r\n h = (r - g) / d + 4;\r\n break;\r\n }\r\n\r\n h /= 6;\r\n }\r\n\r\n return { h: h, s: s, l: l };\r\n }\r\n\r\n // `hslToRgb`\r\n // Converts an HSL color value to RGB.\r\n // *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\r\n // *Returns:* { r, g, b } in the set [0, 255]\r\n function hslToRgb(h, s, l) {\r\n var r, g, b;\r\n\r\n h = bound01(h, 360);\r\n s = bound01(s, 100);\r\n l = bound01(l, 100);\r\n\r\n function hue2rgb(p, q, t) {\r\n if (t < 0) t += 1;\r\n if (t > 1) t -= 1;\r\n if (t < 1 / 6) return p + (q - p) * 6 * t;\r\n if (t < 1 / 2) return q;\r\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\r\n return p;\r\n }\r\n\r\n if (s === 0) {\r\n r = g = b = l; // achromatic\r\n } else {\r\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\r\n var p = 2 * l - q;\r\n r = hue2rgb(p, q, h + 1 / 3);\r\n g = hue2rgb(p, q, h);\r\n b = hue2rgb(p, q, h - 1 / 3);\r\n }\r\n\r\n return { r: r * 255, g: g * 255, b: b * 255 };\r\n }\r\n\r\n // `rgbToHsv`\r\n // Converts an RGB color value to HSV\r\n // *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\r\n // *Returns:* { h, s, v } in [0,1]\r\n function rgbToHsv(r, g, b) {\r\n r = bound01(r, 255);\r\n g = bound01(g, 255);\r\n b = bound01(b, 255);\r\n\r\n var max = mathMax(r, g, b),\r\n min = mathMin(r, g, b);\r\n var h,\r\n s,\r\n v = max;\r\n\r\n var d = max - min;\r\n s = max === 0 ? 0 : d / max;\r\n\r\n if (max == min) {\r\n h = 0; // achromatic\r\n } else {\r\n switch (max) {\r\n case r:\r\n h = (g - b) / d + (g < b ? 6 : 0);\r\n break;\r\n case g:\r\n h = (b - r) / d + 2;\r\n break;\r\n case b:\r\n h = (r - g) / d + 4;\r\n break;\r\n }\r\n h /= 6;\r\n }\r\n return { h: h, s: s, v: v };\r\n }\r\n\r\n // `hsvToRgb`\r\n // Converts an HSV color value to RGB.\r\n // *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\r\n // *Returns:* { r, g, b } in the set [0, 255]\r\n function hsvToRgb(h, s, v) {\r\n h = bound01(h, 360) * 6;\r\n s = bound01(s, 100);\r\n v = bound01(v, 100);\r\n\r\n var i = math.floor(h),\r\n f = h - i,\r\n p = v * (1 - s),\r\n q = v * (1 - f * s),\r\n t = v * (1 - (1 - f) * s),\r\n mod = i % 6,\r\n r = [v, q, p, p, t, v][mod],\r\n g = [t, v, v, q, p, p][mod],\r\n b = [p, p, t, v, v, q][mod];\r\n\r\n return { r: r * 255, g: g * 255, b: b * 255 };\r\n }\r\n\r\n // `rgbToHex`\r\n // Converts an RGB color to hex\r\n // Assumes r, g, and b are contained in the set [0, 255]\r\n // Returns a 3 or 6 character hex\r\n function rgbToHex(r, g, b, allow3Char) {\r\n var hex = [pad2(mathRound(r).toString(16)), pad2(mathRound(g).toString(16)), pad2(mathRound(b).toString(16))];\r\n\r\n // Return a 3 character hex if possible\r\n if (\r\n allow3Char &&\r\n hex[0].charAt(0) == hex[0].charAt(1) &&\r\n hex[1].charAt(0) == hex[1].charAt(1) &&\r\n hex[2].charAt(0) == hex[2].charAt(1)\r\n ) {\r\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\r\n }\r\n\r\n return hex.join('');\r\n }\r\n // `rgbaToHex`\r\n // Converts an RGBA color plus alpha transparency to hex\r\n // Assumes r, g, b and a are contained in the set [0, 255]\r\n // Returns an 8 character hex\r\n function rgbaToHex(r, g, b, a) {\r\n var hex = [\r\n pad2(convertDecimalToHex(a)),\r\n pad2(mathRound(r).toString(16)),\r\n pad2(mathRound(g).toString(16)),\r\n pad2(mathRound(b).toString(16)),\r\n ];\r\n\r\n return hex.join('');\r\n }\r\n\r\n // `equals`\r\n // Can be called with any tinycolor input\r\n tinycolor.equals = function (color1, color2) {\r\n if (!color1 || !color2) {\r\n return false;\r\n }\r\n return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();\r\n };\r\n tinycolor.random = function () {\r\n return tinycolor.fromRatio({\r\n r: mathRandom(),\r\n g: mathRandom(),\r\n b: mathRandom(),\r\n });\r\n };\r\n\r\n // Modification Functions\r\n // ----------------------\r\n // Thanks to less.js for some of the basics here\r\n // \r\n\r\n function desaturate(color, amount) {\r\n amount = amount === 0 ? 0 : amount || 10;\r\n var hsl = tinycolor(color).toHsl();\r\n hsl.s -= amount / 100;\r\n hsl.s = clamp01(hsl.s);\r\n return tinycolor(hsl);\r\n }\r\n\r\n function saturate(color, amount) {\r\n amount = amount === 0 ? 0 : amount || 10;\r\n var hsl = tinycolor(color).toHsl();\r\n hsl.s += amount / 100;\r\n hsl.s = clamp01(hsl.s);\r\n return tinycolor(hsl);\r\n }\r\n\r\n function greyscale(color) {\r\n return tinycolor(color).desaturate(100);\r\n }\r\n\r\n function lighten(color, amount) {\r\n amount = amount === 0 ? 0 : amount || 10;\r\n var hsl = tinycolor(color).toHsl();\r\n hsl.l += amount / 100;\r\n hsl.l = clamp01(hsl.l);\r\n return tinycolor(hsl);\r\n }\r\n\r\n function brighten(color, amount) {\r\n amount = amount === 0 ? 0 : amount || 10;\r\n var rgb = tinycolor(color).toRgb();\r\n rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * -(amount / 100))));\r\n rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * -(amount / 100))));\r\n rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * -(amount / 100))));\r\n return tinycolor(rgb);\r\n }\r\n\r\n function darken(color, amount) {\r\n amount = amount === 0 ? 0 : amount || 10;\r\n var hsl = tinycolor(color).toHsl();\r\n hsl.l -= amount / 100;\r\n hsl.l = clamp01(hsl.l);\r\n return tinycolor(hsl);\r\n }\r\n\r\n // Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\r\n // Values outside of this range will be wrapped into this range.\r\n function spin(color, amount) {\r\n var hsl = tinycolor(color).toHsl();\r\n var hue = (mathRound(hsl.h) + amount) % 360;\r\n hsl.h = hue < 0 ? 360 + hue : hue;\r\n return tinycolor(hsl);\r\n }\r\n\r\n // Combination Functions\r\n // ---------------------\r\n // Thanks to jQuery xColor for some of the ideas behind these\r\n // \r\n\r\n function complement(color) {\r\n var hsl = tinycolor(color).toHsl();\r\n hsl.h = (hsl.h + 180) % 360;\r\n return tinycolor(hsl);\r\n }\r\n\r\n function triad(color) {\r\n var hsl = tinycolor(color).toHsl();\r\n var h = hsl.h;\r\n return [\r\n tinycolor(color),\r\n tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),\r\n tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l }),\r\n ];\r\n }\r\n\r\n function tetrad(color) {\r\n var hsl = tinycolor(color).toHsl();\r\n var h = hsl.h;\r\n return [\r\n tinycolor(color),\r\n tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }),\r\n tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),\r\n tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l }),\r\n ];\r\n }\r\n\r\n function splitcomplement(color) {\r\n var hsl = tinycolor(color).toHsl();\r\n var h = hsl.h;\r\n return [\r\n tinycolor(color),\r\n tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l }),\r\n tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l }),\r\n ];\r\n }\r\n\r\n function analogous(color, results, slices) {\r\n results = results || 6;\r\n slices = slices || 30;\r\n\r\n var hsl = tinycolor(color).toHsl();\r\n var part = 360 / slices;\r\n var ret = [tinycolor(color)];\r\n\r\n for (hsl.h = (hsl.h - ((part * results) >> 1) + 720) % 360; --results; ) {\r\n hsl.h = (hsl.h + part) % 360;\r\n ret.push(tinycolor(hsl));\r\n }\r\n return ret;\r\n }\r\n\r\n function monochromatic(color, results) {\r\n results = results || 6;\r\n var hsv = tinycolor(color).toHsv();\r\n var h = hsv.h,\r\n s = hsv.s,\r\n v = hsv.v;\r\n var ret = [];\r\n var modification = 1 / results;\r\n\r\n while (results--) {\r\n ret.push(tinycolor({ h: h, s: s, v: v }));\r\n v = (v + modification) % 1;\r\n }\r\n\r\n return ret;\r\n }\r\n\r\n // Utility Functions\r\n // ---------------------\r\n\r\n tinycolor.mix = function (color1, color2, amount) {\r\n amount = amount === 0 ? 0 : amount || 50;\r\n\r\n var rgb1 = tinycolor(color1).toRgb();\r\n var rgb2 = tinycolor(color2).toRgb();\r\n\r\n var p = amount / 100;\r\n var w = p * 2 - 1;\r\n var a = rgb2.a - rgb1.a;\r\n\r\n var w1;\r\n\r\n if (w * a == -1) {\r\n w1 = w;\r\n } else {\r\n w1 = (w + a) / (1 + w * a);\r\n }\r\n\r\n w1 = (w1 + 1) / 2;\r\n\r\n var w2 = 1 - w1;\r\n\r\n var rgba = {\r\n r: rgb2.r * w1 + rgb1.r * w2,\r\n g: rgb2.g * w1 + rgb1.g * w2,\r\n b: rgb2.b * w1 + rgb1.b * w2,\r\n a: rgb2.a * p + rgb1.a * (1 - p),\r\n };\r\n\r\n return tinycolor(rgba);\r\n };\r\n\r\n // Readability Functions\r\n // ---------------------\r\n // \r\n\r\n // `readability`\r\n // Analyze the 2 colors and returns an object with the following properties:\r\n // `brightness`: difference in brightness between the two colors\r\n // `color`: difference in color/hue between the two colors\r\n tinycolor.readability = function (color1, color2) {\r\n var c1 = tinycolor(color1);\r\n var c2 = tinycolor(color2);\r\n var rgb1 = c1.toRgb();\r\n var rgb2 = c2.toRgb();\r\n var brightnessA = c1.getBrightness();\r\n var brightnessB = c2.getBrightness();\r\n var colorDiff =\r\n Math.max(rgb1.r, rgb2.r) -\r\n Math.min(rgb1.r, rgb2.r) +\r\n Math.max(rgb1.g, rgb2.g) -\r\n Math.min(rgb1.g, rgb2.g) +\r\n Math.max(rgb1.b, rgb2.b) -\r\n Math.min(rgb1.b, rgb2.b);\r\n\r\n return {\r\n brightness: Math.abs(brightnessA - brightnessB),\r\n color: colorDiff,\r\n };\r\n };\r\n\r\n // `readable`\r\n // http://www.w3.org/TR/AERT#color-contrast\r\n // Ensure that foreground and background color combinations provide sufficient contrast.\r\n // *Example*\r\n // tinycolor.isReadable(\"#000\", \"#111\") => false\r\n tinycolor.isReadable = function (color1, color2) {\r\n var readability = tinycolor.readability(color1, color2);\r\n return readability.brightness > 125 && readability.color > 500;\r\n };\r\n\r\n // `mostReadable`\r\n // Given a base color and a list of possible foreground or background\r\n // colors for that base, returns the most readable color.\r\n // *Example*\r\n // tinycolor.mostReadable(\"#123\", [\"#fff\", \"#000\"]) => \"#000\"\r\n tinycolor.mostReadable = function (baseColor, colorList) {\r\n var bestColor = null;\r\n var bestScore = 0;\r\n var bestIsReadable = false;\r\n for (var i = 0; i < colorList.length; i++) {\r\n // We normalize both around the \"acceptable\" breaking point,\r\n // but rank brightness constrast higher than hue.\r\n\r\n var readability = tinycolor.readability(baseColor, colorList[i]);\r\n var readable = readability.brightness > 125 && readability.color > 500;\r\n var score = 3 * (readability.brightness / 125) + readability.color / 500;\r\n\r\n if (\r\n (readable && !bestIsReadable) ||\r\n (readable && bestIsReadable && score > bestScore) ||\r\n (!readable && !bestIsReadable && score > bestScore)\r\n ) {\r\n bestIsReadable = readable;\r\n bestScore = score;\r\n bestColor = tinycolor(colorList[i]);\r\n }\r\n }\r\n return bestColor;\r\n };\r\n\r\n // Big List of Colors\r\n // ------------------\r\n // \r\n var names = (tinycolor.names = {\r\n aliceblue: 'f0f8ff',\r\n antiquewhite: 'faebd7',\r\n aqua: '0ff',\r\n aquamarine: '7fffd4',\r\n azure: 'f0ffff',\r\n beige: 'f5f5dc',\r\n bisque: 'ffe4c4',\r\n black: '000',\r\n blanchedalmond: 'ffebcd',\r\n blue: '00f',\r\n blueviolet: '8a2be2',\r\n brown: 'a52a2a',\r\n burlywood: 'deb887',\r\n burntsienna: 'ea7e5d',\r\n cadetblue: '5f9ea0',\r\n chartreuse: '7fff00',\r\n chocolate: 'd2691e',\r\n coral: 'ff7f50',\r\n cornflowerblue: '6495ed',\r\n cornsilk: 'fff8dc',\r\n crimson: 'dc143c',\r\n cyan: '0ff',\r\n darkblue: '00008b',\r\n darkcyan: '008b8b',\r\n darkgoldenrod: 'b8860b',\r\n darkgray: 'a9a9a9',\r\n darkgreen: '006400',\r\n darkgrey: 'a9a9a9',\r\n darkkhaki: 'bdb76b',\r\n darkmagenta: '8b008b',\r\n darkolivegreen: '556b2f',\r\n darkorange: 'ff8c00',\r\n darkorchid: '9932cc',\r\n darkred: '8b0000',\r\n darksalmon: 'e9967a',\r\n darkseagreen: '8fbc8f',\r\n darkslateblue: '483d8b',\r\n darkslategray: '2f4f4f',\r\n darkslategrey: '2f4f4f',\r\n darkturquoise: '00ced1',\r\n darkviolet: '9400d3',\r\n deeppink: 'ff1493',\r\n deepskyblue: '00bfff',\r\n dimgray: '696969',\r\n dimgrey: '696969',\r\n dodgerblue: '1e90ff',\r\n firebrick: 'b22222',\r\n floralwhite: 'fffaf0',\r\n forestgreen: '228b22',\r\n fuchsia: 'f0f',\r\n gainsboro: 'dcdcdc',\r\n ghostwhite: 'f8f8ff',\r\n gold: 'ffd700',\r\n goldenrod: 'daa520',\r\n gray: '808080',\r\n green: '008000',\r\n greenyellow: 'adff2f',\r\n grey: '808080',\r\n honeydew: 'f0fff0',\r\n hotpink: 'ff69b4',\r\n indianred: 'cd5c5c',\r\n indigo: '4b0082',\r\n ivory: 'fffff0',\r\n khaki: 'f0e68c',\r\n lavender: 'e6e6fa',\r\n lavenderblush: 'fff0f5',\r\n lawngreen: '7cfc00',\r\n lemonchiffon: 'fffacd',\r\n lightblue: 'add8e6',\r\n lightcoral: 'f08080',\r\n lightcyan: 'e0ffff',\r\n lightgoldenrodyellow: 'fafad2',\r\n lightgray: 'd3d3d3',\r\n lightgreen: '90ee90',\r\n lightgrey: 'd3d3d3',\r\n lightpink: 'ffb6c1',\r\n lightsalmon: 'ffa07a',\r\n lightseagreen: '20b2aa',\r\n lightskyblue: '87cefa',\r\n lightslategray: '789',\r\n lightslategrey: '789',\r\n lightsteelblue: 'b0c4de',\r\n lightyellow: 'ffffe0',\r\n lime: '0f0',\r\n limegreen: '32cd32',\r\n linen: 'faf0e6',\r\n magenta: 'f0f',\r\n maroon: '800000',\r\n mediumaquamarine: '66cdaa',\r\n mediumblue: '0000cd',\r\n mediumorchid: 'ba55d3',\r\n mediumpurple: '9370db',\r\n mediumseagreen: '3cb371',\r\n mediumslateblue: '7b68ee',\r\n mediumspringgreen: '00fa9a',\r\n mediumturquoise: '48d1cc',\r\n mediumvioletred: 'c71585',\r\n midnightblue: '191970',\r\n mintcream: 'f5fffa',\r\n mistyrose: 'ffe4e1',\r\n moccasin: 'ffe4b5',\r\n navajowhite: 'ffdead',\r\n navy: '000080',\r\n oldlace: 'fdf5e6',\r\n olive: '808000',\r\n olivedrab: '6b8e23',\r\n orange: 'ffa500',\r\n orangered: 'ff4500',\r\n orchid: 'da70d6',\r\n palegoldenrod: 'eee8aa',\r\n palegreen: '98fb98',\r\n paleturquoise: 'afeeee',\r\n palevioletred: 'db7093',\r\n papayawhip: 'ffefd5',\r\n peachpuff: 'ffdab9',\r\n peru: 'cd853f',\r\n pink: 'ffc0cb',\r\n plum: 'dda0dd',\r\n powderblue: 'b0e0e6',\r\n purple: '800080',\r\n rebeccapurple: '663399',\r\n red: 'f00',\r\n rosybrown: 'bc8f8f',\r\n royalblue: '4169e1',\r\n saddlebrown: '8b4513',\r\n salmon: 'fa8072',\r\n sandybrown: 'f4a460',\r\n seagreen: '2e8b57',\r\n seashell: 'fff5ee',\r\n sienna: 'a0522d',\r\n silver: 'c0c0c0',\r\n skyblue: '87ceeb',\r\n slateblue: '6a5acd',\r\n slategray: '708090',\r\n slategrey: '708090',\r\n snow: 'fffafa',\r\n springgreen: '00ff7f',\r\n steelblue: '4682b4',\r\n tan: 'd2b48c',\r\n teal: '008080',\r\n thistle: 'd8bfd8',\r\n tomato: 'ff6347',\r\n turquoise: '40e0d0',\r\n violet: 'ee82ee',\r\n wheat: 'f5deb3',\r\n white: 'fff',\r\n whitesmoke: 'f5f5f5',\r\n yellow: 'ff0',\r\n yellowgreen: '9acd32',\r\n });\r\n\r\n // Make it easy to access colors via `hexNames[hex]`\r\n var hexNames = (tinycolor.hexNames = flip(names));\r\n\r\n // Utilities\r\n // ---------\r\n\r\n // `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`\r\n function flip(o) {\r\n var flipped = {};\r\n for (var i in o) {\r\n if (o.hasOwnProperty(i)) {\r\n flipped[o[i]] = i;\r\n }\r\n }\r\n return flipped;\r\n }\r\n\r\n // Return a valid alpha value [0,1] with all invalid values being set to 1\r\n function boundAlpha(a) {\r\n a = parseFloat(a);\r\n\r\n if (isNaN(a) || a < 0 || a > 1) {\r\n a = 1;\r\n }\r\n\r\n return a;\r\n }\r\n\r\n // Take input from [0, n] and return it as [0, 1]\r\n function bound01(n, max) {\r\n if (isOnePointZero(n)) {\r\n n = '100%';\r\n }\r\n\r\n var processPercent = isPercentage(n);\r\n n = mathMin(max, mathMax(0, parseFloat(n)));\r\n\r\n // Automatically convert percentage into number\r\n if (processPercent) {\r\n n = parseInt(n * max, 10) / 100;\r\n }\r\n\r\n // Handle floating point rounding errors\r\n if (math.abs(n - max) < 0.000001) {\r\n return 1;\r\n }\r\n\r\n // Convert into [0, 1] range if it isn't already\r\n return (n % max) / parseFloat(max);\r\n }\r\n\r\n // Force a number between 0 and 1\r\n function clamp01(val) {\r\n return mathMin(1, mathMax(0, val));\r\n }\r\n\r\n // Parse a base-16 hex value into a base-10 integer\r\n function parseIntFromHex(val) {\r\n return parseInt(val, 16);\r\n }\r\n\r\n // Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\r\n // \r\n function isOnePointZero(n) {\r\n return typeof n == 'string' && n.indexOf('.') != -1 && parseFloat(n) === 1;\r\n }\r\n\r\n // Check to see if string passed in is a percentage\r\n function isPercentage(n) {\r\n return typeof n === 'string' && n.indexOf('%') != -1;\r\n }\r\n\r\n // Force a hex value to have 2 characters\r\n function pad2(c) {\r\n return c.length == 1 ? '0' + c : '' + c;\r\n }\r\n\r\n // Replace a decimal with it's percentage value\r\n function convertToPercentage(n) {\r\n if (n <= 1) {\r\n n = n * 100 + '%';\r\n }\r\n\r\n return n;\r\n }\r\n\r\n // Converts a decimal to a hex value\r\n function convertDecimalToHex(d) {\r\n return Math.round(parseFloat(d) * 255).toString(16);\r\n }\r\n // Converts a hex value to a decimal\r\n function convertHexToDecimal(h) {\r\n return parseIntFromHex(h) / 255;\r\n }\r\n\r\n var matchers = (function () {\r\n // \r\n var CSS_INTEGER = '[-\\\\+]?\\\\d+%?';\r\n\r\n // \r\n var CSS_NUMBER = '[-\\\\+]?\\\\d*\\\\.\\\\d+%?';\r\n\r\n // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\r\n var CSS_UNIT = '(?:' + CSS_NUMBER + ')|(?:' + CSS_INTEGER + ')';\r\n\r\n // Actual matching.\r\n // Parentheses and commas are optional, but not required.\r\n // Whitespace can take the place of commas or opening paren\r\n var PERMISSIVE_MATCH3 = '[\\\\s|\\\\(]+(' + CSS_UNIT + ')[,|\\\\s]+(' + CSS_UNIT + ')[,|\\\\s]+(' + CSS_UNIT + ')\\\\s*\\\\)?';\r\n var PERMISSIVE_MATCH4 =\r\n '[\\\\s|\\\\(]+(' +\r\n CSS_UNIT +\r\n ')[,|\\\\s]+(' +\r\n CSS_UNIT +\r\n ')[,|\\\\s]+(' +\r\n CSS_UNIT +\r\n ')[,|\\\\s]+(' +\r\n CSS_UNIT +\r\n ')\\\\s*\\\\)?';\r\n\r\n return {\r\n rgb: new RegExp('rgb' + PERMISSIVE_MATCH3),\r\n rgba: new RegExp('rgba' + PERMISSIVE_MATCH4),\r\n hsl: new RegExp('hsl' + PERMISSIVE_MATCH3),\r\n hsla: new RegExp('hsla' + PERMISSIVE_MATCH4),\r\n hsv: new RegExp('hsv' + PERMISSIVE_MATCH3),\r\n hsva: new RegExp('hsva' + PERMISSIVE_MATCH4),\r\n hex3: /^([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\r\n hex6: /^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\r\n hex8: /^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\r\n };\r\n })();\r\n\r\n // `stringInputToObject`\r\n // Permissive string parsing. Take in a number of formats, and output an object\r\n // based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\r\n function stringInputToObject(color) {\r\n color = color.replace(trimLeft, '').replace(trimRight, '').toLowerCase();\r\n var named = false;\r\n if (names[color]) {\r\n color = names[color];\r\n named = true;\r\n } else if (color == 'transparent') {\r\n return { r: 0, g: 0, b: 0, a: 0, format: 'name' };\r\n }\r\n\r\n // Try to match string input using regular expressions.\r\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\r\n // Just return an object and let the conversion functions handle that.\r\n // This way the result will be the same whether the tinycolor is initialized with string or object.\r\n var match;\r\n if ((match = matchers.rgb.exec(color))) {\r\n return { r: match[1], g: match[2], b: match[3] };\r\n }\r\n if ((match = matchers.rgba.exec(color))) {\r\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\r\n }\r\n if ((match = matchers.hsl.exec(color))) {\r\n return { h: match[1], s: match[2], l: match[3] };\r\n }\r\n if ((match = matchers.hsla.exec(color))) {\r\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\r\n }\r\n if ((match = matchers.hsv.exec(color))) {\r\n return { h: match[1], s: match[2], v: match[3] };\r\n }\r\n if ((match = matchers.hsva.exec(color))) {\r\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\r\n }\r\n if ((match = matchers.hex8.exec(color))) {\r\n return {\r\n a: convertHexToDecimal(match[1]),\r\n r: parseIntFromHex(match[2]),\r\n g: parseIntFromHex(match[3]),\r\n b: parseIntFromHex(match[4]),\r\n format: named ? 'name' : 'hex8',\r\n };\r\n }\r\n if ((match = matchers.hex6.exec(color))) {\r\n return {\r\n r: parseIntFromHex(match[1]),\r\n g: parseIntFromHex(match[2]),\r\n b: parseIntFromHex(match[3]),\r\n format: named ? 'name' : 'hex',\r\n };\r\n }\r\n if ((match = matchers.hex3.exec(color))) {\r\n return {\r\n r: parseIntFromHex(match[1] + '' + match[1]),\r\n g: parseIntFromHex(match[2] + '' + match[2]),\r\n b: parseIntFromHex(match[3] + '' + match[3]),\r\n format: named ? 'name' : 'hex',\r\n };\r\n }\r\n\r\n return false;\r\n }\r\n\r\n window.tinycolor = tinycolor;\r\n //})();\r\n\r\n $(function () {\r\n if ($.fn.spectrum.load) {\r\n $.fn.spectrum.processNativeColorInputs();\r\n }\r\n });\r\n}\r\n","import Backbone from 'backbone';\r\nimport { bindAll, isUndefined, indexOf } from 'underscore';\r\nimport { on, off } from '../../utils/mixins';\r\nimport Input from './Input';\r\n\r\nconst $ = Backbone.$;\r\n\r\nexport default class InputNumber extends Input {\r\n template() {\r\n const ppfx = this.ppfx;\r\n return `\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n `;\r\n }\r\n\r\n inputClass() {\r\n const ppfx = this.ppfx;\r\n return this.opts.contClass || `${ppfx}field ${ppfx}field-integer`;\r\n }\r\n\r\n constructor(opts = {}) {\r\n super(opts);\r\n bindAll(this, 'moveIncrement', 'upIncrement');\r\n this.doc = document;\r\n this.listenTo(this.model, 'change:unit', this.handleModelChange);\r\n }\r\n\r\n /**\r\n * Set value to the model\r\n * @param {string} value\r\n * @param {Object} opts\r\n */\r\n setValue(value, opts) {\r\n var opt = opts || {};\r\n var valid = this.validateInputValue(value, { deepCheck: 1 });\r\n var validObj = { value: valid.value };\r\n\r\n // If found some unit value\r\n if (valid.unit || valid.force) {\r\n validObj.unit = valid.unit;\r\n }\r\n\r\n this.model.set(validObj, opt);\r\n\r\n // Generally I get silent when I need to reflect data to view without\r\n // reupdating the target\r\n if (opt.silent) {\r\n this.handleModelChange();\r\n }\r\n }\r\n\r\n /**\r\n * Handled when the view is changed\r\n */\r\n handleChange(e) {\r\n e.stopPropagation();\r\n this.setValue(this.getInputEl().value);\r\n this.elementUpdated();\r\n }\r\n\r\n /**\r\n * Handled when the view is changed\r\n */\r\n handleUnitChange(e) {\r\n e.stopPropagation();\r\n var value = this.getUnitEl().value;\r\n this.model.set('unit', value);\r\n this.elementUpdated();\r\n }\r\n\r\n /**\r\n * Handled when user uses keyboard\r\n */\r\n handleKeyDown(e) {\r\n if (e.key === 'ArrowUp') {\r\n e.preventDefault();\r\n this.upArrowClick();\r\n }\r\n\r\n if (e.key === 'ArrowDown') {\r\n e.preventDefault();\r\n this.downArrowClick();\r\n }\r\n }\r\n\r\n /**\r\n * Fired when the element of the property is updated\r\n */\r\n elementUpdated() {\r\n this.model.trigger('el:change');\r\n }\r\n\r\n /**\r\n * Updates the view when the model is changed\r\n * */\r\n handleModelChange() {\r\n const model = this.model;\r\n this.getInputEl().value = model.get('value');\r\n const unitEl = this.getUnitEl();\r\n unitEl && (unitEl.value = model.get('unit') || '');\r\n }\r\n\r\n /**\r\n * Get the unit element\r\n * @return {HTMLElement}\r\n */\r\n getUnitEl() {\r\n if (!this.unitEl) {\r\n const model = this.model;\r\n const units = model.get('units') || [];\r\n\r\n if (units.length) {\r\n const options = [''];\r\n\r\n units.forEach(unit => {\r\n const selected = unit == model.get('unit') ? 'selected' : '';\r\n options.push(``);\r\n });\r\n\r\n const temp = document.createElement('div');\r\n temp.innerHTML = ``;\r\n this.unitEl = temp.firstChild;\r\n }\r\n }\r\n\r\n return this.unitEl;\r\n }\r\n\r\n /**\r\n * Invoked when the up arrow is clicked\r\n * */\r\n upArrowClick() {\r\n const { model } = this;\r\n const step = model.get('step');\r\n let value = parseFloat(model.get('value'));\r\n this.setValue(this.normalizeValue(value + step));\r\n this.elementUpdated();\r\n }\r\n\r\n /**\r\n * Invoked when the down arrow is clicked\r\n * */\r\n downArrowClick() {\r\n const { model } = this;\r\n const step = model.get('step');\r\n const value = parseFloat(model.get('value'));\r\n this.setValue(this.normalizeValue(value - step));\r\n this.elementUpdated();\r\n }\r\n\r\n /**\r\n * Change easily integer input value with click&drag method\r\n * @param Event\r\n *\r\n * @return void\r\n * */\r\n downIncrement(e) {\r\n e.preventDefault();\r\n this.moved = 0;\r\n var value = this.model.get('value') || 0;\r\n value = this.normalizeValue(value);\r\n this.current = { y: e.pageY, val: value };\r\n on(this.doc, 'mousemove', this.moveIncrement);\r\n on(this.doc, 'mouseup', this.upIncrement);\r\n }\r\n\r\n /** While the increment is clicked, moving the mouse will update input value\r\n * @param Object\r\n *\r\n * @return bool\r\n * */\r\n moveIncrement(ev) {\r\n this.moved = 1;\r\n const model = this.model;\r\n const step = model.get('step');\r\n const data = this.current;\r\n var pos = this.normalizeValue(data.val + (data.y - ev.pageY) * step);\r\n const { value, unit } = this.validateInputValue(pos);\r\n this.prValue = value;\r\n model.set({ value, unit }, { avoidStore: 1 });\r\n return false;\r\n }\r\n\r\n /**\r\n * Stop moveIncrement method\r\n * */\r\n upIncrement() {\r\n const model = this.model;\r\n const step = model.get('step');\r\n off(this.doc, 'mouseup', this.upIncrement);\r\n off(this.doc, 'mousemove', this.moveIncrement);\r\n\r\n if (this.prValue && this.moved) {\r\n var value = this.prValue - step;\r\n model.set('value', value, { avoidStore: 1 }).set('value', value + step);\r\n this.elementUpdated();\r\n }\r\n }\r\n\r\n normalizeValue(value, defValue = 0) {\r\n const model = this.model;\r\n const step = model.get('step');\r\n let stepDecimals = 0;\r\n\r\n if (isNaN(value)) {\r\n return defValue;\r\n }\r\n\r\n value = parseFloat(value);\r\n\r\n if (Math.floor(value) !== value) {\r\n const side = step.toString().split('.')[1];\r\n stepDecimals = side ? side.length : 0;\r\n }\r\n\r\n return stepDecimals ? parseFloat(value.toFixed(stepDecimals)) : value;\r\n }\r\n\r\n /**\r\n * Validate input value\r\n * @param {String} value Raw value\r\n * @param {Object} opts Options\r\n * @return {Object} Validated string\r\n */\r\n validateInputValue(value, opts = {}) {\r\n var force = 0;\r\n var opt = opts || {};\r\n var model = this.model;\r\n const defValue = ''; //model.get('defaults');\r\n var val = !isUndefined(value) ? value : defValue;\r\n var units = opts.units || model.get('units') || [];\r\n var unit = model.get('unit') || (units.length && units[0]) || '';\r\n var max = !isUndefined(opts.max) ? opts.max : model.get('max');\r\n var min = !isUndefined(opts.min) ? opts.min : model.get('min');\r\n var limitlessMax = !!model.get('limitlessMax');\r\n var limitlessMin = !!model.get('limitlessMin');\r\n\r\n if (opt.deepCheck) {\r\n var fixed = model.get('fixedValues') || [];\r\n\r\n if (val === '') unit = '';\r\n\r\n if (val) {\r\n // If the value is one of the fixed values I leave it as it is\r\n var regFixed = new RegExp('^' + fixed.join('|'), 'g');\r\n if (fixed.length && regFixed.test(val)) {\r\n val = val.match(regFixed)[0];\r\n unit = '';\r\n force = 1;\r\n } else {\r\n var valCopy = val + '';\r\n val += ''; // Make it suitable for replace\r\n val = parseFloat(val.replace(',', '.'));\r\n val = !isNaN(val) ? val : defValue;\r\n var uN = valCopy.replace(val, '');\r\n // Check if exists as unit\r\n if (indexOf(units, uN) >= 0) unit = uN;\r\n }\r\n }\r\n }\r\n\r\n if (!limitlessMax && !isUndefined(max) && max !== '') val = val > max ? max : val;\r\n if (!limitlessMin && !isUndefined(min) && min !== '') val = val < min ? min : val;\r\n\r\n return {\r\n force,\r\n value: val,\r\n unit,\r\n };\r\n }\r\n\r\n render() {\r\n Input.prototype.render.call(this);\r\n this.unitEl = null;\r\n const unit = this.getUnitEl();\r\n unit && this.$el.find(`.${this.ppfx}field-units`).get(0).appendChild(unit);\r\n return this;\r\n }\r\n}\r\n\r\nInputNumber.prototype.events = {\r\n 'change input': 'handleChange',\r\n 'change select': 'handleUnitChange',\r\n 'click [data-arrow-up]': 'upArrowClick',\r\n 'click [data-arrow-down]': 'downArrowClick',\r\n 'mousedown [data-arrows]': 'downIncrement',\r\n keydown: 'handleKeyDown',\r\n};\r\n","import { includes } from 'underscore';\r\nimport Backbone from 'backbone';\r\n\r\nexport default class DomainViews extends Backbone.View {\r\n // Defines the View per type\r\n itemsView = '';\r\n\r\n itemType = 'type';\r\n\r\n reuseView = false;\r\n\r\n constructor(opts = {}, config, autoAdd = false) {\r\n super(opts);\r\n this.config = config || opts.config || {};\r\n autoAdd && this.listenTo(this.collection, 'add', this.addTo);\r\n this.items = [];\r\n }\r\n\r\n /**\r\n * Add new model to the collection\r\n * @param {Model} model\r\n * @private\r\n * */\r\n addTo(model) {\r\n this.add(model);\r\n }\r\n\r\n itemViewNotFound(type) {\r\n const { config, ns } = this;\r\n const { em } = config;\r\n const warn = `${ns ? `[${ns}]: ` : ''}'${type}' type not found`;\r\n em && em.logWarning(warn);\r\n }\r\n\r\n /**\r\n * Render new model inside the view\r\n * @param {Model} model\r\n * @param {Object} fragment Fragment collection\r\n * @private\r\n * */\r\n add(model, fragment) {\r\n const { config, reuseView, items, itemsView = {} } = this;\r\n const inputTypes = [\r\n 'button',\r\n 'checkbox',\r\n 'color',\r\n 'date',\r\n 'datetime-local',\r\n 'email',\r\n 'file',\r\n 'hidden',\r\n 'image',\r\n 'month',\r\n 'number',\r\n 'password',\r\n 'radio',\r\n 'range',\r\n 'reset',\r\n 'search',\r\n 'submit',\r\n 'tel',\r\n 'text',\r\n 'time',\r\n 'url',\r\n 'week',\r\n ];\r\n var frag = fragment || null;\r\n var itemView = this.itemView;\r\n var typeField = model.get(this.itemType);\r\n let view;\r\n\r\n if (itemsView[typeField]) {\r\n itemView = itemsView[typeField];\r\n } else if (typeField && !itemsView[typeField] && !includes(inputTypes, typeField)) {\r\n this.itemViewNotFound(typeField);\r\n }\r\n\r\n if (model.view && reuseView) {\r\n view = model.view;\r\n } else {\r\n view = new itemView({ model, config }, config);\r\n }\r\n\r\n items && items.push(view);\r\n const rendered = view.render().el;\r\n\r\n if (frag) frag.appendChild(rendered);\r\n else this.$el.append(rendered);\r\n }\r\n\r\n render() {\r\n var frag = document.createDocumentFragment();\r\n this.clearItems();\r\n this.$el.empty();\r\n\r\n if (this.collection.length)\r\n this.collection.each(function (model) {\r\n this.add(model, frag);\r\n }, this);\r\n\r\n this.$el.append(frag);\r\n this.onRender();\r\n return this;\r\n }\r\n\r\n onRender() {}\r\n\r\n onRemoveBefore() {}\r\n onRemove() {}\r\n\r\n remove(opts = {}) {\r\n const { items } = this;\r\n this.onRemoveBefore(items, opts);\r\n this.clearItems();\r\n Backbone.View.prototype.remove.apply(this, arguments);\r\n this.onRemove(items, opts);\r\n }\r\n\r\n clearItems() {\r\n const items = this.items || [];\r\n // TODO Traits do not update the target anymore\r\n // items.forEach(item => item.remove());\r\n // this.items = [];\r\n }\r\n}\r\n\r\n// Default view\r\nDomainViews.prototype.itemView = '';\r\n","const traitInputAttr = { placeholder: 'eg. Text here' };\r\n\r\nexport default {\r\n assetManager: {\r\n addButton: 'Add image',\r\n inputPlh: 'http://path/to/the/image.jpg',\r\n modalTitle: 'Select Image',\r\n uploadTitle: 'Drop files here or click to upload',\r\n },\r\n // Here just as a reference, GrapesJS core doesn't contain any block,\r\n // so this should be omitted from other local files\r\n blockManager: {\r\n labels: {\r\n // 'block-id': 'Block Label',\r\n },\r\n categories: {\r\n // 'category-id': 'Category Label',\r\n },\r\n },\r\n domComponents: {\r\n names: {\r\n '': 'Box',\r\n wrapper: 'Body',\r\n text: 'Text',\r\n comment: 'Comment',\r\n image: 'Image',\r\n video: 'Video',\r\n label: 'Label',\r\n link: 'Link',\r\n map: 'Map',\r\n tfoot: 'Table foot',\r\n tbody: 'Table body',\r\n thead: 'Table head',\r\n table: 'Table',\r\n row: 'Table row',\r\n cell: 'Table cell',\r\n },\r\n },\r\n deviceManager: {\r\n device: 'Device',\r\n devices: {\r\n desktop: 'Desktop',\r\n tablet: 'Tablet',\r\n mobileLandscape: 'Mobile Landscape',\r\n mobilePortrait: 'Mobile Portrait',\r\n },\r\n },\r\n panels: {\r\n buttons: {\r\n titles: {\r\n preview: 'Preview',\r\n fullscreen: 'Fullscreen',\r\n 'sw-visibility': 'View components',\r\n 'export-template': 'View code',\r\n 'open-sm': 'Open Style Manager',\r\n 'open-tm': 'Settings',\r\n 'open-layers': 'Open Layer Manager',\r\n 'open-blocks': 'Open Blocks',\r\n },\r\n },\r\n },\r\n selectorManager: {\r\n label: 'Classes',\r\n selected: 'Selected',\r\n emptyState: '- State -',\r\n states: {\r\n hover: 'Hover',\r\n active: 'Click',\r\n 'nth-of-type(2n)': 'Even/Odd',\r\n },\r\n },\r\n styleManager: {\r\n empty: 'Select an element before using Style Manager',\r\n layer: 'Layer',\r\n fileButton: 'Images',\r\n sectors: {\r\n general: 'General',\r\n layout: 'Layout',\r\n typography: 'Typography',\r\n decorations: 'Decorations',\r\n extra: 'Extra',\r\n flex: 'Flex',\r\n dimension: 'Dimension',\r\n },\r\n // Default names for sub properties in Composite and Stack types.\r\n // Other labels are generated directly from their property names (eg. 'font-size' will be 'Font size').\r\n properties: {\r\n 'text-shadow-h': 'X',\r\n 'text-shadow-v': 'Y',\r\n 'text-shadow-blur': 'Blur',\r\n 'text-shadow-color': 'Color',\r\n 'box-shadow-h': 'X',\r\n 'box-shadow-v': 'Y',\r\n 'box-shadow-blur': 'Blur',\r\n 'box-shadow-spread': 'Spread',\r\n 'box-shadow-color': 'Color',\r\n 'box-shadow-type': 'Type',\r\n 'margin-top-sub': 'Top',\r\n 'margin-right-sub': 'Right',\r\n 'margin-bottom-sub': 'Bottom',\r\n 'margin-left-sub': 'Left',\r\n 'padding-top-sub': 'Top',\r\n 'padding-right-sub': 'Right',\r\n 'padding-bottom-sub': 'Bottom',\r\n 'padding-left-sub': 'Left',\r\n 'border-width-sub': 'Width',\r\n 'border-style-sub': 'Style',\r\n 'border-color-sub': 'Color',\r\n 'border-top-left-radius-sub': 'Top Left',\r\n 'border-top-right-radius-sub': 'Top Right',\r\n 'border-bottom-right-radius-sub': 'Bottom Right',\r\n 'border-bottom-left-radius-sub': 'Bottom Left',\r\n 'transform-rotate-x': 'Rotate X',\r\n 'transform-rotate-y': 'Rotate Y',\r\n 'transform-rotate-z': 'Rotate Z',\r\n 'transform-scale-x': 'Scale X',\r\n 'transform-scale-y': 'Scale Y',\r\n 'transform-scale-z': 'Scale Z',\r\n 'transition-property-sub': 'Property',\r\n 'transition-duration-sub': 'Duration',\r\n 'transition-timing-function-sub': 'Timing',\r\n 'background-image-sub': 'Image',\r\n 'background-repeat-sub': 'Repeat',\r\n 'background-position-sub': 'Position',\r\n 'background-attachment-sub': 'Attachment',\r\n 'background-size-sub': 'Size',\r\n },\r\n // Translate options in style properties\r\n // options: {\r\n // float: { // Id of the property\r\n // ...\r\n // left: 'Left', // {option id}: {Option label}\r\n // }\r\n // }\r\n },\r\n traitManager: {\r\n empty: 'Select an element before using Trait Manager',\r\n label: 'Component settings',\r\n traits: {\r\n // The core library generates the name by their `name` property\r\n labels: {\r\n // id: 'Id',\r\n // alt: 'Alt',\r\n // title: 'Title',\r\n // href: 'Href',\r\n },\r\n // In a simple trait, like text input, these are used on input attributes\r\n attributes: {\r\n id: traitInputAttr,\r\n alt: traitInputAttr,\r\n title: traitInputAttr,\r\n href: { placeholder: 'eg. https://google.com' },\r\n },\r\n // In a trait like select, these are used to translate option names\r\n options: {\r\n target: {\r\n false: 'This window',\r\n _blank: 'New window',\r\n },\r\n },\r\n },\r\n },\r\n storageManager: {\r\n recover: 'Do you want to recover unsaved changes?',\r\n },\r\n};\r\n","import en from './locale/en';\r\n\r\nexport default {\r\n // Locale value\r\n locale: 'en',\r\n\r\n // Fallback locale\r\n localeFallback: 'en',\r\n\r\n // Detect locale by checking browser language\r\n detectLocale: true,\r\n\r\n // Show warnings when some of the i18n resources are missing\r\n debug: false,\r\n\r\n // Messages to translate\r\n messages: {\r\n en,\r\n },\r\n\r\n // Additional messages. This allows extending the default `messages` set directly from the configuration.\r\n messagesAdd: null,\r\n};\r\n","/**\r\n * You can customize the initial state of the module from the editor initialization, by passing the following [Configuration Object](https://github.com/artf/grapesjs/blob/master/src/i18n/config.js)\r\n * ```js\r\n * const editor = grapesjs.init({\r\n * i18n: {\r\n * locale: 'en',\r\n * localeFallback: 'en',\r\n * messages: {\r\n * it: { hello: 'Ciao', ... },\r\n * ...\r\n * }\r\n * }\r\n * })\r\n * ```\r\n *\r\n * Once the editor is instantiated you can use its API. Before using these methods you should get the module from the instance\r\n *\r\n * ```js\r\n * const i18n = editor.I18n;\r\n * ```\r\n *\r\n * ### Events\r\n * * `i18n:add` - New set of messages is added\r\n * * `i18n:update` - The set of messages is updated\r\n * * `i18n:locale` - Locale changed\r\n *\r\n * @module I18n\r\n */\r\nimport { isUndefined, isString } from 'underscore';\r\nimport { hasWin } from '../utils/mixins';\r\nimport config from './config';\r\n\r\nconst isObj = el => !Array.isArray(el) && el !== null && typeof el === 'object';\r\n\r\nconst deepAssign = (...args) => {\r\n const target = { ...args[0] };\r\n\r\n for (let i = 1; i < args.length; i++) {\r\n const source = { ...args[i] };\r\n\r\n for (let key in source) {\r\n const targValue = target[key];\r\n const srcValue = source[key];\r\n\r\n if (isObj(targValue) && isObj(srcValue)) {\r\n target[key] = deepAssign(targValue, srcValue);\r\n } else {\r\n target[key] = srcValue;\r\n }\r\n }\r\n }\r\n\r\n return target;\r\n};\r\n\r\nexport default () => {\r\n return {\r\n name: 'I18n',\r\n\r\n config,\r\n\r\n /**\r\n * Initialize module\r\n * @param {Object} config Configurations\r\n * @private\r\n */\r\n init(opts = {}) {\r\n this.config = {\r\n ...config,\r\n ...opts,\r\n messages: {\r\n ...config.messages,\r\n ...(opts.messages || {}),\r\n },\r\n };\r\n const add = this.config.messagesAdd;\r\n add && this.addMessages(add);\r\n\r\n if (this.config.detectLocale) {\r\n this.config.locale = this._localLang();\r\n }\r\n\r\n this.em = opts.em;\r\n return this;\r\n },\r\n\r\n /**\r\n * Get module configurations\r\n * @returns {Object} Configuration object\r\n */\r\n getConfig() {\r\n return this.config;\r\n },\r\n\r\n /**\r\n * Update current locale\r\n * @param {String} locale Locale value\r\n * @returns {this}\r\n * @example\r\n * i18n.setLocale('it');\r\n */\r\n setLocale(locale) {\r\n const { em, config } = this;\r\n const evObj = { value: locale, valuePrev: config.locale };\r\n em && em.trigger('i18n:locale', evObj);\r\n config.locale = locale;\r\n return this;\r\n },\r\n\r\n /**\r\n * Get current locale\r\n * @returns {String} Current locale value\r\n */\r\n getLocale() {\r\n return this.config.locale;\r\n },\r\n\r\n /**\r\n * Get all messages\r\n * @param {String} [lang] Specify the language of messages to return\r\n * @param {Object} [opts] Options\r\n * @param {Boolean} [opts.debug] Show warnings in case of missing language\r\n * @returns {Object}\r\n * @example\r\n * i18n.getMessages();\r\n * // -> { en: { hello: '...' }, ... }\r\n * i18n.getMessages('en');\r\n * // -> { hello: '...' }\r\n */\r\n getMessages(lang, opts = {}) {\r\n const { messages } = this.config;\r\n lang && !messages[lang] && this._debug(`'${lang}' i18n lang not found`, opts);\r\n return lang ? messages[lang] : messages;\r\n },\r\n\r\n /**\r\n * Set new set of messages\r\n * @param {Object} msg Set of messages\r\n * @returns {this}\r\n * @example\r\n * i18n.getMessages();\r\n * // -> { en: { msg1: 'Msg 1', msg2: 'Msg 2', } }\r\n * i18n.setMessages({ en: { msg2: 'Msg 2 up', msg3: 'Msg 3', } });\r\n * // Set replaced\r\n * i18n.getMessages();\r\n * // -> { en: { msg2: 'Msg 2 up', msg3: 'Msg 3', } }\r\n */\r\n setMessages(msg) {\r\n const { em, config } = this;\r\n config.messages = msg;\r\n em && em.trigger('i18n:update', msg);\r\n return this;\r\n },\r\n\r\n /**\r\n * Update messages\r\n * @param {Object} msg Set of messages to add\r\n * @returns {this}\r\n * @example\r\n * i18n.getMessages();\r\n * // -> { en: { msg1: 'Msg 1', msg2: 'Msg 2', } }\r\n * i18n.addMessages({ en: { msg2: 'Msg 2 up', msg3: 'Msg 3', } });\r\n * // Set updated\r\n * i18n.getMessages();\r\n * // -> { en: { msg1: 'Msg 1', msg2: 'Msg 2 up', msg3: 'Msg 3', } }\r\n */\r\n addMessages(msg) {\r\n const { em } = this;\r\n const { messages } = this.config;\r\n em && em.trigger('i18n:add', msg);\r\n this.setMessages(deepAssign(messages, msg));\r\n\r\n return this;\r\n },\r\n\r\n /**\r\n * Translate the locale message\r\n * @param {String} key Label to translate\r\n * @param {Object} [opts] Options for the translation\r\n * @param {Object} [opts.params] Params for the translation\r\n * @param {Boolean} [opts.debug] Show warnings in case of missing resources\r\n * @returns {String}\r\n * @example\r\n * obj.setMessages({\r\n * en: { msg: 'Msg', msg2: 'Msg {test}'},\r\n * it: { msg2: 'Msg {test} it'},\r\n * });\r\n * obj.t('msg');\r\n * // -> outputs `Msg`\r\n * obj.t('msg2', { params: { test: 'hello' } }); // use params\r\n * // -> outputs `Msg hello`\r\n * obj.t('msg2', { l: 'it', params: { test: 'hello' } }); // custom local\r\n * // -> outputs `Msg hello it`\r\n */\r\n t(key, opts = {}) {\r\n const { config } = this;\r\n const param = opts.params || {};\r\n const locale = opts.l || this.getLocale();\r\n const localeFlb = opts.lFlb || config.localeFallback;\r\n let result = this._getMsg(key, locale, opts);\r\n\r\n // Try with fallback\r\n if (!result) result = this._getMsg(key, localeFlb, opts);\r\n\r\n !result && this._debug(`'${key}' i18n key not found in '${locale}' lang`, opts);\r\n result = result && isString(result) ? this._addParams(result, param) : result;\r\n\r\n return result;\r\n },\r\n\r\n _localLang() {\r\n const nav = (hasWin() && window.navigator) || {};\r\n const lang = nav.language || nav.userLanguage;\r\n return lang ? lang.split('-')[0] : 'en';\r\n },\r\n\r\n _addParams(str, params) {\r\n const reg = new RegExp(`\\{([\\\\w\\\\d-]*)\\}`, 'g');\r\n return str.replace(reg, (m, val) => params[val] || '').trim();\r\n },\r\n\r\n _getMsg(key, locale, opts = {}) {\r\n const msgSet = this.getMessages(locale, opts);\r\n\r\n // Lang set is missing\r\n if (!msgSet) return;\r\n\r\n let result = msgSet[key];\r\n\r\n // Check for nested getter\r\n if (!result && key.indexOf('.') > 0) {\r\n result = key.split('.').reduce((lang, key) => {\r\n if (isUndefined(lang)) return;\r\n return lang[key];\r\n }, msgSet);\r\n }\r\n\r\n return result;\r\n },\r\n\r\n _debug(str, opts = {}) {\r\n const { em, config } = this;\r\n (opts.debug || config.debug) && em && em.logWarning(str);\r\n },\r\n\r\n destroy() {\r\n this.config = config;\r\n this.em = {};\r\n },\r\n };\r\n};\r\n","// The initial version of this library was borrowed from https://github.com/madrobby/keymaster\r\n// and adapted to the GrapesJS's need\r\n\r\nvar k,\r\n _handlers = {},\r\n _mods = {\r\n 16: false,\r\n 18: false,\r\n 17: false,\r\n 91: false,\r\n },\r\n _scope = 'all',\r\n // modifier keys\r\n _MODIFIERS = {\r\n '⇧': 16,\r\n shift: 16,\r\n '⌥': 18,\r\n alt: 18,\r\n option: 18,\r\n '⌃': 17,\r\n ctrl: 17,\r\n control: 17,\r\n '⌘': 91,\r\n command: 91,\r\n },\r\n // special keys\r\n _MAP = {\r\n backspace: 8,\r\n tab: 9,\r\n clear: 12,\r\n enter: 13,\r\n return: 13,\r\n esc: 27,\r\n escape: 27,\r\n space: 32,\r\n left: 37,\r\n up: 38,\r\n right: 39,\r\n down: 40,\r\n del: 46,\r\n delete: 46,\r\n home: 36,\r\n end: 35,\r\n pageup: 33,\r\n pagedown: 34,\r\n ',': 188,\r\n '.': 190,\r\n '/': 191,\r\n '`': 192,\r\n '-': 189,\r\n '=': 187,\r\n ';': 186,\r\n \"'\": 222,\r\n '[': 219,\r\n ']': 221,\r\n '\\\\': 220,\r\n },\r\n code = function (x) {\r\n return _MAP[x] || x.toUpperCase().charCodeAt(0);\r\n },\r\n _downKeys = [];\r\n\r\nfor (k = 1; k < 20; k++) _MAP['f' + k] = 111 + k;\r\n\r\n// IE doesn't support Array#indexOf, so have a simple replacement\r\nfunction index(array, item) {\r\n var i = array.length;\r\n while (i--) if (array[i] === item) return i;\r\n return -1;\r\n}\r\n\r\n// for comparing mods before unassignment\r\nfunction compareArray(a1, a2) {\r\n if (a1.length != a2.length) return false;\r\n for (var i = 0; i < a1.length; i++) {\r\n if (a1[i] !== a2[i]) return false;\r\n }\r\n return true;\r\n}\r\n\r\nvar modifierMap = {\r\n 16: 'shiftKey',\r\n 18: 'altKey',\r\n 17: 'ctrlKey',\r\n 91: 'metaKey',\r\n};\r\n\r\nfunction updateModifierKey(event) {\r\n for (k in _mods) _mods[k] = event[modifierMap[k]];\r\n}\r\n\r\n// handle keydown event\r\nfunction dispatch(event) {\r\n var key, handler, k, i, modifiersMatch, scope;\r\n key = event.keyCode;\r\n\r\n if (index(_downKeys, key) == -1) {\r\n _downKeys.push(key);\r\n }\r\n\r\n // if a modifier key, set the key. property to true and return\r\n if (key == 93 || key == 224) key = 91; // right command on webkit, command on Gecko\r\n if (key in _mods) {\r\n _mods[key] = true;\r\n // 'assignKey' from inside this closure is exported to window.key\r\n for (k in _MODIFIERS) if (_MODIFIERS[k] == key) assignKey[k] = true;\r\n return;\r\n }\r\n updateModifierKey(event);\r\n\r\n // see if we need to ignore the keypress (filter() can can be overridden)\r\n // by default ignore key presses if a select, textarea, or input is focused\r\n if (!assignKey.filter.call(this, event)) return;\r\n\r\n // abort if no potentially matching shortcuts found\r\n if (!(key in _handlers)) return;\r\n\r\n scope = getScope();\r\n\r\n // for each potential shortcut\r\n for (i = 0; i < _handlers[key].length; i++) {\r\n handler = _handlers[key][i];\r\n\r\n // see if it's in the current scope\r\n if (handler.scope == scope || handler.scope == 'all') {\r\n // check if modifiers match if any\r\n modifiersMatch = handler.mods.length > 0;\r\n for (k in _mods)\r\n if ((!_mods[k] && index(handler.mods, +k) > -1) || (_mods[k] && index(handler.mods, +k) == -1))\r\n modifiersMatch = false;\r\n // call the handler and stop the event if neccessary\r\n if ((handler.mods.length == 0 && !_mods[16] && !_mods[18] && !_mods[17] && !_mods[91]) || modifiersMatch) {\r\n if (handler.method(event, handler) === false) {\r\n if (event.preventDefault) event.preventDefault();\r\n else event.returnValue = false;\r\n if (event.stopPropagation) event.stopPropagation();\r\n if (event.cancelBubble) event.cancelBubble = true;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n// unset modifier keys on keyup\r\nfunction clearModifier(event) {\r\n var key = event.keyCode,\r\n k,\r\n i = index(_downKeys, key);\r\n\r\n // remove key from _downKeys\r\n if (i >= 0) {\r\n _downKeys.splice(i, 1);\r\n }\r\n\r\n if (key == 93 || key == 224) key = 91;\r\n if (key in _mods) {\r\n _mods[key] = false;\r\n for (k in _MODIFIERS) if (_MODIFIERS[k] == key) assignKey[k] = false;\r\n }\r\n}\r\n\r\nfunction resetModifiers() {\r\n for (k in _mods) _mods[k] = false;\r\n for (k in _MODIFIERS) assignKey[k] = false;\r\n}\r\n\r\n// parse and assign shortcut\r\nfunction assignKey(key, scope, method) {\r\n var keys, mods;\r\n keys = getKeys(key);\r\n if (method === undefined) {\r\n method = scope;\r\n scope = 'all';\r\n }\r\n\r\n // for each shortcut\r\n for (var i = 0; i < keys.length; i++) {\r\n // set modifier keys if any\r\n mods = [];\r\n key = keys[i].split('+');\r\n if (key.length > 1) {\r\n mods = getMods(key);\r\n key = [key[key.length - 1]];\r\n }\r\n // convert to keycode and...\r\n key = key[0];\r\n key = code(key);\r\n // ...store handler\r\n if (!(key in _handlers)) _handlers[key] = [];\r\n _handlers[key].push({\r\n shortcut: keys[i],\r\n scope: scope,\r\n method: method,\r\n key: keys[i],\r\n mods: mods,\r\n });\r\n }\r\n}\r\n\r\n// unbind all handlers for given key in current scope\r\nfunction unbindKey(key, scope) {\r\n var multipleKeys,\r\n keys,\r\n mods = [],\r\n i,\r\n j,\r\n obj;\r\n\r\n multipleKeys = getKeys(key);\r\n\r\n for (j = 0; j < multipleKeys.length; j++) {\r\n keys = multipleKeys[j].split('+');\r\n\r\n if (keys.length > 1) {\r\n mods = getMods(keys);\r\n }\r\n\r\n key = keys[keys.length - 1];\r\n key = code(key);\r\n\r\n if (scope === undefined) {\r\n scope = getScope();\r\n }\r\n if (!_handlers[key]) {\r\n return;\r\n }\r\n for (i = 0; i < _handlers[key].length; i++) {\r\n obj = _handlers[key][i];\r\n // only clear handlers if correct scope and mods match\r\n if (obj.scope === scope && compareArray(obj.mods, mods)) {\r\n _handlers[key][i] = {};\r\n }\r\n }\r\n }\r\n}\r\n\r\n// Returns true if the key with code 'keyCode' is currently down\r\n// Converts strings into key codes.\r\nfunction isPressed(keyCode) {\r\n if (typeof keyCode == 'string') {\r\n keyCode = code(keyCode);\r\n }\r\n return index(_downKeys, keyCode) != -1;\r\n}\r\n\r\nfunction getPressedKeyCodes() {\r\n return _downKeys.slice(0);\r\n}\r\n\r\nfunction filter(event) {\r\n var tagName = (event.target || event.srcElement).tagName;\r\n // ignore keypressed in any elements that support keyboard data input\r\n return !(tagName == 'INPUT' || tagName == 'SELECT' || tagName == 'TEXTAREA');\r\n}\r\n\r\n// initialize key. to false\r\nfor (k in _MODIFIERS) assignKey[k] = false;\r\n\r\n// set current scope (default 'all')\r\nfunction setScope(scope) {\r\n _scope = scope || 'all';\r\n}\r\n\r\nfunction getScope() {\r\n return _scope || 'all';\r\n}\r\n\r\n// delete all handlers for a given scope\r\nfunction deleteScope(scope) {\r\n var key, handlers, i;\r\n\r\n for (key in _handlers) {\r\n handlers = _handlers[key];\r\n for (i = 0; i < handlers.length; ) {\r\n if (handlers[i].scope === scope) handlers.splice(i, 1);\r\n else i++;\r\n }\r\n }\r\n}\r\n\r\n// abstract key logic for assign and unassign\r\nfunction getKeys(key) {\r\n var keys;\r\n key = key.replace(/\\s/g, '');\r\n keys = key.split(',');\r\n if (keys[keys.length - 1] == '') {\r\n keys[keys.length - 2] += ',';\r\n }\r\n return keys;\r\n}\r\n\r\n// abstract mods logic for assign and unassign\r\nfunction getMods(key) {\r\n var mods = key.slice(0, key.length - 1);\r\n for (var mi = 0; mi < mods.length; mi++) mods[mi] = _MODIFIERS[mods[mi]];\r\n return mods;\r\n}\r\n\r\n// cross-browser events\r\nfunction addEvent(object, event, method) {\r\n if (object.addEventListener) object.addEventListener(event, method, false);\r\n else if (object.attachEvent)\r\n object.attachEvent('on' + event, function () {\r\n method(window.event);\r\n });\r\n}\r\n\r\n// set window.key and window.key.set/get/deleteScope, and the default filter\r\nassignKey.setScope = setScope;\r\nassignKey.getScope = getScope;\r\nassignKey.deleteScope = deleteScope;\r\nassignKey.filter = filter;\r\nassignKey.isPressed = isPressed;\r\nassignKey.getPressedKeyCodes = getPressedKeyCodes;\r\nassignKey.unbind = unbindKey;\r\nassignKey.handlers = _handlers;\r\nassignKey.init = win => {\r\n // set the handlers globally on document\r\n // Passing _scope to a callback to ensure it remains the same by execution. Fixes #48\r\n addEvent(win.document, 'keydown', function (event) {\r\n dispatch(event);\r\n });\r\n addEvent(win.document, 'keyup', clearModifier);\r\n addEvent(win, 'focus', resetModifiers);\r\n};\r\n\r\nexport default assignKey;\r\n","/**\r\n * You can customize the initial state of the module from the editor initialization\r\n * ```js\r\n * const editor = grapesjs.init({\r\n * keymaps: {\r\n * // Object of keymaps\r\n * defaults: {\r\n * 'your-namespace:keymap-name' {\r\n * keys: '⌘+z, ctrl+z',\r\n * handler: 'some-command-id'\r\n * },\r\n * ...\r\n * }\r\n * }\r\n * })\r\n * ```\r\n *\r\n * Once the editor is instantiated you can use its API and listen to its events. Before using these methods, you should get the module from the instance.\r\n *\r\n * ```js\r\n * // Listen to events\r\n * editor.on('keymap:add', () => { ... });\r\n *\r\n * // Use the API\r\n * const keymaps = editor.Keymaps;\r\n * keymaps.add(...);\r\n * ```\r\n *\r\n * ## Available Events\r\n * * `keymap:add` - New keymap added. The new keyamp object is passed as an argument\r\n * * `keymap:remove` - Keymap removed. The removed keyamp object is passed as an argument\r\n * * `keymap:emit` - Some keymap emitted, in arguments you get keymapId, shortcutUsed, Event\r\n * * `keymap:emit:{keymapId}` - `keymapId` emitted, in arguments you get keymapId, shortcutUsed, Event\r\n *\r\n * ## Methods\r\n * * [getConfig](#getconfig)\r\n * * [add](#add)\r\n * * [get](#get)\r\n * * [getAll](#getAll)\r\n * * [remove](#remove)\r\n * * [removeAll](#removeall)\r\n *\r\n * @module Keymaps\r\n */\r\n\r\nimport { isString } from 'underscore';\r\nimport { hasWin } from '../utils/mixins';\r\nimport keymaster from '../utils/keymaster';\r\n\r\nhasWin() && keymaster.init(window);\r\n\r\nexport default () => {\r\n const configDef = {\r\n defaults: {\r\n 'core:undo': {\r\n keys: '⌘+z, ctrl+z',\r\n handler: 'core:undo',\r\n },\r\n 'core:redo': {\r\n keys: '⌘+shift+z, ctrl+shift+z',\r\n handler: 'core:redo',\r\n },\r\n 'core:copy': {\r\n keys: '⌘+c, ctrl+c',\r\n handler: 'core:copy',\r\n },\r\n 'core:paste': {\r\n keys: '⌘+v, ctrl+v',\r\n handler: 'core:paste',\r\n },\r\n 'core:component-next': {\r\n keys: 's',\r\n handler: 'core:component-next',\r\n },\r\n 'core:component-prev': {\r\n keys: 'w',\r\n handler: 'core:component-prev',\r\n },\r\n 'core:component-enter': {\r\n keys: 'd',\r\n handler: 'core:component-enter',\r\n },\r\n 'core:component-exit': {\r\n keys: 'a',\r\n handler: 'core:component-exit',\r\n },\r\n 'core:component-delete': {\r\n keys: 'backspace, delete',\r\n handler: 'core:component-delete',\r\n opts: { prevent: 1 },\r\n },\r\n },\r\n };\r\n\r\n return {\r\n keymaster,\r\n\r\n name: 'Keymaps',\r\n\r\n /**\r\n * Get module configurations\r\n * @return {Object} Configuration object\r\n */\r\n getConfig() {\r\n return this.config;\r\n },\r\n\r\n /**\r\n * Initialize module\r\n * @param {Object} config Configurations\r\n * @private\r\n */\r\n init(opts = {}) {\r\n this.config = { ...configDef, ...opts };\r\n this.em = this.config.em;\r\n this.keymaps = {};\r\n return this;\r\n },\r\n\r\n onLoad() {\r\n const defKeys = this.config.defaults;\r\n\r\n for (let id in defKeys) {\r\n const value = defKeys[id];\r\n this.add(id, value.keys, value.handler, value.opts || {});\r\n }\r\n },\r\n\r\n /**\r\n * Add new keymap\r\n * @param {string} id Keymap id\r\n * @param {string} keys Keymap keys, eg. `ctrl+a`, `⌘+z, ctrl+z`\r\n * @param {Function|string} handler Keymap handler, might be a function\r\n * @param {Object} [opts={}] Options\r\n * @return {Object} Added keymap\r\n * or just a command id as a string\r\n * @example\r\n * // 'ns' is just a custom namespace\r\n * keymaps.add('ns:my-keymap', '⌘+j, ⌘+u, ctrl+j, alt+u', editor => {\r\n * console.log('do stuff');\r\n * });\r\n * // or\r\n * keymaps.add('ns:my-keymap', '⌘+s, ctrl+s', 'some-gjs-command');\r\n *\r\n * // listen to events\r\n * editor.on('keymap:emit', (id, shortcut, e) => {\r\n * // ...\r\n * })\r\n */\r\n add(id, keys, handler, opts = {}) {\r\n const { em } = this;\r\n const cmd = em.get('Commands');\r\n const editor = em.getEditor();\r\n const canvas = em.get('Canvas');\r\n const keymap = { id, keys, handler };\r\n const pk = this.keymaps[id];\r\n pk && this.remove(id);\r\n this.keymaps[id] = keymap;\r\n keymaster(keys, (e, h) => {\r\n // It's safer putting handlers resolution inside the callback\r\n const opt = { event: e, h };\r\n handler = isString(handler) ? cmd.get(handler) : handler;\r\n const ableTorun = !em.isEditing() && !editor.Canvas.isInputFocused();\r\n if (ableTorun || opts.force) {\r\n opts.prevent && canvas.getCanvasView().preventDefault(e);\r\n typeof handler == 'object' ? cmd.runCommand(handler, opt) : handler(editor, 0, opt);\r\n const args = [id, h.shortcut, e];\r\n em.trigger('keymap:emit', ...args);\r\n em.trigger(`keymap:emit:${id}`, ...args);\r\n }\r\n });\r\n em.trigger('keymap:add', keymap);\r\n return keymap;\r\n },\r\n\r\n /**\r\n * Get the keymap by id\r\n * @param {string} id Keymap id\r\n * @return {Object} Keymap object\r\n * @example\r\n * keymaps.get('ns:my-keymap');\r\n * // -> {keys, handler};\r\n */\r\n get(id) {\r\n return this.keymaps[id];\r\n },\r\n\r\n /**\r\n * Get all keymaps\r\n * @return {Object}\r\n * @example\r\n * keymaps.getAll();\r\n * // -> {id1: {}, id2: {}};\r\n */\r\n getAll() {\r\n return this.keymaps;\r\n },\r\n\r\n /**\r\n * Remove the keymap by id\r\n * @param {string} id Keymap id\r\n * @return {Object} Removed keymap\r\n * @example\r\n * keymaps.remove('ns:my-keymap');\r\n * // -> {keys, handler};\r\n */\r\n remove(id) {\r\n const em = this.em;\r\n const keymap = this.get(id);\r\n\r\n if (keymap) {\r\n delete this.keymaps[id];\r\n keymap.keys.split(', ').forEach(k => keymaster.unbind(k.trim()));\r\n em && em.trigger('keymap:remove', keymap);\r\n return keymap;\r\n }\r\n },\r\n\r\n /**\r\n * Remove all binded keymaps\r\n * @return {this}\r\n */\r\n removeAll() {\r\n Object.keys(this.keymaps).forEach(keymap => this.remove(keymap));\r\n keymaster.handlers = {};\r\n return this;\r\n },\r\n\r\n destroy() {\r\n this.removeAll();\r\n this.keymaps = {};\r\n this.em = {};\r\n },\r\n };\r\n};\r\n","export default {\r\n stylePrefix: 'mdl-',\r\n\r\n title: '',\r\n\r\n content: '',\r\n\r\n backdrop: true,\r\n\r\n // Avoid rendering the default modal.\r\n custom: false,\r\n\r\n /**\r\n * Extend ModalView object (view/ModalView.js)\r\n * @example\r\n * extend: {\r\n * template() {\r\n * return '
...New modal template...
';\r\n * },\r\n * },\r\n */\r\n extend: {}\r\n};\r\n","import { Model } from '../../common';\r\n\r\nexport default class Modal extends Model {\r\n defaults() {\r\n return {\r\n title: '',\r\n content: '',\r\n attributes: {},\r\n open: false,\r\n };\r\n }\r\n\r\n open() {\r\n this.set('open', true);\r\n }\r\n\r\n close() {\r\n this.set('open', false);\r\n }\r\n}\r\n","import { View } from '../../common';\r\n\r\nexport default class ModalView extends View {\r\n template({ pfx, ppfx, content, title }) {\r\n return `
\r\n
\r\n
${title}
\r\n
\r\n
\r\n
\r\n
${content}
\r\n
\r\n
\r\n
\r\n
`;\r\n }\r\n\r\n events() {\r\n return {\r\n click: 'onClick',\r\n 'click [data-close-modal]': 'hide',\r\n };\r\n }\r\n\r\n initialize(o) {\r\n const model = this.model;\r\n const config = o.config || {};\r\n const pfx = config.stylePrefix || '';\r\n this.config = config;\r\n this.pfx = pfx;\r\n this.ppfx = config.pStylePrefix || '';\r\n this.listenTo(model, 'change:open', this.updateOpen);\r\n this.listenTo(model, 'change:title', this.updateTitle);\r\n this.listenTo(model, 'change:content', this.updateContent);\r\n }\r\n\r\n onClick(e) {\r\n const bkd = this.config.backdrop;\r\n bkd && e.target === this.el && this.hide();\r\n }\r\n\r\n /**\r\n * Returns collector element\r\n * @return {HTMLElement}\r\n * @private\r\n */\r\n getCollector() {\r\n if (!this.$collector) this.$collector = this.$el.find('.' + this.pfx + 'collector');\r\n return this.$collector;\r\n }\r\n\r\n /**\r\n * Returns content element\r\n * @return {HTMLElement}\r\n * @private\r\n */\r\n getContent() {\r\n const pfx = this.pfx;\r\n\r\n if (!this.$content) {\r\n this.$content = this.$el.find(`.${pfx}content #${pfx}c`);\r\n }\r\n\r\n return this.$content;\r\n }\r\n\r\n /**\r\n * Returns title element\r\n * @return {HTMLElement}\r\n * @private\r\n */\r\n getTitle(opts = {}) {\r\n if (!this.$title) this.$title = this.$el.find('.' + this.pfx + 'title');\r\n return opts.$ ? this.$title : this.$title.get(0);\r\n }\r\n\r\n /**\r\n * Update content\r\n * @private\r\n * */\r\n updateContent() {\r\n var content = this.getContent();\r\n const children = content.children();\r\n const coll = this.getCollector();\r\n const body = this.model.get('content');\r\n children.length && coll.append(children);\r\n content.empty().append(body);\r\n }\r\n\r\n /**\r\n * Update title\r\n * @private\r\n * */\r\n updateTitle() {\r\n const title = this.getTitle({ $: true });\r\n title && title.empty().append(this.model.get('title'));\r\n }\r\n\r\n /**\r\n * Update open\r\n * @private\r\n * */\r\n updateOpen() {\r\n this.el.style.display = this.model.get('open') ? '' : 'none';\r\n }\r\n\r\n /**\r\n * Hide modal\r\n * @private\r\n * */\r\n hide() {\r\n this.model.close();\r\n }\r\n\r\n /**\r\n * Show modal\r\n * @private\r\n * */\r\n show() {\r\n this.model.open();\r\n }\r\n\r\n updateAttr(attr) {\r\n const { pfx, $el, el } = this;\r\n const currAttr = [].slice.call(el.attributes).map(i => i.name);\r\n $el.removeAttr(currAttr.join(' '));\r\n $el.attr({\r\n ...(attr || {}),\r\n class: `${pfx}container ${(attr && attr.class) || ''}`.trim(),\r\n });\r\n }\r\n\r\n render() {\r\n const el = this.$el;\r\n const obj = this.model.toJSON();\r\n obj.pfx = this.pfx;\r\n obj.ppfx = this.ppfx;\r\n el.html(this.template(obj));\r\n this.updateAttr();\r\n this.updateOpen();\r\n return this;\r\n }\r\n}\r\n","/**\r\n * You can customize the initial state of the module from the editor initialization, by passing the following [Configuration Object](https://github.com/artf/grapesjs/blob/master/src/modal_dialog/config/config.js)\r\n * ```js\r\n * const editor = grapesjs.init({\r\n * modal: {\r\n * // options\r\n * }\r\n * })\r\n * ```\r\n *\r\n * Once the editor is instantiated you can use its API. Before using these methods you should get the module from the instance\r\n *\r\n * ```js\r\n * const modal = editor.Modal;\r\n * ```\r\n *\r\n * ## Available Events\r\n * * `modal:open` - Modal is opened\r\n * * `modal:close` - Modal is closed\r\n * * `modal` - Event triggered on any change related to the modal. An object containing all the available data about the triggered event is passed as an argument to the callback.\r\n *\r\n * ## Methods\r\n * * [open](#open)\r\n * * [close](#close)\r\n * * [isOpen](#isopen)\r\n * * [setTitle](#settitle)\r\n * * [getTitle](#gettitle)\r\n * * [setContent](#setcontent)\r\n * * [getContent](#getcontent)\r\n * * [onceClose](#onceclose)\r\n * * [onceOpen](#onceopen)\r\n *\r\n * @module Modal\r\n */\r\n\r\nimport { debounce, isFunction, isString } from 'underscore';\r\nimport { createText } from '../utils/dom';\r\nimport defaults from './config/config';\r\nimport ModalM from './model/Modal';\r\nimport ModalView from './view/ModalView';\r\n\r\nexport default () => {\r\n var c = {};\r\n var model, modal;\r\n\r\n const triggerEvent = (enable, em) => {\r\n em && em.trigger(`modal:${enable ? 'open' : 'close'}`);\r\n };\r\n\r\n return {\r\n /**\r\n * Name of the module\r\n * @type {String}\r\n * @private\r\n */\r\n name: 'Modal',\r\n\r\n getConfig() {\r\n return c;\r\n },\r\n\r\n /**\r\n * Initialize module. Automatically called with a new instance of the editor\r\n * @param {Object} config Configurations\r\n * @private\r\n */\r\n init(config = {}) {\r\n c = {\r\n ...defaults,\r\n ...config\r\n };\r\n\r\n const em = c.em;\r\n this.em = em;\r\n var ppfx = c.pStylePrefix;\r\n if (ppfx) c.stylePrefix = ppfx + c.stylePrefix;\r\n\r\n model = new ModalM(c);\r\n model.on('change:open', (m, enb) => triggerEvent(enb, em));\r\n model.on(\r\n 'change',\r\n debounce(() => {\r\n const data = this._evData();\r\n const { custom } = this.getConfig();\r\n isFunction(custom) && custom(data);\r\n em.trigger('modal', data);\r\n })\r\n );\r\n\r\n return this;\r\n },\r\n\r\n _evData() {\r\n const titl = this.getTitle();\r\n const cnt = this.getContent();\r\n const { open, attributes } = model.attributes;\r\n return {\r\n open,\r\n attributes,\r\n title: isString(titl) ? createText(titl) : titl,\r\n content: isString(cnt) ? createText(cnt) : cnt.get ? cnt.get(0) : cnt,\r\n close: () => this.close()\r\n };\r\n },\r\n\r\n postRender(view) {\r\n const el = view.model.getConfig().el || view.el;\r\n const res = this.render();\r\n res && res.appendTo(el);\r\n },\r\n\r\n /**\r\n * Open the modal window\r\n * @param {Object} [opts={}] Options\r\n * @param {String|HTMLElement} [opts.title] Title to set for the modal\r\n * @param {String|HTMLElement} [opts.content] Content to set for the modal\r\n * @param {Object} [opts.attributes] Updates the modal wrapper with custom attributes\r\n * @returns {this}\r\n * @example\r\n * modal.open({\r\n * title: 'My title',\r\n * content: 'My content',\r\n * attributes: { class: 'my-class' },\r\n * });\r\n */\r\n open(opts = {}) {\r\n const attr = opts.attributes || {};\r\n opts.title && this.setTitle(opts.title);\r\n opts.content && this.setContent(opts.content);\r\n model.set('attributes', attr);\r\n model.open();\r\n modal && modal.updateAttr(attr);\r\n return this;\r\n },\r\n\r\n /**\r\n * Close the modal window\r\n * @returns {this}\r\n * @example\r\n * modal.close();\r\n */\r\n close() {\r\n model.close();\r\n return this;\r\n },\r\n\r\n /**\r\n * Execute callback when the modal will be closed.\r\n * The callback will be called one only time\r\n * @param {Function} clb Callback to call\r\n * @returns {this}\r\n * @example\r\n * modal.onceClose(() => {\r\n * console.log('The modal is closed');\r\n * });\r\n */\r\n onceClose(clb) {\r\n this.em.once('modal:close', clb);\r\n return this;\r\n },\r\n\r\n /**\r\n * Execute callback when the modal will be opened.\r\n * The callback will be called one only time\r\n * @param {Function} clb Callback to call\r\n * @returns {this}\r\n * @example\r\n * modal.onceOpen(() => {\r\n * console.log('The modal is opened');\r\n * });\r\n */\r\n onceOpen(clb) {\r\n this.em.once('modal:open', clb);\r\n return this;\r\n },\r\n\r\n /**\r\n * Checks if the modal window is open\r\n * @returns {Boolean}\r\n * @example\r\n * modal.isOpen(); // true | false\r\n */\r\n isOpen() {\r\n return !!model.get('open');\r\n },\r\n\r\n /**\r\n * Set the title to the modal window\r\n * @param {string | HTMLElement} title Title\r\n * @returns {this}\r\n * @example\r\n * // pass a string\r\n * modal.setTitle('Some title');\r\n * // or an HTMLElement\r\n * const el = document.createElement('div');\r\n * el.innerText = 'New title';\r\n * modal.setTitle(el);\r\n */\r\n setTitle(title) {\r\n model.set('title', title);\r\n return this;\r\n },\r\n\r\n /**\r\n * Returns the title of the modal window\r\n * @returns {string | HTMLElement}\r\n * @example\r\n * modal.getTitle();\r\n */\r\n getTitle() {\r\n return model.get('title');\r\n },\r\n\r\n /**\r\n * Set the content of the modal window\r\n * @param {string | HTMLElement} content Content\r\n * @returns {this}\r\n * @example\r\n * // pass a string\r\n * modal.setContent('Some content');\r\n * // or an HTMLElement\r\n * const el = document.createElement('div');\r\n * el.innerText = 'New content';\r\n * modal.setContent(el);\r\n */\r\n setContent(content) {\r\n model.set('content', ' ');\r\n model.set('content', content);\r\n return this;\r\n },\r\n\r\n /**\r\n * Get the content of the modal window\r\n * @returns {string | HTMLElement}\r\n * @example\r\n * modal.getContent();\r\n */\r\n getContent() {\r\n return model.get('content');\r\n },\r\n\r\n /**\r\n * Returns content element\r\n * @return {HTMLElement}\r\n * @private\r\n */\r\n getContentEl() {\r\n return modal.getContent().get(0);\r\n },\r\n\r\n /**\r\n * Returns modal model\r\n * @return {Model}\r\n * @private\r\n */\r\n getModel() {\r\n return model;\r\n },\r\n\r\n /**\r\n * Render the modal window\r\n * @return {HTMLElement}\r\n * @private\r\n */\r\n render() {\r\n if (this.getConfig().custom) return;\r\n const View = ModalView.extend(c.extend);\r\n const el = modal && modal.el;\r\n modal = new View({\r\n el,\r\n model,\r\n config: c\r\n });\r\n return modal.render().$el;\r\n },\r\n\r\n destroy() {\r\n modal && modal.remove();\r\n [c, model, modal].forEach(i => (i = {}));\r\n this.em = {};\r\n }\r\n };\r\n};\r\n","export default {\r\n stylePrefix: '',\r\n\r\n // Specify the element to use as a container, string (query) or HTMLElement\r\n // With the empty value, nothing will be rendered\r\n appendTo: '',\r\n\r\n // Enable/Disable globally the possibility to sort layers\r\n sortable: 1,\r\n\r\n // Enable/Disable globally the possibility to hide layers\r\n hidable: 1,\r\n\r\n // Hide textnodes\r\n hideTextnode: 1,\r\n\r\n // Indicate a query string of the element to be selected as the root of layers.\r\n // By default the root is the wrapper\r\n root: '',\r\n\r\n // Indicates if the wrapper is visible in layers\r\n showWrapper: 1,\r\n\r\n // Show hovered components in canvas\r\n showHover: 1,\r\n\r\n // Scroll to selected component in Canvas when it's selected in Layers\r\n // true, false or `scrollIntoView`-like options,\r\n // `block: 'nearest'` avoids the issue of window scrolling\r\n scrollCanvas: { behavior: 'smooth', block: 'nearest' },\r\n\r\n // Scroll to selected component in Layers when it's selected in Canvas\r\n // true, false or `scrollIntoView`-like options\r\n scrollLayers: { behavior: 'auto', block: 'nearest' },\r\n\r\n // Highlight when a layer component is hovered\r\n highlightHover: 1,\r\n\r\n /**\r\n * WARNING: Experimental option\r\n * A callback triggered once the component layer is initialized.\r\n * Useful to trigger updates on some component prop change.\r\n * @example\r\n * onInit({ component, render, listenTo }) {\r\n * listenTo(component, 'change:some-prop', render);\r\n * };\r\n */\r\n onInit: () => {},\r\n\r\n /**\r\n * WARNING: Experimental option\r\n * A callback triggered once the component layer is rendered.\r\n * A callback useful to update the layer DOM on some component change\r\n * @example\r\n * onRender({ component, el }) { // el is the DOM of the layer\r\n * if (component.get('some-prop')) {\r\n * // do changes using the `el` DOM\r\n * }\r\n * }\r\n */\r\n onRender: () => {},\r\n\r\n /**\r\n * Extend Layer view object (view/ItemView.js)\r\n * @example\r\n * extend: {\r\n * setName(name) {\r\n * // this.model is the component of the layer\r\n * this.model.set('another-prop-for-name', name);\r\n * },\r\n * },\r\n */\r\n extend: {}\r\n};\r\n","import { isUndefined, isString, bindAll } from 'underscore';\r\nimport { View } from '../../common';\r\nimport { getModel, isEscKey, isEnterKey } from '../../utils/mixins';\r\nimport ComponentView from '../../dom_components/view/ComponentView';\r\nimport { eventDrag } from '../../dom_components/model/Component';\r\n\r\nconst inputProp = 'contentEditable';\r\nconst styleOpts = { mediaText: '' };\r\nconst isStyleHidden = (style = {}) => {\r\n return (style.display || '').trim().indexOf('none') === 0;\r\n};\r\nlet ItemsView;\r\n\r\nexport default class ItemView extends View {\r\n events() {\r\n return {\r\n 'mousedown [data-toggle-move]': 'startSort',\r\n 'touchstart [data-toggle-move]': 'startSort',\r\n 'click [data-toggle-visible]': 'toggleVisibility',\r\n 'click [data-toggle-open]': 'toggleOpening',\r\n 'click [data-toggle-select]': 'handleSelect',\r\n 'mouseover [data-toggle-select]': 'handleHover',\r\n 'mouseout [data-toggle-select]': 'handleHoverOut',\r\n 'dblclick [data-name]': 'handleEdit',\r\n 'keydown [data-name]': 'handleEditKey',\r\n 'focusout [data-name]': 'handleEditEnd',\r\n };\r\n }\r\n\r\n template(model) {\r\n const { pfx, ppfx, config, clsNoEdit } = this;\r\n const { hidable } = config;\r\n const count = this.countChildren(model);\r\n const addClass = !count ? this.clsNoChild : '';\r\n const clsTitle = `${this.clsTitle} ${addClass}`;\r\n const clsTitleC = `${this.clsTitleC} ${ppfx}one-bg`;\r\n const clsCaret = `${this.clsCaret} fa fa-chevron-right`;\r\n const clsInput = `${this.inputNameCls} ${clsNoEdit} ${ppfx}no-app`;\r\n const level = this.level + 1;\r\n const gut = `${30 + level * 10}px`;\r\n const name = model.getName();\r\n const icon = model.getIcon();\r\n const clsBase = `${pfx}layer`;\r\n\r\n return `\r\n ${\r\n hidable\r\n ? ``\r\n : ''\r\n }\r\n
\r\n
\r\n
\r\n \r\n ${icon ? `${icon}` : ''}\r\n ${name}\r\n
\r\n
\r\n
\r\n
${count || ''}
\r\n
\r\n \r\n
\r\n
`;\r\n }\r\n\r\n initialize(o = {}) {\r\n bindAll(this, '__render');\r\n this.opt = o;\r\n this.level = o.level;\r\n const config = o.config || {};\r\n const { onInit } = config;\r\n this.config = config;\r\n this.em = o.config.em;\r\n this.ppfx = this.em.get('Config').stylePrefix;\r\n this.sorter = o.sorter || '';\r\n this.pfx = this.config.stylePrefix;\r\n this.parentView = o.parentView;\r\n const pfx = this.pfx;\r\n const ppfx = this.ppfx;\r\n const model = this.model;\r\n const components = model.get('components');\r\n const type = model.get('type') || 'default';\r\n model.set('open', false);\r\n this.listenTo(components, 'remove add reset', this.checkChildren);\r\n [\r\n ['change:status', this.updateStatus],\r\n ['change:open', this.updateOpening],\r\n ['change:layerable', this.updateLayerable],\r\n ['change:style:display', this.updateVisibility],\r\n ['rerender:layer', this.render],\r\n ['change:name change:custom-name', this.updateName],\r\n ].forEach(item => this.listenTo(model, item[0], item[1]));\r\n this.className = `${pfx}layer ${pfx}layer__t-${type} no-select ${ppfx}two-color`;\r\n this.inputNameCls = `${ppfx}layer-name`;\r\n this.clsTitleC = `${pfx}layer-title-c`;\r\n this.clsTitle = `${pfx}layer-title`;\r\n this.clsCaret = `${pfx}layer-caret`;\r\n this.clsCount = `${pfx}layer-count`;\r\n this.clsMove = `${pfx}layer-move`;\r\n this.clsChildren = `${pfx}layer-children`;\r\n this.clsNoChild = `${pfx}layer-no-chld`;\r\n this.clsEdit = `${this.inputNameCls}--edit`;\r\n this.clsNoEdit = `${this.inputNameCls}--no-edit`;\r\n this.$el.data('model', model);\r\n this.$el.data('collection', components);\r\n model.viewLayer = this;\r\n onInit.bind(this)({\r\n component: model,\r\n render: this.__render,\r\n listenTo: this.listenTo,\r\n });\r\n }\r\n\r\n updateName() {\r\n this.getInputName().innerText = this.model.getName();\r\n }\r\n\r\n getVisibilityEl() {\r\n if (!this.eyeEl) {\r\n this.eyeEl = this.$el.children(`.${this.pfx}layer-vis`);\r\n }\r\n\r\n return this.eyeEl;\r\n }\r\n\r\n updateVisibility() {\r\n const pfx = this.pfx;\r\n const model = this.model;\r\n const hClass = `${pfx}layer-hidden`;\r\n const hideIcon = 'fa-eye-slash';\r\n const hidden = isStyleHidden(model.getStyle(styleOpts));\r\n const method = hidden ? 'addClass' : 'removeClass';\r\n this.$el[method](hClass);\r\n this.getVisibilityEl()[method](hideIcon);\r\n }\r\n\r\n /**\r\n * Toggle visibility\r\n * @param\tEvent\r\n *\r\n * @return \tvoid\r\n * */\r\n toggleVisibility(e) {\r\n e && e.stopPropagation();\r\n const { model, em } = this;\r\n const prevDspKey = '__prev-display';\r\n const prevDisplay = model.get(prevDspKey);\r\n const style = model.getStyle(styleOpts);\r\n const { display } = style;\r\n const hidden = isStyleHidden(style);\r\n\r\n if (hidden) {\r\n delete style.display;\r\n\r\n if (prevDisplay) {\r\n style.display = prevDisplay;\r\n model.unset(prevDspKey);\r\n }\r\n } else {\r\n display && model.set(prevDspKey, display);\r\n style.display = 'none';\r\n }\r\n\r\n model.setStyle(style, styleOpts);\r\n em && em.trigger('component:toggled'); // Updates Style Manager #2938\r\n }\r\n\r\n /**\r\n * Handle the edit of the component name\r\n */\r\n handleEdit(e) {\r\n e && e.stopPropagation();\r\n const { em, $el, clsNoEdit, clsEdit } = this;\r\n const inputEl = this.getInputName();\r\n inputEl[inputProp] = true;\r\n inputEl.focus();\r\n document.execCommand('selectAll', false, null);\r\n em && em.setEditing(1);\r\n $el.find(`.${this.inputNameCls}`).removeClass(clsNoEdit).addClass(clsEdit);\r\n }\r\n\r\n handleEditKey(ev) {\r\n ev.stopPropagation();\r\n (isEscKey(ev) || isEnterKey(ev)) && this.handleEditEnd(ev);\r\n }\r\n\r\n /**\r\n * Handle with the end of editing of the component name\r\n */\r\n handleEditEnd(e) {\r\n e && e.stopPropagation();\r\n const { em, $el, clsNoEdit, clsEdit } = this;\r\n const inputEl = this.getInputName();\r\n const name = inputEl.textContent;\r\n inputEl.scrollLeft = 0;\r\n inputEl[inputProp] = false;\r\n this.setName(name, { component: this.model, propName: 'custom-name' });\r\n em && em.setEditing(0);\r\n $el.find(`.${this.inputNameCls}`).addClass(clsNoEdit).removeClass(clsEdit);\r\n }\r\n\r\n setName(name, { propName }) {\r\n this.model.set(propName, name);\r\n }\r\n\r\n /**\r\n * Get the input containing the name of the component\r\n * @return {HTMLElement}\r\n */\r\n getInputName() {\r\n if (!this.inputName) {\r\n this.inputName = this.el.querySelector(`.${this.inputNameCls}`);\r\n }\r\n return this.inputName;\r\n }\r\n\r\n /**\r\n * Update item opening\r\n *\r\n * @return void\r\n * */\r\n updateOpening() {\r\n var opened = this.opt.opened || {};\r\n var model = this.model;\r\n const chvDown = 'fa-chevron-down';\r\n\r\n if (model.get('open')) {\r\n this.$el.addClass('open');\r\n this.getCaret().addClass(chvDown);\r\n opened[model.cid] = model;\r\n } else {\r\n this.$el.removeClass('open');\r\n this.getCaret().removeClass(chvDown);\r\n delete opened[model.cid];\r\n }\r\n }\r\n\r\n /**\r\n * Toggle item opening\r\n * @param {Object}\te\r\n *\r\n * @return void\r\n * */\r\n toggleOpening(e) {\r\n const { model } = this;\r\n e.stopImmediatePropagation();\r\n\r\n if (!model.get('components').length) return;\r\n\r\n model.set('open', !model.get('open'));\r\n }\r\n\r\n /**\r\n * Handle component selection\r\n */\r\n handleSelect(e) {\r\n e.stopPropagation();\r\n const { em, config, model } = this;\r\n\r\n if (em) {\r\n em.setSelected(model, { fromLayers: 1, event: e });\r\n const scroll = config.scrollCanvas;\r\n scroll && model.views.forEach(view => view.scrollIntoView(scroll));\r\n }\r\n }\r\n\r\n /**\r\n * Handle component selection\r\n */\r\n handleHover(e) {\r\n e.stopPropagation();\r\n const { em, config, model } = this;\r\n em && config.showHover && em.setHovered(model, { fromLayers: 1 });\r\n }\r\n\r\n handleHoverOut(ev) {\r\n ev.stopPropagation();\r\n const { em, config } = this;\r\n em && config.showHover && em.setHovered(0, { fromLayers: 1 });\r\n }\r\n\r\n /**\r\n * Delegate to sorter\r\n * @param\tEvent\r\n * */\r\n startSort(e) {\r\n e.stopPropagation();\r\n const { em, sorter } = this;\r\n // Right or middel click\r\n if (e.button && e.button !== 0) return;\r\n\r\n if (sorter) {\r\n sorter.onStart = data => em.trigger(`${eventDrag}:start`, data);\r\n sorter.onMoveClb = data => em.trigger(eventDrag, data);\r\n sorter.startSort(e.target);\r\n }\r\n }\r\n\r\n /**\r\n * Freeze item\r\n * @return\tvoid\r\n * */\r\n freeze() {\r\n this.$el.addClass(this.pfx + 'opac50');\r\n this.model.set('open', 0);\r\n }\r\n\r\n /**\r\n * Unfreeze item\r\n * @return\tvoid\r\n * */\r\n unfreeze() {\r\n this.$el.removeClass(this.pfx + 'opac50');\r\n }\r\n\r\n /**\r\n * Update item on status change\r\n * @param\tEvent\r\n * */\r\n updateStatus(e) {\r\n ComponentView.prototype.updateStatus.apply(this, [\r\n {\r\n avoidHover: !this.config.highlightHover,\r\n noExtHl: 1,\r\n },\r\n ]);\r\n }\r\n\r\n /**\r\n * Check if component is visible\r\n *\r\n * @return boolean\r\n * */\r\n isVisible() {\r\n return !isStyleHidden(this.model.getStyle());\r\n }\r\n\r\n /**\r\n * Update item aspect after children changes\r\n *\r\n * @return void\r\n * */\r\n checkChildren() {\r\n const { model, clsNoChild } = this;\r\n const count = this.countChildren(model);\r\n const title = this.$el.children(`.${this.clsTitleC}`).children(`.${this.clsTitle}`);\r\n let { cnt } = this;\r\n\r\n if (!cnt) {\r\n cnt = this.$el.children('[data-count]').get(0);\r\n this.cnt = cnt;\r\n }\r\n\r\n title[count ? 'removeClass' : 'addClass'](clsNoChild);\r\n if (cnt) cnt.innerHTML = count || '';\r\n !count && model.set('open', 0);\r\n }\r\n\r\n /**\r\n * Count children inside model\r\n * @param {Object} model\r\n * @return {number}\r\n * @private\r\n */\r\n countChildren(model) {\r\n var count = 0;\r\n model.get('components').each(function (m) {\r\n var isCountable = this.opt.isCountable;\r\n var hide = this.config.hideTextnode;\r\n if (isCountable && !isCountable(m, hide)) return;\r\n count++;\r\n }, this);\r\n return count;\r\n }\r\n\r\n getCaret() {\r\n if (!this.caret || !this.caret.length) {\r\n const pfx = this.pfx;\r\n this.caret = this.$el.children(`.${this.clsTitleC}`).find(`.${this.clsCaret}`);\r\n }\r\n\r\n return this.caret;\r\n }\r\n\r\n setRoot(el) {\r\n el = isString(el) ? this.em.getWrapper().find(el)[0] : el;\r\n const model = getModel(el);\r\n if (!model) return;\r\n this.stopListening();\r\n this.model = model;\r\n this.initialize(this.opt);\r\n this._rendered && this.render();\r\n }\r\n\r\n updateLayerable() {\r\n const { parentView } = this;\r\n const toRerender = parentView || this;\r\n toRerender.render();\r\n }\r\n\r\n __clearItems() {\r\n const { items } = this;\r\n items && items.remove();\r\n }\r\n\r\n remove() {\r\n View.prototype.remove.apply(this, arguments);\r\n this.__clearItems();\r\n }\r\n\r\n render() {\r\n const { model, config, pfx, ppfx, opt } = this;\r\n this.__clearItems();\r\n const { isCountable } = opt;\r\n const hidden = isCountable && !isCountable(model, config.hideTextnode);\r\n const vis = this.isVisible();\r\n const el = this.$el.empty();\r\n const level = this.level + 1;\r\n this.inputName = 0;\r\n\r\n if (isUndefined(ItemsView)) {\r\n ItemsView = require('./ItemsView').default;\r\n }\r\n\r\n this.items = new ItemsView({\r\n ItemView: opt.ItemView,\r\n collection: model.get('components'),\r\n config: this.config,\r\n sorter: this.sorter,\r\n opened: this.opt.opened,\r\n parentView: this,\r\n parent: model,\r\n level,\r\n });\r\n const children = this.items.render().$el;\r\n\r\n if (!this.config.showWrapper && level === 1) {\r\n el.append(children);\r\n } else {\r\n el.html(this.template(model));\r\n el.find(`.${this.clsChildren}`).append(children);\r\n }\r\n\r\n if (!model.get('draggable') || !this.config.sortable) {\r\n el.children(`.${this.clsMove}`).remove();\r\n }\r\n\r\n !vis && (this.className += ` ${pfx}hide`);\r\n hidden && (this.className += ` ${ppfx}hidden`);\r\n el.attr('class', this.className);\r\n this.updateOpening();\r\n this.updateStatus();\r\n this.updateVisibility();\r\n this.__render();\r\n this._rendered = 1;\r\n return this;\r\n }\r\n\r\n __render() {\r\n const { model, config, el } = this;\r\n const { onRender } = config;\r\n const opt = { component: model, el };\r\n onRender.bind(this)(opt);\r\n this.em.trigger('layer:render', opt);\r\n }\r\n}\r\n","import { isElement } from 'underscore';\r\nimport defaults from './config/config';\r\nimport View from './view/ItemView';\r\n\r\nexport default () => {\r\n let em;\r\n let layers;\r\n let config = {};\r\n\r\n return {\r\n name: 'LayerManager',\r\n\r\n init(opts = {}) {\r\n config = { ...defaults, ...opts };\r\n config.stylePrefix = opts.pStylePrefix;\r\n em = config.em;\r\n return this;\r\n },\r\n\r\n getConfig() {\r\n return config;\r\n },\r\n\r\n onLoad() {\r\n em && em.on('component:selected', this.componentChanged);\r\n this.componentChanged();\r\n },\r\n\r\n postRender() {\r\n const elTo = config.appendTo;\r\n const root = config.root;\r\n root && this.setRoot(root);\r\n\r\n if (elTo) {\r\n const el = isElement(elTo) ? elTo : document.querySelector(elTo);\r\n el.appendChild(this.render());\r\n }\r\n },\r\n\r\n /**\r\n * Set new root for layers\r\n * @param {HTMLElement|Component|String} el Component to be set as the root\r\n * @return {self}\r\n */\r\n setRoot(el) {\r\n layers && layers.setRoot(el);\r\n return this;\r\n },\r\n\r\n /**\r\n * Get the root of layers\r\n * @return {Component}\r\n */\r\n getRoot() {\r\n return layers && layers.model;\r\n },\r\n\r\n /**\r\n * Return the view of layers\r\n * @return {View}\r\n */\r\n getAll() {\r\n return layers;\r\n },\r\n\r\n /**\r\n * Triggered when the selected component is changed\r\n * @private\r\n */\r\n componentChanged(selected, opts = {}) {\r\n if (opts.fromLayers) return;\r\n const opened = em.get('opened');\r\n const model = em.getSelected();\r\n const scroll = config.scrollLayers;\r\n let parent = model && model.collection ? model.collection.parent : null;\r\n for (let cid in opened) opened[cid].set('open', 0);\r\n\r\n while (parent) {\r\n parent.set('open', 1);\r\n opened[parent.cid] = parent;\r\n parent = parent.collection ? parent.collection.parent : null;\r\n }\r\n\r\n if (model && scroll) {\r\n const el = model.viewLayer && model.viewLayer.el;\r\n el && el.scrollIntoView(scroll);\r\n }\r\n },\r\n\r\n render() {\r\n const ItemView = View.extend(config.extend);\r\n layers && layers.remove();\r\n layers = new ItemView({\r\n ItemView,\r\n level: 0,\r\n config,\r\n opened: config.opened || {},\r\n model: em.get('DomComponents').getWrapper(),\r\n });\r\n return layers.render().el;\r\n },\r\n\r\n destroy() {\r\n layers && layers.remove();\r\n [em, layers, config].forEach(i => (i = {}));\r\n },\r\n };\r\n};\r\n","import { View } from '../../common';\r\nimport { eventDrag } from '../../dom_components/model/Component';\r\n\r\nexport default class ItemsView extends View {\r\n initialize(o = {}) {\r\n this.items = [];\r\n this.opt = o;\r\n const config = o.config || {};\r\n this.level = o.level;\r\n this.config = config;\r\n this.preview = o.preview;\r\n this.ppfx = config.pStylePrefix || '';\r\n this.pfx = config.stylePrefix || '';\r\n this.parent = o.parent;\r\n this.parentView = o.parentView;\r\n const pfx = this.pfx;\r\n const ppfx = this.ppfx;\r\n const parent = this.parent;\r\n const coll = this.collection;\r\n this.listenTo(coll, 'add', this.addTo);\r\n this.listenTo(coll, 'reset resetNavigator', this.render);\r\n this.listenTo(coll, 'remove', this.removeChildren);\r\n this.className = `${pfx}layers`;\r\n const em = config.em;\r\n\r\n if (config.sortable && !this.opt.sorter) {\r\n const utils = em.get('Utils');\r\n this.opt.sorter = new utils.Sorter({\r\n container: config.sortContainer || this.el,\r\n containerSel: `.${this.className}`,\r\n itemSel: `.${pfx}layer`,\r\n ignoreViewChildren: 1,\r\n onEndMove(created, sorter, data) {\r\n const srcModel = sorter.getSourceModel();\r\n em.setSelected(srcModel, { forceChange: 1 });\r\n em.trigger(`${eventDrag}:end`, data);\r\n },\r\n avoidSelectOnEnd: 1,\r\n nested: 1,\r\n ppfx,\r\n pfx,\r\n });\r\n }\r\n\r\n this.sorter = this.opt.sorter || '';\r\n\r\n // For the sorter\r\n this.$el.data('collection', coll);\r\n parent && this.$el.data('model', parent);\r\n }\r\n\r\n removeChildren(removed) {\r\n const view = removed.viewLayer;\r\n if (!view) return;\r\n view.remove();\r\n removed.viewLayer = 0;\r\n }\r\n\r\n /**\r\n * Add to collection\r\n * @param Object Model\r\n *\r\n * @return Object\r\n * */\r\n addTo(model) {\r\n var i = this.collection.indexOf(model);\r\n this.addToCollection(model, null, i);\r\n }\r\n\r\n /**\r\n * Add new object to collection\r\n * @param Object Model\r\n * @param Object Fragment collection\r\n * @param integer Index of append\r\n *\r\n * @return Object Object created\r\n * */\r\n addToCollection(model, fragmentEl, index) {\r\n const { level, parentView, opt } = this;\r\n const { ItemView } = opt;\r\n const fragment = fragmentEl || null;\r\n const item = new ItemView({\r\n ItemView,\r\n level,\r\n model,\r\n parentView,\r\n config: this.config,\r\n sorter: this.sorter,\r\n isCountable: this.isCountable,\r\n opened: this.opt.opened,\r\n });\r\n const rendered = item.render().el;\r\n\r\n if (fragment) {\r\n fragment.appendChild(rendered);\r\n } else {\r\n if (typeof index != 'undefined') {\r\n var method = 'before';\r\n // If the added model is the last of collection\r\n // need to change the logic of append\r\n if (this.$el.children().length == index) {\r\n index--;\r\n method = 'after';\r\n }\r\n // In case the added is new in the collection index will be -1\r\n if (index < 0) {\r\n this.$el.append(rendered);\r\n } else this.$el.children().eq(index)[method](rendered);\r\n } else this.$el.append(rendered);\r\n }\r\n this.items.push(item);\r\n return rendered;\r\n }\r\n\r\n remove() {\r\n View.prototype.remove.apply(this, arguments);\r\n this.items.map(i => i.remove());\r\n }\r\n\r\n /**\r\n * Check if the model could be count by the navigator\r\n * @param {Object} model\r\n * @return {Boolean}\r\n * @private\r\n */\r\n isCountable(model, hide) {\r\n var type = model.get('type');\r\n var tag = model.get('tagName');\r\n if (((type == 'textnode' || tag == 'br') && hide) || !model.get('layerable')) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n render() {\r\n const frag = document.createDocumentFragment();\r\n const el = this.el;\r\n el.innerHTML = '';\r\n this.collection.each(model => this.addToCollection(model, frag));\r\n el.appendChild(frag);\r\n el.className = this.className;\r\n return this;\r\n }\r\n}\r\n","import { result, forEach } from 'underscore';\r\nimport { Model } from '../../common';\r\nimport Frames from '../../canvas/model/Frames';\r\n\r\nexport default class Page extends Model {\r\n defaults() {\r\n return {\r\n frames: [],\r\n _undo: true,\r\n };\r\n }\r\n\r\n initialize(props, opts = {}) {\r\n const { config = {} } = opts;\r\n const { em } = config;\r\n const defFrame = {};\r\n this.em = em;\r\n if (!props.frames) {\r\n defFrame.component = props.component;\r\n defFrame.styles = props.styles;\r\n ['component', 'styles'].map(i => this.unset(i));\r\n }\r\n const frms = props.frames || [defFrame];\r\n const frames = new Frames(frms, config);\r\n frames.page = this;\r\n this.set('frames', frames);\r\n const um = em && em.get('UndoManager');\r\n um && um.add(frames);\r\n }\r\n\r\n onRemove() {\r\n this.get('frames').reset();\r\n }\r\n\r\n getFrames() {\r\n return this.get('frames');\r\n }\r\n\r\n /**\r\n * Get page id\r\n * @returns {String}\r\n */\r\n getId() {\r\n return this.id;\r\n }\r\n\r\n /**\r\n * Get page name\r\n * @returns {String}\r\n */\r\n getName() {\r\n return this.get('name');\r\n }\r\n\r\n /**\r\n * Update page name\r\n * @param {String} name New page name\r\n * @example\r\n * page.setName('New name');\r\n */\r\n setName(name) {\r\n return this.get({ name });\r\n }\r\n\r\n /**\r\n * Get all frames\r\n * @returns {Array}\r\n * @example\r\n * const arrayOfFrames = page.getAllFrames();\r\n */\r\n getAllFrames() {\r\n return this.getFrames().models || [];\r\n }\r\n\r\n /**\r\n * Get the first frame of the page (identified always as the main one)\r\n * @returns {Frame}\r\n * @example\r\n * const mainFrame = page.getMainFrame();\r\n */\r\n getMainFrame() {\r\n return this.getFrames().at(0);\r\n }\r\n\r\n /**\r\n * Get the root component (usually is the `wrapper` component) from the main frame\r\n * @returns {Component}\r\n * @example\r\n * const rootComponent = page.getMainComponent();\r\n * console.log(rootComponent.toHTML());\r\n */\r\n getMainComponent() {\r\n const frame = this.getMainFrame();\r\n return frame && frame.getComponent();\r\n }\r\n\r\n toJSON(opts = {}) {\r\n const obj = Model.prototype.toJSON.call(this, opts);\r\n const defaults = result(this, 'defaults');\r\n\r\n // Remove private keys\r\n forEach(obj, (value, key) => {\r\n key.indexOf('_') === 0 && delete obj[key];\r\n });\r\n\r\n forEach(defaults, (value, key) => {\r\n if (obj[key] === value) delete obj[key];\r\n });\r\n\r\n return obj;\r\n }\r\n}\r\n","import { Collection } from '../../common';\r\nimport Page from './Page';\r\n\r\nexport default class Pages extends Collection {\r\n initialize(models, config = {}) {\r\n this.config = config;\r\n this.on('reset', this.onReset);\r\n this.on('remove', this.onRemove);\r\n }\r\n\r\n onReset(m, opts = {}) {\r\n const prev = opts.previousModels || [];\r\n prev.map(p => this.onRemove(p));\r\n }\r\n\r\n onRemove(removed) {\r\n removed && removed.onRemove();\r\n }\r\n\r\n add(m, o = {}) {\r\n const { config } = this;\r\n return Collection.prototype.add.call(this, m, { ...o, config });\r\n }\r\n}\r\n\r\nPages.prototype.model = Page;\r\n","/**\r\n * You can customize the initial state of the module from the editor initialization\r\n * ```js\r\n * const editor = grapesjs.init({\r\n * ....\r\n * pageManager: {\r\n * pages: [\r\n * {\r\n * id: 'page-id',\r\n * styles: `.my-class { color: red }`, // or a JSON of styles\r\n * component: '
My element
', // or a JSON of components\r\n * }\r\n * ]\r\n * },\r\n * })\r\n * ```\r\n *\r\n * Once the editor is instantiated you can use its API. Before using these methods you should get the module from the instance\r\n *\r\n * ```js\r\n * const pageManager = editor.Pages;\r\n * ```\r\n *\r\n * ## Available Events\r\n * * `page:add` - Added new page. The page is passed as an argument to the callback\r\n * * `page:remove` - Page removed. The page is passed as an argument to the callback\r\n * * `page:select` - New page selected. The newly selected page and the previous one, are passed as arguments to the callback\r\n * * `page:update` - Page updated. The updated page and the object containing changes are passed as arguments to the callback\r\n * * `page` - Catch-all event for all the events mentioned above. An object containing all the available data about the triggered event is passed as an argument to the callback\r\n *\r\n * ## Methods\r\n * * [add](#add)\r\n * * [get](#get)\r\n * * [getAll](#getall)\r\n * * [getAllWrappers](#getallwrappers)\r\n * * [getMain](#getmain)\r\n * * [remove](#remove)\r\n * * [select](#select)\r\n * * [getSelected](#getselected)\r\n *\r\n * [Page]: page.html\r\n * [Component]: component.html\r\n *\r\n * @module Pages\r\n */\r\n\r\nimport { isString, bindAll, unique, flatten } from 'underscore';\r\nimport { createId } from '../utils/mixins';\r\nimport { Model, Module } from '../common';\r\nimport Pages from './model/Pages';\r\nimport Page from './model/Page';\r\n\r\nexport const evAll = 'page';\r\nexport const evPfx = `${evAll}:`;\r\nexport const evPageSelect = `${evPfx}select`;\r\nexport const evPageSelectBefore = `${evPageSelect}:before`;\r\nexport const evPageUpdate = `${evPfx}update`;\r\nexport const evPageAdd = `${evPfx}add`;\r\nexport const evPageAddBefore = `${evPageAdd}:before`;\r\nexport const evPageRemove = `${evPfx}remove`;\r\nexport const evPageRemoveBefore = `${evPageRemove}:before`;\r\nconst chnSel = 'change:selected';\r\nconst typeMain = 'main';\r\n\r\nexport default () => {\r\n return {\r\n ...Module,\r\n\r\n name: 'PageManager',\r\n\r\n storageKey: 'pages',\r\n\r\n Page,\r\n\r\n Pages,\r\n\r\n events: {\r\n all: evAll,\r\n select: evPageSelect,\r\n selectBefore: evPageSelectBefore,\r\n update: evPageUpdate,\r\n add: evPageAdd,\r\n addBefore: evPageAddBefore,\r\n remove: evPageRemove,\r\n removeBefore: evPageRemoveBefore,\r\n },\r\n\r\n /**\r\n * Initialize module\r\n * @param {Object} config Configurations\r\n * @private\r\n */\r\n init(opts = {}) {\r\n bindAll(this, '_onPageChange');\r\n const { em } = opts;\r\n const cnf = { ...opts };\r\n this.config = cnf;\r\n this.em = em;\r\n const pages = new Pages([], cnf);\r\n this.pages = pages;\r\n this.all = pages;\r\n const model = new Model({ _undo: true });\r\n this.model = model;\r\n pages.on('add', (p, c, o) => em.trigger(evPageAdd, p, o));\r\n pages.on('remove', (p, c, o) => em.trigger(evPageRemove, p, o));\r\n pages.on('change', (p, c) => {\r\n em.trigger(evPageUpdate, p, p.changedAttributes(), c);\r\n });\r\n pages.on('reset', coll => coll.at(0) && this.select(coll.at(0)));\r\n pages.on('all', this.__onChange, this);\r\n model.on(chnSel, this._onPageChange);\r\n\r\n return this;\r\n },\r\n\r\n __onChange(event, page, coll, opts) {\r\n const options = opts || coll;\r\n this.em.trigger(evAll, { event, page, options });\r\n },\r\n\r\n onLoad() {\r\n const { pages } = this;\r\n const opt = { silent: true };\r\n pages.add(this.config.pages || [], opt);\r\n const mainPage = !pages.length ? this.add({ type: typeMain }, opt) : this.getMain();\r\n this.select(mainPage, opt);\r\n },\r\n\r\n _onPageChange(m, page, opts) {\r\n const { em } = this;\r\n const lm = em.get('LayerManager');\r\n const mainComp = page.getMainComponent();\r\n lm && mainComp && lm.setRoot(mainComp);\r\n em.trigger(evPageSelect, page, m.previous('selected'));\r\n this.__onChange(chnSel, page, opts);\r\n },\r\n\r\n postLoad() {\r\n const { em, model } = this;\r\n const um = em.get('UndoManager');\r\n um && um.add(model);\r\n um && um.add(this.pages);\r\n },\r\n\r\n /**\r\n * Add new page\r\n * @param {Object} props Page properties\r\n * @param {Object} [opts] Options\r\n * @returns {[Page]}\r\n * @example\r\n * const newPage = pageManager.add({\r\n * id: 'new-page-id', // without an explicit ID, a random one will be created\r\n * styles: `.my-class { color: red }`, // or a JSON of styles\r\n * component: '
My element
', // or a JSON of components\r\n * });\r\n */\r\n add(props, opts = {}) {\r\n const { em } = this;\r\n props.id = props.id || this._createId();\r\n const add = () => {\r\n const page = this.pages.add(props, opts);\r\n opts.select && this.select(page);\r\n return page;\r\n };\r\n !opts.silent && em.trigger(evPageAddBefore, props, add, opts);\r\n return !opts.abort && add();\r\n },\r\n\r\n /**\r\n * Remove page\r\n * @param {String|[Page]} page Page or page id\r\n * @returns {[Page]} Removed Page\r\n * @example\r\n * const removedPage = pageManager.remove('page-id');\r\n * // or by passing the page\r\n * const somePage = pageManager.get('page-id');\r\n * pageManager.remove(somePage);\r\n */\r\n remove(page, opts = {}) {\r\n const { em } = this;\r\n const pg = isString(page) ? this.get(page) : page;\r\n const rm = () => {\r\n pg && this.pages.remove(pg, opts);\r\n return pg;\r\n };\r\n !opts.silent && em.trigger(evPageRemoveBefore, pg, rm, opts);\r\n return !opts.abort && rm();\r\n },\r\n\r\n /**\r\n * Get page by id\r\n * @param {String} id Page id\r\n * @returns {[Page]}\r\n * @example\r\n * const somePage = pageManager.get('page-id');\r\n */\r\n get(id) {\r\n return this.pages.filter(p => p.get('id') === id)[0];\r\n },\r\n\r\n /**\r\n * Get main page (the first one available)\r\n * @returns {[Page]}\r\n * @example\r\n * const mainPage = pageManager.getMain();\r\n */\r\n getMain() {\r\n const { pages } = this;\r\n return pages.filter(p => p.get('type') === typeMain)[0] || pages.at(0);\r\n },\r\n\r\n /**\r\n * Get all pages\r\n * @returns {Array<[Page]>}\r\n * @example\r\n * const arrayOfPages = pageManager.getAll();\r\n */\r\n getAll() {\r\n return [...this.pages.models];\r\n },\r\n\r\n /**\r\n * Get wrapper components (aka body) from all pages and frames.\r\n * @returns {Array<[Component]>}\r\n * @example\r\n * const wrappers = pageManager.getAllWrappers();\r\n * // Get all `image` components from the project\r\n * const allImages = wrappers.map(wrp => wrp.findType('image')).flat();\r\n */\r\n getAllWrappers() {\r\n const pages = this.getAll();\r\n return unique(flatten(pages.map(page => page.getAllFrames().map(frame => frame.getComponent()))));\r\n },\r\n\r\n getAllMap() {\r\n return this.getAll().reduce((acc, i) => {\r\n acc[i.get('id')] = i;\r\n return acc;\r\n }, {});\r\n },\r\n\r\n /**\r\n * Change the selected page. This will switch the page rendered in canvas\r\n * @param {String|[Page]} page Page or page id\r\n * @returns {this}\r\n * @example\r\n * pageManager.select('page-id');\r\n * // or by passing the page\r\n * const somePage = pageManager.get('page-id');\r\n * pageManager.select(somePage);\r\n */\r\n select(page, opts = {}) {\r\n const pg = isString(page) ? this.get(page) : page;\r\n if (pg) {\r\n this.em.trigger(evPageSelectBefore, pg, opts);\r\n this.model.set('selected', pg, opts);\r\n }\r\n return this;\r\n },\r\n\r\n /**\r\n * Get the selected page\r\n * @returns {[Page]}\r\n * @example\r\n * const selectedPage = pageManager.getSelected();\r\n */\r\n getSelected() {\r\n return this.model.get('selected');\r\n },\r\n\r\n destroy() {\r\n this.pages.off().reset();\r\n this.model.stopListening();\r\n this.model.clear({ silent: true });\r\n ['selected', 'config', 'em', 'pages', 'model'].map(i => (this[i] = 0));\r\n },\r\n\r\n store() {\r\n return this.getProjectData();\r\n },\r\n\r\n load(data) {\r\n return this.loadProjectData(data, { all: this.pages, reset: true });\r\n },\r\n\r\n _createId() {\r\n const pages = this.getAll();\r\n const len = pages.length + 16;\r\n const pagesMap = this.getAllMap();\r\n let id;\r\n\r\n do {\r\n id = createId(len);\r\n } while (pagesMap[id]);\r\n\r\n return id;\r\n },\r\n };\r\n};\r\n","const swv = 'sw-visibility';\r\nconst expt = 'export-template';\r\nconst osm = 'open-sm';\r\nconst otm = 'open-tm';\r\nconst ola = 'open-layers';\r\nconst obl = 'open-blocks';\r\nconst ful = 'fullscreen';\r\nconst prv = 'preview';\r\n\r\nexport default {\r\n stylePrefix: 'pn-',\r\n\r\n // Default panels fa-sliders for features\r\n defaults: [\r\n {\r\n id: 'commands',\r\n buttons: [{}]\r\n },\r\n {\r\n id: 'options',\r\n buttons: [\r\n {\r\n active: true,\r\n id: swv,\r\n className: 'fa fa-square-o',\r\n command: swv,\r\n context: swv,\r\n attributes: { title: 'View components' }\r\n },\r\n {\r\n id: prv,\r\n className: 'fa fa-eye',\r\n command: prv,\r\n context: prv,\r\n attributes: { title: 'Preview' }\r\n },\r\n {\r\n id: ful,\r\n className: 'fa fa-arrows-alt',\r\n command: ful,\r\n context: ful,\r\n attributes: { title: 'Fullscreen' }\r\n },\r\n {\r\n id: expt,\r\n className: 'fa fa-code',\r\n command: expt,\r\n attributes: { title: 'View code' }\r\n }\r\n ]\r\n },\r\n {\r\n id: 'views',\r\n buttons: [\r\n {\r\n id: osm,\r\n className: 'fa fa-paint-brush',\r\n command: osm,\r\n active: true,\r\n togglable: 0,\r\n attributes: { title: 'Open Style Manager' }\r\n },\r\n {\r\n id: otm,\r\n className: 'fa fa-cog',\r\n command: otm,\r\n togglable: 0,\r\n attributes: { title: 'Settings' }\r\n },\r\n {\r\n id: ola,\r\n className: 'fa fa-bars',\r\n command: ola,\r\n togglable: 0,\r\n attributes: { title: 'Open Layer Manager' }\r\n },\r\n {\r\n id: obl,\r\n className: 'fa fa-th-large',\r\n command: obl,\r\n togglable: 0,\r\n attributes: { title: 'Open Blocks' }\r\n }\r\n ]\r\n }\r\n ],\r\n\r\n // Editor model\r\n em: null,\r\n\r\n // Delay before show children buttons (in milliseconds)\r\n delayBtnsShow: 300\r\n};\r\n","import { Model } from '../../common';\r\nimport Buttons from './Buttons';\r\n\r\nexport default class Panel extends Model {\r\n defaults() {\r\n return {\r\n id: '',\r\n content: '',\r\n visible: true,\r\n buttons: [],\r\n attributes: {},\r\n };\r\n }\r\n\r\n initialize(options) {\r\n this.btn = this.get('buttons') || [];\r\n this.buttons = new Buttons(this.btn);\r\n this.set('buttons', this.buttons);\r\n }\r\n}\r\n","import { Collection } from '../../common';\r\nimport Panel from './Panel';\r\n\r\nexport default class Panels extends Collection {}\r\n\r\nPanels.prototype.model = Panel;\r\n","import { isString, isObject, isFunction } from 'underscore';\r\nimport { View } from '../../common';\r\n\r\nexport default class ButtonView extends View {\r\n tagName() {\r\n return this.model.get('tagName');\r\n }\r\n\r\n events() {\r\n return {\r\n click: 'clicked',\r\n };\r\n }\r\n\r\n initialize(o) {\r\n const { model } = this;\r\n const cls = model.get('className');\r\n const { command, listen } = model.attributes;\r\n const config = o.config || {};\r\n const { em } = config;\r\n this.config = config;\r\n this.em = em;\r\n const pfx = this.config.stylePrefix || '';\r\n const ppfx = this.config.pStylePrefix || '';\r\n this.pfx = pfx;\r\n this.ppfx = this.config.pStylePrefix || '';\r\n this.id = pfx + model.get('id');\r\n this.activeCls = `${pfx}active ${ppfx}four-color`;\r\n this.disableCls = `${ppfx}disabled`;\r\n this.btnsVisCls = `${pfx}visible`;\r\n this.className = pfx + 'btn' + (cls ? ' ' + cls : '');\r\n this.listenTo(model, 'change', this.render);\r\n this.listenTo(model, 'change:active updateActive', this.updateActive);\r\n this.listenTo(model, 'checkActive', this.checkActive);\r\n this.listenTo(model, 'change:bntsVis', this.updateBtnsVis);\r\n this.listenTo(model, 'change:attributes', this.updateAttributes);\r\n this.listenTo(model, 'change:className', this.updateClassName);\r\n this.listenTo(model, 'change:disable', this.updateDisable);\r\n\r\n if (em && isString(command) && listen) {\r\n const chnOpt = { fromListen: 1 };\r\n this.listenTo(em, `run:${command}`, () => model.set('active', true, chnOpt));\r\n this.listenTo(em, `stop:${command}`, () => model.set('active', false, chnOpt));\r\n }\r\n\r\n if (em && em.get) this.commands = em.get('Commands');\r\n }\r\n\r\n /**\r\n * Updates class name of the button\r\n *\r\n * @return void\r\n * */\r\n updateClassName() {\r\n const { model, pfx } = this;\r\n const cls = model.get('className');\r\n const attrCls = model.get('attributes').class;\r\n const classStr = `${attrCls ? attrCls : ''} ${pfx}btn ${cls ? cls : ''}`;\r\n this.$el.attr('class', classStr.trim());\r\n }\r\n\r\n /**\r\n * Updates attributes of the button\r\n *\r\n * @return void\r\n * */\r\n updateAttributes() {\r\n const { em, model, $el } = this;\r\n const attr = model.get('attributes') || {};\r\n const title = em && em.t && em.t(`panels.buttons.titles.${model.id}`);\r\n $el.attr(attr);\r\n title && $el.attr({ title });\r\n\r\n this.updateClassName();\r\n }\r\n\r\n /**\r\n * Updates visibility of children buttons\r\n *\r\n * @return void\r\n * */\r\n updateBtnsVis() {\r\n if (!this.$buttons) return;\r\n\r\n if (this.model.get('bntsVis')) this.$buttons.addClass(this.btnsVisCls);\r\n else this.$buttons.removeClass(this.btnsVisCls);\r\n }\r\n\r\n /**\r\n * Update active status of the button\r\n *\r\n * @return void\r\n * */\r\n updateActive(m, v, opts = {}) {\r\n const { model, commands, $el, activeCls } = this;\r\n const { fromCollection, fromListen } = opts;\r\n const context = model.get('context');\r\n const options = model.get('options');\r\n const commandName = model.get('command');\r\n let command = {};\r\n\r\n if (!commandName) return;\r\n\r\n if (commands && isString(commandName)) {\r\n command = commands.get(commandName) || {};\r\n } else if (isFunction(commandName)) {\r\n command = commands.create({ run: commandName });\r\n } else if (commandName !== null && isObject(commandName)) {\r\n command = commands.create(commandName);\r\n }\r\n\r\n if (model.get('active')) {\r\n !fromCollection && model.collection.deactivateAll(context, model);\r\n model.set('active', true, { silent: true }).trigger('checkActive');\r\n !fromListen && commands.runCommand(command, { ...options, sender: model });\r\n\r\n // Disable button if the command has no stop method\r\n command.noStop && model.set('active', false);\r\n } else {\r\n $el.removeClass(activeCls);\r\n !fromListen && commands.stopCommand(command, { ...options, sender: model, force: 1 });\r\n }\r\n }\r\n\r\n updateDisable() {\r\n const { disableCls, model } = this;\r\n const disable = model.get('disable');\r\n this.$el[disable ? 'addClass' : 'removeClass'](disableCls);\r\n }\r\n\r\n /**\r\n * Update active style status\r\n *\r\n * @return void\r\n * */\r\n checkActive() {\r\n const { model, $el, activeCls } = this;\r\n model.get('active') ? $el.addClass(activeCls) : $el.removeClass(activeCls);\r\n }\r\n\r\n /**\r\n * Triggered when button is clicked\r\n * @param {Object} e Event\r\n *\r\n * @return void\r\n * */\r\n clicked(e) {\r\n const { model } = this;\r\n\r\n if (model.get('bntsVis') || model.get('disable') || !model.get('command')) return;\r\n\r\n this.toggleActive();\r\n }\r\n\r\n toggleActive() {\r\n const { model, em } = this;\r\n const { active, togglable } = model.attributes;\r\n\r\n if (active && !togglable) return;\r\n\r\n model.set('active', !active);\r\n\r\n // If the stop is requested\r\n if (active) {\r\n if (model.get('runDefaultCommand')) em.runDefault();\r\n } else {\r\n if (model.get('stopDefaultCommand')) em.stopDefault();\r\n }\r\n }\r\n\r\n render() {\r\n const { model } = this;\r\n const label = model.get('label');\r\n const { $el } = this;\r\n !model.get('el') && $el.empty();\r\n this.updateAttributes();\r\n label && $el.append(label);\r\n this.checkActive();\r\n this.updateDisable();\r\n\r\n return this;\r\n }\r\n}\r\n","import { result } from 'underscore';\r\nimport { View } from '../../common';\r\nimport ButtonView from './ButtonView';\r\n\r\nexport default class ButtonsView extends View {\r\n initialize(o) {\r\n this.opt = o || {};\r\n this.config = this.opt.config || {};\r\n this.pfx = this.config.stylePrefix || '';\r\n this.parentM = this.opt.parentM || null;\r\n this.listenTo(this.collection, 'add', this.addTo);\r\n this.listenTo(this.collection, 'reset remove', this.render);\r\n this.className = this.pfx + 'buttons';\r\n }\r\n\r\n /**\r\n * Add to collection\r\n * @param Object Model\r\n *\r\n * @return Object\r\n * */\r\n addTo(model) {\r\n this.addToCollection(model);\r\n }\r\n\r\n /**\r\n * Add new object to collection\r\n * @param Object Model\r\n * @param Object Fragment collection\r\n *\r\n * @return Object Object created\r\n * */\r\n addToCollection(model, fragmentEl) {\r\n const fragment = fragmentEl || null;\r\n const viewObject = ButtonView;\r\n const el = model.get('el');\r\n const view = new viewObject({\r\n el,\r\n model,\r\n config: this.config,\r\n parentM: this.parentM,\r\n });\r\n const rendered = view.render().el;\r\n\r\n if (fragment) {\r\n fragment.appendChild(rendered);\r\n } else {\r\n this.$el.append(rendered);\r\n }\r\n\r\n return rendered;\r\n }\r\n\r\n render() {\r\n var fragment = document.createDocumentFragment();\r\n this.$el.empty();\r\n\r\n this.collection.each(function (model) {\r\n this.addToCollection(model, fragment);\r\n }, this);\r\n\r\n this.$el.append(fragment);\r\n this.$el.attr('class', result(this, 'className'));\r\n return this;\r\n }\r\n}\r\n","import { View } from '../../common';\r\nimport ButtonsView from './ButtonsView';\r\n\r\nexport default class PanelView extends View {\r\n initialize(o) {\r\n const config = o.config || {};\r\n const model = this.model;\r\n this.config = config;\r\n this.pfx = config.stylePrefix || '';\r\n this.ppfx = config.pStylePrefix || '';\r\n this.buttons = model.get('buttons');\r\n this.className = this.pfx + 'panel';\r\n this.id = this.pfx + model.get('id');\r\n this.listenTo(model, 'change:appendContent', this.appendContent);\r\n this.listenTo(model, 'change:content', this.updateContent);\r\n this.listenTo(model, 'change:visible', this.toggleVisible);\r\n model.view = this;\r\n }\r\n\r\n /**\r\n * Append content of the panel\r\n * */\r\n appendContent() {\r\n this.$el.append(this.model.get('appendContent'));\r\n }\r\n\r\n /**\r\n * Update content\r\n * */\r\n updateContent() {\r\n this.$el.html(this.model.get('content'));\r\n }\r\n\r\n toggleVisible() {\r\n if (!this.model.get('visible')) {\r\n this.$el.addClass(`${this.ppfx}hidden`);\r\n return;\r\n }\r\n this.$el.removeClass(`${this.ppfx}hidden`);\r\n }\r\n\r\n attributes() {\r\n return this.model.get('attributes');\r\n }\r\n\r\n initResize() {\r\n const em = this.config.em;\r\n const editor = em ? em.get('Editor') : '';\r\n const resizable = this.model.get('resizable');\r\n\r\n if (editor && resizable) {\r\n var resz = resizable === true ? [1, 1, 1, 1] : resizable;\r\n var resLen = resz.length;\r\n var tc,\r\n cr,\r\n bc,\r\n cl = 0;\r\n\r\n // Choose which sides of the panel are resizable\r\n if (resLen == 2) {\r\n tc = resz[0];\r\n bc = resz[0];\r\n cr = resz[1];\r\n cl = resz[1];\r\n } else if (resLen == 4) {\r\n tc = resz[0];\r\n cr = resz[1];\r\n bc = resz[2];\r\n cl = resz[3];\r\n }\r\n\r\n var resizer = editor.Utils.Resizer.init({\r\n tc,\r\n cr,\r\n bc,\r\n cl,\r\n tl: 0,\r\n tr: 0,\r\n bl: 0,\r\n br: 0,\r\n appendTo: this.el,\r\n silentFrames: 1,\r\n avoidContainerUpdate: 1,\r\n prefix: editor.getConfig().stylePrefix,\r\n onEnd() {\r\n em && em.trigger('change:canvasOffset');\r\n },\r\n posFetcher: (el, { target }) => {\r\n const style = el.style;\r\n const config = resizer.getConfig();\r\n const keyWidth = config.keyWidth;\r\n const keyHeight = config.keyHeight;\r\n const rect = el.getBoundingClientRect();\r\n const forContainer = target == 'container';\r\n const styleWidth = style[keyWidth];\r\n const styleHeight = style[keyHeight];\r\n const width = styleWidth && !forContainer ? parseFloat(styleWidth) : rect.width;\r\n const height = styleHeight && !forContainer ? parseFloat(styleHeight) : rect.height;\r\n return {\r\n left: 0,\r\n top: 0,\r\n width,\r\n height,\r\n };\r\n },\r\n ...resizable,\r\n });\r\n resizer.blur = () => {};\r\n resizer.focus(this.el);\r\n }\r\n }\r\n\r\n render() {\r\n const $el = this.$el;\r\n const ppfx = this.ppfx;\r\n const cls = `${this.className} ${this.id} ${ppfx}one-bg ${ppfx}two-color`;\r\n $el.addClass(cls);\r\n\r\n this.toggleVisible();\r\n\r\n if (this.buttons.length) {\r\n var buttons = new ButtonsView({\r\n collection: this.buttons,\r\n config: this.config,\r\n });\r\n $el.append(buttons.render().el);\r\n }\r\n\r\n $el.append(this.model.get('content'));\r\n return this;\r\n }\r\n}\r\n","import { View } from '../../common';\r\nimport PanelView from './PanelView';\r\n\r\nexport default class PanelsView extends View {\r\n initialize(o) {\r\n this.opt = o || {};\r\n this.config = this.opt.config || {};\r\n this.pfx = this.config.stylePrefix || '';\r\n const items = this.collection;\r\n this.listenTo(items, 'add', this.addTo);\r\n this.listenTo(items, 'reset', this.render);\r\n this.listenTo(items, 'remove', this.onRemove);\r\n this.className = this.pfx + 'panels';\r\n }\r\n\r\n onRemove(model) {\r\n const view = model.view;\r\n view && view.remove();\r\n }\r\n\r\n /**\r\n * Add to collection\r\n * @param Object Model\r\n *\r\n * @return Object\r\n * @private\r\n * */\r\n addTo(model) {\r\n this.addToCollection(model);\r\n }\r\n\r\n /**\r\n * Add new object to collection\r\n * @param Object Model\r\n * @param Object Fragment collection\r\n * @param integer Index of append\r\n *\r\n * @return Object Object created\r\n * @private\r\n * */\r\n addToCollection(model, fragmentEl) {\r\n const fragment = fragmentEl || null;\r\n const config = this.config;\r\n const el = model.get('el');\r\n const view = new PanelView({\r\n el,\r\n model,\r\n config,\r\n });\r\n const rendered = view.render().el;\r\n const appendTo = model.get('appendTo');\r\n\r\n // Do nothing if the panel was requested to be another element\r\n if (el) {\r\n } else if (appendTo) {\r\n var appendEl = document.querySelector(appendTo);\r\n appendEl.appendChild(rendered);\r\n } else {\r\n if (fragment) {\r\n fragment.appendChild(rendered);\r\n } else {\r\n this.$el.append(rendered);\r\n }\r\n }\r\n\r\n view.initResize();\r\n return rendered;\r\n }\r\n\r\n render() {\r\n const $el = this.$el;\r\n const frag = document.createDocumentFragment();\r\n $el.empty();\r\n this.collection.each(model => this.addToCollection(model, frag));\r\n $el.append(frag);\r\n $el.attr('class', this.className);\r\n return this;\r\n }\r\n}\r\n","/**\r\n * You can customize the initial state of the module from the editor initialization, by passing the following [Configuration Object](https://github.com/artf/grapesjs/blob/master/src/panels/config/config.js)\r\n * ```js\r\n * const editor = grapesjs.init({\r\n * panels: {\r\n * // options\r\n * }\r\n * })\r\n * ```\r\n *\r\n * Once the editor is instantiated you can use its API. Before using these methods you should get the module from the instance\r\n *\r\n * ```js\r\n * const panelManager = editor.Panels;\r\n * ```\r\n *\r\n * * [addPanel](#addpanel)\r\n * * [addButton](#addbutton)\r\n * * [getButton](#getbutton)\r\n * * [getPanel](#getpanel)\r\n * * [getPanels](#getpanels)\r\n * * [getPanelsEl](#getpanelsel)\r\n * * [removePanel](#removepanel)\r\n * * [removeButton](#removebutton)\r\n *\r\n * @module Panels\r\n */\r\nimport defaults from './config/config';\r\nimport Panel from './model/Panel';\r\nimport Panels from './model/Panels';\r\nimport PanelsView from './view/PanelsView';\r\n\r\nexport default () => {\r\n var c = {};\r\n var panels, PanelsViewObj;\r\n\r\n return {\r\n /**\r\n * Name of the module\r\n * @type {String}\r\n * @private\r\n */\r\n name: 'Panels',\r\n\r\n /**\r\n * Initialize module. Automatically called with a new instance of the editor\r\n * @param {Object} config Configurations\r\n * @private\r\n */\r\n init(config) {\r\n c = config || {};\r\n for (var name in defaults) {\r\n if (!(name in c)) c[name] = defaults[name];\r\n }\r\n\r\n var ppfx = c.pStylePrefix;\r\n if (ppfx) c.stylePrefix = ppfx + c.stylePrefix;\r\n\r\n panels = new Panels(c.defaults);\r\n return this;\r\n },\r\n\r\n /**\r\n * Returns the collection of panels\r\n * @return {Collection} Collection of panel\r\n */\r\n getPanels() {\r\n return panels;\r\n },\r\n\r\n /**\r\n * Returns panels element\r\n * @return {HTMLElement}\r\n */\r\n getPanelsEl() {\r\n return PanelsViewObj && PanelsViewObj.el;\r\n },\r\n\r\n /**\r\n * Add new panel to the collection\r\n * @param {Object|Panel} panel Object with right properties or an instance of Panel\r\n * @return {Panel} Added panel. Useful in case passed argument was an Object\r\n * @example\r\n * var newPanel = panelManager.addPanel({\r\n * id: 'myNewPanel',\r\n * visible : true,\r\n * buttons : [...],\r\n * });\r\n */\r\n addPanel(panel) {\r\n return panels.add(panel);\r\n },\r\n\r\n /**\r\n * Remove a panel from the collection\r\n * @param {Object|Panel|String} panel Object with right properties or an instance of Panel or Painel id\r\n * @return {Panel} Removed panel. Useful in case passed argument was an Object\r\n * @example\r\n * const newPanel = panelManager.removePanel({\r\n * id: 'myNewPanel',\r\n * visible : true,\r\n * buttons : [...],\r\n * });\r\n *\r\n * const newPanel = panelManager.removePanel('myNewPanel');\r\n *\r\n */\r\n removePanel(panel) {\r\n return panels.remove(panel);\r\n },\r\n\r\n /**\r\n * Get panel by ID\r\n * @param {string} id Id string\r\n * @return {Panel|null}\r\n * @example\r\n * var myPanel = panelManager.getPanel('myNewPanel');\r\n */\r\n getPanel(id) {\r\n var res = panels.where({ id });\r\n return res.length ? res[0] : null;\r\n },\r\n\r\n /**\r\n * Add button to the panel\r\n * @param {string} panelId Panel's ID\r\n * @param {Object|Button} button Button object or instance of Button\r\n * @return {Button|null} Added button. Useful in case passed button was an Object\r\n * @example\r\n * var newButton = panelManager.addButton('myNewPanel',{\r\n * id: 'myNewButton',\r\n * className: 'someClass',\r\n * command: 'someCommand',\r\n * attributes: { title: 'Some title'},\r\n * active: false,\r\n * });\r\n * // It's also possible to pass the command as an object\r\n * // with .run and .stop methods\r\n * ...\r\n * command: {\r\n * run: function(editor) {\r\n * ...\r\n * },\r\n * stop: function(editor) {\r\n * ...\r\n * }\r\n * },\r\n * // Or simply like a function which will be evaluated as a single .run command\r\n * ...\r\n * command: function(editor) {\r\n * ...\r\n * }\r\n */\r\n addButton(panelId, button) {\r\n var pn = this.getPanel(panelId);\r\n return pn ? pn.get('buttons').add(button) : null;\r\n },\r\n\r\n /**\r\n * Remove button from the panel\r\n * @param {String} panelId Panel's ID\r\n * @param {String} buttonId Button's ID\r\n * @return {Button|null} Removed button.\r\n * @example\r\n * const removedButton = panelManager.addButton('myNewPanel',{\r\n * id: 'myNewButton',\r\n * className: 'someClass',\r\n * command: 'someCommand',\r\n * attributes: { title: 'Some title'},\r\n * active: false,\r\n * });\r\n *\r\n * const removedButton = panelManager.removeButton('myNewPanel', 'myNewButton');\r\n *\r\n */\r\n removeButton(panelId, button) {\r\n var pn = this.getPanel(panelId);\r\n return pn && pn.get('buttons').remove(button);\r\n },\r\n\r\n /**\r\n * Get button from the panel\r\n * @param {string} panelId Panel's ID\r\n * @param {string} id Button's ID\r\n * @return {Button|null}\r\n * @example\r\n * var button = panelManager.getButton('myPanel','myButton');\r\n */\r\n getButton(panelId, id) {\r\n var pn = this.getPanel(panelId);\r\n if (pn) {\r\n var res = pn.get('buttons').where({ id });\r\n return res.length ? res[0] : null;\r\n }\r\n return null;\r\n },\r\n\r\n /**\r\n * Render panels and buttons\r\n * @return {HTMLElement}\r\n * @private\r\n */\r\n render() {\r\n PanelsViewObj && PanelsViewObj.remove();\r\n PanelsViewObj = new PanelsView({\r\n collection: panels,\r\n config: c\r\n });\r\n return PanelsViewObj.render().el;\r\n },\r\n\r\n /**\r\n * Active activable buttons\r\n * @private\r\n */\r\n active() {\r\n this.getPanels().each(p => {\r\n p.get('buttons').each(btn => {\r\n btn.get('active') && btn.trigger('updateActive');\r\n });\r\n });\r\n },\r\n\r\n /**\r\n * Disable buttons flagged as disabled\r\n * @private\r\n */\r\n disableButtons() {\r\n this.getPanels().each(p => {\r\n p.get('buttons').each(btn => {\r\n if (btn.get('disable')) btn.trigger('change:disable');\r\n });\r\n });\r\n },\r\n\r\n destroy() {\r\n panels.reset();\r\n panels.stopListening();\r\n PanelsViewObj && PanelsViewObj.remove();\r\n [c, panels, PanelsViewObj].forEach(i => (i = {}));\r\n },\r\n\r\n Panel\r\n };\r\n};\r\n","import { Model } from '../../common';\r\n\r\nexport default class Button extends Model {\r\n defaults() {\r\n return {\r\n id: '',\r\n label: '',\r\n tagName: 'span',\r\n className: '',\r\n command: '',\r\n context: '',\r\n buttons: [],\r\n attributes: {},\r\n options: {},\r\n active: false,\r\n dragDrop: false,\r\n togglable: true,\r\n runDefaultCommand: true,\r\n stopDefaultCommand: false,\r\n disable: false,\r\n };\r\n }\r\n\r\n initialize(options) {\r\n if (this.get('buttons').length) {\r\n var Buttons = require('./Buttons').default;\r\n this.set('buttons', new Buttons(this.get('buttons')));\r\n }\r\n }\r\n}\r\n","import { Collection } from '../../common';\r\nimport Button from './Button';\r\n\r\nexport default class Buttons extends Collection {\r\n /**\r\n * Deactivate all buttons, except one passed\r\n * @param {Object} except Model to ignore\r\n * @param {Boolean} r Recursive flag\r\n *\r\n * @return void\r\n * */\r\n deactivateAllExceptOne(except, r) {\r\n this.forEach((model, index) => {\r\n if (model !== except) {\r\n model.set('active', false);\r\n if (r && model.get('buttons').length) model.get('buttons').deactivateAllExceptOne(except, r);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Deactivate all buttons\r\n * @param {String} ctx Context string\r\n *\r\n * @return void\r\n * */\r\n deactivateAll(ctx, sender) {\r\n const context = ctx || '';\r\n this.forEach(model => {\r\n if (model.get('context') == context && model !== sender) {\r\n model.set('active', false, { fromCollection: 1 });\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Disables all buttons\r\n * @param {String} ctx Context string\r\n *\r\n * @return void\r\n * */\r\n disableAllButtons(ctx) {\r\n var context = ctx || '';\r\n this.forEach((model, index) => {\r\n if (model.get('context') == context) {\r\n model.set('disable', true);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Disables all buttons, except one passed\r\n * @param {Object} except Model to ignore\r\n * @param {Boolean} r Recursive flag\r\n *\r\n * @return void\r\n * */\r\n disableAllButtonsExceptOne(except, r) {\r\n this.forEach((model, index) => {\r\n if (model !== except) {\r\n model.set('disable', true);\r\n if (r && model.get('buttons').length) model.get('buttons').disableAllButtonsExceptOne(except, r);\r\n }\r\n });\r\n }\r\n}\r\n\r\nButtons.prototype.model = Button;\r\n","export default {\r\n textTags: ['br', 'b', 'i', 'u', 'a', 'ul', 'ol'],\r\n\r\n // Custom CSS parser\r\n // @see https://grapesjs.com/docs/guides/Custom-CSS-parser.html\r\n parserCss: null,\r\n\r\n // Custom HTML parser\r\n // At the moment, the custom HTML parser should rely on DOM Node instance as the result\r\n // @example\r\n // The return should be an instance of an Node as the root to traverse\r\n // https://developer.mozilla.org/en-US/docs/Web/API/Node\r\n // parserHtml: (input, opts = {}) => (new DOMParser()).parseFromString(input, 'text/xml')\r\n // Here the result will be XMLDocument, which extends Node\r\n parserHtml: null,\r\n\r\n // Default HTML parser options (used in `parserModule.parseHtml(' tags\r\n allowScripts: false,\r\n\r\n // Allow unsafe HTML attributes (eg. `on*` inline event handlers)\r\n allowUnsafeAttr: false,\r\n },\r\n};\r\n","import { keys } from 'underscore';\r\n\r\n// At-rules\r\n// https://developer.mozilla.org/it/docs/Web/API/CSSRule#Type_constants\r\nconst atRules = {\r\n 4: 'media',\r\n 5: 'font-face',\r\n 6: 'page',\r\n 7: 'keyframes',\r\n 11: 'counter-style',\r\n 12: 'supports',\r\n 13: 'document',\r\n 14: 'font-feature-values',\r\n 15: 'viewport'\r\n};\r\nconst atRuleKeys = keys(atRules);\r\nconst singleAtRules = ['5', '6', '11', '15'];\r\nconst singleAtRulesNames = ['font-face', 'page', 'counter-style', 'viewport'];\r\n\r\n/**\r\n * Parse selector string to array.\r\n * Only classe based are valid as CSS rules inside editor, not valid\r\n * selectors will be dropped as additional\r\n * It's ok with the last part of the string as state (:hover, :active)\r\n * @param {string} str Selectors string\r\n * @return {Object}\r\n * @example\r\n * var res = parseSelector('.test1, .test1.test2, .test2 .test3');\r\n * console.log(res);\r\n * // {\r\n * //result: [['test1'], ['test1', 'test2']],\r\n * //add: ['.test2 .test3']\r\n * //}\r\n */\r\nexport const parseSelector = (str = '') => {\r\n const add = [];\r\n const result = [];\r\n const sels = str.split(',');\r\n\r\n for (var i = 0, len = sels.length; i < len; i++) {\r\n var sel = sels[i].trim();\r\n\r\n // Will accept only concatenated classes and last\r\n // class might be with state (eg. :hover), nothing else.\r\n // Can also accept SINGLE ID selectors, eg. `#myid`, `#myid:hover`\r\n // Composed are not valid: `#myid.some-class`, `#myid.some-class:hover`\r\n if (\r\n /^(\\.{1}[\\w\\-]+)+(:{1,2}[\\w\\-()]+)?$/gi.test(sel) ||\r\n /^(#{1}[\\w\\-]+){1}(:{1,2}[\\w\\-()]+)?$/gi.test(sel)\r\n ) {\r\n var cls = sel.split('.').filter(Boolean);\r\n result.push(cls);\r\n } else {\r\n add.push(sel);\r\n }\r\n }\r\n\r\n return {\r\n result,\r\n add\r\n };\r\n};\r\n\r\n/**\r\n * Parse style declarations of the node\r\n * @param {CSSRule} node\r\n * @return {Object}\r\n */\r\nexport const parseStyle = node => {\r\n const stl = node.style;\r\n const style = {};\r\n\r\n for (var i = 0, len = stl.length; i < len; i++) {\r\n const propName = stl[i];\r\n const propValue = stl.getPropertyValue(propName);\r\n const important = stl.getPropertyPriority(propName);\r\n style[propName] = `${propValue}${important ? ` !${important}` : ''}`;\r\n }\r\n\r\n return style;\r\n};\r\n\r\n/**\r\n * Get the condition when possible\r\n * @param {CSSRule} node\r\n * @return {string}\r\n */\r\nexport const parseCondition = node => {\r\n const condition =\r\n node.conditionText ||\r\n (node.media && node.media.mediaText) ||\r\n node.name ||\r\n node.selectorText ||\r\n '';\r\n return condition.trim();\r\n};\r\n\r\n/**\r\n * Create node for the editor\r\n * @param {Array} selectors Array containing strings of classes\r\n * @param {Object} style Key-value object of style declarations\r\n * @return {Object}\r\n */\r\nexport const createNode = (selectors, style = {}, opts = {}) => {\r\n const node = {};\r\n const selLen = selectors.length;\r\n const lastClass = selectors[selLen - 1];\r\n const stateArr = lastClass ? lastClass.split(/:(.+)/) : [];\r\n const state = stateArr[1];\r\n const { atRule, selectorsAdd, mediaText } = opts;\r\n const singleAtRule = singleAtRulesNames.indexOf(atRule) >= 0;\r\n singleAtRule && (node.singleAtRule = 1);\r\n atRule && (node.atRuleType = atRule);\r\n selectorsAdd && (node.selectorsAdd = selectorsAdd);\r\n mediaText && (node.mediaText = mediaText);\r\n\r\n // Isolate the state from selectors\r\n if (state) {\r\n selectors[selLen - 1] = stateArr[0];\r\n node.state = state;\r\n stateArr.splice(stateArr.length - 1, 1);\r\n }\r\n\r\n node.selectors = selectors;\r\n node.style = style;\r\n\r\n return node;\r\n};\r\n\r\n/**\r\n * Fetch data from node\r\n * @param {StyleSheet|CSSRule} el\r\n * @return {Array}\r\n */\r\nexport const parseNode = el => {\r\n var result = [];\r\n var nodes = el.cssRules || [];\r\n\r\n for (var i = 0, len = nodes.length; i < len; i++) {\r\n const node = nodes[i];\r\n const type = node.type.toString();\r\n let singleAtRule = 0;\r\n let atRuleType = '';\r\n let condition = '';\r\n // keyText is for CSSKeyframeRule\r\n let sels = node.selectorText || node.keyText;\r\n const isSingleAtRule = singleAtRules.indexOf(type) >= 0;\r\n\r\n // Check if the node is an at-rule\r\n if (isSingleAtRule) {\r\n singleAtRule = 1;\r\n atRuleType = atRules[type];\r\n condition = parseCondition(node);\r\n } else if (atRuleKeys.indexOf(type) >= 0) {\r\n var subRules = parseNode(node);\r\n condition = parseCondition(node);\r\n\r\n for (var s = 0, lens = subRules.length; s < lens; s++) {\r\n var subRule = subRules[s];\r\n condition && (subRule.mediaText = condition);\r\n subRule.atRuleType = atRules[type];\r\n }\r\n result = result.concat(subRules);\r\n }\r\n\r\n if (!sels && !isSingleAtRule) continue;\r\n const style = parseStyle(node);\r\n const selsParsed = parseSelector(sels);\r\n const selsAdd = selsParsed.add;\r\n sels = selsParsed.result;\r\n\r\n let lastRule;\r\n // For each group of selectors\r\n for (var k = 0, len3 = sels.length; k < len3; k++) {\r\n const model = createNode(sels[k], style, {\r\n atRule: atRules[type]\r\n });\r\n result.push(model);\r\n lastRule = model;\r\n }\r\n\r\n // Need to push somewhere not class-based selectors, if some rule was\r\n // created will push them there, otherwise will create a new rule\r\n if (selsAdd.length) {\r\n var selsAddStr = selsAdd.join(', ');\r\n if (lastRule) {\r\n lastRule.selectorsAdd = selsAddStr;\r\n } else {\r\n const model = {\r\n selectors: [],\r\n selectorsAdd: selsAddStr,\r\n style\r\n };\r\n singleAtRule && (model.singleAtRule = singleAtRule);\r\n atRuleType && (model.atRuleType = atRuleType);\r\n condition && (model.mediaText = condition);\r\n result.push(model);\r\n }\r\n }\r\n }\r\n\r\n return result;\r\n};\r\n\r\n/**\r\n * Parse CSS string and return the array of objects\r\n * @param {String} str CSS string\r\n * @return {Array} Array of objects for the definition of CSSRules\r\n */\r\nexport default str => {\r\n const el = document.createElement('style');\r\n el.innerHTML = str;\r\n\r\n // There is no .sheet before adding it to the \r\n document.head.appendChild(el);\r\n const sheet = el.sheet;\r\n document.head.removeChild(el);\r\n\r\n return parseNode(sheet);\r\n};\r\n","import { isString } from 'underscore';\r\nimport BrowserCssParser, {\r\n parseSelector,\r\n createNode\r\n} from './BrowserParserCss';\r\n\r\nexport default (config = {}) => ({\r\n /**\r\n * Parse CSS string to a desired model object\r\n * @param {String} str CSS string\r\n * @return {Array}\r\n */\r\n parse(str) {\r\n let result = [];\r\n const { parserCss, em } = config;\r\n const editor = em && em.get && em.get('Editor');\r\n const nodes = parserCss ? parserCss(str, editor) : BrowserCssParser(str);\r\n nodes.forEach(node => (result = result.concat(this.checkNode(node))));\r\n em && em.trigger('parse:css', { input: str, output: result });\r\n\r\n return result;\r\n },\r\n\r\n /**\r\n * Check the returned node from a custom parser and transforms it to\r\n * a valid object for the CSS composer\r\n * @return {[type]}\r\n */\r\n checkNode(node) {\r\n const { selectors, style } = node;\r\n\r\n if (isString(selectors)) {\r\n const nodes = [];\r\n const selsParsed = parseSelector(selectors);\r\n const classSets = selsParsed.result;\r\n const selectorsAdd = selsParsed.add.join(', ');\r\n const opts = {\r\n atRule: node.atRule,\r\n mediaText: node.params\r\n };\r\n\r\n if (classSets.length) {\r\n classSets.forEach(classSet => {\r\n nodes.push(createNode(classSet, style, opts));\r\n });\r\n } else {\r\n nodes.push(createNode([], style, opts));\r\n }\r\n\r\n if (selectorsAdd) {\r\n const lastNode = nodes[nodes.length - 1];\r\n lastNode.selectorsAdd = selectorsAdd;\r\n }\r\n\r\n node = nodes;\r\n }\r\n\r\n return node;\r\n }\r\n});\r\n","/**\r\n * You can customize the initial state of the module from the editor initialization, by passing the following [Configuration Object](https://github.com/artf/grapesjs/blob/master/src/parser/config/config.js)\r\n * ```js\r\n * const editor = grapesjs.init({\r\n * parser: {\r\n * // options\r\n * }\r\n * })\r\n * ```\r\n *\r\n * Once the editor is instantiated you can use its API. Before using these methods you should get the module from the instance\r\n *\r\n * ```js\r\n * const { Parser } = editor;\r\n * ```\r\n * ## Available Events\r\n * * `parse:html` - On HTML parse, an object containing the input and the output of the parser is passed as an argument\r\n * * `parse:css` - On CSS parse, an object containing the input and the output of the parser is passed as an argument\r\n *\r\n * ## Methods\r\n * * [getConfig](#getconfig)\r\n * * [parseHtml](#parsehtml)\r\n * * [parseCss](#parsecss)\r\n *\r\n * @module Parser\r\n */\r\nimport defaults from './config/config';\r\nimport parserCss from './model/ParserCss';\r\nimport parserHtml from './model/ParserHtml';\r\n\r\nexport default () => {\r\n let conf = {};\r\n let pHtml, pCss;\r\n\r\n return {\r\n compTypes: '',\r\n\r\n parserCss: null,\r\n\r\n parserHtml: null,\r\n\r\n name: 'Parser',\r\n\r\n init(config = {}) {\r\n conf = { ...defaults, ...config };\r\n conf.Parser = this;\r\n pHtml = new parserHtml(conf);\r\n pCss = new parserCss(conf);\r\n this.em = conf.em;\r\n this.parserCss = pCss;\r\n this.parserHtml = pHtml;\r\n return this;\r\n },\r\n\r\n /**\r\n * Get the configuration object\r\n * @returns {Object} Configuration object\r\n * @example\r\n * console.log(Parser.getConfig())\r\n */\r\n getConfig() {\r\n return conf;\r\n },\r\n\r\n /**\r\n * Parse HTML string and return the object containing the Component Definition\r\n * @param {String} input HTML string to parse\r\n * @param {Object} [options] Options\r\n * @param {String} [options.htmlType] [HTML mime type](https://developer.mozilla.org/en-US/docs/Web/API/DOMParser/parseFromString#Argument02) to parse\r\n * @param {Boolean} [options.allowScripts=false] Allow `` : '';\r\n return html;\r\n }\r\n\r\n /**\r\n * Returns CSS built inside canvas\r\n * @param {Object} [opts={}] Options\r\n * @returns {string} CSS string\r\n * @private\r\n */\r\n getCss(opts = {}) {\r\n const config = this.config;\r\n const { optsCss } = config;\r\n const avoidProt = opts.avoidProtected;\r\n const keepUnusedStyles = !isUndefined(opts.keepUnusedStyles) ? opts.keepUnusedStyles : config.keepUnusedStyles;\r\n const cssc = this.get('CssComposer');\r\n const wrp = opts.component || this.get('DomComponents').getComponent();\r\n const protCss = !avoidProt ? config.protectedCss : '';\r\n const css =\r\n wrp &&\r\n this.get('CodeManager').getCode(wrp, 'css', {\r\n cssc,\r\n keepUnusedStyles,\r\n ...optsCss,\r\n ...opts,\r\n });\r\n return wrp ? (opts.json ? css : protCss + css) : '';\r\n }\r\n\r\n /**\r\n * Returns JS of all components\r\n * @return {string} JS string\r\n * @private\r\n */\r\n getJs(opts = {}) {\r\n var wrp = opts.component || this.get('DomComponents').getWrapper();\r\n return wrp ? this.get('CodeManager').getCode(wrp, 'js').trim() : '';\r\n }\r\n\r\n /**\r\n * Store data to the current storage.\r\n * @private\r\n */\r\n async store(options) {\r\n const data = this.storeData();\r\n await this.get('StorageManager').store(data, options);\r\n this.clearDirtyCount();\r\n return data;\r\n }\r\n\r\n /**\r\n * Load data from the current storage.\r\n * @private\r\n */\r\n async load(options) {\r\n const result = await this.get('StorageManager').load(options);\r\n this.loadData(result);\r\n return result;\r\n }\r\n\r\n storeData() {\r\n let result = {};\r\n // Sync content if there is an active RTE\r\n const editingCmp = this.getEditing();\r\n editingCmp && editingCmp.trigger('sync:content', { noCount: true });\r\n\r\n this.get('storables').forEach(m => {\r\n result = { ...result, ...m.store(1) };\r\n });\r\n return JSON.parse(JSON.stringify(result));\r\n }\r\n\r\n loadData(data = {}) {\r\n this.get('storables').forEach(module => module.load(data));\r\n return data;\r\n }\r\n\r\n /**\r\n * Returns device model by name\r\n * @return {Device|null}\r\n * @private\r\n */\r\n getDeviceModel() {\r\n var name = this.get('device');\r\n return this.get('DeviceManager').get(name);\r\n }\r\n\r\n /**\r\n * Run default command if setted\r\n * @param {Object} [opts={}] Options\r\n * @private\r\n */\r\n runDefault(opts = {}) {\r\n var command = this.get('Commands').get(this.config.defaultCommand);\r\n if (!command || this.defaultRunning) return;\r\n command.stop(this, this, opts);\r\n command.run(this, this, opts);\r\n this.defaultRunning = 1;\r\n }\r\n\r\n /**\r\n * Stop default command\r\n * @param {Object} [opts={}] Options\r\n * @private\r\n */\r\n stopDefault(opts = {}) {\r\n const commands = this.get('Commands');\r\n const command = commands.get(this.config.defaultCommand);\r\n if (!command || !this.defaultRunning) return;\r\n command.stop(this, this, opts);\r\n this.defaultRunning = 0;\r\n }\r\n\r\n /**\r\n * Update canvas dimensions and refresh data useful for tools positioning\r\n * @private\r\n */\r\n refreshCanvas(opts = {}) {\r\n this.set('canvasOffset', null);\r\n this.set('canvasOffset', this.get('Canvas').getOffset());\r\n opts.tools && this.trigger('canvas:updateTools');\r\n }\r\n\r\n /**\r\n * Clear all selected stuf inside the window, sometimes is useful to call before\r\n * doing some dragging opearation\r\n * @param {Window} win If not passed the current one will be used\r\n * @private\r\n */\r\n clearSelection(win) {\r\n var w = win || window;\r\n w.getSelection().removeAllRanges();\r\n }\r\n\r\n /**\r\n * Get the current media text\r\n * @return {string}\r\n */\r\n getCurrentMedia() {\r\n const config = this.config;\r\n const device = this.getDeviceModel();\r\n const condition = config.mediaCondition;\r\n const preview = config.devicePreviewMode;\r\n const width = device && device.get('widthMedia');\r\n return device && width && !preview ? `(${condition}: ${width})` : '';\r\n }\r\n\r\n /**\r\n * Return the component wrapper\r\n * @return {Component}\r\n */\r\n getWrapper() {\r\n return this.get('DomComponents').getWrapper();\r\n }\r\n\r\n setCurrentFrame(frameView) {\r\n return this.set('currentFrame', frameView);\r\n }\r\n\r\n getCurrentFrame() {\r\n return this.get('currentFrame');\r\n }\r\n\r\n getCurrentFrameModel() {\r\n return (this.getCurrentFrame() || {}).model;\r\n }\r\n\r\n getIcon(icon) {\r\n const icons = this.getConfig('icons') || {};\r\n return icons[icon] || '';\r\n }\r\n\r\n /**\r\n * Return the count of changes made to the content and not yet stored.\r\n * This count resets at any `store()`\r\n * @return {number}\r\n */\r\n getDirtyCount() {\r\n return this.get('changesCount');\r\n }\r\n\r\n clearDirtyCount() {\r\n return this.set('changesCount', 0);\r\n }\r\n\r\n getZoomDecimal() {\r\n return this.get('Canvas').getZoomDecimal();\r\n }\r\n\r\n getZoomMultiplier() {\r\n return this.get('Canvas').getZoomMultiplier();\r\n }\r\n\r\n setDragMode(value) {\r\n return this.set('dmode', value);\r\n }\r\n\r\n t(...args) {\r\n const i18n = this.get('I18n');\r\n return i18n?.t(...args);\r\n }\r\n\r\n /**\r\n * Returns true if the editor is in absolute mode\r\n * @returns {Boolean}\r\n */\r\n inAbsoluteMode() {\r\n return this.get('dmode') === 'absolute';\r\n }\r\n\r\n /**\r\n * Destroy editor\r\n */\r\n destroyAll() {\r\n const { config, view } = this;\r\n const editor = this.getEditor();\r\n const { editors = [] } = config.grapesjs || {};\r\n const shallow = this.get('shallow');\r\n shallow?.destroyAll();\r\n this.stopListening();\r\n this.stopDefault();\r\n this.get('modules')\r\n .slice()\r\n .reverse()\r\n .forEach(mod => mod.destroy());\r\n view && view.remove();\r\n this.clear({ silent: true });\r\n this.destroyed = 1;\r\n ['config', 'view', '_previousAttributes', '_events', '_listeners'].forEach(i => (this[i] = {}));\r\n editors.splice(editors.indexOf(editor), 1);\r\n hasWin() && $(config.el).empty().attr(this.attrsOrig);\r\n }\r\n\r\n getEditing() {\r\n const res = this.get('editing');\r\n return (res && res.model) || null;\r\n }\r\n\r\n setEditing(value) {\r\n this.set('editing', value);\r\n return this;\r\n }\r\n\r\n isEditing() {\r\n return !!this.get('editing');\r\n }\r\n\r\n log(msg, opts = {}) {\r\n const { ns, level = 'debug' } = opts;\r\n this.trigger('log', msg, opts);\r\n level && this.trigger(`log:${level}`, msg, opts);\r\n\r\n if (ns) {\r\n const logNs = `log-${ns}`;\r\n this.trigger(logNs, msg, opts);\r\n level && this.trigger(`${logNs}:${level}`, msg, opts);\r\n }\r\n }\r\n\r\n logInfo(msg, opts) {\r\n this.log(msg, { ...opts, level: 'info' });\r\n }\r\n\r\n logWarning(msg, opts) {\r\n this.log(msg, { ...opts, level: 'warning' });\r\n }\r\n\r\n logError(msg, opts) {\r\n this.log(msg, { ...opts, level: 'error' });\r\n }\r\n\r\n initBaseColorPicker(el, opts = {}) {\r\n const config = this.getConfig();\r\n const { colorPicker = {} } = config;\r\n const elToAppend = config.el;\r\n const ppfx = config.stylePrefix;\r\n\r\n return $(el).spectrum({\r\n containerClassName: `${ppfx}one-bg ${ppfx}two-color`,\r\n appendTo: elToAppend || 'body',\r\n maxSelectionSize: 8,\r\n showPalette: true,\r\n palette: [],\r\n showAlpha: true,\r\n chooseText: 'Ok',\r\n cancelText: '⨯',\r\n ...opts,\r\n ...colorPicker,\r\n });\r\n }\r\n\r\n /**\r\n * Execute actions without triggering the storage and undo manager.\r\n * @param {Function} clb\r\n * @private\r\n */\r\n skip(clb) {\r\n this.__skip = true;\r\n const um = this.get('UndoManager');\r\n um ? um.skip(clb) : clb();\r\n this.__skip = false;\r\n }\r\n\r\n /**\r\n * Set/get data from the HTMLElement\r\n * @param {HTMLElement} el\r\n * @param {string} name Data name\r\n * @param {any} value Date value\r\n * @return {any}\r\n * @private\r\n */\r\n data(el, name, value) {\r\n const varName = '_gjs-data';\r\n\r\n if (!el[varName]) {\r\n el[varName] = {};\r\n }\r\n\r\n if (isUndefined(value)) {\r\n return el[varName][name];\r\n } else {\r\n el[varName][name] = value;\r\n }\r\n }\r\n}\r\n","import { isObject } from 'underscore';\r\n\r\nexport default ({ $ }) => {\r\n if ($ && $.prototype && $.prototype.constructor.name !== 'jQuery') {\r\n const fn = $.fn;\r\n\r\n // Additional helpers\r\n\r\n fn.hide = function () {\r\n return this.css('display', 'none');\r\n };\r\n\r\n fn.show = function () {\r\n return this.css('display', 'block');\r\n };\r\n\r\n fn.focus = function () {\r\n const el = this.get(0);\r\n el && el.focus();\r\n return this;\r\n };\r\n\r\n // For SVGs in IE\r\n // (fn.removeClass = function(c) {\r\n // if (!arguments.length) {\r\n // return this.attr('class', '');\r\n // }\r\n // const classes = isString(c) && c.match(/\\S+/g);\r\n // return classes\r\n // ? this.each(function(el) {\r\n // each(classes, function(c) {\r\n // if (el.classList) {\r\n // el.classList.remove(c);\r\n // } else {\r\n // const val = el.className;\r\n // const bval = el.className.baseVal;\r\n\r\n // if (!isUndefined(bval)) {\r\n // val.baseVal = bval.replace(c, '');\r\n // } else {\r\n // el.className = val.replace(c, '');\r\n // }\r\n // }\r\n // });\r\n // })\r\n // : this;\r\n // }),\r\n // (fn.remove = function() {\r\n // return this.each(node => {\r\n // return node.parentNode && node.parentNode.removeChild(node);\r\n // });\r\n // }),\r\n\r\n // For spectrum compatibility\r\n\r\n fn.bind = function (ev, h) {\r\n return this.on(ev, h);\r\n };\r\n\r\n fn.unbind = function (ev, h) {\r\n if (isObject(ev)) {\r\n for (let name in ev) {\r\n ev.hasOwnProperty(name) && this.off(name, ev[name]);\r\n }\r\n\r\n return this;\r\n } else {\r\n return this.off(ev, h);\r\n }\r\n };\r\n\r\n fn.click = function (h) {\r\n return h ? this.on('click', h) : this.trigger('click');\r\n };\r\n\r\n fn.change = function (h) {\r\n return h ? this.on('change', h) : this.trigger('change');\r\n };\r\n\r\n fn.keydown = function (h) {\r\n return h ? this.on('keydown', h) : this.trigger('keydown');\r\n };\r\n\r\n fn.delegate = function (selector, events, data, handler) {\r\n if (!handler) {\r\n handler = data;\r\n }\r\n\r\n return this.on(events, selector, function (e) {\r\n e.data = data;\r\n handler(e);\r\n });\r\n };\r\n\r\n fn.scrollLeft = function () {\r\n let el = this.get(0);\r\n el = el.nodeType == 9 ? el.defaultView : el;\r\n let win = el instanceof Window ? el : null;\r\n return win ? win.pageXOffset : el.scrollLeft || 0;\r\n };\r\n\r\n fn.scrollTop = function () {\r\n let el = this.get(0);\r\n el = el.nodeType == 9 ? el.defaultView : el;\r\n let win = el instanceof Window ? el : null;\r\n return win ? win.pageYOffset : el.scrollTop || 0;\r\n };\r\n\r\n const offset = $.prototype.offset;\r\n fn.offset = function (coords) {\r\n let top, left;\r\n\r\n if (coords) {\r\n top = coords.top;\r\n left = coords.left;\r\n }\r\n\r\n if (typeof top != 'undefined') {\r\n this.css('top', `${top}px`);\r\n }\r\n if (typeof left != 'undefined') {\r\n this.css('left', `${left}px`);\r\n }\r\n\r\n return offset.call(this);\r\n };\r\n\r\n $.map = function (items, clb) {\r\n const ar = [];\r\n\r\n for (var i = 0; i < items.length; i++) {\r\n ar.push(clb(items[i], i));\r\n }\r\n\r\n return ar;\r\n };\r\n\r\n const indexOf = Array.prototype.indexOf;\r\n\r\n $.inArray = function (val, arr, i) {\r\n return arr == null ? -1 : indexOf.call(arr, val, i);\r\n };\r\n\r\n $.Event = function (src, props) {\r\n if (!(this instanceof $.Event)) {\r\n return new $.Event(src, props);\r\n }\r\n\r\n this.type = src;\r\n this.isDefaultPrevented = () => false;\r\n };\r\n }\r\n};\r\n","import Backbone from 'backbone';\r\nimport { View } from '../../common';\r\nimport { appendStyles } from '../../utils/mixins';\r\n\r\nconst $ = Backbone.$;\r\n\r\nexport default class EditorView extends View {\r\n initialize() {\r\n const { model } = this;\r\n const { Panels, UndoManager } = model.attributes;\r\n model.view = this;\r\n model.once('change:ready', () => {\r\n Panels.active();\r\n Panels.disableButtons();\r\n UndoManager.clear();\r\n setTimeout(() => {\r\n model.trigger('load', model.get('Editor'));\r\n model.clearDirtyCount();\r\n });\r\n });\r\n }\r\n\r\n render() {\r\n const { $el, model } = this;\r\n const { Panels, Canvas, modules } = model.attributes;\r\n const conf = model.getConfig();\r\n const pfx = conf.stylePrefix;\r\n const contEl = $(conf.el || `body ${conf.container}`);\r\n appendStyles(conf.cssIcons, { unique: 1, prepand: 1 });\r\n $el.empty();\r\n\r\n if (conf.width) contEl.css('width', conf.width);\r\n if (conf.height) contEl.css('height', conf.height);\r\n\r\n $el.append(Canvas.render());\r\n $el.append(Panels.render());\r\n\r\n // Load shallow editor\r\n const shallow = model.get('shallow');\r\n const shallowCanvasEl = shallow.get('Canvas').render();\r\n shallowCanvasEl.style.display = 'none';\r\n $el.append(shallowCanvasEl);\r\n\r\n $el.attr('class', `${pfx}editor ${pfx}one-bg ${pfx}two-color`);\r\n contEl.addClass(`${pfx}editor-cont`).empty().append($el);\r\n modules.forEach(md => md.postRender && md.postRender(this));\r\n\r\n return this;\r\n }\r\n}\r\n","/**\r\n * Editor contains the top level API which you'll probably use to customize the editor or extend it with plugins.\r\n * You get the Editor instance on init method and you can pass options via its [Configuration Object](https://github.com/artf/grapesjs/blob/master/src/editor/config/config.js)\r\n *\r\n * ```js\r\n * const editor = grapesjs.init({\r\n * // options\r\n * });\r\n * ```\r\n *\r\n * ## Available Events\r\n *\r\n * You can make use of available events in this way\r\n * ```js\r\n * editor.on('EVENT-NAME', (some, argument) => {\r\n * // do something\r\n * })\r\n * ```\r\n *\r\n * * `update` - The structure of the template is updated (its HTML/CSS)\r\n * * `undo` - Undo executed\r\n * * `redo` - Redo executed\r\n * * `load` - Editor is loaded\r\n *\r\n * ### Components\r\n * Check the [Components](/api/components.html) module.\r\n * ### Keymaps\r\n * Check the [Keymaps](/api/keymaps.html) module.\r\n * ### Style Manager\r\n * Check the [Style Manager](/api/style_manager.html) module.\r\n * ### Storage\r\n * Check the [Storage](/api/storage_manager.html) module.\r\n * ### Canvas\r\n * Check the [Canvas](/api/canvas.html) module.\r\n * ### RTE\r\n * Check the [Rich Text Editor](/api/rich_text_editor.html) module.\r\n * ### Commands\r\n * Check the [Commands](/api/commands.html) module.\r\n * ### Selectors\r\n * Check the [Selectors](/api/selector_manager.html) module.\r\n * ### Blocks\r\n * Check the [Blocks](/api/block_manager.html) module.\r\n * ### Assets\r\n * Check the [Assets](/api/assets.html) module.\r\n * ### Modal\r\n * Check the [Modal](/api/modal_dialog.html) module.\r\n * ### Devices\r\n * Check the [Devices](/api/device_manager.html) module.\r\n * ### Parser\r\n * Check the [Parser](/api/parser.html) module.\r\n * ### Pages\r\n * Check the [Pages](/api/pages.html) module.\r\n *\r\n * ## Methods\r\n * @module Editor\r\n */\r\nimport html from '../utils/html';\r\nimport defaults from './config/config';\r\nimport EditorModel from './model/Editor';\r\nimport EditorView from './view/EditorView';\r\n\r\nexport default (config = {}, opts = {}) => {\r\n const { $ } = opts;\r\n let c = {\r\n ...defaults,\r\n ...config,\r\n };\r\n\r\n c.pStylePrefix = c.stylePrefix;\r\n let em = new EditorModel(c);\r\n let editorView;\r\n\r\n return {\r\n $,\r\n\r\n /**\r\n * @property {EditorModel}\r\n * @private\r\n */\r\n editor: em,\r\n\r\n modules: [],\r\n\r\n /**\r\n * Initialize editor model\r\n * @return {this}\r\n * @private\r\n */\r\n init(opts = {}) {\r\n em.init(this, { ...c, ...opts });\r\n\r\n this.modules = [\r\n 'I18n',\r\n 'Utils',\r\n 'Config',\r\n 'Commands',\r\n 'Keymaps',\r\n 'Modal',\r\n 'Panels',\r\n 'Canvas',\r\n 'Parser',\r\n 'CodeManager',\r\n 'UndoManager',\r\n 'RichTextEditor',\r\n ['Pages', 'PageManager'],\r\n 'DomComponents',\r\n ['Components', 'DomComponents'],\r\n 'LayerManager',\r\n ['Layers', 'LayerManager'],\r\n 'CssComposer',\r\n ['Css', 'CssComposer'],\r\n 'StorageManager',\r\n ['Storage', 'StorageManager'],\r\n 'AssetManager',\r\n ['Assets', 'AssetManager'],\r\n 'BlockManager',\r\n ['Blocks', 'BlockManager'],\r\n 'TraitManager',\r\n ['Traits', 'TraitManager'],\r\n 'SelectorManager',\r\n ['Selectors', 'SelectorManager'],\r\n 'StyleManager',\r\n ['Styles', 'StyleManager'],\r\n 'DeviceManager',\r\n ['Devices', 'DeviceManager'],\r\n ];\r\n\r\n this.modules.forEach(prop => {\r\n if (Array.isArray(prop)) {\r\n this[prop[0]] = em.get(prop[1]);\r\n } else {\r\n this[prop] = em.get(prop);\r\n }\r\n });\r\n\r\n return this;\r\n },\r\n\r\n /**\r\n * Returns configuration object\r\n * @param {string} [prop] Property name\r\n * @returns {any} Returns the configuration object or\r\n * the value of the specified property\r\n */\r\n getConfig(prop) {\r\n return em.getConfig(prop);\r\n },\r\n\r\n /**\r\n * Returns HTML built inside canvas\r\n * @param {Object} [opts={}] Options\r\n * @param {Component} [opts.component] Return the HTML of a specific Component\r\n * @param {Boolean} [opts.cleanId=false] Remove unnecessary IDs (eg. those created automatically)\r\n * @returns {string} HTML string\r\n */\r\n getHtml(opts) {\r\n return em.getHtml(opts);\r\n },\r\n\r\n /**\r\n * Returns CSS built inside canvas\r\n * @param {Object} [opts={}] Options\r\n * @param {Component} [opts.component] Return the CSS of a specific Component\r\n * @param {Boolean} [opts.json=false] Return an array of CssRules instead of the CSS string\r\n * @param {Boolean} [opts.avoidProtected=false] Don't include protected CSS\r\n * @param {Boolean} [opts.onlyMatched=false] Return only rules matched by the passed component.\r\n * @param {Boolean} [opts.keepUnusedStyles=false] Force keep all defined rules. Toggle on in case output looks different inside/outside of the editor.\r\n * @returns {String|Array} CSS string or array of CssRules\r\n */\r\n getCss(opts) {\r\n return em.getCss(opts);\r\n },\r\n\r\n /**\r\n * Returns JS of all components\r\n * @param {Object} [opts={}] Options\r\n * @param {Component} [opts.component] Get the JS of a specific component\r\n * @returns {String} JS string\r\n */\r\n getJs(opts) {\r\n return em.getJs(opts);\r\n },\r\n\r\n /**\r\n * Return the complete tree of components. Use `getWrapper` to include also the wrapper\r\n * @return {Components}\r\n */\r\n getComponents() {\r\n return em.get('DomComponents').getComponents();\r\n },\r\n\r\n /**\r\n * Return the wrapper and its all components\r\n * @return {Component}\r\n */\r\n getWrapper() {\r\n return em.get('DomComponents').getWrapper();\r\n },\r\n\r\n /**\r\n * Set components inside editor's canvas. This method overrides actual components\r\n * @param {Array|Object|string} components HTML string or components model\r\n * @param {Object} opt the options object to be used by the [setComponents]{@link em#setComponents} method\r\n * @return {this}\r\n * @example\r\n * editor.setComponents('
New component
');\r\n * // or\r\n * editor.setComponents({\r\n * type: 'text',\r\n * classes:['cls'],\r\n * content: 'New component'\r\n * });\r\n */\r\n setComponents(components, opt = {}) {\r\n em.setComponents(components, opt);\r\n return this;\r\n },\r\n\r\n /**\r\n * Add components\r\n * @param {Array|Object|string} components HTML string or components model\r\n * @param {Object} opts Options\r\n * @param {Boolean} [opts.avoidUpdateStyle=false] If the HTML string contains styles,\r\n * by default, they will be created and, if already exist, updated. When this option\r\n * is true, styles already created will not be updated.\r\n * @return {Array}\r\n * @example\r\n * editor.addComponents('
New component
');\r\n * // or\r\n * editor.addComponents({\r\n * type: 'text',\r\n * classes:['cls'],\r\n * content: 'New component'\r\n * });\r\n */\r\n addComponents(components, opts) {\r\n return this.getWrapper().append(components, opts);\r\n },\r\n\r\n /**\r\n * Returns style in JSON format object\r\n * @return {Object}\r\n */\r\n getStyle() {\r\n return em.get('CssComposer').getAll();\r\n },\r\n\r\n /**\r\n * Set style inside editor's canvas. This method overrides actual style\r\n * @param {Array|Object|string} style CSS string or style model\r\n * @return {this}\r\n * @example\r\n * editor.setStyle('.cls{color: red}');\r\n * //or\r\n * editor.setStyle({\r\n * selectors: ['cls'],\r\n * style: { color: 'red' }\r\n * });\r\n */\r\n setStyle(style, opt = {}) {\r\n em.setStyle(style, opt);\r\n return this;\r\n },\r\n\r\n /**\r\n * Add styles to the editor\r\n * @param {Array|Object|string} style CSS string or style model\r\n * @returns {Array} Array of created CssRule instances\r\n * @example\r\n * editor.addStyle('.cls{color: red}');\r\n */\r\n addStyle(style, opts = {}) {\r\n return em.addStyle(style, opts);\r\n },\r\n\r\n /**\r\n * Returns the last selected component, if there is one\r\n * @return {Model}\r\n */\r\n getSelected() {\r\n return em.getSelected();\r\n },\r\n\r\n /**\r\n * Returns an array of all selected components\r\n * @return {Array}\r\n */\r\n getSelectedAll() {\r\n return em.getSelectedAll();\r\n },\r\n\r\n /**\r\n * Get a stylable entity from the selected component.\r\n * If you select a component without classes the entity is the Component\r\n * itself and all changes will go inside its 'style' attribute. Otherwise,\r\n * if the selected component has one or more classes, the function will\r\n * return the corresponding CSS Rule\r\n * @return {Model}\r\n */\r\n getSelectedToStyle() {\r\n let selected = em.getSelected();\r\n\r\n if (selected) {\r\n return this.StyleManager.getModelToStyle(selected);\r\n }\r\n },\r\n\r\n /**\r\n * Select a component\r\n * @param {Component|HTMLElement} el Component to select\r\n * @param {Object} [opts] Options\r\n * @param {Boolean} [opts.scroll] Scroll canvas to the selected element\r\n * @return {this}\r\n * @example\r\n * // Select dropped block\r\n * editor.on('block:drag:stop', function(model) {\r\n * editor.select(model);\r\n * });\r\n */\r\n select(el, opts) {\r\n em.setSelected(el, opts);\r\n return this;\r\n },\r\n\r\n /**\r\n * Add component to selection\r\n * @param {Component|HTMLElement|Array} el Component to select\r\n * @return {this}\r\n * @example\r\n * editor.selectAdd(model);\r\n */\r\n selectAdd(el) {\r\n em.addSelected(el);\r\n return this;\r\n },\r\n\r\n /**\r\n * Remove component from selection\r\n * @param {Component|HTMLElement|Array} el Component to select\r\n * @return {this}\r\n * @example\r\n * editor.selectRemove(model);\r\n */\r\n selectRemove(el) {\r\n em.removeSelected(el);\r\n return this;\r\n },\r\n\r\n /**\r\n * Toggle component selection\r\n * @param {Component|HTMLElement|Array} el Component to select\r\n * @return {this}\r\n * @example\r\n * editor.selectToggle(model);\r\n */\r\n selectToggle(el) {\r\n em.toggleSelected(el);\r\n return this;\r\n },\r\n\r\n /**\r\n * Returns, if active, the Component enabled in rich text editing mode.\r\n * @returns {Component|null}\r\n * @example\r\n * const textComp = editor.getEditing();\r\n * if (textComp) {\r\n * console.log('HTML: ', textComp.toHTML());\r\n * }\r\n */\r\n getEditing() {\r\n return em.getEditing();\r\n },\r\n\r\n /**\r\n * Set device to the editor. If the device exists it will\r\n * change the canvas to the proper width\r\n * @param {string} name Name of the device\r\n * @return {this}\r\n * @example\r\n * editor.setDevice('Tablet');\r\n */\r\n setDevice(name) {\r\n em.set('device', name);\r\n return this;\r\n },\r\n\r\n /**\r\n * Return the actual active device\r\n * @return {string} Device name\r\n * @example\r\n * var device = editor.getDevice();\r\n * console.log(device);\r\n * // 'Tablet'\r\n */\r\n getDevice() {\r\n return em.get('device');\r\n },\r\n\r\n /**\r\n * Execute command\r\n * @param {string} id Command ID\r\n * @param {Object} options Custom options\r\n * @return {*} The return is defined by the command\r\n * @example\r\n * editor.runCommand('myCommand', {someValue: 1});\r\n */\r\n runCommand(id, options = {}) {\r\n return em.get('Commands').run(id, options);\r\n },\r\n\r\n /**\r\n * Stop the command if stop method was provided\r\n * @param {string} id Command ID\r\n * @param {Object} options Custom options\r\n * @return {*} The return is defined by the command\r\n * @example\r\n * editor.stopCommand('myCommand', {someValue: 1});\r\n */\r\n stopCommand(id, options = {}) {\r\n return em.get('Commands').stop(id, options);\r\n },\r\n\r\n /**\r\n * Store data to the current storage.\r\n * This will reset the counter of changes (`editor.getDirtyCount()`).\r\n * @param {Object} [options] Storage options.\r\n * @returns {Object} Stored data.\r\n * @example\r\n * const storedData = await editor.store();\r\n */\r\n async store(options) {\r\n return await em.store(options);\r\n },\r\n\r\n /**\r\n * Load data from the current storage.\r\n * @param {Object} [options] Storage options.\r\n * @returns {Object} Loaded data.\r\n * @example\r\n * const data = await editor.load();\r\n */\r\n async load(options) {\r\n return await em.load(options);\r\n },\r\n\r\n /**\r\n * Get the JSON project data, which could be stored and loaded back with `editor.loadProjectData(json)`\r\n * @returns {Object}\r\n * @example\r\n * console.log(editor.getProjectData());\r\n * // { pages: [...], styles: [...], ... }\r\n */\r\n getProjectData() {\r\n return em.storeData();\r\n },\r\n\r\n /**\r\n * Load data from the JSON project\r\n * @param {Object} data Project to load\r\n * @example\r\n * editor.loadProjectData({ pages: [...], styles: [...], ... })\r\n */\r\n loadProjectData(data) {\r\n return em.loadData(data);\r\n },\r\n\r\n storeData() {\r\n return em.storeData();\r\n },\r\n\r\n loadData(data) {\r\n return em.loadData(data);\r\n },\r\n\r\n /**\r\n * Returns container element. The one which was indicated as 'container'\r\n * on init method\r\n * @return {HTMLElement}\r\n */\r\n getContainer() {\r\n return c.el;\r\n },\r\n\r\n /**\r\n * Return the count of changes made to the content and not yet stored.\r\n * This count resets at any `store()`\r\n * @return {number}\r\n */\r\n getDirtyCount() {\r\n return em.getDirtyCount();\r\n },\r\n\r\n /**\r\n * Reset the counter of changes.\r\n */\r\n clearDirtyCount() {\r\n return em.clearDirtyCount();\r\n },\r\n\r\n /**\r\n * Update editor dimension offsets\r\n *\r\n * This method could be useful when you update, for example, some position\r\n * of the editor element (eg. canvas, panels, etc.) with CSS, where without\r\n * refresh you'll get misleading position of tools\r\n * @param {Object} [options] Options\r\n * @param {Boolean} [options.tools=false] Update the position of tools (eg. rich text editor, component highlighter, etc.)\r\n */\r\n refresh(opts) {\r\n em.refreshCanvas(opts);\r\n },\r\n\r\n /**\r\n * Replace the built-in Rich Text Editor with a custom one.\r\n * @param {Object} obj Custom RTE Interface\r\n * @example\r\n * editor.setCustomRte({\r\n * // Function for enabling custom RTE\r\n * // el is the HTMLElement of the double clicked Text Component\r\n * // rte is the same instance you have returned the first time you call\r\n * // enable(). This is useful if need to check if the RTE is already enabled so\r\n * // ion this case you'll need to return the RTE and the end of the function\r\n * enable: function(el, rte) {\r\n * rte = new MyCustomRte(el, {}); // this depends on the Custom RTE API\r\n * ...\r\n * return rte; // return the RTE instance\r\n * },\r\n *\r\n * // Disable the editor, called for example when you unfocus the Text Component\r\n * disable: function(el, rte) {\r\n * rte.blur(); // this depends on the Custom RTE API\r\n * }\r\n *\r\n * // Called when the Text Component is focused again. If you returned the RTE instance\r\n * // from the enable function, the enable won't be called again instead will call focus,\r\n * // in this case to avoid double binding of the editor\r\n * focus: function (el, rte) {\r\n * rte.focus(); // this depends on the Custom RTE API\r\n * }\r\n * });\r\n */\r\n setCustomRte(obj) {\r\n this.RichTextEditor.customRte = obj;\r\n },\r\n\r\n /**\r\n * Replace the default CSS parser with a custom one.\r\n * The parser function receives a CSS string as a parameter and expects\r\n * an array of CSSRule objects as a result. If you need to remove the\r\n * custom parser, pass `null` as the argument\r\n * @param {Function|null} parser Parser function\r\n * @return {this}\r\n * @example\r\n * editor.setCustomParserCss(css => {\r\n * const result = [];\r\n * // ... parse the CSS string\r\n * result.push({\r\n * selectors: '.someclass, div .otherclass',\r\n * style: { color: 'red' }\r\n * })\r\n * // ...\r\n * return result;\r\n * });\r\n */\r\n setCustomParserCss(parser) {\r\n this.Parser.getConfig().parserCss = parser;\r\n return this;\r\n },\r\n\r\n /**\r\n * Change the global drag mode of components.\r\n * To get more about this feature read: https://github.com/artf/grapesjs/issues/1936\r\n * @param {String} value Drag mode, options: 'absolute' | 'translate'\r\n * @returns {this}\r\n */\r\n setDragMode(value) {\r\n em.setDragMode(value);\r\n return this;\r\n },\r\n\r\n /**\r\n * Trigger event log message\r\n * @param {*} msg Message to log\r\n * @param {Object} [opts={}] Custom options\r\n * @param {String} [opts.ns=''] Namespace of the log (eg. to use in plugins)\r\n * @param {String} [opts.level='debug'] Level of the log, `debug`, `info`, `warning`, `error`\r\n * @return {this}\r\n * @example\r\n * editor.log('Something done!', { ns: 'from-plugin-x', level: 'info' });\r\n * // This will trigger following events\r\n * // `log`, `log:info`, `log-from-plugin-x`, `log-from-plugin-x:info`\r\n * // Callbacks of those events will always receive the message and\r\n * // options, as arguments, eg:\r\n * // editor.on('log:info', (msg, opts) => console.info(msg, opts))\r\n */\r\n log(msg, opts = {}) {\r\n em.log(msg, opts);\r\n return this;\r\n },\r\n\r\n /**\r\n * Translate label\r\n * @param {String} key Label to translate\r\n * @param {Object} [opts] Options for the translation\r\n * @param {Object} [opts.params] Params for the translation\r\n * @param {Boolean} [opts.noWarn] Avoid warnings in case of missing resources\r\n * @returns {String}\r\n * @example\r\n * editor.t('msg');\r\n * // use params\r\n * editor.t('msg2', { params: { test: 'hello' } });\r\n * // custom local\r\n * editor.t('msg2', { params: { test: 'hello' }, l: 'it' });\r\n */\r\n t(...args) {\r\n return em.t(...args);\r\n },\r\n\r\n /**\r\n * Attach event\r\n * @param {string} event Event name\r\n * @param {Function} callback Callback function\r\n * @return {this}\r\n */\r\n on(event, callback) {\r\n em.on(event, callback);\r\n return this;\r\n },\r\n\r\n /**\r\n * Attach event and detach it after the first run\r\n * @param {string} event Event name\r\n * @param {Function} callback Callback function\r\n * @return {this}\r\n */\r\n once(event, callback) {\r\n em.once(event, callback);\r\n return this;\r\n },\r\n\r\n /**\r\n * Detach event\r\n * @param {string} event Event name\r\n * @param {Function} callback Callback function\r\n * @return {this}\r\n */\r\n off(event, callback) {\r\n em.off(event, callback);\r\n return this;\r\n },\r\n\r\n /**\r\n * Trigger event\r\n * @param {string} event Event to trigger\r\n * @return {this}\r\n */\r\n trigger(event) {\r\n em.trigger.apply(em, arguments);\r\n return this;\r\n },\r\n\r\n /**\r\n * Destroy the editor\r\n */\r\n destroy() {\r\n if (!em) return;\r\n em.destroyAll();\r\n this.modules.forEach(prop => {\r\n if (Array.isArray(prop)) {\r\n this[prop[0]] = 0;\r\n } else {\r\n this[prop] = 0;\r\n }\r\n });\r\n this.modules = 0;\r\n editorView = 0;\r\n em = 0;\r\n c = 0;\r\n },\r\n\r\n /**\r\n * Returns editor element\r\n * @return {HTMLElement}\r\n * @private\r\n */\r\n getEl() {\r\n return editorView && editorView.el;\r\n },\r\n\r\n /**\r\n * Returns editor model\r\n * @return {Model}\r\n * @private\r\n */\r\n getModel() {\r\n return em;\r\n },\r\n\r\n /**\r\n * Render editor\r\n * @return {HTMLElement}\r\n */\r\n render() {\r\n editorView && editorView.remove();\r\n editorView = new EditorView({\r\n model: em,\r\n config: c,\r\n });\r\n return editorView.render().el;\r\n },\r\n\r\n /**\r\n * Trigger a callback once the editor is loaded and rendered.\r\n * The callback will be executed immediately if the method is called on the already rendered editor.\r\n * @param {Function} clb Callback to trigger\r\n * @example\r\n * editor.onReady(() => {\r\n * // perform actions\r\n * });\r\n */\r\n onReady(clb) {\r\n em.get('ready') ? clb(this) : em.on('load', clb);\r\n },\r\n\r\n /**\r\n * Print safe HTML by using ES6 tagged template strings.\r\n * @param {Array} literals\r\n * @param {Array} substs\r\n * @returns {String}\r\n * @example\r\n * const unsafeStr = '';\r\n * const safeStr = 'Hello';\r\n * // Use `$${var}` to avoid escaping\r\n * const strHtml = editor.html`Escaped ${unsafeStr}, unescaped $${safeStr}`;\r\n */\r\n html,\r\n };\r\n};\r\n","export default {\r\n plugins: []\r\n};\r\n","/**\r\n * File made for IE/Edge support\r\n * https://github.com/artf/grapesjs/issues/214\r\n */\r\nimport { hasWin } from './mixins';\r\n\r\nexport default () => {\r\n /**\r\n * Check if IE/Edge\r\n * @return {Boolean}\r\n */\r\n const isIE = () => {\r\n let match;\r\n const agent = window.navigator.userAgent;\r\n const rules = [\r\n ['edge', /Edge\\/([0-9\\._]+)/],\r\n ['ie', /MSIE\\s(7\\.0)/],\r\n ['ie', /MSIE\\s([0-9\\.]+);.*Trident\\/[4-7].0/],\r\n ['ie', /Trident\\/7\\.0.*rv\\:([0-9\\.]+).*\\).*Gecko$/]\r\n ];\r\n\r\n for (let i = 0; i < rules.length; i++) {\r\n const rule = rules[i];\r\n match = rule[1].exec(agent);\r\n if (match) break;\r\n }\r\n\r\n return !!match;\r\n };\r\n\r\n if (hasWin() && isIE()) {\r\n const originalCreateHTMLDocument =\r\n DOMImplementation.prototype.createHTMLDocument;\r\n DOMImplementation.prototype.createHTMLDocument = title => {\r\n if (!title) title = '';\r\n return originalCreateHTMLDocument.apply(document.implementation, [title]);\r\n };\r\n }\r\n};\r\n","import { isElement, isFunction } from 'underscore';\r\nimport $ from './utils/cash-dom';\r\nimport Editor from './editor';\r\nimport polyfills from './utils/polyfills';\r\nimport { getGlobal } from './utils/mixins';\r\nimport PluginManager from './plugin_manager';\r\n\r\npolyfills();\r\n\r\nconst plugins = new PluginManager();\r\nconst editors = [];\r\nconst defaultConfig = {\r\n // If true renders editor on init\r\n autorender: 1,\r\n\r\n // Array of plugins to init\r\n plugins: [],\r\n\r\n // Custom options for plugins\r\n pluginsOpts: {},\r\n};\r\n\r\nexport default {\r\n $,\r\n\r\n editors,\r\n\r\n plugins,\r\n\r\n // Will be replaced on build\r\n version: __GJS_VERSION__,\r\n\r\n /**\r\n * Initialize the editor with passed options\r\n * @param {Object} config Configuration object\r\n * @param {string|HTMLElement} config.container Selector which indicates where render the editor\r\n * @param {Boolean} [config.autorender=true] If true, auto-render the content\r\n * @param {Array} [config.plugins=[]] Array of plugins to execute on start\r\n * @param {Object} [config.pluginsOpts={}] Custom options for plugins\r\n * @param {Boolean} [config.headless=false] Init headless editor\r\n * @return {Editor} Editor instance\r\n * @example\r\n * var editor = grapesjs.init({\r\n * container: '#myeditor',\r\n * components: '
Hello world
',\r\n * style: '.hello{color: red}',\r\n * })\r\n */\r\n init(config = {}) {\r\n const { headless } = config;\r\n const els = config.container;\r\n if (!els && !headless) throw new Error(\"'container' is required\");\r\n config = { ...defaultConfig, ...config, grapesjs: this };\r\n config.el = !headless && (isElement(els) ? els : document.querySelector(els));\r\n const editor = new Editor(config, { $ }).init();\r\n const em = editor.getModel();\r\n\r\n // Load plugins\r\n config.plugins.forEach(pluginId => {\r\n let plugin = isFunction(pluginId) ? pluginId : plugins.get(pluginId);\r\n const plgOptions = config.pluginsOpts[pluginId] || {};\r\n\r\n // Try to search in global context\r\n if (!plugin) {\r\n const wplg = getGlobal()[pluginId];\r\n plugin = wplg?.default || wplg;\r\n }\r\n\r\n if (plugin) {\r\n plugin(editor, plgOptions);\r\n } else if (isFunction(pluginId)) {\r\n pluginId(editor, plgOptions);\r\n } else {\r\n em.logWarning(`Plugin ${pluginId} not found`, {\r\n context: 'plugins',\r\n plugin: pluginId,\r\n });\r\n }\r\n });\r\n\r\n // Execute `onLoad` on modules once all plugins are initialized.\r\n // A plugin might have extended/added some custom type so this\r\n // is a good point to load stuff like components, css rules, etc.\r\n em.loadOnStart();\r\n config.autorender && !headless && editor.render();\r\n editors.push(editor);\r\n\r\n return editor;\r\n },\r\n};\r\n","import defaults from './config/config';\r\n\r\nexport default config => {\r\n var c = config || {};\r\n\r\n // Set default options\r\n for (var name in defaults) {\r\n if (!(name in c)) c[name] = defaults[name];\r\n }\r\n\r\n var plugins = {};\r\n\r\n return {\r\n /**\r\n * Add new plugin. Plugins could not be overwritten\r\n * @param {string} id Plugin ID\r\n * @param {Function} plugin Function which contains all plugin logic\r\n * @return {Function} The plugin function\r\n * @example\r\n * PluginManager.add('some-plugin', function(editor){\r\n * editor.Commands.add('new-command', {\r\n * run: function(editor, senderBtn){\r\n * console.log('Executed new-command');\r\n * }\r\n * })\r\n * });\r\n */\r\n add(id, plugin) {\r\n if (plugins[id]) {\r\n return plugins[id];\r\n }\r\n\r\n plugins[id] = plugin;\r\n return plugin;\r\n },\r\n\r\n /**\r\n * Returns plugin by ID\r\n * @param {string} id Plugin ID\r\n * @return {Function|undefined} Plugin\r\n * @example\r\n * var plugin = PluginManager.get('some-plugin');\r\n * plugin(editor);\r\n */\r\n get(id) {\r\n return plugins[id];\r\n },\r\n\r\n /**\r\n * Returns object with all plugins\r\n * @return {Object}\r\n */\r\n getAll() {\r\n return plugins;\r\n }\r\n };\r\n};\r\n"],"names":["root","factory","exports","module","define","amd","globalThis","window","this","assets","noAssets","stylePrefix","upload","uploadName","headers","params","credentials","multiUpload","autoAdd","customFetch","uploadFile","embedAsBase64","handleAdd","beforeUpload","showUrlInput","custom","dropzone","openAssetsOnDrop","dropzoneContent","Asset","type","src","get","split","pop","shift","getFilename","Model","prototype","idAttribute","getDefaults","result","AssetImage","unitDim","height","width","AssetView","o","options","collection","config","pfx","ppfx","pStylePrefix","em","className","listenTo","model","remove","view","init","bind","am","__getBehaviour","getPreview","getInfo","target","set","clone","el","innerHTML","template","View","AssetImageView","html","name","unit","dim","select","__getBhv","onClick","coll","trigger","$el","addClass","isFunction","updateTarget","onDblClick","onSelect","close","e","stopImmediatePropagation","events","click","dblclick","Assets","Collection","TypeableCollection","types","id","isType","value","AssetsView","form","t","renderAssets","addToAsset","removedAsset","deselectAll","preventDefault","input","getAddInput","url","trim","getAssetsEl","scrollTop","globalCollection","add","at","querySelector","inputUrl","length","toggleNoAssets","addAsset","fragmentEl","fragment","rendered","typeView","render","appendChild","assetsEl","insertBefore","firstChild","hide","find","empty","append","removeClass","document","createDocumentFragment","each","fuRendered","fu","submit","FileUploaderView","title","uploadId","disabled","opts","c","undefined","disableUpload","constructor","delegateEvents","__propEv","res","val","err","console","error","onUploadEnd","text","clb","json","JSON","parse","data","files","dataTransfer","body","FormData","param","i","reqHead","onUploadStart","fetchOpts","method","fetch","then","status","Promise","reject","onUploadResponse","catch","onUploadError","that","uploadForm","ondragover","ondragleave","ondrop","ev","addedCls","edEl","editor","frameEl","getBody","updatedCls","dropzoneCls","cleanEditorElCls","replace","onDragOver","onDragLeave","onDrop","stopPropagation","getSelected","runCommand","Modal","AssetManager","setTarget","forEach","item","initDrop","attr","response","FileReader","promises","mimeTypeMatcher","file","promise","resolve","reader","addEventListener","event","match","exec","image","Image","readAsDataURL","push","all","Error","evAll","evPfx","evSelect","evUpdate","evAdd","evRemove","evRemoveBefore","evCustom","evOpen","evClose","evUpload","evUploadStart","evUploadEnd","evUploadError","evUploadRes","assetsVis","assetCmd","Module","storageKey","update","removeBefore","open","uploadStart","uploadEnd","uploadError","uploadResponse","defaults","__initListen","on","getAllVisible","getAll","__onAllEvent","debounce","__trgCustom","container","getConfig","__customData","bhv","isOpen","models","asset","complete","cmd","run","stop","isActive","where","__remove","store","getProjectData","load","loadProjectData","getContainer","assts","toRender","obj","__viewParams","FileUploader","reset","addType","definition","getType","getTypes","FileUpload","onLoad","postRender","editorView","initDropzone","m","f","func","__behaviour","_bhv","destroy","stopListening","appendTo","appendOnClick","blocks","Block","label","content","media","category","activate","resetId","disable","attributes","ctg","Blocks","Category","Categories","BlockView","mousedown","dragstart","drag","dragend","endDrag","getEditor","insertAt","sorter","getSorter","selected","setDropContent","validTarget","getEl","valid","parent","components","indexOf","wrapper","getWrapper","setSelected","scroll","button","draggable","refreshCanvas","setDragHelper","startSort","__getModule","__startDrag","__drag","__endDrag","off","moved","endMove","cls","class","clsAdd","textContent","setAttribute","hasDnd","prefix","CategoryView","caretR","caretD","iconClass","activeClass","updateVisibility","getIconEl","getBlocksEl","style","display","iconEl","blocksEl","css","order","BlocksView","bindAll","categories","renderedCategories","noCatClass","blockContClass","catsClass","addTo","tac","grabbingCls","canvas","utils","Sorter","placer","getPlacerEl","containerSel","itemSel","onStart","onDrag","onEndMove","onMove","getFrameEl","contentDocument","direction","wmargin","nested","canvasRelative","stopDefault","runDefault","oldActive","unset","frag","ignoreCategories","isString","isObject","catModel","catId","catView","getCategoriesEl","silent","catsEl","evDrag","evDragStart","evDragStop","blocksVisible","blocksView","dragStart","dragEnd","bm","block","startDrag","dragStop","cancel","getContent","_dragBlock","dragResult","dragContent","map","cmp","oldKey","toActive","toSelect","first","isArray","onAll","__getFrameViews","getFrames","frame","fv","droppable","startCustom","endCustom","elTo","isElement","__logWarn","props","prp","getCategories","external","updateConfig","colls","scripts","styles","customBadgeLabel","autoscrollLimit","extHl","notTextable","Canvas","frames","rulers","zoom","x","y","Frames","onZoomChange","updateDevice","evPageSelect","_pageUpdated","mainPage","getMain","getMainFrame","page","prev","device","getDeviceModel","getCurrentFrameModel","noUndo","Droppable","rootEl","getComponent","els","Array","counter","toggleEffects","enable","methods","handleDragEnter","handleDragOver","handleDrop","handleDragLeave","doc","ownerDocument","defaultView","frameElement","sortOpts","onEnd","customTarget","elementFromPoint","clientX","clientY","__customTglEff","over","endDrop","updateCounter","dt","inAbsoluteMode","dragger","guidesInfo","center","comp","cancelled","getStyle","left","top","position","addStyle","handleDragEnd","cnt","preserveSelected","getContentByData","border","getData","alt","href","FrameView","allowfullscreen","tools","frameView","showGlobalTools","cvModel","getCanvasModel","updateHead","renderStyles","setViewEl","headEl","getHead","toRemove","toAdd","current","previous","attrStr","Object","keys","sort","join","items","stack","tag","some","s","stl","parentNode","removeChild","appendVNodes","getModel","contentWindow","getDoc","jsContainer","createEl","frameWrapView","elTools","getGlobalToolsEl","_getTool","rect","getBoundingClientRect","scrollLeft","offsetHeight","offsetWidth","offsetTop","offsetLeft","scrollBottom","scrollRight","toolsEl","getToolsEl","wrp","_toggleEffects","arguments","lastMaxHeight","setTimeout","_toggleAutoscrollFx","requestAnimationFrame","autoscroll","dragging","lastClientY","win","getWindow","actualTop","limitTop","limitBottom","getRect","nextTop","isUndefined","opacity","scrollTo","getPointerEvent","getZoomDecimal","mt","updateClientY","stopAutoscroll","renderScripts","evLoad","evOpts","appendScript","scriptEl","onerror","onload","head","renderBody","normalize","stls","rel","prevStyles","conf","_isEditor","baseCss","canvasCss","protectedCss","component","CssRulesView","getStyles","getJsContainer","tagName","dispatchEvent","createCustomEvent","motionsEv","_emitUpdate","_emitUpdated","FrameWrapView","canvasView","cv","classAnim","updateOffset","updateSize","frameLoaded","updatePos","setupDragger","dragX","dragY","toggleFramesEvents","Dragger","getZoomMultiplier","setPosition","posOpts","start","removeEl","__clear","md","isNaN","updateDim","__handleSize","noChanges","isNull","onscroll","onScroll","currW","currH","newW","newH","isNumber","onRender","twrp","toolsWrapper","elTop","elRight","elBottom","elLeft","frameWrapperView","timerZoom","FramesView","DomainViews","itemView","CanvasView","wheel","_initFrames","clearOff","checkSelected","updateFrames","_onFramesUpdate","toggleListeners","_renderFrames","once","currFrame","views","_getFrame","scrollIntoView","_parentEvent","fn","onKeyPress","getKeyChar","isInputFocused","ctrlKey","metaKey","delta","Math","max","min","wheelDelta","detail","getZoom","defOpts","mpl","framesArea","transform","clearTimeout","elem","getElement","getElRect","frameRect","getFrameOffset","rTop","rLeft","docBody","noScroll","frmOff","cvsOff","winEl","frEl","offset","opt","getCanvasOffset","eo","frmTop","avoidFrameOffset","frmLeft","isTextNode","getComputedStyle","parseFloat","bEl","fo","co","getId","scriptContainer","script","createElement","scriptFn","getScriptString","scriptFnStr","scriptProps","stringify","__getScriptProps","scr","getFrameView","ready","frms","listenToLoad","mainFrame","setCurrentFrame","$frames","toolsWrp","hlEl","badgeEl","placerEl","ghostEl","toolbarEl","resizerEl","offsetEl","fixedOffsetEl","toolsGlobEl","getUiClass","getCanvasView","startAutoscroll","getFrame","index","getFramesEl","getDocument","_getCompFrame","compView","_getLocalEl","globalEl","getHighlighter","getBadgeEl","getGhostEl","getToolbarEl","getResizerEl","getOffsetViewerEl","getFixedOffsetViewerEl","getOffset","frameOff","canvasOff","setCustomBadgeLabel","getElementPos","getElementOffsets","getPosition","topScroll","leftScroll","getTargetToElementDim","element","canvasPos","pos","elPos","toRight","targetHeight","targetWidth","eventToTrigger","leftPos","topPos","elementTop","elementLeft","elementWidth","elementHeight","canvasTop","canvasLeft","canvasWidth","canvasHeight","canvasRectOffset","getFrameElFromDoc","rectOff","side","getTargetToElementFixed","elToMove","cvOff","toolbarH","toolbarW","frCvOff","frameOffset","fullHeight","elIsShort","canvasOffsetTop","canvasOffsetLeft","getMouseRelativePos","addTop","addLeft","subWinOffset","parentWindow","yOffset","pageYOffset","xOffset","pageXOffset","getMouseRelativeCanvas","hasFocus","toIgnore","focused","activeElement","matches","getViewEl","fr","getCurrentFrame","setZoom","setCoords","getCoords","pointerEvents","addFrame","keyAutoW","keyAutoH","Frame","changesCount","_undo","_undoexc","domc","allRules","idMap","modOpts","isComponent","Wrapper","idMapKeys","sel","selectors","sSel","idSel","prevId","substring","temporary","noCount","avoidStore","setHead","filter","getHeadByAttr","splice","addHeadItem","removeHeadByAttr","fromUndo","key","prop","isEmpty","onReset","onRemove","previousModels","p","removed","loadedItems","itemsToLoad","listenToLoadItems","itemLoaded","inlineCss","HTMLGenerator","htmlOpts","cleanId","rules","idRules","toJSON","rule","sels","isId","mod","attrs","toHTML","JsonGenerator","beforeEach","v","build","CodeMirror","JsGenerator","code","comps","extend","scrStr","scrProps","mapJs","ids","mapType","mapModel","toString","hasWin","require","CodeMirrorEditor","codeName","theme","readOnly","lineNumbers","fromTextArea","dragDrop","lineWrapping","mode","onChange","refresh","focus","ed","getValue","setValue","autoFormatRange","commands","selectAll","getCursor","goDocStart","noRefresh","EditorView","generators","defGenerators","viewers","defViewers","defaultViewer","gHtml","gCss","gJson","js","gJs","eCM","loadDefaultGenerators","loadDefaultViewers","addGenerator","generator","getGenerator","getGenerators","addViewer","viewer","getViewer","getViewers","createViewer","cont","txtarea","setElement","updateViewer","setContent","getCode","genId","maxValue","Number","MAX_VALUE","getMediaLength","mediaQuery","CssGenerator","compCls","avoidInline","styleToString","classes","getFullName","buildFromModel","cssc","codeJson","clearStyles","atRules","dump","onlyMatched","matchedRules","atRule","getAtRule","mRules","buildFromRule","sortMediaObject","rulesStr","ruleStr","r","found","selectorStrNoAdd","selectorsToString","skipAdd","selectorsAdd","singleAtRule","selector","keepUnusedStyles","getDeclaration","__cleanSelector","concat","itemsArr","a","b","isMobFirst","every","mquery","right","getQueryLength","getKey","q","strict","commandsDef","defaultCommands","active","CommandAbstract","k","action","sender","selAll","getSelectedAll","nativeDrag","defComOptions","modes","logWarning","hideTlb","altMode","includes","eventDrag","emitUpdate","setDragImage","cmdMove","Commands","onEndMoveFromModel","initSorterFromModels","UndoManager","undo","redo","oldCmd","default","cmdName","args","loadDefaultCommands","noStop","initialize","command","cmdObj","has","stopCommand","getActive","hasOwnProperty","force","callRun","abort","callStop","create","DomComponents","clear","CssComposer","canvasModel","toggleMove","disableDragger","onKeyUp","enableDragger","toggleDragger","methodCls","getCanvas","classList","methodEv","methodsEv","editorModel","hoverClass","badgeClass","plhClass","freezClass","Boolean","evName","guidesStatic","guidesTarget","setupGuides","isTran","guidesContainer","getGuidesContainer","getGuidesTarget","getGuidesStatic","drg","setOptions","toggleDrag","getEventOpts","guides","guide","guidesEl","elInfoX","elInfoY","guideContent","elGuideInfoX","elGuideInfoY","elGuideInfoContentX","elGuideInfoContentY","updateGuides","debug","renderGuide","children","getElementGuides","lastEl","lastPos","origin","getGuidePosUpdate","originRect","un","guideSize","numEl","getTranslate","axis","itemStr","toUpperCase","setTranslate","end","en","styleUp","adds","_getDragData","relPos","parentRel","pStyle","offsetP","renderGuideInfo","hideGuidesInfo","rectOrigin","isY","origEdge1","origEdge1Raw","origEdge2","origEdge2Raw","elGuideInfo","elGuideInfoCnt","guideInfoStyle","stat","statEdge2","gap","isEdge1","statEdge1","statEdge1Raw","statEdge2Raw","posFirst","posSecond","pos2","size","sizeRaw","round","matched","next","snd","len","incr","getChildAt","wrappers","Pages","getAllWrappers","flatten","findType","$","Backbone","SelectComponent","mouseover","startDelete","mouseout","stopDelete","onDelete","$this","attachBadge","badge","removeBadge","clean","updateBadgeLabel","getName","modal","cm","CodeManager","$editors","oHtmlEd","buildEditor","oCsslEd","htmlEditor","cssEditor","textViewCode","getHtml","getCss","codeMirror","isEnabled","d","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","requestFullscreen","webkitRequestFullscreen","mozRequestFullScreen","msRequestFullscreen","warn","exitFullscreen","webkitExitFullscreen","mozCancelFullScreen","msExitFullscreen","fsChanged","removeEventListener","targetEl","SelectPosition","noSelClass","getHighlighterEl","wp","$wrapper","initSorter","toggleClipboard","cacheEl","startSelectPosition","stopSelectComponent","getContentWindow","rollback","initSorterFromModel","lastModel","toMove","onMoveClb","which","keyCode","$badge","getBadge","$hl","unbind","onceClose","accept","modalTitle","uploadEl","firstRender","pn","Panels","getPanel","addPanel","lm","LayerManager","layers","panels","$cn","trgEvCnt","$cn2","dvm","DeviceManager","showDevices","devicePanel","dvEl","slm","SelectorManager","slmConfig","sm","StyleManager","smConfig","$header","pnCnt","panel","toggleSm","show","Config","tm","TraitManager","confTm","toggleTm","clp","added","addOpts","copyable","cop","contains","cmdVis","getPanels","preventDrag","tglEffects","mthEv","tlb","elP","querySelectorAll","shouldRunSwVisibility","editorEl","helper","onclick","canvasS","padding","margin","posFetcher","mousePosFetcher","canvasResizer","forceNew","Utils","Resizer","blur","handleClick","calibrated","execCommand","ToolbarView","ToolbarButtonView","ToolbarButton","showOffsets","adjScroll","startSelectComponent","toggleSelectComponent","listenToEl","onFrameUpdated","onContainerChange","onHovered","updateGlobalPos","_upToolbar","updateAttached","onHover","onOut","onFrameScroll","trg","isDoc","currentDoc","setHovered","useValid","updateLocalPos","updateToolsLocal","elHovered","toggleToolsEl","currentFrame","getView","isVisible","elSelected","updateToolsGlobal","initResize","getElSelected","getElHovered","showElementOffset","hideElementOffset","showFixedElementOffset","state","hideFixedElementOffset","hideHighlighter","isEditing","isChildOf","updateBadge","posOnly","icon","getIcon","clsBadge","customeLabel","badgeLabel","bStyle","targetToElem","leftOff","showHighlighter","modelToStyle","resizeClass","isTaggableNode","resizable","toggleBodyClass","docs","resizer","keyHeight","keyWidth","currentUnit","keepAutoHeight","keepAutoWidth","getModelToStyle","computedStyle","modelStyle","currentWidth","autoWidth","currentHeight","autoHeight","startDim","w","h","unitHeight","getUnitFromValue","unitWidth","selectedHandler","onlyHeight","onlyWidth","bodyw","updateEvent","eventToListen","noEmit","updateToolbar","toolbarStyle","toolbar","showToolbar","Toolbar","toolbarView","updateToolbarPos","getCanvasPosition","updateTools","isCompSelected","isHoverEn","isNewEl","lastHovered","badgeOpts","topOff","_trgToolUp","lastSelected","hideBadge","cleanPrevious","isPointed","scale","getOffsetDim","stopSelectPosition","posTargetCollection","posIndex","posMethod","cDim","posIsLastEl","posTargetEl","outsideElem","posTargetModel","nearFloat","dims","isLast","getOffsetMethod","showOffsetsSelected","stateVar","offsetViewer","marginT","marginB","marginL","marginR","padT","padB","padL","padR","childNodes","stateLow","toLowerCase","marginName","paddingName","marginV","paddingV","paddingEls","fullMargName","fullPadName","marginLeftSt","marginLeft","marginRightSt","marginRight","marginTopSt","marginTop","marginBottomSt","marginBottom","mtStyle","mbStyle","mlStyle","mrStyle","ptStyle","pbStyle","plStyle","prStyle","posLeft","widthEl","marginSideH","marginSideT","padTop","paddingTop","padBot","paddingBottom","padSideH","padSideT","paddingLeft","padRight","paddingRight","toggleVis","mth","_upFrame","_onFramesChange","__getConfig","onResult","isDef","array","getAllMap","reduce","acc","__initConfig","def","deepMerge","changedAttributes","__catchAllEvent","collections","propagate","entity","rm","__appendTo","str","_createId","ln","allMap","createId","__listenAdd","__listenRemove","__listenUpdate","__destroy","onBeforeStyle","CSS","CssRule","mediaText","stylable","atRuleType","important","group","shallow","ensureSelectors","__onChange","changed","isEmptyObj","changesUp","toListen","getSelectors","Selectors","condition","typeStr","addSelector","selOpts","escape","getFullString","stateStr","skipState","allowEmpty","devices","getDevices","deviceDefault","getWidthMedia","stateValue","getStates","sngl","cmpId","getById","__p","ruleProps","st","wd","selAdd","a1","a2","a1S","slice","a2S","Styleable","CssRules","onAdd","parseCss","rulesView","elStyle","postLoad","um","slc","singleSel","node","parserCss","checkNode","compare","addCollection","l","sl","newSels","j","le","selec","modelExists","updateStyle","avoidUpdateStyle","styleUpdate","addRules","setRule","atRuleParams","setStyle","getRule","getRules","setIdRule","getCurrentMedia","Selector","getIdRule","setClassRule","getClassRule","getComponentRules","getSelectorsString","CssRuleView","toCSS","CssGroupRuleView","createTextNode","getBlockId","addToCollection","renderStarted","atRuleEl","styleEl","appendData","clsName","defaultBlockId","blockId","getMediaWidth","contRules","prs","pluck","pr","unshift","widthMedia","Device","priority","checkUnit","Devices","DevicesView","change","startAdd","updateSelect","devEl","devicesEl","getOptions","evSelectBefore","evAddBefore","chnSel","dv","_onSelect","deviceId","newDevice","draggableComponents","processor","voidElements","ComponentWrapperView","ComponentView","Component","columns","rows","rowsToAdd","columnsToAdd","clm","ComponentTableBody","svgAttrs","void","editable","highlightable","ratioDefault","traits","fallback","initToolbar","hasButtonBool","tb","getAttrToHTML","getSrcResult","substr","btoa","isDefaultSrc","parseUri","uri","query","qrs","search","pair","decodeURIComponent","hostname","pathname","protocol","hash","port","mapUrl","address","frameborder","OComponent","placeholder","changeProp","parseFromSrc","updateSrc","getMapUrl","addr","qr","z","test","classEmpty","fetchFile","modelOpt","srcExists","addAttributes","onActive","getSrc","onError","noDrag","renderAttributes","getIframe","iframe","ifrm","frameBorder","updateClasses","ComponentText","ComponentLink","textTags","child","nodeType","compProt","apply","updateContentText","syncContent","rte","fromDisable","disableEditing","canActivate","delegate","rteEnabled","sameInEdit","getEditing","isInnerText","isInstanceOf","lastContent","activeRte","logError","toggleEvents","onDisable","getChildrenContainer","contentOpt","customRte","resetFromString","insertComponent","selection","getSelection","rangeCount","range","getRangeAt","textNode","startContainer","startOffset","textModel","newCmps","is","cmps","onInput","disablePropagation","mixins","setEditing","elDocs","prevDef","ComponentLinkView","yt","vi","ytnc","videoId","provider","ytUrl","ytncUrl","viUrl","loop","poster","muted","autoplay","controls","color","list","modestbranding","sources","updateTraits","getYoutubeTraits","getVimeoTraits","getSourceTraits","prov","parseInt","getYoutubeSrc","getYoutubeNoCookieSrc","getVimeoSrc","getProviderTrait","getAutoplayTrait","getLoopTrait","getControlsTrait","isYtProv","isYtncProv","isViProv","isExtProv","OComponentView","updateProvider","updateVideo","renderByProvider","videoEl","renderYoutube","renderYoutubeNoCookie","renderVimeo","renderSource","initVideoEl","layerable","scrCnt","scriptCount","svar","svarNext","svarFn","svarNextFn","__innerHTML","customName","charAt","selectable","hoverable","inSvg","_createElement","createElementNS","_setAttributes","updateStatus","updateAttributes","initClasses","initComponents","createComment","ComponentWrapper","removable","__hasUm","attrUp","__getSrc","getAttributes","componentView","componentsById","componentTypes","ComponentTableCell","ComponentTableCellView","ComponentTableRow","ComponentTableRowView","ComponentTable","ComponentTableView","ComponentTableHead","ComponentTableHeadView","ComponentTableBodyView","ComponentTableFoot","ComponentTableFootView","ComponentMap","ComponentMapView","ComponentLabel","ComponentLabelView","ComponentVideo","ComponentVideoView","ComponentImage","ComponentImageView","ComponentScript","ComponentScriptView","ComponentSvgIn","ComponentSvgView","ComponentSvg","ComponentFrame","ComponentFrameView","ComponentComment","ComponentCommentView","ComponentTextNode","ComponentTextNodeView","ComponentTextView","Components","ComponentsView","compTypes","componentHovered","selectAdd","selectRemove","rest","getComponents","addComponent","setComponents","extendView","extendFn","extendFnView","compType","extendType","extendViewType","typeToExtend","modelToExt","viewToExt","getExtendedObj","fns","srcToExt","parentFn","df","it","removeType","getShallowWrapper","shallowEm","keyUpdate","keyUpdateInside","canMove","source","reason","srcModel","allById","Trait","targetEvent","targetUpdated","locale","getTargetValue","valueOpts","partial","setTargetValue","fromTarget","trait","valueToSet","final","toSet","step","Traits","handleReset","tf","objs","optionsTarget","TraitFactory","escapeRegExp","keySymbols","keySymbol","keySymbolOvrd","property","parentAttr","newAttr","toPropagate","ccid","initTraits","initScriptProps","scriptUpdated","tagUpdated","attrUpdated","_idUpdated","__emitUpdateTlb","__propToParent","__postAdd","__isSymbolOrInst","__initSymb","recursive","__changesUp","__propSelfToParent","$els","eq","closest","setClass","attrPrev","diff","shallowDiff","setAttributes","noClass","attrArr","compAttr","optsAdd","inline","cc","parseStyle","propOrig","addId","noStyle","TYPE_ID","__getSymbol","__getSymbols","classe","classStr","toUp","symbol","symbols","log","context","__symbReady","__upSymbProps","__isSymbol","__isSymbolTop","symbTopSelf","__getSymbTop","symbTop","symb","ref","__getAllById","symbs","idx","ovrd","symbEnabled","fromInstance","noPropagate","__isSymbOvrd","__getSymbToUp","__logSymbol","propsChanged","optUp","toUpOpts","isTemp","addedInstances","isMainSymb","addSymb","cid","toAppend","addedInst","addedTop","symbolInv","isSymbNested","__isSymbolNested","toUpFn","symbPrnt","newMods","attrCls","clsArr","normalizeClasses","__upSymbCls","addChild","avoidChildren","__upSymbComps","__loadTraits","getInitValue","prevProps","newProps","prevPropsEv","newPropsEv","__scriptPropsChange","compArr","prevColl","tr","traitsI","getTraits","getTrait","arr","_inner","cloned","newId","rulesToClone","newRule","defName","nameTag","i18nPfx","i18nName","i18nNameTag","i18nDefName","capitalize","customTag","sTag","customAttr","withProps","isBoolean","valueRes","altQuoteAttr","attrString","inner","getInnerHTML","getChangedProps","modelProps","tagVarStart","tagVarEnd","reg","RegExp","updated","removeChildren","rmOpts","byType","oldId","setId","idS","_getStyleRule","idUpdate","idPrev","getList","_getStyleSelector","ensureInList","nextId","getIncrementId","getNewId","ilen","uid","random","keepIds","dm","checkId","badgable","unstylable","dmode","getComponentIds","getComponentsFromDefs","itms","newComponents","resetChildren","newIds","allByID","parsed","parseString","canRemoveStyle","rulesRemoved","__postRemove","parseHtml","optsToPass","nodes","isMult","processDef","__firstAdd","mdl","modelPr","$$typeof","parserHtml","splitPropsFromAttr","__onAddEnd","getClasses","updateHighlight","updateContent","handleChange","avoidRender","_clbObj","__isDraggable","childrenView","handleDragStart","importClasses","renderChildren","chgArr","selectedCls","selectedParentCls","freezedCls","hoveredCls","selCls","noExtHl","actualCls","getAttribute","avoidHover","isTextable","hl","onAttrUpdate","removeAttr","textable","defaultAttr","contenteditable","nodeName","hasComps","updateScript","getChildrenSelector","getTemplate","getOffsetRect","gtop","gleft","assignRect","offsetParent","bottom","isInViewport","elDoc","behavior","_ensureElement","_setData","replaceWith","call","triggerAdd","sameFrameView","viewObject","parentEl","lastIndex","ParserHtml","extendStyle","propNew","noEvent","removeStyle","imp","propPrv","_validate","newStyle","baseType","getBaseType","typeFound","recognizeType","ModelInst","ViewInst","extendViewApi","Input","handleModelChange","holderClass","getInputEl","__onInputChange","elementUpdated","fromInput","inputEl","plh","inputClass","defaultOpts","beforeShow","noop","move","flat","showInput","showButtons","clickoutFiresChange","showInitial","showPalette","showPaletteOnly","hideAfterPaletteSelect","togglePaletteOnly","showSelectionPalette","localStorageKey","maxSelectionSize","cancelText","chooseText","togglePaletteMoreText","togglePaletteLessText","clearText","noColorSelectedText","preferredFormat","containerClassName","replacerClassName","showAlpha","palette","selectionPalette","spectrums","IE","navigator","userAgent","rgbaSupport","cssText","backgroundColor","replaceInput","markup","gradientFix","dataID","spectrum","extra","returnValue","spect","option","removeData","loadOpts","inputTypeColorSupport","_cachedResult","colorInput","localization","palettes","processNativeColorInputs","colorInputs","trimLeft","trimRight","tinyCounter","math","mathRound","mathMin","mathMax","mathRandom","tinycolor","rgb","g","ok","format","named","names","matchers","rgba","hsl","hsla","hsv","hsva","hex8","convertHexToDecimal","parseIntFromHex","hex6","hex3","stringInputToObject","bound01","String","convertToPercentage","floor","hsvToRgb","hue2rgb","hslToRgb","boundAlpha","inputToRGB","_originalInput","_r","_g","_b","_a","_roundA","_format","_gradientType","gradientType","_ok","_tc_id","isDark","getBrightness","isLight","isValid","getOriginalInput","getFormat","getAlpha","toRgb","setAlpha","toHsv","rgbToHsv","toHsvString","toHsl","rgbToHsl","toHslString","toHex","allow3Char","rgbToHex","toHexString","toHex8","rgbaToHex","toHex8String","toRgbString","toPercentageRgb","toPercentageRgbString","toName","hexNames","toFilter","secondColor","hex8String","secondHex8String","formatSet","formattedString","hasAlpha","_applyModification","lighten","brighten","darken","desaturate","saturate","greyscale","spin","_applyCombination","analogous","complement","monochromatic","splitcomplement","triad","tetrad","fromRatio","newColor","equals","color1","color2","mix","amount","w1","rgb1","rgb2","w2","readability","c1","c2","brightnessA","brightnessB","colorDiff","brightness","abs","isReadable","mostReadable","baseColor","colorList","bestColor","bestScore","bestIsReadable","readable","score","CSS_UNIT","PERMISSIVE_MATCH3","PERMISSIVE_MATCH4","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","burntsienna","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","flipped","flip","paletteTemplate","tiny","swatchStyle","wait","timeout","callbackContext","callbacks","instanceOptions","resize","reflow","throttler","visible","isDragging","isDefault","dragWidth","dragHeight","dragHelperHeight","slideHeight","alphaWidth","alphaSlideHelperWidth","slideHelperHeight","currentHue","currentSaturation","currentValue","currentAlpha","paletteArray","paletteLookup","draggingClass","shiftMovementDirection","boundElement","pickerContainer","dragHelper","slider","slideHelper","alphaSliderInner","alphaSlider","alphaSlideHelper","textInput","paletteContainer","initialColorContainer","cancelButton","clearButton","chooseButton","toggleButton","isInput","isInputTypeColor","shouldReplace","replacer","offsetElement","previewElement","initialColor","colorOnShow","currentPreferredFormat","applyOptions","toggleClass","updateSelectionPaletteFromStorage","localStorage","oldPalette","addColorToSelectionPalette","inArray","drawPalette","currentColor","unique","reverse","getUniqueSelectionPalette","drawInitial","initial","setFromTextInput","updateOriginalInput","toggle","Event","isDefaultPrevented","hideAll","$doc","onkeydown","clickout","updateUI","revert","ignoreFormatChange","newHsv","updateHelperLocations","flatColor","realColor","displayColor","realHex","realRgb","alpha","realAlpha","gradient","alphaX","slideY","fireCallback","hasChanged","picker","extraY","dpWidth","outerWidth","dpHeight","outerHeight","inputHeight","docElem","documentElement","cW","clientWidth","cH","clientHeight","scL","scT","viewWidth","viewHeight","after","paletteElementClick","ignore","keydown","hasClass","shiftKey","oldDragX","oldDragY","furtherFromX","paletteEvent","optionName","optionValue","coord","onmove","onstart","onstop","maxHeight","maxWidth","hasTouch","duringDragEvents","prevent","documentMode","t0","touches","pageX","pageY","rightclick","hex","pad2","clamp01","hue","results","slices","part","ret","modification","n","isOnePointZero","processPercent","isPercentage","ColorPicker","getColor","cl","InputColor","colorEl","getColorEl","tc","valueClr","noneColor","previousColor","self","cpStyle","elToAppend","colorPickerConfig","setValueFromInput","noDefault","InputNumber","contClass","validateInputValue","deepCheck","validObj","getUnitEl","upArrowClick","downArrowClick","unitEl","units","temp","normalizeValue","moveIncrement","upIncrement","prValue","defValue","stepDecimals","toFixed","limitlessMax","limitlessMin","fixed","regFixed","valCopy","uN","ns","reuseView","itemsView","typeField","itemType","itemViewNotFound","clearItems","onRemoveBefore","traitInputAttr","localeFallback","detectLocale","messages","assetManager","addButton","inputPlh","uploadTitle","blockManager","labels","domComponents","comment","video","link","tfoot","tbody","thead","table","row","cell","deviceManager","desktop","tablet","mobileLandscape","mobilePortrait","buttons","titles","preview","fullscreen","selectorManager","emptyState","states","hover","styleManager","layer","fileButton","sectors","general","layout","typography","decorations","flex","dimension","properties","traitManager","false","_blank","storageManager","recover","messagesAdd","isObj","deepAssign","targValue","srcValue","addMessages","_localLang","setLocale","evObj","valuePrev","getLocale","getMessages","lang","_debug","setMessages","msg","localeFlb","lFlb","_getMsg","_addParams","nav","language","userLanguage","msgSet","_handlers","_mods","_scope","_MODIFIERS","ctrl","control","_MAP","backspace","tab","enter","return","esc","space","up","down","del","delete","home","pageup","pagedown","charCodeAt","_downKeys","compareArray","modifierMap","updateModifierKey","clearModifier","assignKey","resetModifiers","scope","mods","getKeys","getMods","shortcut","getScope","mi","addEvent","object","attachEvent","setScope","deleteScope","handlers","srcElement","isPressed","getPressedKeyCodes","multipleKeys","handler","modifiersMatch","cancelBubble","dispatch","keymaster","configDef","keymaps","defKeys","keymap","pk","removeAll","backdrop","ModalView","updateOpen","updateTitle","$collector","$content","$title","getCollector","getTitle","currAttr","updateAttr","triggerEvent","ModalM","enb","_evData","titl","createText","setTitle","onceOpen","getContentEl","sortable","hidable","hideTextnode","showWrapper","showHover","scrollCanvas","scrollLayers","highlightHover","onInit","ItemsView","inputProp","styleOpts","isStyleHidden","ItemView","clsNoEdit","count","countChildren","clsNoChild","clsTitle","clsTitleC","clsCaret","clsInput","inputNameCls","level","gut","clsBase","clsCount","clsMove","clsChildren","parentView","checkChildren","updateOpening","updateLayerable","updateName","clsEdit","viewLayer","__render","getInputName","innerText","eyeEl","hClass","getVisibilityEl","prevDspKey","prevDisplay","isEscKey","isEnterKey","handleEditEnd","setName","propName","inputName","opened","chvDown","getCaret","fromLayers","isCountable","caret","_rendered","__clearItems","hidden","vis","componentChanged","setRoot","getRoot","sortContainer","ignoreViewChildren","created","getSourceModel","forceChange","avoidSelectOnEnd","Page","defFrame","evPageSelectBefore","evPageUpdate","evPageAdd","evPageAddBefore","evPageRemove","evPageRemoveBefore","typeMain","selectBefore","addBefore","cnf","pages","_onPageChange","mainComp","getMainComponent","pg","getAllFrames","pagesMap","swv","expt","osm","otm","ola","obl","ful","prv","togglable","delayBtnsShow","Panel","btn","Buttons","ButtonView","listen","activeCls","disableCls","btnsVisCls","updateActive","checkActive","updateBtnsVis","updateClassName","updateDisable","chnOpt","fromListen","$buttons","fromCollection","commandName","deactivateAll","toggleActive","ButtonsView","parentM","PanelView","appendContent","toggleVisible","cr","bc","resz","resLen","tl","bl","br","silentFrames","avoidContainerUpdate","forContainer","styleWidth","styleHeight","PanelsView","PanelsViewObj","getPanelsEl","removePanel","panelId","removeButton","getButton","disableButtons","Button","runDefaultCommand","stopDefaultCommand","except","deactivateAllExceptOne","ctx","disableAllButtonsExceptOne","optionsHtml","htmlType","allowScripts","allowUnsafeAttr","atRuleKeys","singleAtRules","singleAtRulesNames","parseSelector","propValue","getPropertyValue","getPropertyPriority","parseCondition","conditionText","selectorText","createNode","selLen","lastClass","stateArr","parseNode","cssRules","keyText","isSingleAtRule","subRules","lens","subRule","selsParsed","selsAdd","lastRule","len3","selsAddStr","sheet","BrowserCssParser","output","classSets","classSet","pHtml","pCss","Parser","defaultType","parser","DOMParser","mimeType","strF","parseFromString","hEls","modelAttrStart","modelAttr","valueLen","valStr","firstChar","lastChar","decls","decl","parseClass","attrsLen","nodePrev","nodeChild","ct","namespaceURI","nodeValue","keepEmptyTextNodes","outerHTML","allTxt","foundTextNode","ci","cType","cf","BrowserParserHtml","__clearUnsafeAttr","styleStr","resHtml","returnArray","removeAttribute","btnState","isValidTag","anchorNode","focusNode","parentAnchor","parentFocus","customElAttr","defActions","bold","italic","underline","strikethrough","insertHTML","wrap","RichTextEditor","settings","setEl","updateActiveActions","__onKeydown","__onPaste","acts","actions","actionbar","inactive","actionbarCont","actionbarContainer","addAction","styleWithCSS","getActions","queryCommandSupported","queryCommandState","enabled","__toggleEffects","actionbarEl","contentEditable","syncActions","caretRangeFromPoint","poiner","rangeParent","createRange","setStart","rangeOffset","removeAllRanges","addRange","clipboardData","textHtml","sync","deleteContents","nd","insertNode","toSel","removeAttributes","adjustToolbar","eventsUp","hideToolbar","initRte","globalRte","updatePosition","rteInst","escapeName","selectedName","iconAdd","iconSync","iconTagOn","iconTagOff","iconTagRemove","componentFirst","State","ClassTagView","removeSelected","$chk","ClassTagsView","labelInfo","labelHead","stateInputId","stateInputC","checkSync","toList","toListCls","__handleStateChange","addNew","renderClasses","tagRemoved","renderStates","getTarget","cssC","getCommonSelectors","noDisabled","ruleComponents","getTargets","ruleComponent","updateStateVis","addToClasses","$addBtn","$input","addNewTag","endNewTag","getState","statesEl","targets","updateSelection","trgs","validSelectors","__getCommonSelectors","__common","hasStyle","$btnSyncEl","getStatesC","updateSelector","elSel","__getName","checkStates","getStyleable","idRes","addSelected","$states","$statesC","labelStates","getLabel","tmpOpts","renderRes","$classes","isClass","evState","cFirst","__update","selTags","selectorTags","isRule","cOpts","cname","getSelector","setState","setStates","__getCommon","getSelectedTargets","setComponentFirst","getComponentFirst","getValid","private","protected","namePreEsc","nameEsc","objLen","TYPE_CLASS","combine","tail","curr","combination","autosave","autoload","recovery","stepsBeforeSave","onStore","local","checkLocal","remote","urlStore","urlLoad","contentTypeJson","fetchOptions","LocalStorage","hasLocal","setItem","getItem","thr","RemoteStorage","request","__props","parsable","typeJson","typeHead","eventStart","eventAfter","eventEnd","eventError","STORAGE_LOCAL","STORAGE_REMOTE","_disable","storages","setCurrent","isAutosave","setAutosave","getStepsBeforeSave","setStepsBeforeSave","storage","getStorages","getCurrent","currentStorage","getCurrentStorage","getStorageOptions","getCurrentOptions","getRecoveryStorage","recoveryOpts","__exec","recoveryStorage","recoveryData","__askRecovery","getRecovery","rej","confirm","toStore","__clearKeys","onAfter","itemKey","itemKeyR","canAutoload","hideNotStylable","highlightChanged","highlightComputed","showComputed","clearProperties","avoidComputed","Property","__upTargets","callInit","parentProp","isClear","__getFullValue","__getParentProp","to","from","kProps","__getClearProps","toProps","applyStyle","__up","__trgEv","propertyUpdate","__upTargetsStyle","addStyleTargets","noTarget","hasValue","getDefaultValue","noParent","parentValue","getParentTarget","camelCase","__parseValue","_up","getParent","__canClearProp","parseValue","valueStr","lastIndexOf","functionName","numeric","num","withDefault","getFullValue","fnParameter","__parentTarget","toRequire","requires","requiresParent","stylableReq","sector","getProperties","values","callParentInit","skipInit","info","fixedValues","full","isNumberType","PropertyComposite","detached","separator","fromStyle","toStyle","Properties","__upProperties","byName","getSplitSeparator","__getJoin","getValues","isDetached","__clearIn","__upTargetsStyleProps","getStyleFromProps","__setProperties","__getSplitValue","nameProps","allNameProps","sep","__splitValue","props4Nums","__styleHasProps","upValue","valuesStr","Layer","getLayerLabel","getSelectedLayer","selectLayer","removeLayer","moveLayer","getStylePreview","Layers","VALUES_REG","PARTS_REG","PropertyStack","layerSeparator","layerJoin","prepend","layerLabel","selectedLayer","layersColl","__upSelected","__upLayers","__getLayers","getIndex","__select","getLayer","currIndex","getLayers","parts","joinLayers","__getJoinLayers","number","newVal","getStyleFromLayer","upValues","PropertyBase","getStyleFromLayers","layerSelect","__layers","__setLayers","newLayers","layersNew","__parseLayer","parseFn","getLayerSeparator","separatorLayers","__splitStyleName","inLayer","clearProp","icons","iconClose","__destroyFn","onValueChange","_getClbOpts","computedCls","labelEl","clearStyleEl","getClearEl","clearStyle","clearEl","emit","__setValueInput","createdEl","__change","__updateStyle","clearCached","clsType","templateLabel","templateInput","isFull","PropertiesView","appendAtIndex","PropertyCompositeView","PropertyView","propsView","LayerView","iconMove","propertyView","pModel","updateLabel","propsWrapEl","previewEl","getLabelEl","hasPreview","prvEl","getPreviewEl","wrapEl","getPropertiesWrapper","isSelected","LayersView","PropertyStackView","iconPlus","plus","addLayer","layersView","PropertyFileView","valueDef","prvBoxEl","backgroundImage","PropertyNumberView","inputInst","PropertyColorView","inp","__handleChange","PropertySelect","getOptionId","getOption","optId","propId","__onOptionChange","PropertySelectView","updateOptions","optionsRes","getOptionLabel","styleAttr","inputH","firstOpt","firstId","PropertyRadio","PropertyRadioView","itemCls","elId","titleAttr","checked","inputHld","inputIn","PropertyNumber","PropertySlider","PropertySliderView","getSliderEl","propertyAdd","propertyRemove","Sector","buildProps","extendBuilded","builded","buildProperties","extendProperties","checkExtend","propsModel","withValue","withParentValue","moProps","ex","pLen","mProps","ext","isolated","mProp","mPProps","buildP","builtIn","Sectors","sect","PropertyFactory","typeNumber","typeColor","typeRadio","typeSelect","typeFile","typeSlider","typeComposite","typeStack","unitsSize","unitsSizeNoPerc","unitsTime","unitsAngle","ss","optsFlex","optsFlexAlign","optsBgSize","optsBgAttach","optsBgRepeat","optsWrap","optsOverflow","optsDir","opstDisplay","optsTransitFn","optsCursor","optsFloat","optsPos","optsTextAlign","optsJustCont","optsAlignCont","optsAlignSelf","optsTransitProp","optsBorderStyle","optsBgPos","optsWeight","optsShadowType","optsFonts","font","fixedFontSizes","fixedLetSpace","requireFlex","__sub","spread","repeat","att","fromRes","SectorView","iconCaret","clsPfx","getPropertiesEl","setOpen","renderProperties","SectorsView","evSector","evSectorAdd","evSectorRemove","evSectorUpdate","evProp","evPropAdd","evPropRemove","evPropUp","evLayerSelect","evTarget","propDef","SectView","sectorAdd","sectorRemove","sectorUpdate","upAll","__upSel","__clearStateTarget","upProps","__upProps","trgCustom","__ctn","stateTarget","__getStateTarget","skip","addSector","getSector","_logNoSector","getSectors","removeSector","addProperty","sectorId","getProperty","removeProperty","lastTarget","lastTargetParents","getParentRules","getSelectedParents","targetState","getBuiltIn","getBuiltInAll","addBuiltIn","smConf","devicePreviewMode","hasClasses","useClasses","deviceW","avoidInlineStyle","cssGen","optsSel","cmpRules","otherRules","sortRules","createType","parentStyles","__upProp","__checkVisibility","sectorVisible","hasVal","isStack","isComposite","canUpdate","__getLayersFromStyle","__getPropsFromStyle","newValue","parentTarget","parentItem","__setParentTarget","newParentStyles","TraitView","eventCapture","clsField","removeView","rerender","elInput","getInputElem","onEvent","getClbOpts","setInputValue","postUpdate","getValueForTarget","tpl","createLabel","getModelValue","i18nAttr","getElInput","appendInput","inputs","createInput","noLabel","onUpdate","hasLabel","tmpl","renderLabel","renderField","TraitsView","updatedCollection","TraitSelectView","resultName","valResult","TraitCheckboxView","getCheckedValue","valueTrue","valueFalse","toInit","targetValue","TraitNumberView","inputNumber","$unit","TraitColorView","TraitButtonView","labelButton","typesDef","checkbox","__onUp","getTraitsViewer","baseView","beforeCache","maximumStackLength","trackSelection","hasSkip","getChanged","track","register","changeUndoType","hasUndo","undoExc","chn","previousAttributes","before","isRegistered","unregister","unregisterAll","startTracking","stopTracking","undoAll","redoAll","isAvailable","hasRedo","getInstance","objectRegistry","getStack","getStackGroup","inserted","getGroupedStack","createItem","goToGroup","getPointer","goTo","times","pointer","snapOffset","getDocumentEl","getContainerEl","getWindowEl","keyHandle","handleScroll","lastScroll","actualScroll","getScrollInfo","scrollDiff","lastScrollDiff","startPointer","getPointerPos","startPosition","getStartPosition","globScrollDiff","currentPos","glDiff","lockedAxis","detectAxisLock","moveDelta","deltaPre","currentPointer","snapGuides","newDelta","trgX","trgY","axs","trgPoint","statPoint","deltaPoint","trgGuide","isPointIn","trgValue","setGuideLock","lock","ofst","trgName","xPos","yPos","getPos","getPointerPosition","pEv","relX","relY","absX","absY","_Array$prototype","idRe","classRe","htmlRe","tagRe","getElementsByClassName","getElementsByTagName","Cash","__cash","eles","getElementById","parseHTML","cash","last","callback","ele","camelCaseRe","camelCaseWhitespaceRe","letter","removeProp","guid","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","isNumeric","isFinite","getCompareFunction","comparator","splitValuesRe","getSplitValues","computeStyle","isVariable","computeStyleInt","check","_value","isForce","cssVariableRe","isCSSVariable","prefixedProps","docEl","vendorsPrefixes","getPrefixedProp","propCC","propUC","prefixedProp","numericProps","animationIterationCount","columnCount","flexGrow","flexShrink","fontWeight","lineHeight","orphans","widows","zIndex","getSuffixedValue","setProperty","dataNamespace","dataAttributeRe","getDataCache","cache","dataset","getExtraSpace","xAxis","hasNamespaces","ns1","ns2","removeEventListeners","_ref","hasData","_this","setData","boxSizing","includeMargins","getEventsCache","parseEventName","eventName","removeEvent","namespaces","eventCache","_ref2","cb","eventFullName","_this2","_parseEventName","_one","_this3","_parseEventName2","finalCallback","namespace","thisArg","one","readyState","evt","_parseEventName3","createEvent","initEvent","selectOneRe","selectMultipleRe","selectedIndex","getValueSelectSingle","getValueSelectMultiple","queryEncodeSpaceRe","skippableRe","checkableRe","serialize","elements","encodeURIComponent","queryEncode","isMultiple","eleValue","cloneNode","detach","containers","fragmentRe","singleTagRe","td","th","initContainers","$1","insertContent","isStr","insertAdjacentHTML","insertElement","_this4","insertAfter","_this5","nextSibling","_this6","_this7","_this8","_this9","prependTo","_this10","$eles","replaceChild","replaceAll","docEle","clientTop","clientLeft","contents","nextElementSibling","not","parents","previousElementSibling","siblings","KEY_ATTR","getClientRects","oldEl","newEl","total","lastChild","oEvent","keyCodeVal","defineProperty","vNodes","vNodesArr","vnode","TypeError","remaining","setTimeoutFunc","_state","_handled","_deferreds","doResolve","handle","deferred","_immediateFn","onFulfilled","onRejected","finale","_unhandledRejectionFn","Handler","done","prom","promiseFinally","allSettled","race","setImmediate","req","XMLHttpRequest","withCredentials","setRequestHeader","statusText","responseText","onProgress","onprogress","send","literals","substs","raw","lit","subst","elT","elL","borderOffset","freezeClass","relative","ignoreModels","offTop","offLeft","$document","dropContent","selectOnEnd","activeTextModel","getScale","getDocuments","dropModel","updateTextViewCursorPosition","targetDoc","setContentEditable","toggleSortCursor","clonedEl","computed","moveDragHelper","posY","posX","dragHelperStyle","useBody","createPlaceholder","ins","prevTarget","sourceEl","clearSelection","getTargetModel","isTextableActive","tempModel","selectTargetModel","targetModel","dsp","eO","rY","rX","mousePos","eventMove","sourceModel","dimsFromTarget","lastDims","findPosition","disableTextable","movePlaceholder","prevTargetDim","$plh","isInFlow","styleInFlow","$parent","overflow","propFloat","trgModel","dragInfo","dropInfo","targetP","validResult","getDim","cacheDimsP","getChildrenDim","cacheDims","nearBorders","targetParent","getTargetFromEl","targetPrev","nearElBorders","getCurrentPos","offsets","getCurrentView","elIndex","dir","indexEl","leftLimit","xLimit","yLimit","xCenter","yCenter","dimDown","trgDim","elDim","marg","pT","pL","obj1","obj2","ancester","s1","toMoveArr","domPositionOffset","dst","modelToDrop","srcEl","warns","targetCollection","srcIndex","sameCollection","errors","onUpdateContainer","minDim","maxDim","getBoundingRect","setup","hdl","createHandler","parentElement","updateContainer","forceShow","handleMouseDown","getParentEl","attrName","parentRect","handlerAttr","clickedHandler","rectDim","startPos","parentDim","handleKeyDown","toggleFrames","mouseFetch","altKey","calc","updateRect","getSelectedHandler","isHandler","deltaX","deltaY","parentW","parentH","startW","startH","box","normalizeFloat","ratioActive","ratio","helpers","getGlobal","global","elProt","Element","defCls","customUI","appendStyles","prepand","objOrig","objNew","keysNew","origValue","upFirst","nativeDnD","isCommentNode","__cashData","rectText","selectNode","getKeyCode","fromCharCode","__gjsv","chars","_","core_slice","hasKeys","getMagicFusionIndex","callstackWasIndexed","magicFusionIndex","indexCycle","defer","ObjectRegistry","registeredObjects","cidIndexes","onoff","objects","actionUndoRedo","undoTypes","managerUndoRedo","manager","magic","everything","isCurrentlyUndoRedoing","isUndo","validateUndoActionCreation","undoTypesType","addToStack","UndoTypes","unsetData","afterAttributes","keysAfter","pick","keysPrevious","OwnedUndoTypes","manipulateUndoType","manipType","undoType","undoTypesInstance","Action","UndoStack","Infinity","setMaxLength","isArguments","isTracking","_addToStack","merge","undoManager","addUndoType","removeUndoType","defaultAttributes","previousBackbone","VERSION","noConflict","emulateHTTP","emulateJSON","addMethod","attribute","iteratee","defaultVal","addUnderscoreMethods","Class","instance","_isModel","modelMatcher","matcher","Events","eventSplitter","eventsApi","internalOn","listening","_events","onApi","_listeners","_listenId","uniqueId","listeningTo","_listeningTo","thisId","objId","offApi","listeners","_callback","onceMap","listenToOnce","offer","triggerApi","objEvents","allEvents","triggerEvents","a3","cidPrefix","validationError","changes","changing","_changing","_previousAttributes","isEqual","_pending","old","success","resp","serverAttrs","wrapError","save","validate","isNew","patch","xhr","base","urlError","pairs","invert","omit","chain","_reset","addOptions","insert","singular","_removeModels","merged","toMerge","modelMap","sortAttr","existing","_prepareModel","_addReference","orderChanged","_removeReference","_byId","modelId","findWhere","sortBy","callbackOpts","_onModelEvent","collect","foldl","inject","reduceRight","foldr","detect","any","include","invoke","toArray","take","drop","without","difference","shuffle","sample","partition","groupBy","countBy","indexBy","findIndex","findLastIndex","viewOptions","delegateEventSplitter","_removeElement","undelegateEvents","_setElement","listener","undelegate","methodMap","dataType","contentType","_method","beforeSend","processData","textStatus","errorThrown","ajax","Router","routes","_bindRoutes","optionalParam","namedParam","splatParam","route","isRegExp","_routeToRegExp","router","history","_extractParameters","execute","navigate","optional","History","checkUrl","location","routeStripper","rootStripper","pathStripper","started","interval","atRoot","getSearch","matchRoot","decodeFragment","decodeURI","getHash","getPath","path","getFragment","_usePushState","_wantsHashChange","hashChange","_hasHashChange","_useHashChange","_wantsPushState","pushState","_hasPushState","rootPath","tabIndex","iWindow","_checkUrlInterval","setInterval","loadUrl","detachEvent","clearInterval","assign","_updateHash","protoProps","staticProps","__super__","extendMode","commentStart","commentEnd","newlineAfterToken","_type","textAfter","jsonMode","lexical","inlineElements","configuration","defineExtension","isComment","curMode","innerMode","getMode","getTokenAt","operation","replaceRange","line","ch","setCursor","selText","getRange","startIndex","endIndex","cmInstance","indentLine","outer","copyState","tabSize","out","lines","atSol","newline","stream","StringStream","eol","token","cur","string","blankLine","setSelection","platform","gecko","ie_upto10","ie_11up","edge","ie","ie_version","webkit","qtwebkit","chrome","presto","safari","vendor","mac_geMountainLion","phantom","ios","maxTouchPoints","android","mobile","mac","chromeOS","windows","presto_version","flipCtrlCmd","captureRightClick","classTest","rmClass","removeChildrenAndAdd","elt","eltP","host","activeElt","shadowRoot","joinClasses","as","endNode","setEnd","createTextRange","moveToElementText","collapse","moveEnd","moveStart","selectInput","copyObj","overwrite","countColumn","startValue","nextTab","selectionStart","selectionEnd","_e","Delayed","time","onTimeout","Date","ms","scrollerGap","Pass","sel_dontScroll","sel_mouse","sel_move","findColumn","goal","col","skipped","spaceStrs","spaceStr","lst","insertSorted","nothing","createObj","inst","nonASCIISingleCaseWordChar","isWordCharBasic","isWordChar","extendingChars","isExtendingChar","skipExtendingChars","findFirst","pred","midF","mid","ceil","iterateBidiSections","bidiOther","getBidiPartAt","sticky","bidiOrdering","lowTypes","arabicTypes","charType","bidiRE","isNeutral","isStrong","countsAsLeft","countsAsNum","BidiSpan","outerType","i$1","i$2","type$1","i$3","prev$1","type$2","i$4","type$3","i$5","cur$1","type$4","i$6","end$1","replace$1","j$1","i$7","isRTL","j$2","nstart","getOrder","noHandlers","emitter","getHandlers","signal","signalDOMEvent","override","defaultPrevented","e_defaultPrevented","codemirrorIgnore","signalCursorActivity","cursorActivity","curOp","cursorActivityHandlers","hasHandler","eventMixin","ctor","e_preventDefault","e_stopPropagation","e_stop","e_target","e_button","zwspSupported","badBidiRects","dragAndDrop","div","zeroWidthElement","measure","hasBadBidiRects","txt","r0","r1","splitLinesAuto","nl","rt","hasSelection","te","compareEndPoints","hasCopyEvent","oncopy","badZoomedRects","hasBadZoomedRects","normal","fromRange","mimeModes","defineMode","dependencies","defineMIME","mime","spec","resolveMode","mfactory","modeObj","modeExtensions","exts","helperType","modeProps","prop$1","nstate","startState","lineOracle","lastColumnPos","lastColumnValue","lineStart","getLine","chunk","sz","chunkSize","getBetween","iter","getLines","updateLineHeight","lineNo","no","lineAtHeight","lh","isLine","lineNumberFor","lineNumberFormatter","firstLineNumber","Pos","equalCursorPos","copyPos","maxPos","minPos","clipLine","clipPos","clipToLen","linelen","clipPosArray","sol","peek","eat","eatWhile","eatSpace","skipToEnd","skipTo","backUp","column","indentation","pattern","consume","caseInsensitive","cased","hideFirstChars","lookAhead","oracle","baseToken","SavedContext","Context","maxLookAhead","baseTokens","baseTokenPos","highlightLine","forceToEnd","modeGen","lineClasses","runMode","overlay","overlays","i_end","opaque","bgClass","textClass","getLineStyles","updateFrontier","getContextBefore","resetState","maxHighlightLength","stateAfter","styleClasses","highlightFrontier","modeFrontier","precise","findStartLine","saved","fromSaved","processLine","viewFrom","viewTo","nextLine","startAt","callBlankLine","readToken","copy","Token","takeToken","asArray","tokens","extractLineClasses","lineClass","flattenSpans","curStart","curStyle","addModeClass","mName","minindent","minline","lim","indented","retreatFrontier","sawReadOnlySpans","sawCollapsedSpans","seeReadOnlySpans","seeCollapsedSpans","MarkedSpan","marker","getMarkedSpanFor","spans","span","removeMarkedSpan","addMarkedSpan","op","inThisOp","WeakSet","markedSpans","attachLine","markedSpansBefore","startCh","isInsert","nw","inclusiveLeft","insertLeft","endsAfter","inclusiveRight","markedSpansAfter","endCh","startsBefore","stretchSpansOverChange","oldFirst","oldLast","sameLine","span$1","clearEmptySpans","newMarkers","gapMarkers","clearWhenEmpty","removeReadOnlyRanges","markers","mark","mk","newParts","dfrom","dto","detachMarkedSpans","detachLine","attachMarkedSpans","extraLeft","extraRight","compareCollapsedMarkers","lenDiff","aPos","bPos","fromCmp","toCmp","collapsedSpanAtSide","sps","sp","collapsed","collapsedSpanAtStart","collapsedSpanAtEnd","collapsedSpanAround","conflictingCollapsedRange","visualLine","visualLineEnd","visualLineContinued","visualLineNo","lineN","visualLineEndNo","lastLine","lineIsHidden","widgetNode","lineIsHiddenInner","heightAtLine","lineObj","lineLength","found$1","findMaxLine","maxLine","maxLineLength","maxLineChanged","Line","estimateHeight","updateLine","estHeight","cleanUpLine","styleToClassCache","styleToClassCacheWithMode","interpretTokenStyle","buildLineContent","lineView","builder","pre","trailingSpace","splitSpaces","addToken","buildToken","buildTokenBadBidi","insertLineContent","externalMeasured","maps","caches","defaultSpecialCharPlaceholder","startStyle","endStyle","displayText","special","specialChars","mustWrap","txt$1","tabWidth","specialCharPlaceholder","fullStyle","trailingBefore","spaceBefore","buildCollapsedSpan","ignoreWidget","widget","needsContentAttribute","setUneditable","allText","spanStyle","spanEndStyle","spanStartStyle","nextChange","foundBookmarks","endStyles","upto","tokenText","LineView","buildViewArray","nextPos","operationGroup","pushOperation","ops","ownsGroup","delayedCallbacks","fireCallbacksForOps","cursorActivityCalled","finishOperation","endCb","orphanDelayedCallbacks","signalLater","fireOrphanDelayed","delayed","updateLineForChanges","updateLineText","updateLineGutter","updateLineClasses","updateLineWidgets","ensureLineWrapped","updateLineBackground","background","getLineContent","built","wrapClass","gutter","gutterBackground","gutterClass","fixedGutter","fixedPos","gutterTotalWidth","gutterMarkers","wrap$1","gutterWrap","lineNumber","gutterLeft","gutterSpecs","gutterWidth","alignable","isWidget","insertLineWidgets","buildLineElement","insertLineWidgetsFor","allowAbove","widgets","ws","handleMouseEvents","positionLineWidget","above","noHScroll","wrapperWidth","coverGutter","widgetHeight","parentStyle","gutters","eventInWidget","sizer","mover","lineSpace","paddingVert","paddingH","cachedPaddingH","currentStyle","scrollGap","nativeBarWidth","displayWidth","scroller","barWidth","displayHeight","barHeight","ensureLineHeights","wrapping","curWidth","heights","rects","mapFromLineView","updateExternalMeasurement","lineMeasure","measureChar","bias","measureCharPrepared","prepareMeasureForLine","findViewForLine","findViewIndex","getDimensions","forceUpdate","hasHeights","prepared","varHeight","measureCharInner","bogus","rtop","rbottom","measureText","nullRect","nodeAndOffsetInLineMap","mStart","mEnd","coverStart","coverEnd","getUsefulRect","place","maybeUpdateRectForZooming","rSpan","charWidth","rbot","bot","singleCursorHeightPerLine","screen","logicalXDPI","deviceXDPI","scaleX","scaleY","logicalYDPI","deviceYDPI","clearLineMeasurementCacheFor","clearLineMeasurementCache","externalMeasure","clearCaches","cachedCharWidth","cachedTextHeight","lineNumChars","pageScrollX","pageScrollY","widgetTopHeight","intoCoordSystem","includeWidgets","yOff","viewOffset","lOff","xOff","fromCoordSystem","coords","localBox","lineSpaceBox","charCoords","cursorCoords","preparedMeasure","getBidi","partPos","other","estimateCoords","PosWithInfo","outside","xRel","coordsChar","coordsCharInner","rangeEnd","wrappedLineExtent","begin","wrappedLineExtentChar","boxIsAfter","ltr","coordsBidiPartWrapped","coordsBidiPart","baseX","chAround","boxAround","atLeft","atStart","_lineNo","closestDist","endX","dist","textHeight","anchor","compensateForHScroll","perLine","widgetsHeight","estimateLineHeights","est","posFromMouse","liberal","forRect","e$1","colDiff","regChange","lendiff","updateLineNumbers","viewChanged","resetView","cut","viewCuttingPoint","cut$1","cutTop","cutBot","regLineChange","oldN","newN","adjustView","countDirtyView","dirty","showSelection","prepareSelection","primary","curFragment","cursors","selFragment","ranges","primIndex","showCursorWhenSelecting","drawSelectionCursor","drawSelectionRange","cursor","cursorHeight","getWrapperElement","charPos","otherCursor","cmpCoords","leftSide","rightSide","sizerWidth","docLTR","drawForLine","fromArg","toArg","lineLen","wrapX","extent","fromPos","toPos","openStart","openEnd","openRight","topLeft","topRight","botLeft","botRight","sFrom","sTo","fromLine","toLine","singleVLine","leftEnd","rightStart","restartBlink","blinker","cursorDiv","visibility","cursorBlinkRate","onBlur","ensureFocus","onFocus","delayBlurEvent","delayingBlurEvent","draggingText","selForContextMenu","receivedFocus","updateHeightsInViewport","prevBottom","lineDiv","viewTop","oldHeight","mustScroll","updateWidgetHeight","chWidth","visibleLines","viewport","ensure","ensureFrom","ensureTo","maybeScrollWindow","doScroll","innerHeight","scrollNode","scrollPosIntoView","limit","endCoords","scrollPos","calculateScrollPos","startTop","startLeft","updateScrollTop","setScrollLeft","snapMargin","screentop","docBottom","atTop","atBottom","newTop","gutterSpace","screenleft","screenw","tooWide","addToScrollTop","resolveScrollToPos","ensureCursorVisible","scrollToPos","cursorScrollMargin","scrollToCoords","scrollToRange","scrollToCoordsRange","sPos","updateDisplaySimple","setScrollTop","startWorker","forceScroll","scrollHeight","scrollbars","isScroller","scrollWidth","alignHorizontally","measureForScrollbars","gutterW","docH","barLeft","docHeight","NativeScrollbars","vert","horiz","checkedZeroWidth","minHeight","minWidth","needsH","needsV","sWidth","totalHeight","totalWidth","zeroWidthHack","disableHoriz","enableZeroWidthBar","disableVert","bar","delay","maybeDisable","NullScrollbars","updateScrollbars","startWidth","startHeight","updateScrollbarsInner","sizes","heightForcer","borderBottom","scrollbarFiller","coverGutterNextToScrollbar","gutterFiller","scrollbarModel","initScrollbars","scrollbarStyle","nextOpId","startOperation","updateInput","typing","changeObjs","selectionChanged","updateMaxLine","markArrays","endOperation","endOperations","endOperation_R1","endOperation_W1","endOperation_R2","endOperation_W2","endOperation_finish","maybeClipScrollbars","mustUpdate","DisplayUpdate","updatedDisplay","updateDisplayIfNeeded","barMeasure","adjustWidthTo","maxScrollLeft","preparedSelection","takeFocus","setDocumentHeight","postUpdateDisplay","wheelStartX","wheelStartY","maybeHiddenMarkers","unhidden","maybeUnhiddenMarkers","finish","runInOp","methodOp","docMethodOp","highlight","highlightWorker","workTime","changedLines","oldStyles","highlighted","oldCls","newCls","ischange","workDelay","editorIsHidden","wrapperHeight","oldDisplayWidth","scrollbarsClipped","borderRightWidth","selectionSnapshot","anchorOffset","focusOffset","restoreSelection","snapshot","renderedView","maybeUpdateLineNumberWidth","viewportMargin","different","lastWrapHeight","lastWrapWidth","toUpdate","selSnapshot","patchDisplay","selectionDiv","reportedViewFrom","reportedViewTo","updateNumbersFrom","currentWheelTarget","updateNumber","updateGutterSpace","alignWidgets","align","innerW","lineGutter","lineNumInnerWidth","lineNumWidth","getGutters","sawLineNumbers","renderGutters","specs","gElt","updateGutters","Display","wheelDX","wheelDY","activeTouch","wheelSamples","wheelPixelsPerUnit","wheelEventDelta","dx","wheelDeltaX","dy","wheelDeltaY","HORIZONTAL_AXIS","VERTICAL_AXIS","wheelEventPixels","onScrollWheel","canScrollX","canScrollY","pixels","movedX","movedY","Selection","here","there","deepCopy","Range","somethingSelected","normalizeSelection","mayTouch","selectionsMayTouch","prim","inv","simpleSelection","changeEnd","adjustForChange","computeSelAfterChange","offsetPos","computeReplacedSel","hint","oldPrev","newPrev","loadMode","modeOption","resetModeState","isWholeLineUpdate","wholeLineUpdateBefore","updateDoc","spansFor","linesFor","firstLine","lastText","lastSpans","nlines","added$1","added$2","linkedDocs","sharedHistOnly","sharedHist","linked","shared","attachDoc","setDirectionClass","directionChanged","undone","undoDepth","lastModTime","lastSelTime","lastOp","lastSelOp","lastOrigin","lastSelOrigin","generation","maxGeneration","historyChangeFromChange","histChange","attachLocalSpans","clearSelectionEvents","lastChangeEvent","hist","addChangeToHistory","selAfter","opId","historyEventDelay","pushSelectionToHistory","selectionEventCanBeMerged","addSelectionToHistory","clearRedo","dest","removeClearedSpans","explicitlyCleared","getOldSpans","mergeOldSpans","stretched","oldCur","stretchCur","copyHistoryArray","newGroup","instantiateSel","newChanges","extendRange","posBefore","extendSelection","extendSelections","heads","replaceOneSelection","setSimpleSelection","filterSelectionChange","setSelectionReplaceHistory","setSelectionNoUndo","NaN","setSelectionInner","skipAtomicInSelection","reCheckSelection","mayClear","newAnchor","skipAtomic","newHead","skipAtomicInner","oldPos","preventCursorLeft","selectLeft","preventCursorRight","selectRight","atomic","near","movePos","far","cantEdit","filterChange","canceled","makeChange","ignoreReadOnly","suppressEdits","makeChangeInner","makeChangeSingleDoc","rebased","rebaseHist","makeChangeFromHistory","allowSelectionOnly","suppress","antiChanges","returned","shiftDoc","distance","makeChangeSingleDocInEditor","recomputeMaxLength","checkWidthStart","changesHandler","changeHandler","splitLines","rebaseHistSelSingle","rebaseHistArray","sub","copied","changeLine","changeType","LeafChunk","BranchChunk","removeInner","insertInner","iterN","leaf","maybeSpill","me","sibling","myIndex","used","LineWidget","adjustScrollWhenAboveVisible","addLineWidget","aboveVisible","this$1","oldH","nextMarkerId","TextMarker","markText","markTextShared","replacedWith","addToHistory","curLine","clearOnEnter","clearHistory","withOp","visual","dHeight","SharedTextMarker","isParent","findSharedMarkers","findMarks","copySharedMarkers","mFrom","mTo","subMark","detachSharedMarkers","subMarker","nextDocId","Doc","lineSep","cleanGeneration","lineSeparator","getLineHandle","getLineNumber","getLineHandleVisualStart","lineCount","listSelections","extendSelectionsBy","setSelections","addSelection","getSelections","replaceSelection","dup","replaceSelections","newSel","undoSelection","redoSelection","setExtending","getExtending","historySize","markClean","changeGeneration","forceSplit","isClean","gen","getHistory","setHistory","histData","setGutterMarker","gutterID","clearGutter","lineInfo","addLineClass","removeLineClass","removeLineWidget","setBookmark","realOpts","findMarksAt","getAllMarks","posFromIndex","sepSize","indexFromPos","copyHistory","linkedDoc","unlinkDoc","splitIds","iterLinkedDocs","setDirection","eachLine","lastDrop","clearDragCursor","isReadOnly","File","read","markAsReadAndPasteIfAllFilesAreRead","readTextFromFile","allowDropFileTypes","readAsText","text$1","onDragStart","effectAllowed","img","_top","dragCursor","forEachCodeMirror","byClass","editors","globalsRegistered","ensureGlobalHandlers","registerGlobalHandlers","resizeTimer","onResize","setSize","keyNames","keyMap","normalizeKeyName","normalizeKeyMap","keyname","lookupKey","getKeyMap","fallthrough","isModifierKey","addModifierNames","noShift","keyName","altGraphKey","deleteNearSelection","compute","kill","toKill","replaced","moveCharLogically","moveLogically","endOfLine","visually","prep","targetTop","moveVisually","bidi","mv","getWrappedLineExtent","moveInStorageOrder","searchInVisualLine","getRes","nextCh","basic","pcDefault","emacsy","macDefault","singleSelection","killLine","deleteLine","delLineLeft","delWrappedLineLeft","delWrappedLineRight","rightPos","goDocEnd","goLineStart","goLineStartSmart","lineStartSmart","goLineEnd","lineEnd","goLineRight","goLineLeft","goLineLeftSmart","goLineUp","moveV","goLineDown","goPageUp","goPageDown","goCharLeft","moveH","goCharRight","goColumnLeft","goColumnRight","goWordLeft","goGroupRight","goGroupLeft","goWordRight","delCharBefore","deleteH","delCharAfter","delWordBefore","delWordAfter","delGroupBefore","delGroupAfter","indentAuto","indentSelection","indentMore","indentLess","insertTab","insertSoftTab","spaces","defaultTab","transposeChars","newlineAndIndent","openLine","toggleOverwrite","firstNonWS","inWS","doHandleBinding","bound","dropShift","ensurePolled","prevShift","lookupKeyForEditor","keyMaps","extraKeys","stopSeq","dispatchKey","seq","keySeq","dispatchKeyInner","handleKeyBinding","motion","handleCharBinding","lastStoppedKey","onKeyDown","getField","handled","showCrossHair","charCode","lastClick","lastDoubleClick","DOUBLECLICK_DELAY","PastClick","clickRepeat","now","onMouseDown","supportsTouch","clickInGutter","selectingText","handleMappedButton","leftButtonDown","onContextMenu","configureMouse","moveOnDrag","contained","leftButtonStartDrag","leftButtonSelect","mouseMove","preventScroll","e2","rangeForUnit","findWordAt","ourRange","ourIndex","startSel","extendTo","startCol","posCol","oldRange","ranges$1","bidiSimplify","editorSize","curCount","anchorLine","boundary","headIndex","usePart","gutterEvent","mX","mY","lineBox","contextMenuInGutter","themeChanged","Init","optionHandlers","defineOptions","deflt","notOnInit","defineOption","newBreaks","getInputField","spellcheck","autocorrect","autocapitalize","attach","wrappingChanged","integer","readOnlyChanged","screenReaderLabelChanged","dragDropChanged","resetPosition","funcs","dragFunctions","leave","inputStyles","inputStyle","pasteIncoming","cutIncoming","autofocus","registerEventHandlers","finishInit","initHooks","textRendering","word","touchFinished","prevTouch","finishTouch","isMouseLikeTouchEvent","touch","radiusX","radiusY","farAway","how","aggressive","indent","curSpace","curSpaceString","indentUnit","indentString","indentWithTabs","pos$1","defineInitHook","lastCopied","setLastCopied","newLastCopied","applyTextInput","deleted","recent","paste","textLines","multiPaste","pasteLinesPerSelection","lineWise","changeEvent","triggerElectric","handlePaste","pasted","disableInput","electricChars","smartIndent","getModeAt","electricInput","copyableRanges","lineRange","disableBrowserMagic","field","hiddenTextarea","addEditorMethods","setOption","addKeyMap","removeKeyMap","addOverlay","modeSpec","removeOverlay","newRanges","getLineTokens","getTokenTypeAt","getHelper","getHelpers","help","_global","getStateAfter","defaultTextHeight","defaultCharWidth","getViewport","addWidget","vspace","hspace","triggerOnKeyDown","triggerOnKeyPress","triggerOnKeyUp","triggerOnMouseDown","findPosH","hitSide","rtlMoveVisually","findPosV","goalColumn","goals","headPos","startChar","interpret","swapDoc","phrase","phraseText","phrases","getScrollerElement","getGutterElement","registerHelper","registerGlobalHelper","predicate","origDir","lineDir","findNextLine","moveOnce","boundToLine","astral","sawType","pageSize","moveAmount","ContentEditableInput","lastAnchorNode","lastAnchorOffset","lastFocusNode","lastFocusOffset","polling","composing","gracePeriod","readDOMTimeout","posToDOM","isInGutter","scan","badPos","bad","domTextBetween","closing","extraLinebreak","recognizeMarker","addText","walk","cmText","markerID","isBlock","domToPos","lineNode","locateNodeInLineView","topNode","curNode","previousSibling","dist$1","belongsToInput","onCopyCut","lineWiseCopyCut","clearData","kludge","hadFocus","showPrimarySelection","updateFromDOM","readFromDOMSoon","forceCompositionEnd","showMultipleSelections","curAnchor","curFocus","rng","startGracePeriod","rememberSelection","selectionInEditor","commonAncestorContainer","poll","pollSelection","pollInterval","pollContent","fromIndex","fromNode","toNode","toIndex","newText","oldText","cutFront","cutEnd","oldTop","maxCutFront","newBot","oldBot","maxCutEnd","chFrom","chTo","TextareaInput","prevInput","pollingFast","textarea","tabindex","realSubmit","leaveSubmitMethodAlone","wrappedSubmit","getTextArea","toTextArea","addLegacyProps","cmpPos","createField","prepareCopyCut","fastPoll","_display","moveInputWithCursor","wrapOff","lineOff","teTop","teLeft","drawn","contextMenuPending","slowPoll","missed","same","resetSelectionOnContextMenu","oldScrollY","oldCSS","oldWrapperCSS","wrapperBox","scrollY","rehide","detectingSelectAll","prepareSelectAllHack","mouseup","extval","dontDelegate","defineDocExtension","version","keySet","parserConfig","propertyKeywords","tokenHooks","documentTypes","mediaTypes","mediaFeatures","mediaValueKeywords","nonStandardPropertyKeywords","fontProperties","counterDescriptors","colorKeywords","valueKeywords","allowNested","lineComment","supportsAtComponent","highlightNonStandardPropertyKeywords","tp","tokenBase","tokenize","tokenString","tokenParenthesized","quote","escaped","pushContext","popContext","pass","popAndPass","wordAsValue","stateArg","_stream","atBlock","cx","blockCommentStart","blockCommentEnd","blockCommentContinue","fold","documentTypes_","mediaTypes_","mediaFeatures_","mediaValueKeywords_","propertyKeywords_","nonStandardPropertyKeywords_","colorKeywords_","valueKeywords_","allWords","tokenCComment","maybeEnd","defaultTags","maybeBackup","pat","attrRegexpCache","getAttrRegexp","regexp","getAttrValue","getTagRegexp","anchored","addTags","findMatchingMode","tagInfo","tagText","htmlMode","multilineTagIndentFactor","multilineTagIndentPastTag","allowMissingTagName","tags","configTags","configScript","scriptTypes","htmlState","inTag","endTagA","endTag","localState","localMode","statementIndent","jsonldMode","jsonld","trackScope","isTS","typescript","wordRE","wordCharacters","keywords","kw","A","B","C","D","operator","atom","isOperatorChar","isJsonldKeyword","readRegexp","inSet","tokenComment","expressionAllowed","tokenQuasi","lastType","propertyIsEnumerable","brackets","findFatArrow","fatArrowAt","arrow","depth","sawSomething","bracket","atomicTypes","JSLexical","inScope","varname","localVars","vars","parseJS","marked","expression","statement","lex","inList","newContext","registerVarScoped","Var","globalVars","isModifier","defaultVars","pushcontext","pushblockcontext","popcontext","pushlex","poplex","expect","wanted","exp","vardef","parenExpr","maybeexpression","maybeelse","functiondef","forspec","enumdef","typename","typeexpr","maybelabel","maybeCatchBinding","afterExport","afterImport","funarg","expressionInner","expressionNoComma","noComma","arrowBodyNoComma","arrowBody","commasep","maybeop","maybeoperatorNoComma","maybeoperatorComma","classExpression","arrayLiteral","contCommasep","objprop","quasi","maybeTarget","expr","continueQuasi","targetNoComma","maybeTypeArgs","getterSetter","afterprop","maybetype","what","proceed","maybetypeOrIn","mayberettype","isKW","afterType","typeprops","typearg","maybeReturnType","quasiType","typeprop","functiondecl","continueQuasiType","typeparam","maybeTypeDefault","maybeAssign","vardefCont","eltpattern","proppattern","forspec1","forspec2","classNameAfter","classBody","classfield","maybeFrom","exportField","importSpec","maybeMoreImports","maybeAs","enummember","isContinuedStatement","basecolumn","doubleIndentSwitch","closeBrackets","skipExpression","htmlConfig","autoSelfClosers","implicitlyClosed","contextGrabbers","doNotIndent","allowUnquoted","allowMissing","caseFold","xmlConfig","editorConf","config_","inText","inBlock","doctype","baseState","tagStart","inAttribute","stringStartCol","closure","isInAttribute","terminator","lower","startOfLine","noIndent","maybePopContext","nextTagName","parentTagName","tagNameState","closeTagNameState","attrState","matchClosing","closeState","closeStateErr","attrEqState","attrValueState","attrContinuedState","isInText","baseIndent","fullLine","alignCDATA","tagAfter","grabbers","skipAttribute","xmlCurrentTag","xmlCurrentContext","runtime","Op","hasOwn","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","enumerable","configurable","writable","innerFn","outerFn","tryLocsList","protoGenerator","Generator","_invoke","GenStateSuspendedStart","arg","GenStateExecuting","GenStateCompleted","doneResult","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","GenStateSuspendedYield","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iterable","iteratorMethod","displayName","isGeneratorFunction","genFun","setPrototypeOf","__proto__","awrap","async","skipTempReset","rootRecord","rval","exception","loc","caught","hasCatch","hasFinally","finallyEntry","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Function","webpackContext","webpackContextResolve","__webpack_require__","_arrayLikeToArray","arr2","_assertThisInitialized","ReferenceError","asyncGeneratorStep","_next","_throw","_asyncToGenerator","_classCallCheck","Constructor","_defineProperties","descriptor","_createClass","_defineProperty","_getPrototypeOf","_setPrototypeOf","_inherits","subClass","superClass","_objectWithoutProperties","excluded","sourceKeys","getOwnPropertySymbols","sourceSymbolKeys","_possibleConstructorReturn","_slicedToArray","_i","_s","_arr","_n","_d","unsupportedIterableToArray","_taggedTemplateLiteral","strings","freeze","defineProperties","_toConsumableArray","arrayLikeToArray","_typeof","_unsupportedIterableToArray","minLen","ArrayProto","ObjProto","SymbolProto","supportsArrayBuffer","ArrayBuffer","supportsDataView","DataView","nativeIsArray","nativeKeys","nativeCreate","nativeIsView","isView","_isNaN","_isFinite","hasEnumBug","nonEnumerableProps","MAX_ARRAY_INDEX","pow","restArguments","tagTester","nodelist","Int8Array","hasStringTagBug","isIE11","Map","isDataView","getInt8","isArrayBuffer","buffer","isSymbol","constant","createSizePropertyCheck","getSizeProperty","sizeProperty","shallowProperty","typedArrayPattern","collectNonEnumProps","emulatedSet","nonEnumIdx","proto","isMatch","_keys","_wrapped","toBufferView","bufferSource","Uint8Array","byteOffset","valueOf","tagDataView","aStack","bStack","deepEq","areArrays","aCtor","bCtor","allKeys","ie11fingerprint","weakMapMethods","forEachName","commonInit","mapTail","mapMethods","setMethods","functions","createAssigner","keysFunc","baseCreate","Ctor","extendOwn","tap","interceptor","toPath","deepGet","defaultValue","identity","optimizeCb","argCount","accumulator","baseIteratee","mapObject","currentKey","propertyOf","accum","getTime","createEscaper","escaper","testRegexp","replaceRegexp","templateSettings","evaluate","interpolate","noMatch","escapes","escapeChar","bareIdentifier","oldSettings","argument","variable","idCounter","_chain","executeBound","sourceFunc","boundFunc","callingContext","boundArgs","callArgs","memoize","hasher","throttle","later","leading","throttled","_now","trailing","immediate","passed","debounced","_args","negate","compose","memo","findKey","createPredicateIndexFinder","sortedIndex","low","high","createIndexFinder","predicateFind","createReduce","reducer","guard","contextPath","lastComputed","rand","criteria","reStrSymbol","keyInObj","compact","otherArrays","uniq","isSorted","seen","arrays","intersection","argsLength","unzip","chainResult","mixin","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","getter","__esModule","fromElement","projectData","noticeOnUnload","forceClass","defaultCommand","mediaCondition","jsInHtml","multipleSelection","optsHtml","optsCss","avoidDefaults","dragMode","cssIcons","arrowUp","i18n","richTextEditor","codeManager","cssComposer","multiFrames","Selectable","Selected","hasComponent","getByComponent","timedInterval","updateItr","deps","Window","ar","Extender","logs","warning","EditorModel","editing","clipboard","previousModel","storables","modules","toLoad","toLog","attrsOrig","pageManager","loadModule","updateChanges","_checkReady","listenLog","eventFrom","eventTo","loadData","stm","getDirtyCount","onbeforeunload","moduleName","Mod","cfgParent","cfg","destroyed","__skip","handleUpdates","lastComponent","allComponents","multiple","mltSel","toggleSelected","selColl","selIndex","removeComponent","getJs","avoidProt","avoidProtected","protCss","storeData","clearDirtyCount","editingCmp","defaultRunning","grapesjs","destroyAll","logNs","colorPicker","varName","contEl","shallowCanvasEl","addComponents","getSelectedToStyle","selectToggle","setDevice","getDevice","setCustomRte","setCustomParserCss","setDragMode","onReady","plugins","agent","isIE","originalCreateHTMLDocument","DOMImplementation","createHTMLDocument","implementation","polyfills","plugin","defaultConfig","autorender","pluginsOpts","__GJS_VERSION__","headless","Editor","pluginId","plgOptions","wplg","loadOnStart"],"sourceRoot":""} \ No newline at end of file diff --git a/package.json b/package.json index d0c5a1103..0a7e30b28 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ }, "devDependencies": { "@babel/cli": "^7.15.7", + "@babel/preset-typescript": "^7.16.7", "@vuepress/plugin-google-analytics": "^1.8.2", "documentation": "^13.2.5", "eslint": "^8.12.0", @@ -60,7 +61,8 @@ "env": { "test": { "presets": [ - "@babel/preset-env" + "@babel/preset-env", + "@babel/preset-typescript" ] } } diff --git a/src/abstract/Collection.ts b/src/abstract/Collection.ts new file mode 100644 index 000000000..f3e630a09 --- /dev/null +++ b/src/abstract/Collection.ts @@ -0,0 +1,6 @@ +import Backbone from "backbone"; +import Model from "./Model"; + +export default class Collection< + TModel extends Model = Model +> extends Backbone.Collection {} diff --git a/src/abstract/Model.ts b/src/abstract/Model.ts new file mode 100644 index 000000000..f1d9cc83d --- /dev/null +++ b/src/abstract/Model.ts @@ -0,0 +1,24 @@ +import Backbone from "backbone"; +import Module from "./Module"; + +export default class Model< + TModule extends Module = Module, + T extends Backbone.ObjectHash = any, + S = Backbone.ModelSetOptions, + E = any +> extends Backbone.Model { + private _module: TModule; + + constructor( + module: TModule, + attributes?: T, + options?: Backbone.CombinedModelConstructorOptions + ) { + super(attributes, options); + this._module = module; + } + + public get module() { + return this._module; + } +} diff --git a/src/abstract/Module.ts b/src/abstract/Module.ts new file mode 100644 index 000000000..caab8b65a --- /dev/null +++ b/src/abstract/Module.ts @@ -0,0 +1,57 @@ +import EditorModel from "../editor/model/Editor"; +import { ModuleConfig } from "./ModuleConfig"; + +export interface IModule { + init(cfg: any): void; + destroy(): void; + postLoad(key: any): any; + getConfig(): ModuleConfig; + onLoad?(): void; + name: string; + postRender?(view: any): void; +} + +export default abstract class Module + implements IModule +{ + //conf: CollectionCollectionModuleConfig; + private _em: EditorModel; + private _config: T; + cls: any[] = []; + events: any; + + constructor( + em: EditorModel, + confClass: { new (em: EditorModel, module: Module): T } + ) { + this._em = em; + this._config = new confClass(em, this); + } + + public get em() { + return this._em; + } + public get config() { + return this._config; + } + //abstract name: string; + isPrivate: boolean = false; + onLoad?(): void; + init(cfg: any) {} + abstract destroy(): void; + postLoad(key: any): void {} + + get name(): string { + return this.config.name; + } + + getConfig() { + return this.config; + } + + __logWarn(str: string) { + this.em.logWarning(`[${this.name}]: ${str}`); + } + + postRender?(view: any): void; +} diff --git a/src/abstract/ModuleConfig.ts b/src/abstract/ModuleConfig.ts new file mode 100644 index 000000000..ff7d770dd --- /dev/null +++ b/src/abstract/ModuleConfig.ts @@ -0,0 +1,30 @@ +import Module from "./Module"; + +export abstract class ModuleConfig { + protected abstract stylePrefix?: string; + private: boolean = false; + abstract name: string; + module: Module; + + public get pfx() { + return this.module.em.getConfig() || ""; + } + public get ppfx() { + return this.pfx + this.stylePrefix || ""; + } + + constructor(module: Module) { + this.module = module; + //console.log(module.name) + /*const moduleConfig: { [id: string]: any } = + config[module.name as keyof EditorConfig]; + if (moduleConfig) { + for (const key in moduleConfig) { + if (Object.prototype.hasOwnProperty.call(this, key)) { + console.log(key); + const element = moduleConfig[key]; + } + } + }*/ + } +} diff --git a/src/abstract/View.ts b/src/abstract/View.ts new file mode 100644 index 000000000..29090a0c4 --- /dev/null +++ b/src/abstract/View.ts @@ -0,0 +1,19 @@ +import Backbone from "backbone"; +import Model from "./Model"; + +export default class View< + TModel extends Model = Model, + TElement extends Element = HTMLElement +> extends Backbone.View { + protected get pfx() { + return this.model.module.config.pfx; + } + + protected get ppfx() { + return this.model.module.config.ppfx; + } + + protected get em() { + return this.model.module.em; + } +} diff --git a/src/abstract/index.ts b/src/abstract/index.ts new file mode 100644 index 000000000..279a3e032 --- /dev/null +++ b/src/abstract/index.ts @@ -0,0 +1,4 @@ +export { default as Model } from './Model'; +export { default as Collection } from './Collection'; +export { default as View } from './View'; +export { default as Module } from './moduleLegacy'; diff --git a/src/abstract/moduleLegacy.js b/src/abstract/moduleLegacy.js new file mode 100644 index 000000000..1594b8de9 --- /dev/null +++ b/src/abstract/moduleLegacy.js @@ -0,0 +1,161 @@ +import { isString, isElement } from 'underscore'; +import { createId, deepMerge, isDef } from 'utils/mixins'; + +export default { + getConfig(name) { + return this.__getConfig(name); + }, + + getProjectData(data) { + const obj = {}; + const key = this.storageKey; + if (key) { + obj[key] = data || this.getAll(); + } + return obj; + }, + + loadProjectData(data = {}, { all, onResult, reset } = {}) { + const key = this.storageKey; + const opts = { action: 'load' }; + const coll = all || this.getAll(); + let result = data[key]; + + if (typeof result == 'string') { + try { + result = JSON.parse(result); + } catch (err) { + this.__logWarn('Data parsing failed', { input: result }); + } + } + + reset && result && coll.reset(null, opts); + + if (onResult) { + result && onResult(result, opts); + } else if (result && isDef(result.length)) { + coll.reset(result, opts); + } + + return result; + }, + + clear(opts = {}) { + const { all } = this; + all && all.reset(null, opts); + return this; + }, + + __getConfig(name) { + const res = this.config || {}; + return name ? res[name] : res; + }, + + getAll(opts = {}) { + return this.all ? (opts.array ? [...this.all.models] : this.all) : []; + }, + + getAllMap() { + return this.getAll().reduce((acc, i) => { + acc[i.get(i.idAttribute)] = i; + return acc; + }, {}); + }, + + __initConfig(def = {}, conf = {}) { + this.config = deepMerge(def, conf); + this.em = this.config.em; + this.cls = []; + }, + + __initListen(opts = {}) { + const { all, em, events } = this; + all && + em && + all + .on('add', (m, c, o) => em.trigger(events.add, m, o)) + .on('remove', (m, c, o) => em.trigger(events.remove, m, o)) + .on('change', (p, c) => em.trigger(events.update, p, p.changedAttributes(), c)) + .on('all', this.__catchAllEvent, this); + // Register collections + this.cls = [all].concat(opts.collections || []); + // Propagate events + (opts.propagate || []).forEach(({ entity, event }) => { + entity.on('all', (ev, model, coll, opts) => { + const options = opts || coll; + const opt = { event: ev, ...options }; + [em, all].map(md => md.trigger(event, model, opt)); + }); + }); + }, + + __remove(model, opts = {}) { + const { em } = this; + const md = isString(model) ? this.get(model) : model; + const rm = () => { + md && this.all.remove(md, opts); + return md; + }; + !opts.silent && em && em.trigger(this.events.removeBefore, md, rm, opts); + return !opts.abort && rm(); + }, + + __catchAllEvent(event, model, coll, opts) { + const { em, events } = this; + const options = opts || coll; + em && events.all && em.trigger(events.all, { event, model, options }); + this.__onAllEvent(); + }, + + __appendTo() { + const elTo = this.getConfig().appendTo; + + if (elTo) { + const el = isElement(elTo) ? elTo : document.querySelector(elTo); + if (!el) return this.__logWarn('"appendTo" element not found'); + el.appendChild(this.render()); + } + }, + + __onAllEvent() {}, + + __logWarn(str, opts) { + this.em.logWarning(`[${this.name}]: ${str}`, opts); + }, + + _createId(len = 16) { + const all = this.getAll(); + const ln = all.length + len; + const allMap = this.getAllMap(); + let id; + + do { + id = createId(ln); + } while (allMap[id]); + + return id; + }, + + __listenAdd(model, event) { + model.on('add', (m, c, o) => this.em.trigger(event, m, o)); + }, + + __listenRemove(model, event) { + model.on('remove', (m, c, o) => this.em.trigger(event, m, o)); + }, + + __listenUpdate(model, event) { + model.on('change', (p, c) => this.em.trigger(event, p, p.changedAttributes(), c)); + }, + + __destroy() { + this.cls.forEach(coll => { + coll.stopListening(); + coll.reset(); + }); + this.em = 0; + this.config = 0; + this.view?.remove(); + this.view = 0; + }, +}; diff --git a/src/block_manager/index.js b/src/block_manager/index.js index e57f735dc..e4e418919 100644 --- a/src/block_manager/index.js +++ b/src/block_manager/index.js @@ -45,7 +45,7 @@ * @module BlockManager */ import { isElement, isArray } from 'underscore'; -import Module from '../common/module'; +import Module from '../abstract/moduleLegacy'; import defaults from './config/config'; import Block from './model/Block'; import Blocks from './model/Blocks'; diff --git a/src/css_composer/index.js b/src/css_composer/index.js index ea0d1c639..4ab97490f 100644 --- a/src/css_composer/index.js +++ b/src/css_composer/index.js @@ -29,7 +29,7 @@ import { isArray, isString, isUndefined } from 'underscore'; import { isObject } from '../utils/mixins'; -import Module from '../common/module'; +import Module from '../abstract/moduleLegacy'; import Selectors from '../selector_manager/model/Selectors'; import Selector from '../selector_manager/model/Selector'; import defaults from './config/config'; diff --git a/src/device_manager/index.js b/src/device_manager/index.js index 42139fc22..94b424229 100644 --- a/src/device_manager/index.js +++ b/src/device_manager/index.js @@ -33,7 +33,7 @@ * @module Devices */ import { isString } from 'underscore'; -import Module from '../common/module'; +import Module from '../abstract/moduleLegacy'; import defaults from './config/config'; import Device from './model/Device'; import Devices from './model/Devices'; diff --git a/src/dom_components/index.js b/src/dom_components/index.js index 7674e8dd2..7ba751e1b 100644 --- a/src/dom_components/index.js +++ b/src/dom_components/index.js @@ -96,7 +96,7 @@ import ComponentTextView from './view/ComponentTextView'; import ComponentWrapper from './model/ComponentWrapper'; import ComponentFrame from './model/ComponentFrame'; import ComponentFrameView from './view/ComponentFrameView'; -import Module from 'common/module'; +import Module from 'abstract/moduleLegacy'; export default () => { var c = {}; diff --git a/src/storage_manager/index.js b/src/storage_manager/index.js index fc3edfc12..e876afc4e 100644 --- a/src/storage_manager/index.js +++ b/src/storage_manager/index.js @@ -51,7 +51,7 @@ * @module StorageManager */ -import Module from '../common/module'; +import Module from '../abstract/moduleLegacy'; import defaults from './config/config'; import LocalStorage from './model/LocalStorage'; import RemoteStorage from './model/RemoteStorage'; @@ -395,6 +395,6 @@ export default () => { destroy() { this.__destroy(); this.storages = {}; - } + }, }; }; diff --git a/yarn.lock b/yarn.lock index 56c516ba4..80e19c97e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3,60 +3,44 @@ "@ampproject/remapping@^2.1.0": - version "2.1.2" - resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz" + "integrity" "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==" + "resolved" "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz" + "version" "2.1.2" dependencies: "@jridgewell/trace-mapping" "^0.3.0" "@babel/cli@^7.15.7": - version "7.15.7" - resolved "https://registry.npmjs.org/@babel/cli/-/cli-7.15.7.tgz" - dependencies: - commander "^4.0.1" - convert-source-map "^1.1.0" - fs-readdir-recursive "^1.1.0" - glob "^7.0.0" - make-dir "^2.1.0" - slash "^2.0.0" - source-map "^0.5.0" + "integrity" "sha512-YW5wOprO2LzMjoWZ5ZG6jfbY9JnkDxuHDwvnrThnuYtByorova/I0HNXJedrUfwuXFQfYOjcqDA4PU3qlZGZjg==" + "resolved" "https://registry.npmjs.org/@babel/cli/-/cli-7.15.7.tgz" + "version" "7.15.7" + dependencies: + "commander" "^4.0.1" + "convert-source-map" "^1.1.0" + "fs-readdir-recursive" "^1.1.0" + "glob" "^7.0.0" + "make-dir" "^2.1.0" + "slash" "^2.0.0" + "source-map" "^0.5.0" optionalDependencies: "@nicolo-ribaudo/chokidar-2" "2.1.8-no-fsevents.3" - chokidar "^3.4.0" + "chokidar" "^3.4.0" "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz" + "integrity" "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==" + "resolved" "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/highlight" "^7.16.7" "@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.8", "@babel/compat-data@^7.17.0", "@babel/compat-data@^7.17.7": - version "7.17.7" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz" + "integrity" "sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==" + "resolved" "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz" + "version" "7.17.7" -"@babel/core@7.12.3": - version "7.12.3" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.12.3.tgz" - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.12.1" - "@babel/helper-module-transforms" "^7.12.1" - "@babel/helpers" "^7.12.1" - "@babel/parser" "^7.12.3" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.12.1" - "@babel/types" "^7.12.1" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.2" - lodash "^4.17.19" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/core@^7.1.0", "@babel/core@^7.11.0", "@babel/core@^7.17.5", "@babel/core@^7.8.4": - version "7.17.8" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.17.8.tgz" +"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.1.0", "@babel/core@^7.11.0", "@babel/core@^7.12.0", "@babel/core@^7.13.0", "@babel/core@^7.17.5", "@babel/core@^7.4.0-0", "@babel/core@^7.8.4": + "integrity" "sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ==" + "resolved" "https://registry.npmjs.org/@babel/core/-/core-7.17.8.tgz" + "version" "7.17.8" dependencies: "@ampproject/remapping" "^2.1.0" "@babel/code-frame" "^7.16.7" @@ -68,53 +52,81 @@ "@babel/template" "^7.16.7" "@babel/traverse" "^7.17.3" "@babel/types" "^7.17.0" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.1.2" - semver "^6.3.0" + "convert-source-map" "^1.7.0" + "debug" "^4.1.0" + "gensync" "^1.0.0-beta.2" + "json5" "^2.1.2" + "semver" "^6.3.0" -"@babel/generator@7.12.1", "@babel/generator@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.12.1.tgz" +"@babel/core@7.12.3": + "integrity" "sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g==" + "resolved" "https://registry.npmjs.org/@babel/core/-/core-7.12.3.tgz" + "version" "7.12.3" + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.12.1" + "@babel/helper-module-transforms" "^7.12.1" + "@babel/helpers" "^7.12.1" + "@babel/parser" "^7.12.3" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.12.1" + "@babel/types" "^7.12.1" + "convert-source-map" "^1.7.0" + "debug" "^4.1.0" + "gensync" "^1.0.0-beta.1" + "json5" "^2.1.2" + "lodash" "^4.17.19" + "resolve" "^1.3.2" + "semver" "^5.4.1" + "source-map" "^0.5.0" + +"@babel/generator@^7.12.1", "@babel/generator@7.12.1": + "integrity" "sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg==" + "resolved" "https://registry.npmjs.org/@babel/generator/-/generator-7.12.1.tgz" + "version" "7.12.1" dependencies: "@babel/types" "^7.12.1" - jsesc "^2.5.1" - source-map "^0.5.0" + "jsesc" "^2.5.1" + "source-map" "^0.5.0" "@babel/generator@^7.17.3", "@babel/generator@^7.17.7", "@babel/generator@^7.4.0": - version "7.17.7" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz" + "integrity" "sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==" + "resolved" "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz" + "version" "7.17.7" dependencies: "@babel/types" "^7.17.0" - jsesc "^2.5.1" - source-map "^0.5.0" + "jsesc" "^2.5.1" + "source-map" "^0.5.0" "@babel/helper-annotate-as-pure@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz" + "integrity" "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==" + "resolved" "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/types" "^7.16.7" "@babel/helper-builder-binary-assignment-operator-visitor@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz" + "integrity" "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==" + "resolved" "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-explode-assignable-expression" "^7.16.7" "@babel/types" "^7.16.7" "@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7", "@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.9.6": - version "7.17.7" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz" + "integrity" "sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==" + "resolved" "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz" + "version" "7.17.7" dependencies: "@babel/compat-data" "^7.17.7" "@babel/helper-validator-option" "^7.16.7" - browserslist "^4.17.5" - semver "^6.3.0" + "browserslist" "^4.17.5" + "semver" "^6.3.0" "@babel/helper-create-class-features-plugin@^7.14.5", "@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7", "@babel/helper-create-class-features-plugin@^7.17.6": - version "7.17.6" - resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz" + "integrity" "sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg==" + "resolved" "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz" + "version" "7.17.6" dependencies: "@babel/helper-annotate-as-pure" "^7.16.7" "@babel/helper-environment-visitor" "^7.16.7" @@ -125,72 +137,82 @@ "@babel/helper-split-export-declaration" "^7.16.7" "@babel/helper-create-regexp-features-plugin@^7.16.7": - version "7.17.0" - resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz" + "integrity" "sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA==" + "resolved" "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz" + "version" "7.17.0" dependencies: "@babel/helper-annotate-as-pure" "^7.16.7" - regexpu-core "^5.0.1" + "regexpu-core" "^5.0.1" "@babel/helper-define-polyfill-provider@^0.3.1": - version "0.3.1" - resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz" + "integrity" "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==" + "resolved" "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz" + "version" "0.3.1" dependencies: "@babel/helper-compilation-targets" "^7.13.0" "@babel/helper-module-imports" "^7.12.13" "@babel/helper-plugin-utils" "^7.13.0" "@babel/traverse" "^7.13.0" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - semver "^6.1.2" + "debug" "^4.1.1" + "lodash.debounce" "^4.0.8" + "resolve" "^1.14.2" + "semver" "^6.1.2" "@babel/helper-environment-visitor@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz" + "integrity" "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==" + "resolved" "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/types" "^7.16.7" "@babel/helper-explode-assignable-expression@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz" + "integrity" "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==" + "resolved" "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/types" "^7.16.7" "@babel/helper-function-name@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz" + "integrity" "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==" + "resolved" "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-get-function-arity" "^7.16.7" "@babel/template" "^7.16.7" "@babel/types" "^7.16.7" "@babel/helper-get-function-arity@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz" + "integrity" "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==" + "resolved" "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/types" "^7.16.7" "@babel/helper-hoist-variables@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz" + "integrity" "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==" + "resolved" "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/types" "^7.16.7" "@babel/helper-member-expression-to-functions@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz" + "integrity" "sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==" + "resolved" "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/types" "^7.16.7" "@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.8.3": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz" + "integrity" "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==" + "resolved" "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/types" "^7.16.7" "@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.16.7", "@babel/helper-module-transforms@^7.17.7": - version "7.17.7" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz" + "integrity" "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==" + "resolved" "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz" + "version" "7.17.7" dependencies: "@babel/helper-environment-visitor" "^7.16.7" "@babel/helper-module-imports" "^7.16.7" @@ -202,26 +224,30 @@ "@babel/types" "^7.17.0" "@babel/helper-optimise-call-expression@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz" + "integrity" "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==" + "resolved" "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/types" "^7.16.7" "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz" + "integrity" "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==" + "resolved" "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz" + "version" "7.16.7" "@babel/helper-remap-async-to-generator@^7.16.8": - version "7.16.8" - resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz" + "integrity" "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==" + "resolved" "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz" + "version" "7.16.8" dependencies: "@babel/helper-annotate-as-pure" "^7.16.7" "@babel/helper-wrap-function" "^7.16.8" "@babel/types" "^7.16.8" "@babel/helper-replace-supers@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz" + "integrity" "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==" + "resolved" "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-environment-visitor" "^7.16.7" "@babel/helper-member-expression-to-functions" "^7.16.7" @@ -230,34 +256,40 @@ "@babel/types" "^7.16.7" "@babel/helper-simple-access@^7.16.7", "@babel/helper-simple-access@^7.17.7": - version "7.17.7" - resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz" + "integrity" "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==" + "resolved" "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz" + "version" "7.17.7" dependencies: "@babel/types" "^7.17.0" "@babel/helper-skip-transparent-expression-wrappers@^7.16.0": - version "7.16.0" - resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz" + "integrity" "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==" + "resolved" "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz" + "version" "7.16.0" dependencies: "@babel/types" "^7.16.0" "@babel/helper-split-export-declaration@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz" + "integrity" "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==" + "resolved" "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/types" "^7.16.7" "@babel/helper-validator-identifier@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz" + "integrity" "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==" + "resolved" "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz" + "version" "7.16.7" "@babel/helper-validator-option@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz" + "integrity" "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==" + "resolved" "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz" + "version" "7.16.7" "@babel/helper-wrap-function@^7.16.8": - version "7.16.8" - resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz" + "integrity" "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==" + "resolved" "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz" + "version" "7.16.8" dependencies: "@babel/helper-function-name" "^7.16.7" "@babel/template" "^7.16.7" @@ -265,119 +297,136 @@ "@babel/types" "^7.16.8" "@babel/helpers@^7.12.1", "@babel/helpers@^7.17.8": - version "7.17.8" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.8.tgz" + "integrity" "sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw==" + "resolved" "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.8.tgz" + "version" "7.17.8" dependencies: "@babel/template" "^7.16.7" "@babel/traverse" "^7.17.3" "@babel/types" "^7.17.0" "@babel/highlight@^7.16.7": - version "7.16.10" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz" + "integrity" "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==" + "resolved" "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz" + "version" "7.16.10" dependencies: "@babel/helper-validator-identifier" "^7.16.7" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@7.12.3", "@babel/parser@^7.12.3": - version "7.12.3" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.12.3.tgz" + "chalk" "^2.0.0" + "js-tokens" "^4.0.0" "@babel/parser@^7.1.0", "@babel/parser@^7.10.5", "@babel/parser@^7.12.0", "@babel/parser@^7.13.9", "@babel/parser@^7.16.7", "@babel/parser@^7.17.3", "@babel/parser@^7.17.8", "@babel/parser@^7.4.3": - version "7.17.8" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.17.8.tgz" + "integrity" "sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ==" + "resolved" "https://registry.npmjs.org/@babel/parser/-/parser-7.17.8.tgz" + "version" "7.17.8" + +"@babel/parser@^7.12.3", "@babel/parser@7.12.3": + "integrity" "sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw==" + "resolved" "https://registry.npmjs.org/@babel/parser/-/parser-7.12.3.tgz" + "version" "7.12.3" "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz" + "integrity" "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz" + "integrity" "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" "@babel/plugin-proposal-optional-chaining" "^7.16.7" "@babel/plugin-proposal-async-generator-functions@^7.16.8": - version "7.16.8" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz" + "integrity" "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz" + "version" "7.16.8" dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-remap-async-to-generator" "^7.16.8" "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-proposal-class-properties@^7.16.7", "@babel/plugin-proposal-class-properties@^7.8.3": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz" + "integrity" "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-create-class-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-proposal-class-static-block@^7.16.7": - version "7.17.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz" + "integrity" "sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz" + "version" "7.17.6" dependencies: "@babel/helper-create-class-features-plugin" "^7.17.6" "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-class-static-block" "^7.14.5" "@babel/plugin-proposal-decorators@^7.8.3": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.14.5.tgz" + "integrity" "sha512-LYz5nvQcvYeRVjui1Ykn28i+3aUiXwQ/3MGoEy0InTaz1pJo/lAzmIDXX+BQny/oufgHzJ6vnEEiXQ8KZjEVFg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-create-class-features-plugin" "^7.14.5" "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-decorators" "^7.14.5" "@babel/plugin-proposal-dynamic-import@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz" + "integrity" "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-dynamic-import" "^7.8.3" "@babel/plugin-proposal-export-namespace-from@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz" + "integrity" "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" "@babel/plugin-proposal-json-strings@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz" + "integrity" "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-json-strings" "^7.8.3" "@babel/plugin-proposal-logical-assignment-operators@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz" + "integrity" "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-proposal-nullish-coalescing-operator@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz" + "integrity" "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" "@babel/plugin-proposal-numeric-separator@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz" + "integrity" "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-numeric-separator" "^7.10.4" "@babel/plugin-proposal-object-rest-spread@^7.16.7": - version "7.17.3" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz" + "integrity" "sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz" + "version" "7.17.3" dependencies: "@babel/compat-data" "^7.17.0" "@babel/helper-compilation-targets" "^7.16.7" @@ -386,30 +435,34 @@ "@babel/plugin-transform-parameters" "^7.16.7" "@babel/plugin-proposal-optional-catch-binding@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz" + "integrity" "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" "@babel/plugin-proposal-optional-chaining@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz" + "integrity" "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-proposal-private-methods@^7.16.11": - version "7.16.11" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz" + "integrity" "sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz" + "version" "7.16.11" dependencies: "@babel/helper-create-class-features-plugin" "^7.16.10" "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-proposal-private-property-in-object@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz" + "integrity" "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-annotate-as-pure" "^7.16.7" "@babel/helper-create-class-features-plugin" "^7.16.7" @@ -417,137 +470,166 @@ "@babel/plugin-syntax-private-property-in-object" "^7.14.5" "@babel/plugin-proposal-unicode-property-regex@^7.16.7", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz" + "integrity" "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-create-regexp-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" + "integrity" "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" + "version" "7.8.4" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-class-properties@^7.12.13": - version "7.12.13" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" + "integrity" "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" + "version" "7.12.13" dependencies: "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-class-static-block@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" + "integrity" "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-decorators@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.14.5.tgz" + "integrity" "sha512-c4sZMRWL4GSvP1EXy0woIP7m4jkVcEuG8R1TOZxPBPtp4FSM/kiPZub9UIs/Jrb5ZAOzvTUSGYrWsrSu1JvoPw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-dynamic-import@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" + "integrity" "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-export-namespace-from@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" + "integrity" "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" + "integrity" "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.2.0", "@babel/plugin-syntax-jsx@^7.8.3": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz" + "integrity" "sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-logical-assignment-operators@^7.10.4": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" + "integrity" "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" + "version" "7.10.4" dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" + "integrity" "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-numeric-separator@^7.10.4": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" + "integrity" "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" + "version" "7.10.4" dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" + "integrity" "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" + "integrity" "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" + "integrity" "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-private-property-in-object@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz" + "integrity" "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-top-level-await@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" + "integrity" "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" +"@babel/plugin-syntax-typescript@^7.16.7": + "integrity" "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz" + "version" "7.16.7" + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-transform-arrow-functions@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz" + "integrity" "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-async-to-generator@^7.16.8": - version "7.16.8" - resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz" + "integrity" "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz" + "version" "7.16.8" dependencies: "@babel/helper-module-imports" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-remap-async-to-generator" "^7.16.8" "@babel/plugin-transform-block-scoped-functions@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz" + "integrity" "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-block-scoping@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz" + "integrity" "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-classes@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz" + "integrity" "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-annotate-as-pure" "^7.16.7" "@babel/helper-environment-visitor" "^7.16.7" @@ -556,201 +638,239 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-replace-supers" "^7.16.7" "@babel/helper-split-export-declaration" "^7.16.7" - globals "^11.1.0" + "globals" "^11.1.0" "@babel/plugin-transform-computed-properties@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz" + "integrity" "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-destructuring@^7.16.7": - version "7.17.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.3.tgz" + "integrity" "sha512-dDFzegDYKlPqa72xIlbmSkly5MluLoaC1JswABGktyt6NTXSBcUuse/kWE/wvKFWJHPETpi158qJZFS3JmykJg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.3.tgz" + "version" "7.17.3" dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-dotall-regex@^7.16.7", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz" + "integrity" "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-create-regexp-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-duplicate-keys@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz" + "integrity" "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-exponentiation-operator@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz" + "integrity" "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-for-of@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz" + "integrity" "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-function-name@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz" + "integrity" "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-compilation-targets" "^7.16.7" "@babel/helper-function-name" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-literals@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz" + "integrity" "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-member-expression-literals@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz" + "integrity" "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-modules-amd@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz" + "integrity" "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-module-transforms" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" - babel-plugin-dynamic-import-node "^2.3.3" + "babel-plugin-dynamic-import-node" "^2.3.3" "@babel/plugin-transform-modules-commonjs@^7.16.8": - version "7.16.8" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz" + "integrity" "sha512-oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz" + "version" "7.16.8" dependencies: "@babel/helper-module-transforms" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-simple-access" "^7.16.7" - babel-plugin-dynamic-import-node "^2.3.3" + "babel-plugin-dynamic-import-node" "^2.3.3" "@babel/plugin-transform-modules-systemjs@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz" + "integrity" "sha512-DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-hoist-variables" "^7.16.7" "@babel/helper-module-transforms" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-validator-identifier" "^7.16.7" - babel-plugin-dynamic-import-node "^2.3.3" + "babel-plugin-dynamic-import-node" "^2.3.3" "@babel/plugin-transform-modules-umd@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz" + "integrity" "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-module-transforms" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-named-capturing-groups-regex@^7.16.8": - version "7.16.8" - resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz" + "integrity" "sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz" + "version" "7.16.8" dependencies: "@babel/helper-create-regexp-features-plugin" "^7.16.7" "@babel/plugin-transform-new-target@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz" + "integrity" "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-object-super@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz" + "integrity" "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-replace-supers" "^7.16.7" "@babel/plugin-transform-parameters@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz" + "integrity" "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-property-literals@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz" + "integrity" "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-regenerator@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz" + "integrity" "sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz" + "version" "7.16.7" dependencies: - regenerator-transform "^0.14.2" + "regenerator-transform" "^0.14.2" "@babel/plugin-transform-reserved-words@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz" + "integrity" "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-runtime@^7.11.0", "@babel/plugin-transform-runtime@^7.17.0": - version "7.17.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.17.0.tgz" + "integrity" "sha512-fr7zPWnKXNc1xoHfrIU9mN/4XKX4VLZ45Q+oMhfsYIaHvg7mHgmhfOy/ckRWqDK7XF3QDigRpkh5DKq6+clE8A==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.17.0.tgz" + "version" "7.17.0" dependencies: "@babel/helper-module-imports" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" - babel-plugin-polyfill-corejs2 "^0.3.0" - babel-plugin-polyfill-corejs3 "^0.5.0" - babel-plugin-polyfill-regenerator "^0.3.0" - semver "^6.3.0" + "babel-plugin-polyfill-corejs2" "^0.3.0" + "babel-plugin-polyfill-corejs3" "^0.5.0" + "babel-plugin-polyfill-regenerator" "^0.3.0" + "semver" "^6.3.0" "@babel/plugin-transform-shorthand-properties@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz" + "integrity" "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-spread@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz" + "integrity" "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" "@babel/plugin-transform-sticky-regex@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz" + "integrity" "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-template-literals@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz" + "integrity" "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-typeof-symbol@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz" + "integrity" "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz" + "version" "7.16.7" + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-typescript@^7.16.7": + "integrity" "sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.8.tgz" + "version" "7.16.8" dependencies: + "@babel/helper-create-class-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-typescript" "^7.16.7" "@babel/plugin-transform-unicode-escapes@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz" + "integrity" "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-unicode-regex@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz" + "integrity" "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-create-regexp-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" "@babel/preset-env@^7.11.0", "@babel/preset-env@^7.16.11": - version "7.16.11" - resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz" + "integrity" "sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==" + "resolved" "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz" + "version" "7.16.11" dependencies: "@babel/compat-data" "^7.16.8" "@babel/helper-compilation-targets" "^7.16.7" @@ -821,39 +941,52 @@ "@babel/plugin-transform-unicode-regex" "^7.16.7" "@babel/preset-modules" "^0.1.5" "@babel/types" "^7.16.8" - babel-plugin-polyfill-corejs2 "^0.3.0" - babel-plugin-polyfill-corejs3 "^0.5.0" - babel-plugin-polyfill-regenerator "^0.3.0" - core-js-compat "^3.20.2" - semver "^6.3.0" + "babel-plugin-polyfill-corejs2" "^0.3.0" + "babel-plugin-polyfill-corejs3" "^0.5.0" + "babel-plugin-polyfill-regenerator" "^0.3.0" + "core-js-compat" "^3.20.2" + "semver" "^6.3.0" "@babel/preset-modules@^0.1.5": - version "0.1.5" - resolved "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz" + "integrity" "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==" + "resolved" "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz" + "version" "0.1.5" dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" "@babel/plugin-transform-dotall-regex" "^7.4.4" "@babel/types" "^7.4.4" - esutils "^2.0.2" + "esutils" "^2.0.2" + +"@babel/preset-typescript@^7.16.7": + "integrity" "sha512-WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ==" + "resolved" "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz" + "version" "7.16.7" + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-validator-option" "^7.16.7" + "@babel/plugin-transform-typescript" "^7.16.7" "@babel/runtime@^7.0.0", "@babel/runtime@^7.11.0", "@babel/runtime@^7.17.2", "@babel/runtime@^7.8.4": - version "7.17.2" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.2.tgz" + "integrity" "sha512-hzeyJyMA1YGdJTuWU0e/j4wKXrU4OMFvY2MSlaI9B7VQb0r5cxTE3EAIS2Q7Tn2RIcDkRvTA/v2JsAEhxe99uw==" + "resolved" "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.2.tgz" + "version" "7.17.2" dependencies: - regenerator-runtime "^0.13.4" + "regenerator-runtime" "^0.13.4" "@babel/template@^7.0.0", "@babel/template@^7.10.4", "@babel/template@^7.16.7", "@babel/template@^7.4.0": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz" + "integrity" "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==" + "resolved" "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/code-frame" "^7.16.7" "@babel/parser" "^7.16.7" "@babel/types" "^7.16.7" "@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.10.5", "@babel/traverse@^7.12.1", "@babel/traverse@^7.13.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.3", "@babel/traverse@^7.4.3": - version "7.17.3" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz" + "integrity" "sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==" + "resolved" "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz" + "version" "7.17.3" dependencies: "@babel/code-frame" "^7.16.7" "@babel/generator" "^7.17.3" @@ -863,283 +996,321 @@ "@babel/helper-split-export-declaration" "^7.16.7" "@babel/parser" "^7.17.3" "@babel/types" "^7.17.0" - debug "^4.1.0" - globals "^11.1.0" + "debug" "^4.1.0" + "globals" "^11.1.0" "@babel/types@^7.0.0", "@babel/types@^7.12.0", "@babel/types@^7.12.1", "@babel/types@^7.13.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4": - version "7.17.0" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz" + "integrity" "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==" + "resolved" "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz" + "version" "7.17.0" dependencies: "@babel/helper-validator-identifier" "^7.16.7" - to-fast-properties "^2.0.0" + "to-fast-properties" "^2.0.0" "@cnakazawa/watch@^1.0.3": - version "1.0.4" - resolved "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz" + "integrity" "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==" + "resolved" "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz" + "version" "1.0.4" dependencies: - exec-sh "^0.3.2" - minimist "^1.2.0" + "exec-sh" "^0.3.2" + "minimist" "^1.2.0" "@discoveryjs/json-ext@^0.5.0": - version "0.5.6" - resolved "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz" + "integrity" "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==" + "resolved" "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz" + "version" "0.5.6" "@eslint/eslintrc@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.2.1.tgz#8b5e1c49f4077235516bc9ec7d41378c0f69b8c6" - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^9.3.1" - globals "^13.9.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.0.4" - strip-json-comments "^3.1.1" + "integrity" "sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==" + "resolved" "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.1.tgz" + "version" "1.2.1" + dependencies: + "ajv" "^6.12.4" + "debug" "^4.3.2" + "espree" "^9.3.1" + "globals" "^13.9.0" + "ignore" "^5.2.0" + "import-fresh" "^3.2.1" + "js-yaml" "^4.1.0" + "minimatch" "^3.0.4" + "strip-json-comments" "^3.1.1" "@humanwhocodes/config-array@^0.9.2": - version "0.9.5" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.5.tgz#2cbaf9a89460da24b5ca6531b8bbfc23e1df50c7" + "integrity" "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==" + "resolved" "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz" + "version" "0.9.5" dependencies: "@humanwhocodes/object-schema" "^1.2.1" - debug "^4.1.1" - minimatch "^3.0.4" + "debug" "^4.1.1" + "minimatch" "^3.0.4" "@humanwhocodes/object-schema@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + "integrity" "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" + "resolved" "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" + "version" "1.2.1" "@jest/console@^24.7.1", "@jest/console@^24.9.0": - version "24.9.0" - resolved "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz" + "integrity" "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==" + "resolved" "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz" + "version" "24.9.0" dependencies: "@jest/source-map" "^24.9.0" - chalk "^2.0.1" - slash "^2.0.0" + "chalk" "^2.0.1" + "slash" "^2.0.0" "@jest/core@^24.9.0": - version "24.9.0" - resolved "https://registry.npmjs.org/@jest/core/-/core-24.9.0.tgz" + "integrity" "sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A==" + "resolved" "https://registry.npmjs.org/@jest/core/-/core-24.9.0.tgz" + "version" "24.9.0" dependencies: "@jest/console" "^24.7.1" "@jest/reporters" "^24.9.0" "@jest/test-result" "^24.9.0" "@jest/transform" "^24.9.0" "@jest/types" "^24.9.0" - ansi-escapes "^3.0.0" - chalk "^2.0.1" - exit "^0.1.2" - graceful-fs "^4.1.15" - jest-changed-files "^24.9.0" - jest-config "^24.9.0" - jest-haste-map "^24.9.0" - jest-message-util "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-resolve-dependencies "^24.9.0" - jest-runner "^24.9.0" - jest-runtime "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - jest-watcher "^24.9.0" - micromatch "^3.1.10" - p-each-series "^1.0.0" - realpath-native "^1.1.0" - rimraf "^2.5.4" - slash "^2.0.0" - strip-ansi "^5.0.0" + "ansi-escapes" "^3.0.0" + "chalk" "^2.0.1" + "exit" "^0.1.2" + "graceful-fs" "^4.1.15" + "jest-changed-files" "^24.9.0" + "jest-config" "^24.9.0" + "jest-haste-map" "^24.9.0" + "jest-message-util" "^24.9.0" + "jest-regex-util" "^24.3.0" + "jest-resolve" "^24.9.0" + "jest-resolve-dependencies" "^24.9.0" + "jest-runner" "^24.9.0" + "jest-runtime" "^24.9.0" + "jest-snapshot" "^24.9.0" + "jest-util" "^24.9.0" + "jest-validate" "^24.9.0" + "jest-watcher" "^24.9.0" + "micromatch" "^3.1.10" + "p-each-series" "^1.0.0" + "realpath-native" "^1.1.0" + "rimraf" "^2.5.4" + "slash" "^2.0.0" + "strip-ansi" "^5.0.0" "@jest/environment@^24.9.0": - version "24.9.0" - resolved "https://registry.npmjs.org/@jest/environment/-/environment-24.9.0.tgz" + "integrity" "sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ==" + "resolved" "https://registry.npmjs.org/@jest/environment/-/environment-24.9.0.tgz" + "version" "24.9.0" dependencies: "@jest/fake-timers" "^24.9.0" "@jest/transform" "^24.9.0" "@jest/types" "^24.9.0" - jest-mock "^24.9.0" + "jest-mock" "^24.9.0" "@jest/fake-timers@^24.9.0": - version "24.9.0" - resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.9.0.tgz" + "integrity" "sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==" + "resolved" "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.9.0.tgz" + "version" "24.9.0" dependencies: "@jest/types" "^24.9.0" - jest-message-util "^24.9.0" - jest-mock "^24.9.0" + "jest-message-util" "^24.9.0" + "jest-mock" "^24.9.0" "@jest/reporters@^24.9.0": - version "24.9.0" - resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-24.9.0.tgz" + "integrity" "sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw==" + "resolved" "https://registry.npmjs.org/@jest/reporters/-/reporters-24.9.0.tgz" + "version" "24.9.0" dependencies: "@jest/environment" "^24.9.0" "@jest/test-result" "^24.9.0" "@jest/transform" "^24.9.0" "@jest/types" "^24.9.0" - chalk "^2.0.1" - exit "^0.1.2" - glob "^7.1.2" - istanbul-lib-coverage "^2.0.2" - istanbul-lib-instrument "^3.0.1" - istanbul-lib-report "^2.0.4" - istanbul-lib-source-maps "^3.0.1" - istanbul-reports "^2.2.6" - jest-haste-map "^24.9.0" - jest-resolve "^24.9.0" - jest-runtime "^24.9.0" - jest-util "^24.9.0" - jest-worker "^24.6.0" - node-notifier "^5.4.2" - slash "^2.0.0" - source-map "^0.6.0" - string-length "^2.0.0" + "chalk" "^2.0.1" + "exit" "^0.1.2" + "glob" "^7.1.2" + "istanbul-lib-coverage" "^2.0.2" + "istanbul-lib-instrument" "^3.0.1" + "istanbul-lib-report" "^2.0.4" + "istanbul-lib-source-maps" "^3.0.1" + "istanbul-reports" "^2.2.6" + "jest-haste-map" "^24.9.0" + "jest-resolve" "^24.9.0" + "jest-runtime" "^24.9.0" + "jest-util" "^24.9.0" + "jest-worker" "^24.6.0" + "node-notifier" "^5.4.2" + "slash" "^2.0.0" + "source-map" "^0.6.0" + "string-length" "^2.0.0" "@jest/source-map@^24.3.0", "@jest/source-map@^24.9.0": - version "24.9.0" - resolved "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz" + "integrity" "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==" + "resolved" "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz" + "version" "24.9.0" dependencies: - callsites "^3.0.0" - graceful-fs "^4.1.15" - source-map "^0.6.0" + "callsites" "^3.0.0" + "graceful-fs" "^4.1.15" + "source-map" "^0.6.0" "@jest/test-result@^24.9.0": - version "24.9.0" - resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz" + "integrity" "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==" + "resolved" "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz" + "version" "24.9.0" dependencies: "@jest/console" "^24.9.0" "@jest/types" "^24.9.0" "@types/istanbul-lib-coverage" "^2.0.0" "@jest/test-sequencer@^24.9.0": - version "24.9.0" - resolved "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz" + "integrity" "sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A==" + "resolved" "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz" + "version" "24.9.0" dependencies: "@jest/test-result" "^24.9.0" - jest-haste-map "^24.9.0" - jest-runner "^24.9.0" - jest-runtime "^24.9.0" + "jest-haste-map" "^24.9.0" + "jest-runner" "^24.9.0" + "jest-runtime" "^24.9.0" "@jest/transform@^24.9.0": - version "24.9.0" - resolved "https://registry.npmjs.org/@jest/transform/-/transform-24.9.0.tgz" + "integrity" "sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==" + "resolved" "https://registry.npmjs.org/@jest/transform/-/transform-24.9.0.tgz" + "version" "24.9.0" dependencies: "@babel/core" "^7.1.0" "@jest/types" "^24.9.0" - babel-plugin-istanbul "^5.1.0" - chalk "^2.0.1" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.1.15" - jest-haste-map "^24.9.0" - jest-regex-util "^24.9.0" - jest-util "^24.9.0" - micromatch "^3.1.10" - pirates "^4.0.1" - realpath-native "^1.1.0" - slash "^2.0.0" - source-map "^0.6.1" - write-file-atomic "2.4.1" + "babel-plugin-istanbul" "^5.1.0" + "chalk" "^2.0.1" + "convert-source-map" "^1.4.0" + "fast-json-stable-stringify" "^2.0.0" + "graceful-fs" "^4.1.15" + "jest-haste-map" "^24.9.0" + "jest-regex-util" "^24.9.0" + "jest-util" "^24.9.0" + "micromatch" "^3.1.10" + "pirates" "^4.0.1" + "realpath-native" "^1.1.0" + "slash" "^2.0.0" + "source-map" "^0.6.1" + "write-file-atomic" "2.4.1" "@jest/types@^24.9.0": - version "24.9.0" - resolved "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz" + "integrity" "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==" + "resolved" "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz" + "version" "24.9.0" dependencies: "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^1.1.1" "@types/yargs" "^13.0.0" "@jridgewell/resolve-uri@^3.0.3": - version "3.0.5" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz" + "integrity" "sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==" + "resolved" "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz" + "version" "3.0.5" "@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.11" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz" + "integrity" "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==" + "resolved" "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz" + "version" "1.4.11" "@jridgewell/trace-mapping@^0.3.0": - version "0.3.4" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz" + "integrity" "sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==" + "resolved" "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz" + "version" "0.3.4" dependencies: "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" "@mrmlnc/readdir-enhanced@^2.2.1": - version "2.2.1" - resolved "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz" + "integrity" "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==" + "resolved" "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz" + "version" "2.2.1" dependencies: - call-me-maybe "^1.0.1" - glob-to-regexp "^0.3.0" + "call-me-maybe" "^1.0.1" + "glob-to-regexp" "^0.3.0" "@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3": - version "2.1.8-no-fsevents.3" - resolved "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz" + "integrity" "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==" + "resolved" "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz" + "version" "2.1.8-no-fsevents.3" "@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + "integrity" "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==" + "resolved" "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + "version" "2.1.5" dependencies: "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + "run-parallel" "^1.1.9" "@nodelib/fs.stat@^1.1.2": - version "1.1.3" - resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz" + "integrity" "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==" + "resolved" "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz" + "version" "1.1.3" + +"@nodelib/fs.stat@^2.0.2": + "integrity" "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + "resolved" "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + "version" "2.0.5" + +"@nodelib/fs.stat@2.0.5": + "integrity" "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + "resolved" "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + "version" "2.0.5" "@nodelib/fs.walk@^1.2.3": - version "1.2.8" - resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + "integrity" "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==" + "resolved" "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + "version" "1.2.8" dependencies: "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" + "fastq" "^1.6.0" "@samverschueren/stream-to-observable@^0.3.0": - version "0.3.1" - resolved "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz" + "integrity" "sha512-c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ==" + "resolved" "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz" + "version" "0.3.1" dependencies: - any-observable "^0.3.0" + "any-observable" "^0.3.0" "@sindresorhus/is@^0.14.0": - version "0.14.0" - resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz" + "integrity" "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" + "resolved" "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz" + "version" "0.14.0" "@sinonjs/commons@^1", "@sinonjs/commons@^1.3.0", "@sinonjs/commons@^1.4.0", "@sinonjs/commons@^1.7.0": - version "1.8.3" - resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz" + "integrity" "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==" + "resolved" "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz" + "version" "1.8.3" dependencies: - type-detect "4.0.8" + "type-detect" "4.0.8" "@sinonjs/formatio@^3.2.1": - version "3.2.2" - resolved "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-3.2.2.tgz" + "integrity" "sha512-B8SEsgd8gArBLMD6zpRw3juQ2FVSsmdd7qlevyDqzS9WTCtvF55/gAL+h6gue8ZvPYcdiPdvueM/qm//9XzyTQ==" + "resolved" "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-3.2.2.tgz" + "version" "3.2.2" dependencies: "@sinonjs/commons" "^1" "@sinonjs/samsam" "^3.1.0" "@sinonjs/samsam@^3.1.0", "@sinonjs/samsam@^3.3.3": - version "3.3.3" - resolved "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-3.3.3.tgz" + "integrity" "sha512-bKCMKZvWIjYD0BLGnNrxVuw4dkWCYsLqFOUWw8VgKF/+5Y+mE7LfHWPIYoDXowH+3a9LsWDMo0uAP8YDosPvHQ==" + "resolved" "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-3.3.3.tgz" + "version" "3.3.3" dependencies: "@sinonjs/commons" "^1.3.0" - array-from "^2.1.1" - lodash "^4.17.15" + "array-from" "^2.1.1" + "lodash" "^4.17.15" "@sinonjs/text-encoding@^0.7.1": - version "0.7.1" - resolved "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz" + "integrity" "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==" + "resolved" "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz" + "version" "0.7.1" "@szmarczak/http-timer@^1.1.2": - version "1.1.2" - resolved "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz" + "integrity" "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==" + "resolved" "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz" + "version" "1.1.2" dependencies: - defer-to-connect "^1.0.1" + "defer-to-connect" "^1.0.1" "@types/babel__core@^7.1.0": - version "7.1.14" - resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.14.tgz" + "integrity" "sha512-zGZJzzBUVDo/eV6KgbE0f0ZI7dInEYvo12Rb70uNQDshC3SkRMb67ja0GgRHZgAX3Za6rhaWlvbDO8rrGyAb1g==" + "resolved" "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.14.tgz" + "version" "7.1.14" dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" @@ -1148,79 +1319,91 @@ "@types/babel__traverse" "*" "@types/babel__generator@*": - version "7.6.2" - resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.2.tgz" + "integrity" "sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ==" + "resolved" "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.2.tgz" + "version" "7.6.2" dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": - version "7.4.0" - resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.0.tgz" + "integrity" "sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A==" + "resolved" "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.0.tgz" + "version" "7.4.0" dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.11.1" - resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.11.1.tgz" + "integrity" "sha512-Vs0hm0vPahPMYi9tDjtP66llufgO3ST16WXaSTtDGEl9cewAl3AibmxWw6TINOqHPT9z0uABKAYjT9jNSg4npw==" + "resolved" "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.11.1.tgz" + "version" "7.11.1" dependencies: "@babel/types" "^7.3.0" "@types/body-parser@*": - version "1.19.2" - resolved "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz" + "integrity" "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==" + "resolved" "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz" + "version" "1.19.2" dependencies: "@types/connect" "*" "@types/node" "*" "@types/bonjour@^3.5.9": - version "3.5.10" - resolved "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz" + "integrity" "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==" + "resolved" "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz" + "version" "3.5.10" dependencies: "@types/node" "*" "@types/connect-history-api-fallback@^1.3.5": - version "1.3.5" - resolved "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz" + "integrity" "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==" + "resolved" "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz" + "version" "1.3.5" dependencies: "@types/express-serve-static-core" "*" "@types/node" "*" "@types/connect@*": - version "3.4.35" - resolved "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz" + "integrity" "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==" + "resolved" "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz" + "version" "3.4.35" dependencies: "@types/node" "*" "@types/eslint-scope@^3.7.3": - version "3.7.3" - resolved "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz" + "integrity" "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==" + "resolved" "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz" + "version" "3.7.3" dependencies: "@types/eslint" "*" "@types/estree" "*" "@types/eslint@*": - version "8.4.1" - resolved "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz" + "integrity" "sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==" + "resolved" "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz" + "version" "8.4.1" dependencies: "@types/estree" "*" "@types/json-schema" "*" "@types/estree@*", "@types/estree@^0.0.51": - version "0.0.51" - resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz" + "integrity" "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==" + "resolved" "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz" + "version" "0.0.51" "@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.18": - version "4.17.28" - resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz" + "integrity" "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==" + "resolved" "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz" + "version" "4.17.28" dependencies: "@types/node" "*" "@types/qs" "*" "@types/range-parser" "*" "@types/express@*", "@types/express@^4.17.13": - version "4.17.13" - resolved "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz" + "integrity" "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==" + "resolved" "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz" + "version" "4.17.13" dependencies: "@types/body-parser" "*" "@types/express-serve-static-core" "^4.17.18" @@ -1228,139 +1411,167 @@ "@types/serve-static" "*" "@types/glob@^7.1.1": - version "7.1.3" - resolved "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz" + "integrity" "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==" + "resolved" "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz" + "version" "7.1.3" dependencies: "@types/minimatch" "*" "@types/node" "*" "@types/html-minifier-terser@^6.0.0": - version "6.1.0" - resolved "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" + "integrity" "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" + "resolved" "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" + "version" "6.1.0" "@types/http-proxy@^1.17.8": - version "1.17.8" - resolved "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.8.tgz" + "integrity" "sha512-5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA==" + "resolved" "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.8.tgz" + "version" "1.17.8" dependencies: "@types/node" "*" "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": - version "2.0.3" - resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz" + "integrity" "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==" + "resolved" "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz" + "version" "2.0.3" "@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" + "integrity" "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==" + "resolved" "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" + "version" "3.0.0" dependencies: "@types/istanbul-lib-coverage" "*" "@types/istanbul-reports@^1.1.1": - version "1.1.2" - resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz" + "integrity" "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==" + "resolved" "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz" + "version" "1.1.2" dependencies: "@types/istanbul-lib-coverage" "*" "@types/istanbul-lib-report" "*" "@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": - version "7.0.9" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz" + "integrity" "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==" + "resolved" "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz" + "version" "7.0.9" "@types/mdast@^3.0.0", "@types/mdast@^3.0.3": - version "3.0.10" - resolved "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz" + "integrity" "sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==" + "resolved" "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz" + "version" "3.0.10" dependencies: "@types/unist" "*" "@types/mime@^1": - version "1.3.2" - resolved "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz" + "integrity" "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==" + "resolved" "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz" + "version" "1.3.2" "@types/minimatch@*": - version "3.0.4" - resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.4.tgz" + "integrity" "sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA==" + "resolved" "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.4.tgz" + "version" "3.0.4" "@types/minimist@^1.2.0": - version "1.2.1" - resolved "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz" + "integrity" "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==" + "resolved" "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz" + "version" "1.2.1" "@types/node@*": - version "15.12.2" - resolved "https://registry.npmjs.org/@types/node/-/node-15.12.2.tgz" + "integrity" "sha512-zjQ69G564OCIWIOHSXyQEEDpdpGl+G348RAKY0XXy9Z5kU9Vzv1GMNnkar/ZJ8dzXB3COzD9Mo9NtRZ4xfgUww==" + "resolved" "https://registry.npmjs.org/@types/node/-/node-15.12.2.tgz" + "version" "15.12.2" "@types/normalize-package-data@^2.4.0": - version "2.4.0" - resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz" + "integrity" "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==" + "resolved" "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz" + "version" "2.4.0" "@types/q@^1.5.1": - version "1.5.4" - resolved "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz" + "integrity" "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==" + "resolved" "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz" + "version" "1.5.4" "@types/qs@*": - version "6.9.7" - resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz" + "integrity" "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + "resolved" "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz" + "version" "6.9.7" "@types/range-parser@*": - version "1.2.4" - resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz" + "integrity" "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" + "resolved" "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz" + "version" "1.2.4" "@types/retry@^0.12.0": - version "0.12.1" - resolved "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz" + "integrity" "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==" + "resolved" "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz" + "version" "0.12.1" "@types/serve-index@^1.9.1": - version "1.9.1" - resolved "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz" + "integrity" "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==" + "resolved" "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz" + "version" "1.9.1" dependencies: "@types/express" "*" "@types/serve-static@*": - version "1.13.10" - resolved "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz" + "integrity" "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==" + "resolved" "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz" + "version" "1.13.10" dependencies: "@types/mime" "^1" "@types/node" "*" "@types/sockjs@^0.3.33": - version "0.3.33" - resolved "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz" + "integrity" "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==" + "resolved" "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz" + "version" "0.3.33" dependencies: "@types/node" "*" "@types/stack-utils@^1.0.1": - version "1.0.1" - resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz" + "integrity" "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==" + "resolved" "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz" + "version" "1.0.1" "@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2", "@types/unist@^2.0.3": - version "2.0.6" - resolved "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz" + "integrity" "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==" + "resolved" "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz" + "version" "2.0.6" "@types/ws@^8.2.2": - version "8.2.3" - resolved "https://registry.npmjs.org/@types/ws/-/ws-8.2.3.tgz" + "integrity" "sha512-ahRJZquUYCdOZf/rCsWg88S0/+cb9wazUBHv6HZEe3XdYaBe2zr/slM8J28X07Hn88Pnm4ezo7N8/ofnOgrPVQ==" + "resolved" "https://registry.npmjs.org/@types/ws/-/ws-8.2.3.tgz" + "version" "8.2.3" dependencies: "@types/node" "*" "@types/yargs-parser@*": - version "20.2.0" - resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz" + "integrity" "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" + "resolved" "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz" + "version" "21.0.0" "@types/yargs@^13.0.0": - version "13.0.11" - resolved "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.11.tgz" + "integrity" "sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ==" + "resolved" "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.12.tgz" + "version" "13.0.12" dependencies: "@types/yargs-parser" "*" "@vue/babel-helper-vue-jsx-merge-props@^1.2.1": - version "1.2.1" - resolved "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz" + "integrity" "sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA==" + "resolved" "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz" + "version" "1.2.1" "@vue/babel-helper-vue-transform-on@^1.0.2": - version "1.0.2" - resolved "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.2.tgz" + "integrity" "sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==" + "resolved" "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.2.tgz" + "version" "1.0.2" "@vue/babel-plugin-jsx@^1.0.3": - version "1.0.6" - resolved "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.0.6.tgz" + "integrity" "sha512-RzYsvBhzKUmY2YG6LoV+W5PnlnkInq0thh1AzCmewwctAgGN6e9UFon6ZrQQV1CO5G5PeME7MqpB+/vvGg0h4g==" + "resolved" "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.0.6.tgz" + "version" "1.0.6" dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/plugin-syntax-jsx" "^7.0.0" @@ -1368,24 +1579,26 @@ "@babel/traverse" "^7.0.0" "@babel/types" "^7.0.0" "@vue/babel-helper-vue-transform-on" "^1.0.2" - camelcase "^6.0.0" - html-tags "^3.1.0" - svg-tags "^1.0.0" + "camelcase" "^6.0.0" + "html-tags" "^3.1.0" + "svg-tags" "^1.0.0" "@vue/babel-plugin-transform-vue-jsx@^1.2.1": - version "1.2.1" - resolved "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.2.1.tgz" + "integrity" "sha512-HJuqwACYehQwh1fNT8f4kyzqlNMpBuUK4rSiSES5D4QsYncv5fxFsLyrxFPG2ksO7t5WP+Vgix6tt6yKClwPzA==" + "resolved" "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.2.1.tgz" + "version" "1.2.1" dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/plugin-syntax-jsx" "^7.2.0" "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" - html-tags "^2.0.0" - lodash.kebabcase "^4.1.1" - svg-tags "^1.0.0" + "html-tags" "^2.0.0" + "lodash.kebabcase" "^4.1.1" + "svg-tags" "^1.0.0" "@vue/babel-preset-app@^4.1.2": - version "4.5.13" - resolved "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-4.5.13.tgz" + "integrity" "sha512-pM7CR3yXB6L8Gfn6EmX7FLNE3+V/15I3o33GkSNsWvgsMp6HVGXKkXgojrcfUUauyL1LZOdvTmu4enU2RePGHw==" + "resolved" "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-4.5.13.tgz" + "version" "4.5.13" dependencies: "@babel/core" "^7.11.0" "@babel/helper-compilation-targets" "^7.9.6" @@ -1399,14 +1612,15 @@ "@babel/runtime" "^7.11.0" "@vue/babel-plugin-jsx" "^1.0.3" "@vue/babel-preset-jsx" "^1.2.4" - babel-plugin-dynamic-import-node "^2.3.3" - core-js "^3.6.5" - core-js-compat "^3.6.5" - semver "^6.1.0" + "babel-plugin-dynamic-import-node" "^2.3.3" + "core-js" "^3.6.5" + "core-js-compat" "^3.6.5" + "semver" "^6.1.0" "@vue/babel-preset-jsx@^1.2.4": - version "1.2.4" - resolved "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.2.4.tgz" + "integrity" "sha512-oRVnmN2a77bYDJzeGSt92AuHXbkIxbf/XXSE3klINnh9AXBmVS1DGa1f0d+dDYpLfsAKElMnqKTQfKn7obcL4w==" + "resolved" "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.2.4.tgz" + "version" "1.2.4" dependencies: "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" @@ -1418,68 +1632,77 @@ "@vue/babel-sugar-v-on" "^1.2.3" "@vue/babel-sugar-composition-api-inject-h@^1.2.1": - version "1.2.1" - resolved "https://registry.npmjs.org/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.2.1.tgz" + "integrity" "sha512-4B3L5Z2G+7s+9Bwbf+zPIifkFNcKth7fQwekVbnOA3cr3Pq71q71goWr97sk4/yyzH8phfe5ODVzEjX7HU7ItQ==" + "resolved" "https://registry.npmjs.org/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.2.1.tgz" + "version" "1.2.1" dependencies: "@babel/plugin-syntax-jsx" "^7.2.0" "@vue/babel-sugar-composition-api-render-instance@^1.2.4": - version "1.2.4" - resolved "https://registry.npmjs.org/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.2.4.tgz" + "integrity" "sha512-joha4PZznQMsxQYXtR3MnTgCASC9u3zt9KfBxIeuI5g2gscpTsSKRDzWQt4aqNIpx6cv8On7/m6zmmovlNsG7Q==" + "resolved" "https://registry.npmjs.org/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.2.4.tgz" + "version" "1.2.4" dependencies: "@babel/plugin-syntax-jsx" "^7.2.0" "@vue/babel-sugar-functional-vue@^1.2.2": - version "1.2.2" - resolved "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.2.2.tgz" + "integrity" "sha512-JvbgGn1bjCLByIAU1VOoepHQ1vFsroSA/QkzdiSs657V79q6OwEWLCQtQnEXD/rLTA8rRit4rMOhFpbjRFm82w==" + "resolved" "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.2.2.tgz" + "version" "1.2.2" dependencies: "@babel/plugin-syntax-jsx" "^7.2.0" "@vue/babel-sugar-inject-h@^1.2.2": - version "1.2.2" - resolved "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.2.2.tgz" + "integrity" "sha512-y8vTo00oRkzQTgufeotjCLPAvlhnpSkcHFEp60+LJUwygGcd5Chrpn5480AQp/thrxVm8m2ifAk0LyFel9oCnw==" + "resolved" "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.2.2.tgz" + "version" "1.2.2" dependencies: "@babel/plugin-syntax-jsx" "^7.2.0" "@vue/babel-sugar-v-model@^1.2.3": - version "1.2.3" - resolved "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.2.3.tgz" + "integrity" "sha512-A2jxx87mySr/ulAsSSyYE8un6SIH0NWHiLaCWpodPCVOlQVODCaSpiR4+IMsmBr73haG+oeCuSvMOM+ttWUqRQ==" + "resolved" "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.2.3.tgz" + "version" "1.2.3" dependencies: "@babel/plugin-syntax-jsx" "^7.2.0" "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" - camelcase "^5.0.0" - html-tags "^2.0.0" - svg-tags "^1.0.0" + "camelcase" "^5.0.0" + "html-tags" "^2.0.0" + "svg-tags" "^1.0.0" "@vue/babel-sugar-v-on@^1.2.3": - version "1.2.3" - resolved "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.2.3.tgz" + "integrity" "sha512-kt12VJdz/37D3N3eglBywV8GStKNUhNrsxChXIV+o0MwVXORYuhDTHJRKPgLJRb/EY3vM2aRFQdxJBp9CLikjw==" + "resolved" "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.2.3.tgz" + "version" "1.2.3" dependencies: "@babel/plugin-syntax-jsx" "^7.2.0" "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" - camelcase "^5.0.0" + "camelcase" "^5.0.0" "@vue/compiler-core@3.1.1": - version "3.1.1" - resolved "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.1.1.tgz" + "integrity" "sha512-Z1RO3T6AEtAUFf2EqqovFm3ohAeTvFzRtB0qUENW2nEerJfdlk13/LS1a0EgsqlzxmYfR/S/S/gW9PLbFZZxkA==" + "resolved" "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.1.1.tgz" + "version" "3.1.1" dependencies: "@babel/parser" "^7.12.0" "@babel/types" "^7.12.0" "@vue/shared" "3.1.1" - estree-walker "^2.0.1" - source-map "^0.6.1" + "estree-walker" "^2.0.1" + "source-map" "^0.6.1" "@vue/compiler-dom@3.1.1": - version "3.1.1" - resolved "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.1.1.tgz" + "integrity" "sha512-nobRIo0t5ibzg+q8nC31m+aJhbq8FbWUoKvk6h3Vs1EqTDJaj6lBTcVTq5or8AYht7FbSpdAJ81isbJ1rWNX7A==" + "resolved" "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.1.1.tgz" + "version" "3.1.1" dependencies: "@vue/compiler-core" "3.1.1" "@vue/shared" "3.1.1" "@vue/compiler-sfc@^3.0.11": - version "3.1.1" - resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.1.1.tgz" + "integrity" "sha512-lSgMsZaYHF+bAgryq5aUqpvyfhu52GJI2/4LoiJCE5uaxc6FCZfxfgqgw/d9ltiZghv+HiISFtmQVAVvlsk+/w==" + "resolved" "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.1.1.tgz" + "version" "3.1.1" dependencies: "@babel/parser" "^7.13.9" "@babel/types" "^7.13.0" @@ -1487,45 +1710,73 @@ "@vue/compiler-dom" "3.1.1" "@vue/compiler-ssr" "3.1.1" "@vue/shared" "3.1.1" - consolidate "^0.16.0" - estree-walker "^2.0.1" - hash-sum "^2.0.0" - lru-cache "^5.1.1" - magic-string "^0.25.7" - merge-source-map "^1.1.0" - postcss "^8.1.10" - postcss-modules "^4.0.0" - postcss-selector-parser "^6.0.4" - source-map "^0.6.1" + "consolidate" "^0.16.0" + "estree-walker" "^2.0.1" + "hash-sum" "^2.0.0" + "lru-cache" "^5.1.1" + "magic-string" "^0.25.7" + "merge-source-map" "^1.1.0" + "postcss" "^8.1.10" + "postcss-modules" "^4.0.0" + "postcss-selector-parser" "^6.0.4" + "source-map" "^0.6.1" "@vue/compiler-ssr@3.1.1": - version "3.1.1" - resolved "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.1.1.tgz" + "integrity" "sha512-7H6krZtVt3h/YzfNp7eYK41hMDz8ZskiBy+Wby+EDRINX6BD9JQ5C8zyy2xAa7T6Iz2VrQzsaJ/Bb52lTPSS5A==" + "resolved" "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.1.1.tgz" + "version" "3.1.1" dependencies: "@vue/compiler-dom" "3.1.1" "@vue/shared" "3.1.1" "@vue/component-compiler-utils@^3.1.0": - version "3.2.1" - resolved "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.2.1.tgz" - dependencies: - consolidate "^0.15.1" - hash-sum "^1.0.2" - lru-cache "^4.1.2" - merge-source-map "^1.1.0" - postcss-selector-parser "^6.0.2" - source-map "~0.6.1" - vue-template-es2015-compiler "^1.9.0" + "integrity" "sha512-Mci9WJYLRjyJEBkGHMPxZ1ihJ9l6gOy2Gr6hpYZUNpQoe5+nbpeb3w00aP+PSHJygCF+fxJsqp7Af1zGDITzuw==" + "resolved" "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.2.1.tgz" + "version" "3.2.1" + dependencies: + "consolidate" "^0.15.1" + "hash-sum" "^1.0.2" + "lru-cache" "^4.1.2" + "merge-source-map" "^1.1.0" + "postcss-selector-parser" "^6.0.2" + "source-map" "~0.6.1" + "vue-template-es2015-compiler" "^1.9.0" optionalDependencies: - prettier "^1.18.2" + "prettier" "^1.18.2" + +"@vue/reactivity@3.1.1": + "integrity" "sha512-DsH5woNVCcPK1M0RRYVgJEU1GJDU2ASOKpAqW3ppHk+XjoFLCbqc/26RTCgTpJYd9z8VN+79Q1u7/QqgQPbuLQ==" + "resolved" "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.1.1.tgz" + "version" "3.1.1" + dependencies: + "@vue/shared" "3.1.1" + +"@vue/runtime-core@3.1.1": + "integrity" "sha512-GboqR02txOtkd9F3Ysd8ltPL68vTCqIx2p/J52/gFtpgb5FG9hvOAPEwFUqxeEJRu7ResvQnmdOHiEycGPCLhQ==" + "resolved" "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.1.1.tgz" + "version" "3.1.1" + dependencies: + "@vue/reactivity" "3.1.1" + "@vue/shared" "3.1.1" + +"@vue/runtime-dom@3.1.1": + "integrity" "sha512-o57n/199e/BBAmLRMSXmD2r12Old/h/gf6BgL0RON1NT2pwm6MWaMY4Ul55eyq+FsDILz4jR/UgoPQ9vYB8xcw==" + "resolved" "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.1.1.tgz" + "version" "3.1.1" + dependencies: + "@vue/runtime-core" "3.1.1" + "@vue/shared" "3.1.1" + "csstype" "^2.6.8" "@vue/shared@3.1.1": - version "3.1.1" - resolved "https://registry.npmjs.org/@vue/shared/-/shared-3.1.1.tgz" + "integrity" "sha512-g+4pzAw7PYSjARtLBoDq6DmcblX8i9KJHSCnyM5VDDFFifUaUT9iHbFpOF/KOizQ9f7QAqU2JH3Y6aXjzUMhVA==" + "resolved" "https://registry.npmjs.org/@vue/shared/-/shared-3.1.1.tgz" + "version" "3.1.1" "@vuepress/core@1.8.2": - version "1.8.2" - resolved "https://registry.npmjs.org/@vuepress/core/-/core-1.8.2.tgz" + "integrity" "sha512-lh9BLC06k9s0wxTuWtCkiNj49fkbW87enp0XSrFZHEoyDGSGndQjZmMMErcHc5Hx7nrW1nzc33sPH1NNtJl0hw==" + "resolved" "https://registry.npmjs.org/@vuepress/core/-/core-1.8.2.tgz" + "version" "1.8.2" dependencies: "@babel/core" "^7.8.4" "@vue/babel-preset-app" "^4.1.2" @@ -1534,192 +1785,217 @@ "@vuepress/plugin-last-updated" "1.8.2" "@vuepress/plugin-register-components" "1.8.2" "@vuepress/shared-utils" "1.8.2" - autoprefixer "^9.5.1" - babel-loader "^8.0.4" - cache-loader "^3.0.0" - chokidar "^2.0.3" - connect-history-api-fallback "^1.5.0" - copy-webpack-plugin "^5.0.2" - core-js "^3.6.4" - cross-spawn "^6.0.5" - css-loader "^2.1.1" - file-loader "^3.0.1" - js-yaml "^3.13.1" - lru-cache "^5.1.1" - mini-css-extract-plugin "0.6.0" - optimize-css-assets-webpack-plugin "^5.0.1" - portfinder "^1.0.13" - postcss-loader "^3.0.0" - postcss-safe-parser "^4.0.1" - toml "^3.0.0" - url-loader "^1.0.1" - vue "^2.6.10" - vue-loader "^15.7.1" - vue-router "^3.4.5" - vue-server-renderer "^2.6.10" - vue-template-compiler "^2.6.10" - vuepress-html-webpack-plugin "^3.2.0" - vuepress-plugin-container "^2.0.2" - webpack "^4.8.1" - webpack-chain "^6.0.0" - webpack-dev-server "^3.5.1" - webpack-merge "^4.1.2" - webpackbar "3.2.0" + "autoprefixer" "^9.5.1" + "babel-loader" "^8.0.4" + "cache-loader" "^3.0.0" + "chokidar" "^2.0.3" + "connect-history-api-fallback" "^1.5.0" + "copy-webpack-plugin" "^5.0.2" + "core-js" "^3.6.4" + "cross-spawn" "^6.0.5" + "css-loader" "^2.1.1" + "file-loader" "^3.0.1" + "js-yaml" "^3.13.1" + "lru-cache" "^5.1.1" + "mini-css-extract-plugin" "0.6.0" + "optimize-css-assets-webpack-plugin" "^5.0.1" + "portfinder" "^1.0.13" + "postcss-loader" "^3.0.0" + "postcss-safe-parser" "^4.0.1" + "toml" "^3.0.0" + "url-loader" "^1.0.1" + "vue" "^2.6.10" + "vue-loader" "^15.7.1" + "vue-router" "^3.4.5" + "vue-server-renderer" "^2.6.10" + "vue-template-compiler" "^2.6.10" + "vuepress-html-webpack-plugin" "^3.2.0" + "vuepress-plugin-container" "^2.0.2" + "webpack" "^4.8.1" + "webpack-chain" "^6.0.0" + "webpack-dev-server" "^3.5.1" + "webpack-merge" "^4.1.2" + "webpackbar" "3.2.0" "@vuepress/markdown-loader@1.8.2": - version "1.8.2" - resolved "https://registry.npmjs.org/@vuepress/markdown-loader/-/markdown-loader-1.8.2.tgz" + "integrity" "sha512-mWzFXikCUcAN/chpKkqZpRYKdo0312hMv8cBea2hvrJYV6y4ODB066XKvXN8JwOcxuCjxWYJkhWGr+pXq1oTtw==" + "resolved" "https://registry.npmjs.org/@vuepress/markdown-loader/-/markdown-loader-1.8.2.tgz" + "version" "1.8.2" dependencies: "@vuepress/markdown" "1.8.2" - loader-utils "^1.1.0" - lru-cache "^5.1.1" + "loader-utils" "^1.1.0" + "lru-cache" "^5.1.1" "@vuepress/markdown@1.8.2": - version "1.8.2" - resolved "https://registry.npmjs.org/@vuepress/markdown/-/markdown-1.8.2.tgz" + "integrity" "sha512-zznBHVqW+iBkznF/BO/GY9RFu53khyl0Ey0PnGqvwCJpRLNan6y5EXgYumtjw2GSYn5nDTTALYxtyNBdz64PKg==" + "resolved" "https://registry.npmjs.org/@vuepress/markdown/-/markdown-1.8.2.tgz" + "version" "1.8.2" dependencies: "@vuepress/shared-utils" "1.8.2" - markdown-it "^8.4.1" - markdown-it-anchor "^5.0.2" - markdown-it-chain "^1.3.0" - markdown-it-emoji "^1.4.0" - markdown-it-table-of-contents "^0.4.0" - prismjs "^1.13.0" + "markdown-it" "^8.4.1" + "markdown-it-anchor" "^5.0.2" + "markdown-it-chain" "^1.3.0" + "markdown-it-emoji" "^1.4.0" + "markdown-it-table-of-contents" "^0.4.0" + "prismjs" "^1.13.0" "@vuepress/plugin-active-header-links@1.8.2": - version "1.8.2" - resolved "https://registry.npmjs.org/@vuepress/plugin-active-header-links/-/plugin-active-header-links-1.8.2.tgz" + "integrity" "sha512-JmXAQg8D7J8mcKe2Ue3BZ9dOCzJMJXP4Cnkkc/IrqfDg0ET0l96gYWZohCqlvRIWt4f0VPiFAO4FLYrW+hko+g==" + "resolved" "https://registry.npmjs.org/@vuepress/plugin-active-header-links/-/plugin-active-header-links-1.8.2.tgz" + "version" "1.8.2" dependencies: - lodash.debounce "^4.0.8" + "lodash.debounce" "^4.0.8" "@vuepress/plugin-google-analytics@^1.8.2": - version "1.8.2" - resolved "https://registry.npmjs.org/@vuepress/plugin-google-analytics/-/plugin-google-analytics-1.8.2.tgz" + "integrity" "sha512-BMFayLzT2BvXmnhM9mDHw0UPU7J0pH1X9gQA4HmZxOf7f3+atK5eJGsc1Ia/+1FTG2ESvhFLUU/CC3h5arjEJw==" + "resolved" "https://registry.npmjs.org/@vuepress/plugin-google-analytics/-/plugin-google-analytics-1.8.2.tgz" + "version" "1.8.2" "@vuepress/plugin-last-updated@1.8.2": - version "1.8.2" - resolved "https://registry.npmjs.org/@vuepress/plugin-last-updated/-/plugin-last-updated-1.8.2.tgz" + "integrity" "sha512-pYIRZi52huO9b6HY3JQNPKNERCLzMHejjBRt9ekdnJ1xhLs4MmRvt37BoXjI/qzvXkYtr7nmGgnKThNBVRTZuA==" + "resolved" "https://registry.npmjs.org/@vuepress/plugin-last-updated/-/plugin-last-updated-1.8.2.tgz" + "version" "1.8.2" dependencies: - cross-spawn "^6.0.5" + "cross-spawn" "^6.0.5" "@vuepress/plugin-nprogress@1.8.2": - version "1.8.2" - resolved "https://registry.npmjs.org/@vuepress/plugin-nprogress/-/plugin-nprogress-1.8.2.tgz" + "integrity" "sha512-3TOBee2NM3WLr1tdjDTGfrAMggjN+OlEPyKyv8FqThsVkDYhw48O3HwqlThp9KX7UbL3ExxIFBwWRFLC+kYrdw==" + "resolved" "https://registry.npmjs.org/@vuepress/plugin-nprogress/-/plugin-nprogress-1.8.2.tgz" + "version" "1.8.2" dependencies: - nprogress "^0.2.0" + "nprogress" "^0.2.0" "@vuepress/plugin-register-components@1.8.2": - version "1.8.2" - resolved "https://registry.npmjs.org/@vuepress/plugin-register-components/-/plugin-register-components-1.8.2.tgz" + "integrity" "sha512-6SUq3nHFMEh9qKFnjA8QnrNxj0kLs7+Gspq1OBU8vtu0NQmSvLFZVaMV7pzT/9zN2nO5Pld5qhsUJv1g71MrEA==" + "resolved" "https://registry.npmjs.org/@vuepress/plugin-register-components/-/plugin-register-components-1.8.2.tgz" + "version" "1.8.2" dependencies: "@vuepress/shared-utils" "1.8.2" "@vuepress/plugin-search@1.8.2": - version "1.8.2" - resolved "https://registry.npmjs.org/@vuepress/plugin-search/-/plugin-search-1.8.2.tgz" - -"@vuepress/shared-utils@1.8.2", "@vuepress/shared-utils@^1.2.0": - version "1.8.2" - resolved "https://registry.npmjs.org/@vuepress/shared-utils/-/shared-utils-1.8.2.tgz" - dependencies: - chalk "^2.3.2" - escape-html "^1.0.3" - fs-extra "^7.0.1" - globby "^9.2.0" - gray-matter "^4.0.1" - hash-sum "^1.0.2" - semver "^6.0.0" - toml "^3.0.0" - upath "^1.1.0" + "integrity" "sha512-JrSJr9o0Kar14lVtZ4wfw39pplxvvMh8vDBD9oW09a+6Zi/4bySPGdcdaqdqGW+OHSiZNvG+6uyfKSBBBqF6PA==" + "resolved" "https://registry.npmjs.org/@vuepress/plugin-search/-/plugin-search-1.8.2.tgz" + "version" "1.8.2" + +"@vuepress/shared-utils@^1.2.0", "@vuepress/shared-utils@1.8.2": + "integrity" "sha512-6kGubc7iBDWruEBUU7yR+sQ++SOhMuvKWvWeTZJKRZedthycdzYz7QVpua0FaZSAJm5/dIt8ymU4WQvxTtZgTQ==" + "resolved" "https://registry.npmjs.org/@vuepress/shared-utils/-/shared-utils-1.8.2.tgz" + "version" "1.8.2" + dependencies: + "chalk" "^2.3.2" + "escape-html" "^1.0.3" + "fs-extra" "^7.0.1" + "globby" "^9.2.0" + "gray-matter" "^4.0.1" + "hash-sum" "^1.0.2" + "semver" "^6.0.0" + "toml" "^3.0.0" + "upath" "^1.1.0" "@vuepress/theme-default@1.8.2": - version "1.8.2" - resolved "https://registry.npmjs.org/@vuepress/theme-default/-/theme-default-1.8.2.tgz" + "integrity" "sha512-rE7M1rs3n2xp4a/GrweO8EGwqFn3EA5gnFWdVmVIHyr7C1nix+EqjpPQF1SVWNnIrDdQuCw38PqS+oND1K2vYw==" + "resolved" "https://registry.npmjs.org/@vuepress/theme-default/-/theme-default-1.8.2.tgz" + "version" "1.8.2" dependencies: "@vuepress/plugin-active-header-links" "1.8.2" "@vuepress/plugin-nprogress" "1.8.2" "@vuepress/plugin-search" "1.8.2" - docsearch.js "^2.5.2" - lodash "^4.17.15" - stylus "^0.54.8" - stylus-loader "^3.0.2" - vuepress-plugin-container "^2.0.2" - vuepress-plugin-smooth-scroll "^0.0.3" + "docsearch.js" "^2.5.2" + "lodash" "^4.17.15" + "stylus" "^0.54.8" + "stylus-loader" "^3.0.2" + "vuepress-plugin-container" "^2.0.2" + "vuepress-plugin-smooth-scroll" "^0.0.3" "@webassemblyjs/ast@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz" + "integrity" "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz" + "version" "1.11.1" dependencies: "@webassemblyjs/helper-numbers" "1.11.1" "@webassemblyjs/helper-wasm-bytecode" "1.11.1" "@webassemblyjs/ast@1.9.0": - version "1.9.0" - resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz" + "integrity" "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz" + "version" "1.9.0" dependencies: "@webassemblyjs/helper-module-context" "1.9.0" "@webassemblyjs/helper-wasm-bytecode" "1.9.0" "@webassemblyjs/wast-parser" "1.9.0" "@webassemblyjs/floating-point-hex-parser@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz" + "integrity" "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz" + "version" "1.11.1" "@webassemblyjs/floating-point-hex-parser@1.9.0": - version "1.9.0" - resolved "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz" + "integrity" "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz" + "version" "1.9.0" "@webassemblyjs/helper-api-error@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz" + "integrity" "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz" + "version" "1.11.1" "@webassemblyjs/helper-api-error@1.9.0": - version "1.9.0" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz" + "integrity" "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz" + "version" "1.9.0" "@webassemblyjs/helper-buffer@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz" + "integrity" "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz" + "version" "1.11.1" "@webassemblyjs/helper-buffer@1.9.0": - version "1.9.0" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz" + "integrity" "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz" + "version" "1.9.0" "@webassemblyjs/helper-code-frame@1.9.0": - version "1.9.0" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz" + "integrity" "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz" + "version" "1.9.0" dependencies: "@webassemblyjs/wast-printer" "1.9.0" "@webassemblyjs/helper-fsm@1.9.0": - version "1.9.0" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz" + "integrity" "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz" + "version" "1.9.0" "@webassemblyjs/helper-module-context@1.9.0": - version "1.9.0" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz" + "integrity" "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz" + "version" "1.9.0" dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-numbers@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz" + "integrity" "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz" + "version" "1.11.1" dependencies: "@webassemblyjs/floating-point-hex-parser" "1.11.1" "@webassemblyjs/helper-api-error" "1.11.1" "@xtuc/long" "4.2.2" "@webassemblyjs/helper-wasm-bytecode@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz" + "integrity" "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz" + "version" "1.11.1" "@webassemblyjs/helper-wasm-bytecode@1.9.0": - version "1.9.0" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz" + "integrity" "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz" + "version" "1.9.0" "@webassemblyjs/helper-wasm-section@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz" + "integrity" "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz" + "version" "1.11.1" dependencies: "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/helper-buffer" "1.11.1" @@ -1727,8 +2003,9 @@ "@webassemblyjs/wasm-gen" "1.11.1" "@webassemblyjs/helper-wasm-section@1.9.0": - version "1.9.0" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz" + "integrity" "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz" + "version" "1.9.0" dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-buffer" "1.9.0" @@ -1736,40 +2013,47 @@ "@webassemblyjs/wasm-gen" "1.9.0" "@webassemblyjs/ieee754@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz" + "integrity" "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz" + "version" "1.11.1" dependencies: "@xtuc/ieee754" "^1.2.0" "@webassemblyjs/ieee754@1.9.0": - version "1.9.0" - resolved "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz" + "integrity" "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz" + "version" "1.9.0" dependencies: "@xtuc/ieee754" "^1.2.0" "@webassemblyjs/leb128@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz" + "integrity" "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz" + "version" "1.11.1" dependencies: "@xtuc/long" "4.2.2" "@webassemblyjs/leb128@1.9.0": - version "1.9.0" - resolved "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz" + "integrity" "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz" + "version" "1.9.0" dependencies: "@xtuc/long" "4.2.2" "@webassemblyjs/utf8@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz" + "integrity" "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz" + "version" "1.11.1" "@webassemblyjs/utf8@1.9.0": - version "1.9.0" - resolved "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz" + "integrity" "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz" + "version" "1.9.0" "@webassemblyjs/wasm-edit@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz" + "integrity" "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz" + "version" "1.11.1" dependencies: "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/helper-buffer" "1.11.1" @@ -1781,8 +2065,9 @@ "@webassemblyjs/wast-printer" "1.11.1" "@webassemblyjs/wasm-edit@1.9.0": - version "1.9.0" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz" + "integrity" "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz" + "version" "1.9.0" dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-buffer" "1.9.0" @@ -1794,8 +2079,9 @@ "@webassemblyjs/wast-printer" "1.9.0" "@webassemblyjs/wasm-gen@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz" + "integrity" "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz" + "version" "1.11.1" dependencies: "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/helper-wasm-bytecode" "1.11.1" @@ -1804,8 +2090,9 @@ "@webassemblyjs/utf8" "1.11.1" "@webassemblyjs/wasm-gen@1.9.0": - version "1.9.0" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz" + "integrity" "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz" + "version" "1.9.0" dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-wasm-bytecode" "1.9.0" @@ -1814,8 +2101,9 @@ "@webassemblyjs/utf8" "1.9.0" "@webassemblyjs/wasm-opt@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz" + "integrity" "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz" + "version" "1.11.1" dependencies: "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/helper-buffer" "1.11.1" @@ -1823,8 +2111,9 @@ "@webassemblyjs/wasm-parser" "1.11.1" "@webassemblyjs/wasm-opt@1.9.0": - version "1.9.0" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz" + "integrity" "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz" + "version" "1.9.0" dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-buffer" "1.9.0" @@ -1832,8 +2121,9 @@ "@webassemblyjs/wasm-parser" "1.9.0" "@webassemblyjs/wasm-parser@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz" + "integrity" "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz" + "version" "1.11.1" dependencies: "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/helper-api-error" "1.11.1" @@ -1843,8 +2133,9 @@ "@webassemblyjs/utf8" "1.11.1" "@webassemblyjs/wasm-parser@1.9.0": - version "1.9.0" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz" + "integrity" "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz" + "version" "1.9.0" dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-api-error" "1.9.0" @@ -1854,8 +2145,9 @@ "@webassemblyjs/utf8" "1.9.0" "@webassemblyjs/wast-parser@1.9.0": - version "1.9.0" - resolved "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz" + "integrity" "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz" + "version" "1.9.0" dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/floating-point-hex-parser" "1.9.0" @@ -1865,9797 +2157,11718 @@ "@xtuc/long" "4.2.2" "@webassemblyjs/wast-printer@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz" + "integrity" "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz" + "version" "1.11.1" dependencies: "@webassemblyjs/ast" "1.11.1" "@xtuc/long" "4.2.2" "@webassemblyjs/wast-printer@1.9.0": - version "1.9.0" - resolved "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz" + "integrity" "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz" + "version" "1.9.0" dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/wast-parser" "1.9.0" "@xtuc/long" "4.2.2" "@webpack-cli/configtest@^1.1.1": - version "1.1.1" - resolved "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.1.tgz" + "integrity" "sha512-1FBc1f9G4P/AxMqIgfZgeOTuRnwZMten8E7zap5zgpPInnCrP8D4Q81+4CWIch8i/Nf7nXjP0v6CjjbHOrXhKg==" + "resolved" "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.1.tgz" + "version" "1.1.1" "@webpack-cli/info@^1.4.1": - version "1.4.1" - resolved "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.1.tgz" + "integrity" "sha512-PKVGmazEq3oAo46Q63tpMr4HipI3OPfP7LiNOEJg963RMgT0rqheag28NCML0o3GIzA3DmxP1ZIAv9oTX1CUIA==" + "resolved" "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.1.tgz" + "version" "1.4.1" dependencies: - envinfo "^7.7.3" + "envinfo" "^7.7.3" "@webpack-cli/serve@^1.6.1": - version "1.6.1" - resolved "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.1.tgz" + "integrity" "sha512-gNGTiTrjEVQ0OcVnzsRSqTxaBSr+dmTfm+qJsCDluky8uhdLWep7Gcr62QsAKHTMxjCS/8nEITsmFAhfIx+QSw==" + "resolved" "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.1.tgz" + "version" "1.6.1" "@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" + "integrity" "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + "resolved" "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" + "version" "1.2.0" "@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" - -JSONStream@^1.0.3, JSONStream@^1.0.4: - version "1.3.5" - resolved "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz" + "integrity" "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + "resolved" "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" + "version" "4.2.2" + +"abab@^2.0.0": + "integrity" "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" + "resolved" "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz" + "version" "2.0.5" + +"abbrev@1": + "integrity" "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + "resolved" "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz" + "version" "1.1.1" + +"accepts@~1.3.4", "accepts@~1.3.5", "accepts@~1.3.7": + "integrity" "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==" + "resolved" "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz" + "version" "1.3.7" + dependencies: + "mime-types" "~2.1.24" + "negotiator" "0.6.2" + +"acorn-globals@^4.1.0": + "integrity" "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==" + "resolved" "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz" + "version" "4.3.4" + dependencies: + "acorn" "^6.0.1" + "acorn-walk" "^6.0.1" + +"acorn-import-assertions@^1.7.6": + "integrity" "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==" + "resolved" "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz" + "version" "1.8.0" + +"acorn-jsx@^5.3.1": + "integrity" "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==" + "resolved" "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + "version" "5.3.2" + +"acorn-node@^1.6.1": + "integrity" "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==" + "resolved" "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz" + "version" "1.8.2" + dependencies: + "acorn" "^7.0.0" + "acorn-walk" "^7.0.0" + "xtend" "^4.0.2" + +"acorn-walk@^6.0.1": + "integrity" "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==" + "resolved" "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz" + "version" "6.2.0" + +"acorn-walk@^7.0.0": + "integrity" "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" + "resolved" "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz" + "version" "7.2.0" + +"acorn@^5.5.3": + "integrity" "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==" + "resolved" "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz" + "version" "5.7.4" + +"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", "acorn@^7.0.0": + "integrity" "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + "resolved" "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" + "version" "7.4.1" + +"acorn@^6.0.1": + "integrity" "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==" + "resolved" "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz" + "version" "6.4.2" + +"acorn@^6.4.1": + "integrity" "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==" + "resolved" "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz" + "version" "6.4.2" + +"acorn@^8.5.0": + "integrity" "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==" + "resolved" "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz" + "version" "8.7.0" + +"acorn@^8.7.0": + "integrity" "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==" + "resolved" "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz" + "version" "8.7.0" + +"acorn@^8", "acorn@^8.4.1": + "integrity" "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==" + "resolved" "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz" + "version" "8.7.0" + +"add-stream@^1.0.0": + "integrity" "sha1-anmQQ3ynNtXhKI25K9MmbV9csqo=" + "resolved" "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz" + "version" "1.0.0" + +"agentkeepalive@^2.2.0": + "integrity" "sha1-xdG9SxKQCPEWPyNvhuX66iAm4u8=" + "resolved" "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-2.2.0.tgz" + "version" "2.2.0" + +"aggregate-error@^3.0.0": + "integrity" "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==" + "resolved" "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "clean-stack" "^2.0.0" + "indent-string" "^4.0.0" + +"ajv-errors@^1.0.0": + "integrity" "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==" + "resolved" "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz" + "version" "1.0.1" + +"ajv-formats@^2.1.1": + "integrity" "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==" + "resolved" "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "ajv" "^8.0.0" + +"ajv-keywords@^3.1.0", "ajv-keywords@^3.4.1", "ajv-keywords@^3.5.2": + "integrity" "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" + "resolved" "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" + "version" "3.5.2" + +"ajv-keywords@^5.0.0": + "integrity" "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==" + "resolved" "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz" + "version" "5.1.0" + dependencies: + "fast-deep-equal" "^3.1.3" + +"ajv@^6.1.0", "ajv@^6.10.0", "ajv@^6.10.2", "ajv@^6.12.3", "ajv@^6.12.4", "ajv@^6.12.5", "ajv@^6.9.1", "ajv@>=5.0.0": + "integrity" "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==" + "resolved" "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + "version" "6.12.6" + dependencies: + "fast-deep-equal" "^3.1.1" + "fast-json-stable-stringify" "^2.0.0" + "json-schema-traverse" "^0.4.1" + "uri-js" "^4.2.2" + +"ajv@^8.0.0": + "integrity" "sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==" + "resolved" "https://registry.npmjs.org/ajv/-/ajv-8.10.0.tgz" + "version" "8.10.0" + dependencies: + "fast-deep-equal" "^3.1.1" + "json-schema-traverse" "^1.0.0" + "require-from-string" "^2.0.2" + "uri-js" "^4.2.2" + +"ajv@^8.8.0", "ajv@^8.8.2": + "integrity" "sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==" + "resolved" "https://registry.npmjs.org/ajv/-/ajv-8.10.0.tgz" + "version" "8.10.0" + dependencies: + "fast-deep-equal" "^3.1.1" + "json-schema-traverse" "^1.0.0" + "require-from-string" "^2.0.2" + "uri-js" "^4.2.2" + +"algoliasearch@^3.24.5": + "integrity" "sha512-K4yKVhaHkXfJ/xcUnil04xiSrB8B8yHZoFEhWNpXg23eiCnqvTZw1tn/SqvdsANlYHLJlKl0qi3I/Q2Sqo7LwQ==" + "resolved" "https://registry.npmjs.org/algoliasearch/-/algoliasearch-3.35.1.tgz" + "version" "3.35.1" + dependencies: + "agentkeepalive" "^2.2.0" + "debug" "^2.6.9" + "envify" "^4.0.0" + "es6-promise" "^4.1.0" + "events" "^1.1.0" + "foreach" "^2.0.5" + "global" "^4.3.2" + "inherits" "^2.0.1" + "isarray" "^2.0.1" + "load-script" "^1.0.0" + "object-keys" "^1.0.11" + "querystring-es3" "^0.2.1" + "reduce" "^1.0.1" + "semver" "^5.1.0" + "tunnel-agent" "^0.6.0" + +"alphanum-sort@^1.0.0": + "integrity" "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" + "resolved" "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz" + "version" "1.0.2" + +"ansi-align@^3.0.0": + "integrity" "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==" + "resolved" "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "string-width" "^3.0.0" + +"ansi-colors@^3.0.0": + "integrity" "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==" + "resolved" "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz" + "version" "3.2.4" + +"ansi-escapes@^3.0.0": + "integrity" "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" + "resolved" "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz" + "version" "3.2.0" + +"ansi-escapes@^4.1.0", "ansi-escapes@^4.2.1": + "integrity" "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==" + "resolved" "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" + "version" "4.3.2" + dependencies: + "type-fest" "^0.21.3" + +"ansi-html-community@^0.0.8": + "integrity" "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==" + "resolved" "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz" + "version" "0.0.8" + +"ansi-html@^0.0.7", "ansi-html@0.0.7": + "integrity" "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=" + "resolved" "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz" + "version" "0.0.7" + +"ansi-regex@^2.0.0": + "integrity" "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" + "version" "2.1.1" + +"ansi-regex@^3.0.0": + "integrity" "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" + "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz" + "version" "3.0.1" + +"ansi-regex@^4.0.0", "ansi-regex@^4.1.0": + "integrity" "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz" + "version" "4.1.0" + +"ansi-regex@^5.0.1": + "integrity" "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + "version" "5.0.1" + +"ansi-regex@^6.0.1": + "integrity" "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" + "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" + "version" "6.0.1" + +"ansi-styles@^2.2.1": + "integrity" "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" + "version" "2.2.1" + +"ansi-styles@^3.2.0", "ansi-styles@^3.2.1": + "integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==" + "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + "version" "3.2.1" + dependencies: + "color-convert" "^1.9.0" + +"ansi-styles@^4.0.0", "ansi-styles@^4.1.0": + "integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" + "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + "version" "4.3.0" + dependencies: + "color-convert" "^2.0.1" + +"any-observable@^0.3.0": + "integrity" "sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==" + "resolved" "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz" + "version" "0.3.0" + +"anymatch@^2.0.0": + "integrity" "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==" + "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "micromatch" "^3.1.4" + "normalize-path" "^2.1.1" + +"anymatch@~3.1.1": + "integrity" "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==" + "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" + "version" "3.1.2" + dependencies: + "normalize-path" "^3.0.0" + "picomatch" "^2.0.4" + +"anymatch@~3.1.2": + "integrity" "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==" + "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" + "version" "3.1.2" + dependencies: + "normalize-path" "^3.0.0" + "picomatch" "^2.0.4" + +"append-buffer@^1.0.2": + "integrity" "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=" + "resolved" "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "buffer-equal" "^1.0.0" + +"aproba@^1.1.1": + "integrity" "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + "resolved" "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz" + "version" "1.2.0" + +"argparse@^1.0.7": + "integrity" "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==" + "resolved" "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" + "version" "1.0.10" + dependencies: + "sprintf-js" "~1.0.2" + +"argparse@^2.0.1": + "integrity" "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + "resolved" "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + "version" "2.0.1" + +"arr-diff@^4.0.0": + "integrity" "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + "resolved" "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz" + "version" "4.0.0" + +"arr-flatten@^1.1.0": + "integrity" "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + "resolved" "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz" + "version" "1.1.0" + +"arr-union@^3.1.0": + "integrity" "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + "resolved" "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz" + "version" "3.1.0" + +"array-equal@^1.0.0": + "integrity" "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=" + "resolved" "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz" + "version" "1.0.0" + +"array-find-index@^1.0.1": + "integrity" "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=" + "resolved" "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz" + "version" "1.0.2" + +"array-flatten@^2.1.0": + "integrity" "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + "resolved" "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz" + "version" "2.1.2" + +"array-flatten@1.1.1": + "integrity" "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + "resolved" "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" + "version" "1.1.1" + +"array-from@^2.1.1": + "integrity" "sha1-z+nYwmYoudxa7MYqn12PHzUsEZU=" + "resolved" "https://registry.npmjs.org/array-from/-/array-from-2.1.1.tgz" + "version" "2.1.1" + +"array-ify@^1.0.0": + "integrity" "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=" + "resolved" "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz" + "version" "1.0.0" + +"array-union@^1.0.1", "array-union@^1.0.2": + "integrity" "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=" + "resolved" "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "array-uniq" "^1.0.1" + +"array-union@^2.1.0": + "integrity" "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" + "resolved" "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" + "version" "2.1.0" + +"array-uniq@^1.0.1": + "integrity" "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" + "resolved" "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz" + "version" "1.0.3" + +"array-unique@^0.3.2": + "integrity" "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + "resolved" "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz" + "version" "0.3.2" + +"arrify@^1.0.1": + "integrity" "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" + "resolved" "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz" + "version" "1.0.1" + +"asn1.js@^5.2.0": + "integrity" "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==" + "resolved" "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz" + "version" "5.4.1" + dependencies: + "bn.js" "^4.0.0" + "inherits" "^2.0.1" + "minimalistic-assert" "^1.0.0" + "safer-buffer" "^2.1.0" + +"asn1@~0.2.3": + "integrity" "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==" + "resolved" "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz" + "version" "0.2.4" + dependencies: + "safer-buffer" "~2.1.0" + +"assert-plus@^1.0.0", "assert-plus@1.0.0": + "integrity" "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + "resolved" "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" + "version" "1.0.0" + +"assert@^1.1.1": + "integrity" "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==" + "resolved" "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz" + "version" "1.5.0" + dependencies: + "object-assign" "^4.1.1" + "util" "0.10.3" + +"assign-symbols@^1.0.0": + "integrity" "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + "resolved" "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz" + "version" "1.0.0" + +"astral-regex@^1.0.0": + "integrity" "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==" + "resolved" "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz" + "version" "1.0.0" + +"async-each@^1.0.1": + "integrity" "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" + "resolved" "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz" + "version" "1.0.3" + +"async-limiter@~1.0.0": + "integrity" "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + "resolved" "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz" + "version" "1.0.1" + +"async@^2.6.2": + "integrity" "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==" + "resolved" "https://registry.npmjs.org/async/-/async-2.6.3.tgz" + "version" "2.6.3" + dependencies: + "lodash" "^4.17.14" + +"asynckit@^0.4.0": + "integrity" "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + "resolved" "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" + "version" "0.4.0" + +"atob@^2.1.2": + "integrity" "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + "resolved" "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz" + "version" "2.1.2" + +"autocomplete.js@0.36.0": + "integrity" "sha512-jEwUXnVMeCHHutUt10i/8ZiRaCb0Wo+ZyKxeGsYwBDtw6EJHqEeDrq4UwZRD8YBSvp3g6klP678il2eeiVXN2Q==" + "resolved" "https://registry.npmjs.org/autocomplete.js/-/autocomplete.js-0.36.0.tgz" + "version" "0.36.0" + dependencies: + "immediate" "^3.2.3" + +"autoprefixer@^9.5.1": + "integrity" "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==" + "resolved" "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz" + "version" "9.8.6" + dependencies: + "browserslist" "^4.12.0" + "caniuse-lite" "^1.0.30001109" + "colorette" "^1.2.1" + "normalize-range" "^0.1.2" + "num2fraction" "^1.2.2" + "postcss" "^7.0.32" + "postcss-value-parser" "^4.1.0" + +"aws-sign2@~0.7.0": + "integrity" "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + "resolved" "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz" + "version" "0.7.0" + +"aws4@^1.8.0": + "integrity" "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" + "resolved" "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz" + "version" "1.11.0" + +"babel-jest@^24.9.0": + "integrity" "sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==" + "resolved" "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz" + "version" "24.9.0" dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" - -abab@^2.0.0: - version "2.0.5" - resolved "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz" - -abbrev@1: - version "1.1.1" - resolved "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/babel__core" "^7.1.0" + "babel-plugin-istanbul" "^5.1.0" + "babel-preset-jest" "^24.9.0" + "chalk" "^2.4.2" + "slash" "^2.0.0" -accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: - version "1.3.7" - resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz" +"babel-loader@^8.0.4", "babel-loader@^8.2.3": + "integrity" "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==" + "resolved" "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz" + "version" "8.2.3" dependencies: - mime-types "~2.1.24" - negotiator "0.6.2" + "find-cache-dir" "^3.3.1" + "loader-utils" "^1.4.0" + "make-dir" "^3.1.0" + "schema-utils" "^2.6.5" -acorn-globals@^4.1.0: - version "4.3.4" - resolved "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz" +"babel-plugin-dynamic-import-node@^2.3.3": + "integrity" "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==" + "resolved" "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz" + "version" "2.3.3" dependencies: - acorn "^6.0.1" - acorn-walk "^6.0.1" - -acorn-import-assertions@^1.7.6: - version "1.8.0" - resolved "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz" + "object.assign" "^4.1.0" -acorn-jsx@^5.3.1: - version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - -acorn-node@^1.6.1: - version "1.8.2" - resolved "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz" - dependencies: - acorn "^7.0.0" - acorn-walk "^7.0.0" - xtend "^4.0.2" - -acorn-walk@^6.0.1: - version "6.2.0" - resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz" - -acorn-walk@^7.0.0: - version "7.2.0" - resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz" - -acorn@^5.5.3: - version "5.7.4" - resolved "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz" - -acorn@^6.0.1, acorn@^6.4.1: - version "6.4.2" - resolved "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz" - -acorn@^7.0.0: - version "7.4.1" - resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" - -acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.0: - version "8.7.0" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz" - -add-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz" - -agentkeepalive@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-2.2.0.tgz" - -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - -ajv-errors@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz" - -ajv-formats@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz" +"babel-plugin-istanbul@^5.1.0": + "integrity" "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==" + "resolved" "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz" + "version" "5.2.0" dependencies: - ajv "^8.0.0" - -ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" + "@babel/helper-plugin-utils" "^7.0.0" + "find-up" "^3.0.0" + "istanbul-lib-instrument" "^3.3.0" + "test-exclude" "^5.2.3" -ajv-keywords@^5.0.0: - version "5.1.0" - resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz" +"babel-plugin-jest-hoist@^24.9.0": + "integrity" "sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==" + "resolved" "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz" + "version" "24.9.0" dependencies: - fast-deep-equal "^3.1.3" + "@types/babel__traverse" "^7.0.6" -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: - version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" +"babel-plugin-polyfill-corejs2@^0.3.0": + "integrity" "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==" + "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz" + "version" "0.3.1" dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" + "@babel/compat-data" "^7.13.11" + "@babel/helper-define-polyfill-provider" "^0.3.1" + "semver" "^6.1.1" -ajv@^8.0.0, ajv@^8.8.0: - version "8.10.0" - resolved "https://registry.npmjs.org/ajv/-/ajv-8.10.0.tgz" +"babel-plugin-polyfill-corejs3@^0.5.0": + "integrity" "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==" + "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz" + "version" "0.5.2" dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" + "@babel/helper-define-polyfill-provider" "^0.3.1" + "core-js-compat" "^3.21.0" -algoliasearch@^3.24.5: - version "3.35.1" - resolved "https://registry.npmjs.org/algoliasearch/-/algoliasearch-3.35.1.tgz" +"babel-plugin-polyfill-regenerator@^0.3.0": + "integrity" "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==" + "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz" + "version" "0.3.1" dependencies: - agentkeepalive "^2.2.0" - debug "^2.6.9" - envify "^4.0.0" - es6-promise "^4.1.0" - events "^1.1.0" - foreach "^2.0.5" - global "^4.3.2" - inherits "^2.0.1" - isarray "^2.0.1" - load-script "^1.0.0" - object-keys "^1.0.11" - querystring-es3 "^0.2.1" - reduce "^1.0.1" - semver "^5.1.0" - tunnel-agent "^0.6.0" - -alphanum-sort@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz" + "@babel/helper-define-polyfill-provider" "^0.3.1" -ansi-align@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz" +"babel-preset-jest@^24.9.0": + "integrity" "sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==" + "resolved" "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz" + "version" "24.9.0" dependencies: - string-width "^3.0.0" - -ansi-colors@^3.0.0: - version "3.2.4" - resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz" + "@babel/plugin-syntax-object-rest-spread" "^7.0.0" + "babel-plugin-jest-hoist" "^24.9.0" + +"babelify@^10.0.0": + "integrity" "sha512-X40FaxyH7t3X+JFAKvb1H9wooWKLRCi8pg3m8poqtdZaIng+bjzp9RvKQCvRjF9isHiPkXspbbXT/zwXLtwgwg==" + "resolved" "https://registry.npmjs.org/babelify/-/babelify-10.0.0.tgz" + "version" "10.0.0" + +"backbone-undo@^0.2.5": + "integrity" "sha1-VbJSMPkDGcpiJGXomoAki4k8LOI=" + "resolved" "https://registry.npmjs.org/backbone-undo/-/backbone-undo-0.2.5.tgz" + "version" "0.2.5" + dependencies: + "backbone" "1.0.0 - 1.2.1" + "underscore" "1.4.4 - 1.8.3" + +"backbone@1.0.0 - 1.2.1", "backbone@1.3.3": + "integrity" "sha1-TMgOp8sWMaxHSInOQPL4vGg7KZk=" + "resolved" "https://registry.npmjs.org/backbone/-/backbone-1.3.3.tgz" + "version" "1.3.3" + dependencies: + "underscore" ">=1.8.3" + +"bail@^1.0.0": + "integrity" "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==" + "resolved" "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz" + "version" "1.0.5" + +"balanced-match@^1.0.0": + "integrity" "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "resolved" "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + "version" "1.0.2" + +"base@^0.11.1": + "integrity" "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==" + "resolved" "https://registry.npmjs.org/base/-/base-0.11.2.tgz" + "version" "0.11.2" + dependencies: + "cache-base" "^1.0.1" + "class-utils" "^0.3.5" + "component-emitter" "^1.2.1" + "define-property" "^1.0.0" + "isobject" "^3.0.1" + "mixin-deep" "^1.2.0" + "pascalcase" "^0.1.1" + +"base64-js@^1.0.2", "base64-js@^1.3.1": + "integrity" "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + "resolved" "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" + "version" "1.5.1" + +"batch@0.6.1": + "integrity" "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=" + "resolved" "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz" + "version" "0.6.1" + +"bcrypt-pbkdf@^1.0.0": + "integrity" "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=" + "resolved" "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "tweetnacl" "^0.14.3" + +"big.js@^3.1.3": + "integrity" "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==" + "resolved" "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz" + "version" "3.2.0" + +"big.js@^5.2.2": + "integrity" "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" + "resolved" "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" + "version" "5.2.2" + +"binary-extensions@^1.0.0": + "integrity" "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" + "resolved" "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz" + "version" "1.13.1" + +"binary-extensions@^2.0.0": + "integrity" "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + "resolved" "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" + "version" "2.2.0" + +"bl@^4.1.0": + "integrity" "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==" + "resolved" "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "buffer" "^5.5.0" + "inherits" "^2.0.4" + "readable-stream" "^3.4.0" + +"bluebird@^3.1.1", "bluebird@^3.5.5", "bluebird@^3.7.2": + "integrity" "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + "resolved" "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" + "version" "3.7.2" + +"bn.js@^4.0.0": + "integrity" "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" + "version" "4.12.0" + +"bn.js@^4.1.0": + "integrity" "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" + "version" "4.12.0" + +"bn.js@^4.11.9": + "integrity" "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" + "version" "4.12.0" + +"bn.js@^5.0.0", "bn.js@^5.1.1": + "integrity" "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" + "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz" + "version" "5.2.0" + +"body-parser@1.19.0": + "integrity" "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==" + "resolved" "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz" + "version" "1.19.0" + dependencies: + "bytes" "3.1.0" + "content-type" "~1.0.4" + "debug" "2.6.9" + "depd" "~1.1.2" + "http-errors" "1.7.2" + "iconv-lite" "0.4.24" + "on-finished" "~2.3.0" + "qs" "6.7.0" + "raw-body" "2.4.0" + "type-is" "~1.6.17" + +"body@^5.1.0": + "integrity" "sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=" + "resolved" "https://registry.npmjs.org/body/-/body-5.1.0.tgz" + "version" "5.1.0" + dependencies: + "continuable-cache" "^0.3.1" + "error" "^7.0.0" + "raw-body" "~1.1.0" + "safe-json-parse" "~1.0.1" + +"bonjour@^3.5.0": + "integrity" "sha1-jokKGD2O6aI5OzhExpGkK897yfU=" + "resolved" "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz" + "version" "3.5.0" + dependencies: + "array-flatten" "^2.1.0" + "deep-equal" "^1.0.1" + "dns-equal" "^1.0.0" + "dns-txt" "^2.0.2" + "multicast-dns" "^6.0.1" + "multicast-dns-service-types" "^1.1.0" + +"boolbase@^1.0.0", "boolbase@~1.0.0": + "integrity" "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" + "resolved" "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" + "version" "1.0.0" + +"boxen@^4.2.0": + "integrity" "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==" + "resolved" "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz" + "version" "4.2.0" + dependencies: + "ansi-align" "^3.0.0" + "camelcase" "^5.3.1" + "chalk" "^3.0.0" + "cli-boxes" "^2.2.0" + "string-width" "^4.1.0" + "term-size" "^2.1.0" + "type-fest" "^0.8.1" + "widest-line" "^3.1.0" + +"brace-expansion@^1.1.7": + "integrity" "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==" + "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + "version" "1.1.11" + dependencies: + "balanced-match" "^1.0.0" + "concat-map" "0.0.1" + +"braces@^2.3.1": + "integrity" "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==" + "resolved" "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz" + "version" "2.3.2" + dependencies: + "arr-flatten" "^1.1.0" + "array-unique" "^0.3.2" + "extend-shallow" "^2.0.1" + "fill-range" "^4.0.0" + "isobject" "^3.0.1" + "repeat-element" "^1.1.2" + "snapdragon" "^0.8.1" + "snapdragon-node" "^2.0.1" + "split-string" "^3.0.2" + "to-regex" "^3.0.1" + +"braces@^2.3.2": + "integrity" "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==" + "resolved" "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz" + "version" "2.3.2" + dependencies: + "arr-flatten" "^1.1.0" + "array-unique" "^0.3.2" + "extend-shallow" "^2.0.1" + "fill-range" "^4.0.0" + "isobject" "^3.0.1" + "repeat-element" "^1.1.2" + "snapdragon" "^0.8.1" + "snapdragon-node" "^2.0.1" + "split-string" "^3.0.2" + "to-regex" "^3.0.1" + +"braces@^3.0.1", "braces@~3.0.2": + "integrity" "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==" + "resolved" "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "fill-range" "^7.0.1" + +"brorand@^1.0.1", "brorand@^1.1.0": + "integrity" "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + "resolved" "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz" + "version" "1.1.0" + +"browser-process-hrtime@^1.0.0": + "integrity" "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + "resolved" "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz" + "version" "1.0.0" + +"browser-resolve@^1.11.3", "browser-resolve@^1.7.0": + "integrity" "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==" + "resolved" "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz" + "version" "1.11.3" + dependencies: + "resolve" "1.1.7" + +"browserify-aes@^1.0.0", "browserify-aes@^1.0.4": + "integrity" "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==" + "resolved" "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "buffer-xor" "^1.0.3" + "cipher-base" "^1.0.0" + "create-hash" "^1.1.0" + "evp_bytestokey" "^1.0.3" + "inherits" "^2.0.1" + "safe-buffer" "^5.0.1" + +"browserify-cipher@^1.0.0": + "integrity" "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==" + "resolved" "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "browserify-aes" "^1.0.4" + "browserify-des" "^1.0.0" + "evp_bytestokey" "^1.0.0" + +"browserify-des@^1.0.0": + "integrity" "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==" + "resolved" "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "cipher-base" "^1.0.1" + "des.js" "^1.0.0" + "inherits" "^2.0.1" + "safe-buffer" "^5.1.2" + +"browserify-rsa@^4.0.0", "browserify-rsa@^4.0.1": + "integrity" "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==" + "resolved" "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "bn.js" "^5.0.0" + "randombytes" "^2.0.1" + +"browserify-sign@^4.0.0": + "integrity" "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==" + "resolved" "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz" + "version" "4.2.1" + dependencies: + "bn.js" "^5.1.1" + "browserify-rsa" "^4.0.1" + "create-hash" "^1.2.0" + "create-hmac" "^1.1.7" + "elliptic" "^6.5.3" + "inherits" "^2.0.4" + "parse-asn1" "^5.1.5" + "readable-stream" "^3.6.0" + "safe-buffer" "^5.2.0" + +"browserify-zlib@^0.2.0": + "integrity" "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==" + "resolved" "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz" + "version" "0.2.0" + dependencies: + "pako" "~1.0.5" + +"browserslist@^4.0.0", "browserslist@^4.12.0", "browserslist@^4.14.5", "browserslist@^4.17.5", "browserslist@^4.19.1": + "integrity" "sha512-XK3X4xtKJ+Txj8G5c30B4gsm71s69lqXlkYui4s6EkKxuv49qjYlY6oVd+IFJ73d4YymtM3+djvvt/R/iJwwDg==" + "resolved" "https://registry.npmjs.org/browserslist/-/browserslist-4.19.3.tgz" + "version" "4.19.3" + dependencies: + "caniuse-lite" "^1.0.30001312" + "electron-to-chromium" "^1.4.71" + "escalade" "^3.1.1" + "node-releases" "^2.0.2" + "picocolors" "^1.0.0" + +"bser@2.1.1": + "integrity" "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==" + "resolved" "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "node-int64" "^0.4.0" + +"buffer-equal@^1.0.0": + "integrity" "sha1-WWFrSYME1Var1GaWayLu2j7KX74=" + "resolved" "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz" + "version" "1.0.0" + +"buffer-from@^1.0.0": + "integrity" "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + "resolved" "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz" + "version" "1.1.1" + +"buffer-indexof@^1.0.0": + "integrity" "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==" + "resolved" "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz" + "version" "1.1.1" + +"buffer-json@^2.0.0": + "integrity" "sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw==" + "resolved" "https://registry.npmjs.org/buffer-json/-/buffer-json-2.0.0.tgz" + "version" "2.0.0" + +"buffer-shims@^1.0.0": + "integrity" "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=" + "resolved" "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz" + "version" "1.0.0" + +"buffer-xor@^1.0.3": + "integrity" "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + "resolved" "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz" + "version" "1.0.3" + +"buffer@^4.3.0": + "integrity" "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==" + "resolved" "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz" + "version" "4.9.2" + dependencies: + "base64-js" "^1.0.2" + "ieee754" "^1.1.4" + "isarray" "^1.0.0" + +"buffer@^5.5.0": + "integrity" "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==" + "resolved" "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" + "version" "5.7.1" + dependencies: + "base64-js" "^1.3.1" + "ieee754" "^1.1.13" + +"builtin-status-codes@^3.0.0": + "integrity" "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + "resolved" "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz" + "version" "3.0.0" + +"bytes@1": + "integrity" "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=" + "resolved" "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz" + "version" "1.0.0" + +"bytes@3.0.0": + "integrity" "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" + "resolved" "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz" + "version" "3.0.0" + +"bytes@3.1.0": + "integrity" "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + "resolved" "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz" + "version" "3.1.0" + +"cac@^6.5.6": + "integrity" "sha512-ECVqVZh74qgSuZG9YOt2OJPI3wGcf+EwwuF/XIOYqZBD0KZYLtgPWqFPxmDPQ6joxI1nOlvVgRV6VT53Ooyocg==" + "resolved" "https://registry.npmjs.org/cac/-/cac-6.7.3.tgz" + "version" "6.7.3" + +"cacache@^12.0.2", "cacache@^12.0.3": + "integrity" "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==" + "resolved" "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz" + "version" "12.0.4" + dependencies: + "bluebird" "^3.5.5" + "chownr" "^1.1.1" + "figgy-pudding" "^3.5.1" + "glob" "^7.1.4" + "graceful-fs" "^4.1.15" + "infer-owner" "^1.0.3" + "lru-cache" "^5.1.1" + "mississippi" "^3.0.0" + "mkdirp" "^0.5.1" + "move-concurrently" "^1.0.1" + "promise-inflight" "^1.0.1" + "rimraf" "^2.6.3" + "ssri" "^6.0.1" + "unique-filename" "^1.1.1" + "y18n" "^4.0.0" + +"cache-base@^1.0.1": + "integrity" "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==" + "resolved" "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "collection-visit" "^1.0.0" + "component-emitter" "^1.2.1" + "get-value" "^2.0.6" + "has-value" "^1.0.0" + "isobject" "^3.0.1" + "set-value" "^2.0.0" + "to-object-path" "^0.3.0" + "union-value" "^1.0.0" + "unset-value" "^1.0.0" + +"cache-loader@^3.0.0": + "integrity" "sha512-HzJIvGiGqYsFUrMjAJNDbVZoG7qQA+vy9AIoKs7s9DscNfki0I589mf2w6/tW+kkFH3zyiknoWV5Jdynu6b/zw==" + "resolved" "https://registry.npmjs.org/cache-loader/-/cache-loader-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "buffer-json" "^2.0.0" + "find-cache-dir" "^2.1.0" + "loader-utils" "^1.2.3" + "mkdirp" "^0.5.1" + "neo-async" "^2.6.1" + "schema-utils" "^1.0.0" + +"cacheable-request@^6.0.0": + "integrity" "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==" + "resolved" "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz" + "version" "6.1.0" + dependencies: + "clone-response" "^1.0.2" + "get-stream" "^5.1.0" + "http-cache-semantics" "^4.0.0" + "keyv" "^3.0.0" + "lowercase-keys" "^2.0.0" + "normalize-url" "^4.1.0" + "responselike" "^1.0.2" + +"cached-path-relative@^1.0.0": + "integrity" "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==" + "resolved" "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz" + "version" "1.1.0" + +"call-bind@^1.0.0", "call-bind@^1.0.2": + "integrity" "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==" + "resolved" "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "function-bind" "^1.1.1" + "get-intrinsic" "^1.0.2" + +"call-me-maybe@^1.0.1": + "integrity" "sha1-JtII6onje1y95gJQoV8DHBak1ms=" + "resolved" "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz" + "version" "1.0.1" + +"caller-callsite@^2.0.0": + "integrity" "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=" + "resolved" "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "callsites" "^2.0.0" + +"caller-path@^2.0.0": + "integrity" "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=" + "resolved" "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "caller-callsite" "^2.0.0" + +"callsites@^2.0.0": + "integrity" "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=" + "resolved" "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz" + "version" "2.0.0" + +"callsites@^3.0.0": + "integrity" "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + "resolved" "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + "version" "3.1.0" + +"camel-case@^4.1.2": + "integrity" "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==" + "resolved" "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz" + "version" "4.1.2" + dependencies: + "pascal-case" "^3.1.2" + "tslib" "^2.0.3" + +"camel-case@3.0.x": + "integrity" "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=" + "resolved" "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "no-case" "^2.2.0" + "upper-case" "^1.1.1" + +"camelcase-keys@^2.0.0": + "integrity" "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=" + "resolved" "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "camelcase" "^2.0.0" + "map-obj" "^1.0.0" + +"camelcase-keys@^6.2.2": + "integrity" "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==" + "resolved" "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz" + "version" "6.2.2" + dependencies: + "camelcase" "^5.3.1" + "map-obj" "^4.0.0" + "quick-lru" "^4.0.1" + +"camelcase@^2.0.0": + "integrity" "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" + "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz" + "version" "2.1.1" + +"camelcase@^5.0.0", "camelcase@^5.2.0", "camelcase@^5.3.1": + "integrity" "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" + "version" "5.3.1" + +"camelcase@^6.0.0": + "integrity" "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==" + "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz" + "version" "6.2.0" + +"caniuse-api@^3.0.0": + "integrity" "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==" + "resolved" "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "browserslist" "^4.0.0" + "caniuse-lite" "^1.0.0" + "lodash.memoize" "^4.1.2" + "lodash.uniq" "^4.5.0" + +"caniuse-lite@^1.0.0", "caniuse-lite@^1.0.30001109", "caniuse-lite@^1.0.30001312": + "integrity" "sha512-Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ==" + "resolved" "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz" + "version" "1.0.30001312" + +"capture-exit@^2.0.0": + "integrity" "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==" + "resolved" "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "rsvp" "^4.8.4" + +"caseless@~0.12.0": + "integrity" "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + "resolved" "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz" + "version" "0.12.0" + +"ccount@^1.0.0": + "integrity" "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==" + "resolved" "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz" + "version" "1.1.0" + +"chalk@^1.0.0", "chalk@^1.1.3": + "integrity" "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" + "version" "1.1.3" + dependencies: + "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" + +"chalk@^2.0.0", "chalk@^2.0.1", "chalk@^2.3.0", "chalk@^2.3.1", "chalk@^2.3.2", "chalk@^2.4.1", "chalk@^2.4.2": + "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + "version" "2.4.2" + dependencies: + "ansi-styles" "^3.2.1" + "escape-string-regexp" "^1.0.5" + "supports-color" "^5.3.0" + +"chalk@^3.0.0": + "integrity" "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "ansi-styles" "^4.1.0" + "supports-color" "^7.1.0" + +"chalk@^4.0.0": + "integrity" "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz" + "version" "4.1.1" + dependencies: + "ansi-styles" "^4.1.0" + "supports-color" "^7.1.0" + +"chalk@^4.1.0": + "integrity" "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + "version" "4.1.2" + dependencies: + "ansi-styles" "^4.1.0" + "supports-color" "^7.1.0" + +"chalk@^4.1.1": + "integrity" "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + "version" "4.1.2" + dependencies: + "ansi-styles" "^4.1.0" + "supports-color" "^7.1.0" + +"chalk@^4.1.2": + "integrity" "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + "version" "4.1.2" + dependencies: + "ansi-styles" "^4.1.0" + "supports-color" "^7.1.0" + +"character-entities-html4@^1.0.0": + "integrity" "sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g==" + "resolved" "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.4.tgz" + "version" "1.1.4" + +"character-entities-legacy@^1.0.0": + "integrity" "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==" + "resolved" "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz" + "version" "1.1.4" + +"character-entities@^1.0.0": + "integrity" "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==" + "resolved" "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz" + "version" "1.2.4" + +"character-reference-invalid@^1.0.0": + "integrity" "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==" + "resolved" "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz" + "version" "1.1.4" + +"chardet@^0.7.0": + "integrity" "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + "resolved" "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz" + "version" "0.7.0" + +"chokidar@^2.0.3", "chokidar@^2.1.8": + "integrity" "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==" + "resolved" "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz" + "version" "2.1.8" + dependencies: + "anymatch" "^2.0.0" + "async-each" "^1.0.1" + "braces" "^2.3.2" + "glob-parent" "^3.1.0" + "inherits" "^2.0.3" + "is-binary-path" "^1.0.0" + "is-glob" "^4.0.0" + "normalize-path" "^3.0.0" + "path-is-absolute" "^1.0.0" + "readdirp" "^2.2.1" + "upath" "^1.1.1" + optionalDependencies: + "fsevents" "^1.2.7" + +"chokidar@^3.4.0", "chokidar@^3.5.3", "chokidar@>=3.0.0 <4.0.0": + "integrity" "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==" + "resolved" "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" + "version" "3.5.3" + dependencies: + "anymatch" "~3.1.2" + "braces" "~3.0.2" + "glob-parent" "~5.1.2" + "is-binary-path" "~2.1.0" + "is-glob" "~4.0.1" + "normalize-path" "~3.0.0" + "readdirp" "~3.6.0" + optionalDependencies: + "fsevents" "~2.3.2" + +"chokidar@^3.4.1": + "integrity" "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==" + "resolved" "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz" + "version" "3.5.1" + dependencies: + "anymatch" "~3.1.1" + "braces" "~3.0.2" + "glob-parent" "~5.1.0" + "is-binary-path" "~2.1.0" + "is-glob" "~4.0.1" + "normalize-path" "~3.0.0" + "readdirp" "~3.5.0" + optionalDependencies: + "fsevents" "~2.3.1" + +"chownr@^1.1.1": + "integrity" "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + "resolved" "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz" + "version" "1.1.4" + +"chrome-trace-event@^1.0.2": + "integrity" "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" + "resolved" "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" + "version" "1.0.3" + +"ci-info@^2.0.0": + "integrity" "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + "resolved" "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" + "version" "2.0.0" + +"ci-info@^3.0.0": + "integrity" "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==" + "resolved" "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz" + "version" "3.2.0" + +"cipher-base@^1.0.0", "cipher-base@^1.0.1", "cipher-base@^1.0.3": + "integrity" "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==" + "resolved" "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz" + "version" "1.0.4" + dependencies: + "inherits" "^2.0.1" + "safe-buffer" "^5.0.1" + +"class-utils@^0.3.5": + "integrity" "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==" + "resolved" "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz" + "version" "0.3.6" + dependencies: + "arr-union" "^3.1.0" + "define-property" "^0.2.5" + "isobject" "^3.0.0" + "static-extend" "^0.1.1" + +"clean-css@^5.2.2": + "integrity" "sha512-nKseG8wCzEuji/4yrgM/5cthL9oTDc5UOQyFMvW/Q53oP6gLH690o1NbuTh6Y18nujr7BxlsFuS7gXLnLzKJGg==" + "resolved" "https://registry.npmjs.org/clean-css/-/clean-css-5.2.4.tgz" + "version" "5.2.4" + dependencies: + "source-map" "~0.6.0" + +"clean-css@4.2.x": + "integrity" "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==" + "resolved" "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz" + "version" "4.2.3" + dependencies: + "source-map" "~0.6.0" + +"clean-stack@^2.0.0": + "integrity" "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" + "resolved" "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz" + "version" "2.2.0" + +"cli-boxes@^2.2.0": + "integrity" "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==" + "resolved" "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz" + "version" "2.2.1" + +"cli-cursor@^2.0.0": + "integrity" "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=" + "resolved" "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "restore-cursor" "^2.0.0" + +"cli-cursor@^2.1.0": + "integrity" "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=" + "resolved" "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "restore-cursor" "^2.0.0" + +"cli-cursor@^3.1.0": + "integrity" "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==" + "resolved" "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "restore-cursor" "^3.1.0" + +"cli-spinners@^2.5.0": + "integrity" "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==" + "resolved" "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz" + "version" "2.6.1" + +"cli-truncate@^0.2.1": + "integrity" "sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=" + "resolved" "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz" + "version" "0.2.1" + dependencies: + "slice-ansi" "0.0.4" + "string-width" "^1.0.1" + +"cli-width@^3.0.0": + "integrity" "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==" + "resolved" "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz" + "version" "3.0.0" + +"cliui@^5.0.0": + "integrity" "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==" + "resolved" "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "string-width" "^3.1.0" + "strip-ansi" "^5.2.0" + "wrap-ansi" "^5.1.0" + +"cliui@^6.0.0": + "integrity" "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==" + "resolved" "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "string-width" "^4.2.0" + "strip-ansi" "^6.0.0" + "wrap-ansi" "^6.2.0" + +"cliui@^7.0.2": + "integrity" "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==" + "resolved" "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" + "version" "7.0.4" + dependencies: + "string-width" "^4.2.0" + "strip-ansi" "^6.0.0" + "wrap-ansi" "^7.0.0" + +"clone-buffer@^1.0.0": + "integrity" "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=" + "resolved" "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz" + "version" "1.0.0" + +"clone-deep@^4.0.1": + "integrity" "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==" + "resolved" "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "is-plain-object" "^2.0.4" + "kind-of" "^6.0.2" + "shallow-clone" "^3.0.0" + +"clone-response@^1.0.2": + "integrity" "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=" + "resolved" "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "mimic-response" "^1.0.0" + +"clone-stats@^1.0.0": + "integrity" "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=" + "resolved" "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz" + "version" "1.0.0" + +"clone@^1.0.2": + "integrity" "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" + "resolved" "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz" + "version" "1.0.4" + +"clone@^2.1.1": + "integrity" "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" + "resolved" "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz" + "version" "2.1.2" + +"cloneable-readable@^1.0.0": + "integrity" "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==" + "resolved" "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz" + "version" "1.1.3" + dependencies: + "inherits" "^2.0.1" + "process-nextick-args" "^2.0.0" + "readable-stream" "^2.3.5" + +"co@^4.6.0": + "integrity" "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + "resolved" "https://registry.npmjs.org/co/-/co-4.6.0.tgz" + "version" "4.6.0" + +"coa@^2.0.2": + "integrity" "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==" + "resolved" "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "@types/q" "^1.5.1" + "chalk" "^2.4.1" + "q" "^1.1.2" + +"code-point-at@^1.0.0": + "integrity" "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + "resolved" "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz" + "version" "1.1.0" + +"codemirror-formatting@^1.0.0": + "integrity" "sha1-h5zB/dkBg0PB1VEXac5TYNcF6/I=" + "resolved" "https://registry.npmjs.org/codemirror-formatting/-/codemirror-formatting-1.0.0.tgz" + "version" "1.0.0" + +"codemirror@^5.63.0": + "integrity" "sha512-KlLWRPggDg2rBD1Mx7/EqEhaBdy+ybBCVh/efgjBDsPpMeEu6MbTAJzIT4TuCzvmbTEgvKOGzVT6wdBTNusqrg==" + "resolved" "https://registry.npmjs.org/codemirror/-/codemirror-5.63.0.tgz" + "version" "5.63.0" + +"collection-visit@^1.0.0": + "integrity" "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=" + "resolved" "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "map-visit" "^1.0.0" + "object-visit" "^1.0.0" + +"color-convert@^1.9.0", "color-convert@^1.9.1": + "integrity" "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==" + "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + "version" "1.9.3" + dependencies: + "color-name" "1.1.3" + +"color-convert@^2.0.1": + "integrity" "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" + "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "color-name" "~1.1.4" + +"color-name@^1.0.0", "color-name@1.1.3": + "integrity" "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + "version" "1.1.3" + +"color-name@~1.1.4": + "integrity" "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + "version" "1.1.4" + +"color-string@^1.5.4": + "integrity" "sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg==" + "resolved" "https://registry.npmjs.org/color-string/-/color-string-1.5.5.tgz" + "version" "1.5.5" + dependencies: + "color-name" "^1.0.0" + "simple-swizzle" "^0.2.2" + +"color@^3.0.0": + "integrity" "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==" + "resolved" "https://registry.npmjs.org/color/-/color-3.1.3.tgz" + "version" "3.1.3" + dependencies: + "color-convert" "^1.9.1" + "color-string" "^1.5.4" + +"colorette@^1.2.1", "colorette@^1.2.2": + "integrity" "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==" + "resolved" "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz" + "version" "1.2.2" + +"colorette@^2.0.10": + "integrity" "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==" + "resolved" "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz" + "version" "2.0.16" + +"colorette@^2.0.14": + "integrity" "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==" + "resolved" "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz" + "version" "2.0.16" + +"combined-stream@^1.0.6", "combined-stream@~1.0.6": + "integrity" "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==" + "resolved" "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" + "version" "1.0.8" + dependencies: + "delayed-stream" "~1.0.0" + +"comma-separated-tokens@^1.0.0": + "integrity" "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==" + "resolved" "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz" + "version" "1.0.8" + +"commander@^2.14.1": + "integrity" "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "resolved" "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" + "version" "2.20.3" + +"commander@^2.20.0": + "integrity" "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "resolved" "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" + "version" "2.20.3" + +"commander@^2.9.0": + "integrity" "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "resolved" "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" + "version" "2.20.3" + +"commander@^4.0.1": + "integrity" "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" + "resolved" "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" + "version" "4.1.1" + +"commander@^7.0.0": + "integrity" "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" + "resolved" "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" + "version" "7.2.0" + +"commander@^8.3.0": + "integrity" "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" + "resolved" "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz" + "version" "8.3.0" + +"commander@~2.19.0": + "integrity" "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" + "resolved" "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz" + "version" "2.19.0" + +"commander@2.17.x": + "integrity" "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==" + "resolved" "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz" + "version" "2.17.1" + +"commondir@^1.0.1": + "integrity" "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + "resolved" "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" + "version" "1.0.1" + +"compare-func@^2.0.0": + "integrity" "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==" + "resolved" "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "array-ify" "^1.0.0" + "dot-prop" "^5.1.0" + +"component-emitter@^1.2.1": + "integrity" "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + "resolved" "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz" + "version" "1.3.0" + +"compressible@~2.0.16": + "integrity" "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==" + "resolved" "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz" + "version" "2.0.18" + dependencies: + "mime-db" ">= 1.43.0 < 2" + +"compression@^1.7.4": + "integrity" "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==" + "resolved" "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz" + "version" "1.7.4" + dependencies: + "accepts" "~1.3.5" + "bytes" "3.0.0" + "compressible" "~2.0.16" + "debug" "2.6.9" + "on-headers" "~1.0.2" + "safe-buffer" "5.1.2" + "vary" "~1.1.2" + +"concat-map@0.0.1": + "integrity" "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + "version" "0.0.1" + +"concat-stream@^1.5.0", "concat-stream@^1.6.0": + "integrity" "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==" + "resolved" "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz" + "version" "1.6.2" + dependencies: + "buffer-from" "^1.0.0" + "inherits" "^2.0.3" + "readable-stream" "^2.2.2" + "typedarray" "^0.0.6" + +"concat-stream@^2.0.0": + "integrity" "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==" + "resolved" "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "buffer-from" "^1.0.0" + "inherits" "^2.0.3" + "readable-stream" "^3.0.2" + "typedarray" "^0.0.6" + +"concat-stream@~1.5.0": + "integrity" "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=" + "resolved" "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz" + "version" "1.5.2" + dependencies: + "inherits" "~2.0.1" + "readable-stream" "~2.0.0" + "typedarray" "~0.0.5" + +"configstore@^5.0.1": + "integrity" "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==" + "resolved" "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "dot-prop" "^5.2.0" + "graceful-fs" "^4.1.2" + "make-dir" "^3.0.0" + "unique-string" "^2.0.0" + "write-file-atomic" "^3.0.0" + "xdg-basedir" "^4.0.0" + +"connect-history-api-fallback@^1.5.0", "connect-history-api-fallback@^1.6.0": + "integrity" "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==" + "resolved" "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz" + "version" "1.6.0" + +"consola@^2.6.0": + "integrity" "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" + "resolved" "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz" + "version" "2.15.3" + +"console-browserify@^1.1.0": + "integrity" "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" + "resolved" "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz" + "version" "1.2.0" + +"consolidate@^0.15.1": + "integrity" "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==" + "resolved" "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz" + "version" "0.15.1" + dependencies: + "bluebird" "^3.1.1" + +"consolidate@^0.16.0": + "integrity" "sha512-Nhl1wzCslqXYTJVDyJCu3ODohy9OfBMB5uD2BiBTzd7w+QY0lBzafkR8y8755yMYHAaMD4NuzbAw03/xzfw+eQ==" + "resolved" "https://registry.npmjs.org/consolidate/-/consolidate-0.16.0.tgz" + "version" "0.16.0" + dependencies: + "bluebird" "^3.7.2" + +"constants-browserify@^1.0.0": + "integrity" "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + "resolved" "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz" + "version" "1.0.0" + +"content-disposition@0.5.3": + "integrity" "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==" + "resolved" "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz" + "version" "0.5.3" + dependencies: + "safe-buffer" "5.1.2" + +"content-type@~1.0.4": + "integrity" "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + "resolved" "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz" + "version" "1.0.4" + +"continuable-cache@^0.3.1": + "integrity" "sha1-vXJ6f67XfnH/OYWskzUakSczrQ8=" + "resolved" "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz" + "version" "0.3.1" + +"conventional-changelog-angular@^5.0.12": + "integrity" "sha512-5GLsbnkR/7A89RyHLvvoExbiGbd9xKdKqDTrArnPbOqBqG/2wIosu0fHwpeIRI8Tl94MhVNBXcLJZl92ZQ5USw==" + "resolved" "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.12.tgz" + "version" "5.0.12" + dependencies: + "compare-func" "^2.0.0" + "q" "^1.5.1" + +"conventional-changelog-atom@^2.0.8": + "integrity" "sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw==" + "resolved" "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz" + "version" "2.0.8" + dependencies: + "q" "^1.5.1" + +"conventional-changelog-codemirror@^2.0.8": + "integrity" "sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw==" + "resolved" "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz" + "version" "2.0.8" + dependencies: + "q" "^1.5.1" + +"conventional-changelog-config-spec@2.1.0": + "integrity" "sha512-IpVePh16EbbB02V+UA+HQnnPIohgXvJRxHcS5+Uwk4AT5LjzCZJm5sp/yqs5C6KZJ1jMsV4paEV13BN1pvDuxQ==" + "resolved" "https://registry.npmjs.org/conventional-changelog-config-spec/-/conventional-changelog-config-spec-2.1.0.tgz" + "version" "2.1.0" + +"conventional-changelog-conventionalcommits@^4.5.0", "conventional-changelog-conventionalcommits@4.5.0": + "integrity" "sha512-buge9xDvjjOxJlyxUnar/+6i/aVEVGA7EEh4OafBCXPlLUQPGbRUBhBUveWRxzvR8TEjhKEP4BdepnpG2FSZXw==" + "resolved" "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.5.0.tgz" + "version" "4.5.0" + dependencies: + "compare-func" "^2.0.0" + "lodash" "^4.17.15" + "q" "^1.5.1" + +"conventional-changelog-core@^4.2.1": + "integrity" "sha512-7pDpRUiobQDNkwHyJG7k9f6maPo9tfPzkSWbRq97GGiZqisElhnvUZSvyQH20ogfOjntB5aadvv6NNcKL1sReg==" + "resolved" "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.2.tgz" + "version" "4.2.2" + dependencies: + "add-stream" "^1.0.0" + "conventional-changelog-writer" "^4.0.18" + "conventional-commits-parser" "^3.2.0" + "dateformat" "^3.0.0" + "get-pkg-repo" "^1.0.0" + "git-raw-commits" "^2.0.8" + "git-remote-origin-url" "^2.0.0" + "git-semver-tags" "^4.1.1" + "lodash" "^4.17.15" + "normalize-package-data" "^3.0.0" + "q" "^1.5.1" + "read-pkg" "^3.0.0" + "read-pkg-up" "^3.0.0" + "shelljs" "^0.8.3" + "through2" "^4.0.0" + +"conventional-changelog-ember@^2.0.9": + "integrity" "sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A==" + "resolved" "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz" + "version" "2.0.9" + dependencies: + "q" "^1.5.1" + +"conventional-changelog-eslint@^3.0.9": + "integrity" "sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA==" + "resolved" "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz" + "version" "3.0.9" + dependencies: + "q" "^1.5.1" + +"conventional-changelog-express@^2.0.6": + "integrity" "sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ==" + "resolved" "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz" + "version" "2.0.6" + dependencies: + "q" "^1.5.1" + +"conventional-changelog-jquery@^3.0.11": + "integrity" "sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw==" + "resolved" "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz" + "version" "3.0.11" + dependencies: + "q" "^1.5.1" + +"conventional-changelog-jshint@^2.0.9": + "integrity" "sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA==" + "resolved" "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz" + "version" "2.0.9" + dependencies: + "compare-func" "^2.0.0" + "q" "^1.5.1" + +"conventional-changelog-preset-loader@^2.3.4": + "integrity" "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==" + "resolved" "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz" + "version" "2.3.4" + +"conventional-changelog-writer@^4.0.18": + "integrity" "sha512-WwKcUp7WyXYGQmkLsX4QmU42AZ1lqlvRW9mqoyiQzdD+rJWbTepdWoKJuwXTS+yq79XKnQNa93/roViPQrAQgw==" + "resolved" "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "compare-func" "^2.0.0" + "conventional-commits-filter" "^2.0.7" + "dateformat" "^3.0.0" + "handlebars" "^4.7.6" + "json-stringify-safe" "^5.0.1" + "lodash" "^4.17.15" + "meow" "^8.0.0" + "semver" "^6.0.0" + "split" "^1.0.0" + "through2" "^4.0.0" + +"conventional-changelog@3.1.24": + "integrity" "sha512-ed6k8PO00UVvhExYohroVPXcOJ/K1N0/drJHx/faTH37OIZthlecuLIRX/T6uOp682CAoVoFpu+sSEaeuH6Asg==" + "resolved" "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.24.tgz" + "version" "3.1.24" + dependencies: + "conventional-changelog-angular" "^5.0.12" + "conventional-changelog-atom" "^2.0.8" + "conventional-changelog-codemirror" "^2.0.8" + "conventional-changelog-conventionalcommits" "^4.5.0" + "conventional-changelog-core" "^4.2.1" + "conventional-changelog-ember" "^2.0.9" + "conventional-changelog-eslint" "^3.0.9" + "conventional-changelog-express" "^2.0.6" + "conventional-changelog-jquery" "^3.0.11" + "conventional-changelog-jshint" "^2.0.9" + "conventional-changelog-preset-loader" "^2.3.4" + +"conventional-commits-filter@^2.0.7": + "integrity" "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==" + "resolved" "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz" + "version" "2.0.7" + dependencies: + "lodash.ismatch" "^4.4.0" + "modify-values" "^1.0.0" + +"conventional-commits-parser@^3.2.0": + "integrity" "sha512-OG9kQtmMZBJD/32NEw5IhN5+HnBqVjy03eC+I71I0oQRFA5rOgA4OtPOYG7mz1GkCfCNxn3gKIX8EiHJYuf1cA==" + "resolved" "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.1.tgz" + "version" "3.2.1" + dependencies: + "is-text-path" "^1.0.1" + "JSONStream" "^1.0.4" + "lodash" "^4.17.15" + "meow" "^8.0.0" + "split2" "^3.0.0" + "through2" "^4.0.0" + "trim-off-newlines" "^1.0.0" + +"conventional-recommended-bump@6.1.0": + "integrity" "sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==" + "resolved" "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz" + "version" "6.1.0" + dependencies: + "concat-stream" "^2.0.0" + "conventional-changelog-preset-loader" "^2.3.4" + "conventional-commits-filter" "^2.0.7" + "conventional-commits-parser" "^3.2.0" + "git-raw-commits" "^2.0.8" + "git-semver-tags" "^4.1.1" + "meow" "^8.0.0" + "q" "^1.5.1" + +"convert-source-map@^1.1.0", "convert-source-map@^1.4.0", "convert-source-map@^1.5.0", "convert-source-map@^1.7.0": + "integrity" "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==" + "resolved" "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz" + "version" "1.7.0" + dependencies: + "safe-buffer" "~5.1.1" + +"cookie-signature@1.0.6": + "integrity" "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + "resolved" "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" + "version" "1.0.6" + +"cookie@0.4.0": + "integrity" "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + "resolved" "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz" + "version" "0.4.0" + +"copy-concurrently@^1.0.0": + "integrity" "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==" + "resolved" "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz" + "version" "1.0.5" + dependencies: + "aproba" "^1.1.1" + "fs-write-stream-atomic" "^1.0.8" + "iferr" "^0.1.5" + "mkdirp" "^0.5.1" + "rimraf" "^2.5.4" + "run-queue" "^1.0.0" + +"copy-descriptor@^0.1.0": + "integrity" "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + "resolved" "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz" + "version" "0.1.1" + +"copy-webpack-plugin@^5.0.2": + "integrity" "sha512-Uh7crJAco3AjBvgAy9Z75CjK8IG+gxaErro71THQ+vv/bl4HaQcpkexAY8KVW/T6D2W2IRr+couF/knIRkZMIQ==" + "resolved" "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.2.tgz" + "version" "5.1.2" + dependencies: + "cacache" "^12.0.3" + "find-cache-dir" "^2.1.0" + "glob-parent" "^3.1.0" + "globby" "^7.1.1" + "is-glob" "^4.0.1" + "loader-utils" "^1.2.3" + "minimatch" "^3.0.4" + "normalize-path" "^3.0.0" + "p-limit" "^2.2.1" + "schema-utils" "^1.0.0" + "serialize-javascript" "^4.0.0" + "webpack-log" "^2.0.0" + +"core-js-compat@^3.20.2", "core-js-compat@^3.21.0", "core-js-compat@^3.6.5": + "integrity" "sha512-gbgX5AUvMb8gwxC7FLVWYT7Kkgu/y7+h/h1X43yJkNqhlK2fuYyQimqvKGNZFAY6CKii/GFKJ2cp/1/42TN36g==" + "resolved" "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.21.1.tgz" + "version" "3.21.1" + dependencies: + "browserslist" "^4.19.1" + "semver" "7.0.0" + +"core-js@^3.21.1", "core-js@^3.6.4", "core-js@^3.6.5": + "integrity" "sha512-FRq5b/VMrWlrmCzwRrpDYNxyHP9BcAZC+xHJaqTgIE5091ZV1NTmyh0sGOg5XqpnHvR0svdy0sv1gWA1zmhxig==" + "resolved" "https://registry.npmjs.org/core-js/-/core-js-3.21.1.tgz" + "version" "3.21.1" + +"core-util-is@~1.0.0", "core-util-is@1.0.2": + "integrity" "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "resolved" "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + "version" "1.0.2" + +"cosmiconfig@^5.0.0", "cosmiconfig@^5.2.0": + "integrity" "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==" + "resolved" "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz" + "version" "5.2.1" + dependencies: + "import-fresh" "^2.0.0" + "is-directory" "^0.3.1" + "js-yaml" "^3.13.1" + "parse-json" "^4.0.0" + +"create-ecdh@^4.0.0": + "integrity" "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==" + "resolved" "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz" + "version" "4.0.4" + dependencies: + "bn.js" "^4.1.0" + "elliptic" "^6.5.3" + +"create-hash@^1.1.0", "create-hash@^1.1.2", "create-hash@^1.2.0": + "integrity" "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==" + "resolved" "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "cipher-base" "^1.0.1" + "inherits" "^2.0.1" + "md5.js" "^1.3.4" + "ripemd160" "^2.0.1" + "sha.js" "^2.4.0" + +"create-hmac@^1.1.0", "create-hmac@^1.1.4", "create-hmac@^1.1.7": + "integrity" "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==" + "resolved" "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz" + "version" "1.1.7" + dependencies: + "cipher-base" "^1.0.3" + "create-hash" "^1.1.0" + "inherits" "^2.0.1" + "ripemd160" "^2.0.0" + "safe-buffer" "^5.0.1" + "sha.js" "^2.4.8" + +"cross-spawn@^6.0.0": + "integrity" "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==" + "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" + "version" "6.0.5" + dependencies: + "nice-try" "^1.0.4" + "path-key" "^2.0.1" + "semver" "^5.5.0" + "shebang-command" "^1.2.0" + "which" "^1.2.9" + +"cross-spawn@^6.0.5": + "integrity" "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==" + "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" + "version" "6.0.5" + dependencies: + "nice-try" "^1.0.4" + "path-key" "^2.0.1" + "semver" "^5.5.0" + "shebang-command" "^1.2.0" + "which" "^1.2.9" + +"cross-spawn@^7.0.2", "cross-spawn@^7.0.3": + "integrity" "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==" + "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + "version" "7.0.3" + dependencies: + "path-key" "^3.1.0" + "shebang-command" "^2.0.0" + "which" "^2.0.1" + +"crypto-browserify@^3.11.0": + "integrity" "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==" + "resolved" "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz" + "version" "3.12.0" + dependencies: + "browserify-cipher" "^1.0.0" + "browserify-sign" "^4.0.0" + "create-ecdh" "^4.0.0" + "create-hash" "^1.1.0" + "create-hmac" "^1.1.0" + "diffie-hellman" "^5.0.0" + "inherits" "^2.0.1" + "pbkdf2" "^3.0.3" + "public-encrypt" "^4.0.0" + "randombytes" "^2.0.0" + "randomfill" "^1.0.3" + +"crypto-random-string@^2.0.0": + "integrity" "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" + "resolved" "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz" + "version" "2.0.0" + +"css-color-names@^0.0.4", "css-color-names@0.0.4": + "integrity" "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=" + "resolved" "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz" + "version" "0.0.4" + +"css-declaration-sorter@^4.0.1": + "integrity" "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==" + "resolved" "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "postcss" "^7.0.1" + "timsort" "^0.3.0" + +"css-loader@*", "css-loader@^2.1.1": + "integrity" "sha512-OcKJU/lt232vl1P9EEDamhoO9iKY3tIjY5GU+XDLblAykTdgs6Ux9P1hTHve8nFKy5KPpOXOsVI/hIwi3841+w==" + "resolved" "https://registry.npmjs.org/css-loader/-/css-loader-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "camelcase" "^5.2.0" + "icss-utils" "^4.1.0" + "loader-utils" "^1.2.3" + "normalize-path" "^3.0.0" + "postcss" "^7.0.14" + "postcss-modules-extract-imports" "^2.0.0" + "postcss-modules-local-by-default" "^2.0.6" + "postcss-modules-scope" "^2.1.0" + "postcss-modules-values" "^2.0.0" + "postcss-value-parser" "^3.3.0" + "schema-utils" "^1.0.0" + +"css-parse@~2.0.0": + "integrity" "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=" + "resolved" "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "css" "^2.0.0" + +"css-select-base-adapter@^0.1.1": + "integrity" "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + "resolved" "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz" + "version" "0.1.1" + +"css-select@^2.0.0": + "integrity" "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==" + "resolved" "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "boolbase" "^1.0.0" + "css-what" "^3.2.1" + "domutils" "^1.7.0" + "nth-check" "^1.0.2" + +"css-select@^4.1.3": + "integrity" "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==" + "resolved" "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz" + "version" "4.1.3" + dependencies: + "boolbase" "^1.0.0" + "css-what" "^5.0.0" + "domhandler" "^4.2.0" + "domutils" "^2.6.0" + "nth-check" "^2.0.0" + +"css-tree@^1.1.2": + "integrity" "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==" + "resolved" "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz" + "version" "1.1.3" + dependencies: + "mdn-data" "2.0.14" + "source-map" "^0.6.1" + +"css-tree@1.0.0-alpha.37": + "integrity" "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==" + "resolved" "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz" + "version" "1.0.0-alpha.37" + dependencies: + "mdn-data" "2.0.4" + "source-map" "^0.6.1" + +"css-what@^3.2.1": + "integrity" "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" + "resolved" "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz" + "version" "3.4.2" + +"css-what@^5.0.0": + "integrity" "sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==" + "resolved" "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz" + "version" "5.0.1" + +"css@^2.0.0": + "integrity" "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==" + "resolved" "https://registry.npmjs.org/css/-/css-2.2.4.tgz" + "version" "2.2.4" + dependencies: + "inherits" "^2.0.3" + "source-map" "^0.6.1" + "source-map-resolve" "^0.5.2" + "urix" "^0.1.0" + +"cssesc@^3.0.0": + "integrity" "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" + "resolved" "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" + "version" "3.0.0" + +"cssnano-preset-default@^4.0.8": + "integrity" "sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==" + "resolved" "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz" + "version" "4.0.8" + dependencies: + "css-declaration-sorter" "^4.0.1" + "cssnano-util-raw-cache" "^4.0.1" + "postcss" "^7.0.0" + "postcss-calc" "^7.0.1" + "postcss-colormin" "^4.0.3" + "postcss-convert-values" "^4.0.1" + "postcss-discard-comments" "^4.0.2" + "postcss-discard-duplicates" "^4.0.2" + "postcss-discard-empty" "^4.0.1" + "postcss-discard-overridden" "^4.0.1" + "postcss-merge-longhand" "^4.0.11" + "postcss-merge-rules" "^4.0.3" + "postcss-minify-font-values" "^4.0.2" + "postcss-minify-gradients" "^4.0.2" + "postcss-minify-params" "^4.0.2" + "postcss-minify-selectors" "^4.0.2" + "postcss-normalize-charset" "^4.0.1" + "postcss-normalize-display-values" "^4.0.2" + "postcss-normalize-positions" "^4.0.2" + "postcss-normalize-repeat-style" "^4.0.2" + "postcss-normalize-string" "^4.0.2" + "postcss-normalize-timing-functions" "^4.0.2" + "postcss-normalize-unicode" "^4.0.1" + "postcss-normalize-url" "^4.0.1" + "postcss-normalize-whitespace" "^4.0.2" + "postcss-ordered-values" "^4.1.2" + "postcss-reduce-initial" "^4.0.3" + "postcss-reduce-transforms" "^4.0.2" + "postcss-svgo" "^4.0.3" + "postcss-unique-selectors" "^4.0.1" + +"cssnano-util-get-arguments@^4.0.0": + "integrity" "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=" + "resolved" "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz" + "version" "4.0.0" + +"cssnano-util-get-match@^4.0.0": + "integrity" "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=" + "resolved" "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz" + "version" "4.0.0" + +"cssnano-util-raw-cache@^4.0.1": + "integrity" "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==" + "resolved" "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "postcss" "^7.0.0" + +"cssnano-util-same-parent@^4.0.0": + "integrity" "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==" + "resolved" "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz" + "version" "4.0.1" + +"cssnano@^4.1.10": + "integrity" "sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==" + "resolved" "https://registry.npmjs.org/cssnano/-/cssnano-4.1.11.tgz" + "version" "4.1.11" + dependencies: + "cosmiconfig" "^5.0.0" + "cssnano-preset-default" "^4.0.8" + "is-resolvable" "^1.0.0" + "postcss" "^7.0.0" + +"csso@^4.0.2": + "integrity" "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==" + "resolved" "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz" + "version" "4.2.0" + dependencies: + "css-tree" "^1.1.2" + +"cssom@>= 0.3.2 < 0.4.0", "cssom@0.3.x": + "integrity" "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + "resolved" "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz" + "version" "0.3.8" + +"cssstyle@^1.0.0": + "integrity" "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==" + "resolved" "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz" + "version" "1.4.0" + dependencies: + "cssom" "0.3.x" + +"csstype@^2.6.8": + "integrity" "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==" + "resolved" "https://registry.npmjs.org/csstype/-/csstype-2.6.20.tgz" + "version" "2.6.20" + +"currently-unhandled@^0.4.1": + "integrity" "sha1-mI3zP+qxke95mmE2nddsF635V+o=" + "resolved" "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz" + "version" "0.4.1" + dependencies: + "array-find-index" "^1.0.1" + +"cyclist@^1.0.1": + "integrity" "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=" + "resolved" "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz" + "version" "1.0.1" + +"dargs@^7.0.0": + "integrity" "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==" + "resolved" "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz" + "version" "7.0.0" + +"dashdash@^1.12.0": + "integrity" "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=" + "resolved" "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz" + "version" "1.14.1" + dependencies: + "assert-plus" "^1.0.0" + +"data-urls@^1.0.0": + "integrity" "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==" + "resolved" "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "abab" "^2.0.0" + "whatwg-mimetype" "^2.2.0" + "whatwg-url" "^7.0.0" + +"date-fns@^1.27.2": + "integrity" "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==" + "resolved" "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz" + "version" "1.30.1" + +"dateformat@^3.0.0": + "integrity" "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==" + "resolved" "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz" + "version" "3.0.3" -ansi-escapes@^3.0.0: - version "3.2.0" - resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz" +"de-indent@^1.0.2": + "integrity" "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=" + "resolved" "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz" + "version" "1.0.2" -ansi-escapes@^4.1.0, ansi-escapes@^4.2.1: - version "4.3.2" - resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" +"debug@^2.2.0": + "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" + "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + "version" "2.6.9" dependencies: - type-fest "^0.21.3" + "ms" "2.0.0" + +"debug@^2.3.3": + "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" + "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + "version" "2.6.9" + dependencies: + "ms" "2.0.0" + +"debug@^2.6.9": + "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" + "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + "version" "2.6.9" + dependencies: + "ms" "2.0.0" + +"debug@^3.1.0": + "integrity" "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==" + "resolved" "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" + "version" "3.2.7" + dependencies: + "ms" "^2.1.1" -ansi-html-community@^0.0.8: - version "0.0.8" - resolved "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz" +"debug@^3.1.1": + "integrity" "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==" + "resolved" "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" + "version" "3.2.7" + dependencies: + "ms" "^2.1.1" -ansi-html@0.0.7, ansi-html@^0.0.7: - version "0.0.7" - resolved "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz" +"debug@^3.2.6": + "integrity" "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==" + "resolved" "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" + "version" "3.2.7" + dependencies: + "ms" "^2.1.1" -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" +"debug@^4.0.0", "debug@^4.0.1", "debug@^4.1.0", "debug@^4.1.1", "debug@^4.3.2": + "integrity" "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==" + "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + "version" "4.3.4" + dependencies: + "ms" "2.1.2" + +"debug@~3.1.0": + "integrity" "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==" + "resolved" "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "ms" "2.0.0" + +"debug@2.6.9": + "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" + "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + "version" "2.6.9" + dependencies: + "ms" "2.0.0" + +"decamelize-keys@^1.1.0": + "integrity" "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=" + "resolved" "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "decamelize" "^1.1.0" + "map-obj" "^1.0.0" -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz" +"decamelize@^1.1.0", "decamelize@^1.1.2", "decamelize@^1.2.0": + "integrity" "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + "resolved" "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" + "version" "1.2.0" -ansi-regex@^4.0.0, ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz" +"decode-uri-component@^0.2.0": + "integrity" "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + "resolved" "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz" + "version" "0.2.0" -ansi-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz" +"decompress-response@^3.3.0": + "integrity" "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=" + "resolved" "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz" + "version" "3.3.0" + dependencies: + "mimic-response" "^1.0.0" -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" +"dedent@^0.7.0": + "integrity" "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=" + "resolved" "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz" + "version" "0.7.0" -ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" +"deep-equal@^1.0.1": + "integrity" "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==" + "resolved" "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz" + "version" "1.1.1" + dependencies: + "is-arguments" "^1.0.4" + "is-date-object" "^1.0.1" + "is-regex" "^1.0.4" + "object-is" "^1.0.1" + "object-keys" "^1.1.1" + "regexp.prototype.flags" "^1.2.0" -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" +"deep-extend@^0.6.0": + "integrity" "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + "resolved" "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" + "version" "0.6.0" -ansi-styles@^3.2.0, ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" +"deep-is@^0.1.3", "deep-is@~0.1.3": + "integrity" "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + "resolved" "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz" + "version" "0.1.3" + +"deepmerge@^1.5.2": + "integrity" "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==" + "resolved" "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz" + "version" "1.5.2" + +"default-gateway@^4.2.0": + "integrity" "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==" + "resolved" "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz" + "version" "4.2.0" dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + "execa" "^1.0.0" + "ip-regex" "^2.1.0" + +"default-gateway@^6.0.3": + "integrity" "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==" + "resolved" "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz" + "version" "6.0.3" dependencies: - color-convert "^2.0.1" - -any-observable@^0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz" - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz" + "execa" "^5.0.0" + +"defaults@^1.0.3": + "integrity" "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=" + "resolved" "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz" + "version" "1.0.3" + dependencies: + "clone" "^1.0.2" + +"defer-to-connect@^1.0.1": + "integrity" "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" + "resolved" "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz" + "version" "1.1.3" + +"define-lazy-prop@^2.0.0": + "integrity" "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" + "resolved" "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz" + "version" "2.0.0" + +"define-properties@^1.1.2", "define-properties@^1.1.3": + "integrity" "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==" + "resolved" "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz" + "version" "1.1.3" + dependencies: + "object-keys" "^1.0.12" + +"define-property@^0.2.5": + "integrity" "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=" + "resolved" "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz" + "version" "0.2.5" + dependencies: + "is-descriptor" "^0.1.0" + +"define-property@^1.0.0": + "integrity" "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=" + "resolved" "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "is-descriptor" "^1.0.0" + +"define-property@^2.0.2": + "integrity" "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==" + "resolved" "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "is-descriptor" "^1.0.2" + "isobject" "^3.0.1" + +"defined@^1.0.0": + "integrity" "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" + "resolved" "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz" + "version" "1.0.0" + +"del@^3.0.0": + "integrity" "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=" + "resolved" "https://registry.npmjs.org/del/-/del-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "globby" "^6.1.0" + "is-path-cwd" "^1.0.0" + "is-path-in-cwd" "^1.0.0" + "p-map" "^1.1.1" + "pify" "^3.0.0" + "rimraf" "^2.2.8" + +"del@^4.1.1": + "integrity" "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==" + "resolved" "https://registry.npmjs.org/del/-/del-4.1.1.tgz" + "version" "4.1.1" dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -anymatch@~3.1.1, anymatch@~3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" + "@types/glob" "^7.1.1" + "globby" "^6.1.0" + "is-path-cwd" "^2.0.0" + "is-path-in-cwd" "^2.0.0" + "p-map" "^2.0.0" + "pify" "^4.0.1" + "rimraf" "^2.6.3" + +"del@^6.0.0": + "integrity" "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==" + "resolved" "https://registry.npmjs.org/del/-/del-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "globby" "^11.0.1" + "graceful-fs" "^4.2.4" + "is-glob" "^4.0.1" + "is-path-cwd" "^2.2.0" + "is-path-inside" "^3.0.2" + "p-map" "^4.0.0" + "rimraf" "^3.0.2" + "slash" "^3.0.0" + +"delayed-stream@~1.0.0": + "integrity" "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + "resolved" "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" + "version" "1.0.0" + +"depd@~1.1.2": + "integrity" "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + "resolved" "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" + "version" "1.1.2" + +"des.js@^1.0.0": + "integrity" "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==" + "resolved" "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "inherits" "^2.0.1" + "minimalistic-assert" "^1.0.0" + +"destroy@~1.0.4": + "integrity" "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + "resolved" "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz" + "version" "1.0.4" + +"detect-indent@^6.0.0": + "integrity" "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==" + "resolved" "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz" + "version" "6.1.0" + +"detect-newline@^2.1.0": + "integrity" "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=" + "resolved" "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz" + "version" "2.1.0" + +"detect-newline@^3.1.0": + "integrity" "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==" + "resolved" "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" + "version" "3.1.0" + +"detect-node@^2.0.4": + "integrity" "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + "resolved" "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz" + "version" "2.1.0" + +"detective@^5.2.0": + "integrity" "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==" + "resolved" "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz" + "version" "5.2.0" + dependencies: + "acorn-node" "^1.6.1" + "defined" "^1.0.0" + "minimist" "^1.1.1" + +"diff-sequences@^24.9.0": + "integrity" "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==" + "resolved" "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz" + "version" "24.9.0" + +"diff@^3.5.0": + "integrity" "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==" + "resolved" "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz" + "version" "3.5.0" + +"diff@^4.0.1": + "integrity" "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" + "resolved" "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" + "version" "4.0.2" + +"diffie-hellman@^5.0.0": + "integrity" "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==" + "resolved" "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz" + "version" "5.0.3" + dependencies: + "bn.js" "^4.1.0" + "miller-rabin" "^4.0.0" + "randombytes" "^2.0.0" + +"dir-glob@^2.0.0", "dir-glob@^2.2.2": + "integrity" "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==" + "resolved" "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz" + "version" "2.2.2" + dependencies: + "path-type" "^3.0.0" + +"dir-glob@^3.0.1": + "integrity" "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==" + "resolved" "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "path-type" "^4.0.0" + +"dns-equal@^1.0.0": + "integrity" "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=" + "resolved" "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz" + "version" "1.0.0" + +"dns-packet@^1.3.1": + "integrity" "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==" + "resolved" "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz" + "version" "1.3.4" + dependencies: + "ip" "^1.1.0" + "safe-buffer" "^5.0.1" + +"dns-txt@^2.0.2": + "integrity" "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=" + "resolved" "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "buffer-indexof" "^1.0.0" + +"docsearch.js@^2.5.2": + "integrity" "sha512-GN+MBozuyz664ycpZY0ecdQE0ND/LSgJKhTLA0/v3arIS3S1Rpf2OJz6A35ReMsm91V5apcmzr5/kM84cvUg+A==" + "resolved" "https://registry.npmjs.org/docsearch.js/-/docsearch.js-2.6.3.tgz" + "version" "2.6.3" + dependencies: + "algoliasearch" "^3.24.5" + "autocomplete.js" "0.36.0" + "hogan.js" "^3.0.2" + "request" "^2.87.0" + "stack-utils" "^1.0.1" + "to-factory" "^1.0.0" + "zepto" "^1.2.0" + +"doctrine-temporary-fork@2.1.0": + "integrity" "sha512-nliqOv5NkE4zMON4UA6AMJE6As35afs8aYXATpU4pTUdIKiARZwrJVEP1boA3Rx1ZXHVkwxkhcq4VkqvsuRLsA==" + "resolved" "https://registry.npmjs.org/doctrine-temporary-fork/-/doctrine-temporary-fork-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "esutils" "^2.0.2" + +"doctrine@^3.0.0": + "integrity" "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==" + "resolved" "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "esutils" "^2.0.2" + +"documentation@^13.2.5": + "integrity" "sha512-d1TrfrHXYZR63xrOzkYwwe297vkSwBoEhyyMBOi20T+7Ohe1aX1dW4nqXncQmdmE5MxluSaxxa3BW1dCvbF5AQ==" + "resolved" "https://registry.npmjs.org/documentation/-/documentation-13.2.5.tgz" + "version" "13.2.5" dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" + "@babel/core" "7.12.3" + "@babel/generator" "7.12.1" + "@babel/parser" "7.12.3" + "@babel/traverse" "^7.12.1" + "@babel/types" "^7.12.1" + "ansi-html" "^0.0.7" + "babelify" "^10.0.0" + "chalk" "^2.3.0" + "chokidar" "^3.4.0" + "concat-stream" "^1.6.0" + "diff" "^4.0.1" + "doctrine-temporary-fork" "2.1.0" + "get-port" "^5.0.0" + "git-url-parse" "^11.1.2" + "github-slugger" "1.2.0" + "glob" "^7.1.2" + "globals-docs" "^2.4.0" + "highlight.js" "^10.7.2" + "ini" "^1.3.5" + "js-yaml" "^3.10.0" + "lodash" "^4.17.10" + "mdast-util-find-and-replace" "^1.1.1" + "mdast-util-inject" "^1.1.0" + "micromatch" "^3.1.5" + "mime" "^2.2.0" + "module-deps-sortable" "^5.0.3" + "parse-filepath" "^1.0.2" + "pify" "^5.0.0" + "read-pkg-up" "^4.0.0" + "remark" "^13.0.0" + "remark-gfm" "^1.0.0" + "remark-html" "^13.0.1" + "remark-reference-links" "^5.0.0" + "remark-toc" "^7.2.0" + "resolve" "^1.8.1" + "stream-array" "^1.1.2" + "strip-json-comments" "^2.0.1" + "tiny-lr" "^1.1.0" + "unist-builder" "^2.0.3" + "unist-util-visit" "^2.0.3" + "vfile" "^4.0.0" + "vfile-reporter" "^6.0.0" + "vfile-sort" "^2.1.0" + "vinyl" "^2.1.0" + "vinyl-fs" "^3.0.2" + "yargs" "^15.3.1" + optionalDependencies: + "@vue/compiler-sfc" "^3.0.11" + "vue-template-compiler" "^2.6.12" -append-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz" +"dom-converter@^0.2.0": + "integrity" "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==" + "resolved" "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz" + "version" "0.2.0" dependencies: - buffer-equal "^1.0.0" - -aproba@^1.1.1: - version "1.2.0" - resolved "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz" + "utila" "~0.4" -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" +"dom-serializer@^1.0.1": + "integrity" "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==" + "resolved" "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz" + "version" "1.3.2" dependencies: - sprintf-js "~1.0.2" + "domelementtype" "^2.0.1" + "domhandler" "^4.2.0" + "entities" "^2.0.0" -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" +"dom-serializer@0": + "integrity" "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==" + "resolved" "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz" + "version" "0.2.2" + dependencies: + "domelementtype" "^2.0.1" + "entities" "^2.0.0" -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz" +"dom-walk@^0.1.0": + "integrity" "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" + "resolved" "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz" + "version" "0.1.2" -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz" +"domain-browser@^1.1.1": + "integrity" "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" + "resolved" "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz" + "version" "1.2.0" + +"domelementtype@^2.0.1", "domelementtype@^2.2.0": + "integrity" "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==" + "resolved" "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz" + "version" "2.2.0" + +"domelementtype@1": + "integrity" "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + "resolved" "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz" + "version" "1.3.1" + +"domexception@^1.0.1": + "integrity" "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==" + "resolved" "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "webidl-conversions" "^4.0.2" + +"domhandler@^4.0.0", "domhandler@^4.2.0": + "integrity" "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==" + "resolved" "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz" + "version" "4.2.0" + dependencies: + "domelementtype" "^2.2.0" + +"domutils@^1.7.0": + "integrity" "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==" + "resolved" "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz" + "version" "1.7.0" + dependencies: + "dom-serializer" "0" + "domelementtype" "1" + +"domutils@^2.5.2", "domutils@^2.6.0": + "integrity" "sha512-8eaHa17IwJUPAiB+SoTYBo5mCdeMgdcAoXJ59m6DT1vw+5iLS3gNoqYaRowaBKtGVrOF1Jz4yDTgYKLK2kvfJg==" + "resolved" "https://registry.npmjs.org/domutils/-/domutils-2.7.0.tgz" + "version" "2.7.0" + dependencies: + "dom-serializer" "^1.0.1" + "domelementtype" "^2.2.0" + "domhandler" "^4.2.0" + +"dot-case@^3.0.4": + "integrity" "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==" + "resolved" "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz" + "version" "3.0.4" + dependencies: + "no-case" "^3.0.4" + "tslib" "^2.0.3" + +"dot-prop@^5.1.0", "dot-prop@^5.2.0": + "integrity" "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==" + "resolved" "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz" + "version" "5.3.0" + dependencies: + "is-obj" "^2.0.0" + +"dotgitignore@^2.1.0": + "integrity" "sha512-sCm11ak2oY6DglEPpCB8TixLjWAxd3kJTs6UIcSasNYxXdFPV+YKlye92c8H4kKFqV5qYMIh7d+cYecEg0dIkA==" + "resolved" "https://registry.npmjs.org/dotgitignore/-/dotgitignore-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "find-up" "^3.0.0" + "minimatch" "^3.0.4" + +"dts-bundle-generator@^6.5.0": + "integrity" "sha512-PvJxvy0xALNuBjjSlUWlFFjlimlCzMBUG2QNlkavTIKvLY55F2XOVJ/M0EoVIFafrWzQk/uV6UyIod9MtpmRNw==" + "resolved" "https://registry.npmjs.org/dts-bundle-generator/-/dts-bundle-generator-6.5.0.tgz" + "version" "6.5.0" + dependencies: + "typescript" ">=3.0.1" + "yargs" "^17.2.1" + +"duplexer2@^0.1.2", "duplexer2@~0.1.0": + "integrity" "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=" + "resolved" "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz" + "version" "0.1.4" + dependencies: + "readable-stream" "^2.0.2" + +"duplexer3@^0.1.4": + "integrity" "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" + "resolved" "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz" + "version" "0.1.4" + +"duplexify@^3.4.2", "duplexify@^3.6.0": + "integrity" "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==" + "resolved" "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz" + "version" "3.7.1" + dependencies: + "end-of-stream" "^1.0.0" + "inherits" "^2.0.1" + "readable-stream" "^2.0.0" + "stream-shift" "^1.0.0" + +"ecc-jsbn@~0.1.1": + "integrity" "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=" + "resolved" "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz" + "version" "0.1.2" + dependencies: + "jsbn" "~0.1.0" + "safer-buffer" "^2.1.0" + +"ee-first@1.1.1": + "integrity" "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + "resolved" "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" + "version" "1.1.1" + +"electron-to-chromium@^1.4.71": + "integrity" "sha512-Hk61vXXKRb2cd3znPE9F+2pLWdIOmP7GjiTj45y6L3W/lO+hSnUSUhq+6lEaERWBdZOHbk2s3YV5c9xVl3boVw==" + "resolved" "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.71.tgz" + "version" "1.4.71" + +"elegant-spinner@^1.0.1": + "integrity" "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=" + "resolved" "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz" + "version" "1.0.1" + +"elliptic@^6.5.3": + "integrity" "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==" + "resolved" "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz" + "version" "6.5.4" + dependencies: + "bn.js" "^4.11.9" + "brorand" "^1.1.0" + "hash.js" "^1.0.0" + "hmac-drbg" "^1.0.1" + "inherits" "^2.0.4" + "minimalistic-assert" "^1.0.1" + "minimalistic-crypto-utils" "^1.0.1" + +"emoji-regex@^7.0.1": + "integrity" "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz" + "version" "7.0.3" + +"emoji-regex@^8.0.0": + "integrity" "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + "version" "8.0.0" -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz" +"emoji-regex@>=6.0.0 <=6.1.1": + "integrity" "sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4=" + "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.1.1.tgz" + "version" "6.1.1" + +"emojis-list@^2.0.0": + "integrity" "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" + "resolved" "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz" + "version" "2.1.0" + +"emojis-list@^3.0.0": + "integrity" "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" + "resolved" "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz" + "version" "3.0.0" + +"encodeurl@~1.0.2": + "integrity" "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + "resolved" "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" + "version" "1.0.2" + +"end-of-stream@^1.0.0", "end-of-stream@^1.1.0": + "integrity" "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==" + "resolved" "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" + "version" "1.4.4" + dependencies: + "once" "^1.4.0" + +"enhanced-resolve@^4.5.0": + "integrity" "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==" + "resolved" "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz" + "version" "4.5.0" + dependencies: + "graceful-fs" "^4.1.2" + "memory-fs" "^0.5.0" + "tapable" "^1.0.0" + +"enhanced-resolve@^5.0.0", "enhanced-resolve@^5.8.3": + "integrity" "sha512-weDYmzbBygL7HzGGS26M3hGQx68vehdEg6VUmqSOaFzXExFqlnKuSvsEJCVGQHScS8CQMbrAqftT+AzzHNt/YA==" + "resolved" "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.0.tgz" + "version" "5.9.0" + dependencies: + "graceful-fs" "^4.2.4" + "tapable" "^2.2.0" + +"entities@^2.0.0": + "integrity" "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + "resolved" "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" + "version" "2.2.0" + +"entities@~1.1.1": + "integrity" "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + "resolved" "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz" + "version" "1.1.2" + +"envify@^4.0.0": + "integrity" "sha512-IKRVVoAYr4pIx4yIWNsz9mOsboxlNXiu7TNBnem/K/uTHdkyzXWDzHCK7UTolqBbgaBz0tQHsD3YNls0uIIjiw==" + "resolved" "https://registry.npmjs.org/envify/-/envify-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "esprima" "^4.0.0" + "through" "~2.3.4" + +"envinfo@^7.2.0", "envinfo@^7.7.3": + "integrity" "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==" + "resolved" "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz" + "version" "7.8.1" + +"errno@^0.1.3", "errno@~0.1.7": + "integrity" "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==" + "resolved" "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz" + "version" "0.1.8" + dependencies: + "prr" "~1.0.1" + +"error-ex@^1.2.0", "error-ex@^1.3.1": + "integrity" "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==" + "resolved" "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + "version" "1.3.2" + dependencies: + "is-arrayish" "^0.2.1" + +"error@^7.0.0": + "integrity" "sha512-fo9HBvWnx3NGUKMvMwB/CBCMMrfEJgbDTVDEkPygA3Bdd3lM1OyCd+rbQ8BwnpF6GdVeOLDNmyL4N5Bg80ZvdA==" + "resolved" "https://registry.npmjs.org/error/-/error-7.2.1.tgz" + "version" "7.2.1" + dependencies: + "string-template" "~0.2.1" + +"es-abstract@^1.17.2", "es-abstract@^1.18.0-next.2", "es-abstract@^1.18.2": + "integrity" "sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw==" + "resolved" "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.3.tgz" + "version" "1.18.3" + dependencies: + "call-bind" "^1.0.2" + "es-to-primitive" "^1.2.1" + "function-bind" "^1.1.1" + "get-intrinsic" "^1.1.1" + "has" "^1.0.3" + "has-symbols" "^1.0.2" + "is-callable" "^1.2.3" + "is-negative-zero" "^2.0.1" + "is-regex" "^1.1.3" + "is-string" "^1.0.6" + "object-inspect" "^1.10.3" + "object-keys" "^1.1.1" + "object.assign" "^4.1.2" + "string.prototype.trimend" "^1.0.4" + "string.prototype.trimstart" "^1.0.4" + "unbox-primitive" "^1.0.1" + +"es-module-lexer@^0.9.0": + "integrity" "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==" + "resolved" "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz" + "version" "0.9.3" + +"es-to-primitive@^1.2.1": + "integrity" "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==" + "resolved" "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" + "version" "1.2.1" + dependencies: + "is-callable" "^1.1.4" + "is-date-object" "^1.0.1" + "is-symbol" "^1.0.2" + +"es6-promise@^4.1.0": + "integrity" "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" + "resolved" "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz" + "version" "4.2.8" + +"escalade@^3.1.1": + "integrity" "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + "resolved" "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" + "version" "3.1.1" + +"escape-goat@^2.0.0": + "integrity" "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==" + "resolved" "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz" + "version" "2.1.1" + +"escape-html@^1.0.3", "escape-html@~1.0.3": + "integrity" "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + "resolved" "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" + "version" "1.0.3" + +"escape-string-regexp@^1.0.2", "escape-string-regexp@^1.0.4", "escape-string-regexp@^1.0.5": + "integrity" "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + "version" "1.0.5" + +"escape-string-regexp@^2.0.0": + "integrity" "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" + "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" + "version" "2.0.0" + +"escape-string-regexp@^4.0.0": + "integrity" "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + "version" "4.0.0" + +"escodegen@^1.9.1": + "integrity" "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==" + "resolved" "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz" + "version" "1.14.3" + dependencies: + "esprima" "^4.0.1" + "estraverse" "^4.2.0" + "esutils" "^2.0.2" + "optionator" "^0.8.1" + optionalDependencies: + "source-map" "~0.6.1" -array-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz" +"eslint-scope@^4.0.3": + "integrity" "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==" + "resolved" "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz" + "version" "4.0.3" + dependencies: + "esrecurse" "^4.1.0" + "estraverse" "^4.1.1" -array-find-index@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz" +"eslint-scope@^7.1.1": + "integrity" "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==" + "resolved" "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz" + "version" "7.1.1" + dependencies: + "esrecurse" "^4.3.0" + "estraverse" "^5.2.0" -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" +"eslint-scope@5.1.1": + "integrity" "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==" + "resolved" "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" + "version" "5.1.1" + dependencies: + "esrecurse" "^4.3.0" + "estraverse" "^4.1.1" -array-flatten@^2.1.0: - version "2.1.2" - resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz" +"eslint-utils@^3.0.0": + "integrity" "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==" + "resolved" "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "eslint-visitor-keys" "^2.0.0" -array-from@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/array-from/-/array-from-2.1.1.tgz" +"eslint-visitor-keys@^2.0.0": + "integrity" "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" + "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" + "version" "2.1.0" -array-ify@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz" +"eslint-visitor-keys@^3.3.0": + "integrity" "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==" + "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz" + "version" "3.3.0" -array-union@^1.0.1, array-union@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz" +"eslint@^8.12.0", "eslint@>=5": + "integrity" "sha512-it1oBL9alZg1S8UycLm5YDMAkIhtH6FtAzuZs6YvoGVldWjbS08BkAdb/ymP9LlAyq8koANu32U7Ib/w+UNh8Q==" + "resolved" "https://registry.npmjs.org/eslint/-/eslint-8.12.0.tgz" + "version" "8.12.0" + dependencies: + "@eslint/eslintrc" "^1.2.1" + "@humanwhocodes/config-array" "^0.9.2" + "ajv" "^6.10.0" + "chalk" "^4.0.0" + "cross-spawn" "^7.0.2" + "debug" "^4.3.2" + "doctrine" "^3.0.0" + "escape-string-regexp" "^4.0.0" + "eslint-scope" "^7.1.1" + "eslint-utils" "^3.0.0" + "eslint-visitor-keys" "^3.3.0" + "espree" "^9.3.1" + "esquery" "^1.4.0" + "esutils" "^2.0.2" + "fast-deep-equal" "^3.1.3" + "file-entry-cache" "^6.0.1" + "functional-red-black-tree" "^1.0.1" + "glob-parent" "^6.0.1" + "globals" "^13.6.0" + "ignore" "^5.2.0" + "import-fresh" "^3.0.0" + "imurmurhash" "^0.1.4" + "is-glob" "^4.0.0" + "js-yaml" "^4.1.0" + "json-stable-stringify-without-jsonify" "^1.0.1" + "levn" "^0.4.1" + "lodash.merge" "^4.6.2" + "minimatch" "^3.0.4" + "natural-compare" "^1.4.0" + "optionator" "^0.9.1" + "regexpp" "^3.2.0" + "strip-ansi" "^6.0.1" + "strip-json-comments" "^3.1.0" + "text-table" "^0.2.0" + "v8-compile-cache" "^2.0.3" + +"esm@^3.2.25": + "integrity" "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==" + "resolved" "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz" + "version" "3.2.25" + +"espree@^9.3.1": + "integrity" "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==" + "resolved" "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz" + "version" "9.3.1" + dependencies: + "acorn" "^8.7.0" + "acorn-jsx" "^5.3.1" + "eslint-visitor-keys" "^3.3.0" + +"esprima@^4.0.0", "esprima@^4.0.1": + "integrity" "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + "resolved" "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" + "version" "4.0.1" + +"esquery@^1.4.0": + "integrity" "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==" + "resolved" "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz" + "version" "1.4.0" + dependencies: + "estraverse" "^5.1.0" + +"esrecurse@^4.1.0", "esrecurse@^4.3.0": + "integrity" "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==" + "resolved" "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + "version" "4.3.0" + dependencies: + "estraverse" "^5.2.0" + +"estraverse@^4.1.1", "estraverse@^4.2.0": + "integrity" "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" + "version" "4.3.0" + +"estraverse@^5.1.0": + "integrity" "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" + "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz" + "version" "5.2.0" + +"estraverse@^5.2.0": + "integrity" "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + "version" "5.3.0" + +"estree-walker@^2.0.1": + "integrity" "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + "resolved" "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz" + "version" "2.0.2" + +"esutils@^2.0.2": + "integrity" "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + "resolved" "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + "version" "2.0.3" + +"etag@~1.8.1": + "integrity" "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + "resolved" "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" + "version" "1.8.1" + +"eventemitter3@^4.0.0": + "integrity" "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + "resolved" "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" + "version" "4.0.7" + +"events@^1.1.0": + "integrity" "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" + "resolved" "https://registry.npmjs.org/events/-/events-1.1.1.tgz" + "version" "1.1.1" + +"events@^3.0.0": + "integrity" "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" + "resolved" "https://registry.npmjs.org/events/-/events-3.3.0.tgz" + "version" "3.3.0" + +"events@^3.2.0": + "integrity" "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" + "resolved" "https://registry.npmjs.org/events/-/events-3.3.0.tgz" + "version" "3.3.0" + +"eventsource@^1.0.7": + "integrity" "sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg==" + "resolved" "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "original" "^1.0.0" + +"evp_bytestokey@^1.0.0", "evp_bytestokey@^1.0.3": + "integrity" "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==" + "resolved" "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz" + "version" "1.0.3" + dependencies: + "md5.js" "^1.3.4" + "safe-buffer" "^5.1.1" + +"exec-sh@^0.3.2": + "integrity" "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==" + "resolved" "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz" + "version" "0.3.6" + +"execa@^1.0.0": + "integrity" "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==" + "resolved" "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "cross-spawn" "^6.0.0" + "get-stream" "^4.0.0" + "is-stream" "^1.1.0" + "npm-run-path" "^2.0.0" + "p-finally" "^1.0.0" + "signal-exit" "^3.0.0" + "strip-eof" "^1.0.0" + +"execa@^5.0.0": + "integrity" "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==" + "resolved" "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" + "version" "5.1.1" + dependencies: + "cross-spawn" "^7.0.3" + "get-stream" "^6.0.0" + "human-signals" "^2.1.0" + "is-stream" "^2.0.0" + "merge-stream" "^2.0.0" + "npm-run-path" "^4.0.1" + "onetime" "^5.1.2" + "signal-exit" "^3.0.3" + "strip-final-newline" "^2.0.0" + +"exit@^0.1.2": + "integrity" "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=" + "resolved" "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" + "version" "0.1.2" + +"expand-brackets@^2.1.4": + "integrity" "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=" + "resolved" "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz" + "version" "2.1.4" + dependencies: + "debug" "^2.3.3" + "define-property" "^0.2.5" + "extend-shallow" "^2.0.1" + "posix-character-classes" "^0.1.0" + "regex-not" "^1.0.0" + "snapdragon" "^0.8.1" + "to-regex" "^3.0.1" + +"expect@^24.9.0": + "integrity" "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==" + "resolved" "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz" + "version" "24.9.0" + dependencies: + "@jest/types" "^24.9.0" + "ansi-styles" "^3.2.0" + "jest-get-type" "^24.9.0" + "jest-matcher-utils" "^24.9.0" + "jest-message-util" "^24.9.0" + "jest-regex-util" "^24.9.0" + +"express@^4.17.1": + "integrity" "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==" + "resolved" "https://registry.npmjs.org/express/-/express-4.17.1.tgz" + "version" "4.17.1" + dependencies: + "accepts" "~1.3.7" + "array-flatten" "1.1.1" + "body-parser" "1.19.0" + "content-disposition" "0.5.3" + "content-type" "~1.0.4" + "cookie" "0.4.0" + "cookie-signature" "1.0.6" + "debug" "2.6.9" + "depd" "~1.1.2" + "encodeurl" "~1.0.2" + "escape-html" "~1.0.3" + "etag" "~1.8.1" + "finalhandler" "~1.1.2" + "fresh" "0.5.2" + "merge-descriptors" "1.0.1" + "methods" "~1.1.2" + "on-finished" "~2.3.0" + "parseurl" "~1.3.3" + "path-to-regexp" "0.1.7" + "proxy-addr" "~2.0.5" + "qs" "6.7.0" + "range-parser" "~1.2.1" + "safe-buffer" "5.1.2" + "send" "0.17.1" + "serve-static" "1.14.1" + "setprototypeof" "1.1.1" + "statuses" "~1.5.0" + "type-is" "~1.6.18" + "utils-merge" "1.0.1" + "vary" "~1.1.2" + +"extend-shallow@^2.0.1": + "integrity" "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=" + "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "is-extendable" "^0.1.0" + +"extend-shallow@^3.0.0", "extend-shallow@^3.0.2": + "integrity" "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=" + "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "assign-symbols" "^1.0.0" + "is-extendable" "^1.0.1" + +"extend@^3.0.0", "extend@^3.0.2", "extend@~3.0.2": + "integrity" "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + "resolved" "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" + "version" "3.0.2" + +"external-editor@^3.0.3": + "integrity" "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==" + "resolved" "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "chardet" "^0.7.0" + "iconv-lite" "^0.4.24" + "tmp" "^0.0.33" + +"extglob@^2.0.4": + "integrity" "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==" + "resolved" "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz" + "version" "2.0.4" + dependencies: + "array-unique" "^0.3.2" + "define-property" "^1.0.0" + "expand-brackets" "^2.1.4" + "extend-shallow" "^2.0.1" + "fragment-cache" "^0.2.1" + "regex-not" "^1.0.0" + "snapdragon" "^0.8.1" + "to-regex" "^3.0.1" + +"extsprintf@^1.2.0", "extsprintf@1.3.0": + "integrity" "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + "resolved" "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz" + "version" "1.3.0" + +"fast-deep-equal@^3.1.1", "fast-deep-equal@^3.1.3": + "integrity" "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "resolved" "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + "version" "3.1.3" + +"fast-glob@^2.2.6": + "integrity" "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==" + "resolved" "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz" + "version" "2.2.7" dependencies: - array-uniq "^1.0.1" + "@mrmlnc/readdir-enhanced" "^2.2.1" + "@nodelib/fs.stat" "^1.1.2" + "glob-parent" "^3.1.0" + "is-glob" "^4.0.0" + "merge2" "^1.2.3" + "micromatch" "^3.1.10" -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" +"fast-glob@^3.2.9": + "integrity" "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==" + "resolved" "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz" + "version" "3.2.11" + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + "glob-parent" "^5.1.2" + "merge2" "^1.3.0" + "micromatch" "^4.0.4" -array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz" +"fast-json-stable-stringify@^2.0.0": + "integrity" "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + "resolved" "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + "version" "2.1.0" -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz" +"fast-levenshtein@^2.0.6", "fast-levenshtein@~2.0.6": + "integrity" "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + "resolved" "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + "version" "2.0.6" -arrify@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz" +"fastest-levenshtein@^1.0.12": + "integrity" "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==" + "resolved" "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz" + "version" "1.0.12" -asn1.js@^5.2.0: - version "5.4.1" - resolved "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz" +"fastq@^1.6.0": + "integrity" "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==" + "resolved" "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz" + "version" "1.13.0" + dependencies: + "reusify" "^1.0.4" + +"faye-websocket@^0.11.3": + "integrity" "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==" + "resolved" "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz" + "version" "0.11.4" + dependencies: + "websocket-driver" ">=0.5.1" + +"faye-websocket@~0.10.0": + "integrity" "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=" + "resolved" "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz" + "version" "0.10.0" + dependencies: + "websocket-driver" ">=0.5.1" + +"fb-watchman@^2.0.0": + "integrity" "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==" + "resolved" "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "bser" "2.1.1" + +"figgy-pudding@^3.5.1": + "integrity" "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==" + "resolved" "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz" + "version" "3.5.2" + +"figures@^1.7.0": + "integrity" "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=" + "resolved" "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz" + "version" "1.7.0" + dependencies: + "escape-string-regexp" "^1.0.5" + "object-assign" "^4.1.0" + +"figures@^2.0.0": + "integrity" "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=" + "resolved" "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "escape-string-regexp" "^1.0.5" + +"figures@^3.0.0", "figures@^3.1.0": + "integrity" "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==" + "resolved" "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz" + "version" "3.2.0" + dependencies: + "escape-string-regexp" "^1.0.5" + +"file-entry-cache@^6.0.1": + "integrity" "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==" + "resolved" "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" + "version" "6.0.1" + dependencies: + "flat-cache" "^3.0.4" + +"file-loader@^3.0.1": + "integrity" "sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw==" + "resolved" "https://registry.npmjs.org/file-loader/-/file-loader-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "loader-utils" "^1.0.2" + "schema-utils" "^1.0.0" + +"file-uri-to-path@1.0.0": + "integrity" "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + "resolved" "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz" + "version" "1.0.0" + +"fill-range@^4.0.0": + "integrity" "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=" + "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "extend-shallow" "^2.0.1" + "is-number" "^3.0.0" + "repeat-string" "^1.6.1" + "to-regex-range" "^2.1.0" + +"fill-range@^7.0.1": + "integrity" "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==" + "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + "version" "7.0.1" + dependencies: + "to-regex-range" "^5.0.1" + +"filter-obj@^1.1.0": + "integrity" "sha1-mzERErxsYSehbgFsbF1/GeCAXFs=" + "resolved" "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz" + "version" "1.1.0" + +"finalhandler@~1.1.2": + "integrity" "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==" + "resolved" "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz" + "version" "1.1.2" + dependencies: + "debug" "2.6.9" + "encodeurl" "~1.0.2" + "escape-html" "~1.0.3" + "on-finished" "~2.3.0" + "parseurl" "~1.3.3" + "statuses" "~1.5.0" + "unpipe" "~1.0.0" + +"find-cache-dir@^2.1.0": + "integrity" "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==" + "resolved" "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "commondir" "^1.0.1" + "make-dir" "^2.0.0" + "pkg-dir" "^3.0.0" + +"find-cache-dir@^3.3.1": + "integrity" "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==" + "resolved" "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz" + "version" "3.3.1" + dependencies: + "commondir" "^1.0.1" + "make-dir" "^3.0.2" + "pkg-dir" "^4.1.0" + +"find-up@^1.0.0": + "integrity" "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=" + "resolved" "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz" + "version" "1.1.2" + dependencies: + "path-exists" "^2.0.0" + "pinkie-promise" "^2.0.0" + +"find-up@^2.0.0": + "integrity" "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=" + "resolved" "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "locate-path" "^2.0.0" + +"find-up@^3.0.0": + "integrity" "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==" + "resolved" "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "locate-path" "^3.0.0" + +"find-up@^4.0.0": + "integrity" "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==" + "resolved" "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "locate-path" "^5.0.0" + "path-exists" "^4.0.0" + +"find-up@^4.1.0": + "integrity" "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==" + "resolved" "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "locate-path" "^5.0.0" + "path-exists" "^4.0.0" + +"find-up@^5.0.0": + "integrity" "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==" + "resolved" "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "locate-path" "^6.0.0" + "path-exists" "^4.0.0" + +"flat-cache@^3.0.4": + "integrity" "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==" + "resolved" "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" + "version" "3.0.4" + dependencies: + "flatted" "^3.1.0" + "rimraf" "^3.0.2" + +"flatted@^3.1.0": + "integrity" "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==" + "resolved" "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz" + "version" "3.1.1" + +"flush-write-stream@^1.0.0", "flush-write-stream@^1.0.2": + "integrity" "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==" + "resolved" "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz" + "version" "1.1.1" + dependencies: + "inherits" "^2.0.3" + "readable-stream" "^2.3.6" + +"fn-name@~2.0.1": + "integrity" "sha1-UhTXU3pNBqSjAcDMJi/rhBiAAuc=" + "resolved" "https://registry.npmjs.org/fn-name/-/fn-name-2.0.1.tgz" + "version" "2.0.1" + +"follow-redirects@^1.0.0": + "integrity" "sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA==" + "resolved" "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.8.tgz" + "version" "1.14.8" + +"for-each@^0.3.3": + "integrity" "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==" + "resolved" "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" + "version" "0.3.3" + dependencies: + "is-callable" "^1.1.3" + +"for-in@^1.0.2": + "integrity" "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + "resolved" "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz" + "version" "1.0.2" + +"foreach@^2.0.5": + "integrity" "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" + "resolved" "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz" + "version" "2.0.5" + +"forever-agent@~0.6.1": + "integrity" "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + "resolved" "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" + "version" "0.6.1" + +"form-data@~2.3.2": + "integrity" "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==" + "resolved" "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz" + "version" "2.3.3" + dependencies: + "asynckit" "^0.4.0" + "combined-stream" "^1.0.6" + "mime-types" "^2.1.12" + +"forwarded@0.2.0": + "integrity" "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" + "resolved" "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" + "version" "0.2.0" + +"fragment-cache@^0.2.1": + "integrity" "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=" + "resolved" "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz" + "version" "0.2.1" + dependencies: + "map-cache" "^0.2.2" + +"fresh@0.5.2": + "integrity" "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + "resolved" "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" + "version" "0.5.2" + +"from2@^2.1.0": + "integrity" "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=" + "resolved" "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz" + "version" "2.3.0" + dependencies: + "inherits" "^2.0.1" + "readable-stream" "^2.0.0" + +"fs-access@^1.0.1": + "integrity" "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=" + "resolved" "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "null-check" "^1.0.0" + +"fs-extra@^7.0.1": + "integrity" "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==" + "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz" + "version" "7.0.1" + dependencies: + "graceful-fs" "^4.1.2" + "jsonfile" "^4.0.0" + "universalify" "^0.1.0" + +"fs-mkdirp-stream@^1.0.0": + "integrity" "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=" + "resolved" "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "graceful-fs" "^4.1.11" + "through2" "^2.0.3" + +"fs-monkey@1.0.3": + "integrity" "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==" + "resolved" "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz" + "version" "1.0.3" + +"fs-readdir-recursive@^1.1.0": + "integrity" "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==" + "resolved" "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz" + "version" "1.1.0" + +"fs-write-stream-atomic@^1.0.8": + "integrity" "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=" + "resolved" "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz" + "version" "1.0.10" + dependencies: + "graceful-fs" "^4.1.2" + "iferr" "^0.1.5" + "imurmurhash" "^0.1.4" + "readable-stream" "1 || 2" + +"fs.realpath@^1.0.0": + "integrity" "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + "version" "1.0.0" + +"function-bind@^1.1.1": + "integrity" "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "resolved" "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" + "version" "1.1.1" + +"functional-red-black-tree@^1.0.1": + "integrity" "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" + "resolved" "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" + "version" "1.0.1" + +"g-status@^2.0.2": + "integrity" "sha512-kQoE9qH+T1AHKgSSD0Hkv98bobE90ILQcXAF4wvGgsr7uFqNvwmh8j+Lq3l0RVt3E3HjSbv2B9biEGcEtpHLCA==" + "resolved" "https://registry.npmjs.org/g-status/-/g-status-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "arrify" "^1.0.1" + "matcher" "^1.0.0" + "simple-git" "^1.85.0" + +"generic-names@^2.0.1": + "integrity" "sha512-kPCHWa1m9wGG/OwQpeweTwM/PYiQLrUIxXbt/P4Nic3LbGjCP0YwrALHW1uNLKZ0LIMg+RF+XRlj2ekT9ZlZAQ==" + "resolved" "https://registry.npmjs.org/generic-names/-/generic-names-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "loader-utils" "^1.1.0" + +"gensync@^1.0.0-beta.1", "gensync@^1.0.0-beta.2": + "integrity" "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" + "resolved" "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + "version" "1.0.0-beta.2" + +"get-caller-file@^2.0.1", "get-caller-file@^2.0.5": + "integrity" "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + "resolved" "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" + "version" "2.0.5" + +"get-intrinsic@^1.0.2", "get-intrinsic@^1.1.1": + "integrity" "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==" + "resolved" "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz" + "version" "1.1.1" + dependencies: + "function-bind" "^1.1.1" + "has" "^1.0.3" + "has-symbols" "^1.0.1" + +"get-own-enumerable-property-symbols@^3.0.0": + "integrity" "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + "resolved" "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz" + "version" "3.0.2" + +"get-pkg-repo@^1.0.0": + "integrity" "sha1-xztInAbYDMVTbCyFP54FIyBWly0=" + "resolved" "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz" + "version" "1.4.0" + dependencies: + "hosted-git-info" "^2.1.4" + "meow" "^3.3.0" + "normalize-package-data" "^2.3.0" + "parse-github-repo-url" "^1.3.0" + "through2" "^2.0.0" + +"get-port@^5.0.0": + "integrity" "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==" + "resolved" "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz" + "version" "5.1.1" + +"get-stdin@^4.0.1": + "integrity" "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=" + "resolved" "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz" + "version" "4.0.1" + +"get-stdin@^7.0.0": + "integrity" "sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==" + "resolved" "https://registry.npmjs.org/get-stdin/-/get-stdin-7.0.0.tgz" + "version" "7.0.0" + +"get-stream@^4.0.0", "get-stream@^4.1.0": + "integrity" "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==" + "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "pump" "^3.0.0" + +"get-stream@^5.1.0": + "integrity" "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==" + "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" + "version" "5.2.0" + dependencies: + "pump" "^3.0.0" + +"get-stream@^6.0.0": + "integrity" "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" + "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" + "version" "6.0.1" + +"get-value@^2.0.3", "get-value@^2.0.6": + "integrity" "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + "resolved" "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz" + "version" "2.0.6" + +"getpass@^0.1.1": + "integrity" "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=" + "resolved" "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz" + "version" "0.1.7" + dependencies: + "assert-plus" "^1.0.0" + +"git-raw-commits@^2.0.8": + "integrity" "sha512-sHhX5lsbG9SOO6yXdlwgEMQ/ljIn7qMpAbJZCGfXX2fq5T8M5SrDnpYk9/4HswTildcIqatsWa91vty6VhWSaQ==" + "resolved" "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.10.tgz" + "version" "2.0.10" + dependencies: + "dargs" "^7.0.0" + "lodash" "^4.17.15" + "meow" "^8.0.0" + "split2" "^3.0.0" + "through2" "^4.0.0" + +"git-remote-origin-url@^2.0.0": + "integrity" "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=" + "resolved" "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "gitconfiglocal" "^1.0.0" + "pify" "^2.3.0" + +"git-semver-tags@^4.0.0", "git-semver-tags@^4.1.1": + "integrity" "sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==" + "resolved" "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz" + "version" "4.1.1" + dependencies: + "meow" "^8.0.0" + "semver" "^6.0.0" + +"git-up@^4.0.0": + "integrity" "sha512-kbuvus1dWQB2sSW4cbfTeGpCMd8ge9jx9RKnhXhuJ7tnvT+NIrTVfYZxjtflZddQYcmdOTlkAcjmx7bor+15AQ==" + "resolved" "https://registry.npmjs.org/git-up/-/git-up-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "is-ssh" "^1.3.0" + "parse-url" "^5.0.0" + +"git-url-parse@^11.1.2": + "integrity" "sha512-Y4o9o7vQngQDIU9IjyCmRJBin5iYjI5u9ZITnddRZpD7dcCFQj2sL2XuMNbLRE4b4B/4ENPsp2Q8P44fjAZ0Pw==" + "resolved" "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.4.4.tgz" + "version" "11.4.4" + dependencies: + "git-up" "^4.0.0" + +"gitconfiglocal@^1.0.0": + "integrity" "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=" + "resolved" "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "ini" "^1.3.2" + +"github-slugger@^1.2.1": + "integrity" "sha512-gwJScWVNhFYSRDvURk/8yhcFBee6aFjye2a7Lhb2bUyRulpIoek9p0I9Kt7PT67d/nUlZbFu8L9RLiA0woQN8Q==" + "resolved" "https://registry.npmjs.org/github-slugger/-/github-slugger-1.3.0.tgz" + "version" "1.3.0" + dependencies: + "emoji-regex" ">=6.0.0 <=6.1.1" + +"github-slugger@1.2.0": + "integrity" "sha512-wIaa75k1vZhyPm9yWrD08A5Xnx/V+RmzGrpjQuLemGKSb77Qukiaei58Bogrl/LZSADDfPzKJX8jhLs4CRTl7Q==" + "resolved" "https://registry.npmjs.org/github-slugger/-/github-slugger-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "emoji-regex" ">=6.0.0 <=6.1.1" + +"glob-parent@^3.1.0": + "integrity" "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=" + "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "is-glob" "^3.1.0" + "path-dirname" "^1.0.0" + +"glob-parent@^5.1.2", "glob-parent@~5.1.2": + "integrity" "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==" + "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + "version" "5.1.2" + dependencies: + "is-glob" "^4.0.1" + +"glob-parent@^6.0.1": + "integrity" "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==" + "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + "version" "6.0.2" + dependencies: + "is-glob" "^4.0.3" + +"glob-parent@~5.1.0": + "integrity" "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==" + "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + "version" "5.1.2" + dependencies: + "is-glob" "^4.0.1" + +"glob-stream@^6.1.0": + "integrity" "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=" + "resolved" "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz" + "version" "6.1.0" + dependencies: + "extend" "^3.0.0" + "glob" "^7.1.1" + "glob-parent" "^3.1.0" + "is-negated-glob" "^1.0.0" + "ordered-read-streams" "^1.0.0" + "pumpify" "^1.3.5" + "readable-stream" "^2.1.5" + "remove-trailing-separator" "^1.0.1" + "to-absolute-glob" "^2.0.0" + "unique-stream" "^2.0.2" + +"glob-to-regexp@^0.3.0": + "integrity" "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=" + "resolved" "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz" + "version" "0.3.0" + +"glob-to-regexp@^0.4.1": + "integrity" "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + "resolved" "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" + "version" "0.4.1" + +"glob@^7.0.0", "glob@^7.0.3", "glob@^7.1.1", "glob@^7.1.2", "glob@^7.1.3", "glob@^7.1.4", "glob@^7.1.6": + "integrity" "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==" + "resolved" "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz" + "version" "7.2.0" + dependencies: + "fs.realpath" "^1.0.0" + "inflight" "^1.0.4" + "inherits" "2" + "minimatch" "^3.0.4" + "once" "^1.3.0" + "path-is-absolute" "^1.0.0" + +"global-dirs@^2.0.1": + "integrity" "sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ==" + "resolved" "https://registry.npmjs.org/global-dirs/-/global-dirs-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "ini" "1.3.7" + +"global@^4.3.2": + "integrity" "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==" + "resolved" "https://registry.npmjs.org/global/-/global-4.4.0.tgz" + "version" "4.4.0" + dependencies: + "min-document" "^2.19.0" + "process" "^0.11.10" + +"globals-docs@^2.4.0": + "integrity" "sha512-qpPnUKkWnz8NESjrCvnlGklsgiQzlq+rcCxoG5uNQ+dNA7cFMCmn231slLAwS2N/PlkzZ3COL8CcS10jXmLHqg==" + "resolved" "https://registry.npmjs.org/globals-docs/-/globals-docs-2.4.1.tgz" + "version" "2.4.1" + +"globals@^11.1.0": + "integrity" "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + "resolved" "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + "version" "11.12.0" + +"globals@^13.6.0": + "integrity" "sha512-74/FduwI/JaIrr1H8e71UbDE+5x7pIPs1C2rrwC52SszOo043CsWOZEMW7o2Y58xwm9b+0RBKDxY5n2sUpEFxA==" + "resolved" "https://registry.npmjs.org/globals/-/globals-13.9.0.tgz" + "version" "13.9.0" + dependencies: + "type-fest" "^0.20.2" + +"globals@^13.9.0": + "integrity" "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==" + "resolved" "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz" + "version" "13.13.0" + dependencies: + "type-fest" "^0.20.2" + +"globby@^11.0.1": + "integrity" "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==" + "resolved" "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" + "version" "11.1.0" + dependencies: + "array-union" "^2.1.0" + "dir-glob" "^3.0.1" + "fast-glob" "^3.2.9" + "ignore" "^5.2.0" + "merge2" "^1.4.1" + "slash" "^3.0.0" + +"globby@^6.1.0": + "integrity" "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=" + "resolved" "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz" + "version" "6.1.0" + dependencies: + "array-union" "^1.0.1" + "glob" "^7.0.3" + "object-assign" "^4.0.1" + "pify" "^2.0.0" + "pinkie-promise" "^2.0.0" + +"globby@^7.1.1": + "integrity" "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=" + "resolved" "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz" + "version" "7.1.1" + dependencies: + "array-union" "^1.0.1" + "dir-glob" "^2.0.0" + "glob" "^7.1.2" + "ignore" "^3.3.5" + "pify" "^3.0.0" + "slash" "^1.0.0" + +"globby@^9.2.0": + "integrity" "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==" + "resolved" "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz" + "version" "9.2.0" dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - safer-buffer "^2.1.0" - -asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz" + "@types/glob" "^7.1.1" + "array-union" "^1.0.2" + "dir-glob" "^2.2.2" + "fast-glob" "^2.2.6" + "glob" "^7.1.3" + "ignore" "^4.0.3" + "pify" "^4.0.1" + "slash" "^2.0.0" + +"got@^9.6.0": + "integrity" "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==" + "resolved" "https://registry.npmjs.org/got/-/got-9.6.0.tgz" + "version" "9.6.0" dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" - -assert@^1.1.1: - version "1.5.0" - resolved "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz" + "@sindresorhus/is" "^0.14.0" + "@szmarczak/http-timer" "^1.1.2" + "cacheable-request" "^6.0.0" + "decompress-response" "^3.3.0" + "duplexer3" "^0.1.4" + "get-stream" "^4.1.0" + "lowercase-keys" "^1.0.1" + "mimic-response" "^1.0.1" + "p-cancelable" "^1.0.0" + "to-readable-stream" "^1.0.0" + "url-parse-lax" "^3.0.0" + +"graceful-fs@^4.0.0", "graceful-fs@^4.1.11", "graceful-fs@^4.1.15", "graceful-fs@^4.1.2", "graceful-fs@^4.1.6", "graceful-fs@^4.2.4", "graceful-fs@^4.2.6", "graceful-fs@^4.2.9": + "integrity" "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" + "resolved" "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz" + "version" "4.2.9" + +"grapesjs-cli@^3.0.0": + "integrity" "sha512-ZTrHTYfCEB8oTn/8kHLlDoqKHorxscSMLjWU6bk2CObMLsE4pQnVqv7HcCz+GIie+z98CHnMU7evFRylCdfzlw==" + "resolved" "https://registry.npmjs.org/grapesjs-cli/-/grapesjs-cli-3.0.0.tgz" + "version" "3.0.0" dependencies: - object-assign "^4.1.1" - util "0.10.3" - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz" - -astral-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz" + "@babel/core" "^7.17.5" + "@babel/plugin-transform-runtime" "^7.17.0" + "@babel/preset-env" "^7.16.11" + "@babel/runtime" "^7.17.2" + "babel-loader" "^8.2.3" + "chalk" "^4.1.2" + "core-js" "^3.21.1" + "dts-bundle-generator" "^6.5.0" + "esm" "^3.2.25" + "html-webpack-plugin" "^5.5.0" + "inquirer" "^8.2.0" + "listr" "^0.14.3" + "lodash.template" "^4.5.0" + "rimraf" "^3.0.2" + "spdx-license-list" "^6.4.0" + "ts-loader" "^9.2.6" + "typescript" "^4.5.5" + "webpack" "^5.69.1" + "webpack-cli" "^4.9.2" + "webpack-dev-server" "^4.7.4" + "yargs" "^16.2.0" + +"gray-matter@^4.0.1": + "integrity" "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==" + "resolved" "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz" + "version" "4.0.3" + dependencies: + "js-yaml" "^3.13.1" + "kind-of" "^6.0.2" + "section-matter" "^1.0.0" + "strip-bom-string" "^1.0.0" + +"growly@^1.3.0": + "integrity" "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=" + "resolved" "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz" + "version" "1.3.0" + +"handle-thing@^2.0.0": + "integrity" "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + "resolved" "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz" + "version" "2.0.1" + +"handlebars@^4.7.6": + "integrity" "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==" + "resolved" "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz" + "version" "4.7.7" + dependencies: + "minimist" "^1.2.5" + "neo-async" "^2.6.0" + "source-map" "^0.6.1" + "wordwrap" "^1.0.0" + optionalDependencies: + "uglify-js" "^3.1.4" + +"har-schema@^2.0.0": + "integrity" "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + "resolved" "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz" + "version" "2.0.0" + +"har-validator@~5.1.3": + "integrity" "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==" + "resolved" "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz" + "version" "5.1.5" + dependencies: + "ajv" "^6.12.3" + "har-schema" "^2.0.0" + +"hard-rejection@^2.1.0": + "integrity" "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==" + "resolved" "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz" + "version" "2.1.0" + +"has-ansi@^2.0.0": + "integrity" "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=" + "resolved" "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "ansi-regex" "^2.0.0" + +"has-bigints@^1.0.1": + "integrity" "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==" + "resolved" "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz" + "version" "1.0.1" + +"has-flag@^3.0.0": + "integrity" "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + "version" "3.0.0" + +"has-flag@^4.0.0": + "integrity" "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + "version" "4.0.0" + +"has-symbols@^1.0.1", "has-symbols@^1.0.2": + "integrity" "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" + "resolved" "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz" + "version" "1.0.2" + +"has-value@^0.3.1": + "integrity" "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=" + "resolved" "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz" + "version" "0.3.1" + dependencies: + "get-value" "^2.0.3" + "has-values" "^0.1.4" + "isobject" "^2.0.0" + +"has-value@^1.0.0": + "integrity" "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=" + "resolved" "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "get-value" "^2.0.6" + "has-values" "^1.0.0" + "isobject" "^3.0.0" + +"has-values@^0.1.4": + "integrity" "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + "resolved" "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz" + "version" "0.1.4" + +"has-values@^1.0.0": + "integrity" "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=" + "resolved" "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "is-number" "^3.0.0" + "kind-of" "^4.0.0" + +"has-yarn@^2.1.0": + "integrity" "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==" + "resolved" "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz" + "version" "2.1.0" + +"has@^1.0.0", "has@^1.0.3": + "integrity" "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==" + "resolved" "https://registry.npmjs.org/has/-/has-1.0.3.tgz" + "version" "1.0.3" + dependencies: + "function-bind" "^1.1.1" + +"hash-base@^3.0.0": + "integrity" "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==" + "resolved" "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "inherits" "^2.0.4" + "readable-stream" "^3.6.0" + "safe-buffer" "^5.2.0" + +"hash-sum@^1.0.2": + "integrity" "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=" + "resolved" "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz" + "version" "1.0.2" + +"hash-sum@^2.0.0": + "integrity" "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==" + "resolved" "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz" + "version" "2.0.0" + +"hash.js@^1.0.0", "hash.js@^1.0.3": + "integrity" "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==" + "resolved" "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz" + "version" "1.1.7" + dependencies: + "inherits" "^2.0.3" + "minimalistic-assert" "^1.0.1" + +"hast-util-is-element@^1.0.0": + "integrity" "sha512-oUmNua0bFbdrD/ELDSSEadRVtWZOf3iF6Lbv81naqsIV99RnSCieTbWuWCY8BAeEfKJTKl0gRdokv+dELutHGQ==" + "resolved" "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-1.1.0.tgz" + "version" "1.1.0" + +"hast-util-sanitize@^3.0.0": + "integrity" "sha512-+2I0x2ZCAyiZOO/sb4yNLFmdwPBnyJ4PBkVTUMKMqBwYNA+lXSgOmoRXlJFazoyid9QPogRRKgKhVEodv181sA==" + "resolved" "https://registry.npmjs.org/hast-util-sanitize/-/hast-util-sanitize-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "xtend" "^4.0.0" + +"hast-util-to-html@^7.0.0": + "integrity" "sha512-yk2+1p3EJTEE9ZEUkgHsUSVhIpCsL/bvT8E5GzmWc+N1Po5gBw+0F8bo7dpxXR0nu0bQVxVZGX2lBGF21CmeDw==" + "resolved" "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-7.1.3.tgz" + "version" "7.1.3" + dependencies: + "ccount" "^1.0.0" + "comma-separated-tokens" "^1.0.0" + "hast-util-is-element" "^1.0.0" + "hast-util-whitespace" "^1.0.0" + "html-void-elements" "^1.0.0" + "property-information" "^5.0.0" + "space-separated-tokens" "^1.0.0" + "stringify-entities" "^3.0.1" + "unist-util-is" "^4.0.0" + "xtend" "^4.0.0" + +"hast-util-whitespace@^1.0.0": + "integrity" "sha512-I5GTdSfhYfAPNztx2xJRQpG8cuDSNt599/7YUn7Gx/WxNMsG+a835k97TDkFgk123cwjfwINaZknkKkphx/f2A==" + "resolved" "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-1.0.4.tgz" + "version" "1.0.4" + +"he@^1.1.0", "he@^1.2.0", "he@1.2.x": + "integrity" "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + "resolved" "https://registry.npmjs.org/he/-/he-1.2.0.tgz" + "version" "1.2.0" + +"hex-color-regex@^1.1.0": + "integrity" "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" + "resolved" "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz" + "version" "1.1.0" + +"highlight.js@^10.7.2": + "integrity" "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==" + "resolved" "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz" + "version" "10.7.3" + +"hmac-drbg@^1.0.1": + "integrity" "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=" + "resolved" "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "hash.js" "^1.0.3" + "minimalistic-assert" "^1.0.0" + "minimalistic-crypto-utils" "^1.0.1" + +"hogan.js@^3.0.2": + "integrity" "sha1-TNnhq9QpQUbnZ55B14mHMrAse/0=" + "resolved" "https://registry.npmjs.org/hogan.js/-/hogan.js-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "mkdirp" "0.3.0" + "nopt" "1.0.10" + +"hosted-git-info@^2.1.4": + "integrity" "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" + "resolved" "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" + "version" "2.8.9" + +"hosted-git-info@^4.0.1": + "integrity" "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==" + "resolved" "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "lru-cache" "^6.0.0" + +"hpack.js@^2.1.6": + "integrity" "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=" + "resolved" "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz" + "version" "2.1.6" + dependencies: + "inherits" "^2.0.1" + "obuf" "^1.0.0" + "readable-stream" "^2.0.1" + "wbuf" "^1.1.0" + +"hsl-regex@^1.0.0": + "integrity" "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=" + "resolved" "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz" + "version" "1.0.0" + +"hsla-regex@^1.0.0": + "integrity" "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=" + "resolved" "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz" + "version" "1.0.0" + +"html-encoding-sniffer@^1.0.2": + "integrity" "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==" + "resolved" "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "whatwg-encoding" "^1.0.1" + +"html-entities@^1.3.1", "html-entities@^1.4.0": + "integrity" "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==" + "resolved" "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz" + "version" "1.4.0" + +"html-entities@^2.3.2": + "integrity" "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==" + "resolved" "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz" + "version" "2.3.3" + +"html-escaper@^2.0.0": + "integrity" "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + "resolved" "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" + "version" "2.0.2" + +"html-minifier-terser@^6.0.2": + "integrity" "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==" + "resolved" "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" + "version" "6.1.0" + dependencies: + "camel-case" "^4.1.2" + "clean-css" "^5.2.2" + "commander" "^8.3.0" + "he" "^1.2.0" + "param-case" "^3.0.4" + "relateurl" "^0.2.7" + "terser" "^5.10.0" + +"html-minifier@^3.2.3": + "integrity" "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==" + "resolved" "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz" + "version" "3.5.21" + dependencies: + "camel-case" "3.0.x" + "clean-css" "4.2.x" + "commander" "2.17.x" + "he" "1.2.x" + "param-case" "2.1.x" + "relateurl" "0.2.x" + "uglify-js" "3.4.x" + +"html-tags@^2.0.0": + "integrity" "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=" + "resolved" "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz" + "version" "2.0.0" + +"html-tags@^3.1.0": + "integrity" "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==" + "resolved" "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz" + "version" "3.1.0" + +"html-void-elements@^1.0.0": + "integrity" "sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==" + "resolved" "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz" + "version" "1.0.5" + +"html-webpack-plugin@^5.5.0": + "integrity" "sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==" + "resolved" "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz" + "version" "5.5.0" + dependencies: + "@types/html-minifier-terser" "^6.0.0" + "html-minifier-terser" "^6.0.2" + "lodash" "^4.17.21" + "pretty-error" "^4.0.0" + "tapable" "^2.0.0" + +"htmlparser2@^6.1.0": + "integrity" "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==" + "resolved" "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz" + "version" "6.1.0" + dependencies: + "domelementtype" "^2.0.1" + "domhandler" "^4.0.0" + "domutils" "^2.5.2" + "entities" "^2.0.0" + +"http-cache-semantics@^4.0.0": + "integrity" "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" + "resolved" "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz" + "version" "4.1.0" + +"http-deceiver@^1.2.7": + "integrity" "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=" + "resolved" "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz" + "version" "1.2.7" + +"http-errors@~1.6.2": + "integrity" "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=" + "resolved" "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" + "version" "1.6.3" + dependencies: + "depd" "~1.1.2" + "inherits" "2.0.3" + "setprototypeof" "1.1.0" + "statuses" ">= 1.4.0 < 2" + +"http-errors@~1.7.2", "http-errors@1.7.2": + "integrity" "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==" + "resolved" "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz" + "version" "1.7.2" + dependencies: + "depd" "~1.1.2" + "inherits" "2.0.3" + "setprototypeof" "1.1.1" + "statuses" ">= 1.5.0 < 2" + "toidentifier" "1.0.0" + +"http-parser-js@>=0.5.1": + "integrity" "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==" + "resolved" "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz" + "version" "0.5.3" + +"http-proxy-middleware@^2.0.0": + "integrity" "sha512-1bloEwnrHMnCoO/Gcwbz7eSVvW50KPES01PecpagI+YLNLci4AcuKJrujW4Mc3sBLpFxMSlsLNHS5Nl/lvrTPA==" + "resolved" "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.3.tgz" + "version" "2.0.3" + dependencies: + "@types/http-proxy" "^1.17.8" + "http-proxy" "^1.18.1" + "is-glob" "^4.0.1" + "is-plain-obj" "^3.0.0" + "micromatch" "^4.0.2" + +"http-proxy-middleware@0.19.1": + "integrity" "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==" + "resolved" "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz" + "version" "0.19.1" + dependencies: + "http-proxy" "^1.17.0" + "is-glob" "^4.0.0" + "lodash" "^4.17.11" + "micromatch" "^3.1.10" + +"http-proxy@^1.17.0", "http-proxy@^1.18.1": + "integrity" "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==" + "resolved" "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz" + "version" "1.18.1" + dependencies: + "eventemitter3" "^4.0.0" + "follow-redirects" "^1.0.0" + "requires-port" "^1.0.0" + +"http-signature@~1.2.0": + "integrity" "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=" + "resolved" "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "assert-plus" "^1.0.0" + "jsprim" "^1.2.2" + "sshpk" "^1.7.0" + +"https-browserify@^1.0.0": + "integrity" "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" + "resolved" "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz" + "version" "1.0.0" + +"human-signals@^2.1.0": + "integrity" "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" + "resolved" "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" + "version" "2.1.0" + +"husky@^2.7.0": + "integrity" "sha512-LIi8zzT6PyFpcYKdvWRCn/8X+6SuG2TgYYMrM6ckEYhlp44UcEduVymZGIZNLiwOUjrEud+78w/AsAiqJA/kRg==" + "resolved" "https://registry.npmjs.org/husky/-/husky-2.7.0.tgz" + "version" "2.7.0" + dependencies: + "cosmiconfig" "^5.2.0" + "execa" "^1.0.0" + "find-up" "^3.0.0" + "get-stdin" "^7.0.0" + "is-ci" "^2.0.0" + "pkg-dir" "^4.1.0" + "please-upgrade-node" "^3.1.1" + "read-pkg" "^5.1.1" + "run-node" "^1.0.0" + "slash" "^3.0.0" + +"iconv-lite@^0.4.24", "iconv-lite@0.4.24": + "integrity" "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==" + "resolved" "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" + "version" "0.4.24" + dependencies: + "safer-buffer" ">= 2.1.2 < 3" + +"icss-replace-symbols@^1.1.0": + "integrity" "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=" + "resolved" "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz" + "version" "1.1.0" + +"icss-utils@^4.1.0": + "integrity" "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==" + "resolved" "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz" + "version" "4.1.1" + dependencies: + "postcss" "^7.0.14" + +"icss-utils@^5.0.0": + "integrity" "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==" + "resolved" "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz" + "version" "5.1.0" + +"ieee754@^1.1.13", "ieee754@^1.1.4": + "integrity" "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + "resolved" "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" + "version" "1.2.1" + +"iferr@^0.1.5": + "integrity" "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" + "resolved" "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz" + "version" "0.1.5" + +"ignore@^3.3.5": + "integrity" "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==" + "resolved" "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz" + "version" "3.3.10" + +"ignore@^4.0.3": + "integrity" "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" + "resolved" "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz" + "version" "4.0.6" + +"ignore@^5.2.0": + "integrity" "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==" + "resolved" "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz" + "version" "5.2.0" + +"immediate@^3.2.3": + "integrity" "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==" + "resolved" "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz" + "version" "3.3.0" + +"import-cwd@^2.0.0": + "integrity" "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=" + "resolved" "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "import-from" "^2.1.0" + +"import-fresh@^2.0.0": + "integrity" "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=" + "resolved" "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "caller-path" "^2.0.0" + "resolve-from" "^3.0.0" + +"import-fresh@^3.0.0", "import-fresh@^3.2.1": + "integrity" "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==" + "resolved" "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + "version" "3.3.0" + dependencies: + "parent-module" "^1.0.0" + "resolve-from" "^4.0.0" + +"import-from@^2.1.0": + "integrity" "sha1-M1238qev/VOqpHHUuAId7ja387E=" + "resolved" "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "resolve-from" "^3.0.0" + +"import-lazy@^2.1.0": + "integrity" "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=" + "resolved" "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz" + "version" "2.1.0" + +"import-local@^2.0.0": + "integrity" "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==" + "resolved" "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "pkg-dir" "^3.0.0" + "resolve-cwd" "^2.0.0" + +"import-local@^3.0.2": + "integrity" "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==" + "resolved" "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "pkg-dir" "^4.2.0" + "resolve-cwd" "^3.0.0" + +"imurmurhash@^0.1.4": + "integrity" "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + "resolved" "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + "version" "0.1.4" + +"indent-string@^2.1.0": + "integrity" "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=" + "resolved" "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "repeating" "^2.0.0" + +"indent-string@^3.0.0": + "integrity" "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=" + "resolved" "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz" + "version" "3.2.0" + +"indent-string@^4.0.0": + "integrity" "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" + "resolved" "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" + "version" "4.0.0" + +"indexes-of@^1.0.1": + "integrity" "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=" + "resolved" "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz" + "version" "1.0.1" + +"infer-owner@^1.0.3": + "integrity" "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" + "resolved" "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz" + "version" "1.0.4" + +"inflight@^1.0.4": + "integrity" "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=" + "resolved" "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + "version" "1.0.6" + dependencies: + "once" "^1.3.0" + "wrappy" "1" + +"inherits@^2.0.1", "inherits@^2.0.3", "inherits@^2.0.4", "inherits@~2.0.1", "inherits@~2.0.3", "inherits@2": + "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + "version" "2.0.4" + +"inherits@2.0.1": + "integrity" "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + "version" "2.0.1" + +"inherits@2.0.3": + "integrity" "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + "version" "2.0.3" + +"ini@^1.3.2", "ini@^1.3.5", "ini@~1.3.0": + "integrity" "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + "resolved" "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" + "version" "1.3.8" + +"ini@1.3.7": + "integrity" "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==" + "resolved" "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz" + "version" "1.3.7" + +"inquirer@^8.2.0": + "integrity" "sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ==" + "resolved" "https://registry.npmjs.org/inquirer/-/inquirer-8.2.0.tgz" + "version" "8.2.0" + dependencies: + "ansi-escapes" "^4.2.1" + "chalk" "^4.1.1" + "cli-cursor" "^3.1.0" + "cli-width" "^3.0.0" + "external-editor" "^3.0.3" + "figures" "^3.0.0" + "lodash" "^4.17.21" + "mute-stream" "0.0.8" + "ora" "^5.4.1" + "run-async" "^2.4.0" + "rxjs" "^7.2.0" + "string-width" "^4.1.0" + "strip-ansi" "^6.0.0" + "through" "^2.3.6" + +"internal-ip@^4.3.0": + "integrity" "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==" + "resolved" "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz" + "version" "4.3.0" + dependencies: + "default-gateway" "^4.2.0" + "ipaddr.js" "^1.9.0" + +"interpret@^1.0.0": + "integrity" "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" + "resolved" "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" + "version" "1.4.0" + +"interpret@^2.2.0": + "integrity" "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==" + "resolved" "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz" + "version" "2.2.0" + +"invariant@^2.2.4": + "integrity" "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==" + "resolved" "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz" + "version" "2.2.4" + dependencies: + "loose-envify" "^1.0.0" + +"ip-regex@^2.1.0": + "integrity" "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=" + "resolved" "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz" + "version" "2.1.0" + +"ip@^1.1.0", "ip@^1.1.5": + "integrity" "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + "resolved" "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz" + "version" "1.1.5" + +"ipaddr.js@^1.9.0": + "integrity" "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + "resolved" "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" + "version" "1.9.1" + +"ipaddr.js@^2.0.1": + "integrity" "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==" + "resolved" "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz" + "version" "2.0.1" + +"ipaddr.js@1.9.1": + "integrity" "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + "resolved" "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" + "version" "1.9.1" + +"is-absolute-url@^2.0.0": + "integrity" "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=" + "resolved" "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz" + "version" "2.1.0" + +"is-absolute-url@^3.0.3": + "integrity" "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==" + "resolved" "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz" + "version" "3.0.3" + +"is-absolute@^1.0.0": + "integrity" "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==" + "resolved" "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "is-relative" "^1.0.0" + "is-windows" "^1.0.1" + +"is-accessor-descriptor@^0.1.6": + "integrity" "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=" + "resolved" "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz" + "version" "0.1.6" + dependencies: + "kind-of" "^3.0.2" + +"is-accessor-descriptor@^1.0.0": + "integrity" "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==" + "resolved" "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "kind-of" "^6.0.0" + +"is-alphabetical@^1.0.0": + "integrity" "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==" + "resolved" "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz" + "version" "1.0.4" + +"is-alphanumerical@^1.0.0": + "integrity" "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==" + "resolved" "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz" + "version" "1.0.4" + dependencies: + "is-alphabetical" "^1.0.0" + "is-decimal" "^1.0.0" + +"is-arguments@^1.0.4": + "integrity" "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==" + "resolved" "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "call-bind" "^1.0.0" + +"is-arrayish@^0.2.1": + "integrity" "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + "resolved" "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + "version" "0.2.1" + +"is-arrayish@^0.3.1": + "integrity" "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + "resolved" "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz" + "version" "0.3.2" + +"is-bigint@^1.0.1": + "integrity" "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==" + "resolved" "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz" + "version" "1.0.2" + +"is-binary-path@^1.0.0": + "integrity" "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=" + "resolved" "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "binary-extensions" "^1.0.0" + +"is-binary-path@~2.1.0": + "integrity" "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==" + "resolved" "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "binary-extensions" "^2.0.0" + +"is-boolean-object@^1.1.0": + "integrity" "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==" + "resolved" "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz" + "version" "1.1.1" + dependencies: + "call-bind" "^1.0.2" + +"is-buffer@^1.1.5": + "integrity" "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + "resolved" "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz" + "version" "1.1.6" + +"is-buffer@^2.0.0": + "integrity" "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" + "resolved" "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz" + "version" "2.0.5" + +"is-callable@^1.1.3", "is-callable@^1.1.4", "is-callable@^1.2.3": + "integrity" "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==" + "resolved" "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz" + "version" "1.2.3" + +"is-ci@^2.0.0": + "integrity" "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==" + "resolved" "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "ci-info" "^2.0.0" + +"is-color-stop@^1.0.0": + "integrity" "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=" + "resolved" "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "css-color-names" "^0.0.4" + "hex-color-regex" "^1.1.0" + "hsl-regex" "^1.0.0" + "hsla-regex" "^1.0.0" + "rgb-regex" "^1.0.1" + "rgba-regex" "^1.0.0" + +"is-core-module@^2.2.0": + "integrity" "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==" + "resolved" "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz" + "version" "2.4.0" + dependencies: + "has" "^1.0.3" + +"is-data-descriptor@^0.1.4": + "integrity" "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=" + "resolved" "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz" + "version" "0.1.4" + dependencies: + "kind-of" "^3.0.2" + +"is-data-descriptor@^1.0.0": + "integrity" "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==" + "resolved" "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "kind-of" "^6.0.0" + +"is-date-object@^1.0.1": + "integrity" "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==" + "resolved" "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz" + "version" "1.0.4" + +"is-decimal@^1.0.0": + "integrity" "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==" + "resolved" "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz" + "version" "1.0.4" + +"is-descriptor@^0.1.0": + "integrity" "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==" + "resolved" "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz" + "version" "0.1.6" + dependencies: + "is-accessor-descriptor" "^0.1.6" + "is-data-descriptor" "^0.1.4" + "kind-of" "^5.0.0" + +"is-descriptor@^1.0.0", "is-descriptor@^1.0.2": + "integrity" "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==" + "resolved" "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "is-accessor-descriptor" "^1.0.0" + "is-data-descriptor" "^1.0.0" + "kind-of" "^6.0.2" + +"is-directory@^0.3.1": + "integrity" "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=" + "resolved" "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz" + "version" "0.3.1" + +"is-docker@^2.0.0", "is-docker@^2.1.1": + "integrity" "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" + "resolved" "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" + "version" "2.2.1" + +"is-extendable@^0.1.0", "is-extendable@^0.1.1": + "integrity" "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + "resolved" "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" + "version" "0.1.1" + +"is-extendable@^0.1.1": + "integrity" "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + "resolved" "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" + "version" "0.1.1" + +"is-extendable@^1.0.1": + "integrity" "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==" + "resolved" "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "is-plain-object" "^2.0.4" + +"is-extglob@^2.1.0", "is-extglob@^2.1.1": + "integrity" "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + "resolved" "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + "version" "2.1.1" + +"is-finite@^1.0.0": + "integrity" "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==" + "resolved" "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz" + "version" "1.1.0" + +"is-fullwidth-code-point@^1.0.0": + "integrity" "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=" + "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "number-is-nan" "^1.0.0" + +"is-fullwidth-code-point@^2.0.0": + "integrity" "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" + "version" "2.0.0" + +"is-fullwidth-code-point@^3.0.0": + "integrity" "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + "version" "3.0.0" + +"is-generator-fn@^2.0.0": + "integrity" "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==" + "resolved" "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz" + "version" "2.1.0" + +"is-glob@^3.1.0": + "integrity" "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=" + "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "is-extglob" "^2.1.0" + +"is-glob@^4.0.0", "is-glob@^4.0.1", "is-glob@^4.0.3", "is-glob@~4.0.1": + "integrity" "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==" + "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + "version" "4.0.3" + dependencies: + "is-extglob" "^2.1.1" + +"is-hexadecimal@^1.0.0": + "integrity" "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==" + "resolved" "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz" + "version" "1.0.4" + +"is-installed-globally@^0.3.1": + "integrity" "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==" + "resolved" "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz" + "version" "0.3.2" + dependencies: + "global-dirs" "^2.0.1" + "is-path-inside" "^3.0.1" + +"is-interactive@^1.0.0": + "integrity" "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" + "resolved" "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz" + "version" "1.0.0" + +"is-negated-glob@^1.0.0": + "integrity" "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=" + "resolved" "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz" + "version" "1.0.0" + +"is-negative-zero@^2.0.1": + "integrity" "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" + "resolved" "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz" + "version" "2.0.1" + +"is-npm@^4.0.0": + "integrity" "sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==" + "resolved" "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz" + "version" "4.0.0" + +"is-number-object@^1.0.4": + "integrity" "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==" + "resolved" "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz" + "version" "1.0.5" + +"is-number@^3.0.0": + "integrity" "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=" + "resolved" "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "kind-of" "^3.0.2" + +"is-number@^7.0.0": + "integrity" "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + "resolved" "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + "version" "7.0.0" + +"is-obj@^1.0.1": + "integrity" "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" + "resolved" "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz" + "version" "1.0.1" + +"is-obj@^2.0.0": + "integrity" "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" + "resolved" "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz" + "version" "2.0.0" + +"is-observable@^1.1.0": + "integrity" "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==" + "resolved" "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "symbol-observable" "^1.1.0" + +"is-path-cwd@^1.0.0": + "integrity" "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=" + "resolved" "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz" + "version" "1.0.0" + +"is-path-cwd@^2.0.0": + "integrity" "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==" + "resolved" "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz" + "version" "2.2.0" + +"is-path-cwd@^2.2.0": + "integrity" "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==" + "resolved" "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz" + "version" "2.2.0" + +"is-path-in-cwd@^1.0.0": + "integrity" "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==" + "resolved" "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "is-path-inside" "^1.0.0" + +"is-path-in-cwd@^2.0.0": + "integrity" "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==" + "resolved" "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "is-path-inside" "^2.1.0" + +"is-path-inside@^1.0.0": + "integrity" "sha1-jvW33lBDej/cprToZe96pVy0gDY=" + "resolved" "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "path-is-inside" "^1.0.1" + +"is-path-inside@^2.1.0": + "integrity" "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==" + "resolved" "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "path-is-inside" "^1.0.2" + +"is-path-inside@^3.0.1": + "integrity" "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" + "resolved" "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" + "version" "3.0.3" + +"is-path-inside@^3.0.2": + "integrity" "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" + "resolved" "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" + "version" "3.0.3" + +"is-plain-obj@^1.0.0", "is-plain-obj@^1.1.0": + "integrity" "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" + "resolved" "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz" + "version" "1.1.0" + +"is-plain-obj@^2.0.0": + "integrity" "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" + "resolved" "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz" + "version" "2.1.0" + +"is-plain-obj@^3.0.0": + "integrity" "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==" + "resolved" "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz" + "version" "3.0.0" + +"is-plain-object@^2.0.3", "is-plain-object@^2.0.4": + "integrity" "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==" + "resolved" "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" + "version" "2.0.4" + dependencies: + "isobject" "^3.0.1" + +"is-promise@^2.1.0": + "integrity" "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" + "resolved" "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz" + "version" "2.2.2" + +"is-regex@^1.0.4", "is-regex@^1.1.3": + "integrity" "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==" + "resolved" "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz" + "version" "1.1.3" + dependencies: + "call-bind" "^1.0.2" + "has-symbols" "^1.0.2" + +"is-regexp@^1.0.0": + "integrity" "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=" + "resolved" "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz" + "version" "1.0.0" + +"is-relative@^1.0.0": + "integrity" "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==" + "resolved" "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "is-unc-path" "^1.0.0" + +"is-resolvable@^1.0.0": + "integrity" "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" + "resolved" "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz" + "version" "1.1.0" + +"is-ssh@^1.3.0": + "integrity" "sha512-NKzJmQzJfEEma3w5cJNcUMxoXfDjz0Zj0eyCalHn2E6VOwlzjZo0yuO2fcBSf8zhFuVCL/82/r5gRcoi6aEPVQ==" + "resolved" "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.3.tgz" + "version" "1.3.3" + dependencies: + "protocols" "^1.1.0" + +"is-stream@^1.1.0": + "integrity" "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" + "version" "1.1.0" + +"is-stream@^2.0.0": + "integrity" "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" + "version" "2.0.1" + +"is-string@^1.0.5", "is-string@^1.0.6": + "integrity" "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==" + "resolved" "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz" + "version" "1.0.6" + +"is-symbol@^1.0.2", "is-symbol@^1.0.3": + "integrity" "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==" + "resolved" "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" + "version" "1.0.4" + dependencies: + "has-symbols" "^1.0.2" + +"is-text-path@^1.0.1": + "integrity" "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=" + "resolved" "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "text-extensions" "^1.0.0" + +"is-typedarray@^1.0.0", "is-typedarray@~1.0.0": + "integrity" "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + "resolved" "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" + "version" "1.0.0" + +"is-unc-path@^1.0.0": + "integrity" "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==" + "resolved" "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "unc-path-regex" "^0.1.2" + +"is-unicode-supported@^0.1.0": + "integrity" "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" + "resolved" "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz" + "version" "0.1.0" + +"is-utf8@^0.2.0", "is-utf8@^0.2.1": + "integrity" "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" + "resolved" "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz" + "version" "0.2.1" + +"is-valid-glob@^1.0.0": + "integrity" "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=" + "resolved" "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz" + "version" "1.0.0" + +"is-windows@^1.0.1", "is-windows@^1.0.2": + "integrity" "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + "resolved" "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz" + "version" "1.0.2" + +"is-wsl@^1.1.0": + "integrity" "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + "resolved" "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz" + "version" "1.1.0" + +"is-wsl@^2.2.0": + "integrity" "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==" + "resolved" "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" + "version" "2.2.0" + dependencies: + "is-docker" "^2.0.0" + +"is-yarn-global@^0.3.0": + "integrity" "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==" + "resolved" "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz" + "version" "0.3.0" + +"isarray@^1.0.0", "isarray@~1.0.0", "isarray@1.0.0": + "integrity" "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "resolved" "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + "version" "1.0.0" + +"isarray@^2.0.1": + "integrity" "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + "resolved" "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" + "version" "2.0.5" + +"isarray@0.0.1": + "integrity" "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + "resolved" "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + "version" "0.0.1" + +"isexe@^2.0.0": + "integrity" "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + "resolved" "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + "version" "2.0.0" + +"isobject@^2.0.0": + "integrity" "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=" + "resolved" "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "isarray" "1.0.0" + +"isobject@^3.0.0", "isobject@^3.0.1": + "integrity" "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + "resolved" "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" + "version" "3.0.1" + +"isstream@~0.1.2": + "integrity" "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + "resolved" "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" + "version" "0.1.2" + +"istanbul-lib-coverage@^2.0.2", "istanbul-lib-coverage@^2.0.5": + "integrity" "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==" + "resolved" "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz" + "version" "2.0.5" + +"istanbul-lib-instrument@^3.0.1", "istanbul-lib-instrument@^3.3.0": + "integrity" "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==" + "resolved" "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz" + "version" "3.3.0" + dependencies: + "@babel/generator" "^7.4.0" + "@babel/parser" "^7.4.3" + "@babel/template" "^7.4.0" + "@babel/traverse" "^7.4.3" + "@babel/types" "^7.4.0" + "istanbul-lib-coverage" "^2.0.5" + "semver" "^6.0.0" + +"istanbul-lib-report@^2.0.4": + "integrity" "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==" + "resolved" "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz" + "version" "2.0.8" + dependencies: + "istanbul-lib-coverage" "^2.0.5" + "make-dir" "^2.1.0" + "supports-color" "^6.1.0" + +"istanbul-lib-source-maps@^3.0.1": + "integrity" "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==" + "resolved" "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz" + "version" "3.0.6" + dependencies: + "debug" "^4.1.1" + "istanbul-lib-coverage" "^2.0.5" + "make-dir" "^2.1.0" + "rimraf" "^2.6.3" + "source-map" "^0.6.1" + +"istanbul-reports@^2.2.6": + "integrity" "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==" + "resolved" "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz" + "version" "2.2.7" + dependencies: + "html-escaper" "^2.0.0" + +"javascript-stringify@^1.6.0": + "integrity" "sha1-FC0RHzpuPa6PSpr9d9RYVbWpzOM=" + "resolved" "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-1.6.0.tgz" + "version" "1.6.0" + +"javascript-stringify@^2.0.1": + "integrity" "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==" + "resolved" "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz" + "version" "2.1.0" + +"jest-changed-files@^24.9.0": + "integrity" "sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg==" + "resolved" "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.9.0.tgz" + "version" "24.9.0" + dependencies: + "@jest/types" "^24.9.0" + "execa" "^1.0.0" + "throat" "^4.0.0" -async-each@^1.0.1: - version "1.0.3" - resolved "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz" +"jest-cli@^24.9.0": + "integrity" "sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg==" + "resolved" "https://registry.npmjs.org/jest-cli/-/jest-cli-24.9.0.tgz" + "version" "24.9.0" + dependencies: + "@jest/core" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + "chalk" "^2.0.1" + "exit" "^0.1.2" + "import-local" "^2.0.0" + "is-ci" "^2.0.0" + "jest-config" "^24.9.0" + "jest-util" "^24.9.0" + "jest-validate" "^24.9.0" + "prompts" "^2.0.1" + "realpath-native" "^1.1.0" + "yargs" "^13.3.0" + +"jest-config@^24.9.0": + "integrity" "sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ==" + "resolved" "https://registry.npmjs.org/jest-config/-/jest-config-24.9.0.tgz" + "version" "24.9.0" + dependencies: + "@babel/core" "^7.1.0" + "@jest/test-sequencer" "^24.9.0" + "@jest/types" "^24.9.0" + "babel-jest" "^24.9.0" + "chalk" "^2.0.1" + "glob" "^7.1.1" + "jest-environment-jsdom" "^24.9.0" + "jest-environment-node" "^24.9.0" + "jest-get-type" "^24.9.0" + "jest-jasmine2" "^24.9.0" + "jest-regex-util" "^24.3.0" + "jest-resolve" "^24.9.0" + "jest-util" "^24.9.0" + "jest-validate" "^24.9.0" + "micromatch" "^3.1.10" + "pretty-format" "^24.9.0" + "realpath-native" "^1.1.0" + +"jest-diff@^24.9.0": + "integrity" "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==" + "resolved" "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz" + "version" "24.9.0" + dependencies: + "chalk" "^2.0.1" + "diff-sequences" "^24.9.0" + "jest-get-type" "^24.9.0" + "pretty-format" "^24.9.0" + +"jest-docblock@^24.3.0": + "integrity" "sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA==" + "resolved" "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.9.0.tgz" + "version" "24.9.0" + dependencies: + "detect-newline" "^2.1.0" + +"jest-each@^24.9.0": + "integrity" "sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog==" + "resolved" "https://registry.npmjs.org/jest-each/-/jest-each-24.9.0.tgz" + "version" "24.9.0" + dependencies: + "@jest/types" "^24.9.0" + "chalk" "^2.0.1" + "jest-get-type" "^24.9.0" + "jest-util" "^24.9.0" + "pretty-format" "^24.9.0" -async-limiter@~1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz" +"jest-environment-jsdom@^24.9.0": + "integrity" "sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA==" + "resolved" "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz" + "version" "24.9.0" + dependencies: + "@jest/environment" "^24.9.0" + "@jest/fake-timers" "^24.9.0" + "@jest/types" "^24.9.0" + "jest-mock" "^24.9.0" + "jest-util" "^24.9.0" + "jsdom" "^11.5.1" -async@^2.6.2: - version "2.6.3" - resolved "https://registry.npmjs.org/async/-/async-2.6.3.tgz" +"jest-environment-node@^24.9.0": + "integrity" "sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==" + "resolved" "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz" + "version" "24.9.0" dependencies: - lodash "^4.17.14" + "@jest/environment" "^24.9.0" + "@jest/fake-timers" "^24.9.0" + "@jest/types" "^24.9.0" + "jest-mock" "^24.9.0" + "jest-util" "^24.9.0" -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" +"jest-get-type@^24.9.0": + "integrity" "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==" + "resolved" "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz" + "version" "24.9.0" -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz" +"jest-haste-map@^24.9.0": + "integrity" "sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==" + "resolved" "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz" + "version" "24.9.0" + dependencies: + "@jest/types" "^24.9.0" + "anymatch" "^2.0.0" + "fb-watchman" "^2.0.0" + "graceful-fs" "^4.1.15" + "invariant" "^2.2.4" + "jest-serializer" "^24.9.0" + "jest-util" "^24.9.0" + "jest-worker" "^24.9.0" + "micromatch" "^3.1.10" + "sane" "^4.0.3" + "walker" "^1.0.7" + optionalDependencies: + "fsevents" "^1.2.7" -autocomplete.js@0.36.0: - version "0.36.0" - resolved "https://registry.npmjs.org/autocomplete.js/-/autocomplete.js-0.36.0.tgz" +"jest-jasmine2@^24.9.0": + "integrity" "sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw==" + "resolved" "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz" + "version" "24.9.0" + dependencies: + "@babel/traverse" "^7.1.0" + "@jest/environment" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + "chalk" "^2.0.1" + "co" "^4.6.0" + "expect" "^24.9.0" + "is-generator-fn" "^2.0.0" + "jest-each" "^24.9.0" + "jest-matcher-utils" "^24.9.0" + "jest-message-util" "^24.9.0" + "jest-runtime" "^24.9.0" + "jest-snapshot" "^24.9.0" + "jest-util" "^24.9.0" + "pretty-format" "^24.9.0" + "throat" "^4.0.0" + +"jest-leak-detector@^24.9.0": + "integrity" "sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA==" + "resolved" "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz" + "version" "24.9.0" + dependencies: + "jest-get-type" "^24.9.0" + "pretty-format" "^24.9.0" + +"jest-matcher-utils@^24.9.0": + "integrity" "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==" + "resolved" "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz" + "version" "24.9.0" + dependencies: + "chalk" "^2.0.1" + "jest-diff" "^24.9.0" + "jest-get-type" "^24.9.0" + "pretty-format" "^24.9.0" + +"jest-message-util@^24.9.0": + "integrity" "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==" + "resolved" "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz" + "version" "24.9.0" dependencies: - immediate "^3.2.3" + "@babel/code-frame" "^7.0.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/stack-utils" "^1.0.1" + "chalk" "^2.0.1" + "micromatch" "^3.1.10" + "slash" "^2.0.0" + "stack-utils" "^1.0.1" -autoprefixer@^9.5.1: - version "9.8.6" - resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz" +"jest-mock@^24.9.0": + "integrity" "sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==" + "resolved" "https://registry.npmjs.org/jest-mock/-/jest-mock-24.9.0.tgz" + "version" "24.9.0" dependencies: - browserslist "^4.12.0" - caniuse-lite "^1.0.30001109" - colorette "^1.2.1" - normalize-range "^0.1.2" - num2fraction "^1.2.2" - postcss "^7.0.32" - postcss-value-parser "^4.1.0" + "@jest/types" "^24.9.0" -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz" +"jest-pnp-resolver@^1.2.1": + "integrity" "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==" + "resolved" "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz" + "version" "1.2.2" -aws4@^1.8.0: - version "1.11.0" - resolved "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz" +"jest-regex-util@^24.3.0", "jest-regex-util@^24.9.0": + "integrity" "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==" + "resolved" "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz" + "version" "24.9.0" -babel-jest@^24.9.0: - version "24.9.0" - resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz" +"jest-resolve-dependencies@^24.9.0": + "integrity" "sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g==" + "resolved" "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz" + "version" "24.9.0" dependencies: - "@jest/transform" "^24.9.0" "@jest/types" "^24.9.0" - "@types/babel__core" "^7.1.0" - babel-plugin-istanbul "^5.1.0" - babel-preset-jest "^24.9.0" - chalk "^2.4.2" - slash "^2.0.0" + "jest-regex-util" "^24.3.0" + "jest-snapshot" "^24.9.0" -babel-loader@^8.0.4, babel-loader@^8.2.3: - version "8.2.3" - resolved "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz" +"jest-resolve@*", "jest-resolve@^24.9.0": + "integrity" "sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==" + "resolved" "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz" + "version" "24.9.0" dependencies: - find-cache-dir "^3.3.1" - loader-utils "^1.4.0" - make-dir "^3.1.0" - schema-utils "^2.6.5" + "@jest/types" "^24.9.0" + "browser-resolve" "^1.11.3" + "chalk" "^2.0.1" + "jest-pnp-resolver" "^1.2.1" + "realpath-native" "^1.1.0" -babel-plugin-dynamic-import-node@^2.3.3: - version "2.3.3" - resolved "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz" +"jest-runner@^24.9.0": + "integrity" "sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg==" + "resolved" "https://registry.npmjs.org/jest-runner/-/jest-runner-24.9.0.tgz" + "version" "24.9.0" dependencies: - object.assign "^4.1.0" - -babel-plugin-istanbul@^5.1.0: - version "5.2.0" - resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz" + "@jest/console" "^24.7.1" + "@jest/environment" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + "chalk" "^2.4.2" + "exit" "^0.1.2" + "graceful-fs" "^4.1.15" + "jest-config" "^24.9.0" + "jest-docblock" "^24.3.0" + "jest-haste-map" "^24.9.0" + "jest-jasmine2" "^24.9.0" + "jest-leak-detector" "^24.9.0" + "jest-message-util" "^24.9.0" + "jest-resolve" "^24.9.0" + "jest-runtime" "^24.9.0" + "jest-util" "^24.9.0" + "jest-worker" "^24.6.0" + "source-map-support" "^0.5.6" + "throat" "^4.0.0" + +"jest-runtime@^24.9.0": + "integrity" "sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw==" + "resolved" "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.9.0.tgz" + "version" "24.9.0" dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - find-up "^3.0.0" - istanbul-lib-instrument "^3.3.0" - test-exclude "^5.2.3" - -babel-plugin-jest-hoist@^24.9.0: - version "24.9.0" - resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz" + "@jest/console" "^24.7.1" + "@jest/environment" "^24.9.0" + "@jest/source-map" "^24.3.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/yargs" "^13.0.0" + "chalk" "^2.0.1" + "exit" "^0.1.2" + "glob" "^7.1.3" + "graceful-fs" "^4.1.15" + "jest-config" "^24.9.0" + "jest-haste-map" "^24.9.0" + "jest-message-util" "^24.9.0" + "jest-mock" "^24.9.0" + "jest-regex-util" "^24.3.0" + "jest-resolve" "^24.9.0" + "jest-snapshot" "^24.9.0" + "jest-util" "^24.9.0" + "jest-validate" "^24.9.0" + "realpath-native" "^1.1.0" + "slash" "^2.0.0" + "strip-bom" "^3.0.0" + "yargs" "^13.3.0" + +"jest-serializer@^24.9.0": + "integrity" "sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==" + "resolved" "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.9.0.tgz" + "version" "24.9.0" + +"jest-snapshot@^24.9.0": + "integrity" "sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew==" + "resolved" "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.9.0.tgz" + "version" "24.9.0" dependencies: - "@types/babel__traverse" "^7.0.6" - -babel-plugin-polyfill-corejs2@^0.3.0: - version "0.3.1" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz" + "@babel/types" "^7.0.0" + "@jest/types" "^24.9.0" + "chalk" "^2.0.1" + "expect" "^24.9.0" + "jest-diff" "^24.9.0" + "jest-get-type" "^24.9.0" + "jest-matcher-utils" "^24.9.0" + "jest-message-util" "^24.9.0" + "jest-resolve" "^24.9.0" + "mkdirp" "^0.5.1" + "natural-compare" "^1.4.0" + "pretty-format" "^24.9.0" + "semver" "^6.2.0" + +"jest-util@^24.9.0": + "integrity" "sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==" + "resolved" "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz" + "version" "24.9.0" dependencies: - "@babel/compat-data" "^7.13.11" - "@babel/helper-define-polyfill-provider" "^0.3.1" - semver "^6.1.1" - -babel-plugin-polyfill-corejs3@^0.5.0: - version "0.5.2" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz" + "@jest/console" "^24.9.0" + "@jest/fake-timers" "^24.9.0" + "@jest/source-map" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + "callsites" "^3.0.0" + "chalk" "^2.0.1" + "graceful-fs" "^4.1.15" + "is-ci" "^2.0.0" + "mkdirp" "^0.5.1" + "slash" "^2.0.0" + "source-map" "^0.6.0" + +"jest-validate@^24.9.0": + "integrity" "sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==" + "resolved" "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz" + "version" "24.9.0" dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.1" - core-js-compat "^3.21.0" + "@jest/types" "^24.9.0" + "camelcase" "^5.3.1" + "chalk" "^2.0.1" + "jest-get-type" "^24.9.0" + "leven" "^3.1.0" + "pretty-format" "^24.9.0" -babel-plugin-polyfill-regenerator@^0.3.0: - version "0.3.1" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz" +"jest-watcher@^24.9.0": + "integrity" "sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw==" + "resolved" "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.9.0.tgz" + "version" "24.9.0" dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.1" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/yargs" "^13.0.0" + "ansi-escapes" "^3.0.0" + "chalk" "^2.0.1" + "jest-util" "^24.9.0" + "string-length" "^2.0.0" -babel-preset-jest@^24.9.0: - version "24.9.0" - resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz" +"jest-worker@^24.6.0", "jest-worker@^24.9.0": + "integrity" "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==" + "resolved" "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz" + "version" "24.9.0" dependencies: - "@babel/plugin-syntax-object-rest-spread" "^7.0.0" - babel-plugin-jest-hoist "^24.9.0" - -babelify@^10.0.0: - version "10.0.0" - resolved "https://registry.npmjs.org/babelify/-/babelify-10.0.0.tgz" + "merge-stream" "^2.0.0" + "supports-color" "^6.1.0" -backbone-undo@^0.2.5: - version "0.2.5" - resolved "https://registry.npmjs.org/backbone-undo/-/backbone-undo-0.2.5.tgz" +"jest-worker@^27.4.5": + "integrity" "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==" + "resolved" "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" + "version" "27.5.1" dependencies: - backbone "1.0.0 - 1.2.1" - underscore "1.4.4 - 1.8.3" - -"backbone@1.0.0 - 1.2.1", backbone@1.3.3: - version "1.3.3" - resolved "https://registry.npmjs.org/backbone/-/backbone-1.3.3.tgz" - dependencies: - underscore ">=1.8.3" - -bail@^1.0.0: - version "1.0.5" - resolved "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz" + "@types/node" "*" + "merge-stream" "^2.0.0" + "supports-color" "^8.0.0" + +"jest@^24.9.0": + "integrity" "sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw==" + "resolved" "https://registry.npmjs.org/jest/-/jest-24.9.0.tgz" + "version" "24.9.0" + dependencies: + "import-local" "^2.0.0" + "jest-cli" "^24.9.0" + +"js-tokens@^3.0.0 || ^4.0.0", "js-tokens@^4.0.0": + "integrity" "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "resolved" "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + "version" "4.0.0" + +"js-yaml@^3.10.0", "js-yaml@^3.13.1": + "integrity" "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==" + "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" + "version" "3.14.1" + dependencies: + "argparse" "^1.0.7" + "esprima" "^4.0.0" + +"js-yaml@^4.1.0": + "integrity" "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==" + "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "argparse" "^2.0.1" + +"jsbn@~0.1.0": + "integrity" "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + "resolved" "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz" + "version" "0.1.1" + +"jsdom@^11.5.1": + "integrity" "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==" + "resolved" "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz" + "version" "11.12.0" + dependencies: + "abab" "^2.0.0" + "acorn" "^5.5.3" + "acorn-globals" "^4.1.0" + "array-equal" "^1.0.0" + "cssom" ">= 0.3.2 < 0.4.0" + "cssstyle" "^1.0.0" + "data-urls" "^1.0.0" + "domexception" "^1.0.1" + "escodegen" "^1.9.1" + "html-encoding-sniffer" "^1.0.2" + "left-pad" "^1.3.0" + "nwsapi" "^2.0.7" + "parse5" "4.0.0" + "pn" "^1.1.0" + "request" "^2.87.0" + "request-promise-native" "^1.0.5" + "sax" "^1.2.4" + "symbol-tree" "^3.2.2" + "tough-cookie" "^2.3.4" + "w3c-hr-time" "^1.0.1" + "webidl-conversions" "^4.0.2" + "whatwg-encoding" "^1.0.3" + "whatwg-mimetype" "^2.1.0" + "whatwg-url" "^6.4.1" + "ws" "^5.2.0" + "xml-name-validator" "^3.0.0" + +"jsesc@^2.5.1": + "integrity" "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" + "version" "2.5.2" + +"jsesc@~0.5.0": + "integrity" "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" + "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" + "version" "0.5.0" + +"json-buffer@3.0.0": + "integrity" "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" + "resolved" "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz" + "version" "3.0.0" + +"json-parse-better-errors@^1.0.1", "json-parse-better-errors@^1.0.2": + "integrity" "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + "resolved" "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz" + "version" "1.0.2" + +"json-parse-even-better-errors@^2.3.0": + "integrity" "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + "resolved" "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + "version" "2.3.1" + +"json-schema-traverse@^0.4.1": + "integrity" "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + "version" "0.4.1" + +"json-schema-traverse@^1.0.0": + "integrity" "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" + "version" "1.0.0" + +"json-schema@0.2.3": + "integrity" "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + "resolved" "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz" + "version" "0.2.3" + +"json-stable-stringify-without-jsonify@^1.0.1": + "integrity" "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" + "resolved" "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" + "version" "1.0.1" + +"json-stringify-safe@^5.0.1", "json-stringify-safe@~5.0.1": + "integrity" "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + "resolved" "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" + "version" "5.0.1" + +"json3@^3.3.3": + "integrity" "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==" + "resolved" "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz" + "version" "3.3.3" + +"json5@^0.5.0": + "integrity" "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" + "resolved" "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz" + "version" "0.5.1" + +"json5@^1.0.1": + "integrity" "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==" + "resolved" "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "minimist" "^1.2.0" + +"json5@^2.1.2": + "integrity" "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==" + "resolved" "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz" + "version" "2.2.0" + dependencies: + "minimist" "^1.2.5" + +"jsonfile@^4.0.0": + "integrity" "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=" + "resolved" "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" + "version" "4.0.0" + optionalDependencies: + "graceful-fs" "^4.1.6" -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" - -base64-js@^1.0.2, base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.npmjs.org/base/-/base-0.11.2.tgz" - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -batch@0.6.1: - version "0.6.1" - resolved "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz" - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz" - dependencies: - tweetnacl "^0.14.3" - -big.js@^3.1.3: - version "3.2.0" - resolved "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz" - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" - -binary-extensions@^1.0.0: - version "1.13.1" - resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz" - -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" - -bindings@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" - dependencies: - file-uri-to-path "1.0.0" - -bl@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" - dependencies: - buffer "^5.5.0" - inherits "^2.0.4" - readable-stream "^3.4.0" - -bluebird@^3.1.1, bluebird@^3.5.5, bluebird@^3.7.2: - version "3.7.2" - resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" - -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" - -bn.js@^5.0.0, bn.js@^5.1.1: - version "5.2.0" - resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz" - -body-parser@1.19.0: - version "1.19.0" - resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz" - dependencies: - bytes "3.1.0" - content-type "~1.0.4" - debug "2.6.9" - depd "~1.1.2" - http-errors "1.7.2" - iconv-lite "0.4.24" - on-finished "~2.3.0" - qs "6.7.0" - raw-body "2.4.0" - type-is "~1.6.17" - -body@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/body/-/body-5.1.0.tgz" - dependencies: - continuable-cache "^0.3.1" - error "^7.0.0" - raw-body "~1.1.0" - safe-json-parse "~1.0.1" - -bonjour@^3.5.0: - version "3.5.0" - resolved "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz" - dependencies: - array-flatten "^2.1.0" - deep-equal "^1.0.1" - dns-equal "^1.0.0" - dns-txt "^2.0.2" - multicast-dns "^6.0.1" - multicast-dns-service-types "^1.1.0" - -boolbase@^1.0.0, boolbase@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" - -boxen@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz" - dependencies: - ansi-align "^3.0.0" - camelcase "^5.3.1" - chalk "^3.0.0" - cli-boxes "^2.2.0" - string-width "^4.1.0" - term-size "^2.1.0" - type-fest "^0.8.1" - widest-line "^3.1.0" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^2.3.1, braces@^2.3.2: - version "2.3.2" - resolved "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz" - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@^3.0.1, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - dependencies: - fill-range "^7.0.1" - -brorand@^1.0.1, brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz" - -browser-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz" - -browser-resolve@^1.11.3, browser-resolve@^1.7.0: - version "1.11.3" - resolved "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz" - dependencies: - resolve "1.1.7" - -browserify-aes@^1.0.0, browserify-aes@^1.0.4: - version "1.2.0" - resolved "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz" - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -browserify-cipher@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz" - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz" - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: - version "4.1.0" - resolved "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz" - dependencies: - bn.js "^5.0.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.2.1" - resolved "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz" - dependencies: - bn.js "^5.1.1" - browserify-rsa "^4.0.1" - create-hash "^1.2.0" - create-hmac "^1.1.7" - elliptic "^6.5.3" - inherits "^2.0.4" - parse-asn1 "^5.1.5" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz" - dependencies: - pako "~1.0.5" - -browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.17.5, browserslist@^4.19.1: - version "4.19.3" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.19.3.tgz" - dependencies: - caniuse-lite "^1.0.30001312" - electron-to-chromium "^1.4.71" - escalade "^3.1.1" - node-releases "^2.0.2" - picocolors "^1.0.0" - -bser@2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" - dependencies: - node-int64 "^0.4.0" - -buffer-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz" - -buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz" - -buffer-indexof@^1.0.0: - version "1.1.1" - resolved "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz" - -buffer-json@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/buffer-json/-/buffer-json-2.0.0.tgz" - -buffer-shims@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz" - -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz" - -buffer@^4.3.0: - version "4.9.2" - resolved "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz" - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - -buffer@^5.5.0: - version "5.7.1" - resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz" - -bytes@1: - version "1.0.0" - resolved "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz" - -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz" - -bytes@3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz" - -cac@^6.5.6: - version "6.7.3" - resolved "https://registry.npmjs.org/cac/-/cac-6.7.3.tgz" - -cacache@^12.0.2, cacache@^12.0.3: - version "12.0.4" - resolved "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz" - dependencies: - bluebird "^3.5.5" - chownr "^1.1.1" - figgy-pudding "^3.5.1" - glob "^7.1.4" - graceful-fs "^4.1.15" - infer-owner "^1.0.3" - lru-cache "^5.1.1" - mississippi "^3.0.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.3" - ssri "^6.0.1" - unique-filename "^1.1.1" - y18n "^4.0.0" - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz" - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -cache-loader@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/cache-loader/-/cache-loader-3.0.1.tgz" - dependencies: - buffer-json "^2.0.0" - find-cache-dir "^2.1.0" - loader-utils "^1.2.3" - mkdirp "^0.5.1" - neo-async "^2.6.1" - schema-utils "^1.0.0" - -cacheable-request@^6.0.0: - version "6.1.0" - resolved "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz" - dependencies: - clone-response "^1.0.2" - get-stream "^5.1.0" - http-cache-semantics "^4.0.0" - keyv "^3.0.0" - lowercase-keys "^2.0.0" - normalize-url "^4.1.0" - responselike "^1.0.2" - -cached-path-relative@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz" - -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -call-me-maybe@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz" - -caller-callsite@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz" - dependencies: - callsites "^2.0.0" - -caller-path@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz" - dependencies: - caller-callsite "^2.0.0" - -callsites@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" - -camel-case@3.0.x: - version "3.0.0" - resolved "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz" - dependencies: - no-case "^2.2.0" - upper-case "^1.1.1" - -camel-case@^4.1.2: - version "4.1.2" - resolved "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz" - dependencies: - pascal-case "^3.1.2" - tslib "^2.0.3" - -camelcase-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz" - dependencies: - camelcase "^2.0.0" - map-obj "^1.0.0" - -camelcase-keys@^6.2.2: - version "6.2.2" - resolved "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz" - dependencies: - camelcase "^5.3.1" - map-obj "^4.0.0" - quick-lru "^4.0.1" - -camelcase@^2.0.0: - version "2.1.1" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz" - -camelcase@^5.0.0, camelcase@^5.2.0, camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" - -camelcase@^6.0.0: - version "6.2.0" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz" +"jsonparse@^1.2.0": + "integrity" "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=" + "resolved" "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz" + "version" "1.3.1" -caniuse-api@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz" +"JSONStream@^1.0.3", "JSONStream@^1.0.4": + "integrity" "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==" + "resolved" "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz" + "version" "1.3.5" dependencies: - browserslist "^4.0.0" - caniuse-lite "^1.0.0" - lodash.memoize "^4.1.2" - lodash.uniq "^4.5.0" - -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001312: - version "1.0.30001312" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz" + "jsonparse" "^1.2.0" + "through" ">=2.2.7 <3" -capture-exit@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz" +"jsprim@^1.2.2": + "integrity" "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=" + "resolved" "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz" + "version" "1.4.1" dependencies: - rsvp "^4.8.4" + "assert-plus" "1.0.0" + "extsprintf" "1.3.0" + "json-schema" "0.2.3" + "verror" "1.10.0" -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz" +"just-extend@^4.0.2": + "integrity" "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==" + "resolved" "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz" + "version" "4.2.1" -ccount@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz" - -chalk@^1.0.0, chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" +"keyv@^3.0.0": + "integrity" "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==" + "resolved" "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz" + "version" "3.1.0" dependencies: - 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" + "json-buffer" "3.0.0" + +"killable@^1.0.1": + "integrity" "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==" + "resolved" "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz" + "version" "1.0.1" -chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.0, chalk@^2.3.1, chalk@^2.3.2, chalk@^2.4.1, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" +"kind-of@^3.0.2", "kind-of@^3.0.3": + "integrity" "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=" + "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" + "version" "3.2.2" dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" + "is-buffer" "^1.1.5" -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz" +"kind-of@^3.2.0": + "integrity" "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=" + "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" + "version" "3.2.2" dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" + "is-buffer" "^1.1.5" -chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: - version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" +"kind-of@^4.0.0": + "integrity" "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=" + "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz" + "version" "4.0.0" dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" + "is-buffer" "^1.1.5" -character-entities-html4@^1.0.0: - version "1.1.4" - resolved "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.4.tgz" +"kind-of@^5.0.0": + "integrity" "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz" + "version" "5.1.0" -character-entities-legacy@^1.0.0: - version "1.1.4" - resolved "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz" - -character-entities@^1.0.0: - version "1.2.4" - resolved "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz" - -character-reference-invalid@^1.0.0: - version "1.1.4" - resolved "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz" - -chardet@^0.7.0: - version "0.7.0" - resolved "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz" - -"chokidar@>=3.0.0 <4.0.0", chokidar@^3.4.0, chokidar@^3.5.3: - version "3.5.3" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -chokidar@^2.0.3, chokidar@^2.1.8: - version "2.1.8" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz" - dependencies: - anymatch "^2.0.0" - async-each "^1.0.1" - braces "^2.3.2" - glob-parent "^3.1.0" - inherits "^2.0.3" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - normalize-path "^3.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.2.1" - upath "^1.1.1" - optionalDependencies: - fsevents "^1.2.7" - -chokidar@^3.4.1: - version "3.5.1" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz" - dependencies: - anymatch "~3.1.1" - braces "~3.0.2" - glob-parent "~5.1.0" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.5.0" - optionalDependencies: - fsevents "~2.3.1" +"kind-of@^6.0.0", "kind-of@^6.0.2", "kind-of@^6.0.3": + "integrity" "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" + "version" "6.0.3" -chownr@^1.1.1: - version "1.1.4" - resolved "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz" +"kleur@^3.0.3": + "integrity" "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" + "resolved" "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" + "version" "3.0.3" -chrome-trace-event@^1.0.2: - version "1.0.3" - resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" +"konan@^2.1.1": + "integrity" "sha512-7ZhYV84UzJ0PR/RJnnsMZcAbn+kLasJhVNWsu8ZyVEJYRpGA5XESQ9d/7zOa08U0Ou4cmB++hMNY/3OSV9KIbg==" + "resolved" "https://registry.npmjs.org/konan/-/konan-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "@babel/parser" "^7.10.5" + "@babel/traverse" "^7.10.5" -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" +"last-call-webpack-plugin@^3.0.0": + "integrity" "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==" + "resolved" "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "lodash" "^4.17.5" + "webpack-sources" "^1.1.0" + +"latest-version@^5.0.0": + "integrity" "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==" + "resolved" "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz" + "version" "5.1.0" + dependencies: + "package-json" "^6.3.0" + +"lazystream@^1.0.0": + "integrity" "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=" + "resolved" "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "readable-stream" "^2.0.5" + +"lead@^1.0.0": + "integrity" "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=" + "resolved" "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "flush-write-stream" "^1.0.2" + +"left-pad@^1.3.0": + "integrity" "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==" + "resolved" "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz" + "version" "1.3.0" + +"leven@^3.1.0": + "integrity" "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" + "resolved" "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" + "version" "3.1.0" + +"levn@^0.4.1": + "integrity" "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==" + "resolved" "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" + "version" "0.4.1" + dependencies: + "prelude-ls" "^1.2.1" + "type-check" "~0.4.0" + +"levn@~0.3.0": + "integrity" "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=" + "resolved" "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" + "version" "0.3.0" + dependencies: + "prelude-ls" "~1.1.2" + "type-check" "~0.3.2" + +"lines-and-columns@^1.1.6": + "integrity" "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" + "resolved" "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz" + "version" "1.1.6" + +"linkify-it@^2.0.0": + "integrity" "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==" + "resolved" "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz" + "version" "2.2.0" + dependencies: + "uc.micro" "^1.0.1" + +"lint-staged@^8.2.1": + "integrity" "sha512-n0tDGR/rTCgQNwXnUf/eWIpPNddGWxC32ANTNYsj2k02iZb7Cz5ox2tytwBu+2r0zDXMEMKw7Y9OD/qsav561A==" + "resolved" "https://registry.npmjs.org/lint-staged/-/lint-staged-8.2.1.tgz" + "version" "8.2.1" + dependencies: + "chalk" "^2.3.1" + "commander" "^2.14.1" + "cosmiconfig" "^5.2.0" + "debug" "^3.1.0" + "dedent" "^0.7.0" + "del" "^3.0.0" + "execa" "^1.0.0" + "g-status" "^2.0.2" + "is-glob" "^4.0.0" + "is-windows" "^1.0.2" + "listr" "^0.14.2" + "listr-update-renderer" "^0.5.0" + "lodash" "^4.17.11" + "log-symbols" "^2.2.0" + "micromatch" "^3.1.8" + "npm-which" "^3.0.1" + "p-map" "^1.1.1" + "path-is-inside" "^1.0.2" + "pify" "^3.0.0" + "please-upgrade-node" "^3.0.2" + "staged-git-files" "1.1.2" + "string-argv" "^0.0.2" + "stringify-object" "^3.2.2" + "yup" "^0.27.0" + +"listr-silent-renderer@^1.1.1": + "integrity" "sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=" + "resolved" "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz" + "version" "1.1.1" + +"listr-update-renderer@^0.5.0": + "integrity" "sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==" + "resolved" "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz" + "version" "0.5.0" + dependencies: + "chalk" "^1.1.3" + "cli-truncate" "^0.2.1" + "elegant-spinner" "^1.0.1" + "figures" "^1.7.0" + "indent-string" "^3.0.0" + "log-symbols" "^1.0.2" + "log-update" "^2.3.0" + "strip-ansi" "^3.0.1" + +"listr-verbose-renderer@^0.5.0": + "integrity" "sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==" + "resolved" "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz" + "version" "0.5.0" + dependencies: + "chalk" "^2.4.1" + "cli-cursor" "^2.1.0" + "date-fns" "^1.27.2" + "figures" "^2.0.0" + +"listr@^0.14.2", "listr@^0.14.3": + "integrity" "sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==" + "resolved" "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz" + "version" "0.14.3" + dependencies: + "@samverschueren/stream-to-observable" "^0.3.0" + "is-observable" "^1.1.0" + "is-promise" "^2.1.0" + "is-stream" "^1.1.0" + "listr-silent-renderer" "^1.1.1" + "listr-update-renderer" "^0.5.0" + "listr-verbose-renderer" "^0.5.0" + "p-map" "^2.0.0" + "rxjs" "^6.3.3" + +"livereload-js@^2.3.0": + "integrity" "sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw==" + "resolved" "https://registry.npmjs.org/livereload-js/-/livereload-js-2.4.0.tgz" + "version" "2.4.0" + +"load-json-file@^1.0.0": + "integrity" "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=" + "resolved" "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "graceful-fs" "^4.1.2" + "parse-json" "^2.2.0" + "pify" "^2.0.0" + "pinkie-promise" "^2.0.0" + "strip-bom" "^2.0.0" + +"load-json-file@^4.0.0": + "integrity" "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=" + "resolved" "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "graceful-fs" "^4.1.2" + "parse-json" "^4.0.0" + "pify" "^3.0.0" + "strip-bom" "^3.0.0" + +"load-script@^1.0.0": + "integrity" "sha1-BJGTngvuVkPuSUp+PaPSuscMbKQ=" + "resolved" "https://registry.npmjs.org/load-script/-/load-script-1.0.0.tgz" + "version" "1.0.0" + +"loader-runner@^2.4.0": + "integrity" "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==" + "resolved" "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz" + "version" "2.4.0" + +"loader-runner@^4.2.0": + "integrity" "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==" + "resolved" "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz" + "version" "4.2.0" + +"loader-utils@^0.2.16": + "integrity" "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=" + "resolved" "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz" + "version" "0.2.17" + dependencies: + "big.js" "^3.1.3" + "emojis-list" "^2.0.0" + "json5" "^0.5.0" + "object-assign" "^4.0.1" + +"loader-utils@^1.0.2", "loader-utils@^1.1.0", "loader-utils@^1.2.3", "loader-utils@^1.4.0": + "integrity" "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==" + "resolved" "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz" + "version" "1.4.0" + dependencies: + "big.js" "^5.2.2" + "emojis-list" "^3.0.0" + "json5" "^1.0.1" + +"locate-path@^2.0.0": + "integrity" "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=" + "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "p-locate" "^2.0.0" + "path-exists" "^3.0.0" + +"locate-path@^3.0.0": + "integrity" "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==" + "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "p-locate" "^3.0.0" + "path-exists" "^3.0.0" + +"locate-path@^5.0.0": + "integrity" "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==" + "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "p-locate" "^4.1.0" + +"locate-path@^6.0.0": + "integrity" "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==" + "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "p-locate" "^5.0.0" + +"lodash._reinterpolate@^3.0.0": + "integrity" "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" + "resolved" "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz" + "version" "3.0.0" + +"lodash.camelcase@^4.3.0": + "integrity" "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" + "resolved" "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz" + "version" "4.3.0" + +"lodash.clonedeep@^4.5.0": + "integrity" "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" + "resolved" "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz" + "version" "4.5.0" + +"lodash.debounce@^4.0.8": + "integrity" "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" + "resolved" "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" + "version" "4.0.8" + +"lodash.ismatch@^4.4.0": + "integrity" "sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=" + "resolved" "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz" + "version" "4.4.0" + +"lodash.kebabcase@^4.1.1": + "integrity" "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=" + "resolved" "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz" + "version" "4.1.1" + +"lodash.memoize@^4.1.2": + "integrity" "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" + "resolved" "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" + "version" "4.1.2" + +"lodash.merge@^4.6.2": + "integrity" "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + "resolved" "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" + "version" "4.6.2" + +"lodash.sortby@^4.7.0": + "integrity" "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" + "resolved" "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz" + "version" "4.7.0" + +"lodash.template@^4.5.0": + "integrity" "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==" + "resolved" "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz" + "version" "4.5.0" + dependencies: + "lodash._reinterpolate" "^3.0.0" + "lodash.templatesettings" "^4.0.0" + +"lodash.templatesettings@^4.0.0": + "integrity" "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==" + "resolved" "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz" + "version" "4.2.0" + dependencies: + "lodash._reinterpolate" "^3.0.0" + +"lodash.uniq@^4.5.0": + "integrity" "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" + "resolved" "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" + "version" "4.5.0" + +"lodash@^4.17.10", "lodash@^4.17.11", "lodash@^4.17.14", "lodash@^4.17.15", "lodash@^4.17.19", "lodash@^4.17.20", "lodash@^4.17.21", "lodash@^4.17.3", "lodash@^4.17.5": + "integrity" "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + "version" "4.17.21" + +"log-symbols@^1.0.2": + "integrity" "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=" + "resolved" "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "chalk" "^1.0.0" + +"log-symbols@^2.2.0": + "integrity" "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==" + "resolved" "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz" + "version" "2.2.0" + dependencies: + "chalk" "^2.0.1" + +"log-symbols@^4.1.0": + "integrity" "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==" + "resolved" "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "chalk" "^4.1.0" + "is-unicode-supported" "^0.1.0" + +"log-update@^2.3.0": + "integrity" "sha1-iDKP19HOeTiykoN0bwsbwSayRwg=" + "resolved" "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz" + "version" "2.3.0" + dependencies: + "ansi-escapes" "^3.0.0" + "cli-cursor" "^2.0.0" + "wrap-ansi" "^3.0.1" + +"loglevel@^1.6.8": + "integrity" "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==" + "resolved" "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz" + "version" "1.7.1" + +"lolex@^4.2.0": + "integrity" "sha512-gKO5uExCXvSm6zbF562EvM+rd1kQDnB9AZBbiQVzf1ZmdDpxUSvpnAaVOP83N/31mRK8Ml8/VE8DMvsAZQ+7wg==" + "resolved" "https://registry.npmjs.org/lolex/-/lolex-4.2.0.tgz" + "version" "4.2.0" + +"lolex@^5.0.1": + "integrity" "sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==" + "resolved" "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz" + "version" "5.1.2" + dependencies: + "@sinonjs/commons" "^1.7.0" -ci-info@^3.0.0: - version "3.2.0" - resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz" +"longest-streak@^2.0.0": + "integrity" "sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==" + "resolved" "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz" + "version" "2.0.4" -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz" +"loose-envify@^1.0.0": + "integrity" "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==" + "resolved" "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" + "version" "1.4.0" dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" + "js-tokens" "^3.0.0 || ^4.0.0" -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz" +"loud-rejection@^1.0.0": + "integrity" "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=" + "resolved" "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz" + "version" "1.6.0" dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" + "currently-unhandled" "^0.4.1" + "signal-exit" "^3.0.0" -clean-css@4.2.x: - version "4.2.3" - resolved "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz" - dependencies: - source-map "~0.6.0" +"lower-case@^1.1.1": + "integrity" "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=" + "resolved" "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz" + "version" "1.1.4" -clean-css@^5.2.2: - version "5.2.4" - resolved "https://registry.npmjs.org/clean-css/-/clean-css-5.2.4.tgz" +"lower-case@^2.0.2": + "integrity" "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==" + "resolved" "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz" + "version" "2.0.2" dependencies: - source-map "~0.6.0" + "tslib" "^2.0.3" -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz" +"lowercase-keys@^1.0.0", "lowercase-keys@^1.0.1": + "integrity" "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" + "resolved" "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz" + "version" "1.0.1" -cli-boxes@^2.2.0: - version "2.2.1" - resolved "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz" +"lowercase-keys@^2.0.0": + "integrity" "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + "resolved" "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz" + "version" "2.0.0" -cli-cursor@^2.0.0, cli-cursor@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz" +"lru-cache@^4.1.2": + "integrity" "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==" + "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz" + "version" "4.1.5" dependencies: - restore-cursor "^2.0.0" + "pseudomap" "^1.0.2" + "yallist" "^2.1.2" -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz" +"lru-cache@^5.1.1": + "integrity" "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==" + "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + "version" "5.1.1" dependencies: - restore-cursor "^3.1.0" - -cli-spinners@^2.5.0: - version "2.6.1" - resolved "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz" + "yallist" "^3.0.2" -cli-truncate@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz" +"lru-cache@^6.0.0": + "integrity" "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==" + "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + "version" "6.0.0" dependencies: - slice-ansi "0.0.4" - string-width "^1.0.1" + "yallist" "^4.0.0" -cli-width@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz" - -cliui@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz" +"magic-string@^0.25.7": + "integrity" "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==" + "resolved" "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz" + "version" "0.25.7" dependencies: - string-width "^3.1.0" - strip-ansi "^5.2.0" - wrap-ansi "^5.1.0" - -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz" + "sourcemap-codec" "^1.4.4" + +"make-dir@^2.0.0", "make-dir@^2.1.0": + "integrity" "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==" + "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz" + "version" "2.1.0" dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" + "pify" "^4.0.1" + "semver" "^5.6.0" -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" +"make-dir@^3.0.0": + "integrity" "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==" + "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" + "version" "3.1.0" dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" + "semver" "^6.0.0" -clone-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz" +"make-dir@^3.0.2": + "integrity" "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==" + "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "semver" "^6.0.0" -clone-deep@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz" +"make-dir@^3.1.0": + "integrity" "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==" + "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" + "version" "3.1.0" dependencies: - is-plain-object "^2.0.4" - kind-of "^6.0.2" - shallow-clone "^3.0.0" + "semver" "^6.0.0" -clone-response@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz" +"makeerror@1.0.12": + "integrity" "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==" + "resolved" "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz" + "version" "1.0.12" dependencies: - mimic-response "^1.0.0" + "tmpl" "1.0.5" -clone-stats@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz" +"map-cache@^0.2.0", "map-cache@^0.2.2": + "integrity" "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + "resolved" "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz" + "version" "0.2.2" -clone@^1.0.2: - version "1.0.4" - resolved "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz" +"map-obj@^1.0.0", "map-obj@^1.0.1": + "integrity" "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" + "resolved" "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz" + "version" "1.0.1" -clone@^2.1.1: - version "2.1.2" - resolved "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz" +"map-obj@^4.0.0": + "integrity" "sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ==" + "resolved" "https://registry.npmjs.org/map-obj/-/map-obj-4.2.1.tgz" + "version" "4.2.1" -cloneable-readable@^1.0.0: - version "1.1.3" - resolved "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz" +"map-visit@^1.0.0": + "integrity" "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=" + "resolved" "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz" + "version" "1.0.0" dependencies: - inherits "^2.0.1" - process-nextick-args "^2.0.0" - readable-stream "^2.3.5" + "object-visit" "^1.0.0" -co@^4.6.0: - version "4.6.0" - resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz" +"markdown-it-anchor@^5.0.2": + "integrity" "sha512-/V1MnLL/rgJ3jkMWo84UR+K+jF1cxNG1a+KwqeXqTIJ+jtA8aWSHuigx8lTzauiIjBDbwF3NcWQMotd0Dm39jA==" + "resolved" "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-5.3.0.tgz" + "version" "5.3.0" -coa@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz" +"markdown-it-chain@^1.3.0": + "integrity" "sha512-XClV8I1TKy8L2qsT9iX3qiV+50ZtcInGXI80CA+DP62sMs7hXlyV/RM3hfwy5O3Ad0sJm9xIwQELgANfESo8mQ==" + "resolved" "https://registry.npmjs.org/markdown-it-chain/-/markdown-it-chain-1.3.0.tgz" + "version" "1.3.0" dependencies: - "@types/q" "^1.5.1" - chalk "^2.4.1" - q "^1.1.2" + "webpack-chain" "^4.9.0" -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz" +"markdown-it-container@^2.0.0": + "integrity" "sha1-ABm0P9Au7+zi8ZYKKJX7qBpARpU=" + "resolved" "https://registry.npmjs.org/markdown-it-container/-/markdown-it-container-2.0.0.tgz" + "version" "2.0.0" -codemirror-formatting@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/codemirror-formatting/-/codemirror-formatting-1.0.0.tgz" +"markdown-it-emoji@^1.4.0": + "integrity" "sha1-m+4OmpkKljupbfaYDE/dsF37Tcw=" + "resolved" "https://registry.npmjs.org/markdown-it-emoji/-/markdown-it-emoji-1.4.0.tgz" + "version" "1.4.0" -codemirror@^5.63.0: - version "5.63.0" - resolved "https://registry.npmjs.org/codemirror/-/codemirror-5.63.0.tgz" +"markdown-it-table-of-contents@^0.4.0": + "integrity" "sha512-TAIHTHPwa9+ltKvKPWulm/beozQU41Ab+FIefRaQV1NRnpzwcV9QOe6wXQS5WLivm5Q/nlo0rl6laGkMDZE7Gw==" + "resolved" "https://registry.npmjs.org/markdown-it-table-of-contents/-/markdown-it-table-of-contents-0.4.4.tgz" + "version" "0.4.4" -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz" +"markdown-it@*", "markdown-it@^8.4.1", "markdown-it@>=5.0.0": + "integrity" "sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==" + "resolved" "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz" + "version" "8.4.2" dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" + "argparse" "^1.0.7" + "entities" "~1.1.1" + "linkify-it" "^2.0.0" + "mdurl" "^1.0.1" + "uc.micro" "^1.0.5" -color-convert@^1.9.0, color-convert@^1.9.1: - version "1.9.3" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" +"markdown-table@^2.0.0": + "integrity" "sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==" + "resolved" "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "repeat-string" "^1.0.0" + +"matcher@^1.0.0": + "integrity" "sha512-+BmqxWIubKTRKNWx/ahnCkk3mG8m7OturVlqq6HiojGJTd5hVYbgZm6WzcYPCoB+KBT4Vd6R7WSRG2OADNaCjg==" + "resolved" "https://registry.npmjs.org/matcher/-/matcher-1.1.1.tgz" + "version" "1.1.1" dependencies: - color-name "1.1.3" + "escape-string-regexp" "^1.0.4" -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" +"md5.js@^1.3.4": + "integrity" "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==" + "resolved" "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz" + "version" "1.3.5" dependencies: - color-name "~1.1.4" + "hash-base" "^3.0.0" + "inherits" "^2.0.1" + "safe-buffer" "^5.1.2" -color-name@1.1.3, color-name@^1.0.0: - version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" +"mdast-util-definitions@^4.0.0": + "integrity" "sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==" + "resolved" "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "unist-util-visit" "^2.0.0" -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" +"mdast-util-find-and-replace@^1.1.0", "mdast-util-find-and-replace@^1.1.1": + "integrity" "sha512-9cKl33Y21lyckGzpSmEQnIDjEfeeWelN5s1kUW1LwdB0Fkuq2u+4GdqcGEygYxJE8GVqCl0741bYXHgamfWAZA==" + "resolved" "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-1.1.1.tgz" + "version" "1.1.1" + dependencies: + "escape-string-regexp" "^4.0.0" + "unist-util-is" "^4.0.0" + "unist-util-visit-parents" "^3.0.0" + +"mdast-util-from-markdown@^0.8.0": + "integrity" "sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==" + "resolved" "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz" + "version" "0.8.5" + dependencies: + "@types/mdast" "^3.0.0" + "mdast-util-to-string" "^2.0.0" + "micromark" "~2.11.0" + "parse-entities" "^2.0.0" + "unist-util-stringify-position" "^2.0.0" -color-string@^1.5.4: - version "1.5.5" - resolved "https://registry.npmjs.org/color-string/-/color-string-1.5.5.tgz" +"mdast-util-gfm-autolink-literal@^0.1.0": + "integrity" "sha512-GjmLjWrXg1wqMIO9+ZsRik/s7PLwTaeCHVB7vRxUwLntZc8mzmTsLVr6HW1yLokcnhfURsn5zmSVdi3/xWWu1A==" + "resolved" "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-0.1.3.tgz" + "version" "0.1.3" dependencies: - color-name "^1.0.0" - simple-swizzle "^0.2.2" + "ccount" "^1.0.0" + "mdast-util-find-and-replace" "^1.1.0" + "micromark" "^2.11.3" -color@^3.0.0: - version "3.1.3" - resolved "https://registry.npmjs.org/color/-/color-3.1.3.tgz" +"mdast-util-gfm-strikethrough@^0.2.0": + "integrity" "sha512-5OQLXpt6qdbttcDG/UxYY7Yjj3e8P7X16LzvpX8pIQPYJ/C2Z1qFGMmcw+1PZMUM3Z8wt8NRfYTvCni93mgsgA==" + "resolved" "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-0.2.3.tgz" + "version" "0.2.3" dependencies: - color-convert "^1.9.1" - color-string "^1.5.4" + "mdast-util-to-markdown" "^0.6.0" -colorette@^1.2.1, colorette@^1.2.2: - version "1.2.2" - resolved "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz" +"mdast-util-gfm-table@^0.1.0": + "integrity" "sha512-j4yDxQ66AJSBwGkbpFEp9uG/LS1tZV3P33fN1gkyRB2LoRL+RR3f76m0HPHaby6F4Z5xr9Fv1URmATlRRUIpRQ==" + "resolved" "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-0.1.6.tgz" + "version" "0.1.6" + dependencies: + "markdown-table" "^2.0.0" + "mdast-util-to-markdown" "~0.6.0" -colorette@^2.0.10, colorette@^2.0.14: - version "2.0.16" - resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz" +"mdast-util-gfm-task-list-item@^0.1.0": + "integrity" "sha512-/d51FFIfPsSmCIRNp7E6pozM9z1GYPIkSy1urQ8s/o4TC22BZ7DqfHFWiqBD23bc7J3vV1Fc9O4QIHBlfuit8A==" + "resolved" "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-0.1.6.tgz" + "version" "0.1.6" + dependencies: + "mdast-util-to-markdown" "~0.6.0" -combined-stream@^1.0.6, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" +"mdast-util-gfm@^0.1.0": + "integrity" "sha512-NNkhDx/qYcuOWB7xHUGWZYVXvjPFFd6afg6/e2g+SV4r9q5XUcCbV4Wfa3DLYIiD+xAEZc6K4MGaE/m0KDcPwQ==" + "resolved" "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-0.1.2.tgz" + "version" "0.1.2" dependencies: - delayed-stream "~1.0.0" + "mdast-util-gfm-autolink-literal" "^0.1.0" + "mdast-util-gfm-strikethrough" "^0.2.0" + "mdast-util-gfm-table" "^0.1.0" + "mdast-util-gfm-task-list-item" "^0.1.0" + "mdast-util-to-markdown" "^0.6.1" -comma-separated-tokens@^1.0.0: - version "1.0.8" - resolved "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz" +"mdast-util-inject@^1.1.0": + "integrity" "sha1-2wa4tYW+lZotzS+H9HK6m3VvNnU=" + "resolved" "https://registry.npmjs.org/mdast-util-inject/-/mdast-util-inject-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "mdast-util-to-string" "^1.0.0" -commander@2.17.x: - version "2.17.1" - resolved "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz" +"mdast-util-to-hast@^10.0.0": + "integrity" "sha512-JoPBfJ3gBnHZ18icCwHR50orC9kNH81tiR1gs01D8Q5YpV6adHNO9nKNuFBCJQ941/32PT1a63UF/DitmS3amQ==" + "resolved" "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-10.2.0.tgz" + "version" "10.2.0" + dependencies: + "@types/mdast" "^3.0.0" + "@types/unist" "^2.0.0" + "mdast-util-definitions" "^4.0.0" + "mdurl" "^1.0.0" + "unist-builder" "^2.0.0" + "unist-util-generated" "^1.0.0" + "unist-util-position" "^3.0.0" + "unist-util-visit" "^2.0.0" + +"mdast-util-to-markdown@^0.6.0", "mdast-util-to-markdown@^0.6.1", "mdast-util-to-markdown@~0.6.0": + "integrity" "sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==" + "resolved" "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.5.tgz" + "version" "0.6.5" + dependencies: + "@types/unist" "^2.0.0" + "longest-streak" "^2.0.0" + "mdast-util-to-string" "^2.0.0" + "parse-entities" "^2.0.0" + "repeat-string" "^1.0.0" + "zwitch" "^1.0.0" + +"mdast-util-to-string@^1.0.0": + "integrity" "sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==" + "resolved" "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz" + "version" "1.1.0" + +"mdast-util-to-string@^2.0.0": + "integrity" "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==" + "resolved" "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz" + "version" "2.0.0" + +"mdast-util-toc@^5.0.0": + "integrity" "sha512-csimbRIVkiqc+PpFeKDGQ/Ck2N4f9FYH3zzBMMJzcxoKL8m+cM0n94xXm0I9eaxHnKdY9n145SGTdyJC7i273g==" + "resolved" "https://registry.npmjs.org/mdast-util-toc/-/mdast-util-toc-5.1.0.tgz" + "version" "5.1.0" + dependencies: + "@types/mdast" "^3.0.3" + "@types/unist" "^2.0.3" + "extend" "^3.0.2" + "github-slugger" "^1.2.1" + "mdast-util-to-string" "^2.0.0" + "unist-util-is" "^4.0.0" + "unist-util-visit" "^2.0.0" + +"mdn-data@2.0.14": + "integrity" "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + "resolved" "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz" + "version" "2.0.14" + +"mdn-data@2.0.4": + "integrity" "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + "resolved" "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz" + "version" "2.0.4" + +"mdurl@^1.0.0", "mdurl@^1.0.1": + "integrity" "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" + "resolved" "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz" + "version" "1.0.1" + +"media-typer@0.3.0": + "integrity" "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + "resolved" "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" + "version" "0.3.0" + +"memfs@^3.4.1": + "integrity" "sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw==" + "resolved" "https://registry.npmjs.org/memfs/-/memfs-3.4.1.tgz" + "version" "3.4.1" + dependencies: + "fs-monkey" "1.0.3" + +"memory-fs@^0.4.1": + "integrity" "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=" + "resolved" "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz" + "version" "0.4.1" + dependencies: + "errno" "^0.1.3" + "readable-stream" "^2.0.1" + +"memory-fs@^0.5.0": + "integrity" "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==" + "resolved" "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz" + "version" "0.5.0" + dependencies: + "errno" "^0.1.3" + "readable-stream" "^2.0.1" + +"memorystream@^0.3.1": + "integrity" "sha1-htcJCzDORV1j+64S3aUaR93K+bI=" + "resolved" "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz" + "version" "0.3.1" + +"meow@^3.3.0": + "integrity" "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=" + "resolved" "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz" + "version" "3.7.0" + dependencies: + "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" + +"meow@^8.0.0": + "integrity" "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==" + "resolved" "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz" + "version" "8.1.2" + dependencies: + "@types/minimist" "^1.2.0" + "camelcase-keys" "^6.2.2" + "decamelize-keys" "^1.1.0" + "hard-rejection" "^2.1.0" + "minimist-options" "4.1.0" + "normalize-package-data" "^3.0.0" + "read-pkg-up" "^7.0.1" + "redent" "^3.0.0" + "trim-newlines" "^3.0.0" + "type-fest" "^0.18.0" + "yargs-parser" "^20.2.3" + +"merge-descriptors@1.0.1": + "integrity" "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + "resolved" "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" + "version" "1.0.1" + +"merge-source-map@^1.1.0": + "integrity" "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==" + "resolved" "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "source-map" "^0.6.1" + +"merge-stream@^2.0.0": + "integrity" "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + "resolved" "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" + "version" "2.0.0" + +"merge2@^1.2.3", "merge2@^1.3.0", "merge2@^1.4.1": + "integrity" "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + "resolved" "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + "version" "1.4.1" + +"methods@~1.1.2": + "integrity" "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + "resolved" "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" + "version" "1.1.2" + +"micromark-extension-gfm-autolink-literal@~0.5.0": + "integrity" "sha512-ePiDGH0/lhcngCe8FtH4ARFoxKTUelMp4L7Gg2pujYD5CSMb9PbblnyL+AAMud/SNMyusbS2XDSiPIRcQoNFAw==" + "resolved" "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-0.5.7.tgz" + "version" "0.5.7" + dependencies: + "micromark" "~2.11.3" + +"micromark-extension-gfm-strikethrough@~0.6.5": + "integrity" "sha512-PpOKlgokpQRwUesRwWEp+fHjGGkZEejj83k9gU5iXCbDG+XBA92BqnRKYJdfqfkrRcZRgGuPuXb7DaK/DmxOhw==" + "resolved" "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-0.6.5.tgz" + "version" "0.6.5" + dependencies: + "micromark" "~2.11.0" + +"micromark-extension-gfm-table@~0.4.0": + "integrity" "sha512-hVGvESPq0fk6ALWtomcwmgLvH8ZSVpcPjzi0AjPclB9FsVRgMtGZkUcpE0zgjOCFAznKepF4z3hX8z6e3HODdA==" + "resolved" "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-0.4.3.tgz" + "version" "0.4.3" + dependencies: + "micromark" "~2.11.0" + +"micromark-extension-gfm-tagfilter@~0.3.0": + "integrity" "sha512-9GU0xBatryXifL//FJH+tAZ6i240xQuFrSL7mYi8f4oZSbc+NvXjkrHemeYP0+L4ZUT+Ptz3b95zhUZnMtoi/Q==" + "resolved" "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-0.3.0.tgz" + "version" "0.3.0" + +"micromark-extension-gfm-task-list-item@~0.3.0": + "integrity" "sha512-0zvM5iSLKrc/NQl84pZSjGo66aTGd57C1idmlWmE87lkMcXrTxg1uXa/nXomxJytoje9trP0NDLvw4bZ/Z/XCQ==" + "resolved" "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-0.3.3.tgz" + "version" "0.3.3" + dependencies: + "micromark" "~2.11.0" + +"micromark-extension-gfm@^0.3.0": + "integrity" "sha512-oVN4zv5/tAIA+l3GbMi7lWeYpJ14oQyJ3uEim20ktYFAcfX1x3LNlFGGlmrZHt7u9YlKExmyJdDGaTt6cMSR/A==" + "resolved" "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-0.3.3.tgz" + "version" "0.3.3" + dependencies: + "micromark" "~2.11.0" + "micromark-extension-gfm-autolink-literal" "~0.5.0" + "micromark-extension-gfm-strikethrough" "~0.6.5" + "micromark-extension-gfm-table" "~0.4.0" + "micromark-extension-gfm-tagfilter" "~0.3.0" + "micromark-extension-gfm-task-list-item" "~0.3.0" + +"micromark@^2.11.3", "micromark@~2.11.0", "micromark@~2.11.3": + "integrity" "sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==" + "resolved" "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz" + "version" "2.11.4" + dependencies: + "debug" "^4.0.0" + "parse-entities" "^2.0.0" + +"micromatch@^3.1.10", "micromatch@^3.1.4", "micromatch@^3.1.5", "micromatch@^3.1.8": + "integrity" "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==" + "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz" + "version" "3.1.10" + dependencies: + "arr-diff" "^4.0.0" + "array-unique" "^0.3.2" + "braces" "^2.3.1" + "define-property" "^2.0.2" + "extend-shallow" "^3.0.2" + "extglob" "^2.0.4" + "fragment-cache" "^0.2.1" + "kind-of" "^6.0.2" + "nanomatch" "^1.2.9" + "object.pick" "^1.3.0" + "regex-not" "^1.0.0" + "snapdragon" "^0.8.1" + "to-regex" "^3.0.2" + +"micromatch@^4.0.0": + "integrity" "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==" + "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz" + "version" "4.0.4" + dependencies: + "braces" "^3.0.1" + "picomatch" "^2.2.3" + +"micromatch@^4.0.2": + "integrity" "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==" + "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz" + "version" "4.0.4" + dependencies: + "braces" "^3.0.1" + "picomatch" "^2.2.3" + +"micromatch@^4.0.4": + "integrity" "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==" + "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz" + "version" "4.0.4" + dependencies: + "braces" "^3.0.1" + "picomatch" "^2.2.3" + +"miller-rabin@^4.0.0": + "integrity" "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==" + "resolved" "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "bn.js" "^4.0.0" + "brorand" "^1.0.1" + +"mime-db@>= 1.43.0 < 2", "mime-db@1.48.0": + "integrity" "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==" + "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz" + "version" "1.48.0" + +"mime-types@^2.1.12", "mime-types@^2.1.27", "mime-types@^2.1.31", "mime-types@~2.1.17", "mime-types@~2.1.19", "mime-types@~2.1.24": + "integrity" "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==" + "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz" + "version" "2.1.31" + dependencies: + "mime-db" "1.48.0" + +"mime@^2.0.3", "mime@^2.2.0", "mime@^2.4.4": + "integrity" "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==" + "resolved" "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz" + "version" "2.5.2" + +"mime@1.6.0": + "integrity" "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + "resolved" "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" + "version" "1.6.0" + +"mimic-fn@^1.0.0": + "integrity" "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" + "resolved" "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz" + "version" "1.2.0" + +"mimic-fn@^2.1.0": + "integrity" "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + "resolved" "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" + "version" "2.1.0" + +"mimic-response@^1.0.0", "mimic-response@^1.0.1": + "integrity" "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" + "resolved" "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz" + "version" "1.0.1" + +"min-document@^2.19.0": + "integrity" "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=" + "resolved" "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz" + "version" "2.19.0" + dependencies: + "dom-walk" "^0.1.0" + +"min-indent@^1.0.0": + "integrity" "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==" + "resolved" "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz" + "version" "1.0.1" + +"mini-css-extract-plugin@0.6.0": + "integrity" "sha512-79q5P7YGI6rdnVyIAV4NXpBQJFWdkzJxCim3Kog4078fM0piAaFlwocqbejdWtLW1cEzCexPrh6EdyFsPgVdAw==" + "resolved" "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.6.0.tgz" + "version" "0.6.0" + dependencies: + "loader-utils" "^1.1.0" + "normalize-url" "^2.0.1" + "schema-utils" "^1.0.0" + "webpack-sources" "^1.1.0" + +"minimalistic-assert@^1.0.0", "minimalistic-assert@^1.0.1": + "integrity" "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + "resolved" "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" + "version" "1.0.1" + +"minimalistic-crypto-utils@^1.0.1": + "integrity" "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + "resolved" "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz" + "version" "1.0.1" + +"minimatch@^3.0.4": + "integrity" "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==" + "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" + "version" "3.0.4" + dependencies: + "brace-expansion" "^1.1.7" + +"minimist-options@4.1.0": + "integrity" "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==" + "resolved" "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "arrify" "^1.0.1" + "is-plain-obj" "^1.1.0" + "kind-of" "^6.0.3" + +"minimist@^1.1.0", "minimist@^1.1.1", "minimist@^1.1.3", "minimist@^1.2.0", "minimist@^1.2.5": + "integrity" "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + "resolved" "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz" + "version" "1.2.5" + +"mississippi@^3.0.0": + "integrity" "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==" + "resolved" "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "concat-stream" "^1.5.0" + "duplexify" "^3.4.2" + "end-of-stream" "^1.1.0" + "flush-write-stream" "^1.0.0" + "from2" "^2.1.0" + "parallel-transform" "^1.1.0" + "pump" "^3.0.0" + "pumpify" "^1.3.3" + "stream-each" "^1.1.0" + "through2" "^2.0.0" + +"mixin-deep@^1.2.0": + "integrity" "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==" + "resolved" "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz" + "version" "1.3.2" + dependencies: + "for-in" "^1.0.2" + "is-extendable" "^1.0.1" + +"mkdirp@^0.5.1", "mkdirp@^0.5.3", "mkdirp@^0.5.5", "mkdirp@~0.5.1": + "integrity" "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==" + "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz" + "version" "0.5.5" + dependencies: + "minimist" "^1.2.5" + +"mkdirp@~1.0.4": + "integrity" "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" + "version" "1.0.4" + +"mkdirp@0.3.0": + "integrity" "sha1-G79asbqCevI1dRQ0kEJkVfSB/h4=" + "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz" + "version" "0.3.0" + +"modify-values@^1.0.0": + "integrity" "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==" + "resolved" "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz" + "version" "1.0.1" + +"module-deps-sortable@^5.0.3": + "integrity" "sha512-eiyIZj/A0dj1o4ywXWqicazUL3l0HP3TydUR6xF0X3xh3LGBMLqW8a9aFe6MuNH4mxNMk53QKBHM6LOPR8kSgw==" + "resolved" "https://registry.npmjs.org/module-deps-sortable/-/module-deps-sortable-5.0.3.tgz" + "version" "5.0.3" + dependencies: + "browser-resolve" "^1.7.0" + "cached-path-relative" "^1.0.0" + "concat-stream" "~1.5.0" + "defined" "^1.0.0" + "detective" "^5.2.0" + "duplexer2" "^0.1.2" + "inherits" "^2.0.1" + "JSONStream" "^1.0.3" + "konan" "^2.1.1" + "readable-stream" "^2.0.2" + "resolve" "^1.1.3" + "standard-version" "^9.0.0" + "stream-combiner2" "^1.1.1" + "subarg" "^1.0.0" + "through2" "^2.0.0" + "xtend" "^4.0.0" + +"move-concurrently@^1.0.1": + "integrity" "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=" + "resolved" "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "aproba" "^1.1.1" + "copy-concurrently" "^1.0.0" + "fs-write-stream-atomic" "^1.0.8" + "mkdirp" "^0.5.1" + "rimraf" "^2.5.4" + "run-queue" "^1.0.3" + +"ms@^2.1.1", "ms@2.1.2": + "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + "version" "2.1.2" + +"ms@2.0.0": + "integrity" "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "resolved" "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" + "version" "2.0.0" + +"ms@2.1.1": + "integrity" "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz" + "version" "2.1.1" + +"multicast-dns-service-types@^1.1.0": + "integrity" "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=" + "resolved" "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz" + "version" "1.1.0" + +"multicast-dns@^6.0.1": + "integrity" "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==" + "resolved" "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz" + "version" "6.2.3" + dependencies: + "dns-packet" "^1.3.1" + "thunky" "^1.0.2" + +"mute-stream@0.0.8": + "integrity" "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + "resolved" "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz" + "version" "0.0.8" + +"nanoid@^3.1.23": + "integrity" "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==" + "resolved" "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz" + "version" "3.2.0" + +"nanomatch@^1.2.9": + "integrity" "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==" + "resolved" "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz" + "version" "1.2.13" + dependencies: + "arr-diff" "^4.0.0" + "array-unique" "^0.3.2" + "define-property" "^2.0.2" + "extend-shallow" "^3.0.2" + "fragment-cache" "^0.2.1" + "is-windows" "^1.0.2" + "kind-of" "^6.0.2" + "object.pick" "^1.3.0" + "regex-not" "^1.0.0" + "snapdragon" "^0.8.1" + "to-regex" "^3.0.1" + +"natural-compare@^1.4.0": + "integrity" "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" + "resolved" "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" + "version" "1.4.0" + +"negotiator@0.6.2": + "integrity" "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + "resolved" "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz" + "version" "0.6.2" + +"neo-async@^2.5.0", "neo-async@^2.6.0", "neo-async@^2.6.1", "neo-async@^2.6.2": + "integrity" "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + "resolved" "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" + "version" "2.6.2" + +"nice-try@^1.0.4": + "integrity" "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + "resolved" "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" + "version" "1.0.5" + +"nise@^1.5.2": + "integrity" "sha512-Ymbac/94xeIrMf59REBPOv0thr+CJVFMhrlAkW/gjCIE58BGQdCj0x7KRCb3yz+Ga2Rz3E9XXSvUyyxqqhjQAQ==" + "resolved" "https://registry.npmjs.org/nise/-/nise-1.5.3.tgz" + "version" "1.5.3" + dependencies: + "@sinonjs/formatio" "^3.2.1" + "@sinonjs/text-encoding" "^0.7.1" + "just-extend" "^4.0.2" + "lolex" "^5.0.1" + "path-to-regexp" "^1.7.0" + +"no-case@^2.2.0": + "integrity" "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==" + "resolved" "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz" + "version" "2.3.2" + dependencies: + "lower-case" "^1.1.1" + +"no-case@^3.0.4": + "integrity" "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==" + "resolved" "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz" + "version" "3.0.4" + dependencies: + "lower-case" "^2.0.2" + "tslib" "^2.0.3" + +"node-forge@^0.10.0": + "integrity" "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" + "resolved" "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz" + "version" "0.10.0" + +"node-forge@^1.2.0": + "integrity" "sha512-Fcvtbb+zBcZXbTTVwqGA5W+MKBj56UjVRevvchv5XrcyXbmNdesfZL37nlcWOfpgHhgmxApw3tQbTr4CqNmX4w==" + "resolved" "https://registry.npmjs.org/node-forge/-/node-forge-1.2.1.tgz" + "version" "1.2.1" + +"node-int64@^0.4.0": + "integrity" "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=" + "resolved" "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" + "version" "0.4.0" + +"node-libs-browser@^2.2.1": + "integrity" "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==" + "resolved" "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz" + "version" "2.2.1" + dependencies: + "assert" "^1.1.1" + "browserify-zlib" "^0.2.0" + "buffer" "^4.3.0" + "console-browserify" "^1.1.0" + "constants-browserify" "^1.0.0" + "crypto-browserify" "^3.11.0" + "domain-browser" "^1.1.1" + "events" "^3.0.0" + "https-browserify" "^1.0.0" + "os-browserify" "^0.3.0" + "path-browserify" "0.0.1" + "process" "^0.11.10" + "punycode" "^1.2.4" + "querystring-es3" "^0.2.0" + "readable-stream" "^2.3.3" + "stream-browserify" "^2.0.1" + "stream-http" "^2.7.2" + "string_decoder" "^1.0.0" + "timers-browserify" "^2.0.4" + "tty-browserify" "0.0.0" + "url" "^0.11.0" + "util" "^0.11.0" + "vm-browserify" "^1.0.1" + +"node-notifier@^5.4.2": + "integrity" "sha512-tVbHs7DyTLtzOiN78izLA85zRqB9NvEXkAf014Vx3jtSvn/xBl6bR8ZYifj+dFcFrKI21huSQgJZ6ZtL3B4HfQ==" + "resolved" "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.5.tgz" + "version" "5.4.5" + dependencies: + "growly" "^1.3.0" + "is-wsl" "^1.1.0" + "semver" "^5.5.0" + "shellwords" "^0.1.1" + "which" "^1.3.0" + +"node-releases@^2.0.2": + "integrity" "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==" + "resolved" "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz" + "version" "2.0.2" + +"nopt@1.0.10": + "integrity" "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=" + "resolved" "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz" + "version" "1.0.10" + dependencies: + "abbrev" "1" + +"normalize-package-data@^2.3.0", "normalize-package-data@^2.3.2", "normalize-package-data@^2.3.4", "normalize-package-data@^2.5.0": + "integrity" "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==" + "resolved" "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" + "version" "2.5.0" + dependencies: + "hosted-git-info" "^2.1.4" + "resolve" "^1.10.0" + "semver" "2 || 3 || 4 || 5" + "validate-npm-package-license" "^3.0.1" + +"normalize-package-data@^3.0.0": + "integrity" "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==" + "resolved" "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "hosted-git-info" "^4.0.1" + "resolve" "^1.20.0" + "semver" "^7.3.4" + "validate-npm-package-license" "^3.0.1" + +"normalize-path@^2.1.1": + "integrity" "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=" + "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "remove-trailing-separator" "^1.0.1" + +"normalize-path@^3.0.0", "normalize-path@~3.0.0": + "integrity" "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + "version" "3.0.0" + +"normalize-range@^0.1.2": + "integrity" "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" + "resolved" "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" + "version" "0.1.2" + +"normalize-url@^2.0.1": + "integrity" "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==" + "resolved" "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "prepend-http" "^2.0.0" + "query-string" "^5.0.1" + "sort-keys" "^2.0.0" + +"normalize-url@^3.0.0": + "integrity" "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==" + "resolved" "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz" + "version" "3.3.0" + +"normalize-url@^4.1.0": + "integrity" "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==" + "resolved" "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz" + "version" "4.5.1" + +"normalize-url@^6.0.1": + "integrity" "sha512-VU4pzAuh7Kip71XEmO9aNREYAdMHFGTVj/i+CaTImS8x0i1d3jUZkXhqluy/PRgjPLMgsLQulYY3PJ/aSbSjpQ==" + "resolved" "https://registry.npmjs.org/normalize-url/-/normalize-url-6.0.1.tgz" + "version" "6.0.1" + +"now-and-later@^2.0.0": + "integrity" "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==" + "resolved" "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "once" "^1.3.2" + +"npm-path@^2.0.2": + "integrity" "sha512-IFsj0R9C7ZdR5cP+ET342q77uSRdtWOlWpih5eC+lu29tIDbNEgDbzgVJ5UFvYHWhxDZ5TFkJafFioO0pPQjCw==" + "resolved" "https://registry.npmjs.org/npm-path/-/npm-path-2.0.4.tgz" + "version" "2.0.4" + dependencies: + "which" "^1.2.10" + +"npm-run-all@^4.1.5": + "integrity" "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==" + "resolved" "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz" + "version" "4.1.5" + dependencies: + "ansi-styles" "^3.2.1" + "chalk" "^2.4.1" + "cross-spawn" "^6.0.5" + "memorystream" "^0.3.1" + "minimatch" "^3.0.4" + "pidtree" "^0.3.0" + "read-pkg" "^3.0.0" + "shell-quote" "^1.6.1" + "string.prototype.padend" "^3.0.0" + +"npm-run-path@^2.0.0": + "integrity" "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=" + "resolved" "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "path-key" "^2.0.0" + +"npm-run-path@^4.0.1": + "integrity" "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==" + "resolved" "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "path-key" "^3.0.0" + +"npm-which@^3.0.1": + "integrity" "sha1-kiXybsOihcIJyuZ8OxGmtKtxQKo=" + "resolved" "https://registry.npmjs.org/npm-which/-/npm-which-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "commander" "^2.9.0" + "npm-path" "^2.0.2" + "which" "^1.2.10" + +"nprogress@^0.2.0": + "integrity" "sha1-y480xTIT2JVyP8urkH6UIq28r7E=" + "resolved" "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz" + "version" "0.2.0" + +"nth-check@^1.0.2": + "integrity" "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==" + "resolved" "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "boolbase" "~1.0.0" + +"nth-check@^2.0.0": + "integrity" "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==" + "resolved" "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "boolbase" "^1.0.0" + +"null-check@^1.0.0": + "integrity" "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=" + "resolved" "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz" + "version" "1.0.0" + +"num2fraction@^1.2.2": + "integrity" "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=" + "resolved" "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz" + "version" "1.2.2" + +"number-is-nan@^1.0.0": + "integrity" "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + "resolved" "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" + "version" "1.0.1" + +"nwsapi@^2.0.7": + "integrity" "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==" + "resolved" "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz" + "version" "2.2.0" + +"oauth-sign@~0.9.0": + "integrity" "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + "resolved" "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz" + "version" "0.9.0" + +"object-assign@^4.0.1", "object-assign@^4.1.0", "object-assign@^4.1.1": + "integrity" "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + "resolved" "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + "version" "4.1.1" + +"object-copy@^0.1.0": + "integrity" "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=" + "resolved" "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz" + "version" "0.1.0" + dependencies: + "copy-descriptor" "^0.1.0" + "define-property" "^0.2.5" + "kind-of" "^3.0.3" + +"object-inspect@^1.10.3", "object-inspect@^1.9.0": + "integrity" "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==" + "resolved" "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz" + "version" "1.10.3" + +"object-is@^1.0.1": + "integrity" "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==" + "resolved" "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz" + "version" "1.1.5" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.1.3" + +"object-keys@^1.0.11", "object-keys@^1.0.12", "object-keys@^1.1.0", "object-keys@^1.1.1": + "integrity" "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + "resolved" "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + "version" "1.1.1" + +"object-visit@^1.0.0": + "integrity" "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=" + "resolved" "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "isobject" "^3.0.0" + +"object.assign@^4.0.4", "object.assign@^4.1.0", "object.assign@^4.1.2": + "integrity" "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==" + "resolved" "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz" + "version" "4.1.2" + dependencies: + "call-bind" "^1.0.0" + "define-properties" "^1.1.3" + "has-symbols" "^1.0.1" + "object-keys" "^1.1.1" + +"object.getownpropertydescriptors@^2.0.3", "object.getownpropertydescriptors@^2.1.0", "object.getownpropertydescriptors@^2.1.1": + "integrity" "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==" + "resolved" "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz" + "version" "2.1.2" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.1.3" + "es-abstract" "^1.18.0-next.2" + +"object.pick@^1.3.0": + "integrity" "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=" + "resolved" "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz" + "version" "1.3.0" + dependencies: + "isobject" "^3.0.1" + +"object.values@^1.1.0": + "integrity" "sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg==" + "resolved" "https://registry.npmjs.org/object.values/-/object.values-1.1.4.tgz" + "version" "1.1.4" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.1.3" + "es-abstract" "^1.18.2" + +"obuf@^1.0.0", "obuf@^1.1.2": + "integrity" "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + "resolved" "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz" + "version" "1.1.2" + +"on-finished@~2.3.0": + "integrity" "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=" + "resolved" "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz" + "version" "2.3.0" + dependencies: + "ee-first" "1.1.1" + +"on-headers@~1.0.2": + "integrity" "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + "resolved" "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz" + "version" "1.0.2" + +"once@^1.3.0", "once@^1.3.1", "once@^1.3.2", "once@^1.4.0": + "integrity" "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=" + "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + "version" "1.4.0" + dependencies: + "wrappy" "1" + +"onetime@^2.0.0": + "integrity" "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=" + "resolved" "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "mimic-fn" "^1.0.0" + +"onetime@^5.1.0", "onetime@^5.1.2": + "integrity" "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==" + "resolved" "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" + "version" "5.1.2" + dependencies: + "mimic-fn" "^2.1.0" + +"open@^8.0.9": + "integrity" "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==" + "resolved" "https://registry.npmjs.org/open/-/open-8.4.0.tgz" + "version" "8.4.0" + dependencies: + "define-lazy-prop" "^2.0.0" + "is-docker" "^2.1.1" + "is-wsl" "^2.2.0" + +"opencollective-postinstall@^2.0.2": + "integrity" "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==" + "resolved" "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz" + "version" "2.0.3" + +"opn@^5.5.0": + "integrity" "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==" + "resolved" "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz" + "version" "5.5.0" + dependencies: + "is-wsl" "^1.1.0" + +"optimize-css-assets-webpack-plugin@^5.0.1": + "integrity" "sha512-JAYw7WrIAIuHWoKeSBB3lJ6ZG9PSDK3JJduv/FMpIY060wvbA8Lqn/TCtxNGICNlg0X5AGshLzIhpYrkltdq+A==" + "resolved" "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.6.tgz" + "version" "5.0.6" + dependencies: + "cssnano" "^4.1.10" + "last-call-webpack-plugin" "^3.0.0" + +"optionator@^0.8.1": + "integrity" "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==" + "resolved" "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz" + "version" "0.8.3" + dependencies: + "deep-is" "~0.1.3" + "fast-levenshtein" "~2.0.6" + "levn" "~0.3.0" + "prelude-ls" "~1.1.2" + "type-check" "~0.3.2" + "word-wrap" "~1.2.3" + +"optionator@^0.9.1": + "integrity" "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==" + "resolved" "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" + "version" "0.9.1" + dependencies: + "deep-is" "^0.1.3" + "fast-levenshtein" "^2.0.6" + "levn" "^0.4.1" + "prelude-ls" "^1.2.1" + "type-check" "^0.4.0" + "word-wrap" "^1.2.3" + +"ora@^5.4.1": + "integrity" "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==" + "resolved" "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz" + "version" "5.4.1" + dependencies: + "bl" "^4.1.0" + "chalk" "^4.1.0" + "cli-cursor" "^3.1.0" + "cli-spinners" "^2.5.0" + "is-interactive" "^1.0.0" + "is-unicode-supported" "^0.1.0" + "log-symbols" "^4.1.0" + "strip-ansi" "^6.0.0" + "wcwidth" "^1.0.1" + +"ordered-read-streams@^1.0.0": + "integrity" "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=" + "resolved" "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "readable-stream" "^2.0.1" + +"original@^1.0.0": + "integrity" "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==" + "resolved" "https://registry.npmjs.org/original/-/original-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "url-parse" "^1.4.3" + +"os-browserify@^0.3.0": + "integrity" "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" + "resolved" "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz" + "version" "0.3.0" + +"os-tmpdir@~1.0.2": + "integrity" "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + "resolved" "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" + "version" "1.0.2" + +"p-cancelable@^1.0.0": + "integrity" "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" + "resolved" "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz" + "version" "1.1.0" + +"p-each-series@^1.0.0": + "integrity" "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=" + "resolved" "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "p-reduce" "^1.0.0" + +"p-finally@^1.0.0": + "integrity" "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + "resolved" "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" + "version" "1.0.0" + +"p-limit@^1.1.0": + "integrity" "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==" + "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz" + "version" "1.3.0" + dependencies: + "p-try" "^1.0.0" + +"p-limit@^2.0.0", "p-limit@^2.2.0", "p-limit@^2.2.1": + "integrity" "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==" + "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + "version" "2.3.0" + dependencies: + "p-try" "^2.0.0" + +"p-limit@^3.0.2": + "integrity" "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==" + "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "yocto-queue" "^0.1.0" + +"p-locate@^2.0.0": + "integrity" "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=" + "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "p-limit" "^1.1.0" + +"p-locate@^3.0.0": + "integrity" "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==" + "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "p-limit" "^2.0.0" + +"p-locate@^4.1.0": + "integrity" "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==" + "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "p-limit" "^2.2.0" -commander@^2.14.1, commander@^2.20.0, commander@^2.9.0: - version "2.20.3" - resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" +"p-locate@^5.0.0": + "integrity" "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==" + "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "p-limit" "^3.0.2" -commander@^4.0.1: - version "4.1.1" - resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" +"p-map@^1.1.1": + "integrity" "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==" + "resolved" "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz" + "version" "1.2.0" -commander@^7.0.0: - version "7.2.0" - resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" +"p-map@^2.0.0": + "integrity" "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==" + "resolved" "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz" + "version" "2.1.0" -commander@^8.3.0: - version "8.3.0" - resolved "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz" +"p-map@^4.0.0": + "integrity" "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==" + "resolved" "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "aggregate-error" "^3.0.0" -commander@~2.19.0: - version "2.19.0" - resolved "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz" +"p-reduce@^1.0.0": + "integrity" "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=" + "resolved" "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz" + "version" "1.0.0" -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" +"p-retry@^3.0.1": + "integrity" "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==" + "resolved" "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "retry" "^0.12.0" -compare-func@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz" +"p-retry@^4.5.0": + "integrity" "sha512-e2xXGNhZOZ0lfgR9kL34iGlU8N/KO0xZnQxVEwdeOvpqNDQfdnxIYizvWtK8RglUa3bGqI8g0R/BdfzLMxRkiA==" + "resolved" "https://registry.npmjs.org/p-retry/-/p-retry-4.6.1.tgz" + "version" "4.6.1" dependencies: - array-ify "^1.0.0" - dot-prop "^5.1.0" + "@types/retry" "^0.12.0" + "retry" "^0.13.1" + +"p-try@^1.0.0": + "integrity" "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + "resolved" "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz" + "version" "1.0.0" + +"p-try@^2.0.0": + "integrity" "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + "resolved" "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" + "version" "2.2.0" + +"package-json@^6.3.0": + "integrity" "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==" + "resolved" "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz" + "version" "6.5.0" + dependencies: + "got" "^9.6.0" + "registry-auth-token" "^4.0.0" + "registry-url" "^5.0.0" + "semver" "^6.2.0" + +"pako@~1.0.5": + "integrity" "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + "resolved" "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz" + "version" "1.0.11" + +"parallel-transform@^1.1.0": + "integrity" "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==" + "resolved" "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "cyclist" "^1.0.1" + "inherits" "^2.0.3" + "readable-stream" "^2.1.5" + +"param-case@^3.0.4": + "integrity" "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==" + "resolved" "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz" + "version" "3.0.4" + dependencies: + "dot-case" "^3.0.4" + "tslib" "^2.0.3" + +"param-case@2.1.x": + "integrity" "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=" + "resolved" "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "no-case" "^2.2.0" + +"parent-module@^1.0.0": + "integrity" "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==" + "resolved" "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "callsites" "^3.0.0" + +"parse-asn1@^5.0.0", "parse-asn1@^5.1.5": + "integrity" "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==" + "resolved" "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz" + "version" "5.1.6" + dependencies: + "asn1.js" "^5.2.0" + "browserify-aes" "^1.0.0" + "evp_bytestokey" "^1.0.0" + "pbkdf2" "^3.0.3" + "safe-buffer" "^5.1.1" + +"parse-entities@^2.0.0": + "integrity" "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==" + "resolved" "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "character-entities" "^1.0.0" + "character-entities-legacy" "^1.0.0" + "character-reference-invalid" "^1.0.0" + "is-alphanumerical" "^1.0.0" + "is-decimal" "^1.0.0" + "is-hexadecimal" "^1.0.0" + +"parse-filepath@^1.0.2": + "integrity" "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=" + "resolved" "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "is-absolute" "^1.0.0" + "map-cache" "^0.2.0" + "path-root" "^0.1.1" + +"parse-github-repo-url@^1.3.0": + "integrity" "sha1-nn2LslKmy2ukJZUGC3v23z28H1A=" + "resolved" "https://registry.npmjs.org/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz" + "version" "1.4.1" + +"parse-json@^2.2.0": + "integrity" "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=" + "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz" + "version" "2.2.0" + dependencies: + "error-ex" "^1.2.0" + +"parse-json@^4.0.0": + "integrity" "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=" + "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "error-ex" "^1.3.1" + "json-parse-better-errors" "^1.0.1" + +"parse-json@^5.0.0": + "integrity" "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==" + "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + "version" "5.2.0" + dependencies: + "@babel/code-frame" "^7.0.0" + "error-ex" "^1.3.1" + "json-parse-even-better-errors" "^2.3.0" + "lines-and-columns" "^1.1.6" + +"parse-path@^4.0.0": + "integrity" "sha512-9Cepbp2asKnWTJ9x2kpw6Fe8y9JDbqwahGCTvklzd/cEq5C5JC59x2Xb0Kx+x0QZ8bvNquGO8/BWP0cwBHzSAA==" + "resolved" "https://registry.npmjs.org/parse-path/-/parse-path-4.0.3.tgz" + "version" "4.0.3" + dependencies: + "is-ssh" "^1.3.0" + "protocols" "^1.4.0" + "qs" "^6.9.4" + "query-string" "^6.13.8" + +"parse-url@^5.0.0": + "integrity" "sha512-nrLCVMJpqo12X8uUJT4GJPd5AFaTOrGx/QpJy3HNcVtq0AZSstVIsnxS5fqNPuoqMUs3MyfBoOP6Zvu2Arok5A==" + "resolved" "https://registry.npmjs.org/parse-url/-/parse-url-5.0.3.tgz" + "version" "5.0.3" + dependencies: + "is-ssh" "^1.3.0" + "normalize-url" "^6.0.1" + "parse-path" "^4.0.0" + "protocols" "^1.4.0" + +"parse5@4.0.0": + "integrity" "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==" + "resolved" "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz" + "version" "4.0.0" + +"parseurl@~1.3.2", "parseurl@~1.3.3": + "integrity" "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + "resolved" "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" + "version" "1.3.3" + +"pascal-case@^3.1.2": + "integrity" "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==" + "resolved" "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz" + "version" "3.1.2" + dependencies: + "no-case" "^3.0.4" + "tslib" "^2.0.3" + +"pascalcase@^0.1.1": + "integrity" "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + "resolved" "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz" + "version" "0.1.1" + +"path-browserify@0.0.1": + "integrity" "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" + "resolved" "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz" + "version" "0.0.1" + +"path-dirname@^1.0.0": + "integrity" "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + "resolved" "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz" + "version" "1.0.2" + +"path-exists@^2.0.0": + "integrity" "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=" + "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "pinkie-promise" "^2.0.0" + +"path-exists@^3.0.0": + "integrity" "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" + "version" "3.0.0" + +"path-exists@^4.0.0": + "integrity" "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + "version" "4.0.0" + +"path-is-absolute@^1.0.0": + "integrity" "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "resolved" "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + "version" "1.0.1" + +"path-is-inside@^1.0.1", "path-is-inside@^1.0.2": + "integrity" "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" + "resolved" "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz" + "version" "1.0.2" + +"path-key@^2.0.0": + "integrity" "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + "resolved" "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" + "version" "2.0.1" + +"path-key@^2.0.1": + "integrity" "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + "resolved" "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" + "version" "2.0.1" + +"path-key@^3.0.0", "path-key@^3.1.0": + "integrity" "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + "resolved" "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + "version" "3.1.1" + +"path-parse@^1.0.6": + "integrity" "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + "resolved" "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + "version" "1.0.7" + +"path-root-regex@^0.1.0": + "integrity" "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=" + "resolved" "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz" + "version" "0.1.2" + +"path-root@^0.1.1": + "integrity" "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=" + "resolved" "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz" + "version" "0.1.1" + dependencies: + "path-root-regex" "^0.1.0" + +"path-to-regexp@^1.7.0": + "integrity" "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==" + "resolved" "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz" + "version" "1.8.0" + dependencies: + "isarray" "0.0.1" + +"path-to-regexp@0.1.7": + "integrity" "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + "resolved" "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" + "version" "0.1.7" + +"path-type@^1.0.0": + "integrity" "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=" + "resolved" "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "graceful-fs" "^4.1.2" + "pify" "^2.0.0" + "pinkie-promise" "^2.0.0" + +"path-type@^3.0.0": + "integrity" "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==" + "resolved" "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "pify" "^3.0.0" + +"path-type@^4.0.0": + "integrity" "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + "resolved" "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + "version" "4.0.0" + +"pbkdf2@^3.0.3": + "integrity" "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==" + "resolved" "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz" + "version" "3.1.2" + dependencies: + "create-hash" "^1.1.2" + "create-hmac" "^1.1.4" + "ripemd160" "^2.0.1" + "safe-buffer" "^5.0.1" + "sha.js" "^2.4.8" + +"performance-now@^2.1.0": + "integrity" "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + "resolved" "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz" + "version" "2.1.0" + +"picocolors@^1.0.0": + "integrity" "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "resolved" "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + "version" "1.0.0" + +"picomatch@^2.0.4", "picomatch@^2.2.1", "picomatch@^2.2.3": + "integrity" "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + "resolved" "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + "version" "2.3.1" + +"pidtree@^0.3.0": + "integrity" "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==" + "resolved" "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz" + "version" "0.3.1" + +"pify@^2.0.0": + "integrity" "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + "resolved" "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + "version" "2.3.0" + +"pify@^2.3.0": + "integrity" "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + "resolved" "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + "version" "2.3.0" + +"pify@^3.0.0": + "integrity" "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + "resolved" "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" + "version" "3.0.0" + +"pify@^4.0.1": + "integrity" "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + "resolved" "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz" + "version" "4.0.1" + +"pify@^5.0.0": + "integrity" "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==" + "resolved" "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz" + "version" "5.0.0" + +"pinkie-promise@^2.0.0": + "integrity" "sha1-ITXW36ejWMBprJsXh3YogihFD/o=" + "resolved" "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "pinkie" "^2.0.0" + +"pinkie@^2.0.0": + "integrity" "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + "resolved" "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" + "version" "2.0.4" + +"pirates@^4.0.1": + "integrity" "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==" + "resolved" "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz" + "version" "4.0.5" + +"pkg-dir@^3.0.0": + "integrity" "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==" + "resolved" "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "find-up" "^3.0.0" + +"pkg-dir@^4.1.0", "pkg-dir@^4.2.0": + "integrity" "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==" + "resolved" "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" + "version" "4.2.0" + dependencies: + "find-up" "^4.0.0" + +"please-upgrade-node@^3.0.2", "please-upgrade-node@^3.1.1": + "integrity" "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==" + "resolved" "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz" + "version" "3.2.0" + dependencies: + "semver-compare" "^1.0.0" + +"pn@^1.1.0": + "integrity" "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==" + "resolved" "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz" + "version" "1.1.0" + +"portfinder@^1.0.13", "portfinder@^1.0.26", "portfinder@^1.0.28": + "integrity" "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==" + "resolved" "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz" + "version" "1.0.28" + dependencies: + "async" "^2.6.2" + "debug" "^3.1.1" + "mkdirp" "^0.5.5" + +"posix-character-classes@^0.1.0": + "integrity" "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + "resolved" "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz" + "version" "0.1.1" + +"postcss-calc@^7.0.1": + "integrity" "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==" + "resolved" "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz" + "version" "7.0.5" + dependencies: + "postcss" "^7.0.27" + "postcss-selector-parser" "^6.0.2" + "postcss-value-parser" "^4.0.2" + +"postcss-colormin@^4.0.3": + "integrity" "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==" + "resolved" "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz" + "version" "4.0.3" + dependencies: + "browserslist" "^4.0.0" + "color" "^3.0.0" + "has" "^1.0.0" + "postcss" "^7.0.0" + "postcss-value-parser" "^3.0.0" + +"postcss-convert-values@^4.0.1": + "integrity" "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==" + "resolved" "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "postcss" "^7.0.0" + "postcss-value-parser" "^3.0.0" + +"postcss-discard-comments@^4.0.2": + "integrity" "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==" + "resolved" "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "postcss" "^7.0.0" + +"postcss-discard-duplicates@^4.0.2": + "integrity" "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==" + "resolved" "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "postcss" "^7.0.0" + +"postcss-discard-empty@^4.0.1": + "integrity" "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==" + "resolved" "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "postcss" "^7.0.0" + +"postcss-discard-overridden@^4.0.1": + "integrity" "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==" + "resolved" "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "postcss" "^7.0.0" + +"postcss-load-config@^2.0.0": + "integrity" "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==" + "resolved" "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz" + "version" "2.1.2" + dependencies: + "cosmiconfig" "^5.0.0" + "import-cwd" "^2.0.0" + +"postcss-loader@^3.0.0": + "integrity" "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==" + "resolved" "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "loader-utils" "^1.1.0" + "postcss" "^7.0.0" + "postcss-load-config" "^2.0.0" + "schema-utils" "^1.0.0" + +"postcss-merge-longhand@^4.0.11": + "integrity" "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==" + "resolved" "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz" + "version" "4.0.11" + dependencies: + "css-color-names" "0.0.4" + "postcss" "^7.0.0" + "postcss-value-parser" "^3.0.0" + "stylehacks" "^4.0.0" + +"postcss-merge-rules@^4.0.3": + "integrity" "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==" + "resolved" "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz" + "version" "4.0.3" + dependencies: + "browserslist" "^4.0.0" + "caniuse-api" "^3.0.0" + "cssnano-util-same-parent" "^4.0.0" + "postcss" "^7.0.0" + "postcss-selector-parser" "^3.0.0" + "vendors" "^1.0.0" + +"postcss-minify-font-values@^4.0.2": + "integrity" "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==" + "resolved" "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "postcss" "^7.0.0" + "postcss-value-parser" "^3.0.0" + +"postcss-minify-gradients@^4.0.2": + "integrity" "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==" + "resolved" "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "cssnano-util-get-arguments" "^4.0.0" + "is-color-stop" "^1.0.0" + "postcss" "^7.0.0" + "postcss-value-parser" "^3.0.0" + +"postcss-minify-params@^4.0.2": + "integrity" "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==" + "resolved" "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "alphanum-sort" "^1.0.0" + "browserslist" "^4.0.0" + "cssnano-util-get-arguments" "^4.0.0" + "postcss" "^7.0.0" + "postcss-value-parser" "^3.0.0" + "uniqs" "^2.0.0" + +"postcss-minify-selectors@^4.0.2": + "integrity" "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==" + "resolved" "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "alphanum-sort" "^1.0.0" + "has" "^1.0.0" + "postcss" "^7.0.0" + "postcss-selector-parser" "^3.0.0" + +"postcss-modules-extract-imports@^2.0.0": + "integrity" "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==" + "resolved" "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "postcss" "^7.0.5" + +"postcss-modules-extract-imports@^3.0.0": + "integrity" "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==" + "resolved" "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz" + "version" "3.0.0" + +"postcss-modules-local-by-default@^2.0.6": + "integrity" "sha512-oLUV5YNkeIBa0yQl7EYnxMgy4N6noxmiwZStaEJUSe2xPMcdNc8WmBQuQCx18H5psYbVxz8zoHk0RAAYZXP9gA==" + "resolved" "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz" + "version" "2.0.6" + dependencies: + "postcss" "^7.0.6" + "postcss-selector-parser" "^6.0.0" + "postcss-value-parser" "^3.3.1" + +"postcss-modules-local-by-default@^4.0.0": + "integrity" "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==" + "resolved" "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "icss-utils" "^5.0.0" + "postcss-selector-parser" "^6.0.2" + "postcss-value-parser" "^4.1.0" + +"postcss-modules-scope@^2.1.0": + "integrity" "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==" + "resolved" "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz" + "version" "2.2.0" + dependencies: + "postcss" "^7.0.6" + "postcss-selector-parser" "^6.0.0" + +"postcss-modules-scope@^3.0.0": + "integrity" "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==" + "resolved" "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "postcss-selector-parser" "^6.0.4" + +"postcss-modules-values@^2.0.0": + "integrity" "sha512-Ki7JZa7ff1N3EIMlPnGTZfUMe69FFwiQPnVSXC9mnn3jozCRBYIxiZd44yJOV2AmabOo4qFf8s0dC/+lweG7+w==" + "resolved" "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "icss-replace-symbols" "^1.1.0" + "postcss" "^7.0.6" + +"postcss-modules-values@^4.0.0": + "integrity" "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==" + "resolved" "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "icss-utils" "^5.0.0" + +"postcss-modules@^4.0.0": + "integrity" "sha512-dBT39hrXe4OAVYJe/2ZuIZ9BzYhOe7t+IhedYeQ2OxKwDpAGlkEN/fR0fGnrbx4BvgbMReRX4hCubYK9cE/pJQ==" + "resolved" "https://registry.npmjs.org/postcss-modules/-/postcss-modules-4.1.3.tgz" + "version" "4.1.3" + dependencies: + "generic-names" "^2.0.1" + "icss-replace-symbols" "^1.1.0" + "lodash.camelcase" "^4.3.0" + "postcss-modules-extract-imports" "^3.0.0" + "postcss-modules-local-by-default" "^4.0.0" + "postcss-modules-scope" "^3.0.0" + "postcss-modules-values" "^4.0.0" + "string-hash" "^1.1.1" + +"postcss-normalize-charset@^4.0.1": + "integrity" "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==" + "resolved" "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "postcss" "^7.0.0" + +"postcss-normalize-display-values@^4.0.2": + "integrity" "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==" + "resolved" "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "cssnano-util-get-match" "^4.0.0" + "postcss" "^7.0.0" + "postcss-value-parser" "^3.0.0" + +"postcss-normalize-positions@^4.0.2": + "integrity" "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==" + "resolved" "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "cssnano-util-get-arguments" "^4.0.0" + "has" "^1.0.0" + "postcss" "^7.0.0" + "postcss-value-parser" "^3.0.0" + +"postcss-normalize-repeat-style@^4.0.2": + "integrity" "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==" + "resolved" "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "cssnano-util-get-arguments" "^4.0.0" + "cssnano-util-get-match" "^4.0.0" + "postcss" "^7.0.0" + "postcss-value-parser" "^3.0.0" + +"postcss-normalize-string@^4.0.2": + "integrity" "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==" + "resolved" "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "has" "^1.0.0" + "postcss" "^7.0.0" + "postcss-value-parser" "^3.0.0" + +"postcss-normalize-timing-functions@^4.0.2": + "integrity" "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==" + "resolved" "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "cssnano-util-get-match" "^4.0.0" + "postcss" "^7.0.0" + "postcss-value-parser" "^3.0.0" + +"postcss-normalize-unicode@^4.0.1": + "integrity" "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==" + "resolved" "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "browserslist" "^4.0.0" + "postcss" "^7.0.0" + "postcss-value-parser" "^3.0.0" + +"postcss-normalize-url@^4.0.1": + "integrity" "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==" + "resolved" "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "is-absolute-url" "^2.0.0" + "normalize-url" "^3.0.0" + "postcss" "^7.0.0" + "postcss-value-parser" "^3.0.0" + +"postcss-normalize-whitespace@^4.0.2": + "integrity" "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==" + "resolved" "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "postcss" "^7.0.0" + "postcss-value-parser" "^3.0.0" + +"postcss-ordered-values@^4.1.2": + "integrity" "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==" + "resolved" "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz" + "version" "4.1.2" + dependencies: + "cssnano-util-get-arguments" "^4.0.0" + "postcss" "^7.0.0" + "postcss-value-parser" "^3.0.0" + +"postcss-reduce-initial@^4.0.3": + "integrity" "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==" + "resolved" "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz" + "version" "4.0.3" + dependencies: + "browserslist" "^4.0.0" + "caniuse-api" "^3.0.0" + "has" "^1.0.0" + "postcss" "^7.0.0" + +"postcss-reduce-transforms@^4.0.2": + "integrity" "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==" + "resolved" "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "cssnano-util-get-match" "^4.0.0" + "has" "^1.0.0" + "postcss" "^7.0.0" + "postcss-value-parser" "^3.0.0" + +"postcss-safe-parser@^4.0.1": + "integrity" "sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g==" + "resolved" "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "postcss" "^7.0.26" + +"postcss-selector-parser@^3.0.0": + "integrity" "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==" + "resolved" "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz" + "version" "3.1.2" + dependencies: + "dot-prop" "^5.2.0" + "indexes-of" "^1.0.1" + "uniq" "^1.0.1" + +"postcss-selector-parser@^6.0.0", "postcss-selector-parser@^6.0.2", "postcss-selector-parser@^6.0.4": + "integrity" "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==" + "resolved" "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz" + "version" "6.0.6" + dependencies: + "cssesc" "^3.0.0" + "util-deprecate" "^1.0.2" + +"postcss-svgo@^4.0.3": + "integrity" "sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==" + "resolved" "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.3.tgz" + "version" "4.0.3" + dependencies: + "postcss" "^7.0.0" + "postcss-value-parser" "^3.0.0" + "svgo" "^1.0.0" + +"postcss-unique-selectors@^4.0.1": + "integrity" "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==" + "resolved" "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "alphanum-sort" "^1.0.0" + "postcss" "^7.0.0" + "uniqs" "^2.0.0" + +"postcss-value-parser@^3.0.0": + "integrity" "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + "resolved" "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz" + "version" "3.3.1" + +"postcss-value-parser@^3.3.0", "postcss-value-parser@^3.3.1": + "integrity" "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + "resolved" "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz" + "version" "3.3.1" + +"postcss-value-parser@^4.0.2", "postcss-value-parser@^4.1.0": + "integrity" "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==" + "resolved" "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz" + "version" "4.1.0" + +"postcss@^7.0.0": + "integrity" "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==" + "resolved" "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz" + "version" "7.0.36" + dependencies: + "chalk" "^2.4.2" + "source-map" "^0.6.1" + "supports-color" "^6.1.0" + +"postcss@^7.0.1": + "integrity" "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==" + "resolved" "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz" + "version" "7.0.36" + dependencies: + "chalk" "^2.4.2" + "source-map" "^0.6.1" + "supports-color" "^6.1.0" + +"postcss@^7.0.14", "postcss@^7.0.5", "postcss@^7.0.6": + "integrity" "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==" + "resolved" "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz" + "version" "7.0.36" + dependencies: + "chalk" "^2.4.2" + "source-map" "^0.6.1" + "supports-color" "^6.1.0" + +"postcss@^7.0.26": + "integrity" "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==" + "resolved" "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz" + "version" "7.0.36" + dependencies: + "chalk" "^2.4.2" + "source-map" "^0.6.1" + "supports-color" "^6.1.0" + +"postcss@^7.0.27": + "integrity" "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==" + "resolved" "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz" + "version" "7.0.36" + dependencies: + "chalk" "^2.4.2" + "source-map" "^0.6.1" + "supports-color" "^6.1.0" + +"postcss@^7.0.32": + "integrity" "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==" + "resolved" "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz" + "version" "7.0.36" + dependencies: + "chalk" "^2.4.2" + "source-map" "^0.6.1" + "supports-color" "^6.1.0" + +"postcss@^8.0.0", "postcss@^8.1.0", "postcss@^8.1.10": + "integrity" "sha512-gnXd9C4bGKevvlNFd80I8WfxHX+g6MR+W2h19PlDNHUuT9248rHTvCIDeZI3Hvs5mB3gzXiNDwVK3S153WJbZA==" + "resolved" "https://registry.npmjs.org/postcss/-/postcss-8.3.3.tgz" + "version" "8.3.3" + dependencies: + "colorette" "^1.2.2" + "nanoid" "^3.1.23" + "source-map-js" "^0.6.2" + +"prelude-ls@^1.2.1": + "integrity" "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" + "resolved" "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" + "version" "1.2.1" + +"prelude-ls@~1.1.2": + "integrity" "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + "resolved" "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" + "version" "1.1.2" + +"prepend-http@^2.0.0": + "integrity" "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" + "resolved" "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz" + "version" "2.0.0" + +"prettier@^1.18.2": + "integrity" "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==" + "resolved" "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz" + "version" "1.19.1" + +"prettier@^2.4.1": + "integrity" "sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA==" + "resolved" "https://registry.npmjs.org/prettier/-/prettier-2.4.1.tgz" + "version" "2.4.1" + +"pretty-error@^2.0.2": + "integrity" "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==" + "resolved" "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz" + "version" "2.1.2" + dependencies: + "lodash" "^4.17.20" + "renderkid" "^2.0.4" + +"pretty-error@^4.0.0": + "integrity" "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==" + "resolved" "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "lodash" "^4.17.20" + "renderkid" "^3.0.0" + +"pretty-format@^24.9.0": + "integrity" "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==" + "resolved" "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz" + "version" "24.9.0" + dependencies: + "@jest/types" "^24.9.0" + "ansi-regex" "^4.0.0" + "ansi-styles" "^3.2.0" + "react-is" "^16.8.4" + +"pretty-time@^1.1.0": + "integrity" "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==" + "resolved" "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz" + "version" "1.1.0" + +"prismjs@^1.13.0": + "integrity" "sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==" + "resolved" "https://registry.npmjs.org/prismjs/-/prismjs-1.27.0.tgz" + "version" "1.27.0" + +"process-nextick-args@^2.0.0", "process-nextick-args@~2.0.0": + "integrity" "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "resolved" "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" + "version" "2.0.1" + +"process-nextick-args@~1.0.6": + "integrity" "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + "resolved" "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz" + "version" "1.0.7" + +"process@^0.11.10": + "integrity" "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + "resolved" "https://registry.npmjs.org/process/-/process-0.11.10.tgz" + "version" "0.11.10" + +"promise-inflight@^1.0.1": + "integrity" "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" + "resolved" "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz" + "version" "1.0.1" + +"promise-polyfill@^8.1.3": + "integrity" "sha512-k/TC0mIcPVF6yHhUvwAp7cvL6I2fFV7TzF1DuGPI8mBh4QQazf36xCKEHKTZKRysEoTQoQdKyP25J8MPJp7j5g==" + "resolved" "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.2.0.tgz" + "version" "8.2.0" + +"prompts@^2.0.1": + "integrity" "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==" + "resolved" "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" + "version" "2.4.2" + dependencies: + "kleur" "^3.0.3" + "sisteransi" "^1.0.5" + +"property-expr@^1.5.0": + "integrity" "sha512-CGuc0VUTGthpJXL36ydB6jnbyOf/rAHFvmVrJlH+Rg0DqqLFQGAP6hIaxD/G0OAmBJPhXDHuEJigrp0e0wFV6g==" + "resolved" "https://registry.npmjs.org/property-expr/-/property-expr-1.5.1.tgz" + "version" "1.5.1" + +"property-information@^5.0.0": + "integrity" "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==" + "resolved" "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz" + "version" "5.6.0" + dependencies: + "xtend" "^4.0.0" + +"protocols@^1.1.0", "protocols@^1.4.0": + "integrity" "sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg==" + "resolved" "https://registry.npmjs.org/protocols/-/protocols-1.4.8.tgz" + "version" "1.4.8" + +"proxy-addr@~2.0.5": + "integrity" "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==" + "resolved" "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" + "version" "2.0.7" + dependencies: + "forwarded" "0.2.0" + "ipaddr.js" "1.9.1" + +"prr@~1.0.1": + "integrity" "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + "resolved" "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz" + "version" "1.0.1" + +"pseudomap@^1.0.2": + "integrity" "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + "resolved" "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz" + "version" "1.0.2" + +"psl@^1.1.28": + "integrity" "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + "resolved" "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz" + "version" "1.8.0" + +"public-encrypt@^4.0.0": + "integrity" "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==" + "resolved" "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz" + "version" "4.0.3" + dependencies: + "bn.js" "^4.1.0" + "browserify-rsa" "^4.0.0" + "create-hash" "^1.1.0" + "parse-asn1" "^5.0.0" + "randombytes" "^2.0.1" + "safe-buffer" "^5.1.2" + +"pump@^2.0.0": + "integrity" "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==" + "resolved" "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "end-of-stream" "^1.1.0" + "once" "^1.3.1" + +"pump@^3.0.0": + "integrity" "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==" + "resolved" "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "end-of-stream" "^1.1.0" + "once" "^1.3.1" + +"pumpify@^1.3.3", "pumpify@^1.3.5": + "integrity" "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==" + "resolved" "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz" + "version" "1.5.1" + dependencies: + "duplexify" "^3.6.0" + "inherits" "^2.0.3" + "pump" "^2.0.0" + +"punycode@^1.2.4": + "integrity" "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + "resolved" "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" + "version" "1.4.1" + +"punycode@^2.1.0", "punycode@^2.1.1": + "integrity" "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + "resolved" "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" + "version" "2.1.1" + +"punycode@1.3.2": + "integrity" "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + "resolved" "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz" + "version" "1.3.2" + +"pupa@^2.0.1": + "integrity" "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==" + "resolved" "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "escape-goat" "^2.0.0" + +"q@^1.1.2", "q@^1.5.1": + "integrity" "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" + "resolved" "https://registry.npmjs.org/q/-/q-1.5.1.tgz" + "version" "1.5.1" + +"qs@^6.4.0", "qs@^6.9.4": + "integrity" "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==" + "resolved" "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz" + "version" "6.10.1" + dependencies: + "side-channel" "^1.0.4" + +"qs@~6.5.2": + "integrity" "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + "resolved" "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz" + "version" "6.5.2" + +"qs@6.7.0": + "integrity" "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + "resolved" "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz" + "version" "6.7.0" + +"query-string@^5.0.1": + "integrity" "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==" + "resolved" "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz" + "version" "5.1.1" + dependencies: + "decode-uri-component" "^0.2.0" + "object-assign" "^4.1.0" + "strict-uri-encode" "^1.0.0" + +"query-string@^6.13.8": + "integrity" "sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==" + "resolved" "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz" + "version" "6.14.1" + dependencies: + "decode-uri-component" "^0.2.0" + "filter-obj" "^1.1.0" + "split-on-first" "^1.0.0" + "strict-uri-encode" "^2.0.0" + +"querystring-es3@^0.2.0", "querystring-es3@^0.2.1": + "integrity" "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" + "resolved" "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz" + "version" "0.2.1" + +"querystring@0.2.0": + "integrity" "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + "resolved" "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz" + "version" "0.2.0" + +"querystringify@^2.1.1": + "integrity" "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + "resolved" "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz" + "version" "2.2.0" + +"queue-microtask@^1.2.2": + "integrity" "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + "resolved" "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + "version" "1.2.3" + +"quick-lru@^4.0.1": + "integrity" "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==" + "resolved" "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz" + "version" "4.0.1" + +"randombytes@^2.0.0", "randombytes@^2.0.1", "randombytes@^2.0.5", "randombytes@^2.1.0": + "integrity" "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==" + "resolved" "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "safe-buffer" "^5.1.0" + +"randomfill@^1.0.3": + "integrity" "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==" + "resolved" "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz" + "version" "1.0.4" + dependencies: + "randombytes" "^2.0.5" + "safe-buffer" "^5.1.0" + +"range-parser@^1.2.1", "range-parser@~1.2.1": + "integrity" "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + "resolved" "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" + "version" "1.2.1" + +"raw-body@~1.1.0": + "integrity" "sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=" + "resolved" "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz" + "version" "1.1.7" + dependencies: + "bytes" "1" + "string_decoder" "0.10" + +"raw-body@2.4.0": + "integrity" "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==" + "resolved" "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz" + "version" "2.4.0" + dependencies: + "bytes" "3.1.0" + "http-errors" "1.7.2" + "iconv-lite" "0.4.24" + "unpipe" "1.0.0" + +"rc@^1.2.8": + "integrity" "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==" + "resolved" "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" + "version" "1.2.8" + dependencies: + "deep-extend" "^0.6.0" + "ini" "~1.3.0" + "minimist" "^1.2.0" + "strip-json-comments" "~2.0.1" + +"react-is@^16.8.4": + "integrity" "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "resolved" "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" + "version" "16.13.1" + +"read-pkg-up@^1.0.1": + "integrity" "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=" + "resolved" "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "find-up" "^1.0.0" + "read-pkg" "^1.0.0" + +"read-pkg-up@^3.0.0": + "integrity" "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=" + "resolved" "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "find-up" "^2.0.0" + "read-pkg" "^3.0.0" + +"read-pkg-up@^4.0.0": + "integrity" "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==" + "resolved" "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "find-up" "^3.0.0" + "read-pkg" "^3.0.0" + +"read-pkg-up@^7.0.1": + "integrity" "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==" + "resolved" "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz" + "version" "7.0.1" + dependencies: + "find-up" "^4.1.0" + "read-pkg" "^5.2.0" + "type-fest" "^0.8.1" + +"read-pkg@^1.0.0": + "integrity" "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=" + "resolved" "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "load-json-file" "^1.0.0" + "normalize-package-data" "^2.3.2" + "path-type" "^1.0.0" + +"read-pkg@^3.0.0": + "integrity" "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=" + "resolved" "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "load-json-file" "^4.0.0" + "normalize-package-data" "^2.3.2" + "path-type" "^3.0.0" + +"read-pkg@^5.1.1", "read-pkg@^5.2.0": + "integrity" "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==" + "resolved" "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz" + "version" "5.2.0" + dependencies: + "@types/normalize-package-data" "^2.4.0" + "normalize-package-data" "^2.5.0" + "parse-json" "^5.0.0" + "type-fest" "^0.6.0" + +"readable-stream@^2.0.0", "readable-stream@^2.0.1", "readable-stream@^2.0.2", "readable-stream@^2.0.5", "readable-stream@^2.1.5", "readable-stream@^2.2.2", "readable-stream@^2.3.3", "readable-stream@^2.3.5", "readable-stream@^2.3.6", "readable-stream@~2.3.6", "readable-stream@1 || 2": + "integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" + "version" "2.3.7" + dependencies: + "core-util-is" "~1.0.0" + "inherits" "~2.0.3" + "isarray" "~1.0.0" + "process-nextick-args" "~2.0.0" + "safe-buffer" "~5.1.1" + "string_decoder" "~1.1.1" + "util-deprecate" "~1.0.1" + +"readable-stream@^3.0.0": + "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" + "version" "3.6.0" + dependencies: + "inherits" "^2.0.3" + "string_decoder" "^1.1.1" + "util-deprecate" "^1.0.1" + +"readable-stream@^3.0.2": + "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" + "version" "3.6.0" + dependencies: + "inherits" "^2.0.3" + "string_decoder" "^1.1.1" + "util-deprecate" "^1.0.1" + +"readable-stream@^3.0.6": + "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" + "version" "3.6.0" + dependencies: + "inherits" "^2.0.3" + "string_decoder" "^1.1.1" + "util-deprecate" "^1.0.1" + +"readable-stream@^3.4.0": + "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" + "version" "3.6.0" + dependencies: + "inherits" "^2.0.3" + "string_decoder" "^1.1.1" + "util-deprecate" "^1.0.1" + +"readable-stream@^3.6.0": + "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" + "version" "3.6.0" + dependencies: + "inherits" "^2.0.3" + "string_decoder" "^1.1.1" + "util-deprecate" "^1.0.1" + +"readable-stream@~2.0.0": + "integrity" "sha1-j5A0HmilPMySh4jaz80Rs265t44=" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz" + "version" "2.0.6" + dependencies: + "core-util-is" "~1.0.0" + "inherits" "~2.0.1" + "isarray" "~1.0.0" + "process-nextick-args" "~1.0.6" + "string_decoder" "~0.10.x" + "util-deprecate" "~1.0.1" + +"readable-stream@~2.1.0": + "integrity" "sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA=" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz" + "version" "2.1.5" + dependencies: + "buffer-shims" "^1.0.0" + "core-util-is" "~1.0.0" + "inherits" "~2.0.1" + "isarray" "~1.0.0" + "process-nextick-args" "~1.0.6" + "string_decoder" "~0.10.x" + "util-deprecate" "~1.0.1" + +"readable-stream@3": + "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" + "version" "3.6.0" + dependencies: + "inherits" "^2.0.3" + "string_decoder" "^1.1.1" + "util-deprecate" "^1.0.1" + +"readdirp@^2.2.1": + "integrity" "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==" + "resolved" "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz" + "version" "2.2.1" + dependencies: + "graceful-fs" "^4.1.11" + "micromatch" "^3.1.10" + "readable-stream" "^2.0.2" + +"readdirp@~3.5.0": + "integrity" "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==" + "resolved" "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz" + "version" "3.5.0" + dependencies: + "picomatch" "^2.2.1" + +"readdirp@~3.6.0": + "integrity" "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==" + "resolved" "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + "version" "3.6.0" + dependencies: + "picomatch" "^2.2.1" + +"realpath-native@^1.1.0": + "integrity" "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==" + "resolved" "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "util.promisify" "^1.0.0" + +"rechoir@^0.6.2": + "integrity" "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=" + "resolved" "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" + "version" "0.6.2" + dependencies: + "resolve" "^1.1.6" + +"rechoir@^0.7.0": + "integrity" "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==" + "resolved" "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz" + "version" "0.7.1" + dependencies: + "resolve" "^1.9.0" + +"redent@^1.0.0": + "integrity" "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=" + "resolved" "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "indent-string" "^2.1.0" + "strip-indent" "^1.0.1" + +"redent@^3.0.0": + "integrity" "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==" + "resolved" "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "indent-string" "^4.0.0" + "strip-indent" "^3.0.0" + +"reduce@^1.0.1": + "integrity" "sha512-xX7Fxke/oHO5IfZSk77lvPa/7bjMh9BuCk4OOoX5XTXrM7s0Z+MkPfSDfz0q7r91BhhGSs8gii/VEN/7zhCPpQ==" + "resolved" "https://registry.npmjs.org/reduce/-/reduce-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "object-keys" "^1.1.0" + +"regenerate-unicode-properties@^10.0.1": + "integrity" "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==" + "resolved" "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz" + "version" "10.0.1" + dependencies: + "regenerate" "^1.4.2" + +"regenerate@^1.4.2": + "integrity" "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + "resolved" "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" + "version" "1.4.2" -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz" +"regenerator-runtime@^0.13.4": + "integrity" "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" + "resolved" "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz" + "version" "0.13.7" -compressible@~2.0.16: - version "2.0.18" - resolved "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz" +"regenerator-transform@^0.14.2": + "integrity" "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==" + "resolved" "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz" + "version" "0.14.5" dependencies: - mime-db ">= 1.43.0 < 2" + "@babel/runtime" "^7.8.4" -compression@^1.7.4: - version "1.7.4" - resolved "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz" +"regex-not@^1.0.0", "regex-not@^1.0.2": + "integrity" "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==" + "resolved" "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz" + "version" "1.0.2" dependencies: - accepts "~1.3.5" - bytes "3.0.0" - compressible "~2.0.16" - debug "2.6.9" - on-headers "~1.0.2" - safe-buffer "5.1.2" - vary "~1.1.2" + "extend-shallow" "^3.0.2" + "safe-regex" "^1.1.0" -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - -concat-stream@^1.5.0, concat-stream@^1.6.0: - version "1.6.2" - resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz" +"regexp.prototype.flags@^1.2.0": + "integrity" "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==" + "resolved" "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz" + "version" "1.3.1" dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" + "call-bind" "^1.0.2" + "define-properties" "^1.1.3" -concat-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz" - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.0.2" - typedarray "^0.0.6" +"regexpp@^3.2.0": + "integrity" "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==" + "resolved" "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" + "version" "3.2.0" -concat-stream@~1.5.0: - version "1.5.2" - resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz" +"regexpu-core@^5.0.1": + "integrity" "sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==" + "resolved" "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz" + "version" "5.0.1" dependencies: - inherits "~2.0.1" - readable-stream "~2.0.0" - typedarray "~0.0.5" - -configstore@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz" - dependencies: - dot-prop "^5.2.0" - graceful-fs "^4.1.2" - make-dir "^3.0.0" - unique-string "^2.0.0" - write-file-atomic "^3.0.0" - xdg-basedir "^4.0.0" - -connect-history-api-fallback@^1.5.0, connect-history-api-fallback@^1.6.0: - version "1.6.0" - resolved "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz" - -consola@^2.6.0: - version "2.15.3" - resolved "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz" - -console-browserify@^1.1.0: - version "1.2.0" - resolved "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz" + "regenerate" "^1.4.2" + "regenerate-unicode-properties" "^10.0.1" + "regjsgen" "^0.6.0" + "regjsparser" "^0.8.2" + "unicode-match-property-ecmascript" "^2.0.0" + "unicode-match-property-value-ecmascript" "^2.0.0" -consolidate@^0.15.1: - version "0.15.1" - resolved "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz" +"registry-auth-token@^4.0.0": + "integrity" "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==" + "resolved" "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz" + "version" "4.2.1" dependencies: - bluebird "^3.1.1" + "rc" "^1.2.8" -consolidate@^0.16.0: - version "0.16.0" - resolved "https://registry.npmjs.org/consolidate/-/consolidate-0.16.0.tgz" +"registry-url@^5.0.0": + "integrity" "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==" + "resolved" "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz" + "version" "5.1.0" dependencies: - bluebird "^3.7.2" + "rc" "^1.2.8" -constants-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz" +"regjsgen@^0.6.0": + "integrity" "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==" + "resolved" "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz" + "version" "0.6.0" -content-disposition@0.5.3: - version "0.5.3" - resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz" +"regjsparser@^0.8.2": + "integrity" "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==" + "resolved" "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz" + "version" "0.8.4" dependencies: - safe-buffer "5.1.2" + "jsesc" "~0.5.0" -content-type@~1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz" - -continuable-cache@^0.3.1: - version "0.3.1" - resolved "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz" - -conventional-changelog-angular@^5.0.12: - version "5.0.12" - resolved "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.12.tgz" - dependencies: - compare-func "^2.0.0" - q "^1.5.1" - -conventional-changelog-atom@^2.0.8: - version "2.0.8" - resolved "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz" - dependencies: - q "^1.5.1" - -conventional-changelog-codemirror@^2.0.8: - version "2.0.8" - resolved "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz" - dependencies: - q "^1.5.1" - -conventional-changelog-config-spec@2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/conventional-changelog-config-spec/-/conventional-changelog-config-spec-2.1.0.tgz" - -conventional-changelog-conventionalcommits@4.5.0, conventional-changelog-conventionalcommits@^4.5.0: - version "4.5.0" - resolved "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.5.0.tgz" - dependencies: - compare-func "^2.0.0" - lodash "^4.17.15" - q "^1.5.1" - -conventional-changelog-core@^4.2.1: - version "4.2.2" - resolved "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.2.tgz" - dependencies: - add-stream "^1.0.0" - conventional-changelog-writer "^4.0.18" - conventional-commits-parser "^3.2.0" - dateformat "^3.0.0" - get-pkg-repo "^1.0.0" - git-raw-commits "^2.0.8" - git-remote-origin-url "^2.0.0" - git-semver-tags "^4.1.1" - lodash "^4.17.15" - normalize-package-data "^3.0.0" - q "^1.5.1" - read-pkg "^3.0.0" - read-pkg-up "^3.0.0" - shelljs "^0.8.3" - through2 "^4.0.0" - -conventional-changelog-ember@^2.0.9: - version "2.0.9" - resolved "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz" - dependencies: - q "^1.5.1" - -conventional-changelog-eslint@^3.0.9: - version "3.0.9" - resolved "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz" - dependencies: - q "^1.5.1" - -conventional-changelog-express@^2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz" - dependencies: - q "^1.5.1" - -conventional-changelog-jquery@^3.0.11: - version "3.0.11" - resolved "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz" - dependencies: - q "^1.5.1" - -conventional-changelog-jshint@^2.0.9: - version "2.0.9" - resolved "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz" - dependencies: - compare-func "^2.0.0" - q "^1.5.1" - -conventional-changelog-preset-loader@^2.3.4: - version "2.3.4" - resolved "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz" - -conventional-changelog-writer@^4.0.18: - version "4.1.0" - resolved "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.1.0.tgz" - dependencies: - compare-func "^2.0.0" - conventional-commits-filter "^2.0.7" - dateformat "^3.0.0" - handlebars "^4.7.6" - json-stringify-safe "^5.0.1" - lodash "^4.17.15" - meow "^8.0.0" - semver "^6.0.0" - split "^1.0.0" - through2 "^4.0.0" - -conventional-changelog@3.1.24: - version "3.1.24" - resolved "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.24.tgz" - dependencies: - conventional-changelog-angular "^5.0.12" - conventional-changelog-atom "^2.0.8" - conventional-changelog-codemirror "^2.0.8" - conventional-changelog-conventionalcommits "^4.5.0" - conventional-changelog-core "^4.2.1" - conventional-changelog-ember "^2.0.9" - conventional-changelog-eslint "^3.0.9" - conventional-changelog-express "^2.0.6" - conventional-changelog-jquery "^3.0.11" - conventional-changelog-jshint "^2.0.9" - conventional-changelog-preset-loader "^2.3.4" - -conventional-commits-filter@^2.0.7: - version "2.0.7" - resolved "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz" - dependencies: - lodash.ismatch "^4.4.0" - modify-values "^1.0.0" - -conventional-commits-parser@^3.2.0: - version "3.2.1" - resolved "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.1.tgz" - dependencies: - JSONStream "^1.0.4" - is-text-path "^1.0.1" - lodash "^4.17.15" - meow "^8.0.0" - split2 "^3.0.0" - through2 "^4.0.0" - trim-off-newlines "^1.0.0" - -conventional-recommended-bump@6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz" - dependencies: - concat-stream "^2.0.0" - conventional-changelog-preset-loader "^2.3.4" - conventional-commits-filter "^2.0.7" - conventional-commits-parser "^3.2.0" - git-raw-commits "^2.0.8" - git-semver-tags "^4.1.1" - meow "^8.0.0" - q "^1.5.1" - -convert-source-map@^1.1.0, convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.7.0: - version "1.7.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz" - dependencies: - safe-buffer "~5.1.1" - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" - -cookie@0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz" - -copy-concurrently@^1.0.0: - version "1.0.5" - resolved "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz" - dependencies: - aproba "^1.1.1" - fs-write-stream-atomic "^1.0.8" - iferr "^0.1.5" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.0" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz" - -copy-webpack-plugin@^5.0.2: - version "5.1.2" - resolved "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.2.tgz" - dependencies: - cacache "^12.0.3" - find-cache-dir "^2.1.0" - glob-parent "^3.1.0" - globby "^7.1.1" - is-glob "^4.0.1" - loader-utils "^1.2.3" - minimatch "^3.0.4" - normalize-path "^3.0.0" - p-limit "^2.2.1" - schema-utils "^1.0.0" - serialize-javascript "^4.0.0" - webpack-log "^2.0.0" - -core-js-compat@^3.20.2, core-js-compat@^3.21.0, core-js-compat@^3.6.5: - version "3.21.1" - resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.21.1.tgz" - dependencies: - browserslist "^4.19.1" - semver "7.0.0" - -core-js@^3.21.1, core-js@^3.6.4, core-js@^3.6.5: - version "3.21.1" - resolved "https://registry.npmjs.org/core-js/-/core-js-3.21.1.tgz" - -core-util-is@1.0.2, core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" - -cosmiconfig@^5.0.0, cosmiconfig@^5.2.0: - version "5.2.1" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz" - dependencies: - import-fresh "^2.0.0" - is-directory "^0.3.1" - js-yaml "^3.13.1" - parse-json "^4.0.0" - -create-ecdh@^4.0.0: - version "4.0.4" - resolved "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz" - dependencies: - bn.js "^4.1.0" - elliptic "^6.5.3" - -create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz" - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: - version "1.1.7" - resolved "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz" - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -cross-spawn@^6.0.0, cross-spawn@^6.0.5: - version "6.0.5" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -crypto-browserify@^3.11.0: - version "3.12.0" - resolved "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz" - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - randomfill "^1.0.3" - -crypto-random-string@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz" - -css-color-names@0.0.4, css-color-names@^0.0.4: - version "0.0.4" - resolved "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz" - -css-declaration-sorter@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz" - dependencies: - postcss "^7.0.1" - timsort "^0.3.0" - -css-loader@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/css-loader/-/css-loader-2.1.1.tgz" - dependencies: - camelcase "^5.2.0" - icss-utils "^4.1.0" - loader-utils "^1.2.3" - normalize-path "^3.0.0" - postcss "^7.0.14" - postcss-modules-extract-imports "^2.0.0" - postcss-modules-local-by-default "^2.0.6" - postcss-modules-scope "^2.1.0" - postcss-modules-values "^2.0.0" - postcss-value-parser "^3.3.0" - schema-utils "^1.0.0" - -css-parse@~2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz" - dependencies: - css "^2.0.0" - -css-select-base-adapter@^0.1.1: - version "0.1.1" - resolved "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz" - -css-select@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz" - dependencies: - boolbase "^1.0.0" - css-what "^3.2.1" - domutils "^1.7.0" - nth-check "^1.0.2" - -css-select@^4.1.3: - version "4.1.3" - resolved "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz" - dependencies: - boolbase "^1.0.0" - css-what "^5.0.0" - domhandler "^4.2.0" - domutils "^2.6.0" - nth-check "^2.0.0" - -css-tree@1.0.0-alpha.37: - version "1.0.0-alpha.37" - resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz" - dependencies: - mdn-data "2.0.4" - source-map "^0.6.1" - -css-tree@^1.1.2: - version "1.1.3" - resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz" - dependencies: - mdn-data "2.0.14" - source-map "^0.6.1" - -css-what@^3.2.1: - version "3.4.2" - resolved "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz" - -css-what@^5.0.0: - version "5.0.1" - resolved "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz" - -css@^2.0.0: - version "2.2.4" - resolved "https://registry.npmjs.org/css/-/css-2.2.4.tgz" - dependencies: - inherits "^2.0.3" - source-map "^0.6.1" - source-map-resolve "^0.5.2" - urix "^0.1.0" - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" - -cssnano-preset-default@^4.0.8: - version "4.0.8" - resolved "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz" - dependencies: - css-declaration-sorter "^4.0.1" - cssnano-util-raw-cache "^4.0.1" - postcss "^7.0.0" - postcss-calc "^7.0.1" - postcss-colormin "^4.0.3" - postcss-convert-values "^4.0.1" - postcss-discard-comments "^4.0.2" - postcss-discard-duplicates "^4.0.2" - postcss-discard-empty "^4.0.1" - postcss-discard-overridden "^4.0.1" - postcss-merge-longhand "^4.0.11" - postcss-merge-rules "^4.0.3" - postcss-minify-font-values "^4.0.2" - postcss-minify-gradients "^4.0.2" - postcss-minify-params "^4.0.2" - postcss-minify-selectors "^4.0.2" - postcss-normalize-charset "^4.0.1" - postcss-normalize-display-values "^4.0.2" - postcss-normalize-positions "^4.0.2" - postcss-normalize-repeat-style "^4.0.2" - postcss-normalize-string "^4.0.2" - postcss-normalize-timing-functions "^4.0.2" - postcss-normalize-unicode "^4.0.1" - postcss-normalize-url "^4.0.1" - postcss-normalize-whitespace "^4.0.2" - postcss-ordered-values "^4.1.2" - postcss-reduce-initial "^4.0.3" - postcss-reduce-transforms "^4.0.2" - postcss-svgo "^4.0.3" - postcss-unique-selectors "^4.0.1" - -cssnano-util-get-arguments@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz" - -cssnano-util-get-match@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz" - -cssnano-util-raw-cache@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz" - dependencies: - postcss "^7.0.0" - -cssnano-util-same-parent@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz" - -cssnano@^4.1.10: - version "4.1.11" - resolved "https://registry.npmjs.org/cssnano/-/cssnano-4.1.11.tgz" - dependencies: - cosmiconfig "^5.0.0" - cssnano-preset-default "^4.0.8" - is-resolvable "^1.0.0" - postcss "^7.0.0" - -csso@^4.0.2: - version "4.2.0" - resolved "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz" - dependencies: - css-tree "^1.1.2" - -cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": - version "0.3.8" - resolved "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz" - -cssstyle@^1.0.0: - version "1.4.0" - resolved "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz" - dependencies: - cssom "0.3.x" - -currently-unhandled@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz" - dependencies: - array-find-index "^1.0.1" - -cyclist@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz" - -dargs@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz" - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz" - dependencies: - assert-plus "^1.0.0" - -data-urls@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz" - dependencies: - abab "^2.0.0" - whatwg-mimetype "^2.2.0" - whatwg-url "^7.0.0" - -date-fns@^1.27.2: - version "1.30.1" - resolved "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz" - -dateformat@^3.0.0: - version "3.0.3" - resolved "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz" +"relateurl@^0.2.7", "relateurl@0.2.x": + "integrity" "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=" + "resolved" "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz" + "version" "0.2.7" -de-indent@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz" +"remark-gfm@^1.0.0": + "integrity" "sha512-KfexHJCiqvrdBZVbQ6RopMZGwaXz6wFJEfByIuEwGf0arvITHjiKKZ1dpXujjH9KZdm1//XJQwgfnJ3lmXaDPA==" + "resolved" "https://registry.npmjs.org/remark-gfm/-/remark-gfm-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "mdast-util-gfm" "^0.1.0" + "micromark-extension-gfm" "^0.3.0" -debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: - version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" +"remark-html@^13.0.1": + "integrity" "sha512-LhSRQ+3RKdBqB/RGesFWkNNfkGqprDUCwjq54SylfFeNyZby5kqOG8Dn/vYsRoM8htab6EWxFXCY6XIZvMoRiQ==" + "resolved" "https://registry.npmjs.org/remark-html/-/remark-html-13.0.2.tgz" + "version" "13.0.2" dependencies: - ms "2.0.0" + "hast-util-sanitize" "^3.0.0" + "hast-util-to-html" "^7.0.0" + "mdast-util-to-hast" "^10.0.0" -debug@^3.1.0, debug@^3.1.1, debug@^3.2.6: - version "3.2.7" - resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" +"remark-parse@^9.0.0": + "integrity" "sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==" + "resolved" "https://registry.npmjs.org/remark-parse/-/remark-parse-9.0.0.tgz" + "version" "9.0.0" dependencies: - ms "^2.1.1" + "mdast-util-from-markdown" "^0.8.0" -debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: - version "4.3.1" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz" +"remark-reference-links@^5.0.0": + "integrity" "sha512-oSIo6lfDyG/1yYl2jPZNXmD9dgyPxp07mSd7snJagVMsDU6NRlD8i54MwHWUgMoOHTs8lIKPkwaUok/tbr5syQ==" + "resolved" "https://registry.npmjs.org/remark-reference-links/-/remark-reference-links-5.0.0.tgz" + "version" "5.0.0" dependencies: - ms "2.1.2" + "unist-util-visit" "^2.0.0" -debug@^4.3.2: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" +"remark-stringify@^9.0.0": + "integrity" "sha512-mWmNg3ZtESvZS8fv5PTvaPckdL4iNlCHTt8/e/8oN08nArHRHjNZMKzA/YW3+p7/lYqIw4nx1XsjCBo/AxNChg==" + "resolved" "https://registry.npmjs.org/remark-stringify/-/remark-stringify-9.0.1.tgz" + "version" "9.0.1" dependencies: - ms "2.1.2" + "mdast-util-to-markdown" "^0.6.0" -debug@~3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz" +"remark-toc@^7.2.0": + "integrity" "sha512-ppHepvpbg7j5kPFmU5rzDC4k2GTcPDvWcxXyr/7BZzO1cBSPk0stKtEJdsgAyw2WHKPGxadcHIZRjb2/sHxjkg==" + "resolved" "https://registry.npmjs.org/remark-toc/-/remark-toc-7.2.0.tgz" + "version" "7.2.0" dependencies: - ms "2.0.0" + "@types/unist" "^2.0.3" + "mdast-util-toc" "^5.0.0" + +"remark@^13.0.0": + "integrity" "sha512-HDz1+IKGtOyWN+QgBiAT0kn+2s6ovOxHyPAFGKVE81VSzJ+mq7RwHFledEvB5F1p4iJvOah/LOKdFuzvRnNLCA==" + "resolved" "https://registry.npmjs.org/remark/-/remark-13.0.0.tgz" + "version" "13.0.0" + dependencies: + "remark-parse" "^9.0.0" + "remark-stringify" "^9.0.0" + "unified" "^9.1.0" + +"remove-bom-buffer@^3.0.0": + "integrity" "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==" + "resolved" "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "is-buffer" "^1.1.5" + "is-utf8" "^0.2.1" + +"remove-bom-stream@^1.2.0": + "integrity" "sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=" + "resolved" "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "remove-bom-buffer" "^3.0.0" + "safe-buffer" "^5.1.0" + "through2" "^2.0.3" + +"remove-trailing-separator@^1.0.1": + "integrity" "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + "resolved" "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz" + "version" "1.1.0" + +"renderkid@^2.0.4": + "integrity" "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==" + "resolved" "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz" + "version" "2.0.7" + dependencies: + "css-select" "^4.1.3" + "dom-converter" "^0.2.0" + "htmlparser2" "^6.1.0" + "lodash" "^4.17.21" + "strip-ansi" "^3.0.1" + +"renderkid@^3.0.0": + "integrity" "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==" + "resolved" "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "css-select" "^4.1.3" + "dom-converter" "^0.2.0" + "htmlparser2" "^6.1.0" + "lodash" "^4.17.21" + "strip-ansi" "^6.0.1" + +"repeat-element@^1.1.2": + "integrity" "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==" + "resolved" "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz" + "version" "1.1.4" + +"repeat-string@^1.0.0", "repeat-string@^1.5.0", "repeat-string@^1.6.1": + "integrity" "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + "resolved" "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" + "version" "1.6.1" + +"repeating@^2.0.0": + "integrity" "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=" + "resolved" "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "is-finite" "^1.0.0" + +"replace-ext@^1.0.0": + "integrity" "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==" + "resolved" "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz" + "version" "1.0.1" + +"request-promise-core@1.1.4": + "integrity" "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==" + "resolved" "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz" + "version" "1.1.4" + dependencies: + "lodash" "^4.17.19" + +"request-promise-native@^1.0.5": + "integrity" "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==" + "resolved" "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz" + "version" "1.0.9" + dependencies: + "request-promise-core" "1.1.4" + "stealthy-require" "^1.1.1" + "tough-cookie" "^2.3.3" + +"request@^2.34", "request@^2.87.0": + "integrity" "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==" + "resolved" "https://registry.npmjs.org/request/-/request-2.88.2.tgz" + "version" "2.88.2" + dependencies: + "aws-sign2" "~0.7.0" + "aws4" "^1.8.0" + "caseless" "~0.12.0" + "combined-stream" "~1.0.6" + "extend" "~3.0.2" + "forever-agent" "~0.6.1" + "form-data" "~2.3.2" + "har-validator" "~5.1.3" + "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.5.0" + "tunnel-agent" "^0.6.0" + "uuid" "^3.3.2" + +"require-directory@^2.1.1": + "integrity" "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + "resolved" "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" + "version" "2.1.1" + +"require-from-string@^2.0.2": + "integrity" "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + "resolved" "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" + "version" "2.0.2" + +"require-main-filename@^2.0.0": + "integrity" "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + "resolved" "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz" + "version" "2.0.0" + +"requires-port@^1.0.0": + "integrity" "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" + "resolved" "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" + "version" "1.0.0" + +"resolve-cwd@^2.0.0": + "integrity" "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=" + "resolved" "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "resolve-from" "^3.0.0" + +"resolve-cwd@^3.0.0": + "integrity" "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==" + "resolved" "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "resolve-from" "^5.0.0" + +"resolve-from@^3.0.0": + "integrity" "sha1-six699nWiBvItuZTM17rywoYh0g=" + "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz" + "version" "3.0.0" + +"resolve-from@^4.0.0": + "integrity" "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + "version" "4.0.0" + +"resolve-from@^5.0.0": + "integrity" "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" + "version" "5.0.0" + +"resolve-options@^1.1.0": + "integrity" "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=" + "resolved" "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "value-or-function" "^3.0.0" + +"resolve-url@^0.2.1": + "integrity" "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + "resolved" "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz" + "version" "0.2.1" + +"resolve@^1.1.3", "resolve@^1.1.6", "resolve@^1.10.0", "resolve@^1.14.2", "resolve@^1.2.0", "resolve@^1.20.0", "resolve@^1.3.2", "resolve@^1.8.1", "resolve@^1.9.0": + "integrity" "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==" + "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz" + "version" "1.20.0" + dependencies: + "is-core-module" "^2.2.0" + "path-parse" "^1.0.6" + +"resolve@1.1.7": + "integrity" "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=" + "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz" + "version" "1.1.7" + +"responselike@^1.0.2": + "integrity" "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=" + "resolved" "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "lowercase-keys" "^1.0.0" + +"restore-cursor@^2.0.0": + "integrity" "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=" + "resolved" "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "onetime" "^2.0.0" + "signal-exit" "^3.0.2" + +"restore-cursor@^3.1.0": + "integrity" "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==" + "resolved" "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "onetime" "^5.1.0" + "signal-exit" "^3.0.2" + +"ret@~0.1.10": + "integrity" "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + "resolved" "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz" + "version" "0.1.15" + +"retry@^0.12.0": + "integrity" "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=" + "resolved" "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz" + "version" "0.12.0" + +"retry@^0.13.1": + "integrity" "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==" + "resolved" "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz" + "version" "0.13.1" + +"reusify@^1.0.4": + "integrity" "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + "resolved" "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + "version" "1.0.4" + +"rgb-regex@^1.0.1": + "integrity" "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=" + "resolved" "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz" + "version" "1.0.1" + +"rgba-regex@^1.0.0": + "integrity" "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=" + "resolved" "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz" + "version" "1.0.0" + +"rimraf@^2.2.8": + "integrity" "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==" + "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" + "version" "2.7.1" + dependencies: + "glob" "^7.1.3" + +"rimraf@^2.5.4": + "integrity" "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==" + "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" + "version" "2.7.1" + dependencies: + "glob" "^7.1.3" + +"rimraf@^2.6.3": + "integrity" "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==" + "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" + "version" "2.7.1" + dependencies: + "glob" "^7.1.3" -decamelize-keys@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz" +"rimraf@^3.0.2": + "integrity" "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==" + "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + "version" "3.0.2" dependencies: - decamelize "^1.1.0" - map-obj "^1.0.0" + "glob" "^7.1.3" + +"ripemd160@^2.0.0", "ripemd160@^2.0.1": + "integrity" "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==" + "resolved" "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "hash-base" "^3.0.0" + "inherits" "^2.0.1" + +"rsvp@^4.8.4": + "integrity" "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==" + "resolved" "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz" + "version" "4.8.5" -decamelize@^1.1.0, decamelize@^1.1.2, decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" +"run-async@^2.4.0": + "integrity" "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==" + "resolved" "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz" + "version" "2.4.1" -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz" +"run-node@^1.0.0": + "integrity" "sha512-kc120TBlQ3mih1LSzdAJXo4xn/GWS2ec0l3S+syHDXP9uRr0JAT8Qd3mdMuyjqCzeZktgP3try92cEgf9Nks8A==" + "resolved" "https://registry.npmjs.org/run-node/-/run-node-1.0.0.tgz" + "version" "1.0.0" -decompress-response@^3.3.0: - version "3.3.0" - resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz" - dependencies: - mimic-response "^1.0.0" +"run-parallel@^1.1.9": + "integrity" "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==" + "resolved" "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "queue-microtask" "^1.2.2" -dedent@^0.7.0: - version "0.7.0" - resolved "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz" +"run-queue@^1.0.0", "run-queue@^1.0.3": + "integrity" "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=" + "resolved" "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz" + "version" "1.0.3" + dependencies: + "aproba" "^1.1.1" -deep-equal@^1.0.1: - version "1.1.1" - resolved "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz" +"rxjs@^6.3.3": + "integrity" "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==" + "resolved" "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz" + "version" "6.6.7" dependencies: - is-arguments "^1.0.4" - is-date-object "^1.0.1" - is-regex "^1.0.4" - object-is "^1.0.1" - object-keys "^1.1.1" - regexp.prototype.flags "^1.2.0" - -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" + "tslib" "^1.9.0" + +"rxjs@^7.2.0": + "integrity" "sha512-h5M3Hk78r6wAheJF0a5YahB1yRQKCsZ4MsGdZ5O9ETbVtjPcScGfrMmoOq7EBsCRzd4BDkvDJ7ogP8Sz5tTFiQ==" + "resolved" "https://registry.npmjs.org/rxjs/-/rxjs-7.5.4.tgz" + "version" "7.5.4" + dependencies: + "tslib" "^2.1.0" -deep-is@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" +"safe-buffer@^5.0.1", "safe-buffer@^5.1.0", "safe-buffer@^5.1.1", "safe-buffer@^5.1.2", "safe-buffer@>=5.1.0", "safe-buffer@~5.1.0", "safe-buffer@~5.1.1", "safe-buffer@5.1.2": + "integrity" "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + "version" "5.1.2" -deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz" +"safe-buffer@^5.2.0": + "integrity" "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + "version" "5.2.1" -deepmerge@^1.5.2: - version "1.5.2" - resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz" +"safe-json-parse@~1.0.1": + "integrity" "sha1-PnZyPjjf3aE8mx0poeB//uSzC1c=" + "resolved" "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz" + "version" "1.0.1" -default-gateway@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz" +"safe-regex@^1.1.0": + "integrity" "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=" + "resolved" "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz" + "version" "1.1.0" dependencies: - execa "^1.0.0" - ip-regex "^2.1.0" + "ret" "~0.1.10" -default-gateway@^6.0.3: - version "6.0.3" - resolved "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz" - dependencies: - execa "^5.0.0" - -defaults@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz" - dependencies: - clone "^1.0.2" - -defer-to-connect@^1.0.1: - version "1.1.3" - resolved "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz" - -define-lazy-prop@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz" - -define-properties@^1.1.2, define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz" - dependencies: - object-keys "^1.0.12" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz" - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz" - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz" - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -defined@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz" - -del@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/del/-/del-3.0.0.tgz" - dependencies: - globby "^6.1.0" - is-path-cwd "^1.0.0" - is-path-in-cwd "^1.0.0" - p-map "^1.1.1" - pify "^3.0.0" - rimraf "^2.2.8" - -del@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/del/-/del-4.1.1.tgz" - dependencies: - "@types/glob" "^7.1.1" - globby "^6.1.0" - is-path-cwd "^2.0.0" - is-path-in-cwd "^2.0.0" - p-map "^2.0.0" - pify "^4.0.1" - rimraf "^2.6.3" - -del@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/del/-/del-6.0.0.tgz" - dependencies: - globby "^11.0.1" - graceful-fs "^4.2.4" - is-glob "^4.0.1" - is-path-cwd "^2.2.0" - is-path-inside "^3.0.2" - p-map "^4.0.0" - rimraf "^3.0.2" - slash "^3.0.0" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" - -depd@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" - -des.js@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz" - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -destroy@~1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz" - -detect-indent@^6.0.0: - version "6.1.0" - resolved "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz" - -detect-newline@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz" - -detect-newline@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" - -detect-node@^2.0.4: - version "2.1.0" - resolved "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz" - -detective@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz" - dependencies: - acorn-node "^1.6.1" - defined "^1.0.0" - minimist "^1.1.1" - -diff-sequences@^24.9.0: - version "24.9.0" - resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz" - -diff@^3.5.0: - version "3.5.0" - resolved "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz" - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" - -diffie-hellman@^5.0.0: - version "5.0.3" - resolved "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz" - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - -dir-glob@^2.0.0, dir-glob@^2.2.2: - version "2.2.2" - resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz" - dependencies: - path-type "^3.0.0" - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" - dependencies: - path-type "^4.0.0" - -dns-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz" - -dns-packet@^1.3.1: - version "1.3.4" - resolved "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz" - dependencies: - ip "^1.1.0" - safe-buffer "^5.0.1" - -dns-txt@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz" - dependencies: - buffer-indexof "^1.0.0" - -docsearch.js@^2.5.2: - version "2.6.3" - resolved "https://registry.npmjs.org/docsearch.js/-/docsearch.js-2.6.3.tgz" - dependencies: - algoliasearch "^3.24.5" - autocomplete.js "0.36.0" - hogan.js "^3.0.2" - request "^2.87.0" - stack-utils "^1.0.1" - to-factory "^1.0.0" - zepto "^1.2.0" - -doctrine-temporary-fork@2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/doctrine-temporary-fork/-/doctrine-temporary-fork-2.1.0.tgz" - dependencies: - esutils "^2.0.2" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - dependencies: - esutils "^2.0.2" - -documentation@^13.2.5: - version "13.2.5" - resolved "https://registry.npmjs.org/documentation/-/documentation-13.2.5.tgz" - dependencies: - "@babel/core" "7.12.3" - "@babel/generator" "7.12.1" - "@babel/parser" "7.12.3" - "@babel/traverse" "^7.12.1" - "@babel/types" "^7.12.1" - ansi-html "^0.0.7" - babelify "^10.0.0" - chalk "^2.3.0" - chokidar "^3.4.0" - concat-stream "^1.6.0" - diff "^4.0.1" - doctrine-temporary-fork "2.1.0" - get-port "^5.0.0" - git-url-parse "^11.1.2" - github-slugger "1.2.0" - glob "^7.1.2" - globals-docs "^2.4.0" - highlight.js "^10.7.2" - ini "^1.3.5" - js-yaml "^3.10.0" - lodash "^4.17.10" - mdast-util-find-and-replace "^1.1.1" - mdast-util-inject "^1.1.0" - micromatch "^3.1.5" - mime "^2.2.0" - module-deps-sortable "^5.0.3" - parse-filepath "^1.0.2" - pify "^5.0.0" - read-pkg-up "^4.0.0" - remark "^13.0.0" - remark-gfm "^1.0.0" - remark-html "^13.0.1" - remark-reference-links "^5.0.0" - remark-toc "^7.2.0" - resolve "^1.8.1" - stream-array "^1.1.2" - strip-json-comments "^2.0.1" - tiny-lr "^1.1.0" - unist-builder "^2.0.3" - unist-util-visit "^2.0.3" - vfile "^4.0.0" - vfile-reporter "^6.0.0" - vfile-sort "^2.1.0" - vinyl "^2.1.0" - vinyl-fs "^3.0.2" - yargs "^15.3.1" - optionalDependencies: - "@vue/compiler-sfc" "^3.0.11" - vue-template-compiler "^2.6.12" - -dom-converter@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz" - dependencies: - utila "~0.4" - -dom-serializer@0: - version "0.2.2" - resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz" - dependencies: - domelementtype "^2.0.1" - entities "^2.0.0" - -dom-serializer@^1.0.1: - version "1.3.2" - resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz" - dependencies: - domelementtype "^2.0.1" - domhandler "^4.2.0" - entities "^2.0.0" - -dom-walk@^0.1.0: - version "0.1.2" - resolved "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz" - -domain-browser@^1.1.1: - version "1.2.0" - resolved "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz" - -domelementtype@1: - version "1.3.1" - resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz" - -domelementtype@^2.0.1, domelementtype@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz" - -domexception@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz" - dependencies: - webidl-conversions "^4.0.2" - -domhandler@^4.0.0, domhandler@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz" - dependencies: - domelementtype "^2.2.0" - -domutils@^1.7.0: - version "1.7.0" - resolved "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz" - dependencies: - dom-serializer "0" - domelementtype "1" - -domutils@^2.5.2, domutils@^2.6.0: - version "2.7.0" - resolved "https://registry.npmjs.org/domutils/-/domutils-2.7.0.tgz" - dependencies: - dom-serializer "^1.0.1" - domelementtype "^2.2.0" - domhandler "^4.2.0" - -dot-case@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz" - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -dot-prop@^5.1.0, dot-prop@^5.2.0: - version "5.3.0" - resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz" - dependencies: - is-obj "^2.0.0" - -dotgitignore@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/dotgitignore/-/dotgitignore-2.1.0.tgz" - dependencies: - find-up "^3.0.0" - minimatch "^3.0.4" - -dts-bundle-generator@^6.5.0: - version "6.5.0" - resolved "https://registry.npmjs.org/dts-bundle-generator/-/dts-bundle-generator-6.5.0.tgz" - dependencies: - typescript ">=3.0.1" - yargs "^17.2.1" - -duplexer2@^0.1.2, duplexer2@~0.1.0: - version "0.1.4" - resolved "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz" - dependencies: - readable-stream "^2.0.2" - -duplexer3@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz" - -duplexify@^3.4.2, duplexify@^3.6.0: - version "3.7.1" - resolved "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz" - dependencies: - end-of-stream "^1.0.0" - inherits "^2.0.1" - readable-stream "^2.0.0" - stream-shift "^1.0.0" - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz" - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" - -electron-to-chromium@^1.4.71: - version "1.4.71" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.71.tgz" - -elegant-spinner@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz" - -elliptic@^6.5.3: - version "6.5.4" - resolved "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz" - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - -"emoji-regex@>=6.0.0 <=6.1.1": - version "6.1.1" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.1.1.tgz" - -emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz" - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" - -emojis-list@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz" - -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz" - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" - -end-of-stream@^1.0.0, end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" - dependencies: - once "^1.4.0" - -enhanced-resolve@^4.5.0: - version "4.5.0" - resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz" - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.5.0" - tapable "^1.0.0" - -enhanced-resolve@^5.0.0, enhanced-resolve@^5.8.3: - version "5.9.0" - resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.0.tgz" - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" - -entities@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" - -entities@~1.1.1: - version "1.1.2" - resolved "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz" - -envify@^4.0.0: - version "4.1.0" - resolved "https://registry.npmjs.org/envify/-/envify-4.1.0.tgz" - dependencies: - esprima "^4.0.0" - through "~2.3.4" - -envinfo@^7.2.0, envinfo@^7.7.3: - version "7.8.1" - resolved "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz" - -errno@^0.1.3, errno@~0.1.7: - version "0.1.8" - resolved "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz" - dependencies: - prr "~1.0.1" - -error-ex@^1.2.0, error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" - dependencies: - is-arrayish "^0.2.1" - -error@^7.0.0: - version "7.2.1" - resolved "https://registry.npmjs.org/error/-/error-7.2.1.tgz" - dependencies: - string-template "~0.2.1" - -es-abstract@^1.17.2, es-abstract@^1.18.0-next.2, es-abstract@^1.18.2: - version "1.18.3" - resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.3.tgz" - dependencies: - call-bind "^1.0.2" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - get-intrinsic "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.2" - is-callable "^1.2.3" - is-negative-zero "^2.0.1" - is-regex "^1.1.3" - is-string "^1.0.6" - object-inspect "^1.10.3" - object-keys "^1.1.1" - object.assign "^4.1.2" - string.prototype.trimend "^1.0.4" - string.prototype.trimstart "^1.0.4" - unbox-primitive "^1.0.1" - -es-module-lexer@^0.9.0: - version "0.9.3" - resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -es6-promise@^4.1.0: - version "4.2.8" - resolved "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" - -escape-goat@^2.0.0: - version "2.1.1" - resolved "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz" - -escape-html@^1.0.3, escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" - -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.4, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" - -escodegen@^1.9.1: - version "1.14.3" - resolved "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz" - dependencies: - esprima "^4.0.1" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -eslint-scope@5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-scope@^4.0.3: - version "4.0.3" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz" - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-scope@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" - dependencies: - eslint-visitor-keys "^2.0.0" - -eslint-visitor-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" - -eslint-visitor-keys@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" - -eslint@^8.12.0: - version "8.12.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.12.0.tgz#c7a5bd1cfa09079aae64c9076c07eada66a46e8e" - dependencies: - "@eslint/eslintrc" "^1.2.1" - "@humanwhocodes/config-array" "^0.9.2" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.3.2" - doctrine "^3.0.0" - escape-string-regexp "^4.0.0" - eslint-scope "^7.1.1" - eslint-utils "^3.0.0" - eslint-visitor-keys "^3.3.0" - espree "^9.3.1" - esquery "^1.4.0" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^6.0.1" - globals "^13.6.0" - ignore "^5.2.0" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - js-yaml "^4.1.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.0.4" - natural-compare "^1.4.0" - optionator "^0.9.1" - regexpp "^3.2.0" - strip-ansi "^6.0.1" - strip-json-comments "^3.1.0" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - -esm@^3.2.25: - version "3.2.25" - resolved "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz" - -espree@^9.3.1: - version "9.3.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.1.tgz#8793b4bc27ea4c778c19908e0719e7b8f4115bcd" - dependencies: - acorn "^8.7.0" - acorn-jsx "^5.3.1" - eslint-visitor-keys "^3.3.0" - -esprima@^4.0.0, esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" - -esquery@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.1.0, esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1, estraverse@^4.2.0: - version "4.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" - -estraverse@^5.1.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - -estraverse@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz" - -estree-walker@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz" - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" - -eventemitter3@^4.0.0: - version "4.0.7" - resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" - -events@^1.1.0: - version "1.1.1" - resolved "https://registry.npmjs.org/events/-/events-1.1.1.tgz" - -events@^3.0.0, events@^3.2.0: - version "3.3.0" - resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" - -eventsource@^1.0.7: - version "1.1.0" - resolved "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz" - dependencies: - original "^1.0.0" - -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz" - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - -exec-sh@^0.3.2: - version "0.3.6" - resolved "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz" - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz" - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^5.0.0: - version "5.1.1" - resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz" - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expect@^24.9.0: - version "24.9.0" - resolved "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz" - dependencies: - "@jest/types" "^24.9.0" - ansi-styles "^3.2.0" - jest-get-type "^24.9.0" - jest-matcher-utils "^24.9.0" - jest-message-util "^24.9.0" - jest-regex-util "^24.9.0" - -express@^4.17.1: - version "4.17.1" - resolved "https://registry.npmjs.org/express/-/express-4.17.1.tgz" - dependencies: - accepts "~1.3.7" - array-flatten "1.1.1" - body-parser "1.19.0" - content-disposition "0.5.3" - content-type "~1.0.4" - cookie "0.4.0" - cookie-signature "1.0.6" - debug "2.6.9" - depd "~1.1.2" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "~1.1.2" - fresh "0.5.2" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "~2.3.0" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.5" - qs "6.7.0" - range-parser "~1.2.1" - safe-buffer "5.1.2" - send "0.17.1" - serve-static "1.14.1" - setprototypeof "1.1.1" - statuses "~1.5.0" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extend@^3.0.0, extend@^3.0.2, extend@~3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" - -external-editor@^3.0.3: - version "3.1.0" - resolved "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz" - dependencies: - chardet "^0.7.0" - iconv-lite "^0.4.24" - tmp "^0.0.33" - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz" - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extsprintf@1.3.0, extsprintf@^1.2.0: - version "1.3.0" - resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz" - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" - -fast-glob@^2.2.6: - version "2.2.7" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz" - dependencies: - "@mrmlnc/readdir-enhanced" "^2.2.1" - "@nodelib/fs.stat" "^1.1.2" - glob-parent "^3.1.0" - is-glob "^4.0.0" - merge2 "^1.2.3" - micromatch "^3.1.10" - -fast-glob@^3.2.9: - version "3.2.11" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz" - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" - -fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" - -fastest-levenshtein@^1.0.12: - version "1.0.12" - resolved "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz" - -fastq@^1.6.0: - version "1.13.0" - resolved "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz" - dependencies: - reusify "^1.0.4" - -faye-websocket@^0.11.3: - version "0.11.4" - resolved "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz" - dependencies: - websocket-driver ">=0.5.1" - -faye-websocket@~0.10.0: - version "0.10.0" - resolved "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz" - dependencies: - websocket-driver ">=0.5.1" - -fb-watchman@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz" - dependencies: - bser "2.1.1" - -figgy-pudding@^3.5.1: - version "3.5.2" - resolved "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz" - -figures@^1.7.0: - version "1.7.0" - resolved "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz" - dependencies: - escape-string-regexp "^1.0.5" - object-assign "^4.1.0" - -figures@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz" - dependencies: - escape-string-regexp "^1.0.5" - -figures@^3.0.0, figures@^3.1.0: - version "3.2.0" - resolved "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz" - dependencies: - escape-string-regexp "^1.0.5" - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - dependencies: - flat-cache "^3.0.4" - -file-loader@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/file-loader/-/file-loader-3.0.1.tgz" - dependencies: - loader-utils "^1.0.2" - schema-utils "^1.0.0" - -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz" - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz" - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - dependencies: - to-regex-range "^5.0.1" - -filter-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz" - -finalhandler@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz" - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "~2.3.0" - parseurl "~1.3.3" - statuses "~1.5.0" - unpipe "~1.0.0" - -find-cache-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz" - dependencies: - commondir "^1.0.1" - make-dir "^2.0.0" - pkg-dir "^3.0.0" - -find-cache-dir@^3.3.1: - version "3.3.1" - resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz" - dependencies: - commondir "^1.0.1" - make-dir "^3.0.2" - pkg-dir "^4.1.0" - -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz" - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - -find-up@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz" - dependencies: - locate-path "^2.0.0" - -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" - dependencies: - locate-path "^3.0.0" - -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -flat-cache@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" - dependencies: - flatted "^3.1.0" - rimraf "^3.0.2" - -flatted@^3.1.0: - version "3.2.5" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3" - -flush-write-stream@^1.0.0, flush-write-stream@^1.0.2: - version "1.1.1" - resolved "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz" - dependencies: - inherits "^2.0.3" - readable-stream "^2.3.6" - -fn-name@~2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/fn-name/-/fn-name-2.0.1.tgz" - -follow-redirects@^1.0.0: - version "1.14.8" - resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.8.tgz" - -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" - dependencies: - is-callable "^1.1.3" - -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz" - -foreach@^2.0.5: - version "2.0.5" - resolved "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz" - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz" - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -forwarded@0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz" - dependencies: - map-cache "^0.2.2" - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" - -from2@^2.1.0: - version "2.3.0" - resolved "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz" - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.0" - -fs-access@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz" - dependencies: - null-check "^1.0.0" - -fs-extra@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz" - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-mkdirp-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz" - dependencies: - graceful-fs "^4.1.11" - through2 "^2.0.3" - -fs-monkey@1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz" - -fs-readdir-recursive@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz" - -fs-write-stream-atomic@^1.0.8: - version "1.0.10" - resolved "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz" - dependencies: - graceful-fs "^4.1.2" - iferr "^0.1.5" - imurmurhash "^0.1.4" - readable-stream "1 || 2" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - -fsevents@^1.2.7: - version "1.2.13" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" - dependencies: - bindings "^1.5.0" - nan "^2.12.1" - -fsevents@~2.3.1, fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" - -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - -g-status@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/g-status/-/g-status-2.0.2.tgz" - dependencies: - arrify "^1.0.1" - matcher "^1.0.0" - simple-git "^1.85.0" - -generic-names@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/generic-names/-/generic-names-2.0.1.tgz" - dependencies: - loader-utils "^1.1.0" - -gensync@^1.0.0-beta.1, gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" - -get-caller-file@^2.0.1, get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" - -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz" - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - -get-own-enumerable-property-symbols@^3.0.0: - version "3.0.2" - resolved "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz" - -get-pkg-repo@^1.0.0: - version "1.4.0" - resolved "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz" - dependencies: - hosted-git-info "^2.1.4" - meow "^3.3.0" - normalize-package-data "^2.3.0" - parse-github-repo-url "^1.3.0" - through2 "^2.0.0" - -get-port@^5.0.0: - version "5.1.1" - resolved "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz" - -get-stdin@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz" - -get-stdin@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/get-stdin/-/get-stdin-7.0.0.tgz" - -get-stream@^4.0.0, get-stream@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz" - dependencies: - pump "^3.0.0" - -get-stream@^5.1.0: - version "5.2.0" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" - dependencies: - pump "^3.0.0" - -get-stream@^6.0.0: - version "6.0.1" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz" - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz" - dependencies: - assert-plus "^1.0.0" - -git-raw-commits@^2.0.8: - version "2.0.10" - resolved "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.10.tgz" - dependencies: - dargs "^7.0.0" - lodash "^4.17.15" - meow "^8.0.0" - split2 "^3.0.0" - through2 "^4.0.0" - -git-remote-origin-url@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz" - dependencies: - gitconfiglocal "^1.0.0" - pify "^2.3.0" - -git-semver-tags@^4.0.0, git-semver-tags@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz" - dependencies: - meow "^8.0.0" - semver "^6.0.0" - -git-up@^4.0.0: - version "4.0.2" - resolved "https://registry.npmjs.org/git-up/-/git-up-4.0.2.tgz" - dependencies: - is-ssh "^1.3.0" - parse-url "^5.0.0" - -git-url-parse@^11.1.2: - version "11.4.4" - resolved "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.4.4.tgz" - dependencies: - git-up "^4.0.0" - -gitconfiglocal@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz" - dependencies: - ini "^1.3.2" - -github-slugger@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/github-slugger/-/github-slugger-1.2.0.tgz" - dependencies: - emoji-regex ">=6.0.0 <=6.1.1" - -github-slugger@^1.2.1: - version "1.3.0" - resolved "https://registry.npmjs.org/github-slugger/-/github-slugger-1.3.0.tgz" - dependencies: - emoji-regex ">=6.0.0 <=6.1.1" - -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz" - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - -glob-parent@^5.1.2, glob-parent@~5.1.0, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.1: - version "6.0.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" - dependencies: - is-glob "^4.0.3" - -glob-stream@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz" - dependencies: - extend "^3.0.0" - glob "^7.1.1" - glob-parent "^3.1.0" - is-negated-glob "^1.0.0" - ordered-read-streams "^1.0.0" - pumpify "^1.3.5" - readable-stream "^2.1.5" - remove-trailing-separator "^1.0.1" - to-absolute-glob "^2.0.0" - unique-stream "^2.0.2" - -glob-to-regexp@^0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz" - -glob-to-regexp@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" - -glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: - version "7.2.0" - resolved "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -global-dirs@^2.0.1: - version "2.1.0" - resolved "https://registry.npmjs.org/global-dirs/-/global-dirs-2.1.0.tgz" - dependencies: - ini "1.3.7" - -global@^4.3.2: - version "4.4.0" - resolved "https://registry.npmjs.org/global/-/global-4.4.0.tgz" - dependencies: - min-document "^2.19.0" - process "^0.11.10" - -globals-docs@^2.4.0: - version "2.4.1" - resolved "https://registry.npmjs.org/globals-docs/-/globals-docs-2.4.1.tgz" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" - -globals@^13.6.0, globals@^13.9.0: - version "13.13.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.13.0.tgz#ac32261060d8070e2719dd6998406e27d2b5727b" - dependencies: - type-fest "^0.20.2" - -globby@^11.0.1: - version "11.1.0" - resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -globby@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz" - dependencies: - array-union "^1.0.1" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -globby@^7.1.1: - version "7.1.1" - resolved "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz" - dependencies: - array-union "^1.0.1" - dir-glob "^2.0.0" - glob "^7.1.2" - ignore "^3.3.5" - pify "^3.0.0" - slash "^1.0.0" - -globby@^9.2.0: - version "9.2.0" - resolved "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz" - dependencies: - "@types/glob" "^7.1.1" - array-union "^1.0.2" - dir-glob "^2.2.2" - fast-glob "^2.2.6" - glob "^7.1.3" - ignore "^4.0.3" - pify "^4.0.1" - slash "^2.0.0" - -got@^9.6.0: - version "9.6.0" - resolved "https://registry.npmjs.org/got/-/got-9.6.0.tgz" - dependencies: - "@sindresorhus/is" "^0.14.0" - "@szmarczak/http-timer" "^1.1.2" - cacheable-request "^6.0.0" - decompress-response "^3.3.0" - duplexer3 "^0.1.4" - get-stream "^4.1.0" - lowercase-keys "^1.0.1" - mimic-response "^1.0.1" - p-cancelable "^1.0.0" - to-readable-stream "^1.0.0" - url-parse-lax "^3.0.0" - -graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: - version "4.2.9" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz" - -grapesjs-cli@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/grapesjs-cli/-/grapesjs-cli-3.0.0.tgz" - dependencies: - "@babel/core" "^7.17.5" - "@babel/plugin-transform-runtime" "^7.17.0" - "@babel/preset-env" "^7.16.11" - "@babel/runtime" "^7.17.2" - babel-loader "^8.2.3" - chalk "^4.1.2" - core-js "^3.21.1" - dts-bundle-generator "^6.5.0" - esm "^3.2.25" - html-webpack-plugin "^5.5.0" - inquirer "^8.2.0" - listr "^0.14.3" - lodash.template "^4.5.0" - rimraf "^3.0.2" - spdx-license-list "^6.4.0" - ts-loader "^9.2.6" - typescript "^4.5.5" - webpack "^5.69.1" - webpack-cli "^4.9.2" - webpack-dev-server "^4.7.4" - yargs "^16.2.0" - -gray-matter@^4.0.1: - version "4.0.3" - resolved "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz" - dependencies: - js-yaml "^3.13.1" - kind-of "^6.0.2" - section-matter "^1.0.0" - strip-bom-string "^1.0.0" - -growly@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz" - -handle-thing@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz" - -handlebars@^4.7.6: - version "4.7.7" - resolved "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz" - dependencies: - minimist "^1.2.5" - neo-async "^2.6.0" - source-map "^0.6.1" - wordwrap "^1.0.0" - optionalDependencies: - uglify-js "^3.1.4" - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz" - -har-validator@~5.1.3: - version "5.1.5" - resolved "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz" - dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" - -hard-rejection@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz" - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" - dependencies: - ansi-regex "^2.0.0" - -has-bigints@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz" - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" - -has-symbols@^1.0.1, has-symbols@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz" - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz" - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz" - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz" - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz" - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has-yarn@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz" - -has@^1.0.0, has@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" - dependencies: - function-bind "^1.1.1" - -hash-base@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz" - dependencies: - inherits "^2.0.4" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -hash-sum@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz" - -hash-sum@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz" - -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz" - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -hast-util-is-element@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-1.1.0.tgz" - -hast-util-sanitize@^3.0.0: - version "3.0.2" - resolved "https://registry.npmjs.org/hast-util-sanitize/-/hast-util-sanitize-3.0.2.tgz" - dependencies: - xtend "^4.0.0" - -hast-util-to-html@^7.0.0: - version "7.1.3" - resolved "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-7.1.3.tgz" - dependencies: - ccount "^1.0.0" - comma-separated-tokens "^1.0.0" - hast-util-is-element "^1.0.0" - hast-util-whitespace "^1.0.0" - html-void-elements "^1.0.0" - property-information "^5.0.0" - space-separated-tokens "^1.0.0" - stringify-entities "^3.0.1" - unist-util-is "^4.0.0" - xtend "^4.0.0" - -hast-util-whitespace@^1.0.0: - version "1.0.4" - resolved "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-1.0.4.tgz" - -he@1.2.x, he@^1.1.0, he@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" - -hex-color-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz" - -highlight.js@^10.7.2: - version "10.7.3" - resolved "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz" - -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz" - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -hogan.js@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/hogan.js/-/hogan.js-3.0.2.tgz" - dependencies: - mkdirp "0.3.0" - nopt "1.0.10" - -hosted-git-info@^2.1.4: - version "2.8.9" - resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" - -hosted-git-info@^4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz" - dependencies: - lru-cache "^6.0.0" - -hpack.js@^2.1.6: - version "2.1.6" - resolved "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz" - dependencies: - inherits "^2.0.1" - obuf "^1.0.0" - readable-stream "^2.0.1" - wbuf "^1.1.0" - -hsl-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz" - -hsla-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz" - -html-encoding-sniffer@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz" - dependencies: - whatwg-encoding "^1.0.1" - -html-entities@^1.3.1, html-entities@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.4.0.tgz#cfbd1b01d2afaf9adca1b10ae7dffab98c71d2dc" - -html-entities@^2.3.2: - version "2.3.2" - resolved "https://registry.npmjs.org/html-entities/-/html-entities-2.3.2.tgz" - -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" - -html-minifier-terser@^6.0.2: - version "6.1.0" - resolved "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" - dependencies: - camel-case "^4.1.2" - clean-css "^5.2.2" - commander "^8.3.0" - he "^1.2.0" - param-case "^3.0.4" - relateurl "^0.2.7" - terser "^5.10.0" - -html-minifier@^3.2.3: - version "3.5.21" - resolved "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz" - dependencies: - camel-case "3.0.x" - clean-css "4.2.x" - commander "2.17.x" - he "1.2.x" - param-case "2.1.x" - relateurl "0.2.x" - uglify-js "3.4.x" - -html-tags@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz" - -html-tags@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz" - -html-void-elements@^1.0.0: - version "1.0.5" - resolved "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz" - -html-webpack-plugin@^5.5.0: - version "5.5.0" - resolved "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz" - dependencies: - "@types/html-minifier-terser" "^6.0.0" - html-minifier-terser "^6.0.2" - lodash "^4.17.21" - pretty-error "^4.0.0" - tapable "^2.0.0" - -htmlparser2@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz" - dependencies: - domelementtype "^2.0.1" - domhandler "^4.0.0" - domutils "^2.5.2" - entities "^2.0.0" - -http-cache-semantics@^4.0.0: - version "4.1.0" - resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz" - -http-deceiver@^1.2.7: - version "1.2.7" - resolved "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz" - -http-errors@1.7.2, http-errors@~1.7.2: - version "1.7.2" - resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz" - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" - -http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - -http-parser-js@>=0.5.1: - version "0.5.3" - resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz" - -http-proxy-middleware@0.19.1: - version "0.19.1" - resolved "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz" - dependencies: - http-proxy "^1.17.0" - is-glob "^4.0.0" - lodash "^4.17.11" - micromatch "^3.1.10" - -http-proxy-middleware@^2.0.0: - version "2.0.3" - resolved "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.3.tgz" - dependencies: - "@types/http-proxy" "^1.17.8" - http-proxy "^1.18.1" - is-glob "^4.0.1" - is-plain-obj "^3.0.0" - micromatch "^4.0.2" - -http-proxy@^1.17.0, http-proxy@^1.18.1: - version "1.18.1" - resolved "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz" - dependencies: - eventemitter3 "^4.0.0" - follow-redirects "^1.0.0" - requires-port "^1.0.0" - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz" - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz" - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" - -husky@^2.7.0: - version "2.7.0" - resolved "https://registry.npmjs.org/husky/-/husky-2.7.0.tgz" - dependencies: - cosmiconfig "^5.2.0" - execa "^1.0.0" - find-up "^3.0.0" - get-stdin "^7.0.0" - is-ci "^2.0.0" - pkg-dir "^4.1.0" - please-upgrade-node "^3.1.1" - read-pkg "^5.1.1" - run-node "^1.0.0" - slash "^3.0.0" - -iconv-lite@0.4.24, iconv-lite@^0.4.24: - version "0.4.24" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" - dependencies: - safer-buffer ">= 2.1.2 < 3" - -icss-replace-symbols@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz" - -icss-utils@^4.1.0: - version "4.1.1" - resolved "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz" - dependencies: - postcss "^7.0.14" - -icss-utils@^5.0.0: - version "5.1.0" - resolved "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz" - -ieee754@^1.1.13, ieee754@^1.1.4: - version "1.2.1" - resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" - -iferr@^0.1.5: - version "0.1.5" - resolved "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz" - -ignore@^3.3.5: - version "3.3.10" - resolved "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz" - -ignore@^4.0.3: - version "4.0.6" - resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz" - -ignore@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz" - -immediate@^3.2.3: - version "3.3.0" - resolved "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz" - -import-cwd@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz" - dependencies: - import-from "^2.1.0" - -import-fresh@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz" - dependencies: - caller-path "^2.0.0" - resolve-from "^3.0.0" - -import-fresh@^3.0.0, import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-from@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz" - dependencies: - resolve-from "^3.0.0" - -import-lazy@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz" - -import-local@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz" - dependencies: - pkg-dir "^3.0.0" - resolve-cwd "^2.0.0" - -import-local@^3.0.2: - version "3.1.0" - resolved "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz" - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - -indent-string@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz" - dependencies: - repeating "^2.0.0" - -indent-string@^3.0.0: - version "3.2.0" - resolved "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz" - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" - -indexes-of@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz" - -infer-owner@^1.0.3: - version "1.0.4" - resolved "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz" - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - -inherits@2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" - -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" - -ini@1.3.7: - version "1.3.7" - resolved "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz" - -ini@^1.3.2, ini@^1.3.5, ini@~1.3.0: - version "1.3.8" - resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" - -inquirer@^8.2.0: - version "8.2.0" - resolved "https://registry.npmjs.org/inquirer/-/inquirer-8.2.0.tgz" - dependencies: - ansi-escapes "^4.2.1" - chalk "^4.1.1" - cli-cursor "^3.1.0" - cli-width "^3.0.0" - external-editor "^3.0.3" - figures "^3.0.0" - lodash "^4.17.21" - mute-stream "0.0.8" - ora "^5.4.1" - run-async "^2.4.0" - rxjs "^7.2.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - through "^2.3.6" - -internal-ip@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz" - dependencies: - default-gateway "^4.2.0" - ipaddr.js "^1.9.0" - -interpret@^1.0.0: - version "1.4.0" - resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" - -interpret@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz" - -invariant@^2.2.4: - version "2.2.4" - resolved "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz" - dependencies: - loose-envify "^1.0.0" - -ip-regex@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz" - -ip@^1.1.0, ip@^1.1.5: - version "1.1.5" - resolved "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz" - -ipaddr.js@1.9.1, ipaddr.js@^1.9.0: - version "1.9.1" - resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" - -ipaddr.js@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz" - -is-absolute-url@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz" - -is-absolute-url@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz" - -is-absolute@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz" - dependencies: - is-relative "^1.0.0" - is-windows "^1.0.1" - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz" - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz" - dependencies: - kind-of "^6.0.0" - -is-alphabetical@^1.0.0: - version "1.0.4" - resolved "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz" - -is-alphanumerical@^1.0.0: - version "1.0.4" - resolved "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz" - dependencies: - is-alphabetical "^1.0.0" - is-decimal "^1.0.0" - -is-arguments@^1.0.4: - version "1.1.0" - resolved "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz" - dependencies: - call-bind "^1.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" - -is-arrayish@^0.3.1: - version "0.3.2" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz" - -is-bigint@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz" - -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz" - dependencies: - binary-extensions "^1.0.0" - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" - dependencies: - binary-extensions "^2.0.0" - -is-boolean-object@^1.1.0: - version "1.1.1" - resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz" - dependencies: - call-bind "^1.0.2" - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz" - -is-buffer@^2.0.0: - version "2.0.5" - resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz" - -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.3: - version "1.2.3" - resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz" - -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz" - dependencies: - ci-info "^2.0.0" - -is-color-stop@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz" - dependencies: - css-color-names "^0.0.4" - hex-color-regex "^1.1.0" - hsl-regex "^1.0.0" - hsla-regex "^1.0.0" - rgb-regex "^1.0.1" - rgba-regex "^1.0.0" - -is-core-module@^2.2.0: - version "2.4.0" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz" - dependencies: - has "^1.0.3" - -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz" - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz" - dependencies: - kind-of "^6.0.0" - -is-date-object@^1.0.1: - version "1.0.4" - resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz" - -is-decimal@^1.0.0: - version "1.0.4" - resolved "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz" - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz" - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz" - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-directory@^0.3.1: - version "0.3.1" - resolved "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz" - -is-docker@^2.0.0, is-docker@^2.1.1: - version "2.2.1" - resolved "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz" - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^2.1.0, is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - -is-finite@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz" - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" - -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz" - -is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz" - dependencies: - is-extglob "^2.1.0" - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz" - dependencies: - is-extglob "^2.1.1" - -is-glob@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - dependencies: - is-extglob "^2.1.1" - -is-hexadecimal@^1.0.0: - version "1.0.4" - resolved "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz" - -is-installed-globally@^0.3.1: - version "0.3.2" - resolved "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz" - dependencies: - global-dirs "^2.0.1" - is-path-inside "^3.0.1" - -is-interactive@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz" - -is-negated-glob@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz" - -is-negative-zero@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz" - -is-npm@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz" - -is-number-object@^1.0.4: - version "1.0.5" - resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz" - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz" - dependencies: - kind-of "^3.0.2" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" - -is-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz" - -is-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz" - -is-observable@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz" - dependencies: - symbol-observable "^1.1.0" - -is-path-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz" - -is-path-cwd@^2.0.0, is-path-cwd@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz" - -is-path-in-cwd@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz" - dependencies: - is-path-inside "^1.0.0" - -is-path-in-cwd@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz" - dependencies: - is-path-inside "^2.1.0" - -is-path-inside@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz" - dependencies: - path-is-inside "^1.0.1" - -is-path-inside@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz" - dependencies: - path-is-inside "^1.0.2" - -is-path-inside@^3.0.1, is-path-inside@^3.0.2: - version "3.0.3" - resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" - -is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz" - -is-plain-obj@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz" - -is-plain-obj@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz" - -is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" - dependencies: - isobject "^3.0.1" - -is-promise@^2.1.0: - version "2.2.2" - resolved "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz" - -is-regex@^1.0.4, is-regex@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz" - dependencies: - call-bind "^1.0.2" - has-symbols "^1.0.2" - -is-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz" - -is-relative@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz" - dependencies: - is-unc-path "^1.0.0" - -is-resolvable@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz" - -is-ssh@^1.3.0: - version "1.3.3" - resolved "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.3.tgz" - dependencies: - protocols "^1.1.0" - -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" - -is-string@^1.0.5, is-string@^1.0.6: - version "1.0.6" - resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" - dependencies: - has-symbols "^1.0.2" - -is-text-path@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz" - dependencies: - text-extensions "^1.0.0" - -is-typedarray@^1.0.0, is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" - -is-unc-path@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz" - dependencies: - unc-path-regex "^0.1.2" - -is-unicode-supported@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz" - -is-utf8@^0.2.0, is-utf8@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz" - -is-valid-glob@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz" - -is-windows@^1.0.1, is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz" - -is-wsl@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz" - -is-wsl@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" - dependencies: - is-docker "^2.0.0" - -is-yarn-global@^0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz" - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" - -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - -isarray@^2.0.1: - version "2.0.5" - resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz" - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" - -istanbul-lib-coverage@^2.0.2, istanbul-lib-coverage@^2.0.5: - version "2.0.5" - resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz" - -istanbul-lib-instrument@^3.0.1, istanbul-lib-instrument@^3.3.0: - version "3.3.0" - resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz" - dependencies: - "@babel/generator" "^7.4.0" - "@babel/parser" "^7.4.3" - "@babel/template" "^7.4.0" - "@babel/traverse" "^7.4.3" - "@babel/types" "^7.4.0" - istanbul-lib-coverage "^2.0.5" - semver "^6.0.0" - -istanbul-lib-report@^2.0.4: - version "2.0.8" - resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz" - dependencies: - istanbul-lib-coverage "^2.0.5" - make-dir "^2.1.0" - supports-color "^6.1.0" - -istanbul-lib-source-maps@^3.0.1: - version "3.0.6" - resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz" - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^2.0.5" - make-dir "^2.1.0" - rimraf "^2.6.3" - source-map "^0.6.1" - -istanbul-reports@^2.2.6: - version "2.2.7" - resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz" - dependencies: - html-escaper "^2.0.0" - -javascript-stringify@^1.6.0: - version "1.6.0" - resolved "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-1.6.0.tgz" - -javascript-stringify@^2.0.1: - version "2.1.0" - resolved "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz" - -jest-changed-files@^24.9.0: - version "24.9.0" - resolved "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.9.0.tgz" - dependencies: - "@jest/types" "^24.9.0" - execa "^1.0.0" - throat "^4.0.0" - -jest-cli@^24.9.0: - version "24.9.0" - resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-24.9.0.tgz" - dependencies: - "@jest/core" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - exit "^0.1.2" - import-local "^2.0.0" - is-ci "^2.0.0" - jest-config "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - prompts "^2.0.1" - realpath-native "^1.1.0" - yargs "^13.3.0" - -jest-config@^24.9.0: - version "24.9.0" - resolved "https://registry.npmjs.org/jest-config/-/jest-config-24.9.0.tgz" - dependencies: - "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^24.9.0" - "@jest/types" "^24.9.0" - babel-jest "^24.9.0" - chalk "^2.0.1" - glob "^7.1.1" - jest-environment-jsdom "^24.9.0" - jest-environment-node "^24.9.0" - jest-get-type "^24.9.0" - jest-jasmine2 "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - micromatch "^3.1.10" - pretty-format "^24.9.0" - realpath-native "^1.1.0" - -jest-diff@^24.9.0: - version "24.9.0" - resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz" - dependencies: - chalk "^2.0.1" - diff-sequences "^24.9.0" - jest-get-type "^24.9.0" - pretty-format "^24.9.0" - -jest-docblock@^24.3.0: - version "24.9.0" - resolved "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.9.0.tgz" - dependencies: - detect-newline "^2.1.0" - -jest-each@^24.9.0: - version "24.9.0" - resolved "https://registry.npmjs.org/jest-each/-/jest-each-24.9.0.tgz" - dependencies: - "@jest/types" "^24.9.0" - chalk "^2.0.1" - jest-get-type "^24.9.0" - jest-util "^24.9.0" - pretty-format "^24.9.0" - -jest-environment-jsdom@^24.9.0: - version "24.9.0" - resolved "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz" - dependencies: - "@jest/environment" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/types" "^24.9.0" - jest-mock "^24.9.0" - jest-util "^24.9.0" - jsdom "^11.5.1" - -jest-environment-node@^24.9.0: - version "24.9.0" - resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz" - dependencies: - "@jest/environment" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/types" "^24.9.0" - jest-mock "^24.9.0" - jest-util "^24.9.0" - -jest-get-type@^24.9.0: - version "24.9.0" - resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz" - -jest-haste-map@^24.9.0: - version "24.9.0" - resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz" - dependencies: - "@jest/types" "^24.9.0" - anymatch "^2.0.0" - fb-watchman "^2.0.0" - graceful-fs "^4.1.15" - invariant "^2.2.4" - jest-serializer "^24.9.0" - jest-util "^24.9.0" - jest-worker "^24.9.0" - micromatch "^3.1.10" - sane "^4.0.3" - walker "^1.0.7" - optionalDependencies: - fsevents "^1.2.7" - -jest-jasmine2@^24.9.0: - version "24.9.0" - resolved "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz" - dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - co "^4.6.0" - expect "^24.9.0" - is-generator-fn "^2.0.0" - jest-each "^24.9.0" - jest-matcher-utils "^24.9.0" - jest-message-util "^24.9.0" - jest-runtime "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - pretty-format "^24.9.0" - throat "^4.0.0" - -jest-leak-detector@^24.9.0: - version "24.9.0" - resolved "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz" - dependencies: - jest-get-type "^24.9.0" - pretty-format "^24.9.0" - -jest-matcher-utils@^24.9.0: - version "24.9.0" - resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz" - dependencies: - chalk "^2.0.1" - jest-diff "^24.9.0" - jest-get-type "^24.9.0" - pretty-format "^24.9.0" - -jest-message-util@^24.9.0: - version "24.9.0" - resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz" - dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/stack-utils" "^1.0.1" - chalk "^2.0.1" - micromatch "^3.1.10" - slash "^2.0.0" - stack-utils "^1.0.1" - -jest-mock@^24.9.0: - version "24.9.0" - resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-24.9.0.tgz" - dependencies: - "@jest/types" "^24.9.0" - -jest-pnp-resolver@^1.2.1: - version "1.2.2" - resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz" - -jest-regex-util@^24.3.0, jest-regex-util@^24.9.0: - version "24.9.0" - resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz" - -jest-resolve-dependencies@^24.9.0: - version "24.9.0" - resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz" - dependencies: - "@jest/types" "^24.9.0" - jest-regex-util "^24.3.0" - jest-snapshot "^24.9.0" - -jest-resolve@^24.9.0: - version "24.9.0" - resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz" - dependencies: - "@jest/types" "^24.9.0" - browser-resolve "^1.11.3" - chalk "^2.0.1" - jest-pnp-resolver "^1.2.1" - realpath-native "^1.1.0" - -jest-runner@^24.9.0: - version "24.9.0" - resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-24.9.0.tgz" - dependencies: - "@jest/console" "^24.7.1" - "@jest/environment" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.4.2" - exit "^0.1.2" - graceful-fs "^4.1.15" - jest-config "^24.9.0" - jest-docblock "^24.3.0" - jest-haste-map "^24.9.0" - jest-jasmine2 "^24.9.0" - jest-leak-detector "^24.9.0" - jest-message-util "^24.9.0" - jest-resolve "^24.9.0" - jest-runtime "^24.9.0" - jest-util "^24.9.0" - jest-worker "^24.6.0" - source-map-support "^0.5.6" - throat "^4.0.0" - -jest-runtime@^24.9.0: - version "24.9.0" - resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.9.0.tgz" - dependencies: - "@jest/console" "^24.7.1" - "@jest/environment" "^24.9.0" - "@jest/source-map" "^24.3.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/yargs" "^13.0.0" - chalk "^2.0.1" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.1.15" - jest-config "^24.9.0" - jest-haste-map "^24.9.0" - jest-message-util "^24.9.0" - jest-mock "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - realpath-native "^1.1.0" - slash "^2.0.0" - strip-bom "^3.0.0" - yargs "^13.3.0" - -jest-serializer@^24.9.0: - version "24.9.0" - resolved "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.9.0.tgz" - -jest-snapshot@^24.9.0: - version "24.9.0" - resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.9.0.tgz" - dependencies: - "@babel/types" "^7.0.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - expect "^24.9.0" - jest-diff "^24.9.0" - jest-get-type "^24.9.0" - jest-matcher-utils "^24.9.0" - jest-message-util "^24.9.0" - jest-resolve "^24.9.0" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - pretty-format "^24.9.0" - semver "^6.2.0" - -jest-util@^24.9.0: - version "24.9.0" - resolved "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz" - dependencies: - "@jest/console" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/source-map" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - callsites "^3.0.0" - chalk "^2.0.1" - graceful-fs "^4.1.15" - is-ci "^2.0.0" - mkdirp "^0.5.1" - slash "^2.0.0" - source-map "^0.6.0" - -jest-validate@^24.9.0: - version "24.9.0" - resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz" - dependencies: - "@jest/types" "^24.9.0" - camelcase "^5.3.1" - chalk "^2.0.1" - jest-get-type "^24.9.0" - leven "^3.1.0" - pretty-format "^24.9.0" - -jest-watcher@^24.9.0: - version "24.9.0" - resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.9.0.tgz" - dependencies: - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/yargs" "^13.0.0" - ansi-escapes "^3.0.0" - chalk "^2.0.1" - jest-util "^24.9.0" - string-length "^2.0.0" - -jest-worker@^24.6.0, jest-worker@^24.9.0: - version "24.9.0" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz" - dependencies: - merge-stream "^2.0.0" - supports-color "^6.1.0" - -jest-worker@^27.4.5: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest@^24.9.0: - version "24.9.0" - resolved "https://registry.npmjs.org/jest/-/jest-24.9.0.tgz" - dependencies: - import-local "^2.0.0" - jest-cli "^24.9.0" - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" - -js-yaml@^3.10.0, js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - dependencies: - argparse "^2.0.1" - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz" - -jsdom@^11.5.1: - version "11.12.0" - resolved "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz" - dependencies: - abab "^2.0.0" - acorn "^5.5.3" - acorn-globals "^4.1.0" - array-equal "^1.0.0" - cssom ">= 0.3.2 < 0.4.0" - cssstyle "^1.0.0" - data-urls "^1.0.0" - domexception "^1.0.1" - escodegen "^1.9.1" - html-encoding-sniffer "^1.0.2" - left-pad "^1.3.0" - nwsapi "^2.0.7" - parse5 "4.0.0" - pn "^1.1.0" - request "^2.87.0" - request-promise-native "^1.0.5" - sax "^1.2.4" - symbol-tree "^3.2.2" - tough-cookie "^2.3.4" - w3c-hr-time "^1.0.1" - webidl-conversions "^4.0.2" - whatwg-encoding "^1.0.3" - whatwg-mimetype "^2.1.0" - whatwg-url "^6.4.1" - ws "^5.2.0" - xml-name-validator "^3.0.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" - -json-buffer@3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz" - -json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz" - -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" - -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz" - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" - -json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" - -json3@^3.3.3: - version "3.3.3" - resolved "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz" - -json5@^0.5.0: - version "0.5.1" - resolved "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz" - -json5@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz" - dependencies: - minimist "^1.2.0" - -json5@^2.1.2: - version "2.2.0" - resolved "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz" - dependencies: - minimist "^1.2.5" - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonparse@^1.2.0: - version "1.3.1" - resolved "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz" - -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz" - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -just-extend@^4.0.2: - version "4.2.1" - resolved "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz" - -keyv@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz" - dependencies: - json-buffer "3.0.0" - -killable@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz" - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz" - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz" - -kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: - version "6.0.3" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" - -konan@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/konan/-/konan-2.1.1.tgz" - dependencies: - "@babel/parser" "^7.10.5" - "@babel/traverse" "^7.10.5" - -last-call-webpack-plugin@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz" - dependencies: - lodash "^4.17.5" - webpack-sources "^1.1.0" - -latest-version@^5.0.0: - version "5.1.0" - resolved "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz" - dependencies: - package-json "^6.3.0" - -lazystream@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz" - dependencies: - readable-stream "^2.0.5" - -lead@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz" - dependencies: - flush-write-stream "^1.0.2" - -left-pad@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz" - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -lines-and-columns@^1.1.6: - version "1.1.6" - resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz" - -linkify-it@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz" - dependencies: - uc.micro "^1.0.1" - -lint-staged@^8.2.1: - version "8.2.1" - resolved "https://registry.npmjs.org/lint-staged/-/lint-staged-8.2.1.tgz" - dependencies: - chalk "^2.3.1" - commander "^2.14.1" - cosmiconfig "^5.2.0" - debug "^3.1.0" - dedent "^0.7.0" - del "^3.0.0" - execa "^1.0.0" - g-status "^2.0.2" - is-glob "^4.0.0" - is-windows "^1.0.2" - listr "^0.14.2" - listr-update-renderer "^0.5.0" - lodash "^4.17.11" - log-symbols "^2.2.0" - micromatch "^3.1.8" - npm-which "^3.0.1" - p-map "^1.1.1" - path-is-inside "^1.0.2" - pify "^3.0.0" - please-upgrade-node "^3.0.2" - staged-git-files "1.1.2" - string-argv "^0.0.2" - stringify-object "^3.2.2" - yup "^0.27.0" - -listr-silent-renderer@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz" - -listr-update-renderer@^0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz" - dependencies: - chalk "^1.1.3" - cli-truncate "^0.2.1" - elegant-spinner "^1.0.1" - figures "^1.7.0" - indent-string "^3.0.0" - log-symbols "^1.0.2" - log-update "^2.3.0" - strip-ansi "^3.0.1" - -listr-verbose-renderer@^0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz" - dependencies: - chalk "^2.4.1" - cli-cursor "^2.1.0" - date-fns "^1.27.2" - figures "^2.0.0" - -listr@^0.14.2, listr@^0.14.3: - version "0.14.3" - resolved "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz" - dependencies: - "@samverschueren/stream-to-observable" "^0.3.0" - is-observable "^1.1.0" - is-promise "^2.1.0" - is-stream "^1.1.0" - listr-silent-renderer "^1.1.1" - listr-update-renderer "^0.5.0" - listr-verbose-renderer "^0.5.0" - p-map "^2.0.0" - rxjs "^6.3.3" - -livereload-js@^2.3.0: - version "2.4.0" - resolved "https://registry.npmjs.org/livereload-js/-/livereload-js-2.4.0.tgz" - -load-json-file@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz" - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - -load-json-file@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz" - dependencies: - graceful-fs "^4.1.2" - parse-json "^4.0.0" - pify "^3.0.0" - strip-bom "^3.0.0" - -load-script@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/load-script/-/load-script-1.0.0.tgz" - -loader-runner@^2.4.0: - version "2.4.0" - resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz" - -loader-runner@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz" - -loader-utils@^0.2.16: - version "0.2.17" - resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz" - dependencies: - big.js "^3.1.3" - emojis-list "^2.0.0" - json5 "^0.5.0" - object-assign "^4.0.1" - -loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz" - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^1.0.1" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz" - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" - dependencies: - p-locate "^4.1.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" - dependencies: - p-locate "^5.0.0" - -lodash._reinterpolate@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz" - -lodash.camelcase@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz" - -lodash.clonedeep@^4.5.0: - version "4.5.0" - resolved "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz" - -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" - -lodash.ismatch@^4.4.0: - version "4.4.0" - resolved "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz" - -lodash.kebabcase@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz" - -lodash.memoize@^4.1.2: - version "4.1.2" - resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz" - -lodash.template@^4.5.0: - version "4.5.0" - resolved "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz" - dependencies: - lodash._reinterpolate "^3.0.0" - lodash.templatesettings "^4.0.0" - -lodash.templatesettings@^4.0.0: - version "4.2.0" - resolved "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz" - dependencies: - lodash._reinterpolate "^3.0.0" - -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" - -lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.3, lodash@^4.17.5: - version "4.17.21" - resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" - -log-symbols@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz" - dependencies: - chalk "^1.0.0" - -log-symbols@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz" - dependencies: - chalk "^2.0.1" - -log-symbols@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz" - dependencies: - chalk "^4.1.0" - is-unicode-supported "^0.1.0" - -log-update@^2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz" - dependencies: - ansi-escapes "^3.0.0" - cli-cursor "^2.0.0" - wrap-ansi "^3.0.1" - -loglevel@^1.6.8: - version "1.7.1" - resolved "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz" - -lolex@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/lolex/-/lolex-4.2.0.tgz" - -lolex@^5.0.1: - version "5.1.2" - resolved "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz" - dependencies: - "@sinonjs/commons" "^1.7.0" - -longest-streak@^2.0.0: - version "2.0.4" - resolved "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz" - -loose-envify@^1.0.0: - version "1.4.0" - resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -loud-rejection@^1.0.0: - version "1.6.0" - resolved "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz" - dependencies: - currently-unhandled "^0.4.1" - signal-exit "^3.0.0" - -lower-case@^1.1.1: - version "1.1.4" - resolved "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz" - -lower-case@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz" - dependencies: - tslib "^2.0.3" - -lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz" - -lowercase-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz" - -lru-cache@^4.1.2: - version "4.1.5" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz" - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" - dependencies: - yallist "^3.0.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - dependencies: - yallist "^4.0.0" - -magic-string@^0.25.7: - version "0.25.7" - resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz" - dependencies: - sourcemap-codec "^1.4.4" - -make-dir@^2.0.0, make-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz" - dependencies: - pify "^4.0.1" - semver "^5.6.0" - -make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" - dependencies: - semver "^6.0.0" - -makeerror@1.0.x: - version "1.0.11" - resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz" - dependencies: - tmpl "1.0.x" - -map-cache@^0.2.0, map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz" - -map-obj@^1.0.0, map-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz" - -map-obj@^4.0.0: - version "4.2.1" - resolved "https://registry.npmjs.org/map-obj/-/map-obj-4.2.1.tgz" - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz" - dependencies: - object-visit "^1.0.0" - -markdown-it-anchor@^5.0.2: - version "5.3.0" - resolved "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-5.3.0.tgz" - -markdown-it-chain@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/markdown-it-chain/-/markdown-it-chain-1.3.0.tgz" - dependencies: - webpack-chain "^4.9.0" - -markdown-it-container@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/markdown-it-container/-/markdown-it-container-2.0.0.tgz" - -markdown-it-emoji@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/markdown-it-emoji/-/markdown-it-emoji-1.4.0.tgz" - -markdown-it-table-of-contents@^0.4.0: - version "0.4.4" - resolved "https://registry.npmjs.org/markdown-it-table-of-contents/-/markdown-it-table-of-contents-0.4.4.tgz" - -markdown-it@^8.4.1: - version "8.4.2" - resolved "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz" - dependencies: - argparse "^1.0.7" - entities "~1.1.1" - linkify-it "^2.0.0" - mdurl "^1.0.1" - uc.micro "^1.0.5" - -markdown-table@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz" - dependencies: - repeat-string "^1.0.0" - -matcher@^1.0.0: - version "1.1.1" - resolved "https://registry.npmjs.org/matcher/-/matcher-1.1.1.tgz" - dependencies: - escape-string-regexp "^1.0.4" - -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz" - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -mdast-util-definitions@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz" - dependencies: - unist-util-visit "^2.0.0" - -mdast-util-find-and-replace@^1.1.0, mdast-util-find-and-replace@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-1.1.1.tgz" - dependencies: - escape-string-regexp "^4.0.0" - unist-util-is "^4.0.0" - unist-util-visit-parents "^3.0.0" - -mdast-util-from-markdown@^0.8.0: - version "0.8.5" - resolved "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz" - dependencies: - "@types/mdast" "^3.0.0" - mdast-util-to-string "^2.0.0" - micromark "~2.11.0" - parse-entities "^2.0.0" - unist-util-stringify-position "^2.0.0" - -mdast-util-gfm-autolink-literal@^0.1.0: - version "0.1.3" - resolved "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-0.1.3.tgz" - dependencies: - ccount "^1.0.0" - mdast-util-find-and-replace "^1.1.0" - micromark "^2.11.3" - -mdast-util-gfm-strikethrough@^0.2.0: - version "0.2.3" - resolved "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-0.2.3.tgz" - dependencies: - mdast-util-to-markdown "^0.6.0" - -mdast-util-gfm-table@^0.1.0: - version "0.1.6" - resolved "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-0.1.6.tgz" - dependencies: - markdown-table "^2.0.0" - mdast-util-to-markdown "~0.6.0" - -mdast-util-gfm-task-list-item@^0.1.0: - version "0.1.6" - resolved "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-0.1.6.tgz" - dependencies: - mdast-util-to-markdown "~0.6.0" - -mdast-util-gfm@^0.1.0: - version "0.1.2" - resolved "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-0.1.2.tgz" - dependencies: - mdast-util-gfm-autolink-literal "^0.1.0" - mdast-util-gfm-strikethrough "^0.2.0" - mdast-util-gfm-table "^0.1.0" - mdast-util-gfm-task-list-item "^0.1.0" - mdast-util-to-markdown "^0.6.1" - -mdast-util-inject@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/mdast-util-inject/-/mdast-util-inject-1.1.0.tgz" - dependencies: - mdast-util-to-string "^1.0.0" - -mdast-util-to-hast@^10.0.0: - version "10.2.0" - resolved "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-10.2.0.tgz" - dependencies: - "@types/mdast" "^3.0.0" - "@types/unist" "^2.0.0" - mdast-util-definitions "^4.0.0" - mdurl "^1.0.0" - unist-builder "^2.0.0" - unist-util-generated "^1.0.0" - unist-util-position "^3.0.0" - unist-util-visit "^2.0.0" - -mdast-util-to-markdown@^0.6.0, mdast-util-to-markdown@^0.6.1, mdast-util-to-markdown@~0.6.0: - version "0.6.5" - resolved "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.5.tgz" - dependencies: - "@types/unist" "^2.0.0" - longest-streak "^2.0.0" - mdast-util-to-string "^2.0.0" - parse-entities "^2.0.0" - repeat-string "^1.0.0" - zwitch "^1.0.0" - -mdast-util-to-string@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz" - -mdast-util-to-string@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz" - -mdast-util-toc@^5.0.0: - version "5.1.0" - resolved "https://registry.npmjs.org/mdast-util-toc/-/mdast-util-toc-5.1.0.tgz" - dependencies: - "@types/mdast" "^3.0.3" - "@types/unist" "^2.0.3" - extend "^3.0.2" - github-slugger "^1.2.1" - mdast-util-to-string "^2.0.0" - unist-util-is "^4.0.0" - unist-util-visit "^2.0.0" - -mdn-data@2.0.14: - version "2.0.14" - resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz" - -mdn-data@2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz" - -mdurl@^1.0.0, mdurl@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz" - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" - -memfs@^3.4.1: - version "3.4.1" - resolved "https://registry.npmjs.org/memfs/-/memfs-3.4.1.tgz" - dependencies: - fs-monkey "1.0.3" - -memory-fs@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz" - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -memory-fs@^0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz" - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -memorystream@^0.3.1: - version "0.3.1" - resolved "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz" - -meow@^3.3.0: - version "3.7.0" - resolved "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz" - dependencies: - 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" - -meow@^8.0.0: - version "8.1.2" - resolved "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz" - dependencies: - "@types/minimist" "^1.2.0" - camelcase-keys "^6.2.2" - decamelize-keys "^1.1.0" - hard-rejection "^2.1.0" - minimist-options "4.1.0" - normalize-package-data "^3.0.0" - read-pkg-up "^7.0.1" - redent "^3.0.0" - trim-newlines "^3.0.0" - type-fest "^0.18.0" - yargs-parser "^20.2.3" - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" - -merge-source-map@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz" - dependencies: - source-map "^0.6.1" - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" - -merge2@^1.2.3, merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" - -methods@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" - -micromark-extension-gfm-autolink-literal@~0.5.0: - version "0.5.7" - resolved "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-0.5.7.tgz" - dependencies: - micromark "~2.11.3" - -micromark-extension-gfm-strikethrough@~0.6.5: - version "0.6.5" - resolved "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-0.6.5.tgz" - dependencies: - micromark "~2.11.0" - -micromark-extension-gfm-table@~0.4.0: - version "0.4.3" - resolved "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-0.4.3.tgz" - dependencies: - micromark "~2.11.0" - -micromark-extension-gfm-tagfilter@~0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-0.3.0.tgz" - -micromark-extension-gfm-task-list-item@~0.3.0: - version "0.3.3" - resolved "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-0.3.3.tgz" - dependencies: - micromark "~2.11.0" - -micromark-extension-gfm@^0.3.0: - version "0.3.3" - resolved "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-0.3.3.tgz" - dependencies: - micromark "~2.11.0" - micromark-extension-gfm-autolink-literal "~0.5.0" - micromark-extension-gfm-strikethrough "~0.6.5" - micromark-extension-gfm-table "~0.4.0" - micromark-extension-gfm-tagfilter "~0.3.0" - micromark-extension-gfm-task-list-item "~0.3.0" - -micromark@^2.11.3, micromark@~2.11.0, micromark@~2.11.3: - version "2.11.4" - resolved "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz" - dependencies: - debug "^4.0.0" - parse-entities "^2.0.0" - -micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.5, micromatch@^3.1.8: - version "3.1.10" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz" - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4: - version "4.0.4" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz" - dependencies: - braces "^3.0.1" - picomatch "^2.2.3" - -miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz" - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - -mime-db@1.48.0, "mime-db@>= 1.43.0 < 2": - version "1.48.0" - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz" - -mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: - version "2.1.31" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz" - dependencies: - mime-db "1.48.0" - -mime@1.6.0: - version "1.6.0" - resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" - -mime@^2.0.3, mime@^2.2.0, mime@^2.4.4: - version "2.5.2" - resolved "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz" - -mimic-fn@^1.0.0: - version "1.2.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz" - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" - -mimic-response@^1.0.0, mimic-response@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz" - -min-document@^2.19.0: - version "2.19.0" - resolved "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz" - dependencies: - dom-walk "^0.1.0" - -min-indent@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz" - -mini-css-extract-plugin@0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.6.0.tgz" - dependencies: - loader-utils "^1.1.0" - normalize-url "^2.0.1" - schema-utils "^1.0.0" - webpack-sources "^1.1.0" - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" - -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz" - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" - dependencies: - brace-expansion "^1.1.7" - -minimist-options@4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz" - dependencies: - arrify "^1.0.1" - is-plain-obj "^1.1.0" - kind-of "^6.0.3" - -minimist@^1.1.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: - version "1.2.6" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" - -mississippi@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz" - dependencies: - concat-stream "^1.5.0" - duplexify "^3.4.2" - end-of-stream "^1.1.0" - flush-write-stream "^1.0.0" - from2 "^2.1.0" - parallel-transform "^1.1.0" - pump "^3.0.0" - pumpify "^1.3.3" - stream-each "^1.1.0" - through2 "^2.0.0" - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz" - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mkdirp@0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz" - -mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5, mkdirp@~0.5.1: - version "0.5.5" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz" - dependencies: - minimist "^1.2.5" - -mkdirp@~1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" - -modify-values@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz" - -module-deps-sortable@^5.0.3: - version "5.0.3" - resolved "https://registry.npmjs.org/module-deps-sortable/-/module-deps-sortable-5.0.3.tgz" - dependencies: - JSONStream "^1.0.3" - browser-resolve "^1.7.0" - cached-path-relative "^1.0.0" - concat-stream "~1.5.0" - defined "^1.0.0" - detective "^5.2.0" - duplexer2 "^0.1.2" - inherits "^2.0.1" - konan "^2.1.1" - readable-stream "^2.0.2" - resolve "^1.1.3" - standard-version "^9.0.0" - stream-combiner2 "^1.1.1" - subarg "^1.0.0" - through2 "^2.0.0" - xtend "^4.0.0" - -move-concurrently@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz" - dependencies: - aproba "^1.1.1" - copy-concurrently "^1.0.0" - fs-write-stream-atomic "^1.0.8" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.3" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" - -ms@2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz" - -ms@2.1.2, ms@^2.1.1: - version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - -multicast-dns-service-types@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz" - -multicast-dns@^6.0.1: - version "6.2.3" - resolved "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz" - dependencies: - dns-packet "^1.3.1" - thunky "^1.0.2" - -mute-stream@0.0.8: - version "0.0.8" - resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz" - -nan@^2.12.1: - version "2.15.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" - -nanoid@^3.1.23: - version "3.2.0" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz" - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz" - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" - -negotiator@0.6.2: - version "0.6.2" - resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz" - -neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1, neo-async@^2.6.2: - version "2.6.2" - resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" - -nise@^1.5.2: - version "1.5.3" - resolved "https://registry.npmjs.org/nise/-/nise-1.5.3.tgz" - dependencies: - "@sinonjs/formatio" "^3.2.1" - "@sinonjs/text-encoding" "^0.7.1" - just-extend "^4.0.2" - lolex "^5.0.1" - path-to-regexp "^1.7.0" - -no-case@^2.2.0: - version "2.3.2" - resolved "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz" - dependencies: - lower-case "^1.1.1" - -no-case@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz" - dependencies: - lower-case "^2.0.2" - tslib "^2.0.3" - -node-forge@^0.10.0: - version "0.10.0" - resolved "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz" - -node-forge@^1.2.0: - version "1.2.1" - resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.2.1.tgz" - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" - -node-libs-browser@^2.2.1: - version "2.2.1" - resolved "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz" - dependencies: - assert "^1.1.1" - browserify-zlib "^0.2.0" - buffer "^4.3.0" - console-browserify "^1.1.0" - constants-browserify "^1.0.0" - crypto-browserify "^3.11.0" - domain-browser "^1.1.1" - events "^3.0.0" - https-browserify "^1.0.0" - os-browserify "^0.3.0" - path-browserify "0.0.1" - process "^0.11.10" - punycode "^1.2.4" - querystring-es3 "^0.2.0" - readable-stream "^2.3.3" - stream-browserify "^2.0.1" - stream-http "^2.7.2" - string_decoder "^1.0.0" - timers-browserify "^2.0.4" - tty-browserify "0.0.0" - url "^0.11.0" - util "^0.11.0" - vm-browserify "^1.0.1" - -node-modules-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz" - -node-notifier@^5.4.2: - version "5.4.5" - resolved "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.5.tgz" - dependencies: - growly "^1.3.0" - is-wsl "^1.1.0" - semver "^5.5.0" - shellwords "^0.1.1" - which "^1.3.0" - -node-releases@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz" - -nopt@1.0.10: - version "1.0.10" - resolved "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz" - dependencies: - abbrev "1" - -normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.5.0: - version "2.5.0" - resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-package-data@^3.0.0: - version "3.0.2" - resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz" - dependencies: - hosted-git-info "^4.0.1" - resolve "^1.20.0" - semver "^7.3.4" - validate-npm-package-license "^3.0.1" - -normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz" - dependencies: - remove-trailing-separator "^1.0.1" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" - -normalize-range@^0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" - -normalize-url@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz" - dependencies: - prepend-http "^2.0.0" - query-string "^5.0.1" - sort-keys "^2.0.0" - -normalize-url@^3.0.0: - version "3.3.0" - resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz" - -normalize-url@^4.1.0: - version "4.5.1" - resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz" - -normalize-url@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-6.0.1.tgz" - -now-and-later@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz" - dependencies: - once "^1.3.2" - -npm-path@^2.0.2: - version "2.0.4" - resolved "https://registry.npmjs.org/npm-path/-/npm-path-2.0.4.tgz" - dependencies: - which "^1.2.10" - -npm-run-all@^4.1.5: - version "4.1.5" - resolved "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz" - dependencies: - ansi-styles "^3.2.1" - chalk "^2.4.1" - cross-spawn "^6.0.5" - memorystream "^0.3.1" - minimatch "^3.0.4" - pidtree "^0.3.0" - read-pkg "^3.0.0" - shell-quote "^1.6.1" - string.prototype.padend "^3.0.0" - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz" - dependencies: - path-key "^2.0.0" - -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" - dependencies: - path-key "^3.0.0" - -npm-which@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/npm-which/-/npm-which-3.0.1.tgz" - dependencies: - commander "^2.9.0" - npm-path "^2.0.2" - which "^1.2.10" - -nprogress@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz" - -nth-check@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz" - dependencies: - boolbase "~1.0.0" - -nth-check@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz" - dependencies: - boolbase "^1.0.0" - -null-check@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz" - -num2fraction@^1.2.2: - version "1.2.2" - resolved "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz" - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" - -nwsapi@^2.0.7: - version "2.2.0" - resolved "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz" - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz" - -object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz" - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-inspect@^1.10.3, object-inspect@^1.9.0: - version "1.10.3" - resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz" - -object-is@^1.0.1: - version "1.1.5" - resolved "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz" - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.0, object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz" - dependencies: - isobject "^3.0.0" - -object.assign@^4.0.4, object.assign@^4.1.0, object.assign@^4.1.2: - version "4.1.2" - resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz" - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - has-symbols "^1.0.1" - object-keys "^1.1.1" - -object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0, object.getownpropertydescriptors@^2.1.1: - version "2.1.2" - resolved "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz" - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz" - dependencies: - isobject "^3.0.1" - -object.values@^1.1.0: - version "1.1.4" - resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.4.tgz" - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.18.2" - -obuf@^1.0.0, obuf@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz" - -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz" - dependencies: - ee-first "1.1.1" - -on-headers@~1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz" - -once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - dependencies: - wrappy "1" - -onetime@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz" - dependencies: - mimic-fn "^1.0.0" - -onetime@^5.1.0, onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" - dependencies: - mimic-fn "^2.1.0" - -open@^8.0.9: - version "8.4.0" - resolved "https://registry.npmjs.org/open/-/open-8.4.0.tgz" - dependencies: - define-lazy-prop "^2.0.0" - is-docker "^2.1.1" - is-wsl "^2.2.0" - -opencollective-postinstall@^2.0.2: - version "2.0.3" - resolved "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz" - -opn@^5.5.0: - version "5.5.0" - resolved "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz" - dependencies: - is-wsl "^1.1.0" - -optimize-css-assets-webpack-plugin@^5.0.1: - version "5.0.6" - resolved "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.6.tgz" - dependencies: - cssnano "^4.1.10" - last-call-webpack-plugin "^3.0.0" - -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz" - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" - dependencies: - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - word-wrap "^1.2.3" - -ora@^5.4.1: - version "5.4.1" - resolved "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz" - dependencies: - bl "^4.1.0" - chalk "^4.1.0" - cli-cursor "^3.1.0" - cli-spinners "^2.5.0" - is-interactive "^1.0.0" - is-unicode-supported "^0.1.0" - log-symbols "^4.1.0" - strip-ansi "^6.0.0" - wcwidth "^1.0.1" - -ordered-read-streams@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz" - dependencies: - readable-stream "^2.0.1" - -original@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/original/-/original-1.0.2.tgz" - dependencies: - url-parse "^1.4.3" - -os-browserify@^0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz" - -os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" - -p-cancelable@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz" - -p-each-series@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz" - dependencies: - p-reduce "^1.0.0" - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" - -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz" - dependencies: - p-try "^1.0.0" - -p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.2.1: - version "2.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" - dependencies: - yocto-queue "^0.1.0" - -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz" - dependencies: - p-limit "^1.1.0" - -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" - dependencies: - p-limit "^2.0.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" - dependencies: - p-limit "^2.2.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" - dependencies: - p-limit "^3.0.2" - -p-map@^1.1.1: - version "1.2.0" - resolved "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz" - -p-map@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz" - -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz" - dependencies: - aggregate-error "^3.0.0" - -p-reduce@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz" - -p-retry@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz" - dependencies: - retry "^0.12.0" - -p-retry@^4.5.0: - version "4.6.1" - resolved "https://registry.npmjs.org/p-retry/-/p-retry-4.6.1.tgz" - dependencies: - "@types/retry" "^0.12.0" - retry "^0.13.1" - -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" - -package-json@^6.3.0: - version "6.5.0" - resolved "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz" - dependencies: - got "^9.6.0" - registry-auth-token "^4.0.0" - registry-url "^5.0.0" - semver "^6.2.0" - -pako@~1.0.5: - version "1.0.11" - resolved "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz" - -parallel-transform@^1.1.0: - version "1.2.0" - resolved "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz" - dependencies: - cyclist "^1.0.1" - inherits "^2.0.3" - readable-stream "^2.1.5" - -param-case@2.1.x: - version "2.1.1" - resolved "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz" - dependencies: - no-case "^2.2.0" - -param-case@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz" - dependencies: - dot-case "^3.0.4" - tslib "^2.0.3" - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - dependencies: - callsites "^3.0.0" - -parse-asn1@^5.0.0, parse-asn1@^5.1.5: - version "5.1.6" - resolved "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz" - dependencies: - asn1.js "^5.2.0" - browserify-aes "^1.0.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - safe-buffer "^5.1.1" - -parse-entities@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz" - dependencies: - character-entities "^1.0.0" - character-entities-legacy "^1.0.0" - character-reference-invalid "^1.0.0" - is-alphanumerical "^1.0.0" - is-decimal "^1.0.0" - is-hexadecimal "^1.0.0" - -parse-filepath@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz" - dependencies: - is-absolute "^1.0.0" - map-cache "^0.2.0" - path-root "^0.1.1" - -parse-github-repo-url@^1.3.0: - version "1.4.1" - resolved "https://registry.npmjs.org/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz" - -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz" - dependencies: - error-ex "^1.2.0" - -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz" - dependencies: - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - -parse-json@^5.0.0: - version "5.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -parse-path@^4.0.0: - version "4.0.3" - resolved "https://registry.npmjs.org/parse-path/-/parse-path-4.0.3.tgz" - dependencies: - is-ssh "^1.3.0" - protocols "^1.4.0" - qs "^6.9.4" - query-string "^6.13.8" - -parse-url@^5.0.0: - version "5.0.3" - resolved "https://registry.npmjs.org/parse-url/-/parse-url-5.0.3.tgz" - dependencies: - is-ssh "^1.3.0" - normalize-url "^6.0.1" - parse-path "^4.0.0" - protocols "^1.4.0" - -parse5@4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz" - -parseurl@~1.3.2, parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" - -pascal-case@^3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz" - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz" - -path-browserify@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz" - -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz" - -path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz" - dependencies: - pinkie-promise "^2.0.0" - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - -path-is-inside@^1.0.1, path-is-inside@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz" - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - -path-parse@^1.0.6: - version "1.0.7" - resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" - -path-root-regex@^0.1.0: - version "0.1.2" - resolved "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz" - -path-root@^0.1.1: - version "0.1.1" - resolved "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz" - dependencies: - path-root-regex "^0.1.0" - -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" - -path-to-regexp@^1.7.0: - version "1.8.0" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz" - dependencies: - isarray "0.0.1" - -path-type@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz" - dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz" - dependencies: - pify "^3.0.0" - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" - -pbkdf2@^3.0.3: - version "3.1.2" - resolved "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz" - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz" - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: - version "2.3.0" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz" - -pidtree@^0.3.0: - version "0.3.1" - resolved "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz" - -pify@^2.0.0, pify@^2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz" - -pify@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz" - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" - -pirates@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz" - dependencies: - node-modules-regexp "^1.0.0" - -pkg-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz" - dependencies: - find-up "^3.0.0" - -pkg-dir@^4.1.0, pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" - dependencies: - find-up "^4.0.0" - -please-upgrade-node@^3.0.2, please-upgrade-node@^3.1.1: - version "3.2.0" - resolved "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz" - dependencies: - semver-compare "^1.0.0" - -pn@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz" - -portfinder@^1.0.13, portfinder@^1.0.26, portfinder@^1.0.28: - version "1.0.28" - resolved "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz" - dependencies: - async "^2.6.2" - debug "^3.1.1" - mkdirp "^0.5.5" - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz" - -postcss-calc@^7.0.1: - version "7.0.5" - resolved "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz" - dependencies: - postcss "^7.0.27" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.0.2" - -postcss-colormin@^4.0.3: - version "4.0.3" - resolved "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz" - dependencies: - browserslist "^4.0.0" - color "^3.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-convert-values@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz" - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-discard-comments@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz" - dependencies: - postcss "^7.0.0" - -postcss-discard-duplicates@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz" - dependencies: - postcss "^7.0.0" - -postcss-discard-empty@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz" - dependencies: - postcss "^7.0.0" - -postcss-discard-overridden@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz" - dependencies: - postcss "^7.0.0" - -postcss-load-config@^2.0.0: - version "2.1.2" - resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz" - dependencies: - cosmiconfig "^5.0.0" - import-cwd "^2.0.0" - -postcss-loader@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz" - dependencies: - loader-utils "^1.1.0" - postcss "^7.0.0" - postcss-load-config "^2.0.0" - schema-utils "^1.0.0" - -postcss-merge-longhand@^4.0.11: - version "4.0.11" - resolved "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz" - dependencies: - css-color-names "0.0.4" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - stylehacks "^4.0.0" - -postcss-merge-rules@^4.0.3: - version "4.0.3" - resolved "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz" - dependencies: - browserslist "^4.0.0" - caniuse-api "^3.0.0" - cssnano-util-same-parent "^4.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" - vendors "^1.0.0" - -postcss-minify-font-values@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz" - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-minify-gradients@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz" - dependencies: - cssnano-util-get-arguments "^4.0.0" - is-color-stop "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-minify-params@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz" - dependencies: - alphanum-sort "^1.0.0" - browserslist "^4.0.0" - cssnano-util-get-arguments "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - uniqs "^2.0.0" - -postcss-minify-selectors@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz" - dependencies: - alphanum-sort "^1.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" - -postcss-modules-extract-imports@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz" - dependencies: - postcss "^7.0.5" - -postcss-modules-extract-imports@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz" - -postcss-modules-local-by-default@^2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz" - dependencies: - postcss "^7.0.6" - postcss-selector-parser "^6.0.0" - postcss-value-parser "^3.3.1" - -postcss-modules-local-by-default@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz" - dependencies: - icss-utils "^5.0.0" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.1.0" - -postcss-modules-scope@^2.1.0: - version "2.2.0" - resolved "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz" - dependencies: - postcss "^7.0.6" - postcss-selector-parser "^6.0.0" - -postcss-modules-scope@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz" - dependencies: - postcss-selector-parser "^6.0.4" - -postcss-modules-values@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz" - dependencies: - icss-replace-symbols "^1.1.0" - postcss "^7.0.6" - -postcss-modules-values@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz" - dependencies: - icss-utils "^5.0.0" - -postcss-modules@^4.0.0: - version "4.1.3" - resolved "https://registry.npmjs.org/postcss-modules/-/postcss-modules-4.1.3.tgz" - dependencies: - generic-names "^2.0.1" - icss-replace-symbols "^1.1.0" - lodash.camelcase "^4.3.0" - postcss-modules-extract-imports "^3.0.0" - postcss-modules-local-by-default "^4.0.0" - postcss-modules-scope "^3.0.0" - postcss-modules-values "^4.0.0" - string-hash "^1.1.1" - -postcss-normalize-charset@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz" - dependencies: - postcss "^7.0.0" - -postcss-normalize-display-values@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz" - dependencies: - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-positions@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz" - dependencies: - cssnano-util-get-arguments "^4.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-repeat-style@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz" - dependencies: - cssnano-util-get-arguments "^4.0.0" - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-string@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz" - dependencies: - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-timing-functions@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz" - dependencies: - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-unicode@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz" - dependencies: - browserslist "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-url@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz" - dependencies: - is-absolute-url "^2.0.0" - normalize-url "^3.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-whitespace@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz" - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-ordered-values@^4.1.2: - version "4.1.2" - resolved "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz" - dependencies: - cssnano-util-get-arguments "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-reduce-initial@^4.0.3: - version "4.0.3" - resolved "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz" - dependencies: - browserslist "^4.0.0" - caniuse-api "^3.0.0" - has "^1.0.0" - postcss "^7.0.0" - -postcss-reduce-transforms@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz" - dependencies: - cssnano-util-get-match "^4.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-safe-parser@^4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz" - dependencies: - postcss "^7.0.26" - -postcss-selector-parser@^3.0.0: - version "3.1.2" - resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz" - dependencies: - dot-prop "^5.2.0" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: - version "6.0.6" - resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz" - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-svgo@^4.0.3: - version "4.0.3" - resolved "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.3.tgz" - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - svgo "^1.0.0" - -postcss-unique-selectors@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz" - dependencies: - alphanum-sort "^1.0.0" - postcss "^7.0.0" - uniqs "^2.0.0" - -postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.0, postcss-value-parser@^3.3.1: - version "3.3.1" - resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz" - -postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz" - -postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: - version "7.0.36" - resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz" - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -postcss@^8.1.10: - version "8.3.3" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.3.3.tgz" - dependencies: - colorette "^1.2.2" - nanoid "^3.1.23" - source-map-js "^0.6.2" - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" - -prepend-http@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz" - -prettier@^1.18.2: - version "1.19.1" - resolved "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz" - -prettier@^2.4.1: - version "2.4.1" - resolved "https://registry.npmjs.org/prettier/-/prettier-2.4.1.tgz" - -pretty-error@^2.0.2: - version "2.1.2" - resolved "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz" - dependencies: - lodash "^4.17.20" - renderkid "^2.0.4" - -pretty-error@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz" - dependencies: - lodash "^4.17.20" - renderkid "^3.0.0" - -pretty-format@^24.9.0: - version "24.9.0" - resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz" - dependencies: - "@jest/types" "^24.9.0" - ansi-regex "^4.0.0" - ansi-styles "^3.2.0" - react-is "^16.8.4" - -pretty-time@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz" - -prismjs@^1.13.0: - version "1.27.0" - resolved "https://registry.npmjs.org/prismjs/-/prismjs-1.27.0.tgz" - -process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" - -process-nextick-args@~1.0.6: - version "1.0.7" - resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz" - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.npmjs.org/process/-/process-0.11.10.tgz" - -promise-inflight@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz" - -promise-polyfill@^8.1.3: - version "8.2.0" - resolved "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.2.0.tgz" - -prompts@^2.0.1: - version "2.4.1" - resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz" - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -property-expr@^1.5.0: - version "1.5.1" - resolved "https://registry.npmjs.org/property-expr/-/property-expr-1.5.1.tgz" - -property-information@^5.0.0: - version "5.6.0" - resolved "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz" - dependencies: - xtend "^4.0.0" - -protocols@^1.1.0, protocols@^1.4.0: - version "1.4.8" - resolved "https://registry.npmjs.org/protocols/-/protocols-1.4.8.tgz" - -proxy-addr@~2.0.5: - version "2.0.7" - resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" - dependencies: - forwarded "0.2.0" - ipaddr.js "1.9.1" - -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz" - -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz" - -psl@^1.1.28: - version "1.8.0" - resolved "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz" - -public-encrypt@^4.0.0: - version "4.0.3" - resolved "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz" - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - safe-buffer "^5.1.2" - -pump@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz" - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pumpify@^1.3.3, pumpify@^1.3.5: - version "1.5.1" - resolved "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz" - dependencies: - duplexify "^3.6.0" - inherits "^2.0.3" - pump "^2.0.0" - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz" - -punycode@^1.2.4: - version "1.4.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" - -punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" - -pupa@^2.0.1: - version "2.1.1" - resolved "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz" - dependencies: - escape-goat "^2.0.0" - -q@^1.1.2, q@^1.5.1: - version "1.5.1" - resolved "https://registry.npmjs.org/q/-/q-1.5.1.tgz" - -qs@6.7.0: - version "6.7.0" - resolved "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz" - -qs@^6.4.0, qs@^6.9.4: - version "6.10.1" - resolved "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz" - dependencies: - side-channel "^1.0.4" - -qs@~6.5.2: - version "6.5.2" - resolved "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz" - -query-string@^5.0.1: - version "5.1.1" - resolved "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz" - dependencies: - decode-uri-component "^0.2.0" - object-assign "^4.1.0" - strict-uri-encode "^1.0.0" - -query-string@^6.13.8: - version "6.14.1" - resolved "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz" - dependencies: - decode-uri-component "^0.2.0" - filter-obj "^1.1.0" - split-on-first "^1.0.0" - strict-uri-encode "^2.0.0" - -querystring-es3@^0.2.0, querystring-es3@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz" - -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz" - -querystringify@^2.1.1: - version "2.2.0" - resolved "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz" - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" - -quick-lru@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz" - -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" - dependencies: - safe-buffer "^5.1.0" - -randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz" - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - -range-parser@^1.2.1, range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" - -raw-body@2.4.0: - version "2.4.0" - resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz" - dependencies: - bytes "3.1.0" - http-errors "1.7.2" - iconv-lite "0.4.24" - unpipe "1.0.0" - -raw-body@~1.1.0: - version "1.1.7" - resolved "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz" - dependencies: - bytes "1" - string_decoder "0.10" - -rc@^1.2.8: - version "1.2.8" - resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -react-is@^16.8.4: - version "16.13.1" - resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" - -read-pkg-up@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz" - dependencies: - find-up "^1.0.0" - read-pkg "^1.0.0" - -read-pkg-up@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz" - dependencies: - find-up "^2.0.0" - read-pkg "^3.0.0" - -read-pkg-up@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz" - dependencies: - find-up "^3.0.0" - read-pkg "^3.0.0" - -read-pkg-up@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz" - dependencies: - find-up "^4.1.0" - read-pkg "^5.2.0" - type-fest "^0.8.1" - -read-pkg@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz" - dependencies: - load-json-file "^1.0.0" - normalize-package-data "^2.3.2" - path-type "^1.0.0" - -read-pkg@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz" - dependencies: - load-json-file "^4.0.0" - normalize-package-data "^2.3.2" - path-type "^3.0.0" - -read-pkg@^5.1.1, read-pkg@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz" - dependencies: - "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^2.5.0" - parse-json "^5.0.0" - type-fest "^0.6.0" - -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: - version "2.3.7" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.0.6, readable-stream@^3.4.0, readable-stream@^3.6.0: - version "3.6.0" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readable-stream@~2.0.0: - version "2.0.6" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - string_decoder "~0.10.x" - util-deprecate "~1.0.1" - -readable-stream@~2.1.0: - version "2.1.5" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz" - dependencies: - buffer-shims "^1.0.0" - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - string_decoder "~0.10.x" - util-deprecate "~1.0.1" - -readdirp@^2.2.1: - version "2.2.1" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz" - dependencies: - graceful-fs "^4.1.11" - micromatch "^3.1.10" - readable-stream "^2.0.2" - -readdirp@~3.5.0: - version "3.5.0" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz" - dependencies: - picomatch "^2.2.1" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" - dependencies: - picomatch "^2.2.1" - -realpath-native@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz" - dependencies: - util.promisify "^1.0.0" - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" - dependencies: - resolve "^1.1.6" - -rechoir@^0.7.0: - version "0.7.1" - resolved "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz" - dependencies: - resolve "^1.9.0" - -redent@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz" - dependencies: - indent-string "^2.1.0" - strip-indent "^1.0.1" - -redent@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz" - dependencies: - indent-string "^4.0.0" - strip-indent "^3.0.0" - -reduce@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/reduce/-/reduce-1.0.2.tgz" - dependencies: - object-keys "^1.1.0" - -regenerate-unicode-properties@^10.0.1: - version "10.0.1" - resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz" - dependencies: - regenerate "^1.4.2" - -regenerate@^1.4.2: - version "1.4.2" - resolved "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" - -regenerator-runtime@^0.13.4: - version "0.13.7" - resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz" - -regenerator-transform@^0.14.2: - version "0.14.5" - resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz" - dependencies: - "@babel/runtime" "^7.8.4" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz" - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -regexp.prototype.flags@^1.2.0: - version "1.3.1" - resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz" - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -regexpp@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" - -regexpu-core@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz" - dependencies: - regenerate "^1.4.2" - regenerate-unicode-properties "^10.0.1" - regjsgen "^0.6.0" - regjsparser "^0.8.2" - unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.0.0" - -registry-auth-token@^4.0.0: - version "4.2.1" - resolved "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz" - dependencies: - rc "^1.2.8" - -registry-url@^5.0.0: - version "5.1.0" - resolved "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz" - dependencies: - rc "^1.2.8" - -regjsgen@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz" - -regjsparser@^0.8.2: - version "0.8.4" - resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz" - dependencies: - jsesc "~0.5.0" - -relateurl@0.2.x, relateurl@^0.2.7: - version "0.2.7" - resolved "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz" - -remark-gfm@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/remark-gfm/-/remark-gfm-1.0.0.tgz" - dependencies: - mdast-util-gfm "^0.1.0" - micromark-extension-gfm "^0.3.0" - -remark-html@^13.0.1: - version "13.0.2" - resolved "https://registry.npmjs.org/remark-html/-/remark-html-13.0.2.tgz" - dependencies: - hast-util-sanitize "^3.0.0" - hast-util-to-html "^7.0.0" - mdast-util-to-hast "^10.0.0" - -remark-parse@^9.0.0: - version "9.0.0" - resolved "https://registry.npmjs.org/remark-parse/-/remark-parse-9.0.0.tgz" - dependencies: - mdast-util-from-markdown "^0.8.0" - -remark-reference-links@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/remark-reference-links/-/remark-reference-links-5.0.0.tgz" - dependencies: - unist-util-visit "^2.0.0" - -remark-stringify@^9.0.0: - version "9.0.1" - resolved "https://registry.npmjs.org/remark-stringify/-/remark-stringify-9.0.1.tgz" - dependencies: - mdast-util-to-markdown "^0.6.0" - -remark-toc@^7.2.0: - version "7.2.0" - resolved "https://registry.npmjs.org/remark-toc/-/remark-toc-7.2.0.tgz" - dependencies: - "@types/unist" "^2.0.3" - mdast-util-toc "^5.0.0" - -remark@^13.0.0: - version "13.0.0" - resolved "https://registry.npmjs.org/remark/-/remark-13.0.0.tgz" - dependencies: - remark-parse "^9.0.0" - remark-stringify "^9.0.0" - unified "^9.1.0" - -remove-bom-buffer@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz" - dependencies: - is-buffer "^1.1.5" - is-utf8 "^0.2.1" - -remove-bom-stream@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz" - dependencies: - remove-bom-buffer "^3.0.0" - safe-buffer "^5.1.0" - through2 "^2.0.3" - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz" - -renderkid@^2.0.4: - version "2.0.7" - resolved "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz" - dependencies: - css-select "^4.1.3" - dom-converter "^0.2.0" - htmlparser2 "^6.1.0" - lodash "^4.17.21" - strip-ansi "^3.0.1" - -renderkid@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz" - dependencies: - css-select "^4.1.3" - dom-converter "^0.2.0" - htmlparser2 "^6.1.0" - lodash "^4.17.21" - strip-ansi "^6.0.1" - -repeat-element@^1.1.2: - version "1.1.4" - resolved "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz" - -repeat-string@^1.0.0, repeat-string@^1.5.0, repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" - -repeating@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz" - dependencies: - is-finite "^1.0.0" - -replace-ext@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz" - -request-promise-core@1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz" - dependencies: - lodash "^4.17.19" - -request-promise-native@^1.0.5: - version "1.0.9" - resolved "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz" - dependencies: - request-promise-core "1.1.4" - stealthy-require "^1.1.1" - tough-cookie "^2.3.3" - -request@^2.87.0: - version "2.88.2" - resolved "https://registry.npmjs.org/request/-/request-2.88.2.tgz" - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - 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.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz" - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" - -resolve-cwd@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz" - dependencies: - resolve-from "^3.0.0" - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" - dependencies: - resolve-from "^5.0.0" - -resolve-from@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz" - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" - -resolve-options@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz" - dependencies: - value-or-function "^3.0.0" - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz" - -resolve@1.1.7: - version "1.1.7" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz" - -resolve@^1.1.3, resolve@^1.1.6, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.2.0, resolve@^1.20.0, resolve@^1.3.2, resolve@^1.8.1, resolve@^1.9.0: - version "1.20.0" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz" - dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" - -responselike@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz" - dependencies: - lowercase-keys "^1.0.0" - -restore-cursor@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz" - dependencies: - onetime "^2.0.0" - signal-exit "^3.0.2" - -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz" - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz" - -retry@^0.12.0: - version "0.12.0" - resolved "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz" - -retry@^0.13.1: - version "0.13.1" - resolved "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz" - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" - -rgb-regex@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz" - -rgba-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz" - -rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.3: - version "2.7.1" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" - dependencies: - glob "^7.1.3" - -rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" - dependencies: - glob "^7.1.3" - -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz" - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - -rsvp@^4.8.4: - version "4.8.5" - resolved "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz" - -run-async@^2.4.0: - version "2.4.1" - resolved "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz" - -run-node@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/run-node/-/run-node-1.0.0.tgz" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" - dependencies: - queue-microtask "^1.2.2" - -run-queue@^1.0.0, run-queue@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz" - dependencies: - aproba "^1.1.1" - -rxjs@^6.3.3: - version "6.6.7" - resolved "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz" - dependencies: - tslib "^1.9.0" - -rxjs@^7.2.0: - version "7.5.4" - resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.5.4.tgz" - dependencies: - tslib "^2.1.0" - -safe-buffer@5.1.2, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" - -safe-buffer@^5.2.0: - version "5.2.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" - -safe-json-parse@~1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz" - -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz" - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@^2.1.2, safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" - -sane@^4.0.3: - version "4.1.0" - resolved "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz" - dependencies: - "@cnakazawa/watch" "^1.0.3" - anymatch "^2.0.0" - capture-exit "^2.0.0" - exec-sh "^0.3.2" - execa "^1.0.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - -sass@^1.42.1: - version "1.42.1" - resolved "https://registry.npmjs.org/sass/-/sass-1.42.1.tgz" - dependencies: - chokidar ">=3.0.0 <4.0.0" - -sax@^1.2.4, sax@~1.2.4: - version "1.2.4" - resolved "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz" - -schema-utils@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz" - dependencies: - ajv "^6.1.0" - ajv-errors "^1.0.0" - ajv-keywords "^3.1.0" - -schema-utils@^2.6.5: - version "2.7.1" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz" - dependencies: - "@types/json-schema" "^7.0.5" - ajv "^6.12.4" - ajv-keywords "^3.5.2" - -schema-utils@^3.1.0, schema-utils@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz" - dependencies: - "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -schema-utils@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz" - dependencies: - "@types/json-schema" "^7.0.9" - ajv "^8.8.0" - ajv-formats "^2.1.1" - ajv-keywords "^5.0.0" - -section-matter@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz" - dependencies: - extend-shallow "^2.0.1" - kind-of "^6.0.0" - -select-hose@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz" - -selfsigned@^1.10.8: - version "1.10.11" - resolved "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz" - dependencies: - node-forge "^0.10.0" - -selfsigned@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.0.tgz" - dependencies: - node-forge "^1.2.0" - -semver-compare@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz" - -semver-diff@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz" - dependencies: - semver "^6.3.0" - -"semver@2 || 3 || 4 || 5", semver@^5.1.0, semver@^5.4.1, semver@^5.5.0, semver@^5.6.0: - version "5.7.1" - resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - -semver@7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz" - -semver@^6.0.0, semver@^6.1.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - -semver@^7.1.1, semver@^7.3.4: - version "7.3.5" - resolved "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" - dependencies: - lru-cache "^6.0.0" - -send@0.17.1: - version "0.17.1" - resolved "https://registry.npmjs.org/send/-/send-0.17.1.tgz" - dependencies: - debug "2.6.9" - depd "~1.1.2" - destroy "~1.0.4" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "~1.7.2" - mime "1.6.0" - ms "2.1.1" - on-finished "~2.3.0" - range-parser "~1.2.1" - statuses "~1.5.0" - -serialize-javascript@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz" - dependencies: - randombytes "^2.1.0" - -serialize-javascript@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz" - dependencies: - randombytes "^2.1.0" - -serialize-javascript@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz" - dependencies: - randombytes "^2.1.0" - -serve-index@^1.9.1: - version "1.9.1" - resolved "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz" - dependencies: - accepts "~1.3.4" - batch "0.6.1" - debug "2.6.9" - escape-html "~1.0.3" - http-errors "~1.6.2" - mime-types "~2.1.17" - parseurl "~1.3.2" - -serve-static@1.14.1: - version "1.14.1" - resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz" - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.17.1" - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz" - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -setimmediate@^1.0.4: - version "1.0.5" - resolved "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" - -setprototypeof@1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz" - -setprototypeof@1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz" - -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz" - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -shallow-clone@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz" - dependencies: - kind-of "^6.0.2" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" - dependencies: - shebang-regex "^1.0.0" +"safer-buffer@^2.0.2", "safer-buffer@^2.1.0", "safer-buffer@^2.1.2", "safer-buffer@>= 2.1.2 < 3", "safer-buffer@~2.1.0": + "integrity" "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "resolved" "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" + "version" "2.1.2" -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" +"sane@^4.0.3": + "integrity" "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==" + "resolved" "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz" + "version" "4.1.0" dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" - -shell-quote@^1.6.1: - version "1.7.2" - resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz" - -shelljs@^0.8.3: - version "0.8.5" - resolved "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz" + "@cnakazawa/watch" "^1.0.3" + "anymatch" "^2.0.0" + "capture-exit" "^2.0.0" + "exec-sh" "^0.3.2" + "execa" "^1.0.0" + "fb-watchman" "^2.0.0" + "micromatch" "^3.1.4" + "minimist" "^1.1.1" + "walker" "~1.0.5" + +"sass@^1.42.1": + "integrity" "sha512-/zvGoN8B7dspKc5mC6HlaygyCBRvnyzzgD5khiaCfglWztY99cYoiTUksVx11NlnemrcfH5CEaCpsUKoW0cQqg==" + "resolved" "https://registry.npmjs.org/sass/-/sass-1.42.1.tgz" + "version" "1.42.1" + dependencies: + "chokidar" ">=3.0.0 <4.0.0" + +"sax@^1.2.4", "sax@~1.2.4": + "integrity" "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + "resolved" "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz" + "version" "1.2.4" + +"schema-utils@^1.0.0": + "integrity" "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==" + "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "ajv" "^6.1.0" + "ajv-errors" "^1.0.0" + "ajv-keywords" "^3.1.0" + +"schema-utils@^2.6.5": + "integrity" "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==" + "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz" + "version" "2.7.1" dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - -shellwords@^0.1.1: - version "0.1.1" - resolved "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz" + "@types/json-schema" "^7.0.5" + "ajv" "^6.12.4" + "ajv-keywords" "^3.5.2" -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" +"schema-utils@^3.1.0": + "integrity" "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==" + "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz" + "version" "3.1.1" dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz" + "@types/json-schema" "^7.0.8" + "ajv" "^6.12.5" + "ajv-keywords" "^3.5.2" -simple-git@^1.85.0: - version "1.132.0" - resolved "https://registry.npmjs.org/simple-git/-/simple-git-1.132.0.tgz" +"schema-utils@^3.1.1": + "integrity" "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==" + "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz" + "version" "3.1.1" dependencies: - debug "^4.0.1" + "@types/json-schema" "^7.0.8" + "ajv" "^6.12.5" + "ajv-keywords" "^3.5.2" -simple-swizzle@^0.2.2: - version "0.2.2" - resolved "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz" +"schema-utils@^4.0.0": + "integrity" "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==" + "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz" + "version" "4.0.0" dependencies: - is-arrayish "^0.3.1" - -sinon@^7.5.0: - version "7.5.0" - resolved "https://registry.npmjs.org/sinon/-/sinon-7.5.0.tgz" + "@types/json-schema" "^7.0.9" + "ajv" "^8.8.0" + "ajv-formats" "^2.1.1" + "ajv-keywords" "^5.0.0" + +"section-matter@^1.0.0": + "integrity" "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==" + "resolved" "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "extend-shallow" "^2.0.1" + "kind-of" "^6.0.0" + +"select-hose@^2.0.0": + "integrity" "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=" + "resolved" "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz" + "version" "2.0.0" + +"selfsigned@^1.10.8": + "integrity" "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==" + "resolved" "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz" + "version" "1.10.11" + dependencies: + "node-forge" "^0.10.0" + +"selfsigned@^2.0.0": + "integrity" "sha512-cUdFiCbKoa1mZ6osuJs2uDHrs0k0oprsKveFiiaBKCNq3SYyb5gs2HxhQyDNLCmL51ZZThqi4YNDpCK6GOP1iQ==" + "resolved" "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "node-forge" "^1.2.0" + +"semver-compare@^1.0.0": + "integrity" "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=" + "resolved" "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz" + "version" "1.0.0" + +"semver-diff@^3.1.1": + "integrity" "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==" + "resolved" "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz" + "version" "3.1.1" + dependencies: + "semver" "^6.3.0" + +"semver@^5.1.0": + "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + "version" "5.7.1" + +"semver@^5.4.1": + "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + "version" "5.7.1" + +"semver@^5.5.0": + "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + "version" "5.7.1" + +"semver@^5.6.0": + "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + "version" "5.7.1" + +"semver@^6.0.0", "semver@^6.1.0", "semver@^6.1.1", "semver@^6.1.2", "semver@^6.2.0", "semver@^6.3.0": + "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + "version" "6.3.0" + +"semver@^7.1.1": + "integrity" "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==" + "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" + "version" "7.3.5" + dependencies: + "lru-cache" "^6.0.0" + +"semver@^7.3.4": + "integrity" "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==" + "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" + "version" "7.3.5" + dependencies: + "lru-cache" "^6.0.0" + +"semver@2 || 3 || 4 || 5": + "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + "version" "5.7.1" + +"semver@7.0.0": + "integrity" "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==" + "resolved" "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz" + "version" "7.0.0" + +"send@0.17.1": + "integrity" "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==" + "resolved" "https://registry.npmjs.org/send/-/send-0.17.1.tgz" + "version" "0.17.1" + dependencies: + "debug" "2.6.9" + "depd" "~1.1.2" + "destroy" "~1.0.4" + "encodeurl" "~1.0.2" + "escape-html" "~1.0.3" + "etag" "~1.8.1" + "fresh" "0.5.2" + "http-errors" "~1.7.2" + "mime" "1.6.0" + "ms" "2.1.1" + "on-finished" "~2.3.0" + "range-parser" "~1.2.1" + "statuses" "~1.5.0" + +"serialize-javascript@^3.1.0": + "integrity" "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==" + "resolved" "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "randombytes" "^2.1.0" + +"serialize-javascript@^4.0.0": + "integrity" "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==" + "resolved" "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "randombytes" "^2.1.0" + +"serialize-javascript@^6.0.0": + "integrity" "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==" + "resolved" "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "randombytes" "^2.1.0" + +"serve-index@^1.9.1": + "integrity" "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=" + "resolved" "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz" + "version" "1.9.1" + dependencies: + "accepts" "~1.3.4" + "batch" "0.6.1" + "debug" "2.6.9" + "escape-html" "~1.0.3" + "http-errors" "~1.6.2" + "mime-types" "~2.1.17" + "parseurl" "~1.3.2" + +"serve-static@1.14.1": + "integrity" "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==" + "resolved" "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz" + "version" "1.14.1" + dependencies: + "encodeurl" "~1.0.2" + "escape-html" "~1.0.3" + "parseurl" "~1.3.3" + "send" "0.17.1" + +"set-blocking@^2.0.0": + "integrity" "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + "resolved" "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" + "version" "2.0.0" + +"set-value@^2.0.0", "set-value@^2.0.1": + "integrity" "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==" + "resolved" "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "extend-shallow" "^2.0.1" + "is-extendable" "^0.1.1" + "is-plain-object" "^2.0.3" + "split-string" "^3.0.1" + +"setimmediate@^1.0.4": + "integrity" "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + "resolved" "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" + "version" "1.0.5" + +"setprototypeof@1.1.0": + "integrity" "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + "resolved" "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz" + "version" "1.1.0" + +"setprototypeof@1.1.1": + "integrity" "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + "resolved" "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz" + "version" "1.1.1" + +"sha.js@^2.4.0", "sha.js@^2.4.8": + "integrity" "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==" + "resolved" "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz" + "version" "2.4.11" + dependencies: + "inherits" "^2.0.1" + "safe-buffer" "^5.0.1" + +"shallow-clone@^3.0.0": + "integrity" "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==" + "resolved" "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "kind-of" "^6.0.2" + +"shebang-command@^1.2.0": + "integrity" "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=" + "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "shebang-regex" "^1.0.0" + +"shebang-command@^2.0.0": + "integrity" "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==" + "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "shebang-regex" "^3.0.0" + +"shebang-regex@^1.0.0": + "integrity" "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" + "version" "1.0.0" + +"shebang-regex@^3.0.0": + "integrity" "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + "version" "3.0.0" + +"shell-quote@^1.6.1": + "integrity" "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==" + "resolved" "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz" + "version" "1.7.2" + +"shelljs@^0.8.3": + "integrity" "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==" + "resolved" "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz" + "version" "0.8.5" + dependencies: + "glob" "^7.0.0" + "interpret" "^1.0.0" + "rechoir" "^0.6.2" + +"shellwords@^0.1.1": + "integrity" "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==" + "resolved" "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz" + "version" "0.1.1" + +"side-channel@^1.0.4": + "integrity" "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==" + "resolved" "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" + "version" "1.0.4" + dependencies: + "call-bind" "^1.0.0" + "get-intrinsic" "^1.0.2" + "object-inspect" "^1.9.0" + +"signal-exit@^3.0.0", "signal-exit@^3.0.2", "signal-exit@^3.0.3": + "integrity" "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + "resolved" "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz" + "version" "3.0.3" + +"simple-git@^1.85.0": + "integrity" "sha512-xauHm1YqCTom1sC9eOjfq3/9RKiUA9iPnxBbrY2DdL8l4ADMu0jjM5l5lphQP5YWNqAL2aXC/OeuQ76vHtW5fg==" + "resolved" "https://registry.npmjs.org/simple-git/-/simple-git-1.132.0.tgz" + "version" "1.132.0" + dependencies: + "debug" "^4.0.1" + +"simple-swizzle@^0.2.2": + "integrity" "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=" + "resolved" "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz" + "version" "0.2.2" + dependencies: + "is-arrayish" "^0.3.1" + +"sinon@^7.5.0": + "integrity" "sha512-AoD0oJWerp0/rY9czP/D6hDTTUYGpObhZjMpd7Cl/A6+j0xBE+ayL/ldfggkBXUs0IkvIiM1ljM8+WkOc5k78Q==" + "resolved" "https://registry.npmjs.org/sinon/-/sinon-7.5.0.tgz" + "version" "7.5.0" dependencies: "@sinonjs/commons" "^1.4.0" "@sinonjs/formatio" "^3.2.1" "@sinonjs/samsam" "^3.3.3" - diff "^3.5.0" - lolex "^4.2.0" - nise "^1.5.2" - supports-color "^5.5.0" - -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" - -slash@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz" - -slash@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz" - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" - -slice-ansi@0.0.4: - version "0.0.4" - resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz" - -smoothscroll-polyfill@^0.4.3: - version "0.4.4" - resolved "https://registry.npmjs.org/smoothscroll-polyfill/-/smoothscroll-polyfill-0.4.4.tgz" - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz" - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz" - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz" - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -sockjs-client@^1.5.0: - version "1.5.1" - resolved "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.1.tgz" - dependencies: - debug "^3.2.6" - eventsource "^1.0.7" - faye-websocket "^0.11.3" - inherits "^2.0.4" - json3 "^3.3.3" - url-parse "^1.5.1" - -sockjs@^0.3.21: - version "0.3.21" - resolved "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz" - dependencies: - faye-websocket "^0.11.3" - uuid "^3.4.0" - websocket-driver "^0.7.4" - -sort-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz" - dependencies: - is-plain-obj "^1.0.0" - -source-list-map@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz" - -source-map-js@^0.6.2: - version "0.6.2" - resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz" - -source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: - version "0.5.3" - resolved "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz" - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@^0.5.6, source-map-support@~0.5.12, source-map-support@~0.5.20: - version "0.5.21" - resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-url@^0.4.0: - version "0.4.1" - resolved "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz" - -source-map@0.5.6: - version "0.5.6" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz" - -source-map@^0.5.0, source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - -source-map@^0.7.3, source-map@~0.7.2: - version "0.7.3" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz" - -sourcemap-codec@^1.4.4: - version "1.4.8" - resolved "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz" - -space-separated-tokens@^1.0.0: - version "1.1.5" - resolved "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz" - -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz" - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz" - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.9" - resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz" - -spdx-license-list@^6.4.0: - version "6.4.0" - resolved "https://registry.npmjs.org/spdx-license-list/-/spdx-license-list-6.4.0.tgz" - -spdy-transport@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz" - dependencies: - debug "^4.1.0" - detect-node "^2.0.4" - hpack.js "^2.1.6" - obuf "^1.1.2" - readable-stream "^3.0.6" - wbuf "^1.7.3" - -spdy@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz" - dependencies: - debug "^4.1.0" - handle-thing "^2.0.0" - http-deceiver "^1.2.7" - select-hose "^2.0.0" - spdy-transport "^3.0.0" - -split-on-first@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz" - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz" - dependencies: - extend-shallow "^3.0.0" - -split2@^3.0.0: - version "3.2.2" - resolved "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz" - dependencies: - readable-stream "^3.0.0" - -split@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/split/-/split-1.0.1.tgz" - dependencies: - through "2" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" - -sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz" - dependencies: - 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@^6.0.1: - version "6.0.2" - resolved "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz" - dependencies: - figgy-pudding "^3.5.1" - -stable@^0.1.8: - version "0.1.8" - resolved "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz" - -stack-utils@^1.0.1: - version "1.0.5" - resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz" - dependencies: - escape-string-regexp "^2.0.0" - -staged-git-files@1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/staged-git-files/-/staged-git-files-1.1.2.tgz" - -standard-version@^9.0.0: - version "9.3.0" - resolved "https://registry.npmjs.org/standard-version/-/standard-version-9.3.0.tgz" - dependencies: - chalk "^2.4.2" - conventional-changelog "3.1.24" - conventional-changelog-config-spec "2.1.0" - conventional-changelog-conventionalcommits "4.5.0" - conventional-recommended-bump "6.1.0" - detect-indent "^6.0.0" - detect-newline "^3.1.0" - dotgitignore "^2.1.0" - figures "^3.1.0" - find-up "^5.0.0" - fs-access "^1.0.1" - git-semver-tags "^4.0.0" - semver "^7.1.1" - stringify-package "^1.0.1" - yargs "^16.0.0" - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz" - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: - version "1.5.0" - resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" - -std-env@^2.2.1: - version "2.3.0" - resolved "https://registry.npmjs.org/std-env/-/std-env-2.3.0.tgz" - dependencies: - ci-info "^3.0.0" - -stealthy-require@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz" - -stream-array@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/stream-array/-/stream-array-1.1.2.tgz" - dependencies: - readable-stream "~2.1.0" - -stream-browserify@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz" - dependencies: - inherits "~2.0.1" - readable-stream "^2.0.2" - -stream-combiner2@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz" - dependencies: - duplexer2 "~0.1.0" - readable-stream "^2.0.2" - -stream-each@^1.1.0: - version "1.2.3" - resolved "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz" - dependencies: - end-of-stream "^1.1.0" - stream-shift "^1.0.0" - -stream-http@^2.7.2: - version "2.8.3" - resolved "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz" - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.1" - readable-stream "^2.3.6" - to-arraybuffer "^1.0.0" - xtend "^4.0.0" - -stream-shift@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz" - -strict-uri-encode@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz" - -strict-uri-encode@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz" - -string-argv@^0.0.2: - version "0.0.2" - resolved "https://registry.npmjs.org/string-argv/-/string-argv-0.0.2.tgz" - -string-hash@^1.1.1: - version "1.1.3" - resolved "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz" - -string-length@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz" - dependencies: - astral-regex "^1.0.0" - strip-ansi "^4.0.0" - -string-template@~0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz" - -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz" - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -string-width@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz" - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string-width@^3.0.0, string-width@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz" - dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" - -string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: - version "4.2.2" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz" - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" - -string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string.prototype.padend@^3.0.0: - version "3.1.2" - resolved "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.2.tgz" - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" - -string.prototype.trimend@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz" - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -string.prototype.trimstart@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz" - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -string_decoder@0.10, string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" - -string_decoder@^1.0.0, string_decoder@^1.1.1, string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" - dependencies: - safe-buffer "~5.1.0" - -stringify-entities@^3.0.1: - version "3.1.0" - resolved "https://registry.npmjs.org/stringify-entities/-/stringify-entities-3.1.0.tgz" - dependencies: - character-entities-html4 "^1.0.0" - character-entities-legacy "^1.0.0" - xtend "^4.0.0" - -stringify-object@^3.2.2: - version "3.3.0" - resolved "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz" - dependencies: - get-own-enumerable-property-symbols "^3.0.0" - is-obj "^1.0.1" - is-regexp "^1.0.0" - -stringify-package@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/stringify-package/-/stringify-package-1.0.1.tgz" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz" - dependencies: - ansi-regex "^3.0.0" - -strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" - dependencies: - ansi-regex "^4.1.0" - -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz" - dependencies: - ansi-regex "^5.0.0" - -strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^7.0.0: - version "7.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz" - dependencies: - ansi-regex "^6.0.1" - -strip-bom-string@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz" - -strip-bom@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz" - dependencies: - is-utf8 "^0.2.0" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" - -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz" - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" - -strip-indent@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz" - dependencies: - get-stdin "^4.0.1" - -strip-indent@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz" - dependencies: - min-indent "^1.0.0" - -strip-json-comments@^2.0.1, strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" - -strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - -stylehacks@^4.0.0: - version "4.0.3" - resolved "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz" - dependencies: - browserslist "^4.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" - -stylus-loader@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/stylus-loader/-/stylus-loader-3.0.2.tgz" - dependencies: - loader-utils "^1.0.2" - lodash.clonedeep "^4.5.0" - when "~3.6.x" - -stylus@^0.54.8: - version "0.54.8" - resolved "https://registry.npmjs.org/stylus/-/stylus-0.54.8.tgz" - dependencies: - css-parse "~2.0.0" - debug "~3.1.0" - glob "^7.1.6" - mkdirp "~1.0.4" - safer-buffer "^2.1.2" - sax "~1.2.4" - semver "^6.3.0" - source-map "^0.7.3" - -subarg@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz" - dependencies: - minimist "^1.1.0" - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" - -supports-color@^5.3.0, supports-color@^5.5.0: - version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" - dependencies: - has-flag "^3.0.0" - -supports-color@^6.0.0, supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz" - dependencies: - has-flag "^3.0.0" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - dependencies: - has-flag "^4.0.0" - -supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" - dependencies: - has-flag "^4.0.0" - -svg-tags@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz" - -svgo@^1.0.0: - version "1.3.2" - resolved "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz" - dependencies: - chalk "^2.4.1" - coa "^2.0.2" - css-select "^2.0.0" - css-select-base-adapter "^0.1.1" - css-tree "1.0.0-alpha.37" - csso "^4.0.2" - js-yaml "^3.13.1" - mkdirp "~0.5.1" - object.values "^1.1.0" - sax "~1.2.4" - stable "^0.1.8" - unquote "~1.1.1" - util.promisify "~1.0.0" - -symbol-observable@^1.1.0: - version "1.2.0" - resolved "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz" - -symbol-tree@^3.2.2: - version "3.2.4" - resolved "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz" - -synchronous-promise@^2.0.6: - version "2.0.15" - resolved "https://registry.npmjs.org/synchronous-promise/-/synchronous-promise-2.0.15.tgz" - -tapable@^1.0.0, tapable@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz" - -tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0: - version "2.2.1" - resolved "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" - -term-size@^2.1.0: - version "2.2.1" - resolved "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz" - -terser-webpack-plugin@^1.4.3: - version "1.4.5" - resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz" - dependencies: - cacache "^12.0.2" - find-cache-dir "^2.1.0" - is-wsl "^1.1.0" - schema-utils "^1.0.0" - serialize-javascript "^4.0.0" - source-map "^0.6.1" - terser "^4.1.2" - webpack-sources "^1.4.0" - worker-farm "^1.7.0" - -terser-webpack-plugin@^5.1.3, terser-webpack-plugin@^5.3.1: - version "5.3.1" - resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz" - dependencies: - jest-worker "^27.4.5" - schema-utils "^3.1.1" - serialize-javascript "^6.0.0" - source-map "^0.6.1" - terser "^5.7.2" - -terser@^4.1.2: - version "4.8.0" - resolved "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz" - dependencies: - commander "^2.20.0" - source-map "~0.6.1" - source-map-support "~0.5.12" - -terser@^5.10.0, terser@^5.7.2: - version "5.11.0" - resolved "https://registry.npmjs.org/terser/-/terser-5.11.0.tgz" - dependencies: - acorn "^8.5.0" - commander "^2.20.0" - source-map "~0.7.2" - source-map-support "~0.5.20" - -test-exclude@^5.2.3: - version "5.2.3" - resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz" - dependencies: - glob "^7.1.3" - minimatch "^3.0.4" - read-pkg-up "^4.0.0" - require-main-filename "^2.0.0" - -text-extensions@^1.0.0: - version "1.9.0" - resolved "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" - -throat@^4.0.0: - version "4.1.0" - resolved "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz" - -through2-filter@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz" - dependencies: - through2 "~2.0.0" - xtend "~4.0.0" - -through2@^2.0.0, through2@^2.0.3, through2@~2.0.0: - version "2.0.5" - resolved "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz" - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - -through2@^4.0.0: - version "4.0.2" - resolved "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz" - dependencies: - readable-stream "3" - -through@2, "through@>=2.2.7 <3", through@^2.3.6, through@~2.3.4: - version "2.3.8" - resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz" - -thunky@^1.0.2: - version "1.1.0" - resolved "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz" - -timers-browserify@^2.0.4: - version "2.0.12" - resolved "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz" - dependencies: - setimmediate "^1.0.4" - -timsort@^0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz" - -tiny-lr@^1.1.0: - version "1.1.1" - resolved "https://registry.npmjs.org/tiny-lr/-/tiny-lr-1.1.1.tgz" - dependencies: - body "^5.1.0" - debug "^3.1.0" - faye-websocket "~0.10.0" - livereload-js "^2.3.0" - object-assign "^4.1.0" - qs "^6.4.0" - -tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz" - dependencies: - os-tmpdir "~1.0.2" - -tmpl@1.0.x: - version "1.0.5" - resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" - -to-absolute-glob@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz" - dependencies: - is-absolute "^1.0.0" - is-negated-glob "^1.0.0" - -to-arraybuffer@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz" - -to-factory@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/to-factory/-/to-factory-1.0.0.tgz" - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz" - dependencies: - kind-of "^3.0.2" - -to-readable-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz" - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" - dependencies: - is-number "^7.0.0" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz" - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -to-through@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz" - dependencies: - through2 "^2.0.3" - -toidentifier@1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz" - -toml@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/toml/-/toml-3.0.0.tgz" - -toposort@^1.0.0: - version "1.0.7" - resolved "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz" - -toposort@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz" - -tough-cookie@^2.3.3, tough-cookie@^2.3.4, tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz" - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -tr46@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz" - dependencies: - punycode "^2.1.0" - -trim-newlines@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz" - -trim-newlines@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz" - -trim-off-newlines@^1.0.0: - version "1.0.3" - resolved "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.3.tgz" - -trough@^1.0.0: - version "1.0.5" - resolved "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz" - -ts-loader@^9.2.6: - version "9.2.6" - resolved "https://registry.npmjs.org/ts-loader/-/ts-loader-9.2.6.tgz" - dependencies: - chalk "^4.1.0" - enhanced-resolve "^5.0.0" - micromatch "^4.0.0" - semver "^7.3.4" - -tslib@^1.9.0: - version "1.14.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" - -tslib@^2.0.3, tslib@^2.1.0: - version "2.3.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz" - -tty-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz" - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - dependencies: - prelude-ls "^1.2.1" - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" - dependencies: - prelude-ls "~1.1.2" - -type-detect@4.0.8: - version "4.0.8" - resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" - -type-fest@^0.18.0: - version "0.18.1" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz" - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" - -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz" - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz" - -type-is@~1.6.17, type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" - dependencies: - is-typedarray "^1.0.0" - -typedarray@^0.0.6, typedarray@~0.0.5: - version "0.0.6" - resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" - -typescript@>=3.0.1, typescript@^4.5.5: - version "4.5.5" - resolved "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz" - -uc.micro@^1.0.1, uc.micro@^1.0.5: - version "1.0.6" - resolved "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz" - -uglify-js@3.4.x: - version "3.4.10" - resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz" - dependencies: - commander "~2.19.0" - source-map "~0.6.1" - -uglify-js@^3.1.4: - version "3.13.9" - resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.9.tgz" - -unbox-primitive@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz" - dependencies: - function-bind "^1.1.1" - has-bigints "^1.0.1" - has-symbols "^1.0.2" - which-boxed-primitive "^1.0.2" - -unc-path-regex@^0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz" - -"underscore@1.4.4 - 1.8.3", underscore@>=1.8.3, underscore@^1.13.1: - version "1.13.1" - resolved "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz" - -unicode-canonical-property-names-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" - -unicode-match-property-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" - dependencies: - unicode-canonical-property-names-ecmascript "^2.0.0" - unicode-property-aliases-ecmascript "^2.0.0" - -unicode-match-property-value-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz" - -unicode-property-aliases-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz" - -unified@^9.1.0: - version "9.2.1" - resolved "https://registry.npmjs.org/unified/-/unified-9.2.1.tgz" - dependencies: - bail "^1.0.0" - extend "^3.0.0" - is-buffer "^2.0.0" - is-plain-obj "^2.0.0" - trough "^1.0.0" - vfile "^4.0.0" - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz" - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -uniq@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz" - -uniqs@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz" - -unique-filename@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz" - dependencies: - unique-slug "^2.0.0" - -unique-slug@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz" - dependencies: - imurmurhash "^0.1.4" - -unique-stream@^2.0.2: - version "2.3.1" - resolved "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz" - dependencies: - json-stable-stringify-without-jsonify "^1.0.1" - through2-filter "^3.0.0" - -unique-string@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz" - dependencies: - crypto-random-string "^2.0.0" - -unist-builder@^2.0.0, unist-builder@^2.0.3: - version "2.0.3" - resolved "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz" - -unist-util-generated@^1.0.0: - version "1.1.6" - resolved "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz" - -unist-util-is@^4.0.0: - version "4.1.0" - resolved "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz" - -unist-util-position@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz" - -unist-util-stringify-position@^2.0.0: - version "2.0.3" - resolved "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz" + "diff" "^3.5.0" + "lolex" "^4.2.0" + "nise" "^1.5.2" + "supports-color" "^5.5.0" + +"sisteransi@^1.0.5": + "integrity" "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + "resolved" "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" + "version" "1.0.5" + +"slash@^1.0.0": + "integrity" "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" + "resolved" "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz" + "version" "1.0.0" + +"slash@^2.0.0": + "integrity" "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==" + "resolved" "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz" + "version" "2.0.0" + +"slash@^3.0.0": + "integrity" "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + "resolved" "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + "version" "3.0.0" + +"slice-ansi@0.0.4": + "integrity" "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=" + "resolved" "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz" + "version" "0.0.4" + +"smoothscroll-polyfill@^0.4.3": + "integrity" "sha512-TK5ZA9U5RqCwMpfoMq/l1mrH0JAR7y7KRvOBx0n2869aLxch+gT9GhN3yUfjiw+d/DiF1mKo14+hd62JyMmoBg==" + "resolved" "https://registry.npmjs.org/smoothscroll-polyfill/-/smoothscroll-polyfill-0.4.4.tgz" + "version" "0.4.4" + +"snapdragon-node@^2.0.1": + "integrity" "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==" + "resolved" "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "define-property" "^1.0.0" + "isobject" "^3.0.0" + "snapdragon-util" "^3.0.1" + +"snapdragon-util@^3.0.1": + "integrity" "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==" + "resolved" "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "kind-of" "^3.2.0" + +"snapdragon@^0.8.1": + "integrity" "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==" + "resolved" "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz" + "version" "0.8.2" + dependencies: + "base" "^0.11.1" + "debug" "^2.2.0" + "define-property" "^0.2.5" + "extend-shallow" "^2.0.1" + "map-cache" "^0.2.2" + "source-map" "^0.5.6" + "source-map-resolve" "^0.5.0" + "use" "^3.1.0" + +"sockjs-client@^1.5.0": + "integrity" "sha512-VnVAb663fosipI/m6pqRXakEOw7nvd7TUgdr3PlR/8V2I95QIdwT8L4nMxhyU8SmDBHYXU1TOElaKOmKLfYzeQ==" + "resolved" "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.1.tgz" + "version" "1.5.1" + dependencies: + "debug" "^3.2.6" + "eventsource" "^1.0.7" + "faye-websocket" "^0.11.3" + "inherits" "^2.0.4" + "json3" "^3.3.3" + "url-parse" "^1.5.1" + +"sockjs@^0.3.21": + "integrity" "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==" + "resolved" "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz" + "version" "0.3.21" + dependencies: + "faye-websocket" "^0.11.3" + "uuid" "^3.4.0" + "websocket-driver" "^0.7.4" + +"sort-keys@^2.0.0": + "integrity" "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=" + "resolved" "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "is-plain-obj" "^1.0.0" + +"source-list-map@^2.0.0": + "integrity" "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" + "resolved" "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz" + "version" "2.0.1" + +"source-map-js@^0.6.2": + "integrity" "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==" + "resolved" "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz" + "version" "0.6.2" + +"source-map-resolve@^0.5.0", "source-map-resolve@^0.5.2": + "integrity" "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==" + "resolved" "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz" + "version" "0.5.3" + dependencies: + "atob" "^2.1.2" + "decode-uri-component" "^0.2.0" + "resolve-url" "^0.2.1" + "source-map-url" "^0.4.0" + "urix" "^0.1.0" + +"source-map-support@^0.5.6", "source-map-support@~0.5.12", "source-map-support@~0.5.20": + "integrity" "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==" + "resolved" "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" + "version" "0.5.21" + dependencies: + "buffer-from" "^1.0.0" + "source-map" "^0.6.0" + +"source-map-url@^0.4.0": + "integrity" "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" + "resolved" "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz" + "version" "0.4.1" + +"source-map@^0.5.0", "source-map@^0.5.6": + "integrity" "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + "version" "0.5.7" + +"source-map@^0.6.0", "source-map@^0.6.1", "source-map@~0.6.1": + "integrity" "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + "version" "0.6.1" + +"source-map@^0.7.3": + "integrity" "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz" + "version" "0.7.3" + +"source-map@~0.6.0", "source-map@~0.6.1": + "integrity" "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + "version" "0.6.1" + +"source-map@~0.7.2": + "integrity" "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz" + "version" "0.7.3" + +"source-map@0.5.6": + "integrity" "sha1-dc449SvwczxafwwRjYEzSiu19BI=" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz" + "version" "0.5.6" + +"sourcemap-codec@^1.4.4": + "integrity" "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" + "resolved" "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz" + "version" "1.4.8" + +"space-separated-tokens@^1.0.0": + "integrity" "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==" + "resolved" "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz" + "version" "1.1.5" + +"spdx-correct@^3.0.0": + "integrity" "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==" + "resolved" "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz" + "version" "3.1.1" + dependencies: + "spdx-expression-parse" "^3.0.0" + "spdx-license-ids" "^3.0.0" + +"spdx-exceptions@^2.1.0": + "integrity" "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" + "resolved" "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz" + "version" "2.3.0" + +"spdx-expression-parse@^3.0.0": + "integrity" "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==" + "resolved" "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "spdx-exceptions" "^2.1.0" + "spdx-license-ids" "^3.0.0" + +"spdx-license-ids@^3.0.0": + "integrity" "sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ==" + "resolved" "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz" + "version" "3.0.9" + +"spdx-license-list@^6.4.0": + "integrity" "sha512-4BxgJ1IZxTJuX1YxMGu2cRYK46Bk9zJNTK2/R0wNZR0cm+6SVl26/uG7FQmQtxoJQX1uZ0EpTi2L7zvMLboaBA==" + "resolved" "https://registry.npmjs.org/spdx-license-list/-/spdx-license-list-6.4.0.tgz" + "version" "6.4.0" + +"spdy-transport@^3.0.0": + "integrity" "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==" + "resolved" "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "debug" "^4.1.0" + "detect-node" "^2.0.4" + "hpack.js" "^2.1.6" + "obuf" "^1.1.2" + "readable-stream" "^3.0.6" + "wbuf" "^1.7.3" + +"spdy@^4.0.2": + "integrity" "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==" + "resolved" "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "debug" "^4.1.0" + "handle-thing" "^2.0.0" + "http-deceiver" "^1.2.7" + "select-hose" "^2.0.0" + "spdy-transport" "^3.0.0" + +"split-on-first@^1.0.0": + "integrity" "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==" + "resolved" "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz" + "version" "1.1.0" + +"split-string@^3.0.1", "split-string@^3.0.2": + "integrity" "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==" + "resolved" "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "extend-shallow" "^3.0.0" + +"split@^1.0.0": + "integrity" "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==" + "resolved" "https://registry.npmjs.org/split/-/split-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "through" "2" + +"split2@^3.0.0": + "integrity" "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==" + "resolved" "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz" + "version" "3.2.2" + dependencies: + "readable-stream" "^3.0.0" + +"sprintf-js@~1.0.2": + "integrity" "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + "resolved" "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" + "version" "1.0.3" + +"sshpk@^1.7.0": + "integrity" "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==" + "resolved" "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz" + "version" "1.16.1" + dependencies: + "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@^6.0.1": + "integrity" "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==" + "resolved" "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz" + "version" "6.0.2" + dependencies: + "figgy-pudding" "^3.5.1" + +"stable@^0.1.8": + "integrity" "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + "resolved" "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz" + "version" "0.1.8" + +"stack-utils@^1.0.1": + "integrity" "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==" + "resolved" "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz" + "version" "1.0.5" + dependencies: + "escape-string-regexp" "^2.0.0" + +"staged-git-files@1.1.2": + "integrity" "sha512-0Eyrk6uXW6tg9PYkhi/V/J4zHp33aNyi2hOCmhFLqLTIhbgqWn5jlSzI+IU0VqrZq6+DbHcabQl/WP6P3BG0QA==" + "resolved" "https://registry.npmjs.org/staged-git-files/-/staged-git-files-1.1.2.tgz" + "version" "1.1.2" + +"standard-version@^9.0.0": + "integrity" "sha512-cYxxKXhYfI3S9+CA84HmrJa9B88H56V5FQ302iFF2TNwJukJCNoU8FgWt+11YtwKFXRkQQFpepC2QOF7aDq2Ow==" + "resolved" "https://registry.npmjs.org/standard-version/-/standard-version-9.3.0.tgz" + "version" "9.3.0" + dependencies: + "chalk" "^2.4.2" + "conventional-changelog" "3.1.24" + "conventional-changelog-config-spec" "2.1.0" + "conventional-changelog-conventionalcommits" "4.5.0" + "conventional-recommended-bump" "6.1.0" + "detect-indent" "^6.0.0" + "detect-newline" "^3.1.0" + "dotgitignore" "^2.1.0" + "figures" "^3.1.0" + "find-up" "^5.0.0" + "fs-access" "^1.0.1" + "git-semver-tags" "^4.0.0" + "semver" "^7.1.1" + "stringify-package" "^1.0.1" + "yargs" "^16.0.0" + +"static-extend@^0.1.1": + "integrity" "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=" + "resolved" "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz" + "version" "0.1.2" + dependencies: + "define-property" "^0.2.5" + "object-copy" "^0.1.0" + +"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", "statuses@~1.5.0": + "integrity" "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + "resolved" "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" + "version" "1.5.0" + +"std-env@^2.2.1": + "integrity" "sha512-4qT5B45+Kjef2Z6pE0BkskzsH0GO7GrND0wGlTM1ioUe3v0dGYx9ZJH0Aro/YyA8fqQ5EyIKDRjZojJYMFTflw==" + "resolved" "https://registry.npmjs.org/std-env/-/std-env-2.3.0.tgz" + "version" "2.3.0" + dependencies: + "ci-info" "^3.0.0" + +"stealthy-require@^1.1.1": + "integrity" "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=" + "resolved" "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz" + "version" "1.1.1" + +"stream-array@^1.1.2": + "integrity" "sha1-nl9zRfITfDDuO0mLkRToC1K7frU=" + "resolved" "https://registry.npmjs.org/stream-array/-/stream-array-1.1.2.tgz" + "version" "1.1.2" + dependencies: + "readable-stream" "~2.1.0" + +"stream-browserify@^2.0.1": + "integrity" "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==" + "resolved" "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "inherits" "~2.0.1" + "readable-stream" "^2.0.2" + +"stream-combiner2@^1.1.1": + "integrity" "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=" + "resolved" "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz" + "version" "1.1.1" + dependencies: + "duplexer2" "~0.1.0" + "readable-stream" "^2.0.2" + +"stream-each@^1.1.0": + "integrity" "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==" + "resolved" "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz" + "version" "1.2.3" + dependencies: + "end-of-stream" "^1.1.0" + "stream-shift" "^1.0.0" + +"stream-http@^2.7.2": + "integrity" "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==" + "resolved" "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz" + "version" "2.8.3" + dependencies: + "builtin-status-codes" "^3.0.0" + "inherits" "^2.0.1" + "readable-stream" "^2.3.6" + "to-arraybuffer" "^1.0.0" + "xtend" "^4.0.0" + +"stream-shift@^1.0.0": + "integrity" "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" + "resolved" "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz" + "version" "1.0.1" + +"strict-uri-encode@^1.0.0": + "integrity" "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" + "resolved" "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz" + "version" "1.1.0" + +"strict-uri-encode@^2.0.0": + "integrity" "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=" + "resolved" "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz" + "version" "2.0.0" + +"string_decoder@^1.0.0", "string_decoder@^1.1.1", "string_decoder@~1.1.1": + "integrity" "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==" + "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + "version" "1.1.1" + dependencies: + "safe-buffer" "~5.1.0" + +"string_decoder@~0.10.x": + "integrity" "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" + "version" "0.10.31" + +"string_decoder@0.10": + "integrity" "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" + "version" "0.10.31" + +"string-argv@^0.0.2": + "integrity" "sha1-2sMECGkMIfPDYwo/86BYd73L1zY=" + "resolved" "https://registry.npmjs.org/string-argv/-/string-argv-0.0.2.tgz" + "version" "0.0.2" + +"string-hash@^1.1.1": + "integrity" "sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=" + "resolved" "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz" + "version" "1.1.3" + +"string-length@^2.0.0": + "integrity" "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=" + "resolved" "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "astral-regex" "^1.0.0" + "strip-ansi" "^4.0.0" + +"string-template@~0.2.1": + "integrity" "sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0=" + "resolved" "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz" + "version" "0.2.1" + +"string-width@^1.0.1": + "integrity" "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=" + "resolved" "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "code-point-at" "^1.0.0" + "is-fullwidth-code-point" "^1.0.0" + "strip-ansi" "^3.0.0" + +"string-width@^2.1.1": + "integrity" "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==" + "resolved" "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "is-fullwidth-code-point" "^2.0.0" + "strip-ansi" "^4.0.0" + +"string-width@^3.0.0", "string-width@^3.1.0": + "integrity" "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==" + "resolved" "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "emoji-regex" "^7.0.1" + "is-fullwidth-code-point" "^2.0.0" + "strip-ansi" "^5.1.0" + +"string-width@^4.0.0", "string-width@^4.1.0", "string-width@^4.2.0": + "integrity" "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==" + "resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz" + "version" "4.2.2" + dependencies: + "emoji-regex" "^8.0.0" + "is-fullwidth-code-point" "^3.0.0" + "strip-ansi" "^6.0.0" + +"string-width@^4.2.3": + "integrity" "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==" + "resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + "version" "4.2.3" + dependencies: + "emoji-regex" "^8.0.0" + "is-fullwidth-code-point" "^3.0.0" + "strip-ansi" "^6.0.1" + +"string.prototype.padend@^3.0.0": + "integrity" "sha512-/AQFLdYvePENU3W5rgurfWSMU6n+Ww8n/3cUt7E+vPBB/D7YDG8x+qjoFs4M/alR2bW7Qg6xMjVwWUOvuQ0XpQ==" + "resolved" "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.2.tgz" + "version" "3.1.2" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.1.3" + "es-abstract" "^1.18.0-next.2" + +"string.prototype.trimend@^1.0.4": + "integrity" "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==" + "resolved" "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz" + "version" "1.0.4" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.1.3" + +"string.prototype.trimstart@^1.0.4": + "integrity" "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==" + "resolved" "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz" + "version" "1.0.4" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.1.3" + +"stringify-entities@^3.0.1": + "integrity" "sha512-3FP+jGMmMV/ffZs86MoghGqAoqXAdxLrJP4GUdrDN1aIScYih5tuIO3eF4To5AJZ79KDZ8Fpdy7QJnK8SsL1Vg==" + "resolved" "https://registry.npmjs.org/stringify-entities/-/stringify-entities-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "character-entities-html4" "^1.0.0" + "character-entities-legacy" "^1.0.0" + "xtend" "^4.0.0" + +"stringify-object@^3.2.2": + "integrity" "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==" + "resolved" "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz" + "version" "3.3.0" + dependencies: + "get-own-enumerable-property-symbols" "^3.0.0" + "is-obj" "^1.0.1" + "is-regexp" "^1.0.0" + +"stringify-package@^1.0.1": + "integrity" "sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg==" + "resolved" "https://registry.npmjs.org/stringify-package/-/stringify-package-1.0.1.tgz" + "version" "1.0.1" + +"strip-ansi@^3.0.0", "strip-ansi@^3.0.1": + "integrity" "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=" + "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "ansi-regex" "^2.0.0" + +"strip-ansi@^4.0.0": + "integrity" "sha1-qEeQIusaw2iocTibY1JixQXuNo8=" + "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "ansi-regex" "^3.0.0" + +"strip-ansi@^5.0.0", "strip-ansi@^5.1.0", "strip-ansi@^5.2.0": + "integrity" "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==" + "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" + "version" "5.2.0" + dependencies: + "ansi-regex" "^4.1.0" + +"strip-ansi@^5.2.0": + "integrity" "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==" + "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" + "version" "5.2.0" + dependencies: + "ansi-regex" "^4.1.0" + +"strip-ansi@^6.0.0", "strip-ansi@^6.0.1": + "integrity" "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==" + "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + "version" "6.0.1" + dependencies: + "ansi-regex" "^5.0.1" + +"strip-ansi@^7.0.0": + "integrity" "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==" + "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz" + "version" "7.0.1" + dependencies: + "ansi-regex" "^6.0.1" + +"strip-bom-string@^1.0.0": + "integrity" "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=" + "resolved" "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz" + "version" "1.0.0" + +"strip-bom@^2.0.0": + "integrity" "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=" + "resolved" "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "is-utf8" "^0.2.0" + +"strip-bom@^3.0.0": + "integrity" "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" + "resolved" "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" + "version" "3.0.0" + +"strip-eof@^1.0.0": + "integrity" "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + "resolved" "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz" + "version" "1.0.0" + +"strip-final-newline@^2.0.0": + "integrity" "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" + "resolved" "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" + "version" "2.0.0" + +"strip-indent@^1.0.1": + "integrity" "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=" + "resolved" "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "get-stdin" "^4.0.1" + +"strip-indent@^3.0.0": + "integrity" "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==" + "resolved" "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "min-indent" "^1.0.0" + +"strip-json-comments@^2.0.1", "strip-json-comments@~2.0.1": + "integrity" "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" + "version" "2.0.1" + +"strip-json-comments@^3.1.0": + "integrity" "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + "version" "3.1.1" + +"strip-json-comments@^3.1.1": + "integrity" "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + "version" "3.1.1" + +"stylehacks@^4.0.0": + "integrity" "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==" + "resolved" "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz" + "version" "4.0.3" + dependencies: + "browserslist" "^4.0.0" + "postcss" "^7.0.0" + "postcss-selector-parser" "^3.0.0" + +"stylus-loader@^3.0.2": + "integrity" "sha512-+VomPdZ6a0razP+zinir61yZgpw2NfljeSsdUF5kJuEzlo3khXhY19Fn6l8QQz1GRJGtMCo8nG5C04ePyV7SUA==" + "resolved" "https://registry.npmjs.org/stylus-loader/-/stylus-loader-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "loader-utils" "^1.0.2" + "lodash.clonedeep" "^4.5.0" + "when" "~3.6.x" + +"stylus@^0.54.8", "stylus@>=0.52.4": + "integrity" "sha512-vr54Or4BZ7pJafo2mpf0ZcwA74rpuYCZbxrHBsH8kbcXOwSfvBFwsRfpGO5OD5fhG5HDCFW737PKaawI7OqEAg==" + "resolved" "https://registry.npmjs.org/stylus/-/stylus-0.54.8.tgz" + "version" "0.54.8" + dependencies: + "css-parse" "~2.0.0" + "debug" "~3.1.0" + "glob" "^7.1.6" + "mkdirp" "~1.0.4" + "safer-buffer" "^2.1.2" + "sax" "~1.2.4" + "semver" "^6.3.0" + "source-map" "^0.7.3" + +"subarg@^1.0.0": + "integrity" "sha1-9izxdYHplrSPyWVpn1TAauJouNI=" + "resolved" "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "minimist" "^1.1.0" + +"supports-color@^2.0.0": + "integrity" "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" + "version" "2.0.0" + +"supports-color@^5.3.0", "supports-color@^5.5.0": + "integrity" "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + "version" "5.5.0" + dependencies: + "has-flag" "^3.0.0" + +"supports-color@^6.0.0": + "integrity" "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz" + "version" "6.1.0" + dependencies: + "has-flag" "^3.0.0" + +"supports-color@^6.1.0": + "integrity" "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz" + "version" "6.1.0" + dependencies: + "has-flag" "^3.0.0" + +"supports-color@^7.1.0": + "integrity" "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + "version" "7.2.0" + dependencies: + "has-flag" "^4.0.0" + +"supports-color@^8.0.0": + "integrity" "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" + "version" "8.1.1" + dependencies: + "has-flag" "^4.0.0" + +"svg-tags@^1.0.0": + "integrity" "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=" + "resolved" "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz" + "version" "1.0.0" + +"svgo@^1.0.0": + "integrity" "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==" + "resolved" "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz" + "version" "1.3.2" + dependencies: + "chalk" "^2.4.1" + "coa" "^2.0.2" + "css-select" "^2.0.0" + "css-select-base-adapter" "^0.1.1" + "css-tree" "1.0.0-alpha.37" + "csso" "^4.0.2" + "js-yaml" "^3.13.1" + "mkdirp" "~0.5.1" + "object.values" "^1.1.0" + "sax" "~1.2.4" + "stable" "^0.1.8" + "unquote" "~1.1.1" + "util.promisify" "~1.0.0" + +"symbol-observable@^1.1.0": + "integrity" "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" + "resolved" "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz" + "version" "1.2.0" + +"symbol-tree@^3.2.2": + "integrity" "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + "resolved" "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz" + "version" "3.2.4" + +"synchronous-promise@^2.0.6": + "integrity" "sha512-k8uzYIkIVwmT+TcglpdN50pS2y1BDcUnBPK9iJeGu0Pl1lOI8pD6wtzgw91Pjpe+RxtTncw32tLxs/R0yNL2Mg==" + "resolved" "https://registry.npmjs.org/synchronous-promise/-/synchronous-promise-2.0.15.tgz" + "version" "2.0.15" + +"tapable@^1.0.0", "tapable@^1.1.3": + "integrity" "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" + "resolved" "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz" + "version" "1.1.3" + +"tapable@^2.0.0", "tapable@^2.1.1", "tapable@^2.2.0": + "integrity" "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" + "resolved" "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" + "version" "2.2.1" + +"term-size@^2.1.0": + "integrity" "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==" + "resolved" "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz" + "version" "2.2.1" + +"terser-webpack-plugin@^1.4.3": + "integrity" "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==" + "resolved" "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz" + "version" "1.4.5" + dependencies: + "cacache" "^12.0.2" + "find-cache-dir" "^2.1.0" + "is-wsl" "^1.1.0" + "schema-utils" "^1.0.0" + "serialize-javascript" "^4.0.0" + "source-map" "^0.6.1" + "terser" "^4.1.2" + "webpack-sources" "^1.4.0" + "worker-farm" "^1.7.0" + +"terser-webpack-plugin@^5.1.3", "terser-webpack-plugin@^5.3.1": + "integrity" "sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==" + "resolved" "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz" + "version" "5.3.1" + dependencies: + "jest-worker" "^27.4.5" + "schema-utils" "^3.1.1" + "serialize-javascript" "^6.0.0" + "source-map" "^0.6.1" + "terser" "^5.7.2" + +"terser@^4.1.2": + "integrity" "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==" + "resolved" "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz" + "version" "4.8.0" + dependencies: + "commander" "^2.20.0" + "source-map" "~0.6.1" + "source-map-support" "~0.5.12" + +"terser@^5.10.0", "terser@^5.7.2": + "integrity" "sha512-uCA9DLanzzWSsN1UirKwylhhRz3aKPInlfmpGfw8VN6jHsAtu8HJtIpeeHHK23rxnE/cDc+yvmq5wqkIC6Kn0A==" + "resolved" "https://registry.npmjs.org/terser/-/terser-5.11.0.tgz" + "version" "5.11.0" + dependencies: + "acorn" "^8.5.0" + "commander" "^2.20.0" + "source-map" "~0.7.2" + "source-map-support" "~0.5.20" + +"test-exclude@^5.2.3": + "integrity" "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==" + "resolved" "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz" + "version" "5.2.3" + dependencies: + "glob" "^7.1.3" + "minimatch" "^3.0.4" + "read-pkg-up" "^4.0.0" + "require-main-filename" "^2.0.0" + +"text-extensions@^1.0.0": + "integrity" "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==" + "resolved" "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz" + "version" "1.9.0" + +"text-table@^0.2.0": + "integrity" "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" + "resolved" "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + "version" "0.2.0" + +"throat@^4.0.0": + "integrity" "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=" + "resolved" "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz" + "version" "4.1.0" + +"through@^2.3.6", "through@>=2.2.7 <3", "through@~2.3.4", "through@2": + "integrity" "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + "resolved" "https://registry.npmjs.org/through/-/through-2.3.8.tgz" + "version" "2.3.8" + +"through2-filter@^3.0.0": + "integrity" "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==" + "resolved" "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "through2" "~2.0.0" + "xtend" "~4.0.0" + +"through2@^2.0.0", "through2@^2.0.3", "through2@~2.0.0": + "integrity" "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==" + "resolved" "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz" + "version" "2.0.5" + dependencies: + "readable-stream" "~2.3.6" + "xtend" "~4.0.1" + +"through2@^4.0.0": + "integrity" "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==" + "resolved" "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "readable-stream" "3" + +"thunky@^1.0.2": + "integrity" "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + "resolved" "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz" + "version" "1.1.0" + +"timers-browserify@^2.0.4": + "integrity" "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==" + "resolved" "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz" + "version" "2.0.12" + dependencies: + "setimmediate" "^1.0.4" + +"timsort@^0.3.0": + "integrity" "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" + "resolved" "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz" + "version" "0.3.0" + +"tiny-lr@^1.1.0": + "integrity" "sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==" + "resolved" "https://registry.npmjs.org/tiny-lr/-/tiny-lr-1.1.1.tgz" + "version" "1.1.1" + dependencies: + "body" "^5.1.0" + "debug" "^3.1.0" + "faye-websocket" "~0.10.0" + "livereload-js" "^2.3.0" + "object-assign" "^4.1.0" + "qs" "^6.4.0" + +"tmp@^0.0.33": + "integrity" "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==" + "resolved" "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz" + "version" "0.0.33" + dependencies: + "os-tmpdir" "~1.0.2" + +"tmpl@1.0.5": + "integrity" "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" + "resolved" "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" + "version" "1.0.5" + +"to-absolute-glob@^2.0.0": + "integrity" "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=" + "resolved" "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "is-absolute" "^1.0.0" + "is-negated-glob" "^1.0.0" + +"to-arraybuffer@^1.0.0": + "integrity" "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + "resolved" "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz" + "version" "1.0.1" + +"to-factory@^1.0.0": + "integrity" "sha1-hzivi9lxIK0dQEeXKtpVY7+UebE=" + "resolved" "https://registry.npmjs.org/to-factory/-/to-factory-1.0.0.tgz" + "version" "1.0.0" + +"to-fast-properties@^2.0.0": + "integrity" "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + "resolved" "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + "version" "2.0.0" + +"to-object-path@^0.3.0": + "integrity" "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=" + "resolved" "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz" + "version" "0.3.0" + dependencies: + "kind-of" "^3.0.2" + +"to-readable-stream@^1.0.0": + "integrity" "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" + "resolved" "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz" + "version" "1.0.0" + +"to-regex-range@^2.1.0": + "integrity" "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=" + "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "is-number" "^3.0.0" + "repeat-string" "^1.6.1" + +"to-regex-range@^5.0.1": + "integrity" "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==" + "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "is-number" "^7.0.0" + +"to-regex@^3.0.1", "to-regex@^3.0.2": + "integrity" "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==" + "resolved" "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "define-property" "^2.0.2" + "extend-shallow" "^3.0.2" + "regex-not" "^1.0.2" + "safe-regex" "^1.1.0" + +"to-through@^2.0.0": + "integrity" "sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=" + "resolved" "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "through2" "^2.0.3" + +"toidentifier@1.0.0": + "integrity" "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + "resolved" "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz" + "version" "1.0.0" + +"toml@^3.0.0": + "integrity" "sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==" + "resolved" "https://registry.npmjs.org/toml/-/toml-3.0.0.tgz" + "version" "3.0.0" + +"toposort@^1.0.0": + "integrity" "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=" + "resolved" "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz" + "version" "1.0.7" + +"toposort@^2.0.2": + "integrity" "sha1-riF2gXXRVZ1IvvNUILL0li8JwzA=" + "resolved" "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz" + "version" "2.0.2" + +"tough-cookie@^2.3.3", "tough-cookie@^2.3.4", "tough-cookie@~2.5.0": + "integrity" "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==" + "resolved" "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz" + "version" "2.5.0" + dependencies: + "psl" "^1.1.28" + "punycode" "^2.1.1" + +"tr46@^1.0.1": + "integrity" "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=" + "resolved" "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "punycode" "^2.1.0" + +"trim-newlines@^1.0.0": + "integrity" "sha1-WIeWa7WCpFA6QetST301ARgVphM=" + "resolved" "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz" + "version" "1.0.0" + +"trim-newlines@^3.0.0": + "integrity" "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==" + "resolved" "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz" + "version" "3.0.1" + +"trim-off-newlines@^1.0.0": + "integrity" "sha512-kh6Tu6GbeSNMGfrrZh6Bb/4ZEHV1QlB4xNDBeog8Y9/QwFlKTRyWvY3Fs9tRDAMZliVUwieMgEdIeL/FtqjkJg==" + "resolved" "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.3.tgz" + "version" "1.0.3" + +"trough@^1.0.0": + "integrity" "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==" + "resolved" "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz" + "version" "1.0.5" + +"ts-loader@^9.2.6": + "integrity" "sha512-QMTC4UFzHmu9wU2VHZEmWWE9cUajjfcdcws+Gh7FhiO+Dy0RnR1bNz0YCHqhI0yRowCE9arVnNxYHqELOy9Hjw==" + "resolved" "https://registry.npmjs.org/ts-loader/-/ts-loader-9.2.6.tgz" + "version" "9.2.6" + dependencies: + "chalk" "^4.1.0" + "enhanced-resolve" "^5.0.0" + "micromatch" "^4.0.0" + "semver" "^7.3.4" + +"tslib@^1.9.0": + "integrity" "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "resolved" "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" + "version" "1.14.1" + +"tslib@^2.0.3", "tslib@^2.1.0": + "integrity" "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz" + "version" "2.3.1" + +"tty-browserify@0.0.0": + "integrity" "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + "resolved" "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz" + "version" "0.0.0" + +"tunnel-agent@^0.6.0": + "integrity" "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=" + "resolved" "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" + "version" "0.6.0" + dependencies: + "safe-buffer" "^5.0.1" + +"tweetnacl@^0.14.3", "tweetnacl@~0.14.0": + "integrity" "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + "resolved" "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" + "version" "0.14.5" + +"type-check@^0.4.0", "type-check@~0.4.0": + "integrity" "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==" + "resolved" "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + "version" "0.4.0" + dependencies: + "prelude-ls" "^1.2.1" + +"type-check@~0.3.2": + "integrity" "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=" + "resolved" "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" + "version" "0.3.2" + dependencies: + "prelude-ls" "~1.1.2" + +"type-detect@4.0.8": + "integrity" "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" + "resolved" "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" + "version" "4.0.8" + +"type-fest@^0.18.0": + "integrity" "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==" + "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz" + "version" "0.18.1" + +"type-fest@^0.20.2": + "integrity" "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" + "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" + "version" "0.20.2" + +"type-fest@^0.21.3": + "integrity" "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" + "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" + "version" "0.21.3" + +"type-fest@^0.6.0": + "integrity" "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" + "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz" + "version" "0.6.0" + +"type-fest@^0.8.1": + "integrity" "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" + "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz" + "version" "0.8.1" + +"type-is@~1.6.17", "type-is@~1.6.18": + "integrity" "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==" + "resolved" "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" + "version" "1.6.18" + dependencies: + "media-typer" "0.3.0" + "mime-types" "~2.1.24" + +"typedarray-to-buffer@^3.1.5": + "integrity" "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==" + "resolved" "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" + "version" "3.1.5" + dependencies: + "is-typedarray" "^1.0.0" + +"typedarray@^0.0.6", "typedarray@~0.0.5": + "integrity" "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + "resolved" "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" + "version" "0.0.6" + +"typescript@*", "typescript@^4.5.5", "typescript@>=3.0.1": + "integrity" "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==" + "resolved" "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz" + "version" "4.5.5" + +"uc.micro@^1.0.1", "uc.micro@^1.0.5": + "integrity" "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" + "resolved" "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz" + "version" "1.0.6" + +"uglify-js@^3.1.4": + "integrity" "sha512-wZbyTQ1w6Y7fHdt8sJnHfSIuWeDgk6B5rCb4E/AM6QNNPbOMIZph21PW5dRB3h7Df0GszN+t7RuUH6sWK5bF0g==" + "resolved" "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.9.tgz" + "version" "3.13.9" + +"uglify-js@3.4.x": + "integrity" "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==" + "resolved" "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz" + "version" "3.4.10" + dependencies: + "commander" "~2.19.0" + "source-map" "~0.6.1" + +"unbox-primitive@^1.0.1": + "integrity" "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==" + "resolved" "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "function-bind" "^1.1.1" + "has-bigints" "^1.0.1" + "has-symbols" "^1.0.2" + "which-boxed-primitive" "^1.0.2" + +"unc-path-regex@^0.1.2": + "integrity" "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=" + "resolved" "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz" + "version" "0.1.2" + +"underscore@^1.13.1", "underscore@>=1.8.3", "underscore@1.4.4 - 1.8.3": + "integrity" "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==" + "resolved" "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz" + "version" "1.13.1" + +"unicode-canonical-property-names-ecmascript@^2.0.0": + "integrity" "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==" + "resolved" "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" + "version" "2.0.0" + +"unicode-match-property-ecmascript@^2.0.0": + "integrity" "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==" + "resolved" "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "unicode-canonical-property-names-ecmascript" "^2.0.0" + "unicode-property-aliases-ecmascript" "^2.0.0" + +"unicode-match-property-value-ecmascript@^2.0.0": + "integrity" "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==" + "resolved" "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz" + "version" "2.0.0" + +"unicode-property-aliases-ecmascript@^2.0.0": + "integrity" "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==" + "resolved" "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz" + "version" "2.0.0" + +"unified@^9.1.0": + "integrity" "sha512-juWjuI8Z4xFg8pJbnEZ41b5xjGUWGHqXALmBZ3FC3WX0PIx1CZBIIJ6mXbYMcf6Yw4Fi0rFUTA1cdz/BglbOhA==" + "resolved" "https://registry.npmjs.org/unified/-/unified-9.2.1.tgz" + "version" "9.2.1" + dependencies: + "bail" "^1.0.0" + "extend" "^3.0.0" + "is-buffer" "^2.0.0" + "is-plain-obj" "^2.0.0" + "trough" "^1.0.0" + "vfile" "^4.0.0" + +"union-value@^1.0.0": + "integrity" "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==" + "resolved" "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "arr-union" "^3.1.0" + "get-value" "^2.0.6" + "is-extendable" "^0.1.1" + "set-value" "^2.0.1" + +"uniq@^1.0.1": + "integrity" "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" + "resolved" "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz" + "version" "1.0.1" + +"uniqs@^2.0.0": + "integrity" "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" + "resolved" "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz" + "version" "2.0.0" + +"unique-filename@^1.1.1": + "integrity" "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==" + "resolved" "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz" + "version" "1.1.1" + dependencies: + "unique-slug" "^2.0.0" + +"unique-slug@^2.0.0": + "integrity" "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==" + "resolved" "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "imurmurhash" "^0.1.4" + +"unique-stream@^2.0.2": + "integrity" "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==" + "resolved" "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz" + "version" "2.3.1" + dependencies: + "json-stable-stringify-without-jsonify" "^1.0.1" + "through2-filter" "^3.0.0" + +"unique-string@^2.0.0": + "integrity" "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==" + "resolved" "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "crypto-random-string" "^2.0.0" + +"unist-builder@^2.0.0", "unist-builder@^2.0.3": + "integrity" "sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==" + "resolved" "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz" + "version" "2.0.3" + +"unist-util-generated@^1.0.0": + "integrity" "sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==" + "resolved" "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz" + "version" "1.1.6" + +"unist-util-is@^4.0.0": + "integrity" "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==" + "resolved" "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz" + "version" "4.1.0" + +"unist-util-position@^3.0.0": + "integrity" "sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==" + "resolved" "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz" + "version" "3.1.0" + +"unist-util-stringify-position@^2.0.0": + "integrity" "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==" + "resolved" "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz" + "version" "2.0.3" dependencies: "@types/unist" "^2.0.2" -unist-util-visit-parents@^3.0.0: - version "3.1.1" - resolved "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz" +"unist-util-visit-parents@^3.0.0": + "integrity" "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==" + "resolved" "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz" + "version" "3.1.1" dependencies: "@types/unist" "^2.0.0" - unist-util-is "^4.0.0" + "unist-util-is" "^4.0.0" -unist-util-visit@^2.0.0, unist-util-visit@^2.0.3: - version "2.0.3" - resolved "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz" +"unist-util-visit@^2.0.0", "unist-util-visit@^2.0.3": + "integrity" "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==" + "resolved" "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz" + "version" "2.0.3" dependencies: "@types/unist" "^2.0.0" - unist-util-is "^4.0.0" - unist-util-visit-parents "^3.0.0" - -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" - -unquote@~1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz" - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz" - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -upath@^1.1.0, upath@^1.1.1: - version "1.2.0" - resolved "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz" - -update-notifier@^4.0.0: - version "4.1.3" - resolved "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.3.tgz" - dependencies: - boxen "^4.2.0" - chalk "^3.0.0" - configstore "^5.0.1" - has-yarn "^2.1.0" - import-lazy "^2.1.0" - is-ci "^2.0.0" - is-installed-globally "^0.3.1" - is-npm "^4.0.0" - is-yarn-global "^0.3.0" - latest-version "^5.0.0" - pupa "^2.0.1" - semver-diff "^3.1.1" - xdg-basedir "^4.0.0" - -upper-case@^1.1.1: - version "1.1.3" - resolved "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" - dependencies: - punycode "^2.1.0" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz" - -url-loader@^1.0.1: - version "1.1.2" - resolved "https://registry.npmjs.org/url-loader/-/url-loader-1.1.2.tgz" - dependencies: - loader-utils "^1.1.0" - mime "^2.0.3" - schema-utils "^1.0.0" - -url-parse-lax@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz" - dependencies: - prepend-http "^2.0.0" - -url-parse@^1.4.3, url-parse@^1.5.1: - version "1.5.10" - resolved "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz" - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - -url@^0.11.0: - version "0.11.0" - resolved "https://registry.npmjs.org/url/-/url-0.11.0.tgz" - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/use/-/use-3.1.1.tgz" - -util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - -util.promisify@1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz" - dependencies: - define-properties "^1.1.2" - object.getownpropertydescriptors "^2.0.3" - -util.promisify@^1.0.0: - version "1.1.1" - resolved "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz" - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - for-each "^0.3.3" - has-symbols "^1.0.1" - object.getownpropertydescriptors "^2.1.1" - -util.promisify@~1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz" - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.2" - has-symbols "^1.0.1" - object.getownpropertydescriptors "^2.1.0" - -util@0.10.3: - version "0.10.3" - resolved "https://registry.npmjs.org/util/-/util-0.10.3.tgz" - dependencies: - inherits "2.0.1" - -util@^0.11.0: - version "0.11.1" - resolved "https://registry.npmjs.org/util/-/util-0.11.1.tgz" - dependencies: - inherits "2.0.3" - -utila@~0.4: - version "0.4.0" - resolved "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz" - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" - -uuid@^3.3.2, uuid@^3.4.0: - version "3.4.0" - resolved "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz" - -v8-compile-cache@^2.0.3: - version "2.3.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" - -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -value-or-function@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz" - -vary@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" - -vendors@^1.0.0: - version "1.0.4" - resolved "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz" - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz" - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -vfile-message@^2.0.0: - version "2.0.4" - resolved "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz" + "unist-util-is" "^4.0.0" + "unist-util-visit-parents" "^3.0.0" + +"universalify@^0.1.0": + "integrity" "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + "resolved" "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" + "version" "0.1.2" + +"unpipe@~1.0.0", "unpipe@1.0.0": + "integrity" "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + "resolved" "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" + "version" "1.0.0" + +"unquote@~1.1.1": + "integrity" "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=" + "resolved" "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz" + "version" "1.1.1" + +"unset-value@^1.0.0": + "integrity" "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=" + "resolved" "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "has-value" "^0.3.1" + "isobject" "^3.0.0" + +"upath@^1.1.0", "upath@^1.1.1": + "integrity" "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" + "resolved" "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz" + "version" "1.2.0" + +"update-notifier@^4.0.0": + "integrity" "sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==" + "resolved" "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.3.tgz" + "version" "4.1.3" + dependencies: + "boxen" "^4.2.0" + "chalk" "^3.0.0" + "configstore" "^5.0.1" + "has-yarn" "^2.1.0" + "import-lazy" "^2.1.0" + "is-ci" "^2.0.0" + "is-installed-globally" "^0.3.1" + "is-npm" "^4.0.0" + "is-yarn-global" "^0.3.0" + "latest-version" "^5.0.0" + "pupa" "^2.0.1" + "semver-diff" "^3.1.1" + "xdg-basedir" "^4.0.0" + +"upper-case@^1.1.1": + "integrity" "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=" + "resolved" "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz" + "version" "1.1.3" + +"uri-js@^4.2.2": + "integrity" "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==" + "resolved" "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + "version" "4.4.1" + dependencies: + "punycode" "^2.1.0" + +"urix@^0.1.0": + "integrity" "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + "resolved" "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz" + "version" "0.1.0" + +"url-loader@^1.0.1": + "integrity" "sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg==" + "resolved" "https://registry.npmjs.org/url-loader/-/url-loader-1.1.2.tgz" + "version" "1.1.2" + dependencies: + "loader-utils" "^1.1.0" + "mime" "^2.0.3" + "schema-utils" "^1.0.0" + +"url-parse-lax@^3.0.0": + "integrity" "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=" + "resolved" "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "prepend-http" "^2.0.0" + +"url-parse@^1.4.3", "url-parse@^1.5.1": + "integrity" "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==" + "resolved" "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz" + "version" "1.5.10" + dependencies: + "querystringify" "^2.1.1" + "requires-port" "^1.0.0" + +"url@^0.11.0": + "integrity" "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=" + "resolved" "https://registry.npmjs.org/url/-/url-0.11.0.tgz" + "version" "0.11.0" + dependencies: + "punycode" "1.3.2" + "querystring" "0.2.0" + +"use@^3.1.0": + "integrity" "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + "resolved" "https://registry.npmjs.org/use/-/use-3.1.1.tgz" + "version" "3.1.1" + +"util-deprecate@^1.0.1", "util-deprecate@^1.0.2", "util-deprecate@~1.0.1": + "integrity" "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "resolved" "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + "version" "1.0.2" + +"util.promisify@^1.0.0": + "integrity" "sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==" + "resolved" "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz" + "version" "1.1.1" + dependencies: + "call-bind" "^1.0.0" + "define-properties" "^1.1.3" + "for-each" "^0.3.3" + "has-symbols" "^1.0.1" + "object.getownpropertydescriptors" "^2.1.1" + +"util.promisify@~1.0.0": + "integrity" "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==" + "resolved" "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "define-properties" "^1.1.3" + "es-abstract" "^1.17.2" + "has-symbols" "^1.0.1" + "object.getownpropertydescriptors" "^2.1.0" + +"util.promisify@1.0.0": + "integrity" "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==" + "resolved" "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "define-properties" "^1.1.2" + "object.getownpropertydescriptors" "^2.0.3" + +"util@^0.11.0": + "integrity" "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==" + "resolved" "https://registry.npmjs.org/util/-/util-0.11.1.tgz" + "version" "0.11.1" + dependencies: + "inherits" "2.0.3" + +"util@0.10.3": + "integrity" "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=" + "resolved" "https://registry.npmjs.org/util/-/util-0.10.3.tgz" + "version" "0.10.3" + dependencies: + "inherits" "2.0.1" + +"utila@~0.4": + "integrity" "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=" + "resolved" "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz" + "version" "0.4.0" + +"utils-merge@1.0.1": + "integrity" "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + "resolved" "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" + "version" "1.0.1" + +"uuid@^3.3.2", "uuid@^3.4.0": + "integrity" "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + "resolved" "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz" + "version" "3.4.0" + +"v8-compile-cache@^2.0.3": + "integrity" "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" + "resolved" "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz" + "version" "2.3.0" + +"validate-npm-package-license@^3.0.1": + "integrity" "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==" + "resolved" "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" + "version" "3.0.4" + dependencies: + "spdx-correct" "^3.0.0" + "spdx-expression-parse" "^3.0.0" + +"value-or-function@^3.0.0": + "integrity" "sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=" + "resolved" "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz" + "version" "3.0.0" + +"vary@~1.1.2": + "integrity" "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + "resolved" "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" + "version" "1.1.2" + +"vendors@^1.0.0": + "integrity" "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==" + "resolved" "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz" + "version" "1.0.4" + +"verror@1.10.0": + "integrity" "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=" + "resolved" "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz" + "version" "1.10.0" + dependencies: + "assert-plus" "^1.0.0" + "core-util-is" "1.0.2" + "extsprintf" "^1.2.0" + +"vfile-message@^2.0.0": + "integrity" "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==" + "resolved" "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz" + "version" "2.0.4" dependencies: "@types/unist" "^2.0.0" - unist-util-stringify-position "^2.0.0" - -vfile-reporter@^6.0.0: - version "6.0.2" - resolved "https://registry.npmjs.org/vfile-reporter/-/vfile-reporter-6.0.2.tgz" - dependencies: - repeat-string "^1.5.0" - string-width "^4.0.0" - supports-color "^6.0.0" - unist-util-stringify-position "^2.0.0" - vfile-sort "^2.1.2" - vfile-statistics "^1.1.0" - -vfile-sort@^2.1.0, vfile-sort@^2.1.2: - version "2.2.2" - resolved "https://registry.npmjs.org/vfile-sort/-/vfile-sort-2.2.2.tgz" - -vfile-statistics@^1.1.0: - version "1.1.4" - resolved "https://registry.npmjs.org/vfile-statistics/-/vfile-statistics-1.1.4.tgz" - -vfile@^4.0.0: - version "4.2.1" - resolved "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz" + "unist-util-stringify-position" "^2.0.0" + +"vfile-reporter@^6.0.0": + "integrity" "sha512-GN2bH2gs4eLnw/4jPSgfBjo+XCuvnX9elHICJZjVD4+NM0nsUrMTvdjGY5Sc/XG69XVTgLwj7hknQVc6M9FukA==" + "resolved" "https://registry.npmjs.org/vfile-reporter/-/vfile-reporter-6.0.2.tgz" + "version" "6.0.2" + dependencies: + "repeat-string" "^1.5.0" + "string-width" "^4.0.0" + "supports-color" "^6.0.0" + "unist-util-stringify-position" "^2.0.0" + "vfile-sort" "^2.1.2" + "vfile-statistics" "^1.1.0" + +"vfile-sort@^2.1.0", "vfile-sort@^2.1.2": + "integrity" "sha512-tAyUqD2R1l/7Rn7ixdGkhXLD3zsg+XLAeUDUhXearjfIcpL1Hcsj5hHpCoy/gvfK/Ws61+e972fm0F7up7hfYA==" + "resolved" "https://registry.npmjs.org/vfile-sort/-/vfile-sort-2.2.2.tgz" + "version" "2.2.2" + +"vfile-statistics@^1.1.0": + "integrity" "sha512-lXhElVO0Rq3frgPvFBwahmed3X03vjPF8OcjKMy8+F1xU/3Q3QU3tKEDp743SFtb74PdF0UWpxPvtOP0GCLheA==" + "resolved" "https://registry.npmjs.org/vfile-statistics/-/vfile-statistics-1.1.4.tgz" + "version" "1.1.4" + +"vfile@^4.0.0": + "integrity" "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==" + "resolved" "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz" + "version" "4.2.1" dependencies: "@types/unist" "^2.0.0" - is-buffer "^2.0.0" - unist-util-stringify-position "^2.0.0" - vfile-message "^2.0.0" - -vinyl-fs@^3.0.2: - version "3.0.3" - resolved "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz" - dependencies: - fs-mkdirp-stream "^1.0.0" - glob-stream "^6.1.0" - graceful-fs "^4.0.0" - is-valid-glob "^1.0.0" - lazystream "^1.0.0" - lead "^1.0.0" - object.assign "^4.0.4" - pumpify "^1.3.5" - readable-stream "^2.3.3" - remove-bom-buffer "^3.0.0" - remove-bom-stream "^1.2.0" - resolve-options "^1.1.0" - through2 "^2.0.0" - to-through "^2.0.0" - value-or-function "^3.0.0" - vinyl "^2.0.0" - vinyl-sourcemap "^1.1.0" - -vinyl-sourcemap@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz" - dependencies: - append-buffer "^1.0.2" - convert-source-map "^1.5.0" - graceful-fs "^4.1.6" - normalize-path "^2.1.1" - now-and-later "^2.0.0" - remove-bom-buffer "^3.0.0" - vinyl "^2.0.0" - -vinyl@^2.0.0, vinyl@^2.1.0: - version "2.2.1" - resolved "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz" - dependencies: - clone "^2.1.1" - clone-buffer "^1.0.0" - clone-stats "^1.0.0" - cloneable-readable "^1.0.0" - remove-trailing-separator "^1.0.1" - replace-ext "^1.0.0" - -vm-browserify@^1.0.1: - version "1.1.2" - resolved "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz" - -vue-hot-reload-api@^2.3.0: - version "2.3.4" - resolved "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz" - -vue-loader@^15.7.1: - version "15.9.7" - resolved "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.7.tgz" + "is-buffer" "^2.0.0" + "unist-util-stringify-position" "^2.0.0" + "vfile-message" "^2.0.0" + +"vinyl-fs@^3.0.2": + "integrity" "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==" + "resolved" "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz" + "version" "3.0.3" + dependencies: + "fs-mkdirp-stream" "^1.0.0" + "glob-stream" "^6.1.0" + "graceful-fs" "^4.0.0" + "is-valid-glob" "^1.0.0" + "lazystream" "^1.0.0" + "lead" "^1.0.0" + "object.assign" "^4.0.4" + "pumpify" "^1.3.5" + "readable-stream" "^2.3.3" + "remove-bom-buffer" "^3.0.0" + "remove-bom-stream" "^1.2.0" + "resolve-options" "^1.1.0" + "through2" "^2.0.0" + "to-through" "^2.0.0" + "value-or-function" "^3.0.0" + "vinyl" "^2.0.0" + "vinyl-sourcemap" "^1.1.0" + +"vinyl-sourcemap@^1.1.0": + "integrity" "sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=" + "resolved" "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "append-buffer" "^1.0.2" + "convert-source-map" "^1.5.0" + "graceful-fs" "^4.1.6" + "normalize-path" "^2.1.1" + "now-and-later" "^2.0.0" + "remove-bom-buffer" "^3.0.0" + "vinyl" "^2.0.0" + +"vinyl@^2.0.0", "vinyl@^2.1.0": + "integrity" "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==" + "resolved" "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz" + "version" "2.2.1" + dependencies: + "clone" "^2.1.1" + "clone-buffer" "^1.0.0" + "clone-stats" "^1.0.0" + "cloneable-readable" "^1.0.0" + "remove-trailing-separator" "^1.0.1" + "replace-ext" "^1.0.0" + +"vm-browserify@^1.0.1": + "integrity" "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" + "resolved" "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz" + "version" "1.1.2" + +"vue-hot-reload-api@^2.3.0": + "integrity" "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==" + "resolved" "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz" + "version" "2.3.4" + +"vue-loader@^15.7.1": + "integrity" "sha512-qzlsbLV1HKEMf19IqCJqdNvFJRCI58WNbS6XbPqK13MrLz65es75w392MSQ5TsARAfIjUw+ATm3vlCXUJSOH9Q==" + "resolved" "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.7.tgz" + "version" "15.9.7" dependencies: "@vue/component-compiler-utils" "^3.1.0" - hash-sum "^1.0.2" - loader-utils "^1.1.0" - vue-hot-reload-api "^2.3.0" - vue-style-loader "^4.1.0" - -vue-router@^3.4.5: - version "3.5.1" - resolved "https://registry.npmjs.org/vue-router/-/vue-router-3.5.1.tgz" - -vue-server-renderer@^2.6.10: - version "2.6.14" - resolved "https://registry.npmjs.org/vue-server-renderer/-/vue-server-renderer-2.6.14.tgz" - dependencies: - chalk "^1.1.3" - hash-sum "^1.0.2" - he "^1.1.0" - lodash.template "^4.5.0" - lodash.uniq "^4.5.0" - resolve "^1.2.0" - serialize-javascript "^3.1.0" - source-map "0.5.6" - -vue-style-loader@^4.1.0: - version "4.1.3" - resolved "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.3.tgz" - dependencies: - hash-sum "^1.0.2" - loader-utils "^1.0.2" - -vue-template-compiler@^2.6.10, vue-template-compiler@^2.6.12: - version "2.6.14" - resolved "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz" - dependencies: - de-indent "^1.0.2" - he "^1.1.0" - -vue-template-es2015-compiler@^1.9.0: - version "1.9.1" - resolved "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz" - -vue@^2.6.10: - version "2.6.14" - resolved "https://registry.npmjs.org/vue/-/vue-2.6.14.tgz" - -vuepress-html-webpack-plugin@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/vuepress-html-webpack-plugin/-/vuepress-html-webpack-plugin-3.2.0.tgz" - dependencies: - html-minifier "^3.2.3" - loader-utils "^0.2.16" - lodash "^4.17.3" - pretty-error "^2.0.2" - tapable "^1.0.0" - toposort "^1.0.0" - util.promisify "1.0.0" - -vuepress-plugin-container@^2.0.2: - version "2.1.5" - resolved "https://registry.npmjs.org/vuepress-plugin-container/-/vuepress-plugin-container-2.1.5.tgz" + "hash-sum" "^1.0.2" + "loader-utils" "^1.1.0" + "vue-hot-reload-api" "^2.3.0" + "vue-style-loader" "^4.1.0" + +"vue-router@^3.4.5": + "integrity" "sha512-RRQNLT8Mzr8z7eL4p7BtKvRaTSGdCbTy2+Mm5HTJvLGYSSeG9gDzNasJPP/yOYKLy+/cLG/ftrqq5fvkFwBJEw==" + "resolved" "https://registry.npmjs.org/vue-router/-/vue-router-3.5.1.tgz" + "version" "3.5.1" + +"vue-server-renderer@^2.6.10": + "integrity" "sha512-HifYRa/LW7cKywg9gd4ZtvtRuBlstQBao5ZCWlg40fyB4OPoGfEXAzxb0emSLv4pBDOHYx0UjpqvxpiQFEuoLA==" + "resolved" "https://registry.npmjs.org/vue-server-renderer/-/vue-server-renderer-2.6.14.tgz" + "version" "2.6.14" + dependencies: + "chalk" "^1.1.3" + "hash-sum" "^1.0.2" + "he" "^1.1.0" + "lodash.template" "^4.5.0" + "lodash.uniq" "^4.5.0" + "resolve" "^1.2.0" + "serialize-javascript" "^3.1.0" + "source-map" "0.5.6" + +"vue-style-loader@^4.1.0": + "integrity" "sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==" + "resolved" "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.3.tgz" + "version" "4.1.3" + dependencies: + "hash-sum" "^1.0.2" + "loader-utils" "^1.0.2" + +"vue-template-compiler@^2.6.10", "vue-template-compiler@^2.6.12": + "integrity" "sha512-ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g==" + "resolved" "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz" + "version" "2.6.14" + dependencies: + "de-indent" "^1.0.2" + "he" "^1.1.0" + +"vue-template-es2015-compiler@^1.9.0": + "integrity" "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==" + "resolved" "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz" + "version" "1.9.1" + +"vue@^2 || ^3.0.0-0", "vue@3.1.1": + "integrity" "sha512-j9fj3PNPMxo2eqOKYjMuss9XBS8ZtmczLY3kPvjcp9d3DbhyNqLYbaMQH18+1pDIzzVvQCQBvIf774LsjjqSKA==" + "resolved" "https://registry.npmjs.org/vue/-/vue-3.1.1.tgz" + "version" "3.1.1" + dependencies: + "@vue/compiler-dom" "3.1.1" + "@vue/runtime-dom" "3.1.1" + "@vue/shared" "3.1.1" + +"vue@^2.6.10": + "integrity" "sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==" + "resolved" "https://registry.npmjs.org/vue/-/vue-2.6.14.tgz" + "version" "2.6.14" + +"vuepress-html-webpack-plugin@^3.2.0": + "integrity" "sha512-BebAEl1BmWlro3+VyDhIOCY6Gef2MCBllEVAP3NUAtMguiyOwo/dClbwJ167WYmcxHJKLl7b0Chr9H7fpn1d0A==" + "resolved" "https://registry.npmjs.org/vuepress-html-webpack-plugin/-/vuepress-html-webpack-plugin-3.2.0.tgz" + "version" "3.2.0" + dependencies: + "html-minifier" "^3.2.3" + "loader-utils" "^0.2.16" + "lodash" "^4.17.3" + "pretty-error" "^2.0.2" + "tapable" "^1.0.0" + "toposort" "^1.0.0" + "util.promisify" "1.0.0" + +"vuepress-plugin-container@^2.0.2": + "integrity" "sha512-TQrDX/v+WHOihj3jpilVnjXu9RcTm6m8tzljNJwYhxnJUW0WWQ0hFLcDTqTBwgKIFdEiSxVOmYE+bJX/sq46MA==" + "resolved" "https://registry.npmjs.org/vuepress-plugin-container/-/vuepress-plugin-container-2.1.5.tgz" + "version" "2.1.5" dependencies: "@vuepress/shared-utils" "^1.2.0" - markdown-it-container "^2.0.0" + "markdown-it-container" "^2.0.0" -vuepress-plugin-smooth-scroll@^0.0.3: - version "0.0.3" - resolved "https://registry.npmjs.org/vuepress-plugin-smooth-scroll/-/vuepress-plugin-smooth-scroll-0.0.3.tgz" +"vuepress-plugin-smooth-scroll@^0.0.3": + "integrity" "sha512-qsQkDftLVFLe8BiviIHaLV0Ea38YLZKKonDGsNQy1IE0wllFpFIEldWD8frWZtDFdx6b/O3KDMgVQ0qp5NjJCg==" + "resolved" "https://registry.npmjs.org/vuepress-plugin-smooth-scroll/-/vuepress-plugin-smooth-scroll-0.0.3.tgz" + "version" "0.0.3" dependencies: - smoothscroll-polyfill "^0.4.3" + "smoothscroll-polyfill" "^0.4.3" -vuepress@^1.8.2: - version "1.8.2" - resolved "https://registry.npmjs.org/vuepress/-/vuepress-1.8.2.tgz" +"vuepress@^1.8.2": + "integrity" "sha512-BU1lUDwsA3ghf7a9ga4dsf0iTc++Z/l7BR1kUagHWVBHw7HNRgRDfAZBDDQXhllMILVToIxaTifpne9mSi94OA==" + "resolved" "https://registry.npmjs.org/vuepress/-/vuepress-1.8.2.tgz" + "version" "1.8.2" dependencies: "@vuepress/core" "1.8.2" "@vuepress/theme-default" "1.8.2" - cac "^6.5.6" - envinfo "^7.2.0" - opencollective-postinstall "^2.0.2" - update-notifier "^4.0.0" + "cac" "^6.5.6" + "envinfo" "^7.2.0" + "opencollective-postinstall" "^2.0.2" + "update-notifier" "^4.0.0" -w3c-hr-time@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz" +"w3c-hr-time@^1.0.1": + "integrity" "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==" + "resolved" "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz" + "version" "1.0.2" dependencies: - browser-process-hrtime "^1.0.0" + "browser-process-hrtime" "^1.0.0" -walker@^1.0.7, walker@~1.0.5: - version "1.0.7" - resolved "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz" +"walker@^1.0.7", "walker@~1.0.5": + "integrity" "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==" + "resolved" "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz" + "version" "1.0.8" dependencies: - makeerror "1.0.x" + "makeerror" "1.0.12" -watchpack-chokidar2@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz" +"watchpack-chokidar2@^2.0.1": + "integrity" "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==" + "resolved" "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz" + "version" "2.0.1" dependencies: - chokidar "^2.1.8" + "chokidar" "^2.1.8" -watchpack@^1.7.4: - version "1.7.5" - resolved "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz" +"watchpack@^1.7.4": + "integrity" "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==" + "resolved" "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz" + "version" "1.7.5" dependencies: - graceful-fs "^4.1.2" - neo-async "^2.5.0" + "graceful-fs" "^4.1.2" + "neo-async" "^2.5.0" optionalDependencies: - chokidar "^3.4.1" - watchpack-chokidar2 "^2.0.1" + "chokidar" "^3.4.1" + "watchpack-chokidar2" "^2.0.1" -watchpack@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz" +"watchpack@^2.3.1": + "integrity" "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==" + "resolved" "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz" + "version" "2.3.1" dependencies: - glob-to-regexp "^0.4.1" - graceful-fs "^4.1.2" + "glob-to-regexp" "^0.4.1" + "graceful-fs" "^4.1.2" -wbuf@^1.1.0, wbuf@^1.7.3: - version "1.7.3" - resolved "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz" +"wbuf@^1.1.0", "wbuf@^1.7.3": + "integrity" "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==" + "resolved" "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz" + "version" "1.7.3" dependencies: - minimalistic-assert "^1.0.0" + "minimalistic-assert" "^1.0.0" -wcwidth@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz" +"wcwidth@^1.0.1": + "integrity" "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=" + "resolved" "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz" + "version" "1.0.1" dependencies: - defaults "^1.0.3" + "defaults" "^1.0.3" -webidl-conversions@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz" +"webidl-conversions@^4.0.2": + "integrity" "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + "resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz" + "version" "4.0.2" -webpack-chain@^4.9.0: - version "4.12.1" - resolved "https://registry.npmjs.org/webpack-chain/-/webpack-chain-4.12.1.tgz" +"webpack-chain@^4.9.0": + "integrity" "sha512-BCfKo2YkDe2ByqkEWe1Rw+zko4LsyS75LVr29C6xIrxAg9JHJ4pl8kaIZ396SUSNp6b4815dRZPSTAS8LlURRQ==" + "resolved" "https://registry.npmjs.org/webpack-chain/-/webpack-chain-4.12.1.tgz" + "version" "4.12.1" dependencies: - deepmerge "^1.5.2" - javascript-stringify "^1.6.0" + "deepmerge" "^1.5.2" + "javascript-stringify" "^1.6.0" -webpack-chain@^6.0.0: - version "6.5.1" - resolved "https://registry.npmjs.org/webpack-chain/-/webpack-chain-6.5.1.tgz" +"webpack-chain@^6.0.0": + "integrity" "sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA==" + "resolved" "https://registry.npmjs.org/webpack-chain/-/webpack-chain-6.5.1.tgz" + "version" "6.5.1" dependencies: - deepmerge "^1.5.2" - javascript-stringify "^2.0.1" + "deepmerge" "^1.5.2" + "javascript-stringify" "^2.0.1" -webpack-cli@^4.9.2: - version "4.9.2" - resolved "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.2.tgz" +"webpack-cli@^4.9.2", "webpack-cli@4.x.x": + "integrity" "sha512-m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ==" + "resolved" "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.2.tgz" + "version" "4.9.2" dependencies: "@discoveryjs/json-ext" "^0.5.0" "@webpack-cli/configtest" "^1.1.1" "@webpack-cli/info" "^1.4.1" "@webpack-cli/serve" "^1.6.1" - colorette "^2.0.14" - commander "^7.0.0" - execa "^5.0.0" - fastest-levenshtein "^1.0.12" - import-local "^3.0.2" - interpret "^2.2.0" - rechoir "^0.7.0" - webpack-merge "^5.7.3" - -webpack-dev-middleware@^3.7.2: - version "3.7.3" - resolved "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz" - dependencies: - memory-fs "^0.4.1" - mime "^2.4.4" - mkdirp "^0.5.1" - range-parser "^1.2.1" - webpack-log "^2.0.0" - -webpack-dev-middleware@^5.3.1: - version "5.3.1" - resolved "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.1.tgz" - dependencies: - colorette "^2.0.10" - memfs "^3.4.1" - mime-types "^2.1.31" - range-parser "^1.2.1" - schema-utils "^4.0.0" - -webpack-dev-server@^3.5.1: - version "3.11.2" - resolved "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz" - dependencies: - ansi-html "0.0.7" - bonjour "^3.5.0" - chokidar "^2.1.8" - compression "^1.7.4" - connect-history-api-fallback "^1.6.0" - debug "^4.1.1" - del "^4.1.1" - express "^4.17.1" - html-entities "^1.3.1" - http-proxy-middleware "0.19.1" - import-local "^2.0.0" - internal-ip "^4.3.0" - ip "^1.1.5" - is-absolute-url "^3.0.3" - killable "^1.0.1" - loglevel "^1.6.8" - opn "^5.5.0" - p-retry "^3.0.1" - portfinder "^1.0.26" - schema-utils "^1.0.0" - selfsigned "^1.10.8" - semver "^6.3.0" - serve-index "^1.9.1" - sockjs "^0.3.21" - sockjs-client "^1.5.0" - spdy "^4.0.2" - strip-ansi "^3.0.1" - supports-color "^6.1.0" - url "^0.11.0" - webpack-dev-middleware "^3.7.2" - webpack-log "^2.0.0" - ws "^6.2.1" - yargs "^13.3.2" - -webpack-dev-server@^4.7.4: - version "4.7.4" - resolved "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.7.4.tgz" + "colorette" "^2.0.14" + "commander" "^7.0.0" + "execa" "^5.0.0" + "fastest-levenshtein" "^1.0.12" + "import-local" "^3.0.2" + "interpret" "^2.2.0" + "rechoir" "^0.7.0" + "webpack-merge" "^5.7.3" + +"webpack-dev-middleware@^3.7.2": + "integrity" "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==" + "resolved" "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz" + "version" "3.7.3" + dependencies: + "memory-fs" "^0.4.1" + "mime" "^2.4.4" + "mkdirp" "^0.5.1" + "range-parser" "^1.2.1" + "webpack-log" "^2.0.0" + +"webpack-dev-middleware@^5.3.1": + "integrity" "sha512-81EujCKkyles2wphtdrnPg/QqegC/AtqNH//mQkBYSMqwFVCQrxM6ktB2O/SPlZy7LqeEfTbV3cZARGQz6umhg==" + "resolved" "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.1.tgz" + "version" "5.3.1" + dependencies: + "colorette" "^2.0.10" + "memfs" "^3.4.1" + "mime-types" "^2.1.31" + "range-parser" "^1.2.1" + "schema-utils" "^4.0.0" + +"webpack-dev-server@^3.5.1": + "integrity" "sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ==" + "resolved" "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz" + "version" "3.11.2" + dependencies: + "ansi-html" "0.0.7" + "bonjour" "^3.5.0" + "chokidar" "^2.1.8" + "compression" "^1.7.4" + "connect-history-api-fallback" "^1.6.0" + "debug" "^4.1.1" + "del" "^4.1.1" + "express" "^4.17.1" + "html-entities" "^1.3.1" + "http-proxy-middleware" "0.19.1" + "import-local" "^2.0.0" + "internal-ip" "^4.3.0" + "ip" "^1.1.5" + "is-absolute-url" "^3.0.3" + "killable" "^1.0.1" + "loglevel" "^1.6.8" + "opn" "^5.5.0" + "p-retry" "^3.0.1" + "portfinder" "^1.0.26" + "schema-utils" "^1.0.0" + "selfsigned" "^1.10.8" + "semver" "^6.3.0" + "serve-index" "^1.9.1" + "sockjs" "^0.3.21" + "sockjs-client" "^1.5.0" + "spdy" "^4.0.2" + "strip-ansi" "^3.0.1" + "supports-color" "^6.1.0" + "url" "^0.11.0" + "webpack-dev-middleware" "^3.7.2" + "webpack-log" "^2.0.0" + "ws" "^6.2.1" + "yargs" "^13.3.2" + +"webpack-dev-server@^4.7.4": + "integrity" "sha512-nfdsb02Zi2qzkNmgtZjkrMOcXnYZ6FLKcQwpxT7MvmHKc+oTtDsBju8j+NMyAygZ9GW1jMEUpy3itHtqgEhe1A==" + "resolved" "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.7.4.tgz" + "version" "4.7.4" dependencies: "@types/bonjour" "^3.5.9" "@types/connect-history-api-fallback" "^1.3.5" @@ -11663,424 +13876,522 @@ webpack-dev-server@^4.7.4: "@types/serve-index" "^1.9.1" "@types/sockjs" "^0.3.33" "@types/ws" "^8.2.2" - ansi-html-community "^0.0.8" - bonjour "^3.5.0" - chokidar "^3.5.3" - colorette "^2.0.10" - compression "^1.7.4" - connect-history-api-fallback "^1.6.0" - default-gateway "^6.0.3" - del "^6.0.0" - express "^4.17.1" - graceful-fs "^4.2.6" - html-entities "^2.3.2" - http-proxy-middleware "^2.0.0" - ipaddr.js "^2.0.1" - open "^8.0.9" - p-retry "^4.5.0" - portfinder "^1.0.28" - schema-utils "^4.0.0" - selfsigned "^2.0.0" - serve-index "^1.9.1" - sockjs "^0.3.21" - spdy "^4.0.2" - strip-ansi "^7.0.0" - webpack-dev-middleware "^5.3.1" - ws "^8.4.2" - -webpack-log@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz" - dependencies: - ansi-colors "^3.0.0" - uuid "^3.3.2" - -webpack-merge@^4.1.2: - version "4.2.2" - resolved "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz" - dependencies: - lodash "^4.17.15" - -webpack-merge@^5.7.3: - version "5.8.0" - resolved "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz" - dependencies: - clone-deep "^4.0.1" - wildcard "^2.0.0" - -webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1: - version "1.4.3" - resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz" - dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - -webpack-sources@^3.2.3: - version "3.2.3" - resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" - -webpack@^4.8.1: - version "4.46.0" - resolved "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz" + "ansi-html-community" "^0.0.8" + "bonjour" "^3.5.0" + "chokidar" "^3.5.3" + "colorette" "^2.0.10" + "compression" "^1.7.4" + "connect-history-api-fallback" "^1.6.0" + "default-gateway" "^6.0.3" + "del" "^6.0.0" + "express" "^4.17.1" + "graceful-fs" "^4.2.6" + "html-entities" "^2.3.2" + "http-proxy-middleware" "^2.0.0" + "ipaddr.js" "^2.0.1" + "open" "^8.0.9" + "p-retry" "^4.5.0" + "portfinder" "^1.0.28" + "schema-utils" "^4.0.0" + "selfsigned" "^2.0.0" + "serve-index" "^1.9.1" + "sockjs" "^0.3.21" + "spdy" "^4.0.2" + "strip-ansi" "^7.0.0" + "webpack-dev-middleware" "^5.3.1" + "ws" "^8.4.2" + +"webpack-log@^2.0.0": + "integrity" "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==" + "resolved" "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "ansi-colors" "^3.0.0" + "uuid" "^3.3.2" + +"webpack-merge@^4.1.2": + "integrity" "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==" + "resolved" "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz" + "version" "4.2.2" + dependencies: + "lodash" "^4.17.15" + +"webpack-merge@^5.7.3": + "integrity" "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==" + "resolved" "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz" + "version" "5.8.0" + dependencies: + "clone-deep" "^4.0.1" + "wildcard" "^2.0.0" + +"webpack-sources@^1.1.0", "webpack-sources@^1.4.0", "webpack-sources@^1.4.1": + "integrity" "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==" + "resolved" "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz" + "version" "1.4.3" + dependencies: + "source-list-map" "^2.0.0" + "source-map" "~0.6.1" + +"webpack-sources@^3.2.3": + "integrity" "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" + "resolved" "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" + "version" "3.2.3" + +"webpack@^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0", "webpack@^3.0.0 || ^4.0.0", "webpack@^3.0.0 || ^4.1.0 || ^5.0.0-0", "webpack@^4.0.0", "webpack@^4.4.0", "webpack@^4.8.1": + "integrity" "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==" + "resolved" "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz" + "version" "4.46.0" dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-module-context" "1.9.0" "@webassemblyjs/wasm-edit" "1.9.0" "@webassemblyjs/wasm-parser" "1.9.0" - acorn "^6.4.1" - ajv "^6.10.2" - ajv-keywords "^3.4.1" - chrome-trace-event "^1.0.2" - enhanced-resolve "^4.5.0" - eslint-scope "^4.0.3" - json-parse-better-errors "^1.0.2" - loader-runner "^2.4.0" - loader-utils "^1.2.3" - memory-fs "^0.4.1" - micromatch "^3.1.10" - mkdirp "^0.5.3" - neo-async "^2.6.1" - node-libs-browser "^2.2.1" - schema-utils "^1.0.0" - tapable "^1.1.3" - terser-webpack-plugin "^1.4.3" - watchpack "^1.7.4" - webpack-sources "^1.4.1" - -webpack@^5.69.1: - version "5.69.1" - resolved "https://registry.npmjs.org/webpack/-/webpack-5.69.1.tgz" + "acorn" "^6.4.1" + "ajv" "^6.10.2" + "ajv-keywords" "^3.4.1" + "chrome-trace-event" "^1.0.2" + "enhanced-resolve" "^4.5.0" + "eslint-scope" "^4.0.3" + "json-parse-better-errors" "^1.0.2" + "loader-runner" "^2.4.0" + "loader-utils" "^1.2.3" + "memory-fs" "^0.4.1" + "micromatch" "^3.1.10" + "mkdirp" "^0.5.3" + "neo-async" "^2.6.1" + "node-libs-browser" "^2.2.1" + "schema-utils" "^1.0.0" + "tapable" "^1.1.3" + "terser-webpack-plugin" "^1.4.3" + "watchpack" "^1.7.4" + "webpack-sources" "^1.4.1" + +"webpack@^4.0.0 || ^5.0.0", "webpack@^4.37.0 || ^5.0.0", "webpack@^5.0.0", "webpack@^5.1.0", "webpack@^5.20.0", "webpack@^5.69.1", "webpack@>=2", "webpack@4.x.x || 5.x.x": + "integrity" "sha512-+VyvOSJXZMT2V5vLzOnDuMz5GxEqLk7hKWQ56YxPW/PQRUuKimPqmEIJOx8jHYeyo65pKbapbW464mvsKbaj4A==" + "resolved" "https://registry.npmjs.org/webpack/-/webpack-5.69.1.tgz" + "version" "5.69.1" dependencies: "@types/eslint-scope" "^3.7.3" "@types/estree" "^0.0.51" "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/wasm-edit" "1.11.1" "@webassemblyjs/wasm-parser" "1.11.1" - acorn "^8.4.1" - acorn-import-assertions "^1.7.6" - browserslist "^4.14.5" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.8.3" - es-module-lexer "^0.9.0" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.9" - json-parse-better-errors "^1.0.2" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.1.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.1.3" - watchpack "^2.3.1" - webpack-sources "^3.2.3" - -webpackbar@3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/webpackbar/-/webpackbar-3.2.0.tgz" - dependencies: - ansi-escapes "^4.1.0" - chalk "^2.4.1" - consola "^2.6.0" - figures "^3.0.0" - pretty-time "^1.1.0" - std-env "^2.2.1" - text-table "^0.2.0" - wrap-ansi "^5.1.0" - -websocket-driver@>=0.5.1, websocket-driver@^0.7.4: - version "0.7.4" - resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz" - dependencies: - http-parser-js ">=0.5.1" - safe-buffer ">=5.1.0" - websocket-extensions ">=0.1.1" - -websocket-extensions@>=0.1.1: - version "0.1.4" - resolved "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz" - -whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3: - version "1.0.5" - resolved "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz" - dependencies: - iconv-lite "0.4.24" - -whatwg-fetch@^3.6.2: - version "3.6.2" - resolved "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz" - -whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0: - version "2.3.0" - resolved "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz" - -whatwg-url@^6.4.1: - version "6.5.0" - resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz" - dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.1" - webidl-conversions "^4.0.2" - -whatwg-url@^7.0.0: - version "7.1.0" - resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz" - dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.1" - webidl-conversions "^4.0.2" - -when@~3.6.x: - version "3.6.4" - resolved "https://registry.npmjs.org/when/-/when-3.6.4.tgz" - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz" - -which@^1.2.10, which@^1.2.9, which@^1.3.0: - version "1.3.1" - resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" - dependencies: - isexe "^2.0.0" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" - dependencies: - isexe "^2.0.0" - -widest-line@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz" - dependencies: - string-width "^4.0.0" - -wildcard@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz" - -word-wrap@^1.2.3, word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" - -wordwrap@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz" - -worker-farm@^1.7.0: - version "1.7.0" - resolved "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz" - dependencies: - errno "~0.1.7" - -wrap-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz" - dependencies: - string-width "^2.1.1" - strip-ansi "^4.0.0" - -wrap-ansi@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz" - dependencies: - ansi-styles "^3.2.0" - string-width "^3.0.0" - strip-ansi "^5.0.0" - -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz" - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - -write-file-atomic@2.4.1: - version "2.4.1" - resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz" - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - signal-exit "^3.0.2" - -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -ws@^5.2.0: - version "5.2.3" - resolved "https://registry.npmjs.org/ws/-/ws-5.2.3.tgz" - dependencies: - async-limiter "~1.0.0" - -ws@^6.2.1: - version "6.2.2" - resolved "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz" - dependencies: - async-limiter "~1.0.0" - -ws@^8.4.2: - version "8.5.0" - resolved "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz" - -xdg-basedir@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz" - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz" - -xtend@^4.0.0, xtend@^4.0.2, xtend@~4.0.0, xtend@~4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" - -y18n@^4.0.0: - version "4.0.3" - resolved "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz" - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" - -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz" - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - -yargs-parser@^13.1.2: - version "13.1.2" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz" - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^18.1.2: - version "18.1.3" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz" - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^20.2.2, yargs-parser@^20.2.3: - version "20.2.7" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz" - -yargs-parser@^21.0.0: - version "21.0.0" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.0.tgz" - -yargs@^13.3.0, yargs@^13.3.2: - version "13.3.2" - resolved "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz" - dependencies: - cliui "^5.0.0" - find-up "^3.0.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^13.1.2" - -yargs@^15.3.1: - version "15.4.1" - resolved "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz" - dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^18.1.2" - -yargs@^16.0.0, yargs@^16.2.0: - version "16.2.0" - resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" - -yargs@^17.2.1: - version "17.3.1" - resolved "https://registry.npmjs.org/yargs/-/yargs-17.3.1.tgz" - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.0.0" - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" - -yup@^0.27.0: - version "0.27.0" - resolved "https://registry.npmjs.org/yup/-/yup-0.27.0.tgz" + "acorn" "^8.4.1" + "acorn-import-assertions" "^1.7.6" + "browserslist" "^4.14.5" + "chrome-trace-event" "^1.0.2" + "enhanced-resolve" "^5.8.3" + "es-module-lexer" "^0.9.0" + "eslint-scope" "5.1.1" + "events" "^3.2.0" + "glob-to-regexp" "^0.4.1" + "graceful-fs" "^4.2.9" + "json-parse-better-errors" "^1.0.2" + "loader-runner" "^4.2.0" + "mime-types" "^2.1.27" + "neo-async" "^2.6.2" + "schema-utils" "^3.1.0" + "tapable" "^2.1.1" + "terser-webpack-plugin" "^5.1.3" + "watchpack" "^2.3.1" + "webpack-sources" "^3.2.3" + +"webpackbar@3.2.0": + "integrity" "sha512-PC4o+1c8gWWileUfwabe0gqptlXUDJd5E0zbpr2xHP1VSOVlZVPBZ8j6NCR8zM5zbKdxPhctHXahgpNK1qFDPw==" + "resolved" "https://registry.npmjs.org/webpackbar/-/webpackbar-3.2.0.tgz" + "version" "3.2.0" + dependencies: + "ansi-escapes" "^4.1.0" + "chalk" "^2.4.1" + "consola" "^2.6.0" + "figures" "^3.0.0" + "pretty-time" "^1.1.0" + "std-env" "^2.2.1" + "text-table" "^0.2.0" + "wrap-ansi" "^5.1.0" + +"websocket-driver@^0.7.4", "websocket-driver@>=0.5.1": + "integrity" "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==" + "resolved" "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz" + "version" "0.7.4" + dependencies: + "http-parser-js" ">=0.5.1" + "safe-buffer" ">=5.1.0" + "websocket-extensions" ">=0.1.1" + +"websocket-extensions@>=0.1.1": + "integrity" "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" + "resolved" "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz" + "version" "0.1.4" + +"whatwg-encoding@^1.0.1", "whatwg-encoding@^1.0.3": + "integrity" "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==" + "resolved" "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz" + "version" "1.0.5" + dependencies: + "iconv-lite" "0.4.24" + +"whatwg-fetch@^3.6.2": + "integrity" "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==" + "resolved" "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz" + "version" "3.6.2" + +"whatwg-mimetype@^2.1.0", "whatwg-mimetype@^2.2.0": + "integrity" "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + "resolved" "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz" + "version" "2.3.0" + +"whatwg-url@^6.4.1": + "integrity" "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==" + "resolved" "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz" + "version" "6.5.0" + dependencies: + "lodash.sortby" "^4.7.0" + "tr46" "^1.0.1" + "webidl-conversions" "^4.0.2" + +"whatwg-url@^7.0.0": + "integrity" "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==" + "resolved" "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz" + "version" "7.1.0" + dependencies: + "lodash.sortby" "^4.7.0" + "tr46" "^1.0.1" + "webidl-conversions" "^4.0.2" + +"when@~3.6.x": + "integrity" "sha1-RztRfsFZ4rhQBUl6E5g/CVQS404=" + "resolved" "https://registry.npmjs.org/when/-/when-3.6.4.tgz" + "version" "3.6.4" + +"which-boxed-primitive@^1.0.2": + "integrity" "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==" + "resolved" "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "is-bigint" "^1.0.1" + "is-boolean-object" "^1.1.0" + "is-number-object" "^1.0.4" + "is-string" "^1.0.5" + "is-symbol" "^1.0.3" + +"which-module@^2.0.0": + "integrity" "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + "resolved" "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz" + "version" "2.0.0" + +"which@^1.2.10": + "integrity" "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==" + "resolved" "https://registry.npmjs.org/which/-/which-1.3.1.tgz" + "version" "1.3.1" + dependencies: + "isexe" "^2.0.0" + +"which@^1.2.9": + "integrity" "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==" + "resolved" "https://registry.npmjs.org/which/-/which-1.3.1.tgz" + "version" "1.3.1" + dependencies: + "isexe" "^2.0.0" + +"which@^1.3.0": + "integrity" "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==" + "resolved" "https://registry.npmjs.org/which/-/which-1.3.1.tgz" + "version" "1.3.1" + dependencies: + "isexe" "^2.0.0" + +"which@^2.0.1": + "integrity" "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" + "resolved" "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "isexe" "^2.0.0" + +"widest-line@^3.1.0": + "integrity" "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==" + "resolved" "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "string-width" "^4.0.0" + +"wildcard@^2.0.0": + "integrity" "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==" + "resolved" "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz" + "version" "2.0.0" + +"word-wrap@^1.2.3", "word-wrap@~1.2.3": + "integrity" "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" + "resolved" "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" + "version" "1.2.3" + +"wordwrap@^1.0.0": + "integrity" "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" + "resolved" "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz" + "version" "1.0.0" + +"worker-farm@^1.7.0": + "integrity" "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==" + "resolved" "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz" + "version" "1.7.0" + dependencies: + "errno" "~0.1.7" + +"wrap-ansi@^3.0.1": + "integrity" "sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo=" + "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "string-width" "^2.1.1" + "strip-ansi" "^4.0.0" + +"wrap-ansi@^5.1.0": + "integrity" "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==" + "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz" + "version" "5.1.0" + dependencies: + "ansi-styles" "^3.2.0" + "string-width" "^3.0.0" + "strip-ansi" "^5.0.0" + +"wrap-ansi@^6.2.0": + "integrity" "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==" + "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz" + "version" "6.2.0" + dependencies: + "ansi-styles" "^4.0.0" + "string-width" "^4.1.0" + "strip-ansi" "^6.0.0" + +"wrap-ansi@^7.0.0": + "integrity" "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==" + "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + "version" "7.0.0" + dependencies: + "ansi-styles" "^4.0.0" + "string-width" "^4.1.0" + "strip-ansi" "^6.0.0" + +"wrappy@1": + "integrity" "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + "version" "1.0.2" + +"write-file-atomic@^3.0.0": + "integrity" "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==" + "resolved" "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" + "version" "3.0.3" + dependencies: + "imurmurhash" "^0.1.4" + "is-typedarray" "^1.0.0" + "signal-exit" "^3.0.2" + "typedarray-to-buffer" "^3.1.5" + +"write-file-atomic@2.4.1": + "integrity" "sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==" + "resolved" "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz" + "version" "2.4.1" + dependencies: + "graceful-fs" "^4.1.11" + "imurmurhash" "^0.1.4" + "signal-exit" "^3.0.2" + +"ws@^5.2.0": + "integrity" "sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA==" + "resolved" "https://registry.npmjs.org/ws/-/ws-5.2.3.tgz" + "version" "5.2.3" + dependencies: + "async-limiter" "~1.0.0" + +"ws@^6.2.1": + "integrity" "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==" + "resolved" "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz" + "version" "6.2.2" + dependencies: + "async-limiter" "~1.0.0" + +"ws@^8.4.2": + "integrity" "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==" + "resolved" "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz" + "version" "8.5.0" + +"xdg-basedir@^4.0.0": + "integrity" "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==" + "resolved" "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz" + "version" "4.0.0" + +"xml-name-validator@^3.0.0": + "integrity" "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + "resolved" "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz" + "version" "3.0.0" + +"xtend@^4.0.0", "xtend@^4.0.2", "xtend@~4.0.0", "xtend@~4.0.1": + "integrity" "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + "resolved" "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" + "version" "4.0.2" + +"y18n@^4.0.0": + "integrity" "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + "resolved" "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz" + "version" "4.0.3" + +"y18n@^5.0.5": + "integrity" "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + "resolved" "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" + "version" "5.0.8" + +"yallist@^2.1.2": + "integrity" "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + "resolved" "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz" + "version" "2.1.2" + +"yallist@^3.0.2": + "integrity" "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "resolved" "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + "version" "3.1.1" + +"yallist@^4.0.0": + "integrity" "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "resolved" "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + "version" "4.0.0" + +"yargs-parser@^13.1.2": + "integrity" "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==" + "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz" + "version" "13.1.2" + dependencies: + "camelcase" "^5.0.0" + "decamelize" "^1.2.0" + +"yargs-parser@^18.1.2": + "integrity" "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==" + "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz" + "version" "18.1.3" + dependencies: + "camelcase" "^5.0.0" + "decamelize" "^1.2.0" + +"yargs-parser@^20.2.2", "yargs-parser@^20.2.3": + "integrity" "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==" + "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz" + "version" "20.2.7" + +"yargs-parser@^21.0.0": + "integrity" "sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==" + "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.0.tgz" + "version" "21.0.0" + +"yargs@^13.3.0": + "integrity" "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==" + "resolved" "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz" + "version" "13.3.2" + dependencies: + "cliui" "^5.0.0" + "find-up" "^3.0.0" + "get-caller-file" "^2.0.1" + "require-directory" "^2.1.1" + "require-main-filename" "^2.0.0" + "set-blocking" "^2.0.0" + "string-width" "^3.0.0" + "which-module" "^2.0.0" + "y18n" "^4.0.0" + "yargs-parser" "^13.1.2" + +"yargs@^13.3.2": + "integrity" "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==" + "resolved" "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz" + "version" "13.3.2" + dependencies: + "cliui" "^5.0.0" + "find-up" "^3.0.0" + "get-caller-file" "^2.0.1" + "require-directory" "^2.1.1" + "require-main-filename" "^2.0.0" + "set-blocking" "^2.0.0" + "string-width" "^3.0.0" + "which-module" "^2.0.0" + "y18n" "^4.0.0" + "yargs-parser" "^13.1.2" + +"yargs@^15.3.1": + "integrity" "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==" + "resolved" "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz" + "version" "15.4.1" + dependencies: + "cliui" "^6.0.0" + "decamelize" "^1.2.0" + "find-up" "^4.1.0" + "get-caller-file" "^2.0.1" + "require-directory" "^2.1.1" + "require-main-filename" "^2.0.0" + "set-blocking" "^2.0.0" + "string-width" "^4.2.0" + "which-module" "^2.0.0" + "y18n" "^4.0.0" + "yargs-parser" "^18.1.2" + +"yargs@^16.0.0": + "integrity" "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==" + "resolved" "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" + "version" "16.2.0" + dependencies: + "cliui" "^7.0.2" + "escalade" "^3.1.1" + "get-caller-file" "^2.0.5" + "require-directory" "^2.1.1" + "string-width" "^4.2.0" + "y18n" "^5.0.5" + "yargs-parser" "^20.2.2" + +"yargs@^16.2.0": + "integrity" "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==" + "resolved" "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" + "version" "16.2.0" + dependencies: + "cliui" "^7.0.2" + "escalade" "^3.1.1" + "get-caller-file" "^2.0.5" + "require-directory" "^2.1.1" + "string-width" "^4.2.0" + "y18n" "^5.0.5" + "yargs-parser" "^20.2.2" + +"yargs@^17.2.1": + "integrity" "sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==" + "resolved" "https://registry.npmjs.org/yargs/-/yargs-17.3.1.tgz" + "version" "17.3.1" + dependencies: + "cliui" "^7.0.2" + "escalade" "^3.1.1" + "get-caller-file" "^2.0.5" + "require-directory" "^2.1.1" + "string-width" "^4.2.3" + "y18n" "^5.0.5" + "yargs-parser" "^21.0.0" + +"yocto-queue@^0.1.0": + "integrity" "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" + "resolved" "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + "version" "0.1.0" + +"yup@^0.27.0": + "integrity" "sha512-v1yFnE4+u9za42gG/b/081E7uNW9mUj3qtkmelLbW5YPROZzSH/KUUyJu9Wt8vxFJcT9otL/eZopS0YK1L5yPQ==" + "resolved" "https://registry.npmjs.org/yup/-/yup-0.27.0.tgz" + "version" "0.27.0" dependencies: "@babel/runtime" "^7.0.0" - fn-name "~2.0.1" - lodash "^4.17.11" - property-expr "^1.5.0" - synchronous-promise "^2.0.6" - toposort "^2.0.2" - -zepto@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/zepto/-/zepto-1.2.0.tgz" - -zwitch@^1.0.0: - version "1.0.5" - resolved "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz" + "fn-name" "~2.0.1" + "lodash" "^4.17.11" + "property-expr" "^1.5.0" + "synchronous-promise" "^2.0.6" + "toposort" "^2.0.2" + +"zepto@^1.2.0": + "integrity" "sha1-4Se9nmb9hGvl6rSME5SIL3wOT5g=" + "resolved" "https://registry.npmjs.org/zepto/-/zepto-1.2.0.tgz" + "version" "1.2.0" + +"zwitch@^1.0.0": + "integrity" "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==" + "resolved" "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz" + "version" "1.0.5"