').appendTo(e);if(n.append(t),this.settings.sortable&&(n.append('
'),this.structureDrag.addItems(e)),this.settings.newChildUrl){var i=$('
').appendTo(n);this.initNewChildMenus(i)}n.css("margin-bottom",-30),n.velocity({"margin-bottom":0},"fast")},removeElement:function(t){var e,n=this,i=t.parent().parent();this.settings.sortable&&this.structureDrag.removeItems(i),i.siblings().length||(e=i.parent()),i.css("visibility","hidden").velocity({marginBottom:-i.height()},"fast",(function(){i.remove(),void 0!==e&&n._removeUl(e)}))},_removeUl:function(t){t.siblings(".row").children(".toggle").remove(),t.remove()},destroy:function(){this.$container.removeData("structure"),this.base()}},{baseIndent:8,nestedIndent:35,defaults:{storageKey:null,sortable:!1,newChildUrl:null,maxLevels:null}})},146:function(){function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(){"use strict";e=function(){return i};var n,i={},r=Object.prototype,a=r.hasOwnProperty,s=Object.defineProperty||function(t,e,n){t[e]=n.value},o="function"==typeof Symbol?Symbol:{},l=o.iterator||"@@iterator",c=o.asyncIterator||"@@asyncIterator",u=o.toStringTag||"@@toStringTag";function h(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{h({},"")}catch(n){h=function(t,e,n){return t[e]=n}}function d(t,e,n,i){var r=e&&e.prototype instanceof b?e:b,a=Object.create(r.prototype),o=new A(i||[]);return s(a,"_invoke",{value:T(t,n,o)}),a}function f(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}i.wrap=d;var p="suspendedStart",g="suspendedYield",m="executing",v="completed",y={};function b(){}function w(){}function C(){}var $={};h($,l,(function(){return this}));var _=Object.getPrototypeOf,S=_&&_(_(P([])));S&&S!==r&&a.call(S,l)&&($=S);var x=C.prototype=b.prototype=Object.create($);function I(t){["next","throw","return"].forEach((function(e){h(t,e,(function(t){return this._invoke(e,t)}))}))}function E(e,n){function i(r,s,o,l){var c=f(e[r],e,s);if("throw"!==c.type){var u=c.arg,h=u.value;return h&&"object"==t(h)&&a.call(h,"__await")?n.resolve(h.__await).then((function(t){i("next",t,o,l)}),(function(t){i("throw",t,o,l)})):n.resolve(h).then((function(t){u.value=t,o(u)}),(function(t){return i("throw",t,o,l)}))}l(c.arg)}var r;s(this,"_invoke",{value:function(t,e){function a(){return new n((function(n,r){i(t,e,n,r)}))}return r=r?r.then(a,a):a()}})}function T(t,e,i){var r=p;return function(a,s){if(r===m)throw Error("Generator is already running");if(r===v){if("throw"===a)throw s;return{value:n,done:!0}}for(i.method=a,i.arg=s;;){var o=i.delegate;if(o){var l=D(o,i);if(l){if(l===y)continue;return l}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if(r===p)throw r=v,i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);r=m;var c=f(t,e,i);if("normal"===c.type){if(r=i.done?v:g,c.arg===y)continue;return{value:c.arg,done:i.done}}"throw"===c.type&&(r=v,i.method="throw",i.arg=c.arg)}}}function D(t,e){var i=e.method,r=t.iterator[i];if(r===n)return e.delegate=null,"throw"===i&&t.iterator.return&&(e.method="return",e.arg=n,D(t,e),"throw"===e.method)||"return"!==i&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+i+"' method")),y;var a=f(r,t.iterator,e.arg);if("throw"===a.type)return e.method="throw",e.arg=a.arg,e.delegate=null,y;var s=a.arg;return s?s.done?(e[t.resultName]=s.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=n),e.delegate=null,y):s:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,y)}function L(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function k(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function A(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(L,this),this.reset(!0)}function P(e){if(e||""===e){var i=e[l];if(i)return i.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,s=function t(){for(;++r
=0;--r){var s=this.tryEntries[r],o=s.completion;if("root"===s.tryLoc)return i("end");if(s.tryLoc<=this.prev){var l=a.call(s,"catchLoc"),c=a.call(s,"finallyLoc");if(l&&c){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&a.call(i,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),k(n),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var r=i.arg;k(n)}return r}}throw Error("illegal catch attempt")},delegateYield:function(t,e,i){return this.delegate={iterator:P(t),resultName:e,nextLoc:i},"next"===this.method&&(this.arg=n),y}},i}function n(t,e,n,i,r,a,s){try{var o=t[a](s),l=o.value}catch(t){return void n(t)}o.done?e(l):Promise.resolve(l).then(i,r)}var i,r;Craft.EntrySelectInput=Craft.BaseElementSelectInput.extend({get section(){var t=this;return this.settings.sectionId?Craft.publishableSections.find((function(e){return e.id===t.settings.sectionId})):null},canCreateElements:function(){return!!this.section},createElement:(i=e().mark((function t(n){var i,r;return e().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Craft.sendActionRequest("POST","entries/create",{data:{siteId:this.settings.criteria.siteId,section:this.section.handle,authorId:Craft.userId,title:n}});case 2:return i=t.sent,r=i.data.entry,t.prev=4,t.next=7,this.showElementEditor(r);case 7:t.next=12;break;case 9:return t.prev=9,t.t0=t.catch(4),t.abrupt("return",null);case 12:return t.abrupt("return",r.id);case 13:case"end":return t.stop()}}),t,this,[[4,9]])})),r=function(){var t=this,e=arguments;return new Promise((function(r,a){var s=i.apply(t,e);function o(t){n(s,r,a,o,l,"next",t)}function l(t){n(s,r,a,o,l,"throw",t)}o(void 0)}))},function(t){return r.apply(this,arguments)}),showElementEditor:function(t){var e=this;return new Promise((function(n,i){var r=Craft.createElementEditor("craft\\elements\\Entry",{siteId:e.settings.criteria.siteId,elementId:t.id,draftId:t.draftId,params:{fresh:1}}),a=!1;r.on("submit",(function(){a=!0,n()})),r.on("close",(function(){a||i()}))}))}})},258:function(){function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function n(t){for(var n=1;n').appendTo(Garnish.$bod),this.$body=$('').appendTo(this.$container),this.$footer=$('').appendTo(this.$container),this.base(this.$container,this.settings),this.$buttons=$('').appendTo(this.$footer),this.$cancelBtn=$("",{type:"button",class:"btn cancel",text:Craft.t("app","Cancel")}).appendTo(this.$buttons),this.settings.allowSavingAsNew&&(this.$saveBtn=Craft.ui.createButton({class:"save copy",label:Craft.t("app","Save as a new {type}",{type:Craft.elementTypeNames["craft\\elements\\Asset"][2]}),spinner:!0}).appendTo(this.$buttons),this.addListener(this.$saveBtn,"activate",this.saveImage)),this.$replaceBtn=Craft.ui.createSubmitButton({class:"save replace",label:Craft.t("app","Save"),spinner:!0}).appendTo(this.$buttons),this.addListener(this.$replaceBtn,"activate",this.saveImage),this.addListener(this.$cancelBtn,"activate",this.hide),this.removeListener(this.$shade,"click"),this.maxImageSize=this.getMaxImageSize(),Craft.sendActionRequest("POST","assets/image-editor",{data:{assetId:t}}).then((function(t){return n.loadEditor(t.data)}));var i=document.documentElement,r=window.getComputedStyle(i);this.mediumBlueColor=r.getPropertyValue("--blue-500"),this.addLiveRegion()},getMaxImageSize:function(){var t=Garnish.$doc.get(0).documentElement.clientWidth,e=Garnish.$doc.get(0).documentElement.clientHeight;return Math.max(e,t)*(window.devicePixelRatio>1?2:1)},loadEditor:function(t){var e=this;t.html||Craft.cp.displayError(Craft.t("app","Could not load the image editor.")),this.$body.html(t.html),this.$tabs=$(".tabs li",this.$body),this.$viewsContainer=$(".views",this.$body),this.$views=$("> div",this.$viewsContainer),this.$imageTools=$(".image-container .image-tools",this.$body),this.$editorContainer=$(".image-container .image",this.$body),this.$constraintContainer=$(".constraint-group",this.$body),this.$constraintRadioInputs=$('[name="constraint"]',this.$constraintContainer),this.$orientationField=$("#orientation",this.$body),this.$focalPointBtn=$(".focal-point",this.$body),this.editorHeight=this.$editorContainer.innerHeight(),this.editorWidth=this.$editorContainer.innerWidth(),this.$fabricElementEditBtn=$("[data-fabric-element]",this.$body);var n=$("#move-icon-wrapper svg").prop("outerHTML");fabric.loadSVGFromString(n,(function(t,n){var i=fabric.util.groupSVGElements(t,n);i.set({left:0,top:0,scaleX:.03,scaleY:.03,originX:"center",originY:"center",fill:"white"}),e.moveIcon=i})),this._showSpinner(),this.updateSizeAndPosition(),$customConstraintWrapper=this.$constraintRadioInputs.filter('[value="custom"]').parent(),$customConstraintGroupLabel=$customConstraintWrapper.find("label"),this.$customConstraints=$("",{class:"constraint custom hidden","data-constraint":"custom",role:"group","aria-labelledby":$customConstraintGroupLabel.attr("id")}).append($("",{type:"text",class:"custom-constraint-w",size:3,value:1,"aria-label":Craft.t("app","Width unit")})).append($("",{class:"custom-constraint-spacer",text:"x","aria-hidden":"true"})).append($("",{type:"text",class:"custom-constraint-h",size:3,value:1,"aria-label":Craft.t("app","Height unit")})).appendTo($customConstraintWrapper),this.$constraintRadioInputs.filter((function(){var t=$(this).val();return/^\d*\.\d+$/.test(t)})).addClass("flip"),this.canvas=new fabric.StaticCanvas("image-canvas"),this.$croppingCanvas=$("#cropping-canvas",this.$editorContainer),this.$croppingCanvas.width(this.editorWidth),this.$croppingCanvas.height(this.editorHeight),this.canvas.enableRetinaScaling=!0,this.renderImage=function(){Garnish.requestAnimationFrame(e.canvas.renderAll.bind(e.canvas))};var i=Craft.getActionUrl("assets/edit-image",{assetId:this.assetId,size:this.maxImageSize,cacheBust:this.cacheBust});fabric.Image.fromURL(i,(function(n){e.image=n,e.image.set({originX:"center",originY:"center",left:e.editorWidth/2,top:e.editorHeight/2}),e.canvas.add(e.image),e.originalHeight=e.image.getHeight(),e.originalWidth=e.image.getWidth(),e.zoomRatio=1,e.lastLoadedDimensions=e.getScaledImageDimensions(),e._setFittedImageVerticeCoordinates(),e._repositionEditorElements();var i={imageDimensions:e.getScaledImageDimensions(),offsetX:0,offsetY:0},r=!1;if(t.focalPoint){var a=t.focalPoint,s=i.imageDimensions.width*a.x,o=i.imageDimensions.height*a.y;i.offsetX=s-i.imageDimensions.width/2,i.offsetY=o-i.imageDimensions.height/2,r=!0}e.storeFocalPointState(i),r&&e._createFocalPoint(),e._createViewport(),e.storeCropperState(),e._addControlListeners(),e.addListener(e.$croppingCanvas,"mousemove,touchmove",e._handleMouseMove),e.addListener(e.$croppingCanvas,"mousedown,touchstart",e._handleMouseDown),e.addListener(e.$croppingCanvas,"mouseup,touchend",e._handleMouseUp),e.addListener(e.$croppingCanvas,"mouseout,touchcancel",e._handleMouseOut),e._hideSpinner(),e.renderImage(),e.$tabs.first().trigger("click")}))},_reloadImage:function(){var t=this;if(!this.imageIsLoading){this.imageIsLoading=!0,this.maxImageSize=this.getMaxImageSize();var e=Craft.getActionUrl("assets/edit-image",{assetId:this.assetId,size:this.maxImageSize,cacheBust:this.cacheBust});this.image.setSrc(e,(function(e){t.originalHeight=e.getHeight(),t.originalWidth=e.getWidth(),t.lastLoadedDimensions={width:t.originalHeight,height:t.originalWidth},t.updateSizeAndPosition(),t.renderImage(),t.imageIsLoading=!1}))}},updateSizeAndPosition:function(){if(this.$container){var t=window.innerWidth,e=window.innerHeight;this.$container.css({width:t,"min-width":t,left:0,height:e,"min-height":e,top:0}),this.$body.css({height:e-(this.$footer.outerHeight()-1)}),t1.5||e.height/this.lastLoadedDimensions.height>1.5)&&this._reloadImage()},_repositionImage:function(t){this.image.set({left:this.image.left-(t.width-this.editorWidth)/2,top:this.image.top-(t.height-this.editorHeight)/2})},_createViewport:function(){this.viewport=new fabric.Rect({width:this.image.width,height:this.image.height,fill:"rgba(127,0,0,1)",originX:"center",originY:"center",globalCompositeOperation:"destination-in",left:this.image.left,top:this.image.top}),this.canvas.add(this.viewport),this.renderImage()},_createFocalPoint:function(){var t=this.focalPointState,e=this.getScaledImageDimensions().width/t.imageDimensions.width,n=t.offsetX*e*this.zoomRatio*this.scaleFactor,i=t.offsetY*e*this.zoomRatio*this.scaleFactor;n+=this.image.left,i+=this.image.top;var r=0,a=0;this.viewport&&0===t.offsetX&&0===t.offsetY&&("crop"!==this.currentView?(r=this.viewport.left-this.image.left,a=this.viewport.top-this.image.top):(r=this.clipper.left-this.image.left,a=this.clipper.top-this.image.top),n+=r,i+=a,t.offsetX+=r/(e*this.zoomRatio*this.scaleFactor),t.offsetY+=a/(e*this.zoomRatio*this.scaleFactor)),this.focalPointOuterCircle=new fabric.Circle({radius:8,fill:"rgba(0,0,0,0.5)",strokeWidth:2,stroke:"rgba(255,255,255,0.8)",left:0,top:0,originX:"center",originY:"center"}),this.focalPointInnerCircle=new fabric.Circle({radius:1,fill:"rgba(255,255,255,0)",strokeWidth:2,stroke:"rgba(255,255,255,0.8)",left:0,top:0,originX:"center",originY:"center"}),this.focalPointPickedIndicator=new fabric.Circle({radius:12,strokeWidth:0,stroke:"rgba(255,255,255,0.8)",left:0,top:0,originX:"center",originY:"center"}),this.focalPoint=new fabric.Group([this.focalPointPickedIndicator,this.focalPointOuterCircle,this.focalPointInnerCircle],{originX:"center",originY:"center",left:n,top:i}),this.storeFocalPointState(t),this.canvas.add(this.focalPoint)},toggleFocalPoint:function(){this.focalPoint?(this.prevFocalPoint=this.focalPoint,this.canvas.remove(this.focalPoint),this.focalPoint=null):(this._createFocalPoint(),this.prevFocalPoint=null),this.renderImage()},_repositionViewport:function(){if(this.viewport){var t={left:this.editorWidth/2,top:this.editorHeight/2};if("crop"===this.currentView)t.width=this.editorWidth,t.height=this.editorHeight;else if(this.cropperState){var e=this.cropperState,n=this.getScaledImageDimensions().width/e.imageDimensions.width;t.width=e.width*n*this.zoomRatio,t.height=e.height*n*this.zoomRatio,this.image.set({left:this.editorWidth/2-e.offsetX*n,top:this.editorHeight/2-e.offsetY*n})}else $.extend(t,this.getScaledImageDimensions());this.viewport.set(t)}},_repositionFocalPoint:function(t){if(this.focalPoint){var e=this.focalPoint.left-this.editorWidth/2,n=this.focalPoint.top-this.editorHeight/2,i=this.image.width,r=this.getScaledImageDimensions().width*this.zoomRatio/i/this.scaleFactor;e-=(t.width-this.editorWidth)/2,n-=(t.height-this.editorHeight)/2,e*=r,n*=r,this.focalPoint.set({left:this.editorWidth/2+e,top:this.editorHeight/2+n})}},hasOrientationChanged:function(){return this.viewportRotation%180!=0},getScaledImageDimensions:function(){return void 0===this.getScaledImageDimensions._&&(this.getScaledImageDimensions._={}),this.getScaledImageDimensions._.imageRatio=this.originalHeight/this.originalWidth,this.getScaledImageDimensions._.editorRatio=this.editorHeight/this.editorWidth,this.getScaledImageDimensions._.dimensions={},this.getScaledImageDimensions._.imageRatio>this.getScaledImageDimensions._.editorRatio?(this.getScaledImageDimensions._.dimensions.height=Math.min(this.editorHeight,this.originalHeight),this.getScaledImageDimensions._.dimensions.width=Math.round(this.originalWidth/(this.originalHeight/this.getScaledImageDimensions._.dimensions.height))):(this.getScaledImageDimensions._.dimensions.width=Math.min(this.editorWidth,this.originalWidth),this.getScaledImageDimensions._.dimensions.height=Math.round(this.originalHeight*(this.getScaledImageDimensions._.dimensions.width/this.originalWidth))),this.getScaledImageDimensions._.dimensions},_zoomImage:function(){void 0===this._zoomImage._&&(this._zoomImage._={}),this._zoomImage._.imageDimensions=this.getScaledImageDimensions(),this.image.set({width:this._zoomImage._.imageDimensions.width*this.zoomRatio,height:this._zoomImage._.imageDimensions.height*this.zoomRatio})},_getPrevTab:function(){var t,e=this._getActiveTabIndex();if(!(e<0))return t=e>0?e-1:this.$tabs.length-1,this.$tabs.eq(t)},_getNextTab:function(){var t,e=this._getActiveTabIndex();if(!(e<0))return t=e0&&t.h>0&&(this.setCroppingConstraint(t.w/t.h),this.enforceCroppingConstraint())},_getCustomConstraint:function(){var t=parseFloat($(".custom-constraint-w").val()),e=parseFloat($(".custom-constraint-h").val());return{w:isNaN(t)?0:t,h:isNaN(e)?0:e}},_setCustomConstraint:function(t,e){$(".custom-constraint-w").val(parseFloat(t)),$(".custom-constraint-h").val(parseFloat(e))},_hideCustomConstraint:function(){this.showingCustomConstraint=!1,this.$customConstraints.addClass("hidden"),$(".orientation",this.$container).removeClass("hidden")},_showCustomConstraint:function(){this.showingCustomConstraint||(this.showingCustomConstraint=!0,this.$customConstraints.removeClass("hidden"),$(".orientation",this.$container).addClass("hidden"))},_handleTabClick:function(t){if(!this.animationInProgress){var e=$(t.currentTarget);this.activateTab(e)}},activateTab:function(t){var e=$(t).data("view");this.$tabs.removeClass("selected").attr({"aria-selected":"false",tabindex:"-1"}),$(t).addClass("selected").attr({"aria-selected":"true",tabindex:"0"}).focus(),this.showView(e)},showView:function(t){var e=this;this.currentView!==t&&(this.$views.addClass("hidden"),this.$views.filter('[data-view="'+t+'"]').removeClass("hidden"),"rotate"===t?this.enableSlider():this.disableSlider(),this.updateSizeAndPosition(),"crop"===this.currentView&&"crop"!==t?this._queue.push((function(){return new Promise((function(t,n){e.disableCropMode(),t()}))})):"crop"!==this.currentView&&"crop"===t&&this._queue.push((function(){return new Promise((function(t,n){e.enableCropMode(),t()}))})),this.currentView=t)},storeCropperState:function(t){void 0===this.storeCropperState._&&(this.storeCropperState._={}),t?this.cropperState=t:this.clipper?(this.storeCropperState._.zoomFactor=1/this.zoomRatio,this.cropperState={offsetX:(this.clipper.left-this.image.left)*this.storeCropperState._.zoomFactor,offsetY:(this.clipper.top-this.image.top)*this.storeCropperState._.zoomFactor,height:this.clipper.height*this.storeCropperState._.zoomFactor,width:this.clipper.width*this.storeCropperState._.zoomFactor,imageDimensions:this.getScaledImageDimensions()}):(this.storeCropperState._.dimensions=this.getScaledImageDimensions(),this.cropperState={offsetX:0,offsetY:0,height:this.storeCropperState._.dimensions.height,width:this.storeCropperState._.dimensions.width,imageDimensions:this.storeCropperState._.dimensions})},storeFocalPointState:function(t){void 0===this.storeFocalPointState._&&(this.storeFocalPointState._={}),t?this.focalPointState=t:this.focalPoint&&(this.storeFocalPointState._.zoomFactor=1/this.zoomRatio,this.focalPointState={offsetX:(this.focalPoint.left-this.image.left)*this.storeFocalPointState._.zoomFactor/this.scaleFactor,offsetY:(this.focalPoint.top-this.image.top)*this.storeFocalPointState._.zoomFactor/this.scaleFactor,imageDimensions:this.getScaledImageDimensions()})},rotateImage:function(t){var e=this;if(!this.animationInProgress){if(90!==t&&-90!==t)return!1;this.animationInProgress=!0,this.viewportRotation+=t,this.viewportRotation=parseInt((this.viewportRotation+360)%360,10);var n,i=this.image.angle+t,r=this.getScaledImageDimensions();n=this.hasOrientationChanged()?this.getZoomToCoverRatio({height:r.width,width:r.height}):this.getZoomToCoverRatio(r),this.zoomRatio>n&&(n=this.zoomRatio);var a={angle:90===t?"+=90":"-=90"},s={angle:i,width:r.width*n,height:r.height*n},o=1;this.scaleFactor<1?(o=1/this.scaleFactor,this.scaleFactor=1):(this.viewport.width>this.editorHeight?o=this.editorHeight/this.viewport.width:this.viewport.height>this.editorWidth&&(o=this.editorWidth/this.viewport.height),this.scaleFactor=o),o<1&&(s.width*=o,s.height*=o);var l=this.cropperState,c=l.offsetX,u=l.offsetY,h=t*(Math.PI/180),d=c*Math.cos(h)-u*Math.sin(h),f=c*Math.sin(h)+u*Math.cos(h),p=r.width/l.imageDimensions.width,g=d*p*this.zoomRatio*this.scaleFactor,m=f*p*this.zoomRatio*this.scaleFactor;s.left=this.editorWidth/2-g,s.top=this.editorHeight/2-m,l.offsetX=d,l.offsetY=f;var v=l.width;l.width=l.height,l.height=v,this.storeCropperState(l),this.focalPoint&&this.canvas.remove(this.focalPoint),this.viewport.animate(a,{duration:this.settings.animationDuration,onComplete:function(){var t=e.viewport.height*o;e.viewport.height=e.viewport.width*o,e.viewport.width=t,e.viewport.set({angle:0})}}),this.image.animate(s,{onChange:this.canvas.renderAll.bind(this.canvas),duration:this.settings.animationDuration,onComplete:function(){var n=parseFloat((e.image.angle+360)%360);e.image.set({angle:n}),e.animationInProgress=!1,e.focalPoint?(e._adjustFocalPointByAngle(t),e.straighten(e.straighteningInput),e.canvas.add(e.focalPoint)):e._resetFocalPointPosition()}})}},flipImage:function(t){var e=this;if(!this.animationInProgress){this.animationInProgress=!0,this.hasOrientationChanged()&&(t="y"===t?"x":"y"),this.focalPoint?this.canvas.remove(this.focalPoint):this._resetFocalPointPosition();var n={x:this.editorWidth/2,y:this.editorHeight/2};this.straighteningInput.setValue(-this.imageStraightenAngle),this.imageStraightenAngle=-this.imageStraightenAngle;var i,r,a={angle:this.viewportRotation+this.imageStraightenAngle},s=this.cropperState,o=this.focalPointState;"y"===t&&this.hasOrientationChanged()||"y"!==t&&!this.hasOrientationChanged()?(s.offsetX=-s.offsetX,o.offsetX=-o.offsetX,r=this.image.left-n.x,a.left=n.x-r):(s.offsetY=-s.offsetY,o.offsetY=-o.offsetY,i=this.image.top-n.y,a.top=n.y-i),"y"===t?(a.scaleY=-1*this.image.scaleY,this.flipData.y=1-this.flipData.y):(a.scaleX=-1*this.image.scaleX,this.flipData.x=1-this.flipData.x),this.storeCropperState(s),this.storeFocalPointState(o);var l=this.image._set;this.image._set=function(t,e){return"scaleX"===t||"scaleY"===t?(this[t]=e,this.dirty=!0,this):l.call(this,t,e)},this.image.flipX=!1,this.image.flipY=!1,this.image.animate(a,{onChange:this.canvas.renderAll.bind(this.canvas),duration:this.settings.animationDuration,onComplete:function(){e.image._set=l,e.animationInProgress=!1,e.focalPoint&&(e._adjustFocalPointByAngle(0),e.canvas.add(e.focalPoint))}})}},straighten:function(t){if(!this.animationInProgress){this.animationInProgress=!0;var e=this.image.angle;this.imageStraightenAngle=(this.settings.allowDegreeFractions?parseFloat(t.value):Math.round(parseFloat(t.value)))%360,this.image.set({angle:this.viewportRotation+this.imageStraightenAngle}),this.zoomRatio=this.getZoomToCoverRatio(this.getScaledImageDimensions())*this.scaleFactor,this._zoomImage(),this.cropperState&&this._adjustEditorElementsOnStraighten(e),this.renderImage(),this.animationInProgress=!1}},_adjustEditorElementsOnStraighten:function(t){var e,n,i,r,a,s=this.getScaledImageDimensions(),o=this.image.angle-t,l=this.cropperState,c=this.zoomRatio,u=1;do{var h=l.offsetX,d=l.offsetY,f=o*(Math.PI/180);i=h*Math.cos(f)-d*Math.sin(f),r=h*Math.sin(f)+d*Math.cos(f),e=i*c*(a=s.width/l.imageDimensions.width),n=r*c*a;var p=this.getImageVerticeCoords(c),g={width:this.viewport.width,height:this.viewport.height,left:this.editorWidth/2-this.viewport.width/2+e,top:this.editorHeight/2-this.viewport.height/2+n};c*=u=this._getZoomRatioToFitRectangle(g,p)}while(1!==u);this.image.set({left:this.editorWidth/2-e,top:this.editorHeight/2-n}),l.offsetX=i,l.offsetY=r,l.width=this.viewport.width/c/a,l.height=this.viewport.height/c/a,this.storeCropperState(l),this.zoomRatio=c,this.focalPoint?(this._adjustFocalPointByAngle(o),this._isCenterInside(this.focalPoint,this.viewport)?this.focalPoint.set({opacity:1}):this.focalPoint.set({opacity:0})):0!==o&&this._resetFocalPointPosition(),this._zoomImage()},_cleanupFocalPointAfterStraighten:function(){if(this.focalPoint&&!this._isCenterInside(this.focalPoint,this.viewport)){this.focalPoint.set({opacity:1});var t=this.focalPointState;t.offsetX=0,t.offsetY=0,this.storeFocalPointState(t),this.toggleFocalPoint()}},_resetFocalPointPosition:function(){var t=this.focalPointState;t.offsetX=0,t.offsetY=0,this.storeFocalPointState(t)},_isCenterInside:function(t,e){return t.left>e.left-e.width/2&&t.top>e.top-e.height/2&&t.leftthis.editorHeight||e.width>this.editorWidth){var i=this.editorHeight/e.height,r=this.editorWidth/e.width;n=Math.min(r,i)}return n},getCombinedZoomRatio:function(t){return this.getZoomToCoverRatio(t)/this.getZoomToFitRatio(t)},_showGrid:function(){if(!this.grid){var t,e={strokeWidth:1,stroke:"rgba(255,255,255,0.5)"},n=this.viewport.width,i=this.viewport.height,r=n/9,a=i/9,s=[new fabric.Rect({strokeWidth:2,stroke:this.settings.colors.white,originX:"center",originY:"center",width:n,height:i,left:n/2,top:i/2,fill:"rgba(255,255,255,0)"})];for(t=1;t<=8;t++)s.push(new fabric.Line([t*r,0,t*r,i],e));for(t=1;t<=8;t++)s.push(new fabric.Line([0,t*a,n,t*a],e));this.grid=new fabric.Group(s,{left:this.editorWidth/2,top:this.editorHeight/2,originX:"center",originY:"center",angle:this.viewport.angle}),this.canvas.add(this.grid),this.renderImage()}},_hideGrid:function(){this.canvas.remove(this.grid),this.grid=null,this.renderImage()},onFadeOut:function(){this.destroy()},show:function(){this.base(),Garnish.$bod.addClass("no-scroll")},hide:function(){this.removeAllListeners(),this.straighteningInput.removeAllListeners(),Garnish.$bod.removeClass("no-scroll"),this.base()},onSave:function(t){this.settings.onSave(t),this.trigger("save")},enableSlider:function(){this.$imageTools.removeClass("hidden")},disableSlider:function(){this.$imageTools.addClass("hidden")},enableCropMode:function(){var t=this,e=this.getScaledImageDimensions();this.zoomRatio=this.getZoomToFitRatio(e);var n={width:this.editorWidth,height:this.editorHeight},i={width:e.width*this.zoomRatio,height:e.height*this.zoomRatio,left:this.editorWidth/2,top:this.editorHeight/2};this._editorModeTransition((function(){t._setFittedImageVerticeCoordinates();var e=t.cropperState,n=t.getScaledImageDimensions(),i=n.width/e.imageDimensions.width,r={left:t.image.left+e.offsetX*i*t.zoomRatio,top:t.image.top+e.offsetY*i*t.zoomRatio,width:e.width*i*t.zoomRatio,height:e.height*i*t.zoomRatio};t._showCropper(r),t.focalPoint&&(i=n.width/t.focalPointState.imageDimensions.width,t.focalPoint.left=t.image.left+t.focalPointState.offsetX*i*t.zoomRatio,t.focalPoint.top=t.image.top+t.focalPointState.offsetY*i*t.zoomRatio,t.canvas.add(t.focalPoint))}),i,n)},disableCropMode:function(){var t=this,e={};this._hideCropper();var n=this.getScaledImageDimensions(),i=this.getZoomToCoverRatio(n)*this.scaleFactor,r=i/this.zoomRatio;this.zoomRatio=i;var a={width:n.width*this.zoomRatio,height:n.height*this.zoomRatio,left:this.editorWidth/2,top:this.editorHeight/2},s=(this.clipper.left-this.image.left)*r,o=(this.clipper.top-this.image.top)*r;a.left=this.editorWidth/2-s,a.top=this.editorHeight/2-o,e.height=this.clipper.height*r,e.width=this.clipper.width*r,(!this.focalPoint||this.focalPoint&&!this._isCenterInside(this.focalPoint,this.clipper))&&(this.focalPoint&&this.toggleFocalPoint(),this._resetFocalPointPosition()),this._editorModeTransition((function(){if(t.focalPoint){var e=t.getScaledImageDimensions().width/t.focalPointState.imageDimensions.width;t.focalPoint.left=t.image.left+t.focalPointState.offsetX*e*t.zoomRatio,t.focalPoint.top=t.image.top+t.focalPointState.offsetY*e*t.zoomRatio,t.canvas.add(t.focalPoint)}}),a,e)},_editorModeTransition:function(t,e,n){var i=this;this._queue.pause(),this.animationInProgress||(this.animationInProgress=!0,this.focalPoint&&(this.canvas.remove(this.focalPoint),this.renderImage()),this.image.animate(e,{onChange:this.canvas.renderAll.bind(this.canvas),duration:this.settings.animationDuration,onComplete:function(){t(),i.animationInProgress=!1,i.renderImage(),i._queue.resume()}}),this.viewport.animate(n,{duration:this.settings.animationDuration}))},_showSpinner:function(){this.$spinner||(this.$spinner=$('')),this.$spinner.appendTo(this.$container.find(".image"))},_hideSpinner:function(){this.$spinner.remove()},_showCropper:function(t){this._setupCropperLayer(t),this._redrawCropperElements(),this.renderCropper()},_hideCropper:function(){this.clipper&&(this.croppingCanvas.remove(this.clipper),this.croppingCanvas.remove(this.croppingShade),this.croppingCanvas.remove(this.cropperHandles),this.croppingCanvas.remove(this.cropperGrid),this.croppingCanvas.remove(this.croppingRectangle),this.croppingCanvas=null,this.renderCropper=null)},_setupCropperLayer:function(t){var e=this;this.croppingCanvas=new fabric.StaticCanvas("cropping-canvas",{backgroundColor:this.settings.colors.transparent,hoverCursor:"default",selection:!1}),this.croppingCanvas.setDimensions({width:this.editorWidth,height:this.editorHeight}),this.renderCropper=function(){return Garnish.requestAnimationFrame(e.croppingCanvas.renderAll.bind(e.croppingCanvas))},$("#cropping-canvas",this.$editorContainer).css({position:"absolute",top:0,left:0}),this.croppingShade=new fabric.Rect({left:this.editorWidth/2,top:this.editorHeight/2,originX:"center",originY:"center",width:this.editorWidth,height:this.editorHeight,fill:this.settings.colors.transparentBlack});var n=this.getScaledImageDimensions(),i=0===this.imageStraightenAngle?1:1.2*this.getCombinedZoomRatio(n),r=n.width/i,a=n.height/i;if(this.hasOrientationChanged()){var s=a;a=r,r=s}this.clipper=new fabric.Rect({left:this.editorWidth/2,top:this.editorHeight/2,originX:"center",originY:"center",width:r,height:a,stroke:"black",fill:"rgba(128,0,0,1)",strokeWidth:0}),t&&this.clipper.set(t),this.clipper.globalCompositeOperation="destination-out",this.croppingCanvas.add(this.croppingShade),this.croppingCanvas.add(this.clipper)},_redrawCropperElements:function(){this.croppingCanvas&&(void 0===this._redrawCropperElements._&&(this._redrawCropperElements._={}),this.cropperHandles&&(this.croppingCanvas.remove(this.cropperHandles),this.croppingCanvas.remove(this.cropperGrid),this.croppingCanvas.remove(this.croppingRectangle)),this.handleFocusIndicator&&(this.croppingCanvas.remove(this.handleFocusIndicator),this.handleFocusIndicator=null),this._redrawCropperElements._.lineOptions={strokeWidth:4,stroke:this.settings.colors.white,fill:!1},this._redrawCropperElements._.gridOptions={strokeWidth:2,stroke:"rgba(255,255,255,0.5)"},this._redrawCropperElements._.pathGroup=[new fabric.Path("M 0,10 L 0,0 L 10,0",this._redrawCropperElements._.lineOptions),new fabric.Path("M "+(this.clipper.width-8)+",0 L "+(this.clipper.width+4)+",0 L "+(this.clipper.width+4)+",10",this._redrawCropperElements._.lineOptions),new fabric.Path("M "+(this.clipper.width+4)+","+(this.clipper.height-8)+" L"+(this.clipper.width+4)+","+(this.clipper.height+4)+" L "+(this.clipper.width-8)+","+(this.clipper.height+4),this._redrawCropperElements._.lineOptions),new fabric.Path("M 10,"+(this.clipper.height+4)+" L 0,"+(this.clipper.height+4)+" L 0,"+(this.clipper.height-8),this._redrawCropperElements._.lineOptions)],this.cropperHandles=new fabric.Group(this._redrawCropperElements._.pathGroup,{left:this.clipper.left,top:this.clipper.top,originX:"center",originY:"center"}),this.handleFocusIndicator=this._getHandleFocusIndicator(),this.croppingRectangle=this._getCroppingRectangle(),this.cropperGrid=new fabric.Group([new fabric.Line([.33*this.clipper.width,0,.33*this.clipper.width,this.clipper.height],this._redrawCropperElements._.gridOptions),new fabric.Line([.66*this.clipper.width,0,.66*this.clipper.width,this.clipper.height],this._redrawCropperElements._.gridOptions),new fabric.Line([0,.33*this.clipper.height,this.clipper.width,.33*this.clipper.height],this._redrawCropperElements._.gridOptions),new fabric.Line([0,.66*this.clipper.height,this.clipper.width,.66*this.clipper.height],this._redrawCropperElements._.gridOptions)],{left:this.clipper.left,top:this.clipper.top,originX:"center",originY:"center"}),this._redrawCropperElements._.cropTextTop=this.croppingRectangle.top+this.clipper.height/2+12,this._redrawCropperElements._.cropTextBackgroundColor=this.settings.colors.transparent,this._redrawCropperElements._.cropTextTop+12>this.editorHeight-2&&(this._redrawCropperElements._.cropTextTop-=24,this._redrawCropperElements._.cropTextBackgroundColor="rgba(0,0,0,0.5)"),this.croppingCanvas.add(this.croppingRectangle),this.croppingCanvas.add(this.cropperHandles),this.croppingCanvas.add(this.cropperGrid),this.handleFocusIndicator&&this.croppingCanvas.add(this.handleFocusIndicator))},_resetEditState:function(){this.cropperPickedUp=!1,this.handlePicked=!1,this.focalPickedUp=!1},_getRectangleButtonIsFocused:function(){if(this.focusedEditButton)return"rectangle"===this._getElementHandleFromButton(this.focusedEditButton)},_getHandleButtonIsFocused:function(){if(this.focusedEditButton){var t=this._getElementHandleFromButton(this.focusedEditButton);return"rectangle"!==t&&"focalpoint"!==t}},_getCroppingRectangle:function(){var t=this.clipper.width,e=this.clipper.height;this.rectangleHasFocusOutline=!1;var i={fill:this.settings.colors.transparent,top:0,left:0,strokeWidth:2,originX:"center",originY:"center"},r=new fabric.Rect(n({width:t+8,height:e+8,stroke:null},i)),a=new fabric.Rect(n({width:t+4,height:e+4,stroke:null},i)),s=new fabric.Rect(n({width:t,height:e,stroke:this.settings.colors.white},i)),o=new fabric.Group([r,a,s],{originX:"center",originY:"center",left:this.clipper.left,top:this.clipper.top});if((this.cropperPickedUp||this._getRectangleButtonIsFocused())&&(this.rectangleHasFocusOutline=!0,r.set({stroke:this.settings.colors.white}),a.set({stroke:this.mediumBlueColor}),this.cropperPickedUp)){var l=new fabric.Circle({fill:this.settings.colors.black,top:0,left:0,radius:15,stroke:this.settings.colors.white,strokeWidth:2,originX:"center",originY:"center"});o.add(l),o.add(this.moveIcon)}return o},_getHandleFocusIndicator:function(){if(!this.dragEditMode&&(this._getHandleButtonIsFocused()||this.handlePicked)){var t=this.handlePicked?this.handlePicked:this._getElementHandleFromButton(this.focusedEditButton),e=this._getClipperHandlePosition(t),i={fill:null,strokeWidth:3,left:0,top:0,originX:"center",originY:"center"},r=new fabric.Circle(n({radius:12,stroke:this.mediumBlueColor},i)),a=new fabric.Circle(n({radius:15,stroke:this.settings.colors.white},i)),s=new fabric.Circle(n({radius:18,stroke:this.mediumBlueColor},i)),o=new fabric.Group([s,a,r],{originX:"center",originY:"center",left:e.x,top:e.y});return this.handlePicked&&(o.add(this.moveIcon),o.item(0).set({fill:this.settings.colors.transparentBlack})),o}},_repositionCropper:function(t){if(this.croppingCanvas){var e=this.clipper.left-this.croppingCanvas.width/2,n=this.clipper.top-this.croppingCanvas.height/2;this.croppingCanvas.setDimensions({width:this.editorWidth,height:this.editorHeight});var i=this._getBoundingRectangle(this.imageVerticeCoords).width/t.width;this.clipper.width=Math.round(this.clipper.width*i),this.clipper.height=Math.round(this.clipper.height*i),this.clipper.left=this.editorWidth/2+e*i,this.clipper.top=this.editorHeight/2+n*i,this.croppingShade.set({width:this.editorWidth,height:this.editorHeight,left:this.editorWidth/2,top:this.editorHeight/2}),this._redrawCropperElements(),this.renderCropper()}},_getBoundingRectangle:function(t){return{width:Math.max(t.a.x,t.b.x,t.c.x,t.d.x)-Math.min(t.a.x,t.b.x,t.c.x,t.d.x),height:Math.max(t.a.y,t.b.y,t.c.y,t.d.y)-Math.min(t.a.y,t.b.y,t.c.y,t.d.y)}},_handleEditButtonClick:function(t){var e=$(t.target.closest("button")),n="true"===e.attr("aria-pressed"),i=this._getElementHandleFromButton(e);"focalpoint"===i&&this.toggleFocalPoint(),n?this._dropFabricElement(i):(this.dragEditMode=!1,this._pickUpFabricElement(i))},_getRelativePositionMessage:function(t){if(t.left&&t.top){var e=((t.left-this.image.left+this.image.width/2)/this.image.width*100).toFixed(1),n=((t.top-this.image.top+this.image.height/2)/this.image.height*100).toFixed(1);return"Centered at X axis: ".concat(e,"%, Y axis: ").concat(n,"%.")}},_getSizeAndRelativePositionMessage:function(t){var e=this._getRelativePositionMessage(t),n="Crop rectangle width: ".concat(t.width,"px, height:").concat(t.height,"px.");return"".concat(n," ").concat(e)},_announce:function(t){var e=this;this.announceTimeout&&clearTimeout(this.announceTimeout),this.announceTimeout=setTimeout((function(){Craft.cp.announce(t),e.announceTimeout=null}),300)},_getElementHandleFromButton:function(t){return $(t).attr("data-fabric-element")},_getEditButtonFromElementHandle:function(t){return this.$fabricElementEditBtn.filter('[data-fabric-element="'.concat(t,'"]'))},_pickUpFabricElement:function(t){this._resetEditState();var e,n="",i="",r=this._getEditButtonFromElementHandle(t);r.attr("aria-pressed","true");var a=r.attr("data-item-name");"rectangle"===t?(this.cropperPickedUp=!0,n=this._getRelativePositionMessage(this.clipper)):"focalpoint"===t?(this.focalPickedUp=!0,n=this._getRelativePositionMessage(this.focalPoint)):this.handlePicked=t,e=Craft.t("app","{item} picked up.",{item:a}),i+=Craft.t("app","Use the arrow keys to change position, Tab or Spacebar to drop."),this._announce("".concat(e," ").concat(n," ").concat(i)),this.renderCropper&&(this._redrawCropperElements(),this.renderCropper())},_dropFabricElement:function(t){var e=this._getEditButtonFromElementHandle(t),n=e.attr("data-item-name"),i="";"rectangle"===t?i=this._getRelativePositionMessage(this.clipper):"focalpoint"===t&&(i=this._getRelativePositionMessage(this.prevFocalPoint)),this._resetEditState(),e.attr("aria-pressed","false");var r=Craft.t("app","{item} dropped.",{item:n});this._announce("".concat(r," ").concat(i)),this.renderCropper&&(this._redrawCropperElements(),this.renderCropper())},_toggleFocalModeStyles:function(){var t,e;this.focalPickedUp?(t=2,e="rgba(0,0,0,0.5)",$(".body").css("cursor","grabbing")):(t=0,e=this.settings.colors.transparent,$(".body").css("cursor","pointer")),this.focalPointPickedIndicator.set({strokeWidth:t,fill:e}),this.canvas.renderAll()},_handleKeydownOnFabricElementEditBtn:function(t){t.target,(this.focalPoint||this.cropperPickedUp||this.handlePicked)&&[Garnish.LEFT_KEY,Garnish.RIGHT_KEY,Garnish.UP_KEY,Garnish.DOWN_KEY].includes(t.keyCode)&&(event.preventDefault(),this._handleFabricElementKeyboardEdit(t))},_handleMouseDown:function(t){this.dragEditMode=!0;var e=this.focalPoint&&this._isMouseOver(t,this.focalPoint),n=this.croppingCanvas&&this._isMouseOver(t,this.clipper),i=this.croppingCanvas&&this._cropperHandleHitTest(t);(i||n||e)&&(this.previousMouseX=t.pageX,this.previousMouseY=t.pageY,e?this.focalClicked=!0:i?this.handlePicked=i:n&&(this.cropperClicked=!0))},_handleMouseMove:function(t){null!==this.mouseMoveEvent&&Garnish.requestAnimationFrame(this._handleMouseMoveInternal.bind(this)),this.mouseMoveEvent=t},_handleMouseMoveInternal:function(){null!==this.mouseMoveEvent&&(this.dragEditMode&&(this.focalPoint&&this.focalClicked?(this.draggingFocal=!0,this._handleFocalDrag(this.mouseMoveEvent),this.storeFocalPointState(),this.renderImage()):(this.cropperClicked||this.handlePicked)&&(this.cropperClicked?(this.draggingCropper=!0,this._handleCropperDrag(this.mouseMoveEvent)):(this.scalingCropper=!0,this._handleCropperResize(this.mouseMoveEvent)),this._redrawCropperElements(),this.storeCropperState(),this.renderCropper())),this._setMouseCursor(this.mouseMoveEvent),this.previousMouseX=this.mouseMoveEvent.pageX,this.previousMouseY=this.mouseMoveEvent.pageY,this.mouseMoveEvent=null)},_handleMouseUp:function(t){this.focalClicked?this.draggingFocal||(this.focalPickedUp=!this.focalPickedUp,this._toggleFocalModeStyles()):!this.focalPickedUp||this.draggingFocal||this.draggingCropper||this.scalingCropper||this._handleFocalClickToMove(t),this.draggingCropper=!1,this.cropperClicked=!1,this.scalingCropper=!1,this.handlePicked=!1,this.draggingFocal=!1,this.focalClicked=!1},_handleMouseOut:function(t){this._handleMouseUp(t),this.mouseMoveEvent=t,this._handleMouseMoveInternal()},_handleFocalClickToMove:function(t){if(void 0===this._handleFocalClickToMove._&&(this._handleFocalClickToMove._={}),this.focalPoint){this.focalPoint.get("left"),this.focalPoint.get("top");var e=this.$croppingCanvas.offset(),n=e.left,i=e.top;if(this._handleFocalClickToMove._.newX=t.pageX-n,this._handleFocalClickToMove._.newY=t.pageY-i,"crop"===this.currentView){if(!this.arePointsInsideRectangle([{x:this._handleFocalClickToMove._.newX,y:this._handleFocalClickToMove._.newY}],this.imageVerticeCoords))return}else if(!this.isPointInsideViewport({x:this._handleFocalClickToMove._.newX,y:this._handleFocalClickToMove._.newY}))return;this.focalPoint.set({left:this._handleFocalClickToMove._.newX,top:this._handleFocalClickToMove._.newY}),this.storeFocalPointState(),this.renderImage()}},_getClipperRectProperties:function(){return{left:this.clipper.left-this.clipper.width/2,top:this.clipper.top-this.clipper.height/2,width:this.clipper.width,height:this.clipper.height}},_getClipperHandlePosition:function(t){var e={x:null,y:null};switch(t){case"tl":e.x=this.clipper.left-this.clipper.width/2,e.y=this.clipper.top-this.clipper.height/2;break;case"t":e.x=this.clipper.left,e.y=this.clipper.top-this.clipper.height/2;break;case"b":e.x=this.clipper.left,e.y=this.clipper.top+this.clipper.height/2;break;case"tr":e.x=this.clipper.left+this.clipper.width/2,e.y=this.clipper.top-this.clipper.height/2;break;case"r":e.x=this.clipper.left+this.clipper.width/2,e.y=this.clipper.top;break;case"l":e.x=this.clipper.left-this.clipper.width/2,e.y=this.clipper.top;break;case"br":e.x=this.clipper.left+this.clipper.width/2,e.y=this.clipper.top+this.clipper.height/2;break;case"bl":e.x=this.clipper.left-this.clipper.width/2,e.y=this.clipper.top+this.clipper.height/2}return e},_handleFabricElementKeyboardEdit:function(t){var e;switch(t.keyCode){case Garnish.LEFT_KEY:e="left";break;case Garnish.RIGHT_KEY:e="right";break;case Garnish.UP_KEY:e="up";break;case Garnish.DOWN_KEY:e="down"}var n=this._getDeltaValuesFromDirection(e);this.cropperPickedUp?this._moveCropperByDelta(n.deltaX,n.deltaY):this.handlePicked?this._resizeCropperByHandleAndDeltas(this.handlePicked,{x:n.deltaX,y:n.deltaY}):this.focalPickedUp&&(this._moveFocalPointByDelta(n.deltaX,n.deltaY),this.storeFocalPointState(),this.renderImage())},_resizeCropperByHandleAndDeltas:function(t,e){void 0===this._resizeCropperByHandleAndDeltas._&&(this._resizeCropperByHandleAndDeltas._={}),this._resizeCropperByHandleAndDeltas._.startingRectangle=this._getClipperRectProperties(),this._resizeCropperByHandleAndDeltas._.rectangle=this._calculateNewCropperSizeByDeltas(this._resizeCropperByHandleAndDeltas._.startingRectangle,e.x,e.y,t),this._resizeCropperByHandleAndDeltas._.rectangle.height<30||this._resizeCropperByHandleAndDeltas._.rectangle.width<30||this.arePointsInsideRectangle(this._getRectangleVertices(this._resizeCropperByHandleAndDeltas._.rectangle),this.imageVerticeCoords)&&(this.clipper.set({top:this._resizeCropperByHandleAndDeltas._.rectangle.top+this._resizeCropperByHandleAndDeltas._.rectangle.height/2,left:this._resizeCropperByHandleAndDeltas._.rectangle.left+this._resizeCropperByHandleAndDeltas._.rectangle.width/2,width:this._resizeCropperByHandleAndDeltas._.rectangle.width,height:this._resizeCropperByHandleAndDeltas._.rectangle.height}),this._redrawCropperElements(),this._announce(this._getSizeAndRelativePositionMessage(this.clipper)))},_getDeltaValuesFromDirection:function(t){var e={deltaX:0,deltaY:0};switch(t){case"up":e.deltaY=-5;break;case"down":e.deltaY=5;break;case"left":e.deltaX=-5;break;case"right":e.deltaX=5}return e},_moveCropperByDelta:function(t,e){void 0===this._moveCropperByDelta._&&(this._moveCropperByDelta._={}),this._moveCropperByDelta._.deltaX=t,this._moveCropperByDelta._.deltaY=e,this._moveCropperByDelta._.rectangle=this._getClipperRectProperties();var n=this._getRectangleVertices(this._moveCropperByDelta._.rectangle,this._moveCropperByDelta._.deltaX,this._moveCropperByDelta._.deltaY);if(!this.arePointsInsideRectangle(n,this.imageVerticeCoords)){var i=this._getFarthestAllowedDeltasForRectangle(this._moveCropperByDelta._.rectangle,{x:this._moveCropperByDelta._.deltaX,y:this._moveCropperByDelta._.deltaY}),r=i.farthest,a=i.farthestDeltas;if(0==r)return;this._moveCropperByDelta._.deltaX=a.x,this._moveCropperByDelta._.deltaY=a.y}this.clipper.set({left:this.clipper.left+this._moveCropperByDelta._.deltaX,top:this.clipper.top+this._moveCropperByDelta._.deltaY}),this._announce(this._getRelativePositionMessage(this.clipper)),this._redrawCropperElements(),this.storeCropperState(),this.renderCropper()},_moveFocalPointByDelta:function(t,e){if(void 0===this._moveFocalPointByDelta._&&(this._moveFocalPointByDelta._={}),this.focalPoint){if(0===t&&0===e)return;if(this._moveFocalPointByDelta._.newX=this.focalPoint.left+t,this._moveFocalPointByDelta._.newY=this.focalPoint.top+e,"crop"===this.currentView){if(!this.arePointsInsideRectangle([{x:this._moveFocalPointByDelta._.newX,y:this._moveFocalPointByDelta._.newY}],this.imageVerticeCoords))return}else if(!this.isPointInsideViewport({x:this._moveFocalPointByDelta._.newX,y:this._moveFocalPointByDelta._.newY}))return;this.focalPoint.set({left:this.focalPoint.left+t,top:this.focalPoint.top+e}),this._announce(this._getRelativePositionMessage(this.focalPoint))}},_getFarthestAllowedDeltasForRectangle:function(t,e){var n=0,i=0,r=(e.x,e.y,{farthest:0,farthestDeltas:{}});for(n=Math.min(Math.abs(e.x),10);n>=0;n--)for(i=Math.min(Math.abs(e.y),10);i>=0;i--){var a=this._getRectangleVertices(t,n*(e.x>0?1:-1),i*(e.y>0?1:-1));this.arePointsInsideRectangle(a,this.imageVerticeCoords)&&n+i>r.farthest&&(r.farthest=n+i,r.farthestDeltas={x:n*(e.x>0?1:-1),y:i*(e.y>0?1:-1)})}return r},_handleCropperDrag:function(t){if(void 0===this._handleCropperDrag._&&(this._handleCropperDrag._={}),this._handleCropperDrag._.deltaX=t.pageX-this.previousMouseX,this._handleCropperDrag._.deltaY=t.pageY-this.previousMouseY,0===this._handleCropperDrag._.deltaX&&0===this._handleCropperDrag._.deltaY)return!1;if(this._handleCropperDrag._.rectangle=this._getClipperRectProperties(),this._handleCropperDrag._.vertices=this._getRectangleVertices(this._handleCropperDrag._.rectangle,this._handleCropperDrag._.deltaX,this._handleCropperDrag._.deltaY),!this.arePointsInsideRectangle(this._handleCropperDrag._.vertices,this.imageVerticeCoords)){var e=this._getFarthestAllowedDeltasForRectangle(this._handleCropperDrag._.rectangle,{x:this._handleCropperDrag._.deltaX,y:this._handleCropperDrag._.deltaY}),n=e.farthest,i=e.farthestDeltas;if(0==n)return;this._handleCropperDrag._.deltaX=i.x,this._handleCropperDrag._.deltaY=i.y}this.clipper.set({left:this.clipper.left+this._handleCropperDrag._.deltaX,top:this.clipper.top+this._handleCropperDrag._.deltaY})},_handleFocalDrag:function(t){void 0===this._handleFocalDrag._&&(this._handleFocalDrag._={}),this.focalPoint&&(this._handleFocalDrag._.deltaX=t.pageX-this.previousMouseX,this._handleFocalDrag._.deltaY=t.pageY-this.previousMouseY,this._moveFocalPointByDelta(this._handleFocalDrag._.deltaX,this._handleFocalDrag._.deltaY))},isPointInsideViewport:function(t){return this.viewport.left-this.viewport.width/2-t.x<0&&this.viewport.left+this.viewport.width/2-t.x>0&&this.viewport.top-this.viewport.height/2-t.y<0&&this.viewport.top+this.viewport.height/2-t.y>0},setCroppingConstraint:function(t){switch(this.updateSizeAndPosition(),t){case"none":this.croppingConstraint=!1;break;case"original":this.croppingConstraint=this.originalWidth/this.originalHeight;break;case"current":this.croppingConstraint=this.clipper.width/this.clipper.height;break;case"custom":break;default:this.croppingConstraint=parseFloat(t)}},enforceCroppingConstraint:function(){var t=this;void 0===this.enforceCroppingConstraint._&&(this.enforceCroppingConstraint._={}),!this.animationInProgress&&this.croppingConstraint&&(this.animationInProgress=!0,this.enforceCroppingConstraint._.rectangle=this._getClipperRectProperties(),this.clipper.width>this.clipper.height*this.croppingConstraint?(this.enforceCroppingConstraint._.previousHeight=this.enforceCroppingConstraint._.rectangle.height,this.enforceCroppingConstraint._.rectangle.height=this.clipper.width/this.croppingConstraint,this.enforceCroppingConstraint._.rectangle.top-=(this.enforceCroppingConstraint._.rectangle.height-this.enforceCroppingConstraint._.previousHeight)/2,this.arePointsInsideRectangle(this._getRectangleVertices(this.enforceCroppingConstraint._.rectangle),this.imageVerticeCoords)||(this.enforceCroppingConstraint._.rectangle.width=this.clipper.height*this.croppingConstraint,this.enforceCroppingConstraint._.rectangle.height=this.enforceCroppingConstraint._.rectangle.width/this.croppingConstraint)):(this.enforceCroppingConstraint._.previousWidth=this.enforceCroppingConstraint._.rectangle.width,this.enforceCroppingConstraint._.rectangle.width=this.clipper.height*this.croppingConstraint,this.enforceCroppingConstraint._.rectangle.left-=(this.enforceCroppingConstraint._.rectangle.width-this.enforceCroppingConstraint._.previousWidth)/2,this.arePointsInsideRectangle(this._getRectangleVertices(this.enforceCroppingConstraint._.rectangle),this.imageVerticeCoords)||(this.enforceCroppingConstraint._.rectangle.height=this.clipper.width/this.croppingConstraint,this.enforceCroppingConstraint._.rectangle.width=this.enforceCroppingConstraint._.rectangle.height*this.croppingConstraint)),this.enforceCroppingConstraint._.properties={height:this.enforceCroppingConstraint._.rectangle.height,width:this.enforceCroppingConstraint._.rectangle.width},this.clipper.animate(this.enforceCroppingConstraint._.properties,{onChange:function(){t._redrawCropperElements(),t.croppingCanvas.renderAll()},duration:this.settings.animationDuration,onComplete:function(){t._redrawCropperElements(),t.animationInProgress=!1,t.renderCropper(),t.storeCropperState()}}))},_handleCropperResize:function(t){void 0===this._handleCropperResize._&&(this._handleCropperResize._={}),this._handleCropperResize._.deltaX=t.pageX-this.previousMouseX,this._handleCropperResize._.deltaY=t.pageY-this.previousMouseY,"b"!==this.handlePicked&&"t"!==this.handlePicked||(this._handleCropperResize._.deltaX=0),"l"!==this.handlePicked&&"r"!==this.handlePicked||(this._handleCropperResize._.deltaY=0),0===this._handleCropperResize._.deltaX&&0===this._handleCropperResize._.deltaY||this._resizeCropperByHandleAndDeltas(this.handlePicked,{x:this._handleCropperResize._.deltaX,y:this._handleCropperResize._.deltaY})},_calculateNewCropperSizeByDeltas:function(t,e,n,i){if(void 0===this._calculateNewCropperSizeByDeltas._&&(this._calculateNewCropperSizeByDeltas._={}),this._calculateNewCropperSizeByDeltas._.topDelta=0,this._calculateNewCropperSizeByDeltas._.leftDelta=0,this._calculateNewCropperSizeByDeltas._.rectangle=t,this._calculateNewCropperSizeByDeltas._.deltaX=e,this._calculateNewCropperSizeByDeltas._.deltaY=n,this.croppingConstraint){switch(this._calculateNewCropperSizeByDeltas._.change=0,i){case"t":this._calculateNewCropperSizeByDeltas._.change=-this._calculateNewCropperSizeByDeltas._.deltaY;break;case"b":this._calculateNewCropperSizeByDeltas._.change=this._calculateNewCropperSizeByDeltas._.deltaY;break;case"r":this._calculateNewCropperSizeByDeltas._.change=this._calculateNewCropperSizeByDeltas._.deltaX;break;case"l":this._calculateNewCropperSizeByDeltas._.change=-this._calculateNewCropperSizeByDeltas._.deltaX;break;case"tr":this._calculateNewCropperSizeByDeltas._.change=Math.abs(this._calculateNewCropperSizeByDeltas._.deltaY)>Math.abs(this._calculateNewCropperSizeByDeltas._.deltaX)?-this._calculateNewCropperSizeByDeltas._.deltaY:this._calculateNewCropperSizeByDeltas._.deltaX;break;case"tl":this._calculateNewCropperSizeByDeltas._.change=Math.abs(this._calculateNewCropperSizeByDeltas._.deltaY)>Math.abs(this._calculateNewCropperSizeByDeltas._.deltaX)?-this._calculateNewCropperSizeByDeltas._.deltaY:-this._calculateNewCropperSizeByDeltas._.deltaX;break;case"br":this._calculateNewCropperSizeByDeltas._.change=Math.abs(this._calculateNewCropperSizeByDeltas._.deltaY)>Math.abs(this._calculateNewCropperSizeByDeltas._.deltaX)?this._calculateNewCropperSizeByDeltas._.deltaY:this._calculateNewCropperSizeByDeltas._.deltaX;break;case"bl":this._calculateNewCropperSizeByDeltas._.change=Math.abs(this._calculateNewCropperSizeByDeltas._.deltaY)>Math.abs(this._calculateNewCropperSizeByDeltas._.deltaX)?this._calculateNewCropperSizeByDeltas._.deltaY:-this._calculateNewCropperSizeByDeltas._.deltaX}switch(this.croppingConstraint>1?(this._calculateNewCropperSizeByDeltas._.deltaX=this._calculateNewCropperSizeByDeltas._.change,this._calculateNewCropperSizeByDeltas._.deltaY=this._calculateNewCropperSizeByDeltas._.deltaX/this.croppingConstraint):(this._calculateNewCropperSizeByDeltas._.deltaY=this._calculateNewCropperSizeByDeltas._.change,this._calculateNewCropperSizeByDeltas._.deltaX=this._calculateNewCropperSizeByDeltas._.deltaY*this.croppingConstraint),this._calculateNewCropperSizeByDeltas._.rectangle.height+=this._calculateNewCropperSizeByDeltas._.deltaY,this._calculateNewCropperSizeByDeltas._.rectangle.width+=this._calculateNewCropperSizeByDeltas._.deltaX,i){case"t":this._calculateNewCropperSizeByDeltas._.rectangle.top-=this._calculateNewCropperSizeByDeltas._.deltaY,this._calculateNewCropperSizeByDeltas._.rectangle.left-=this._calculateNewCropperSizeByDeltas._.deltaX/2;break;case"b":this._calculateNewCropperSizeByDeltas._.rectangle.left+=-this._calculateNewCropperSizeByDeltas._.deltaX/2;break;case"r":this._calculateNewCropperSizeByDeltas._.rectangle.top+=-this._calculateNewCropperSizeByDeltas._.deltaY/2;break;case"l":this._calculateNewCropperSizeByDeltas._.rectangle.top-=this._calculateNewCropperSizeByDeltas._.deltaY/2,this._calculateNewCropperSizeByDeltas._.rectangle.left-=this._calculateNewCropperSizeByDeltas._.deltaX;break;case"tr":this._calculateNewCropperSizeByDeltas._.rectangle.top-=this._calculateNewCropperSizeByDeltas._.deltaY;break;case"tl":this._calculateNewCropperSizeByDeltas._.rectangle.top-=this._calculateNewCropperSizeByDeltas._.deltaY,this._calculateNewCropperSizeByDeltas._.rectangle.left-=this._calculateNewCropperSizeByDeltas._.deltaX;break;case"bl":this._calculateNewCropperSizeByDeltas._.rectangle.left-=this._calculateNewCropperSizeByDeltas._.deltaX}}else!this.shiftKeyHeld||"tl"!==i&&"tr"!==i&&"bl"!==i&&"br"!==i||(this._calculateNewCropperSizeByDeltas._.ratio,Math.abs(e)>Math.abs(n)?(this._calculateNewCropperSizeByDeltas._.ratio=t.width/t.height,this._calculateNewCropperSizeByDeltas._.deltaY=this._calculateNewCropperSizeByDeltas._.deltaX/this._calculateNewCropperSizeByDeltas._.ratio,this._calculateNewCropperSizeByDeltas._.deltaY*="tr"===i||"bl"===i?-1:1):(this._calculateNewCropperSizeByDeltas._.ratio=t.width/t.height,this._calculateNewCropperSizeByDeltas._.deltaX=this._calculateNewCropperSizeByDeltas._.deltaY*this._calculateNewCropperSizeByDeltas._.ratio,this._calculateNewCropperSizeByDeltas._.deltaX*="tr"===i||"bl"===i?-1:1)),i.match(/t/)&&(this._calculateNewCropperSizeByDeltas._.rectangle.top+=this._calculateNewCropperSizeByDeltas._.deltaY,this._calculateNewCropperSizeByDeltas._.rectangle.height-=this._calculateNewCropperSizeByDeltas._.deltaY),i.match(/b/)&&(this._calculateNewCropperSizeByDeltas._.rectangle.height+=this._calculateNewCropperSizeByDeltas._.deltaY),i.match(/r/)&&(this._calculateNewCropperSizeByDeltas._.rectangle.width+=this._calculateNewCropperSizeByDeltas._.deltaX),i.match(/l/)&&(this._calculateNewCropperSizeByDeltas._.rectangle.left+=this._calculateNewCropperSizeByDeltas._.deltaX,this._calculateNewCropperSizeByDeltas._.rectangle.width-=this._calculateNewCropperSizeByDeltas._.deltaX);return this._calculateNewCropperSizeByDeltas._.rectangle.top=this._calculateNewCropperSizeByDeltas._.rectangle.top,this._calculateNewCropperSizeByDeltas._.rectangle.left=this._calculateNewCropperSizeByDeltas._.rectangle.left,this._calculateNewCropperSizeByDeltas._.rectangle.width=this._calculateNewCropperSizeByDeltas._.rectangle.width,this._calculateNewCropperSizeByDeltas._.rectangle.height=this._calculateNewCropperSizeByDeltas._.rectangle.height,this._calculateNewCropperSizeByDeltas._.rectangle},_setMouseCursor:function(t){void 0===this._setMouseCursor._&&(this._setMouseCursor._={}),Garnish.isMobileBrowser(!0)||(this._setMouseCursor._.cursor="default",this._setMouseCursor._.handle=this.croppingCanvas&&this._cropperHandleHitTest(t),this.focalPoint&&this._isMouseOver(t,this.focalPoint)?this._setMouseCursor._.cursor="pointer":this._setMouseCursor._.handle?"t"===this._setMouseCursor._.handle||"b"===this._setMouseCursor._.handle?this._setMouseCursor._.cursor="ns-resize":"l"===this._setMouseCursor._.handle||"r"===this._setMouseCursor._.handle?this._setMouseCursor._.cursor="ew-resize":"tl"===this._setMouseCursor._.handle||"br"===this._setMouseCursor._.handle?this._setMouseCursor._.cursor="nwse-resize":"bl"!==this._setMouseCursor._.handle&&"tr"!==this._setMouseCursor._.handle||(this._setMouseCursor._.cursor="nesw-resize"):this.croppingCanvas&&this._isMouseOver(t,this.clipper)?this._setMouseCursor._.cursor="move":this.focalPickedUp&&(this._setMouseCursor._.cursor="grabbing"),$(".body").css("cursor",this._setMouseCursor._.cursor))},_cropperHandleHitTest:function(t){if(void 0===this._cropperHandleHitTest._&&(this._cropperHandleHitTest._={}),this._cropperHandleHitTest._.parentOffset=this.$croppingCanvas.offset(),this._cropperHandleHitTest._.mouseX=t.pageX-this._cropperHandleHitTest._.parentOffset.left,this._cropperHandleHitTest._.mouseY=t.pageY-this._cropperHandleHitTest._.parentOffset.top,this._cropperHandleHitTest._.lb=this.clipper.left-this.clipper.width/2,this._cropperHandleHitTest._.rb=this._cropperHandleHitTest._.lb+this.clipper.width,this._cropperHandleHitTest._.tb=this.clipper.top-this.clipper.height/2,this._cropperHandleHitTest._.bb=this._cropperHandleHitTest._.tb+this.clipper.height,this._cropperHandleHitTest._.mouseXthis._cropperHandleHitTest._.lb-3){if(this._cropperHandleHitTest._.mouseYthis._cropperHandleHitTest._.tb-3)return"tl";if(this._cropperHandleHitTest._.mouseYthis._cropperHandleHitTest._.bb-10)return"bl"}if(this._cropperHandleHitTest._.mouseX>this._cropperHandleHitTest._.rb-13&&this._cropperHandleHitTest._.mouseXthis._cropperHandleHitTest._.tb-3)return"tr";if(this._cropperHandleHitTest._.mouseYthis._cropperHandleHitTest._.bb-10)return"br"}return this._cropperHandleHitTest._.mouseXthis._cropperHandleHitTest._.lb-3&&this._cropperHandleHitTest._.mouseYthis._cropperHandleHitTest._.tb+10?"l":this._cropperHandleHitTest._.mouseXthis._cropperHandleHitTest._.rb-5&&this._cropperHandleHitTest._.mouseYthis._cropperHandleHitTest._.tb+10?"r":this._cropperHandleHitTest._.mouseYthis._cropperHandleHitTest._.tb-2&&this._cropperHandleHitTest._.mouseX>this._cropperHandleHitTest._.lb+10&&this._cropperHandleHitTest._.mouseXthis._cropperHandleHitTest._.bb-4&&this._cropperHandleHitTest._.mouseX>this._cropperHandleHitTest._.lb+10&&this._cropperHandleHitTest._.mouseX=this._isMouseOver._.lb&&this._isMouseOver._.mouseX<=this._isMouseOver._.rb&&this._isMouseOver._.mouseY>=this._isMouseOver._.tb&&this._isMouseOver._.mouseY<=this._isMouseOver._.bb},_getRectangleVertices:function(t,e,n){return void 0===this._getRectangleVertices._&&(this._getRectangleVertices._={}),void 0===e&&(e=0),void 0===n&&(n=0),this._getRectangleVertices._.topLeft={x:t.left+e,y:t.top+n},this._getRectangleVertices._.topRight={x:this._getRectangleVertices._.topLeft.x+t.width,y:this._getRectangleVertices._.topLeft.y},this._getRectangleVertices._.bottomRight={x:this._getRectangleVertices._.topRight.x,y:this._getRectangleVertices._.topRight.y+t.height},this._getRectangleVertices._.bottomLeft={x:this._getRectangleVertices._.topLeft.x,y:this._getRectangleVertices._.bottomRight.y},[this._getRectangleVertices._.topLeft,this._getRectangleVertices._.topRight,this._getRectangleVertices._.bottomRight,this._getRectangleVertices._.bottomLeft]},_setFittedImageVerticeCoordinates:function(){this.imageVerticeCoords=this.getImageVerticeCoords("fit")},getImageVerticeCoords:function(t){var e,n=-1*((this.hasOrientationChanged()?90:0)+this.imageStraightenAngle)*(Math.PI/180),i=this.getScaledImageDimensions();e="number"==typeof t?t:"cover"===t?this.getZoomToCoverRatio(i):this.getZoomToFitRatio(i);var r=i.height*e,a=i.width*e,s=Math.cos(n)*r,o=Math.sin(n)*a,l=Math.cos(n)*a,c=Math.sin(n)*r,u=(this.editorHeight-(s+o))/2,h=(this.editorWidth-(c+l))/2;return{a:{x:h+l,y:u},b:{x:this.editorWidth-h,y:u+s},c:{x:h+c,y:this.editorHeight-u},d:{x:h,y:u+o}}},_debug:function(t){this.canvas.remove(this.debugger),this.debugger=t,this.canvas.add(this.debugger)},arePointsInsideRectangle:function(t,e){for(void 0===this.arePointsInsideRectangle._&&(this.arePointsInsideRectangle._={}),this.arePointsInsideRectangle._.ab=this._getVector(e.a,e.b),this.arePointsInsideRectangle._.bc=this._getVector(e.b,e.c),this.arePointsInsideRectangle._.scalarAbAb=this._getScalarProduct(this.arePointsInsideRectangle._.ab,this.arePointsInsideRectangle._.ab),this.arePointsInsideRectangle._.scalarBcBc=this._getScalarProduct(this.arePointsInsideRectangle._.bc,this.arePointsInsideRectangle._.bc),this.arePointsInsideRectangle._.i=0;this.arePointsInsideRectangle._.it.length)&&(e=t.length);for(var n=0,i=Array(e);n",{class:"cpmodal-body"}),this.$content=$("",{class:"cpmodal-content"}).appendTo(this.$body),this.$footer=$("",{class:"cpmodal-footer hidden"}),$("",{class:"flex-grow"}).appendTo(this.$footer);var i=$("",{class:"flex flex-nowrap"}).appendTo(this.$footer);this.$loadSpinner=$("",{class:"spinner",title:Craft.t("app","Loading"),"aria-label":Craft.t("app","Loading")}).prependTo(i),this.$cancelBtn=$("",{type:"button",class:"btn",text:Craft.t("app","Cancel")}).appendTo(i),this.settings.showSubmitButton&&(this.$saveBtn=Craft.ui.createSubmitButton({label:Craft.t("app","Save"),spinner:!0}).appendTo(i)),this.$container=$("<".concat(this.settings.containerElement,"/>"),this.settings.containerAttributes);var r=this.$body.add(this.$footer);this.$container.append(r),this.base(this.$container,{autoShow:!1}),this.$container.data("cpModal",this),Garnish.uiLayerManager.registerShortcut({keyCode:Garnish.S_KEY,ctrl:!0},(function(t){n.handleSubmit(t)})),Garnish.uiLayerManager.registerShortcut(Garnish.ESC_KEY,(function(){n.closeMeMaybe()})),this.addListener(this.$cancelBtn,"click",(function(){n.closeMeMaybe()})),this.addListener(this.$shade,"click",(function(){n.closeMeMaybe()})),this.addListener(this.$container,"click",(function(t){var e=$(event.target);!n.showingSidebar||e.closest(n.$sidebarBtn).length||e.closest(n.$sidebar).length||n.hideSidebar()})),this.addListener(this.$container,"submit","handleSubmit"),this.load()},load:function(t,e){var n=this;return new Promise((function(t,i){n.trigger("beforeLoad"),n.showLoadSpinner(),n.cancelToken&&(n.ignoreFailedRequest=!0,n.cancelToken.cancel()),n.cancelToken=axios.CancelToken.source(),Craft.sendActionRequest("GET",n.action,$.extend({params:Object.assign({},n.getParams(),n.settings.params),cancelToken:n.cancelToken.token,headers:{"X-Craft-Container-Id":n.$container.attr("id")}},n.settings.requestOptions)).then((function(r){n.update(r.data).then((function(){!1!==e&&(n.$container.data("delta-names",r.data.deltaNames),n.$container.data("initial-delta-values",r.data.initialDeltaValues),n.$container.data("initialSerializedValue",n.$container.serialize())),t()})).catch((function(t){i(t)}))})).catch((function(t){n.ignoreFailedRequest||(Craft.cp.displayError(),i(t)),n.ignoreFailedRequest=!1})).finally((function(){n.hideLoadSpinner(),n.show(),n.cancelToken=null}))}))},getParams:function(){return{}},showLoadSpinner:function(){this.$loadSpinner.removeClass("hidden"),this.showingLoadSpinner=!0},hideLoadSpinner:function(){this.$loadSpinner.addClass("hidden"),this.showingLoadSpinner=!1},update:function(t){var e=this;return new Promise((function(n){e.namespace=t.namespace,t.bodyClass&&e.$body.addClass(t.bodyClass),e.$content.html(t.content),t.submitButtonLabel&&e.$saveBtn.text(t.submitButtonLabel),t.formAttributes&&Craft.setElementAttributes(e.$container,t.formAttributes),e.$footer.removeClass("hidden"),Garnish.requestAnimationFrame((function(){Craft.appendHeadHtml(t.headHtml),Craft.appendBodyHtml(t.bodyHtml),Craft.initUiElements(e.$content),Craft.cp.elementThumbLoader.load($(e.$content)),Garnish.isMobileBrowser()||Craft.setFocusWithin(e.$content),n(),e.trigger("load")}))}))},showSubmitSpinner:function(){this.$saveBtn.addClass("loading")},hideSubmitSpinner:function(){this.$saveBtn.removeClass("loading")},handleSubmit:function(t){t.preventDefault(),this.submit()},submit:function(){var t=this;this.showSubmitSpinner();var e=Craft.findDeltaData(this.$container.data("initialSerializedValue"),this.$container.serialize(),null,this.$container.data("initial-delta-values"));Craft.sendActionRequest("POST",null,{data:e,headers:{"X-Craft-Namespace":this.namespace}}).then((function(e){t.handleSubmitResponse(e)})).catch((function(e){t.handleSubmitError(e)})).finally((function(){t.hideSubmitSpinner()}))},handleSubmitResponse:function(t){this.clearErrors();var e=t.data||{};e.message&&Craft.cp.displaySuccess(e.message,e.notificationSettings),e.modelClass&&e.modelId&&Craft.refreshComponentInstances(e.modelClass,e.modelId),this.trigger("submit",{response:t,data:e.modelName&&e[e.modelName]||{}}),this.settings.closeOnSubmit&&this.close()},handleSubmitError:function(t){if(!t.isAxiosError||!t.response||400===!t.response.status)throw Craft.cp.displayError(),t;var e=t.response.data||{};Craft.cp.displayError(e.message),e.errors&&this.showErrors(e.errors)},showErrors:function(e){var n=this;this.clearErrors(),Object.entries(e).forEach((function(e){var i=function(e,n){return function(t){if(Array.isArray(t))return t}(e)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var i,r,a,s,o=[],l=!0,c=!1;try{if(a=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=a.call(n)).done)&&(o.push(i.value),o.length!==e);l=!0);}catch(t){c=!0,r=t}finally{try{if(!l&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw r}}return o}}(e,n)||function(e,n){if(e){if("string"==typeof e)return t(e,n);var i={}.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?t(e,n):void 0}}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(e,2),r=i[0],a=i[1],s=n.$container.find('[data-attribute="'.concat(r,'"]'));s&&(Craft.ui.addErrorsToField(s,a),n.fieldsWithErrors.push(s))})),this.updateSizeAndPosition()},clearErrors:function(){this.fieldsWithErrors.forEach((function(t){Craft.ui.clearErrorsFromField(t)}))},isDirty:function(){var t=this,e=this.$container.data("initialSerializedValue");return void 0!==e&&e!==(this.$container.data("serializer")||function(){return t.$container.serialize()})()},closeMeMaybe:function(){this.visible&&(this.isDirty()&&!confirm(Craft.t("app","Are you sure you want to close this screen? Any changes will be lost."))||this.close())},close:function(){this.cancelToken&&(this.ignoreFailedRequest=!0,this.cancelToken.cancel()),this.hide(),this.trigger("close"),this.destroy()}},{defaults:{params:{},containerElement:"form",containerAttributes:{id:"cp-modal-".concat(Math.floor(1e8*Math.random())),action:"",method:"post",novalidate:"",class:"cpmodal modal fitted"},requestOptions:{},closeOnSubmit:!0,showSubmitButton:!0}})},337:function(){function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(){"use strict";e=function(){return i};var n,i={},r=Object.prototype,a=r.hasOwnProperty,s=Object.defineProperty||function(t,e,n){t[e]=n.value},o="function"==typeof Symbol?Symbol:{},l=o.iterator||"@@iterator",c=o.asyncIterator||"@@asyncIterator",u=o.toStringTag||"@@toStringTag";function h(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{h({},"")}catch(n){h=function(t,e,n){return t[e]=n}}function d(t,e,n,i){var r=e&&e.prototype instanceof b?e:b,a=Object.create(r.prototype),o=new A(i||[]);return s(a,"_invoke",{value:T(t,n,o)}),a}function f(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}i.wrap=d;var p="suspendedStart",g="suspendedYield",m="executing",v="completed",y={};function b(){}function w(){}function C(){}var $={};h($,l,(function(){return this}));var _=Object.getPrototypeOf,S=_&&_(_(P([])));S&&S!==r&&a.call(S,l)&&($=S);var x=C.prototype=b.prototype=Object.create($);function I(t){["next","throw","return"].forEach((function(e){h(t,e,(function(t){return this._invoke(e,t)}))}))}function E(e,n){function i(r,s,o,l){var c=f(e[r],e,s);if("throw"!==c.type){var u=c.arg,h=u.value;return h&&"object"==t(h)&&a.call(h,"__await")?n.resolve(h.__await).then((function(t){i("next",t,o,l)}),(function(t){i("throw",t,o,l)})):n.resolve(h).then((function(t){u.value=t,o(u)}),(function(t){return i("throw",t,o,l)}))}l(c.arg)}var r;s(this,"_invoke",{value:function(t,e){function a(){return new n((function(n,r){i(t,e,n,r)}))}return r=r?r.then(a,a):a()}})}function T(t,e,i){var r=p;return function(a,s){if(r===m)throw Error("Generator is already running");if(r===v){if("throw"===a)throw s;return{value:n,done:!0}}for(i.method=a,i.arg=s;;){var o=i.delegate;if(o){var l=D(o,i);if(l){if(l===y)continue;return l}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if(r===p)throw r=v,i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);r=m;var c=f(t,e,i);if("normal"===c.type){if(r=i.done?v:g,c.arg===y)continue;return{value:c.arg,done:i.done}}"throw"===c.type&&(r=v,i.method="throw",i.arg=c.arg)}}}function D(t,e){var i=e.method,r=t.iterator[i];if(r===n)return e.delegate=null,"throw"===i&&t.iterator.return&&(e.method="return",e.arg=n,D(t,e),"throw"===e.method)||"return"!==i&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+i+"' method")),y;var a=f(r,t.iterator,e.arg);if("throw"===a.type)return e.method="throw",e.arg=a.arg,e.delegate=null,y;var s=a.arg;return s?s.done?(e[t.resultName]=s.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=n),e.delegate=null,y):s:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,y)}function L(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function k(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function A(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(L,this),this.reset(!0)}function P(e){if(e||""===e){var i=e[l];if(i)return i.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,s=function t(){for(;++r=0;--r){var s=this.tryEntries[r],o=s.completion;if("root"===s.tryLoc)return i("end");if(s.tryLoc<=this.prev){var l=a.call(s,"catchLoc"),c=a.call(s,"finallyLoc");if(l&&c){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&a.call(i,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),k(n),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var r=i.arg;k(n)}return r}}throw Error("illegal catch attempt")},delegateYield:function(t,e,i){return this.delegate={iterator:P(t),resultName:e,nextLoc:i},"next"===this.method&&(this.arg=n),y}},i}function n(t,e,n,i,r,a,s){try{var o=t[a](s),l=o.value}catch(t){return void n(t)}o.done?e(l):Promise.resolve(l).then(i,r)}function i(t){return function(){var e=this,i=arguments;return new Promise((function(r,a){var s=t.apply(e,i);function o(t){n(s,r,a,o,l,"next",t)}function l(t){n(s,r,a,o,l,"throw",t)}o(void 0)}))}}var r;Craft.AuthManager=Garnish.Base.extend({checkRemainingSessionTimer:null,decrementLogoutWarningInterval:null,showingLogoutWarningModal:!1,showingLoginModal:!1,renewingSession:!1,logoutWarningModal:null,loginModal:null,$logoutWarningPara:null,$passwordInput:null,$loginBtn:null,loginBtn:null,get remainingSessionTime(){return Craft.remainingSessionTime},init:function(){Craft.username&&this.updateRemainingSessionTime(Craft.remainingSessionTime,!1)},setCheckRemainingSessionTimer:function(t){var e=this;this.checkRemainingSessionTimer&&clearTimeout(this.checkRemainingSessionTimer),this.checkRemainingSessionTimer=setTimeout((function(){e.checkRemainingSessionTime()}),1e3*t)},checkRemainingSessionTime:function(t){var n=this;return i(e().mark((function i(){var r,a,s;return e().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=Craft.getActionUrl("users/session-info",t?null:"dontExtendSession=1"),e.prev=1,e.next=4,Craft.sendActionRequest("GET",r);case 4:a=e.sent,s=a.data,void 0!==Craft.csrfTokenValue&&(Craft.csrfTokenValue=s.csrfTokenValue),n.updateRemainingSessionTime(s.timeout,s.isGuest),e.next=13;break;case 10:e.prev=10,e.t0=e.catch(1),n.updateRemainingSessionTime(-1,!1);case 13:case"end":return e.stop()}}),i,null,[[1,10]])})))()},updateRemainingSessionTime:function(t,e){this.checkRemainingSessionTimer&&clearTimeout(this.checkRemainingSessionTimer);var n=!Craft.remainingSessionTime&&t;if(Craft.remainingSessionTime=parseInt(t),-1!==Craft.remainingSessionTime&&Craft.remainingSessionTime'),i=$('').appendTo(n),r=$('').appendTo(i),a=$("",{type:"button",class:"btn",text:Craft.t("app","Sign out now")}).appendTo(r),s=$("",{type:"submit",class:"btn submit",text:Craft.t("app","Keep me signed in")}).appendTo(r);this.$logoutWarningPara=$("").prependTo(i),this.logoutWarningModal=new Garnish.Modal(n,{autoShow:!1,closeOtherModals:!1,hideOnEsc:!1,hideOnShadeClick:!1,shadeClass:"modal-shade dark logoutwarningmodalshade",onFadeIn:function(){Garnish.isMobileBrowser(!0)||setTimeout((function(){s.focus()}),100)}}),this.addListener(a,"activate","logout"),this.addListener(n,"submit",(function(t){t.preventDefault(),e.renewSession()}))}t?this.logoutWarningModal.quickShow():this.logoutWarningModal.show(),this.updateLogoutWarningMessage(),this.decrementLogoutWarningInterval=setInterval(this.decrementLogoutWarning.bind(this),1e3)},updateLogoutWarningMessage:function(){this.$logoutWarningPara.text(Craft.t("app","Your session will expire in {time}.",{time:Craft.secondsToHumanTimeDuration(Craft.remainingSessionTime)})),this.logoutWarningModal.updateSizeAndPosition()},decrementLogoutWarning:function(){Craft.remainingSessionTime>0&&(Craft.remainingSessionTime--,this.updateLogoutWarningMessage()),0===Craft.remainingSessionTime&&clearInterval(this.decrementLogoutWarningInterval)},hideLogoutWarningModal:function(t){this.showingLogoutWarningModal=!1,this.logoutWarningModal&&(t?this.logoutWarningModal.quickHide():this.logoutWarningModal.hide(),this.decrementLogoutWarningInterval&&clearInterval(this.decrementLogoutWarningInterval))},showLoginModal:function(){var t=this;return i(e().mark((function n(){var r,a,s,o,l;return e().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!t.showingLoginModal){n.next=2;break}return n.abrupt("return");case 2:return t.showingLoginModal=!0,t.loginModal&&t.loginModal.destroy(),n.next=6,Craft.sendActionRequest("POST","users/login-modal",{data:{email:Craft.userEmail}});case 6:r=n.sent,a=r.data,s=$(a.html),o=document.documentElement.lang,(l=s.attr("lang"))===o&&l&&s.removeAttr("lang"),t.loginModal=new Garnish.Modal(s,{closeOtherModals:!1,hideOnEsc:!1,hideOnShadeClick:!1,shadeClass:"modal-shade dark blurred login-modal-shade",onFadeIn:function(){var n=i(e().mark((function n(){return e().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return Craft.initUiElements(s),new Craft.LoginForm(s.find(".login-container"),{showPasskeyBtn:Craft.userHasPasskeys,onLogin:function(){t.loginModal.hide(),t.checkRemainingSessionTime()}}),e.next=4,Craft.appendHeadHtml(a.headHtml);case 4:return e.next=6,Craft.appendBodyHtml(a.bodyHtml);case 6:case"end":return e.stop()}}),n)})));return function(){return n.apply(this,arguments)}}(),onFadeOut:function(){var e;null===(e=t.loginModal)||void 0===e||e.destroy(),t.loginModal=null},onHide:function(){t.showingLoginModal=!1}});case 13:case"end":return n.stop()}}),n)})))()},hideLoginModal:function(t){this.loginModal&&(t?this.loginModal.quickHide():this.loginModal.hide(),this.loginModal.destroy(),this.loginModal=null)},logout:function(){$.get({url:Craft.getActionUrl("users/logout"),dataType:"json",success:function(){Craft.redirectTo("")}})},renewSession:(r=i(e().mark((function t(){var n=this;return e().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:this.hideLogoutWarningModal(),this.renewingSession=!0,this.checkRemainingSessionTime(!0,(function(){n.renewingSession=!1}));case 3:case"end":return t.stop()}}),t,this)}))),function(){return r.apply(this,arguments)}),closeModal:function(){this.loginBtn.successEvent(),this.hideLoginModal(),this.checkRemainingSessionTime()}},{checkInterval:60,minSafeSessionTime:120})},341:function(){function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(){"use strict";e=function(){return i};var n,i={},r=Object.prototype,a=r.hasOwnProperty,s=Object.defineProperty||function(t,e,n){t[e]=n.value},o="function"==typeof Symbol?Symbol:{},l=o.iterator||"@@iterator",c=o.asyncIterator||"@@asyncIterator",u=o.toStringTag||"@@toStringTag";function h(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{h({},"")}catch(n){h=function(t,e,n){return t[e]=n}}function d(t,e,n,i){var r=e&&e.prototype instanceof b?e:b,a=Object.create(r.prototype),o=new A(i||[]);return s(a,"_invoke",{value:T(t,n,o)}),a}function f(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}i.wrap=d;var p="suspendedStart",g="suspendedYield",m="executing",v="completed",y={};function b(){}function w(){}function C(){}var $={};h($,l,(function(){return this}));var _=Object.getPrototypeOf,S=_&&_(_(P([])));S&&S!==r&&a.call(S,l)&&($=S);var x=C.prototype=b.prototype=Object.create($);function I(t){["next","throw","return"].forEach((function(e){h(t,e,(function(t){return this._invoke(e,t)}))}))}function E(e,n){function i(r,s,o,l){var c=f(e[r],e,s);if("throw"!==c.type){var u=c.arg,h=u.value;return h&&"object"==t(h)&&a.call(h,"__await")?n.resolve(h.__await).then((function(t){i("next",t,o,l)}),(function(t){i("throw",t,o,l)})):n.resolve(h).then((function(t){u.value=t,o(u)}),(function(t){return i("throw",t,o,l)}))}l(c.arg)}var r;s(this,"_invoke",{value:function(t,e){function a(){return new n((function(n,r){i(t,e,n,r)}))}return r=r?r.then(a,a):a()}})}function T(t,e,i){var r=p;return function(a,s){if(r===m)throw Error("Generator is already running");if(r===v){if("throw"===a)throw s;return{value:n,done:!0}}for(i.method=a,i.arg=s;;){var o=i.delegate;if(o){var l=D(o,i);if(l){if(l===y)continue;return l}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if(r===p)throw r=v,i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);r=m;var c=f(t,e,i);if("normal"===c.type){if(r=i.done?v:g,c.arg===y)continue;return{value:c.arg,done:i.done}}"throw"===c.type&&(r=v,i.method="throw",i.arg=c.arg)}}}function D(t,e){var i=e.method,r=t.iterator[i];if(r===n)return e.delegate=null,"throw"===i&&t.iterator.return&&(e.method="return",e.arg=n,D(t,e),"throw"===e.method)||"return"!==i&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+i+"' method")),y;var a=f(r,t.iterator,e.arg);if("throw"===a.type)return e.method="throw",e.arg=a.arg,e.delegate=null,y;var s=a.arg;return s?s.done?(e[t.resultName]=s.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=n),e.delegate=null,y):s:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,y)}function L(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function k(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function A(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(L,this),this.reset(!0)}function P(e){if(e||""===e){var i=e[l];if(i)return i.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,s=function t(){for(;++r=0;--r){var s=this.tryEntries[r],o=s.completion;if("root"===s.tryLoc)return i("end");if(s.tryLoc<=this.prev){var l=a.call(s,"catchLoc"),c=a.call(s,"finallyLoc");if(l&&c){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&a.call(i,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),k(n),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var r=i.arg;k(n)}return r}}throw Error("illegal catch attempt")},delegateYield:function(t,e,i){return this.delegate={iterator:P(t),resultName:e,nextLoc:i},"next"===this.method&&(this.arg=n),y}},i}function n(t,e,n,i,r,a,s){try{var o=t[a](s),l=o.value}catch(t){return void n(t)}o.done?e(l):Promise.resolve(l).then(i,r)}function i(t){return function(){var e=this,i=arguments;return new Promise((function(r,a){var s=t.apply(e,i);function o(t){n(s,r,a,o,l,"next",t)}function l(t){n(s,r,a,o,l,"throw",t)}o(void 0)}))}}Craft.IconPicker=Craft.BaseInputGenerator.extend({$container:null,$preview:null,$chooseBtn:null,$removeBtn:null,$input:null,modal:null,cancelToken:null,$searchInput:null,$iconListContainer:null,$iconList:null,defaultListHtml:null,get listLength(){return this.$iconList.find("li").length},init:function(t,e){var n=this;this.$container=$(t),this.setSettings(e,Craft.IconPicker.defaults),this.$container.data("iconpicker")&&(console.warn("Double-instantiating an icon picker on an element"),this.$container.data("iconpicker").destroy()),this.$container.data("iconpicker",this),this.$preview=this.$container.children(".icon-picker--icon"),this.$chooseBtn=this.$container.children(".icon-picker--choose-btn"),this.$removeBtn=this.$container.children(".icon-picker--remove-btn"),this.$input=this.$container.children("input"),this.addListener(this.$chooseBtn,"activate",(function(){n.showModal()})),this.addListener(this.$removeBtn,"activate",(function(){n.removeIcon()}))},showModal:function(){this.modal?this.modal.show():this.createModal()},createModal:function(){var t=this,n=$(''),r=$('').appendTo(n),a=$('').appendTo(r);$('').appendTo(a),this.$searchInput=Craft.ui.createTextInput({name:"search",class:"clearable",placeholder:Craft.t("app","Search")}).attr("aria-label",Craft.t("app","Search")).appendTo(a);var s=$("",{class:"clear-btn hidden",title:Craft.t("app","Clear search"),"aria-label":Craft.t("app","Clear search")}).appendTo(a);this.$iconListContainer=$('').appendTo(r),this.$iconList=$('').appendTo(this.$iconListContainer),this.updateLangAttribute(this.$iconList),$('').appendTo(this.$iconListContainer),Craft.cp.announce(Craft.t("app","Loading"));var o=new Craft.FormObserver(a,(function(){t.updateIcons()}));this.addListener(this.$searchInput,"input,change",(function(){t.$searchInput.val()?s.removeClass("hidden"):s.addClass("hidden")})),this.addListener(s,"activate",(function(){t.$searchInput.val("").trigger("change"),o.checkForm()})),this.addListener(this.$iconList,"click",function(){var n=i(e().mark((function n(i){var r;return e().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("BUTTON"!==i.target.nodeName){e.next=4;break}r=$(i.target),e.next=7;break;case 4:if((r=$(i.target).closest("button")).length){e.next=7;break}return e.abrupt("return");case 7:return e.next=9,t.selectIcon(r);case 9:t.$chooseBtn.focus();case 10:case"end":return e.stop()}}),n)})));return function(t){return n.apply(this,arguments)}}()),this.modal=new Garnish.Modal(n,{triggerElement:this.$chooseBtn}),this.updateIcons()},updateIcons:function(){var t=this;return i(e().mark((function n(){var i,r;return e().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.loadIcons();case 2:i=e.sent,t.$iconList.html(i),r="".concat(Craft.t("app","Loading complete")," - ").concat(Craft.t("app","{num, number} {num, plural, =1{result} other{results}}",{num:t.listLength})),Craft.cp.announce(r);case 6:case"end":return e.stop()}}),n)})))()},loadIcons:function(){var t=this;return i(e().mark((function n(){var i,r,a;return e().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.cancelToken&&t.cancelToken.cancel(),""!==(i=t.$searchInput.val())||null===t.defaultListHtml){e.next=4;break}return e.abrupt("return",t.defaultListHtml);case 4:return t.$iconListContainer.addClass("loading"),Craft.cp.announce(Craft.t("app","Loading")),t.cancelToken=axios.CancelToken.source(),e.prev=7,e.next=10,Craft.sendActionRequest("POST","app/icon-picker-options",{data:{search:i,freeOnly:t.settings.freeOnly},cancelToken:t.cancelToken.token});case 10:return r=e.sent,a=r.data.listHtml,""===i&&(t.defaultListHtml=a),e.abrupt("return",a);case 14:return e.prev=14,t.$iconListContainer.removeClass("loading"),t.cancelToken=null,e.finish(14);case 18:case"end":return e.stop()}}),n,null,[[7,,14,18]])})))()},updateLangAttribute:function(t){document.documentElement.lang.startsWith("en")||t.attr("lang","en")},selectIcon:function(t){var n=this;return i(e().mark((function i(){var r,a,s;return e().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null===(r=n.modal)||void 0===r||r.hide(),"string"!=typeof t){e.next=8;break}return a=t,e.next=5,Craft.ui.icon(t);case 5:s=e.sent.outerHTML,e.next=10;break;case 8:a=t.attr("title"),s=$(t).html();case 10:n.$preview.html(s).attr("title",a).attr("aria-label",a).attr("role","img"),n.updateLangAttribute(n.$preview),n.$input.val(a),n.$chooseBtn.children(".label").text(Craft.t("app","Change")),n.$removeBtn.removeClass("hidden"),n.$container.hasClass("small")&&n.$chooseBtn.addClass("hidden"),n.trigger("change",{iconName:a,iconHtml:s});case 17:case"end":return e.stop()}}),i)})))()},removeIcon:function(){this.$preview.html("").removeAttr("title").removeAttr("aria-label"),this.$input.val(""),this.$chooseBtn.children(".label").text(Craft.t("app","Choose")),this.$removeBtn.addClass("hidden"),this.$container.hasClass("small")?(this.$chooseBtn.removeClass("hidden"),this.$chooseBtn.focus()):this.$chooseBtn.focus(),this.trigger("change",{iconName:null,iconHtml:null})}},{defaults:{freeOnly:!1}})},555:function(){function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(t,e){for(var n=0;n=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,o=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){o=!0,a=t},f:function(){try{s||null==n.return||n.return()}finally{if(o)throw a}}}}function _unsupportedIterableToArray(t,e){if(t){if("string"==typeof t)return _arrayLikeToArray(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(t,e):void 0}}function _arrayLikeToArray(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=Array(e);n=0;--a){var s=this.tryEntries[a],o=s.completion;if("root"===s.tryLoc)return r("end");if(s.tryLoc<=this.prev){var l=i.call(s,"catchLoc"),c=i.call(s,"finallyLoc");if(l&&c){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&i.call(r,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),D(n),m}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var r=i.arg;D(n)}return r}}throw Error("illegal catch attempt")},delegateYield:function(e,n,i){return this.delegate={iterator:k(e),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),m}},e}function asyncGeneratorStep(t,e,n,i,r,a,s){try{var o=t[a](s),l=o.value}catch(t){return void n(t)}o.done?e(l):Promise.resolve(l).then(i,r)}function _asyncToGenerator(t){return function(){var e=this,n=arguments;return new Promise((function(i,r){var a=t.apply(e,n);function s(t){asyncGeneratorStep(a,i,r,s,o,"next",t)}function o(t){asyncGeneratorStep(a,i,r,s,o,"throw",t)}s(void 0)}))}}var _createElement;Craft.NestedElementManager=Garnish.Base.extend({$container:null,$btnContainer:null,elementType:null,$createBtn:null,$pasteBtn:null,$elements:null,elementSort:null,elementSelect:null,elementIndex:null,elementEditor:null,creatingElement:!1,init:function(t,e,n){var i=this;if(this.$container=$(t),this.elementType=e,this.setSettings(n,Craft.NestedElementManager.defaults),this.$container.data("nestedElementManager")&&(console.warn("Double-instantiating a nested element manager on an element"),this.$container.data("nestedElementManager").destroy()),this.$container.data("nestedElementManager",this),"cards"===this.settings.mode?this.$container.is(":has(.elements)")&&this.initCards():this.initElementIndex(),this.settings.canCreate){var r=Craft.ui.createButton({icon:"plus",label:this.settings.createButtonLabel,spinner:!0}).addClass("icon disabled");if("cards"===this.settings.mode&&r.addClass("dashed wrap"),this.addButton(r),Array.isArray(this.settings.createAttributes)){var a="menu-".concat(Math.floor(1e6*Math.random()));$("",{id:a,class:"menu menu--disclosure","data-with-search-input":this.settings.createAttributes.length>5?"true":null}).insertAfter(r),r.attr("aria-controls",a).attr("data-disclosure-trigger","true").addClass("menubtn").disclosureMenu();var s=r.data("disclosureMenu"),o={},l=[];this.settings.createAttributes.forEach((function(t){var e=t.group||Craft.t("app","General");o[e]||(o[e]=[],l.push(e)),o[e].push(t)}));var c=l.length>1;if(l.forEach((function(t){c&&(s.addHr(),s.addGroup(t,!1)),o[t].forEach((function(t){var e;s.addItem({icon:t.icon?$(t.icon)[0]:null,label:t.label,iconColor:t.color,onActivate:(e=_asyncToGenerator(_regeneratorRuntime().mark((function e(){return _regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r.addClass("loading"),e.next=3,i.createElement(t.attributes);case 3:r.removeClass("loading");case 4:case"end":return e.stop()}}),e)}))),function(){return e.apply(this,arguments)})})}))})),c&&"cards"===this.settings.mode){var u,h=$('').insertAfter(r);h.append(r);var d=$('').insertAfter(h),f="btngroup-desc-".concat(Math.floor(1e5*Math.random())),p=$("",{id:f,hidden:!0,html:Craft.t("app","Create {type}",{type:null!==(u=Craft.elementTypeNames[this.elementType][2])&&void 0!==u?u:Craft.t("app","element")})});d.append(p),l.forEach((function(t,e){var n=Craft.ui.createButton({icon:0===e?"plus":null,label:t,ariaDescribedBy:f,spinner:!0}).addClass("icon disabled dashed").appendTo(d),a="menu-".concat(Math.floor(1e6*Math.random()));$("",{id:a,class:"menu menu--disclosure"}).appendTo(d),n.attr("aria-controls",a).attr("data-disclosure-trigger","true").addClass("menubtn").disclosureMenu();var s=n.data("disclosureMenu");o[t].forEach((function(t){var e;s.addItem({icon:t.icon?$(t.icon)[0]:null,label:t.label,iconColor:t.color,onActivate:(e=_asyncToGenerator(_regeneratorRuntime().mark((function e(){return _regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n.addClass("loading"),e.next=3,i.createElement(t.attributes);case 3:n.removeClass("loading");case 4:case"end":return e.stop()}}),e)}))),function(){return e.apply(this,arguments)})})})),r=r.add(n)})),h.expandableButton()}}else this.addListener(r,"activate",function(){var t=_asyncToGenerator(_regeneratorRuntime().mark((function t(e){return _regeneratorRuntime().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e.preventDefault(),r.addClass("loading"),t.next=4,i.createElement(i.settings.createAttributes);case 4:r.removeClass("loading");case 5:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}());this.$createBtn=r,"cards"===this.settings.mode&&this.updateCreateBtn()}setTimeout((function(){i.elementEditor=i.$container.closest("form").data("elementEditor"),i.elementEditor&&i.elementEditor.on("update",(function(){i.settings.ownerId=i.elementEditor.getDraftElementId(i.settings.ownerId),i.elementIndex&&(i.elementIndex.settings.criteria[i.settings.ownerIdParam]=i.settings.ownerId)})),i.trigger("afterInit")}),100),Craft.cp.onCopyElements((function(t,e){i.updatePasteButton(t),i.$pasteBtn&&e&&i.$pasteBtn.find(".label").text(e)}))},addButton:function(t){"cards"===this.settings.mode?(this.$btnContainer||(this.$btnContainer=$btnContainer=$("",{class:"flex flex-inline"}).appendTo(this.$container)),t.appendTo(this.$btnContainer),this.updateCreateBtn()):t.appendTo(this.elementIndex.$toolbar)},initCards:function(){var t=this;this.$elements=this.$container.children(".elements"),this.$elements.length||(this.$elements=$("",{class:"elements ".concat(this.settings.showInGrid?"card-grid":"cards")}).prependTo(this.$container),this.$container.children(".zilch").addClass("hidden")),this.settings.selectable&&(this.elementSelect=new Garnish.Select(this.$elements,this.$elements.children().children(".element"),{multi:!0,vertical:!this.settings.showInGrid,filter:function(t){return!$(t).closest("a[href],.toggle,.btn,[role=button],.move,craft-copy-attribute").length},checkboxMode:!0,waitForDoubleClicks:!0})),this.settings.sortable&&Craft.hasMousePointerEvents()&&(this.elementSort=new Garnish.DragSort({container:this.$elements,filter:this.settings.selectable?function(){return t.elementSort.$targetItem.children(".element").hasClass("sel")?t.elementSelect.getSelectedItems().parent("li"):t.elementSort.$targetItem}:null,handle:"> .element > .card-titlebar > .card-actions-container > .card-actions > .move-btn",ignoreHandleSelector:null,collapseDraggees:!0,magnetStrength:4,helperLagBase:1.5,onSortChange:function(){t.onSortChange(t.elementSort.$draggee)}}));var e,n=_createForOfIteratorHelper(this.$elements.children().toArray());try{for(n.s();!(e=n.n()).done;){var i=e.value;this.initElement($(i).children(".element"))}}catch(t){n.e(t)}finally{n.f()}},deinitCards:function(){var t;this.$elements&&(this.$elements.remove(),this.$elements=null,null===(t=this.elementSort)||void 0===t||t.destroy(),this.elementSort=null,this.$container.children(".zilch").removeClass("hidden"))},initElementIndex:function(){var t,e,n,i,r,a,s,o,l,c=this;this.elementIndex=Craft.createElementIndex(this.elementType,this.$container,Object.assign({context:"embedded-index",sortable:this.settings.sortable,prevalidate:this.settings.prevalidate},this.settings.indexSettings,{canDuplicateElements:function(t){return c.canCreate(t.length)},canDeleteElements:function(t){return c.canDelete(t.length)},onBeforeMoveElementsToPage:(l=_asyncToGenerator(_regeneratorRuntime().mark((function t(){return _regeneratorRuntime().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,c.markAsDirty();case 2:case"end":return t.stop()}}),t)}))),function(){return l.apply(this,arguments)}),onMoveElementsToPage:(o=_asyncToGenerator(_regeneratorRuntime().mark((function t(){return _regeneratorRuntime().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,c.markAsDirty();case 2:case"end":return t.stop()}}),t)}))),function(){return o.apply(this,arguments)}),onBeforeReorderElements:(s=_asyncToGenerator(_regeneratorRuntime().mark((function t(){return _regeneratorRuntime().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,c.markAsDirty();case 2:case"end":return t.stop()}}),t)}))),function(){return s.apply(this,arguments)}),onReorderElements:(a=_asyncToGenerator(_regeneratorRuntime().mark((function t(){return _regeneratorRuntime().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,c.markAsDirty();case 2:case"end":return t.stop()}}),t)}))),function(){return a.apply(this,arguments)}),onBeforeDuplicateElements:(r=_asyncToGenerator(_regeneratorRuntime().mark((function t(){return _regeneratorRuntime().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,c.markAsDirty();case 2:case"end":return t.stop()}}),t)}))),function(){return r.apply(this,arguments)}),onDuplicateElements:(i=_asyncToGenerator(_regeneratorRuntime().mark((function t(){return _regeneratorRuntime().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,c.markAsDirty();case 2:case"end":return t.stop()}}),t)}))),function(){return i.apply(this,arguments)}),onBeforeDeleteElements:(n=_asyncToGenerator(_regeneratorRuntime().mark((function t(){return _regeneratorRuntime().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,c.markAsDirty();case 2:case"end":return t.stop()}}),t)}))),function(){return n.apply(this,arguments)}),onDeleteElements:(e=_asyncToGenerator(_regeneratorRuntime().mark((function t(){var e;return _regeneratorRuntime().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,c.markAsDirty();case 2:if(t.sent){t.next=4;break}null===(e=c.elementEditor)||void 0===e||e.checkForm(!0);case 4:case"end":return t.stop()}}),t)}))),function(){return e.apply(this,arguments)}),onBeforeUpdateElements:function(){c.$createBtn&&c.$createBtn.addClass("disabled")},onCountResults:function(){c.updateCreateBtn()},onSortChange:(t=_asyncToGenerator(_regeneratorRuntime().mark((function t(e){return _regeneratorRuntime().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,c.onSortChange(e);case 2:case"end":return t.stop()}}),t)}))),function(e){return t.apply(this,arguments)})}))},markAsDirty:function(){var t=this;return _asyncToGenerator(_regeneratorRuntime().mark((function e(){return _regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.elementEditor&&t.settings.baseInputName){e.next=2;break}return e.abrupt("return",!1);case 2:return e.next=4,t.elementEditor.setFormValue(t.settings.baseInputName,"*");case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e)})))()},getBaseActionData:function(){var t=this;return _asyncToGenerator(_regeneratorRuntime().mark((function e(){return _regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.markAsDirty();case 2:return e.abrupt("return",{ownerElementType:t.settings.ownerElementType,ownerId:t.settings.ownerId,ownerSiteId:t.settings.ownerSiteId,attribute:t.settings.attribute});case 3:case"end":return e.stop()}}),e)})))()},onSortChange:function(t){var e=this;return _asyncToGenerator(_regeneratorRuntime().mark((function n(){var i,r,a;return _regeneratorRuntime().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return i=t.find(".element").toArray().map((function(t){return parseInt($(t).data("id"))})),n.prev=1,n.next=4,e.updateSortOrder(i);case 4:r=n.sent,Craft.cp.displayNotice(r.data.message),n.next=11;break;case 8:n.prev=8,n.t0=n.catch(1),Craft.cp.displayError(null===n.t0||void 0===n.t0||null===(a=n.t0.response)||void 0===a||null===(a=a.data)||void 0===a?void 0:a.message);case 11:return n.next=13,e.markAsDirty();case 13:if(n.sent){n.next=15;break}Craft.Preview.refresh();case 15:case"end":return n.stop()}}),n,null,[[1,8]])})))()},updateSortOrder:function(t){var e=this;return _asyncToGenerator(_regeneratorRuntime().mark((function n(){var i,r;return _regeneratorRuntime().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return t=(t=Array.isArray(t)?t:[t]).map((function(t){return parseInt(t)})),i=e.getElementIds(),n.t0=Object,n.next=6,e.getBaseActionData();case 6:return n.t1=n.sent,n.t2={elementIds:t,offset:e.getBaseElementOffset()+i.indexOf(t[0])},r=n.t0.assign.call(n.t0,n.t1,n.t2),n.next=11,Craft.sendActionRequest("POST","nested-elements/reorder",{data:r});case 11:return n.abrupt("return",n.sent);case 12:case"end":return n.stop()}}),n)})))()},updateCreateBtn:function(){this.$createBtn&&(this.canCreate()?this.$createBtn.removeClass("disabled"):this.$createBtn.addClass("disabled"),this.updatePasteButton())},updatePasteButton:function(){var t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;e=e||Craft.cp.getCopiedElements(),this.canPaste(e)?this.$pasteBtn?this.$pasteBtn.removeClass("hidden"):(this.$pasteBtn=Craft.ui.createPasteButton(),this.addButton(this.$pasteBtn),this.addListener(this.$pasteBtn,"activate","pasteElements")):null===(t=this.$pasteBtn)||void 0===t||t.addClass("hidden")},canCreate:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;if(!this.settings.canCreate||0===t)return!1;if(!this.settings.maxElements)return!0;var e=this.getTotalElements();return null!==e&&e+t<=this.settings.maxElements},canDelete:function(){return!this.settings.minElements||null!==this.getTotalElements()},canPaste:function canPaste(elementInfo){if(!this.settings.canPaste||!this.canCreate(elementInfo.length))return!1;var _iterator2=_createForOfIteratorHelper(elementInfo),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var e=_step2.value;if(e.type!==this.elementType)return!1}}catch(t){_iterator2.e(t)}finally{_iterator2.f()}return"function"==typeof this.settings.canPaste?this.settings.canPaste(elementInfo):"string"!=typeof this.settings.canPaste||eval(this.settings.canPaste)(elementInfo)},getElementIds:function(){return("cards"===this.settings.mode?this.$elements.find("> li > .element").toArray():this.elementIndex.view.getAllElements().toArray().map((function(t){return t.querySelector(".element")}))).map((function(t){return t.getAttribute("data-id")})).filter((function(t){return t})).map((function(t){return parseInt(t)}))},getTotalElements:function(){return"cards"===this.settings.mode?this.$elements?this.$elements.children().length:0:this.elementIndex.isIndexBusy?null:this.elementIndex.totalUnfilteredResults},getBaseElementOffset:function(){return"cards"===this.settings.mode?0:this.elementIndex.settings.batchSize*(this.elementIndex.page-1)},createElement:(_createElement=_asyncToGenerator(_regeneratorRuntime().mark((function t(e){var n,i,r,a,s,o,l=this;return _regeneratorRuntime().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!this.creatingElement){t.next=2;break}return t.abrupt("return");case 2:return this.creatingElement=!0,Craft.cp.announce(Craft.t("app","Loading")),t.prev=4,t.next=7,this.markAsDirty();case 7:return e=Object.assign({elementType:this.elementType,ownerId:this.settings.ownerId,fieldId:this.settings.fieldId,siteId:this.settings.ownerSiteId},e),t.next=10,Craft.sendActionRequest("POST","elements/create",{data:e});case 10:n=t.sent,i=n.data,r=Craft.createElementEditor(this.elementType,{siteId:i.element.siteId,elementId:i.element.id,draftId:i.element.draftId,params:{fresh:1}}),a=!1,s=function(){var t=_asyncToGenerator(_regeneratorRuntime().mark((function t(e){return _regeneratorRuntime().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(a){t.next=12;break}if(a=!0,"cards"!==l.settings.mode){t.next=8;break}return t.next=5,l.addElementCard(e);case 5:t.sent,t.next=10;break;case 8:l.elementIndex.clearSearch(),l.elementIndex.updateElements();case 10:return t.next=12,l.markAsDirty();case 12:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),r.on("load",(function(){r.elementEditor.once("afterSaveDraft",(function(t){s(i.element)}))})),r.on("submit",_asyncToGenerator(_regeneratorRuntime().mark((function t(){return _regeneratorRuntime().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,s(i.element);case 2:case"end":return t.stop()}}),t)})))),r.on("close",(function(){var t;l.$createBtn&&l.$createBtn.filter(":visible:first").focus(),null===(t=l.elementEditor)||void 0===t||t.checkForm(!0)})),t.next=23;break;case 20:t.prev=20,t.t0=t.catch(4),Craft.cp.displayError(null===t.t0||void 0===t.t0||null===(o=t.t0.response)||void 0===o||null===(o=o.data)||void 0===o?void 0:o.message);case 23:return t.prev=23,this.creatingElement=!1,Craft.cp.announce(Craft.t("app","Loading complete")),t.finish(23);case 27:case"end":return t.stop()}}),t,this,[[4,20,23,27]])}))),function(t){return _createElement.apply(this,arguments)}),duplicateElement:function(t){var e=this;return _asyncToGenerator(_regeneratorRuntime().mark((function n(){var i,r,a,s,o,l,c;return _regeneratorRuntime().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return r=$(t),Craft.cp.announce(Craft.t("app","Loading")),n.next=4,e.markAsDirty();case 4:return n.prev=4,o=r.data("id"),n.next=8,Craft.sendActionRequest("POST","elements/duplicate",{data:{elementType:e.elementType,ownerId:e.settings.ownerId,siteId:e.settings.ownerSiteId,elementId:(null===(s=e.elementEditor)||void 0===s?void 0:s.getDraftElementId(o))||o}});case 8:l=n.sent,a=l.data,n.next=15;break;case 12:n.prev=12,n.t0=n.catch(4),Craft.cp.displayError(null===n.t0||void 0===n.t0||null===(c=n.t0.response)||void 0===c||null===(c=c.data)||void 0===c?void 0:c.message);case 15:return n.next=17,e.addElementCard(a.element);case 17:return n.sent.parent().insertAfter(r.parent()),n.next=21,e.updateSortOrder(a.element.id);case 21:null===(i=e.elementEditor)||void 0===i||i.checkForm(!0);case 22:case"end":return n.stop()}}),n,null,[[4,12]])})))()},duplicateElements:function(t){var e=this;return _asyncToGenerator(_regeneratorRuntime().mark((function n(){var i,r,a;return _regeneratorRuntime().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:t instanceof jQuery&&(t=t.toArray()),i=_createForOfIteratorHelper(t),n.prev=2,i.s();case 4:if((r=i.n()).done){n.next=10;break}return a=r.value,n.next=8,e.duplicateElement(a);case 8:n.next=4;break;case 10:n.next=15;break;case 12:n.prev=12,n.t0=n.catch(2),i.e(n.t0);case 15:return n.prev=15,i.f(),n.finish(15);case 18:case"end":return n.stop()}}),n,null,[[2,12,15,18]])})))()},pasteElements:function(){var t=this;return _asyncToGenerator(_regeneratorRuntime().mark((function e(){var n,i,r;return _regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return Craft.cp.announce(Craft.t("app","Loading")),t.$pasteBtn.addClass("loading"),e.prev=2,e.next=5,t.markAsDirty();case 5:return e.next=7,Craft.cp.pasteElements(Object.assign({primaryOwnerId:t.settings.ownerId,ownerId:t.settings.ownerId,fieldId:t.settings.fieldId,siteId:t.settings.ownerSiteId},t.settings.pasteAttributes||{}));case 7:if((i=e.sent).length){e.next=10;break}return e.abrupt("return");case 10:if("cards"!==t.settings.mode){e.next=19;break}return e.next=13,t.addElementCards(i,!1);case 13:return r=e.sent,e.next=16,t.updateSortOrder(i[0].id);case 16:Garnish.firstFocusableElement(r).focus(),e.next=22;break;case 19:return t.elementIndex.clearSearch(),e.next=22,t.elementIndex.updateElements();case 22:return e.prev=22,t.$pasteBtn.removeClass("loading"),e.finish(22);case 25:null===(n=t.elementEditor)||void 0===n||n.checkForm(!0);case 26:case"end":return e.stop()}}),e,null,[[2,,22,25]])})))()},initElement:function(t){var e=this;setTimeout((function(){if(e.settings.selectable&&e.elementSelect.addItems(t),Garnish.hasAttr(t,"data-editable")){var n=t.find(".edit-btn");n.length&&(n.off("activate"),e.addListener(n,"activate",(function(i){n.focus();var r=t.data("cpUrl");r&&Garnish.isCtrlKeyPressed(i.originalEvent)?window.open(r):e.createElementEditor(t)}))),e.addListener(t,"dblclick,taphold",(function(n){$(n.target).closest("a[href],button,[role=button]").length||e.createElementEditor(t)}))}var i,r,a,s,o,l=t.find(".action-btn").removeClass("hidden").disclosureMenu().data("disclosureMenu");if(l){var c,u,h,d=l.$container,f=l.getFirstDestructiveGroup(),p=t.parent(),g=function(){return p.prev("li")},m=function(){return p.next("li")};if(e.settings.sortable){var v;null===(v=e.elementSort)||void 0===v||v.addItems(p);var y=l.addGroup(null,!0,f);c=l.addItem({icon:(o=_asyncToGenerator(_regeneratorRuntime().mark((function t(){return _regeneratorRuntime().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Craft.ui.icon(e.settings.showInGrid?"ltr"===Craft.orientation?"arrow-left":"arrow-right":"arrow-up");case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}}),t)}))),function(){return o.apply(this,arguments)}),label:e.settings.showInGrid?Craft.t("app","Move forward"):Craft.t("app","Move up"),onActivate:function(){var t=g();t.length&&(p.insertBefore(t),e.onSortChange(p))}},y),u=l.addItem({icon:(s=_asyncToGenerator(_regeneratorRuntime().mark((function t(){return _regeneratorRuntime().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Craft.ui.icon(e.settings.showInGrid?"ltr"===Craft.orientation?"arrow-right":"arrow-left":"arrow-down");case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}}),t)}))),function(){return s.apply(this,arguments)}),label:e.settings.showInGrid?Craft.t("app","Move backward"):Craft.t("app","Move down"),onActivate:function(){var t=m();t.length&&(p.insertAfter(t),e.onSortChange(p))}},y)}var b=Garnish.hasAttr(t,"data-duplicatable"),w=Garnish.hasAttr(t,"data-copyable");if(b||w){var C=l.addGroup(null,!0,f);if(b&&(h=l.addItem({icon:(a=_asyncToGenerator(_regeneratorRuntime().mark((function t(){return _regeneratorRuntime().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Craft.ui.icon("clone");case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}}),t)}))),function(){return a.apply(this,arguments)}),label:Craft.t("app","Duplicate"),onActivate:function(){e.duplicateElement(t)}},C)),w){var _=d.find("[data-copy-action]");_.length&&l.removeItem(_[0]),l.addItem({icon:(r=_asyncToGenerator(_regeneratorRuntime().mark((function t(){return _regeneratorRuntime().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Craft.ui.icon("clone-dashed");case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}}),t)}))),function(){return r.apply(this,arguments)}),iconColor:"fuchsia",label:Craft.t("app","Copy"),onActivate:function(){Craft.cp.copyElements(t)}},C)}}if(Garnish.hasAttr(t,"data-deletable")){var S=l.addGroup();l.addItem({icon:(i=_asyncToGenerator(_regeneratorRuntime().mark((function t(){return _regeneratorRuntime().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Craft.ui.icon("trash");case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}}),t)}))),function(){return i.apply(this,arguments)}),label:e.settings.deleteLabel||Craft.t("app","Delete"),destructive:!0,onActivate:function(){confirm(e.settings.deleteConfirmationMessage)&&e.deleteElement(t)}},S)}l.on("show",(function(){c&&l.toggleItem(c,g().length),u&&l.toggleItem(u,m().length),h&&l.toggleItem(h,e.canCreate())}))}}),1)},createElementEditor:function(t){var e,n,i=this,r=Craft.createElementEditor(this.elementType,t,{ownerId:null===(e=this.elementEditor)||void 0===e?void 0:e.getDraftElementId(t.data("ownerId")),onLoad:function(){r.elementEditor.on("update",(function(){Craft.Preview.refresh()}))},onBeforeSubmit:(n=_asyncToGenerator(_regeneratorRuntime().mark((function e(){return _regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===i.elementEditor||!Garnish.hasAttr(t,"data-owner-is-canonical")||Garnish.hasAttr(t,"data-is-unpublished-draft")||i.elementEditor.settings.isUnpublishedDraft){e.next=6;break}return e.next=3,r.elementEditor.checkForm(!0,!0);case 3:return e.next=5,i.markAsDirty();case 5:i.elementEditor.settings.draftId&&r.elementEditor.settings.draftId&&(r.elementEditor.settings.saveParams||(r.elementEditor.settings.saveParams={}),r.elementEditor.settings.saveParams.action="elements/save-nested-element-for-derivative",r.elementEditor.settings.saveParams.newOwnerId=i.settings.ownerId);case 6:case"end":return e.stop()}}),e)}))),function(){return n.apply(this,arguments)}),onSubmit:function(e){e.data.id!=t.data("id")&&(t.attr("data-id",e.data.id).data("id",e.data.id).data("owner-id",e.data.ownerId),Craft.refreshElementInstances(e.data.id))}})},deleteElement:function(t){var e=this;return _asyncToGenerator(_regeneratorRuntime().mark((function n(){var i,r,a,s,o,l;return _regeneratorRuntime().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return i=$(t),n.t0=Object,n.next=4,e.getBaseActionData();case 4:return n.t1=n.sent,n.t2={elementId:i.data("id")},r=n.t0.assign.call(n.t0,n.t1,n.t2),n.prev=7,n.next=10,Craft.sendActionRequest("POST","nested-elements/delete",{data:r});case 10:a=n.sent,Craft.cp.displayNotice(a.data.message),n.next=18;break;case 14:throw n.prev=14,n.t3=n.catch(7),Craft.cp.displayError(null===n.t3||void 0===n.t3||null===(s=n.t3.response)||void 0===s||null===(s=s.data)||void 0===s?void 0:s.message),n.t3;case 18:return e.settings.sortable&&(null===(o=e.elementSort)||void 0===o||o.removeItems(i)),i.parent().remove(),0===e.$elements.children().length&&e.deinitCards(),e.$createBtn&&(e.updateCreateBtn(),e.canCreate()&&e.$createBtn.filter(":visible:first").focus()),n.next=24,e.markAsDirty();case 24:if(n.sent){n.next=26;break}null===(l=e.elementEditor)||void 0===l||l.checkForm(!0);case 26:case"end":return n.stop()}}),n,null,[[7,14]])})))()},deleteElements:function(t){var e=this;return _asyncToGenerator(_regeneratorRuntime().mark((function n(){var i,r,a;return _regeneratorRuntime().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:t instanceof jQuery&&(t=t.toArray()),i=_createForOfIteratorHelper(t),n.prev=2,i.s();case 4:if((r=i.n()).done){n.next=10;break}return a=r.value,n.next=8,e.deleteElement(a);case 8:n.next=4;break;case 10:n.next=15;break;case 12:n.prev=12,n.t0=n.catch(2),i.e(n.t0);case 15:return n.prev=15,i.f(),n.finish(15);case 18:case"end":return n.stop()}}),n,null,[[2,12,15,18]])})))()},addElementCard:function(t){var e=this;return _asyncToGenerator(_regeneratorRuntime().mark((function n(){return _regeneratorRuntime().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,e.addElementCards([t]);case 2:return n.abrupt("return",n.sent);case 3:case"end":return n.stop()}}),n)})))()},addElementCards:function(t){var e=this;return _asyncToGenerator(_regeneratorRuntime().mark((function n(){var i,r,a,s,o,l,c,u,h,d,f,p,g,m;return _regeneratorRuntime().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!e.creatingElement){n.next=2;break}return n.abrupt("return",null);case 2:return Craft.cp.announce(Craft.t("app","Loading")),n.prev=3,n.next=6,Craft.sendActionRequest("POST","app/render-elements",{data:{elements:t.map((function(t){return{type:e.elementType,id:t.id,siteId:t.siteId,instances:[{context:"field",ui:"card",sortable:e.settings.sortable,selectable:e.settings.selectable,showActionMenu:!0,hyperlink:!1}]}}))}});case 6:r=n.sent,i=r.data,n.next=14;break;case 10:throw n.prev=10,n.t0=n.catch(3),Craft.cp.displayError(null===n.t0||void 0===n.t0||null===(a=n.t0.response)||void 0===a||null===(a=a.data)||void 0===a?void 0:a.message),null!==(s=null===n.t0||void 0===n.t0||null===(o=n.t0.response)||void 0===o||null===(o=o.data)||void 0===o?void 0:o.message)&&void 0!==s?s:n.t0;case 14:e.$elements||e.initCards(),l=$(),c=_createForOfIteratorHelper(t);try{for(c.s();!(u=c.n()).done;){h=u.value,d=_createForOfIteratorHelper(i.elements[h.id]||[]);try{for(d.s();!(f=d.n()).done;)p=f.value,g=$("").appendTo(e.$elements),m=$(p).appendTo(g),l=l.add(m),e.initElement(m),Craft.cp.elementThumbLoader.load(m)}catch(t){d.e(t)}finally{d.f()}}}catch(t){c.e(t)}finally{c.f()}return n.next=20,Craft.appendHeadHtml(i.headHtml);case 20:return n.next=22,Craft.appendBodyHtml(i.bodyHtml);case 22:return e.updateCreateBtn(),n.abrupt("return",l);case 24:case"end":return n.stop()}}),n,null,[[3,10]])})))()},destroy:function(){this.$container.removeData("nestedElementManager"),this.base()}},{ownerId:null,defaults:{mode:"cards",showInGrid:!1,ownerElementType:null,ownerId:null,ownerSiteId:null,attribute:null,selectable:!1,sortable:!1,indexSettings:{},canCreate:!1,canPaste:!1,minElements:null,maxElements:null,createButtonLabel:Craft.t("app","Create"),ownerIdParam:null,createAttributes:null,pasteAttributes:null,fieldId:null,fieldHandle:null,baseInputName:null,deleteLabel:null,deleteConfirmationMessage:null,prevalidate:!1}})},743:function(){Craft.HandleGenerator=Craft.BaseInputGenerator.extend({generateTargetValue:function(t){var e=t.replace(/<(.*?)>/g,"");e=(e=e.replace(/['"‘’“”ʻ\[\]\(\)\{\}:]/g,"")).toLowerCase(),e=Craft.asciiString(e),this.settings.allowNonAlphaStart||(e=e.replace(/^[^a-z]+/,""));var n=Craft.filterArray(e.split(/[^a-z0-9]+/));if(e="","snake"===Craft.handleCasing)return n.join("_");for(var i=0;i(null===(e=this.scroller)||void 0===e?void 0:e.clientWidth)}},{key:"connectedCallback",value:function(){this.ignoreScrollEvent=!1,this.animation=!1,this.scroller=document.querySelector(this.getAttribute("scroller")),this.content=document.querySelector(this.getAttribute("content")),this.scroller&&this.content&&(this.proxy=document.createElement("div"),this.proxy.style.height="1px",this.proxy.style.width=this.content.getBoundingClientRect().width+"px",this.appendChild(this.proxy),this.addEventListener("scroll",this.syncScroll(this.scroller,this)),this.scroller.addEventListener("scroll",this.syncScroll(this,this.scroller)),window.addEventListener("resize",this.handleResize.bind(this)),Object.assign(this.style,{display:this.hasOverflow?"block":"none",overflowX:"scroll"}))}},{key:"attributeChangedCallback",value:function(t,e,n){"hidden"===t&&(this.style.display=n?"none":"block")}},{key:"disconnectedCallback",value:function(){var t,e,n;null===(t=this.proxy)||void 0===t||t.remove(),null===(e=this.scroller)||void 0===e||e.removeEventListener("scroll",this.syncScroll(this.scroller,this)),null===(n=this.scroller)||void 0===n||n.removeEventListener("scroll",this.syncScroll(this,this.scroller)),window.removeEventListener("resize",this.handleResize.bind(this))}},{key:"handleResize",value:function(){this.proxy.style.width=this.content.getBoundingClientRect().width+"px",this.hasOverflow?this.removeAttribute("hidden"):this.setAttribute("hidden","true")}},{key:"syncScroll",value:function(t,e){var n=this;return function(){if(n.ignoreScrollEvent)return!1;n.animation&&cancelAnimationFrame(n.animation),n.animation=requestAnimationFrame((function(){n.ignoreScrollEvent=!0,t.scrollLeft=e.scrollLeft,n.ignoreScrollEvent=!1}))}}}])}(n(HTMLElement));!function(t,e,n){(e=s(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}(o,"observedAttributes",["hidden"]),customElements.define("craft-proxy-scrollbar",o)},991:function(){function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(){"use strict";e=function(){return i};var n,i={},r=Object.prototype,a=r.hasOwnProperty,s=Object.defineProperty||function(t,e,n){t[e]=n.value},o="function"==typeof Symbol?Symbol:{},l=o.iterator||"@@iterator",c=o.asyncIterator||"@@asyncIterator",u=o.toStringTag||"@@toStringTag";function h(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{h({},"")}catch(n){h=function(t,e,n){return t[e]=n}}function d(t,e,n,i){var r=e&&e.prototype instanceof b?e:b,a=Object.create(r.prototype),o=new A(i||[]);return s(a,"_invoke",{value:T(t,n,o)}),a}function f(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}i.wrap=d;var p="suspendedStart",g="suspendedYield",m="executing",v="completed",y={};function b(){}function w(){}function C(){}var $={};h($,l,(function(){return this}));var _=Object.getPrototypeOf,S=_&&_(_(P([])));S&&S!==r&&a.call(S,l)&&($=S);var x=C.prototype=b.prototype=Object.create($);function I(t){["next","throw","return"].forEach((function(e){h(t,e,(function(t){return this._invoke(e,t)}))}))}function E(e,n){function i(r,s,o,l){var c=f(e[r],e,s);if("throw"!==c.type){var u=c.arg,h=u.value;return h&&"object"==t(h)&&a.call(h,"__await")?n.resolve(h.__await).then((function(t){i("next",t,o,l)}),(function(t){i("throw",t,o,l)})):n.resolve(h).then((function(t){u.value=t,o(u)}),(function(t){return i("throw",t,o,l)}))}l(c.arg)}var r;s(this,"_invoke",{value:function(t,e){function a(){return new n((function(n,r){i(t,e,n,r)}))}return r=r?r.then(a,a):a()}})}function T(t,e,i){var r=p;return function(a,s){if(r===m)throw Error("Generator is already running");if(r===v){if("throw"===a)throw s;return{value:n,done:!0}}for(i.method=a,i.arg=s;;){var o=i.delegate;if(o){var l=D(o,i);if(l){if(l===y)continue;return l}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if(r===p)throw r=v,i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);r=m;var c=f(t,e,i);if("normal"===c.type){if(r=i.done?v:g,c.arg===y)continue;return{value:c.arg,done:i.done}}"throw"===c.type&&(r=v,i.method="throw",i.arg=c.arg)}}}function D(t,e){var i=e.method,r=t.iterator[i];if(r===n)return e.delegate=null,"throw"===i&&t.iterator.return&&(e.method="return",e.arg=n,D(t,e),"throw"===e.method)||"return"!==i&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+i+"' method")),y;var a=f(r,t.iterator,e.arg);if("throw"===a.type)return e.method="throw",e.arg=a.arg,e.delegate=null,y;var s=a.arg;return s?s.done?(e[t.resultName]=s.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=n),e.delegate=null,y):s:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,y)}function L(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function k(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function A(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(L,this),this.reset(!0)}function P(e){if(e||""===e){var i=e[l];if(i)return i.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,s=function t(){for(;++r=0;--r){var s=this.tryEntries[r],o=s.completion;if("root"===s.tryLoc)return i("end");if(s.tryLoc<=this.prev){var l=a.call(s,"catchLoc"),c=a.call(s,"finallyLoc");if(l&&c){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&a.call(i,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),k(n),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var r=i.arg;k(n)}return r}}throw Error("illegal catch attempt")},delegateYield:function(t,e,i){return this.delegate={iterator:P(t),resultName:e,nextLoc:i},"next"===this.method&&(this.arg=n),y}},i}function n(t,e,n,i,r,a,s){try{var o=t[a](s),l=o.value}catch(t){return void n(t)}o.done?e(l):Promise.resolve(l).then(i,r)}function i(t){return function(){var e=this,i=arguments;return new Promise((function(r,a){var s=t.apply(e,i);function o(t){n(s,r,a,o,l,"next",t)}function l(t){n(s,r,a,o,l,"throw",t)}o(void 0)}))}}Craft.AdminTable=Garnish.Base.extend({settings:null,totalItems:null,sorter:null,$noItems:null,$table:null,$tbody:null,$deleteBtns:null,init:function(t){var e=this;this.setSettings(t,Craft.AdminTable.defaults),this.settings.allowDeleteAll||(this.settings.minItems=1),this.$noItems=$(this.settings.noItemsSelector),this.$table=$(this.settings.tableSelector),this.$tbody=this.$table.children("tbody"),this.totalItems=this.$tbody.children().length,this.settings.sortable&&Craft.hasMousePointerEvents()&&(this.sorter=new Craft.DataTableSorter(this.$table,{onSortChange:this.reorderItems.bind(this)})),this.$deleteBtns=this.$table.find(".delete:not(.disabled)"),this.addListener(this.$deleteBtns,"click","handleDeleteBtnClick"),this.addListener(this.$deleteBtns,"keydown",(function(t){t.keyCode!==Garnish.SPACE_KEY&&t.keyCode!==Garnish.RETURN_KEY||(t.preventDefault(),e.handleDeleteBtnClick(t))})),this.$tbody.children("tr").each((function(t,n){e.initRow(n)})),this.updateUI()},initRow:function(t){return new Craft.AdminTable.Row(this,t)},addRow:function(t){if(!(this.settings.maxItems&&this.totalItems>=this.settings.maxItems)){var e,n=$(t).appendTo(this.$tbody),i=n.find(".delete");this.settings.sortable&&Craft.hasMousePointerEvents()&&(null===(e=this.sorter)||void 0===e||e.addItems(n)),this.$deleteBtns=this.$deleteBtns.add(i),this.addListener(i,"click","handleDeleteBtnClick"),this.totalItems++,this.updateUI()}},reorderItems:function(){var t=this;if(this.settings.sortable){var e=this.getRowOrder(),n={ids:JSON.stringify(e)};Craft.sendActionRequest("POST",this.settings.reorderAction,{data:n}).then((function(n){t.onReorderItems(e),Craft.cp.displaySuccess(Craft.t("app",t.settings.reorderSuccessMessage))})).catch((function(e){e.response,Craft.cp.displayError(Craft.t("app",t.settings.reorderFailMessage))}))}},getRowOrder:function(){var t=this,e=[];return this.$tbody.children("tr").each((function(n,i){var r=$(i).attr(t.settings.idAttribute);e.push(r)})),e},handleDeleteBtnClick:function(t){if(!(this.settings.minItems&&this.totalItems<=this.settings.minItems)){var e=$(t.target).closest("tr");this.confirmDeleteItem(e)&&this.deleteItem(e)}},confirmDeleteItem:function(t){if(!this.settings.confirmDeleteMessage)return!0;var e=this.getItemName(t);return confirm(Craft.t("app",this.settings.confirmDeleteMessage,{name:e}))},deleteItem:function(t){var e=this,n={id:this.getItemId(t)};Craft.sendActionRequest("POST",this.settings.deleteAction,{data:n}).then((function(n){return e.handleDeleteItemSuccess(n.data,t)})).catch((function(n){var i=n.response;return e.handleDeleteItemFailure(i.data,t)}))},handleDeleteItemFailure:function(t,e){this.getItemId(e);var n=this.getItemName(e);Craft.cp.displayError(Craft.t("app",this.settings.deleteFailMessage,{name:n}))},handleDeleteItemSuccess:function(t,e){var n=this.getItemId(e),i=this.getItemName(e);this.sorter&&this.sorter.removeItems(e),e.remove(),this.totalItems--,this.updateUI(),this.onDeleteItem(n),this.settings.deleteSuccessMessage&&Craft.cp.displaySuccess(Craft.t("app",this.settings.deleteSuccessMessage,{name:i}))},onReorderItems:function(t){this.settings.onReorderItems(t)},onDeleteItem:function(t){this.settings.onDeleteItem(t)},getItemId:function(t){return t.attr(this.settings.idAttribute)},getItemName:function(t){return Craft.escapeHtml(t.attr(this.settings.nameAttribute))},updateUI:function(){if(0===this.totalItems?(this.$table.hide(),this.$noItems.removeClass("hidden")):(this.$table.show(),this.$noItems.addClass("hidden")),this.settings.sortable)if(Craft.hasMousePointerEvents()){var t=this.$table.find(".move");1===this.totalItems?t.addClass("disabled"):t.removeClass("disabled")}else this.$table.find(".move").hide();this.settings.minItems&&this.totalItems<=this.settings.minItems?this.$deleteBtns.addClass("disabled"):this.$deleteBtns.removeClass("disabled"),this.settings.newItemBtnSelector&&(this.settings.maxItems&&this.totalItems>=this.settings.maxItems?$(this.settings.newItemBtnSelector).addClass("hidden"):$(this.settings.newItemBtnSelector).removeClass("hidden"))}},{defaults:{tableSelector:null,noItemsSelector:null,newItemBtnSelector:null,idAttribute:"data-id",nameAttribute:"data-name",sortable:!1,allowDeleteAll:!0,minItems:0,maxItems:null,reorderAction:null,deleteAction:null,reorderSuccessMessage:Craft.t("app","New order saved."),reorderFailMessage:Craft.t("app","Couldn’t save new order."),confirmDeleteMessage:Craft.t("app","Are you sure you want to delete “{name}”?"),deleteSuccessMessage:Craft.t("app","“{name}” deleted."),deleteFailMessage:Craft.t("app","Couldn’t delete “{name}”."),onReorderItems:$.noop,onDeleteItem:$.noop}}),Craft.AdminTable.Row=Garnish.Base.extend({table:null,$row:null,$moveHandle:null,$actionMenuBtn:null,$actionMenu:null,actionDisclosure:null,moveUpBtn:null,moveDownBtn:null,init:function(t,e){this.table=t,this.$row=$(e),this.initSortActions()},initSortActions:function(){var t=this;if(this.table.settings.sortable){this.$row.find(".delete").parent("td");var n,r,a="menu-"+Math.floor(1e9*Math.random()),s=this.$row.find(".actions-container");s.length>0&&(this.$actionMenuBtn=$("",{class:"btn action-btn","aria-controls":a,"aria-label":Craft.t("app","Actions"),"data-disclosure-trigger":"","data-icon":"ellipsis"}).appendTo(s),this.$actionMenu=$("",{id:a,class:"menu menu--disclosure"}).appendTo(s),this.actionDisclosure=new Garnish.DisclosureMenu(this.$actionMenuBtn),this.moveUpBtn=this.actionDisclosure.addItem({icon:(r=i(e().mark((function t(){return e().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Craft.ui.icon("arrow-up");case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}}),t)}))),function(){return r.apply(this,arguments)}),label:Craft.t("app","Move up"),onActivate:function(){t.moveUp()}}),this.moveDownBtn=this.actionDisclosure.addItem({icon:(n=i(e().mark((function t(){return e().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Craft.ui.icon("arrow-down");case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}}),t)}))),function(){return n.apply(this,arguments)}),label:Craft.t("app","Move down"),onActivate:function(){t.moveDown()}}),this.actionDisclosure.on("show",(function(){t.getPrevItem()?t.actionDisclosure.showItem(t.moveUpBtn):t.actionDisclosure.hideItem(t.moveUpBtn),t.getNextItem()?t.actionDisclosure.showItem(t.moveDownBtn):t.actionDisclosure.hideItem(t.moveDownBtn)})))}},moveUp:function(){var t=this.getPrevItem();t&&(this.$row.insertBefore(t),this.$row.trigger("movedUp"),this.table.reorderItems())},moveDown:function(){var t=this.getNextItem();t&&(this.$row.insertAfter(t),this.$row.trigger("movedDown"),this.table.reorderItems())},getPrevItem:function(){var t=this.$row.prevAll("tr:has(.actions-container):first");return t.length?t:null},getNextItem:function(){var t=this.$row.nextAll("tr:has(.actions-container):first");return t.length?t:null}})},1255:function(){function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(t,e){var i="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!i){if(Array.isArray(t)||(i=n(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var r=0,a=function(){};return{s:a,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,o=!0,l=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return o=t.done,t},e:function(t){l=!0,s=t},f:function(){try{o||null==i.return||i.return()}finally{if(l)throw s}}}}function n(t,e){if(t){if("string"==typeof t)return i(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(t,e):void 0}}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=Array(e);n=0;--r){var s=this.tryEntries[r],o=s.completion;if("root"===s.tryLoc)return i("end");if(s.tryLoc<=this.prev){var l=a.call(s,"catchLoc"),c=a.call(s,"finallyLoc");if(l&&c){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&a.call(i,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),k(n),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var r=i.arg;k(n)}return r}}throw Error("illegal catch attempt")},delegateYield:function(t,n,i){return this.delegate={iterator:P(t),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=e),y}},n}function a(t,e,n,i,r,a,s){try{var o=t[a](s),l=o.value}catch(t){return void n(t)}o.done?e(l):Promise.resolve(l).then(i,r)}function s(t){return function(){var e=this,n=arguments;return new Promise((function(i,r){var s=t.apply(e,n);function o(t){a(s,i,r,o,l,"next",t)}function l(t){a(s,i,r,o,l,"throw",t)}o(void 0)}))}}var o;Craft.AssetMover=Garnish.Base.extend({undoMovedAssets:null,undoMovedFolders:null,conflictCount:0,init:function(){this.undoMovedAssets={assetIds:[],targetFolderId:null},this.undoMovedFolders={folderIds:[],targetFolderId:null}},getMoveParams:(o=s(r().mark((function t(e,n){var i,a,s,o;return r().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=!0,a=!1,t.prev=2,t.next=5,Craft.sendActionRequest("POST","assets/move-info",{data:{folderIds:e,assetIds:n}});case 5:s=t.sent,t.next=12;break;case 8:return t.prev=8,t.t0=t.catch(2),Craft.cp.displayError(null===t.t0||void 0===t.t0||null===(o=t.t0.response)||void 0===o||null===(o=o.data)||void 0===o?void 0:o.message),t.abrupt("return");case 12:return(s.data.count>Craft.AssetMover.countLimit||s.data.totalSize>Craft.AssetMover.sizeLimit)&&(i=confirm(Craft.t("app","Are you sure you want to move the selected items?")),a=!0),t.abrupt("return",{proceed:i,confirmed:a});case 14:case"end":return t.stop()}}),t,null,[[2,8]])}))),function(t,e){return o.apply(this,arguments)}),successNotice:function(t,e){var n=this,i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=null,o=null;i&&0===this.conflictCount&&(o=Craft.ui.createButton({label:Craft.t("app","Undo"),spinner:!0})),!t.confirmed&&i&&(a={details:o});var l,c=Craft.cp.displayNotice(e,a);i&&(null===(l=o)||void 0===l||l.on("activate",s(r().mark((function e(){var i,a;return r().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!confirm(Craft.t("app","Are you sure you want to undo the move?"))){e.next=9;break}return e.next=3,n.moveFolders(n.undoMovedFolders.folderIds,n.undoMovedFolders.targetFolderId);case 3:return i=e.sent,e.next=6,n.moveAssets(n.undoMovedAssets.assetIds,n.undoMovedAssets.targetFolderId);case 6:a=e.sent,i+a&&(n.successNotice(t,Craft.t("app","Move reverted."),!1),Craft.elementIndex.updateElements(!0));case 9:c.$closeBtn.trigger("click");case 10:case"end":return e.stop()}}),e)})))))},moveAssets:function(t,e,n){var i=t.map((function(t){return{for:"asset",action:"assets/move-asset",params:{assetId:t,folderId:e,initialFolderId:n}}}));return this._batchMoveRequests(i,{conflictChoices:[{value:"keepBoth",title:Craft.t("app","Keep both")},{value:"replace",title:Craft.t("app","Replace it")}],handleConflictChoice:function(t){var e={folderId:t.request.params.folderId,assetId:t.assetId,initialFolderId:t.request.params.initialFolderId};switch(t.choice){case"replace":e.force=!0;break;case"keepBoth":e.filename=t.suggestedFilename}return{action:"assets/move-asset",params:e}}})},moveFolders:function(t,e,r){var a=this;return new Promise((function(s,o){var l=[],c=[],u=[],h=t.map((function(t){return{for:"folder",action:"assets/move-folder",params:{folderId:t,parentId:e,initialParentId:r},onSuccess:function(e){var r;e.transferList.length&&(e.transferList.forEach((function(e){return e.oldFolderId=t})),l.push.apply(l,function(t){if(Array.isArray(t))return i(t)}(r=e.transferList)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(r)||n(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())),c.push(t)}}}));a._batchMoveRequests(h,{conflictChoices:[{value:"replace",title:Craft.t("app","Replace the folder (all existing files will be deleted)")},{value:"merge",title:Craft.t("app","Merge the folder (any conflicting files will be replaced)")}],handleConflictChoice:function(t){var e={folderId:t.folderId,parentId:t.parentId,initialParentId:t.request.params.initialParentId};switch(t.choice){case"replace":e.force=!0;break;case"merge":e.merge=!0}return{action:"assets/move-folder",params:e}}}).then((function(t){a._processTransferList(l).then((function(e){e.forEach((function(t){var e;if(null!==(e=t.error)&&void 0!==e&&e.length){var n=t.request.params.oldFolderId;u.includes(n)||u.push(n),c.includes(n)&&(c=c.filter((function(t){return t!==n})))}})),t-=u.length,a._deleteFolders(c).then((function(){s(t)}))}))})).catch(o)}))},_processTransferList:function(t){return this._batchRequests(t.map((function(t){return{action:"assets/move-asset",params:t}})))},_deleteFolders:function(t){return this._batchRequests(t.map((function(t){return{action:"assets/delete-folder",params:{folderId:t}}})))},_batchMoveRequests:function(t,n){var i=this;return new Promise((function(r){var a=0;i._batchRequests(t).then((function(t){Craft.elementIndex.promptHandler.resetPrompts();var s,o=e(t);try{for(o.s();!(s=o.n()).done;){var l=s.value;l.success&&(l.newFolderId?(i.undoMovedFolders.folderIds.push(l.newFolderId),null===i.undoMovedFolders.targetFolderId&&(i.undoMovedFolders.targetFolderId=l.request.params.initialParentId)):(i.undoMovedAssets.assetIds.push(l.request.params.assetId),null===i.undoMovedAssets.targetFolderId&&(i.undoMovedAssets.targetFolderId=l.request.params.initialFolderId)),a++),l.conflict&&(i.conflictCount++,Craft.elementIndex.promptHandler.addPrompt(Object.assign({},l,{prompt:{message:l.conflict,choices:n.conflictChoices}}))),l.error&&Craft.cp.displayError(l.error)}}catch(t){o.e(t)}finally{o.f()}Craft.elementIndex.promptHandler.getPromptCount()?Craft.elementIndex.promptHandler.showBatchPrompts((function(t){Craft.elementIndex.promptHandler.resetPrompts();var s,o=[],l=e(t);try{for(l.s();!(s=l.n()).done;){var c=s.value;if("cancel"!==c.choice&&n.handleConflictChoice){var u=n.handleConflictChoice(c);c.request&&c.request.onSuccess&&(u.onSuccess=c.request.onSuccess),o.push(u)}}}catch(t){l.e(t)}finally{l.f()}i._batchMoveRequests(o,n).then((function(t){r(a+t)}))})):r(a)}))}))},_batchRequests:function(t){return new Promise((function(n){if(t.length){Craft.elementIndex.setIndexBusy(!1),Craft.elementIndex._positionProgressBar(),Craft.elementIndex.progressBar.resetProgressBar(),Craft.elementIndex.progressBar.setItemCount(t.length),Craft.elementIndex.progressBar.showProgressBar();var i,r=[],a=t.length,s=e(t);try{var o=function(){var t=i.value;Craft.sendActionRequest("POST",t.action,{data:t.params}).then((function(e){r.push(Object.assign({success:!0},e.data,{request:t})),t.onSuccess&&t.onSuccess(e.data)})).catch((function(e){e.response&&e.response.data&&r.push(Object.assign({success:!1},e.response.data,{request:t}))})).finally((function(){0==--a?(Craft.elementIndex.setIndexAvailable(),Craft.elementIndex.progressBar.hideProgressBar(),Craft.cp.runQueue(),n(r)):(Craft.elementIndex.progressBar.incrementProcessedItemCount(1),Craft.elementIndex.progressBar.updateProgressBar())}))};for(s.s();!(i=s.n()).done;)o()}catch(t){s.e(t)}finally{s.f()}}else n([])}))}},{countLimit:50,sizeLimit:5e7})},1448:function(){Craft.AssetSelectorModal=Craft.BaseElementSelectorModal.extend({$selectTransformBtn:null,_selectedTransform:null,init:function(t,e){e=$.extend({},Craft.AssetSelectorModal.defaults,e),this.base(t,e),e.transforms.length&&this.createSelectTransformButton(e.transforms)},createSelectTransformButton:function(t){if(t&&t.length){var e=$('').appendTo(this.$primaryButtons);this.$selectBtn.appendTo(e),this.$selectTransformBtn=$("",{type:"button",class:"btn menubtn disabled",text:Craft.t("app","Select transform")}).appendTo(e);for(var n=$('').insertAfter(this.$selectTransformBtn),i=$("").appendTo(n),r=0;r'+t[r].name+"").appendTo(i);var a=new Garnish.MenuBtn(this.$selectTransformBtn,{onOptionSelect:this.onSelectTransform.bind(this)});a.disable(),this.$selectTransformBtn.data("menuButton",a)}},onSelectionChange:function(t){var e=!1;this.elementIndex.getSelectedElements().length&&this.settings.transforms.length&&(e=!0);var n=null;this.$selectTransformBtn&&(n=this.$selectTransformBtn.data("menuButton")),e?(n&&n.enable(),this.$selectTransformBtn.removeClass("disabled")):this.$selectTransformBtn&&(n&&n.disable(),this.$selectTransformBtn.addClass("disabled")),this.base()},onSelectTransform:function(t){var e=$(t).data("transform");this.selectImagesWithTransform(e)},selectImagesWithTransform:function(t){var e=this;void 0===Craft.AssetSelectorModal.transformUrls[t]&&(Craft.AssetSelectorModal.transformUrls[t]={});for(var n=this.elementIndex.getSelectedElements(),i=[],r=0;r",{class:"modal elementselectormodal","aria-labelledby":n}).appendTo(Garnish.$bod),r=$("",{class:this.settings.showTitle?"header":"visually-hidden"}).appendTo(i);$("",{id:n,text:this.settings.modalTitle}).appendTo(r);var a=$("",{class:"body"}).append($("",{class:"spinner big"})).appendTo(i);this.$footer=$("",{class:"footer"}).appendTo(i),this.settings.fullscreen&&(i.addClass("fullscreen"),this.settings.minGutter=0),this.base(i,this.settings),this.$secondaryButtons=$('').appendTo(this.$footer),this.$primaryButtons=$('').appendTo(this.$footer),this.$cancelBtn=$("",{type:"button",class:"btn",text:Craft.t("app","Cancel")}).appendTo(this.$primaryButtons),this.$selectBtn=Craft.ui.createSubmitButton({class:"disabled",label:this.settings.selectBtnLabel,spinner:!0}).attr("aria-disabled","true").appendTo(this.$primaryButtons),this.$body=a,this.addListener(this.$cancelBtn,"activate","cancel"),this.addListener(this.$selectBtn,"activate","selectElements")},updateModalBottomPadding:function(){var t=this.$footer.outerHeight();t!==parseInt(this.$container.css("padding-bottom"))&&this.$container.css("padding-bottom",t)},updateSidebarView:function(){this.supportSidebarToggleView&&(this.sidebarShouldBeHidden()?this.$sidebarToggleBtn||this.buildSidebarToggleView():this.$sidebarToggleBtn&&this.resetView())},sidebarShouldBeHidden:function(){return this.$container.outerWidth()<550},resetView:function(){this.$mainHeader&&this.$mainHeader.remove(),this.$sidebarHeader&&this.$sidebarHeader.remove(),this.$sidebarToggleBtn=null,this.$body.addClass("has-sidebar"),this.$content.addClass("has-sidebar"),this.$sidebar.removeClass("hidden")},buildSidebarToggleView:function(){var t=this;!this.$sidebarToggleBtn&&this.sidebarShouldBeHidden()&&(this.$sidebarHeader=$('').prependTo(this.$sidebar),this.$sidebarCloseBtn=Craft.ui.createButton({class:"nav-close close-btn"}).attr("aria-label",Craft.t("app","Close")).removeClass("btn").appendTo(this.$sidebarHeader),this.$mainHeader=$('').prependTo(this.$main),this.$mainHeading=$(''.concat(this.getActiveSourceName(),"
")).appendTo(this.$mainHeader),this.$sidebarToggleBtn=Craft.ui.createButton({toggle:!0,controls:"modal-sidebar",class:"nav-toggle"}).removeClass("btn").attr("aria-label",Craft.t("app","Show sidebar")).appendTo(this.$mainHeader),this.$sidebar.attr("id","modal-sidebar"),this.closeSidebar(),this.addListener(this.$sidebarToggleBtn,"click",(function(){t.toggleSidebar()})),this.addListener(this.$sidebarCloseBtn,"click",(function(){t.toggleSidebar()})))},sidebarIsOpen:function(){return"true"===this.$sidebarToggleBtn.attr("aria-expanded")},toggleSidebar:function(){this.sidebarIsOpen()?this.closeSidebar():this.openSidebar()},openSidebar:function(){var t=this;this.$body.addClass("has-sidebar"),this.$content.addClass("has-sidebar"),this.$sidebar.removeClass("hidden"),this.$sidebarToggleBtn.attr("aria-expanded","true"),this.$sidebar.find(":focusable").first().focus(),Garnish.uiLayerManager.addLayer(this.$sidebar),Garnish.uiLayerManager.registerShortcut(Garnish.ESC_KEY,(function(){t.closeSidebar()}))},closeSidebar:function(){if(this.$sidebarToggleBtn){this.sidebarIsOpen()&&Garnish.uiLayerManager.removeLayer(),this.$sidebar.addClass("hidden"),this.$sidebarToggleBtn.attr("aria-expanded","false");var t=Garnish.getFocusedElement();$.contains(this.$sidebar.get(0),t.get(0))&&this.$sidebarToggleBtn.focus(),this.$body.removeClass("has-sidebar"),this.$content.removeClass("has-sidebar")}},getActiveSourceName:function(){return this.$sidebar.find(".sel").text()},onFadeIn:function(){this.elementIndex?(this.updateModalBottomPadding(),Garnish.isMobileBrowser(!0)||this.elementIndex.$search.focus()):this._createElementIndex(),this.base()},onSelectionChange:function(){this.updateSelectBtnState()},onSelectSource:function(){this.updateHeading(),this.updateModalBottomPadding()},updateHeading:function(){this.$mainHeading&&this.$mainHeading.text(this.getActiveSourceName())},updateSelectBtnState:function(){this.$selectBtn&&(this.shouldEnableSelectBtn()?this.enableSelectBtn():this.disableSelectBtn())},shouldEnableSelectBtn:function(){return this.hasSelection()},hasSelection:function(){return this.elementIndex&&this.elementIndex.getSelectedElements().length},enableSelectBtn:function(){this.$selectBtn.removeClass("disabled").attr("aria-disabled","false")},disableSelectBtn:function(){this.$selectBtn.addClass("disabled").attr("aria-disabled","true")},enableCancelBtn:function(){this.$cancelBtn.removeClass("disabled")},disableCancelBtn:function(){this.$cancelBtn.addClass("disabled")},showFooterSpinner:function(){this.$selectBtn.addClass("loading")},hideFooterSpinner:function(){this.$selectBtn.removeClass("loading")},cancel:function(){this.$cancelBtn.hasClass("disabled")||this.hide()},selectElements:function(){if(this.hasSelection()){this.elementIndex.view&&this.elementIndex.view.elementSelect&&this.elementIndex.view.elementSelect.clearMouseUpTimeout();var t=this.elementIndex.getSelectedElements(),e=this.getElementInfo(t);this.onSelect(e),this.settings.disableElementsOnSelect&&this.elementIndex.disableElements(this.elementIndex.getSelectedElements()),this.settings.hideOnSelect&&this.hide()}},getElementInfo:function(t){for(var e=[],n=0;nt.length)&&(e=t.length);for(var n=0,i=Array(e);n=0;--r){var s=this.tryEntries[r],o=s.completion;if("root"===s.tryLoc)return i("end");if(s.tryLoc<=this.prev){var l=a.call(s,"catchLoc"),c=a.call(s,"finallyLoc");if(l&&c){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&a.call(i,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),k(n),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var r=i.arg;k(n)}return r}}throw Error("illegal catch attempt")},delegateYield:function(t,n,i){return this.delegate={iterator:P(t),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=e),y}},n}function r(t,e,n,i,r,a,s){try{var o=t[a](s),l=o.value}catch(t){return void n(t)}o.done?e(l):Promise.resolve(l).then(i,r)}function a(t){return function(){var e=this,n=arguments;return new Promise((function(i,a){var s=t.apply(e,n);function o(t){r(s,i,a,o,l,"next",t)}function l(t){r(s,i,a,o,l,"throw",t)}o(void 0)}))}}var s;Craft.TableElementIndexView=Craft.BaseElementIndexView.extend({$table:null,$tableCaption:null,$selectedSortHeader:null,$statusMessage:null,$editBtn:null,$saveBtn:null,$cancelBtn:null,tableSort:null,_totalVisiblePostStructureTableDraggee:null,_morePendingPostStructureTableDraggee:!1,_broadcastListener:null,initialSerializedValue:null,stickyScrollbar:null,stickyScrollbarObserver:null,getElementContainer:function(){return this.$table=this.$container.find("table:first"),this.$table.children("tbody:first")},afterInit:function(){var t=this;this.$tableCaption=this.$table.find("caption"),this.initTableHeaders(),this.createScrollbar(),(this.settings.sortable||this.elementIndex.isAdministrative&&"structure"===this.elementIndex.viewMode&&Garnish.hasAttr(this.$table,"data-structure-id"))&&!this.elementIndex.inlineEditing&&(this.tableSort=new Craft.ElementTableSorter(this,this.getAllElements(),{structureId:this.$table.data("structure-id"),maxLevels:this.$table.attr("data-max-levels"),onSortChange:function(){t.settings.onSortChange(t.tableSort.$draggee)}})),"structure"!==this.elementIndex.viewMode||this.elementIndex.inlineEditing||this.addListener(this.$elementContainer,"click",(function(t){var e=$(t.target);e.hasClass("toggle")&&!1===this._collapseElement(e)&&this._expandElement(e)})),this.elementIndex.isAdministrative&&!this.elementIndex.settings.static&&!1!==this.elementIndex.settings.inlineEditable&&this.$elementContainer.has("> tr[data-id] > th .element[data-editable]")&&this.initForInlineEditing(),Craft.messageReceiver&&(this._broadcastListener=function(e){if("saveElement"===e.data.event||"replaceFile"===e.data.event){var n=t.$table.find('> tbody > tr[data-id="'.concat(e.data.id,'"]'));if(n.length){var i=Object.assign(t.elementIndex.getViewParams(),{id:e.data.id});Craft.sendActionRequest("POST","element-indexes/element-table-html",{data:i}).then((function(t){for(var e=t.data,i=0;i td[data-attr="'.concat(a,'"]')).html(e.attributeHtml[a])}Craft.cp.elementThumbLoader.load(n)}))}}},Craft.messageReceiver.addEventListener("message",this._broadcastListener))},initForInlineEditing:function(){var t=this;this.elementIndex.inlineEditing?(Craft.initUiElements(this.$elementContainer),this.initialSerializedValue=this.serializeInputs(),this.$saveBtn=Craft.ui.createSubmitButton({label:Craft.t("app","Save"),spinner:!0}).insertBefore(this.elementIndex.$exportBtn),this.$cancelBtn=Craft.ui.createButton({label:Craft.t("app","Cancel"),spinner:!0}).insertBefore(this.elementIndex.$exportBtn),this.addListener(this.$saveBtn,"activate",(function(){t.$saveBtn.addClass("loading"),t.closeDateTimeFields(),t.saveChanges().then((function(e){if(e.errors){for(var n in e.errors)if(e.errors.hasOwnProperty(n)){var i=t.$elementContainer.children('[data-id="'.concat(n,'"]'));for(var r in e.errors[n])i.find('[name*="'.concat(r,'"]')).closest("td").addClass("errors")}return t.elementIndex.setIndexAvailable(),void Craft.cp.displayError(Craft.t("app","Could not save due to validation errors."))}Craft.cp.displaySuccess(Craft.t("app","Changes saved.")),t.elementIndex.inlineEditing=!1,t.elementIndex.updateElements(!0,!1).then((function(){t.elementIndex.$elements.removeClass("inline-editing")}))})).catch((function(){t.elementIndex.setIndexAvailable(),Craft.cp.displayError()})).finally((function(){t.$saveBtn.removeClass("loading")}))})),this.addListener(this.$cancelBtn,"activate",(function(){t.getDeltaInputChanges()&&!confirm(Craft.t("app","Are you sure you want to discard your changes?"))||(t.$cancelBtn.addClass("loading"),t.elementIndex.inlineEditing=!1,t.closeDateTimeFields(),t.elementIndex.updateElements(!0,!1).then((function(){t.elementIndex.$elements.removeClass("inline-editing")})))})),this.addListener(this.$elementContainer,"keydown",(function(e){e.keyCode!==Garnish.RETURN_KEY||"TEXTAREA"===e.target.nodeName&&!Garnish.isCtrlKeyPressed(e)?e.keyCode===Garnish.S_KEY&&Garnish.isCtrlKeyPressed(e)&&(e.stopPropagation(),e.preventDefault(),t.$saveBtn.trigger("click")):t.$saveBtn.trigger("click")}))):(this.$editBtn=Craft.ui.createButton({label:Craft.t("app","Edit"),spinner:!0}).insertBefore(this.elementIndex.$exportBtn),this.addListener(this.$editBtn,"activate",(function(){t.$editBtn.addClass("loading"),t.elementIndex.inlineEditing=!0,t.elementIndex.updateElements(!0,!1).then((function(){t.elementIndex.$elements.addClass("inline-editing")}))})))},closeDateTimeFields:function(){this.elementIndex.$elements.find(".datewrapper input").datepicker("destroy"),$().timepicker&&this.elementIndex.$elements.find(".timewrapper input").timepicker("remove")},serializeInputs:function(){var t=Garnish.getPostData(this.$elementContainer),e=[];for(var n in t)e.push(encodeURIComponent("".concat(n,"=").concat(t[n])));return e.join("&")},getDeltaInputChanges:function(){var t=this,e=this.$elementContainer.children().toArray().map((function(e){return"".concat(t.elementIndex.nestedInputNamespace,"[element-").concat($(e).data("id"),"]")}));return Craft.findDeltaData(this.initialSerializedValue,this.serializeInputs(),e)},haveInputsChanged:function(){return this.serializeInputs()!==this.initialSerializedValue},saveChanges:(s=a(i().mark((function t(){var e,n;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e=this.getDeltaInputChanges()){t.next=3;break}return t.abrupt("return",{});case 3:return e+="&"+$.param({elementType:this.elementIndex.elementType,siteId:this.elementIndex.siteId,namespace:this.elementIndex.nestedInputNamespace}),t.next=6,Craft.sendActionRequest("POST","element-indexes/save-elements",{data:e});case 6:return n=t.sent,t.abrupt("return",n.data);case 8:case"end":return t.stop()}}),t,this)}))),function(){return s.apply(this,arguments)}),initTableHeaders:function(){if(!this.elementIndex.inlineEditing){var t,n;if("structure"===this.elementIndex.viewMode)t="structure",n="asc";else{var i=e(this.elementIndex.getSortAttributeAndDirection(),2);t=i[0],n=i[1]}for(var r=this.$table.children("thead").children().children("[data-attribute]"),a=0;a1&&void 0!==arguments[1]&&arguments[1];t.addClass("orderable");var n=t.html(),i=this.$tableCaption.find("[data-sort-instructions]"),r=$("",{id:"".concat(this.elementIndex.idPrefix,"-").concat(t.attr("data-attribute")),type:"button","aria-pressed":"false"}).html(n);i.length&&r.attr("aria-describedby",i.attr("id")),e?(r.attr("aria-pressed","true"),r.on("click",this._handleSelectedSortHeaderClick.bind(this))):r.on("click",this._handleUnselectedSortHeaderClick.bind(this)),t.empty().append(r)},isVerticalList:function(){return!0},getTotalVisible:function(){return this._isStructureTableDraggingLastElements()?this._totalVisiblePostStructureTableDraggee:this._totalVisible},setTotalVisible:function(t){this._isStructureTableDraggingLastElements()?this._totalVisiblePostStructureTableDraggee=t:this._totalVisible=t},getMorePending:function(){return this._isStructureTableDraggingLastElements()?this._morePendingPostStructureTableDraggee:this._morePending},setMorePending:function(t){this._isStructureTableDraggingLastElements()?this._morePendingPostStructureTableDraggee=t:this._morePending=this._morePendingPostStructureTableDraggee=t},getLoadMoreParams:function(){var t=this.base();return this._isStructureTableDraggingLastElements()&&(t.criteria.positionedAfter=this.tableSort.$targetItem.data("id")),t},appendElements:function(t){this.base(t),this.tableSort&&this.tableSort.addItems(t),Craft.cp.updateResponsiveTables()},_collapseElement:function(t,e){if(!e&&!t.hasClass("expanded"))return!1;t.removeClass("expanded"),t.attr("aria-expanded","false");for(var n=t.closest("tr"),i=n.data("id"),r=n.data("level"),a=n.next();a.length;){if(!Garnish.hasAttr(a,"data-spinnerrow")){if(a.data("level")<=r)break;this.elementSelect&&this.elementSelect.removeItems(a),this.tableSort&&this.tableSort.removeItems(a),this._totalVisible--}var s=a.next();a.remove(),a=s}this.elementIndex.instanceState.collapsedElementIds||(this.elementIndex.instanceState.collapsedElementIds=[]),this.elementIndex.instanceState.collapsedElementIds.push(i),this.elementIndex.setInstanceState("collapsedElementIds",this.elementIndex.instanceState.collapsedElementIds),this.maybeLoadMore()},_expandElement:function(t,e){var n=this;if(!e&&t.hasClass("expanded"))return!1;if(t.addClass("expanded"),t.attr("aria-expanded","true"),this.elementIndex.instanceState.collapsedElementIds){var r=t.closest("tr"),s=r.data("id"),o=$.inArray(s,this.elementIndex.instanceState.collapsedElementIds);if(-1!==o){this.elementIndex.instanceState.collapsedElementIds.splice(o,1),this.elementIndex.setInstanceState("collapsedElementIds",this.elementIndex.instanceState.collapsedElementIds);var l=this._createSpinnerRowAfter(r),c=$.extend(!0,{},this.settings.params);c.criteria.descendantOf=s,Craft.sendActionRequest("POST",this.settings.loadMoreElementsAction,{data:c}).then(function(){var t=a(i().mark((function t(e){var r,a,s,o;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(l.parent().length){t.next=2;break}return t.abrupt("return");case 2:return r=$(e.data.html),a=n._totalVisible+r.length,(s=n.settings.batchSize&&r.length===n.settings.batchSize)?(o=l.nextAll(),n.elementSelect&&n.elementSelect.removeItems(o),n.tableSort&&n.tableSort.removeItems(o),o.remove(),a-=o.length):s=n._morePending,l.replaceWith(r),n.thumbLoader.load(r),(n.elementIndex.actions||n.settings.selectable)&&(n.elementSelect.addItems(r.filter(":not(.disabled)")),n.elementIndex.updateActionTriggers()),n.tableSort&&n.tableSort.addItems(r),t.next=12,Craft.appendHeadHtml(e.data.headHtml);case 12:return t.next=14,Craft.appendBodyHtml(e.data.bodyHtml);case 14:Craft.cp.updateResponsiveTables(),n.setTotalVisible(a),n.setMorePending(s),n.maybeLoadMore();case 18:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()).catch((function(t){Craft.cp.displayError(),l.parent().length}))}}},_createSpinnerRowAfter:function(t){return $(' |
').insertAfter(t)},_isStructureTableDraggingLastElements:function(){return this.tableSort&&this.tableSort.dragging&&this.tableSort.draggingLastElements},_handleSelectedSortHeaderClick:function(t){var e=$(t.currentTarget).closest("th");if(!e.hasClass("loading")){var n="asc"===this.elementIndex.getSelectedSortDirection()?"desc":"asc";this.elementIndex.selectViewMode("table"),this.elementIndex.setSelectedSortDirection(n),this._handleSortHeaderClick(t,e)}},_handleUnselectedSortHeaderClick:function(t){var e=$(t.currentTarget).closest("th");if(!e.hasClass("loading")){var n=e.attr("data-attribute");this.elementIndex.selectViewMode("table"),this.elementIndex.setSelectedSortAttribute(n),this._handleSortHeaderClick(t,e)}},_handleSortHeaderClick:function(t,e){this.$selectedSortHeader&&this.$selectedSortHeader.removeClass("ordered asc desc"),e.addClass("ordered loading"),this.elementIndex.updateElements(),this.elementIndex.hideIndexLoadingStyles()},_updateTableAttributes:function(t,e){var n=t.closest("tr");for(var i in e)e.hasOwnProperty(i)&&n.children('[data-attr="'+i+'"]:first').html(e[i])},destroy:function(){this.$editBtn?this.$editBtn.remove():this.$cancelBtn&&(this.$saveBtn.remove(),this.$cancelBtn.remove()),this.stickyScrollbar&&this.stickyScrollbar.remove(),this.stickyScrollbarObserver&&this.stickyScrollbarObserver.disconnect(),this._broadcastListener&&(Craft.messageReceiver.removeEventListener("message",this._broadcastListener),delete this._broadcastListener),this.base()},createScrollbar:function(){var t=this;if("index"===this.elementIndex.settings.context){var n=document.querySelector("#content > #footer");if(n){this.stickyScrollbar=document.createElement("craft-proxy-scrollbar"),this.stickyScrollbar.setAttribute("scroller",".tablepane"),this.stickyScrollbar.setAttribute("content",".tablepane > table"),this.stickyScrollbar.style.bottom="".concat(n.getBoundingClientRect().height+2,"px");var i=$(this.stickyScrollbar);this.stickyScrollbarObserver=new IntersectionObserver((function(n){e(n,1)[0].intersectionRatio<1?i.insertAfter(t.$container):i.remove()}),{rootMargin:"0px 0px -1px 0px",threshold:[1]}),this.stickyScrollbarObserver.observe(n)}}}})},1980:function(){Craft.IntervalManager=Garnish.Base.extend({_intervalId:null,init:function(t){this.setSettings(t,Craft.IntervalManager.defaults)},start:function(){var t=this;this._intervalId=setInterval((function(){t.settings.onInterval()}),this.settings.interval)},stop:function(){clearInterval(this._intervalId),this._intervalId=null}},{defaults:{interval:5e3,onInterval:$.noop}})},2059:function(){function t(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=Array(e);n",{id:r}).insertAfter(this.$colorInput),o=function(e,n){var i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!i){if(Array.isArray(e)||(i=function(e,n){if(e){if("string"==typeof e)return t(e,n);var i={}.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?t(e,n):void 0}}(e))||n&&e&&"number"==typeof e.length){i&&(e=i);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,o=!0,l=!1;return{s:function(){i=i.call(e)},n:function(){var t=i.next();return o=t.done,t},e:function(t){l=!0,s=t},f:function(){try{o||null==i.return||i.return()}finally{if(l)throw s}}}}(this.settings.presets);try{for(o.s();!(a=o.n()).done;){var l=a.value;$("").text(l).appendTo(s)}}catch(t){o.e(t)}finally{o.f()}}this.addListener(this.$colorInput,"click",(function(t){t.stopPropagation()})),this.addListener(this.$colorContainer,"click",(function(){this.$colorInput.trigger("click")})),this.addListener(this.$colorInput,"input","updateColor")}},updateColor:function(){this.$input.val(this.$colorInput.val()),this.handleTextChange()},handleTextChange:function(){var t=this.$input.val();t!==(t=t.trim())&&this.$input.val(t),t.length&&"#"===t[0]&&(t=t.substring(1),this.$input.val(t)),t.length?(3===t.length&&(t=t[0].repeat(2)+t[1].repeat(2)+t[2].repeat(2)),t.match(/^[0-9a-f]{6}$/i)?(this.$colorPreview.css("background-color","#".concat(t)),this.$colorInput&&this.$colorInput.val("#".concat(t))):this.$colorPreview.css("background-color","")):this.$colorPreview.css("background-color","")}},{defaults:{presets:[]},_browserSupportsColorInputs:null,doesBrowserSupportColorInputs:function(){return Craft.ColorInput._browserSupportsColorInputs,Craft.ColorInput._browserSupportsColorInputs}})},2107:function(){function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(){"use strict";e=function(){return i};var n,i={},r=Object.prototype,a=r.hasOwnProperty,s=Object.defineProperty||function(t,e,n){t[e]=n.value},o="function"==typeof Symbol?Symbol:{},l=o.iterator||"@@iterator",c=o.asyncIterator||"@@asyncIterator",u=o.toStringTag||"@@toStringTag";function h(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{h({},"")}catch(n){h=function(t,e,n){return t[e]=n}}function d(t,e,n,i){var r=e&&e.prototype instanceof b?e:b,a=Object.create(r.prototype),o=new A(i||[]);return s(a,"_invoke",{value:T(t,n,o)}),a}function f(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}i.wrap=d;var p="suspendedStart",g="suspendedYield",m="executing",v="completed",y={};function b(){}function w(){}function C(){}var $={};h($,l,(function(){return this}));var _=Object.getPrototypeOf,S=_&&_(_(P([])));S&&S!==r&&a.call(S,l)&&($=S);var x=C.prototype=b.prototype=Object.create($);function I(t){["next","throw","return"].forEach((function(e){h(t,e,(function(t){return this._invoke(e,t)}))}))}function E(e,n){function i(r,s,o,l){var c=f(e[r],e,s);if("throw"!==c.type){var u=c.arg,h=u.value;return h&&"object"==t(h)&&a.call(h,"__await")?n.resolve(h.__await).then((function(t){i("next",t,o,l)}),(function(t){i("throw",t,o,l)})):n.resolve(h).then((function(t){u.value=t,o(u)}),(function(t){return i("throw",t,o,l)}))}l(c.arg)}var r;s(this,"_invoke",{value:function(t,e){function a(){return new n((function(n,r){i(t,e,n,r)}))}return r=r?r.then(a,a):a()}})}function T(t,e,i){var r=p;return function(a,s){if(r===m)throw Error("Generator is already running");if(r===v){if("throw"===a)throw s;return{value:n,done:!0}}for(i.method=a,i.arg=s;;){var o=i.delegate;if(o){var l=D(o,i);if(l){if(l===y)continue;return l}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if(r===p)throw r=v,i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);r=m;var c=f(t,e,i);if("normal"===c.type){if(r=i.done?v:g,c.arg===y)continue;return{value:c.arg,done:i.done}}"throw"===c.type&&(r=v,i.method="throw",i.arg=c.arg)}}}function D(t,e){var i=e.method,r=t.iterator[i];if(r===n)return e.delegate=null,"throw"===i&&t.iterator.return&&(e.method="return",e.arg=n,D(t,e),"throw"===e.method)||"return"!==i&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+i+"' method")),y;var a=f(r,t.iterator,e.arg);if("throw"===a.type)return e.method="throw",e.arg=a.arg,e.delegate=null,y;var s=a.arg;return s?s.done?(e[t.resultName]=s.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=n),e.delegate=null,y):s:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,y)}function L(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function k(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function A(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(L,this),this.reset(!0)}function P(e){if(e||""===e){var i=e[l];if(i)return i.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,s=function t(){for(;++r=0;--r){var s=this.tryEntries[r],o=s.completion;if("root"===s.tryLoc)return i("end");if(s.tryLoc<=this.prev){var l=a.call(s,"catchLoc"),c=a.call(s,"finallyLoc");if(l&&c){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&a.call(i,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),k(n),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var r=i.arg;k(n)}return r}}throw Error("illegal catch attempt")},delegateYield:function(t,e,i){return this.delegate={iterator:P(t),resultName:e,nextLoc:i},"next"===this.method&&(this.arg=n),y}},i}function n(t,e,n,i,r,a,s){try{var o=t[a](s),l=o.value}catch(t){return void n(t)}o.done?e(l):Promise.resolve(l).then(i,r)}function i(t){return function(){var e=this,i=arguments;return new Promise((function(r,a){var s=t.apply(e,i);function o(t){n(s,r,a,o,l,"next",t)}function l(t){n(s,r,a,o,l,"throw",t)}o(void 0)}))}}Craft.SortableCheckboxSelect=Garnish.Base.extend({$container:null,dragSort:null,init:function(t){var e=this;this.$container=$(t),this.$container.data("sortableCheckboxSelect",this);var n=this.$container.children(".checkbox-select-item:not(.all)");this.initDrag(n),n.length&&n.each((function(t,n){e.initItem(n)}))},initDrag:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];0===e.length&&(e=this.$container.children(".checkbox-select-item:not(.all)")),Craft.hasMousePointerEvents()&&e.length&&(this.dragSort=new Garnish.DragSort(e,{axis:Garnish.Y_AXIS,handle:".draggable-handle"}),this.dragSort.on("sortChange",(function(){t.trigger("sortChange")})))},initItem:function(t){return new Craft.SortableCheckboxSelect.Item(this,t)}}),Craft.SortableCheckboxSelect.Item=Garnish.Base.extend({select:null,$item:null,$moveHandle:null,$checkbox:null,$checkboxLabel:null,$actionMenuBtn:null,$actionMenu:null,actionDisclosure:null,moveUpBtn:null,moveDownBtn:null,init:function(t,e){var n=this;this.select=t,this.$item=$(e),this.$moveHandle=this.$item.children(".move"),Craft.hasMousePointerEvents()||this.$moveHandle.hide(),this.$checkbox=this.$item.children("input[type=checkbox]"),this.$checkboxLabel=this.$item.children("label"),this.addListener(this.$checkbox,"change",(function(){n.handleCheckboxChange()})),this.handleCheckboxChange()},handleCheckboxChange:function(){this.$checkbox.prop("checked")?this.onCheck():this.onUncheck()},onCheck:function(){var t,n=this;this.$actionMenuBtn&&this.onUncheck(),null===(t=this.$moveHandle)||void 0===t||t.removeClass("disabled");var r,a,s="menu-"+Math.floor(1e9*Math.random()),o=this.$checkboxLabel.attr("id");o||(o="label-".concat(Math.floor(1e9*Math.random())),this.$checkboxLabel.attr("id",o)),this.$actionMenuBtn=$("",{class:"btn action-btn","aria-controls":s,"aria-label":Craft.t("app","Actions"),"aria-describedby":o,"data-disclosure-trigger":"","data-icon":"ellipsis"}).appendTo(this.$item),this.$actionMenu=$("",{id:s,class:"menu menu--disclosure"}).appendTo(this.$item),this.actionDisclosure=new Garnish.DisclosureMenu(this.$actionMenuBtn),this.moveUpBtn=this.actionDisclosure.addItem({icon:(r=i(e().mark((function t(){return e().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Craft.ui.icon("arrow-up");case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}}),t)}))),function(){return r.apply(this,arguments)}),label:Craft.t("app","Move up"),onActivate:function(){n.moveUp()}}),this.moveDownBtn=this.actionDisclosure.addItem({icon:(a=i(e().mark((function t(){return e().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Craft.ui.icon("arrow-down");case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}}),t)}))),function(){return a.apply(this,arguments)}),label:Craft.t("app","Move down"),onActivate:function(){n.moveDown()}}),this.actionDisclosure.on("show",(function(){n.getPrevCheckedItem()?n.actionDisclosure.showItem(n.moveUpBtn):n.actionDisclosure.hideItem(n.moveUpBtn),n.getNextCheckedItem()?n.actionDisclosure.showItem(n.moveDownBtn):n.actionDisclosure.hideItem(n.moveDownBtn)}));var l=this.getAllCheckedSiblings();0==l.length?this.$actionMenuBtn.hide():1==l.length&&$(l[0]).find(".btn.action-btn").show(),this.$item.trigger("checked")},onUncheck:function(){var t,e,n,i,r=this.getAllCheckedSiblings();1==r.length&&$(r[0]).find(".btn.action-btn").hide(),null===(t=this.$moveHandle)||void 0===t||t.addClass("disabled"),null===(e=this.$actionMenuBtn)||void 0===e||e.remove(),null===(n=this.$actionMenu)||void 0===n||n.remove(),null===(i=this.actionDisclosure)||void 0===i||i.destroy(),this.$actionMenuBtn=this.actionDisclosure=null,this.$item.trigger("unchecked")},getPrevCheckedItem:function(){var t=this.$item.prevAll(".checkbox-select-item:not(.all):has(input[type=checkbox]:checked):first");return t.length?t:null},getNextCheckedItem:function(){var t=this.$item.nextAll(".checkbox-select-item:not(.all):has(input[type=checkbox]:checked):first");return t.length?t:null},getAllCheckedSiblings:function(){return this.$item.siblings(".checkbox-select-item:not(.all):has(input[type=checkbox]:checked)")},moveUp:function(){var t=this.getPrevCheckedItem();t&&(this.$item.insertBefore(t),this.$item.trigger("movedUp"),this.select.trigger("sortChange"))},moveDown:function(){var t=this.getNextCheckedItem();t&&(this.$item.insertAfter(t),this.$item.trigger("movedDown"),this.select.trigger("sortChange"))}})},2200:function(){Craft.LinkField=Garnish.Base.extend({$container:null,$typeSelect:null,$labelInput:null,$filenameInput:null,init:function(t,e){var n=this;this.$container=$(t),this.$container.data("linkField",this),this.$typeSelect=this.$container.find("select:first"),this.$labelInput=this.$container.children("[data-label-field]:first").find(".text:first"),this.$filenameInput=this.$container.find("[data-filename-field]:first .text:first"),this.$typeSelect.length&&this.$typeSelect.fieldtoggle().data("fieldtoggle").on("toggleChange",(function(){n.updateLabel(),n.updateFilename()}))},getActiveLinkTypeContainer:function(){return this.$container.find("[data-link-type]:not(.hidden):first")},updateLabel:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.getActiveLinkTypeContainer();null===t?t=e.data("linkLabel")||"":e.data("linkLabel",t),this.$labelInput.prop("placeholder",t)},updateFilename:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.getActiveLinkTypeContainer();null===t?t=e.data("filename")||"":e.data("filename",t),this.$filenameInput.prop("placeholder",t)}})},2211:function(){Craft.ElementFieldSettings=Garnish.Base.extend({allowMultipleSources:null,$maintainHierarchyField:null,$maintainHierarchyButton:null,$sourcesField:null,$sourceSelect:null,$branchLimitField:null,$maxRelationsField:null,$minRelationsField:null,$defaultPlacementField:null,$viewModeField:null,init:function(t,e,n,i,r,a,s,o){this.allowMultipleSources=t,this.$maintainHierarchyField=$("#".concat(e)),this.$maintainHierarchyButton=this.$maintainHierarchyField.find("button"),this.$sourcesField=$("#".concat(n)),this.allowMultipleSources||(this.$sourceSelect=this.$sourcesField.find("select")),this.$branchLimitField=$("#".concat(i)),this.$minRelationsField=$("#".concat(r)),this.$maxRelationsField=$("#".concat(a)),this.$defaultPlacementField=$("#".concat(s)),this.$viewModeField=$("#".concat(o)),this.updateLimitFields(),this.addListener(this.$maintainHierarchyButton,"change","updateLimitFields"),this.allowMultipleSources?this.$sourcesField.find("[type=checkbox]").each(function(t,e){this.addListener($(e),"change","updateMaintainHierarchyField")}.bind(this)):this.addListener(this.$sourceSelect,"change","updateMaintainHierarchyField"),this.updateMaintainHierarchyField()},updateLimitFields:function(){!this.$maintainHierarchyField.hasClass("hidden")&&this.$maintainHierarchyButton.hasClass("on")?(this.$minRelationsField.addClass("hidden"),this.$maxRelationsField.addClass("hidden"),this.$branchLimitField.removeClass("hidden"),this.$defaultPlacementField.addClass("hidden"),this.$viewModeField.find("select").val("list").trigger("change"),this.$viewModeField.addClass("hidden")):(this.$branchLimitField.addClass("hidden"),this.$minRelationsField.removeClass("hidden"),this.$maxRelationsField.removeClass("hidden"),this.$defaultPlacementField.removeClass("hidden"),this.$viewModeField.removeClass("hidden"))},updateMaintainHierarchyField:function(){var t;if(this.allowMultipleSources){var e=this.$sourcesField.find('[type="checkbox"]:checked');t=1===e.length&&e.data("structure-id")}else t=this.$sourceSelect.children("option:selected").data("structure-id");t?this.$maintainHierarchyField.removeClass("hidden"):this.$maintainHierarchyField.addClass("hidden"),this.updateLimitFields()}})},2290:function(){Craft.BaseInputGenerator=Garnish.Base.extend({$source:null,$target:null,$form:null,settings:null,listening:null,sourceVal:null,init:function(t,e,n){this.$source=$(t),this.$target=$(e),this.$form=this.$source.closest("form"),this.setSettings(n,Craft.BaseInputGenerator.defaults),this.setSettings(n),this.startListening()},setNewSource:function(t){var e=this.listening;this.stopListening(),this.$source=$(t),e&&this.startListening()},startListening:function(){this.listening||(this.listening=!0,this.sourceVal=this.$source.val(),this.addListener(this.$source,"input","onSourceTextChange"),this.addListener(this.$target,"input","onTargetTextChange"),this.addListener(this.$form,"submit","updateTarget"))},stopListening:function(){this.listening&&(this.listening=!1,this.removeAllListeners(this.$source),this.removeAllListeners(this.$target),this.removeAllListeners(this.$form))},onSourceTextChange:function(){var t=this.$source.val();this.sourceVal!==(this.sourceVal=t)&&this.updateTarget()},onTargetTextChange:function(){this.$target.get(0)===document.activeElement&&this.stopListening()},updateTarget:function(){if(this.$target.is(":visible")||0!=this.settings.updateWhenHidden){var t=this.$source.val();if(void 0!==t){var e=this.generateTargetValue(t);e&&(e="".concat(this.settings.prefix).concat(e).concat(this.settings.suffix)),this.$target.val(e);for(var n=0;n'+Craft.getCsrfInput()+''+(Array.isArray(this.userId)?"":'')+(e.redirect?'':"")+"").appendTo(Garnish.$bod),a=$('").appendTo(r),s=$('').appendTo(a),o=$("",{type:"button",class:"btn",text:Craft.t("app","Cancel")}).appendTo(s),l=a.find(".content-summary");if(e.contentSummary.length)for(var c=0;c",{text:e.contentSummary[c]}));else l.find("ul").remove();if(this.$deleteActionRadios=a.find("input[type=radio]"),this.$deleteSubmitBtn=Craft.ui.createSubmitButton({class:"disabled",label:this._submitBtnLabel(!1),spinner:!0}).appendTo(s),Array.isArray(this.userId)){i=["and"];for(var u=0;u=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,o=!0,l=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return o=t.done,t},e:function(t){l=!0,s=t},f:function(){try{o||null==i.return||i.return()}finally{if(l)throw s}}}}function e(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=Array(e);n=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,o=!0,l=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return o=t.done,t},e:function(t){l=!0,s=t},f:function(){try{o||null==i.return||i.return()}finally{if(l)throw s}}}}function e(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=Array(e);n');var s="new-entry-menu-"+Craft.randomString(10),o=this.publishableSections.filter((function(t){return t.sites.includes(e.siteId)}));if(a){var l="index"===this.settings.context?Craft.uppercaseFirst(Craft.t("app","New {type}",{type:Craft.elementTypeNames["craft\\elements\\Entry"][2]})):Craft.t("app","New {section} entry",{section:a.name}),c="index"===this.settings.context?Craft.t("app","New entry in the {section} section",{section:a.name}):l,u="index"===this.settings.context?"link":null;this.$newEntryBtn=Craft.ui.createButton({label:l,ariaLabel:c,spinner:!0,role:u}).addClass("submit add icon").appendTo(this.$newEntryBtnGroup),this.addListener(this.$newEntryBtn,"click mousedown",(function(t){if("index"===e.settings.context&&("click"===t.type&&Garnish.isCtrlKeyPressed(t)||"mousedown"===t.type&&1===t.originalEvent.button)){var n={};i&&(n.type=i),window.open(Craft.getUrl("entries/".concat(a.handle,"/new"),n))}else"click"===t.type&&e._createEntry(a.id,i)})),o.length>1&&(r=$("",{type:"button",class:"btn submit menubtn btngroup-btn-last","aria-controls":s,"data-disclosure-trigger":"","aria-label":Craft.t("app","New entry, choose a section")}).appendTo(this.$newEntryBtnGroup))}else o.length>0&&(this.$newEntryBtn=r=Craft.ui.createButton({label:Craft.uppercaseFirst(Craft.t("app","New {type}",{type:Craft.elementTypeNames["craft\\elements\\Entry"][2]})),ariaLabel:Craft.t("app","New entry, choose a section"),spinner:!0}).addClass("submit add icon menubtn btngroup-btn-last").attr("aria-controls",s).attr("data-disclosure-trigger","").appendTo(this.$newEntryBtnGroup));if(this.addButton(this.$newEntryBtnGroup),r){var h,d=$("",{id:s,class:"menu menu--disclosure"}).appendTo(this.$newEntryBtnGroup),f=$("").appendTo(d),p=t(this.publishableSections);try{var g=function(){var t=h.value,n="index"===e.settings.context?"link":"button";if("index"===e.settings.context&&t.sites.includes(e.siteId)||"index"!==e.settings.context&&t!==a&&t.sites.includes(e.siteId)){var i=$("").appendTo(f),s=$("",{role:"button"===n?"button":null,href:Craft.getUrl("entries/".concat(t.handle,"/new")),type:"button"===n?"button":null,text:Craft.t("app","New {section} entry",{section:t.name})}).appendTo(i);e.addListener(s,"activate",(function(n){n.originalEvent.preventDefault(),r.data("trigger").hide(),e._createEntry(t.id)})),"button"===n&&e.addListener(s,"keydown",(function(n){n.keyCode===Garnish.SPACE_KEY&&(n.preventDefault(),r.data("trigger").hide(),e._createEntry(t.id))}))}};for(p.s();!(h=p.n()).done;)g()}catch(t){p.e(t)}finally{p.f()}new Garnish.DisclosureMenu(r)}}if("index"===this.settings.context){var m,v="content/".concat(null!==(m=this.settings.page)&&void 0!==m?m:"entries");n&&(v+="/"+n),Craft.setPath(v)}}else this.$newEntryBtnGroup&&this.$newEntryBtnGroup.remove()},_createEntry:function(t,e){var n=this;if(this.$newEntryBtn.hasClass("loading"))console.warn("New entry creation already in progress.");else{var i=this.publishableSections.find((function(e){return e.id===t}));if(!i)throw"Invalid section ID: ".concat(t);this.$newEntryBtn.addClass("loading"),Craft.sendActionRequest("POST","entries/create",{data:{siteId:this.siteId,section:i.handle,type:e}}).then((function(t){var e=t.data;"index"===n.settings.context?document.location.href=Craft.getUrl(e.cpEditUrl,{fresh:1}):Craft.createElementEditor(n.elementType,{siteId:n.siteId,elementId:e.entry.id,draftId:e.entry.draftId,params:{fresh:1,updateSearchIndexImmediately:1}}).on("submit",(function(t){n.clearSearch(!1),n.startSearching(),n.$search.val(t.data.title),n.searchText=t.data.title,n.selectElementAfterUpdate(e.entry.id),n.updateElements()}))})).finally((function(){n.$newEntryBtn.removeClass("loading")}))}},canPaste:function(e){if(!this.$source.data("sectionId"))return!1;var n,i=this.$source.data("entryTypeIds")||[],r=t(e);try{for(r.s();!(n=r.n()).done;){var a=n.value;if(!i.includes(a.data.entryTypeId))return!1}}catch(t){r.e(t)}finally{r.f()}return!0},pasteAttributes:function(){return{sectionId:this.$source.data("sectionId"),placeInStructure:!0}}}),Craft.registerElementIndexClass("craft\\elements\\Entry",Craft.EntryIndex)},2410:function(){function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=Array(e);n=0;--r){var s=this.tryEntries[r],o=s.completion;if("root"===s.tryLoc)return i("end");if(s.tryLoc<=this.prev){var l=a.call(s,"catchLoc"),c=a.call(s,"finallyLoc");if(l&&c){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&a.call(i,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),k(n),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var r=i.arg;k(n)}return r}}throw Error("illegal catch attempt")},delegateYield:function(t,n,i){return this.delegate={iterator:P(t),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=e),y}},n}function r(t,e,n,i,r,a,s){try{var o=t[a](s),l=o.value}catch(t){return void n(t)}o.done?e(l):Promise.resolve(l).then(i,r)}function a(t){return function(){var e=this,n=arguments;return new Promise((function(i,a){var s=t.apply(e,n);function o(t){r(s,i,a,o,l,"next",t)}function l(t){r(s,i,a,o,l,"throw",t)}o(void 0)}))}}Craft.CpScreenSlideout=Craft.Slideout.extend({action:null,namespace:null,showingLoadSpinner:!1,hasTabs:!1,hasCpLink:!1,hasSidebar:!1,$header:null,$toolbar:null,$tabContainer:null,$extraToolbarItems:null,$loadSpinner:null,$actionBtn:null,$editLink:null,$sidebarBtn:null,$body:null,$content:null,$sidebar:null,$footer:null,$noticeContainer:null,$cancelBtn:null,$saveBtn:null,tabManager:null,showingSidebar:!1,cancelToken:null,ignoreFailedRequest:!1,fieldsWithErrors:null,get showExpandedView(){return this.$container.width()>700},get sidebarIsOverlapping(){return this.showingSidebar&&"absolute"===this.$sidebar.css("position")},init:function(t,e){var n=this;this.action=t,e=Object.assign({},Craft.CpScreenSlideout.defaults,e),Object.assign(e.containerAttributes,{id:"cp-screen-".concat(Math.floor(1e8*Math.random())),class:"cp-screen"});var i="form"===e.containerElement;i&&Object.assign(e.containerAttributes,{action:"",method:"post",novalidate:""}),this.fieldsWithErrors=[],this.$header=$("",{class:"pane-header"}),this.$toolbar=$("",{class:"so-toolbar"}).appendTo(this.$header),this.$tabContainer=$("",{class:"pane-tabs"}).appendTo(this.$toolbar),this.$loadSpinner=$("",{class:"spinner",title:Craft.t("app","Loading"),"aria-label":Craft.t("app","Loading")}).appendTo(this.$toolbar),this.$editLink=$("",{target:"_blank",class:"btn header-btn hidden",title:Craft.t("app","Open in a new tab"),"aria-label":Craft.t("app","Open in a new tab"),"data-icon":"external"}).appendTo(this.$toolbar),this.$sidebarBtn=$("",{type:"button",class:"btn header-btn hidden sidebar-btn",title:Craft.t("app","Show sidebar"),"aria-label":Craft.t("app","Show sidebar"),"data-icon":"sidebar-".concat(Garnish.ltr?"right":"left"),"aria-expanded":"false"}).appendTo(this.$toolbar),this.addListener(this.$sidebarBtn,"click",(function(t){t.preventDefault(),n.showingSidebar?(n.hideSidebar(),n.showExpandedView&&Craft.setCookie("sidebar-slideout","collapsed")):(n.showSidebar(),n.showExpandedView&&Craft.setCookie("sidebar-slideout","expanded"))})),this.$body=$("",{class:"so-body"}),this.$content=$("",{class:"so-content"}).appendTo(this.$body),this.$sidebar=$("",{class:"so-sidebar details hidden"}).appendTo(this.$body),this.$footer=$("",{class:"so-footer hidden"}),this.$noticeContainer=$("",{class:"so-notice"}).appendTo(this.$footer),$("",{class:"flex-grow"}).appendTo(this.$footer);var r=$("",{class:"flex flex-nowrap"}).appendTo(this.$footer);this.$cancelBtn=$("",{type:"button",class:"btn",text:i?Craft.t("app","Cancel"):Craft.t("app","Close")}).appendTo(r),i&&(this.$saveBtn=Craft.ui.createSubmitButton({label:Craft.t("app","Save"),spinner:!0}).appendTo(r));var a=this.$header.add(this.$body).add(this.$footer);this.base(a,e),this.$container.data("cpScreen",this),this.on("beforeClose",(function(){n.hideSidebarIfOverlapping()})),Garnish.uiLayerManager.registerShortcut({keyCode:Garnish.S_KEY,ctrl:!0},(function(t){n.handleSubmit(t)})),Garnish.uiLayerManager.registerShortcut(Garnish.ESC_KEY,(function(){n.closeMeMaybe()})),this.addListener(this.$cancelBtn,"click",(function(){n.closeMeMaybe()})),this.addListener(this.$shade,"click",(function(){n.closeMeMaybe()})),this.addListener(this.$container,"click",(function(t){var e=$(event.target);!n.showingSidebar||e.closest(n.$sidebarBtn).length||e.closest(n.$sidebar).length||n.hideSidebarIfOverlapping()})),this.addListener(this.$container,"submit","handleSubmit"),this.load()},load:function(t,e){var n=this;return new Promise((function(t,i){n.trigger("beforeLoad"),n.showLoadSpinner(),n.cancelToken&&(n.ignoreFailedRequest=!0,n.cancelToken.cancel()),n.cancelToken=axios.CancelToken.source(),Craft.sendActionRequest("GET",n.action,$.extend({params:Object.assign({},n.getParams(),n.settings.params),cancelToken:n.cancelToken.token,headers:{"X-Craft-Container-Id":n.$container.attr("id")}},n.settings.requestOptions)).then((function(r){n.update(r.data).then((function(){!1!==e&&(n.$container.data("delta-names",r.data.deltaNames),n.$container.data("initial-delta-values",r.data.initialDeltaValues),n.$container.data("initialSerializedValue",n.$container.serialize())),t()})).catch((function(t){i(t)}))})).catch((function(t){n.ignoreFailedRequest||(Craft.cp.displayError(),i(t)),n.ignoreFailedRequest=!1})).finally((function(){n.hideLoadSpinner(),n.cancelToken=null}))}))},getParams:function(){return{}},updateHeaderVisibility:function(){var t=this.settings.showHeader||this.hasTabs||this.hasCpLink||this.showingLoadSpinner;t||this.hasSidebar?this.$header.removeClass("hidden"):this.$header.addClass("hidden"),t?this.$header.addClass("so-visible"):this.$header.removeClass("so-visible")},showLoadSpinner:function(){this.$loadSpinner.removeClass("hidden"),this.showingLoadSpinner=!0,this.updateHeaderVisibility()},hideLoadSpinner:function(){this.$loadSpinner.addClass("hidden"),this.showingLoadSpinner=!1,this.updateHeaderVisibility()},update:function(t){var e=this;return new Promise((function(n){if(e.namespace=t.namespace,t.bodyClass&&e.$body.addClass(t.bodyClass),e.$content.html(t.content),t.submitButtonLabel&&e.$saveBtn.find(".label").text(t.submitButtonLabel),e.updateTabs(t.tabs),e.updateExtraToolbarItems(t.extraToolbarItems),t.formAttributes&&Craft.setElementAttributes(e.$container,t.formAttributes),t.editUrl?(e.$editLink.removeClass("hidden").attr("href",t.editUrl),e.hasCpLink=!0):(e.$editLink.addClass("hidden"),e.hasCpLink=!1),t.actionMenu){var r=Craft.namespaceId("action-menu-label",e.namespace),s=Craft.namespaceId("action-menu",e.namespace);$("",{id:r,class:"visually-hidden",text:Craft.t("app","Actions")}).insertBefore(e.$editLink),e.$actionBtn=$("",{class:"btn action-btn header-btn",type:"button",title:Craft.t("app","Actions"),"aria-controls":s,"aria-describedby":r,"data-disclosure-trigger":"true"}).insertBefore(e.$editLink),$(t.actionMenu).insertBefore(e.$editLink),e.$actionBtn.disclosureMenu()}else e.$actionBtn=null;t.sidebar?(e.$sidebarBtn.removeClass("hidden"),e.$sidebar.html(t.sidebar),e.$sidebar.find("a").each((function(){this.hostname.length&&void 0===$(this).attr("target")&&$(this).attr("target","_blank")})),e.hasSidebar=!0,e.showExpandedView&&"expanded"===(Craft.getCookie("sidebar-slideout")||"expanded")?e.showSidebar(!1):e.hideSidebar()):(e.hideSidebar(),e.$sidebarBtn.addClass("hidden"),e.$sidebar.addClass("hidden").html(""),e.hasSidebar=!1),t.notice?e.$noticeContainer.html(t.notice):e.$noticeContainer.empty(),e.updateHeaderVisibility(),e.$footer.removeClass("hidden"),Garnish.requestAnimationFrame(a(i().mark((function r(){return i().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return i.next=2,Craft.appendHeadHtml(t.headHtml);case 2:return i.next=4,Craft.appendBodyHtml(t.bodyHtml);case 4:Craft.initUiElements(e.$content),Craft.cp.elementThumbLoader.load($(e.$content)),t.sidebar&&(Craft.initUiElements(e.$sidebar),Craft.cp.elementThumbLoader.load(e.$sidebar)),Garnish.isMobileBrowser()||e.isOpening||e.setFocusWithin(),n(),e.trigger("load"),e.settings.onLoad&&e.settings.onLoad();case 11:case"end":return i.stop()}}),r)}))))}))},setFocusWithin:function(){Craft.setFocusWithin(this.$content)},updateTabs:function(t){var e=this;if(this.tabManager&&(this.tabManager.destroy(),this.tabManager=null,this.$tabContainer.html("")),this.hasTabs=!!t,this.hasTabs){var n=$(t);this.$tabContainer.replaceWith(n),this.$tabContainer=n,this.tabManager=new Craft.Tabs(this.$tabContainer),this.tabManager.on("deselectTab",(function(t){$(t.$tab.attr("href")).addClass("hidden")})),this.tabManager.on("selectTab",(function(t){$(t.$tab.attr("href")).removeClass("hidden"),Garnish.$win.trigger("resize"),e.$body.trigger("scroll")}))}},updateExtraToolbarItems:function(t){this.$extraToolbarItems&&(this.$extraToolbarItems.remove(),this.$extraToolbarItems=null),t&&(this.$extraToolbarItems=$(t).insertAfter(this.$tabContainer))},showSidebar:function(){var t=this,e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.showingSidebar||(this.$container.addClass("showing-sidebar"),this.$body.scrollTop(0).addClass("no-scroll"),this.$sidebar.off("transitionend.so").css(this._closedSidebarStyles()).removeClass("hidden"),this.$sidebar[0].offsetWidth,this.$sidebar.css(this._openedSidebarStyles()),e&&!Garnish.isMobileBrowser()&&this.$sidebar.one("transitionend.so",(function(){Craft.setFocusWithin(t.$sidebar)})),this.showExpandedView||Craft.trapFocusWithin(this.$sidebar),this.$sidebarBtn.addClass("active").attr({"aria-expanded":"true"}),Garnish.$win.trigger("resize"),this.$sidebar.trigger("scroll"),Garnish.uiLayerManager.addLayer({bubble:!0}),Garnish.uiLayerManager.registerShortcut(Garnish.ESC_KEY,(function(e){t.hideSidebarIfOverlapping()||e.bubbleShortcut()})),this.showingSidebar=!0)},hideSidebar:function(){var t=this;this.showingSidebar&&(this.$container.removeClass("showing-sidebar"),this.$body.removeClass("no-scroll"),this.sidebarIsOverlapping||(this.$sidebar.addClass("hidden"),this.$sidebarBtn.focus()),this.$sidebar.off("transitionend.so").css(this._closedSidebarStyles()).one("transitionend.so",(function(){t.$sidebar.addClass("hidden"),t.$sidebarBtn.focus()})),Craft.releaseFocusWithin(this.$sidebar),this.$sidebarBtn.removeClass("active").attr({"aria-expanded":"false"}),Garnish.uiLayerManager.removeLayer(),this.showingSidebar=!1)},hideSidebarIfOverlapping:function(){return!!this.sidebarIsOverlapping&&(this.hideSidebar(),!0)},_openedSidebarStyles:function(){return n({},Garnish.ltr?"right":"left","0")},_closedSidebarStyles:function(){return n({},Garnish.ltr?"right":"left","-350px")},showSubmitSpinner:function(){this.$saveBtn.addClass("loading")},hideSubmitSpinner:function(){this.$saveBtn.removeClass("loading")},handleSubmit:function(t){var e=this;t.preventDefault(),setTimeout((function(){t.cancel||e.submit()}),1)},submit:function(){var t=this;this.showSubmitSpinner();var e=Craft.findDeltaData(this.$container.data("initialSerializedValue"),this.$container.serialize(),this.$container.data("delta-names"),null,this.$container.data("initial-delta-values"));Craft.sendActionRequest("POST",null,{data:e,headers:{"X-Craft-Namespace":this.namespace}}).then((function(e){t.handleSubmitResponse(e)})).catch((function(e){t.handleSubmitError(e)})).finally((function(){t.hideSubmitSpinner()}))},handleSubmitResponse:function(t){this.clearErrors();var e=t.data||{};e.message&&Craft.cp.displaySuccess(e.message,e.notificationSettings),e.modelClass&&e.modelId&&Craft.refreshComponentInstances(e.modelClass,e.modelId);var n={response:t,data:e.modelName&&e[e.modelName]||{}};this.trigger("submit",n),this.settings.onSubmit&&this.settings.onSubmit(n),this.settings.closeOnSubmit&&this.close()},handleSubmitError:function(t){if(!t.isAxiosError||!t.response||400===!t.response.status)throw Craft.cp.displayError(),t;var e=t.response.data||{};Craft.cp.displayError(e.message),e.errors&&this.showErrors(e.errors),e.errorSummary&&this.showErrorSummary(e.errorSummary,Object.keys(e.errors||{}).length)},showErrorSummary:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(Craft.ui.clearErrorSummary(this.$body),null!==this.tabManager){var n=this.tabManager.$tabs,i=n.filter(".error"),r=this.$content;n.each((function(n,a){var s=$(a).data("id"),o=r.find("#"+s);if(o.length>0){var l=o.data("layout-tab"),c=$(t),u=c.find("ul.errors li").length,h="";c.find("ul.errors li").each((function(t,e){var n=$(e).find("a").data("layout-tab");void 0!==n&&n!==l&&($(e).remove(),u--)})),u>0?(h=Craft.t("app","Found {num, number} {num, plural, =1{error} other{errors}} in this tab.",{num:u}),i.length-1>0&&(h+=''+Craft.t("app","{total, number} {total, plural, =1{error} other{errors}} found in {num, number} {num, plural, =1{tab} other{tabs}}.",{total:e,num:i.length})+"")):h=Craft.t("app","Found errors in other tabs."),c.find("h2").html(h),c.prependTo(o),Craft.ui.setFocusOnErrorSummary(o)}}))}else $(t).prependTo(this.$content),Craft.ui.setFocusOnErrorSummary(this.$content)},showErrors:function(t){var n,i=this;this.clearErrors();var r=(null===(n=this.tabManager)||void 0===n?void 0:n.menu)||[],a=''+Craft.t("app","This tab contains errors")+"\n";Object.entries(t).forEach((function(t){var n=function(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var i,r,a,s,o=[],l=!0,c=!1;try{if(a=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=a.call(n)).done)&&(o.push(i.value),o.length!==e);l=!0);}catch(t){c=!0,r=t}finally{try{if(!l&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw r}}return o}}(t,n)||function(t,n){if(t){if("string"==typeof t)return e(t,n);var i={}.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?e(t,n):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(t,2),s=n[0],o=n[1],l=i.$container.find('[data-error-key="'.concat(s,'"]'));if(l){Craft.ui.addErrorsToField(l,o),i.fieldsWithErrors.push(l);var c=Craft.ui.findTabAnchorForField(l,i.$container);if(c.length>0){0==i.tabManager.$menuBtn.hasClass("error")&&(i.tabManager.$menuBtn.addClass("error"),i.tabManager.$menuBtn.append(''));for(var u=0;u0&&0==d.hasClass("error")&&(d.addClass("error"),d.append(a))}}}}}))},clearErrors:function(){this.fieldsWithErrors.forEach((function(t){Craft.ui.clearErrorsFromField(t)}))},isDirty:function(){var t=this,e=this.$container.data("initialSerializedValue");return void 0!==e&&e!==(this.$container.data("serializer")||function(){return t.$container.serialize()})()},closeMeMaybe:function(){this.isOpen&&(this.isDirty()&&!confirm(Craft.t("app","Are you sure you want to close this screen? Any changes will be lost."))||this.close())},close:function(){this.showingSidebar&&this.hideSidebar(),this.base(),this.cancelToken&&(this.ignoreFailedRequest=!0,this.cancelToken.cancel())}},{defaults:{containerElement:"form",containerAttributes:{},params:{},requestOptions:{},showHeader:null,closeOnEsc:!1,closeOnShadeClick:!1,closeOnSubmit:!0,onLoad:function(){},onSubmit:function(){}}})},2756:function(){Craft.ImageUpload=Garnish.Base.extend({$container:null,progressBar:null,uploader:null,init:function(t){this.setSettings(t,Craft.ImageUpload.defaults),this.$container=$(this.settings.containerSelector),this.initImageUpload()},initImageUpload:function(){this.progressBar=new Craft.ProgressBar($('').appendTo(this.$container));var t={url:Craft.getActionUrl(this.settings.uploadAction),formData:this.settings.postParameters,fileInput:this.$container.find(this.settings.fileInputSelector),paramName:this.settings.uploadParamName};void 0!==Craft.csrfTokenName&&void 0!==Craft.csrfTokenValue&&(t.formData[Craft.csrfTokenName]=Craft.csrfTokenValue),t.events={},t.events.fileuploadstart=this._onUploadStart.bind(this),t.events.fileuploadprogressall=this._onUploadProgress.bind(this),t.events.fileuploaddone=this._onUploadComplete.bind(this),t.events.fileuploadfail=this._onUploadFailure.bind(this),this.uploader=Craft.createUploader(null,this.$container,t),this.initButtons()},initButtons:function(){var t=this;this.$container.find(this.settings.uploadButtonSelector).on("click",(function(e){t.$container.find(t.settings.fileInputSelector).trigger("click")})),this.$container.find(this.settings.deleteButtonSelector).on("click",(function(e){confirm(Craft.t("app","Are you sure you want to delete this image?"))&&($(e.currentTarget).parent().append(''),Craft.sendActionRequest("POST",t.settings.deleteAction,{data:t.settings.postParameters}).then((function(e){var n=e.data;t.refreshImage(n)})))}))},refreshImage:function(t){this.$container.replaceWith(this.$container=$(t.html)),this.settings.onAfterRefreshImage(t),Craft.cp.elementThumbLoader.load(this.$container),this.initImageUpload()},_onUploadStart:function(t){this.progressBar.$progressBar.css({top:Math.round(this.$container.outerHeight()/2)-6}),this.$container.addClass("uploading"),this.progressBar.resetProgressBar(),this.progressBar.showProgressBar()},_onUploadProgress:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=parseInt(e.loaded/e.total*100,10);this.progressBar.setProgressPercentage(n)},_onUploadComplete:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.refreshImage(e.result),this.uploader.isLastUpload()&&(this.progressBar.hideProgressBar(),this.$container.removeClass("uploading"))},_onUploadFailure:function(t){var e,n,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=i.response(),a=(null==r||null===(e=r.jqXHR)||void 0===e?void 0:e.responseJSON)||{},s=a.message,o=a.filename,l=a.errors,c=void 0===l?{}:l;o=o||(null==i||null===(n=i.files)||void 0===n?void 0:n[0].name);var u=c?Object.values(c).flat():[];s||(s=u.length?u.join("\n"):o?Craft.t("app","Upload failed for “{filename}”.",{filename:o}):Craft.t("app","Upload failed.")),Craft.cp.displayError(s),this.progressBar.hideProgressBar(),this.$container.removeClass("uploading")}},{defaults:{postParameters:{},uploadAction:"",deleteAction:"",fileInputSelector:"",onAfterRefreshImage:$.noop,containerSelector:null,uploadButtonSelector:null,deleteButtonSelector:null,uploadParamName:"files"}})},2760:function(){Craft.VolumeFolderSelectorModal=Craft.BaseElementSelectorModal.extend({init:function(t){(t=Object.assign({},Craft.VolumeFolderSelectorModal.defaults,t,{showSiteMenu:!1})).indexSettings.disabledFolderIds=t.disabledFolderIds,this.base("craft\\elements\\Asset",t)},getElementIndexParams:function(){return Object.assign({},this.base(),{foldersOnly:!0})},shouldEnableSelectBtn:function(){var t;return!!this.base()||(null===(t=this.elementIndex)||void 0===t?void 0:t.sourcePath.length)&&void 0!==this.elementIndex.sourcePath[this.elementIndex.sourcePath.length-1].folderId&&!this.settings.disabledFolderIds.includes(this.elementIndex.sourcePath[this.elementIndex.sourcePath.length-1].folderId)},selectElements:function(t){if(this.hasSelection())this.base();else if(this.$selectBtn&&(null==t?void 0:t.currentTarget)===this.$selectBtn[0]&&this.shouldEnableSelectBtn()){var e=this.elementIndex.sourcePath[this.elementIndex.sourcePath.length-1].folderId;this.onSelect([{folderId:e}]),this.settings.hideOnSelect&&this.hide()}},getElementInfo:function(t){for(var e=[],n=0;n ').appendTo(this.$container),this.$cursor=$('