Files
mixtape/zero.Web.UI/dist/_assets/index.js
T
2021-01-06 12:30:24 +01:00

32 lines
1.4 MiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"use strict";
/*!
* Vue.js v2.6.12
* (c) 2014-2020 Evan You
* Released under the MIT License.
*/var e=Object.freeze({});function n(e){return null==e}function t(e){return null!=e}function r(e){return!0===e}function i(e){return"string"==typeof e||"number"==typeof e||"symbol"==typeof e||"boolean"==typeof e}function o(e){return null!==e&&"object"==typeof e}var a=Object.prototype.toString;function s(e){return"[object Object]"===a.call(e)}function l(e){var n=parseFloat(String(e));return n>=0&&Math.floor(n)===n&&isFinite(e)}function c(e){return t(e)&&"function"==typeof e.then&&"function"==typeof e.catch}function d(e){return null==e?"":Array.isArray(e)||s(e)&&e.toString===a?JSON.stringify(e,null,2):String(e)}function u(e){var n=parseFloat(e);return isNaN(n)?e:n}function p(e,n){for(var t=Object.create(null),r=e.split(","),i=0;i<r.length;i++)t[r[i]]=!0;return n?function(e){return t[e.toLowerCase()]}:function(e){return t[e]}}p("slot,component",!0);var f=p("key,ref,slot,slot-scope,is");function A(e,n){if(e.length){var t=e.indexOf(n);if(t>-1)return e.splice(t,1)}}var h=Object.prototype.hasOwnProperty;function m(e,n){return h.call(e,n)}function g(e){var n=Object.create(null);return function(t){return n[t]||(n[t]=e(t))}}var v=/-(\w)/g,b=g((function(e){return e.replace(v,(function(e,n){return n?n.toUpperCase():""}))})),y=g((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})),C=/\B([A-Z])/g,E=g((function(e){return e.replace(C,"-$1").toLowerCase()}));var x=Function.prototype.bind?function(e,n){return e.bind(n)}:function(e,n){function t(t){var r=arguments.length;return r?r>1?e.apply(n,arguments):e.call(n,t):e.call(n)}return t._length=e.length,t};function w(e,n){n=n||0;for(var t=e.length-n,r=new Array(t);t--;)r[t]=e[t+n];return r}function k(e,n){for(var t in n)e[t]=n[t];return e}function _(e){for(var n={},t=0;t<e.length;t++)e[t]&&k(n,e[t]);return n}function S(e,n,t){}var D=function(e,n,t){return!1},B=function(e){return e};function z(e,n){if(e===n)return!0;var t=o(e),r=o(n);if(!t||!r)return!t&&!r&&String(e)===String(n);try{var i=Array.isArray(e),a=Array.isArray(n);if(i&&a)return e.length===n.length&&e.every((function(e,t){return z(e,n[t])}));if(e instanceof Date&&n instanceof Date)return e.getTime()===n.getTime();if(i||a)return!1;var s=Object.keys(e),l=Object.keys(n);return s.length===l.length&&s.every((function(t){return z(e[t],n[t])}))}catch(e){return!1}}function O(e,n){for(var t=0;t<e.length;t++)if(z(e[t],n))return t;return-1}function M(e){var n=!1;return function(){n||(n=!0,e.apply(this,arguments))}}var T=["component","directive","filter"],I=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured","serverPrefetch"],$={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:D,isReservedAttr:D,isUnknownElement:D,getTagNamespace:S,parsePlatformTagName:B,mustUseProp:D,async:!0,_lifecycleHooks:I};function N(e){var n=(e+"").charCodeAt(0);return 36===n||95===n}function R(e,n,t,r){Object.defineProperty(e,n,{value:t,enumerable:!!r,writable:!0,configurable:!0})}var F=new RegExp("[^"+/a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/.source+".$_\\d]");var L,P="__proto__"in{},j="undefined"!=typeof window,Y="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,U=Y&&WXEnvironment.platform.toLowerCase(),q=j&&window.navigator.userAgent.toLowerCase(),H=q&&/msie|trident/.test(q),W=q&&q.indexOf("msie 9.0")>0,V=q&&q.indexOf("edge/")>0,J=(q&&q.indexOf("android"),q&&/iphone|ipad|ipod|ios/.test(q)||"ios"===U),K=(q&&/chrome\/\d+/.test(q),q&&/phantomjs/.test(q),q&&q.match(/firefox\/(\d+)/)),G={}.watch,X=!1;if(j)try{var Q={};Object.defineProperty(Q,"passive",{get:function(){X=!0}}),window.addEventListener("test-passive",null,Q)}catch(e){}var Z=function(){return void 0===L&&(L=!j&&!Y&&"undefined"!=typeof global&&(global.process&&"server"===global.process.env.VUE_ENV)),L},ee=j&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function ne(e){return"function"==typeof e&&/native code/.test(e.toString())}var te,re="undefined"!=typeof Symbol&&ne(Symbol)&&"undefined"!=typeof Reflect&&ne(Reflect.ownKeys);te="undefined"!=typeof Set&&ne(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var ie=S,oe=0,ae=function(){this.id=oe++,this.subs=[]};ae.prototype.addSub=function(e){this.subs.push(e)},ae.prototype.removeSub=function(e){A(this.subs,e)},ae.prototype.depend=function(){ae.target&&ae.target.addDep(this)},ae.prototype.notify=function(){for(var e=this.subs.slice(),n=0,t=e.length;n<t;n++)e[n].update()},ae.target=null;var se=[];function le(e){se.push(e),ae.target=e}function ce(){se.pop(),ae.target=se[se.length-1]}var de=function(e,n,t,r,i,o,a,s){this.tag=e,this.data=n,this.children=t,this.text=r,this.elm=i,this.ns=void 0,this.context=o,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=n&&n.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1},ue={child:{configurable:!0}};ue.child.get=function(){return this.componentInstance},Object.defineProperties(de.prototype,ue);var pe=function(e){void 0===e&&(e="");var n=new de;return n.text=e,n.isComment=!0,n};function fe(e){return new de(void 0,void 0,void 0,String(e))}function Ae(e){var n=new de(e.tag,e.data,e.children&&e.children.slice(),e.text,e.elm,e.context,e.componentOptions,e.asyncFactory);return n.ns=e.ns,n.isStatic=e.isStatic,n.key=e.key,n.isComment=e.isComment,n.fnContext=e.fnContext,n.fnOptions=e.fnOptions,n.fnScopeId=e.fnScopeId,n.asyncMeta=e.asyncMeta,n.isCloned=!0,n}var he=Array.prototype,me=Object.create(he);["push","pop","shift","unshift","splice","sort","reverse"].forEach((function(e){var n=he[e];R(me,e,(function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var i,o=n.apply(this,t),a=this.__ob__;switch(e){case"push":case"unshift":i=t;break;case"splice":i=t.slice(2)}return i&&a.observeArray(i),a.dep.notify(),o}))}));var ge=Object.getOwnPropertyNames(me),ve=!0;function be(e){ve=e}var ye=function(e){var n;this.value=e,this.dep=new ae,this.vmCount=0,R(e,"__ob__",this),Array.isArray(e)?(P?(n=me,e.__proto__=n):function(e,n,t){for(var r=0,i=t.length;r<i;r++){var o=t[r];R(e,o,n[o])}}(e,me,ge),this.observeArray(e)):this.walk(e)};function Ce(e,n){var t;if(o(e)&&!(e instanceof de))return m(e,"__ob__")&&e.__ob__ instanceof ye?t=e.__ob__:ve&&!Z()&&(Array.isArray(e)||s(e))&&Object.isExtensible(e)&&!e._isVue&&(t=new ye(e)),n&&t&&t.vmCount++,t}function Ee(e,n,t,r,i){var o=new ae,a=Object.getOwnPropertyDescriptor(e,n);if(!a||!1!==a.configurable){var s=a&&a.get,l=a&&a.set;s&&!l||2!==arguments.length||(t=e[n]);var c=!i&&Ce(t);Object.defineProperty(e,n,{enumerable:!0,configurable:!0,get:function(){var n=s?s.call(e):t;return ae.target&&(o.depend(),c&&(c.dep.depend(),Array.isArray(n)&&ke(n))),n},set:function(n){var r=s?s.call(e):t;n===r||n!=n&&r!=r||s&&!l||(l?l.call(e,n):t=n,c=!i&&Ce(n),o.notify())}})}}function xe(e,n,t){if(Array.isArray(e)&&l(n))return e.length=Math.max(e.length,n),e.splice(n,1,t),t;if(n in e&&!(n in Object.prototype))return e[n]=t,t;var r=e.__ob__;return e._isVue||r&&r.vmCount?t:r?(Ee(r.value,n,t),r.dep.notify(),t):(e[n]=t,t)}function we(e,n){if(Array.isArray(e)&&l(n))e.splice(n,1);else{var t=e.__ob__;e._isVue||t&&t.vmCount||m(e,n)&&(delete e[n],t&&t.dep.notify())}}function ke(e){for(var n=void 0,t=0,r=e.length;t<r;t++)(n=e[t])&&n.__ob__&&n.__ob__.dep.depend(),Array.isArray(n)&&ke(n)}ye.prototype.walk=function(e){for(var n=Object.keys(e),t=0;t<n.length;t++)Ee(e,n[t])},ye.prototype.observeArray=function(e){for(var n=0,t=e.length;n<t;n++)Ce(e[n])};var _e=$.optionMergeStrategies;function Se(e,n){if(!n)return e;for(var t,r,i,o=re?Reflect.ownKeys(n):Object.keys(n),a=0;a<o.length;a++)"__ob__"!==(t=o[a])&&(r=e[t],i=n[t],m(e,t)?r!==i&&s(r)&&s(i)&&Se(r,i):xe(e,t,i));return e}function De(e,n,t){return t?function(){var r="function"==typeof n?n.call(t,t):n,i="function"==typeof e?e.call(t,t):e;return r?Se(r,i):i}:n?e?function(){return Se("function"==typeof n?n.call(this,this):n,"function"==typeof e?e.call(this,this):e)}:n:e}function Be(e,n){var t=n?e?e.concat(n):Array.isArray(n)?n:[n]:e;return t?function(e){for(var n=[],t=0;t<e.length;t++)-1===n.indexOf(e[t])&&n.push(e[t]);return n}(t):t}function ze(e,n,t,r){var i=Object.create(e||null);return n?k(i,n):i}_e.data=function(e,n,t){return t?De(e,n,t):n&&"function"!=typeof n?e:De(e,n)},I.forEach((function(e){_e[e]=Be})),T.forEach((function(e){_e[e+"s"]=ze})),_e.watch=function(e,n,t,r){if(e===G&&(e=void 0),n===G&&(n=void 0),!n)return Object.create(e||null);if(!e)return n;var i={};for(var o in k(i,e),n){var a=i[o],s=n[o];a&&!Array.isArray(a)&&(a=[a]),i[o]=a?a.concat(s):Array.isArray(s)?s:[s]}return i},_e.props=_e.methods=_e.inject=_e.computed=function(e,n,t,r){if(!e)return n;var i=Object.create(null);return k(i,e),n&&k(i,n),i},_e.provide=De;var Oe=function(e,n){return void 0===n?e:n};function Me(e,n,t){if("function"==typeof n&&(n=n.options),function(e,n){var t=e.props;if(t){var r,i,o={};if(Array.isArray(t))for(r=t.length;r--;)"string"==typeof(i=t[r])&&(o[b(i)]={type:null});else if(s(t))for(var a in t)i=t[a],o[b(a)]=s(i)?i:{type:i};e.props=o}}(n),function(e,n){var t=e.inject;if(t){var r=e.inject={};if(Array.isArray(t))for(var i=0;i<t.length;i++)r[t[i]]={from:t[i]};else if(s(t))for(var o in t){var a=t[o];r[o]=s(a)?k({from:o},a):{from:a}}}}(n),function(e){var n=e.directives;if(n)for(var t in n){var r=n[t];"function"==typeof r&&(n[t]={bind:r,update:r})}}(n),!n._base&&(n.extends&&(e=Me(e,n.extends,t)),n.mixins))for(var r=0,i=n.mixins.length;r<i;r++)e=Me(e,n.mixins[r],t);var o,a={};for(o in e)l(o);for(o in n)m(e,o)||l(o);function l(r){var i=_e[r]||Oe;a[r]=i(e[r],n[r],t,r)}return a}function Te(e,n,t,r){if("string"==typeof t){var i=e[n];if(m(i,t))return i[t];var o=b(t);if(m(i,o))return i[o];var a=y(o);return m(i,a)?i[a]:i[t]||i[o]||i[a]}}function Ie(e,n,t,r){var i=n[e],o=!m(t,e),a=t[e],s=Re(Boolean,i.type);if(s>-1)if(o&&!m(i,"default"))a=!1;else if(""===a||a===E(e)){var l=Re(String,i.type);(l<0||s<l)&&(a=!0)}if(void 0===a){a=function(e,n,t){if(!m(n,"default"))return;var r=n.default;if(e&&e.$options.propsData&&void 0===e.$options.propsData[t]&&void 0!==e._props[t])return e._props[t];return"function"==typeof r&&"Function"!==$e(n.type)?r.call(e):r}(r,i,e);var c=ve;be(!0),Ce(a),be(c)}return a}function $e(e){var n=e&&e.toString().match(/^\s*function (\w+)/);return n?n[1]:""}function Ne(e,n){return $e(e)===$e(n)}function Re(e,n){if(!Array.isArray(n))return Ne(n,e)?0:-1;for(var t=0,r=n.length;t<r;t++)if(Ne(n[t],e))return t;return-1}function Fe(e,n,t){le();try{if(n)for(var r=n;r=r.$parent;){var i=r.$options.errorCaptured;if(i)for(var o=0;o<i.length;o++)try{if(!1===i[o].call(r,e,n,t))return}catch(e){Pe(e,r,"errorCaptured hook")}}Pe(e,n,t)}finally{ce()}}function Le(e,n,t,r,i){var o;try{(o=t?e.apply(n,t):e.call(n))&&!o._isVue&&c(o)&&!o._handled&&(o.catch((function(e){return Fe(e,r,i+" (Promise/async)")})),o._handled=!0)}catch(e){Fe(e,r,i)}return o}function Pe(e,n,t){if($.errorHandler)try{return $.errorHandler.call(null,e,n,t)}catch(n){n!==e&&je(n)}je(e)}function je(e,n,t){if(!j&&!Y||"undefined"==typeof console)throw e;console.error(e)}var Ye,Ue=!1,qe=[],He=!1;function We(){He=!1;var e=qe.slice(0);qe.length=0;for(var n=0;n<e.length;n++)e[n]()}if("undefined"!=typeof Promise&&ne(Promise)){var Ve=Promise.resolve();Ye=function(){Ve.then(We),J&&setTimeout(S)},Ue=!0}else if(H||"undefined"==typeof MutationObserver||!ne(MutationObserver)&&"[object MutationObserverConstructor]"!==MutationObserver.toString())Ye="undefined"!=typeof setImmediate&&ne(setImmediate)?function(){setImmediate(We)}:function(){setTimeout(We,0)};else{var Je=1,Ke=new MutationObserver(We),Ge=document.createTextNode(String(Je));Ke.observe(Ge,{characterData:!0}),Ye=function(){Je=(Je+1)%2,Ge.data=String(Je)},Ue=!0}function Xe(e,n){var t;if(qe.push((function(){if(e)try{e.call(n)}catch(e){Fe(e,n,"nextTick")}else t&&t(n)})),He||(He=!0,Ye()),!e&&"undefined"!=typeof Promise)return new Promise((function(e){t=e}))}var Qe=new te;function Ze(e){en(e,Qe),Qe.clear()}function en(e,n){var t,r,i=Array.isArray(e);if(!(!i&&!o(e)||Object.isFrozen(e)||e instanceof de)){if(e.__ob__){var a=e.__ob__.dep.id;if(n.has(a))return;n.add(a)}if(i)for(t=e.length;t--;)en(e[t],n);else for(t=(r=Object.keys(e)).length;t--;)en(e[r[t]],n)}}var nn=g((function(e){var n="&"===e.charAt(0),t="~"===(e=n?e.slice(1):e).charAt(0),r="!"===(e=t?e.slice(1):e).charAt(0);return{name:e=r?e.slice(1):e,once:t,capture:r,passive:n}}));function tn(e,n){function t(){var e=arguments,r=t.fns;if(!Array.isArray(r))return Le(r,null,arguments,n,"v-on handler");for(var i=r.slice(),o=0;o<i.length;o++)Le(i[o],null,e,n,"v-on handler")}return t.fns=e,t}function rn(e,t,i,o,a,s){var l,c,d,u;for(l in e)c=e[l],d=t[l],u=nn(l),n(c)||(n(d)?(n(c.fns)&&(c=e[l]=tn(c,s)),r(u.once)&&(c=e[l]=a(u.name,c,u.capture)),i(u.name,c,u.capture,u.passive,u.params)):c!==d&&(d.fns=c,e[l]=d));for(l in t)n(e[l])&&o((u=nn(l)).name,t[l],u.capture)}function on(e,i,o){var a;e instanceof de&&(e=e.data.hook||(e.data.hook={}));var s=e[i];function l(){o.apply(this,arguments),A(a.fns,l)}n(s)?a=tn([l]):t(s.fns)&&r(s.merged)?(a=s).fns.push(l):a=tn([s,l]),a.merged=!0,e[i]=a}function an(e,n,r,i,o){if(t(n)){if(m(n,r))return e[r]=n[r],o||delete n[r],!0;if(m(n,i))return e[r]=n[i],o||delete n[i],!0}return!1}function sn(e){return i(e)?[fe(e)]:Array.isArray(e)?cn(e):void 0}function ln(e){return t(e)&&t(e.text)&&!1===e.isComment}function cn(e,o){var a,s,l,c,d=[];for(a=0;a<e.length;a++)n(s=e[a])||"boolean"==typeof s||(c=d[l=d.length-1],Array.isArray(s)?s.length>0&&(ln((s=cn(s,(o||"")+"_"+a))[0])&&ln(c)&&(d[l]=fe(c.text+s[0].text),s.shift()),d.push.apply(d,s)):i(s)?ln(c)?d[l]=fe(c.text+s):""!==s&&d.push(fe(s)):ln(s)&&ln(c)?d[l]=fe(c.text+s.text):(r(e._isVList)&&t(s.tag)&&n(s.key)&&t(o)&&(s.key="__vlist"+o+"_"+a+"__"),d.push(s)));return d}function dn(e,n){if(e){for(var t=Object.create(null),r=re?Reflect.ownKeys(e):Object.keys(e),i=0;i<r.length;i++){var o=r[i];if("__ob__"!==o){for(var a=e[o].from,s=n;s;){if(s._provided&&m(s._provided,a)){t[o]=s._provided[a];break}s=s.$parent}if(!s&&"default"in e[o]){var l=e[o].default;t[o]="function"==typeof l?l.call(n):l}}}return t}}function un(e,n){if(!e||!e.length)return{};for(var t={},r=0,i=e.length;r<i;r++){var o=e[r],a=o.data;if(a&&a.attrs&&a.attrs.slot&&delete a.attrs.slot,o.context!==n&&o.fnContext!==n||!a||null==a.slot)(t.default||(t.default=[])).push(o);else{var s=a.slot,l=t[s]||(t[s]=[]);"template"===o.tag?l.push.apply(l,o.children||[]):l.push(o)}}for(var c in t)t[c].every(pn)&&delete t[c];return t}function pn(e){return e.isComment&&!e.asyncFactory||" "===e.text}function fn(n,t,r){var i,o=Object.keys(t).length>0,a=n?!!n.$stable:!o,s=n&&n.$key;if(n){if(n._normalized)return n._normalized;if(a&&r&&r!==e&&s===r.$key&&!o&&!r.$hasNormal)return r;for(var l in i={},n)n[l]&&"$"!==l[0]&&(i[l]=An(t,l,n[l]))}else i={};for(var c in t)c in i||(i[c]=hn(t,c));return n&&Object.isExtensible(n)&&(n._normalized=i),R(i,"$stable",a),R(i,"$key",s),R(i,"$hasNormal",o),i}function An(e,n,t){var r=function(){var e=arguments.length?t.apply(null,arguments):t({});return(e=e&&"object"==typeof e&&!Array.isArray(e)?[e]:sn(e))&&(0===e.length||1===e.length&&e[0].isComment)?void 0:e};return t.proxy&&Object.defineProperty(e,n,{get:r,enumerable:!0,configurable:!0}),r}function hn(e,n){return function(){return e[n]}}function mn(e,n){var r,i,a,s,l;if(Array.isArray(e)||"string"==typeof e)for(r=new Array(e.length),i=0,a=e.length;i<a;i++)r[i]=n(e[i],i);else if("number"==typeof e)for(r=new Array(e),i=0;i<e;i++)r[i]=n(i+1,i);else if(o(e))if(re&&e[Symbol.iterator]){r=[];for(var c=e[Symbol.iterator](),d=c.next();!d.done;)r.push(n(d.value,r.length)),d=c.next()}else for(s=Object.keys(e),r=new Array(s.length),i=0,a=s.length;i<a;i++)l=s[i],r[i]=n(e[l],l,i);return t(r)||(r=[]),r._isVList=!0,r}function gn(e,n,t,r){var i,o=this.$scopedSlots[e];o?(t=t||{},r&&(t=k(k({},r),t)),i=o(t)||n):i=this.$slots[e]||n;var a=t&&t.slot;return a?this.$createElement("template",{slot:a},i):i}function vn(e){return Te(this.$options,"filters",e)||B}function bn(e,n){return Array.isArray(e)?-1===e.indexOf(n):e!==n}function yn(e,n,t,r,i){var o=$.keyCodes[n]||t;return i&&r&&!$.keyCodes[n]?bn(i,r):o?bn(o,e):r?E(r)!==n:void 0}function Cn(e,n,t,r,i){if(t)if(o(t)){var a;Array.isArray(t)&&(t=_(t));var s=function(o){if("class"===o||"style"===o||f(o))a=e;else{var s=e.attrs&&e.attrs.type;a=r||$.mustUseProp(n,s,o)?e.domProps||(e.domProps={}):e.attrs||(e.attrs={})}var l=b(o),c=E(o);l in a||c in a||(a[o]=t[o],i&&((e.on||(e.on={}))["update:"+o]=function(e){t[o]=e}))};for(var l in t)s(l)}else;return e}function En(e,n){var t=this._staticTrees||(this._staticTrees=[]),r=t[e];return r&&!n||wn(r=t[e]=this.$options.staticRenderFns[e].call(this._renderProxy,null,this),"__static__"+e,!1),r}function xn(e,n,t){return wn(e,"__once__"+n+(t?"_"+t:""),!0),e}function wn(e,n,t){if(Array.isArray(e))for(var r=0;r<e.length;r++)e[r]&&"string"!=typeof e[r]&&kn(e[r],n+"_"+r,t);else kn(e,n,t)}function kn(e,n,t){e.isStatic=!0,e.key=n,e.isOnce=t}function _n(e,n){if(n)if(s(n)){var t=e.on=e.on?k({},e.on):{};for(var r in n){var i=t[r],o=n[r];t[r]=i?[].concat(i,o):o}}else;return e}function Sn(e,n,t,r){n=n||{$stable:!t};for(var i=0;i<e.length;i++){var o=e[i];Array.isArray(o)?Sn(o,n,t):o&&(o.proxy&&(o.fn.proxy=!0),n[o.key]=o.fn)}return r&&(n.$key=r),n}function Dn(e,n){for(var t=0;t<n.length;t+=2){var r=n[t];"string"==typeof r&&r&&(e[n[t]]=n[t+1])}return e}function Bn(e,n){return"string"==typeof e?n+e:e}function zn(e){e._o=xn,e._n=u,e._s=d,e._l=mn,e._t=gn,e._q=z,e._i=O,e._m=En,e._f=vn,e._k=yn,e._b=Cn,e._v=fe,e._e=pe,e._u=Sn,e._g=_n,e._d=Dn,e._p=Bn}function On(n,t,i,o,a){var s,l=this,c=a.options;m(o,"_uid")?(s=Object.create(o))._original=o:(s=o,o=o._original);var d=r(c._compiled),u=!d;this.data=n,this.props=t,this.children=i,this.parent=o,this.listeners=n.on||e,this.injections=dn(c.inject,o),this.slots=function(){return l.$slots||fn(n.scopedSlots,l.$slots=un(i,o)),l.$slots},Object.defineProperty(this,"scopedSlots",{enumerable:!0,get:function(){return fn(n.scopedSlots,this.slots())}}),d&&(this.$options=c,this.$slots=this.slots(),this.$scopedSlots=fn(n.scopedSlots,this.$slots)),c._scopeId?this._c=function(e,n,t,r){var i=Fn(s,e,n,t,r,u);return i&&!Array.isArray(i)&&(i.fnScopeId=c._scopeId,i.fnContext=o),i}:this._c=function(e,n,t,r){return Fn(s,e,n,t,r,u)}}function Mn(e,n,t,r,i){var o=Ae(e);return o.fnContext=t,o.fnOptions=r,n.slot&&((o.data||(o.data={})).slot=n.slot),o}function Tn(e,n){for(var t in n)e[b(t)]=n[t]}zn(On.prototype);var In={init:function(e,n){if(e.componentInstance&&!e.componentInstance._isDestroyed&&e.data.keepAlive){var r=e;In.prepatch(r,r)}else{(e.componentInstance=function(e,n){var r={_isComponent:!0,_parentVnode:e,parent:n},i=e.data.inlineTemplate;t(i)&&(r.render=i.render,r.staticRenderFns=i.staticRenderFns);return new e.componentOptions.Ctor(r)}(e,Kn)).$mount(n?e.elm:void 0,n)}},prepatch:function(n,t){var r=t.componentOptions;!function(n,t,r,i,o){var a=i.data.scopedSlots,s=n.$scopedSlots,l=!!(a&&!a.$stable||s!==e&&!s.$stable||a&&n.$scopedSlots.$key!==a.$key),c=!!(o||n.$options._renderChildren||l);n.$options._parentVnode=i,n.$vnode=i,n._vnode&&(n._vnode.parent=i);if(n.$options._renderChildren=o,n.$attrs=i.data.attrs||e,n.$listeners=r||e,t&&n.$options.props){be(!1);for(var d=n._props,u=n.$options._propKeys||[],p=0;p<u.length;p++){var f=u[p],A=n.$options.props;d[f]=Ie(f,A,t,n)}be(!0),n.$options.propsData=t}r=r||e;var h=n.$options._parentListeners;n.$options._parentListeners=r,Jn(n,r,h),c&&(n.$slots=un(o,i.context),n.$forceUpdate())}(t.componentInstance=n.componentInstance,r.propsData,r.listeners,t,r.children)},insert:function(e){var n,t=e.context,r=e.componentInstance;r._isMounted||(r._isMounted=!0,et(r,"mounted")),e.data.keepAlive&&(t._isMounted?((n=r)._inactive=!1,tt.push(n)):Qn(r,!0))},destroy:function(e){var n=e.componentInstance;n._isDestroyed||(e.data.keepAlive?Zn(n,!0):n.$destroy())}},$n=Object.keys(In);function Nn(i,a,s,l,d){if(!n(i)){var u=s.$options._base;if(o(i)&&(i=u.extend(i)),"function"==typeof i){var p;if(n(i.cid)&&void 0===(i=function(e,i){if(r(e.error)&&t(e.errorComp))return e.errorComp;if(t(e.resolved))return e.resolved;var a=jn;a&&t(e.owners)&&-1===e.owners.indexOf(a)&&e.owners.push(a);if(r(e.loading)&&t(e.loadingComp))return e.loadingComp;if(a&&!t(e.owners)){var s=e.owners=[a],l=!0,d=null,u=null;a.$on("hook:destroyed",(function(){return A(s,a)}));var p=function(e){for(var n=0,t=s.length;n<t;n++)s[n].$forceUpdate();e&&(s.length=0,null!==d&&(clearTimeout(d),d=null),null!==u&&(clearTimeout(u),u=null))},f=M((function(n){e.resolved=Yn(n,i),l?s.length=0:p(!0)})),h=M((function(n){t(e.errorComp)&&(e.error=!0,p(!0))})),m=e(f,h);return o(m)&&(c(m)?n(e.resolved)&&m.then(f,h):c(m.component)&&(m.component.then(f,h),t(m.error)&&(e.errorComp=Yn(m.error,i)),t(m.loading)&&(e.loadingComp=Yn(m.loading,i),0===m.delay?e.loading=!0:d=setTimeout((function(){d=null,n(e.resolved)&&n(e.error)&&(e.loading=!0,p(!1))}),m.delay||200)),t(m.timeout)&&(u=setTimeout((function(){u=null,n(e.resolved)&&h(null)}),m.timeout)))),l=!1,e.loading?e.loadingComp:e.resolved}}(p=i,u)))return function(e,n,t,r,i){var o=pe();return o.asyncFactory=e,o.asyncMeta={data:n,context:t,children:r,tag:i},o}(p,a,s,l,d);a=a||{},Et(i),t(a.model)&&function(e,n){var r=e.model&&e.model.prop||"value",i=e.model&&e.model.event||"input";(n.attrs||(n.attrs={}))[r]=n.model.value;var o=n.on||(n.on={}),a=o[i],s=n.model.callback;t(a)?(Array.isArray(a)?-1===a.indexOf(s):a!==s)&&(o[i]=[s].concat(a)):o[i]=s}(i.options,a);var f=function(e,r,i){var o=r.options.props;if(!n(o)){var a={},s=e.attrs,l=e.props;if(t(s)||t(l))for(var c in o){var d=E(c);an(a,l,c,d,!0)||an(a,s,c,d,!1)}return a}}(a,i);if(r(i.options.functional))return function(n,r,i,o,a){var s=n.options,l={},c=s.props;if(t(c))for(var d in c)l[d]=Ie(d,c,r||e);else t(i.attrs)&&Tn(l,i.attrs),t(i.props)&&Tn(l,i.props);var u=new On(i,l,a,o,n),p=s.render.call(null,u._c,u);if(p instanceof de)return Mn(p,i,u.parent,s);if(Array.isArray(p)){for(var f=sn(p)||[],A=new Array(f.length),h=0;h<f.length;h++)A[h]=Mn(f[h],i,u.parent,s);return A}}(i,f,a,s,l);var h=a.on;if(a.on=a.nativeOn,r(i.options.abstract)){var m=a.slot;a={},m&&(a.slot=m)}!function(e){for(var n=e.hook||(e.hook={}),t=0;t<$n.length;t++){var r=$n[t],i=n[r],o=In[r];i===o||i&&i._merged||(n[r]=i?Rn(o,i):o)}}(a);var g=i.options.name||d;return new de("vue-component-"+i.cid+(g?"-"+g:""),a,void 0,void 0,void 0,s,{Ctor:i,propsData:f,listeners:h,tag:d,children:l},p)}}}function Rn(e,n){var t=function(t,r){e(t,r),n(t,r)};return t._merged=!0,t}function Fn(e,n,a,s,l,c){return(Array.isArray(a)||i(a))&&(l=s,s=a,a=void 0),r(c)&&(l=2),function(e,n,r,i,a){if(t(r)&&t(r.__ob__))return pe();t(r)&&t(r.is)&&(n=r.is);if(!n)return pe();Array.isArray(i)&&"function"==typeof i[0]&&((r=r||{}).scopedSlots={default:i[0]},i.length=0);2===a?i=sn(i):1===a&&(i=function(e){for(var n=0;n<e.length;n++)if(Array.isArray(e[n]))return Array.prototype.concat.apply([],e);return e}(i));var s,l;if("string"==typeof n){var c;l=e.$vnode&&e.$vnode.ns||$.getTagNamespace(n),s=$.isReservedTag(n)?new de($.parsePlatformTagName(n),r,i,void 0,void 0,e):r&&r.pre||!t(c=Te(e.$options,"components",n))?new de(n,r,i,void 0,void 0,e):Nn(c,r,e,i,n)}else s=Nn(n,r,e,i);return Array.isArray(s)?s:t(s)?(t(l)&&Ln(s,l),t(r)&&function(e){o(e.style)&&Ze(e.style);o(e.class)&&Ze(e.class)}(r),s):pe()}(e,n,a,s,l)}function Ln(e,i,o){if(e.ns=i,"foreignObject"===e.tag&&(i=void 0,o=!0),t(e.children))for(var a=0,s=e.children.length;a<s;a++){var l=e.children[a];t(l.tag)&&(n(l.ns)||r(o)&&"svg"!==l.tag)&&Ln(l,i,o)}}var Pn,jn=null;function Yn(e,n){return(e.__esModule||re&&"Module"===e[Symbol.toStringTag])&&(e=e.default),o(e)?n.extend(e):e}function Un(e){return e.isComment&&e.asyncFactory}function qn(e){if(Array.isArray(e))for(var n=0;n<e.length;n++){var r=e[n];if(t(r)&&(t(r.componentOptions)||Un(r)))return r}}function Hn(e,n){Pn.$on(e,n)}function Wn(e,n){Pn.$off(e,n)}function Vn(e,n){var t=Pn;return function r(){var i=n.apply(null,arguments);null!==i&&t.$off(e,r)}}function Jn(e,n,t){Pn=e,rn(n,t||{},Hn,Wn,Vn,e),Pn=void 0}var Kn=null;function Gn(e){var n=Kn;return Kn=e,function(){Kn=n}}function Xn(e){for(;e&&(e=e.$parent);)if(e._inactive)return!0;return!1}function Qn(e,n){if(n){if(e._directInactive=!1,Xn(e))return}else if(e._directInactive)return;if(e._inactive||null===e._inactive){e._inactive=!1;for(var t=0;t<e.$children.length;t++)Qn(e.$children[t]);et(e,"activated")}}function Zn(e,n){if(!(n&&(e._directInactive=!0,Xn(e))||e._inactive)){e._inactive=!0;for(var t=0;t<e.$children.length;t++)Zn(e.$children[t]);et(e,"deactivated")}}function et(e,n){le();var t=e.$options[n],r=n+" hook";if(t)for(var i=0,o=t.length;i<o;i++)Le(t[i],e,null,e,r);e._hasHookEvent&&e.$emit("hook:"+n),ce()}var nt=[],tt=[],rt={},it=!1,ot=!1,at=0;var st=0,lt=Date.now;if(j&&!H){var ct=window.performance;ct&&"function"==typeof ct.now&&lt()>document.createEvent("Event").timeStamp&&(lt=function(){return ct.now()})}function dt(){var e,n;for(st=lt(),ot=!0,nt.sort((function(e,n){return e.id-n.id})),at=0;at<nt.length;at++)(e=nt[at]).before&&e.before(),n=e.id,rt[n]=null,e.run();var t=tt.slice(),r=nt.slice();at=nt.length=tt.length=0,rt={},it=ot=!1,function(e){for(var n=0;n<e.length;n++)e[n]._inactive=!0,Qn(e[n],!0)}(t),function(e){var n=e.length;for(;n--;){var t=e[n],r=t.vm;r._watcher===t&&r._isMounted&&!r._isDestroyed&&et(r,"updated")}}(r),ee&&$.devtools&&ee.emit("flush")}var ut=0,pt=function(e,n,t,r,i){this.vm=e,i&&(e._watcher=this),e._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync,this.before=r.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=t,this.id=++ut,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new te,this.newDepIds=new te,this.expression="","function"==typeof n?this.getter=n:(this.getter=function(e){if(!F.test(e)){var n=e.split(".");return function(e){for(var t=0;t<n.length;t++){if(!e)return;e=e[n[t]]}return e}}}(n),this.getter||(this.getter=S)),this.value=this.lazy?void 0:this.get()};pt.prototype.get=function(){var e;le(this);var n=this.vm;try{e=this.getter.call(n,n)}catch(e){if(!this.user)throw e;Fe(e,n,'getter for watcher "'+this.expression+'"')}finally{this.deep&&Ze(e),ce(),this.cleanupDeps()}return e},pt.prototype.addDep=function(e){var n=e.id;this.newDepIds.has(n)||(this.newDepIds.add(n),this.newDeps.push(e),this.depIds.has(n)||e.addSub(this))},pt.prototype.cleanupDeps=function(){for(var e=this.deps.length;e--;){var n=this.deps[e];this.newDepIds.has(n.id)||n.removeSub(this)}var t=this.depIds;this.depIds=this.newDepIds,this.newDepIds=t,this.newDepIds.clear(),t=this.deps,this.deps=this.newDeps,this.newDeps=t,this.newDeps.length=0},pt.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():function(e){var n=e.id;if(null==rt[n]){if(rt[n]=!0,ot){for(var t=nt.length-1;t>at&&nt[t].id>e.id;)t--;nt.splice(t+1,0,e)}else nt.push(e);it||(it=!0,Xe(dt))}}(this)},pt.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||o(e)||this.deep){var n=this.value;if(this.value=e,this.user)try{this.cb.call(this.vm,e,n)}catch(e){Fe(e,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,e,n)}}},pt.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},pt.prototype.depend=function(){for(var e=this.deps.length;e--;)this.deps[e].depend()},pt.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||A(this.vm._watchers,this);for(var e=this.deps.length;e--;)this.deps[e].removeSub(this);this.active=!1}};var ft={enumerable:!0,configurable:!0,get:S,set:S};function At(e,n,t){ft.get=function(){return this[n][t]},ft.set=function(e){this[n][t]=e},Object.defineProperty(e,t,ft)}function ht(e){e._watchers=[];var n=e.$options;n.props&&function(e,n){var t=e.$options.propsData||{},r=e._props={},i=e.$options._propKeys=[];e.$parent&&be(!1);var o=function(o){i.push(o);var a=Ie(o,n,t,e);Ee(r,o,a),o in e||At(e,"_props",o)};for(var a in n)o(a);be(!0)}(e,n.props),n.methods&&function(e,n){e.$options.props;for(var t in n)e[t]="function"!=typeof n[t]?S:x(n[t],e)}(e,n.methods),n.data?function(e){var n=e.$options.data;s(n=e._data="function"==typeof n?function(e,n){le();try{return e.call(n,n)}catch(e){return Fe(e,n,"data()"),{}}finally{ce()}}(n,e):n||{})||(n={});var t=Object.keys(n),r=e.$options.props,i=(e.$options.methods,t.length);for(;i--;){var o=t[i];r&&m(r,o)||N(o)||At(e,"_data",o)}Ce(n,!0)}(e):Ce(e._data={},!0),n.computed&&function(e,n){var t=e._computedWatchers=Object.create(null),r=Z();for(var i in n){var o=n[i],a="function"==typeof o?o:o.get;r||(t[i]=new pt(e,a||S,S,mt)),i in e||gt(e,i,o)}}(e,n.computed),n.watch&&n.watch!==G&&function(e,n){for(var t in n){var r=n[t];if(Array.isArray(r))for(var i=0;i<r.length;i++)yt(e,t,r[i]);else yt(e,t,r)}}(e,n.watch)}var mt={lazy:!0};function gt(e,n,t){var r=!Z();"function"==typeof t?(ft.get=r?vt(n):bt(t),ft.set=S):(ft.get=t.get?r&&!1!==t.cache?vt(n):bt(t.get):S,ft.set=t.set||S),Object.defineProperty(e,n,ft)}function vt(e){return function(){var n=this._computedWatchers&&this._computedWatchers[e];if(n)return n.dirty&&n.evaluate(),ae.target&&n.depend(),n.value}}function bt(e){return function(){return e.call(this,this)}}function yt(e,n,t,r){return s(t)&&(r=t,t=t.handler),"string"==typeof t&&(t=e[t]),e.$watch(n,t,r)}var Ct=0;function Et(e){var n=e.options;if(e.super){var t=Et(e.super);if(t!==e.superOptions){e.superOptions=t;var r=function(e){var n,t=e.options,r=e.sealedOptions;for(var i in t)t[i]!==r[i]&&(n||(n={}),n[i]=t[i]);return n}(e);r&&k(e.extendOptions,r),(n=e.options=Me(t,e.extendOptions)).name&&(n.components[n.name]=e)}}return n}function xt(e){this._init(e)}function wt(e){e.cid=0;var n=1;e.extend=function(e){e=e||{};var t=this,r=t.cid,i=e._Ctor||(e._Ctor={});if(i[r])return i[r];var o=e.name||t.options.name,a=function(e){this._init(e)};return(a.prototype=Object.create(t.prototype)).constructor=a,a.cid=n++,a.options=Me(t.options,e),a.super=t,a.options.props&&function(e){var n=e.options.props;for(var t in n)At(e.prototype,"_props",t)}(a),a.options.computed&&function(e){var n=e.options.computed;for(var t in n)gt(e.prototype,t,n[t])}(a),a.extend=t.extend,a.mixin=t.mixin,a.use=t.use,T.forEach((function(e){a[e]=t[e]})),o&&(a.options.components[o]=a),a.superOptions=t.options,a.extendOptions=e,a.sealedOptions=k({},a.options),i[r]=a,a}}function kt(e){return e&&(e.Ctor.options.name||e.tag)}function _t(e,n){return Array.isArray(e)?e.indexOf(n)>-1:"string"==typeof e?e.split(",").indexOf(n)>-1:(t=e,"[object RegExp]"===a.call(t)&&e.test(n));var t}function St(e,n){var t=e.cache,r=e.keys,i=e._vnode;for(var o in t){var a=t[o];if(a){var s=kt(a.componentOptions);s&&!n(s)&&Dt(t,o,r,i)}}}function Dt(e,n,t,r){var i=e[n];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),e[n]=null,A(t,n)}xt.prototype._init=function(n){var t=this;t._uid=Ct++,t._isVue=!0,n&&n._isComponent?function(e,n){var t=e.$options=Object.create(e.constructor.options),r=n._parentVnode;t.parent=n.parent,t._parentVnode=r;var i=r.componentOptions;t.propsData=i.propsData,t._parentListeners=i.listeners,t._renderChildren=i.children,t._componentTag=i.tag,n.render&&(t.render=n.render,t.staticRenderFns=n.staticRenderFns)}(t,n):t.$options=Me(Et(t.constructor),n||{},t),t._renderProxy=t,t._self=t,function(e){var n=e.$options,t=n.parent;if(t&&!n.abstract){for(;t.$options.abstract&&t.$parent;)t=t.$parent;t.$children.push(e)}e.$parent=t,e.$root=t?t.$root:e,e.$children=[],e.$refs={},e._watcher=null,e._inactive=null,e._directInactive=!1,e._isMounted=!1,e._isDestroyed=!1,e._isBeingDestroyed=!1}(t),function(e){e._events=Object.create(null),e._hasHookEvent=!1;var n=e.$options._parentListeners;n&&Jn(e,n)}(t),function(n){n._vnode=null,n._staticTrees=null;var t=n.$options,r=n.$vnode=t._parentVnode,i=r&&r.context;n.$slots=un(t._renderChildren,i),n.$scopedSlots=e,n._c=function(e,t,r,i){return Fn(n,e,t,r,i,!1)},n.$createElement=function(e,t,r,i){return Fn(n,e,t,r,i,!0)};var o=r&&r.data;Ee(n,"$attrs",o&&o.attrs||e,null,!0),Ee(n,"$listeners",t._parentListeners||e,null,!0)}(t),et(t,"beforeCreate"),function(e){var n=dn(e.$options.inject,e);n&&(be(!1),Object.keys(n).forEach((function(t){Ee(e,t,n[t])})),be(!0))}(t),ht(t),function(e){var n=e.$options.provide;n&&(e._provided="function"==typeof n?n.call(e):n)}(t),et(t,"created"),t.$options.el&&t.$mount(t.$options.el)},function(e){var n={get:function(){return this._data}},t={get:function(){return this._props}};Object.defineProperty(e.prototype,"$data",n),Object.defineProperty(e.prototype,"$props",t),e.prototype.$set=xe,e.prototype.$delete=we,e.prototype.$watch=function(e,n,t){var r=this;if(s(n))return yt(r,e,n,t);(t=t||{}).user=!0;var i=new pt(r,e,n,t);if(t.immediate)try{n.call(r,i.value)}catch(e){Fe(e,r,'callback for immediate watcher "'+i.expression+'"')}return function(){i.teardown()}}}(xt),function(e){var n=/^hook:/;e.prototype.$on=function(e,t){var r=this;if(Array.isArray(e))for(var i=0,o=e.length;i<o;i++)r.$on(e[i],t);else(r._events[e]||(r._events[e]=[])).push(t),n.test(e)&&(r._hasHookEvent=!0);return r},e.prototype.$once=function(e,n){var t=this;function r(){t.$off(e,r),n.apply(t,arguments)}return r.fn=n,t.$on(e,r),t},e.prototype.$off=function(e,n){var t=this;if(!arguments.length)return t._events=Object.create(null),t;if(Array.isArray(e)){for(var r=0,i=e.length;r<i;r++)t.$off(e[r],n);return t}var o,a=t._events[e];if(!a)return t;if(!n)return t._events[e]=null,t;for(var s=a.length;s--;)if((o=a[s])===n||o.fn===n){a.splice(s,1);break}return t},e.prototype.$emit=function(e){var n=this,t=n._events[e];if(t){t=t.length>1?w(t):t;for(var r=w(arguments,1),i='event handler for "'+e+'"',o=0,a=t.length;o<a;o++)Le(t[o],n,r,n,i)}return n}}(xt),function(e){e.prototype._update=function(e,n){var t=this,r=t.$el,i=t._vnode,o=Gn(t);t._vnode=e,t.$el=i?t.__patch__(i,e):t.__patch__(t.$el,e,n,!1),o(),r&&(r.__vue__=null),t.$el&&(t.$el.__vue__=t),t.$vnode&&t.$parent&&t.$vnode===t.$parent._vnode&&(t.$parent.$el=t.$el)},e.prototype.$forceUpdate=function(){this._watcher&&this._watcher.update()},e.prototype.$destroy=function(){var e=this;if(!e._isBeingDestroyed){et(e,"beforeDestroy"),e._isBeingDestroyed=!0;var n=e.$parent;!n||n._isBeingDestroyed||e.$options.abstract||A(n.$children,e),e._watcher&&e._watcher.teardown();for(var t=e._watchers.length;t--;)e._watchers[t].teardown();e._data.__ob__&&e._data.__ob__.vmCount--,e._isDestroyed=!0,e.__patch__(e._vnode,null),et(e,"destroyed"),e.$off(),e.$el&&(e.$el.__vue__=null),e.$vnode&&(e.$vnode.parent=null)}}}(xt),function(e){zn(e.prototype),e.prototype.$nextTick=function(e){return Xe(e,this)},e.prototype._render=function(){var e,n=this,t=n.$options,r=t.render,i=t._parentVnode;i&&(n.$scopedSlots=fn(i.data.scopedSlots,n.$slots,n.$scopedSlots)),n.$vnode=i;try{jn=n,e=r.call(n._renderProxy,n.$createElement)}catch(t){Fe(t,n,"render"),e=n._vnode}finally{jn=null}return Array.isArray(e)&&1===e.length&&(e=e[0]),e instanceof de||(e=pe()),e.parent=i,e}}(xt);var Bt=[String,RegExp,Array],zt={KeepAlive:{name:"keep-alive",abstract:!0,props:{include:Bt,exclude:Bt,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var e in this.cache)Dt(this.cache,e,this.keys)},mounted:function(){var e=this;this.$watch("include",(function(n){St(e,(function(e){return _t(n,e)}))})),this.$watch("exclude",(function(n){St(e,(function(e){return!_t(n,e)}))}))},render:function(){var e=this.$slots.default,n=qn(e),t=n&&n.componentOptions;if(t){var r=kt(t),i=this.include,o=this.exclude;if(i&&(!r||!_t(i,r))||o&&r&&_t(o,r))return n;var a=this.cache,s=this.keys,l=null==n.key?t.Ctor.cid+(t.tag?"::"+t.tag:""):n.key;a[l]?(n.componentInstance=a[l].componentInstance,A(s,l),s.push(l)):(a[l]=n,s.push(l),this.max&&s.length>parseInt(this.max)&&Dt(a,s[0],s,this._vnode)),n.data.keepAlive=!0}return n||e&&e[0]}}};!function(e){var n={get:function(){return $}};Object.defineProperty(e,"config",n),e.util={warn:ie,extend:k,mergeOptions:Me,defineReactive:Ee},e.set=xe,e.delete=we,e.nextTick=Xe,e.observable=function(e){return Ce(e),e},e.options=Object.create(null),T.forEach((function(n){e.options[n+"s"]=Object.create(null)})),e.options._base=e,k(e.options.components,zt),function(e){e.use=function(e){var n=this._installedPlugins||(this._installedPlugins=[]);if(n.indexOf(e)>-1)return this;var t=w(arguments,1);return t.unshift(this),"function"==typeof e.install?e.install.apply(e,t):"function"==typeof e&&e.apply(null,t),n.push(e),this}}(e),function(e){e.mixin=function(e){return this.options=Me(this.options,e),this}}(e),wt(e),function(e){T.forEach((function(n){e[n]=function(e,t){return t?("component"===n&&s(t)&&(t.name=t.name||e,t=this.options._base.extend(t)),"directive"===n&&"function"==typeof t&&(t={bind:t,update:t}),this.options[n+"s"][e]=t,t):this.options[n+"s"][e]}}))}(e)}(xt),Object.defineProperty(xt.prototype,"$isServer",{get:Z}),Object.defineProperty(xt.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(xt,"FunctionalRenderContext",{value:On}),xt.version="2.6.12";var Ot=p("style,class"),Mt=p("input,textarea,option,select,progress"),Tt=p("contenteditable,draggable,spellcheck"),It=p("events,caret,typing,plaintext-only"),$t=p("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),Nt="http://www.w3.org/1999/xlink",Rt=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},Ft=function(e){return Rt(e)?e.slice(6,e.length):""},Lt=function(e){return null==e||!1===e};function Pt(e){for(var n=e.data,r=e,i=e;t(i.componentInstance);)(i=i.componentInstance._vnode)&&i.data&&(n=jt(i.data,n));for(;t(r=r.parent);)r&&r.data&&(n=jt(n,r.data));return function(e,n){if(t(e)||t(n))return Yt(e,Ut(n));return""}(n.staticClass,n.class)}function jt(e,n){return{staticClass:Yt(e.staticClass,n.staticClass),class:t(e.class)?[e.class,n.class]:n.class}}function Yt(e,n){return e?n?e+" "+n:e:n||""}function Ut(e){return Array.isArray(e)?function(e){for(var n,r="",i=0,o=e.length;i<o;i++)t(n=Ut(e[i]))&&""!==n&&(r&&(r+=" "),r+=n);return r}(e):o(e)?function(e){var n="";for(var t in e)e[t]&&(n&&(n+=" "),n+=t);return n}(e):"string"==typeof e?e:""}var qt={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},Ht=p("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),Wt=p("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),Vt=function(e){return Ht(e)||Wt(e)};var Jt=Object.create(null);var Kt=p("text,number,password,search,email,tel,url");var Gt=Object.freeze({createElement:function(e,n){var t=document.createElement(e);return"select"!==e||n.data&&n.data.attrs&&void 0!==n.data.attrs.multiple&&t.setAttribute("multiple","multiple"),t},createElementNS:function(e,n){return document.createElementNS(qt[e],n)},createTextNode:function(e){return document.createTextNode(e)},createComment:function(e){return document.createComment(e)},insertBefore:function(e,n,t){e.insertBefore(n,t)},removeChild:function(e,n){e.removeChild(n)},appendChild:function(e,n){e.appendChild(n)},parentNode:function(e){return e.parentNode},nextSibling:function(e){return e.nextSibling},tagName:function(e){return e.tagName},setTextContent:function(e,n){e.textContent=n},setStyleScope:function(e,n){e.setAttribute(n,"")}}),Xt={create:function(e,n){Qt(n)},update:function(e,n){e.data.ref!==n.data.ref&&(Qt(e,!0),Qt(n))},destroy:function(e){Qt(e,!0)}};function Qt(e,n){var r=e.data.ref;if(t(r)){var i=e.context,o=e.componentInstance||e.elm,a=i.$refs;n?Array.isArray(a[r])?A(a[r],o):a[r]===o&&(a[r]=void 0):e.data.refInFor?Array.isArray(a[r])?a[r].indexOf(o)<0&&a[r].push(o):a[r]=[o]:a[r]=o}}var Zt=new de("",{},[]),er=["create","activate","update","remove","destroy"];function nr(e,i){return e.key===i.key&&(e.tag===i.tag&&e.isComment===i.isComment&&t(e.data)===t(i.data)&&function(e,n){if("input"!==e.tag)return!0;var r,i=t(r=e.data)&&t(r=r.attrs)&&r.type,o=t(r=n.data)&&t(r=r.attrs)&&r.type;return i===o||Kt(i)&&Kt(o)}(e,i)||r(e.isAsyncPlaceholder)&&e.asyncFactory===i.asyncFactory&&n(i.asyncFactory.error))}function tr(e,n,r){var i,o,a={};for(i=n;i<=r;++i)t(o=e[i].key)&&(a[o]=i);return a}var rr={create:ir,update:ir,destroy:function(e){ir(e,Zt)}};function ir(e,n){(e.data.directives||n.data.directives)&&function(e,n){var t,r,i,o=e===Zt,a=n===Zt,s=ar(e.data.directives,e.context),l=ar(n.data.directives,n.context),c=[],d=[];for(t in l)r=s[t],i=l[t],r?(i.oldValue=r.value,i.oldArg=r.arg,lr(i,"update",n,e),i.def&&i.def.componentUpdated&&d.push(i)):(lr(i,"bind",n,e),i.def&&i.def.inserted&&c.push(i));if(c.length){var u=function(){for(var t=0;t<c.length;t++)lr(c[t],"inserted",n,e)};o?on(n,"insert",u):u()}d.length&&on(n,"postpatch",(function(){for(var t=0;t<d.length;t++)lr(d[t],"componentUpdated",n,e)}));if(!o)for(t in s)l[t]||lr(s[t],"unbind",e,e,a)}(e,n)}var or=Object.create(null);function ar(e,n){var t,r,i=Object.create(null);if(!e)return i;for(t=0;t<e.length;t++)(r=e[t]).modifiers||(r.modifiers=or),i[sr(r)]=r,r.def=Te(n.$options,"directives",r.name);return i}function sr(e){return e.rawName||e.name+"."+Object.keys(e.modifiers||{}).join(".")}function lr(e,n,t,r,i){var o=e.def&&e.def[n];if(o)try{o(t.elm,e,t,r,i)}catch(r){Fe(r,t.context,"directive "+e.name+" "+n+" hook")}}var cr=[Xt,rr];function dr(e,r){var i=r.componentOptions;if(!(t(i)&&!1===i.Ctor.options.inheritAttrs||n(e.data.attrs)&&n(r.data.attrs))){var o,a,s=r.elm,l=e.data.attrs||{},c=r.data.attrs||{};for(o in t(c.__ob__)&&(c=r.data.attrs=k({},c)),c)a=c[o],l[o]!==a&&ur(s,o,a);for(o in(H||V)&&c.value!==l.value&&ur(s,"value",c.value),l)n(c[o])&&(Rt(o)?s.removeAttributeNS(Nt,Ft(o)):Tt(o)||s.removeAttribute(o))}}function ur(e,n,t){e.tagName.indexOf("-")>-1?pr(e,n,t):$t(n)?Lt(t)?e.removeAttribute(n):(t="allowfullscreen"===n&&"EMBED"===e.tagName?"true":n,e.setAttribute(n,t)):Tt(n)?e.setAttribute(n,function(e,n){return Lt(n)||"false"===n?"false":"contenteditable"===e&&It(n)?n:"true"}(n,t)):Rt(n)?Lt(t)?e.removeAttributeNS(Nt,Ft(n)):e.setAttributeNS(Nt,n,t):pr(e,n,t)}function pr(e,n,t){if(Lt(t))e.removeAttribute(n);else{if(H&&!W&&"TEXTAREA"===e.tagName&&"placeholder"===n&&""!==t&&!e.__ieph){var r=function(n){n.stopImmediatePropagation(),e.removeEventListener("input",r)};e.addEventListener("input",r),e.__ieph=!0}e.setAttribute(n,t)}}var fr={create:dr,update:dr};function Ar(e,r){var i=r.elm,o=r.data,a=e.data;if(!(n(o.staticClass)&&n(o.class)&&(n(a)||n(a.staticClass)&&n(a.class)))){var s=Pt(r),l=i._transitionClasses;t(l)&&(s=Yt(s,Ut(l))),s!==i._prevClass&&(i.setAttribute("class",s),i._prevClass=s)}}var hr,mr={create:Ar,update:Ar};function gr(e,n,t){var r=hr;return function i(){var o=n.apply(null,arguments);null!==o&&yr(e,i,t,r)}}var vr=Ue&&!(K&&Number(K[1])<=53);function br(e,n,t,r){if(vr){var i=st,o=n;n=o._wrapper=function(e){if(e.target===e.currentTarget||e.timeStamp>=i||e.timeStamp<=0||e.target.ownerDocument!==document)return o.apply(this,arguments)}}hr.addEventListener(e,n,X?{capture:t,passive:r}:t)}function yr(e,n,t,r){(r||hr).removeEventListener(e,n._wrapper||n,t)}function Cr(e,r){if(!n(e.data.on)||!n(r.data.on)){var i=r.data.on||{},o=e.data.on||{};hr=r.elm,function(e){if(t(e.__r)){var n=H?"change":"input";e[n]=[].concat(e.__r,e[n]||[]),delete e.__r}t(e.__c)&&(e.change=[].concat(e.__c,e.change||[]),delete e.__c)}(i),rn(i,o,br,yr,gr,r.context),hr=void 0}}var Er,xr={create:Cr,update:Cr};function wr(e,r){if(!n(e.data.domProps)||!n(r.data.domProps)){var i,o,a=r.elm,s=e.data.domProps||{},l=r.data.domProps||{};for(i in t(l.__ob__)&&(l=r.data.domProps=k({},l)),s)i in l||(a[i]="");for(i in l){if(o=l[i],"textContent"===i||"innerHTML"===i){if(r.children&&(r.children.length=0),o===s[i])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===i&&"PROGRESS"!==a.tagName){a._value=o;var c=n(o)?"":String(o);kr(a,c)&&(a.value=c)}else if("innerHTML"===i&&Wt(a.tagName)&&n(a.innerHTML)){(Er=Er||document.createElement("div")).innerHTML="<svg>"+o+"</svg>";for(var d=Er.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;d.firstChild;)a.appendChild(d.firstChild)}else if(o!==s[i])try{a[i]=o}catch(e){}}}}function kr(e,n){return!e.composing&&("OPTION"===e.tagName||function(e,n){var t=!0;try{t=document.activeElement!==e}catch(e){}return t&&e.value!==n}(e,n)||function(e,n){var r=e.value,i=e._vModifiers;if(t(i)){if(i.number)return u(r)!==u(n);if(i.trim)return r.trim()!==n.trim()}return r!==n}(e,n))}var _r={create:wr,update:wr},Sr=g((function(e){var n={},t=/:(.+)/;return e.split(/;(?![^(]*\))/g).forEach((function(e){if(e){var r=e.split(t);r.length>1&&(n[r[0].trim()]=r[1].trim())}})),n}));function Dr(e){var n=Br(e.style);return e.staticStyle?k(e.staticStyle,n):n}function Br(e){return Array.isArray(e)?_(e):"string"==typeof e?Sr(e):e}var zr,Or=/^--/,Mr=/\s*!important$/,Tr=function(e,n,t){if(Or.test(n))e.style.setProperty(n,t);else if(Mr.test(t))e.style.setProperty(E(n),t.replace(Mr,""),"important");else{var r=$r(n);if(Array.isArray(t))for(var i=0,o=t.length;i<o;i++)e.style[r]=t[i];else e.style[r]=t}},Ir=["Webkit","Moz","ms"],$r=g((function(e){if(zr=zr||document.createElement("div").style,"filter"!==(e=b(e))&&e in zr)return e;for(var n=e.charAt(0).toUpperCase()+e.slice(1),t=0;t<Ir.length;t++){var r=Ir[t]+n;if(r in zr)return r}}));function Nr(e,r){var i=r.data,o=e.data;if(!(n(i.staticStyle)&&n(i.style)&&n(o.staticStyle)&&n(o.style))){var a,s,l=r.elm,c=o.staticStyle,d=o.normalizedStyle||o.style||{},u=c||d,p=Br(r.data.style)||{};r.data.normalizedStyle=t(p.__ob__)?k({},p):p;var f=function(e,n){var t,r={};if(n)for(var i=e;i.componentInstance;)(i=i.componentInstance._vnode)&&i.data&&(t=Dr(i.data))&&k(r,t);(t=Dr(e.data))&&k(r,t);for(var o=e;o=o.parent;)o.data&&(t=Dr(o.data))&&k(r,t);return r}(r,!0);for(s in u)n(f[s])&&Tr(l,s,"");for(s in f)(a=f[s])!==u[s]&&Tr(l,s,null==a?"":a)}}var Rr={create:Nr,update:Nr},Fr=/\s+/;function Lr(e,n){if(n&&(n=n.trim()))if(e.classList)n.indexOf(" ")>-1?n.split(Fr).forEach((function(n){return e.classList.add(n)})):e.classList.add(n);else{var t=" "+(e.getAttribute("class")||"")+" ";t.indexOf(" "+n+" ")<0&&e.setAttribute("class",(t+n).trim())}}function Pr(e,n){if(n&&(n=n.trim()))if(e.classList)n.indexOf(" ")>-1?n.split(Fr).forEach((function(n){return e.classList.remove(n)})):e.classList.remove(n),e.classList.length||e.removeAttribute("class");else{for(var t=" "+(e.getAttribute("class")||"")+" ",r=" "+n+" ";t.indexOf(r)>=0;)t=t.replace(r," ");(t=t.trim())?e.setAttribute("class",t):e.removeAttribute("class")}}function jr(e){if(e){if("object"==typeof e){var n={};return!1!==e.css&&k(n,Yr(e.name||"v")),k(n,e),n}return"string"==typeof e?Yr(e):void 0}}var Yr=g((function(e){return{enterClass:e+"-enter",enterToClass:e+"-enter-to",enterActiveClass:e+"-enter-active",leaveClass:e+"-leave",leaveToClass:e+"-leave-to",leaveActiveClass:e+"-leave-active"}})),Ur=j&&!W,qr="transition",Hr="transitionend",Wr="animation",Vr="animationend";Ur&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(qr="WebkitTransition",Hr="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Wr="WebkitAnimation",Vr="webkitAnimationEnd"));var Jr=j?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function Kr(e){Jr((function(){Jr(e)}))}function Gr(e,n){var t=e._transitionClasses||(e._transitionClasses=[]);t.indexOf(n)<0&&(t.push(n),Lr(e,n))}function Xr(e,n){e._transitionClasses&&A(e._transitionClasses,n),Pr(e,n)}function Qr(e,n,t){var r=ei(e,n),i=r.type,o=r.timeout,a=r.propCount;if(!i)return t();var s="transition"===i?Hr:Vr,l=0,c=function(){e.removeEventListener(s,d),t()},d=function(n){n.target===e&&++l>=a&&c()};setTimeout((function(){l<a&&c()}),o+1),e.addEventListener(s,d)}var Zr=/\b(transform|all)(,|$)/;function ei(e,n){var t,r=window.getComputedStyle(e),i=(r[qr+"Delay"]||"").split(", "),o=(r[qr+"Duration"]||"").split(", "),a=ni(i,o),s=(r[Wr+"Delay"]||"").split(", "),l=(r[Wr+"Duration"]||"").split(", "),c=ni(s,l),d=0,u=0;return"transition"===n?a>0&&(t="transition",d=a,u=o.length):"animation"===n?c>0&&(t="animation",d=c,u=l.length):u=(t=(d=Math.max(a,c))>0?a>c?"transition":"animation":null)?"transition"===t?o.length:l.length:0,{type:t,timeout:d,propCount:u,hasTransform:"transition"===t&&Zr.test(r[qr+"Property"])}}function ni(e,n){for(;e.length<n.length;)e=e.concat(e);return Math.max.apply(null,n.map((function(n,t){return ti(n)+ti(e[t])})))}function ti(e){return 1e3*Number(e.slice(0,-1).replace(",","."))}function ri(e,r){var i=e.elm;t(i._leaveCb)&&(i._leaveCb.cancelled=!0,i._leaveCb());var a=jr(e.data.transition);if(!n(a)&&!t(i._enterCb)&&1===i.nodeType){for(var s=a.css,l=a.type,c=a.enterClass,d=a.enterToClass,p=a.enterActiveClass,f=a.appearClass,A=a.appearToClass,h=a.appearActiveClass,m=a.beforeEnter,g=a.enter,v=a.afterEnter,b=a.enterCancelled,y=a.beforeAppear,C=a.appear,E=a.afterAppear,x=a.appearCancelled,w=a.duration,k=Kn,_=Kn.$vnode;_&&_.parent;)k=_.context,_=_.parent;var S=!k._isMounted||!e.isRootInsert;if(!S||C||""===C){var D=S&&f?f:c,B=S&&h?h:p,z=S&&A?A:d,O=S&&y||m,T=S&&"function"==typeof C?C:g,I=S&&E||v,$=S&&x||b,N=u(o(w)?w.enter:w),R=!1!==s&&!W,F=ai(T),L=i._enterCb=M((function(){R&&(Xr(i,z),Xr(i,B)),L.cancelled?(R&&Xr(i,D),$&&$(i)):I&&I(i),i._enterCb=null}));e.data.show||on(e,"insert",(function(){var n=i.parentNode,t=n&&n._pending&&n._pending[e.key];t&&t.tag===e.tag&&t.elm._leaveCb&&t.elm._leaveCb(),T&&T(i,L)})),O&&O(i),R&&(Gr(i,D),Gr(i,B),Kr((function(){Xr(i,D),L.cancelled||(Gr(i,z),F||(oi(N)?setTimeout(L,N):Qr(i,l,L)))}))),e.data.show&&(r&&r(),T&&T(i,L)),R||F||L()}}}function ii(e,r){var i=e.elm;t(i._enterCb)&&(i._enterCb.cancelled=!0,i._enterCb());var a=jr(e.data.transition);if(n(a)||1!==i.nodeType)return r();if(!t(i._leaveCb)){var s=a.css,l=a.type,c=a.leaveClass,d=a.leaveToClass,p=a.leaveActiveClass,f=a.beforeLeave,A=a.leave,h=a.afterLeave,m=a.leaveCancelled,g=a.delayLeave,v=a.duration,b=!1!==s&&!W,y=ai(A),C=u(o(v)?v.leave:v),E=i._leaveCb=M((function(){i.parentNode&&i.parentNode._pending&&(i.parentNode._pending[e.key]=null),b&&(Xr(i,d),Xr(i,p)),E.cancelled?(b&&Xr(i,c),m&&m(i)):(r(),h&&h(i)),i._leaveCb=null}));g?g(x):x()}function x(){E.cancelled||(!e.data.show&&i.parentNode&&((i.parentNode._pending||(i.parentNode._pending={}))[e.key]=e),f&&f(i),b&&(Gr(i,c),Gr(i,p),Kr((function(){Xr(i,c),E.cancelled||(Gr(i,d),y||(oi(C)?setTimeout(E,C):Qr(i,l,E)))}))),A&&A(i,E),b||y||E())}}function oi(e){return"number"==typeof e&&!isNaN(e)}function ai(e){if(n(e))return!1;var r=e.fns;return t(r)?ai(Array.isArray(r)?r[0]:r):(e._length||e.length)>1}function si(e,n){!0!==n.data.show&&ri(n)}var li=function(e){var o,a,s={},l=e.modules,c=e.nodeOps;for(o=0;o<er.length;++o)for(s[er[o]]=[],a=0;a<l.length;++a)t(l[a][er[o]])&&s[er[o]].push(l[a][er[o]]);function d(e){var n=c.parentNode(e);t(n)&&c.removeChild(n,e)}function u(e,n,i,o,a,l,d){if(t(e.elm)&&t(l)&&(e=l[d]=Ae(e)),e.isRootInsert=!a,!function(e,n,i,o){var a=e.data;if(t(a)){var l=t(e.componentInstance)&&a.keepAlive;if(t(a=a.hook)&&t(a=a.init)&&a(e,!1),t(e.componentInstance))return f(e,n),A(i,e.elm,o),r(l)&&function(e,n,r,i){var o,a=e;for(;a.componentInstance;)if(t(o=(a=a.componentInstance._vnode).data)&&t(o=o.transition)){for(o=0;o<s.activate.length;++o)s.activate[o](Zt,a);n.push(a);break}A(r,e.elm,i)}(e,n,i,o),!0}}(e,n,i,o)){var u=e.data,p=e.children,m=e.tag;t(m)?(e.elm=e.ns?c.createElementNS(e.ns,m):c.createElement(m,e),v(e),h(e,p,n),t(u)&&g(e,n),A(i,e.elm,o)):r(e.isComment)?(e.elm=c.createComment(e.text),A(i,e.elm,o)):(e.elm=c.createTextNode(e.text),A(i,e.elm,o))}}function f(e,n){t(e.data.pendingInsert)&&(n.push.apply(n,e.data.pendingInsert),e.data.pendingInsert=null),e.elm=e.componentInstance.$el,m(e)?(g(e,n),v(e)):(Qt(e),n.push(e))}function A(e,n,r){t(e)&&(t(r)?c.parentNode(r)===e&&c.insertBefore(e,n,r):c.appendChild(e,n))}function h(e,n,t){if(Array.isArray(n))for(var r=0;r<n.length;++r)u(n[r],t,e.elm,null,!0,n,r);else i(e.text)&&c.appendChild(e.elm,c.createTextNode(String(e.text)))}function m(e){for(;e.componentInstance;)e=e.componentInstance._vnode;return t(e.tag)}function g(e,n){for(var r=0;r<s.create.length;++r)s.create[r](Zt,e);t(o=e.data.hook)&&(t(o.create)&&o.create(Zt,e),t(o.insert)&&n.push(e))}function v(e){var n;if(t(n=e.fnScopeId))c.setStyleScope(e.elm,n);else for(var r=e;r;)t(n=r.context)&&t(n=n.$options._scopeId)&&c.setStyleScope(e.elm,n),r=r.parent;t(n=Kn)&&n!==e.context&&n!==e.fnContext&&t(n=n.$options._scopeId)&&c.setStyleScope(e.elm,n)}function b(e,n,t,r,i,o){for(;r<=i;++r)u(t[r],o,e,n,!1,t,r)}function y(e){var n,r,i=e.data;if(t(i))for(t(n=i.hook)&&t(n=n.destroy)&&n(e),n=0;n<s.destroy.length;++n)s.destroy[n](e);if(t(n=e.children))for(r=0;r<e.children.length;++r)y(e.children[r])}function C(e,n,r){for(;n<=r;++n){var i=e[n];t(i)&&(t(i.tag)?(E(i),y(i)):d(i.elm))}}function E(e,n){if(t(n)||t(e.data)){var r,i=s.remove.length+1;for(t(n)?n.listeners+=i:n=function(e,n){function t(){0==--t.listeners&&d(e)}return t.listeners=n,t}(e.elm,i),t(r=e.componentInstance)&&t(r=r._vnode)&&t(r.data)&&E(r,n),r=0;r<s.remove.length;++r)s.remove[r](e,n);t(r=e.data.hook)&&t(r=r.remove)?r(e,n):n()}else d(e.elm)}function x(e,n,r,i){for(var o=r;o<i;o++){var a=n[o];if(t(a)&&nr(e,a))return o}}function w(e,i,o,a,l,d){if(e!==i){t(i.elm)&&t(a)&&(i=a[l]=Ae(i));var p=i.elm=e.elm;if(r(e.isAsyncPlaceholder))t(i.asyncFactory.resolved)?S(e.elm,i,o):i.isAsyncPlaceholder=!0;else if(r(i.isStatic)&&r(e.isStatic)&&i.key===e.key&&(r(i.isCloned)||r(i.isOnce)))i.componentInstance=e.componentInstance;else{var f,A=i.data;t(A)&&t(f=A.hook)&&t(f=f.prepatch)&&f(e,i);var h=e.children,g=i.children;if(t(A)&&m(i)){for(f=0;f<s.update.length;++f)s.update[f](e,i);t(f=A.hook)&&t(f=f.update)&&f(e,i)}n(i.text)?t(h)&&t(g)?h!==g&&function(e,r,i,o,a){for(var s,l,d,p=0,f=0,A=r.length-1,h=r[0],m=r[A],g=i.length-1,v=i[0],y=i[g],E=!a;p<=A&&f<=g;)n(h)?h=r[++p]:n(m)?m=r[--A]:nr(h,v)?(w(h,v,o,i,f),h=r[++p],v=i[++f]):nr(m,y)?(w(m,y,o,i,g),m=r[--A],y=i[--g]):nr(h,y)?(w(h,y,o,i,g),E&&c.insertBefore(e,h.elm,c.nextSibling(m.elm)),h=r[++p],y=i[--g]):nr(m,v)?(w(m,v,o,i,f),E&&c.insertBefore(e,m.elm,h.elm),m=r[--A],v=i[++f]):(n(s)&&(s=tr(r,p,A)),n(l=t(v.key)?s[v.key]:x(v,r,p,A))?u(v,o,e,h.elm,!1,i,f):nr(d=r[l],v)?(w(d,v,o,i,f),r[l]=void 0,E&&c.insertBefore(e,d.elm,h.elm)):u(v,o,e,h.elm,!1,i,f),v=i[++f]);p>A?b(e,n(i[g+1])?null:i[g+1].elm,i,f,g,o):f>g&&C(r,p,A)}(p,h,g,o,d):t(g)?(t(e.text)&&c.setTextContent(p,""),b(p,null,g,0,g.length-1,o)):t(h)?C(h,0,h.length-1):t(e.text)&&c.setTextContent(p,""):e.text!==i.text&&c.setTextContent(p,i.text),t(A)&&t(f=A.hook)&&t(f=f.postpatch)&&f(e,i)}}}function k(e,n,i){if(r(i)&&t(e.parent))e.parent.data.pendingInsert=n;else for(var o=0;o<n.length;++o)n[o].data.hook.insert(n[o])}var _=p("attrs,class,staticClass,staticStyle,key");function S(e,n,i,o){var a,s=n.tag,l=n.data,c=n.children;if(o=o||l&&l.pre,n.elm=e,r(n.isComment)&&t(n.asyncFactory))return n.isAsyncPlaceholder=!0,!0;if(t(l)&&(t(a=l.hook)&&t(a=a.init)&&a(n,!0),t(a=n.componentInstance)))return f(n,i),!0;if(t(s)){if(t(c))if(e.hasChildNodes())if(t(a=l)&&t(a=a.domProps)&&t(a=a.innerHTML)){if(a!==e.innerHTML)return!1}else{for(var d=!0,u=e.firstChild,p=0;p<c.length;p++){if(!u||!S(u,c[p],i,o)){d=!1;break}u=u.nextSibling}if(!d||u)return!1}else h(n,c,i);if(t(l)){var A=!1;for(var m in l)if(!_(m)){A=!0,g(n,i);break}!A&&l.class&&Ze(l.class)}}else e.data!==n.text&&(e.data=n.text);return!0}return function(e,i,o,a){if(!n(i)){var l,d=!1,p=[];if(n(e))d=!0,u(i,p);else{var f=t(e.nodeType);if(!f&&nr(e,i))w(e,i,p,null,null,a);else{if(f){if(1===e.nodeType&&e.hasAttribute("data-server-rendered")&&(e.removeAttribute("data-server-rendered"),o=!0),r(o)&&S(e,i,p))return k(i,p,!0),e;l=e,e=new de(c.tagName(l).toLowerCase(),{},[],void 0,l)}var A=e.elm,h=c.parentNode(A);if(u(i,p,A._leaveCb?null:h,c.nextSibling(A)),t(i.parent))for(var g=i.parent,v=m(i);g;){for(var b=0;b<s.destroy.length;++b)s.destroy[b](g);if(g.elm=i.elm,v){for(var E=0;E<s.create.length;++E)s.create[E](Zt,g);var x=g.data.hook.insert;if(x.merged)for(var _=1;_<x.fns.length;_++)x.fns[_]()}else Qt(g);g=g.parent}t(h)?C([e],0,0):t(e.tag)&&y(e)}}return k(i,p,d),i.elm}t(e)&&y(e)}}({nodeOps:Gt,modules:[fr,mr,xr,_r,Rr,j?{create:si,activate:si,remove:function(e,n){!0!==e.data.show?ii(e,n):n()}}:{}].concat(cr)});W&&document.addEventListener("selectionchange",(function(){var e=document.activeElement;e&&e.vmodel&&mi(e,"input")}));var ci={inserted:function(e,n,t,r){"select"===t.tag?(r.elm&&!r.elm._vOptions?on(t,"postpatch",(function(){ci.componentUpdated(e,n,t)})):di(e,n,t.context),e._vOptions=[].map.call(e.options,fi)):("textarea"===t.tag||Kt(e.type))&&(e._vModifiers=n.modifiers,n.modifiers.lazy||(e.addEventListener("compositionstart",Ai),e.addEventListener("compositionend",hi),e.addEventListener("change",hi),W&&(e.vmodel=!0)))},componentUpdated:function(e,n,t){if("select"===t.tag){di(e,n,t.context);var r=e._vOptions,i=e._vOptions=[].map.call(e.options,fi);if(i.some((function(e,n){return!z(e,r[n])})))(e.multiple?n.value.some((function(e){return pi(e,i)})):n.value!==n.oldValue&&pi(n.value,i))&&mi(e,"change")}}};function di(e,n,t){ui(e,n),(H||V)&&setTimeout((function(){ui(e,n)}),0)}function ui(e,n,t){var r=n.value,i=e.multiple;if(!i||Array.isArray(r)){for(var o,a,s=0,l=e.options.length;s<l;s++)if(a=e.options[s],i)o=O(r,fi(a))>-1,a.selected!==o&&(a.selected=o);else if(z(fi(a),r))return void(e.selectedIndex!==s&&(e.selectedIndex=s));i||(e.selectedIndex=-1)}}function pi(e,n){return n.every((function(n){return!z(n,e)}))}function fi(e){return"_value"in e?e._value:e.value}function Ai(e){e.target.composing=!0}function hi(e){e.target.composing&&(e.target.composing=!1,mi(e.target,"input"))}function mi(e,n){var t=document.createEvent("HTMLEvents");t.initEvent(n,!0,!0),e.dispatchEvent(t)}function gi(e){return!e.componentInstance||e.data&&e.data.transition?e:gi(e.componentInstance._vnode)}var vi={model:ci,show:{bind:function(e,n,t){var r=n.value,i=(t=gi(t)).data&&t.data.transition,o=e.__vOriginalDisplay="none"===e.style.display?"":e.style.display;r&&i?(t.data.show=!0,ri(t,(function(){e.style.display=o}))):e.style.display=r?o:"none"},update:function(e,n,t){var r=n.value;!r!=!n.oldValue&&((t=gi(t)).data&&t.data.transition?(t.data.show=!0,r?ri(t,(function(){e.style.display=e.__vOriginalDisplay})):ii(t,(function(){e.style.display="none"}))):e.style.display=r?e.__vOriginalDisplay:"none")},unbind:function(e,n,t,r,i){i||(e.style.display=e.__vOriginalDisplay)}}},bi={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function yi(e){var n=e&&e.componentOptions;return n&&n.Ctor.options.abstract?yi(qn(n.children)):e}function Ci(e){var n={},t=e.$options;for(var r in t.propsData)n[r]=e[r];var i=t._parentListeners;for(var o in i)n[b(o)]=i[o];return n}function Ei(e,n){if(/\d-keep-alive$/.test(n.tag))return e("keep-alive",{props:n.componentOptions.propsData})}var xi=function(e){return e.tag||Un(e)},wi=function(e){return"show"===e.name},ki={name:"transition",props:bi,abstract:!0,render:function(e){var n=this,t=this.$slots.default;if(t&&(t=t.filter(xi)).length){var r=this.mode,o=t[0];if(function(e){for(;e=e.parent;)if(e.data.transition)return!0}(this.$vnode))return o;var a=yi(o);if(!a)return o;if(this._leaving)return Ei(e,o);var s="__transition-"+this._uid+"-";a.key=null==a.key?a.isComment?s+"comment":s+a.tag:i(a.key)?0===String(a.key).indexOf(s)?a.key:s+a.key:a.key;var l=(a.data||(a.data={})).transition=Ci(this),c=this._vnode,d=yi(c);if(a.data.directives&&a.data.directives.some(wi)&&(a.data.show=!0),d&&d.data&&!function(e,n){return n.key===e.key&&n.tag===e.tag}(a,d)&&!Un(d)&&(!d.componentInstance||!d.componentInstance._vnode.isComment)){var u=d.data.transition=k({},l);if("out-in"===r)return this._leaving=!0,on(u,"afterLeave",(function(){n._leaving=!1,n.$forceUpdate()})),Ei(e,o);if("in-out"===r){if(Un(a))return c;var p,f=function(){p()};on(l,"afterEnter",f),on(l,"enterCancelled",f),on(u,"delayLeave",(function(e){p=e}))}}return o}}},_i=k({tag:String,moveClass:String},bi);function Si(e){e.elm._moveCb&&e.elm._moveCb(),e.elm._enterCb&&e.elm._enterCb()}function Di(e){e.data.newPos=e.elm.getBoundingClientRect()}function Bi(e){var n=e.data.pos,t=e.data.newPos,r=n.left-t.left,i=n.top-t.top;if(r||i){e.data.moved=!0;var o=e.elm.style;o.transform=o.WebkitTransform="translate("+r+"px,"+i+"px)",o.transitionDuration="0s"}}delete _i.mode;var zi={Transition:ki,TransitionGroup:{props:_i,beforeMount:function(){var e=this,n=this._update;this._update=function(t,r){var i=Gn(e);e.__patch__(e._vnode,e.kept,!1,!0),e._vnode=e.kept,i(),n.call(e,t,r)}},render:function(e){for(var n=this.tag||this.$vnode.data.tag||"span",t=Object.create(null),r=this.prevChildren=this.children,i=this.$slots.default||[],o=this.children=[],a=Ci(this),s=0;s<i.length;s++){var l=i[s];l.tag&&null!=l.key&&0!==String(l.key).indexOf("__vlist")&&(o.push(l),t[l.key]=l,(l.data||(l.data={})).transition=a)}if(r){for(var c=[],d=[],u=0;u<r.length;u++){var p=r[u];p.data.transition=a,p.data.pos=p.elm.getBoundingClientRect(),t[p.key]?c.push(p):d.push(p)}this.kept=e(n,null,c),this.removed=d}return e(n,null,o)},updated:function(){var e=this.prevChildren,n=this.moveClass||(this.name||"v")+"-move";e.length&&this.hasMove(e[0].elm,n)&&(e.forEach(Si),e.forEach(Di),e.forEach(Bi),this._reflow=document.body.offsetHeight,e.forEach((function(e){if(e.data.moved){var t=e.elm,r=t.style;Gr(t,n),r.transform=r.WebkitTransform=r.transitionDuration="",t.addEventListener(Hr,t._moveCb=function e(r){r&&r.target!==t||r&&!/transform$/.test(r.propertyName)||(t.removeEventListener(Hr,e),t._moveCb=null,Xr(t,n))})}})))},methods:{hasMove:function(e,n){if(!Ur)return!1;if(this._hasMove)return this._hasMove;var t=e.cloneNode();e._transitionClasses&&e._transitionClasses.forEach((function(e){Pr(t,e)})),Lr(t,n),t.style.display="none",this.$el.appendChild(t);var r=ei(t);return this.$el.removeChild(t),this._hasMove=r.hasTransform}}}};
/*!
* vue-router v3.4.8
* (c) 2020 Evan You
* @license MIT
*/
function Oi(e,n){for(var t in n)e[t]=n[t];return e}xt.config.mustUseProp=function(e,n,t){return"value"===t&&Mt(e)&&"button"!==n||"selected"===t&&"option"===e||"checked"===t&&"input"===e||"muted"===t&&"video"===e},xt.config.isReservedTag=Vt,xt.config.isReservedAttr=Ot,xt.config.getTagNamespace=function(e){return Wt(e)?"svg":"math"===e?"math":void 0},xt.config.isUnknownElement=function(e){if(!j)return!0;if(Vt(e))return!1;if(e=e.toLowerCase(),null!=Jt[e])return Jt[e];var n=document.createElement(e);return e.indexOf("-")>-1?Jt[e]=n.constructor===window.HTMLUnknownElement||n.constructor===window.HTMLElement:Jt[e]=/HTMLUnknownElement/.test(n.toString())},k(xt.options.directives,vi),k(xt.options.components,zi),xt.prototype.__patch__=j?li:S,xt.prototype.$mount=function(e,n){return function(e,n,t){var r;return e.$el=n,e.$options.render||(e.$options.render=pe),et(e,"beforeMount"),r=function(){e._update(e._render(),t)},new pt(e,r,S,{before:function(){e._isMounted&&!e._isDestroyed&&et(e,"beforeUpdate")}},!0),t=!1,null==e.$vnode&&(e._isMounted=!0,et(e,"mounted")),e}(this,e=e&&j?function(e){if("string"==typeof e){return document.querySelector(e)||document.createElement("div")}return e}(e):void 0,n)},j&&setTimeout((function(){$.devtools&&ee&&ee.emit("init",xt)}),0);var Mi=/[!'()*]/g,Ti=function(e){return"%"+e.charCodeAt(0).toString(16)},Ii=/%2C/g,$i=function(e){return encodeURIComponent(e).replace(Mi,Ti).replace(Ii,",")};function Ni(e){try{return decodeURIComponent(e)}catch(e){}return e}var Ri=function(e){return null==e||"object"==typeof e?e:String(e)};function Fi(e){var n={};return(e=e.trim().replace(/^(\?|#|&)/,""))?(e.split("&").forEach((function(e){var t=e.replace(/\+/g," ").split("="),r=Ni(t.shift()),i=t.length>0?Ni(t.join("=")):null;void 0===n[r]?n[r]=i:Array.isArray(n[r])?n[r].push(i):n[r]=[n[r],i]})),n):n}function Li(e){var n=e?Object.keys(e).map((function(n){var t=e[n];if(void 0===t)return"";if(null===t)return $i(n);if(Array.isArray(t)){var r=[];return t.forEach((function(e){void 0!==e&&(null===e?r.push($i(n)):r.push($i(n)+"="+$i(e)))})),r.join("&")}return $i(n)+"="+$i(t)})).filter((function(e){return e.length>0})).join("&"):null;return n?"?"+n:""}var Pi=/\/?$/;function ji(e,n,t,r){var i=r&&r.options.stringifyQuery,o=n.query||{};try{o=Yi(o)}catch(e){}var a={name:n.name||e&&e.name,meta:e&&e.meta||{},path:n.path||"/",hash:n.hash||"",query:o,params:n.params||{},fullPath:Hi(n,i),matched:e?qi(e):[]};return t&&(a.redirectedFrom=Hi(t,i)),Object.freeze(a)}function Yi(e){if(Array.isArray(e))return e.map(Yi);if(e&&"object"==typeof e){var n={};for(var t in e)n[t]=Yi(e[t]);return n}return e}var Ui=ji(null,{path:"/"});function qi(e){for(var n=[];e;)n.unshift(e),e=e.parent;return n}function Hi(e,n){var t=e.path,r=e.query;void 0===r&&(r={});var i=e.hash;return void 0===i&&(i=""),(t||"/")+(n||Li)(r)+i}function Wi(e,n){return n===Ui?e===n:!!n&&(e.path&&n.path?e.path.replace(Pi,"")===n.path.replace(Pi,"")&&e.hash===n.hash&&Vi(e.query,n.query):!(!e.name||!n.name)&&(e.name===n.name&&e.hash===n.hash&&Vi(e.query,n.query)&&Vi(e.params,n.params)))}function Vi(e,n){if(void 0===e&&(e={}),void 0===n&&(n={}),!e||!n)return e===n;var t=Object.keys(e).sort(),r=Object.keys(n).sort();return t.length===r.length&&t.every((function(t,i){var o=e[t];if(r[i]!==t)return!1;var a=n[t];return null==o||null==a?o===a:"object"==typeof o&&"object"==typeof a?Vi(o,a):String(o)===String(a)}))}function Ji(e){for(var n=0;n<e.matched.length;n++){var t=e.matched[n];for(var r in t.instances){var i=t.instances[r],o=t.enteredCbs[r];if(i&&o){delete t.enteredCbs[r];for(var a=0;a<o.length;a++)i._isBeingDestroyed||o[a](i)}}}}var Ki={name:"RouterView",functional:!0,props:{name:{type:String,default:"default"}},render:function(e,n){var t=n.props,r=n.children,i=n.parent,o=n.data;o.routerView=!0;for(var a=i.$createElement,s=t.name,l=i.$route,c=i._routerViewCache||(i._routerViewCache={}),d=0,u=!1;i&&i._routerRoot!==i;){var p=i.$vnode?i.$vnode.data:{};p.routerView&&d++,p.keepAlive&&i._directInactive&&i._inactive&&(u=!0),i=i.$parent}if(o.routerViewDepth=d,u){var f=c[s],A=f&&f.component;return A?(f.configProps&&Gi(A,o,f.route,f.configProps),a(A,o,r)):a()}var h=l.matched[d],m=h&&h.components[s];if(!h||!m)return c[s]=null,a();c[s]={component:m},o.registerRouteInstance=function(e,n){var t=h.instances[s];(n&&t!==e||!n&&t===e)&&(h.instances[s]=n)},(o.hook||(o.hook={})).prepatch=function(e,n){h.instances[s]=n.componentInstance},o.hook.init=function(e){e.data.keepAlive&&e.componentInstance&&e.componentInstance!==h.instances[s]&&(h.instances[s]=e.componentInstance),Ji(l)};var g=h.props&&h.props[s];return g&&(Oi(c[s],{route:l,configProps:g}),Gi(m,o,l,g)),a(m,o,r)}};function Gi(e,n,t,r){var i=n.props=function(e,n){switch(typeof n){case"undefined":return;case"object":return n;case"function":return n(e);case"boolean":return n?e.params:void 0}}(t,r);if(i){i=n.props=Oi({},i);var o=n.attrs=n.attrs||{};for(var a in i)e.props&&a in e.props||(o[a]=i[a],delete i[a])}}function Xi(e,n,t){var r=e.charAt(0);if("/"===r)return e;if("?"===r||"#"===r)return n+e;var i=n.split("/");t&&i[i.length-1]||i.pop();for(var o=e.replace(/^\//,"").split("/"),a=0;a<o.length;a++){var s=o[a];".."===s?i.pop():"."!==s&&i.push(s)}return""!==i[0]&&i.unshift(""),i.join("/")}function Qi(e){return e.replace(/\/\//g,"/")}var Zi=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)},eo=ho,no=ao,to=function(e,n){return lo(ao(e,n),n)},ro=lo,io=Ao,oo=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function ao(e,n){for(var t,r=[],i=0,o=0,a="",s=n&&n.delimiter||"/";null!=(t=oo.exec(e));){var l=t[0],c=t[1],d=t.index;if(a+=e.slice(o,d),o=d+l.length,c)a+=c[1];else{var u=e[o],p=t[2],f=t[3],A=t[4],h=t[5],m=t[6],g=t[7];a&&(r.push(a),a="");var v=null!=p&&null!=u&&u!==p,b="+"===m||"*"===m,y="?"===m||"*"===m,C=t[2]||s,E=A||h;r.push({name:f||i++,prefix:p||"",delimiter:C,optional:y,repeat:b,partial:v,asterisk:!!g,pattern:E?uo(E):g?".*":"[^"+co(C)+"]+?"})}}return o<e.length&&(a+=e.substr(o)),a&&r.push(a),r}function so(e){return encodeURI(e).replace(/[\/?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function lo(e,n){for(var t=new Array(e.length),r=0;r<e.length;r++)"object"==typeof e[r]&&(t[r]=new RegExp("^(?:"+e[r].pattern+")$",fo(n)));return function(n,r){for(var i="",o=n||{},a=(r||{}).pretty?so:encodeURIComponent,s=0;s<e.length;s++){var l=e[s];if("string"!=typeof l){var c,d=o[l.name];if(null==d){if(l.optional){l.partial&&(i+=l.prefix);continue}throw new TypeError('Expected "'+l.name+'" to be defined')}if(Zi(d)){if(!l.repeat)throw new TypeError('Expected "'+l.name+'" to not repeat, but received `'+JSON.stringify(d)+"`");if(0===d.length){if(l.optional)continue;throw new TypeError('Expected "'+l.name+'" to not be empty')}for(var u=0;u<d.length;u++){if(c=a(d[u]),!t[s].test(c))throw new TypeError('Expected all "'+l.name+'" to match "'+l.pattern+'", but received `'+JSON.stringify(c)+"`");i+=(0===u?l.prefix:l.delimiter)+c}}else{if(c=l.asterisk?encodeURI(d).replace(/[?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})):a(d),!t[s].test(c))throw new TypeError('Expected "'+l.name+'" to match "'+l.pattern+'", but received "'+c+'"');i+=l.prefix+c}}else i+=l}return i}}function co(e){return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function uo(e){return e.replace(/([=!:$\/()])/g,"\\$1")}function po(e,n){return e.keys=n,e}function fo(e){return e&&e.sensitive?"":"i"}function Ao(e,n,t){Zi(n)||(t=n||t,n=[]);for(var r=(t=t||{}).strict,i=!1!==t.end,o="",a=0;a<e.length;a++){var s=e[a];if("string"==typeof s)o+=co(s);else{var l=co(s.prefix),c="(?:"+s.pattern+")";n.push(s),s.repeat&&(c+="(?:"+l+c+")*"),o+=c=s.optional?s.partial?l+"("+c+")?":"(?:"+l+"("+c+"))?":l+"("+c+")"}}var d=co(t.delimiter||"/"),u=o.slice(-d.length)===d;return r||(o=(u?o.slice(0,-d.length):o)+"(?:"+d+"(?=$))?"),o+=i?"$":r&&u?"":"(?="+d+"|$)",po(new RegExp("^"+o,fo(t)),n)}function ho(e,n,t){return Zi(n)||(t=n||t,n=[]),t=t||{},e instanceof RegExp?function(e,n){var t=e.source.match(/\((?!\?)/g);if(t)for(var r=0;r<t.length;r++)n.push({name:r,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return po(e,n)}(e,n):Zi(e)?function(e,n,t){for(var r=[],i=0;i<e.length;i++)r.push(ho(e[i],n,t).source);return po(new RegExp("(?:"+r.join("|")+")",fo(t)),n)}(e,n,t):function(e,n,t){return Ao(ao(e,t),n,t)}(e,n,t)}eo.parse=no,eo.compile=to,eo.tokensToFunction=ro,eo.tokensToRegExp=io;var mo=Object.create(null);function go(e,n,t){n=n||{};try{var r=mo[e]||(mo[e]=eo.compile(e));return"string"==typeof n.pathMatch&&(n[0]=n.pathMatch),r(n,{pretty:!0})}catch(e){return""}finally{delete n[0]}}function vo(e,n,t,r){var i="string"==typeof e?{path:e}:e;if(i._normalized)return i;if(i.name){var o=(i=Oi({},e)).params;return o&&"object"==typeof o&&(i.params=Oi({},o)),i}if(!i.path&&i.params&&n){(i=Oi({},i))._normalized=!0;var a=Oi(Oi({},n.params),i.params);if(n.name)i.name=n.name,i.params=a;else if(n.matched.length){var s=n.matched[n.matched.length-1].path;i.path=go(s,a,n.path)}return i}var l=function(e){var n="",t="",r=e.indexOf("#");r>=0&&(n=e.slice(r),e=e.slice(0,r));var i=e.indexOf("?");return i>=0&&(t=e.slice(i+1),e=e.slice(0,i)),{path:e,query:t,hash:n}}(i.path||""),c=n&&n.path||"/",d=l.path?Xi(l.path,c,t||i.append):c,u=function(e,n,t){void 0===n&&(n={});var r,i=t||Fi;try{r=i(e||"")}catch(e){r={}}for(var o in n){var a=n[o];r[o]=Array.isArray(a)?a.map(Ri):Ri(a)}return r}(l.query,i.query,r&&r.options.parseQuery),p=i.hash||l.hash;return p&&"#"!==p.charAt(0)&&(p="#"+p),{_normalized:!0,path:d,query:u,hash:p}}var bo,yo=function(){},Co={name:"RouterLink",props:{to:{type:[String,Object],required:!0},tag:{type:String,default:"a"},exact:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,ariaCurrentValue:{type:String,default:"page"},event:{type:[String,Array],default:"click"}},render:function(e){var n=this,t=this.$router,r=this.$route,i=t.resolve(this.to,r,this.append),o=i.location,a=i.route,s=i.href,l={},c=t.options.linkActiveClass,d=t.options.linkExactActiveClass,u=null==c?"router-link-active":c,p=null==d?"router-link-exact-active":d,f=null==this.activeClass?u:this.activeClass,A=null==this.exactActiveClass?p:this.exactActiveClass,h=a.redirectedFrom?ji(null,vo(a.redirectedFrom),null,t):a;l[A]=Wi(r,h),l[f]=this.exact?l[A]:function(e,n){return 0===e.path.replace(Pi,"/").indexOf(n.path.replace(Pi,"/"))&&(!n.hash||e.hash===n.hash)&&function(e,n){for(var t in n)if(!(t in e))return!1;return!0}(e.query,n.query)}(r,h);var m=l[A]?this.ariaCurrentValue:null,g=function(e){Eo(e)&&(n.replace?t.replace(o,yo):t.push(o,yo))},v={click:Eo};Array.isArray(this.event)?this.event.forEach((function(e){v[e]=g})):v[this.event]=g;var b={class:l},y=!this.$scopedSlots.$hasNormal&&this.$scopedSlots.default&&this.$scopedSlots.default({href:s,route:a,navigate:g,isActive:l[f],isExactActive:l[A]});if(y){if(1===y.length)return y[0];if(y.length>1||!y.length)return 0===y.length?e():e("span",{},y)}if("a"===this.tag)b.on=v,b.attrs={href:s,"aria-current":m};else{var C=xo(this.$slots.default);if(C){C.isStatic=!1;var E=C.data=Oi({},C.data);for(var x in E.on=E.on||{},E.on){var w=E.on[x];x in v&&(E.on[x]=Array.isArray(w)?w:[w])}for(var k in v)k in E.on?E.on[k].push(v[k]):E.on[k]=g;var _=C.data.attrs=Oi({},C.data.attrs);_.href=s,_["aria-current"]=m}else b.on=v}return e(this.tag,b,this.$slots.default)}};function Eo(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey||e.defaultPrevented||void 0!==e.button&&0!==e.button)){if(e.currentTarget&&e.currentTarget.getAttribute){var n=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(n))return}return e.preventDefault&&e.preventDefault(),!0}}function xo(e){if(e)for(var n,t=0;t<e.length;t++){if("a"===(n=e[t]).tag)return n;if(n.children&&(n=xo(n.children)))return n}}var wo="undefined"!=typeof window;function ko(e,n,t,r){var i=n||[],o=t||Object.create(null),a=r||Object.create(null);e.forEach((function(e){_o(i,o,a,e)}));for(var s=0,l=i.length;s<l;s++)"*"===i[s]&&(i.push(i.splice(s,1)[0]),l--,s--);return{pathList:i,pathMap:o,nameMap:a}}function _o(e,n,t,r,i,o){var a=r.path,s=r.name,l=r.pathToRegexpOptions||{},c=function(e,n,t){t||(e=e.replace(/\/$/,""));if("/"===e[0])return e;if(null==n)return e;return Qi(n.path+"/"+e)}(a,i,l.strict);"boolean"==typeof r.caseSensitive&&(l.sensitive=r.caseSensitive);var d={path:c,regex:So(c,l),components:r.components||{default:r.component},instances:{},enteredCbs:{},name:s,parent:i,matchAs:o,redirect:r.redirect,beforeEnter:r.beforeEnter,meta:r.meta||{},props:null==r.props?{}:r.components?r.props:{default:r.props}};if(r.children&&r.children.forEach((function(r){var i=o?Qi(o+"/"+r.path):void 0;_o(e,n,t,r,d,i)})),n[d.path]||(e.push(d.path),n[d.path]=d),void 0!==r.alias)for(var u=Array.isArray(r.alias)?r.alias:[r.alias],p=0;p<u.length;++p){var f={path:u[p],children:r.children};_o(e,n,t,f,i,d.path||"/")}s&&(t[s]||(t[s]=d))}function So(e,n){return eo(e,[],n)}function Do(e,n){var t=ko(e),r=t.pathList,i=t.pathMap,o=t.nameMap;function a(e,t,a){var s=vo(e,t,!1,n),c=s.name;if(c){var d=o[c];if(!d)return l(null,s);var u=d.regex.keys.filter((function(e){return!e.optional})).map((function(e){return e.name}));if("object"!=typeof s.params&&(s.params={}),t&&"object"==typeof t.params)for(var p in t.params)!(p in s.params)&&u.indexOf(p)>-1&&(s.params[p]=t.params[p]);return s.path=go(d.path,s.params),l(d,s,a)}if(s.path){s.params={};for(var f=0;f<r.length;f++){var A=r[f],h=i[A];if(Bo(h.regex,s.path,s.params))return l(h,s,a)}}return l(null,s)}function s(e,t){var r=e.redirect,i="function"==typeof r?r(ji(e,t,null,n)):r;if("string"==typeof i&&(i={path:i}),!i||"object"!=typeof i)return l(null,t);var s=i,c=s.name,d=s.path,u=t.query,p=t.hash,f=t.params;if(u=s.hasOwnProperty("query")?s.query:u,p=s.hasOwnProperty("hash")?s.hash:p,f=s.hasOwnProperty("params")?s.params:f,c){o[c];return a({_normalized:!0,name:c,query:u,hash:p,params:f},void 0,t)}return d?a({_normalized:!0,path:go(function(e,n){return Xi(e,n.parent?n.parent.path:"/",!0)}(d,e),f),query:u,hash:p},void 0,t):l(null,t)}function l(e,t,r){return e&&e.redirect?s(e,r||t):e&&e.matchAs?function(e,n,t){var r=a({_normalized:!0,path:go(t,n.params)});if(r){var i=r.matched,o=i[i.length-1];return n.params=r.params,l(o,n)}return l(null,n)}(0,t,e.matchAs):ji(e,t,r,n)}return{match:a,addRoutes:function(e){ko(e,r,i,o)}}}function Bo(e,n,t){try{n=decodeURI(n)}catch(e){}var r=n.match(e);if(!r)return!1;if(!t)return!0;for(var i=1,o=r.length;i<o;++i){var a=e.keys[i-1];a&&(t[a.name||"pathMatch"]=r[i])}return!0}var zo=wo&&window.performance&&window.performance.now?window.performance:Date;function Oo(){return zo.now().toFixed(3)}var Mo=Oo();function To(){return Mo}function Io(e){return Mo=e}var $o=Object.create(null);function No(){"scrollRestoration"in window.history&&(window.history.scrollRestoration="manual");var e=window.location.protocol+"//"+window.location.host,n=window.location.href.replace(e,""),t=Oi({},window.history.state);return t.key=To(),window.history.replaceState(t,"",n),window.addEventListener("popstate",Lo),function(){window.removeEventListener("popstate",Lo)}}function Ro(e,n,t,r){if(e.app){var i=e.options.scrollBehavior;i&&e.app.$nextTick((function(){var o=function(){var e=To();if(e)return $o[e]}(),a=i.call(e,n,t,r?o:null);a&&("function"==typeof a.then?a.then((function(e){qo(e,o)})).catch((function(e){})):qo(a,o))}))}}function Fo(){var e=To();e&&($o[e]={x:window.pageXOffset,y:window.pageYOffset})}function Lo(e){Fo(),e.state&&e.state.key&&Io(e.state.key)}function Po(e){return Yo(e.x)||Yo(e.y)}function jo(e){return{x:Yo(e.x)?e.x:window.pageXOffset,y:Yo(e.y)?e.y:window.pageYOffset}}function Yo(e){return"number"==typeof e}var Uo=/^#\d/;function qo(e,n){var t,r="object"==typeof e;if(r&&"string"==typeof e.selector){var i=Uo.test(e.selector)?document.getElementById(e.selector.slice(1)):document.querySelector(e.selector);if(i){var o=e.offset&&"object"==typeof e.offset?e.offset:{};n=function(e,n){var t=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{x:r.left-t.left-n.x,y:r.top-t.top-n.y}}(i,o={x:Yo((t=o).x)?t.x:0,y:Yo(t.y)?t.y:0})}else Po(e)&&(n=jo(e))}else r&&Po(e)&&(n=jo(e));n&&("scrollBehavior"in document.documentElement.style?window.scrollTo({left:n.x,top:n.y,behavior:e.behavior}):window.scrollTo(n.x,n.y))}var Ho,Wo=wo&&((-1===(Ho=window.navigator.userAgent).indexOf("Android 2.")&&-1===Ho.indexOf("Android 4.0")||-1===Ho.indexOf("Mobile Safari")||-1!==Ho.indexOf("Chrome")||-1!==Ho.indexOf("Windows Phone"))&&window.history&&"function"==typeof window.history.pushState);function Vo(e,n){Fo();var t=window.history;try{if(n){var r=Oi({},t.state);r.key=To(),t.replaceState(r,"",e)}else t.pushState({key:Io(Oo())},"",e)}catch(t){window.location[n?"replace":"assign"](e)}}function Jo(e){Vo(e,!0)}function Ko(e,n,t){var r=function(i){i>=e.length?t():e[i]?n(e[i],(function(){r(i+1)})):r(i+1)};r(0)}var Go={redirected:2,aborted:4,cancelled:8,duplicated:16};function Xo(e,n){return Zo(e,n,Go.redirected,'Redirected when going from "'+e.fullPath+'" to "'+function(e){if("string"==typeof e)return e;if("path"in e)return e.path;var n={};return ea.forEach((function(t){t in e&&(n[t]=e[t])})),JSON.stringify(n,null,2)}(n)+'" via a navigation guard.')}function Qo(e,n){return Zo(e,n,Go.cancelled,'Navigation cancelled from "'+e.fullPath+'" to "'+n.fullPath+'" with a new navigation.')}function Zo(e,n,t,r){var i=new Error(r);return i._isRouter=!0,i.from=e,i.to=n,i.type=t,i}var ea=["params","query","hash"];function na(e){return Object.prototype.toString.call(e).indexOf("Error")>-1}function ta(e,n){return na(e)&&e._isRouter&&(null==n||e.type===n)}function ra(e){return function(n,t,r){var i=!1,o=0,a=null;ia(e,(function(e,n,t,s){if("function"==typeof e&&void 0===e.cid){i=!0,o++;var l,c=sa((function(n){var i;((i=n).__esModule||aa&&"Module"===i[Symbol.toStringTag])&&(n=n.default),e.resolved="function"==typeof n?n:bo.extend(n),t.components[s]=n,--o<=0&&r()})),d=sa((function(e){var n="Failed to resolve async component "+s+": "+e;a||(a=na(e)?e:new Error(n),r(a))}));try{l=e(c,d)}catch(e){d(e)}if(l)if("function"==typeof l.then)l.then(c,d);else{var u=l.component;u&&"function"==typeof u.then&&u.then(c,d)}}})),i||r()}}function ia(e,n){return oa(e.map((function(e){return Object.keys(e.components).map((function(t){return n(e.components[t],e.instances[t],e,t)}))})))}function oa(e){return Array.prototype.concat.apply([],e)}var aa="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;function sa(e){var n=!1;return function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];if(!n)return n=!0,e.apply(this,t)}}var la=function(e,n){this.router=e,this.base=function(e){if(!e)if(wo){var n=document.querySelector("base");e=(e=n&&n.getAttribute("href")||"/").replace(/^https?:\/\/[^\/]+/,"")}else e="/";"/"!==e.charAt(0)&&(e="/"+e);return e.replace(/\/$/,"")}(n),this.current=Ui,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};function ca(e,n,t,r){var i=ia(e,(function(e,r,i,o){var a=function(e,n){"function"!=typeof e&&(e=bo.extend(e));return e.options[n]}(e,n);if(a)return Array.isArray(a)?a.map((function(e){return t(e,r,i,o)})):t(a,r,i,o)}));return oa(r?i.reverse():i)}function da(e,n){if(n)return function(){return e.apply(n,arguments)}}la.prototype.listen=function(e){this.cb=e},la.prototype.onReady=function(e,n){this.ready?e():(this.readyCbs.push(e),n&&this.readyErrorCbs.push(n))},la.prototype.onError=function(e){this.errorCbs.push(e)},la.prototype.transitionTo=function(e,n,t){var r,i=this;try{r=this.router.match(e,this.current)}catch(e){throw this.errorCbs.forEach((function(n){n(e)})),e}var o=this.current;this.confirmTransition(r,(function(){i.updateRoute(r),n&&n(r),i.ensureURL(),i.router.afterHooks.forEach((function(e){e&&e(r,o)})),i.ready||(i.ready=!0,i.readyCbs.forEach((function(e){e(r)})))}),(function(e){t&&t(e),e&&!i.ready&&(ta(e,Go.redirected)&&o===Ui||(i.ready=!0,i.readyErrorCbs.forEach((function(n){n(e)}))))}))},la.prototype.confirmTransition=function(e,n,t){var r=this,i=this.current;this.pending=e;var o,a,s=function(e){!ta(e)&&na(e)&&(r.errorCbs.length?r.errorCbs.forEach((function(n){n(e)})):console.error(e)),t&&t(e)},l=e.matched.length-1,c=i.matched.length-1;if(Wi(e,i)&&l===c&&e.matched[l]===i.matched[c])return this.ensureURL(),s(((a=Zo(o=i,e,Go.duplicated,'Avoided redundant navigation to current location: "'+o.fullPath+'".')).name="NavigationDuplicated",a));var d=function(e,n){var t,r=Math.max(e.length,n.length);for(t=0;t<r&&e[t]===n[t];t++);return{updated:n.slice(0,t),activated:n.slice(t),deactivated:e.slice(t)}}(this.current.matched,e.matched),u=d.updated,p=d.deactivated,f=d.activated,A=[].concat(function(e){return ca(e,"beforeRouteLeave",da,!0)}(p),this.router.beforeHooks,function(e){return ca(e,"beforeRouteUpdate",da)}(u),f.map((function(e){return e.beforeEnter})),ra(f)),h=function(n,t){if(r.pending!==e)return s(Qo(i,e));try{n(e,i,(function(n){!1===n?(r.ensureURL(!0),s(function(e,n){return Zo(e,n,Go.aborted,'Navigation aborted from "'+e.fullPath+'" to "'+n.fullPath+'" via a navigation guard.')}(i,e))):na(n)?(r.ensureURL(!0),s(n)):"string"==typeof n||"object"==typeof n&&("string"==typeof n.path||"string"==typeof n.name)?(s(Xo(i,e)),"object"==typeof n&&n.replace?r.replace(n):r.push(n)):t(n)}))}catch(e){s(e)}};Ko(A,h,(function(){Ko(function(e){return ca(e,"beforeRouteEnter",(function(e,n,t,r){return function(e,n,t){return function(r,i,o){return e(r,i,(function(e){"function"==typeof e&&(n.enteredCbs[t]||(n.enteredCbs[t]=[]),n.enteredCbs[t].push(e)),o(e)}))}}(e,t,r)}))}(f).concat(r.router.resolveHooks),h,(function(){if(r.pending!==e)return s(Qo(i,e));r.pending=null,n(e),r.router.app&&r.router.app.$nextTick((function(){Ji(e)}))}))}))},la.prototype.updateRoute=function(e){this.current=e,this.cb&&this.cb(e)},la.prototype.setupListeners=function(){},la.prototype.teardown=function(){this.listeners.forEach((function(e){e()})),this.listeners=[],this.current=Ui,this.pending=null};var ua=function(e){function n(n,t){e.call(this,n,t),this._startLocation=pa(this.base)}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.setupListeners=function(){var e=this;if(!(this.listeners.length>0)){var n=this.router,t=n.options.scrollBehavior,r=Wo&&t;r&&this.listeners.push(No());var i=function(){var t=e.current,i=pa(e.base);e.current===Ui&&i===e._startLocation||e.transitionTo(i,(function(e){r&&Ro(n,e,t,!0)}))};window.addEventListener("popstate",i),this.listeners.push((function(){window.removeEventListener("popstate",i)}))}},n.prototype.go=function(e){window.history.go(e)},n.prototype.push=function(e,n,t){var r=this,i=this.current;this.transitionTo(e,(function(e){Vo(Qi(r.base+e.fullPath)),Ro(r.router,e,i,!1),n&&n(e)}),t)},n.prototype.replace=function(e,n,t){var r=this,i=this.current;this.transitionTo(e,(function(e){Jo(Qi(r.base+e.fullPath)),Ro(r.router,e,i,!1),n&&n(e)}),t)},n.prototype.ensureURL=function(e){if(pa(this.base)!==this.current.fullPath){var n=Qi(this.base+this.current.fullPath);e?Vo(n):Jo(n)}},n.prototype.getCurrentLocation=function(){return pa(this.base)},n}(la);function pa(e){var n=window.location.pathname;return e&&0===n.toLowerCase().indexOf(e.toLowerCase())&&(n=n.slice(e.length)),(n||"/")+window.location.search+window.location.hash}var fa=function(e){function n(n,t,r){e.call(this,n,t),r&&function(e){var n=pa(e);if(!/^\/#/.test(n))return window.location.replace(Qi(e+"/#"+n)),!0}(this.base)||Aa()}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.setupListeners=function(){var e=this;if(!(this.listeners.length>0)){var n=this.router.options.scrollBehavior,t=Wo&&n;t&&this.listeners.push(No());var r=function(){var n=e.current;Aa()&&e.transitionTo(ha(),(function(r){t&&Ro(e.router,r,n,!0),Wo||va(r.fullPath)}))},i=Wo?"popstate":"hashchange";window.addEventListener(i,r),this.listeners.push((function(){window.removeEventListener(i,r)}))}},n.prototype.push=function(e,n,t){var r=this,i=this.current;this.transitionTo(e,(function(e){ga(e.fullPath),Ro(r.router,e,i,!1),n&&n(e)}),t)},n.prototype.replace=function(e,n,t){var r=this,i=this.current;this.transitionTo(e,(function(e){va(e.fullPath),Ro(r.router,e,i,!1),n&&n(e)}),t)},n.prototype.go=function(e){window.history.go(e)},n.prototype.ensureURL=function(e){var n=this.current.fullPath;ha()!==n&&(e?ga(n):va(n))},n.prototype.getCurrentLocation=function(){return ha()},n}(la);function Aa(){var e=ha();return"/"===e.charAt(0)||(va("/"+e),!1)}function ha(){var e=window.location.href,n=e.indexOf("#");return n<0?"":e=e.slice(n+1)}function ma(e){var n=window.location.href,t=n.indexOf("#");return(t>=0?n.slice(0,t):n)+"#"+e}function ga(e){Wo?Vo(ma(e)):window.location.hash=e}function va(e){Wo?Jo(ma(e)):window.location.replace(ma(e))}var ba=function(e){function n(n,t){e.call(this,n,t),this.stack=[],this.index=-1}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.push=function(e,n,t){var r=this;this.transitionTo(e,(function(e){r.stack=r.stack.slice(0,r.index+1).concat(e),r.index++,n&&n(e)}),t)},n.prototype.replace=function(e,n,t){var r=this;this.transitionTo(e,(function(e){r.stack=r.stack.slice(0,r.index).concat(e),n&&n(e)}),t)},n.prototype.go=function(e){var n=this,t=this.index+e;if(!(t<0||t>=this.stack.length)){var r=this.stack[t];this.confirmTransition(r,(function(){var e=n.current;n.index=t,n.updateRoute(r),n.router.afterHooks.forEach((function(n){n&&n(r,e)}))}),(function(e){ta(e,Go.duplicated)&&(n.index=t)}))}},n.prototype.getCurrentLocation=function(){var e=this.stack[this.stack.length-1];return e?e.fullPath:"/"},n.prototype.ensureURL=function(){},n}(la),ya=function(e){void 0===e&&(e={}),this.app=null,this.apps=[],this.options=e,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=Do(e.routes||[],this);var n=e.mode||"hash";switch(this.fallback="history"===n&&!Wo&&!1!==e.fallback,this.fallback&&(n="hash"),wo||(n="abstract"),this.mode=n,n){case"history":this.history=new ua(this,e.base);break;case"hash":this.history=new fa(this,e.base,this.fallback);break;case"abstract":this.history=new ba(this,e.base)}},Ca={currentRoute:{configurable:!0}};function Ea(e,n){return e.push(n),function(){var t=e.indexOf(n);t>-1&&e.splice(t,1)}}ya.prototype.match=function(e,n,t){return this.matcher.match(e,n,t)},Ca.currentRoute.get=function(){return this.history&&this.history.current},ya.prototype.init=function(e){var n=this;if(this.apps.push(e),e.$once("hook:destroyed",(function(){var t=n.apps.indexOf(e);t>-1&&n.apps.splice(t,1),n.app===e&&(n.app=n.apps[0]||null),n.app||n.history.teardown()})),!this.app){this.app=e;var t=this.history;if(t instanceof ua||t instanceof fa){var r=function(e){t.setupListeners(),function(e){var r=t.current,i=n.options.scrollBehavior;Wo&&i&&"fullPath"in e&&Ro(n,e,r,!1)}(e)};t.transitionTo(t.getCurrentLocation(),r,r)}t.listen((function(e){n.apps.forEach((function(n){n._route=e}))}))}},ya.prototype.beforeEach=function(e){return Ea(this.beforeHooks,e)},ya.prototype.beforeResolve=function(e){return Ea(this.resolveHooks,e)},ya.prototype.afterEach=function(e){return Ea(this.afterHooks,e)},ya.prototype.onReady=function(e,n){this.history.onReady(e,n)},ya.prototype.onError=function(e){this.history.onError(e)},ya.prototype.push=function(e,n,t){var r=this;if(!n&&!t&&"undefined"!=typeof Promise)return new Promise((function(n,t){r.history.push(e,n,t)}));this.history.push(e,n,t)},ya.prototype.replace=function(e,n,t){var r=this;if(!n&&!t&&"undefined"!=typeof Promise)return new Promise((function(n,t){r.history.replace(e,n,t)}));this.history.replace(e,n,t)},ya.prototype.go=function(e){this.history.go(e)},ya.prototype.back=function(){this.go(-1)},ya.prototype.forward=function(){this.go(1)},ya.prototype.getMatchedComponents=function(e){var n=e?e.matched?e:this.resolve(e).route:this.currentRoute;return n?[].concat.apply([],n.matched.map((function(e){return Object.keys(e.components).map((function(n){return e.components[n]}))}))):[]},ya.prototype.resolve=function(e,n,t){var r=vo(e,n=n||this.history.current,t,this),i=this.match(r,n),o=i.redirectedFrom||i.fullPath;return{location:r,route:i,href:function(e,n,t){var r="hash"===t?"#"+n:n;return e?Qi(e+"/"+r):r}(this.history.base,o,this.mode),normalizedTo:r,resolved:i}},ya.prototype.addRoutes=function(e){this.matcher.addRoutes(e),this.history.current!==Ui&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(ya.prototype,Ca),ya.install=function e(n){if(!e.installed||bo!==n){e.installed=!0,bo=n;var t=function(e){return void 0!==e},r=function(e,n){var r=e.$options._parentVnode;t(r)&&t(r=r.data)&&t(r=r.registerRouteInstance)&&r(e,n)};n.mixin({beforeCreate:function(){t(this.$options.router)?(this._routerRoot=this,this._router=this.$options.router,this._router.init(this),n.util.defineReactive(this,"_route",this._router.history.current)):this._routerRoot=this.$parent&&this.$parent._routerRoot||this,r(this,this)},destroyed:function(){r(this)}}),Object.defineProperty(n.prototype,"$router",{get:function(){return this._routerRoot._router}}),Object.defineProperty(n.prototype,"$route",{get:function(){return this._routerRoot._route}}),n.component("RouterView",Ki),n.component("RouterLink",Co);var i=n.config.optionMergeStrategies;i.beforeRouteEnter=i.beforeRouteLeave=i.beforeRouteUpdate=i.created}},ya.version="3.4.8",ya.isNavigationFailure=ta,ya.NavigationFailureType=Go,wo&&window.Vue&&window.Vue.use(ya);var xa,wa,ka=(e,n,t)=>{if(!n.has(e))throw TypeError("Cannot "+t)},_a=(e,n,t)=>(ka(e,n,"read from private field"),t?t.call(e):n.get(e)),Sa=(e,n,t,r)=>(ka(e,n,"write to private field"),r?r.call(e,t):n.set(e,t),t);function Da(e,n,t,r,i,o,a,s,l,c){"boolean"!=typeof a&&(l=s,s=a,a=!1);const d="function"==typeof t?t.options:t;let u;if(e&&e.render&&(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,i&&(d.functional=!0)),r&&(d._scopeId=r),o?(u=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),n&&n.call(this,l(e)),e&&e._registeredComponents&&e._registeredComponents.add(o)},d._ssrRegister=u):n&&(u=a?function(e){n.call(this,c(e,this.$root.$options.shadowRoot))}:function(e){n.call(this,s(e))}),u)if(d.functional){const e=d.render;d.render=function(n,t){return u.call(t),e(n,t)}}else{const e=d.beforeCreate;d.beforeCreate=e?[].concat(e,u):[u]}return t}xa=new WeakMap,wa=new WeakMap;const Ba={props:{value:{type:String,default:null},maxLength:{type:Number,default:null},disabled:{type:Boolean,default:!1},placeholder:{type:String,default:null}}};var za=function(){var e=this,n=e.$createElement;return(e._self._c||n)("input",{directives:[{name:"localize",rawName:"v-localize:placeholder",value:e.placeholder,expression:"placeholder",arg:"placeholder"}],staticClass:"ui-input",attrs:{type:"text",maxlength:e.maxLength,disabled:e.disabled},domProps:{value:e.value},on:{input:function(n){return e.$emit("input",n.target.value)}}})};za._withStripped=!0;const Oa=Da({render:za,staticRenderFns:[]},undefined,Ba,undefined,false,undefined,!1,void 0,void 0,void 0);const Ma={props:{value:{type:Number,default:null},disabled:{type:Boolean,default:!1},placeholder:String}};var Ta=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-box"},[t("input",{directives:[{name:"localize",rawName:"v-localize:placeholder",value:e.placeholder,expression:"placeholder",arg:"placeholder"}],staticClass:"ui-input",attrs:{type:"text",disabled:e.disabled},domProps:{value:e.value},on:{input:function(n){return e.$emit("input",+n.target.value)}}})])};Ta._withStripped=!0;const Ia=Da({render:Ta,staticRenderFns:[]},undefined,Ma,undefined,false,undefined,!1,void 0,void 0,void 0);const $a={props:{value:Number,maxLength:Number,placeholder:String,disabled:Boolean},methods:{onChange(e){var n=parseFloat(e);isNaN(n)||this.$emit("input",n)}}};var Na=function(){var e=this,n=e.$createElement;return(e._self._c||n)("input",{directives:[{name:"localize",rawName:"v-localize:placeholder",value:e.placeholder,expression:"placeholder",arg:"placeholder"}],staticClass:"ui-input",attrs:{type:"text",maxlength:e.maxLength,disabled:e.disabled},domProps:{value:e.value},on:{input:function(n){return e.onChange(n.target.value)}}})};Na._withStripped=!0;const Ra=Da({render:Na,staticRenderFns:[]},undefined,$a,undefined,false,undefined,!1,void 0,void 0,void 0);const Fa={props:{value:{type:String,default:null},disabled:{type:Boolean,default:!1},config:Object}};var La=function(){var e=this,n=e.$createElement;return(e._self._c||n)("ui-rte",{attrs:{value:e.value,disabled:e.disabled},on:{input:function(n){return e.$emit("input",n)}}})};La._withStripped=!0;const Pa=Da({render:La,staticRenderFns:[]},undefined,Fa,undefined,false,undefined,!1,void 0,void 0,void 0);const ja={props:{value:[String,Number,Object],items:Array,disabled:Boolean}};var Ya=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-native-select",attrs:{disabled:e.disabled}},[t("select",{attrs:{disabled:e.disabled},domProps:{value:e.value},on:{input:function(n){return e.$emit("input",n.target.value)}}},e._l(e.items,(function(e){return t("option",{directives:[{name:"localize",rawName:"v-localize",value:e.value,expression:"item.value"}],domProps:{value:e.key}})})),0)])};Ya._withStripped=!0;const Ua=Da({render:Ya,staticRenderFns:[]},undefined,ja,undefined,false,undefined,!1,void 0,void 0,void 0);const qa={props:{value:{type:String},disabled:{type:Boolean,default:!1},config:Object}};var Ha=function(){var e=this,n=e.$createElement;return(e._self._c||n)("textarea",{staticClass:"ui-textarea",attrs:{rows:"3",disabled:e.disabled},domProps:{value:e.value},on:{input:function(n){return e.$emit("input",n.target.value)}}})};Ha._withStripped=!0;const Wa=Da({render:Ha,staticRenderFns:[]},undefined,qa,undefined,false,undefined,!1,void 0,void 0,void 0);const Va={props:{value:Boolean,disabled:Boolean,negative:Boolean}};var Ja=function(){var e=this,n=e.$createElement;return(e._self._c||n)("ui-toggle",{attrs:{value:e.value,disabled:e.disabled,negative:e.negative},on:{input:function(n){return e.$emit("input",n)}}})};Ja._withStripped=!0;const Ka=Da({render:Ja,staticRenderFns:[]},undefined,Va,undefined,false,undefined,!1,void 0,void 0,void 0);const Ga={props:{value:{type:String,default:null},entity:{type:Object,required:!0},config:Object,disabled:{type:Boolean,default:!1}},computed:{maxLength(){return this.config.maxLength>0?this.config.maxLength:null}}};var Xa=function(){var e=this,n=e.$createElement;return(e._self._c||n)("ui-alias",{attrs:{value:e.value,name:e.entity.name,"max-length":e.maxLength,disabled:e.disabled},on:{input:function(n){return e.$emit("input",n)}}})};Xa._withStripped=!0;const Qa=Da({render:Xa,staticRenderFns:[]},undefined,Ga,undefined,false,undefined,!1,void 0,void 0,void 0);const Za={props:{value:[Object,String,Array,Number,Boolean],entity:Object,render:Function},computed:{output(){return"function"==typeof this.render?this.render(this.value,this.entity):this.value}}};var es=function(){var e=this,n=e.$createElement;return(e._self._c||n)("span",{directives:[{name:"localize",rawName:"v-localize",value:e.output,expression:"output"}],staticClass:"ui-property-output"})};es._withStripped=!0;const ns=Da({render:es,staticRenderFns:[]},undefined,Za,undefined,false,undefined,!1,void 0,void 0,void 0);const ts={props:{value:{type:Array,default:()=>[]},disabled:{type:Boolean,default:!1},items:{type:[Array,Function,Promise],required:!0},limit:{type:Number,default:100},reverse:Boolean,labelKey:{type:String,default:"value"},idKey:{type:String,default:"key"}}};var rs=function(){var e=this,n=e.$createElement;return(e._self._c||n)("ui-check-list",{attrs:{value:e.value,reverse:e.reverse,items:e.items,limit:e.limit,"label-key":e.labelKey,"id-key":e.idKey,disabled:e.disabled},on:{input:function(n){return e.$emit("input",n)}}})};rs._withStripped=!0;const is=Da({render:rs,staticRenderFns:[]},undefined,ts,undefined,false,undefined,!1,void 0,void 0,void 0);const as={props:{value:{type:String},disabled:{type:Boolean,default:!1},config:Object}};var ss=function(){var e=this,n=e.$createElement;return(e._self._c||n)("ui-colorpicker",{attrs:{value:e.value,disabled:e.disabled},on:{input:function(n){return e.$emit("input",n)}}})};ss._withStripped=!0;const ls=Da({render:ss,staticRenderFns:[]},undefined,as,undefined,false,undefined,!1,void 0,void 0,void 0);const cs={props:{value:[String,Array],disabled:Boolean,limit:{type:Number,default:1}}};var ds=function(){var e=this,n=e.$createElement;return(e._self._c||n)("ui-countrypicker",{attrs:{value:e.value,limit:e.limit,disabled:e.disabled},on:{input:function(n){return e.$emit("input",n)}}})};ds._withStripped=!0;const us=Da({render:ds,staticRenderFns:[]},undefined,cs,undefined,false,undefined,!1,void 0,void 0,void 0);const ps={props:{value:[String,Array],disabled:Boolean,limit:{type:Number,default:1}}};var fs=function(){var e=this,n=e.$createElement;return(e._self._c||n)("ui-spacepicker",{attrs:{value:e.value,limit:e.limit,disabled:e.disabled},on:{input:function(n){return e.$emit("input",n)}}})};fs._withStripped=!0;const As=Da({render:fs,staticRenderFns:[]},undefined,ps,undefined,false,undefined,!1,void 0,void 0,void 0);const hs={props:{value:[String,Array],disabled:Boolean,limit:{type:Number,default:1}}};var ms=function(){var e=this,n=e.$createElement;return(e._self._c||n)("ui-mailtemplatepicker",{attrs:{value:e.value,limit:e.limit,disabled:e.disabled},on:{input:function(n){return e.$emit("input",n)}}})};ms._withStripped=!0;const gs=Da({render:ms,staticRenderFns:[]},undefined,hs,undefined,false,undefined,!1,void 0,void 0,void 0);var vs=function(e,n){return function(){for(var t=new Array(arguments.length),r=0;r<t.length;r++)t[r]=arguments[r];return e.apply(n,t)}},bs=Object.prototype.toString;function ys(e){return"[object Array]"===bs.call(e)}function Cs(e){return void 0===e}function Es(e){return null!==e&&"object"==typeof e}function xs(e){if("[object Object]"!==bs.call(e))return!1;var n=Object.getPrototypeOf(e);return null===n||n===Object.prototype}function ws(e){return"[object Function]"===bs.call(e)}function ks(e,n){if(null!=e)if("object"!=typeof e&&(e=[e]),ys(e))for(var t=0,r=e.length;t<r;t++)n.call(null,e[t],t,e);else for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&n.call(null,e[i],i,e)}var _s={isArray:ys,isArrayBuffer:function(e){return"[object ArrayBuffer]"===bs.call(e)},isBuffer:function(e){return null!==e&&!Cs(e)&&null!==e.constructor&&!Cs(e.constructor)&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)},isFormData:function(e){return"undefined"!=typeof FormData&&e instanceof FormData},isArrayBufferView:function(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer},isString:function(e){return"string"==typeof e},isNumber:function(e){return"number"==typeof e},isObject:Es,isPlainObject:xs,isUndefined:Cs,isDate:function(e){return"[object Date]"===bs.call(e)},isFile:function(e){return"[object File]"===bs.call(e)},isBlob:function(e){return"[object Blob]"===bs.call(e)},isFunction:ws,isStream:function(e){return Es(e)&&ws(e.pipe)},isURLSearchParams:function(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams},isStandardBrowserEnv:function(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)},forEach:ks,merge:function e(){var n={};function t(t,r){xs(n[r])&&xs(t)?n[r]=e(n[r],t):xs(t)?n[r]=e({},t):ys(t)?n[r]=t.slice():n[r]=t}for(var r=0,i=arguments.length;r<i;r++)ks(arguments[r],t);return n},extend:function(e,n,t){return ks(n,(function(n,r){e[r]=t&&"function"==typeof n?vs(n,t):n})),e},trim:function(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")},stripBOM:function(e){return 65279===e.charCodeAt(0)&&(e=e.slice(1)),e}};function Ss(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var Ds=function(e,n,t){if(!n)return e;var r;if(t)r=t(n);else if(_s.isURLSearchParams(n))r=n.toString();else{var i=[];_s.forEach(n,(function(e,n){null!=e&&(_s.isArray(e)?n+="[]":e=[e],_s.forEach(e,(function(e){_s.isDate(e)?e=e.toISOString():_s.isObject(e)&&(e=JSON.stringify(e)),i.push(Ss(n)+"="+Ss(e))})))})),r=i.join("&")}if(r){var o=e.indexOf("#");-1!==o&&(e=e.slice(0,o)),e+=(-1===e.indexOf("?")?"?":"&")+r}return e};function Bs(){this.handlers=[]}Bs.prototype.use=function(e,n){return this.handlers.push({fulfilled:e,rejected:n}),this.handlers.length-1},Bs.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},Bs.prototype.forEach=function(e){_s.forEach(this.handlers,(function(n){null!==n&&e(n)}))};var zs=Bs,Os=function(e,n,t){return _s.forEach(t,(function(t){e=t(e,n)})),e},Ms=function(e){return!(!e||!e.__CANCEL__)},Ts=function(e,n){_s.forEach(e,(function(t,r){r!==n&&r.toUpperCase()===n.toUpperCase()&&(e[n]=t,delete e[r])}))},Is=function(e,n,t,r,i){return function(e,n,t,r,i){return e.config=n,t&&(e.code=t),e.request=r,e.response=i,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},e}(new Error(e),n,t,r,i)},$s=_s.isStandardBrowserEnv()?{write:function(e,n,t,r,i,o){var a=[];a.push(e+"="+encodeURIComponent(n)),_s.isNumber(t)&&a.push("expires="+new Date(t).toGMTString()),_s.isString(r)&&a.push("path="+r),_s.isString(i)&&a.push("domain="+i),!0===o&&a.push("secure"),document.cookie=a.join("; ")},read:function(e){var n=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return n?decodeURIComponent(n[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}},Ns=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"],Rs=_s.isStandardBrowserEnv()?function(){var e,n=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");function r(e){var r=e;return n&&(t.setAttribute("href",r),r=t.href),t.setAttribute("href",r),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:"/"===t.pathname.charAt(0)?t.pathname:"/"+t.pathname}}return e=r(window.location.href),function(n){var t=_s.isString(n)?r(n):n;return t.protocol===e.protocol&&t.host===e.host}}():function(){return!0},Fs=function(e){return new Promise((function(n,t){var r=e.data,i=e.headers;_s.isFormData(r)&&delete i["Content-Type"];var o=new XMLHttpRequest;if(e.auth){var a=e.auth.username||"",s=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";i.Authorization="Basic "+btoa(a+":"+s)}var l,c,d=(l=e.baseURL,c=e.url,l&&!/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(c)?function(e,n){return n?e.replace(/\/+$/,"")+"/"+n.replace(/^\/+/,""):e}(l,c):c);if(o.open(e.method.toUpperCase(),Ds(d,e.params,e.paramsSerializer),!0),o.timeout=e.timeout,o.onreadystatechange=function(){if(o&&4===o.readyState&&(0!==o.status||o.responseURL&&0===o.responseURL.indexOf("file:"))){var r,i,a,s,l,c="getAllResponseHeaders"in o?(r=o.getAllResponseHeaders(),l={},r?(_s.forEach(r.split("\n"),(function(e){if(s=e.indexOf(":"),i=_s.trim(e.substr(0,s)).toLowerCase(),a=_s.trim(e.substr(s+1)),i){if(l[i]&&Ns.indexOf(i)>=0)return;l[i]="set-cookie"===i?(l[i]?l[i]:[]).concat([a]):l[i]?l[i]+", "+a:a}})),l):l):null,d={data:e.responseType&&"text"!==e.responseType?o.response:o.responseText,status:o.status,statusText:o.statusText,headers:c,config:e,request:o};!function(e,n,t){var r=t.config.validateStatus;t.status&&r&&!r(t.status)?n(Is("Request failed with status code "+t.status,t.config,null,t.request,t)):e(t)}(n,t,d),o=null}},o.onabort=function(){o&&(t(Is("Request aborted",e,"ECONNABORTED",o)),o=null)},o.onerror=function(){t(Is("Network Error",e,null,o)),o=null},o.ontimeout=function(){var n="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(n=e.timeoutErrorMessage),t(Is(n,e,"ECONNABORTED",o)),o=null},_s.isStandardBrowserEnv()){var u=(e.withCredentials||Rs(d))&&e.xsrfCookieName?$s.read(e.xsrfCookieName):void 0;u&&(i[e.xsrfHeaderName]=u)}if("setRequestHeader"in o&&_s.forEach(i,(function(e,n){void 0===r&&"content-type"===n.toLowerCase()?delete i[n]:o.setRequestHeader(n,e)})),_s.isUndefined(e.withCredentials)||(o.withCredentials=!!e.withCredentials),e.responseType)try{o.responseType=e.responseType}catch(n){if("json"!==e.responseType)throw n}"function"==typeof e.onDownloadProgress&&o.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&o.upload&&o.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then((function(e){o&&(o.abort(),t(e),o=null)})),r||(r=null),o.send(r)}))},Ls={"Content-Type":"application/x-www-form-urlencoded"};function Ps(e,n){!_s.isUndefined(e)&&_s.isUndefined(e["Content-Type"])&&(e["Content-Type"]=n)}var js,Ys={adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(js=Fs),js),transformRequest:[function(e,n){return Ts(n,"Accept"),Ts(n,"Content-Type"),_s.isFormData(e)||_s.isArrayBuffer(e)||_s.isBuffer(e)||_s.isStream(e)||_s.isFile(e)||_s.isBlob(e)?e:_s.isArrayBufferView(e)?e.buffer:_s.isURLSearchParams(e)?(Ps(n,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):_s.isObject(e)?(Ps(n,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(e){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(e){return e>=200&&e<300}};Ys.headers={common:{Accept:"application/json, text/plain, */*"}},_s.forEach(["delete","get","head"],(function(e){Ys.headers[e]={}})),_s.forEach(["post","put","patch"],(function(e){Ys.headers[e]=_s.merge(Ls)}));var Us=Ys;function qs(e){e.cancelToken&&e.cancelToken.throwIfRequested()}var Hs=function(e){return qs(e),e.headers=e.headers||{},e.data=Os(e.data,e.headers,e.transformRequest),e.headers=_s.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),_s.forEach(["delete","get","head","post","put","patch","common"],(function(n){delete e.headers[n]})),(e.adapter||Us.adapter)(e).then((function(n){return qs(e),n.data=Os(n.data,n.headers,e.transformResponse),n}),(function(n){return Ms(n)||(qs(e),n&&n.response&&(n.response.data=Os(n.response.data,n.response.headers,e.transformResponse))),Promise.reject(n)}))},Ws=function(e,n){n=n||{};var t={},r=["url","method","data"],i=["headers","auth","proxy","params"],o=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],a=["validateStatus"];function s(e,n){return _s.isPlainObject(e)&&_s.isPlainObject(n)?_s.merge(e,n):_s.isPlainObject(n)?_s.merge({},n):_s.isArray(n)?n.slice():n}function l(r){_s.isUndefined(n[r])?_s.isUndefined(e[r])||(t[r]=s(void 0,e[r])):t[r]=s(e[r],n[r])}_s.forEach(r,(function(e){_s.isUndefined(n[e])||(t[e]=s(void 0,n[e]))})),_s.forEach(i,l),_s.forEach(o,(function(r){_s.isUndefined(n[r])?_s.isUndefined(e[r])||(t[r]=s(void 0,e[r])):t[r]=s(void 0,n[r])})),_s.forEach(a,(function(r){r in n?t[r]=s(e[r],n[r]):r in e&&(t[r]=s(void 0,e[r]))}));var c=r.concat(i).concat(o).concat(a),d=Object.keys(e).concat(Object.keys(n)).filter((function(e){return-1===c.indexOf(e)}));return _s.forEach(d,l),t};function Vs(e){this.defaults=e,this.interceptors={request:new zs,response:new zs}}Vs.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=Ws(this.defaults,e)).method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var n=[Hs,void 0],t=Promise.resolve(e);for(this.interceptors.request.forEach((function(e){n.unshift(e.fulfilled,e.rejected)})),this.interceptors.response.forEach((function(e){n.push(e.fulfilled,e.rejected)}));n.length;)t=t.then(n.shift(),n.shift());return t},Vs.prototype.getUri=function(e){return e=Ws(this.defaults,e),Ds(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},_s.forEach(["delete","get","head","options"],(function(e){Vs.prototype[e]=function(n,t){return this.request(Ws(t||{},{method:e,url:n,data:(t||{}).data}))}})),_s.forEach(["post","put","patch"],(function(e){Vs.prototype[e]=function(n,t,r){return this.request(Ws(r||{},{method:e,url:n,data:t}))}}));var Js=Vs;function Ks(e){this.message=e}Ks.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},Ks.prototype.__CANCEL__=!0;var Gs=Ks;function Xs(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var n;this.promise=new Promise((function(e){n=e}));var t=this;e((function(e){t.reason||(t.reason=new Gs(e),n(t.reason))}))}Xs.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},Xs.source=function(){var e;return{token:new Xs((function(n){e=n})),cancel:e}};var Qs=Xs;function Zs(e){var n=new Js(e),t=vs(Js.prototype.request,n);return _s.extend(t,Js.prototype,n),_s.extend(t,n),t}var el=Zs(Us);el.Axios=Js,el.create=function(e){return Zs(Ws(el.defaults,e))},el.Cancel=Gs,el.CancelToken=Qs,el.isCancel=Ms,el.all=function(e){return Promise.all(e)},el.spread=function(e){return function(n){return e.apply(null,n)}};var nl=el,tl=el;nl.default=tl;var rl=nl;async function il(e,n=null){return await sl({method:"get",url:e,...n})}async function ol(e,n=null,t=null){return await sl({method:"post",url:e,data:n,...t})}async function al(e,n=null){return await sl({method:"delete",url:e,...n})}async function sl(e){e=(e=>((e=e||{}).scope&&(e.params=e.params||{},e.params.scope=e.scope),e))(e);try{return(await rl(e)).data}catch(e){}}function ll(e){return{getById:async(n,t)=>await il(e+"getById",{...t,params:{id:n}}),getByIds:async(n,t)=>await il(e+"getByIds",{...t,params:{ids:n}}),getEmpty:async n=>await il(e+"getEmpty",{...n}),getByQuery:async(n,t)=>await il(e+"getByQuery",{...t,params:{query:n}}),getAll:async n=>await il(e+"getAll",{...n}),getPreviews:async(n,t)=>await il(e+"getPreviews",{...t,params:{ids:n}}),getForPicker:async n=>await il(e+"getForPicker",{...n}),save:async(n,t)=>await ol(e+"save",n,{...t}),delete:async(n,t)=>await al(e+"delete",{...t,params:{id:n}})}}var cl={...ll("languages/"),getAllCultures:async()=>await il("languages/getAllCultures"),getSupportedCultures:async()=>await il("languages/getSupportedCultures")};const dl={props:{value:{type:String},config:Object,disabled:{type:Boolean,default:!1}},data:()=>({items:[]}),mounted(){cl.getSupportedCultures().then((e=>{this.items=e}))}};var ul=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-native-select",attrs:{disabled:e.disabled}},[t("select",{attrs:{disabled:e.disabled},domProps:{value:e.value},on:{input:function(n){return e.$emit("input",n.target.value)}}},e._l(e.items,(function(n){return t("option",{domProps:{value:n.code}},[e._v(e._s(n.name))])})),0)])};ul._withStripped=!0;const pl=Da({render:ul,staticRenderFns:[]},undefined,dl,undefined,false,undefined,!1,void 0,void 0,void 0);const fl={props:{value:{type:[String,Date],default:{from:null,to:null}},format:{type:String,default:null},time:{type:Boolean,default:!1},maxDate:{type:[String,Date],default:null},minDate:{type:[String,Date],default:null},amPm:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}}};var Al=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-box"},[t("ui-datepicker",e._b({attrs:{value:e.value,disabled:e.disabled},on:{input:function(n){return e.$emit("input",n)}}},"ui-datepicker",{format:e.format,time:e.time,maxDate:e.maxDate,minDate:e.minDate,amPm:e.amPm},!1))],1)};Al._withStripped=!0;const hl=Da({render:Al,staticRenderFns:[]},undefined,fl,undefined,false,undefined,!1,void 0,void 0,void 0);const ml={props:{value:{type:Object,default:{from:null,to:null}},format:{type:String,default:null},time:{type:Boolean,default:!1},maxDate:{type:[String,Date],default:null},minDate:{type:[String,Date],default:null},fromLabel:{type:String,default:null},toLabel:{type:String,default:null},amPm:{type:Boolean,default:!1},inline:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}}};var gl=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-box"},[t("ui-daterangepicker",e._b({attrs:{value:e.value,disabled:e.disabled},on:{input:function(n){return e.$emit("input",n.target.value)}}},"ui-daterangepicker",{format:e.format,time:e.time,maxDate:e.maxDate,minDate:e.minDate,fromLabel:e.fromLabel,toLabel:e.toLabel,amPm:e.amPm,inline:e.inline},!1))],1)};gl._withStripped=!0;const vl=Da({render:gl,staticRenderFns:[]},undefined,ml,undefined,false,undefined,!1,void 0,void 0,void 0);const bl={props:{value:{type:String},disabled:{type:Boolean,default:!1},config:Object}};var yl=function(){var e=this,n=e.$createElement;return(e._self._c||n)("ui-iconpicker",{attrs:{value:e.value,disabled:e.disabled},on:{input:function(n){return e.$emit("input",n)}}})};yl._withStripped=!0;const Cl=Da({render:yl,staticRenderFns:[]},undefined,bl,undefined,false,undefined,!1,void 0,void 0,void 0);const El={props:{value:{type:String},config:Object,disabled:{type:Boolean,default:!1}},data:()=>({items:[]}),mounted(){cl.getForPicker().then((e=>{this.items=e}))},methods:{onChange(e){this.$emit("input",e.target.value||null)}}};var xl=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-native-select",attrs:{disabled:e.disabled}},[t("select",{attrs:{disabled:e.disabled},domProps:{value:e.value},on:{input:function(n){return e.onChange(n)}}},[t("option",{domProps:{value:null}}),e._v(" "),e._l(e.items,(function(n){return t("option",{domProps:{value:n.id}},[e._v(e._s(n.name))])}))],2)])};xl._withStripped=!0;const wl=Da({render:xl,staticRenderFns:[]},undefined,El,undefined,false,undefined,!1,void 0,void 0,void 0);const kl={props:{value:{type:[String,Array],default:null},disabled:{type:Boolean,default:!1},limit:{type:Number,default:1},config:Object}};var _l=function(){var e=this,n=e.$createElement;return(e._self._c||n)("ui-pagepicker",{attrs:{config:e.config,value:e.value,disabled:e.disabled,limit:1},on:{input:function(n){return e.$emit("input",n)}}})};_l._withStripped=!0;const Sl=Da({render:_l,staticRenderFns:[]},undefined,kl,undefined,false,undefined,!1,void 0,void 0,void 0);const Dl={props:{value:{type:Array,default:()=>[]},disabled:{type:Boolean,default:!1},limit:{type:Number,default:10},maxItemLength:{type:Number,default:10},addLabel:{type:String,default:"@ui.add"}}};var Bl=function(){var e=this,n=e.$createElement;return(e._self._c||n)("ui-input-list",{attrs:{value:e.value,"add-label":e.addLabel,disabled:e.disabled,"max-items":e.limit,inline:!0,"max-length":e.maxItemLength},on:{input:function(n){return e.$emit("input",n)}}})};Bl._withStripped=!0;const zl=Da({render:Bl,staticRenderFns:[]},undefined,Dl,undefined,false,undefined,!1,void 0,void 0,void 0);const Ol={props:{value:{type:[String,Array],default:null},disabled:{type:Boolean,default:!1},limit:{type:Number,default:1}}};var Ml=function(){var e=this,n=e.$createElement;return(e._self._c||n)("ui-mediapicker",{attrs:{config:{limit:e.limit},value:e.value,disabled:e.disabled},on:{input:function(n){return e.$emit("input",n)}}})};Ml._withStripped=!0;const Tl=Da({render:Ml,staticRenderFns:[]},undefined,Ol,undefined,false,undefined,!1,void 0,void 0,void 0);const Il={props:{value:{type:[String,Object,Array]},disabled:{type:Boolean,default:!1},tags:{type:Array,default:()=>[]},config:Object}};var $l=function(){var e=this,n=e.$createElement;return(e._self._c||n)("ui-modules",{attrs:{value:e.value,config:e.config,tags:e.tags,disabled:e.disabled},on:{input:function(n){return e.$emit("input",n)}}})};$l._withStripped=!0;const Nl=Da({render:$l,staticRenderFns:[]},undefined,Il,undefined,false,undefined,!1,void 0,void 0,void 0);"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;function Rl(e,n,t){return e(t={path:n,exports:{},require:function(e,n){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==n&&t.path)}},t.exports),t.exports}function Fl(e){if(e.__esModule)return e;var n=Object.defineProperty({},"__esModule",{value:!0});return Object.keys(e).forEach((function(t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})})),n}var Ll=Rl((function(e,n){e.exports=function(){var e="millisecond",n="second",t="minute",r="hour",i="day",o="week",a="month",s="quarter",l="year",c="date",d=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[^0-9]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?.?(\d+)?$/,u=/\[([^\]]+)]|Y{2,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,p={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_")},f=function(e,n,t){var r=String(e);return!r||r.length>=n?e:""+Array(n+1-r.length).join(t)+e},A={s:f,z:function(e){var n=-e.utcOffset(),t=Math.abs(n),r=Math.floor(t/60),i=t%60;return(n<=0?"+":"-")+f(r,2,"0")+":"+f(i,2,"0")},m:function e(n,t){if(n.date()<t.date())return-e(t,n);var r=12*(t.year()-n.year())+(t.month()-n.month()),i=n.clone().add(r,a),o=t-i<0,s=n.clone().add(r+(o?-1:1),a);return+(-(r+(t-i)/(o?i-s:s-i))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(d){return{M:a,y:l,w:o,d:i,D:c,h:r,m:t,s:n,ms:e,Q:s}[d]||String(d||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}},h="en",m={};m[h]=p;var g=function(e){return e instanceof C},v=function(e,n,t){var r;if(!e)return h;if("string"==typeof e)m[e]&&(r=e),n&&(m[e]=n,r=e);else{var i=e.name;m[i]=e,r=i}return!t&&r&&(h=r),r||!t&&h},b=function(e,n){if(g(e))return e.clone();var t="object"==typeof n?n:{};return t.date=e,t.args=arguments,new C(t)},y=A;y.l=v,y.i=g,y.w=function(e,n){return b(e,{locale:n.$L,utc:n.$u,x:n.$x,$offset:n.$offset})};var C=function(){function p(e){this.$L=this.$L||v(e.locale,null,!0),this.parse(e)}var f=p.prototype;return f.parse=function(e){this.$d=function(e){var n=e.date,t=e.utc;if(null===n)return new Date(NaN);if(y.u(n))return new Date;if(n instanceof Date)return new Date(n);if("string"==typeof n&&!/Z$/i.test(n)){var r=n.match(d);if(r){var i=r[2]-1||0,o=(r[7]||"0").substring(0,3);return t?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,o)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,o)}}return new Date(n)}(e),this.$x=e.x||{},this.init()},f.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},f.$utils=function(){return y},f.isValid=function(){return!("Invalid Date"===this.$d.toString())},f.isSame=function(e,n){var t=b(e);return this.startOf(n)<=t&&t<=this.endOf(n)},f.isAfter=function(e,n){return b(e)<this.startOf(n)},f.isBefore=function(e,n){return this.endOf(n)<b(e)},f.$g=function(e,n,t){return y.u(e)?this[n]:this.set(t,e)},f.unix=function(){return Math.floor(this.valueOf()/1e3)},f.valueOf=function(){return this.$d.getTime()},f.startOf=function(e,s){var d=this,u=!!y.u(s)||s,p=y.p(e),f=function(e,n){var t=y.w(d.$u?Date.UTC(d.$y,n,e):new Date(d.$y,n,e),d);return u?t:t.endOf(i)},A=function(e,n){return y.w(d.toDate()[e].apply(d.toDate("s"),(u?[0,0,0,0]:[23,59,59,999]).slice(n)),d)},h=this.$W,m=this.$M,g=this.$D,v="set"+(this.$u?"UTC":"");switch(p){case l:return u?f(1,0):f(31,11);case a:return u?f(1,m):f(0,m+1);case o:var b=this.$locale().weekStart||0,C=(h<b?h+7:h)-b;return f(u?g-C:g+(6-C),m);case i:case c:return A(v+"Hours",0);case r:return A(v+"Minutes",1);case t:return A(v+"Seconds",2);case n:return A(v+"Milliseconds",3);default:return this.clone()}},f.endOf=function(e){return this.startOf(e,!1)},f.$set=function(o,s){var d,u=y.p(o),p="set"+(this.$u?"UTC":""),f=(d={},d[i]=p+"Date",d[c]=p+"Date",d[a]=p+"Month",d[l]=p+"FullYear",d[r]=p+"Hours",d[t]=p+"Minutes",d[n]=p+"Seconds",d[e]=p+"Milliseconds",d)[u],A=u===i?this.$D+(s-this.$W):s;if(u===a||u===l){var h=this.clone().set(c,1);h.$d[f](A),h.init(),this.$d=h.set(c,Math.min(this.$D,h.daysInMonth())).$d}else f&&this.$d[f](A);return this.init(),this},f.set=function(e,n){return this.clone().$set(e,n)},f.get=function(e){return this[y.p(e)]()},f.add=function(e,s){var c,d=this;e=Number(e);var u=y.p(s),p=function(n){var t=b(d);return y.w(t.date(t.date()+Math.round(n*e)),d)};if(u===a)return this.set(a,this.$M+e);if(u===l)return this.set(l,this.$y+e);if(u===i)return p(1);if(u===o)return p(7);var f=(c={},c[t]=6e4,c[r]=36e5,c[n]=1e3,c)[u]||1,A=this.$d.getTime()+e*f;return y.w(A,this)},f.subtract=function(e,n){return this.add(-1*e,n)},f.format=function(e){var n=this;if(!this.isValid())return"Invalid Date";var t=e||"YYYY-MM-DDTHH:mm:ssZ",r=y.z(this),i=this.$locale(),o=this.$H,a=this.$m,s=this.$M,l=i.weekdays,c=i.months,d=function(e,r,i,o){return e&&(e[r]||e(n,t))||i[r].substr(0,o)},p=function(e){return y.s(o%12||12,e,"0")},f=i.meridiem||function(e,n,t){var r=e<12?"AM":"PM";return t?r.toLowerCase():r},A={YY:String(this.$y).slice(-2),YYYY:this.$y,M:s+1,MM:y.s(s+1,2,"0"),MMM:d(i.monthsShort,s,c,3),MMMM:d(c,s),D:this.$D,DD:y.s(this.$D,2,"0"),d:String(this.$W),dd:d(i.weekdaysMin,this.$W,l,2),ddd:d(i.weekdaysShort,this.$W,l,3),dddd:l[this.$W],H:String(o),HH:y.s(o,2,"0"),h:p(1),hh:p(2),a:f(o,a,!0),A:f(o,a,!1),m:String(a),mm:y.s(a,2,"0"),s:String(this.$s),ss:y.s(this.$s,2,"0"),SSS:y.s(this.$ms,3,"0"),Z:r};return t.replace(u,(function(e,n){return n||A[e]||r.replace(":","")}))},f.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},f.diff=function(e,c,d){var u,p=y.p(c),f=b(e),A=6e4*(f.utcOffset()-this.utcOffset()),h=this-f,m=y.m(this,f);return m=(u={},u[l]=m/12,u[a]=m,u[s]=m/3,u[o]=(h-A)/6048e5,u[i]=(h-A)/864e5,u[r]=h/36e5,u[t]=h/6e4,u[n]=h/1e3,u)[p]||h,d?m:y.a(m)},f.daysInMonth=function(){return this.endOf(a).$D},f.$locale=function(){return m[this.$L]},f.locale=function(e,n){if(!e)return this.$L;var t=this.clone(),r=v(e,n,!0);return r&&(t.$L=r),t},f.clone=function(){return y.w(this.$d,this)},f.toDate=function(){return new Date(this.valueOf())},f.toJSON=function(){return this.isValid()?this.toISOString():null},f.toISOString=function(){return this.$d.toISOString()},f.toString=function(){return this.$d.toUTCString()},p}(),E=C.prototype;return b.prototype=E,[["$ms",e],["$s",n],["$m",t],["$H",r],["$W",i],["$M",a],["$y",l],["$D",c]].forEach((function(e){E[e[1]]=function(n){return this.$g(n,e[0],e[1])}})),b.extend=function(e,n){return e(n,C,b),b},b.locale=v,b.isDayjs=g,b.unix=function(e){return b(1e3*e)},b.en=m[h],b.Ls=m,b.p={},b}()}));const Pl=["kB","MB","GB","TB","PB","EB","ZB","YB"];var jl={guid(e){var n=([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(e=>(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16)));return e>0?n.replace(/-/g,"").substring(0,e):n},filesize(e){if("number"!=typeof e)return"0 B";var n=1024;if(Math.abs(e)<n)return e+" B";var t=-1;do{e/=n,++t}while(Math.abs(e)>=n&&t<Pl.length-1);return e.toFixed(1)+" "+Pl[t]},date:(e,n)=>e?("long"===(n=n||"DD.MM.YY")?n="DD.MM.YY HH:mm":"short"===n||"default"===n?n="DD.MM.YY":"time"===n&&(n="HH:mm"),Ll(e).format(n)):null,selectorToArray:e=>e?(e=(e=e.replace(/\[(\w+)\]/g,".$1")).replace(/^\./,"")).split("."):e,currency(e,n,t,r){isNaN(e)&&(e=0);var i=void 0!==n;return n=i?n:2,(~~e!==e||i?(e/1).toFixed(n):~~e).toString().replace(/\B(?=(\d{3})+(?!\d))/g,r?" ":"&nbsp;")+(!0===t?"":r?" ":"&nbsp;&euro;")}},Yl={setValue(e,n,t){const r=n.shift();e[r]||(e[r]={}),n.length?this.setValue(e[r],n,t):t&&"object"==typeof t&&!Array.isArray(t)?e[r]={...e[r],...t}:e[r]=t}},Ul="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||Function("return this")()||{},ql=Array.prototype,Hl=Object.prototype,Wl="undefined"!=typeof Symbol?Symbol.prototype:null,Vl=ql.push,Jl=ql.slice,Kl=Hl.toString,Gl=Hl.hasOwnProperty,Xl="undefined"!=typeof ArrayBuffer,Ql=Array.isArray,Zl=Object.keys,ec=Object.create,nc=Xl&&ArrayBuffer.isView,tc=isNaN,rc=isFinite,ic=!{toString:null}.propertyIsEnumerable("toString"),oc=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],ac=Math.pow(2,53)-1;function sc(e,n){return n=null==n?e.length-1:+n,function(){for(var t=Math.max(arguments.length-n,0),r=Array(t),i=0;i<t;i++)r[i]=arguments[i+n];switch(n){case 0:return e.call(this,r);case 1:return e.call(this,arguments[0],r);case 2:return e.call(this,arguments[0],arguments[1],r)}var o=Array(n+1);for(i=0;i<n;i++)o[i]=arguments[i];return o[n]=r,e.apply(this,o)}}function lc(e){var n=typeof e;return"function"===n||"object"===n&&!!e}function cc(e){return!0===e||!1===e||"[object Boolean]"===Kl.call(e)}function dc(e){return function(n){return Kl.call(n)==="[object "+e+"]"}}var uc=dc("String"),pc=dc("Number"),fc=dc("Date"),Ac=dc("RegExp"),hc=dc("Error"),mc=dc("Symbol"),gc=dc("Map"),vc=dc("WeakMap"),bc=dc("Set"),yc=dc("WeakSet"),Cc=dc("ArrayBuffer"),Ec=dc("DataView"),xc=Ql||dc("Array"),wc=dc("Function"),kc=Ul.document&&Ul.document.childNodes;"function"!=typeof/./&&"object"!=typeof Int8Array&&"function"!=typeof kc&&(wc=function(e){return"function"==typeof e||!1});var _c=wc;function Sc(e,n){return null!=e&&Gl.call(e,n)}var Dc=dc("Arguments");!function(){Dc(arguments)||(Dc=function(e){return Sc(e,"callee")})}();var Bc=Dc;function zc(e){return pc(e)&&tc(e)}function Oc(e){return function(){return e}}function Mc(e){return function(n){var t=e(n);return"number"==typeof t&&t>=0&&t<=ac}}function Tc(e){return function(n){return null==n?void 0:n[e]}}var Ic=Tc("byteLength"),$c=Mc(Ic),Nc=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;var Rc=Xl?function(e){return nc?nc(e)&&!Ec(e):$c(e)&&Nc.test(Kl.call(e))}:Oc(!1),Fc=Tc("length"),Lc=Mc(Fc);function Pc(e,n){n=function(e){for(var n={},t=e.length,r=0;r<t;++r)n[e[r]]=!0;return{contains:function(e){return n[e]},push:function(t){return n[t]=!0,e.push(t)}}}(n);var t=oc.length,r=e.constructor,i=_c(r)&&r.prototype||Hl,o="constructor";for(Sc(e,o)&&!n.contains(o)&&n.push(o);t--;)(o=oc[t])in e&&e[o]!==i[o]&&!n.contains(o)&&n.push(o)}function jc(e){if(!lc(e))return[];if(Zl)return Zl(e);var n=[];for(var t in e)Sc(e,t)&&n.push(t);return ic&&Pc(e,n),n}function Yc(e){return null==e||(Lc(e)&&(xc(e)||uc(e)||Bc(e))?0===e.length:0===jc(e).length)}function Uc(e,n){var t=jc(n),r=t.length;if(null==e)return!r;for(var i=Object(e),o=0;o<r;o++){var a=t[o];if(n[a]!==i[a]||!(a in i))return!1}return!0}function qc(e){return e instanceof qc?e:this instanceof qc?void(this._wrapped=e):new qc(e)}function Hc(e,n,t,r){if(e===n)return 0!==e||1/e==1/n;if(null==e||null==n)return!1;if(e!=e)return n!=n;var i=typeof e;return("function"===i||"object"===i||"object"==typeof n)&&Wc(e,n,t,r)}function Wc(e,n,t,r){e instanceof qc&&(e=e._wrapped),n instanceof qc&&(n=n._wrapped);var i=Kl.call(e);if(i!==Kl.call(n))return!1;switch(i){case"[object RegExp]":case"[object String]":return""+e==""+n;case"[object Number]":return+e!=+e?+n!=+n:0==+e?1/+e==1/n:+e==+n;case"[object Date]":case"[object Boolean]":return+e==+n;case"[object Symbol]":return Wl.valueOf.call(e)===Wl.valueOf.call(n);case"[object ArrayBuffer]":return Wc(new DataView(e),new DataView(n),t,r);case"[object DataView]":var o=Ic(e);if(o!==Ic(n))return!1;for(;o--;)if(e.getUint8(o)!==n.getUint8(o))return!1;return!0}if(Rc(e))return Wc(new DataView(e.buffer),new DataView(n.buffer),t,r);var a="[object Array]"===i;if(!a){if("object"!=typeof e||"object"!=typeof n)return!1;var s=e.constructor,l=n.constructor;if(s!==l&&!(_c(s)&&s instanceof s&&_c(l)&&l instanceof l)&&"constructor"in e&&"constructor"in n)return!1}r=r||[];for(var c=(t=t||[]).length;c--;)if(t[c]===e)return r[c]===n;if(t.push(e),r.push(n),a){if((c=e.length)!==n.length)return!1;for(;c--;)if(!Hc(e[c],n[c],t,r))return!1}else{var d,u=jc(e);if(c=u.length,jc(n).length!==c)return!1;for(;c--;)if(!Sc(n,d=u[c])||!Hc(e[d],n[d],t,r))return!1}return t.pop(),r.pop(),!0}function Vc(e){if(!lc(e))return[];var n=[];for(var t in e)n.push(t);return ic&&Pc(e,n),n}function Jc(e){for(var n=jc(e),t=n.length,r=Array(t),i=0;i<t;i++)r[i]=e[n[i]];return r}function Kc(e){for(var n={},t=jc(e),r=0,i=t.length;r<i;r++)n[e[t[r]]]=t[r];return n}function Gc(e){var n=[];for(var t in e)_c(e[t])&&n.push(t);return n.sort()}function Xc(e,n){return function(t){var r=arguments.length;if(n&&(t=Object(t)),r<2||null==t)return t;for(var i=1;i<r;i++)for(var o=arguments[i],a=e(o),s=a.length,l=0;l<s;l++){var c=a[l];n&&void 0!==t[c]||(t[c]=o[c])}return t}}qc.VERSION="1.11.0",qc.prototype.value=function(){return this._wrapped},qc.prototype.valueOf=qc.prototype.toJSON=qc.prototype.value,qc.prototype.toString=function(){return String(this._wrapped)};var Qc=Xc(Vc),Zc=Xc(jc),ed=Xc(Vc,!0);function nd(e){if(!lc(e))return{};if(ec)return ec(e);var n=function(){};n.prototype=e;var t=new n;return n.prototype=null,t}function td(e){return lc(e)?xc(e)?e.slice():Qc({},e):e}function rd(e){return e}function id(e){return e=Zc({},e),function(n){return Uc(n,e)}}function od(e,n){for(var t=n.length,r=0;r<t;r++){if(null==e)return;e=e[n[r]]}return t?e:void 0}function ad(e){return xc(e)?function(n){return od(n,e)}:Tc(e)}function sd(e,n,t){if(void 0===n)return e;switch(null==t?3:t){case 1:return function(t){return e.call(n,t)};case 3:return function(t,r,i){return e.call(n,t,r,i)};case 4:return function(t,r,i,o){return e.call(n,t,r,i,o)}}return function(){return e.apply(n,arguments)}}function ld(e,n,t){return null==e?rd:_c(e)?sd(e,n,t):lc(e)&&!xc(e)?id(e):ad(e)}function cd(e,n){return ld(e,n,1/0)}function dd(e,n,t){return qc.iteratee!==cd?qc.iteratee(e,n):ld(e,n,t)}function ud(e,n){return null==n&&(n=e,e=0),e+Math.floor(Math.random()*(n-e+1))}qc.iteratee=cd;var pd=Date.now||function(){return(new Date).getTime()};function fd(e){var n=function(n){return e[n]},t="(?:"+jc(e).join("|")+")",r=RegExp(t),i=RegExp(t,"g");return function(e){return e=null==e?"":""+e,r.test(e)?e.replace(i,n):e}}var Ad={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},hd=fd(Ad),md=fd(Kc(Ad)),gd=qc.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},vd=/(.)^/,bd={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},yd=/\\|'|\r|\n|\u2028|\u2029/g;function Cd(e){return"\\"+bd[e]}var Ed=0;function xd(e,n,t,r,i){if(!(r instanceof n))return e.apply(t,i);var o=nd(e.prototype),a=e.apply(o,i);return lc(a)?a:o}var wd=sc((function(e,n){var t=wd.placeholder,r=function(){for(var i=0,o=n.length,a=Array(o),s=0;s<o;s++)a[s]=n[s]===t?arguments[i++]:n[s];for(;i<arguments.length;)a.push(arguments[i++]);return xd(e,r,this,this,a)};return r}));wd.placeholder=qc;var kd=sc((function(e,n,t){if(!_c(e))throw new TypeError("Bind must be called on a function");var r=sc((function(i){return xd(e,r,n,this,t.concat(i))}));return r}));function _d(e,n,t,r){if(r=r||[],n||0===n){if(n<=0)return r.concat(e)}else n=1/0;for(var i=r.length,o=0,a=Fc(e);o<a;o++){var s=e[o];if(Lc(s)&&(xc(s)||Bc(s)))if(n>1)_d(s,n-1,t,r),i=r.length;else for(var l=0,c=s.length;l<c;)r[i++]=s[l++];else t||(r[i++]=s)}return r}var Sd=sc((function(e,n){var t=(n=_d(n,!1,!1)).length;if(t<1)throw new Error("bindAll must be passed function names");for(;t--;){var r=n[t];e[r]=kd(e[r],e)}return e}));var Dd=sc((function(e,n,t){return setTimeout((function(){return e.apply(null,t)}),n)})),Bd=wd(Dd,qc,1);function zd(e,n,t){var r,i,o=function(n,t){r=null,t&&(i=e.apply(n,t))},a=sc((function(a){if(r&&clearTimeout(r),t){var s=!r;r=setTimeout(o,n),s&&(i=e.apply(this,a))}else r=Dd(o,n,this,a);return i}));return a.cancel=function(){clearTimeout(r),r=null},a}function Od(e){return function(){return!e.apply(this,arguments)}}function Md(e,n){var t;return function(){return--e>0&&(t=n.apply(this,arguments)),e<=1&&(n=null),t}}var Td=wd(Md,2);function Id(e,n,t){n=dd(n,t);for(var r,i=jc(e),o=0,a=i.length;o<a;o++)if(n(e[r=i[o]],r,e))return r}function $d(e){return function(n,t,r){t=dd(t,r);for(var i=Fc(n),o=e>0?0:i-1;o>=0&&o<i;o+=e)if(t(n[o],o,n))return o;return-1}}var Nd=$d(1),Rd=$d(-1);function Fd(e,n,t,r){for(var i=(t=dd(t,r,1))(n),o=0,a=Fc(e);o<a;){var s=Math.floor((o+a)/2);t(e[s])<i?o=s+1:a=s}return o}function Ld(e,n,t){return function(r,i,o){var a=0,s=Fc(r);if("number"==typeof o)e>0?a=o>=0?o:Math.max(o+s,a):s=o>=0?Math.min(o+1,s):o+s+1;else if(t&&o&&s)return r[o=t(r,i)]===i?o:-1;if(i!=i)return(o=n(Jl.call(r,a,s),zc))>=0?o+a:-1;for(o=e>0?a:s-1;o>=0&&o<s;o+=e)if(r[o]===i)return o;return-1}}var Pd=Ld(1,Nd,Fd),jd=Ld(-1,Rd);function Yd(e,n,t){var r=(Lc(e)?Nd:Id)(e,n,t);if(void 0!==r&&-1!==r)return e[r]}function Ud(e,n,t){var r,i;if(n=sd(n,t),Lc(e))for(r=0,i=e.length;r<i;r++)n(e[r],r,e);else{var o=jc(e);for(r=0,i=o.length;r<i;r++)n(e[o[r]],o[r],e)}return e}function qd(e,n,t){n=dd(n,t);for(var r=!Lc(e)&&jc(e),i=(r||e).length,o=Array(i),a=0;a<i;a++){var s=r?r[a]:a;o[a]=n(e[s],s,e)}return o}function Hd(e){var n=function(n,t,r,i){var o=!Lc(n)&&jc(n),a=(o||n).length,s=e>0?0:a-1;for(i||(r=n[o?o[s]:s],s+=e);s>=0&&s<a;s+=e){var l=o?o[s]:s;r=t(r,n[l],l,n)}return r};return function(e,t,r,i){var o=arguments.length>=3;return n(e,sd(t,i,4),r,o)}}var Wd=Hd(1),Vd=Hd(-1);function Jd(e,n,t){var r=[];return n=dd(n,t),Ud(e,(function(e,t,i){n(e,t,i)&&r.push(e)})),r}function Kd(e,n,t){n=dd(n,t);for(var r=!Lc(e)&&jc(e),i=(r||e).length,o=0;o<i;o++){var a=r?r[o]:o;if(!n(e[a],a,e))return!1}return!0}function Gd(e,n,t){n=dd(n,t);for(var r=!Lc(e)&&jc(e),i=(r||e).length,o=0;o<i;o++){var a=r?r[o]:o;if(n(e[a],a,e))return!0}return!1}function Xd(e,n,t,r){return Lc(e)||(e=Jc(e)),("number"!=typeof t||r)&&(t=0),Pd(e,n,t)>=0}var Qd=sc((function(e,n,t){var r,i;return _c(n)?i=n:xc(n)&&(r=n.slice(0,-1),n=n[n.length-1]),qd(e,(function(e){var o=i;if(!o){if(r&&r.length&&(e=od(e,r)),null==e)return;o=e[n]}return null==o?o:o.apply(e,t)}))}));function Zd(e,n){return qd(e,ad(n))}function eu(e,n,t){var r,i,o=-1/0,a=-1/0;if(null==n||"number"==typeof n&&"object"!=typeof e[0]&&null!=e)for(var s=0,l=(e=Lc(e)?e:Jc(e)).length;s<l;s++)null!=(r=e[s])&&r>o&&(o=r);else n=dd(n,t),Ud(e,(function(e,t,r){((i=n(e,t,r))>a||i===-1/0&&o===-1/0)&&(o=e,a=i)}));return o}function nu(e,n,t){if(null==n||t)return Lc(e)||(e=Jc(e)),e[ud(e.length-1)];var r=Lc(e)?td(e):Jc(e),i=Fc(r);n=Math.max(Math.min(n,i),0);for(var o=i-1,a=0;a<n;a++){var s=ud(a,o),l=r[a];r[a]=r[s],r[s]=l}return r.slice(0,n)}function tu(e,n){return function(t,r,i){var o=n?[[],[]]:{};return r=dd(r,i),Ud(t,(function(n,i){var a=r(n,i,t);e(o,n,a)})),o}}var ru=tu((function(e,n,t){Sc(e,t)?e[t].push(n):e[t]=[n]})),iu=tu((function(e,n,t){e[t]=n})),ou=tu((function(e,n,t){Sc(e,t)?e[t]++:e[t]=1})),au=tu((function(e,n,t){e[t?0:1].push(n)}),!0),su=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;function lu(e,n,t){return n in t}var cu=sc((function(e,n){var t={},r=n[0];if(null==e)return t;_c(r)?(n.length>1&&(r=sd(r,n[1])),n=Vc(e)):(r=lu,n=_d(n,!1,!1),e=Object(e));for(var i=0,o=n.length;i<o;i++){var a=n[i],s=e[a];r(s,a,e)&&(t[a]=s)}return t})),du=sc((function(e,n){var t,r=n[0];return _c(r)?(r=Od(r),n.length>1&&(t=n[1])):(n=qd(_d(n,!1,!1),String),r=function(e,t){return!Xd(n,t)}),cu(e,r,t)}));function uu(e,n,t){return Jl.call(e,0,Math.max(0,e.length-(null==n||t?1:n)))}function pu(e,n,t){return null==e||e.length<1?null==n||t?void 0:[]:null==n||t?e[0]:uu(e,e.length-n)}function fu(e,n,t){return Jl.call(e,null==n||t?1:n)}var Au=sc((function(e,n){return n=_d(n,!0,!0),Jd(e,(function(e){return!Xd(n,e)}))})),hu=sc((function(e,n){return Au(e,n)}));function mu(e,n,t,r){cc(n)||(r=t,t=n,n=!1),null!=t&&(t=dd(t,r));for(var i=[],o=[],a=0,s=Fc(e);a<s;a++){var l=e[a],c=t?t(l,a,e):l;n&&!t?(a&&o===c||i.push(l),o=c):t?Xd(o,c)||(o.push(c),i.push(l)):Xd(i,l)||i.push(l)}return i}var gu=sc((function(e){return mu(_d(e,!0,!0))}));function vu(e){for(var n=e&&eu(e,Fc).length||0,t=Array(n),r=0;r<n;r++)t[r]=Zd(e,r);return t}var bu=sc(vu);function yu(e,n){return e._chain?qc(n).chain():n}function Cu(e){return Ud(Gc(e),(function(n){var t=qc[n]=e[n];qc.prototype[n]=function(){var e=[this._wrapped];return Vl.apply(e,arguments),yu(this,t.apply(qc,e))}})),qc}Ud(["pop","push","reverse","shift","sort","splice","unshift"],(function(e){var n=ql[e];qc.prototype[e]=function(){var t=this._wrapped;return null!=t&&(n.apply(t,arguments),"shift"!==e&&"splice"!==e||0!==t.length||delete t[0]),yu(this,t)}})),Ud(["concat","join","slice"],(function(e){var n=ql[e];qc.prototype[e]=function(){var e=this._wrapped;return null!=e&&(e=n.apply(e,arguments)),yu(this,e)}}));var Eu=Cu(Object.freeze({__proto__:null,VERSION:"1.11.0",restArguments:sc,isObject:lc,isNull:function(e){return null===e},isUndefined:function(e){return void 0===e},isBoolean:cc,isElement:function(e){return!(!e||1!==e.nodeType)},isString:uc,isNumber:pc,isDate:fc,isRegExp:Ac,isError:hc,isSymbol:mc,isMap:gc,isWeakMap:vc,isSet:bc,isWeakSet:yc,isArrayBuffer:Cc,isDataView:Ec,isArray:xc,isFunction:_c,isArguments:Bc,isFinite:function(e){return!mc(e)&&rc(e)&&!isNaN(parseFloat(e))},isNaN:zc,isTypedArray:Rc,isEmpty:Yc,isMatch:Uc,isEqual:function(e,n){return Hc(e,n)},keys:jc,allKeys:Vc,values:Jc,pairs:function(e){for(var n=jc(e),t=n.length,r=Array(t),i=0;i<t;i++)r[i]=[n[i],e[n[i]]];return r},invert:Kc,functions:Gc,methods:Gc,extend:Qc,extendOwn:Zc,assign:Zc,defaults:ed,create:function(e,n){var t=nd(e);return n&&Zc(t,n),t},clone:td,tap:function(e,n){return n(e),e},has:function(e,n){if(!xc(n))return Sc(e,n);for(var t=n.length,r=0;r<t;r++){var i=n[r];if(null==e||!Gl.call(e,i))return!1;e=e[i]}return!!t},mapObject:function(e,n,t){n=dd(n,t);for(var r=jc(e),i=r.length,o={},a=0;a<i;a++){var s=r[a];o[s]=n(e[s],s,e)}return o},identity:rd,constant:Oc,noop:function(){},property:ad,propertyOf:function(e){return null==e?function(){}:function(n){return xc(n)?od(e,n):e[n]}},matcher:id,matches:id,times:function(e,n,t){var r=Array(Math.max(0,e));n=sd(n,t,1);for(var i=0;i<e;i++)r[i]=n(i);return r},random:ud,now:pd,escape:hd,unescape:md,templateSettings:gd,template:function(e,n,t){!n&&t&&(n=t),n=ed({},n,qc.templateSettings);var r,i=RegExp([(n.escape||vd).source,(n.interpolate||vd).source,(n.evaluate||vd).source].join("|")+"|$","g"),o=0,a="__p+='";e.replace(i,(function(n,t,r,i,s){return a+=e.slice(o,s).replace(yd,Cd),o=s+n.length,t?a+="'+\n((__t=("+t+"))==null?'':_.escape(__t))+\n'":r?a+="'+\n((__t=("+r+"))==null?'':__t)+\n'":i&&(a+="';\n"+i+"\n__p+='"),n})),a+="';\n",n.variable||(a="with(obj||{}){\n"+a+"}\n"),a="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{r=new Function(n.variable||"obj","_",a)}catch(e){throw e.source=a,e}var s=function(e){return r.call(this,e,qc)},l=n.variable||"obj";return s.source="function("+l+"){\n"+a+"}",s},result:function(e,n,t){xc(n)||(n=[n]);var r=n.length;if(!r)return _c(t)?t.call(e):t;for(var i=0;i<r;i++){var o=null==e?void 0:e[n[i]];void 0===o&&(o=t,i=r),e=_c(o)?o.call(e):o}return e},uniqueId:function(e){var n=++Ed+"";return e?e+n:n},chain:function(e){var n=qc(e);return n._chain=!0,n},iteratee:cd,partial:wd,bind:kd,bindAll:Sd,memoize:function(e,n){var t=function(r){var i=t.cache,o=""+(n?n.apply(this,arguments):r);return Sc(i,o)||(i[o]=e.apply(this,arguments)),i[o]};return t.cache={},t},delay:Dd,defer:Bd,throttle:function(e,n,t){var r,i,o,a,s=0;t||(t={});var l=function(){s=!1===t.leading?0:pd(),r=null,a=e.apply(i,o),r||(i=o=null)},c=function(){var c=pd();s||!1!==t.leading||(s=c);var d=n-(c-s);return i=this,o=arguments,d<=0||d>n?(r&&(clearTimeout(r),r=null),s=c,a=e.apply(i,o),r||(i=o=null)):r||!1===t.trailing||(r=setTimeout(l,d)),a};return c.cancel=function(){clearTimeout(r),s=0,r=i=o=null},c},debounce:zd,wrap:function(e,n){return wd(n,e)},negate:Od,compose:function(){var e=arguments,n=e.length-1;return function(){for(var t=n,r=e[n].apply(this,arguments);t--;)r=e[t].call(this,r);return r}},after:function(e,n){return function(){if(--e<1)return n.apply(this,arguments)}},before:Md,once:Td,findKey:Id,findIndex:Nd,findLastIndex:Rd,sortedIndex:Fd,indexOf:Pd,lastIndexOf:jd,find:Yd,detect:Yd,findWhere:function(e,n){return Yd(e,id(n))},each:Ud,forEach:Ud,map:qd,collect:qd,reduce:Wd,foldl:Wd,inject:Wd,reduceRight:Vd,foldr:Vd,filter:Jd,select:Jd,reject:function(e,n,t){return Jd(e,Od(dd(n)),t)},every:Kd,all:Kd,some:Gd,any:Gd,contains:Xd,includes:Xd,include:Xd,invoke:Qd,pluck:Zd,where:function(e,n){return Jd(e,id(n))},max:eu,min:function(e,n,t){var r,i,o=1/0,a=1/0;if(null==n||"number"==typeof n&&"object"!=typeof e[0]&&null!=e)for(var s=0,l=(e=Lc(e)?e:Jc(e)).length;s<l;s++)null!=(r=e[s])&&r<o&&(o=r);else n=dd(n,t),Ud(e,(function(e,t,r){((i=n(e,t,r))<a||i===1/0&&o===1/0)&&(o=e,a=i)}));return o},shuffle:function(e){return nu(e,1/0)},sample:nu,sortBy:function(e,n,t){var r=0;return n=dd(n,t),Zd(qd(e,(function(e,t,i){return{value:e,index:r++,criteria:n(e,t,i)}})).sort((function(e,n){var t=e.criteria,r=n.criteria;if(t!==r){if(t>r||void 0===t)return 1;if(t<r||void 0===r)return-1}return e.index-n.index})),"value")},groupBy:ru,indexBy:iu,countBy:ou,partition:au,toArray:function(e){return e?xc(e)?Jl.call(e):uc(e)?e.match(su):Lc(e)?qd(e,rd):Jc(e):[]},size:function(e){return null==e?0:Lc(e)?e.length:jc(e).length},pick:cu,omit:du,first:pu,head:pu,take:pu,initial:uu,last:function(e,n,t){return null==e||e.length<1?null==n||t?void 0:[]:null==n||t?e[e.length-1]:fu(e,Math.max(0,e.length-n))},rest:fu,tail:fu,drop:fu,compact:function(e){return Jd(e,Boolean)},flatten:function(e,n){return _d(e,n,!1)},without:hu,uniq:mu,unique:mu,union:gu,intersection:function(e){for(var n=[],t=arguments.length,r=0,i=Fc(e);r<i;r++){var o=e[r];if(!Xd(n,o)){var a;for(a=1;a<t&&Xd(arguments[a],o);a++);a===t&&n.push(o)}}return n},difference:Au,unzip:vu,transpose:vu,zip:bu,object:function(e,n){for(var t={},r=0,i=Fc(e);r<i;r++)n?t[e[r]]=n[r]:t[e[r][0]]=e[r][1];return t},range:function(e,n,t){null==n&&(n=e||0,e=0),t||(t=n<e?-1:1);for(var r=Math.max(Math.ceil((n-e)/t),0),i=Array(r),o=0;o<r;o++,e+=t)i[o]=e;return i},chunk:function(e,n){if(null==n||n<1)return[];for(var t=[],r=0,i=e.length;r<i;)t.push(Jl.call(e,r,r+=n));return t},mixin:Cu,default:qc}));Eu._=Eu;var xu={localize(e,n){let t=Qc({force:!1,tokens:{},hideEmpty:!1},n||{});if(!e)return"";const r=0===e.indexOf("@");if(!t.force&&!r)return this.replaceTokens(e,t.tokens);e=r?e.slice(1):e;const i=__zero.translations[e.toLowerCase()];return t.hideEmpty||i&&"string"==typeof i?this.replaceTokens(i,t.tokens):"["+e+"]"},replaceTokens:(e,n)=>(!e||e.indexOf("{")<0||Ud(n,((n,t)=>{e=e.replace("{"+t+"}",n)})),e)};const wu={name:"uiEditorComponent",inject:["meta"],props:{config:{type:Object,required:!0},editor:{type:Object,required:!0},value:{type:Object,required:!0}},watch:{value:{deep:!0,handler:function(){this.rebuildModel()}}},data:()=>({model:null}),mounted(){this.rebuildModel()},computed:{isHidden(){return"function"==typeof this.config.options.condition&&!this.config.options.condition(this.value)},isRequired(){return"function"==typeof this.config.isRequired?this.config.isRequired(this.value):this.config.isRequired},isDisabled(){return"boolean"==typeof this.config.options.disabled&&this.config.options.disabled||"function"==typeof this.config.options.disabled&&this.config.options.disabled(this.value,this.model)},label(){return this.config.options.label||this.editor.templateLabel(this.config.path)},description(){return xu.localize(this.config.options.description||this.editor.templateDescription(this.config.path),{hideEmpty:!0})}},methods:{rebuildModel(){this.selector=jl.selectorToArray(this.config.path);let e=this.value,n=!1;if(this.selector&&this.selector.length&&e){for(var t of this.selector){if(!(t in e))break;n=!0,e=e[t]}this.model=n?e:null}else n=!0,this.model=null},onChange(e){"function"==typeof e?e(this.value):Yl.setValue(this.value,this.selector,e),this.$emit("input",this.value)}}};var ku=function(){var e=this,n=e.$createElement,t=e._self._c||n;return e.isHidden?e._e():t("ui-property",{class:{"is-disabled":e.isDisabled},attrs:{field:e.config.path,label:e.label,"hide-label":e.config.options.hideLabel,description:e.description,required:e.isRequired,disabled:e.isDisabled}},[t(e.config.component,e._b({tag:"component",attrs:{value:e.model,entity:e.value,disabled:e.isDisabled},on:{input:e.onChange}},"component",e.config.componentOptions,!1)),e._v(" "),e.config.options.helpText?t("p",{directives:[{name:"localize",rawName:"v-localize",value:e.config.options.helpText,expression:"config.options.helpText"}],staticClass:"ui-property-help"}):e._e()],1)};ku._withStripped=!0;const _u=Da({render:ku,staticRenderFns:[]},undefined,wu,undefined,false,undefined,!1,void 0,void 0,void 0);const Su={name:"uiEditorAside",inject:["meta"],props:{editor:{type:Object,required:!0},value:{type:Object,required:!0},infos:{type:String,default:"aside"},activeToggle:{type:Boolean,default:!0},nested:{type:Boolean,default:!1},isPage:{type:Boolean,default:!1},disabled:{type:[Boolean,Function],default:!1}},data:()=>({component:null}),created(){this.component=zero.overrides["editor-aside"]||null}};var Du=function(){var e=this,n=e.$createElement,t=e._self._c||n;return!e.nested&&e.infos&&"none"!=e.infos?t("aside",{staticClass:"editor-infos"},[e.component?t(e.component,{tag:"component",attrs:{editor:e.editor,meta:e.meta,disabled:e.disabled},model:{value:e.value,callback:function(n){e.value=n},expression:"value"}}):e._e(),e._v(" "),e._t("info-boxes"),e._v(" "),e.activeToggle?t("div",{staticClass:"ui-box editor-active-toggle",class:{"is-active":e.value.isActive}},[e._t("settings",[e.activeToggle?t("ui-property",{staticClass:"is-toggle",attrs:{field:"isActive",label:"@ui.active","is-text":!0}},[t("ui-toggle",{staticClass:"is-primary",attrs:{disabled:e.disabled},model:{value:e.value.isActive,callback:function(n){e.$set(e.value,"isActive",n)},expression:"value.isActive"}})],1):e._e()]),e._v(" "),e._t("settings-properties")],2):e._e(),e._v(" "),e.value.id?t("div",{staticClass:"ui-box is-light"},[e._t("infos",[e.value.id&&e.value.lastModifiedDate?t("ui-property",{attrs:{field:"lastModifiedDate",label:"@ui.modifiedDate","is-text":!0}},[t("ui-date",{model:{value:e.value.lastModifiedDate,callback:function(n){e.$set(e.value,"lastModifiedDate",n)},expression:"value.lastModifiedDate"}})],1):e._e(),e._v(" "),e.value.id?t("ui-property",{attrs:{label:"@ui.createdDate",field:"createdDate","is-text":!0}},[t("ui-date",{model:{value:e.value.createdDate,callback:function(n){e.$set(e.value,"createdDate",n)},expression:"value.createdDate"}})],1):e._e(),e._v(" "),e._t("infos-more")])],2):e._e(),e._v(" "),e._t("infos-after")],2):e._e()};Du._withStripped=!0;const Bu={name:"uiEditor",provide:function(){return{meta:this.meta}},props:{config:{type:[String,Object],required:!0},meta:{type:Object,default:()=>{}},value:{type:Object},infos:{type:String,default:"aside"},activeToggle:{type:Boolean,default:!0},nested:{type:Boolean,default:!1},isPage:{type:Boolean,default:!1},onConfigure:{type:Function,default:()=>{}}},components:{EditorComponent:_u,EditorAside:Da({render:Du,staticRenderFns:[]},undefined,Su,undefined,false,undefined,!1,void 0,void 0,void 0)},data:()=>({editorConfig:null,loaded:!1,hasTabs:!1,asBoxes:!1,coreDatabase:!1,tabs:[]}),created(){this.editorConfig="string"==typeof this.config?this.zero.getEditor(this.config):this.config,this.editorConfig.tabs.length>0?(this.hasTabs=!0,this.tabs=this.editorConfig.tabs.map((e=>({...e,count:n=>"number"==typeof e.count?e.count:"function"==typeof e.count?e.count(n):0,disabled:n=>"boolean"==typeof e.disabled?e.disabled:"function"==typeof e.disabled&&e.disabled(n),fields:this.editorConfig.getFields(e)})))):this.tabs=[{name:"_",count:e=>0,disabled:e=>!1,fields:this.editorConfig.getFields()}],this.asBoxes=this.editorConfig.options.boxes,this.coreDatabase=this.editorConfig.options.coreDatabase,this.onConfigure(this),this.loaded=!0},methods:{onChange(){this.$emit("input",this.value)}}};var zu=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",[e.loaded?t("div",{staticClass:"editor-outer",class:{"has-tabs":e.hasTabs,"-infos-aside":!e.nested&&"none"!=e.infos,"is-page":e.isPage,"as-boxes":e.asBoxes}},[t("ui-tabs",{staticClass:"editor"},e._l(e.tabs,(function(n,r){return n.disabled(e.value)?e._e():t("ui-tab",{key:r,staticClass:"ui-box",class:n.class,attrs:{label:n.name,count:n.count(e.value)}},[e.asBoxes?t("h3",{directives:[{name:"localize",rawName:"v-localize",value:n.name,expression:"tab.name"}],staticClass:"ui-headline"}):e._e(),e._v(" "),e._l(n.fields,(function(n,r){return t("editor-component",{key:r,attrs:{config:n,editor:e.editorConfig,value:e.value},on:{input:e.onChange}})})),e._v(" "),n.component?t(n.component,{tag:"component",model:{value:e.value,callback:function(n){e.value=n},expression:"value"}}):e._e()],2)})),1),e._v(" "),"none"==e.infos||e.isPage?e._e():t("editor-aside",e._b({attrs:{editor:e.editorConfig,value:e.value},scopedSlots:e._u([{key:"info-boxes",fn:function(){return[e._t("info-boxes")]},proxy:!0},{key:"settings",fn:function(){return[e._t("settings")]},proxy:!0},{key:"settings-properties",fn:function(){return[e._t("settings-properties")]},proxy:!0},{key:"infos",fn:function(){return[e._t("infos")]},proxy:!0},{key:"infos-more",fn:function(){return[e._t("infos-more")]},proxy:!0},{key:"infos-after",fn:function(){return[e._t("infos-after")]},proxy:!0}],null,!0)},"editor-aside",{infos:e.infos,activeToggle:e.activeToggle,nested:e.nested,isPage:e.isPage},!1))],1):e._e()])};zu._withStripped=!0;const Ou=Da({render:zu,staticRenderFns:[]},undefined,Bu,undefined,false,undefined,!1,void 0,void 0,void 0);var Mu={props:{config:Object},components:{UiEditor:Ou},data:()=>({isAdd:!0,disabled:!1,id:null,loading:!0,state:"default",editor:null,meta:{},model:{}}),methods:{onLoad(e){this.isAdd=!0===this.config.create,this.model=JSON.parse(JSON.stringify(this.config.model)),this.editor=this.config.editor,this.loading=!1},onSubmit(e){this.config.confirm(this.model)}}};const Tu="undefined"!=typeof navigator&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());function Iu(e){return(e,n)=>function(e,n){const t=Tu?n.media||"default":e,r=Nu[t]||(Nu[t]={ids:new Set,styles:[]});if(!r.ids.has(e)){r.ids.add(e);let t=n.source;if(n.map&&(t+="\n/*# sourceURL="+n.map.sources[0]+" */",t+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(n.map))))+" */"),r.element||(r.element=document.createElement("style"),r.element.type="text/css",n.media&&r.element.setAttribute("media",n.media),void 0===$u&&($u=document.head||document.getElementsByTagName("head")[0]),$u.appendChild(r.element)),"styleSheet"in r.element)r.styles.push(t),r.element.styleSheet.cssText=r.styles.filter(Boolean).join("\n");else{const e=r.ids.size-1,n=document.createTextNode(t),i=r.element.childNodes;i[e]&&r.element.removeChild(i[e]),i.length?r.element.insertBefore(n,i[e]):r.element.appendChild(n)}}}(e,n)}let $u;const Nu={};const Ru=Mu;var Fu=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("ui-form",{ref:"form",on:{submit:e.onSubmit,load:e.onLoad},scopedSlots:e._u([{key:"default",fn:function(n){return[t("ui-overlay-editor",{staticClass:"ui-editor-overlay",scopedSlots:e._u([{key:"header",fn:function(){return[t("ui-header-bar",{attrs:{title:e.config.title,"back-button":!1,"close-button":!0}})]},proxy:!0},{key:"footer",fn:function(){return[t("ui-button",{attrs:{type:"light onbg",label:"@ui.close"},on:{click:e.config.hide}}),e._v(" "),e.disabled?e._e():t("ui-button",{attrs:{type:"primary",submit:!0,label:"Confirm",state:n.state,disabled:e.loading}})]},proxy:!0}],null,!0)},[e._v(" "),e._v(" "),e.loading?t("ui-loading",{attrs:{"is-big":!0}}):e._e(),e._v(" "),e.loading?e._e():t("div",{staticClass:"ui-editor-overlay-editor"},[t("ui-editor",{attrs:{config:e.editor,meta:e.meta,"is-page":!1,infos:"none",disabled:e.disabled},model:{value:e.model,callback:function(n){e.model=n},expression:"model"}})],1)],1)]}}])})};Fu._withStripped=!0;const Lu=Da({render:Fu,staticRenderFns:[]},(function(e){e&&e("data-v-2c1e96d4_0",{source:".ui-editor-overlay > content {\n position: relative;\n padding-top: 0 !important;\n}\n.ui-editor-overlay .ui-box {\n margin: 0;\n}\n.ui-editor-overlay .ui-tabs-list {\n padding: 0;\n padding-bottom: 32px;\n}\n.ui-editor-overlay .ui-property.ui-modules {\n margin: 0;\n padding: 0;\n}\n.ui-editor-overlay .editor-outer.-infos-aside:not(.is-page) {\n display: block;\n}\n.ui-editor-overlay .ui-loading {\n position: absolute;\n left: 50%;\n top: 50%;\n margin: -14px 0 0 -14px;\n}\n\n/*# sourceMappingURL=editor-overlay.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\editor\\editor-overlay.vue","editor-overlay.vue"],names:[],mappings:"AAqEA;EAEA,kBAAA;EACA,yBAAA;ACrEA;ADwEA;EAEA,SAAA;ACvEA;AD0EA;EAEA,UAAA;EACA,oBAAA;ACzEA;AD4EA;EAEA,SAAA;EACA,UAAA;AC3EA;AD8EA;EAEA,cAAA;AC7EA;ADgFA;EAEA,kBAAA;EACA,SAAA;EACA,QAAA;EACA,uBAAA;AC/EA;;AAEA,6CAA6C",file:"editor-overlay.vue",sourcesContent:['\ufeff<template>\r\n <ui-form ref="form" v-slot="form" @submit="onSubmit" @load="onLoad">\r\n <ui-overlay-editor class="ui-editor-overlay">\r\n\r\n <template v-slot:header>\r\n <ui-header-bar :title="config.title" :back-button="false" :close-button="true" />\r\n </template>\r\n\r\n <template v-slot:footer>\r\n <ui-button type="light onbg" label="@ui.close" @click="config.hide"></ui-button>\r\n <ui-button v-if="!disabled" type="primary" :submit="true" label="Confirm" :state="form.state" :disabled="loading"></ui-button>\r\n </template>\r\n\r\n <ui-loading v-if="loading" :is-big="true" />\r\n\r\n <div v-if="!loading" class="ui-editor-overlay-editor">\r\n <ui-editor :config="editor" v-model="model" :meta="meta" :is-page="false" infos="none" :disabled="disabled" />\r\n </div>\r\n\r\n </ui-overlay-editor>\r\n </ui-form>\r\n</template>\r\n\r\n\r\n<script>\r\n import UiEditor from \'zero/editor/editor.vue\';\r\n\r\n export default {\r\n\r\n props: {\r\n config: Object\r\n },\r\n\r\n components: { UiEditor },\r\n\r\n data: () => ({\r\n isAdd: true,\r\n disabled: false,\r\n id: null,\r\n loading: true,\r\n state: \'default\',\r\n editor: null,\r\n meta: {},\r\n model: {}\r\n }),\r\n\r\n\r\n methods: {\r\n\r\n onLoad(form)\r\n {\r\n this.isAdd = this.config.create === true;\r\n this.model = JSON.parse(JSON.stringify(this.config.model));\r\n this.editor = this.config.editor;\r\n this.loading = false;\r\n },\r\n\r\n\r\n onSubmit(form)\r\n {\r\n this.config.confirm(this.model);\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .ui-editor-overlay\r\n {\r\n > content\r\n {\r\n position: relative;\r\n padding-top: 0 !important;\r\n }\r\n\r\n .ui-box\r\n {\r\n margin: 0;\r\n }\r\n\r\n .ui-tabs-list\r\n {\r\n padding: 0;\r\n padding-bottom: 32px;\r\n }\r\n\r\n .ui-property.ui-modules\r\n {\r\n margin: 0;\r\n padding: 0; \r\n }\r\n\r\n .editor-outer.-infos-aside:not(.is-page)\r\n {\r\n display: block;\r\n }\r\n\r\n .ui-loading\r\n {\r\n position: absolute;\r\n left: 50%;\r\n top: 50%;\r\n margin: -14px 0 0 -14px;\r\n }\r\n }\r\n</style>',".ui-editor-overlay > content {\n position: relative;\n padding-top: 0 !important;\n}\n.ui-editor-overlay .ui-box {\n margin: 0;\n}\n.ui-editor-overlay .ui-tabs-list {\n padding: 0;\n padding-bottom: 32px;\n}\n.ui-editor-overlay .ui-property.ui-modules {\n margin: 0;\n padding: 0;\n}\n.ui-editor-overlay .editor-outer.-infos-aside:not(.is-page) {\n display: block;\n}\n.ui-editor-overlay .ui-loading {\n position: absolute;\n left: 50%;\n top: 50%;\n margin: -14px 0 0 -14px;\n}\n\n/*# sourceMappingURL=editor-overlay.vue.map */"]},media:void 0})}),Ru,undefined,false,undefined,!1,Iu,void 0,void 0);const Pu={props:{model:Object,config:Object},data:()=>({state:"default"}),mounted(){},methods:{confirm(){var e=this;this.config.confirm({hide(){e.config.close()},state(n){e.state=n},errors(n){e.state="error",n?e.$refs.error.setErrors(n):e.$refs.error.clearErrors(),setTimeout((()=>e.state="default"),1500)},success:!0})}}};var ju=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"app-confirm"},[t("h2",{directives:[{name:"localize",rawName:"v-localize",value:e.config.title,expression:"config.title"}],staticClass:"ui-headline"}),e._v(" "),t("p",{directives:[{name:"localize",rawName:"v-localize:html",value:e.config.text,expression:"config.text",arg:"html"}]}),e._v(" "),t("ui-error",{ref:"error",staticStyle:{"margin-top":"25px"}}),e._v(" "),t("div",{staticClass:"app-confirm-buttons"},[t("ui-button",{attrs:{type:"light",label:e.config.closeLabel,disabled:"loading"==e.state},on:{click:e.config.close}}),e._v(" "),t("ui-button",{attrs:{type:e.config.confirmType,state:e.state,label:e.config.confirmLabel},on:{click:e.confirm}})],1)],1)};ju._withStripped=!0;const Yu=Da({render:ju,staticRenderFns:[]},(function(e){e&&e("data-v-8fec9adc_0",{source:".app-confirm-buttons {\n margin-top: 30px;\n}\n.app-confirm p {\n line-height: 1.4;\n}\n\n/*# sourceMappingURL=confirm.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\overlays\\confirm.vue","confirm.vue"],names:[],mappings:"AAsEA;EAEA,gBAAA;ACtEA;ADyEA;EAEA,gBAAA;ACvEA;;AAEA,sCAAsC",file:"confirm.vue",sourcesContent:['\ufeff<template>\r\n <div class="app-confirm">\r\n <h2 class="ui-headline" v-localize="config.title"></h2>\r\n <p v-localize:html="config.text"></p>\r\n <ui-error ref="error" style="margin-top: 25px;" />\r\n <div class="app-confirm-buttons">\r\n <ui-button type="light" :label="config.closeLabel" :disabled="state == \'loading\'" @click="config.close"></ui-button>\r\n <ui-button :type="config.confirmType" :state="state" :label="config.confirmLabel" @click="confirm"></ui-button>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import Overlay from \'zero/helpers/overlay.js\'\r\n\r\n export default {\r\n\r\n props: {\r\n model: Object,\r\n config: Object\r\n },\r\n\r\n data: () => ({\r\n state: \'default\'\r\n }),\r\n\r\n mounted()\r\n {\r\n \r\n },\r\n\r\n methods: {\r\n\r\n confirm()\r\n {\r\n var instance = this;\r\n\r\n this.config.confirm({\r\n hide()\r\n {\r\n instance.config.close();\r\n },\r\n state(state)\r\n {\r\n instance.state = state;\r\n },\r\n errors(errors)\r\n {\r\n instance.state = \'error\';\r\n\r\n if (!errors)\r\n {\r\n instance.$refs.error.clearErrors();\r\n }\r\n else\r\n {\r\n instance.$refs.error.setErrors(errors);\r\n }\r\n\r\n setTimeout(() => instance.state = \'default\', 1500);\r\n },\r\n success: true\r\n });\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .app-confirm-buttons\r\n {\r\n margin-top: 30px;\r\n }\r\n\r\n .app-confirm p\r\n {\r\n line-height: 1.4;\r\n }\r\n</style>',".app-confirm-buttons {\n margin-top: 30px;\n}\n\n.app-confirm p {\n line-height: 1.4;\n}\n\n/*# sourceMappingURL=confirm.vue.map */"]},media:void 0})}),Pu,undefined,false,undefined,!1,Iu,void 0,void 0);var Uu=new xt({data:()=>({dropdownInstance:null,instances:[]}),methods:{setDropdown(e){null!=this.dropdownInstance&&this.dropdownInstance.hide(),this.dropdownInstance=e},confirmDelete(e,n){let t=Qc({title:"string"==typeof e?e:"@deleteoverlay.title",text:n||"@deleteoverlay.text",confirmLabel:"@deleteoverlay.confirm",confirmType:"danger",closeLabel:"@deleteoverlay.close",component:Yu,autoclose:!1,softdismiss:!1},"object"==typeof e?e:{});return this.open(t)},confirm(e,n){let t=Qc({title:e,text:n,component:Yu,autoclose:!0,softdismiss:!1},"object"==typeof e?e:{});return this.open(t)},open(e){const n="editor"===e.display?560:460;return(e=Qc({id:jl.guid(),display:"dialog",width:n,hide:this.close,autoclose:!0,softdismiss:"editor"!==e.display,closeLabel:"@ui.close",confirmLabel:"@ui.confirm",confirmType:"default"},e)).theme="default",this.instances.push(e),new Promise(((n,t)=>{e.close=()=>{this.close(e),t(e)},e.confirm=t=>{e.autoclose&&this.close(e),n(t,e)}}))},close(e){if(!(this.instances.length<1))if(e){if("string"==typeof e&&(e=Yd(this.instances,(n=>n.id===e))),e){const n=this.instances.indexOf(e);this.instances.splice(n,1)}}else this.instances.pop()},closeAll(){this.instances.forEach((e=>{}))}}});const qu={components:{UiEditor:Ou},props:{value:[Array,Object],meta:Object,depth:Number,disabled:Boolean,editor:{type:Object,required:!0},limit:{type:Number,default:100},title:String,addLabel:String,itemLabel:Function,itemDescription:Function,itemIcon:[String,Function],template:{type:Object,required:!0}},watch:{value:{deep:!0,handler(e){this.setup()}}},data:()=>({items:[],multiple:!1}),mounted(){this.setup()},methods:{setup(){this.items=JSON.parse(JSON.stringify(this.value))||[],this.multiple=this.limit>1,this.multiple||(this.items=this.items?[this.items]:[])},getNewItem(){return JSON.parse(JSON.stringify(this.template||{}))},addItem(){this.limit<=this.items.length||(this.editItem(this.getNewItem(),!0),this.onChange())},editItem(e,n){return Uu.open({component:Lu,display:"editor",editor:this.editor,title:this.title||"@ui.edit.title",model:e,width:1100,create:n}).then((t=>{if(n)this.items.push(t);else{const n=this.items.indexOf(e);this.removeItem(n),this.items.splice(n,0,t)}this.onChange()}))},removeItem(e){this.items.splice(e,1),this.onChange()},onChange(){this.$emit("input",this.multiple?this.items:this.items.length>0?this.items[0]:null)},getName(e){return"function"==typeof this.itemLabel?this.itemLabel(e):"Item"},getDescription(e){return"function"==typeof this.itemDescription?this.itemDescription(e):""},getIcon(e){return"function"==typeof this.itemIcon?this.itemIcon(e):this.itemIcon}}};var Hu=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"editor-nested",attrs:{depth:e.depth}},[e.items.length?t("div",{staticClass:"ui-pick-previews"},e._l(e.items,(function(n,r){return t("div",{staticClass:"ui-pick-preview"},[t("ui-select-button",{attrs:{icon:e.getIcon(n),label:e.getName(n),description:e.getDescription(n),disabled:e.disabled},on:{click:function(t){return e.editItem(n)}}}),e._v(" "),e.disabled?e._e():t("ui-icon-button",{attrs:{icon:"fth-x",title:"@ui.close",disabled:e.disabled},on:{click:function(n){return e.removeItem(r)}}})],1)})),0):e._e(),e._v(" "),e.limit>e.items.length?t("ui-select-button",{attrs:{icon:"fth-plus",label:e.addLabel||"@ui.add",disabled:e.disabled},on:{click:e.addItem}}):e._e()],1)};Hu._withStripped=!0;const Wu=Da({render:Hu,staticRenderFns:[]},undefined,qu,undefined,false,undefined,!1,void 0,void 0,void 0);const Vu={props:{value:{type:[String,Number]},disabled:{type:Boolean,default:!1},config:Object},data:()=>({items:[]})};var Ju=function(){var e=this,n=e.$createElement;return(e._self._c||n)("ui-state-button",{attrs:{items:e.config.items,value:e.value,disabled:e.disabled},on:{input:function(n){return e.$emit("input",n)}}})};Ju._withStripped=!0;const Ku=Da({render:Ju,staticRenderFns:[]},undefined,Vu,undefined,false,undefined,!1,void 0,void 0,void 0);const Gu={props:{value:{type:Array,default:()=>[]},disabled:Boolean,limit:{type:Number,default:10},maxItemLength:{type:Number,default:200}}};var Xu=function(){var e=this,n=e.$createElement;return(e._self._c||n)("ui-tags",{attrs:{value:e.value,"max-items":e.limit,"max-length":e.maxItemLength,disabled:e.disabled},on:{input:function(n){return e.$emit("input",n)}}})};Xu._withStripped=!0;const Qu=Da({render:Xu,staticRenderFns:[]},undefined,Gu,undefined,false,undefined,!1,void 0,void 0,void 0);var Zu,ep,np,tp,rp,ip=(e,n,t)=>{if(!n.has(e))throw TypeError("Cannot "+t)},op=(e,n,t)=>(ip(e,n,"read from private field"),t?t.call(e):n.get(e)),ap=(e,n,t,r)=>(ip(e,n,"write to private field"),r?r.call(e,t):n.set(e,t),t);class sp{constructor(e,n){this.path=null,this.options={label:null,hideLabel:!1,description:null,helpText:null,condition:null,disabled:!1,tab:null,coreDatabase:!1,class:""},Zu.set(this,{icon:"fth-filter",preview:e=>e,hasValue:e=>!!e}),ep.set(this,null),np.set(this,{}),tp.set(this,!1),rp.set(this,!1),this.path=e,this.options={...this.options,...n}}get component(){return op(this,ep)}get componentOptions(){return op(this,np)}get isRequired(){return op(this,tp)}get previewOptions(){return op(this,Zu)}setBase(e){return this.path=e.path,this.options={...e.options},ap(this,Zu,{...e.previewOptions}),ap(this,ep,e.component),ap(this,np,e.componentOptions),ap(this,tp,e.isRequired),this}_setComponent(e,n){return ap(this,ep,e),ap(this,np,n||{}),this}required(e){return ap(this,tp,"function"==typeof e?e:"boolean"!=typeof e||e),this}when(e){return this.options.condition=e,this}custom(e,n){return this._setComponent(e,{...n})}text(e,n){return this._setComponent(Oa,{maxLength:e,placeholder:n})}currency(e){return this._setComponent(Ia,{placeholder:e})}number(e,n){return this._setComponent(Ra,{maxLength:e,placeholder:n})}rte(){return this._setComponent(Pa)}select(e){return this._setComponent(Ua,{items:e})}textarea(e){return this._setComponent(Wa,{maxLength:e})}toggle(e){return this._setComponent(Ka,{negative:e})}output(e){return ap(this,rp,!0),this._setComponent(ns,{render:e})}alias(e){return this._setComponent(Qa,{namePath:e})}checkList(e,n){return this._setComponent(is,{items:e,...n})}colorPicker(){return this._setComponent(ls)}countryPicker(e){return this._setComponent(us,{limit:e})}spacePicker(e){return this._setComponent(As,{limit:e})}culturePicker(){return this._setComponent(pl)}mailTemplatePicker(e){return this._setComponent(gs,{limit:e})}datePicker(e){return this._setComponent(hl,{...e})}dateRangePicker(e){return this._setComponent(vl,{...e})}iconPicker(e){return this._setComponent(Cl,{icons:e})}pagePicker(e){return this._setComponent(Sl,{...e})}inputList(e,n,t){return this._setComponent(zl,{limit:e,maxItemLength:n,addLabel:t})}tags(e,n){return this._setComponent(Qu,{limit:e,maxItemLength:n})}languagePicker(){return this._setComponent(wl)}modules(e){return this._setComponent(Nl,{tags:e})}nested(e,n){return this._setComponent(Wu,{editor:e,...n})}state(e){return this._setComponent(Ku,{items:e})}media(e){return this._setComponent(Tl,{...e})}image(e){return this._setComponent(Tl,{...e,fileExtensions:[".jpg",".jpeg",".png",".webp",".svg"]})}preview(e){return ap(this,Zu,{...this.preview,...e}),this}}Zu=new WeakMap,ep=new WeakMap,np=new WeakMap,tp=new WeakMap,rp=new WeakMap;var lp,cp,dp=(e,n,t)=>{if(!n.has(e))throw TypeError("Cannot "+t)},up=(e,n,t)=>(dp(e,n,"read from private field"),t?t.call(e):n.get(e)),pp=(e,n,t,r)=>(dp(e,n,"write to private field"),r?r.call(e,t):n.set(e,t),t);class fp{constructor(e,n){lp.set(this,void 0),cp.set(this,void 0),this.templateLabel=e=>up(this,cp)+e,this.templateDescription=e=>up(this,cp)+e+"_text",this.tabs=[],this.fields=[],this.options={disabled:!1,boxes:!1,coreDatabase:!0},pp(this,lp,e),pp(this,cp,n||"")}get alias(){return up(this,lp)}tab(e,n,t,r){if(void 0!==r&&"boolean"!=typeof r&&"function"!=typeof r)return void console.warn("[zero] editor.tab: the disabled property has to be of type [boolean, function, undefined]");if(void 0!==t&&"number"!=typeof t&&"function"!=typeof t)return void console.warn("[zero] editor.tab: the count property has to be of type [number, function, undefined]");let i=this.tabs.find((n=>n.alias===e));return i||(i=this._createTab(e,n,r,t),this.tabs.push(i)),i}field(e,n){n=n||{};let t=this.fields.find((n=>n.path===e));return t?t.options={...t.options,...n}:(void 0===n.coreDatabase&&(n.coreDatabase=this.options.coreDatabase),t=new sp(e,n),this.fields.push(t)),t}disabled(e){return this.options.disabled=e,this}getFields(e){const n=void 0===e?null:"string"==typeof e?e:e.alias;return this.fields.filter((e=>!n||e.options.tab===n))}removeField(e){const n=this.fields.find((n=>n.path===e));if(null!=n){const e=this.fields.indexOf(n);this.fields.splice(e,1)}}removeTab(e){const n="object"==typeof e?e.alias:e,t=this.tabs.find((e=>e.alias===n));if(null!=t){const e=this.tabs.indexOf(t);this.tabs.splice(e,1),this.fields.filter((e=>e.tab===n)).forEach((e=>this.removeField(e.path)))}}setBase(e){return this.fields=e.fields.map((e=>new sp(e.path).setBase(e))),this.tabs=e.tabs.map((e=>this._createTab(e.alias,e.name,e.disabled,e.count))),this}_createTab(e,n,t,r){return{alias:e,name:n,disabled:t,count:r,field:(n,t)=>((t=t||{}).tab=e,this.field(n,t)),removeField:e=>this.removeField(e)}}}lp=new WeakMap,cp=new WeakMap;var Ap={...ll("applications/"),getAllFeatures:async()=>await il("applications/getAllFeatures")};const hp={props:{value:{type:Array,default:()=>[]},config:Object,disabled:{type:Boolean,default:!1}},data:()=>({features:[]}),created(){Ap.getAllFeatures().then((e=>this.features=e))},methods:{onFeatureToggle(e,n){const t=n.alias,r=this.value.indexOf(t);!e&&r>-1?this.value.splice(r,1):e&&-1===r&&this.value.push(t),this.$emit("input",this.value)}}};var mp=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"application-features"},e._l(e.features,(function(n){return t("ui-property",{key:n.alias,attrs:{label:n.name,description:n.description}},[t("ui-toggle",{attrs:{value:e.value.indexOf(n.alias)>-1,disabled:e.disabled},on:{input:function(t){return e.onFeatureToggle(t,n)}}})],1)})),1)};mp._withStripped=!0;const gp=Da({render:mp,staticRenderFns:[]},undefined,hp,undefined,false,undefined,!1,void 0,void 0,void 0),vp=new fp("application","@application.fields.");vp.options.coreDatabase=!0;const bp=vp.tab("general","@ui.tab_general"),yp=vp.tab("domains","@application.tab_domains",(e=>e.domains.length)),Cp=vp.tab("features","@application.tab_features",(e=>e.features.length));bp.field("name",{label:"@ui.name"}).text(50).required(),bp.field("fullName").text(120),bp.field("email").text(120).required(),bp.field("imageId").image(),bp.field("iconId").image(),yp.field("domains",{helpText:"@application.fields.domains_help"}).inputList(10,null,"@application.fields.domains_add").required(),Cp.field("features").custom(gp);const Ep=new fp("country","@country.fields.");Ep.field("name",{label:"@ui.name"}).text(120).required(),Ep.field("code").text(2).required(),Ep.field("isPreferred").toggle();const xp=new fp("language","@language.fields.");xp.field("name",{label:"@ui.name"}).text(60).required(),xp.field("code").text(10).required(),xp.field("inheritedLanguageId").languagePicker(),xp.field("isDefault").toggle(),xp.field("isOptions").toggle();const wp="media/";var kp={...ll(wp),getListByQuery:async e=>await il(wp+"getListByQuery",{params:e}),move:async(e,n)=>await ol(wp+"move",{id:e,destinationId:n}),upload:async(e,n,t,r)=>{var i=new FormData;return i.append("file",e),i.append("folderId",n),await ol(wp+(r?"uploadTemporary":"upload"),i,{onUploadProgress:e=>{if("function"==typeof t){var n=Math.round(100*e.loaded/e.total);t(n)}}})},getImageSource:(e,n,t)=>e&&0!==e.indexOf("http")?0===e.indexOf("url://")?e.substring(6)+"?preset=productListing":zero.apiPath+wp+"streamThumbnail/?id="+e+("boolean"==typeof n?"&thumb="+(n?"true":"false"):"")+(!0===t?"&scope=shared":""):e};const _p={props:{config:Object,entity:Object,value:String,disabled:Boolean},data:()=>({icons:{image:"fth-image",video:"fth-video",file:"fth-file"}}),methods:{removeFile(){this.$emit("input",(e=>e.source=null))},onUpload(e){let n=e.target.files[0];n&&kp.upload(n,this.entity.folderId,null,!0).then((e=>{this.$emit("input",(n=>{n.source=e.source,n.previewSource=e.previewSource,n.thumbnailSource=e.thumbnailSource,n.imageMeta=e.imageMeta,n.type=e.type,n.size=e.size,n.focalPoint=e.focalPoint,n.name=e.name}))}))},getFocalPointStyle:e=>({display:"inline-block",left:100*(e?e.left:.5)+"%",top:100*(e?e.top:.5)+"%"}),setFocalPoint(e){if(this.disabled)return;let n=this.$refs.image.getBoundingClientRect(),t=e.pageX-n.x,r=e.pageY-n.y;const i=+(t/n.width).toFixed(2),o=+(r/n.height).toFixed(2);this.entity.focalPoint={left:i<0?0:i>1?1:i,top:o<0?0:o>1?1:o}}}};var Sp=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"media-upload"},[e.entity.source?t("div",{staticClass:"media-upload-preview",attrs:{"data-type":e.entity.type}},["image"===e.entity.type?t("span",{ref:"image",staticClass:"media-upload-preview-image media-bg-pattern",on:{click:e.setFocalPoint,dblclick:function(n){e.entity.focalPoint=null}}},[t("span",{staticClass:"media-upload-preview-focal-point",style:e.getFocalPointStyle(e.entity.focalPoint)}),e._v(" "),t("img",{attrs:{src:e.entity.previewSource,alt:e.entity.name}})]):e._e(),e._v(" "),"file"===e.entity.type?t("a",{staticClass:"media-upload-preview-file",attrs:{href:e.entity.source,target:"_blank"}},[t("i",{class:e.icons[e.entity.type],attrs:{"data-extension":e.entity.source.split(".").pop()}}),e._v(" "),t("div",[t("span",[e._v(e._s(e.entity.source.split("/").pop()))]),t("br"),e._v(" "),t("span",{staticClass:"is-minor"},[e._v(e._s(e.entity.source.split(".").pop()))])])]):e._e()]):e._e(),e._v(" "),e.entity.source?t("div",["image"===e.entity.type?t("a",{staticClass:"ui-link media-upload-preview-remove",attrs:{href:e.entity.source,target:"_blank"}},[e._v("Open")]):e._e(),e._v(" "),e.disabled?e._e():t("button",{staticClass:"ui-link media-upload-preview-remove",attrs:{type:"button"},on:{click:e.removeFile}},[e._v("Remove file")])]):e._e(),e._v(" "),e.entity.source||e.disabled?e._e():t("div",{staticClass:"ui-select-button type-light"},[e._m(0),e._v(" "),e._m(1),e._v(" "),t("input",{staticClass:"media-upload-input",attrs:{type:"file"},on:{change:e.onUpload}})])])};Sp._withStripped=!0;const Dp=Da({render:Sp,staticRenderFns:[function(){var e=this.$createElement,n=this._self._c||e;return n("span",{staticClass:"ui-select-button-icon"},[n("i",{staticClass:"fth-plus"})])},function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("content",{staticClass:"ui-select-button-content"},[t("strong",{staticClass:"ui-select-button-label"},[e._v("Upload file")])])}]},(function(e){e&&e("data-v-dec3c0d6_0",{source:".media-upload-preview {\n display: block;\n}\n.media-upload-preview-image {\n padding: 0;\n border-radius: var(--radius);\n background: var(--color-bg-dim);\n display: inline-block;\n position: relative;\n cursor: pointer;\n overflow: visible;\n user-select: none;\n /*&:hover img\n {\n opacity: 0.7;\n }*/\n}\n.media-upload-preview-image img {\n display: block;\n max-width: 100%;\n max-height: 400px;\n border-radius: var(--radius);\n position: relative;\n z-index: 1;\n}\n.media-upload-preview-file {\n display: flex;\n background: var(--color-box-nested);\n border-radius: var(--radius);\n align-items: center;\n justify-content: flex-start;\n color: var(--color-text);\n padding: var(--padding-s);\n padding-right: var(--padding);\n}\n.media-upload-preview-file i {\n font-size: 22px;\n position: relative;\n margin-right: var(--padding-s);\n}\n.media-upload-preview-file .is-minor {\n color: var(--color-text-dim);\n font-size: var(--font-size-xs);\n text-transform: uppercase;\n}\n.media-upload-preview-focal-point {\n display: none;\n position: absolute;\n left: 50%;\n top: 50%;\n margin: -8px 0 0 -8px;\n width: 16px;\n height: 16px;\n border-radius: 20px;\n background: white;\n border: 3px solid #222;\n box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.4);\n z-index: 2;\n}\n.media-upload-preview-remove {\n margin-right: 8px;\n margin-top: 10px;\n}\ninput[type=file].media-upload-input {\n position: absolute;\n height: 100%;\n top: 0;\n left: 0;\n width: 100%;\n z-index: 1;\n bottom: 0;\n opacity: 0.001;\n cursor: pointer;\n}\n\n/*# sourceMappingURL=upload.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\pages\\media\\upload.vue","upload.vue"],names:[],mappings:"AAsHA;EAEA,cAAA;ACtHA;ADyHA;EAEA,UAAA;EACA,4BAAA;EACA,+BAAA;EACA,qBAAA;EACA,kBAAA;EACA,eAAA;EACA,iBAAA;EACA,iBAAA;EAYA;;;IAAA;AC/HA;ADqHA;EAEA,cAAA;EACA,eAAA;EACA,iBAAA;EACA,4BAAA;EACA,kBAAA;EACA,UAAA;ACpHA;AD6HA;EAEA,aAAA;EACA,mCAAA;EACA,4BAAA;EACA,mBAAA;EACA,2BAAA;EACA,wBAAA;EACA,yBAAA;EACA,6BAAA;AC3HA;AD6HA;EAEA,eAAA;EACA,kBAAA;EACA,8BAAA;AC5HA;AD+HA;EAEA,4BAAA;EACA,8BAAA;EACA,yBAAA;AC9HA;ADkIA;EAEA,aAAA;EACA,kBAAA;EACA,SAAA;EACA,QAAA;EACA,qBAAA;EACA,WAAA;EACA,YAAA;EACA,mBAAA;EACA,iBAAA;EACA,sBAAA;EACA,0CAAA;EACA,UAAA;AChIA;ADmIA;EAEA,iBAAA;EACA,gBAAA;ACjIA;ADoIA;EAEA,kBAAA;EACA,YAAA;EACA,MAAA;EACA,OAAA;EACA,WAAA;EACA,UAAA;EACA,SAAA;EACA,cAAA;EACA,eAAA;AClIA;;AAEA,qCAAqC",file:"upload.vue",sourcesContent:['\ufeff<template>\r\n <div class="media-upload">\r\n\r\n <div v-if="entity.source" class="media-upload-preview" :data-type="entity.type">\r\n <span ref="image" v-if="entity.type === \'image\'" class="media-upload-preview-image media-bg-pattern" @click="setFocalPoint" @dblclick="entity.focalPoint = null">\r\n <span class="media-upload-preview-focal-point" :style="getFocalPointStyle(entity.focalPoint)"></span>\r\n <img :src="entity.previewSource" :alt="entity.name" />\r\n </span>\r\n \r\n <a :href="entity.source" target="_blank" v-if="entity.type === \'file\'" class="media-upload-preview-file">\r\n <i :class="icons[entity.type]" :data-extension="entity.source.split(\'.\').pop()"></i>\r\n <div>\r\n <span>{{entity.source.split(\'/\').pop()}}</span><br />\r\n <span class="is-minor">{{entity.source.split(\'.\').pop()}}</span>\r\n </div>\r\n </a>\r\n </div>\r\n\r\n <div v-if="entity.source">\r\n <a :href="entity.source" target="_blank" v-if="entity.type === \'image\'" class="ui-link media-upload-preview-remove">Open</a>\r\n <button type="button" class="ui-link media-upload-preview-remove" @click="removeFile" v-if="!disabled">Remove file</button>\r\n </div>\r\n\r\n <div v-if="!entity.source && !disabled" class="ui-select-button type-light">\r\n <span class="ui-select-button-icon"><i class="fth-plus"></i></span>\r\n <content class="ui-select-button-content">\r\n <strong class="ui-select-button-label">Upload file</strong>\r\n </content>\r\n <input class="media-upload-input" type="file" @change="onUpload" />\r\n </div>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import MediaApi from \'zero/api/media.js\';\r\n\r\n export default {\r\n\r\n props: {\r\n config: Object,\r\n entity: Object,\r\n value: String,\r\n disabled: Boolean\r\n },\r\n\r\n data: () => ({\r\n icons: {\r\n image: \'fth-image\',\r\n video: \'fth-video\',\r\n file: \'fth-file\'\r\n }\r\n }),\r\n\r\n methods: {\r\n\r\n removeFile()\r\n {\r\n this.$emit(\'input\', x => x.source = null);\r\n },\r\n\r\n onUpload(event)\r\n {\r\n let file = event.target.files[0];\r\n\r\n if (!file)\r\n {\r\n return;\r\n }\r\n\r\n // TODO do not allow switch of file to a new type, e.g. "image" => "file"\r\n MediaApi.upload(file, this.entity.folderId, null, true).then(res =>\r\n {\r\n this.$emit(\'input\', x =>\r\n {\r\n x.source = res.source;\r\n x.previewSource = res.previewSource;\r\n x.thumbnailSource = res.thumbnailSource;\r\n x.imageMeta = res.imageMeta;\r\n x.type = res.type;\r\n x.size = res.size;\r\n x.focalPoint = res.focalPoint;\r\n x.name = res.name;\r\n });\r\n });\r\n },\r\n\r\n getFocalPointStyle(point)\r\n {\r\n return {\r\n display: \'inline-block\',\r\n left: (point ? point.left : 0.5) * 100 + \'%\',\r\n top: (point ? point.top : 0.5) * 100 + \'%\'\r\n }\r\n },\r\n\r\n setFocalPoint(ev)\r\n {\r\n if (this.disabled)\r\n {\r\n return;\r\n }\r\n\r\n let image = this.$refs.image.getBoundingClientRect();\r\n let point = { x: ev.pageX - image.x, y: ev.pageY - image.y };\r\n const left = +(point.x / image.width).toFixed(2);\r\n const top = +(point.y / image.height).toFixed(2);\r\n\r\n this.entity.focalPoint = {\r\n left: left < 0 ? 0 : (left > 1 ? 1 : left),\r\n top: top < 0 ? 0 : (top > 1 ? 1: top)\r\n };\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .media-upload-preview\r\n {\r\n display: block;\r\n }\r\n\r\n .media-upload-preview-image\r\n {\r\n padding: 0;\r\n border-radius: var(--radius);\r\n background: var(--color-bg-dim);\r\n display: inline-block;\r\n position: relative;\r\n cursor: pointer;\r\n overflow: visible;\r\n user-select: none;\r\n\r\n img\r\n {\r\n display: block;\r\n max-width: 100%;\r\n max-height: 400px;\r\n border-radius: var(--radius);\r\n position: relative;\r\n z-index: 1;\r\n }\r\n\r\n /*&:hover img\r\n {\r\n opacity: 0.7;\r\n }*/\r\n }\r\n\r\n .media-upload-preview-file\r\n {\r\n display: flex;\r\n background: var(--color-box-nested);\r\n border-radius: var(--radius);\r\n align-items: center;\r\n justify-content: flex-start;\r\n color: var(--color-text);\r\n padding: var(--padding-s);\r\n padding-right: var(--padding);\r\n\r\n i\r\n {\r\n font-size: 22px;\r\n position: relative;\r\n margin-right: var(--padding-s);\r\n }\r\n\r\n .is-minor\r\n {\r\n color: var(--color-text-dim);\r\n font-size: var(--font-size-xs);\r\n text-transform: uppercase;\r\n }\r\n }\r\n\r\n .media-upload-preview-focal-point\r\n {\r\n display: none;\r\n position: absolute;\r\n left: 50%;\r\n top: 50%;\r\n margin: -8px 0 0 -8px;\r\n width: 16px;\r\n height: 16px;\r\n border-radius: 20px;\r\n background: white;\r\n border: 3px solid #222;\r\n box-shadow: 1px 1px 2px rgba(0,0,0,0.4);\r\n z-index: 2;\r\n }\r\n\r\n .media-upload-preview-remove\r\n {\r\n margin-right: 8px;\r\n margin-top: 10px;\r\n }\r\n\r\n input[type="file"].media-upload-input\r\n {\r\n position: absolute;\r\n height: 100%;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n z-index: 1;\r\n bottom: 0;\r\n opacity: 0.001;\r\n cursor: pointer;\r\n }\r\n</style>',".media-upload-preview {\n display: block;\n}\n\n.media-upload-preview-image {\n padding: 0;\n border-radius: var(--radius);\n background: var(--color-bg-dim);\n display: inline-block;\n position: relative;\n cursor: pointer;\n overflow: visible;\n user-select: none;\n /*&:hover img\n {\n opacity: 0.7;\n }*/\n}\n.media-upload-preview-image img {\n display: block;\n max-width: 100%;\n max-height: 400px;\n border-radius: var(--radius);\n position: relative;\n z-index: 1;\n}\n\n.media-upload-preview-file {\n display: flex;\n background: var(--color-box-nested);\n border-radius: var(--radius);\n align-items: center;\n justify-content: flex-start;\n color: var(--color-text);\n padding: var(--padding-s);\n padding-right: var(--padding);\n}\n.media-upload-preview-file i {\n font-size: 22px;\n position: relative;\n margin-right: var(--padding-s);\n}\n.media-upload-preview-file .is-minor {\n color: var(--color-text-dim);\n font-size: var(--font-size-xs);\n text-transform: uppercase;\n}\n\n.media-upload-preview-focal-point {\n display: none;\n position: absolute;\n left: 50%;\n top: 50%;\n margin: -8px 0 0 -8px;\n width: 16px;\n height: 16px;\n border-radius: 20px;\n background: white;\n border: 3px solid #222;\n box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.4);\n z-index: 2;\n}\n\n.media-upload-preview-remove {\n margin-right: 8px;\n margin-top: 10px;\n}\n\ninput[type=file].media-upload-input {\n position: absolute;\n height: 100%;\n top: 0;\n left: 0;\n width: 100%;\n z-index: 1;\n bottom: 0;\n opacity: 0.001;\n cursor: pointer;\n}\n\n/*# sourceMappingURL=upload.vue.map */"]},media:void 0})}),_p,undefined,false,undefined,!1,Iu,void 0,void 0),Bp=new fp("media","@media.fields.");Bp.field("source").custom(Dp).required(),Bp.field("name",{label:"@ui.name"}).text().required(),Bp.field("alternativeText").text(),Bp.field("caption").textarea();var zp={...ll("userRoles/"),getAllPermissions:async()=>await il("userRoles/getAllPermissions")};const Op={name:"uiPermissions",props:{value:{type:Array,default:()=>[]},disabled:{type:Boolean,default:!1}},watch:{value(e){this.rebuild()}},data:()=>({claims:[],stateItems:[{value:"@permission.states.read",key:"read"},{value:"@permission.states.update",key:"update"},{value:"@permission.states.create",key:"create"}],permissions:[]}),created(){zp.getAllPermissions().then((e=>{this.permissions=e,this.rebuild()}))},methods:{rebuild(){if(!this.permissions.length)return;let e={};this.value.forEach((n=>{const t=n.value.split(":");e[t[0]]=t[1]})),this.permissions.forEach((n=>{n.items.forEach((n=>{n.value=this.parsePermissionValue(e[n.key],n.valueType)}))}))},getCount:e=>Jd(e.items,(e=>"none"!==e.value&&"false"!==e.value&&!!e.value)).length,onChange(){let e=[];this.permissions.forEach((n=>{n.items.forEach((n=>{"boolean"!==n.valueType&&"crud"!==n.valueType&&"string"!==n.valueType||e.push({type:"zero.claim.permission",value:n.key+":"+n.value})}))})),this.$emit("input",e)},onPermissionToggle(e,n){e?n.value=n._oldValue||"read,create,update,delete":(n._oldValue=n.value,n.value="none"),this.onChange()},onPermissionCRUDChecked(e,n){e.indexOf("read")<0&&e.push("read"),n.value=e.join(",").trim(","),this.onChange()},parsePermissionValue:(e,n)=>"boolean"===n?"true"===e:"crud"!==n||e?e:"none"}};var Mp=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",[e.permissions.length?t("ui-inline-tabs",{staticClass:"ui-permissions",attrs:{"force-count":!0}},e._l(e.permissions,(function(n,r){return t("ui-tab",{key:r,attrs:{label:n.label,title:n.description,count:e.getCount(n)}},[t("ui-error",{attrs:{field:"Claims"}}),e._v(" "),e._l(n.items,(function(n,r){return t("ui-property",{key:r,staticClass:"role-permission-toggle",attrs:{label:n.label,description:n.description}},["boolean"===n.valueType?t("ui-toggle",{attrs:{disabled:e.disabled},on:{input:e.onChange},model:{value:n.value,callback:function(t){e.$set(n,"value",t)},expression:"permission.value"}}):e._e(),e._v(" "),"crud"===n.valueType?t("div",{staticClass:"ui-permissions-crud"},[t("ui-toggle",{attrs:{value:"none"!=n.value,disabled:e.disabled},on:{input:function(t){return e.onPermissionToggle(t,n)}}}),e._v(" "),"none"!=n.value?t("ui-check-list",{attrs:{value:n.value.split(","),items:e.stateItems,inline:!0,disabled:e.disabled},on:{input:function(t){return e.onPermissionCRUDChecked(t,n)}}}):e._e()],1):e._e()],1)}))],2)})),1):e._e()],1)};Mp._withStripped=!0;const Tp=Da({render:Mp,staticRenderFns:[]},(function(e){e&&e("data-v-5645be6c_0",{source:".ui-permissions > .ui-property + .ui-property {\n border-top: 1px solid var(--color-line);\n padding-top: 40px;\n margin-top: 40px;\n}\n.ui-permissions > .ui-property > .ui-property-label {\n width: 300px;\n}\n.ui-permissions .ui-tab {\n border-top: 1px solid var(--color-line);\n padding-top: var(--padding);\n}\n.role-permission-toggle {\n border-top-width: 0 !important;\n}\n.ui-permissions-crud {\n display: flex;\n}\n.ui-permissions-crud .ui-toggle {\n margin-right: var(--padding);\n}\n.ui-permissions-crud .ui-check-list {\n margin-top: 1px;\n}\n\n/*# sourceMappingURL=permissions.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\permissions.vue","permissions.vue"],names:[],mappings:"AA0KA;EAEA,uCAAA;EACA,iBAAA;EACA,gBAAA;AC1KA;AD6KA;EAEA,YAAA;AC3KA;AD8KA;EAEA,uCAAA;EACA,2BAAA;AC5KA;ADkLA;EAEA,8BAAA;AChLA;ADmLA;EAEA,aAAA;ACjLA;ADmLA;EAEA,4BAAA;AClLA;ADqLA;EAEA,eAAA;ACpLA;;AAEA,0CAA0C",file:"permissions.vue",sourcesContent:['\ufeff<template>\r\n <div>\r\n <ui-inline-tabs v-if="permissions.length" class="ui-permissions" :force-count="true">\r\n <ui-tab v-for="(permissionCollection, index) in permissions" :key="index" :label="permissionCollection.label" :title="permissionCollection.description" :count="getCount(permissionCollection)">\r\n <ui-error field="Claims" />\r\n <ui-property v-for="(permission, index) in permissionCollection.items" :key="index" class="role-permission-toggle" :label="permission.label" :description="permission.description">\r\n <ui-toggle v-if="permission.valueType === \'boolean\'" :disabled="disabled" v-model="permission.value" @input="onChange" />\r\n <div class="ui-permissions-crud" v-if="permission.valueType === \'crud\'">\r\n <ui-toggle :value="permission.value != \'none\'" :disabled="disabled" @input="onPermissionToggle($event, permission)" />\r\n <ui-check-list :value="permission.value.split(\',\')" :items="stateItems" v-if="permission.value != \'none\'" :inline="true" @input="onPermissionCRUDChecked($event, permission)" :disabled="disabled" />\r\n </div>\r\n \x3c!--<input v-if="permission.valueType === \'string\'" :disabled="disabled" v-model="permission.value" type="text" class="ui-input" @input="onChange" />--\x3e\r\n </ui-property>\r\n </ui-tab>\r\n </ui-inline-tabs>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import UserRolesApi from \'zero/api/userRoles.js\';\r\n import { filter as _filter } from \'underscore\';\r\n\r\n export default {\r\n name: \'uiPermissions\',\r\n\r\n props: {\r\n value: {\r\n type: Array,\r\n default: () => []\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n\r\n watch: {\r\n value(value)\r\n {\r\n this.rebuild();\r\n }\r\n },\r\n\r\n data: () => ({\r\n claims: [],\r\n stateItems: [\r\n { value: \'@permission.states.read\', key: \'read\' },\r\n { value: \'@permission.states.update\', key: \'update\' },\r\n { value: \'@permission.states.create\', key: \'create\' }\r\n ],\r\n permissions: []\r\n }),\r\n\r\n created()\r\n {\r\n UserRolesApi.getAllPermissions().then(response =>\r\n {\r\n this.permissions = response;\r\n this.rebuild();\r\n });\r\n },\r\n\r\n methods: {\r\n\r\n rebuild()\r\n {\r\n if (!this.permissions.length)\r\n {\r\n return;\r\n }\r\n\r\n let claims = {};\r\n\r\n this.value.forEach(claim =>\r\n {\r\n const parts = claim.value.split(\':\');\r\n claims[parts[0]] = parts[1];\r\n });\r\n\r\n this.permissions.forEach(collection =>\r\n {\r\n collection.items.forEach(permission =>\r\n {\r\n permission.value = this.parsePermissionValue(claims[permission.key], permission.valueType);\r\n });\r\n });\r\n },\r\n\r\n\r\n getCount(permissionGroup)\r\n {\r\n return _filter(permissionGroup.items, claim =>\r\n {\r\n return claim.value !== \'none\' && claim.value !== \'false\' && !!claim.value;\r\n }).length;\r\n },\r\n\r\n\r\n onChange()\r\n {\r\n let claims = [];\r\n\r\n this.permissions.forEach(collection =>\r\n {\r\n collection.items.forEach(permission =>\r\n {\r\n if (\r\n (permission.valueType === \'boolean\') ||\r\n (permission.valueType === \'crud\') ||\r\n (permission.valueType === \'string\'))\r\n {\r\n claims.push({\r\n //$type: \'zero.Core.Entities.UserClaim, zero.Core\',\r\n type: \'zero.claim.permission\',\r\n value: permission.key + ":" + permission.value\r\n });\r\n }\r\n });\r\n });\r\n\r\n //console.info(claims);\r\n\r\n this.$emit(\'input\', claims);\r\n },\r\n\r\n\r\n onPermissionToggle(isOn, permission)\r\n {\r\n if (!isOn)\r\n {\r\n permission._oldValue = permission.value;\r\n permission.value = \'none\';\r\n }\r\n else\r\n {\r\n permission.value = permission._oldValue || \'read,create,update,delete\';\r\n }\r\n this.onChange();\r\n },\r\n\r\n\r\n onPermissionCRUDChecked(val, permission)\r\n {\r\n if (val.indexOf(\'read\') < 0)\r\n {\r\n val.push(\'read\');\r\n }\r\n permission.value = val.join(\',\').trim(\',\');\r\n this.onChange();\r\n },\r\n\r\n\r\n parsePermissionValue(value, type)\r\n {\r\n if (type === \'boolean\')\r\n {\r\n return value === \'true\';\r\n }\r\n else if (type === \'crud\' && !value)\r\n {\r\n return \'none\';\r\n }\r\n return value;\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .ui-permissions > .ui-property + .ui-property\r\n {\r\n border-top: 1px solid var(--color-line);\r\n padding-top: 40px;\r\n margin-top: 40px;\r\n }\r\n\r\n .ui-permissions > .ui-property > .ui-property-label\r\n {\r\n width: 300px;\r\n }\r\n\r\n .ui-permissions .ui-tab\r\n {\r\n border-top: 1px solid var(--color-line);\r\n padding-top: var(--padding);\r\n //background: var(--color-bg-dim);\r\n //border-radius: var(--radius);\r\n //padding: var(--padding);\r\n }\r\n\r\n .role-permission-toggle\r\n {\r\n border-top-width: 0 !important;\r\n }\r\n\r\n .ui-permissions-crud\r\n {\r\n display: flex;\r\n\r\n .ui-toggle\r\n {\r\n margin-right: var(--padding);\r\n }\r\n\r\n .ui-check-list\r\n {\r\n margin-top: 1px;\r\n }\r\n }\r\n</style>',".ui-permissions > .ui-property + .ui-property {\n border-top: 1px solid var(--color-line);\n padding-top: 40px;\n margin-top: 40px;\n}\n\n.ui-permissions > .ui-property > .ui-property-label {\n width: 300px;\n}\n\n.ui-permissions .ui-tab {\n border-top: 1px solid var(--color-line);\n padding-top: var(--padding);\n}\n\n.role-permission-toggle {\n border-top-width: 0 !important;\n}\n\n.ui-permissions-crud {\n display: flex;\n}\n.ui-permissions-crud .ui-toggle {\n margin-right: var(--padding);\n}\n.ui-permissions-crud .ui-check-list {\n margin-top: 1px;\n}\n\n/*# sourceMappingURL=permissions.vue.map */"]},media:void 0})}),Op,undefined,false,undefined,!1,Iu,void 0,void 0),Ip=new fp("user","@user.fields.");Ip.options.coreDatabase=!0;const $p=Ip.tab("general","@ui.tab_general"),Np=Ip.tab("permissions","@user.tab_permissions",(e=>(e.claims||[]).filter((e=>{const n=e.value.split(":")[1];return"none"!==n&&"false"!==n&&!!n})).length));$p.field("name",{label:"@ui.name"}).text(80).required(),$p.field("email").text(120).required(),$p.field("languageId").culturePicker().required(),$p.field("avatarId").image(),Np.field("claims",{hideLabel:!0}).custom(Tp);const Rp=new fp("userRole","@role.fields.");Rp.options.coreDatabase=!0;const Fp=Rp.tab("general","@ui.tab_general"),Lp=Rp.tab("permissions","@role.tab_permissions",(e=>(e.claims||[]).filter((e=>{const n=e.value.split(":")[1];return"none"!==n&&"false"!==n&&!!n})).length));Fp.field("name",{label:"@ui.name"}).text(60).required(),Fp.field("description").text(120),Fp.field("icon").iconPicker(),Fp.field("avatarId").image(),Lp.field("claims",{hideLabel:!0}).custom(Tp);const Pp=new fp("mailTemplate","@mailTemplate.fields."),jp=Pp.tab("general","@ui.tab_general"),Yp=Pp.tab("sender","@mailTemplate.tabs.sender"),Up=Pp.tab("recipient","@mailTemplate.tabs.recipient");jp.field("name",{label:"@ui.name"}).text(60).required(),jp.field("key").text(60).required(),jp.field("subject").text(80).required(),jp.field("body").rte(),jp.field("preheader").text(160),Yp.field("senderEmail").text(),Yp.field("senderName").text(),Up.field("recipientEmail").text(),Up.field("cc").text(),Up.field("bcc").text();const qp=new fp("pages."+__zero.alias.pages.folder,"@page.folder.fields.");qp.field("isPartOfRoute").toggle(),qp.field("urlAlias").text(40).when((e=>e.isPartOfRoute));var Hp,Wp,Vp,Jp,Kp={application:vp,country:Ep,language:xp,media:Bp,user:Ip,userRole:Rp,mailTemplate:Pp,pageFolder:qp},Gp=(e,n,t)=>{if(!n.has(e))throw TypeError("Cannot "+t)},Xp=(e,n,t)=>(Gp(e,n,"read from private field"),t?t.call(e):n.get(e)),Qp=(e,n,t,r)=>(Gp(e,n,"write to private field"),r?r.call(e,t):n.set(e,t),t);class Zp{constructor(e,n){this.path=null,this.options={label:null,hideLabel:!1,width:null,canSort:!0,class:""},Hp.set(this,null),Wp.set(this,(()=>{})),Vp.set(this,{}),Jp.set(this,!1),this.path=e,this.options={...this.options,...n}}get isHtml(){return Xp(this,Jp)}get type(){return Xp(this,Hp)}render(e,n){return Xp(this,Wp).call(this,e,Xp(this,Vp),n)}custom(e,n,t){return Qp(this,Hp,t||"custom"),Qp(this,Jp,n||!1),Qp(this,Wp,((n,t,r)=>e(n,r,t))),this}text(e){return Qp(this,Hp,"text"),Qp(this,Vp,{localize:!1,tokens:{},wrap:!1,...e}),Qp(this,Wp,((e,n)=>{let t=e;return n.localize&&(t=xu.localize(e,n.tokens||{})),t})),this}html(e){return Qp(this,Hp,"html"),Qp(this,Jp,!0),this.text(e)}date(e){return Qp(this,Hp,"date"),Qp(this,Vp,{format:"short",...e}),Qp(this,Wp,((e,n)=>jl.date(e,n.format))),this}currency(){return Qp(this,Hp,"currency"),Qp(this,Jp,!0),Qp(this,Wp,((e,n)=>{let t=isNaN(e)?0:e;return t=~~t!==t?(t/1).toFixed(2):~~t,t.toString().replace(/\B(?=(\d{3})+(?!\d))/g,"&nbsp;")+"&nbsp;&euro;"})),this}boolean(e){return Qp(this,Hp,"boolean"),Qp(this,Jp,!0),Qp(this,Vp,{colored:!1,...e}),Qp(this,Wp,((e,n)=>'<span class="ui-table-field-bool'+(e?" is-checked":"")+(n.colored?" is-colored":"")+'"></span>')),this}image(){return Qp(this,Hp,"image"),Qp(this,Jp,!0),Qp(this,Wp,((e,n)=>e?`<img src="${kp.getImageSource(e)}" class="ui-table-field-image">`:"")),this}name(){return this.options.label="@ui.name",this.options.class="is-bold",this.text()}active(){return this.options.label="@ui.active",this.options.width=150,this.boolean()}created(){return this.options.label="@ui.createdDate",this.options.width=150,this.date()}}Hp=new WeakMap,Wp=new WeakMap,Vp=new WeakMap,Jp=new WeakMap;class ef{constructor(e,n,t,r){this.autoclose=!0,this.action=()=>{console.warn('[zero] A list action needs a "action" callback')},this.key=e,this.label=n,this.icon=t,this.action=r}call(e){console.info(e),this.action(e)}}var nf,tf,rf,of=(e,n,t)=>{if(!n.has(e))throw TypeError("Cannot "+t)},af=(e,n,t)=>(of(e,n,"read from private field"),t?t.call(e):n.get(e)),sf=(e,n,t,r)=>(of(e,n,"write to private field"),r?r.call(e,t):n.set(e,t),t);class lf{constructor(e){nf.set(this,void 0),tf.set(this,void 0),rf.set(this,void 0),this.query={orderBy:"createdDate",isDescending:!0,page:1,pageSize:25,search:null,filter:null},this.templateLabel=e=>e,this.link=null,this.columns=[],this.actions=[],this.paramsToQuery=e=>{let n={};return e.page!==this.query.page&&(n.page=e.page),e.isDescending===this.query.isDescending&&e.orderBy===this.query.orderBy||(n.by=e.orderBy||this.query.orderBy,n.desc=e.isDescending||this.query.isDescending),e.search&&(n.search=e.search),e.filter&&e.filter.id&&(n.filter=e.filter.id),n},this.queryToParams=e=>{if(!e)return{};let n=JSON.parse(JSON.stringify(this.query));return e.page&&(n.page=+e.page||this.query.page),e.by&&(n.orderBy=e.by),e.desc&&(n.isDescending="true"===e.desc||!0===e.desc),e.search&&(n.search=e.search),e.filter&&(n.filter=n.filter||{},n.filter.id=e.filter),n},sf(this,nf,e)}get alias(){return af(this,nf)}get filterOptions(){return af(this,rf)}column(e,n){let t=this.columns.find((n=>n.path===e));return t?t.options={...t.options,...n||{}}:(t=new Zp(e,n),this.columns.push(t)),t}action(e,n,t,r,i){const o=new ef(e,n,t,r);return o.autoclose=void 0===i||i,this.actions.push(o),o}export(e){return this.action("export","@ui.export.action","fth-share",(n=>{n.loading(!0),e().then((e=>n.hide()))}),!1)}onFetch(e){sf(this,tf,e)}fetch(e){return af(this,tf).call(this,e)}useFilter(e,n){sf(this,rf,{editor:e,template:n})}}nf=new WeakMap,tf=new WeakMap,rf=new WeakMap;var cf={...ll("countries/")};const df=new lf("countries");df.templateLabel=e=>"@country.fields."+e,df.link=zero.alias.settings.countries+"-edit",df.onFetch((e=>cf.getByQuery(e))),df.column("flag",{width:62,canSort:!1,hideLabel:!0}).custom(((e,n)=>`<i class="flag flag-${n.code.toLowerCase()}"></i>`),!0,"flag"),df.column("name").name(),df.column("code").text(),df.column("isPreferred",{width:200}).boolean(),df.column("isActive").active();const uf=new lf("languages");uf.templateLabel=e=>"@language.fields."+e,uf.link=zero.alias.settings.languages+"-edit",uf.onFetch((e=>cl.getByQuery(e))),uf.column("name").name(),uf.column("code").text(),uf.column("isDefault",{width:200}).boolean();var pf={...ll("translations/")};const ff=new lf("translations");ff.templateLabel=e=>"@translation.fields."+e,ff.link=zero.alias.settings.translations+"-edit",ff.onFetch((e=>pf.getByQuery(e))),ff.column("key").name(),ff.column("value").text();var Af={...ll("users/"),updatePassword:async e=>await ol("users/updatePassword",e),disable:async e=>await ol("users/disable",e),enable:async e=>await ol("users/enable",e)};const hf=new lf("users");hf.templateLabel=e=>"@user.fields."+e,hf.link=zero.alias.settings.users+"-edit",hf.onFetch((e=>Af.getAll(e))),hf.column("avatarId",{width:70,canSort:!1}).image(),hf.column("name").name(),hf.column("email").text(),hf.column("isActive").active();var mf={...ll("mailTemplates/")};const gf=new lf("mailTemplates");gf.templateLabel=e=>"@mailTemplate.fields."+e,gf.link=zero.alias.settings.mails+"-edit",gf.onFetch((e=>mf.getByQuery(e))),gf.column("name").name(),gf.column("subject").text(),gf.column("key").text();var vf={countries:df,languages:uf,translations:ff,users:hf,mails:gf};const bf={data:()=>({path:null}),mounted(){window.addEventListener("message",this.receiveMessage,!1),window.opener.postMessage({preview:!0,loaded:!0},window.location.origin)},methods:{receiveMessage(e){"object"==typeof e.data&&e.data.preview&&console.info(e.data)}}};var yf=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"app-preview"},[t("div",{staticClass:"app-preview-controls"},[t("img",{directives:[{name:"localize",rawName:"v-localize:alt",value:"@zero.name",expression:"'@zero.name'",arg:"alt"}],staticClass:"app-preview-logo",attrs:{src:"/Assets/zero-2.png"}})]),e._v(" "),e._m(0)])};yf._withStripped=!0;const Cf=Da({render:yf,staticRenderFns:[function(){var e=this.$createElement,n=this._self._c||e;return n("div",{staticClass:"app-preview-frame"},[n("iframe",{attrs:{src:"http://localhost:2300"}})])}]},(function(e){e&&e("data-v-dd37f7fa_0",{source:".app-preview {\n width: 100%;\n height: 100vh;\n display: grid;\n grid-template-columns: auto 1fr;\n background: var(--color-bg);\n color: var(--color-text);\n}\n.app.is-preview {\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: 1fr;\n}\n.app.is-preview .app-nav {\n display: none;\n}\n.app-preview-controls {\n background: var(--color-bg-bright);\n width: 80px;\n color: var(--color-text);\n height: 100vh;\n box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);\n position: relative;\n z-index: 2;\n}\n.app-preview-logo {\n margin: 50px 0 50px -5px;\n max-width: 500px;\n height: 22px;\n transform: rotate(-90deg);\n transform-origin: 50% 50%;\n}\n.app-preview-frame {\n width: 100%;\n height: 100vh;\n overflow: hidden;\n background: white;\n position: relative;\n z-index: 1;\n}\n.app-preview-frame iframe {\n border-radius: var(--radius);\n margin: 0;\n border: none;\n width: 100%;\n height: 100%;\n overflow-y: auto;\n}\n\n/*# sourceMappingURL=preview.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\pages\\preview.vue","preview.vue"],names:[],mappings:"AA+CA;EAEA,WAAA;EACA,aAAA;EACA,aAAA;EACA,+BAAA;EACA,2BAAA;EACA,wBAAA;AC/CA;ADkDA;EAEA,aAAA;EACA,0BAAA;EACA,uBAAA;AChDA;ADkDA;EAEA,aAAA;ACjDA;ADqDA;EAEA,kCAAA;EACA,WAAA;EACA,wBAAA;EACA,aAAA;EACA,wCAAA;EACA,kBAAA;EACA,UAAA;ACnDA;ADsDA;EAEA,wBAAA;EACA,gBAAA;EACA,YAAA;EACA,yBAAA;EACA,yBAAA;ACpDA;ADuDA;EAEA,WAAA;EACA,aAAA;EACA,gBAAA;EACA,iBAAA;EACA,kBAAA;EACA,UAAA;ACrDA;ADuDA;EAEA,4BAAA;EACA,SAAA;EACA,YAAA;EACA,WAAA;EACA,YAAA;EACA,gBAAA;ACtDA;;AAEA,sCAAsC",file:"preview.vue",sourcesContent:['\ufeff<template>\r\n <div class="app-preview">\r\n <div class="app-preview-controls">\r\n <img class="app-preview-logo" src="/Assets/zero-2.png" v-localize:alt="\'@zero.name\'" />\r\n </div>\r\n <div class="app-preview-frame">\r\n <iframe src="http://localhost:2300"></iframe>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n export default {\r\n\r\n data: () => ({\r\n path: null\r\n }),\r\n\r\n mounted()\r\n {\r\n window.addEventListener("message", this.receiveMessage, false);\r\n\r\n window.opener.postMessage({\r\n preview: true,\r\n loaded: true\r\n }, window.location.origin);\r\n },\r\n\r\n methods: {\r\n\r\n receiveMessage(event)\r\n {\r\n if (typeof event.data !== \'object\' || !event.data.preview)\r\n {\r\n return;\r\n }\r\n\r\n console.info(event.data);\r\n }\r\n\r\n }\r\n\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .app-preview\r\n {\r\n width: 100%;\r\n height: 100vh;\r\n display: grid;\r\n grid-template-columns: auto 1fr;\r\n background: var(--color-bg);\r\n color: var(--color-text);\r\n }\r\n\r\n .app.is-preview \r\n {\r\n display: grid;\r\n grid-template-columns: 1fr;\r\n grid-template-rows: 1fr;\r\n\r\n .app-nav\r\n {\r\n display: none;\r\n }\r\n }\r\n\r\n .app-preview-controls\r\n {\r\n background: var(--color-bg-bright);\r\n width: 80px;\r\n color: var(--color-text);\r\n height: 100vh;\r\n box-shadow: 0 0 20px rgba(0,0,0,0.15);\r\n position: relative;\r\n z-index: 2;\r\n }\r\n\r\n .app-preview-logo\r\n {\r\n margin: 50px 0 50px -5px;\r\n max-width: 500px;\r\n height: 22px;\r\n transform: rotate(-90deg);\r\n transform-origin: 50% 50%;\r\n }\r\n\r\n .app-preview-frame\r\n {\r\n width: 100%;\r\n height: 100vh;\r\n overflow: hidden;\r\n background: white;\r\n position: relative;\r\n z-index: 1;\r\n\r\n iframe\r\n {\r\n border-radius: var(--radius);\r\n margin: 0;\r\n border: none;\r\n width: 100%;\r\n height: 100%;\r\n overflow-y: auto;\r\n }\r\n }\r\n</style>',".app-preview {\n width: 100%;\n height: 100vh;\n display: grid;\n grid-template-columns: auto 1fr;\n background: var(--color-bg);\n color: var(--color-text);\n}\n\n.app.is-preview {\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: 1fr;\n}\n.app.is-preview .app-nav {\n display: none;\n}\n\n.app-preview-controls {\n background: var(--color-bg-bright);\n width: 80px;\n color: var(--color-text);\n height: 100vh;\n box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);\n position: relative;\n z-index: 2;\n}\n\n.app-preview-logo {\n margin: 50px 0 50px -5px;\n max-width: 500px;\n height: 22px;\n transform: rotate(-90deg);\n transform-origin: 50% 50%;\n}\n\n.app-preview-frame {\n width: 100%;\n height: 100vh;\n overflow: hidden;\n background: white;\n position: relative;\n z-index: 1;\n}\n.app-preview-frame iframe {\n border-radius: var(--radius);\n margin: 0;\n border: none;\n width: 100%;\n height: 100%;\n overflow-y: auto;\n}\n\n/*# sourceMappingURL=preview.vue.map */"]},media:void 0})}),bf,undefined,false,undefined,!1,Iu,void 0,void 0);const Ef={data:()=>({path:null,routes:[],details:!1}),watch:{$route:function(e){this.rebuild()}},computed:{detailsText(){return this.details?"Hide":"Defined routes"}},mounted(){this.rebuild()},methods:{rebuild(){this.path=this.$router.options.base+this.$route.path.substring(1),this.routes=[],this.$router.options.routes.forEach((e=>{this.routes.push({path:e.path,name:e.name}),e.children&&e.children.forEach((n=>{this.routes.push({path:e.path+"/"+n.path,name:n.name})}))}))}}};var xf=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"page page-error"},[t("i",{staticClass:"page-error-icon fth-cloud-snow"}),e._v(" "),t("p",{staticClass:"page-error-text"},[t("strong",{staticClass:"page-error-headline"},[e._v("Not found")]),t("br"),e._v("\n The requested resource could not be found\n "),t("br"),e._v(" "),t("code",[e._v(e._s(e.path))])]),e._v(" "),t("ui-button",{staticClass:"page-error-button",attrs:{type:"light onbg",label:e.detailsText},on:{click:function(n){e.details=!e.details}}}),e._v(" "),e.details?[t("br"),t("br"),e._v(" "),t("div",{staticClass:"page-error-routes"},[t("span",[e._v("#")]),e._v(" "),t("span",[e._v("Name")]),e._v(" "),t("span",[e._v("Path")]),e._v(" "),e._l(e.routes,(function(n,r){return[t("span",[e._v(e._s(r+1)+".")]),e._v(" "),t("b",[e._v(e._s(n.name))]),e._v(" "),t("span",[e._v(e._s(n.path))])]}))],2)]:e._e()],2)};xf._withStripped=!0;const wf=Da({render:xf,staticRenderFns:[]},(function(e){e&&e("data-v-74dd8a03_0",{source:".page-error {\n width: 100%;\n min-height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n color: var(--color-text);\n text-align: center;\n padding: var(--padding);\n overflow-y: auto;\n}\n.page-error-icon {\n font-size: 82px;\n color: var(--color-text);\n margin-bottom: 20px;\n}\n.page-error-text {\n font-size: var(--font-size);\n color: var(--color-text-dim);\n line-height: 1.4em;\n}\n.page-error-headline {\n display: inline-block;\n margin-bottom: 10px;\n font-size: var(--font-size-l);\n color: var(--color-text);\n}\n.page-error-button {\n margin-top: 10px;\n}\n.page-error-routes {\n display: grid;\n grid-template-columns: auto auto 1fr;\n width: 100%;\n max-width: 100%;\n text-align: left;\n border-top: 1px solid var(--color-line-onbg);\n border-left: 1px solid var(--color-line-onbg);\n margin-top: 30px;\n}\n.page-error-routes span, .page-error-routes b {\n border: 1px solid var(--color-line-onbg);\n border-left: none;\n border-top: none;\n padding: 8px 10px 6px;\n font-family: Consolas;\n font-size: 12px;\n}\n.page-error-routes span:nth-child(3n+1), .page-error-routes b:nth-child(3n+1) {\n color: var(--color-text-dim);\n}\n\n/*# sourceMappingURL=notfound.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\pages\\notfound.vue","notfound.vue"],names:[],mappings:"AAwFA;EAEA,WAAA;EACA,gBAAA;EACA,aAAA;EACA,sBAAA;EACA,uBAAA;EACA,mBAAA;EACA,wBAAA;EACA,kBAAA;EACA,uBAAA;EACA,gBAAA;ACxFA;AD2FA;EAEA,eAAA;EACA,wBAAA;EACA,mBAAA;ACzFA;AD4FA;EAEA,2BAAA;EACA,4BAAA;EACA,kBAAA;AC1FA;AD6FA;EAEA,qBAAA;EACA,mBAAA;EACA,6BAAA;EACA,wBAAA;AC3FA;AD8FA;EAEA,gBAAA;AC5FA;AD+FA;EAEA,aAAA;EACA,oCAAA;EACA,WAAA;EACA,eAAA;EACA,gBAAA;EACA,4CAAA;EACA,6CAAA;EACA,gBAAA;AC7FA;AD+FA;EAEA,wCAAA;EACA,iBAAA;EACA,gBAAA;EACA,qBAAA;EACA,qBAAA;EACA,eAAA;AC9FA;ADgGA;EAEA,4BAAA;AC/FA;;AAEA,uCAAuC",file:"notfound.vue",sourcesContent:['\ufeff<template>\r\n <div class="page page-error">\r\n <i class="page-error-icon fth-cloud-snow"></i>\r\n <p class="page-error-text">\r\n <strong class="page-error-headline">Not found</strong><br>\r\n The requested resource could not be found\r\n <br>\r\n <code>{{path}}</code>\r\n </p>\r\n <ui-button class="page-error-button" type="light onbg" :label="detailsText" @click="details = !details" />\r\n <template v-if="details">\r\n <br><br>\r\n <div class="page-error-routes">\r\n <span>#</span>\r\n <span>Name</span>\r\n <span>Path</span>\r\n <template v-for="(route, index) in routes">\r\n <span>{{index + 1}}.</span>\r\n <b>{{route.name}}</b>\r\n <span>{{route.path}}</span>\r\n </template>\r\n </div>\r\n </template>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n export default {\r\n\r\n data: () => ({\r\n path: null,\r\n routes: [],\r\n details: false\r\n }),\r\n\r\n watch: {\r\n \'$route\': function (val)\r\n {\r\n this.rebuild();\r\n }\r\n },\r\n\r\n computed: {\r\n detailsText()\r\n {\r\n return this.details ? \'Hide\' : \'Defined routes\';\r\n }\r\n },\r\n\r\n mounted()\r\n {\r\n this.rebuild();\r\n },\r\n\r\n methods: {\r\n\r\n rebuild()\r\n {\r\n this.path = this.$router.options.base + this.$route.path.substring(1);\r\n this.routes = [];\r\n\r\n this.$router.options.routes.forEach(route =>\r\n {\r\n this.routes.push({\r\n path: route.path,\r\n name: route.name\r\n });\r\n\r\n if (route.children)\r\n {\r\n route.children.forEach(child =>\r\n {\r\n this.routes.push({\r\n path: route.path + \'/\' + child.path,\r\n name: child.name\r\n });\r\n });\r\n }\r\n });\r\n }\r\n\r\n }\r\n\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .page-error\r\n {\r\n width: 100%;\r\n min-height: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n color: var(--color-text);\r\n text-align: center;\r\n padding: var(--padding);\r\n overflow-y: auto;\r\n }\r\n\r\n .page-error-icon\r\n {\r\n font-size: 82px;\r\n color: var(--color-text);\r\n margin-bottom: 20px;\r\n }\r\n\r\n .page-error-text\r\n {\r\n font-size: var(--font-size);\r\n color: var(--color-text-dim);\r\n line-height: 1.4em;\r\n }\r\n\r\n .page-error-headline\r\n {\r\n display: inline-block;\r\n margin-bottom: 10px;\r\n font-size: var(--font-size-l);\r\n color: var(--color-text);\r\n }\r\n\r\n .page-error-button\r\n {\r\n margin-top: 10px;\r\n }\r\n\r\n .page-error-routes\r\n {\r\n display: grid;\r\n grid-template-columns: auto auto 1fr;\r\n width: 100%;\r\n max-width: 100%;\r\n text-align: left;\r\n border-top: 1px solid var(--color-line-onbg);\r\n border-left: 1px solid var(--color-line-onbg);\r\n margin-top: 30px;\r\n\r\n span, b\r\n {\r\n border: 1px solid var(--color-line-onbg);\r\n border-left: none;\r\n border-top: none;\r\n padding: 8px 10px 6px;\r\n font-family: Consolas;\r\n font-size: 12px;\r\n\r\n &:nth-child(3n+1)\r\n {\r\n color: var(--color-text-dim);\r\n }\r\n }\r\n }\r\n</style>',".page-error {\n width: 100%;\n min-height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n color: var(--color-text);\n text-align: center;\n padding: var(--padding);\n overflow-y: auto;\n}\n\n.page-error-icon {\n font-size: 82px;\n color: var(--color-text);\n margin-bottom: 20px;\n}\n\n.page-error-text {\n font-size: var(--font-size);\n color: var(--color-text-dim);\n line-height: 1.4em;\n}\n\n.page-error-headline {\n display: inline-block;\n margin-bottom: 10px;\n font-size: var(--font-size-l);\n color: var(--color-text);\n}\n\n.page-error-button {\n margin-top: 10px;\n}\n\n.page-error-routes {\n display: grid;\n grid-template-columns: auto auto 1fr;\n width: 100%;\n max-width: 100%;\n text-align: left;\n border-top: 1px solid var(--color-line-onbg);\n border-left: 1px solid var(--color-line-onbg);\n margin-top: 30px;\n}\n.page-error-routes span, .page-error-routes b {\n border: 1px solid var(--color-line-onbg);\n border-left: none;\n border-top: none;\n padding: 8px 10px 6px;\n font-family: Consolas;\n font-size: 12px;\n}\n.page-error-routes span:nth-child(3n+1), .page-error-routes b:nth-child(3n+1) {\n color: var(--color-text-dim);\n}\n\n/*# sourceMappingURL=notfound.vue.map */"]},media:void 0})}),Ef,undefined,false,undefined,!1,Iu,void 0,void 0);const kf={};var _f=function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"dashboard"})};_f._withStripped=!0;const Sf=Da({render:_f,staticRenderFns:[]},(function(e){e&&e("data-v-6b476ee7_0",{source:".dashboard {\n position: relative;\n padding-top: 0;\n}\n.dashboard-elements {\n display: grid;\n padding: 20px;\n padding-left: 0;\n gap: 16px;\n grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));\n grid-auto-rows: minmax(240px, auto);\n grid-auto-flow: dense;\n}\n\n/*# sourceMappingURL=dashboard.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\pages\\dashboard\\dashboard.vue","dashboard.vue"],names:[],mappings:"AAoBA;EAEA,kBAAA;EACA,cAAA;ACpBA;ADuBA;EAEA,aAAA;EACA,aAAA;EACA,eAAA;EACA,SAAA;EACA,4DAAA;EACA,mCAAA;EACA,qBAAA;ACrBA;;AAEA,wCAAwC",file:"dashboard.vue",sourcesContent:['\ufeff<template>\r\n <div class="dashboard">\r\n \x3c!--<div class="dashboard-elements">\r\n <dashboard-element :high="true" />\r\n <dashboard-element :wide="true" />\r\n <dashboard-element />\r\n <dashboard-element />\r\n <dashboard-element />\r\n </div>--\x3e\r\n </div>\r\n</template>\r\n\r\n<script>\r\n\r\n export default {\r\n \r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .dashboard\r\n {\r\n position: relative;\r\n padding-top: 0;\r\n }\r\n\r\n .dashboard-elements\r\n {\r\n display: grid;\r\n padding: 20px;\r\n padding-left: 0;\r\n gap: 16px;\r\n grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));\r\n grid-auto-rows: minmax(240px, auto);\r\n grid-auto-flow: dense;\r\n }\r\n</style>',".dashboard {\n position: relative;\n padding-top: 0;\n}\n\n.dashboard-elements {\n display: grid;\n padding: 20px;\n padding-left: 0;\n gap: 16px;\n grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));\n grid-auto-rows: minmax(240px, auto);\n grid-auto-flow: dense;\n}\n\n/*# sourceMappingURL=dashboard.vue.map */"]},media:void 0})}),kf,undefined,false,undefined,!1,Iu,void 0,void 0),Df=__zero.alias.sections.dashboard,Bf=__zero.sections.find((e=>e.alias===Df));var zf=Bf?[{name:Bf.alias,path:Bf.url,component:Sf,meta:{name:Bf.name,alias:Bf.alias,section:Bf}}]:[];const Of="pages/";var Mf={...ll(Of),getAllowedPageTypes:async e=>await il("pages/getAllowedPageTypes",{params:{parent:e}}),getPageType:async e=>await il("pages/getPageType",{params:{alias:e}}),getEmpty:async(e,n)=>await il("pages/getEmpty",{params:{type:e,parent:n}}),getRevisions:async(e,n)=>await il("pages/getRevisions",{params:{id:e,page:n}}),saveSorting:async e=>await ol("pages/saveSorting",e),move:async(e,n)=>await ol("pages/move",{id:e,destinationId:n}),copy:async(e,n,t)=>await ol("pages/copy",{id:e,destinationId:n,includeDescendants:t}),restore:async(e,n)=>await ol("pages/restore",{id:e,includeDescendants:n}),delete:async(e,n)=>await al("pages/delete",{params:{id:e,moveToRecycleBin:n}})};let Tf=new xt;Tf.name="tobi",Tf.count=7;const If={props:{value:{type:[Object,Array]},disabled:{type:Boolean,default:!1}},data:()=>({pageType:null}),computed:{isCreate(){return!this.value.id}},mounted(){Mf.getPageType(this.value.pageTypeAlias).then((e=>{this.pageType=e}))},methods:{getRevisions(e){return Mf.getRevisions(this.value.id,e)},onRangeChange(e){this.value.publishDate=e.from,this.value.unpublishDate=e.to}}};var $f=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"page-editor-info ui-view-box has-sidebar"},[t("div",[t("div",{staticClass:"ui-box"},[t("h3",{directives:[{name:"localize",rawName:"v-localize",value:"Links",expression:"'Links'"}],staticClass:"ui-headline"}),e._v(" "),t("div",[e.value.route?t("a",{staticClass:"ui-button type-light",attrs:{href:e.value.route.url,target:"_blank"}},[t("span",{staticClass:"ui-button-text"},[e._v("Open page")])]):e._e(),e._v(" "),t("br"),t("br"),t("br"),t("br")]),e._v(" "),t("h3",{directives:[{name:"localize",rawName:"v-localize",value:"@revisions.label",expression:"'@revisions.label'"}],staticClass:"ui-headline"}),e._v(" "),e.isCreate?e._e():t("ui-revisions",{attrs:{get:e.getRevisions}})],1)]),e._v(" "),t("div",{staticClass:"ui-view-box-aside editor-infos"},[t("div",{staticClass:"ui-box editor-active-toggle",class:{"is-active":e.value.isActive}},[t("ui-property",{staticClass:"is-toggle",attrs:{label:"@ui.active","is-text":!0}},[t("ui-toggle",{staticClass:"is-primary",attrs:{disabled:e.disabled},model:{value:e.value.isActive,callback:function(n){e.$set(e.value,"isActive",n)},expression:"value.isActive"}})],1),e._v(" "),t("ui-property",{attrs:{label:"@page.schedule.label","is-text":!0}},[t("ui-daterangepicker",{class:{"is-primary":e.value.publishDate||e.value.unpublishDate},attrs:{value:{from:e.value.publishDate,to:e.value.unpublishDate},disabled:e.disabled},on:{input:e.onRangeChange}})],1)],1),e._v(" "),t("div",{staticClass:"ui-box is-light"},[e.isCreate?e._e():t("ui-property",{attrs:{label:"@ui.id","is-text":!0}},[e._v("\n "+e._s(e.value.id)+"\n ")]),e._v(" "),e.isCreate?e._e():t("ui-property",{attrs:{label:"@ui.createdDate","is-text":!0}},[t("ui-date",{model:{value:e.value.createdDate,callback:function(n){e.$set(e.value,"createdDate",n)},expression:"value.createdDate"}})],1),e._v(" "),e.pageType?t("ui-property",{attrs:{label:"@page.type","is-text":!0}},[t("i",{class:e.pageType.icon}),e._v("  "+e._s(e.pageType.name)+"\n ")]):e._e()],1)])])};$f._withStripped=!0;const Nf=Da({render:$f,staticRenderFns:[]},undefined,If,undefined,false,undefined,!1,void 0,void 0,void 0);var Rf=async(e,n)=>await il("pageTree/getChildren",{params:{parent:e,active:n}}),Ff=new xt({data:()=>({instances:[]}),methods:{success(e,n,t){this.show(Qc({type:"success",label:e,text:n},t||{}))},error(e,n,t){this.show(Qc({type:"error",label:e,text:n},t||{}))},show(e,n){let t=this;"string"==typeof e&&(e={label:e,text:n}),((e=Qc({id:jl.guid(),type:"default",label:null,text:null,persistent:!1,duration:3e3,timeout:null,close:()=>{clearTimeout(e.timeout),t.close(this.instances.indexOf(e))}},e)).label||e.text)&&(e.timeout=setTimeout((()=>{e.close()}),e.duration),this.instances.push(e))},close(e){e>-1?this.instances.splice(e,1):this.instances=[]}}});const Lf={props:{isCopy:{type:Boolean,default:!1},model:Object,config:Object},data:()=>({items:[],selected:null,state:"default",cache:{},prevItem:null,selected:null}),mounted(){this.selected=this.model},methods:{onSelect(e){e.isSelected=!0,this.prevItem&&this.prevItem.id!=e.id&&(this.prevItem.isSelected=!1),this.prevItem=e,this.selected=e},getItems(e){const n=e||"__root";return this.cache[n]?Promise.resolve(this.cache[n]):Rf(e).then((t=>(e||t.splice(0,0,{id:null,parentId:null,sort:0,name:"@page.root",icon:"fth-arrow-down-circle",isOpen:!1,modifier:null,hasChildren:!1,childCount:0,isInactive:!1,hasActions:!1}),t.forEach((e=>{e.isSelected=this.model.parentId==e.id,e.isSelected&&(this.prevItem=e),e.disabled="recyclebin"===e.id||e.id==this.model.id,e.hasActions=!1})),this.cache[n]=t,t)))},onSave(){this.model.parentId!=this.selected.id?(this.state="loading",Mf.move(this.model.id,this.selected.id).then((e=>{e.success?(this.state="success",this.config.confirm(e.model)):(this.state="error",Ff.error(e.errors[0].message))}))):this.config.close()}}};var Pf=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("ui-overlay-editor",{staticClass:"pages-move",scopedSlots:e._u([{key:"header",fn:function(){return[t("ui-header-bar",{attrs:{title:"@ui.move.title","back-button":!1,"close-button":!0}})]},proxy:!0},{key:"footer",fn:function(){return[t("ui-button",{attrs:{type:"light onbg",label:"@ui.close"},on:{click:e.config.hide}}),e._v(" "),t("ui-button",{attrs:{type:"primary",label:"@ui.move.action",state:e.state},on:{click:e.onSave}})]},proxy:!0}])},[e._v(" "),e._v(" "),t("p",{directives:[{name:"localize",rawName:"v-localize:html",value:{key:"@ui.move.text",tokens:{name:e.model.name}},expression:"{ key: '@ui.move.text', tokens: { name: model.name } }",arg:"html"}],staticClass:"pages-move-text"}),e._v(" "),t("div",{staticClass:"ui-box pages-move-items"},[t("ui-tree",{ref:"tree",attrs:{get:e.getItems},on:{select:e.onSelect}})],1)])};Pf._withStripped=!0;const jf=Da({render:Pf,staticRenderFns:[]},(function(e){e&&e("data-v-7d435b4c_0",{source:'@charset "UTF-8";\n.pages-move .ui-box {\n margin: 0;\n padding: 16px 0;\n}\n.pages-move .ui-box .ui-tree-item.is-disabled {\n opacity: 0.5;\n}\n.pages-move .ui-box .ui-tree-item.is-selected, .pages-move .ui-box .ui-tree-item:hover:not(.is-disabled) {\n background: var(--color-tree-selected);\n}\n.pages-move .ui-box .ui-tree-item.is-selected:after {\n font-family: "Feather";\n content: "";\n font-size: 16px;\n color: var(--color-primary);\n}\n.pages-move .ui-box .ui-tree-item.is-selected .ui-tree-item-text {\n font-weight: bold;\n}\n.pages-move content {\n padding-top: 0;\n}\n.pages-move-text {\n margin: 0 0 20px;\n}\n\n/*# sourceMappingURL=move.vue.map */',map:{version:3,sources:["move.vue","O:\\zero\\zero.Web.UI\\app\\pages\\pages\\overlays\\move.vue"],names:[],mappings:"AAAA,gBAAgB;AC6IhB;EAEA,SAAA;EACA,eAAA;AD5IA;AC8IA;EAEA,YAAA;AD7IA;ACgJA;EAEA,sCAAA;AD/IA;ACoJA;EAEA,sBAAA;EACA,YAAA;EACA,eAAA;EACA,2BAAA;ADnJA;ACsJA;EAEA,iBAAA;ADrJA;AC0JA;EAEA,cAAA;ADxJA;AC2JA;EAEA,gBAAA;ADzJA;;AAEA,mCAAmC",file:"move.vue",sourcesContent:['@charset "UTF-8";\n.pages-move .ui-box {\n margin: 0;\n padding: 16px 0;\n}\n.pages-move .ui-box .ui-tree-item.is-disabled {\n opacity: 0.5;\n}\n.pages-move .ui-box .ui-tree-item.is-selected, .pages-move .ui-box .ui-tree-item:hover:not(.is-disabled) {\n background: var(--color-tree-selected);\n}\n.pages-move .ui-box .ui-tree-item.is-selected:after {\n font-family: "Feather";\n content: "";\n font-size: 16px;\n color: var(--color-primary);\n}\n.pages-move .ui-box .ui-tree-item.is-selected .ui-tree-item-text {\n font-weight: bold;\n}\n\n.pages-move content {\n padding-top: 0;\n}\n\n.pages-move-text {\n margin: 0 0 20px;\n}\n\n/*# sourceMappingURL=move.vue.map */','\ufeff<template>\r\n <ui-overlay-editor class="pages-move">\r\n <template v-slot:header>\r\n <ui-header-bar title="@ui.move.title" :back-button="false" :close-button="true" />\r\n </template>\r\n <template v-slot:footer>\r\n <ui-button type="light onbg" label="@ui.close" @click="config.hide" />\r\n <ui-button type="primary" label="@ui.move.action" @click="onSave" :state="state" />\r\n </template>\r\n\r\n <p class="pages-move-text" v-localize:html="{ key: \'@ui.move.text\', tokens: { name: model.name } }"></p>\r\n <div class="ui-box pages-move-items">\r\n <ui-tree ref="tree" :get="getItems" @select="onSelect" />\r\n </div>\r\n </ui-overlay-editor>\r\n</template>\r\n\r\n\r\n<script>\r\n import PageTreeApi from \'zero/api/page-tree.js\'\r\n import PagesApi from \'zero/api/pages.js\';\r\n import Notification from \'zero/helpers/notification.js\'\r\n\r\n export default {\r\n\r\n props: {\r\n isCopy: {\r\n type: Boolean,\r\n default: false\r\n },\r\n model: Object,\r\n config: Object\r\n },\r\n\r\n data: () => ({\r\n items: [],\r\n selected: null,\r\n state: \'default\',\r\n cache: {},\r\n prevItem: null,\r\n selected: null\r\n }),\r\n\r\n\r\n mounted()\r\n {\r\n this.selected = this.model;\r\n },\r\n\r\n\r\n methods: {\r\n\r\n onSelect(item)\r\n {\r\n item.isSelected = true;\r\n\r\n if (this.prevItem && this.prevItem.id != item.id)\r\n {\r\n this.prevItem.isSelected = false;\r\n }\r\n\r\n this.prevItem = item;\r\n this.selected = item;\r\n //this.config.confirm(item);\r\n },\r\n\r\n getItems(parent)\r\n {\r\n const key = !parent ? \'__root\' : parent;\r\n\r\n if (this.cache[key])\r\n {\r\n return Promise.resolve(this.cache[key]);\r\n }\r\n\r\n return PageTreeApi.getChildren(parent).then(response =>\r\n {\r\n if (!parent)\r\n {\r\n response.splice(0, 0, {\r\n id: null,\r\n parentId: null,\r\n sort: 0,\r\n name: \'@page.root\',\r\n icon: \'fth-arrow-down-circle\',\r\n isOpen: false,\r\n modifier:\tnull,\r\n hasChildren: false,\r\n childCount: 0,\r\n isInactive: false,\r\n hasActions: false\r\n });\r\n }\r\n\r\n response.forEach(item =>\r\n {\r\n //item.disabled = true;\r\n item.isSelected = this.model.parentId == item.id;\r\n\r\n if (item.isSelected)\r\n {\r\n this.prevItem = item;\r\n }\r\n item.disabled = item.id === \'recyclebin\' || item.id == this.model.id;\r\n item.hasActions = false;\r\n });\r\n\r\n this.cache[key] = response;\r\n return response;\r\n });\r\n },\r\n\r\n onSave()\r\n {\r\n if (this.model.parentId == this.selected.id)\r\n {\r\n this.config.close();\r\n return;\r\n }\r\n\r\n this.state = \'loading\';\r\n\r\n PagesApi.move(this.model.id, this.selected.id).then(res =>\r\n {\r\n if (res.success)\r\n {\r\n this.state = \'success\';\r\n this.config.confirm(res.model);\r\n }\r\n else\r\n {\r\n this.state = \'error\';\r\n Notification.error(res.errors[0].message);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .pages-move .ui-box\r\n {\r\n margin: 0;\r\n padding: 16px 0;\r\n\r\n .ui-tree-item.is-disabled\r\n {\r\n opacity: .5;\r\n }\r\n\r\n .ui-tree-item.is-selected, .ui-tree-item:hover:not(.is-disabled)\r\n {\r\n background: var(--color-tree-selected);\r\n }\r\n\r\n .ui-tree-item.is-selected\r\n {\r\n &:after\r\n {\r\n font-family: "Feather";\r\n content: "\\e83e";\r\n font-size: 16px;\r\n color: var(--color-primary);\r\n }\r\n \r\n .ui-tree-item-text\r\n {\r\n font-weight: bold;\r\n }\r\n }\r\n }\r\n\r\n .pages-move content\r\n {\r\n padding-top: 0;\r\n }\r\n\r\n .pages-move-text\r\n {\r\n margin: 0 0 20px;\r\n }\r\n</style>']},media:void 0})}),Lf,undefined,false,undefined,!1,Iu,void 0,void 0);const Yf={props:{isCopy:{type:Boolean,default:!1},model:Object,config:Object},data:()=>({items:[],selected:[],state:"default",cache:{},prevItem:null,selected:null,includeDescendants:!0}),mounted(){},methods:{onSelect(e){e.isSelected=!0,this.prevItem&&this.prevItem.id!=e.id&&(this.prevItem.isSelected=!1),this.prevItem=e,this.selected=e},getItems(e){const n=e||"__root";return this.cache[n]?Promise.resolve(this.cache[n]):Rf(e).then((t=>(e||t.splice(0,0,{id:null,parentId:null,sort:0,name:"@page.root",icon:"fth-arrow-down-circle",isOpen:!1,modifier:null,hasChildren:!1,childCount:0,isInactive:!1,hasActions:!1}),t.forEach((e=>{e.isSelected=!1,e.disabled="recyclebin"===e.id||e.id==this.model.id,e.hasActions=!1})),this.cache[n]=t,t)))},onSave(){this.state="loading",Mf.copy(this.model.id,this.selected.id,this.includeDescendants).then((e=>{e.success?(this.state="success",this.config.confirm(e.model)):(this.state="error",Ff.error(e.errors[0].message))}))}}};var Uf=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("ui-overlay-editor",{staticClass:"pages-copy",scopedSlots:e._u([{key:"header",fn:function(){return[t("ui-header-bar",{attrs:{title:"@ui.copy.title","back-button":!1,"close-button":!0}})]},proxy:!0},{key:"footer",fn:function(){return[t("ui-button",{attrs:{type:"light onbg",label:"@ui.close"},on:{click:e.config.hide}}),e._v(" "),t("ui-button",{attrs:{type:"primary",label:"@ui.copy.action",state:e.state,disabled:null==e.selected},on:{click:e.onSave}})]},proxy:!0}])},[e._v(" "),e._v(" "),t("p",{directives:[{name:"localize",rawName:"v-localize:html",value:{key:"@ui.copy.text",tokens:{name:e.model.name}},expression:"{ key: '@ui.copy.text', tokens: { name: model.name } }",arg:"html"}],staticClass:"pages-copy-text"}),e._v(" "),t("div",{staticClass:"ui-box"},[t("ui-property",{attrs:{label:"@ui.copy.includeDescendants"}},[t("ui-toggle",{staticClass:"is-primary",model:{value:e.includeDescendants,callback:function(n){e.includeDescendants=n},expression:"includeDescendants"}})],1)],1),e._v(" "),t("div",{staticClass:"ui-box pages-copy-items"},[t("ui-tree",{ref:"tree",attrs:{get:e.getItems},on:{select:e.onSelect}})],1)])};Uf._withStripped=!0;const qf=Da({render:Uf,staticRenderFns:[]},(function(e){e&&e("data-v-45a29f36_0",{source:'@charset "UTF-8";\n.pages-copy .ui-property {\n display: flex;\n justify-content: space-between;\n}\n.pages-copy .ui-property-content {\n display: inline;\n flex: 0 0 auto;\n}\n.pages-copy .ui-property-label {\n padding-top: 1px;\n}\n.pages-copy .ui-box {\n margin: 0;\n padding: 20px var(--padding) 18px;\n}\n.pages-copy .ui-box + .ui-box {\n padding: 16px 0;\n margin-top: 26px;\n}\n.pages-copy .ui-box .ui-tree-item.is-disabled {\n opacity: 0.5;\n}\n.pages-copy .ui-box .ui-tree-item.is-selected, .pages-copy .ui-box .ui-tree-item:hover:not(.is-disabled) {\n background: var(--color-tree-selected);\n}\n.pages-copy .ui-box .ui-tree-item.is-selected:after {\n font-family: "Feather";\n content: "";\n font-size: 16px;\n color: var(--color-primary);\n}\n.pages-copy .ui-box .ui-tree-item.is-selected .ui-tree-item-text {\n font-weight: bold;\n}\n.pages-copy content {\n padding-top: 0;\n}\n.pages-copy-text {\n margin: 0 0 20px;\n}\n\n/*# sourceMappingURL=copy.vue.map */',map:{version:3,sources:["copy.vue","O:\\zero\\zero.Web.UI\\app\\pages\\pages\\overlays\\copy.vue"],names:[],mappings:"AAAA,gBAAgB;ACwIhB;EAEA,aAAA;EACA,8BAAA;ADvIA;AC0IA;EAEA,eAAA;EACA,cAAA;ADxIA;AC2IA;EAEA,gBAAA;ADzIA;AC4IA;EAEA,SAAA;EACA,iCAAA;AD1IA;AC4IA;EAEA,eAAA;EACA,gBAAA;AD3IA;AC8IA;EAEA,YAAA;AD7IA;ACgJA;EAEA,sCAAA;AD/IA;ACoJA;EAEA,sBAAA;EACA,YAAA;EACA,eAAA;EACA,2BAAA;ADnJA;ACsJA;EAEA,iBAAA;ADrJA;AC0JA;EAEA,cAAA;ADxJA;AC2JA;EAEA,gBAAA;ADzJA;;AAEA,mCAAmC",file:"copy.vue",sourcesContent:['@charset "UTF-8";\n.pages-copy .ui-property {\n display: flex;\n justify-content: space-between;\n}\n\n.pages-copy .ui-property-content {\n display: inline;\n flex: 0 0 auto;\n}\n\n.pages-copy .ui-property-label {\n padding-top: 1px;\n}\n\n.pages-copy .ui-box {\n margin: 0;\n padding: 20px var(--padding) 18px;\n}\n.pages-copy .ui-box + .ui-box {\n padding: 16px 0;\n margin-top: 26px;\n}\n.pages-copy .ui-box .ui-tree-item.is-disabled {\n opacity: 0.5;\n}\n.pages-copy .ui-box .ui-tree-item.is-selected, .pages-copy .ui-box .ui-tree-item:hover:not(.is-disabled) {\n background: var(--color-tree-selected);\n}\n.pages-copy .ui-box .ui-tree-item.is-selected:after {\n font-family: "Feather";\n content: "";\n font-size: 16px;\n color: var(--color-primary);\n}\n.pages-copy .ui-box .ui-tree-item.is-selected .ui-tree-item-text {\n font-weight: bold;\n}\n\n.pages-copy content {\n padding-top: 0;\n}\n\n.pages-copy-text {\n margin: 0 0 20px;\n}\n\n/*# sourceMappingURL=copy.vue.map */','\ufeff<template>\r\n <ui-overlay-editor class="pages-copy">\r\n <template v-slot:header>\r\n <ui-header-bar title="@ui.copy.title" :back-button="false" :close-button="true" />\r\n </template>\r\n <template v-slot:footer>\r\n <ui-button type="light onbg" label="@ui.close" @click="config.hide" />\r\n <ui-button type="primary" label="@ui.copy.action" @click="onSave" :state="state" :disabled="selected == null" />\r\n </template>\r\n\r\n <p class="pages-copy-text" v-localize:html="{ key: \'@ui.copy.text\', tokens: { name: model.name } }"></p>\r\n <div class="ui-box">\r\n <ui-property label="@ui.copy.includeDescendants">\r\n <ui-toggle v-model="includeDescendants" class="is-primary" />\r\n </ui-property>\r\n </div>\r\n <div class="ui-box pages-copy-items">\r\n <ui-tree ref="tree" :get="getItems" @select="onSelect" />\r\n </div>\r\n </ui-overlay-editor>\r\n</template>\r\n\r\n\r\n<script>\r\n import PageTreeApi from \'zero/api/page-tree.js\'\r\n import PagesApi from \'zero/api/pages.js\';\r\n import Notification from \'zero/helpers/notification.js\'\r\n\r\n export default {\r\n\r\n props: {\r\n isCopy: {\r\n type: Boolean,\r\n default: false\r\n },\r\n model: Object,\r\n config: Object\r\n },\r\n\r\n data: () => ({\r\n items: [],\r\n selected: [],\r\n state: \'default\',\r\n cache: {},\r\n prevItem: null,\r\n selected: null,\r\n includeDescendants: true\r\n }),\r\n\r\n\r\n mounted()\r\n {\r\n \r\n },\r\n\r\n\r\n methods: {\r\n\r\n onSelect(item)\r\n {\r\n item.isSelected = true;\r\n\r\n if (this.prevItem && this.prevItem.id != item.id)\r\n {\r\n this.prevItem.isSelected = false;\r\n }\r\n\r\n this.prevItem = item;\r\n this.selected = item;\r\n //this.config.confirm(item);\r\n },\r\n\r\n getItems(parent)\r\n {\r\n const key = !parent ? \'__root\' : parent;\r\n\r\n if (this.cache[key])\r\n {\r\n return Promise.resolve(this.cache[key]);\r\n }\r\n\r\n return PageTreeApi.getChildren(parent).then(response =>\r\n {\r\n if (!parent)\r\n {\r\n response.splice(0, 0, {\r\n id: null,\r\n parentId: null,\r\n sort: 0,\r\n name: \'@page.root\',\r\n icon: \'fth-arrow-down-circle\',\r\n isOpen: false,\r\n modifier:\tnull,\r\n hasChildren: false,\r\n childCount: 0,\r\n isInactive: false,\r\n hasActions: false\r\n });\r\n }\r\n\r\n response.forEach(item =>\r\n {\r\n //item.disabled = true;\r\n item.isSelected = false;\r\n item.disabled = item.id === \'recyclebin\' || item.id == this.model.id;\r\n item.hasActions = false;\r\n });\r\n\r\n this.cache[key] = response;\r\n return response;\r\n });\r\n },\r\n\r\n onSave()\r\n {\r\n this.state = \'loading\';\r\n\r\n PagesApi.copy(this.model.id, this.selected.id, this.includeDescendants).then(res =>\r\n {\r\n if (res.success)\r\n {\r\n this.state = \'success\';\r\n this.config.confirm(res.model);\r\n }\r\n else\r\n {\r\n this.state = \'error\';\r\n Notification.error(res.errors[0].message);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .pages-copy .ui-property\r\n {\r\n display: flex;\r\n justify-content: space-between;\r\n }\r\n\r\n .pages-copy .ui-property-content\r\n {\r\n display: inline;\r\n flex: 0 0 auto;\r\n }\r\n\r\n .pages-copy .ui-property-label\r\n {\r\n padding-top: 1px;\r\n }\r\n\r\n .pages-copy .ui-box\r\n {\r\n margin: 0; \r\n padding: 20px var(--padding) 18px;\r\n\r\n & + .ui-box\r\n {\r\n padding: 16px 0;\r\n margin-top: 26px;\r\n }\r\n\r\n .ui-tree-item.is-disabled\r\n {\r\n opacity: .5;\r\n }\r\n\r\n .ui-tree-item.is-selected, .ui-tree-item:hover:not(.is-disabled)\r\n {\r\n background: var(--color-tree-selected);\r\n }\r\n\r\n .ui-tree-item.is-selected\r\n {\r\n &:after\r\n {\r\n font-family: "Feather";\r\n content: "\\e83e";\r\n font-size: 16px;\r\n color: var(--color-primary);\r\n }\r\n \r\n .ui-tree-item-text\r\n {\r\n font-weight: bold;\r\n }\r\n }\r\n }\r\n\r\n .pages-copy content\r\n {\r\n padding-top: 0;\r\n }\r\n\r\n .pages-copy-text\r\n {\r\n margin: 0 0 20px;\r\n }\r\n</style>']},media:void 0})}),Yf,undefined,false,undefined,!1,Iu,void 0,void 0);const Hf={name:"page",props:["id","type","parent"],components:{UiEditor:Ou},data:()=>({loading:!0,disabled:!1,editor:null,actions:[],meta:{},pageType:{},route:"page",model:{name:null,options:{hideInNavigation:!1},link:null},preview:{open:!1,window:null},isFolder:!1,debouncedUpdatePreview:null}),computed:{isCreate(){return"page-create"===this.$route.name}},watch:{model:{deep:!0,handler(e){this.debouncedUpdatePreview(e)}}},mounted(){this.debouncedUpdatePreview=zd(this.updatePreview,1e3),Tf.$on("page.sort",(e=>{let n=Yd(e,(e=>e.id===this.id));n&&(this.model.sort=n.sort)})),Tf.$on("page.move",(e=>{e.id===this.id&&(this.model.parentId=e.parentId)})),Tf.$on("page.delete",(e=>{e.indexOf(this.id)>-1&&this.$router.replace({name:"pages"})}))},methods:{onLoad(e){this.loading=!0,e.load(this.id?Mf.getById(this.id):Mf.getEmpty(this.type,this.parent)).then((e=>{this.isFolder=e.entity.pageTypeAlias===__zero.alias.pages.folder,this.disabled=!e.meta.canEdit,this.editor=e.entity?this.zero.getEditor("pages."+e.entity.pageTypeAlias):null,this.model=e.entity,this.meta=e.meta,this.loading=!1}))},onSubmit(e){e.handle(Mf.save(this.model)).then((e=>{e.success&&(Tf.$emit("page.update",e.model),this.model=e.model,localStorage.setItem("zero.last-page."+e.model.appId,e.model.id))}))},onDelete(e,n){n.hide(),this.$refs.form.onDelete(Mf.delete.bind(this,this.id))},onEditorConfigure(e){this.isFolder||e.tabs.push({alias:"zero.info",name:"@page.info_tab",class:"is-info is-blank",count:e=>null,disabled:e=>!1,component:Nf,fields:[]})},move:e=>Uu.open({component:jf,display:"editor",model:e}).then((e=>{Tf.$emit("page.move",e),Tf.$emit("page.update")})),copy:e=>Uu.open({component:qf,display:"editor",model:e}).then((e=>{Tf.$emit("page.update")})),openPreview(){if(this.preview.open)return this.focusPreview();const e=jl.guid();this.preview.window=window.open(window.location.origin+"/zero/preview?id="+e,"blank"),this.preview.window.focus(),window.addEventListener("message",(n=>{this.preview.window.postMessage({id:e,preview:!0,model:this.model},window.location.origin)}),!1),this.preview.window.onbeforeunload=()=>this.exitPreview(!0),this.preview.open=!0},updatePreview(e){this.preview.open&&this.preview.window.postMessage({preview:!0,update:!0,model:e},window.location.origin)},focusPreview(){this.preview.window.focus()},refreshPreview(){this.focusPreview()},exitPreview(e){e||this.preview.window.close(),this.preview.window=null,this.preview.open=!1}}};var Wf=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("ui-form",{ref:"form",staticClass:"page page-editor",attrs:{route:e.route},on:{submit:e.onSubmit,load:e.onLoad},scopedSlots:e._u([{key:"default",fn:function(n){return[t("ui-form-header",{attrs:{title:"@page.name",disabled:e.disabled,"is-create":!e.id,state:n.state,"active-toggle":!e.isFolder,"can-delete":e.meta.canDelete},on:{delete:e.onDelete},scopedSlots:e._u([{key:"actions",fn:function(){return[e.isFolder?e._e():t("ui-dropdown-button",{attrs:{label:"@page.preview.title",icon:"fth-eye",disabled:e.disabled},on:{click:e.openPreview}}),e._v(" "),e.isFolder?e._e():t("ui-dropdown-separator"),e._v(" "),t("ui-dropdown-button",{attrs:{label:"@ui.move.title",icon:"fth-corner-down-right"},on:{click:function(n){return e.move(e.model)}}}),e._v(" "),t("ui-dropdown-button",{attrs:{label:"@ui.copy.title",icon:"fth-copy"},on:{click:function(n){return e.copy(e.model)}}}),e._v(" "),t("ui-dropdown-separator")]},proxy:!0}],null,!0),model:{value:e.model,callback:function(n){e.model=n},expression:"model"}}),e._v(" "),e.preview.open?t("div",{staticClass:"page-editor-preview-message"},[t("div",{staticClass:"-text"},[t("span",[e._v("To update the "),t("b",[e._v("preview")]),e._v(" with your unsaved changes click the "),t("b",[e._v("Refresh")]),e._v(" button.")])]),e._v(" "),t("div",{staticClass:"-buttons"},[t("ui-button",{attrs:{type:"small light onbg",label:"Exit"},on:{click:function(n){return e.exitPreview()}}}),e._v(" "),t("ui-button",{attrs:{type:"small light onbg",label:"Open"},on:{click:e.focusPreview}}),e._v(" "),t("ui-button",{attrs:{type:"small",label:"Refresh",icon:"fth-rotate-cw"},on:{click:e.refreshPreview}})],1)]):e._e(),e._v(" "),!e.loading&&e.editor?t("ui-editor",{attrs:{config:e.editor,meta:e.meta,"is-page":!0,infos:"none","on-configure":e.onEditorConfigure,disabled:e.disabled},model:{value:e.model,callback:function(n){e.model=n},expression:"model"}}):e._e(),e._v(" "),e.isFolder?t("div"):e._e()]}}])})};Wf._withStripped=!0;const Vf=Da({render:Wf,staticRenderFns:[]},(function(e){e&&e("data-v-00b9122c_0",{source:".page-editor-info .editor-infos {\n margin: 0;\n padding: 0;\n}\n.page-editor-preview-message {\n margin: -10px var(--padding) var(--padding);\n background: var(--color-box-light);\n color: var(--color-primary);\n font-size: var(--font-size);\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n border-radius: var(--radius);\n position: relative;\n line-height: 20px;\n text-align: left;\n}\n.page-editor-preview-message .-buttons {\n display: flex;\n}\n\n/*# sourceMappingURL=page.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\pages\\pages\\page.vue","page.vue"],names:[],mappings:"AA4RA;EAEA,SAAA;EACA,UAAA;AC5RA;ADgSA;EAEA,2CAAA;EACA,kCAAA;EACA,2BAAA;EACA,2BAAA;EACA,aAAA;EACA,mBAAA;EACA,8BAAA;EACA,kBAAA;EACA,4BAAA;EACA,kBAAA;EACA,iBAAA;EACA,gBAAA;AC9RA;ADgSA;EAEA,aAAA;AC/RA;;AAEA,mCAAmC",file:"page.vue",sourcesContent:['\ufeff<template>\r\n <ui-form ref="form" class="page page-editor" v-slot="form" @submit="onSubmit" @load="onLoad" :route="route">\r\n <ui-form-header v-model="model" title="@page.name" :disabled="disabled" :is-create="!id" :state="form.state" :active-toggle="!isFolder" :can-delete="meta.canDelete" @delete="onDelete">\r\n <template v-slot:actions>\r\n <ui-dropdown-button v-if="!isFolder" label="@page.preview.title" icon="fth-eye" :disabled="disabled" @click="openPreview" />\r\n <ui-dropdown-separator v-if="!isFolder" />\r\n <ui-dropdown-button label="@ui.move.title" icon="fth-corner-down-right" @click="move(model)" />\r\n <ui-dropdown-button label="@ui.copy.title" icon="fth-copy" @click="copy(model)" />\r\n <ui-dropdown-separator />\r\n </template>\r\n </ui-form-header>\r\n\r\n <div v-if="preview.open" class="page-editor-preview-message">\r\n <div class="-text">\r\n <span>To update the <b>preview</b> with your unsaved changes click the <b>Refresh</b> button.</span>\r\n </div>\r\n <div class="-buttons">\r\n <ui-button type="small light onbg" label="Exit" @click="exitPreview()" />\r\n <ui-button type="small light onbg" label="Open" @click="focusPreview" />\r\n <ui-button type="small" label="Refresh" icon="fth-rotate-cw" @click="refreshPreview" />\r\n </div>\r\n </div>\r\n\r\n <ui-editor v-if="!loading && editor" :config="editor" v-model="model" :meta="meta" :is-page="true" infos="none" :on-configure="onEditorConfigure" :disabled="disabled" />\r\n\r\n <div v-if="isFolder">\r\n \x3c!-- // TODO list children --\x3e\r\n </div>\r\n </ui-form>\r\n</template>\r\n\r\n\r\n<script>\r\n import UiEditor from \'zero/editor/editor.vue\';\r\n import PagesApi from \'zero/api/pages.js\';\r\n import EventHub from \'zero/helpers/eventhub.js\';\r\n import InfoTab from \'./page-info.vue\';\r\n import Overlay from \'zero/helpers/overlay.js\'\r\n import MoveOverlay from \'./overlays/move.vue\'\r\n import CopyOverlay from \'./overlays/copy.vue\'\r\n import Strings from \'zero/helpers/strings.js\';\r\n import { find as _find, debounce as _debounce } from \'underscore\';\r\n\r\n export default {\r\n\r\n name: \'page\',\r\n\r\n props: [\'id\', \'type\', \'parent\'],\r\n\r\n components: { UiEditor },\r\n\r\n data: () => ({\r\n loading: true,\r\n disabled: false,\r\n editor: null,\r\n actions: [],\r\n meta: {},\r\n pageType: {},\r\n route: \'page\',\r\n model: {\r\n name: null,\r\n options: {\r\n hideInNavigation: false\r\n },\r\n link: null\r\n },\r\n preview: {\r\n open: false,\r\n window: null\r\n },\r\n isFolder: false,\r\n debouncedUpdatePreview: null\r\n }),\r\n\r\n\r\n computed: {\r\n isCreate()\r\n {\r\n return this.$route.name === \'page-create\';\r\n }\r\n },\r\n\r\n\r\n watch: {\r\n model: {\r\n deep: true,\r\n handler(value)\r\n {\r\n this.debouncedUpdatePreview(value);\r\n }\r\n }\r\n },\r\n\r\n\r\n mounted()\r\n {\r\n this.debouncedUpdatePreview = _debounce(this.updatePreview, 1000);\r\n\r\n EventHub.$on(\'page.sort\', items =>\r\n {\r\n let item = _find(items, x => x.id === this.id);\r\n if (item)\r\n {\r\n this.model.sort = item.sort;\r\n }\r\n });\r\n\r\n EventHub.$on(\'page.move\', item =>\r\n {\r\n if (item.id === this.id)\r\n {\r\n this.model.parentId = item.parentId;\r\n }\r\n });\r\n\r\n EventHub.$on(\'page.delete\', ids =>\r\n {\r\n if (ids.indexOf(this.id) > -1)\r\n {\r\n this.$router.replace({ name: \'pages\' });\r\n }\r\n });\r\n },\r\n\r\n\r\n methods: {\r\n\r\n onLoad(form)\r\n {\r\n this.loading = true;\r\n\r\n form.load(!this.id ? PagesApi.getEmpty(this.type, this.parent) : PagesApi.getById(this.id)).then(response =>\r\n {\r\n this.isFolder = response.entity.pageTypeAlias === __zero.alias.pages.folder;\r\n this.disabled = !response.meta.canEdit;\r\n this.editor = response.entity ? this.zero.getEditor(\'pages.\' + response.entity.pageTypeAlias) : null;\r\n this.model = response.entity;\r\n this.meta = response.meta;\r\n this.loading = false;\r\n });\r\n },\r\n\r\n\r\n onSubmit(form)\r\n {\r\n form.handle(PagesApi.save(this.model)).then(response =>\r\n {\r\n if (response.success)\r\n {\r\n EventHub.$emit(\'page.update\', response.model);\r\n this.model = response.model;\r\n\r\n // store last edited page in localstorage\r\n localStorage.setItem(\'zero.last-page.\' + response.model.appId, response.model.id);\r\n }\r\n });\r\n },\r\n\r\n\r\n onDelete(item, opts)\r\n {\r\n opts.hide();\r\n this.$refs.form.onDelete(PagesApi.delete.bind(this, this.id));\r\n },\r\n\r\n\r\n onEditorConfigure(editor)\r\n {\r\n if (this.isFolder)\r\n {\r\n return;\r\n }\r\n\r\n editor.tabs.push({\r\n alias: \'zero.info\',\r\n name: \'@page.info_tab\',\r\n class: \'is-info is-blank\',\r\n count: value => null,\r\n disabled: value => false,\r\n component: InfoTab,\r\n fields: []\r\n });\r\n },\r\n\r\n\r\n move(item)\r\n {\r\n return Overlay.open({\r\n component: MoveOverlay,\r\n display: \'editor\',\r\n model: item\r\n }).then(value =>\r\n {\r\n EventHub.$emit(\'page.move\', value);\r\n EventHub.$emit(\'page.update\');\r\n });\r\n },\r\n\r\n\r\n copy(item)\r\n {\r\n return Overlay.open({\r\n component: CopyOverlay,\r\n display: \'editor\',\r\n model: item\r\n }).then(value =>\r\n {\r\n EventHub.$emit(\'page.update\');\r\n });\r\n },\r\n\r\n\r\n openPreview()\r\n {\r\n if (this.preview.open)\r\n {\r\n return this.focusPreview();\r\n }\r\n\r\n const id = Strings.guid();\r\n\r\n this.preview.window = window.open(window.location.origin + \'/zero/preview?id=\' + id, \'blank\');\r\n this.preview.window.focus();\r\n\r\n window.addEventListener("message", event =>\r\n {\r\n this.preview.window.postMessage({\r\n id: id,\r\n preview: true,\r\n model: this.model\r\n }, window.location.origin);\r\n }, false);\r\n\r\n this.preview.window.onbeforeunload = () => this.exitPreview(true);\r\n\r\n this.preview.open = true;\r\n },\r\n\r\n updatePreview(value)\r\n {\r\n if (!this.preview.open)\r\n {\r\n return;\r\n }\r\n\r\n this.preview.window.postMessage({\r\n preview: true,\r\n update: true,\r\n model: value\r\n }, window.location.origin);\r\n },\r\n\r\n focusPreview()\r\n {\r\n this.preview.window.focus();\r\n },\r\n\r\n refreshPreview()\r\n {\r\n this.focusPreview();\r\n //this.preview.window.location.reload();\r\n },\r\n\r\n exitPreview(external)\r\n {\r\n if (!external)\r\n {\r\n this.preview.window.close();\r\n }\r\n this.preview.window = null;\r\n this.preview.open = false;\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .page-editor .ui-tab.is-info\r\n {\r\n \r\n }\r\n\r\n .page-editor-info\r\n {\r\n .editor-infos\r\n {\r\n margin: 0;\r\n padding: 0;\r\n }\r\n }\r\n\r\n .page-editor-preview-message\r\n {\r\n margin: -10px var(--padding) var(--padding);\r\n background: var(--color-box-light);\r\n color: var(--color-primary);\r\n font-size: var(--font-size);\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n padding: 16px 20px;\r\n border-radius: var(--radius);\r\n position: relative;\r\n line-height: 20px;\r\n text-align: left;\r\n\r\n .-buttons\r\n {\r\n display: flex;\r\n }\r\n }\r\n</style>',".page-editor-info .editor-infos {\n margin: 0;\n padding: 0;\n}\n\n.page-editor-preview-message {\n margin: -10px var(--padding) var(--padding);\n background: var(--color-box-light);\n color: var(--color-primary);\n font-size: var(--font-size);\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n border-radius: var(--radius);\n position: relative;\n line-height: 20px;\n text-align: left;\n}\n.page-editor-preview-message .-buttons {\n display: flex;\n}\n\n/*# sourceMappingURL=page.vue.map */"]},media:void 0})}),Hf,undefined,false,undefined,!1,Iu,void 0,void 0);const Jf={props:{config:Object},data:()=>({model:{name:null,parentId:null,pageTypeAlias:null},loading:!1,item:{},disabled:!1,pageTypes:[]}),created(){this.model.parentId=this.config.parent?this.config.parent.id:null},mounted(){this.loading=!0,Mf.getAllowedPageTypes(this.model.parentId).then((e=>{this.pageTypes=e,this.loading=!1}))},methods:{onSelect(e){this.config.close(),this.$router.push({name:"page-create",params:{type:e.alias,parent:this.model.parentId}})}}};var Kf=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"page-create"},[t("h2",{directives:[{name:"localize",rawName:"v-localize",value:"@page.create.title",expression:"'@page.create.title'"}],staticClass:"ui-headline"}),e._v(" "),e.loading?e._e():t("div",[e.pageTypes.length&&e.config.parent?t("div",{staticClass:"page-create-parent"},[t("span",{directives:[{name:"localize",rawName:"v-localize",value:"@page.create.parent",expression:"'@page.create.parent'"}]}),e._v(": "),t("strong",[e._v(e._s(e.config.parent.name))])]):e._e(),e._v(" "),t("div",{staticClass:"page-create-items"},e._l(e.pageTypes,(function(n){return t("button",{staticClass:"page-create-item",attrs:{type:"button"},on:{click:function(t){return e.onSelect(n)}}},[t("i",{staticClass:"page-create-item-icon",class:n.icon}),e._v(" "),t("span",{staticClass:"page-create-item-text"},[e._v("\n "+e._s(e._f("localize")(n.name))+"\n "),n.description?t("span",{directives:[{name:"localize",rawName:"v-localize",value:n.description,expression:"item.description"}]}):e._e()])])})),0),e._v(" "),e.pageTypes.length?e._e():t("ui-message",{attrs:{type:"error",text:"@page.create.nonavailable"}}),e._v(" "),t("div",{staticClass:"app-confirm-buttons"},[t("ui-button",{attrs:{type:"light",label:e.config.closeLabel},on:{click:e.config.close}})],1)],1)])};Kf._withStripped=!0;const Gf=Da({render:Kf,staticRenderFns:[]},(function(e){e&&e("data-v-2dfb9404_0",{source:".page-create {\n text-align: left;\n}\n.page-create .ui-message {\n margin: 0;\n}\n.page-create-parent {\n margin: 30px 0 -10px 0;\n border-radius: var(--radius);\n /*border: 1px solid var(--color-line-light);*/\n background: var(--color-box-nested);\n line-height: 1.4;\n color: var(--color-text-dim);\n padding: 14px 16px;\n font-size: var(--font-size);\n}\n.page-create-parent strong {\n color: var(--color-text);\n}\n.page-create-items {\n margin: 0 -16px;\n margin-top: var(--padding);\n max-height: 600px;\n overflow-y: auto;\n}\n.page-create-item {\n display: grid;\n width: 100%;\n grid-template-columns: 48px 1fr auto;\n gap: 12px;\n align-items: center;\n position: relative;\n color: var(--color-text);\n padding: 16px;\n border-radius: var(--radius);\n}\n.page-create-item:hover, .page-create-item:focus {\n background: var(--color-tree-selected);\n}\n.page-create-item + .page-create-item {\n margin-top: 10px;\n}\n.page-create-item-text {\n display: flex;\n flex-direction: column;\n}\n.page-create-item-text span {\n color: var(--color-text-dim);\n margin-top: 3px;\n}\n.page-create-item-icon {\n font-size: 22px;\n line-height: 1;\n font-weight: 400;\n position: relative;\n top: -2px;\n left: 4px;\n color: var(--color-text);\n}\n\n/*# sourceMappingURL=create.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\pages\\pages\\overlays\\create.vue","create.vue"],names:[],mappings:"AAiFA;EAEA,gBAAA;ACjFA;ADmFA;EAEA,SAAA;AClFA;ADsFA;EAEA,sBAAA;EACA,4BAAA;EACA,6CAAA;EACA,mCAAA;EACA,gBAAA;EACA,4BAAA;EACA,kBAAA;EACA,2BAAA;ACpFA;ADsFA;EAEA,wBAAA;ACrFA;ADyFA;EAEA,eAAA;EACA,0BAAA;EACA,iBAAA;EACA,gBAAA;ACvFA;AD0FA;EAEA,aAAA;EACA,WAAA;EACA,oCAAA;EACA,SAAA;EACA,mBAAA;EACA,kBAAA;EACA,wBAAA;EACA,aAAA;EACA,4BAAA;ACxFA;AD0FA;EAEA,sCAAA;ACzFA;AD4FA;EAEA,gBAAA;AC3FA;AD+FA;EAEA,aAAA;EACA,sBAAA;AC7FA;AD+FA;EAEA,4BAAA;EACA,eAAA;AC9FA;ADkGA;EAEA,eAAA;EACA,cAAA;EACA,gBAAA;EACA,kBAAA;EACA,SAAA;EACA,SAAA;EACA,wBAAA;AChGA;;AAEA,qCAAqC",file:"create.vue",sourcesContent:['\ufeff<template>\r\n <div class="page-create">\r\n <h2 class="ui-headline" v-localize="\'@page.create.title\'"></h2>\r\n <div v-if="!loading">\r\n <div v-if="pageTypes.length && config.parent" class="page-create-parent">\r\n <span v-localize="\'@page.create.parent\'"></span>: <strong>{{config.parent.name}}</strong>\r\n </div>\r\n <div class="page-create-items">\r\n <button type="button" v-for="item in pageTypes" class="page-create-item" @click="onSelect(item)">\r\n <i class="page-create-item-icon" :class="item.icon"></i>\r\n <span class="page-create-item-text">\r\n {{item.name | localize}}\r\n <span v-if="item.description" v-localize="item.description"></span>\r\n </span>\r\n </button> \r\n </div>\r\n <ui-message type="error" v-if="!pageTypes.length" text="@page.create.nonavailable" />\r\n <div class="app-confirm-buttons">\r\n <ui-button type="light" :label="config.closeLabel" @click="config.close"></ui-button>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import PagesApi from \'zero/api/pages.js\';\r\n import Overlay from \'zero/helpers/overlay.js\';\r\n\r\n export default {\r\n\r\n props: {\r\n config: Object\r\n },\r\n\r\n data: () => ({\r\n model: {\r\n name: null,\r\n parentId: null,\r\n pageTypeAlias: null\r\n },\r\n loading: false,\r\n item: {},\r\n disabled: false,\r\n pageTypes: []\r\n }),\r\n\r\n\r\n created()\r\n {\r\n this.model.parentId = this.config.parent ? this.config.parent.id : null;\r\n },\r\n\r\n\r\n mounted()\r\n {\r\n this.loading = true;\r\n\r\n PagesApi.getAllowedPageTypes(this.model.parentId).then(response =>\r\n {\r\n this.pageTypes = response;\r\n this.loading = false;\r\n });\r\n },\r\n\r\n\r\n methods: {\r\n onSelect(item)\r\n {\r\n this.config.close();\r\n\r\n this.$router.push({\r\n name: \'page-create\',\r\n params: { type: item.alias, parent: this.model.parentId }\r\n });\r\n },\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .page-create\r\n {\r\n text-align: left;\r\n\r\n .ui-message\r\n {\r\n margin: 0;\r\n }\r\n }\r\n\r\n .page-create-parent\r\n {\r\n margin: 30px 0 -10px 0;\r\n border-radius: var(--radius);\r\n /*border: 1px solid var(--color-line-light);*/\r\n background: var(--color-box-nested);\r\n line-height: 1.4;\r\n color: var(--color-text-dim);\r\n padding: 14px 16px;\r\n font-size: var(--font-size);\r\n\r\n strong\r\n {\r\n color: var(--color-text);\r\n }\r\n }\r\n\r\n .page-create-items\r\n {\r\n margin: 0 -16px;\r\n margin-top: var(--padding);\r\n max-height: 600px;\r\n overflow-y: auto;\r\n }\r\n\r\n .page-create-item\r\n {\r\n display: grid;\r\n width: 100%;\r\n grid-template-columns: 48px 1fr auto;\r\n gap: 12px;\r\n align-items: center;\r\n position: relative;\r\n color: var(--color-text);\r\n padding: 16px;\r\n border-radius: var(--radius); \r\n\r\n &:hover, &:focus\r\n {\r\n background: var(--color-tree-selected);\r\n }\r\n\r\n & + .page-create-item\r\n {\r\n margin-top: 10px;\r\n }\r\n }\r\n\r\n .page-create-item-text\r\n {\r\n display: flex;\r\n flex-direction: column;\r\n\r\n span\r\n {\r\n color: var(--color-text-dim);\r\n margin-top: 3px;\r\n }\r\n }\r\n\r\n .page-create-item-icon\r\n {\r\n font-size: 22px;\r\n line-height: 1;\r\n font-weight: 400;\r\n position: relative;\r\n top: -2px;\r\n left: 4px;\r\n color: var(--color-text);\r\n }\r\n</style>',".page-create {\n text-align: left;\n}\n.page-create .ui-message {\n margin: 0;\n}\n\n.page-create-parent {\n margin: 30px 0 -10px 0;\n border-radius: var(--radius);\n /*border: 1px solid var(--color-line-light);*/\n background: var(--color-box-nested);\n line-height: 1.4;\n color: var(--color-text-dim);\n padding: 14px 16px;\n font-size: var(--font-size);\n}\n.page-create-parent strong {\n color: var(--color-text);\n}\n\n.page-create-items {\n margin: 0 -16px;\n margin-top: var(--padding);\n max-height: 600px;\n overflow-y: auto;\n}\n\n.page-create-item {\n display: grid;\n width: 100%;\n grid-template-columns: 48px 1fr auto;\n gap: 12px;\n align-items: center;\n position: relative;\n color: var(--color-text);\n padding: 16px;\n border-radius: var(--radius);\n}\n.page-create-item:hover, .page-create-item:focus {\n background: var(--color-tree-selected);\n}\n.page-create-item + .page-create-item {\n margin-top: 10px;\n}\n\n.page-create-item-text {\n display: flex;\n flex-direction: column;\n}\n.page-create-item-text span {\n color: var(--color-text-dim);\n margin-top: 3px;\n}\n\n.page-create-item-icon {\n font-size: 22px;\n line-height: 1;\n font-weight: 400;\n position: relative;\n top: -2px;\n left: 4px;\n color: var(--color-text);\n}\n\n/*# sourceMappingURL=create.vue.map */"]},media:void 0})}),Jf,undefined,false,undefined,!1,Iu,void 0,void 0);var Xf={move:(e,n,t)=>(((e,n,t)=>{const r=t<0?e.length+t:t,i=e.splice(n,1)[0];e.splice(r,0,i)})(e=e.slice(),n,t),e),replace(e,n,t){const r=e.indexOf(n);return r<0||(e.splice(r,1),e.splice(r,0,t)),r},remove(e,n){const t=e.indexOf(n);if(!(t<0))return e.splice(t,1),t}};const Qf={props:{model:Object,config:Object},data:()=>({items:[],selected:[],state:"default"}),computed:{parentId(){return this.model?this.model.parentId:null}},mounted(){return Rf(this.parentId).then((e=>{this.items=e.filter((e=>"recyclebin"!==e.id))}))},methods:{onSave(){this.state="loading",Mf.saveSorting(this.items.map((e=>e.id))).then((e=>{e.success?(this.state="success",this.config.confirm(e.model)):(this.state="error",Ff.error(e.errors[0].message))}))},onSortingUpdated(e){this.items=Xf.move(this.items,e.oldIndex,e.newIndex)}}};var Zf=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("ui-overlay-editor",{staticClass:"pages-sort",scopedSlots:e._u([{key:"header",fn:function(){return[t("ui-header-bar",{attrs:{title:"@ui.sort.title","back-button":!1,"close-button":!0}})]},proxy:!0},{key:"footer",fn:function(){return[t("ui-button",{attrs:{type:"light onbg",label:"@ui.close"},on:{click:e.config.hide}}),e._v(" "),t("ui-button",{attrs:{type:"primary",label:"@ui.save",state:e.state},on:{click:e.onSave}})]},proxy:!0}])},[e._v(" "),e._v(" "),t("p",{directives:[{name:"localize",rawName:"v-localize",value:"@ui.sort.text",expression:"'@ui.sort.text'"}],staticClass:"pages-sort-text"}),e._v(" "),t("div",{directives:[{name:"sortable",rawName:"v-sortable",value:{handle:".is-handle",onUpdate:e.onSortingUpdated},expression:"{ handle: '.is-handle', onUpdate: onSortingUpdated }"}],staticClass:"pages-sort-items"},e._l(e.items,(function(n,r){return t("div",{key:n.id,staticClass:"pages-sort-item"},[t("span",[e._v(e._s(r+1)+".   "),t("i",{staticClass:"pages-sort-item-icon",class:n.icon}),e._v(" "+e._s(n.name))]),e._v(" "),t("button",{staticClass:"pages-sort-item-button is-handle",attrs:{type:"button"}},[t("i",{staticClass:"-minor fth-more-vertical"})])])})),0)])};Zf._withStripped=!0;const eA=Da({render:Zf,staticRenderFns:[]},(function(e){e&&e("data-v-756a129a_0",{source:".pages-sort .ui-box {\n margin: 0;\n}\n.pages-sort content {\n padding-top: 0;\n}\n.pages-sort-item {\n display: grid;\n width: 100%;\n grid-template-columns: 1fr auto;\n gap: 6px;\n align-items: center;\n font-size: var(--font-size);\n height: 46px;\n color: var(--color-text);\n position: relative;\n padding: 0 8px;\n background: var(--color-box);\n border-radius: var(--radius);\n}\n.pages-sort-item i {\n font-size: var(--font-size-l);\n position: relative;\n top: -1px;\n color: var(--color-text-dim);\n}\n.pages-sort-item span {\n padding: 12px 8px;\n}\n.pages-sort-item.is-selected {\n color: var(--color-text-dim);\n}\n.pages-sort-item + .pages-sort-item {\n margin-top: 8px;\n}\nbutton.pages-sort-item-button {\n height: 48px;\n width: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n text-align: center;\n}\nbutton.pages-sort-item-button i {\n font-size: var(--font-size);\n}\nbutton.pages-sort-item-button.is-handle {\n cursor: move;\n}\n.pages-sort-text {\n margin: 0 0 20px;\n}\ni.pages-sort-item-icon {\n top: 0;\n color: var(--color-text);\n margin-right: 8px;\n}\n\n/*# sourceMappingURL=sort.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\pages\\pages\\overlays\\sort.vue","sort.vue"],names:[],mappings:"AA2FA;EAEA,SAAA;AC3FA;AD6FA;EAEA,cAAA;AC3FA;AD8FA;EAEA,aAAA;EACA,WAAA;EACA,+BAAA;EACA,QAAA;EACA,mBAAA;EACA,2BAAA;EACA,YAAA;EACA,wBAAA;EACA,kBAAA;EACA,cAAA;EACA,4BAAA;EACA,4BAAA;AC5FA;AD8FA;EAEA,6BAAA;EACA,kBAAA;EACA,SAAA;EACA,4BAAA;AC7FA;ADgGA;EAEA,iBAAA;AC/FA;ADkGA;EAEA,4BAAA;ACjGA;ADoGA;EAEA,eAAA;ACnGA;ADuGA;EAEA,YAAA;EACA,WAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,kBAAA;ACrGA;ADuGA;EAEA,2BAAA;ACtGA;ADyGA;EAEA,YAAA;ACxGA;AD4GA;EAEA,gBAAA;AC1GA;AD6GA;EAEA,MAAA;EACA,wBAAA;EACA,iBAAA;AC3GA;;AAEA,mCAAmC",file:"sort.vue",sourcesContent:['\ufeff<template>\r\n <ui-overlay-editor class="pages-sort">\r\n <template v-slot:header>\r\n <ui-header-bar title="@ui.sort.title" :back-button="false" :close-button="true" />\r\n </template>\r\n <template v-slot:footer>\r\n <ui-button type="light onbg" label="@ui.close" @click="config.hide"></ui-button>\r\n <ui-button type="primary" label="@ui.save" @click="onSave" :state="state"></ui-button>\r\n </template>\r\n\r\n <p class="pages-sort-text" v-localize="\'@ui.sort.text\'"></p>\r\n <div class="pages-sort-items" v-sortable="{ handle: \'.is-handle\', onUpdate: onSortingUpdated }">\r\n <div v-for="(item, index) in items" :key="item.id" class="pages-sort-item">\r\n <span>{{index + 1}}. &nbsp; <i class="pages-sort-item-icon" :class="item.icon"></i> {{item.name}}</span>\r\n <button type="button" class="pages-sort-item-button is-handle">\r\n <i class="-minor fth-more-vertical"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </ui-overlay-editor>\r\n</template>\r\n\r\n\r\n<script>\r\n import PageTreeApi from \'zero/api/page-tree.js\'\r\n import PagesApi from \'zero/api/pages.js\';\r\n import Arrays from \'zero/helpers/arrays.js\'\r\n import Notification from \'zero/helpers/notification.js\'\r\n\r\n export default {\r\n\r\n props: {\r\n model: Object,\r\n config: Object\r\n },\r\n\r\n data: () => ({\r\n items: [],\r\n selected: [],\r\n state: \'default\'\r\n }),\r\n\r\n\r\n computed: {\r\n parentId()\r\n {\r\n return this.model ? this.model.parentId : null;\r\n }\r\n },\r\n\r\n\r\n mounted()\r\n {\r\n return PageTreeApi.getChildren(this.parentId).then(response =>\r\n {\r\n this.items = response.filter(x => x.id !== \'recyclebin\');\r\n });\r\n },\r\n\r\n\r\n methods: {\r\n\r\n onSave()\r\n {\r\n this.state = \'loading\';\r\n\r\n PagesApi.saveSorting(this.items.map(x => x.id)).then(res =>\r\n {\r\n if (res.success)\r\n {\r\n this.state = \'success\';\r\n this.config.confirm(res.model);\r\n }\r\n else\r\n {\r\n this.state = \'error\';\r\n Notification.error(res.errors[0].message);\r\n }\r\n });\r\n },\r\n\r\n\r\n onSortingUpdated(ev)\r\n {\r\n this.items = Arrays.move(this.items, ev.oldIndex, ev.newIndex);\r\n },\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .pages-sort .ui-box\r\n {\r\n margin: 0;\r\n }\r\n .pages-sort content\r\n {\r\n padding-top: 0;\r\n }\r\n\r\n .pages-sort-item\r\n {\r\n display: grid;\r\n width: 100%;\r\n grid-template-columns: 1fr auto;\r\n gap: 6px;\r\n align-items: center;\r\n font-size: var(--font-size);\r\n height: 46px;\r\n color: var(--color-text);\r\n position: relative;\r\n padding: 0 8px;\r\n background: var(--color-box);\r\n border-radius: var(--radius);\r\n\r\n i\r\n {\r\n font-size: var(--font-size-l);\r\n position: relative;\r\n top: -1px;\r\n color: var(--color-text-dim);\r\n }\r\n\r\n span\r\n {\r\n padding: 12px 8px;\r\n }\r\n\r\n &.is-selected\r\n {\r\n color: var(--color-text-dim);\r\n }\r\n\r\n & + .pages-sort-item\r\n {\r\n margin-top: 8px;\r\n }\r\n }\r\n\r\n button.pages-sort-item-button\r\n {\r\n height: 48px;\r\n width: 24px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n text-align: center;\r\n\r\n i\r\n {\r\n font-size: var(--font-size);\r\n }\r\n\r\n &.is-handle\r\n {\r\n cursor: move;\r\n }\r\n }\r\n\r\n .pages-sort-text\r\n {\r\n margin: 0 0 20px;\r\n }\r\n\r\n i.pages-sort-item-icon\r\n {\r\n top: 0;\r\n color: var(--color-text);\r\n margin-right: 8px;\r\n }\r\n</style>',".pages-sort .ui-box {\n margin: 0;\n}\n\n.pages-sort content {\n padding-top: 0;\n}\n\n.pages-sort-item {\n display: grid;\n width: 100%;\n grid-template-columns: 1fr auto;\n gap: 6px;\n align-items: center;\n font-size: var(--font-size);\n height: 46px;\n color: var(--color-text);\n position: relative;\n padding: 0 8px;\n background: var(--color-box);\n border-radius: var(--radius);\n}\n.pages-sort-item i {\n font-size: var(--font-size-l);\n position: relative;\n top: -1px;\n color: var(--color-text-dim);\n}\n.pages-sort-item span {\n padding: 12px 8px;\n}\n.pages-sort-item.is-selected {\n color: var(--color-text-dim);\n}\n.pages-sort-item + .pages-sort-item {\n margin-top: 8px;\n}\n\nbutton.pages-sort-item-button {\n height: 48px;\n width: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n text-align: center;\n}\nbutton.pages-sort-item-button i {\n font-size: var(--font-size);\n}\nbutton.pages-sort-item-button.is-handle {\n cursor: move;\n}\n\n.pages-sort-text {\n margin: 0 0 20px;\n}\n\ni.pages-sort-item-icon {\n top: 0;\n color: var(--color-text);\n margin-right: 8px;\n}\n\n/*# sourceMappingURL=sort.vue.map */"]},media:void 0})}),Qf,undefined,false,undefined,!1,Iu,void 0,void 0);const nA={data:()=>({page:!0,cache:{},resizable:{axis:"x",min:260,max:520,save:"page-tree",handle:".ui-resizable"},actions:[],treeConfig:{}}),computed:{id(){return this.$route.params.id},isOverview(){return!this.$route.params.id&&!this.$route.params.type&&"recyclebin"!==this.$route.name}},mounted(){this.buildActions(),Tf.$off("page.update"),Tf.$on("page.update",(e=>{this.cache=[],this.$refs.tree.refresh()}))},methods:{getItems(e){const n=e||"__root";return this.cache[n]?Promise.resolve(this.cache[n]):Rf(e,this.id).then((e=>(e.forEach((e=>{e.url={name:"page",params:{id:e.id}},"recyclebin"===e.id&&(e.hasActions=!1,e.url={name:"recyclebin"})})),this.cache[n]=e,e)))},create(e){Uu.open({component:Gf,width:520,parent:e}).then((()=>{}),(()=>{}))},sort:e=>Uu.open({component:eA,display:"editor",model:e}).then((e=>{Tf.$emit("page.sort",e),Tf.$emit("page.update")})),move:e=>Uu.open({component:jf,display:"editor",model:e}).then((e=>{Tf.$emit("page.move",e),Tf.$emit("page.update")})),copy(e){return console.info(e),Uu.open({component:qf,display:"editor",model:e}).then((e=>{Tf.$emit("page.update"),this.$router.push({name:"page",params:{id:e.id}})}))},remove(e){Uu.confirmDelete(e.name,"@deleteoverlay.page_text").then((n=>{n.state("loading"),Mf.delete(e.id).then((e=>{e.success?(n.state("success"),n.hide(),Tf.$emit("page.delete",e.model),Tf.$emit("page.update"),Ff.success("@deleteoverlay.success","@deleteoverlay.page_success_text")):n.errors(e.errors)}))}))},buildActions(){this.actions=[];var e=this;let n=localStorage.getItem("zero.last-page."+zero.appId);n&&Mf.getById(n).then((n=>{this.actions.push({alias:"continue",icon:"fth-corner-down-right",tokens:{page:n.entity.name},action(){e.$router.push({name:"page",params:{id:n.entity.id}})}})})),this.actions.push({alias:"new",icon:"fth-plus",tokens:{root:"Home"},action(){e.create()}}),this.actions.push({alias:"history",icon:"fth-clock",action(){Ff.error("Not implemented","Page editing history has not been implemented yet")}})}}};var tA=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"page-container"},[t("div",{directives:[{name:"resizable",rawName:"v-resizable",value:e.resizable,expression:"resizable"}],staticClass:"app-tree"},[t("ui-tree",{ref:"tree",attrs:{get:e.getItems,config:e.treeConfig,active:e.id,header:"Pages"},scopedSlots:e._u([{key:"actions",fn:function(n){return[n.item&&"recyclebin"===n.id?e._e():[t("ui-dropdown-button",{attrs:{label:"@ui.create",icon:"fth-plus"},on:{click:function(t){return e.create(n.item)}}}),e._v(" "),n.item?t("ui-dropdown-button",{attrs:{label:"@ui.move.title",icon:"fth-corner-down-right"},on:{click:function(t){return e.move(n.item)}}}):e._e(),e._v(" "),n.item?t("ui-dropdown-button",{attrs:{label:"@ui.copy.title",icon:"fth-copy"},on:{click:function(t){return e.copy(n.item)}}}):e._e(),e._v(" "),t("ui-dropdown-button",{attrs:{label:"@ui.sort.title",icon:"fth-arrow-down"},on:{click:function(t){return e.sort(n.item)}}}),e._v(" "),n.item?t("ui-dropdown-separator"):e._e(),e._v(" "),n.item?t("ui-dropdown-button",{attrs:{label:"@ui.delete",icon:"fth-trash"},on:{click:function(t){return e.remove(n.item)}}}):e._e()]]}}])}),e._v(" "),t("div",{staticClass:"app-tree-resizable ui-resizable"})],1),e._v(" "),e.isOverview?e._e():t("router-view"),e._v(" "),e.isOverview?t("div",{staticClass:"page-overview"},e._l(e.actions,(function(n){return t("button",{key:n.alias,staticClass:"page-overview-action",attrs:{type:"button"},on:{click:function(e){return n.action(n)}}},[t("i",{staticClass:"page-overview-action-icon",class:n.icon}),e._v(" "),t("p",{staticClass:"page-overview-action-text"},[t("strong",{directives:[{name:"localize",rawName:"v-localize",value:"@page.overview.actions."+n.alias,expression:"'@page.overview.actions.' + action.alias"}]}),e._v(" "),t("br"),e._v(" "),t("span",{directives:[{name:"localize",rawName:"v-localize",value:{key:"@page.overview.actions."+n.alias+"_text",tokens:n.tokens},expression:"{ key: '@page.overview.actions.' + action.alias + '_text', tokens: action.tokens }"}]})])])})),0):e._e()],1)};tA._withStripped=!0;const rA=Da({render:tA,staticRenderFns:[]},(function(e){e&&e("data-v-968a1bae_0",{source:".page-container {\n display: grid;\n grid-template-columns: auto 1fr;\n gap: 2px;\n justify-content: stretch;\n height: 100vh;\n}\n.page-overview {\n display: flex;\n flex-direction: column;\n margin-left: 80px;\n padding-top: 115px;\n}\n.page-overview-action {\n color: var(--color-text);\n font-size: var(--font-size);\n display: grid;\n grid-template-columns: auto 1fr;\n gap: 35px;\n align-items: center;\n}\n.page-overview-action + .page-overview-action {\n margin-top: var(--padding);\n}\n.page-overview-action-icon {\n width: 90px;\n height: 90px;\n line-height: 89px !important;\n font-size: 22px;\n text-align: center;\n background: var(--color-box);\n border-radius: var(--radius);\n box-shadow: var(--shadow-short);\n}\n.page-overview-action-text {\n line-height: 1.3;\n color: var(--color-text-dim);\n}\n.page-overview-action-text strong {\n display: inline-block;\n margin-bottom: 8px;\n color: var(--color-text);\n font-size: var(--font-size-l);\n}\n\n/*# sourceMappingURL=pages.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\pages\\pages\\pages.vue","pages.vue"],names:[],mappings:"AA8QA;EAEA,aAAA;EACA,+BAAA;EACA,QAAA;EACA,wBAAA;EACA,aAAA;AC9QA;ADkRA;EAEA,aAAA;EACA,sBAAA;EACA,iBAAA;EACA,kBAAA;AChRA;ADmRA;EAEA,wBAAA;EACA,2BAAA;EACA,aAAA;EACA,+BAAA;EACA,SAAA;EACA,mBAAA;ACjRA;ADmRA;EAEA,0BAAA;AClRA;ADsRA;EAEA,WAAA;EACA,YAAA;EACA,4BAAA;EACA,eAAA;EACA,kBAAA;EACA,4BAAA;EACA,4BAAA;EACA,+BAAA;ACpRA;ADuRA;EAEA,gBAAA;EACA,4BAAA;ACrRA;ADuRA;EAEA,qBAAA;EACA,kBAAA;EACA,wBAAA;EACA,6BAAA;ACtRA;;AAEA,oCAAoC",file:"pages.vue",sourcesContent:["\ufeff<template>\r\n <div class=\"page-container\">\r\n <div class=\"app-tree\" v-resizable=\"resizable\">\r\n <ui-tree ref=\"tree\" :get=\"getItems\" :config=\"treeConfig\" :active=\"id\" header=\"Pages\">\r\n <template v-slot:actions=\"props\">\r\n <template v-if=\"!props.item || props.id !== 'recyclebin'\">\r\n <ui-dropdown-button label=\"@ui.create\" icon=\"fth-plus\" @click=\"create(props.item)\" />\r\n <ui-dropdown-button v-if=\"props.item\" label=\"@ui.move.title\" icon=\"fth-corner-down-right\" @click=\"move(props.item)\" />\r\n <ui-dropdown-button v-if=\"props.item\" label=\"@ui.copy.title\" icon=\"fth-copy\" @click=\"copy(props.item)\" />\r\n <ui-dropdown-button label=\"@ui.sort.title\" icon=\"fth-arrow-down\" @click=\"sort(props.item)\" />\r\n <ui-dropdown-separator v-if=\"props.item\" />\r\n <ui-dropdown-button v-if=\"props.item\" label=\"@ui.delete\" icon=\"fth-trash\" @click=\"remove(props.item)\" />\r\n </template>\r\n </template>\r\n </ui-tree>\r\n <div class=\"app-tree-resizable ui-resizable\"></div>\r\n </div>\r\n\r\n <router-view v-if=\"!isOverview\"></router-view>\r\n\r\n <div v-if=\"isOverview\" class=\"page-overview\">\r\n <button type=\"button\" @click=\"action.action(action)\" v-for=\"action in actions\" :key=\"action.alias\" class=\"page-overview-action\">\r\n <i class=\"page-overview-action-icon\" :class=\"action.icon\" />\r\n <p class=\"page-overview-action-text\">\r\n <strong v-localize=\"'@page.overview.actions.' + action.alias\"></strong>\r\n <br>\r\n <span v-localize=\"{ key: '@page.overview.actions.' + action.alias + '_text', tokens: action.tokens }\"></span>\r\n </p>\r\n </button>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import PageTreeApi from 'zero/api/page-tree.js'\r\n import PagesApi from 'zero/api/pages.js'\r\n import Overlay from 'zero/helpers/overlay.js'\r\n import CreateOverlay from './overlays/create.vue'\r\n import SortOverlay from './overlays/sort.vue'\r\n import MoveOverlay from './overlays/move.vue'\r\n import CopyOverlay from './overlays/copy.vue'\r\n import EventHub from 'zero/helpers/eventhub.js'\r\n import Notification from 'zero/helpers/notification.js'\r\n import Strings from 'zero/helpers/strings.js';\r\n\r\n export default {\r\n\r\n data: () => ({\r\n page: true,\r\n cache: {},\r\n resizable: {\r\n axis: 'x',\r\n min: 260,\r\n max: 520,\r\n save: 'page-tree',\r\n handle: '.ui-resizable'\r\n },\r\n actions: [],\r\n treeConfig: {\r\n\r\n }\r\n }),\r\n\r\n\r\n computed: {\r\n id()\r\n {\r\n return this.$route.params.id;\r\n },\r\n isOverview()\r\n {\r\n return !this.$route.params.id && !this.$route.params.type && this.$route.name !== 'recyclebin';\r\n }\r\n },\r\n \r\n\r\n mounted()\r\n {\r\n this.buildActions();\r\n EventHub.$off('page.update');\r\n EventHub.$on('page.update', page =>\r\n {\r\n this.cache = [];\r\n this.$refs.tree.refresh();\r\n });\r\n },\r\n\r\n\r\n methods: {\r\n\r\n getItems(parent)\r\n {\r\n const key = !parent ? '__root' : parent;\r\n\r\n if (this.cache[key])\r\n {\r\n return Promise.resolve(this.cache[key]);\r\n }\r\n\r\n return PageTreeApi.getChildren(parent, this.id).then(response =>\r\n {\r\n response.forEach(item =>\r\n {\r\n item.url = {\r\n name: 'page',\r\n params: { id: item.id }\r\n };\r\n\r\n if (item.id === \"recyclebin\")\r\n {\r\n item.hasActions = false;\r\n item.url = {\r\n name: 'recyclebin'\r\n };\r\n }\r\n });\r\n this.cache[key] = response;\r\n return response;\r\n });\r\n },\r\n\r\n\r\n // opens dialog for creating a new page\r\n create(parent)\r\n {\r\n Overlay.open({\r\n component: CreateOverlay,\r\n width: 520,\r\n parent: parent\r\n }).then(() =>\r\n {\r\n\r\n }, () =>\r\n {\r\n \r\n });\r\n },\r\n\r\n\r\n sort(item)\r\n {\r\n return Overlay.open({\r\n component: SortOverlay,\r\n display: 'editor',\r\n model: item\r\n }).then(value =>\r\n {\r\n EventHub.$emit('page.sort', value);\r\n EventHub.$emit('page.update');\r\n });\r\n },\r\n\r\n\r\n move(item)\r\n {\r\n return Overlay.open({\r\n component: MoveOverlay,\r\n display: 'editor',\r\n model: item\r\n }).then(value =>\r\n {\r\n EventHub.$emit('page.move', value);\r\n EventHub.$emit('page.update');\r\n });\r\n },\r\n\r\n\r\n copy(item)\r\n {\r\n console.info(item);\r\n return Overlay.open({\r\n component: CopyOverlay,\r\n display: 'editor',\r\n model: item\r\n }).then(value =>\r\n {\r\n EventHub.$emit('page.update');\r\n this.$router.push({\r\n name: 'page',\r\n params: { id: value.id }\r\n });\r\n });\r\n },\r\n\r\n\r\n remove(item)\r\n {\r\n Overlay.confirmDelete(item.name, '@deleteoverlay.page_text').then(opts =>\r\n {\r\n opts.state('loading');\r\n\r\n PagesApi.delete(item.id).then(response =>\r\n {\r\n if (response.success)\r\n {\r\n opts.state('success');\r\n opts.hide();\r\n EventHub.$emit('page.delete', response.model);\r\n EventHub.$emit('page.update');\r\n Notification.success('@deleteoverlay.success', '@deleteoverlay.page_success_text');\r\n }\r\n else\r\n {\r\n opts.errors(response.errors);\r\n }\r\n });\r\n });\r\n },\r\n\r\n\r\n buildActions()\r\n {\r\n this.actions = [];\r\n\r\n var instance = this;\r\n\r\n let lastEditedPageId = localStorage.getItem('zero.last-page.' + zero.appId);\r\n\r\n if (lastEditedPageId)\r\n {\r\n PagesApi.getById(lastEditedPageId).then(res =>\r\n {\r\n this.actions.push({\r\n alias: 'continue',\r\n icon: 'fth-corner-down-right',\r\n tokens: {\r\n page: res.entity.name\r\n },\r\n action()\r\n {\r\n instance.$router.push({\r\n name: 'page',\r\n params: { id: res.entity.id }\r\n });\r\n }\r\n });\r\n });\r\n }\r\n\r\n\r\n this.actions.push({\r\n alias: 'new',\r\n icon: 'fth-plus',\r\n tokens: {\r\n root: 'Home'\r\n },\r\n action()\r\n {\r\n instance.create();\r\n }\r\n });\r\n\r\n this.actions.push({\r\n alias: 'history',\r\n icon: 'fth-clock',\r\n action()\r\n {\r\n Notification.error('Not implemented', 'Page editing history has not been implemented yet');\r\n }\r\n });\r\n\r\n \r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n\r\n<style lang=\"scss\">\r\n .page-container\r\n {\r\n display: grid;\r\n grid-template-columns: auto 1fr;\r\n gap: 2px;\r\n justify-content: stretch;\r\n height: 100vh;\r\n }\r\n\r\n\r\n .page-overview\r\n {\r\n display: flex;\r\n flex-direction: column;\r\n margin-left: 80px;\r\n padding-top: 115px;\r\n }\r\n\r\n .page-overview-action\r\n {\r\n color: var(--color-text);\r\n font-size: var(--font-size);\r\n display: grid;\r\n grid-template-columns: auto 1fr;\r\n gap: 35px;\r\n align-items: center;\r\n\r\n & + .page-overview-action\r\n {\r\n margin-top: var(--padding);\r\n }\r\n }\r\n\r\n .page-overview-action-icon\r\n {\r\n width: 90px;\r\n height: 90px;\r\n line-height: 89px !important;\r\n font-size: 22px;\r\n text-align: center;\r\n background: var(--color-box);\r\n border-radius: var(--radius);\r\n box-shadow: var(--shadow-short);\r\n }\r\n\r\n .page-overview-action-text\r\n {\r\n line-height: 1.3;\r\n color: var(--color-text-dim);\r\n\r\n strong\r\n {\r\n display: inline-block;\r\n margin-bottom: 8px;\r\n color: var(--color-text);\r\n font-size: var(--font-size-l);\r\n }\r\n }\r\n</style>",".page-container {\n display: grid;\n grid-template-columns: auto 1fr;\n gap: 2px;\n justify-content: stretch;\n height: 100vh;\n}\n\n.page-overview {\n display: flex;\n flex-direction: column;\n margin-left: 80px;\n padding-top: 115px;\n}\n\n.page-overview-action {\n color: var(--color-text);\n font-size: var(--font-size);\n display: grid;\n grid-template-columns: auto 1fr;\n gap: 35px;\n align-items: center;\n}\n.page-overview-action + .page-overview-action {\n margin-top: var(--padding);\n}\n\n.page-overview-action-icon {\n width: 90px;\n height: 90px;\n line-height: 89px !important;\n font-size: 22px;\n text-align: center;\n background: var(--color-box);\n border-radius: var(--radius);\n box-shadow: var(--shadow-short);\n}\n\n.page-overview-action-text {\n line-height: 1.3;\n color: var(--color-text-dim);\n}\n.page-overview-action-text strong {\n display: inline-block;\n margin-bottom: 8px;\n color: var(--color-text);\n font-size: var(--font-size-l);\n}\n\n/*# sourceMappingURL=pages.vue.map */"]},media:void 0})}),nA,undefined,false,undefined,!1,Iu,void 0,void 0),iA="recycleBin/";var oA=async e=>await il(iA+"getByQuery",{params:e}),aA=async e=>await il(iA+"getCountByOperation",{params:{operationId:e}}),sA=async e=>await al(iA+"delete",{params:{id:e}}),lA=async e=>await al(iA+"deleteByGroup",{params:{group:e}});const cA={props:{isCopy:{type:Boolean,default:!1},model:Object,config:Object},data:()=>({state:"default",operationCount:0}),mounted(){aA(this.model.operationId).then((e=>{this.operationCount=e}))},methods:{restore(e){this.state="loading",Mf.restore(this.model.id,e).then((e=>{e.success?(this.state="success",this.config.confirm(e.model)):this.state="error"}))},delete(){this.state="loading",sA(this.model.id).then((e=>{e.success?(this.state="success",e.model.deleted=!0,this.config.confirm(e.model)):this.state="error"}))}}};var dA=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("ui-overlay-editor",{staticClass:"pages-recyclebin-actions",scopedSlots:e._u([{key:"header",fn:function(){return[t("ui-header-bar",{attrs:{title:e.model.name,"back-button":!1,"close-button":!0}})]},proxy:!0},{key:"footer",fn:function(){return[t("ui-button",{attrs:{type:"light onbg",label:"@ui.close"},on:{click:e.config.hide}})]},proxy:!0}])},[e._v(" "),e._v(" "),t("button",{staticClass:"pages-recyclebin-action",on:{click:function(n){return e.restore(!1)}}},[t("i",{staticClass:"pages-recyclebin-action-icon fth-rotate-ccw"}),e._v(" "),t("p",{staticClass:"pages-recyclebin-action-text"},[t("strong",[e._v("Restore page")]),e._v(" "),t("span",[e._v("Moves this page back into the page tree.")])])]),e._v(" "),e.model.operationId?t("button",{staticClass:"pages-recyclebin-action",on:{click:function(n){return e.restore(!0)}}},[t("i",{staticClass:"pages-recyclebin-action-icon fth-zap"}),e._v(" "),t("p",{staticClass:"pages-recyclebin-action-text"},[t("strong",[e._v("Undo operation")]),e._v(" "),t("span",[e._v("Restores all "+e._s(e.operationCount)+" pages from the affected operation.")])])]):e._e(),e._v(" "),t("button",{staticClass:"pages-recyclebin-action"},[t("i",{staticClass:"pages-recyclebin-action-icon fth-trash is-negative"}),e._v(" "),t("p",{staticClass:"pages-recyclebin-action-text"},[t("strong",[e._v("Delete page...")]),e._v(" "),t("span",[e._v("Remove this recycled page forever.")])])])])};dA._withStripped=!0;const uA=Da({render:dA,staticRenderFns:[]},(function(e){e&&e("data-v-2bad9c40_0",{source:".pages-recyclebin-action {\n display: grid;\n grid-template-columns: auto 1fr;\n gap: var(--padding);\n align-items: center;\n width: 100%;\n background: var(--color-box);\n box-shadow: var(--shadow-short);\n border-radius: var(--radius);\n padding: 16px;\n}\n.pages-recyclebin-action + .pages-recyclebin-action {\n margin-top: 16px;\n}\n.pages-recyclebin-action-text {\n margin: 16px 0;\n line-height: 1.5;\n}\n.pages-recyclebin-action-text strong {\n display: block;\n margin-bottom: 5px;\n}\n.pages-recyclebin-action-text span {\n color: var(--color-text-dim);\n}\n.pages-recyclebin-action-icon {\n font-size: 18px;\n margin-right: -6px;\n align-self: stretch;\n background: var(--color-box-nested);\n padding: 10px;\n width: 50px;\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: var(--radius);\n color: var(--color-text);\n}\n.pages-recyclebin-action-icon.is-negative {\n color: var(--color-accent-error);\n}\n.pages-recyclebin-actions content {\n padding-top: 0;\n}\n\n/*# sourceMappingURL=recyclebin-actions.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\pages\\pages\\recyclebin\\recyclebin-actions.vue","recyclebin-actions.vue"],names:[],mappings:"AA6GA;EAEA,aAAA;EACA,+BAAA;EACA,mBAAA;EACA,mBAAA;EACA,WAAA;EACA,4BAAA;EACA,+BAAA;EACA,4BAAA;EACA,aAAA;AC7GA;AD+GA;EAEA,gBAAA;AC9GA;ADkHA;EAEA,cAAA;EACA,gBAAA;AChHA;ADkHA;EAEA,cAAA;EACA,kBAAA;ACjHA;ADoHA;EAEA,4BAAA;ACnHA;ADuHA;EAEA,eAAA;EACA,kBAAA;EACA,mBAAA;EACA,mCAAA;EACA,aAAA;EACA,WAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,4BAAA;EACA,wBAAA;ACrHA;ADuHA;EAEA,gCAAA;ACtHA;AD0HA;EAEA,cAAA;ACxHA;;AAEA,iDAAiD",file:"recyclebin-actions.vue",sourcesContent:['\ufeff<template>\r\n <ui-overlay-editor class="pages-recyclebin-actions">\r\n <template v-slot:header>\r\n <ui-header-bar :title="model.name" :back-button="false" :close-button="true" />\r\n </template>\r\n <template v-slot:footer>\r\n <ui-button type="light onbg" label="@ui.close" @click="config.hide"></ui-button>\r\n </template>\r\n\r\n <button class="pages-recyclebin-action" @click="restore(false)">\r\n <i class="pages-recyclebin-action-icon fth-rotate-ccw"></i>\r\n <p class="pages-recyclebin-action-text">\r\n <strong>Restore page</strong>\r\n <span>Moves this page back into the page tree.</span>\r\n </p>\r\n </button>\r\n\r\n <button class="pages-recyclebin-action" v-if="model.operationId" @click="restore(true)">\r\n <i class="pages-recyclebin-action-icon fth-zap"></i>\r\n <p class="pages-recyclebin-action-text">\r\n <strong>Undo operation</strong>\r\n <span>Restores all {{operationCount}} pages from the affected operation.</span>\r\n </p>\r\n </button>\r\n\r\n <button class="pages-recyclebin-action">\r\n <i class="pages-recyclebin-action-icon fth-trash is-negative"></i>\r\n <p class="pages-recyclebin-action-text">\r\n <strong>Delete page...</strong>\r\n <span>Remove this recycled page forever.</span>\r\n </p>\r\n </button>\r\n </ui-overlay-editor>\r\n</template>\r\n\r\n\r\n<script>\r\n import RecycleBinApi from \'zero/api/recycle-bin.js\'\r\n import PagesApi from \'zero/api/pages.js\';\r\n\r\n export default {\r\n\r\n props: {\r\n isCopy: {\r\n type: Boolean,\r\n default: false\r\n },\r\n model: Object,\r\n config: Object\r\n },\r\n\r\n data: () => ({\r\n state: \'default\',\r\n operationCount: 0\r\n }),\r\n\r\n\r\n mounted()\r\n {\r\n RecycleBinApi.getCountByOperation(this.model.operationId).then(count =>\r\n {\r\n this.operationCount = count;\r\n });\r\n },\r\n\r\n\r\n methods: {\r\n\r\n restore(includeDescendants)\r\n {\r\n this.state = \'loading\';\r\n\r\n PagesApi.restore(this.model.id, includeDescendants).then(res =>\r\n {\r\n if (res.success)\r\n {\r\n this.state = \'success\';\r\n this.config.confirm(res.model);\r\n }\r\n else\r\n {\r\n this.state = \'error\';\r\n }\r\n });\r\n },\r\n\r\n delete()\r\n {\r\n this.state = \'loading\';\r\n\r\n RecycleBinApi.delete(this.model.id).then(res =>\r\n {\r\n if (res.success)\r\n {\r\n this.state = \'success\';\r\n res.model.deleted = true;\r\n this.config.confirm(res.model);\r\n }\r\n else\r\n {\r\n this.state = \'error\';\r\n }\r\n });\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .pages-recyclebin-action\r\n {\r\n display: grid;\r\n grid-template-columns: auto 1fr;\r\n gap: var(--padding);\r\n align-items: center;\r\n width: 100%;\r\n background: var(--color-box);\r\n box-shadow: var(--shadow-short);\r\n border-radius: var(--radius);\r\n padding: 16px;\r\n\r\n & + .pages-recyclebin-action\r\n {\r\n margin-top: 16px;\r\n }\r\n }\r\n\r\n .pages-recyclebin-action-text\r\n {\r\n margin: 16px 0;\r\n line-height: 1.5;\r\n\r\n strong\r\n {\r\n display: block;\r\n margin-bottom: 5px;\r\n }\r\n\r\n span\r\n {\r\n color: var(--color-text-dim);\r\n }\r\n }\r\n\r\n .pages-recyclebin-action-icon\r\n {\r\n font-size: 18px;\r\n margin-right: -6px;\r\n align-self: stretch;\r\n background: var(--color-box-nested);\r\n padding: 10px;\r\n width: 50px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n border-radius: var(--radius);\r\n color: var(--color-text);\r\n\r\n &.is-negative\r\n {\r\n color: var(--color-accent-error);\r\n }\r\n }\r\n\r\n .pages-recyclebin-actions content\r\n {\r\n padding-top: 0;\r\n }\r\n</style>',".pages-recyclebin-action {\n display: grid;\n grid-template-columns: auto 1fr;\n gap: var(--padding);\n align-items: center;\n width: 100%;\n background: var(--color-box);\n box-shadow: var(--shadow-short);\n border-radius: var(--radius);\n padding: 16px;\n}\n.pages-recyclebin-action + .pages-recyclebin-action {\n margin-top: 16px;\n}\n\n.pages-recyclebin-action-text {\n margin: 16px 0;\n line-height: 1.5;\n}\n.pages-recyclebin-action-text strong {\n display: block;\n margin-bottom: 5px;\n}\n.pages-recyclebin-action-text span {\n color: var(--color-text-dim);\n}\n\n.pages-recyclebin-action-icon {\n font-size: 18px;\n margin-right: -6px;\n align-self: stretch;\n background: var(--color-box-nested);\n padding: 10px;\n width: 50px;\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: var(--radius);\n color: var(--color-text);\n}\n.pages-recyclebin-action-icon.is-negative {\n color: var(--color-accent-error);\n}\n\n.pages-recyclebin-actions content {\n padding-top: 0;\n}\n\n/*# sourceMappingURL=recyclebin-actions.vue.map */"]},media:void 0})}),cA,undefined,false,undefined,!1,Iu,void 0,void 0);const pA={data:()=>({count:0,tableConfig:{}}),created(){this.tableConfig={labelPrefix:"@recyclebin.fields.",allowOrder:!1,search:null,columns:{name:{label:"@ui.name",as:"text",action:e=>this.actions(e)},originalId:{as:"text",width:300},createdDate:{as:"datetime",width:200}},items:e=>(e.group="pages",oA(e))}},methods:{actions(e){return Uu.open({component:uA,display:"editor",model:e}).then((n=>{!!n.deleted?this.$refs.table.update():(Tf.$emit("page.update"),this.$router.push({name:"page",params:{id:e.originalId}}))}))},purge(){Uu.confirmDelete().then((e=>{e.state("loading"),lA("pages").then((n=>{e.state("success"),e.hide(),this.$refs.table.update()}))}))}}};var fA=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"pages-recyclebin"},[t("ui-header-bar",{attrs:{title:"@recyclebin.name",count:e.count,"back-button":!0}},[t("ui-table-filter",{model:{value:e.tableConfig,callback:function(n){e.tableConfig=n},expression:"tableConfig"}}),e._v(" "),t("ui-button",{attrs:{type:"light onbg",label:"@recyclebin.purge"},on:{click:e.purge}})],1),e._v(" "),t("div",{staticClass:"ui-blank-box"},[t("ui-table",{ref:"table",on:{count:function(n){e.count=n}},model:{value:e.tableConfig,callback:function(n){e.tableConfig=n},expression:"tableConfig"}})],1)],1)};fA._withStripped=!0;const AA=Da({render:fA,staticRenderFns:[]},undefined,pA,undefined,false,undefined,!1,void 0,void 0,void 0),hA=__zero.alias.sections.pages,mA=__zero.sections.find((e=>e.alias===hA));var gA=mA?[{name:mA.alias,path:mA.url,component:rA,meta:{name:mA.name,alias:mA.alias,section:mA},children:[{name:"page",path:"edit/:id",section:hA,props:!0,component:Vf},{name:"page-create",path:"create/:type/:parent?",section:hA,props:!0,component:Vf},{name:"recyclebin",path:"recyclebin",section:hA,component:AA,meta:{name:"@recyclebin.name"}}]}]:[];const vA={props:["id"],components:{UiEditor:Ou},data:()=>({meta:{},model:{},route:"media-edit",disabled:!1}),methods:{onLoad(e){e.load(this.id?kp.getById(this.id):kp.getEmpty()).then((e=>{this.disabled=!e.meta.canEdit,this.meta=e.meta,this.model=e.entity}))},onSubmit(e){e.handle(kp.save(this.model))},onDelete(e,n){n.hide(),this.$refs.form.onDelete(kp.delete.bind(this,this.id))}}};var bA=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("ui-form",{ref:"form",staticClass:"mediaitem",attrs:{route:e.route},on:{submit:e.onSubmit,load:e.onLoad},scopedSlots:e._u([{key:"default",fn:function(n){return[t("ui-form-header",{attrs:{title:"@media.name",disabled:e.disabled,"is-create":!e.id,state:n.state,"can-delete":e.meta.canDelete},on:{delete:e.onDelete},model:{value:e.model,callback:function(n){e.model=n},expression:"model"}}),e._v(" "),t("ui-editor",{attrs:{config:"media",meta:e.meta,"active-toggle":!1,disabled:e.disabled},scopedSlots:e._u([{key:"infos-more",fn:function(){return[e.model.imageMeta?t("ui-property",{attrs:{label:"@media.fields.date","is-text":!0}},[t("ui-date",{model:{value:e.model.imageMeta.createdDate,callback:function(n){e.$set(e.model.imageMeta,"createdDate",n)},expression:"model.imageMeta.createdDate"}})],1):e._e(),e._v(" "),t("ui-property",{attrs:{label:"@media.fields.size","is-text":!0}},[t("span",{directives:[{name:"filesize",rawName:"v-filesize",value:e.model.size,expression:"model.size"}]})])]},proxy:!0},e.model.imageMeta?{key:"infos-after",fn:function(){return[t("div",{staticClass:"ui-box"},[e.model.imageMeta.width?t("ui-property",{attrs:{label:"@media.fields.dimension","is-text":!0}},[e._v("\n "+e._s(e.model.imageMeta.width)+" × "+e._s(e.model.imageMeta.height)+"\n ")]):e._e(),e._v(" "),0!=e.model.imageMeta.dpi?t("ui-property",{attrs:{label:"@media.fields.dpi","is-text":!0}},[e._v("\n "+e._s(e.model.imageMeta.dpi)+"\n ")]):e._e(),e._v(" "),e.model.imageMeta.colorSpace?t("ui-property",{attrs:{label:"@media.fields.colorSpace","is-text":!0}},[e._v("\n "+e._s(e.model.imageMeta.colorSpace)+"\n ")]):e._e(),e._v(" "),e.model.imageMeta.frames>1?t("ui-property",{attrs:{label:"@media.fields.frames","is-text":!0}},[e._v("\n "+e._s(e.model.imageMeta.frames)+"\n ")]):e._e()],1)]},proxy:!0}:null],null,!0),model:{value:e.model,callback:function(n){e.model=n},expression:"model"}})]}}])})};bA._withStripped=!0;const yA=Da({render:bA,staticRenderFns:[]},(function(e){e&&e("data-v-62805ffa_0",{source:".country .country-flag-input {\n max-width: 80px;\n}\n\n/*# sourceMappingURL=detail.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\pages\\media\\detail.vue","detail.vue"],names:[],mappings:"AA+EA;EAEA,eAAA;AC/EA;;AAEA,qCAAqC",file:"detail.vue",sourcesContent:['\ufeff<template>\r\n <ui-form ref="form" class="mediaitem" v-slot="form" @submit="onSubmit" @load="onLoad" :route="route">\r\n <ui-form-header v-model="model" title="@media.name" :disabled="disabled" :is-create="!id" :state="form.state" :can-delete="meta.canDelete" @delete="onDelete" />\r\n <ui-editor config="media" v-model="model" :meta="meta" :active-toggle="false" :disabled="disabled">\r\n <template v-slot:infos-more>\r\n <ui-property v-if="model.imageMeta" label="@media.fields.date" :is-text="true">\r\n <ui-date v-model="model.imageMeta.createdDate" />\r\n </ui-property>\r\n <ui-property label="@media.fields.size" :is-text="true">\r\n <span v-filesize="model.size"></span>\r\n </ui-property>\r\n </template>\r\n <template v-slot:infos-after v-if="model.imageMeta">\r\n <div class="ui-box">\r\n <ui-property v-if="model.imageMeta.width" label="@media.fields.dimension" :is-text="true">\r\n {{model.imageMeta.width}} × {{model.imageMeta.height}}\r\n </ui-property>\r\n <ui-property v-if="model.imageMeta.dpi != 0" label="@media.fields.dpi" :is-text="true">\r\n {{model.imageMeta.dpi}}\r\n </ui-property>\r\n <ui-property v-if="model.imageMeta.colorSpace" label="@media.fields.colorSpace" :is-text="true">\r\n {{model.imageMeta.colorSpace}}\r\n </ui-property>\r\n <ui-property v-if="model.imageMeta.frames > 1" label="@media.fields.frames" :is-text="true">\r\n {{model.imageMeta.frames}}\r\n </ui-property>\r\n </div>\r\n </template>\r\n </ui-editor>\r\n </ui-form>\r\n</template>\r\n\r\n\r\n<script>\r\n import MediaApi from \'zero/api/media.js\';\r\n import UiEditor from \'zero/editor/editor.vue\';\r\n\r\n export default {\r\n props: [\'id\'],\r\n\r\n components: { UiEditor },\r\n\r\n data: () => ({\r\n meta: {},\r\n model: { },\r\n route: \'media-edit\',\r\n disabled: false\r\n }),\r\n\r\n methods: {\r\n\r\n onLoad(form)\r\n {\r\n form.load(!this.id ? MediaApi.getEmpty() : MediaApi.getById(this.id)).then(response =>\r\n {\r\n this.disabled = !response.meta.canEdit;\r\n this.meta = response.meta;\r\n this.model = response.entity;\r\n });\r\n },\r\n\r\n\r\n onSubmit(form)\r\n {\r\n form.handle(MediaApi.save(this.model));\r\n },\r\n\r\n\r\n onDelete(item, opts)\r\n {\r\n opts.hide();\r\n this.$refs.form.onDelete(MediaApi.delete.bind(this, this.id));\r\n } \r\n }\r\n }\r\n<\/script>\r\n\r\n\r\n<style lang="scss">\r\n .country .country-flag-input\r\n {\r\n max-width: 80px;\r\n }\r\n</style>',".country .country-flag-input {\n max-width: 80px;\n}\n\n/*# sourceMappingURL=detail.vue.map */"]},media:void 0})}),vA,undefined,false,undefined,!1,Iu,void 0,void 0);var CA={...ll("mediaFolder/"),getHierarchy:async e=>await il("mediaFolder/getHierarchy",{params:{id:e}}),getAllAsTree:async(e,n)=>await il("mediaFolder/getAllAsTree",{params:{parent:e,active:n}}),move:async(e,n)=>await ol("mediaFolder/move",{id:e,destinationId:n})};const EA={props:{model:Object,config:Object},data:()=>({loading:!1,item:{},disabled:!1}),methods:{onLoad(e){e.load(this.model.id?CA.getById(this.model.id):CA.getEmpty()).then((e=>{this.disabled=!1,
//!response.canEdit;
this.item=e.entity,this.item.parentId=this.model.parentId,this.loading=!1}))},onSubmit(e){e.handle(CA.save(this.item)).then((e=>{this.config.confirm(e,this.config)}))},onDelete(){this.config.confirm({deleted:!0})}}};var xA=function(){var e=this,n=e.$createElement,t=e._self._c||n;return e.loading?e._e():t("ui-form",{ref:"form",staticClass:"mediafolder",on:{submit:e.onSubmit,load:e.onLoad},scopedSlots:e._u([{key:"default",fn:function(n){return[t("h2",{directives:[{name:"localize",rawName:"v-localize",value:e.model.id?"@media.editfolder":"@media.addfolder",expression:"model.id ? '@media.editfolder' : '@media.addfolder'"}],staticClass:"ui-headline"}),e._v(" "),t("div",{staticClass:"mediafolder-items"},[t("ui-property",{attrs:{required:!0}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.item.name,expression:"item.name"},{name:"localize",rawName:"v-localize:placeholder",value:"@media.fields.foldername_placeholder",expression:"'@media.fields.foldername_placeholder'",arg:"placeholder"}],staticClass:"ui-input",attrs:{type:"text",maxlength:"80",disabled:e.disabled},domProps:{value:e.item.name},on:{input:function(n){n.target.composing||e.$set(e.item,"name",n.target.value)}}}),e._v(" "),t("ui-error",{attrs:{"catch-all":!0}})],1)],1),e._v(" "),t("div",{staticClass:"app-confirm-buttons"},[e.disabled?e._e():t("ui-button",{attrs:{type:"primary",submit:!0,state:n.state,label:e.model.id?"@ui.save":"@ui.create"}}),e._v(" "),t("ui-button",{attrs:{type:"light",label:e.config.closeLabel,disabled:e.loading},on:{click:e.config.close}}),e._v(" "),!e.disabled&&e.model.id?t("ui-button",{staticStyle:{float:"right"},attrs:{type:"light",label:"@ui.delete"},on:{click:e.onDelete}}):e._e()],1)]}}],null,!1,860416889)})};xA._withStripped=!0;const wA=Da({render:xA,staticRenderFns:[]},(function(e){e&&e("data-v-09e8d18e_0",{source:".mediafolder {\n text-align: left;\n}\n.mediafolder-items {\n margin-top: var(--padding);\n}\n\n/*# sourceMappingURL=folder.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\pages\\media\\overlays\\folder.vue","folder.vue"],names:[],mappings:"AAkEA;EAEA,gBAAA;AClEA;ADqEA;EAEA,0BAAA;ACnEA;;AAEA,qCAAqC",file:"folder.vue",sourcesContent:['\ufeff<template>\r\n <ui-form v-if="!loading" ref="form" class="mediafolder" v-slot="form" @submit="onSubmit" @load="onLoad">\r\n <h2 class="ui-headline" v-localize="model.id ? \'@media.editfolder\' : \'@media.addfolder\'"></h2>\r\n <div class="mediafolder-items">\r\n <ui-property :required="true">\r\n <input v-model="item.name" type="text" class="ui-input" maxlength="80" v-localize:placeholder="\'@media.fields.foldername_placeholder\'" :disabled="disabled" />\r\n <ui-error :catch-all="true" />\r\n </ui-property>\r\n </div>\r\n <div class="app-confirm-buttons">\r\n <ui-button type="primary" v-if="!disabled" :submit="true" :state="form.state" :label="model.id ? \'@ui.save\' : \'@ui.create\'"></ui-button>\r\n <ui-button type="light" :label="config.closeLabel" :disabled="loading" @click="config.close"></ui-button>\r\n <ui-button v-if="!disabled && model.id" type="light" label="@ui.delete" @click="onDelete" style="float:right;"></ui-button>\r\n </div>\r\n </ui-form>\r\n</template>\r\n\r\n\r\n<script>\r\n import MediaFolderApi from \'zero/api/media-folder.js\';\r\n import Overlay from \'zero/helpers/overlay.js\';\r\n\r\n export default {\r\n\r\n props: {\r\n model: Object,\r\n config: Object\r\n },\r\n\r\n data: () => ({\r\n loading: false,\r\n item: {},\r\n disabled: false\r\n }),\r\n\r\n methods: {\r\n\r\n onLoad(form)\r\n {\r\n form.load(!this.model.id ? MediaFolderApi.getEmpty() : MediaFolderApi.getById(this.model.id)).then(response =>\r\n {\r\n this.disabled = false; //!response.canEdit;\r\n this.item = response.entity;\r\n this.item.parentId = this.model.parentId;\r\n this.loading = false;\r\n });\r\n },\r\n\r\n\r\n onSubmit(form)\r\n {\r\n form.handle(MediaFolderApi.save(this.item)).then(response =>\r\n {\r\n this.config.confirm(response, this.config);\r\n });\r\n },\r\n\r\n onDelete()\r\n {\r\n this.config.confirm({ deleted: true });\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .mediafolder\r\n {\r\n text-align: left;\r\n }\r\n\r\n .mediafolder-items\r\n {\r\n margin-top: var(--padding);\r\n }\r\n</style>',".mediafolder {\n text-align: left;\n}\n\n.mediafolder-items {\n margin-top: var(--padding);\n}\n\n/*# sourceMappingURL=folder.vue.map */"]},media:void 0})}),EA,undefined,false,undefined,!1,Iu,void 0,void 0);const kA={props:{model:Object,config:Object},data:()=>({items:[],selected:null,state:"default",cache:{},prevItem:null,selected:null}),mounted(){this.selected=this.model},methods:{onSelect(e){e.isSelected=!0,this.prevItem&&this.prevItem.id!=e.id&&(this.prevItem.isSelected=!1),this.prevItem=e,this.selected=e},getItems(e){const n=e||"__root";return this.cache[n]?Promise.resolve(this.cache[n]):CA.getAllAsTree(e).then((t=>(e||t.splice(0,0,{id:null,parentId:null,sort:0,name:"@page.root",icon:"fth-arrow-down-circle",isOpen:!1,modifier:null,hasChildren:!1,childCount:0,isInactive:!1,hasActions:!1}),t.forEach((e=>{e.isSelected=this.model.parentId==e.id,e.isSelected&&(this.prevItem=e),e.disabled="recyclebin"===e.id||e.id==this.model.id,e.hasActions=!1})),this.cache[n]=t,t)))},onSave(){this.model.parentId!=this.selected.id?(this.state="loading",(this.config.isFolder?CA:kp).move(this.model.id,this.selected.id).then((e=>{e.success?(this.state="success",this.config.confirm(e.model)):(this.state="error",Ff.error(e.errors[0].message))}))):this.config.close()}}};var _A=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("ui-overlay-editor",{staticClass:"pages-move",scopedSlots:e._u([{key:"header",fn:function(){return[t("ui-header-bar",{attrs:{title:"@ui.move.title","back-button":!1,"close-button":!0}})]},proxy:!0},{key:"footer",fn:function(){return[t("ui-button",{attrs:{type:"light onbg",label:"@ui.close"},on:{click:e.config.hide}}),e._v(" "),t("ui-button",{attrs:{type:"primary",label:"@ui.move.action",state:e.state},on:{click:e.onSave}})]},proxy:!0}])},[e._v(" "),e._v(" "),t("p",{directives:[{name:"localize",rawName:"v-localize:html",value:{key:"@ui.move.text",tokens:{name:e.model.name}},expression:"{ key: '@ui.move.text', tokens: { name: model.name } }",arg:"html"}],staticClass:"pages-move-text"}),e._v(" "),t("div",{staticClass:"ui-box pages-move-items"},[t("ui-tree",{ref:"tree",attrs:{get:e.getItems},on:{select:e.onSelect}})],1)])};_A._withStripped=!0;const SA=Da({render:_A,staticRenderFns:[]},(function(e){e&&e("data-v-03e3c67f_0",{source:'@charset "UTF-8";\n.pages-move .ui-box {\n margin: 0;\n padding: 16px 0;\n}\n.pages-move .ui-box .ui-tree-item.is-disabled {\n opacity: 0.5;\n}\n.pages-move .ui-box .ui-tree-item.is-selected, .pages-move .ui-box .ui-tree-item:hover:not(.is-disabled) {\n background: var(--color-tree-selected);\n}\n.pages-move .ui-box .ui-tree-item.is-selected:after {\n font-family: "Feather";\n content: "";\n font-size: 16px;\n color: var(--color-primary);\n}\n.pages-move .ui-box .ui-tree-item.is-selected .ui-tree-item-text {\n font-weight: bold;\n}\n.pages-move content {\n padding-top: 0;\n}\n.pages-move-text {\n margin: 0 0 20px;\n}\n\n/*# sourceMappingURL=move.vue.map */',map:{version:3,sources:["move.vue","O:\\zero\\zero.Web.UI\\app\\pages\\media\\overlays\\move.vue"],names:[],mappings:"AAAA,gBAAgB;ACyIhB;EAEA,SAAA;EACA,eAAA;ADxIA;AC0IA;EAEA,YAAA;ADzIA;AC4IA;EAEA,sCAAA;AD3IA;ACgJA;EAEA,sBAAA;EACA,YAAA;EACA,eAAA;EACA,2BAAA;AD/IA;ACkJA;EAEA,iBAAA;ADjJA;ACsJA;EAEA,cAAA;ADpJA;ACuJA;EAEA,gBAAA;ADrJA;;AAEA,mCAAmC",file:"move.vue",sourcesContent:['@charset "UTF-8";\n.pages-move .ui-box {\n margin: 0;\n padding: 16px 0;\n}\n.pages-move .ui-box .ui-tree-item.is-disabled {\n opacity: 0.5;\n}\n.pages-move .ui-box .ui-tree-item.is-selected, .pages-move .ui-box .ui-tree-item:hover:not(.is-disabled) {\n background: var(--color-tree-selected);\n}\n.pages-move .ui-box .ui-tree-item.is-selected:after {\n font-family: "Feather";\n content: "";\n font-size: 16px;\n color: var(--color-primary);\n}\n.pages-move .ui-box .ui-tree-item.is-selected .ui-tree-item-text {\n font-weight: bold;\n}\n\n.pages-move content {\n padding-top: 0;\n}\n\n.pages-move-text {\n margin: 0 0 20px;\n}\n\n/*# sourceMappingURL=move.vue.map */','\ufeff<template>\r\n <ui-overlay-editor class="pages-move">\r\n <template v-slot:header>\r\n <ui-header-bar title="@ui.move.title" :back-button="false" :close-button="true" />\r\n </template>\r\n <template v-slot:footer>\r\n <ui-button type="light onbg" label="@ui.close" @click="config.hide" />\r\n <ui-button type="primary" label="@ui.move.action" @click="onSave" :state="state" />\r\n </template>\r\n\r\n <p class="pages-move-text" v-localize:html="{ key: \'@ui.move.text\', tokens: { name: model.name } }"></p>\r\n <div class="ui-box pages-move-items">\r\n <ui-tree ref="tree" :get="getItems" @select="onSelect" />\r\n </div>\r\n </ui-overlay-editor>\r\n</template>\r\n\r\n\r\n<script>\r\n import MediaFolderApi from \'zero/api/media-folder.js\';\r\n import MediaApi from \'zero/api/media.js\';\r\n import Notification from \'zero/helpers/notification.js\'\r\n\r\n export default {\r\n\r\n props: {\r\n model: Object,\r\n config: Object\r\n },\r\n\r\n data: () => ({\r\n items: [],\r\n selected: null,\r\n state: \'default\',\r\n cache: {},\r\n prevItem: null,\r\n selected: null\r\n }),\r\n\r\n\r\n mounted()\r\n {\r\n this.selected = this.model;\r\n },\r\n\r\n\r\n methods: {\r\n\r\n onSelect(item)\r\n {\r\n item.isSelected = true;\r\n\r\n if (this.prevItem && this.prevItem.id != item.id)\r\n {\r\n this.prevItem.isSelected = false;\r\n }\r\n\r\n this.prevItem = item;\r\n this.selected = item;\r\n //this.config.confirm(item);\r\n },\r\n\r\n getItems(parent)\r\n {\r\n const key = !parent ? \'__root\' : parent;\r\n\r\n if (this.cache[key])\r\n {\r\n return Promise.resolve(this.cache[key]);\r\n }\r\n\r\n return MediaFolderApi.getAllAsTree(parent).then(response =>\r\n {\r\n if (!parent)\r\n {\r\n response.splice(0, 0, {\r\n id: null,\r\n parentId: null,\r\n sort: 0,\r\n name: \'@page.root\',\r\n icon: \'fth-arrow-down-circle\',\r\n isOpen: false,\r\n modifier:\tnull,\r\n hasChildren: false,\r\n childCount: 0,\r\n isInactive: false,\r\n hasActions: false\r\n });\r\n }\r\n\r\n response.forEach(item =>\r\n {\r\n //item.disabled = true;\r\n item.isSelected = this.model.parentId == item.id;\r\n\r\n if (item.isSelected)\r\n {\r\n this.prevItem = item;\r\n }\r\n item.disabled = item.id === \'recyclebin\' || item.id == this.model.id;\r\n item.hasActions = false;\r\n });\r\n\r\n this.cache[key] = response;\r\n return response;\r\n });\r\n },\r\n\r\n onSave()\r\n {\r\n if (this.model.parentId == this.selected.id)\r\n {\r\n this.config.close();\r\n return;\r\n }\r\n\r\n this.state = \'loading\';\r\n\r\n (this.config.isFolder ? MediaFolderApi : MediaApi).move(this.model.id, this.selected.id).then(res =>\r\n {\r\n if (res.success)\r\n {\r\n this.state = \'success\';\r\n this.config.confirm(res.model);\r\n }\r\n else\r\n {\r\n this.state = \'error\';\r\n Notification.error(res.errors[0].message);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .pages-move .ui-box\r\n {\r\n margin: 0;\r\n padding: 16px 0;\r\n\r\n .ui-tree-item.is-disabled\r\n {\r\n opacity: .5;\r\n }\r\n\r\n .ui-tree-item.is-selected, .ui-tree-item:hover:not(.is-disabled)\r\n {\r\n background: var(--color-tree-selected);\r\n }\r\n\r\n .ui-tree-item.is-selected\r\n {\r\n &:after\r\n {\r\n font-family: "Feather";\r\n content: "\\e83e";\r\n font-size: 16px;\r\n color: var(--color-primary);\r\n }\r\n \r\n .ui-tree-item-text\r\n {\r\n font-weight: bold;\r\n }\r\n }\r\n }\r\n\r\n .pages-move content\r\n {\r\n padding-top: 0;\r\n }\r\n\r\n .pages-move-text\r\n {\r\n margin: 0 0 20px;\r\n }\r\n</style>']},media:void 0})}),kA,undefined,false,undefined,!1,Iu,void 0,void 0);const DA={props:{model:Object,config:Object},data:()=>({loading:!1}),computed:{disabled(){return this.config.disabled},isCreate(){return this.config.isCreate}},methods:{onSubmit(){this.config.confirm(this.model)},onDelete(){this.config.confirm({deletionRequested:!0})}}};var BA=function(){var e=this,n=e.$createElement,t=e._self._c||n;return e.loading?e._e():t("ui-form",{ref:"form",staticClass:"ui-media-overlay",on:{submit:e.onSubmit},scopedSlots:e._u([{key:"default",fn:function(n){return[t("h2",{directives:[{name:"localize",rawName:"v-localize",value:"@media.name",expression:"'@media.name'"}],staticClass:"ui-headline"}),e._v(" "),t("div",{staticClass:"ui-media-overlay-preview"},[e.model.source?t("img",{staticClass:"ui-media-overlay-preview-image",attrs:{src:e.model.source,alt:e.model.name}}):e._e()]),e._v(" "),t("div",{staticClass:"ui-media-overlay-infos ui-split-three"},[t("ui-property",{attrs:{label:"@media.fields.size",vertical:!0,"is-text":!0}},[t("span",{directives:[{name:"filesize",rawName:"v-filesize",value:e.model.size,expression:"model.size"}]})]),e._v(" "),e.model.lastModifiedDate?t("ui-property",{attrs:{label:"@media.fields.date",vertical:!0,"is-text":!0}},[t("ui-date",{model:{value:e.model.lastModifiedDate,callback:function(n){e.$set(e.model,"lastModifiedDate",n)},expression:"model.lastModifiedDate"}})],1):e._e(),e._v(" "),e.model.dimension?t("ui-property",{attrs:{label:"@media.fields.dimension",vertical:!0,"is-text":!0}},[e._v("\n "+e._s(e.model.dimension.width)+" × "+e._s(e.model.dimension.height)+"\n ")]):e._e()],1),e._v(" "),t("div",{staticClass:"ui-media-overlay-fields"},[t("ui-property",{attrs:{label:"@ui.name",required:!0,vertical:!0,"is-text":!0}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.model.name,expression:"model.name"}],staticClass:"ui-input",attrs:{type:"text",maxlength:"160",readonly:!0},domProps:{value:e.model.name},on:{input:function(n){n.target.composing||e.$set(e.model,"name",n.target.value)}}})]),e._v(" "),t("ui-property",{attrs:{label:"@media.fields.alternativeText",vertical:!0}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.model.alternativeText,expression:"model.alternativeText"}],staticClass:"ui-input",attrs:{type:"text",maxlength:"160",readonly:e.disabled},domProps:{value:e.model.alternativeText},on:{input:function(n){n.target.composing||e.$set(e.model,"alternativeText",n.target.value)}}})]),e._v(" "),t("ui-property",{attrs:{label:"@media.fields.caption",vertical:!0}},[t("textarea",{directives:[{name:"model",rawName:"v-model",value:e.model.caption,expression:"model.caption"}],staticClass:"ui-input",attrs:{readonly:e.disabled},domProps:{value:e.model.caption},on:{input:function(n){n.target.composing||e.$set(e.model,"caption",n.target.value)}}})])],1),e._v(" "),t("div",{staticClass:"app-confirm-buttons"},[e.disabled?e._e():t("ui-button",{attrs:{type:"action",submit:!0,state:n.state,label:"@ui.save"}}),e._v(" "),t("ui-button",{attrs:{type:"light",label:e.config.closeLabel,disabled:e.loading},on:{click:e.config.close}}),e._v(" "),e.disabled||e.isCreate?e._e():t("ui-button",{staticStyle:{float:"right"},attrs:{type:"light",label:"@ui.remove"},on:{click:e.onDelete}})],1)]}}],null,!1,2305724610)})};BA._withStripped=!0;const zA=Da({render:BA,staticRenderFns:[]},(function(e){e&&e("data-v-4c1fe3d7_0",{source:".ui-media-overlay {\n text-align: left;\n}\n.ui-media-overlay-preview {\n height: 200px;\n background: var(--color-bg-mid);\n border-radius: var(--radius) var(--radius) 0 0;\n margin-top: var(--padding);\n padding: 10px;\n overflow: hidden;\n}\n.ui-media-overlay-preview-image {\n border-radius: 3px;\n max-width: 100%;\n max-height: 100%;\n margin: auto;\n display: block;\n color: transprent;\n overflow: hidden;\n font-size: 0;\n position: relative;\n z-index: 2;\n}\n.ui-media-overlay-infos {\n background: var(--color-bg-mid);\n border-radius: 0 0 var(--radius) var(--radius);\n padding: 15px 20px;\n}\n.ui-media-overlay-infos .ui-property-content {\n color: var(--color-text-dim);\n}\n.ui-media-overlay-fields {\n margin-top: var(--padding);\n}\n.ui-media-overlay-fields .ui-property + .ui-property, .ui-media-overlay-fields .ui-split + .ui-property {\n margin-top: 0;\n}\n\n/*.translation-items\n{\n margin-top: var(--padding);\n\n .ui-property + .ui-property,\n .ui-split + .ui-property\n {\n margin-top: 0;\n }\n}*/\n\n/*# sourceMappingURL=create.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\pages\\media\\overlays\\create.vue","create.vue"],names:[],mappings:"AAqFA;EAEA,gBAAA;ACrFA;ADwFA;EAEA,aAAA;EACA,+BAAA;EACA,8CAAA;EACA,0BAAA;EACA,aAAA;EACA,gBAAA;ACtFA;ADyFA;EAEA,kBAAA;EACA,eAAA;EACA,gBAAA;EACA,YAAA;EACA,cAAA;EACA,iBAAA;EACA,gBAAA;EACA,YAAA;EACA,kBAAA;EACA,UAAA;ACvFA;AD0FA;EAEA,+BAAA;EACA,8CAAA;EACA,kBAAA;ACxFA;AD0FA;EAEA,4BAAA;ACzFA;AD6FA;EAEA,0BAAA;AC3FA;AD6FA;EAEA,aAAA;AC5FA;;ADgGA;;;;;;;;;EAAA;;ACnFA,qCAAqC",file:"create.vue",sourcesContent:['\ufeff<template>\r\n <ui-form v-if="!loading" ref="form" class="ui-media-overlay" v-slot="form" @submit="onSubmit">\r\n <h2 class="ui-headline" v-localize="\'@media.name\'"></h2>\r\n\r\n <div class="ui-media-overlay-preview">\r\n <img class="ui-media-overlay-preview-image" v-if="model.source" :src="model.source" :alt="model.name" />\r\n </div>\r\n\r\n <div class="ui-media-overlay-infos ui-split-three">\r\n <ui-property label="@media.fields.size" :vertical="true" :is-text="true">\r\n <span v-filesize="model.size"></span>\r\n </ui-property>\r\n <ui-property v-if="model.lastModifiedDate" label="@media.fields.date" :vertical="true" :is-text="true">\r\n <ui-date v-model="model.lastModifiedDate" />\r\n </ui-property>\r\n <ui-property v-if="model.dimension" label="@media.fields.dimension" :vertical="true" :is-text="true">\r\n {{model.dimension.width}} × {{model.dimension.height}}\r\n </ui-property>\r\n </div>\r\n\r\n <div class="ui-media-overlay-fields">\r\n <ui-property label="@ui.name" :required="true" :vertical="true" :is-text="true">\r\n <input v-model="model.name" type="text" class="ui-input" maxlength="160" :readonly="true" />\r\n </ui-property>\r\n <ui-property label="@media.fields.alternativeText" :vertical="true">\r\n <input v-model="model.alternativeText" type="text" class="ui-input" maxlength="160" :readonly="disabled" />\r\n </ui-property>\r\n <ui-property label="@media.fields.caption" :vertical="true">\r\n <textarea v-model="model.caption" class="ui-input" :readonly="disabled"></textarea>\r\n </ui-property>\r\n </div>\r\n\r\n <div class="app-confirm-buttons">\r\n <ui-button v-if="!disabled" type="action" :submit="true" :state="form.state" label="@ui.save"></ui-button>\r\n <ui-button type="light" :label="config.closeLabel" :disabled="loading" @click="config.close"></ui-button>\r\n <ui-button v-if="!disabled && !isCreate" type="light" label="@ui.remove" @click="onDelete" style="float:right;"></ui-button>\r\n </div>\r\n </ui-form>\r\n</template>\r\n\r\n\r\n<script>\r\n import Overlay from \'zero/helpers/overlay.js\';\r\n\r\n export default {\r\n\r\n props: {\r\n model: Object,\r\n config: Object\r\n },\r\n\r\n data: () => ({\r\n loading: false\r\n }),\r\n\r\n computed: {\r\n disabled()\r\n {\r\n return this.config.disabled;\r\n },\r\n isCreate()\r\n {\r\n return this.config.isCreate;\r\n }\r\n },\r\n\r\n methods: {\r\n\r\n onSubmit()\r\n {\r\n this.config.confirm(this.model);\r\n },\r\n\r\n onDelete()\r\n {\r\n this.config.confirm({\r\n deletionRequested: true\r\n });\r\n }\r\n\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .ui-media-overlay\r\n {\r\n text-align: left;\r\n }\r\n\r\n .ui-media-overlay-preview\r\n {\r\n height: 200px;\r\n background: var(--color-bg-mid);\r\n border-radius: var(--radius) var(--radius) 0 0;\r\n margin-top: var(--padding);\r\n padding: 10px;\r\n overflow: hidden;\r\n }\r\n\r\n .ui-media-overlay-preview-image\r\n {\r\n border-radius: 3px;\r\n max-width: 100%;\r\n max-height: 100%;\r\n margin: auto;\r\n display: block;\r\n color: transprent;\r\n overflow: hidden;\r\n font-size: 0;\r\n position: relative;\r\n z-index: 2;\r\n }\r\n\r\n .ui-media-overlay-infos\r\n {\r\n background: var(--color-bg-mid);\r\n border-radius: 0 0 var(--radius) var(--radius);\r\n padding: 15px 20px;\r\n\r\n .ui-property-content\r\n {\r\n color: var(--color-text-dim); \r\n }\r\n }\r\n\r\n .ui-media-overlay-fields\r\n {\r\n margin-top: var(--padding);\r\n\r\n .ui-property + .ui-property, .ui-split + .ui-property\r\n {\r\n margin-top: 0;\r\n }\r\n }\r\n\r\n /*.translation-items\r\n {\r\n margin-top: var(--padding);\r\n\r\n .ui-property + .ui-property,\r\n .ui-split + .ui-property\r\n {\r\n margin-top: 0;\r\n }\r\n }*/\r\n</style>',".ui-media-overlay {\n text-align: left;\n}\n\n.ui-media-overlay-preview {\n height: 200px;\n background: var(--color-bg-mid);\n border-radius: var(--radius) var(--radius) 0 0;\n margin-top: var(--padding);\n padding: 10px;\n overflow: hidden;\n}\n\n.ui-media-overlay-preview-image {\n border-radius: 3px;\n max-width: 100%;\n max-height: 100%;\n margin: auto;\n display: block;\n color: transprent;\n overflow: hidden;\n font-size: 0;\n position: relative;\n z-index: 2;\n}\n\n.ui-media-overlay-infos {\n background: var(--color-bg-mid);\n border-radius: 0 0 var(--radius) var(--radius);\n padding: 15px 20px;\n}\n.ui-media-overlay-infos .ui-property-content {\n color: var(--color-text-dim);\n}\n\n.ui-media-overlay-fields {\n margin-top: var(--padding);\n}\n.ui-media-overlay-fields .ui-property + .ui-property, .ui-media-overlay-fields .ui-split + .ui-property {\n margin-top: 0;\n}\n\n/*.translation-items\n{\n margin-top: var(--padding);\n\n .ui-property + .ui-property,\n .ui-split + .ui-property\n {\n margin-top: 0;\n }\n}*/\n\n/*# sourceMappingURL=create.vue.map */"]},media:void 0})}),DA,undefined,false,undefined,!1,Iu,void 0,void 0);const OA={props:{value:{type:Object,default:()=>{}},selected:{type:Boolean,default:!1}},computed:{link(){return this.shared?{name:"media",query:{scope:"shared"}}:{name:this.value.isFolder?"media":"media-edit",params:{id:this.value.id},query:this.$route.query}},shared(){return"shared"===this.value.id}}};var MA=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("router-link",{staticClass:"media-item",attrs:{to:e.link}},[t("div",{staticClass:"media-item-preview",class:{"media-bg-pattern":e.value.image}},[t("span",{staticClass:"media-item-check"},[t("i",{staticClass:"fth-check"})]),e._v(" "),e.value.image?t("img",{staticClass:"media-item-image",attrs:{src:e.value.image}}):e._e(),e._v(" "),e.value.image?e._e():t("span",{staticClass:"media-item-icon"},[t("i",{class:e.shared?"fth-globe":e.value.isFolder?"fth-folder":"fth-file"})])]),e._v(" "),e.shared?e._e():t("p",{staticClass:"media-item-text"},[t("span",{attrs:{title:e.value.name}},[e._v(e._s(e.value.name))]),e._v(" "),e.value.isFolder?e._e():t("span",{staticClass:"-minor"},[t("br"),t("span",{directives:[{name:"filesize",rawName:"v-filesize",value:e.value.size,expression:"value.size"}]})]),e._v(" "),e.value.isFolder?t("span",{staticClass:"-minor"},[t("br"),t("span",{directives:[{name:"localize",rawName:"v-localize",value:{key:1===e.value.children?"@media.child_count_1":"@media.child_count_x",tokens:{count:e.value.children}},expression:"{ key: value.children === 1 ? '@media.child_count_1' : '@media.child_count_x', tokens: { count: value.children }}"}]})]):e._e()]),e._v(" "),e.shared?t("p",{staticClass:"media-item-text"},[t("span",{attrs:{title:e.value.name}},[e._v("Shared")]),e._v(" "),t("span",{staticClass:"-minor"},[t("br"),e._v("Media for all apps")])]):e._e()])};MA._withStripped=!0;const TA=Da({render:MA,staticRenderFns:[]},(function(e){e&&e("data-v-50d81902_0",{source:'.media-item {\n width: 100%;\n min-height: 80px;\n display: grid;\n grid-template-columns: auto 1fr;\n gap: 16px;\n align-items: center;\n line-height: 1.4;\n color: var(--color-text);\n font-size: var(--font-size);\n border-radius: var(--radius);\n}\n.media-item-preview {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n height: 80px;\n width: 80px;\n background: var(--color-box);\n border-radius: var(--radius);\n overflow: visible !important;\n position: relative;\n text-align: center;\n font-size: 20px;\n box-shadow: var(--shadow-short);\n}\n.media-item-image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n position: relative;\n border-radius: var(--radius);\n z-index: 1;\n}\n.media-item-check {\n display: none;\n justify-content: center;\n align-items: center;\n width: 20px;\n height: 20px;\n border-radius: 20px;\n position: absolute;\n z-index: 2;\n left: -5px;\n top: -5px;\n background: var(--color-primary);\n color: var(--color-primary-text);\n box-shadow: 1px 1px 0 1px var(--color-shadow);\n font-size: 12px;\n}\n.is-selected .media-item-check {\n display: inline-flex;\n}\n.media-item-text {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n margin: 0;\n padding-right: 16px;\n font-weight: bold;\n}\n.media-item-text .-minor {\n font-weight: 400;\n color: var(--color-text-dim);\n}\n.media-bg-pattern {\n position: relative;\n z-index: 0;\n overflow: hidden;\n background: transparent;\n}\n.media-bg-pattern:before {\n content: "";\n position: absolute;\n width: 100%;\n height: 100%;\n left: 0;\n top: 0;\n background-position: 0px 0px, 5px 5px;\n background-size: 10px 10px;\n background-image: linear-gradient(45deg, #aaa 25%, transparent 25%, transparent 75%, #aaa 75%, #aaa 100%), linear-gradient(45deg, #aaa 25%, #ddd 25%, #ddd 75%, #aaa 75%, #aaa 100%);\n}\n\n/*# sourceMappingURL=item.vue.map */',map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\pages\\media\\item.vue","item.vue"],names:[],mappings:"AA8DA;EAEA,WAAA;EACA,gBALA;EAMA,aAAA;EACA,+BAAA;EACA,SAAA;EACA,mBAAA;EACA,gBAAA;EACA,wBAAA;EACA,2BAAA;EACA,4BAAA;AC9DA;ADiEA;EAEA,aAAA;EACA,mBAAA;EACA,uBAAA;EACA,sBAAA;EACA,YAtBA;EAuBA,WAvBA;EAwBA,4BAAA;EACA,4BAAA;EACA,4BAAA;EACA,kBAAA;EACA,kBAAA;EACA,eAAA;EACA,+BAAA;AC/DA;ADkEA;EAEA,WAAA;EACA,YAAA;EACA,iBAAA;EACA,kBAAA;EACA,4BAAA;EACA,UAAA;AChEA;ADmEA;EAEA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,WAAA;EACA,YAAA;EACA,mBAAA;EACA,kBAAA;EACA,UAAA;EACA,UAAA;EACA,SAAA;EACA,gCAAA;EACA,gCAAA;EACA,6CAAA;EACA,eAAA;ACjEA;ADmEA;EAEA,oBAAA;AClEA;ADsEA;EAEA,mBAAA;EACA,gBAAA;EACA,uBAAA;EACA,SAAA;EACA,mBAAA;EACA,iBAAA;ACpEA;ADsEA;EAEA,gBAAA;EACA,4BAAA;ACrEA;ADyEA;EAEA,kBAAA;EACA,UAAA;EACA,gBAAA;EACA,uBAAA;ACvEA;AD6EA;EAEA,WAAA;EACA,kBAAA;EACA,WAAA;EACA,YAAA;EACA,OAAA;EACA,MAAA;EACA,qCAAA;EACA,0BAAA;EACA,oLAAA;AC5EA;;AAEA,mCAAmC",file:"item.vue",sourcesContent:['\ufeff<template>\r\n <router-link :to="link" class="media-item">\r\n <div class="media-item-preview" :class="{\'media-bg-pattern\': value.image }">\r\n <span class="media-item-check"><i class="fth-check"></i></span>\r\n <img class="media-item-image" v-if="value.image" :src="value.image" />\r\n <span class="media-item-icon" v-if="!value.image"><i :class="shared ? \'fth-globe\' : (value.isFolder ? \'fth-folder\' : \'fth-file\')"></i></span>\r\n </div>\r\n <p class="media-item-text" v-if="!shared">\r\n <span :title="value.name">{{value.name}}</span>\r\n <span class="-minor" v-if="!value.isFolder"><br><span v-filesize="value.size"></span></span>\r\n <span class="-minor" v-if="value.isFolder"><br><span v-localize="{ key: value.children === 1 ? \'@media.child_count_1\' : \'@media.child_count_x\', tokens: { count: value.children }}"></span></span>\r\n </p>\r\n <p class="media-item-text" v-if="shared">\r\n <span :title="value.name">Shared</span>\r\n <span class="-minor"><br>Media for all apps</span>\r\n </p>\r\n </router-link>\r\n</template>\r\n\r\n<script>\r\n export default {\r\n props: {\r\n value: {\r\n type: Object,\r\n default: () => { }\r\n },\r\n selected: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n\r\n computed: {\r\n link()\r\n {\r\n if (this.shared)\r\n {\r\n return {\r\n name: \'media\',\r\n query: { scope: \'shared\' }\r\n };\r\n }\r\n\r\n return {\r\n name: this.value.isFolder ? \'media\' : \'media-edit\',\r\n params: {\r\n id: this.value.id\r\n },\r\n query: this.$route.query\r\n };\r\n },\r\n shared()\r\n {\r\n return this.value.id === \'shared\';\r\n }\r\n }\r\n };\r\n<\/script>\r\n\r\n<style lang="scss">\r\n $media-item-size: 80px;\r\n\r\n .media-item\r\n {\r\n width: 100%;\r\n min-height: $media-item-size;\r\n display: grid;\r\n grid-template-columns: auto 1fr;\r\n gap: 16px;\r\n align-items: center;\r\n line-height: 1.4;\r\n color: var(--color-text);\r\n font-size: var(--font-size);\r\n border-radius: var(--radius);\r\n }\r\n\r\n .media-item-preview\r\n {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n flex-direction: column;\r\n height: $media-item-size;\r\n width: $media-item-size;\r\n background: var(--color-box);\r\n border-radius: var(--radius);\r\n overflow: visible !important;\r\n position: relative;\r\n text-align: center;\r\n font-size: 20px;\r\n box-shadow: var(--shadow-short);\r\n }\r\n\r\n .media-item-image\r\n {\r\n width: 100%;\r\n height: 100%;\r\n object-fit: cover;\r\n position: relative;\r\n border-radius: var(--radius);\r\n z-index: 1;\r\n }\r\n\r\n .media-item-check\r\n {\r\n display: none;\r\n justify-content: center;\r\n align-items: center;\r\n width: 20px;\r\n height: 20px;\r\n border-radius: 20px;\r\n position: absolute;\r\n z-index: 2;\r\n left: -5px;\r\n top: -5px;\r\n background: var(--color-primary);\r\n color: var(--color-primary-text);\r\n box-shadow: 1px 1px 0 1px var(--color-shadow);\r\n font-size: 12px;\r\n\r\n .is-selected &\r\n {\r\n display: inline-flex;\r\n }\r\n }\r\n\r\n .media-item-text\r\n {\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n margin: 0;\r\n padding-right: 16px;\r\n font-weight: bold;\r\n\r\n .-minor\r\n {\r\n font-weight: 400;\r\n color: var(--color-text-dim);\r\n }\r\n }\r\n\r\n .media-bg-pattern\r\n {\r\n position: relative;\r\n z-index: 0;\r\n overflow: hidden;\r\n background: transparent;\r\n\r\n $media-pattern-size: 10px;\r\n $media-pattern-color-a: #ddd;\r\n $media-pattern-color-b: #aaa;\r\n\r\n &:before\r\n {\r\n content: \'\';\r\n position: absolute;\r\n width: 100%;\r\n height: 100%;\r\n left: 0;\r\n top: 0;\r\n background-position: 0px 0px, #{$media-pattern-size / 2} #{$media-pattern-size / 2};\r\n background-size: #{$media-pattern-size} #{$media-pattern-size};\r\n background-image: linear-gradient(45deg, #{$media-pattern-color-b} 25%, transparent 25%, transparent 75%, #{$media-pattern-color-b} 75%, #{$media-pattern-color-b} 100%),\r\n linear-gradient(45deg, #{$media-pattern-color-b} 25%, #{$media-pattern-color-a} 25%, #{$media-pattern-color-a} 75%, #{$media-pattern-color-b} 75%, #{$media-pattern-color-b} 100%);\r\n }\r\n }\r\n</style>\r\n','.media-item {\n width: 100%;\n min-height: 80px;\n display: grid;\n grid-template-columns: auto 1fr;\n gap: 16px;\n align-items: center;\n line-height: 1.4;\n color: var(--color-text);\n font-size: var(--font-size);\n border-radius: var(--radius);\n}\n\n.media-item-preview {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n height: 80px;\n width: 80px;\n background: var(--color-box);\n border-radius: var(--radius);\n overflow: visible !important;\n position: relative;\n text-align: center;\n font-size: 20px;\n box-shadow: var(--shadow-short);\n}\n\n.media-item-image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n position: relative;\n border-radius: var(--radius);\n z-index: 1;\n}\n\n.media-item-check {\n display: none;\n justify-content: center;\n align-items: center;\n width: 20px;\n height: 20px;\n border-radius: 20px;\n position: absolute;\n z-index: 2;\n left: -5px;\n top: -5px;\n background: var(--color-primary);\n color: var(--color-primary-text);\n box-shadow: 1px 1px 0 1px var(--color-shadow);\n font-size: 12px;\n}\n.is-selected .media-item-check {\n display: inline-flex;\n}\n\n.media-item-text {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n margin: 0;\n padding-right: 16px;\n font-weight: bold;\n}\n.media-item-text .-minor {\n font-weight: 400;\n color: var(--color-text-dim);\n}\n\n.media-bg-pattern {\n position: relative;\n z-index: 0;\n overflow: hidden;\n background: transparent;\n}\n.media-bg-pattern:before {\n content: "";\n position: absolute;\n width: 100%;\n height: 100%;\n left: 0;\n top: 0;\n background-position: 0px 0px, 5px 5px;\n background-size: 10px 10px;\n background-image: linear-gradient(45deg, #aaa 25%, transparent 25%, transparent 75%, #aaa 75%, #aaa 100%), linear-gradient(45deg, #aaa 25%, #ddd 25%, #ddd 75%, #aaa 75%, #aaa 100%);\n}\n\n/*# sourceMappingURL=item.vue.map */']},media:void 0})}),OA,undefined,false,undefined,!1,Iu,void 0,void 0);const IA={props:{model:FileList,config:Object},data:()=>({loading:!1,items:[]}),mounted(){const e=this.model;if(e&&!(e.length<1)){for(var n=0;n<e.length;n++){let t=e[n];this.items.push({id:"upload:"+jl.guid(),name:t.name,size:t.size,mimeType:t.type,source:null,progress:0,file:t,isImage:!1,success:!1,error:null})}for(n=0;n<this.items.length;n++){let e=this.items[n];kp.upload(e.file,this.config.folderId,(n=>{e.progress=n})).then((n=>{n.success?(e.source=n.model.thumbnailSource||n.model.source,e.isImage="image"===n.model.type,e.success=!0):e.success=!1}))}}},methods:{onSubmit(){}}};var $A=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-media-upload"},[t("h2",{directives:[{name:"localize",rawName:"v-localize",value:"Upload status",expression:"'Upload status'"}],staticClass:"ui-headline"}),e._v(" "),t("div",{staticClass:"ui-media-upload-items"},e._l(e.items,(function(n){return t("button",{staticClass:"ui-media-upload-item",attrs:{type:"button"}},[n.isImage?t("img",{staticClass:"-preview",attrs:{src:n.source}}):e._e(),e._v(" "),n.isImage?e._e():t("span",{staticClass:"-preview"},[t("i",{staticClass:"fth-file"})]),e._v(" "),t("p",{staticClass:"ui-media-upload-item-text"},[e._v("\n "+e._s(n.name)+"\n "),t("span",{staticClass:"-minor"},[t("br"),e._v(" "),n.progress<100&&!n.error&&!n.success?t("span",{staticClass:"ui-media-upload-item-progress"},[t("span",{staticClass:"-inner",style:{width:n.progress+"%"}})]):e._e(),e._v(" "),n.success?t("span",[e._v("Completed")]):e._e()])])])})),0),e._v(" "),t("div",{staticClass:"app-confirm-buttons"},[t("ui-button",{attrs:{type:"light",label:e.config.closeLabel,disabled:e.loading},on:{click:e.config.close}})],1)])};$A._withStripped=!0;const NA=Da({render:$A,staticRenderFns:[]},(function(e){e&&e("data-v-84b9b41c_0",{source:".ui-media-upload {\n text-align: left;\n}\n.ui-media-upload {\n /*height: 200px;\n background: var(--color-bg-mid);\n border-radius: var(--radius) var(--radius) 0 0;\n margin-top: var(--padding);\n padding: 10px;\n overflow: hidden;*/\n}\n.ui-media-upload-items {\n margin-top: 25px;\n max-height: 495px;\n overflow-y: auto;\n}\n.ui-media-upload-item {\n width: 100%;\n height: 70px;\n display: grid;\n grid-template-columns: 70px 1fr;\n gap: 15px;\n align-items: center;\n line-height: 1.4;\n /*&.is-upload .-preview\n {\n background: var(--color-primary);\n color: var(--color-primary-text);\n }*/\n}\n.ui-media-upload-item + .ui-media-upload-item {\n margin-top: 15px;\n}\n.ui-media-upload-item .-preview {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n height: 70px;\n width: 70px;\n object-fit: cover;\n background: var(--color-bg-mid);\n border-radius: var(--radius);\n position: relative;\n text-align: center;\n font-size: 22px;\n}\n.ui-media-upload-item .-extension {\n font-size: 12px;\n font-style: normal;\n margin-top: 8px;\n}\n.ui-media-upload-item .-minor {\n color: var(--color-text-light);\n font-size: var(--font-size-s);\n}\n.ui-media-upload-item-progress {\n display: block;\n width: 50%;\n height: 8px;\n margin-top: 6px;\n border-radius: 2px;\n background: var(--color-bg-mid);\n position: relative;\n}\n.ui-media-upload-item-progress .-inner {\n position: absolute;\n left: 0;\n top: 0;\n height: 100%;\n border-radius: 2px;\n background: var(--color-primary);\n}\n\n/*# sourceMappingURL=upload-status.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\pages\\media\\overlays\\upload-status.vue","upload-status.vue"],names:[],mappings:"AA8GA;EAEA,gBAAA;AC9GA;ADiHA;EAEA;;;;;oBAAA;AC1GA;ADkHA;EAEA,gBAAA;EACA,iBAAA;EACA,gBAAA;AChHA;ADmHA;EAEA,WAAA;EACA,YAAA;EACA,aAAA;EACA,+BAAA;EACA,SAAA;EACA,mBAAA;EACA,gBAAA;EAuBA;;;;IAAA;ACnIA;AD8GA;EAEA,gBAAA;AC7GA;ADgHA;EAEA,aAAA;EACA,mBAAA;EACA,uBAAA;EACA,sBAAA;EACA,YAAA;EACA,WAAA;EACA,iBAAA;EACA,+BAAA;EACA,4BAAA;EACA,kBAAA;EACA,kBAAA;EACA,eAAA;AC/GA;ADwHA;EAEA,eAAA;EACA,kBAAA;EACA,eAAA;ACvHA;AD0HA;EAEA,8BAAA;EACA,6BAAA;ACzHA;AD6HA;EAEA,cAAA;EACA,UAAA;EACA,WAAA;EACA,eAAA;EACA,kBAAA;EACA,+BAAA;EACA,kBAAA;AC3HA;AD6HA;EAEA,kBAAA;EACA,OAAA;EACA,MAAA;EACA,YAAA;EACA,kBAAA;EACA,gCAAA;AC5HA;;AAEA,4CAA4C",file:"upload-status.vue",sourcesContent:['\ufeff<template>\r\n <div class="ui-media-upload">\r\n <h2 class="ui-headline" v-localize="\'Upload status\'"></h2>\r\n\r\n <div class="ui-media-upload-items">\r\n <button type="button" v-for="item in items" class="ui-media-upload-item">\r\n <img class="-preview" v-if="item.isImage" :src="item.source" />\r\n <span class="-preview" v-if="!item.isImage"><i class="fth-file"></i></span>\r\n <p class="ui-media-upload-item-text">\r\n {{item.name}}\r\n <span class="-minor">\r\n <br>\r\n <span v-if="item.progress < 100 && !item.error && !item.success" class="ui-media-upload-item-progress">\r\n <span class="-inner" :style="{ width: item.progress + \'%\' }"></span>\r\n </span>\r\n <span v-if="item.success">Completed</span>\r\n </span>\r\n </p>\r\n </button>\r\n </div>\r\n\r\n <div class="app-confirm-buttons">\r\n \x3c!--<ui-button v-if="!disabled" type="action" :submit="true" label="@ui.save"></ui-button>--\x3e\r\n <ui-button type="light" :label="config.closeLabel" :disabled="loading" @click="config.close"></ui-button>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import MediaApi from \'zero/api/media.js\'\r\n import Strings from \'zero/helpers/strings.js\';\r\n\r\n export default {\r\n\r\n props: {\r\n model: FileList,\r\n config: Object\r\n },\r\n\r\n data: () => ({\r\n loading: false,\r\n items: []\r\n }),\r\n\r\n\r\n mounted()\r\n {\r\n const files = this.model;\r\n let items = [];\r\n\r\n if (!files || files.length < 1)\r\n {\r\n return;\r\n }\r\n\r\n for (var i = 0; i < files.length; i++)\r\n {\r\n let file = files[i];\r\n\r\n this.items.push({\r\n id: \'upload:\' + Strings.guid(),\r\n name: file.name,\r\n size: file.size,\r\n mimeType: file.type,\r\n source: null,\r\n progress: 0,\r\n file: file,\r\n isImage: false,\r\n success: false,\r\n error: null\r\n });\r\n }\r\n\r\n\r\n for (var i = 0; i < this.items.length; i++)\r\n {\r\n let item = this.items[i];\r\n\r\n MediaApi.upload(item.file, this.config.folderId, progress =>\r\n {\r\n item.progress = progress;\r\n }).then(res =>\r\n {\r\n if (res.success)\r\n {\r\n item.source = res.model.thumbnailSource || res.model.source;\r\n item.isImage = res.model.type === \'image\';\r\n item.success = true;\r\n }\r\n else\r\n {\r\n item.success = false;\r\n // TODO output error\r\n }\r\n });\r\n }\r\n },\r\n\r\n methods: {\r\n\r\n onSubmit()\r\n {\r\n \r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .ui-media-upload\r\n {\r\n text-align: left;\r\n }\r\n\r\n .ui-media-upload\r\n {\r\n /*height: 200px;\r\n background: var(--color-bg-mid);\r\n border-radius: var(--radius) var(--radius) 0 0;\r\n margin-top: var(--padding);\r\n padding: 10px;\r\n overflow: hidden;*/\r\n }\r\n\r\n .ui-media-upload-items\r\n {\r\n margin-top: 25px;\r\n max-height: 495px;\r\n overflow-y: auto;\r\n }\r\n\r\n .ui-media-upload-item\r\n {\r\n width: 100%;\r\n height: 70px;\r\n display: grid;\r\n grid-template-columns: 70px 1fr;\r\n gap: 15px;\r\n align-items: center;\r\n line-height: 1.4;\r\n\r\n & + .ui-media-upload-item\r\n {\r\n margin-top: 15px;\r\n }\r\n\r\n .-preview\r\n {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n flex-direction: column;\r\n height: 70px;\r\n width: 70px;\r\n object-fit: cover;\r\n background: var(--color-bg-mid);\r\n border-radius: var(--radius);\r\n position: relative;\r\n text-align: center;\r\n font-size: 22px;\r\n }\r\n\r\n /*&.is-upload .-preview\r\n {\r\n background: var(--color-primary);\r\n color: var(--color-primary-text);\r\n }*/\r\n\r\n .-extension\r\n {\r\n font-size: 12px;\r\n font-style: normal;\r\n margin-top: 8px;\r\n }\r\n\r\n .-minor\r\n {\r\n color: var(--color-text-light);\r\n font-size: var(--font-size-s);\r\n }\r\n }\r\n\r\n .ui-media-upload-item-progress\r\n {\r\n display: block;\r\n width: 50%;\r\n height: 8px;\r\n margin-top: 6px;\r\n border-radius: 2px;\r\n background: var(--color-bg-mid);\r\n position: relative;\r\n\r\n .-inner\r\n {\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n height: 100%;\r\n border-radius: 2px;\r\n background: var(--color-primary);\r\n }\r\n }\r\n</style>',".ui-media-upload {\n text-align: left;\n}\n\n.ui-media-upload {\n /*height: 200px;\n background: var(--color-bg-mid);\n border-radius: var(--radius) var(--radius) 0 0;\n margin-top: var(--padding);\n padding: 10px;\n overflow: hidden;*/\n}\n\n.ui-media-upload-items {\n margin-top: 25px;\n max-height: 495px;\n overflow-y: auto;\n}\n\n.ui-media-upload-item {\n width: 100%;\n height: 70px;\n display: grid;\n grid-template-columns: 70px 1fr;\n gap: 15px;\n align-items: center;\n line-height: 1.4;\n /*&.is-upload .-preview\n {\n background: var(--color-primary);\n color: var(--color-primary-text);\n }*/\n}\n.ui-media-upload-item + .ui-media-upload-item {\n margin-top: 15px;\n}\n.ui-media-upload-item .-preview {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n height: 70px;\n width: 70px;\n object-fit: cover;\n background: var(--color-bg-mid);\n border-radius: var(--radius);\n position: relative;\n text-align: center;\n font-size: 22px;\n}\n.ui-media-upload-item .-extension {\n font-size: 12px;\n font-style: normal;\n margin-top: 8px;\n}\n.ui-media-upload-item .-minor {\n color: var(--color-text-light);\n font-size: var(--font-size-s);\n}\n\n.ui-media-upload-item-progress {\n display: block;\n width: 50%;\n height: 8px;\n margin-top: 6px;\n border-radius: 2px;\n background: var(--color-bg-mid);\n position: relative;\n}\n.ui-media-upload-item-progress .-inner {\n position: absolute;\n left: 0;\n top: 0;\n height: 100%;\n border-radius: 2px;\n background: var(--color-primary);\n}\n\n/*# sourceMappingURL=upload-status.vue.map */"]},media:void 0})}),IA,undefined,false,undefined,!1,Iu,void 0,void 0);const RA={props:["id","scope"],data:()=>({count:0,current:null,hierarchy:[],gridConfig:{search:null,width:280,component:TA,selectable:!0},selectedCount:0}),computed:{selectedText(){return this.selectedCount+" selected"},selecting(){return this.selectedCount>0},shared(){return"shared"===this.$route.query.scope}},watch:{search(e){this.$refs.grid.debouncedUpdate()},$route:function(e){this.initialize()}},created(){this.gridConfig.items=this.getItems,this.initialize()},methods:{initialize(){},getItems(e){return e||(e={}),e.search=this.gridConfig.search,e.folderId=this.$route.params.id,e.searchIsGlobal=!0,e.isShared=this.shared,this.getFolderHierarchy(e.folderId,!!e.search),kp.getListByQuery(e).then((e=>Promise.resolve(e)))},getFolderHierarchy(e,n){return e?n?(this.current={id:null,name:"Search results"},void(this.hierarchy=[this.current])):void CA.getHierarchy(e,this.shared).then((e=>{this.hierarchy=e,this.current=e[e.length-1]})):(this.current={id:null,name:"@media.list"},void(this.hierarchy=[this.current]))},goToFolder(e){this.$router.push({name:"media",params:e?{id:e}:{}})},addFolder(e){Uu.open({component:wA,model:{parentId:e},theme:"dark"}).then((e=>this.goToFolder(e.model.id)))},addFile(e){let n={title:"@iconpicker.title",closeLabel:"@ui.close",component:zA,isCreate:!0,model:{folderId:e},theme:"dark",width:520};return Uu.open(n).then((e=>{console.info(e)}),(()=>{}))},onUpload(e){let n={title:"Upload status",closeLabel:"@ui.close",component:NA,isCreate:!0,model:e.target.files,folderId:this.id,theme:"dark",width:520};return Uu.open(n).then((e=>{console.info(e)}),(()=>{}))},onSelected(e){this.selectedCount=e.length},edit(e,n){if(!n)return this.$router.push({name:"media-edit",params:{id:e.id}});Uu.open({component:wA,model:e,theme:"dark"}).then((n=>{if(!0===n.deleted)return this.remove(e,!0);Tf.$emit("media.update"),this.$refs.grid.update()}))},move(e,n){return Uu.open({component:SA,display:"editor",model:e,isFolder:n}).then((e=>{Tf.$emit("page.move",e),Tf.$emit("page.update"),this.$refs.grid.update()}))},remove(e,n){Uu.confirmDelete(e.name,n?"@media.deleteoverlay.folder_text":"@deleteoverlay.text").then((t=>{t.state("loading"),(n?CA:kp).delete(e.id).then((r=>{r.success?(t.state("success"),t.hide(),Tf.$emit("media.delete",r.model),Tf.$emit("media.update"),Ff.success("@deleteoverlay.success",n?"@media.deleteoverlay.folder_success_text":"@deleteoverlay.success_text"),this.$refs.grid.update(),n&&e.id===this.id?this.$router.go(-1):this.$refs.grid.update()):t.errors(r.errors)}))}))}}};var FA=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"media-content"},[t("ui-header-bar",{attrs:{"back-button":!!e.id||e.shared,count:e.count},scopedSlots:e._u([{key:"title",fn:function(){return[t("h2",{staticClass:"ui-header-bar-title"},[e.id?t("router-link",{staticClass:"media-items-hierarchy-item",attrs:{to:{name:"media"}}},[t("i",{staticClass:"fth-home"})]):e._e(),e._v(" "),e._l(e.hierarchy,(function(e,n){return t("router-link",{directives:[{name:"localize",rawName:"v-localize",value:e.name,expression:"item.name"}],key:e.id,staticClass:"media-items-hierarchy-item",attrs:{to:{name:"media",params:{id:e.id}}}})}))],2)]},proxy:!0}])},[e._v(" "),[e.selecting?e._e():t("ui-search",{staticClass:"onbg",model:{value:e.gridConfig.search,callback:function(n){e.$set(e.gridConfig,"search",n)},expression:"gridConfig.search"}}),e._v(" "),e.id&&!e.selecting?t("ui-dropdown",{attrs:{align:"right",disabled:!!e.gridConfig.search},scopedSlots:e._u([{key:"button",fn:function(){return[t("ui-button",{attrs:{type:"light onbg",label:"Folder",caret:"down",disabled:!!e.gridConfig.search}})]},proxy:!0}],null,!1,4071257952)},[e._v(" "),t("ui-dropdown-button",{attrs:{label:"@ui.edit.title",icon:"fth-edit-2"},on:{click:function(n){return e.edit(e.current,!0)}}}),e._v(" "),t("ui-dropdown-button",{attrs:{label:"@ui.move.title",icon:"fth-corner-down-right"},on:{click:function(n){return e.move(e.current,!0)}}}),e._v(" "),t("ui-dropdown-separator"),e._v(" "),t("ui-dropdown-button",{attrs:{label:"@ui.delete",icon:"fth-trash"},on:{click:function(n){return e.remove(e.current,!0)}}})],1):e._e(),e._v(" "),e.selecting?t("ui-dropdown",{attrs:{align:"right"},scopedSlots:e._u([{key:"button",fn:function(){return[t("ui-button",{attrs:{type:"light onbg",label:e.selectedText,caret:"down"}})]},proxy:!0}],null,!1,116557846)}):e._e(),e._v(" "),e.selecting?e._e():t("ui-button",{attrs:{type:"primary",label:"Add folder"},on:{click:function(n){return e.addFolder(e.id)}}}),e._v(" "),e.id&&!e.selecting?t("div",{staticClass:"ui-button has-state type-primary state-default has-icon",attrs:{type:"button"}},[t("span",{directives:[{name:"localize",rawName:"v-localize",value:"Add file",expression:"'Add file'"}],staticClass:"ui-button-text"}),e._v(" "),t("input",{staticClass:"media-item-upload",attrs:{type:"file",multiple:""},on:{change:e.onUpload}})]):e._e()]],2),e._v(" "),t("div",{staticClass:"ui-view-box"},[t("div",{staticClass:"media-items"},[t("ui-datagrid",{ref:"grid",on:{select:e.onSelected,count:function(n){e.count=n}},scopedSlots:e._u([{key:"actions",fn:function(n){return[n.item&&n.item.isFolder?t("ui-dropdown-button",{attrs:{label:"@ui.open.title",icon:"fth-arrow-right"},on:{click:function(t){return e.goToFolder(n.item.id)}}}):e._e(),e._v(" "),t("ui-dropdown-button",{attrs:{label:"@ui.edit.title",icon:"fth-edit-2"},on:{click:function(t){return e.edit(n.item,n.item.isFolder)}}}),e._v(" "),t("ui-dropdown-button",{attrs:{label:"@ui.move.title",icon:"fth-corner-down-right"},on:{click:function(t){return e.move(n.item,n.item.isFolder)}}}),e._v(" "),t("ui-dropdown-button",{attrs:{label:"Select",icon:"fth-check-circle"},on:{click:function(t){return e.$refs.grid.select(n.item)}}}),e._v(" "),t("ui-dropdown-separator"),e._v(" "),t("ui-dropdown-button",{attrs:{label:"@ui.delete",icon:"fth-trash"},on:{click:function(t){return e.remove(n.item,n.item.isFolder)}}})]}}]),model:{value:e.gridConfig,callback:function(n){e.gridConfig=n},expression:"gridConfig"}})],1)])],1)};FA._withStripped=!0;const LA=Da({render:FA,staticRenderFns:[]},(function(e){e&&e("data-v-69835a3d_0",{source:'.media {\n width: 100%;\n height: 100vh;\n overflow-y: auto;\n}\n.media-content {\n height: 100vh;\n overflow-y: auto;\n}\n.media-items .ui-datagrid-items {\n gap: var(--padding);\n}\ninput[type=file].media-item-upload {\n position: absolute;\n height: 100%;\n top: 0;\n left: 0;\n width: 100%;\n z-index: 1;\n bottom: 0;\n opacity: 0.001;\n cursor: pointer;\n}\n.media-items-hierarchy-item {\n font-family: var(--font);\n margin: 0;\n font-size: var(--font-size-l);\n font-weight: 400;\n color: var(--color-text-dim);\n}\n.media-items-hierarchy-item:last-child {\n font-weight: 700;\n color: var(--color-text);\n}\n.media-items-hierarchy-item + .media-items-hierarchy-item:before {\n content: "/";\n margin: 0 0.5em;\n color: var(--color-text-dim);\n font-weight: 400;\n}\n.media-items-hierarchy-item:hover {\n color: var(--color-text);\n}\n\n/*# sourceMappingURL=overview.vue.map */',map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\pages\\media\\overview.vue","overview.vue"],names:[],mappings:"AA0UA;EAEA,WAAA;EACA,aAAA;EACA,gBAAA;AC1UA;AD6UA;EAEA,aAAA;EACA,gBAAA;AC3UA;AD8UA;EAEA,mBAAA;AC5UA;AD+UA;EAEA,kBAAA;EACA,YAAA;EACA,MAAA;EACA,OAAA;EACA,WAAA;EACA,UAAA;EACA,SAAA;EACA,cAAA;EACA,eAAA;AC7UA;ADgVA;EAEA,wBAAA;EACA,SAAA;EACA,6BAAA;EACA,gBAAA;EACA,4BAAA;AC9UA;AD+UA;EAGA,gBAAA;EACA,wBAAA;AC/UA;ADkVA;EAEA,YAAA;EACA,eAAA;EACA,4BAAA;EACA,gBAAA;ACjVA;ADoVA;EAEA,wBAAA;ACnVA;;AAEA,uCAAuC",file:"overview.vue",sourcesContent:['\ufeff<template>\r\n <div class="media-content">\r\n <ui-header-bar :back-button="!!id || shared" :count="count">\r\n <template v-slot:title>\r\n <h2 class="ui-header-bar-title">\r\n <router-link :to="{ name: \'media\' }" class="media-items-hierarchy-item" v-if="!!id"><i class="fth-home"></i></router-link>\r\n <router-link :to="{ name: \'media\', params: { id: item.id } }" v-for="(item, index) in hierarchy" :key="item.id" class="media-items-hierarchy-item" v-localize="item.name"></router-link>\r\n </h2>\r\n </template>\r\n <template>\r\n <ui-search v-if="!selecting" v-model="gridConfig.search" class="onbg" />\r\n <ui-dropdown v-if="!!id && !selecting" align="right" :disabled="!!gridConfig.search">\r\n <template v-slot:button>\r\n <ui-button type="light onbg" label="Folder" caret="down" :disabled="!!gridConfig.search" />\r\n </template>\r\n <ui-dropdown-button label="@ui.edit.title" icon="fth-edit-2" @click="edit(current, true)" />\r\n <ui-dropdown-button label="@ui.move.title" icon="fth-corner-down-right" @click="move(current, true)" />\r\n <ui-dropdown-separator />\r\n <ui-dropdown-button label="@ui.delete" icon="fth-trash" @click="remove(current, true)" />\r\n </ui-dropdown>\r\n <ui-dropdown v-if="selecting" align="right">\r\n <template v-slot:button>\r\n <ui-button type="light onbg" :label="selectedText" caret="down" />\r\n </template>\r\n \x3c!--<slot name="actions"></slot>--\x3e\r\n </ui-dropdown>\r\n <ui-button v-if="!selecting" type="primary" label="Add folder" @click="addFolder(id)" />\r\n <div v-if="!!id && !selecting" type="button" class="ui-button has-state type-primary state-default has-icon">\r\n <span class="ui-button-text" v-localize="\'Add file\'"></span>\r\n <input class="media-item-upload" type="file" multiple @change="onUpload" />\r\n </div>\r\n </template>\r\n </ui-header-bar>\r\n\r\n <div class="ui-view-box">\r\n <div class="media-items">\r\n <ui-datagrid ref="grid" v-model="gridConfig" @select="onSelected" @count="count = $event">\r\n <template v-slot:actions="props">\r\n <ui-dropdown-button v-if="props.item && props.item.isFolder" label="@ui.open.title" icon="fth-arrow-right" @click="goToFolder(props.item.id)" />\r\n <ui-dropdown-button label="@ui.edit.title" icon="fth-edit-2" @click="edit(props.item, props.item.isFolder)" />\r\n <ui-dropdown-button label="@ui.move.title" icon="fth-corner-down-right" @click="move(props.item, props.item.isFolder)" />\r\n <ui-dropdown-button label="Select" icon="fth-check-circle" @click="$refs.grid.select(props.item)" />\r\n <ui-dropdown-separator />\r\n <ui-dropdown-button label="@ui.delete" icon="fth-trash" @click="remove(props.item, props.item.isFolder)" />\r\n </template>\r\n </ui-datagrid>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import MediaApi from \'zero/api/media.js\';\r\n import MediaFolderApi from \'zero/api/media-folder.js\';\r\n import Overlay from \'zero/helpers/overlay.js\';\r\n import FolderOverlay from \'./overlays/folder.vue\';\r\n import MoveOverlay from \'./overlays/move.vue\';\r\n import CreateItemOverlay from \'./overlays/create.vue\';\r\n import MediaItem from \'./item.vue\';\r\n import UploadStatusOverlay from \'./overlays/upload-status.vue\';\r\n import EventHub from \'zero/helpers/eventhub.js\';\r\n import Notification from \'zero/helpers/notification.js\';\r\n import { each as _each, extend as _extend, debounce as _debounce, isArray as _isArray } from \'underscore\';\r\n\r\n export default {\r\n\r\n props: [\'id\', \'scope\'],\r\n\r\n data: () => ({\r\n count: 0,\r\n current: null,\r\n hierarchy: [],\r\n gridConfig: {\r\n search: null,\r\n width: 280,\r\n component: MediaItem,\r\n selectable: true\r\n },\r\n selectedCount: 0\r\n }),\r\n\r\n computed: {\r\n selectedText()\r\n {\r\n return this.selectedCount + \' selected\';\r\n },\r\n selecting()\r\n {\r\n return this.selectedCount > 0;\r\n },\r\n shared()\r\n {\r\n return this.$route.query.scope === \'shared\';\r\n }\r\n },\r\n\r\n watch: {\r\n search(value)\r\n {\r\n this.$refs.grid.debouncedUpdate();\r\n },\r\n \'$route\': function (val)\r\n {\r\n this.initialize();\r\n }\r\n },\r\n\r\n created()\r\n {\r\n this.gridConfig.items = this.getItems;\r\n this.initialize();\r\n },\r\n\r\n methods: {\r\n\r\n initialize()\r\n {\r\n //if (!this.scope)\r\n //{\r\n // this.$route.params.scope = \'local\';\r\n // this.$router.replace(this.$route);\r\n //}\r\n },\r\n\r\n // get items (media + subfolders) in the current folder\r\n getItems(query)\r\n {\r\n if (!query)\r\n {\r\n query = {};\r\n }\r\n\r\n query.search = this.gridConfig.search;\r\n query.folderId = this.$route.params.id;\r\n query.searchIsGlobal = true;\r\n query.isShared = this.shared;\r\n\r\n this.getFolderHierarchy(query.folderId, !!query.search);\r\n\r\n return MediaApi.getListByQuery(query).then(response => // .scope(this.shared)\r\n {\r\n return Promise.resolve(response);\r\n });\r\n },\r\n\r\n\r\n getFolderHierarchy(id, isSearch)\r\n {\r\n if (!id)\r\n {\r\n this.current = {\r\n id: null,\r\n name: \'@media.list\'\r\n };\r\n this.hierarchy = [this.current];\r\n return;\r\n }\r\n if (isSearch)\r\n {\r\n this.current = {\r\n id: null,\r\n name: \'Search results\' // TODO translate\r\n };\r\n this.hierarchy = [this.current];\r\n return;\r\n }\r\n\r\n MediaFolderApi.getHierarchy(id, this.shared).then(res =>\r\n {\r\n this.hierarchy = res;\r\n this.current = res[res.length - 1];\r\n });\r\n },\r\n\r\n\r\n // navigate to a folder\r\n goToFolder(id)\r\n {\r\n this.$router.push({\r\n name: \'media\',\r\n params: !id ? {} : { id: id }\r\n });\r\n },\r\n\r\n\r\n // adds a new folder\r\n addFolder(parentId)\r\n {\r\n Overlay.open({\r\n component: FolderOverlay,\r\n model: { parentId },\r\n theme: \'dark\'\r\n }).then(item => this.goToFolder(item.model.id));\r\n },\r\n\r\n\r\n // adds a new file\r\n addFile(folderId)\r\n {\r\n let options = {\r\n title: \'@iconpicker.title\',\r\n closeLabel: \'@ui.close\',\r\n component: CreateItemOverlay,\r\n isCreate: true,\r\n model: {\r\n folderId: folderId\r\n },\r\n theme: \'dark\',\r\n width: 520\r\n };\r\n\r\n return Overlay.open(options).then(value =>\r\n {\r\n console.info(value);\r\n }, () => { });\r\n },\r\n\r\n\r\n onUpload(event)\r\n {\r\n let options = {\r\n title: \'Upload status\',\r\n closeLabel: \'@ui.close\',\r\n component: UploadStatusOverlay,\r\n isCreate: true,\r\n model: event.target.files,\r\n folderId: this.id,\r\n theme: \'dark\',\r\n width: 520\r\n };\r\n\r\n return Overlay.open(options).then(value =>\r\n {\r\n console.info(value);\r\n }, () => { });\r\n },\r\n\r\n\r\n onSelected(items)\r\n {\r\n this.selectedCount = items.length;\r\n },\r\n\r\n\r\n edit(item, isFolder)\r\n {\r\n if (!isFolder)\r\n {\r\n return this.$router.push({\r\n name: \'media-edit\',\r\n params: { id: item.id }\r\n });\r\n }\r\n\r\n Overlay.open({\r\n component: FolderOverlay,\r\n model: item,\r\n theme: \'dark\'\r\n }).then(res =>\r\n {\r\n if (res.deleted === true)\r\n {\r\n return this.remove(item, true);\r\n }\r\n else\r\n {\r\n EventHub.$emit(\'media.update\');\r\n this.$refs.grid.update();\r\n }\r\n });\r\n },\r\n\r\n\r\n move(item, isFolder)\r\n {\r\n return Overlay.open({\r\n component: MoveOverlay,\r\n display: \'editor\',\r\n model: item,\r\n isFolder: isFolder\r\n }).then(value =>\r\n {\r\n EventHub.$emit(\'page.move\', value);\r\n EventHub.$emit(\'page.update\');\r\n this.$refs.grid.update();\r\n });\r\n },\r\n\r\n\r\n remove(item, isFolder)\r\n {\r\n Overlay.confirmDelete(item.name, isFolder ? \'@media.deleteoverlay.folder_text\' : \'@deleteoverlay.text\').then(opts =>\r\n {\r\n opts.state(\'loading\');\r\n\r\n (isFolder ? MediaFolderApi : MediaApi).delete(item.id).then(response =>\r\n {\r\n if (response.success)\r\n {\r\n opts.state(\'success\');\r\n opts.hide();\r\n\r\n EventHub.$emit(\'media.delete\', response.model);\r\n EventHub.$emit(\'media.update\');\r\n\r\n Notification.success(\'@deleteoverlay.success\', isFolder ? \'@media.deleteoverlay.folder_success_text\' : \'@deleteoverlay.success_text\');\r\n this.$refs.grid.update();\r\n\r\n if (isFolder && item.id === this.id)\r\n {\r\n this.$router.go(-1);\r\n }\r\n else\r\n {\r\n this.$refs.grid.update();\r\n }\r\n }\r\n else\r\n {\r\n opts.errors(response.errors);\r\n }\r\n });\r\n });\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .media\r\n {\r\n width: 100%;\r\n height: 100vh;\r\n overflow-y: auto;\r\n }\r\n\r\n .media-content\r\n {\r\n height: 100vh;\r\n overflow-y: auto;\r\n }\r\n\r\n .media-items .ui-datagrid-items\r\n {\r\n gap: var(--padding);\r\n }\r\n\r\n input[type="file"].media-item-upload\r\n {\r\n position: absolute;\r\n height: 100%;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n z-index: 1;\r\n bottom: 0;\r\n opacity: 0.001;\r\n cursor: pointer;\r\n }\r\n\r\n .media-items-hierarchy-item\r\n {\r\n font-family: var(--font);\r\n margin: 0;\r\n font-size: var(--font-size-l);\r\n font-weight: 400;\r\n color: var(--color-text-dim);\r\n &:last-child\r\n\r\n {\r\n font-weight: 700;\r\n color: var(--color-text);\r\n }\r\n\r\n & + .media-items-hierarchy-item:before\r\n {\r\n content: \'/\';\r\n margin: 0 0.5em;\r\n color: var(--color-text-dim);\r\n font-weight: 400;\r\n }\r\n\r\n &:hover\r\n {\r\n color: var(--color-text);\r\n }\r\n }\r\n</style>','.media {\n width: 100%;\n height: 100vh;\n overflow-y: auto;\n}\n\n.media-content {\n height: 100vh;\n overflow-y: auto;\n}\n\n.media-items .ui-datagrid-items {\n gap: var(--padding);\n}\n\ninput[type=file].media-item-upload {\n position: absolute;\n height: 100%;\n top: 0;\n left: 0;\n width: 100%;\n z-index: 1;\n bottom: 0;\n opacity: 0.001;\n cursor: pointer;\n}\n\n.media-items-hierarchy-item {\n font-family: var(--font);\n margin: 0;\n font-size: var(--font-size-l);\n font-weight: 400;\n color: var(--color-text-dim);\n}\n.media-items-hierarchy-item:last-child {\n font-weight: 700;\n color: var(--color-text);\n}\n.media-items-hierarchy-item + .media-items-hierarchy-item:before {\n content: "/";\n margin: 0 0.5em;\n color: var(--color-text-dim);\n font-weight: 400;\n}\n.media-items-hierarchy-item:hover {\n color: var(--color-text);\n}\n\n/*# sourceMappingURL=overview.vue.map */']},media:void 0})}),RA,undefined,false,undefined,!1,Iu,void 0,void 0),PA=__zero.alias.sections.media,jA=__zero.sections.find((e=>e.alias===PA));var YA=jA?[{name:jA.alias,path:jA.url+"/:id?",component:LA,props:!0,meta:{name:jA.name,alias:jA.alias,section:jA}},{name:jA.alias+"-edit",path:jA.url+"/edit/:id",component:yA,props:!0,meta:{name:jA.name,alias:jA.alias,section:jA}}]:[];const UA=__zero.alias.settings.applications;const qA={props:{value:{type:Array,default:()=>[]}},methods:{getAppLink:e=>({name:UA+"-edit",params:{id:e.id},query:{scope:"shared"}}),getStatus:e=>e.isActive?"@ui.active":"@ui.inactive",getAddLink:()=>({name:UA+"-create",query:{scope:"shared"}})}};var HA=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"apps-items"},[e._l(e.value,(function(n){return t("router-link",{key:n.id,staticClass:"apps-item",attrs:{to:e.getAppLink(n)}},[t("strong",{staticClass:"apps-item-name"},[e._v(e._s(n.name))]),e._v(" "),t("span",{staticClass:"apps-item-minor"},[e._v(e._s(n.domains[0]))]),e._v(" "),t("span",{directives:[{name:"localize",rawName:"v-localize",value:e.getStatus(n),expression:"getStatus(app)"}],staticClass:"apps-item-status",class:{"is-active":n.isActive}})])})),e._v(" "),t("router-link",{staticClass:"apps-items-add",attrs:{to:e.getAddLink()}},[t("i",{staticClass:"fth-plus"})])],2)};HA._withStripped=!0;const WA=Da({render:HA,staticRenderFns:[]},(function(e){e&&e("data-v-2f09ddf3_0",{source:".apps-items {\n display: grid;\n gap: var(--padding);\n grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));\n align-items: stretch;\n margin-top: 40px;\n}\na.apps-item {\n display: flex;\n flex-direction: column;\n background: var(--color-box);\n border-radius: var(--radius);\n padding: var(--padding-m);\n text-align: center;\n color: var(--color-text);\n font-size: var(--font-size);\n line-height: 1.5;\n box-shadow: var(--shadow-short);\n}\n.apps-item-minor {\n color: var(--color-text-dim);\n}\n.apps-item-image {\n text-align: center;\n display: inline-block;\n margin: 0 auto var(--padding-m);\n position: relative;\n max-width: 120px;\n max-height: 50px;\n}\n.apps-item-status {\n align-self: center;\n display: inline-block;\n font-size: 9px;\n font-weight: 700;\n margin-top: 15px;\n text-transform: uppercase;\n background: var(--color-box-nested);\n color: var(--color-text);\n height: 22px;\n line-height: 22px;\n padding: 0 10px;\n border-radius: 16px;\n letter-spacing: 0.5px;\n}\n.apps-items-add {\n background: transparent;\n border: 1px dashed var(--color-line-dashed);\n color: var(--color-text);\n border-radius: var(--radius);\n text-align: center;\n display: inline-flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n font-size: 22px;\n width: 60px;\n}\n\n/*# sourceMappingURL=applications-items.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\pages\\settings\\applications-items.vue","applications-items.vue"],names:[],mappings:"AAuDA;EAEA,aAAA;EACA,mBAAA;EACA,4DAAA;EACA,oBAAA;EACA,gBAAA;ACvDA;AD0DA;EAEA,aAAA;EACA,sBAAA;EACA,4BAAA;EACA,4BAAA;EACA,yBAAA;EACA,kBAAA;EACA,wBAAA;EACA,2BAAA;EACA,gBAAA;EACA,+BAAA;ACxDA;AD+DA;EAEA,4BAAA;AC7DA;ADgEA;EAEA,kBAAA;EACA,qBAAA;EACA,+BAAA;EACA,kBAAA;EACA,gBAAA;EACA,gBAAA;AC9DA;ADiEA;EAEA,kBAAA;EACA,qBAAA;EACA,cAAA;EACA,gBAAA;EACA,gBAAA;EACA,yBAAA;EACA,mCAAA;EACA,wBAAA;EACA,YAAA;EACA,iBAAA;EACA,eAAA;EACA,mBAAA;EACA,qBAAA;AC/DA;ADkEA;EAEA,uBAAA;EACA,2CAAA;EACA,wBAAA;EACA,4BAAA;EACA,kBAAA;EACA,oBAAA;EACA,sBAAA;EACA,uBAAA;EACA,mBAAA;EACA,eAAA;EACA,WAAA;AChEA;;AAEA,iDAAiD",file:"applications-items.vue",sourcesContent:['\ufeff<template>\r\n <div class="apps-items">\r\n <router-link v-for="app in value" :key="app.id" :to="getAppLink(app)" class="apps-item">\r\n <strong class="apps-item-name">{{app.name}}</strong>\r\n <span class="apps-item-minor">{{app.domains[0]}}</span>\r\n <span class="apps-item-status" :class="{ \'is-active\': app.isActive }" v-localize="getStatus(app)"></span>\r\n </router-link>\r\n <router-link :to="getAddLink()" class="apps-items-add">\r\n <i class="fth-plus"></i>\r\n </router-link>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n const baseRoute = __zero.alias.settings.applications;\r\n\r\n export default {\r\n props: {\r\n value: {\r\n type: Array,\r\n default: () => []\r\n }\r\n },\r\n\r\n methods: {\r\n\r\n getAppLink(item)\r\n {\r\n return {\r\n name: baseRoute + \'-edit\',\r\n params: { id: item.id },\r\n query: { scope: \'shared\' }\r\n };\r\n },\r\n\r\n getStatus(item)\r\n {\r\n return item.isActive ? \'@ui.active\' : \'@ui.inactive\';\r\n },\r\n\r\n getAddLink()\r\n {\r\n return {\r\n name: baseRoute + \'-create\',\r\n query: { scope: \'shared\' }\r\n };\r\n }\r\n\r\n }\r\n }\r\n<\/script>\r\n\r\n\r\n<style lang="scss">\r\n .apps-items\r\n {\r\n display: grid;\r\n gap: var(--padding);\r\n grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));\r\n align-items: stretch;\r\n margin-top: 40px;\r\n }\r\n\r\n a.apps-item\r\n {\r\n display: flex;\r\n flex-direction: column;\r\n background: var(--color-box);\r\n border-radius: var(--radius);\r\n padding: var(--padding-m);\r\n text-align: center;\r\n color: var(--color-text);\r\n font-size: var(--font-size);\r\n line-height: 1.5;\r\n box-shadow: var(--shadow-short);\r\n }\r\n\r\n .apps-item-name\r\n {\r\n }\r\n\r\n .apps-item-minor\r\n {\r\n color: var(--color-text-dim);\r\n }\r\n\r\n .apps-item-image\r\n {\r\n text-align: center;\r\n display: inline-block;\r\n margin: 0 auto var(--padding-m);\r\n position: relative;\r\n max-width: 120px;\r\n max-height: 50px;\r\n }\r\n\r\n .apps-item-status\r\n {\r\n align-self: center;\r\n display: inline-block;\r\n font-size: 9px;\r\n font-weight: 700;\r\n margin-top: 15px;\r\n text-transform: uppercase;\r\n background: var(--color-box-nested);\r\n color: var(--color-text);\r\n height: 22px;\r\n line-height: 22px;\r\n padding: 0 10px;\r\n border-radius: 16px;\r\n letter-spacing: .5px;\r\n }\r\n\r\n .apps-items-add\r\n {\r\n background: transparent;\r\n border: 1px dashed var(--color-line-dashed);\r\n color: var(--color-text);\r\n border-radius: var(--radius);\r\n text-align: center;\r\n display: inline-flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n font-size: 22px;\r\n width: 60px;\r\n }\r\n</style>',".apps-items {\n display: grid;\n gap: var(--padding);\n grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));\n align-items: stretch;\n margin-top: 40px;\n}\n\na.apps-item {\n display: flex;\n flex-direction: column;\n background: var(--color-box);\n border-radius: var(--radius);\n padding: var(--padding-m);\n text-align: center;\n color: var(--color-text);\n font-size: var(--font-size);\n line-height: 1.5;\n box-shadow: var(--shadow-short);\n}\n\n.apps-item-minor {\n color: var(--color-text-dim);\n}\n\n.apps-item-image {\n text-align: center;\n display: inline-block;\n margin: 0 auto var(--padding-m);\n position: relative;\n max-width: 120px;\n max-height: 50px;\n}\n\n.apps-item-status {\n align-self: center;\n display: inline-block;\n font-size: 9px;\n font-weight: 700;\n margin-top: 15px;\n text-transform: uppercase;\n background: var(--color-box-nested);\n color: var(--color-text);\n height: 22px;\n line-height: 22px;\n padding: 0 10px;\n border-radius: 16px;\n letter-spacing: 0.5px;\n}\n\n.apps-items-add {\n background: transparent;\n border: 1px dashed var(--color-line-dashed);\n color: var(--color-text);\n border-radius: var(--radius);\n text-align: center;\n display: inline-flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n font-size: 22px;\n width: 60px;\n}\n\n/*# sourceMappingURL=applications-items.vue.map */"]},media:void 0})}),qA,undefined,false,undefined,!1,Iu,void 0,void 0);var VA=async()=>await il("settings/getAreas");const JA={name:"app-settings",components:{ApplicationsItems:WA},data:()=>({page:!0,groups:[],apps:[],tokens:{zero_version:zero.version,plugin_count:zero.pluginCount}}),mounted(){VA().then((e=>{this.groups=e.groups,this.apps=e.applications}))}};var KA=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"settings"},[e._e(),e._v(" "),e._l(e.groups,(function(n){return t("div",{staticClass:"settings-group"},[t("h2",{directives:[{name:"localize",rawName:"v-localize",value:n.name,expression:"group.name"}],staticClass:"ui-headline settings-group-headline"}),e._v(" "),t("div",{staticClass:"settings-group-items"},e._l(n.items,(function(n){return t("router-link",{key:n.name,staticClass:"settings-group-item",attrs:{to:n.url||"/"}},[t("i",{staticClass:"settings-group-item-icon",class:n.icon||"fth-settings"}),e._v(" "),t("p",{staticClass:"settings-group-item-text"},[t("strong",{directives:[{name:"localize",rawName:"v-localize",value:n.name,expression:"item.name"}]}),e._v(" "),n.description?[t("br"),e._v("\n "+e._s(e._f("localize")(n.description,{tokens:e.tokens}))+"\n ")]:e._e()],2)])})),1)])})),e._v(" "),t("router-view",{attrs:{name:"footer"}})],2)};KA._withStripped=!0;const GA=Da({render:KA,staticRenderFns:[]},(function(e){e&&e("data-v-f0457f40_0",{source:".settings {\n min-height: 100%;\n position: relative;\n padding: 40px var(--padding);\n width: 100%;\n max-width: 2000px;\n display: grid;\n gap: 80px 40px;\n grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));\n}\n.settings-group-items {\n display: grid;\n gap: 20px;\n grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));\n align-items: stretch;\n margin-top: 40px;\n}\na.settings-group-item {\n color: var(--color-text);\n font-size: var(--font-size);\n display: grid;\n grid-template-columns: auto 1fr;\n gap: 20px;\n align-items: center;\n}\n.settings-group-item-icon {\n width: 60px;\n height: 60px;\n line-height: 59px !important;\n font-size: 18px;\n text-align: center;\n background: var(--color-box);\n border-radius: var(--radius);\n box-shadow: var(--shadow-short);\n}\n.settings-group-item-text {\n line-height: 1.3;\n color: var(--color-text-dim);\n margin: 0;\n}\n.settings-group-item-text strong {\n display: inline-block;\n margin-bottom: 5px;\n color: var(--color-text);\n}\n\n/*# sourceMappingURL=settings.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\pages\\settings\\settings.vue","settings.vue"],names:[],mappings:"AA0DA;EAEA,gBAAA;EACA,kBAAA;EACA,4BAAA;EACA,WAAA;EACA,iBAAA;EACA,aAAA;EACA,cAAA;EACA,4DAAA;AC1DA;AD6DA;EAEA,aAAA;EACA,SAAA;EACA,4DAAA;EACA,oBAAA;EACA,gBAAA;AC3DA;AD8DA;EAEA,wBAAA;EACA,2BAAA;EACA,aAAA;EACA,+BAAA;EACA,SAAA;EACA,mBAAA;AC5DA;AD+DA;EAEA,WAAA;EACA,YAAA;EACA,4BAAA;EACA,eAAA;EACA,kBAAA;EACA,4BAAA;EACA,4BAAA;EACA,+BAAA;AC7DA;ADgEA;EAEA,gBAAA;EACA,4BAAA;EACA,SAAA;AC9DA;ADgEA;EAEA,qBAAA;EACA,kBAAA;EACA,wBAAA;AC/DA;;AAEA,uCAAuC",file:"settings.vue",sourcesContent:['\ufeff<template>\r\n <div class="settings">\r\n <div class="settings-group" v-if="false && apps.length > 0">\r\n <h2 class="ui-headline settings-group-headline" v-localize="\'@application.list\'"></h2>\r\n <applications-items v-model="apps" />\r\n </div>\r\n <div class="settings-group" v-for="group in groups">\r\n <h2 class="ui-headline settings-group-headline" v-localize="group.name"></h2>\r\n <div class="settings-group-items">\r\n <router-link :to="item.url || \'/\'" v-for="item in group.items" :key="item.name" class="settings-group-item">\r\n <i class="settings-group-item-icon" :class="item.icon || \'fth-settings\'" />\r\n <p class="settings-group-item-text">\r\n <strong v-localize="item.name"></strong>\r\n <template v-if="item.description">\r\n <br>\r\n {{item.description | localize({ tokens: tokens })}}\r\n </template>\r\n </p>\r\n </router-link>\r\n </div>\r\n </div>\r\n <router-view name="footer"></router-view>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import ApplicationsItems from \'zero/pages/settings/applications-items.vue\'\r\n import SettingsApi from \'zero/api/settings.js\';\r\n\r\n export default {\r\n name: \'app-settings\',\r\n\r\n components: { ApplicationsItems },\r\n\r\n data: () => ({\r\n page: true,\r\n groups: [],\r\n apps: [],\r\n tokens: {\r\n \'zero_version\': zero.version,\r\n \'plugin_count\': zero.pluginCount\r\n }\r\n }),\r\n\r\n mounted()\r\n {\r\n SettingsApi.getAreas().then(response =>\r\n {\r\n this.groups = response.groups;\r\n this.apps = response.applications;\r\n });\r\n }\r\n }\r\n<\/script>\r\n\r\n\r\n<style lang="scss">\r\n .settings\r\n {\r\n min-height: 100%;\r\n position: relative;\r\n padding: 40px var(--padding);\r\n width: 100%;\r\n max-width: 2000px;\r\n display: grid;\r\n gap: 80px 40px;\r\n grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));\r\n }\r\n\r\n .settings-group-items\r\n {\r\n display: grid;\r\n gap: 20px;\r\n grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));\r\n align-items: stretch;\r\n margin-top: 40px;\r\n }\r\n\r\n a.settings-group-item\r\n {\r\n color: var(--color-text);\r\n font-size: var(--font-size);\r\n display: grid;\r\n grid-template-columns: auto 1fr;\r\n gap: 20px;\r\n align-items: center;\r\n }\r\n\r\n .settings-group-item-icon\r\n {\r\n width: 60px;\r\n height: 60px;\r\n line-height: 59px !important;\r\n font-size: 18px;\r\n text-align: center;\r\n background: var(--color-box);\r\n border-radius: var(--radius);\r\n box-shadow: var(--shadow-short);\r\n }\r\n\r\n .settings-group-item-text\r\n {\r\n line-height: 1.3;\r\n color: var(--color-text-dim);\r\n margin: 0;\r\n\r\n strong\r\n {\r\n display: inline-block;\r\n margin-bottom: 5px;\r\n color: var(--color-text);\r\n }\r\n }\r\n</style>',".settings {\n min-height: 100%;\n position: relative;\n padding: 40px var(--padding);\n width: 100%;\n max-width: 2000px;\n display: grid;\n gap: 80px 40px;\n grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));\n}\n\n.settings-group-items {\n display: grid;\n gap: 20px;\n grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));\n align-items: stretch;\n margin-top: 40px;\n}\n\na.settings-group-item {\n color: var(--color-text);\n font-size: var(--font-size);\n display: grid;\n grid-template-columns: auto 1fr;\n gap: 20px;\n align-items: center;\n}\n\n.settings-group-item-icon {\n width: 60px;\n height: 60px;\n line-height: 59px !important;\n font-size: 18px;\n text-align: center;\n background: var(--color-box);\n border-radius: var(--radius);\n box-shadow: var(--shadow-short);\n}\n\n.settings-group-item-text {\n line-height: 1.3;\n color: var(--color-text-dim);\n margin: 0;\n}\n.settings-group-item-text strong {\n display: inline-block;\n margin-bottom: 5px;\n color: var(--color-text);\n}\n\n/*# sourceMappingURL=settings.vue.map */"]},media:void 0})}),JA,undefined,false,undefined,!1,Iu,void 0,void 0);const XA={data:()=>({count:0,apps:[]}),components:{ApplicationsItems:WA},mounted(){Ap.getAll().then((e=>{this.apps=e,this.count=e.length}))}};var QA=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"apps"},[t("ui-header-bar",{attrs:{title:"@application.list",count:e.count,"back-button":!0}}),e._v(" "),t("div",{staticClass:"ui-blank-box"},[t("applications-items",{model:{value:e.apps,callback:function(n){e.apps=n},expression:"apps"}})],1)],1)};QA._withStripped=!0;const ZA=Da({render:QA,staticRenderFns:[]},(function(e){e&&e("data-v-66496255_0",{source:".apps .apps-items {\n margin-top: 0;\n}\n\n/*# sourceMappingURL=applications.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\pages\\settings\\applications.vue","applications.vue"],names:[],mappings:"AAmCA;EAEA,aAAA;ACnCA;;AAEA,2CAA2C",file:"applications.vue",sourcesContent:['\ufeff<template>\r\n <div class="apps">\r\n <ui-header-bar title="@application.list" :count="count" :back-button="true" />\r\n <div class="ui-blank-box">\r\n <applications-items v-model="apps" />\r\n </div>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import ApplicationsItems from \'zero/pages/settings/applications-items.vue\'\r\n import ApplicationsApi from \'zero/api/applications.js\'\r\n\r\n export default {\r\n data: () => ({\r\n count: 0,\r\n apps: []\r\n }),\r\n\r\n components: { ApplicationsItems },\r\n\r\n mounted()\r\n {\r\n ApplicationsApi.getAll().then(response =>\r\n {\r\n this.apps = response;\r\n this.count = response.length;\r\n });\r\n }\r\n }\r\n<\/script>\r\n\r\n\r\n<style lang="scss">\r\n .apps .apps-items\r\n {\r\n margin-top: 0;\r\n }\r\n</style>',".apps .apps-items {\n margin-top: 0;\n}\n\n/*# sourceMappingURL=applications.vue.map */"]},media:void 0})}),XA,undefined,false,undefined,!1,Iu,void 0,void 0);const eh={props:["id"],components:{UiEditor:Ou},data:()=>({meta:{},model:{name:null,features:[],domains:[]},route:zero.alias.settings.applications+"-edit",disabled:!1}),methods:{onLoad(e){const n=this.$route.params.id;e.load(n?Ap.getById(n):Ap.getEmpty()).then((e=>{this.disabled=!e.meta.canEdit,this.meta=e.meta,this.model=e.entity}))},onSubmit(e){e.handle(Ap.save(this.model))},onDelete(e,n){n.hide(),this.$refs.form.onDelete(Ap.delete.bind(this,this.$route.params.id))}}};var nh=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("ui-form",{ref:"form",staticClass:"application",attrs:{route:e.route},on:{submit:e.onSubmit,load:e.onLoad},scopedSlots:e._u([{key:"default",fn:function(n){return[t("ui-form-header",{attrs:{title:"@application.name",disabled:e.disabled,"is-create":!e.$route.params.id,state:n.state,"can-delete":e.meta.canDelete},on:{delete:e.onDelete},model:{value:e.model,callback:function(n){e.model=n},expression:"model"}}),e._v(" "),t("ui-editor",{attrs:{config:"application",meta:e.meta,disabled:e.disabled},model:{value:e.model,callback:function(n){e.model=n},expression:"model"}})]}}])})};nh._withStripped=!0;const th=Da({render:nh,staticRenderFns:[]},undefined,eh,undefined,false,undefined,!1,void 0,void 0,void 0);const rh={data:()=>({count:0,createRoute:zero.alias.settings.countries+"-create"})};var ih=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"countries"},[t("ui-header-bar",{attrs:{title:"@country.list",count:e.count,"back-button":!0}},[t("ui-table-filter",{attrs:{attach:e.$refs.table}}),e._v(" "),t("ui-add-button",{attrs:{route:e.createRoute}})],1),e._v(" "),t("div",{staticClass:"ui-blank-box"},[t("ui-table",{ref:"table",attrs:{config:"countries"},on:{count:function(n){e.count=n}}})],1)],1)};ih._withStripped=!0;const oh=Da({render:ih,staticRenderFns:[]},undefined,rh,undefined,false,undefined,!1,void 0,void 0,void 0);const ah={props:["id"],components:{UiEditor:Ou},data:()=>({meta:{},model:{name:null,features:[],domains:[]},route:zero.alias.settings.countries+"-edit",disabled:!1}),methods:{onLoad(e){e.load(this.$route.params.id?cf.getById(this.id,{scope:"hallo"}):cf.getEmpty()).then((e=>{this.disabled=!e.meta.canEdit,this.meta=e.meta,this.model=e.entity}))},onSubmit(e){e.handle(cf.save(this.model))},onDelete(e,n){n.hide(),this.$refs.form.onDelete(cf.delete.bind(this,this.id))}}};var sh=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("ui-form",{ref:"form",staticClass:"country",attrs:{route:e.route},on:{submit:e.onSubmit,load:e.onLoad},scopedSlots:e._u([{key:"default",fn:function(n){return[t("ui-form-header",{attrs:{title:"@country.name",disabled:e.disabled,"is-create":!e.$route.params.id,state:n.state,"can-delete":e.meta.canDelete},on:{delete:e.onDelete},model:{value:e.model,callback:function(n){e.model=n},expression:"model"}}),e._v(" "),t("ui-editor",{attrs:{config:"country",meta:e.meta,disabled:e.disabled},model:{value:e.model,callback:function(n){e.model=n},expression:"model"}})]}}])})};sh._withStripped=!0;const lh=Da({render:sh,staticRenderFns:[]},(function(e){e&&e("data-v-0cfe7bc8_0",{source:".country .country-flag-input {\n max-width: 80px;\n}\n\n/*# sourceMappingURL=country.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\pages\\settings\\country.vue","country.vue"],names:[],mappings:"AAsDA;EAEA,eAAA;ACtDA;;AAEA,sCAAsC",file:"country.vue",sourcesContent:['\ufeff<template>\r\n <ui-form ref="form" class="country" v-slot="form" @submit="onSubmit" @load="onLoad" :route="route">\r\n <ui-form-header v-model="model" title="@country.name" :disabled="disabled" :is-create="!$route.params.id" :state="form.state" :can-delete="meta.canDelete" @delete="onDelete" />\r\n <ui-editor config="country" v-model="model" :meta="meta" :disabled="disabled" />\r\n </ui-form>\r\n</template>\r\n\r\n\r\n<script>\r\n import CountriesApi from \'zero/api/countries.js\';\r\n import UiEditor from \'zero/editor/editor.vue\';\r\n\r\n export default {\r\n props: [\'id\'],\r\n\r\n components: { UiEditor },\r\n\r\n data: () => ({\r\n meta: {},\r\n model: { name: null, features: [], domains: [] },\r\n route: zero.alias.settings.countries + \'-edit\',\r\n disabled: false\r\n }),\r\n\r\n methods: {\r\n\r\n onLoad(form)\r\n {\r\n form.load(!this.$route.params.id ? CountriesApi.getEmpty() : CountriesApi.getById(this.id, { scope: \'hallo\' })).then(response =>\r\n {\r\n this.disabled = !response.meta.canEdit;\r\n this.meta = response.meta;\r\n this.model = response.entity;\r\n });\r\n },\r\n\r\n\r\n onSubmit(form)\r\n {\r\n form.handle(CountriesApi.save(this.model));\r\n },\r\n\r\n\r\n onDelete(item, opts)\r\n {\r\n opts.hide();\r\n this.$refs.form.onDelete(CountriesApi.delete.bind(this, this.id));\r\n } \r\n }\r\n }\r\n<\/script>\r\n\r\n\r\n<style lang="scss">\r\n .country .country-flag-input\r\n {\r\n max-width: 80px;\r\n }\r\n</style>',".country .country-flag-input {\n max-width: 80px;\n}\n\n/*# sourceMappingURL=country.vue.map */"]},media:void 0})}),ah,undefined,false,undefined,!1,Iu,void 0,void 0);const ch={data:()=>({count:0,createRoute:zero.alias.settings.languages+"-create"})};var dh=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"languages"},[t("ui-header-bar",{attrs:{title:"@language.list",count:e.count,"back-button":!0}},[t("ui-table-filter",{attrs:{attach:e.$refs.table}}),e._v(" "),t("ui-add-button",{attrs:{route:e.createRoute,decision:!1}})],1),e._v(" "),t("div",{staticClass:"ui-blank-box"},[t("ui-table",{ref:"table",attrs:{config:"languages"},on:{count:function(n){e.count=n}}})],1)],1)};dh._withStripped=!0;const uh=Da({render:dh,staticRenderFns:[]},undefined,ch,undefined,false,undefined,!1,void 0,void 0,void 0);const ph={props:["id"],components:{UiEditor:Ou},data:()=>({meta:{},model:{name:null,features:[],domains:[]},route:zero.alias.settings.languages+"-edit",disabled:!1}),methods:{onLoad(e){e.load(this.id?cl.getById(this.id):cl.getEmpty()).then((e=>{this.disabled=!e.meta.canEdit,this.meta=e.meta,this.model=e.entity}))},onSubmit(e){e.handle(cl.save(this.model))},onDelete(e,n){n.hide(),this.$refs.form.onDelete(cl.delete.bind(this,this.id))}}};var fh=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("ui-form",{ref:"form",staticClass:"language",attrs:{route:e.route},on:{submit:e.onSubmit,load:e.onLoad},scopedSlots:e._u([{key:"default",fn:function(n){return[t("ui-form-header",{attrs:{title:"@language.name",disabled:e.disabled,"is-create":!e.id,state:n.state,"can-delete":e.meta.canDelete},on:{delete:e.onDelete},model:{value:e.model,callback:function(n){e.model=n},expression:"model"}}),e._v(" "),t("ui-editor",{attrs:{config:"language",meta:e.meta,disabled:e.disabled},model:{value:e.model,callback:function(n){e.model=n},expression:"model"}})]}}])})};fh._withStripped=!0;const Ah=Da({render:fh,staticRenderFns:[]},undefined,ph,undefined,false,undefined,!1,void 0,void 0,void 0);const hh={data:()=>({createRoleRoute:"roles-create",roles:[]}),created(){zp.getAll().then((e=>{this.roles=e}))},methods:{getRoleLink:e=>({name:"roles-edit",params:{id:e.id},query:{scope:"shared "}})}};var mh=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"users"},[t("ui-header-bar",{attrs:{title:"Users & Permissions","back-button":!0}},[t("ui-table-filter",{attrs:{attach:e.$refs.usersTable}}),e._v(" "),t("ui-add-button",{attrs:{type:"light onbg",route:e.createRoleRoute,label:"Add role"}}),e._v(" "),t("ui-button",{attrs:{type:"primary",label:"Add user"}})],1),e._v(" "),t("div",{staticClass:"ui-blank-box"},[t("h2",{directives:[{name:"localize",rawName:"v-localize",value:"@role.roles",expression:"'@role.roles'"}],staticClass:"ui-headline users-group-headline"}),e._v(" "),t("div",{staticClass:"users-roles"},e._l(e.roles,(function(n){return t("router-link",{key:n.id,staticClass:"users-role",attrs:{to:e.getRoleLink(n)}},[t("i",{staticClass:"users-role-icon",class:n.icon}),e._v(" "),t("strong",[e._v(e._s(n.name))]),e._v(" "),t("span",{directives:[{name:"localize",rawName:"v-localize",value:{key:1!==n.countClaims?"@user.count_permissions":"@user.one_permission",tokens:{count:n.claims.length}},expression:"{ key: role.countClaims !== 1 ? '@user.count_permissions' : '@user.one_permission', tokens: { count: role.claims.length }}"}],staticClass:"users-role-minor"})])})),1)]),e._v(" "),t("div",{staticClass:"ui-blank-box"},[t("h2",{directives:[{name:"localize",rawName:"v-localize",value:"@user.users",expression:"'@user.users'"}],staticClass:"ui-headline users-group-headline"}),e._v(" "),t("ui-table",{ref:"usersTable",attrs:{config:"users"}})],1)],1)};mh._withStripped=!0;const gh=Da({render:mh,staticRenderFns:[]},(function(e){e&&e("data-v-8c8d892c_0",{source:"h2.users-group-headline {\n margin-bottom: 30px !important;\n}\n.users .ui-table-field-image {\n border-radius: 50px;\n}\n.users .ui-table-cell[table-field=avatar] {\n padding: 12px;\n padding-left: 20px;\n}\n.users .ui-table-cell[table-field=name] {\n border-left-color: transparent;\n}\n.users-roles {\n display: grid;\n gap: var(--padding);\n grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));\n align-items: stretch;\n margin-bottom: calc(var(--padding) * 2);\n}\na.users-role {\n display: flex;\n flex-direction: column;\n background: var(--color-box);\n border-radius: var(--radius);\n padding: var(--padding-m) var(--padding);\n text-align: center;\n color: var(--color-text);\n font-size: var(--font-size);\n line-height: 1.5;\n box-shadow: var(--shadow-short);\n}\n.users-role-minor {\n color: var(--color-text-dim);\n}\n.users-role-icon {\n font-size: 26px;\n text-align: center;\n display: inline-block;\n margin: 0 auto var(--padding-m);\n position: relative;\n}\n\n/*# sourceMappingURL=users.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\pages\\settings\\users.vue","users.vue"],names:[],mappings:"AAuEA;EAEA,8BAAA;ACvEA;AD0EA;EAEA,mBAAA;ACxEA;AD2EA;EAEA,aAAA;EACA,kBAAA;ACzEA;AD4EA;EAEA,8BAAA;AC1EA;AD6EA;EAEA,aAAA;EACA,mBAAA;EACA,4DAAA;EACA,oBAAA;EACA,uCAAA;AC3EA;AD8EA;EAEA,aAAA;EACA,sBAAA;EACA,4BAAA;EACA,4BAAA;EACA,wCAAA;EACA,kBAAA;EACA,wBAAA;EACA,2BAAA;EACA,gBAAA;EACA,+BAAA;AC5EA;AD+EA;EAEA,4BAAA;AC7EA;ADgFA;EAEA,eAAA;EACA,kBAAA;EACA,qBAAA;EACA,+BAAA;EACA,kBAAA;AC9EA;;AAEA,oCAAoC",file:"users.vue",sourcesContent:['\ufeff<template>\r\n <div class="users">\r\n <ui-header-bar title="Users & Permissions" :back-button="true">\r\n <ui-table-filter :attach="$refs.usersTable" />\r\n <ui-add-button type="light onbg" :route="createRoleRoute" label="Add role" />\r\n <ui-button type="primary" label="Add user" />\r\n </ui-header-bar>\r\n\r\n <div class="ui-blank-box">\r\n <h2 class="ui-headline users-group-headline" v-localize="\'@role.roles\'"></h2>\r\n <div class="users-roles">\r\n <router-link v-for="role in roles" :key="role.id" :to="getRoleLink(role)" class="users-role">\r\n <i class="users-role-icon" :class="role.icon"></i>\r\n <strong>{{role.name}}</strong>\r\n <span class="users-role-minor" v-localize="{ key: role.countClaims !== 1 ? \'@user.count_permissions\' : \'@user.one_permission\', tokens: { count: role.claims.length }}"></span>\r\n </router-link>\r\n </div>\r\n </div>\r\n\r\n <div class="ui-blank-box">\r\n <h2 class="ui-headline users-group-headline" v-localize="\'@user.users\'"></h2>\r\n <ui-table ref="usersTable" config="users" />\r\n </div>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import UserRolesApi from \'zero/api/userRoles.js\';\r\n import { filter as _filter, map as _map } from \'underscore\';\r\n\r\n export default {\r\n data: () => ({\r\n createRoleRoute: \'roles-create\',\r\n roles: []\r\n }),\r\n\r\n created()\r\n {\r\n UserRolesApi.getAll().then(items =>\r\n {\r\n this.roles = items;\r\n });\r\n\r\n //let roleColumn = this.usersConfig.columns.roles;\r\n //if (roleColumn)\r\n //{\r\n // roleColumn.render = item =>\r\n // {\r\n // const roles = _filter(this.roles, role => item.roles.indexOf(role.alias) > -1);\r\n // return _map(roles, role => role.name).join(\', \');\r\n // };\r\n //}\r\n },\r\n\r\n methods: {\r\n\r\n getRoleLink(item)\r\n {\r\n return {\r\n name: \'roles-edit\',\r\n params: { id: item.id },\r\n query: { scope: \'shared \'}\r\n };\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n\r\n<style lang="scss">\r\n h2.users-group-headline\r\n {\r\n margin-bottom: 30px !important;\r\n }\r\n\r\n .users .ui-table-field-image\r\n {\r\n border-radius: 50px;\r\n }\r\n\r\n .users .ui-table-cell[table-field="avatar"]\r\n {\r\n padding: 12px;\r\n padding-left: 20px;\r\n }\r\n\r\n .users .ui-table-cell[table-field="name"]\r\n {\r\n border-left-color: transparent;\r\n }\r\n\r\n .users-roles\r\n {\r\n display: grid;\r\n gap: var(--padding);\r\n grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));\r\n align-items: stretch;\r\n margin-bottom: calc(var(--padding) * 2);\r\n }\r\n\r\n a.users-role\r\n {\r\n display: flex;\r\n flex-direction: column;\r\n background: var(--color-box);\r\n border-radius: var(--radius);\r\n padding: var(--padding-m) var(--padding);\r\n text-align: center;\r\n color: var(--color-text);\r\n font-size: var(--font-size);\r\n line-height: 1.5;\r\n box-shadow: var(--shadow-short);\r\n }\r\n\r\n .users-role-minor\r\n {\r\n color: var(--color-text-dim);\r\n }\r\n\r\n .users-role-icon\r\n {\r\n font-size: 26px;\r\n text-align: center;\r\n display: inline-block;\r\n margin: 0 auto var(--padding-m);\r\n position: relative;\r\n }\r\n</style>',"h2.users-group-headline {\n margin-bottom: 30px !important;\n}\n\n.users .ui-table-field-image {\n border-radius: 50px;\n}\n\n.users .ui-table-cell[table-field=avatar] {\n padding: 12px;\n padding-left: 20px;\n}\n\n.users .ui-table-cell[table-field=name] {\n border-left-color: transparent;\n}\n\n.users-roles {\n display: grid;\n gap: var(--padding);\n grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));\n align-items: stretch;\n margin-bottom: calc(var(--padding) * 2);\n}\n\na.users-role {\n display: flex;\n flex-direction: column;\n background: var(--color-box);\n border-radius: var(--radius);\n padding: var(--padding-m) var(--padding);\n text-align: center;\n color: var(--color-text);\n font-size: var(--font-size);\n line-height: 1.5;\n box-shadow: var(--shadow-short);\n}\n\n.users-role-minor {\n color: var(--color-text-dim);\n}\n\n.users-role-icon {\n font-size: 26px;\n text-align: center;\n display: inline-block;\n margin: 0 auto var(--padding-m);\n position: relative;\n}\n\n/*# sourceMappingURL=users.vue.map */"]},media:void 0})}),hh,undefined,false,undefined,!1,Iu,void 0,void 0);const vh={components:{UiEditor:Ou},data:()=>({meta:{},model:{avatarId:null,name:null,email:null,lockoutEnd:null},route:zero.alias.settings.users+"-edit",disabled:!1,originalLockoutEnd:null}),computed:{isLockedOut(){return!!this.model.lockoutEnd}},methods:{onLoad(e){e.load(this.$route.params.id?Af.getById(this.$route.params.id):Af.getEmpty()).then((e=>{this.disabled=!e.meta.canEdit,this.meta=e.meta,this.model=e.entity,this.originalLockoutEnd=this.model.lockoutEnd}))},onSubmit(e){e.handle(Af.save(this.model)).then((e=>{e.entity.id===AuthApi.user.id&&AuthApi.setUser(e.entity)}))},onDelete(e,n){n.hide(),this.$refs.form.onDelete(Af.delete.bind(this,this.$route.params.id))},onLockoutChange(e){this.model.lockoutEnd=e?this.originalLockoutEnd:null},onActiveChange(e,n){n.loading(!0);const t=!this.model.isActive;(t?Af.enable(this.model):Af.disable(this.model)).then((e=>{n.loading(!1),n.hide(),e.success&&(this.model.isActive=t)}))}}};var bh=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("ui-form",{ref:"form",staticClass:"user",attrs:{route:e.route},on:{submit:e.onSubmit,load:e.onLoad},scopedSlots:e._u([{key:"default",fn:function(n){return[t("ui-form-header",{attrs:{title:"@user.name",disabled:e.disabled,"is-create":!e.$route.params.id,state:n.state,"can-delete":e.meta.canDelete},on:{delete:e.onDelete},scopedSlots:e._u([{key:"actions",fn:function(){return[e.model.isActive?t("ui-dropdown-button",{attrs:{label:"Disable",icon:"fth-minus-circle",disabled:e.disabled},on:{click:e.onActiveChange}}):e._e(),e._v(" "),e.model.isActive?e._e():t("ui-dropdown-button",{attrs:{label:"Enable",icon:"fth-plus-circle",disabled:e.disabled},on:{click:e.onActiveChange}}),e._v(" "),t("ui-dropdown-button",{attrs:{label:"Change password",icon:"fth-lock",disabled:e.disabled}})]},proxy:!0}],null,!0),model:{value:e.model,callback:function(n){e.model=n},expression:"model"}}),e._v(" "),t("ui-editor",{attrs:{config:"user",meta:e.meta,disabled:e.disabled},scopedSlots:e._u([{key:"settings",fn:function(){return[t("ui-property",{staticClass:"is-toggle",attrs:{label:"@user.fields.isLockedOut","is-text":!0}},[t("ui-toggle",{attrs:{value:e.isLockedOut,negative:!0,disabled:e.disabled},on:{input:e.onLockoutChange}})],1),e._v(" "),e.isLockedOut?t("p",{staticClass:"ui-message type-error block user-aside-error"},[t("i",{staticClass:"ui-message-icon fth-alert-circle"}),e._v(" "),t("span",{staticClass:"ui-message-text"},[t("span",{directives:[{name:"localize",rawName:"v-localize:html",value:"@user.fields.isLockedOut_warning",expression:"'@user.fields.isLockedOut_warning'",arg:"html"}]}),e._v(":"),t("br"),e._v(" "),t("strong",[t("ui-date",{attrs:{format:"long"},model:{value:e.model.lockoutEnd,callback:function(n){e.$set(e.model,"lockoutEnd",n)},expression:"model.lockoutEnd"}})],1)])]):e._e(),e._v(" "),e.model.isActive?e._e():t("ui-message",{staticClass:"user-aside-error",attrs:{type:"error",text:"@user.fields.isDisabled_warning"}})]},proxy:!0}],null,!0),model:{value:e.model,callback:function(n){e.model=n},expression:"model"}})]}}])})};bh._withStripped=!0;const yh=Da({render:bh,staticRenderFns:[]},(function(e){e&&e("data-v-d65845a6_0",{source:".user-aside-error {\n margin-bottom: 0;\n}\n\n/*# sourceMappingURL=user.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\pages\\settings\\user.vue","user.vue"],names:[],mappings:"AAqHA;EAEA,gBAAA;ACrHA;;AAEA,mCAAmC",file:"user.vue",sourcesContent:['\ufeff<template>\r\n <ui-form ref="form" class="user" v-slot="form" @submit="onSubmit" @load="onLoad" :route="route">\r\n <ui-form-header v-model="model" title="@user.name" :disabled="disabled" :is-create="!$route.params.id" :state="form.state" :can-delete="meta.canDelete" @delete="onDelete">\r\n <template v-slot:actions>\r\n <ui-dropdown-button v-if="model.isActive" label="Disable" icon="fth-minus-circle" @click="onActiveChange" :disabled="disabled" />\r\n <ui-dropdown-button v-if="!model.isActive" label="Enable" icon="fth-plus-circle" @click="onActiveChange" :disabled="disabled" />\r\n <ui-dropdown-button label="Change password" icon="fth-lock" :disabled="disabled" />\r\n </template>\r\n </ui-form-header>\r\n <ui-editor config="user" v-model="model" :meta="meta" :disabled="disabled">\r\n <template v-slot:settings>\r\n <ui-property label="@user.fields.isLockedOut" :is-text="true" class="is-toggle">\r\n <ui-toggle :value="isLockedOut" :negative="true" @input="onLockoutChange" :disabled="disabled" />\r\n </ui-property>\r\n <p v-if="isLockedOut" class="ui-message type-error block user-aside-error">\r\n <i class="ui-message-icon fth-alert-circle"></i>\r\n <span class="ui-message-text">\r\n <span v-localize:html="\'@user.fields.isLockedOut_warning\'"></span>:<br>\r\n <strong><ui-date v-model="model.lockoutEnd" format="long" /></strong>\r\n </span>\r\n </p>\r\n <ui-message v-if="!model.isActive" class="user-aside-error" type="error" text="@user.fields.isDisabled_warning" />\r\n </template>\r\n </ui-editor>\r\n </ui-form>\r\n</template>\r\n\r\n<script>\r\n import { filter as _filter } from \'underscore\';\r\n import UsersApi from \'zero/api/users.js\';\r\n import UiEditor from \'zero/editor/editor.vue\';\r\n\r\n export default {\r\n components: { UiEditor },\r\n\r\n data: () => ({\r\n meta: {},\r\n model: {\r\n avatarId: null,\r\n name: null,\r\n email: null,\r\n lockoutEnd: null\r\n },\r\n route: zero.alias.settings.users + \'-edit\',\r\n disabled: false,\r\n originalLockoutEnd: null\r\n }),\r\n\r\n computed: {\r\n isLockedOut()\r\n {\r\n return !!this.model.lockoutEnd;\r\n }\r\n },\r\n\r\n methods: {\r\n\r\n onLoad(form)\r\n {\r\n form.load(!this.$route.params.id ? UsersApi.getEmpty() : UsersApi.getById(this.$route.params.id)).then(response =>\r\n {\r\n this.disabled = !response.meta.canEdit;\r\n this.meta = response.meta;\r\n this.model = response.entity;\r\n this.originalLockoutEnd = this.model.lockoutEnd;\r\n });\r\n },\r\n\r\n\r\n onSubmit(form)\r\n {\r\n form.handle(UsersApi.save(this.model)).then(res =>\r\n {\r\n if (res.entity.id === AuthApi.user.id)\r\n { \r\n AuthApi.setUser(res.entity);\r\n }\r\n });\r\n },\r\n\r\n\r\n onDelete(item, opts)\r\n {\r\n opts.hide();\r\n this.$refs.form.onDelete(UsersApi.delete.bind(this, this.$route.params.id));\r\n },\r\n\r\n\r\n onLockoutChange(locked)\r\n {\r\n this.model.lockoutEnd = locked ? this.originalLockoutEnd : null;\r\n },\r\n\r\n\r\n onActiveChange(value, opts)\r\n {\r\n opts.loading(true);\r\n\r\n const isActive = !this.model.isActive;\r\n let promise = isActive ? UsersApi.enable(this.model) : UsersApi.disable(this.model);\r\n\r\n promise.then(response =>\r\n {\r\n opts.loading(false);\r\n opts.hide();\r\n\r\n if (response.success)\r\n {\r\n this.model.isActive = isActive;\r\n }\r\n });\r\n },\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .user-aside-error\r\n {\r\n margin-bottom: 0;\r\n }\r\n</style>',".user-aside-error {\n margin-bottom: 0;\n}\n\n/*# sourceMappingURL=user.vue.map */"]},media:void 0})}),vh,undefined,false,undefined,!1,Iu,void 0,void 0);const Ch={components:{UiEditor:Ou},data:()=>({meta:{},model:{name:null,features:[],domains:[],claims:[]},route:zero.alias.settings.users+"-role",disabled:!1}),methods:{onLoad(e){e.load(this.$route.params.id?zp.getById(this.$route.params.id):zp.getEmpty()).then((e=>{this.disabled=!e.meta.canEdit,this.meta=e.meta,this.model=e.entity}))},onSubmit(e){e.handle(zp.save(this.model))},onDelete(e,n){n.hide(),this.$refs.form.onDelete(zp.delete.bind(this,this.$route.params.id))}}};var Eh=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("ui-form",{ref:"form",staticClass:"role",attrs:{route:e.route},on:{submit:e.onSubmit,load:e.onLoad},scopedSlots:e._u([{key:"default",fn:function(n){return[t("ui-form-header",{attrs:{title:"@role.name",disabled:e.disabled,"is-create":!e.$route.params.id,state:n.state,"can-delete":e.meta.canDelete},on:{delete:e.onDelete},model:{value:e.model,callback:function(n){e.model=n},expression:"model"}}),e._v(" "),t("ui-editor",{attrs:{config:"userRole",meta:e.meta,"active-toggle":!1,disabled:e.disabled},model:{value:e.model,callback:function(n){e.model=n},expression:"model"}})]}}])})};Eh._withStripped=!0;const xh=Da({render:Eh,staticRenderFns:[]},(function(e){e&&e("data-v-c50d54f4_0",{source:".role-permission-toggle + .role-permission-toggle {\n padding-top: 0;\n margin-top: var(--padding);\n}\n.role .ui-box + .ui-permissions {\n margin-top: var(--padding);\n}\n\n/*# sourceMappingURL=role.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\pages\\settings\\role.vue","role.vue"],names:[],mappings:"AAoDA;EAEA,cAAA;EACA,0BAAA;ACpDA;ADuDA;EAEA,0BAAA;ACrDA;;AAEA,mCAAmC",file:"role.vue",sourcesContent:['\ufeff<template>\r\n <ui-form ref="form" class="role" v-slot="form" @submit="onSubmit" @load="onLoad" :route="route">\r\n <ui-form-header v-model="model" title="@role.name" :disabled="disabled" :is-create="!$route.params.id" :state="form.state" :can-delete="meta.canDelete" @delete="onDelete" />\r\n <ui-editor config="userRole" v-model="model" :meta="meta" :active-toggle="false" :disabled="disabled" />\r\n </ui-form>\r\n</template>\r\n\r\n\r\n<script>\r\n import { filter as _filter } from \'underscore\';\r\n import UserRolesApi from \'zero/api/userRoles.js\';\r\n import UiEditor from \'zero/editor/editor.vue\';\r\n\r\n export default {\r\n components: { UiEditor },\r\n\r\n data: () => ({\r\n meta: {},\r\n model: { name: null, features: [], domains: [], claims: [] },\r\n route: zero.alias.settings.users + \'-role\',\r\n disabled: false\r\n }),\r\n\r\n methods: {\r\n\r\n onLoad(form)\r\n {\r\n form.load(!this.$route.params.id ? UserRolesApi.getEmpty() : UserRolesApi.getById(this.$route.params.id)).then(response =>\r\n {\r\n this.disabled = !response.meta.canEdit;\r\n this.meta = response.meta;\r\n this.model = response.entity;\r\n });\r\n },\r\n\r\n\r\n onSubmit(form)\r\n {\r\n form.handle(UserRolesApi.save(this.model));\r\n },\r\n\r\n\r\n onDelete(item, opts)\r\n {\r\n opts.hide();\r\n this.$refs.form.onDelete(UserRolesApi.delete.bind(this, this.$route.params.id));\r\n } \r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .role-permission-toggle + .role-permission-toggle\r\n {\r\n padding-top: 0;\r\n margin-top: var(--padding);\r\n }\r\n\r\n .role .ui-box + .ui-permissions\r\n {\r\n margin-top: var(--padding);\r\n }\r\n</style>',".role-permission-toggle + .role-permission-toggle {\n padding-top: 0;\n margin-top: var(--padding);\n}\n\n.role .ui-box + .ui-permissions {\n margin-top: var(--padding);\n}\n\n/*# sourceMappingURL=role.vue.map */"]},media:void 0})}),Ch,undefined,false,undefined,!1,Iu,void 0,void 0);const wh={data:()=>({count:0,createRoute:zero.alias.settings.mails+"-create"})};var kh=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"languages"},[t("ui-header-bar",{attrs:{title:"@mailTemplate.list",count:e.count,"back-button":!0}},[t("ui-table-filter",{attrs:{attach:e.$refs.table}}),e._v(" "),t("ui-add-button",{attrs:{route:e.createRoute}})],1),e._v(" "),t("div",{staticClass:"ui-blank-box"},[t("ui-table",{ref:"table",attrs:{config:"mailTemplates"},on:{count:function(n){e.count=n}}})],1)],1)};kh._withStripped=!0;const _h=Da({render:kh,staticRenderFns:[]},undefined,wh,undefined,false,undefined,!1,void 0,void 0,void 0);const Sh={props:["id"],components:{UiEditor:Ou},data:()=>({meta:{},model:{name:null},route:"settings-mails-edit",disabled:!1}),methods:{onLoad(e){e.load(this.id?mf.getById(this.id):mf.getEmpty()).then((e=>{this.disabled=!e.meta.canEdit,this.meta=e.meta,this.model=e.entity}))},onSubmit(e){e.handle(mf.save(this.model))},onDelete(e,n){n.hide(),this.$refs.form.onDelete(mf.delete.bind(this,this.id))}}};var Dh=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("ui-form",{ref:"form",staticClass:"mails",attrs:{route:e.route},on:{submit:e.onSubmit,load:e.onLoad},scopedSlots:e._u([{key:"default",fn:function(n){return[t("ui-form-header",{attrs:{title:"@mailTemplate.name",disabled:e.disabled,"is-create":!e.id,state:n.state,"can-delete":e.meta.canDelete},on:{delete:e.onDelete},model:{value:e.model,callback:function(n){e.model=n},expression:"model"}}),e._v(" "),t("ui-editor",{attrs:{config:"mailTemplate",meta:e.meta,"active-toggle":!1,disabled:e.disabled},model:{value:e.model,callback:function(n){e.model=n},expression:"model"}})]}}])})};Dh._withStripped=!0;const Bh=Da({render:Dh,staticRenderFns:[]},undefined,Sh,undefined,false,undefined,!1,void 0,void 0,void 0);const zh={props:{model:Object,config:Object},data:()=>({loading:!1,meta:{},item:{key:null,value:null},disabled:!1,route:zero.alias.settings.translations+"-edit",displayItems:[{label:"@translation.display.text",value:"text"},{label:"@translation.display.html",value:"html"}]}),methods:{onLoad(e){e.load(this.model.id?pf.getById(this.model.id):pf.getEmpty()).then((e=>{this.disabled=!e.meta.canEdit,this.meta=e.meta,this.item=e.entity,this.loading=!1}))},onSubmit(e){e.handle(pf.save(this.item)).then((e=>{this.config.confirm(e)}))},onDelete(){this.$refs.form.onDelete(pf.delete.bind(this,this.item.id))}}};var Oh=function(){var e=this,n=e.$createElement,t=e._self._c||n;return e.loading?e._e():t("ui-form",{ref:"form",staticClass:"translation",attrs:{route:e.route},on:{submit:e.onSubmit,load:e.onLoad},scopedSlots:e._u([{key:"default",fn:function(n){return[t("h2",{directives:[{name:"localize",rawName:"v-localize",value:"@translation.name",expression:"'@translation.name'"}],staticClass:"ui-headline"}),e._v(" "),t("div",{staticClass:"translation-items"},[t("div",{staticClass:"ui-split"},[t("ui-property",{attrs:{label:"@translation.fields.key",required:!0,vertical:!0,field:"key"}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.item.key,expression:"item.key"}],staticClass:"ui-input",attrs:{type:"text",maxlength:"300",disabled:e.disabled},domProps:{value:e.item.key},on:{input:function(n){n.target.composing||e.$set(e.item,"key",n.target.value)}}})]),e._v(" "),t("ui-property",{attrs:{label:"@translation.fields.display",vertical:!0,field:"display"}},[t("ui-state-button",{attrs:{disabled:e.disabled,items:e.displayItems},model:{value:e.item.display,callback:function(n){e.$set(e.item,"display",n)},expression:"item.display"}})],1)],1),e._v(" "),t("br"),e._v(" "),t("ui-property",{attrs:{label:"@translation.fields.value",required:!0,vertical:!0,field:"value"}},["text"===e.item.display?t("textarea",{directives:[{name:"model",rawName:"v-model",value:e.item.value,expression:"item.value"}],staticClass:"ui-input",attrs:{disabled:e.disabled},domProps:{value:e.item.value},on:{input:function(n){n.target.composing||e.$set(e.item,"value",n.target.value)}}}):e._e(),e._v(" "),"html"===e.item.display?t("ui-rte",{attrs:{disabled:e.disabled},model:{value:e.item.value,callback:function(n){e.$set(e.item,"value",n)},expression:"item.value"}}):e._e()],1)],1),e._v(" "),t("div",{staticClass:"app-confirm-buttons"},[e.disabled?e._e():t("ui-button",{attrs:{type:"primary",submit:!0,state:n.state,label:"@ui.save"}}),e._v(" "),t("ui-button",{attrs:{type:"light",label:e.config.closeLabel,disabled:e.loading},on:{click:e.config.close}}),e._v(" "),!e.disabled&&e.model.id?t("ui-button",{staticStyle:{float:"right"},attrs:{type:"light",label:"@ui.delete"},on:{click:e.onDelete}}):e._e()],1)]}}],null,!1,197994868)})};Oh._withStripped=!0;const Mh=Da({render:Oh,staticRenderFns:[]},(function(e){e&&e("data-v-04d322b2_0",{source:".translation {\n text-align: left;\n}\n.translation-items {\n margin-top: var(--padding);\n}\n.translation-items .ui-property + .ui-property,\n.translation-items .ui-split + .ui-property {\n margin-top: 0;\n}\n\n/*# sourceMappingURL=translation.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\pages\\settings\\translation.vue","translation.vue"],names:[],mappings:"AAmFA;EAEA,gBAAA;ACnFA;ADsFA;EAEA,0BAAA;ACpFA;ADsFA;;EAGA,aAAA;ACrFA;;AAEA,0CAA0C",file:"translation.vue",sourcesContent:['\ufeff<template>\r\n <ui-form v-if="!loading" ref="form" class="translation" v-slot="form" @submit="onSubmit" @load="onLoad" :route="route">\r\n <h2 class="ui-headline" v-localize="\'@translation.name\'"></h2>\r\n <div class="translation-items">\r\n <div class="ui-split">\r\n <ui-property label="@translation.fields.key" :required="true" :vertical="true" field="key">\r\n <input v-model="item.key" type="text" class="ui-input" maxlength="300" :disabled="disabled" />\r\n </ui-property>\r\n <ui-property label="@translation.fields.display" :vertical="true" field="display">\r\n <ui-state-button :disabled="disabled" :items="displayItems" v-model="item.display" />\r\n </ui-property>\r\n </div>\r\n <br />\r\n <ui-property label="@translation.fields.value" :required="true" :vertical="true" field="value">\r\n <textarea v-if="item.display === \'text\'" v-model="item.value" class="ui-input" :disabled="disabled"></textarea>\r\n <ui-rte v-if="item.display === \'html\'" v-model="item.value" :disabled="disabled" />\r\n </ui-property>\r\n </div>\r\n <div class="app-confirm-buttons">\r\n <ui-button type="primary" v-if="!disabled" :submit="true" :state="form.state" label="@ui.save"></ui-button>\r\n <ui-button type="light" :label="config.closeLabel" :disabled="loading" @click="config.close"></ui-button>\r\n <ui-button type="light" v-if="!disabled && model.id" label="@ui.delete" @click="onDelete" style="float:right;"></ui-button>\r\n </div>\r\n </ui-form>\r\n</template>\r\n\r\n\r\n<script>\r\n import TranslationsApi from \'zero/api/translations.js\';\r\n import Overlay from \'zero/helpers/overlay.js\';\r\n import Editor from \'zero/editor/editor.vue\';\r\n\r\n export default {\r\n\r\n props: {\r\n model: Object,\r\n config: Object\r\n },\r\n\r\n data: () => ({\r\n loading: false,\r\n meta: {},\r\n item: { key: null, value: null },\r\n disabled: false,\r\n route: zero.alias.settings.translations + \'-edit\',\r\n displayItems: [\r\n { label: \'@translation.display.text\', value: \'text\' },\r\n { label: \'@translation.display.html\', value: \'html\' }\r\n ]\r\n }),\r\n\r\n methods: {\r\n\r\n onLoad(form)\r\n {\r\n form.load(!this.model.id ? TranslationsApi.getEmpty() : TranslationsApi.getById(this.model.id)).then(response =>\r\n {\r\n this.disabled = !response.meta.canEdit;\r\n this.meta = response.meta;\r\n this.item = response.entity;\r\n this.loading = false;\r\n });\r\n },\r\n\r\n\r\n onSubmit(form)\r\n {\r\n form.handle(TranslationsApi.save(this.item)).then(res =>\r\n {\r\n this.config.confirm(res);\r\n });\r\n },\r\n\r\n\r\n onDelete()\r\n {\r\n this.$refs.form.onDelete(TranslationsApi.delete.bind(this, this.item.id));\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .translation\r\n {\r\n text-align: left;\r\n }\r\n\r\n .translation-items\r\n {\r\n margin-top: var(--padding);\r\n\r\n .ui-property + .ui-property,\r\n .ui-split + .ui-property\r\n {\r\n margin-top: 0;\r\n }\r\n }\r\n</style>',".translation {\n text-align: left;\n}\n\n.translation-items {\n margin-top: var(--padding);\n}\n.translation-items .ui-property + .ui-property,\n.translation-items .ui-split + .ui-property {\n margin-top: 0;\n}\n\n/*# sourceMappingURL=translation.vue.map */"]},media:void 0})}),zh,undefined,false,undefined,!1,Iu,void 0,void 0);const Th={data:()=>({count:0,createRoute:zero.alias.settings.translations+"-create"}),watch:{$route:function(e){this.handleRouteChange()}},created(){this.handleRouteChange()},methods:{goBack(){this.$router.go(-1)},handleRouteChange(){this.$route.params.id?this.edit(this.$route.params.id):this.$route.name===this.createRoute?this.edit():Uu.close()},edit(e){Uu.open({component:Mh,width:700,model:{id:e}}).then((e=>{this.$router.go(-1)}),(()=>{this.$router.go(-1)}))}}};var Ih=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"translations"},[t("ui-header-bar",{attrs:{title:"@translation.list",count:e.count,"back-button":!0}},[t("ui-table-filter",{attrs:{attach:e.$refs.table}}),e._v(" "),t("ui-add-button",{attrs:{route:e.createRoute}})],1),e._v(" "),t("div",{staticClass:"ui-blank-box"},[t("ui-table",{ref:"table",attrs:{config:"translations"},on:{count:function(n){e.count=n}}})],1)],1)};Ih._withStripped=!0;const $h=Da({render:Ih,staticRenderFns:[]},undefined,Th,undefined,false,undefined,!1,void 0,void 0,void 0),Nh="integrations/";var Rh=async()=>await il(Nh+"getAll"),Fh=async e=>await il(Nh+"getEmptySettings",{params:{alias:e}}),Lh=async e=>await il(Nh+"getSettingsByAlias",{params:{alias:e}}),Ph=async e=>await ol(Nh+"save",e),jh=async e=>await al(Nh+"delete",{params:{id:e}});const Yh={props:{config:Object},components:{UiEditor:Ou},data:()=>({disabled:!1,loading:!0,state:"default",editor:null,meta:{},model:{}}),mounted(){},methods:{onLoad(e){e.load(this.config.isCreate?Fh(this.config.alias):Lh(this.config.alias)).then((e=>{this.disabled=!e.meta.canEdit,this.meta=e.meta,this.model=e.entity,this.editor=this.model.integrationAlias?"integration."+this.model.integrationAlias:null,this.loading=!1}))},onSubmit(e){e.handle(Ph(this.model)).then((e=>{this.config.confirm(e)}))},onDelete(){Uu.confirmDelete().then((e=>{e.state("loading"),jh(this.model.id).then((n=>{n.success?(e.state("success"),e.hide(),Ff.success("@deleteoverlay.success","@deleteoverlay.success_text"),this.config.close()):e.errors(n.errors)}))}))}}};var Uh=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("ui-form",{ref:"form",on:{submit:e.onSubmit,load:e.onLoad},scopedSlots:e._u([{key:"default",fn:function(n){return[t("ui-overlay-editor",{staticClass:"ui-editor-overlay integration",scopedSlots:e._u([{key:"header",fn:function(){return[t("ui-header-bar",{attrs:{title:e.config.model.name,"back-button":!1,"close-button":!0}})]},proxy:!0},{key:"footer",fn:function(){return[t("ui-button",{attrs:{type:"light onbg",label:"@ui.close"},on:{click:e.config.hide}}),e._v(" "),e.config.isCreate?e._e():t("ui-button",{attrs:{type:"light onbg",label:"@ui.remove"},on:{click:e.onDelete}}),e._v(" "),e.disabled?e._e():t("ui-button",{attrs:{type:"primary",submit:!0,label:"@ui.save",state:n.state,disabled:e.loading}})]},proxy:!0}],null,!0)},[e._v(" "),e._v(" "),e.loading?t("ui-loading",{attrs:{"is-big":!0}}):e._e(),e._v(" "),e.loading?e._e():t("div",{staticClass:"ui-editor-overlay-editor"},[t("ui-editor",{attrs:{config:e.editor,meta:e.meta,"is-page":!1,infos:"none",disabled:e.disabled},model:{value:e.model,callback:function(n){e.model=n},expression:"model"}})],1)],1)]}}])})};Uh._withStripped=!0;const qh=Da({render:Uh,staticRenderFns:[]},(function(e){e&&e("data-v-ae487a14_0",{source:"/*.integration .ui-header-bar\n{\n background: var(--color-primary);\n margin-bottom: var(--padding);\n}\n\n.integration .ui-header-bar h2, .integration .ui-header-bar .ui-button-icon\n{\n color: var(--color-primary-text) !important; \n}*/\n.integration .ui-box + .ui-box {\n margin-top: var(--padding) !important;\n}\n.ui-editor-overlay > content {\n position: relative;\n padding-top: 0 !important;\n}\n.ui-editor-overlay .ui-box {\n margin: 0;\n}\n.ui-editor-overlay .ui-tabs-list {\n padding: 0;\n padding-bottom: 32px;\n}\n.ui-editor-overlay .ui-property.ui-modules {\n margin: 0;\n padding: 0;\n}\n.ui-editor-overlay .editor-outer.-infos-aside:not(.is-page) {\n display: block;\n}\n.ui-editor-overlay .ui-loading {\n position: absolute;\n left: 50%;\n top: 50%;\n margin: -14px 0 0 -14px;\n}\n\n/*# sourceMappingURL=integration.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\pages\\settings\\integration.vue","integration.vue"],names:[],mappings:"AAwGA;;;;;;;;;EAAA;AAWA;EAEA,qCAAA;ACzGA;AD8GA;EAEA,kBAAA;EACA,yBAAA;AC5GA;AD+GA;EAEA,SAAA;AC9GA;ADiHA;EAEA,UAAA;EACA,oBAAA;AChHA;ADmHA;EAEA,SAAA;EACA,UAAA;AClHA;ADqHA;EAEA,cAAA;ACpHA;ADuHA;EAEA,kBAAA;EACA,SAAA;EACA,QAAA;EACA,uBAAA;ACtHA;;AAEA,0CAA0C",file:"integration.vue",sourcesContent:['\ufeff<template>\r\n <ui-form ref="form" v-slot="form" @submit="onSubmit" @load="onLoad">\r\n <ui-overlay-editor class="ui-editor-overlay integration">\r\n\r\n <template v-slot:header>\r\n <ui-header-bar :title="config.model.name" :back-button="false" :close-button="true" />\r\n </template>\r\n\r\n <template v-slot:footer>\r\n <ui-button type="light onbg" label="@ui.close" @click="config.hide"></ui-button>\r\n <ui-button v-if="!config.isCreate" type="light onbg" label="@ui.remove" @click="onDelete"></ui-button>\r\n <ui-button v-if="!disabled" type="primary" :submit="true" label="@ui.save" :state="form.state" :disabled="loading"></ui-button>\r\n </template>\r\n\r\n <ui-loading v-if="loading" :is-big="true" />\r\n\r\n <div v-if="!loading" class="ui-editor-overlay-editor">\r\n <ui-editor :config="editor" v-model="model" :meta="meta" :is-page="false" infos="none" :disabled="disabled" />\r\n </div>\r\n\r\n </ui-overlay-editor>\r\n </ui-form>\r\n</template>\r\n\r\n\r\n<script>\r\n import UiEditor from \'zero/editor/editor.vue\';\r\n import Overlay from \'zero/helpers/overlay.js\';\r\n import Notification from \'zero/helpers/notification.js\';\r\n import IntegrationsApi from \'zero/api/integrations.js\';\r\n\r\n export default {\r\n\r\n props: {\r\n config: Object\r\n },\r\n\r\n components: { UiEditor },\r\n\r\n data: () => ({\r\n disabled: false,\r\n loading: true,\r\n state: \'default\',\r\n editor: null,\r\n meta: {},\r\n model: {}\r\n }),\r\n\r\n mounted()\r\n {\r\n //this.$el.style.setProperty(\'--color-primary\', this.config.model.color);\r\n //this.$el.style.setProperty(\'--color-button\', this.config.model.color);\r\n },\r\n\r\n methods: {\r\n\r\n onLoad(form)\r\n {\r\n form.load(this.config.isCreate ? IntegrationsApi.getEmptySettings(this.config.alias) : IntegrationsApi.getSettingsByAlias(this.config.alias)).then(response =>\r\n {\r\n this.disabled = !response.meta.canEdit;\r\n this.meta = response.meta;\r\n this.model = response.entity;\r\n this.editor = this.model.integrationAlias ? \'integration.\' + this.model.integrationAlias : null;\r\n this.loading = false;\r\n });\r\n },\r\n\r\n\r\n onSubmit(form)\r\n {\r\n form.handle(IntegrationsApi.save(this.model)).then(res =>\r\n {\r\n this.config.confirm(res);\r\n });\r\n },\r\n\r\n\r\n onDelete()\r\n {\r\n Overlay.confirmDelete().then(opts =>\r\n {\r\n opts.state(\'loading\');\r\n IntegrationsApi.delete(this.model.id).then(response =>\r\n {\r\n if (response.success)\r\n {\r\n opts.state(\'success\');\r\n opts.hide();\r\n Notification.success(\'@deleteoverlay.success\', \'@deleteoverlay.success_text\');\r\n this.config.close();\r\n }\r\n else\r\n {\r\n opts.errors(response.errors);\r\n }\r\n });\r\n }); \r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n /*.integration .ui-header-bar\r\n {\r\n background: var(--color-primary);\r\n margin-bottom: var(--padding);\r\n }\r\n\r\n .integration .ui-header-bar h2, .integration .ui-header-bar .ui-button-icon\r\n {\r\n color: var(--color-primary-text) !important; \r\n }*/\r\n\r\n .integration .ui-box + .ui-box\r\n {\r\n margin-top: var(--padding) !important;\r\n }\r\n\r\n .ui-editor-overlay\r\n {\r\n > content\r\n {\r\n position: relative;\r\n padding-top: 0 !important;\r\n }\r\n\r\n .ui-box\r\n {\r\n margin: 0;\r\n }\r\n\r\n .ui-tabs-list\r\n {\r\n padding: 0;\r\n padding-bottom: 32px;\r\n }\r\n\r\n .ui-property.ui-modules\r\n {\r\n margin: 0;\r\n padding: 0; \r\n }\r\n\r\n .editor-outer.-infos-aside:not(.is-page)\r\n {\r\n display: block;\r\n }\r\n\r\n .ui-loading\r\n {\r\n position: absolute;\r\n left: 50%;\r\n top: 50%;\r\n margin: -14px 0 0 -14px;\r\n }\r\n }\r\n</style>',"/*.integration .ui-header-bar\n{\n background: var(--color-primary);\n margin-bottom: var(--padding);\n}\n\n.integration .ui-header-bar h2, .integration .ui-header-bar .ui-button-icon\n{\n color: var(--color-primary-text) !important; \n}*/\n.integration .ui-box + .ui-box {\n margin-top: var(--padding) !important;\n}\n\n.ui-editor-overlay > content {\n position: relative;\n padding-top: 0 !important;\n}\n.ui-editor-overlay .ui-box {\n margin: 0;\n}\n.ui-editor-overlay .ui-tabs-list {\n padding: 0;\n padding-bottom: 32px;\n}\n.ui-editor-overlay .ui-property.ui-modules {\n margin: 0;\n padding: 0;\n}\n.ui-editor-overlay .editor-outer.-infos-aside:not(.is-page) {\n display: block;\n}\n.ui-editor-overlay .ui-loading {\n position: absolute;\n left: 50%;\n top: 50%;\n margin: -14px 0 0 -14px;\n}\n\n/*# sourceMappingURL=integration.vue.map */"]},media:void 0})}),Yh,undefined,false,undefined,!1,Iu,void 0,void 0);const Hh={props:{model:{type:Object,default:()=>{}},activated:{type:Boolean,default:!1}},computed:{hasColor(){return!!this.model.color&&this.activated}},methods:{open(){return Uu.open({component:qh,display:"editor",model:this.model,isCreate:!this.activated,alias:this.model.alias,width:960}).then((e=>{console.log(e)}))}}};var Wh=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"integrations-item",class:{"is-activated":e.activated}},[t("i",{staticClass:"integrations-item-icon",class:[e.model.icon||"fth-box",e.hasColor?"has-color":""],style:{"background-color":e.hasColor?e.model.color:null}}),e._v(" "),t("p",{staticClass:"integrations-item-text"},[t("strong",{directives:[{name:"localize",rawName:"v-localize",value:e.model.name,expression:"model.name"}]}),e._v(" "),e.model.description?[t("br"),e._v(" "),t("span",{directives:[{name:"localize",rawName:"v-localize",value:e.model.description,expression:"model.description"}]})]:e._e()],2),e._v(" "),e.activated?t("button",{staticClass:"ui-button type-light",class:{"type-onbg":!e.activated},attrs:{type:"button"},on:{click:e.open}},[t("span",{directives:[{name:"localize",rawName:"v-localize",value:"Edit",expression:"'Edit'"}],staticClass:"ui-button-text"})]):t("button",{staticClass:"ui-button type-light",class:{"type-onbg":!e.activated},attrs:{type:"button"},on:{click:e.open}},[t("span",{directives:[{name:"localize",rawName:"v-localize",value:"Setup",expression:"'Setup'"}],staticClass:"ui-button-text"})])])};Wh._withStripped=!0;const Vh={data:()=>({count:0,activated:[],available:[]}),components:{IntegrationItem:Da({render:Wh,staticRenderFns:[]},(function(e){e&&e("data-v-0d7252f0_0",{source:".integrations-item {\n color: var(--color-text);\n font-size: var(--font-size);\n display: grid;\n grid-template-columns: auto 1fr auto;\n gap: 20px;\n align-items: center;\n}\n.integrations-item + .integrations-item {\n margin-top: var(--padding-m);\n}\n.integrations-item-icon {\n width: 100px;\n height: 80px;\n line-height: 79px !important;\n font-size: 22px;\n text-align: center;\n background: var(--color-box);\n border-radius: var(--radius);\n box-shadow: var(--shadow-short);\n}\n.integrations-item.is-active .integrations-item-icon {\n opacity: 1;\n}\n.integrations-item-icon.has-color {\n color: white;\n box-shadow: none;\n}\n.integrations-item-text {\n line-height: 1.3;\n color: var(--color-text-dim);\n margin: 0;\n}\n.integrations-item-text strong {\n display: inline-block;\n margin-bottom: 5px;\n color: var(--color-text);\n font-size: var(--font-size);\n}\n\n/*# sourceMappingURL=integrations-item.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\pages\\settings\\integrations-item.vue","integrations-item.vue"],names:[],mappings:"AAgEA;EAEA,wBAAA;EACA,2BAAA;EACA,aAAA;EACA,oCAAA;EACA,SAAA;EACA,mBAAA;AChEA;ADmEA;EAEA,4BAAA;ACjEA;ADoEA;EAEA,YAAA;EACA,YAAA;EACA,4BAAA;EACA,eAAA;EACA,kBAAA;EACA,4BAAA;EACA,4BAAA;EACA,+BAAA;AClEA;ADqEA;EAEA,UAAA;ACnEA;ADsEA;EAEA,YAAA;EACA,gBAAA;ACpEA;ADuEA;EAEA,gBAAA;EACA,4BAAA;EACA,SAAA;ACrEA;ADwEA;EAEA,qBAAA;EACA,kBAAA;EACA,wBAAA;EACA,2BAAA;ACtEA;;AAEA,gDAAgD",file:"integrations-item.vue",sourcesContent:['\ufeff<template>\r\n <div class="integrations-item" :class="{\'is-activated\': activated }">\r\n <i class="integrations-item-icon" :style="{\'background-color\': hasColor ? model.color : null }" :class="[model.icon || \'fth-box\', hasColor ? \'has-color\' : \'\']" />\r\n <p class="integrations-item-text">\r\n <strong v-localize="model.name"></strong>\r\n <template v-if="model.description">\r\n <br>\r\n <span v-localize="model.description"></span>\r\n </template>\r\n </p>\r\n <button type="button" v-if="!activated" @click="open" class="ui-button type-light" :class="{ \'type-onbg\': !activated }">\r\n <span class="ui-button-text" v-localize="\'Setup\'" />\r\n </button>\r\n <button type="button" v-else @click="open" class="ui-button type-light" :class="{ \'type-onbg\': !activated }">\r\n <span class="ui-button-text" v-localize="\'Edit\'" />\r\n </button>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import IntegrationOverlay from \'./integration.vue\';\r\n import Overlay from \'zero/helpers/overlay.js\';\r\n\r\n export default {\r\n props: {\r\n model: {\r\n type: Object,\r\n default: () => { }\r\n },\r\n activated: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n\r\n computed: {\r\n hasColor()\r\n {\r\n return !!this.model.color && this.activated;\r\n }\r\n },\r\n\r\n methods: {\r\n open()\r\n {\r\n // open editing overlay\r\n return Overlay.open({\r\n component: IntegrationOverlay,\r\n display: \'editor\',\r\n model: this.model,\r\n isCreate: !this.activated,\r\n alias: this.model.alias,\r\n width: 960\r\n }).then(value =>\r\n {\r\n console.log(value);\r\n });\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .integrations-item\r\n { \r\n color: var(--color-text); \r\n font-size: var(--font-size);\r\n display: grid;\r\n grid-template-columns: auto 1fr auto;\r\n gap: 20px;\r\n align-items: center;\r\n }\r\n\r\n .integrations-item + .integrations-item\r\n {\r\n margin-top: var(--padding-m);\r\n }\r\n\r\n .integrations-item-icon\r\n {\r\n width: 100px;\r\n height: 80px;\r\n line-height: 79px !important;\r\n font-size: 22px;\r\n text-align: center;\r\n background: var(--color-box); \r\n border-radius: var(--radius);\r\n box-shadow: var(--shadow-short);\r\n }\r\n\r\n .integrations-item.is-active .integrations-item-icon\r\n {\r\n opacity: 1;\r\n }\r\n\r\n .integrations-item-icon.has-color\r\n {\r\n color: white;\r\n box-shadow: none;\r\n }\r\n\r\n .integrations-item-text\r\n {\r\n line-height: 1.3;\r\n color: var(--color-text-dim);\r\n margin: 0;\r\n }\r\n\r\n .integrations-item-text strong\r\n {\r\n display: inline-block;\r\n margin-bottom: 5px;\r\n color: var(--color-text);\r\n font-size: var(--font-size);\r\n }\r\n</style>',".integrations-item {\n color: var(--color-text);\n font-size: var(--font-size);\n display: grid;\n grid-template-columns: auto 1fr auto;\n gap: 20px;\n align-items: center;\n}\n\n.integrations-item + .integrations-item {\n margin-top: var(--padding-m);\n}\n\n.integrations-item-icon {\n width: 100px;\n height: 80px;\n line-height: 79px !important;\n font-size: 22px;\n text-align: center;\n background: var(--color-box);\n border-radius: var(--radius);\n box-shadow: var(--shadow-short);\n}\n\n.integrations-item.is-active .integrations-item-icon {\n opacity: 1;\n}\n\n.integrations-item-icon.has-color {\n color: white;\n box-shadow: none;\n}\n\n.integrations-item-text {\n line-height: 1.3;\n color: var(--color-text-dim);\n margin: 0;\n}\n\n.integrations-item-text strong {\n display: inline-block;\n margin-bottom: 5px;\n color: var(--color-text);\n font-size: var(--font-size);\n}\n\n/*# sourceMappingURL=integrations-item.vue.map */"]},media:void 0})}),Hh,undefined,false,undefined,!1,Iu,void 0,void 0)},mounted(){Rh().then((e=>{this.activated=e.activated,this.available=e.available}))}};var Jh=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"integrations"},[t("ui-header-bar",{attrs:{title:"@integration.list",count:e.count,"back-button":!0}}),e._v(" "),e.activated.length>0?t("div",{staticClass:"ui-box"},[t("h2",{staticClass:"ui-headline integrations-headline"},[e._v("Activated")]),e._v(" "),e._l(e.activated,(function(e,n){return t("integration-item",{key:"x"+n,attrs:{model:e,activated:!0}})}))],2):e._e(),e._v(" "),e.available.length>0?t("div",{staticClass:"ui-box is-light"},[e.activated.length>0?t("h2",{staticClass:"ui-headline integrations-headline"},[e._v("Available")]):e._e(),e._v(" "),e._l(e.available,(function(e,n){return t("integration-item",{key:n,attrs:{model:e}})}))],2):e._e()],1)};Jh._withStripped=!0;const Kh=Da({render:Jh,staticRenderFns:[]},(function(e){e&&e("data-v-67e915d6_0",{source:"h2.ui-headline.integrations-headline {\n font-family: var(--font);\n color: var(--color-text);\n margin: 0 0 var(--padding);\n font-size: var(--font-size-l);\n font-weight: 700;\n padding-bottom: var(--padding-m);\n border-bottom: 1px dashed var(--color-line-dashed);\n}\n\n/*# sourceMappingURL=integrations.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\pages\\settings\\integrations.vue","integrations.vue"],names:[],mappings:"AAwCA;EAEA,wBAAA;EACA,wBAAA;EACA,0BAAA;EACA,6BAAA;EACA,gBAAA;EACA,gCAAA;EACA,kDAAA;ACxCA;;AAEA,2CAA2C",file:"integrations.vue",sourcesContent:['\ufeff<template>\r\n <div class="integrations">\r\n <ui-header-bar title="@integration.list" :count="count" :back-button="true" />\r\n <div class="ui-box" v-if="activated.length > 0">\r\n <h2 class="ui-headline integrations-headline">Activated</h2>\r\n <integration-item v-for="(item, index) in activated" :key="\'x\' + index" :model="item" :activated="true" />\r\n </div>\r\n <div class="ui-box is-light" v-if="available.length > 0">\r\n <h2 v-if="activated.length > 0" class="ui-headline integrations-headline">Available</h2>\r\n <integration-item v-for="(item, index) in available" :key="index" :model="item" />\r\n </div>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import IntegrationsApi from \'zero/api/integrations.js\';\r\n import IntegrationItem from \'./integrations-item.vue\';\r\n\r\n export default {\r\n data: () => ({\r\n count: 0,\r\n activated: [],\r\n available: []\r\n }),\r\n\r\n components: { IntegrationItem },\r\n\r\n mounted()\r\n {\r\n IntegrationsApi.getAll().then(res =>\r\n {\r\n this.activated = res.activated;\r\n this.available = res.available;\r\n });\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n h2.ui-headline.integrations-headline\r\n {\r\n font-family: var(--font);\r\n color: var(--color-text);\r\n margin: 0 0 var(--padding);\r\n font-size: var(--font-size-l);\r\n font-weight: 700;\r\n padding-bottom: var(--padding-m);\r\n border-bottom: 1px dashed var(--color-line-dashed); \r\n }\r\n</style>',"h2.ui-headline.integrations-headline {\n font-family: var(--font);\n color: var(--color-text);\n margin: 0 0 var(--padding);\n font-size: var(--font-size-l);\n font-weight: 700;\n padding-bottom: var(--padding-m);\n border-bottom: 1px dashed var(--color-line-dashed);\n}\n\n/*# sourceMappingURL=integrations.vue.map */"]},media:void 0})}),Vh,undefined,false,undefined,!1,Iu,void 0,void 0),Gh=__zero.alias.sections.settings,Xh=__zero.sections.find((e=>e.alias===Gh));let Qh=[],Zh=[];__zero.settingsAreas.forEach((e=>e.items.forEach((e=>{e.isPlugin||Qh.push(e)}))));const em=(e,n,t,r,i)=>{let o="object"==typeof e?e:Qh.find((n=>n.alias===e));o&&(Zh.push({name:o.alias,path:o.url,component:n,meta:{name:o.name}}),t&&r&&Zh.push({name:o.alias+"-create",path:o.url+"/create/:scope?",props:!0,component:t,meta:{create:!0,name:o.name}}),t&&Zh.push({name:o.alias+"-edit",path:o.url+"/edit/:id",props:!0,component:t,meta:{name:o.name}}),"function"==typeof i&&i(o))};Xh&&(Zh.push({name:Xh.alias,path:Xh.url,component:GA,meta:{name:Xh.name,alias:Xh.alias,section:Xh}}),em(__zero.alias.settings.applications,ZA,th,!0),em(__zero.alias.settings.countries,oh,lh,!0),em(__zero.alias.settings.languages,uh,Ah,!0),em(__zero.alias.settings.translations,$h,$h,!0),em(__zero.alias.settings.mails,_h,Bh,!0),em(__zero.alias.settings.integrations,Kh),em(__zero.alias.settings.users,gh,yh,!0,(e=>{Zh.push({name:"roles-create",path:"/"+Xh.alias+"/roles/create/:scope?",props:!0,component:xh,meta:{create:!0,name:e.name}}),Zh.push({name:"roles-edit",path:"/"+Xh.alias+"/roles/edit/:id",props:!0,component:xh,meta:{name:e.name}})})));var nm={getByAlias:async e=>await il("spaces/getByAlias",{params:{alias:e}}),getAll:async()=>await il("spaces/getAll"),getList:async(e,n)=>(n.alias=e,await il("spaces/getList",{params:n})),getContent:async(e,n)=>await il("spaces/getContent",{params:{alias:e,contentId:n}}),save:async e=>await ol("spaces/save",e),delete:async(e,n)=>await al("spaces/delete",{params:{alias:e,id:n}})};const tm={props:["config","space"],components:{UiEditor:Ou},data:()=>({disabled:!1,editor:null,meta:{},route:null,model:{name:null}}),computed:{id(){return this.$route.params.id},alias(){return this.$route.params.alias},isList(){return!!this.id}},watch:{$route:"setup"},methods:{setup(){this.editor=this.zero.getEditor("spaces."+this.space.alias)},onLoad(e){this.setup(),e.load(nm.getContent(this.alias,this.id)).then((e=>{this.disabled=!e.meta.canEdit,this.meta=e.meta,this.model=e.entity,this.route={name:"space-item",params:{alias:this.alias}}}))},onSubmit(e){e.handle(nm.save(this.model))},onDelete(e,n){n.hide(),this.$refs.form.onDelete(nm.delete.bind(this,this.alias,this.id))}}};var rm=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("ui-form",{ref:"form",staticClass:"space-editor",attrs:{route:e.route},on:{submit:e.onSubmit,load:e.onLoad},scopedSlots:e._u([{key:"default",fn:function(n){return[t("ui-form-header",{attrs:{title:e.space.name,"title-disabled":"editor"===e.space.view,disabled:e.disabled,"is-create":!e.id,state:n.state,"can-delete":e.meta.canDelete,"active-toggle":!0},on:{delete:e.onDelete},model:{value:e.model,callback:function(n){e.model=n},expression:"model"}}),e._v(" "),e.editor?t("ui-editor",{attrs:{config:e.editor,meta:e.meta,disabled:e.disabled,"active-toggle":!1},model:{value:e.model,callback:function(n){e.model=n},expression:"model"}}):e._e()]}}])})};rm._withStripped=!0;const im=Da({render:rm,staticRenderFns:[]},(function(e){e&&e("data-v-4f6f2594_0",{source:".space-editor .ui-header-bar + .editor > .ui-box {\n margin-top: 0;\n}\n.space-editor .editor-outer.-infos-aside {\n grid-template-columns: 1fr;\n}\n.space-editor .editor-outer.-infos-aside .editor-infos {\n margin: -31px var(--padding) 0;\n}\n\n/*# sourceMappingURL=editor.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\pages\\spaces\\views\\editor.vue","editor.vue"],names:[],mappings:"AAkFA;EAEA,aAAA;AClFA;ADqFA;EAEA,0BAAA;ACnFA;ADqFA;EAEA,8BAAA;ACpFA;;AAEA,qCAAqC",file:"editor.vue",sourcesContent:['\ufeff<template>\r\n <ui-form ref="form" class="space-editor" v-slot="form" @submit="onSubmit" @load="onLoad" :route="route">\r\n <ui-form-header v-model="model" :title="space.name" :title-disabled="space.view === \'editor\'" :disabled="disabled" :is-create="!id" :state="form.state" :can-delete="meta.canDelete" @delete="onDelete" :active-toggle="true" />\r\n <ui-editor v-if="editor" :config="editor" v-model="model" :meta="meta" :disabled="disabled" :active-toggle="false" />\r\n </ui-form>\r\n</template>\r\n\r\n\r\n<script>\r\n import SpacesApi from \'zero/api/spaces.js\';\r\n import UiEditor from \'zero/editor/editor.vue\';\r\n import Overlay from \'zero/helpers/overlay.js\';\r\n\r\n export default {\r\n props: [\'config\', \'space\'],\r\n\r\n components: { UiEditor },\r\n\r\n data: () => ({\r\n disabled: false,\r\n editor: null,\r\n meta: {},\r\n route: null, //zero.alias.sections.settings + \'-\' + zero.alias.settings.countries + \'-edit\',\r\n model: { name: null }\r\n }),\r\n\r\n computed: {\r\n id()\r\n {\r\n return this.$route.params.id;\r\n },\r\n alias()\r\n {\r\n return this.$route.params.alias;\r\n },\r\n isList()\r\n {\r\n return !!this.id;\r\n }\r\n },\r\n\r\n watch: {\r\n \'$route\': \'setup\'\r\n },\r\n\r\n methods: {\r\n\r\n setup()\r\n {\r\n this.editor = this.zero.getEditor(\'spaces.\' + this.space.alias);\r\n },\r\n\r\n onLoad(form)\r\n {\r\n this.setup();\r\n\r\n form.load(SpacesApi.getContent(this.alias, this.id)).then(response =>\r\n {\r\n this.disabled = !response.meta.canEdit; \r\n this.meta = response.meta;\r\n this.model = response.entity;\r\n this.route = { name: \'space-item\', params: { alias: this.alias } };\r\n });\r\n },\r\n\r\n\r\n onSubmit(form)\r\n {\r\n form.handle(SpacesApi.save(this.model));\r\n },\r\n\r\n\r\n onDelete(item, opts)\r\n {\r\n opts.hide();\r\n this.$refs.form.onDelete(SpacesApi.delete.bind(this, this.alias, this.id));\r\n } \r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .space-editor .ui-header-bar + .editor > .ui-box\r\n {\r\n margin-top: 0;\r\n }\r\n\r\n .space-editor .editor-outer.-infos-aside\r\n {\r\n grid-template-columns: 1fr;\r\n\r\n .editor-infos\r\n {\r\n margin: -31px var(--padding) 0;\r\n }\r\n }\r\n</style>',".space-editor .ui-header-bar + .editor > .ui-box {\n margin-top: 0;\n}\n\n.space-editor .editor-outer.-infos-aside {\n grid-template-columns: 1fr;\n}\n.space-editor .editor-outer.-infos-aside .editor-infos {\n margin: -31px var(--padding) 0;\n}\n\n/*# sourceMappingURL=editor.vue.map */"]},media:void 0})}),tm,undefined,false,undefined,!1,Iu,void 0,void 0),om=new lf("spaces.default");om.column("name").name(),om.column("createdDate").created(),om.column("isActive").active();const am={props:["space","config"],data:()=>({count:0,loading:!0,listRenderer:null,createRoute:{name:"space-create",params:{alias:null}}}),watch:{space:"load"},created(){this.load()},methods:{load(){this.loading=!0;const e="spaces."+this.space.alias,n=this.zero.getList(e)||om;this.createRoute.params.alias=this.space.alias,n.link=e=>({name:"space-item",params:{alias:this.space.alias,id:e.id}}),n.onFetch((e=>nm.getList(this.space.alias,e))),this.listRenderer=n,this.loading=!1},add(){this.$router.push({name:"space-create",params:{alias:this.space.alias}})}}};var sm=function(){var e=this,n=e.$createElement,t=e._self._c||n;return e.loading?e._e():t("div",{staticClass:"space-list"},[t("ui-header-bar",{attrs:{title:e.space.name,count:e.count,"title-empty":"List"}},[t("ui-table-filter",{attrs:{attach:e.$refs.table}}),e._v(" "),t("ui-add-button",{attrs:{route:e.createRoute}})],1),e._v(" "),t("div",{staticClass:"ui-blank-box"},[t("ui-table",{ref:"table",attrs:{config:e.listRenderer},on:{count:function(n){e.count=n}}})],1)],1)};sm._withStripped=!0;const lm=Da({render:sm,staticRenderFns:[]},undefined,am,undefined,false,undefined,!1,void 0,void 0,void 0);const cm={data:()=>({spaces:[],loaded:!1,component:null,space:null,spaceConfig:{},resizable:{axis:"x",min:260,max:520,save:"spaces-tree",handle:".ui-resizable"}}),computed:{isOverview(){return!this.$route.params.alias}},watch:{$route:"loadSpace"},created(){nm.getAll().then((e=>{this.spaces=e,this.loadSpace()}))},beforeRouteLeave(e,n,t){this.$refs.comp&&this.$refs.comp.beforeRouteLeave?this.$refs.comp.beforeRouteLeave(e,n,t):t()},beforeRouteUpdate(e,n,t){this.$refs.comp&&this.$refs.comp.beforeRouteLeave?this.$refs.comp.beforeRouteLeave(e,n,t):t()},methods:{loadSpace(){this.loaded=!1,this.$nextTick((()=>{if(this.isOverview){const e=this.spaces[0];e?this.$router.replace({name:"space",params:{alias:e.alias}}):(this.space=null,this.component=null,this.loaded=!0)}else{if(this.space=this.spaces.find((e=>e.alias===this.$route.params.alias)),"editor"===this.space.view||this.$route.params.id||this.$route.meta.create)this.component=im;else{if("list"!==this.space.view)throw"Not implemented. Custom space view";this.component=lm}this.loaded=!0}}))}}};var dm=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"spaces"},[t("div",{directives:[{name:"resizable",rawName:"v-resizable",value:e.resizable,expression:"resizable"}],staticClass:"app-tree spaces-tree"},[t("ui-header-bar",{attrs:{title:"@space.list"}}),e._v(" "),t("div",{staticClass:"spaces-tree-items"},e._l(e.spaces,(function(n){return t("router-link",{key:n.alias,staticClass:"spaces-tree-item",class:{"has-line":n.lineBelow},attrs:{to:{name:"space",params:{alias:n.alias}}}},[t("i",{staticClass:"spaces-tree-item-icon",class:n.icon}),e._v(" "),t("span",{staticClass:"spaces-tree-item-text"},[t("span",{directives:[{name:"localize",rawName:"v-localize",value:n.name,expression:"item.name"}]}),e._v(" "),n.description?t("span",{directives:[{name:"localize",rawName:"v-localize",value:n.description,expression:"item.description"}],staticClass:"-minor"}):e._e()])])})),1),e._v(" "),t("div",{staticClass:"spaces-tree-resizable ui-resizable"})],1),e._v(" "),!e.isOverview&&e.loaded&&e.component?t(e.component,{ref:"comp",tag:"component",staticClass:"spaces-main",attrs:{space:e.space,config:e.spaceConfig}}):e._e()],1)};dm._withStripped=!0;const um=Da({render:dm,staticRenderFns:[]},(function(e){e&&e("data-v-c54e875c_0",{source:".spaces {\n display: grid;\n grid-template-columns: auto 1fr;\n gap: 2px;\n justify-content: stretch;\n height: 100vh;\n}\n.spaces-main {\n min-height: 100vh;\n overflow-y: auto;\n}\n.spaces-overview {\n padding: 95px 0 0 60px;\n}\n.spaces-tree-items {\n margin-top: -13px;\n}\n.spaces-tree-item {\n display: grid;\n grid-template-columns: 30px 1fr auto;\n gap: 6px;\n height: 100%;\n align-items: center;\n position: relative;\n padding: 15px var(--padding);\n font-size: var(--font-size);\n color: var(--color-text);\n transition: color 0.2s ease;\n}\n.spaces-tree-item:hover > .spaces-tree-item-actions {\n transition-delay: 0.2s;\n opacity: 1;\n}\n.spaces-tree-item.is-active {\n background: var(--color-tree-selected);\n font-weight: bold;\n}\n.spaces-tree-item.is-active .spaces-tree-item-text span {\n font-weight: 400;\n}\n.spaces-tree-item.is-active .spaces-tree-item-text span:first-child {\n font-weight: 700;\n}\n.spaces-tree-item.is-active .spaces-tree-item-icon, .spaces-tree-item:hover .spaces-tree-item-icon {\n color: var(--color-text);\n}\n.spaces-tree-item-text {\n display: flex;\n flex-direction: column;\n}\n.spaces-tree-item-text .-minor {\n color: var(--color-text-dim);\n margin-top: 3px;\n}\n.spaces-tree-item-icon {\n font-size: 18px;\n line-height: 1;\n font-weight: 400;\n position: relative;\n top: -2px;\n color: var(--color-text-dim);\n transition: color 0.2s ease;\n}\n\n/*# sourceMappingURL=spaces.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\pages\\spaces\\spaces.vue","spaces.vue"],names:[],mappings:"AA2IA;EAEA,aAAA;EACA,+BAAA;EACA,QAAA;EACA,wBAAA;EACA,aAAA;AC3IA;AD8IA;EAEA,iBAAA;EACA,gBAAA;AC5IA;AD+IA;EAEA,sBAAA;AC7IA;ADgJA;EAEA,iBAAA;AC9IA;ADiJA;EAEA,aAAA;EACA,oCAAA;EACA,QAAA;EACA,YAAA;EACA,mBAAA;EACA,kBAAA;EACA,4BAAA;EACA,2BAAA;EACA,wBAAA;EACA,2BAAA;AC/IA;ADiJA;EAEA,sBAAA;EACA,UAAA;AChJA;ADmJA;EAEA,sCAAA;EACA,iBAAA;AClJA;ADoJA;EAEA,gBAAA;ACnJA;ADsJA;EAEA,gBAAA;ACrJA;AD2JA;EAEA,wBAAA;AC1JA;AD+JA;EAEA,aAAA;EACA,sBAAA;AC7JA;AD+JA;EAEA,4BAAA;EACA,eAAA;AC9JA;ADkKA;EAEA,eAAA;EACA,cAAA;EACA,gBAAA;EACA,kBAAA;EACA,SAAA;EACA,4BAAA;EACA,2BAAA;AChKA;;AAEA,qCAAqC",file:"spaces.vue",sourcesContent:['\ufeff<template>\r\n <div class="spaces">\r\n <div class="app-tree spaces-tree" v-resizable="resizable">\r\n <ui-header-bar title="@space.list" />\r\n\r\n <div class="spaces-tree-items">\r\n <router-link :to="{ name: \'space\', params: { alias: item.alias } }" v-for="item in spaces" :key="item.alias" class="spaces-tree-item" :class="{ \'has-line\': item.lineBelow }">\r\n <i class="spaces-tree-item-icon" :class="item.icon"></i>\r\n <span class="spaces-tree-item-text">\r\n <span v-localize="item.name"></span>\r\n <span class="-minor" v-if="item.description" v-localize="item.description"></span>\r\n </span>\r\n </router-link>\r\n </div>\r\n <div class="spaces-tree-resizable ui-resizable"></div>\r\n </div>\r\n\r\n <component class="spaces-main" v-if="!isOverview && loaded && component" ref="comp" :is="component" :space="space" :config="spaceConfig"></component>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n import SpaceEditor from \'zero/pages/spaces/views/editor.vue\';\r\n import SpaceList from \'zero/pages/spaces/views/list.vue\';\r\n import SpaceCustom from \'zero/pages/spaces/views/custom.vue\';\r\n import SpacesApi from \'zero/api/spaces.js\';\r\n\r\n export default {\r\n data: () => ({\r\n spaces: [],\r\n loaded: false,\r\n component: null,\r\n space: null,\r\n spaceConfig: {},\r\n resizable: {\r\n axis: \'x\',\r\n min: 260,\r\n max: 520,\r\n save: \'spaces-tree\',\r\n handle: \'.ui-resizable\'\r\n }\r\n }),\r\n\r\n computed: {\r\n isOverview()\r\n {\r\n return !this.$route.params.alias;\r\n }\r\n },\r\n\r\n watch: {\r\n \'$route\': \'loadSpace\'\r\n },\r\n\r\n created()\r\n {\r\n SpacesApi.getAll().then(response =>\r\n {\r\n this.spaces = response;\r\n this.loadSpace();\r\n });\r\n },\r\n\r\n beforeRouteLeave(to, from, next) \r\n {\r\n if (this.$refs.comp && this.$refs.comp.beforeRouteLeave)\r\n {\r\n this.$refs.comp.beforeRouteLeave(to, from, next);\r\n }\r\n else\r\n {\r\n next();\r\n }\r\n },\r\n\r\n beforeRouteUpdate(to, from, next)\r\n {\r\n if (this.$refs.comp && this.$refs.comp.beforeRouteLeave)\r\n {\r\n this.$refs.comp.beforeRouteLeave(to, from, next);\r\n }\r\n else\r\n {\r\n next();\r\n }\r\n },\r\n\r\n methods: {\r\n\r\n loadSpace()\r\n {\r\n this.loaded = false;\r\n\r\n this.$nextTick(() =>\r\n {\r\n if (this.isOverview)\r\n {\r\n const space = this.spaces[0];\r\n\r\n if (space)\r\n {\r\n this.$router.replace({\r\n name: \'space\',\r\n params: { alias: space.alias }\r\n });\r\n }\r\n else\r\n {\r\n this.space = null;\r\n this.component = null;\r\n this.loaded = true;\r\n }\r\n return;\r\n }\r\n\r\n this.space = this.spaces.find(space => space.alias === this.$route.params.alias);\r\n\r\n if (this.space.view === \'editor\' || this.$route.params.id || this.$route.meta.create)\r\n {\r\n this.component = SpaceEditor;\r\n }\r\n else if (this.space.view === \'list\')\r\n {\r\n this.component = SpaceList;\r\n }\r\n else\r\n {\r\n throw "Not implemented. Custom space view";\r\n }\r\n\r\n this.loaded = true;\r\n });\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n\r\n<style lang="scss">\r\n .spaces\r\n {\r\n display: grid;\r\n grid-template-columns: auto 1fr;\r\n gap: 2px;\r\n justify-content: stretch;\r\n height: 100vh;\r\n }\r\n\r\n .spaces-main\r\n {\r\n min-height: 100vh;\r\n overflow-y: auto;\r\n }\r\n\r\n .spaces-overview\r\n {\r\n padding: 95px 0 0 60px;\r\n }\r\n\r\n .spaces-tree-items\r\n {\r\n margin-top: -13px;\r\n }\r\n\r\n .spaces-tree-item\r\n {\r\n display: grid;\r\n grid-template-columns: 30px 1fr auto;\r\n gap: 6px;\r\n height: 100%;\r\n align-items: center;\r\n position: relative;\r\n padding: 15px var(--padding);\r\n font-size: var(--font-size);\r\n color: var(--color-text);\r\n transition: color 0.2s ease;\r\n\r\n &:hover > .spaces-tree-item-actions\r\n {\r\n transition-delay: 0.2s;\r\n opacity: 1;\r\n }\r\n\r\n &.is-active\r\n {\r\n background: var(--color-tree-selected);\r\n font-weight: bold;\r\n\r\n .spaces-tree-item-text span\r\n {\r\n font-weight: 400;\r\n }\r\n\r\n .spaces-tree-item-text span:first-child\r\n {\r\n font-weight: 700;\r\n }\r\n }\r\n\r\n &.is-active, &:hover\r\n {\r\n .spaces-tree-item-icon\r\n {\r\n color: var(--color-text);\r\n }\r\n }\r\n }\r\n\r\n .spaces-tree-item-text\r\n {\r\n display: flex;\r\n flex-direction: column;\r\n\r\n .-minor\r\n {\r\n color: var(--color-text-dim);\r\n margin-top: 3px;\r\n }\r\n }\r\n\r\n .spaces-tree-item-icon\r\n {\r\n font-size: 18px;\r\n line-height: 1;\r\n font-weight: 400;\r\n position: relative;\r\n top: -2px;\r\n color: var(--color-text-dim);\r\n transition: color 0.2s ease;\r\n }\r\n</style>',".spaces {\n display: grid;\n grid-template-columns: auto 1fr;\n gap: 2px;\n justify-content: stretch;\n height: 100vh;\n}\n\n.spaces-main {\n min-height: 100vh;\n overflow-y: auto;\n}\n\n.spaces-overview {\n padding: 95px 0 0 60px;\n}\n\n.spaces-tree-items {\n margin-top: -13px;\n}\n\n.spaces-tree-item {\n display: grid;\n grid-template-columns: 30px 1fr auto;\n gap: 6px;\n height: 100%;\n align-items: center;\n position: relative;\n padding: 15px var(--padding);\n font-size: var(--font-size);\n color: var(--color-text);\n transition: color 0.2s ease;\n}\n.spaces-tree-item:hover > .spaces-tree-item-actions {\n transition-delay: 0.2s;\n opacity: 1;\n}\n.spaces-tree-item.is-active {\n background: var(--color-tree-selected);\n font-weight: bold;\n}\n.spaces-tree-item.is-active .spaces-tree-item-text span {\n font-weight: 400;\n}\n.spaces-tree-item.is-active .spaces-tree-item-text span:first-child {\n font-weight: 700;\n}\n.spaces-tree-item.is-active .spaces-tree-item-icon, .spaces-tree-item:hover .spaces-tree-item-icon {\n color: var(--color-text);\n}\n\n.spaces-tree-item-text {\n display: flex;\n flex-direction: column;\n}\n.spaces-tree-item-text .-minor {\n color: var(--color-text-dim);\n margin-top: 3px;\n}\n\n.spaces-tree-item-icon {\n font-size: 18px;\n line-height: 1;\n font-weight: 400;\n position: relative;\n top: -2px;\n color: var(--color-text-dim);\n transition: color 0.2s ease;\n}\n\n/*# sourceMappingURL=spaces.vue.map */"]},media:void 0})}),cm,undefined,false,undefined,!1,Iu,void 0,void 0),pm=__zero.alias.sections.spaces,fm=__zero.sections.find((e=>e.alias===pm));var Am=fm?[{name:fm.alias,path:fm.url,component:um,meta:{name:fm.name,alias:fm.alias,section:fm},children:[{name:"space-item",path:":alias/edit/:id",props:!0,component:um},{name:"space",path:":alias",props:!0,component:um},{name:"space-create",path:":alias/create/:scope?",props:!0,component:um,meta:{create:!0}}]}]:[],hm=[{name:"preview",path:"/preview",component:Cf,meta:{name:"@preview.name"}},...zf,...gA,...YA,...Zh,...Am,{name:"404",path:"*",component:wf}];const mm=new class{constructor(e){xa.set(this,void 0),wa.set(this,void 0),this.routes=[],this.editors=[],this.lists=[],Sa(this,xa,e)}get name(){return _a(this,xa)}get install(){return _a(this,wa)}set install(e){Sa(this,wa,e)}addEditor(e){this.editors.push(e)}addEditors(e){(Array.isArray(e)?e:Object.values(e)).forEach((e=>this.addEditor(e)))}addList(e){this.lists.push(e)}addLists(e){(Array.isArray(e)?e:Object.values(e)).forEach((e=>this.addList(e)))}addRoute(e){this.routes.push(e)}addRoutes(e){e.forEach((e=>this.addRoute(e)))}}("zero");mm.addEditors(Kp),mm.addLists(vf),mm.addRoutes(hm);var gm=[],vm={version:"0.1.0",apiPath:"/zero/api/",path:"/zero/",media:{defaults:{images:[".jpg",".jpeg",".png",".webp",".svg"],images_natural:[".jpg",".jpeg",".webp"],images_artificial:[".png",".webp",".svg"]}}};var bm,ym,Cm,Em,xm,wm,km,_m={mode:"history",base:__zero.path,linkActiveClass:"is-active",linkExactActiveClass:"is-active-exact",beforeEach:(e,n,t)=>{let r=!1,i=()=>{let n=xu.localize("@zero.name"),r=e.meta.name;if(!r&&e.matched.length>1&&e.matched.forEach((e=>{!r&&e.meta.name&&(r=e.meta.name)})),!r||e.meta.alias===__zero.alias.sections.dashboard)return document.title=n,void t();let i=xc(r)?r:[r],o=[];i.forEach((e=>{e&&o.push(xu.localize(e))})),n+=": "+o.join(" - "),document.title=n,t()};if(n.matched.length&&n.matched[0].instances){let o=n.matched[0].instances.default;o.$refs.form&&"function"==typeof o.$refs.form.beforeRouteLeave&&(r=!0,o.$refs.form.beforeRouteLeave(e,n,(e=>{!1===e?t(!1):i()})))}r||i()},scrollBehavior:(e,n,t)=>t||{x:0,y:0}},Sm=(e,n,t)=>{if(!n.has(e))throw TypeError("Cannot "+t)},Dm=(e,n,t)=>(Sm(e,n,"read from private field"),t?t.call(e):n.get(e)),Bm=(e,n,t,r)=>(Sm(e,n,"write to private field"),r?r.call(e,t):n.set(e,t),t);class zm{constructor(e,n){this.config={...vm},bm.set(this,null),ym.set(this,[]),Cm.set(this,[]),Em.set(this,[]),xm.set(this,[]),wm.set(this,null),km.set(this,!1),this.config={...vm,...n},Bm(this,bm,e),this.use(mm)}get version(){return this.config.version}get plugins(){return Dm(this,ym)}get router(){return Dm(this,wm)}setup(){Bm(this,wm,new ya({..._m,routes:Dm(this,xm)})),Dm(this,wm).beforeEach(_m.beforeEach),Bm(this,km,!0)}useByPath(e){}use(e){"function"==typeof e.install&&e.install(Dm(this,bm),this),Dm(this,ym).push(e),Dm(this,km)?Dm(this,wm).addRoutes(e.routes):e.routes.forEach((e=>Dm(this,xm).push(e))),e.editors.forEach((e=>this.addOrReplace(Dm(this,Cm),e,"alias"))),e.lists.forEach((e=>this.addOrReplace(Dm(this,Em),e,"alias"))),console.log(`[zero] Installed %c${e.name}%cplugin`,"font-style:italic;")}getEditor(e){const n=Dm(this,Cm).find((n=>n.alias===e));return n||console.warn("[zero] Could not find editor renderer "+e),n}getList(e){const n=Dm(this,Em).find((n=>n.alias===e));return n||console.warn("[zero] Could not find list renderer "+e),n}addOrReplace(e,n,t){const r=e.find((e=>e[t]===n[t]));if(r){const t=e.indexOf(r);e.splice(t,1,n)}else e.push(n)}}bm=new WeakMap,ym=new WeakMap,Cm=new WeakMap,Em=new WeakMap,xm=new WeakMap,wm=new WeakMap,km=new WeakMap,zm.install=(e,n)=>{const t=new zm(e,n);zm.instance=t,Object.defineProperty(e.prototype,"zero",{get:()=>t}),t.setup(),console.log("[zero] Setup completed"),gm.forEach((e=>{t.use(e)}))};const Om={props:{config:Object},data:()=>({loading:!1,model:{currentPassword:null,newPassword:null,confirmNewPassword:null}}),methods:{onSubmit(e){e.handle(Af.updatePassword(this.model)).then((e=>{setTimeout((()=>{Im.rejectUser("@login.rejectReasons.passwordchanged")}),500)}),(e=>{console.info("login: error",e)}))}}};var Mm=function(){var e=this,n=e.$createElement,t=e._self._c||n;return e.loading?e._e():t("ui-form",{ref:"form",staticClass:"app-password-change",on:{submit:e.onSubmit},scopedSlots:e._u([{key:"default",fn:function(n){return[t("h2",{directives:[{name:"localize",rawName:"v-localize",value:e.config.title,expression:"config.title"}],staticClass:"ui-headline"}),e._v(" "),t("div",{staticClass:"app-password-change-fields"},[t("ui-property",{attrs:{label:"@changepasswordoverlay.fields.currentPassword",required:!0,vertical:!0}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.model.currentPassword,expression:"model.currentPassword"}],staticClass:"ui-input",attrs:{type:"password",maxlength:"160"},domProps:{value:e.model.currentPassword},on:{input:function(n){n.target.composing||e.$set(e.model,"currentPassword",n.target.value)}}})]),e._v(" "),t("ui-property",{attrs:{label:"@changepasswordoverlay.fields.newPassword",required:!0,vertical:!0}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.model.newPassword,expression:"model.newPassword"}],staticClass:"ui-input",attrs:{type:"password",maxlength:"160"},domProps:{value:e.model.newPassword},on:{input:function(n){n.target.composing||e.$set(e.model,"newPassword",n.target.value)}}})]),e._v(" "),t("ui-property",{attrs:{label:"@changepasswordoverlay.fields.confirmNewPassword",required:!0,vertical:!0}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.model.confirmNewPassword,expression:"model.confirmNewPassword"}],staticClass:"ui-input",attrs:{type:"password",maxlength:"160"},domProps:{value:e.model.confirmNewPassword},on:{input:function(n){n.target.composing||e.$set(e.model,"confirmNewPassword",n.target.value)}}}),e._v(" "),t("ui-error",{attrs:{"catch-remaining":!0}})],1)],1),e._v(" "),t("div",{staticClass:"app-confirm-buttons"},[t("ui-button",{attrs:{type:"primary",submit:!0,state:n.state,label:e.config.confirmLabel}}),e._v(" "),t("ui-button",{attrs:{type:"light",label:e.config.closeLabel,disabled:e.loading},on:{click:e.config.close}})],1)]}}],null,!1,2322481060)})};Mm._withStripped=!0;const Tm=Da({render:Mm,staticRenderFns:[]},(function(e){e&&e("data-v-acfbcf60_0",{source:".app-password-change {\n text-align: left;\n}\n.app-password-change-fields {\n margin-top: var(--padding);\n}\n.app-password-change-fields .ui-property + .ui-property, .app-password-change-fields .ui-split + .ui-property {\n margin-top: var(--padding);\n}\n\n/*.translation-items\n{\n margin-top: var(--padding);\n\n .ui-property + .ui-property,\n .ui-split + .ui-property\n {\n margin-top: 0;\n }\n}*/\n\n/*# sourceMappingURL=password-change.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\pages\\password-change.vue","password-change.vue"],names:[],mappings:"AAgEA;EAEA,gBAAA;AChEA;ADmEA;EAEA,0BAAA;ACjEA;ADmEA;EAEA,0BAAA;AClEA;;ADsEA;;;;;;;;;EAAA;;ACzDA,8CAA8C",file:"password-change.vue",sourcesContent:['\ufeff<template>\r\n <ui-form v-if="!loading" ref="form" class="app-password-change" v-slot="form" @submit="onSubmit">\r\n <h2 class="ui-headline" v-localize="config.title"></h2>\r\n\r\n <div class="app-password-change-fields">\r\n <ui-property label="@changepasswordoverlay.fields.currentPassword" :required="true" :vertical="true">\r\n <input v-model="model.currentPassword" type="password" class="ui-input" maxlength="160" />\r\n </ui-property>\r\n <ui-property label="@changepasswordoverlay.fields.newPassword" :required="true" :vertical="true">\r\n <input v-model="model.newPassword" type="password" class="ui-input" maxlength="160" />\r\n </ui-property>\r\n <ui-property label="@changepasswordoverlay.fields.confirmNewPassword" :required="true" :vertical="true">\r\n <input v-model="model.confirmNewPassword" type="password" class="ui-input" maxlength="160" />\r\n <ui-error :catch-remaining="true" />\r\n </ui-property>\r\n </div>\r\n\r\n <div class="app-confirm-buttons">\r\n <ui-button type="primary" :submit="true" :state="form.state" :label="config.confirmLabel"></ui-button>\r\n <ui-button type="light" :label="config.closeLabel" :disabled="loading" @click="config.close"></ui-button>\r\n </div>\r\n </ui-form>\r\n</template>\r\n\r\n\r\n<script>\r\n import AuthApi from \'zero/helpers/auth.js\'\r\n import UsersApi from \'zero/api/users.js\'\r\n\r\n export default {\r\n\r\n props: {\r\n config: Object\r\n },\r\n\r\n data: () => ({\r\n loading: false,\r\n model: {\r\n currentPassword: null,\r\n newPassword: null,\r\n confirmNewPassword: null\r\n }\r\n }),\r\n\r\n methods: {\r\n\r\n onSubmit(form)\r\n {\r\n form.handle(UsersApi.updatePassword(this.model)).then(res =>\r\n {\r\n setTimeout(() =>\r\n {\r\n AuthApi.rejectUser("@login.rejectReasons.passwordchanged");\r\n }, 500);\r\n }, errors =>\r\n {\r\n console.info(\'login: error\', errors);\r\n });\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .app-password-change\r\n {\r\n text-align: left;\r\n }\r\n\r\n .app-password-change-fields\r\n {\r\n margin-top: var(--padding);\r\n\r\n .ui-property + .ui-property, .ui-split + .ui-property\r\n {\r\n margin-top: var(--padding);\r\n }\r\n }\r\n\r\n /*.translation-items\r\n {\r\n margin-top: var(--padding);\r\n\r\n .ui-property + .ui-property,\r\n .ui-split + .ui-property\r\n {\r\n margin-top: 0;\r\n }\r\n }*/\r\n</style>',".app-password-change {\n text-align: left;\n}\n\n.app-password-change-fields {\n margin-top: var(--padding);\n}\n.app-password-change-fields .ui-property + .ui-property, .app-password-change-fields .ui-split + .ui-property {\n margin-top: var(--padding);\n}\n\n/*.translation-items\n{\n margin-top: var(--padding);\n\n .ui-property + .ui-property,\n .ui-split + .ui-property\n {\n margin-top: 0;\n }\n}*/\n\n/*# sourceMappingURL=password-change.vue.map */"]},media:void 0})}),Om,undefined,false,undefined,!1,Iu,void 0,void 0);var Im=new xt({data:()=>({isAuthenticated:!1,rejectReason:null,user:{name:null,email:null}}),watch:{isAuthenticated(e){this.$emit("authenticated",e)},user(e){this.$emit("user",e)}},methods:{loadUser(){rl.get("authentication/getUser").then((e=>{this.isAuthenticated=e.data.success&&e.data.model,e.data.success&&(this.user=e.data.model)}))},rejectUser(e){this.rejectReason=e,this.isAuthenticated=!1,this.user=null},setUser(e){e?(this.isAuthenticated=!0,this.user=e):this.rejectUser()},login(e){return rl.post("authentication/loginUser",e).then((e=>new Promise(((n,t)=>{e.data.success?(this.setUser(e.data.model),n(e.data)):(this.rejectUser(),t(e.data.errors))}))))},logout(){let e=rl.post("authentication/logoutUser");return this.rejectUser("@login.rejectReasons.logout"),e},switchApp:e=>rl.post("authentication/switchApp",null,{params:{appId:e}}).then((e=>Promise.resolve(e.data.success))),openPasswordOverlay:()=>Uu.open({title:"@changepasswordoverlay.title",closeLabel:"@ui.close",confirmLabel:"@changepasswordoverlay.confirm",component:Tm})}});const $m={props:{model:String,config:Object},data:()=>({colors:["default","gray","blue-gray","blue","teal","green","lime","yellow","orange","red","purple","brown"],icon:null,color:null,query:"",items:[]}),watch:{model(){this.init()},query(){this.debouncedSearch()}},created(){this.debouncedSearch=zd(this.search,100),this.items=this.config.items,this.init()},mounted(){let e=this.$el.querySelector(".ui-iconpicker-overlay-item.is-active");if(e){let n=this.$el.querySelector("content");const t=e.offsetTop-.5*n.clientHeight-30;n.scrollTop=t<0?0:t}},methods:{confirm(){const e=(this.icon||"")+" "+(this.color||"").trim();this.config.confirm(e)},select(e){this.icon=e,this.confirm()},selectColor(e){this.color="default"===e?null:"color-"+e},init(){if(this.model){const e=this.model.split(" ");this.icon=e[0],this.color=e.length>1?e[1]:null}else this.icon=null,this.color=null},search(){const e=this.query;this.items=e?Jd(this.config.items,(function(n){return n.toLowerCase().indexOf(e)>-1})):this.config.items}}};var Nm=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("ui-overlay-editor",{staticClass:"ui-iconpicker-overlay",scopedSlots:e._u([{key:"header",fn:function(){return[t("ui-header-bar",{attrs:{title:e.config.title,"back-button":!1,"close-button":!0}})]},proxy:!0},{key:"footer",fn:function(){return[t("ui-button",{attrs:{type:"light onbg",label:e.config.closeLabel},on:{click:e.config.hide}})]},proxy:!0}])},[e._v(" "),e._v(" "),t("ui-search",{staticClass:"ui-iconpicker-overlay-search onbg",model:{value:e.query,callback:function(n){e.query=n},expression:"query"}}),e._v(" "),e.config.colors?t("div",{staticClass:"ui-iconpicker-overlay-colors"},e._l(e.colors,(function(n){var r;return t("i",{class:(r={"is-active":"color-"+n===e.color||"default"===n&&!e.color},r["bg-color-"+n]=!0,r),attrs:{title:n},on:{click:function(t){return e.selectColor(n)}}})})),0):e._e(),e._v(" "),t("hr",{staticClass:"ui-iconpicker-overlay-line"}),e._v(" "),t("div",{staticClass:"ui-iconpicker-overlay-items"},e._l(e.items,(function(n){var r;return t("button",{staticClass:"ui-iconpicker-overlay-item",class:(r={"is-active":n===e.icon},r[e.color]=n===e.icon,r),attrs:{type:"button",title:n},on:{click:function(t){return e.select(n)}}},[t("i",{class:n})])})),0)],1)};Nm._withStripped=!0;const Rm=Da({render:Nm,staticRenderFns:[]},(function(e){e&&e("data-v-f07544a4_0",{source:".ui-iconpicker-overlay content {\n padding-top: 0;\n}\n.ui-iconpicker-overlay-items {\n display: grid;\n gap: 0;\n grid-template-columns: repeat(auto-fill, 61px);\n align-items: stretch;\n}\n.ui-iconpicker-overlay-item {\n display: block;\n text-align: center;\n font-size: 20px;\n height: 60px;\n border-radius: var(--radius);\n /*border: 2px solid transparent;*/\n}\n.ui-iconpicker-overlay-item.is-active {\n background: var(--color-box);\n color: var(--color-text);\n box-shadow: var(--shadow-short);\n}\n.ui-iconpicker-overlay-search {\n margin-bottom: 20px;\n}\n.ui-iconpicker-overlay-colors {\n text-align: center;\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin: 0 20px;\n}\n.ui-iconpicker-overlay-colors i {\n display: inline-block;\n width: 16px;\n height: 16px;\n border-radius: 20px;\n cursor: pointer;\n transition: transform 0.2s ease;\n}\n.ui-iconpicker-overlay-colors i.is-active {\n transform: scale(1.4);\n}\n\n/*# sourceMappingURL=overlay.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\pickers\\iconPicker\\overlay.vue","overlay.vue"],names:[],mappings:"AAiIA;EAEA,cAAA;ACjIA;ADoIA;EAEA,aAAA;EACA,MAAA;EACA,8CAAA;EACA,oBAAA;AClIA;ADqIA;EAEA,cAAA;EACA,kBAAA;EACA,eAAA;EACA,YAAA;EACA,4BAAA;EACA,iCAAA;ACnIA;ADqIA;EAEA,4BAAA;EACA,wBAAA;EACA,+BAAA;ACpIA;AD6IA;EAEA,mBAAA;AC5IA;AD+IA;EAEA,kBAAA;EACA,aAAA;EACA,8BAAA;EACA,mBAAA;EACA,cAAA;AC7IA;AD+IA;EAEA,qBAAA;EACA,WAAA;EACA,YAAA;EACA,mBAAA;EACA,eAAA;EACA,+BAAA;AC9IA;ADgJA;EAEA,qBAAA;AC/IA;;AAEA,sCAAsC",file:"overlay.vue",sourcesContent:["\ufeff<template>\r\n <ui-overlay-editor class=\"ui-iconpicker-overlay\">\r\n <template v-slot:header>\r\n <ui-header-bar :title=\"config.title\" :back-button=\"false\" :close-button=\"true\" />\r\n </template>\r\n <template v-slot:footer>\r\n <ui-button type=\"light onbg\" :label=\"config.closeLabel\" @click=\"config.hide\"></ui-button>\r\n </template>\r\n\r\n <ui-search class=\"ui-iconpicker-overlay-search onbg\" v-model=\"query\" />\r\n\r\n <div class=\"ui-iconpicker-overlay-colors\" v-if=\"config.colors\">\r\n <i v-for=\"col in colors\" :class=\"{ 'is-active': ('color-' + col) === color || (col === 'default' && !color), ['bg-color-' + col]: true }\" @click=\"selectColor(col)\" :title=\"col\"></i>\r\n </div>\r\n\r\n <hr class=\"ui-iconpicker-overlay-line\">\r\n\r\n <div class=\"ui-iconpicker-overlay-items\">\r\n <button v-for=\"item in items\" type=\"button\" class=\"ui-iconpicker-overlay-item\" :class=\"{ 'is-active': item === icon, [color]: item === icon }\" :title=\"item\" @click=\"select(item)\">\r\n <i :class=\"item\"></i>\r\n </button>\r\n </div>\r\n </ui-overlay-editor>\r\n</template>\r\n\r\n\r\n<script>\r\n import { debounce as _debounce, filter as _filter } from 'underscore';\r\n\r\n export default {\r\n\r\n props: {\r\n model: String,\r\n config: Object\r\n },\r\n\r\n data: () => ({\r\n colors: [ 'default', 'gray', 'blue-gray', 'blue', 'teal', 'green', 'lime', 'yellow', 'orange', 'red', 'purple', 'brown' ],\r\n icon: null,\r\n color: null,\r\n query: '',\r\n items: []\r\n }),\r\n\r\n watch: {\r\n model()\r\n {\r\n this.init();\r\n },\r\n query()\r\n {\r\n this.debouncedSearch();\r\n }\r\n },\r\n\r\n created()\r\n {\r\n this.debouncedSearch = _debounce(this.search, 100);\r\n this.items = this.config.items;\r\n this.init();\r\n },\r\n\r\n mounted()\r\n {\r\n let $selected = this.$el.querySelector('.ui-iconpicker-overlay-item.is-active');\r\n\r\n if ($selected)\r\n {\r\n let $scrollable = this.$el.querySelector('content');\r\n const offset = $selected.offsetTop - $scrollable.clientHeight * 0.5 - 30;\r\n $scrollable.scrollTop = offset < 0 ? 0 : offset;\r\n }\r\n },\r\n\r\n methods: {\r\n\r\n confirm()\r\n {\r\n const result = (this.icon || '') + ' ' + (this.color || '').trim();\r\n this.config.confirm(result);\r\n },\r\n\r\n select(item)\r\n {\r\n this.icon = item;\r\n this.confirm();\r\n },\r\n\r\n selectColor(color)\r\n {\r\n this.color = color === 'default' ? null : 'color-' + color;\r\n },\r\n\r\n init()\r\n {\r\n if (!this.model)\r\n {\r\n this.icon = null;\r\n this.color = null;\r\n }\r\n else\r\n {\r\n const parts = this.model.split(' ');\r\n this.icon = parts[0];\r\n this.color = parts.length > 1 ? parts[1] : null;\r\n }\r\n },\r\n\r\n search()\r\n {\r\n const query = this.query;\r\n\r\n if (!query)\r\n {\r\n this.items = this.config.items;\r\n }\r\n else\r\n {\r\n this.items = _filter(this.config.items, function (item)\r\n {\r\n return item.toLowerCase().indexOf(query) > -1;\r\n })\r\n }\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang=\"scss\">\r\n .ui-iconpicker-overlay content\r\n {\r\n padding-top: 0;\r\n }\r\n\r\n .ui-iconpicker-overlay-items\r\n {\r\n display: grid;\r\n gap: 0;\r\n grid-template-columns: repeat(auto-fill, 61px);\r\n align-items: stretch;\r\n }\r\n\r\n .ui-iconpicker-overlay-item\r\n {\r\n display: block;\r\n text-align: center;\r\n font-size: 20px;\r\n height: 60px;\r\n border-radius: var(--radius);\r\n /*border: 2px solid transparent;*/\r\n\r\n &.is-active\r\n {\r\n background: var(--color-box);\r\n color: var(--color-text);\r\n box-shadow: var(--shadow-short);\r\n }\r\n\r\n &.is-active\r\n {\r\n //color: var(--color-primary);\r\n }\r\n }\r\n\r\n .ui-iconpicker-overlay-search\r\n {\r\n margin-bottom: 20px;\r\n }\r\n\r\n .ui-iconpicker-overlay-colors\r\n {\r\n text-align: center;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n margin: 0 20px;\r\n\r\n i\r\n {\r\n display: inline-block;\r\n width: 16px;\r\n height: 16px;\r\n border-radius: 20px;\r\n cursor: pointer;\r\n transition: transform 0.2s ease;\r\n\r\n &.is-active\r\n {\r\n transform: scale(1.4);\r\n }\r\n }\r\n }\r\n\r\n .ui-iconpicker-overlay-line\r\n {\r\n\r\n }\r\n</style>",".ui-iconpicker-overlay content {\n padding-top: 0;\n}\n\n.ui-iconpicker-overlay-items {\n display: grid;\n gap: 0;\n grid-template-columns: repeat(auto-fill, 61px);\n align-items: stretch;\n}\n\n.ui-iconpicker-overlay-item {\n display: block;\n text-align: center;\n font-size: 20px;\n height: 60px;\n border-radius: var(--radius);\n /*border: 2px solid transparent;*/\n}\n.ui-iconpicker-overlay-item.is-active {\n background: var(--color-box);\n color: var(--color-text);\n box-shadow: var(--shadow-short);\n}\n.ui-iconpicker-overlay-search {\n margin-bottom: 20px;\n}\n\n.ui-iconpicker-overlay-colors {\n text-align: center;\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin: 0 20px;\n}\n.ui-iconpicker-overlay-colors i {\n display: inline-block;\n width: 16px;\n height: 16px;\n border-radius: 20px;\n cursor: pointer;\n transition: transform 0.2s ease;\n}\n.ui-iconpicker-overlay-colors i.is-active {\n transform: scale(1.4);\n}\n\n/*# sourceMappingURL=overlay.vue.map */"]},media:void 0})}),$m,undefined,false,undefined,!1,Iu,void 0,void 0),Fm=["fth-alert-octagon","fth-alert-circle","fth-activity","fth-alert-triangle","fth-align-center","fth-airplay","fth-align-justify","fth-align-left","fth-align-right","fth-arrow-down-left","fth-arrow-down-right","fth-anchor","fth-aperture","fth-arrow-left","fth-arrow-right","fth-arrow-down","fth-arrow-up-left","fth-arrow-up-right","fth-arrow-up","fth-award","fth-bar-chart","fth-at-sign","fth-bar-chart-2","fth-battery-charging","fth-bell-off","fth-battery","fth-bluetooth","fth-bell","fth-book","fth-briefcase","fth-camera-off","fth-calendar","fth-bookmark","fth-box","fth-camera","fth-check-circle","fth-check","fth-check-square","fth-cast","fth-chevron-down","fth-chevron-left","fth-chevron-right","fth-chevron-up","fth-chevrons-down","fth-chevrons-right","fth-chevrons-up","fth-chevrons-left","fth-circle","fth-clipboard","fth-chrome","fth-clock","fth-cloud-lightning","fth-cloud-drizzle","fth-cloud-rain","fth-cloud-off","fth-codepen","fth-cloud-snow","fth-compass","fth-copy","fth-corner-down-right","fth-corner-down-left","fth-corner-left-down","fth-corner-left-up","fth-corner-up-left","fth-corner-up-right","fth-corner-right-down","fth-corner-right-up","fth-cpu","fth-credit-card","fth-crosshair","fth-disc","fth-delete","fth-download-cloud","fth-download","fth-droplet","fth-edit-2","fth-edit","fth-edit-1","fth-external-link","fth-eye","fth-feather","fth-facebook","fth-file-minus","fth-eye-off","fth-fast-forward","fth-file-text","fth-film","fth-file","fth-file-plus","fth-folder","fth-filter","fth-flag","fth-globe","fth-grid","fth-heart","fth-home","fth-github","fth-image","fth-inbox","fth-layers","fth-info","fth-instagram","fth-layout","fth-link-2","fth-life-buoy","fth-link","fth-log-in","fth-list","fth-lock","fth-log-out","fth-loader","fth-mail","fth-maximize-2","fth-map","fth-map-pin","fth-menu","fth-message-circle","fth-message-square","fth-minimize-2","fth-mic-off","fth-minus-circle","fth-mic","fth-minus-square","fth-minus","fth-moon","fth-monitor","fth-more-vertical","fth-more-horizontal","fth-move","fth-music","fth-navigation-2","fth-navigation","fth-octagon","fth-package","fth-pause-circle","fth-pause","fth-percent","fth-phone-call","fth-phone-forwarded","fth-phone-missed","fth-phone-off","fth-phone-incoming","fth-phone","fth-phone-outgoing","fth-pie-chart","fth-play-circle","fth-play","fth-plus-square","fth-plus-circle","fth-plus","fth-pocket","fth-printer","fth-power","fth-radio","fth-repeat","fth-refresh-ccw","fth-rewind","fth-rotate-ccw","fth-refresh-cw","fth-rotate-cw","fth-save","fth-search","fth-server","fth-scissors","fth-share-2","fth-share","fth-shield","fth-settings","fth-skip-back","fth-shuffle","fth-sidebar","fth-skip-forward","fth-slack","fth-slash","fth-smartphone","fth-square","fth-speaker","fth-star","fth-stop-circle","fth-sun","fth-sunrise","fth-tablet","fth-tag","fth-sunset","fth-target","fth-thermometer","fth-thumbs-up","fth-thumbs-down","fth-toggle-left","fth-toggle-right","fth-trash-2","fth-trash","fth-trending-up","fth-trending-down","fth-triangle","fth-type","fth-twitter","fth-upload","fth-umbrella","fth-upload-cloud","fth-unlock","fth-user-check","fth-user-minus","fth-user-plus","fth-user-x","fth-user","fth-users","fth-video-off","fth-video","fth-voicemail","fth-volume-x","fth-volume-2","fth-volume-1","fth-volume","fth-watch","fth-wifi","fth-x-square","fth-wind","fth-x","fth-x-circle","fth-zap","fth-zoom-in","fth-zoom-out","fth-command","fth-cloud","fth-hash","fth-headphones","fth-underline","fth-italic","fth-bold","fth-crop","fth-help-circle","fth-paperclip","fth-shopping-cart","fth-tv","fth-wifi-off","fth-minimize","fth-maximize","fth-gitlab","fth-sliders","fth-star-on","fth-heart-on","fth-archive","fth-arrow-down-circle","fth-arrow-up-circle","fth-arrow-left-circle","fth-arrow-right-circle","fth-bar-chart-line-","fth-bar-chart-line","fth-book-open","fth-code","fth-database","fth-dollar-sign","fth-folder-plus","fth-gift","fth-folder-minus","fth-git-commit","fth-git-branch","fth-git-pull-request","fth-git-merge","fth-linkedin","fth-hard-drive","fth-more-vertical","fth-more-horizontal","fth-rss","fth-send","fth-shield-off","fth-shopping-bag","fth-terminal","fth-truck","fth-zap-off","fth-youtube","fth-google"];const Lm={name:"uiIconpicker",props:{value:{type:String,default:null},disabled:{type:Boolean,default:!1},colors:{type:Boolean,default:!1},output:{type:Boolean,default:!0},options:{type:Object,default:()=>({})}},computed:{buttonDescription(){return this.value?this.value.split(" ")[0]:"@ui.icon_select"},previewIcon(){return this.value||"fth-plus"}},methods:{onChange(e){this.$emit("change",e),this.$emit("input",e)},pick(){if(this.disabled)return;let e=Qc({title:"@iconpicker.title",closeLabel:"@ui.close",component:Rm,display:"editor",items:Fm,model:this.value,colors:this.colors},"object"==typeof this.options?this.options:{});return Uu.open(e).then((e=>{this.onChange(e)}))}}};var Pm=function(){var e=this,n=e.$createElement,t=e._self._c||n;return e.output?t("div",{staticClass:"ui-iconpicker",class:{"is-disabled":e.disabled}},[t("input",{ref:"input",attrs:{type:"hidden"},domProps:{value:e.value}}),e._v(" "),t("ui-select-button",{attrs:{icon:e.previewIcon,label:"@ui.icon",description:e.buttonDescription,disabled:e.disabled},on:{click:e.pick}})],1):e._e()};Pm._withStripped=!0;const jm=Da({render:Pm,staticRenderFns:[]},undefined,Lm,undefined,false,undefined,!1,void 0,void 0,void 0);const Ym={name:"app-navigation",data:()=>({appId:zero.appId,applications:zero.applications,sections:zero.sections,user:null,userAvatar:null,compact:!1}),components:{IconPicker:jm},computed:{currentApplication(){return Yd(this.applications,(e=>e.id===zero.appId))}},created(){this.buildUser(Im.user),Im.$on("user",(e=>{this.buildUser(e)}))},methods:{buildUser(e){this.user=e,e&&e.avatarId?this.userAvatar=kp.getImageSource(e.avatarId,!1,!0):this.userAvatar=null},hasChildren:e=>e.children&&e.children.length>0,editUser(e,n){n.hide(),this.$router.push({name:zero.alias.settings.users+"-edit",params:{id:this.user.id}})},changePassword(e,n){Im.openPasswordOverlay(),n.hide()},logout(e,n){Im.logout(),n.hide()},addApplication(e,n){n.hide(),this.$router.push({name:zero.alias.settings.applications+"-create"})},manageApplications(e,n){n.hide(),this.$router.push({name:zero.alias.settings.applications})},applicationChanged(e,n){n.loading(!0),Im.switchApp(e.id).then((e=>{n.loading(!1),n.hide(),e&&location.reload()}))}}};var Um=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"app-nav theme-dark",class:{"is-compact":e.compact}},[t("h1",{staticClass:"app-nav-headline"},[t("img",{directives:[{name:"localize",rawName:"v-localize:alt",value:"@zero.name",expression:"'@zero.name'",arg:"alt"}],attrs:{src:"/Assets/zero-2.png"}})]),e._v(" "),e.applications.length>0?t("ui-dropdown",{staticClass:"app-nav-switch",scopedSlots:e._u([{key:"button",fn:function(){return[t("ui-button",{attrs:{type:"light block",label:e.currentApplication.name,caret:"down"}})]},proxy:!0}],null,!1,1559454485)},[e._v(" "),e._l(e.applications,(function(n){return t("ui-dropdown-button",{key:n.id,attrs:{value:n,label:n.name,selected:n.id===e.appId},on:{click:e.applicationChanged}})})),e._v(" "),t("ui-dropdown-separator"),e._v(" "),t("ui-dropdown-button",{attrs:{label:"Add new application",icon:"fth-plus"},on:{click:e.addApplication}}),e._v(" "),t("ui-dropdown-button",{attrs:{label:"Manage apps",icon:"fth-edit-2"},on:{click:e.manageApplications}})],2):e._e(),e._v(" "),t("nav",{staticClass:"app-nav-inner"},[e._l(e.sections,(function(n){return[t("router-link",{staticClass:"app-nav-item",class:{"has-children":e.hasChildren(n)},attrs:{to:n.url,alias:n.alias}},[t("ui-icon",{staticClass:"app-nav-item-icon",attrs:{icon:n.icon}}),e._v(" "),t("span",{directives:[{name:"localize",rawName:"v-localize",value:n.name,expression:"section.name"}],staticClass:"app-nav-item-text"}),e._v(" "),e.hasChildren(n)?t("ui-icon",{staticClass:"app-nav-item-arrow",attrs:{icon:"chevron-down"}}):e._e()],1),e._v(" "),t("transition",{attrs:{name:"app-nav-children"}},[e.hasChildren(n)&&0===e.$route.path.indexOf("/"+n.alias)?t("div",{staticClass:"app-nav-children"},e._l(n.children,(function(e){return t("router-link",{key:e.alias,staticClass:"app-nav-child",attrs:{to:e.url}},[t("span",{directives:[{name:"localize",rawName:"v-localize",value:e.name,expression:"child.name"}],staticClass:"app-nav-child-text"})])})),1):e._e()])]}))],2),e._v(" "),e.user?t("footer",{staticClass:"app-nav-account"},[t("ui-dropdown",{attrs:{align:"left bottom"},scopedSlots:e._u([{key:"button",fn:function(){return[t("button",{staticClass:"app-nav-account-button",attrs:{type:"button"}},[e.userAvatar?t("img",{staticClass:"-image",attrs:{src:e.userAvatar,alt:e.user.name}}):e._e(),e._v(" "),e.userAvatar?e._e():t("span",{staticClass:"-image"},[t("i",{staticClass:"fth-user"})]),e._v(" "),t("p",{staticClass:"-text"},[t("strong",[e._v(e._s(e.user.name))])]),e._v(" "),t("ui-icon",{staticClass:"-arrow",attrs:{icon:"chevron-down"}})],1)]},proxy:!0}],null,!1,2556612944)},[e._v(" "),t("ui-dropdown-button",{attrs:{label:"Edit",icon:"edit-2"},on:{click:e.editUser}}),e._v(" "),t("ui-dropdown-button",{attrs:{label:"Change password",icon:"lock"},on:{click:e.changePassword}}),e._v(" "),t("ui-dropdown-button",{attrs:{label:"Toggle sidebar",icon:"fth-minimize-2"},on:{click:function(n){e.compact=!e.compact}}}),e._v(" "),t("ui-dropdown-button",{attrs:{label:"Logout",icon:"log-out"},on:{click:e.logout}})],1)],1):e._e()],1)};Um._withStripped=!0;const qm=Da({render:Um,staticRenderFns:[]},undefined,Ym,undefined,false,undefined,!1,void 0,void 0,void 0);const Hm={name:"app-login",data:()=>({rejectReason:null,model:{email:null,password:null,isPersistent:!0}}),created(){this.rejectReason=Im.rejectReason},methods:{onSubmit(e){this.rejectReason=null,e.handle(Im.login(this.model)).then((e=>{window.location.reload()}),(e=>{console.info("login: error",e)}))}}};var Wm=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"app-auth"},[t("i",{staticClass:"fth-home app-auth-font-trigger"}),e._v(" "),t("span"),e._v(" "),t("ui-form",{staticClass:"app-auth-inner",on:{submit:e.onSubmit},scopedSlots:e._u([{key:"default",fn:function(n){return[t("div",[t("img",{directives:[{name:"localize",rawName:"v-localize:alt",value:"@zero.name",expression:"'@zero.name'",arg:"alt"}],staticClass:"app-auth-image",attrs:{src:"/Assets/zero-2-light.png"}}),e._v(" "),t("ui-error",{attrs:{"catch-remaining":!0}}),e._v(" "),e.rejectReason?t("ui-message",{attrs:{type:"info",text:e.rejectReason}}):e._e(),e._v(" "),t("ui-property",{attrs:{field:"email",label:"@login.fields.email",vertical:!0}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.model.email,expression:"model.email"},{name:"localize",rawName:"v-localize:placeholder",value:"@login.fields.email_placeholder",expression:"'@login.fields.email_placeholder'",arg:"placeholder"}],staticClass:"ui-input",attrs:{type:"text",maxlength:"120"},domProps:{value:e.model.email},on:{input:function(n){n.target.composing||e.$set(e.model,"email",n.target.value)}}})]),e._v(" "),t("ui-property",{attrs:{field:"password",label:"@login.fields.password",vertical:!0}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.model.password,expression:"model.password"},{name:"localize",rawName:"v-localize:placeholder",value:"@login.fields.password_placeholder",expression:"'@login.fields.password_placeholder'",arg:"placeholder"}],staticClass:"ui-input",attrs:{type:"password",maxlength:"1024"},domProps:{value:e.model.password},on:{input:function(n){n.target.composing||e.$set(e.model,"password",n.target.value)}}})])],1),e._v(" "),t("div",{staticClass:"app-auth-bottom"},[t("ui-button",{attrs:{type:"primary",submit:!0,label:"@login.button",state:n.state}}),e._v(" "),t("ui-button",{attrs:{type:"blank",label:"@login.button_forgot"}})],1)]}}])})],1)};Wm._withStripped=!0;const Vm=Da({render:Wm,staticRenderFns:[]},(function(e){e&&e("data-v-ea4949e6_0",{source:".app-auth {\n grid-column: span 2/auto;\n align-self: stretch;\n justify-self: stretch;\n display: grid;\n grid-template-rows: 1fr auto 1fr;\n align-items: center;\n justify-content: center;\n background: var(--color-page);\n /*&:before\n {\n content: 'login';\n font-family: var(--font-headline);\n color: rgba(black, 0.008);\n position: fixed;\n left: -10vw;\n bottom: -30vh;\n font-size: 150vh;\n line-height: 150vh;\n font-weight: bold;\n }*/\n}\n.app-auth-font-trigger {\n position: absolute;\n pointer-events: none;\n opacity: 0.001;\n bottom: 0;\n right: 0;\n}\n.app-auth-inner {\n display: grid;\n grid-template-rows: 1fr auto;\n align-items: stretch;\n max-width: 100%;\n width: 520px;\n background: var(--color-box);\n box-shadow: var(--shadow-short);\n border-radius: var(--radius);\n /*border: 1px solid var(--color-line);*/\n position: relative;\n z-index: 2;\n padding: var(--padding);\n color: var(--color-text);\n /*box-shadow: 0 0 60px var(--color-shadow);*/\n}\n.app-auth-image {\n height: 32px;\n display: block;\n position: relative;\n margin: 0 auto 3rem;\n}\n.app-auth .ui-property + .ui-property {\n padding-top: 0;\n margin-top: var(--padding);\n border-top: none;\n}\n.app-auth-bottom {\n margin-top: 3rem;\n}\n.app-auth .ui-message {\n margin: -16px 0 var(--padding);\n}\n\n/*# sourceMappingURL=login.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\pages\\login\\login.vue","login.vue"],names:[],mappings:"AAqEA;EAEA,wBAAA;EACA,mBAAA;EACA,qBAAA;EACA,aAAA;EACA,gCAAA;EACA,mBAAA;EACA,uBAAA;EACA,6BAAA;EAEA;;;;;;;;;;;IAAA;AC3DA;ADyEA;EAEA,kBAAA;EACA,oBAAA;EACA,cAAA;EACA,SAAA;EACA,QAAA;ACvEA;AD0EA;EAEA,aAAA;EACA,4BAAA;EACA,oBAAA;EACA,eAAA;EACA,YAAA;EACA,4BAAA;EACA,+BAAA;EACA,4BAAA;EACA,uCAAA;EACA,kBAAA;EACA,UAAA;EACA,uBAAA;EACA,wBAAA;EACA,4CAAA;ACxEA;AD2EA;EAEA,YAAA;EACA,cAAA;EACA,kBAAA;EACA,mBAAA;ACzEA;AD4EA;EAEA,cAAA;EACA,0BAAA;EACA,gBAAA;AC1EA;AD6EA;EAEA,gBAAA;AC3EA;AD8EA;EAEA,8BAAA;AC5EA;;AAEA,oCAAoC",file:"login.vue",sourcesContent:['\ufeff<template>\r\n <div class="app-auth">\r\n <i class="fth-home app-auth-font-trigger"></i>\r\n <span></span>\r\n <ui-form class="app-auth-inner" v-slot="form" @submit="onSubmit">\r\n <div>\r\n <img class="app-auth-image" src="/Assets/zero-2-light.png" v-localize:alt="\'@zero.name\'" />\r\n\r\n <ui-error :catch-remaining="true" />\r\n <ui-message type="info" v-if="rejectReason" :text="rejectReason" />\r\n\r\n <ui-property field="email" label="@login.fields.email" :vertical="true">\r\n <input v-model="model.email" type="text" class="ui-input" maxlength="120" v-localize:placeholder="\'@login.fields.email_placeholder\'" />\r\n </ui-property>\r\n\r\n <ui-property field="password" label="@login.fields.password" :vertical="true">\r\n <input v-model="model.password" type="password" class="ui-input" maxlength="1024" v-localize:placeholder="\'@login.fields.password_placeholder\'" />\r\n </ui-property>\r\n\r\n </div>\r\n\r\n <div class="app-auth-bottom">\r\n <ui-button type="primary" :submit="true" label="@login.button" :state="form.state" />\r\n <ui-button type="blank" label="@login.button_forgot" />\r\n </div>\r\n </ui-form>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import AuthApi from \'zero/helpers/auth.js\'\r\n\r\n export default {\r\n name: \'app-login\',\r\n\r\n data: () => ({\r\n rejectReason: null,\r\n model: {\r\n email: null,\r\n password: null,\r\n isPersistent: true\r\n }\r\n }),\r\n\r\n created()\r\n {\r\n this.rejectReason = AuthApi.rejectReason;\r\n },\r\n\r\n methods: {\r\n onSubmit(form)\r\n {\r\n this.rejectReason = null;\r\n\r\n form.handle(AuthApi.login(this.model)).then(res =>\r\n {\r\n window.location.reload();\r\n }, errors =>\r\n {\r\n console.info(\'login: error\', errors);\r\n });\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n\r\n<style lang="scss">\r\n .app-auth\r\n {\r\n grid-column: span 2 / auto;\r\n align-self: stretch;\r\n justify-self: stretch;\r\n display: grid;\r\n grid-template-rows: 1fr auto 1fr;\r\n align-items: center;\r\n justify-content: center;\r\n background: var(--color-page);\r\n\r\n /*&:before\r\n {\r\n content: \'login\';\r\n font-family: var(--font-headline);\r\n color: rgba(black, 0.008);\r\n position: fixed;\r\n left: -10vw;\r\n bottom: -30vh;\r\n font-size: 150vh;\r\n line-height: 150vh;\r\n font-weight: bold;\r\n }*/\r\n }\r\n\r\n .app-auth-font-trigger\r\n {\r\n position: absolute;\r\n pointer-events: none;\r\n opacity: 0.001;\r\n bottom: 0;\r\n right: 0;\r\n }\r\n\r\n .app-auth-inner\r\n {\r\n display: grid;\r\n grid-template-rows: 1fr auto;\r\n align-items: stretch;\r\n max-width: 100%;\r\n width: 520px;\r\n background: var(--color-box);\r\n box-shadow: var(--shadow-short);\r\n border-radius: var(--radius);\r\n /*border: 1px solid var(--color-line);*/\r\n position: relative;\r\n z-index: 2;\r\n padding: var(--padding);\r\n color: var(--color-text);\r\n /*box-shadow: 0 0 60px var(--color-shadow);*/\r\n }\r\n\r\n .app-auth-image\r\n {\r\n height: 32px;\r\n display: block;\r\n position: relative;\r\n margin: 0 auto 3rem;\r\n }\r\n\r\n .app-auth .ui-property + .ui-property\r\n {\r\n padding-top: 0;\r\n margin-top: var(--padding);\r\n border-top: none;\r\n }\r\n\r\n .app-auth-bottom\r\n {\r\n margin-top: 3rem;\r\n }\r\n\r\n .app-auth .ui-message\r\n {\r\n margin: -16px 0 var(--padding);\r\n }\r\n</style>',".app-auth {\n grid-column: span 2/auto;\n align-self: stretch;\n justify-self: stretch;\n display: grid;\n grid-template-rows: 1fr auto 1fr;\n align-items: center;\n justify-content: center;\n background: var(--color-page);\n /*&:before\n {\n content: 'login';\n font-family: var(--font-headline);\n color: rgba(black, 0.008);\n position: fixed;\n left: -10vw;\n bottom: -30vh;\n font-size: 150vh;\n line-height: 150vh;\n font-weight: bold;\n }*/\n}\n\n.app-auth-font-trigger {\n position: absolute;\n pointer-events: none;\n opacity: 0.001;\n bottom: 0;\n right: 0;\n}\n\n.app-auth-inner {\n display: grid;\n grid-template-rows: 1fr auto;\n align-items: stretch;\n max-width: 100%;\n width: 520px;\n background: var(--color-box);\n box-shadow: var(--shadow-short);\n border-radius: var(--radius);\n /*border: 1px solid var(--color-line);*/\n position: relative;\n z-index: 2;\n padding: var(--padding);\n color: var(--color-text);\n /*box-shadow: 0 0 60px var(--color-shadow);*/\n}\n\n.app-auth-image {\n height: 32px;\n display: block;\n position: relative;\n margin: 0 auto 3rem;\n}\n\n.app-auth .ui-property + .ui-property {\n padding-top: 0;\n margin-top: var(--padding);\n border-top: none;\n}\n\n.app-auth-bottom {\n margin-top: 3rem;\n}\n\n.app-auth .ui-message {\n margin: -16px 0 var(--padding);\n}\n\n/*# sourceMappingURL=login.vue.map */"]},media:void 0})}),Hm,undefined,false,undefined,!1,Iu,void 0,void 0);const Jm={data:()=>({instances:Uu.instances}),computed:{editorLength(){return this.instances.filter((e=>"editor"===e.display)).length}},methods:{close(e){!1!==e.softdismiss&&e.close()}}};var Km=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"app-overlays",class:{"has-multiple":e.instances.length>1}},[t("transition-group",{attrs:{name:"overlay",duration:600}},e._l(e.instances,(function(n,r){return t("div",{key:n.id,staticClass:"app-overlay-outer",style:{transform:"editor"!==n.display?null:"translateX("+-60*(e.editorLength-r-1)+"px)"},attrs:{display:n.display}},[t("div",{staticClass:"app-overlay-bg",on:{click:function(t){return e.close(n)}}}),e._v(" "),t("dialog",{staticClass:"app-overlay",class:"theme-"+n.theme,style:{width:n.width+"px"},attrs:{open:"",display:n.display}},[t(n.component,{tag:"component",attrs:{model:n.model,config:n},on:{"update:model":function(t){return e.$set(n,"model",t)}}})],1)])})),0)],1)};Km._withStripped=!0;const Gm=Da({render:Km,staticRenderFns:[]},(function(e){e&&e("data-v-116e724f_0",{source:".app-overlays {\n grid-column: span 2/auto;\n}\n.app-overlay-outer {\n display: flex;\n position: fixed;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 5;\n justify-content: center;\n align-items: center;\n transition: transform 0.4s ease-out;\n}\n.app-overlay-bg {\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n background: var(--color-overlay-shade);\n z-index: 2;\n opacity: 1;\n}\n.app-overlay {\n width: auto;\n height: auto;\n background: var(--color-overlay);\n border-radius: var(--radius);\n border: none !important;\n box-shadow: var(--shadow-overlay-dialog);\n padding: var(--padding);\n text-align: center;\n position: relative;\n -webkit-backface-visibility: hidden;\n z-index: 3;\n color: var(--color-text);\n font-size: var(--font-size);\n}\n.app-overlay[display=dialog] .ui-form-loading {\n height: 200px;\n}\n.app-overlay[display=editor] {\n width: auto;\n position: absolute;\n left: auto;\n right: 0;\n top: 0;\n bottom: 0;\n border-radius: 0;\n box-shadow: var(--shadow-overlay);\n background: var(--color-overlay-editor);\n text-align: left;\n padding: 0;\n max-width: 100%;\n}\n.overlay-enter-active .app-overlay-bg, .overlay-leave-active .app-overlay-bg {\n transition: opacity 0.3s ease;\n}\n.overlay-enter-active .app-overlay, .overlay-leave-active .app-overlay {\n transition: transform 0.3s ease, opacity 0.3s ease;\n}\n.overlay-enter-active .app-overlay[display=editor], .overlay-leave-active .app-overlay[display=editor] {\n transition: transform 0.6s ease;\n}\n.overlay-enter .app-overlay-bg, .overlay-leave-to .app-overlay-bg {\n opacity: 0;\n}\n.overlay-enter .app-overlay, .overlay-leave-to .app-overlay {\n opacity: 0;\n transform: scale(0.95);\n}\n.overlay-enter .app-overlay[display=editor], .overlay-leave-to .app-overlay[display=editor] {\n opacity: 1;\n transform: scale(1) translateX(100%);\n}\n\n/*# sourceMappingURL=overlay-holder.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\overlays\\overlay-holder.vue","overlay-holder.vue"],names:[],mappings:"AA4CA;EAEA,wBAAA;AC5CA;AD+CA;EAEA,aAAA;EACA,eAAA;EACA,OAAA;EACA,MAAA;EACA,QAAA;EACA,SAAA;EACA,UAAA;EACA,uBAAA;EACA,mBAAA;EACA,mCAAA;AC7CA;ADqDA;EAEA,kBAAA;EACA,OAAA;EACA,MAAA;EACA,QAAA;EACA,SAAA;EACA,sCAAA;EACA,UAAA;EACA,UAAA;ACpDA;ADuDA;EAEA,WAAA;EACA,YAAA;EACA,gCAAA;EACA,4BAAA;EACA,uBAAA;EACA,wCAAA;EACA,uBAAA;EACA,kBAAA;EACA,kBAAA;EACA,mCAAA;EACA,UAAA;EACA,wBAAA;EACA,2BAAA;ACrDA;ADwDA;EAEA,aAAA;ACtDA;ADyDA;EAEA,WAAA;EACA,kBAAA;EACA,UAAA;EACA,QAAA;EACA,MAAA;EACA,SAAA;EACA,gBAAA;EACA,iCAAA;EACA,uCAAA;EACA,gBAAA;EACA,UAAA;EACA,eAAA;ACvDA;AD4DA;EAEA,6BAAA;AC1DA;AD6DA;EAEA,kDAAA;AC5DA;AD+DA;EAEA,+BAAA;AC9DA;ADoEA;EAEA,UAAA;AClEA;ADqEA;EAEA,UAAA;EACA,sBAAA;ACpEA;ADuEA;EAEA,UAAA;EACA,oCAAA;ACtEA;;AAEA,6CAA6C",file:"overlay-holder.vue",sourcesContent:['\ufeff<template>\r\n <div class="app-overlays" :class="{ \'has-multiple\': instances.length > 1 }">\r\n <transition-group name="overlay" :duration="600">\r\n <div class="app-overlay-outer" :display="instance.display" v-for="(instance, index) in instances" :key="instance.id" :style="{ transform: instance.display !== \'editor\' ? null : \'translateX(\' + (editorLength - index - 1) * -60 + \'px)\' }">\r\n <div class="app-overlay-bg" @click="close(instance)"></div>\r\n <dialog open class="app-overlay" :style="{ width: instance.width + \'px\' }" :class="\'theme-\' + instance.theme" :display="instance.display">\r\n <component :is="instance.component" :model.sync="instance.model" :config="instance"></component>\r\n </dialog>\r\n </div>\r\n </transition-group>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import Overlay from \'zero/helpers/overlay.js\'\r\n import { filter as _filter } from \'underscore\';\r\n\r\n export default {\r\n data: () => ({\r\n instances: Overlay.instances\r\n }),\r\n\r\n computed: {\r\n editorLength()\r\n {\r\n return this.instances.filter(x => x.display === \'editor\').length;\r\n }\r\n },\r\n\r\n methods: {\r\n close(instance)\r\n {\r\n if (instance.softdismiss !== false)\r\n {\r\n instance.close();\r\n }\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n\r\n<style lang="scss">\r\n .app-overlays\r\n {\r\n grid-column: span 2 / auto;\r\n }\r\n\r\n .app-overlay-outer\r\n {\r\n display: flex;\r\n position: fixed;\r\n left: 0;\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n z-index: 5;\r\n justify-content: center;\r\n align-items: center;\r\n transition: transform 0.4s ease-out;\r\n\r\n & + .app-overlay-outer .app-overlay\r\n {\r\n //top: -10px;\r\n }\r\n }\r\n\r\n .app-overlay-bg\r\n {\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n background: var(--color-overlay-shade);\r\n z-index: 2;\r\n opacity: 1;\r\n }\r\n\r\n .app-overlay\r\n {\r\n width: auto;\r\n height: auto;\r\n background: var(--color-overlay);\r\n border-radius: var(--radius);\r\n border: none !important;\r\n box-shadow: var(--shadow-overlay-dialog);\r\n padding: var(--padding);\r\n text-align: center;\r\n position: relative;\r\n -webkit-backface-visibility: hidden;\r\n z-index: 3;\r\n color: var(--color-text);\r\n font-size: var(--font-size);\r\n }\r\n\r\n .app-overlay[display="dialog"] .ui-form-loading\r\n {\r\n height: 200px;\r\n }\r\n\r\n .app-overlay[display="editor"]\r\n {\r\n width: auto;\r\n position: absolute;\r\n left: auto;\r\n right: 0;\r\n top: 0;\r\n bottom: 0;\r\n border-radius: 0;\r\n box-shadow: var(--shadow-overlay);\r\n background: var(--color-overlay-editor);\r\n text-align: left;\r\n padding: 0;\r\n max-width: 100%;\r\n }\r\n\r\n .overlay-enter-active, .overlay-leave-active\r\n {\r\n .app-overlay-bg\r\n {\r\n transition: opacity .3s ease;\r\n }\r\n\r\n .app-overlay\r\n {\r\n transition: transform .3s ease, opacity .3s ease;\r\n }\r\n\r\n .app-overlay[display="editor"]\r\n {\r\n transition: transform .6s ease;\r\n }\r\n }\r\n\r\n .overlay-enter, .overlay-leave-to\r\n { \r\n .app-overlay-bg\r\n {\r\n opacity: 0;\r\n }\r\n\r\n .app-overlay\r\n {\r\n opacity: 0;\r\n transform: scale(0.95);\r\n }\r\n\r\n .app-overlay[display="editor"]\r\n {\r\n opacity: 1;\r\n transform: scale(1) translateX(100%);\r\n }\r\n }\r\n\r\n</style>',".app-overlays {\n grid-column: span 2/auto;\n}\n\n.app-overlay-outer {\n display: flex;\n position: fixed;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 5;\n justify-content: center;\n align-items: center;\n transition: transform 0.4s ease-out;\n}\n.app-overlay-bg {\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n background: var(--color-overlay-shade);\n z-index: 2;\n opacity: 1;\n}\n\n.app-overlay {\n width: auto;\n height: auto;\n background: var(--color-overlay);\n border-radius: var(--radius);\n border: none !important;\n box-shadow: var(--shadow-overlay-dialog);\n padding: var(--padding);\n text-align: center;\n position: relative;\n -webkit-backface-visibility: hidden;\n z-index: 3;\n color: var(--color-text);\n font-size: var(--font-size);\n}\n\n.app-overlay[display=dialog] .ui-form-loading {\n height: 200px;\n}\n\n.app-overlay[display=editor] {\n width: auto;\n position: absolute;\n left: auto;\n right: 0;\n top: 0;\n bottom: 0;\n border-radius: 0;\n box-shadow: var(--shadow-overlay);\n background: var(--color-overlay-editor);\n text-align: left;\n padding: 0;\n max-width: 100%;\n}\n\n.overlay-enter-active .app-overlay-bg, .overlay-leave-active .app-overlay-bg {\n transition: opacity 0.3s ease;\n}\n.overlay-enter-active .app-overlay, .overlay-leave-active .app-overlay {\n transition: transform 0.3s ease, opacity 0.3s ease;\n}\n.overlay-enter-active .app-overlay[display=editor], .overlay-leave-active .app-overlay[display=editor] {\n transition: transform 0.6s ease;\n}\n\n.overlay-enter .app-overlay-bg, .overlay-leave-to .app-overlay-bg {\n opacity: 0;\n}\n.overlay-enter .app-overlay, .overlay-leave-to .app-overlay {\n opacity: 0;\n transform: scale(0.95);\n}\n.overlay-enter .app-overlay[display=editor], .overlay-leave-to .app-overlay[display=editor] {\n opacity: 1;\n transform: scale(1) translateX(100%);\n}\n\n/*# sourceMappingURL=overlay-holder.vue.map */"]},media:void 0})}),Jm,undefined,false,undefined,!1,Iu,void 0,void 0);const Xm={data:()=>({instances:Ff.instances}),methods:{close(e){e.close()}}};var Qm=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"app-notifications",class:{"has-multiple":e.instances.length>1}},[t("transition-group",{attrs:{name:"app-notifications",duration:400}},e._l(e.instances,(function(n){return t("div",{key:n.id,staticClass:"app-notification",attrs:{type:n.type}},[t("p",{staticClass:"-text"},[t("b",{directives:[{name:"localize",rawName:"v-localize",value:n.label,expression:"instance.label"}]}),e._v(" "),n.text?t("span",{directives:[{name:"localize",rawName:"v-localize",value:n.text,expression:"instance.text"}]}):e._e()]),e._v(" "),t("ui-icon-button",{attrs:{type:"action small",icon:"fth-x",title:"@ui.close"},on:{click:function(t){return e.close(n)}}})],1)})),0)],1)};Qm._withStripped=!0;const Zm={name:"app",components:{AppNavigation:qm,AppOverlays:Gm,AppLogin:Vm,AppNotifications:Da({render:Qm,staticRenderFns:[]},(function(e){e&&e("data-v-98ae5568_0",{source:".app-notifications {\n position: fixed;\n right: var(--padding);\n bottom: var(--padding);\n width: 420px;\n max-width: 100%;\n z-index: 6;\n}\n.app-notification {\n display: grid;\n grid-template-columns: 1fr auto;\n gap: 20px;\n align-items: center;\n background: var(--color-primary);\n color: var(--color-primary-text);\n border-radius: var(--radius);\n padding: 10px 12px;\n font-size: var(--font-size);\n transition: transform 0.3s ease, opacity 0.3s ease;\n}\n.app-notification .-text {\n margin: 0;\n}\n.app-notification .-text span {\n font-size: var(--font-size-s);\n line-height: 1.3;\n}\n.app-notification .-text b {\n display: block;\n margin: 3px 0;\n}\n.app-notification .ui-icon-button {\n background: none;\n margin-right: -5px;\n}\n.app-notification .ui-button-icon {\n color: var(--color-primary-text);\n}\n.app-notification + .app-notification {\n margin-top: 10px;\n}\n.app-notification[type=success], .app-notification[type=primary] {\n background: var(--color-primary);\n color: var(--color-primary-text);\n}\n.app-notification[type=success] .ui-button-icon, .app-notification[type=primary] .ui-button-icon {\n color: var(--color-primary-text);\n}\n.app-notification[type=error] {\n background: var(--color-accent-error);\n color: white;\n}\n.app-notification[type=error] .ui-button-icon {\n color: white;\n}\n.app-notification.app-notifications-enter,\n.app-notification.app-notifications-leave-to {\n opacity: 0;\n transform: translateY(20px);\n}\n\n/*# sourceMappingURL=notification-holder.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\notifications\\notification-holder.vue","notification-holder.vue"],names:[],mappings:"AAkCA;EAEA,eAAA;EACA,qBAAA;EACA,sBAAA;EACA,YAAA;EACA,eAAA;EACA,UAAA;AClCA;ADqCA;EAEA,aAAA;EACA,+BAAA;EACA,SAAA;EACA,mBAAA;EACA,gCAAA;EACA,gCAAA;EACA,4BAAA;EACA,kBAAA;EACA,2BAAA;EACA,kDAAA;ACnCA;ADqCA;EAEA,SAAA;ACpCA;ADsCA;EAEA,6BAAA;EACA,gBAAA;ACrCA;ADwCA;EAEA,cAAA;EACA,aAAA;ACvCA;AD2CA;EAEA,gBAAA;EACA,kBAAA;AC1CA;AD6CA;EAEA,gCAAA;AC5CA;AD+CA;EAEA,gBAAA;AC9CA;ADiDA;EAEA,gCAAA;EACA,gCAAA;AChDA;ADkDA;EAEA,gCAAA;ACjDA;ADqDA;EAEA,qCAAA;EACA,YAAA;ACpDA;ADsDA;EAEA,YAAA;ACrDA;AD0DA;;EAGA,UAAA;EACA,2BAAA;ACxDA;;AAEA,kDAAkD",file:"notification-holder.vue",sourcesContent:['\ufeff<template>\r\n <div class="app-notifications" :class="{ \'has-multiple\': instances.length > 1 }">\r\n <transition-group name="app-notifications" :duration="400">\r\n <div class="app-notification" v-for="instance in instances" :key="instance.id" :type="instance.type">\r\n <p class="-text">\r\n <b v-localize="instance.label"></b>\r\n <span v-if="instance.text" v-localize="instance.text"></span>\r\n </p>\r\n <ui-icon-button @click="close(instance)" type="action small" icon="fth-x" title="@ui.close" />\r\n </div>\r\n </transition-group>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import Notification from \'zero/helpers/notification.js\'\r\n\r\n export default {\r\n data: () => ({\r\n instances: Notification.instances\r\n }),\r\n\r\n methods: {\r\n close(instance)\r\n {\r\n instance.close();\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n\r\n<style lang="scss">\r\n .app-notifications\r\n {\r\n position: fixed;\r\n right: var(--padding);\r\n bottom: var(--padding);\r\n width: 420px;\r\n max-width: 100%;\r\n z-index: 6;\r\n }\r\n\r\n .app-notification\r\n {\r\n display: grid;\r\n grid-template-columns: 1fr auto;\r\n gap: 20px;\r\n align-items: center;\r\n background: var(--color-primary);\r\n color: var(--color-primary-text);\r\n border-radius: var(--radius);\r\n padding: 10px 12px;\r\n font-size: var(--font-size);\r\n transition: transform .3s ease, opacity .3s ease;\r\n\r\n .-text\r\n {\r\n margin: 0;\r\n \r\n span\r\n {\r\n font-size: var(--font-size-s);\r\n line-height: 1.3;\r\n }\r\n\r\n b\r\n {\r\n display: block;\r\n margin: 3px 0;\r\n }\r\n }\r\n\r\n .ui-icon-button\r\n {\r\n background: none;\r\n margin-right: -5px;\r\n }\r\n \r\n .ui-button-icon\r\n {\r\n color: var(--color-primary-text);\r\n }\r\n\r\n & + .app-notification\r\n {\r\n margin-top: 10px;\r\n }\r\n\r\n &[type="success"], &[type="primary"]\r\n {\r\n background: var(--color-primary);\r\n color: var(--color-primary-text);\r\n\r\n .ui-button-icon\r\n {\r\n color: var(--color-primary-text);\r\n }\r\n }\r\n\r\n &[type="error"]\r\n {\r\n background: var(--color-accent-error);\r\n color: white;\r\n\r\n .ui-button-icon\r\n {\r\n color: white;\r\n }\r\n }\r\n }\r\n\r\n .app-notification.app-notifications-enter,\r\n .app-notification.app-notifications-leave-to\r\n {\r\n opacity: 0;\r\n transform: translateY(20px);\r\n }\r\n</style>',".app-notifications {\n position: fixed;\n right: var(--padding);\n bottom: var(--padding);\n width: 420px;\n max-width: 100%;\n z-index: 6;\n}\n\n.app-notification {\n display: grid;\n grid-template-columns: 1fr auto;\n gap: 20px;\n align-items: center;\n background: var(--color-primary);\n color: var(--color-primary-text);\n border-radius: var(--radius);\n padding: 10px 12px;\n font-size: var(--font-size);\n transition: transform 0.3s ease, opacity 0.3s ease;\n}\n.app-notification .-text {\n margin: 0;\n}\n.app-notification .-text span {\n font-size: var(--font-size-s);\n line-height: 1.3;\n}\n.app-notification .-text b {\n display: block;\n margin: 3px 0;\n}\n.app-notification .ui-icon-button {\n background: none;\n margin-right: -5px;\n}\n.app-notification .ui-button-icon {\n color: var(--color-primary-text);\n}\n.app-notification + .app-notification {\n margin-top: 10px;\n}\n.app-notification[type=success], .app-notification[type=primary] {\n background: var(--color-primary);\n color: var(--color-primary-text);\n}\n.app-notification[type=success] .ui-button-icon, .app-notification[type=primary] .ui-button-icon {\n color: var(--color-primary-text);\n}\n.app-notification[type=error] {\n background: var(--color-accent-error);\n color: white;\n}\n.app-notification[type=error] .ui-button-icon {\n color: white;\n}\n\n.app-notification.app-notifications-enter,\n.app-notification.app-notifications-leave-to {\n opacity: 0;\n transform: translateY(20px);\n}\n\n/*# sourceMappingURL=notification-holder.vue.map */"]},media:void 0})}),Xm,undefined,false,undefined,!1,Iu,void 0,void 0)},data:()=>({isAuthenticated:!1}),created(){Im.setUser(__zero.user),Im.$on("authenticated",(e=>{this.isAuthenticated=e}))},methods:{getClassList:()=>({"is-preview":!1})}};var eg=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"app",class:e.getClassList()},[e.isAuthenticated?[t("app-navigation"),e._v(" "),t("div",{staticClass:"app-main"},[t("router-view")],1),e._v(" "),t("app-overlays"),e._v(" "),t("app-notifications")]:t("app-login")],2)};eg._withStripped=!0;const ng=Da({render:eg,staticRenderFns:[]},undefined,Zm,undefined,false,undefined,!1,void 0,void 0,void 0);const tg={props:{label:{type:String,default:"@ui.add"},type:{type:String,default:"primary"},route:{type:[String,Object],default:null},disabled:{type:Boolean,default:!1}},data:()=>({component:null}),created(){this.component=zero.overrides["add-button"]||null},methods:{onClick(){if(this.$refs.dropdown&&this.$refs.dropdown.hide(),this.route){let e="object"==typeof this.route?this.route:{name:this.route};this.$router.push(e)}this.$emit("click",!1)}}};var rg=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-add-button"},[e.component?t(e.component,{tag:"component",attrs:{type:e.type,label:e.label,disabled:e.disabled,route:e.route}}):t("ui-button",{attrs:{type:e.type,label:e.label,disabled:e.disabled},on:{click:function(n){return e.onClick()}}})],1)};rg._withStripped=!0;const ig=Da({render:rg,staticRenderFns:[]},(function(e){e&&e("data-v-d51e6520_0",{source:".ui-add-button {\n display: flex;\n}\n\n/*.ui-add-button .ui-dropdown-button\n{\n font-weight: 700;\n}*/\n.ui-add-button-items {\n display: grid;\n grid-template-columns: 1fr 1px 1fr;\n}\n.ui-add-button-item {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n padding: 20px 10px;\n font-size: var(--font-size);\n border-radius: var(--radius);\n}\n.ui-add-button-item i {\n font-size: 20px;\n line-height: 24px;\n margin-bottom: 12px;\n}\n.ui-add-button-item .is-primary {\n font-size: 24px;\n color: var(--color-primary);\n}\n.ui-add-button-item:hover {\n background: var(--color-button-light);\n}\n.ui-add-button-items-line {\n display: block;\n height: 100%;\n background: var(--color-line);\n}\n\n/*# sourceMappingURL=add-button.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\buttons\\add-button.vue","add-button.vue"],names:[],mappings:"AAgEA;EAEA,aAAA;AChEA;;ADkEA;;;EAAA;AAKA;EAEA,aAAA;EACA,kCAAA;ACjEA;ADoEA;EAEA,aAAA;EACA,sBAAA;EACA,uBAAA;EACA,mBAAA;EACA,kBAAA;EACA,2BAAA;EACA,4BAAA;AClEA;ADoEA;EAEA,eAAA;EACA,iBAAA;EACA,mBAAA;ACnEA;ADsEA;EAEA,eAAA;EACA,2BAAA;ACrEA;ADwEA;EAEA,qCAAA;ACvEA;AD2EA;EAEA,cAAA;EACA,YAAA;EACA,6BAAA;ACzEA;;AAEA,yCAAyC",file:"add-button.vue",sourcesContent:['\ufeff<template>\r\n <div class="ui-add-button">\r\n <ui-button v-if="!component" :type="type" :label="label" @click="onClick()" :disabled="disabled" /> \x3c!-- :attach="true"--\x3e\r\n <component v-else :is="component" :type="type" :label="label" :disabled="disabled" :route="route" />\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import { find as _find } from \'underscore\';\r\n\r\n export default {\r\n props: {\r\n label: {\r\n type: String,\r\n default: \'@ui.add\'\r\n },\r\n type: {\r\n type: String,\r\n default: \'primary\'\r\n },\r\n route: {\r\n type: [String, Object],\r\n default: null\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n\r\n data: () => ({\r\n component: null\r\n }),\r\n\r\n created()\r\n {\r\n this.component = zero.overrides[\'add-button\'] || null;\r\n },\r\n\r\n methods: {\r\n\r\n onClick()\r\n {\r\n if (this.$refs.dropdown)\r\n {\r\n this.$refs.dropdown.hide();\r\n }\r\n\r\n if (!!this.route)\r\n {\r\n let routeObj = typeof this.route === \'object\' ? this.route : { name: this.route };\r\n this.$router.push(routeObj);\r\n }\r\n\r\n this.$emit(\'click\', false);\r\n }\r\n\r\n }\r\n\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .ui-add-button\r\n {\r\n display: flex;\r\n }\r\n /*.ui-add-button .ui-dropdown-button\r\n {\r\n font-weight: 700;\r\n }*/\r\n\r\n .ui-add-button-items\r\n {\r\n display: grid;\r\n grid-template-columns: 1fr 1px 1fr;\r\n }\r\n\r\n .ui-add-button-item\r\n {\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n padding: 20px 10px;\r\n font-size: var(--font-size);\r\n border-radius: var(--radius);\r\n\r\n i\r\n {\r\n font-size: 20px;\r\n line-height: 24px;\r\n margin-bottom: 12px;\r\n }\r\n\r\n .is-primary\r\n {\r\n font-size: 24px;\r\n color: var(--color-primary);\r\n }\r\n\r\n &:hover\r\n {\r\n background: var(--color-button-light);\r\n }\r\n }\r\n\r\n .ui-add-button-items-line\r\n {\r\n display: block;\r\n height: 100%;\r\n background: var(--color-line);\r\n }\r\n</style>',".ui-add-button {\n display: flex;\n}\n\n/*.ui-add-button .ui-dropdown-button\n{\n font-weight: 700;\n}*/\n.ui-add-button-items {\n display: grid;\n grid-template-columns: 1fr 1px 1fr;\n}\n\n.ui-add-button-item {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n padding: 20px 10px;\n font-size: var(--font-size);\n border-radius: var(--radius);\n}\n.ui-add-button-item i {\n font-size: 20px;\n line-height: 24px;\n margin-bottom: 12px;\n}\n.ui-add-button-item .is-primary {\n font-size: 24px;\n color: var(--color-primary);\n}\n.ui-add-button-item:hover {\n background: var(--color-button-light);\n}\n\n.ui-add-button-items-line {\n display: block;\n height: 100%;\n background: var(--color-line);\n}\n\n/*# sourceMappingURL=add-button.vue.map */"]},media:void 0})}),tg,undefined,false,undefined,!1,Iu,void 0,void 0),og=["default","loading","success","error"];const ag={name:"uiButton",props:{label:{type:String},state:{type:String,default:"default"},submit:{type:Boolean,default:!1},type:{type:String,default:"action"},icon:{type:String},caret:String,caretPosition:{type:String,default:"right"},disabled:Boolean,stateDuration:{type:Number,default:2e3},ellipsis:{type:Boolean,default:!1},attach:{type:Boolean,default:!1}},data:()=>({stateDisplay:null,stateTimeout:null}),created(){this.stateDisplay=this.state},computed:{buttonType(){return this.submit?"submit":"button"},buttonClass(){let e=[];return e.push("type-"+this.type.split(" ").join(" type-")),e.push("state-"+(this.isDefaultState?"default":this.stateDisplay)),this.caret&&e.push("caret-"+this.caretPosition),this.icon&&e.push("has-icon"),this.ellipsis&&e.push("has-ellipsis"),this.label||e.push("no-label"),this.attach&&e.push("is-attached"),e},caretClass(){return"fth-chevron-"+this.caret},isDefaultState(){return!this.stateDisplay||"default"===this.stateDisplay||og.indexOf(this.stateDisplay)<0}},watch:{state(e){this.stateDisplay=e,clearTimeout(this.stateTimeout),e&&og.indexOf(e)<0&&console.warn(`ui-button: Supported states are "${og.join('", "')}"`),"success"!==e&&"error"!==e||(this.stateTimeout=setTimeout((()=>{this.stateDisplay="default"}),this.stateDuration))}},methods:{tryClick(e){this.isDefaultState&&this.$emit("click",e)}}};var sg=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("button",{staticClass:"ui-button has-state",class:e.buttonClass,attrs:{type:e.buttonType,disabled:e.disabled||"loading"==e.state},on:{click:e.tryClick}},[e.label?t("span",{directives:[{name:"localize",rawName:"v-localize:html",value:e.label,expression:"label",arg:"html"}],staticClass:"ui-button-text"}):e._e(),e._v(" "),e.caret?t("i",{staticClass:"ui-button-caret",class:e.caretClass}):e._e(),e._v(" "),e.icon?t("i",{staticClass:"ui-button-icon",class:e.icon}):e._e(),e._v(" "),e.isDefaultState?e._e():t("span",{staticClass:"ui-button-state"},["loading"==e.stateDisplay?t("i",{staticClass:"ui-button-progress"}):e._e(),e._v(" "),"success"==e.stateDisplay?t("i",{staticClass:"fth-check"}):e._e(),e._v(" "),"error"==e.stateDisplay?t("i",{staticClass:"fth-x"}):e._e()])])};sg._withStripped=!0;const lg=Da({render:sg,staticRenderFns:[]},undefined,ag,undefined,false,undefined,!1,void 0,void 0,void 0);const cg={name:"uiDotButton",props:{state:{type:String,default:"default"},title:{type:String,default:"@ui.actions"},disabled:Boolean},mounted(){},methods:{tryClick(e){this.$emit("click",e)}}};var dg=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("button",{staticClass:"ui-dot-button",attrs:{type:"button",disabled:e.disabled,title:e._f("localize")(e.title)},on:{click:e.tryClick}},[t("span",{directives:[{name:"localize",rawName:"v-localize",value:e.title,expression:"title"}],staticClass:"sr-only"}),e._v(" "),t("i",{staticClass:"ui-button-icon fth-more-horizontal"})])};dg._withStripped=!0;const ug=Da({render:dg,staticRenderFns:[]},undefined,cg,undefined,false,undefined,!1,void 0,void 0,void 0);const pg={name:"uiIconButton",props:{state:{type:String,default:"default"},icon:{type:String,default:"fth-arrow-left"},type:{type:String,default:"action"},title:{type:String,default:""},disabled:Boolean},mounted(){},methods:{tryClick(e){this.$emit("click",e)}}};var fg=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("button",{staticClass:"ui-icon-button",class:"type-"+e.type.split(" ").join(" type-"),attrs:{type:"button",disabled:e.disabled,title:e._f("localize")(e.title)},on:{click:e.tryClick}},[t("span",{directives:[{name:"localize",rawName:"v-localize",value:e.title,expression:"title"}],staticClass:"sr-only"}),e._v(" "),t("i",{staticClass:"ui-button-icon",class:e.icon})])};fg._withStripped=!0;const Ag=Da({render:fg,staticRenderFns:[]},undefined,pg,undefined,false,undefined,!1,void 0,void 0,void 0);const hg={name:"uiSelectButton",props:{icon:{type:String,default:"fth-box"},iconAsImage:{type:Boolean,default:!1},label:{type:String,default:null},description:{type:String,default:null},tokens:{type:Object,default:()=>{}},disabled:Boolean},computed:{isImage(){return this.iconAsImage&&0!==this.icon.indexOf("fth-")},source(){return this.iconAsImage?kp.getImageSource(this.icon):null}},methods:{tryClick(e){this.$emit("click",e)}}};var mg=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("button",{staticClass:"ui-select-button type-light",attrs:{type:"button",disabled:e.disabled},on:{click:e.tryClick}},[e.isImage?e._e():t("span",{staticClass:"ui-select-button-icon"},[t("i",{class:e.icon})]),e._v(" "),e.isImage?t("span",{staticClass:"ui-select-button-icon is-image"},[t("img",{attrs:{src:e.source,alt:e.icon}})]):e._e(),e._v(" "),e.label||e.description?t("content",{staticClass:"ui-select-button-content"},[t("strong",{directives:[{name:"localize",rawName:"v-localize:html",value:{key:e.label,tokens:e.tokens},expression:"{ key: label, tokens: tokens }",arg:"html"}],staticClass:"ui-select-button-label"}),e._v(" "),e.description?t("span",{directives:[{name:"localize",rawName:"v-localize:html",value:{key:e.description,tokens:e.tokens},expression:"{ key: description, tokens: tokens }",arg:"html"}],staticClass:"ui-select-button-description"}):e._e()]):e._e(),e._v(" "),e._t("default")],2)};mg._withStripped=!0;const gg=Da({render:mg,staticRenderFns:[]},undefined,hg,undefined,false,undefined,!1,void 0,void 0,void 0);const vg={props:{disabled:{type:Boolean,default:!1},items:{type:Array,default:[]},value:{type:[String,Number],default:null}},methods:{select(e){this.disabled||this.$emit("input",e)}}};var bg=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-state-button",class:{"is-disabled":e.disabled}},[t("input",{ref:"input",attrs:{type:"hidden"},domProps:{value:e.value}}),e._v(" "),e._l(e.items,(function(n){return t("button",{directives:[{name:"localize",rawName:"v-localize",value:n.label,expression:"item.label"}],staticClass:"ui-state-button-item",class:{"is-active":e.value===n.value},attrs:{type:"button",disabled:e.disabled||n.disabled},on:{click:function(t){return e.select(n.value)}}})}))],2)};bg._withStripped=!0;const yg=Da({render:bg,staticRenderFns:[]},(function(e){e&&e("data-v-5df7ae74_0",{source:".ui-state-button {\n display: inline-flex;\n}\n.ui-state-button.is-disabled button {\n cursor: default;\n}\nbutton.ui-state-button-item {\n background: var(--color-input);\n padding: 10px 16px;\n color: var(--color-text-dim);\n}\nbutton.ui-state-button-item + .ui-state-button-item {\n border-left: none;\n}\nbutton.ui-state-button-item:first-of-type {\n border-top-left-radius: var(--radius);\n border-bottom-left-radius: var(--radius);\n}\nbutton.ui-state-button-item:last-child {\n border-top-right-radius: var(--radius);\n border-bottom-right-radius: var(--radius);\n}\nbutton.ui-state-button-item.is-active {\n color: var(--color-text);\n font-weight: bold;\n}\n\n/*# sourceMappingURL=state-button.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\buttons\\state-button.vue","state-button.vue"],names:[],mappings:"AA4CA;EAEA,oBAAA;AC5CA;AD+CA;EAEA,eAAA;AC7CA;ADgDA;EAEA,8BAAA;EACA,kBAAA;EACA,4BAAA;AC9CA;ADgDA;EAEA,iBAAA;AC/CA;ADkDA;EAEA,qCAAA;EACA,wCAAA;ACjDA;ADoDA;EAEA,sCAAA;EACA,yCAAA;ACnDA;ADsDA;EAGA,wBAAA;EACA,iBAAA;ACtDA;;AAEA,2CAA2C",file:"state-button.vue",sourcesContent:['\ufeff<template>\r\n <div class="ui-state-button" :class="{\'is-disabled\': disabled }">\r\n <input ref="input" type="hidden" :value="value" />\r\n <button v-for="item in items" @click="select(item.value)" v-localize="item.label"\r\n type="button" class="ui-state-button-item" :disabled="disabled || item.disabled" :class="{ \'is-active\': value === item.value }"></button>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import { find as _find } from \'underscore\';\r\n\r\n export default {\r\n props: {\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n },\r\n items: {\r\n type: Array,\r\n default: []\r\n },\r\n value: {\r\n type: [ String, Number ],\r\n default: null\r\n }\r\n },\r\n\r\n methods: {\r\n\r\n select(value)\r\n {\r\n if (!this.disabled)\r\n {\r\n this.$emit(\'input\', value);\r\n }\r\n }\r\n\r\n }\r\n\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .ui-state-button\r\n {\r\n display: inline-flex;\r\n }\r\n\r\n .ui-state-button.is-disabled button\r\n {\r\n cursor: default;\r\n }\r\n\r\n button.ui-state-button-item\r\n {\r\n background: var(--color-input);\r\n padding: 10px 16px;\r\n color: var(--color-text-dim);\r\n\r\n & + .ui-state-button-item\r\n {\r\n border-left: none;\r\n }\r\n\r\n &:first-of-type\r\n {\r\n border-top-left-radius: var(--radius);\r\n border-bottom-left-radius: var(--radius);\r\n }\r\n\r\n &:last-child\r\n {\r\n border-top-right-radius: var(--radius);\r\n border-bottom-right-radius: var(--radius);\r\n }\r\n\r\n &.is-active\r\n {\r\n //background: var(--color-bg-bright-three);\r\n color: var(--color-text);\r\n font-weight: bold;\r\n }\r\n \r\n }\r\n</style>',".ui-state-button {\n display: inline-flex;\n}\n\n.ui-state-button.is-disabled button {\n cursor: default;\n}\n\nbutton.ui-state-button-item {\n background: var(--color-input);\n padding: 10px 16px;\n color: var(--color-text-dim);\n}\nbutton.ui-state-button-item + .ui-state-button-item {\n border-left: none;\n}\nbutton.ui-state-button-item:first-of-type {\n border-top-left-radius: var(--radius);\n border-bottom-left-radius: var(--radius);\n}\nbutton.ui-state-button-item:last-child {\n border-top-right-radius: var(--radius);\n border-bottom-right-radius: var(--radius);\n}\nbutton.ui-state-button-item.is-active {\n color: var(--color-text);\n font-weight: bold;\n}\n\n/*# sourceMappingURL=state-button.vue.map */"]},media:void 0})}),vg,undefined,false,undefined,!1,Iu,void 0,void 0);var Cg={};const Eg={name:"uiAlias",props:{value:{type:String,default:null},name:{type:String,required:!0,default:null},disabled:{type:Boolean,default:!1},maxLength:{type:Number,default:200}},data:()=>({custom:!1,locked:!0}),watch:{name:function(e){this.updateAlias(e)}},mounted(){this.updateAlias(this.name)},methods:{onChange(e){let n=e.target.value;this.custom=n!==this.value,this.updateAlias(n),this.$emit("input",n)},toggleLock(){this.locked=!this.locked,this.locked||this.$nextTick((()=>{this.$refs.input.focus(),this.$refs.input.select()}))},updateAlias(e){Cg.generateAlias(e).then((e=>{this.custom=e!==this.value,this.$emit("input",e)}))}}};var xg=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-alias",class:{"is-disabled":e.disabled,"is-locked":e.locked}},[t("button",{staticClass:"ui-alias-lock",attrs:{type:"button"},on:{click:e.toggleLock}},[t("i",{class:e.locked?"fth-lock":"fth-unlock"})]),e._v(" "),t("input",{ref:"input",staticClass:"ui-input",attrs:{type:"text",maxlength:e.maxLength,readonly:e.locked,disabled:e.disabled},domProps:{value:e.value},on:{input:e.onChange,blur:function(n){e.locked=!0}}})])};xg._withStripped=!0;const wg=Da({render:xg,staticRenderFns:[]},(function(e){e&&e("data-v-69b5e8cf_0",{source:".ui-alias {\n display: flex;\n align-items: center;\n}\n.ui-alias button {\n width: 24px;\n height: 24px;\n border-radius: var(--radius);\n background: var(--color-box-nested);\n display: inline-flex;\n justify-content: center;\n align-items: center;\n font-size: 13px;\n margin-right: 10px;\n}\n.ui-alias input {\n background: transparent !important;\n border: none !important;\n box-shadow: none !important;\n height: 24px !important;\n padding: 0 !important;\n outline: none !important;\n min-width: 10px !important;\n width: auto !important;\n}\n.ui-alias:not(.is-locked) input {\n font-weight: bold;\n}\n\n/*# sourceMappingURL=alias.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\forms\\alias.vue","alias.vue"],names:[],mappings:"AAmGA;EAEA,aAAA;EACA,mBAAA;ACnGA;ADqGA;EAEA,WAAA;EACA,YAAA;EACA,4BAAA;EACA,mCAAA;EACA,oBAAA;EACA,uBAAA;EACA,mBAAA;EACA,eAAA;EACA,kBAAA;ACpGA;ADuGA;EAEA,kCAAA;EACA,uBAAA;EACA,2BAAA;EACA,uBAAA;EACA,qBAAA;EACA,wBAAA;EACA,0BAAA;EACA,sBAAA;ACtGA;ADyGA;EAEA,iBAAA;ACxGA;;AAEA,oCAAoC",file:"alias.vue",sourcesContent:['\ufeff <template>\r\n <div class="ui-alias" :class="{\'is-disabled\': disabled, \'is-locked\': locked }">\r\n <button type="button" class="ui-alias-lock" @click="toggleLock">\r\n <i :class="locked ? \'fth-lock\' : \'fth-unlock\'"></i>\r\n </button>\r\n <input ref="input" :value="value" @input="onChange" type="text" class="ui-input" :maxlength="maxLength" :readonly="locked" :disabled="disabled" @blur="locked=true" />\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import { map as _map } from \'underscore\';\r\n import UtilsApi from \'zero/api/utils.js\';\r\n\r\n export default {\r\n name: \'uiAlias\',\r\n\r\n props: {\r\n value: {\r\n type: String,\r\n default: null\r\n },\r\n name: {\r\n type: String,\r\n required: true,\r\n default: null\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n },\r\n maxLength: {\r\n type: Number,\r\n default: 200\r\n }\r\n },\r\n\r\n\r\n data: () => ({\r\n custom: false,\r\n locked: true\r\n }),\r\n\r\n\r\n watch: {\r\n name: function(val)\r\n {\r\n this.updateAlias(val);\r\n }\r\n },\r\n\r\n\r\n mounted()\r\n {\r\n this.updateAlias(this.name);\r\n },\r\n\r\n\r\n methods: {\r\n\r\n onChange(ev)\r\n {\r\n let alias = ev.target.value;\r\n\r\n this.custom = alias !== this.value;\r\n this.updateAlias(alias);\r\n\r\n this.$emit(\'input\', alias);\r\n },\r\n\r\n\r\n toggleLock()\r\n {\r\n this.locked = !this.locked;\r\n\r\n if (!this.locked)\r\n {\r\n this.$nextTick(() =>\r\n {\r\n this.$refs.input.focus();\r\n this.$refs.input.select();\r\n });\r\n }\r\n },\r\n\r\n\r\n updateAlias(value)\r\n {\r\n UtilsApi.generateAlias(value).then(alias =>\r\n {\r\n this.custom = alias !== this.value;\r\n this.$emit(\'input\', alias);\r\n });\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .ui-alias\r\n {\r\n display: flex;\r\n align-items: center;\r\n\r\n button\r\n {\r\n width: 24px;\r\n height: 24px;\r\n border-radius: var(--radius);\r\n background: var(--color-box-nested);\r\n display: inline-flex;\r\n justify-content: center;\r\n align-items: center;\r\n font-size: 13px;\r\n margin-right: 10px;\r\n }\r\n\r\n input\r\n {\r\n background: transparent !important;\r\n border: none !important;\r\n box-shadow: none !important;\r\n height: 24px !important;\r\n padding: 0 !important;\r\n outline: none !important;\r\n min-width: 10px !important;\r\n width: auto !important;\r\n }\r\n\r\n &:not(.is-locked) input\r\n {\r\n font-weight: bold;\r\n }\r\n }\r\n</style>',".ui-alias {\n display: flex;\n align-items: center;\n}\n.ui-alias button {\n width: 24px;\n height: 24px;\n border-radius: var(--radius);\n background: var(--color-box-nested);\n display: inline-flex;\n justify-content: center;\n align-items: center;\n font-size: 13px;\n margin-right: 10px;\n}\n.ui-alias input {\n background: transparent !important;\n border: none !important;\n box-shadow: none !important;\n height: 24px !important;\n padding: 0 !important;\n outline: none !important;\n min-width: 10px !important;\n width: auto !important;\n}\n.ui-alias:not(.is-locked) input {\n font-weight: bold;\n}\n\n/*# sourceMappingURL=alias.vue.map */"]},media:void 0})}),Eg,undefined,false,undefined,!1,Iu,void 0,void 0);const kg={name:"uiCheckList",props:{value:{type:Array,default:()=>[]},items:{type:[Array,Function,Promise],required:!0},disabled:{type:Boolean,default:!1},inline:{type:Boolean,default:!1},limit:{type:Number,default:100},reverse:Boolean,labelKey:{type:String,default:"value"},idKey:{type:String,default:"key"}},data:()=>({list:[]}),watch:{items(){this.init()}},mounted(){this.init()},methods:{init(){"function"==typeof this.items?this.items().then((e=>{this.list=e})):this.list=JSON.parse(JSON.stringify(this.items))},isChecked(e){let n=this.value.indexOf(e[this.idKey]);return!this.reverse&&n>-1||this.reverse&&n<0},onChange(e){let n=this.value.indexOf(e[this.idKey]),t=JSON.parse(JSON.stringify(this.value));n<0?t.push(e[this.idKey]):t.splice(n,1),this.$emit("input",t)}}};var _g=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-check-list",class:{"is-disabled":e.disabled,"is-inline":e.inline}},e._l(e.list,(function(n){return t("label",{staticClass:"ui-native-check ui-check-list-item"},[t("input",{attrs:{type:"checkbox",disabled:e.disabled},domProps:{checked:e.isChecked(n)},on:{input:function(t){return e.onChange(n)}}}),e._v(" "),t("span",{staticClass:"ui-native-check-toggle"}),e._v(" "),t("span",{directives:[{name:"localize",rawName:"v-localize",value:n[e.labelKey],expression:"item[labelKey]"}]})])})),0)};_g._withStripped=!0;const Sg=Da({render:_g,staticRenderFns:[]},(function(e){e&&e("data-v-585b8966_0",{source:".ui-check-list-item {\n display: block;\n}\n.ui-check-list-item + .ui-check-list-item {\n margin-top: 14px;\n}\n.ui-check-list.is-inline .ui-check-list-item {\n display: inline-block;\n}\n.ui-check-list.is-inline .ui-check-list-item + .ui-check-list-item {\n margin-top: 0;\n margin-left: 30px;\n}\n.ui-check-list.is-inline .ui-check-list-item .ui-native-check-toggle {\n margin-right: 6px;\n}\n\n/*# sourceMappingURL=check-list.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\forms\\check-list.vue","check-list.vue"],names:[],mappings:"AAiHA;EAEA,cAAA;ACjHA;ADmHA;EAEA,gBAAA;AClHA;ADsHA;EAEA,qBAAA;ACpHA;ADsHA;EAEA,aAAA;EACA,iBAAA;ACrHA;ADwHA;EAEA,iBAAA;ACvHA;;AAEA,yCAAyC",file:"check-list.vue",sourcesContent:['\ufeff <template>\r\n <div class="ui-check-list" :class="{\'is-disabled\': disabled, \'is-inline\': inline }">\r\n <label v-for="item in list" class="ui-native-check ui-check-list-item">\r\n <input type="checkbox" :checked="isChecked(item)" @input="onChange(item)" :disabled="disabled" />\r\n <span class="ui-native-check-toggle"></span>\r\n <span v-localize="item[labelKey]"></span>\r\n </label>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import { map as _map, filter as _filter } from \'underscore\';\r\n\r\n export default {\r\n name: \'uiCheckList\',\r\n\r\n props: {\r\n value: {\r\n type: Array,\r\n default: () => []\r\n },\r\n items: {\r\n type: [Array, Function, Promise],\r\n required: true\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n },\r\n inline: {\r\n type: Boolean,\r\n default: false\r\n },\r\n limit: {\r\n type: Number,\r\n default: 100\r\n },\r\n reverse: Boolean,\r\n labelKey: {\r\n type: String,\r\n default: \'value\'\r\n },\r\n idKey: {\r\n type: String,\r\n default: \'key\'\r\n }\r\n },\r\n\r\n\r\n data: () => ({\r\n list: []\r\n }),\r\n\r\n\r\n watch: {\r\n items()\r\n {\r\n this.init();\r\n }\r\n },\r\n\r\n\r\n mounted()\r\n {\r\n this.init();\r\n },\r\n\r\n\r\n methods: {\r\n\r\n init()\r\n {\r\n if (typeof this.items === \'function\')\r\n {\r\n this.items().then(res =>\r\n {\r\n this.list = res;\r\n });\r\n }\r\n else\r\n {\r\n this.list = JSON.parse(JSON.stringify(this.items));\r\n }\r\n },\r\n\r\n isChecked(item)\r\n {\r\n let index = this.value.indexOf(item[this.idKey]);\r\n return (!this.reverse && index > -1) || (this.reverse && index < 0);\r\n },\r\n\r\n onChange(item)\r\n {\r\n let index = this.value.indexOf(item[this.idKey]);\r\n let value = JSON.parse(JSON.stringify(this.value));\r\n\r\n if (index < 0)\r\n {\r\n value.push(item[this.idKey]);\r\n }\r\n else\r\n {\r\n value.splice(index, 1);\r\n }\r\n\r\n this.$emit(\'input\', value);\r\n },\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .ui-check-list-item\r\n {\r\n display: block;\r\n\r\n & + .ui-check-list-item\r\n {\r\n margin-top: 14px;\r\n }\r\n }\r\n\r\n .ui-check-list.is-inline .ui-check-list-item\r\n {\r\n display: inline-block;\r\n \r\n & + .ui-check-list-item\r\n {\r\n margin-top: 0;\r\n margin-left: 30px;\r\n }\r\n\r\n .ui-native-check-toggle\r\n {\r\n margin-right: 6px;\r\n }\r\n }\r\n</style>',".ui-check-list-item {\n display: block;\n}\n.ui-check-list-item + .ui-check-list-item {\n margin-top: 14px;\n}\n\n.ui-check-list.is-inline .ui-check-list-item {\n display: inline-block;\n}\n.ui-check-list.is-inline .ui-check-list-item + .ui-check-list-item {\n margin-top: 0;\n margin-left: 30px;\n}\n.ui-check-list.is-inline .ui-check-list-item .ui-native-check-toggle {\n margin-right: 6px;\n}\n\n/*# sourceMappingURL=check-list.vue.map */"]},media:void 0})}),kg,undefined,false,undefined,!1,Iu,void 0,void 0),Dg=[403,404,409,504];const Bg={props:{dark:{type:Boolean,default:!1},error:{type:Error,default:null}},data:()=>({path:null,routes:[],details:!1,errorDetails:{category:0,code:null,headline:null,text:null}}),watch:{error:function(e){this.rebuild()},$route:function(e){this.rebuild()}},computed:{detailsText(){return this.details?"Hide":"Defined routes"},tokens(){return{code:this.errorDetails.code,path:this.path}}},mounted(){console.info(this.error.response),this.rebuild()},methods:{rebuild(){if(this.error&&this.error.response){let e=null;const n=this.error.response.status,t=Math.round(n/100);Dg.indexOf(n)>-1?e="@errors.http."+n:4===t?e="@errors.http.4xx":5===t&&(e="@errors.http.5xx"),this.errorDetails.category=t,this.errorDetails.code=n,this.errorDetails.headline=e,this.errorDetails.text=e+"_text"}this.path=this.$router.options.base+this.$route.path.substring(1),this.routes=[],this.$router.options.routes.forEach((e=>{this.routes.push({path:e.path,name:e.name}),e.children&&e.children.forEach((n=>{this.routes.push({path:e.path+"/"+n.path,name:n.name})}))}))}}};var zg=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"page page-error",class:{"theme-dark":e.dark}},[t("i",{staticClass:"page-error-icon fth-cloud-snow"}),e._v(" "),t("p",{staticClass:"page-error-text"},[t("strong",{directives:[{name:"localize",rawName:"v-localize",value:{key:e.errorDetails.headline,tokens:e.tokens},expression:"{ key: errorDetails.headline, tokens: tokens }"}],staticClass:"page-error-headline"}),t("br"),e._v(" "),t("span",{directives:[{name:"localize",rawName:"v-localize:html",value:{key:e.errorDetails.text,tokens:e.tokens},expression:"{ key: errorDetails.text, tokens: tokens }",arg:"html"}]})]),e._v(" "),404===e.errorDetails.code?t("ui-button",{staticClass:"page-error-button",attrs:{type:"light onbg",label:e.detailsText},on:{click:function(n){e.details=!e.details}}}):e._e(),e._v(" "),404!==e.errorDetails.code&&4===e.errorDetails.category?t("ui-button",{staticClass:"page-error-button",attrs:{type:"light onbg",label:"@ui.back"},on:{click:function(n){return e.$router.go(-1)}}}):e._e(),e._v(" "),404===e.errorDetails.code&&e.details?[t("br"),t("br"),e._v(" "),t("div",{staticClass:"page-error-routes"},[t("span",[e._v("#")]),e._v(" "),t("span",[e._v("Name")]),e._v(" "),t("span",[e._v("Path")]),e._v(" "),e._l(e.routes,(function(n,r){return[t("span",[e._v(e._s(r+1)+".")]),e._v(" "),t("span",[e._v(e._s(n.name))]),e._v(" "),t("span",[e._v(e._s(n.path))])]}))],2)]:e._e()],2)};zg._withStripped=!0;const Og=Da({render:zg,staticRenderFns:[]},(function(e){e&&e("data-v-1ac56143_0",{source:".page-error {\n width: 100%;\n min-height: 100vh;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n color: var(--color-text);\n text-align: center;\n padding: var(--padding);\n overflow-y: auto;\n}\n.page-error-icon {\n font-size: 82px;\n color: var(--color-text);\n margin-bottom: 20px;\n}\n.page-error-text {\n font-size: var(--font-size);\n color: var(--color-text-dim);\n line-height: 1.4em;\n}\n.page-error-headline {\n display: inline-block;\n margin-bottom: 10px;\n font-size: var(--font-size-l);\n color: var(--color-text);\n}\n.page-error-button {\n margin-top: 10px;\n}\n.page-error-routes {\n display: grid;\n grid-template-columns: auto auto 1fr;\n width: 100%;\n max-width: 100%;\n text-align: left;\n border-top: 1px solid var(--color-line);\n border-left: 1px solid var(--color-line);\n margin-top: 30px;\n}\n.page-error-routes span {\n border: 1px solid var(--color-line);\n border-left: none;\n border-top: none;\n padding: 8px 10px 6px;\n font-family: Consolas;\n font-size: 12px;\n}\n.page-error-routes span:nth-child(3n+1) {\n color: var(--color-text-dim);\n}\n\n/*# sourceMappingURL=error-view.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\forms\\error-view.vue","error-view.vue"],names:[],mappings:"AAiJA;EAEA,WAAA;EACA,iBAAA;EACA,aAAA;EACA,sBAAA;EACA,uBAAA;EACA,mBAAA;EACA,wBAAA;EACA,kBAAA;EACA,uBAAA;EACA,gBAAA;ACjJA;ADoJA;EAEA,eAAA;EACA,wBAAA;EACA,mBAAA;AClJA;ADqJA;EAEA,2BAAA;EACA,4BAAA;EACA,kBAAA;ACnJA;ADsJA;EAEA,qBAAA;EACA,mBAAA;EACA,6BAAA;EACA,wBAAA;ACpJA;ADuJA;EAEA,gBAAA;ACrJA;ADwJA;EAEA,aAAA;EACA,oCAAA;EACA,WAAA;EACA,eAAA;EACA,gBAAA;EACA,uCAAA;EACA,wCAAA;EACA,gBAAA;ACtJA;ADwJA;EAEA,mCAAA;EACA,iBAAA;EACA,gBAAA;EACA,qBAAA;EACA,qBAAA;EACA,eAAA;ACvJA;ADyJA;EAEA,4BAAA;ACxJA;;AAEA,yCAAyC",file:"error-view.vue",sourcesContent:['\ufeff<template>\r\n <div class="page page-error" :class="{\'theme-dark\': dark }">\r\n <i class="page-error-icon fth-cloud-snow"></i>\r\n <p class="page-error-text">\r\n <strong class="page-error-headline" v-localize="{ key: errorDetails.headline, tokens: tokens }"></strong><br>\r\n <span v-localize:html="{ key: errorDetails.text, tokens: tokens }"></span>\r\n </p>\r\n <ui-button v-if="errorDetails.code === 404" class="page-error-button" type="light onbg" :label="detailsText" @click="details = !details" />\r\n <ui-button v-if="errorDetails.code !== 404 && errorDetails.category === 4" class="page-error-button" type="light onbg" label="@ui.back" @click="$router.go(-1)" />\r\n \x3c!--<ui-button v-if="errorDetails.code !== 404 && errorDetails.category === 5" class="page-error-button" type="light" label="@ui.back" @click="$router.go(-1)" />--\x3e\r\n <template v-if="errorDetails.code === 404 && details">\r\n <br><br>\r\n <div class="page-error-routes">\r\n <span>#</span>\r\n <span>Name</span>\r\n <span>Path</span>\r\n <template v-for="(route, index) in routes">\r\n <span>{{index + 1}}.</span>\r\n <span>{{route.name}}</span>\r\n <span>{{route.path}}</span>\r\n </template>\r\n </div>\r\n </template>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n const KNOWN_ERRORS = [403, 404, 409, 504];\r\n\r\n export default {\r\n\r\n props: {\r\n dark: {\r\n type: Boolean,\r\n default: false\r\n },\r\n error: {\r\n type: Error,\r\n default: null\r\n }\r\n },\r\n\r\n data: () => ({\r\n path: null,\r\n routes: [],\r\n details: false,\r\n errorDetails: {\r\n category: 0,\r\n code: null,\r\n headline: null,\r\n text: null\r\n }\r\n }),\r\n\r\n watch: {\r\n error: function (val)\r\n {\r\n this.rebuild();\r\n },\r\n \'$route\': function (val)\r\n {\r\n this.rebuild();\r\n }\r\n },\r\n\r\n computed: {\r\n detailsText()\r\n {\r\n return this.details ? \'Hide\' : \'Defined routes\';\r\n },\r\n tokens()\r\n {\r\n return {\r\n code: this.errorDetails.code,\r\n path: this.path\r\n };\r\n }\r\n },\r\n\r\n mounted()\r\n {\r\n console.info(this.error.response);\r\n this.rebuild();\r\n },\r\n\r\n methods: {\r\n\r\n rebuild()\r\n {\r\n if (this.error && this.error.response)\r\n {\r\n let errorKey = null;\r\n\r\n const errorCode = this.error.response.status;\r\n const errorCategory = Math.round(errorCode / 100);\r\n\r\n if (KNOWN_ERRORS.indexOf(errorCode) > -1)\r\n {\r\n errorKey = \'@errors.http.\' + errorCode;\r\n }\r\n else if (errorCategory === 4)\r\n {\r\n errorKey = \'@errors.http.4xx\';\r\n }\r\n else if (errorCategory === 5)\r\n {\r\n errorKey = \'@errors.http.5xx\';\r\n }\r\n\r\n this.errorDetails.category = errorCategory;\r\n this.errorDetails.code = errorCode;\r\n this.errorDetails.headline = errorKey;\r\n this.errorDetails.text = errorKey + \'_text\';\r\n }\r\n\r\n this.path = this.$router.options.base + this.$route.path.substring(1);\r\n this.routes = [];\r\n\r\n this.$router.options.routes.forEach(route =>\r\n {\r\n this.routes.push({\r\n path: route.path,\r\n name: route.name\r\n });\r\n\r\n if (route.children)\r\n {\r\n route.children.forEach(child =>\r\n {\r\n this.routes.push({\r\n path: route.path + \'/\' + child.path,\r\n name: child.name\r\n });\r\n });\r\n }\r\n });\r\n }\r\n\r\n }\r\n\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .page-error\r\n {\r\n width: 100%;\r\n min-height: 100vh;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n color: var(--color-text);\r\n text-align: center;\r\n padding: var(--padding);\r\n overflow-y: auto;\r\n }\r\n\r\n .page-error-icon\r\n {\r\n font-size: 82px;\r\n color: var(--color-text);\r\n margin-bottom: 20px;\r\n }\r\n\r\n .page-error-text\r\n {\r\n font-size: var(--font-size);\r\n color: var(--color-text-dim);\r\n line-height: 1.4em;\r\n }\r\n\r\n .page-error-headline\r\n {\r\n display: inline-block;\r\n margin-bottom: 10px;\r\n font-size: var(--font-size-l);\r\n color: var(--color-text);\r\n }\r\n\r\n .page-error-button\r\n {\r\n margin-top: 10px;\r\n }\r\n\r\n .page-error-routes\r\n {\r\n display: grid;\r\n grid-template-columns: auto auto 1fr;\r\n width: 100%;\r\n max-width: 100%;\r\n text-align: left;\r\n border-top: 1px solid var(--color-line);\r\n border-left: 1px solid var(--color-line);\r\n margin-top: 30px;\r\n\r\n span\r\n {\r\n border: 1px solid var(--color-line);\r\n border-left: none;\r\n border-top: none;\r\n padding: 8px 10px 6px;\r\n font-family: Consolas;\r\n font-size: 12px;\r\n\r\n &:nth-child(3n+1)\r\n {\r\n color: var(--color-text-dim);\r\n }\r\n }\r\n }\r\n</style>',".page-error {\n width: 100%;\n min-height: 100vh;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n color: var(--color-text);\n text-align: center;\n padding: var(--padding);\n overflow-y: auto;\n}\n\n.page-error-icon {\n font-size: 82px;\n color: var(--color-text);\n margin-bottom: 20px;\n}\n\n.page-error-text {\n font-size: var(--font-size);\n color: var(--color-text-dim);\n line-height: 1.4em;\n}\n\n.page-error-headline {\n display: inline-block;\n margin-bottom: 10px;\n font-size: var(--font-size-l);\n color: var(--color-text);\n}\n\n.page-error-button {\n margin-top: 10px;\n}\n\n.page-error-routes {\n display: grid;\n grid-template-columns: auto auto 1fr;\n width: 100%;\n max-width: 100%;\n text-align: left;\n border-top: 1px solid var(--color-line);\n border-left: 1px solid var(--color-line);\n margin-top: 30px;\n}\n.page-error-routes span {\n border: 1px solid var(--color-line);\n border-left: none;\n border-top: none;\n padding: 8px 10px 6px;\n font-family: Consolas;\n font-size: 12px;\n}\n.page-error-routes span:nth-child(3n+1) {\n color: var(--color-text-dim);\n}\n\n/*# sourceMappingURL=error-view.vue.map */"]},media:void 0})}),Bg,undefined,false,undefined,!1,Iu,void 0,void 0);const Mg={name:"uiError",props:{field:{type:String,default:""},catchRemaining:{type:Boolean,default:!1},catchAll:{type:Boolean,default:!1}},data:()=>({errors:[]}),mounted(){},computed:{visible(){return this.errors&&this.errors.length}},methods:{setErrors(e,n){if(!e)return this.clearErrors();xc(e)||(e=[e]),e.forEach((e=>{e.id=jl.guid()})),n?e.forEach((e=>{this.errors.push(e)})):this.errors=e},clearErrors(){this.errors=[]}}};var Tg=function(){var e=this,n=e.$createElement,t=e._self._c||n;return e.visible?t("div",{staticClass:"ui-error"},e._l(e.errors,(function(e){return t("ui-message",{key:e.id,attrs:{type:"error",text:e.message,title:e.field}})})),1):e._e()};Tg._withStripped=!0;const Ig=Da({render:Tg,staticRenderFns:[]},undefined,Mg,undefined,false,undefined,!1,void 0,void 0,void 0);const $g={name:"uiFormHeader",props:{title:{type:String,default:null},value:{type:Object},canDelete:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},titleDisabled:{type:Boolean,default:!1},state:{type:String},isCreate:{type:Boolean,default:!1},activeToggle:{type:Boolean,default:!1},hasAlias:{type:Boolean,default:!0}},computed:{actionsDefined(){return!this.isCreate&&(this.canDelete||this.$scopedSlots.hasOwnProperty("actions"))}},methods:{onDelete(e,n){this.$emit("delete",e,n)}}};var Ng=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("ui-header-bar",{staticClass:"ui-form-header",attrs:{"back-button":!0},scopedSlots:e._u([{key:"title",fn:function(){return[t("h2",{staticClass:"ui-header-bar-title",class:{"is-empty":e.title&&!e.value.name&&!e.titleDisabled}},[e.titleDisabled?e._e():t("input",{directives:[{name:"model",rawName:"v-model",value:e.value.name,expression:"value.name"},{name:"localize",rawName:"v-localize:placeholder",value:e.title,expression:"title",arg:"placeholder"}],staticClass:"ui-form-header-title-input",attrs:{type:"text",readonly:e.titleDisabled||e.disabled},domProps:{value:e.value.name},on:{input:function(n){n.target.composing||e.$set(e.value,"name",n.target.value)}}}),e._v(" "),e.titleDisabled?t("span",{directives:[{name:"localize",rawName:"v-localize",value:e.value.name||e.title,expression:"value.name || title"}]}):e._e()])]},proxy:!0}])},[e._v(" "),t("div",{staticClass:"ui-form-header-aside"},[e._t("default"),e._v(" "),e.activeToggle?t("div",{staticClass:"ui-form-header-toggle"},[t("ui-toggle",{staticClass:"is-primary",attrs:{"off-content":"@ui.inactive","off-warning":!0,"on-content":"@ui.active","content-left":!0,disabled:e.disabled},model:{value:e.value.isActive,callback:function(n){e.$set(e.value,"isActive",n)},expression:"value.isActive"}})],1):e._e(),e._v(" "),e.actionsDefined&&!e.disabled?t("ui-dropdown",{attrs:{align:"right"},scopedSlots:e._u([{key:"button",fn:function(){return[t("ui-button",{attrs:{type:"light onbg",label:"@ui.actions",caret:"down"}})]},proxy:!0}],null,!1,1918546237)},[e._v(" "),e._t("actions"),e._v(" "),e.canDelete?t("ui-dropdown-button",{attrs:{label:"@ui.delete",icon:"fth-trash",disabled:e.disabled},on:{click:e.onDelete}}):e._e()],2):e._e(),e._v(" "),e.disabled?e._e():t("ui-button",{attrs:{submit:!0,type:"primary",label:"@ui.save",state:e.state}})],2)])};Ng._withStripped=!0;const Rg=Da({render:Ng,staticRenderFns:[]},(function(e){e&&e("data-v-120af07c_0",{source:".ui-form-header-aside {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n}\n.ui-form-header-aside > * + * {\n margin-left: var(--padding-s);\n}\n.ui-form-header-toggle {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n position: relative;\n top: -1px;\n margin-left: var(--padding-s);\n margin-right: var(--padding-s);\n}\n.ui-form-header-toggle .ui-toggle-switch, .ui-form-header-toggle .ui-toggle-switch.is-active {\n background: var(--color-button-light-onbg);\n box-shadow: var(--shadow-short);\n}\n.ui-form-header-toggle .ui-toggle-switch i, .ui-form-header-toggle .ui-toggle-switch.is-active i {\n background: var(--color-text);\n}\n.ui-form-header-toggle .ui-toggle-off-warning {\n color: var(--color-accent-red);\n}\n.ui-header-bar-title {\n position: relative;\n}\ninput[type=text].ui-form-header-title-input {\n font-family: var(--font);\n color: var(--color-text);\n font-size: var(--font-size-l);\n font-weight: 700;\n background: none;\n border: 1px dashed var(--color-line-dashed);\n /*&:hover, &:focus, .ui-header-bar-title.is-empty &\n {\n border: 1px dashed var(--color-text-dim-one);\n }*/\n}\n.ui-form-header-title-alias {\n position: absolute;\n right: 10px;\n top: 11px;\n z-index: 2;\n}\n.ui-form-header-title-alias .ui-alias-lock {\n background: none;\n}\n\n/*# sourceMappingURL=form-header.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\forms\\form-header.vue","form-header.vue"],names:[],mappings:"AAsFA;EAEA,aAAA;EACA,mBAAA;EACA,yBAAA;ACtFA;ADwFA;EAEA,6BAAA;ACvFA;AD2FA;EAEA,oBAAA;EACA,uBAAA;EACA,mBAAA;EACA,kBAAA;EACA,SAAA;EACA,6BAAA;EACA,8BAAA;ACzFA;AD2FA;EAEA,0CAAA;EACA,+BAAA;AC1FA;AD4FA;EAEA,6BAAA;AC3FA;AD+FA;EAEA,8BAAA;AC9FA;ADkGA;EAEA,kBAAA;AChGA;ADmGA;EAEA,wBAAA;EACA,wBAAA;EACA,6BAAA;EACA,gBAAA;EACA,gBAAA;EACA,2CAAA;EAEA;;;IAAA;AC/FA;ADqGA;EAEA,kBAAA;EACA,WAAA;EACA,SAAA;EACA,UAAA;ACnGA;ADqGA;EAEA,gBAAA;ACpGA;;AAEA,0CAA0C",file:"form-header.vue",sourcesContent:['\ufeff<template>\r\n <ui-header-bar class="ui-form-header" :back-button="true">\r\n <template v-slot:title>\r\n <h2 class="ui-header-bar-title" :class="{\'is-empty\': title && !value.name && !titleDisabled}">\r\n <input v-if="!titleDisabled" class="ui-form-header-title-input" type="text" v-model="value.name" v-localize:placeholder="title" :readonly="titleDisabled || disabled" />\r\n \x3c!--<ui-alias class="ui-form-header-title-alias" v-if="hasAlias" v-model="value.alias" :name="value.name" :disabled="disabled" />--\x3e\r\n <span v-if="titleDisabled" v-localize="value.name || title"></span>\r\n </h2>\r\n </template>\r\n <div class="ui-form-header-aside">\r\n <slot></slot>\r\n <div v-if="activeToggle" class="ui-form-header-toggle">\r\n <ui-toggle v-model="value.isActive" class="is-primary" off-content="@ui.inactive" :off-warning="true" on-content="@ui.active" :content-left="true" :disabled="disabled" />\r\n </div>\r\n <ui-dropdown v-if="actionsDefined && !disabled" align="right">\r\n <template v-slot:button>\r\n <ui-button type="light onbg" label="@ui.actions" caret="down" />\r\n </template>\r\n <slot name="actions"></slot>\r\n <ui-dropdown-button v-if="canDelete" label="@ui.delete" icon="fth-trash" @click="onDelete" :disabled="disabled" />\r\n </ui-dropdown>\r\n <ui-button :submit="true" type="primary" label="@ui.save" :state="state" v-if="!disabled" />\r\n </div>\r\n </ui-header-bar>\r\n</template>\r\n\r\n\r\n<script>\r\n export default {\r\n name: \'uiFormHeader\',\r\n\r\n props: {\r\n title: {\r\n type: String,\r\n default: null\r\n },\r\n value: {\r\n type: Object\r\n },\r\n canDelete: {\r\n type: Boolean,\r\n default: true\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n },\r\n titleDisabled: {\r\n type: Boolean,\r\n default: false\r\n },\r\n state: {\r\n type: String\r\n },\r\n isCreate: {\r\n type: Boolean,\r\n default: false\r\n },\r\n activeToggle: {\r\n type: Boolean,\r\n default: false\r\n },\r\n hasAlias: {\r\n type: Boolean,\r\n default: true\r\n }\r\n },\r\n\r\n computed: {\r\n actionsDefined()\r\n {\r\n return !this.isCreate && (this.canDelete || this.$scopedSlots.hasOwnProperty(\'actions\'));\r\n }\r\n },\r\n\r\n methods: {\r\n onDelete(item, opts)\r\n {\r\n this.$emit(\'delete\', item, opts);\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n\r\n<style lang="scss">\r\n .ui-form-header-aside\r\n {\r\n display: flex;\r\n align-items: center;\r\n justify-content: flex-end;\r\n\r\n > * + *\r\n {\r\n margin-left: var(--padding-s);\r\n }\r\n }\r\n\r\n .ui-form-header-toggle\r\n {\r\n display: inline-flex;\r\n justify-content: center;\r\n align-items: center;\r\n position: relative;\r\n top: -1px;\r\n margin-left: var(--padding-s);\r\n margin-right: var(--padding-s);\r\n\r\n .ui-toggle-switch, .ui-toggle-switch.is-active\r\n {\r\n background: var(--color-button-light-onbg);\r\n box-shadow: var(--shadow-short);\r\n\r\n i\r\n {\r\n background: var(--color-text);\r\n }\r\n }\r\n\r\n .ui-toggle-off-warning\r\n {\r\n color: var(--color-accent-red);\r\n }\r\n }\r\n\r\n .ui-header-bar-title\r\n {\r\n position: relative;\r\n }\r\n\r\n input[type="text"].ui-form-header-title-input\r\n {\r\n font-family: var(--font);\r\n color: var(--color-text);\r\n font-size: var(--font-size-l);\r\n font-weight: 700;\r\n background: none;\r\n border: 1px dashed var(--color-line-dashed);\r\n\r\n /*&:hover, &:focus, .ui-header-bar-title.is-empty &\r\n {\r\n border: 1px dashed var(--color-text-dim-one);\r\n }*/\r\n }\r\n\r\n .ui-form-header-title-alias\r\n {\r\n position: absolute;\r\n right: 10px;\r\n top: 11px;\r\n z-index: 2;\r\n\r\n .ui-alias-lock\r\n {\r\n background: none;\r\n }\r\n }\r\n</style>',".ui-form-header-aside {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n}\n.ui-form-header-aside > * + * {\n margin-left: var(--padding-s);\n}\n\n.ui-form-header-toggle {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n position: relative;\n top: -1px;\n margin-left: var(--padding-s);\n margin-right: var(--padding-s);\n}\n.ui-form-header-toggle .ui-toggle-switch, .ui-form-header-toggle .ui-toggle-switch.is-active {\n background: var(--color-button-light-onbg);\n box-shadow: var(--shadow-short);\n}\n.ui-form-header-toggle .ui-toggle-switch i, .ui-form-header-toggle .ui-toggle-switch.is-active i {\n background: var(--color-text);\n}\n.ui-form-header-toggle .ui-toggle-off-warning {\n color: var(--color-accent-red);\n}\n\n.ui-header-bar-title {\n position: relative;\n}\n\ninput[type=text].ui-form-header-title-input {\n font-family: var(--font);\n color: var(--color-text);\n font-size: var(--font-size-l);\n font-weight: 700;\n background: none;\n border: 1px dashed var(--color-line-dashed);\n /*&:hover, &:focus, .ui-header-bar-title.is-empty &\n {\n border: 1px dashed var(--color-text-dim-one);\n }*/\n}\n\n.ui-form-header-title-alias {\n position: absolute;\n right: 10px;\n top: 11px;\n z-index: 2;\n}\n.ui-form-header-title-alias .ui-alias-lock {\n background: none;\n}\n\n/*# sourceMappingURL=form-header.vue.map */"]},media:void 0})}),$g,undefined,false,undefined,!1,Iu,void 0,void 0);const Fg={name:"uiForm",props:{errorComponents:{type:Array,default:()=>["uiError"]},inputComponents:{type:Array,default:()=>["uiProperty"]},route:{type:[String,Object],default:null}},data:()=>({dirty:!1,loadingState:"default",loadingError:null,state:"default",errors:[],canEdit:!0,slotProps:{state:null},submitBlocked:!1}),watch:{$route:function(){this.$emit("load",this)},state(e){this.slotProps.state=e},canEdit(e){this.$nextTick((()=>{this.setCanEdit(e)}))}},created(){this.slotProps.state=this.state,this.$emit("load",this)},methods:{beforeRouteLeave(e,n,t){this.dirty?Uu.confirm({title:"@unsavedchanges.title",text:"@unsavedchanges.text",confirmLabel:"@unsavedchanges.confirm",closeLabel:"@unsavedchanges.close"}).then((()=>t(!1)),(()=>{this.dirty=!1,t()})):t()},load(e){return this.loadingState="loading",new Promise(((n,t)=>{e.then((e=>{e.meta&&"boolean"==typeof e.meta.canEdit&&(this.canEdit=e.meta.canEdit),n(e),this.loadingState="default",this.$nextTick((()=>{this.$emit("loaded",this)}))}),(e=>{this.loadingState="error",this.loadingError=e,t(e)})).catch((e=>{this.loadingState="error",this.loadingError=e}))}))},handle(e,n){this.setState("loading");let t=(e,n)=>{this.setState("error"),this.setErrors(e),n(e)};return new Promise(((n,r)=>{e.then((e=>{if(this.clearErrors(),e.success){if(this.setState("success"),this.setDirty(!1),n(e),e.model&&this.route&&this.$route.name!==this.route){let n="object"==typeof this.route?this.route:{name:this.route};n.params=n.params||{},n.params.id=e.model.id,this.$router.replace(n)}}else t(e.errors,r)}),(e=>{t(e,r)})).catch((e=>{throw this.setState("error"),e}))}))},onSubmit(e){this.submitBlocked||this.$emit("submit",this,e)},onChange(e){this.dirty=!0},onDelete(e){Uu.confirmDelete().then((n=>{n.state("loading"),e().then((e=>{e.success?(n.state("success"),n.hide(),this.$router.go(-1),Ff.success("@deleteoverlay.success","@deleteoverlay.success_text")):n.errors(e.errors)}))}))},onKeydown(e){13===e.keyCode&&(this.submitBlocked=!0,clearTimeout(this.submitBlockedTimeout),this.submitBlockedTimeout=setTimeout((()=>this.submitBlocked=!1),300))},setDirty(e){this.dirty=e},setState(e){this.state=e},clearErrors(){this.getErrorComponents().forEach((e=>{e.clearErrors(),e.tab&&e.tab.clearErrors()}))},setErrors(e){this.errors=void 0!==e&&e?xc(e)?e:[e]:[];let n=this.getErrorComponents(),t=ru(this.errors,"property"),r=[];n.forEach((e=>{let n=e.field;n&&t[n]&&(r.push(n),e.setErrors(t[n]),e.tab&&e.tab.setErrors(!0))})),Ud(t,((e,t)=>{r.indexOf(t)<0&&n.forEach((n=>{(n.catchRemaining||n.catchAll)&&(n.setErrors(e,!0),n.tab&&n.tab.setErrors(!0))}))}))},getErrorComponents(){let e=[],n=(t,r)=>{t.$children.forEach((t=>{this.errorComponents.indexOf(t.$options.name)>-1?e.push({name:t.$options.name,field:t.field,catchAll:t.catchAll,catchRemaining:t.catchRemaining,component:t,setErrors:t.setErrors,clearErrors:t.clearErrors,tab:r}):n(t,r||("uiTab"===t.$options.name?t:null))}))};return n(this),e},setCanEdit(e){}}};var Lg=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("form",{staticClass:"ui-form",on:{keydown:e.onKeydown,submit:function(n){return n.preventDefault(),e.onSubmit(n)},change:e.onChange}},["default"===e.loadingState?e._t("default",null,null,e.slotProps):e._e(),e._v(" "),"loading"==e.loadingState?t("div",{staticClass:"ui-form-loading"},[t("i",{staticClass:"ui-form-loading-progress"})]):e._e(),e._v(" "),"error"===e.loadingState?t("ui-error-view",{attrs:{error:e.loadingError}}):e._e()],2)};Lg._withStripped=!0;const Pg=Da({render:Lg,staticRenderFns:[]},(function(e){e&&e("data-v-3ddb9bc4_0",{source:".ui-form {\n min-height: 100%;\n font-size: var(--font-size);\n}\n.ui-form-loading {\n display: flex;\n width: 100%;\n height: 100vh;\n align-items: center;\n justify-content: center;\n}\n.ui-form-loading-progress {\n width: 32px;\n height: 32px;\n z-index: 2;\n border-radius: 40px;\n border: 2px solid var(--color-bg-shade-3);\n border-left-color: var(--color-text);\n opacity: 1;\n will-change: transform;\n animation: rotating 0.5s linear infinite;\n transition: opacity 0.25s ease;\n}\n@keyframes rotating {\nfrom {\n -webkit-transform: rotate(0);\n transform: rotate(0);\n}\nto {\n -webkit-transform: rotate(1turn);\n transform: rotate(1turn);\n}\n}\n\n/*# sourceMappingURL=form.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\forms\\form.vue","form.vue"],names:[],mappings:"AA+aA;EAEA,gBAAA;EACA,2BAAA;AC/aA;ADkbA;EAEA,aAAA;EACA,WAAA;EACA,aAAA;EACA,mBAAA;EACA,uBAAA;AChbA;ADmbA;EAEA,WAAA;EACA,YAAA;EACA,UAAA;EACA,mBAAA;EACA,yCAAA;EACA,oCAAA;EACA,UAAA;EACA,sBAAA;EACA,wCAAA;EACA,8BAAA;ACjbA;ADobA;AAEA;IAEA,4BAAA;IACA,oBAAA;ACnbE;ADqbF;IAEA,gCAAA;IACA,wBAAA;ACpbE;AACF;;AAEA,mCAAmC",file:"form.vue",sourcesContent:["\ufeff<template>\r\n <form class=\"ui-form\" @keydown=\"onKeydown\" @submit.prevent=\"onSubmit\" @change=\"onChange\">\r\n <slot v-if=\"loadingState === 'default'\" v-bind=\"slotProps\" />\r\n <div v-if=\"loadingState == 'loading'\" class=\"ui-form-loading\">\r\n <i class=\"ui-form-loading-progress\"></i>\r\n </div>\r\n <ui-error-view v-if=\"loadingState === 'error'\" :error=\"loadingError\" />\r\n </form>\r\n</template>\r\n\r\n\r\n<script>\r\n import Overlay from 'zero/helpers/overlay.js'\r\n import Notification from 'zero/helpers/notification.js'\r\n import { isArray as _isArray, filter as _filter, groupBy as _groupBy, each as _each, difference as _difference } from 'underscore'\r\n\r\n export default {\r\n name: 'uiForm',\r\n\r\n props: {\r\n errorComponents: {\r\n type: Array,\r\n default: () => [ 'uiError' ]\r\n },\r\n inputComponents: {\r\n type: Array,\r\n default: () => [ 'uiProperty' ]\r\n },\r\n route: {\r\n type: [String, Object],\r\n default: null\r\n }\r\n },\r\n\r\n data: () => ({\r\n dirty: false,\r\n loadingState: 'default',\r\n loadingError: null,\r\n state: 'default',\r\n errors: [],\r\n canEdit: true,\r\n slotProps: {\r\n state: null\r\n },\r\n submitBlocked: false\r\n }),\r\n\r\n watch: {\r\n '$route': function ()\r\n {\r\n this.$emit('load', this);\r\n },\r\n state(val)\r\n {\r\n this.slotProps.state = val;\r\n },\r\n canEdit(val)\r\n {\r\n this.$nextTick(() =>\r\n {\r\n this.setCanEdit(val);\r\n });\r\n }\r\n },\r\n\r\n\r\n created()\r\n {\r\n this.slotProps.state = this.state;\r\n this.$emit('load', this);\r\n },\r\n\r\n\r\n methods: {\r\n\r\n // shows a confirmation dialog for dirty forms when the route tries to change\r\n // it only works when this method is attached to the route component\r\n beforeRouteLeave(to, from, next) \r\n { \r\n if (this.dirty)\r\n {\r\n Overlay.confirm({\r\n title: '@unsavedchanges.title',\r\n text: '@unsavedchanges.text',\r\n confirmLabel: '@unsavedchanges.confirm',\r\n closeLabel: '@unsavedchanges.close'\r\n }).then(\r\n () => next(false),\r\n () =>\r\n {\r\n this.dirty = false;\r\n next();\r\n }\r\n );\r\n }\r\n else\r\n {\r\n next()\r\n }\r\n },\r\n\r\n // loads data on creation of the form\r\n load(promise)\r\n {\r\n this.loadingState = 'loading';\r\n\r\n return new Promise((resolve, reject) =>\r\n {\r\n promise\r\n .then(\r\n response =>\r\n {\r\n if (response.meta && typeof response.meta.canEdit === 'boolean')\r\n {\r\n this.canEdit = response.meta.canEdit;\r\n\r\n //if (response.entity)\r\n //{\r\n // if (!response.entity.id && this.$route.params.scope === zero.sharedAppId)\r\n // {\r\n // response.entity.appId = zero.sharedAppId;\r\n // }\r\n\r\n // this.isShared = response.entity.appId === zero.sharedAppId;\r\n //} // TODO appx\r\n }\r\n\r\n resolve(response);\r\n\r\n this.loadingState = 'default';\r\n this.$nextTick(() =>\r\n {\r\n this.$emit('loaded', this);\r\n });\r\n },\r\n (error) =>\r\n {\r\n this.loadingState = 'error';\r\n this.loadingError = error;\r\n reject(error);\r\n }\r\n )\r\n .catch(exception =>\r\n {\r\n this.loadingState = 'error';\r\n this.loadingError = exception;\r\n });\r\n });\r\n },\r\n\r\n // handles a promise as result of the form submission\r\n handle(promise, isCreate)\r\n {\r\n this.setState('loading');\r\n\r\n let handleError = (errors, reject) =>\r\n {\r\n this.setState('error');\r\n this.setErrors(errors);\r\n reject(errors);\r\n };\r\n\r\n return new Promise((resolve, reject) =>\r\n {\r\n promise\r\n .then(\r\n response =>\r\n {\r\n this.clearErrors();\r\n\r\n if (response.success)\r\n {\r\n this.setState('success');\r\n this.setDirty(false);\r\n resolve(response);\r\n\r\n if (response.model && this.route && this.$route.name !== this.route)\r\n {\r\n let routeObj = typeof this.route === 'object' ? this.route : { name: this.route };\r\n routeObj.params = routeObj.params || {};\r\n routeObj.params.id = response.model.id;\r\n\r\n this.$router.replace(routeObj);\r\n }\r\n }\r\n else\r\n {\r\n handleError(response.errors, reject);\r\n }\r\n },\r\n errors =>\r\n {\r\n handleError(errors, reject);\r\n }\r\n )\r\n .catch(exception =>\r\n {\r\n this.setState('error');\r\n\r\n // TODO should we throw here, probably show an error overlay\r\n throw exception;\r\n });\r\n });\r\n },\r\n\r\n\r\n // submits the form\r\n onSubmit(e)\r\n {\r\n if (!this.submitBlocked)\r\n {\r\n this.$emit('submit', this, e);\r\n }\r\n },\r\n\r\n\r\n // set the form to dirty when one of the fields changes\r\n onChange(e)\r\n {\r\n this.dirty = true;\r\n },\r\n\r\n\r\n // handle delete event\r\n onDelete(promise)\r\n {\r\n Overlay.confirmDelete().then(opts =>\r\n {\r\n opts.state('loading');\r\n \r\n promise().then(response =>\r\n {\r\n if (response.success)\r\n {\r\n opts.state('success');\r\n opts.hide();\r\n this.$router.go(-1);\r\n Notification.success('@deleteoverlay.success', '@deleteoverlay.success_text');\r\n }\r\n else\r\n {\r\n opts.errors(response.errors);\r\n }\r\n });\r\n }); \r\n },\r\n\r\n\r\n // prevent submission of form on enter key press\r\n onKeydown(e)\r\n {\r\n if (e.keyCode === 13)\r\n {\r\n this.submitBlocked = true;\r\n clearTimeout(this.submitBlockedTimeout);\r\n this.submitBlockedTimeout = setTimeout(() => this.submitBlocked = false, 300);\r\n }\r\n },\r\n\r\n\r\n // set dirty status\r\n setDirty(dirty)\r\n {\r\n this.dirty = dirty;\r\n },\r\n\r\n\r\n // set state for this component and all child components which attached it's state from the slot props\r\n setState(state)\r\n {\r\n this.state = state;\r\n },\r\n\r\n\r\n // clears all errors from the form\r\n clearErrors()\r\n {\r\n this.getErrorComponents().forEach(component =>\r\n {\r\n component.clearErrors();\r\n\r\n if (component.tab)\r\n {\r\n component.tab.clearErrors();\r\n }\r\n });\r\n },\r\n\r\n\r\n // tries to find matching fields for the given errors and displays them\r\n setErrors(errors)\r\n {\r\n if (typeof errors === 'undefined' || !errors)\r\n {\r\n this.errors = [];\r\n }\r\n else\r\n {\r\n this.errors = !_isArray(errors) ? [errors] : errors;\r\n }\r\n\r\n // get all components + grouped errors\r\n let errorComponents = this.getErrorComponents();\r\n let errorGroups = _groupBy(this.errors, 'property');\r\n let handledGroups = [];\r\n\r\n // set errors\r\n errorComponents.forEach(component =>\r\n {\r\n let field = component.field;\r\n\r\n if (field && errorGroups[field])\r\n {\r\n handledGroups.push(field);\r\n component.setErrors(errorGroups[field]);\r\n\r\n if (component.tab)\r\n {\r\n component.tab.setErrors(true);\r\n }\r\n }\r\n });\r\n\r\n // fill leftovers\r\n _each(errorGroups, (errorGroup, field) =>\r\n {\r\n if (handledGroups.indexOf(field) < 0)\r\n {\r\n errorComponents.forEach(component =>\r\n {\r\n if (component.catchRemaining || component.catchAll)\r\n {\r\n component.setErrors(errorGroup, true);\r\n\r\n if (component.tab)\r\n {\r\n component.tab.setErrors(true);\r\n }\r\n }\r\n });\r\n }\r\n });\r\n },\r\n\r\n\r\n // find all error components in form\r\n getErrorComponents()\r\n {\r\n let errorComponents = [];\r\n\r\n // find components which can output errors\r\n let traverseChildren = (parent, tab) =>\r\n {\r\n parent.$children.forEach(component =>\r\n {\r\n if (this.errorComponents.indexOf(component.$options.name) > -1)\r\n {\r\n errorComponents.push({\r\n name: component.$options.name,\r\n field: component.field,\r\n catchAll: component.catchAll,\r\n catchRemaining: component.catchRemaining,\r\n component: component,\r\n setErrors: component.setErrors,\r\n clearErrors: component.clearErrors,\r\n tab: tab\r\n });\r\n }\r\n else\r\n {\r\n traverseChildren(component, tab || (component.$options.name === 'uiTab' ? component : null));\r\n }\r\n });\r\n };\r\n\r\n traverseChildren(this); \r\n\r\n return errorComponents;\r\n },\r\n\r\n\r\n // sets the form editing ability\r\n setCanEdit(canEdit)\r\n {\r\n // find components which can output errors\r\n //let traverseChildren = parent =>\r\n //{\r\n // parent.$children.forEach(component =>\r\n // {\r\n // const isValidComponent = this.inputComponents.indexOf(component.$options.name) > -1;\r\n // //const field = component.field;\r\n\r\n // if (typeof component._props.disabled === 'boolean')\r\n // {\r\n // component.$emit('update:disabled', canEdit);\r\n // }\r\n // else\r\n // {\r\n // traverseChildren(component);\r\n // }\r\n // //if (isErrorComponent)\r\n // //{\r\n // // errorComponents.push(component);\r\n // //}\r\n\r\n // //if (isErrorComponent && field)\r\n // //{\r\n // // let errorGroup = errorGroups[field];\r\n\r\n // // if (errorGroup)\r\n // // {\r\n // // handledGroups.push(field);\r\n // // component.set(errorGroup);\r\n // // }\r\n // //}\r\n // //else\r\n // //{\r\n // // traverseChildren(component);\r\n // //}\r\n // });\r\n //};\r\n\r\n //traverseChildren(this);\r\n\r\n //console.info('done');\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang=\"scss\">\r\n .ui-form\r\n {\r\n min-height: 100%;\r\n font-size: var(--font-size);\r\n }\r\n\r\n .ui-form-loading\r\n {\r\n display: flex;\r\n width: 100%;\r\n height: 100vh;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n\r\n .ui-form-loading-progress\r\n { \r\n width: 32px;\r\n height: 32px;\r\n z-index: 2;\r\n border-radius: 40px;\r\n border: 2px solid var(--color-bg-shade-3);\r\n border-left-color: var(--color-text);\r\n opacity: 1;\r\n will-change: transform;\r\n animation: rotating .5s linear infinite;\r\n transition: opacity .25s ease;\r\n }\r\n\r\n @keyframes rotating\r\n {\r\n from\r\n {\r\n -webkit-transform: rotate(0);\r\n transform: rotate(0)\r\n }\r\n to\r\n {\r\n -webkit-transform: rotate(1turn);\r\n transform: rotate(1turn)\r\n }\r\n }\r\n</style>",".ui-form {\n min-height: 100%;\n font-size: var(--font-size);\n}\n\n.ui-form-loading {\n display: flex;\n width: 100%;\n height: 100vh;\n align-items: center;\n justify-content: center;\n}\n\n.ui-form-loading-progress {\n width: 32px;\n height: 32px;\n z-index: 2;\n border-radius: 40px;\n border: 2px solid var(--color-bg-shade-3);\n border-left-color: var(--color-text);\n opacity: 1;\n will-change: transform;\n animation: rotating 0.5s linear infinite;\n transition: opacity 0.25s ease;\n}\n\n@keyframes rotating {\n from {\n -webkit-transform: rotate(0);\n transform: rotate(0);\n }\n to {\n -webkit-transform: rotate(1turn);\n transform: rotate(1turn);\n }\n}\n\n/*# sourceMappingURL=form.vue.map */"]},media:void 0})}),Fg,undefined,false,undefined,!1,Iu,void 0,void 0);const jg={name:"uiInputList",props:{addLabel:{type:String,default:"@ui.add"},value:{type:Array,default:()=>[]},disabled:{type:Boolean,default:!1},maxItems:{type:Number,default:100},maxLength:{type:Number,default:200},plusButton:{type:Boolean,default:!1}},data:()=>({items:[]}),watch:{value(e){this.items=qd(e,(e=>({value:e})))}},mounted(){this.items=qd(this.value,(e=>({value:e})))},methods:{onChange(){this.$emit("input",qd(this.items,(e=>e.value)))},addItem(){this.items.push({value:null}),this.onChange(),this.$nextTick((()=>{this.$el.querySelector(".ui-input-list-item:last-of-type input").focus()}))},removeItem(e){const n=this.items.indexOf(e);this.items.splice(n,1),this.onChange()}}};var Yg=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-input-list",class:{"is-disabled":e.disabled}},[e._l(e.items,(function(n){return t("div",{staticClass:"ui-input-list-item"},[t("input",{directives:[{name:"model",rawName:"v-model",value:n.value,expression:"item.value"}],staticClass:"ui-input",attrs:{type:"text",maxlength:e.maxLength,readonly:e.disabled,size:"5"},domProps:{value:n.value},on:{input:[function(t){t.target.composing||e.$set(n,"value",t.target.value)},e.onChange]}}),e._v(" "),e.disabled?e._e():t("ui-icon-button",{attrs:{type:"light",icon:"fth-x"},on:{click:function(t){return e.removeItem(n)}}})],1)})),e._v(" "),e.disabled||e.plusButton?e._e():t("ui-button",{attrs:{type:"light",label:e.addLabel},on:{click:e.addItem}}),e._v(" "),!e.disabled&&e.plusButton?t("ui-select-button",{attrs:{icon:"fth-plus",label:e.items.length>0?null:e.addLabel},on:{click:e.addItem}}):e._e()],2)};Yg._withStripped=!0;const Ug=Da({render:Yg,staticRenderFns:[]},(function(e){e&&e("data-v-cfb7771a_0",{source:".ui-input-list-item {\n display: grid;\n grid-template-columns: 1fr auto;\n background: var(--color-input);\n border-radius: var(--radius);\n}\n.ui-input-list-item + .ui-input-list-item, .ui-input-list-item + .ui-button, .ui-input-list-item + .ui-select-button {\n margin-top: 6px;\n}\n.ui-input-list.is-disabled .ui-input-list-item {\n background: transparent;\n}\n.ui-input-list-item .ui-input {\n border-radius: var(--radius) 0 0 var(--radius);\n}\n.ui-input-list-item .ui-icon-button {\n border-radius: 0 var(--radius) var(--radius) 0;\n height: 48px;\n width: 48px;\n border-left: none;\n background: transparent !important;\n box-shadow: none;\n}\n\n/*# sourceMappingURL=input-list.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\forms\\input-list.vue","input-list.vue"],names:[],mappings:"AAuGA;EAEA,aAAA;EACA,+BAAA;EACA,8BAAA;EACA,4BAAA;ACvGA;ADyGA;EAEA,eAAA;ACxGA;AD2GA;EAEA,uBAAA;AC1GA;AD6GA;EAEA,8CAAA;AC5GA;AD+GA;EAEA,8CAAA;EACA,YAAA;EACA,WAAA;EACA,iBAAA;EACA,kCAAA;EACA,gBAAA;AC9GA;;AAEA,yCAAyC",file:"input-list.vue",sourcesContent:['\ufeff <template>\r\n <div class="ui-input-list" :class="{\'is-disabled\': disabled }">\r\n <div v-for="item in items" class="ui-input-list-item">\r\n <input v-model="item.value" type="text" class="ui-input" :maxlength="maxLength" :readonly="disabled" @input="onChange" size="5" />\r\n <ui-icon-button type="light" icon="fth-x" @click="removeItem(item)" v-if="!disabled" />\r\n </div>\r\n <ui-button v-if="!disabled && !plusButton" type="light" :label="addLabel" @click="addItem" />\r\n <ui-select-button v-if="!disabled && plusButton" icon="fth-plus" :label="items.length > 0 ? null : addLabel" @click="addItem" />\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import { map as _map } from \'underscore\';\r\n\r\n export default {\r\n name: \'uiInputList\',\r\n\r\n props: {\r\n addLabel: {\r\n type: String,\r\n default: \'@ui.add\'\r\n },\r\n value: {\r\n type: Array,\r\n default: () => []\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n },\r\n maxItems: {\r\n type: Number,\r\n default: 100\r\n },\r\n maxLength: {\r\n type: Number,\r\n default: 200\r\n },\r\n plusButton: {\r\n type: Boolean,\r\n default: false\r\n },\r\n },\r\n\r\n data: () => ({\r\n items: []\r\n }),\r\n\r\n watch: {\r\n value(value)\r\n {\r\n this.items = _map(value, item =>\r\n {\r\n return { value: item };\r\n });\r\n }\r\n },\r\n\r\n mounted()\r\n {\r\n this.items = _map(this.value, item =>\r\n {\r\n return { value: item };\r\n });\r\n },\r\n\r\n methods: {\r\n\r\n onChange()\r\n {\r\n this.$emit(\'input\', _map(this.items, item => item.value));\r\n },\r\n\r\n addItem()\r\n {\r\n this.items.push({\r\n value: null\r\n });\r\n this.onChange();\r\n\r\n this.$nextTick(() =>\r\n {\r\n this.$el.querySelector(\'.ui-input-list-item:last-of-type input\').focus();\r\n });\r\n },\r\n\r\n removeItem(item)\r\n {\r\n const index = this.items.indexOf(item);\r\n this.items.splice(index, 1);\r\n this.onChange();\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .ui-input-list\r\n {\r\n\r\n }\r\n\r\n .ui-input-list-item\r\n {\r\n display: grid;\r\n grid-template-columns: 1fr auto;\r\n background: var(--color-input);\r\n border-radius: var(--radius);\r\n\r\n & + .ui-input-list-item, & + .ui-button, & + .ui-select-button\r\n {\r\n margin-top: 6px;\r\n }\r\n\r\n .ui-input-list.is-disabled &\r\n {\r\n background: transparent;\r\n }\r\n\r\n .ui-input\r\n {\r\n border-radius: var(--radius) 0 0 var(--radius);\r\n }\r\n\r\n .ui-icon-button\r\n {\r\n border-radius: 0 var(--radius) var(--radius) 0;\r\n height: 48px;\r\n width: 48px;\r\n border-left: none;\r\n background: transparent !important;\r\n box-shadow: none;\r\n }\r\n }\r\n</style>',".ui-input-list-item {\n display: grid;\n grid-template-columns: 1fr auto;\n background: var(--color-input);\n border-radius: var(--radius);\n}\n.ui-input-list-item + .ui-input-list-item, .ui-input-list-item + .ui-button, .ui-input-list-item + .ui-select-button {\n margin-top: 6px;\n}\n.ui-input-list.is-disabled .ui-input-list-item {\n background: transparent;\n}\n.ui-input-list-item .ui-input {\n border-radius: var(--radius) 0 0 var(--radius);\n}\n.ui-input-list-item .ui-icon-button {\n border-radius: 0 var(--radius) var(--radius) 0;\n height: 48px;\n width: 48px;\n border-left: none;\n background: transparent !important;\n box-shadow: none;\n}\n\n/*# sourceMappingURL=input-list.vue.map */"]},media:void 0})}),jg,undefined,false,undefined,!1,Iu,void 0,void 0);const qg={name:"uiProperty",props:{field:String,label:String,hideLabel:Boolean,description:String,required:Boolean,vertical:Boolean,isText:Boolean,disabled:{type:Boolean,default:!1}}};var Hg=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-property",class:{"is-vertical":e.vertical,"is-text":e.isText,"hide-label":e.hideLabel,"is-disabled":e.disabled}},[e.label&&!e.hideLabel?t("label",{staticClass:"ui-property-label",attrs:{for:e.field}},[t("span",{directives:[{name:"localize",rawName:"v-localize",value:e.label,expression:"label"}]}),e._v(" "),e.required?t("strong",{staticClass:"ui-property-required"},[e._v("*")]):e._e(),e._v(" "),e._t("label-after"),e._v(" "),e.description?t("small",{directives:[{name:"localize",rawName:"v-localize",value:e.description,expression:"description"}]}):e._e()],2):e._e(),e._v(" "),t("div",{staticClass:"ui-property-content"},[e._t("default"),e._v(" "),e.field?t("ui-error",{attrs:{field:e.field}}):e._e()],2)])};Hg._withStripped=!0;const Wg=Da({render:Hg,staticRenderFns:[]},(function(e){e&&e("data-v-6c0840ec_0",{source:'@charset "UTF-8";\n@font-face {\n font-family: "Feather";\n font-weight: 400;\n font-style: normal;\n src: url("/Assets/Fonts/Feather/feather.woff2") format("woff2"), url("/Assets/Fonts/Feather/feather.woff") format("woff");\n}\n@font-face {\n font-family: "Lato";\n font-weight: 100;\n font-style: normal;\n src: url("/Assets/Fonts/Lato/LatoLatin-Light.woff2") format("woff2"), url("/Assets/Fonts/Lato/LatoLatin-Light.woff") format("woff");\n}\n@font-face {\n font-family: "Lato";\n font-weight: 400;\n font-style: normal;\n src: url("/Assets/Fonts/Lato/LatoLatin-Regular.woff2") format("woff2"), url("/Assets/Fonts/Lato/LatoLatin-Regular.woff") format("woff");\n}\n@font-face {\n font-family: "Lato";\n font-weight: 700;\n font-style: normal;\n src: url("/Assets/Fonts/Lato/LatoLatin-Bold.woff2") format("woff2"), url("/Assets/Fonts/Lato/LatoLatin-Bold.woff") format("woff");\n}\n@font-face {\n font-family: "Lato";\n font-weight: 900;\n font-style: normal;\n src: url("/Assets/Fonts/Lato/LatoLatin-Black.woff2") format("woff2"), url("/Assets/Fonts/Lato/LatoLatin-Black.woff") format("woff");\n}\n.ui-native-select select, input[type=text], input[type=color], input[type=date], input[type=datetime], input[type=email], input[type=file], input[type=month], input[type=number],\ninput[type=password], input[type=range], input[type=search], input[type=tel], input[type=time], input[type=url], input[type=week],\ntextarea, .ui-native-select, .ui-rte-input {\n font-family: "Lato", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;\n}\n:root {\n --font: "Lato", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;\n --font-icon: "Feather";\n}\n.ui-property-help:before, .ui-native-check-toggle:before, .ui-native-select:after, [class^=fth-], [class*=" fth-"] {\n font-family: "Feather";\n speak: none;\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n*, *:before, *:after {\n box-sizing: border-box;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n -webkit-tap-highlight-color: transparent;\n}\nimg {\n display: inline-block;\n vertical-align: middle;\n}\nimg, object, embed {\n max-width: 100%;\n height: auto;\n}\nobject, embed {\n height: 100%;\n}\na, a:visited, a:link {\n /*color: var(--color-text);*/\n text-decoration: none;\n}\nbutton {\n -webkit-appearance: none;\n border: none;\n background: transparent;\n cursor: pointer;\n padding: 0;\n margin: 0;\n text-align: left;\n}\nh1 {\n font-size: calc(1.4rem + 0.1vmin);\n font-weight: 400;\n margin: -0.3rem 0 3rem;\n}\nh2 {\n font-size: calc(1.4rem + 0.1vmin);\n font-weight: 400;\n margin: 0 0 2rem;\n}\nul {\n margin: 0;\n padding: 0;\n}\nul li {\n list-style: none inside;\n margin-bottom: 0;\n padding-left: 16px;\n position: relative;\n}\nul li:last-child {\n margin-bottom: 0;\n}\nul li:before {\n content: " ";\n display: inline-block;\n width: 4px;\n height: 4px;\n border-radius: 12px;\n background: var(--color-text);\n position: absolute;\n left: 1px;\n top: 9px;\n}\nol {\n margin: 0;\n padding: 0;\n}\nol li {\n list-style-position: outside;\n margin-left: 1em;\n margin-bottom: 20px;\n position: relative;\n}\nol li:last-child {\n margin-bottom: 0;\n}\nli {\n line-height: 1.8;\n}\nli > * {\n margin: 0 !important;\n padding: 0 !important;\n display: inline;\n}\na[href]:focus, button:focus {\n outline: var(--color-button-focus-outline);\n outline-offset: 2px;\n outline: none;\n}\n\n/*a[href], button\n{\n position: relative;\n overflow: visible !important;\n\n &:focus\n {\n outline: none;\n }\n\n &:focus:after\n {\n content: \'\';\n position: absolute;\n z-index: 10;\n left: -4px;\n top: -4px;\n right: -4px;\n bottom: -4px;\n border-radius: 7px;\n border: var(--color-button-focus-outline);\n }\n}*/\ntable {\n border-collapse: collapse;\n}\nhr {\n margin: 20px 0;\n border: none;\n border-bottom: 1px solid var(--color-line);\n}\nsup {\n margin-left: 5px;\n font-size: 0.7em;\n}\niframe, video {\n margin-top: 20px;\n}\ncode {\n border-radius: 3px;\n padding: 1px 4px;\n border: 1px dashed var(--color-line-dashed);\n background: var(--color-bg-shade-2);\n color: var(--color-text);\n}\n.sr-only {\n height: 1px;\n width: 1px;\n clip: rect(1px, 1px, 1px, 1px);\n overflow: hidden;\n position: absolute;\n opacity: 0.01;\n}\n* {\n scrollbar-width: thin;\n}\n::-webkit-scrollbar {\n width: 7px;\n height: 7px;\n background-color: transparent;\n}\n\n/*::-webkit-scrollbar-thumb\n{\n background: var(--color-bg-mid);\n}*/\n.ui-resizing {\n user-select: none;\n}\n.fth-alert-octagon:before {\n content: "";\n}\n.fth-alert-circle:before {\n content: "";\n}\n.fth-activity:before {\n content: "";\n}\n.fth-alert-triangle:before {\n content: "";\n}\n.fth-align-center:before {\n content: "";\n}\n.fth-airplay:before {\n content: "";\n}\n.fth-align-justify:before {\n content: "";\n}\n.fth-align-left:before {\n content: "";\n}\n.fth-align-right:before {\n content: "";\n}\n.fth-arrow-down-left:before {\n content: "";\n}\n.fth-arrow-down-right:before {\n content: "";\n}\n.fth-anchor:before {\n content: "";\n}\n.fth-aperture:before {\n content: "";\n}\n.fth-arrow-left:before {\n content: "";\n}\n.fth-arrow-right:before {\n content: "";\n}\n.fth-arrow-down:before {\n content: "";\n}\n.fth-arrow-up-left:before {\n content: "";\n}\n.fth-arrow-up-right:before {\n content: "";\n}\n.fth-arrow-up:before {\n content: "";\n}\n.fth-award:before {\n content: "";\n}\n.fth-bar-chart:before {\n content: "";\n}\n.fth-at-sign:before {\n content: "";\n}\n.fth-bar-chart-2:before {\n content: "";\n}\n.fth-battery-charging:before {\n content: "";\n}\n.fth-bell-off:before {\n content: "";\n}\n.fth-battery:before {\n content: "";\n}\n.fth-bluetooth:before {\n content: "";\n}\n.fth-bell:before {\n content: "";\n}\n.fth-book:before {\n content: "";\n}\n.fth-briefcase:before {\n content: "";\n}\n.fth-camera-off:before {\n content: "";\n}\n.fth-calendar:before {\n content: "";\n}\n.fth-bookmark:before {\n content: "";\n}\n.fth-box:before {\n content: "";\n}\n.fth-camera:before {\n content: "";\n}\n.fth-check-circle:before {\n content: "";\n}\n.fth-check:before {\n content: "";\n}\n.fth-check-square:before {\n content: "";\n}\n.fth-cast:before {\n content: "";\n}\n.fth-chevron-down:before {\n content: "";\n}\n.fth-chevron-left:before {\n content: "";\n}\n.fth-chevron-right:before {\n content: "";\n}\n.fth-chevron-up:before {\n content: "";\n}\n.fth-chevrons-down:before {\n content: "";\n}\n.fth-chevrons-right:before {\n content: "";\n}\n.fth-chevrons-up:before {\n content: "";\n}\n.fth-chevrons-left:before {\n content: "";\n}\n.fth-circle:before {\n content: "";\n}\n.fth-clipboard:before {\n content: "";\n}\n.fth-chrome:before {\n content: "";\n}\n.fth-clock:before {\n content: "";\n}\n.fth-cloud-lightning:before {\n content: "";\n}\n.fth-cloud-drizzle:before {\n content: "";\n}\n.fth-cloud-rain:before {\n content: "";\n}\n.fth-cloud-off:before {\n content: "";\n}\n.fth-codepen:before {\n content: "";\n}\n.fth-cloud-snow:before {\n content: "";\n}\n.fth-compass:before {\n content: "";\n}\n.fth-copy:before {\n content: "";\n}\n.fth-corner-down-right:before {\n content: "";\n}\n.fth-corner-down-left:before {\n content: "";\n}\n.fth-corner-left-down:before {\n content: "";\n}\n.fth-corner-left-up:before {\n content: "";\n}\n.fth-corner-up-left:before {\n content: "";\n}\n.fth-corner-up-right:before {\n content: "";\n}\n.fth-corner-right-down:before {\n content: "";\n}\n.fth-corner-right-up:before {\n content: "";\n}\n.fth-cpu:before {\n content: "";\n}\n.fth-credit-card:before {\n content: "";\n}\n.fth-crosshair:before {\n content: "";\n}\n.fth-disc:before {\n content: "";\n}\n.fth-delete:before {\n content: "";\n}\n.fth-download-cloud:before {\n content: "";\n}\n.fth-download:before {\n content: "";\n}\n.fth-droplet:before {\n content: "";\n}\n.fth-edit-2:before {\n content: "";\n}\n.fth-edit:before {\n content: "";\n}\n.fth-edit-1:before {\n content: "";\n}\n.fth-external-link:before {\n content: "";\n}\n.fth-eye:before {\n content: "";\n}\n.fth-feather:before {\n content: "";\n}\n.fth-facebook:before {\n content: "";\n}\n.fth-file-minus:before {\n content: "";\n}\n.fth-eye-off:before {\n content: "";\n}\n.fth-fast-forward:before {\n content: "";\n}\n.fth-file-text:before {\n content: "";\n}\n.fth-film:before {\n content: "";\n}\n.fth-file:before {\n content: "";\n}\n.fth-file-plus:before {\n content: "";\n}\n.fth-folder:before {\n content: "";\n}\n.fth-filter:before {\n content: "";\n}\n.fth-flag:before {\n content: "";\n}\n.fth-globe:before {\n content: "";\n}\n.fth-grid:before {\n content: "";\n}\n.fth-heart:before {\n content: "";\n}\n.fth-home:before {\n content: "";\n}\n.fth-github:before {\n content: "";\n}\n.fth-image:before {\n content: "";\n}\n.fth-inbox:before {\n content: "";\n}\n.fth-layers:before {\n content: "";\n}\n.fth-info:before {\n content: "";\n}\n.fth-instagram:before {\n content: "";\n}\n.fth-layout:before {\n content: "";\n}\n.fth-link-2:before {\n content: "";\n}\n.fth-life-buoy:before {\n content: "";\n}\n.fth-link:before {\n content: "";\n}\n.fth-log-in:before {\n content: "";\n}\n.fth-list:before {\n content: "";\n}\n.fth-lock:before {\n content: "";\n}\n.fth-log-out:before {\n content: "";\n}\n.fth-loader:before {\n content: "";\n}\n.fth-mail:before {\n content: "";\n}\n.fth-maximize-2:before {\n content: "";\n}\n.fth-map:before {\n content: "";\n}\n.fth-map-pin:before {\n content: "";\n}\n.fth-menu:before {\n content: "";\n}\n.fth-message-circle:before {\n content: "";\n}\n.fth-message-square:before {\n content: "";\n}\n.fth-minimize-2:before {\n content: "";\n}\n.fth-mic-off:before {\n content: "";\n}\n.fth-minus-circle:before {\n content: "";\n}\n.fth-mic:before {\n content: "";\n}\n.fth-minus-square:before {\n content: "";\n}\n.fth-minus:before {\n content: "";\n}\n.fth-moon:before {\n content: "";\n}\n.fth-monitor:before {\n content: "";\n}\n.fth-more-vertical:before {\n content: "";\n}\n.fth-more-horizontal:before {\n content: "";\n}\n.fth-move:before {\n content: "";\n}\n.fth-music:before {\n content: "";\n}\n.fth-navigation-2:before {\n content: "";\n}\n.fth-navigation:before {\n content: "";\n}\n.fth-octagon:before {\n content: "";\n}\n.fth-package:before {\n content: "";\n}\n.fth-pause-circle:before {\n content: "";\n}\n.fth-pause:before {\n content: "";\n}\n.fth-percent:before {\n content: "";\n}\n.fth-phone-call:before {\n content: "";\n}\n.fth-phone-forwarded:before {\n content: "";\n}\n.fth-phone-missed:before {\n content: "";\n}\n.fth-phone-off:before {\n content: "";\n}\n.fth-phone-incoming:before {\n content: "";\n}\n.fth-phone:before {\n content: "";\n}\n.fth-phone-outgoing:before {\n content: "";\n}\n.fth-pie-chart:before {\n content: "";\n}\n.fth-play-circle:before {\n content: "";\n}\n.fth-play:before {\n content: "";\n}\n.fth-plus-square:before {\n content: "";\n}\n.fth-plus-circle:before {\n content: "";\n}\n.fth-plus:before {\n content: "";\n}\n.fth-pocket:before {\n content: "";\n}\n.fth-printer:before {\n content: "";\n}\n.fth-power:before {\n content: "";\n}\n.fth-radio:before {\n content: "";\n}\n.fth-repeat:before {\n content: "";\n}\n.fth-refresh-ccw:before {\n content: "";\n}\n.fth-rewind:before {\n content: "";\n}\n.fth-rotate-ccw:before {\n content: "";\n}\n.fth-refresh-cw:before {\n content: "";\n}\n.fth-rotate-cw:before {\n content: "";\n}\n.fth-save:before {\n content: "";\n}\n.fth-search:before {\n content: "";\n}\n.fth-server:before {\n content: "";\n}\n.fth-scissors:before {\n content: "";\n}\n.fth-share-2:before {\n content: "";\n}\n.fth-share:before {\n content: "";\n}\n.fth-shield:before {\n content: "";\n}\n.fth-settings:before {\n content: "";\n}\n.fth-skip-back:before {\n content: "";\n}\n.fth-shuffle:before {\n content: "";\n}\n.fth-sidebar:before {\n content: "";\n}\n.fth-skip-forward:before {\n content: "";\n}\n.fth-slack:before {\n content: "";\n}\n.fth-slash:before {\n content: "";\n}\n.fth-smartphone:before {\n content: "";\n}\n.fth-square:before {\n content: "";\n}\n.fth-speaker:before {\n content: "";\n}\n.fth-star:before {\n content: "";\n}\n.fth-stop-circle:before {\n content: "";\n}\n.fth-sun:before {\n content: "";\n}\n.fth-sunrise:before {\n content: "";\n}\n.fth-tablet:before {\n content: "";\n}\n.fth-tag:before {\n content: "";\n}\n.fth-sunset:before {\n content: "";\n}\n.fth-target:before {\n content: "";\n}\n.fth-thermometer:before {\n content: "";\n}\n.fth-thumbs-up:before {\n content: "";\n}\n.fth-thumbs-down:before {\n content: "";\n}\n.fth-toggle-left:before {\n content: "";\n}\n.fth-toggle-right:before {\n content: "";\n}\n.fth-trash-2:before {\n content: "";\n}\n.fth-trash:before {\n content: "";\n}\n.fth-trending-up:before {\n content: "";\n}\n.fth-trending-down:before {\n content: "";\n}\n.fth-triangle:before {\n content: "";\n}\n.fth-type:before {\n content: "";\n}\n.fth-twitter:before {\n content: "";\n}\n.fth-upload:before {\n content: "";\n}\n.fth-umbrella:before {\n content: "";\n}\n.fth-upload-cloud:before {\n content: "";\n}\n.fth-unlock:before {\n content: "";\n}\n.fth-user-check:before {\n content: "";\n}\n.fth-user-minus:before {\n content: "";\n}\n.fth-user-plus:before {\n content: "";\n}\n.fth-user-x:before {\n content: "";\n}\n.fth-user:before {\n content: "";\n}\n.fth-users:before {\n content: "";\n}\n.fth-video-off:before {\n content: "";\n}\n.fth-video:before {\n content: "";\n}\n.fth-voicemail:before {\n content: "";\n}\n.fth-volume-x:before {\n content: "";\n}\n.fth-volume-2:before {\n content: "";\n}\n.fth-volume-1:before {\n content: "";\n}\n.fth-volume:before {\n content: "";\n}\n.fth-watch:before {\n content: "";\n}\n.fth-wifi:before {\n content: "";\n}\n.fth-x-square:before {\n content: "";\n}\n.fth-wind:before {\n content: "";\n}\n.fth-x:before {\n content: "";\n}\n.fth-x-circle:before {\n content: "";\n}\n.fth-zap:before {\n content: "";\n}\n.fth-zoom-in:before {\n content: "";\n}\n.fth-zoom-out:before {\n content: "";\n}\n.fth-command:before {\n content: "";\n}\n.fth-cloud:before {\n content: "";\n}\n.fth-hash:before {\n content: "";\n}\n.fth-headphones:before {\n content: "";\n}\n.fth-underline:before {\n content: "";\n}\n.fth-italic:before {\n content: "";\n}\n.fth-bold:before {\n content: "";\n}\n.fth-crop:before {\n content: "";\n}\n.fth-help-circle:before {\n content: "";\n}\n.fth-paperclip:before {\n content: "";\n}\n.fth-shopping-cart:before {\n content: "";\n}\n.fth-tv:before {\n content: "";\n}\n.fth-wifi-off:before {\n content: "";\n}\n.fth-minimize:before {\n content: "";\n}\n.fth-maximize:before {\n content: "";\n}\n.fth-gitlab:before {\n content: "";\n}\n.fth-sliders:before {\n content: "";\n}\n.fth-star-on:before {\n content: "";\n}\n.fth-heart-on:before {\n content: "";\n}\n.fth-archive:before {\n content: "";\n}\n.fth-arrow-down-circle:before {\n content: "";\n}\n.fth-arrow-up-circle:before {\n content: "";\n}\n.fth-arrow-left-circle:before {\n content: "";\n}\n.fth-arrow-right-circle:before {\n content: "";\n}\n.fth-bar-chart-line-:before {\n content: "";\n}\n.fth-bar-chart-line:before {\n content: "";\n}\n.fth-book-open:before {\n content: "";\n}\n.fth-code:before {\n content: "";\n}\n.fth-database:before {\n content: "";\n}\n.fth-dollar-sign:before {\n content: "";\n}\n.fth-folder-plus:before {\n content: "";\n}\n.fth-gift:before {\n content: "";\n}\n.fth-folder-minus:before {\n content: "";\n}\n.fth-git-commit:before {\n content: "";\n}\n.fth-git-branch:before {\n content: "";\n}\n.fth-git-pull-request:before {\n content: "";\n}\n.fth-git-merge:before {\n content: "";\n}\n.fth-linkedin:before {\n content: "";\n}\n.fth-hard-drive:before {\n content: "";\n}\n.fth-more-vertical:before {\n content: "";\n}\n.fth-more-horizontal:before {\n content: "";\n}\n.fth-rss:before {\n content: "";\n}\n.fth-send:before {\n content: "";\n}\n.fth-shield-off:before {\n content: "";\n}\n.fth-shopping-bag:before {\n content: "";\n}\n.fth-terminal:before {\n content: "";\n}\n.fth-truck:before {\n content: "";\n}\n.fth-zap-off:before {\n content: "";\n}\n.fth-youtube:before {\n content: "";\n}\n.fth-google:before {\n content: "";\n}\n.arrow-down, .arrow-up {\n width: 0;\n height: 0;\n font-size: 0;\n line-height: 0;\n border: 4px solid transparent;\n border-top-color: var(--color-primary);\n position: relative;\n top: 2px;\n}\n.arrow-up {\n border-top-color: transparent;\n border-bottom-color: var(--color-primary);\n position: relative;\n top: -2px;\n}\n.colorized-icons .fth-facebook {\n color: #486eb7 !important;\n}\n.colorized-icons .fth-instagram {\n color: #bb4079 !important;\n background: linear-gradient(45deg, #405de6, #5851db, #833ab4, #c13584, #e1306c, #fd1d1d) !important;\n background-clip: text !important;\n -webkit-background-clip: text !important;\n text-fill-color: transparent !important;\n -webkit-text-fill-color: transparent !important;\n}\n.colorized-icons .fth-google {\n color: #f04c43 !important;\n}\nspan.flag, i.flag {\n width: 22px;\n height: 15px;\n display: inline-block;\n}\nimg.flag {\n width: 30px;\n}\n.flag {\n background: url(/Assets/flags.png) no-repeat;\n background-size: 100%;\n}\n.flag-ad {\n background-position: 0 0.413223%;\n}\n.flag-ae {\n background-position: 0 0.826446%;\n}\n.flag-af {\n background-position: 0 1.239669%;\n}\n.flag-ag {\n background-position: 0 1.652893%;\n}\n.flag-ai {\n background-position: 0 2.066116%;\n}\n.flag-al {\n background-position: 0 2.479339%;\n}\n.flag-am {\n background-position: 0 2.892562%;\n}\n.flag-an {\n background-position: 0 3.305785%;\n}\n.flag-ao {\n background-position: 0 3.719008%;\n}\n.flag-aq {\n background-position: 0 4.132231%;\n}\n.flag-ar {\n background-position: 0 4.545455%;\n}\n.flag-as {\n background-position: 0 4.958678%;\n}\n.flag-at {\n background-position: 0 5.371901%;\n}\n.flag-au {\n background-position: 0 5.785124%;\n}\n.flag-aw {\n background-position: 0 6.198347%;\n}\n.flag-az {\n background-position: 0 6.61157%;\n}\n.flag-ba {\n background-position: 0 7.024793%;\n}\n.flag-bb {\n background-position: 0 7.438017%;\n}\n.flag-bd {\n background-position: 0 7.85124%;\n}\n.flag-be {\n background-position: 0 8.264463%;\n}\n.flag-bf {\n background-position: 0 8.677686%;\n}\n.flag-bg {\n background-position: 0 9.090909%;\n}\n.flag-bh {\n background-position: 0 9.504132%;\n}\n.flag-bi {\n background-position: 0 9.917355%;\n}\n.flag-bj {\n background-position: 0 10.330579%;\n}\n.flag-bm {\n background-position: 0 10.743802%;\n}\n.flag-bn {\n background-position: 0 11.157025%;\n}\n.flag-bo {\n background-position: 0 11.570248%;\n}\n.flag-br {\n background-position: 0 11.983471%;\n}\n.flag-bs {\n background-position: 0 12.396694%;\n}\n.flag-bt {\n background-position: 0 12.809917%;\n}\n.flag-bv {\n background-position: 0 13.22314%;\n}\n.flag-bw {\n background-position: 0 13.636364%;\n}\n.flag-by {\n background-position: 0 14.049587%;\n}\n.flag-bz {\n background-position: 0 14.46281%;\n}\n.flag-ca {\n background-position: 0 14.876033%;\n}\n.flag-cc {\n background-position: 0 15.289256%;\n}\n.flag-cd {\n background-position: 0 15.702479%;\n}\n.flag-cf {\n background-position: 0 16.115702%;\n}\n.flag-cg {\n background-position: 0 16.528926%;\n}\n.flag-ch {\n background-position: 0 16.942149%;\n}\n.flag-ci {\n background-position: 0 17.355372%;\n}\n.flag-ck {\n background-position: 0 17.768595%;\n}\n.flag-cl {\n background-position: 0 18.181818%;\n}\n.flag-cm {\n background-position: 0 18.595041%;\n}\n.flag-cn {\n background-position: 0 19.008264%;\n}\n.flag-co {\n background-position: 0 19.421488%;\n}\n.flag-cr {\n background-position: 0 19.834711%;\n}\n.flag-cu {\n background-position: 0 20.247934%;\n}\n.flag-cv {\n background-position: 0 20.661157%;\n}\n.flag-cx {\n background-position: 0 21.07438%;\n}\n.flag-cy {\n background-position: 0 21.487603%;\n}\n.flag-cz {\n background-position: 0 21.900826%;\n}\n.flag-de {\n background-position: 0 22.31405%;\n}\n.flag-dj {\n background-position: 0 22.727273%;\n}\n.flag-dk {\n background-position: 0 23.140496%;\n}\n.flag-dm {\n background-position: 0 23.553719%;\n}\n.flag-do {\n background-position: 0 23.966942%;\n}\n.flag-dz {\n background-position: 0 24.380165%;\n}\n.flag-ec {\n background-position: 0 24.793388%;\n}\n.flag-ee {\n background-position: 0 25.206612%;\n}\n.flag-eg {\n background-position: 0 25.619835%;\n}\n.flag-eh {\n background-position: 0 26.033058%;\n}\n.flag-er {\n background-position: 0 26.446281%;\n}\n.flag-es {\n background-position: 0 26.859504%;\n}\n.flag-et {\n background-position: 0 27.272727%;\n}\n.flag-fi {\n background-position: 0 27.68595%;\n}\n.flag-fj {\n background-position: 0 28.099174%;\n}\n.flag-fk {\n background-position: 0 28.512397%;\n}\n.flag-fm {\n background-position: 0 28.92562%;\n}\n.flag-fo {\n background-position: 0 29.338843%;\n}\n.flag-fr {\n background-position: 0 29.752066%;\n}\n.flag-ga {\n background-position: 0 30.165289%;\n}\n.flag-gd {\n background-position: 0 30.578512%;\n}\n.flag-ge {\n background-position: 0 30.991736%;\n}\n.flag-gf {\n background-position: 0 31.404959%;\n}\n.flag-gh {\n background-position: 0 31.818182%;\n}\n.flag-gi {\n background-position: 0 32.231405%;\n}\n.flag-gl {\n background-position: 0 32.644628%;\n}\n.flag-gm {\n background-position: 0 33.057851%;\n}\n.flag-gn {\n background-position: 0 33.471074%;\n}\n.flag-gp {\n background-position: 0 33.884298%;\n}\n.flag-gq {\n background-position: 0 34.297521%;\n}\n.flag-gr {\n background-position: 0 34.710744%;\n}\n.flag-gs {\n background-position: 0 35.123967%;\n}\n.flag-gt {\n background-position: 0 35.53719%;\n}\n.flag-gu {\n background-position: 0 35.950413%;\n}\n.flag-gw {\n background-position: 0 36.363636%;\n}\n.flag-gy {\n background-position: 0 36.77686%;\n}\n.flag-hk {\n background-position: 0 37.190083%;\n}\n.flag-hm {\n background-position: 0 37.603306%;\n}\n.flag-hn {\n background-position: 0 38.016529%;\n}\n.flag-hr {\n background-position: 0 38.429752%;\n}\n.flag-ht {\n background-position: 0 38.842975%;\n}\n.flag-hu {\n background-position: 0 39.256198%;\n}\n.flag-id {\n background-position: 0 39.669421%;\n}\n.flag-ie {\n background-position: 0 40.082645%;\n}\n.flag-il {\n background-position: 0 40.495868%;\n}\n.flag-in {\n background-position: 0 40.909091%;\n}\n.flag-io {\n background-position: 0 41.322314%;\n}\n.flag-iq {\n background-position: 0 41.735537%;\n}\n.flag-ir {\n background-position: 0 42.14876%;\n}\n.flag-is {\n background-position: 0 42.561983%;\n}\n.flag-it {\n background-position: 0 42.975207%;\n}\n.flag-jm {\n background-position: 0 43.38843%;\n}\n.flag-jo {\n background-position: 0 43.801653%;\n}\n.flag-jp {\n background-position: 0 44.214876%;\n}\n.flag-ke {\n background-position: 0 44.628099%;\n}\n.flag-kg {\n background-position: 0 45.041322%;\n}\n.flag-kh {\n background-position: 0 45.454545%;\n}\n.flag-ki {\n background-position: 0 45.867769%;\n}\n.flag-km {\n background-position: 0 46.280992%;\n}\n.flag-kn {\n background-position: 0 46.694215%;\n}\n.flag-kp {\n background-position: 0 47.107438%;\n}\n.flag-kr {\n background-position: 0 47.520661%;\n}\n.flag-kw {\n background-position: 0 47.933884%;\n}\n.flag-ky {\n background-position: 0 48.347107%;\n}\n.flag-kz {\n background-position: 0 48.760331%;\n}\n.flag-la {\n background-position: 0 49.173554%;\n}\n.flag-lb {\n background-position: 0 49.586777%;\n}\n.flag-lc {\n background-position: 0 50%;\n}\n.flag-li {\n background-position: 0 50.413223%;\n}\n.flag-lk {\n background-position: 0 50.826446%;\n}\n.flag-lr {\n background-position: 0 51.239669%;\n}\n.flag-ls {\n background-position: 0 51.652893%;\n}\n.flag-lt {\n background-position: 0 52.066116%;\n}\n.flag-lu {\n background-position: 0 52.479339%;\n}\n.flag-lv {\n background-position: 0 52.892562%;\n}\n.flag-ly {\n background-position: 0 53.305785%;\n}\n.flag-ma {\n background-position: 0 53.719008%;\n}\n.flag-mc {\n background-position: 0 54.132231%;\n}\n.flag-md {\n background-position: 0 54.545455%;\n}\n.flag-me {\n background-position: 0 54.958678%;\n}\n.flag-mg {\n background-position: 0 55.371901%;\n}\n.flag-mh {\n background-position: 0 55.785124%;\n}\n.flag-mk {\n background-position: 0 56.198347%;\n}\n.flag-ml {\n background-position: 0 56.61157%;\n}\n.flag-mm {\n background-position: 0 57.024793%;\n}\n.flag-mn {\n background-position: 0 57.438017%;\n}\n.flag-mo {\n background-position: 0 57.85124%;\n}\n.flag-mp {\n background-position: 0 58.264463%;\n}\n.flag-mq {\n background-position: 0 58.677686%;\n}\n.flag-mr {\n background-position: 0 59.090909%;\n}\n.flag-ms {\n background-position: 0 59.504132%;\n}\n.flag-mt {\n background-position: 0 59.917355%;\n}\n.flag-mu {\n background-position: 0 60.330579%;\n}\n.flag-mv {\n background-position: 0 60.743802%;\n}\n.flag-mw {\n background-position: 0 61.157025%;\n}\n.flag-mx {\n background-position: 0 61.570248%;\n}\n.flag-my {\n background-position: 0 61.983471%;\n}\n.flag-mz {\n background-position: 0 62.396694%;\n}\n.flag-na {\n background-position: 0 62.809917%;\n}\n.flag-nc {\n background-position: 0 63.22314%;\n}\n.flag-ne {\n background-position: 0 63.636364%;\n}\n.flag-nf {\n background-position: 0 64.049587%;\n}\n.flag-ng {\n background-position: 0 64.46281%;\n}\n.flag-ni {\n background-position: 0 64.876033%;\n}\n.flag-nl {\n background-position: 0 65.289256%;\n}\n.flag-no {\n background-position: 0 65.702479%;\n}\n.flag-np {\n background-position: 0 66.115702%;\n}\n.flag-nr {\n background-position: 0 66.528926%;\n}\n.flag-nu {\n background-position: 0 66.942149%;\n}\n.flag-nz {\n background-position: 0 67.355372%;\n}\n.flag-om {\n background-position: 0 67.768595%;\n}\n.flag-pa {\n background-position: 0 68.181818%;\n}\n.flag-pe {\n background-position: 0 68.595041%;\n}\n.flag-pf {\n background-position: 0 69.008264%;\n}\n.flag-pg {\n background-position: 0 69.421488%;\n}\n.flag-ph {\n background-position: 0 69.834711%;\n}\n.flag-pk {\n background-position: 0 70.247934%;\n}\n.flag-pl {\n background-position: 0 70.661157%;\n}\n.flag-pm {\n background-position: 0 71.07438%;\n}\n.flag-pn {\n background-position: 0 71.487603%;\n}\n.flag-pr {\n background-position: 0 71.900826%;\n}\n.flag-pt {\n background-position: 0 72.31405%;\n}\n.flag-pw {\n background-position: 0 72.727273%;\n}\n.flag-py {\n background-position: 0 73.140496%;\n}\n.flag-qa {\n background-position: 0 73.553719%;\n}\n.flag-re {\n background-position: 0 73.966942%;\n}\n.flag-ro {\n background-position: 0 74.380165%;\n}\n.flag-rs {\n background-position: 0 74.793388%;\n}\n.flag-ru {\n background-position: 0 75.206612%;\n}\n.flag-rw {\n background-position: 0 75.619835%;\n}\n.flag-sa {\n background-position: 0 76.033058%;\n}\n.flag-sb {\n background-position: 0 76.446281%;\n}\n.flag-sc {\n background-position: 0 76.859504%;\n}\n.flag-sd {\n background-position: 0 77.272727%;\n}\n.flag-se {\n background-position: 0 77.68595%;\n}\n.flag-sg {\n background-position: 0 78.099174%;\n}\n.flag-sh {\n background-position: 0 78.512397%;\n}\n.flag-si {\n background-position: 0 78.92562%;\n}\n.flag-sj {\n background-position: 0 79.338843%;\n}\n.flag-sk {\n background-position: 0 79.752066%;\n}\n.flag-sl {\n background-position: 0 80.165289%;\n}\n.flag-sm {\n background-position: 0 80.578512%;\n}\n.flag-sn {\n background-position: 0 80.991736%;\n}\n.flag-so {\n background-position: 0 81.404959%;\n}\n.flag-sr {\n background-position: 0 81.818182%;\n}\n.flag-ss {\n background-position: 0 82.231405%;\n}\n.flag-st {\n background-position: 0 82.644628%;\n}\n.flag-sv {\n background-position: 0 83.057851%;\n}\n.flag-sy {\n background-position: 0 83.471074%;\n}\n.flag-sz {\n background-position: 0 83.884298%;\n}\n.flag-tc {\n background-position: 0 84.297521%;\n}\n.flag-td {\n background-position: 0 84.710744%;\n}\n.flag-tf {\n background-position: 0 85.123967%;\n}\n.flag-tg {\n background-position: 0 85.53719%;\n}\n.flag-th {\n background-position: 0 85.950413%;\n}\n.flag-tj {\n background-position: 0 86.363636%;\n}\n.flag-tk {\n background-position: 0 86.77686%;\n}\n.flag-tl {\n background-position: 0 87.190083%;\n}\n.flag-tm {\n background-position: 0 87.603306%;\n}\n.flag-tn {\n background-position: 0 88.016529%;\n}\n.flag-to {\n background-position: 0 88.429752%;\n}\n.flag-tp {\n background-position: 0 88.842975%;\n}\n.flag-tr {\n background-position: 0 89.256198%;\n}\n.flag-tt {\n background-position: 0 89.669421%;\n}\n.flag-tv {\n background-position: 0 90.082645%;\n}\n.flag-tw {\n background-position: 0 90.495868%;\n}\n.flag-ty {\n background-position: 0 90.909091%;\n}\n.flag-tz {\n background-position: 0 91.322314%;\n}\n.flag-ua {\n background-position: 0 91.735537%;\n}\n.flag-ug {\n background-position: 0 92.14876%;\n}\n.flag-gb, .flag-uk {\n background-position: 0 92.561983%;\n}\n.flag-um {\n background-position: 0 92.975207%;\n}\n.flag-us {\n background-position: 0 93.38843%;\n}\n.flag-uy {\n background-position: 0 93.801653%;\n}\n.flag-uz {\n background-position: 0 94.214876%;\n}\n.flag-va {\n background-position: 0 94.628099%;\n}\n.flag-vc {\n background-position: 0 95.041322%;\n}\n.flag-ve {\n background-position: 0 95.454545%;\n}\n.flag-vg {\n background-position: 0 95.867769%;\n}\n.flag-vi {\n background-position: 0 96.280992%;\n}\n.flag-vn {\n background-position: 0 96.694215%;\n}\n.flag-vu {\n background-position: 0 97.107438%;\n}\n.flag-wf {\n background-position: 0 97.520661%;\n}\n.flag-ws {\n background-position: 0 97.933884%;\n}\n.flag-ye {\n background-position: 0 98.347107%;\n}\n.flag-za {\n background-position: 0 98.760331%;\n}\n.flag-zm {\n background-position: 0 99.173554%;\n}\n.flag-zr {\n background-position: 0 99.586777%;\n}\n.flag-zw {\n background-position: 0 100%;\n}\n::placeholder {\n color: var(--color-input-placeholder);\n}\ninput[type=text], input[type=color], input[type=date], input[type=datetime], input[type=email], input[type=file], input[type=month], input[type=number],\ninput[type=password], input[type=range], input[type=search], input[type=tel], input[type=time], input[type=url], input[type=week],\ntextarea, .ui-native-select, .ui-rte-input {\n background: var(--color-input);\n border: 1px solid transparent;\n font-size: var(--font-size);\n display: inline-block;\n height: 48px;\n padding: 6px 12px;\n line-height: 1.5;\n color: var(--color-text);\n border-radius: var(--radius);\n vertical-align: middle;\n box-sizing: border-box;\n width: 100%;\n}\ninput[type=text]:not(:disabled):not([readonly]):focus, input[type=color]:not(:disabled):not([readonly]):focus, input[type=date]:not(:disabled):not([readonly]):focus, input[type=datetime]:not(:disabled):not([readonly]):focus, input[type=email]:not(:disabled):not([readonly]):focus, input[type=file]:not(:disabled):not([readonly]):focus, input[type=month]:not(:disabled):not([readonly]):focus, input[type=number]:not(:disabled):not([readonly]):focus,\ninput[type=password]:not(:disabled):not([readonly]):focus, input[type=range]:not(:disabled):not([readonly]):focus, input[type=search]:not(:disabled):not([readonly]):focus, input[type=tel]:not(:disabled):not([readonly]):focus, input[type=time]:not(:disabled):not([readonly]):focus, input[type=url]:not(:disabled):not([readonly]):focus, input[type=week]:not(:disabled):not([readonly]):focus,\ntextarea:not(:disabled):not([readonly]):focus, .ui-native-select:not(:disabled):not([readonly]):focus, .ui-rte-input:not(:disabled):not([readonly]):focus {\n background-color: var(--color-input-focus-bg);\n border: var(--color-input-focus-border);\n box-shadow: var(--color-input-focus-shadow);\n outline: none;\n}\nselect:focus {\n /*background-color: #fff;\n border: 1px solid var(--color-line-onbg);\n box-shadow: 0 0 0 4px var(--color-input);*/\n outline: none;\n}\ntextarea {\n resize: vertical;\n min-height: 80px;\n}\n.ui-native-select {\n position: relative;\n font-size: var(--font-size);\n}\n.ui-native-select select {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n width: 100%;\n padding-left: 9px;\n -webkit-appearance: none;\n border: none;\n font-size: var(--font-size);\n background: none;\n border: 1px solid transparent;\n color: var(--color-text);\n border-radius: var(--radius);\n}\n.ui-native-select select:focus {\n background-color: var(--color-input-focus-bg);\n border: var(--color-input-focus-border);\n box-shadow: var(--color-input-focus-shadow);\n outline: none;\n}\n.ui-native-select:after {\n content: "";\n position: absolute;\n right: 12px;\n top: 0;\n height: 48px;\n line-height: 40px;\n}\n.ui-native-select[disabled], .ui-native-select[readonly] {\n min-height: 23px;\n}\n.ui-native-select[disabled]:after, .ui-native-select[readonly]:after {\n display: none;\n}\n.ui-native-select[disabled] select, .ui-native-select[readonly] select {\n text-indent: -2px;\n padding-left: 0;\n}\n.ui-native-check {\n position: relative;\n top: 1px;\n font-size: var(--font-size);\n cursor: pointer;\n display: flex;\n align-items: center;\n line-height: 1;\n}\n.ui-native-check input {\n width: 0;\n height: 0;\n opacity: 0;\n position: absolute;\n left: 0;\n overflow: hidden;\n visibility: hidden;\n -webkit-appearance: none;\n border: none;\n}\n.is-disabled .ui-native-check {\n cursor: default;\n}\n.ui-native-check-toggle {\n display: inline-block;\n width: 22px;\n height: 22px;\n line-height: 21px;\n text-align: center;\n border-radius: var(--radius);\n border: 1px solid transparent;\n background: var(--color-check);\n margin-right: 10px;\n position: relative;\n top: 0;\n}\n.ui-native-check-toggle:before {\n content: "";\n color: transparent;\n font-size: var(--font-size-s);\n}\ninput:focus ~ .ui-native-check-toggle {\n background: var(--color-input-focus-bg) !important;\n border: var(--color-input-focus-border);\n box-shadow: var(--color-input-focus-shadow);\n outline: none;\n}\ninput:checked ~ .ui-native-check-toggle {\n background: var(--color-checked);\n}\ninput:checked ~ .ui-native-check-toggle:before {\n color: var(--color-checked-fg);\n}\n.ui-property {\n position: relative;\n display: flex;\n margin: 0 -32px 0;\n padding: 0 32px 0;\n}\n.ui-property.is-disabled .ui-property-content {\n pointer-events: none;\n}\n.ui-property + .ui-split,\n.ui-split + .ui-property,\n.ui-property + .ui-property {\n margin-top: 50px;\n}\n.ui-property.is-vertical {\n flex-direction: column;\n border-top: none;\n}\n.ui-property.is-vertical .ui-property-label {\n width: 100%;\n padding-right: 0;\n}\n.ui-property.is-vertical .ui-property-content {\n margin-top: 5px;\n}\n.ui-property.is-text .ui-property-content {\n margin-top: 2px;\n}\n.ui-property.full-width > .ui-property-content,\n.ui-property.hide-label > .ui-property-content,\n.ui-property.is-static > .ui-property-content {\n max-width: 100%;\n}\n.ui-property.hide-label > .ui-property-label,\n.ui-property.is-static > .ui-property-label {\n display: none;\n}\n.ui-property.is-static,\n.ui-property.is-static + .ui-property {\n margin-top: 0 !important;\n}\n.ui-property-label {\n display: block;\n color: var(--color-text);\n width: 260px;\n padding-right: 60px;\n font-size: var(--font-size);\n line-height: 1.5;\n font-weight: 700;\n /*.ui-property:focus-within &\n {\n color: var(--color-accent-info);\n }*/\n}\n.ui-property-label small {\n display: block;\n padding-top: 5px;\n font-size: var(--font-size-xs);\n font-weight: 400;\n line-height: 1.4;\n text-decoration: none;\n color: var(--color-text-dim);\n letter-spacing: 0.3px;\n}\n.ui-property-label small:empty {\n display: none;\n}\n.ui-property-required {\n color: var(--color-text-dim);\n margin-left: 0.2em;\n font-weight: 400;\n}\n.ui-property-content {\n flex: 1;\n max-width: 932px;\n font-size: var(--font-size);\n}\n.ui-property-help {\n max-width: 932px;\n font-size: var(--font-size-xs);\n color: var(--color-text-dim);\n margin: 15px 0 0;\n letter-spacing: 0.3px;\n}\n.ui-property-help:before {\n content: "";\n color: var(--color-primary);\n font-size: var(--font-size-l);\n float: left;\n position: relative;\n top: -1px;\n margin-right: 6px;\n}\n.ui-properties-floating .ui-property {\n display: inline-flex;\n min-height: 52px;\n}\n.ui-properties-floating .ui-property + .ui-property {\n padding-top: 0;\n margin-top: 0;\n border-left: 1px solid var(--color-line);\n padding-left: 50px;\n margin-left: 50px;\n}\n\n/*# sourceMappingURL=property.vue.map */',map:{version:3,sources:["property.vue","O:\\zero\\zero.Web.UI\\app\\components\\forms\\property.vue"],names:[],mappings:"AAAA,gBAAgB;AAChB;EACE,sBAAsB;EACtB,gBAAgB;EAChB,kBAAkB;EAClB,yHAAyH;AAC3H;AACA;EACE,mBAAmB;EACnB,gBAAgB;EAChB,kBAAkB;EAClB,mIAAmI;AACrI;AACA;EACE,mBAAmB;EACnB,gBAAgB;EAChB,kBAAkB;EAClB,uIAAuI;AACzI;AACA;EACE,mBAAmB;EACnB,gBAAgB;EAChB,kBAAkB;EAClB,iIAAiI;AACnI;AACA;EACE,mBAAmB;EACnB,gBAAgB;EAChB,kBAAkB;EAClB,mIAAmI;AACrI;AACA;;;EAGE,oEAAoE;AACtE;AAEA;EACE,+DAA+D;EAC/D,sBAAsB;AACxB;AAEA;EACE,sBAAsB;EACtB,WAAW;EACX,kBAAkB;EAClB,mBAAmB;EACnB,oBAAoB;EACpB,oBAAoB;EACpB,cAAc;EACd,mCAAmC;EACnC,kCAAkC;AACpC;AAEA;EACE,sBAAsB;EACtB,6CAA6C;EAC7C,wCAAwC;AAC1C;AAEA;EACE,qBAAqB;EACrB,sBAAsB;AACxB;AAEA;EACE,eAAe;EACf,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,4BAA4B;EAC5B,qBAAqB;AACvB;ACpCA;EAEA,wBAAA;EACA,YAAA;EACA,uBAAA;EDsCE,eAAe;ECpCjB,UAAA;EACA,SAAA;EACA,gBAAA;ADsCA;AChCA;EAEA,iCAAA;EACA,gBAAA;EACA,sBAAA;ADkCA;AAEA;EC/BA,iCAAA;EACA,gBAAA;EACA,gBAAA;ADiCA;AC3BA;EAEA,SAAA;EACA,UAAA;AD6BA;AC1BA;EAEA,uBAAA;EACA,gBAAA;EACA,kBAAA;EACA,kBAAA;AD4BA;ACzBA;EAEA,gBAAA;AD2BA;AAEA;ECxBA,YAAA;EACA,qBAAA;EACA,UAAA;EACA,WAAA;ED0BE,mBAAmB;ECxBrB,6BAAA;EACA,kBAAA;EACA,SAAA;EACA,QAAA;AD0BA;ACtBA;EAEA,SAAA;EACA,UAAA;ADwBA;ACrBA;EDwBE,4BAA4B;ECrB9B,gBAAA;EACA,mBAAA;EACA,kBAAA;ADuBA;AAEA;ECpBA,gBAAA;ADsBA;ACnBA;EAEA,gBAAA;ADqBA;AClBA;EAEA,oBAAA;EACA,qBAAA;EACA,eAAA;ADoBA;ACbA;EAEA,0CAAA;EDeE,mBAAmB;ECbrB,aAAA;ADeA;;ACXA;;;;;;;;;;;;;;;;;;;;;;EAAA;AA2BA;EAEA,yBAAA;ADSA;ACHA;EAEA,cAAA;EACA,YAAA;EACA,0CAAA;ADKA;AAEA;EACE,gBAAgB;EAChB,gBAAgB;AAClB;AAEA;EACE,gBAAgB;AAClB;AAEA;EACE,kBAAkB;EAClB,gBAAgB;EAChB,2CAA2C;EAC3C,mCAAmC;EACnC,wBAAwB;AAC1B;AAEA;EACE,WAAW;EACX,UAAU;EACV,8BAA8B;EAC9B,gBAAgB;EAChB,kBAAkB;EAClB,aAAa;AACf;AAEA;EACE,qBAAqB;AACvB;AAEA;EACE,UAAU;EACV,WAAW;EACX,6BAA6B;AAC/B;;AAEA;;;EAGE;AACF;EACE,iBAAiB;AACnB;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;ACtQA;EAAA,YAAA;AD0QA;ACxQA;EAAA,YAAA;AD4QA;AC1QA;EAAA,YAAA;AD8QA;AC5QA;EAAA,YAAA;ADgRA;AAEA;EACE,YAAY;AACd;AChRA;EAAA,YAAA;ADoRA;AClRA;EAAA,YAAA;ADsRA;AAEA;EACE,YAAY;AACd;ACtRA;EAAA,YAAA;AD0RA;ACxRA;EAAA,YAAA;AD4RA;AC1RA;EAAA,YAAA;AD8RA;AC5RA;EAAA,YAAA;ADgSA;AAEA;EACE,YAAY;AACd;AChSA;EAAA,YAAA;ADoSA;AClSA;EAAA,YAAA;ADsSA;ACpSA;EAAA,YAAA;ADwSA;ACtSA;EAAA,YAAA;AD0SA;ACxSA;EAAA,YAAA;AD4SA;AC1SA;EAAA,YAAA;AD8SA;AC5SA;EAAA,YAAA;ADgTA;AC9SA;EAAA,YAAA;ADkTA;AChTA;EAAA,YAAA;ADoTA;AClTA;EAAA,YAAA;ADsTA;AAEA;EACE,YAAY;AACd;ACtTA;EAAA,YAAA;AD0TA;ACxTA;EAAA,YAAA;AD4TA;AC1TA;EAAA,YAAA;AD8TA;AC5TA;EAAA,YAAA;ADgUA;AC9TA;EAAA,YAAA;ADkUA;AChUA;EAAA,YAAA;ADoUA;AClUA;EAAA,YAAA;ADsUA;ACpUA;EAAA,YAAA;ADwUA;ACtUA;EAAA,YAAA;AD0UA;ACxUA;EAAA,YAAA;AD4UA;AC1UA;EAAA,YAAA;AD8UA;AC5UA;EAAA,YAAA;ADgVA;AC9UA;EAAA,YAAA;ADkVA;AChVA;EAAA,YAAA;ADoVA;AClVA;EAAA,YAAA;ADsVA;ACpVA;EAAA,YAAA;ADwVA;ACtVA;EAAA,YAAA;AD0VA;ACxVA;EAAA,YAAA;AD4VA;AC1VA;EAAA,YAAA;AD8VA;AC5VA;EAAA,YAAA;ADgWA;AC9VA;EAAA,YAAA;ADkWA;AChWA;EAAA,YAAA;ADoWA;AAEA;EACE,YAAY;AACd;ACpWA;EAAA,YAAA;ADwWA;ACtWA;EAAA,YAAA;AD0WA;AAEA;EACE,YAAY;AACd;AC1WA;EAAA,YAAA;AD8WA;AC5WA;EAAA,YAAA;ADgXA;AC9WA;EAAA,YAAA;ADkXA;AChXA;EAAA,YAAA;ADoXA;AClXA;EAAA,YAAA;ADsXA;ACpXA;EAAA,YAAA;ADwXA;AAEA;EACE,YAAY;AACd;ACxXA;EAAA,YAAA;AD4XA;AC1XA;EAAA,YAAA;AD8XA;AC5XA;EAAA,YAAA;ADgYA;AAEA;EACE,YAAY;AACd;AChYA;EAAA,YAAA;ADoYA;AClYA;EAAA,YAAA;ADsYA;ACpYA;EAAA,YAAA;ADwYA;ACtYA;EAAA,YAAA;AD0YA;ACxYA;EAAA,YAAA;AD4YA;AC1YA;EAAA,YAAA;AD8YA;AC5YA;EAAA,YAAA;ADgZA;AC9YA;EAAA,YAAA;ADkZA;AChZA;EAAA,YAAA;ADoZA;AClZA;EAAA,YAAA;ADsZA;ACpZA;EAAA,YAAA;ADwZA;ACtZA;EAAA,YAAA;AD0ZA;ACxZA;EAAA,YAAA;AD4ZA;AC1ZA;EAAA,YAAA;AD8ZA;AC5ZA;EAAA,YAAA;ADgaA;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,QAAQ;EACR,SAAS;EACT,YAAY;EACZ,cAAc;EACd,6BAA6B;EAC7B,sCAAsC;EACtC,kBAAkB;EAClB,QAAQ;AACV;AAEA;EACE,6BAA6B;EAC7B,yCAAyC;EACzC,kBAAkB;EAClB,SAAS;AACX;AAEA;EACE,yBAAyB;AAC3B;AAEA;EACE,yBAAyB;EACzB,mGAAmG;EACnG,gCAAgC;EAChC,wCAAwC;EACxC,uCAAuC;EACvC,+CAA+C;AACjD;AAEA;EACE,yBAAyB;AAC3B;AAEA;EACE,WAAW;EACX,YAAY;EACZ,qBAAqB;AACvB;AAEA;EACE,WAAW;AACb;AAEA;EACE,4CAA4C;EAC5C,qBAAqB;AACvB;AAEA;EACE,gCAAgC;AAClC;AAEA;EACE,gCAAgC;AAClC;AAEA;EACE,gCAAgC;AAClC;AAEA;EACE,gCAAgC;AAClC;AC50CA;EAEA,gCAAA;AD80CA;AC30CA;EAEA,gCAAA;AD60CA;AC10CA;EAEA,gCAAA;AD40CA;ACz0CA;EAEA,gCAAA;AD20CA;ACx0CA;EAEA,gCAAA;AD00CA;ACv0CA;EAEA,gCAAA;ADy0CA;ACt0CA;EAEA,gCAAA;ADw0CA;AAEA;ECr0CA,gCAAA;ADu0CA;ACp0CA;EAEA,gCAAA;ADs0CA;ACn0CA;EAEA,gCAAA;ADq0CA;ACl0CA;EAEA,gCAAA;ADo0CA;ACj0CA;EAEA,+BAAA;ADm0CA;ACh0CA;EAEA,gCAAA;ADk0CA;AAEA;EC/zCA,gCAAA;ADi0CA;AC9zCA;EAEA,+BAAA;ADg0CA;AAEA;EC7zCA,gCAAA;AD+zCA;AC5zCA;EAEA,gCAAA;AD8zCA;AC3zCA;EAEA,gCAAA;AD6zCA;AC1zCA;ED6zCE,gCAAgC;AAClC;ACzzCA;EAEA,gCAAA;AD2zCA;ACxzCA;EAEA,iCAAA;AD0zCA;AAEA;ECvzCA,iCAAA;ADyzCA;ACtzCA;EDyzCE,iCAAiC;AACnC;ACrzCA;EAEA,iCAAA;ADuzCA;AAEA;ECpzCA,iCAAA;ADszCA;ACnzCA;EAEA,iCAAA;ADqzCA;AClzCA;EAEA,iCAAA;ADozCA;ACjzCA;EAEA,gCAAA;ADmzCA;AChzCA;EAEA,iCAAA;ADkzCA;AC/yCA;EAEA,iCAAA;ADizCA;AC9yCA;EDizCE,gCAAgC;AAClC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,gCAAgC;AAClC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,gCAAgC;AAClC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,gCAAgC;AAClC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,gCAAgC;AAClC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,gCAAgC;AAClC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,gCAAgC;AAClC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,gCAAgC;AAClC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,gCAAgC;AAClC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,0BAA0B;AAC5B;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,gCAAgC;AAClC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,gCAAgC;AAClC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,gCAAgC;AAClC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,gCAAgC;AAClC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,gCAAgC;AAClC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,gCAAgC;AAClC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,gCAAgC;AAClC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,gCAAgC;AAClC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,gCAAgC;AAClC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,gCAAgC;AAClC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,gCAAgC;AAClC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,gCAAgC;AAClC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,iCAAiC;AACnC;AAEA;EACE,2BAA2B;AAC7B;AAEA;EACE,qCAAqC;AACvC;AAEA;;;EAGE,8BAA8B;EAC9B,6BAA6B;EAC7B,2BAA2B;EAC3B,qBAAqB;EACrB,YAAY;EACZ,iBAAiB;EACjB,gBAAgB;EAChB,wBAAwB;EACxB,4BAA4B;EAC5B,sBAAsB;EACtB,sBAAsB;EACtB,WAAW;AACb;AACA;;;EAGE,6CAA6C;EAC7C,uCAAuC;EACvC,2CAA2C;EAC3C,aAAa;AACf;AC9xEA;EAEA;;4CAAA;EDkyEE,aAAa;AACf;ACzxEA;EAEA,gBAAA;EACA,gBAAA;AD2xEA;ACpxEA;EAEA,kBAAA;EACA,2BAAA;ADsxEA;ACpxEA;EAGA,kBAAA;EACA,OAAA;EDoxEE,QAAQ;EClxEV,MAAA;EACA,SAAA;EACA,WAAA;EACA,iBAAA;EACA,wBAAA;EDoxEE,YAAY;EClxEd,2BAAA;EACA,gBAAA;EACA,6BAAA;EACA,wBAAA;EDoxEE,4BAA4B;AAC9B;ACjxEA;EAEA,6CAAA;EACA,uCAAA;EDkxEE,2CAA2C;EChxE7C,aAAA;ADkxEA;AC/wEA;EAGA,YAAA;EACA,kBAAA;EACA,WAAA;EACA,MAAA;EACA,YAAA;ED+wEE,iBAAiB;AACnB;AC5wEA;EAEA,gBAAA;AD6wEA;AC3wEA;EAEA,aAAA;AD4wEA;ACzwEA;EAEA,iBAAA;EACA,eAAA;AD0wEA;ACjwEA;EAEA,kBAAA;EDmwEE,QAAQ;ECjwEV,2BAAA;EACA,eAAA;EACA,aAAA;EACA,mBAAA;EACA,cAAA;ADmwEA;ACjwEA;EAEA,QAAA;EACA,SAAA;EACA,UAAA;EACA,kBAAA;EDkwEE,OAAO;EChwET,gBAAA;EACA,kBAAA;EACA,wBAAA;EACA,YAAA;ADkwEA;AACA;EC9vEA,eAAA;ADgwEA;AC5vEA;ED+vEE,qBAAqB;EC5vEvB,WAAA;EACA,YAAA;EACA,iBAAA;EACA,kBAAA;EACA,4BAAA;EACA,6BAAA;EACA,8BAAA;EACA,kBAAA;EACA,kBAAA;EACA,MAAA;AD8vEA;AC5vEA;EAEA,YAAA;EAEA,kBAAA;EACA,6BAAA;AD4vEA;ACzvEA;EAEA,kDAAA;EACA,uCAAA;EACA,2CAAA;EACA,aAAA;AD0vEA;ACvvEA;EAEA,gCAAA;ADwvEA;AACA;EACE,8BAA8B;AAChC;AC/4EA;EAEA,kBAAA;EACA,aAAA;EACA,iBAAA;EACA,iBAAA;ADi5EA;AC/4EA;EAEA,oBAAA;ADg5EA;AC54EA;;;EAIA,gBAAA;AD84EA;ACx4EA;EAEA,sBAAA;EACA,gBAAA;AD04EA;ACx4EA;EAEA,WAAA;EACA,gBAAA;ADy4EA;ACt4EA;EAEA,eAAA;ADu4EA;ACn4EA;EAEA,eAAA;ADq4EA;ACl4EA;;;EAIA,eAAA;ADo4EA;ACj4EA;;EAGA,aAAA;ADm4EA;ACh4EA;;EAGA,wBAAA;ADk4EA;AC/3EA;EAEA,cAAA;EACA,wBAAA;EACA,YAAA;EACA,mBAAA;EACA,2BAAA;EACA,gBAAA;EACA,gBAAA;EAEA;;;IAAA;ADm4EA;AC73EA;EAEA,cAAA;EACA,gBAAA;EACA,8BAAA;EACA,gBAAA;EACA,gBAAA;EACA,qBAAA;EACA,4BAAA;EACA,qBAAA;AD+3EA;AC73EA;EAEA,aAAA;AD83EA;AC13EA;EAEA,4BAAA;EACA,kBAAA;EACA,gBAAA;AD43EA;ACz3EA;EAEA,OAAA;EACA,gBAAA;EACA,2BAAA;AD23EA;ACx3EA;EAEA,gBAAA;EACA,8BAAA;EACA,4BAAA;EACA,gBAAA;EACA,qBAAA;AD03EA;ACx3EA;EAEA,YAAA;EAEA,2BAAA;EACA,6BAAA;EACA,WAAA;EACA,kBAAA;EACA,SAAA;EACA,iBAAA;ADw3EA;ACl3EA;EAEA,oBAAA;EACA,gBAAA;ADo3EA;ACj3EA;EAEA,cAAA;EACA,aAAA;EACA,wCAAA;EACA,kBAAA;EACA,iBAAA;ADk3EA;;AAEA,uCAAuC",file:"property.vue",sourcesContent:['@charset "UTF-8";\n@font-face {\n font-family: "Feather";\n font-weight: 400;\n font-style: normal;\n src: url("/Assets/Fonts/Feather/feather.woff2") format("woff2"), url("/Assets/Fonts/Feather/feather.woff") format("woff");\n}\n@font-face {\n font-family: "Lato";\n font-weight: 100;\n font-style: normal;\n src: url("/Assets/Fonts/Lato/LatoLatin-Light.woff2") format("woff2"), url("/Assets/Fonts/Lato/LatoLatin-Light.woff") format("woff");\n}\n@font-face {\n font-family: "Lato";\n font-weight: 400;\n font-style: normal;\n src: url("/Assets/Fonts/Lato/LatoLatin-Regular.woff2") format("woff2"), url("/Assets/Fonts/Lato/LatoLatin-Regular.woff") format("woff");\n}\n@font-face {\n font-family: "Lato";\n font-weight: 700;\n font-style: normal;\n src: url("/Assets/Fonts/Lato/LatoLatin-Bold.woff2") format("woff2"), url("/Assets/Fonts/Lato/LatoLatin-Bold.woff") format("woff");\n}\n@font-face {\n font-family: "Lato";\n font-weight: 900;\n font-style: normal;\n src: url("/Assets/Fonts/Lato/LatoLatin-Black.woff2") format("woff2"), url("/Assets/Fonts/Lato/LatoLatin-Black.woff") format("woff");\n}\n.ui-native-select select, input[type=text], input[type=color], input[type=date], input[type=datetime], input[type=email], input[type=file], input[type=month], input[type=number],\ninput[type=password], input[type=range], input[type=search], input[type=tel], input[type=time], input[type=url], input[type=week],\ntextarea, .ui-native-select, .ui-rte-input {\n font-family: "Lato", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;\n}\n\n:root {\n --font: "Lato", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;\n --font-icon: "Feather";\n}\n\n.ui-property-help:before, .ui-native-check-toggle:before, .ui-native-select:after, [class^=fth-], [class*=" fth-"] {\n font-family: "Feather";\n speak: none;\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n*, *:before, *:after {\n box-sizing: border-box;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n -webkit-tap-highlight-color: transparent;\n}\n\nimg {\n display: inline-block;\n vertical-align: middle;\n}\n\nimg, object, embed {\n max-width: 100%;\n height: auto;\n}\n\nobject, embed {\n height: 100%;\n}\n\na, a:visited, a:link {\n /*color: var(--color-text);*/\n text-decoration: none;\n}\n\nbutton {\n -webkit-appearance: none;\n border: none;\n background: transparent;\n cursor: pointer;\n padding: 0;\n margin: 0;\n text-align: left;\n}\n\nh1 {\n font-size: calc(1.4rem + 0.1vmin);\n font-weight: 400;\n margin: -0.3rem 0 3rem;\n}\n\nh2 {\n font-size: calc(1.4rem + 0.1vmin);\n font-weight: 400;\n margin: 0 0 2rem;\n}\n\nul {\n margin: 0;\n padding: 0;\n}\n\nul li {\n list-style: none inside;\n margin-bottom: 0;\n padding-left: 16px;\n position: relative;\n}\n\nul li:last-child {\n margin-bottom: 0;\n}\n\nul li:before {\n content: " ";\n display: inline-block;\n width: 4px;\n height: 4px;\n border-radius: 12px;\n background: var(--color-text);\n position: absolute;\n left: 1px;\n top: 9px;\n}\n\nol {\n margin: 0;\n padding: 0;\n}\n\nol li {\n list-style-position: outside;\n margin-left: 1em;\n margin-bottom: 20px;\n position: relative;\n}\n\nol li:last-child {\n margin-bottom: 0;\n}\n\nli {\n line-height: 1.8;\n}\n\nli > * {\n margin: 0 !important;\n padding: 0 !important;\n display: inline;\n}\n\na[href]:focus, button:focus {\n outline: var(--color-button-focus-outline);\n outline-offset: 2px;\n outline: none;\n}\n\n/*a[href], button\n{\n position: relative;\n overflow: visible !important;\n\n &:focus\n {\n outline: none;\n }\n\n &:focus:after\n {\n content: \'\';\n position: absolute;\n z-index: 10;\n left: -4px;\n top: -4px;\n right: -4px;\n bottom: -4px;\n border-radius: 7px;\n border: var(--color-button-focus-outline);\n }\n}*/\ntable {\n border-collapse: collapse;\n}\n\nhr {\n margin: 20px 0;\n border: none;\n border-bottom: 1px solid var(--color-line);\n}\n\nsup {\n margin-left: 5px;\n font-size: 0.7em;\n}\n\niframe, video {\n margin-top: 20px;\n}\n\ncode {\n border-radius: 3px;\n padding: 1px 4px;\n border: 1px dashed var(--color-line-dashed);\n background: var(--color-bg-shade-2);\n color: var(--color-text);\n}\n\n.sr-only {\n height: 1px;\n width: 1px;\n clip: rect(1px, 1px, 1px, 1px);\n overflow: hidden;\n position: absolute;\n opacity: 0.01;\n}\n\n* {\n scrollbar-width: thin;\n}\n\n::-webkit-scrollbar {\n width: 7px;\n height: 7px;\n background-color: transparent;\n}\n\n/*::-webkit-scrollbar-thumb\n{\n background: var(--color-bg-mid);\n}*/\n.ui-resizing {\n user-select: none;\n}\n\n.fth-alert-octagon:before {\n content: "";\n}\n\n.fth-alert-circle:before {\n content: "";\n}\n\n.fth-activity:before {\n content: "";\n}\n\n.fth-alert-triangle:before {\n content: "";\n}\n\n.fth-align-center:before {\n content: "";\n}\n\n.fth-airplay:before {\n content: "";\n}\n\n.fth-align-justify:before {\n content: "";\n}\n\n.fth-align-left:before {\n content: "";\n}\n\n.fth-align-right:before {\n content: "";\n}\n\n.fth-arrow-down-left:before {\n content: "";\n}\n\n.fth-arrow-down-right:before {\n content: "";\n}\n\n.fth-anchor:before {\n content: "";\n}\n\n.fth-aperture:before {\n content: "";\n}\n\n.fth-arrow-left:before {\n content: "";\n}\n\n.fth-arrow-right:before {\n content: "";\n}\n\n.fth-arrow-down:before {\n content: "";\n}\n\n.fth-arrow-up-left:before {\n content: "";\n}\n\n.fth-arrow-up-right:before {\n content: "";\n}\n\n.fth-arrow-up:before {\n content: "";\n}\n\n.fth-award:before {\n content: "";\n}\n\n.fth-bar-chart:before {\n content: "";\n}\n\n.fth-at-sign:before {\n content: "";\n}\n\n.fth-bar-chart-2:before {\n content: "";\n}\n\n.fth-battery-charging:before {\n content: "";\n}\n\n.fth-bell-off:before {\n content: "";\n}\n\n.fth-battery:before {\n content: "";\n}\n\n.fth-bluetooth:before {\n content: "";\n}\n\n.fth-bell:before {\n content: "";\n}\n\n.fth-book:before {\n content: "";\n}\n\n.fth-briefcase:before {\n content: "";\n}\n\n.fth-camera-off:before {\n content: "";\n}\n\n.fth-calendar:before {\n content: "";\n}\n\n.fth-bookmark:before {\n content: "";\n}\n\n.fth-box:before {\n content: "";\n}\n\n.fth-camera:before {\n content: "";\n}\n\n.fth-check-circle:before {\n content: "";\n}\n\n.fth-check:before {\n content: "";\n}\n\n.fth-check-square:before {\n content: "";\n}\n\n.fth-cast:before {\n content: "";\n}\n\n.fth-chevron-down:before {\n content: "";\n}\n\n.fth-chevron-left:before {\n content: "";\n}\n\n.fth-chevron-right:before {\n content: "";\n}\n\n.fth-chevron-up:before {\n content: "";\n}\n\n.fth-chevrons-down:before {\n content: "";\n}\n\n.fth-chevrons-right:before {\n content: "";\n}\n\n.fth-chevrons-up:before {\n content: "";\n}\n\n.fth-chevrons-left:before {\n content: "";\n}\n\n.fth-circle:before {\n content: "";\n}\n\n.fth-clipboard:before {\n content: "";\n}\n\n.fth-chrome:before {\n content: "";\n}\n\n.fth-clock:before {\n content: "";\n}\n\n.fth-cloud-lightning:before {\n content: "";\n}\n\n.fth-cloud-drizzle:before {\n content: "";\n}\n\n.fth-cloud-rain:before {\n content: "";\n}\n\n.fth-cloud-off:before {\n content: "";\n}\n\n.fth-codepen:before {\n content: "";\n}\n\n.fth-cloud-snow:before {\n content: "";\n}\n\n.fth-compass:before {\n content: "";\n}\n\n.fth-copy:before {\n content: "";\n}\n\n.fth-corner-down-right:before {\n content: "";\n}\n\n.fth-corner-down-left:before {\n content: "";\n}\n\n.fth-corner-left-down:before {\n content: "";\n}\n\n.fth-corner-left-up:before {\n content: "";\n}\n\n.fth-corner-up-left:before {\n content: "";\n}\n\n.fth-corner-up-right:before {\n content: "";\n}\n\n.fth-corner-right-down:before {\n content: "";\n}\n\n.fth-corner-right-up:before {\n content: "";\n}\n\n.fth-cpu:before {\n content: "";\n}\n\n.fth-credit-card:before {\n content: "";\n}\n\n.fth-crosshair:before {\n content: "";\n}\n\n.fth-disc:before {\n content: "";\n}\n\n.fth-delete:before {\n content: "";\n}\n\n.fth-download-cloud:before {\n content: "";\n}\n\n.fth-download:before {\n content: "";\n}\n\n.fth-droplet:before {\n content: "";\n}\n\n.fth-edit-2:before {\n content: "";\n}\n\n.fth-edit:before {\n content: "";\n}\n\n.fth-edit-1:before {\n content: "";\n}\n\n.fth-external-link:before {\n content: "";\n}\n\n.fth-eye:before {\n content: "";\n}\n\n.fth-feather:before {\n content: "";\n}\n\n.fth-facebook:before {\n content: "";\n}\n\n.fth-file-minus:before {\n content: "";\n}\n\n.fth-eye-off:before {\n content: "";\n}\n\n.fth-fast-forward:before {\n content: "";\n}\n\n.fth-file-text:before {\n content: "";\n}\n\n.fth-film:before {\n content: "";\n}\n\n.fth-file:before {\n content: "";\n}\n\n.fth-file-plus:before {\n content: "";\n}\n\n.fth-folder:before {\n content: "";\n}\n\n.fth-filter:before {\n content: "";\n}\n\n.fth-flag:before {\n content: "";\n}\n\n.fth-globe:before {\n content: "";\n}\n\n.fth-grid:before {\n content: "";\n}\n\n.fth-heart:before {\n content: "";\n}\n\n.fth-home:before {\n content: "";\n}\n\n.fth-github:before {\n content: "";\n}\n\n.fth-image:before {\n content: "";\n}\n\n.fth-inbox:before {\n content: "";\n}\n\n.fth-layers:before {\n content: "";\n}\n\n.fth-info:before {\n content: "";\n}\n\n.fth-instagram:before {\n content: "";\n}\n\n.fth-layout:before {\n content: "";\n}\n\n.fth-link-2:before {\n content: "";\n}\n\n.fth-life-buoy:before {\n content: "";\n}\n\n.fth-link:before {\n content: "";\n}\n\n.fth-log-in:before {\n content: "";\n}\n\n.fth-list:before {\n content: "";\n}\n\n.fth-lock:before {\n content: "";\n}\n\n.fth-log-out:before {\n content: "";\n}\n\n.fth-loader:before {\n content: "";\n}\n\n.fth-mail:before {\n content: "";\n}\n\n.fth-maximize-2:before {\n content: "";\n}\n\n.fth-map:before {\n content: "";\n}\n\n.fth-map-pin:before {\n content: "";\n}\n\n.fth-menu:before {\n content: "";\n}\n\n.fth-message-circle:before {\n content: "";\n}\n\n.fth-message-square:before {\n content: "";\n}\n\n.fth-minimize-2:before {\n content: "";\n}\n\n.fth-mic-off:before {\n content: "";\n}\n\n.fth-minus-circle:before {\n content: "";\n}\n\n.fth-mic:before {\n content: "";\n}\n\n.fth-minus-square:before {\n content: "";\n}\n\n.fth-minus:before {\n content: "";\n}\n\n.fth-moon:before {\n content: "";\n}\n\n.fth-monitor:before {\n content: "";\n}\n\n.fth-more-vertical:before {\n content: "";\n}\n\n.fth-more-horizontal:before {\n content: "";\n}\n\n.fth-move:before {\n content: "";\n}\n\n.fth-music:before {\n content: "";\n}\n\n.fth-navigation-2:before {\n content: "";\n}\n\n.fth-navigation:before {\n content: "";\n}\n\n.fth-octagon:before {\n content: "";\n}\n\n.fth-package:before {\n content: "";\n}\n\n.fth-pause-circle:before {\n content: "";\n}\n\n.fth-pause:before {\n content: "";\n}\n\n.fth-percent:before {\n content: "";\n}\n\n.fth-phone-call:before {\n content: "";\n}\n\n.fth-phone-forwarded:before {\n content: "";\n}\n\n.fth-phone-missed:before {\n content: "";\n}\n\n.fth-phone-off:before {\n content: "";\n}\n\n.fth-phone-incoming:before {\n content: "";\n}\n\n.fth-phone:before {\n content: "";\n}\n\n.fth-phone-outgoing:before {\n content: "";\n}\n\n.fth-pie-chart:before {\n content: "";\n}\n\n.fth-play-circle:before {\n content: "";\n}\n\n.fth-play:before {\n content: "";\n}\n\n.fth-plus-square:before {\n content: "";\n}\n\n.fth-plus-circle:before {\n content: "";\n}\n\n.fth-plus:before {\n content: "";\n}\n\n.fth-pocket:before {\n content: "";\n}\n\n.fth-printer:before {\n content: "";\n}\n\n.fth-power:before {\n content: "";\n}\n\n.fth-radio:before {\n content: "";\n}\n\n.fth-repeat:before {\n content: "";\n}\n\n.fth-refresh-ccw:before {\n content: "";\n}\n\n.fth-rewind:before {\n content: "";\n}\n\n.fth-rotate-ccw:before {\n content: "";\n}\n\n.fth-refresh-cw:before {\n content: "";\n}\n\n.fth-rotate-cw:before {\n content: "";\n}\n\n.fth-save:before {\n content: "";\n}\n\n.fth-search:before {\n content: "";\n}\n\n.fth-server:before {\n content: "";\n}\n\n.fth-scissors:before {\n content: "";\n}\n\n.fth-share-2:before {\n content: "";\n}\n\n.fth-share:before {\n content: "";\n}\n\n.fth-shield:before {\n content: "";\n}\n\n.fth-settings:before {\n content: "";\n}\n\n.fth-skip-back:before {\n content: "";\n}\n\n.fth-shuffle:before {\n content: "";\n}\n\n.fth-sidebar:before {\n content: "";\n}\n\n.fth-skip-forward:before {\n content: "";\n}\n\n.fth-slack:before {\n content: "";\n}\n\n.fth-slash:before {\n content: "";\n}\n\n.fth-smartphone:before {\n content: "";\n}\n\n.fth-square:before {\n content: "";\n}\n\n.fth-speaker:before {\n content: "";\n}\n\n.fth-star:before {\n content: "";\n}\n\n.fth-stop-circle:before {\n content: "";\n}\n\n.fth-sun:before {\n content: "";\n}\n\n.fth-sunrise:before {\n content: "";\n}\n\n.fth-tablet:before {\n content: "";\n}\n\n.fth-tag:before {\n content: "";\n}\n\n.fth-sunset:before {\n content: "";\n}\n\n.fth-target:before {\n content: "";\n}\n\n.fth-thermometer:before {\n content: "";\n}\n\n.fth-thumbs-up:before {\n content: "";\n}\n\n.fth-thumbs-down:before {\n content: "";\n}\n\n.fth-toggle-left:before {\n content: "";\n}\n\n.fth-toggle-right:before {\n content: "";\n}\n\n.fth-trash-2:before {\n content: "";\n}\n\n.fth-trash:before {\n content: "";\n}\n\n.fth-trending-up:before {\n content: "";\n}\n\n.fth-trending-down:before {\n content: "";\n}\n\n.fth-triangle:before {\n content: "";\n}\n\n.fth-type:before {\n content: "";\n}\n\n.fth-twitter:before {\n content: "";\n}\n\n.fth-upload:before {\n content: "";\n}\n\n.fth-umbrella:before {\n content: "";\n}\n\n.fth-upload-cloud:before {\n content: "";\n}\n\n.fth-unlock:before {\n content: "";\n}\n\n.fth-user-check:before {\n content: "";\n}\n\n.fth-user-minus:before {\n content: "";\n}\n\n.fth-user-plus:before {\n content: "";\n}\n\n.fth-user-x:before {\n content: "";\n}\n\n.fth-user:before {\n content: "";\n}\n\n.fth-users:before {\n content: "";\n}\n\n.fth-video-off:before {\n content: "";\n}\n\n.fth-video:before {\n content: "";\n}\n\n.fth-voicemail:before {\n content: "";\n}\n\n.fth-volume-x:before {\n content: "";\n}\n\n.fth-volume-2:before {\n content: "";\n}\n\n.fth-volume-1:before {\n content: "";\n}\n\n.fth-volume:before {\n content: "";\n}\n\n.fth-watch:before {\n content: "";\n}\n\n.fth-wifi:before {\n content: "";\n}\n\n.fth-x-square:before {\n content: "";\n}\n\n.fth-wind:before {\n content: "";\n}\n\n.fth-x:before {\n content: "";\n}\n\n.fth-x-circle:before {\n content: "";\n}\n\n.fth-zap:before {\n content: "";\n}\n\n.fth-zoom-in:before {\n content: "";\n}\n\n.fth-zoom-out:before {\n content: "";\n}\n\n.fth-command:before {\n content: "";\n}\n\n.fth-cloud:before {\n content: "";\n}\n\n.fth-hash:before {\n content: "";\n}\n\n.fth-headphones:before {\n content: "";\n}\n\n.fth-underline:before {\n content: "";\n}\n\n.fth-italic:before {\n content: "";\n}\n\n.fth-bold:before {\n content: "";\n}\n\n.fth-crop:before {\n content: "";\n}\n\n.fth-help-circle:before {\n content: "";\n}\n\n.fth-paperclip:before {\n content: "";\n}\n\n.fth-shopping-cart:before {\n content: "";\n}\n\n.fth-tv:before {\n content: "";\n}\n\n.fth-wifi-off:before {\n content: "";\n}\n\n.fth-minimize:before {\n content: "";\n}\n\n.fth-maximize:before {\n content: "";\n}\n\n.fth-gitlab:before {\n content: "";\n}\n\n.fth-sliders:before {\n content: "";\n}\n\n.fth-star-on:before {\n content: "";\n}\n\n.fth-heart-on:before {\n content: "";\n}\n\n.fth-archive:before {\n content: "";\n}\n\n.fth-arrow-down-circle:before {\n content: "";\n}\n\n.fth-arrow-up-circle:before {\n content: "";\n}\n\n.fth-arrow-left-circle:before {\n content: "";\n}\n\n.fth-arrow-right-circle:before {\n content: "";\n}\n\n.fth-bar-chart-line-:before {\n content: "";\n}\n\n.fth-bar-chart-line:before {\n content: "";\n}\n\n.fth-book-open:before {\n content: "";\n}\n\n.fth-code:before {\n content: "";\n}\n\n.fth-database:before {\n content: "";\n}\n\n.fth-dollar-sign:before {\n content: "";\n}\n\n.fth-folder-plus:before {\n content: "";\n}\n\n.fth-gift:before {\n content: "";\n}\n\n.fth-folder-minus:before {\n content: "";\n}\n\n.fth-git-commit:before {\n content: "";\n}\n\n.fth-git-branch:before {\n content: "";\n}\n\n.fth-git-pull-request:before {\n content: "";\n}\n\n.fth-git-merge:before {\n content: "";\n}\n\n.fth-linkedin:before {\n content: "";\n}\n\n.fth-hard-drive:before {\n content: "";\n}\n\n.fth-more-vertical:before {\n content: "";\n}\n\n.fth-more-horizontal:before {\n content: "";\n}\n\n.fth-rss:before {\n content: "";\n}\n\n.fth-send:before {\n content: "";\n}\n\n.fth-shield-off:before {\n content: "";\n}\n\n.fth-shopping-bag:before {\n content: "";\n}\n\n.fth-terminal:before {\n content: "";\n}\n\n.fth-truck:before {\n content: "";\n}\n\n.fth-zap-off:before {\n content: "";\n}\n\n.fth-youtube:before {\n content: "";\n}\n\n.fth-google:before {\n content: "";\n}\n\n.arrow-down, .arrow-up {\n width: 0;\n height: 0;\n font-size: 0;\n line-height: 0;\n border: 4px solid transparent;\n border-top-color: var(--color-primary);\n position: relative;\n top: 2px;\n}\n\n.arrow-up {\n border-top-color: transparent;\n border-bottom-color: var(--color-primary);\n position: relative;\n top: -2px;\n}\n\n.colorized-icons .fth-facebook {\n color: #486eb7 !important;\n}\n\n.colorized-icons .fth-instagram {\n color: #bb4079 !important;\n background: linear-gradient(45deg, #405de6, #5851db, #833ab4, #c13584, #e1306c, #fd1d1d) !important;\n background-clip: text !important;\n -webkit-background-clip: text !important;\n text-fill-color: transparent !important;\n -webkit-text-fill-color: transparent !important;\n}\n\n.colorized-icons .fth-google {\n color: #f04c43 !important;\n}\n\nspan.flag, i.flag {\n width: 22px;\n height: 15px;\n display: inline-block;\n}\n\nimg.flag {\n width: 30px;\n}\n\n.flag {\n background: url(/Assets/flags.png) no-repeat;\n background-size: 100%;\n}\n\n.flag-ad {\n background-position: 0 0.413223%;\n}\n\n.flag-ae {\n background-position: 0 0.826446%;\n}\n\n.flag-af {\n background-position: 0 1.239669%;\n}\n\n.flag-ag {\n background-position: 0 1.652893%;\n}\n\n.flag-ai {\n background-position: 0 2.066116%;\n}\n\n.flag-al {\n background-position: 0 2.479339%;\n}\n\n.flag-am {\n background-position: 0 2.892562%;\n}\n\n.flag-an {\n background-position: 0 3.305785%;\n}\n\n.flag-ao {\n background-position: 0 3.719008%;\n}\n\n.flag-aq {\n background-position: 0 4.132231%;\n}\n\n.flag-ar {\n background-position: 0 4.545455%;\n}\n\n.flag-as {\n background-position: 0 4.958678%;\n}\n\n.flag-at {\n background-position: 0 5.371901%;\n}\n\n.flag-au {\n background-position: 0 5.785124%;\n}\n\n.flag-aw {\n background-position: 0 6.198347%;\n}\n\n.flag-az {\n background-position: 0 6.61157%;\n}\n\n.flag-ba {\n background-position: 0 7.024793%;\n}\n\n.flag-bb {\n background-position: 0 7.438017%;\n}\n\n.flag-bd {\n background-position: 0 7.85124%;\n}\n\n.flag-be {\n background-position: 0 8.264463%;\n}\n\n.flag-bf {\n background-position: 0 8.677686%;\n}\n\n.flag-bg {\n background-position: 0 9.090909%;\n}\n\n.flag-bh {\n background-position: 0 9.504132%;\n}\n\n.flag-bi {\n background-position: 0 9.917355%;\n}\n\n.flag-bj {\n background-position: 0 10.330579%;\n}\n\n.flag-bm {\n background-position: 0 10.743802%;\n}\n\n.flag-bn {\n background-position: 0 11.157025%;\n}\n\n.flag-bo {\n background-position: 0 11.570248%;\n}\n\n.flag-br {\n background-position: 0 11.983471%;\n}\n\n.flag-bs {\n background-position: 0 12.396694%;\n}\n\n.flag-bt {\n background-position: 0 12.809917%;\n}\n\n.flag-bv {\n background-position: 0 13.22314%;\n}\n\n.flag-bw {\n background-position: 0 13.636364%;\n}\n\n.flag-by {\n background-position: 0 14.049587%;\n}\n\n.flag-bz {\n background-position: 0 14.46281%;\n}\n\n.flag-ca {\n background-position: 0 14.876033%;\n}\n\n.flag-cc {\n background-position: 0 15.289256%;\n}\n\n.flag-cd {\n background-position: 0 15.702479%;\n}\n\n.flag-cf {\n background-position: 0 16.115702%;\n}\n\n.flag-cg {\n background-position: 0 16.528926%;\n}\n\n.flag-ch {\n background-position: 0 16.942149%;\n}\n\n.flag-ci {\n background-position: 0 17.355372%;\n}\n\n.flag-ck {\n background-position: 0 17.768595%;\n}\n\n.flag-cl {\n background-position: 0 18.181818%;\n}\n\n.flag-cm {\n background-position: 0 18.595041%;\n}\n\n.flag-cn {\n background-position: 0 19.008264%;\n}\n\n.flag-co {\n background-position: 0 19.421488%;\n}\n\n.flag-cr {\n background-position: 0 19.834711%;\n}\n\n.flag-cu {\n background-position: 0 20.247934%;\n}\n\n.flag-cv {\n background-position: 0 20.661157%;\n}\n\n.flag-cx {\n background-position: 0 21.07438%;\n}\n\n.flag-cy {\n background-position: 0 21.487603%;\n}\n\n.flag-cz {\n background-position: 0 21.900826%;\n}\n\n.flag-de {\n background-position: 0 22.31405%;\n}\n\n.flag-dj {\n background-position: 0 22.727273%;\n}\n\n.flag-dk {\n background-position: 0 23.140496%;\n}\n\n.flag-dm {\n background-position: 0 23.553719%;\n}\n\n.flag-do {\n background-position: 0 23.966942%;\n}\n\n.flag-dz {\n background-position: 0 24.380165%;\n}\n\n.flag-ec {\n background-position: 0 24.793388%;\n}\n\n.flag-ee {\n background-position: 0 25.206612%;\n}\n\n.flag-eg {\n background-position: 0 25.619835%;\n}\n\n.flag-eh {\n background-position: 0 26.033058%;\n}\n\n.flag-er {\n background-position: 0 26.446281%;\n}\n\n.flag-es {\n background-position: 0 26.859504%;\n}\n\n.flag-et {\n background-position: 0 27.272727%;\n}\n\n.flag-fi {\n background-position: 0 27.68595%;\n}\n\n.flag-fj {\n background-position: 0 28.099174%;\n}\n\n.flag-fk {\n background-position: 0 28.512397%;\n}\n\n.flag-fm {\n background-position: 0 28.92562%;\n}\n\n.flag-fo {\n background-position: 0 29.338843%;\n}\n\n.flag-fr {\n background-position: 0 29.752066%;\n}\n\n.flag-ga {\n background-position: 0 30.165289%;\n}\n\n.flag-gd {\n background-position: 0 30.578512%;\n}\n\n.flag-ge {\n background-position: 0 30.991736%;\n}\n\n.flag-gf {\n background-position: 0 31.404959%;\n}\n\n.flag-gh {\n background-position: 0 31.818182%;\n}\n\n.flag-gi {\n background-position: 0 32.231405%;\n}\n\n.flag-gl {\n background-position: 0 32.644628%;\n}\n\n.flag-gm {\n background-position: 0 33.057851%;\n}\n\n.flag-gn {\n background-position: 0 33.471074%;\n}\n\n.flag-gp {\n background-position: 0 33.884298%;\n}\n\n.flag-gq {\n background-position: 0 34.297521%;\n}\n\n.flag-gr {\n background-position: 0 34.710744%;\n}\n\n.flag-gs {\n background-position: 0 35.123967%;\n}\n\n.flag-gt {\n background-position: 0 35.53719%;\n}\n\n.flag-gu {\n background-position: 0 35.950413%;\n}\n\n.flag-gw {\n background-position: 0 36.363636%;\n}\n\n.flag-gy {\n background-position: 0 36.77686%;\n}\n\n.flag-hk {\n background-position: 0 37.190083%;\n}\n\n.flag-hm {\n background-position: 0 37.603306%;\n}\n\n.flag-hn {\n background-position: 0 38.016529%;\n}\n\n.flag-hr {\n background-position: 0 38.429752%;\n}\n\n.flag-ht {\n background-position: 0 38.842975%;\n}\n\n.flag-hu {\n background-position: 0 39.256198%;\n}\n\n.flag-id {\n background-position: 0 39.669421%;\n}\n\n.flag-ie {\n background-position: 0 40.082645%;\n}\n\n.flag-il {\n background-position: 0 40.495868%;\n}\n\n.flag-in {\n background-position: 0 40.909091%;\n}\n\n.flag-io {\n background-position: 0 41.322314%;\n}\n\n.flag-iq {\n background-position: 0 41.735537%;\n}\n\n.flag-ir {\n background-position: 0 42.14876%;\n}\n\n.flag-is {\n background-position: 0 42.561983%;\n}\n\n.flag-it {\n background-position: 0 42.975207%;\n}\n\n.flag-jm {\n background-position: 0 43.38843%;\n}\n\n.flag-jo {\n background-position: 0 43.801653%;\n}\n\n.flag-jp {\n background-position: 0 44.214876%;\n}\n\n.flag-ke {\n background-position: 0 44.628099%;\n}\n\n.flag-kg {\n background-position: 0 45.041322%;\n}\n\n.flag-kh {\n background-position: 0 45.454545%;\n}\n\n.flag-ki {\n background-position: 0 45.867769%;\n}\n\n.flag-km {\n background-position: 0 46.280992%;\n}\n\n.flag-kn {\n background-position: 0 46.694215%;\n}\n\n.flag-kp {\n background-position: 0 47.107438%;\n}\n\n.flag-kr {\n background-position: 0 47.520661%;\n}\n\n.flag-kw {\n background-position: 0 47.933884%;\n}\n\n.flag-ky {\n background-position: 0 48.347107%;\n}\n\n.flag-kz {\n background-position: 0 48.760331%;\n}\n\n.flag-la {\n background-position: 0 49.173554%;\n}\n\n.flag-lb {\n background-position: 0 49.586777%;\n}\n\n.flag-lc {\n background-position: 0 50%;\n}\n\n.flag-li {\n background-position: 0 50.413223%;\n}\n\n.flag-lk {\n background-position: 0 50.826446%;\n}\n\n.flag-lr {\n background-position: 0 51.239669%;\n}\n\n.flag-ls {\n background-position: 0 51.652893%;\n}\n\n.flag-lt {\n background-position: 0 52.066116%;\n}\n\n.flag-lu {\n background-position: 0 52.479339%;\n}\n\n.flag-lv {\n background-position: 0 52.892562%;\n}\n\n.flag-ly {\n background-position: 0 53.305785%;\n}\n\n.flag-ma {\n background-position: 0 53.719008%;\n}\n\n.flag-mc {\n background-position: 0 54.132231%;\n}\n\n.flag-md {\n background-position: 0 54.545455%;\n}\n\n.flag-me {\n background-position: 0 54.958678%;\n}\n\n.flag-mg {\n background-position: 0 55.371901%;\n}\n\n.flag-mh {\n background-position: 0 55.785124%;\n}\n\n.flag-mk {\n background-position: 0 56.198347%;\n}\n\n.flag-ml {\n background-position: 0 56.61157%;\n}\n\n.flag-mm {\n background-position: 0 57.024793%;\n}\n\n.flag-mn {\n background-position: 0 57.438017%;\n}\n\n.flag-mo {\n background-position: 0 57.85124%;\n}\n\n.flag-mp {\n background-position: 0 58.264463%;\n}\n\n.flag-mq {\n background-position: 0 58.677686%;\n}\n\n.flag-mr {\n background-position: 0 59.090909%;\n}\n\n.flag-ms {\n background-position: 0 59.504132%;\n}\n\n.flag-mt {\n background-position: 0 59.917355%;\n}\n\n.flag-mu {\n background-position: 0 60.330579%;\n}\n\n.flag-mv {\n background-position: 0 60.743802%;\n}\n\n.flag-mw {\n background-position: 0 61.157025%;\n}\n\n.flag-mx {\n background-position: 0 61.570248%;\n}\n\n.flag-my {\n background-position: 0 61.983471%;\n}\n\n.flag-mz {\n background-position: 0 62.396694%;\n}\n\n.flag-na {\n background-position: 0 62.809917%;\n}\n\n.flag-nc {\n background-position: 0 63.22314%;\n}\n\n.flag-ne {\n background-position: 0 63.636364%;\n}\n\n.flag-nf {\n background-position: 0 64.049587%;\n}\n\n.flag-ng {\n background-position: 0 64.46281%;\n}\n\n.flag-ni {\n background-position: 0 64.876033%;\n}\n\n.flag-nl {\n background-position: 0 65.289256%;\n}\n\n.flag-no {\n background-position: 0 65.702479%;\n}\n\n.flag-np {\n background-position: 0 66.115702%;\n}\n\n.flag-nr {\n background-position: 0 66.528926%;\n}\n\n.flag-nu {\n background-position: 0 66.942149%;\n}\n\n.flag-nz {\n background-position: 0 67.355372%;\n}\n\n.flag-om {\n background-position: 0 67.768595%;\n}\n\n.flag-pa {\n background-position: 0 68.181818%;\n}\n\n.flag-pe {\n background-position: 0 68.595041%;\n}\n\n.flag-pf {\n background-position: 0 69.008264%;\n}\n\n.flag-pg {\n background-position: 0 69.421488%;\n}\n\n.flag-ph {\n background-position: 0 69.834711%;\n}\n\n.flag-pk {\n background-position: 0 70.247934%;\n}\n\n.flag-pl {\n background-position: 0 70.661157%;\n}\n\n.flag-pm {\n background-position: 0 71.07438%;\n}\n\n.flag-pn {\n background-position: 0 71.487603%;\n}\n\n.flag-pr {\n background-position: 0 71.900826%;\n}\n\n.flag-pt {\n background-position: 0 72.31405%;\n}\n\n.flag-pw {\n background-position: 0 72.727273%;\n}\n\n.flag-py {\n background-position: 0 73.140496%;\n}\n\n.flag-qa {\n background-position: 0 73.553719%;\n}\n\n.flag-re {\n background-position: 0 73.966942%;\n}\n\n.flag-ro {\n background-position: 0 74.380165%;\n}\n\n.flag-rs {\n background-position: 0 74.793388%;\n}\n\n.flag-ru {\n background-position: 0 75.206612%;\n}\n\n.flag-rw {\n background-position: 0 75.619835%;\n}\n\n.flag-sa {\n background-position: 0 76.033058%;\n}\n\n.flag-sb {\n background-position: 0 76.446281%;\n}\n\n.flag-sc {\n background-position: 0 76.859504%;\n}\n\n.flag-sd {\n background-position: 0 77.272727%;\n}\n\n.flag-se {\n background-position: 0 77.68595%;\n}\n\n.flag-sg {\n background-position: 0 78.099174%;\n}\n\n.flag-sh {\n background-position: 0 78.512397%;\n}\n\n.flag-si {\n background-position: 0 78.92562%;\n}\n\n.flag-sj {\n background-position: 0 79.338843%;\n}\n\n.flag-sk {\n background-position: 0 79.752066%;\n}\n\n.flag-sl {\n background-position: 0 80.165289%;\n}\n\n.flag-sm {\n background-position: 0 80.578512%;\n}\n\n.flag-sn {\n background-position: 0 80.991736%;\n}\n\n.flag-so {\n background-position: 0 81.404959%;\n}\n\n.flag-sr {\n background-position: 0 81.818182%;\n}\n\n.flag-ss {\n background-position: 0 82.231405%;\n}\n\n.flag-st {\n background-position: 0 82.644628%;\n}\n\n.flag-sv {\n background-position: 0 83.057851%;\n}\n\n.flag-sy {\n background-position: 0 83.471074%;\n}\n\n.flag-sz {\n background-position: 0 83.884298%;\n}\n\n.flag-tc {\n background-position: 0 84.297521%;\n}\n\n.flag-td {\n background-position: 0 84.710744%;\n}\n\n.flag-tf {\n background-position: 0 85.123967%;\n}\n\n.flag-tg {\n background-position: 0 85.53719%;\n}\n\n.flag-th {\n background-position: 0 85.950413%;\n}\n\n.flag-tj {\n background-position: 0 86.363636%;\n}\n\n.flag-tk {\n background-position: 0 86.77686%;\n}\n\n.flag-tl {\n background-position: 0 87.190083%;\n}\n\n.flag-tm {\n background-position: 0 87.603306%;\n}\n\n.flag-tn {\n background-position: 0 88.016529%;\n}\n\n.flag-to {\n background-position: 0 88.429752%;\n}\n\n.flag-tp {\n background-position: 0 88.842975%;\n}\n\n.flag-tr {\n background-position: 0 89.256198%;\n}\n\n.flag-tt {\n background-position: 0 89.669421%;\n}\n\n.flag-tv {\n background-position: 0 90.082645%;\n}\n\n.flag-tw {\n background-position: 0 90.495868%;\n}\n\n.flag-ty {\n background-position: 0 90.909091%;\n}\n\n.flag-tz {\n background-position: 0 91.322314%;\n}\n\n.flag-ua {\n background-position: 0 91.735537%;\n}\n\n.flag-ug {\n background-position: 0 92.14876%;\n}\n\n.flag-gb, .flag-uk {\n background-position: 0 92.561983%;\n}\n\n.flag-um {\n background-position: 0 92.975207%;\n}\n\n.flag-us {\n background-position: 0 93.38843%;\n}\n\n.flag-uy {\n background-position: 0 93.801653%;\n}\n\n.flag-uz {\n background-position: 0 94.214876%;\n}\n\n.flag-va {\n background-position: 0 94.628099%;\n}\n\n.flag-vc {\n background-position: 0 95.041322%;\n}\n\n.flag-ve {\n background-position: 0 95.454545%;\n}\n\n.flag-vg {\n background-position: 0 95.867769%;\n}\n\n.flag-vi {\n background-position: 0 96.280992%;\n}\n\n.flag-vn {\n background-position: 0 96.694215%;\n}\n\n.flag-vu {\n background-position: 0 97.107438%;\n}\n\n.flag-wf {\n background-position: 0 97.520661%;\n}\n\n.flag-ws {\n background-position: 0 97.933884%;\n}\n\n.flag-ye {\n background-position: 0 98.347107%;\n}\n\n.flag-za {\n background-position: 0 98.760331%;\n}\n\n.flag-zm {\n background-position: 0 99.173554%;\n}\n\n.flag-zr {\n background-position: 0 99.586777%;\n}\n\n.flag-zw {\n background-position: 0 100%;\n}\n\n::placeholder {\n color: var(--color-input-placeholder);\n}\n\ninput[type=text], input[type=color], input[type=date], input[type=datetime], input[type=email], input[type=file], input[type=month], input[type=number],\ninput[type=password], input[type=range], input[type=search], input[type=tel], input[type=time], input[type=url], input[type=week],\ntextarea, .ui-native-select, .ui-rte-input {\n background: var(--color-input);\n border: 1px solid transparent;\n font-size: var(--font-size);\n display: inline-block;\n height: 48px;\n padding: 6px 12px;\n line-height: 1.5;\n color: var(--color-text);\n border-radius: var(--radius);\n vertical-align: middle;\n box-sizing: border-box;\n width: 100%;\n}\ninput[type=text]:not(:disabled):not([readonly]):focus, input[type=color]:not(:disabled):not([readonly]):focus, input[type=date]:not(:disabled):not([readonly]):focus, input[type=datetime]:not(:disabled):not([readonly]):focus, input[type=email]:not(:disabled):not([readonly]):focus, input[type=file]:not(:disabled):not([readonly]):focus, input[type=month]:not(:disabled):not([readonly]):focus, input[type=number]:not(:disabled):not([readonly]):focus,\ninput[type=password]:not(:disabled):not([readonly]):focus, input[type=range]:not(:disabled):not([readonly]):focus, input[type=search]:not(:disabled):not([readonly]):focus, input[type=tel]:not(:disabled):not([readonly]):focus, input[type=time]:not(:disabled):not([readonly]):focus, input[type=url]:not(:disabled):not([readonly]):focus, input[type=week]:not(:disabled):not([readonly]):focus,\ntextarea:not(:disabled):not([readonly]):focus, .ui-native-select:not(:disabled):not([readonly]):focus, .ui-rte-input:not(:disabled):not([readonly]):focus {\n background-color: var(--color-input-focus-bg);\n border: var(--color-input-focus-border);\n box-shadow: var(--color-input-focus-shadow);\n outline: none;\n}\n\nselect:focus {\n /*background-color: #fff;\n border: 1px solid var(--color-line-onbg);\n box-shadow: 0 0 0 4px var(--color-input);*/\n outline: none;\n}\n\ntextarea {\n resize: vertical;\n min-height: 80px;\n}\n\n.ui-native-select {\n position: relative;\n font-size: var(--font-size);\n}\n.ui-native-select select {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n width: 100%;\n padding-left: 9px;\n -webkit-appearance: none;\n border: none;\n font-size: var(--font-size);\n background: none;\n border: 1px solid transparent;\n color: var(--color-text);\n border-radius: var(--radius);\n}\n.ui-native-select select:focus {\n background-color: var(--color-input-focus-bg);\n border: var(--color-input-focus-border);\n box-shadow: var(--color-input-focus-shadow);\n outline: none;\n}\n.ui-native-select:after {\n content: "";\n position: absolute;\n right: 12px;\n top: 0;\n height: 48px;\n line-height: 40px;\n}\n.ui-native-select[disabled], .ui-native-select[readonly] {\n min-height: 23px;\n}\n.ui-native-select[disabled]:after, .ui-native-select[readonly]:after {\n display: none;\n}\n.ui-native-select[disabled] select, .ui-native-select[readonly] select {\n text-indent: -2px;\n padding-left: 0;\n}\n\n.ui-native-check {\n position: relative;\n top: 1px;\n font-size: var(--font-size);\n cursor: pointer;\n display: flex;\n align-items: center;\n line-height: 1;\n}\n.ui-native-check input {\n width: 0;\n height: 0;\n opacity: 0;\n position: absolute;\n left: 0;\n overflow: hidden;\n visibility: hidden;\n -webkit-appearance: none;\n border: none;\n}\n.is-disabled .ui-native-check {\n cursor: default;\n}\n\n.ui-native-check-toggle {\n display: inline-block;\n width: 22px;\n height: 22px;\n line-height: 21px;\n text-align: center;\n border-radius: var(--radius);\n border: 1px solid transparent;\n background: var(--color-check);\n margin-right: 10px;\n position: relative;\n top: 0;\n}\n.ui-native-check-toggle:before {\n content: "";\n color: transparent;\n font-size: var(--font-size-s);\n}\ninput:focus ~ .ui-native-check-toggle {\n background: var(--color-input-focus-bg) !important;\n border: var(--color-input-focus-border);\n box-shadow: var(--color-input-focus-shadow);\n outline: none;\n}\ninput:checked ~ .ui-native-check-toggle {\n background: var(--color-checked);\n}\ninput:checked ~ .ui-native-check-toggle:before {\n color: var(--color-checked-fg);\n}\n\n.ui-property {\n position: relative;\n display: flex;\n margin: 0 -32px 0;\n padding: 0 32px 0;\n}\n.ui-property.is-disabled .ui-property-content {\n pointer-events: none;\n}\n\n.ui-property + .ui-split,\n.ui-split + .ui-property,\n.ui-property + .ui-property {\n margin-top: 50px;\n}\n\n.ui-property.is-vertical {\n flex-direction: column;\n border-top: none;\n}\n.ui-property.is-vertical .ui-property-label {\n width: 100%;\n padding-right: 0;\n}\n.ui-property.is-vertical .ui-property-content {\n margin-top: 5px;\n}\n\n.ui-property.is-text .ui-property-content {\n margin-top: 2px;\n}\n\n.ui-property.full-width > .ui-property-content,\n.ui-property.hide-label > .ui-property-content,\n.ui-property.is-static > .ui-property-content {\n max-width: 100%;\n}\n\n.ui-property.hide-label > .ui-property-label,\n.ui-property.is-static > .ui-property-label {\n display: none;\n}\n\n.ui-property.is-static,\n.ui-property.is-static + .ui-property {\n margin-top: 0 !important;\n}\n\n.ui-property-label {\n display: block;\n color: var(--color-text);\n width: 260px;\n padding-right: 60px;\n font-size: var(--font-size);\n line-height: 1.5;\n font-weight: 700;\n /*.ui-property:focus-within &\n {\n color: var(--color-accent-info);\n }*/\n}\n\n.ui-property-label small {\n display: block;\n padding-top: 5px;\n font-size: var(--font-size-xs);\n font-weight: 400;\n line-height: 1.4;\n text-decoration: none;\n color: var(--color-text-dim);\n letter-spacing: 0.3px;\n}\n.ui-property-label small:empty {\n display: none;\n}\n\n.ui-property-required {\n color: var(--color-text-dim);\n margin-left: 0.2em;\n font-weight: 400;\n}\n\n.ui-property-content {\n flex: 1;\n max-width: 932px;\n font-size: var(--font-size);\n}\n\n.ui-property-help {\n max-width: 932px;\n font-size: var(--font-size-xs);\n color: var(--color-text-dim);\n margin: 15px 0 0;\n letter-spacing: 0.3px;\n}\n.ui-property-help:before {\n content: "";\n color: var(--color-primary);\n font-size: var(--font-size-l);\n float: left;\n position: relative;\n top: -1px;\n margin-right: 6px;\n}\n\n.ui-properties-floating .ui-property {\n display: inline-flex;\n min-height: 52px;\n}\n.ui-properties-floating .ui-property + .ui-property {\n padding-top: 0;\n margin-top: 0;\n border-left: 1px solid var(--color-line);\n padding-left: 50px;\n margin-left: 50px;\n}\n\n/*# sourceMappingURL=property.vue.map */','\ufeff<template>\r\n <div class="ui-property" :class="{\'is-vertical\': vertical, \'is-text\': isText, \'hide-label\': hideLabel, \'is-disabled\': disabled }">\r\n <label v-if="label && !hideLabel" class="ui-property-label" :for="field">\r\n <span v-localize="label"></span>\r\n <strong class="ui-property-required" v-if="required">*</strong>\r\n <slot name="label-after"></slot>\r\n <small v-if="description" v-localize="description"></small>\r\n </label>\r\n\r\n <div class="ui-property-content">\r\n <slot></slot>\r\n <ui-error v-if="field" :field="field" />\r\n </div>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n export default {\r\n name: \'uiProperty\',\r\n\r\n props: {\r\n field: String,\r\n label: String,\r\n hideLabel: Boolean,\r\n description: String,\r\n required: Boolean,\r\n vertical: Boolean,\r\n isText: Boolean,\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n @import \'Sass/Core/all\';\r\n\r\n .ui-property\r\n {\r\n position: relative;\r\n display: flex; \r\n margin: 0 -32px 0;\r\n padding: 0 32px 0;\r\n\r\n &.is-disabled .ui-property-content\r\n {\r\n pointer-events: none;\r\n }\r\n }\r\n\r\n .ui-property + .ui-split,\r\n .ui-split + .ui-property,\r\n .ui-property + .ui-property\r\n {\r\n margin-top: 50px;\r\n //padding-top: 30px;\r\n //margin-top: 30px;\r\n //border-top: 1px solid var(--color-line);\r\n }\r\n\r\n .ui-property.is-vertical\r\n {\r\n flex-direction: column;\r\n border-top: none;\r\n\r\n .ui-property-label\r\n {\r\n width: 100%;\r\n padding-right: 0;\r\n }\r\n\r\n .ui-property-content\r\n {\r\n margin-top: 5px;\r\n }\r\n }\r\n\r\n .ui-property.is-text .ui-property-content\r\n {\r\n margin-top: 2px;\r\n }\r\n\r\n .ui-property.full-width > .ui-property-content,\r\n .ui-property.hide-label > .ui-property-content,\r\n .ui-property.is-static > .ui-property-content\r\n {\r\n max-width: 100%;\r\n }\r\n\r\n .ui-property.hide-label > .ui-property-label,\r\n .ui-property.is-static > .ui-property-label\r\n {\r\n display: none;\r\n }\r\n\r\n .ui-property.is-static,\r\n .ui-property.is-static + .ui-property\r\n {\r\n margin-top: 0 !important;\r\n }\r\n\r\n .ui-property-label\r\n {\r\n display: block;\r\n color: var(--color-text);\r\n width: 260px;\r\n padding-right: 60px;\r\n font-size: var(--font-size);\r\n line-height: 1.5;\r\n font-weight: 700;\r\n\r\n /*.ui-property:focus-within &\r\n {\r\n color: var(--color-accent-info);\r\n }*/\r\n }\r\n\r\n .ui-property-label small\r\n {\r\n display: block;\r\n padding-top: 5px;\r\n font-size: var(--font-size-xs);\r\n font-weight: 400;\r\n line-height: 1.4;\r\n text-decoration: none;\r\n color: var(--color-text-dim);\r\n letter-spacing: 0.3px;\r\n\r\n &:empty\r\n {\r\n display: none;\r\n }\r\n }\r\n\r\n .ui-property-required\r\n {\r\n color: var(--color-text-dim);\r\n margin-left: 0.2em;\r\n font-weight: 400;\r\n }\r\n\r\n .ui-property-content\r\n {\r\n flex: 1;\r\n max-width: 932px;\r\n font-size: var(--font-size);\r\n }\r\n\r\n .ui-property-help\r\n {\r\n max-width: 932px;\r\n font-size: var(--font-size-xs);\r\n color: var(--color-text-dim);\r\n margin: 15px 0 0;\r\n letter-spacing: 0.3px;\r\n\r\n &:before\r\n {\r\n content: "\\e87f";\r\n @extend %font-icon;\r\n color: var(--color-primary);\r\n font-size: var(--font-size-l);\r\n float: left;\r\n position: relative;\r\n top: -1px;\r\n margin-right: 6px;\r\n }\r\n }\r\n\r\n .ui-properties-floating\r\n {\r\n .ui-property\r\n {\r\n display: inline-flex;\r\n min-height: 52px;\r\n }\r\n\r\n .ui-property + .ui-property\r\n {\r\n padding-top: 0;\r\n margin-top: 0;\r\n border-left: 1px solid var(--color-line);\r\n padding-left: 50px;\r\n margin-left: 50px;\r\n }\r\n }\r\n</style>']},media:void 0})}),qg,undefined,false,undefined,!1,Iu,void 0,void 0);function Vg(e){this.content=e}Vg.prototype={constructor:Vg,find:function(e){for(var n=0;n<this.content.length;n+=2)if(this.content[n]===e)return n;return-1},get:function(e){var n=this.find(e);return-1==n?void 0:this.content[n+1]},update:function(e,n,t){var r=t&&t!=e?this.remove(t):this,i=r.find(e),o=r.content.slice();return-1==i?o.push(t||e,n):(o[i+1]=n,t&&(o[i]=t)),new Vg(o)},remove:function(e){var n=this.find(e);if(-1==n)return this;var t=this.content.slice();return t.splice(n,2),new Vg(t)},addToStart:function(e,n){return new Vg([e,n].concat(this.remove(e).content))},addToEnd:function(e,n){var t=this.remove(e).content.slice();return t.push(e,n),new Vg(t)},addBefore:function(e,n,t){var r=this.remove(n),i=r.content.slice(),o=r.find(e);return i.splice(-1==o?i.length:o,0,n,t),new Vg(i)},forEach:function(e){for(var n=0;n<this.content.length;n+=2)e(this.content[n],this.content[n+1])},prepend:function(e){return(e=Vg.from(e)).size?new Vg(e.content.concat(this.subtract(e).content)):this},append:function(e){return(e=Vg.from(e)).size?new Vg(this.subtract(e).content.concat(e.content)):this},subtract:function(e){var n=this;e=Vg.from(e);for(var t=0;t<e.content.length;t+=2)n=n.remove(e.content[t]);return n},get size(){return this.content.length>>1}},Vg.from=function(e){if(e instanceof Vg)return e;var n=[];if(e)for(var t in e)n.push(t,e[t]);return new Vg(n)};var Jg=Vg;function Kg(e,n,t){for(var r=0;;r++){if(r==e.childCount||r==n.childCount)return e.childCount==n.childCount?null:t;var i=e.child(r),o=n.child(r);if(i!=o){if(!i.sameMarkup(o))return t;if(i.isText&&i.text!=o.text){for(var a=0;i.text[a]==o.text[a];a++)t++;return t}if(i.content.size||o.content.size){var s=Kg(i.content,o.content,t+1);if(null!=s)return s}t+=i.nodeSize}else t+=i.nodeSize}}function Gg(e,n,t,r){for(var i=e.childCount,o=n.childCount;;){if(0==i||0==o)return i==o?null:{a:t,b:r};var a=e.child(--i),s=n.child(--o),l=a.nodeSize;if(a!=s){if(!a.sameMarkup(s))return{a:t,b:r};if(a.isText&&a.text!=s.text){for(var c=0,d=Math.min(a.text.length,s.text.length);c<d&&a.text[a.text.length-c-1]==s.text[s.text.length-c-1];)c++,t--,r--;return{a:t,b:r}}if(a.content.size||s.content.size){var u=Gg(a.content,s.content,t-1,r-1);if(u)return u}t-=l,r-=l}else t-=l,r-=l}}var Xg=function(e,n){if(this.content=e,this.size=n||0,null==n)for(var t=0;t<e.length;t++)this.size+=e[t].nodeSize},Qg={firstChild:{configurable:!0},lastChild:{configurable:!0},childCount:{configurable:!0}};Xg.prototype.nodesBetween=function(e,n,t,r,i){void 0===r&&(r=0);for(var o=0,a=0;a<n;o++){var s=this.content[o],l=a+s.nodeSize;if(l>e&&!1!==t(s,r+a,i,o)&&s.content.size){var c=a+1;s.nodesBetween(Math.max(0,e-c),Math.min(s.content.size,n-c),t,r+c)}a=l}},Xg.prototype.descendants=function(e){this.nodesBetween(0,this.size,e)},Xg.prototype.textBetween=function(e,n,t,r){var i="",o=!0;return this.nodesBetween(e,n,(function(a,s){a.isText?(i+=a.text.slice(Math.max(e,s)-s,n-s),o=!t):a.isLeaf&&r?(i+=r,o=!t):!o&&a.isBlock&&(i+=t,o=!0)}),0),i},Xg.prototype.append=function(e){if(!e.size)return this;if(!this.size)return e;var n=this.lastChild,t=e.firstChild,r=this.content.slice(),i=0;for(n.isText&&n.sameMarkup(t)&&(r[r.length-1]=n.withText(n.text+t.text),i=1);i<e.content.length;i++)r.push(e.content[i]);return new Xg(r,this.size+e.size)},Xg.prototype.cut=function(e,n){if(null==n&&(n=this.size),0==e&&n==this.size)return this;var t=[],r=0;if(n>e)for(var i=0,o=0;o<n;i++){var a=this.content[i],s=o+a.nodeSize;s>e&&((o<e||s>n)&&(a=a.isText?a.cut(Math.max(0,e-o),Math.min(a.text.length,n-o)):a.cut(Math.max(0,e-o-1),Math.min(a.content.size,n-o-1))),t.push(a),r+=a.nodeSize),o=s}return new Xg(t,r)},Xg.prototype.cutByIndex=function(e,n){return e==n?Xg.empty:0==e&&n==this.content.length?this:new Xg(this.content.slice(e,n))},Xg.prototype.replaceChild=function(e,n){var t=this.content[e];if(t==n)return this;var r=this.content.slice(),i=this.size+n.nodeSize-t.nodeSize;return r[e]=n,new Xg(r,i)},Xg.prototype.addToStart=function(e){return new Xg([e].concat(this.content),this.size+e.nodeSize)},Xg.prototype.addToEnd=function(e){return new Xg(this.content.concat(e),this.size+e.nodeSize)},Xg.prototype.eq=function(e){if(this.content.length!=e.content.length)return!1;for(var n=0;n<this.content.length;n++)if(!this.content[n].eq(e.content[n]))return!1;return!0},Qg.firstChild.get=function(){return this.content.length?this.content[0]:null},Qg.lastChild.get=function(){return this.content.length?this.content[this.content.length-1]:null},Qg.childCount.get=function(){return this.content.length},Xg.prototype.child=function(e){var n=this.content[e];if(!n)throw new RangeError("Index "+e+" out of range for "+this);return n},Xg.prototype.maybeChild=function(e){return this.content[e]},Xg.prototype.forEach=function(e){for(var n=0,t=0;n<this.content.length;n++){var r=this.content[n];e(r,t,n),t+=r.nodeSize}},Xg.prototype.findDiffStart=function(e,n){return void 0===n&&(n=0),Kg(this,e,n)},Xg.prototype.findDiffEnd=function(e,n,t){return void 0===n&&(n=this.size),void 0===t&&(t=e.size),Gg(this,e,n,t)},Xg.prototype.findIndex=function(e,n){if(void 0===n&&(n=-1),0==e)return ev(0,e);if(e==this.size)return ev(this.content.length,e);if(e>this.size||e<0)throw new RangeError("Position "+e+" outside of fragment ("+this+")");for(var t=0,r=0;;t++){var i=r+this.child(t).nodeSize;if(i>=e)return i==e||n>0?ev(t+1,i):ev(t,r);r=i}},Xg.prototype.toString=function(){return"<"+this.toStringInner()+">"},Xg.prototype.toStringInner=function(){return this.content.join(", ")},Xg.prototype.toJSON=function(){return this.content.length?this.content.map((function(e){return e.toJSON()})):null},Xg.fromJSON=function(e,n){if(!n)return Xg.empty;if(!Array.isArray(n))throw new RangeError("Invalid input for Fragment.fromJSON");return new Xg(n.map(e.nodeFromJSON))},Xg.fromArray=function(e){if(!e.length)return Xg.empty;for(var n,t=0,r=0;r<e.length;r++){var i=e[r];t+=i.nodeSize,r&&i.isText&&e[r-1].sameMarkup(i)?(n||(n=e.slice(0,r)),n[n.length-1]=i.withText(n[n.length-1].text+i.text)):n&&n.push(i)}return new Xg(n||e,t)},Xg.from=function(e){if(!e)return Xg.empty;if(e instanceof Xg)return e;if(Array.isArray(e))return this.fromArray(e);if(e.attrs)return new Xg([e],e.nodeSize);throw new RangeError("Can not convert "+e+" to a Fragment"+(e.nodesBetween?" (looks like multiple versions of prosemirror-model were loaded)":""))},Object.defineProperties(Xg.prototype,Qg);var Zg={index:0,offset:0};function ev(e,n){return Zg.index=e,Zg.offset=n,Zg}function nv(e,n){if(e===n)return!0;if(!e||"object"!=typeof e||!n||"object"!=typeof n)return!1;var t=Array.isArray(e);if(Array.isArray(n)!=t)return!1;if(t){if(e.length!=n.length)return!1;for(var r=0;r<e.length;r++)if(!nv(e[r],n[r]))return!1}else{for(var i in e)if(!(i in n)||!nv(e[i],n[i]))return!1;for(var o in n)if(!(o in e))return!1}return!0}Xg.empty=new Xg([],0);var tv=function(e,n){this.type=e,this.attrs=n};function rv(e){var n=Error.call(this,e);return n.__proto__=rv.prototype,n}tv.prototype.addToSet=function(e){for(var n,t=!1,r=0;r<e.length;r++){var i=e[r];if(this.eq(i))return e;if(this.type.excludes(i.type))n||(n=e.slice(0,r));else{if(i.type.excludes(this.type))return e;!t&&i.type.rank>this.type.rank&&(n||(n=e.slice(0,r)),n.push(this),t=!0),n&&n.push(i)}}return n||(n=e.slice()),t||n.push(this),n},tv.prototype.removeFromSet=function(e){for(var n=0;n<e.length;n++)if(this.eq(e[n]))return e.slice(0,n).concat(e.slice(n+1));return e},tv.prototype.isInSet=function(e){for(var n=0;n<e.length;n++)if(this.eq(e[n]))return!0;return!1},tv.prototype.eq=function(e){return this==e||this.type==e.type&&nv(this.attrs,e.attrs)},tv.prototype.toJSON=function(){var e={type:this.type.name};for(var n in this.attrs){e.attrs=this.attrs;break}return e},tv.fromJSON=function(e,n){if(!n)throw new RangeError("Invalid input for Mark.fromJSON");var t=e.marks[n.type];if(!t)throw new RangeError("There is no mark type "+n.type+" in this schema");return t.create(n.attrs)},tv.sameSet=function(e,n){if(e==n)return!0;if(e.length!=n.length)return!1;for(var t=0;t<e.length;t++)if(!e[t].eq(n[t]))return!1;return!0},tv.setFrom=function(e){if(!e||0==e.length)return tv.none;if(e instanceof tv)return[e];var n=e.slice();return n.sort((function(e,n){return e.type.rank-n.type.rank})),n},tv.none=[],rv.prototype=Object.create(Error.prototype),rv.prototype.constructor=rv,rv.prototype.name="ReplaceError";var iv=function(e,n,t){this.content=e,this.openStart=n,this.openEnd=t},ov={size:{configurable:!0}};function av(e,n,t){var r=e.findIndex(n),i=r.index,o=r.offset,a=e.maybeChild(i),s=e.findIndex(t),l=s.index,c=s.offset;if(o==n||a.isText){if(c!=t&&!e.child(l).isText)throw new RangeError("Removing non-flat range");return e.cut(0,n).append(e.cut(t))}if(i!=l)throw new RangeError("Removing non-flat range");return e.replaceChild(i,a.copy(av(a.content,n-o-1,t-o-1)))}function sv(e,n,t,r){var i=e.findIndex(n),o=i.index,a=i.offset,s=e.maybeChild(o);if(a==n||s.isText)return r&&!r.canReplace(o,o,t)?null:e.cut(0,n).append(t).append(e.cut(n));var l=sv(s.content,n-a-1,t);return l&&e.replaceChild(o,s.copy(l))}function lv(e,n,t){if(t.openStart>e.depth)throw new rv("Inserted content deeper than insertion position");if(e.depth-t.openStart!=n.depth-t.openEnd)throw new rv("Inconsistent open depths");return cv(e,n,t,0)}function cv(e,n,t,r){var i=e.index(r),o=e.node(r);if(i==n.index(r)&&r<e.depth-t.openStart){var a=cv(e,n,t,r+1);return o.copy(o.content.replaceChild(i,a))}if(t.content.size){if(t.openStart||t.openEnd||e.depth!=r||n.depth!=r){var s=function(e,n){for(var t=n.depth-e.openStart,r=n.node(t).copy(e.content),i=t-1;i>=0;i--)r=n.node(i).copy(Xg.from(r));return{start:r.resolveNoCache(e.openStart+t),end:r.resolveNoCache(r.content.size-e.openEnd-t)}}(t,e);return Av(o,hv(e,s.start,s.end,n,r))}var l=e.parent,c=l.content;return Av(l,c.cut(0,e.parentOffset).append(t.content).append(c.cut(n.parentOffset)))}return Av(o,mv(e,n,r))}function dv(e,n){if(!n.type.compatibleContent(e.type))throw new rv("Cannot join "+n.type.name+" onto "+e.type.name)}function uv(e,n,t){var r=e.node(t);return dv(r,n.node(t)),r}function pv(e,n){var t=n.length-1;t>=0&&e.isText&&e.sameMarkup(n[t])?n[t]=e.withText(n[t].text+e.text):n.push(e)}function fv(e,n,t,r){var i=(n||e).node(t),o=0,a=n?n.index(t):i.childCount;e&&(o=e.index(t),e.depth>t?o++:e.textOffset&&(pv(e.nodeAfter,r),o++));for(var s=o;s<a;s++)pv(i.child(s),r);n&&n.depth==t&&n.textOffset&&pv(n.nodeBefore,r)}function Av(e,n){if(!e.type.validContent(n))throw new rv("Invalid content for node "+e.type.name);return e.copy(n)}function hv(e,n,t,r,i){var o=e.depth>i&&uv(e,n,i+1),a=r.depth>i&&uv(t,r,i+1),s=[];return fv(null,e,i,s),o&&a&&n.index(i)==t.index(i)?(dv(o,a),pv(Av(o,hv(e,n,t,r,i+1)),s)):(o&&pv(Av(o,mv(e,n,i+1)),s),fv(n,t,i,s),a&&pv(Av(a,mv(t,r,i+1)),s)),fv(r,null,i,s),new Xg(s)}function mv(e,n,t){var r=[];(fv(null,e,t,r),e.depth>t)&&pv(Av(uv(e,n,t+1),mv(e,n,t+1)),r);return fv(n,null,t,r),new Xg(r)}ov.size.get=function(){return this.content.size-this.openStart-this.openEnd},iv.prototype.insertAt=function(e,n){var t=sv(this.content,e+this.openStart,n,null);return t&&new iv(t,this.openStart,this.openEnd)},iv.prototype.removeBetween=function(e,n){return new iv(av(this.content,e+this.openStart,n+this.openStart),this.openStart,this.openEnd)},iv.prototype.eq=function(e){return this.content.eq(e.content)&&this.openStart==e.openStart&&this.openEnd==e.openEnd},iv.prototype.toString=function(){return this.content+"("+this.openStart+","+this.openEnd+")"},iv.prototype.toJSON=function(){if(!this.content.size)return null;var e={content:this.content.toJSON()};return this.openStart>0&&(e.openStart=this.openStart),this.openEnd>0&&(e.openEnd=this.openEnd),e},iv.fromJSON=function(e,n){if(!n)return iv.empty;var t=n.openStart||0,r=n.openEnd||0;if("number"!=typeof t||"number"!=typeof r)throw new RangeError("Invalid input for Slice.fromJSON");return new iv(Xg.fromJSON(e,n.content),t,r)},iv.maxOpen=function(e,n){void 0===n&&(n=!0);for(var t=0,r=0,i=e.firstChild;i&&!i.isLeaf&&(n||!i.type.spec.isolating);i=i.firstChild)t++;for(var o=e.lastChild;o&&!o.isLeaf&&(n||!o.type.spec.isolating);o=o.lastChild)r++;return new iv(e,t,r)},Object.defineProperties(iv.prototype,ov),iv.empty=new iv(Xg.empty,0,0);var gv=function(e,n,t){this.pos=e,this.path=n,this.depth=n.length/3-1,this.parentOffset=t},vv={parent:{configurable:!0},doc:{configurable:!0},textOffset:{configurable:!0},nodeAfter:{configurable:!0},nodeBefore:{configurable:!0}};gv.prototype.resolveDepth=function(e){return null==e?this.depth:e<0?this.depth+e:e},vv.parent.get=function(){return this.node(this.depth)},vv.doc.get=function(){return this.node(0)},gv.prototype.node=function(e){return this.path[3*this.resolveDepth(e)]},gv.prototype.index=function(e){return this.path[3*this.resolveDepth(e)+1]},gv.prototype.indexAfter=function(e){return e=this.resolveDepth(e),this.index(e)+(e!=this.depth||this.textOffset?1:0)},gv.prototype.start=function(e){return 0==(e=this.resolveDepth(e))?0:this.path[3*e-1]+1},gv.prototype.end=function(e){return e=this.resolveDepth(e),this.start(e)+this.node(e).content.size},gv.prototype.before=function(e){if(!(e=this.resolveDepth(e)))throw new RangeError("There is no position before the top-level node");return e==this.depth+1?this.pos:this.path[3*e-1]},gv.prototype.after=function(e){if(!(e=this.resolveDepth(e)))throw new RangeError("There is no position after the top-level node");return e==this.depth+1?this.pos:this.path[3*e-1]+this.path[3*e].nodeSize},vv.textOffset.get=function(){return this.pos-this.path[this.path.length-1]},vv.nodeAfter.get=function(){var e=this.parent,n=this.index(this.depth);if(n==e.childCount)return null;var t=this.pos-this.path[this.path.length-1],r=e.child(n);return t?e.child(n).cut(t):r},vv.nodeBefore.get=function(){var e=this.index(this.depth),n=this.pos-this.path[this.path.length-1];return n?this.parent.child(e).cut(0,n):0==e?null:this.parent.child(e-1)},gv.prototype.posAtIndex=function(e,n){n=this.resolveDepth(n);for(var t=this.path[3*n],r=0==n?0:this.path[3*n-1]+1,i=0;i<e;i++)r+=t.child(i).nodeSize;return r},gv.prototype.marks=function(){var e=this.parent,n=this.index();if(0==e.content.size)return tv.none;if(this.textOffset)return e.child(n).marks;var t=e.maybeChild(n-1),r=e.maybeChild(n);if(!t){var i=t;t=r,r=i}for(var o=t.marks,a=0;a<o.length;a++)!1!==o[a].type.spec.inclusive||r&&o[a].isInSet(r.marks)||(o=o[a--].removeFromSet(o));return o},gv.prototype.marksAcross=function(e){var n=this.parent.maybeChild(this.index());if(!n||!n.isInline)return null;for(var t=n.marks,r=e.parent.maybeChild(e.index()),i=0;i<t.length;i++)!1!==t[i].type.spec.inclusive||r&&t[i].isInSet(r.marks)||(t=t[i--].removeFromSet(t));return t},gv.prototype.sharedDepth=function(e){for(var n=this.depth;n>0;n--)if(this.start(n)<=e&&this.end(n)>=e)return n;return 0},gv.prototype.blockRange=function(e,n){if(void 0===e&&(e=this),e.pos<this.pos)return e.blockRange(this);for(var t=this.depth-(this.parent.inlineContent||this.pos==e.pos?1:0);t>=0;t--)if(e.pos<=this.end(t)&&(!n||n(this.node(t))))return new Ev(this,e,t)},gv.prototype.sameParent=function(e){return this.pos-this.parentOffset==e.pos-e.parentOffset},gv.prototype.max=function(e){return e.pos>this.pos?e:this},gv.prototype.min=function(e){return e.pos<this.pos?e:this},gv.prototype.toString=function(){for(var e="",n=1;n<=this.depth;n++)e+=(e?"/":"")+this.node(n).type.name+"_"+this.index(n-1);return e+":"+this.parentOffset},gv.resolve=function(e,n){if(!(n>=0&&n<=e.content.size))throw new RangeError("Position "+n+" out of range");for(var t=[],r=0,i=n,o=e;;){var a=o.content.findIndex(i),s=a.index,l=a.offset,c=i-l;if(t.push(o,s,r+l),!c)break;if((o=o.child(s)).isText)break;i=c-1,r+=l+1}return new gv(n,t,i)},gv.resolveCached=function(e,n){for(var t=0;t<bv.length;t++){var r=bv[t];if(r.pos==n&&r.doc==e)return r}var i=bv[yv]=gv.resolve(e,n);return yv=(yv+1)%Cv,i},Object.defineProperties(gv.prototype,vv);var bv=[],yv=0,Cv=12,Ev=function(e,n,t){this.$from=e,this.$to=n,this.depth=t},xv={start:{configurable:!0},end:{configurable:!0},parent:{configurable:!0},startIndex:{configurable:!0},endIndex:{configurable:!0}};xv.start.get=function(){return this.$from.before(this.depth+1)},xv.end.get=function(){return this.$to.after(this.depth+1)},xv.parent.get=function(){return this.$from.node(this.depth)},xv.startIndex.get=function(){return this.$from.index(this.depth)},xv.endIndex.get=function(){return this.$to.indexAfter(this.depth)},Object.defineProperties(Ev.prototype,xv);var wv=Object.create(null),kv=function(e,n,t,r){this.type=e,this.attrs=n,this.content=t||Xg.empty,this.marks=r||tv.none},_v={nodeSize:{configurable:!0},childCount:{configurable:!0},textContent:{configurable:!0},firstChild:{configurable:!0},lastChild:{configurable:!0},isBlock:{configurable:!0},isTextblock:{configurable:!0},inlineContent:{configurable:!0},isInline:{configurable:!0},isText:{configurable:!0},isLeaf:{configurable:!0},isAtom:{configurable:!0}};_v.nodeSize.get=function(){return this.isLeaf?1:2+this.content.size},_v.childCount.get=function(){return this.content.childCount},kv.prototype.child=function(e){return this.content.child(e)},kv.prototype.maybeChild=function(e){return this.content.maybeChild(e)},kv.prototype.forEach=function(e){this.content.forEach(e)},kv.prototype.nodesBetween=function(e,n,t,r){void 0===r&&(r=0),this.content.nodesBetween(e,n,t,r,this)},kv.prototype.descendants=function(e){this.nodesBetween(0,this.content.size,e)},_v.textContent.get=function(){return this.textBetween(0,this.content.size,"")},kv.prototype.textBetween=function(e,n,t,r){return this.content.textBetween(e,n,t,r)},_v.firstChild.get=function(){return this.content.firstChild},_v.lastChild.get=function(){return this.content.lastChild},kv.prototype.eq=function(e){return this==e||this.sameMarkup(e)&&this.content.eq(e.content)},kv.prototype.sameMarkup=function(e){return this.hasMarkup(e.type,e.attrs,e.marks)},kv.prototype.hasMarkup=function(e,n,t){return this.type==e&&nv(this.attrs,n||e.defaultAttrs||wv)&&tv.sameSet(this.marks,t||tv.none)},kv.prototype.copy=function(e){return void 0===e&&(e=null),e==this.content?this:new this.constructor(this.type,this.attrs,e,this.marks)},kv.prototype.mark=function(e){return e==this.marks?this:new this.constructor(this.type,this.attrs,this.content,e)},kv.prototype.cut=function(e,n){return 0==e&&n==this.content.size?this:this.copy(this.content.cut(e,n))},kv.prototype.slice=function(e,n,t){if(void 0===n&&(n=this.content.size),void 0===t&&(t=!1),e==n)return iv.empty;var r=this.resolve(e),i=this.resolve(n),o=t?0:r.sharedDepth(n),a=r.start(o),s=r.node(o).content.cut(r.pos-a,i.pos-a);return new iv(s,r.depth-o,i.depth-o)},kv.prototype.replace=function(e,n,t){return lv(this.resolve(e),this.resolve(n),t)},kv.prototype.nodeAt=function(e){for(var n=this;;){var t=n.content.findIndex(e),r=t.index,i=t.offset;if(!(n=n.maybeChild(r)))return null;if(i==e||n.isText)return n;e-=i+1}},kv.prototype.childAfter=function(e){var n=this.content.findIndex(e),t=n.index,r=n.offset;return{node:this.content.maybeChild(t),index:t,offset:r}},kv.prototype.childBefore=function(e){if(0==e)return{node:null,index:0,offset:0};var n=this.content.findIndex(e),t=n.index,r=n.offset;if(r<e)return{node:this.content.child(t),index:t,offset:r};var i=this.content.child(t-1);return{node:i,index:t-1,offset:r-i.nodeSize}},kv.prototype.resolve=function(e){return gv.resolveCached(this,e)},kv.prototype.resolveNoCache=function(e){return gv.resolve(this,e)},kv.prototype.rangeHasMark=function(e,n,t){var r=!1;return n>e&&this.nodesBetween(e,n,(function(e){return t.isInSet(e.marks)&&(r=!0),!r})),r},_v.isBlock.get=function(){return this.type.isBlock},_v.isTextblock.get=function(){return this.type.isTextblock},_v.inlineContent.get=function(){return this.type.inlineContent},_v.isInline.get=function(){return this.type.isInline},_v.isText.get=function(){return this.type.isText},_v.isLeaf.get=function(){return this.type.isLeaf},_v.isAtom.get=function(){return this.type.isAtom},kv.prototype.toString=function(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);var e=this.type.name;return this.content.size&&(e+="("+this.content.toStringInner()+")"),Dv(this.marks,e)},kv.prototype.contentMatchAt=function(e){var n=this.type.contentMatch.matchFragment(this.content,0,e);if(!n)throw new Error("Called contentMatchAt on a node with invalid content");return n},kv.prototype.canReplace=function(e,n,t,r,i){void 0===t&&(t=Xg.empty),void 0===r&&(r=0),void 0===i&&(i=t.childCount);var o=this.contentMatchAt(e).matchFragment(t,r,i),a=o&&o.matchFragment(this.content,n);if(!a||!a.validEnd)return!1;for(var s=r;s<i;s++)if(!this.type.allowsMarks(t.child(s).marks))return!1;return!0},kv.prototype.canReplaceWith=function(e,n,t,r){if(r&&!this.type.allowsMarks(r))return!1;var i=this.contentMatchAt(e).matchType(t),o=i&&i.matchFragment(this.content,n);return!!o&&o.validEnd},kv.prototype.canAppend=function(e){return e.content.size?this.canReplace(this.childCount,this.childCount,e.content):this.type.compatibleContent(e.type)},kv.prototype.check=function(){if(!this.type.validContent(this.content))throw new RangeError("Invalid content for node "+this.type.name+": "+this.content.toString().slice(0,50));this.content.forEach((function(e){return e.check()}))},kv.prototype.toJSON=function(){var e={type:this.type.name};for(var n in this.attrs){e.attrs=this.attrs;break}return this.content.size&&(e.content=this.content.toJSON()),this.marks.length&&(e.marks=this.marks.map((function(e){return e.toJSON()}))),e},kv.fromJSON=function(e,n){if(!n)throw new RangeError("Invalid input for Node.fromJSON");var t=null;if(n.marks){if(!Array.isArray(n.marks))throw new RangeError("Invalid mark data for Node.fromJSON");t=n.marks.map(e.markFromJSON)}if("text"==n.type){if("string"!=typeof n.text)throw new RangeError("Invalid text node in JSON");return e.text(n.text,t)}var r=Xg.fromJSON(e,n.content);return e.nodeType(n.type).create(n.attrs,r,t)},Object.defineProperties(kv.prototype,_v);var Sv=function(e){function n(n,t,r,i){if(e.call(this,n,t,null,i),!r)throw new RangeError("Empty text nodes are not allowed");this.text=r}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var t={textContent:{configurable:!0},nodeSize:{configurable:!0}};return n.prototype.toString=function(){return this.type.spec.toDebugString?this.type.spec.toDebugString(this):Dv(this.marks,JSON.stringify(this.text))},t.textContent.get=function(){return this.text},n.prototype.textBetween=function(e,n){return this.text.slice(e,n)},t.nodeSize.get=function(){return this.text.length},n.prototype.mark=function(e){return e==this.marks?this:new n(this.type,this.attrs,this.text,e)},n.prototype.withText=function(e){return e==this.text?this:new n(this.type,this.attrs,e,this.marks)},n.prototype.cut=function(e,n){return void 0===e&&(e=0),void 0===n&&(n=this.text.length),0==e&&n==this.text.length?this:this.withText(this.text.slice(e,n))},n.prototype.eq=function(e){return this.sameMarkup(e)&&this.text==e.text},n.prototype.toJSON=function(){var n=e.prototype.toJSON.call(this);return n.text=this.text,n},Object.defineProperties(n.prototype,t),n}(kv);function Dv(e,n){for(var t=e.length-1;t>=0;t--)n=e[t].type.name+"("+n+")";return n}var Bv=function(e){this.validEnd=e,this.next=[],this.wrapCache=[]},zv={inlineContent:{configurable:!0},defaultType:{configurable:!0},edgeCount:{configurable:!0}};Bv.parse=function(e,n){var t=new Ov(e,n);if(null==t.next)return Bv.empty;var r=Tv(t);t.next&&t.err("Unexpected trailing text");var i=function(e){var n=Object.create(null);return t(Lv(e,0));function t(r){var i=[];r.forEach((function(n){e[n].forEach((function(n){var t=n.term,r=n.to;if(t){var o=i.indexOf(t),a=o>-1&&i[o+1];Lv(e,r).forEach((function(e){a||i.push(t,a=[]),-1==a.indexOf(e)&&a.push(e)}))}}))}));for(var o=n[r.join(",")]=new Bv(r.indexOf(e.length-1)>-1),a=0;a<i.length;a+=2){var s=i[a+1].sort(Fv);o.next.push(i[a],n[s.join(",")]||t(s))}return o}}(function(e){var n=[[]];return i(o(e,0),t()),n;function t(){return n.push([])-1}function r(e,t,r){var i={term:r,to:t};return n[e].push(i),i}function i(e,n){e.forEach((function(e){return e.to=n}))}function o(e,n){if("choice"==e.type)return e.exprs.reduce((function(e,t){return e.concat(o(t,n))}),[]);if("seq"==e.type)for(var a=0;;a++){var s=o(e.exprs[a],n);if(a==e.exprs.length-1)return s;i(s,n=t())}else{if("star"==e.type){var l=t();return r(n,l),i(o(e.expr,l),l),[r(l)]}if("plus"==e.type){var c=t();return i(o(e.expr,n),c),i(o(e.expr,c),c),[r(c)]}if("opt"==e.type)return[r(n)].concat(o(e.expr,n));if("range"==e.type){for(var d=n,u=0;u<e.min;u++){var p=t();i(o(e.expr,d),p),d=p}if(-1==e.max)i(o(e.expr,d),d);else for(var f=e.min;f<e.max;f++){var A=t();r(d,A),i(o(e.expr,d),A),d=A}return[r(d)]}if("name"==e.type)return[r(n,null,e.value)]}}}(r));return function(e,n){for(var t=0,r=[e];t<r.length;t++){for(var i=r[t],o=!i.validEnd,a=[],s=0;s<i.next.length;s+=2){var l=i.next[s],c=i.next[s+1];a.push(l.name),!o||l.isText||l.hasRequiredAttrs()||(o=!1),-1==r.indexOf(c)&&r.push(c)}o&&n.err("Only non-generatable nodes ("+a.join(", ")+") in a required position (see https://prosemirror.net/docs/guide/#generatable)")}}(i,t),i},Bv.prototype.matchType=function(e){for(var n=0;n<this.next.length;n+=2)if(this.next[n]==e)return this.next[n+1];return null},Bv.prototype.matchFragment=function(e,n,t){void 0===n&&(n=0),void 0===t&&(t=e.childCount);for(var r=this,i=n;r&&i<t;i++)r=r.matchType(e.child(i).type);return r},zv.inlineContent.get=function(){var e=this.next[0];return!!e&&e.isInline},zv.defaultType.get=function(){for(var e=0;e<this.next.length;e+=2){var n=this.next[e];if(!n.isText&&!n.hasRequiredAttrs())return n}},Bv.prototype.compatible=function(e){for(var n=0;n<this.next.length;n+=2)for(var t=0;t<e.next.length;t+=2)if(this.next[n]==e.next[t])return!0;return!1},Bv.prototype.fillBefore=function(e,n,t){void 0===n&&(n=!1),void 0===t&&(t=0);var r=[this];return function i(o,a){var s=o.matchFragment(e,t);if(s&&(!n||s.validEnd))return Xg.from(a.map((function(e){return e.createAndFill()})));for(var l=0;l<o.next.length;l+=2){var c=o.next[l],d=o.next[l+1];if(!c.isText&&!c.hasRequiredAttrs()&&-1==r.indexOf(d)){r.push(d);var u=i(d,a.concat(c));if(u)return u}}}(this,[])},Bv.prototype.findWrapping=function(e){for(var n=0;n<this.wrapCache.length;n+=2)if(this.wrapCache[n]==e)return this.wrapCache[n+1];var t=this.computeWrapping(e);return this.wrapCache.push(e,t),t},Bv.prototype.computeWrapping=function(e){for(var n=Object.create(null),t=[{match:this,type:null,via:null}];t.length;){var r=t.shift(),i=r.match;if(i.matchType(e)){for(var o=[],a=r;a.type;a=a.via)o.push(a.type);return o.reverse()}for(var s=0;s<i.next.length;s+=2){var l=i.next[s];l.isLeaf||l.hasRequiredAttrs()||l.name in n||r.type&&!i.next[s+1].validEnd||(t.push({match:l.contentMatch,type:l,via:r}),n[l.name]=!0)}}},zv.edgeCount.get=function(){return this.next.length>>1},Bv.prototype.edge=function(e){var n=e<<1;if(n>=this.next.length)throw new RangeError("There's no "+e+"th edge in this content match");return{type:this.next[n],next:this.next[n+1]}},Bv.prototype.toString=function(){var e=[];return function n(t){e.push(t);for(var r=1;r<t.next.length;r+=2)-1==e.indexOf(t.next[r])&&n(t.next[r])}(this),e.map((function(n,t){for(var r=t+(n.validEnd?"*":" ")+" ",i=0;i<n.next.length;i+=2)r+=(i?", ":"")+n.next[i].name+"->"+e.indexOf(n.next[i+1]);return r})).join("\n")},Object.defineProperties(Bv.prototype,zv),Bv.empty=new Bv(!0);var Ov=function(e,n){this.string=e,this.nodeTypes=n,this.inline=null,this.pos=0,this.tokens=e.split(/\s*(?=\b|\W|$)/),""==this.tokens[this.tokens.length-1]&&this.tokens.pop(),""==this.tokens[0]&&this.tokens.unshift()},Mv={next:{configurable:!0}};function Tv(e){var n=[];do{n.push(Iv(e))}while(e.eat("|"));return 1==n.length?n[0]:{type:"choice",exprs:n}}function Iv(e){var n=[];do{n.push($v(e))}while(e.next&&")"!=e.next&&"|"!=e.next);return 1==n.length?n[0]:{type:"seq",exprs:n}}function $v(e){for(var n=function(e){if(e.eat("(")){var n=Tv(e);return e.eat(")")||e.err("Missing closing paren"),n}if(!/\W/.test(e.next)){var t=function(e,n){var t=e.nodeTypes,r=t[n];if(r)return[r];var i=[];for(var o in t){var a=t[o];a.groups.indexOf(n)>-1&&i.push(a)}0==i.length&&e.err("No node type or group '"+n+"' found");return i}(e,e.next).map((function(n){return null==e.inline?e.inline=n.isInline:e.inline!=n.isInline&&e.err("Mixing inline and block content"),{type:"name",value:n}}));return e.pos++,1==t.length?t[0]:{type:"choice",exprs:t}}e.err("Unexpected token '"+e.next+"'")}(e);;)if(e.eat("+"))n={type:"plus",expr:n};else if(e.eat("*"))n={type:"star",expr:n};else if(e.eat("?"))n={type:"opt",expr:n};else{if(!e.eat("{"))break;n=Rv(e,n)}return n}function Nv(e){/\D/.test(e.next)&&e.err("Expected number, got '"+e.next+"'");var n=Number(e.next);return e.pos++,n}function Rv(e,n){var t=Nv(e),r=t;return e.eat(",")&&(r="}"!=e.next?Nv(e):-1),e.eat("}")||e.err("Unclosed braced range"),{type:"range",min:t,max:r,expr:n}}function Fv(e,n){return n-e}function Lv(e,n){var t=[];return function n(r){var i=e[r];if(1==i.length&&!i[0].term)return n(i[0].to);t.push(r);for(var o=0;o<i.length;o++){var a=i[o],s=a.term,l=a.to;s||-1!=t.indexOf(l)||n(l)}}(n),t.sort(Fv)}function Pv(e){var n=Object.create(null);for(var t in e){var r=e[t];if(!r.hasDefault)return null;n[t]=r.default}return n}function jv(e,n){var t=Object.create(null);for(var r in e){var i=n&&n[r];if(void 0===i){var o=e[r];if(!o.hasDefault)throw new RangeError("No value supplied for attribute "+r);i=o.default}t[r]=i}return t}function Yv(e){var n=Object.create(null);if(e)for(var t in e)n[t]=new Hv(e[t]);return n}Mv.next.get=function(){return this.tokens[this.pos]},Ov.prototype.eat=function(e){return this.next==e&&(this.pos++||!0)},Ov.prototype.err=function(e){throw new SyntaxError(e+" (in content expression '"+this.string+"')")},Object.defineProperties(Ov.prototype,Mv);var Uv=function(e,n,t){this.name=e,this.schema=n,this.spec=t,this.groups=t.group?t.group.split(" "):[],this.attrs=Yv(t.attrs),this.defaultAttrs=Pv(this.attrs),this.contentMatch=null,this.markSet=null,this.inlineContent=null,this.isBlock=!(t.inline||"text"==e),this.isText="text"==e},qv={isInline:{configurable:!0},isTextblock:{configurable:!0},isLeaf:{configurable:!0},isAtom:{configurable:!0}};qv.isInline.get=function(){return!this.isBlock},qv.isTextblock.get=function(){return this.isBlock&&this.inlineContent},qv.isLeaf.get=function(){return this.contentMatch==Bv.empty},qv.isAtom.get=function(){return this.isLeaf||this.spec.atom},Uv.prototype.hasRequiredAttrs=function(){for(var e in this.attrs)if(this.attrs[e].isRequired)return!0;return!1},Uv.prototype.compatibleContent=function(e){return this==e||this.contentMatch.compatible(e.contentMatch)},Uv.prototype.computeAttrs=function(e){return!e&&this.defaultAttrs?this.defaultAttrs:jv(this.attrs,e)},Uv.prototype.create=function(e,n,t){if(this.isText)throw new Error("NodeType.create can't construct text nodes");return new kv(this,this.computeAttrs(e),Xg.from(n),tv.setFrom(t))},Uv.prototype.createChecked=function(e,n,t){if(n=Xg.from(n),!this.validContent(n))throw new RangeError("Invalid content for node "+this.name);return new kv(this,this.computeAttrs(e),n,tv.setFrom(t))},Uv.prototype.createAndFill=function(e,n,t){if(e=this.computeAttrs(e),(n=Xg.from(n)).size){var r=this.contentMatch.fillBefore(n);if(!r)return null;n=r.append(n)}var i=this.contentMatch.matchFragment(n).fillBefore(Xg.empty,!0);return i?new kv(this,e,n.append(i),tv.setFrom(t)):null},Uv.prototype.validContent=function(e){var n=this.contentMatch.matchFragment(e);if(!n||!n.validEnd)return!1;for(var t=0;t<e.childCount;t++)if(!this.allowsMarks(e.child(t).marks))return!1;return!0},Uv.prototype.allowsMarkType=function(e){return null==this.markSet||this.markSet.indexOf(e)>-1},Uv.prototype.allowsMarks=function(e){if(null==this.markSet)return!0;for(var n=0;n<e.length;n++)if(!this.allowsMarkType(e[n].type))return!1;return!0},Uv.prototype.allowedMarks=function(e){if(null==this.markSet)return e;for(var n,t=0;t<e.length;t++)this.allowsMarkType(e[t].type)?n&&n.push(e[t]):n||(n=e.slice(0,t));return n?n.length?n:tv.empty:e},Uv.compile=function(e,n){var t=Object.create(null);e.forEach((function(e,r){return t[e]=new Uv(e,n,r)}));var r=n.spec.topNode||"doc";if(!t[r])throw new RangeError("Schema is missing its top node type ('"+r+"')");if(!t.text)throw new RangeError("Every schema needs a 'text' type");for(var i in t.text.attrs)throw new RangeError("The text node type should not have attributes");return t},Object.defineProperties(Uv.prototype,qv);var Hv=function(e){this.hasDefault=Object.prototype.hasOwnProperty.call(e,"default"),this.default=e.default},Wv={isRequired:{configurable:!0}};Wv.isRequired.get=function(){return!this.hasDefault},Object.defineProperties(Hv.prototype,Wv);var Vv=function(e,n,t,r){this.name=e,this.schema=t,this.spec=r,this.attrs=Yv(r.attrs),this.rank=n,this.excluded=null;var i=Pv(this.attrs);this.instance=i&&new tv(this,i)};Vv.prototype.create=function(e){return!e&&this.instance?this.instance:new tv(this,jv(this.attrs,e))},Vv.compile=function(e,n){var t=Object.create(null),r=0;return e.forEach((function(e,i){return t[e]=new Vv(e,r++,n,i)})),t},Vv.prototype.removeFromSet=function(e){for(var n=0;n<e.length;n++)if(e[n].type==this)return e.slice(0,n).concat(e.slice(n+1));return e},Vv.prototype.isInSet=function(e){for(var n=0;n<e.length;n++)if(e[n].type==this)return e[n]},Vv.prototype.excludes=function(e){return this.excluded.indexOf(e)>-1};var Jv=function(e){for(var n in this.spec={},e)this.spec[n]=e[n];this.spec.nodes=Jg.from(e.nodes),this.spec.marks=Jg.from(e.marks),this.nodes=Uv.compile(this.spec.nodes,this),this.marks=Vv.compile(this.spec.marks,this);var t=Object.create(null);for(var r in this.nodes){if(r in this.marks)throw new RangeError(r+" can not be both a node and a mark");var i=this.nodes[r],o=i.spec.content||"",a=i.spec.marks;i.contentMatch=t[o]||(t[o]=Bv.parse(o,this.nodes)),i.inlineContent=i.contentMatch.inlineContent,i.markSet="_"==a?null:a?Kv(this,a.split(" ")):""!=a&&i.inlineContent?null:[]}for(var s in this.marks){var l=this.marks[s],c=l.spec.excludes;l.excluded=null==c?[l]:""==c?[]:Kv(this,c.split(" "))}this.nodeFromJSON=this.nodeFromJSON.bind(this),this.markFromJSON=this.markFromJSON.bind(this),this.topNodeType=this.nodes[this.spec.topNode||"doc"],this.cached=Object.create(null),this.cached.wrappings=Object.create(null)};function Kv(e,n){for(var t=[],r=0;r<n.length;r++){var i=n[r],o=e.marks[i],a=o;if(o)t.push(o);else for(var s in e.marks){var l=e.marks[s];("_"==i||l.spec.group&&l.spec.group.split(" ").indexOf(i)>-1)&&t.push(a=l)}if(!a)throw new SyntaxError("Unknown mark type: '"+n[r]+"'")}return t}Jv.prototype.node=function(e,n,t,r){if("string"==typeof e)e=this.nodeType(e);else{if(!(e instanceof Uv))throw new RangeError("Invalid node type: "+e);if(e.schema!=this)throw new RangeError("Node type from different schema used ("+e.name+")")}return e.createChecked(n,t,r)},Jv.prototype.text=function(e,n){var t=this.nodes.text;return new Sv(t,t.defaultAttrs,e,tv.setFrom(n))},Jv.prototype.mark=function(e,n){return"string"==typeof e&&(e=this.marks[e]),e.create(n)},Jv.prototype.nodeFromJSON=function(e){return kv.fromJSON(this,e)},Jv.prototype.markFromJSON=function(e){return tv.fromJSON(this,e)},Jv.prototype.nodeType=function(e){var n=this.nodes[e];if(!n)throw new RangeError("Unknown node type: "+e);return n};var Gv=function(e,n){var t=this;this.schema=e,this.rules=n,this.tags=[],this.styles=[],n.forEach((function(e){e.tag?t.tags.push(e):e.style&&t.styles.push(e)})),this.normalizeLists=!this.tags.some((function(n){if(!/^(ul|ol)\b/.test(n.tag)||!n.node)return!1;var t=e.nodes[n.node];return t.contentMatch.matchType(t)}))};Gv.prototype.parse=function(e,n){void 0===n&&(n={});var t=new tb(this,n,!1);return t.addAll(e,null,n.from,n.to),t.finish()},Gv.prototype.parseSlice=function(e,n){void 0===n&&(n={});var t=new tb(this,n,!0);return t.addAll(e,null,n.from,n.to),iv.maxOpen(t.finish())},Gv.prototype.matchTag=function(e,n){for(var t=0;t<this.tags.length;t++){var r=this.tags[t];if(ib(e,r.tag)&&(void 0===r.namespace||e.namespaceURI==r.namespace)&&(!r.context||n.matchesContext(r.context))){if(r.getAttrs){var i=r.getAttrs(e);if(!1===i)continue;r.attrs=i}return r}}},Gv.prototype.matchStyle=function(e,n,t){for(var r=0;r<this.styles.length;r++){var i=this.styles[r];if(!(0!=i.style.indexOf(e)||i.context&&!t.matchesContext(i.context)||i.style.length>e.length&&(61!=i.style.charCodeAt(e.length)||i.style.slice(e.length+1)!=n))){if(i.getAttrs){var o=i.getAttrs(n);if(!1===o)continue;i.attrs=o}return i}}},Gv.schemaRules=function(e){var n=[];function t(e){for(var t=null==e.priority?50:e.priority,r=0;r<n.length;r++){var i=n[r];if((null==i.priority?50:i.priority)<t)break}n.splice(r,0,e)}var r=function(n){var r=e.marks[n].spec.parseDOM;r&&r.forEach((function(e){t(e=ob(e)),e.mark=n}))};for(var i in e.marks)r(i);var o;for(var a in e.nodes)o=void 0,(o=e.nodes[a].spec.parseDOM)&&o.forEach((function(e){t(e=ob(e)),e.node=a}));return n},Gv.fromSchema=function(e){return e.cached.domParser||(e.cached.domParser=new Gv(e,Gv.schemaRules(e)))};var Xv={address:!0,article:!0,aside:!0,blockquote:!0,canvas:!0,dd:!0,div:!0,dl:!0,fieldset:!0,figcaption:!0,figure:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,li:!0,noscript:!0,ol:!0,output:!0,p:!0,pre:!0,section:!0,table:!0,tfoot:!0,ul:!0},Qv={head:!0,noscript:!0,object:!0,script:!0,style:!0,title:!0},Zv={ol:!0,ul:!0};function eb(e){return(e?1:0)|("full"===e?2:0)}var nb=function(e,n,t,r,i,o,a){this.type=e,this.attrs=n,this.solid=i,this.match=o||(4&a?null:e.contentMatch),this.options=a,this.content=[],this.marks=t,this.activeMarks=tv.none,this.pendingMarks=r,this.stashMarks=[]};nb.prototype.findWrapping=function(e){if(!this.match){if(!this.type)return[];var n=this.type.contentMatch.fillBefore(Xg.from(e));if(!n){var t,r=this.type.contentMatch;return(t=r.findWrapping(e.type))?(this.match=r,t):null}this.match=this.type.contentMatch.matchFragment(n)}return this.match.findWrapping(e.type)},nb.prototype.finish=function(e){if(!(1&this.options)){var n,t=this.content[this.content.length-1];t&&t.isText&&(n=/[ \t\r\n\u000c]+$/.exec(t.text))&&(t.text.length==n[0].length?this.content.pop():this.content[this.content.length-1]=t.withText(t.text.slice(0,t.text.length-n[0].length)))}var r=Xg.from(this.content);return!e&&this.match&&(r=r.append(this.match.fillBefore(Xg.empty,!0))),this.type?this.type.create(this.attrs,r,this.marks):r},nb.prototype.popFromStashMark=function(e){for(var n=this.stashMarks.length-1;n>=0;n--)if(this.stashMarks[n].type==e)return this.stashMarks.splice(n,1)[0]},nb.prototype.applyPending=function(e){for(var n=0,t=this.pendingMarks;n<t.length;n++){var r=t[n];if((this.type?this.type.allowsMarkType(r.type):ab(r.type,e))&&!r.isInSet(this.activeMarks)){var i=sb(r,this.activeMarks);i&&this.stashMarks.push(i),this.activeMarks=r.addToSet(this.activeMarks),this.pendingMarks=r.removeFromSet(this.pendingMarks)}}};var tb=function(e,n,t){this.parser=e,this.options=n,this.isOpen=t;var r,i=n.topNode,o=eb(n.preserveWhitespace)|(t?4:0);r=i?new nb(i.type,i.attrs,tv.none,tv.none,!0,n.topMatch||i.type.contentMatch,o):new nb(t?null:e.schema.topNodeType,null,tv.none,tv.none,!0,null,o),this.nodes=[r],this.open=0,this.find=n.findPositions,this.needsBlock=!1},rb={top:{configurable:!0},currentPos:{configurable:!0}};function ib(e,n){return(e.matches||e.msMatchesSelector||e.webkitMatchesSelector||e.mozMatchesSelector).call(e,n)}function ob(e){var n={};for(var t in e)n[t]=e[t];return n}function ab(e,n){var t=n.schema.nodes,r=function(r){var i=t[r];if(i.allowsMarkType(e)){var o=[],a=function(e){o.push(e);for(var t=0;t<e.edgeCount;t++){var r=e.edge(t),i=r.type,s=r.next;if(i==n)return!0;if(o.indexOf(s)<0&&a(s))return!0}};return a(i.contentMatch)?{v:!0}:void 0}};for(var i in t){var o=r(i);if(o)return o.v}}function sb(e,n){for(var t=0;t<n.length;t++)if(e.type==n[t].type)return n[t]}rb.top.get=function(){return this.nodes[this.open]},tb.prototype.addDOM=function(e){if(3==e.nodeType)this.addTextNode(e);else if(1==e.nodeType){var n=e.getAttribute("style"),t=n?this.readStyles(function(e){var n,t=/\s*([\w-]+)\s*:\s*([^;]+)/g,r=[];for(;n=t.exec(e);)r.push(n[1],n[2].trim());return r}(n)):null,r=this.top;if(null!=t)for(var i=0;i<t.length;i++)this.addPendingMark(t[i]);if(this.addElement(e),null!=t)for(var o=0;o<t.length;o++)this.removePendingMark(t[o],r)}},tb.prototype.addTextNode=function(e){var n=e.nodeValue,t=this.top;if((t.type?t.type.inlineContent:t.content.length&&t.content[0].isInline)||/[^ \t\r\n\u000c]/.test(n)){if(1&t.options)2&t.options||(n=n.replace(/\r?\n|\r/g," "));else if(n=n.replace(/[ \t\r\n\u000c]+/g," "),/^[ \t\r\n\u000c]/.test(n)&&this.open==this.nodes.length-1){var r=t.content[t.content.length-1],i=e.previousSibling;(!r||i&&"BR"==i.nodeName||r.isText&&/[ \t\r\n\u000c]$/.test(r.text))&&(n=n.slice(1))}n&&this.insertNode(this.parser.schema.text(n)),this.findInText(e)}else this.findInside(e)},tb.prototype.addElement=function(e){var n=e.nodeName.toLowerCase();Zv.hasOwnProperty(n)&&this.parser.normalizeLists&&function(e){for(var n=e.firstChild,t=null;n;n=n.nextSibling){var r=1==n.nodeType?n.nodeName.toLowerCase():null;r&&Zv.hasOwnProperty(r)&&t?(t.appendChild(n),n=t):"li"==r?t=n:r&&(t=null)}}(e);var t=this.options.ruleFromNode&&this.options.ruleFromNode(e)||this.parser.matchTag(e,this);if(t?t.ignore:Qv.hasOwnProperty(n))this.findInside(e);else if(!t||t.skip||t.closeParent){t&&t.closeParent?this.open=Math.max(0,this.open-1):t&&t.skip.nodeType&&(e=t.skip);var r,i=this.top,o=this.needsBlock;if(Xv.hasOwnProperty(n))r=!0,i.type||(this.needsBlock=!0);else if(!e.firstChild)return void this.leafFallback(e);this.addAll(e),r&&this.sync(i),this.needsBlock=o}else this.addElementByRule(e,t)},tb.prototype.leafFallback=function(e){"BR"==e.nodeName&&this.top.type&&this.top.type.inlineContent&&this.addTextNode(e.ownerDocument.createTextNode("\n"))},tb.prototype.readStyles=function(e){for(var n=tv.none,t=0;t<e.length;t+=2){var r=this.parser.matchStyle(e[t],e[t+1],this);if(r){if(r.ignore)return null;n=this.parser.schema.marks[r.mark].create(r.attrs).addToSet(n)}}return n},tb.prototype.addElementByRule=function(e,n){var t,r,i,o=this;n.node?(r=this.parser.schema.nodes[n.node]).isLeaf?this.insertNode(r.create(n.attrs))||this.leafFallback(e):t=this.enter(r,n.attrs,n.preserveWhitespace):(i=this.parser.schema.marks[n.mark].create(n.attrs),this.addPendingMark(i));var a=this.top;if(r&&r.isLeaf)this.findInside(e);else if(n.getContent)this.findInside(e),n.getContent(e,this.parser.schema).forEach((function(e){return o.insertNode(e)}));else{var s=n.contentElement;"string"==typeof s?s=e.querySelector(s):"function"==typeof s&&(s=s(e)),s||(s=e),this.findAround(e,s,!0),this.addAll(s,t)}t&&(this.sync(a),this.open--),i&&this.removePendingMark(i,a)},tb.prototype.addAll=function(e,n,t,r){for(var i=t||0,o=t?e.childNodes[t]:e.firstChild,a=null==r?null:e.childNodes[r];o!=a;o=o.nextSibling,++i)this.findAtPoint(e,i),this.addDOM(o),n&&Xv.hasOwnProperty(o.nodeName.toLowerCase())&&this.sync(n);this.findAtPoint(e,i)},tb.prototype.findPlace=function(e){for(var n,t,r=this.open;r>=0;r--){var i=this.nodes[r],o=i.findWrapping(e);if(o&&(!n||n.length>o.length)&&(n=o,t=i,!o.length))break;if(i.solid)break}if(!n)return!1;this.sync(t);for(var a=0;a<n.length;a++)this.enterInner(n[a],null,!1);return!0},tb.prototype.insertNode=function(e){if(e.isInline&&this.needsBlock&&!this.top.type){var n=this.textblockFromContext();n&&this.enterInner(n)}if(this.findPlace(e)){this.closeExtra();var t=this.top;t.applyPending(e.type),t.match&&(t.match=t.match.matchType(e.type));for(var r=t.activeMarks,i=0;i<e.marks.length;i++)t.type&&!t.type.allowsMarkType(e.marks[i].type)||(r=e.marks[i].addToSet(r));return t.content.push(e.mark(r)),!0}return!1},tb.prototype.enter=function(e,n,t){var r=this.findPlace(e.create(n));return r&&this.enterInner(e,n,!0,t),r},tb.prototype.enterInner=function(e,n,t,r){this.closeExtra();var i=this.top;i.applyPending(e),i.match=i.match&&i.match.matchType(e,n);var o=null==r?-5&i.options:eb(r);4&i.options&&0==i.content.length&&(o|=4),this.nodes.push(new nb(e,n,i.activeMarks,i.pendingMarks,t,null,o)),this.open++},tb.prototype.closeExtra=function(e){var n=this.nodes.length-1;if(n>this.open){for(;n>this.open;n--)this.nodes[n-1].content.push(this.nodes[n].finish(e));this.nodes.length=this.open+1}},tb.prototype.finish=function(){return this.open=0,this.closeExtra(this.isOpen),this.nodes[0].finish(this.isOpen||this.options.topOpen)},tb.prototype.sync=function(e){for(var n=this.open;n>=0;n--)if(this.nodes[n]==e)return void(this.open=n)},rb.currentPos.get=function(){this.closeExtra();for(var e=0,n=this.open;n>=0;n--){for(var t=this.nodes[n].content,r=t.length-1;r>=0;r--)e+=t[r].nodeSize;n&&e++}return e},tb.prototype.findAtPoint=function(e,n){if(this.find)for(var t=0;t<this.find.length;t++)this.find[t].node==e&&this.find[t].offset==n&&(this.find[t].pos=this.currentPos)},tb.prototype.findInside=function(e){if(this.find)for(var n=0;n<this.find.length;n++)null==this.find[n].pos&&1==e.nodeType&&e.contains(this.find[n].node)&&(this.find[n].pos=this.currentPos)},tb.prototype.findAround=function(e,n,t){if(e!=n&&this.find)for(var r=0;r<this.find.length;r++){if(null==this.find[r].pos&&1==e.nodeType&&e.contains(this.find[r].node))n.compareDocumentPosition(this.find[r].node)&(t?2:4)&&(this.find[r].pos=this.currentPos)}},tb.prototype.findInText=function(e){if(this.find)for(var n=0;n<this.find.length;n++)this.find[n].node==e&&(this.find[n].pos=this.currentPos-(e.nodeValue.length-this.find[n].offset))},tb.prototype.matchesContext=function(e){var n=this;if(e.indexOf("|")>-1)return e.split(/\s*\|\s*/).some(this.matchesContext,this);var t=e.split("/"),r=this.options.context,i=!(this.isOpen||r&&r.parent.type!=this.nodes[0].type),o=-(r?r.depth+1:0)+(i?0:1),a=function(e,s){for(;e>=0;e--){var l=t[e];if(""==l){if(e==t.length-1||0==e)continue;for(;s>=o;s--)if(a(e-1,s))return!0;return!1}var c=s>0||0==s&&i?n.nodes[s].type:r&&s>=o?r.node(s-o).type:null;if(!c||c.name!=l&&-1==c.groups.indexOf(l))return!1;s--}return!0};return a(t.length-1,this.open)},tb.prototype.textblockFromContext=function(){var e=this.options.context;if(e)for(var n=e.depth;n>=0;n--){var t=e.node(n).contentMatchAt(e.indexAfter(n)).defaultType;if(t&&t.isTextblock&&t.defaultAttrs)return t}for(var r in this.parser.schema.nodes){var i=this.parser.schema.nodes[r];if(i.isTextblock&&i.defaultAttrs)return i}},tb.prototype.addPendingMark=function(e){var n=sb(e,this.top.pendingMarks);n&&this.top.stashMarks.push(n),this.top.pendingMarks=e.addToSet(this.top.pendingMarks)},tb.prototype.removePendingMark=function(e,n){for(var t=this.open;t>=0;t--){var r=this.nodes[t];if(r.pendingMarks.lastIndexOf(e)>-1)r.pendingMarks=e.removeFromSet(r.pendingMarks);else{r.activeMarks=e.removeFromSet(r.activeMarks);var i=r.popFromStashMark(e.type);i&&(r.activeMarks=i.addToSet(r.activeMarks))}if(r==n)break}},Object.defineProperties(tb.prototype,rb);var lb=function(e,n){this.nodes=e||{},this.marks=n||{}};function cb(e){var n={};for(var t in e){var r=e[t].spec.toDOM;r&&(n[t]=r)}return n}function db(e){return e.document||window.document}lb.prototype.serializeFragment=function(e,n,t){var r=this;void 0===n&&(n={}),t||(t=db(n).createDocumentFragment());var i=t,o=null;return e.forEach((function(e){if(o||e.marks.length){o||(o=[]);for(var t=0,a=0;t<o.length&&a<e.marks.length;){var s=e.marks[a];if(r.marks[s.type.name]){if(!s.eq(o[t])||!1===s.type.spec.spanning)break;t+=2,a++}else a++}for(;t<o.length;)i=o.pop(),o.pop();for(;a<e.marks.length;){var l=e.marks[a++],c=r.serializeMark(l,e.isInline,n);c&&(o.push(l,i),i.appendChild(c.dom),i=c.contentDOM||c.dom)}}i.appendChild(r.serializeNode(e,n))})),t},lb.prototype.serializeNode=function(e,n){void 0===n&&(n={});var t=lb.renderSpec(db(n),this.nodes[e.type.name](e)),r=t.dom,i=t.contentDOM;if(i){if(e.isLeaf)throw new RangeError("Content hole not allowed in a leaf node spec");n.onContent?n.onContent(e,i,n):this.serializeFragment(e.content,n,i)}return r},lb.prototype.serializeNodeAndMarks=function(e,n){void 0===n&&(n={});for(var t=this.serializeNode(e,n),r=e.marks.length-1;r>=0;r--){var i=this.serializeMark(e.marks[r],e.isInline,n);i&&((i.contentDOM||i.dom).appendChild(t),t=i.dom)}return t},lb.prototype.serializeMark=function(e,n,t){void 0===t&&(t={});var r=this.marks[e.type.name];return r&&lb.renderSpec(db(t),r(e,n))},lb.renderSpec=function(e,n,t){if(void 0===t&&(t=null),"string"==typeof n)return{dom:e.createTextNode(n)};if(null!=n.nodeType)return{dom:n};var r=n[0],i=r.indexOf(" ");i>0&&(t=r.slice(0,i),r=r.slice(i+1));var o=null,a=t?e.createElementNS(t,r):e.createElement(r),s=n[1],l=1;if(s&&"object"==typeof s&&null==s.nodeType&&!Array.isArray(s))for(var c in l=2,s)if(null!=s[c]){var d=c.indexOf(" ");d>0?a.setAttributeNS(c.slice(0,d),c.slice(d+1),s[c]):a.setAttribute(c,s[c])}for(var u=l;u<n.length;u++){var p=n[u];if(0===p){if(u<n.length-1||u>l)throw new RangeError("Content hole must be the only child of its parent node");return{dom:a,contentDOM:a}}var f=lb.renderSpec(e,p,t),A=f.dom,h=f.contentDOM;if(a.appendChild(A),h){if(o)throw new RangeError("Multiple content holes");o=h}}return{dom:a,contentDOM:o}},lb.fromSchema=function(e){return e.cached.domSerializer||(e.cached.domSerializer=new lb(this.nodesFromSchema(e),this.marksFromSchema(e)))},lb.nodesFromSchema=function(e){var n=cb(e.nodes);return n.text||(n.text=function(e){return e.text}),n},lb.marksFromSchema=function(e){return cb(e.marks)};var ub=Object.freeze({__proto__:null,ContentMatch:Bv,DOMParser:Gv,DOMSerializer:lb,Fragment:Xg,Mark:tv,MarkType:Vv,Node:kv,NodeRange:Ev,NodeType:Uv,ReplaceError:rv,ResolvedPos:gv,Schema:Jv,Slice:iv}),pb=Math.pow(2,16);function fb(e){return 65535&e}var Ab=function(e,n,t){void 0===n&&(n=!1),void 0===t&&(t=null),this.pos=e,this.deleted=n,this.recover=t},hb=function(e,n){void 0===n&&(n=!1),this.ranges=e,this.inverted=n};hb.prototype.recover=function(e){var n=0,t=fb(e);if(!this.inverted)for(var r=0;r<t;r++)n+=this.ranges[3*r+2]-this.ranges[3*r+1];return this.ranges[3*t]+n+function(e){return(e-(65535&e))/pb}(e)},hb.prototype.mapResult=function(e,n){return void 0===n&&(n=1),this._map(e,n,!1)},hb.prototype.map=function(e,n){return void 0===n&&(n=1),this._map(e,n,!0)},hb.prototype._map=function(e,n,t){for(var r=0,i=this.inverted?2:1,o=this.inverted?1:2,a=0;a<this.ranges.length;a+=3){var s=this.ranges[a]-(this.inverted?r:0);if(s>e)break;var l=this.ranges[a+i],c=this.ranges[a+o],d=s+l;if(e<=d){var u=s+r+((l?e==s?-1:e==d?1:n:n)<0?0:c);if(t)return u;var p=e==(n<0?s:d)?null:a/3+(e-s)*pb;return new Ab(u,n<0?e!=s:e!=d,p)}r+=c-l}return t?e+r:new Ab(e+r)},hb.prototype.touches=function(e,n){for(var t=0,r=fb(n),i=this.inverted?2:1,o=this.inverted?1:2,a=0;a<this.ranges.length;a+=3){var s=this.ranges[a]-(this.inverted?t:0);if(s>e)break;var l=this.ranges[a+i];if(e<=s+l&&a==3*r)return!0;t+=this.ranges[a+o]-l}return!1},hb.prototype.forEach=function(e){for(var n=this.inverted?2:1,t=this.inverted?1:2,r=0,i=0;r<this.ranges.length;r+=3){var o=this.ranges[r],a=o-(this.inverted?i:0),s=o+(this.inverted?0:i),l=this.ranges[r+n],c=this.ranges[r+t];e(a,a+l,s,s+c),i+=c-l}},hb.prototype.invert=function(){return new hb(this.ranges,!this.inverted)},hb.prototype.toString=function(){return(this.inverted?"-":"")+JSON.stringify(this.ranges)},hb.offset=function(e){return 0==e?hb.empty:new hb(e<0?[0,-e,0]:[0,0,e])},hb.empty=new hb([]);var mb=function(e,n,t,r){this.maps=e||[],this.from=t||0,this.to=null==r?this.maps.length:r,this.mirror=n};function gb(e){var n=Error.call(this,e);return n.__proto__=gb.prototype,n}mb.prototype.slice=function(e,n){return void 0===e&&(e=0),void 0===n&&(n=this.maps.length),new mb(this.maps,this.mirror,e,n)},mb.prototype.copy=function(){return new mb(this.maps.slice(),this.mirror&&this.mirror.slice(),this.from,this.to)},mb.prototype.appendMap=function(e,n){this.to=this.maps.push(e),null!=n&&this.setMirror(this.maps.length-1,n)},mb.prototype.appendMapping=function(e){for(var n=0,t=this.maps.length;n<e.maps.length;n++){var r=e.getMirror(n);this.appendMap(e.maps[n],null!=r&&r<n?t+r:null)}},mb.prototype.getMirror=function(e){if(this.mirror)for(var n=0;n<this.mirror.length;n++)if(this.mirror[n]==e)return this.mirror[n+(n%2?-1:1)]},mb.prototype.setMirror=function(e,n){this.mirror||(this.mirror=[]),this.mirror.push(e,n)},mb.prototype.appendMappingInverted=function(e){for(var n=e.maps.length-1,t=this.maps.length+e.maps.length;n>=0;n--){var r=e.getMirror(n);this.appendMap(e.maps[n].invert(),null!=r&&r>n?t-r-1:null)}},mb.prototype.invert=function(){var e=new mb;return e.appendMappingInverted(this),e},mb.prototype.map=function(e,n){if(void 0===n&&(n=1),this.mirror)return this._map(e,n,!0);for(var t=this.from;t<this.to;t++)e=this.maps[t].map(e,n);return e},mb.prototype.mapResult=function(e,n){return void 0===n&&(n=1),this._map(e,n,!1)},mb.prototype._map=function(e,n,t){for(var r=!1,i=this.from;i<this.to;i++){var o=this.maps[i].mapResult(e,n);if(null!=o.recover){var a=this.getMirror(i);if(null!=a&&a>i&&a<this.to){i=a,e=this.maps[a].recover(o.recover);continue}}o.deleted&&(r=!0),e=o.pos}return t?e:new Ab(e,r)},gb.prototype=Object.create(Error.prototype),gb.prototype.constructor=gb,gb.prototype.name="TransformError";var vb=function(e){this.doc=e,this.steps=[],this.docs=[],this.mapping=new mb},bb={before:{configurable:!0},docChanged:{configurable:!0}};function yb(){throw new Error("Override me")}bb.before.get=function(){return this.docs.length?this.docs[0]:this.doc},vb.prototype.step=function(e){var n=this.maybeStep(e);if(n.failed)throw new gb(n.failed);return this},vb.prototype.maybeStep=function(e){var n=e.apply(this.doc);return n.failed||this.addStep(e,n.doc),n},bb.docChanged.get=function(){return this.steps.length>0},vb.prototype.addStep=function(e,n){this.docs.push(this.doc),this.steps.push(e),this.mapping.appendMap(e.getMap()),this.doc=n},Object.defineProperties(vb.prototype,bb);var Cb=Object.create(null),Eb=function(){};Eb.prototype.apply=function(e){return yb()},Eb.prototype.getMap=function(){return hb.empty},Eb.prototype.invert=function(e){return yb()},Eb.prototype.map=function(e){return yb()},Eb.prototype.merge=function(e){return null},Eb.prototype.toJSON=function(){return yb()},Eb.fromJSON=function(e,n){if(!n||!n.stepType)throw new RangeError("Invalid input for Step.fromJSON");var t=Cb[n.stepType];if(!t)throw new RangeError("No step type "+n.stepType+" defined");return t.fromJSON(e,n)},Eb.jsonID=function(e,n){if(e in Cb)throw new RangeError("Duplicate use of step JSON ID "+e);return Cb[e]=n,n.prototype.jsonID=e,n};var xb=function(e,n){this.doc=e,this.failed=n};xb.ok=function(e){return new xb(e,null)},xb.fail=function(e){return new xb(null,e)},xb.fromReplace=function(e,n,t,r){try{return xb.ok(e.replace(n,t,r))}catch(e){if(e instanceof rv)return xb.fail(e.message);throw e}};var wb=function(e){function n(n,t,r,i){e.call(this),this.from=n,this.to=t,this.slice=r,this.structure=!!i}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.apply=function(e){return this.structure&&_b(e,this.from,this.to)?xb.fail("Structure replace would overwrite content"):xb.fromReplace(e,this.from,this.to,this.slice)},n.prototype.getMap=function(){return new hb([this.from,this.to-this.from,this.slice.size])},n.prototype.invert=function(e){return new n(this.from,this.from+this.slice.size,e.slice(this.from,this.to))},n.prototype.map=function(e){var t=e.mapResult(this.from,1),r=e.mapResult(this.to,-1);return t.deleted&&r.deleted?null:new n(t.pos,Math.max(t.pos,r.pos),this.slice)},n.prototype.merge=function(e){if(!(e instanceof n)||e.structure!=this.structure)return null;if(this.from+this.slice.size!=e.from||this.slice.openEnd||e.slice.openStart){if(e.to!=this.from||this.slice.openStart||e.slice.openEnd)return null;var t=this.slice.size+e.slice.size==0?iv.empty:new iv(e.slice.content.append(this.slice.content),e.slice.openStart,this.slice.openEnd);return new n(e.from,this.to,t,this.structure)}var r=this.slice.size+e.slice.size==0?iv.empty:new iv(this.slice.content.append(e.slice.content),this.slice.openStart,e.slice.openEnd);return new n(this.from,this.to+(e.to-e.from),r,this.structure)},n.prototype.toJSON=function(){var e={stepType:"replace",from:this.from,to:this.to};return this.slice.size&&(e.slice=this.slice.toJSON()),this.structure&&(e.structure=!0),e},n.fromJSON=function(e,t){if("number"!=typeof t.from||"number"!=typeof t.to)throw new RangeError("Invalid input for ReplaceStep.fromJSON");return new n(t.from,t.to,iv.fromJSON(e,t.slice),!!t.structure)},n}(Eb);Eb.jsonID("replace",wb);var kb=function(e){function n(n,t,r,i,o,a,s){e.call(this),this.from=n,this.to=t,this.gapFrom=r,this.gapTo=i,this.slice=o,this.insert=a,this.structure=!!s}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.apply=function(e){if(this.structure&&(_b(e,this.from,this.gapFrom)||_b(e,this.gapTo,this.to)))return xb.fail("Structure gap-replace would overwrite content");var n=e.slice(this.gapFrom,this.gapTo);if(n.openStart||n.openEnd)return xb.fail("Gap is not a flat range");var t=this.slice.insertAt(this.insert,n.content);return t?xb.fromReplace(e,this.from,this.to,t):xb.fail("Content does not fit in gap")},n.prototype.getMap=function(){return new hb([this.from,this.gapFrom-this.from,this.insert,this.gapTo,this.to-this.gapTo,this.slice.size-this.insert])},n.prototype.invert=function(e){var t=this.gapTo-this.gapFrom;return new n(this.from,this.from+this.slice.size+t,this.from+this.insert,this.from+this.insert+t,e.slice(this.from,this.to).removeBetween(this.gapFrom-this.from,this.gapTo-this.from),this.gapFrom-this.from,this.structure)},n.prototype.map=function(e){var t=e.mapResult(this.from,1),r=e.mapResult(this.to,-1),i=e.map(this.gapFrom,-1),o=e.map(this.gapTo,1);return t.deleted&&r.deleted||i<t.pos||o>r.pos?null:new n(t.pos,r.pos,i,o,this.slice,this.insert,this.structure)},n.prototype.toJSON=function(){var e={stepType:"replaceAround",from:this.from,to:this.to,gapFrom:this.gapFrom,gapTo:this.gapTo,insert:this.insert};return this.slice.size&&(e.slice=this.slice.toJSON()),this.structure&&(e.structure=!0),e},n.fromJSON=function(e,t){if("number"!=typeof t.from||"number"!=typeof t.to||"number"!=typeof t.gapFrom||"number"!=typeof t.gapTo||"number"!=typeof t.insert)throw new RangeError("Invalid input for ReplaceAroundStep.fromJSON");return new n(t.from,t.to,t.gapFrom,t.gapTo,iv.fromJSON(e,t.slice),t.insert,!!t.structure)},n}(Eb);function _b(e,n,t){for(var r=e.resolve(n),i=t-n,o=r.depth;i>0&&o>0&&r.indexAfter(o)==r.node(o).childCount;)o--,i--;if(i>0)for(var a=r.node(o).maybeChild(r.indexAfter(o));i>0;){if(!a||a.isLeaf)return!0;a=a.firstChild,i--}return!1}function Sb(e,n,t){return(0==n||e.canReplace(n,e.childCount))&&(t==e.childCount||e.canReplace(0,t))}function Db(e){for(var n=e.parent.content.cutByIndex(e.startIndex,e.endIndex),t=e.depth;;--t){var r=e.$from.node(t),i=e.$from.index(t),o=e.$to.indexAfter(t);if(t<e.depth&&r.canReplace(i,o,n))return t;if(0==t||r.type.spec.isolating||!Sb(r,i,o))break}}function Bb(e,n,t,r){void 0===t&&(t=1);var i=e.resolve(n),o=i.depth-t,a=r&&r[r.length-1]||i.parent;if(o<0||i.parent.type.spec.isolating||!i.parent.canReplace(i.index(),i.parent.childCount)||!a.type.validContent(i.parent.content.cutByIndex(i.index(),i.parent.childCount)))return!1;for(var s=i.depth-1,l=t-2;s>o;s--,l--){var c=i.node(s),d=i.index(s);if(c.type.spec.isolating)return!1;var u=c.content.cutByIndex(d,c.childCount),p=r&&r[l]||c;if(p!=c&&(u=u.replaceChild(0,p.type.create(p.attrs))),!c.canReplace(d+1,c.childCount)||!p.type.validContent(u))return!1}var f=i.indexAfter(o),A=r&&r[0];return i.node(o).canReplaceWith(f,f,A?A.type:i.node(o+1).type)}function zb(e,n){var t,r,i=e.resolve(n),o=i.index();return t=i.nodeBefore,r=i.nodeAfter,t&&r&&!t.isLeaf&&t.canAppend(r)&&i.parent.canReplace(o,o+1)}function Ob(e,n,t){var r=e.resolve(n);if(!t.content.size)return n;for(var i=t.content,o=0;o<t.openStart;o++)i=i.firstChild.content;for(var a=1;a<=(0==t.openStart&&t.size?2:1);a++)for(var s=r.depth;s>=0;s--){var l=s==r.depth?0:r.pos<=(r.start(s+1)+r.end(s+1))/2?-1:1,c=r.index(s)+(l>0?1:0);if(1==a?r.node(s).canReplace(c,c,i):r.node(s).contentMatchAt(c).findWrapping(i.firstChild.type))return 0==l?r.pos:l<0?r.before(s+1):r.after(s+1)}return null}function Mb(e,n,t){for(var r=[],i=0;i<e.childCount;i++){var o=e.child(i);o.content.size&&(o=o.copy(Mb(o.content,n,o))),o.isInline&&(o=n(o,t,i)),r.push(o)}return Xg.fromArray(r)}Eb.jsonID("replaceAround",kb),vb.prototype.lift=function(e,n){for(var t=e.$from,r=e.$to,i=e.depth,o=t.before(i+1),a=r.after(i+1),s=o,l=a,c=Xg.empty,d=0,u=i,p=!1;u>n;u--)p||t.index(u)>0?(p=!0,c=Xg.from(t.node(u).copy(c)),d++):s--;for(var f=Xg.empty,A=0,h=i,m=!1;h>n;h--)m||r.after(h+1)<r.end(h)?(m=!0,f=Xg.from(r.node(h).copy(f)),A++):l++;return this.step(new kb(s,l,o,a,new iv(c.append(f),d,A),c.size-d,!0))},vb.prototype.wrap=function(e,n){for(var t=Xg.empty,r=n.length-1;r>=0;r--)t=Xg.from(n[r].type.create(n[r].attrs,t));var i=e.start,o=e.end;return this.step(new kb(i,o,i,o,new iv(t,0,0),n.length,!0))},vb.prototype.setBlockType=function(e,n,t,r){var i=this;if(void 0===n&&(n=e),!t.isTextblock)throw new RangeError("Type given to setBlockType should be a textblock");var o=this.steps.length;return this.doc.nodesBetween(e,n,(function(e,n){if(e.isTextblock&&!e.hasMarkup(t,r)&&function(e,n,t){var r=e.resolve(n),i=r.index();return r.parent.canReplaceWith(i,i+1,t)}(i.doc,i.mapping.slice(o).map(n),t)){i.clearIncompatible(i.mapping.slice(o).map(n,1),t);var a=i.mapping.slice(o),s=a.map(n,1),l=a.map(n+e.nodeSize,1);return i.step(new kb(s,l,s+1,l-1,new iv(Xg.from(t.create(r,null,e.marks)),0,0),1,!0)),!1}})),this},vb.prototype.setNodeMarkup=function(e,n,t,r){var i=this.doc.nodeAt(e);if(!i)throw new RangeError("No node at given position");n||(n=i.type);var o=n.create(t,null,r||i.marks);if(i.isLeaf)return this.replaceWith(e,e+i.nodeSize,o);if(!n.validContent(i.content))throw new RangeError("Invalid content for node type "+n.name);return this.step(new kb(e,e+i.nodeSize,e+1,e+i.nodeSize-1,new iv(Xg.from(o),0,0),1,!0))},vb.prototype.split=function(e,n,t){void 0===n&&(n=1);for(var r=this.doc.resolve(e),i=Xg.empty,o=Xg.empty,a=r.depth,s=r.depth-n,l=n-1;a>s;a--,l--){i=Xg.from(r.node(a).copy(i));var c=t&&t[l];o=Xg.from(c?c.type.create(c.attrs,o):r.node(a).copy(o))}return this.step(new wb(e,e,new iv(i.append(o),n,n),!0))},vb.prototype.join=function(e,n){void 0===n&&(n=1);var t=new wb(e-n,e+n,iv.empty,!0);return this.step(t)};var Tb=function(e){function n(n,t,r){e.call(this),this.from=n,this.to=t,this.mark=r}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.apply=function(e){var n=this,t=e.slice(this.from,this.to),r=e.resolve(this.from),i=r.node(r.sharedDepth(this.to)),o=new iv(Mb(t.content,(function(e,t){return t.type.allowsMarkType(n.mark.type)?e.mark(n.mark.addToSet(e.marks)):e}),i),t.openStart,t.openEnd);return xb.fromReplace(e,this.from,this.to,o)},n.prototype.invert=function(){return new Ib(this.from,this.to,this.mark)},n.prototype.map=function(e){var t=e.mapResult(this.from,1),r=e.mapResult(this.to,-1);return t.deleted&&r.deleted||t.pos>=r.pos?null:new n(t.pos,r.pos,this.mark)},n.prototype.merge=function(e){if(e instanceof n&&e.mark.eq(this.mark)&&this.from<=e.to&&this.to>=e.from)return new n(Math.min(this.from,e.from),Math.max(this.to,e.to),this.mark)},n.prototype.toJSON=function(){return{stepType:"addMark",mark:this.mark.toJSON(),from:this.from,to:this.to}},n.fromJSON=function(e,t){if("number"!=typeof t.from||"number"!=typeof t.to)throw new RangeError("Invalid input for AddMarkStep.fromJSON");return new n(t.from,t.to,e.markFromJSON(t.mark))},n}(Eb);Eb.jsonID("addMark",Tb);var Ib=function(e){function n(n,t,r){e.call(this),this.from=n,this.to=t,this.mark=r}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.apply=function(e){var n=this,t=e.slice(this.from,this.to),r=new iv(Mb(t.content,(function(e){return e.mark(n.mark.removeFromSet(e.marks))})),t.openStart,t.openEnd);return xb.fromReplace(e,this.from,this.to,r)},n.prototype.invert=function(){return new Tb(this.from,this.to,this.mark)},n.prototype.map=function(e){var t=e.mapResult(this.from,1),r=e.mapResult(this.to,-1);return t.deleted&&r.deleted||t.pos>=r.pos?null:new n(t.pos,r.pos,this.mark)},n.prototype.merge=function(e){if(e instanceof n&&e.mark.eq(this.mark)&&this.from<=e.to&&this.to>=e.from)return new n(Math.min(this.from,e.from),Math.max(this.to,e.to),this.mark)},n.prototype.toJSON=function(){return{stepType:"removeMark",mark:this.mark.toJSON(),from:this.from,to:this.to}},n.fromJSON=function(e,t){if("number"!=typeof t.from||"number"!=typeof t.to)throw new RangeError("Invalid input for RemoveMarkStep.fromJSON");return new n(t.from,t.to,e.markFromJSON(t.mark))},n}(Eb);function $b(e,n,t){return!t.openStart&&!t.openEnd&&e.start()==n.start()&&e.parent.canReplace(e.index(),n.index(),t.content)}Eb.jsonID("removeMark",Ib),vb.prototype.addMark=function(e,n,t){var r=this,i=[],o=[],a=null,s=null;return this.doc.nodesBetween(e,n,(function(r,l,c){if(r.isInline){var d=r.marks;if(!t.isInSet(d)&&c.type.allowsMarkType(t.type)){for(var u=Math.max(l,e),p=Math.min(l+r.nodeSize,n),f=t.addToSet(d),A=0;A<d.length;A++)d[A].isInSet(f)||(a&&a.to==u&&a.mark.eq(d[A])?a.to=p:i.push(a=new Ib(u,p,d[A])));s&&s.to==u?s.to=p:o.push(s=new Tb(u,p,t))}}})),i.forEach((function(e){return r.step(e)})),o.forEach((function(e){return r.step(e)})),this},vb.prototype.removeMark=function(e,n,t){var r=this;void 0===t&&(t=null);var i=[],o=0;return this.doc.nodesBetween(e,n,(function(r,a){if(r.isInline){o++;var s=null;if(t instanceof Vv){var l=t.isInSet(r.marks);l&&(s=[l])}else t?t.isInSet(r.marks)&&(s=[t]):s=r.marks;if(s&&s.length)for(var c=Math.min(a+r.nodeSize,n),d=0;d<s.length;d++){for(var u=s[d],p=void 0,f=0;f<i.length;f++){var A=i[f];A.step==o-1&&u.eq(i[f].style)&&(p=A)}p?(p.to=c,p.step=o):i.push({style:u,from:Math.max(a,e),to:c,step:o})}}})),i.forEach((function(e){return r.step(new Ib(e.from,e.to,e.style))})),this},vb.prototype.clearIncompatible=function(e,n,t){void 0===t&&(t=n.contentMatch);for(var r=this.doc.nodeAt(e),i=[],o=e+1,a=0;a<r.childCount;a++){var s=r.child(a),l=o+s.nodeSize,c=t.matchType(s.type,s.attrs);if(c){t=c;for(var d=0;d<s.marks.length;d++)n.allowsMarkType(s.marks[d].type)||this.step(new Ib(o,l,s.marks[d]))}else i.push(new wb(o,l,iv.empty));o=l}if(!t.validEnd){var u=t.fillBefore(Xg.empty,!0);this.replace(o,o,new iv(u,0,0))}for(var p=i.length-1;p>=0;p--)this.step(i[p]);return this},vb.prototype.replace=function(e,n,t){void 0===n&&(n=e),void 0===t&&(t=iv.empty);var r=function(e,n,t,r){if(void 0===t&&(t=n),void 0===r&&(r=iv.empty),n==t&&!r.size)return null;var i=e.resolve(n),o=e.resolve(t);return $b(i,o,r)?new wb(n,t,r):new Nb(i,o,r).fit()}(this.doc,e,n,t);return r&&this.step(r),this},vb.prototype.replaceWith=function(e,n,t){return this.replace(e,n,new iv(Xg.from(t),0,0))},vb.prototype.delete=function(e,n){return this.replace(e,n,iv.empty)},vb.prototype.insert=function(e,n){return this.replaceWith(e,e,n)};var Nb=function(e,n,t){this.$to=n,this.$from=e,this.unplaced=t,this.frontier=[];for(var r=0;r<=e.depth;r++){var i=e.node(r);this.frontier.push({type:i.type,match:i.contentMatchAt(e.indexAfter(r))})}this.placed=Xg.empty;for(var o=e.depth;o>0;o--)this.placed=Xg.from(e.node(o).copy(this.placed))},Rb={depth:{configurable:!0}};function Fb(e,n,t){return 0==n?e.cutByIndex(t):e.replaceChild(0,e.firstChild.copy(Fb(e.firstChild.content,n-1,t)))}function Lb(e,n,t){return 0==n?e.append(t):e.replaceChild(e.childCount-1,e.lastChild.copy(Lb(e.lastChild.content,n-1,t)))}function Pb(e,n){for(var t=0;t<n;t++)e=e.firstChild.content;return e}function jb(e,n,t){if(n<=0)return e;var r=e.content;return n>1&&(r=r.replaceChild(0,jb(r.firstChild,n-1,1==r.childCount?t-1:0))),n>0&&(r=e.type.contentMatch.fillBefore(r).append(r),t<=0&&(r=r.append(e.type.contentMatch.matchFragment(r).fillBefore(Xg.empty,!0)))),e.copy(r)}function Yb(e,n,t,r,i){var o=e.node(n),a=i?e.indexAfter(n):e.index(n);if(a==o.childCount&&!t.compatibleContent(o.type))return null;var s=r.fillBefore(o.content,!0,a);return s&&!function(e,n,t){for(var r=t;r<n.childCount;r++)if(!e.allowsMarks(n.child(r).marks))return!0;return!1}(t,o.content,a)?s:null}function Ub(e,n,t,r,i){if(n<t){var o=e.firstChild;e=e.replaceChild(0,o.copy(Ub(o.content,n+1,t,r,o)))}if(n>r){var a=i.contentMatchAt(0),s=a.fillBefore(e).append(e);e=s.append(a.matchFragment(s).fillBefore(Xg.empty,!0))}return e}function qb(e,n){for(var t=[],r=Math.min(e.depth,n.depth);r>=0;r--){var i=e.start(r);if(i<e.pos-(e.depth-r)||n.end(r)>n.pos+(n.depth-r)||e.node(r).type.spec.isolating||n.node(r).type.spec.isolating)break;i==n.start(r)&&t.push(r)}return t}Rb.depth.get=function(){return this.frontier.length-1},Nb.prototype.fit=function(){for(;this.unplaced.size;){var e=this.findFittable();e?this.placeNodes(e):this.openMore()||this.dropNode()}var n=this.mustMoveInline(),t=this.placed.size-this.depth-this.$from.depth,r=this.$from,i=this.close(n<0?this.$to:r.doc.resolve(n));if(!i)return null;for(var o=this.placed,a=r.depth,s=i.depth;a&&s&&1==o.childCount;)o=o.firstChild.content,a--,s--;var l=new iv(o,a,s);return n>-1?new kb(r.pos,n,this.$to.pos,this.$to.end(),l,t):l.size||r.pos!=this.$to.pos?new wb(r.pos,i.pos,l):void 0},Nb.prototype.findFittable=function(){for(var e=1;e<=2;e++)for(var n=this.unplaced.openStart;n>=0;n--)for(var t=void 0,r=(n?(t=Pb(this.unplaced.content,n-1).firstChild).content:this.unplaced.content).firstChild,i=this.depth;i>=0;i--){var o=this.frontier[i],a=o.type,s=o.match,l=void 0,c=void 0;if(1==e&&(r?s.matchType(r.type)||(c=s.fillBefore(Xg.from(r),!1)):a.compatibleContent(t.type)))return{sliceDepth:n,frontierDepth:i,parent:t,inject:c};if(2==e&&r&&(l=s.findWrapping(r.type)))return{sliceDepth:n,frontierDepth:i,parent:t,wrap:l};if(t&&s.matchType(t.type))break}},Nb.prototype.openMore=function(){var e=this.unplaced,n=e.content,t=e.openStart,r=e.openEnd,i=Pb(n,t);return!(!i.childCount||i.firstChild.isLeaf)&&(this.unplaced=new iv(n,t+1,Math.max(r,i.size+t>=n.size-r?t+1:0)),!0)},Nb.prototype.dropNode=function(){var e=this.unplaced,n=e.content,t=e.openStart,r=e.openEnd,i=Pb(n,t);if(i.childCount<=1&&t>0){var o=n.size-t<=t+i.size;this.unplaced=new iv(Fb(n,t-1,1),t-1,o?t-1:r)}else this.unplaced=new iv(Fb(n,t,1),t,r)},Nb.prototype.placeNodes=function(e){for(var n=e.sliceDepth,t=e.frontierDepth,r=e.parent,i=e.inject,o=e.wrap;this.depth>t;)this.closeFrontierNode();if(o)for(var a=0;a<o.length;a++)this.openFrontierNode(o[a]);var s=this.unplaced,l=r?r.content:s.content,c=s.openStart-n,d=0,u=[],p=this.frontier[t],f=p.match,A=p.type;if(i){for(var h=0;h<i.childCount;h++)u.push(i.child(h));f=f.matchFragment(i)}for(var m=l.size+n-(s.content.size-s.openEnd);d<l.childCount;){var g=l.child(d),v=f.matchType(g.type);if(!v)break;(++d>1||0==c||g.content.size)&&(f=v,u.push(jb(g.mark(A.allowedMarks(g.marks)),1==d?c:0,d==l.childCount?m:-1)))}var b=d==l.childCount;b||(m=-1),this.placed=Lb(this.placed,t,Xg.from(u)),this.frontier[t].match=f,b&&m<0&&r&&r.type==this.frontier[this.depth].type&&this.frontier.length>1&&this.closeFrontierNode();for(var y=0,C=l;y<m;y++){var E=C.lastChild;this.frontier.push({type:E.type,match:E.contentMatchAt(E.childCount)}),C=E.content}this.unplaced=b?0==n?iv.empty:new iv(Fb(s.content,n-1,1),n-1,m<0?s.openEnd:n-1):new iv(Fb(s.content,n,d),s.openStart,s.openEnd)},Nb.prototype.mustMoveInline=function(){if(!this.$to.parent.isTextblock||this.$to.end()==this.$to.pos)return-1;var e,n=this.frontier[this.depth];if(!n.type.isTextblock||!Yb(this.$to,this.$to.depth,n.type,n.match,!1)||this.$to.depth==this.depth&&(e=this.findCloseLevel(this.$to))&&e.depth==this.depth)return-1;for(var t=this.$to.depth,r=this.$to.after(t);t>1&&r==this.$to.end(--t);)++r;return r},Nb.prototype.findCloseLevel=function(e){e:for(var n=Math.min(this.depth,e.depth);n>=0;n--){var t=this.frontier[n],r=t.match,i=t.type,o=n<e.depth&&e.end(n+1)==e.pos+(e.depth-(n+1)),a=Yb(e,n,i,r,o);if(a){for(var s=n-1;s>=0;s--){var l=this.frontier[s],c=l.match,d=Yb(e,s,l.type,c,!0);if(!d||d.childCount)continue e}return{depth:n,fit:a,move:o?e.doc.resolve(e.after(n+1)):e}}}},Nb.prototype.close=function(e){var n=this.findCloseLevel(e);if(!n)return null;for(;this.depth>n.depth;)this.closeFrontierNode();n.fit.childCount&&(this.placed=Lb(this.placed,n.depth,n.fit)),e=n.move;for(var t=n.depth+1;t<=e.depth;t++){var r=e.node(t),i=r.type.contentMatch.fillBefore(r.content,!0,e.index(t));this.openFrontierNode(r.type,r.attrs,i)}return e},Nb.prototype.openFrontierNode=function(e,n,t){var r=this.frontier[this.depth];r.match=r.match.matchType(e),this.placed=Lb(this.placed,this.depth,Xg.from(e.create(n,t))),this.frontier.push({type:e,match:e.contentMatch})},Nb.prototype.closeFrontierNode=function(){var e=this.frontier.pop().match.fillBefore(Xg.empty,!0);e.childCount&&(this.placed=Lb(this.placed,this.frontier.length,e))},Object.defineProperties(Nb.prototype,Rb),vb.prototype.replaceRange=function(e,n,t){if(!t.size)return this.deleteRange(e,n);var r=this.doc.resolve(e),i=this.doc.resolve(n);if($b(r,i,t))return this.step(new wb(e,n,t));var o=qb(r,this.doc.resolve(n));0==o[o.length-1]&&o.pop();var a=-(r.depth+1);o.unshift(a);for(var s=r.depth,l=r.pos-1;s>0;s--,l--){var c=r.node(s).type.spec;if(c.defining||c.isolating)break;o.indexOf(s)>-1?a=s:r.before(s)==l&&o.splice(1,0,-s)}for(var d=o.indexOf(a),u=[],p=t.openStart,f=t.content,A=0;;A++){var h=f.firstChild;if(u.push(h),A==t.openStart)break;f=h.content}p>0&&u[p-1].type.spec.defining&&r.node(d).type!=u[p-1].type?p-=1:p>=2&&u[p-1].isTextblock&&u[p-2].type.spec.defining&&r.node(d).type!=u[p-2].type&&(p-=2);for(var m=t.openStart;m>=0;m--){var g=(m+p+1)%(t.openStart+1),v=u[g];if(v)for(var b=0;b<o.length;b++){var y=o[(b+d)%o.length],C=!0;y<0&&(C=!1,y=-y);var E=r.node(y-1),x=r.index(y-1);if(E.canReplaceWith(x,x,v.type,v.marks))return this.replace(r.before(y),C?i.after(y):n,new iv(Ub(t.content,0,t.openStart,g),g,t.openEnd))}}for(var w=this.steps.length,k=o.length-1;k>=0&&(this.replace(e,n,t),!(this.steps.length>w));k--){var _=o[k];k<0||(e=r.before(_),n=i.after(_))}return this},vb.prototype.replaceRangeWith=function(e,n,t){if(!t.isInline&&e==n&&this.doc.resolve(e).parent.content.size){var r=function(e,n,t){var r=e.resolve(n);if(r.parent.canReplaceWith(r.index(),r.index(),t))return n;if(0==r.parentOffset)for(var i=r.depth-1;i>=0;i--){var o=r.index(i);if(r.node(i).canReplaceWith(o,o,t))return r.before(i+1);if(o>0)return null}if(r.parentOffset==r.parent.content.size)for(var a=r.depth-1;a>=0;a--){var s=r.indexAfter(a);if(r.node(a).canReplaceWith(s,s,t))return r.after(a+1);if(s<r.node(a).childCount)return null}}(this.doc,e,t.type);null!=r&&(e=n=r)}return this.replaceRange(e,n,new iv(Xg.from(t),0,0))},vb.prototype.deleteRange=function(e,n){for(var t=this.doc.resolve(e),r=this.doc.resolve(n),i=qb(t,r),o=0;o<i.length;o++){var a=i[o],s=o==i.length-1;if(s&&0==a||t.node(a).type.contentMatch.validEnd)return this.delete(t.start(a),r.end(a));if(a>0&&(s||t.node(a-1).canReplace(t.index(a-1),r.indexAfter(a-1))))return this.delete(t.before(a),r.after(a))}for(var l=1;l<=t.depth&&l<=r.depth;l++)if(e-t.start(l)==t.depth-l&&n>t.end(l)&&r.end(l)-n!=r.depth-l)return this.delete(t.before(l),n);return this.delete(e,n)};var Hb=Object.create(null),Wb=function(e,n,t){this.ranges=t||[new Jb(e.min(n),e.max(n))],this.$anchor=e,this.$head=n},Vb={anchor:{configurable:!0},head:{configurable:!0},from:{configurable:!0},to:{configurable:!0},$from:{configurable:!0},$to:{configurable:!0},empty:{configurable:!0}};Vb.anchor.get=function(){return this.$anchor.pos},Vb.head.get=function(){return this.$head.pos},Vb.from.get=function(){return this.$from.pos},Vb.to.get=function(){return this.$to.pos},Vb.$from.get=function(){return this.ranges[0].$from},Vb.$to.get=function(){return this.ranges[0].$to},Vb.empty.get=function(){for(var e=this.ranges,n=0;n<e.length;n++)if(e[n].$from.pos!=e[n].$to.pos)return!1;return!0},Wb.prototype.content=function(){return this.$from.node(0).slice(this.from,this.to,!0)},Wb.prototype.replace=function(e,n){void 0===n&&(n=iv.empty);for(var t=n.content.lastChild,r=null,i=0;i<n.openEnd;i++)r=t,t=t.lastChild;for(var o=e.steps.length,a=this.ranges,s=0;s<a.length;s++){var l=a[s],c=l.$from,d=l.$to,u=e.mapping.slice(o);e.replaceRange(u.map(c.pos),u.map(d.pos),s?iv.empty:n),0==s&&ty(e,o,(t?t.isInline:r&&r.isTextblock)?-1:1)}},Wb.prototype.replaceWith=function(e,n){for(var t=e.steps.length,r=this.ranges,i=0;i<r.length;i++){var o=r[i],a=o.$from,s=o.$to,l=e.mapping.slice(t),c=l.map(a.pos),d=l.map(s.pos);i?e.deleteRange(c,d):(e.replaceRangeWith(c,d,n),ty(e,t,n.isInline?-1:1))}},Wb.findFrom=function(e,n,t){var r=e.parent.inlineContent?new Kb(e):ny(e.node(0),e.parent,e.pos,e.index(),n,t);if(r)return r;for(var i=e.depth-1;i>=0;i--){var o=n<0?ny(e.node(0),e.node(i),e.before(i+1),e.index(i),n,t):ny(e.node(0),e.node(i),e.after(i+1),e.index(i)+1,n,t);if(o)return o}},Wb.near=function(e,n){return void 0===n&&(n=1),this.findFrom(e,n)||this.findFrom(e,-n)||new Zb(e.node(0))},Wb.atStart=function(e){return ny(e,e,0,0,1)||new Zb(e)},Wb.atEnd=function(e){return ny(e,e,e.content.size,e.childCount,-1)||new Zb(e)},Wb.fromJSON=function(e,n){if(!n||!n.type)throw new RangeError("Invalid input for Selection.fromJSON");var t=Hb[n.type];if(!t)throw new RangeError("No selection type "+n.type+" defined");return t.fromJSON(e,n)},Wb.jsonID=function(e,n){if(e in Hb)throw new RangeError("Duplicate use of selection JSON ID "+e);return Hb[e]=n,n.prototype.jsonID=e,n},Wb.prototype.getBookmark=function(){return Kb.between(this.$anchor,this.$head).getBookmark()},Object.defineProperties(Wb.prototype,Vb),Wb.prototype.visible=!0;var Jb=function(e,n){this.$from=e,this.$to=n},Kb=function(e){function n(n,t){void 0===t&&(t=n),e.call(this,n,t)}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var t={$cursor:{configurable:!0}};return t.$cursor.get=function(){return this.$anchor.pos==this.$head.pos?this.$head:null},n.prototype.map=function(t,r){var i=t.resolve(r.map(this.head));if(!i.parent.inlineContent)return e.near(i);var o=t.resolve(r.map(this.anchor));return new n(o.parent.inlineContent?o:i,i)},n.prototype.replace=function(n,t){if(void 0===t&&(t=iv.empty),e.prototype.replace.call(this,n,t),t==iv.empty){var r=this.$from.marksAcross(this.$to);r&&n.ensureMarks(r)}},n.prototype.eq=function(e){return e instanceof n&&e.anchor==this.anchor&&e.head==this.head},n.prototype.getBookmark=function(){return new Gb(this.anchor,this.head)},n.prototype.toJSON=function(){return{type:"text",anchor:this.anchor,head:this.head}},n.fromJSON=function(e,t){if("number"!=typeof t.anchor||"number"!=typeof t.head)throw new RangeError("Invalid input for TextSelection.fromJSON");return new n(e.resolve(t.anchor),e.resolve(t.head))},n.create=function(e,n,t){void 0===t&&(t=n);var r=e.resolve(n);return new this(r,t==n?r:e.resolve(t))},n.between=function(t,r,i){var o=t.pos-r.pos;if(i&&!o||(i=o>=0?1:-1),!r.parent.inlineContent){var a=e.findFrom(r,i,!0)||e.findFrom(r,-i,!0);if(!a)return e.near(r,i);r=a.$head}return t.parent.inlineContent||(0==o||(t=(e.findFrom(t,-i,!0)||e.findFrom(t,i,!0)).$anchor).pos<r.pos!=o<0)&&(t=r),new n(t,r)},Object.defineProperties(n.prototype,t),n}(Wb);Wb.jsonID("text",Kb);var Gb=function(e,n){this.anchor=e,this.head=n};Gb.prototype.map=function(e){return new Gb(e.map(this.anchor),e.map(this.head))},Gb.prototype.resolve=function(e){return Kb.between(e.resolve(this.anchor),e.resolve(this.head))};var Xb=function(e){function n(n){var t=n.nodeAfter,r=n.node(0).resolve(n.pos+t.nodeSize);e.call(this,n,r),this.node=t}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.map=function(t,r){var i=r.mapResult(this.anchor),o=i.deleted,a=i.pos,s=t.resolve(a);return o?e.near(s):new n(s)},n.prototype.content=function(){return new iv(Xg.from(this.node),0,0)},n.prototype.eq=function(e){return e instanceof n&&e.anchor==this.anchor},n.prototype.toJSON=function(){return{type:"node",anchor:this.anchor}},n.prototype.getBookmark=function(){return new Qb(this.anchor)},n.fromJSON=function(e,t){if("number"!=typeof t.anchor)throw new RangeError("Invalid input for NodeSelection.fromJSON");return new n(e.resolve(t.anchor))},n.create=function(e,n){return new this(e.resolve(n))},n.isSelectable=function(e){return!e.isText&&!1!==e.type.spec.selectable},n}(Wb);Xb.prototype.visible=!1,Wb.jsonID("node",Xb);var Qb=function(e){this.anchor=e};Qb.prototype.map=function(e){var n=e.mapResult(this.anchor),t=n.deleted,r=n.pos;return t?new Gb(r,r):new Qb(r)},Qb.prototype.resolve=function(e){var n=e.resolve(this.anchor),t=n.nodeAfter;return t&&Xb.isSelectable(t)?new Xb(n):Wb.near(n)};var Zb=function(e){function n(n){e.call(this,n.resolve(0),n.resolve(n.content.size))}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.replace=function(n,t){if(void 0===t&&(t=iv.empty),t==iv.empty){n.delete(0,n.doc.content.size);var r=e.atStart(n.doc);r.eq(n.selection)||n.setSelection(r)}else e.prototype.replace.call(this,n,t)},n.prototype.toJSON=function(){return{type:"all"}},n.fromJSON=function(e){return new n(e)},n.prototype.map=function(e){return new n(e)},n.prototype.eq=function(e){return e instanceof n},n.prototype.getBookmark=function(){return ey},n}(Wb);Wb.jsonID("all",Zb);var ey={map:function(){return this},resolve:function(e){return new Zb(e)}};function ny(e,n,t,r,i,o){if(n.inlineContent)return Kb.create(e,t);for(var a=r-(i>0?0:1);i>0?a<n.childCount:a>=0;a+=i){var s=n.child(a);if(s.isAtom){if(!o&&Xb.isSelectable(s))return Xb.create(e,t-(i<0?s.nodeSize:0))}else{var l=ny(e,s,t+i,i<0?s.childCount:0,i,o);if(l)return l}t+=s.nodeSize*i}}function ty(e,n,t){var r=e.steps.length-1;if(!(r<n)){var i,o=e.steps[r];if(o instanceof wb||o instanceof kb)e.mapping.maps[r].forEach((function(e,n,t,r){null==i&&(i=r)})),e.setSelection(Wb.near(e.doc.resolve(i),t))}}var ry=function(e){function n(n){e.call(this,n.doc),this.time=Date.now(),this.curSelection=n.selection,this.curSelectionFor=0,this.storedMarks=n.storedMarks,this.updated=0,this.meta=Object.create(null)}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var t={selection:{configurable:!0},selectionSet:{configurable:!0},storedMarksSet:{configurable:!0},isGeneric:{configurable:!0},scrolledIntoView:{configurable:!0}};return t.selection.get=function(){return this.curSelectionFor<this.steps.length&&(this.curSelection=this.curSelection.map(this.doc,this.mapping.slice(this.curSelectionFor)),this.curSelectionFor=this.steps.length),this.curSelection},n.prototype.setSelection=function(e){if(e.$from.doc!=this.doc)throw new RangeError("Selection passed to setSelection must point at the current document");return this.curSelection=e,this.curSelectionFor=this.steps.length,this.updated=-3&(1|this.updated),this.storedMarks=null,this},t.selectionSet.get=function(){return(1&this.updated)>0},n.prototype.setStoredMarks=function(e){return this.storedMarks=e,this.updated|=2,this},n.prototype.ensureMarks=function(e){return tv.sameSet(this.storedMarks||this.selection.$from.marks(),e)||this.setStoredMarks(e),this},n.prototype.addStoredMark=function(e){return this.ensureMarks(e.addToSet(this.storedMarks||this.selection.$head.marks()))},n.prototype.removeStoredMark=function(e){return this.ensureMarks(e.removeFromSet(this.storedMarks||this.selection.$head.marks()))},t.storedMarksSet.get=function(){return(2&this.updated)>0},n.prototype.addStep=function(n,t){e.prototype.addStep.call(this,n,t),this.updated=-3&this.updated,this.storedMarks=null},n.prototype.setTime=function(e){return this.time=e,this},n.prototype.replaceSelection=function(e){return this.selection.replace(this,e),this},n.prototype.replaceSelectionWith=function(e,n){var t=this.selection;return!1!==n&&(e=e.mark(this.storedMarks||(t.empty?t.$from.marks():t.$from.marksAcross(t.$to)||tv.none))),t.replaceWith(this,e),this},n.prototype.deleteSelection=function(){return this.selection.replace(this),this},n.prototype.insertText=function(e,n,t){void 0===t&&(t=n);var r=this.doc.type.schema;if(null==n)return e?this.replaceSelectionWith(r.text(e),!0):this.deleteSelection();if(!e)return this.deleteRange(n,t);var i=this.storedMarks;if(!i){var o=this.doc.resolve(n);i=t==n?o.marks():o.marksAcross(this.doc.resolve(t))}return this.replaceRangeWith(n,t,r.text(e,i)),this.selection.empty||this.setSelection(Wb.near(this.selection.$to)),this},n.prototype.setMeta=function(e,n){return this.meta["string"==typeof e?e:e.key]=n,this},n.prototype.getMeta=function(e){return this.meta["string"==typeof e?e:e.key]},t.isGeneric.get=function(){for(var e in this.meta)return!1;return!0},n.prototype.scrollIntoView=function(){return this.updated|=4,this},t.scrolledIntoView.get=function(){return(4&this.updated)>0},Object.defineProperties(n.prototype,t),n}(vb);function iy(e,n){return n&&e?e.bind(n):e}var oy=function(e,n,t){this.name=e,this.init=iy(n.init,t),this.apply=iy(n.apply,t)},ay=[new oy("doc",{init:function(e){return e.doc||e.schema.topNodeType.createAndFill()},apply:function(e){return e.doc}}),new oy("selection",{init:function(e,n){return e.selection||Wb.atStart(n.doc)},apply:function(e){return e.selection}}),new oy("storedMarks",{init:function(e){return e.storedMarks||null},apply:function(e,n,t,r){return r.selection.$cursor?e.storedMarks:null}}),new oy("scrollToSelection",{init:function(){return 0},apply:function(e,n){return e.scrolledIntoView?n+1:n}})],sy=function(e,n){var t=this;this.schema=e,this.fields=ay.concat(),this.plugins=[],this.pluginsByKey=Object.create(null),n&&n.forEach((function(e){if(t.pluginsByKey[e.key])throw new RangeError("Adding different instances of a keyed plugin ("+e.key+")");t.plugins.push(e),t.pluginsByKey[e.key]=e,e.spec.state&&t.fields.push(new oy(e.key,e.spec.state,e))}))},ly=function(e){this.config=e},cy={schema:{configurable:!0},plugins:{configurable:!0},tr:{configurable:!0}};cy.schema.get=function(){return this.config.schema},cy.plugins.get=function(){return this.config.plugins},ly.prototype.apply=function(e){return this.applyTransaction(e).state},ly.prototype.filterTransaction=function(e,n){void 0===n&&(n=-1);for(var t=0;t<this.config.plugins.length;t++)if(t!=n){var r=this.config.plugins[t];if(r.spec.filterTransaction&&!r.spec.filterTransaction.call(r,e,this))return!1}return!0},ly.prototype.applyTransaction=function(e){if(!this.filterTransaction(e))return{state:this,transactions:[]};for(var n=[e],t=this.applyInner(e),r=null;;){for(var i=!1,o=0;o<this.config.plugins.length;o++){var a=this.config.plugins[o];if(a.spec.appendTransaction){var s=r?r[o].n:0,l=r?r[o].state:this,c=s<n.length&&a.spec.appendTransaction.call(a,s?n.slice(s):n,l,t);if(c&&t.filterTransaction(c,o)){if(c.setMeta("appendedTransaction",e),!r){r=[];for(var d=0;d<this.config.plugins.length;d++)r.push(d<o?{state:t,n:n.length}:{state:this,n:0})}n.push(c),t=t.applyInner(c),i=!0}r&&(r[o]={state:t,n:n.length})}}if(!i)return{state:t,transactions:n}}},ly.prototype.applyInner=function(e){if(!e.before.eq(this.doc))throw new RangeError("Applying a mismatched transaction");for(var n=new ly(this.config),t=this.config.fields,r=0;r<t.length;r++){var i=t[r];n[i.name]=i.apply(e,this[i.name],this,n)}for(var o=0;o<dy.length;o++)dy[o](this,e,n);return n},cy.tr.get=function(){return new ry(this)},ly.create=function(e){for(var n=new sy(e.schema||e.doc.type.schema,e.plugins),t=new ly(n),r=0;r<n.fields.length;r++)t[n.fields[r].name]=n.fields[r].init(e,t);return t},ly.prototype.reconfigure=function(e){for(var n=new sy(e.schema||this.schema,e.plugins),t=n.fields,r=new ly(n),i=0;i<t.length;i++){var o=t[i].name;r[o]=this.hasOwnProperty(o)?this[o]:t[i].init(e,r)}return r},ly.prototype.toJSON=function(e){var n={doc:this.doc.toJSON(),selection:this.selection.toJSON()};if(this.storedMarks&&(n.storedMarks=this.storedMarks.map((function(e){return e.toJSON()}))),e&&"object"==typeof e)for(var t in e){if("doc"==t||"selection"==t)throw new RangeError("The JSON fields `doc` and `selection` are reserved");var r=e[t],i=r.spec.state;i&&i.toJSON&&(n[t]=i.toJSON.call(r,this[r.key]))}return n},ly.fromJSON=function(e,n,t){if(!n)throw new RangeError("Invalid input for EditorState.fromJSON");if(!e.schema)throw new RangeError("Required config field 'schema' missing");var r=new sy(e.schema,e.plugins),i=new ly(r);return r.fields.forEach((function(r){if("doc"==r.name)i.doc=kv.fromJSON(e.schema,n.doc);else if("selection"==r.name)i.selection=Wb.fromJSON(i.doc,n.selection);else if("storedMarks"==r.name)n.storedMarks&&(i.storedMarks=n.storedMarks.map(e.schema.markFromJSON));else{if(t)for(var o in t){var a=t[o],s=a.spec.state;if(a.key==r.name&&s&&s.fromJSON&&Object.prototype.hasOwnProperty.call(n,o))return void(i[r.name]=s.fromJSON.call(a,e,n[o],i))}i[r.name]=r.init(e,i)}})),i},ly.addApplyListener=function(e){dy.push(e)},ly.removeApplyListener=function(e){var n=dy.indexOf(e);n>-1&&dy.splice(n,1)},Object.defineProperties(ly.prototype,cy);var dy=[];function uy(e,n,t){for(var r in e){var i=e[r];i instanceof Function?i=i.bind(n):"handleDOMEvents"==r&&(i=uy(i,n,{})),t[r]=i}return t}var py=function(e){this.props={},e.props&&uy(e.props,this,this.props),this.spec=e,this.key=e.key?e.key.key:Ay("plugin")};py.prototype.getState=function(e){return e[this.key]};var fy=Object.create(null);function Ay(e){return e in fy?e+"$"+ ++fy[e]:(fy[e]=0,e+"$")}var hy=function(e){void 0===e&&(e="key"),this.key=Ay(e)};hy.prototype.get=function(e){return e.config.pluginsByKey[this.key]},hy.prototype.getState=function(e){return e[this.key]};var my=Object.freeze({__proto__:null,AllSelection:Zb,EditorState:ly,NodeSelection:Xb,Plugin:py,PluginKey:hy,Selection:Wb,SelectionRange:Jb,TextSelection:Kb,Transaction:ry}),gy={};if("undefined"!=typeof navigator&&"undefined"!=typeof document){var vy=/Edge\/(\d+)/.exec(navigator.userAgent),by=/MSIE \d/.test(navigator.userAgent),yy=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);gy.mac=/Mac/.test(navigator.platform);var Cy=gy.ie=!!(by||yy||vy);gy.ie_version=by?document.documentMode||6:yy?+yy[1]:vy?+vy[1]:null,gy.gecko=!Cy&&/gecko\/(\d+)/i.test(navigator.userAgent),gy.gecko_version=gy.gecko&&+(/Firefox\/(\d+)/.exec(navigator.userAgent)||[0,0])[1];var Ey=!Cy&&/Chrome\/(\d+)/.exec(navigator.userAgent);gy.chrome=!!Ey,gy.chrome_version=Ey&&+Ey[1],gy.ios=!Cy&&/AppleWebKit/.test(navigator.userAgent)&&/Mobile\/\w+/.test(navigator.userAgent),gy.android=/Android \d/.test(navigator.userAgent),gy.webkit="webkitFontSmoothing"in document.documentElement.style,gy.safari=/Apple Computer/.test(navigator.vendor),gy.webkit_version=gy.webkit&&+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]}var xy=function(e){for(var n=0;;n++)if(!(e=e.previousSibling))return n},wy=function(e){var n=e.parentNode;return n&&11==n.nodeType?n.host:n},ky=function(e,n,t){var r=document.createRange();return r.setEnd(e,null==t?e.nodeValue.length:t),r.setStart(e,n||0),r},_y=function(e,n,t,r){return t&&(Dy(e,n,t,r,-1)||Dy(e,n,t,r,1))},Sy=/^(img|br|input|textarea|hr)$/i;function Dy(e,n,t,r,i){for(;;){if(e==t&&n==r)return!0;if(n==(i<0?0:By(e))){var o=e.parentNode;if(1!=o.nodeType||zy(e)||Sy.test(e.nodeName)||"false"==e.contentEditable)return!1;n=xy(e)+(i<0?0:1),e=o}else{if(1!=e.nodeType)return!1;if("false"==(e=e.childNodes[n+(i<0?-1:0)]).contentEditable)return!1;n=i<0?By(e):0}}}function By(e){return 3==e.nodeType?e.nodeValue.length:e.childNodes.length}function zy(e){for(var n,t=e;t&&!(n=t.pmViewDesc);t=t.parentNode);return n&&n.node&&n.node.isBlock&&(n.dom==e||n.contentDOM==e)}var Oy=function(e){var n=e.isCollapsed;return n&&gy.chrome&&e.rangeCount&&!e.getRangeAt(0).collapsed&&(n=!1),n};function My(e,n){var t=document.createEvent("Event");return t.initEvent("keydown",!0,!0),t.keyCode=e,t.key=t.code=n,t}function Ty(e){return{left:0,right:e.documentElement.clientWidth,top:0,bottom:e.documentElement.clientHeight}}function Iy(e,n){return"number"==typeof e?e:e[n]}function $y(e){var n=e.getBoundingClientRect();return{left:n.left,right:n.left+e.clientWidth,top:n.top,bottom:n.top+e.clientHeight}}function Ny(e,n,t){for(var r=e.someProp("scrollThreshold")||0,i=e.someProp("scrollMargin")||5,o=e.dom.ownerDocument,a=t||e.dom;a;a=wy(a))if(1==a.nodeType){var s=a==o.body||1!=a.nodeType,l=s?Ty(o):$y(a),c=0,d=0;if(n.top<l.top+Iy(r,"top")?d=-(l.top-n.top+Iy(i,"top")):n.bottom>l.bottom-Iy(r,"bottom")&&(d=n.bottom-l.bottom+Iy(i,"bottom")),n.left<l.left+Iy(r,"left")?c=-(l.left-n.left+Iy(i,"left")):n.right>l.right-Iy(r,"right")&&(c=n.right-l.right+Iy(i,"right")),c||d)if(s)o.defaultView.scrollBy(c,d);else{var u=a.scrollLeft,p=a.scrollTop;d&&(a.scrollTop+=d),c&&(a.scrollLeft+=c);var f=a.scrollLeft-u,A=a.scrollTop-p;n={left:n.left-f,top:n.top-A,right:n.right-f,bottom:n.bottom-A}}if(s)break}}function Ry(e){for(var n=[],t=e.ownerDocument;e&&(n.push({dom:e,top:e.scrollTop,left:e.scrollLeft}),e!=t);e=wy(e));return n}function Fy(e,n){for(var t=0;t<e.length;t++){var r=e[t],i=r.dom,o=r.top,a=r.left;i.scrollTop!=o+n&&(i.scrollTop=o+n),i.scrollLeft!=a&&(i.scrollLeft=a)}}var Ly=null;function Py(e,n){for(var t,r,i=2e8,o=0,a=n.top,s=n.top,l=e.firstChild,c=0;l;l=l.nextSibling,c++){var d=void 0;if(1==l.nodeType)d=l.getClientRects();else{if(3!=l.nodeType)continue;d=ky(l).getClientRects()}for(var u=0;u<d.length;u++){var p=d[u];if(p.top<=a&&p.bottom>=s){a=Math.max(p.bottom,a),s=Math.min(p.top,s);var f=p.left>n.left?p.left-n.left:p.right<n.left?n.left-p.right:0;if(f<i){t=l,i=f,r=f&&3==t.nodeType?{left:p.right<n.left?p.right:p.left,top:n.top}:n,1==l.nodeType&&f&&(o=c+(n.left>=(p.left+p.right)/2?1:0));continue}}!t&&(n.left>=p.right&&n.top>=p.top||n.left>=p.left&&n.top>=p.bottom)&&(o=c+1)}}return t&&3==t.nodeType?function(e,n){for(var t=e.nodeValue.length,r=document.createRange(),i=0;i<t;i++){r.setEnd(e,i+1),r.setStart(e,i);var o=qy(r,1);if(o.top!=o.bottom&&jy(n,o))return{node:e,offset:i+(n.left>=(o.left+o.right)/2?1:0)}}return{node:e,offset:0}}(t,r):!t||i&&1==t.nodeType?{node:e,offset:o}:Py(t,r)}function jy(e,n){return e.left>=n.left-1&&e.left<=n.right+1&&e.top>=n.top-1&&e.top<=n.bottom+1}function Yy(e,n,t){var r=e.childNodes.length;if(r&&t.top<t.bottom)for(var i=Math.max(0,Math.min(r-1,Math.floor(r*(n.top-t.top)/(t.bottom-t.top))-2)),o=i;;){var a=e.childNodes[o];if(1==a.nodeType)for(var s=a.getClientRects(),l=0;l<s.length;l++){var c=s[l];if(jy(n,c))return Yy(a,n,c)}if((o=(o+1)%r)==i)break}return e}function Uy(e,n){var t,r,i,o,a=e.root;if(a.caretPositionFromPoint)try{var s=a.caretPositionFromPoint(n.left,n.top);s&&(i=(t=s).offsetNode,o=t.offset)}catch(e){}if(!i&&a.caretRangeFromPoint){var l=a.caretRangeFromPoint(n.left,n.top);l&&(i=(r=l).startContainer,o=r.startOffset)}var c,d=a.elementFromPoint(n.left,n.top+1);if(!d||!e.dom.contains(1!=d.nodeType?d.parentNode:d)){var u=e.dom.getBoundingClientRect();if(!jy(n,u))return null;if(!(d=Yy(e.dom,n,u)))return null}if(gy.safari&&d.draggable&&(i=o=null),d=function(e,n){var t=e.parentNode;return t&&/^li$/i.test(t.nodeName)&&n.left<e.getBoundingClientRect().left?t:e}(d,n),i){if(gy.gecko&&1==i.nodeType&&(o=Math.min(o,i.childNodes.length))<i.childNodes.length){var p,f=i.childNodes[o];"IMG"==f.nodeName&&(p=f.getBoundingClientRect()).right<=n.left&&p.bottom>n.top&&o++}i==e.dom&&o==i.childNodes.length-1&&1==i.lastChild.nodeType&&n.top>i.lastChild.getBoundingClientRect().bottom?c=e.state.doc.content.size:0!=o&&1==i.nodeType&&"BR"==i.childNodes[o-1].nodeName||(c=function(e,n,t,r){for(var i=-1,o=n;o!=e.dom;){var a=e.docView.nearestDesc(o,!0);if(!a)return null;if(a.node.isBlock&&a.parent){var s=a.dom.getBoundingClientRect();if(s.left>r.left||s.top>r.top)i=a.posBefore;else{if(!(s.right<r.left||s.bottom<r.top))break;i=a.posAfter}}o=a.dom.parentNode}return i>-1?i:e.docView.posFromDOM(n,t)}(e,i,o,n))}null==c&&(c=function(e,n,t){var r=Py(n,t),i=r.node,o=r.offset,a=-1;if(1==i.nodeType&&!i.firstChild){var s=i.getBoundingClientRect();a=s.left!=s.right&&t.left>(s.left+s.right)/2?1:-1}return e.docView.posFromDOM(i,o,a)}(e,d,n));var A=e.docView.nearestDesc(d,!0);return{pos:c,inside:A?A.posAtStart-A.border:-1}}function qy(e,n){var t=e.getClientRects();return t.length?t[n<0?0:t.length-1]:e.getBoundingClientRect()}function Hy(e,n){var t=e.docView.domFromPos(n),r=t.node,i=t.offset;if(3==r.nodeType&&(gy.webkit||gy.gecko)){var o=qy(ky(r,i,i),0);if(gy.gecko&&i&&/\s/.test(r.nodeValue[i-1])&&i<r.nodeValue.length){var a=qy(ky(r,i-1,i-1),-1);if(a.top==o.top){var s=qy(ky(r,i,i+1),-1);if(s.top!=o.top)return Wy(s,s.left<a.left)}}return o}if(1==r.nodeType&&!e.state.doc.resolve(n).parent.inlineContent){var l,c=!0;if(i<r.childNodes.length){var d=r.childNodes[i];1==d.nodeType&&(l=d.getBoundingClientRect())}if(!l&&i){var u=r.childNodes[i-1];1==u.nodeType&&(l=u.getBoundingClientRect(),c=!1)}return function(e,n){if(0==e.height)return e;var t=n?e.top:e.bottom;return{top:t,bottom:t,left:e.left,right:e.right}}(l||r.getBoundingClientRect(),c)}for(var p=-1;p<2;p+=2)if(p<0&&i){var f=void 0,A=3==r.nodeType?ky(r,i-1,i):3==(f=r.childNodes[i-1]).nodeType?ky(f):1==f.nodeType&&"BR"!=f.nodeName?f:null;if(A){var h=qy(A,1);if(h.top<h.bottom)return Wy(h,!1)}}else if(p>0&&i<By(r)){var m=void 0,g=3==r.nodeType?ky(r,i,i+1):3==(m=r.childNodes[i]).nodeType?ky(m):1==m.nodeType?m:null;if(g){var v=qy(g,-1);if(v.top<v.bottom)return Wy(v,!0)}}return Wy(qy(3==r.nodeType?ky(r):r,0),!1)}function Wy(e,n){if(0==e.width)return e;var t=n?e.left:e.right;return{top:e.top,bottom:e.bottom,left:t,right:t}}function Vy(e,n,t){var r=e.state,i=e.root.activeElement;r!=n&&e.updateState(n),i!=e.dom&&e.focus();try{return t()}finally{r!=n&&e.updateState(r),i!=e.dom&&i&&i.focus()}}var Jy=/[\u0590-\u08ac]/;var Ky=null,Gy=null,Xy=!1;function Qy(e,n,t){return Ky==n&&Gy==t?Xy:(Ky=n,Gy=t,Xy="up"==t||"down"==t?function(e,n,t){var r=n.selection,i="up"==t?r.$anchor.min(r.$head):r.$anchor.max(r.$head);return Vy(e,n,(function(){for(var n=e.docView.domFromPos(i.pos).node;;){var r=e.docView.nearestDesc(n,!0);if(!r)break;if(r.node.isBlock){n=r.dom;break}n=r.dom.parentNode}for(var o=Hy(e,i.pos),a=n.firstChild;a;a=a.nextSibling){var s=void 0;if(1==a.nodeType)s=a.getClientRects();else{if(3!=a.nodeType)continue;s=ky(a,0,a.nodeValue.length).getClientRects()}for(var l=0;l<s.length;l++){var c=s[l];if(c.bottom>c.top&&("up"==t?c.bottom<o.top+1:c.top>o.bottom-1))return!1}}return!0}))}(e,n,t):function(e,n,t){var r=n.selection.$head;if(!r.parent.isTextblock)return!1;var i=r.parentOffset,o=!i,a=i==r.parent.content.size,s=getSelection();return Jy.test(r.parent.textContent)&&s.modify?Vy(e,n,(function(){var n=s.getRangeAt(0),i=s.focusNode,o=s.focusOffset,a=s.caretBidiLevel;s.modify("move",t,"character");var l=!(r.depth?e.docView.domAfterPos(r.before()):e.dom).contains(1==s.focusNode.nodeType?s.focusNode:s.focusNode.parentNode)||i==s.focusNode&&o==s.focusOffset;return s.removeAllRanges(),s.addRange(n),null!=a&&(s.caretBidiLevel=a),l})):"left"==t||"backward"==t?o:a}(e,n,t))}var Zy=function(e,n,t,r){this.parent=e,this.children=n,this.dom=t,t.pmViewDesc=this,this.contentDOM=r,this.dirty=0},eC={beforePosition:{configurable:!0},size:{configurable:!0},border:{configurable:!0},posBefore:{configurable:!0},posAtStart:{configurable:!0},posAfter:{configurable:!0},posAtEnd:{configurable:!0},contentLost:{configurable:!0}};Zy.prototype.matchesWidget=function(){return!1},Zy.prototype.matchesMark=function(){return!1},Zy.prototype.matchesNode=function(){return!1},Zy.prototype.matchesHack=function(){return!1},eC.beforePosition.get=function(){return!1},Zy.prototype.parseRule=function(){return null},Zy.prototype.stopEvent=function(){return!1},eC.size.get=function(){for(var e=0,n=0;n<this.children.length;n++)e+=this.children[n].size;return e},eC.border.get=function(){return 0},Zy.prototype.destroy=function(){this.parent=null,this.dom.pmViewDesc==this&&(this.dom.pmViewDesc=null);for(var e=0;e<this.children.length;e++)this.children[e].destroy()},Zy.prototype.posBeforeChild=function(e){for(var n=0,t=this.posAtStart;n<this.children.length;n++){var r=this.children[n];if(r==e)return t;t+=r.size}},eC.posBefore.get=function(){return this.parent.posBeforeChild(this)},eC.posAtStart.get=function(){return this.parent?this.parent.posBeforeChild(this)+this.border:0},eC.posAfter.get=function(){return this.posBefore+this.size},eC.posAtEnd.get=function(){return this.posAtStart+this.size-2*this.border},Zy.prototype.localPosFromDOM=function(e,n,t){if(this.contentDOM&&this.contentDOM.contains(1==e.nodeType?e:e.parentNode)){if(t<0){var r,i;if(e==this.contentDOM)r=e.childNodes[n-1];else{for(;e.parentNode!=this.contentDOM;)e=e.parentNode;r=e.previousSibling}for(;r&&(!(i=r.pmViewDesc)||i.parent!=this);)r=r.previousSibling;return r?this.posBeforeChild(i)+i.size:this.posAtStart}var o,a;if(e==this.contentDOM)o=e.childNodes[n];else{for(;e.parentNode!=this.contentDOM;)e=e.parentNode;o=e.nextSibling}for(;o&&(!(a=o.pmViewDesc)||a.parent!=this);)o=o.nextSibling;return o?this.posBeforeChild(a):this.posAtEnd}var s;if(this.contentDOM&&this.contentDOM!=this.dom&&this.dom.contains(this.contentDOM))s=2&e.compareDocumentPosition(this.contentDOM);else if(this.dom.firstChild){if(0==n)for(var l=e;;l=l.parentNode){if(l==this.dom){s=!1;break}if(l.parentNode.firstChild!=l)break}if(null==s&&n==e.childNodes.length)for(var c=e;;c=c.parentNode){if(c==this.dom){s=!0;break}if(c.parentNode.lastChild!=c)break}}return(null==s?t>0:s)?this.posAtEnd:this.posAtStart},Zy.prototype.nearestDesc=function(e,n){for(var t=!0,r=e;r;r=r.parentNode){var i=this.getDesc(r);if(i&&(!n||i.node)){if(!t||!i.nodeDOM||(1==i.nodeDOM.nodeType?i.nodeDOM.contains(1==e.nodeType?e:e.parentNode):i.nodeDOM==e))return i;t=!1}}},Zy.prototype.getDesc=function(e){for(var n=e.pmViewDesc,t=n;t;t=t.parent)if(t==this)return n},Zy.prototype.posFromDOM=function(e,n,t){for(var r=e;r;r=r.parentNode){var i=this.getDesc(r);if(i)return i.localPosFromDOM(e,n,t)}return-1},Zy.prototype.descAt=function(e){for(var n=0,t=0;n<this.children.length;n++){var r=this.children[n],i=t+r.size;if(t==e&&i!=t){for(;!r.border&&r.children.length;)r=r.children[0];return r}if(e<i)return r.descAt(e-t-r.border);t=i}},Zy.prototype.domFromPos=function(e){if(!this.contentDOM)return{node:this.dom,offset:0};for(var n=0,t=0;;t++){if(n==e){for(;t<this.children.length&&(this.children[t].beforePosition||this.children[t].dom.parentNode!=this.contentDOM);)t++;return{node:this.contentDOM,offset:t==this.children.length?this.contentDOM.childNodes.length:xy(this.children[t].dom)}}if(t==this.children.length)throw new Error("Invalid position "+e);var r=this.children[t],i=n+r.size;if(e<i)return r.domFromPos(e-n-r.border);n=i}},Zy.prototype.parseRange=function(e,n,t){if(void 0===t&&(t=0),0==this.children.length)return{node:this.contentDOM,from:e,to:n,fromOffset:0,toOffset:this.contentDOM.childNodes.length};for(var r=-1,i=-1,o=t,a=0;;a++){var s=this.children[a],l=o+s.size;if(-1==r&&e<=l){var c=o+s.border;if(e>=c&&n<=l-s.border&&s.node&&s.contentDOM&&this.contentDOM.contains(s.contentDOM))return s.parseRange(e,n,c);e=o;for(var d=a;d>0;d--){var u=this.children[d-1];if(u.size&&u.dom.parentNode==this.contentDOM&&!u.emptyChildAt(1)){r=xy(u.dom)+1;break}e-=u.size}-1==r&&(r=0)}if(r>-1&&(l>n||a==this.children.length-1)){n=l;for(var p=a+1;p<this.children.length;p++){var f=this.children[p];if(f.size&&f.dom.parentNode==this.contentDOM&&!f.emptyChildAt(-1)){i=xy(f.dom);break}n+=f.size}-1==i&&(i=this.contentDOM.childNodes.length);break}o=l}return{node:this.contentDOM,from:e,to:n,fromOffset:r,toOffset:i}},Zy.prototype.emptyChildAt=function(e){if(this.border||!this.contentDOM||!this.children.length)return!1;var n=this.children[e<0?0:this.children.length-1];return 0==n.size||n.emptyChildAt(e)},Zy.prototype.domAfterPos=function(e){var n=this.domFromPos(e),t=n.node,r=n.offset;if(1!=t.nodeType||r==t.childNodes.length)throw new RangeError("No node after pos "+e);return t.childNodes[r]},Zy.prototype.setSelection=function(e,n,t,r){for(var i=Math.min(e,n),o=Math.max(e,n),a=0,s=0;a<this.children.length;a++){var l=this.children[a],c=s+l.size;if(i>s&&o<c)return l.setSelection(e-s-l.border,n-s-l.border,t,r);s=c}var d=this.domFromPos(e),u=this.domFromPos(n),p=t.getSelection(),f=!1;if((gy.gecko||gy.safari)&&e==n){var A=d.node.childNodes[d.offset-1];f=A&&("BR"==A.nodeName||"false"==A.contentEditable)}if(r||f&&gy.safari||!_y(d.node,d.offset,p.anchorNode,p.anchorOffset)||!_y(u.node,u.offset,p.focusNode,p.focusOffset)){var h=!1;if((p.extend||e==n)&&!f){p.collapse(d.node,d.offset);try{e!=n&&p.extend(u.node,u.offset),h=!0}catch(e){if(!(e instanceof DOMException))throw e}}if(!h){if(e>n){var m=d;d=u,u=m}var g=document.createRange();g.setEnd(u.node,u.offset),g.setStart(d.node,d.offset),p.removeAllRanges(),p.addRange(g)}}},Zy.prototype.ignoreMutation=function(e){return!this.contentDOM&&"selection"!=e.type},eC.contentLost.get=function(){return this.contentDOM&&this.contentDOM!=this.dom&&!this.dom.contains(this.contentDOM)},Zy.prototype.markDirty=function(e,n){for(var t=0,r=0;r<this.children.length;r++){var i=this.children[r],o=t+i.size;if(t==o?e<=o&&n>=t:e<o&&n>t){var a=t+i.border,s=o-i.border;if(e>=a&&n<=s)return this.dirty=e==t||n==o?2:1,void(e!=a||n!=s||!i.contentLost&&i.dom.parentNode==this.contentDOM?i.markDirty(e-a,n-a):i.dirty=3);i.dirty=3}t=o}this.dirty=2},Zy.prototype.markParentsDirty=function(){for(var e=1,n=this.parent;n;n=n.parent,e++){var t=1==e?2:1;n.dirty<t&&(n.dirty=t)}},Object.defineProperties(Zy.prototype,eC);var nC=[],tC=function(e){function n(n,t,r,i){var o,a=t.type.toDOM;if("function"==typeof a&&(a=a(r,(function(){return o?o.parent?o.parent.posBeforeChild(o):void 0:i}))),!t.type.spec.raw){if(1!=a.nodeType){var s=document.createElement("span");s.appendChild(a),a=s}a.contentEditable=!1,a.classList.add("ProseMirror-widget")}e.call(this,n,nC,a,null),this.widget=t,o=this}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var t={beforePosition:{configurable:!0}};return t.beforePosition.get=function(){return this.widget.type.side<0},n.prototype.matchesWidget=function(e){return 0==this.dirty&&e.type.eq(this.widget.type)},n.prototype.parseRule=function(){return{ignore:!0}},n.prototype.stopEvent=function(e){var n=this.widget.spec.stopEvent;return!!n&&n(e)},n.prototype.ignoreMutation=function(e){return"selection"!=e.type||this.widget.spec.ignoreSelection},Object.defineProperties(n.prototype,t),n}(Zy),rC=function(e){function n(n,t,r,i){e.call(this,n,nC,t,null),this.textDOM=r,this.text=i}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var t={size:{configurable:!0}};return t.size.get=function(){return this.text.length},n.prototype.localPosFromDOM=function(e,n){return e!=this.textDOM?this.posAtStart+(n?this.size:0):this.posAtStart+n},n.prototype.domFromPos=function(e){return{node:this.textDOM,offset:e}},n.prototype.ignoreMutation=function(e){return"characterData"===e.type&&e.target.nodeValue==e.oldValue},Object.defineProperties(n.prototype,t),n}(Zy),iC=function(e){function n(n,t,r,i){e.call(this,n,[],r,i),this.mark=t}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.create=function(e,t,r,i){var o=i.nodeViews[t.type.name],a=o&&o(t,i,r);return a&&a.dom||(a=lb.renderSpec(document,t.type.spec.toDOM(t,r))),new n(e,t,a.dom,a.contentDOM||a.dom)},n.prototype.parseRule=function(){return{mark:this.mark.type.name,attrs:this.mark.attrs,contentElement:this.contentDOM}},n.prototype.matchesMark=function(e){return 3!=this.dirty&&this.mark.eq(e)},n.prototype.markDirty=function(n,t){if(e.prototype.markDirty.call(this,n,t),0!=this.dirty){for(var r=this.parent;!r.node;)r=r.parent;r.dirty<this.dirty&&(r.dirty=this.dirty),this.dirty=0}},n.prototype.slice=function(e,t,r){var i=n.create(this.parent,this.mark,!0,r),o=this.children,a=this.size;t<a&&(o=CC(o,t,a,r)),e>0&&(o=CC(o,0,e,r));for(var s=0;s<o.length;s++)o[s].parent=i;return i.children=o,i},n}(Zy),oC=function(e){function n(n,t,r,i,o,a,s,l,c){e.call(this,n,t.isLeaf?nC:[],o,a),this.nodeDOM=s,this.node=t,this.outerDeco=r,this.innerDeco=i,a&&this.updateChildren(l,c)}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var t={size:{configurable:!0},border:{configurable:!0}};return n.create=function(e,t,r,i,o,a){var s,l,c=o.nodeViews[t.type.name],d=c&&c(t,o,(function(){return l?l.parent?l.parent.posBeforeChild(l):void 0:a}),r),u=d&&d.dom,p=d&&d.contentDOM;if(t.isText)if(u){if(3!=u.nodeType)throw new RangeError("Text must be rendered as a DOM text node")}else u=document.createTextNode(t.text);else u||(u=(s=lb.renderSpec(document,t.type.spec.toDOM(t))).dom,p=s.contentDOM);p||t.isText||"BR"==u.nodeName||(u.hasAttribute("contenteditable")||(u.contentEditable=!1),t.type.spec.draggable&&(u.draggable=!0));var f=u;return u=mC(u,r,t),d?l=new cC(e,t,r,i,u,p,f,d,o,a+1):t.isText?new sC(e,t,r,i,u,f,o):new n(e,t,r,i,u,p,f,o,a+1)},n.prototype.parseRule=function(){var e=this;if(this.node.type.spec.reparseInView)return null;var n={node:this.node.type.name,attrs:this.node.attrs};return this.node.type.spec.code&&(n.preserveWhitespace="full"),this.contentDOM&&!this.contentLost?n.contentElement=this.contentDOM:n.getContent=function(){return e.contentDOM?Xg.empty:e.node.content},n},n.prototype.matchesNode=function(e,n,t){return 0==this.dirty&&e.eq(this.node)&&gC(n,this.outerDeco)&&t.eq(this.innerDeco)},t.size.get=function(){return this.node.nodeSize},t.border.get=function(){return this.node.isLeaf?0:1},n.prototype.updateChildren=function(e,n){var t=this,r=this.node.inlineContent,i=n,o=r&&e.composing&&this.localCompositionNode(e,n),a=new bC(this,o&&o.node);!function(e,n,t,r){var i=n.locals(e),o=0;if(0==i.length){for(var a=0;a<e.childCount;a++){var s=e.child(a);r(s,i,n.forChild(o,s),a),o+=s.nodeSize}return}for(var l=0,c=[],d=null,u=0;;){if(l<i.length&&i[l].to==o){for(var p=i[l++],f=void 0;l<i.length&&i[l].to==o;)(f||(f=[p])).push(i[l++]);if(f){f.sort(yC);for(var A=0;A<f.length;A++)t(f[A],u,!!d)}else t(p,u,!!d)}var h=void 0,m=void 0;if(d)m=-1,h=d,d=null;else{if(!(u<e.childCount))break;m=u,h=e.child(u++)}for(var g=0;g<c.length;g++)c[g].to<=o&&c.splice(g--,1);for(;l<i.length&&i[l].from<=o&&i[l].to>o;)c.push(i[l++]);var v=o+h.nodeSize;if(h.isText){var b=v;l<i.length&&i[l].from<b&&(b=i[l].from);for(var y=0;y<c.length;y++)c[y].to<b&&(b=c[y].to);b<v&&(d=h.cut(b-o),h=h.cut(0,b-o),v=b,m=-1)}r(h,c.length?h.isInline&&!h.isLeaf?c.filter((function(e){return!e.inline})):c.slice():nC,n.forChild(o,h),m),o=v}}(this.node,this.innerDeco,(function(n,o,s){n.spec.marks?a.syncToMarks(n.spec.marks,r,e):n.type.side>=0&&!s&&a.syncToMarks(o==t.node.childCount?tv.none:t.node.child(o).marks,r,e),a.placeWidget(n,e,i)}),(function(n,t,o,s){a.syncToMarks(n.marks,r,e),a.findNodeMatch(n,t,o,s)||a.updateNextNode(n,t,o,e,s)||a.addNode(n,t,o,e,i),i+=n.nodeSize})),a.syncToMarks(nC,r,e),this.node.isTextblock&&a.addTextblockHacks(),a.destroyRest(),(a.changed||2==this.dirty)&&(o&&this.protectLocalComposition(e,o),dC(this.contentDOM,this.children,e),gy.ios&&function(e){if("UL"==e.nodeName||"OL"==e.nodeName){var n=e.style.cssText;e.style.cssText=n+"; list-style: square !important",window.getComputedStyle(e).listStyle,e.style.cssText=n}}(this.dom))},n.prototype.localCompositionNode=function(e,n){var t=e.state.selection,r=t.from,i=t.to;if(!(!(e.state.selection instanceof Kb)||r<n||i>n+this.node.content.size)){var o=e.root.getSelection(),a=function(e,n){for(;;){if(3==e.nodeType)return e;if(1==e.nodeType&&n>0){if(e.childNodes.length>n&&3==e.childNodes[n].nodeType)return e.childNodes[n];n=By(e=e.childNodes[n-1])}else{if(!(1==e.nodeType&&n<e.childNodes.length))return null;e=e.childNodes[n],n=0}}}(o.focusNode,o.focusOffset);if(a&&this.dom.contains(a.parentNode)){var s=a.nodeValue,l=function(e,n,t,r){for(var i=0,o=0;i<e.childCount&&o<=r;){var a=e.child(i++),s=o;if(o+=a.nodeSize,a.isText){for(var l=a.text;i<e.childCount;){var c=e.child(i++);if(o+=c.nodeSize,!c.isText)break;l+=c.text}if(o>=t){var d=l.lastIndexOf(n,r-s);if(d>=0&&d+n.length+s>=t)return s+d}}}return-1}(this.node.content,s,r-n,i-n);return l<0?null:{node:a,pos:l,text:s}}}},n.prototype.protectLocalComposition=function(e,n){var t=n.node,r=n.pos,i=n.text;if(!this.getDesc(t)){for(var o=t;o.parentNode!=this.contentDOM;o=o.parentNode){for(;o.previousSibling;)o.parentNode.removeChild(o.previousSibling);for(;o.nextSibling;)o.parentNode.removeChild(o.nextSibling);o.pmViewDesc&&(o.pmViewDesc=null)}var a=new rC(this,o,t,i);e.compositionNodes.push(a),this.children=CC(this.children,r,r+i.length,e,a)}},n.prototype.update=function(e,n,t,r){return!(3==this.dirty||!e.sameMarkup(this.node))&&(this.updateInner(e,n,t,r),!0)},n.prototype.updateInner=function(e,n,t,r){this.updateOuterDeco(n),this.node=e,this.innerDeco=t,this.contentDOM&&this.updateChildren(r,this.posAtStart),this.dirty=0},n.prototype.updateOuterDeco=function(e){if(!gC(e,this.outerDeco)){var n=1!=this.nodeDOM.nodeType,t=this.dom;this.dom=AC(this.dom,this.nodeDOM,fC(this.outerDeco,this.node,n),fC(e,this.node,n)),this.dom!=t&&(t.pmViewDesc=null,this.dom.pmViewDesc=this),this.outerDeco=e}},n.prototype.selectNode=function(){this.nodeDOM.classList.add("ProseMirror-selectednode"),!this.contentDOM&&this.node.type.spec.draggable||(this.dom.draggable=!0)},n.prototype.deselectNode=function(){this.nodeDOM.classList.remove("ProseMirror-selectednode"),!this.contentDOM&&this.node.type.spec.draggable||this.dom.removeAttribute("draggable")},Object.defineProperties(n.prototype,t),n}(Zy);function aC(e,n,t,r,i){return mC(r,n,e),new oC(null,e,n,t,r,r,r,i,0)}var sC=function(e){function n(n,t,r,i,o,a,s){e.call(this,n,t,r,i,o,null,a,s)}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.parseRule=function(){for(var e=this.nodeDOM.parentNode;e&&e!=this.dom&&!e.pmIsDeco;)e=e.parentNode;return{skip:e||!0}},n.prototype.update=function(e,n,t,r){return!(3==this.dirty||0!=this.dirty&&!this.inParent()||!e.sameMarkup(this.node))&&(this.updateOuterDeco(n),0==this.dirty&&e.text==this.node.text||e.text==this.nodeDOM.nodeValue||(this.nodeDOM.nodeValue=e.text,r.trackWrites==this.nodeDOM&&(r.trackWrites=null)),this.node=e,this.dirty=0,!0)},n.prototype.inParent=function(){for(var e=this.parent.contentDOM,n=this.nodeDOM;n;n=n.parentNode)if(n==e)return!0;return!1},n.prototype.domFromPos=function(e){return{node:this.nodeDOM,offset:e}},n.prototype.localPosFromDOM=function(n,t,r){return n==this.nodeDOM?this.posAtStart+Math.min(t,this.node.text.length):e.prototype.localPosFromDOM.call(this,n,t,r)},n.prototype.ignoreMutation=function(e){return"characterData"!=e.type&&"selection"!=e.type},n.prototype.slice=function(e,t,r){var i=this.node.cut(e,t),o=document.createTextNode(i.text);return new n(this.parent,i,this.outerDeco,this.innerDeco,o,o,r)},n}(oC),lC=function(e){function n(){e.apply(this,arguments)}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.parseRule=function(){return{ignore:!0}},n.prototype.matchesHack=function(){return 0==this.dirty},n}(Zy),cC=function(e){function n(n,t,r,i,o,a,s,l,c,d){e.call(this,n,t,r,i,o,a,s,c,d),this.spec=l}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.update=function(n,t,r,i){if(3==this.dirty)return!1;if(this.spec.update){var o=this.spec.update(n,t);return o&&this.updateInner(n,t,r,i),o}return!(!this.contentDOM&&!n.isLeaf)&&e.prototype.update.call(this,n,t,r,i)},n.prototype.selectNode=function(){this.spec.selectNode?this.spec.selectNode():e.prototype.selectNode.call(this)},n.prototype.deselectNode=function(){this.spec.deselectNode?this.spec.deselectNode():e.prototype.deselectNode.call(this)},n.prototype.setSelection=function(n,t,r,i){this.spec.setSelection?this.spec.setSelection(n,t,r):e.prototype.setSelection.call(this,n,t,r,i)},n.prototype.destroy=function(){this.spec.destroy&&this.spec.destroy(),e.prototype.destroy.call(this)},n.prototype.stopEvent=function(e){return!!this.spec.stopEvent&&this.spec.stopEvent(e)},n.prototype.ignoreMutation=function(n){return this.spec.ignoreMutation?this.spec.ignoreMutation(n):e.prototype.ignoreMutation.call(this,n)},n}(oC);function dC(e,n,t){for(var r=e.firstChild,i=!1,o=0;o<n.length;o++){var a=n[o],s=a.dom;if(s.parentNode==e){for(;s!=r;)r=vC(r),i=!0;r=r.nextSibling}else i=!0,e.insertBefore(s,r);if(a instanceof iC){var l=r?r.previousSibling:e.lastChild;dC(a.contentDOM,a.children,t),r=l?l.nextSibling:e.firstChild}}for(;r;)r=vC(r),i=!0;i&&t.trackWrites==e&&(t.trackWrites=null)}function uC(e){e&&(this.nodeName=e)}uC.prototype=Object.create(null);var pC=[new uC];function fC(e,n,t){if(0==e.length)return pC;for(var r=t?pC[0]:new uC,i=[r],o=0;o<e.length;o++){var a=e[o].type.attrs,s=r;if(a)for(var l in a.nodeName&&i.push(s=new uC(a.nodeName)),a){var c=a[l];null!=c&&(t&&1==i.length&&i.push(s=r=new uC(n.isInline?"span":"div")),"class"==l?s.class=(s.class?s.class+" ":"")+c:"style"==l?s.style=(s.style?s.style+";":"")+c:"nodeName"!=l&&(s[l]=c))}}return i}function AC(e,n,t,r){if(t==pC&&r==pC)return n;for(var i=n,o=0;o<r.length;o++){var a=r[o],s=t[o];if(o){var l=void 0;s&&s.nodeName==a.nodeName&&i!=e&&(l=i.parentNode)&&l.tagName.toLowerCase()==a.nodeName||((l=document.createElement(a.nodeName)).pmIsDeco=!0,l.appendChild(i),s=pC[0]),i=l}hC(i,s||pC[0],a)}return i}function hC(e,n,t){for(var r in n)"class"==r||"style"==r||"nodeName"==r||r in t||e.removeAttribute(r);for(var i in t)"class"!=i&&"style"!=i&&"nodeName"!=i&&t[i]!=n[i]&&e.setAttribute(i,t[i]);if(n.class!=t.class){for(var o=n.class?n.class.split(" "):nC,a=t.class?t.class.split(" "):nC,s=0;s<o.length;s++)-1==a.indexOf(o[s])&&e.classList.remove(o[s]);for(var l=0;l<a.length;l++)-1==o.indexOf(a[l])&&e.classList.add(a[l])}if(n.style!=t.style){if(n.style)for(var c,d=/\s*([\w\-\xa1-\uffff]+)\s*:(?:"(?:\\.|[^"])*"|'(?:\\.|[^'])*'|\(.*?\)|[^;])*/g;c=d.exec(n.style);)e.style.removeProperty(c[1]);t.style&&(e.style.cssText+=t.style)}}function mC(e,n,t){return AC(e,e,pC,fC(n,t,1!=e.nodeType))}function gC(e,n){if(e.length!=n.length)return!1;for(var t=0;t<e.length;t++)if(!e[t].type.eq(n[t].type))return!1;return!0}function vC(e){var n=e.nextSibling;return e.parentNode.removeChild(e),n}var bC=function(e,n){this.top=e,this.lock=n,this.index=0,this.stack=[],this.changed=!1;var t=function(e,n){for(var t=[],r=e.childCount,i=n.length-1;r>0&&i>=0;i--){var o=n[i],a=o.node;if(a){if(a!=e.child(r-1))break;t.push(o),--r}}return{nodes:t.reverse(),offset:r}}(e.node.content,e.children);this.preMatched=t.nodes,this.preMatchOffset=t.offset};function yC(e,n){return e.type.side-n.type.side}function CC(e,n,t,r,i){for(var o=[],a=0,s=0;a<e.length;a++){var l=e[a],c=s,d=s+=l.size;c>=t||d<=n?o.push(l):(c<n&&o.push(l.slice(0,n-c,r)),i&&(o.push(i),i=null),d>t&&o.push(l.slice(t-c,l.size,r)))}return o}function EC(e,n){var t=e.root.getSelection(),r=e.state.doc;if(!t.focusNode)return null;var i=e.docView.nearestDesc(t.focusNode),o=i&&0==i.size,a=e.docView.posFromDOM(t.focusNode,t.focusOffset);if(a<0)return null;var s,l,c=r.resolve(a);if(Oy(t)){for(s=c;i&&!i.node;)i=i.parent;if(i&&i.node.isAtom&&Xb.isSelectable(i.node)&&i.parent&&(!i.node.isInline||!function(e,n,t){for(var r=0==n,i=n==By(e);r||i;){if(e==t)return!0;var o=xy(e);if(!(e=e.parentNode))return!1;r=r&&0==o,i=i&&o==By(e)}}(t.focusNode,t.focusOffset,i.dom))){var d=i.posBefore;l=new Xb(a==d?c:r.resolve(d))}}else{var u=e.docView.posFromDOM(t.anchorNode,t.anchorOffset);if(u<0)return null;s=r.resolve(u)}l||(l=zC(e,s,c,"pointer"==n||e.state.selection.head<c.pos&&!o?1:-1));return l}function xC(e,n){var t=e.state.selection;if(DC(e,t),e.editable?e.hasFocus():OC(e)&&document.activeElement&&document.activeElement.contains(e.dom)){if(e.domObserver.disconnectSelection(),e.cursorWrapper)!function(e){var n=e.root.getSelection(),t=document.createRange(),r=e.cursorWrapper.dom,i="IMG"==r.nodeName;i?t.setEnd(r.parentNode,xy(r)+1):t.setEnd(r,0);t.collapse(!1),n.removeAllRanges(),n.addRange(t),!i&&!e.state.selection.visible&&gy.ie&&gy.ie_version<=11&&(r.disabled=!0,r.disabled=!1)}(e);else{var r,i,o=t.anchor,a=t.head;!wC||t instanceof Kb||(t.$from.parent.inlineContent||(r=kC(e,t.from)),t.empty||t.$from.parent.inlineContent||(i=kC(e,t.to))),e.docView.setSelection(o,a,e.root,n),wC&&(r&&SC(r),i&&SC(i)),t.visible?e.dom.classList.remove("ProseMirror-hideselection"):(e.dom.classList.add("ProseMirror-hideselection"),"onselectionchange"in document&&function(e){var n=e.dom.ownerDocument;n.removeEventListener("selectionchange",e.hideSelectionGuard);var t=e.root.getSelection(),r=t.anchorNode,i=t.anchorOffset;n.addEventListener("selectionchange",e.hideSelectionGuard=function(){t.anchorNode==r&&t.anchorOffset==i||(n.removeEventListener("selectionchange",e.hideSelectionGuard),e.dom.classList.remove("ProseMirror-hideselection"))})}(e))}e.domObserver.setCurSelection(),e.domObserver.connectSelection()}}bC.prototype.getPreMatch=function(e){return e>=this.preMatchOffset?this.preMatched[e-this.preMatchOffset]:null},bC.prototype.destroyBetween=function(e,n){if(e!=n){for(var t=e;t<n;t++)this.top.children[t].destroy();this.top.children.splice(e,n-e),this.changed=!0}},bC.prototype.destroyRest=function(){this.destroyBetween(this.index,this.top.children.length)},bC.prototype.syncToMarks=function(e,n,t){for(var r=0,i=this.stack.length>>1,o=Math.min(i,e.length);r<o&&(r==i-1?this.top:this.stack[r+1<<1]).matchesMark(e[r])&&!1!==e[r].type.spec.spanning;)r++;for(;r<i;)this.destroyRest(),this.top.dirty=0,this.index=this.stack.pop(),this.top=this.stack.pop(),i--;for(;i<e.length;){this.stack.push(this.top,this.index+1);for(var a=-1,s=this.index;s<Math.min(this.index+3,this.top.children.length);s++)if(this.top.children[s].matchesMark(e[i])){a=s;break}if(a>-1)a>this.index&&(this.changed=!0,this.destroyBetween(this.index,a)),this.top=this.top.children[this.index];else{var l=iC.create(this.top,e[i],n,t);this.top.children.splice(this.index,0,l),this.top=l,this.changed=!0}this.index=0,i++}},bC.prototype.findNodeMatch=function(e,n,t,r){var i=-1,o=r<0?void 0:this.getPreMatch(r),a=this.top.children;if(o&&o.matchesNode(e,n,t))i=a.indexOf(o);else for(var s=this.index,l=Math.min(a.length,s+5);s<l;s++){var c=a[s];if(c.matchesNode(e,n,t)&&this.preMatched.indexOf(c)<0){i=s;break}}return!(i<0)&&(this.destroyBetween(this.index,i),this.index++,!0)},bC.prototype.updateNextNode=function(e,n,t,r,i){for(var o=this.index;o<this.top.children.length;o++){var a=this.top.children[o];if(a instanceof oC){var s=this.preMatched.indexOf(a);if(s>-1&&s+this.preMatchOffset!=i)return!1;var l=a.dom;if(!(this.lock&&(l==this.lock||1==l.nodeType&&l.contains(this.lock.parentNode))&&!(e.isText&&a.node&&a.node.isText&&a.nodeDOM.nodeValue==e.text&&3!=a.dirty&&gC(n,a.outerDeco)))&&a.update(e,n,t,r))return this.destroyBetween(this.index,o),a.dom!=l&&(this.changed=!0),this.index++,!0;break}}return!1},bC.prototype.addNode=function(e,n,t,r,i){this.top.children.splice(this.index++,0,oC.create(this.top,e,n,t,r,i)),this.changed=!0},bC.prototype.placeWidget=function(e,n,t){var r=this.index<this.top.children.length?this.top.children[this.index]:null;if(!r||!r.matchesWidget(e)||e!=r.widget&&r.widget.type.toDOM.parentNode){var i=new tC(this.top,e,n,t);this.top.children.splice(this.index++,0,i),this.changed=!0}else this.index++},bC.prototype.addTextblockHacks=function(){for(var e=this.top.children[this.index-1];e instanceof iC;)e=e.children[e.children.length-1];if(!e||!(e instanceof sC)||/\n$/.test(e.node.text))if(this.index<this.top.children.length&&this.top.children[this.index].matchesHack())this.index++;else{var n=document.createElement("br");this.top.children.splice(this.index++,0,new lC(this.top,nC,n,null)),this.changed=!0}};var wC=gy.safari||gy.chrome&&gy.chrome_version<63;function kC(e,n){var t=e.docView.domFromPos(n),r=t.node,i=t.offset,o=i<r.childNodes.length?r.childNodes[i]:null,a=i?r.childNodes[i-1]:null;if(gy.safari&&o&&"false"==o.contentEditable)return _C(o);if(!(o&&"false"!=o.contentEditable||a&&"false"!=a.contentEditable)){if(o)return _C(o);if(a)return _C(a)}}function _C(e){return e.contentEditable="true",gy.safari&&e.draggable&&(e.draggable=!1,e.wasDraggable=!0),e}function SC(e){e.contentEditable="false",e.wasDraggable&&(e.draggable=!0,e.wasDraggable=null)}function DC(e,n){if(n instanceof Xb){var t=e.docView.descAt(n.from);t!=e.lastSelectedViewDesc&&(BC(e),t&&t.selectNode(),e.lastSelectedViewDesc=t)}else BC(e)}function BC(e){e.lastSelectedViewDesc&&(e.lastSelectedViewDesc.parent&&e.lastSelectedViewDesc.deselectNode(),e.lastSelectedViewDesc=null)}function zC(e,n,t,r){return e.someProp("createSelectionBetween",(function(r){return r(e,n,t)}))||Kb.between(n,t,r)}function OC(e){var n=e.root.getSelection();if(!n.anchorNode)return!1;try{return e.dom.contains(3==n.anchorNode.nodeType?n.anchorNode.parentNode:n.anchorNode)&&(e.editable||e.dom.contains(3==n.focusNode.nodeType?n.focusNode.parentNode:n.focusNode))}catch(e){return!1}}function MC(e,n){var t=e.selection,r=t.$anchor,i=t.$head,o=n>0?r.max(i):r.min(i),a=o.parent.inlineContent?o.depth?e.doc.resolve(n>0?o.after():o.before()):null:o;return a&&Wb.findFrom(a,n)}function TC(e,n){return e.dispatch(e.state.tr.setSelection(n).scrollIntoView()),!0}function IC(e,n,t){var r=e.state.selection;if(!(r instanceof Kb)){if(r instanceof Xb&&r.node.isInline)return TC(e,new Kb(n>0?r.$to:r.$from));var i=MC(e.state,n);return!!i&&TC(e,i)}if(!r.empty||t.indexOf("s")>-1)return!1;if(e.endOfTextblock(n>0?"right":"left")){var o=MC(e.state,n);return!!(o&&o instanceof Xb)&&TC(e,o)}if(!(gy.mac&&t.indexOf("m")>-1)){var a,s=r.$head,l=s.textOffset?null:n<0?s.nodeBefore:s.nodeAfter;if(!l||l.isText)return!1;var c=n<0?s.pos-l.nodeSize:s.pos;return!!(l.isAtom||(a=e.docView.descAt(c))&&!a.contentDOM)&&(Xb.isSelectable(l)?TC(e,new Xb(n<0?e.state.doc.resolve(s.pos-l.nodeSize):s)):!!gy.webkit&&TC(e,new Kb(e.state.doc.resolve(n<0?c:c+l.nodeSize))))}}function $C(e){return 3==e.nodeType?e.nodeValue.length:e.childNodes.length}function NC(e){var n=e.pmViewDesc;return n&&0==n.size&&(e.nextSibling||"BR"!=e.nodeName)}function RC(e){var n=e.root.getSelection(),t=n.focusNode,r=n.focusOffset;if(t){var i,o,a=!1;for(gy.gecko&&1==t.nodeType&&r<$C(t)&&NC(t.childNodes[r])&&(a=!0);;)if(r>0){if(1!=t.nodeType)break;var s=t.childNodes[r-1];if(NC(s))i=t,o=--r;else{if(3!=s.nodeType)break;r=(t=s).nodeValue.length}}else{if(LC(t))break;for(var l=t.previousSibling;l&&NC(l);)i=t.parentNode,o=xy(l),l=l.previousSibling;if(l)r=$C(t=l);else{if((t=t.parentNode)==e.dom)break;r=0}}a?PC(e,n,t,r):i&&PC(e,n,i,o)}}function FC(e){var n=e.root.getSelection(),t=n.focusNode,r=n.focusOffset;if(t){for(var i,o,a=$C(t);;)if(r<a){if(1!=t.nodeType)break;if(!NC(t.childNodes[r]))break;i=t,o=++r}else{if(LC(t))break;for(var s=t.nextSibling;s&&NC(s);)i=s.parentNode,o=xy(s)+1,s=s.nextSibling;if(s)r=0,a=$C(t=s);else{if((t=t.parentNode)==e.dom)break;r=a=0}}i&&PC(e,n,i,o)}}function LC(e){var n=e.pmViewDesc;return n&&n.node&&n.node.isBlock}function PC(e,n,t,r){if(Oy(n)){var i=document.createRange();i.setEnd(t,r),i.setStart(t,r),n.removeAllRanges(),n.addRange(i)}else n.extend&&n.extend(t,r);e.domObserver.setCurSelection();var o=e.state;setTimeout((function(){e.state==o&&xC(e)}),50)}function jC(e,n,t){var r=e.state.selection;if(r instanceof Kb&&!r.empty||t.indexOf("s")>-1)return!1;if(gy.mac&&t.indexOf("m")>-1)return!1;var i=r.$from,o=r.$to;if(!i.parent.inlineContent||e.endOfTextblock(n<0?"up":"down")){var a=MC(e.state,n);if(a&&a instanceof Xb)return TC(e,a)}if(!i.parent.inlineContent){var s=Wb.findFrom(n<0?i:o,n);return!s||TC(e,s)}return!1}function YC(e,n){if(!(e.state.selection instanceof Kb))return!0;var t=e.state.selection,r=t.$head,i=t.$anchor,o=t.empty;if(!r.sameParent(i))return!0;if(!o)return!1;if(e.endOfTextblock(n>0?"forward":"backward"))return!0;var a=!r.textOffset&&(n<0?r.nodeBefore:r.nodeAfter);if(a&&!a.isText){var s=e.state.tr;return n<0?s.delete(r.pos-a.nodeSize,r.pos):s.delete(r.pos,r.pos+a.nodeSize),e.dispatch(s),!0}return!1}function UC(e,n,t){e.domObserver.stop(),n.contentEditable=t,e.domObserver.start()}function qC(e,n){var t=n.keyCode,r=function(e){var n="";return e.ctrlKey&&(n+="c"),e.metaKey&&(n+="m"),e.altKey&&(n+="a"),e.shiftKey&&(n+="s"),n}(n);return 8==t||gy.mac&&72==t&&"c"==r?YC(e,-1)||RC(e):46==t||gy.mac&&68==t&&"c"==r?YC(e,1)||FC(e):13==t||27==t||(37==t?IC(e,-1,r)||RC(e):39==t?IC(e,1,r)||FC(e):38==t?jC(e,-1,r)||RC(e):40==t?function(e){if(gy.safari&&!(e.state.selection.$head.parentOffset>0)){var n=e.root.getSelection(),t=n.focusNode,r=n.focusOffset;if(t&&1==t.nodeType&&0==r&&t.firstChild&&"false"==t.firstChild.contentEditable){var i=t.firstChild;UC(e,i,!0),setTimeout((function(){return UC(e,i,!1)}),20)}}}(e)||jC(e,1,r)||FC(e):r==(gy.mac?"m":"c")&&(66==t||73==t||89==t||90==t))}function HC(e){var n=e.pmViewDesc;if(n)return n.parseRule();if("BR"==e.nodeName&&e.parentNode){if(gy.safari&&/^(ul|ol)$/i.test(e.parentNode.nodeName)){var t=document.createElement("div");return t.appendChild(document.createElement("li")),{skip:t}}if(e.parentNode.lastChild==e||gy.safari&&/^(tr|table)$/i.test(e.parentNode.nodeName))return{ignore:!0}}else if("IMG"==e.nodeName&&e.getAttribute("mark-placeholder"))return{ignore:!0}}function WC(e,n,t,r,i){if(n<0){var o=e.lastSelectionTime>Date.now()-50?e.lastSelectionOrigin:null,a=EC(e,o);if(a&&!e.state.selection.eq(a)){var s=e.state.tr.setSelection(a);"pointer"==o?s.setMeta("pointer",!0):"key"==o&&s.scrollIntoView(),e.dispatch(s)}}else{var l=e.state.doc.resolve(n),c=l.sharedDepth(t);n=l.before(c+1),t=e.state.doc.resolve(t).after(c+1);var d,u,p=e.state.selection,f=function(e,n,t){var r=e.docView.parseRange(n,t),i=r.node,o=r.fromOffset,a=r.toOffset,s=r.from,l=r.to,c=e.root.getSelection(),d=null,u=c.anchorNode;if(u&&e.dom.contains(1==u.nodeType?u:u.parentNode)&&(d=[{node:u,offset:c.anchorOffset}],Oy(c)||d.push({node:c.focusNode,offset:c.focusOffset})),gy.chrome&&8===e.lastKeyCode)for(var p=a;p>o;p--){var f=i.childNodes[p-1],A=f.pmViewDesc;if("BR"==f.nodeType&&!A){a=p;break}if(!A||A.size)break}var h=e.state.doc,m=e.someProp("domParser")||Gv.fromSchema(e.state.schema),g=h.resolve(s),v=null,b=m.parse(i,{topNode:g.parent,topMatch:g.parent.contentMatchAt(g.index()),topOpen:!0,from:o,to:a,preserveWhitespace:!g.parent.type.spec.code||"full",editableContent:!0,findPositions:d,ruleFromNode:HC,context:g});if(d&&null!=d[0].pos){var y=d[0].pos,C=d[1]&&d[1].pos;null==C&&(C=y),v={anchor:y+s,head:C+s}}return{doc:b,sel:v,from:s,to:l}}(e,n,t),A=e.state.doc,h=A.slice(f.from,f.to);8===e.lastKeyCode&&Date.now()-100<e.lastKeyCodeTime?(d=e.state.selection.to,u="end"):(d=e.state.selection.from,u="start"),e.lastKeyCode=null;var m=function(e,n,t,r,i){var o=e.findDiffStart(n,t);if(null==o)return null;var a=e.findDiffEnd(n,t+e.size,t+n.size),s=a.a,l=a.b;if("end"==i){r-=s+Math.max(0,o-Math.min(s,l))-o}if(s<o&&e.size<n.size){l=(o-=r<=o&&r>=s?o-r:0)+(l-s),s=o}else if(l<o){s=(o-=r<=o&&r>=l?o-r:0)+(s-l),l=o}return{start:o,endA:s,endB:l}}(h.content,f.doc.content,f.from,d,u);if(!m){if(!(r&&p instanceof Kb&&!p.empty&&p.$head.sameParent(p.$anchor))||e.composing||f.sel&&f.sel.anchor!=f.sel.head){if(f.sel){var g=VC(e,e.state.doc,f.sel);g&&!g.eq(e.state.selection)&&e.dispatch(e.state.tr.setSelection(g))}return}m={start:p.from,endA:p.to,endB:p.to}}e.domChangeCount++,e.state.selection.from<e.state.selection.to&&m.start==m.endB&&e.state.selection instanceof Kb&&(m.start>e.state.selection.from&&m.start<=e.state.selection.from+2?m.start=e.state.selection.from:m.endA<e.state.selection.to&&m.endA>=e.state.selection.to-2&&(m.endB+=e.state.selection.to-m.endA,m.endA=e.state.selection.to)),gy.ie&&gy.ie_version<=11&&m.endB==m.start+1&&m.endA==m.start&&m.start>f.from&&"  "==f.doc.textBetween(m.start-f.from-1,m.start-f.from+1)&&(m.start--,m.endA--,m.endB--);var v,b=f.doc.resolveNoCache(m.start-f.from),y=f.doc.resolveNoCache(m.endB-f.from),C=b.sameParent(y)&&b.parent.inlineContent;if((gy.ios&&e.lastIOSEnter>Date.now()-225&&(!C||i.some((function(e){return"DIV"==e.nodeName||"P"==e.nodeName})))||!C&&b.pos<f.doc.content.size&&(v=Wb.findFrom(f.doc.resolve(b.pos+1),1,!0))&&v.head==y.pos)&&e.someProp("handleKeyDown",(function(n){return n(e,My(13,"Enter"))})))e.lastIOSEnter=0;else if(e.state.selection.anchor>m.start&&function(e,n,t,r,i){if(!r.parent.isTextblock||t-n<=i.pos-r.pos||JC(r,!0,!1)<i.pos)return!1;var o=e.resolve(n);if(o.parentOffset<o.parent.content.size||!o.parent.isTextblock)return!1;var a=e.resolve(JC(o,!0,!0));if(!a.parent.isTextblock||a.pos>t||JC(a,!0,!1)<t)return!1;return r.parent.content.cut(r.parentOffset).eq(a.parent.content)}(A,m.start,m.endA,b,y)&&e.someProp("handleKeyDown",(function(n){return n(e,My(8,"Backspace"))})))gy.android&&gy.chrome&&e.domObserver.suppressSelectionUpdates();else{gy.android&&!C&&b.start()!=y.start()&&0==y.parentOffset&&b.depth==y.depth&&f.sel&&f.sel.anchor==f.sel.head&&f.sel.head==m.endA&&(m.endB-=2,y=f.doc.resolveNoCache(m.endB-f.from),setTimeout((function(){e.someProp("handleKeyDown",(function(n){return n(e,My(13,"Enter"))}))}),20));var E,x,w,k,_=m.start,S=m.endA;if(C)if(b.pos==y.pos)gy.ie&&gy.ie_version<=11&&0==b.parentOffset&&(e.domObserver.suppressSelectionUpdates(),setTimeout((function(){return xC(e)}),20)),E=e.state.tr.delete(_,S),x=A.resolve(m.start).marksAcross(A.resolve(m.endA));else if(m.endA==m.endB&&(k=A.resolve(m.start))&&(w=function(e,n){for(var t,r,i,o=e.firstChild.marks,a=n.firstChild.marks,s=o,l=a,c=0;c<a.length;c++)s=a[c].removeFromSet(s);for(var d=0;d<o.length;d++)l=o[d].removeFromSet(l);if(1==s.length&&0==l.length)r=s[0],t="add",i=function(e){return e.mark(r.addToSet(e.marks))};else{if(0!=s.length||1!=l.length)return null;r=l[0],t="remove",i=function(e){return e.mark(r.removeFromSet(e.marks))}}for(var u=[],p=0;p<n.childCount;p++)u.push(i(n.child(p)));if(Xg.from(u).eq(e))return{mark:r,type:t}}(b.parent.content.cut(b.parentOffset,y.parentOffset),k.parent.content.cut(k.parentOffset,m.endA-k.start()))))E=e.state.tr,"add"==w.type?E.addMark(_,S,w.mark):E.removeMark(_,S,w.mark);else if(b.parent.child(b.index()).isText&&b.index()==y.index()-(y.textOffset?0:1)){var D=b.parent.textBetween(b.parentOffset,y.parentOffset);if(e.someProp("handleTextInput",(function(n){return n(e,_,S,D)})))return;E=e.state.tr.insertText(D,_,S)}if(E||(E=e.state.tr.replace(_,S,f.doc.slice(m.start-f.from,m.endB-f.from))),f.sel){var B=VC(e,E.doc,f.sel);B&&!(gy.chrome&&gy.android&&e.composing&&B.empty&&(B.head==_||B.head==E.mapping.map(S)-1)||gy.ie&&B.empty&&B.head==_)&&E.setSelection(B)}x&&E.ensureMarks(x),e.dispatch(E.scrollIntoView())}}}function VC(e,n,t){return Math.max(t.anchor,t.head)>n.content.size?null:zC(e,n.resolve(t.anchor),n.resolve(t.head))}function JC(e,n,t){for(var r=e.depth,i=n?e.end():e.pos;r>0&&(n||e.indexAfter(r)==e.node(r).childCount);)r--,i++,n=!1;if(t)for(var o=e.node(r).maybeChild(e.indexAfter(r));o&&!o.isLeaf;)o=o.firstChild,i++;return i}function KC(e,n){for(var t=[],r=n.content,i=n.openStart,o=n.openEnd;i>1&&o>1&&1==r.childCount&&1==r.firstChild.childCount;){i--,o--;var a=r.firstChild;t.push(a.type.name,a.type.hasRequiredAttrs()?a.attrs:null),r=a.content}var s=e.someProp("clipboardSerializer")||lb.fromSchema(e.state.schema),l=rE(),c=l.createElement("div");c.appendChild(s.serializeFragment(r,{document:l}));for(var d,u=c.firstChild;u&&1==u.nodeType&&(d=nE[u.nodeName.toLowerCase()]);){for(var p=d.length-1;p>=0;p--){for(var f=l.createElement(d[p]);c.firstChild;)f.appendChild(c.firstChild);c.appendChild(f)}u=c.firstChild}return u&&1==u.nodeType&&u.setAttribute("data-pm-slice",i+" "+o+" "+JSON.stringify(t)),{dom:c,text:e.someProp("clipboardTextSerializer",(function(e){return e(n)}))||n.content.textBetween(0,n.content.size,"\n\n")}}function GC(e,n,t,r,i){var o,a,s=i.parent.type.spec.code;if(!t&&!n)return null;var l=n&&(r||s||!t);if(l){if(e.someProp("transformPastedText",(function(e){n=e(n,s||r)})),s)return new iv(Xg.from(e.state.schema.text(n)),0,0);var c=e.someProp("clipboardTextParser",(function(e){return e(n,i,r)}));c?a=c:(o=document.createElement("div"),n.trim().split(/(?:\r\n?|\n)+/).forEach((function(e){o.appendChild(document.createElement("p")).textContent=e})))}else e.someProp("transformPastedHTML",(function(e){t=e(t)})),o=function(e){var n=/(\s*<meta [^>]*>)*/.exec(e);n&&(e=e.slice(n[0].length));var t,r=rE().createElement("div"),i=/(?:<meta [^>]*>)*<([a-z][^>\s]+)/i.exec(e),o=0;(t=i&&nE[i[1].toLowerCase()])&&(e=t.map((function(e){return"<"+e+">"})).join("")+e+t.map((function(e){return"</"+e+">"})).reverse().join(""),o=t.length);r.innerHTML=e;for(var a=0;a<o;a++)r=r.firstChild;return r}(t);var d=o&&o.querySelector("[data-pm-slice]"),u=d&&/^(\d+) (\d+) (.*)/.exec(d.getAttribute("data-pm-slice"));if(!a){var p=e.someProp("clipboardParser")||e.someProp("domParser")||Gv.fromSchema(e.state.schema);a=p.parseSlice(o,{preserveWhitespace:!(!l&&!u),context:i})}return a=u?function(e,n){if(!e.size)return e;var t,r=e.content.firstChild.type.schema;try{t=JSON.parse(n)}catch(n){return e}for(var i=e.content,o=e.openStart,a=e.openEnd,s=t.length-2;s>=0;s-=2){var l=r.nodes[t[s]];if(!l||l.hasRequiredAttrs())break;i=Xg.from(l.create(t[s+1],i)),o++,a++}return new iv(i,o,a)}(function(e,n,t){n<e.openStart&&(e=new iv(eE(e.content,-1,n,e.openStart,0,e.openEnd),n,e.openEnd));t<e.openEnd&&(e=new iv(eE(e.content,1,t,e.openEnd,0,0),e.openStart,t));return e}(a,+u[1],+u[2]),u[3]):iv.maxOpen(function(e,n){if(e.childCount<2)return e;for(var t=function(t){var r=n.node(t).contentMatchAt(n.index(t)),i=void 0,o=[];if(e.forEach((function(e){if(o){var n,t=r.findWrapping(e.type);if(!t)return o=null;if(n=o.length&&i.length&&QC(t,i,e,o[o.length-1],0))o[o.length-1]=n;else{o.length&&(o[o.length-1]=ZC(o[o.length-1],i.length));var a=XC(e,t);o.push(a),r=r.matchType(a.type,a.attrs),i=t}}})),o)return{v:Xg.from(o)}},r=n.depth;r>=0;r--){var i=t(r);if(i)return i.v}return e}(a.content,i),!1),e.someProp("transformPasted",(function(e){a=e(a)})),a}function XC(e,n,t){void 0===t&&(t=0);for(var r=n.length-1;r>=t;r--)e=n[r].create(null,Xg.from(e));return e}function QC(e,n,t,r,i){if(i<e.length&&i<n.length&&e[i]==n[i]){var o=QC(e,n,t,r.lastChild,i+1);if(o)return r.copy(r.content.replaceChild(r.childCount-1,o));if(r.contentMatchAt(r.childCount).matchType(i==e.length-1?t.type:e[i+1]))return r.copy(r.content.append(Xg.from(XC(t,e,i+1))))}}function ZC(e,n){if(0==n)return e;var t=e.content.replaceChild(e.childCount-1,ZC(e.lastChild,n-1)),r=e.contentMatchAt(e.childCount).fillBefore(Xg.empty,!0);return e.copy(t.append(r))}function eE(e,n,t,r,i,o){var a=n<0?e.firstChild:e.lastChild,s=a.content;return i<r-1&&(s=eE(s,n,t,r,i+1,o)),i>=t&&(s=n<0?a.contentMatchAt(0).fillBefore(s,e.childCount>1||o<=i).append(s):s.append(a.contentMatchAt(a.childCount).fillBefore(Xg.empty,!0))),e.replaceChild(n<0?0:e.childCount-1,a.copy(s))}var nE={thead:["table"],tbody:["table"],tfoot:["table"],caption:["table"],colgroup:["table"],col:["table","colgroup"],tr:["table","tbody"],td:["table","tbody","tr"],th:["table","tbody","tr"]},tE=null;function rE(){return tE||(tE=document.implementation.createHTMLDocument("title"))}var iE={childList:!0,characterData:!0,characterDataOldValue:!0,attributes:!0,attributeOldValue:!0,subtree:!0},oE=gy.ie&&gy.ie_version<=11,aE=function(){this.anchorNode=this.anchorOffset=this.focusNode=this.focusOffset=null};aE.prototype.set=function(e){this.anchorNode=e.anchorNode,this.anchorOffset=e.anchorOffset,this.focusNode=e.focusNode,this.focusOffset=e.focusOffset},aE.prototype.eq=function(e){return e.anchorNode==this.anchorNode&&e.anchorOffset==this.anchorOffset&&e.focusNode==this.focusNode&&e.focusOffset==this.focusOffset};var sE=function(e,n){var t=this;this.view=e,this.handleDOMChange=n,this.queue=[],this.flushingSoon=-1,this.observer=window.MutationObserver&&new window.MutationObserver((function(e){for(var n=0;n<e.length;n++)t.queue.push(e[n]);gy.ie&&gy.ie_version<=11&&e.some((function(e){return"childList"==e.type&&e.removedNodes.length||"characterData"==e.type&&e.oldValue.length>e.target.nodeValue.length}))?t.flushSoon():t.flush()})),this.currentSelection=new aE,oE&&(this.onCharData=function(e){t.queue.push({target:e.target,type:"characterData",oldValue:e.prevValue}),t.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.suppressingSelectionUpdates=!1};sE.prototype.flushSoon=function(){var e=this;this.flushingSoon<0&&(this.flushingSoon=window.setTimeout((function(){e.flushingSoon=-1,e.flush()}),20))},sE.prototype.forceFlush=function(){this.flushingSoon>-1&&(window.clearTimeout(this.flushingSoon),this.flushingSoon=-1,this.flush())},sE.prototype.start=function(){this.observer&&this.observer.observe(this.view.dom,iE),oE&&this.view.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.connectSelection()},sE.prototype.stop=function(){var e=this;if(this.observer){var n=this.observer.takeRecords();if(n.length){for(var t=0;t<n.length;t++)this.queue.push(n[t]);window.setTimeout((function(){return e.flush()}),20)}this.observer.disconnect()}oE&&this.view.dom.removeEventListener("DOMCharacterDataModified",this.onCharData),this.disconnectSelection()},sE.prototype.connectSelection=function(){this.view.dom.ownerDocument.addEventListener("selectionchange",this.onSelectionChange)},sE.prototype.disconnectSelection=function(){this.view.dom.ownerDocument.removeEventListener("selectionchange",this.onSelectionChange)},sE.prototype.suppressSelectionUpdates=function(){var e=this;this.suppressingSelectionUpdates=!0,setTimeout((function(){return e.suppressingSelectionUpdates=!1}),50)},sE.prototype.onSelectionChange=function(){if((!(e=this.view).editable||e.root.activeElement==e.dom)&&OC(e)){var e;if(this.suppressingSelectionUpdates)return xC(this.view);if(gy.ie&&gy.ie_version<=11&&!this.view.state.selection.empty){var n=this.view.root.getSelection();if(n.focusNode&&_y(n.focusNode,n.focusOffset,n.anchorNode,n.anchorOffset))return this.flushSoon()}this.flush()}},sE.prototype.setCurSelection=function(){this.currentSelection.set(this.view.root.getSelection())},sE.prototype.ignoreSelectionChange=function(e){if(0==e.rangeCount)return!0;var n=e.getRangeAt(0).commonAncestorContainer,t=this.view.docView.nearestDesc(n);return t&&t.ignoreMutation({type:"selection",target:3==n.nodeType?n.parentNode:n})?(this.setCurSelection(),!0):void 0},sE.prototype.flush=function(){if(this.view.docView&&!(this.flushingSoon>-1)){var e=this.observer?this.observer.takeRecords():[];this.queue.length&&(e=this.queue.concat(e),this.queue.length=0);var n=this.view.root.getSelection(),t=!this.suppressingSelectionUpdates&&!this.currentSelection.eq(n)&&OC(this.view)&&!this.ignoreSelectionChange(n),r=-1,i=-1,o=!1,a=[];if(this.view.editable)for(var s=0;s<e.length;s++){var l=this.registerMutation(e[s],a);l&&(r=r<0?l.from:Math.min(l.from,r),i=i<0?l.to:Math.max(l.to,i),l.typeOver&&(o=!0))}if(gy.gecko&&a.length>1){var c=a.filter((function(e){return"BR"==e.nodeName}));if(2==c.length){var d=c[0],u=c[1];d.parentNode&&d.parentNode.parentNode==u.parentNode?u.remove():d.remove()}}(r>-1||t)&&(r>-1&&(this.view.docView.markDirty(r,i),function(e){if(lE)return;lE=!0,"normal"==getComputedStyle(e.dom).whiteSpace&&console.warn("ProseMirror expects the CSS white-space property to be set, preferably to 'pre-wrap'. It is recommended to load style/prosemirror.css from the prosemirror-view package.")}(this.view)),this.handleDOMChange(r,i,o,a),this.view.docView.dirty?this.view.updateState(this.view.state):this.currentSelection.eq(n)||xC(this.view))}},sE.prototype.registerMutation=function(e,n){if(n.indexOf(e.target)>-1)return null;var t=this.view.docView.nearestDesc(e.target);if("attributes"==e.type&&(t==this.view.docView||"contenteditable"==e.attributeName||"style"==e.attributeName&&!e.oldValue&&!e.target.getAttribute("style")))return null;if(!t||t.ignoreMutation(e))return null;if("childList"==e.type){var r=e.previousSibling,i=e.nextSibling;if(gy.ie&&gy.ie_version<=11&&e.addedNodes.length)for(var o=0;o<e.addedNodes.length;o++){var a=e.addedNodes[o],s=a.previousSibling,l=a.nextSibling;(!s||Array.prototype.indexOf.call(e.addedNodes,s)<0)&&(r=s),(!l||Array.prototype.indexOf.call(e.addedNodes,l)<0)&&(i=l)}for(var c=r&&r.parentNode==e.target?xy(r)+1:0,d=t.localPosFromDOM(e.target,c,-1),u=i&&i.parentNode==e.target?xy(i):e.target.childNodes.length,p=0;p<e.addedNodes.length;p++)n.push(e.addedNodes[p]);return{from:d,to:t.localPosFromDOM(e.target,u,1)}}return"attributes"==e.type?{from:t.posAtStart-t.border,to:t.posAtEnd+t.border}:{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}};var lE=!1;var cE={},dE={};function uE(e,n){e.lastSelectionOrigin=n,e.lastSelectionTime=Date.now()}function pE(e){e.someProp("handleDOMEvents",(function(n){for(var t in n)e.eventHandlers[t]||e.dom.addEventListener(t,e.eventHandlers[t]=function(n){return fE(e,n)})}))}function fE(e,n){return e.someProp("handleDOMEvents",(function(t){var r=t[n.type];return!!r&&(r(e,n)||n.defaultPrevented)}))}function AE(e){return{left:e.clientX,top:e.clientY}}function hE(e,n,t,r,i){if(-1==r)return!1;for(var o=e.state.doc.resolve(r),a=function(r){if(e.someProp(n,(function(n){return r>o.depth?n(e,t,o.nodeAfter,o.before(r),i,!0):n(e,t,o.node(r),o.before(r),i,!1)})))return{v:!0}},s=o.depth+1;s>0;s--){var l=a(s);if(l)return l.v}return!1}function mE(e,n,t){e.focused||e.focus();var r=e.state.tr.setSelection(n);"pointer"==t&&r.setMeta("pointer",!0),e.dispatch(r)}function gE(e,n,t,r,i){return hE(e,"handleClickOn",n,t,r)||e.someProp("handleClick",(function(t){return t(e,n,r)}))||(i?function(e,n){if(-1==n)return!1;var t,r,i=e.state.selection;i instanceof Xb&&(t=i.node);for(var o=e.state.doc.resolve(n),a=o.depth+1;a>0;a--){var s=a>o.depth?o.nodeAfter:o.node(a);if(Xb.isSelectable(s)){r=t&&i.$from.depth>0&&a>=i.$from.depth&&o.before(i.$from.depth+1)==i.$from.pos?o.before(i.$from.depth):o.before(a);break}}return null!=r&&(mE(e,Xb.create(e.state.doc,r),"pointer"),!0)}(e,t):function(e,n){if(-1==n)return!1;var t=e.state.doc.resolve(n),r=t.nodeAfter;return!!(r&&r.isAtom&&Xb.isSelectable(r))&&(mE(e,new Xb(t),"pointer"),!0)}(e,t))}function vE(e,n,t,r){return hE(e,"handleDoubleClickOn",n,t,r)||e.someProp("handleDoubleClick",(function(t){return t(e,n,r)}))}function bE(e,n,t,r){return hE(e,"handleTripleClickOn",n,t,r)||e.someProp("handleTripleClick",(function(t){return t(e,n,r)}))||function(e,n){var t=e.state.doc;if(-1==n)return!!t.inlineContent&&(mE(e,Kb.create(t,0,t.content.size),"pointer"),!0);for(var r=t.resolve(n),i=r.depth+1;i>0;i--){var o=i>r.depth?r.nodeAfter:r.node(i),a=r.before(i);if(o.inlineContent)mE(e,Kb.create(t,a+1,a+1+o.content.size),"pointer");else{if(!Xb.isSelectable(o))continue;mE(e,Xb.create(t,a),"pointer")}return!0}}(e,t)}function yE(e){return SE(e)}dE.keydown=function(e,n){if(e.shiftKey=16==n.keyCode||n.shiftKey,!xE(e,n))if(e.domObserver.forceFlush(),e.lastKeyCode=n.keyCode,e.lastKeyCodeTime=Date.now(),!gy.ios||13!=n.keyCode||n.ctrlKey||n.altKey||n.metaKey)e.someProp("handleKeyDown",(function(t){return t(e,n)}))||qC(e,n)?n.preventDefault():uE(e,"key");else{var t=Date.now();e.lastIOSEnter=t,e.lastIOSEnterFallbackTimeout=setTimeout((function(){e.lastIOSEnter==t&&(e.someProp("handleKeyDown",(function(n){return n(e,My(13,"Enter"))})),e.lastIOSEnter=0)}),200)}},dE.keyup=function(e,n){16==n.keyCode&&(e.shiftKey=!1)},dE.keypress=function(e,n){if(!(xE(e,n)||!n.charCode||n.ctrlKey&&!n.altKey||gy.mac&&n.metaKey))if(e.someProp("handleKeyPress",(function(t){return t(e,n)})))n.preventDefault();else{var t=e.state.selection;if(!(t instanceof Kb&&t.$from.sameParent(t.$to))){var r=String.fromCharCode(n.charCode);e.someProp("handleTextInput",(function(n){return n(e,t.$from.pos,t.$to.pos,r)}))||e.dispatch(e.state.tr.insertText(r).scrollIntoView()),n.preventDefault()}}};var CE=gy.mac?"metaKey":"ctrlKey";cE.mousedown=function(e,n){e.shiftKey=n.shiftKey;var t=yE(e),r=Date.now(),i="singleClick";r-e.lastClick.time<500&&function(e,n){var t=n.x-e.clientX,r=n.y-e.clientY;return t*t+r*r<100}(n,e.lastClick)&&!n[CE]&&("singleClick"==e.lastClick.type?i="doubleClick":"doubleClick"==e.lastClick.type&&(i="tripleClick")),e.lastClick={time:r,x:n.clientX,y:n.clientY,type:i};var o=e.posAtCoords(AE(n));o&&("singleClick"==i?e.mouseDown=new EE(e,o,n,t):("doubleClick"==i?vE:bE)(e,o.pos,o.inside,n)?n.preventDefault():uE(e,"pointer"))};var EE=function(e,n,t,r){var i,o,a=this;if(this.view=e,this.startDoc=e.state.doc,this.pos=n,this.event=t,this.flushed=r,this.selectNode=t[CE],this.allowDefault=t.shiftKey,n.inside>-1)i=e.state.doc.nodeAt(n.inside),o=n.inside;else{var s=e.state.doc.resolve(n.pos);i=s.parent,o=s.depth?s.before():0}this.mightDrag=null;var l=r?null:t.target,c=l?e.docView.nearestDesc(l,!0):null;this.target=c?c.dom:null,(i.type.spec.draggable&&!1!==i.type.spec.selectable||e.state.selection instanceof Xb&&o==e.state.selection.from)&&(this.mightDrag={node:i,pos:o,addAttr:this.target&&!this.target.draggable,setUneditable:this.target&&gy.gecko&&!this.target.hasAttribute("contentEditable")}),this.target&&this.mightDrag&&(this.mightDrag.addAttr||this.mightDrag.setUneditable)&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&(this.target.draggable=!0),this.mightDrag.setUneditable&&setTimeout((function(){return a.target.setAttribute("contentEditable","false")}),20),this.view.domObserver.start()),e.root.addEventListener("mouseup",this.up=this.up.bind(this)),e.root.addEventListener("mousemove",this.move=this.move.bind(this)),uE(e,"pointer")};function xE(e,n){return!!e.composing||!!(gy.safari&&Math.abs(n.timeStamp-e.compositionEndedAt)<500)&&(e.compositionEndedAt=-2e8,!0)}EE.prototype.done=function(){this.view.root.removeEventListener("mouseup",this.up),this.view.root.removeEventListener("mousemove",this.move),this.mightDrag&&this.target&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&this.target.removeAttribute("draggable"),this.mightDrag.setUneditable&&this.target.removeAttribute("contentEditable"),this.view.domObserver.start()),this.view.mouseDown=null},EE.prototype.up=function(e){if(this.done(),this.view.dom.contains(3==e.target.nodeType?e.target.parentNode:e.target)){var n=this.pos;this.view.state.doc!=this.startDoc&&(n=this.view.posAtCoords(AE(e))),this.allowDefault||!n?uE(this.view,"pointer"):gE(this.view,n.pos,n.inside,e,this.selectNode)?e.preventDefault():this.flushed||gy.safari&&this.mightDrag&&!this.mightDrag.node.isAtom||gy.chrome&&!(this.view.state.selection instanceof Kb)&&(n.pos==this.view.state.selection.from||n.pos==this.view.state.selection.to)?(mE(this.view,Wb.near(this.view.state.doc.resolve(n.pos)),"pointer"),e.preventDefault()):uE(this.view,"pointer")}},EE.prototype.move=function(e){!this.allowDefault&&(Math.abs(this.event.x-e.clientX)>4||Math.abs(this.event.y-e.clientY)>4)&&(this.allowDefault=!0),uE(this.view,"pointer")},cE.touchdown=function(e){yE(e),uE(e,"pointer")},cE.contextmenu=function(e){return yE(e)};var wE=gy.android?5e3:-1;function kE(e,n){clearTimeout(e.composingTimeout),n>-1&&(e.composingTimeout=setTimeout((function(){return SE(e)}),n))}function _E(e){for(e.composing=!1;e.compositionNodes.length>0;)e.compositionNodes.pop().markParentsDirty()}function SE(e,n){if(e.domObserver.forceFlush(),_E(e),n||e.docView.dirty){var t=EC(e);return t&&!t.eq(e.state.selection)?e.dispatch(e.state.tr.setSelection(t)):e.updateState(e.state),!0}return!1}dE.compositionstart=dE.compositionupdate=function(e){if(!e.composing){e.domObserver.flush();var n=e.state,t=n.selection.$from;if(n.selection.empty&&(n.storedMarks||!t.textOffset&&t.parentOffset&&t.nodeBefore.marks.some((function(e){return!1===e.type.spec.inclusive}))))e.markCursor=e.state.storedMarks||t.marks(),SE(e,!0),e.markCursor=null;else if(SE(e),gy.gecko&&n.selection.empty&&t.parentOffset&&!t.textOffset&&t.nodeBefore.marks.length)for(var r=e.root.getSelection(),i=r.focusNode,o=r.focusOffset;i&&1==i.nodeType&&0!=o;){var a=o<0?i.lastChild:i.childNodes[o-1];if(!a)break;if(3==a.nodeType){r.collapse(a,a.nodeValue.length);break}i=a,o=-1}e.composing=!0}kE(e,wE)},dE.compositionend=function(e,n){e.composing&&(e.composing=!1,e.compositionEndedAt=n.timeStamp,kE(e,20))};var DE=gy.ie&&gy.ie_version<15||gy.ios&&gy.webkit_version<604;function BE(e,n,t,r){var i=GC(e,n,t,e.shiftKey,e.state.selection.$from);if(!e.someProp("handlePaste",(function(n){return n(e,r,i||iv.empty)}))&&i){var o=function(e){return 0==e.openStart&&0==e.openEnd&&1==e.content.childCount?e.content.firstChild:null}(i),a=o?e.state.tr.replaceSelectionWith(o,e.shiftKey):e.state.tr.replaceSelection(i);e.dispatch(a.scrollIntoView().setMeta("paste",!0).setMeta("uiEvent","paste"))}}cE.copy=dE.cut=function(e,n){var t=e.state.selection,r="cut"==n.type;if(!t.empty){var i=DE?null:n.clipboardData,o=KC(e,t.content()),a=o.dom,s=o.text;i?(n.preventDefault(),i.clearData(),i.setData("text/html",a.innerHTML),i.setData("text/plain",s)):function(e,n){if(e.dom.parentNode){var t=e.dom.parentNode.appendChild(document.createElement("div"));t.appendChild(n),t.style.cssText="position: fixed; left: -10000px; top: 10px";var r=getSelection(),i=document.createRange();i.selectNodeContents(n),e.dom.blur(),r.removeAllRanges(),r.addRange(i),setTimeout((function(){t.parentNode&&t.parentNode.removeChild(t),e.focus()}),50)}}(e,a),r&&e.dispatch(e.state.tr.deleteSelection().scrollIntoView().setMeta("uiEvent","cut"))}},dE.paste=function(e,n){var t=DE?null:n.clipboardData,r=t&&t.getData("text/html"),i=t&&t.getData("text/plain");t&&(r||i||t.files.length)?(BE(e,i,r,n),n.preventDefault()):function(e,n){if(e.dom.parentNode){var t=e.shiftKey||e.state.selection.$from.parent.type.spec.code,r=e.dom.parentNode.appendChild(document.createElement(t?"textarea":"div"));t||(r.contentEditable="true"),r.style.cssText="position: fixed; left: -10000px; top: 10px",r.focus(),setTimeout((function(){e.focus(),r.parentNode&&r.parentNode.removeChild(r),t?BE(e,r.value,null,n):BE(e,r.textContent,r.innerHTML,n)}),50)}}(e,n)};var zE=function(e,n){this.slice=e,this.move=n},OE=gy.mac?"altKey":"ctrlKey";for(var ME in cE.dragstart=function(e,n){var t=e.mouseDown;if(t&&t.done(),n.dataTransfer){var r=e.state.selection,i=r.empty?null:e.posAtCoords(AE(n));if(i&&i.pos>=r.from&&i.pos<=(r instanceof Xb?r.to-1:r.to));else if(t&&t.mightDrag)e.dispatch(e.state.tr.setSelection(Xb.create(e.state.doc,t.mightDrag.pos)));else if(n.target&&1==n.target.nodeType){var o=e.docView.nearestDesc(n.target,!0);if(!o||!o.node.type.spec.draggable||o==e.docView)return;e.dispatch(e.state.tr.setSelection(Xb.create(e.state.doc,o.posBefore)))}var a=e.state.selection.content(),s=KC(e,a),l=s.dom,c=s.text;n.dataTransfer.clearData(),n.dataTransfer.setData(DE?"Text":"text/html",l.innerHTML),DE||n.dataTransfer.setData("text/plain",c),e.dragging=new zE(a,!n[OE])}},cE.dragend=function(e){window.setTimeout((function(){return e.dragging=null}),50)},dE.dragover=dE.dragenter=function(e,n){return n.preventDefault()},dE.drop=function(e,n){var t=e.dragging;if(e.dragging=null,n.dataTransfer){var r=e.posAtCoords(AE(n));if(r){var i=e.state.doc.resolve(r.pos);if(i){var o=t&&t.slice||GC(e,n.dataTransfer.getData(DE?"Text":"text/plain"),DE?null:n.dataTransfer.getData("text/html"),!1,i),a=t&&!n[OE];if(e.someProp("handleDrop",(function(t){return t(e,n,o||iv.empty,a)})))n.preventDefault();else if(o){n.preventDefault();var s=o?Ob(e.state.doc,i.pos,o):i.pos;null==s&&(s=i.pos);var l=e.state.tr;a&&l.deleteSelection();var c=l.mapping.map(s),d=0==o.openStart&&0==o.openEnd&&1==o.content.childCount,u=l.doc;if(d?l.replaceRangeWith(c,c,o.content.firstChild):l.replaceRange(c,c,o),!l.doc.eq(u)){var p=l.doc.resolve(c);if(d&&Xb.isSelectable(o.content.firstChild)&&p.nodeAfter&&p.nodeAfter.sameMarkup(o.content.firstChild))l.setSelection(new Xb(p));else{var f=l.mapping.map(s);l.mapping.maps[l.mapping.maps.length-1].forEach((function(e,n,t,r){return f=r})),l.setSelection(zC(e,p,l.doc.resolve(f)))}e.focus(),e.dispatch(l.setMeta("uiEvent","drop"))}}}}}},cE.focus=function(e){e.focused||(e.domObserver.stop(),e.dom.classList.add("ProseMirror-focused"),e.domObserver.start(),e.focused=!0,setTimeout((function(){e.docView&&e.hasFocus()&&!e.domObserver.currentSelection.eq(e.root.getSelection())&&xC(e)}),20))},cE.blur=function(e){e.focused&&(e.domObserver.stop(),e.dom.classList.remove("ProseMirror-focused"),e.domObserver.start(),e.domObserver.currentSelection.set({}),e.focused=!1)},cE.beforeinput=function(e,n){if(gy.chrome&&gy.android&&"deleteContentBackward"==n.inputType){var t=e.domChangeCount;setTimeout((function(){if(e.domChangeCount==t&&(e.dom.blur(),e.focus(),!e.someProp("handleKeyDown",(function(n){return n(e,My(8,"Backspace"))})))){var n=e.state.selection.$cursor;n&&n.pos>0&&e.dispatch(e.state.tr.delete(n.pos-1,n.pos).scrollIntoView())}}),50)}},dE)cE[ME]=dE[ME];function TE(e,n){if(e==n)return!0;for(var t in e)if(e[t]!==n[t])return!1;for(var r in n)if(!(r in e))return!1;return!0}var IE=function(e,n){this.spec=n||PE,this.side=this.spec.side||0,this.toDOM=e};IE.prototype.map=function(e,n,t,r){var i=e.mapResult(n.from+r,this.side<0?-1:1),o=i.pos;return i.deleted?null:new RE(o-t,o-t,this)},IE.prototype.valid=function(){return!0},IE.prototype.eq=function(e){return this==e||e instanceof IE&&(this.spec.key&&this.spec.key==e.spec.key||this.toDOM==e.toDOM&&TE(this.spec,e.spec))};var $E=function(e,n){this.spec=n||PE,this.attrs=e};$E.prototype.map=function(e,n,t,r){var i=e.map(n.from+r,this.spec.inclusiveStart?-1:1)-t,o=e.map(n.to+r,this.spec.inclusiveEnd?1:-1)-t;return i>=o?null:new RE(i,o,this)},$E.prototype.valid=function(e,n){return n.from<n.to},$E.prototype.eq=function(e){return this==e||e instanceof $E&&TE(this.attrs,e.attrs)&&TE(this.spec,e.spec)},$E.is=function(e){return e.type instanceof $E};var NE=function(e,n){this.spec=n||PE,this.attrs=e};NE.prototype.map=function(e,n,t,r){var i=e.mapResult(n.from+r,1);if(i.deleted)return null;var o=e.mapResult(n.to+r,-1);return o.deleted||o.pos<=i.pos?null:new RE(i.pos-t,o.pos-t,this)},NE.prototype.valid=function(e,n){var t=e.content.findIndex(n.from),r=t.index,i=t.offset;return i==n.from&&i+e.child(r).nodeSize==n.to},NE.prototype.eq=function(e){return this==e||e instanceof NE&&TE(this.attrs,e.attrs)&&TE(this.spec,e.spec)};var RE=function(e,n,t){this.from=e,this.to=n,this.type=t},FE={spec:{configurable:!0},inline:{configurable:!0}};RE.prototype.copy=function(e,n){return new RE(e,n,this.type)},RE.prototype.eq=function(e,n){return void 0===n&&(n=0),this.type.eq(e.type)&&this.from+n==e.from&&this.to+n==e.to},RE.prototype.map=function(e,n,t){return this.type.map(e,this,n,t)},RE.widget=function(e,n,t){return new RE(e,e,new IE(n,t))},RE.inline=function(e,n,t,r){return new RE(e,n,new $E(t,r))},RE.node=function(e,n,t,r){return new RE(e,n,new NE(t,r))},FE.spec.get=function(){return this.type.spec},FE.inline.get=function(){return this.type instanceof $E},Object.defineProperties(RE.prototype,FE);var LE=[],PE={},jE=function(e,n){this.local=e&&e.length?e:LE,this.children=n&&n.length?n:LE};jE.create=function(e,n){return n.length?VE(n,e,0,PE):YE},jE.prototype.find=function(e,n,t){var r=[];return this.findInner(null==e?0:e,null==n?1e9:n,r,0,t),r},jE.prototype.findInner=function(e,n,t,r,i){for(var o=0;o<this.local.length;o++){var a=this.local[o];a.from<=n&&a.to>=e&&(!i||i(a.spec))&&t.push(a.copy(a.from+r,a.to+r))}for(var s=0;s<this.children.length;s+=3)if(this.children[s]<n&&this.children[s+1]>e){var l=this.children[s]+1;this.children[s+2].findInner(e-l,n-l,t,r+l,i)}},jE.prototype.map=function(e,n,t){return this==YE||0==e.maps.length?this:this.mapInner(e,n,0,0,t||PE)},jE.prototype.mapInner=function(e,n,t,r,i){for(var o,a=0;a<this.local.length;a++){var s=this.local[a].map(e,t,r);s&&s.type.valid(n,s)?(o||(o=[])).push(s):i.onRemove&&i.onRemove(this.local[a].spec)}return this.children.length?function(e,n,t,r,i,o,a){for(var s=e.slice(),l=function(e,n,t,r){for(var a=0;a<s.length;a+=3){var l=s[a+1],c=void 0;-1==l||e>l+o||(n>=s[a]+o?s[a+1]=-1:t>=i&&(c=r-t-(n-e))&&(s[a]+=c,s[a+1]+=c))}},c=0;c<t.maps.length;c++)t.maps[c].forEach(l);for(var d=!1,u=0;u<s.length;u+=3)if(-1==s[u+1]){var p=t.map(e[u]+o),f=p-i;if(f<0||f>=r.content.size){d=!0;continue}var A=t.map(e[u+1]+o,-1)-i,h=r.content.findIndex(f),m=h.index,g=h.offset,v=r.maybeChild(m);if(v&&g==f&&g+v.nodeSize==A){var b=s[u+2].mapInner(t,v,p+1,e[u]+o+1,a);b!=YE?(s[u]=f,s[u+1]=A,s[u+2]=b):(s[u+1]=-2,d=!0)}else d=!0}if(d){var y=VE(function(e,n,t,r,i,o,a){function s(e,n){for(var o=0;o<e.local.length;o++){var l=e.local[o].map(r,i,n);l?t.push(l):a.onRemove&&a.onRemove(e.local[o].spec)}for(var c=0;c<e.children.length;c+=3)s(e.children[c+2],e.children[c]+n+1)}for(var l=0;l<e.length;l+=3)-1==e[l+1]&&s(e[l+2],n[l]+o+1);return t}(s,e,n||[],t,i,o,a),r,0,a);n=y.local;for(var C=0;C<s.length;C+=3)s[C+1]<0&&(s.splice(C,3),C-=3);for(var E=0,x=0;E<y.children.length;E+=3){for(var w=y.children[E];x<s.length&&s[x]<w;)x+=3;s.splice(x,0,y.children[E],y.children[E+1],y.children[E+2])}}return new jE(n&&n.sort(JE),s)}(this.children,o,e,n,t,r,i):o?new jE(o.sort(JE)):YE},jE.prototype.add=function(e,n){return n.length?this==YE?jE.create(e,n):this.addInner(e,n,0):this},jE.prototype.addInner=function(e,n,t){var r,i=this,o=0;e.forEach((function(e,a){var s,l=a+t;if(s=HE(n,e,l)){for(r||(r=i.children.slice());o<r.length&&r[o]<a;)o+=3;r[o]==a?r[o+2]=r[o+2].addInner(e,s,l+1):r.splice(o,0,a,a+e.nodeSize,VE(s,e,l+1,PE)),o+=3}}));var a=qE(o?WE(n):n,-t);return new jE(a.length?this.local.concat(a).sort(JE):this.local,r||this.children)},jE.prototype.remove=function(e){return 0==e.length||this==YE?this:this.removeInner(e,0)},jE.prototype.removeInner=function(e,n){for(var t=this.children,r=this.local,i=0;i<t.length;i+=3){for(var o=void 0,a=t[i]+n,s=t[i+1]+n,l=0,c=void 0;l<e.length;l++)(c=e[l])&&c.from>a&&c.to<s&&(e[l]=null,(o||(o=[])).push(c));if(o){t==this.children&&(t=this.children.slice());var d=t[i+2].removeInner(o,a+1);d!=YE?t[i+2]=d:(t.splice(i,3),i-=3)}}if(r.length)for(var u=0,p=void 0;u<e.length;u++)if(p=e[u])for(var f=0;f<r.length;f++)r[f].eq(p,n)&&(r==this.local&&(r=this.local.slice()),r.splice(f--,1));return t==this.children&&r==this.local?this:r.length||t.length?new jE(r,t):YE},jE.prototype.forChild=function(e,n){if(this==YE)return this;if(n.isLeaf)return jE.empty;for(var t,r,i=0;i<this.children.length;i+=3)if(this.children[i]>=e){this.children[i]==e&&(t=this.children[i+2]);break}for(var o=e+1,a=o+n.content.size,s=0;s<this.local.length;s++){var l=this.local[s];if(l.from<a&&l.to>o&&l.type instanceof $E){var c=Math.max(o,l.from)-o,d=Math.min(a,l.to)-o;c<d&&(r||(r=[])).push(l.copy(c,d))}}if(r){var u=new jE(r.sort(JE));return t?new UE([u,t]):u}return t||YE},jE.prototype.eq=function(e){if(this==e)return!0;if(!(e instanceof jE)||this.local.length!=e.local.length||this.children.length!=e.children.length)return!1;for(var n=0;n<this.local.length;n++)if(!this.local[n].eq(e.local[n]))return!1;for(var t=0;t<this.children.length;t+=3)if(this.children[t]!=e.children[t]||this.children[t+1]!=e.children[t+1]||!this.children[t+2].eq(e.children[t+2]))return!1;return!0},jE.prototype.locals=function(e){return KE(this.localsInner(e))},jE.prototype.localsInner=function(e){if(this==YE)return LE;if(e.inlineContent||!this.local.some($E.is))return this.local;for(var n=[],t=0;t<this.local.length;t++)this.local[t].type instanceof $E||n.push(this.local[t]);return n};var YE=new jE;jE.empty=YE,jE.removeOverlap=KE;var UE=function(e){this.members=e};function qE(e,n){if(!n||!e.length)return e;for(var t=[],r=0;r<e.length;r++){var i=e[r];t.push(new RE(i.from+n,i.to+n,i.type))}return t}function HE(e,n,t){if(n.isLeaf)return null;for(var r=t+n.nodeSize,i=null,o=0,a=void 0;o<e.length;o++)(a=e[o])&&a.from>t&&a.to<r&&((i||(i=[])).push(a),e[o]=null);return i}function WE(e){for(var n=[],t=0;t<e.length;t++)null!=e[t]&&n.push(e[t]);return n}function VE(e,n,t,r){var i=[],o=!1;n.forEach((function(n,a){var s=HE(e,n,a+t);if(s){o=!0;var l=VE(s,n,t+a+1,r);l!=YE&&i.push(a,a+n.nodeSize,l)}}));for(var a=qE(o?WE(e):e,-t).sort(JE),s=0;s<a.length;s++)a[s].type.valid(n,a[s])||(r.onRemove&&r.onRemove(a[s].spec),a.splice(s--,1));return a.length||i.length?new jE(a,i):YE}function JE(e,n){return e.from-n.from||e.to-n.to}function KE(e){for(var n=e,t=0;t<n.length-1;t++){var r=n[t];if(r.from!=r.to)for(var i=t+1;i<n.length;i++){var o=n[i];if(o.from!=r.from){o.from<r.to&&(n==e&&(n=e.slice()),n[t]=r.copy(r.from,o.from),GE(n,i,r.copy(o.from,r.to)));break}o.to!=r.to&&(n==e&&(n=e.slice()),n[i]=o.copy(o.from,r.to),GE(n,i+1,o.copy(r.to,o.to)))}}return n}function GE(e,n,t){for(;n<e.length&&JE(t,e[n])>0;)n++;e.splice(n,0,t)}function XE(e){var n=[];return e.someProp("decorations",(function(t){var r=t(e.state);r&&r!=YE&&n.push(r)})),e.cursorWrapper&&n.push(jE.create(e.state.doc,[e.cursorWrapper.deco])),UE.from(n)}UE.prototype.forChild=function(e,n){if(n.isLeaf)return jE.empty;for(var t=[],r=0;r<this.members.length;r++){var i=this.members[r].forChild(e,n);i!=YE&&(i instanceof UE?t=t.concat(i.members):t.push(i))}return UE.from(t)},UE.prototype.eq=function(e){if(!(e instanceof UE)||e.members.length!=this.members.length)return!1;for(var n=0;n<this.members.length;n++)if(!this.members[n].eq(e.members[n]))return!1;return!0},UE.prototype.locals=function(e){for(var n,t=!0,r=0;r<this.members.length;r++){var i=this.members[r].localsInner(e);if(i.length)if(n){t&&(n=n.slice(),t=!1);for(var o=0;o<i.length;o++)n.push(i[o])}else n=i}return n?KE(t?n:n.sort(JE)):LE},UE.from=function(e){switch(e.length){case 0:return YE;case 1:return e[0];default:return new UE(e)}};var QE=function(e,n){this._props=n,this.state=n.state,this.dispatch=this.dispatch.bind(this),this._root=null,this.focused=!1,this.trackWrites=null,this.dom=e&&e.mount||document.createElement("div"),e&&(e.appendChild?e.appendChild(this.dom):e.apply?e(this.dom):e.mount&&(this.mounted=!0)),this.editable=tx(this),this.markCursor=null,this.cursorWrapper=null,nx(this),this.nodeViews=rx(this),this.docView=aC(this.state.doc,ex(this),XE(this),this.dom,this),this.lastSelectedViewDesc=null,this.dragging=null,function(e){e.shiftKey=!1,e.mouseDown=null,e.lastKeyCode=null,e.lastKeyCodeTime=0,e.lastClick={time:0,x:0,y:0,type:""},e.lastSelectionOrigin=null,e.lastSelectionTime=0,e.lastIOSEnter=0,e.lastIOSEnterFallbackTimeout=null,e.composing=!1,e.composingTimeout=null,e.compositionNodes=[],e.compositionEndedAt=-2e8,e.domObserver=new sE(e,(function(n,t,r,i){return WC(e,n,t,r,i)})),e.domObserver.start(),e.domChangeCount=0,e.eventHandlers=Object.create(null);var n=function(n){var t=cE[n];e.dom.addEventListener(n,e.eventHandlers[n]=function(n){!function(e,n){if(!n.bubbles)return!0;if(n.defaultPrevented)return!1;for(var t=n.target;t!=e.dom;t=t.parentNode)if(!t||11==t.nodeType||t.pmViewDesc&&t.pmViewDesc.stopEvent(n))return!1;return!0}(e,n)||fE(e,n)||!e.editable&&n.type in dE||t(e,n)})};for(var t in cE)n(t);gy.safari&&e.dom.addEventListener("input",(function(){return null})),pE(e)}(this),this.pluginViews=[],this.updatePluginViews()},ZE={props:{configurable:!0},root:{configurable:!0}};function ex(e){var n=Object.create(null);return n.class="ProseMirror",n.contenteditable=String(e.editable),e.someProp("attributes",(function(t){if("function"==typeof t&&(t=t(e.state)),t)for(var r in t)"class"==r?n.class+=" "+t[r]:n[r]||"contenteditable"==r||"nodeName"==r||(n[r]=String(t[r]))})),[RE.node(0,e.state.doc.content.size,n)]}function nx(e){if(e.markCursor){var n=document.createElement("img");n.setAttribute("mark-placeholder","true"),e.cursorWrapper={dom:n,deco:RE.widget(e.state.selection.head,n,{raw:!0,marks:e.markCursor})}}else e.cursorWrapper=null}function tx(e){return!e.someProp("editable",(function(n){return!1===n(e.state)}))}function rx(e){var n={};return e.someProp("nodeViews",(function(e){for(var t in e)Object.prototype.hasOwnProperty.call(n,t)||(n[t]=e[t])})),n}ZE.props.get=function(){if(this._props.state!=this.state){var e=this._props;for(var n in this._props={},e)this._props[n]=e[n];this._props.state=this.state}return this._props},QE.prototype.update=function(e){e.handleDOMEvents!=this._props.handleDOMEvents&&pE(this),this._props=e,this.updateStateInner(e.state,!0)},QE.prototype.setProps=function(e){var n={};for(var t in this._props)n[t]=this._props[t];for(var r in n.state=this.state,e)n[r]=e[r];this.update(n)},QE.prototype.updateState=function(e){this.updateStateInner(e,this.state.plugins!=e.plugins)},QE.prototype.updateStateInner=function(e,n){var t=this,r=this.state,i=!1,o=!1;if(e.storedMarks&&this.composing&&(_E(this),o=!0),this.state=e,n){var a=rx(this);(function(e,n){var t=0,r=0;for(var i in e){if(e[i]!=n[i])return!0;t++}for(var o in n)r++;return t!=r})(a,this.nodeViews)&&(this.nodeViews=a,i=!0),pE(this)}this.editable=tx(this),nx(this);var s=XE(this),l=ex(this),c=n?"reset":e.scrollToSelection>r.scrollToSelection?"to selection":"preserve",d=i||!this.docView.matchesNode(e.doc,l,s);!d&&e.selection.eq(r.selection)||(o=!0);var u,p,f,A,h,m,g,v,b,y,C,E="preserve"==c&&o&&null==this.dom.style.overflowAnchor&&function(e){for(var n,t,r=e.dom.getBoundingClientRect(),i=Math.max(0,r.top),o=(r.left+r.right)/2,a=i+1;a<Math.min(innerHeight,r.bottom);a+=5){var s=e.root.elementFromPoint(o,a);if(s!=e.dom&&e.dom.contains(s)){var l=s.getBoundingClientRect();if(l.top>=i-20){n=s,t=l.top;break}}}return{refDOM:n,refTop:t,stack:Ry(e.dom)}}(this);if(o){this.domObserver.stop();var x=d&&(gy.ie||gy.chrome)&&!this.composing&&!r.selection.empty&&!e.selection.empty&&(A=r.selection,h=e.selection,m=Math.min(A.$anchor.sharedDepth(A.head),h.$anchor.sharedDepth(h.head)),A.$anchor.start(m)!=h.$anchor.start(m));if(d){var w=gy.chrome?this.trackWrites=this.root.getSelection().focusNode:null;!i&&this.docView.update(e.doc,l,s,this)||(this.docView.updateOuterDeco([]),this.docView.destroy(),this.docView=aC(e.doc,l,s,this.dom,this)),w&&!this.trackWrites&&(x=!0)}x||!(this.mouseDown&&this.domObserver.currentSelection.eq(this.root.getSelection())&&(u=this,p=u.docView.domFromPos(u.state.selection.anchor),f=u.root.getSelection(),_y(p.node,p.offset,f.anchorNode,f.anchorOffset)))?xC(this,x):(DC(this,e.selection),this.domObserver.setCurSelection()),this.domObserver.start()}if(this.updatePluginViews(r),"reset"==c)this.dom.scrollTop=0;else if("to selection"==c){var k=this.root.getSelection().focusNode;this.someProp("handleScrollToSelection",(function(e){return e(t)}))||(e.selection instanceof Xb?Ny(this,this.docView.domAfterPos(e.selection.from).getBoundingClientRect(),k):Ny(this,this.coordsAtPos(e.selection.head),k))}else E&&(v=(g=E).refDOM,b=g.refTop,y=g.stack,C=v?v.getBoundingClientRect().top:0,Fy(y,0==C?0:C-b))},QE.prototype.destroyPluginViews=function(){for(var e;e=this.pluginViews.pop();)e.destroy&&e.destroy()},QE.prototype.updatePluginViews=function(e){if(e&&e.plugins==this.state.plugins)for(var n=0;n<this.pluginViews.length;n++){var t=this.pluginViews[n];t.update&&t.update(this,e)}else{this.destroyPluginViews();for(var r=0;r<this.state.plugins.length;r++){var i=this.state.plugins[r];i.spec.view&&this.pluginViews.push(i.spec.view(this))}}},QE.prototype.someProp=function(e,n){var t,r=this._props&&this._props[e];if(null!=r&&(t=n?n(r):r))return t;var i=this.state.plugins;if(i)for(var o=0;o<i.length;o++){var a=i[o].props[e];if(null!=a&&(t=n?n(a):a))return t}},QE.prototype.hasFocus=function(){return this.root.activeElement==this.dom},QE.prototype.focus=function(){this.domObserver.stop(),this.editable&&function(e){if(e.setActive)return e.setActive();if(Ly)return e.focus(Ly);var n=Ry(e);e.focus(null==Ly?{get preventScroll(){return Ly={preventScroll:!0},!0}}:void 0),Ly||(Ly=!1,Fy(n,0))}(this.dom),xC(this),this.domObserver.start()},ZE.root.get=function(){var e=this._root;if(null==e)for(var n=this.dom.parentNode;n;n=n.parentNode)if(9==n.nodeType||11==n.nodeType&&n.host)return n.getSelection||(Object.getPrototypeOf(n).getSelection=function(){return document.getSelection()}),this._root=n;return e||document},QE.prototype.posAtCoords=function(e){return Uy(this,e)},QE.prototype.coordsAtPos=function(e){return Hy(this,e)},QE.prototype.domAtPos=function(e){return this.docView.domFromPos(e)},QE.prototype.nodeDOM=function(e){var n=this.docView.descAt(e);return n?n.nodeDOM:null},QE.prototype.posAtDOM=function(e,n,t){void 0===t&&(t=-1);var r=this.docView.posFromDOM(e,n,t);if(null==r)throw new RangeError("DOM position not inside the editor");return r},QE.prototype.endOfTextblock=function(e,n){return Qy(this,n||this.state,e)},QE.prototype.destroy=function(){this.docView&&(!function(e){for(var n in e.domObserver.stop(),e.eventHandlers)e.dom.removeEventListener(n,e.eventHandlers[n]);clearTimeout(e.composingTimeout),clearTimeout(e.lastIOSEnterFallbackTimeout)}(this),this.destroyPluginViews(),this.mounted?(this.docView.update(this.state.doc,[],XE(this),this),this.dom.textContent=""):this.dom.parentNode&&this.dom.parentNode.removeChild(this.dom),this.docView.destroy(),this.docView=null)},QE.prototype.dispatchEvent=function(e){return function(e,n){fE(e,n)||!cE[n.type]||!e.editable&&n.type in dE||cE[n.type](e,n)}(this,e)},QE.prototype.dispatch=function(e){var n=this._props.dispatchTransaction;n?n.call(this,e):this.updateState(this.state.apply(e))},Object.defineProperties(QE.prototype,ZE);var ix=function(e,n){var t=this;this.editorView=e,this.width=n.width||1,this.color=n.color||"black",this.class=n.class,this.cursorPos=null,this.element=null,this.timeout=null,this.handlers=["dragover","dragend","drop","dragleave"].map((function(n){var r=function(e){return t[n](e)};return e.dom.addEventListener(n,r),{name:n,handler:r}}))};ix.prototype.destroy=function(){var e=this;this.handlers.forEach((function(n){var t=n.name,r=n.handler;return e.editorView.dom.removeEventListener(t,r)}))},ix.prototype.update=function(e,n){null!=this.cursorPos&&n.doc!=e.state.doc&&this.updateOverlay()},ix.prototype.setCursor=function(e){e!=this.cursorPos&&(this.cursorPos=e,null==e?(this.element.parentNode.removeChild(this.element),this.element=null):this.updateOverlay())},ix.prototype.updateOverlay=function(){var e,n=this.editorView.state.doc.resolve(this.cursorPos);if(!n.parent.inlineContent){var t=n.nodeBefore,r=n.nodeAfter;if(t||r){var i=this.editorView.nodeDOM(this.cursorPos-(t?t.nodeSize:0)).getBoundingClientRect(),o=t?i.bottom:i.top;t&&r&&(o=(o+this.editorView.nodeDOM(this.cursorPos).getBoundingClientRect().top)/2),e={left:i.left,right:i.right,top:o-this.width/2,bottom:o+this.width/2}}}if(!e){var a=this.editorView.coordsAtPos(this.cursorPos);e={left:a.left-this.width/2,right:a.left+this.width/2,top:a.top,bottom:a.bottom}}var s=this.editorView.dom.offsetParent;this.element||(this.element=s.appendChild(document.createElement("div")),this.class&&(this.element.className=this.class),this.element.style.cssText="position: absolute; z-index: 50; pointer-events: none; background-color: "+this.color);var l=!s||s==document.body&&"static"==getComputedStyle(s).position?{left:-pageXOffset,top:-pageYOffset}:s.getBoundingClientRect();this.element.style.left=e.left-l.left+"px",this.element.style.top=e.top-l.top+"px",this.element.style.width=e.right-e.left+"px",this.element.style.height=e.bottom-e.top+"px"},ix.prototype.scheduleRemoval=function(e){var n=this;clearTimeout(this.timeout),this.timeout=setTimeout((function(){return n.setCursor(null)}),e)},ix.prototype.dragover=function(e){if(this.editorView.editable){var n=this.editorView.posAtCoords({left:e.clientX,top:e.clientY});if(n){var t=n.pos;this.editorView.dragging&&this.editorView.dragging.slice&&null==(t=Ob(this.editorView.state.doc,t,this.editorView.dragging.slice))&&(t=n.pos),this.setCursor(t),this.scheduleRemoval(5e3)}}},ix.prototype.dragend=function(){this.scheduleRemoval(20)},ix.prototype.drop=function(){this.scheduleRemoval(20)},ix.prototype.dragleave=function(e){e.target!=this.editorView.dom&&this.editorView.dom.contains(e.relatedTarget)||this.setCursor(null)};for(var ox={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",229:"q"},ax={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"',229:"Q"},sx="undefined"!=typeof navigator&&/Chrome\/(\d+)/.exec(navigator.userAgent),lx="undefined"!=typeof navigator&&/Apple Computer/.test(navigator.vendor),cx="undefined"!=typeof navigator&&/Gecko\/\d+/.test(navigator.userAgent),dx="undefined"!=typeof navigator&&/Mac/.test(navigator.platform),ux="undefined"!=typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),px=sx&&(dx||+sx[1]<57)||cx&&dx,fx=0;fx<10;fx++)ox[48+fx]=ox[96+fx]=String(fx);for(fx=1;fx<=24;fx++)ox[fx+111]="F"+fx;for(fx=65;fx<=90;fx++)ox[fx]=String.fromCharCode(fx+32),ax[fx]=String.fromCharCode(fx);for(var Ax in ox)ax.hasOwnProperty(Ax)||(ax[Ax]=ox[Ax]);var hx="undefined"!=typeof navigator&&/Mac/.test(navigator.platform);function mx(e){var n,t,r,i,o=e.split(/-(?!$)/),a=o[o.length-1];"Space"==a&&(a=" ");for(var s=0;s<o.length-1;s++){var l=o[s];if(/^(cmd|meta|m)$/i.test(l))i=!0;else if(/^a(lt)?$/i.test(l))n=!0;else if(/^(c|ctrl|control)$/i.test(l))t=!0;else if(/^s(hift)?$/i.test(l))r=!0;else{if(!/^mod$/i.test(l))throw new Error("Unrecognized modifier name: "+l);hx?i=!0:t=!0}}return n&&(a="Alt-"+a),t&&(a="Ctrl-"+a),i&&(a="Meta-"+a),r&&(a="Shift-"+a),a}function gx(e,n,t){return n.altKey&&(e="Alt-"+e),n.ctrlKey&&(e="Ctrl-"+e),n.metaKey&&(e="Meta-"+e),!1!==t&&n.shiftKey&&(e="Shift-"+e),e}function vx(e){return new py({props:{handleKeyDown:bx(e)}})}function bx(e){var n=function(e){var n=Object.create(null);for(var t in e)n[mx(t)]=e[t];return n}(e);return function(e,t){var r,i=function(e){var n=!(px&&(e.ctrlKey||e.altKey||e.metaKey)||(lx||ux)&&e.shiftKey&&e.key&&1==e.key.length)&&e.key||(e.shiftKey?ax:ox)[e.keyCode]||e.key||"Unidentified";return"Esc"==n&&(n="Escape"),"Del"==n&&(n="Delete"),"Left"==n&&(n="ArrowLeft"),"Up"==n&&(n="ArrowUp"),"Right"==n&&(n="ArrowRight"),"Down"==n&&(n="ArrowDown"),n}(t),o=1==i.length&&" "!=i,a=n[gx(i,t,!o)];if(a&&a(e.state,e.dispatch,e))return!0;if(o&&(t.shiftKey||t.altKey||t.metaKey||i.charCodeAt(0)>127)&&(r=ox[t.keyCode])&&r!=i){var s=n[gx(r,t,!0)];if(s&&s(e.state,e.dispatch,e))return!0}else if(o&&t.shiftKey){var l=n[gx(i,t,!0)];if(l&&l(e.state,e.dispatch,e))return!0}return!1}}var yx=function(e){function n(n){e.call(this,n,n)}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.map=function(t,r){var i=t.resolve(r.map(this.head));return n.valid(i)?new n(i):e.near(i)},n.prototype.content=function(){return iv.empty},n.prototype.eq=function(e){return e instanceof n&&e.head==this.head},n.prototype.toJSON=function(){return{type:"gapcursor",pos:this.head}},n.fromJSON=function(e,t){if("number"!=typeof t.pos)throw new RangeError("Invalid input for GapCursor.fromJSON");return new n(e.resolve(t.pos))},n.prototype.getBookmark=function(){return new Cx(this.anchor)},n.valid=function(e){var n=e.parent;if(n.isTextblock||!function(e){for(var n=e.depth;n>=0;n--){var t=e.index(n);if(0!=t)for(var r=e.node(n).child(t-1);;r=r.lastChild){if(0==r.childCount&&!r.inlineContent||r.isAtom||r.type.spec.isolating)return!0;if(r.inlineContent)return!1}}return!0}(e)||!function(e){for(var n=e.depth;n>=0;n--){var t=e.indexAfter(n),r=e.node(n);if(t!=r.childCount)for(var i=r.child(t);;i=i.firstChild){if(0==i.childCount&&!i.inlineContent||i.isAtom||i.type.spec.isolating)return!0;if(i.inlineContent)return!1}}return!0}(e))return!1;var t=n.type.spec.allowGapCursor;if(null!=t)return t;var r=n.contentMatchAt(e.index()).defaultType;return r&&r.isTextblock},n.findFrom=function(e,t,r){e:for(;;){if(!r&&n.valid(e))return e;for(var i=e.pos,o=null,a=e.depth;;a--){var s=e.node(a);if(t>0?e.indexAfter(a)<s.childCount:e.index(a)>0){o=s.child(t>0?e.indexAfter(a):e.index(a)-1);break}if(0==a)return null;i+=t;var l=e.doc.resolve(i);if(n.valid(l))return l}for(;;){var c=t>0?o.firstChild:o.lastChild;if(!c){if(o.isAtom&&!o.isText&&!Xb.isSelectable(o)){e=e.doc.resolve(i+o.nodeSize*t),r=!1;continue e}break}o=c,i+=t;var d=e.doc.resolve(i);if(n.valid(d))return d}return null}},n}(Wb);yx.prototype.visible=!1,Wb.jsonID("gapcursor",yx);var Cx=function(e){this.pos=e};Cx.prototype.map=function(e){return new Cx(e.map(this.pos))},Cx.prototype.resolve=function(e){var n=e.resolve(this.pos);return yx.valid(n)?new yx(n):Wb.near(n)};var Ex=bx({ArrowLeft:xx("horiz",-1),ArrowRight:xx("horiz",1),ArrowUp:xx("vert",-1),ArrowDown:xx("vert",1)});function xx(e,n){var t="vert"==e?n>0?"down":"up":n>0?"right":"left";return function(e,r,i){var o=e.selection,a=n>0?o.$to:o.$from,s=o.empty;if(o instanceof Kb){if(!i.endOfTextblock(t)||0==a.depth)return!1;s=!1,a=e.doc.resolve(n>0?a.after():a.before())}var l=yx.findFrom(a,n,s);return!!l&&(r&&r(e.tr.setSelection(new yx(l))),!0)}}function wx(e,n,t){if(!e.editable)return!1;var r=e.state.doc.resolve(n);if(!yx.valid(r))return!1;var i=e.posAtCoords({left:t.clientX,top:t.clientY}).inside;return!(i>-1&&Xb.isSelectable(e.state.doc.nodeAt(i)))&&(e.dispatch(e.state.tr.setSelection(new yx(r))),!0)}function kx(e){if(!(e.selection instanceof yx))return null;var n=document.createElement("div");return n.className="ProseMirror-gapcursor",jE.create(e.doc,[RE.widget(e.selection.head,n,{key:"gapcursor"})])}function _x(e,n){return!e.selection.empty&&(n&&n(e.tr.deleteSelection().scrollIntoView()),!0)}function Sx(e,n){for(;e;e="start"==n?e.firstChild:e.lastChild)if(e.isTextblock)return!0;return!1}function Dx(e){if(!e.parent.type.spec.isolating)for(var n=e.depth-1;n>=0;n--){if(e.index(n)>0)return e.doc.resolve(e.before(n+1));if(e.node(n).type.spec.isolating)break}return null}function Bx(e){if(!e.parent.type.spec.isolating)for(var n=e.depth-1;n>=0;n--){var t=e.node(n);if(e.index(n)+1<t.childCount)return e.doc.resolve(e.after(n+1));if(t.type.spec.isolating)break}return null}function zx(e){for(var n=0;n<e.edgeCount;n++){var t=e.edge(n).type;if(t.isTextblock&&!t.hasRequiredAttrs())return t}return null}function Ox(e,n){var t=e.selection,r=t.$head,i=t.$anchor;if(!r.parent.type.spec.code||!r.sameParent(i))return!1;var o=r.node(-1),a=r.indexAfter(-1),s=zx(o.contentMatchAt(a));if(!o.canReplaceWith(a,a,s))return!1;if(n){var l=r.after(),c=e.tr.replaceWith(l,l,s.createAndFill());c.setSelection(Wb.near(c.doc.resolve(l),1)),n(c.scrollIntoView())}return!0}function Mx(e,n,t){var r,i,o=n.nodeBefore,a=n.nodeAfter;if(o.type.spec.isolating||a.type.spec.isolating)return!1;if(function(e,n,t){var r=n.nodeBefore,i=n.nodeAfter,o=n.index();return!(!(r&&i&&r.type.compatibleContent(i.type))||(!r.content.size&&n.parent.canReplace(o-1,o)?(t&&t(e.tr.delete(n.pos-r.nodeSize,n.pos).scrollIntoView()),0):!n.parent.canReplace(o,o+1)||!i.isTextblock&&!zb(e.doc,n.pos)||(t&&t(e.tr.clearIncompatible(n.pos,r.type,r.contentMatchAt(r.childCount)).join(n.pos).scrollIntoView()),0)))}(e,n,t))return!0;if(n.parent.canReplace(n.index(),n.index()+1)&&(r=(i=o.contentMatchAt(o.childCount)).findWrapping(a.type))&&i.matchType(r[0]||a.type).validEnd){if(t){for(var s=n.pos+a.nodeSize,l=Xg.empty,c=r.length-1;c>=0;c--)l=Xg.from(r[c].create(null,l));l=Xg.from(o.copy(l));var d=e.tr.step(new kb(n.pos-1,s,n.pos,s,new iv(l,1,0),r.length,!0)),u=s+2*r.length;zb(d.doc,u)&&d.join(u),t(d.scrollIntoView())}return!0}var p=Wb.findFrom(n,1),f=p&&p.$from.blockRange(p.$to),A=f&&Db(f);return null!=A&&A>=n.depth&&(t&&t(e.tr.lift(f,A).scrollIntoView()),!0)}function Tx(e,n){return function(t,r){var i=t.selection,o=i.empty,a=i.$cursor,s=i.ranges;if(o&&!a||!function(e,n,t){for(var r=function(r){var i=n[r],o=i.$from,a=i.$to,s=0==o.depth&&e.type.allowsMarkType(t);if(e.nodesBetween(o.pos,a.pos,(function(e){if(s)return!1;s=e.inlineContent&&e.type.allowsMarkType(t)})),s)return{v:!0}},i=0;i<n.length;i++){var o=r(i);if(o)return o.v}return!1}(t.doc,s,e))return!1;if(r)if(a)e.isInSet(t.storedMarks||a.marks())?r(t.tr.removeStoredMark(e)):r(t.tr.addStoredMark(e.create(n)));else{for(var l=!1,c=t.tr,d=0;!l&&d<s.length;d++){var u=s[d],p=u.$from,f=u.$to;l=t.doc.rangeHasMark(p.pos,f.pos,e)}for(var A=0;A<s.length;A++){var h=s[A],m=h.$from,g=h.$to;l?c.removeMark(m.pos,g.pos,e):c.addMark(m.pos,g.pos,e.create(n))}r(c.scrollIntoView())}return!0}}function Ix(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];return function(n,t,r){for(var i=0;i<e.length;i++)if(e[i](n,t,r))return!0;return!1}}var $x=Ix(_x,(function(e,n,t){var r=e.selection.$cursor;if(!r||(t?!t.endOfTextblock("backward",e):r.parentOffset>0))return!1;var i=Dx(r);if(!i){var o=r.blockRange(),a=o&&Db(o);return null!=a&&(n&&n(e.tr.lift(o,a).scrollIntoView()),!0)}var s=i.nodeBefore;if(!s.type.spec.isolating&&Mx(e,i,n))return!0;if(0==r.parent.content.size&&(Sx(s,"end")||Xb.isSelectable(s))){if(n){var l=e.tr.deleteRange(r.before(),r.after());l.setSelection(Sx(s,"end")?Wb.findFrom(l.doc.resolve(l.mapping.map(i.pos,-1)),-1):Xb.create(l.doc,i.pos-s.nodeSize)),n(l.scrollIntoView())}return!0}return!(!s.isAtom||i.depth!=r.depth-1)&&(n&&n(e.tr.delete(i.pos-s.nodeSize,i.pos).scrollIntoView()),!0)}),(function(e,n,t){var r=e.selection,i=r.$head,o=i;if(!r.empty)return!1;if(i.parent.isTextblock){if(t?!t.endOfTextblock("backward",e):i.parentOffset>0)return!1;o=Dx(i)}var a=o&&o.nodeBefore;return!(!a||!Xb.isSelectable(a))&&(n&&n(e.tr.setSelection(Xb.create(e.doc,o.pos-a.nodeSize)).scrollIntoView()),!0)})),Nx=Ix(_x,(function(e,n,t){var r=e.selection.$cursor;if(!r||(t?!t.endOfTextblock("forward",e):r.parentOffset<r.parent.content.size))return!1;var i=Bx(r);if(!i)return!1;var o=i.nodeAfter;if(Mx(e,i,n))return!0;if(0==r.parent.content.size&&(Sx(o,"start")||Xb.isSelectable(o))){if(n){var a=e.tr.deleteRange(r.before(),r.after());a.setSelection(Sx(o,"start")?Wb.findFrom(a.doc.resolve(a.mapping.map(i.pos)),1):Xb.create(a.doc,a.mapping.map(i.pos))),n(a.scrollIntoView())}return!0}return!(!o.isAtom||i.depth!=r.depth-1)&&(n&&n(e.tr.delete(i.pos,i.pos+o.nodeSize).scrollIntoView()),!0)}),(function(e,n,t){var r=e.selection,i=r.$head,o=i;if(!r.empty)return!1;if(i.parent.isTextblock){if(t?!t.endOfTextblock("forward",e):i.parentOffset<i.parent.content.size)return!1;o=Bx(i)}var a=o&&o.nodeAfter;return!(!a||!Xb.isSelectable(a))&&(n&&n(e.tr.setSelection(Xb.create(e.doc,o.pos)).scrollIntoView()),!0)})),Rx={Enter:Ix((function(e,n){var t=e.selection,r=t.$head,i=t.$anchor;return!(!r.parent.type.spec.code||!r.sameParent(i))&&(n&&n(e.tr.insertText("\n").scrollIntoView()),!0)}),(function(e,n){var t=e.selection,r=t.$from,i=t.$to;if(r.parent.inlineContent||i.parent.inlineContent)return!1;var o=zx(r.parent.contentMatchAt(i.indexAfter()));if(!o||!o.isTextblock)return!1;if(n){var a=(!r.parentOffset&&i.index()<i.parent.childCount?r:i).pos,s=e.tr.insert(a,o.createAndFill());s.setSelection(Kb.create(s.doc,a+1)),n(s.scrollIntoView())}return!0}),(function(e,n){var t=e.selection.$cursor;if(!t||t.parent.content.size)return!1;if(t.depth>1&&t.after()!=t.end(-1)){var r=t.before();if(Bb(e.doc,r))return n&&n(e.tr.split(r).scrollIntoView()),!0}var i=t.blockRange(),o=i&&Db(i);return null!=o&&(n&&n(e.tr.lift(i,o).scrollIntoView()),!0)}),(function(e,n){var t=e.selection,r=t.$from,i=t.$to;if(e.selection instanceof Xb&&e.selection.node.isBlock)return!(!r.parentOffset||!Bb(e.doc,r.pos))&&(n&&n(e.tr.split(r.pos).scrollIntoView()),!0);if(!r.parent.isBlock)return!1;if(n){var o=i.parentOffset==i.parent.content.size,a=e.tr;e.selection instanceof Kb&&a.deleteSelection();var s=0==r.depth?null:zx(r.node(-1).contentMatchAt(r.indexAfter(-1))),l=o&&s?[{type:s}]:null,c=Bb(a.doc,a.mapping.map(r.pos),1,l);l||c||!Bb(a.doc,a.mapping.map(r.pos),1,s&&[{type:s}])||(l=[{type:s}],c=!0),c&&(a.split(a.mapping.map(r.pos),1,l),o||r.parentOffset||r.parent.type==s||!r.node(-1).canReplace(r.index(-1),r.indexAfter(-1),Xg.from(s.create(),r.parent))||a.setNodeMarkup(a.mapping.map(r.before()),s)),n(a.scrollIntoView())}return!0})),"Mod-Enter":Ox,Backspace:$x,"Mod-Backspace":$x,Delete:Nx,"Mod-Delete":Nx,"Mod-a":function(e,n){return n&&n(e.tr.setSelection(new Zb(e.doc))),!0}},Fx={"Ctrl-h":Rx.Backspace,"Alt-Backspace":Rx["Mod-Backspace"],"Ctrl-d":Rx.Delete,"Ctrl-Alt-Backspace":Rx["Mod-Delete"],"Alt-Delete":Rx["Mod-Delete"],"Alt-d":Rx["Mod-Delete"]};for(var Lx in Rx)Fx[Lx]=Rx[Lx];var Px=("undefined"!=typeof navigator?/Mac/.test(navigator.platform):"undefined"!=typeof os&&"darwin"==os.platform())?Fx:Rx,jx=function(e,n){var t;this.match=e,this.handler="string"==typeof n?(t=n,function(e,n,r,i){var o=t;if(n[1]){var a=n[0].lastIndexOf(n[1]);o+=n[0].slice(a+n[1].length);var s=(r+=a)-i;s>0&&(o=n[0].slice(a-s,a)+o,r=i)}return e.tr.insertText(o,r,i)}):n};var Yx,Ux;function qx(e,n,t,r,i,o){if(e.composing)return!1;var a=e.state,s=a.doc.resolve(n);if(s.parent.type.spec.code)return!1;for(var l=s.parent.textBetween(Math.max(0,s.parentOffset-500),s.parentOffset,null,"")+r,c=0;c<i.length;c++){var d=i[c].match.exec(l),u=d&&i[c].handler(a,d,n-(d[0].length-r.length),t);if(u)return e.dispatch(u.setMeta(o,{transform:u,from:n,to:t,text:r})),!0}return!1}function Hx(e,n){for(var t=e.plugins,r=0;r<t.length;r++){var i=t[r],o=void 0;if(i.spec.isInputRules&&(o=i.getState(e))){if(n){for(var a=e.tr,s=o.transform,l=s.steps.length-1;l>=0;l--)a.step(s.steps[l].invert(s.docs[l]));var c=a.doc.resolve(o.from).marks();n(a.replaceWith(o.from,o.to,e.schema.text(o.text,c)))}return!0}}return!1}if("undefined"!=typeof WeakMap){var Wx=new WeakMap;Yx=function(e){return Wx.get(e)},Ux=function(e,n){return Wx.set(e,n),n}}else{var Vx=[],Jx=0;Yx=function(e){for(var n=0;n<Vx.length;n+=2)if(Vx[n]==e)return Vx[n+1]},Ux=function(e,n){return 10==Jx&&(Jx=0),Vx[Jx++]=e,Vx[Jx++]=n}}var Kx=function(e,n,t,r){this.left=e,this.top=n,this.right=t,this.bottom=r},Gx=function(e,n,t,r){this.width=e,this.height=n,this.map=t,this.problems=r};function Xx(e){if(e.colwidth)return e.colwidth.slice();for(var n=[],t=0;t<e.colspan;t++)n.push(0);return n}function Qx(e,n){var t=e.getAttribute("data-colwidth"),r=t&&/^\d+(,\d+)*$/.test(t)?t.split(",").map((function(e){return Number(e)})):null,i=Number(e.getAttribute("colspan")||1),o={colspan:i,rowspan:Number(e.getAttribute("rowspan")||1),colwidth:r&&r.length==i?r:null};for(var a in n){var s=n[a].getFromDOM,l=s&&s(e);null!=l&&(o[a]=l)}return o}function Zx(e,n){var t={};for(var r in 1!=e.attrs.colspan&&(t.colspan=e.attrs.colspan),1!=e.attrs.rowspan&&(t.rowspan=e.attrs.rowspan),e.attrs.colwidth&&(t["data-colwidth"]=e.attrs.colwidth.join(",")),n){var i=n[r].setDOMAttr;i&&i(e.attrs[r],t)}return t}function ew(e){var n=e.cellAttributes||{},t={colspan:{default:1},rowspan:{default:1},colwidth:{default:null}};for(var r in n)t[r]={default:n[r].default};return{table:{content:"table_row+",tableRole:"table",isolating:!0,group:e.tableGroup,parseDOM:[{tag:"table"}],toDOM:function(){return["table",["tbody",0]]}},table_row:{content:"(table_cell | table_header)*",tableRole:"row",parseDOM:[{tag:"tr"}],toDOM:function(){return["tr",0]}},table_cell:{content:e.cellContent,attrs:t,tableRole:"cell",isolating:!0,parseDOM:[{tag:"td",getAttrs:function(e){return Qx(e,n)}}],toDOM:function(e){return["td",Zx(e,n),0]}},table_header:{content:e.cellContent,attrs:t,tableRole:"header_cell",isolating:!0,parseDOM:[{tag:"th",getAttrs:function(e){return Qx(e,n)}}],toDOM:function(e){return["th",Zx(e,n),0]}}}}function nw(e){var n=e.cached.tableNodeTypes;if(!n)for(var t in n=e.cached.tableNodeTypes={},e.nodes){var r=e.nodes[t],i=r.spec.tableRole;i&&(n[i]=r)}return n}Gx.prototype.findCell=function(e){for(var n=0;n<this.map.length;n++){var t=this.map[n];if(t==e){for(var r=n%this.width,i=n/this.width|0,o=r+1,a=i+1,s=1;o<this.width&&this.map[n+s]==t;s++)o++;for(var l=1;a<this.height&&this.map[n+this.width*l]==t;l++)a++;return new Kx(r,i,o,a)}}throw new RangeError("No cell with offset "+e+" found")},Gx.prototype.colCount=function(e){for(var n=0;n<this.map.length;n++)if(this.map[n]==e)return n%this.width;throw new RangeError("No cell with offset "+e+" found")},Gx.prototype.nextCell=function(e,n,t){var r=this.findCell(e),i=r.left,o=r.right,a=r.top,s=r.bottom;return"horiz"==n?(t<0?0==i:o==this.width)?null:this.map[a*this.width+(t<0?i-1:o)]:(t<0?0==a:s==this.height)?null:this.map[i+this.width*(t<0?a-1:s)]},Gx.prototype.rectBetween=function(e,n){var t=this.findCell(e),r=t.left,i=t.right,o=t.top,a=t.bottom,s=this.findCell(n),l=s.left,c=s.right,d=s.top,u=s.bottom;return new Kx(Math.min(r,l),Math.min(o,d),Math.max(i,c),Math.max(a,u))},Gx.prototype.cellsInRect=function(e){for(var n=[],t={},r=e.top;r<e.bottom;r++)for(var i=e.left;i<e.right;i++){var o=r*this.width+i,a=this.map[o];t[a]||(t[a]=!0,i==e.left&&i&&this.map[o-1]==a||r==e.top&&r&&this.map[o-this.width]==a||n.push(a))}return n},Gx.prototype.positionAt=function(e,n,t){for(var r=0,i=0;;r++){var o=i+t.child(r).nodeSize;if(r==e){for(var a=n+e*this.width,s=(e+1)*this.width;a<s&&this.map[a]<i;)a++;return a==s?o-1:this.map[a]}i=o}},Gx.get=function(e){return Yx(e)||Ux(e,function(e){if("table"!=e.type.spec.tableRole)throw new RangeError("Not a table node: "+e.type.name);for(var n=function(e){for(var n=-1,t=!1,r=0;r<e.childCount;r++){var i=e.child(r),o=0;if(t)for(var a=0;a<r;a++)for(var s=e.child(a),l=0;l<s.childCount;l++){var c=s.child(l);a+c.attrs.rowspan>r&&(o+=c.attrs.colspan)}for(var d=0;d<i.childCount;d++){var u=i.child(d);o+=u.attrs.colspan,u.attrs.rowspan>1&&(t=!0)}-1==n?n=o:n!=o&&(n=Math.max(n,o))}return n}(e),t=e.childCount,r=[],i=0,o=null,a=[],s=0,l=n*t;s<l;s++)r[s]=0;for(var c=0,d=0;c<t;c++){var u=e.child(c);d++;for(var p=0;;p++){for(;i<r.length&&0!=r[i];)i++;if(p==u.childCount)break;for(var f=u.child(p),A=f.attrs,h=A.colspan,m=A.rowspan,g=A.colwidth,v=0;v<m;v++){if(v+c>=t){(o||(o=[])).push({type:"overlong_rowspan",pos:d,n:m-v});break}for(var b=i+v*n,y=0;y<h;y++){0==r[b+y]?r[b+y]=d:(o||(o=[])).push({type:"collision",row:c,pos:d,n:h-y});var C=g&&g[y];if(C){var E=(b+y)%n*2,x=a[E];null==x||x!=C&&1==a[E+1]?(a[E]=C,a[E+1]=1):x==C&&a[E+1]++}}}i+=h,d+=f.nodeSize}for(var w=(c+1)*n,k=0;i<w;)0==r[i++]&&k++;k&&(o||(o=[])).push({type:"missing",row:c,n:k}),d++}for(var _=new Gx(n,t,r,o),S=!1,D=0;!S&&D<a.length;D+=2)null!=a[D]&&a[D+1]<t&&(S=!0);S&&function(e,n,t){e.problems||(e.problems=[]);for(var r=0,i={};r<e.map.length;r++){var o=e.map[r];if(!i[o]){i[o]=!0;for(var a=t.nodeAt(o),s=null,l=0;l<a.attrs.colspan;l++){var c=n[2*((r+l)%e.width)];null==c||a.attrs.colwidth&&a.attrs.colwidth[l]==c||((s||(s=Xx(a.attrs)))[l]=c)}s&&e.problems.unshift({type:"colwidth mismatch",pos:o,colwidth:s})}}}(_,a,e);return _}(e))};var tw=new hy("selectingCells");function rw(e){for(var n=e.depth-1;n>0;n--)if("row"==e.node(n).type.spec.tableRole)return e.node(0).resolve(e.before(n+1));return null}function iw(e){for(var n=e.selection.$head,t=n.depth;t>0;t--)if("row"==n.node(t).type.spec.tableRole)return!0;return!1}function ow(e){var n=e.selection;return n.$anchorCell?n.$anchorCell.pos>n.$headCell.pos?n.$anchorCell:n.$headCell:n.node&&"cell"==n.node.type.spec.tableRole?n.$anchor:rw(n.$head)||function(e){for(var n=e.nodeAfter,t=e.pos;n;n=n.firstChild,t++){var r=n.type.spec.tableRole;if("cell"==r||"header_cell"==r)return e.doc.resolve(t)}for(var i=e.nodeBefore,o=e.pos;i;i=i.lastChild,o--){var a=i.type.spec.tableRole;if("cell"==a||"header_cell"==a)return e.doc.resolve(o-i.nodeSize)}}(n.$head)}function aw(e){return"row"==e.parent.type.spec.tableRole&&e.nodeAfter}function sw(e){return e.node(0).resolve(e.pos+e.nodeAfter.nodeSize)}function lw(e,n){return e.depth==n.depth&&e.pos>=n.start(-1)&&e.pos<=n.end(-1)}function cw(e,n,t){var r=e.start(-1),i=Gx.get(e.node(-1)).nextCell(e.pos-r,n,t);return null==i?null:e.node(0).resolve(r+i)}function dw(e,n,t){var r={};for(var i in e)r[i]=e[i];return r[n]=t,r}function uw(e,n,t){void 0===t&&(t=1);var r=dw(e,"colspan",e.colspan-t);return r.colwidth&&(r.colwidth=r.colwidth.slice(),r.colwidth.splice(n,t),r.colwidth.some((function(e){return e>0}))||(r.colwidth=null)),r}function pw(e,n,t){void 0===t&&(t=1);var r=dw(e,"colspan",e.colspan+t);if(r.colwidth){r.colwidth=r.colwidth.slice();for(var i=0;i<t;i++)r.colwidth.splice(n,0,0)}return r}function fw(e,n,t){for(var r=nw(n.type.schema).header_cell,i=0;i<e.height;i++)if(n.nodeAt(e.map[t+i*e.width]).type!=r)return!1;return!0}var Aw=function(e){function n(n,t){void 0===t&&(t=n);var r=n.node(-1),i=Gx.get(r),o=n.start(-1),a=i.rectBetween(n.pos-o,t.pos-o),s=n.node(0),l=i.cellsInRect(a).filter((function(e){return e!=t.pos-o}));l.unshift(t.pos-o);var c=l.map((function(e){var n=r.nodeAt(e),t=e+o+1;return new Jb(s.resolve(t),s.resolve(t+n.content.size))}));e.call(this,c[0].$from,c[0].$to,c),this.$anchorCell=n,this.$headCell=t}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.map=function(e,t){var r=e.resolve(t.map(this.$anchorCell.pos)),i=e.resolve(t.map(this.$headCell.pos));if(aw(r)&&aw(i)&&lw(r,i)){var o=this.$anchorCell.node(-1)!=r.node(-1);return o&&this.isRowSelection()?n.rowSelection(r,i):o&&this.isColSelection()?n.colSelection(r,i):new n(r,i)}return Kb.between(r,i)},n.prototype.content=function(){for(var e=this.$anchorCell.node(-1),n=Gx.get(e),t=this.$anchorCell.start(-1),r=n.rectBetween(this.$anchorCell.pos-t,this.$headCell.pos-t),i={},o=[],a=r.top;a<r.bottom;a++){for(var s=[],l=a*n.width+r.left,c=r.left;c<r.right;c++,l++){var d=n.map[l];if(!i[d]){i[d]=!0;var u=n.findCell(d),p=e.nodeAt(d),f=r.left-u.left,A=u.right-r.right;if(f>0||A>0){var h=p.attrs;f>0&&(h=uw(h,0,f)),A>0&&(h=uw(h,h.colspan-A,A)),p=u.left<r.left?p.type.createAndFill(h):p.type.create(h,p.content)}if(u.top<r.top||u.bottom>r.bottom){var m=dw(p.attrs,"rowspan",Math.min(u.bottom,r.bottom)-Math.max(u.top,r.top));p=u.top<r.top?p.type.createAndFill(m):p.type.create(m,p.content)}s.push(p)}}o.push(e.child(a).copy(Xg.from(s)))}var g=this.isColSelection()&&this.isRowSelection()?e:o;return new iv(Xg.from(g),1,1)},n.prototype.replace=function(n,t){void 0===t&&(t=iv.empty);for(var r=n.steps.length,i=this.ranges,o=0;o<i.length;o++){var a=i[o],s=a.$from,l=a.$to,c=n.mapping.slice(r);n.replace(c.map(s.pos),c.map(l.pos),o?iv.empty:t)}var d=e.findFrom(n.doc.resolve(n.mapping.slice(r).map(this.to)),-1);d&&n.setSelection(d)},n.prototype.replaceWith=function(e,n){this.replace(e,new iv(Xg.from(n),0,0))},n.prototype.forEachCell=function(e){for(var n=this.$anchorCell.node(-1),t=Gx.get(n),r=this.$anchorCell.start(-1),i=t.cellsInRect(t.rectBetween(this.$anchorCell.pos-r,this.$headCell.pos-r)),o=0;o<i.length;o++)e(n.nodeAt(i[o]),r+i[o])},n.prototype.isColSelection=function(){var e=this.$anchorCell.index(-1),n=this.$headCell.index(-1);if(Math.min(e,n)>0)return!1;var t=e+this.$anchorCell.nodeAfter.attrs.rowspan,r=n+this.$headCell.nodeAfter.attrs.rowspan;return Math.max(t,r)==this.$headCell.node(-1).childCount},n.colSelection=function(e,t){void 0===t&&(t=e);var r=Gx.get(e.node(-1)),i=e.start(-1),o=r.findCell(e.pos-i),a=r.findCell(t.pos-i),s=e.node(0);return o.top<=a.top?(o.top>0&&(e=s.resolve(i+r.map[o.left])),a.bottom<r.height&&(t=s.resolve(i+r.map[r.width*(r.height-1)+a.right-1]))):(a.top>0&&(t=s.resolve(i+r.map[a.left])),o.bottom<r.height&&(e=s.resolve(i+r.map[r.width*(r.height-1)+o.right-1]))),new n(e,t)},n.prototype.isRowSelection=function(){var e=Gx.get(this.$anchorCell.node(-1)),n=this.$anchorCell.start(-1),t=e.colCount(this.$anchorCell.pos-n),r=e.colCount(this.$headCell.pos-n);if(Math.min(t,r)>0)return!1;var i=t+this.$anchorCell.nodeAfter.attrs.colspan,o=r+this.$headCell.nodeAfter.attrs.colspan;return Math.max(i,o)==e.width},n.prototype.eq=function(e){return e instanceof n&&e.$anchorCell.pos==this.$anchorCell.pos&&e.$headCell.pos==this.$headCell.pos},n.rowSelection=function(e,t){void 0===t&&(t=e);var r=Gx.get(e.node(-1)),i=e.start(-1),o=r.findCell(e.pos-i),a=r.findCell(t.pos-i),s=e.node(0);return o.left<=a.left?(o.left>0&&(e=s.resolve(i+r.map[o.top*r.width])),a.right<r.width&&(t=s.resolve(i+r.map[r.width*(a.top+1)-1]))):(a.left>0&&(t=s.resolve(i+r.map[a.top*r.width])),o.right<r.width&&(e=s.resolve(i+r.map[r.width*(o.top+1)-1]))),new n(e,t)},n.prototype.toJSON=function(){return{type:"cell",anchor:this.$anchorCell.pos,head:this.$headCell.pos}},n.fromJSON=function(e,t){return new n(e.resolve(t.anchor),e.resolve(t.head))},n.create=function(e,t,r){return void 0===r&&(r=t),new n(e.resolve(t),e.resolve(r))},n.prototype.getBookmark=function(){return new hw(this.$anchorCell.pos,this.$headCell.pos)},n}(Wb);Aw.prototype.visible=!1,Wb.jsonID("cell",Aw);var hw=function(e,n){this.anchor=e,this.head=n};function mw(e){if(!(e.selection instanceof Aw))return null;var n=[];return e.selection.forEachCell((function(e,t){n.push(RE.node(t,t+e.nodeSize,{class:"selectedCell"}))})),jE.create(e.doc,n)}function gw(e){if(!e.size)return null;for(var n=e.content,t=e.openStart,r=e.openEnd;1==n.childCount&&(t>0&&r>0||"table"==n.firstChild.type.spec.tableRole);)t--,r--,n=n.firstChild.content;var i=n.firstChild,o=i.type.spec.tableRole,a=i.type.schema,s=[];if("row"==o)for(var l=0;l<n.childCount;l++){var c=n.child(l).content,d=l?0:Math.max(0,t-1),u=l<n.childCount-1?0:Math.max(0,r-1);(d||u)&&(c=vw(nw(a).row,new iv(c,d,u)).content),s.push(c)}else{if("cell"!=o&&"header_cell"!=o)return null;s.push(t||r?vw(nw(a).row,new iv(n,t,r)).content:n)}return function(e,n){for(var t=[],r=0;r<n.length;r++)for(var i=n[r],o=i.childCount-1;o>=0;o--)for(var a=i.child(o).attrs,s=a.rowspan,l=a.colspan,c=r;c<r+s;c++)t[c]=(t[c]||0)+l;for(var d=0,u=0;u<t.length;u++)d=Math.max(d,t[u]);for(var p=0;p<t.length;p++)if(p>=n.length&&n.push(Xg.empty),t[p]<d){for(var f=nw(e).cell.createAndFill(),A=[],h=t[p];h<d;h++)A.push(f);n[p]=n[p].append(Xg.from(A))}return{height:n.length,width:d,rows:n}}(a,s)}function vw(e,n){var t=e.createAndFill();return new vb(t).replace(0,t.content.size,n).doc}function bw(e,n,t){var r=e.width,i=e.height,o=e.rows;if(r!=n){for(var a=[],s=[],l=0;l<o.length;l++){for(var c=o[l],d=[],u=a[l]||0,p=0;u<n;p++){var f=c.child(p%c.childCount);u+f.attrs.colspan>n&&(f=f.type.create(uw(f.attrs,f.attrs.colspan,u+f.attrs.colspan-n),f.content)),d.push(f),u+=f.attrs.colspan;for(var A=1;A<f.attrs.rowspan;A++)a[l+A]=(a[l+A]||0)+f.attrs.colspan}s.push(Xg.from(d))}o=s,r=n}if(i!=t){for(var h=[],m=0,g=0;m<t;m++,g++){for(var v=[],b=o[g%i],y=0;y<b.childCount;y++){var C=b.child(y);m+C.attrs.rowspan>t&&(C=C.type.create(dw(C.attrs,"rowspan",Math.max(1,t-C.attrs.rowspan)),C.content)),v.push(C)}h.push(Xg.from(v))}o=h,i=t}return{width:r,height:i,rows:o}}function yw(e,n,t,r,i,o,a,s){if(0==a||a==n.height)return!1;for(var l=!1,c=i;c<o;c++){var d=a*n.width+c,u=n.map[d];if(n.map[d-n.width]==u){l=!0;var p=t.nodeAt(u),f=n.findCell(u),A=f.top,h=f.left;e.setNodeMarkup(e.mapping.slice(s).map(u+r),null,dw(p.attrs,"rowspan",a-A)),e.insert(e.mapping.slice(s).map(n.positionAt(a,h,t)),p.type.createAndFill(dw(p.attrs,"rowspan",A+p.attrs.rowspan-a))),c+=p.attrs.colspan-1}}return l}function Cw(e,n,t,r,i,o,a,s){if(0==a||a==n.width)return!1;for(var l=!1,c=i;c<o;c++){var d=c*n.width+a,u=n.map[d];if(n.map[d-1]==u){l=!0;var p=t.nodeAt(u),f=n.colCount(u),A=e.mapping.slice(s).map(u+r);e.setNodeMarkup(A,null,uw(p.attrs,a-f,p.attrs.colspan-(a-f))),e.insert(A+p.nodeSize,p.type.createAndFill(uw(p.attrs,0,a-f))),c+=p.attrs.rowspan-1}}return l}function Ew(e,n,t,r,i){var o=t?e.doc.nodeAt(t-1):e.doc,a=Gx.get(o),s=r.top,l=r.left,c=l+i.width,d=s+i.height,u=e.tr,p=0;function f(){o=t?u.doc.nodeAt(t-1):u.doc,a=Gx.get(o),p=u.mapping.maps.length}(function(e,n,t,r,i,o,a){var s,l,c=nw(e.doc.type.schema);if(i>n.width)for(var d=0,u=0;d<n.height;d++){var p=t.child(d);u+=p.nodeSize;var f=[],A=void 0;A=null==p.lastChild||p.lastChild.type==c.cell?s||(s=c.cell.createAndFill()):l||(l=c.header_cell.createAndFill());for(var h=n.width;h<i;h++)f.push(A);e.insert(e.mapping.slice(a).map(u-1+r),f)}if(o>n.height){for(var m=[],g=0,v=(n.height-1)*n.width;g<Math.max(n.width,i);g++){var b=!(g>=n.width)&&t.nodeAt(n.map[v+g]).type==c.header_cell;m.push(b?l||(l=c.header_cell.createAndFill()):s||(s=c.cell.createAndFill()))}for(var y=c.row.create(null,Xg.from(m)),C=[],E=n.height;E<o;E++)C.push(y);e.insert(e.mapping.slice(a).map(r+t.nodeSize-2),C)}return!(!s&&!l)})(u,a,o,t,c,d,p)&&f(),yw(u,a,o,t,l,c,s,p)&&f(),yw(u,a,o,t,l,c,d,p)&&f(),Cw(u,a,o,t,s,d,l,p)&&f(),Cw(u,a,o,t,s,d,c,p)&&f();for(var A=s;A<d;A++){var h=a.positionAt(A,l,o),m=a.positionAt(A,c,o);u.replace(u.mapping.slice(p).map(h+t),u.mapping.slice(p).map(m+t),new iv(i.rows[A-s],0,0))}f(),u.setSelection(new Aw(u.doc.resolve(t+a.positionAt(s,l,o)),u.doc.resolve(t+a.positionAt(d-1,c-1,o)))),n(u)}hw.prototype.map=function(e){return new hw(e.map(this.anchor),e.map(this.head))},hw.prototype.resolve=function(e){var n=e.resolve(this.anchor),t=e.resolve(this.head);return"row"==n.parent.type.spec.tableRole&&"row"==t.parent.type.spec.tableRole&&n.index()<n.parent.childCount&&t.index()<t.parent.childCount&&lw(n,t)?new Aw(n,t):Wb.near(t,1)};var xw=bx({ArrowLeft:kw("horiz",-1),ArrowRight:kw("horiz",1),ArrowUp:kw("vert",-1),ArrowDown:kw("vert",1),"Shift-ArrowLeft":_w("horiz",-1),"Shift-ArrowRight":_w("horiz",1),"Shift-ArrowUp":_w("vert",-1),"Shift-ArrowDown":_w("vert",1),Backspace:Sw,"Mod-Backspace":Sw,Delete:Sw,"Mod-Delete":Sw});function ww(e,n,t){return!t.eq(e.selection)&&(n&&n(e.tr.setSelection(t).scrollIntoView()),!0)}function kw(e,n){return function(t,r,i){var o=t.selection;if(o instanceof Aw)return ww(t,r,Wb.near(o.$headCell,n));if("horiz"!=e&&!o.empty)return!1;var a=Ow(i,e,n);if(null==a)return!1;if("horiz"==e)return ww(t,r,Wb.near(t.doc.resolve(o.head+n),n));var s,l=t.doc.resolve(a),c=cw(l,e,n);return s=c?Wb.near(c,1):n<0?Wb.near(t.doc.resolve(l.before(-1)),-1):Wb.near(t.doc.resolve(l.after(-1)),1),ww(t,r,s)}}function _w(e,n){return function(t,r,i){var o=t.selection;if(!(o instanceof Aw)){var a=Ow(i,e,n);if(null==a)return!1;o=new Aw(t.doc.resolve(a))}var s=cw(o.$headCell,e,n);return!!s&&ww(t,r,new Aw(o.$anchorCell,s))}}function Sw(e,n){var t=e.selection;if(!(t instanceof Aw))return!1;if(n){var r=e.tr,i=nw(e.schema).cell.createAndFill().content;t.forEachCell((function(e,n){e.content.eq(i)||r.replace(r.mapping.map(n+1),r.mapping.map(n+e.nodeSize-1),new iv(i,0,0))})),r.docChanged&&n(r)}return!0}function Dw(e,n){var t=rw(e.state.doc.resolve(n));return!!t&&(e.dispatch(e.state.tr.setSelection(new Aw(t))),!0)}function Bw(e,n,t){if(!iw(e.state))return!1;var r=gw(t),i=e.state.selection;if(i instanceof Aw){r||(r={width:1,height:1,rows:[Xg.from(vw(nw(e.state.schema).cell,t))]});var o=i.$anchorCell.node(-1),a=i.$anchorCell.start(-1),s=Gx.get(o).rectBetween(i.$anchorCell.pos-a,i.$headCell.pos-a);return r=bw(r,s.right-s.left,s.bottom-s.top),Ew(e.state,e.dispatch,a,s,r),!0}if(r){var l=ow(e.state),c=l.start(-1);return Ew(e.state,e.dispatch,c,Gx.get(l.node(-1)).findCell(l.pos-c),r),!0}return!1}function zw(e,n){if(!n.ctrlKey&&!n.metaKey){var t,r=Mw(e,n.target);if(n.shiftKey&&e.state.selection instanceof Aw)i(e.state.selection.$anchorCell,n),n.preventDefault();else if(n.shiftKey&&r&&null!=(t=rw(e.state.selection.$anchor))&&Tw(e,n).pos!=t.pos)i(t,n),n.preventDefault();else if(!r)return;e.root.addEventListener("mouseup",o),e.root.addEventListener("dragstart",o),e.root.addEventListener("mousemove",a)}function i(n,t){var r=Tw(e,t),i=null==tw.getState(e.state);if(!r||!lw(n,r)){if(!i)return;r=n}var o=new Aw(n,r);if(i||!e.state.selection.eq(o)){var a=e.state.tr.setSelection(o);i&&a.setMeta(tw,n.pos),e.dispatch(a)}}function o(){e.root.removeEventListener("mouseup",o),e.root.removeEventListener("dragstart",o),e.root.removeEventListener("mousemove",a),null!=tw.getState(e.state)&&e.dispatch(e.state.tr.setMeta(tw,-1))}function a(t){var a,s=tw.getState(e.state);if(null!=s)a=e.state.doc.resolve(s);else if(Mw(e,t.target)!=r&&!(a=Tw(e,n)))return o();a&&i(a,t)}}function Ow(e,n,t){if(!(e.state.selection instanceof Kb))return null;for(var r=e.state.selection.$head,i=r.depth-1;i>=0;i--){var o=r.node(i);if((t<0?r.index(i):r.indexAfter(i))!=(t<0?0:o.childCount))return null;if("cell"==o.type.spec.tableRole||"header_cell"==o.type.spec.tableRole){var a=r.before(i),s="vert"==n?t>0?"down":"up":t>0?"right":"left";return e.endOfTextblock(s)?a:null}}return null}function Mw(e,n){for(;n&&n!=e.dom;n=n.parentNode)if("TD"==n.nodeName||"TH"==n.nodeName)return n}function Tw(e,n){var t=e.posAtCoords({left:n.clientX,top:n.clientY});return t&&t?rw(e.state.doc.resolve(t.pos)):null}var Iw=new hy("fix-tables");function $w(e,n,t,r){var i=e.childCount,o=n.childCount;e:for(var a=0,s=0;a<o;a++){for(var l=n.child(a),c=s,d=Math.min(i,a+3);c<d;c++)if(e.child(c)==l){s=c+1,t+=l.nodeSize;continue e}r(l,t),s<i&&e.child(s).sameMarkup(l)?$w(e.child(s),l,t+1,r):l.nodesBetween(0,l.content.size,r,t+1),t+=l.nodeSize}}function Nw(e,n){var t,r=function(n,r){"table"==n.type.spec.tableRole&&(t=function(e,n,t,r){var i=Gx.get(n);if(!i.problems)return r;r||(r=e.tr);for(var o,a,s=[],l=0;l<i.height;l++)s.push(0);for(var c=0;c<i.problems.length;c++){var d=i.problems[c];if("collision"==d.type){for(var u=n.nodeAt(d.pos),p=0;p<u.attrs.rowspan;p++)s[d.row+p]+=d.n;r.setNodeMarkup(r.mapping.map(t+1+d.pos),null,uw(u.attrs,u.attrs.colspan-d.n,d.n))}else if("missing"==d.type)s[d.row]+=d.n;else if("overlong_rowspan"==d.type){var f=n.nodeAt(d.pos);r.setNodeMarkup(r.mapping.map(t+1+d.pos),null,dw(f.attrs,"rowspan",f.attrs.rowspan-d.n))}else if("colwidth mismatch"==d.type){var A=n.nodeAt(d.pos);r.setNodeMarkup(r.mapping.map(t+1+d.pos),null,dw(A.attrs,"colwidth",d.colwidth))}}for(var h=0;h<s.length;h++)s[h]&&(null==o&&(o=h),a=h);for(var m=0,g=t+1;m<i.height;m++){var v=n.child(m),b=g+v.nodeSize,y=s[m];if(y>0){var C="cell";v.firstChild&&(C=v.firstChild.type.spec.tableRole);for(var E=[],x=0;x<y;x++)E.push(nw(e.schema)[C].createAndFill());var w=0!=m&&o!=m-1||a!=m?b-1:g+1;r.insert(r.mapping.map(w),E)}g=b}return r.setMeta(Iw,{fixTables:!0})}(e,n,r,t))};return n?n.doc!=e.doc&&$w(n.doc,e.doc,0,r):e.doc.descendants(r),t}function Rw(e){var n,t=e.selection,r=ow(e),i=r.node(-1),o=r.start(-1),a=Gx.get(i);return(n=t instanceof Aw?a.rectBetween(t.$anchorCell.pos-o,t.$headCell.pos-o):a.findCell(r.pos-o)).tableStart=o,n.map=a,n.table=i,n}function Fw(e,n,t){var r=n.map,i=n.tableStart,o=n.table,a=t>0?-1:0;fw(r,o,t+a)&&(a=0==t||t==r.width?null:0);for(var s=0;s<r.height;s++){var l=s*r.width+t;if(t>0&&t<r.width&&r.map[l-1]==r.map[l]){var c=r.map[l],d=o.nodeAt(c);e.setNodeMarkup(e.mapping.map(i+c),null,pw(d.attrs,t-r.colCount(c))),s+=d.attrs.rowspan-1}else{var u=null==a?nw(o.type.schema).cell:o.nodeAt(r.map[l+a]).type,p=r.positionAt(s,t,o);e.insert(e.mapping.map(i+p),u.createAndFill())}}return e}function Lw(e,n,t){for(var r=n.map,i=n.table,o=n.tableStart,a=e.mapping.maps.length,s=0;s<r.height;){var l=s*r.width+t,c=r.map[l],d=i.nodeAt(c);if(t>0&&r.map[l-1]==c||t<r.width-1&&r.map[l+1]==c)e.setNodeMarkup(e.mapping.slice(a).map(o+c),null,uw(d.attrs,t-r.colCount(c)));else{var u=e.mapping.slice(a).map(o+c);e.delete(u,u+d.nodeSize)}s+=d.attrs.rowspan}}function Pw(e,n,t){for(var r=nw(n.type.schema).header_cell,i=0;i<e.width;i++)if(n.nodeAt(e.map[i+t*e.width]).type!=r)return!1;return!0}function jw(e,n,t){for(var r=n.map,i=n.tableStart,o=n.table,a=i,s=0;s<t;s++)a+=o.child(s).nodeSize;var l=[],c=t>0?-1:0;Pw(r,o,t+c)&&(c=0==t||t==r.height?null:0);for(var d=0,u=r.width*t;d<r.width;d++,u++)if(t>0&&t<r.height&&r.map[u]==r.map[u-r.width]){var p=r.map[u],f=o.nodeAt(p).attrs;e.setNodeMarkup(i+p,null,dw(f,"rowspan",f.rowspan+1)),d+=f.colspan-1}else{var A=null==c?nw(o.type.schema).cell:o.nodeAt(r.map[u+c*r.width]).type;l.push(A.createAndFill())}return e.insert(a,nw(o.type.schema).row.create(null,l)),e}function Yw(e,n,t){for(var r=n.map,i=n.table,o=n.tableStart,a=0,s=0;s<t;s++)a+=i.child(s).nodeSize;var l=a+i.child(t).nodeSize,c=e.mapping.maps.length;e.delete(a+o,l+o);for(var d=0,u=t*r.width;d<r.width;d++,u++){var p=r.map[u];if(t>0&&p==r.map[u-r.width]){var f=i.nodeAt(p).attrs;e.setNodeMarkup(e.mapping.slice(c).map(p+o),null,dw(f,"rowspan",f.rowspan-1)),d+=f.colspan-1}else if(t<r.width&&p==r.map[u+r.width]){var A=i.nodeAt(p),h=A.type.create(dw(A.attrs,"rowspan",A.attrs.rowspan-1),A.content),m=r.positionAt(t+1,d,i);e.insert(e.mapping.slice(c).map(o+m),h),d+=A.attrs.colspan-1}}}function Uw(e){var n=e.content;return 1==n.childCount&&n.firstChild.isTextblock&&0==n.firstChild.childCount}function qw(e){return function(n,t){var r,i,o=n.selection;if(o instanceof Aw){if(o.$anchorCell.pos!=o.$headCell.pos)return!1;r=o.$anchorCell.nodeAfter,i=o.$anchorCell.pos}else{if(!(r=function(e){for(var n=e.depth;n>0;n--){var t=e.node(n).type.spec.tableRole;if("cell"===t||"header_cell"===t)return e.node(n)}return null}(o.$from)))return!1;i=rw(o.$from).pos}if(1==r.attrs.colspan&&1==r.attrs.rowspan)return!1;if(t){var a=r.attrs,s=[],l=a.colwidth;a.rowspan>1&&(a=dw(a,"rowspan",1)),a.colspan>1&&(a=dw(a,"colspan",1));for(var c,d=Rw(n),u=n.tr,p=0;p<d.right-d.left;p++)s.push(l?dw(a,"colwidth",l&&l[p]?[l[p]]:null):a);for(var f=d.top;f<d.bottom;f++){var A=d.map.positionAt(f,d.left,d.table);f==d.top&&(A+=r.nodeSize);for(var h=d.left,m=0;h<d.right;h++,m++)h==d.left&&f==d.top||u.insert(c=u.mapping.map(A+d.tableStart,1),e({node:r,row:f,col:h}).createAndFill(s[m]))}u.setNodeMarkup(i,e({node:r,row:d.top,col:d.left}),s[0]),o instanceof Aw&&u.setSelection(new Aw(u.doc.resolve(o.$anchorCell.pos),c&&u.doc.resolve(c))),t(u)}return!0}}function Hw(e,n,t){for(var r=n.map.cellsInRect({left:0,top:0,right:"row"==e?n.map.width:1,bottom:"column"==e?n.map.height:1}),i=0;i<r.length;i++){var o=n.table.nodeAt(r[i]);if(o&&o.type!==t.header_cell)return!1}return!0}function Ww(e,n){return(n=n||{useDeprecatedLogic:!1}).useDeprecatedLogic?function(e){return function(n,t){if(!iw(n))return!1;if(t){for(var r=nw(n.schema),i=Rw(n),o=n.tr,a=i.map.cellsInRect("column"==e?new Kx(i.left,0,i.right,i.map.height):"row"==e?new Kx(0,i.top,i.map.width,i.bottom):i),s=a.map((function(e){return i.table.nodeAt(e)})),l=0;l<a.length;l++)s[l].type==r.header_cell&&o.setNodeMarkup(i.tableStart+a[l],r.cell,s[l].attrs);if(0==o.steps.length)for(var c=0;c<a.length;c++)o.setNodeMarkup(i.tableStart+a[c],r.header_cell,s[c].attrs);t(o)}return!0}}(e):function(n,t){if(!iw(n))return!1;if(t){var r=nw(n.schema),i=Rw(n),o=n.tr,a=Hw("row",i,r),s=Hw("column",i,r),l=("column"===e?a:"row"===e&&s)?1:0,c="column"==e?new Kx(0,l,1,i.map.height):"row"==e?new Kx(l,0,i.map.width,1):i,d="column"==e?s?r.cell:r.header_cell:"row"==e?a?r.cell:r.header_cell:r.cell;i.map.cellsInRect(c).forEach((function(e){var n=e+i.tableStart,t=o.doc.nodeAt(n);t&&o.setNodeMarkup(n,d,t.attrs)})),t(o)}return!0}}var Vw=Ww("row",{useDeprecatedLogic:!0}),Jw=Ww("column",{useDeprecatedLogic:!0}),Kw=Ww("cell",{useDeprecatedLogic:!0});var Gw=function(e,n){this.node=e,this.cellMinWidth=n,this.dom=document.createElement("div"),this.dom.className="tableWrapper",this.table=this.dom.appendChild(document.createElement("table")),this.colgroup=this.table.appendChild(document.createElement("colgroup")),Xw(e,this.colgroup,this.table,n),this.contentDOM=this.table.appendChild(document.createElement("tbody"))};function Xw(e,n,t,r,i,o){for(var a=0,s=!0,l=n.firstChild,c=e.firstChild,d=0,u=0;d<c.childCount;d++)for(var p=c.child(d).attrs,f=p.colspan,A=p.colwidth,h=0;h<f;h++,u++){var m=i==u?o:A&&A[h],g=m?m+"px":"";a+=m||r,m||(s=!1),l?(l.style.width!=g&&(l.style.width=g),l=l.nextSibling):n.appendChild(document.createElement("col")).style.width=g}for(;l;){var v=l.nextSibling;l.parentNode.removeChild(l),l=v}s?(t.style.width=a+"px",t.style.minWidth=""):(t.style.width="",t.style.minWidth=a+"px")}Gw.prototype.update=function(e){return e.type==this.node.type&&(this.node=e,Xw(e,this.colgroup,this.table,this.cellMinWidth),!0)},Gw.prototype.ignoreMutation=function(e){return"attributes"==e.type&&(e.target==this.table||this.colgroup.contains(e.target))};var Qw=new hy("tableColumnResizing");var Zw=function(e,n){this.activeHandle=e,this.dragging=n};function ek(e,n,t){var r=e.posAtCoords({left:n.clientX,top:n.clientY});if(!r)return-1;var i=r.pos,o=rw(e.state.doc.resolve(i));if(!o)return-1;if("right"==t)return o.pos;var a=Gx.get(o.node(-1)),s=o.start(-1),l=a.map.indexOf(o.pos-s);return l%a.width==0?-1:s+a.map[l-1]}function nk(e,n,t){var r=n.clientX-e.startX;return Math.max(t,e.startWidth+r)}function tk(e,n){e.dispatch(e.state.tr.setMeta(Qw,{setHandle:n}))}function rk(e){for(var n=[],t=0;t<e;t++)n.push(0);return n}Zw.prototype.apply=function(e){var n=this,t=e.getMeta(Qw);if(t&&null!=t.setHandle)return new Zw(t.setHandle,null);if(t&&void 0!==t.setDragging)return new Zw(n.activeHandle,t.setDragging);if(n.activeHandle>-1&&e.docChanged){var r=e.mapping.map(n.activeHandle,-1);aw(e.doc.resolve(r))||(r=null),n=new Zw(r,n.dragging)}return n};var ik=Object.freeze({__proto__:null,CellSelection:Aw,TableMap:Gx,TableView:Gw,__clipCells:bw,__insertCells:Ew,__pastedCells:gw,addColSpan:pw,addColumn:Fw,addColumnAfter:function(e,n){if(!iw(e))return!1;if(n){var t=Rw(e);n(Fw(e.tr,t,t.right))}return!0},addColumnBefore:function(e,n){if(!iw(e))return!1;if(n){var t=Rw(e);n(Fw(e.tr,t,t.left))}return!0},addRow:jw,addRowAfter:function(e,n){if(!iw(e))return!1;if(n){var t=Rw(e);n(jw(e.tr,t,t.bottom))}return!0},addRowBefore:function(e,n){if(!iw(e))return!1;if(n){var t=Rw(e);n(jw(e.tr,t,t.top))}return!0},cellAround:rw,colCount:function(e){return Gx.get(e.node(-1)).colCount(e.pos-e.start(-1))},columnIsHeader:fw,columnResizing:function(e){void 0===e&&(e={});var n=e.handleWidth;void 0===n&&(n=5);var t=e.cellMinWidth;void 0===t&&(t=25);var r=e.View;void 0===r&&(r=Gw);var i=e.lastColumnResizable;return void 0===i&&(i=!0),new py({key:Qw,state:{init:function(e,n){return this.spec.props.nodeViews[nw(n.schema).table.name]=function(e,n){return new r(e,t,n)},new Zw(-1,!1)},apply:function(e,n){return n.apply(e)}},props:{attributes:function(e){return Qw.getState(e).activeHandle>-1?{class:"resize-cursor"}:null},handleDOMEvents:{mousemove:function(e,t){!function(e,n,t,r,i){var o=Qw.getState(e.state);if(!o.dragging){var a=function(e){for(;e&&"TD"!=e.nodeName&&"TH"!=e.nodeName;)e=e.classList.contains("ProseMirror")?null:e.parentNode;return e}(n.target),s=-1;if(a){var l=a.getBoundingClientRect(),c=l.left,d=l.right;n.clientX-c<=t?s=ek(e,n,"left"):d-n.clientX<=t&&(s=ek(e,n,"right"))}if(s!=o.activeHandle){if(!i&&-1!==s){var u=e.state.doc.resolve(s),p=u.node(-1),f=Gx.get(p),A=u.start(-1);if(f.colCount(u.pos-A)+u.nodeAfter.attrs.colspan-1==f.width-1)return}tk(e,s)}}}(e,t,n,0,i)},mouseleave:function(e){!function(e){var n=Qw.getState(e.state);n.activeHandle>-1&&!n.dragging&&tk(e,-1)}(e)},mousedown:function(e,n){!function(e,n,t){var r=Qw.getState(e.state);if(-1==r.activeHandle||r.dragging)return!1;var i=e.state.doc.nodeAt(r.activeHandle),o=function(e,n,t){var r=t.colspan,i=t.colwidth,o=i&&i[i.length-1];if(o)return o;var a=e.domAtPos(n),s=a.node.childNodes[a.offset].offsetWidth,l=r;if(i)for(var c=0;c<r;c++)i[c]&&(s-=i[c],l--);return s/l}(e,r.activeHandle,i.attrs);function a(n){window.removeEventListener("mouseup",a),window.removeEventListener("mousemove",s);var r=Qw.getState(e.state);r.dragging&&(!function(e,n,t){for(var r=e.state.doc.resolve(n),i=r.node(-1),o=Gx.get(i),a=r.start(-1),s=o.colCount(r.pos-a)+r.nodeAfter.attrs.colspan-1,l=e.state.tr,c=0;c<o.height;c++){var d=c*o.width+s;if(!c||o.map[d]!=o.map[d-o.width]){var u=o.map[d],p=i.nodeAt(u).attrs,f=1==p.colspan?0:s-o.colCount(u);if(!p.colwidth||p.colwidth[f]!=t){var A=p.colwidth?p.colwidth.slice():rk(p.colspan);A[f]=t,l.setNodeMarkup(a+u,null,dw(p,"colwidth",A))}}}l.docChanged&&e.dispatch(l)}(e,r.activeHandle,nk(r.dragging,n,t)),e.dispatch(e.state.tr.setMeta(Qw,{setDragging:null})))}function s(n){if(!n.which)return a(n);var r=Qw.getState(e.state),i=nk(r.dragging,n,t);!function(e,n,t,r){var i=e.state.doc.resolve(n),o=i.node(-1),a=i.start(-1),s=Gx.get(o).colCount(i.pos-a)+i.nodeAfter.attrs.colspan-1,l=e.domAtPos(i.start(-1)).node;for(;"TABLE"!=l.nodeName;)l=l.parentNode;Xw(o,l.firstChild,l,r,s,t)}(e,r.activeHandle,i,t)}e.dispatch(e.state.tr.setMeta(Qw,{setDragging:{startX:n.clientX,startWidth:o}})),window.addEventListener("mouseup",a),window.addEventListener("mousemove",s),n.preventDefault()}(e,n,t)}},decorations:function(e){var n=Qw.getState(e);if(n.activeHandle>-1)return function(e,n){for(var t=[],r=e.doc.resolve(n),i=r.node(-1),o=Gx.get(i),a=r.start(-1),s=o.colCount(r.pos-a)+r.nodeAfter.attrs.colspan,l=0;l<o.height;l++){var c=s+l*o.width-1;if(!(s!=o.width&&o.map[c]==o.map[c+1]||0!=l&&o.map[c-1]==o.map[c-1-o.width])){var d=o.map[c],u=a+d+i.nodeAt(d).nodeSize-1,p=document.createElement("div");p.className="column-resize-handle",t.push(RE.widget(u,p))}}return jE.create(e.doc,t)}(e,n.activeHandle)},nodeViews:{}}})},columnResizingPluginKey:Qw,deleteColumn:function(e,n){if(!iw(e))return!1;if(n){var t=Rw(e),r=e.tr;if(0==t.left&&t.right==t.map.width)return!1;for(var i=t.right-1;Lw(r,t,i),i!=t.left;i--)t.table=t.tableStart?r.doc.nodeAt(t.tableStart-1):r.doc,t.map=Gx.get(t.table);n(r)}return!0},deleteRow:function(e,n){if(!iw(e))return!1;if(n){var t=Rw(e),r=e.tr;if(0==t.top&&t.bottom==t.map.height)return!1;for(var i=t.bottom-1;Yw(r,t,i),i!=t.top;i--)t.table=t.tableStart?r.doc.nodeAt(t.tableStart-1):r.doc,t.map=Gx.get(t.table);n(r)}return!0},deleteTable:function(e,n){for(var t=e.selection.$anchor,r=t.depth;r>0;r--){if("table"==t.node(r).type.spec.tableRole)return n&&n(e.tr.delete(t.before(r),t.after(r)).scrollIntoView()),!0}return!1},findCell:function(e){return Gx.get(e.node(-1)).findCell(e.pos-e.start(-1))},fixTables:Nw,fixTablesKey:Iw,goToNextCell:function(e){return function(n,t){if(!iw(n))return!1;var r=function(e,n){if(n<0){var t=e.nodeBefore;if(t)return e.pos-t.nodeSize;for(var r=e.index(-1)-1,i=e.before();r>=0;r--){var o=e.node(-1).child(r);if(o.childCount)return i-1-o.lastChild.nodeSize;i-=o.nodeSize}}else{if(e.index()<e.parent.childCount-1)return e.pos+e.nodeAfter.nodeSize;for(var a=e.node(-1),s=e.indexAfter(-1),l=e.after();s<a.childCount;s++){var c=a.child(s);if(c.childCount)return l+1;l+=c.nodeSize}}}(ow(n),e);if(null!=r){if(t){var i=n.doc.resolve(r);t(n.tr.setSelection(Kb.between(i,sw(i))).scrollIntoView())}return!0}}},handlePaste:Bw,inSameTable:lw,isInTable:iw,mergeCells:function(e,n){var t=e.selection;if(!(t instanceof Aw)||t.$anchorCell.pos==t.$headCell.pos)return!1;var r=Rw(e),i=r.map;if(function(e,n){for(var t=e.width,r=e.height,i=e.map,o=n.top*t+n.left,a=o,s=(n.bottom-1)*t+n.left,l=o+(n.right-n.left-1),c=n.top;c<n.bottom;c++){if(n.left>0&&i[a]==i[a-1]||n.right<t&&i[l]==i[l+1])return!0;a+=t,l+=t}for(var d=n.left;d<n.right;d++){if(n.top>0&&i[o]==i[o-t]||n.bottom<r&&i[s]==i[s+t])return!0;o++,s++}return!1}(i,r))return!1;if(n){for(var o,a,s=e.tr,l={},c=Xg.empty,d=r.top;d<r.bottom;d++)for(var u=r.left;u<r.right;u++){var p=i.map[d*i.width+u],f=r.table.nodeAt(p);if(!l[p])if(l[p]=!0,null==o)o=p,a=f;else{Uw(f)||(c=c.append(f.content));var A=s.mapping.map(p+r.tableStart);s.delete(A,A+f.nodeSize)}}if(s.setNodeMarkup(o+r.tableStart,null,dw(pw(a.attrs,a.attrs.colspan,r.right-r.left-a.attrs.colspan),"rowspan",r.bottom-r.top)),c.size){var h=o+1+a.content.size,m=Uw(a)?o+1:h;s.replaceWith(m+r.tableStart,h+r.tableStart,c)}s.setSelection(new Aw(s.doc.resolve(o+r.tableStart))),n(s)}return!0},moveCellForward:sw,nextCell:cw,pointsAtCell:aw,removeColSpan:uw,removeColumn:Lw,removeRow:Yw,rowIsHeader:Pw,selectedRect:Rw,selectionCell:ow,setAttr:dw,setCellAttr:function(e,n){return function(t,r){if(!iw(t))return!1;var i=ow(t);if(i.nodeAfter.attrs[e]===n)return!1;if(r){var o=t.tr;t.selection instanceof Aw?t.selection.forEachCell((function(t,r){t.attrs[e]!==n&&o.setNodeMarkup(r,null,dw(t.attrs,e,n))})):o.setNodeMarkup(i.pos,null,dw(i.nodeAfter.attrs,e,n)),r(o)}return!0}},splitCell:function(e,n){var t=nw(e.schema);return qw((function(e){var n=e.node;return t[n.type.spec.tableRole]}))(e,n)},splitCellWithType:qw,tableEditing:function(e){void 0===e&&(e={});var n=e.allowTableNodeSelection;return void 0===n&&(n=!1),new py({key:tw,state:{init:function(){return null},apply:function(e,n){var t=e.getMeta(tw);if(null!=t)return-1==t?null:t;if(null==n||!e.docChanged)return n;var r=e.mapping.mapResult(n),i=r.deleted,o=r.pos;return i?null:o}},props:{decorations:mw,handleDOMEvents:{mousedown:zw},createSelectionBetween:function(e){if(null!=tw.getState(e.state))return e.state.selection},handleTripleClick:Dw,handleKeyDown:xw,handlePaste:Bw},appendTransaction:function(e,t,r){return function(e,n,t){var r,i,o=(n||e).selection,a=(n||e).doc;if(o instanceof Xb&&(i=o.node.type.spec.tableRole)){if("cell"==i||"header_cell"==i)r=Aw.create(a,o.from);else if("row"==i){var s=a.resolve(o.from+1);r=Aw.rowSelection(s,s)}else if(!t){var l=Gx.get(o.node),c=o.from+1,d=c+l.map[l.width*l.height-1];r=Aw.create(a,c+1,d)}}else o instanceof Kb&&function(e){var n=e.$from,t=e.$to;if(n.pos==t.pos||n.pos<n.pos-6)return!1;for(var r=n.pos,i=t.pos,o=n.depth;o>=0&&!(n.after(o+1)<n.end(o));o--,r++);for(var a=t.depth;a>=0&&!(t.before(a+1)>t.start(a));a--,i--);return r==i&&/row|table/.test(n.node(o).type.spec.tableRole)}(o)?r=Kb.create(a,o.from):o instanceof Kb&&function(e){for(var n,t,r=e.$from,i=e.$to,o=r.depth;o>0;o--){var a=r.node(o);if("cell"===a.type.spec.tableRole||"header_cell"===a.type.spec.tableRole){n=a;break}}for(var s=i.depth;s>0;s--){var l=i.node(s);if("cell"===l.type.spec.tableRole||"header_cell"===l.type.spec.tableRole){t=l;break}}return n!==t&&0===i.parentOffset}(o)&&(r=Kb.create(a,o.$from.start(),o.$from.end()));return r&&(n||(n=e.tr)).setSelection(r),n}(r,Nw(r,t),n)}})},tableEditingKey:tw,tableNodeTypes:nw,tableNodes:ew,toggleHeader:Ww,toggleHeaderCell:Kw,toggleHeaderColumn:Jw,toggleHeaderRow:Vw,updateColumnsOnResize:Xw}),ok=Fl(my),ak=Fl(ub),sk=Fl(ik),lk=Rl((function(e,n){Object.defineProperty(n,"__esModule",{value:!0});var t=function(e,n){return function(t){Array.isArray(e)||(e=[e]);for(var r=0,i=e.length;r<i;r++){var o=D(e[r])(t.selection);if(o){var a=u(o.pos,n)(t);if(a!==t)return a}}return t}},r=function(e){return function(n){if(l(n.selection)){var t=n.selection,r=t.$from,i=t.$to;if(e instanceof ak.Fragment&&r.parent.canReplace(r.index(),r.indexAfter(),e)||r.parent.canReplaceWith(r.index(),r.indexAfter(),e.type))return d(n.replaceWith(r.pos,i.pos,e).setSelection(new ok.NodeSelection(n.doc.resolve(r.pos))))}return n}},i=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return function(t){var r=ok.Selection.findFrom(t.doc.resolve(e),n,!0);return r?t.setSelection(r):t}},o=function(e){return e.type&&e.type.spec.selectable},a=function(e,n,t){return function(e){return o(e)&&e.type.isLeaf}(e)?t.setSelection(new ok.NodeSelection(t.doc.resolve(n))):i(n)(t)},s=function(e,n,i){return function(s){var c="number"==typeof n,u=s.selection.$from,p=c?s.doc.resolve(n):l(s.selection)?s.doc.resolve(u.pos+1):u,f=p.parent;if(l(s.selection)&&i&&s!==(s=r(e)(s)))return s;if(m(f)&&s!==(s=t(f.type,e)(s))){var A=o(e)?p.before(p.depth):p.pos;return a(e,A,s)}if(h(p,e)){s.insert(p.pos,e);var g=c?p.pos:o(e)?s.selection.$anchor.pos-1:s.selection.$anchor.pos;return d(a(e,g,s))}for(var v=p.depth;v>0;v--){var b=p.after(v),y=s.doc.resolve(b);if(h(y,e))return s.insert(b,e),d(a(e,b,s))}return s}},l=function(e){return e instanceof ok.NodeSelection},c=function(e,n){return Array.isArray(e)&&e.indexOf(n.type)>-1||n.type===e},d=function(e){return Object.assign(Object.create(e),e).setTime(Date.now())},u=function(e,n){return function(t){var r=t.doc.nodeAt(e),o=t.doc.resolve(e);if(p(o,n)){var a=(t=t.replaceWith(e,e+r.nodeSize,n)).selection.$from.pos-1;return t=i(Math.max(a,0),-1)(t),t=i(t.selection.$from.start())(t),d(t)}return t}},p=function(e,n){var t=e.node(e.depth);return t&&t.type.validContent(n instanceof ak.Fragment?n:ak.Fragment.from(n))},f=function(e){return function(n){var t=n.doc.nodeAt(e);return d(n.delete(e,e+t.nodeSize))}},A=function(e){if(e.cached.tableNodeTypes)return e.cached.tableNodeTypes;var n={};return Object.keys(e.nodes).forEach((function(t){var r=e.nodes[t];r.spec.tableRole&&(n[r.spec.tableRole]=r)})),e.cached.tableNodeTypes=n,n},h=function(e,n){var t=e.index();return n instanceof ak.Fragment?e.parent.canReplace(t,t,n):n instanceof ak.Node&&e.parent.canReplaceWith(t,t,n.type)},m=function(e){return!e||"paragraph"===e.type.name&&2===e.nodeSize},g=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return n?e.createChecked(null,n):e.createAndFill()},v=function(e){return function(n){for(var t=sk.TableMap.get(n.$anchorCell.node(-1)),r=n.$anchorCell.start(-1),i=t.cellsInRect(e),o=t.cellsInRect(t.rectBetween(n.$anchorCell.pos-r,n.$headCell.pos-r)),a=0,s=i.length;a<s;a++)if(-1===o.indexOf(i[a]))return!1;return!0}},b=function(e){return e[0].map((function(n,t){return e.map((function(e){return e[t]}))}))},y=function(e){for(var n=sk.TableMap.get(e),t=[],r=0;r<n.height;r++){for(var i=[],o={},a=0;a<n.width;a++){var s=n.map[r*n.width+a],l=e.nodeAt(s),c=n.findCell(s);o[s]||c.top!==r?i.push(null):(o[s]=!0,i.push(l))}t.push(i)}return t},C=function(e,n){for(var t=[],r=sk.TableMap.get(e),i=0;i<r.height;i++){for(var o=e.child(i),a=[],s=0;s<r.width;s++)if(n[i][s]){var l=r.map[i*r.width+s],c=n[i][s],d=e.nodeAt(l).type.createChecked(Object.assign({},c.attrs),c.content,c.marks);a.push(d)}t.push(o.type.createChecked(o.attrs,a,o.marks))}return e.type.createChecked(e.attrs,t,e.marks)},E=function(e,n,t,r){var i=n[0]>t[0]?-1:1,o=e.splice(n[0],n.length),a=o.length%2==0?1:0,s=void 0;return s=-1===r&&1===i?t[0]-1:1===r&&-1===i?t[t.length-1]-a+1:-1===i?t[0]:t[t.length-1]-a,e.splice.apply(e,[s,0].concat(o)),e},x=function(e,n,t,r){var i="Target position is invalid, you can't move the "+r+" "+e+" to "+n+", the target can't be split. You could use tryToFit option.";if(1===(e>n?-1:1)){if(-1!==t.slice(0,t.length-1).indexOf(n))throw new Error(i)}else if(-1!==t.slice(1).indexOf(n))throw new Error(i);return!0},w=function(e){return function(n){var t=n.$from;return k(t,e)}},k=function(e,n){for(var t=e.depth;t>0;t--){var r=e.node(t);if(n(r))return{pos:t>0?e.before(t):0,start:e.start(t),depth:t,node:r}}},_=function(e,n){return function(t){var r=w(e)(t);if(r)return z(r.pos,n)}},S=function(e){return function(n){return!!w(e)(n)}},D=function(e){return function(n){return w((function(n){return c(e,n)}))(n)}},B=function(e){var n=e.$from.nodeBefore,t=ok.Selection.findFrom(e.$from,-1);if(t&&n){var r=D(n.type)(t);return r?r.pos:t.$from.pos}},z=function(e,n){var t=n(e),r=t.node.childNodes[t.offset];return t.node.nodeType===Node.TEXT_NODE?t.node.parentNode:r&&r.nodeType!==Node.TEXT_NODE?r:t.node},O=function(e){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!e)throw new Error('Invalid "node" parameter');var t=[];return e.descendants((function(e,r){if(t.push({node:e,pos:r}),!n)return!1})),t},M=function(e,n,t){if(!e)throw new Error('Invalid "node" parameter');if(!n)throw new Error('Invalid "predicate" parameter');return O(e,t).filter((function(e){return n(e.node)}))},T=function(e,n,t){return M(e,(function(e){return e.type===n}),t)};var I=function(e){return w((function(e){return e.type.spec.tableRole&&"table"===e.type.spec.tableRole}))(e)},$=function(e){return e instanceof sk.CellSelection},N=function(e){if($(e)){var n=sk.TableMap.get(e.$anchorCell.node(-1));return v({left:0,right:n.width,top:0,bottom:n.height})(e)}return!1},R=function(e){return function(n){var t=I(n);if(t){var r=sk.TableMap.get(t.node);return(Array.isArray(e)?e:Array.from([e])).reduce((function(e,n){if(n>=0&&n<=r.width-1){var i=r.cellsInRect({left:n,right:n+1,top:0,bottom:r.height});return e.concat(i.map((function(e){var n=t.node.nodeAt(e),r=e+t.start;return{pos:r,start:r+1,node:n}})))}}),[])}}},F=function(e){return function(n){var t=I(n);if(t){var r=sk.TableMap.get(t.node);return(Array.isArray(e)?e:Array.from([e])).reduce((function(e,n){if(n>=0&&n<=r.height-1){var i=r.cellsInRect({left:0,right:r.width,top:n,bottom:n+1});return e.concat(i.map((function(e){var n=t.node.nodeAt(e),r=e+t.start;return{pos:r,start:r+1,node:n}})))}}),[])}}},L=function(e){return function(n,t){return function(r){var i=I(r.selection),o="row"===e;if(i){var a=sk.TableMap.get(i.node);if(n>=0&&n<(o?a.height:a.width)){var s=o?0:n,l=o?n:0,c=o?a.width:n+1,u=o?n+1:a.height;if(t){var p=V(r.selection.$from);if(!p)return r;var f=a.findCell(p.pos-i.start);o?(l=Math.min(l,f.top),u=Math.max(u,f.bottom)):(s=Math.min(s,f.left),c=Math.max(c,f.right))}var A=a.cellsInRect({left:s,top:l,right:o?c:s+1,bottom:o?l+1:u}),h=u-l==1?A:a.cellsInRect({left:o?s:c-1,top:o?u-1:l,right:c,bottom:u}),m=i.start+A[0],g=i.start+h[h.length-1],v=r.doc.resolve(m),b=r.doc.resolve(g);return d(r.setSelection(new sk.CellSelection(b,v)))}}return r}}},P=L("column"),j=L("row"),Y=function(e){return function(n){var t=I(n.selection);if(t){var r=sk.TableMap.get(t.node);if(e>=0&&e<=r.height){for(var i=t.node,o=A(i.type.schema),a=t.start,l=0;l<e+1;l++)a+=i.child(l).nodeSize;var c=i.child(e),d=[],u=0;if(c.forEach((function(e){1===e.attrs.rowspan&&(u+=e.attrs.colspan,d.push(o[e.type.spec.tableRole].createAndFill(e.attrs,e.marks)))})),u<r.width){for(var p=[],f=function(t){var r=K(t,(function(n,r){var i=n.node.attrs.rowspan;return i>1&&t+i>e}))(n);p.push.apply(p,function(e){if(Array.isArray(e)){for(var n=0,t=Array(e.length);n<e.length;n++)t[n]=e[n];return t}return Array.from(e)}(r))},h=e;h>=0;h--)f(h);p.length&&p.forEach((function(e){n=W(e,{rowspan:e.node.attrs.rowspan+1})(n)}))}return s(o.row.create(c.attrs,d),a)(n)}}return n}},U=function(e){return function(n){var t=I(n.selection);if(t){var r=sk.TableMap.get(t.node);if(0===e&&1===r.width)return H(n);if(e>=0&&e<=r.width)return sk.removeColumn(n,{map:r,tableStart:t.start,table:t.node},e),d(n)}return n}},q=function(e){return function(n){var t=I(n.selection);if(t){var r=sk.TableMap.get(t.node);if(0===e&&1===r.height)return H(n);if(e>=0&&e<=r.height)return sk.removeRow(n,{map:r,tableStart:t.start,table:t.node},e),d(n)}return n}},H=function(e){for(var n=e.selection.$from,t=n.depth;t>0;t--){if("table"===n.node(t).type.spec.tableRole)return d(e.delete(n.before(t),n.after(t)))}return e},W=function(e,n){return function(t){return e?(t.setNodeMarkup(e.pos,null,Object.assign({},e.node.attrs,n)),d(t)):t}},V=function(e){return k(e,(function(e){return e.type.spec.tableRole&&/cell/i.test(e.type.spec.tableRole)}))},J=function(e){var n=V(e);if(n){var t=function(e){return k(e,(function(e){return e.type.spec.tableRole&&/table/i.test(e.type.spec.tableRole)}))}(e),r=sk.TableMap.get(t.node),i=n.pos-t.start;return r.rectBetween(i,i)}},K=function(e,n){return function(t){var r=[],i=F(e)(t.selection);if(i)for(var o=i.length-1;o>=0;o--)n(i[o],t)&&r.push(i[o]);return r}},G=function(e){return function(n){for(var t=e,r=e,i=function(e){var i=R(e)(n.selection);i&&i.forEach((function(n){var i=n.node.attrs.colspan+e-1;i>=t&&(t=e),i>r&&(r=i)}))},o=e;o>=0;o--)i(o);var a=function(e){var t=R(e)(n.selection);t&&t.forEach((function(n){var t=n.node.attrs.colspan+e-1;n.node.attrs.colspan>1&&t>r&&(r=t)}))};for(o=e;o<=r;o++)a(o);var s=[];for(o=t;o<=r;o++){var l=R(o)(n.selection);l&&l.length&&s.push(o)}t=s[0],r=s[s.length-1];for(var c=R(t)(n.selection),d=F(0)(n.selection),u=n.doc.resolve(c[c.length-1].pos),p=void 0,f=r;f>=t;f--){var A=R(f)(n.selection);if(A&&A.length){for(var h=d.length-1;h>=0;h--)if(d[h].pos===A[0].pos){p=A[0];break}if(p)break}}return{$anchor:u,$head:n.doc.resolve(p.pos),indexes:s}}},X=function(e){return function(n){for(var t=e,r=e,i=function(e){F(e)(n.selection).forEach((function(n){var i=n.node.attrs.rowspan+e-1;i>=t&&(t=e),i>r&&(r=i)}))},o=e;o>=0;o--)i(o);var a=function(e){F(e)(n.selection).forEach((function(n){var t=n.node.attrs.rowspan+e-1;n.node.attrs.rowspan>1&&t>r&&(r=t)}))};for(o=e;o<=r;o++)a(o);var s=[];for(o=t;o<=r;o++){var l=F(o)(n.selection);l&&l.length&&s.push(o)}t=s[0],r=s[s.length-1];for(var c=F(t)(n.selection),d=R(0)(n.selection),u=n.doc.resolve(c[c.length-1].pos),p=void 0,f=r;f>=t;f--){var A=F(f)(n.selection);if(A&&A.length){for(var h=d.length-1;h>=0;h--)if(d[h].pos===A[0].pos){p=A[0];break}if(p)break}}return{$anchor:u,$head:n.doc.resolve(p.pos),indexes:s}}};n.isNodeSelection=l,n.canInsert=h,n.convertTableNodeToArrayOfRows=y,n.convertArrayOfRowsToTableNode=C,n.findParentNode=w,n.findParentNodeClosestToPos=k,n.findParentDomRef=_,n.hasParentNode=S,n.findParentNodeOfType=D,n.findParentNodeOfTypeClosestToPos=function(e,n){return k(e,(function(e){return c(n,e)}))},n.hasParentNodeOfType=function(e){return function(n){return S((function(n){return c(e,n)}))(n)}},n.findParentDomRefOfType=function(e,n){return function(t){return _((function(n){return c(e,n)}),n)(t)}},n.findSelectedNodeOfType=function(e){return function(n){if(l(n)){var t=n.node,r=n.$from;if(c(e,t))return{node:t,pos:r.pos,depth:r.depth}}}},n.findPositionOfNodeBefore=B,n.findDomRefAtPos=z,n.flatten=O,n.findChildren=M,n.findTextNodes=function(e,n){return M(e,(function(e){return e.isText}),n)},n.findInlineNodes=function(e,n){return M(e,(function(e){return e.isInline}),n)},n.findBlockNodes=function(e,n){return M(e,(function(e){return e.isBlock}),n)},n.findChildrenByAttr=function(e,n,t){return M(e,(function(e){return!!n(e.attrs)}),t)},n.findChildrenByType=T,n.findChildrenByMark=function(e,n,t){return M(e,(function(e){return n.isInSet(e.marks)}),t)},n.contains=function(e,n){return!!T(e,n).length},n.findTable=I,n.isCellSelection=$,n.getSelectionRect=function(e){if($(e)){var n=e.$anchorCell.start(-1);return sk.TableMap.get(e.$anchorCell.node(-1)).rectBetween(e.$anchorCell.pos-n,e.$headCell.pos-n)}},n.isColumnSelected=function(e){return function(n){if($(n)){var t=sk.TableMap.get(n.$anchorCell.node(-1));return v({left:e,right:e+1,top:0,bottom:t.height})(n)}return!1}},n.isRowSelected=function(e){return function(n){if($(n)){var t=sk.TableMap.get(n.$anchorCell.node(-1));return v({left:0,right:t.width,top:e,bottom:e+1})(n)}return!1}},n.isTableSelected=N,n.getCellsInColumn=R,n.getCellsInRow=F,n.getCellsInTable=function(e){var n=I(e);if(n){var t=sk.TableMap.get(n.node);return t.cellsInRect({left:0,right:t.width,top:0,bottom:t.height}).map((function(e){var t=n.node.nodeAt(e),r=e+n.start;return{pos:r,start:r+1,node:t}}))}},n.selectColumn=P,n.selectRow=j,n.selectTable=function(e){var n=I(e.selection);if(n){var t=sk.TableMap.get(n.node).map;if(t&&t.length){var r=n.start+t[0],i=n.start+t[t.length-1],o=e.doc.resolve(r),a=e.doc.resolve(i);return d(e.setSelection(new sk.CellSelection(a,o)))}}return e},n.emptyCell=function(e,n){return function(t){if(e){var r=A(n).cell.createAndFill().content;if(!e.node.content.eq(r))return t.replaceWith(e.pos+1,e.pos+e.node.nodeSize,r),d(t)}return t}},n.addColumnAt=function(e){return function(n){var t=I(n.selection);if(t){var r=sk.TableMap.get(t.node);if(e>=0&&e<=r.width)return d(sk.addColumn(n,{map:r,tableStart:t.start,table:t.node},e))}return n}},n.moveRow=function(e,n,t){return function(r){var i=Object.assign({tryToFit:!1,direction:0},t),o=I(r.selection);if(!o)return r;var a=X(e)(r).indexes,s=X(n)(r).indexes;if(a.indexOf(n)>-1)return r;!i.tryToFit&&s.length>1&&x(e,n,s,"row");var l=function(e,n,t,r){var i=y(e.node);return i=E(i,n,t,r),C(e.node,i)}(o,a,s,i.direction);return d(r).replaceWith(o.pos,o.pos+o.node.nodeSize,l)}},n.moveColumn=function(e,n,t){return function(r){var i=Object.assign({tryToFit:!1,direction:0},t),o=I(r.selection);if(!o)return r;var a=G(e)(r).indexes,s=G(n)(r).indexes;if(a.indexOf(n)>-1)return r;!i.tryToFit&&s.length>1&&x(e,n,s,"column");var l=function(e,n,t,r){var i=b(y(e.node));return i=E(i,n,t,r),i=b(i),C(e.node,i)}(o,a,s,i.direction);return d(r).replaceWith(o.pos,o.pos+o.node.nodeSize,l)}},n.addRowAt=function(e,n){return function(t){var r=I(t.selection);if(r){var i=sk.TableMap.get(r.node),o=e-1;if(n&&o>=0)return d(Y(o)(t));if(e>=0&&e<=i.height)return d(sk.addRow(t,{map:i,tableStart:r.start,table:r.node},e))}return t}},n.cloneRowAt=Y,n.removeColumnAt=U,n.removeRowAt=q,n.removeTable=H,n.removeSelectedColumns=function(e){var n=e.selection;if(N(n))return H(e);if($(n)){var t=I(n);if(t){var r=sk.TableMap.get(t.node),i=r.rectBetween(n.$anchorCell.pos-t.start,n.$headCell.pos-t.start);if(0==i.left&&i.right==r.width)return!1;for(var o=Object.assign({},i,{map:r,table:t.node,tableStart:t.start}),a=o.right-1;sk.removeColumn(e,o,a),a!==o.left;a--)o.table=o.tableStart?e.doc.nodeAt(o.tableStart-1):e.doc,o.map=sk.TableMap.get(o.table);return d(e)}}return e},n.removeSelectedRows=function(e){var n=e.selection;if(N(n))return H(e);if($(n)){var t=I(n);if(t){var r=sk.TableMap.get(t.node),i=r.rectBetween(n.$anchorCell.pos-t.start,n.$headCell.pos-t.start);if(0==i.top&&i.bottom==r.height)return!1;for(var o=Object.assign({},i,{map:r,table:t.node,tableStart:t.start}),a=o.bottom-1;sk.removeRow(e,o,a),a!==o.top;a--)o.table=o.tableStart?e.doc.nodeAt(o.tableStart-1):e.doc,o.map=sk.TableMap.get(o.table);return d(e)}}return e},n.removeColumnClosestToPos=function(e){return function(n){var t=J(e);return t?U(t.left)(i(e.pos)(n)):n}},n.removeRowClosestToPos=function(e){return function(n){var t=J(e);return t?q(t.top)(i(e.pos)(n)):n}},n.forEachCellInColumn=function(e,n,t){return function(r){var i=R(e)(r.selection);if(i){for(var o=i.length-1;o>=0;o--)r=n(i[o],r);if(t){var a=r.doc.resolve(r.mapping.map(i[i.length-1].pos));r.setSelection(ok.Selection.near(a))}return d(r)}return r}},n.forEachCellInRow=function(e,n,t){return function(r){var i=F(e)(r.selection);if(i){for(var o=i.length-1;o>=0;o--)r=n(i[o],r);if(t){var a=r.doc.resolve(r.mapping.map(i[i.length-1].pos));r.setSelection(ok.Selection.near(a))}}return r}},n.setCellAttrs=W,n.createTable=function(e){for(var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:3,r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,o=A(e),a=o.cell,s=o.header_cell,l=o.row,c=o.table,d=[],u=[],p=0;p<t;p++)d.push(g(a,i)),r&&u.push(g(s,i));for(var f=[],h=0;h<n;h++)f.push(l.createChecked(null,r&&0===h?u:d));return c.createChecked(null,f)},n.findCellClosestToPos=V,n.findCellRectClosestToPos=J,n.getSelectionRangeInColumn=G,n.getSelectionRangeInRow=X,n.removeParentNodeOfType=function(e){return function(n){var t=D(e)(n.selection);return t?f(t.pos)(n):n}},n.replaceParentNodeOfType=t,n.removeSelectedNode=function(e){if(l(e.selection)){var n=e.selection.$from.pos,t=e.selection.$to.pos;return d(e.delete(n,t))}return e},n.replaceSelectedNode=r,n.setTextSelection=i,n.safeInsert=s,n.setParentNodeMarkup=function(e,n,t,r){return function(i){var o=D(e)(i.selection);return o?d(i.setNodeMarkup(o.pos,n,Object.assign({},o.node.attrs,t),r)):i}},n.selectParentNodeOfType=function(e){return function(n){if(!l(n.selection)){var t=D(e)(n.selection);if(t)return d(n.setSelection(ok.NodeSelection.create(n.doc,t.pos)))}return n}},n.removeNodeBefore=function(e){var n=B(e.selection);return"number"==typeof n?f(n)(e):e}}));function ck(e,n){const{from:t,to:r}=e.selection;let i=[];e.doc.nodesBetween(t,r,(e=>{i=[...i,...e.marks]}));const o=i.find((e=>e.type.name===n.name));return o?o.attrs:{}}function dk(e,n){const{from:t,to:r}=e.selection;let i=[];e.doc.nodesBetween(t,r,(e=>{i=[...i,e]}));const o=i.reverse().find((e=>e.type.name===n.name));return o?o.attrs:{}}function uk(e=null,n=null){if(!e||!n)return!1;const t=e.parent.childAfter(e.parentOffset);if(!t.node)return!1;const r=t.node.marks.find((e=>e.type===n));if(!r)return!1;let i=e.index(),o=e.start()+t.offset,a=i+1,s=o+t.node.nodeSize;for(;i>0&&r.isInSet(e.parent.child(i-1).marks);)i-=1,o-=e.parent.child(i).nodeSize;for(;a<e.parent.childCount&&r.isInSet(e.parent.child(a).marks);)s+=e.parent.child(a).nodeSize,a+=1;return{from:o,to:s}}function pk(e,n,t){return new jx(e,((e,r,i,o)=>{const a=t instanceof Function?t(r):t,{tr:s}=e,l=r.length-1;let c=o,d=i;if(r[l]){const t=i+r[0].indexOf(r[l-1]),a=t+r[l-1].length-1,u=t+r[l-1].lastIndexOf(r[l]),p=u+r[l].length;if(function(e,n,t){let r=[];return t.doc.nodesBetween(e,n,((e,n)=>{r=[...r,...e.marks.map((t=>({start:n,end:n+e.nodeSize,mark:t})))]})),r}(i,o,e).filter((e=>{const{excluded:t}=e.mark.type;return t.find((e=>e.name===n.name))})).filter((e=>e.end>t)).length)return!1;p<a&&s.delete(p,a),u>t&&s.delete(t,u),d=t,c=d+r[l].length}return s.addMark(d,c,n.create(a)),s.removeStoredMark(n),s}))}function fk(e,n,t){const r=i=>{const o=[];return i.forEach((i=>{if(i.isText){const{text:r}=i;let a,s=0;do{if(a=e.exec(r),a){const e=a.index,r=e+a[0].length,l=t instanceof Function?t(a[0]):t;e>0&&o.push(i.cut(s,e)),o.push(i.cut(e,r).mark(n.create(l).addToSet(i.marks))),s=r}}while(a);s<r.length&&o.push(i.cut(s))}else o.push(i.copy(r(i.content)))})),Xg.fromArray(o)};return new py({props:{transformPasted:e=>new iv(r(e.content),e.openStart,e.openEnd)}})}function Ak(e,n,t){const r=(i,o)=>{const a=[];return i.forEach((i=>{if(i.isText){const{text:r,marks:s}=i;let l,c=0;const d=!!s.filter((e=>"link"===e.type.name))[0];for(;!d&&null!==(l=e.exec(r));)if(o&&o.type.allowsMarkType(n)&&l[1]){const e=l.index,r=e+l[0].length,o=e+l[0].indexOf(l[1]),s=o+l[1].length,d=t instanceof Function?t(l):t;e>0&&a.push(i.cut(c,e)),a.push(i.cut(o,s).mark(n.create(d).addToSet(i.marks))),c=r}c<r.length&&a.push(i.cut(c))}else a.push(i.copy(r(i.content,i)))})),Xg.fromArray(a)};return new py({props:{transformPasted:e=>new iv(r(e.content),e.openStart,e.openEnd)}})}class hk{constructor(e,{editor:n,extension:t,parent:r,node:i,view:o,decorations:a,getPos:s}){this.component=e,this.editor=n,this.extension=t,this.parent=r,this.node=i,this.view=o,this.decorations=a,this.isNode=!!this.node.marks,this.isMark=!this.isNode,this.getPos=this.isMark?this.getMarkPos:s,this.captureEvents=!0,this.dom=this.createDOM(),this.contentDOM=this.vm.$refs.content}createDOM(){const e=xt.extend(this.component),n={editor:this.editor,node:this.node,view:this.view,getPos:()=>this.getPos(),decorations:this.decorations,selected:!1,options:this.extension.options,updateAttrs:e=>this.updateAttrs(e)};return"function"==typeof this.extension.setSelection&&(this.setSelection=this.extension.setSelection),"function"==typeof this.extension.update&&(this.update=this.extension.update),this.vm=new e({parent:this.parent,propsData:n}).$mount(),this.vm.$el}update(e,n){return e.type===this.node.type&&(e===this.node&&this.decorations===n||(this.node=e,this.decorations=n,this.updateComponentProps({node:e,decorations:n})),!0)}updateComponentProps(e){if(!this.vm._props)return;const n=xt.config.silent;xt.config.silent=!0,Object.entries(e).forEach((([e,n])=>{this.vm._props[e]=n})),xt.config.silent=n}updateAttrs(e){if(!this.view.editable)return;const{state:n}=this.view,{type:t}=this.node,r=this.getPos(),i={...this.node.attrs,...e},o=this.isMark?n.tr.removeMark(r.from,r.to,t).addMark(r.from,r.to,t.create(i)):n.tr.setNodeMarkup(r,null,i);this.view.dispatch(o)}ignoreMutation(e){return"selection"!==e.type&&(!this.contentDOM||!this.contentDOM.contains(e.target))}stopEvent(e){if("function"==typeof this.extension.stopEvent)return this.extension.stopEvent(e);const n=!!this.extension.schema.draggable;if(n&&"mousedown"===e.type){const n=e.target.closest&&e.target.closest("[data-drag-handle]");n&&(this.dom===n||this.dom.contains(n))&&(this.captureEvents=!1,document.addEventListener("dragend",(()=>{this.captureEvents=!0}),{once:!0}))}const t="copy"===e.type,r="paste"===e.type,i="cut"===e.type,o=e.type.startsWith("drag")||"drop"===e.type;return!(n&&o||t||r||i)&&this.captureEvents}selectNode(){this.updateComponentProps({selected:!0})}deselectNode(){this.updateComponentProps({selected:!1})}getMarkPos(){const e=this.view.posAtDOM(this.dom);return uk(this.view.state.doc.resolve(e),this.node.type)}destroy(){this.vm.$destroy()}}class mk{constructor(e={}){this.options={...this.defaultOptions,...e}}init(){return null}bindEditor(e=null){this.editor=e}get name(){return null}get type(){return"extension"}get defaultOptions(){return{}}get plugins(){return[]}inputRules(){return[]}pasteRules(){return[]}keys(){return{}}}class gk{constructor(e=[],n){e.forEach((e=>{e.bindEditor(n),e.init()})),this.extensions=e}get nodes(){return this.extensions.filter((e=>"node"===e.type)).reduce(((e,{name:n,schema:t})=>({...e,[n]:t})),{})}get options(){const{view:e}=this;return this.extensions.reduce(((n,t)=>({...n,[t.name]:new Proxy(t.options,{set(n,t,r){const i=n[t]!==r;return Object.assign(n,{[t]:r}),i&&e.updateState(e.state),!0}})})),{})}get marks(){return this.extensions.filter((e=>"mark"===e.type)).reduce(((e,{name:n,schema:t})=>({...e,[n]:t})),{})}get plugins(){return this.extensions.filter((e=>e.plugins)).reduce(((e,{plugins:n})=>[...e,...n]),[])}keymaps({schema:e}){return[...this.extensions.filter((e=>["extension"].includes(e.type))).filter((e=>e.keys)).map((n=>n.keys({schema:e}))),...this.extensions.filter((e=>["node","mark"].includes(e.type))).filter((e=>e.keys)).map((n=>n.keys({type:e["".concat(n.type,"s")][n.name],schema:e})))].map((e=>vx(e)))}inputRules({schema:e,excludedExtensions:n}){if(!(n instanceof Array)&&n)return[];const t=n instanceof Array?this.extensions.filter((e=>!n.includes(e.name))):this.extensions;return[...t.filter((e=>["extension"].includes(e.type))).filter((e=>e.inputRules)).map((n=>n.inputRules({schema:e}))),...t.filter((e=>["node","mark"].includes(e.type))).filter((e=>e.inputRules)).map((n=>n.inputRules({type:e["".concat(n.type,"s")][n.name],schema:e})))].reduce(((e,n)=>[...e,...n]),[])}pasteRules({schema:e,excludedExtensions:n}){if(!(n instanceof Array)&&n)return[];const t=n instanceof Array?this.extensions.filter((e=>!n.includes(e.name))):this.extensions;return[...t.filter((e=>["extension"].includes(e.type))).filter((e=>e.pasteRules)).map((n=>n.pasteRules({schema:e}))),...t.filter((e=>["node","mark"].includes(e.type))).filter((e=>e.pasteRules)).map((n=>n.pasteRules({type:e["".concat(n.type,"s")][n.name],schema:e})))].reduce(((e,n)=>[...e,...n]),[])}commands({schema:e,view:n}){return this.extensions.filter((e=>e.commands)).reduce(((t,r)=>{const{name:i,type:o}=r,a={},s=r.commands({schema:e,...["node","mark"].includes(o)?{type:e["".concat(o,"s")][i]}:{}}),l=(e,t)=>!!n.editable&&(n.focus(),e(t)(n.state,n.dispatch,n)),c=(e,n)=>{Array.isArray(n)?a[e]=e=>n.forEach((n=>l(n,e))):"function"==typeof n&&(a[e]=e=>l(n,e))};return"object"==typeof s?Object.entries(s).forEach((([e,n])=>{c(e,n)})):c(i,s),{...t,...a}}),{})}}class vk extends mk{constructor(e={}){super(e)}get type(){return"mark"}get view(){return null}get schema(){return null}command(){return()=>{}}}function bk(e=0,n=0,t=0){return Math.min(Math.max(parseInt(e,10),n),t)}class yk extends mk{constructor(e={}){super(e)}get type(){return"node"}get view(){return null}get schema(){return null}command(){return()=>{}}}class Ck extends yk{get name(){return"doc"}get schema(){return{content:"block+"}}}class Ek extends yk{get name(){return"paragraph"}get schema(){return{content:"inline*",group:"block",draggable:!1,parseDOM:[{tag:"p"}],toDOM:()=>["p",0]}}commands({type:e}){return()=>{return n=e,function(e,r){var i=e.selection,o=i.from,a=i.to,s=!1;return e.doc.nodesBetween(o,a,(function(r,i){if(s)return!1;if(r.isTextblock&&!r.hasMarkup(n,t))if(r.type==n)s=!0;else{var o=e.doc.resolve(i),a=o.index();s=o.parent.canReplaceWith(a,a+1,n)}})),!!s&&(r&&r(e.tr.setBlockType(o,a,n,t).scrollIntoView()),!0)};var n,t}}}class xk extends yk{get name(){return"text"}get schema(){return{group:"inline"}}}class wk extends class{on(e,n){return this._callbacks=this._callbacks||{},this._callbacks[e]||(this._callbacks[e]=[]),this._callbacks[e].push(n),this}emit(e,...n){this._callbacks=this._callbacks||{};const t=this._callbacks[e];return t&&t.forEach((e=>e.apply(this,n))),this}off(e,n){if(arguments.length){const t=this._callbacks?this._callbacks[e]:null;t&&(n?this._callbacks[e]=t.filter((e=>e!==n)):delete this._callbacks[e])}else this._callbacks={};return this}}{constructor(e={}){super(),this.defaultOptions={editorProps:{},editable:!0,autoFocus:null,extensions:[],content:"",topNode:"doc",emptyDocument:{type:"doc",content:[{type:"paragraph"}]},useBuiltInExtensions:!0,disableInputRules:!1,disablePasteRules:!1,dropCursor:{},enableDropCursor:!0,enableGapCursor:!0,parseOptions:{},injectCSS:!0,onInit:()=>{},onTransaction:()=>{},onUpdate:()=>{},onFocus:()=>{},onBlur:()=>{},onPaste:()=>{},onDrop:()=>{}},this.events=["init","transaction","update","focus","blur","paste","drop"],this.init(e)}init(e={}){this.setOptions({...this.defaultOptions,...e}),this.focused=!1,this.selection={from:0,to:0},this.element=document.createElement("div"),this.extensions=this.createExtensions(),this.nodes=this.createNodes(),this.marks=this.createMarks(),this.schema=this.createSchema(),this.plugins=this.createPlugins(),this.keymaps=this.createKeymaps(),this.inputRules=this.createInputRules(),this.pasteRules=this.createPasteRules(),this.view=this.createView(),this.commands=this.createCommands(),this.setActiveNodesAndMarks(),this.options.injectCSS&&function(e){{const n=document.createElement("style");n.type="text/css",n.textContent=e;const{head:t}=document,{firstChild:r}=t;r?t.insertBefore(n,r):t.appendChild(n)}}('.ProseMirror {\n position: relative;\n}\n\n.ProseMirror {\n word-wrap: break-word;\n white-space: pre-wrap;\n -webkit-font-variant-ligatures: none;\n font-variant-ligatures: none;\n}\n\n.ProseMirror pre {\n white-space: pre-wrap;\n}\n\n.ProseMirror-gapcursor {\n display: none;\n pointer-events: none;\n position: absolute;\n}\n\n.ProseMirror-gapcursor:after {\n content: "";\n display: block;\n position: absolute;\n top: -2px;\n width: 20px;\n border-top: 1px solid black;\n animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;\n}\n\n@keyframes ProseMirror-cursor-blink {\n to {\n visibility: hidden;\n }\n}\n\n.ProseMirror-hideselection *::selection {\n background: transparent;\n}\n\n.ProseMirror-hideselection *::-moz-selection {\n background: transparent;\n}\n\n.ProseMirror-hideselection * {\n caret-color: transparent;\n}\n\n.ProseMirror-focused .ProseMirror-gapcursor {\n display: block;\n}\n'),null!==this.options.autoFocus&&this.focus(this.options.autoFocus),this.events.forEach((e=>{var n;this.on(e,this.options[(n="on ".concat(e),n.replace(/(?:^\w|[A-Z]|\b\w)/g,((e,n)=>0===n?e.toLowerCase():e.toUpperCase())).replace(/\s+/g,""))]||(()=>{}))})),this.emit("init",{view:this.view,state:this.state}),this.extensions.view=this.view}setOptions(e){this.options={...this.options,...e},this.view&&this.state&&this.view.updateState(this.state)}get builtInExtensions(){return this.options.useBuiltInExtensions?[new Ck,new xk,new Ek]:[]}get state(){return this.view?this.view.state:null}createExtensions(){return new gk([...this.builtInExtensions,...this.options.extensions],this)}createPlugins(){return this.extensions.plugins}createKeymaps(){return this.extensions.keymaps({schema:this.schema})}createInputRules(){return this.extensions.inputRules({schema:this.schema,excludedExtensions:this.options.disableInputRules})}createPasteRules(){return this.extensions.pasteRules({schema:this.schema,excludedExtensions:this.options.disablePasteRules})}createCommands(){return this.extensions.commands({schema:this.schema,view:this.view})}createNodes(){return this.extensions.nodes}createMarks(){return this.extensions.marks}createSchema(){return new Jv({topNode:this.options.topNode,nodes:this.nodes,marks:this.marks})}createState(){return ly.create({schema:this.schema,doc:this.createDocument(this.options.content),plugins:[...this.plugins,(n={rules:this.inputRules},t=n.rules,r=new py({state:{init:function(){return null},apply:function(e,n){var t=e.getMeta(this);return t||(e.selectionSet||e.docChanged?null:n)}},props:{handleTextInput:function(e,n,i,o){return qx(e,n,i,o,t,r)},handleDOMEvents:{compositionend:function(e){setTimeout((function(){var n=e.state.selection.$cursor;n&&qx(e,n.pos,n.pos,"",t,r)}))}}},isInputRules:!0}),r),...this.pasteRules,...this.keymaps,vx({Backspace:Hx}),vx(Px),...this.options.enableDropCursor?[(e=this.options.dropCursor,void 0===e&&(e={}),new py({view:function(n){return new ix(n,e)}}))]:[],...this.options.enableGapCursor?[new py({props:{decorations:kx,createSelectionBetween:function(e,n,t){if(n.pos==t.pos&&yx.valid(t))return new yx(t)},handleClick:wx,handleKeyDown:Ex}})]:[],new py({key:new hy("editable"),props:{editable:()=>this.options.editable}}),new py({props:{attributes:{tabindex:0},handleDOMEvents:{focus:(e,n)=>{this.focused=!0,this.emit("focus",{event:n,state:e.state,view:e});const t=this.state.tr.setMeta("focused",!0);this.view.dispatch(t)},blur:(e,n)=>{this.focused=!1,this.emit("blur",{event:n,state:e.state,view:e});const t=this.state.tr.setMeta("focused",!1);this.view.dispatch(t)}}}}),new py({props:this.options.editorProps})]});var e,n,t,r}createDocument(e,n=this.options.parseOptions){if(null===e)return this.schema.nodeFromJSON(this.options.emptyDocument);if("object"==typeof e)try{return this.schema.nodeFromJSON(e)}catch(n){return console.warn("[tiptap warn]: Invalid content.","Passed value:",e,"Error:",n),this.schema.nodeFromJSON(this.options.emptyDocument)}if("string"==typeof e){const t="<div>".concat(e,"</div>"),r=(new window.DOMParser).parseFromString(t,"text/html").body.firstElementChild;return Gv.fromSchema(this.schema).parse(r,n)}return!1}createView(){return new QE(this.element,{state:this.createState(),handlePaste:(...e)=>{this.emit("paste",...e)},handleDrop:(...e)=>{this.emit("drop",...e)},dispatchTransaction:this.dispatchTransaction.bind(this)})}setParentComponent(e=null){e&&this.view.setProps({nodeViews:this.initNodeViews({parent:e,extensions:[...this.builtInExtensions,...this.options.extensions]})})}initNodeViews({parent:e,extensions:n}){return n.filter((e=>["node","mark"].includes(e.type))).filter((e=>e.view)).reduce(((n,t)=>({...n,[t.name]:(n,r,i,o)=>{const a=t.view;return new hk(a,{editor:this,extension:t,parent:e,node:n,view:r,getPos:i,decorations:o})}})),{})}dispatchTransaction(e){const n=this.state.apply(e);this.view.updateState(n),this.selection={from:this.state.selection.from,to:this.state.selection.to},this.setActiveNodesAndMarks(),this.emit("transaction",{getHTML:this.getHTML.bind(this),getJSON:this.getJSON.bind(this),state:this.state,transaction:e}),e.docChanged&&!e.getMeta("preventUpdate")&&this.emitUpdate(e)}emitUpdate(e){this.emit("update",{getHTML:this.getHTML.bind(this),getJSON:this.getJSON.bind(this),state:this.state,transaction:e})}resolveSelection(e=null){if(this.selection&&null===e)return this.selection;if("start"===e||!0===e)return{from:0,to:0};if("end"===e){const{doc:e}=this.state;return{from:e.content.size,to:e.content.size}}return{from:e,to:e}}focus(e=null){if(this.view.focused&&null===e||!1===e)return;const{from:n,to:t}=this.resolveSelection(e);this.setSelection(n,t),setTimeout((()=>this.view.focus()),10)}setSelection(e=0,n=0){const{doc:t,tr:r}=this.state,i=bk(e,0,t.content.size),o=bk(n,0,t.content.size),a=Kb.create(t,i,o),s=r.setSelection(a);this.view.dispatch(s)}blur(){this.view.dom.blur()}getSchemaJSON(){return JSON.parse(JSON.stringify({nodes:this.extensions.nodes,marks:this.extensions.marks}))}getHTML(){const e=document.createElement("div"),n=lb.fromSchema(this.schema).serializeFragment(this.state.doc.content);return e.appendChild(n),e.innerHTML}getJSON(){return this.state.doc.toJSON()}setContent(e={},n=!1,t){const{doc:r,tr:i}=this.state,o=this.createDocument(e,t),a=Kb.create(r,0,r.content.size),s=i.setSelection(a).replaceSelectionWith(o,!1).setMeta("preventUpdate",!n);this.view.dispatch(s)}clearContent(e=!1){this.setContent(this.options.emptyDocument,e)}setActiveNodesAndMarks(){this.activeMarks=Object.entries(this.schema.marks).reduce(((e,[n,t])=>({...e,[n]:(e={})=>function(e,n){const{from:t,$from:r,to:i,empty:o}=e.selection;return o?!!n.isInSet(e.storedMarks||r.marks()):!!e.doc.rangeHasMark(t,i,n)}(this.state,t)})),{}),this.activeMarkAttrs=Object.entries(this.schema.marks).reduce(((e,[n,t])=>({...e,[n]:ck(this.state,t)})),{}),this.activeNodes=Object.entries(this.schema.nodes).reduce(((e,[n,t])=>({...e,[n]:(e={})=>function(e,n,t={}){const r=lk.findSelectedNodeOfType(n)(e.selection)||lk.findParentNode((e=>e.type===n))(e.selection);return Object.keys(t).length&&r?r.node.hasMarkup(n,{...r.node.attrs,...t}):!!r}(this.state,t,e)})),{})}getMarkAttrs(e=null){return this.activeMarkAttrs[e]}getNodeAttrs(e=null){return{...dk(this.state,this.schema.nodes[e])}}get isActive(){return Object.entries({...this.activeMarks,...this.activeNodes}).reduce(((e,[n,t])=>({...e,[n]:(e={})=>t(e)})),{})}registerPlugin(e=null,n){const t="function"==typeof n?n(e,this.state.plugins):[e,...this.state.plugins],r=this.state.reconfigure({plugins:t});this.view.updateState(r)}unregisterPlugin(e=null){if(!e||!this.view.docView)return;const n=this.state.reconfigure({plugins:this.state.plugins.filter((n=>!n.key.startsWith("".concat(e,"$"))))});this.view.updateState(n)}destroy(){this.view&&this.view.destroy()}}var kk={props:{editor:{default:null,type:Object}},watch:{editor:{immediate:!0,handler(e){e&&e.element&&this.$nextTick((()=>{this.$el.appendChild(e.element.firstChild),e.setParentComponent(this)}))}}},render:e=>e("div"),beforeDestroy(){this.editor.element=this.$el}};class _k{constructor({options:e}){this.options=e,this.preventHide=!1,this.mousedownHandler=this.handleClick.bind(this),this.options.element.addEventListener("mousedown",this.mousedownHandler,{capture:!0}),this.blurHandler=()=>{this.preventHide?this.preventHide=!1:this.options.editor.emit("menubar:focusUpdate",!1)},this.options.editor.on("blur",this.blurHandler)}handleClick(){this.preventHide=!0}destroy(){this.options.element.removeEventListener("mousedown",this.mousedownHandler),this.options.editor.off("blur",this.blurHandler)}}var Sk={props:{editor:{default:null,type:Object}},data:()=>({focused:!1}),watch:{editor:{immediate:!0,handler(e){e&&this.$nextTick((()=>{var n;e.registerPlugin((n={editor:e,element:this.$el},new py({key:new hy("menu_bar"),view:e=>new _k({editorView:e,options:n})}))),this.focused=e.focused,e.on("focus",(()=>{this.focused=!0})),e.on("menubar:focusUpdate",(e=>{this.focused=e}))}))}}},render(){return this.editor?this.$scopedSlots.default({focused:this.focused,focus:this.editor.focus,commands:this.editor.commands,isActive:this.editor.isActive,getMarkAttrs:this.editor.getMarkAttrs.bind(this.editor),getNodeAttrs:this.editor.getNodeAttrs.bind(this.editor)}):null}};function Dk(e,n,t){const r=document.createRange();return r.setEnd(e,null==t?e.nodeValue.length:t),r.setStart(e,n||0),r}function Bk(e,n){const t=e.getClientRects();return t.length?t[n<0?0:t.length-1]:e.getBoundingClientRect()}function zk(e,n,t=!1){const{node:r,offset:i}=e.docView.domFromPos(n);let o,a;if(3===r.nodeType)t&&i<r.nodeValue.length?(a=Bk(Dk(r,i-1,i),-1),o="right"):i<r.nodeValue.length&&(a=Bk(Dk(r,i,i+1),-1),o="left");else if(r.firstChild){if(i<r.childNodes.length){const e=r.childNodes[i];a=Bk(3===e.nodeType?Dk(e):e,-1),o="left"}if((!a||a.top===a.bottom)&&i){const e=r.childNodes[i-1];a=Bk(3===e.nodeType?Dk(e):e,1),o="right"}}else a=r.getBoundingClientRect(),o="left";const s=a[o];return{top:a.top,bottom:a.bottom,left:s,right:s}}class Ok{constructor({options:e,editorView:n}){this.options={element:null,keepInBounds:!0,onUpdate:()=>!1,...e},this.editorView=n,this.isActive=!1,this.left=0,this.bottom=0,this.top=0,this.preventHide=!1,this.mousedownHandler=this.handleClick.bind(this),this.options.element.addEventListener("mousedown",this.mousedownHandler,{capture:!0}),this.focusHandler=({view:e})=>{this.update(e)},this.options.editor.on("focus",this.focusHandler),this.blurHandler=({event:e})=>{this.preventHide?this.preventHide=!1:this.hide(e)},this.options.editor.on("blur",this.blurHandler)}handleClick(){this.preventHide=!0}update(e,n){const{state:t}=e;if(e.composing)return;if(n&&n.doc.eq(t.doc)&&n.selection.eq(t.selection))return;if(t.selection.empty)return void this.hide();const{from:r,to:i}=t.selection,o=zk(e,r),a=zk(e,i,!0),s=this.options.element.offsetParent;if(!s)return void this.hide();const l=s.getBoundingClientRect(),c=this.options.element.getBoundingClientRect(),d=(o.left+a.left)/2-l.left;this.left=Math.round(this.options.keepInBounds?Math.min(l.width-c.width/2,Math.max(d,c.width/2)):d),this.bottom=Math.round(l.bottom-o.top),this.top=Math.round(a.bottom-l.top),this.isActive=!0,this.sendUpdate()}sendUpdate(){this.options.onUpdate({isActive:this.isActive,left:this.left,bottom:this.bottom,top:this.top})}hide(e){e&&e.relatedTarget&&this.options.element.parentNode&&this.options.element.parentNode.contains(e.relatedTarget)||(this.isActive=!1,this.sendUpdate())}destroy(){this.options.element.removeEventListener("mousedown",this.mousedownHandler),this.options.editor.off("focus",this.focusHandler),this.options.editor.off("blur",this.blurHandler)}}var Mk={props:{editor:{default:null,type:Object},keepInBounds:{default:!0,type:Boolean}},data:()=>({menu:{isActive:!1,left:0,bottom:0}}),watch:{editor:{immediate:!0,handler(e){e&&this.$nextTick((()=>{var n;e.registerPlugin((n={editor:e,element:this.$el,keepInBounds:this.keepInBounds,onUpdate:e=>{e.isActive&&!1===this.menu.isActive?this.$emit("show",e):e.isActive||!0!==this.menu.isActive||this.$emit("hide",e),this.menu=e}},new py({key:new hy("menu_bubble"),view:e=>new Ok({editorView:e,options:n})})))}))}}},render(){return this.editor?this.$scopedSlots.default({focused:this.editor.view.focused,focus:this.editor.focus,commands:this.editor.commands,isActive:this.editor.isActive,getMarkAttrs:this.editor.getMarkAttrs.bind(this.editor),getNodeAttrs:this.editor.getNodeAttrs.bind(this.editor),menu:this.menu}):null},beforeDestroy(){this.editor.unregisterPlugin("menu_bubble")}};class Tk extends yk{get name(){return"br"}get schema(){return{inline:!0,group:"inline",selectable:!1,parseDOM:[{tag:"br"}],toDOM:()=>["br"]}}keys({type:e}){return{Enter:Ix(Ox,((n,t)=>(t(n.tr.replaceSelectionWith(e.create()).scrollIntoView()),!0)))}}}function Ik(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach((function(n){var t=e[n];"object"!=typeof t||Object.isFrozen(t)||Ik(t)})),e}var $k=Ik,Nk=Ik;$k.default=Nk;class Rk{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data}ignoreMatch(){this.ignore=!0}}function Fk(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function Lk(e,...n){const t=Object.create(null);for(const n in e)t[n]=e[n];return n.forEach((function(e){for(const n in e)t[n]=e[n]})),t}function Pk(e){return e.nodeName.toLowerCase()}var jk=Object.freeze({__proto__:null,escapeHTML:Fk,inherit:Lk,nodeStream:function(e){const n=[];return function e(t,r){for(let i=t.firstChild;i;i=i.nextSibling)3===i.nodeType?r+=i.nodeValue.length:1===i.nodeType&&(n.push({event:"start",offset:r,node:i}),r=e(i,r),Pk(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:r,node:i}));return r}(e,0),n},mergeStreams:function(e,n,t){let r=0,i="";const o=[];function a(){return e.length&&n.length?e[0].offset!==n[0].offset?e[0].offset<n[0].offset?e:n:"start"===n[0].event?e:n:e.length?e:n}function s(e){i+="<"+Pk(e)+[].map.call(e.attributes,(function(e){return" "+e.nodeName+'="'+Fk(e.value)+'"'})).join("")+">"}function l(e){i+="</"+Pk(e)+">"}function c(e){("start"===e.event?s:l)(e.node)}for(;e.length||n.length;){let n=a();if(i+=Fk(t.substring(r,n[0].offset)),r=n[0].offset,n===e){o.reverse().forEach(l);do{c(n.splice(0,1)[0]),n=a()}while(n===e&&n.length&&n[0].offset===r);o.reverse().forEach(s)}else"start"===n[0].event?o.push(n[0].node):o.pop(),c(n.splice(0,1)[0])}return i+Fk(t.substr(r))}});const Yk=e=>!!e.kind;class Uk{constructor(e,n){this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){this.buffer+=Fk(e)}openNode(e){if(!Yk(e))return;let n=e.kind;e.sublanguage||(n=`${this.classPrefix}${n}`),this.span(n)}closeNode(e){Yk(e)&&(this.buffer+="</span>")}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}}class qk{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const n={kind:e,children:[]};this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,n){return"string"==typeof n?e.addText(n):n.children&&(e.openNode(n),n.children.forEach((n=>this._walk(e,n))),e.closeNode(n)),e}static _collapse(e){"string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{qk._collapse(e)})))}}class Hk extends qk{constructor(e){super(),this.options=e}addKeyword(e,n){""!==e&&(this.openNode(n),this.addText(e),this.closeNode())}addText(e){""!==e&&this.add(e)}addSublanguage(e,n){const t=e.root;t.kind=n,t.sublanguage=!0,this.add(t)}toHTML(){return new Uk(this,this.options).value()}finalize(){return!0}}function Wk(e){return e?"string"==typeof e?e:e.source:null}const Vk="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Jk={begin:"\\\\[\\s\\S]",relevance:0},Kk={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[Jk]},Gk={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[Jk]},Xk={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},Qk=function(e,n,t={}){const r=Lk({className:"comment",begin:e,end:n,contains:[]},t);return r.contains.push(Xk),r.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),r},Zk=Qk("//","$"),e_=Qk("/\\*","\\*/"),n_=Qk("#","$"),t_={className:"number",begin:"\\b\\d+(\\.\\d+)?",relevance:0},r_={className:"number",begin:Vk,relevance:0},i_={className:"number",begin:"\\b(0b[01]+)",relevance:0},o_={className:"number",begin:"\\b\\d+(\\.\\d+)?(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},a_={begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[Jk,{begin:/\[/,end:/\]/,relevance:0,contains:[Jk]}]}]},s_={className:"title",begin:"[a-zA-Z]\\w*",relevance:0},l_={className:"title",begin:"[a-zA-Z_]\\w*",relevance:0},c_={begin:"\\.\\s*[a-zA-Z_]\\w*",relevance:0};var d_=Object.freeze({__proto__:null,IDENT_RE:"[a-zA-Z]\\w*",UNDERSCORE_IDENT_RE:"[a-zA-Z_]\\w*",NUMBER_RE:"\\b\\d+(\\.\\d+)?",C_NUMBER_RE:Vk,BINARY_NUMBER_RE:"\\b(0b[01]+)",RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(e={})=>{const n=/^#![ ]*\//;return e.binary&&(e.begin=function(...e){return e.map((e=>Wk(e))).join("")}(n,/.*\b/,e.binary,/\b.*/)),Lk({className:"meta",begin:n,end:/$/,relevance:0,"on:begin":(e,n)=>{0!==e.index&&n.ignoreMatch()}},e)},BACKSLASH_ESCAPE:Jk,APOS_STRING_MODE:Kk,QUOTE_STRING_MODE:Gk,PHRASAL_WORDS_MODE:Xk,COMMENT:Qk,C_LINE_COMMENT_MODE:Zk,C_BLOCK_COMMENT_MODE:e_,HASH_COMMENT_MODE:n_,NUMBER_MODE:t_,C_NUMBER_MODE:r_,BINARY_NUMBER_MODE:i_,CSS_NUMBER_MODE:o_,REGEXP_MODE:a_,TITLE_MODE:s_,UNDERSCORE_TITLE_MODE:l_,METHOD_GUARD:c_,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,n)=>{n.data._beginMatch=e[1]},"on:end":(e,n)=>{n.data._beginMatch!==e[1]&&n.ignoreMatch()}})}});const u_=["of","and","for","in","not","or","if","then","parent","list","value"];function p_(e){function n(n,t){return new RegExp(Wk(n),"m"+(e.case_insensitive?"i":"")+(t?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,n){n.position=this.position++,this.matchIndexes[this.matchAt]=n,this.regexes.push([n,e]),this.matchAt+=function(e){return new RegExp(e.toString()+"|").exec("").length-1}(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const e=this.regexes.map((e=>e[1]));this.matcherRe=n(function(e,n="|"){const t=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;let r=0,i="";for(let o=0;o<e.length;o++){r+=1;const a=r;let s=Wk(e[o]);for(o>0&&(i+=n),i+="(";s.length>0;){const e=t.exec(s);if(null==e){i+=s;break}i+=s.substring(0,e.index),s=s.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?i+="\\"+String(Number(e[1])+a):(i+=e[0],"("===e[0]&&r++)}i+=")"}return i}(e),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;const n=this.matcherRe.exec(e);if(!n)return null;const t=n.findIndex(((e,n)=>n>0&&void 0!==e)),r=this.matchIndexes[t];return n.splice(0,t),Object.assign(n,r)}}class r{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];const n=new t;return this.rules.slice(e).forEach((([e,t])=>n.addRule(e,t))),n.compile(),this.multiRegexes[e]=n,n}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,n){this.rules.push([e,n]),"begin"===n.type&&this.count++}exec(e){const n=this.getMatcher(this.regexIndex);n.lastIndex=this.lastIndex;let t=n.exec(e);if(this.resumingScanAtSamePosition())if(t&&t.index===this.lastIndex);else{const n=this.getMatcher(0);n.lastIndex=this.lastIndex+1,t=n.exec(e)}return t&&(this.regexIndex+=t.position+1,this.regexIndex===this.count&&this.considerAll()),t}}function i(e,n){"."===e.input[e.index-1]&&n.ignoreMatch()}if(e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=Lk(e.classNameAliases||{}),function t(o,a){const s=o;if(o.compiled)return s;o.compiled=!0,o.__beforeBegin=null,o.keywords=o.keywords||o.beginKeywords;let l=null;if("object"==typeof o.keywords&&(l=o.keywords.$pattern,delete o.keywords.$pattern),o.keywords&&(o.keywords=function(e,n){const t={};"string"==typeof e?r("keyword",e):Object.keys(e).forEach((function(n){r(n,e[n])}));return t;function r(e,r){n&&(r=r.toLowerCase()),r.split(" ").forEach((function(n){const r=n.split("|");t[r[0]]=[e,A_(r[0],r[1])]}))}}(o.keywords,e.case_insensitive)),o.lexemes&&l)throw new Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");return s.keywordPatternRe=n(o.lexemes||l||/\w+/,!0),a&&(o.beginKeywords&&(o.begin="\\b("+o.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",o.__beforeBegin=i),o.begin||(o.begin=/\B|\b/),s.beginRe=n(o.begin),o.endSameAsBegin&&(o.end=o.begin),o.end||o.endsWithParent||(o.end=/\B|\b/),o.end&&(s.endRe=n(o.end)),s.terminator_end=Wk(o.end)||"",o.endsWithParent&&a.terminator_end&&(s.terminator_end+=(o.end?"|":"")+a.terminator_end)),o.illegal&&(s.illegalRe=n(o.illegal)),void 0===o.relevance&&(o.relevance=1),o.contains||(o.contains=[]),o.contains=[].concat(...o.contains.map((function(e){return function(e){e.variants&&!e.cached_variants&&(e.cached_variants=e.variants.map((function(n){return Lk(e,{variants:null},n)})));if(e.cached_variants)return e.cached_variants;if(f_(e))return Lk(e,{starts:e.starts?Lk(e.starts):null});if(Object.isFrozen(e))return Lk(e);return e}("self"===e?o:e)}))),o.contains.forEach((function(e){t(e,s)})),o.starts&&t(o.starts,a),s.matcher=function(e){const n=new r;return e.contains.forEach((e=>n.addRule(e.begin,{rule:e,type:"begin"}))),e.terminator_end&&n.addRule(e.terminator_end,{type:"end"}),e.illegal&&n.addRule(e.illegal,{type:"illegal"}),n}(s),s}(e)}function f_(e){return!!e&&(e.endsWithParent||f_(e.starts))}function A_(e,n){return n?Number(n):function(e){return u_.includes(e.toLowerCase())}(e)?0:1}function h_(e){const n={props:["language","code","autodetect"],data:function(){return{detectedLanguage:"",unknownLanguage:!1}},computed:{className(){return this.unknownLanguage?"":"hljs "+this.detectedLanguage},highlighted(){if(!this.autoDetect&&!e.getLanguage(this.language))return console.warn(`The language "${this.language}" you specified could not be found.`),this.unknownLanguage=!0,Fk(this.code);let n;return this.autoDetect?(n=e.highlightAuto(this.code),this.detectedLanguage=n.language):(n=e.highlight(this.language,this.code,this.ignoreIllegals),this.detectedLanguage=this.language),n.value},autoDetect(){return!this.language||(e=this.autodetect,Boolean(e||""===e));var e},ignoreIllegals:()=>!0},render(e){return e("pre",{},[e("code",{class:this.className,domProps:{innerHTML:this.highlighted}})])}};return{Component:n,VuePlugin:{install(e){e.component("highlightjs",n)}}}}const m_=Fk,g_=Lk,{nodeStream:v_,mergeStreams:b_}=jk,y_=Symbol("nomatch");!function(e){const n=[],t=Object.create(null),r=Object.create(null),i=[];let o=!0;const a=/(^(<[^>]+>|\t|)+|\n)/gm,s="Could not find the language '{}', did you forget to load/include a language module?",l={disableAutodetect:!0,name:"Plain text",contains:[]};let c={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:null,__emitter:Hk};function d(e){return c.noHighlightRe.test(e)}function u(e,n,t,r){const i={code:n,language:e};y("before:highlight",i);const o=i.result?i.result:p(i.language,i.code,t,r);return o.code=i.code,y("after:highlight",o),o}function p(e,n,r,i){const a=n;function l(e,n){const t=C.case_insensitive?n[0].toLowerCase():n[0];return Object.prototype.hasOwnProperty.call(e.keywords,t)&&e.keywords[t]}function d(){null!=w.subLanguage?function(){if(""===S)return;let e=null;if("string"==typeof w.subLanguage){if(!t[w.subLanguage])return void _.addText(S);e=p(w.subLanguage,S,!0,k[w.subLanguage]),k[w.subLanguage]=e.top}else e=f(S,w.subLanguage.length?w.subLanguage:null);w.relevance>0&&(D+=e.relevance),_.addSublanguage(e.emitter,e.language)}():function(){if(!w.keywords)return void _.addText(S);let e=0;w.keywordPatternRe.lastIndex=0;let n=w.keywordPatternRe.exec(S),t="";for(;n;){t+=S.substring(e,n.index);const r=l(w,n);if(r){const[e,i]=r;_.addText(t),t="",D+=i;const o=C.classNameAliases[e]||e;_.addKeyword(n[0],o)}else t+=n[0];e=w.keywordPatternRe.lastIndex,n=w.keywordPatternRe.exec(S)}t+=S.substr(e),_.addText(t)}(),S=""}function u(e){return e.className&&_.openNode(C.classNameAliases[e.className]||e.className),w=Object.create(e,{parent:{value:w}}),w}function A(e,n,t){let r=function(e,n){const t=e&&e.exec(n);return t&&0===t.index}(e.endRe,t);if(r){if(e["on:end"]){const t=new Rk(e);e["on:end"](n,t),t.ignore&&(r=!1)}if(r){for(;e.endsParent&&e.parent;)e=e.parent;return e}}if(e.endsWithParent)return A(e.parent,n,t)}function h(e){return 0===w.matcher.regexIndex?(S+=e[0],1):(O=!0,0)}function m(e){const n=e[0],t=e.rule,r=new Rk(t),i=[t.__beforeBegin,t["on:begin"]];for(const t of i)if(t&&(t(e,r),r.ignore))return h(n);return t&&t.endSameAsBegin&&(t.endRe=new RegExp(n.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")),t.skip?S+=n:(t.excludeBegin&&(S+=n),d(),t.returnBegin||t.excludeBegin||(S=n)),u(t),t.returnBegin?0:n.length}function v(e){const n=e[0],t=a.substr(e.index),r=A(w,e,t);if(!r)return y_;const i=w;i.skip?S+=n:(i.returnEnd||i.excludeEnd||(S+=n),d(),i.excludeEnd&&(S=n));do{w.className&&_.closeNode(),w.skip||w.subLanguage||(D+=w.relevance),w=w.parent}while(w!==r.parent);return r.starts&&(r.endSameAsBegin&&(r.starts.endRe=r.endRe),u(r.starts)),i.returnEnd?0:n.length}let b={};function y(n,t){const i=t&&t[0];if(S+=n,null==i)return d(),0;if("begin"===b.type&&"end"===t.type&&b.index===t.index&&""===i){if(S+=a.slice(t.index,t.index+1),!o){const n=new Error("0 width match regex");throw n.languageName=e,n.badRule=b.rule,n}return 1}if(b=t,"begin"===t.type)return m(t);if("illegal"===t.type&&!r){const e=new Error('Illegal lexeme "'+i+'" for mode "'+(w.className||"<unnamed>")+'"');throw e.mode=w,e}if("end"===t.type){const e=v(t);if(e!==y_)return e}if("illegal"===t.type&&""===i)return 1;if(z>1e5&&z>3*t.index){throw new Error("potential infinite loop, way more iterations than matches")}return S+=i,i.length}const C=g(e);if(!C)throw console.error(s.replace("{}",e)),new Error('Unknown language: "'+e+'"');const E=p_(C);let x="",w=i||E;const k={},_=new c.__emitter(c);!function(){const e=[];for(let n=w;n!==C;n=n.parent)n.className&&e.unshift(n.className);e.forEach((e=>_.openNode(e)))}();let S="",D=0,B=0,z=0,O=!1;try{for(w.matcher.considerAll();;){z++,O?O=!1:w.matcher.considerAll(),w.matcher.lastIndex=B;const e=w.matcher.exec(a);if(!e)break;const n=y(a.substring(B,e.index),e);B=e.index+n}return y(a.substr(B)),_.closeAllNodes(),_.finalize(),x=_.toHTML(),{relevance:D,value:x,language:e,illegal:!1,emitter:_,top:w}}catch(n){if(n.message&&n.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:n.message,context:a.slice(B-100,B+100),mode:n.mode},sofar:x,relevance:0,value:m_(a),emitter:_};if(o)return{illegal:!1,relevance:0,value:m_(a),emitter:_,language:e,top:w,errorRaised:n};throw n}}function f(e,n){n=n||c.languages||Object.keys(t);const r=function(e){const n={relevance:0,emitter:new c.__emitter(c),value:m_(e),illegal:!1,top:l};return n.emitter.addText(e),n}(e),i=n.filter(g).filter(b).map((n=>p(n,e,!1)));i.unshift(r);const o=i.sort(((e,n)=>{if(e.relevance!==n.relevance)return n.relevance-e.relevance;if(e.language&&n.language){if(g(e.language).supersetOf===n.language)return 1;if(g(n.language).supersetOf===e.language)return-1}return 0})),[a,s]=o,d=a;return d.second_best=s,d}function A(e){return c.tabReplace||c.useBR?e.replace(a,(e=>"\n"===e?c.useBR?"<br>":e:c.tabReplace?e.replace(/\t/g,c.tabReplace):e)):e}function h(e){let n=null;const t=function(e){let n=e.className+" ";n+=e.parentNode?e.parentNode.className:"";const t=c.languageDetectRe.exec(n);if(t){const n=g(t[1]);return n||(console.warn(s.replace("{}",t[1])),console.warn("Falling back to no-highlight mode for this block.",e)),n?t[1]:"no-highlight"}return n.split(/\s+/).find((e=>d(e)||g(e)))}(e);if(d(t))return;y("before:highlightBlock",{block:e,language:t}),c.useBR?(n=document.createElement("div"),n.innerHTML=e.innerHTML.replace(/\n/g,"").replace(/<br[ /]*>/g,"\n")):n=e;const i=n.textContent,o=t?u(t,i,!0):f(i),a=v_(n);if(a.length){const e=document.createElement("div");e.innerHTML=o.value,o.value=b_(a,v_(e),i)}o.value=A(o.value),y("after:highlightBlock",{block:e,result:o}),e.innerHTML=o.value,e.className=function(e,n,t){const i=n?r[n]:t,o=[e.trim()];return e.match(/\bhljs\b/)||o.push("hljs"),e.includes(i)||o.push(i),o.join(" ").trim()}(e.className,t,o.language),e.result={language:o.language,re:o.relevance,relavance:o.relevance},o.second_best&&(e.second_best={language:o.second_best.language,re:o.second_best.relevance,relavance:o.second_best.relevance})}const m=()=>{if(m.called)return;m.called=!0;const e=document.querySelectorAll("pre code");n.forEach.call(e,h)};function g(e){return e=(e||"").toLowerCase(),t[e]||t[r[e]]}function v(e,{languageName:n}){"string"==typeof e&&(e=[e]),e.forEach((e=>{r[e]=n}))}function b(e){const n=g(e);return n&&!n.disableAutodetect}function y(e,n){const t=e;i.forEach((function(e){e[t]&&e[t](n)}))}Object.assign(e,{highlight:u,highlightAuto:f,fixMarkup:function(e){return console.warn("fixMarkup is deprecated and will be removed entirely in v11.0"),console.warn("Please see https://github.com/highlightjs/highlight.js/issues/2534"),A(e)},highlightBlock:h,configure:function(e){e.useBR&&(console.warn("'useBR' option is deprecated and will be removed entirely in v11.0"),console.warn("Please see https://github.com/highlightjs/highlight.js/issues/2559")),c=g_(c,e)},initHighlighting:m,initHighlightingOnLoad:function(){window.addEventListener("DOMContentLoaded",m,!1)},registerLanguage:function(n,r){let i=null;try{i=r(e)}catch(e){if(console.error("Language definition for '{}' could not be registered.".replace("{}",n)),!o)throw e;console.error(e),i=l}i.name||(i.name=n),t[n]=i,i.rawDefinition=r.bind(null,e),i.aliases&&v(i.aliases,{languageName:n})},listLanguages:function(){return Object.keys(t)},getLanguage:g,registerAliases:v,requireLanguage:function(e){console.warn("requireLanguage is deprecated and will be removed entirely in the future."),console.warn("Please see https://github.com/highlightjs/highlight.js/pull/2844");const n=g(e);if(n)return n;throw new Error("The '{}' language is required, but not loaded.".replace("{}",e))},autoDetection:b,inherit:g_,addPlugin:function(e){i.push(e)},vuePlugin:h_(e).VuePlugin}),e.debugMode=function(){o=!1},e.safeMode=function(){o=!0},e.versionString="10.4.1";for(const e in d_)"object"==typeof d_[e]&&$k(d_[e]);Object.assign(e,d_)}({});var C_=Rl((function(e){!function(){var n;function t(e){for(var n,t,r,i,o=1,a=[].slice.call(arguments),s=0,l=e.length,c="",d=!1,u=!1,p=function(){return a[o++]},f=function(){for(var t="";/\d/.test(e[s]);)t+=e[s++],n=e[s];return t.length>0?parseInt(t):null};s<l;++s)if(n=e[s],d)switch(d=!1,"."==n?(u=!1,n=e[++s]):"0"==n&&"."==e[s+1]?(u=!0,n=e[s+=2]):u=!0,i=f(),n){case"b":c+=parseInt(p(),10).toString(2);break;case"c":c+="string"==typeof(t=p())||t instanceof String?t:String.fromCharCode(parseInt(t,10));break;case"d":c+=parseInt(p(),10);break;case"f":r=String(parseFloat(p()).toFixed(i||6)),c+=u?r:r.replace(/^0/,"");break;case"j":c+=JSON.stringify(p());break;case"o":c+="0"+parseInt(p(),10).toString(8);break;case"s":c+=p();break;case"x":c+="0x"+parseInt(p(),10).toString(16);break;case"X":c+="0x"+parseInt(p(),10).toString(16).toUpperCase();break;default:c+=n}else"%"===n?d=!0:c+=n;return c}(n=e.exports=t).format=t,n.vsprintf=function(e,n){return t.apply(null,[e].concat(n))},"undefined"!=typeof console&&"function"==typeof console.log&&(n.printf=function(){console.log(t.apply(null,arguments))})}()})),E_=x_(Error);function x_(e){return n.displayName=e.displayName||e.name,n;function n(n){return n&&(n=C_.apply(null,arguments)),new e(n)}}function w_(e){this.options=e,this.rootNode={children:[]},this.stack=[this.rootNode]}function k_(){}E_.eval=x_(EvalError),E_.range=x_(RangeError),E_.reference=x_(ReferenceError),E_.syntax=x_(SyntaxError),E_.type=x_(TypeError),E_.uri=x_(URIError),E_.create=x_,w_.prototype.addText=function(e){var n,t,r=this.stack;if(""===e)return;n=r[r.length-1],(t=n.children[n.children.length-1])&&"text"===t.type?t.value+=e:n.children.push({type:"text",value:e})},w_.prototype.addKeyword=function(e,n){this.openNode(n),this.addText(e),this.closeNode()},w_.prototype.addSublanguage=function(e,n){var t=this.stack,r=t[t.length-1],i=e.rootNode.children,o=n?{type:"element",tagName:"span",properties:{className:[n]},children:i}:i;r.children=r.children.concat(o)},w_.prototype.openNode=function(e){var n=this.stack,t=this.options.classPrefix+e,r=n[n.length-1],i={type:"element",tagName:"span",properties:{className:[t]},children:[]};r.children.push(i),n.push(i)},w_.prototype.closeNode=function(){this.stack.pop()},w_.prototype.closeAllNodes=k_,w_.prototype.finalize=k_,w_.prototype.toHTML=function(){return""};new hy("collab");var __=function(){};__.prototype.append=function(e){return e.length?(e=__.from(e),!this.length&&e||e.length<200&&this.leafAppend(e)||this.length<200&&e.leafPrepend(this)||this.appendInner(e)):this},__.prototype.prepend=function(e){return e.length?__.from(e).append(this):this},__.prototype.appendInner=function(e){return new D_(this,e)},__.prototype.slice=function(e,n){return void 0===e&&(e=0),void 0===n&&(n=this.length),e>=n?__.empty:this.sliceInner(Math.max(0,e),Math.min(this.length,n))},__.prototype.get=function(e){if(!(e<0||e>=this.length))return this.getInner(e)},__.prototype.forEach=function(e,n,t){void 0===n&&(n=0),void 0===t&&(t=this.length),n<=t?this.forEachInner(e,n,t,0):this.forEachInvertedInner(e,n,t,0)},__.prototype.map=function(e,n,t){void 0===n&&(n=0),void 0===t&&(t=this.length);var r=[];return this.forEach((function(n,t){return r.push(e(n,t))}),n,t),r},__.from=function(e){return e instanceof __?e:e&&e.length?new S_(e):__.empty};var S_=function(e){function n(n){e.call(this),this.values=n}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var t={length:{configurable:!0},depth:{configurable:!0}};return n.prototype.flatten=function(){return this.values},n.prototype.sliceInner=function(e,t){return 0==e&&t==this.length?this:new n(this.values.slice(e,t))},n.prototype.getInner=function(e){return this.values[e]},n.prototype.forEachInner=function(e,n,t,r){for(var i=n;i<t;i++)if(!1===e(this.values[i],r+i))return!1},n.prototype.forEachInvertedInner=function(e,n,t,r){for(var i=n-1;i>=t;i--)if(!1===e(this.values[i],r+i))return!1},n.prototype.leafAppend=function(e){if(this.length+e.length<=200)return new n(this.values.concat(e.flatten()))},n.prototype.leafPrepend=function(e){if(this.length+e.length<=200)return new n(e.flatten().concat(this.values))},t.length.get=function(){return this.values.length},t.depth.get=function(){return 0},Object.defineProperties(n.prototype,t),n}(__);__.empty=new S_([]);var D_=function(e){function n(n,t){e.call(this),this.left=n,this.right=t,this.length=n.length+t.length,this.depth=Math.max(n.depth,t.depth)+1}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.flatten=function(){return this.left.flatten().concat(this.right.flatten())},n.prototype.getInner=function(e){return e<this.left.length?this.left.get(e):this.right.get(e-this.left.length)},n.prototype.forEachInner=function(e,n,t,r){var i=this.left.length;return!(n<i&&!1===this.left.forEachInner(e,n,Math.min(t,i),r))&&(!(t>i&&!1===this.right.forEachInner(e,Math.max(n-i,0),Math.min(this.length,t)-i,r+i))&&void 0)},n.prototype.forEachInvertedInner=function(e,n,t,r){var i=this.left.length;return!(n>i&&!1===this.right.forEachInvertedInner(e,n-i,Math.max(t,i)-i,r+i))&&(!(t<i&&!1===this.left.forEachInvertedInner(e,Math.min(n,i),t,r))&&void 0)},n.prototype.sliceInner=function(e,n){if(0==e&&n==this.length)return this;var t=this.left.length;return n<=t?this.left.slice(e,n):e>=t?this.right.slice(e-t,n-t):this.left.slice(e,t).append(this.right.slice(0,n-t))},n.prototype.leafAppend=function(e){var t=this.right.leafAppend(e);if(t)return new n(this.left,t)},n.prototype.leafPrepend=function(e){var t=this.left.leafPrepend(e);if(t)return new n(t,this.right)},n.prototype.appendInner=function(e){return this.left.depth>=Math.max(this.right.depth,e.depth)+1?new n(this.left,new n(this.right,e)):new n(this,e)},n}(__),B_=__,z_=function(e,n){this.items=e,this.eventCount=n};z_.prototype.popEvent=function(e,n){var t=this;if(0==this.eventCount)return null;for(var r,i,o=this.items.length;;o--){if(this.items.get(o-1).selection){--o;break}}n&&(r=this.remapping(o,this.items.length),i=r.maps.length);var a,s,l=e.tr,c=[],d=[];return this.items.forEach((function(e,n){if(!e.step)return r||(r=t.remapping(o,n+1),i=r.maps.length),i--,void d.push(e);if(r){d.push(new O_(e.map));var u,p=e.step.map(r.slice(i));p&&l.maybeStep(p).doc&&(u=l.mapping.maps[l.mapping.maps.length-1],c.push(new O_(u,null,null,c.length+d.length))),i--,u&&r.appendMap(u,i)}else l.maybeStep(e.step);return e.selection?(a=r?e.selection.map(r.slice(i)):e.selection,s=new z_(t.items.slice(0,o).append(d.reverse().concat(c)),t.eventCount-1),!1):void 0}),this.items.length,0),{remaining:s,transform:l,selection:a}},z_.prototype.addTransform=function(e,n,t,r){for(var i=[],o=this.eventCount,a=this.items,s=!r&&a.length?a.get(a.length-1):null,l=0;l<e.steps.length;l++){var c,d=e.steps[l].invert(e.docs[l]),u=new O_(e.mapping.maps[l],d,n);(c=s&&s.merge(u))&&(u=c,l?i.pop():a=a.slice(0,a.length-1)),i.push(u),n&&(o++,n=null),r||(s=u)}var p,f,A,h=o-t.depth;return h>T_&&(f=h,(p=a).forEach((function(e,n){if(e.selection&&0==f--)return A=n,!1})),a=p.slice(A),o-=h),new z_(a.append(i),o)},z_.prototype.remapping=function(e,n){var t=new mb;return this.items.forEach((function(n,r){var i=null!=n.mirrorOffset&&r-n.mirrorOffset>=e?t.maps.length-n.mirrorOffset:null;t.appendMap(n.map,i)}),e,n),t},z_.prototype.addMaps=function(e){return 0==this.eventCount?this:new z_(this.items.append(e.map((function(e){return new O_(e)}))),this.eventCount)},z_.prototype.rebased=function(e,n){if(!this.eventCount)return this;var t=[],r=Math.max(0,this.items.length-n),i=e.mapping,o=e.steps.length,a=this.eventCount;this.items.forEach((function(e){e.selection&&a--}),r);var s=n;this.items.forEach((function(n){var r=i.getMirror(--s);if(null!=r){o=Math.min(o,r);var l=i.maps[r];if(n.step){var c=e.steps[r].invert(e.docs[r]),d=n.selection&&n.selection.map(i.slice(s+1,r));d&&a++,t.push(new O_(l,c,d))}else t.push(new O_(l))}}),r);for(var l=[],c=n;c<o;c++)l.push(new O_(i.maps[c]));var d=this.items.slice(0,r).append(l).append(t),u=new z_(d,a);return u.emptyItemCount()>500&&(u=u.compress(this.items.length-t.length)),u},z_.prototype.emptyItemCount=function(){var e=0;return this.items.forEach((function(n){n.step||e++})),e},z_.prototype.compress=function(e){void 0===e&&(e=this.items.length);var n=this.remapping(0,e),t=n.maps.length,r=[],i=0;return this.items.forEach((function(o,a){if(a>=e)r.push(o),o.selection&&i++;else if(o.step){var s=o.step.map(n.slice(t)),l=s&&s.getMap();if(t--,l&&n.appendMap(l,t),s){var c=o.selection&&o.selection.map(n.slice(t));c&&i++;var d,u=new O_(l.invert(),s,c),p=r.length-1;(d=r.length&&r[p].merge(u))?r[p]=d:r.push(u)}}else o.map&&t--}),this.items.length,0),new z_(B_.from(r.reverse()),i)},z_.empty=new z_(B_.empty,0);var O_=function(e,n,t,r){this.map=e,this.step=n,this.selection=t,this.mirrorOffset=r};O_.prototype.merge=function(e){if(this.step&&e.step&&!e.selection){var n=e.step.merge(this.step);if(n)return new O_(n.getMap().invert(),n,this.selection)}};var M_=function(e,n,t,r){this.done=e,this.undone=n,this.prevRanges=t,this.prevTime=r},T_=20;function I_(e){var n=[];return e.forEach((function(e,t,r,i){return n.push(r,i)})),n}function $_(e,n){if(!e)return null;for(var t=[],r=0;r<e.length;r+=2){var i=n.map(e[r],1),o=n.map(e[r+1],-1);i<=o&&t.push(i,o)}return t}function N_(e,n,t,r){var i=L_(n),o=P_.get(n).spec.config,a=(r?e.undone:e.done).popEvent(n,i);if(a){var s=a.selection.resolve(a.transform.doc),l=(r?e.done:e.undone).addTransform(a.transform,n.selection.getBookmark(),o,i),c=new M_(r?l:a.remaining,r?a.remaining:l,null,0);t(a.transform.setSelection(s).setMeta(P_,{redo:r,historyState:c}).scrollIntoView())}}var R_=!1,F_=null;function L_(e){var n=e.plugins;if(F_!=n){R_=!1,F_=n;for(var t=0;t<n.length;t++)if(n[t].spec.historyPreserveItems){R_=!0;break}}return R_}var P_=new hy("history"),j_=new hy("closeHistory");function Y_(e){return e={depth:e&&e.depth||100,newGroupDelay:e&&e.newGroupDelay||500},new py({key:P_,state:{init:function(){return new M_(z_.empty,z_.empty,null,0)},apply:function(n,t,r){return function(e,n,t,r){var i,o=t.getMeta(P_);if(o)return o.historyState;t.getMeta(j_)&&(e=new M_(e.done,e.undone,null,0));var a=t.getMeta("appendedTransaction");if(0==t.steps.length)return e;if(a&&a.getMeta(P_))return a.getMeta(P_).redo?new M_(e.done.addTransform(t,null,r,L_(n)),e.undone,I_(t.mapping.maps[t.steps.length-1]),e.prevTime):new M_(e.done,e.undone.addTransform(t,null,r,L_(n)),null,e.prevTime);if(!1===t.getMeta("addToHistory")||a&&!1===a.getMeta("addToHistory"))return(i=t.getMeta("rebased"))?new M_(e.done.rebased(t,i),e.undone.rebased(t,i),$_(e.prevRanges,t.mapping),e.prevTime):new M_(e.done.addMaps(t.mapping.maps),e.undone.addMaps(t.mapping.maps),$_(e.prevRanges,t.mapping),e.prevTime);var s=0==e.prevTime||!a&&(e.prevTime<(t.time||0)-r.newGroupDelay||!function(e,n){if(!n)return!1;if(!e.docChanged)return!0;var t=!1;return e.mapping.maps[0].forEach((function(e,r){for(var i=0;i<n.length;i+=2)e<=n[i+1]&&r>=n[i]&&(t=!0)})),t}(t,e.prevRanges)),l=a?$_(e.prevRanges,t.mapping):I_(t.mapping.maps[t.steps.length-1]);return new M_(e.done.addTransform(t,s?n.selection.getBookmark():null,r,L_(n)),z_.empty,l,t.time)}(t,r,n,e)}},config:e})}function U_(e,n){var t=P_.getState(e);return!(!t||0==t.done.eventCount)&&(n&&N_(t,e,n,!1),!0)}function q_(e,n){var t=P_.getState(e);return!(!t||0==t.undone.eventCount)&&(n&&N_(t,e,n,!0),!0)}function H_(e){var n=P_.getState(e);return n?n.done.eventCount:0}function W_(e){var n=P_.getState(e);return n?n.undone.eventCount:0}ew({tableGroup:"block",cellContent:"block+",cellAttributes:{background:{default:null,getFromDOM:e=>e.style.backgroundColor||null,setDOMAttr(e,n){if(e){const t={style:"".concat(n.style||"","background-color: ").concat(e,";")};Object.assign(n,t)}}}}});class V_ extends vk{get name(){return"bold"}get schema(){return{parseDOM:[{tag:"strong"},{tag:"b",getAttrs:e=>"normal"!==e.style.fontWeight&&null},{style:"font-weight",getAttrs:e=>/^(bold(er)?|[5-9]\d{2,})$/.test(e)&&null}],toDOM:()=>["strong",0]}}keys({type:e}){return{"Mod-b":Tx(e)}}commands({type:e}){return()=>Tx(e)}inputRules({type:e}){return[pk(/(?:\*\*|__)([^*_]+)(?:\*\*|__)$/,e)]}pasteRules({type:e}){return[Ak(/(?:\*\*|__)([^*_]+)(?:\*\*|__)/g,e)]}}class J_ extends vk{get name(){return"code"}get schema(){return{excludes:"_",parseDOM:[{tag:"code"}],toDOM:()=>["code",0]}}keys({type:e}){return{"Mod-`":Tx(e)}}commands({type:e}){return()=>Tx(e)}inputRules({type:e}){return[pk(/(?:`)([^`]+)(?:`)$/,e)]}pasteRules({type:e}){return[Ak(/(?:`)([^`]+)(?:`)/g,e)]}}class K_ extends vk{get name(){return"italic"}get schema(){return{parseDOM:[{tag:"i"},{tag:"em"},{style:"font-style=italic"}],toDOM:()=>["em",0]}}keys({type:e}){return{"Mod-i":Tx(e)}}commands({type:e}){return()=>Tx(e)}inputRules({type:e}){return[pk(/(?:^|[^_])(_([^_]+)_)$/,e),pk(/(?:^|[^*])(\*([^*]+)\*)$/,e)]}pasteRules({type:e}){return[Ak(/_([^_]+)_/g,e),Ak(/\*([^*]+)\*/g,e)]}}class G_ extends vk{get name(){return"link"}get defaultOptions(){return{openOnClick:!0,target:null}}get schema(){return{attrs:{href:{default:null},target:{default:null}},inclusive:!1,parseDOM:[{tag:"a[href]",getAttrs:e=>({href:e.getAttribute("href"),target:e.getAttribute("target")})}],toDOM:e=>["a",{...e.attrs,rel:"noopener noreferrer nofollow",target:this.options.target},0]}}commands({type:e}){return n=>n.href?function(e,n){return(t,r)=>{const{tr:i,selection:o,doc:a}=t,{ranges:s,empty:l}=o;if(l){const{from:t,to:r}=uk(o.$from,e);a.rangeHasMark(t,r,e)&&i.removeMark(t,r,e),i.addMark(t,r,e.create(n))}else s.forEach((t=>{const{$to:r,$from:o}=t;a.rangeHasMark(o.pos,r.pos,e)&&i.removeMark(o.pos,r.pos,e),i.addMark(o.pos,r.pos,e.create(n))}));return r(i)}}(e,n):function(e){return(n,t)=>{const{tr:r,selection:i}=n;let{from:o,to:a}=i;const{$from:s,empty:l}=i;if(l){const n=uk(s,e);o=n.from,a=n.to}return r.removeMark(o,a,e),t(r)}}(e)}pasteRules({type:e}){return[fk(/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z]{2,}\b([-a-zA-Z0-9@:%_+.~#?&//=,]*)/gi,e,(e=>({href:e})))]}get plugins(){return this.options.openOnClick?[new py({props:{handleClick:(e,n,t)=>{const{schema:r}=e.state,i=ck(e.state,r.marks.link);i.href&&t.target instanceof HTMLAnchorElement&&(t.stopPropagation(),window.open(i.href,i.target))}}})]:[]}}class X_ extends vk{get name(){return"strike"}get schema(){return{parseDOM:[{tag:"s"},{tag:"del"},{tag:"strike"},{style:"text-decoration",getAttrs:e=>"line-through"===e}],toDOM:()=>["s",0]}}keys({type:e}){return{"Mod-d":Tx(e)}}commands({type:e}){return()=>Tx(e)}inputRules({type:e}){return[pk(/~([^~]+)~$/,e)]}pasteRules({type:e}){return[Ak(/~([^~]+)~/g,e)]}}class Q_ extends vk{get name(){return"underline"}get schema(){return{parseDOM:[{tag:"u"},{style:"text-decoration",getAttrs:e=>"underline"===e}],toDOM:()=>["u",0]}}keys({type:e}){return{"Mod-u":Tx(e)}}commands({type:e}){return()=>Tx(e)}}class Z_ extends mk{get name(){return"history"}get defaultOptions(){return{depth:"",newGroupDelay:""}}keys(){return{"Mod-z":U_,"Mod-y":q_,"Shift-Mod-z":q_,"Mod-я":U_,"Shift-Mod-я":q_}}get plugins(){return[Y_({depth:this.options.depth,newGroupDelay:this.options.newGroupDelay})]}commands(){return{undo:()=>U_,redo:()=>q_,undoDepth:()=>H_,redoDepth:()=>W_}}}class eS extends mk{get name(){return"placeholder"}get defaultOptions(){return{emptyEditorClass:"is-editor-empty",emptyNodeClass:"is-empty",emptyNodeText:"Write something …",showOnlyWhenEditable:!0,showOnlyCurrent:!0}}get plugins(){return[new py({props:{decorations:({doc:e,plugins:n,selection:t})=>{const r=n.find((e=>e.key.startsWith("editable$"))).props.editable()||!this.options.showOnlyWhenEditable,{anchor:i}=t,o=[],a=0===e.textContent.length;return!!r&&(e.descendants(((e,n)=>{const t=i>=n&&i<=n+e.nodeSize,r=0===e.content.size;if((t||!this.options.showOnlyCurrent)&&r){const t=[this.options.emptyNodeClass];a&&t.push(this.options.emptyEditorClass);const r=RE.node(n,n+e.nodeSize,{class:t.join(" "),"data-empty-text":"function"==typeof this.options.emptyNodeText?this.options.emptyNodeText(e):this.options.emptyNodeText});o.push(r)}return!1})),jE.create(e,o))}}})]}}const nS={name:"uiRte",components:{EditorContent:kk,EditorMenuBubble:Mk,EditorMenuBar:Sk},props:{value:{type:String,default:""},disabled:{type:Boolean,default:!1},placeholder:{type:String,default:null},extensions:{type:Array,default:()=>[]},disabledExtensions:{type:Array,default:()=>[]}},data:()=>({id:"rte-"+jl.guid(),blocked:!1,onDebouncedChange:null,editor:null}),watch:{value(){this.blocked||this.init()},disabled(e){this.editor.setOptions({editable:!e})}},created(){this.onDebouncedChange=zd(this.onChange,350)},mounted(){let e=[...this.extensions,new Tk,new G_,new V_,new J_,new K_,new X_,new Q_,new Z_];this.placeholder&&e.push(new eS({emptyEditorClass:"is-editor-empty",emptyNodeClass:"is-empty",emptyNodeText:this.placeholder,showOnlyWhenEditable:!0,showOnlyCurrent:!0})),this.disabledExtensions.length&&(e=e.filter((e=>this.disabledExtensions.indexOf(e.name)<0))),this.editor=new wk({editable:!this.disabled,extensions:e,onUpdate:e=>this.onDebouncedChange(e.getHTML())}),this.init()},methods:{init(){this.editor.setContent(this.value)},onChange(e){this.blocked=!0,this.$emit("input",e),this.$nextTick((()=>this.blocked=!1))}},beforeDestroy(){this.editor.destroy()}};var tS=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-rte",attrs:{disabled:e.disabled}},[t("div",{ref:"editor",attrs:{id:e.id}},[t("editor-menu-bubble",{attrs:{editor:e.editor,"keep-in-bounds":!0},scopedSlots:e._u([{key:"default",fn:function(n){var r=n.commands,i=n.isActive,o=n.menu;return[t("div",{staticClass:"ui-rte-overlay-controls theme-dark",class:{"is-active":o.isActive},style:"left: "+o.left+"px; bottom: "+o.bottom+"px;"},[t("button",{staticClass:"ui-rte-overlay-control",class:{"is-active":i.bold()},attrs:{type:"button"},on:{click:r.bold}},[t("i",{staticClass:"fth-bold"})]),e._v(" "),t("button",{staticClass:"ui-rte-overlay-control",class:{"is-active":i.italic()},attrs:{type:"button"},on:{click:r.italic}},[t("i",{staticClass:"fth-italic"})]),e._v(" "),t("button",{staticClass:"ui-rte-overlay-control",class:{"is-active":i.underline()},attrs:{type:"button"},on:{click:r.underline}},[t("i",{staticClass:"fth-underline"})]),e._v(" "),t("button",{staticClass:"ui-rte-overlay-control",class:{"is-active":i.link()},attrs:{type:"button"},on:{click:r.link}},[t("i",{staticClass:"fth-link"})]),e._v(" "),t("button",{staticClass:"ui-rte-overlay-control",class:{"is-active":i.code()},attrs:{type:"button"},on:{click:r.code}},[t("i",{staticClass:"fth-code"})])])]}}])}),e._v(" "),t("editor-menu-bar",{attrs:{editor:e.editor},scopedSlots:e._u([{key:"default",fn:function(n){var r=n.commands;n.isActive;return[t("div",{staticClass:"ui-rte-controls"},[t("span",{staticClass:"ui-rte-controls-label"},[e._v("Editor")]),e._v(" "),t("button",{staticClass:"ui-rte-control",attrs:{type:"button",title:"Undo",disabled:r.undoDepth()<1},on:{click:r.undo}},[t("i",{staticClass:"fth-chevron-left"})]),e._v(" "),t("button",{staticClass:"ui-rte-control",attrs:{type:"button",title:"Redo",disabled:r.redoDepth()<1},on:{click:r.redo}},[t("i",{staticClass:"fth-chevron-right"})])])]}}])}),e._v(" "),t("editor-content",{staticClass:"ui-rte-input",attrs:{editor:e.editor}})],1)])};tS._withStripped=!0;const rS=Da({render:tS,staticRenderFns:[]},(function(e){e&&e("data-v-052834fe_0",{source:'.ui-rte-input {\n height: auto;\n min-height: 48px;\n padding-top: 9px;\n}\n.ui-rte-input p {\n margin: 0;\n}\n.ui-rte-input p + p {\n margin-top: 1em;\n}\n.ui-rte-input p.is-editor-empty:first-child:before {\n content: attr(data-empty-text);\n float: left;\n color: var(--color-input-placeholder);\n opacity: 0.7;\n pointer-events: none;\n height: 0;\n}\n.ui-rte-input a {\n color: var(--color-primary);\n text-decoration: underline;\n cursor: pointer;\n}\n.ui-rte-overlay-controls {\n position: absolute;\n display: flex;\n z-index: 20;\n background: var(--color-bg);\n border-radius: var(--radius);\n padding: 5px;\n margin-bottom: 8px;\n transform: translateX(-50%);\n visibility: hidden;\n opacity: 0;\n transition: opacity 0.2s, visibility 0.2s;\n pointer-events: none;\n}\n.ui-rte-overlay-controls:after {\n content: "";\n position: absolute;\n left: 50%;\n top: 100%;\n width: 0;\n height: 0;\n border: 8px solid transparent;\n margin-left: -7px;\n border-top-color: var(--color-bg);\n}\n.ui-rte-overlay-controls.is-active {\n opacity: 1;\n visibility: visible;\n pointer-events: auto;\n}\n.ui-rte-overlay-control {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n border: 0;\n color: var(--color-text);\n height: 32px;\n width: 32px;\n border-radius: var(--radius);\n cursor: pointer;\n}\n.ui-rte-overlay-control + .ui-rte-overlay-control {\n margin-left: 4px;\n}\n.ui-rte-overlay-control:hover {\n background-color: var(--color-bg-shade-1);\n}\n.ui-rte-overlay-control.is-active {\n background-color: var(--color-bg-shade-1);\n color: var(--color-text-dim);\n}\n.ui-rte-controls {\n background: var(--color-input);\n border-radius: var(--radius) var(--radius) 0 0;\n padding: 5px 5px 0;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n}\n.ui-rte-controls + .ui-rte-input {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.ui-rte-controls-label {\n color: var(--color-text-dim);\n margin: 0 14px 0 8px;\n font-size: 10px;\n text-transform: uppercase;\n pointer-events: none;\n user-select: none;\n}\n.ui-rte-control {\n background-color: transparent;\n cursor: pointer;\n height: 30px;\n width: 30px;\n text-align: center;\n border-radius: 5px;\n font-size: 14px;\n vertical-align: bottom;\n}\n.ui-rte-control[disabled] {\n opacity: 0.5;\n}\n.ui-rte-control + .ui-rte-control {\n margin-left: 5px;\n}\n.ui-rte-control:hover, .ui-rte-control.is-active {\n background: var(--color-box);\n color: var(--color-text);\n}\n\n/*# sourceMappingURL=rte.vue.map */',map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\forms\\rte.vue","rte.vue"],names:[],mappings:"AA4JA;EAEA,YAAA;EACA,gBAAA;EACA,gBAAA;AC5JA;AD8JA;EAEA,SAAA;AC7JA;ADgKA;EAEA,eAAA;AC/JA;ADkKA;EAEA,8BAAA;EACA,WAAA;EACA,qCAAA;EACA,YAAA;EACA,oBAAA;EACA,SAAA;ACjKA;ADoKA;EAEA,2BAAA;EACA,0BAAA;EACA,eAAA;ACnKA;ADuKA;EAEA,kBAAA;EACA,aAAA;EACA,WAAA;EACA,2BAAA;EACA,4BAAA;EACA,YAAA;EACA,kBAAA;EACA,2BAAA;EACA,kBAAA;EACA,UAAA;EACA,yCAAA;EACA,oBAAA;ACrKA;ADuKA;EAEA,WAAA;EACA,kBAAA;EACA,SAAA;EACA,SAAA;EACA,QAAA;EACA,SAAA;EACA,6BAAA;EACA,iBAAA;EACA,iCAAA;ACtKA;AD0KA;EAEA,UAAA;EACA,mBAAA;EACA,oBAAA;ACxKA;AD2KA;EAEA,oBAAA;EACA,mBAAA;EACA,uBAAA;EACA,uBAAA;EACA,SAAA;EACA,wBAAA;EACA,YAAA;EACA,WAAA;EACA,4BAAA;EACA,eAAA;ACzKA;AD4KA;EAEA,gBAAA;AC1KA;AD6KA;EAEA,yCAAA;AC3KA;AD8KA;EAEA,yCAAA;EACA,4BAAA;AC5KA;ADgLA;EAEA,8BAAA;EACA,8CAAA;EACA,kBAAA;EACA,aAAA;EACA,mBAAA;EACA,2BAAA;AC9KA;ADiLA;EAEA,yBAAA;EACA,0BAAA;AC/KA;ADkLA;EAEA,4BAAA;EACA,oBAAA;EACA,eAAA;EACA,yBAAA;EACA,oBAAA;EACA,iBAAA;AChLA;ADmLA;EAEA,6BAAA;EACA,eAAA;EACA,YAAA;EACA,WAAA;EACA,kBAAA;EACA,kBAAA;EACA,eAAA;EACA,sBAAA;ACjLA;ADoLA;EAEA,YAAA;AClLA;ADqLA;EAEA,gBAAA;ACnLA;ADsLA;EAEA,4BAAA;EACA,wBAAA;ACpLA;;AAEA,kCAAkC",file:"rte.vue",sourcesContent:['\ufeff<template>\r\n <div class="ui-rte" :disabled="disabled">\r\n <div ref="editor" :id="id">\r\n <editor-menu-bubble :editor="editor" :keep-in-bounds="true" v-slot="{ commands, isActive, menu }">\r\n <div class="ui-rte-overlay-controls theme-dark" :class="{ \'is-active\': menu.isActive }" :style="`left: ${menu.left}px; bottom: ${menu.bottom}px;`">\r\n <button type="button" class="ui-rte-overlay-control" :class="{ \'is-active\': isActive.bold() }" @click="commands.bold"><i class="fth-bold"></i></button>\r\n <button type="button" class="ui-rte-overlay-control" :class="{ \'is-active\': isActive.italic() }" @click="commands.italic"><i class="fth-italic"></i></button>\r\n <button type="button" class="ui-rte-overlay-control" :class="{ \'is-active\': isActive.underline() }" @click="commands.underline"><i class="fth-underline"></i></button>\r\n <button type="button" class="ui-rte-overlay-control" :class="{ \'is-active\': isActive.link() }" @click="commands.link"><i class="fth-link"></i></button>\r\n <button type="button" class="ui-rte-overlay-control" :class="{ \'is-active\': isActive.code() }" @click="commands.code"><i class="fth-code"></i></button>\r\n </div>\r\n </editor-menu-bubble>\r\n <editor-menu-bar :editor="editor" v-slot="{ commands, isActive }">\r\n <div class="ui-rte-controls">\r\n <span class="ui-rte-controls-label">Editor</span>\r\n <button type="button" title="Undo" class="ui-rte-control" @click="commands.undo" :disabled="commands.undoDepth() < 1"><i class="fth-chevron-left"></i></button>\r\n <button type="button" title="Redo" class="ui-rte-control" @click="commands.redo" :disabled="commands.redoDepth() < 1"><i class="fth-chevron-right"></i></button>\r\n \x3c!--<button type="button" class="ui-rte-control" :class="{ \'is-active\': isActive.bold() }" @click="commands.bold"><i class="fth-bold"></i></button>\r\n <button type="button" class="ui-rte-control" :class="{ \'is-active\': isActive.italic() }" @click="commands.italic"><i class="fth-italic"></i></button>\r\n <button type="button" class="ui-rte-control" :class="{ \'is-active\': isActive.underline() }" @click="commands.underline"><i class="fth-underline"></i></button>\r\n <button type="button" class="ui-rte-control" :class="{ \'is-active\': isActive.link() }" @click="commands.link"><i class="fth-link"></i></button>\r\n <button type="button" class="ui-rte-control" :class="{ \'is-active\': isActive.code() }" @click="commands.code"><i class="fth-code"></i></button>--\x3e\r\n </div>\r\n </editor-menu-bar>\r\n <editor-content class="ui-rte-input" :editor="editor" />\r\n </div>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import Strings from \'zero/helpers/strings.js\';\r\n import { debounce as _debounce } from \'underscore\';\r\n import { Editor, EditorContent, EditorMenuBubble, EditorMenuBar } from \'tiptap\';\r\n import { HardBreak } from \'./rte.extensions.js\';\r\n import { Bold, Code, Italic, Link, Strike, Underline, History, Placeholder } from \'tiptap-extensions\';\r\n\r\n\r\n export default {\r\n name: \'uiRte\',\r\n\r\n components: { EditorContent, EditorMenuBubble, EditorMenuBar },\r\n\r\n props: {\r\n value: {\r\n type: String,\r\n default: \'\'\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n },\r\n placeholder: {\r\n type: String,\r\n default: null\r\n },\r\n extensions: {\r\n type: Array,\r\n default: () => []\r\n },\r\n disabledExtensions: {\r\n type: Array,\r\n default: () => []\r\n }\r\n },\r\n\r\n data: () => ({\r\n id: \'rte-\' + Strings.guid(),\r\n blocked: false,\r\n onDebouncedChange: null,\r\n editor: null\r\n }),\r\n\r\n watch: {\r\n value()\r\n {\r\n if (!this.blocked)\r\n {\r\n this.init();\r\n }\r\n },\r\n disabled(value)\r\n {\r\n this.editor.setOptions({\r\n editable: !value\r\n })\r\n },\r\n },\r\n\r\n created()\r\n {\r\n this.onDebouncedChange = _debounce(this.onChange, 350);\r\n },\r\n\r\n mounted()\r\n {\r\n let extensions = [\r\n ...this.extensions,\r\n new HardBreak(),\r\n new Link(),\r\n new Bold(),\r\n new Code(),\r\n new Italic(),\r\n new Strike(),\r\n new Underline(),\r\n new History()\r\n ];\r\n\r\n if (this.placeholder)\r\n {\r\n extensions.push(new Placeholder({\r\n emptyEditorClass: \'is-editor-empty\',\r\n emptyNodeClass: \'is-empty\',\r\n emptyNodeText: this.placeholder,\r\n showOnlyWhenEditable: true,\r\n showOnlyCurrent: true\r\n }));\r\n }\r\n\r\n if (this.disabledExtensions.length)\r\n {\r\n extensions = extensions.filter(x => this.disabledExtensions.indexOf(x.name) < 0);\r\n }\r\n\r\n this.editor = new Editor({\r\n editable: !this.disabled,\r\n extensions: extensions,\r\n onUpdate: opts => this.onDebouncedChange(opts.getHTML())\r\n });\r\n\r\n this.init();\r\n },\r\n\r\n methods: {\r\n init()\r\n {\r\n this.editor.setContent(this.value);\r\n },\r\n\r\n onChange(content)\r\n {\r\n this.blocked = true;\r\n this.$emit(\'input\', content);\r\n this.$nextTick(() => this.blocked = false);\r\n }\r\n },\r\n\r\n beforeDestroy()\r\n {\r\n this.editor.destroy();\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n\r\n .ui-rte-input\r\n {\r\n height: auto;\r\n min-height: 48px;\r\n padding-top: 9px;\r\n\r\n p\r\n {\r\n margin: 0;\r\n }\r\n\r\n p + p\r\n {\r\n margin-top: 1em;\r\n }\r\n\r\n p.is-editor-empty:first-child:before\r\n {\r\n content: attr(data-empty-text);\r\n float: left;\r\n color: var(--color-input-placeholder);\r\n opacity: .7;\r\n pointer-events: none;\r\n height: 0;\r\n }\r\n\r\n a\r\n {\r\n color: var(--color-primary);\r\n text-decoration: underline;\r\n cursor: pointer;\r\n }\r\n }\r\n\r\n .ui-rte-overlay-controls\r\n {\r\n position: absolute;\r\n display: flex;\r\n z-index: 20;\r\n background: var(--color-bg);\r\n border-radius: var(--radius);\r\n padding: 5px;\r\n margin-bottom: 8px;\r\n transform: translateX(-50%);\r\n visibility: hidden;\r\n opacity: 0;\r\n transition: opacity 0.2s, visibility 0.2s;\r\n pointer-events: none;\r\n\r\n &:after\r\n {\r\n content: \'\';\r\n position: absolute;\r\n left: 50%;\r\n top: 100%;\r\n width: 0;\r\n height: 0;\r\n border: 8px solid transparent;\r\n margin-left: -7px;\r\n border-top-color: var(--color-bg);\r\n }\r\n }\r\n\r\n .ui-rte-overlay-controls.is-active\r\n {\r\n opacity: 1;\r\n visibility: visible;\r\n pointer-events: auto;\r\n }\r\n\r\n .ui-rte-overlay-control\r\n {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n background: transparent;\r\n border: 0;\r\n color: var(--color-text);\r\n height: 32px;\r\n width: 32px;\r\n border-radius: var(--radius);\r\n cursor: pointer;\r\n }\r\n\r\n .ui-rte-overlay-control + .ui-rte-overlay-control\r\n {\r\n margin-left: 4px;\r\n }\r\n\r\n .ui-rte-overlay-control:hover\r\n {\r\n background-color: var(--color-bg-shade-1);\r\n }\r\n\r\n .ui-rte-overlay-control.is-active\r\n {\r\n background-color: var(--color-bg-shade-1);\r\n color: var(--color-text-dim);\r\n }\r\n\r\n\r\n .ui-rte-controls\r\n {\r\n background: var(--color-input);\r\n border-radius: var(--radius) var(--radius) 0 0;\r\n padding: 5px 5px 0;\r\n display: flex;\r\n align-items: center;\r\n justify-content: flex-start;\r\n }\r\n\r\n .ui-rte-controls + .ui-rte-input\r\n {\r\n border-top-left-radius: 0;\r\n border-top-right-radius: 0;\r\n }\r\n\r\n .ui-rte-controls-label\r\n {\r\n color: var(--color-text-dim);\r\n margin: 0 14px 0 8px;\r\n font-size: 10px;\r\n text-transform: uppercase;\r\n pointer-events: none;\r\n user-select: none;\r\n }\r\n\r\n .ui-rte-control\r\n {\r\n background-color: transparent;\r\n cursor: pointer;\r\n height: 30px;\r\n width: 30px;\r\n text-align: center;\r\n border-radius: 5px;\r\n font-size: 14px;\r\n vertical-align: bottom;\r\n }\r\n\r\n .ui-rte-control[disabled]\r\n {\r\n opacity: .5;\r\n }\r\n\r\n .ui-rte-control + .ui-rte-control\r\n {\r\n margin-left: 5px;\r\n }\r\n\r\n .ui-rte-control:hover, .ui-rte-control.is-active\r\n {\r\n background: var(--color-box);\r\n color: var(--color-text);\r\n }\r\n</style>','.ui-rte-input {\n height: auto;\n min-height: 48px;\n padding-top: 9px;\n}\n.ui-rte-input p {\n margin: 0;\n}\n.ui-rte-input p + p {\n margin-top: 1em;\n}\n.ui-rte-input p.is-editor-empty:first-child:before {\n content: attr(data-empty-text);\n float: left;\n color: var(--color-input-placeholder);\n opacity: 0.7;\n pointer-events: none;\n height: 0;\n}\n.ui-rte-input a {\n color: var(--color-primary);\n text-decoration: underline;\n cursor: pointer;\n}\n\n.ui-rte-overlay-controls {\n position: absolute;\n display: flex;\n z-index: 20;\n background: var(--color-bg);\n border-radius: var(--radius);\n padding: 5px;\n margin-bottom: 8px;\n transform: translateX(-50%);\n visibility: hidden;\n opacity: 0;\n transition: opacity 0.2s, visibility 0.2s;\n pointer-events: none;\n}\n.ui-rte-overlay-controls:after {\n content: "";\n position: absolute;\n left: 50%;\n top: 100%;\n width: 0;\n height: 0;\n border: 8px solid transparent;\n margin-left: -7px;\n border-top-color: var(--color-bg);\n}\n\n.ui-rte-overlay-controls.is-active {\n opacity: 1;\n visibility: visible;\n pointer-events: auto;\n}\n\n.ui-rte-overlay-control {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n border: 0;\n color: var(--color-text);\n height: 32px;\n width: 32px;\n border-radius: var(--radius);\n cursor: pointer;\n}\n\n.ui-rte-overlay-control + .ui-rte-overlay-control {\n margin-left: 4px;\n}\n\n.ui-rte-overlay-control:hover {\n background-color: var(--color-bg-shade-1);\n}\n\n.ui-rte-overlay-control.is-active {\n background-color: var(--color-bg-shade-1);\n color: var(--color-text-dim);\n}\n\n.ui-rte-controls {\n background: var(--color-input);\n border-radius: var(--radius) var(--radius) 0 0;\n padding: 5px 5px 0;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n}\n\n.ui-rte-controls + .ui-rte-input {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.ui-rte-controls-label {\n color: var(--color-text-dim);\n margin: 0 14px 0 8px;\n font-size: 10px;\n text-transform: uppercase;\n pointer-events: none;\n user-select: none;\n}\n\n.ui-rte-control {\n background-color: transparent;\n cursor: pointer;\n height: 30px;\n width: 30px;\n text-align: center;\n border-radius: 5px;\n font-size: 14px;\n vertical-align: bottom;\n}\n\n.ui-rte-control[disabled] {\n opacity: 0.5;\n}\n\n.ui-rte-control + .ui-rte-control {\n margin-left: 5px;\n}\n\n.ui-rte-control:hover, .ui-rte-control.is-active {\n background: var(--color-box);\n color: var(--color-text);\n}\n\n/*# sourceMappingURL=rte.vue.map */']},media:void 0})}),nS,undefined,false,undefined,!1,Iu,void 0,void 0);const iS={name:"uiSearch",props:{value:{type:String,default:""},placeholder:{type:String,default:"@ui.search.placeholder"}},computed:{},methods:{onChange(e){this.$emit("change",e.target.value),this.$emit("input",e.target.value)},onSubmit(e){this.$emit("submit",this.$refs.input.value)},focus(){this.$refs.input.focus()}}};var oS=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-searchinput"},[t("input",{directives:[{name:"localize",rawName:"v-localize:placeholder",value:e.placeholder,expression:"placeholder",arg:"placeholder"}],ref:"input",staticClass:"ui-input",attrs:{type:"search"},domProps:{value:e.value},on:{input:e.onChange,keyup:function(n){return!n.type.indexOf("key")&&e._k(n.keyCode,"enter",13,n.key,"Enter")?null:e.onSubmit(n)}}}),e._v(" "),e._t("button",[t("button",{directives:[{name:"localize",rawName:"v-localize:title",value:"@ui.search.button",expression:"'@ui.search.button'",arg:"title"}],staticClass:"ui-searchinput-button",attrs:{type:"button"},on:{click:e.onSubmit}},[t("i",{staticClass:"fth-search"})])],null,{onSubmit:e.onSubmit})],2)};oS._withStripped=!0;const aS=Da({render:oS,staticRenderFns:[]},(function(e){e&&e("data-v-74e00f28_0",{source:".ui-searchinput {\n position: relative;\n}\n.ui-searchinput .ui-input {\n display: block;\n min-width: 320px;\n padding-right: 40px;\n border: none;\n background: var(--color-input);\n}\n.ui-searchinput.onbg .ui-input {\n box-shadow: var(--shadow-short);\n background: var(--color-button-light-onbg);\n}\n.ui-searchinput .ui-searchinput-button {\n position: absolute;\n right: 0;\n top: 0;\n height: 100%;\n width: 40px;\n text-align: center;\n font-size: var(--font-size);\n padding-top: 1px;\n border: 1px solid transparent;\n border-radius: var(--radius);\n}\n.ui-searchinput .ui-input:focus {\n background-color: var(--color-input-focus-bg);\n border: var(--color-input-focus-border);\n box-shadow: var(--color-input-focus-shadow);\n outline: none;\n}\n\n/*# sourceMappingURL=search.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\forms\\search.vue","search.vue"],names:[],mappings:"AAmDA;EAEA,kBAAA;ACnDA;ADqDA;EAEA,cAAA;EACA,gBAAA;EACA,mBAAA;EACA,YAAA;EACA,8BAAA;ACpDA;ADuDA;EAEA,+BAAA;EACA,0CAAA;ACtDA;ADyDA;EAEA,kBAAA;EACA,QAAA;EACA,MAAA;EACA,YAAA;EACA,WAAA;EACA,kBAAA;EACA,2BAAA;EACA,gBAAA;EACA,6BAAA;EACA,4BAAA;ACxDA;AD2DA;EAEA,6CAAA;EACA,uCAAA;EACA,2CAAA;EACA,aAAA;AC1DA;;AAEA,qCAAqC",file:"search.vue",sourcesContent:['\ufeff<template>\r\n <div class="ui-searchinput">\r\n <input ref="input" type="search" :value="value" @input="onChange" @keyup.enter="onSubmit" class="ui-input" v-localize:placeholder="placeholder" />\r\n <slot name="button" v-bind="{ onSubmit: onSubmit }">\r\n <button type="button" class="ui-searchinput-button" v-localize:title="\'@ui.search.button\'" @click="onSubmit"><i class="fth-search"></i></button>\r\n </slot>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n export default {\r\n name: \'uiSearch\',\r\n\r\n props: {\r\n value: {\r\n type: String,\r\n default: \'\'\r\n },\r\n placeholder: {\r\n type: String,\r\n default: \'@ui.search.placeholder\'\r\n }\r\n },\r\n\r\n computed: {\r\n \r\n },\r\n\r\n methods: {\r\n\r\n onChange(ev)\r\n {\r\n this.$emit(\'change\', ev.target.value);\r\n this.$emit(\'input\', ev.target.value);\r\n },\r\n\r\n onSubmit(ev)\r\n {\r\n this.$emit(\'submit\', this.$refs.input.value);\r\n },\r\n\r\n focus()\r\n {\r\n this.$refs.input.focus();\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .ui-searchinput\r\n {\r\n position: relative;\r\n\r\n .ui-input\r\n {\r\n display: block;\r\n min-width: 320px;\r\n padding-right: 40px;\r\n border: none;\r\n background: var(--color-input);\r\n }\r\n\r\n &.onbg .ui-input\r\n {\r\n box-shadow: var(--shadow-short);\r\n background: var(--color-button-light-onbg);\r\n }\r\n\r\n .ui-searchinput-button\r\n {\r\n position: absolute;\r\n right: 0;\r\n top: 0;\r\n height: 100%;\r\n width: 40px;\r\n text-align: center;\r\n font-size: var(--font-size);\r\n padding-top: 1px;\r\n border: 1px solid transparent;\r\n border-radius: var(--radius);\r\n }\r\n\r\n .ui-input:focus\r\n {\r\n background-color: var(--color-input-focus-bg);\r\n border: var(--color-input-focus-border);\r\n box-shadow: var(--color-input-focus-shadow);\r\n outline: none;\r\n }\r\n }\r\n</style>',".ui-searchinput {\n position: relative;\n}\n.ui-searchinput .ui-input {\n display: block;\n min-width: 320px;\n padding-right: 40px;\n border: none;\n background: var(--color-input);\n}\n.ui-searchinput.onbg .ui-input {\n box-shadow: var(--shadow-short);\n background: var(--color-button-light-onbg);\n}\n.ui-searchinput .ui-searchinput-button {\n position: absolute;\n right: 0;\n top: 0;\n height: 100%;\n width: 40px;\n text-align: center;\n font-size: var(--font-size);\n padding-top: 1px;\n border: 1px solid transparent;\n border-radius: var(--radius);\n}\n.ui-searchinput .ui-input:focus {\n background-color: var(--color-input-focus-bg);\n border: var(--color-input-focus-border);\n box-shadow: var(--color-input-focus-shadow);\n outline: none;\n}\n\n/*# sourceMappingURL=search.vue.map */"]},media:void 0})}),iS,undefined,false,undefined,!1,Iu,void 0,void 0);const sS={name:"uiTags",props:{addLabel:{type:String,default:"@ui.add"},value:{type:Array,default:()=>[]},disabled:{type:Boolean,default:!1},maxItems:{type:Number,default:100},maxLength:{type:Number,default:200}}};var lS=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-tags",class:{"is-disabled":e.disabled}},[t("ui-input-list",{attrs:{value:e.value,"add-label":e.addLabel,disabled:e.disabled,"max-items":e.maxItems,"max-length":e.maxLength,"plus-button":!0},on:{input:function(n){return e.$emit("input",n)}}})],1)};lS._withStripped=!0;const cS=Da({render:lS,staticRenderFns:[]},(function(e){e&&e("data-v-6d8fd0cc_0",{source:".ui-tags .ui-input-list {\n display: flex;\n align-items: flex-start;\n flex-wrap: wrap;\n}\n.ui-tags .ui-input-list-item {\n display: inline-grid;\n min-width: 0;\n}\n.ui-tags .ui-input-list-item .ui-input {\n min-width: 120px;\n width: auto;\n}\n.ui-tags .ui-input-list-item + .ui-input-list-item, .ui-tags .ui-input-list-item + .ui-button, .ui-tags .ui-input-list-item + .ui-select-button {\n margin-top: 0;\n margin-left: 6px;\n margin-bottom: 8px;\n}\n\n/*# sourceMappingURL=tags.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\forms\\tags.vue","tags.vue"],names:[],mappings:"AAuCA;EAEA,aAAA;EACA,uBAAA;EACA,eAAA;ACvCA;AD0CA;EAEA,oBAAA;EACA,YAAA;ACzCA;AD2CA;EAEA,gBAAA;EACA,WAAA;AC1CA;AD6CA;EAEA,aAAA;EACA,gBAAA;EACA,kBAAA;AC5CA;;AAEA,mCAAmC",file:"tags.vue",sourcesContent:['\ufeff <template>\r\n <div class="ui-tags" :class="{\'is-disabled\': disabled }">\r\n <ui-input-list :value="value" @input="$emit(\'input\', $event)" :add-label="addLabel" :disabled="disabled" :max-items="maxItems" :max-length="maxLength" :plus-button="true" />\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n export default {\r\n name: \'uiTags\',\r\n\r\n props: {\r\n addLabel: {\r\n type: String,\r\n default: \'@ui.add\'\r\n },\r\n value: {\r\n type: Array,\r\n default: () => []\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n },\r\n maxItems: {\r\n type: Number,\r\n default: 100\r\n },\r\n maxLength: {\r\n type: Number,\r\n default: 200\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .ui-tags\r\n {\r\n .ui-input-list\r\n {\r\n display: flex;\r\n align-items: flex-start;\r\n flex-wrap: wrap;\r\n }\r\n\r\n .ui-input-list-item\r\n {\r\n display: inline-grid;\r\n min-width: 0;\r\n\r\n .ui-input\r\n {\r\n min-width: 120px;\r\n width: auto;\r\n }\r\n\r\n & + .ui-input-list-item, & + .ui-button, & + .ui-select-button\r\n {\r\n margin-top: 0;\r\n margin-left: 6px;\r\n margin-bottom: 8px;\r\n }\r\n }\r\n\r\n }\r\n</style>',".ui-tags .ui-input-list {\n display: flex;\n align-items: flex-start;\n flex-wrap: wrap;\n}\n.ui-tags .ui-input-list-item {\n display: inline-grid;\n min-width: 0;\n}\n.ui-tags .ui-input-list-item .ui-input {\n min-width: 120px;\n width: auto;\n}\n.ui-tags .ui-input-list-item + .ui-input-list-item, .ui-tags .ui-input-list-item + .ui-button, .ui-tags .ui-input-list-item + .ui-select-button {\n margin-top: 0;\n margin-left: 6px;\n margin-bottom: 8px;\n}\n\n/*# sourceMappingURL=tags.vue.map */"]},media:void 0})}),sS,undefined,false,undefined,!1,Iu,void 0,void 0);const dS={name:"uiToggle",props:{value:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},negative:{type:Boolean,default:!1},onContent:{type:String,default:null},offContent:{type:String,default:null},offWarning:{type:Boolean,default:!1},contentLeft:{type:Boolean,default:!1}},methods:{onChange(e){this.$emit("input",!this.value)}}};var uS=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-toggle",class:{"is-disabled":e.disabled,"is-negative":e.negative,"is-active":e.value,"is-content-left":e.contentLeft}},[t("input",{attrs:{type:"checkbox",disabled:e.disabled},domProps:{value:e.value},on:{input:e.onChange}}),e._v(" "),t("span",{staticClass:"ui-toggle-switch",class:{"is-active":e.value}},[t("i")]),e._v(" "),e.offContent&&!e.value&&e.offWarning?t("i",{staticClass:"fth-minus-circle ui-toggle-off-warning"}):e._e(),e._v(" "),e.onContent&&e.value?t("span",{directives:[{name:"localize",rawName:"v-localize",value:e.onContent,expression:"onContent"}],staticClass:"ui-toggle-text"}):e._e(),e._v(" "),e.offContent&&!e.value?t("span",{directives:[{name:"localize",rawName:"v-localize",value:e.offContent,expression:"offContent"}],staticClass:"ui-toggle-text"}):e._e()])};uS._withStripped=!0;const pS=Da({render:uS,staticRenderFns:[]},(function(e){e&&e("data-v-7491defe_0",{source:".ui-toggle {\n display: inline-flex;\n align-items: center;\n position: relative;\n height: 22px;\n}\n.ui-toggle input {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n margin: 0;\n z-index: 2;\n opacity: 0;\n cursor: pointer;\n}\n.ui-toggle.is-disabled input {\n cursor: default;\n}\n.ui-toggle.is-content-left {\n flex-direction: row-reverse;\n}\n.ui-toggle.is-content-left .ui-toggle-text {\n margin-left: 0;\n margin-right: 12px;\n}\n.ui-toggle-text {\n margin-top: 1px;\n margin-left: 12px;\n}\n.ui-toggle.is-active .ui-toggle-text {\n font-weight: 600;\n}\n.ui-toggle-switch {\n display: inline-block;\n height: 22px;\n width: 36px;\n background: var(--color-toggle);\n border-radius: 20px;\n border: 1px solid transparent;\n transition: all 0.2s ease;\n z-index: 1;\n pointer-events: none;\n}\n.ui-toggle-switch i {\n display: inline-block;\n height: 16px;\n width: 16px;\n border-radius: 20px;\n margin: 2px;\n background: var(--color-toggle-fg);\n transition: all 0.2s ease;\n}\n.ui-toggle-switch.is-active {\n background: var(--color-toggled);\n}\n.ui-toggle-switch.is-active i {\n background: var(--color-toggled-fg);\n transform: translateX(14px);\n}\ninput:focus + .ui-toggle-switch {\n background-color: var(--color-input-focus-bg);\n border: var(--color-input-focus-border);\n box-shadow: var(--color-input-focus-shadow);\n outline: none;\n}\n.ui-toggle.is-negative .ui-toggle-switch.is-active {\n background: var(--color-negative);\n border-color: transparent !important;\n}\n.ui-toggle.is-negative .ui-toggle-switch.is-active i {\n background: white;\n}\n.ui-toggle-off-warning {\n margin: 0 10px 0 -5px;\n}\n\n/*# sourceMappingURL=toggle.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\forms\\toggle.vue","toggle.vue"],names:[],mappings:"AAyDA;EAEA,oBAAA;EACA,mBAAA;EACA,kBAAA;EACA,YAAA;ACzDA;AD2DA;EAEA,kBAAA;EACA,MAAA;EACA,OAAA;EACA,QAAA;EACA,SAAA;EACA,WAAA;EACA,YAAA;EACA,SAAA;EACA,UAAA;EACA,UAAA;EACA,eAAA;AC1DA;AD6DA;EAEA,eAAA;AC5DA;AD+DA;EAEA,2BAAA;AC9DA;ADgEA;EAEA,cAAA;EACA,kBAAA;AC/DA;ADoEA;EAEA,eAAA;EACA,iBAAA;AClEA;ADoEA;EAEA,gBAAA;ACnEA;ADuEA;EAEA,qBAAA;EACA,YAAA;EACA,WAAA;EACA,+BAAA;EACA,mBAAA;EACA,6BAAA;EACA,yBAAA;EACA,UAAA;EACA,oBAAA;ACrEA;ADuEA;EAEA,qBAAA;EACA,YAAA;EACA,WAAA;EACA,mBAAA;EACA,WAAA;EACA,kCAAA;EACA,yBAAA;ACtEA;ADyEA;EAEA,gCAAA;ACxEA;AD2EA;EAEA,mCAAA;EACA,2BAAA;AC1EA;AD6EA;EAEA,6CAAA;EACA,uCAAA;EACA,2CAAA;EACA,aAAA;AC5EA;ADgFA;EAEA,iCAAA;EACA,oCAAA;AC9EA;ADgFA;EAEA,iBAAA;AC/EA;ADmFA;EAEA,qBAAA;ACjFA;;AAEA,qCAAqC",file:"toggle.vue",sourcesContent:['\ufeff <template>\r\n <div class="ui-toggle" :class="{\'is-disabled\': disabled, \'is-negative\': negative, \'is-active\': value, \'is-content-left\': contentLeft }">\r\n <input type="checkbox" :value="value" @input="onChange" :disabled="disabled" />\r\n <span class="ui-toggle-switch" :class="{ \'is-active\': value }"><i></i></span>\r\n <i class="fth-minus-circle ui-toggle-off-warning" v-if="offContent && !value && offWarning"></i>\r\n <span class="ui-toggle-text" v-if="onContent && value" v-localize="onContent"></span>\r\n <span class="ui-toggle-text" v-if="offContent && !value" v-localize="offContent"></span>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n export default {\r\n name: \'uiToggle\',\r\n\r\n props: {\r\n value: {\r\n type: Boolean,\r\n default: false\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n },\r\n negative: {\r\n type: Boolean,\r\n default: false\r\n },\r\n onContent: {\r\n type: String,\r\n default: null\r\n },\r\n offContent: {\r\n type: String,\r\n default: null\r\n },\r\n offWarning: {\r\n type: Boolean,\r\n default: false\r\n },\r\n contentLeft: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n\r\n methods: {\r\n\r\n onChange(ev)\r\n {\r\n this.$emit(\'input\', !this.value);\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .ui-toggle\r\n {\r\n display: inline-flex;\r\n align-items: center;\r\n position: relative;\r\n height: 22px;\r\n\r\n input\r\n {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n width: 100%;\r\n height: 100%;\r\n margin: 0;\r\n z-index: 2;\r\n opacity: 0;\r\n cursor: pointer;\r\n }\r\n\r\n &.is-disabled input\r\n {\r\n cursor: default;\r\n }\r\n\r\n &.is-content-left\r\n {\r\n flex-direction: row-reverse;\r\n\r\n .ui-toggle-text\r\n {\r\n margin-left: 0;\r\n margin-right: 12px;\r\n }\r\n }\r\n }\r\n\r\n .ui-toggle-text\r\n {\r\n margin-top: 1px;\r\n margin-left: 12px;\r\n\r\n .ui-toggle.is-active &\r\n {\r\n font-weight: 600;\r\n }\r\n }\r\n\r\n .ui-toggle-switch \r\n {\r\n display: inline-block;\r\n height: 22px;\r\n width: 36px;\r\n background: var(--color-toggle);\r\n border-radius: 20px;\r\n border: 1px solid transparent;\r\n transition: all 0.2s ease;\r\n z-index: 1;\r\n pointer-events: none;\r\n\r\n i\r\n {\r\n display: inline-block;\r\n height: 16px;\r\n width: 16px;\r\n border-radius: 20px;\r\n margin: 2px;\r\n background: var(--color-toggle-fg);\r\n transition: all 0.2s ease;\r\n }\r\n\r\n &.is-active\r\n {\r\n background: var(--color-toggled);\r\n }\r\n\r\n &.is-active i\r\n {\r\n background: var(--color-toggled-fg);\r\n transform: translateX(14px);\r\n }\r\n\r\n input:focus + &\r\n {\r\n background-color: var(--color-input-focus-bg);\r\n border: var(--color-input-focus-border);\r\n box-shadow: var(--color-input-focus-shadow);\r\n outline: none;\r\n }\r\n }\r\n\r\n .ui-toggle.is-negative .ui-toggle-switch.is-active\r\n {\r\n background: var(--color-negative);\r\n border-color: transparent !important;\r\n\r\n i\r\n {\r\n background: white;\r\n }\r\n }\r\n\r\n .ui-toggle-off-warning\r\n {\r\n margin: 0 10px 0 -5px;\r\n }\r\n</style>',".ui-toggle {\n display: inline-flex;\n align-items: center;\n position: relative;\n height: 22px;\n}\n.ui-toggle input {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n margin: 0;\n z-index: 2;\n opacity: 0;\n cursor: pointer;\n}\n.ui-toggle.is-disabled input {\n cursor: default;\n}\n.ui-toggle.is-content-left {\n flex-direction: row-reverse;\n}\n.ui-toggle.is-content-left .ui-toggle-text {\n margin-left: 0;\n margin-right: 12px;\n}\n\n.ui-toggle-text {\n margin-top: 1px;\n margin-left: 12px;\n}\n.ui-toggle.is-active .ui-toggle-text {\n font-weight: 600;\n}\n\n.ui-toggle-switch {\n display: inline-block;\n height: 22px;\n width: 36px;\n background: var(--color-toggle);\n border-radius: 20px;\n border: 1px solid transparent;\n transition: all 0.2s ease;\n z-index: 1;\n pointer-events: none;\n}\n.ui-toggle-switch i {\n display: inline-block;\n height: 16px;\n width: 16px;\n border-radius: 20px;\n margin: 2px;\n background: var(--color-toggle-fg);\n transition: all 0.2s ease;\n}\n.ui-toggle-switch.is-active {\n background: var(--color-toggled);\n}\n.ui-toggle-switch.is-active i {\n background: var(--color-toggled-fg);\n transform: translateX(14px);\n}\ninput:focus + .ui-toggle-switch {\n background-color: var(--color-input-focus-bg);\n border: var(--color-input-focus-border);\n box-shadow: var(--color-input-focus-shadow);\n outline: none;\n}\n\n.ui-toggle.is-negative .ui-toggle-switch.is-active {\n background: var(--color-negative);\n border-color: transparent !important;\n}\n.ui-toggle.is-negative .ui-toggle-switch.is-active i {\n background: white;\n}\n\n.ui-toggle-off-warning {\n margin: 0 10px 0 -5px;\n}\n\n/*# sourceMappingURL=toggle.vue.map */"]},media:void 0})}),dS,undefined,false,undefined,!1,Iu,void 0,void 0);const fS={name:"uiModulePreviewFigure",props:{text:{type:String},subline:{type:String},image:{type:String}},data:()=>({imageSource:null}),watch:{image(e){this.loadImageSource()}},mounted(){this.loadImageSource()},methods:{loadImageSource(){this.image?this.imageSource=kp.getImageSource(this.image):this.imageSource=null}}};var AS=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("figure",{staticClass:"ui-module-preview-figure",class:{"has-image":null!=e.imageSource}},[e.imageSource?t("img",{staticClass:"-image",attrs:{src:e.imageSource}}):e._e(),e._v(" "),t("figcaption",[e.text?t("article",{staticClass:"-text",domProps:{innerHTML:e._s(e.text)}}):e._e(),e._v(" "),e.subline?t("article",{staticClass:"-subline"},[e._v(e._s(e.subline.replace(/<\/?[^>]+>/gi," ")))]):e._e()])])};AS._withStripped=!0;const hS=Da({render:AS,staticRenderFns:[]},(function(e){e&&e("data-v-ae182194_0",{source:".ui-module-preview-figure {\n font-size: var(--font-size);\n line-height: 1.5;\n margin: 0;\n padding: 0;\n}\n.ui-module-preview-figure.has-image {\n display: grid;\n grid-template-columns: auto 1fr;\n gap: 20px;\n align-items: center;\n}\n.ui-module-preview-figure .-subline {\n color: var(--color-text-dim);\n font-size: var(--font-size-s);\n}\n.ui-module-preview-figure .-text, .ui-module-preview-figure .-subline {\n overflow: hidden;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n display: -webkit-box;\n}\n.ui-module-preview-figure .-image {\n border-radius: var(--radius);\n max-width: 128px;\n max-height: 64px;\n}\n\n/*# sourceMappingURL=module-preview-figure.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\modules\\predefined\\module-preview-figure.vue","module-preview-figure.vue"],names:[],mappings:"AA8DA;EAEA,2BAAA;EACA,gBAAA;EACA,SAAA;EACA,UAAA;AC9DA;ADgEA;EAEA,aAAA;EACA,+BAAA;EACA,SAAA;EACA,mBAAA;AC/DA;ADuEA;EAEA,4BAAA;EACA,6BAAA;ACtEA;ADyEA;EAEA,gBAAA;EACA,4BAAA;EACA,qBAAA;EACA,oBAAA;ACxEA;AD2EA;EAEA,4BAAA;EACA,gBAAA;EACA,gBAAA;AC1EA;;AAEA,oDAAoD",file:"module-preview-figure.vue",sourcesContent:['\ufeff<template>\r\n <figure class="ui-module-preview-figure" :class="{\'has-image\': imageSource != null}">\r\n <img v-if="imageSource" :src="imageSource" class="-image" />\r\n <figcaption>\r\n <article class="-text" v-if="text" v-html="text"></article>\r\n <article class="-subline" v-if="subline">{{subline.replace(/<\\/?[^>]+>/ig, " ")}}</article>\r\n </figcaption>\r\n </figure>\r\n</template>\r\n\r\n<script>\r\n import MediaApi from \'zero/api/media.js\'\r\n\r\n\r\n export default {\r\n name: \'uiModulePreviewFigure\',\r\n\r\n props: {\r\n text: {\r\n type: String\r\n },\r\n subline: {\r\n type: String\r\n },\r\n image: {\r\n type: String\r\n }\r\n },\r\n\r\n data: () => ({\r\n imageSource: null\r\n }),\r\n\r\n watch: {\r\n image(val)\r\n {\r\n this.loadImageSource();\r\n }\r\n },\r\n\r\n mounted()\r\n {\r\n this.loadImageSource();\r\n }, \r\n\r\n methods: {\r\n\r\n loadImageSource()\r\n {\r\n if (!this.image)\r\n {\r\n this.imageSource = null;\r\n return;\r\n }\r\n\r\n this.imageSource = MediaApi.getImageSource(this.image);\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .ui-module-preview-figure\r\n {\r\n font-size: var(--font-size);\r\n line-height: 1.5;\r\n margin: 0;\r\n padding: 0;\r\n\r\n &.has-image\r\n {\r\n display: grid;\r\n grid-template-columns: auto 1fr;\r\n gap: 20px;\r\n align-items: center;\r\n }\r\n\r\n .-text\r\n {\r\n\r\n }\r\n\r\n .-subline\r\n {\r\n color: var(--color-text-dim);\r\n font-size: var(--font-size-s);\r\n }\r\n\r\n .-text, .-subline\r\n {\r\n overflow: hidden;\r\n -webkit-box-orient: vertical;\r\n -webkit-line-clamp: 2;\r\n display: -webkit-box;\r\n }\r\n\r\n .-image\r\n {\r\n border-radius: var(--radius);\r\n max-width: 128px;\r\n max-height: 64px;\r\n }\r\n }\r\n</style>',".ui-module-preview-figure {\n font-size: var(--font-size);\n line-height: 1.5;\n margin: 0;\n padding: 0;\n}\n.ui-module-preview-figure.has-image {\n display: grid;\n grid-template-columns: auto 1fr;\n gap: 20px;\n align-items: center;\n}\n.ui-module-preview-figure .-subline {\n color: var(--color-text-dim);\n font-size: var(--font-size-s);\n}\n.ui-module-preview-figure .-text, .ui-module-preview-figure .-subline {\n overflow: hidden;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n display: -webkit-box;\n}\n.ui-module-preview-figure .-image {\n border-radius: var(--radius);\n max-width: 128px;\n max-height: 64px;\n}\n\n/*# sourceMappingURL=module-preview-figure.vue.map */"]},media:void 0})}),fS,undefined,false,undefined,!1,Iu,void 0,void 0);const mS={name:"uiModulePreviewHeadline",props:{text:{type:String},subline:{type:String}}};var gS=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-module-preview-headline"},[e.text?t("article",{staticClass:"-text",domProps:{innerHTML:e._s(e.text)}}):e._e(),e._v(" "),e.subline?t("article",{staticClass:"-subline",domProps:{innerHTML:e._s(e.subline)}}):e._e()])};gS._withStripped=!0;const vS=Da({render:gS,staticRenderFns:[]},(function(e){e&&e("data-v-23219119_0",{source:".ui-module-preview-headline {\n font-size: var(--font-size);\n line-height: 1.5;\n}\n.ui-module-preview-headline .-text {\n font-size: var(--font-size-xl);\n font-weight: 600;\n}\n.ui-module-preview-headline .-subline {\n color: var(--color-text-dim);\n font-size: var(--font-size-s);\n}\n\n/*# sourceMappingURL=module-preview-headline.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\modules\\predefined\\module-preview-headline.vue","module-preview-headline.vue"],names:[],mappings:"AAuBA;EAEA,2BAAA;EACA,gBAAA;ACvBA;ADyBA;EAEA,8BAAA;EACA,gBAAA;ACxBA;AD2BA;EAEA,4BAAA;EACA,6BAAA;AC1BA;;AAEA,sDAAsD",file:"module-preview-headline.vue",sourcesContent:['\ufeff<template>\r\n <div class="ui-module-preview-headline">\r\n <article class="-text" v-if="text" v-html="text"></article>\r\n <article class="-subline" v-if="subline" v-html="subline"></article>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n export default {\r\n name: \'uiModulePreviewHeadline\',\r\n\r\n props: {\r\n text: {\r\n type: String\r\n },\r\n subline: {\r\n type: String\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .ui-module-preview-headline\r\n {\r\n font-size: var(--font-size);\r\n line-height: 1.5;\r\n\r\n .-text\r\n {\r\n font-size: var(--font-size-xl);\r\n font-weight: 600;\r\n }\r\n\r\n .-subline\r\n {\r\n color: var(--color-text-dim);\r\n font-size: var(--font-size-s);\r\n }\r\n }\r\n</style>',".ui-module-preview-headline {\n font-size: var(--font-size);\n line-height: 1.5;\n}\n.ui-module-preview-headline .-text {\n font-size: var(--font-size-xl);\n font-weight: 600;\n}\n.ui-module-preview-headline .-subline {\n color: var(--color-text-dim);\n font-size: var(--font-size-s);\n}\n\n/*# sourceMappingURL=module-preview-headline.vue.map */"]},media:void 0})}),mS,undefined,false,undefined,!1,Iu,void 0,void 0);const bS={name:"uiModulePreviewText",props:{text:{type:String},subline:{type:String}}};var yS=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-module-preview-text"},[e.text?t("article",{staticClass:"-text",domProps:{innerHTML:e._s(e.text)}}):e._e(),e._v(" "),e.subline?t("article",{staticClass:"-subline",domProps:{innerHTML:e._s(e.subline)}}):e._e()])};yS._withStripped=!0;const CS=Da({render:yS,staticRenderFns:[]},(function(e){e&&e("data-v-c88fe06e_0",{source:".ui-module-preview-text {\n font-size: var(--font-size);\n line-height: 1.5;\n}\n.ui-module-preview-text .-subline {\n color: var(--color-text-dim);\n font-size: var(--font-size-s);\n}\n.ui-module-preview-text .-text, .ui-module-preview-text .-subline {\n overflow: hidden;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 3;\n display: -webkit-box;\n}\n\n/*# sourceMappingURL=module-preview-text.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\modules\\predefined\\module-preview-text.vue","module-preview-text.vue"],names:[],mappings:"AAuBA;EAEA,2BAAA;EACA,gBAAA;ACvBA;AD8BA;EAEA,4BAAA;EACA,6BAAA;AC7BA;ADgCA;EAEA,gBAAA;EACA,4BAAA;EACA,qBAAA;EACA,oBAAA;AC/BA;;AAEA,kDAAkD",file:"module-preview-text.vue",sourcesContent:['\ufeff<template>\r\n <div class="ui-module-preview-text">\r\n <article class="-text" v-if="text" v-html="text"></article>\r\n <article class="-subline" v-if="subline" v-html="subline"></article>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n export default {\r\n name: \'uiModulePreviewText\',\r\n\r\n props: {\r\n text: {\r\n type: String\r\n },\r\n subline: {\r\n type: String\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .ui-module-preview-text\r\n {\r\n font-size: var(--font-size);\r\n line-height: 1.5;\r\n\r\n .-text\r\n {\r\n\r\n }\r\n\r\n .-subline\r\n {\r\n color: var(--color-text-dim);\r\n font-size: var(--font-size-s);\r\n }\r\n\r\n .-text, .-subline\r\n {\r\n overflow: hidden;\r\n -webkit-box-orient: vertical;\r\n -webkit-line-clamp: 3;\r\n display: -webkit-box;\r\n }\r\n }\r\n</style>',".ui-module-preview-text {\n font-size: var(--font-size);\n line-height: 1.5;\n}\n.ui-module-preview-text .-subline {\n color: var(--color-text-dim);\n font-size: var(--font-size-s);\n}\n.ui-module-preview-text .-text, .ui-module-preview-text .-subline {\n overflow: hidden;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 3;\n display: -webkit-box;\n}\n\n/*# sourceMappingURL=module-preview-text.vue.map */"]},media:void 0})}),bS,undefined,false,undefined,!1,Iu,void 0,void 0);var ES=async e=>await il("modules/getModuleTypes",{params:{tags:e}}),xS=async e=>await il("modules/getEmpty",{params:{alias:e}});const wS={props:{config:Object},components:{UiEditor:Ou},data:()=>({isAdd:!0,disabled:!1,id:null,loading:!0,state:"default",meta:{},editor:null,model:{}}),created(){this.editor=this.config.editor},methods:{onLoad(e){this.config.model&&(this.isAdd=!1,this.model=JSON.parse(JSON.stringify(this.config.model))),e.load(xS(this.config.module.alias)).then((e=>{this.disabled=!e.meta.canEdit||this.config.disabled,this.meta=e.meta,this.isAdd&&(this.model=e.entity),this.loading=!1}))},onSubmit(e){this.config.confirm(this.model)}}};var kS=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("ui-form",{ref:"form",on:{submit:e.onSubmit,load:e.onLoad},scopedSlots:e._u([{key:"default",fn:function(n){return[t("ui-overlay-editor",{staticClass:"ui-module-overlay",scopedSlots:e._u([{key:"header",fn:function(){return[t("ui-header-bar",{attrs:{title:e.config.module.name,"back-button":!1,"close-button":!0}})]},proxy:!0},{key:"footer",fn:function(){return[t("ui-button",{attrs:{type:"light onbg",label:"@ui.close"},on:{click:e.config.hide}}),e._v(" "),e.disabled?e._e():t("ui-button",{attrs:{type:"primary",submit:!0,label:"Confirm",state:n.state,disabled:e.loading}})]},proxy:!0}],null,!0)},[e._v(" "),e._v(" "),e.loading?t("ui-loading",{attrs:{"is-big":!0}}):e._e(),e._v(" "),e.loading?e._e():t("div",{staticClass:"ui-module-overlay-editor"},[t("ui-editor",{attrs:{config:e.editor,meta:e.meta,"is-page":!1,infos:"none",disabled:e.disabled},model:{value:e.model,callback:function(n){e.model=n},expression:"model"}})],1)],1)]}}])})};kS._withStripped=!0;const _S=Da({render:kS,staticRenderFns:[]},(function(e){e&&e("data-v-be95eeca_0",{source:".ui-module-overlay > content {\n position: relative;\n padding-top: 0 !important;\n}\n.ui-module-overlay .ui-box {\n margin: 0;\n}\n.ui-module-overlay .ui-tabs-list {\n padding: 0;\n padding-bottom: 32px;\n}\n.ui-module-overlay .ui-property.ui-modules {\n margin: 0;\n padding: 0;\n}\n.ui-module-overlay .editor-outer.-infos-aside:not(.is-page) {\n display: block;\n}\n.ui-module-overlay .ui-loading {\n position: absolute;\n left: 50%;\n top: 50%;\n margin: -14px 0 0 -14px;\n}\n\n/*# sourceMappingURL=edit-module.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\modules\\edit-module.vue","edit-module.vue"],names:[],mappings:"AAuFA;EAEA,kBAAA;EACA,yBAAA;ACvFA;AD0FA;EAEA,SAAA;ACzFA;AD4FA;EAEA,UAAA;EACA,oBAAA;AC3FA;AD8FA;EAEA,SAAA;EACA,UAAA;AC7FA;ADgGA;EAEA,cAAA;AC/FA;ADkGA;EAEA,kBAAA;EACA,SAAA;EACA,QAAA;EACA,uBAAA;ACjGA;;AAEA,0CAA0C",file:"edit-module.vue",sourcesContent:['\ufeff<template>\r\n <ui-form ref="form" v-slot="form" @submit="onSubmit" @load="onLoad">\r\n <ui-overlay-editor class="ui-module-overlay">\r\n\r\n <template v-slot:header>\r\n <ui-header-bar :title="config.module.name" :back-button="false" :close-button="true" />\r\n </template>\r\n\r\n <template v-slot:footer>\r\n <ui-button type="light onbg" label="@ui.close" @click="config.hide"></ui-button>\r\n <ui-button v-if="!disabled" type="primary" :submit="true" label="Confirm" :state="form.state" :disabled="loading"></ui-button>\r\n </template>\r\n\r\n <ui-loading v-if="loading" :is-big="true" />\r\n\r\n <div v-if="!loading" class="ui-module-overlay-editor">\r\n <ui-editor :config="editor" v-model="model" :meta="meta" :is-page="false" infos="none" :disabled="disabled" />\r\n </div>\r\n\r\n </ui-overlay-editor>\r\n </ui-form>\r\n</template>\r\n\r\n\r\n<script>\r\n import ModulesApi from \'zero/api/modules.js\';\r\n import UiEditor from \'zero/editor/editor.vue\';\r\n\r\n export default {\r\n\r\n props: {\r\n config: Object\r\n },\r\n\r\n components: { UiEditor },\r\n\r\n data: () => ({\r\n isAdd: true,\r\n disabled: false,\r\n id: null,\r\n loading: true,\r\n state: \'default\',\r\n meta: {},\r\n editor: null,\r\n model: {}\r\n }),\r\n\r\n created()\r\n {\r\n this.editor = this.config.editor;\r\n },\r\n\r\n methods: {\r\n\r\n onLoad(form)\r\n {\r\n if (this.config.model)\r\n {\r\n this.isAdd = false;\r\n this.model = JSON.parse(JSON.stringify(this.config.model));\r\n }\r\n\r\n form.load(ModulesApi.getEmpty(this.config.module.alias)).then(response =>\r\n {\r\n this.disabled = !response.meta.canEdit || this.config.disabled;\r\n this.meta = response.meta;\r\n\r\n if (this.isAdd)\r\n {\r\n this.model = response.entity;\r\n }\r\n this.loading = false;\r\n });\r\n },\r\n\r\n\r\n onSubmit(form)\r\n {\r\n this.config.confirm(this.model);\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .ui-module-overlay\r\n {\r\n > content\r\n {\r\n position: relative;\r\n padding-top: 0 !important;\r\n }\r\n\r\n .ui-box\r\n {\r\n margin: 0;\r\n }\r\n\r\n .ui-tabs-list\r\n {\r\n padding: 0;\r\n padding-bottom: 32px;\r\n }\r\n\r\n .ui-property.ui-modules\r\n {\r\n margin: 0;\r\n padding: 0;\r\n }\r\n\r\n .editor-outer.-infos-aside:not(.is-page)\r\n {\r\n display: block;\r\n }\r\n\r\n .ui-loading\r\n {\r\n position: absolute;\r\n left: 50%;\r\n top: 50%;\r\n margin: -14px 0 0 -14px;\r\n }\r\n }\r\n</style>',".ui-module-overlay > content {\n position: relative;\n padding-top: 0 !important;\n}\n.ui-module-overlay .ui-box {\n margin: 0;\n}\n.ui-module-overlay .ui-tabs-list {\n padding: 0;\n padding-bottom: 32px;\n}\n.ui-module-overlay .ui-property.ui-modules {\n margin: 0;\n padding: 0;\n}\n.ui-module-overlay .editor-outer.-infos-aside:not(.is-page) {\n display: block;\n}\n.ui-module-overlay .ui-loading {\n position: absolute;\n left: 50%;\n top: 50%;\n margin: -14px 0 0 -14px;\n}\n\n/*# sourceMappingURL=edit-module.vue.map */"]},media:void 0})}),wS,undefined,false,undefined,!1,Iu,void 0,void 0);const SS={name:"uiModulePreview",components:{ModulePreviewInner:Da({},undefined,{name:"uiModulePreviewInner",props:{value:{type:Object,default:()=>{}},template:{type:String,required:!0}},render:function(e){return e({template:'<div class="ui-module-preview-inner">'+this.template+"</div>",props:{model:{type:Object,default:()=>{}}}},{props:{model:this.value}})}},undefined,undefined,undefined,!1,void 0,void 0,void 0)},props:{value:{type:Object,default:()=>{}},types:{type:Array,default:()=>[]},disabled:{type:Boolean,default:!1},config:Object},data:()=>({loading:!0,module:{},renderer:{}}),watch:{value(e){this.render(e)}},computed:{alias(){return this.value.moduleTypeAlias},hasPreviewSettings(){return this.module&&this.renderer&&"object"==typeof this.renderer.preview},tryRender(){return this.hasPreviewSettings&&this.renderer.preview.template},canEdit(){return this.module&&this.renderer&&this.renderer.fields&&this.renderer.fields.length>0}},mounted(){this.render(this.value)},methods:{render(e){this.loading=!0,this.module=Yd(this.types,(e=>e.alias==this.alias)),this.renderer=null,this.$nextTick((()=>this.loading=!1))},emit(e){(this.canEdit||"edit"!==e)&&this.$emit(e,this.module,this.value)},toggleStatus(e){this.value.isActive=e,this.emit("isActive")}}};var DS=function(){var e=this,n=e.$createElement,t=e._self._c||n;return e.loading?e._e():t("div",{staticClass:"ui-module-item",class:{"can-edit":e.canEdit},attrs:{"data-module":e.alias}},[e.module?t("div",{staticClass:"ui-module-item-content",on:{click:function(n){return e.emit("edit")}}},[e.hasPreviewSettings&&!1===e.renderer.preview.label?e._e():t("span",{directives:[{name:"localize",rawName:"v-localize",value:e.module.name,expression:"module.name"}],staticClass:"ui-module-item-header"}),e._v(" "),e.tryRender?t("module-preview-inner",{attrs:{template:e.renderer.preview.template,value:e.value}}):e._e()],1):t("div",{staticClass:"ui-module-item-content"},[t("span",{staticClass:"ui-module-item-header is-error"},[t("i",{staticClass:"fth-alert-circle"}),e._v(" "+e._s(e.alias))]),e._v(" "),t("p",{directives:[{name:"localize",rawName:"v-localize:html",value:{key:"@modules.notfound",tokens:{alias:e.alias}},expression:"{ key: '@modules.notfound', tokens: { alias: alias } }",arg:"html"}],staticClass:"ui-module-item-error"})]),e._v(" "),e.value.isActive?e._e():t("div",{staticClass:"ui-module-item-disabled"}),e._v(" "),e.disabled?e._e():t("div",{staticClass:"ui-module-item-actions"},[t("ui-dropdown",{attrs:{align:"right"},scopedSlots:e._u([{key:"button",fn:function(){return[e.value.isActive?t("ui-icon-button",{attrs:{icon:"fth-more-horizontal",title:"Actions"}}):t("ui-icon-button",{staticClass:"ui-module-item-disabled-icon",attrs:{icon:"fth-lock",title:"Disabled"}})]},proxy:!0}],null,!1,3824822733)},[e._v(" "),e.canEdit?t("ui-dropdown-button",{attrs:{label:"Edit",icon:"fth-edit-2"},on:{click:function(n){return e.emit("edit")}}}):e._e(),e._v(" "),e.value.isActive?t("ui-dropdown-button",{attrs:{label:"Disable",icon:"fth-lock"},on:{click:function(n){return e.toggleStatus(!1)}}}):t("ui-dropdown-button",{attrs:{label:"Enable",icon:"fth-unlock"},on:{click:function(n){return e.toggleStatus(!0)}}}),e._v(" "),t("ui-dropdown-button",{attrs:{label:"Remove",icon:"fth-trash"},on:{click:function(n){return e.emit("remove")}}})],1)],1)])};DS._withStripped=!0;const BS=Da({render:DS,staticRenderFns:[]},(function(e){e&&e("data-v-2b01536c_0",{source:".ui-module-item {\n display: grid !important;\n grid-template-columns: 1fr auto 0;\n grid-column-gap: var(--padding);\n position: relative;\n margin: 0 -32px;\n padding: 0;\n /*margin-top: var(--padding);\n padding-top: var(--padding);*/\n border-bottom: 1px solid var(--color-line);\n /*&:first-child\n {\n border-top: none;\n }*/\n}\n.ui-module-item.can-edit .ui-module-item-content {\n cursor: pointer;\n}\n.ui-module-item:not(.can-edit) .ui-module-item-header {\n cursor: default;\n}\n.ui-module-item-content {\n padding: var(--padding);\n padding-right: 0;\n}\n.ui-module-item-header {\n display: flex;\n align-items: center;\n color: var(--color-text-dim);\n font-size: var(--font-size-s);\n width: 100%;\n}\n.ui-module-item-header i {\n font-size: var(--font-size-l);\n margin-right: 10px;\n position: relative;\n top: -1px;\n}\n.ui-module-item-header.is-error {\n color: var(--color-accent-error);\n}\n.ui-module-item-disabled {\n background: var(--color-box);\n border-radius: var(--radius);\n opacity: 0.5;\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n z-index: 1;\n}\n.ui-module-item-disabled-icon {\n position: relative;\n z-index: 1;\n}\n.ui-module-item-disabled-icon .ui-button-icon {\n color: var(--color-accent-error);\n}\n.ui-module-preview-inner {\n max-width: 1060px;\n}\n.ui-module-item-header + .ui-module-preview-inner {\n padding-top: 6px;\n}\n.ui-module-preview-inner p {\n margin: 0;\n}\n.ui-module-preview-inner p + p {\n margin-top: 10px;\n}\n.ui-module-preview-inner a {\n color: var(--color-text);\n text-decoration: underline dotted var(--color-text-dim);\n text-underline-offset: 3px;\n}\n.ui-module-item-actions {\n display: flex;\n grid-column: 2;\n align-self: center;\n margin: -10px 0;\n}\n.ui-module-item-actions > * + * {\n margin-left: 10px;\n}\n.ui-module-item-error {\n margin: 0;\n grid-column: 1;\n margin-top: 12px;\n}\n\n/*# sourceMappingURL=module-preview.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\modules\\module-preview.vue","module-preview.vue"],names:[],mappings:"AA6HA;EAEA,wBAAA;EACA,iCAAA;EACA,+BAAA;EACA,kBAAA;EACA,eAAA;EACA,UAAA;EACA;+BAAA;EAEA,0CAAA;EAYA;;;IAAA;ACrIA;AD2HA;EAEA,eAAA;AC1HA;AD6HA;EAEA,eAAA;AC5HA;ADqIA;EAEA,uBAAA;EACA,gBAAA;ACnIA;ADsIA;EAEA,aAAA;EACA,mBAAA;EACA,4BAAA;EACA,6BAAA;EACA,WAAA;ACpIA;ADsIA;EAEA,6BAAA;EACA,kBAAA;EACA,kBAAA;EACA,SAAA;ACrIA;ADwIA;EAEA,gCAAA;ACvIA;AD2IA;EAEA,4BAAA;EACA,4BAAA;EACA,YAAA;EACA,kBAAA;EACA,OAAA;EACA,QAAA;EACA,MAAA;EACA,SAAA;EACA,UAAA;ACzIA;AD4IA;EAEA,kBAAA;EACA,UAAA;AC1IA;AD4IA;EAEA,gCAAA;AC3IA;AD+IA;EAEA,iBAAA;AC7IA;AD+IA;EAEA,gBAAA;AC9IA;ADiJA;EAEA,SAAA;AChJA;ADmJA;EAEA,gBAAA;AClJA;ADqJA;EAEA,wBAAA;EACA,uDAAA;EACA,0BAAA;ACpJA;ADwJA;EAEA,aAAA;EACA,cAAA;EACA,kBAAA;EACA,eAAA;ACtJA;ADwJA;EAEA,iBAAA;ACvJA;AD2JA;EAEA,SAAA;EACA,cAAA;EACA,gBAAA;ACzJA;;AAEA,6CAA6C",file:"module-preview.vue",sourcesContent:['\ufeff<template>\r\n <div class="ui-module-item" v-if="!loading" :data-module="alias" :class="{\'can-edit\': canEdit }">\r\n <div class="ui-module-item-content" v-if="module" @click="emit(\'edit\')">\r\n <span v-if="!hasPreviewSettings || renderer.preview.label !== false" class="ui-module-item-header" v-localize="module.name"></span>\r\n <module-preview-inner v-if="tryRender" :template="renderer.preview.template" :value="value" />\r\n </div>\r\n <div class="ui-module-item-content" v-else>\r\n <span class="ui-module-item-header is-error"><i class="fth-alert-circle"></i> {{alias}}</span>\r\n <p class="ui-module-item-error" v-localize:html="{ key: \'@modules.notfound\', tokens: { alias: alias } }"></p>\r\n </div>\r\n\r\n <div v-if="!value.isActive" class="ui-module-item-disabled"></div>\r\n\r\n <div class="ui-module-item-actions" v-if="!disabled">\r\n <ui-dropdown align="right">\r\n <template v-slot:button>\r\n <ui-icon-button v-if="!value.isActive" class="ui-module-item-disabled-icon" icon="fth-lock" title="Disabled" />\r\n <ui-icon-button v-else icon="fth-more-horizontal" title="Actions" />\r\n </template>\r\n <ui-dropdown-button v-if="canEdit" label="Edit" icon="fth-edit-2" @click="emit(\'edit\')" />\r\n <ui-dropdown-button v-if="value.isActive" label="Disable" icon="fth-lock" @click="toggleStatus(false)" />\r\n <ui-dropdown-button v-else label="Enable" icon="fth-unlock" @click="toggleStatus(true)" />\r\n <ui-dropdown-button label="Remove" icon="fth-trash" @click="emit(\'remove\')" />\r\n </ui-dropdown>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import { find as _find } from \'underscore\';\r\n import ModulePreviewInner from \'./module-preview-inner.vue\';\r\n\r\n export default {\r\n name: \'uiModulePreview\',\r\n\r\n components: { ModulePreviewInner },\r\n\r\n props: {\r\n value: {\r\n type: Object,\r\n default: () => { }\r\n },\r\n types: {\r\n type: Array,\r\n default: () => []\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n },\r\n config: Object\r\n },\r\n\r\n\r\n data: () => ({\r\n loading: true,\r\n module: {},\r\n renderer: {}\r\n }),\r\n\r\n\r\n watch: {\r\n value(val)\r\n {\r\n this.render(val);\r\n }\r\n },\r\n\r\n\r\n computed: {\r\n alias()\r\n {\r\n return this.value.moduleTypeAlias;\r\n },\r\n hasPreviewSettings()\r\n {\r\n return this.module && this.renderer && typeof this.renderer.preview === \'object\';\r\n },\r\n tryRender()\r\n {\r\n return this.hasPreviewSettings && this.renderer.preview.template;\r\n },\r\n canEdit()\r\n {\r\n return this.module && this.renderer && this.renderer.fields && this.renderer.fields.length > 0;\r\n }\r\n },\r\n\r\n\r\n mounted()\r\n {\r\n this.render(this.value);\r\n },\r\n\r\n\r\n methods: {\r\n\r\n render(value)\r\n {\r\n this.loading = true;\r\n this.module = _find(this.types, x => x.alias == this.alias);\r\n this.renderer = null; // TODO zero.renderers[\'module.\' + this.alias];\r\n this.$nextTick(() => this.loading = false);\r\n },\r\n\r\n emit(ev)\r\n {\r\n if (!this.canEdit && ev === \'edit\')\r\n {\r\n return;\r\n }\r\n this.$emit(ev, this.module, this.value);\r\n },\r\n\r\n toggleStatus(isActive)\r\n {\r\n this.value.isActive = isActive;\r\n this.emit(\'isActive\');\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .ui-module-item\r\n {\r\n display: grid !important;\r\n grid-template-columns: 1fr auto 0;\r\n grid-column-gap: var(--padding);\r\n position: relative;\r\n margin: 0 -32px;\r\n padding: 0; //var(--padding);\r\n /*margin-top: var(--padding);\r\n padding-top: var(--padding);*/\r\n border-bottom: 1px solid var(--color-line);\r\n\r\n &.can-edit .ui-module-item-content\r\n {\r\n cursor: pointer;\r\n }\r\n\r\n &:not(.can-edit) .ui-module-item-header\r\n {\r\n cursor: default;\r\n }\r\n\r\n /*&:first-child\r\n {\r\n border-top: none;\r\n }*/\r\n }\r\n\r\n .ui-module-item-content\r\n {\r\n padding: var(--padding);\r\n padding-right: 0;\r\n }\r\n\r\n .ui-module-item-header\r\n {\r\n display: flex;\r\n align-items: center;\r\n color: var(--color-text-dim);\r\n font-size: var(--font-size-s);\r\n width: 100%;\r\n\r\n i\r\n {\r\n font-size: var(--font-size-l);\r\n margin-right: 10px;\r\n position: relative;\r\n top: -1px;\r\n }\r\n\r\n &.is-error\r\n {\r\n color: var(--color-accent-error);\r\n }\r\n }\r\n\r\n .ui-module-item-disabled\r\n {\r\n background: var(--color-box);\r\n border-radius: var(--radius);\r\n opacity: .5;\r\n position: absolute;\r\n left: 0;\r\n right: 0;\r\n top: 0;\r\n bottom: 0;\r\n z-index: 1;\r\n }\r\n\r\n .ui-module-item-disabled-icon\r\n {\r\n position: relative;\r\n z-index: 1;\r\n\r\n .ui-button-icon\r\n {\r\n color: var(--color-accent-error);\r\n }\r\n }\r\n\r\n .ui-module-preview-inner\r\n { \r\n max-width: 1060px;\r\n\r\n .ui-module-item-header + &\r\n {\r\n padding-top: 6px;\r\n }\r\n\r\n p\r\n {\r\n margin: 0;\r\n }\r\n\r\n p + p\r\n {\r\n margin-top: 10px;\r\n }\r\n\r\n a\r\n {\r\n color: var(--color-text);\r\n text-decoration: underline dotted var(--color-text-dim);\r\n text-underline-offset: 3px;\r\n }\r\n }\r\n\r\n .ui-module-item-actions\r\n {\r\n display: flex;\r\n grid-column: 2;\r\n align-self: center;\r\n margin: -10px 0;\r\n\r\n > * + *\r\n {\r\n margin-left: 10px;\r\n }\r\n }\r\n\r\n .ui-module-item-error\r\n {\r\n margin: 0;\r\n grid-column: 1;\r\n margin-top: 12px;\r\n }\r\n</style>',".ui-module-item {\n display: grid !important;\n grid-template-columns: 1fr auto 0;\n grid-column-gap: var(--padding);\n position: relative;\n margin: 0 -32px;\n padding: 0;\n /*margin-top: var(--padding);\n padding-top: var(--padding);*/\n border-bottom: 1px solid var(--color-line);\n /*&:first-child\n {\n border-top: none;\n }*/\n}\n.ui-module-item.can-edit .ui-module-item-content {\n cursor: pointer;\n}\n.ui-module-item:not(.can-edit) .ui-module-item-header {\n cursor: default;\n}\n\n.ui-module-item-content {\n padding: var(--padding);\n padding-right: 0;\n}\n\n.ui-module-item-header {\n display: flex;\n align-items: center;\n color: var(--color-text-dim);\n font-size: var(--font-size-s);\n width: 100%;\n}\n.ui-module-item-header i {\n font-size: var(--font-size-l);\n margin-right: 10px;\n position: relative;\n top: -1px;\n}\n.ui-module-item-header.is-error {\n color: var(--color-accent-error);\n}\n\n.ui-module-item-disabled {\n background: var(--color-box);\n border-radius: var(--radius);\n opacity: 0.5;\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n z-index: 1;\n}\n\n.ui-module-item-disabled-icon {\n position: relative;\n z-index: 1;\n}\n.ui-module-item-disabled-icon .ui-button-icon {\n color: var(--color-accent-error);\n}\n\n.ui-module-preview-inner {\n max-width: 1060px;\n}\n.ui-module-item-header + .ui-module-preview-inner {\n padding-top: 6px;\n}\n.ui-module-preview-inner p {\n margin: 0;\n}\n.ui-module-preview-inner p + p {\n margin-top: 10px;\n}\n.ui-module-preview-inner a {\n color: var(--color-text);\n text-decoration: underline dotted var(--color-text-dim);\n text-underline-offset: 3px;\n}\n\n.ui-module-item-actions {\n display: flex;\n grid-column: 2;\n align-self: center;\n margin: -10px 0;\n}\n.ui-module-item-actions > * + * {\n margin-left: 10px;\n}\n\n.ui-module-item-error {\n margin: 0;\n grid-column: 1;\n margin-top: 12px;\n}\n\n/*# sourceMappingURL=module-preview.vue.map */"]},media:void 0})}),SS,undefined,false,undefined,!1,Iu,void 0,void 0);const zS={name:"uiModuleSelect",props:{value:Array,config:Object,types:{type:Array,default:()=>[]},disabled:{type:Boolean,default:!1}},data:()=>({canAdd:!0,isSelecting:!1,moduleTypes:[],activeGroup:null}),watch:{types(e){this.rebuildGroups(e)}},created(){this.rebuildGroups(this.types)},methods:{rebuildGroups(e){let n=ru(e,(e=>e.group)),t=0;Ud(n,((e,n)=>{this.moduleTypes.push({name:n&&"null"!==n?n:"@modules.default_group",index:t++,count:e.length,items:e,isDisabled:!1})})),this.activeGroup=this.moduleTypes[0]},startSelection(){this.types.length>1?this.isSelecting=!0:1===this.types.length?this.$emit("selected",this.types[0],!0):Ff.error("No modules allowed","There are no modules configured which are allowed for this data type.",{duration:5e3})},selectGroup(e){this.activeGroup=e},editModule(e,n){this.$emit("selected",e,n)},reset(){this.isSelecting=!1,this.activeGroup=this.moduleTypes[0]}}};var OS=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-modules-start"},[e.isSelecting?e._e():t("button",{staticClass:"ui-modules-start-button",attrs:{type:"button"},on:{click:e.startSelection}},[t("i",{staticClass:"ui-modules-start-button-icon fth-plus"}),e._v(" "),e._m(0)]),e._v(" "),e.isSelecting?t("div",{staticClass:"ui-modules-select"},[t("ui-icon-button",{staticClass:"ui-modules-select-close",attrs:{icon:"fth-x",title:"@ui.close"},on:{click:function(n){e.isSelecting=!1}}}),e._v(" "),t("ui-inline-tabs",{staticClass:"ui-modules-select-groups"},e._l(e.moduleTypes,(function(n){return t("ui-tab",{key:n.key,attrs:{label:n.name,count:n.count}},[t("div",{staticClass:"ui-modules-select-items"},e._l(n.items,(function(n){return t("button",{key:n.alias,staticClass:"ui-modules-select-item",attrs:{type:"button",disabled:n.isDisabled},on:{click:function(t){return e.editModule(n,!0)}}},[t("div",{staticClass:"ui-modules-select-item-icon"},[t("i",{class:n.icon})]),e._v(" "),t("div",{staticClass:"ui-modules-select-item-text"},[t("strong",{directives:[{name:"localize",rawName:"v-localize",value:n.name,expression:"item.name"}]}),e._v(" "),t("span",{directives:[{name:"localize",rawName:"v-localize",value:n.description,expression:"item.description"}],staticClass:"is-minor"})]),e._v(" "),n.isDisabled?t("span",{staticClass:"ui-modules-select-item-disabled"},[e._v("Not allowed "),t("i",{staticClass:"fth-slash"})]):e._e()])})),0)])})),1)],1):e._e()])};OS._withStripped=!0;const MS={name:"uiModules",components:{ModulePreview:BS,ModuleSelect:Da({render:OS,staticRenderFns:[function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("p",{staticClass:"ui-modules-start-button-text"},[t("strong",[e._v("Add content")])])}]},(function(e){e&&e("data-v-a49da426_0",{source:".ui-modules-start {\n margin: 0;\n display: flex;\n}\n.ui-modules-inner-sortable + .ui-modules-start {\n margin-top: var(--padding);\n}\n.ui-modules-start-button {\n color: var(--color-primary);\n font-size: var(--font-size);\n display: inline-grid;\n grid-template-columns: auto 1fr;\n gap: 25px;\n align-items: center;\n}\n.ui-modules-start-button-icon {\n width: 52px;\n height: 52px;\n line-height: 50px !important;\n font-size: 20px;\n text-align: center;\n background: var(--color-button-light);\n border-radius: var(--radius);\n}\n.ui-modules-start-button-text {\n line-height: 1.3;\n color: var(--color-text-dim);\n margin: 0;\n font-size: var(--font-size-s);\n}\n.ui-modules-start-button-text strong {\n display: inline-block;\n margin-bottom: 2px;\n color: var(--color-text);\n font-size: var(--font-size);\n}\n.ui-modules-select {\n width: 100%;\n position: relative;\n}\n.ui-modules-select .ui-inline-tabs-list {\n padding-right: 50px;\n}\n.ui-modules-select-close {\n position: absolute;\n right: 0;\n top: 0;\n background: none !important;\n}\n.ui-modules-select-items {\n display: grid;\n gap: 10px;\n grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));\n align-items: stretch;\n}\n.ui-modules-select-item {\n display: grid;\n grid-template-columns: 76px 1fr;\n align-items: center;\n height: 100px;\n border-radius: var(--radius);\n background: var(--color-button-light);\n padding: 10px var(--padding) 10px 0;\n position: relative;\n}\n.ui-modules-select-item[disabled] {\n opacity: 0.6;\n}\n.ui-modules-select-item-icon {\n display: inline-flex;\n justify-content: center;\n color: var(--color-text);\n font-size: 26px;\n}\n.ui-modules-select-item-text strong {\n display: block;\n margin-bottom: 3px;\n}\n.ui-modules-select-item-text .is-minor {\n color: var(--color-text-dim);\n font-size: var(--font-size-s);\n}\n.ui-modules-select-item-disabled {\n position: absolute;\n right: 5px;\n top: 5px;\n display: inline-flex;\n align-items: center;\n font-size: 8px;\n text-transform: uppercase;\n color: var(--color-text-dim-one);\n line-height: 1;\n font-weight: 600;\n}\n.ui-modules-select-item-disabled i {\n margin-left: 6px;\n font-size: 13px;\n}\n\n/*# sourceMappingURL=module-select.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\modules\\module-select.vue","module-select.vue"],names:[],mappings:"AAuIA;EAEA,SAAA;EACA,aAAA;ACvIA;ADyIA;EAEA,0BAAA;ACxIA;AD4IA;EAEA,2BAAA;EACA,2BAAA;EACA,oBAAA;EACA,+BAAA;EACA,SAAA;EACA,mBAAA;AC1IA;AD6IA;EAEA,WAAA;EACA,YAAA;EACA,4BAAA;EACA,eAAA;EACA,kBAAA;EACA,qCAAA;EACA,4BAAA;AC3IA;AD8IA;EAEA,gBAAA;EACA,4BAAA;EACA,SAAA;EACA,6BAAA;AC5IA;AD8IA;EAEA,qBAAA;EACA,kBAAA;EACA,wBAAA;EACA,2BAAA;AC7IA;ADiJA;EAEA,WAAA;EACA,kBAAA;AC/IA;ADiJA;EAEA,mBAAA;AChJA;ADoJA;EAEA,kBAAA;EACA,QAAA;EACA,MAAA;EACA,2BAAA;AClJA;ADqJA;EAEA,aAAA;EACA,SAAA;EACA,4DAAA;EACA,oBAAA;ACnJA;ADsJA;EAEA,aAAA;EACA,+BAAA;EACA,mBAAA;EACA,aAAA;EACA,4BAAA;EACA,qCAAA;EACA,mCAAA;EACA,kBAAA;ACpJA;ADsJA;EAEA,YAAA;ACrJA;ADyJA;EAEA,oBAAA;EACA,uBAAA;EACA,wBAAA;EACA,eAAA;ACvJA;AD4JA;EAEA,cAAA;EACA,kBAAA;AC1JA;AD6JA;EAEA,4BAAA;EACA,6BAAA;AC5JA;ADgKA;EAEA,kBAAA;EACA,UAAA;EACA,QAAA;EACA,oBAAA;EACA,mBAAA;EACA,cAAA;EACA,yBAAA;EACA,gCAAA;EACA,cAAA;EACA,gBAAA;AC9JA;ADgKA;EAEA,gBAAA;EACA,eAAA;AC/JA;;AAEA,4CAA4C",file:"module-select.vue",sourcesContent:['\ufeff<template>\r\n <div class="ui-modules-start">\r\n\r\n <button v-if="!isSelecting" type="button" class="ui-modules-start-button" @click="startSelection">\r\n <i class="ui-modules-start-button-icon fth-plus"></i>\r\n <p class="ui-modules-start-button-text"><strong>Add content</strong> \x3c!--<br>Compose the page by adding modules--\x3e</p>\r\n </button>\r\n\r\n <div class="ui-modules-select" v-if="isSelecting">\r\n <ui-icon-button class="ui-modules-select-close" @click="isSelecting=false" icon="fth-x" title="@ui.close" />\r\n <ui-inline-tabs class="ui-modules-select-groups">\r\n <ui-tab v-for="group in moduleTypes" :key="group.key" :label="group.name" :count="group.count">\r\n <div class="ui-modules-select-items">\r\n <button v-for="item in group.items" :key="item.alias" type="button" class="ui-modules-select-item" :disabled="item.isDisabled" @click="editModule(item, true)">\r\n <div class="ui-modules-select-item-icon">\r\n <i :class="item.icon"></i>\r\n </div>\r\n <div class="ui-modules-select-item-text">\r\n <strong v-localize="item.name"></strong>\r\n <span class="is-minor" v-localize="item.description"></span>\r\n </div>\r\n <span v-if="item.isDisabled" class="ui-modules-select-item-disabled">Not allowed <i class="fth-slash"></i></span>\r\n </button>\r\n </div>\r\n </ui-tab>\r\n </ui-inline-tabs>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import { groupBy as _groupBy, keys as _keys, each as _each } from \'underscore\';\r\n import Notification from \'zero/helpers/notification.js\';\r\n\r\n export default {\r\n name: \'uiModuleSelect\',\r\n\r\n props: {\r\n value: Array,\r\n config: Object,\r\n types: {\r\n type: Array,\r\n default: () => []\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n\r\n\r\n data: () => ({\r\n canAdd: true,\r\n isSelecting: false,\r\n moduleTypes: [],\r\n activeGroup: null\r\n }),\r\n\r\n\r\n watch: {\r\n types(val)\r\n {\r\n this.rebuildGroups(val);\r\n }\r\n },\r\n\r\n\r\n created()\r\n {\r\n this.rebuildGroups(this.types);\r\n },\r\n\r\n\r\n methods: {\r\n\r\n rebuildGroups(value)\r\n {\r\n let groups = _groupBy(value, val => val.group);\r\n let index = 0;\r\n\r\n _each(groups, (items, key) =>\r\n {\r\n this.moduleTypes.push({\r\n name: !key || key === \'null\' ? \'@modules.default_group\' : key,\r\n index: index++,\r\n count: items.length,\r\n items: items,\r\n isDisabled: false\r\n });\r\n });\r\n\r\n this.activeGroup = this.moduleTypes[0];\r\n },\r\n\r\n\r\n startSelection()\r\n {\r\n if (this.types.length > 1)\r\n {\r\n this.isSelecting = true;\r\n }\r\n else if (this.types.length === 1)\r\n {\r\n this.$emit(\'selected\', this.types[0], true);\r\n }\r\n else\r\n {\r\n Notification.error(\'No modules allowed\', \'There are no modules configured which are allowed for this data type.\', { duration: 5000 });\r\n }\r\n },\r\n\r\n\r\n selectGroup(group)\r\n {\r\n this.activeGroup = group;\r\n },\r\n\r\n\r\n editModule(module, isAdd)\r\n {\r\n this.$emit(\'selected\', module, isAdd);\r\n },\r\n\r\n\r\n reset()\r\n {\r\n this.isSelecting = false;\r\n this.activeGroup = this.moduleTypes[0];\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .ui-modules-start\r\n {\r\n margin: 0;\r\n display: flex;\r\n\r\n .ui-modules-inner-sortable + &\r\n {\r\n margin-top: var(--padding);\r\n }\r\n }\r\n\r\n .ui-modules-start-button\r\n {\r\n color: var(--color-primary);\r\n font-size: var(--font-size);\r\n display: inline-grid;\r\n grid-template-columns: auto 1fr;\r\n gap: 25px;\r\n align-items: center;\r\n }\r\n\r\n .ui-modules-start-button-icon\r\n {\r\n width: 52px;\r\n height: 52px;\r\n line-height: 50px !important;\r\n font-size: 20px;\r\n text-align: center;\r\n background: var(--color-button-light);\r\n border-radius: var(--radius);\r\n }\r\n\r\n .ui-modules-start-button-text\r\n {\r\n line-height: 1.3;\r\n color: var(--color-text-dim);\r\n margin: 0;\r\n font-size: var(--font-size-s);\r\n\r\n strong\r\n {\r\n display: inline-block;\r\n margin-bottom: 2px;\r\n color: var(--color-text);\r\n font-size: var(--font-size);\r\n }\r\n }\r\n\r\n .ui-modules-select\r\n {\r\n width: 100%;\r\n position: relative;\r\n\r\n .ui-inline-tabs-list\r\n {\r\n padding-right: 50px;\r\n }\r\n }\r\n\r\n .ui-modules-select-close\r\n {\r\n position: absolute;\r\n right: 0;\r\n top: 0;\r\n background: none !important;\r\n }\r\n\r\n .ui-modules-select-items\r\n {\r\n display: grid;\r\n gap: 10px;\r\n grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));\r\n align-items: stretch;\r\n }\r\n\r\n .ui-modules-select-item\r\n {\r\n display: grid;\r\n grid-template-columns: 76px 1fr;\r\n align-items: center;\r\n height: 100px;\r\n border-radius: var(--radius);\r\n background: var(--color-button-light);\r\n padding: 10px var(--padding) 10px 0;\r\n position: relative;\r\n\r\n &[disabled]\r\n {\r\n opacity: .6;\r\n }\r\n }\r\n\r\n .ui-modules-select-item-icon\r\n {\r\n display: inline-flex;\r\n justify-content: center;\r\n color: var(--color-text);\r\n font-size: 26px;\r\n }\r\n\r\n .ui-modules-select-item-text\r\n {\r\n strong\r\n {\r\n display: block;\r\n margin-bottom: 3px;\r\n }\r\n\r\n .is-minor\r\n {\r\n color: var(--color-text-dim);\r\n font-size: var(--font-size-s);\r\n }\r\n }\r\n\r\n .ui-modules-select-item-disabled\r\n {\r\n position: absolute;\r\n right: 5px;\r\n top: 5px;\r\n display: inline-flex;\r\n align-items: center;\r\n font-size: 8px;\r\n text-transform: uppercase;\r\n color: var(--color-text-dim-one);\r\n line-height: 1;\r\n font-weight: 600;\r\n\r\n i\r\n {\r\n margin-left: 6px;\r\n font-size: 13px;\r\n }\r\n }\r\n</style>',".ui-modules-start {\n margin: 0;\n display: flex;\n}\n.ui-modules-inner-sortable + .ui-modules-start {\n margin-top: var(--padding);\n}\n\n.ui-modules-start-button {\n color: var(--color-primary);\n font-size: var(--font-size);\n display: inline-grid;\n grid-template-columns: auto 1fr;\n gap: 25px;\n align-items: center;\n}\n\n.ui-modules-start-button-icon {\n width: 52px;\n height: 52px;\n line-height: 50px !important;\n font-size: 20px;\n text-align: center;\n background: var(--color-button-light);\n border-radius: var(--radius);\n}\n\n.ui-modules-start-button-text {\n line-height: 1.3;\n color: var(--color-text-dim);\n margin: 0;\n font-size: var(--font-size-s);\n}\n.ui-modules-start-button-text strong {\n display: inline-block;\n margin-bottom: 2px;\n color: var(--color-text);\n font-size: var(--font-size);\n}\n\n.ui-modules-select {\n width: 100%;\n position: relative;\n}\n.ui-modules-select .ui-inline-tabs-list {\n padding-right: 50px;\n}\n\n.ui-modules-select-close {\n position: absolute;\n right: 0;\n top: 0;\n background: none !important;\n}\n\n.ui-modules-select-items {\n display: grid;\n gap: 10px;\n grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));\n align-items: stretch;\n}\n\n.ui-modules-select-item {\n display: grid;\n grid-template-columns: 76px 1fr;\n align-items: center;\n height: 100px;\n border-radius: var(--radius);\n background: var(--color-button-light);\n padding: 10px var(--padding) 10px 0;\n position: relative;\n}\n.ui-modules-select-item[disabled] {\n opacity: 0.6;\n}\n\n.ui-modules-select-item-icon {\n display: inline-flex;\n justify-content: center;\n color: var(--color-text);\n font-size: 26px;\n}\n\n.ui-modules-select-item-text strong {\n display: block;\n margin-bottom: 3px;\n}\n.ui-modules-select-item-text .is-minor {\n color: var(--color-text-dim);\n font-size: var(--font-size-s);\n}\n\n.ui-modules-select-item-disabled {\n position: absolute;\n right: 5px;\n top: 5px;\n display: inline-flex;\n align-items: center;\n font-size: 8px;\n text-transform: uppercase;\n color: var(--color-text-dim-one);\n line-height: 1;\n font-weight: 600;\n}\n.ui-modules-select-item-disabled i {\n margin-left: 6px;\n font-size: 13px;\n}\n\n/*# sourceMappingURL=module-select.vue.map */"]},media:void 0})}),zS,undefined,false,undefined,!1,Iu,void 0,void 0)},props:{value:{type:Array,default:()=>[]},disabled:{type:Boolean,default:!1},tags:{type:Array,default:()=>[]},config:Object},data:()=>({items:[],moduleTypes:[]}),watch:{value(e){this.setup(e)}},computed:{canAdd(){return!this.disabled}},created(){ES(this.tags).then((e=>{this.moduleTypes=e,this.setup(this.value)}))},methods:{setup(e){this.items=JSON.parse(JSON.stringify(e||[]))},onAdd(e){this.edit(e,null,!0)},onSortingUpdated(e){this.items=Xf.move(this.items,e.oldIndex,e.newIndex);let n=0;this.items.forEach((e=>e.sort=n++)),this.onChange()},edit(e,n,t){const r="modules."+e.alias,i=this.zero.getEditor(r);return!i.fields||i.fields.length<1?xS(e.alias).then((e=>{this.items.push(e.entity),this.$refs.moduleSelect.reset(),this.onChange()})):Uu.open({component:_S,display:"editor",module:e,editor:i,model:n,width:1100}).then((e=>{t?(this.items.push(e),this.$refs.moduleSelect.reset()):Xf.replace(this.items,n,e),this.onChange()}))},remove(e,n){Xf.remove(this.items,n),this.onChange()},onChange(){this.$emit("input",this.items)}}};var TS=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-modules-inner"},[e.items.length?t("div",{directives:[{name:"sortable",rawName:"v-sortable",value:{onUpdate:e.onSortingUpdated},expression:"{ onUpdate: onSortingUpdated }"}],staticClass:"ui-modules-inner-sortable"},e._l(e.items,(function(n){return t("module-preview",{key:n.id,attrs:{types:e.moduleTypes,value:n,disabled:e.disabled},on:{edit:e.edit,remove:e.remove}})})),1):e._e(),e._v(" "),e.canAdd?t("module-select",{ref:"moduleSelect",attrs:{types:e.moduleTypes,value:e.value},on:{selected:e.onAdd}}):e._e()],1)};TS._withStripped=!0;const IS=Da({render:TS,staticRenderFns:[]},(function(e){e&&e("data-v-0fab3ac7_0",{source:".ui-modules-inner-sortable {\n margin-top: -32px;\n}\n\n/*# sourceMappingURL=modules.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\modules\\modules.vue","modules.vue"],names:[],mappings:"AA6JA;EAEA,iBAAA;AC7JA;;AAEA,sCAAsC",file:"modules.vue",sourcesContent:['\ufeff<template>\r\n <div class="ui-modules-inner">\r\n <div v-if="items.length" class="ui-modules-inner-sortable" v-sortable="{ onUpdate: onSortingUpdated }">\r\n <module-preview v-for="item in items" :key="item.id" :types="moduleTypes" :value="item" @edit="edit" @remove="remove" :disabled="disabled" />\r\n </div>\r\n <module-select ref="moduleSelect" :types="moduleTypes" :value="value" v-if="canAdd" @selected="onAdd" />\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import ModulesApi from \'zero/api/modules.js\';\r\n import EditModuleOverlay from \'./edit-module.vue\';\r\n import ModulePreview from \'./module-preview.vue\';\r\n import ModuleSelect from \'./module-select.vue\';\r\n import Overlay from \'zero/helpers/overlay.js\';\r\n import Arrays from \'zero/helpers/arrays.js\';\r\n\r\n export default {\r\n name: \'uiModules\',\r\n\r\n components: { ModulePreview, ModuleSelect },\r\n\r\n props: {\r\n value: {\r\n type: Array,\r\n default: () => []\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n },\r\n tags: {\r\n type: Array,\r\n default: () => []\r\n },\r\n config: Object\r\n },\r\n\r\n\r\n data: () => ({\r\n items: [],\r\n moduleTypes: []\r\n }),\r\n\r\n\r\n watch: {\r\n value(val)\r\n {\r\n this.setup(val);\r\n }\r\n },\r\n\r\n\r\n computed: {\r\n canAdd()\r\n {\r\n return !this.disabled;\r\n }\r\n },\r\n\r\n\r\n created()\r\n {\r\n ModulesApi.getModuleTypes(this.tags).then(res =>\r\n {\r\n this.moduleTypes = res;\r\n this.setup(this.value);\r\n });\r\n },\r\n\r\n\r\n methods: {\r\n\r\n setup(value)\r\n {\r\n this.items = JSON.parse(JSON.stringify(value || []));\r\n },\r\n\r\n\r\n onAdd(module)\r\n {\r\n this.edit(module, null, true);\r\n },\r\n\r\n\r\n onSortingUpdated(ev)\r\n {\r\n this.items = Arrays.move(this.items, ev.oldIndex, ev.newIndex);\r\n let sort = 0;\r\n this.items.forEach(x => x.sort = sort++);\r\n this.onChange();\r\n },\r\n\r\n\r\n edit(module, model, isAdd)\r\n {\r\n const alias = \'modules.\' + module.alias;\r\n const editor = this.zero.getEditor(alias);\r\n\r\n if (!editor)\r\n {\r\n // TODO throw error\r\n }\r\n\r\n // some modules can have no fields for editing, so we add them directly\r\n if (!editor.fields || editor.fields.length < 1)\r\n {\r\n return ModulesApi.getEmpty(module.alias).then(res =>\r\n {\r\n this.items.push(res.entity);\r\n this.$refs.moduleSelect.reset();\r\n this.onChange();\r\n });\r\n }\r\n\r\n // open editing overlay\r\n return Overlay.open({\r\n component: EditModuleOverlay,\r\n display: \'editor\',\r\n module: module,\r\n editor: editor,\r\n model: model,\r\n width: 1100\r\n }).then(value =>\r\n {\r\n if (isAdd)\r\n {\r\n this.items.push(value);\r\n this.$refs.moduleSelect.reset();\r\n }\r\n else\r\n {\r\n Arrays.replace(this.items, model, value);\r\n }\r\n\r\n this.onChange();\r\n });\r\n },\r\n\r\n\r\n remove(module, model)\r\n {\r\n Arrays.remove(this.items, model);\r\n this.onChange();\r\n },\r\n\r\n\r\n onChange()\r\n {\r\n this.$emit(\'input\', this.items);\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .ui-modules-inner-sortable\r\n {\r\n margin-top: -32px;\r\n }\r\n</style>',".ui-modules-inner-sortable {\n margin-top: -32px;\n}\n\n/*# sourceMappingURL=modules.vue.map */"]},media:void 0})}),MS,undefined,false,undefined,!1,Iu,void 0,void 0);const $S={name:"uiDropdownButton",props:{value:{default:null},multiline:{type:Boolean,default:!1},label:{type:String,required:!0},icon:{type:String},selected:{type:Boolean,default:!1},action:{type:Function,default:()=>{}},confirm:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},prevent:{type:Boolean,default:!1}},data:()=>({dropdown:null,loading:!1,confirming:!1}),mounted(){let e=this;do{if("uiDropdown"===e.$options.name){this.dropdown=e;break}}while(e=e.$parent);this.dropdown},methods:{onClick(e,n){var t=this;if(!this.loading&&!this.disabled){if(this.confirm&&!n)return void(this.confirming=!0);this.confirming=!1,!this.prevent&&this.dropdown&&this.dropdown.hide(),this.$emit("click",this.value,{dropdown:this.dropdown,hide(){this.dropdown&&this.dropdown.hide(),t.$emit("hide")},loading(e){t.loading=e}})}},onClickShim(e){e.preventDefault(),e.stopPropagation()}}};var NS=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{on:{click:e.onClickShim}},[e.confirming?e._e():t("button",{staticClass:"ui-dropdown-button",class:{"has-icon":e.icon,"is-active":e.selected,"is-multiline":e.multiline},attrs:{disabled:e.disabled,type:"button"},on:{click:e.onClick}},[e.icon?t("ui-icon",{staticClass:"ui-dropdown-button-icon",attrs:{icon:e.icon}}):e._e(),e._v("\n "+e._s(e._f("localize")(e.label))+"\n "),e.selected?t("ui-icon",{staticClass:"ui-dropdown-button-selected",attrs:{icon:"check"}}):e._e(),e._v(" "),e.loading?t("i",{staticClass:"ui-dropdown-button-progress"}):e._e()],1),e._v(" "),e.confirming?t("div",{staticClass:"ui-dropdown-button-confirmation"},[e.icon?t("ui-icon",{staticClass:"ui-dropdown-button-icon",attrs:{icon:e.icon}}):e._e(),e._v("\n "+e._s(e._f("localize")(e.label))+"\n "),t("ui-button",{attrs:{type:"small primary",label:"OK"},on:{click:function(n){return e.onClick(n,!0)}}}),e._v(" "),t("ui-button",{attrs:{type:"small light",label:"Cancel"},on:{click:function(n){e.confirming=!1}}})],1):e._e()])};NS._withStripped=!0;const RS=Da({render:NS,staticRenderFns:[]},(function(e){e&&e("data-v-9ff808fc_0",{source:"button.ui-dropdown-button {\n display: grid;\n width: 100%;\n grid-template-columns: minmax(0, 1fr) auto;\n gap: 6px;\n align-items: center;\n font-size: var(--font-size);\n padding: 0 16px;\n height: 48px;\n color: var(--color-text);\n border-radius: var(--radius);\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n max-width: 100%;\n}\nbutton.ui-dropdown-button.has-icon {\n grid-template-columns: 30px minmax(0, 1fr) auto;\n}\nbutton.ui-dropdown-button.has-icon:not([disabled]):hover .ui-dropdown-button-icon {\n color: var(--color-text);\n}\nbutton.ui-dropdown-button.has-icon.is-negative:not([disabled]):hover .ui-dropdown-button-icon {\n color: var(--color-accent-error);\n}\nbutton.ui-dropdown-button.is-multiline {\n white-space: normal;\n overflow: visible;\n}\nbutton.ui-dropdown-button:not([disabled]):hover, button.ui-dropdown-button.is-active, button.ui-dropdown-button:focus {\n background: var(--color-dropdown-selected);\n color: var(--color-text);\n}\nbutton.ui-dropdown-button:not([disabled]):hover .ui-dropdown-list-item-icon, button.ui-dropdown-button.is-active .ui-dropdown-list-item-icon, button.ui-dropdown-button:focus .ui-dropdown-list-item-icon {\n color: var(--color-text);\n}\nbutton.ui-dropdown-button.is-active {\n font-weight: 700;\n}\nbutton.ui-dropdown-button.is-active .ui-dropdown-button-icon {\n color: var(--color-text);\n}\nbutton.ui-dropdown-button[disabled] {\n color: var(--color-text-dim);\n cursor: default;\n pointer-events: none;\n}\nbutton.ui-dropdown-button[disabled] .ui-dropdown-list-item-icon,\nbutton.ui-dropdown-button[disabled] .ui-dropdown-button-icon {\n color: var(--color-text-dim);\n}\nbutton.ui-dropdown-button + .ui-dropdown-button {\n margin-top: 4px;\n}\n.ui-dropdown-button-icon {\n font-size: 18px;\n line-height: 1;\n font-weight: 400;\n position: relative;\n top: -1px;\n color: var(--color-text-dim);\n}\n.ui-dropdown-button-progress {\n width: 16px;\n height: 16px;\n z-index: 2;\n border-radius: 40px;\n border: 2px solid transparent;\n border-left-color: var(--color-text);\n opacity: 1;\n will-change: transform;\n animation: rotating 0.5s linear infinite;\n transition: opacity 0.25s ease;\n}\n.ui-dropdown-button-confirmation {\n display: grid;\n flex-grow: 0;\n width: 100%;\n grid-template-columns: 30px minmax(0, 1fr) auto auto;\n gap: 6px;\n align-items: center;\n font-size: var(--font-size);\n padding: 0 6px 0 16px;\n height: 48px;\n color: var(--color-text);\n border-radius: var(--radius);\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n max-width: 300px;\n}\n.ui-dropdown-button-confirmation .ui-button + .ui-button {\n margin-left: 4px;\n}\n@keyframes rotating {\nfrom {\n -webkit-transform: rotate(0);\n transform: rotate(0);\n}\nto {\n -webkit-transform: rotate(1turn);\n transform: rotate(1turn);\n}\n}\n\n/*# sourceMappingURL=dropdown-button.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\overlays\\dropdown-button.vue","dropdown-button.vue"],names:[],mappings:"AA8IA;EAEA,aAAA;EACA,WAAA;EACA,0CAAA;EACA,QAAA;EACA,mBAAA;EACA,2BAAA;EACA,eAAA;EACA,YAAA;EACA,wBAAA;EACA,4BAAA;EACA,mBAAA;EACA,uBAAA;EACA,gBAAA;EACA,eAAA;AC9IA;ADgJA;EAEA,+CAAA;AC/IA;ADiJA;EAEA,wBAAA;AChJA;ADoJA;EAEA,gCAAA;ACnJA;ADsJA;EAEA,mBAAA;EACA,iBAAA;ACrJA;ADwJA;EAEA,0CAAA;EACA,wBAAA;ACvJA;AD0JA;EAEA,wBAAA;ACzJA;AD6JA;EAEA,gBAAA;AC5JA;AD+JA;EAEA,wBAAA;AC9JA;ADiKA;EAEA,4BAAA;EACA,eAAA;EACA,oBAAA;AChKA;ADkKA;;EAGA,4BAAA;ACjKA;ADqKA;EAEA,eAAA;ACpKA;ADwKA;EAEA,eAAA;EACA,cAAA;EACA,gBAAA;EACA,kBAAA;EACA,SAAA;EACA,4BAAA;ACtKA;ADyKA;EAEA,WAAA;EACA,YAAA;EACA,UAAA;EACA,mBAAA;EACA,6BAAA;EACA,oCAAA;EACA,UAAA;EACA,sBAAA;EACA,wCAAA;EACA,8BAAA;ACvKA;AD0KA;EAEA,aAAA;EACA,YAAA;EACA,WAAA;EACA,oDAAA;EACA,QAAA;EACA,mBAAA;EACA,2BAAA;EACA,qBAAA;EACA,YAAA;EACA,wBAAA;EACA,4BAAA;EACA,mBAAA;EACA,uBAAA;EACA,gBAAA;EACA,gBAAA;ACxKA;ADyKA;EAEA,gBAAA;ACxKA;AD4KA;AAEA;IAEA,4BAAA;IACA,oBAAA;AC3KE;AD6KF;IAEA,gCAAA;IACA,wBAAA;AC5KE;AACF;;AAEA,8CAA8C",file:"dropdown-button.vue",sourcesContent:['\ufeff<template>\r\n \x3c!-- // TODO remove surrounding div as soon as we can have multiple roots (vue 3) --\x3e\r\n <div @click="onClickShim">\r\n <button v-if="!confirming" :disabled="disabled" type="button" @click="onClick" class="ui-dropdown-button" :class="{ \'has-icon\': icon, \'is-active\': selected, \'is-multiline\': multiline }">\r\n <ui-icon v-if="icon" :icon="icon" class="ui-dropdown-button-icon" />\r\n {{label | localize}}\r\n <ui-icon v-if="selected" icon="check" class="ui-dropdown-button-selected" />\r\n <i v-if="loading" class="ui-dropdown-button-progress"></i>\r\n </button>\r\n <div v-if="confirming" class="ui-dropdown-button-confirmation">\r\n <ui-icon v-if="icon" :icon="icon" class="ui-dropdown-button-icon" />\r\n {{label | localize}}\r\n <ui-button type="small primary" label="OK" @click="onClick($event, true)" />\r\n <ui-button type="small light" label="Cancel" @click="confirming=false" />\r\n </div>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import { warn } from \'zero/helpers/debug.js\';\r\n\r\n export default {\r\n name: \'uiDropdownButton\',\r\n\r\n props: {\r\n value: {\r\n default: null\r\n },\r\n multiline: {\r\n type: Boolean,\r\n default: false\r\n },\r\n label: {\r\n type: String,\r\n required: true\r\n },\r\n icon: {\r\n type: String\r\n },\r\n selected: {\r\n type: Boolean,\r\n default: false\r\n },\r\n action: {\r\n type: Function,\r\n default: () => { }\r\n },\r\n confirm: {\r\n type: Boolean,\r\n default: false\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n },\r\n prevent: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n\r\n data: () => ({\r\n dropdown: null,\r\n loading: false,\r\n confirming: false\r\n }),\r\n\r\n mounted ()\r\n {\r\n // find parent dropdown so we can pass it on item click\r\n let current = this;\r\n do\r\n {\r\n if (current.$options.name === \'uiDropdown\')\r\n {\r\n this.dropdown = current;\r\n break;\r\n }\r\n }\r\n while (current = current.$parent);\r\n\r\n if (!this.dropdown)\r\n {\r\n warn(\'ui-dropdown-button: Could not find parent <ui-dropdown />\');\r\n }\r\n },\r\n\r\n methods: {\r\n\r\n onClick(e, confirmed)\r\n {\r\n var instance = this;\r\n\r\n if (!this.loading && !this.disabled)\r\n {\r\n if (this.confirm && !confirmed)\r\n {\r\n this.confirming = true;\r\n //var confirmed = window.confirm(\'confirm?\');\r\n return;\r\n }\r\n else\r\n {\r\n this.confirming = false;\r\n }\r\n\r\n if (!this.prevent && this.dropdown)\r\n {\r\n this.dropdown.hide();\r\n }\r\n\r\n this.$emit(\'click\', this.value, {\r\n dropdown: this.dropdown,\r\n hide()\r\n {\r\n if (this.dropdown)\r\n {\r\n this.dropdown.hide();\r\n }\r\n instance.$emit(\'hide\');\r\n },\r\n loading(isLoading)\r\n {\r\n instance.loading = isLoading;\r\n }\r\n });\r\n }\r\n },\r\n\r\n onClickShim(e)\r\n {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n\r\n }\r\n }\r\n<\/script>\r\n\r\n\r\n<style lang="scss">\r\n button.ui-dropdown-button\r\n {\r\n display: grid;\r\n width: 100%;\r\n grid-template-columns: minmax(0, 1fr) auto;\r\n gap: 6px;\r\n align-items: center;\r\n font-size: var(--font-size);\r\n padding: 0 16px;\r\n height: 48px;\r\n color: var(--color-text);\r\n border-radius: var(--radius);\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n overflow: hidden;\r\n max-width: 100%;\r\n\r\n &.has-icon\r\n {\r\n grid-template-columns: 30px minmax(0, 1fr) auto;\r\n\r\n &:not([disabled]):hover .ui-dropdown-button-icon\r\n {\r\n color: var(--color-text);\r\n }\r\n }\r\n\r\n &.has-icon.is-negative:not([disabled]):hover .ui-dropdown-button-icon\r\n {\r\n color: var(--color-accent-error);\r\n }\r\n\r\n &.is-multiline\r\n {\r\n white-space: normal;\r\n overflow: visible;\r\n }\r\n\r\n &:not([disabled]):hover, &.is-active, &:focus\r\n {\r\n background: var(--color-dropdown-selected);\r\n color: var(--color-text);\r\n //font-weight: 700;\r\n\r\n .ui-dropdown-list-item-icon\r\n {\r\n color: var(--color-text);\r\n }\r\n }\r\n\r\n &.is-active\r\n {\r\n font-weight: 700;\r\n }\r\n\r\n &.is-active .ui-dropdown-button-icon\r\n {\r\n color: var(--color-text);\r\n }\r\n\r\n &[disabled]\r\n {\r\n color: var(--color-text-dim);\r\n cursor: default;\r\n pointer-events: none;\r\n\r\n .ui-dropdown-list-item-icon,\r\n .ui-dropdown-button-icon\r\n {\r\n color: var(--color-text-dim);\r\n }\r\n }\r\n\r\n & + .ui-dropdown-button\r\n {\r\n margin-top: 4px;\r\n }\r\n }\r\n\r\n .ui-dropdown-button-icon\r\n {\r\n font-size: 18px;\r\n line-height: 1;\r\n font-weight: 400;\r\n position: relative;\r\n top: -1px;\r\n color: var(--color-text-dim);\r\n }\r\n\r\n .ui-dropdown-button-progress\r\n { \r\n width: 16px;\r\n height: 16px;\r\n z-index: 2;\r\n border-radius: 40px;\r\n border: 2px solid transparent;\r\n border-left-color: var(--color-text);\r\n opacity: 1;\r\n will-change: transform;\r\n animation: rotating .5s linear infinite;\r\n transition: opacity .25s ease;\r\n }\r\n\r\n .ui-dropdown-button-confirmation\r\n {\r\n display: grid;\r\n flex-grow: 0;\r\n width: 100%;\r\n grid-template-columns: 30px minmax(0, 1fr) auto auto;\r\n gap: 6px;\r\n align-items: center;\r\n font-size: var(--font-size);\r\n padding: 0 6px 0 16px;\r\n height: 48px;\r\n color: var(--color-text);\r\n border-radius: var(--radius);\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n overflow: hidden;\r\n max-width: 300px;\r\n .ui-button + .ui-button\r\n {\r\n margin-left: 4px;\r\n }\r\n }\r\n\r\n @keyframes rotating\r\n {\r\n from\r\n {\r\n -webkit-transform: rotate(0);\r\n transform: rotate(0)\r\n }\r\n to\r\n {\r\n -webkit-transform: rotate(1turn);\r\n transform: rotate(1turn)\r\n }\r\n }\r\n</style>',"button.ui-dropdown-button {\n display: grid;\n width: 100%;\n grid-template-columns: minmax(0, 1fr) auto;\n gap: 6px;\n align-items: center;\n font-size: var(--font-size);\n padding: 0 16px;\n height: 48px;\n color: var(--color-text);\n border-radius: var(--radius);\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n max-width: 100%;\n}\nbutton.ui-dropdown-button.has-icon {\n grid-template-columns: 30px minmax(0, 1fr) auto;\n}\nbutton.ui-dropdown-button.has-icon:not([disabled]):hover .ui-dropdown-button-icon {\n color: var(--color-text);\n}\nbutton.ui-dropdown-button.has-icon.is-negative:not([disabled]):hover .ui-dropdown-button-icon {\n color: var(--color-accent-error);\n}\nbutton.ui-dropdown-button.is-multiline {\n white-space: normal;\n overflow: visible;\n}\nbutton.ui-dropdown-button:not([disabled]):hover, button.ui-dropdown-button.is-active, button.ui-dropdown-button:focus {\n background: var(--color-dropdown-selected);\n color: var(--color-text);\n}\nbutton.ui-dropdown-button:not([disabled]):hover .ui-dropdown-list-item-icon, button.ui-dropdown-button.is-active .ui-dropdown-list-item-icon, button.ui-dropdown-button:focus .ui-dropdown-list-item-icon {\n color: var(--color-text);\n}\nbutton.ui-dropdown-button.is-active {\n font-weight: 700;\n}\nbutton.ui-dropdown-button.is-active .ui-dropdown-button-icon {\n color: var(--color-text);\n}\nbutton.ui-dropdown-button[disabled] {\n color: var(--color-text-dim);\n cursor: default;\n pointer-events: none;\n}\nbutton.ui-dropdown-button[disabled] .ui-dropdown-list-item-icon,\nbutton.ui-dropdown-button[disabled] .ui-dropdown-button-icon {\n color: var(--color-text-dim);\n}\nbutton.ui-dropdown-button + .ui-dropdown-button {\n margin-top: 4px;\n}\n\n.ui-dropdown-button-icon {\n font-size: 18px;\n line-height: 1;\n font-weight: 400;\n position: relative;\n top: -1px;\n color: var(--color-text-dim);\n}\n\n.ui-dropdown-button-progress {\n width: 16px;\n height: 16px;\n z-index: 2;\n border-radius: 40px;\n border: 2px solid transparent;\n border-left-color: var(--color-text);\n opacity: 1;\n will-change: transform;\n animation: rotating 0.5s linear infinite;\n transition: opacity 0.25s ease;\n}\n\n.ui-dropdown-button-confirmation {\n display: grid;\n flex-grow: 0;\n width: 100%;\n grid-template-columns: 30px minmax(0, 1fr) auto auto;\n gap: 6px;\n align-items: center;\n font-size: var(--font-size);\n padding: 0 6px 0 16px;\n height: 48px;\n color: var(--color-text);\n border-radius: var(--radius);\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n max-width: 300px;\n}\n.ui-dropdown-button-confirmation .ui-button + .ui-button {\n margin-left: 4px;\n}\n\n@keyframes rotating {\n from {\n -webkit-transform: rotate(0);\n transform: rotate(0);\n }\n to {\n -webkit-transform: rotate(1turn);\n transform: rotate(1turn);\n }\n}\n\n/*# sourceMappingURL=dropdown-button.vue.map */"]},media:void 0})}),$S,undefined,false,undefined,!1,Iu,void 0,void 0);const FS={name:"uiDropdownSeparator"};var LS=function(){var e=this.$createElement;return(this._self._c||e)("hr",{staticClass:"ui-dropdown-separator"})};LS._withStripped=!0;const PS=Da({render:LS,staticRenderFns:[]},(function(e){e&&e("data-v-e0ab07e6_0",{source:".ui-dropdown-separator {\n border: none;\n border-bottom: 1px solid var(--color-dropdown-line);\n margin: 5px 0;\n}\n\n/*# sourceMappingURL=dropdown-separator.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\overlays\\dropdown-separator.vue","dropdown-separator.vue"],names:[],mappings:"AAaA;EAEA,YAAA;EACA,mDAAA;EACA,aAAA;ACbA;;AAEA,iDAAiD",file:"dropdown-separator.vue",sourcesContent:['\ufeff<template>\r\n <hr class="ui-dropdown-separator">\r\n</template>\r\n\r\n\r\n<script>\r\n export default {\r\n name: \'uiDropdownSeparator\',\r\n }\r\n<\/script>\r\n\r\n\r\n<style lang="scss">\r\n .ui-dropdown-separator\r\n {\r\n border: none;\r\n border-bottom: 1px solid var(--color-dropdown-line);\r\n margin: 5px 0;\r\n }\r\n</style>',".ui-dropdown-separator {\n border: none;\n border-bottom: 1px solid var(--color-dropdown-line);\n margin: 5px 0;\n}\n\n/*# sourceMappingURL=dropdown-separator.vue.map */"]},media:void 0})}),FS,undefined,false,undefined,!1,Iu,void 0,void 0);const jS={name:"uiDropdown",props:{align:{type:String,default:"left"},theme:{type:String,default:"dark"},locked:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},computed:{hasButton(){return this.$scopedSlots.hasOwnProperty("button")},dropdownClasses(){let e="align-"+this.align.split(" ").join(" align-");return this.theme&&(e+=" theme-"+this.theme),e}},data:()=>({open:!1}),methods:{toggle(){this.open?this.hide():this.disabled||this.show()},show(){this.disabled||(Uu.setDropdown(this),this.open=!0,this.$emit("opened"))},hide(){this.locked||(this.open=!1,this.$emit("closed"))}}};var YS=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-dropdown-container"},[e.hasButton?t("div",{staticClass:"ui-dropdown-toggle",on:{click:function(n){return n.stopPropagation(),e.toggle(n)}}},[e._t("button")],2):e._e(),e._v(" "),e.open?t("div",{directives:[{name:"click-outside",rawName:"v-click-outside",value:e.hide,expression:"hide"}],staticClass:"ui-dropdown",class:e.dropdownClasses,attrs:{role:"dialog"}},[e._t("default")],2):e._e()])};YS._withStripped=!0;const US=Da({render:YS,staticRenderFns:[]},(function(e){e&&e("data-v-0b4ec5bf_0",{source:".ui-dropdown-container {\n position: relative;\n}\n.ui-dropdown {\n position: absolute;\n min-width: 300px;\n min-height: 20px;\n background: var(--color-dropdown);\n border-radius: var(--radius);\n border: 1px solid var(--color-dropdown-border);\n box-shadow: var(--shadow-dropdown);\n z-index: 8;\n top: calc(100% + 5px);\n padding: 5px;\n color: var(--color-text);\n}\n.ui-dropdown.align-right {\n right: 0;\n}\n.ui-dropdown.align-top {\n top: calc(100% + 5px);\n bottom: auto;\n}\n.ui-dropdown.align-bottom {\n bottom: calc(100% + 5px);\n top: auto;\n}\n\n/*# sourceMappingURL=dropdown.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\overlays\\dropdown.vue","dropdown.vue"],names:[],mappings:"AAuGA;EAEA,kBAAA;ACvGA;AD0GA;EAEA,kBAAA;EACA,gBAAA;EACA,gBAAA;EACA,iCAAA;EACA,4BAAA;EACA,8CAAA;EACA,kCAAA;EACA,UAAA;EACA,qBAAA;EACA,YAAA;EACA,wBAAA;ACxGA;AD0GA;EAEA,QAAA;ACzGA;AD4GA;EAEA,qBAAA;EACA,YAAA;AC3GA;AD8GA;EAEA,wBAAA;EACA,SAAA;AC7GA;;AAEA,uCAAuC",file:"dropdown.vue",sourcesContent:["\ufeff<template>\r\n <div class=\"ui-dropdown-container\">\r\n <div v-if=\"hasButton\" class=\"ui-dropdown-toggle\" @click.stop=\"toggle\">\r\n <slot name=\"button\"></slot>\r\n </div>\r\n <div class=\"ui-dropdown\" role=\"dialog\" v-if=\"open\" v-click-outside=\"hide\" :class=\"dropdownClasses\">\r\n <slot></slot>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import Overlay from 'zero/helpers/overlay.js';\r\n\r\n export default {\r\n name: 'uiDropdown',\r\n\r\n props: {\r\n align: {\r\n type: String,\r\n default: 'left'\r\n },\r\n theme: {\r\n type: String,\r\n default: 'dark'\r\n },\r\n locked: {\r\n type: Boolean,\r\n default: false\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n\r\n computed: {\r\n\r\n hasButton()\r\n {\r\n return this.$scopedSlots.hasOwnProperty('button');\r\n },\r\n\r\n dropdownClasses()\r\n {\r\n let classes = 'align-' + this.align.split(' ').join(' align-');\r\n\r\n if (!!this.theme)\r\n {\r\n classes += ' theme-' + this.theme;\r\n }\r\n\r\n return classes;\r\n }\r\n },\r\n\r\n data: () => ({\r\n open: false\r\n }),\r\n\r\n\r\n methods: {\r\n\r\n toggle()\r\n {\r\n if (this.open)\r\n {\r\n this.hide();\r\n }\r\n else if (!this.disabled)\r\n {\r\n this.show();\r\n }\r\n },\r\n\r\n show()\r\n {\r\n if (this.disabled)\r\n {\r\n return;\r\n }\r\n Overlay.setDropdown(this);\r\n this.open = true;\r\n this.$emit('opened');\r\n },\r\n\r\n hide()\r\n {\r\n if (this.locked)\r\n {\r\n return;\r\n }\r\n this.open = false;\r\n this.$emit('closed');\r\n }\r\n\r\n }\r\n }\r\n<\/script>\r\n\r\n\r\n<style lang=\"scss\">\r\n .ui-dropdown-container\r\n {\r\n position: relative;\r\n }\r\n\r\n .ui-dropdown\r\n {\r\n position: absolute;\r\n min-width: 300px;\r\n min-height: 20px;\r\n background: var(--color-dropdown);\r\n border-radius: var(--radius);\r\n border: 1px solid var(--color-dropdown-border);\r\n box-shadow: var(--shadow-dropdown);\r\n z-index: 8;\r\n top: calc(100% + 5px);\r\n padding: 5px;\r\n color: var(--color-text);\r\n\r\n &.align-right\r\n {\r\n right: 0;\r\n }\r\n\r\n &.align-top\r\n {\r\n top: calc(100% + 5px);\r\n bottom: auto;\r\n }\r\n\r\n &.align-bottom\r\n {\r\n bottom: calc(100% + 5px);\r\n top: auto;\r\n }\r\n }\r\n</style>",".ui-dropdown-container {\n position: relative;\n}\n\n.ui-dropdown {\n position: absolute;\n min-width: 300px;\n min-height: 20px;\n background: var(--color-dropdown);\n border-radius: var(--radius);\n border: 1px solid var(--color-dropdown-border);\n box-shadow: var(--shadow-dropdown);\n z-index: 8;\n top: calc(100% + 5px);\n padding: 5px;\n color: var(--color-text);\n}\n.ui-dropdown.align-right {\n right: 0;\n}\n.ui-dropdown.align-top {\n top: calc(100% + 5px);\n bottom: auto;\n}\n.ui-dropdown.align-bottom {\n bottom: calc(100% + 5px);\n top: auto;\n}\n\n/*# sourceMappingURL=dropdown.vue.map */"]},media:void 0})}),jS,undefined,false,undefined,!1,Iu,void 0,void 0);const qS={};var HS=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-overlay-editor"},[t("header",[e._t("header")],2),e._v(" "),t("content",[e._t("default")],2),e._v(" "),t("footer",[e._t("footer")],2)])};HS._withStripped=!0;const WS=Da({render:HS,staticRenderFns:[]},(function(e){e&&e("data-v-69a0fcb6_0",{source:".ui-overlay-editor {\n display: grid;\n grid-template-rows: auto 1fr auto;\n height: 100vh;\n}\n.ui-overlay-editor > header {\n display: block;\n}\n.ui-overlay-editor > footer {\n display: flex;\n justify-content: flex-end;\n padding: 20px var(--padding);\n background: var(--color-overlay-footer);\n}\n.ui-overlay-editor > content {\n display: block;\n padding: var(--padding);\n height: 100%;\n overflow-y: auto;\n}\n\n/*# sourceMappingURL=overlay-editor.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\overlays\\overlay-editor.vue","overlay-editor.vue"],names:[],mappings:"AAsBA;EAEA,aAAA;EACA,iCAAA;EACA,aAAA;ACtBA;ADwBA;EAEA,cAAA;ACvBA;AD0BA;EAEA,aAAA;EACA,yBAAA;EACA,4BAAA;EACA,uCAAA;ACzBA;AD4BA;EAEA,cAAA;EACA,uBAAA;EACA,YAAA;EACA,gBAAA;AC3BA;;AAEA,6CAA6C",file:"overlay-editor.vue",sourcesContent:['\ufeff<template>\r\n <div class="ui-overlay-editor">\r\n <header>\r\n <slot name="header"></slot>\r\n </header>\r\n <content>\r\n <slot></slot>\r\n </content>\r\n <footer>\r\n <slot name="footer"></slot>\r\n </footer>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n export default {\r\n\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .ui-overlay-editor\r\n {\r\n display: grid;\r\n grid-template-rows: auto 1fr auto;\r\n height: 100vh;\r\n\r\n > header\r\n {\r\n display: block;\r\n }\r\n\r\n > footer\r\n {\r\n display: flex;\r\n justify-content: flex-end;\r\n padding: 20px var(--padding);\r\n background: var(--color-overlay-footer);\r\n }\r\n\r\n > content\r\n {\r\n display: block;\r\n padding: var(--padding);\r\n height: 100%;\r\n overflow-y: auto;\r\n }\r\n }\r\n</style>',".ui-overlay-editor {\n display: grid;\n grid-template-rows: auto 1fr auto;\n height: 100vh;\n}\n.ui-overlay-editor > header {\n display: block;\n}\n.ui-overlay-editor > footer {\n display: flex;\n justify-content: flex-end;\n padding: 20px var(--padding);\n background: var(--color-overlay-footer);\n}\n.ui-overlay-editor > content {\n display: block;\n padding: var(--padding);\n height: 100%;\n overflow-y: auto;\n}\n\n/*# sourceMappingURL=overlay-editor.vue.map */"]},media:void 0})}),qS,undefined,false,undefined,!1,Iu,void 0,void 0);const VS={name:"uiColorpicker",props:{value:{type:String,default:null},disabled:{type:Boolean,default:!1},options:{type:Object,default:()=>({})}},data:()=>({id:null}),created(){this.id="colorpicker-"+jl.guid()},methods:{onChange(e){this.$emit("change",e.target.value),this.$emit("input",e.target.value)}}};var JS=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-colorpicker",class:{"is-disabled":e.disabled}},[t("label",{staticClass:"ui-colorpicker-color",attrs:{for:e.id}},[t("span",{staticClass:"ui-colorpicker-color-preview",style:{"background-color":e.value||"var(--color-box)"}}),e._v(" "),t("input",{attrs:{id:e.id,type:"color",disabled:e.disabled},domProps:{value:e.value},on:{input:e.onChange}})]),e._v(" "),t("input",{directives:[{name:"localize",rawName:"v-localize:placeholder",value:"@colorpicker.placeholder",expression:"'@colorpicker.placeholder'",arg:"placeholder"}],staticClass:"ui-colorpicker-input",attrs:{type:"text",maxlength:"7",disabled:e.disabled},domProps:{value:e.value},on:{input:e.onChange}})])};JS._withStripped=!0;const KS=Da({render:JS,staticRenderFns:[]},(function(e){e&&e("data-v-2a91c336_0",{source:".ui-colorpicker {\n position: relative;\n}\n.ui-colorpicker-color {\n display: inline-block;\n position: absolute;\n overflow: hidden;\n width: 32px;\n height: 100%;\n border-radius: 3px;\n left: 0;\n top: -1px;\n padding: 0 !important;\n cursor: pointer;\n}\n.ui-colorpicker-color-preview {\n position: absolute;\n left: 12px;\n top: 50%;\n margin-top: -8px;\n width: 16px;\n height: 16px;\n border-radius: 2px;\n box-shadow: var(--shadow-short);\n}\n.ui-colorpicker-color input {\n opacity: 0 !important;\n visibility: hidden !important;\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n right: 0;\n}\ninput[type=text].ui-colorpicker-input {\n padding-left: 40px;\n max-width: 322px;\n}\n.ui-colorpicker-preview {\n display: inline-block;\n margin-top: -11px;\n border: 1px solid #eceaea;\n cursor: pointer;\n}\n\n/*# sourceMappingURL=colorpicker.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\pickers\\colorPicker\\colorpicker.vue","colorpicker.vue"],names:[],mappings:"AAkEA;EAEA,kBAAA;AClEA;ADqEA;EAEA,qBAAA;EACA,kBAAA;EACA,gBAAA;EACA,WAAA;EACA,YAAA;EACA,kBAAA;EACA,OAAA;EACA,SAAA;EACA,qBAAA;EACA,eAAA;ACnEA;ADsEA;EAEA,kBAAA;EACA,UAAA;EACA,QAAA;EACA,gBAAA;EACA,WAAA;EACA,YAAA;EACA,kBAAA;EACA,+BAAA;ACpEA;ADuEA;EAEA,qBAAA;EACA,6BAAA;EACA,kBAAA;EACA,OAAA;EACA,MAAA;EACA,SAAA;EACA,QAAA;ACrEA;ADwEA;EAEA,kBAAA;EACA,gBAAA;ACtEA;AD0EA;EAEA,qBAAA;EACA,iBAAA;EACA,yBAAA;EACA,eAAA;ACxEA;;AAEA,0CAA0C",file:"colorpicker.vue",sourcesContent:['\ufeff<template>\r\n <div class="ui-colorpicker" :class="{\'is-disabled\': disabled }">\r\n <label class="ui-colorpicker-color" :for="id">\r\n <span class="ui-colorpicker-color-preview" :style="{ \'background-color\': value || \'var(--color-box)\' }"></span>\r\n <input :id="id" type="color" :value="value" :disabled="disabled" @input="onChange" />\r\n </label>\r\n <input type="text" maxlength="7" class="ui-colorpicker-input" :value="value" @input="onChange" :disabled="disabled" v-localize:placeholder="\'@colorpicker.placeholder\'" />\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import Strings from \'zero/helpers/strings.js\';\r\n import { extend as _extend } from \'underscore\';\r\n\r\n export default {\r\n name: \'uiColorpicker\',\r\n\r\n props: {\r\n value: {\r\n type: String,\r\n default: null\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n },\r\n options: {\r\n type: Object,\r\n default: () =>\r\n {\r\n return {\r\n\r\n };\r\n }\r\n }\r\n },\r\n\r\n data: () => ({\r\n id: null\r\n }),\r\n\r\n created()\r\n {\r\n this.id = \'colorpicker-\' + Strings.guid();\r\n },\r\n\r\n methods: {\r\n\r\n onChange(ev)\r\n {\r\n this.$emit(\'change\', ev.target.value);\r\n this.$emit(\'input\', ev.target.value);\r\n // TODO this does not trigger the forms dirty flag\r\n }\r\n\r\n //pick()\r\n //{\r\n // this.$el.\r\n //}\r\n \r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .ui-colorpicker\r\n {\r\n position: relative;\r\n }\r\n\r\n .ui-colorpicker-color\r\n {\r\n display: inline-block;\r\n position: absolute;\r\n overflow: hidden;\r\n width: 32px;\r\n height: 100%;\r\n border-radius: 3px;\r\n left: 0;\r\n top: -1px;\r\n padding: 0 !important;\r\n cursor: pointer;\r\n }\r\n\r\n .ui-colorpicker-color-preview\r\n {\r\n position: absolute;\r\n left: 12px;\r\n top: 50%;\r\n margin-top: -8px;\r\n width: 16px;\r\n height: 16px;\r\n border-radius: 2px;\r\n box-shadow: var(--shadow-short);\r\n }\r\n\r\n .ui-colorpicker-color input\r\n {\r\n opacity: 0 !important;\r\n visibility: hidden !important;\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n bottom: 0;\r\n right: 0;\r\n }\r\n\r\n input[type="text"].ui-colorpicker-input\r\n {\r\n padding-left: 40px;\r\n max-width: 322px; \r\n }\r\n\r\n\r\n .ui-colorpicker-preview\r\n {\r\n display: inline-block;\r\n margin-top: -11px;\r\n border: 1px solid #eceaea;\r\n cursor: pointer;\r\n }\r\n\r\n</style>',".ui-colorpicker {\n position: relative;\n}\n\n.ui-colorpicker-color {\n display: inline-block;\n position: absolute;\n overflow: hidden;\n width: 32px;\n height: 100%;\n border-radius: 3px;\n left: 0;\n top: -1px;\n padding: 0 !important;\n cursor: pointer;\n}\n\n.ui-colorpicker-color-preview {\n position: absolute;\n left: 12px;\n top: 50%;\n margin-top: -8px;\n width: 16px;\n height: 16px;\n border-radius: 2px;\n box-shadow: var(--shadow-short);\n}\n\n.ui-colorpicker-color input {\n opacity: 0 !important;\n visibility: hidden !important;\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n right: 0;\n}\n\ninput[type=text].ui-colorpicker-input {\n padding-left: 40px;\n max-width: 322px;\n}\n\n.ui-colorpicker-preview {\n display: inline-block;\n margin-top: -11px;\n border: 1px solid #eceaea;\n cursor: pointer;\n}\n\n/*# sourceMappingURL=colorpicker.vue.map */"]},media:void 0})}),VS,undefined,false,undefined,!1,Iu,void 0,void 0);const GS={name:"uiCountrypicker",props:{value:{type:[String,Array],default:null},limit:{type:Number,default:1},disabled:{type:Boolean,default:!1},options:{type:Object,default:()=>{}}},data:()=>({previews:[],pickerConfig:{}}),created(){this.pickerConfig=Qc({scope:"country",items:cf.getForPicker,previews:cf.getPreviews,limit:this.limit,multiple:this.limit>1,preview:{}},this.options)},methods:{onChange(e){this.$emit("input",e)}}};var XS=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-countrypicker",class:{"is-disabled":e.disabled}},[t("ui-pick",{attrs:{config:e.pickerConfig,value:e.value,disabled:e.disabled},on:{input:e.onChange}})],1)};XS._withStripped=!0;const QS=Da({render:XS,staticRenderFns:[]},undefined,GS,undefined,false,undefined,!1,void 0,void 0,void 0);var ZS=Rl((function(e,n){
/* flatpickr v4.6.6, @license MIT */
e.exports=function(){
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
var e=function(){return(e=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var i in n=arguments[t])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e}).apply(this,arguments)};function n(){for(var e=0,n=0,t=arguments.length;n<t;n++)e+=arguments[n].length;var r=Array(e),i=0;for(n=0;n<t;n++)for(var o=arguments[n],a=0,s=o.length;a<s;a++,i++)r[i]=o[a];return r}var t=["onChange","onClose","onDayCreate","onDestroy","onKeyDown","onMonthChange","onOpen","onParseConfig","onReady","onValueUpdate","onYearChange","onPreCalendarPosition"],r={_disable:[],_enable:[],allowInput:!1,allowInvalidPreload:!1,altFormat:"F j, Y",altInput:!1,altInputClass:"form-control input",animate:"object"==typeof window&&-1===window.navigator.userAgent.indexOf("MSIE"),ariaDateFormat:"F j, Y",autoFillDefaultTime:!0,clickOpens:!0,closeOnSelect:!0,conjunction:", ",dateFormat:"Y-m-d",defaultHour:12,defaultMinute:0,defaultSeconds:0,disable:[],disableMobile:!1,enable:[],enableSeconds:!1,enableTime:!1,errorHandler:function(e){return"undefined"!=typeof console&&console.warn(e)},getWeek:function(e){var n=new Date(e.getTime());n.setHours(0,0,0,0),n.setDate(n.getDate()+3-(n.getDay()+6)%7);var t=new Date(n.getFullYear(),0,4);return 1+Math.round(((n.getTime()-t.getTime())/864e5-3+(t.getDay()+6)%7)/7)},hourIncrement:1,ignoredFocusElements:[],inline:!1,locale:"default",minuteIncrement:5,mode:"single",monthSelectorType:"dropdown",nextArrow:"<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M13.207 8.472l-7.854 7.854-0.707-0.707 7.146-7.146-7.146-7.148 0.707-0.707 7.854 7.854z' /></svg>",noCalendar:!1,now:new Date,onChange:[],onClose:[],onDayCreate:[],onDestroy:[],onKeyDown:[],onMonthChange:[],onOpen:[],onParseConfig:[],onReady:[],onValueUpdate:[],onYearChange:[],onPreCalendarPosition:[],plugins:[],position:"auto",positionElement:void 0,prevArrow:"<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M5.207 8.471l7.146 7.147-0.707 0.707-7.853-7.854 7.854-7.853 0.707 0.707-7.147 7.146z' /></svg>",shorthandCurrentMonth:!1,showMonths:1,static:!1,time_24hr:!1,weekNumbers:!1,wrap:!1},i={weekdays:{shorthand:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],longhand:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},months:{shorthand:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],longhand:["January","February","March","April","May","June","July","August","September","October","November","December"]},daysInMonth:[31,28,31,30,31,30,31,31,30,31,30,31],firstDayOfWeek:0,ordinal:function(e){var n=e%100;if(n>3&&n<21)return"th";switch(n%10){case 1:return"st";case 2:return"nd";case 3:return"rd";default:return"th"}},rangeSeparator:" to ",weekAbbreviation:"Wk",scrollTitle:"Scroll to increment",toggleTitle:"Click to toggle",amPM:["AM","PM"],yearAriaLabel:"Year",monthAriaLabel:"Month",hourAriaLabel:"Hour",minuteAriaLabel:"Minute",time_24hr:!1},o=function(e,n){return void 0===n&&(n=2),("000"+e).slice(-1*n)},a=function(e){return!0===e?1:0};function s(e,n,t){var r;return void 0===t&&(t=!1),function(){var i=this,o=arguments;null!==r&&clearTimeout(r),r=window.setTimeout((function(){r=null,t||e.apply(i,o)}),n),t&&!r&&e.apply(i,o)}}var l=function(e){return e instanceof Array?e:[e]};function c(e,n,t){if(!0===t)return e.classList.add(n);e.classList.remove(n)}function d(e,n,t){var r=window.document.createElement(e);return n=n||"",t=t||"",r.className=n,void 0!==t&&(r.textContent=t),r}function u(e){for(;e.firstChild;)e.removeChild(e.firstChild)}function p(e,n){return n(e)?e:e.parentNode?p(e.parentNode,n):void 0}function f(e,n){var t=d("div","numInputWrapper"),r=d("input","numInput "+e),i=d("span","arrowUp"),o=d("span","arrowDown");if(-1===navigator.userAgent.indexOf("MSIE 9.0")?r.type="number":(r.type="text",r.pattern="\\d*"),void 0!==n)for(var a in n)r.setAttribute(a,n[a]);return t.appendChild(r),t.appendChild(i),t.appendChild(o),t}function A(e){try{return"function"==typeof e.composedPath?e.composedPath()[0]:e.target}catch(n){return e.target}}var h=function(){},m=function(e,n,t){return t.months[n?"shorthand":"longhand"][e]},g={D:h,F:function(e,n,t){e.setMonth(t.months.longhand.indexOf(n))},G:function(e,n){e.setHours(parseFloat(n))},H:function(e,n){e.setHours(parseFloat(n))},J:function(e,n){e.setDate(parseFloat(n))},K:function(e,n,t){e.setHours(e.getHours()%12+12*a(new RegExp(t.amPM[1],"i").test(n)))},M:function(e,n,t){e.setMonth(t.months.shorthand.indexOf(n))},S:function(e,n){e.setSeconds(parseFloat(n))},U:function(e,n){return new Date(1e3*parseFloat(n))},W:function(e,n,t){var r=parseInt(n),i=new Date(e.getFullYear(),0,2+7*(r-1),0,0,0,0);return i.setDate(i.getDate()-i.getDay()+t.firstDayOfWeek),i},Y:function(e,n){e.setFullYear(parseFloat(n))},Z:function(e,n){return new Date(n)},d:function(e,n){e.setDate(parseFloat(n))},h:function(e,n){e.setHours(parseFloat(n))},i:function(e,n){e.setMinutes(parseFloat(n))},j:function(e,n){e.setDate(parseFloat(n))},l:h,m:function(e,n){e.setMonth(parseFloat(n)-1)},n:function(e,n){e.setMonth(parseFloat(n)-1)},s:function(e,n){e.setSeconds(parseFloat(n))},u:function(e,n){return new Date(parseFloat(n))},w:h,y:function(e,n){e.setFullYear(2e3+parseFloat(n))}},v={D:"(\\w+)",F:"(\\w+)",G:"(\\d\\d|\\d)",H:"(\\d\\d|\\d)",J:"(\\d\\d|\\d)\\w+",K:"",M:"(\\w+)",S:"(\\d\\d|\\d)",U:"(.+)",W:"(\\d\\d|\\d)",Y:"(\\d{4})",Z:"(.+)",d:"(\\d\\d|\\d)",h:"(\\d\\d|\\d)",i:"(\\d\\d|\\d)",j:"(\\d\\d|\\d)",l:"(\\w+)",m:"(\\d\\d|\\d)",n:"(\\d\\d|\\d)",s:"(\\d\\d|\\d)",u:"(.+)",w:"(\\d\\d|\\d)",y:"(\\d{2})"},b={Z:function(e){return e.toISOString()},D:function(e,n,t){return n.weekdays.shorthand[b.w(e,n,t)]},F:function(e,n,t){return m(b.n(e,n,t)-1,!1,n)},G:function(e,n,t){return o(b.h(e,n,t))},H:function(e){return o(e.getHours())},J:function(e,n){return void 0!==n.ordinal?e.getDate()+n.ordinal(e.getDate()):e.getDate()},K:function(e,n){return n.amPM[a(e.getHours()>11)]},M:function(e,n){return m(e.getMonth(),!0,n)},S:function(e){return o(e.getSeconds())},U:function(e){return e.getTime()/1e3},W:function(e,n,t){return t.getWeek(e)},Y:function(e){return o(e.getFullYear(),4)},d:function(e){return o(e.getDate())},h:function(e){return e.getHours()%12?e.getHours()%12:12},i:function(e){return o(e.getMinutes())},j:function(e){return e.getDate()},l:function(e,n){return n.weekdays.longhand[e.getDay()]},m:function(e){return o(e.getMonth()+1)},n:function(e){return e.getMonth()+1},s:function(e){return e.getSeconds()},u:function(e){return e.getTime()},w:function(e){return e.getDay()},y:function(e){return String(e.getFullYear()).substring(2)}},y=function(e){var n=e.config,t=void 0===n?r:n,o=e.l10n,a=void 0===o?i:o,s=e.isMobile,l=void 0!==s&&s;return function(e,n,r){var i=r||a;return void 0===t.formatDate||l?n.split("").map((function(n,r,o){return b[n]&&"\\"!==o[r-1]?b[n](e,i,t):"\\"!==n?n:""})).join(""):t.formatDate(e,n,i)}},C=function(e){var n=e.config,t=void 0===n?r:n,o=e.l10n,a=void 0===o?i:o;return function(e,n,i,o){if(0===e||e){var s,l=o||a,c=e;if(e instanceof Date)s=new Date(e.getTime());else if("string"!=typeof e&&void 0!==e.toFixed)s=new Date(e);else if("string"==typeof e){var d=n||(t||r).dateFormat,u=String(e).trim();if("today"===u)s=new Date,i=!0;else if(/Z$/.test(u)||/GMT$/.test(u))s=new Date(e);else if(t&&t.parseDate)s=t.parseDate(e,d);else{s=t&&t.noCalendar?new Date((new Date).setHours(0,0,0,0)):new Date((new Date).getFullYear(),0,1,0,0,0,0);for(var p=void 0,f=[],A=0,h=0,m="";A<d.length;A++){var b=d[A],y="\\"===b,C="\\"===d[A-1]||y;if(v[b]&&!C){m+=v[b];var E=new RegExp(m).exec(e);E&&(p=!0)&&f["Y"!==b?"push":"unshift"]({fn:g[b],val:E[++h]})}else y||(m+=".");f.forEach((function(e){var n=e.fn,t=e.val;return s=n(s,t,l)||s}))}s=p?s:void 0}}if(s instanceof Date&&!isNaN(s.getTime()))return!0===i&&s.setHours(0,0,0,0),s;t.errorHandler(new Error("Invalid date provided: "+c))}}};function E(e,n,t){return void 0===t&&(t=!0),!1!==t?new Date(e.getTime()).setHours(0,0,0,0)-new Date(n.getTime()).setHours(0,0,0,0):e.getTime()-n.getTime()}var x=function(e,n,t){return e>Math.min(n,t)&&e<Math.max(n,t)},w={DAY:864e5};"function"!=typeof Object.assign&&(Object.assign=function(e){for(var n=[],t=1;t<arguments.length;t++)n[t-1]=arguments[t];if(!e)throw TypeError("Cannot convert undefined or null to object");for(var r=function(n){n&&Object.keys(n).forEach((function(t){return e[t]=n[t]}))},i=0,o=n;i<o.length;i++)r(o[i]);return e});var k=300;function _(h,g){var b={config:e(e({},r),D.defaultConfig),l10n:i};function _(){b.utils={getDaysInMonth:function(e,n){return void 0===e&&(e=b.currentMonth),void 0===n&&(n=b.currentYear),1===e&&(n%4==0&&n%100!=0||n%400==0)?29:b.l10n.daysInMonth[e]}}}function S(){b.element=b.input=h,b.isOpen=!1,Ee(),we(),Re(),Ne(),_(),b.isMobile||H(),j(),(b.selectedDates.length||b.config.noCalendar)&&(b.config.enableTime&&$(b.config.noCalendar?b.latestSelectedDateObj||b.config.minDate:void 0),We(!1)),z();var e=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);!b.isMobile&&e&&ke(),Pe("onReady")}function B(e){return e.bind(b)}function z(){var e=b.config;!1===e.weekNumbers&&1===e.showMonths||!0!==e.noCalendar&&window.requestAnimationFrame((function(){if(void 0!==b.calendarContainer&&(b.calendarContainer.style.visibility="hidden",b.calendarContainer.style.display="block"),void 0!==b.daysContainer){var n=(b.days.offsetWidth+1)*e.showMonths;b.daysContainer.style.width=n+"px",b.calendarContainer.style.width=n+(void 0!==b.weekWrapper?b.weekWrapper.offsetWidth:0)+"px",b.calendarContainer.style.removeProperty("visibility"),b.calendarContainer.style.removeProperty("display")}}))}function O(e){if(0===b.selectedDates.length){var n=void 0!==b.config.minDate?new Date(b.config.minDate.getTime()):new Date,t=N(),r=t.hours,i=t.minutes,o=t.seconds;n.setHours(r,i,o,0),b.setDate(n,!1)}void 0!==e&&"blur"!==e.type&&Je(e);var a=b._input.value;I(),We(),b._input.value!==a&&b._debouncedChange()}function M(e,n){return e%12+12*a(n===b.l10n.amPM[1])}function T(e){switch(e%24){case 0:case 12:return 12;default:return e%12}}function I(){if(void 0!==b.hourElement&&void 0!==b.minuteElement){var e=(parseInt(b.hourElement.value.slice(-2),10)||0)%24,n=(parseInt(b.minuteElement.value,10)||0)%60,t=void 0!==b.secondElement?(parseInt(b.secondElement.value,10)||0)%60:0;void 0!==b.amPM&&(e=M(e,b.amPM.textContent));var r=void 0!==b.config.minTime||b.config.minDate&&b.minDateHasTime&&b.latestSelectedDateObj&&0===E(b.latestSelectedDateObj,b.config.minDate,!0);if(void 0!==b.config.maxTime||b.config.maxDate&&b.maxDateHasTime&&b.latestSelectedDateObj&&0===E(b.latestSelectedDateObj,b.config.maxDate,!0)){var i=void 0!==b.config.maxTime?b.config.maxTime:b.config.maxDate;(e=Math.min(e,i.getHours()))===i.getHours()&&(n=Math.min(n,i.getMinutes())),n===i.getMinutes()&&(t=Math.min(t,i.getSeconds()))}if(r){var o=void 0!==b.config.minTime?b.config.minTime:b.config.minDate;(e=Math.max(e,o.getHours()))===o.getHours()&&(n=Math.max(n,o.getMinutes())),n===o.getMinutes()&&(t=Math.max(t,o.getSeconds()))}R(e,n,t)}}function $(e){var n=e||b.latestSelectedDateObj;n&&R(n.getHours(),n.getMinutes(),n.getSeconds())}function N(){var e=b.config.defaultHour,n=b.config.defaultMinute,t=b.config.defaultSeconds;if(void 0!==b.config.minDate){var r=b.config.minDate.getHours(),i=b.config.minDate.getMinutes();(e=Math.max(e,r))===r&&(n=Math.max(i,n)),e===r&&n===i&&(t=b.config.minDate.getSeconds())}if(void 0!==b.config.maxDate){var o=b.config.maxDate.getHours(),a=b.config.maxDate.getMinutes();(e=Math.min(e,o))===o&&(n=Math.min(a,n)),e===o&&n===a&&(t=b.config.maxDate.getSeconds())}return{hours:e,minutes:n,seconds:t}}function R(e,n,t){void 0!==b.latestSelectedDateObj&&b.latestSelectedDateObj.setHours(e%24,n,t||0,0),b.hourElement&&b.minuteElement&&!b.isMobile&&(b.hourElement.value=o(b.config.time_24hr?e:(12+e)%12+12*a(e%12==0)),b.minuteElement.value=o(n),void 0!==b.amPM&&(b.amPM.textContent=b.l10n.amPM[a(e>=12)]),void 0!==b.secondElement&&(b.secondElement.value=o(t)))}function F(e){var n=A(e),t=parseInt(n.value)+(e.delta||0);(t/1e3>1||"Enter"===e.key&&!/[^\d]/.test(t.toString()))&&fe(t)}function L(e,n,t,r){return n instanceof Array?n.forEach((function(n){return L(e,n,t,r)})):e instanceof Array?e.forEach((function(e){return L(e,n,t,r)})):(e.addEventListener(n,t,r),void b._handlers.push({element:e,event:n,handler:t,options:r}))}function P(){Pe("onChange")}function j(){if(b.config.wrap&&["open","close","toggle","clear"].forEach((function(e){Array.prototype.forEach.call(b.element.querySelectorAll("[data-"+e+"]"),(function(n){return L(n,"click",b[e])}))})),b.isMobile)Fe();else{var e=s(be,50);if(b._debouncedChange=s(P,k),b.daysContainer&&!/iPhone|iPad|iPod/i.test(navigator.userAgent)&&L(b.daysContainer,"mouseover",(function(e){"range"===b.config.mode&&ve(A(e))})),L(window.document.body,"keydown",ge),b.config.inline||b.config.static||L(window,"resize",e),void 0!==window.ontouchstart?L(window.document,"touchstart",pe):L(window.document,"click",pe),L(window.document,"focus",pe,{capture:!0}),!0===b.config.clickOpens&&(L(b._input,"focus",b.open),L(b._input,"click",b.open)),void 0!==b.daysContainer&&(L(b.monthNav,"click",Ve),L(b.monthNav,["keyup","increment"],F),L(b.daysContainer,"click",ze)),void 0!==b.timeContainer&&void 0!==b.minuteElement&&void 0!==b.hourElement){var n=function(e){return A(e).select()};L(b.timeContainer,["increment"],O),L(b.timeContainer,"blur",O,{capture:!0}),L(b.timeContainer,"click",U),L([b.hourElement,b.minuteElement],["focus","click"],n),void 0!==b.secondElement&&L(b.secondElement,"focus",(function(){return b.secondElement&&b.secondElement.select()})),void 0!==b.amPM&&L(b.amPM,"click",(function(e){O(e),P()}))}b.config.allowInput&&L(b._input,"blur",me)}}function Y(e,n){var t=void 0!==e?b.parseDate(e):b.latestSelectedDateObj||(b.config.minDate&&b.config.minDate>b.now?b.config.minDate:b.config.maxDate&&b.config.maxDate<b.now?b.config.maxDate:b.now),r=b.currentYear,i=b.currentMonth;try{void 0!==t&&(b.currentYear=t.getFullYear(),b.currentMonth=t.getMonth())}catch(e){e.message="Invalid date supplied: "+t,b.config.errorHandler(e)}n&&b.currentYear!==r&&(Pe("onYearChange"),Z()),!n||b.currentYear===r&&b.currentMonth===i||Pe("onMonthChange"),b.redraw()}function U(e){var n=A(e);~n.className.indexOf("arrow")&&q(e,n.classList.contains("arrowUp")?1:-1)}function q(e,n,t){var r=e&&A(e),i=t||r&&r.parentNode&&r.parentNode.firstChild,o=je("increment");o.delta=n,i&&i.dispatchEvent(o)}function H(){var e=window.document.createDocumentFragment();if(b.calendarContainer=d("div","flatpickr-calendar"),b.calendarContainer.tabIndex=-1,!b.config.noCalendar){if(e.appendChild(te()),b.innerContainer=d("div","flatpickr-innerContainer"),b.config.weekNumbers){var n=ae(),t=n.weekWrapper,r=n.weekNumbers;b.innerContainer.appendChild(t),b.weekNumbers=r,b.weekWrapper=t}b.rContainer=d("div","flatpickr-rContainer"),b.rContainer.appendChild(ie()),b.daysContainer||(b.daysContainer=d("div","flatpickr-days"),b.daysContainer.tabIndex=-1),Q(),b.rContainer.appendChild(b.daysContainer),b.innerContainer.appendChild(b.rContainer),e.appendChild(b.innerContainer)}b.config.enableTime&&e.appendChild(re()),c(b.calendarContainer,"rangeMode","range"===b.config.mode),c(b.calendarContainer,"animate",!0===b.config.animate),c(b.calendarContainer,"multiMonth",b.config.showMonths>1),b.calendarContainer.appendChild(e);var i=void 0!==b.config.appendTo&&void 0!==b.config.appendTo.nodeType;if((b.config.inline||b.config.static)&&(b.calendarContainer.classList.add(b.config.inline?"inline":"static"),b.config.inline&&(!i&&b.element.parentNode?b.element.parentNode.insertBefore(b.calendarContainer,b._input.nextSibling):void 0!==b.config.appendTo&&b.config.appendTo.appendChild(b.calendarContainer)),b.config.static)){var o=d("div","flatpickr-wrapper");b.element.parentNode&&b.element.parentNode.insertBefore(o,b.element),o.appendChild(b.element),b.altInput&&o.appendChild(b.altInput),o.appendChild(b.calendarContainer)}b.config.static||b.config.inline||(void 0!==b.config.appendTo?b.config.appendTo:window.document.body).appendChild(b.calendarContainer)}function W(e,n,t,r){var i=Ae(n,!0),o=d("span","flatpickr-day "+e,n.getDate().toString());return o.dateObj=n,o.$i=r,o.setAttribute("aria-label",b.formatDate(n,b.config.ariaDateFormat)),-1===e.indexOf("hidden")&&0===E(n,b.now)&&(b.todayDateElem=o,o.classList.add("today"),o.setAttribute("aria-current","date")),i?(o.tabIndex=-1,Ye(n)&&(o.classList.add("selected"),b.selectedDateElem=o,"range"===b.config.mode&&(c(o,"startRange",b.selectedDates[0]&&0===E(n,b.selectedDates[0],!0)),c(o,"endRange",b.selectedDates[1]&&0===E(n,b.selectedDates[1],!0)),"nextMonthDay"===e&&o.classList.add("inRange")))):o.classList.add("flatpickr-disabled"),"range"===b.config.mode&&Ue(n)&&!Ye(n)&&o.classList.add("inRange"),b.weekNumbers&&1===b.config.showMonths&&"prevMonthDay"!==e&&t%7==1&&b.weekNumbers.insertAdjacentHTML("beforeend","<span class='flatpickr-day'>"+b.config.getWeek(n)+"</span>"),Pe("onDayCreate",o),o}function V(e){e.focus(),"range"===b.config.mode&&ve(e)}function J(e){for(var n=e>0?0:b.config.showMonths-1,t=e>0?b.config.showMonths:-1,r=n;r!=t;r+=e)for(var i=b.daysContainer.children[r],o=e>0?0:i.children.length-1,a=e>0?i.children.length:-1,s=o;s!=a;s+=e){var l=i.children[s];if(-1===l.className.indexOf("hidden")&&Ae(l.dateObj))return l}}function K(e,n){for(var t=-1===e.className.indexOf("Month")?e.dateObj.getMonth():b.currentMonth,r=n>0?b.config.showMonths:-1,i=n>0?1:-1,o=t-b.currentMonth;o!=r;o+=i)for(var a=b.daysContainer.children[o],s=t-b.currentMonth===o?e.$i+n:n<0?a.children.length-1:0,l=a.children.length,c=s;c>=0&&c<l&&c!=(n>0?l:-1);c+=i){var d=a.children[c];if(-1===d.className.indexOf("hidden")&&Ae(d.dateObj)&&Math.abs(e.$i-c)>=Math.abs(n))return V(d)}b.changeMonth(i),G(J(i),0)}function G(e,n){var t=he(document.activeElement||document.body),r=void 0!==e?e:t?document.activeElement:void 0!==b.selectedDateElem&&he(b.selectedDateElem)?b.selectedDateElem:void 0!==b.todayDateElem&&he(b.todayDateElem)?b.todayDateElem:J(n>0?1:-1);void 0===r?b._input.focus():t?K(r,n):V(r)}function X(e,n){for(var t=(new Date(e,n,1).getDay()-b.l10n.firstDayOfWeek+7)%7,r=b.utils.getDaysInMonth((n-1+12)%12,e),i=b.utils.getDaysInMonth(n,e),o=window.document.createDocumentFragment(),a=b.config.showMonths>1,s=a?"prevMonthDay hidden":"prevMonthDay",l=a?"nextMonthDay hidden":"nextMonthDay",c=r+1-t,u=0;c<=r;c++,u++)o.appendChild(W(s,new Date(e,n-1,c),c,u));for(c=1;c<=i;c++,u++)o.appendChild(W("",new Date(e,n,c),c,u));for(var p=i+1;p<=42-t&&(1===b.config.showMonths||u%7!=0);p++,u++)o.appendChild(W(l,new Date(e,n+1,p%i),p,u));var f=d("div","dayContainer");return f.appendChild(o),f}function Q(){if(void 0!==b.daysContainer){u(b.daysContainer),b.weekNumbers&&u(b.weekNumbers);for(var e=document.createDocumentFragment(),n=0;n<b.config.showMonths;n++){var t=new Date(b.currentYear,b.currentMonth,1);t.setMonth(b.currentMonth+n),e.appendChild(X(t.getFullYear(),t.getMonth()))}b.daysContainer.appendChild(e),b.days=b.daysContainer.firstChild,"range"===b.config.mode&&1===b.selectedDates.length&&ve()}}function Z(){if(!(b.config.showMonths>1||"dropdown"!==b.config.monthSelectorType)){var e=function(e){return!(void 0!==b.config.minDate&&b.currentYear===b.config.minDate.getFullYear()&&e<b.config.minDate.getMonth()||void 0!==b.config.maxDate&&b.currentYear===b.config.maxDate.getFullYear()&&e>b.config.maxDate.getMonth())};b.monthsDropdownContainer.tabIndex=-1,b.monthsDropdownContainer.innerHTML="";for(var n=0;n<12;n++)if(e(n)){var t=d("option","flatpickr-monthDropdown-month");t.value=new Date(b.currentYear,n).getMonth().toString(),t.textContent=m(n,b.config.shorthandCurrentMonth,b.l10n),t.tabIndex=-1,b.currentMonth===n&&(t.selected=!0),b.monthsDropdownContainer.appendChild(t)}}}function ee(){var e,n=d("div","flatpickr-month"),t=window.document.createDocumentFragment();b.config.showMonths>1||"static"===b.config.monthSelectorType?e=d("span","cur-month"):(b.monthsDropdownContainer=d("select","flatpickr-monthDropdown-months"),b.monthsDropdownContainer.setAttribute("aria-label",b.l10n.monthAriaLabel),L(b.monthsDropdownContainer,"change",(function(e){var n=A(e),t=parseInt(n.value,10);b.changeMonth(t-b.currentMonth),Pe("onMonthChange")})),Z(),e=b.monthsDropdownContainer);var r=f("cur-year",{tabindex:"-1"}),i=r.getElementsByTagName("input")[0];i.setAttribute("aria-label",b.l10n.yearAriaLabel),b.config.minDate&&i.setAttribute("min",b.config.minDate.getFullYear().toString()),b.config.maxDate&&(i.setAttribute("max",b.config.maxDate.getFullYear().toString()),i.disabled=!!b.config.minDate&&b.config.minDate.getFullYear()===b.config.maxDate.getFullYear());var o=d("div","flatpickr-current-month");return o.appendChild(e),o.appendChild(r),t.appendChild(o),n.appendChild(t),{container:n,yearElement:i,monthElement:e}}function ne(){u(b.monthNav),b.monthNav.appendChild(b.prevMonthNav),b.config.showMonths&&(b.yearElements=[],b.monthElements=[]);for(var e=b.config.showMonths;e--;){var n=ee();b.yearElements.push(n.yearElement),b.monthElements.push(n.monthElement),b.monthNav.appendChild(n.container)}b.monthNav.appendChild(b.nextMonthNav)}function te(){return b.monthNav=d("div","flatpickr-months"),b.yearElements=[],b.monthElements=[],b.prevMonthNav=d("span","flatpickr-prev-month"),b.prevMonthNav.innerHTML=b.config.prevArrow,b.nextMonthNav=d("span","flatpickr-next-month"),b.nextMonthNav.innerHTML=b.config.nextArrow,ne(),Object.defineProperty(b,"_hidePrevMonthArrow",{get:function(){return b.__hidePrevMonthArrow},set:function(e){b.__hidePrevMonthArrow!==e&&(c(b.prevMonthNav,"flatpickr-disabled",e),b.__hidePrevMonthArrow=e)}}),Object.defineProperty(b,"_hideNextMonthArrow",{get:function(){return b.__hideNextMonthArrow},set:function(e){b.__hideNextMonthArrow!==e&&(c(b.nextMonthNav,"flatpickr-disabled",e),b.__hideNextMonthArrow=e)}}),b.currentYearElement=b.yearElements[0],qe(),b.monthNav}function re(){b.calendarContainer.classList.add("hasTime"),b.config.noCalendar&&b.calendarContainer.classList.add("noCalendar"),b.timeContainer=d("div","flatpickr-time"),b.timeContainer.tabIndex=-1;var e=d("span","flatpickr-time-separator",":"),n=f("flatpickr-hour",{"aria-label":b.l10n.hourAriaLabel});b.hourElement=n.getElementsByTagName("input")[0];var t=f("flatpickr-minute",{"aria-label":b.l10n.minuteAriaLabel});if(b.minuteElement=t.getElementsByTagName("input")[0],b.hourElement.tabIndex=b.minuteElement.tabIndex=-1,b.hourElement.value=o(b.latestSelectedDateObj?b.latestSelectedDateObj.getHours():b.config.time_24hr?b.config.defaultHour:T(b.config.defaultHour)),b.minuteElement.value=o(b.latestSelectedDateObj?b.latestSelectedDateObj.getMinutes():b.config.defaultMinute),b.hourElement.setAttribute("step",b.config.hourIncrement.toString()),b.minuteElement.setAttribute("step",b.config.minuteIncrement.toString()),b.hourElement.setAttribute("min",b.config.time_24hr?"0":"1"),b.hourElement.setAttribute("max",b.config.time_24hr?"23":"12"),b.minuteElement.setAttribute("min","0"),b.minuteElement.setAttribute("max","59"),b.timeContainer.appendChild(n),b.timeContainer.appendChild(e),b.timeContainer.appendChild(t),b.config.time_24hr&&b.timeContainer.classList.add("time24hr"),b.config.enableSeconds){b.timeContainer.classList.add("hasSeconds");var r=f("flatpickr-second");b.secondElement=r.getElementsByTagName("input")[0],b.secondElement.value=o(b.latestSelectedDateObj?b.latestSelectedDateObj.getSeconds():b.config.defaultSeconds),b.secondElement.setAttribute("step",b.minuteElement.getAttribute("step")),b.secondElement.setAttribute("min","0"),b.secondElement.setAttribute("max","59"),b.timeContainer.appendChild(d("span","flatpickr-time-separator",":")),b.timeContainer.appendChild(r)}return b.config.time_24hr||(b.amPM=d("span","flatpickr-am-pm",b.l10n.amPM[a((b.latestSelectedDateObj?b.hourElement.value:b.config.defaultHour)>11)]),b.amPM.title=b.l10n.toggleTitle,b.amPM.tabIndex=-1,b.timeContainer.appendChild(b.amPM)),b.timeContainer}function ie(){b.weekdayContainer?u(b.weekdayContainer):b.weekdayContainer=d("div","flatpickr-weekdays");for(var e=b.config.showMonths;e--;){var n=d("div","flatpickr-weekdaycontainer");b.weekdayContainer.appendChild(n)}return oe(),b.weekdayContainer}function oe(){if(b.weekdayContainer){var e=b.l10n.firstDayOfWeek,t=n(b.l10n.weekdays.shorthand);e>0&&e<t.length&&(t=n(t.splice(e,t.length),t.splice(0,e)));for(var r=b.config.showMonths;r--;)b.weekdayContainer.children[r].innerHTML="\n <span class='flatpickr-weekday'>\n "+t.join("</span><span class='flatpickr-weekday'>")+"\n </span>\n "}}function ae(){b.calendarContainer.classList.add("hasWeeks");var e=d("div","flatpickr-weekwrapper");e.appendChild(d("span","flatpickr-weekday",b.l10n.weekAbbreviation));var n=d("div","flatpickr-weeks");return e.appendChild(n),{weekWrapper:e,weekNumbers:n}}function se(e,n){void 0===n&&(n=!0);var t=n?e:e-b.currentMonth;t<0&&!0===b._hidePrevMonthArrow||t>0&&!0===b._hideNextMonthArrow||(b.currentMonth+=t,(b.currentMonth<0||b.currentMonth>11)&&(b.currentYear+=b.currentMonth>11?1:-1,b.currentMonth=(b.currentMonth+12)%12,Pe("onYearChange"),Z()),Q(),Pe("onMonthChange"),qe())}function le(e,n){if(void 0===e&&(e=!0),void 0===n&&(n=!0),b.input.value="",void 0!==b.altInput&&(b.altInput.value=""),void 0!==b.mobileInput&&(b.mobileInput.value=""),b.selectedDates=[],b.latestSelectedDateObj=void 0,!0===n&&(b.currentYear=b._initialDate.getFullYear(),b.currentMonth=b._initialDate.getMonth()),!0===b.config.enableTime){var t=N();R(t.hours,t.minutes,t.seconds)}b.redraw(),e&&Pe("onChange")}function ce(){b.isOpen=!1,b.isMobile||(void 0!==b.calendarContainer&&b.calendarContainer.classList.remove("open"),void 0!==b._input&&b._input.classList.remove("active")),Pe("onClose")}function de(){void 0!==b.config&&Pe("onDestroy");for(var e=b._handlers.length;e--;){var n=b._handlers[e];n.element.removeEventListener(n.event,n.handler,n.options)}if(b._handlers=[],b.mobileInput)b.mobileInput.parentNode&&b.mobileInput.parentNode.removeChild(b.mobileInput),b.mobileInput=void 0;else if(b.calendarContainer&&b.calendarContainer.parentNode)if(b.config.static&&b.calendarContainer.parentNode){var t=b.calendarContainer.parentNode;if(t.lastChild&&t.removeChild(t.lastChild),t.parentNode){for(;t.firstChild;)t.parentNode.insertBefore(t.firstChild,t);t.parentNode.removeChild(t)}}else b.calendarContainer.parentNode.removeChild(b.calendarContainer);b.altInput&&(b.input.type="text",b.altInput.parentNode&&b.altInput.parentNode.removeChild(b.altInput),delete b.altInput),b.input&&(b.input.type=b.input._type,b.input.classList.remove("flatpickr-input"),b.input.removeAttribute("readonly")),["_showTimeInput","latestSelectedDateObj","_hideNextMonthArrow","_hidePrevMonthArrow","__hideNextMonthArrow","__hidePrevMonthArrow","isMobile","isOpen","selectedDateElem","minDateHasTime","maxDateHasTime","days","daysContainer","_input","_positionElement","innerContainer","rContainer","monthNav","todayDateElem","calendarContainer","weekdayContainer","prevMonthNav","nextMonthNav","monthsDropdownContainer","currentMonthElement","currentYearElement","navigationCurrentMonth","selectedDateElem","config"].forEach((function(e){try{delete b[e]}catch(e){}}))}function ue(e){return!(!b.config.appendTo||!b.config.appendTo.contains(e))||b.calendarContainer.contains(e)}function pe(e){if(b.isOpen&&!b.config.inline){var n=A(e),t=ue(n),r=n===b.input||n===b.altInput||b.element.contains(n)||e.path&&e.path.indexOf&&(~e.path.indexOf(b.input)||~e.path.indexOf(b.altInput)),i="blur"===e.type?r&&e.relatedTarget&&!ue(e.relatedTarget):!r&&!t&&!ue(e.relatedTarget),o=!b.config.ignoredFocusElements.some((function(e){return e.contains(n)}));i&&o&&(void 0!==b.timeContainer&&void 0!==b.minuteElement&&void 0!==b.hourElement&&""!==b.input.value&&void 0!==b.input.value&&O(),b.close(),b.config&&"range"===b.config.mode&&1===b.selectedDates.length&&(b.clear(!1),b.redraw()))}}function fe(e){if(!(!e||b.config.minDate&&e<b.config.minDate.getFullYear()||b.config.maxDate&&e>b.config.maxDate.getFullYear())){var n=e,t=b.currentYear!==n;b.currentYear=n||b.currentYear,b.config.maxDate&&b.currentYear===b.config.maxDate.getFullYear()?b.currentMonth=Math.min(b.config.maxDate.getMonth(),b.currentMonth):b.config.minDate&&b.currentYear===b.config.minDate.getFullYear()&&(b.currentMonth=Math.max(b.config.minDate.getMonth(),b.currentMonth)),t&&(b.redraw(),Pe("onYearChange"),Z())}}function Ae(e,n){void 0===n&&(n=!0);var t=b.parseDate(e,void 0,n);if(b.config.minDate&&t&&E(t,b.config.minDate,void 0!==n?n:!b.minDateHasTime)<0||b.config.maxDate&&t&&E(t,b.config.maxDate,void 0!==n?n:!b.maxDateHasTime)>0)return!1;if(0===b.config.enable.length&&0===b.config.disable.length)return!0;if(void 0===t)return!1;for(var r=b.config.enable.length>0,i=r?b.config.enable:b.config.disable,o=0,a=void 0;o<i.length;o++){if("function"==typeof(a=i[o])&&a(t))return r;if(a instanceof Date&&void 0!==t&&a.getTime()===t.getTime())return r;if("string"==typeof a&&void 0!==t){var s=b.parseDate(a,void 0,!0);return s&&s.getTime()===t.getTime()?r:!r}if("object"==typeof a&&void 0!==t&&a.from&&a.to&&t.getTime()>=a.from.getTime()&&t.getTime()<=a.to.getTime())return r}return!r}function he(e){return void 0!==b.daysContainer&&-1===e.className.indexOf("hidden")&&-1===e.className.indexOf("flatpickr-disabled")&&b.daysContainer.contains(e)}function me(e){e.target!==b._input||e.relatedTarget&&ue(e.relatedTarget)||b.setDate(b._input.value,!0,e.target===b.altInput?b.config.altFormat:b.config.dateFormat)}function ge(e){var n=A(e),t=b.config.wrap?h.contains(n):n===b._input,r=b.config.allowInput,i=b.isOpen&&(!r||!t),o=b.config.inline&&t&&!r;if(13===e.keyCode&&t){if(r)return b.setDate(b._input.value,!0,n===b.altInput?b.config.altFormat:b.config.dateFormat),n.blur();b.open()}else if(ue(n)||i||o){var a=!!b.timeContainer&&b.timeContainer.contains(n);switch(e.keyCode){case 13:a?(e.preventDefault(),O(),Be()):ze(e);break;case 27:e.preventDefault(),Be();break;case 8:case 46:t&&!b.config.allowInput&&(e.preventDefault(),b.clear());break;case 37:case 39:if(a||t)b.hourElement&&b.hourElement.focus();else if(e.preventDefault(),void 0!==b.daysContainer&&(!1===r||document.activeElement&&he(document.activeElement))){var s=39===e.keyCode?1:-1;e.ctrlKey?(e.stopPropagation(),se(s),G(J(1),0)):G(void 0,s)}break;case 38:case 40:e.preventDefault();var l=40===e.keyCode?1:-1;b.daysContainer&&void 0!==n.$i||n===b.input||n===b.altInput?e.ctrlKey?(e.stopPropagation(),fe(b.currentYear-l),G(J(1),0)):a||G(void 0,7*l):n===b.currentYearElement?fe(b.currentYear-l):b.config.enableTime&&(!a&&b.hourElement&&b.hourElement.focus(),O(e),b._debouncedChange());break;case 9:if(a){var c=[b.hourElement,b.minuteElement,b.secondElement,b.amPM].concat(b.pluginElements).filter((function(e){return e})),d=c.indexOf(n);if(-1!==d){var u=c[d+(e.shiftKey?-1:1)];e.preventDefault(),(u||b._input).focus()}}else!b.config.noCalendar&&b.daysContainer&&b.daysContainer.contains(n)&&e.shiftKey&&(e.preventDefault(),b._input.focus())}}if(void 0!==b.amPM&&n===b.amPM)switch(e.key){case b.l10n.amPM[0].charAt(0):case b.l10n.amPM[0].charAt(0).toLowerCase():b.amPM.textContent=b.l10n.amPM[0],I(),We();break;case b.l10n.amPM[1].charAt(0):case b.l10n.amPM[1].charAt(0).toLowerCase():b.amPM.textContent=b.l10n.amPM[1],I(),We()}(t||ue(n))&&Pe("onKeyDown",e)}function ve(e){if(1===b.selectedDates.length&&(!e||e.classList.contains("flatpickr-day")&&!e.classList.contains("flatpickr-disabled"))){for(var n=e?e.dateObj.getTime():b.days.firstElementChild.dateObj.getTime(),t=b.parseDate(b.selectedDates[0],void 0,!0).getTime(),r=Math.min(n,b.selectedDates[0].getTime()),i=Math.max(n,b.selectedDates[0].getTime()),o=!1,a=0,s=0,l=r;l<i;l+=w.DAY)Ae(new Date(l),!0)||(o=o||l>r&&l<i,l<t&&(!a||l>a)?a=l:l>t&&(!s||l<s)&&(s=l));for(var c=0;c<b.config.showMonths;c++)for(var d=b.daysContainer.children[c],u=function(r,i){var l=d.children[r],c=l.dateObj.getTime(),u=a>0&&c<a||s>0&&c>s;return u?(l.classList.add("notAllowed"),["inRange","startRange","endRange"].forEach((function(e){l.classList.remove(e)})),"continue"):o&&!u?"continue":(["startRange","inRange","endRange","notAllowed"].forEach((function(e){l.classList.remove(e)})),void(void 0!==e&&(e.classList.add(n<=b.selectedDates[0].getTime()?"startRange":"endRange"),t<n&&c===t?l.classList.add("startRange"):t>n&&c===t&&l.classList.add("endRange"),c>=a&&(0===s||c<=s)&&x(c,t,n)&&l.classList.add("inRange"))))},p=0,f=d.children.length;p<f;p++)u(p,f)}}function be(){!b.isOpen||b.config.static||b.config.inline||ke()}function ye(e,n){if(void 0===n&&(n=b._positionElement),!0===b.isMobile){if(e){e.preventDefault();var t=A(e);t&&t.blur()}return void 0!==b.mobileInput&&(b.mobileInput.focus(),b.mobileInput.click()),void Pe("onOpen")}if(!b._input.disabled&&!b.config.inline){var r=b.isOpen;b.isOpen=!0,r||(b.calendarContainer.classList.add("open"),b._input.classList.add("active"),Pe("onOpen"),ke(n)),!0===b.config.enableTime&&!0===b.config.noCalendar&&(!1!==b.config.allowInput||void 0!==e&&b.timeContainer.contains(e.relatedTarget)||setTimeout((function(){return b.hourElement.select()}),50))}}function Ce(e){return function(n){var t=b.config["_"+e+"Date"]=b.parseDate(n,b.config.dateFormat),r=b.config["_"+("min"===e?"max":"min")+"Date"];void 0!==t&&(b["min"===e?"minDateHasTime":"maxDateHasTime"]=t.getHours()>0||t.getMinutes()>0||t.getSeconds()>0),b.selectedDates&&(b.selectedDates=b.selectedDates.filter((function(e){return Ae(e)})),b.selectedDates.length||"min"!==e||$(t),We()),b.daysContainer&&(De(),void 0!==t?b.currentYearElement[e]=t.getFullYear().toString():b.currentYearElement.removeAttribute(e),b.currentYearElement.disabled=!!r&&void 0!==t&&r.getFullYear()===t.getFullYear())}}function Ee(){var n=["wrap","weekNumbers","allowInput","allowInvalidPreload","clickOpens","time_24hr","enableTime","noCalendar","altInput","shorthandCurrentMonth","inline","static","enableSeconds","disableMobile"],i=e(e({},JSON.parse(JSON.stringify(h.dataset||{}))),g),o={};b.config.parseDate=i.parseDate,b.config.formatDate=i.formatDate,Object.defineProperty(b.config,"enable",{get:function(){return b.config._enable},set:function(e){b.config._enable=$e(e)}}),Object.defineProperty(b.config,"disable",{get:function(){return b.config._disable},set:function(e){b.config._disable=$e(e)}});var a="time"===i.mode;if(!i.dateFormat&&(i.enableTime||a)){var s=D.defaultConfig.dateFormat||r.dateFormat;o.dateFormat=i.noCalendar||a?"H:i"+(i.enableSeconds?":S":""):s+" H:i"+(i.enableSeconds?":S":"")}if(i.altInput&&(i.enableTime||a)&&!i.altFormat){var c=D.defaultConfig.altFormat||r.altFormat;o.altFormat=i.noCalendar||a?"h:i"+(i.enableSeconds?":S K":" K"):c+" h:i"+(i.enableSeconds?":S":"")+" K"}Object.defineProperty(b.config,"minDate",{get:function(){return b.config._minDate},set:Ce("min")}),Object.defineProperty(b.config,"maxDate",{get:function(){return b.config._maxDate},set:Ce("max")});var d=function(e){return function(n){b.config["min"===e?"_minTime":"_maxTime"]=b.parseDate(n,"H:i:S")}};Object.defineProperty(b.config,"minTime",{get:function(){return b.config._minTime},set:d("min")}),Object.defineProperty(b.config,"maxTime",{get:function(){return b.config._maxTime},set:d("max")}),"time"===i.mode&&(b.config.noCalendar=!0,b.config.enableTime=!0),Object.assign(b.config,o,i);for(var u=0;u<n.length;u++)b.config[n[u]]=!0===b.config[n[u]]||"true"===b.config[n[u]];for(t.filter((function(e){return void 0!==b.config[e]})).forEach((function(e){b.config[e]=l(b.config[e]||[]).map(B)})),b.isMobile=!b.config.disableMobile&&!b.config.inline&&"single"===b.config.mode&&!b.config.disable.length&&!b.config.enable.length&&!b.config.weekNumbers&&/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),u=0;u<b.config.plugins.length;u++){var p=b.config.plugins[u](b)||{};for(var f in p)t.indexOf(f)>-1?b.config[f]=l(p[f]).map(B).concat(b.config[f]):void 0===i[f]&&(b.config[f]=p[f])}i.altInputClass||(b.config.altInputClass=xe().className+" "+b.config.altInputClass),Pe("onParseConfig")}function xe(){return b.config.wrap?h.querySelector("[data-input]"):h}function we(){"object"!=typeof b.config.locale&&void 0===D.l10ns[b.config.locale]&&b.config.errorHandler(new Error("flatpickr: invalid locale "+b.config.locale)),b.l10n=e(e({},D.l10ns.default),"object"==typeof b.config.locale?b.config.locale:"default"!==b.config.locale?D.l10ns[b.config.locale]:void 0),v.K="("+b.l10n.amPM[0]+"|"+b.l10n.amPM[1]+"|"+b.l10n.amPM[0].toLowerCase()+"|"+b.l10n.amPM[1].toLowerCase()+")",void 0===e(e({},g),JSON.parse(JSON.stringify(h.dataset||{}))).time_24hr&&void 0===D.defaultConfig.time_24hr&&(b.config.time_24hr=b.l10n.time_24hr),b.formatDate=y(b),b.parseDate=C({config:b.config,l10n:b.l10n})}function ke(e){if(void 0!==b.calendarContainer){Pe("onPreCalendarPosition");var n=e||b._positionElement,t=Array.prototype.reduce.call(b.calendarContainer.children,(function(e,n){return e+n.offsetHeight}),0),r=b.calendarContainer.offsetWidth,i=b.config.position.split(" "),o=i[0],a=i.length>1?i[1]:null,s=n.getBoundingClientRect(),l=window.innerHeight-s.bottom,d="above"===o||"below"!==o&&l<t&&s.top>t,u=window.pageYOffset+s.top+(d?-t-2:n.offsetHeight+2);if(c(b.calendarContainer,"arrowTop",!d),c(b.calendarContainer,"arrowBottom",d),!b.config.inline){var p=window.pageXOffset+s.left,f=!1,A=!1;"center"===a?(p-=(r-s.width)/2,f=!0):"right"===a&&(p-=r-s.width,A=!0),c(b.calendarContainer,"arrowLeft",!f&&!A),c(b.calendarContainer,"arrowCenter",f),c(b.calendarContainer,"arrowRight",A);var h=window.document.body.offsetWidth-(window.pageXOffset+s.right),m=p+r>window.document.body.offsetWidth,g=h+r>window.document.body.offsetWidth;if(c(b.calendarContainer,"rightMost",m),!b.config.static)if(b.calendarContainer.style.top=u+"px",m)if(g){var v=_e();if(void 0===v)return;var y=window.document.body.offsetWidth,C=Math.max(0,y/2-r/2),E=".flatpickr-calendar.centerMost:before",x=".flatpickr-calendar.centerMost:after",w=v.cssRules.length,k="{left:"+s.left+"px;right:auto;}";c(b.calendarContainer,"rightMost",!1),c(b.calendarContainer,"centerMost",!0),v.insertRule(E+","+x+k,w),b.calendarContainer.style.left=C+"px",b.calendarContainer.style.right="auto"}else b.calendarContainer.style.left="auto",b.calendarContainer.style.right=h+"px";else b.calendarContainer.style.left=p+"px",b.calendarContainer.style.right="auto"}}}function _e(){for(var e=null,n=0;n<document.styleSheets.length;n++){var t=document.styleSheets[n];try{t.cssRules}catch(e){continue}e=t;break}return null!=e?e:Se()}function Se(){var e=document.createElement("style");return document.head.appendChild(e),e.sheet}function De(){b.config.noCalendar||b.isMobile||(Z(),qe(),Q())}function Be(){b._input.focus(),-1!==window.navigator.userAgent.indexOf("MSIE")||void 0!==navigator.msMaxTouchPoints?setTimeout(b.close,0):b.close()}function ze(e){e.preventDefault(),e.stopPropagation();var n=function(e){return e.classList&&e.classList.contains("flatpickr-day")&&!e.classList.contains("flatpickr-disabled")&&!e.classList.contains("notAllowed")},t=p(A(e),n);if(void 0!==t){var r=t,i=b.latestSelectedDateObj=new Date(r.dateObj.getTime()),o=(i.getMonth()<b.currentMonth||i.getMonth()>b.currentMonth+b.config.showMonths-1)&&"range"!==b.config.mode;if(b.selectedDateElem=r,"single"===b.config.mode)b.selectedDates=[i];else if("multiple"===b.config.mode){var a=Ye(i);a?b.selectedDates.splice(parseInt(a),1):b.selectedDates.push(i)}else"range"===b.config.mode&&(2===b.selectedDates.length&&b.clear(!1,!1),b.latestSelectedDateObj=i,b.selectedDates.push(i),0!==E(i,b.selectedDates[0],!0)&&b.selectedDates.sort((function(e,n){return e.getTime()-n.getTime()})));if(I(),o){var s=b.currentYear!==i.getFullYear();b.currentYear=i.getFullYear(),b.currentMonth=i.getMonth(),s&&(Pe("onYearChange"),Z()),Pe("onMonthChange")}if(qe(),Q(),We(),o||"range"===b.config.mode||1!==b.config.showMonths?void 0!==b.selectedDateElem&&void 0===b.hourElement&&b.selectedDateElem&&b.selectedDateElem.focus():V(r),void 0!==b.hourElement&&void 0!==b.hourElement&&b.hourElement.focus(),b.config.closeOnSelect){var l="single"===b.config.mode&&!b.config.enableTime,c="range"===b.config.mode&&2===b.selectedDates.length&&!b.config.enableTime;(l||c)&&Be()}P()}}b.parseDate=C({config:b.config,l10n:b.l10n}),b._handlers=[],b.pluginElements=[],b.loadedPlugins=[],b._bind=L,b._setHoursFromDate=$,b._positionCalendar=ke,b.changeMonth=se,b.changeYear=fe,b.clear=le,b.close=ce,b._createElement=d,b.destroy=de,b.isEnabled=Ae,b.jumpToDate=Y,b.open=ye,b.redraw=De,b.set=Me,b.setDate=Ie,b.toggle=Le;var Oe={locale:[we,oe],showMonths:[ne,z,ie],minDate:[Y],maxDate:[Y]};function Me(e,n){if(null!==e&&"object"==typeof e)for(var r in Object.assign(b.config,e),e)void 0!==Oe[r]&&Oe[r].forEach((function(e){return e()}));else b.config[e]=n,void 0!==Oe[e]?Oe[e].forEach((function(e){return e()})):t.indexOf(e)>-1&&(b.config[e]=l(n));b.redraw(),We(!0)}function Te(e,n){var t=[];if(e instanceof Array)t=e.map((function(e){return b.parseDate(e,n)}));else if(e instanceof Date||"number"==typeof e)t=[b.parseDate(e,n)];else if("string"==typeof e)switch(b.config.mode){case"single":case"time":t=[b.parseDate(e,n)];break;case"multiple":t=e.split(b.config.conjunction).map((function(e){return b.parseDate(e,n)}));break;case"range":t=e.split(b.l10n.rangeSeparator).map((function(e){return b.parseDate(e,n)}))}else b.config.errorHandler(new Error("Invalid date supplied: "+JSON.stringify(e)));b.selectedDates=b.config.allowInvalidPreload?t:t.filter((function(e){return e instanceof Date&&Ae(e,!1)})),"range"===b.config.mode&&b.selectedDates.sort((function(e,n){return e.getTime()-n.getTime()}))}function Ie(e,n,t){if(void 0===n&&(n=!1),void 0===t&&(t=b.config.dateFormat),0!==e&&!e||e instanceof Array&&0===e.length)return b.clear(n);Te(e,t),b.latestSelectedDateObj=b.selectedDates[b.selectedDates.length-1],b.redraw(),Y(void 0,n),$(),0===b.selectedDates.length&&b.clear(!1),We(n),n&&Pe("onChange")}function $e(e){return e.slice().map((function(e){return"string"==typeof e||"number"==typeof e||e instanceof Date?b.parseDate(e,void 0,!0):e&&"object"==typeof e&&e.from&&e.to?{from:b.parseDate(e.from,void 0),to:b.parseDate(e.to,void 0)}:e})).filter((function(e){return e}))}function Ne(){b.selectedDates=[],b.now=b.parseDate(b.config.now)||new Date;var e=b.config.defaultDate||("INPUT"!==b.input.nodeName&&"TEXTAREA"!==b.input.nodeName||!b.input.placeholder||b.input.value!==b.input.placeholder?b.input.value:null);e&&Te(e,b.config.dateFormat),b._initialDate=b.selectedDates.length>0?b.selectedDates[0]:b.config.minDate&&b.config.minDate.getTime()>b.now.getTime()?b.config.minDate:b.config.maxDate&&b.config.maxDate.getTime()<b.now.getTime()?b.config.maxDate:b.now,b.currentYear=b._initialDate.getFullYear(),b.currentMonth=b._initialDate.getMonth(),b.selectedDates.length>0&&(b.latestSelectedDateObj=b.selectedDates[0]),void 0!==b.config.minTime&&(b.config.minTime=b.parseDate(b.config.minTime,"H:i")),void 0!==b.config.maxTime&&(b.config.maxTime=b.parseDate(b.config.maxTime,"H:i")),b.minDateHasTime=!!b.config.minDate&&(b.config.minDate.getHours()>0||b.config.minDate.getMinutes()>0||b.config.minDate.getSeconds()>0),b.maxDateHasTime=!!b.config.maxDate&&(b.config.maxDate.getHours()>0||b.config.maxDate.getMinutes()>0||b.config.maxDate.getSeconds()>0)}function Re(){b.input=xe(),b.input?(b.input._type=b.input.type,b.input.type="text",b.input.classList.add("flatpickr-input"),b._input=b.input,b.config.altInput&&(b.altInput=d(b.input.nodeName,b.config.altInputClass),b._input=b.altInput,b.altInput.placeholder=b.input.placeholder,b.altInput.disabled=b.input.disabled,b.altInput.required=b.input.required,b.altInput.tabIndex=b.input.tabIndex,b.altInput.type="text",b.input.setAttribute("type","hidden"),!b.config.static&&b.input.parentNode&&b.input.parentNode.insertBefore(b.altInput,b.input.nextSibling)),b.config.allowInput||b._input.setAttribute("readonly","readonly"),b._positionElement=b.config.positionElement||b._input):b.config.errorHandler(new Error("Invalid input element specified"))}function Fe(){var e=b.config.enableTime?b.config.noCalendar?"time":"datetime-local":"date";b.mobileInput=d("input",b.input.className+" flatpickr-mobile"),b.mobileInput.tabIndex=1,b.mobileInput.type=e,b.mobileInput.disabled=b.input.disabled,b.mobileInput.required=b.input.required,b.mobileInput.placeholder=b.input.placeholder,b.mobileFormatStr="datetime-local"===e?"Y-m-d\\TH:i:S":"date"===e?"Y-m-d":"H:i:S",b.selectedDates.length>0&&(b.mobileInput.defaultValue=b.mobileInput.value=b.formatDate(b.selectedDates[0],b.mobileFormatStr)),b.config.minDate&&(b.mobileInput.min=b.formatDate(b.config.minDate,"Y-m-d")),b.config.maxDate&&(b.mobileInput.max=b.formatDate(b.config.maxDate,"Y-m-d")),b.input.getAttribute("step")&&(b.mobileInput.step=String(b.input.getAttribute("step"))),b.input.type="hidden",void 0!==b.altInput&&(b.altInput.type="hidden");try{b.input.parentNode&&b.input.parentNode.insertBefore(b.mobileInput,b.input.nextSibling)}catch(e){}L(b.mobileInput,"change",(function(e){b.setDate(A(e).value,!1,b.mobileFormatStr),Pe("onChange"),Pe("onClose")}))}function Le(e){if(!0===b.isOpen)return b.close();b.open(e)}function Pe(e,n){if(void 0!==b.config){var t=b.config[e];if(void 0!==t&&t.length>0)for(var r=0;t[r]&&r<t.length;r++)t[r](b.selectedDates,b.input.value,b,n);"onChange"===e&&(b.input.dispatchEvent(je("change")),b.input.dispatchEvent(je("input")))}}function je(e){var n=document.createEvent("Event");return n.initEvent(e,!0,!0),n}function Ye(e){for(var n=0;n<b.selectedDates.length;n++)if(0===E(b.selectedDates[n],e))return""+n;return!1}function Ue(e){return!("range"!==b.config.mode||b.selectedDates.length<2)&&E(e,b.selectedDates[0])>=0&&E(e,b.selectedDates[1])<=0}function qe(){b.config.noCalendar||b.isMobile||!b.monthNav||(b.yearElements.forEach((function(e,n){var t=new Date(b.currentYear,b.currentMonth,1);t.setMonth(b.currentMonth+n),b.config.showMonths>1||"static"===b.config.monthSelectorType?b.monthElements[n].textContent=m(t.getMonth(),b.config.shorthandCurrentMonth,b.l10n)+" ":b.monthsDropdownContainer.value=t.getMonth().toString(),e.value=t.getFullYear().toString()})),b._hidePrevMonthArrow=void 0!==b.config.minDate&&(b.currentYear===b.config.minDate.getFullYear()?b.currentMonth<=b.config.minDate.getMonth():b.currentYear<b.config.minDate.getFullYear()),b._hideNextMonthArrow=void 0!==b.config.maxDate&&(b.currentYear===b.config.maxDate.getFullYear()?b.currentMonth+1>b.config.maxDate.getMonth():b.currentYear>b.config.maxDate.getFullYear()))}function He(e){return b.selectedDates.map((function(n){return b.formatDate(n,e)})).filter((function(e,n,t){return"range"!==b.config.mode||b.config.enableTime||t.indexOf(e)===n})).join("range"!==b.config.mode?b.config.conjunction:b.l10n.rangeSeparator)}function We(e){void 0===e&&(e=!0),void 0!==b.mobileInput&&b.mobileFormatStr&&(b.mobileInput.value=void 0!==b.latestSelectedDateObj?b.formatDate(b.latestSelectedDateObj,b.mobileFormatStr):""),b.input.value=He(b.config.dateFormat),void 0!==b.altInput&&(b.altInput.value=He(b.config.altFormat)),!1!==e&&Pe("onValueUpdate")}function Ve(e){var n=A(e),t=b.prevMonthNav.contains(n),r=b.nextMonthNav.contains(n);t||r?se(t?-1:1):b.yearElements.indexOf(n)>=0?n.select():n.classList.contains("arrowUp")?b.changeYear(b.currentYear+1):n.classList.contains("arrowDown")&&b.changeYear(b.currentYear-1)}function Je(e){e.preventDefault();var n="keydown"===e.type,t=A(e),r=t;void 0!==b.amPM&&t===b.amPM&&(b.amPM.textContent=b.l10n.amPM[a(b.amPM.textContent===b.l10n.amPM[0])]);var i=parseFloat(r.getAttribute("min")),s=parseFloat(r.getAttribute("max")),l=parseFloat(r.getAttribute("step")),c=parseInt(r.value,10),d=c+l*(e.delta||(n?38===e.which?1:-1:0));if(void 0!==r.value&&2===r.value.length){var u=r===b.hourElement,p=r===b.minuteElement;d<i?(d=s+d+a(!u)+(a(u)&&a(!b.amPM)),p&&q(void 0,-1,b.hourElement)):d>s&&(d=r===b.hourElement?d-s-a(!b.amPM):i,p&&q(void 0,1,b.hourElement)),b.amPM&&u&&(1===l?d+c===23:Math.abs(d-c)>l)&&(b.amPM.textContent=b.l10n.amPM[a(b.amPM.textContent===b.l10n.amPM[0])]),r.value=o(d)}}return S(),b}function S(e,n){for(var t=Array.prototype.slice.call(e).filter((function(e){return e instanceof HTMLElement})),r=[],i=0;i<t.length;i++){var o=t[i];try{if(null!==o.getAttribute("data-fp-omit"))continue;void 0!==o._flatpickr&&(o._flatpickr.destroy(),o._flatpickr=void 0),o._flatpickr=_(o,n||{}),r.push(o._flatpickr)}catch(e){console.error(e)}}return 1===r.length?r[0]:r}"undefined"!=typeof HTMLElement&&"undefined"!=typeof HTMLCollection&&"undefined"!=typeof NodeList&&(HTMLCollection.prototype.flatpickr=NodeList.prototype.flatpickr=function(e){return S(this,e)},HTMLElement.prototype.flatpickr=function(e){return S([this],e)});var D=function(e,n){return"string"==typeof e?S(window.document.querySelectorAll(e),n):e instanceof Node?S([e],n):S(e,n)};return D.defaultConfig={},D.l10ns={en:e({},i),default:e({},i)},D.localize=function(n){D.l10ns.default=e(e({},D.l10ns.default),n)},D.setDefaults=function(n){D.defaultConfig=e(e({},D.defaultConfig),n)},D.parseDate=C({}),D.formatDate=y({}),D.compareDates=E,"undefined"!=typeof jQuery&&void 0!==jQuery.fn&&(jQuery.fn.flatpickr=function(e){return S(this,e)}),Date.prototype.fp_incr=function(e){return new Date(this.getFullYear(),this.getMonth(),this.getDate()+("string"==typeof e?parseInt(e,10):e))},"undefined"!=typeof window&&(window.flatpickr=D),D}()}));const eD={props:{value:String,options:{type:Object,default:()=>{}}},data:()=>({date:null,initialized:!1}),mounted(){let e=this;this.initialized||(ZS(this.$refs.calendar,Qc({inline:!0,enableTime:!0,time_24hr:!0,defaultDate:this.value,minuteIncrement:1,onChange(n){e.$emit("change",n[0])}},this.options)),this.initialized=!0)}};var nD=function(){var e=this.$createElement;return(this._self._c||e)("div",{ref:"calendar",staticClass:"ui-datepicker-overlay"})};nD._withStripped=!0;const tD={name:"uiDatepicker",components:{DatepickerOverlay:Da({render:nD,staticRenderFns:[]},(function(e){e&&e("data-v-12445d2d_0",{source:"\n\n/*# sourceMappingURL=overlay.vue.map */",map:{version:3,sources:["overlay.vue"],names:[],mappings:";;AAEA,sCAAsC",file:"overlay.vue",sourcesContent:["\n\n/*# sourceMappingURL=overlay.vue.map */"]},media:void 0})}),eD,undefined,false,undefined,!1,Iu,void 0,void 0)},props:{value:{type:String,default:null},clear:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},format:{type:String,default:null},time:{type:Boolean,default:!1},maxDate:{type:[String,Date],default:null},minDate:{type:[String,Date],default:null},amPm:{type:Boolean,default:!1}},data:()=>({id:null,output:null,pickerOptions:{}}),watch:{value(){this.updateOutput()},format(){this.updateOutput()}},mounted(){this.id="datepicker-"+jl.guid(),this.updateOptions(),this.updateOutput()},methods:{updateOutput(){this.output=jl.date(this.value,this.format||(this.time?"DD.MM.YY HH:mm":"DD.MM.YY"))},updateOptions(){this.pickerOptions={enableTime:this.time,maxDate:this.maxDate,minDate:this.minDate,time_24hr:!this.amPm}},onSelect(e){let n=Ll(e).toISOString();this.setValue(n),this.$refs.overlay.hide(),document.activeElement.blur()},onChange(e){this.setValue(e.target.value)},setValue(e){this.$emit("change",e),this.$emit("input",e)},onFocus(){this.$refs.overlay.show()},onBlur(){this.$refs.overlay.open||this.$refs.overlay.hide()},clearInput(){this.setValue(null)},overlayOpened(){}}};var rD=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-datepicker",class:{"is-disabled":e.disabled}},[t("input",{directives:[{name:"localize",rawName:"v-localize:placeholder",value:"@ui.date.select",expression:"'@ui.date.select'",arg:"placeholder"}],staticClass:"ui-input ui-datepicker-input",attrs:{type:"text",disabled:e.disabled},domProps:{value:e.output},on:{input:e.onChange,focus:e.onFocus,blur:e.onBlur}}),e._v(" "),e.clear&&e.value?e._e():t("i",{staticClass:"fth-calendar ui-datepicker-icon"}),e._v(" "),e.clear&&e.value?t("button",{staticClass:"ui-datepicker-input-button",attrs:{type:"button"},on:{click:e.clearInput}},[t("i",{staticClass:"fth-x"})]):e._e(),e._v(" "),t("ui-dropdown",{ref:"overlay",staticClass:"ui-datepicker-overlay",on:{opened:e.overlayOpened}},[t("datepicker-overlay",{attrs:{value:e.value,options:e.pickerOptions},on:{change:e.onSelect}})],1)],1)};rD._withStripped=!0;const iD=Da({render:rD,staticRenderFns:[]},(function(e){e&&e("data-v-7a3381f4_0",{source:".ui-datepicker {\n position: relative;\n max-width: 260px;\n}\ninput[type=text].ui-datepicker-input {\n padding-right: 36px;\n}\n.ui-datepicker-icon {\n position: absolute;\n right: 13px;\n top: 50%;\n margin-top: -8px;\n font-size: var(--font-size-l);\n}\n.ui-datepicker-overlay .ui-dropdown {\n padding: 0;\n}\n.ui-datepicker-input-button {\n position: absolute;\n right: 0;\n top: 0;\n height: 100%;\n width: 40px;\n text-align: center;\n font-size: var(--font-size);\n padding-top: 1px;\n}\n\n/*# sourceMappingURL=datepicker.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\pickers\\datePicker\\datepicker.vue","datepicker.vue"],names:[],mappings:"AAuKA;EAEA,kBAAA;EACA,gBAAA;ACvKA;AD0KA;EAEA,mBAAA;ACxKA;AD2KA;EAEA,kBAAA;EACA,WAAA;EACA,QAAA;EACA,gBAAA;EACA,6BAAA;ACzKA;AD4KA;EAEA,UAAA;AC1KA;AD6KA;EAEA,kBAAA;EACA,QAAA;EACA,MAAA;EACA,YAAA;EACA,WAAA;EACA,kBAAA;EACA,2BAAA;EACA,gBAAA;AC3KA;;AAEA,yCAAyC",file:"datepicker.vue",sourcesContent:['\ufeff<template>\r\n <div class="ui-datepicker" :class="{\'is-disabled\': disabled }">\r\n <input type="text" class="ui-input ui-datepicker-input" v-localize:placeholder="\'@ui.date.select\'" :value="output" @input="onChange" @focus="onFocus" @blur="onBlur" :disabled="disabled" />\r\n <i v-if="!clear || !value" class="fth-calendar ui-datepicker-icon"></i>\r\n <button v-if="clear && value" type="button" class="ui-datepicker-input-button" @click="clearInput"><i class="fth-x"></i></button>\r\n\r\n <ui-dropdown ref="overlay" class="ui-datepicker-overlay" @opened="overlayOpened">\r\n <datepicker-overlay :value="value" @change="onSelect" :options="pickerOptions" />\r\n </ui-dropdown>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import Strings from \'zero/helpers/strings.js\';\r\n import DatepickerOverlay from \'./overlay.vue\';\r\n import { extend as _extend } from \'underscore\';\r\n import dayjs from \'dayjs\';\r\n\r\n const DATETIME_FORMAT = \'DD.MM.YY HH:mm\';\r\n const DATE_FORMAT = \'DD.MM.YY\';\r\n\r\n export default {\r\n name: \'uiDatepicker\',\r\n\r\n components: { DatepickerOverlay },\r\n\r\n props: {\r\n value: {\r\n type: String,\r\n default: null\r\n },\r\n clear: {\r\n type: Boolean,\r\n default: true\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n },\r\n format: {\r\n type: String,\r\n default: null\r\n },\r\n time: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n maxDate: {\r\n type: [String, Date],\r\n default: null\r\n },\r\n minDate: {\r\n type: [String, Date],\r\n default: null\r\n },\r\n amPm: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n\r\n\r\n data: () => ({\r\n id: null,\r\n output: null,\r\n pickerOptions: {}\r\n }),\r\n\r\n\r\n watch: {\r\n value()\r\n {\r\n this.updateOutput();\r\n },\r\n format()\r\n {\r\n this.updateOutput();\r\n }\r\n },\r\n\r\n\r\n mounted()\r\n {\r\n this.id = \'datepicker-\' + Strings.guid();\r\n this.updateOptions();\r\n this.updateOutput();\r\n },\r\n\r\n\r\n methods: {\r\n\r\n updateOutput()\r\n {\r\n this.output = Strings.date(this.value, this.format || (this.time ? DATETIME_FORMAT : DATE_FORMAT));\r\n },\r\n\r\n\r\n updateOptions()\r\n {\r\n this.pickerOptions = {\r\n enableTime: this.time,\r\n maxDate: this.maxDate,\r\n minDate: this.minDate,\r\n time_24hr: !this.amPm\r\n };\r\n },\r\n\r\n\r\n onSelect(date)\r\n {\r\n let dateStr = dayjs(date).toISOString();\r\n this.setValue(dateStr);\r\n this.$refs.overlay.hide();\r\n document.activeElement.blur();\r\n },\r\n\r\n\r\n onChange(ev)\r\n {\r\n this.setValue(ev.target.value);\r\n },\r\n\r\n\r\n setValue(value)\r\n {\r\n this.$emit(\'change\', value);\r\n this.$emit(\'input\', value);\r\n },\r\n\r\n\r\n onFocus()\r\n {\r\n this.$refs.overlay.show();\r\n }, \r\n\r\n\r\n onBlur()\r\n {\r\n if (!this.$refs.overlay.open)\r\n {\r\n this.$refs.overlay.hide();\r\n }\r\n },\r\n\r\n\r\n clearInput()\r\n {\r\n this.setValue(null);\r\n },\r\n\r\n\r\n overlayOpened()\r\n {\r\n\r\n }\r\n\r\n //pick()\r\n //{\r\n // this.$el.\r\n //}\r\n \r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .ui-datepicker\r\n {\r\n position: relative;\r\n max-width: 260px;\r\n }\r\n\r\n input[type="text"].ui-datepicker-input\r\n {\r\n padding-right: 36px;\r\n }\r\n\r\n .ui-datepicker-icon\r\n {\r\n position: absolute;\r\n right: 13px;\r\n top: 50%;\r\n margin-top: -8px;\r\n font-size: var(--font-size-l);\r\n }\r\n\r\n .ui-datepicker-overlay .ui-dropdown\r\n {\r\n padding: 0;\r\n }\r\n\r\n .ui-datepicker-input-button\r\n {\r\n position: absolute;\r\n right: 0;\r\n top: 0;\r\n height: 100%;\r\n width: 40px;\r\n text-align: center;\r\n font-size: var(--font-size);\r\n padding-top: 1px;\r\n }\r\n</style>',".ui-datepicker {\n position: relative;\n max-width: 260px;\n}\n\ninput[type=text].ui-datepicker-input {\n padding-right: 36px;\n}\n\n.ui-datepicker-icon {\n position: absolute;\n right: 13px;\n top: 50%;\n margin-top: -8px;\n font-size: var(--font-size-l);\n}\n\n.ui-datepicker-overlay .ui-dropdown {\n padding: 0;\n}\n\n.ui-datepicker-input-button {\n position: absolute;\n right: 0;\n top: 0;\n height: 100%;\n width: 40px;\n text-align: center;\n font-size: var(--font-size);\n padding-top: 1px;\n}\n\n/*# sourceMappingURL=datepicker.vue.map */"]},media:void 0})}),tD,undefined,false,undefined,!1,Iu,void 0,void 0);const oD={props:{model:Object,config:Object},data:()=>({disabled:!1,fromDate:null,toDate:null}),mounted(){this.fromDate=this.model.from,this.toDate=this.model.to},methods:{confirm(){this.config.confirm({from:this.fromDate,to:this.toDate},this.config)}}};var aD=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("ui-form",{ref:"form",staticClass:"ui-daterangepicker",scopedSlots:e._u([{key:"default",fn:function(n){return[t("div",{staticClass:"ui-daterangepicker-items"},[t("div",{class:{"ui-split":e.config.options.rangeEnd}},[t("div",{staticClass:"ui-daterangepicker-group"},[t("ui-property",{attrs:{label:e.config.options.fromText,vertical:!0}},[t("ui-datepicker",{attrs:{time:!0},model:{value:e.fromDate,callback:function(n){e.fromDate=n},expression:"fromDate"}})],1)],1),e._v(" "),e.config.options.rangeEnd?t("div",{staticClass:"ui-daterangepicker-group"},[t("ui-property",{attrs:{label:e.config.options.toText,vertical:!0}},[t("ui-datepicker",{attrs:{time:!0},model:{value:e.toDate,callback:function(n){e.toDate=n},expression:"toDate"}})],1)],1):e._e()])]),e._v(" "),t("div",{staticClass:"app-confirm-buttons"},[t("ui-button",{attrs:{type:"primary",label:"@ui.confirm"},on:{click:e.confirm}}),e._v(" "),t("ui-button",{attrs:{type:"light",label:"@ui.close"},on:{click:e.config.close}})],1)]}}])})};aD._withStripped=!0;const sD=Da({render:aD,staticRenderFns:[]},(function(e){e&&e("data-v-a58897e8_0",{source:".ui-daterangepicker {\n text-align: left;\n}\nh3.ui-daterangepicker-group-header {\n font-weight: 400;\n font-size: var(--font-size);\n}\n\n/*# sourceMappingURL=overlay.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\pickers\\dateRangePicker\\overlay.vue","overlay.vue"],names:[],mappings:"AA2DA;EAEA,gBAAA;AC3DA;AD8DA;EAEA,gBAAA;EACA,2BAAA;AC5DA;;AAEA,sCAAsC",file:"overlay.vue",sourcesContent:['\ufeff<template>\r\n <ui-form ref="form" class="ui-daterangepicker" v-slot="form">\r\n <div class="ui-daterangepicker-items">\r\n <div :class="{ \'ui-split\': config.options.rangeEnd }">\r\n <div class="ui-daterangepicker-group">\r\n <ui-property :label="config.options.fromText" :vertical="true">\r\n <ui-datepicker v-model="fromDate" :time="true" />\r\n </ui-property>\r\n </div>\r\n <div class="ui-daterangepicker-group" v-if="config.options.rangeEnd">\r\n <ui-property :label="config.options.toText" :vertical="true">\r\n <ui-datepicker v-model="toDate" :time="true" />\r\n </ui-property>\r\n </div>\r\n </div>\r\n </div>\r\n <div class="app-confirm-buttons">\r\n <ui-button type="primary" label="@ui.confirm" @click="confirm"></ui-button>\r\n <ui-button type="light" label="@ui.close" @click="config.close"></ui-button>\r\n </div>\r\n </ui-form>\r\n</template>\r\n\r\n\r\n<script>\r\n export default {\r\n\r\n props: {\r\n model: Object,\r\n config: Object,\r\n },\r\n\r\n data: () => ({\r\n disabled: false,\r\n fromDate: null,\r\n toDate: null\r\n }),\r\n\r\n\r\n mounted()\r\n {\r\n this.fromDate = this.model.from;\r\n this.toDate = this.model.to;\r\n },\r\n\r\n\r\n methods: {\r\n confirm()\r\n {\r\n this.config.confirm({\r\n from: this.fromDate,\r\n to: this.toDate\r\n }, this.config);\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .ui-daterangepicker\r\n {\r\n text-align: left;\r\n }\r\n\r\n h3.ui-daterangepicker-group-header\r\n {\r\n font-weight: 400;\r\n font-size: var(--font-size);\r\n }\r\n</style>',".ui-daterangepicker {\n text-align: left;\n}\n\nh3.ui-daterangepicker-group-header {\n font-weight: 400;\n font-size: var(--font-size);\n}\n\n/*# sourceMappingURL=overlay.vue.map */"]},media:void 0})}),oD,undefined,false,undefined,!1,Iu,void 0,void 0);const lD={name:"uiDaterangepicker",components:{DaterangepickerOverlay:sD},props:{value:{type:Object,default:{from:null,to:null}},disabled:{type:Boolean,default:!1},format:{type:String,default:null},time:{type:Boolean,default:!1},maxDate:{type:[String,Date],default:null},minDate:{type:[String,Date],default:null},fromLabel:{type:String,default:"@page.schedule.publish"},toLabel:{type:String,default:"@page.schedule.unpublish"},amPm:{type:Boolean,default:!1},inline:{type:Boolean,default:!1},rangeEnd:{type:Boolean,default:!0},options:{type:Object,default:()=>{}}},data:()=>({id:null,output:null,pickerOptions:{}}),computed:{scheduleLocalize(){return{key:this.value.from||this.value.to?this.value.from&&!this.value.to?"@ui.date.x":!this.value.from&&this.value.to?"@ui.date.y":"@ui.date.xtoy":"@ui.date.set",tokens:{x:jl.date(this.value.from,this.format||(this.time?"DD.MM.YY HH:mm":"DD.MM.YY")),y:jl.date(this.value.to,this.format||(this.time?"DD.MM.YY HH:mm":"DD.MM.YY"))}}}},created(){this.id="daterangepicker-"+jl.guid()},methods:{schedule(){Uu.open({component:sD,options:{format:this.format,time:this.time,max:this.maxDate,min:this.minDate,fromText:this.fromLabel,toText:this.toLabel,amPm:this.amPm,rangeEnd:this.rangeEnd},model:{from:this.value.from,to:this.value.to}}).then((e=>{this.$emit("change",e),this.$emit("input",e)}),(()=>{}))}}};var cD=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-daterangepicker",class:{"is-disabled":e.disabled}},[e.inline?e._e():t("button",{directives:[{name:"localize",rawName:"v-localize",value:e.scheduleLocalize,expression:"scheduleLocalize"}],staticClass:"ui-link",attrs:{type:"button",disabled:e.disabled},on:{click:e.schedule}}),e._v(" "),e.inline?t("div",{staticClass:"ui-daterangepicker-inline"},[t("div",{staticClass:"ui-split"},[t("div",{staticClass:"ui-daterangepicker-group"},[t("ui-property",{attrs:{label:e.fromLabel,vertical:!0}},[t("ui-datepicker",{attrs:{time:e.time},model:{value:e.value.from,callback:function(n){e.$set(e.value,"from",n)},expression:"value.from"}})],1)],1),e._v(" "),e.rangeEnd?t("div",{staticClass:"ui-daterangepicker-group"},[t("ui-property",{attrs:{label:e.toLabel,vertical:!0}},[t("ui-datepicker",{attrs:{time:e.time},model:{value:e.value.to,callback:function(n){e.$set(e.value,"to",n)},expression:"value.to"}})],1)],1):e._e()])]):e._e()])};cD._withStripped=!0;const dD=Da({render:cD,staticRenderFns:[]},(function(e){e&&e("data-v-4f41895e_0",{source:".ui-daterangepicker.is-primary .ui-link {\n color: var(--color-primary);\n font-weight: 700;\n text-decoration-color: var(--color-primary) !important;\n}\n\n/*# sourceMappingURL=daterangepicker.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\pickers\\dateRangePicker\\daterangepicker.vue","daterangepicker.vue"],names:[],mappings:"AAuJA;EAEA,2BAAA;EACA,gBAAA;EACA,sDAAA;ACvJA;;AAEA,8CAA8C",file:"daterangepicker.vue",sourcesContent:['\ufeff<template>\r\n <div class="ui-daterangepicker" :class="{\'is-disabled\': disabled }">\r\n <button v-if="!inline" type="button" class="ui-link" @click="schedule" v-localize="scheduleLocalize" :disabled="disabled"></button>\r\n <div v-if="inline" class="ui-daterangepicker-inline">\r\n <div class="ui-split">\r\n <div class="ui-daterangepicker-group">\r\n <ui-property :label="fromLabel" :vertical="true">\r\n <ui-datepicker v-model="value.from" :time="time" />\r\n </ui-property>\r\n </div>\r\n <div class="ui-daterangepicker-group" v-if="rangeEnd">\r\n <ui-property :label="toLabel" :vertical="true">\r\n <ui-datepicker v-model="value.to" :time="time" />\r\n </ui-property>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import Strings from \'zero/helpers/strings.js\';\r\n import { extend as _extend } from \'underscore\';\r\n import DaterangepickerOverlay from \'./overlay.vue\';\r\n import Overlay from \'zero/helpers/overlay.js\';\r\n import dayjs from \'dayjs\';\r\n\r\n const DATETIME_FORMAT = \'DD.MM.YY HH:mm\';\r\n const DATE_FORMAT = \'DD.MM.YY\';\r\n\r\n export default {\r\n name: \'uiDaterangepicker\',\r\n\r\n components: { DaterangepickerOverlay },\r\n\r\n props: {\r\n value: {\r\n type: Object,\r\n default: {\r\n from: null,\r\n to: null\r\n }\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n },\r\n format: {\r\n type: String,\r\n default: null\r\n },\r\n time: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n maxDate: {\r\n type: [String, Date],\r\n default: null\r\n },\r\n minDate: {\r\n type: [String, Date],\r\n default: null\r\n },\r\n fromLabel: {\r\n type: String,\r\n default: \'@page.schedule.publish\'\r\n },\r\n toLabel: {\r\n type: String,\r\n default: \'@page.schedule.unpublish\'\r\n },\r\n amPm: {\r\n type: Boolean,\r\n default: false\r\n },\r\n inline: {\r\n type: Boolean,\r\n default: false\r\n },\r\n rangeEnd: {\r\n type: Boolean,\r\n default: true\r\n },\r\n options: {\r\n type: Object,\r\n default: () => { }\r\n }\r\n },\r\n\r\n\r\n data: () => ({\r\n id: null,\r\n output: null,\r\n pickerOptions: {}\r\n }),\r\n\r\n\r\n computed: {\r\n scheduleLocalize()\r\n {\r\n return {\r\n key: !this.value.from && !this.value.to ? \'@ui.date.set\' :\r\n (this.value.from && !this.value.to ? \'@ui.date.x\' :\r\n (!this.value.from && this.value.to ? \'@ui.date.y\' : \'@ui.date.xtoy\')),\r\n tokens: {\r\n x: Strings.date(this.value.from, this.format || (this.time ? DATETIME_FORMAT : DATE_FORMAT)),\r\n y: Strings.date(this.value.to, this.format || (this.time ? DATETIME_FORMAT : DATE_FORMAT))\r\n }\r\n };\r\n }\r\n },\r\n\r\n\r\n created()\r\n {\r\n this.id = \'daterangepicker-\' + Strings.guid();\r\n },\r\n\r\n\r\n methods: {\r\n\r\n schedule()\r\n {\r\n Overlay.open({\r\n component: DaterangepickerOverlay,\r\n options: {\r\n format: this.format,\r\n time: this.time,\r\n max: this.maxDate,\r\n min: this.minDate,\r\n fromText: this.fromLabel,\r\n toText: this.toLabel,\r\n amPm: this.amPm,\r\n rangeEnd: this.rangeEnd\r\n },\r\n model: {\r\n from: this.value.from,\r\n to: this.value.to\r\n },\r\n }).then(res =>\r\n {\r\n this.$emit(\'change\', res);\r\n this.$emit(\'input\', res);\r\n }, () => { });\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .ui-daterangepicker.is-primary .ui-link\r\n {\r\n color: var(--color-primary);\r\n font-weight: 700;\r\n text-decoration-color: var(--color-primary) !important;\r\n }\r\n</style>',".ui-daterangepicker.is-primary .ui-link {\n color: var(--color-primary);\n font-weight: 700;\n text-decoration-color: var(--color-primary) !important;\n}\n\n/*# sourceMappingURL=daterangepicker.vue.map */"]},media:void 0})}),lD,undefined,false,undefined,!1,Iu,void 0,void 0);const uD={props:{model:String,config:Object},data:()=>({folderId:null,icon:null,query:"",items:[],hierarchy:[]}),watch:{"config.folderId":function(e){this.folderId=e},model(){},query(){this.debouncedSearch()}},created(){this.folderId=this.config.folderId,this.debouncedSearch=zd(this.search,100)},mounted(){this.getItems()},methods:{getItems(e){return e||(e={}),e.folderId=this.folderId,e.pageSize=100,this.getFolderHierarchy(e.folderId),kp.getListByQuery(e).then((e=>{this.items=e.items}))},getFolderHierarchy(e){CA.getHierarchy(e).then((e=>{this.hierarchy=e,this.current=e[e.length-1]}))},selectFolder(e){this.folderId=e,this.getItems()},addFolder(){Uu.open({component:wA,model:{parentId:this.folderId},theme:"dark"}).then((()=>{}),(()=>{setTimeout((()=>{this.selectFolder(item.model.id)}),1e3)}))},onUpload(e){let n={title:"Upload status",closeLabel:"@ui.close",component:NA,isCreate:!0,model:e.target.files,folderId:this.folderId,theme:"dark",width:520};return Uu.open(n).then((e=>{setTimeout((()=>{this.getItems()}),500)}),(()=>{}))},select(e){if(e.isFolder)return this.selectFolder(e.id);this.config.confirm(e,this.config)}}};var pD=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("ui-form",{ref:"form",staticClass:"ui-mediapicker-overlay",scopedSlots:e._u([{key:"default",fn:function(n){return[t("h2",{staticClass:"ui-headline"},[e._v("Select or upload media")]),e._v(" "),t("ui-search",{staticClass:"ui-mediapicker-overlay-search",model:{value:e.query,callback:function(n){e.query=n},expression:"query"}}),e._v(" "),t("nav",{staticClass:"ui-mediapicker-overlay-hierarchy"},[t("button",{staticClass:"ui-mediapicker-overlay-hierarchy-item",attrs:{type:"button"},on:{click:function(n){return e.selectFolder(null)}}},[t("i",{staticClass:"fth-home"})]),e._v(" "),e._l(e.hierarchy,(function(n){return t("button",{directives:[{name:"localize",rawName:"v-localize",value:n.name,expression:"item.name"}],staticClass:"ui-mediapicker-overlay-hierarchy-item",attrs:{type:"button"},on:{click:function(t){return e.selectFolder(n.id)}}})})),e._v(" "),t("button",{staticClass:"ui-mediapicker-overlay-hierarchy-item",attrs:{type:"button"},on:{click:e.addFolder}},[t("i",{staticClass:"fth-plus"})])],2),e._v(" "),t("div",{staticClass:"ui-mediapicker-overlay-items"},[e.folderId?t("div",{staticClass:"ui-mediapicker-overlay-item is-upload"},[t("input",{staticClass:"ui-mediapicker-overlay-upload",attrs:{type:"file",multiple:""},on:{change:e.onUpload}}),e._v(" "),t("span",{staticClass:"-preview"},[t("i",{staticClass:"fth-plus"})]),e._v(" "),t("p",{staticClass:"ui-mediapicker-overlay-item-text"},[e._v("\n Upload media\n ")])]):e._e(),e._v(" "),e._l(e.items,(function(n){return t("button",{staticClass:"ui-mediapicker-overlay-item",attrs:{type:"button"},on:{click:function(t){return e.select(n)}}},[n.image?t("img",{staticClass:"-preview",attrs:{src:n.image}}):e._e(),e._v(" "),n.image?e._e():t("span",{staticClass:"-preview"},[t("i",{class:n.isFolder?"fth-folder":"fth-file"})]),e._v(" "),t("p",{staticClass:"ui-mediapicker-overlay-item-text"},[e._v("\n "+e._s(n.name)+"\n "),n.size?t("span",{staticClass:"-minor"},[t("br"),t("span",{directives:[{name:"filesize",rawName:"v-filesize",value:n.size,expression:"item.size"}]})]):e._e()])])}))],2)]}}])})};pD._withStripped=!0;const fD=Da({render:pD,staticRenderFns:[]},(function(e){e&&e("data-v-13dfee4e_0",{source:'.ui-mediapicker-overlay {\n text-align: left;\n}\n.ui-mediapicker-overlay-search.ui-searchinput .ui-input {\n margin-top: 25px;\n}\n.ui-mediapicker-overlay-hierarchy {\n text-align: left;\n margin-top: 20px;\n}\n.ui-mediapicker-overlay-hierarchy-item {\n line-height: 1.4;\n}\n.ui-mediapicker-overlay-hierarchy-item + .ui-mediapicker-overlay-hierarchy-item:before {\n content: "/";\n margin: 0 0.5em;\n color: var(--color-text-dim);\n}\n.ui-mediapicker-overlay-items {\n margin-top: 25px;\n max-height: 495px;\n overflow-y: auto;\n}\n.ui-mediapicker-overlay-item {\n width: 100%;\n height: 70px;\n display: grid;\n grid-template-columns: 70px 1fr;\n gap: 15px;\n align-items: center;\n line-height: 1.4;\n}\n.ui-mediapicker-overlay-item + .ui-mediapicker-overlay-item {\n margin-top: 15px;\n}\n.ui-mediapicker-overlay-item .-preview {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n height: 70px;\n width: 70px;\n object-fit: cover;\n background: var(--color-box-nested);\n border-radius: var(--radius);\n position: relative;\n text-align: center;\n font-size: 20px;\n}\n.ui-mediapicker-overlay-item.is-upload {\n position: relative;\n}\n.ui-mediapicker-overlay-item .-extension {\n font-size: 12px;\n font-style: normal;\n margin-top: 8px;\n}\n.ui-mediapicker-overlay-item .-minor {\n color: var(--color-text-dim);\n font-size: var(--font-size-s);\n}\n.ui-mediapicker-overlay-item-text {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n margin: 0;\n}\ninput[type=file].ui-mediapicker-overlay-upload {\n position: absolute;\n height: 100%;\n top: 0;\n left: 0;\n width: 100%;\n z-index: 1;\n bottom: 0;\n opacity: 0.001;\n cursor: pointer;\n}\n\n/*# sourceMappingURL=overlay.vue.map */',map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\pickers\\mediaPicker\\overlay.vue","overlay.vue"],names:[],mappings:"AA+LA;EAEA,gBAAA;AC/LA;ADkMA;EAEA,gBAAA;AChMA;ADmMA;EAEA,gBAAA;EACA,gBAAA;ACjMA;ADoMA;EAEA,gBAAA;AClMA;ADoMA;EAEA,YAAA;EACA,eAAA;EACA,4BAAA;ACnMA;ADuMA;EAEA,gBAAA;EACA,iBAAA;EACA,gBAAA;ACrMA;ADwMA;EAEA,WAAA;EACA,YAAA;EACA,aAAA;EACA,+BAAA;EACA,SAAA;EACA,mBAAA;EACA,gBAAA;ACtMA;ADwMA;EAEA,gBAAA;ACvMA;AD0MA;EAEA,aAAA;EACA,mBAAA;EACA,uBAAA;EACA,sBAAA;EACA,YAAA;EACA,WAAA;EACA,iBAAA;EACA,mCAAA;EACA,4BAAA;EACA,kBAAA;EACA,kBAAA;EACA,eAAA;ACzMA;AD4MA;EAEA,kBAAA;AC3MA;AD8MA;EAEA,eAAA;EACA,kBAAA;EACA,eAAA;AC7MA;ADgNA;EAEA,4BAAA;EACA,6BAAA;AC/MA;ADmNA;EAEA,mBAAA;EACA,gBAAA;EACA,uBAAA;EACA,SAAA;ACjNA;ADoNA;EAEA,kBAAA;EACA,YAAA;EACA,MAAA;EACA,OAAA;EACA,WAAA;EACA,UAAA;EACA,SAAA;EACA,cAAA;EACA,eAAA;AClNA;;AAEA,sCAAsC",file:"overlay.vue",sourcesContent:['\ufeff<template>\r\n <ui-form ref="form" class="ui-mediapicker-overlay" v-slot="form">\r\n <h2 class="ui-headline">Select or upload media</h2>\r\n\r\n <ui-search class="ui-mediapicker-overlay-search" v-model="query" />\r\n\r\n <nav class="ui-mediapicker-overlay-hierarchy">\r\n <button type="button" class="ui-mediapicker-overlay-hierarchy-item" @click="selectFolder(null)"><i class="fth-home"></i></button>\r\n <button type="button" v-for="item in hierarchy" class="ui-mediapicker-overlay-hierarchy-item" @click="selectFolder(item.id)" v-localize="item.name"></button>\r\n <button type="button" class="ui-mediapicker-overlay-hierarchy-item" @click="addFolder"><i class="fth-plus"></i></button>\r\n </nav>\r\n\r\n <div class="ui-mediapicker-overlay-items">\r\n <div v-if="folderId" class="ui-mediapicker-overlay-item is-upload">\r\n <input class="ui-mediapicker-overlay-upload" type="file" multiple @change="onUpload" />\r\n <span class="-preview"><i class="fth-plus"></i></span>\r\n <p class="ui-mediapicker-overlay-item-text">\r\n Upload media\r\n </p>\r\n </div>\r\n\r\n <button type="button" v-for="item in items" class="ui-mediapicker-overlay-item" @click="select(item)">\r\n <img class="-preview" v-if="item.image" :src="item.image" />\r\n <span class="-preview" v-if="!item.image"><i :class="item.isFolder ? \'fth-folder\' : \'fth-file\'"></i></span>\r\n <p class="ui-mediapicker-overlay-item-text">\r\n {{item.name}}\r\n <span class="-minor" v-if="item.size"><br><span v-filesize="item.size"></span></span>\r\n </p>\r\n </button>\r\n </div>\r\n\r\n \x3c!--<div class="app-confirm-buttons">\r\n <ui-button v-if="!disabled" type="light" :submit="true" :state="form.state" label="@ui.save"></ui-button>\r\n <ui-button type="light" :label="config.closeLabel" :disabled="loading" @click="config.close"></ui-button>\r\n </div>--\x3e\r\n </ui-form>\r\n</template>\r\n\r\n\r\n<script>\r\n import MediaApi from \'zero/api/media.js\'\r\n import MediaFolderApi from \'zero/api/media-folder.js\';\r\n import Overlay from \'zero/helpers/overlay.js\'\r\n import AddFolderOverlay from \'zero/pages/media/overlays/folder.vue\'\r\n import UploadStatusOverlay from \'zero/pages/media/overlays/upload-status.vue\'\r\n import { debounce as _debounce, filter as _filter } from \'underscore\'\r\n\r\n export default {\r\n\r\n props: {\r\n model: String,\r\n config: Object\r\n },\r\n\r\n data: () => ({\r\n folderId: null,\r\n icon: null,\r\n query: \'\',\r\n items: [],\r\n hierarchy: []\r\n }),\r\n\r\n watch: {\r\n \'config.folderId\': function (id)\r\n {\r\n this.folderId = id;\r\n },\r\n model()\r\n {\r\n //this.init();\r\n },\r\n query()\r\n {\r\n this.debouncedSearch();\r\n }\r\n },\r\n\r\n created()\r\n {\r\n this.folderId = this.config.folderId;\r\n\r\n this.debouncedSearch = _debounce(this.search, 100);\r\n //this.items = this.config.items;\r\n //this.init();\r\n\r\n //this.gridConfig = {\r\n // search: null,\r\n // width: 160,\r\n // component: MediaItem,\r\n // items: this.getItems\r\n //};\r\n },\r\n\r\n mounted()\r\n {\r\n this.getItems();\r\n },\r\n\r\n methods: {\r\n\r\n // get items (media + subfolders) in the current folder\r\n getItems(query)\r\n {\r\n if (!query)\r\n {\r\n query = {};\r\n }\r\n\r\n query.folderId = this.folderId;\r\n query.pageSize = 100;\r\n\r\n this.getFolderHierarchy(query.folderId);\r\n\r\n return MediaApi.getListByQuery(query).then(response =>\r\n {\r\n this.items = response.items;\r\n });\r\n },\r\n\r\n getFolderHierarchy(id)\r\n {\r\n MediaFolderApi.getHierarchy(id).then(res =>\r\n {\r\n this.hierarchy = res;\r\n this.current = res[res.length - 1];\r\n });\r\n },\r\n\r\n // switches view to the selected folder\r\n selectFolder(id)\r\n {\r\n this.folderId = id;\r\n this.getItems();\r\n },\r\n\r\n // adds a new folder within the current parent\r\n addFolder()\r\n {\r\n Overlay.open({\r\n component: AddFolderOverlay,\r\n model: { parentId: this.folderId },\r\n theme: \'dark\'\r\n }).then(() => { }, () =>\r\n {\r\n setTimeout(() =>\r\n {\r\n this.selectFolder(item.model.id);\r\n }, 1000);\r\n });\r\n },\r\n\r\n // uploads a new media item within the current parent\r\n onUpload(event)\r\n {\r\n let options = {\r\n title: \'Upload status\',\r\n closeLabel: \'@ui.close\',\r\n component: UploadStatusOverlay,\r\n isCreate: true,\r\n model: event.target.files,\r\n folderId: this.folderId,\r\n theme: \'dark\',\r\n width: 520\r\n };\r\n\r\n return Overlay.open(options).then(value =>\r\n {\r\n setTimeout(() =>\r\n {\r\n this.getItems();\r\n }, 500);\r\n }, () => { });\r\n },\r\n\r\n // select an item, this can either be a folder or a media item\r\n select(item)\r\n {\r\n if (item.isFolder)\r\n {\r\n return this.selectFolder(item.id);\r\n }\r\n else\r\n {\r\n this.config.confirm(item, this.config);\r\n }\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .ui-mediapicker-overlay\r\n {\r\n text-align: left;\r\n }\r\n\r\n .ui-mediapicker-overlay-search.ui-searchinput .ui-input\r\n {\r\n margin-top: 25px;\r\n }\r\n\r\n .ui-mediapicker-overlay-hierarchy\r\n {\r\n text-align: left;\r\n margin-top: 20px;\r\n }\r\n\r\n .ui-mediapicker-overlay-hierarchy-item\r\n {\r\n line-height: 1.4;\r\n\r\n & + .ui-mediapicker-overlay-hierarchy-item:before\r\n {\r\n content: \'/\';\r\n margin: 0 0.5em;\r\n color: var(--color-text-dim);\r\n }\r\n }\r\n\r\n .ui-mediapicker-overlay-items\r\n {\r\n margin-top: 25px;\r\n max-height: 495px;\r\n overflow-y: auto;\r\n }\r\n\r\n .ui-mediapicker-overlay-item\r\n {\r\n width: 100%;\r\n height: 70px;\r\n display: grid;\r\n grid-template-columns: 70px 1fr;\r\n gap: 15px;\r\n align-items: center;\r\n line-height: 1.4;\r\n\r\n & + .ui-mediapicker-overlay-item\r\n {\r\n margin-top: 15px;\r\n }\r\n\r\n .-preview\r\n {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n flex-direction: column;\r\n height: 70px;\r\n width: 70px;\r\n object-fit: cover;\r\n background: var(--color-box-nested);\r\n border-radius: var(--radius);\r\n position: relative;\r\n text-align: center;\r\n font-size: 20px;\r\n }\r\n\r\n &.is-upload\r\n {\r\n position: relative;\r\n }\r\n\r\n .-extension\r\n {\r\n font-size: 12px;\r\n font-style: normal;\r\n margin-top: 8px;\r\n }\r\n\r\n .-minor\r\n {\r\n color: var(--color-text-dim);\r\n font-size: var(--font-size-s);\r\n }\r\n }\r\n\r\n .ui-mediapicker-overlay-item-text\r\n {\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n margin: 0;\r\n }\r\n\r\n input[type="file"].ui-mediapicker-overlay-upload\r\n {\r\n position: absolute;\r\n height: 100%;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n z-index: 1;\r\n bottom: 0;\r\n opacity: 0.001;\r\n cursor: pointer;\r\n }\r\n</style>','.ui-mediapicker-overlay {\n text-align: left;\n}\n\n.ui-mediapicker-overlay-search.ui-searchinput .ui-input {\n margin-top: 25px;\n}\n\n.ui-mediapicker-overlay-hierarchy {\n text-align: left;\n margin-top: 20px;\n}\n\n.ui-mediapicker-overlay-hierarchy-item {\n line-height: 1.4;\n}\n.ui-mediapicker-overlay-hierarchy-item + .ui-mediapicker-overlay-hierarchy-item:before {\n content: "/";\n margin: 0 0.5em;\n color: var(--color-text-dim);\n}\n\n.ui-mediapicker-overlay-items {\n margin-top: 25px;\n max-height: 495px;\n overflow-y: auto;\n}\n\n.ui-mediapicker-overlay-item {\n width: 100%;\n height: 70px;\n display: grid;\n grid-template-columns: 70px 1fr;\n gap: 15px;\n align-items: center;\n line-height: 1.4;\n}\n.ui-mediapicker-overlay-item + .ui-mediapicker-overlay-item {\n margin-top: 15px;\n}\n.ui-mediapicker-overlay-item .-preview {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n height: 70px;\n width: 70px;\n object-fit: cover;\n background: var(--color-box-nested);\n border-radius: var(--radius);\n position: relative;\n text-align: center;\n font-size: 20px;\n}\n.ui-mediapicker-overlay-item.is-upload {\n position: relative;\n}\n.ui-mediapicker-overlay-item .-extension {\n font-size: 12px;\n font-style: normal;\n margin-top: 8px;\n}\n.ui-mediapicker-overlay-item .-minor {\n color: var(--color-text-dim);\n font-size: var(--font-size-s);\n}\n\n.ui-mediapicker-overlay-item-text {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n margin: 0;\n}\n\ninput[type=file].ui-mediapicker-overlay-upload {\n position: absolute;\n height: 100%;\n top: 0;\n left: 0;\n width: 100%;\n z-index: 1;\n bottom: 0;\n opacity: 0.001;\n cursor: pointer;\n}\n\n/*# sourceMappingURL=overlay.vue.map */']},media:void 0})}),uD,undefined,false,undefined,!1,Iu,void 0,void 0),AD={limit:1,type:"all",display:"default",disallowSelect:!1,disallowUpload:!1,fileExtensions:[],maxFileSize:10};const hD={name:"uiMediapicker",props:{value:{type:[Array,String],default:null},disabled:{type:Boolean,default:!1},config:{type:Object,default:()=>AD}},data:()=>({configuration:{},previews:[]}),watch:{value(){this.updatePreviews()}},created(){this.configuration=Qc(AD,this.config)},mounted(){this.updatePreviews()},computed:{multiple(){return this.configuration.limit>1},canAdd(){return!this.disabled&&this.configuration.limit-this.previews.length>0}},methods:{updatePreviews(){let e=[];"string"==typeof this.value?e=[this.value]:xc(this.value)&&(e=this.value),this.previews=[],!e||e.length<1||kp.getByIds(e).then((n=>{Ud(e,(e=>{let t=n[e];t?this.previews.push(t):this.previews.push({id:e,error:!0})}))}))},remove(e){let n=this.value;if("string"==typeof this.value)n=null;else if(xc(this.value)){const t=this.value.indexOf(e.id);n.splice(t,1)}this.onChange(n)},getFilename(e){if(e.length<32)return e;const n=e.split("."),t=n.pop();return n.join(".").substring(0,26)+"..."+t},getFileinfo:e=>e.dimension?`${jl.filesize(e.size)} ${e.dimension.width} × ${e.dimension.height}`:jl.filesize(e.size),onChange(e){this.$emit("change",e),this.$emit("input",e)},pick(){if(this.disabled)return;let e=Qc({title:"@iconpicker.title",closeLabel:"@ui.close",component:fD,model:this.configuration.limit>1?this.value[0]:this.value,folderId:null,width:520},"object"==typeof this.config?this.config:{});return e.display="dialog",Uu.open(e).then((e=>{let n=this.value;this.multiple?(n||(n=[]),n.push(e.id)):n=e.id,this.onChange(n)}))}}};var mD=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-mediapicker"},[e.previews.length>0?t("div",{staticClass:"ui-mediapicker-previews"},e._l(e.previews,(function(n){return t("div",{staticClass:"ui-mediapicker-preview"},[n.error?e._e():t("div",{staticClass:"ui-mediapicker-preview-image"},[n.thumbnailSource?t("img",{attrs:{src:n.thumbnailSource,alt:n.name}}):e._e(),e._v(" "),e.disabled?e._e():t("button",{directives:[{name:"localize",rawName:"v-localize:title",value:"@ui.remove",expression:"'@ui.remove'",arg:"title"}],staticClass:"ui-mediapicker-preview-image-delete",attrs:{type:"button"},on:{click:function(t){return e.remove(n)}}},[t("i",{staticClass:"fth-x"})]),e._v(" "),e.disabled?e._e():t("button",{directives:[{name:"localize",rawName:"v-localize:title",value:"@ui.edit",expression:"'@ui.edit'",arg:"title"}],staticClass:"ui-mediapicker-preview-image-edit",attrs:{type:"button"},on:{click:function(t){return e.edit(n)}}},[t("i",{staticClass:"fth-edit-2"})])]),e._v(" "),n.error?e._e():t("div",{staticClass:"ui-mediapicker-preview-text"},[t("b",{attrs:{title:n.name}},[e._v(e._s(e.getFilename(n.name)))]),e._v(" "),t("span",{staticClass:"is-filesize"},[e._v(e._s(e.getFileinfo(n)))])]),e._v(" "),n.error?t("div",[t("ui-select-button",{attrs:{icon:"fth-alert-circle color-red",label:"@errors.preview.notfound",description:"@errors.preview.notfound_text",tokens:{id:n.id}},on:{click:function(t){return e.remove({id:n.id})}}})],1):e._e()])})),0):e._e(),e._v(" "),e.canAdd?t("div",{staticClass:"ui-mediapicker-select",class:{"is-disabled":e.disabled}},[t("input",{ref:"input",attrs:{type:"hidden"},domProps:{value:e.value}}),e._v(" "),t("ui-select-button",{attrs:{icon:"fth-plus",label:"@mediapicker.select_text",description:"@mediapicker.select_description",disabled:e.disabled},on:{click:e.pick}})],1):e._e()])};mD._withStripped=!0;const gD=Da({render:mD,staticRenderFns:[]},(function(e){e&&e("data-v-fdc033e8_0",{source:".display-grid .ui-mediapicker-previews {\n display: flex;\n gap: 10px;\n}\n.display-grid .ui-mediapicker-previews .ui-mediapicker-preview + .ui-mediapicker-preview {\n margin-top: 0;\n}\n.ui-mediapicker-previews + .ui-mediapicker-select,\n.ui-mediapicker-preview + .ui-mediapicker-preview {\n margin-top: 10px;\n}\n.ui-mediapicker:not(.display-grid) .ui-mediapicker-previews + .ui-mediapicker-add {\n display: flex;\n flex-direction: column;\n}\n.ui-mediapicker:not(.display-grid) .ui-mediapicker-previews + .ui-mediapicker-add .ui-select-button + .ui-mediapicker-add-upload {\n margin-left: 0;\n margin-top: 10px;\n}\n.ui-mediapicker-preview {\n display: flex;\n align-items: center;\n}\n.ui-mediapicker-preview-image {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 50px;\n height: 50px;\n /*background: var(--color-bg);*/\n border: 1px solid var(--color-line);\n padding: 3px;\n border-radius: var(--radius);\n color: var(--color-text);\n position: relative;\n overflow: hidden;\n}\n.ui-mediapicker-preview-image img {\n border-radius: 3px;\n max-width: 100%;\n max-height: 100%;\n margin: auto;\n display: block;\n color: transprent;\n overflow: hidden;\n font-size: 0;\n position: relative;\n z-index: 2;\n}\n.ui-mediapicker-preview-image.is-icon {\n width: 48px;\n height: 48px;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n border-radius: var(--radius);\n background: var(--color-box);\n color: var(--color-text);\n text-align: center;\n font-size: 16px;\n}\n.ui-mediapicker-preview-image:hover .ui-mediapicker-preview-image-delete, .ui-mediapicker-preview-image:hover .ui-mediapicker-preview-image-edit {\n opacity: 1;\n transition-delay: 0.1s;\n}\n.display-big .ui-mediapicker-preview-image, .display-grid .ui-mediapicker-preview-image {\n width: 100px;\n height: 100px;\n}\n.ui-mediapicker-preview-text {\n display: flex;\n flex-direction: column;\n margin-left: 16px;\n font-size: var(--font-size);\n}\n.ui-mediapicker-preview-text .is-filesize {\n color: var(--color-text-dim);\n margin-top: 3px;\n font-size: var(--font-size-xs);\n}\n.display-grid .ui-mediapicker-preview-text {\n display: none;\n}\n.ui-mediapicker-preview-image-delete,\n.ui-mediapicker-preview-image-edit {\n opacity: 0;\n transition: opacity 0.15s ease;\n position: absolute;\n display: inline-block;\n right: 3px;\n bottom: 3px;\n width: 24px;\n height: 24px;\n line-height: 26px;\n border-radius: 20px;\n background: var(--color-negative);\n color: var(--color-primary-text);\n z-index: 2;\n text-align: center;\n font-size: 13px;\n}\n.ui-media.display-default .ui-mediapicker-preview-image-delete,\n.ui-media.display-default .ui-mediapicker-preview-image-edit {\n width: 20px;\n height: 20px;\n line-height: 22px;\n}\n.ui-mediapicker-preview-image-edit {\n right: 30px;\n background: var(--color-box);\n color: var(--color-text);\n}\n.ui-media.display-default .ui-mediapicker-preview-image-edit {\n right: 24px;\n}\n\n/*# sourceMappingURL=mediapicker.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\pickers\\mediaPicker\\mediapicker.vue","mediapicker.vue"],names:[],mappings:"AA6QA;EAEA,aAAA;EACA,SAAA;AC7QA;AD+QA;EAEA,aAAA;AC9QA;ADmRA;;EAGA,gBAAA;ACjRA;ADoRA;EAEA,aAAA;EACA,sBAAA;AClRA;ADoRA;EAEA,cAAA;EACA,gBAAA;ACnRA;ADuRA;EAEA,aAAA;EACA,mBAAA;ACrRA;ADwRA;EAEA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,WAAA;EACA,YAAA;EACA,+BAAA;EACA,mCAAA;EACA,YAAA;EACA,4BAAA;EACA,wBAAA;EACA,kBAAA;EACA,gBAAA;ACtRA;ADwRA;EAEA,kBAAA;EACA,eAAA;EACA,gBAAA;EACA,YAAA;EACA,cAAA;EACA,iBAAA;EACA,gBAAA;EACA,YAAA;EACA,kBAAA;EACA,UAAA;ACvRA;AD0RA;EAEA,WAAA;EACA,YAAA;EACA,oBAAA;EACA,uBAAA;EACA,mBAAA;EACA,4BAAA;EACA,4BAAA;EACA,wBAAA;EACA,kBAAA;EACA,eAAA;ACzRA;AD4RA;EAGA,UAAA;EACA,sBAAA;AC5RA;AD+RA;EAEA,YAAA;EACA,aAAA;AC9RA;ADkSA;EAEA,aAAA;EACA,sBAAA;EACA,iBAAA;EACA,2BAAA;AChSA;ADkSA;EAEA,4BAAA;EACA,eAAA;EACA,8BAAA;ACjSA;ADoSA;EAEA,aAAA;ACnSA;ADuSA;;EAGA,UAAA;EACA,8BAAA;EACA,kBAAA;EACA,qBAAA;EACA,UAAA;EACA,WAAA;EACA,WAAA;EACA,YAAA;EACA,iBAAA;EACA,mBAAA;EACA,iCAAA;EACA,gCAAA;EACA,UAAA;EACA,kBAAA;EACA,eAAA;ACrSA;ADuSA;;EAEA,WAAA;EACA,YAAA;EACA,iBAAA;ACrSA;ADySA;EAEA,WAAA;EACA,4BAAA;EACA,wBAAA;ACvSA;ADySA;EAEA,WAAA;ACxSA;;AAEA,0CAA0C",file:"mediapicker.vue",sourcesContent:['\ufeff<template>\r\n <div class="ui-mediapicker">\r\n <div v-if="previews.length > 0" class="ui-mediapicker-previews">\r\n <div v-for="item in previews" class="ui-mediapicker-preview">\r\n <div v-if="!item.error" class="ui-mediapicker-preview-image">\r\n <img v-if="item.thumbnailSource" :src="item.thumbnailSource" :alt="item.name" />\r\n <button v-if="!disabled" type="button" class="ui-mediapicker-preview-image-delete" @click="remove(item)" v-localize:title="\'@ui.remove\'"><i class="fth-x"></i></button>\r\n <button v-if="!disabled" type="button" class="ui-mediapicker-preview-image-edit" @click="edit(item)" v-localize:title="\'@ui.edit\'"><i class="fth-edit-2"></i></button>\r\n </div>\r\n <div v-if="!item.error" class="ui-mediapicker-preview-text">\r\n <b :title="item.name">{{getFilename(item.name)}}</b>\r\n <span class="is-filesize">{{getFileinfo(item)}}</span>\r\n </div>\r\n <div v-if="item.error">\r\n <ui-select-button icon="fth-alert-circle color-red" label="@errors.preview.notfound" description="@errors.preview.notfound_text" @click="remove({ id: item.id })" :tokens="{ id: item.id }" />\r\n </div>\r\n </div>\r\n </div>\r\n <div v-if="canAdd" class="ui-mediapicker-select" :class="{\'is-disabled\': disabled }">\r\n <input ref="input" type="hidden" :value="value" />\r\n <ui-select-button icon="fth-plus" label="@mediapicker.select_text" description="@mediapicker.select_description" @click="pick" :disabled="disabled" />\r\n </div>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import MediaApi from \'zero/api/media.js\'\r\n import PickMediaOverlay from \'./overlay.vue\';\r\n import Overlay from \'zero/helpers/overlay.js\';\r\n import { each as _each, extend as _extend, debounce as _debounce, isArray as _isArray } from \'underscore\';\r\n import Strings from \'zero/helpers/strings.js\';\r\n\r\n const TYPES = {\r\n ALL: \'all\',\r\n IMAGE: \'image\',\r\n VIDEO: \'video\',\r\n DOCUMENT: \'document\',\r\n OTHER: \'other\'\r\n };\r\n\r\n const DISPLAY = {\r\n DEFAULT: \'default\',\r\n BIG: \'big\',\r\n GRID: \'grid\'\r\n };\r\n\r\n const MAX_FILENAME_LENGTH = 32;\r\n\r\n const defaultConfig = {\r\n // maximum media items\r\n limit: 1,\r\n // media type\r\n type: TYPES.ALL,\r\n // how the previews are displayed\r\n display: DISPLAY.DEFAULT,\r\n // whether the select button is disallowed\r\n disallowSelect: false,\r\n // whether file upload is disallowed\r\n disallowUpload: false,\r\n // allowed file extensions\r\n fileExtensions: [],\r\n // maximum file size in MiB\r\n maxFileSize: 10\r\n };\r\n\r\n export default {\r\n name: \'uiMediapicker\',\r\n\r\n props: {\r\n value: {\r\n type: [Array, String],\r\n default: null\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n },\r\n config: {\r\n type: Object,\r\n default: () =>\r\n {\r\n return defaultConfig;\r\n }\r\n },\r\n },\r\n\r\n\r\n data: () => ({\r\n configuration: {},\r\n previews: []\r\n }),\r\n\r\n\r\n watch: {\r\n value()\r\n {\r\n this.updatePreviews();\r\n }\r\n },\r\n\r\n\r\n created()\r\n {\r\n this.configuration = _extend(defaultConfig, this.config);\r\n },\r\n\r\n\r\n mounted()\r\n {\r\n this.updatePreviews();\r\n },\r\n\r\n\r\n computed: {\r\n multiple()\r\n {\r\n return this.configuration.limit > 1;\r\n },\r\n canAdd()\r\n {\r\n return !this.disabled && this.configuration.limit - this.previews.length > 0;\r\n },\r\n },\r\n\r\n\r\n methods: {\r\n\r\n updatePreviews()\r\n {\r\n //console.info(\'preview\', JSON.parse(JSON.stringify(this.value)));\r\n let ids = [];\r\n\r\n if (typeof this.value === \'string\')\r\n {\r\n ids = [this.value];\r\n }\r\n else if (_isArray(this.value))\r\n {\r\n ids = this.value;\r\n }\r\n\r\n this.previews = [];\r\n\r\n if (!ids || ids.length < 1)\r\n {\r\n return;\r\n }\r\n\r\n MediaApi.getByIds(ids).then(res =>\r\n {\r\n _each(ids, id =>\r\n {\r\n let value = res[id];\r\n\r\n if (!value)\r\n {\r\n this.previews.push({\r\n id: id,\r\n error: true\r\n });\r\n }\r\n else\r\n {\r\n this.previews.push(value);\r\n }\r\n });\r\n });\r\n },\r\n\r\n\r\n remove(item)\r\n {\r\n let newValue = this.value;\r\n\r\n if (typeof this.value === \'string\')\r\n {\r\n newValue = null;\r\n }\r\n else if (_isArray(this.value))\r\n {\r\n const index = this.value.indexOf(item.id);\r\n newValue.splice(index, 1);\r\n }\r\n\r\n this.onChange(newValue);\r\n },\r\n\r\n\r\n getFilename(name)\r\n {\r\n if (name.length < MAX_FILENAME_LENGTH)\r\n {\r\n return name;\r\n }\r\n\r\n const parts = name.split(\'.\');\r\n const extension = parts.pop();\r\n\r\n return parts.join(\'.\').substring(0, MAX_FILENAME_LENGTH - 6) + \'...\' + extension;\r\n },\r\n\r\n\r\n getFileinfo(item)\r\n {\r\n if (item.dimension)\r\n {\r\n return `${Strings.filesize(item.size)} ${item.dimension.width} × ${item.dimension.height}`;\r\n }\r\n\r\n return Strings.filesize(item.size);\r\n },\r\n\r\n\r\n onChange(value)\r\n { \r\n this.$emit(\'change\', value);\r\n this.$emit(\'input\', value);\r\n //this.updatePreviews();\r\n // TODO this does not trigger the forms dirty flag\r\n },\r\n\r\n\r\n pick()\r\n {\r\n if (this.disabled)\r\n {\r\n return;\r\n }\r\n\r\n let options = _extend({\r\n title: \'@iconpicker.title\',\r\n closeLabel: \'@ui.close\',\r\n component: PickMediaOverlay,\r\n model: this.configuration.limit > 1 ? this.value[0] : this.value,\r\n folderId: null, //\'mediaFolders.97-A\',\r\n width: 520\r\n }, typeof this.config === \'object\' ? this.config : {});\r\n\r\n options.display = \'dialog\';\r\n\r\n return Overlay.open(options).then(value =>\r\n {\r\n let newValue = this.value;\r\n\r\n if (this.multiple)\r\n {\r\n if (!newValue)\r\n {\r\n newValue = [];\r\n }\r\n newValue.push(value.id);\r\n }\r\n else\r\n {\r\n newValue = value.id;\r\n }\r\n\r\n this.onChange(newValue);\r\n });\r\n }\r\n \r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .ui-mediapicker-previews\r\n {\r\n .display-grid &\r\n {\r\n display: flex;\r\n gap: 10px;\r\n\r\n .ui-mediapicker-preview + .ui-mediapicker-preview\r\n {\r\n margin-top: 0;\r\n }\r\n }\r\n }\r\n\r\n .ui-mediapicker-previews + .ui-mediapicker-select,\r\n .ui-mediapicker-preview + .ui-mediapicker-preview\r\n {\r\n margin-top: 10px;\r\n }\r\n\r\n .ui-mediapicker:not(.display-grid) .ui-mediapicker-previews + .ui-mediapicker-add\r\n {\r\n display: flex;\r\n flex-direction: column;\r\n\r\n .ui-select-button + .ui-mediapicker-add-upload\r\n {\r\n margin-left: 0;\r\n margin-top: 10px;\r\n }\r\n }\r\n\r\n .ui-mediapicker-preview\r\n {\r\n display: flex;\r\n align-items: center;\r\n }\r\n\r\n .ui-mediapicker-preview-image\r\n {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 50px;\r\n height: 50px;\r\n /*background: var(--color-bg);*/\r\n border: 1px solid var(--color-line);\r\n padding: 3px;\r\n border-radius: var(--radius);\r\n color: var(--color-text);\r\n position: relative;\r\n overflow: hidden;\r\n\r\n img\r\n {\r\n border-radius: 3px;\r\n max-width: 100%;\r\n max-height: 100%;\r\n margin: auto;\r\n display: block;\r\n color: transprent;\r\n overflow: hidden;\r\n font-size: 0;\r\n position: relative;\r\n z-index: 2;\r\n }\r\n\r\n &.is-icon\r\n {\r\n width: 48px;\r\n height: 48px;\r\n display: inline-flex;\r\n justify-content: center;\r\n align-items: center;\r\n border-radius: var(--radius);\r\n background: var(--color-box);\r\n color: var(--color-text);\r\n text-align: center;\r\n font-size: 16px;\r\n }\r\n\r\n &:hover .ui-mediapicker-preview-image-delete,\r\n &:hover .ui-mediapicker-preview-image-edit\r\n {\r\n opacity: 1;\r\n transition-delay: 0.1s;\r\n }\r\n\r\n .display-big &, .display-grid &\r\n {\r\n width: 100px;\r\n height: 100px;\r\n }\r\n }\r\n\r\n .ui-mediapicker-preview-text\r\n {\r\n display: flex;\r\n flex-direction: column;\r\n margin-left: 16px;\r\n font-size: var(--font-size);\r\n\r\n .is-filesize\r\n {\r\n color: var(--color-text-dim);\r\n margin-top: 3px;\r\n font-size: var(--font-size-xs);\r\n }\r\n\r\n .display-grid &\r\n {\r\n display: none;\r\n }\r\n }\r\n\r\n .ui-mediapicker-preview-image-delete,\r\n .ui-mediapicker-preview-image-edit\r\n {\r\n opacity: 0;\r\n transition: opacity 0.15s ease;\r\n position: absolute;\r\n display: inline-block;\r\n right: 3px;\r\n bottom: 3px;\r\n width: 24px;\r\n height: 24px;\r\n line-height: 26px;\r\n border-radius: 20px;\r\n background: var(--color-negative);\r\n color: var(--color-primary-text);\r\n z-index: 2;\r\n text-align: center;\r\n font-size: 13px;\r\n\r\n .ui-media.display-default &\r\n {\r\n width: 20px;\r\n height: 20px;\r\n line-height: 22px;\r\n }\r\n }\r\n\r\n .ui-mediapicker-preview-image-edit\r\n {\r\n right: 30px;\r\n background: var(--color-box);\r\n color: var(--color-text);\r\n\r\n .ui-media.display-default &\r\n {\r\n right: 24px;\r\n }\r\n }\r\n</style>',".display-grid .ui-mediapicker-previews {\n display: flex;\n gap: 10px;\n}\n.display-grid .ui-mediapicker-previews .ui-mediapicker-preview + .ui-mediapicker-preview {\n margin-top: 0;\n}\n\n.ui-mediapicker-previews + .ui-mediapicker-select,\n.ui-mediapicker-preview + .ui-mediapicker-preview {\n margin-top: 10px;\n}\n\n.ui-mediapicker:not(.display-grid) .ui-mediapicker-previews + .ui-mediapicker-add {\n display: flex;\n flex-direction: column;\n}\n.ui-mediapicker:not(.display-grid) .ui-mediapicker-previews + .ui-mediapicker-add .ui-select-button + .ui-mediapicker-add-upload {\n margin-left: 0;\n margin-top: 10px;\n}\n\n.ui-mediapicker-preview {\n display: flex;\n align-items: center;\n}\n\n.ui-mediapicker-preview-image {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 50px;\n height: 50px;\n /*background: var(--color-bg);*/\n border: 1px solid var(--color-line);\n padding: 3px;\n border-radius: var(--radius);\n color: var(--color-text);\n position: relative;\n overflow: hidden;\n}\n.ui-mediapicker-preview-image img {\n border-radius: 3px;\n max-width: 100%;\n max-height: 100%;\n margin: auto;\n display: block;\n color: transprent;\n overflow: hidden;\n font-size: 0;\n position: relative;\n z-index: 2;\n}\n.ui-mediapicker-preview-image.is-icon {\n width: 48px;\n height: 48px;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n border-radius: var(--radius);\n background: var(--color-box);\n color: var(--color-text);\n text-align: center;\n font-size: 16px;\n}\n.ui-mediapicker-preview-image:hover .ui-mediapicker-preview-image-delete, .ui-mediapicker-preview-image:hover .ui-mediapicker-preview-image-edit {\n opacity: 1;\n transition-delay: 0.1s;\n}\n.display-big .ui-mediapicker-preview-image, .display-grid .ui-mediapicker-preview-image {\n width: 100px;\n height: 100px;\n}\n\n.ui-mediapicker-preview-text {\n display: flex;\n flex-direction: column;\n margin-left: 16px;\n font-size: var(--font-size);\n}\n.ui-mediapicker-preview-text .is-filesize {\n color: var(--color-text-dim);\n margin-top: 3px;\n font-size: var(--font-size-xs);\n}\n.display-grid .ui-mediapicker-preview-text {\n display: none;\n}\n\n.ui-mediapicker-preview-image-delete,\n.ui-mediapicker-preview-image-edit {\n opacity: 0;\n transition: opacity 0.15s ease;\n position: absolute;\n display: inline-block;\n right: 3px;\n bottom: 3px;\n width: 24px;\n height: 24px;\n line-height: 26px;\n border-radius: 20px;\n background: var(--color-negative);\n color: var(--color-primary-text);\n z-index: 2;\n text-align: center;\n font-size: 13px;\n}\n.ui-media.display-default .ui-mediapicker-preview-image-delete,\n.ui-media.display-default .ui-mediapicker-preview-image-edit {\n width: 20px;\n height: 20px;\n line-height: 22px;\n}\n\n.ui-mediapicker-preview-image-edit {\n right: 30px;\n background: var(--color-box);\n color: var(--color-text);\n}\n.ui-media.display-default .ui-mediapicker-preview-image-edit {\n right: 24px;\n}\n\n/*# sourceMappingURL=mediapicker.vue.map */"]},media:void 0})}),hD,undefined,false,undefined,!1,Iu,void 0,void 0);const vD={props:{model:String,config:Object},data:()=>({opened:!1}),computed:{disabledIds(){return this.config.disabledIds||[]}},mounted(){setTimeout((()=>this.opened=!0),300)},methods:{onSelect(e){this.config.confirm(e)},getItems(e){return Rf(e,this.model).then((e=>((e=e.filter((e=>"recyclebin"!==e.id))).forEach((e=>{e.id===this.model&&(e.isSelected=!0),this.disabledIds.indexOf(e.id)>-1&&(e.disabled=!0),e.hasActions=!1})),e)))}}};var bD=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("ui-overlay-editor",{staticClass:"ui-pagepicker-overlay",scopedSlots:e._u([{key:"header",fn:function(){return[t("ui-header-bar",{attrs:{title:e.config.title,"back-button":!1,"close-button":!0}})]},proxy:!0},{key:"footer",fn:function(){return[t("ui-button",{attrs:{type:"light onbg",label:e.config.closeLabel,parent:e.config.rootId},on:{click:e.config.hide}})]},proxy:!0}])},[e._v(" "),e._v(" "),e.opened?t("div",{staticClass:"ui-box ui-pagepicker-overlay-items"},[t("ui-tree",{ref:"tree",attrs:{get:e.getItems,parent:e.config.rootId},on:{select:e.onSelect}})],1):e._e()])};bD._withStripped=!0;const yD=Da({render:bD,staticRenderFns:[]},(function(e){e&&e("data-v-c6662818_0",{source:'@charset "UTF-8";\n.ui-pagepicker-overlay content {\n padding-top: 0;\n}\n.ui-box.ui-pagepicker-overlay-items {\n margin: 0;\n padding: 20px 0;\n}\n.ui-box.ui-pagepicker-overlay-items .ui-tree-item.is-selected, .ui-box.ui-pagepicker-overlay-items .ui-tree-item:hover:not(.is-disabled) {\n background: var(--color-bg-xxlight);\n}\n.ui-box.ui-pagepicker-overlay-items + .ui-box {\n margin-top: var(--padding);\n}\n.ui-box.ui-pagepicker-overlay-items .ui-tree-item.is-selected:after {\n font-family: "Feather";\n content: "";\n font-size: 16px;\n color: var(--color-primary);\n}\n.ui-box.ui-pagepicker-overlay-items .ui-tree-item.is-selected .ui-tree-item-text {\n font-weight: bold;\n}\n\n/*# sourceMappingURL=overlay.vue.map */',map:{version:3,sources:["overlay.vue","O:\\zero\\zero.Web.UI\\app\\components\\pickers\\pagePicker\\overlay.vue"],names:[],mappings:"AAAA,gBAAgB;AC+EhB;EAEA,cAAA;AD9EA;ACiFA;EAEA,SAAA;EACA,eAAA;AD/EA;ACiFA;EAEA,mCAAA;ADhFA;ACmFA;EAEA,0BAAA;ADlFA;ACuFA;EAEA,sBAAA;EACA,YAAA;EACA,eAAA;EACA,2BAAA;ADtFA;ACyFA;EAEA,iBAAA;ADxFA;;AAEA,sCAAsC",file:"overlay.vue",sourcesContent:['@charset "UTF-8";\n.ui-pagepicker-overlay content {\n padding-top: 0;\n}\n\n.ui-box.ui-pagepicker-overlay-items {\n margin: 0;\n padding: 20px 0;\n}\n.ui-box.ui-pagepicker-overlay-items .ui-tree-item.is-selected, .ui-box.ui-pagepicker-overlay-items .ui-tree-item:hover:not(.is-disabled) {\n background: var(--color-bg-xxlight);\n}\n.ui-box.ui-pagepicker-overlay-items + .ui-box {\n margin-top: var(--padding);\n}\n.ui-box.ui-pagepicker-overlay-items .ui-tree-item.is-selected:after {\n font-family: "Feather";\n content: "";\n font-size: 16px;\n color: var(--color-primary);\n}\n.ui-box.ui-pagepicker-overlay-items .ui-tree-item.is-selected .ui-tree-item-text {\n font-weight: bold;\n}\n\n/*# sourceMappingURL=overlay.vue.map */','\ufeff<template>\r\n <ui-overlay-editor class="ui-pagepicker-overlay">\r\n <template v-slot:header>\r\n <ui-header-bar :title="config.title" :back-button="false" :close-button="true" />\r\n </template>\r\n <template v-slot:footer>\r\n <ui-button type="light onbg" :label="config.closeLabel" :parent="config.rootId" @click="config.hide"></ui-button>\r\n </template>\r\n\r\n <div v-if="opened" class="ui-box ui-pagepicker-overlay-items">\r\n <ui-tree ref="tree" :get="getItems" :parent="config.rootId" @select="onSelect" />\r\n </div>\r\n </ui-overlay-editor>\r\n</template>\r\n\r\n\r\n<script>\r\n import PageTreeApi from \'zero/api/page-tree.js\'\r\n\r\n export default {\r\n\r\n props: {\r\n model: String,\r\n config: Object\r\n },\r\n\r\n data: () => ({\r\n opened: false\r\n }),\r\n\r\n computed: {\r\n disabledIds()\r\n {\r\n return this.config.disabledIds || [];\r\n }\r\n },\r\n\r\n\r\n mounted()\r\n {\r\n setTimeout(() => this.opened = true, 300);\r\n },\r\n\r\n\r\n methods: {\r\n\r\n onSelect(item)\r\n {\r\n this.config.confirm(item);\r\n },\r\n\r\n // get tree items\r\n getItems(parent)\r\n {\r\n return PageTreeApi.getChildren(parent, this.model).then(res =>\r\n {\r\n res = res.filter(x => x.id !== \'recyclebin\');\r\n \r\n res.forEach(item =>\r\n {\r\n if (item.id === this.model)\r\n {\r\n item.isSelected = true;\r\n }\r\n if (this.disabledIds.indexOf(item.id) > -1)\r\n {\r\n item.disabled = true;\r\n }\r\n item.hasActions = false;\r\n });\r\n\r\n return res;\r\n });\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .ui-pagepicker-overlay content\r\n {\r\n padding-top: 0;\r\n }\r\n\r\n .ui-box.ui-pagepicker-overlay-items\r\n {\r\n margin: 0;\r\n padding: 20px 0;\r\n\r\n .ui-tree-item.is-selected, .ui-tree-item:hover:not(.is-disabled)\r\n {\r\n background: var(--color-bg-xxlight);\r\n }\r\n\r\n & +.ui-box\r\n {\r\n margin-top: var(--padding);\r\n }\r\n\r\n .ui-tree-item.is-selected\r\n {\r\n &:after\r\n {\r\n font-family: "Feather";\r\n content: "\\e83e";\r\n font-size: 16px;\r\n color: var(--color-primary);\r\n }\r\n \r\n .ui-tree-item-text\r\n {\r\n font-weight: bold;\r\n }\r\n }\r\n }\r\n</style>']},media:void 0})}),vD,undefined,false,undefined,!1,Iu,void 0,void 0);const CD={name:"uiPagepicker",props:{value:{type:[String,Array],default:null},limit:{type:Number,default:1},disabled:{type:Boolean,default:!1},root:{type:String,default:null},options:{type:Object,default:()=>{}}},data:()=>({previews:[]}),watch:{value(){this.updatePreviews()}},computed:{multiple(){return this.limit>1},canAdd(){let e=xc(this.value)?this.value.length:this.value?1:0;return!this.disabled&&e<this.limit}},mounted(){this.updatePreviews()},methods:{onChange(e){this.$emit("change",e),this.$emit("input",e)},updatePreviews(){if(!this.value||Yc(this.value))return void(this.previews=[]);let e=xc(this.value)?this.value:[this.value];Mf.getPreviews(e).then((e=>{this.previews=e}))},remove(e){if(xc(this.value)){let n=this.value.indexOf(e);this.value.splice(n,1),this.onChange(this.value)}else this.onChange(this.limit>1?[]:null)},pick(e){if(this.disabled)return;let n=[];this.value&&!xc(this.value)?n=[this.value]:xc(this.value)&&(n=this.value);let t=Qc({title:"@page.picker.headline",closeLabel:"@ui.close",component:yD,display:"editor",model:this.multiple?e:this.value,rootId:this.root,disabledIds:n},"object"==typeof this.options?this.options:{});return Uu.open(t).then((n=>{this.multiple?this.value&&xc(this.value)?this.value.indexOf(n.id)<0&&(e&&this.remove(e),this.value.push(n.id),this.onChange(this.value)):this.onChange([n.id]):this.onChange(n?n.id:null)}))}}};var ED=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-pagepicker",class:{"is-disabled":e.disabled}},[t("input",{ref:"input",attrs:{type:"hidden"},domProps:{value:e.value}}),e._v(" "),e.previews.length>0?t("div",{staticClass:"ui-pagepicker-previews"},e._l(e.previews,(function(n){return t("div",{staticClass:"ui-pagepicker-preview"},[t("ui-select-button",{attrs:{icon:n.icon,label:n.name,description:n.text,disabled:e.disabled,tokens:{id:n.id}},on:{click:function(t){return e.pick(n.id)}}}),e._v(" "),e.disabled?e._e():t("ui-icon-button",{attrs:{icon:"fth-x",title:"@ui.close"},on:{click:function(t){return e.remove(n.id)}}})],1)})),0):e._e(),e._v(" "),e.canAdd?t("ui-select-button",{attrs:{icon:"fth-plus",label:e.limit>1?"@ui.add":"@ui.select",disabled:e.disabled},on:{click:function(n){return e.pick()}}}):e._e()],1)};ED._withStripped=!0;const xD=Da({render:ED,staticRenderFns:[]},(function(e){e&&e("data-v-0cb110cb_0",{source:".ui-pagepicker-preview {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.ui-pagepicker-preview .ui-icon-button {\n height: 24px;\n width: 24px;\n}\n.ui-pagepicker-preview .ui-icon-button i {\n font-size: 13px;\n}\n.ui-pagepicker-previews + .ui-select-button,\n.ui-pagepicker-preview + .ui-pagepicker-preview {\n margin-top: 10px;\n}\n\n/*# sourceMappingURL=pagepicker.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\pickers\\pagePicker\\pagepicker.vue","pagepicker.vue"],names:[],mappings:"AA6KA;EAEA,aAAA;EACA,8BAAA;EACA,mBAAA;AC7KA;AD+KA;EAEA,YAAA;EACA,WAAA;AC9KA;ADiLA;EAEA,eAAA;AChLA;ADqLA;;EAGA,gBAAA;ACnLA;;AAEA,yCAAyC",file:"pagepicker.vue",sourcesContent:['\ufeff<template>\r\n <div class="ui-pagepicker" :class="{\'is-disabled\': disabled }">\r\n <input ref="input" type="hidden" :value="value" />\r\n <div class="ui-pagepicker-previews" v-if="previews.length > 0">\r\n <div v-for="preview in previews" class="ui-pagepicker-preview">\r\n <ui-select-button :icon="preview.icon" :label="preview.name" :description="preview.text" :disabled="disabled" @click="pick(preview.id)" :tokens="{ id: preview.id }" />\r\n <ui-icon-button v-if="!disabled" @click="remove(preview.id)" icon="fth-x" title="@ui.close" />\r\n </div>\r\n </div>\r\n <ui-select-button v-if="canAdd" icon="fth-plus" :label="limit > 1 ? \'@ui.add\' : \'@ui.select\'" @click="pick()" :disabled="disabled" />\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import PageTreeApi from \'zero/api/page-tree.js\'\r\n import PagesApi from \'zero/api/pages.js\'\r\n import PageOverlay from \'./overlay.vue\';\r\n import Overlay from \'zero/helpers/overlay.js\';\r\n import { extend as _extend, isArray as _isArray, isEmpty as _isEmpty, clone as _clone } from \'underscore\';\r\n\r\n export default {\r\n name: \'uiPagepicker\',\r\n\r\n props: {\r\n value: {\r\n type: [String, Array],\r\n default: null\r\n },\r\n limit: {\r\n type: Number,\r\n default: 1\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n },\r\n root: {\r\n type: String,\r\n default: null\r\n },\r\n options: {\r\n type: Object,\r\n default: () => {}\r\n }\r\n },\r\n\r\n data: () => ({\r\n previews: []\r\n }),\r\n\r\n watch: {\r\n value()\r\n {\r\n this.updatePreviews();\r\n }\r\n },\r\n\r\n computed: {\r\n multiple()\r\n {\r\n return this.limit > 1;\r\n },\r\n canAdd()\r\n {\r\n let count = _isArray(this.value) ? this.value.length : (!this.value ? 0 : 1);\r\n return !this.disabled && count < this.limit;\r\n }\r\n },\r\n\r\n mounted()\r\n {\r\n this.updatePreviews();\r\n },\r\n\r\n methods: {\r\n\r\n onChange(value)\r\n {\r\n this.$emit(\'change\', value);\r\n this.$emit(\'input\', value);\r\n // TODO this does not trigger the forms dirty flag\r\n },\r\n\r\n\r\n updatePreviews()\r\n {\r\n if (!this.value || _isEmpty(this.value))\r\n {\r\n this.previews = [];\r\n return;\r\n }\r\n\r\n let ids = _isArray(this.value) ? this.value : [this.value];\r\n PagesApi.getPreviews(ids).then(res =>\r\n {\r\n this.previews = res;\r\n });\r\n },\r\n\r\n\r\n remove(id)\r\n {\r\n if (_isArray(this.value))\r\n {\r\n let index = this.value.indexOf(id);\r\n this.value.splice(index, 1);\r\n this.onChange(this.value);\r\n }\r\n else\r\n {\r\n this.onChange(this.limit > 1 ? [] : null);\r\n }\r\n },\r\n\r\n\r\n pick(id)\r\n {\r\n if (this.disabled)\r\n {\r\n return;\r\n }\r\n\r\n let disabledIds = [];\r\n\r\n if (!!this.value && !_isArray(this.value))\r\n {\r\n disabledIds = [this.value];\r\n }\r\n else if (_isArray(this.value))\r\n {\r\n disabledIds = this.value;\r\n }\r\n\r\n let options = _extend({\r\n title: \'@page.picker.headline\',\r\n closeLabel: \'@ui.close\',\r\n component: PageOverlay,\r\n display: \'editor\',\r\n model: this.multiple ? id : this.value,\r\n rootId: this.root,\r\n disabledIds: disabledIds\r\n }, typeof this.options === \'object\' ? this.options : {});\r\n\r\n return Overlay.open(options).then(value =>\r\n {\r\n if (this.multiple)\r\n {\r\n if (!this.value || !_isArray(this.value))\r\n {\r\n this.onChange([value.id]);\r\n }\r\n else if (this.value.indexOf(value.id) < 0)\r\n {\r\n if (id)\r\n {\r\n this.remove(id);\r\n }\r\n this.value.push(value.id);\r\n this.onChange(this.value);\r\n }\r\n }\r\n else\r\n {\r\n this.onChange(value ? value.id : null);\r\n }\r\n });\r\n } \r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .ui-pagepicker-preview\r\n {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n\r\n .ui-icon-button\r\n {\r\n height: 24px;\r\n width: 24px;\r\n //background: none;\r\n\r\n i\r\n {\r\n font-size: 13px;\r\n }\r\n }\r\n }\r\n\r\n .ui-pagepicker-previews + .ui-select-button,\r\n .ui-pagepicker-preview + .ui-pagepicker-preview\r\n {\r\n margin-top: 10px;\r\n }\r\n</style>',".ui-pagepicker-preview {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.ui-pagepicker-preview .ui-icon-button {\n height: 24px;\n width: 24px;\n}\n.ui-pagepicker-preview .ui-icon-button i {\n font-size: 13px;\n}\n\n.ui-pagepicker-previews + .ui-select-button,\n.ui-pagepicker-preview + .ui-pagepicker-preview {\n margin-top: 10px;\n}\n\n/*# sourceMappingURL=pagepicker.vue.map */"]},media:void 0})}),CD,undefined,false,undefined,!1,Iu,void 0,void 0);const wD={name:"uiUserpicker",props:{value:{type:[String,Array],default:null},limit:{type:Number,default:1},disabled:{type:Boolean,default:!1},options:{type:Object,default:()=>{}}},data:()=>({previews:[],pickerConfig:{}}),created(){this.pickerConfig=Qc({scope:"user",items:Af.getForPicker,previews:Af.getPreviews,limit:this.limit,multiple:this.limit>1,preview:{enabled:!0,iconAsImage:!0}},this.options)},methods:{onChange(e){this.$emit("input",e)}}};var kD=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-userpicker",class:{"is-disabled":e.disabled}},[t("ui-pick",{attrs:{config:e.pickerConfig,value:e.value,disabled:e.disabled},on:{input:e.onChange}})],1)};kD._withStripped=!0;const _D=Da({render:kD,staticRenderFns:[]},(function(e){e&&e("data-v-4aa0ffca_0",{source:".ui-userpicker .ui-select-button-icon.is-image, .ui-userpicker .ui-select-button-icon {\n padding: 0;\n border-radius: 50px;\n}\n.ui-userpicker .ui-select-button-icon.is-image img, .ui-userpicker .ui-select-button-icon img {\n border-radius: 50px;\n}\n\n/*# sourceMappingURL=userpicker.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\pickers\\userPicker\\userpicker.vue","userpicker.vue"],names:[],mappings:"AAkEA;EAEA,UAAA;EACA,mBAAA;AClEA;ADoEA;EAEA,mBAAA;ACnEA;;AAEA,yCAAyC",file:"userpicker.vue",sourcesContent:['\ufeff<template>\r\n <div class="ui-userpicker" :class="{\'is-disabled\': disabled }">\r\n <ui-pick :config="pickerConfig" :value="value" @input="onChange" :disabled="disabled" />\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import UsersApi from \'zero/api/users.js\'\r\n import { extend as _extend } from \'underscore\'\r\n\r\n export default {\r\n name: \'uiUserpicker\',\r\n\r\n props: {\r\n value: {\r\n type: [String, Array],\r\n default: null\r\n },\r\n limit: {\r\n type: Number,\r\n default: 1\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n },\r\n options: {\r\n type: Object,\r\n default: () => { }\r\n }\r\n },\r\n\r\n data: () => ({\r\n previews: [],\r\n pickerConfig: {}\r\n }),\r\n\r\n created()\r\n {\r\n this.pickerConfig = _extend({\r\n scope: \'user\',\r\n items: UsersApi.getForPicker,\r\n previews: UsersApi.getPreviews,\r\n limit: this.limit,\r\n multiple: this.limit > 1,\r\n preview: {\r\n enabled: true,\r\n iconAsImage: true\r\n }\r\n }, this.options);\r\n },\r\n\r\n\r\n methods: {\r\n onChange(value)\r\n {\r\n this.$emit(\'input\', value);\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .ui-userpicker\r\n {\r\n .ui-select-button-icon.is-image, .ui-select-button-icon\r\n {\r\n padding: 0;\r\n border-radius: 50px;\r\n\r\n img\r\n {\r\n border-radius: 50px;\r\n }\r\n }\r\n }\r\n</style>',".ui-userpicker .ui-select-button-icon.is-image, .ui-userpicker .ui-select-button-icon {\n padding: 0;\n border-radius: 50px;\n}\n.ui-userpicker .ui-select-button-icon.is-image img, .ui-userpicker .ui-select-button-icon img {\n border-radius: 50px;\n}\n\n/*# sourceMappingURL=userpicker.vue.map */"]},media:void 0})}),wD,undefined,false,undefined,!1,Iu,void 0,void 0);const SD={name:"uiMailtemplatespicker",props:{value:{type:[String,Array],default:null},limit:{type:Number,default:1},disabled:{type:Boolean,default:!1},options:{type:Object,default:()=>{}}},data:()=>({previews:[],pickerConfig:{}}),created(){this.pickerConfig=Qc({scope:"mailtemplate",items:mf.getForPicker,previews:mf.getPreviews,limit:this.limit,multiple:this.limit>1},this.options)},methods:{onChange(e){this.$emit("input",e)}}};var DD=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-mailtemplatespicker",class:{"is-disabled":e.disabled}},[t("ui-pick",{attrs:{config:e.pickerConfig,value:e.value,disabled:e.disabled},on:{input:e.onChange}})],1)};DD._withStripped=!0;const BD=Da({render:DD,staticRenderFns:[]},undefined,SD,undefined,false,undefined,!1,void 0,void 0,void 0);const zD={name:"uiSpacepicker",props:{value:{type:[String,Array],default:null},limit:{type:Number,default:1},disabled:{type:Boolean,default:!1},options:{type:Object,default:()=>{}}},data:()=>({previews:[],pickerConfig:null}),created(){nm.getAll().then((e=>{this.pickerConfig=Qc({scope:"space",keys:{id:"alias",name:"name",description:"description",icon:"icon"},items:e,limit:this.limit,multiple:this.limit>1},this.options)}))},methods:{onChange(e){this.$emit("input",e)}}};var OD=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-spacepicker",class:{"is-disabled":e.disabled}},[e.pickerConfig?t("ui-pick",{attrs:{config:e.pickerConfig,value:e.value,disabled:e.disabled},on:{input:e.onChange}}):e._e()],1)};OD._withStripped=!0;const MD=Da({render:OD,staticRenderFns:[]},undefined,zD,undefined,false,undefined,!1,void 0,void 0,void 0),TD={items:[],previews:[],excludedIds:[],autocomplete:!1,limit:10,multiple:!0,sortable:!0,closeOnClick:!0,title:null,autoOpen:!1,keys:{id:"id",name:"name",description:"text",icon:"icon"},addButton:{enabled:!0,label:"@ui.select"},list:{description:!1},preview:{enabled:!0,combined:!1,combinedTitle:null,defaultIcon:"fth-square",icon:!0,delete:!0,iconAsImage:!1,description:!0},search:{enabled:!0,local:!0,setDefaultValue:!1,focus:!1,placeholder:null}};const ID={name:"uiPick",props:{value:{type:[String,Array],default:null},disabled:{type:Boolean,default:!1},config:{type:Object,default:()=>TD}},watch:{config:{deep:!0,handler(e,n){JSON.stringify(e)!==JSON.stringify(n)&&(this.buildConfig(),this.loaded=!1)}},value(e){this.onValueChanged(e)}},computed:{multiple(){return this.configuration.multiple},canAdd(){return!this.value&&!this.multiple||!this.value||this.value.length<this.configuration.limit},isRemote(){return"function"==typeof this.configuration.items},title(){return this.configuration.title?this.configuration.title:this.configuration.autocomplete?"@ui.pick.title_autocomplete":this.multiple?"@ui.pick.title_multiple":"@ui.pick.title"},combinedTitle(){let e=this.configuration.preview.combinedTitle?this.configuration.preview.combinedTitle:"";return this.previews.length>0&&(e+=": <b>"+qd(this.previews,(e=>e[this.configuration.keys.name])).join(", ")+"</b>"),e}},data:()=>({configuration:{},previews:[],allItems:[],items:[],selected:[],loaded:!1,isLoading:!1,debouncedUpdate:null,searchValue:""}),created(){this.buildConfig(),this.debouncedUpdate=zd(this.loadSuggestions,300),this.onValueChanged(this.value)},mounted(){this.configuration.autoOpen&&this.pick()},methods:{refresh(){this.buildConfig(),this.loaded=!1},onValueChanged(e){this.multiple?this.selected=xc(e)&&e.length?td(e):[]:this.selected=e?[e]:[],this.loadPreviews()},buildConfig(){var e=JSON.parse(JSON.stringify(TD));this.configuration=Qc(JSON.parse(JSON.stringify(e)),this.config),this.configuration.search=Qc(e.search,this.config.search||{}),this.configuration.addButton=Qc(e.addButton,this.config.addButton||{}),this.configuration.preview=Qc(e.preview,this.config.preview||{}),this.configuration.list=Qc(e.list,this.config.list||{}),this.configuration.keys=Qc(e.keys,this.config.keys||{})},overlayOpened(){this.loaded||this.load(),this.configuration.search.enabled&&this.configuration.search.focus&&this.$nextTick((()=>this.$refs.search.focus()))},pick(){this.$refs.overlay.toggle(),this.loaded||this.load()},hide(){this.$refs.overlay.hide()},remove(e){let n=this.selected.indexOf(e);this.selected.splice(n,1),this.onChange(this.multiple?this.selected:null)},clear(){this.selected=[],this.onChange(this.multiple?this.selected:null)},load(){if(this.isLoading)return;this.isLoading=!0,this.allItems=[];let e=e=>{this.allItems=e,this.loadSuggestions(),this.loaded=!0,this.isLoading=!1};this.isRemote?this.configuration.items().then(e):e(this.configuration.items)},loadSuggestions(){let e=[],n=this.searchValue,t=e=>{this.configuration.excludedIds&&this.configuration.excludedIds.length&&(e=Jd(e,(e=>this.configuration.excludedIds.indexOf(e[this.configuration.keys.id])<0))),this.items=e};if(n){if(!this.isRemote||this.configuration.search.local)e=Jd(this.allItems,(e=>e.name.toLowerCase().indexOf(n)>-1));else if(this.isRemote)return void this.configuration.items(n).then((e=>t(e)))}else e=this.allItems;t(e)},loadPreviews(){let e=(e,n)=>{n?(this.previews=[],this.selected.forEach((n=>{let t=Yd(e,(e=>e[this.configuration.keys.id]===n));t&&this.previews.push(td(t))}))):this.previews=e};if(this.configuration.autocomplete)e(qd(this.selected,(e=>{let n={};return n[this.configuration.keys.id]=e,n[this.configuration.keys.name]=e,n})),!1);else{let n=xc(this.configuration.previews)&&this.configuration.previews.length||"function"==typeof this.configuration.previews?this.configuration.previews:this.configuration.items,t="function"==typeof n;t&&this.selected.length>0?n(this.selected).then(e):t?e([]):e(n,!0)}},onSearch(e){this.searchValue=e,!this.isRemote||this.configuration.search.local?this.loadSuggestions():this.debouncedUpdate()},onSearchSubmit(){let e=this.searchValue.trim(),n={};n[this.configuration.keys.id]=e,n[this.configuration.keys.name]=e,this.select(n)},select(e){let n=this.configuration.autocomplete?e[this.configuration.keys.name]:e[this.configuration.keys.id];if(this.multiple){if(!this.canAdd){if(this.limit>1)return;this.selected=[]}var t=this.selected.indexOf(n);t>-1?(this.selected.splice(t,1),this.onDeselected(n,t)):(this.selected.push(n),this.onSelected(n,e)),this.onChange(this.selected)}else this.selected=[n],this.onChange(n),this.onSelected(n,e)},onSelected(e,n){this.$emit("select",e,n)},onDeselected(e,n){this.$emit("deselect",e,n)},onChange(e){this.$emit("input",e),this.$emit("change",e),this.configuration.closeOnClick&&this.$refs.overlay.hide()},isSelected(e){let n=this.configuration.autocomplete?e[this.configuration.keys.name]:e[this.configuration.keys.id];return this.selected.indexOf(n)>-1},getPreviewIcon(e){return this.configuration.preview.icon?e[this.configuration.keys.icon]||this.configuration.preview.defaultIcon:null},getPreviewDescription(e){return this.configuration.preview.description?e[this.configuration.keys.description]:null}}};var $D=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-pick",class:{"is-disabled":e.disabled,"is-combined":e.configuration.preview.combined}},[e.configuration.preview.enabled&&e.previews.length>0&&!e.configuration.preview.combined?t("div",{staticClass:"ui-pick-previews"},e._l(e.previews,(function(n){return t("div",{staticClass:"ui-pick-preview"},[t("ui-select-button",{attrs:{icon:e.getPreviewIcon(n),"icon-as-image":e.configuration.preview.iconAsImage,label:n[e.configuration.keys.name],description:e.getPreviewDescription(n),disabled:e.disabled,tokens:n},on:{click:function(t){return e.pick(n[e.configuration.keys.id])}}}),e._v(" "),!e.disabled&&e.configuration.preview.delete?t("ui-icon-button",{attrs:{icon:"fth-x",title:"@ui.close"},on:{click:function(t){return e.remove(n[e.configuration.keys.id])}}}):e._e()],1)})),0):e._e(),e._v(" "),e.configuration.preview.enabled&&e.configuration.preview.combined?t("div",{staticClass:"ui-pick-previews"},[t("div",{staticClass:"ui-pick-preview"},[t("ui-select-button",{attrs:{icon:"fth-check-circle",label:e.combinedTitle,disabled:e.disabled},on:{click:function(n){return e.pick()}}})],1)]):e._e(),e._v(" "),e.canAdd&&e.configuration.addButton.enabled&&!e.configuration.preview.combined?t("div",{staticClass:"ui-pick-add"},[e._t("add",[t("ui-select-button",{attrs:{icon:"fth-plus",label:e.configuration.addButton.label,disabled:e.disabled},on:{click:function(n){return e.pick()}}})])],2):e._e(),e._v(" "),t("ui-dropdown",{ref:"overlay",staticClass:"ui-pick-overlay",on:{opened:e.overlayOpened}},[t("div",{staticClass:"ui-pick-overlay-head"},[t("div",{staticClass:"ui-pick-overlay-head-title"},[t("span",{directives:[{name:"localize",rawName:"v-localize",value:e.title,expression:"title"}],staticClass:"-name"}),e._v(" "),e.configuration.limit>1?t("span",{directives:[{name:"localize",rawName:"v-localize",value:{key:"@ui.pick.max",tokens:{count:e.configuration.limit}},expression:"{ key: '@ui.pick.max', tokens: { count: configuration.limit }}"}],staticClass:"-max"}):e._e()]),e._v(" "),t("ui-icon-button",{attrs:{icon:"fth-x",title:"@ui.close"},on:{click:e.hide}})],1),e._v(" "),e.configuration.search.enabled?t("ui-search",{ref:"search",staticClass:"ui-pick-overlay-search",attrs:{value:e.searchValue},on:{input:e.onSearch,submit:e.onSearchSubmit},scopedSlots:e._u([e.configuration.autocomplete?{key:"button",fn:function(e){return[t("button",{directives:[{name:"localize",rawName:"v-localize:title",value:"@ui.search.button",expression:"'@ui.search.button'",arg:"title"}],staticClass:"ui-searchinput-button",attrs:{type:"button"},on:{click:e.onSubmit}},[t("i",{staticClass:"fth-check"})])]}}:null],null,!0)}):e._e(),e._v(" "),t("div",{staticClass:"ui-pick-overlay-items"},e._l(e.items,(function(n){return t("button",{key:n[e.configuration.keys.id],staticClass:"ui-pick-overlay-item",class:{"is-selected":e.isSelected(n)},attrs:{type:"button"},on:{click:function(t){return e.select(n)}}},[n[e.configuration.keys.icon]?t("i",{staticClass:"-icon",class:n[e.configuration.keys.icon]}):e._e(),e._v(" "),t("div",{staticClass:"ui-pick-overlay-item-title"},[t("span",{directives:[{name:"localize",rawName:"v-localize",value:n[e.configuration.keys.name],expression:"item[configuration.keys.name]"}],staticClass:"-name"}),e._v(" "),n[e.configuration.keys.description]&&e.configuration.list.description?t("span",{directives:[{name:"localize",rawName:"v-localize",value:n[e.configuration.keys.description],expression:"item[configuration.keys.description]"}],staticClass:"-text"}):e._e()])])})),0),e._v(" "),e.isLoading||!e.configuration.autocomplete&&!e.items.length?t("div",{staticClass:"ui-pick-overlay-center"},[e.isLoading||e.configuration.autocomplete||e.items.length?e._e():t("div",{staticClass:"ui-pick-overlay-message"},[t("i",{staticClass:"ui-pick-overlay-message-icon fth-list"}),e._v("\n No items found\n ")]),e._v(" "),e.isLoading?t("ui-loading"):e._e()],1):e._e()],1)],1)};$D._withStripped=!0;const ND=Da({render:$D,staticRenderFns:[]},(function(e){e&&e("data-v-45ce0446_0",{source:'@charset "UTF-8";\n.ui-pick-overlay-search {\n margin: 15px 15px 5px;\n}\n.ui-pick-overlay-search .ui-input {\n min-width: 0;\n}\n.ui-pick-overlay .ui-dropdown {\n min-width: 0;\n width: 100%;\n max-width: 380px;\n}\n.ui-pick-overlay-center {\n display: flex;\n justify-content: center;\n margin: 30px 0;\n}\n.ui-pick-overlay-head {\n padding: 15px 15px 5px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.ui-pick-overlay-head .ui-icon-button {\n background: none;\n}\n.ui-pick-overlay-head-title {\n font-size: var(--font-size-l);\n font-weight: 600;\n}\n.ui-pick-overlay-head-title .-max {\n font-size: var(--font-size-s);\n font-weight: 400;\n color: var(--color-text-dim);\n margin-left: 0.6em;\n}\n.ui-pick-overlay-message {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n text-align: center;\n padding: 0 15px;\n}\n.ui-pick-overlay-message-icon {\n font-size: 18px;\n margin-bottom: 10px;\n}\n.ui-pick-overlay-items {\n margin: 15px 0;\n max-height: 290px;\n overflow-y: auto;\n}\n.ui-pick-overlay-item {\n display: grid;\n grid-template-columns: auto 1fr;\n padding: 10px 18px;\n min-height: 48px;\n width: 100%;\n border-radius: var(--radius);\n align-items: center;\n transition: background 0.2s, transform 0.2s, opacity 0.2s;\n position: relative;\n}\n.ui-pick-overlay-item:hover {\n background: var(--color-tree-selected);\n}\n.ui-pick-overlay-item.is-selected {\n padding-right: 32px;\n}\n.ui-pick-overlay-item.is-selected .-name {\n font-weight: 600;\n}\n.ui-pick-overlay-item.is-selected:after {\n font-family: "Feather";\n content: "";\n font-size: 16px;\n color: var(--color-primary);\n position: absolute;\n right: 20px;\n}\n.ui-pick-overlay-item .-icon {\n font-size: var(--font-size-l);\n margin-right: var(--padding-s);\n}\n.ui-pick-overlay-item-title .-name {\n display: block;\n}\n.ui-pick-overlay-item-title .-text {\n display: block;\n color: var(--color-text-dim);\n font-size: var(--font-size-s);\n margin-top: 3px;\n}\n.ui-pick-preview {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.ui-pick-preview + .ui-pick-preview,\n.ui-pick-previews + .ui-select-button,\n.ui-pick-previews + .ui-pick-add {\n margin-top: 10px;\n}\n.ui-pick.is-combined .ui-select-button-label {\n font-weight: 400;\n}\n.ui-pick-previews .ui-icon-button {\n height: 24px;\n width: 24px;\n}\n.ui-pick-previews .ui-icon-button .ui-button-icon {\n font-size: 13px;\n}\n\n/*# sourceMappingURL=pick.vue.map */',map:{version:3,sources:["pick.vue","O:\\zero\\zero.Web.UI\\app\\components\\pickers\\pick.vue"],names:[],mappings:"AAAA,gBAAgB;AC2jBhB;EAEA,qBAAA;AD1jBA;AC4jBA;EAEA,YAAA;AD3jBA;ACikBA;EAEA,YAAA;EACA,WAAA;EACA,gBAAA;AD/jBA;ACmkBA;EAEA,aAAA;EACA,uBAAA;EACA,cAAA;ADjkBA;ACokBA;EAEA,sBAAA;EACA,aAAA;EACA,8BAAA;EACA,mBAAA;ADlkBA;ACokBA;EAEA,gBAAA;ADnkBA;ACukBA;EAEA,6BAAA;EACA,gBAAA;ADrkBA;ACukBA;EAEA,6BAAA;EACA,gBAAA;EACA,4BAAA;EACA,kBAAA;ADtkBA;AC0kBA;EAEA,aAAA;EACA,sBAAA;EACA,uBAAA;EACA,mBAAA;EACA,kBAAA;EACA,eAAA;ADxkBA;AC2kBA;EAEA,eAAA;EACA,mBAAA;ADzkBA;AC4kBA;EAEA,cAAA;EACA,iBAAA;EACA,gBAAA;AD1kBA;AC6kBA;EAEA,aAAA;EACA,+BAAA;EACA,kBAAA;EACA,gBAAA;EACA,WAAA;EACA,4BAAA;EACA,mBAAA;EACA,yDAAA;EACA,kBAAA;AD3kBA;AC6kBA;EAEA,sCAAA;AD5kBA;AC+kBA;EAEA,mBAAA;AD9kBA;ACglBA;EAEA,gBAAA;AD/kBA;ACmlBA;EAEA,sBAAA;EACA,YAAA;EACA,eAAA;EACA,2BAAA;EACA,kBAAA;EACA,WAAA;ADllBA;ACqlBA;EAEA,6BAAA;EACA,8BAAA;ADplBA;AC0lBA;EAEA,cAAA;ADxlBA;AC2lBA;EAEA,cAAA;EACA,4BAAA;EACA,6BAAA;EACA,eAAA;AD1lBA;AC8lBA;EAEA,aAAA;EACA,8BAAA;EACA,mBAAA;AD5lBA;AC+lBA;;;EAIA,gBAAA;AD7lBA;ACgmBA;EAEA,gBAAA;AD9lBA;ACmmBA;EAEA,YAAA;EACA,WAAA;ADjmBA;ACmmBA;EAEA,eAAA;ADlmBA;;AAEA,mCAAmC",file:"pick.vue",sourcesContent:['@charset "UTF-8";\n.ui-pick-overlay-search {\n margin: 15px 15px 5px;\n}\n.ui-pick-overlay-search .ui-input {\n min-width: 0;\n}\n\n.ui-pick-overlay .ui-dropdown {\n min-width: 0;\n width: 100%;\n max-width: 380px;\n}\n\n.ui-pick-overlay-center {\n display: flex;\n justify-content: center;\n margin: 30px 0;\n}\n\n.ui-pick-overlay-head {\n padding: 15px 15px 5px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.ui-pick-overlay-head .ui-icon-button {\n background: none;\n}\n\n.ui-pick-overlay-head-title {\n font-size: var(--font-size-l);\n font-weight: 600;\n}\n.ui-pick-overlay-head-title .-max {\n font-size: var(--font-size-s);\n font-weight: 400;\n color: var(--color-text-dim);\n margin-left: 0.6em;\n}\n\n.ui-pick-overlay-message {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n text-align: center;\n padding: 0 15px;\n}\n\n.ui-pick-overlay-message-icon {\n font-size: 18px;\n margin-bottom: 10px;\n}\n\n.ui-pick-overlay-items {\n margin: 15px 0;\n max-height: 290px;\n overflow-y: auto;\n}\n\n.ui-pick-overlay-item {\n display: grid;\n grid-template-columns: auto 1fr;\n padding: 10px 18px;\n min-height: 48px;\n width: 100%;\n border-radius: var(--radius);\n align-items: center;\n transition: background 0.2s, transform 0.2s, opacity 0.2s;\n position: relative;\n}\n.ui-pick-overlay-item:hover {\n background: var(--color-tree-selected);\n}\n.ui-pick-overlay-item.is-selected {\n padding-right: 32px;\n}\n.ui-pick-overlay-item.is-selected .-name {\n font-weight: 600;\n}\n.ui-pick-overlay-item.is-selected:after {\n font-family: "Feather";\n content: "";\n font-size: 16px;\n color: var(--color-primary);\n position: absolute;\n right: 20px;\n}\n.ui-pick-overlay-item .-icon {\n font-size: var(--font-size-l);\n margin-right: var(--padding-s);\n}\n\n.ui-pick-overlay-item-title .-name {\n display: block;\n}\n.ui-pick-overlay-item-title .-text {\n display: block;\n color: var(--color-text-dim);\n font-size: var(--font-size-s);\n margin-top: 3px;\n}\n\n.ui-pick-preview {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.ui-pick-preview + .ui-pick-preview,\n.ui-pick-previews + .ui-select-button,\n.ui-pick-previews + .ui-pick-add {\n margin-top: 10px;\n}\n\n.ui-pick.is-combined .ui-select-button-label {\n font-weight: 400;\n}\n\n.ui-pick-previews .ui-icon-button {\n height: 24px;\n width: 24px;\n}\n.ui-pick-previews .ui-icon-button .ui-button-icon {\n font-size: 13px;\n}\n\n/*# sourceMappingURL=pick.vue.map */','\ufeff<template>\r\n <div class="ui-pick" :class="{\'is-disabled\': disabled, \'is-combined\': configuration.preview.combined }">\r\n \r\n \x3c!-- previews --\x3e\r\n <div class="ui-pick-previews" v-if="configuration.preview.enabled && previews.length > 0 && !configuration.preview.combined">\r\n <div v-for="preview in previews" class="ui-pick-preview">\r\n <ui-select-button :icon="getPreviewIcon(preview)" :icon-as-image="configuration.preview.iconAsImage" :label="preview[configuration.keys.name]" :description="getPreviewDescription(preview)" :disabled="disabled" @click="pick(preview[configuration.keys.id])" :tokens="preview" />\r\n <ui-icon-button v-if="!disabled && configuration.preview.delete" @click="remove(preview[configuration.keys.id])" icon="fth-x" title="@ui.close" />\r\n </div>\r\n </div>\r\n\r\n \x3c!-- combined preview --\x3e\r\n <div class="ui-pick-previews" v-if="configuration.preview.enabled && configuration.preview.combined">\r\n <div class="ui-pick-preview">\r\n <ui-select-button icon="fth-check-circle" :label="combinedTitle" :disabled="disabled" @click="pick()" />\r\n </div>\r\n </div>\r\n\r\n \x3c!-- add button --\x3e\r\n <div class="ui-pick-add" v-if="canAdd && configuration.addButton.enabled && !configuration.preview.combined">\r\n <slot name="add">\r\n <ui-select-button icon="fth-plus" :label="configuration.addButton.label" @click="pick()" :disabled="disabled" />\r\n </slot>\r\n </div> \r\n\r\n \x3c!-- overlay --\x3e\r\n <ui-dropdown ref="overlay" class="ui-pick-overlay" @opened="overlayOpened">\r\n\r\n \x3c!-- headline --\x3e\r\n <div class="ui-pick-overlay-head">\r\n <div class="ui-pick-overlay-head-title">\r\n <span class="-name" v-localize="title"></span>\r\n <span class="-max" v-if="configuration.limit > 1" v-localize="{ key: \'@ui.pick.max\', tokens: { count: configuration.limit }}"></span>\r\n </div>\r\n <ui-icon-button @click="hide" icon="fth-x" title="@ui.close" />\r\n </div>\r\n\r\n \x3c!-- search --\x3e\r\n <ui-search v-if="configuration.search.enabled" ref="search" class="ui-pick-overlay-search" :value="searchValue" @input="onSearch" @submit="onSearchSubmit">\r\n <template v-slot:button="search" v-if="configuration.autocomplete">\r\n <button type="button" class="ui-searchinput-button" v-localize:title="\'@ui.search.button\'" @click="search.onSubmit"><i class="fth-check"></i></button>\r\n </template>\r\n </ui-search>\r\n\r\n \x3c!-- items --\x3e\r\n <div class="ui-pick-overlay-items">\r\n <button v-for="item in items" :key="item[configuration.keys.id]" type="button" class="ui-pick-overlay-item" @click="select(item)" :class="{\'is-selected\': isSelected(item) }">\r\n <i v-if="item[configuration.keys.icon]" class="-icon" :class="item[configuration.keys.icon]" />\r\n <div class="ui-pick-overlay-item-title">\r\n <span class="-name" v-localize="item[configuration.keys.name]"></span>\r\n <span v-if="item[configuration.keys.description] && configuration.list.description" class="-text" v-localize="item[configuration.keys.description]"></span>\r\n </div>\r\n </button>\r\n </div>\r\n\r\n \x3c!-- loading + empty states --\x3e\r\n <div class="ui-pick-overlay-center" v-if="isLoading || (!configuration.autocomplete && !items.length)">\r\n <div v-if="!isLoading && !configuration.autocomplete && !items.length" class="ui-pick-overlay-message">\r\n <i class="ui-pick-overlay-message-icon fth-list"></i>\r\n No items found\r\n </div>\r\n <ui-loading v-if="isLoading" />\r\n </div>\r\n </ui-dropdown>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import { extend as _extend, filter as _filter, debounce as _debounce, isArray as _isArray, clone as _clone, find as _find, map as _map } from \'underscore\';\r\n\r\n const defaultConfig = {\r\n // picker items, can either be a static list or a promise\r\n items: [],\r\n // preview items, can either be a static list or a promise. If null, take the items list\r\n previews: [],\r\n // exclude Ids from the picker selection items\r\n excludedIds: [],\r\n // autocomplete allows entering custom texts\r\n autocomplete: false, \r\n // maximum selection count\r\n limit: 10,\r\n // multiple selection\r\n multiple: true,\r\n // whether the previews/results are sortable or not\r\n sortable: true,\r\n // close picker when an item is clicked\r\n closeOnClick: true,\r\n // title in dropdown\r\n title: null,\r\n // automatically open picker\r\n autoOpen: false,\r\n\r\n keys: {\r\n // id key\r\n id: \'id\',\r\n // name key\r\n name: \'name\',\r\n // description key\r\n description: \'text\',\r\n // icon key\r\n icon: \'icon\'\r\n },\r\n\r\n addButton: {\r\n // hide the add button\r\n enabled: true,\r\n // text key for the add button\r\n label: \'@ui.select\'\r\n },\r\n\r\n list: {\r\n // output description text if available (second line)\r\n description: false\r\n },\r\n\r\n preview: {\r\n // output previews\r\n enabled: true,\r\n // output all selected items in one line (comma-separated)\r\n combined: false,\r\n // prefixed title when combine=true\r\n combinedTitle: null,\r\n // default icon used for previews\r\n defaultIcon: \'fth-square\',\r\n // hides the icon in the preview\r\n icon: true,\r\n // hides the delete icon in preview\r\n delete: true,\r\n // displays an image instead of an icon in the preview\r\n iconAsImage: false,\r\n // output description text if available (second line)\r\n description: true\r\n },\r\n\r\n search: {\r\n // hides the search input\r\n enabled: true,\r\n // can force a local search for remote items (via promise)\r\n local: true,\r\n // sets the current model as the search input when opened\r\n setDefaultValue: false,\r\n // focus search input on open\r\n focus: false,\r\n // placeholder key in search input\r\n placeholder: null //vm.options.autocomplete ? \'ui_search_autocomplete\' : \'ui_search\',\r\n }\r\n };\r\n\r\n export default {\r\n name: \'uiPick\',\r\n\r\n props: {\r\n value: {\r\n type: [String, Array],\r\n default: null\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n },\r\n config: {\r\n type: Object,\r\n default: () =>\r\n {\r\n return defaultConfig;\r\n }\r\n }\r\n },\r\n\r\n\r\n watch: {\r\n config: {\r\n deep: true,\r\n handler(newval, oldval)\r\n {\r\n if (JSON.stringify(newval) !== JSON.stringify(oldval))\r\n {\r\n this.buildConfig();\r\n this.loaded = false; \r\n }\r\n }\r\n },\r\n value(val)\r\n {\r\n this.onValueChanged(val);\r\n }\r\n },\r\n\r\n\r\n computed: {\r\n multiple()\r\n {\r\n return this.configuration.multiple;\r\n },\r\n canAdd()\r\n {\r\n return (!this.value && !this.multiple) || (!this.value || this.value.length < this.configuration.limit);\r\n },\r\n isRemote()\r\n {\r\n return typeof this.configuration.items === \'function\';\r\n },\r\n title()\r\n {\r\n if (!!this.configuration.title) return this.configuration.title;\r\n if (this.configuration.autocomplete) return \'@ui.pick.title_autocomplete\';\r\n if (this.multiple) return \'@ui.pick.title_multiple\';\r\n return \'@ui.pick.title\';\r\n },\r\n combinedTitle()\r\n {\r\n let html = this.configuration.preview.combinedTitle ? this.configuration.preview.combinedTitle : \'\';\r\n\r\n if (this.previews.length > 0)\r\n {\r\n html += \': <b>\' + _map(this.previews, p => p[this.configuration.keys.name]).join(\', \') + \'</b>\';\r\n }\r\n\r\n return html;\r\n }\r\n },\r\n\r\n\r\n data: () => ({\r\n configuration: {},\r\n previews: [],\r\n allItems: [],\r\n items: [],\r\n selected: [],\r\n loaded: false,\r\n isLoading: false,\r\n debouncedUpdate: null,\r\n searchValue: \'\'\r\n }),\r\n\r\n\r\n created()\r\n {\r\n this.buildConfig();\r\n this.debouncedUpdate = _debounce(this.loadSuggestions, 300);\r\n this.onValueChanged(this.value);\r\n },\r\n\r\n\r\n mounted()\r\n {\r\n if (this.configuration.autoOpen)\r\n {\r\n this.pick();\r\n }\r\n },\r\n\r\n\r\n methods: {\r\n\r\n refresh()\r\n {\r\n this.buildConfig();\r\n this.loaded = false;\r\n },\r\n\r\n onValueChanged(val)\r\n {\r\n if (this.multiple)\r\n {\r\n this.selected = _isArray(val) && val.length ? _clone(val) : [];\r\n }\r\n else\r\n {\r\n this.selected = val ? [val] : [];\r\n }\r\n\r\n this.loadPreviews();\r\n },\r\n\r\n\r\n buildConfig()\r\n {\r\n var config = JSON.parse(JSON.stringify(defaultConfig));\r\n this.configuration = _extend(JSON.parse(JSON.stringify(config)), this.config);\r\n this.configuration.search = _extend(config.search, this.config.search || {});\r\n this.configuration.addButton = _extend(config.addButton, this.config.addButton || {});\r\n this.configuration.preview = _extend(config.preview, this.config.preview || {});\r\n this.configuration.list = _extend(config.list, this.config.list || {});\r\n this.configuration.keys = _extend(config.keys, this.config.keys || {});\r\n },\r\n\r\n\r\n overlayOpened()\r\n {\r\n if (!this.loaded)\r\n {\r\n this.load();\r\n }\r\n if (this.configuration.search.enabled && this.configuration.search.focus)\r\n {\r\n this.$nextTick(() => this.$refs.search.focus());\r\n }\r\n },\r\n\r\n\r\n pick()\r\n {\r\n this.$refs.overlay.toggle();\r\n\r\n if (!this.loaded)\r\n {\r\n this.load();\r\n }\r\n },\r\n\r\n\r\n hide()\r\n {\r\n this.$refs.overlay.hide();\r\n },\r\n\r\n\r\n remove(id)\r\n {\r\n let index = this.selected.indexOf(id);\r\n this.selected.splice(index, 1);\r\n this.onChange(this.multiple ? this.selected : null);\r\n },\r\n\r\n\r\n clear()\r\n {\r\n this.selected = [];\r\n this.onChange(this.multiple ? this.selected : null);\r\n },\r\n\r\n\r\n // loads remote items or items from the given configuration\r\n // this will store both all items and the reduced search results\r\n load()\r\n {\r\n if (this.isLoading)\r\n {\r\n return;\r\n }\r\n\r\n this.isLoading = true;\r\n this.allItems = [];\r\n\r\n let onLoaded = (items) =>\r\n {\r\n this.allItems = items;\r\n this.loadSuggestions();\r\n this.loaded = true;\r\n this.isLoading = false;\r\n };\r\n\r\n if (this.isRemote)\r\n {\r\n this.configuration.items().then(onLoaded);\r\n }\r\n else\r\n {\r\n onLoaded(this.configuration.items);\r\n }\r\n },\r\n\r\n\r\n loadSuggestions()\r\n {\r\n let items = [];\r\n let search = this.searchValue;\r\n\r\n let handleResult = (res) =>\r\n {\r\n if (this.configuration.excludedIds && this.configuration.excludedIds.length)\r\n {\r\n res = _filter(res, (item) => this.configuration.excludedIds.indexOf(item[this.configuration.keys.id]) < 0);\r\n }\r\n\r\n this.items = res;\r\n };\r\n\r\n if (!search)\r\n {\r\n items = this.allItems;\r\n }\r\n else\r\n {\r\n if (!this.isRemote || this.configuration.search.local)\r\n {\r\n items = _filter(this.allItems, (item) => item.name.toLowerCase().indexOf(search) > -1);\r\n }\r\n else if (this.isRemote)\r\n {\r\n this.configuration.items(search).then(res => handleResult(res));\r\n return;\r\n }\r\n }\r\n\r\n handleResult(items);\r\n },\r\n\r\n\r\n loadPreviews()\r\n {\r\n let onLoaded = (items, needsFilter) =>\r\n {\r\n if (needsFilter)\r\n {\r\n this.previews = [];\r\n this.selected.forEach(id =>\r\n {\r\n let res = _find(items, item => item[this.configuration.keys.id] === id);\r\n\r\n if (!res)\r\n {\r\n // TODO push error output\r\n }\r\n else\r\n {\r\n this.previews.push(_clone(res));\r\n }\r\n });\r\n }\r\n else\r\n {\r\n this.previews = items;\r\n }\r\n\r\n //console.info(JSON.parse(JSON.stringify(this.previews)));\r\n };\r\n\r\n if (this.configuration.autocomplete)\r\n {\r\n onLoaded(_map(this.selected, s =>\r\n {\r\n let item = { };\r\n item[this.configuration.keys.id] = s;\r\n item[this.configuration.keys.name] = s;\r\n return item;\r\n }), false);\r\n }\r\n else\r\n {\r\n let promise = (_isArray(this.configuration.previews) && this.configuration.previews.length) || typeof this.configuration.previews === \'function\' ? this.configuration.previews : this.configuration.items;\r\n let isFunc = typeof promise === \'function\';\r\n\r\n if (isFunc && this.selected.length > 0)\r\n {\r\n promise(this.selected).then(onLoaded);\r\n }\r\n else if (isFunc)\r\n {\r\n onLoaded([]);\r\n }\r\n else\r\n {\r\n onLoaded(promise, true);\r\n }\r\n }\r\n },\r\n\r\n\r\n onSearch(value)\r\n {\r\n this.searchValue = value;\r\n if (!this.isRemote || this.configuration.search.local)\r\n {\r\n this.loadSuggestions();\r\n }\r\n else\r\n {\r\n this.debouncedUpdate();\r\n }\r\n },\r\n\r\n\r\n onSearchSubmit()\r\n {\r\n let value = this.searchValue.trim();\r\n let item = {};\r\n item[this.configuration.keys.id] = value;\r\n item[this.configuration.keys.name] = value;\r\n this.select(item);\r\n },\r\n\r\n\r\n select(item)\r\n {\r\n let value = this.configuration.autocomplete ? item[this.configuration.keys.name] : item[this.configuration.keys.id];\r\n\r\n if (this.multiple)\r\n {\r\n if (!this.canAdd)\r\n {\r\n if (this.limit > 1)\r\n {\r\n return;\r\n }\r\n\r\n this.selected = [];\r\n }\r\n\r\n var index = this.selected.indexOf(value);\r\n\r\n if (index > -1)\r\n {\r\n this.selected.splice(index, 1);\r\n this.onDeselected(value, index);\r\n }\r\n else\r\n {\r\n this.selected.push(value);\r\n this.onSelected(value, item);\r\n }\r\n\r\n this.onChange(this.selected);\r\n }\r\n else\r\n {\r\n this.selected = [value];\r\n this.onChange(value);\r\n this.onSelected(value, item);\r\n }\r\n },\r\n\r\n\r\n onSelected(value, item)\r\n {\r\n this.$emit(\'select\', value, item);\r\n },\r\n\r\n\r\n onDeselected(value, index)\r\n {\r\n this.$emit(\'deselect\', value, index);\r\n },\r\n\r\n\r\n onChange(value)\r\n {\r\n this.$emit(\'input\', value);\r\n this.$emit(\'change\', value);\r\n\r\n if (this.configuration.closeOnClick)\r\n {\r\n this.$refs.overlay.hide();\r\n }\r\n },\r\n\r\n\r\n isSelected(item)\r\n {\r\n let value = this.configuration.autocomplete ? item[this.configuration.keys.name] : item[this.configuration.keys.id];\r\n return this.selected.indexOf(value) > -1;\r\n },\r\n\r\n\r\n getPreviewIcon(preview)\r\n {\r\n return this.configuration.preview.icon ? (preview[this.configuration.keys.icon] || this.configuration.preview.defaultIcon) : null;\r\n },\r\n\r\n\r\n getPreviewDescription(preview)\r\n {\r\n return this.configuration.preview.description ? preview[this.configuration.keys.description] : null;\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .ui-pick-overlay-search\r\n {\r\n margin: 15px 15px 5px;\r\n\r\n .ui-input\r\n {\r\n min-width: 0;\r\n }\r\n }\r\n\r\n .ui-pick-overlay \r\n {\r\n .ui-dropdown\r\n {\r\n min-width: 0;\r\n width: 100%;\r\n max-width: 380px;\r\n }\r\n }\r\n\r\n .ui-pick-overlay-center\r\n {\r\n display: flex;\r\n justify-content: center;\r\n margin: 30px 0;\r\n }\r\n\r\n .ui-pick-overlay-head\r\n {\r\n padding: 15px 15px 5px;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n\r\n .ui-icon-button\r\n {\r\n background: none;\r\n }\r\n }\r\n\r\n .ui-pick-overlay-head-title\r\n {\r\n font-size: var(--font-size-l);\r\n font-weight: 600;\r\n\r\n .-max\r\n {\r\n font-size: var(--font-size-s);\r\n font-weight: 400;\r\n color: var(--color-text-dim);\r\n margin-left: .6em;\r\n }\r\n }\r\n\r\n .ui-pick-overlay-message\r\n {\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n text-align: center;\r\n padding: 0 15px;\r\n }\r\n\r\n .ui-pick-overlay-message-icon\r\n {\r\n font-size: 18px;\r\n margin-bottom: 10px;\r\n }\r\n\r\n .ui-pick-overlay-items\r\n {\r\n margin: 15px 0;\r\n max-height: 290px;\r\n overflow-y: auto;\r\n }\r\n\r\n .ui-pick-overlay-item\r\n {\r\n display: grid;\r\n grid-template-columns: auto 1fr;\r\n padding: 10px 18px;\r\n min-height: 48px;\r\n width: 100%;\r\n border-radius: var(--radius);\r\n align-items: center;\r\n transition: background .2s, transform .2s, opacity .2s;\r\n position: relative;\r\n\r\n &:hover\r\n {\r\n background: var(--color-tree-selected);\r\n }\r\n\r\n &.is-selected\r\n {\r\n padding-right: 32px;\r\n \r\n .-name\r\n {\r\n font-weight: 600;\r\n }\r\n }\r\n\r\n &.is-selected:after\r\n {\r\n font-family: "Feather";\r\n content: "\\e83e";\r\n font-size: 16px;\r\n color: var(--color-primary);\r\n position: absolute;\r\n right: 20px;\r\n }\r\n\r\n .-icon\r\n {\r\n font-size: var(--font-size-l);\r\n margin-right: var(--padding-s);\r\n }\r\n }\r\n\r\n .ui-pick-overlay-item-title\r\n {\r\n .-name\r\n {\r\n display: block;\r\n }\r\n\r\n .-text\r\n {\r\n display: block;\r\n color: var(--color-text-dim);\r\n font-size: var(--font-size-s);\r\n margin-top: 3px;\r\n }\r\n }\r\n\r\n .ui-pick-preview\r\n {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n }\r\n\r\n .ui-pick-preview + .ui-pick-preview,\r\n .ui-pick-previews + .ui-select-button,\r\n .ui-pick-previews + .ui-pick-add\r\n {\r\n margin-top: 10px;\r\n }\r\n\r\n .ui-pick.is-combined .ui-select-button-label\r\n {\r\n font-weight: 400;\r\n }\r\n\r\n .ui-pick-previews\r\n {\r\n .ui-icon-button \r\n {\r\n height: 24px;\r\n width: 24px;\r\n\r\n .ui-button-icon\r\n {\r\n font-size: 13px;\r\n }\r\n }\r\n }\r\n</style>']},media:void 0})}),ID,undefined,false,undefined,!1,Iu,void 0,void 0);const RD={name:"uiPagination",props:{pages:{type:Number,default:1},page:{type:Number,default:1},inline:{type:Boolean,default:!1}},computed:{values:function(){return Array.apply(null,Array(this.pages)).map((function(e,n){return n+1}))},buttonType(){return this.inline?"light":"light onbg"}},methods:{set(e){this.$emit("update:page",e),this.$emit("change",e)},selectChanged(e,n){this.set(+e.target.value)}}};var FD=function(){var e=this,n=e.$createElement,t=e._self._c||n;return e.pages>1?t("div",{staticClass:"ui-pagination",class:{"is-inline":e.inline}},[t("ui-icon-button",{staticClass:"ui-pagination-prev ui-pagination-button",attrs:{type:e.buttonType,title:"@ui.pagination.previous",icon:"fth-chevron-left",disabled:e.page<2},on:{click:function(n){return e.set(e.page-1)}}}),e._v(" "),t("div",{staticClass:"ui-pagination-select"},[t("select",{domProps:{value:e.page},on:{change:e.selectChanged}},e._l(e.values,(function(n){return t("option",{domProps:{value:n}},[e._v(e._s(n))])})),0),e._v(" "),t("button",{staticClass:"ui-button type-blank caret-down",attrs:{type:"button"}},[t("span",{directives:[{name:"localize",rawName:"v-localize",value:{key:"@ui.pagination.xofy",tokens:{x:e.page,y:e.pages}},expression:"{ key: '@ui.pagination.xofy', tokens: { x: page, y: pages }}"}],staticClass:"ui-button-text"}),e._v(" "),t("i",{staticClass:"ui-button-caret fth-chevron-down"})])]),e._v(" "),t("ui-icon-button",{staticClass:"ui-pagination-next ui-pagination-button",attrs:{type:e.buttonType,title:"@ui.pagination.next",icon:"fth-chevron-right",disabled:e.page>=e.pages},on:{click:function(n){return e.set(e.page+1)}}})],1):e._e()};FD._withStripped=!0;const LD=Da({render:FD,staticRenderFns:[]},(function(e){e&&e("data-v-6291412a_0",{source:".ui-pagination {\n display: flex;\n justify-content: center;\n margin-top: var(--padding);\n align-items: center;\n}\n.ui-pagination-select {\n margin: 0 30px;\n position: relative;\n}\n.ui-pagination-select .ui-button {\n padding: 0 2px;\n}\n.ui-pagination-select select {\n width: 100%;\n position: absolute;\n z-index: 1;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n opacity: 0;\n}\n.ui-pagination-button[disabled] .ui-button-icon {\n color: var(--color-text-dim);\n}\n\n/*# sourceMappingURL=pagination.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\pagination.vue","pagination.vue"],names:[],mappings:"AAiEA;EAEA,aAAA;EACA,uBAAA;EACA,0BAAA;EACA,mBAAA;ACjEA;ADoEA;EAEA,cAAA;EACA,kBAAA;AClEA;ADoEA;EAEA,cAAA;ACnEA;ADsEA;EAEA,WAAA;EACA,kBAAA;EACA,UAAA;EACA,OAAA;EACA,QAAA;EACA,MAAA;EACA,SAAA;EACA,UAAA;ACrEA;ADyEA;EAEA,4BAAA;ACvEA;;AAEA,yCAAyC",file:"pagination.vue",sourcesContent:['\ufeff<template>\r\n <div class="ui-pagination" v-if="pages > 1" :class="{\'is-inline\': inline }">\r\n <ui-icon-button class="ui-pagination-prev ui-pagination-button" :type="buttonType" title="@ui.pagination.previous" icon="fth-chevron-left" :disabled="page < 2" @click="set(page - 1)" />\r\n <div class="ui-pagination-select">\r\n <select :value="page" @change="selectChanged">\r\n <option v-for="value in values" v-bind:value="value">{{value}}</option>\r\n </select>\r\n <button type="button" class="ui-button type-blank caret-down">\r\n <span class="ui-button-text" v-localize="{ key: \'@ui.pagination.xofy\', tokens: { x: page, y: pages }}"></span>\r\n <i class="ui-button-caret fth-chevron-down"></i>\r\n </button>\r\n </div>\r\n <ui-icon-button class="ui-pagination-next ui-pagination-button" :type="buttonType" title="@ui.pagination.next" icon="fth-chevron-right" :disabled="page >= pages" @click="set(page + 1)" />\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n export default {\r\n name: \'uiPagination\',\r\n\r\n props: {\r\n pages: {\r\n type: Number,\r\n default: 1\r\n },\r\n page: {\r\n type: Number,\r\n default: 1\r\n },\r\n inline: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n\r\n computed: {\r\n values: function ()\r\n {\r\n return Array.apply(null, Array(this.pages)).map(function (_, i) { return i + 1; });\r\n },\r\n buttonType()\r\n {\r\n return this.inline ? \'light\' : \'light onbg\';\r\n }\r\n },\r\n\r\n methods: {\r\n\r\n set(page)\r\n {\r\n this.$emit(\'update:page\', page);\r\n this.$emit(\'change\', page);\r\n },\r\n\r\n selectChanged(ev, a)\r\n {\r\n this.set(+ev.target.value);\r\n }\r\n\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .ui-pagination\r\n {\r\n display: flex;\r\n justify-content: center;\r\n margin-top: var(--padding);\r\n align-items: center;\r\n }\r\n\r\n .ui-pagination-select\r\n {\r\n margin: 0 30px;\r\n position: relative;\r\n\r\n .ui-button\r\n {\r\n padding: 0 2px;\r\n }\r\n\r\n select\r\n {\r\n width: 100%;\r\n position: absolute;\r\n z-index: 1;\r\n left: 0;\r\n right: 0;\r\n top: 0;\r\n bottom: 0;\r\n opacity: 0;\r\n }\r\n }\r\n\r\n .ui-pagination-button[disabled] .ui-button-icon\r\n {\r\n color: var(--color-text-dim);\r\n }\r\n</style>',".ui-pagination {\n display: flex;\n justify-content: center;\n margin-top: var(--padding);\n align-items: center;\n}\n\n.ui-pagination-select {\n margin: 0 30px;\n position: relative;\n}\n.ui-pagination-select .ui-button {\n padding: 0 2px;\n}\n.ui-pagination-select select {\n width: 100%;\n position: absolute;\n z-index: 1;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n opacity: 0;\n}\n\n.ui-pagination-button[disabled] .ui-button-icon {\n color: var(--color-text-dim);\n}\n\n/*# sourceMappingURL=pagination.vue.map */"]},media:void 0})}),RD,undefined,false,undefined,!1,Iu,void 0,void 0);var PD=Object.prototype.hasOwnProperty,jD=Array.isArray,YD=function(){for(var e=[],n=0;n<256;++n)e.push("%"+((n<16?"0":"")+n.toString(16)).toUpperCase());return e}(),UD=function(e,n){for(var t=n&&n.plainObjects?Object.create(null):{},r=0;r<e.length;++r)void 0!==e[r]&&(t[r]=e[r]);return t},qD={arrayToObject:UD,assign:function(e,n){return Object.keys(n).reduce((function(e,t){return e[t]=n[t],e}),e)},combine:function(e,n){return[].concat(e,n)},compact:function(e){for(var n=[{obj:{o:e},prop:"o"}],t=[],r=0;r<n.length;++r)for(var i=n[r],o=i.obj[i.prop],a=Object.keys(o),s=0;s<a.length;++s){var l=a[s],c=o[l];"object"==typeof c&&null!==c&&-1===t.indexOf(c)&&(n.push({obj:o,prop:l}),t.push(c))}return function(e){for(;e.length>1;){var n=e.pop(),t=n.obj[n.prop];if(jD(t)){for(var r=[],i=0;i<t.length;++i)void 0!==t[i]&&r.push(t[i]);n.obj[n.prop]=r}}}(n),e},decode:function(e,n,t){var r=e.replace(/\+/g," ");if("iso-8859-1"===t)return r.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(r)}catch(e){return r}},encode:function(e,n,t){if(0===e.length)return e;var r=e;if("symbol"==typeof e?r=Symbol.prototype.toString.call(e):"string"!=typeof e&&(r=String(e)),"iso-8859-1"===t)return escape(r).replace(/%u[0-9a-f]{4}/gi,(function(e){return"%26%23"+parseInt(e.slice(2),16)+"%3B"}));for(var i="",o=0;o<r.length;++o){var a=r.charCodeAt(o);45===a||46===a||95===a||126===a||a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122?i+=r.charAt(o):a<128?i+=YD[a]:a<2048?i+=YD[192|a>>6]+YD[128|63&a]:a<55296||a>=57344?i+=YD[224|a>>12]+YD[128|a>>6&63]+YD[128|63&a]:(o+=1,a=65536+((1023&a)<<10|1023&r.charCodeAt(o)),i+=YD[240|a>>18]+YD[128|a>>12&63]+YD[128|a>>6&63]+YD[128|63&a])}return i},isBuffer:function(e){return!(!e||"object"!=typeof e)&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},isRegExp:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},maybeMap:function(e,n){if(jD(e)){for(var t=[],r=0;r<e.length;r+=1)t.push(n(e[r]));return t}return n(e)},merge:function e(n,t,r){if(!t)return n;if("object"!=typeof t){if(jD(n))n.push(t);else{if(!n||"object"!=typeof n)return[n,t];(r&&(r.plainObjects||r.allowPrototypes)||!PD.call(Object.prototype,t))&&(n[t]=!0)}return n}if(!n||"object"!=typeof n)return[n].concat(t);var i=n;return jD(n)&&!jD(t)&&(i=UD(n,r)),jD(n)&&jD(t)?(t.forEach((function(t,i){if(PD.call(n,i)){var o=n[i];o&&"object"==typeof o&&t&&"object"==typeof t?n[i]=e(o,t,r):n.push(t)}else n[i]=t})),n):Object.keys(t).reduce((function(n,i){var o=t[i];return PD.call(n,i)?n[i]=e(n[i],o,r):n[i]=o,n}),i)}},HD=String.prototype.replace,WD=/%20/g,VD={RFC1738:"RFC1738",RFC3986:"RFC3986"},JD=qD.assign({default:VD.RFC3986,formatters:{RFC1738:function(e){return HD.call(e,WD,"+")},RFC3986:function(e){return String(e)}}},VD),KD=Object.prototype.hasOwnProperty,GD={brackets:function(e){return e+"[]"},comma:"comma",indices:function(e,n){return e+"["+n+"]"},repeat:function(e){return e}},XD=Array.isArray,QD=Array.prototype.push,ZD=function(e,n){QD.apply(e,XD(n)?n:[n])},eB=Date.prototype.toISOString,nB=JD.default,tB={addQueryPrefix:!1,allowDots:!1,charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encoder:qD.encode,encodeValuesOnly:!1,format:nB,formatter:JD.formatters[nB],indices:!1,serializeDate:function(e){return eB.call(e)},skipNulls:!1,strictNullHandling:!1},rB=function e(n,t,r,i,o,a,s,l,c,d,u,p,f){var A,h=n;if("function"==typeof s?h=s(t,h):h instanceof Date?h=d(h):"comma"===r&&XD(h)&&(h=qD.maybeMap(h,(function(e){return e instanceof Date?d(e):e})).join(",")),null===h){if(i)return a&&!p?a(t,tB.encoder,f,"key"):t;h=""}if("string"==typeof(A=h)||"number"==typeof A||"boolean"==typeof A||"symbol"==typeof A||"bigint"==typeof A||qD.isBuffer(h))return a?[u(p?t:a(t,tB.encoder,f,"key"))+"="+u(a(h,tB.encoder,f,"value"))]:[u(t)+"="+u(String(h))];var m,g=[];if(void 0===h)return g;if(XD(s))m=s;else{var v=Object.keys(h);m=l?v.sort(l):v}for(var b=0;b<m.length;++b){var y=m[b],C=h[y];if(!o||null!==C){var E=XD(h)?"function"==typeof r?r(t,y):t:t+(c?"."+y:"["+y+"]");ZD(g,e(C,E,r,i,o,a,s,l,c,d,u,p,f))}}return g},iB=Object.prototype.hasOwnProperty,oB=Array.isArray,aB={allowDots:!1,allowPrototypes:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decoder:qD.decode,delimiter:"&",depth:5,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},sB=function(e){return e.replace(/&#(\d+);/g,(function(e,n){return String.fromCharCode(parseInt(n,10))}))},lB=function(e,n){return e&&"string"==typeof e&&n.comma&&e.indexOf(",")>-1?e.split(","):e},cB=function(e,n,t,r){if(e){var i=t.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,o=/(\[[^[\]]*])/g,a=t.depth>0&&/(\[[^[\]]*])/.exec(i),s=a?i.slice(0,a.index):i,l=[];if(s){if(!t.plainObjects&&iB.call(Object.prototype,s)&&!t.allowPrototypes)return;l.push(s)}for(var c=0;t.depth>0&&null!==(a=o.exec(i))&&c<t.depth;){if(c+=1,!t.plainObjects&&iB.call(Object.prototype,a[1].slice(1,-1))&&!t.allowPrototypes)return;l.push(a[1])}return a&&l.push("["+i.slice(a.index)+"]"),function(e,n,t,r){for(var i=r?n:lB(n,t),o=e.length-1;o>=0;--o){var a,s=e[o];if("[]"===s&&t.parseArrays)a=[].concat(i);else{a=t.plainObjects?Object.create(null):{};var l="["===s.charAt(0)&&"]"===s.charAt(s.length-1)?s.slice(1,-1):s,c=parseInt(l,10);t.parseArrays||""!==l?!isNaN(c)&&s!==l&&String(c)===l&&c>=0&&t.parseArrays&&c<=t.arrayLimit?(a=[])[c]=i:a[l]=i:a={0:i}}i=a}return i}(l,n,t,r)}},dB=function(e,n){var t=function(e){if(!e)return aB;if(null!==e.decoder&&void 0!==e.decoder&&"function"!=typeof e.decoder)throw new TypeError("Decoder has to be a function.");if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var n=void 0===e.charset?aB.charset:e.charset;return{allowDots:void 0===e.allowDots?aB.allowDots:!!e.allowDots,allowPrototypes:"boolean"==typeof e.allowPrototypes?e.allowPrototypes:aB.allowPrototypes,arrayLimit:"number"==typeof e.arrayLimit?e.arrayLimit:aB.arrayLimit,charset:n,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:aB.charsetSentinel,comma:"boolean"==typeof e.comma?e.comma:aB.comma,decoder:"function"==typeof e.decoder?e.decoder:aB.decoder,delimiter:"string"==typeof e.delimiter||qD.isRegExp(e.delimiter)?e.delimiter:aB.delimiter,depth:"number"==typeof e.depth||!1===e.depth?+e.depth:aB.depth,ignoreQueryPrefix:!0===e.ignoreQueryPrefix,interpretNumericEntities:"boolean"==typeof e.interpretNumericEntities?e.interpretNumericEntities:aB.interpretNumericEntities,parameterLimit:"number"==typeof e.parameterLimit?e.parameterLimit:aB.parameterLimit,parseArrays:!1!==e.parseArrays,plainObjects:"boolean"==typeof e.plainObjects?e.plainObjects:aB.plainObjects,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:aB.strictNullHandling}}(n);if(""===e||null==e)return t.plainObjects?Object.create(null):{};for(var r="string"==typeof e?function(e,n){var t,r={},i=n.ignoreQueryPrefix?e.replace(/^\?/,""):e,o=n.parameterLimit===1/0?void 0:n.parameterLimit,a=i.split(n.delimiter,o),s=-1,l=n.charset;if(n.charsetSentinel)for(t=0;t<a.length;++t)0===a[t].indexOf("utf8=")&&("utf8=%E2%9C%93"===a[t]?l="utf-8":"utf8=%26%2310003%3B"===a[t]&&(l="iso-8859-1"),s=t,t=a.length);for(t=0;t<a.length;++t)if(t!==s){var c,d,u=a[t],p=u.indexOf("]="),f=-1===p?u.indexOf("="):p+1;-1===f?(c=n.decoder(u,aB.decoder,l,"key"),d=n.strictNullHandling?null:""):(c=n.decoder(u.slice(0,f),aB.decoder,l,"key"),d=qD.maybeMap(lB(u.slice(f+1),n),(function(e){return n.decoder(e,aB.decoder,l,"value")}))),d&&n.interpretNumericEntities&&"iso-8859-1"===l&&(d=sB(d)),u.indexOf("[]=")>-1&&(d=oB(d)?[d]:d),iB.call(r,c)?r[c]=qD.combine(r[c],d):r[c]=d}return r}(e,t):e,i=t.plainObjects?Object.create(null):{},o=Object.keys(r),a=0;a<o.length;++a){var s=o[a],l=cB(s,r[s],t,"string"==typeof e);i=qD.merge(i,l,t)}return qD.compact(i)},uB=function(e,n){var t,r=e,i=function(e){if(!e)return tB;if(null!==e.encoder&&void 0!==e.encoder&&"function"!=typeof e.encoder)throw new TypeError("Encoder has to be a function.");var n=e.charset||tB.charset;if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var t=JD.default;if(void 0!==e.format){if(!KD.call(JD.formatters,e.format))throw new TypeError("Unknown format option provided.");t=e.format}var r=JD.formatters[t],i=tB.filter;return("function"==typeof e.filter||XD(e.filter))&&(i=e.filter),{addQueryPrefix:"boolean"==typeof e.addQueryPrefix?e.addQueryPrefix:tB.addQueryPrefix,allowDots:void 0===e.allowDots?tB.allowDots:!!e.allowDots,charset:n,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:tB.charsetSentinel,delimiter:void 0===e.delimiter?tB.delimiter:e.delimiter,encode:"boolean"==typeof e.encode?e.encode:tB.encode,encoder:"function"==typeof e.encoder?e.encoder:tB.encoder,encodeValuesOnly:"boolean"==typeof e.encodeValuesOnly?e.encodeValuesOnly:tB.encodeValuesOnly,filter:i,formatter:r,serializeDate:"function"==typeof e.serializeDate?e.serializeDate:tB.serializeDate,skipNulls:"boolean"==typeof e.skipNulls?e.skipNulls:tB.skipNulls,sort:"function"==typeof e.sort?e.sort:null,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:tB.strictNullHandling}}(n);"function"==typeof i.filter?r=(0,i.filter)("",r):XD(i.filter)&&(t=i.filter);var o,a=[];if("object"!=typeof r||null===r)return"";o=n&&n.arrayFormat in GD?n.arrayFormat:n&&"indices"in n?n.indices?"indices":"repeat":"indices";var s=GD[o];t||(t=Object.keys(r)),i.sort&&t.sort(i.sort);for(var l=0;l<t.length;++l){var c=t[l];i.skipNulls&&null===r[c]||ZD(a,rB(r[c],c,s,i.strictNullHandling,i.skipNulls,i.encode?i.encoder:null,i.filter,i.sort,i.allowDots,i.serializeDate,i.formatter,i.encodeValuesOnly,i.charset))}var d=a.join(i.delimiter),u=!0===i.addQueryPrefix?"?":"";return i.charsetSentinel&&("iso-8859-1"===i.charset?u+="utf8=%26%2310003%3B&":u+="utf8=%E2%9C%93&"),d.length>0?u+d:""};const pB={name:"uiTable",props:{config:{type:[String,Object],required:!0},inline:{type:Boolean,default:!1}},directives:{"table-value":function(e,n){const t=n.value.item,r=n.value.column.column,i=t[r.path];r.isHtml?e.innerHTML=r.render(i,t):e.innerText=r.render(i,t)}},components:{UiPagination:LD},data:()=>({loaded:!1,listConfig:{},columns:[],query:{},filter:null,items:[],component:"div",isLoading:!0,pages:1,count:0,debouncedUpdate:null,selected:[]}),mounted(){this.setup()},watch:{"query.search":function(e){this.loaded&&this.onChange()},$route(e,n){this.setup()}},methods:{setup(){this.debouncedUpdate=zd(this.update,300),this.listConfig="string"==typeof this.config?this.zero.getList(this.config):this.config,this.columns=this.listConfig.columns.map((e=>({...e,column:e,label:e.options.hideLabel?null:e.options.label||this.listConfig.templateLabel(e.path),flex:e.options.width?{flex:"0 1 "+e.options.width+"px"}:{}}))),this.query={...this.listConfig.query,...this.listConfig.queryToParams(this.$route.query)},this.component=(this.listConfig.link,"router-link"),this.filter={...this.listConfig.filterOptions},this.$nextTick((()=>{this.loaded=!0,this.load(!0)}))},load(e){this.isLoading=!0,this.listConfig.fetch(this.query).then((n=>{if(this.$emit("loaded",n),this.pages=n.totalPages,this.count=n.totalItems,this.$emit("count",this.count),this.isLoading=!1,this.items=n.items,this.selected=[],!e){let e=document.querySelector(".app-main");e&&this.$nextTick((()=>e.scrollTo({top:0,behavior:"smooth"})))}}))},update(){this.isLoading||this.load()},onChange(){const e=uB(this.listConfig.paramsToQuery(this.query)),n=this.$route.path+(e?"?"+e:"");history.replaceState(null,null,n),this.debouncedUpdate()},getLink(e){return this.listConfig.link?"function"==typeof this.listConfig.link?this.listConfig.link(e):{name:this.listConfig.link,params:{id:e.id}}:null},setPage(e){this.query.page=e,this.onChange()},setFilter(e){this.query.filter=e,this.onChange()},sort(e){this.query.orderBy===e.path&&this.query.orderIsDescending?this.query.orderIsDescending=!1:this.query.orderBy===e.path?this.query.orderBy=null:(this.query.orderBy=e.path,this.query.orderIsDescending=!0),this.query.page=1,this.onChange()},select(e){if(e){const n=this.selected.indexOf(e);n>-1?this.selected.splice(n,1):this.selected.push(e)}else this.selected.length>=this.items.length?this.selected=[]:(this.selected=[],this.items.forEach((e=>{this.selected.push(e)})));this.$emit("select",this.selected,this)}}};var fB=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-table-outer"},[t("div",{staticClass:"ui-table",class:{"is-inline":e.inline}},[t("header",{staticClass:"ui-table-row ui-table-head"},e._l(e.columns,(function(n){return t("div",{key:n.path,staticClass:"ui-table-cell",class:n.options.class,style:n.flex,attrs:{"table-field":n.path}},[t("span",{directives:[{name:"localize",rawName:"v-localize:html",value:n.label,expression:"column.label",arg:"html"}]}),e._v(" "),t("button",{staticClass:"ui-table-sort",class:e.query.orderBy==n.path?"sort-"+(e.query.orderIsDescending?"desc":"asc"):null,attrs:{disabled:!n.options.canSort,type:"button"},on:{click:function(t){return e.sort(n)}}},[t("i",{staticClass:"arrow arrow-down"})])])})),0),e._v(" "),e._l(e.items,(function(n,r){return t(e.component,{key:r,tag:"component",staticClass:"ui-table-row",class:{"is-selected":e.selected.indexOf(n)>-1},attrs:{to:e.getLink(n)}},e._l(e.columns,(function(e){return t("div",{directives:[{name:"table-value",rawName:"v-table-value",value:{column:e,item:n},expression:"{ column, item }"}],key:e.path,staticClass:"ui-table-cell",class:e.options.class,style:e.flex,attrs:{"table-field":e.path,"field-type":e.type}})})),0)})),e._v(" "),!e.isLoading&&e.items.length<1?t("div",{staticClass:"ui-table-empty"},[t("i",{staticClass:"ui-table-empty-icon fth-list"}),e._v("\n There are no items to show in this list\n ")]):e._e(),e._v(" "),e.isLoading?t("div",{staticClass:"ui-table-loading"},[t("ui-loading")],1):e._e()],2),e._v(" "),e.pages>1?t("footer",{staticClass:"ui-table-pagination"},[t("ui-pagination",{attrs:{pages:e.pages,page:e.query.page,inline:e.inline},on:{change:e.setPage}})],1):e._e()])};fB._withStripped=!0;const AB=Da({render:fB,staticRenderFns:[]},undefined,pB,undefined,false,undefined,!1,void 0,void 0,void 0);const hB={props:{config:Object},provide:function(){return{meta:{},disabled:!1}},data:()=>({loading:!1,disabled:!1,model:{},template:null,editor:null,fields:[],filterName:null,activeFilter:null}),components:{EditorComponent:_u},methods:{toggleFilter(e,n){this.activeFilter=this.activeFilter===n?null:n},onFieldChange(e){},clearFilter(e,n){this.model[e.path]=JSON.parse(JSON.stringify(this.template[e.path]))},getFieldLabel(e){return e.options.label||this.editor.templateLabel(e.path)},onLoad(){this.model=JSON.parse(JSON.stringify(this.config.model.filter||{})),this.template=JSON.parse(JSON.stringify(this.config.template||{})),this.editor=this.config.editor,this.filterName=this.config.model.name,this.fields=this.editor.fields.map((e=>({field:e,path:e.path,...e.previewOptions}))),this.loading=!1},onSubmit(){this.config.confirm({model:this.model,filterName:this.filterName})},onRemove(){this.config.confirm({remove:!0})}}};var mB=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("ui-form",{ref:"form",staticClass:"ui-table-filter-overlay",on:{submit:e.onSubmit,load:e.onLoad},scopedSlots:e._u([{key:"default",fn:function(n){return[t("ui-overlay-editor",{staticClass:"ui-module-overlay",scopedSlots:e._u([{key:"header",fn:function(){return[t("ui-header-bar",{attrs:{title:e.config.title,"back-button":!1,"close-button":!0}})]},proxy:!0},{key:"footer",fn:function(){return[t("ui-button",{attrs:{type:"light onbg",label:"@ui.close"},on:{click:e.config.hide}}),e._v(" "),e.config.isCreate?e._e():t("ui-button",{attrs:{type:"light onbg",label:"@ui.remove"},on:{click:e.onRemove}}),e._v(" "),t("ui-button",{attrs:{type:"primary",submit:!0,label:"@ui.confirm",state:n.state,disabled:e.loading||e.disabled}})]},proxy:!0}],null,!0)},[e._v(" "),e._v(" "),e.loading?t("ui-loading",{attrs:{"is-big":!0}}):e._e(),e._v(" "),e.loading?e._e():t("div",{staticClass:"ui-box"},e._l(e.fields,(function(n,r){return t("div",{staticClass:"ui-table-filter-overlay-group",class:{"is-open":e.activeFilter===r,"has-value":n.hasValue(e.model[n.path])}},[t("div",{staticClass:"ui-table-filter-overlay-group-head"},[t("ui-select-button",{attrs:{label:e.getFieldLabel(n.field),icon:n.icon,description:n.preview(e.model[n.path])},on:{click:function(t){return e.toggleFilter(n,r)}}}),e._v(" "),t("ui-button",{staticClass:"ui-table-filter-overlay-group-clear",attrs:{type:"blank",label:"Clear"},on:{click:function(t){return e.clearFilter(n,r)}}})],1),e._v(" "),t("div",{directives:[{name:"show",rawName:"v-show",value:e.activeFilter===r,expression:"activeFilter === index"}],staticClass:"ui-table-filter-overlay-group-content"},[t("editor-component",{attrs:{config:n.field,editor:e.editor,disabled:e.disabled},on:{input:e.onFieldChange},model:{value:e.model,callback:function(n){e.model=n},expression:"model"}})],1)])})),0),e._v(" "),e.loading?e._e():t("div",{staticClass:"ui-box ui-table-filter-overlay-filtername"},[t("ui-property",{attrs:{label:"Save as...",description:"You can optionally save this filter for future reference",vertical:!0}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.filterName,expression:"filterName"}],staticClass:"ui-input",attrs:{type:"text",maxlength:"40"},domProps:{value:e.filterName},on:{input:function(n){n.target.composing||(e.filterName=n.target.value)}}})])],1)],1)]}}])})};mB._withStripped=!0;const gB=Da({render:mB,staticRenderFns:[]},(function(e){e&&e("data-v-7d5289a0_0",{source:".ui-table-filter-overlay .ui-box + .ui-box {\n margin-top: var(--padding-s);\n}\n.ui-table-filter-overlay-group:not(.is-open) + .ui-table-filter-overlay-group {\n margin-top: var(--padding-s);\n border-top: 1px solid var(--color-line);\n padding-top: var(--padding-s);\n}\n.ui-table-filter-overlay-group:not(.has-value) .ui-table-filter-overlay-group-clear {\n display: none;\n}\n.ui-table-filter-overlay-group-head {\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto;\n grid-gap: 20px;\n}\n.ui-table-filter-overlay-group-clear .ui-button-text {\n font-weight: 400;\n color: var(--color-text-dim);\n}\n.ui-table-filter-overlay-group-content {\n background: var(--color-box);\n margin: var(--padding-s) 0;\n padding: var(--padding-m) 0;\n border-top: 1px solid var(--color-line);\n border-bottom: 1px solid var(--color-line);\n}\n.ui-table-filter-overlay-group-content > .ui-property > .ui-property-label {\n display: none;\n}\n.ui-table-filter-overlay-filtername .ui-property-content {\n margin-top: 12px !important;\n}\n\n/*# sourceMappingURL=table-filter-overlay.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\tables\\table-filter-overlay.vue","table-filter-overlay.vue"],names:[],mappings:"AA0IA;EAEA,4BAAA;AC1IA;ADgJA;EAEA,4BAAA;EACA,uCAAA;EACA,6BAAA;AC9IA;ADiJA;EAEA,aAAA;AChJA;ADoJA;EAEA,aAAA;EACA,0CAAA;EACA,cAAA;AClJA;ADqJA;EAEA,gBAAA;EACA,4BAAA;ACnJA;ADsJA;EAEA,4BAAA;EACA,0BAAA;EACA,2BAAA;EACA,uCAAA;EACA,0CAAA;ACpJA;ADsJA;EAEA,aAAA;ACrJA;ADyJA;EAEA,2BAAA;ACvJA;;AAEA,mDAAmD",file:"table-filter-overlay.vue",sourcesContent:['\ufeff<template>\r\n <ui-form class="ui-table-filter-overlay" ref="form" v-slot="form" @submit="onSubmit" @load="onLoad">\r\n <ui-overlay-editor class="ui-module-overlay">\r\n\r\n <template v-slot:header>\r\n <ui-header-bar :title="config.title" :back-button="false" :close-button="true" />\r\n </template>\r\n\r\n <template v-slot:footer>\r\n <ui-button type="light onbg" label="@ui.close" @click="config.hide"></ui-button>\r\n <ui-button v-if="!config.isCreate" type="light onbg" label="@ui.remove" @click="onRemove"></ui-button>\r\n <ui-button type="primary" :submit="true" label="@ui.confirm" :state="form.state" :disabled="loading || disabled"></ui-button>\r\n </template>\r\n\r\n <ui-loading v-if="loading" :is-big="true" />\r\n\r\n \x3c!--<div v-if="!loading" class="ui-box">\r\n <ui-property label="Name" :required="true">\r\n <input v-model="model.name" type="text" class="ui-input" maxlength="300" />\r\n </ui-property>\r\n </div>--\x3e\r\n\r\n <div v-if="!loading" class="ui-box">\r\n <div v-for="(field, index) in fields" class="ui-table-filter-overlay-group" :class="{ \'is-open\': activeFilter === index, \'has-value\': field.hasValue(model[field.path]) }">\r\n <div class="ui-table-filter-overlay-group-head">\r\n <ui-select-button :label="getFieldLabel(field.field)" :icon="field.icon" :description="field.preview(model[field.path])" @click="toggleFilter(field, index)" />\r\n <ui-button class="ui-table-filter-overlay-group-clear" type="blank" label="Clear" @click="clearFilter(field, index)" />\r\n </div>\r\n <div v-show="activeFilter === index" class="ui-table-filter-overlay-group-content">\r\n <editor-component :config="field.field" :editor="editor" v-model="model" @input="onFieldChange" :disabled="disabled" />\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div v-if="!loading" class="ui-box ui-table-filter-overlay-filtername">\r\n <ui-property label="Save as..." description="You can optionally save this filter for future reference" :vertical="true">\r\n <input v-model="filterName" type="text" class="ui-input" maxlength="40" />\r\n </ui-property>\r\n </div>\r\n\r\n </ui-overlay-editor>\r\n </ui-form>\r\n</template>\r\n\r\n\r\n<script>\r\n import EditorComponent from \'zero/editor/editor-component.vue\';\r\n import { find as _find } from \'underscore\';\r\n\r\n export default {\r\n\r\n props: {\r\n config: Object\r\n },\r\n\r\n provide: function ()\r\n {\r\n return {\r\n meta: {},\r\n disabled: false\r\n };\r\n },\r\n\r\n data: () => ({\r\n loading: false,\r\n disabled: false,\r\n model: {},\r\n template: null,\r\n editor: null,\r\n fields: [],\r\n filterName: null,\r\n activeFilter: null\r\n }),\r\n\r\n components: { EditorComponent },\r\n\r\n methods: {\r\n\r\n toggleFilter(filter, index)\r\n {\r\n this.activeFilter = this.activeFilter === index ? null : index;\r\n },\r\n\r\n onFieldChange(value)\r\n {\r\n //this.$emit(\'input\', this.value);\r\n },\r\n\r\n clearFilter(filter, index)\r\n {\r\n this.model[filter.path] = JSON.parse(JSON.stringify(this.template[filter.path]));\r\n },\r\n\r\n getFieldLabel(field)\r\n {\r\n return field.options.label || this.editor.templateLabel(field.path);\r\n },\r\n \r\n onLoad()\r\n {\r\n this.model = JSON.parse(JSON.stringify(this.config.model.filter || {}));\r\n this.template = JSON.parse(JSON.stringify(this.config.template || {}));\r\n this.editor = this.config.editor;\r\n this.filterName = this.config.model.name;\r\n this.fields = this.editor.fields.map(x =>\r\n {\r\n return {\r\n field: x,\r\n path: x.path,\r\n ...x.previewOptions\r\n };\r\n });\r\n\r\n this.loading = false;\r\n },\r\n\r\n onSubmit()\r\n {\r\n this.config.confirm({\r\n model: this.model,\r\n filterName: this.filterName\r\n });\r\n },\r\n\r\n onRemove()\r\n {\r\n this.config.confirm({\r\n remove: true\r\n });\r\n }\r\n }\r\n\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .ui-table-filter-overlay\r\n {\r\n .ui-box + .ui-box\r\n {\r\n margin-top: var(--padding-s);\r\n }\r\n }\r\n\r\n .ui-table-filter-overlay-group\r\n {\r\n &:not(.is-open) + .ui-table-filter-overlay-group\r\n {\r\n margin-top: var(--padding-s);\r\n border-top: 1px solid var(--color-line);\r\n padding-top: var(--padding-s);\r\n }\r\n\r\n &:not(.has-value) .ui-table-filter-overlay-group-clear\r\n {\r\n display: none;\r\n }\r\n }\r\n\r\n .ui-table-filter-overlay-group-head\r\n {\r\n display: grid;\r\n grid-template-columns: minmax(0, 1fr) auto;\r\n grid-gap: 20px;\r\n }\r\n\r\n .ui-table-filter-overlay-group-clear .ui-button-text\r\n {\r\n font-weight: 400;\r\n color: var(--color-text-dim);\r\n }\r\n\r\n .ui-table-filter-overlay-group-content\r\n {\r\n background: var(--color-box);\r\n margin: var(--padding-s) 0;\r\n padding: var(--padding-m) 0;\r\n border-top: 1px solid var(--color-line);\r\n border-bottom: 1px solid var(--color-line);\r\n\r\n > .ui-property > .ui-property-label\r\n {\r\n display: none;\r\n }\r\n }\r\n\r\n .ui-table-filter-overlay-filtername .ui-property-content\r\n {\r\n margin-top: 12px !important;\r\n }\r\n</style>',".ui-table-filter-overlay .ui-box + .ui-box {\n margin-top: var(--padding-s);\n}\n\n.ui-table-filter-overlay-group:not(.is-open) + .ui-table-filter-overlay-group {\n margin-top: var(--padding-s);\n border-top: 1px solid var(--color-line);\n padding-top: var(--padding-s);\n}\n.ui-table-filter-overlay-group:not(.has-value) .ui-table-filter-overlay-group-clear {\n display: none;\n}\n\n.ui-table-filter-overlay-group-head {\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto;\n grid-gap: 20px;\n}\n\n.ui-table-filter-overlay-group-clear .ui-button-text {\n font-weight: 400;\n color: var(--color-text-dim);\n}\n\n.ui-table-filter-overlay-group-content {\n background: var(--color-box);\n margin: var(--padding-s) 0;\n padding: var(--padding-m) 0;\n border-top: 1px solid var(--color-line);\n border-bottom: 1px solid var(--color-line);\n}\n.ui-table-filter-overlay-group-content > .ui-property > .ui-property-label {\n display: none;\n}\n\n.ui-table-filter-overlay-filtername .ui-property-content {\n margin-top: 12px !important;\n}\n\n/*# sourceMappingURL=table-filter-overlay.vue.map */"]},media:void 0})}),hB,undefined,false,undefined,!1,Iu,void 0,void 0),vB="zero.ui-table-filter.";const bB={name:"uiTableFilter",props:{attach:[Object,void 0],hideSearch:{type:Boolean,default:!1}},watch:{attach:function(e){this.setup()}},data:()=>({loaded:!1,hasFilter:!1,filterOptions:null,storedFilters:[],currentFilter:null,actions:[]}),created(){},mounted(){this.setup()},computed:{filterLabel(){return this.currentFilter?"Filter: <span>"+this.currentFilter.name+"</span>":"Filter"}},methods:{setup(){this.attach&&(this.filterOptions={...this.attach.filter},this.hasFilter=this.filterOptions&&this.filterOptions.editor,this.storedFilters=this.getStoredFilters(),this.actions=this.attach.listConfig.actions,this.loaded=!0)},onActionClicked(e,n){e.call(n)},getStoredFilters(){return this.hasFilter?JSON.parse(localStorage.getItem(vB+this.filterOptions.editor.alias)||"[]"):[]},setFilter(e,n){e?(this.currentFilter=JSON.parse(JSON.stringify(e)),this.currentFilter.filter.id=this.currentFilter.id,this.$emit("filter",this.currentFilter.filter),this.attach.setFilter(this.currentFilter.filter)):(this.currentFilter=null,this.$emit("filter",null),this.attach.setFilter(null))},removeFilter(e){let n=this.storedFilters.find((n=>n.id===e));this.storedFilters.splice(this.storedFilters.indexOf(n),1),localStorage.setItem(vB+this.filterOptions.editor.alias,JSON.stringify(this.storedFilters)),this.currentFilter&&this.currentFilter.id===e&&this.setFilter(null)},saveFilter(e,n,t){t=t||jl.guid(4);let r=this.storedFilters.find((e=>e.id===t)),i=this.storedFilters.indexOf(r),o={id:t,name:e,filter:n};return i>-1?this.storedFilters.splice(i,1,o):this.storedFilters.push(o),localStorage.setItem(vB+this.filterOptions.editor.alias,JSON.stringify(this.storedFilters)),t},addOrEditFilter(e){let n={name:null,filter:this.filterOptions.template};return e&&(n=this.storedFilters.find((n=>n.id===e))),Uu.open({component:gB,display:"editor",title:"Filter",editor:this.filterOptions.editor,template:this.filterOptions.template,model:n,isCreate:!e}).then((n=>{n.remove&&e?this.removeFilter(e):(n.filterName&&(e=this.saveFilter(n.filterName,n.model,e)),this.setFilter({id:e,name:n.filterName,filter:n.model}))}))}}};var yB=function(){var e=this,n=e.$createElement,t=e._self._c||n;return e.loaded?t("div",{staticClass:"ui-table-filter"},[e.hideSearch?e._e():t("ui-search",{staticClass:"onbg",model:{value:e.attach.query.search,callback:function(n){e.$set(e.attach.query,"search",n)},expression:"attach.query.search"}}),e._v(" "),e.hasFilter&&e.storedFilters.length?t("ui-dropdown",{attrs:{align:"right"},scopedSlots:e._u([{key:"button",fn:function(){return[t("ui-button",{attrs:{type:"light onbg",label:e.filterLabel,caret:"down"}})]},proxy:!0}],null,!1,179972004)},[e._v(" "),e._l(e.storedFilters,(function(n,r){return e.storedFilters.length?t("ui-dropdown-button",{key:r,attrs:{value:n,label:n.name},on:{click:e.setFilter}}):e._e()})),e._v(" "),e.storedFilters.length?t("ui-dropdown-separator"):e._e(),e._v(" "),t("ui-dropdown-button",{attrs:{label:"@ui.add",icon:"fth-plus"},on:{click:function(n){return e.addOrEditFilter()}}}),e._v(" "),e.currentFilter?t("ui-dropdown-button",{attrs:{label:"Edit filter",icon:"fth-edit-2"},on:{click:function(n){return e.addOrEditFilter(e.currentFilter.id)}}}):e._e(),e._v(" "),t("ui-dropdown-button",{attrs:{label:"Clear filter",icon:"fth-x"},on:{click:function(n){return e.setFilter(null)}}})],2):e._e(),e._v(" "),e.hasFilter&&!e.storedFilters.length?t("ui-button",{attrs:{type:"light onbg",label:"Filter"},on:{click:function(n){return e.addOrEditFilter()}}}):e._e(),e._v(" "),e.actions&&e.actions.length>0?t("ui-dropdown",{attrs:{align:"right"},scopedSlots:e._u([{key:"button",fn:function(){return[t("ui-button",{attrs:{type:"light onbg",icon:"fth-more-horizontal"}})]},proxy:!0}],null,!1,204167963)},[e._v(" "),e._l(e.actions,(function(n,r){return t("ui-dropdown-button",{key:r,attrs:{value:n,prevent:!1===n.autoclose,label:n.label,icon:n.icon},on:{click:e.onActionClicked}})}))],2):e._e()],1):e._e()};yB._withStripped=!0;const CB=Da({render:yB,staticRenderFns:[]},(function(e){e&&e("data-v-2cf57c04_0",{source:".ui-table-filter {\n display: flex;\n align-items: center;\n height: 100%;\n}\n.ui-table-filter > * + * {\n margin-left: 15px;\n}\n\n/*# sourceMappingURL=table-filter.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\tables\\table-filter.vue","table-filter.vue"],names:[],mappings:"AA+NA;EAEA,aAAA;EACA,mBAAA;EACA,YAAA;AC/NA;ADiOA;EAEA,iBAAA;AChOA;;AAEA,2CAA2C",file:"table-filter.vue",sourcesContent:['\ufeff<template>\r\n <div v-if="loaded" class="ui-table-filter">\r\n <ui-search v-if="!hideSearch" v-model="attach.query.search" class="onbg" />\r\n\r\n <ui-dropdown v-if="hasFilter && storedFilters.length" align="right">\r\n <template v-slot:button>\r\n <ui-button type="light onbg" :label="filterLabel" caret="down" />\r\n </template>\r\n <ui-dropdown-button v-if="storedFilters.length" v-for="(filter, index) in storedFilters" :key="index" :value="filter" :label="filter.name" @click="setFilter" />\r\n <ui-dropdown-separator v-if="storedFilters.length" />\r\n <ui-dropdown-button label="@ui.add" icon="fth-plus" @click="addOrEditFilter()" />\r\n <ui-dropdown-button v-if="currentFilter" label="Edit filter" icon="fth-edit-2" @click="addOrEditFilter(currentFilter.id)" />\r\n <ui-dropdown-button label="Clear filter" icon="fth-x" @click="setFilter(null)" />\r\n </ui-dropdown>\r\n <ui-button v-if="hasFilter && !storedFilters.length" type="light onbg" label="Filter" @click="addOrEditFilter()" />\r\n\r\n \x3c!--<ui-dropdown v-if="!hideSelection && selection.length > 0" align="right">\r\n <template v-slot:button>\r\n <ui-button type="light" :label="selectedText" caret="down" />\r\n </template>\r\n <slot name="actions"></slot>\r\n </ui-dropdown>--\x3e\r\n\r\n <ui-dropdown v-if="actions && actions.length > 0" align="right">\r\n <template v-slot:button>\r\n <ui-button type="light onbg" icon="fth-more-horizontal" />\r\n </template>\r\n <ui-dropdown-button v-for="(action, index) in actions" :key="index" :value="action" :prevent="action.autoclose === false" :label="action.label" :icon="action.icon" @click="onActionClicked" />\r\n </ui-dropdown>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import Overlay from \'zero/helpers/overlay.js\';\r\n import Strings from \'zero/helpers/strings.js\';\r\n import FilterOverlay from \'./table-filter-overlay.vue\';\r\n import { isArray as _isArray } from \'underscore\';\r\n\r\n const KEY_PREFIX = \'zero.ui-table-filter.\';\r\n\r\n export default {\r\n name: \'uiTableFilter\',\r\n\r\n props: {\r\n attach: [Object, undefined],\r\n hideSearch: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n\r\n watch: {\r\n attach: function (value)\r\n {\r\n this.setup();\r\n }\r\n },\r\n\r\n data: () => ({\r\n loaded: false,\r\n hasFilter: false,\r\n filterOptions: null,\r\n //hideFilter: true,\r\n //hideSelection: true,\r\n storedFilters: [],\r\n currentFilter: null,\r\n actions: []\r\n }),\r\n\r\n created()\r\n {\r\n //this.reload();\r\n },\r\n\r\n mounted()\r\n {\r\n this.setup();\r\n },\r\n\r\n computed: {\r\n filterLabel()\r\n {\r\n return this.currentFilter ? \'Filter: <span>\' + this.currentFilter.name + "</span>" : \'Filter\';\r\n }\r\n },\r\n\r\n methods: {\r\n\r\n // attach table data\r\n setup()\r\n {\r\n if (!this.attach)\r\n {\r\n return;\r\n }\r\n\r\n this.filterOptions = { ...this.attach.filter };\r\n this.hasFilter = this.filterOptions && this.filterOptions.editor;\r\n this.storedFilters = this.getStoredFilters();\r\n this.actions = this.attach.listConfig.actions;\r\n\r\n this.loaded = true;\r\n },\r\n\r\n\r\n // called when an action has been clicked\r\n onActionClicked(action, opts)\r\n {\r\n action.call(opts);\r\n },\r\n\r\n\r\n // load stored filters from local storage\r\n getStoredFilters()\r\n {\r\n if (!this.hasFilter)\r\n {\r\n return [];\r\n }\r\n return JSON.parse(localStorage.getItem(KEY_PREFIX + this.filterOptions.editor.alias) || "[]");\r\n },\r\n\r\n\r\n // set the current filter\r\n setFilter(value, two)\r\n {\r\n if (!value)\r\n {\r\n this.currentFilter = null;\r\n this.$emit(\'filter\', null);\r\n this.attach.setFilter(null);\r\n }\r\n else\r\n {\r\n this.currentFilter = JSON.parse(JSON.stringify(value));\r\n this.currentFilter.filter.id = this.currentFilter.id;\r\n this.$emit(\'filter\', this.currentFilter.filter);\r\n this.attach.setFilter(this.currentFilter.filter);\r\n }\r\n },\r\n\r\n\r\n // removes a filter from the storage\r\n removeFilter(id)\r\n {\r\n let savedFilter = this.storedFilters.find(x => x.id === id);\r\n this.storedFilters.splice(this.storedFilters.indexOf(savedFilter), 1);\r\n localStorage.setItem(KEY_PREFIX + this.filterOptions.editor.alias, JSON.stringify(this.storedFilters));\r\n\r\n if (this.currentFilter && this.currentFilter.id === id)\r\n {\r\n this.setFilter(null);\r\n }\r\n },\r\n\r\n\r\n // persist a filter in local storage\r\n saveFilter(name, filter, id)\r\n {\r\n id = id || Strings.guid(4);\r\n\r\n let savedFilter = this.storedFilters.find(x => x.id === id);\r\n let index = this.storedFilters.indexOf(savedFilter);\r\n let model = { id, name, filter };\r\n\r\n if (index > -1)\r\n {\r\n this.storedFilters.splice(index, 1, model);\r\n }\r\n else\r\n {\r\n this.storedFilters.push(model);\r\n }\r\n\r\n localStorage.setItem(KEY_PREFIX + this.filterOptions.editor.alias, JSON.stringify(this.storedFilters));\r\n\r\n return id;\r\n },\r\n\r\n\r\n addOrEditFilter(id)\r\n {\r\n let model = { name: null, filter: this.filterOptions.template };\r\n\r\n if (id)\r\n {\r\n model = this.storedFilters.find(x => x.id === id);\r\n }\r\n\r\n return Overlay.open({\r\n component: FilterOverlay,\r\n display: \'editor\',\r\n title: \'Filter\',\r\n editor: this.filterOptions.editor,\r\n template: this.filterOptions.template,\r\n model: model,\r\n isCreate: !id\r\n }).then(value =>\r\n {\r\n if (value.remove && id)\r\n {\r\n this.removeFilter(id);\r\n return;\r\n }\r\n\r\n if (value.filterName)\r\n {\r\n id = this.saveFilter(value.filterName, value.model, id);\r\n }\r\n\r\n this.setFilter({\r\n id,\r\n name: value.filterName,\r\n filter: value.model\r\n });\r\n });\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .ui-table-filter\r\n {\r\n display: flex;\r\n align-items: center;\r\n height: 100%;\r\n\r\n > * + *\r\n {\r\n margin-left: 15px;\r\n }\r\n }\r\n</style>',".ui-table-filter {\n display: flex;\n align-items: center;\n height: 100%;\n}\n.ui-table-filter > * + * {\n margin-left: 15px;\n}\n\n/*# sourceMappingURL=table-filter.vue.map */"]},media:void 0})}),bB,undefined,false,undefined,!1,Iu,void 0,void 0);const EB={name:"uiTabs",props:{cache:{type:String},active:{type:Number,default:0}},data:()=>({storageKey:null,tabs:[]}),mounted(){if(this.cacheKey=this.cache?"zero.ui-tabs.cache."+this.cache:null,this.tabs=this.$children,this.cache){const e=localStorage.getItem(this.cacheKey);if(null!==e)return void this.select(+e)}this.select(this.active)},methods:{select(e,n){n&&n.preventDefault();this.tabs[e].disabled||(this.tabs.forEach(((n,t)=>{n.active=e===t})),this.cache&&localStorage.setItem(this.cacheKey,e))}}};var xB=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-tabs"},[t("div",{staticClass:"ui-tabs-list",attrs:{role:"tablist"}},e._l(e.tabs,(function(n,r){return t("button",{key:r,staticClass:"ui-tabs-list-item",class:{"is-active":n.active,"has-errors":n.hasErrors},attrs:{type:"button",disabled:n.disabled,"aria-selected":n.active,role:"tab"},on:{click:function(n){return e.select(r)}}},[n.hasErrors?t("i",{staticClass:"ui-tabs-list-item-error fth-alert-circle"}):e._e(),e._v("\n "+e._s(e._f("localize")(n.label))+"\n "),n.countOutput>0?t("i",{staticClass:"ui-tabs-list-item-count"},[e._v(e._s(n.countOutput))]):e._e()])})),0),e._v(" "),t("div",{staticClass:"ui-tabs-items"},[e._t("default")],2)])};xB._withStripped=!0;const wB=Da({render:xB,staticRenderFns:[]},(function(e){e&&e("data-v-94e01f5a_0",{source:'.ui-header-bar + .ui-tabs > .ui-tabs-list {\n padding-top: 0;\n}\n.ui-tabs-list {\n /*border-bottom: 1px solid var(--color-line);*/\n padding: var(--padding) var(--padding) 0;\n margin-bottom: calc(var(--padding) * -1);\n}\n\n/*.ui-tabs-items > .ui-tab:first-child.ui-box:not(.is-blank)\n{\n border-top-left-radius: 0;\n}*/\n.ui-tabs-list-item {\n display: inline-flex;\n align-items: center;\n height: 50px;\n padding: 0 var(--padding);\n font-size: var(--font-size);\n color: var(--color-text);\n position: relative;\n transition: color 0.2s ease;\n border-radius: var(--radius) var(--radius) 0 0;\n background: var(--color-box-light);\n}\n.ui-tabs-list-item + .ui-tabs-list-item {\n margin-left: 4px;\n}\n.ui-tabs-list-item:hover {\n color: var(--color-text);\n}\n.ui-tabs-list-item[disabled] {\n cursor: default;\n color: var(--color-text-dim);\n}\n.ui-tabs-list-item.is-active {\n font-weight: 700;\n color: var(--color-text);\n background: var(--color-box);\n box-shadow: var(--shadow-short);\n}\n.ui-tabs-list-item.is-active .ui-tabs-list-item-count {\n background: var(--color-box-light);\n}\n.ui-tabs-list-item.is-active:before {\n display: none;\n}\n.ui-tabs-list-item.has-errors {\n color: var(--color-accent-error);\n}\n.ui-tabs-list-item.has-errors.is-active {\n color: var(--color-accent-error);\n}\n.ui-tabs-list-item.has-errors.is-active:before {\n background: var(--color-accent-error);\n}\n.ui-tabs-list-item.is-active:after {\n content: "";\n position: absolute;\n left: 0;\n right: 0;\n bottom: -4px;\n height: 5px;\n background: var(--color-box);\n z-index: 1;\n}\n.ui-tabs-list-item-count {\n font-style: normal;\n font-size: 12px;\n overflow: hidden;\n float: right;\n padding: 2px 6px;\n background: var(--color-box);\n border-radius: 10px;\n margin-left: 8px;\n margin-right: -4px;\n margin-top: -1px;\n font-weight: bold;\n color: var(--color-text);\n}\n.ui-tabs-list-item-error {\n display: inline-block;\n float: left;\n font-size: 16px;\n margin-right: 6px;\n margin-left: -4px;\n position: relative;\n margin-top: -4px;\n top: 1px;\n}\n\n/*# sourceMappingURL=tabs.vue.map */',map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\tabs\\tabs.vue","tabs.vue"],names:[],mappings:"AAgGA;EAEA,cAAA;AChGA;ADmGA;EAEA,8CAAA;EACA,wCAAA;EACA,wCAAA;ACjGA;;ADqGA;;;EAAA;AAKA;EAEA,oBAAA;EACA,mBAAA;EACA,YAAA;EAEA,yBAAA;EACA,2BAAA;EACA,wBAAA;EACA,kBAAA;EACA,2BAAA;EACA,8CAAA;EACA,kCAAA;ACrGA;ADwGA;EAEA,gBAAA;ACvGA;AD0GA;EAEA,wBAAA;ACzGA;AD4GA;EAEA,eAAA;EACA,4BAAA;AC3GA;AD8GA;EAEA,gBAAA;EACA,wBAAA;EACA,4BAAA;EACA,+BAAA;AC7GA;AD+GA;EAEA,kCAAA;AC9GA;ADiHA;EAEA,aAAA;AChHA;ADoHA;EAEA,gCAAA;ACnHA;ADqHA;EAEA,gCAAA;ACpHA;ADsHA;EAEA,qCAAA;ACrHA;AD0HA;EAEA,WAAA;EACA,kBAAA;EACA,OAAA;EACA,QAAA;EACA,YAAA;EACA,WAAA;EACA,4BAAA;EACA,UAAA;ACzHA;AD6HA;EAEA,kBAAA;EACA,eAAA;EACA,gBAAA;EACA,YAAA;EACA,gBAAA;EACA,4BAAA;EACA,mBAAA;EACA,gBAAA;EACA,kBAAA;EACA,gBAAA;EACA,iBAAA;EACA,wBAAA;AC3HA;AD8HA;EAEA,qBAAA;EACA,WAAA;EACA,eAAA;EACA,iBAAA;EACA,iBAAA;EACA,kBAAA;EACA,gBAAA;EACA,QAAA;AC5HA;;AAEA,mCAAmC",file:"tabs.vue",sourcesContent:['\ufeff<template>\r\n <div class="ui-tabs">\r\n <div role="tablist" class="ui-tabs-list">\r\n <button type="button" v-for="(tab, index) in tabs" class="ui-tabs-list-item" :key="index" :class="{ \'is-active\': tab.active, \'has-errors\': tab.hasErrors }" :disabled="tab.disabled" \r\n :aria-selected="tab.active" role="tab" @click="select(index)">\r\n <i v-if="tab.hasErrors" class="ui-tabs-list-item-error fth-alert-circle"></i>\r\n {{ tab.label | localize }}\r\n <i v-if="tab.countOutput > 0" class="ui-tabs-list-item-count">{{tab.countOutput}}</i>\r\n </button>\r\n </div>\r\n <div class="ui-tabs-items">\r\n <slot />\r\n </div>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n export default {\r\n name: \'uiTabs\',\r\n\r\n props: {\r\n cache: {\r\n type: String\r\n },\r\n active: {\r\n type: Number,\r\n default: 0\r\n }\r\n },\r\n\r\n data: () => ({\r\n storageKey: null,\r\n tabs: []\r\n }),\r\n\r\n mounted()\r\n {\r\n this.cacheKey = this.cache ? `zero.ui-tabs.cache.${this.cache}` : null;\r\n this.tabs = this.$children;\r\n\r\n if (this.cache)\r\n {\r\n const cachedActiveTab = localStorage.getItem(this.cacheKey);\r\n if (cachedActiveTab !== null)\r\n {\r\n this.select(+cachedActiveTab);\r\n return;\r\n }\r\n }\r\n\r\n this.select(this.active);\r\n },\r\n\r\n methods: {\r\n\r\n select(index, ev)\r\n {\r\n if (ev)\r\n {\r\n ev.preventDefault();\r\n }\r\n\r\n const currentTab = this.tabs[index];\r\n\r\n if (currentTab.disabled)\r\n {\r\n return;\r\n }\r\n\r\n this.tabs.forEach((tab, tabIndex) =>\r\n {\r\n tab.active = index === tabIndex;\r\n });\r\n\r\n if (this.cache)\r\n {\r\n localStorage.setItem(this.cacheKey, index);\r\n }\r\n\r\n //this.$emit(\'changed\', { tab: selectedTab });\r\n //this.activeTabHash = selectedTab.hash;\r\n //this.activeTabIndex = this.getTabIndex(selectedTabHash);\r\n //this.lastActiveTabHash = this.activeTabHash = selectedTab.hash;\r\n //expiringStorage.set(this.storageKey, selectedTab.hash, this.cacheLifetime);\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .ui-tabs\r\n {\r\n \r\n }\r\n\r\n .ui-header-bar + .ui-tabs > .ui-tabs-list\r\n {\r\n padding-top: 0;\r\n }\r\n\r\n .ui-tabs-list\r\n {\r\n /*border-bottom: 1px solid var(--color-line);*/\r\n padding: var(--padding) var(--padding) 0;\r\n margin-bottom: calc(var(--padding) * -1);\r\n //margin-left: -1px;\r\n }\r\n\r\n /*.ui-tabs-items > .ui-tab:first-child.ui-box:not(.is-blank)\r\n {\r\n border-top-left-radius: 0;\r\n }*/\r\n\r\n .ui-tabs-list-item\r\n {\r\n display: inline-flex;\r\n align-items: center;\r\n height: 50px;\r\n //overflow: hidden;\r\n padding: 0 var(--padding);\r\n font-size: var(--font-size);\r\n color: var(--color-text);\r\n position: relative;\r\n transition: color 0.2s ease;\r\n border-radius: var(--radius) var(--radius) 0 0;\r\n background: var(--color-box-light);\r\n //border: 1px solid transparent;\r\n //border-bottom: none;\r\n & + .ui-tabs-list-item\r\n {\r\n margin-left: 4px;\r\n }\r\n\r\n &:hover\r\n {\r\n color: var(--color-text);\r\n }\r\n\r\n &[disabled]\r\n {\r\n cursor: default;\r\n color: var(--color-text-dim);\r\n }\r\n\r\n &.is-active\r\n {\r\n font-weight: 700;\r\n color: var(--color-text);\r\n background: var(--color-box);\r\n box-shadow: var(--shadow-short);\r\n\r\n .ui-tabs-list-item-count\r\n {\r\n background: var(--color-box-light);\r\n }\r\n\r\n &:before\r\n {\r\n display: none;\r\n }\r\n }\r\n\r\n &.has-errors\r\n {\r\n color: var(--color-accent-error);\r\n\r\n &.is-active\r\n {\r\n color: var(--color-accent-error);\r\n\r\n &:before\r\n {\r\n background: var(--color-accent-error);\r\n }\r\n }\r\n }\r\n\r\n &.is-active:after\r\n {\r\n content: \'\';\r\n position: absolute;\r\n left: 0;\r\n right: 0;\r\n bottom: -4px;\r\n height: 5px;\r\n background: var(--color-box);\r\n z-index: 1;\r\n }\r\n }\r\n\r\n .ui-tabs-list-item-count\r\n {\r\n font-style: normal;\r\n font-size: 12px;\r\n overflow: hidden;\r\n float: right;\r\n padding: 2px 6px;\r\n background: var(--color-box);\r\n border-radius: 10px;\r\n margin-left: 8px;\r\n margin-right: -4px;\r\n margin-top: -1px;\r\n font-weight: bold;\r\n color: var(--color-text);\r\n }\r\n\r\n .ui-tabs-list-item-error\r\n {\r\n display: inline-block;\r\n float: left;\r\n font-size: 16px;\r\n margin-right: 6px;\r\n margin-left: -4px;\r\n position: relative;\r\n margin-top: -4px;\r\n top: 1px;\r\n }\r\n</style>','.ui-header-bar + .ui-tabs > .ui-tabs-list {\n padding-top: 0;\n}\n\n.ui-tabs-list {\n /*border-bottom: 1px solid var(--color-line);*/\n padding: var(--padding) var(--padding) 0;\n margin-bottom: calc(var(--padding) * -1);\n}\n\n/*.ui-tabs-items > .ui-tab:first-child.ui-box:not(.is-blank)\n{\n border-top-left-radius: 0;\n}*/\n.ui-tabs-list-item {\n display: inline-flex;\n align-items: center;\n height: 50px;\n padding: 0 var(--padding);\n font-size: var(--font-size);\n color: var(--color-text);\n position: relative;\n transition: color 0.2s ease;\n border-radius: var(--radius) var(--radius) 0 0;\n background: var(--color-box-light);\n}\n.ui-tabs-list-item + .ui-tabs-list-item {\n margin-left: 4px;\n}\n.ui-tabs-list-item:hover {\n color: var(--color-text);\n}\n.ui-tabs-list-item[disabled] {\n cursor: default;\n color: var(--color-text-dim);\n}\n.ui-tabs-list-item.is-active {\n font-weight: 700;\n color: var(--color-text);\n background: var(--color-box);\n box-shadow: var(--shadow-short);\n}\n.ui-tabs-list-item.is-active .ui-tabs-list-item-count {\n background: var(--color-box-light);\n}\n.ui-tabs-list-item.is-active:before {\n display: none;\n}\n.ui-tabs-list-item.has-errors {\n color: var(--color-accent-error);\n}\n.ui-tabs-list-item.has-errors.is-active {\n color: var(--color-accent-error);\n}\n.ui-tabs-list-item.has-errors.is-active:before {\n background: var(--color-accent-error);\n}\n.ui-tabs-list-item.is-active:after {\n content: "";\n position: absolute;\n left: 0;\n right: 0;\n bottom: -4px;\n height: 5px;\n background: var(--color-box);\n z-index: 1;\n}\n\n.ui-tabs-list-item-count {\n font-style: normal;\n font-size: 12px;\n overflow: hidden;\n float: right;\n padding: 2px 6px;\n background: var(--color-box);\n border-radius: 10px;\n margin-left: 8px;\n margin-right: -4px;\n margin-top: -1px;\n font-weight: bold;\n color: var(--color-text);\n}\n\n.ui-tabs-list-item-error {\n display: inline-block;\n float: left;\n font-size: 16px;\n margin-right: 6px;\n margin-left: -4px;\n position: relative;\n margin-top: -4px;\n top: 1px;\n}\n\n/*# sourceMappingURL=tabs.vue.map */']},media:void 0})}),EB,undefined,false,undefined,!1,Iu,void 0,void 0);const kB={name:"uiTab",props:{label:{type:String,required:!0},count:{type:Number,default:0},disabled:{type:Boolean,default:!1}},data:()=>({id:null,loaded:!1,active:!1,hasErrors:!1,countOutput:0}),watch:{active(e){this.loaded=!0},count(e){this.countOutput=e}},created(){this.id=jl.guid(),this.loaded=this.active,this.countOutput=this.count},methods:{setCount(e){this.countOutput=e},setErrors(e,n){this.hasErrors=!!e},clearErrors(){this.hasErrors=!1}}};var _B=function(){var e=this,n=e.$createElement;return(e._self._c||n)("section",{directives:[{name:"show",rawName:"v-show",value:e.active,expression:"active"}],staticClass:"ui-tab",attrs:{"aria-hidden":!e.active,role:"tabpanel"}},[e._t("default")],2)};_B._withStripped=!0;const SB=Da({render:_B,staticRenderFns:[]},undefined,kB,undefined,false,undefined,!1,void 0,void 0,void 0);const DB={name:"uiTabs",props:{cache:{type:String},active:{type:Number,default:0},forceCount:{type:Boolean,default:!1}},data:()=>({storageKey:null,tabs:[]}),created(){this.cacheKey=this.cache?"zero.ui-inline-tabs.cache."+this.cache:null,this.tabs=this.$children},mounted(){if(this.cache){const e=localStorage.getItem(this.cacheKey);if(null!==e)return void this.select(+e)}this.select(this.active)},methods:{select(e,n){n&&n.preventDefault();this.tabs[e].disabled||(this.tabs.forEach(((n,t)=>{n.active=e===t})),this.cache&&localStorage.setItem(this.cacheKey,e))}}};var BB=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-inline-tabs"},[t("nav",{staticClass:"ui-inline-tabs-list",attrs:{role:"tablist"}},e._l(e.tabs,(function(n,r){return t("button",{key:r,staticClass:"ui-inline-tabs-list-item",class:{"is-active":n.active,"has-errors":n.error},attrs:{type:"button",disabled:n.disabled,"aria-selected":n.active,role:"tab"},on:{click:function(n){return e.select(r)}}},[n.error?t("i",{staticClass:"ui-inline-tabs-list-item-error fth-alert-circle"}):e._e(),e._v(" "),t("span",{directives:[{name:"localize",rawName:"v-localize",value:n.label,expression:"tab.label"}]}),e._v(" "),e.forceCount||n.count>0?t("i",{staticClass:"ui-inline-tabs-list-item-count"},[e._v(e._s(n.count))]):e._e()])})),0),e._v(" "),t("div",{staticClass:"ui-inline-tabs-items"},[e._t("default")],2)])};BB._withStripped=!0;const zB=Da({render:BB,staticRenderFns:[]},(function(e){e&&e("data-v-badeba60_0",{source:".ui-inline-tabs-list {\n display: flex;\n flex-wrap: wrap;\n gap: 16px;\n margin-bottom: var(--padding);\n margin-left: -2px;\n}\n.ui-inline-tabs-list-item {\n display: inline-flex;\n align-items: center;\n padding: 6px 12px;\n background: transparent;\n border-radius: 30px;\n font-size: var(--font-size);\n}\n.ui-inline-tabs-list-item .ui-inline-tabs-list-item-count {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n width: 20px;\n height: 20px;\n border-radius: 10px;\n background: var(--color-button-light);\n margin-left: 12px;\n margin-right: -6px;\n font-size: 11px;\n line-height: 1;\n color: var(--color-text-dim);\n font-style: normal;\n}\n.ui-inline-tabs-list-item.is-active {\n background: var(--color-button-light);\n font-weight: 600;\n}\n.ui-inline-tabs-list-item.is-active .ui-inline-tabs-list-item-count {\n background: var(--color-box);\n color: var(--color-text);\n}\n.ui-inline-tabs-list-item-error {\n display: inline-block;\n float: left;\n font-size: 16px;\n margin-right: 6px;\n margin-left: -4px;\n position: relative;\n margin-top: -4px;\n top: 1px;\n}\n\n/*# sourceMappingURL=inline-tabs.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\tabs\\inline-tabs.vue","inline-tabs.vue"],names:[],mappings:"AAkGA;EAEA,aAAA;EACA,eAAA;EACA,SAAA;EACA,6BAAA;EACA,iBAAA;AClGA;ADqGA;EAEA,oBAAA;EACA,mBAAA;EACA,iBAAA;EACA,uBAAA;EACA,mBAAA;EACA,2BAAA;ACnGA;ADqGA;EAEA,oBAAA;EACA,uBAAA;EACA,mBAAA;EACA,WAAA;EACA,YAAA;EACA,mBAAA;EACA,qCAAA;EACA,iBAAA;EACA,kBAAA;EACA,eAAA;EACA,cAAA;EACA,4BAAA;EACA,kBAAA;ACpGA;ADuGA;EAEA,qCAAA;EACA,gBAAA;ACtGA;ADwGA;EAEA,4BAAA;EACA,wBAAA;ACvGA;AD4GA;EAEA,qBAAA;EACA,WAAA;EACA,eAAA;EACA,iBAAA;EACA,iBAAA;EACA,kBAAA;EACA,gBAAA;EACA,QAAA;AC1GA;;AAEA,0CAA0C",file:"inline-tabs.vue",sourcesContent:['\ufeff<template>\r\n <div class="ui-inline-tabs">\r\n <nav role="tablist" class="ui-inline-tabs-list">\r\n <button type="button" v-for="(tab, index) in tabs" class="ui-inline-tabs-list-item" :key="index" :class="{ \'is-active\': tab.active, \'has-errors\': tab.error }" :disabled="tab.disabled" \r\n :aria-selected="tab.active" role="tab" @click="select(index)">\r\n <i v-if="tab.error" class="ui-inline-tabs-list-item-error fth-alert-circle"></i>\r\n <span v-localize="tab.label"></span>\r\n <i v-if="forceCount || tab.count > 0" class="ui-inline-tabs-list-item-count">{{tab.count}}</i>\r\n </button>\r\n </nav>\r\n <div class="ui-inline-tabs-items">\r\n <slot />\r\n </div>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n export default {\r\n name: \'uiTabs\',\r\n\r\n props: {\r\n cache: {\r\n type: String\r\n },\r\n active: {\r\n type: Number,\r\n default: 0\r\n },\r\n forceCount: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n\r\n data: () => ({\r\n storageKey: null,\r\n tabs: []\r\n }),\r\n\r\n created()\r\n {\r\n this.cacheKey = this.cache ? `zero.ui-inline-tabs.cache.${this.cache}` : null;\r\n this.tabs = this.$children;\r\n },\r\n\r\n mounted()\r\n {\r\n if (this.cache)\r\n {\r\n const cachedActiveTab = localStorage.getItem(this.cacheKey);\r\n if (cachedActiveTab !== null)\r\n {\r\n this.select(+cachedActiveTab);\r\n return;\r\n }\r\n }\r\n\r\n this.select(this.active);\r\n },\r\n\r\n methods: {\r\n\r\n select(index, ev)\r\n {\r\n if (ev)\r\n {\r\n ev.preventDefault();\r\n }\r\n\r\n const currentTab = this.tabs[index];\r\n\r\n if (currentTab.disabled)\r\n {\r\n return;\r\n }\r\n\r\n this.tabs.forEach((tab, tabIndex) =>\r\n {\r\n tab.active = index === tabIndex;\r\n });\r\n\r\n if (this.cache)\r\n {\r\n localStorage.setItem(this.cacheKey, index);\r\n }\r\n\r\n //this.$emit(\'changed\', { tab: selectedTab });\r\n //this.activeTabHash = selectedTab.hash;\r\n //this.activeTabIndex = this.getTabIndex(selectedTabHash);\r\n //this.lastActiveTabHash = this.activeTabHash = selectedTab.hash;\r\n //expiringStorage.set(this.storageKey, selectedTab.hash, this.cacheLifetime);\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .ui-inline-tabs-list\r\n {\r\n display: flex;\r\n flex-wrap: wrap;\r\n gap: 16px;\r\n margin-bottom: var(--padding);\r\n margin-left: -2px;\r\n }\r\n\r\n .ui-inline-tabs-list-item\r\n {\r\n display: inline-flex;\r\n align-items: center;\r\n padding: 6px 12px;\r\n background: transparent;\r\n border-radius: 30px;\r\n font-size: var(--font-size);\r\n\r\n .ui-inline-tabs-list-item-count\r\n {\r\n display: inline-flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 20px;\r\n height: 20px;\r\n border-radius: 10px;\r\n background: var(--color-button-light);\r\n margin-left: 12px;\r\n margin-right: -6px;\r\n font-size: 11px;\r\n line-height: 1;\r\n color: var(--color-text-dim);\r\n font-style: normal;\r\n }\r\n\r\n &.is-active\r\n {\r\n background: var(--color-button-light);\r\n font-weight: 600;\r\n\r\n .ui-inline-tabs-list-item-count\r\n {\r\n background: var(--color-box);\r\n color: var(--color-text);\r\n }\r\n }\r\n }\r\n\r\n .ui-inline-tabs-list-item-error\r\n {\r\n display: inline-block;\r\n float: left;\r\n font-size: 16px;\r\n margin-right: 6px;\r\n margin-left: -4px;\r\n position: relative;\r\n margin-top: -4px;\r\n top: 1px;\r\n }\r\n</style>',".ui-inline-tabs-list {\n display: flex;\n flex-wrap: wrap;\n gap: 16px;\n margin-bottom: var(--padding);\n margin-left: -2px;\n}\n\n.ui-inline-tabs-list-item {\n display: inline-flex;\n align-items: center;\n padding: 6px 12px;\n background: transparent;\n border-radius: 30px;\n font-size: var(--font-size);\n}\n.ui-inline-tabs-list-item .ui-inline-tabs-list-item-count {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n width: 20px;\n height: 20px;\n border-radius: 10px;\n background: var(--color-button-light);\n margin-left: 12px;\n margin-right: -6px;\n font-size: 11px;\n line-height: 1;\n color: var(--color-text-dim);\n font-style: normal;\n}\n.ui-inline-tabs-list-item.is-active {\n background: var(--color-button-light);\n font-weight: 600;\n}\n.ui-inline-tabs-list-item.is-active .ui-inline-tabs-list-item-count {\n background: var(--color-box);\n color: var(--color-text);\n}\n\n.ui-inline-tabs-list-item-error {\n display: inline-block;\n float: left;\n font-size: 16px;\n margin-right: 6px;\n margin-left: -4px;\n position: relative;\n margin-top: -4px;\n top: 1px;\n}\n\n/*# sourceMappingURL=inline-tabs.vue.map */"]},media:void 0})}),DB,undefined,false,undefined,!1,Iu,void 0,void 0);const OB={name:"uiTree",props:{depth:{type:Number,default:0},active:{type:String,default:null},parent:{type:String,default:null},header:{type:String,default:null},get:{type:Function,required:!0},hasActions:{type:Function,default:null}},data:()=>({items:[],status:"none",actionProps:{item:null}}),computed:{actionsDefined(){return this.$scopedSlots.hasOwnProperty("actions")}},mounted(){this.refresh()},methods:{refresh(){this.load(this.parent)},load(e){this.setStatus("loading",this.items),this.get(e,this.active).then((e=>{this.items=e,this.setStatus("loaded",this.items)})).catch((e=>{this.setStatus("error",this.items,e)}))},setStatus(e){this.status=e,this.$emit("onStatusChange",e)},toggle(e){e.isOpen=!e.isOpen},onSelect(e,n){this.$emit("select",e,n)},onRightClicked(e,n){!this.actionsDefined||e&&!e.hasActions||(n.preventDefault(),this.onActionsClicked(e,n))},onActionsClicked(e,n){let t=this.$refs.dropdown;!this.actionsDefined||e&&!e.hasActions||"function"==typeof this.hasActions&&!this.hasActions(e)||(this.actionProps.item=e,this.actionProps.event=n,t.toggle(),t.open&&this.$nextTick((()=>{let e=n.target;do{if(e.classList.contains("ui-tree-item")||e.classList.contains("ui-tree-header"))break}while(e=e.parentElement);e=e.querySelector(".ui-dot-button");var r=e.getBoundingClientRect(),i=r.left-240+r.width,o=r.top+r.height;let a=t.$el.querySelector(".ui-dropdown");a.style.top=o+"px",a.style.left=i+"px",a.style.width="240px"})))}}};var MB=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-tree",style:{"padding-left":e.depth>0?15*(e.depth>0?1:0)+"px":null}},[e.header?t("ui-header-bar",{staticClass:"ui-tree-header",attrs:{title:e.header,"back-button":!1}},[t("ui-dot-button",{on:{click:function(n){return e.onActionsClicked(null,n)}}})],1):e._e(),e._v(" "),e._t("default"),e._v(" "),"loading"===e.status?t("span",{staticClass:"ui-tree-item-loading"},[t("i")]):e._e(),e._v(" "),e._l(e.items,(function(n){return[t("ui-tree-item",{attrs:{value:n,"active-id":e.active},on:{rightclick:e.onRightClicked,click:function(t){return e.onSelect(n,t)},actions:e.onActionsClicked,open:e.toggle}}),e._v(" "),n.hasChildren&&n.isOpen&&"loading"!=e.status?t("ui-tree",{attrs:{get:e.get,parent:n.id,depth:e.depth+1,active:e.active},on:{select:e.onSelect},scopedSlots:e._u([{key:"actions",fn:function(n){return[e._t("actions",null,null,n)]}}],null,!0)}):e._e()]})),e._v(" "),e._t("bottom"),e._v(" "),t("ui-dropdown",{ref:"dropdown",staticClass:"ui-tree-dropdown",attrs:{align:"top",theme:"dark"}},[e._t("actions",null,null,e.actionProps)],2)],2)};MB._withStripped=!0;const TB=Da({render:MB,staticRenderFns:[]},(function(e){e&&e("data-v-0c60cbee_0",{source:".ui-tree {\n position: relative;\n}\n.ui-tree-header + .ui-tree-item {\n margin-top: -18px;\n}\n.ui-tree-dropdown .ui-dropdown {\n position: fixed;\n min-width: 200px;\n}\n\n/*# sourceMappingURL=tree.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\tree\\tree.vue","tree.vue"],names:[],mappings:"AAmMA;EAEA,kBAAA;ACnMA;ADsMA;EAEA,iBAAA;ACpMA;ADuMA;EAEA,eAAA;EACA,gBAAA;ACrMA;;AAEA,mCAAmC",file:"tree.vue",sourcesContent:['\ufeff<template>\r\n <div class="ui-tree" :style="{ \'padding-left\': depth > 0 ? (((depth > 0 ? 1 : 0) * 15) + \'px\') : null }">\r\n <ui-header-bar class="ui-tree-header" :title="header" :back-button="false" v-if="header">\r\n <ui-dot-button @click="onActionsClicked(null, $event)" />\r\n </ui-header-bar>\r\n <slot></slot>\r\n <span v-if="status === \'loading\'" class="ui-tree-item-loading"><i></i></span>\r\n <template v-for="item in items">\r\n <ui-tree-item :value="item" @rightclick="onRightClicked" @click="onSelect(item, $event)" @actions="onActionsClicked" @open="toggle" :active-id="active" />\r\n <ui-tree v-if="item.hasChildren && item.isOpen && status != \'loading\'" :get="get" :parent="item.id" :depth="depth + 1" :active="active" @select="onSelect">\r\n <template v-slot:actions="props">\r\n <slot name="actions" v-bind="props"></slot>\r\n </template>\r\n </ui-tree>\r\n </template>\r\n <slot name="bottom"></slot>\r\n <ui-dropdown ref="dropdown" align="top" theme="dark" class="ui-tree-dropdown">\r\n <slot name="actions" v-bind="actionProps"></slot>\r\n </ui-dropdown>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import { each as _each, extend as _extend, debounce as _debounce, isArray as _isArray } from \'underscore\';\r\n\r\n export default {\r\n name: \'uiTree\',\r\n\r\n props: {\r\n depth: {\r\n type: Number,\r\n default: 0\r\n },\r\n active: {\r\n type: String,\r\n default: null\r\n },\r\n parent: {\r\n type: String,\r\n default: null\r\n },\r\n header: {\r\n type: String,\r\n default: null\r\n },\r\n get: {\r\n type: Function,\r\n required: true\r\n },\r\n hasActions: {\r\n type: Function,\r\n default: null\r\n }\r\n },\r\n\r\n data: () => ({\r\n items: [],\r\n status: \'none\',\r\n actionProps: {\r\n item: null\r\n }\r\n }),\r\n\r\n computed: {\r\n actionsDefined()\r\n {\r\n return this.$scopedSlots.hasOwnProperty(\'actions\');\r\n }\r\n },\r\n\r\n mounted()\r\n {\r\n this.refresh();\r\n },\r\n\r\n methods: {\r\n\r\n\r\n // refreshes the whole tree\r\n refresh()\r\n {\r\n this.load(this.parent);\r\n },\r\n\r\n\r\n // loads children of the given parent id or on root if empty\r\n load(parent)\r\n {\r\n this.setStatus(\'loading\', this.items);\r\n\r\n let promise = this.get(parent, this.active);\r\n\r\n promise.then(response =>\r\n {\r\n this.items = response;\r\n this.setStatus(\'loaded\', this.items);\r\n })\r\n .catch(error =>\r\n {\r\n this.setStatus(\'error\', this.items, error);\r\n // TODO handle errors\r\n });\r\n },\r\n\r\n\r\n // updates the status for the current tree\r\n setStatus(status)\r\n {\r\n this.status = status;\r\n this.$emit(\'onStatusChange\', status);\r\n },\r\n\r\n\r\n // toggles children of an item\r\n toggle(item)\r\n {\r\n item.isOpen = !item.isOpen;\r\n },\r\n\r\n\r\n // selected an item\r\n onSelect(item, ev)\r\n {\r\n this.$emit(\'select\', item, ev);\r\n },\r\n\r\n\r\n // right clicked on an item\r\n onRightClicked(item, ev)\r\n {\r\n if (this.actionsDefined && (!item || item.hasActions))\r\n {\r\n ev.preventDefault();\r\n this.onActionsClicked(item, ev);\r\n }\r\n },\r\n\r\n\r\n // actions button clicked on item\r\n onActionsClicked(item, ev)\r\n {\r\n let dropdown = this.$refs.dropdown;\r\n\r\n if (!this.actionsDefined || (item && !item.hasActions) || (typeof this.hasActions === \'function\' && !this.hasActions(item)))\r\n {\r\n return;\r\n }\r\n\r\n this.actionProps.item = item;\r\n this.actionProps.event = ev;\r\n\r\n dropdown.toggle();\r\n\r\n if (!dropdown.open)\r\n {\r\n return;\r\n }\r\n\r\n this.$nextTick(() =>\r\n {\r\n let target = ev.target;\r\n do\r\n {\r\n if (target.classList.contains(\'ui-tree-item\') || target.classList.contains(\'ui-tree-header\'))\r\n {\r\n break;\r\n }\r\n }\r\n while (target = target.parentElement);\r\n\r\n target = target.querySelector(\'.ui-dot-button\');\r\n\r\n var rect = target.getBoundingClientRect();\r\n var width = 240;\r\n\r\n var position = {\r\n x: rect.left - width + rect.width,\r\n y: rect.top + rect.height\r\n };\r\n\r\n let element = dropdown.$el.querySelector(\'.ui-dropdown\');\r\n\r\n element.style.top = position.y + \'px\';\r\n element.style.left = position.x + \'px\';\r\n element.style.width = width + \'px\';\r\n });\r\n }\r\n\r\n }\r\n }\r\n<\/script>\r\n\r\n\r\n<style lang="scss">\r\n .ui-tree\r\n {\r\n position: relative;\r\n }\r\n\r\n .ui-tree-header + .ui-tree-item\r\n {\r\n margin-top: -18px;\r\n }\r\n\r\n .ui-tree-dropdown .ui-dropdown\r\n {\r\n position: fixed;\r\n min-width: 200px;\r\n }\r\n</style>',".ui-tree {\n position: relative;\n}\n\n.ui-tree-header + .ui-tree-item {\n margin-top: -18px;\n}\n\n.ui-tree-dropdown .ui-dropdown {\n position: fixed;\n min-width: 200px;\n}\n\n/*# sourceMappingURL=tree.vue.map */"]},media:void 0})}),OB,undefined,false,undefined,!1,Iu,void 0,void 0);const IB={name:"uiTreeItem",props:{value:{type:Object,required:!0},activeId:{type:String,default:null}},computed:{isLink(){return this.value&&this.value.url},tag(){return this.isLink?"router-link":"button"}},methods:{onClick(e,n){this.isLink||this.$emit("click",e,n)},getClasses(e){return{"has-children":e.hasChildren,"is-inactive":e.isInactive,"is-open":e.isOpen,"is-selected":e.isSelected,"is-disabled":e.disabled,"is-active":this.isLink&&(!!e.id&&e.id===this.activeId||e.id==this.$route.params.id||e.url&&!e.url.params&&e.url.name===this.$route.name)}},toggle(e){this.$emit("open",e)},onRightClicked(e,n){e.disabled||this.$emit("rightclick",e,n)},onActionsClicked(e,n){e.disabled||this.$emit("actions",e,n)}}};var $B=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-tree-item",class:e.getClasses(e.value),on:{contextmenu:function(n){return e.onRightClicked(e.value,n)}}},[e.value.hasChildren?t("button",{staticClass:"ui-tree-item-toggle",attrs:{disabled:e.value.disabled,type:"button"},on:{click:function(n){return e.toggle(e.value)}}},[t("i",{staticClass:"ui-tree-item-arrow",class:["fth-chevron-"+(e.value.isOpen?"up":"down")]})]):e._e(),e._v(" "),t(e.tag,{tag:"component",staticClass:"ui-tree-item-link",attrs:{disabled:e.value.disabled,type:"button",to:e.value.url},on:{click:function(n){return e.onClick(e.value,n)}}},[t("i",{staticClass:"ui-tree-item-icon",class:e.value.icon}),e._v(" "),e.value.modifier?t("i",{staticClass:"ui-tree-item-modifier",class:e.value.modifier.icon,attrs:{title:e.value.modifier.name}}):e._e(),e._v(" "),t("span",{staticClass:"ui-tree-item-text"},[e._v(e._s(e._f("localize")(e.value.name)))])]),e._v(" "),e.value.hasActions?t("ui-dot-button",{staticClass:"ui-tree-item-actions",attrs:{disabled:e.value.disabled},on:{click:function(n){return e.onActionsClicked(e.value,n)}}}):e._e()],1)};$B._withStripped=!0;const NB=Da({render:$B,staticRenderFns:[]},(function(e){e&&e("data-v-5e77fd2a_0",{source:'.ui-tree-item {\n display: grid;\n grid-template-columns: 1fr auto;\n align-items: center;\n font-size: var(--font-size);\n padding: 0 var(--padding);\n height: 50px;\n color: var(--color-text);\n position: relative;\n transition: color 0.2s ease;\n position: relative;\n /*&.is-inactive .ui-tree-item-text,\n &.is-inactive .ui-tree-item-icon\n {\n color: var(--color-text-dim);\n }*/\n}\n.ui-tree-item .ui-tree-item-arrow {\n transition: transform 0.2s ease;\n}\n.ui-tree-item:hover > .ui-tree-item-actions {\n transition-delay: 0.2s;\n opacity: 1;\n}\n.ui-tree-item.is-open > .ui-tree-item-toggle .ui-tree-item-arrow {\n transform: rotate(180deg);\n}\n.ui-tree-item.is-disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n.ui-tree-item.is-active:before {\n content: " ";\n position: absolute;\n top: 0;\n bottom: 0;\n left: -100px;\n right: 0;\n background: var(--color-tree-selected);\n}\n.ui-tree-item-link {\n display: grid;\n grid-template-columns: 30px 1fr auto;\n gap: 6px;\n height: 100%;\n align-items: center;\n position: relative;\n color: var(--color-text);\n}\n.ui-tree-item-link:hover {\n color: var(--color-text);\n}\n.ui-tree-item-link.is-active {\n color: var(--color-text);\n font-weight: bold;\n}\n.ui-tree-item-text {\n display: block;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.ui-tree-item-toggle {\n position: absolute;\n color: var(--color-text-dim);\n height: 100%;\n top: 0;\n left: 0;\n width: 30px;\n text-align: right;\n padding-right: 5px;\n transition: color 0.2s ease;\n}\n.ui-tree-item-toggle:hover {\n color: var(--color-text);\n}\n.ui-tree-item-icon {\n font-size: 18px;\n line-height: 1;\n font-weight: 400;\n position: relative;\n top: -2px;\n color: var(--color-text);\n transition: color 0.2s ease;\n}\n.ui-tree-item-loading {\n display: block;\n overflow: hidden;\n position: absolute;\n left: 0;\n right: 0;\n height: 2px;\n}\n.ui-tree-item-loading i {\n background-color: var(--color-bg-shade-4);\n transform: translateX(-100%) scaleX(1);\n animation: treeitemloading 1s linear infinite;\n width: 100%;\n height: 100%;\n position: absolute;\n left: 0;\n top: 0;\n}\n@keyframes treeitemloading {\n0% {\n transform: translateX(-100%);\n}\n100% {\n transform: translateX(100%);\n}\n}\n.ui-tree-item-modifier {\n position: absolute;\n left: 10px;\n bottom: 12px;\n background: var(--color-tree);\n border-radius: 50%;\n width: 14px;\n height: 14px;\n /*color: var(--color-text-dim);*/\n font-size: 11px;\n font-style: normal;\n text-align: center;\n line-height: 14px;\n}\n.ui-tree-item.is-active .ui-tree-item-modifier {\n background: var(--color-tree-selected);\n}\n.ui-tree-item-actions {\n transition: opacity 0.2s ease 0;\n opacity: 0;\n color: var(--color-text-dim);\n}\n.ui-tree-item-actions:focus {\n opacity: 1;\n}\n\n/*# sourceMappingURL=tree-item.vue.map */',map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\tree\\tree-item.vue","tree-item.vue"],names:[],mappings:"AAmGA;EAEA,aAAA;EACA,+BAAA;EACA,mBAAA;EACA,2BAAA;EACA,yBAAA;EACA,YAAA;EACA,wBAAA;EACA,kBAAA;EACA,2BAAA;EACA,kBAAA;EAEA;;;;IAAA;AChGA;ADsGA;EAEA,+BAAA;ACrGA;ADwGA;EAEA,sBAAA;EACA,UAAA;ACvGA;AD2GA;EAEA,yBAAA;AC1GA;AD6GA;EAEA,mBAAA;EACA,YAAA;AC5GA;AD+GA;EAEA,YAAA;EACA,kBAAA;EACA,MAAA;EACA,SAAA;EACA,YAAA;EACA,QAAA;EACA,sCAAA;AC9GA;ADkHA;EAEA,aAAA;EACA,oCAAA;EACA,QAAA;EACA,YAAA;EACA,mBAAA;EACA,kBAAA;EACA,wBAAA;AChHA;ADkHA;EAEA,wBAAA;ACjHA;ADoHA;EAEA,wBAAA;EACA,iBAAA;ACnHA;ADwHA;EAEA,cAAA;EACA,gBAAA;EACA,mBAAA;EACA,uBAAA;ACtHA;ADyHA;EAEA,kBAAA;EACA,4BAAA;EACA,YAAA;EACA,MAAA;EACA,OAAA;EACA,WAAA;EACA,iBAAA;EACA,kBAAA;EACA,2BAAA;ACvHA;ADyHA;EAEA,wBAAA;ACxHA;AD4HA;EAEA,eAAA;EACA,cAAA;EACA,gBAAA;EACA,kBAAA;EACA,SAAA;EACA,wBAAA;EACA,2BAAA;AC1HA;AD6HA;EAEA,cAAA;EACA,gBAAA;EACA,kBAAA;EACA,OAAA;EACA,QAAA;EACA,WAAA;AC3HA;AD6HA;EAEA,yCAAA;EACA,sCAAA;EACA,6CAAA;EACA,WAAA;EACA,YAAA;EACA,kBAAA;EACA,OAAA;EACA,MAAA;AC5HA;ADgIA;AAEA;IAAA,4BAAA;AC7HE;AD8HF;IAAA,2BAAA;AC3HE;AACF;AD6HA;EAEA,kBAAA;EACA,UAAA;EACA,YAAA;EACA,6BAAA;EACA,kBAAA;EACA,WAAA;EACA,YAAA;EACA,gCAAA;EACA,eAAA;EACA,kBAAA;EACA,kBAAA;EACA,iBAAA;AC5HA;AD8HA;EAEA,sCAAA;AC7HA;ADiIA;EAEA,+BAAA;EACA,UAAA;EACA,4BAAA;AC/HA;ADiIA;EAEA,UAAA;AChIA;;AAEA,wCAAwC",file:"tree-item.vue",sourcesContent:['\ufeff<template>\r\n <div class="ui-tree-item" :class="getClasses(value)" v-on:contextmenu="onRightClicked(value, $event)">\r\n <button :disabled="value.disabled" v-if="value.hasChildren" @click="toggle(value)" type="button" class="ui-tree-item-toggle">\r\n <i class="ui-tree-item-arrow" :class="[\'fth-chevron-\' + (value.isOpen ? \'up\' : \'down\')]"></i>\r\n </button>\r\n <component :disabled="value.disabled" :is="tag" type="button" :to="value.url" class="ui-tree-item-link" @click="onClick(value, $event)">\r\n <i class="ui-tree-item-icon" :class="value.icon"></i>\r\n <i v-if="value.modifier" :title="value.modifier.name" class="ui-tree-item-modifier" :class="value.modifier.icon"></i>\r\n <span class="ui-tree-item-text">{{value.name | localize}}</span>\r\n </component>\r\n <ui-dot-button :disabled="value.disabled" class="ui-tree-item-actions" v-if="value.hasActions" @click="onActionsClicked(value, $event)" />\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import { each as _each, extend as _extend, debounce as _debounce, isArray as _isArray } from \'underscore\';\r\n\r\n export default {\r\n name: \'uiTreeItem\',\r\n\r\n props: {\r\n value: {\r\n type: Object,\r\n required: true\r\n },\r\n activeId: {\r\n type: String,\r\n default: null\r\n }\r\n },\r\n\r\n computed: {\r\n isLink()\r\n {\r\n return this.value && this.value.url;\r\n },\r\n tag()\r\n {\r\n return this.isLink ? \'router-link\' : \'button\';\r\n }\r\n },\r\n\r\n methods: {\r\n onClick(item, ev)\r\n {\r\n if (this.isLink)\r\n {\r\n return;\r\n }\r\n else\r\n {\r\n this.$emit(\'click\', item, ev);\r\n }\r\n },\r\n\r\n // get all classes for a tree item\r\n getClasses(item)\r\n {\r\n return {\r\n \'has-children\': item.hasChildren,\r\n \'is-inactive\': item.isInactive,\r\n \'is-open\': item.isOpen,\r\n \'is-selected\': item.isSelected,\r\n \'is-disabled\': item.disabled,\r\n \'is-active\': this.isLink && ((!!item.id && item.id === this.activeId) || item.id == this.$route.params.id || (item.url && !item.url.params && item.url.name === this.$route.name))\r\n };\r\n },\r\n\r\n // toggles children of an item\r\n toggle(item)\r\n {\r\n this.$emit(\'open\', item);\r\n },\r\n\r\n // right clicked on an item\r\n onRightClicked(item, ev)\r\n {\r\n if (!item.disabled)\r\n {\r\n this.$emit(\'rightclick\', item, ev);\r\n }\r\n },\r\n\r\n // actions button clicked on item\r\n onActionsClicked(item, ev)\r\n {\r\n if (!item.disabled)\r\n {\r\n this.$emit(\'actions\', item, ev);\r\n }\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n\r\n<style lang="scss">\r\n\r\n .ui-tree-item\r\n {\r\n display: grid;\r\n grid-template-columns: 1fr auto;\r\n align-items: center;\r\n font-size: var(--font-size);\r\n padding: 0 var(--padding);\r\n height: 50px;\r\n color: var(--color-text);\r\n position: relative;\r\n transition: color 0.2s ease;\r\n position: relative;\r\n\r\n /*&.is-inactive .ui-tree-item-text,\r\n &.is-inactive .ui-tree-item-icon\r\n {\r\n color: var(--color-text-dim);\r\n }*/\r\n\r\n .ui-tree-item-arrow\r\n {\r\n transition: transform 0.2s ease;\r\n }\r\n\r\n &:hover > .ui-tree-item-actions\r\n {\r\n transition-delay: 0.2s;\r\n opacity: 1;\r\n }\r\n \r\n\r\n &.is-open > .ui-tree-item-toggle .ui-tree-item-arrow\r\n {\r\n transform: rotate(180deg);\r\n }\r\n\r\n &.is-disabled\r\n {\r\n cursor: not-allowed;\r\n opacity: .5;\r\n }\r\n\r\n &.is-active:before\r\n {\r\n content: \' \';\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n left: -100px;\r\n right: 0;\r\n background: var(--color-tree-selected);\r\n }\r\n }\r\n\r\n .ui-tree-item-link\r\n {\r\n display: grid;\r\n grid-template-columns: 30px 1fr auto;\r\n gap: 6px;\r\n height: 100%;\r\n align-items: center;\r\n position: relative; \r\n color: var(--color-text);\r\n\r\n &:hover\r\n {\r\n color: var(--color-text);\r\n }\r\n\r\n &.is-active\r\n {\r\n color: var(--color-text);\r\n font-weight: bold;\r\n //color: var(--color-primary);\r\n }\r\n }\r\n\r\n .ui-tree-item-text\r\n {\r\n display: block;\r\n overflow: hidden;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n }\r\n\r\n .ui-tree-item-toggle\r\n {\r\n position: absolute;\r\n color: var(--color-text-dim);\r\n height: 100%;\r\n top: 0;\r\n left: 0;\r\n width: 30px;\r\n text-align: right;\r\n padding-right: 5px;\r\n transition: color 0.2s ease;\r\n\r\n &:hover\r\n {\r\n color: var(--color-text);\r\n }\r\n }\r\n\r\n .ui-tree-item-icon\r\n {\r\n font-size: 18px;\r\n line-height: 1;\r\n font-weight: 400;\r\n position: relative;\r\n top: -2px;\r\n color: var(--color-text);\r\n transition: color 0.2s ease;\r\n }\r\n\r\n .ui-tree-item-loading\r\n {\r\n display: block;\r\n overflow: hidden;\r\n position: absolute;\r\n left: 0;\r\n right: 0;\r\n height: 2px;\r\n\r\n i\r\n {\r\n background-color: var(--color-bg-shade-4);\r\n transform: translateX(-100%) scaleX(1);\r\n animation: treeitemloading 1s linear infinite;\r\n width: 100%;\r\n height: 100%;\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n }\r\n }\r\n\r\n @keyframes treeitemloading\r\n {\r\n 0% { transform: translateX(-100%); }\r\n 100% { transform: translateX(100%); }\r\n }\r\n\r\n .ui-tree-item-modifier\r\n {\r\n position: absolute;\r\n left: 10px;\r\n bottom: 12px;\r\n background: var(--color-tree);\r\n border-radius: 50%;\r\n width: 14px;\r\n height: 14px;\r\n /*color: var(--color-text-dim);*/\r\n font-size: 11px;\r\n font-style: normal;\r\n text-align: center;\r\n line-height: 14px;\r\n\r\n .ui-tree-item.is-active &\r\n {\r\n background: var(--color-tree-selected);\r\n }\r\n }\r\n\r\n .ui-tree-item-actions\r\n {\r\n transition: opacity 0.2s ease 0;\r\n opacity: 0;\r\n color: var(--color-text-dim);\r\n\r\n &:focus\r\n {\r\n opacity: 1;\r\n }\r\n }\r\n</style>','.ui-tree-item {\n display: grid;\n grid-template-columns: 1fr auto;\n align-items: center;\n font-size: var(--font-size);\n padding: 0 var(--padding);\n height: 50px;\n color: var(--color-text);\n position: relative;\n transition: color 0.2s ease;\n position: relative;\n /*&.is-inactive .ui-tree-item-text,\n &.is-inactive .ui-tree-item-icon\n {\n color: var(--color-text-dim);\n }*/\n}\n.ui-tree-item .ui-tree-item-arrow {\n transition: transform 0.2s ease;\n}\n.ui-tree-item:hover > .ui-tree-item-actions {\n transition-delay: 0.2s;\n opacity: 1;\n}\n.ui-tree-item.is-open > .ui-tree-item-toggle .ui-tree-item-arrow {\n transform: rotate(180deg);\n}\n.ui-tree-item.is-disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n.ui-tree-item.is-active:before {\n content: " ";\n position: absolute;\n top: 0;\n bottom: 0;\n left: -100px;\n right: 0;\n background: var(--color-tree-selected);\n}\n\n.ui-tree-item-link {\n display: grid;\n grid-template-columns: 30px 1fr auto;\n gap: 6px;\n height: 100%;\n align-items: center;\n position: relative;\n color: var(--color-text);\n}\n.ui-tree-item-link:hover {\n color: var(--color-text);\n}\n.ui-tree-item-link.is-active {\n color: var(--color-text);\n font-weight: bold;\n}\n\n.ui-tree-item-text {\n display: block;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.ui-tree-item-toggle {\n position: absolute;\n color: var(--color-text-dim);\n height: 100%;\n top: 0;\n left: 0;\n width: 30px;\n text-align: right;\n padding-right: 5px;\n transition: color 0.2s ease;\n}\n.ui-tree-item-toggle:hover {\n color: var(--color-text);\n}\n\n.ui-tree-item-icon {\n font-size: 18px;\n line-height: 1;\n font-weight: 400;\n position: relative;\n top: -2px;\n color: var(--color-text);\n transition: color 0.2s ease;\n}\n\n.ui-tree-item-loading {\n display: block;\n overflow: hidden;\n position: absolute;\n left: 0;\n right: 0;\n height: 2px;\n}\n.ui-tree-item-loading i {\n background-color: var(--color-bg-shade-4);\n transform: translateX(-100%) scaleX(1);\n animation: treeitemloading 1s linear infinite;\n width: 100%;\n height: 100%;\n position: absolute;\n left: 0;\n top: 0;\n}\n\n@keyframes treeitemloading {\n 0% {\n transform: translateX(-100%);\n }\n 100% {\n transform: translateX(100%);\n }\n}\n.ui-tree-item-modifier {\n position: absolute;\n left: 10px;\n bottom: 12px;\n background: var(--color-tree);\n border-radius: 50%;\n width: 14px;\n height: 14px;\n /*color: var(--color-text-dim);*/\n font-size: 11px;\n font-style: normal;\n text-align: center;\n line-height: 14px;\n}\n.ui-tree-item.is-active .ui-tree-item-modifier {\n background: var(--color-tree-selected);\n}\n\n.ui-tree-item-actions {\n transition: opacity 0.2s ease 0;\n opacity: 0;\n color: var(--color-text-dim);\n}\n.ui-tree-item-actions:focus {\n opacity: 1;\n}\n\n/*# sourceMappingURL=tree-item.vue.map */']},media:void 0})}),IB,undefined,false,undefined,!1,Iu,void 0,void 0),RB={order:{enabled:!0,by:"createdDate",isDescending:!0},component:null,width:280,scrollToTop:!0,items:null,block:!1,selectable:!1};const FB={name:"uiDatagrid",props:{value:{type:Object,required:!0,default:()=>RB}},components:{UiPagination:LD},watch:{$route:function(e){this.load(!0)},"value.search":function(e){this.filter.search=e},"value.items":function(e){this.initialize()},"filter.search":function(e){this.debouncedUpdate()}},data:()=>({configuration:{},items:[],isLoading:!0,pages:1,count:0,filter:{orderBy:null,orderIsDescending:!0,page:1,pageSize:30,search:null},debouncedUpdate:null,actionProps:{item:null},selected:[]}),computed:{actionsDefined(){return this.$scopedSlots.hasOwnProperty("actions")}},mounted(){this.initialize()},methods:{initialize(){this.debouncedUpdate=zd(this.update,300),this.configuration=Qc(JSON.parse(JSON.stringify(RB)),this.value),this.configuration.order.enabled&&(this.filter.orderBy=this.configuration.order.by,this.filter.orderIsDescending=this.configuration.order.isDescending),this.load(!0)},load(e){e&&(this.filter.page=1,this.filter.search=null),this.configuration.items(this.filter).then((n=>{if(this.pages=n.totalPages,this.count=n.totalItems,this.$emit("count",this.count),this.isLoading=!1,this.items=n.items,!e&&this.configuration.scrollToTop){let e=document.querySelector(".app-main");e&&this.$nextTick((()=>e.scrollTo({top:0,behavior:"smooth"})))}}))},update(){this.isLoading||this.load()},setPage(e){this.filter.page=e,this.debouncedUpdate()},sort(e){this.filter.orderBy===e.field&&this.filter.orderIsDescending?this.filter.orderIsDescending=!1:this.filter.orderBy===e.field?this.filter.orderBy=null:(this.filter.orderBy=e.field,this.filter.orderIsDescending=!0),this.debouncedUpdate()},onRightClicked(e,n){this.actionsDefined&&(n.preventDefault(),this.onActionsClicked(e,n))},onActionsClicked(e,n){let t=this.$refs.dropdown;this.actionsDefined&&("function"!=typeof this.hasActions||this.hasActions(e))&&(this.actionProps.item=e,this.actionProps.event=n,t.toggle(),t.open&&this.$nextTick((()=>{let e=n.target;do{if(e.classList.contains("ui-datagrid-cell"))break}while(e=e.parentElement);var r=n.pageX,i=n.pageY;let o=t.$el.querySelector(".ui-dropdown");o.style.top=i+"px",o.style.left=r+"px",o.style.width="240px"})))},select(e){if(e){const n=this.selected.indexOf(e);n>-1?this.selected.splice(n,1):this.selected.push(e)}else this.selected.length>=this.items.length?this.selected=[]:(this.selected=[],this.items.forEach((e=>{this.selected.push(e)})));this.$emit("select",this.selected,this)}}};var LB=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-datagrid-outer"},[t("div",{staticClass:"ui-datagrid"},[t("div",{staticClass:"ui-datagrid-items",class:{"is-block":e.configuration.block},style:"grid-template-columns: repeat(auto-fill, minmax("+e.configuration.width+"px, 1fr))"},[e._l(e.items,(function(n,r){return t("div",{key:r,staticClass:"ui-datagrid-item",on:{contextmenu:function(t){return e.onRightClicked(n,t)}}},[e.configuration.selectable&&e.selected.length>0?t("button",{staticClass:"ui-datagrid-cell-select",attrs:{type:"button"},on:{click:function(t){return e.select(n)}}}):e._e(),e._v(" "),t(e.configuration.component,{tag:"component",staticClass:"ui-datagrid-cell",class:{"is-selected":e.configuration.selectable&&e.selected.indexOf(n)>-1},attrs:{value:n}})],1)})),e._v(" "),e._t("below")],2),e._v(" "),!e.isLoading&&e.items.length<1?t("div",{staticClass:"ui-datagrid-empty"},[t("i",{staticClass:"ui-datagrid-empty-icon fth-list"}),e._v("\n There are no items to show in this list\n ")]):e._e(),e._v(" "),e.isLoading?t("div",{staticClass:"ui-datagrid-loading"},[t("ui-loading")],1):e._e()]),e._v(" "),e.pages>1?t("footer",{staticClass:"ui-datagrid-pagination"},[t("ui-pagination",{attrs:{pages:e.pages,page:e.filter.page},on:{change:e.setPage}})],1):e._e(),e._v(" "),t("ui-dropdown",{ref:"dropdown",staticClass:"ui-datagrid-dropdown",attrs:{align:"top",theme:"dark"}},[e._t("actions",null,null,e.actionProps)],2)],1)};LB._withStripped=!0;const PB=Da({render:LB,staticRenderFns:[]},(function(e){e&&e("data-v-68211a33_0",{source:".ui-datagrid-items {\n display: grid;\n gap: var(--padding-s);\n grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));\n align-items: stretch;\n}\n.ui-datagrid-items.is-block {\n display: block;\n}\n.ui-datagrid-item {\n position: relative;\n}\n.ui-datagrid-empty, .ui-datagrid-loading {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n height: 250px;\n text-align: center;\n padding: 0 20px;\n font-size: var(--font-size);\n}\n.ui-datagrid-empty-icon {\n font-size: 34px;\n margin-bottom: 20px;\n}\n.ui-datagrid-dropdown .ui-dropdown {\n position: fixed;\n min-width: 200px;\n}\n.ui-datagrid-cell-select {\n width: 100%;\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n background: transparent;\n z-index: 2;\n}\n\n/*# sourceMappingURL=datagrid.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\datagrid\\datagrid.vue","datagrid.vue"],names:[],mappings:"AAuTA;EAEA,aAAA;EACA,qBAAA;EACA,4DAAA;EACA,oBAAA;ACvTA;ADyTA;EAEA,cAAA;ACxTA;AD4TA;EAEA,kBAAA;AC1TA;AD6TA;EAEA,aAAA;EACA,sBAAA;EACA,uBAAA;EACA,mBAAA;EACA,aAAA;EACA,kBAAA;EACA,eAAA;EACA,2BAAA;AC3TA;AD8TA;EAEA,eAAA;EACA,mBAAA;AC5TA;AD+TA;EAEA,eAAA;EACA,gBAAA;AC7TA;ADgUA;EAEA,WAAA;EACA,kBAAA;EACA,OAAA;EACA,MAAA;EACA,QAAA;EACA,SAAA;EACA,uBAAA;EACA,UAAA;AC9TA;;AAEA,uCAAuC",file:"datagrid.vue",sourcesContent:['\ufeff<template>\r\n <div class="ui-datagrid-outer">\r\n <div class="ui-datagrid">\r\n <div class="ui-datagrid-items" :style="\'grid-template-columns: repeat(auto-fill, minmax(\' + configuration.width + \'px, 1fr))\'" :class="{\'is-block\': configuration.block }">\r\n <div class="ui-datagrid-item" v-for="(item, index) in items" :key="index" v-on:contextmenu="onRightClicked(item, $event)">\r\n <button v-if="configuration.selectable && selected.length > 0" type="button" class="ui-datagrid-cell-select" @click="select(item)"></button>\r\n <component :is="configuration.component" :value="item" class="ui-datagrid-cell" :class="{ \'is-selected\': configuration.selectable && selected.indexOf(item) > -1 }"></component>\r\n </div>\r\n <slot name="below"></slot>\r\n </div>\r\n\r\n <div class="ui-datagrid-empty" v-if="!isLoading && items.length < 1">\r\n <i class="ui-datagrid-empty-icon fth-list"></i>\r\n There are no items to show in this list\r\n </div>\r\n\r\n <div class="ui-datagrid-loading" v-if="isLoading">\r\n <ui-loading />\r\n </div>\r\n </div>\r\n\r\n <footer class="ui-datagrid-pagination" v-if="pages > 1">\r\n <ui-pagination :pages="pages" :page="filter.page" @change="setPage" />\r\n </footer>\r\n\r\n <ui-dropdown ref="dropdown" align="top" theme="dark" class="ui-datagrid-dropdown">\r\n <slot name="actions" v-bind="actionProps"></slot>\r\n </ui-dropdown>\r\n\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import UiPagination from \'zero/components/pagination.vue\';\r\n import { each as _each, extend as _extend, debounce as _debounce } from \'underscore\';\r\n\r\n const defaultConfig = {\r\n order: {\r\n // allow sorting of columns (asc + desc)\r\n enabled: true,\r\n // default order by\r\n by: \'createdDate\',\r\n // order is descending\r\n isDescending: true\r\n },\r\n // define vue component which renderes an item\r\n component: null,\r\n // desired width of an item\r\n width: 280,\r\n // scroll to top on page change\r\n scrollToTop: true,\r\n // promise which returns items based on the current filter and sorting\r\n items: null,\r\n // for block items\r\n block: false,\r\n // ability to select items\r\n selectable: false\r\n };\r\n\r\n export default {\r\n name: \'uiDatagrid\',\r\n\r\n props: {\r\n value: {\r\n type: Object,\r\n required: true,\r\n default: () =>\r\n {\r\n return defaultConfig;\r\n }\r\n }\r\n },\r\n\r\n components: { UiPagination },\r\n\r\n watch: {\r\n \'$route\': function (val)\r\n {\r\n this.load(true);\r\n },\r\n \'value.search\': function (val)\r\n {\r\n this.filter.search = val;\r\n },\r\n \'value.items\': function (val)\r\n {\r\n this.initialize();\r\n },\r\n \'filter.search\': function (val)\r\n {\r\n this.debouncedUpdate();\r\n }\r\n },\r\n\r\n data: () => ({\r\n configuration: {},\r\n items: [],\r\n isLoading: true,\r\n pages: 1,\r\n count: 0,\r\n filter: {\r\n orderBy: null,\r\n orderIsDescending: true,\r\n page: 1,\r\n pageSize: 30,\r\n search: null\r\n },\r\n debouncedUpdate: null,\r\n actionProps: {\r\n item: null\r\n },\r\n selected: []\r\n }),\r\n\r\n\r\n computed: {\r\n actionsDefined()\r\n {\r\n return this.$scopedSlots.hasOwnProperty(\'actions\');\r\n }\r\n },\r\n\r\n\r\n mounted()\r\n {\r\n this.initialize();\r\n },\r\n\r\n\r\n methods: {\r\n\r\n initialize()\r\n {\r\n this.debouncedUpdate = _debounce(this.update, 300);\r\n\r\n this.configuration = _extend(JSON.parse(JSON.stringify(defaultConfig)), this.value);\r\n\r\n if (this.configuration.order.enabled)\r\n {\r\n this.filter.orderBy = this.configuration.order.by;\r\n this.filter.orderIsDescending = this.configuration.order.isDescending;\r\n }\r\n\r\n this.load(true);\r\n },\r\n\r\n // load items based on the current filter\r\n load(initial)\r\n {\r\n if (initial)\r\n {\r\n this.filter.page = 1;\r\n this.filter.search = null;\r\n }\r\n\r\n this.configuration.items(this.filter).then(result =>\r\n {\r\n this.pages = result.totalPages;\r\n this.count = result.totalItems;\r\n this.$emit(\'count\', this.count);\r\n\r\n this.isLoading = false;\r\n this.items = result.items;\r\n\r\n if (!initial && this.configuration.scrollToTop)\r\n {\r\n let container = document.querySelector(\'.app-main\');\r\n\r\n if (container)\r\n {\r\n this.$nextTick(() => container.scrollTo({ top: 0, behavior: \'smooth\' }));\r\n }\r\n }\r\n });\r\n },\r\n\r\n // updates the list (debounced)\r\n update()\r\n {\r\n if (!this.isLoading)\r\n {\r\n this.load();\r\n }\r\n },\r\n\r\n // set the active page\r\n setPage(index)\r\n {\r\n this.filter.page = index;\r\n this.debouncedUpdate();\r\n },\r\n\r\n // sort by a column\r\n sort(column)\r\n {\r\n if (this.filter.orderBy === column.field && this.filter.orderIsDescending)\r\n {\r\n this.filter.orderIsDescending = false;\r\n }\r\n else if (this.filter.orderBy === column.field)\r\n {\r\n this.filter.orderBy = null;\r\n }\r\n else\r\n {\r\n this.filter.orderBy = column.field;\r\n this.filter.orderIsDescending = true;\r\n }\r\n\r\n this.debouncedUpdate();\r\n },\r\n\r\n\r\n // right clicked on an item\r\n onRightClicked(item, ev)\r\n {\r\n if (this.actionsDefined)\r\n {\r\n ev.preventDefault();\r\n this.onActionsClicked(item, ev);\r\n }\r\n },\r\n\r\n\r\n // actions button clicked on item\r\n onActionsClicked(item, ev)\r\n {\r\n let dropdown = this.$refs.dropdown;\r\n\r\n if (!this.actionsDefined || (typeof this.hasActions === \'function\' && !this.hasActions(item)))\r\n {\r\n return;\r\n }\r\n\r\n this.actionProps.item = item;\r\n this.actionProps.event = ev;\r\n\r\n dropdown.toggle();\r\n\r\n if (!dropdown.open)\r\n {\r\n return;\r\n }\r\n\r\n this.$nextTick(() =>\r\n {\r\n let target = ev.target;\r\n do\r\n {\r\n if (target.classList.contains(\'ui-datagrid-cell\'))\r\n {\r\n break;\r\n }\r\n }\r\n while (target = target.parentElement);\r\n\r\n var width = 240;\r\n\r\n var position = {\r\n x: ev.pageX,\r\n y: ev.pageY\r\n };\r\n\r\n let element = dropdown.$el.querySelector(\'.ui-dropdown\');\r\n\r\n element.style.top = position.y + \'px\';\r\n element.style.left = position.x + \'px\';\r\n element.style.width = width + \'px\';\r\n });\r\n },\r\n\r\n // toggle selection of an item\r\n select(item)\r\n {\r\n if (!item)\r\n {\r\n if (this.selected.length >= this.items.length)\r\n {\r\n this.selected = [];\r\n }\r\n else\r\n {\r\n this.selected = [];\r\n this.items.forEach(item =>\r\n {\r\n this.selected.push(item);\r\n });\r\n }\r\n }\r\n else\r\n {\r\n const index = this.selected.indexOf(item);\r\n\r\n if (index > -1)\r\n {\r\n this.selected.splice(index, 1);\r\n }\r\n else\r\n {\r\n this.selected.push(item);\r\n }\r\n }\r\n\r\n this.$emit(\'select\', this.selected, this);\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .ui-datagrid-items\r\n {\r\n display: grid;\r\n gap: var(--padding-s);\r\n grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));\r\n align-items: stretch;\r\n\r\n &.is-block\r\n {\r\n display: block;\r\n }\r\n }\r\n\r\n .ui-datagrid-item\r\n {\r\n position: relative;\r\n }\r\n\r\n .ui-datagrid-empty, .ui-datagrid-loading\r\n {\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n height: 250px;\r\n text-align: center;\r\n padding: 0 20px;\r\n font-size: var(--font-size);\r\n }\r\n\r\n .ui-datagrid-empty-icon\r\n {\r\n font-size: 34px;\r\n margin-bottom: 20px;\r\n }\r\n\r\n .ui-datagrid-dropdown .ui-dropdown\r\n {\r\n position: fixed;\r\n min-width: 200px;\r\n }\r\n\r\n .ui-datagrid-cell-select\r\n {\r\n width: 100%;\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n background: transparent;\r\n z-index: 2;\r\n }\r\n</style>',".ui-datagrid-items {\n display: grid;\n gap: var(--padding-s);\n grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));\n align-items: stretch;\n}\n.ui-datagrid-items.is-block {\n display: block;\n}\n\n.ui-datagrid-item {\n position: relative;\n}\n\n.ui-datagrid-empty, .ui-datagrid-loading {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n height: 250px;\n text-align: center;\n padding: 0 20px;\n font-size: var(--font-size);\n}\n\n.ui-datagrid-empty-icon {\n font-size: 34px;\n margin-bottom: 20px;\n}\n\n.ui-datagrid-dropdown .ui-dropdown {\n position: fixed;\n min-width: 200px;\n}\n\n.ui-datagrid-cell-select {\n width: 100%;\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n background: transparent;\n z-index: 2;\n}\n\n/*# sourceMappingURL=datagrid.vue.map */"]},media:void 0})}),FB,undefined,false,undefined,!1,Iu,void 0,void 0),jB={neutral:"fth-info",info:"fth-info",primary:"fth-info",warn:"fth-alert-circle",error:"fth-alert-circle",success:"fth-check-circle"};const YB={name:"uiMessage",props:{type:{type:String,default:"info"},text:{type:String,required:!0},icon:{type:String,default:"-1"},block:{type:Boolean,default:!0}},computed:{iconClass(){return"-1"!==this.icon?this.icon:jB[this.type]},messageClasses(){return["type-"+this.type,this.block?"block":null]}},mounted(){},methods:{}};var UB=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("p",{staticClass:"ui-message",class:e.messageClasses},[e.iconClass?t("i",{staticClass:"ui-message-icon",class:e.iconClass}):e._e(),e._v(" "),t("span",{directives:[{name:"localize",rawName:"v-localize:html",value:e.text,expression:"text",arg:"html"}],staticClass:"ui-message-text"})])};UB._withStripped=!0;const qB=Da({render:UB,staticRenderFns:[]},(function(e){e&&e("data-v-04db672c_0",{source:".ui-message {\n font-size: var(--font-size-s);\n background: var(--color-accent-info-bg);\n color: var(--color-accent-info);\n display: inline-grid;\n padding: 8px 12px 7px 12px;\n grid-template-columns: auto 1fr;\n gap: 12px;\n border-radius: var(--radius);\n position: relative;\n line-height: 20px;\n text-align: left;\n}\n.ui-message.type-warn {\n background: var(--color-accent-warn-bg);\n color: var(--color-accent-warn);\n}\n.ui-message.type-error {\n background: var(--color-accent-error-bg);\n color: var(--color-accent-error);\n}\n.ui-message.type-success {\n background: var(--color-accent-success-bg);\n color: var(--color-accent-success);\n}\n.ui-message.type-neutral {\n background: var(--color-box-nested);\n color: var(--color-text);\n}\n.ui-message.type-primary {\n background: var(--color-primary-low);\n color: var(--color-primary);\n}\n.ui-message.block {\n display: grid;\n}\n.ui-message-icon {\n font-size: 1.3em;\n position: relative;\n top: 1px;\n}\n\n/*# sourceMappingURL=message.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\messages\\message.vue","message.vue"],names:[],mappings:"AAkEA;EAEA,6BAAA;EACA,uCAAA;EACA,+BAAA;EACA,oBAAA;EACA,0BAAA;EACA,+BAAA;EACA,SAAA;EACA,4BAAA;EACA,kBAAA;EACA,iBAAA;EACA,gBAAA;AClEA;ADoEA;EAEA,uCAAA;EACA,+BAAA;ACnEA;ADsEA;EAEA,wCAAA;EACA,gCAAA;ACrEA;ADwEA;EAEA,0CAAA;EACA,kCAAA;ACvEA;AD0EA;EAEA,mCAAA;EACA,wBAAA;ACzEA;AD4EA;EAEA,oCAAA;EACA,2BAAA;AC3EA;AD8EA;EAEA,aAAA;AC7EA;ADiFA;EAEA,gBAAA;EACA,kBAAA;EACA,QAAA;AC/EA;;AAEA,sCAAsC",file:"message.vue",sourcesContent:["\ufeff<template>\r\n <p class=\"ui-message\" :class=\"messageClasses\">\r\n <i v-if=\"iconClass\" class=\"ui-message-icon\" :class=\"iconClass\"></i>\r\n <span class=\"ui-message-text\" v-localize:html=\"text\"></span>\r\n </p>\r\n</template>\r\n\r\n\r\n<script>\r\n const TYPE_ICONS = {\r\n neutral: 'fth-info',\r\n info: 'fth-info',\r\n primary: 'fth-info',\r\n warn: 'fth-alert-circle',\r\n error: 'fth-alert-circle',\r\n success: 'fth-check-circle'\r\n };\r\n\r\n export default {\r\n name: 'uiMessage',\r\n\r\n props: {\r\n type: {\r\n type: String,\r\n default: 'info'\r\n },\r\n text: {\r\n type: String,\r\n required: true\r\n },\r\n icon: {\r\n type: String,\r\n default: '-1'\r\n },\r\n block: {\r\n type: Boolean,\r\n default: true\r\n }\r\n },\r\n\r\n computed: {\r\n iconClass()\r\n {\r\n return this.icon !== '-1' ? this.icon : TYPE_ICONS[this.type];\r\n },\r\n messageClasses()\r\n {\r\n return [\r\n 'type-' + this.type,\r\n (this.block ? 'block' : null)\r\n ];\r\n }\r\n },\r\n\r\n mounted ()\r\n {\r\n \r\n },\r\n\r\n methods: {\r\n\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang=\"scss\">\r\n .ui-message\r\n {\r\n font-size: var(--font-size-s);\r\n background: var(--color-accent-info-bg);\r\n color: var(--color-accent-info);\r\n display: inline-grid;\r\n padding: 8px 12px 7px 12px;\r\n grid-template-columns: auto 1fr;\r\n gap: 12px;\r\n border-radius: var(--radius);\r\n position: relative;\r\n line-height: 20px;\r\n text-align: left;\r\n\r\n &.type-warn\r\n {\r\n background: var(--color-accent-warn-bg);\r\n color: var(--color-accent-warn);\r\n }\r\n\r\n &.type-error\r\n {\r\n background: var(--color-accent-error-bg);\r\n color: var(--color-accent-error);\r\n }\r\n\r\n &.type-success\r\n {\r\n background: var(--color-accent-success-bg);\r\n color: var(--color-accent-success);\r\n }\r\n\r\n &.type-neutral\r\n {\r\n background: var(--color-box-nested);\r\n color: var(--color-text);\r\n }\r\n\r\n &.type-primary\r\n {\r\n background: var(--color-primary-low);\r\n color: var(--color-primary);\r\n }\r\n\r\n &.block\r\n {\r\n display: grid;\r\n }\r\n }\r\n\r\n .ui-message-icon\r\n {\r\n font-size: 1.3em;\r\n position: relative;\r\n top: 1px;\r\n }\r\n\r\n .ui-message-text\r\n {\r\n\r\n }\r\n</style>",".ui-message {\n font-size: var(--font-size-s);\n background: var(--color-accent-info-bg);\n color: var(--color-accent-info);\n display: inline-grid;\n padding: 8px 12px 7px 12px;\n grid-template-columns: auto 1fr;\n gap: 12px;\n border-radius: var(--radius);\n position: relative;\n line-height: 20px;\n text-align: left;\n}\n.ui-message.type-warn {\n background: var(--color-accent-warn-bg);\n color: var(--color-accent-warn);\n}\n.ui-message.type-error {\n background: var(--color-accent-error-bg);\n color: var(--color-accent-error);\n}\n.ui-message.type-success {\n background: var(--color-accent-success-bg);\n color: var(--color-accent-success);\n}\n.ui-message.type-neutral {\n background: var(--color-box-nested);\n color: var(--color-text);\n}\n.ui-message.type-primary {\n background: var(--color-primary-low);\n color: var(--color-primary);\n}\n.ui-message.block {\n display: grid;\n}\n\n.ui-message-icon {\n font-size: 1.3em;\n position: relative;\n top: 1px;\n}\n\n/*# sourceMappingURL=message.vue.map */"]},media:void 0})}),YB,undefined,false,undefined,!1,Iu,void 0,void 0);const HB={name:"uiDate",props:{value:{type:String,default:null},format:{type:String,default:null},split:{type:Boolean,default:!1}},data:()=>({output:null}),watch:{value:function(e){this.rebuild()}},mounted(){this.rebuild()},methods:{rebuild(){this.value?this.split?this.output=jl.date(this.value,"short")+' <span class="-minor">'+jl.date(this.value,"time")+"</span>":this.output=jl.date(this.value,this.format):this.output=""}}};var WB=function(){var e=this,n=e.$createElement;return(e._self._c||n)("span",{staticClass:"ui-date",domProps:{innerHTML:e._s(e.output)}})};WB._withStripped=!0;const VB=Da({render:WB,staticRenderFns:[]},(function(e){e&&e("data-v-1c4ae31d_0",{source:".ui-date .-minor {\n color: var(--color-text-dim);\n}\n\n/*# sourceMappingURL=date.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\date.vue","date.vue"],names:[],mappings:"AAqEA;EAEA,4BAAA;ACrEA;;AAEA,mCAAmC",file:"date.vue",sourcesContent:["\ufeff<template>\r\n <span class=\"ui-date\" v-html=\"output\"></span>\r\n</template>\r\n\r\n\r\n<script>\r\n import dayjs from 'dayjs';\r\n import Strings from 'zero/helpers/strings.js';\r\n\r\n export default {\r\n name: 'uiDate',\r\n\r\n props: {\r\n value: {\r\n type: String,\r\n default: null\r\n },\r\n format: {\r\n type: String,\r\n default: null\r\n },\r\n split: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n\r\n data: () => ({\r\n output: null\r\n }),\r\n\r\n watch: {\r\n value: function (value)\r\n {\r\n this.rebuild();\r\n }\r\n },\r\n\r\n mounted()\r\n {\r\n this.rebuild();\r\n },\r\n\r\n methods: {\r\n\r\n rebuild()\r\n {\r\n if (!this.value)\r\n {\r\n this.output = '';\r\n return;\r\n }\r\n\r\n if (!this.split)\r\n {\r\n this.output = Strings.date(this.value, this.format);\r\n }\r\n else\r\n {\r\n this.output = Strings.date(this.value, 'short') + ' <span class=\"-minor\">' + Strings.date(this.value, 'time') + '</span>';\r\n }\r\n }\r\n\r\n }\r\n\r\n }\r\n<\/script>\r\n\r\n<style lang=\"scss\">\r\n .ui-date .-minor\r\n {\r\n color: var(--color-text-dim);\r\n }\r\n</style>",".ui-date .-minor {\n color: var(--color-text-dim);\n}\n\n/*# sourceMappingURL=date.vue.map */"]},media:void 0})}),HB,undefined,false,undefined,!1,Iu,void 0,void 0);const JB={name:"uiHeaderBar",props:{title:{type:String},titleEmpty:{type:String},prefix:{type:String},suffix:{type:String},count:{type:Number,default:0},description:{type:String},backButton:{type:Boolean,default:!1},closeButton:{type:Boolean,default:!1}},methods:{onBack(){this.$router.go(-1)},onClose(){Uu.close()}}};var KB=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-header-bar"},[t("div",{staticClass:"ui-header-bar-inner"},[t("div",{staticClass:"ui-header-bar-main"},[e.backButton?t("ui-icon-button",{attrs:{type:"light onbg"},on:{click:e.onBack}}):e._e(),e._v(" "),t("div",{staticClass:"ui-header-bar-main-title"},[e._t("title",[t("h2",{staticClass:"ui-header-bar-title",class:{"is-empty":!e.title&&e.titleEmpty}},[e.prefix?t("span",{directives:[{name:"localize",rawName:"v-localize:html",value:e.prefix,expression:"prefix",arg:"html"}],staticClass:"-minor"}):e._e(),e._v(" "),t("span",{directives:[{name:"localize",rawName:"v-localize",value:e.title||e.titleEmpty,expression:"title || titleEmpty"}]}),e._v(" "),e.suffix?t("span",{directives:[{name:"localize",rawName:"v-localize:html",value:e.suffix,expression:"suffix",arg:"html"}],staticClass:"-minor"}):e._e(),e._v(" "),e.count>0?t("span",{staticClass:"-minor -count"},[e._v(e._s(e.count))]):e._e()])]),e._v(" "),e.description?t("p",{directives:[{name:"localize",rawName:"v-localize",value:e.description,expression:"description"}],staticClass:"ui-header-bar-description"}):e._e()],2)],1),e._v(" "),t("div",{staticClass:"ui-header-bar-aside"},[e._t("default"),e._v(" "),e.closeButton?t("ui-icon-button",{staticClass:"ui-header-bar-close",attrs:{icon:"fth-x",title:"@ui.close"},on:{click:e.onClose}}):e._e()],2)])])};KB._withStripped=!0;const GB=Da({render:KB,staticRenderFns:[]},(function(e){e&&e("data-v-68b70fb4_0",{source:".ui-header-bar {\n width: 100%;\n height: 100px;\n padding: 0 var(--padding) 0;\n}\n.ui-header-bar + .ui-blank-box, .ui-header-bar + .ui-box, .ui-header-bar + .ui-view-box {\n margin-top: 0;\n}\n.ui-header-bar + .ui-view-box {\n padding-top: 0;\n}\n.app-tree .ui-header-bar {\n height: 90px;\n margin-bottom: 8px;\n}\n.ui-header-bar-inner {\n display: flex;\n justify-content: space-between;\n align-items: center;\n height: 100%;\n /*max-width: 1104px;*/\n}\n.ui-header-bar-main {\n display: flex;\n align-items: center;\n height: 100%;\n flex: 1 0 auto;\n}\n.ui-header-bar-main .ui-icon-button {\n margin-right: var(--padding-s);\n}\n.ui-header-bar-main-title {\n flex: 1 0 auto;\n}\n.ui-header-bar-aside {\n display: flex;\n align-items: center;\n height: 100%;\n flex-shrink: 0;\n padding-left: var(--padding-s);\n}\n.ui-header-bar-aside > * + * {\n margin-left: var(--padding-s);\n}\n.ui-header-bar-title {\n font-family: var(--font);\n color: var(--color-text);\n margin: 0;\n font-size: var(--font-size-l);\n font-weight: 700;\n}\n.ui-header-bar-title.is-empty, .ui-header-bar-title .-minor {\n color: var(--color-text-dim);\n font-weight: 400;\n}\n.ui-header-bar-title .-count {\n display: inline-block;\n font-size: 11px;\n font-weight: 700;\n text-transform: uppercase;\n background: var(--color-bg-shade-5);\n color: var(--color-text);\n height: 22px;\n line-height: 22px;\n padding: 0 10px;\n border-radius: 16px;\n letter-spacing: 0.5px;\n font-style: normal;\n margin-left: 12px;\n margin-top: 2px;\n position: relative;\n top: -1px;\n}\n.ui-header-bar-description {\n font-size: var(--font-size-s);\n color: var(--color-text-dim);\n margin: 2px 0 0;\n}\n.ui-header-bar-close {\n background: transparent !important;\n}\n\n/*# sourceMappingURL=header-bar.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\header-bar.vue","header-bar.vue"],names:[],mappings:"AA4EA;EAEA,WAAA;EACA,aAAA;EACA,2BAAA;AC5EA;AD8EA;EAEA,aAAA;AC7EA;ADgFA;EAEA,cAAA;AC/EA;ADkFA;EAEA,YAAA;EACA,kBAAA;ACjFA;ADqFA;EAEA,aAAA;EACA,8BAAA;EACA,mBAAA;EACA,YAAA;EACA,qBAAA;ACnFA;ADsFA;EAEA,aAAA;EACA,mBAAA;EACA,YAAA;EACA,cAAA;ACpFA;ADsFA;EAEA,8BAAA;ACrFA;ADyFA;EAEA,cAAA;ACvFA;AD0FA;EAEA,aAAA;EACA,mBAAA;EACA,YAAA;EACA,cAAA;EACA,8BAAA;ACxFA;AD0FA;EAEA,6BAAA;ACzFA;AD6FA;EAEA,wBAAA;EACA,wBAAA;EACA,SAAA;EACA,6BAAA;EACA,gBAAA;AC3FA;AD+FA;EAEA,4BAAA;EACA,gBAAA;AC9FA;ADiGA;EAEA,qBAAA;EACA,eAAA;EACA,gBAAA;EACA,yBAAA;EACA,mCAAA;EAEA,wBAAA;EACA,YAAA;EACA,iBAAA;EACA,eAAA;EACA,mBAAA;EACA,qBAAA;EACA,kBAAA;EACA,iBAAA;EACA,eAAA;EACA,kBAAA;EACA,SAAA;ACjGA;ADqGA;EAEA,6BAAA;EACA,4BAAA;EACA,eAAA;ACnGA;ADsGA;EAEA,kCAAA;ACpGA;;AAEA,yCAAyC",file:"header-bar.vue",sourcesContent:['\ufeff<template>\r\n <div class="ui-header-bar">\r\n <div class="ui-header-bar-inner">\r\n <div class="ui-header-bar-main">\r\n <ui-icon-button v-if="backButton" type="light onbg" @click="onBack" />\r\n <div class="ui-header-bar-main-title">\r\n <slot name="title">\r\n <h2 class="ui-header-bar-title" :class="{\'is-empty\': !title && titleEmpty}">\r\n <span v-if="prefix" class="-minor" v-localize:html="prefix"></span>\r\n <span v-localize="title || titleEmpty"></span>\r\n <span v-if="suffix" class="-minor" v-localize:html="suffix"></span>\r\n <span v-if="count > 0" class="-minor -count">{{count}}</span>\r\n </h2>\r\n </slot>\r\n <p v-if="description" class="ui-header-bar-description" v-localize="description"></p>\r\n </div>\r\n </div>\r\n <div class="ui-header-bar-aside">\r\n <slot></slot>\r\n <ui-icon-button class="ui-header-bar-close" v-if="closeButton" @click="onClose" icon="fth-x" title="@ui.close" />\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import Overlay from \'zero/helpers/overlay.js\';\r\n\r\n export default {\r\n name: \'uiHeaderBar\',\r\n\r\n props: {\r\n title: {\r\n type: String\r\n },\r\n titleEmpty: {\r\n type: String\r\n },\r\n prefix: {\r\n type: String\r\n },\r\n suffix: {\r\n type: String\r\n },\r\n count: {\r\n type: Number,\r\n default: 0\r\n },\r\n description: {\r\n type: String\r\n },\r\n backButton: {\r\n type: Boolean,\r\n default: false\r\n },\r\n closeButton: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n\r\n methods: {\r\n onBack()\r\n {\r\n this.$router.go(-1);\r\n },\r\n onClose()\r\n {\r\n Overlay.close();\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n .ui-header-bar\r\n {\r\n width: 100%;\r\n height: 100px;\r\n padding: 0 var(--padding) 0; //10px;\r\n\r\n & + .ui-blank-box, & + .ui-box, & + .ui-view-box\r\n {\r\n margin-top: 0;\r\n }\r\n\r\n & + .ui-view-box\r\n {\r\n padding-top: 0;\r\n }\r\n\r\n .app-tree &\r\n {\r\n height: 90px;\r\n margin-bottom: 8px;\r\n }\r\n }\r\n\r\n .ui-header-bar-inner\r\n {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n height: 100%;\r\n /*max-width: 1104px;*/\r\n }\r\n\r\n .ui-header-bar-main\r\n {\r\n display: flex;\r\n align-items: center;\r\n height: 100%;\r\n flex: 1 0 auto;\r\n\r\n .ui-icon-button\r\n {\r\n margin-right: var(--padding-s);\r\n }\r\n }\r\n\r\n .ui-header-bar-main-title\r\n {\r\n flex: 1 0 auto;\r\n }\r\n\r\n .ui-header-bar-aside\r\n {\r\n display: flex;\r\n align-items: center;\r\n height: 100%;\r\n flex-shrink: 0;\r\n padding-left: var(--padding-s);\r\n\r\n > * + *\r\n {\r\n margin-left: var(--padding-s);\r\n }\r\n }\r\n\r\n .ui-header-bar-title\r\n {\r\n font-family: var(--font);\r\n color: var(--color-text);\r\n margin: 0;\r\n font-size: var(--font-size-l);\r\n font-weight: 700;\r\n //display: flex;\r\n //align-items: center;\r\n\r\n &.is-empty, .-minor\r\n {\r\n color: var(--color-text-dim);\r\n font-weight: 400;\r\n }\r\n\r\n .-count\r\n {\r\n display: inline-block;\r\n font-size: 11px;\r\n font-weight: 700;\r\n text-transform: uppercase;\r\n background: var(--color-bg-shade-5);\r\n //box-shadow: var(--shadow-short);\r\n color: var(--color-text);\r\n height: 22px;\r\n line-height: 22px;\r\n padding: 0 10px;\r\n border-radius: 16px;\r\n letter-spacing: .5px;\r\n font-style: normal;\r\n margin-left: 12px;\r\n margin-top: 2px;\r\n position: relative;\r\n top: -1px;\r\n }\r\n }\r\n\r\n .ui-header-bar-description\r\n {\r\n font-size: var(--font-size-s);\r\n color: var(--color-text-dim);\r\n margin: 2px 0 0;\r\n }\r\n\r\n .ui-header-bar-close\r\n {\r\n background: transparent !important;\r\n }\r\n</style>',".ui-header-bar {\n width: 100%;\n height: 100px;\n padding: 0 var(--padding) 0;\n}\n.ui-header-bar + .ui-blank-box, .ui-header-bar + .ui-box, .ui-header-bar + .ui-view-box {\n margin-top: 0;\n}\n.ui-header-bar + .ui-view-box {\n padding-top: 0;\n}\n.app-tree .ui-header-bar {\n height: 90px;\n margin-bottom: 8px;\n}\n\n.ui-header-bar-inner {\n display: flex;\n justify-content: space-between;\n align-items: center;\n height: 100%;\n /*max-width: 1104px;*/\n}\n\n.ui-header-bar-main {\n display: flex;\n align-items: center;\n height: 100%;\n flex: 1 0 auto;\n}\n.ui-header-bar-main .ui-icon-button {\n margin-right: var(--padding-s);\n}\n\n.ui-header-bar-main-title {\n flex: 1 0 auto;\n}\n\n.ui-header-bar-aside {\n display: flex;\n align-items: center;\n height: 100%;\n flex-shrink: 0;\n padding-left: var(--padding-s);\n}\n.ui-header-bar-aside > * + * {\n margin-left: var(--padding-s);\n}\n\n.ui-header-bar-title {\n font-family: var(--font);\n color: var(--color-text);\n margin: 0;\n font-size: var(--font-size-l);\n font-weight: 700;\n}\n.ui-header-bar-title.is-empty, .ui-header-bar-title .-minor {\n color: var(--color-text-dim);\n font-weight: 400;\n}\n.ui-header-bar-title .-count {\n display: inline-block;\n font-size: 11px;\n font-weight: 700;\n text-transform: uppercase;\n background: var(--color-bg-shade-5);\n color: var(--color-text);\n height: 22px;\n line-height: 22px;\n padding: 0 10px;\n border-radius: 16px;\n letter-spacing: 0.5px;\n font-style: normal;\n margin-left: 12px;\n margin-top: 2px;\n position: relative;\n top: -1px;\n}\n\n.ui-header-bar-description {\n font-size: var(--font-size-s);\n color: var(--color-text-dim);\n margin: 2px 0 0;\n}\n\n.ui-header-bar-close {\n background: transparent !important;\n}\n\n/*# sourceMappingURL=header-bar.vue.map */"]},media:void 0})}),JB,undefined,false,undefined,!1,Iu,void 0,void 0);const XB={name:"uiLoading",props:{isBig:{type:Boolean,default:!1}}};var QB=function(){var e=this,n=e.$createElement;return(e._self._c||n)("i",{staticClass:"ui-loading",class:{"is-big":e.isBig}})};QB._withStripped=!0;const ZB=Da({render:QB,staticRenderFns:[]},(function(e){e&&e("data-v-6f1e351b_0",{source:".ui-loading {\n display: inline-block;\n width: 28px;\n height: 28px;\n border-radius: 40px;\n border: 2px solid var(--color-box);\n border-left-color: var(--color-text);\n will-change: transform;\n animation: loadingRotation 0.8s linear infinite;\n}\n.ui-loading.is-big {\n width: 36px;\n height: 36px;\n border-width: 2px;\n}\n@keyframes loadingRotation {\n0% {\n transform: rotate(0);\n}\n100% {\n transform: rotate(1turn);\n}\n}\n\n/*# sourceMappingURL=loading.vue.map */",map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\loading.vue","loading.vue"],names:[],mappings:"AAmBA;EAEA,qBAAA;EACA,WAAA;EACA,YAAA;EACA,mBAAA;EACA,kCAAA;EACA,oCAAA;EACA,sBAAA;EACA,+CAAA;ACnBA;ADqBA;EAEA,WAAA;EACA,YAAA;EACA,iBAAA;ACpBA;ADwBA;AAEA;IAEA,oBAAA;ACvBE;ADyBF;IAEA,wBAAA;ACxBE;AACF;;AAEA,sCAAsC",file:"loading.vue",sourcesContent:['\ufeff<template>\r\n <i class="ui-loading" :class="{\'is-big\': isBig }"></i>\r\n</template>\r\n\r\n\r\n<script>\r\n export default {\r\n name: \'uiLoading\',\r\n\r\n props: {\r\n isBig: {\r\n type: Boolean,\r\n default: false\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n<style lang="scss">\r\n.ui-loading\r\n{ \r\n display: inline-block;\r\n width: 28px;\r\n height: 28px;\r\n border-radius: 40px;\r\n border: 2px solid var(--color-box);\r\n border-left-color: var(--color-text);\r\n will-change: transform;\r\n animation: loadingRotation 0.8s linear infinite;\r\n\r\n &.is-big\r\n {\r\n width: 36px;\r\n height: 36px;\r\n border-width: 2px;\r\n }\r\n}\r\n\r\n@keyframes loadingRotation\r\n{\r\n 0%\r\n {\r\n transform: rotate(0)\r\n }\r\n 100%\r\n {\r\n transform: rotate(1turn)\r\n }\r\n}\r\n</style>',".ui-loading {\n display: inline-block;\n width: 28px;\n height: 28px;\n border-radius: 40px;\n border: 2px solid var(--color-box);\n border-left-color: var(--color-text);\n will-change: transform;\n animation: loadingRotation 0.8s linear infinite;\n}\n.ui-loading.is-big {\n width: 36px;\n height: 36px;\n border-width: 2px;\n}\n\n@keyframes loadingRotation {\n 0% {\n transform: rotate(0);\n }\n 100% {\n transform: rotate(1turn);\n }\n}\n\n/*# sourceMappingURL=loading.vue.map */"]},media:void 0})}),XB,undefined,false,undefined,!1,Iu,void 0,void 0);const ez={name:"uiRevisions",props:{get:{type:Function,required:!0}},data:()=>({userRoute:zero.alias.settings.users+"-edit",items:[],page:1,pages:0}),mounted(){this.setPage(this.page)},methods:{getImage:e=>kp.getImageSource(e),setPage(e){this.page=e,this.get(e).then((e=>{this.items=e.items,this.pages=e.totalPages}))}}};var nz=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"ui-revisions",class:{"is-empty":e.items.length<1}},[e._l(e.items,(function(n){return t("div",{staticClass:"ui-revision"},[t("span",{directives:[{name:"localize",rawName:"v-localize",value:"@revisions.actions.updated",expression:"'@revisions.actions.updated'"}],staticClass:"ui-revision-action"}),e._v(" "),t("ui-date",{staticClass:"ui-revision-date",attrs:{format:"long",split:!0},model:{value:n.date,callback:function(t){e.$set(n,"date",t)},expression:"revision.date"}}),e._v(" "),n.user?t("router-link",{staticClass:"ui-revision-user",attrs:{to:{name:e.userRoute,params:{id:n.user.id}}}},[n.user?t("img",{staticClass:"ui-revision-user-image",attrs:{src:e.getImage(n.user.avatarId),alt:n.user.name}}):e._e(),e._v(" "),n.user?t("span",{staticClass:"ui-revision-user-name"},[e._v(e._s(n.user.name))]):e._e()]):t("div"),e._v(" "),t("button",{directives:[{name:"localize",rawName:"v-localize",value:"@revisions.view",expression:"'@revisions.view'"}],staticClass:"ui-link is-minor",attrs:{type:"button"}})],1)})),e._v(" "),e.pages>1?t("ui-pagination",{attrs:{pages:e.pages,page:e.page},on:{change:e.setPage}}):e._e()],2)};nz._withStripped=!0;const tz=Da({render:nz,staticRenderFns:[]},(function(e){e&&e("data-v-5952e829_0",{source:'.ui-revision {\n display: grid;\n grid-template-columns: auto 3fr 2fr auto;\n gap: 20px;\n align-items: center;\n min-height: 28px;\n}\n.ui-revision + .ui-revision {\n margin-top: 24px;\n}\n.ui-revision:first-child .ui-revision-action:before {\n display: none;\n}\n.ui-revision-action {\n align-self: center;\n display: inline-block;\n font-size: 9px;\n font-weight: 700;\n text-transform: uppercase;\n background: var(--color-box-nested);\n color: var(--color-text-dim);\n height: 22px;\n line-height: 22px;\n padding: 0 10px;\n border-radius: 16px;\n letter-spacing: 0.5px;\n position: relative;\n}\n.ui-revision-action:before {\n content: "";\n position: absolute;\n left: calc(50% - 1.5px);\n top: -30px;\n height: 30px;\n width: 3px;\n background: var(--color-box-nested);\n}\n.ui-revision-user {\n color: var(--color-text);\n}\n.ui-revision-user-image {\n width: 28px;\n height: 28px;\n border-radius: 14px;\n margin-right: 8px;\n}\n\n/*# sourceMappingURL=revisions.vue.map */',map:{version:3,sources:["O:\\zero\\zero.Web.UI\\app\\components\\revisions.vue","revisions.vue"],names:[],mappings:"AAoEA;EAEA,aAAA;EACA,wCAAA;EACA,SAAA;EACA,mBAAA;EACA,gBAAA;ACpEA;ADsEA;EAEA,gBAAA;ACrEA;ADwEA;EAEA,aAAA;ACvEA;AD2EA;EAEA,kBAAA;EACA,qBAAA;EACA,cAAA;EACA,gBAAA;EACA,yBAAA;EACA,mCAAA;EACA,4BAAA;EACA,YAAA;EACA,iBAAA;EACA,eAAA;EACA,mBAAA;EACA,qBAAA;EACA,kBAAA;ACzEA;AD2EA;EAEA,WAAA;EACA,kBAAA;EACA,uBAAA;EACA,UAAA;EACA,YAAA;EACA,UAAA;EACA,mCAAA;AC1EA;AD8EA;EAEA,wBAAA;AC5EA;AD+EA;EAEA,WAAA;EACA,YAAA;EACA,mBAAA;EACA,iBAAA;AC7EA;;AAEA,wCAAwC",file:"revisions.vue",sourcesContent:['\ufeff<template>\r\n <div class="ui-revisions" :class="{ \'is-empty\': items.length < 1 }">\r\n <div class="ui-revision" v-for="revision in items">\r\n <span class="ui-revision-action" v-localize="\'@revisions.actions.updated\'"></span>\r\n <ui-date class="ui-revision-date" v-model="revision.date" format="long" :split="true" />\r\n <router-link :to="{ name: userRoute, params: { id: revision.user.id }}" v-if="revision.user" class="ui-revision-user">\r\n <img class="ui-revision-user-image" v-if="revision.user" :src="getImage(revision.user.avatarId)" :alt="revision.user.name" />\r\n <span v-if="revision.user" class="ui-revision-user-name">{{revision.user.name}}</span>\r\n </router-link>\r\n <div v-else></div>\r\n <button type="button" class="ui-link is-minor" v-localize="\'@revisions.view\'"></button>\r\n </div>\r\n <ui-pagination v-if="pages > 1" :pages="pages" :page="page" @change="setPage" />\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import dayjs from \'dayjs\';\r\n import Strings from \'zero/helpers/strings.js\';\r\n import MediaApi from \'zero/api/media.js\';\r\n\r\n export default {\r\n name: \'uiRevisions\',\r\n\r\n props: {\r\n get: {\r\n type: Function,\r\n required: true\r\n }\r\n },\r\n\r\n\r\n data: () => ({\r\n userRoute: zero.alias.settings.users + \'-edit\',\r\n items: [],\r\n page: 1,\r\n pages: 0\r\n }),\r\n\r\n\r\n mounted()\r\n {\r\n this.setPage(this.page);\r\n },\r\n\r\n\r\n methods: {\r\n getImage(id)\r\n {\r\n return MediaApi.getImageSource(id);\r\n },\r\n\r\n setPage(page)\r\n {\r\n this.page = page;\r\n this.get(page).then(res =>\r\n {\r\n this.items = res.items;\r\n this.pages = res.totalPages;\r\n });\r\n }\r\n }\r\n }\r\n<\/script>\r\n\r\n\r\n<style lang="scss">\r\n .ui-revision\r\n {\r\n display: grid;\r\n grid-template-columns: auto 3fr 2fr auto;\r\n gap: 20px;\r\n align-items: center;\r\n min-height: 28px;\r\n\r\n & + .ui-revision\r\n {\r\n margin-top: 24px;\r\n }\r\n\r\n &:first-child .ui-revision-action:before\r\n {\r\n display: none;\r\n }\r\n }\r\n\r\n .ui-revision-action\r\n {\r\n align-self: center;\r\n display: inline-block;\r\n font-size: 9px;\r\n font-weight: 700;\r\n text-transform: uppercase;\r\n background: var(--color-box-nested);\r\n color: var(--color-text-dim);\r\n height: 22px;\r\n line-height: 22px;\r\n padding: 0 10px;\r\n border-radius: 16px;\r\n letter-spacing: .5px;\r\n position: relative;\r\n\r\n &:before\r\n {\r\n content: \'\';\r\n position: absolute;\r\n left: calc(50% - 1.5px);\r\n top: -30px;\r\n height: 30px;\r\n width: 3px;\r\n background: var(--color-box-nested);\r\n }\r\n }\r\n\r\n .ui-revision-user\r\n {\r\n color: var(--color-text);\r\n }\r\n\r\n .ui-revision-user-image\r\n {\r\n width: 28px;\r\n height: 28px;\r\n border-radius: 14px;\r\n margin-right: 8px;\r\n }\r\n</style>','.ui-revision {\n display: grid;\n grid-template-columns: auto 3fr 2fr auto;\n gap: 20px;\n align-items: center;\n min-height: 28px;\n}\n.ui-revision + .ui-revision {\n margin-top: 24px;\n}\n.ui-revision:first-child .ui-revision-action:before {\n display: none;\n}\n\n.ui-revision-action {\n align-self: center;\n display: inline-block;\n font-size: 9px;\n font-weight: 700;\n text-transform: uppercase;\n background: var(--color-box-nested);\n color: var(--color-text-dim);\n height: 22px;\n line-height: 22px;\n padding: 0 10px;\n border-radius: 16px;\n letter-spacing: 0.5px;\n position: relative;\n}\n.ui-revision-action:before {\n content: "";\n position: absolute;\n left: calc(50% - 1.5px);\n top: -30px;\n height: 30px;\n width: 3px;\n background: var(--color-box-nested);\n}\n\n.ui-revision-user {\n color: var(--color-text);\n}\n\n.ui-revision-user-image {\n width: 28px;\n height: 28px;\n border-radius: 14px;\n margin-right: 8px;\n}\n\n/*# sourceMappingURL=revisions.vue.map */']},media:void 0})}),ez,undefined,false,undefined,!1,Iu,void 0,void 0);const rz={name:"uiIcon",props:{icon:{type:String,default:null,required:!0}},computed:{iconClass(){return 0===this.icon.indexOf("fth-")?this.icon:"fth-"+this.icon}}};var iz=function(){var e=this,n=e.$createElement;return(e._self._c||n)("i",{staticClass:"ui-icon",class:e.iconClass})};iz._withStripped=!0;var oz={uiAddButton:ig,uiButton:lg,uiDotButton:ug,uiIconButton:Ag,uiSelectButton:gg,uiStateButton:yg,uiAlias:wg,uiCheckList:Sg,uiErrorView:Og,uiError:Ig,uiFormHeader:Rg,uiForm:Pg,uiInputList:Ug,uiProperty:Wg,uiRte:rS,uiSearch:aS,uiTags:cS,uiToggle:pS,uiModulePreviewFigure:hS,uiModulePreviewHeadline:vS,uiModulePreviewText:CS,uiModules:IS,uiDropdownButton:RS,uiDropdownSeparator:PS,uiDropdown:US,uiOverlayEditor:WS,uiColorpicker:KS,uiCountrypicker:QS,uiDatepicker:iD,uiDaterangepicker:dD,uiIconpicker:jm,uiMediapicker:gD,uiPagepicker:xD,uiUserpicker:_D,uiMailtemplatepicker:BD,uiSpacepicker:MD,uiPick:ND,uiTable:AB,uiTableFilter:CB,uiTabs:wB,uiTab:SB,uiInlineTabs:zB,uiTree:TB,uiTreeItem:NB,uiDatagrid:PB,uiMessage:qB,uiDate:VB,uiHeaderBar:GB,uiLoading:ZB,uiPagination:LD,uiPermissions:Tp,uiRevisions:tz,uiIcon:Da({render:iz,staticRenderFns:[]},undefined,rz,undefined,false,undefined,!1,void 0,void 0,void 0)};xt.directive("date",((e,n)=>{if(n.value!==n.oldValue){if(!n.value)return void(e.innerHTML="-");e.innerHTML=jl.date(n.value)}})),xt.directive("localize",((e,n)=>{if(n.value!==n.oldValue||!e.innerText){const t=!!n.value,r="object"==typeof n.value;let i=t?r?n.value.key:n.value:null,o=t&&r?n.value:null;const a=t?xu.localize(i,o):"";"html"===n.arg?e.innerHTML=a:"title"===n.arg?e.title=a:n.arg?e.setAttribute(n.arg,a):e.innerText=a}})),xt.directive("resizable",{bind(e,n){new az(e,n.value).listen()},update(e,n){},unbind(e,n){}});var az=function(e,n){const t="zero.ui-resizable."+(n.save||"none"),r="ui-resizing";let i=["Y","y"].indexOf(n.axis)>-1;if(this.element=e,this.params=n,this.handle=this.element.querySelector(this.params.handle||".handle"),!this.handle)throw"Set the [handle] parameter to a valid CSS selector within the attached element";this.listen=()=>{this.handle.addEventListener("mousedown",this.start),this.handle.addEventListener("dblclick",this.reset)},this.detach=()=>{this.handle.removeEventListener("mousedown",this.start),this.handle.removeEventListener("dblclick",this.reset),document.removeEventListener("mousemove",this.resize),document.removeEventListener("mouseup",this.stop)},this.start=e=>{this.coordinates={X:e.pageX,Y:e.pageY,offsetX:0,offsetY:0},document.body.classList.add(r),document.addEventListener("mousemove",this.resize),document.addEventListener("mouseup",this.stop)},this.resize=e=>{let t=e.pageX-this.coordinates.X,r=e.pageY-this.coordinates.Y,o=i?r:t,a=this.value+o;n.min&&n.min>a?a=n.min:n.max&&n.max<a&&(a=n.max),this.update(a)},this.stop=e=>{document.body.classList.remove(r),document.removeEventListener("mousemove",this.resize),document.removeEventListener("mouseup",this.stop),this.value=o(),localStorage.setItem(t,this.value)},this.update=e=>{e>0&&(this.element.style[i?"height":"width"]=e+"px")},this.reset=()=>{localStorage.removeItem(t),this.element.style[i?"height":"width"]="",this.value=o()};let o=()=>this.element[i?"clientHeight":"clientWidth"];if(this.value=o(),n.save){const e=+localStorage.getItem(t);e>0&&(this.update(+localStorage.getItem(t)),this.value=e)}};xt.directive("dropdown",{bind(e,n){console.info(e,n)},update(e,n){}}),xt.directive("click-outside",{bind(e,n,t){function r(n){if(t.context){var r=n.path||n.composedPath&&n.composedPath();r&&r.length>0&&r.unshift(n.target),e.contains(n.target)||sz.isPopup(t.context.popupItem,r)||!e.__vueClickOutside__||e.__vueClickOutside__.callback(n)}}sz.validate(n)&&(e.__vueClickOutside__={handler:r,callback:n.value},setTimeout((()=>{!sz.isServer(t)&&document.addEventListener("click",r)}),200))},update(e,n){sz.validate(n)&&(e.__vueClickOutside__.callback=n.value)},unbind(e,n,t){!sz.isServer(t)&&document.removeEventListener("click",e.__vueClickOutside__.handler),delete e.__vueClickOutside__}});var sz={isServer:e=>void 0!==e.componentInstance&&e.componentInstance.$isServer,isPopup(e,n){if(!e||!n)return!1;for(var t=0,r=n.length;t<r;t++)try{if(e.contains(n[t]))return!0;if(n[t].contains(e))return!1}catch(e){return!1}return!1},validate:e=>"function"==typeof e.value||(console.warn("v-click-outside: provided expression "+e.expression+" is not a function."),!1)};function lz(){return(lz=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e}).apply(this,arguments)}function cz(e){if("undefined"!=typeof window&&window.navigator)return!!navigator.userAgent.match(e)}xt.directive("filesize",((e,n)=>{n.value!==n.oldValue&&(e.innerText=jl.filesize(n.value))})),xt.directive("currency",((e,n)=>{n.value!==n.oldValue&&(e.innerHTML=jl.currency(n.value))}));var dz=cz(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),uz=cz(/Edge/i),pz=cz(/firefox/i),fz=cz(/safari/i)&&!cz(/chrome/i)&&!cz(/android/i),Az=cz(/iP(ad|od|hone)/i),hz=cz(/chrome/i)&&cz(/android/i),mz={capture:!1,passive:!1};function gz(e,n,t){e.addEventListener(n,t,!dz&&mz)}function vz(e,n,t){e.removeEventListener(n,t,!dz&&mz)}function bz(e,n){if(n){if(">"===n[0]&&(n=n.substring(1)),e)try{if(e.matches)return e.matches(n);if(e.msMatchesSelector)return e.msMatchesSelector(n);if(e.webkitMatchesSelector)return e.webkitMatchesSelector(n)}catch(e){return!1}return!1}}function yz(e){return e.host&&e!==document&&e.host.nodeType?e.host:e.parentNode}function Cz(e,n,t,r){if(e){t=t||document;do{if(null!=n&&(">"===n[0]?e.parentNode===t&&bz(e,n):bz(e,n))||r&&e===t)return e;if(e===t)break}while(e=yz(e))}return null}var Ez,xz=/\s+/g;function wz(e,n,t){if(e&&n)if(e.classList)e.classList[t?"add":"remove"](n);else{var r=(" "+e.className+" ").replace(xz," ").replace(" "+n+" "," ");e.className=(r+(t?" "+n:"")).replace(xz," ")}}function kz(e,n,t){var r=e&&e.style;if(r){if(void 0===t)return document.defaultView&&document.defaultView.getComputedStyle?t=document.defaultView.getComputedStyle(e,""):e.currentStyle&&(t=e.currentStyle),void 0===n?t:t[n];n in r||-1!==n.indexOf("webkit")||(n="-webkit-"+n),r[n]=t+("string"==typeof t?"":"px")}}function _z(e,n){var t="";if("string"==typeof e)t=e;else do{var r=kz(e,"transform");r&&"none"!==r&&(t=r+" "+t)}while(!n&&(e=e.parentNode));var i=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return i&&new i(t)}function Sz(e,n,t){if(e){var r=e.getElementsByTagName(n),i=0,o=r.length;if(t)for(;i<o;i++)t(r[i],i);return r}return[]}function Dz(){return document.scrollingElement||document.documentElement}function Bz(e,n,t,r,i){if(e.getBoundingClientRect||e===window){var o,a,s,l,c,d,u;if(e!==window&&e!==Dz()?(a=(o=e.getBoundingClientRect()).top,s=o.left,l=o.bottom,c=o.right,d=o.height,u=o.width):(a=0,s=0,l=window.innerHeight,c=window.innerWidth,d=window.innerHeight,u=window.innerWidth),(n||t)&&e!==window&&(i=i||e.parentNode,!dz))do{if(i&&i.getBoundingClientRect&&("none"!==kz(i,"transform")||t&&"static"!==kz(i,"position"))){var p=i.getBoundingClientRect();a-=p.top+parseInt(kz(i,"border-top-width")),s-=p.left+parseInt(kz(i,"border-left-width")),l=a+o.height,c=s+o.width;break}}while(i=i.parentNode);if(r&&e!==window){var f=_z(i||e),A=f&&f.a,h=f&&f.d;f&&(l=(a/=h)+(d/=h),c=(s/=A)+(u/=A))}return{top:a,left:s,bottom:l,right:c,width:u,height:d}}}function zz(e,n,t){for(var r=$z(e,!0),i=Bz(e)[n];r;){var o=Bz(r)[t];if(!("top"===t||"left"===t?i>=o:i<=o))return r;if(r===Dz())break;r=$z(r,!1)}return!1}function Oz(e,n,t){for(var r=0,i=0,o=e.children;i<o.length;){if("none"!==o[i].style.display&&o[i]!==PO.ghost&&o[i]!==PO.dragged&&Cz(o[i],t.draggable,e,!1)){if(r===n)return o[i];r++}i++}return null}function Mz(e,n){for(var t=e.lastElementChild;t&&(t===PO.ghost||"none"===kz(t,"display")||n&&!bz(t,n));)t=t.previousElementSibling;return t||null}function Tz(e,n){var t=0;if(!e||!e.parentNode)return-1;for(;e=e.previousElementSibling;)"TEMPLATE"===e.nodeName.toUpperCase()||e===PO.clone||n&&!bz(e,n)||t++;return t}function Iz(e){var n=0,t=0,r=Dz();if(e)do{var i=_z(e);n+=e.scrollLeft*i.a,t+=e.scrollTop*i.d}while(e!==r&&(e=e.parentNode));return[n,t]}function $z(e,n){if(!e||!e.getBoundingClientRect)return Dz();var t=e,r=!1;do{if(t.clientWidth<t.scrollWidth||t.clientHeight<t.scrollHeight){var i=kz(t);if(t.clientWidth<t.scrollWidth&&("auto"==i.overflowX||"scroll"==i.overflowX)||t.clientHeight<t.scrollHeight&&("auto"==i.overflowY||"scroll"==i.overflowY)){if(!t.getBoundingClientRect||t===document.body)return Dz();if(r||n)return t;r=!0}}}while(t=t.parentNode);return Dz()}function Nz(e,n){return Math.round(e.top)===Math.round(n.top)&&Math.round(e.left)===Math.round(n.left)&&Math.round(e.height)===Math.round(n.height)&&Math.round(e.width)===Math.round(n.width)}function Rz(e,n){return function(){if(!Ez){var t=arguments,r=this;1===t.length?e.call(r,t[0]):e.apply(r,t),Ez=setTimeout((function(){Ez=void 0}),n)}}}function Fz(e,n,t){e.scrollLeft+=n,e.scrollTop+=t}function Lz(e){var n=window.Polymer,t=window.jQuery||window.Zepto;return n&&n.dom?n.dom(e).cloneNode(!0):t?t(e).clone(!0)[0]:e.cloneNode(!0)}function Pz(e,n){kz(e,"position","absolute"),kz(e,"top",n.top),kz(e,"left",n.left),kz(e,"width",n.width),kz(e,"height",n.height)}function jz(e){kz(e,"position",""),kz(e,"top",""),kz(e,"left",""),kz(e,"width",""),kz(e,"height","")}var Yz="Sortable"+(new Date).getTime(),Uz=[],qz={initializeByDefault:!0},Hz={mount:function(e){for(var n in qz)qz.hasOwnProperty(n)&&!(n in e)&&(e[n]=qz[n]);Uz.push(e)},pluginEvent:function(e,n,t){var r=this;this.eventCanceled=!1,t.cancel=function(){r.eventCanceled=!0};var i=e+"Global";Uz.forEach((function(r){n[r.pluginName]&&(n[r.pluginName][i]&&n[r.pluginName][i](lz({sortable:n},t)),n.options[r.pluginName]&&n[r.pluginName][e]&&n[r.pluginName][e](lz({sortable:n},t)))}))},initializePlugins:function(e,n,t,r){for(var i in Uz.forEach((function(r){var i=r.pluginName;if(e.options[i]||r.initializeByDefault){var o=new r(e,n,e.options);o.sortable=e,o.options=e.options,e[i]=o,Object.assign(t,o.defaults)}})),e.options)if(e.options.hasOwnProperty(i)){var o=this.modifyOption(e,i,e.options[i]);void 0!==o&&(e.options[i]=o)}},getEventProperties:function(e,n){var t={};return Uz.forEach((function(r){"function"==typeof r.eventProperties&&Object.assign(t,r.eventProperties.call(n[r.pluginName],e))})),t},modifyOption:function(e,n,t){var r;return Uz.forEach((function(i){e[i.pluginName]&&i.optionListeners&&"function"==typeof i.optionListeners[n]&&(r=i.optionListeners[n].call(e[i.pluginName],t))})),r}};function Wz(e){var n=e.sortable,t=e.rootEl,r=e.name,i=e.targetEl,o=e.cloneEl,a=e.toEl,s=e.fromEl,l=e.oldIndex,c=e.newIndex,d=e.oldDraggableIndex,u=e.newDraggableIndex,p=e.originalEvent,f=e.putSortable,A=e.extraEventProperties;if(n=n||t&&t[Yz]){var h,m=n.options,g="on"+r.charAt(0).toUpperCase()+r.substr(1);!window.CustomEvent||dz||uz?(h=document.createEvent("Event")).initEvent(r,!0,!0):h=new CustomEvent(r,{bubbles:!0,cancelable:!0}),h.to=a||t,h.from=s||t,h.item=i||t,h.clone=o,h.oldIndex=l,h.newIndex=c,h.oldDraggableIndex=d,h.newDraggableIndex=u,h.originalEvent=p,h.pullMode=f?f.lastPutMode:void 0;var v=lz({},A,Hz.getEventProperties(r,n));for(var b in v)h[b]=v[b];t&&t.dispatchEvent(h),m[g]&&m[g].call(n,h)}}var Vz=function(e,n,t){var r=void 0===t?{}:t,i=r.evt,o=function(e,n){if(null==e)return{};var t,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n.indexOf(t=o[r])>=0||(i[t]=e[t]);return i}(r,["evt"]);Hz.pluginEvent.bind(PO)(e,n,lz({dragEl:Kz,parentEl:Gz,ghostEl:Xz,rootEl:Qz,nextEl:Zz,lastDownEl:eO,cloneEl:nO,cloneHidden:tO,dragStarted:hO,putSortable:lO,activeSortable:PO.active,originalEvent:i,oldIndex:rO,oldDraggableIndex:oO,newIndex:iO,newDraggableIndex:aO,hideGhostForTarget:$O,unhideGhostForTarget:NO,cloneNowHidden:function(){tO=!0},cloneNowShown:function(){tO=!1},dispatchSortableEvent:function(e){Jz({sortable:n,name:e,originalEvent:i})}},o))};function Jz(e){Wz(lz({putSortable:lO,cloneEl:nO,targetEl:Kz,rootEl:Qz,oldIndex:rO,oldDraggableIndex:oO,newIndex:iO,newDraggableIndex:aO},e))}var Kz,Gz,Xz,Qz,Zz,eO,nO,tO,rO,iO,oO,aO,sO,lO,cO,dO,uO,pO,fO,AO,hO,mO,gO,vO,bO,yO=!1,CO=!1,EO=[],xO=!1,wO=!1,kO=[],_O=!1,SO=[],DO="undefined"!=typeof document,BO=Az,zO=uz||dz?"cssFloat":"float",OO=DO&&!hz&&!Az&&"draggable"in document.createElement("div"),MO=function(){if(DO){if(dz)return!1;var e=document.createElement("x");return e.style.cssText="pointer-events:auto","auto"===e.style.pointerEvents}}(),TO=function(e,n){var t=kz(e),r=parseInt(t.width)-parseInt(t.paddingLeft)-parseInt(t.paddingRight)-parseInt(t.borderLeftWidth)-parseInt(t.borderRightWidth),i=Oz(e,0,n),o=Oz(e,1,n),a=i&&kz(i),s=o&&kz(o),l=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+Bz(i).width,c=s&&parseInt(s.marginLeft)+parseInt(s.marginRight)+Bz(o).width;return"flex"===t.display?"column"===t.flexDirection||"column-reverse"===t.flexDirection?"vertical":"horizontal":"grid"===t.display?t.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal":i&&a.float&&"none"!==a.float?!o||"both"!==s.clear&&s.clear!==("left"===a.float?"left":"right")?"horizontal":"vertical":i&&("block"===a.display||"flex"===a.display||"table"===a.display||"grid"===a.display||l>=r&&"none"===t[zO]||o&&"none"===t[zO]&&l+c>r)?"vertical":"horizontal"},IO=function(e){function n(e,t){return function(r,i,o,a){if(null==e&&(t||r.options.group.name&&i.options.group.name&&r.options.group.name===i.options.group.name))return!0;if(null==e||!1===e)return!1;if(t&&"clone"===e)return e;if("function"==typeof e)return n(e(r,i,o,a),t)(r,i,o,a);var s=(t?r:i).options.group.name;return!0===e||"string"==typeof e&&e===s||e.join&&e.indexOf(s)>-1}}var t={},r=e.group;r&&"object"==typeof r||(r={name:r}),t.name=r.name,t.checkPull=n(r.pull,!0),t.checkPut=n(r.put),t.revertClone=r.revertClone,e.group=t},$O=function(){!MO&&Xz&&kz(Xz,"display","none")},NO=function(){!MO&&Xz&&kz(Xz,"display","")};DO&&document.addEventListener("click",(function(e){if(CO)return e.preventDefault(),e.stopPropagation&&e.stopPropagation(),e.stopImmediatePropagation&&e.stopImmediatePropagation(),CO=!1,!1}),!0);var RO,FO=function(e){if(Kz){var n=(i=(e=e.touches?e.touches[0]:e).clientX,o=e.clientY,EO.some((function(e){if(!Mz(e)){var n=Bz(e),t=e[Yz].options.emptyInsertThreshold;return t&&i>=n.left-t&&i<=n.right+t&&o>=n.top-t&&o<=n.bottom+t?a=e:void 0}})),a);if(n){var t={};for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.target=t.rootEl=n,t.preventDefault=void 0,t.stopPropagation=void 0,n[Yz]._onDragOver(t)}}var i,o,a},LO=function(e){Kz&&Kz.parentNode[Yz]._isOutsideThisEl(e.target)};function PO(e,n){if(!e||!e.nodeType||1!==e.nodeType)throw"Sortable: `el` must be an HTMLElement, not "+{}.toString.call(e);this.el=e,this.options=n=Object.assign({},n),e[Yz]=this;var t,r,i={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(e.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return TO(e,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(e,n){e.setData("Text",n.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==PO.supportPointer&&"PointerEvent"in window,emptyInsertThreshold:5};for(var o in Hz.initializePlugins(this,e,i),i)!(o in n)&&(n[o]=i[o]);for(var a in IO(n),this)"_"===a.charAt(0)&&"function"==typeof this[a]&&(this[a]=this[a].bind(this));this.nativeDraggable=!n.forceFallback&&OO,this.nativeDraggable&&(this.options.touchStartThreshold=1),n.supportPointer?gz(e,"pointerdown",this._onTapStart):(gz(e,"mousedown",this._onTapStart),gz(e,"touchstart",this._onTapStart)),this.nativeDraggable&&(gz(e,"dragover",this),gz(e,"dragenter",this)),EO.push(this.el),n.store&&n.store.get&&this.sort(n.store.get(this)||[]),Object.assign(this,(r=[],{captureAnimationState:function(){r=[],this.options.animation&&[].slice.call(this.el.children).forEach((function(e){if("none"!==kz(e,"display")&&void 0!==e){r.push({target:e,rect:Bz(e)});var n=lz({},r[r.length-1].rect);if(e.thisAnimationDuration){var t=_z(e,!0);t&&(n.top-=t.f,n.left-=t.e)}e.fromRect=n}}))},addAnimationState:function(e){r.push(e)},removeAnimationState:function(e){r.splice(function(e,n){for(var t in e)if(e.hasOwnProperty(t))for(var r in n)if(n.hasOwnProperty(r)&&n[r]===e[t][r])return Number(t);return-1}(r,{target:e}),1)},animateAll:function(e){var n=this;if(!this.options.animation)return clearTimeout(t),void("function"==typeof e&&e());var i=!1,o=0;r.forEach((function(e){var t,r,a,s,l=0,c=e.target,d=c.fromRect,u=Bz(c),p=c.prevFromRect,f=c.prevToRect,A=e.rect,h=_z(c,!0);h&&(u.top-=h.f,u.left-=h.e),c.toRect=u,c.thisAnimationDuration&&Nz(p,u)&&!Nz(d,u)&&(A.top-u.top)/(A.left-u.left)==(d.top-u.top)/(d.left-u.left)&&(t=A,r=p,a=f,s=n.options,l=Math.sqrt(Math.pow(r.top-t.top,2)+Math.pow(r.left-t.left,2))/Math.sqrt(Math.pow(r.top-a.top,2)+Math.pow(r.left-a.left,2))*s.animation),Nz(u,d)||(c.prevFromRect=d,c.prevToRect=u,l||(l=n.options.animation),n.animate(c,A,u,l)),l&&(i=!0,o=Math.max(o,l),clearTimeout(c.animationResetTimer),c.animationResetTimer=setTimeout((function(){c.animationTime=0,c.prevFromRect=null,c.fromRect=null,c.prevToRect=null,c.thisAnimationDuration=null}),l),c.thisAnimationDuration=l)})),clearTimeout(t),i?t=setTimeout((function(){"function"==typeof e&&e()}),o):"function"==typeof e&&e(),r=[]},animate:function(e,n,t,r){if(r){kz(e,"transition",""),kz(e,"transform","");var i=_z(this.el),o=(n.left-t.left)/(i&&i.a||1),a=(n.top-t.top)/(i&&i.d||1);e.animatingX=!!o,e.animatingY=!!a,kz(e,"transform","translate3d("+o+"px,"+a+"px,0)"),this.forRepaintDummy=e.offsetWidth,kz(e,"transition","transform "+r+"ms"+(this.options.easing?" "+this.options.easing:"")),kz(e,"transform","translate3d(0,0,0)"),"number"==typeof e.animated&&clearTimeout(e.animated),e.animated=setTimeout((function(){kz(e,"transition",""),kz(e,"transform",""),e.animated=!1,e.animatingX=!1,e.animatingY=!1}),r)}}}))}function jO(e,n,t,r,i,o,a,s){var l,c,d=e[Yz],u=d.options.onMove;return!window.CustomEvent||dz||uz?(l=document.createEvent("Event")).initEvent("move",!0,!0):l=new CustomEvent("move",{bubbles:!0,cancelable:!0}),l.to=n,l.from=e,l.dragged=t,l.draggedRect=r,l.related=i||n,l.relatedRect=o||Bz(n),l.willInsertAfter=s,l.originalEvent=a,e.dispatchEvent(l),u&&(c=u.call(d,l,a)),c}function YO(e){e.draggable=!1}function UO(){_O=!1}function qO(e){for(var n=e.tagName+e.className+e.src+e.href+e.textContent,t=n.length,r=0;t--;)r+=n.charCodeAt(t);return r.toString(36)}function HO(e){return setTimeout(e,0)}function WO(e){return clearTimeout(e)}PO.prototype={constructor:PO,_isOutsideThisEl:function(e){this.el.contains(e)||e===this.el||(mO=null)},_getDirection:function(e,n){return"function"==typeof this.options.direction?this.options.direction.call(this,e,n,Kz):this.options.direction},_onTapStart:function(e){if(e.cancelable){var n=this,t=this.el,r=this.options,i=r.preventOnFilter,o=e.type,a=e.touches&&e.touches[0]||e.pointerType&&"touch"===e.pointerType&&e,s=(a||e).target,l=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||s,c=r.filter;if(function(e){SO.length=0;for(var n=e.getElementsByTagName("input"),t=n.length;t--;){var r=n[t];r.checked&&SO.push(r)}}(t),!Kz&&!(/mousedown|pointerdown/.test(o)&&0!==e.button||r.disabled)&&!l.isContentEditable&&(this.nativeDraggable||!fz||!s||"SELECT"!==s.tagName.toUpperCase())&&!((s=Cz(s,r.draggable,t,!1))&&s.animated||eO===s)){if(rO=Tz(s),oO=Tz(s,r.draggable),"function"==typeof c){if(c.call(this,e,s,this))return Jz({sortable:n,rootEl:l,name:"filter",targetEl:s,toEl:t,fromEl:t}),Vz("filter",n,{evt:e}),void(i&&e.cancelable&&e.preventDefault())}else if(c&&(c=c.split(",").some((function(r){if(r=Cz(l,r.trim(),t,!1))return Jz({sortable:n,rootEl:r,name:"filter",targetEl:s,fromEl:t,toEl:t}),Vz("filter",n,{evt:e}),!0}))))return void(i&&e.cancelable&&e.preventDefault());r.handle&&!Cz(l,r.handle,t,!1)||this._prepareDragStart(e,a,s)}}},_prepareDragStart:function(e,n,t){var r,i=this,o=i.el,a=i.options,s=o.ownerDocument;if(t&&!Kz&&t.parentNode===o){var l=Bz(t);if(Qz=o,Gz=(Kz=t).parentNode,Zz=Kz.nextSibling,eO=t,sO=a.group,PO.dragged=Kz,fO=(cO={target:Kz,clientX:(n||e).clientX,clientY:(n||e).clientY}).clientX-l.left,AO=cO.clientY-l.top,this._lastX=(n||e).clientX,this._lastY=(n||e).clientY,Kz.style["will-change"]="all",r=function(){Vz("delayEnded",i,{evt:e}),PO.eventCanceled?i._onDrop():(i._disableDelayedDragEvents(),!pz&&i.nativeDraggable&&(Kz.draggable=!0),i._triggerDragStart(e,n),Jz({sortable:i,name:"choose",originalEvent:e}),wz(Kz,a.chosenClass,!0))},a.ignore.split(",").forEach((function(e){Sz(Kz,e.trim(),YO)})),gz(s,"dragover",FO),gz(s,"mousemove",FO),gz(s,"touchmove",FO),gz(s,"mouseup",i._onDrop),gz(s,"touchend",i._onDrop),gz(s,"touchcancel",i._onDrop),pz&&this.nativeDraggable&&(this.options.touchStartThreshold=4,Kz.draggable=!0),Vz("delayStart",this,{evt:e}),!a.delay||a.delayOnTouchOnly&&!n||this.nativeDraggable&&(uz||dz))r();else{if(PO.eventCanceled)return void this._onDrop();gz(s,"mouseup",i._disableDelayedDrag),gz(s,"touchend",i._disableDelayedDrag),gz(s,"touchcancel",i._disableDelayedDrag),gz(s,"mousemove",i._delayedDragTouchMoveHandler),gz(s,"touchmove",i._delayedDragTouchMoveHandler),a.supportPointer&&gz(s,"pointermove",i._delayedDragTouchMoveHandler),i._dragStartTimer=setTimeout(r,a.delay)}}},_delayedDragTouchMoveHandler:function(e){var n=e.touches?e.touches[0]:e;Math.max(Math.abs(n.clientX-this._lastX),Math.abs(n.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){Kz&&YO(Kz),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var e=this.el.ownerDocument;vz(e,"mouseup",this._disableDelayedDrag),vz(e,"touchend",this._disableDelayedDrag),vz(e,"touchcancel",this._disableDelayedDrag),vz(e,"mousemove",this._delayedDragTouchMoveHandler),vz(e,"touchmove",this._delayedDragTouchMoveHandler),vz(e,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(e,n){n=n||"touch"==e.pointerType&&e,!this.nativeDraggable||n?gz(document,this.options.supportPointer?"pointermove":n?"touchmove":"mousemove",this._onTouchMove):(gz(Kz,"dragend",this),gz(Qz,"dragstart",this._onDragStart));try{document.selection?HO((function(){document.selection.empty()})):window.getSelection().removeAllRanges()}catch(e){}},_dragStarted:function(e,n){if(yO=!1,Qz&&Kz){Vz("dragStarted",this,{evt:n}),this.nativeDraggable&&gz(document,"dragover",LO);var t=this.options;!e&&wz(Kz,t.dragClass,!1),wz(Kz,t.ghostClass,!0),PO.active=this,e&&this._appendGhost(),Jz({sortable:this,name:"start",originalEvent:n})}else this._nulling()},_emulateDragOver:function(){if(dO){this._lastX=dO.clientX,this._lastY=dO.clientY,$O();for(var e=document.elementFromPoint(dO.clientX,dO.clientY),n=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(dO.clientX,dO.clientY))!==n;)n=e;if(Kz.parentNode[Yz]._isOutsideThisEl(e),n)do{if(n[Yz]&&n[Yz]._onDragOver({clientX:dO.clientX,clientY:dO.clientY,target:e,rootEl:n})&&!this.options.dragoverBubble)break;e=n}while(n=n.parentNode);NO()}},_onTouchMove:function(e){if(cO){var n=this.options,t=n.fallbackTolerance,r=n.fallbackOffset,i=e.touches?e.touches[0]:e,o=Xz&&_z(Xz,!0),a=Xz&&o&&o.a,s=Xz&&o&&o.d,l=BO&&bO&&Iz(bO),c=(i.clientX-cO.clientX+r.x)/(a||1)+(l?l[0]-kO[0]:0)/(a||1),d=(i.clientY-cO.clientY+r.y)/(s||1)+(l?l[1]-kO[1]:0)/(s||1);if(!PO.active&&!yO){if(t&&Math.max(Math.abs(i.clientX-this._lastX),Math.abs(i.clientY-this._lastY))<t)return;this._onDragStart(e,!0)}if(Xz){o?(o.e+=c-(uO||0),o.f+=d-(pO||0)):o={a:1,b:0,c:0,d:1,e:c,f:d};var u="matrix("+o.a+","+o.b+","+o.c+","+o.d+","+o.e+","+o.f+")";kz(Xz,"webkitTransform",u),kz(Xz,"mozTransform",u),kz(Xz,"msTransform",u),kz(Xz,"transform",u),uO=c,pO=d,dO=i}e.cancelable&&e.preventDefault()}},_appendGhost:function(){if(!Xz){var e=this.options.fallbackOnBody?document.body:Qz,n=Bz(Kz,!0,BO,!0,e),t=this.options;if(BO){for(bO=e;"static"===kz(bO,"position")&&"none"===kz(bO,"transform")&&bO!==document;)bO=bO.parentNode;bO!==document.body&&bO!==document.documentElement?(bO===document&&(bO=Dz()),n.top+=bO.scrollTop,n.left+=bO.scrollLeft):bO=Dz(),kO=Iz(bO)}wz(Xz=Kz.cloneNode(!0),t.ghostClass,!1),wz(Xz,t.fallbackClass,!0),wz(Xz,t.dragClass,!0),kz(Xz,"transition",""),kz(Xz,"transform",""),kz(Xz,"box-sizing","border-box"),kz(Xz,"margin",0),kz(Xz,"top",n.top),kz(Xz,"left",n.left),kz(Xz,"width",n.width),kz(Xz,"height",n.height),kz(Xz,"opacity","0.8"),kz(Xz,"position",BO?"absolute":"fixed"),kz(Xz,"zIndex","100000"),kz(Xz,"pointerEvents","none"),PO.ghost=Xz,e.appendChild(Xz),kz(Xz,"transform-origin",fO/parseInt(Xz.style.width)*100+"% "+AO/parseInt(Xz.style.height)*100+"%")}},_onDragStart:function(e,n){var t=this,r=e.dataTransfer,i=t.options;Vz("dragStart",this,{evt:e}),PO.eventCanceled?this._onDrop():(Vz("setupClone",this),PO.eventCanceled||((nO=Lz(Kz)).draggable=!1,nO.style["will-change"]="",this._hideClone(),wz(nO,this.options.chosenClass,!1),PO.clone=nO),t.cloneId=HO((function(){Vz("clone",t),PO.eventCanceled||(t.options.removeCloneOnHide||Qz.insertBefore(nO,Kz),t._hideClone(),Jz({sortable:t,name:"clone"}))})),!n&&wz(Kz,i.dragClass,!0),n?(CO=!0,t._loopId=setInterval(t._emulateDragOver,50)):(vz(document,"mouseup",t._onDrop),vz(document,"touchend",t._onDrop),vz(document,"touchcancel",t._onDrop),r&&(r.effectAllowed="move",i.setData&&i.setData.call(t,r,Kz)),gz(document,"drop",t),kz(Kz,"transform","translateZ(0)")),yO=!0,t._dragStartId=HO(t._dragStarted.bind(t,n,e)),gz(document,"selectstart",t),hO=!0,fz&&kz(document.body,"user-select","none"))},_onDragOver:function(e){var n,t,r,i,o,a,s,l,c=this.el,d=e.target,u=this.options,p=u.group,f=PO.active,A=sO===p,h=u.sort,m=lO||f,g=this,v=!1;if(!_O){if(void 0!==e.preventDefault&&e.cancelable&&e.preventDefault(),d=Cz(d,u.draggable,c,!0),M("dragOver"),PO.eventCanceled)return v;if(Kz.contains(e.target)||d.animated&&d.animatingX&&d.animatingY||g._ignoreWhileAnimating===d)return I(!1);if(CO=!1,f&&!u.disabled&&(A?h||(r=!Qz.contains(Kz)):lO===this||(this.lastPutMode=sO.checkPull(this,f,Kz,e))&&p.checkPut(this,f,Kz,e))){if(i="vertical"===this._getDirection(e,d),n=Bz(Kz),M("dragOverValid"),PO.eventCanceled)return v;if(r)return Gz=Qz,T(),this._hideClone(),M("revert"),PO.eventCanceled||(Zz?Qz.insertBefore(Kz,Zz):Qz.appendChild(Kz)),I(!0);var b=Mz(c,u.draggable);if(b&&(o=e,a=i,l=Bz(Mz((s=this).el,s.options.draggable)),!(a?o.clientX>l.right+10||o.clientX<=l.right&&o.clientY>l.bottom&&o.clientX>=l.left:o.clientX>l.right&&o.clientY>l.top||o.clientX<=l.right&&o.clientY>l.bottom+10)||b.animated)){if(d.parentNode===c){t=Bz(d);var y,C,E,x=Kz.parentNode!==c,w=!function(e,n,t){var r=t?e.left:e.top,i=t?n.left:n.top;return r===i||(t?e.right:e.bottom)===(t?n.right:n.bottom)||r+(t?e.width:e.height)/2===i+(t?n.width:n.height)/2}(Kz.animated&&Kz.toRect||n,d.animated&&d.toRect||t,i),k=i?"top":"left",_=zz(d,"top","top")||zz(Kz,"top","top"),S=_?_.scrollTop:void 0;if(mO!==d&&(C=t[k],xO=!1,wO=!w&&u.invertSwap||x),0!==(y=function(e,n,t,r,i,o,a,s){var l,c=r?e.clientY:e.clientX,d=r?t.height:t.width,u=r?t.top:t.left,p=r?t.bottom:t.right,f=!1;if(!a)if(s&&vO<d*i){if(!xO&&(1===gO?c>u+d*o/2:c<p-d*o/2)&&(xO=!0),xO)f=!0;else if(1===gO?c<u+vO:c>p-vO)return-gO}else if(c>u+d*(1-i)/2&&c<p-d*(1-i)/2)return l=n,Tz(Kz)<Tz(l)?1:-1;return(f=f||a)&&(c<u+d*o/2||c>p-d*o/2)?c>u+d/2?1:-1:0}(e,d,t,i,w?1:u.swapThreshold,null==u.invertedSwapThreshold?u.swapThreshold:u.invertedSwapThreshold,wO,mO===d))){var D=Tz(Kz);do{E=Gz.children[D-=y]}while(E&&("none"===kz(E,"display")||E===Xz))}if(0===y||E===d)return I(!1);mO=d,gO=y;var B=d.nextElementSibling,z=!1,O=jO(Qz,c,Kz,n,d,t,e,z=1===y);if(!1!==O)return 1!==O&&-1!==O||(z=1===O),_O=!0,setTimeout(UO,30),T(),z&&!B?c.appendChild(Kz):d.parentNode.insertBefore(Kz,z?B:d),_&&Fz(_,0,S-_.scrollTop),Gz=Kz.parentNode,void 0===C||wO||(vO=Math.abs(C-Bz(d)[k])),$(),I(!0)}}else{if(b===Kz)return I(!1);if(b&&c===e.target&&(d=b),d&&(t=Bz(d)),!1!==jO(Qz,c,Kz,n,d,t,e,!!d))return T(),c.appendChild(Kz),Gz=c,$(),I(!0)}if(c.contains(Kz))return I(!1)}return!1}function M(o,a){Vz(o,g,lz({evt:e,isOwner:A,axis:i?"vertical":"horizontal",revert:r,dragRect:n,targetRect:t,canSort:h,fromSortable:m,target:d,completed:I,onMove:function(t,r){return jO(Qz,c,Kz,n,t,Bz(t),e,r)},changed:$},a))}function T(){M("dragOverAnimationCapture"),g.captureAnimationState(),g!==m&&m.captureAnimationState()}function I(n){return M("dragOverCompleted",{insertion:n}),n&&(A?f._hideClone():f._showClone(g),g!==m&&(wz(Kz,lO?lO.options.ghostClass:f.options.ghostClass,!1),wz(Kz,u.ghostClass,!0)),lO!==g&&g!==PO.active?lO=g:g===PO.active&&lO&&(lO=null),m===g&&(g._ignoreWhileAnimating=d),g.animateAll((function(){M("dragOverAnimationComplete"),g._ignoreWhileAnimating=null})),g!==m&&(m.animateAll(),m._ignoreWhileAnimating=null)),(d===Kz&&!Kz.animated||d===c&&!d.animated)&&(mO=null),u.dragoverBubble||e.rootEl||d===document||(Kz.parentNode[Yz]._isOutsideThisEl(e.target),!n&&FO(e)),!u.dragoverBubble&&e.stopPropagation&&e.stopPropagation(),v=!0}function $(){iO=Tz(Kz),aO=Tz(Kz,u.draggable),Jz({sortable:g,name:"change",toEl:c,newIndex:iO,newDraggableIndex:aO,originalEvent:e})}},_ignoreWhileAnimating:null,_offMoveEvents:function(){vz(document,"mousemove",this._onTouchMove),vz(document,"touchmove",this._onTouchMove),vz(document,"pointermove",this._onTouchMove),vz(document,"dragover",FO),vz(document,"mousemove",FO),vz(document,"touchmove",FO)},_offUpEvents:function(){var e=this.el.ownerDocument;vz(e,"mouseup",this._onDrop),vz(e,"touchend",this._onDrop),vz(e,"pointerup",this._onDrop),vz(e,"touchcancel",this._onDrop),vz(document,"selectstart",this)},_onDrop:function(e){var n=this.el,t=this.options;iO=Tz(Kz),aO=Tz(Kz,t.draggable),Vz("drop",this,{evt:e}),Gz=Kz&&Kz.parentNode,iO=Tz(Kz),aO=Tz(Kz,t.draggable),PO.eventCanceled||(yO=!1,wO=!1,xO=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),WO(this.cloneId),WO(this._dragStartId),this.nativeDraggable&&(vz(document,"drop",this),vz(n,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),fz&&kz(document.body,"user-select",""),kz(Kz,"transform",""),e&&(hO&&(e.cancelable&&e.preventDefault(),!t.dropBubble&&e.stopPropagation()),Xz&&Xz.parentNode&&Xz.parentNode.removeChild(Xz),(Qz===Gz||lO&&"clone"!==lO.lastPutMode)&&nO&&nO.parentNode&&nO.parentNode.removeChild(nO),Kz&&(this.nativeDraggable&&vz(Kz,"dragend",this),YO(Kz),Kz.style["will-change"]="",hO&&!yO&&wz(Kz,lO?lO.options.ghostClass:this.options.ghostClass,!1),wz(Kz,this.options.chosenClass,!1),Jz({sortable:this,name:"unchoose",toEl:Gz,newIndex:null,newDraggableIndex:null,originalEvent:e}),Qz!==Gz?(iO>=0&&(Jz({rootEl:Gz,name:"add",toEl:Gz,fromEl:Qz,originalEvent:e}),Jz({sortable:this,name:"remove",toEl:Gz,originalEvent:e}),Jz({rootEl:Gz,name:"sort",toEl:Gz,fromEl:Qz,originalEvent:e}),Jz({sortable:this,name:"sort",toEl:Gz,originalEvent:e})),lO&&lO.save()):iO!==rO&&iO>=0&&(Jz({sortable:this,name:"update",toEl:Gz,originalEvent:e}),Jz({sortable:this,name:"sort",toEl:Gz,originalEvent:e})),PO.active&&(null!=iO&&-1!==iO||(iO=rO,aO=oO),Jz({sortable:this,name:"end",toEl:Gz,originalEvent:e}),this.save())))),this._nulling()},_nulling:function(){Vz("nulling",this),Qz=Kz=Gz=Xz=Zz=nO=eO=tO=cO=dO=hO=iO=aO=rO=oO=mO=gO=lO=sO=PO.dragged=PO.ghost=PO.clone=PO.active=null,SO.forEach((function(e){e.checked=!0})),SO.length=uO=pO=0},handleEvent:function(e){switch(e.type){case"drop":case"dragend":this._onDrop(e);break;case"dragenter":case"dragover":Kz&&(this._onDragOver(e),(n=e).dataTransfer&&(n.dataTransfer.dropEffect="move"),n.cancelable&&n.preventDefault());break;case"selectstart":e.preventDefault()}var n},toArray:function(){for(var e,n=[],t=this.el.children,r=0,i=t.length,o=this.options;r<i;r++)Cz(e=t[r],o.draggable,this.el,!1)&&n.push(e.getAttribute(o.dataIdAttr)||qO(e));return n},sort:function(e){var n={},t=this.el;this.toArray().forEach((function(e,r){var i=t.children[r];Cz(i,this.options.draggable,t,!1)&&(n[e]=i)}),this),e.forEach((function(e){n[e]&&(t.removeChild(n[e]),t.appendChild(n[e]))}))},save:function(){var e=this.options.store;e&&e.set&&e.set(this)},closest:function(e,n){return Cz(e,n||this.options.draggable,this.el,!1)},option:function(e,n){var t=this.options;if(void 0===n)return t[e];var r=Hz.modifyOption(this,e,n);t[e]=void 0!==r?r:n,"group"===e&&IO(t)},destroy:function(){Vz("destroy",this);var e=this.el;e[Yz]=null,vz(e,"mousedown",this._onTapStart),vz(e,"touchstart",this._onTapStart),vz(e,"pointerdown",this._onTapStart),this.nativeDraggable&&(vz(e,"dragover",this),vz(e,"dragenter",this)),Array.prototype.forEach.call(e.querySelectorAll("[draggable]"),(function(e){e.removeAttribute("draggable")})),this._onDrop(),this._disableDelayedDragEvents(),EO.splice(EO.indexOf(this.el),1),this.el=e=null},_hideClone:function(){if(!tO){if(Vz("hideClone",this),PO.eventCanceled)return;kz(nO,"display","none"),this.options.removeCloneOnHide&&nO.parentNode&&nO.parentNode.removeChild(nO),tO=!0}},_showClone:function(e){if("clone"===e.lastPutMode){if(tO){if(Vz("showClone",this),PO.eventCanceled)return;Kz.parentNode!=Qz||this.options.group.revertClone?Zz?Qz.insertBefore(nO,Zz):Qz.appendChild(nO):Qz.insertBefore(nO,Kz),this.options.group.revertClone&&this.animate(Kz,nO),kz(nO,"display",""),tO=!1}}else this._hideClone()}},DO&&gz(document,"touchmove",(function(e){(PO.active||yO)&&e.cancelable&&e.preventDefault()})),PO.utils={on:gz,off:vz,css:kz,find:Sz,is:function(e,n){return!!Cz(e,n,e,!1)},extend:function(e,n){if(e&&n)for(var t in n)n.hasOwnProperty(t)&&(e[t]=n[t]);return e},throttle:Rz,closest:Cz,toggleClass:wz,clone:Lz,index:Tz,nextTick:HO,cancelNextTick:WO,detectDirection:TO,getChild:Oz},PO.get=function(e){return e[Yz]},PO.mount=function(){var e=[].slice.call(arguments);e[0].constructor===Array&&(e=e[0]),e.forEach((function(e){if(!e.prototype||!e.prototype.constructor)throw"Sortable: Mounted plugin must be a constructor function, not "+{}.toString.call(e);e.utils&&(PO.utils=lz({},PO.utils,e.utils)),Hz.mount(e)}))},PO.create=function(e,n){return new PO(e,n)},PO.version="1.12.0";var VO,JO,KO,GO,XO,QO=[],ZO=[],eM=!1,nM=!1,tM=!1;function rM(e,n){ZO.forEach((function(t,r){var i=n.children[t.sortableIndex+(e?Number(r):0)];i?n.insertBefore(t,i):n.appendChild(t)}))}function iM(){QO.forEach((function(e){e!==KO&&e.parentNode&&e.parentNode.removeChild(e)}))}var oM=function(e){var n=e.originalEvent,t=e.putSortable,r=e.dragEl,i=e.dispatchSortableEvent,o=e.unhideGhostForTarget;if(n){var a=t||e.activeSortable;(0,e.hideGhostForTarget)();var s=n.changedTouches&&n.changedTouches.length?n.changedTouches[0]:n,l=document.elementFromPoint(s.clientX,s.clientY);o(),a&&!a.el.contains(l)&&(i("spill"),this.onSpill({dragEl:r,putSortable:t}))}};function aM(){}function sM(){}aM.prototype={startIndex:null,dragStart:function(e){this.startIndex=e.oldDraggableIndex},onSpill:function(e){var n=e.dragEl,t=e.putSortable;this.sortable.captureAnimationState(),t&&t.captureAnimationState();var r=Oz(this.sortable.el,this.startIndex,this.options);r?this.sortable.el.insertBefore(n,r):this.sortable.el.appendChild(n),this.sortable.animateAll(),t&&t.animateAll()},drop:oM},Object.assign(aM,{pluginName:"revertOnSpill"}),sM.prototype={onSpill:function(e){var n=e.dragEl,t=e.putSortable||this.sortable;t.captureAnimationState(),n.parentNode&&n.parentNode.removeChild(n),t.animateAll()},drop:oM},Object.assign(sM,{pluginName:"removeOnSpill"});var lM,cM,dM,uM,pM,fM,AM=[],hM=!1;function mM(){AM.forEach((function(e){clearInterval(e.pid)})),AM=[]}function gM(){clearInterval(fM)}var vM=Rz((function(e,n,t,r){if(n.scroll){var i,o=(e.touches?e.touches[0]:e).clientX,a=(e.touches?e.touches[0]:e).clientY,s=n.scrollSensitivity,l=n.scrollSpeed,c=Dz(),d=!1;cM!==t&&(cM=t,mM(),i=n.scrollFn,!0===(lM=n.scroll)&&(lM=$z(t,!0)));var u=0,p=lM;do{var f=p,A=Bz(f),h=A.top,m=A.bottom,g=A.left,v=A.right,b=A.width,y=A.height,C=void 0,E=void 0,x=f.scrollWidth,w=f.scrollHeight,k=kz(f),_=f.scrollLeft,S=f.scrollTop;f===c?(C=b<x&&("auto"===k.overflowX||"scroll"===k.overflowX||"visible"===k.overflowX),E=y<w&&("auto"===k.overflowY||"scroll"===k.overflowY||"visible"===k.overflowY)):(C=b<x&&("auto"===k.overflowX||"scroll"===k.overflowX),E=y<w&&("auto"===k.overflowY||"scroll"===k.overflowY));var D=C&&(Math.abs(v-o)<=s&&_+b<x)-(Math.abs(g-o)<=s&&!!_),B=E&&(Math.abs(m-a)<=s&&S+y<w)-(Math.abs(h-a)<=s&&!!S);if(!AM[u])for(var z=0;z<=u;z++)AM[z]||(AM[z]={});AM[u].vx==D&&AM[u].vy==B&&AM[u].el===f||(AM[u].el=f,AM[u].vx=D,AM[u].vy=B,clearInterval(AM[u].pid),0==D&&0==B||(d=!0,AM[u].pid=setInterval(function(){r&&0===this.layer&&PO.active._onTouchMove(pM);var n=AM[this.layer].vy?AM[this.layer].vy*l:0,t=AM[this.layer].vx?AM[this.layer].vx*l:0;"function"==typeof i&&"continue"!==i.call(PO.dragged.parentNode[Yz],t,n,e,pM,AM[this.layer].el)||Fz(AM[this.layer].el,t,n)}.bind({layer:u}),24))),u++}while(n.bubbleScroll&&p!==c&&(p=$z(p,!1)));hM=d}}),30);if(PO.mount(new function(){function e(){for(var e in this.defaults={scroll:!0,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0},this)"_"===e.charAt(0)&&"function"==typeof this[e]&&(this[e]=this[e].bind(this))}return e.prototype={dragStarted:function(e){var n=e.originalEvent;this.sortable.nativeDraggable?gz(document,"dragover",this._handleAutoScroll):gz(document,this.options.supportPointer?"pointermove":n.touches?"touchmove":"mousemove",this._handleFallbackAutoScroll)},dragOverCompleted:function(e){var n=e.originalEvent;this.options.dragOverBubble||n.rootEl||this._handleAutoScroll(n)},drop:function(){this.sortable.nativeDraggable?vz(document,"dragover",this._handleAutoScroll):(vz(document,"pointermove",this._handleFallbackAutoScroll),vz(document,"touchmove",this._handleFallbackAutoScroll),vz(document,"mousemove",this._handleFallbackAutoScroll)),gM(),mM(),clearTimeout(Ez),Ez=void 0},nulling:function(){pM=cM=lM=hM=fM=dM=uM=null,AM.length=0},_handleFallbackAutoScroll:function(e){this._handleAutoScroll(e,!0)},_handleAutoScroll:function(e,n){var t=this,r=(e.touches?e.touches[0]:e).clientX,i=(e.touches?e.touches[0]:e).clientY,o=document.elementFromPoint(r,i);if(pM=e,n||uz||dz||fz){vM(e,this.options,o,n);var a=$z(o,!0);!hM||fM&&r===dM&&i===uM||(fM&&gM(),fM=setInterval((function(){var o=$z(document.elementFromPoint(r,i),!0);o!==a&&(a=o,mM()),vM(e,t.options,o,n)}),10),dM=r,uM=i)}else{if(!this.options.bubbleScroll||$z(o,!0)===Dz())return void mM();vM(e,this.options,$z(o,!1),!1)}}},Object.assign(e,{pluginName:"scroll",initializeByDefault:!0})}),PO.mount(sM,aM),PO.mount(new function(){function e(){this.defaults={swapClass:"sortable-swap-highlight"}}return e.prototype={dragStart:function(e){RO=e.dragEl},dragOverValid:function(e){var n=e.completed,t=e.target,r=e.changed,i=e.cancel;if(e.activeSortable.options.swap){var o=this.options;if(t&&t!==this.sortable.el){var a=RO;!1!==(0,e.onMove)(t)?(wz(t,o.swapClass,!0),RO=t):RO=null,a&&a!==RO&&wz(a,o.swapClass,!1)}r(),n(!0),i()}},drop:function(e){var n,t,r,i,o,a,s=e.activeSortable,l=e.putSortable,c=e.dragEl,d=l||this.sortable,u=this.options;RO&&wz(RO,u.swapClass,!1),RO&&(u.swap||l&&l.options.swap)&&c!==RO&&(d.captureAnimationState(),d!==s&&s.captureAnimationState(),a=(t=RO).parentNode,(o=(n=c).parentNode)&&a&&!o.isEqualNode(t)&&!a.isEqualNode(n)&&(r=Tz(n),i=Tz(t),o.isEqualNode(a)&&r<i&&i++,o.insertBefore(t,o.children[r]),a.insertBefore(n,a.children[i])),d.animateAll(),d!==s&&s.animateAll())},nulling:function(){RO=null}},Object.assign(e,{pluginName:"swap",eventProperties:function(){return{swapItem:RO}}})}),PO.mount(new function(){function e(e){for(var n in this)"_"===n.charAt(0)&&"function"==typeof this[n]&&(this[n]=this[n].bind(this));e.options.supportPointer?gz(document,"pointerup",this._deselectMultiDrag):(gz(document,"mouseup",this._deselectMultiDrag),gz(document,"touchend",this._deselectMultiDrag)),gz(document,"keydown",this._checkKeyDown),gz(document,"keyup",this._checkKeyUp),this.defaults={selectedClass:"sortable-selected",multiDragKey:null,setData:function(n,t){var r="";QO.length&&JO===e?QO.forEach((function(e,n){r+=(n?", ":"")+e.textContent})):r=t.textContent,n.setData("Text",r)}}}return e.prototype={multiDragKeyDown:!1,isMultiDrag:!1,delayStartGlobal:function(e){KO=e.dragEl},delayEnded:function(){this.isMultiDrag=~QO.indexOf(KO)},setupClone:function(e){var n=e.sortable,t=e.cancel;if(this.isMultiDrag){for(var r=0;r<QO.length;r++)ZO.push(Lz(QO[r])),ZO[r].sortableIndex=QO[r].sortableIndex,ZO[r].draggable=!1,ZO[r].style["will-change"]="",wz(ZO[r],this.options.selectedClass,!1),QO[r]===KO&&wz(ZO[r],this.options.chosenClass,!1);n._hideClone(),t()}},clone:function(e){var n=e.dispatchSortableEvent,t=e.cancel;this.isMultiDrag&&(this.options.removeCloneOnHide||QO.length&&JO===e.sortable&&(rM(!0,e.rootEl),n("clone"),t()))},showClone:function(e){var n=e.cloneNowShown,t=e.cancel;this.isMultiDrag&&(rM(!1,e.rootEl),ZO.forEach((function(e){kz(e,"display","")})),n(),XO=!1,t())},hideClone:function(e){var n=this,t=e.cloneNowHidden,r=e.cancel;this.isMultiDrag&&(ZO.forEach((function(e){kz(e,"display","none"),n.options.removeCloneOnHide&&e.parentNode&&e.parentNode.removeChild(e)})),t(),XO=!0,r())},dragStartGlobal:function(e){!this.isMultiDrag&&JO&&JO.multiDrag._deselectMultiDrag(),QO.forEach((function(e){e.sortableIndex=Tz(e)})),QO=QO.sort((function(e,n){return e.sortableIndex-n.sortableIndex})),tM=!0},dragStarted:function(e){var n=this,t=e.sortable;if(this.isMultiDrag){if(this.options.sort&&(t.captureAnimationState(),this.options.animation)){QO.forEach((function(e){e!==KO&&kz(e,"position","absolute")}));var r=Bz(KO,!1,!0,!0);QO.forEach((function(e){e!==KO&&Pz(e,r)})),nM=!0,eM=!0}t.animateAll((function(){nM=!1,eM=!1,n.options.animation&&QO.forEach((function(e){jz(e)})),n.options.sort&&iM()}))}},dragOver:function(e){var n=e.completed,t=e.cancel;nM&&~QO.indexOf(e.target)&&(n(!1),t())},revert:function(e){var n,t,r=e.fromSortable,i=e.rootEl,o=e.sortable,a=e.dragRect;QO.length>1&&(QO.forEach((function(e){o.addAnimationState({target:e,rect:nM?Bz(e):a}),jz(e),e.fromRect=a,r.removeAnimationState(e)})),nM=!1,n=!this.options.removeCloneOnHide,t=i,QO.forEach((function(e,r){var i=t.children[e.sortableIndex+(n?Number(r):0)];i?t.insertBefore(e,i):t.appendChild(e)})))},dragOverCompleted:function(e){var n=e.sortable,t=e.isOwner,r=e.activeSortable,i=e.parentEl,o=e.putSortable,a=this.options;if(e.insertion){if(t&&r._hideClone(),eM=!1,a.animation&&QO.length>1&&(nM||!t&&!r.options.sort&&!o)){var s=Bz(KO,!1,!0,!0);QO.forEach((function(e){e!==KO&&(Pz(e,s),i.appendChild(e))})),nM=!0}if(!t)if(nM||iM(),QO.length>1){var l=XO;r._showClone(n),r.options.animation&&!XO&&l&&ZO.forEach((function(e){r.addAnimationState({target:e,rect:GO}),e.fromRect=GO,e.thisAnimationDuration=null}))}else r._showClone(n)}},dragOverAnimationCapture:function(e){var n=e.dragRect,t=e.isOwner,r=e.activeSortable;if(QO.forEach((function(e){e.thisAnimationDuration=null})),r.options.animation&&!t&&r.multiDrag.isMultiDrag){GO=Object.assign({},n);var i=_z(KO,!0);GO.top-=i.f,GO.left-=i.e}},dragOverAnimationComplete:function(){nM&&(nM=!1,iM())},drop:function(e){var n=e.originalEvent,t=e.rootEl,r=e.parentEl,i=e.sortable,o=e.dispatchSortableEvent,a=e.oldIndex,s=e.putSortable,l=s||this.sortable;if(n){var c=this.options,d=r.children;if(!tM)if(c.multiDragKey&&!this.multiDragKeyDown&&this._deselectMultiDrag(),wz(KO,c.selectedClass,!~QO.indexOf(KO)),~QO.indexOf(KO))QO.splice(QO.indexOf(KO),1),VO=null,Wz({sortable:i,rootEl:t,name:"deselect",targetEl:KO,originalEvt:n});else{if(QO.push(KO),Wz({sortable:i,rootEl:t,name:"select",targetEl:KO,originalEvt:n}),n.shiftKey&&VO&&i.el.contains(VO)){var u,p,f=Tz(VO),A=Tz(KO);if(~f&&~A&&f!==A)for(A>f?(p=f,u=A):(p=A,u=f+1);p<u;p++)~QO.indexOf(d[p])||(wz(d[p],c.selectedClass,!0),QO.push(d[p]),Wz({sortable:i,rootEl:t,name:"select",targetEl:d[p],originalEvt:n}))}else VO=KO;JO=l}if(tM&&this.isMultiDrag){if((r[Yz].options.sort||r!==t)&&QO.length>1){var h=Bz(KO),m=Tz(KO,":not(."+this.options.selectedClass+")");if(!eM&&c.animation&&(KO.thisAnimationDuration=null),l.captureAnimationState(),!eM&&(c.animation&&(KO.fromRect=h,QO.forEach((function(e){if(e.thisAnimationDuration=null,e!==KO){var n=nM?Bz(e):h;e.fromRect=n,l.addAnimationState({target:e,rect:n})}}))),iM(),QO.forEach((function(e){d[m]?r.insertBefore(e,d[m]):r.appendChild(e),m++})),a===Tz(KO))){var g=!1;QO.forEach((function(e){e.sortableIndex===Tz(e)||(g=!0)})),g&&o("update")}QO.forEach((function(e){jz(e)})),l.animateAll()}JO=l}(t===r||s&&"clone"!==s.lastPutMode)&&ZO.forEach((function(e){e.parentNode&&e.parentNode.removeChild(e)}))}},nullingGlobal:function(){this.isMultiDrag=tM=!1,ZO.length=0},destroyGlobal:function(){this._deselectMultiDrag(),vz(document,"pointerup",this._deselectMultiDrag),vz(document,"mouseup",this._deselectMultiDrag),vz(document,"touchend",this._deselectMultiDrag),vz(document,"keydown",this._checkKeyDown),vz(document,"keyup",this._checkKeyUp)},_deselectMultiDrag:function(e){if(!(void 0!==tM&&tM||JO!==this.sortable||e&&Cz(e.target,this.options.draggable,this.sortable.el,!1)||e&&0!==e.button))for(;QO.length;){var n=QO[0];wz(n,this.options.selectedClass,!1),QO.shift(),Wz({sortable:this.sortable,rootEl:this.sortable.el,name:"deselect",targetEl:n,originalEvt:e})}},_checkKeyDown:function(e){e.key===this.options.multiDragKey&&(this.multiDragKeyDown=!0)},_checkKeyUp:function(e){e.key===this.options.multiDragKey&&(this.multiDragKeyDown=!1)}},Object.assign(e,{pluginName:"multiDrag",utils:{select:function(e){var n=e.parentNode[Yz];n&&n.options.multiDrag&&!~QO.indexOf(e)&&(JO&&JO!==n&&(JO.multiDrag._deselectMultiDrag(),JO=n),wz(e,n.options.selectedClass,!0),QO.push(e))},deselect:function(e){var n=e.parentNode[Yz],t=QO.indexOf(e);n&&n.options.multiDrag&&~t&&(wz(e,n.options.selectedClass,!1),QO.splice(t,1))}},eventProperties:function(){var e=this,n=[],t=[];return QO.forEach((function(r){var i;n.push({multiDragElement:r,index:r.sortableIndex}),i=nM&&r!==KO?-1:nM?Tz(r,":not(."+e.options.selectedClass+")"):Tz(r),t.push({multiDragElement:r,index:i})})),{items:[].concat(QO),clones:[].concat(ZO),oldIndicies:n,newIndicies:t}},optionListeners:{multiDragKey:function(e){return"ctrl"===(e=e.toLowerCase())?e="Control":e.length>1&&(e=e.charAt(0).toUpperCase()+e.substr(1)),e}}})}),xt.directive("sortable",((e,n)=>{if(n.value===n.oldValue)return;new PO(e,n.value||{})})),xt.filter("localize",((e,n)=>xu.localize(e,n))),xt.config.errorHandler=(e,n,t)=>{console.error(e)},xt.config.warnHandler=(e,n,t)=>{console.error(`[zero warn]: ${e}${t}`)},!__zero||!__zero.apiPath)throw Exception("window.zero and zero.apiPath (= base path to the backoffice API) have to be configured");rl.defaults.baseURL=__zero.apiPath,rl.defaults.withCredentials=!0,rl.defaults.paramsSerializer=e=>uB(e,{allowDots:!0}),rl.interceptors.response.use((e=>e),(e=>(e.response&&401===e.response.status&&Im.rejectUser("@login.rejectReasons.inactive"),Promise.reject(e)))),rl.interceptors.request.use((e=>{if(location.search){var n=dB(location.search.substring(1));n.scope&&(e.params||(e.params={}),e.params.scope=n.scope)}return e}),(e=>Promise.reject(e))),Object.entries(oz).forEach((e=>{xt.component(e[0],e[1].default||e[1])})),xt.use(ya),xt.use(zm),ng.router=zm.instance.router,new xt(ng).$mount("#app");