diff --git a/CHANGELOG-WIP.md b/CHANGELOG-WIP.md
index 8494820f7a4..ed1aec51abe 100644
--- a/CHANGELOG-WIP.md
+++ b/CHANGELOG-WIP.md
@@ -30,6 +30,8 @@
- The accessible name of “Select site” buttons is now translated to the current language.
- Improved the accessibility of two-step verification steps on the control panel login screen. ([#15145](https://github.com/craftcms/cms/pull/15145))
- Improved the accessibility of global nav items with subnavs. ([#15006](https://github.com/craftcms/cms/issues/15006))
+- The secondary nav is now kept open during source selection for mobile viewports, preventing focus from being dropped. ([#14946](https://github.com/craftcms/cms/pull/14946))
+- User edit screens’ document titles have been updated to describe the page purpose. ([#14946](https://github.com/craftcms/cms/pull/14946))
### Administration
- Added the `--format` option to the `db/backup` and `db/restore` commands for PostgreSQL installs. ([#14931](https://github.com/craftcms/cms/pull/14931))
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5f32941ab25..7b7481c0e8d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,8 @@
- Matrix fields in cards view and Addresses fields now show which nested entries/addresses contain validation errors. ([#15161](https://github.com/craftcms/cms/issues/15161))
- Improved the accessibility of two-step verification steps on the control panel login screen. ([#15145](https://github.com/craftcms/cms/pull/15145))
- Improved the accessibility of global nav items with subnavs. ([#15006](https://github.com/craftcms/cms/issues/15006))
+- The secondary nav is now kept open during source selection for mobile viewports, preventing focus from being dropped. ([#14946](https://github.com/craftcms/cms/pull/14946))
+- User edit screens’ document titles have been updated to describe the page purpose. ([#14946](https://github.com/craftcms/cms/pull/14946))
- Fixed an error that could occur if a Local filesystem wasn’t configured with a base path.
- Fixed a bug where some entries could be missing content after upgrading to Craft 5. ([#15150](https://github.com/craftcms/cms/issues/15150))
- Fixed a bug where it wasn’t always possible to add new entries to Matrix fields in inline-editable blocks view, if the field’s Max Entries setting had been reached before page load. ([#15158](https://github.com/craftcms/cms/issues/15158))
diff --git a/src/controllers/EditUserTrait.php b/src/controllers/EditUserTrait.php
index 6513bcf2fb8..739b7b05e9b 100644
--- a/src/controllers/EditUserTrait.php
+++ b/src/controllers/EditUserTrait.php
@@ -122,11 +122,19 @@ protected function asEditUserScreen(User $user, string $screen): Response
throw new ForbiddenHttpException('User not authorized to perform this action.');
}
+ $pageName = $screens[$screen]["label"];
$response = $this->asCpScreen();
if ($user->getIsCurrent()) {
$response->title(Craft::t('app', 'My Account'));
+ $response->docTitle($pageName);
} else {
- $response->title($user->getUiLabel());
+ $username = $user->getUiLabel();
+ $extendedTitle = Craft::t('app', 'User {page}', [
+ 'page' => $pageName,
+ ]);
+ $docTitle = "$username - $extendedTitle";
+ $response->title($username);
+ $response->docTitle($docTitle);
}
$navItems = [];
diff --git a/src/templates/_layouts/cp.twig b/src/templates/_layouts/cp.twig
index 47a8599d238..8cfe4063d8f 100644
--- a/src/templates/_layouts/cp.twig
+++ b/src/templates/_layouts/cp.twig
@@ -248,7 +248,7 @@ history.replaceState(undefined, undefined, window.location.href.match(/^[^#]*/)[
aria-controls="sidebar-container"
aria-expanded="false"
>
-
+ {{ 'Show sidebar'|t('app') }}
").appendTo(h),d=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=Object.prototype.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.editableGroups);try{var f=function(){var t=c.value,n="index"===e.settings.context?"link":"button";if("index"===e.settings.context||t!==r){var a=$("").appendTo(u),s=$("",{role:"button"===n?"button":null,href:"#",type:"button"===n?"button":null,text:Craft.t("app","New {group} category",{group:t.name})}).appendTo(a);e.addListener(s,"click",(function(){i.data("trigger").hide(),e._createCategory(t.id)})),"button"===n&&e.addListener(s,"keydown",(function(n){n.keyCode===Garnish.SPACE_KEY&&(n.preventDefault(),i.data("trigger").hide(),e._createCategory(t.id))}))}};for(d.s();!(c=d.n()).done;)f()}catch(t){d.e(t)}finally{d.f()}new Garnish.DisclosureMenu(i)}}if("index"===this.settings.context){var p="categories";n&&(p+="/"+n),Craft.setPath(p)}}},_createCategory:function(t){var e=this;if(this.$newCategoryBtn.hasClass("loading"))console.warn("New category creation already in progress.");else{var n=this.editableGroups.find((function(e){return e.id===t}));if(!n)throw"Invalid category group ID: ".concat(t);this.$newCategoryBtn.addClass("loading"),Craft.sendActionRequest("POST","elements/create",{data:{elementType:this.elementType,siteId:this.siteId,groupId:t}}).then((function(t){"index"===e.settings.context?document.location.href=Craft.getUrl(t.data.cpEditUrl,{fresh:1}):Craft.createElementEditor(e.elementType,{siteId:e.siteId,elementId:t.data.element.id,draftId:t.data.element.draftId,params:{fresh:1}}).on("submit",(function(){var i="group:".concat(n.uid);e.sourceKey!==i&&e.selectSourceByKey(i),e.clearSearch(),e.selectElementAfterUpdate(t.data.element.id),e.updateElements()}))})).finally((function(){e.$newCategoryBtn.removeClass("loading")}))}}}),Craft.registerElementIndexClass("craft\\elements\\Category",Craft.CategoryIndex)},6617:function(){Craft.CategorySelectInput=Craft.BaseElementSelectInput.extend({setSettings:function(){this.base.apply(this,arguments),this.settings.sortable=!1},getModalSettings:function(){var t=this.base();return t.hideOnSelect=!1,t},getElements:function(){return this.$elementsContainer.find(".element")},onModalSelect:function(t){var e=this;this.modal.disable(),this.modal.disableCancelBtn(),this.modal.disableSelectBtn(),this.modal.showFooterSpinner();for(var n=this.getSelectedElementIds(),i=0;it.length)&&(e=t.length);for(var n=0,i=new Array(e);n",{id:i}).insertAfter(this.$colorInput),s=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=Object.prototype.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(s.s();!(r=s.n()).done;){var o=r.value;$("").text(o).appendTo(a)}}catch(t){s.e(t)}finally{s.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}})},3048: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",h=o.toStringTag||"@@toStringTag";function u(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(n){u=function(t,e,n){return t[e]=n}}function d(t,e,n,i){var r=e&&e.prototype instanceof y?e:y,a=Object.create(r.prototype),o=new A(i||[]);return s(a,"_invoke",{value:E(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",b={};function y(){}function C(){}function $(){}var w={};u(w,l,(function(){return this}));var _=Object.getPrototypeOf,S=_&&_(_(M([])));S&&S!==r&&a.call(S,l)&&(w=S);var x=$.prototype=y.prototype=Object.create(w);function T(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function I(e,n){function i(r,s,o,l){var c=f(e[r],e,s);if("throw"!==c.type){var h=c.arg,u=h.value;return u&&"object"==t(u)&&a.call(u,"__await")?n.resolve(u.__await).then((function(t){i("next",t,o,l)}),(function(t){i("throw",t,o,l)})):n.resolve(u).then((function(t){h.value=t,o(h)}),(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 E(t,e,i){var r=p;return function(a,s){if(r===m)throw new 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=L(o,i);if(l){if(l===b)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===b)continue;return{value:c.arg,done:i.done}}"throw"===c.type&&(r=v,i.method="throw",i.arg=c.arg)}}}function L(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,L(t,e),"throw"===e.method)||"return"!==i&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+i+"' method")),b;var a=f(r,t.iterator,e.arg);if("throw"===a.type)return e.method="throw",e.arg=a.arg,e.delegate=null,b;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,b):s:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,b)}function k(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 P(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function A(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(k,this),this.reset(!0)}function M(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),P(n),b}},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;P(n)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,i){return this.delegate={iterator:M(t),resultName:e,nextLoc:i},"next"===this.method&&(this.arg=n),b}},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)}Craft.ComponentSelectInput=Garnish.Base.extend({componentSelect:null,componentSort:null,$container:null,$form:null,$list:null,$components:null,$addBtn:null,$createBtn:null,_initialized:!1,init:function(t){var e=this;this.setSettings(t,Craft.ComponentSelectInput.defaults),1===this.settings.limit&&(this.settings.sortable=!1),this.$container=$("#".concat(this.settings.id)),this.$form=this.$container.closest("form"),this.$container.data("componentSelect",this),this.$list=this.$container.children("ul"),this.$addBtn=this.$container.find(".add-btn:first"),this.$createBtn=this.$container.find(".create-btn:first"),this.initComponentSelect(),this.initComponentSort(),this.resetComponents(),this.$addBtn.length&&this.addListener(this.getOptions(),"activate",(function(t){var n=$(t.currentTarget);e.addComponent(n.data("type"),n.data("id"))})),this.$createBtn.length&&this.settings.createAction&&this.addListener(this.$createBtn,"activate",(function(){var t=new Craft.CpScreenSlideout(e.settings.createAction);t.on("submit",(function(t){var n=t.response.data;e.addComponent(n.modelClass,n.modelId,!0)})),t.on("close",(function(){e.$createBtn.focus()}))})),this.componentSelect&&this.addListener(Garnish.$win,"mousedown",(function(t){e.$container.is(t.target)||e.$container.find(t.target).length||e.componentSelect.deselectAll()})),this._initialized=!0},get totalSelected(){return this.$components.length},getComponents:function(){return this.$list.find(".chip")},getOptions:function(){return this.$addBtn.length?this.$addBtn.disclosureMenu().data("disclosureMenu").$container.find("button"):$()},getOption:function(t){return this.getOptions().filter('[data-id="'.concat(t,'"]'))},showOption:function(t){this.getOption(t).parent("li").removeClass("hidden")},hideOption:function(t){this.getOption(t).parent("li").addClass("hidden")},initComponentSelect:function(){this.settings.selectable&&(this.componentSelect=new Garnish.Select({multi:this.settings.sortable,filter:function(t){return!$(t).closest("a[href],button,[role=button]").length},makeFocusable:!1}))},initComponentSort:function(){var t=this;this.settings.sortable&&(this.componentSort=new Garnish.DragSort({container:this.$list,filter:this.settings.selectable?function(){return t.componentSort.$targetItem.children(".chip").hasClass("sel")?t.componentSelect.getSelectedItems().parent("li"):t.componentSort.$targetItem}:null,ignoreHandleSelector:".delete",handle:"> .chip > .chip-content > .chip-actions > .move",axis:this.getComponentSortAxis(),collapseDraggees:!0,magnetStrength:4,helperLagBase:1.5,onSortChange:function(){t.onChange()}}))},getComponentSortAxis:function(){return this.$list.hasClass("inline-chips")?null:"y"},canAddMoreComponents:function(){return!this.settings.limit||this.$components.length .chip-content > .chip-actions .action-btn").disclosureMenu().data("disclosureMenu"),s=a.$container.find("[data-move-forward]")[0],o=a.$container.find("[data-move-backward]")[0];a.on("show",(function(){var t=n.parent(),e=t.prev(),i=t.next();s&&a.toggleItem(s,e.length),o&&a.toggleItem(o,i.length)})),e.settings.sortable&&$("",{type:"button",class:"move icon",title:Craft.t("app","Reorder"),"aria-label":Craft.t("app","Reorder"),"aria-describedby":n.find(".label").attr("id")}).appendTo(n.find(".chip-actions")),e.addListener(n,"dblclick,taphold",(function(t){"taphold"===t.type&&"BUTTON"===t.target.nodeName||a.$container.find("[data-edit-action]").click()})),e.hideOption(n.data("id"))},i=0;i2&&void 0!==a[2]&&a[2],o=s.$addBtn.length?s.$addBtn.disclosureMenu().data("disclosureMenu"):null,e.next=4,Craft.sendActionRequest("POST","app/render-components",{data:{components:[{type:t,id:i,instances:[{showActionMenu:s.settings.showActionMenu,inputName:s.settings.name}]}],withMenuItems:r,menuId:null==o?void 0:o.$container.attr("id")}});case 4:return l=e.sent,c=l.data,(h=s.canAddMoreComponents())&&(u=$(c.components[t][i][0]),$("").append(u).appendTo(s.$list),s.addComponents(u)),r&&o&&(d=$(c.menuItems[t][i]),o.addItem(d),h&&o.hideItem(d.children()[0]),s.addListener(d.find("button"),"activate",(function(){s.addComponent(t,i)}))),e.next=11,Craft.appendHeadHtml(c.headHtml);case 11:return e.next=13,Craft.appendBodyHtml(c.bodyHtml);case 13:case"end":return e.stop()}}),n)})),function(){var t=this,e=arguments;return new Promise((function(i,a){var s=r.apply(t,e);function o(t){n(s,i,a,o,l,"next",t)}function l(t){n(s,i,a,o,l,"throw",t)}o(void 0)}))})()}},{REMOVE_FX_DURATION:200,defaults:{id:null,name:null,limit:null,sortable:!0,selectable:!0,showActionMenu:!0,createAction:null}})},1157:function(){function t(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new 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,r,a=(r=2,function(t){if(Array.isArray(t))return t}(i=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}}(i,r)||function(e,n){if(e){if("string"==typeof e)return t(e,n);var i=Object.prototype.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}}(i,r)||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.")}()),s=a[0],o=a[1],l=n.$container.find('[data-attribute="'.concat(s,'"]'));l&&(Craft.ui.addErrorsToField(l,o),n.fieldsWithErrors.push(l))})),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.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}})},8167: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=new 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),P(n),b}},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;P(n)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,i){return this.delegate={iterator:M(t),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=e),b}},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,$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,init:function(t,e){var n=this;this.action=t,this.setSettings(e,Craft.CpScreenSlideout.defaults),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.showSidebar()})),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 i=$("",{class:"flex flex-nowrap"}).appendTo(this.$footer);this.$cancelBtn=$("",{type:"button",class:"btn",text:Craft.t("app","Cancel")}).appendTo(i),this.$saveBtn=Craft.ui.createSubmitButton({label:Craft.t("app","Save"),spinner:!0}).appendTo(i);var r=this.$header.add(this.$body).add(this.$footer);this.base(r,{containerElement:"form",containerAttributes:{id:"cp-screen-".concat(Math.floor(1e8*Math.random())),action:"",method:"post",novalidate:"",class:"cp-screen"},closeOnEsc:!1,closeOnShadeClick:!1}),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.text(t.submitButtonLabel),e.updateTabs(t.tabs),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.$container.width()>700?e.showSidebar():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 Craft.initUiElements(e.$content),i.next=3,Craft.appendHeadHtml(t.headHtml);case 3:return i.next=5,Craft.appendBodyHtml(t.bodyHtml);case 5:Craft.cp.elementThumbLoader.load($(e.$content)),t.sidebar&&(Craft.initUiElements(e.$sidebar),Craft.cp.elementThumbLoader.load(e.$sidebar)),Garnish.isMobileBrowser()||Craft.setFocusWithin(e.$content),n(),e.trigger("load");case 10:case"end":return i.stop()}}),r)}))))}))},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")}))}},showSidebar:function(){var t=this;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()),Garnish.isMobileBrowser()||this.$sidebar.one("transitionend.so",(function(){Craft.setFocusWithin(t.$sidebar)})),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.$sidebar.off("transitionend.so").css(this._closedSidebarStyles()).one("transitionend.so",(function(){t.$sidebar.addClass("hidden"),t.$sidebarBtn.focus()})),this.$sidebarBtn.removeClass("active").attr({"aria-expanded":"false"}),Garnish.uiLayerManager.removeLayer(),this.showingSidebar=!1)},hideSidebarIfOverlapping:function(){return!(!this.showingSidebar||"absolute"!==this.$sidebar.css("position")||(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(){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),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),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),h=c.find("ul.errors li").length,u="";c.find("ul.errors li").each((function(t,e){var n=$(e).find("a").data("layout-tab");void 0!==n&&n!==l&&($(e).remove(),h--)})),h>0?(u=Craft.t("app","Found {num, number} {num, plural, =1{error} other{errors}} in this tab.",{num:h}),i.length-1>0&&(u+=''+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})+"")):u=Craft.t("app","Found errors in other tabs."),c.find("h2").html(u),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=Object.prototype.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 h=0;h0&&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:{params:{},requestOptions:{},showHeader:null,closeOnSubmit:!0}})},9922: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 i=0;ithis.scrollWidth,this.hasOverflow&&(this.tooltip=this.querySelector("craft-tooltip"),this.tooltip||this.createTooltip())}},{key:"createTooltip",value:function(){this.tooltip=document.createElement("craft-tooltip"),this.tooltip.setAttribute("aria-hidden","true"),this.tooltip.innerText=this.innerText;var t=this.querySelector(".context-label");t&&(this.tooltip.innerText=this.tooltip.innerText.replace(t.innerText," (".concat(t.innerText,")"))),this.labelLink.appendChild(this.tooltip)}},{key:"disconnectedCallback",value:function(){var t,e;null===(t=this.tooltip)||void 0===t||t.remove(),null===(e=this.$tabs.data("tabs"))||void 0===e||e.off("selectTab")}},{key:"calculateWidth",value:function(t){var e=document.createElement("span");Object.assign(e.style,{position:"absolute",visibility:"hidden",whiteSpace:"nowrap",fontFamily:"inherit"}),e.innerHTML=t,this.appendChild(e);var n=e.clientWidth;return this.removeChild(e),n}}])&&e(o.prototype,l),Object.defineProperty(o,"prototype",{writable:!1}),i}(i(HTMLElement));customElements.define("craft-element-label",o)},147: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 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(){this.proxy.remove(),this.scroller.removeEventListener("scroll",this.syncScroll(this.scroller,this)),this.scroller.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}))}}}])&&e(o.prototype,l),Object.defineProperty(o,"prototype",{writable:!1}),s}(n(HTMLElement));o=h,c=["hidden"],(l=s(l="observedAttributes"))in o?Object.defineProperty(o,l,{value:c,enumerable:!0,configurable:!0,writable:!0}):o[l]=c,customElements.define("craft-proxy-scrollbar",h)},5029: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 i=0;i\n \n '.concat(Craft.t("app","Loading"),"\n
\n");var l=function(n){function i(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,i),function(e,n,i){return n=s(n),function(e,n){if(n&&("object"===t(n)||"function"==typeof n))return n;if(void 0!==n)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(e)}(e,r()?Reflect.construct(n,i||[],s(e).constructor):n.apply(e,i))}(this,i,arguments)}var l,c,h;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&a(t,e)}(i,n),l=i,h=[{key:"observedAttributes",get:function(){return["visible"]}}],(c=[{key:"connectedCallback",value:function(){this.root=this;var t=o.content.cloneNode(!0);this.root.append(t),"true"===this.visible&&this.wrapper.classList.remove("hidden"),this.initialized=!0}},{key:"visible",get:function(){return this.getAttribute("visible")},set:function(t){this.setAttribute("visible",t)}},{key:"messageWrapper",get:function(){return this.querySelector(".message")}},{key:"wrapper",get:function(){return this.querySelector(".wrapper")}},{key:"attributeChangedCallback",value:function(t,e,n){if(this.initialized)return"visible"===t.toLowerCase()?"true"===n?this.show():this.hide():void 0}},{key:"disconnectedCallback",value:function(){}},{key:"show",value:function(){this.wrapper.classList.remove("hidden"),this.dispatchEvent(new CustomEvent("show"))}},{key:"hide",value:function(){this.wrapper.classList.add("hidden"),this.dispatchEvent(new CustomEvent("hide"))}},{key:"focus",value:function(){this.wrapper.focus()}}])&&e(l.prototype,c),h&&e(l,h),Object.defineProperty(l,"prototype",{writable:!1}),i}(i(HTMLElement));customElements.define("craft-spinner",l)},691: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){return function(t){if(Array.isArray(t))return r(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||i(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(t,e){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,e)||i(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(t,e){if(t){if("string"==typeof t)return r(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(t,e):void 0}}function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n=0;--a){var s=this.tryEntries[a],o=s.completion;if("root"===s.tryLoc)return i("end");if(s.tryLoc<=this.prev){var l=r.call(s,"catchLoc"),c=r.call(s,"finallyLoc");if(l&&c){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),P(n),b}},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;P(n)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,i){return this.delegate={iterator:M(t),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=e),b}},n}function s(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 o(t){return function(){var e=this,n=arguments;return new Promise((function(i,r){var a=t.apply(e,n);function o(t){s(a,i,r,o,l,"next",t)}function l(t){s(a,i,r,o,l,"throw",t)}o(void 0)}))}}var l,c,h,u,d;Craft.CustomizeSourcesModal=Garnish.Modal.extend({elementIndex:null,$elementIndexSourcesContainer:null,$sidebar:null,$sidebarToggleBtn:null,$sourcesContainer:null,$sourcesHeader:null,$sourcesHeading:null,$sourceSettingsContainer:null,$sourceSettingsHeader:null,$addSourceMenu:null,addSourceMenu:null,$footer:null,$footerBtnContainer:null,$saveBtn:null,$cancelBtn:null,$loadingSpinner:null,sourceSort:null,sources:null,selectedSource:null,elementTypeName:null,baseSortOptions:null,availableTableAttributes:null,customFieldAttributes:null,conditionBuilderHtml:null,conditionBuilderJs:null,userGroups:null,init:function(t,e){var n=this;this.base(),this.setSettings(e,{resizable:!0}),this.elementIndex=t,this.$elementIndexSourcesContainer=this.elementIndex.$sidebar.children("nav").children("ul");var i=$('').appendTo(Garnish.$bod);this.$sidebar=$('').appendTo(i).attr({role:"navigation","aria-label":Craft.t("app","Source")}),this.$sourcesContainer=$('
",{class:"".concat(h.class," ").concat(h.type,"-cell"),width:h.width}),Craft.inArray(h.type,Craft.EditableTable.textualColTypes)&&c.addClass("textual"),h.code&&c.addClass("code"),h.type){case"checkbox":$('').append(Craft.ui.createCheckbox({name:d,value:h.value||"1",checked:!!u})).appendTo(c);break;case"color":Craft.ui.createColorInput({name:d,value:"object"!==t(u)?u:null,small:!0}).appendTo(c);break;case"date":Craft.ui.createDateInput({name:d,value:u}).appendTo(c);break;case"lightswitch":Craft.ui.createLightswitch({name:d,value:h.value||"1",on:!!u,small:!0}).appendTo(c);break;case"select":Craft.ui.createSelect({name:d,options:h.options,value:u||function(){for(var t in h.options)if(h.options.hasOwnProperty(t)&&h.options[t].default)return void 0!==h.options[t].value?h.options[t].value:t;return null}(),class:"small"}).appendTo(c);break;case"time":Craft.ui.createTimeInput({name:d,value:u}).appendTo(c);break;case"email":case"url":Craft.ui.createTextInput({name:d,value:"object"!==t(u)?u:null,type:h.type,placeholder:h.placeholder||null}).appendTo(c);break;default:$("",{name:d,rows:h.rows||1,val:"object"!==t(u)?u:null,placeholder:h.placeholder}).appendTo(c)}}c.appendTo(o)}return a&&$("
",{class:"thin action"}).append($("",{class:"delete icon",title:Craft.t("app","Delete"),type:"button"})).appendTo(o),o}}),Craft.EditableTable.Row=Garnish.Base.extend({table:null,id:null,niceTexts:null,$tr:null,$tds:null,tds:null,$textareas:null,$deleteBtn:null,init:function(t,e){this.table=t,this.$tr=$(e),this.$tds=this.$tr.children(),this.tds=[],this.id=this.$tr.attr("data-id"),this.$tr.data("editable-table-row",this);var n=parseInt(this.id.substring(this.table.settings.rowIdPrefix.length));n>this.table.biggestId&&(this.table.biggestId=n),this.$textareas=$(),this.niceTexts=[];var i,r,a,s,o={},l=0;for(i in this.table.columns)if(this.table.columns.hasOwnProperty(i)){if(r=this.table.columns[i],a=this.tds[i]=this.$tds[l],Craft.inArray(r.type,Craft.EditableTable.textualColTypes)){$(".editable-table-preview",a).remove();var c=$("textarea",a);this.$textareas=this.$textareas.add(c),this.addListener(c,"focus","onTextareaFocus"),this.addListener(c,"mousedown","ignoreNextTextareaFocus"),this.niceTexts.push(new Garnish.NiceText(c,{onHeightChange:this.onTextareaHeightChange.bind(this)})),this.addListener(c,"keypress",{tdIndex:l,type:r.type},"handleKeypress"),this.addListener(c,"input",{type:r.type},"validateValue"),c.trigger("input"),"multiline"!==r.type&&this.addListener(c,"paste",{tdIndex:l,type:r.type},"handlePaste"),o[i]=c}else"checkbox"===r.type&&(s=$('input[type="checkbox"]',a),r.radioMode&&(void 0===this.table.radioCheckboxes[i]&&(this.table.radioCheckboxes[i]=[]),this.table.radioCheckboxes[i].push(s[0]),this.addListener(s,"change",{colId:i},"onRadioCheckboxChange")),r.toggle&&this.addListener(s,"change",{colId:i},(function(t){this.applyToggleCheckbox(t.data.colId)})));$(a).hasClass("disabled")||this.addListener(a,"click",{td:a},(function(t){t.target===t.data.td&&$(t.data.td).find("textarea,input,select,.lightswitch").focus()})),l++}for(i in this.onTextareaHeightChange(),this.table.columns)this.table.columns.hasOwnProperty(i)&&"checkbox"===(r=this.table.columns[i]).type&&r.toggle&&this.applyToggleCheckbox(i);for(i in this.table.columns)this.table.columns.hasOwnProperty(i)&&(!(r=this.table.columns[i]).autopopulate||void 0===o[r.autopopulate]||o[i].val()||o[r.autopopulate].val()||new Craft.HandleGenerator(o[i],o[r.autopopulate],{allowNonAlphaStart:!0}));var h=this.$tr.children().last().find(".delete");this.addListener(h,"click","deleteRow");var u=this.$tr.find("input,textarea,select,.lightswitch");this.addListener(u,"focus",(function(t){$(t.currentTarget).closest("td:not(.disabled)").addClass("focus")})),this.addListener(u,"blur",(function(t){$(t.currentTarget).closest("td").removeClass("focus")}))},onTextareaFocus:function(t){this.onTextareaHeightChange();var e=$(t.currentTarget);e.data("ignoreNextFocus")?e.data("ignoreNextFocus",!1):window.setTimeout((function(){Craft.selectFullValue(e)}),0)},onRadioCheckboxChange:function(t){if(t.currentTarget.checked)for(var e=0;et&&(t=this.niceTexts[e].height);this.$textareas.css("min-height",t);var n=this.$textareas.filter(":visible").first().parent().height();n>t&&this.$textareas.css("min-height",n)},deleteRow:function(){this.table.deleteRow(this)}},{numericKeyCodes:[9,8,37,38,39,40,45,91,46,190,48,49,50,51,52,53,54,55,56,57]})},8468: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",h=o.toStringTag||"@@toStringTag";function u(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(n){u=function(t,e,n){return t[e]=n}}function d(t,e,n,i){var r=e&&e.prototype instanceof y?e:y,a=Object.create(r.prototype),o=new A(i||[]);return s(a,"_invoke",{value:E(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",b={};function y(){}function C(){}function $(){}var w={};u(w,l,(function(){return this}));var _=Object.getPrototypeOf,S=_&&_(_(M([])));S&&S!==r&&a.call(S,l)&&(w=S);var x=$.prototype=y.prototype=Object.create(w);function T(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function I(e,n){function i(r,s,o,l){var c=f(e[r],e,s);if("throw"!==c.type){var h=c.arg,u=h.value;return u&&"object"==t(u)&&a.call(u,"__await")?n.resolve(u.__await).then((function(t){i("next",t,o,l)}),(function(t){i("throw",t,o,l)})):n.resolve(u).then((function(t){h.value=t,o(h)}),(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 E(t,e,i){var r=p;return function(a,s){if(r===m)throw new 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=L(o,i);if(l){if(l===b)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===b)continue;return{value:c.arg,done:i.done}}"throw"===c.type&&(r=v,i.method="throw",i.arg=c.arg)}}}function L(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,L(t,e),"throw"===e.method)||"return"!==i&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+i+"' method")),b;var a=f(r,t.iterator,e.arg);if("throw"===a.type)return e.method="throw",e.arg=a.arg,e.delegate=null,b;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,b):s:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,b)}function k(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 P(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function A(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(k,this),this.reset(!0)}function M(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),P(n),b}},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;P(n)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,i){return this.delegate={iterator:M(t),resultName:e,nextLoc:i},"next"===this.method&&(this.arg=n),b}},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,a;Craft.ElementActionTrigger=Garnish.Base.extend({elementIndex:null,maxLevels:null,newChildUrl:null,$trigger:null,$selectedItems:null,triggerEnabled:!0,init:function(t){if(this.elementIndex=Craft.currentElementIndex,this.elementIndex.triggers.push(this),$.isPlainObject(t)||(t={}),void 0!==t.batch&&(t.bulk=t.batch,delete t.batch),Object.defineProperty(t,"batch",{get:function(){return this.bulk},set:function(t){this.bulk=t}}),this.setSettings(t,Craft.ElementActionTrigger.defaults),this.$trigger=$("#".concat(this.elementIndex.namespaceId(t.type),"-actiontrigger")).data("trigger",this),this.settings.activate){this.$trigger.data("custom-handler",!0);var e=this.$trigger.find("button,.btn");e.length||(e=this.$trigger),this.addListener(e,"activate","handleTriggerActivation")}this.updateTrigger(),this.elementIndex.on("selectionChange",this.updateTrigger.bind(this))},updateTrigger:function(){0!==this.elementIndex.getSelectedElements().length&&(this.validateSelection()?this.enableTrigger():this.disableTrigger())},validateSelection:function(){var t=this;return this.$selectedItems=this.elementIndex.getSelectedElements(),!(!this.settings.bulk&&this.$selectedItems.length>1)&&(!this.settings.requireId||!this.$selectedItems.is('[data-id=""]'))&&("function"!=typeof this.settings.validateSelection||this._call((function(){return t.settings.validateSelection(t.$selectedItems,t.elementIndex)})))},enableTrigger:function(){this.triggerEnabled||(this.$trigger.removeClass("disabled").removeAttr("aria-disabled"),this.triggerEnabled=!0)},disableTrigger:function(){this.triggerEnabled&&(this.$trigger.addClass("disabled").attr("aria-disabled","true"),this.triggerEnabled=!1)},handleTriggerActivation:function(){var t=this;this.triggerEnabled&&this._call((function(){return t.settings.activate(t.$selectedItems,t.elementIndex)}))},_call:function(t){var e=Craft.elementIndex;Craft.elementIndex=this.elementIndex;var n=t();return Craft.elementIndex=e,n}},{defaults:{type:null,bulk:!0,requireId:!0,validateSelection:null,beforeActivate:(a=i(e().mark((function t(n,i){return e().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:case"end":return t.stop()}}),t)}))),function(t,e){return a.apply(this,arguments)}),activate:null,afterActivate:(r=i(e().mark((function t(n,i){return e().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:case"end":return t.stop()}}),t)}))),function(t,e){return r.apply(this,arguments)})}})},5049: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=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 r(e,n,i){var r;return r=function(e,n){if("object"!=t(e)||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var r=i.call(e,"string");if("object"!=t(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(n),(n="symbol"==t(r)?r:String(r))in e?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i,e}function a(){"use strict";a=function(){return n};var e,n={},i=Object.prototype,r=i.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",h=o.toStringTag||"@@toStringTag";function u(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(e){u=function(t,e,n){return t[e]=n}}function d(t,e,n,i){var r=e&&e.prototype instanceof y?e:y,a=Object.create(r.prototype),o=new A(i||[]);return s(a,"_invoke",{value:E(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}}}n.wrap=d;var p="suspendedStart",g="suspendedYield",m="executing",v="completed",b={};function y(){}function C(){}function $(){}var w={};u(w,l,(function(){return this}));var _=Object.getPrototypeOf,S=_&&_(_(M([])));S&&S!==i&&r.call(S,l)&&(w=S);var x=$.prototype=y.prototype=Object.create(w);function T(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function I(e,n){function i(a,s,o,l){var c=f(e[a],e,s);if("throw"!==c.type){var h=c.arg,u=h.value;return u&&"object"==t(u)&&r.call(u,"__await")?n.resolve(u.__await).then((function(t){i("next",t,o,l)}),(function(t){i("throw",t,o,l)})):n.resolve(u).then((function(t){h.value=t,o(h)}),(function(t){return i("throw",t,o,l)}))}l(c.arg)}var a;s(this,"_invoke",{value:function(t,e){function r(){return new n((function(n,r){i(t,e,n,r)}))}return a=a?a.then(r,r):r()}})}function E(t,n,i){var r=p;return function(a,s){if(r===m)throw new Error("Generator is already running");if(r===v){if("throw"===a)throw s;return{value:e,done:!0}}for(i.method=a,i.arg=s;;){var o=i.delegate;if(o){var l=L(o,i);if(l){if(l===b)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,n,i);if("normal"===c.type){if(r=i.done?v:g,c.arg===b)continue;return{value:c.arg,done:i.done}}"throw"===c.type&&(r=v,i.method="throw",i.arg=c.arg)}}}function L(t,n){var i=n.method,r=t.iterator[i];if(r===e)return n.delegate=null,"throw"===i&&t.iterator.return&&(n.method="return",n.arg=e,L(t,n),"throw"===n.method)||"return"!==i&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+i+"' method")),b;var a=f(r,t.iterator,n.arg);if("throw"===a.type)return n.method="throw",n.arg=a.arg,n.delegate=null,b;var s=a.arg;return s?s.done?(n[t.resultName]=s.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,b):s:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,b)}function k(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 P(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function A(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(k,this),this.reset(!0)}function M(n){if(n||""===n){var i=n[l];if(i)return i.call(n);if("function"==typeof n.next)return n;if(!isNaN(n.length)){var a=-1,s=function t(){for(;++a=0;--a){var s=this.tryEntries[a],o=s.completion;if("root"===s.tryLoc)return i("end");if(s.tryLoc<=this.prev){var l=r.call(s,"catchLoc"),c=r.call(s,"finallyLoc");if(l&&c){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),P(n),b}},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;P(n)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,i){return this.delegate={iterator:M(t),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=e),b}},n}function s(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 o(t){return function(){var e=this,n=arguments;return new Promise((function(i,r){var a=t.apply(e,n);function o(t){s(a,i,r,o,l,"next",t)}function l(t){s(a,i,r,o,l,"throw",t)}o(void 0)}))}}function l(t,e){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,e)||c(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(t,e){if(t){if("string"==typeof t)return h(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?h(t,e):void 0}}function h(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n",{class:"revision-spinner spinner hidden",title:Craft.t("app","Saving")}).appendTo(g),this.$statusIcon=$("",{class:"revision-status ".concat(this.isFullPage?"invisible":"hidden")}).appendTo(g),this.$statusMessage=$("",{class:"revision-status-message visually-hidden","aria-live":"polite"}).appendTo(g),this.$expandSiteStatusesBtn=$(".expand-status-btn"),this.settings.canEditMultipleSites&&this.addListener(this.$expandSiteStatusesBtn,"click","expandSiteStatuses"),this.settings.previewTargets.length&&this.isFullPage){this.settings.enablePreview&&this.addListener(this.$previewBtn,"click","openPreview");var m=this.$container.find(".preview-btn-container");if(1===this.settings.previewTargets.length){var v=l(this.settings.previewTargets,1)[0];this.createPreviewLink(v).addClass("view-btn btn").attr("aria-label",Craft.t("app","View")).appendTo(m)}else this.createShareMenu(m)}if(this.settings.canSave){if("FORM"!==this.$container.prop("tagName"))throw"Element editors may only be used with forms.";this.isFullPage&&Craft.edition===Craft.Pro&&(this.$activityContainer=this.$container.find(".activity-container"),this._checkActivity()),this.$container.data("serializer",(function(){return o.serializeForm(!0)})),this.$container.data("initialSerializedValue",this.serializeForm(!0)),Garnish.requestAnimationFrame((function(){o.$container.data("initialSerializedValue",o.serializeForm(!0))})),this.slideout||this.addListener(this.$container,"submit","handleSubmit"),this.settings.isProvisionalDraft?this.initForProvisionalDraft():this.settings.draftId&&!this.settings.isUnpublishedDraft?this.initForDraft():this.settings.canSaveCanonical||this.addListener(this.$container,"submit.saveShortcut",(function(t){t.saveShortcut&&(t.preventDefault(),o.saveDraft(),o.removeListener(o.$container,"submit.saveShortcut"))})),this.listenForChanges(),this.addListener(this.$statusIcon,"click",(function(){o.showStatusHud(o.$statusIcon)})),this.handleDismissibleTips(),this.isFullPage&&Craft.messageReceiver&&Craft.broadcaster.addEventListener("message",(function(t){if("saveDraft"===t.data.event&&t.data.canonicalId===o.settings.canonicalId&&(t.data.draftId===o.settings.draftId||t.data.isProvisionalDraft&&!o.settings.draftId)||"saveElement"===t.data.event&&t.data.id===o.settings.canonicalId&&!o.settings.draftId)(o.settings.reloadOnBroadcastSave||t.data.draftId!==o.settings.draftId)&&(Craft.setUrl(Craft.getUrl(document.location.href,{scrollY:window.scrollY})),window.location.reload());else if("deleteDraft"===t.data.event&&t.data.canonicalId===o.settings.canonicalId&&t.data.draftId===o.settings.draftId){var e=new URL(window.location.href);e.searchParams.delete("draftId"),e.href!==document.location.href?window.location.href=e:(Craft.setUrl(Craft.getUrl(document.location.href,{scrollY:window.scrollY})),window.location.reload())}})),this.activityTooltips={},this.isFullPage&&Craft.ui.setFocusOnErrorSummary(this.$container)}},_createQueue:function(){var t=this,e=new Craft.Queue;return e.on("beforeRun",(function(){t.showSpinner()})),e.on("afterRun",(function(){t.hideSpinner()})),e},get namespace(){return this.settings.namespace},namespaceInputName:function(t){return Craft.namespaceInputName(t,this.namespace)},namespaceId:function(t){return Craft.namespaceId(t,this.namespace)},get listeningForChanges(){return!!this.formObserver},get pauseLevel(){var t,e;return null!==(t=null===(e=this.formObserver)||void 0===e?void 0:e._pauseLevel)&&void 0!==t?t:0},listenForChanges:function(){var t=this;this.formObserver||(this.formObserver=new Craft.FormObserver(this.$container,(function(){t.checkForm()})))},stopListeningForChanges:function(){this.formObserver&&(this.formObserver.destroy(),this.formObserver=null)},pause:function(){var t;null===(t=this.formObserver)||void 0===t||t.pause()},resume:function(){var t;null===(t=this.formObserver)||void 0===t||t.resume()},initForProvisionalDraft:function(){var t,e=this,n=this.$container.find(".discard-changes-btn");if(!n.length){var i,r,a,s=null!==(i=this.settings.$noticeContainer)&&void 0!==i?i:this.isFullPage?Craft.cp.$noticeContainer:this.$container.find(".so-notice");this.isFullPage&&(r=$("#content").height(),a=Garnish.$win.scrollTop());var o=$("",{class:"draft-notice"}).append($("",{class:"draft-icon","aria-hidden":"true","data-icon":"edit"})).append($("",{text:Craft.t("app","Showing your unsaved changes.")})).appendTo(s);if(n=$("",{type:"button",class:"discard-changes-btn btn",text:Craft.t("app","Discard")}).appendTo(o),this.isFullPage){var l=$("#content").height()-r;if(Garnish.$win.scrollTop(a+l),Garnish.$win.scrollTop()===a){Craft.cp.$contentContainer.css("pointer-events","none"),$("#content-header").css("min-height","auto");var c=s.height();s.css({height:c-l,overflow:"hidden"}).velocity({height:c},"fast",(function(){$("#content-header").css("min-height",""),s.css({height:"",overflow:""}),setTimeout((function(){Craft.cp.$contentContainer.css("pointer-events","")}),300)}))}}}this.addListener(n,"keypress,keyup,change,focus,blur,click,mousedown,mouseup",(function(t){t.stopPropagation()})),this.addListener(n,"click",(function(){confirm(Craft.t("app","Are you sure you want to discard your changes?"))&&e.queue.unshift((function(){return new Promise((function(t,n){e.isFullPage?Craft.submitForm(e.$container,{action:"elements/delete-draft",redirect:e.settings.hashedCpEditUrl,params:{draftId:e.settings.draftId,provisional:1}}):Craft.sendActionRequest("POST","elements/delete-draft",{data:{elementId:e.settings.canonicalId,draftId:e.settings.draftId,provisional:1}}).then((function(t){var n;Craft.cp.displaySuccess(t.data.message),Craft.broadcaster.postMessage({event:"saveElement",id:e.settings.canonicalId}),null===(n=e.slideout)||void 0===n||n.close()})).catch(n)}))}))})),this.isFullPage||null===(t=this.slideout)||void 0===t||t.$cancelBtn.text(Craft.t("app","Close"))},initForDraft:function(){var t=this;this.createEditMetaAction(),this.settings.canSaveCanonical&&Garnish.uiLayerManager.registerShortcut({keyCode:Garnish.S_KEY,ctrl:!0,alt:!0},(function(){Craft.submitForm(t.$container,{action:"elements/apply-draft",redirect:t.settings.hashedCpEditUrl})}),0)},expandSiteStatuses:function(){var t=this;this.removeListener(this.$expandSiteStatusesBtn,"click"),this.$expandSiteStatusesBtn.velocity({opacity:0},"fast",(function(){t.$expandSiteStatusesBtn.remove()}));var e=this.$container.find(".enabled-for-site-".concat(this.settings.siteId,"-field"));if(this.$siteStatusPane=e.parent(),this.settings.revisionId)this._getOtherSupportedSites().forEach((function(e){return t._createSiteStatusField(e)}));else{e.addClass("nested");var n=Craft.ui.createLightswitchField({label:Craft.t("app","Enabled for all sites"),name:this.namespaceInputName("enabled")}).insertBefore(e);n.find("label").css("font-weight","bold"),this.$globalLightswitch=n.find(".lightswitch"),this.settings.revisionId||this._showField(n);var i=Object.values(this.settings.siteStatuses),r=i.includes(!0),a=i.includes(!1),s=r&&a?"-":r?"1":"",o=encodeURIComponent(this.namespaceInputName("enabledForSite[".concat(this.settings.siteId,"]")))+"="+(this.settings.enabledForSite?"1":"");this.$siteLightswitches=e.find(".lightswitch").on("change",this._updateGlobalStatus.bind(this)),this._getOtherSupportedSites().forEach((function(e){return t._createSiteStatusField(e)}));for(var l=encodeURIComponent(this.namespaceInputName("enabled"))+"=".concat(s),c=0;c",{text:Craft.t("app","Add a site..."),class:"visually-hidden",id:i}),a=Craft.ui.createSelect({options:[{label:Craft.t("app","Add a site…")}].concat((t=n.map((function(t){return{label:t.name,value:t.id}})),function(t){if(Array.isArray(t))return h(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||c(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())),labelledBy:i}).addClass("fullwidth");this.$additionalSiteField=Craft.ui.createField(a,{}).addClass("nested add").appendTo(this.$siteStatusPane),r.prependTo(this.$additionalSiteField);var s=a.find("select");s.on("change",(function(){var t=parseInt(s.val()),n=Craft.sites.find((function(e){return e.id===t}));if(n){var i=e.settings.additionalSites.find((function(t){return t.siteId==n.id}));e._createSiteStatusField(n,i.enabledByDefault),e._updateGlobalStatus(),s.val("").find('option[value="'.concat(t,'"]')).remove(),null===e.newSiteIds&&(e.newSiteIds=[]),e.siteIds.push(t),e.newSiteIds.push(t),1===s.find("option").length&&e._removeField(e.$additionalSiteField)}})),this._showField(this.$additionalSiteField)}},showStatusHud:function(t){var e;this.failed?(e='
'.concat(this._saveFailMessage(),"
"),this.httpError&&(e+='
'.concat(Craft.escapeHtml(this.httpError),"
")),400===this.httpStatus&&(e+='"))):e="
".concat(this._saveSuccessMessage(),"
");var n=new Garnish.HUD(t,e,{hudClass:"hud revision-status-hud",onHide:function(){n.destroy()}});n.$mainContainer.find(".refresh-btn").on("click",(function(){window.location.reload()}))},_saveSuccessMessage:function(){return this.settings.isProvisionalDraft||this.settings.isUnpublishedDraft?Craft.t("app","Your changes have been stored."):Craft.t("app","The draft has been saved.")},_saveFailMessage:function(){return this.settings.isProvisionalDraft||this.settings.isUnpublishedDraft?Craft.t("app","Your changes could not be stored."):Craft.t("app","The draft could not be saved.")},spinners:function(){return this.$spinner},showSpinner:function(){this.spinners().removeClass("hidden")},hideSpinner:function(){this.spinners().addClass("hidden")},statusIcons:function(){return this.$statusIcon},statusMessage:function(){return this.$statusMessage},createEditMetaAction:function(){if(this.isFullPage){var t=$("#action-menu").disclosureMenu().data("disclosureMenu"),e=t.getFirstDestructiveGroup(),n=t.addGroup(null,!0,e),i=t.addItem({type:"button",icon:"edit",label:Craft.t("app","Edit draft settings")},n);this.addListener(i,"click","showMetaModal")}},createPreviewLink:function(t,e){var n=this,i=$("",{href:this.getTokenizedPreviewUrl(t.url,null,!1),text:e||Craft.t("app","View"),target:"_blank",data:{targetUrl:t.url,targetLabel:t.label}});return this.addListener(i,"click",(function(){setTimeout((function(){n.activatePreviewToken()}),1)})),this.previewLinks.push(i),i},updatePreviewLinks:function(){var t=this;this.previewLinks.forEach((function(e){t.updatePreviewLinkHref(e),t.activatedPreviewToken&&t.removeListener(e,"click")}))},updatePreviewLinkHref:function(t){t.attr("href",this.getTokenizedPreviewUrl(t.data("targetUrl"),null,!1))},activatePreviewToken:function(){this.settings.isLive||(this.activatedPreviewToken=!0,this.updatePreviewLinks())},createShareMenu:function(t){var e=this,n=$("",{type:"button",class:"view-btn btn menubtn",text:Craft.t("app","View")}).appendTo(t),i=$("",{class:"menu"}).appendTo(t),r=$("
").appendTo(i);this.settings.previewTargets.forEach((function(t){$("").append(e.createPreviewLink(t,t.label)).appendTo(r)})),new Garnish.MenuBtn(n)},getPreviewTokenParams:function(){var t={elementType:this.settings.elementType,canonicalId:this.settings.canonicalId,siteId:this.settings.siteId,revisionId:this.settings.revisionId,previewToken:this.settings.previewToken};return this.settings.draftId&&!this.settings.isProvisionalDraft&&(t.draftId=this.settings.draftId),t},getPreviewToken:function(){var t=this;return this.previewTokenQueue.push((function(){return new Promise((function(e,n){t.activatedPreviewToken?e(t.settings.previewToken):Craft.sendActionRequest("POST","preview/create-token",{data:t.getPreviewTokenParams()}).then((function(){t.activatePreviewToken(),e(t.settings.previewToken)})).catch(n)}))}))},getTokenizedPreviewUrl:function(t,e,n){var i=this;void 0===n&&(n=!0);var r={};if(!e&&this.settings.isLive||(r[e||"x-craft-preview"]=Craft.randomString(10)),this.settings.siteToken&&(r[Craft.siteToken]=this.settings.siteToken),this.settings.isLive){var a=Craft.getUrl(t,r);return n?new Promise((function(t){t(a)})):a}if(!this.settings.previewToken)throw"Missing preview token";r[Craft.tokenParam]=this.settings.previewToken;var s=Craft.getUrl(t,r);if(this.activatedPreviewToken)return n?new Promise((function(t){t(s)})):s;if(n)return new Promise((function(t,e){i.getPreviewToken().then((function(){t(s)})).catch(e)}));var o=this.getPreviewTokenParams();return o.redirect=s,Craft.getActionUrl("preview/create-token",o)},getPreview:function(){var t,e,n,i=this;return this.preview&&!this.preview.isVisible&&(null===(t=this.preview.elementEditor)||void 0===t?void 0:t.settings.updatedTimestamp)!==this.settings.updatedTimestamp&&(this.preview.destroy(),delete this.preview),this.preview||(this.preview=new Craft.Preview({elementType:this.settings.elementType,elementId:this.settings.isProvisionalDraft?this.settings.canonicalId:this.settings.elementId,draftId:this.settings.isProvisionalDraft?null:this.settings.draftId,revisionId:this.settings.revisionId,siteId:this.settings.siteId,onBeforeLoad:(n=o(a().mark((function t(){return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,i.checkForm(!1,!0);case 2:case"end":return t.stop()}}),t)}))),function(){return n.apply(this,arguments)})}),this.preview.on("open",(function(){e=i.settings.updatedTimestamp,i.pause()})),this.preview.on("close",o(a().mark((function t(){var n,r,s,o;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(i.$previewBtn&&i.$previewBtn.focus(),i.settings.updatedTimestamp===e){t.next=4;break}return t.next=4,i.refreshContent();case 4:null!==(s=null!==(n=null===(r=i.preview.tabManager)||void 0===r?void 0:r.getSelectedTabIndex())&&void 0!==n?n:null)&&(null===(o=i.tabManager)||void 0===o||o.selectTab(s)),i.resume();case 7:case"end":return t.stop()}}),t)})))),this.preview.on("afterSaveDraft",(function(t){var e=t.response;i._handleSaveDraftResponse(e)}))),this.preview},openPreview:(d=o(a().mark((function t(){var e,n,i,r,s;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!Garnish.hasAttr(this.$previewBtn,"aria-disabled")){t.next=2;break}return t.abrupt("return");case 2:return this.$previewBtn.attr("aria-disabled",!0),t.prev=3,i=this.getPreview(),t.next=7,i.open();case 7:null!==(r=null!==(e=null===(n=this.tabManager)||void 0===n?void 0:n.getSelectedTabIndex())&&void 0!==e?e:null)&&(null===(s=i.tabManager)||void 0===s||s.selectTab(r));case 9:return t.prev=9,this.$previewBtn.removeAttr("aria-disabled"),t.finish(9);case 12:case"end":return t.stop()}}),t,this,[[3,,9,12]])}))),function(){return d.apply(this,arguments)}),ensureIsDraftOrRevision:function(t){var e=this;return new Promise((function(n,i){if(e.settings.draftId||e.settings.revisionId)n();else{if(t&&e.serializeForm(!0)===e.$container.data("initialSerializedValue"))return void n();e.saveDraft().then(n).catch(i)}}))},setFormValue:function(t,e){var n=this;return o(a().mark((function i(){return a().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:if(!n.settings.revisionId){i.next=2;break}throw"Unable to set form values on a revision.";case 2:return i.next=4,n.checkForm();case 4:if(!n.$container.serialize().split("&").includes("".concat(encodeURIComponent(t),"=").concat(encodeURIComponent(e)))){i.next=7;break}return i.abrupt("return");case 7:if($("",{type:"hidden",name:t,value:e}).prependTo(n.$container),!n.settings.canCreateDrafts){i.next=11;break}return i.next=11,n.saveDraft();case 11:case"end":return i.stop()}}),i)})))()},markDeltaNameAsModified:function(t){var e=this;return o(a().mark((function n(){var i;return a().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if((i=e.$container.data("modified-delta-names")||[]).includes(t)){n.next=6;break}return i.push(t),e.$container.data("modified-delta-names",i),n.next=6,e.saveDraft();case 6:case"end":return n.stop()}}),n)})))()},serializeForm:function(t){var e=this.$container.serialize();if(t&&!this.settings.isUnpublishedDraft){var n=encodeURIComponent(this.namespaceInputName("action")),i=encodeURIComponent(this.namespaceInputName("redirect"));e=(e=e.replace(new RegExp("&".concat(Craft.escapeRegex(n),"=[^&]*")),"")).replace(new RegExp("&".concat(Craft.escapeRegex(i),"=[^&]*")),"")}return e.replace(/&elementindex-[^&]*/g,"")},checkForm:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return this.queue.push((function(){return new Promise((function(i,r){if(e.settings.revisionId)i();else if(void 0!==e.$container.data("initialSerializedValue")){var a=e.serializeForm(!0);t||a!==(e.lastSerializedValue||e.$container.data("initialSerializedValue"))?(null!=n?n:e.enableAutosave)&&e.settings.canCreateDrafts?e._saveDraftInternal(a).then(i).catch((function(t){console.warn("Couldn’t save draft:",t),r(t)})):e.updateFieldLayout(a).then(i).catch((function(t){console.warn("Couldn’t update field layout:",t),r(t)})):i()}else setTimeout((function(){e.checkForm(t).then(i).catch(r)}),500)}))}))},refreshContent:function(t){var e=this;return o(a().mark((function n(){var i;return a().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return e.settings.visibleLayoutElements=[],(i=[e.serializeForm(!0)]).push($.param(r({},e.namespaceInputName("applyParams"),0))),t&&!$.isEmptyObject(t)&&i.push($.param(t)),n.next=6,e.updateFieldLayout(i.join("&"));case 6:case"end":return n.stop()}}),n)})))()},isPreviewActive:function(){return this.preview&&this.preview.isActive},saveDraft:function(t){var e=this;return this.queue.push((function(){return new Promise((function(n,i){e._saveDraftInternal(e.serializeForm(!0),t).then(n).catch(i)}))}))},_saveDraftInternal:function(t,e){var a=this;return new Promise((function(e,s){if(a.submittingForm)s("Form already being submitted.");else{a.lastSerializedValue=t,a.failed=!1,a.httpStatus=null,a.httpError=null,a.cancelToken=axios.CancelToken.source(),a.statusIcons().velocity("stop").css("opacity","").removeClass("hidden invisible checkmark-icon alert-icon fade-out").addClass("hidden"),a.statusMessage().empty(),a.$saveMetaBtn&&a.$saveMetaBtn.addClass("active");var o,c=l(Craft.findModifiedDeltaNames(a.$container.data("initialSerializedValue"),t,a.$container.data("delta-names"),a.$container.data("initial-delta-values"),a.$container.data("modified-delta-names"),!0),1)[0],h=a.prepareData(t,null,!0),u=$(),d=i(c);try{for(d.s();!(o=d.n()).done;){var f=o.value,p=u=u.add(a.$container.find('.field[data-base-input-name="'.concat($.escapeSelector(f),'"]')));u=u.add(p).add(p.parentsUntil(a.$container,".field"))}}catch(t){d.e(t)}finally{d.f()}h.push($.param(r({},a.namespaceInputName("visibleLayoutElements"),a.settings.visibleLayoutElements))),!a.settings.isProvisionalDraft&&a.settings.draftId||h.push("".concat(a.namespaceInputName("provisional"),"=1"));var g=a.$contentContainer.children("[data-layout-tab]:not(.hidden)").data("id");g&&h.push("".concat(a.namespaceInputName("selectedTab"),"=").concat(g)),Craft.sendActionRequest("POST","elements/save-draft",{cancelToken:a.cancelToken.token,headers:a._saveHeaders,data:h.join("&")}).then((function(i){var r;a._afterSaveDraft(),a._afterUpdateFieldLayout(t,g,i),a._handleSaveDraftResponse(i),$.isPlainObject(i.data.draftElementUids)&&(a.draftElementUids=n(n({},a.draftElementUids),i.data.draftElementUids));var s=i.data.modifiedAttributes.map((function(t){return t=a.namespaceInputName(t),['[name="'.concat(t,'"]'),'[name^="'.concat(t,'["]')]})).flat().join(",");u=u.add(a.$contentContainer.find(s).parentsUntil(a.$container,".flex-fields > .field")).add(null===(r=a.$sidebar)||void 0===r?void 0:r.find(s).closest(".field")).not(":has(> .status-badge)");for(var o=0;o",{class:"status-badge modified",title:Craft.t("app","This field has been modified.")}).append($("",{class:"visually-hidden",html:Craft.t("app","This field has been modified.")})));a.afterUpdate(t),a.trigger("afterSaveDraft",{response:i}),Craft.broadcaster&&Craft.broadcaster.postMessage({pageId:Craft.pageId,event:"saveDraft",canonicalId:a.settings.canonicalId,draftId:a.settings.draftId,isProvisionalDraft:a.settings.isProvisionalDraft}),e()})).catch((function(t){a._afterSaveDraft(),a.ignoreFailedRequest||(a.failed=!0,t&&t.response&&(a.httpStatus=t.response.status,a.httpError=t.response.data?t.response.data.message:null),a._showFailStatus(),s(t)),a.ignoreFailedRequest=!1}))}}))},_handleSaveDraftResponse:function(t){var e=this,i=!this.settings.draftId;i&&(this.settings.isProvisionalDraft=!0),this.isFullPage&&(t.data.title&&this.$container.find(".screen-title").text(t.data.title),t.data.docTitle&&(document.title=t.data.docTitle)),this.newSiteIds&&(this.newSiteIds.forEach((function(t){var n=e.settings.additionalSites.find((function(e){return e.siteId==t})),i=!n||void 0===n.enabledByDefault||n.enabledByDefault;Craft.cp.showSiteCrumbMenuItem(t),Craft.cp.setSiteCrumbMenuItemStatus(t,i?"enabled":"disabled")})),this.newSiteIds=null),this.settings.isProvisionalDraft?i&&(this.$container.find("input.action-input").attr("value","elements/apply-draft"),this.settings.elementId=t.data.elementId,this.settings.draftId=t.data.draftId,this.settings.isLive=!1,this.previewToken=null,this.initForProvisionalDraft()):(this.settings.draftName=t.data.draftName,this.isFullPage&&Craft.cp.updateContext(t.data.draftName,t.data.creator?Craft.t("app","Saved {timestamp} by {creator}",{timestamp:t.data.timestamp,creator:t.data.creator}):Craft.t("app","Saved {timestamp}",{timestamp:t.data.timestamp}))),t.data.previewTargets&&JSON.stringify(t.data.previewTargets)!==JSON.stringify(this.settings.previewTargets)&&this.updatePreviewTargets(t.data.previewTargets),i&&(this.updatePreviewLinks(),this.trigger("createProvisionalDraft")),this.$nameTextInput&&this.checkMetaValues(),$.isPlainObject(t.data.draftElementIds)&&(this.draftElementIds=n(n({},this.draftElementIds),t.data.draftElementIds)),this.settings.updatedTimestamp=t.data.updatedTimestamp,this.settings.canonicalUpdatedTimestamp=t.data.canonicalUpdatedTimestamp},_afterSaveDraft:function(){this.$saveMetaBtn&&this.$saveMetaBtn.removeClass("active")},_showFailStatus:function(){this.statusIcons().velocity("stop").css("opacity","").removeClass("hidden checkmark-icon").addClass("alert-icon"),this.setStatusMessage(this._saveFailMessage())},updateFieldLayout:function(t){var e=this;return new Promise((function(n,i){if(e.submittingForm)i("Form already being submitted.");else{e.lastSerializedValue=t,e.cancelToken=axios.CancelToken.source();var a=e.prepareData(t),s=r({},e.namespaceInputName("visibleLayoutElements"),e.settings.visibleLayoutElements);e.settings.isProvisionalDraft&&(s[e.namespaceInputName("provisional")]=1);var o=e.$contentContainer.children("[data-layout-tab]:not(.hidden)").data("id");o&&(s[e.namespaceInputName("selectedTab")]=o),a+="&".concat($.param(s)),Craft.sendActionRequest("POST","elements/update-field-layout",{cancelToken:e.cancelToken.token,headers:e._saveHeaders,data:a}).then((function(i){e._afterUpdateFieldLayout(t,o,i),n()})).catch((function(t){e._afterSaveDraft(),e.ignoreFailedRequest||(e.failed=!0,t&&t.response&&(e.httpStatus=t.response.status,e.httpError=t.response.data?t.response.data.message:null),e._showFailStatus(),i(t)),e.ignoreFailedRequest=!1}))}}))},prepareData:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=Craft.findDeltaData(this.$container.data("initialSerializedValue"),t,this.$container.data("delta-names"),e,this.$container.data("initial-delta-values"),this.$container.data("modified-delta-names"),!0);return this.settings.draftId&&(i.push("".concat(this.namespaceInputName("draftId"),"=").concat(this.settings.draftId)),this.settings.isProvisionalDraft&&i.push("".concat(this.namespaceInputName("provisional"),"=1"))),null!==this.settings.draftName&&i.push("".concat(this.namespaceInputName("draftName"),"=").concat(this.settings.draftName)),n?i:i.join("&")},get _saveHeaders(){var t={"content-type":"application/x-www-form-urlencoded"};return this.namespace&&(t["X-Craft-Namespace"]=this.namespace),t},getDraftElementId:function(t){return this.draftElementIds[t]||t},getDraftElementUid:function(t){return this.draftElementUids[t]||t},updatePreviewTargets:function(t){var e=this;t.forEach((function(t){var n=e.settings.previewTargets.find((function(e){return e.label===t.label}));n&&(n.url=t.url);var i=e.previewLinks.find((function(e){return e.data("targetLabel")===t.label}));i&&(i.data("targetUrl",t.url),e.updatePreviewLinkHref(i))}))},_afterUpdateFieldLayout:function(t,e,n){var r=this;return o(a().mark((function s(){var o,l,c,h,u,d,f,p,g,m,v,b,y,C,w,_,S,x,T,I;return a().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:l=r.serializeForm(!0)===t,c=r.$contentContainer.children("[data-layout-tab]:not(.hidden)").data("id"),h=$(),u={},d=!1,f=i(n.data.missingElements);try{for(f.s();!(p=f.n()).done;){g=p.value,(m=r.$contentContainer.children('[data-layout-tab="'.concat(g.uid,'"]'))).length||(m=$("",{id:r.namespaceId(g.id),class:"flex-fields","data-id":g.id,"data-layout-tab":g.uid}),g.id!==e&&m.addClass("hidden"),m.appendTo(r.$contentContainer)),h=h.add(m),v=i(g.elements);try{for(v.s();!(b=v.n()).done;)!1!==(y=b.value).html?(u[g.uid]||(u[g.uid]=[]),u[g.uid].push(y.uid),"string"==typeof y.html&&(C=m.children('[data-layout-element="'.concat(y.uid,'"]')),w=$(y.html),C.length?C.replaceWith(w):w.appendTo(m),Craft.initUiElements(w),d=!0)):(_=m.children('[data-layout-element="'.concat(y.uid,'"]'))).length&&Garnish.hasAttr(_,"data-layout-element-placeholder")||(S=$("",{class:"hidden","data-layout-element":y.uid,"data-layout-element-placeholder":""}),_.length?_.replaceWith(S):S.appendTo(m),d=!0)}catch(t){v.e(t)}finally{v.f()}}}catch(t){f.e(t)}finally{f.f()}return(x=r.$contentContainer.children("[data-layout-tab]").not(h).not('[data-layout-tab=""]')).length&&(x.remove(),d=!0),h.filter(":not(.hidden)").length||h.first().removeClass("hidden"),r.settings.visibleLayoutElements=u,(null!==(o=r.settings.updateTabs)&&void 0!==o?o:r.isFullPage?function(t){return Craft.cp.updateTabs(t)}:function(){})(n.data.tabs),e&&c&&e!==c&&(T=r.tabManager)&&((I=T.$tabs.filter('[data-id="'.concat(c,'"]'))).length?T.selectTab(I):T.selectTab(T.$tabs.first())),a.next=16,Craft.appendHeadHtml(n.data.headHtml);case 16:return a.next=18,Craft.appendBodyHtml(n.data.bodyHtml);case 18:d&&(n.data.initialDeltaValues&&Object.assign(r.$container.data("initial-delta-values"),n.data.initialDeltaValues),l&&(r.lastSerializedValue=r.serializeForm(!0))),r.handleDismissibleTips();case 20:case"end":return a.stop()}}),s)})))()},afterUpdate:function(t){this.$container.data("initialSerializedValue",t),this.$container.data("initial-delta-values",{});var e=this.statusIcons().velocity("stop").css("opacity","").removeClass("hidden").addClass("checkmark-icon");this.setStatusMessage(this._saveSuccessMessage()),this.settings.autosaveDrafts||e.velocity("stop").velocity({opacity:0},{delay:2e3,complete:function(){e.addClass("hidden")}}),this.trigger("update"),this.settings.isProvisionalDraft&&Craft.broadcaster&&Craft.broadcaster.postMessage({event:"saveElement",id:this.settings.canonicalId})},setStatusMessage:function(t){this.statusIcons().attr("title",t),this.statusMessage().empty().append($("",{class:"visually-hidden",text:t}))},showMetaModal:function(){var t=this;this.metaModal?this.metaModal.show():this.createMetaModal(),Garnish.isMobileBrowser(!0)||setTimeout((function(){t.$nameTextInput.trigger("focus")}),100)},createMetaModal:function(){var t=this,e=$("",{class:"modal fitted"}),n=$("",{class:"body"}).appendTo(e),i=$('
").appendTo(i),s=0;s").appendTo(a),$('').appendTo(n).text(e.data.tags[s].title).data("id",e.data.tags[s].id).addClass(e.data.tags[s].exclude?"disabled":"");e.data.exactMatch||(n=$("").appendTo(a),$('').appendTo(n).text(r.search)),a.find("button:not(.disabled):first").addClass("hover"),t.searchMenu=new Garnish.Menu(i,{attachToElement:t.$addTagInput,onOptionSelect:t.selectTag.bind(t)}),t.addListener(i,"mousedown",(function(){t._ignoreBlur=!0})),t.searchMenu.show()})).catch((function(e){e.response,t.searchMenu&&t.killSearchMenu(),t.$spinner.addClass("hidden")}))}else this.$spinner.addClass("hidden")},selectTag:function(t){var e=this,n=$(t);if(!n.hasClass("disabled")){var i=n.data("id"),r=n.text(),a=$("",{class:"chip element small removable","data-id":i,"data-site-id":this.settings.targetSiteId,"data-label":r,"data-editable":"1"}),s=$("").appendTo(this.$elementsContainer);a.appendTo(s);var o=$("",{class:"chip-content"}).appendTo(a),l=$("",{class:"label"}).appendTo(o),c=$("",{class:"label-link"}).appendTo(l);$("",{class:"title",text:r}).appendTo(c),$("",{class:"chip-actions"}).appendTo(o);var h=$("",{type:"hidden",name:this.settings.name+"[]",value:i}).appendTo(o);if(this.$elements=this.$elements.add(a),this.addElements(a),this.killSearchMenu(),this.$addTagInput.val(""),this.$addTagInput.trigger("focus"),!i){a.addClass("loading disabled");var u={groupId:this.settings.tagGroupId,title:r};Craft.sendActionRequest("POST","tags/create-tag",{data:u}).then((function(t){a.attr("data-id",t.data.id),h.val(t.data.id),a.removeClass("loading disabled")})).catch((function(t){t.response,e.removeElement(a),Craft.cp.displayError(Craft.t("app","A server error occurred."))}))}}},killSearchMenu:function(){this.searchMenu.hide(),this.searchMenu.destroy(),this.searchMenu=null}},{defaults:{tagGroupId:null}})},3958:function(){Craft.ThumbsElementIndexView=Craft.BaseElementIndexView.extend({getElementContainer:function(){return this.$container.children("ul")}})},3079:function(){Craft.Tooltip=Garnish.Base.extend({_$trigger:null,_message:null,hud:null,$p:null,hoverTimeout:null,triggerHit:!1,shownViaHover:!1,init:function(t,e){var n=this;this.$trigger=$(t),this.message=e,"BUTTON"!==this.$trigger[0].tagName&&"button"!==this.$trigger.attr("role")&&console.error("Toggletip buttons need to be
\n");var l=function(n){function i(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,i),function(e,n,i){return n=s(n),function(e,n){if(n&&("object"===t(n)||"function"==typeof n))return n;if(void 0!==n)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(e)}(e,r()?Reflect.construct(n,i||[],s(e).constructor):n.apply(e,i))}(this,i,arguments)}var l,c,h;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&a(t,e)}(i,n),l=i,h=[{key:"observedAttributes",get:function(){return["visible"]}}],(c=[{key:"connectedCallback",value:function(){this.root=this;var t=o.content.cloneNode(!0);this.root.append(t),"true"===this.visible&&this.wrapper.classList.remove("hidden"),this.initialized=!0}},{key:"visible",get:function(){return this.getAttribute("visible")},set:function(t){this.setAttribute("visible",t)}},{key:"messageWrapper",get:function(){return this.querySelector(".message")}},{key:"wrapper",get:function(){return this.querySelector(".wrapper")}},{key:"attributeChangedCallback",value:function(t,e,n){if(this.initialized)return"visible"===t.toLowerCase()?"true"===n?this.show():this.hide():void 0}},{key:"disconnectedCallback",value:function(){}},{key:"show",value:function(){this.wrapper.classList.remove("hidden"),this.dispatchEvent(new CustomEvent("show"))}},{key:"hide",value:function(){this.wrapper.classList.add("hidden"),this.dispatchEvent(new CustomEvent("hide"))}},{key:"focus",value:function(){this.wrapper.focus()}}])&&e(l.prototype,c),h&&e(l,h),Object.defineProperty(l,"prototype",{writable:!1}),i}(i(HTMLElement));customElements.define("craft-spinner",l)},691: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){return function(t){if(Array.isArray(t))return r(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||i(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(t,e){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,e)||i(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(t,e){if(t){if("string"==typeof t)return r(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(t,e):void 0}}function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n=0;--a){var s=this.tryEntries[a],o=s.completion;if("root"===s.tryLoc)return i("end");if(s.tryLoc<=this.prev){var l=r.call(s,"catchLoc"),c=r.call(s,"finallyLoc");if(l&&c){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),P(n),b}},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;P(n)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,i){return this.delegate={iterator:M(t),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=e),b}},n}function s(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 o(t){return function(){var e=this,n=arguments;return new Promise((function(i,r){var a=t.apply(e,n);function o(t){s(a,i,r,o,l,"next",t)}function l(t){s(a,i,r,o,l,"throw",t)}o(void 0)}))}}var l,c,h,u,d;Craft.CustomizeSourcesModal=Garnish.Modal.extend({elementIndex:null,$elementIndexSourcesContainer:null,$sidebar:null,$sidebarToggleBtn:null,$sourcesContainer:null,$sourcesHeader:null,$sourcesHeading:null,$sourceSettingsContainer:null,$sourceSettingsHeader:null,$addSourceMenu:null,addSourceMenu:null,$footer:null,$footerBtnContainer:null,$saveBtn:null,$cancelBtn:null,$loadingSpinner:null,sourceSort:null,sources:null,selectedSource:null,elementTypeName:null,baseSortOptions:null,availableTableAttributes:null,customFieldAttributes:null,conditionBuilderHtml:null,conditionBuilderJs:null,userGroups:null,init:function(t,e){var n=this;this.base(),this.setSettings(e,{resizable:!0}),this.elementIndex=t,this.$elementIndexSourcesContainer=this.elementIndex.$sidebar.children("nav").children("ul");var i=$('').appendTo(Garnish.$bod);this.$sidebar=$('').appendTo(i).attr({role:"navigation","aria-label":Craft.t("app","Source")}),this.$sourcesContainer=$('
",{class:"".concat(h.class," ").concat(h.type,"-cell"),width:h.width}),Craft.inArray(h.type,Craft.EditableTable.textualColTypes)&&c.addClass("textual"),h.code&&c.addClass("code"),h.type){case"checkbox":$('').append(Craft.ui.createCheckbox({name:d,value:h.value||"1",checked:!!u})).appendTo(c);break;case"color":Craft.ui.createColorInput({name:d,value:"object"!==t(u)?u:null,small:!0}).appendTo(c);break;case"date":Craft.ui.createDateInput({name:d,value:u}).appendTo(c);break;case"lightswitch":Craft.ui.createLightswitch({name:d,value:h.value||"1",on:!!u,small:!0}).appendTo(c);break;case"select":Craft.ui.createSelect({name:d,options:h.options,value:u||function(){for(var t in h.options)if(h.options.hasOwnProperty(t)&&h.options[t].default)return void 0!==h.options[t].value?h.options[t].value:t;return null}(),class:"small"}).appendTo(c);break;case"time":Craft.ui.createTimeInput({name:d,value:u}).appendTo(c);break;case"email":case"url":Craft.ui.createTextInput({name:d,value:"object"!==t(u)?u:null,type:h.type,placeholder:h.placeholder||null}).appendTo(c);break;default:$("",{name:d,rows:h.rows||1,val:"object"!==t(u)?u:null,placeholder:h.placeholder}).appendTo(c)}}c.appendTo(o)}return a&&$("
");var n=new Garnish.HUD(t,e,{hudClass:"hud revision-status-hud",onHide:function(){n.destroy()}});n.$mainContainer.find(".refresh-btn").on("click",(function(){window.location.reload()}))},_saveSuccessMessage:function(){return this.settings.isProvisionalDraft||this.settings.isUnpublishedDraft?Craft.t("app","Your changes have been stored."):Craft.t("app","The draft has been saved.")},_saveFailMessage:function(){return this.settings.isProvisionalDraft||this.settings.isUnpublishedDraft?Craft.t("app","Your changes could not be stored."):Craft.t("app","The draft could not be saved.")},spinners:function(){return this.$spinner},showSpinner:function(){this.spinners().removeClass("hidden")},hideSpinner:function(){this.spinners().addClass("hidden")},statusIcons:function(){return this.$statusIcon},statusMessage:function(){return this.$statusMessage},createEditMetaAction:function(){if(this.isFullPage){var t=$("#action-menu").disclosureMenu().data("disclosureMenu"),e=t.getFirstDestructiveGroup(),n=t.addGroup(null,!0,e),i=t.addItem({type:"button",icon:"edit",label:Craft.t("app","Edit draft settings")},n);this.addListener(i,"click","showMetaModal")}},createPreviewLink:function(t,e){var n=this,i=$("",{href:this.getTokenizedPreviewUrl(t.url,null,!1),text:e||Craft.t("app","View"),target:"_blank",data:{targetUrl:t.url,targetLabel:t.label}});return this.addListener(i,"click",(function(){setTimeout((function(){n.activatePreviewToken()}),1)})),this.previewLinks.push(i),i},updatePreviewLinks:function(){var t=this;this.previewLinks.forEach((function(e){t.updatePreviewLinkHref(e),t.activatedPreviewToken&&t.removeListener(e,"click")}))},updatePreviewLinkHref:function(t){t.attr("href",this.getTokenizedPreviewUrl(t.data("targetUrl"),null,!1))},activatePreviewToken:function(){this.settings.isLive||(this.activatedPreviewToken=!0,this.updatePreviewLinks())},createShareMenu:function(t){var e=this,n=$("",{type:"button",class:"view-btn btn menubtn",text:Craft.t("app","View")}).appendTo(t),i=$("",{class:"menu"}).appendTo(t),r=$("
").appendTo(i);this.settings.previewTargets.forEach((function(t){$("").append(e.createPreviewLink(t,t.label)).appendTo(r)})),new Garnish.MenuBtn(n)},getPreviewTokenParams:function(){var t={elementType:this.settings.elementType,canonicalId:this.settings.canonicalId,siteId:this.settings.siteId,revisionId:this.settings.revisionId,previewToken:this.settings.previewToken};return this.settings.draftId&&!this.settings.isProvisionalDraft&&(t.draftId=this.settings.draftId),t},getPreviewToken:function(){var t=this;return this.previewTokenQueue.push((function(){return new Promise((function(e,n){t.activatedPreviewToken?e(t.settings.previewToken):Craft.sendActionRequest("POST","preview/create-token",{data:t.getPreviewTokenParams()}).then((function(){t.activatePreviewToken(),e(t.settings.previewToken)})).catch(n)}))}))},getTokenizedPreviewUrl:function(t,e,n){var i=this;void 0===n&&(n=!0);var r={};if(!e&&this.settings.isLive||(r[e||"x-craft-preview"]=Craft.randomString(10)),this.settings.siteToken&&(r[Craft.siteToken]=this.settings.siteToken),this.settings.isLive){var a=Craft.getUrl(t,r);return n?new Promise((function(t){t(a)})):a}if(!this.settings.previewToken)throw"Missing preview token";r[Craft.tokenParam]=this.settings.previewToken;var s=Craft.getUrl(t,r);if(this.activatedPreviewToken)return n?new Promise((function(t){t(s)})):s;if(n)return new Promise((function(t,e){i.getPreviewToken().then((function(){t(s)})).catch(e)}));var o=this.getPreviewTokenParams();return o.redirect=s,Craft.getActionUrl("preview/create-token",o)},getPreview:function(){var t,e,n,i=this;return this.preview&&!this.preview.isVisible&&(null===(t=this.preview.elementEditor)||void 0===t?void 0:t.settings.updatedTimestamp)!==this.settings.updatedTimestamp&&(this.preview.destroy(),delete this.preview),this.preview||(this.preview=new Craft.Preview({elementType:this.settings.elementType,elementId:this.settings.isProvisionalDraft?this.settings.canonicalId:this.settings.elementId,draftId:this.settings.isProvisionalDraft?null:this.settings.draftId,revisionId:this.settings.revisionId,siteId:this.settings.siteId,onBeforeLoad:(n=o(a().mark((function t(){return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,i.checkForm(!1,!0);case 2:case"end":return t.stop()}}),t)}))),function(){return n.apply(this,arguments)})}),this.preview.on("open",(function(){e=i.settings.updatedTimestamp,i.pause()})),this.preview.on("close",o(a().mark((function t(){var n,r,s,o;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(i.$previewBtn&&i.$previewBtn.focus(),i.settings.updatedTimestamp===e){t.next=4;break}return t.next=4,i.refreshContent();case 4:null!==(s=null!==(n=null===(r=i.preview.tabManager)||void 0===r?void 0:r.getSelectedTabIndex())&&void 0!==n?n:null)&&(null===(o=i.tabManager)||void 0===o||o.selectTab(s)),i.resume();case 7:case"end":return t.stop()}}),t)})))),this.preview.on("afterSaveDraft",(function(t){var e=t.response;i._handleSaveDraftResponse(e)}))),this.preview},openPreview:(d=o(a().mark((function t(){var e,n,i,r,s;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!Garnish.hasAttr(this.$previewBtn,"aria-disabled")){t.next=2;break}return t.abrupt("return");case 2:return this.$previewBtn.attr("aria-disabled",!0),t.prev=3,i=this.getPreview(),t.next=7,i.open();case 7:null!==(r=null!==(e=null===(n=this.tabManager)||void 0===n?void 0:n.getSelectedTabIndex())&&void 0!==e?e:null)&&(null===(s=i.tabManager)||void 0===s||s.selectTab(r));case 9:return t.prev=9,this.$previewBtn.removeAttr("aria-disabled"),t.finish(9);case 12:case"end":return t.stop()}}),t,this,[[3,,9,12]])}))),function(){return d.apply(this,arguments)}),ensureIsDraftOrRevision:function(t){var e=this;return new Promise((function(n,i){if(e.settings.draftId||e.settings.revisionId)n();else{if(t&&e.serializeForm(!0)===e.$container.data("initialSerializedValue"))return void n();e.saveDraft().then(n).catch(i)}}))},setFormValue:function(t,e){var n=this;return o(a().mark((function i(){return a().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:if(!n.settings.revisionId){i.next=2;break}throw"Unable to set form values on a revision.";case 2:return i.next=4,n.checkForm();case 4:if(!n.$container.serialize().split("&").includes("".concat(encodeURIComponent(t),"=").concat(encodeURIComponent(e)))){i.next=7;break}return i.abrupt("return");case 7:if($("",{type:"hidden",name:t,value:e}).prependTo(n.$container),!n.settings.canCreateDrafts){i.next=11;break}return i.next=11,n.saveDraft();case 11:case"end":return i.stop()}}),i)})))()},markDeltaNameAsModified:function(t){var e=this;return o(a().mark((function n(){var i;return a().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if((i=e.$container.data("modified-delta-names")||[]).includes(t)){n.next=6;break}return i.push(t),e.$container.data("modified-delta-names",i),n.next=6,e.saveDraft();case 6:case"end":return n.stop()}}),n)})))()},serializeForm:function(t){var e=this.$container.serialize();if(t&&!this.settings.isUnpublishedDraft){var n=encodeURIComponent(this.namespaceInputName("action")),i=encodeURIComponent(this.namespaceInputName("redirect"));e=(e=e.replace(new RegExp("&".concat(Craft.escapeRegex(n),"=[^&]*")),"")).replace(new RegExp("&".concat(Craft.escapeRegex(i),"=[^&]*")),"")}return e.replace(/&elementindex-[^&]*/g,"")},checkForm:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return this.queue.push((function(){return new Promise((function(i,r){if(e.settings.revisionId)i();else if(void 0!==e.$container.data("initialSerializedValue")){var a=e.serializeForm(!0);t||a!==(e.lastSerializedValue||e.$container.data("initialSerializedValue"))?(null!=n?n:e.enableAutosave)&&e.settings.canCreateDrafts?e._saveDraftInternal(a).then(i).catch((function(t){console.warn("Couldn’t save draft:",t),r(t)})):e.updateFieldLayout(a).then(i).catch((function(t){console.warn("Couldn’t update field layout:",t),r(t)})):i()}else setTimeout((function(){e.checkForm(t).then(i).catch(r)}),500)}))}))},refreshContent:function(t){var e=this;return o(a().mark((function n(){var i;return a().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return e.settings.visibleLayoutElements=[],(i=[e.serializeForm(!0)]).push($.param(r({},e.namespaceInputName("applyParams"),0))),t&&!$.isEmptyObject(t)&&i.push($.param(t)),n.next=6,e.updateFieldLayout(i.join("&"));case 6:case"end":return n.stop()}}),n)})))()},isPreviewActive:function(){return this.preview&&this.preview.isActive},saveDraft:function(t){var e=this;return this.queue.push((function(){return new Promise((function(n,i){e._saveDraftInternal(e.serializeForm(!0),t).then(n).catch(i)}))}))},_saveDraftInternal:function(t,e){var a=this;return new Promise((function(e,s){if(a.submittingForm)s("Form already being submitted.");else{a.lastSerializedValue=t,a.failed=!1,a.httpStatus=null,a.httpError=null,a.cancelToken=axios.CancelToken.source(),a.statusIcons().velocity("stop").css("opacity","").removeClass("hidden invisible checkmark-icon alert-icon fade-out").addClass("hidden"),a.statusMessage().empty(),a.$saveMetaBtn&&a.$saveMetaBtn.addClass("active");var o,c=l(Craft.findModifiedDeltaNames(a.$container.data("initialSerializedValue"),t,a.$container.data("delta-names"),a.$container.data("initial-delta-values"),a.$container.data("modified-delta-names"),!0),1)[0],h=a.prepareData(t,null,!0),u=$(),d=i(c);try{for(d.s();!(o=d.n()).done;){var f=o.value,p=u=u.add(a.$container.find('.field[data-base-input-name="'.concat($.escapeSelector(f),'"]')));u=u.add(p).add(p.parentsUntil(a.$container,".field"))}}catch(t){d.e(t)}finally{d.f()}h.push($.param(r({},a.namespaceInputName("visibleLayoutElements"),a.settings.visibleLayoutElements))),!a.settings.isProvisionalDraft&&a.settings.draftId||h.push("".concat(a.namespaceInputName("provisional"),"=1"));var g=a.$contentContainer.children("[data-layout-tab]:not(.hidden)").data("id");g&&h.push("".concat(a.namespaceInputName("selectedTab"),"=").concat(g)),Craft.sendActionRequest("POST","elements/save-draft",{cancelToken:a.cancelToken.token,headers:a._saveHeaders,data:h.join("&")}).then((function(i){var r;a._afterSaveDraft(),a._afterUpdateFieldLayout(t,g,i),a._handleSaveDraftResponse(i),$.isPlainObject(i.data.draftElementUids)&&(a.draftElementUids=n(n({},a.draftElementUids),i.data.draftElementUids));var s=i.data.modifiedAttributes.map((function(t){return t=a.namespaceInputName(t),['[name="'.concat(t,'"]'),'[name^="'.concat(t,'["]')]})).flat().join(",");u=u.add(a.$contentContainer.find(s).parentsUntil(a.$container,".flex-fields > .field")).add(null===(r=a.$sidebar)||void 0===r?void 0:r.find(s).closest(".field")).not(":has(> .status-badge)");for(var o=0;o",{class:"status-badge modified",title:Craft.t("app","This field has been modified.")}).append($("",{class:"visually-hidden",html:Craft.t("app","This field has been modified.")})));a.afterUpdate(t),a.trigger("afterSaveDraft",{response:i}),Craft.broadcaster&&Craft.broadcaster.postMessage({pageId:Craft.pageId,event:"saveDraft",canonicalId:a.settings.canonicalId,draftId:a.settings.draftId,isProvisionalDraft:a.settings.isProvisionalDraft}),e()})).catch((function(t){a._afterSaveDraft(),a.ignoreFailedRequest||(a.failed=!0,t&&t.response&&(a.httpStatus=t.response.status,a.httpError=t.response.data?t.response.data.message:null),a._showFailStatus(),s(t)),a.ignoreFailedRequest=!1}))}}))},_handleSaveDraftResponse:function(t){var e=this,i=!this.settings.draftId;i&&(this.settings.isProvisionalDraft=!0),this.isFullPage&&(t.data.title&&this.$container.find(".screen-title").text(t.data.title),t.data.docTitle&&(document.title=t.data.docTitle)),this.newSiteIds&&(this.newSiteIds.forEach((function(t){var n=e.settings.additionalSites.find((function(e){return e.siteId==t})),i=!n||void 0===n.enabledByDefault||n.enabledByDefault;Craft.cp.showSiteCrumbMenuItem(t),Craft.cp.setSiteCrumbMenuItemStatus(t,i?"enabled":"disabled")})),this.newSiteIds=null),this.settings.isProvisionalDraft?i&&(this.$container.find("input.action-input").attr("value","elements/apply-draft"),this.settings.elementId=t.data.elementId,this.settings.draftId=t.data.draftId,this.settings.isLive=!1,this.previewToken=null,this.initForProvisionalDraft()):(this.settings.draftName=t.data.draftName,this.isFullPage&&Craft.cp.updateContext(t.data.draftName,t.data.creator?Craft.t("app","Saved {timestamp} by {creator}",{timestamp:t.data.timestamp,creator:t.data.creator}):Craft.t("app","Saved {timestamp}",{timestamp:t.data.timestamp}))),t.data.previewTargets&&JSON.stringify(t.data.previewTargets)!==JSON.stringify(this.settings.previewTargets)&&this.updatePreviewTargets(t.data.previewTargets),i&&(this.updatePreviewLinks(),this.trigger("createProvisionalDraft")),this.$nameTextInput&&this.checkMetaValues(),$.isPlainObject(t.data.draftElementIds)&&(this.draftElementIds=n(n({},this.draftElementIds),t.data.draftElementIds)),this.settings.updatedTimestamp=t.data.updatedTimestamp,this.settings.canonicalUpdatedTimestamp=t.data.canonicalUpdatedTimestamp},_afterSaveDraft:function(){this.$saveMetaBtn&&this.$saveMetaBtn.removeClass("active")},_showFailStatus:function(){this.statusIcons().velocity("stop").css("opacity","").removeClass("hidden checkmark-icon").addClass("alert-icon"),this.setStatusMessage(this._saveFailMessage())},updateFieldLayout:function(t){var e=this;return new Promise((function(n,i){if(e.submittingForm)i("Form already being submitted.");else{e.lastSerializedValue=t,e.cancelToken=axios.CancelToken.source();var a=e.prepareData(t),s=r({},e.namespaceInputName("visibleLayoutElements"),e.settings.visibleLayoutElements);e.settings.isProvisionalDraft&&(s[e.namespaceInputName("provisional")]=1);var o=e.$contentContainer.children("[data-layout-tab]:not(.hidden)").data("id");o&&(s[e.namespaceInputName("selectedTab")]=o),a+="&".concat($.param(s)),Craft.sendActionRequest("POST","elements/update-field-layout",{cancelToken:e.cancelToken.token,headers:e._saveHeaders,data:a}).then((function(i){e._afterUpdateFieldLayout(t,o,i),n()})).catch((function(t){e._afterSaveDraft(),e.ignoreFailedRequest||(e.failed=!0,t&&t.response&&(e.httpStatus=t.response.status,e.httpError=t.response.data?t.response.data.message:null),e._showFailStatus(),i(t)),e.ignoreFailedRequest=!1}))}}))},prepareData:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=Craft.findDeltaData(this.$container.data("initialSerializedValue"),t,this.$container.data("delta-names"),e,this.$container.data("initial-delta-values"),this.$container.data("modified-delta-names"),!0);return this.settings.draftId&&(i.push("".concat(this.namespaceInputName("draftId"),"=").concat(this.settings.draftId)),this.settings.isProvisionalDraft&&i.push("".concat(this.namespaceInputName("provisional"),"=1"))),null!==this.settings.draftName&&i.push("".concat(this.namespaceInputName("draftName"),"=").concat(this.settings.draftName)),n?i:i.join("&")},get _saveHeaders(){var t={"content-type":"application/x-www-form-urlencoded"};return this.namespace&&(t["X-Craft-Namespace"]=this.namespace),t},getDraftElementId:function(t){return this.draftElementIds[t]||t},getDraftElementUid:function(t){return this.draftElementUids[t]||t},updatePreviewTargets:function(t){var e=this;t.forEach((function(t){var n=e.settings.previewTargets.find((function(e){return e.label===t.label}));n&&(n.url=t.url);var i=e.previewLinks.find((function(e){return e.data("targetLabel")===t.label}));i&&(i.data("targetUrl",t.url),e.updatePreviewLinkHref(i))}))},_afterUpdateFieldLayout:function(t,e,n){var r=this;return o(a().mark((function s(){var o,l,c,h,u,d,f,p,g,m,v,b,y,C,w,_,S,x,T,I;return a().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:l=r.serializeForm(!0)===t,c=r.$contentContainer.children("[data-layout-tab]:not(.hidden)").data("id"),h=$(),u={},d=!1,f=i(n.data.missingElements);try{for(f.s();!(p=f.n()).done;){g=p.value,(m=r.$contentContainer.children('[data-layout-tab="'.concat(g.uid,'"]'))).length||(m=$("",{id:r.namespaceId(g.id),class:"flex-fields","data-id":g.id,"data-layout-tab":g.uid}),g.id!==e&&m.addClass("hidden"),m.appendTo(r.$contentContainer)),h=h.add(m),v=i(g.elements);try{for(v.s();!(b=v.n()).done;)!1!==(y=b.value).html?(u[g.uid]||(u[g.uid]=[]),u[g.uid].push(y.uid),"string"==typeof y.html&&(C=m.children('[data-layout-element="'.concat(y.uid,'"]')),w=$(y.html),C.length?C.replaceWith(w):w.appendTo(m),Craft.initUiElements(w),d=!0)):(_=m.children('[data-layout-element="'.concat(y.uid,'"]'))).length&&Garnish.hasAttr(_,"data-layout-element-placeholder")||(S=$("",{class:"hidden","data-layout-element":y.uid,"data-layout-element-placeholder":""}),_.length?_.replaceWith(S):S.appendTo(m),d=!0)}catch(t){v.e(t)}finally{v.f()}}}catch(t){f.e(t)}finally{f.f()}return(x=r.$contentContainer.children("[data-layout-tab]").not(h).not('[data-layout-tab=""]')).length&&(x.remove(),d=!0),h.filter(":not(.hidden)").length||h.first().removeClass("hidden"),r.settings.visibleLayoutElements=u,(null!==(o=r.settings.updateTabs)&&void 0!==o?o:r.isFullPage?function(t){return Craft.cp.updateTabs(t)}:function(){})(n.data.tabs),e&&c&&e!==c&&(T=r.tabManager)&&((I=T.$tabs.filter('[data-id="'.concat(c,'"]'))).length?T.selectTab(I):T.selectTab(T.$tabs.first())),a.next=16,Craft.appendHeadHtml(n.data.headHtml);case 16:return a.next=18,Craft.appendBodyHtml(n.data.bodyHtml);case 18:d&&(n.data.initialDeltaValues&&Object.assign(r.$container.data("initial-delta-values"),n.data.initialDeltaValues),l&&(r.lastSerializedValue=r.serializeForm(!0))),r.handleDismissibleTips();case 20:case"end":return a.stop()}}),s)})))()},afterUpdate:function(t){this.$container.data("initialSerializedValue",t),this.$container.data("initial-delta-values",{});var e=this.statusIcons().velocity("stop").css("opacity","").removeClass("hidden").addClass("checkmark-icon");this.setStatusMessage(this._saveSuccessMessage()),this.settings.autosaveDrafts||e.velocity("stop").velocity({opacity:0},{delay:2e3,complete:function(){e.addClass("hidden")}}),this.trigger("update"),this.settings.isProvisionalDraft&&Craft.broadcaster&&Craft.broadcaster.postMessage({event:"saveElement",id:this.settings.canonicalId})},setStatusMessage:function(t){this.statusIcons().attr("title",t),this.statusMessage().empty().append($("",{class:"visually-hidden",text:t}))},showMetaModal:function(){var t=this;this.metaModal?this.metaModal.show():this.createMetaModal(),Garnish.isMobileBrowser(!0)||setTimeout((function(){t.$nameTextInput.trigger("focus")}),100)},createMetaModal:function(){var t=this,e=$("",{class:"modal fitted"}),n=$("",{class:"body"}).appendTo(e),i=$('