pacem 0.40.1 → 0.40.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/dist/css/pacem-dark-content.min.css +2 -2
  2. package/dist/css/pacem-dark-shell.min.css +2 -2
  3. package/dist/css/pacem-dark.min.css +2 -2
  4. package/dist/css/pacem-light-content.min.css +2 -2
  5. package/dist/css/pacem-light-shell.min.css +2 -2
  6. package/dist/css/pacem-light.min.css +2 -2
  7. package/dist/css/pacem-phousys-content.min.css +2 -2
  8. package/dist/css/pacem-phousys-shell.min.css +2 -2
  9. package/dist/css/pacem-phousys.min.css +2 -2
  10. package/dist/js/azure-maps.d.ts +2 -2
  11. package/dist/js/pacem-2d.d.ts +2 -2
  12. package/dist/js/pacem-2d.js +2 -2
  13. package/dist/js/pacem-2d.min.js +2 -2
  14. package/dist/js/pacem-3d.d.ts +2 -2
  15. package/dist/js/pacem-3d.js +2 -2
  16. package/dist/js/pacem-3d.min.js +2 -2
  17. package/dist/js/pacem-charts.d.ts +2 -2
  18. package/dist/js/pacem-charts.js +2 -2
  19. package/dist/js/pacem-charts.min.js +2 -2
  20. package/dist/js/pacem-cms.d.ts +2 -2
  21. package/dist/js/pacem-cms.js +2 -2
  22. package/dist/js/pacem-cms.min.js +2 -2
  23. package/dist/js/pacem-core.d.ts +2 -2
  24. package/dist/js/pacem-core.js +2 -2
  25. package/dist/js/pacem-core.min.js +2 -2
  26. package/dist/js/pacem-foundation.d.ts +2 -2
  27. package/dist/js/pacem-foundation.js +2 -2
  28. package/dist/js/pacem-foundation.min.js +2 -2
  29. package/dist/js/pacem-fx.d.ts +2 -2
  30. package/dist/js/pacem-fx.js +2 -2
  31. package/dist/js/pacem-fx.min.js +2 -2
  32. package/dist/js/pacem-logging.d.ts +2 -2
  33. package/dist/js/pacem-logging.js +2 -2
  34. package/dist/js/pacem-logging.min.js +2 -2
  35. package/dist/js/pacem-maps.d.ts +2 -2
  36. package/dist/js/pacem-maps.js +2 -2
  37. package/dist/js/pacem-maps.min.js +2 -2
  38. package/dist/js/pacem-media.d.ts +2 -2
  39. package/dist/js/pacem-media.js +2 -2
  40. package/dist/js/pacem-media.min.js +2 -2
  41. package/dist/js/pacem-networking.js +2 -2
  42. package/dist/js/pacem-networking.min.js +2 -2
  43. package/dist/js/pacem-numerical.d.ts +2 -2
  44. package/dist/js/pacem-numerical.js +2 -2
  45. package/dist/js/pacem-numerical.min.js +2 -2
  46. package/dist/js/pacem-plus.d.ts +2 -2
  47. package/dist/js/pacem-plus.js +2 -2
  48. package/dist/js/pacem-plus.min.js +2 -2
  49. package/dist/js/pacem-scaffolding.d.ts +2 -2
  50. package/dist/js/pacem-scaffolding.js +2 -2
  51. package/dist/js/pacem-scaffolding.min.js +2 -2
  52. package/dist/js/pacem-ui.d.ts +2 -2
  53. package/dist/js/pacem-ui.js +2 -2
  54. package/dist/js/pacem-ui.min.js +2 -2
  55. package/dist/js/swagger-types.d.ts +2 -2
  56. package/package.json +2 -2
@@ -1,6 +1,6 @@
1
1
  /**
2
- * pacem v0.40.1 (https://js.pacem.it)
2
+ * pacem v0.40.2 (https://js.pacem.it)
3
3
  * Copyright 2023 Pacem (https://pacem.it)
4
- * Licensed under MIT
4
+ * Licensed under SEE LICENSE IN LICENSE
5
5
  */
6
6
  var Pacem,__awaiter=this&&this.__awaiter||function(e,t,r,a){return new(r||(r=Promise))((function(s,o){function i(e){try{l(a.next(e))}catch(e){o(e)}}function n(e){try{l(a.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(i,n)}l((a=a.apply(e,t||[])).next())}))},__decorate=this&&this.__decorate||function(e,t,r,a){var s,o=arguments.length,i=o<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,r):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,a);else for(var n=e.length-1;n>=0;n--)(s=e[n])&&(i=(o<3?s(i):o>3?s(t,r,i):s(t,r))||i);return o>3&&i&&Object.defineProperty(t,r,i),i};!function(e){!function(t){t.PermissionEditEventName="permissionedit";class PermissionEditEvent extends CustomEvent{constructor(e){super(t.PermissionEditEventName,{detail:e,cancelable:!1,bubbles:!0})}}t.PermissionEditEvent=PermissionEditEvent;t.Permissible=class Permissible{static canEdit(e,t){return this._canDoSomethingToResource(e,t,(e=>e.update))}static canRead(e,t){return this._canDoSomethingToResource(e,t,(e=>e.read))}static canAdd(e,t){return this._canDoSomethingToResource(e,t,(e=>e.create))}static canDelete(e,t){return this._canDoSomethingToResource(e,t,(e=>e.delete))}static canTranslate(e,t){return this._canDoSomethingToResource(e,t,(e=>e.translate))}static _canDoSomethingToResource(t,r,a){if(e.Utils.isNullOrEmpty(t)||e.Utils.isNull(r))return!1;var s=!0;if(r.permissions&&r.permissions.length>0){s=!1;for(let e of r.permissions)if(a(e)&&t[e.claimType]&&t[e.claimType].indexOf(e.claimValue)>=0)return!0}return s}}}(e.Cms||(e.Cms={}))}(Pacem||(Pacem={})),function(e){!function(t){!function(t){const r="pacem:metadatabag";t.SwaggerCmsParser=class SwaggerCmsParser{constructor(t=new e.Scaffolding.OpenApi.OpenApiParser){this._openApi=t,this._cachedMetadataUrls=[]}load(e,t){return __awaiter(this,void 0,void 0,(function*(){let a=yield this._openApi.load(e,t);if(null!=a){a[r]={};for(let e of a.endpoints)yield this._enrichSchemas(a,e,t)}return a}))}_enrichSchemas(e,t,r){return __awaiter(this,void 0,void 0,(function*(){const a=t.response;a&&a.meta&&(a.fields=yield this._fetchMetadata(e,{name:a.fullType,schema:a.meta},r));const s=t.parameters;for(let t of s||[])if(t.meta&&t.fullType){let a=yield this._fetchMetadata(e,{name:t.fullType,schema:t.meta},r);t.fields=a}}))}clearCache(){const e=this.cache,t=this._cachedMetadataUrls;if(e){for(let r of t)e.removeProperty(r);t.splice(0)}}_fetchMetadata(t,a,s){return __awaiter(this,void 0,void 0,(function*(){let o=a=>__awaiter(this,void 0,void 0,(function*(){let i=[];if(a&&a.name){if(t[r][a.name])return t[r][a.name];t[r][a.name]=i;let n,l={props:[]};if(!/^https?:\/\//.test(a.name))return void console.warn("Swagger entity definition keys must appear in form of absolute url. Their response to a GET request needs to be the entity metadata itself.\nNo other options are currently supported.");if(n=a.name,n){let e=()=>__awaiter(this,void 0,void 0,(function*(){let e=yield fetch(n,{credentials:"omit",mode:"cors",headers:s});if(e.ok)return yield e.json()}));this.cache?(l=this.cache.getPropertyValue(n),l||(l=yield e(),this._cachedMetadataUrls.push(n),this.cache.setPropertyValue(n,l,!1))):l=yield e()}let c=a.schema;for(let a in c.properties){let s=c.properties[a],n=l&&l.props.find((e=>e.prop===a)),d=Object.assign({prop:a,type:s.type||"text",props:void 0},n||{isReadOnly:!0});if(n){let a=s.items&&s.items.$ref||s.$ref;if(a){let s=e.Scaffolding.OpenApi.getOpenApiDefinition(t,a),i=s.name;t[r][i]?d.props=t[r][i]:d.props=yield o(s)}}i.push(d)}}return i}));return yield o(a)}))}}}(t.OpenApi||(t.OpenApi={}))}(e.Cms||(e.Cms={}))}(Pacem||(Pacem={})),function(e){!function(t){!function(t){t.Functions={dismiss:(...e)=>{for(let r of e||[])delete t.Functions[r]},handleExpressionValueChange:(t,r,a)=>{if("value"===t.detail.propertyName&&!e.Utils.isNull(a)){const s=t.detail.currentValue;if(a instanceof HTMLElement){let t=e.CustomElementUtils.camelToKebab(r);e.Utils.isNullOrEmpty(s)?a.removeAttribute(t):a.setAttribute(t,s.toString())}else a[r]=s}}},t.EXPRESSION_METADATA_TYPE=(t,r=":host",a=":host.entity")=>{const s={},o=t.metadata,i=e.Components.Cms.Functions,n=[];s.value=`{{ ${a} instanceof HTMLElement && ${a}.getAttribute('${e.CustomElementUtils.camelToKebab(o.prop)}') }}`,s["on-"+e.PropertyChangeEventName]=`Pacem.Components.Cms.Functions.handleExpressionValueChange($event, '${o.prop}', ${a})`,s.converter=`{{ Pacem.CustomElementUtils.getWatchedProperty(${a}, '${o.prop}').config.converter }}`;const l=e.P+"-expression";let c=o.extra||{};if(e.Utils.isNullOrEmpty(c.selector)||(s.selector=c.selector),!e.Utils.isNullOrEmpty(c.filter))switch(typeof c.filter){case"string":s.filter=`{{ (e) => e.constructor.name === "${c.filter}" || e.localName === "${c.filter.toLowerCase()}" }}`;break;case"function":const t="fn"+e.Utils.uniqueCode();i[t]=c.filter,s.filter=`{{ Pacem.Components.Cms.Functions.${t}, once }}`,n.push(t)}if("function"==typeof c.labeler){const t="fn"+e.Utils.uniqueCode();i[t]=c.labeler,s.labeler=`{{ Pacem.Components.Cms.Functions.${t}, once }}`,n.push(t)}return n.length>0&&(s["on-unload"]=`{{ Pacem.Components.Cms.Functions.dismiss('${n.join("','")}') }}`),{tagName:l,attrs:s}}}(t.Cms||(t.Cms={}))}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){!function(t){class PacemElementPickerElementBase extends e.Components.Scaffolding.PacemBaseElement{}__decorate([e.Watch({converter:e.PropertyConverters.String})],PacemElementPickerElementBase.prototype,"selector",void 0),__decorate([e.Watch({converter:e.PropertyConverters.Eval})],PacemElementPickerElementBase.prototype,"filter",void 0),__decorate([e.Watch({converter:e.PropertyConverters.Eval})],PacemElementPickerElementBase.prototype,"labeler",void 0),t.PacemElementPickerElementBase=PacemElementPickerElementBase;let r=class PacemElementPickerElement extends PacemElementPickerElementBase{get inputFields(){return[this._select]}toggleReadonlyView(e){this._select.readonly=e}onChange(t){return e.Utils.fromResult(this.value=this._select.value)}acceptValue(e){this._select.value=e}getViewValue(e){return this._select.viewValue}convertValueAttributeToProperty(t){return e.PropertyConverters.Element.convert(t)}viewActivatedCallback(){super.viewActivatedCallback(),this._databind()}propertyChangedCallback(e,t,r,a){if(super.propertyChangedCallback(e,t,r,a),!a)switch(e){case"selector":case"filter":case"labeler":this._databind()}}_databind(){const t=this.labeler||(e=>{let t=e.constructor.name;return e.id&&(t+="#"+e.id),t}),r=[];document.querySelectorAll(this.selector||"[pacem]").forEach(((a,s,o)=>{!e.Utils.isNull(this.filter)&&!0!==this.filter(a)||e.Utils.isNullOrEmpty(a.id)||r.push({element:a,label:t(a)})})),this._select.valueProperty="element",this._select.textProperty="label",this._select.datasource=r}};__decorate([e.ViewChild(e.P+"-select")],r.prototype,"_select",void 0),__decorate([e.Debounce(50)],r.prototype,"_databind",null),r=__decorate([e.CustomElement({tagName:e.P+"-element-picker",shadow:e.Defaults.USE_SHADOW_ROOT,template:`<${e.P}-select></${e.P}-select>`})],r),t.PacemElementPickerElement=r}(t.Cms||(t.Cms={}))}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){!function(r){let a;!function(e){e.Constant="const",e.PropertyReference="property",e.Expression="expr"}(a=r.ExpressionSource||(r.ExpressionSource={}));let s=class PacemExpressionElement extends r.PacemElementPickerElementBase{propertyChangedCallback(t,r,s,o){if(super.propertyChangedCallback(t,r,s,o),"converter"===t)this._setFeedbackText(this.value);else if(!o&&this._editing)switch(t){case"_source":if(s===a.PropertyReference)this._picker.focus();else this._editor.focus();break;case"_propRef":e.Utils.isNullOrEmpty(s)||(this._editor.focus(),this._editor.value="{{ #"+this._sourceRef.id+"."+s+" }}"),this.changeHandler(new Event("change"))}}get inputFields(){return[this._editor]}toggleReadonlyView(e){e&&(this._editing=!1)}setPristine(){super.setPristine(),this._editing=!1}onChange(t){return e.Utils.fromResult(this.value=this._editor.value)}acceptValue(e){this._view.textContent=e||"...",this._setFeedbackText(e),this._reverseStructure(),e!==this._editor.value&&(this._editor.value=e)}_setFeedbackText(t=this.value){const r=this.converter;e.CustomElementUtils.isBindingAttribute(t)||"function"!=typeof(r&&r.convert)?this._eval.setAttribute("text",t):this._eval.text=void 0===t?"<undefined>":r.convert(t)}getViewValue(e){return e}convertValueAttributeToProperty(e){return e}_reverseStructure(){let r=()=>{this._source=this._sourceRef=this._propRef=void 0},s=this.value;if(e.Utils.isNullOrEmpty(s))r();else if(e.CustomElementUtils.isBindingAttribute(s)){const r=e.CustomElementUtils.parseBindingAttribute(s,this).dependencies;if(e.Utils.isNullOrEmpty(r)||r.length>1||t.RepeaterItem.isRepeaterItem(r[0].element))this._source=a.Expression;else{const e=r[0];this._source=a.PropertyReference,this._sourceRef=document.querySelector("#"+e.element.id),this._propRef=e.path}}else this._source=a.Constant}};__decorate([e.Watch({emit:!1})],s.prototype,"converter",void 0),__decorate([e.Watch({converter:e.PropertyConverters.Boolean})],s.prototype,"_editing",void 0),__decorate([e.Watch({converter:e.PropertyConverters.String})],s.prototype,"_source",void 0),__decorate([e.Watch({converter:e.PropertyConverters.Element})],s.prototype,"_sourceRef",void 0),__decorate([e.Watch({converter:e.PropertyConverters.String})],s.prototype,"_propRef",void 0),__decorate([e.ViewChild(e.P+"-element-picker")],s.prototype,"_picker",void 0),__decorate([e.ViewChild(e.P+"-textarea")],s.prototype,"_editor",void 0),__decorate([e.ViewChild("span."+e.PCSS+"-viewfinder")],s.prototype,"_view",void 0),__decorate([e.ViewChild(e.P+"-text")],s.prototype,"_eval",void 0),__decorate([e.Debounce(50)],s.prototype,"_reverseStructure",null),s=__decorate([e.CustomElement({tagName:e.P+"-expression",shadow:e.Defaults.USE_SHADOW_ROOT,template:`<${e.P}-collapse class="${e.PCSS}-expression" collapse="{{ !:host._editing }}">\n <div class="expression-builder ${e.PCSS}-grid grid-tiny-rowgap grid-tiny-colgap ${e.PCSS}-pad pad-bottom-2">\n <div class="${e.PCSS}-cell">\n <${e.P}-select value="{{ :host._source, twoway }}" class="display-block">\n <${e.P}-data-item value="${a.Constant}" label="constant value"></${e.P}-data-item>\n <${e.P}-data-item value="${a.PropertyReference}" label="property reference"></${e.P}-data-item>\n <${e.P}-data-item value="${a.Expression}" label="complex expression"></${e.P}-data-item>\n </${e.P}-select>\n </div>\n\n <${e.P}-panel class="${e.PCSS}-cell cols-hd-6" hide="{{ :host._source !== '${a.PropertyReference}' }}">\n <${e.P}-element-picker value="{{ :host._sourceRef, twoway }}" selector="{{ :host.selector }}" filter="{{ :host.filter }}" labeler="{{ :host.labeler }}" class="display-block"></${e.P}-element-picker>\n </${e.P}-panel>\n <${e.P}-panel class="${e.PCSS}-cell cols-hd-6" hide="{{ :host._source !== '${a.PropertyReference}' }}">\n <${e.P}-property-picker value="{{ :host._propRef, twoway }}" disabled="{{ !:host._sourceRef }}" target="{{ :host._sourceRef }}" on-change="::_editor.focus()" class="display-block"></${e.P}-property-picker>\n </${e.P}-panel>\n\n <${e.P}-panel class="${e.PCSS}-cell">\n <${e.P}-textarea class="display-block" placeholder="{{ '{{ '+ (:host._source || '') +'... }}' }}" change-policy="${e.Components.Scaffolding.ChangePolicy.Blur}"></${e.P}-textarea>\n </${e.P}-panel>\n </div>\n</${e.P}-collapse>\n<div class="${e.PCSS}-fieldset">\n <div class="fieldset-left">\n <div class="${e.PCSS}-fieldgroup ${e.PCSS}-viewfinder">\n <div class="text-truncate ${e.PCSS}-pad pad-x-1"><span class="${e.PCSS}-viewfinder text-tech">{{ :host.value || '...' }}</span></div>\n <${e.P}-panel class="fieldgroup-prepend">\n <${e.P}-button class="flat edit ${e.PCSS}-pad pad-left-1" on-click=":host._editing = !:host._editing" hide="{{ :host.readonly }}"></${e.P}-button>\n </${e.P}-panel>\n <${e.P}-panel class="fieldgroup-append text-tech display-flex flex-middle flex-nowrap" hide="{{ $pacem.isNullOrEmpty(:host.value) }}">\n <i class="${e.PCSS}-icon text-primary">keyboard_arrow_right</i>\n <${e.P}-text text="?" class="bg-primary ${e.PCSS}-pad pad-left-1 pad-right-1 ${e.PCSS}-margin margin-right-1 text-truncate" eval></${e.P}-text>\n </${e.P}-panel>\n </div>\n </div>\n</div>`})],s),r.PacemExpressionElement=s}(t.Cms||(t.Cms={}))}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){!function(r){const a={props:[{prop:"permissions",type:"array",display:{name:"Permissions"},props:{display:{cssClass:[e.PCSS+"-cell",e.PCSS+"-grid","grid-novgap","grid-tiny-colgap","grid-nospace"],name:"Permission"},props:Array.prototype.concat.apply([{prop:"claimType",type:"string",display:{cssClass:[e.PCSS+"-cell","cols-hd-4","cols-lg-6","field-stretch","field-minimal"],name:"Claim type"},validators:[{type:"required",errorMessage:"!"}]},{prop:"claimValue",type:"string",display:{cssClass:[e.PCSS+"-cell","cols-hd-4","cols-lg-6","field-stretch","field-minimal"],name:"Claim value"},validators:[{type:"required",errorMessage:"!"}]}],["read","update","create","delete"].map(((t,r)=>({prop:t,type:"boolean",display:{cssClass:[e.PCSS+"-cell","cols-hd-1","cols-3","field-minimal",e.PCSS+"-pad pad-left-2"],name:t.charAt(0).toUpperCase()+t.substr(1)}}))))}}]};function s(t){t.display=t.display||{name:t.prop,cssClass:[]};(t.display.cssClass=t.display.cssClass||[]).push(e.PCSS+"-cell")}r.DEFAULT_METADATA={display:{name:"Widget",cssClass:[e.PCSS+"-grid","grid-novgap","grid-tiny-colgap","grid-nospace"]},props:[{prop:"tag",type:"string",display:{name:"Tag",cssClass:[e.PCSS+"-cell"]}}]},r.gridifyMetadata=function(t){var a=t&&t.props||[],o=t&&t.display||{name:"Element"};if(!e.Utils.isNull(o)){const e=o.cssClass=o.cssClass||[];Array.prototype.push.apply(e,r.DEFAULT_METADATA.display.cssClass)}return a.forEach(s),{display:o,props:a}},r.buildWidgetMetadata=function(t){var a=e.Utils.extend({},r.DEFAULT_METADATA.display,t&&t.display||{}),o=e.Utils.clone(r.DEFAULT_METADATA.props);return Array.prototype.push.apply(o,(t&&t.props||[]).filter((e=>"tag"!==e.prop&&(s(e),!0)))),{display:a,props:o}};const o=e.PCSS+"-widget";r.EXPRESSION_WIDGET_METADATA_EXTRA={selector:"."+o,labeler:t=>e.Utils.isNullOrEmpty(t.tag)?(t.metadata&&t.metadata.display&&t.metadata.display.name||"")+"#"+t.id:t.tag};r.Widget=class Widget{static findAll(t){return e.CustomElementUtils.findAll("."+o,(r=>r instanceof PacemWidgetElement&&!e.Utils.isNullOrEmpty(r.id)&&(e.Utils.isNull(t)||t(r))))}};let i=class PacemWidgetToolbarElement extends t.PacemElement{get editButton(){return this._btnEdit}get permissionsButton(){return this._btnPerms}get removeButton(){return this._btnRemove}_edit(e){const t=this._proxy.dom.find((e=>"core"in e.attributes));t.open(this.target,!0),t.metadata=this.target.metadata,this._popoutJustInCase()}_editPermissions(e){const t=this._proxy.dom.find((e=>"permissions"in e.attributes));t.open(this.target),t.metadata=this.target.permissionMetadata,this._popoutJustInCase()}_popoutJustInCase(){const t=e.CustomElementUtils.findAncestorOfType(this,e.Components.UI.PacemBalloonElement);e.Utils.isNullOrEmpty(t)||t.popout()}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Element})],i.prototype,"target",void 0),__decorate([e.ViewChild(".buttons > div")],i.prototype,"_toolbar",void 0),__decorate([e.ViewChild(e.P+"-button[edit]")],i.prototype,"_btnEdit",void 0),__decorate([e.ViewChild(e.P+"-button[permissions]")],i.prototype,"_btnPerms",void 0),__decorate([e.ViewChild(e.P+"-button[remove]")],i.prototype,"_btnRemove",void 0),__decorate([e.ViewChild(e.P+"-shell-proxy")],i.prototype,"_proxy",void 0),i=__decorate([e.CustomElement({tagName:e.P+"-widget-toolbar",shadow:e.Defaults.USE_SHADOW_ROOT,template:`<${e.P}-span class="toolbar-text" content="{{ '<i class=&quot;${e.PCSS}-icon&quot;>'+ (::target.metadata && ::target.metadata.display && ::target.metadata.display.icon || 'widgets') +'</i> '+ (::target.tag || (::target.metadata && ::target.metadata.display && ::target.metadata.display.name || ::target.localName) +'#'+ ::target.id) }}"></${e.P}-span>\n<div class="buttons ${e.PCSS}-buttonset ${e.PCSS}-pad ${e.PCSS}-margin pad-0 margin-left-2">\n <div class="buttonset-left">\n <${e.P}-button edit class="button edit" on-click=":host._edit($event)"></${e.P}-button>\n <${e.P}-button permissions class="button" on-click=":host._editPermissions($event)" css-class="{{ {'button-success': ::target.permissions.length > 0} }}" icon-glyph="verified_user"></${e.P}-button>\n <${e.P}-button remove class="button button-danger delete"></${e.P}-button>\n </div>\n<div>\n<${e.P}-shell-proxy>\n <${e.P}-modal-form core></${e.P}-modal-form>\n <${e.P}-modal-form permissions></${e.P}-modal-form>\n</${e.P}-shell-proxy>`})],i),r.PacemWidgetToolbarElement=i;class PacemWidgetElement extends t.PacemElement{constructor(e,t="widget"){super(t),this.permissionMetadata=a,this.metadata=e}connectedCallback(){super.connectedCallback(),e.Utils.isNullOrEmpty(this.id)&&(this.id="wdg"+e.Utils.uniqueCode()),e.Utils.addClass(this,o)}propertyChangedCallback(t,r,a,s){switch(super.propertyChangedCallback(t,r,a,s),t){case"editable":a?this.isReady&&this._ensureBalloon():this._disposeBalloon();break;case"editing":e.Utils.isNull(this._balloon)||(this._balloon.disabled=!a),(a?e.Utils.addClass:e.Utils.removeClass).apply(this,[this,"widget-"+t]);break;case"metadata":this._assignIcon(a)}}viewActivatedCallback(){super.viewActivatedCallback(),this._assignIcon(),this._ensureBalloon()}disconnectedCallback(){super.disconnectedCallback()}_assignIcon(e=this.metadata){this.dataset.icon=e&&e.display&&e.display.icon||"widgets"}_ensureBalloon(){if(e.Utils.isNull(this._balloon)){const r=this._balloon=document.createElement(e.P+"-balloon");r.target=this,r.disabled=!this.editing,r.options={behavior:t.UI.BalloonBehavior.Menu,trigger:t.UI.BalloonTrigger.Hover},r.innerHTML=`<${e.P}-widget-toolbar target="{{ #${this.id} }}"><${e.P}-widget-toolbar>`,e.CustomElementUtils.findAncestorShell(this).appendChild(r)}}_disposeBalloon(){e.Utils.isNull(this._balloon)||(this._balloon.remove(),this._balloon=null)}}__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Boolean})],PacemWidgetElement.prototype,"editing",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Boolean})],PacemWidgetElement.prototype,"editable",void 0),__decorate([e.Watch({emit:!0,reflectBack:!0,converter:e.PropertyConverters.String})],PacemWidgetElement.prototype,"tag",void 0),__decorate([e.Watch({emit:!1,reflectBack:!0,converter:e.PropertyConverters.Json})],PacemWidgetElement.prototype,"permissions",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Json})],PacemWidgetElement.prototype,"metadata",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Json})],PacemWidgetElement.prototype,"permissionMetadata",void 0),r.PacemWidgetElement=PacemWidgetElement}(t.Cms||(t.Cms={}))}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){!function(t){t.FETCH_CREDENTIALS_METADATA={prop:"fetchCredentials",type:"string",dataType:"enumeration",display:{name:"Fetch Credentials"},extra:{enum:["same-origin","omit","include"]}},t.ACCESS_TOKEN_METADATA={prop:"accessToken",type:t.EXPRESSION_METADATA_TYPE,display:{name:"Access Token"},extra:e.Utils.extend({},t.EXPRESSION_WIDGET_METADATA_EXTRA,{filter:e=>e instanceof t.PacemWidgetDataElement||e instanceof t.PacemWidgetFetchElement})};class PacemBearerWidgetElement extends t.PacemWidgetElement{constructor(){super(...arguments),this.fetchCredentials="same-origin"}propertyChangedCallback(t,r,a,s){super.propertyChangedCallback(t,r,a,s),"accessToken"===t&&(e.Utils.isNullOrEmpty(a)?this.fetchHeaders={}:this.fetchHeaders={Authorization:"Bearer "+a})}}__decorate([e.Watch({emit:!1,reflectBack:!0,converter:e.PropertyConverters.String})],PacemBearerWidgetElement.prototype,"fetchCredentials",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Json})],PacemBearerWidgetElement.prototype,"fetchHeaders",void 0),__decorate([e.Watch({emit:!1,reflectBack:!0,converter:e.PropertyConverters.String})],PacemBearerWidgetElement.prototype,"accessToken",void 0),__decorate([e.Watch({converter:e.PropertyConverters.Boolean})],PacemBearerWidgetElement.prototype,"fetching",void 0),t.PacemBearerWidgetElement=PacemBearerWidgetElement}(t.Cms||(t.Cms={}))}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){!function(t){const r={display:{icon:"cloud_circle",name:"Api Manifest",description:"OpenApi parser for WebApi scaffolding."},props:[{prop:"url",type:"text",display:{name:"Url",description:"Insert the url of the OpenApi json configuration.",cssClass:["cols-lg-8"],watermark:"https://domain.com/swagger/v1/swagger.json"},extra:{tooltip:!0},validators:[{type:"required",errorMessage:"Url field is required."}]},{prop:"usecache",type:"boolean",display:{name:"Cache results",description:"Whether to cache the manifest per-url.",cssClass:["cols-lg-4"],ui:"switcher"},extra:{tooltip:!0}},t.ACCESS_TOKEN_METADATA]};let a=class PacemWidgetApiManifestElement extends t.PacemBearerWidgetElement{constructor(a=new e.Cms.OpenApi.SwaggerCmsParser,s=new e.Storage){super(t.buildWidgetMetadata(r)),this._openapi=a,this._cache=s}propertyChangedCallback(e,t,r,a){switch(super.propertyChangedCallback(e,t,r,a),e){case"url":case"editing":case"editable":this._scaffold();break;case"usecache":this._openapi.cache=r?this._cache:null}}viewActivatedCallback(){super.viewActivatedCallback(),this.usecache&&(this._openapi.cache=this._cache),this._scaffold()}_scaffold(){this.editing&&this.editable&&!e.Utils.isNullOrEmpty(this.url)&&(this.fetching=!0,this._openapi.load(this.url).then((e=>{this.manifest=e,this.fetching=!1}),(e=>{this.fetching=!1})))}};__decorate([e.Watch({emit:!1,reflectBack:!0,converter:e.PropertyConverters.String})],a.prototype,"url",void 0),__decorate([e.Watch({emit:!1,reflectBack:!0,converter:e.PropertyConverters.Boolean})],a.prototype,"usecache",void 0),__decorate([e.Watch({converter:e.PropertyConverters.Json})],a.prototype,"manifest",void 0),a=__decorate([e.CustomElement({tagName:e.P+"-widget-apimanifest"})],a),t.PacemWidgetApiManifestElement=a}(t.Cms||(t.Cms={}))}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){!function(t){const r={display:{icon:"timer",name:"Clock",description:"Timer widget."},props:[{prop:"interval",type:t.EXPRESSION_METADATA_TYPE,display:{name:"Interval (msec)"},extra:{selector:"."+e.PCSS+"-widget",step:1e3},validators:[{type:"range",errorMessage:"Negative numbers not allowed",params:{min:0}}]}]};let a=class PacemWidgetClockElement extends t.PacemWidgetElement{constructor(){super(t.buildWidgetMetadata(r)),this.interval=0}};__decorate([e.Watch({reflectBack:!0,converter:e.PropertyConverters.Number})],a.prototype,"interval",void 0),__decorate([e.Watch({converter:e.PropertyConverters.Number})],a.prototype,"time",void 0),a=__decorate([e.CustomElement({tagName:e.P+"-widget-clock",template:`<${e.P}-timer interval="{{ :host.interval }}" on-tick="{{ :host.time = Date.now() }}"></${e.P}-timer>`})],a),t.PacemWidgetClockElement=a}(t.Cms||(t.Cms={}))}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){!function(t){const r={display:{icon:"storage",name:"Data",description:"Data object widget."},props:[{prop:"model",type:t.EXPRESSION_METADATA_TYPE,display:{name:"Model"},extra:{selector:"."+e.PCSS+"-widget"}}]};let a=class PacemWidgetDataElement extends t.PacemWidgetElement{constructor(){super(t.buildWidgetMetadata(r))}};__decorate([e.Watch({reflectBack:!0,converter:e.PropertyConverters.Json})],a.prototype,"model",void 0),a=__decorate([e.CustomElement({tagName:e.P+"-widget-data"})],a),t.PacemWidgetDataElement=a}(t.Cms||(t.Cms={}))}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){!function(r){const a={props:[{prop:"name",type:"string",isReadOnly:!0,display:{name:"Name",cssClass:["cols-md-4","cols-lg-3","cols-hd-2"]}},{prop:"value",type:r.EXPRESSION_METADATA_TYPE,display:{name:"Value",cssClass:["cols-md-8","cols-lg-9","cols-hd-10"]}}]},s={display:{icon:"wifi",name:"Api Fetcher",description:"Fetching widget that retrieves data from a REST endpoint."},props:[{prop:"manifest",type:r.EXPRESSION_METADATA_TYPE,isComplexType:!0,display:{name:"Api Manifest"},extra:{selector:e.P+"-widget-apimanifest"},validators:[{type:"required",errorMessage:"Api Manifest is a required field."}]},{prop:"endpoint",type:"object",isComplexType:!0,display:{name:"Endpoint",ui:"oneToMany"},validators:[{type:"required",errorMessage:"Api Manifest is a required field."}],extra:{source:t=>t.endpoints.map((t=>e.Utils.extend(t,{fullPath:`[${t.method.toUpperCase()}] ${t.path}`}))).sort(),textProperty:"fullPath",valueProperty:"fullPath",dependsOn:[{prop:"manifest",hide:!0}]}},{prop:"parameters",type:"array",display:{name:"Parameters"},props:r.gridifyMetadata(a),extra:{lockItems:!0,dependsOn:[{prop:"endpoint",hide:!0}]}},r.ACCESS_TOKEN_METADATA]},o=e.P+"-widget-fetch-parameter";let i=class PacemWidgetFetchParameterElement extends t.PacemEventTarget{propertyChangedCallback(t,r,a,s){super.propertyChangedCallback(t,r,a.first),"value"!==t||e.Utils.isNull(this._fetcher)||this._fetcher.fetch()}viewActivatedCallback(){super.viewActivatedCallback();this._fetcher=e.CustomElementUtils.findAncestorOfType(this,n);e.Utils.isNull(this._fetcher)||e.Utils.isNull(this.value)||this._fetcher.fetch()}};__decorate([e.Watch({reflectBack:!0,converter:e.PropertyConverters.Boolean})],i.prototype,"required",void 0),__decorate([e.Watch({reflectBack:!0,converter:e.PropertyConverters.String})],i.prototype,"name",void 0),__decorate([e.Watch({reflectBack:!0,converter:e.PropertyConverters.String})],i.prototype,"value",void 0),i=__decorate([e.CustomElement({tagName:o})],i),r.PacemWidgetFetchParameterElement=i;let n=class PacemWidgetFetchElement extends r.PacemBearerWidgetElement{constructor(){super(r.buildWidgetMetadata(s)),this._onerror=e=>{this.failure=!(this.success=!1)},this._onsuccess=e=>{this.failure=!(this.success=!0)},this._onresult=e=>{this.result=e.detail}}get _parameters(){return Array.from(this._itemsElement.children).filter((e=>e.localName===o))}fetch(){const t=this._fetcher,r=this._parameters||[],a=this.endpoint;if(!e.Utils.isNull(a))for(let t of a.parameters)if(t.required&&e.Utils.isNull(r.find((e=>e.name===t.name))))return;const s={};for(let t of r)if(e.Utils.isNullOrEmpty(t.value)){if(t.required)return}else s[t.name]=t.value;return t.url=this.url,t.method=this.method,t.credentials=this.fetchCredentials,t.headers=this.fetchHeaders,t.parameters=s,t.fetch()}viewActivatedCallback(){super.viewActivatedCallback(),this.fetch()}propertyChangedCallback(t,r,a,s){if(super.propertyChangedCallback(t,r,a,s),"endpoint"!==t||e.Utils.isNullOrEmpty(a))switch(t){case"parameters":case"fetchHeaders":case"fetchCredentials":case"url":case"method":this.fetch()}else this._mergeEndpoint(a)}_mergeEndpoint(t=this.endpoint){this.url=this.manifest.baseUrl+t.path,this.method=t.method,this.fields=t.response.fields;const r=this._itemsElement,a=this._parameters;for(let r=a.length-1;r>=0;r--){let s=a[r],o=t.parameters.find((e=>e.name===s.name));e.Utils.isNull(o)&&s.remove()}for(let s of t.parameters){let t=a.find((e=>e.name===s.name));if(e.Utils.isNull(t)){let e=t=document.createElement(o);e.name=s.name,r.appendChild(e)}t.required=s.required}this.parameters=a}};__decorate([e.Watch({reflectBack:!0,emit:!0,converter:e.PropertyConverters.Json})],n.prototype,"manifest",void 0),__decorate([e.Watch({reflectBack:!0,emit:!0,converter:e.PropertyConverters.Json})],n.prototype,"endpoint",void 0),__decorate([e.Watch({reflectBack:!0,emit:!1,converter:e.PropertyConverters.String})],n.prototype,"url",void 0),__decorate([e.Watch({reflectBack:!0,emit:!1,converter:e.PropertyConverters.String})],n.prototype,"method",void 0),__decorate([e.Watch({reflectBack:!0,emit:!1,converter:e.PropertyConverters.Json})],n.prototype,"fields",void 0),__decorate([e.Watch()],n.prototype,"parameters",void 0),__decorate([e.Watch()],n.prototype,"result",void 0),__decorate([e.Watch({converter:e.PropertyConverters.Boolean})],n.prototype,"fetching",void 0),__decorate([e.Watch({converter:e.PropertyConverters.Boolean})],n.prototype,"success",void 0),__decorate([e.Watch({converter:e.PropertyConverters.Boolean})],n.prototype,"failure",void 0),__decorate([e.ViewChild(e.P+"-fetch")],n.prototype,"_fetcher",void 0),__decorate([e.ViewChild("div[hidden]")],n.prototype,"_itemsElement",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-widget-fetch",shadow:e.Defaults.USE_SHADOW_ROOT,template:`<${e.P}-fetch autofetch="false" fetching="{{ :host.fetching, twoway }}" debounce="100"\non-${e.Net.FetchResultEventName}=":host._onresult($event)" on-${e.Net.FetchErrorEventName}=":host._onerror($event)" on-${e.Net.FetchSuccessEventName}=":host._onsuccess($event)"></${e.P}-fetch><div hidden><${e.P}-content></${e.P}-content></div>`})],n),r.PacemWidgetFetchElement=n}(t.Cms||(t.Cms={}))}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){!function(t){let r=class PacemWidgetTranslatorElement extends t.PacemWidgetElement{};r=__decorate([e.CustomElement({tagName:e.P+"-widget-translator"})],r),t.PacemWidgetTranslatorElement=r}(t.Cms||(t.Cms={}))}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){!function(r){r.DATACOLUMNS_METADATA_TYPE=(t,r=":host",a=":host.entity")=>{const s={},o=t.metadata,i=e.Components.Cms.Functions,n=[];s.properties=`{{ Pacem.CustomElementUtils.getWatchedProperty(${a}, '${o.prop}').config.converter }}`;const l=e.P+"-datacolumns";let c=o.extra||{};if(!e.Utils.isNullOrEmpty(c.properties))switch(typeof c.properties){case"string":s.properties=`{{ ${a}.${c.properties} }}`;break;case"function":const t="fn"+e.Utils.uniqueCode();i[t]=c.properties,s.properties=`{{ Pacem.Components.Cms.Functions.${t}(${r}), once }}`,n.push(t)}return n.length>0&&(s["on-unload"]=`{{ Pacem.Components.Cms.Functions.dismiss('${n.join("','")}') }}`),{tagName:l,attrs:s}};const a={display:{name:"Columns"},props:[{prop:"header",type:"string",display:{cssClass:["form-minimal"],name:"Header"}},{prop:"content",type:r.EXPRESSION_METADATA_TYPE,display:{name:"Content"},extra:r.EXPRESSION_WIDGET_METADATA_EXTRA}]};let s=class PacemDataColumnElement extends t.PacemElement{propertyChangedCallback(e,t,r,a){switch(super.propertyChangedCallback(e,t,r,a),e){case"content":this.contentExpression=r;break;case"contentExpression":this.setAttribute("content",r||"")}}viewActivatedCallback(){super.viewActivatedCallback(),this._form.entity=this,this._form.metadata=r.gridifyMetadata(a)}};__decorate([e.Watch({converter:e.PropertyConverters.String})],s.prototype,"header",void 0),__decorate([e.Watch({converter:e.PropertyConverters.String})],s.prototype,"content",void 0),__decorate([e.Watch({converter:e.PropertyConverters.String})],s.prototype,"contentExpression",void 0),__decorate([e.ViewChild(e.P+"-form")],s.prototype,"_form",void 0),s=__decorate([e.CustomElement({tagName:e.P+"-widget-datacolumn",shadow:e.Defaults.USE_SHADOW_ROOT,template:`<${e.P}-form class="panel-body" autogenerate="true"></${e.P}-form>`})],s),r.PacemDataColumnElement=s;let o=class PacemDataColumnsElement extends e.Components.Scaffolding.PacemBaseElement{constructor(){super(...arguments),this._dropHandler=e=>{this.changeHandler(e)},this._columnifyMetadata=(e=this.properties)=>(e||[]).map((e=>{var t,r;return{header:"function"==typeof(null===(t=e.display)||void 0===t?void 0:t.name)?e.prop:(null===(r=e.display)||void 0===r?void 0:r.name)||e.prop,content:`{{ ^item.${e.prop} }}`}})).sort(((e,t)=>e.header>t.header?1:-1))}get inputFields(){return[]}toggleReadonlyView(e){}onChange(t){return e.Utils.fromResult(this.value=this._repeater.datasource)}acceptValue(t){e.Utils.isNull(this._repeater)||(this._repeater.datasource=e.Utils.clone(t||[]))}getViewValue(e){return"[DataColumns]"}convertValueAttributeToProperty(t){return e.PropertyConverters.Json.convert(t,this)}viewActivatedCallback(){super.viewActivatedCallback(),this._propDragger.addEventListener(e.UI.DragDropEventType.End,this._dropHandler,!1),this._colDragger.addEventListener(e.UI.DragDropEventType.End,this._dropHandler,!1)}disconnectedCallback(){e.Utils.isNull(this._propDragger)||this._propDragger.removeEventListener(e.UI.DragDropEventType.End,this._dropHandler,!1),e.Utils.isNull(this._colDragger)||this._colDragger.removeEventListener(e.UI.DragDropEventType.End,this._dropHandler,!1),super.disconnectedCallback()}};__decorate([e.ViewChild(`${e.P}-repeater[columns]`)],o.prototype,"_repeater",void 0),__decorate([e.ViewChild(`${e.P}-drag-drop[properties]`)],o.prototype,"_propDragger",void 0),__decorate([e.ViewChild(`${e.P}-drag-drop[columns]`)],o.prototype,"_colDragger",void 0),__decorate([e.ViewChild("div[drop-target]")],o.prototype,"_dropTarget",void 0),__decorate([e.Watch({converter:e.PropertyConverters.Json})],o.prototype,"properties",void 0),o=__decorate([e.CustomElement({tagName:e.P+"-widget-datacolumns",shadow:e.Defaults.USE_SHADOW_ROOT,template:`<div class="${e.PCSS}-datacolumns">\n <div class="datacolumns-main display-flex flex-fill">\n\n <${e.P}-drag-drop mode="${e.UI.DragDataMode.Alias}" disabled="{{ :host.readonly }}" handle-selector="*[handle]"\n drop-behavior="${e.UI.DropBehavior.InsertChild}" drop-targets="{{ [::_dropTarget] }}" columns></${e.P}-drag-drop> \n <${e.P}-repeater class="display-flex flex-fill" columns> \n \x3c!-- columns --\x3e\n <div class="display-flex flex-nowrap" drop-target>\n <template>\n <${e.P}-panel behaviors="{{ [::_colDragger] }}">\n <div class="${e.PCSS}-panel panel-side-left side-auto">\n <div class="panel-side">\n <${e.P}-button class="display-block button-flat icon-glyph-small" icon-glyph="drag_indicator" handle></${e.P}-button>\n <${e.P}-button class="display-block button-flat icon-glyph-small" on-click=":host.value.splice(^index, 1)" icon-glyph="clear"></${e.P}-button>\n </div>\n <div class="panel-heading">\n <${e.P}-text text="{{ ^item.header }}"></${e.P}-text>\n </div>\n <${e.P}-widget-datacolumn class="panel-body" header="{{ ^item.header, twoway }}" content-expression="{{ ^item.content, twoway }}"></${e.P}-widget-datacolumn>\n </div>\n </${e.P}-panel>\n </template>\n </div>\n </${e.P}-repeater>\n\n </div>\n <${e.P}-panel class="datacolumns-props" hide="{{ :host.readonly }}">\n <${e.P}-drag-drop mode="${e.UI.DragDataMode.Copy}" disabled="{{ :host.readonly }}" handle-selector="*[handle]"\n drop-behavior="${e.UI.DropBehavior.InsertChild}" drop-targets="{{ [::_dropTarget] }}" properties></${e.P}-drag-drop>\n <${e.P}-repeater datasource="{{ :host._columnifyMetadata(:host.properties) }}">\n \x3c!-- properties --\x3e\n <template>\n <${e.P}-panel behaviors="{{ [::_propDragger] }}" class="${e.PCSS}-panel panel-side-left side-auto panel-primary panel-filled ${e.PCSS}-margin margin-bottom-1">\n <div class="panel-side">\n <${e.P}-button class="display-block button-flat icon-glyph-small" icon-glyph="drag_indicator" handle></${e.P}-button>\n </div>\n <div class="text-truncate panel-body">\n <${e.P}-span text="{{ ^item.header }}"></${e.P}-span>\n </div>\n </${e.P}-panel>\n </template>\n </${e.P}-repeater>\n </${e.P}-panel>\n</div>`})],o),r.PacemDataColumnsElement=o}(t.Cms||(t.Cms={}))}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){!function(t){class PacemUiWidgetElement extends t.PacemWidgetElement{constructor(e,t=1,r){super(e,r),this.colspan=t,this.rowspan=1}connectedCallback(){super.connectedCallback(),e.Utils.addClass(this,"ui-widget "+e.PCSS+"-cell cols-xs-start-1 cols-xs-12 rows-xs-start-auto")}propertyChangedCallback(t,r,a,s){switch(super.propertyChangedCallback(t,r,a,s),t){case"row":e.Utils.removeClass(this,`rows-start-${r+1}`),e.Utils.addClass(this,`rows-start-${a+1}`);break;case"rowspan":e.Utils.removeClass(this,`rows-${r}`),e.Utils.addClass(this,`rows-${a}`);break;case"column":e.Utils.removeClass(this,`cols-start-${r+1}`),e.Utils.addClass(this,`cols-start-${a+1}`);break;case"colspan":e.Utils.removeClass(this,`cols-${r}`),e.Utils.addClass(this,`cols-${a}`);break;case"borders":(this.borders?e.Utils.addClass:e.Utils.removeClass).apply(this,[this,e.PCSS+"-border"]);break;case"corners":(this.borders?e.Utils.addClass:e.Utils.removeClass).apply(this,[this,e.PCSS+"-corners"])}}get container(){return this._container}findContainer(){return e.CustomElementUtils.findAncestor(this,(e=>e instanceof PacemCompositeWidgetElement))}viewActivatedCallback(){super.viewActivatedCallback();let t=this._container=this.findContainer();e.Utils.isNull(t)||t.register(this)}disconnectedCallback(){e.Utils.isNull(this._container)||this._container.unregister(this),super.disconnectedCallback()}}__decorate([e.Watch({emit:!0,reflectBack:!0,converter:e.PropertyConverters.Number})],PacemUiWidgetElement.prototype,"column",void 0),__decorate([e.Watch({emit:!0,reflectBack:!0,converter:e.PropertyConverters.Number})],PacemUiWidgetElement.prototype,"row",void 0),__decorate([e.Watch({emit:!0,reflectBack:!0,converter:e.PropertyConverters.Number})],PacemUiWidgetElement.prototype,"colspan",void 0),__decorate([e.Watch({emit:!0,reflectBack:!0,converter:e.PropertyConverters.Number})],PacemUiWidgetElement.prototype,"rowspan",void 0),__decorate([e.Watch({emit:!0,reflectBack:!0,converter:e.PropertyConverters.Boolean})],PacemUiWidgetElement.prototype,"borders",void 0),__decorate([e.Watch({emit:!0,reflectBack:!0,converter:e.PropertyConverters.Boolean})],PacemUiWidgetElement.prototype,"corners",void 0),t.PacemUiWidgetElement=PacemUiWidgetElement,t.WidgetRegisterEventName="widgetregister",t.WidgetUnregisterEventName="widgetunregister",t.LayoutChangeEventName="layoutchange";class WidgetRegisterEvent extends CustomEvent{constructor(r,a){super(t.WidgetRegisterEventName,e.Utils.extend(a||{},{detail:r}))}}t.WidgetRegisterEvent=WidgetRegisterEvent;class WidgetUnregisterEvent extends CustomEvent{constructor(r,a){super(t.WidgetUnregisterEventName,e.Utils.extend(a||{},{detail:r}))}}t.WidgetUnregisterEvent=WidgetUnregisterEvent;class PacemCompositeWidgetElement extends PacemUiWidgetElement{get itemsElement(){return this}validate(e){return e instanceof PacemUiWidgetElement}viewActivatedCallback(){super.viewActivatedCallback(),e.Utils.addClass(this.itemsElement,e.PCSS+"-items-element")}appendItem(e){this.itemsElement.appendChild(e)}register(t){if(!this.validate(t))return this.log(e.Logging.LogLevel.Debug,`${t&&t.localName} element couldn't be registered in a ${this.localName} element.`),!1;let r=!1;const a=this.items=this.items||[];return e.Utils.isNullOrEmpty(a)?(this.items=[t],r=!0):-1===a.indexOf(t)&&(a.push(t),r=!0),r&&this.dispatchEvent(new WidgetRegisterEvent(t)),r}unregister(t){const r=this.items,a=!e.Utils.isNullOrEmpty(r)&&r.indexOf(t);if(a>=0){let e=r.splice(a,1);return this.dispatchEvent(new WidgetUnregisterEvent(e[0])),!0}return!1}}__decorate([e.Watch()],PacemCompositeWidgetElement.prototype,"items",void 0),t.PacemCompositeWidgetElement=PacemCompositeWidgetElement}(t.Cms||(t.Cms={}))}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){!function(t){const r=t.buildWidgetMetadata({display:{icon:"font_download",name:"Text",description:"Plain text widget."},props:[{prop:"text",type:t.EXPRESSION_METADATA_TYPE,display:{name:"Text"},extra:t.EXPRESSION_WIDGET_METADATA_EXTRA}]});let a=class PacemWidgetTextElement extends t.PacemUiWidgetElement{constructor(){super(r)}};__decorate([e.Watch({reflectBack:!0,converter:e.PropertyConverters.String})],a.prototype,"text",void 0),a=__decorate([e.CustomElement({tagName:e.P+"-widget-text",shadow:e.Defaults.USE_SHADOW_ROOT,template:`<${e.P}-text text="{{ :host.text }}"></${e.P}-text>`})],a),t.PacemWidgetTextElement=a}(t.Cms||(t.Cms={}))}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){!function(t){function r(){const e=document.createElementNS("http://www.w3.org/2000/svg","svg");return e.style.pointerEvents="none",e.style.zIndex="1000",e.setAttribute("height","100%"),e.setAttribute("width","100%"),e.setAttribute("preserveAspectRatio","none"),e.setAttribute("class","grid-cell-wrapper"),e.innerHTML='<rect class="grid-cell" width="100%" height="100%"></rect>',e}t.GRID_COLUMNS=12;const a=t.GRID_COLUMNS,s={display:{icon:"grid_on",name:"Grid",description:"Composition Widget that lays out child-widgets in a grid container."},props:[{prop:"rows",type:"int",display:{name:"Rows",cssClass:["cols-lg-4"]},validators:[{type:"required",errorMessage:""},{type:"range",errorMessage:"",params:{min:1,max:24}}]},{prop:"rowGap",type:"int",display:{name:"Row gap",cssClass:["cols-lg-4"]},validators:[{type:"range",errorMessage:"",params:{min:0,max:3,step:.25}}]},{prop:"columnGap",type:"int",display:{name:"Column gap",cssClass:["cols-lg-4"]},validators:[{type:"range",errorMessage:"",params:{min:0,max:3,step:.25}}]}]};let o=class PacemGridWidgetElement extends t.PacemCompositeWidgetElement{constructor(){super(t.buildWidgetMetadata(s),a,"grid"),this._widgetPropertyChange=e=>{if("row"===e.detail.propertyName||"rowspan"===e.detail.propertyName){const t=e.target;this.rows=Math.max(this.rows,t.row+t.rowspan)}},this._dragDropHandler=t=>{const r=t.detail,s=r.element;switch(t.type){case e.UI.DragDropEventType.Start:this._gridBoxes.forEach((e=>{e.style.pointerEvents="auto"})),this._initState={colspan:s.colspan,rowspan:s.rowspan,col:s.column,row:s.row};break;case e.UI.DragDropEventType.End:this._gridBoxes.forEach((e=>{e.style.pointerEvents="none"}));break;case e.UI.DragDropEventType.Over:var o=r.target,i=+o.style.gridColumnStart-1,n=+o.style.gridRowStart-1;const t=i+this._initState.colspan,l=n+this._initState.rowspan;if(!this._intersects(s,i,n,s.colspan,s.rowspan)){let e=!1;t<=(this.columns||a)&&(e=s.column!==i,s.column=i),l<=(this.rows||1)&&(e=e||s.row!==n,s.row=n)}}},this._resizeHandler=t=>{switch(t.type){case e.UI.RescaleEventType.Start:e.Utils.addClass(t.detail.element,e.PCSS+"-rescaling"),this._gridBoxes.forEach((e=>{e.style.pointerEvents="auto"}));break;case e.UI.RescaleEventType.End:this._gridBoxes.forEach((e=>{e.style.pointerEvents="none"})),e.Utils.removeClass(t.detail.element,e.PCSS+"-rescaling");break;case e.UI.RescaleEventType.Rescale:t.preventDefault();const s={x:t.clientX,y:t.clientY},o=t.detail.handle,i=document.elementsFromPoint(s.x,s.y).find((e=>this._dragDrop.dropTargets.indexOf(e)>=0));if(i){var r=+i.style.gridColumnStart,a=+i.style.gridRowStart;const e=t.detail.element,s=e.column+1,n=e.row+1,l=1+r-s,c=1+a-n;if(!this._intersects(e,e.column,e.row,l,c)){let t=!1;r>=s&&o.endsWith("right")&&(t=e.colspan!==l,e.colspan=l),a>=n&&o.startsWith("bottom")&&(t=t||e.rowspan!==c,e.rowspan=c)}}}},this._gridBoxes=[]}register(t){let r=super.register(t);if(r){const r=t.row||0,a=t.column||0,s=t.colspan||2,o=t.rowspan||1;let i=!this._intersects(t,a,r,s,o);if(i)t.row=r,t.column=a,t.colspan=s,t.rowspan=o;else{if(!i){let e=(e=!1)=>{let r=this.columns-1;e||(r=r-s+1);for(let e=0;e<this.rows;e++){for(let a=0;a<=r;a++)if(!this._intersects(t,a,e,s,o)){t.column=a,t.row=e,t.colspan=Math.min(r+1-a,s),t.rowspan=o,i=!0;break}if(i)break}};e(),!i&&s>1&&e(!0)}i||(this.rows++,t.row=this.rows-1,t.column=0)}t.behaviors=[this._dragDrop,this._rescaler],t.addEventListener(e.PropertyChangeEventName,this._widgetPropertyChange,!1)}return r}unregister(t){let r=super.unregister(t);if(r){t.removeEventListener(e.PropertyChangeEventName,this._widgetPropertyChange,!1);const r=t.behaviors.indexOf(this._dragDrop);r>=0&&t.behaviors.splice(r,1);const a=t.behaviors.indexOf(this._rescaler);a>=0&&t.behaviors.splice(a,1)}return r}_intersects(e,t,r,a,s){for(let o of this.items){let i=o;if(i!==e&&(i.column<t+a&&i.column+i.colspan>t&&i.row<r+s&&i.row+i.rowspan>r))return!0}return!1}connectedCallback(){super.connectedCallback(),e.Utils.addClass(this,e.PCSS+"-grid");let r=this._dragDrop=document.createElement(e.P+"-drag-drop"),a=document.createElement("div");document.body.appendChild(a),r.floater=a,r.mode=e.UI.DragDataMode.Alias,r.dropBehavior=e.UI.DropBehavior.None,r.addEventListener(e.UI.DragDropEventType.Start,this._dragDropHandler,!1),r.addEventListener(e.UI.DragDropEventType.Over,this._dragDropHandler,!1),r.addEventListener(e.UI.DragDropEventType.End,this._dragDropHandler,!1),document.body.appendChild(r);let s=this._rescaler=document.createElement(e.P+"-rescale");s.handles=[e.UI.RescaleHandle.Right,e.UI.RescaleHandle.Bottom],s.addEventListener(e.UI.RescaleEventType.Start,this._resizeHandler,!1),s.addEventListener(e.UI.RescaleEventType.Rescale,this._resizeHandler,!1),s.addEventListener(e.UI.RescaleEventType.End,this._resizeHandler,!1),document.body.appendChild(s),e.Utils.isNullOrEmpty(this.columns)&&(this.columns=t.GRID_COLUMNS),e.Utils.isNullOrEmpty(this.rows)&&(this.rows=1)}viewActivatedCallback(){super.viewActivatedCallback(),this.adapt()}propertyChangedCallback(e,t,r,a){super.propertyChangedCallback(e,t,r,a),this.adapt()}disconnectedCallback(){var t=this._dragDrop,r=this._rescaler;e.Utils.isNull(t)||(t.floater.remove(),t.removeEventListener(e.UI.DragDropEventType.Start,this._dragDropHandler,!1),t.removeEventListener(e.UI.DragDropEventType.Over,this._dragDropHandler,!1),t.removeEventListener(e.UI.DragDropEventType.End,this._dragDropHandler,!1),t.remove(),this._dragDrop=null),e.Utils.isNull(r)||(r.removeEventListener(e.UI.RescaleEventType.Start,this._resizeHandler,!1),r.removeEventListener(e.UI.RescaleEventType.Rescale,this._resizeHandler,!1),r.removeEventListener(e.UI.RescaleEventType.End,this._resizeHandler,!1),r.remove(),this._rescaler=null),super.disconnectedCallback()}_normalize(e,t=1){return"string"==typeof e?e:(null==e&&(e=t),this.unitPixels(e)+"px")}unitPixels(e){return e*(this.unit||8)}adapt(){this.style.marginTop=this.unitPixels(this.marginTop||0)+"px",this.style.marginBottom=this.unitPixels(this.marginBottom||0)+"px",this.style.gridTemplateColumns=`repeat(${this.columns||a}, 1fr)`;let e=this._normalize(this.minRowheight,3),t=this._normalize(this.rowheight||"auto");this.style.gridTemplateRows=`repeat(${this.rows||1}, minmax(${e}, ${t}))`,this.style.gridRowGap=this._normalize(this.rowGap,1),this.style.gridColumnGap=this._normalize(this.columnGap,1),this._setGridLines()}_setGridLines(){var t=0;const s=this.editing;if(s){const e=this.columns||a,s=e*(this.rows||1);t=s;for(let t=0;t<s;t++){for(;this._gridBoxes.length<=t;){let e=r();this.appendChild(e),this._gridBoxes.push(e)}let a=this._gridBoxes[t];const s=t%e,o=Math.floor(t/e);a.style.gridColumn=(s+1).toString(),a.style.gridRow=(o+1).toString()}}for(let e of this._gridBoxes.splice(t))e.remove();e.Utils.isNull(this._dragDrop)||e.Utils.isNull(this._rescaler)||(this._dragDrop.disabled=this._rescaler.disabled=!s,this._dragDrop.dropTargets=this._gridBoxes)}};__decorate([e.Watch({emit:!1,reflectBack:!0,converter:e.PropertyConverters.Number})],o.prototype,"unit",void 0),__decorate([e.Watch({emit:!1,reflectBack:!0,converter:e.PropertyConverters.Number})],o.prototype,"marginTop",void 0),__decorate([e.Watch({emit:!1,reflectBack:!0,converter:e.PropertyConverters.Number})],o.prototype,"marginBottom",void 0),__decorate([e.Watch({emit:!1,reflectBack:!0,converter:e.PropertyConverters.Number})],o.prototype,"columns",void 0),__decorate([e.Watch({emit:!1,reflectBack:!0,converter:e.PropertyConverters.Number})],o.prototype,"rows",void 0),__decorate([e.Watch({emit:!1,reflectBack:!0,converter:e.PropertyConverters.String})],o.prototype,"minRowheight",void 0),__decorate([e.Watch({emit:!1,reflectBack:!0,converter:e.PropertyConverters.String})],o.prototype,"rowheight",void 0),__decorate([e.Watch({emit:!1,reflectBack:!0,converter:e.PropertyConverters.Number})],o.prototype,"rowGap",void 0),__decorate([e.Watch({emit:!1,reflectBack:!0,converter:e.PropertyConverters.Number})],o.prototype,"columnGap",void 0),__decorate([e.Debounce(100)],o.prototype,"adapt",null),o=__decorate([e.CustomElement({tagName:e.P+"-widget-grid"})],o),t.PacemGridWidgetElement=o}(t.Cms||(t.Cms={}))}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){!function(t){let r=class PacemWidgetPickerElement extends t.PacemCompositeWidgetElement{register(e){const t=super.register(e);return t&&(e.hide=!0),t}};__decorate([e.ViewChild(e.P+"-drag-drop")],r.prototype,"_dragDrop",void 0),r=__decorate([e.CustomElement({tagName:e.P+"-widget-picker",shadow:e.Defaults.USE_SHADOW_ROOT,template:`<${e.P}-repeater datasource="{{ :host.items }}">\n <template>\n <${e.P}-panel behaviors="{{ [::_dragDrop] }}" class="${e.PCSS}-widget-itempicker display-flex flex-fill flex-middle flex-nowrap">\n <i class="${e.PCSS}-icon flex-auto" dragger>drag_indicator</i>\n <${e.P}-icon icon="{{ ^item.metadata.display.icon }}" class="flex-auto ${e.PCSS}-margin margin-x-1"></${e.P}-icon>\n <${e.P}-text text="{{ ^item.metadata.display.name }}"></${e.P}-text>\n </${e.P}-panel>\n </template>\n</${e.P}-repeater>\n<${e.P}-drag-drop handle-selector="i.${e.PCSS}-icon[dragger]"></${e.P}-drag-drop>\n<${e.P}-content></${e.P}-content>`})],r),t.PacemWidgetPickerElement=r}(t.Cms||(t.Cms={}))}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){!function(t){const r={display:{name:"DataColumn"},props:[{prop:"header",type:"string",display:{name:"Header"}},{prop:"content",type:t.EXPRESSION_METADATA_TYPE,display:{name:"Content"},extra:t.EXPRESSION_WIDGET_METADATA_EXTRA}]},a=t.buildWidgetMetadata({display:{icon:"table_chart",name:"DataGrid",description:"DataGrid widget."},props:[{prop:"datasource",type:t.EXPRESSION_METADATA_TYPE,display:{name:"Datasource"},extra:e.Utils.extend({},t.EXPRESSION_WIDGET_METADATA_EXTRA,{filter:e=>e instanceof t.PacemWidgetDataElement||e instanceof t.PacemWidgetFetchElement})},{prop:"columns",type:t.DATACOLUMNS_METADATA_TYPE,display:{name:"Columns"},extra:{properties:"datarowMetadata"},props:t.gridifyMetadata(r)}]});function s(t,r=[]){const{head:a,body:s}=function(t=[]){const r=document.createDocumentFragment(),a=document.createDocumentFragment();let s=1;for(let o of t){const t=document.createElement("div");t.classList.add(e.PCSS+"-headcell"),t.textContent=o.header,r.appendChild(t);const i=new e.Components.PacemSpanElement;i.classList.add(e.PCSS+"-datacell","datacell-corners"),i.style.gridColumn=s.toString(),i.setAttribute("css","{{ {'grid-row': ^index+2} }}"),i.setAttribute("content",o.content),a.appendChild(i),s++}const o=new e.Components.PacemPanelElement;return o.classList.add(e.PCSS+"-datarow"),o.setAttribute("css","{{ {'grid-row': ^index+2} }}"),o.setAttribute("css-class","{{ {'datarow-alt': ^index % 2 === 1} }}"),o.style.gridColumn="1/"+(t.length+1),a.appendChild(o),{head:r,body:a}}(r),o=document.createElement("div");o.appendChild(a);const i=document.createElement("div");return i.appendChild(s),`<${e.P}-repeater datasource="{{ #${t}.datasource }}">\n <div class="${e.PCSS}-datatable" style="grid-template-columns: ${function(e=[]){var t="";for(let r of e||[]){const e=r.width||1;t+="number"==typeof e?e+"fr ":"auto "}return t}(r)}">\n ${o.innerHTML}\n <template>${i.innerHTML}</template>\n</div></${e.P}-repeater>`}let o=class PacemWidgetDataGridElement extends t.PacemUiWidgetElement{constructor(){super(a),this.columns=[],this.datasource=[],this.datarowMetadata=[],this._builtUponDatasource=!1}_gridify(e=this.columns){var t="";for(let r of e||[]){const e=r.width||1;t+="number"==typeof e?e+"fr ":"auto "}return t}propertyChangedCallback(e,t,r,a){if(super.propertyChangedCallback(e,t,r,a),!a)switch(e){case"columns":this.innerHTML=s(this.id,r);break;case"datasource":this._extractMetadataJustInCase(r)}}viewActivatedCallback(){super.viewActivatedCallback(),this.innerHTML=s(this.id,this.columns)}_seekArray(t){if(e.Utils.isArray(t))return t;if("object"==typeof t)for(let r in t){const a=this._seekArray(t[r]);if(!e.Utils.isNull(a))return a}return null}_extractMetadataJustInCase(t=this.datasource){if((e.Utils.isNullOrEmpty(this.datarowMetadata)||this._builtUponDatasource)&&!e.Utils.isNullOrEmpty(t)){const r=this._seekArray(t);if(!e.Utils.isNullOrEmpty(r)){const e=[],t=r[0];for(let r in t)e.push({prop:r,type:typeof t[r]});this.datarowMetadata=e,this._builtUponDatasource=!0}}}};__decorate([e.Watch({reflectBack:!0,converter:e.PropertyConverters.Json})],o.prototype,"columns",void 0),__decorate([e.Watch({converter:e.PropertyConverters.Json})],o.prototype,"datasource",void 0),__decorate([e.Watch({converter:e.PropertyConverters.Json})],o.prototype,"datarowMetadata",void 0),__decorate([e.ViewChild(`.${e.PCSS}-datatable`)],o.prototype,"_datatable",void 0),__decorate([e.ViewChild("template")],o.prototype,"_template",void 0),__decorate([e.ViewChild(e.P+"-repeater")],o.prototype,"_repeater",void 0),o=__decorate([e.CustomElement({tagName:e.P+"-widget-datagrid"})],o),t.PacemWidgetDataGridElement=o}(t.Cms||(t.Cms={}))}(e.Components||(e.Components={}))}(Pacem||(Pacem={}));
@@ -1,7 +1,7 @@
1
1
  /**
2
- * pacem v0.40.1 (https://js.pacem.it)
2
+ * pacem v0.40.2 (https://js.pacem.it)
3
3
  * Copyright 2023 Pacem (https://pacem.it)
4
- * Licensed under MIT
4
+ * Licensed under SEE LICENSE IN LICENSE
5
5
  */
6
6
  /// <reference path="pacem-foundation.d.ts" />
7
7
  declare namespace Pacem {
@@ -1,7 +1,7 @@
1
1
  /**
2
- * pacem v0.40.1 (https://js.pacem.it)
2
+ * pacem v0.40.2 (https://js.pacem.it)
3
3
  * Copyright 2023 Pacem (https://pacem.it)
4
- * Licensed under MIT
4
+ * Licensed under SEE LICENSE IN LICENSE
5
5
  */
6
6
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
7
7
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
@@ -1,6 +1,6 @@
1
1
  /**
2
- * pacem v0.40.1 (https://js.pacem.it)
2
+ * pacem v0.40.2 (https://js.pacem.it)
3
3
  * Copyright 2023 Pacem (https://pacem.it)
4
- * Licensed under MIT
4
+ * Licensed under SEE LICENSE IN LICENSE
5
5
  */
6
6
  var __awaiter=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(s,i){function a(e){try{l(n.next(e))}catch(e){i(e)}}function o(e){try{l(n.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,o)}l((n=n.apply(e,t||[])).next())}))},__classPrivateFieldSet=this&&this.__classPrivateFieldSet||function(e,t,r,n,s){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!s)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!s:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?s.call(e,r):s?s.value=r:t.set(e,r),r},__classPrivateFieldGet=this&&this.__classPrivateFieldGet||function(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)},__decorate=this&&this.__decorate||function(e,t,r,n){var s,i=arguments.length,a=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(s=e[o])&&(a=(i<3?s(a):i>3?s(t,r,a):s(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem;!function(e){e.Type=Function,e.WATCH_PROPS_VAR="pacem:properties",e.INSTANCE_BINDINGS_VAR="pacem:custom-element:bindings",e.INSTANCE_HOST_VAR="pacem:custom-element:host",e.INSTANCE_SCOPE_VAR="pacem:custom-element:scope"}(Pacem||(Pacem={})),function(e){class DeferPromise{constructor(){this.deferred=null;var e=this;e.promise=new Promise((function(t,r){e.deferred={resolve:t,reject:r,promise:e}}))}then(e,t){return this.promise.then(e,t)}finally(e){return this.promise.then(e,e),this}success(e){return this.promise.then(e,null),this}error(e){return this.promise.then(null,e),this}static defer(){return(new DeferPromise).deferred}}e.DeferPromise=DeferPromise}(Pacem||(Pacem={})),function(e){class DeepCloner{constructor(){}static clone(e){return(new DeepCloner)._clone(e)}_clone(e){let t=new WeakMap;return function e(r){if("object"==typeof r&&null!==r&&!(r instanceof Element)){if(Array.isArray(r))return r.map(e);if(r instanceof Date)return new Date(r.valueOf());if(r instanceof RegExp)return new RegExp(r);if(t.has(r))return t.get(r);{let n=Object.assign({},r);return t.set(r,n),Object.keys(n).forEach((t=>{n[t]=e(r[t])})),n}}return r}(e)}}e.DeepCloner=DeepCloner}(Pacem||(Pacem={})),function(Pacem){const REF_ID="$refId";let JsonFunctionConversion;!function(e){e[e.Ignore=0]="Ignore",e.Reference="reference",e.Plain="plain"}(JsonFunctionConversion=Pacem.JsonFunctionConversion||(Pacem.JsonFunctionConversion={}));class JsonFnStore{static store(e){const t=this._jsonFnWeakMap;if(!t.has(e)){const r=Pacem.Utils.uniqueCode();t.set(e,r),this._jsonFnMap.set(r,e)}return t.get(e)}static retrieve(e){return this._jsonFnMap.get(e)}static remove(e){const t=this.retrieve(e);this._jsonFnMap.delete(e),this._jsonFnWeakMap.delete(t)}}JsonFnStore._jsonFnWeakMap=new WeakMap,JsonFnStore._jsonFnMap=new Map;class Json{constructor(e){this._options=e}static serialize(e,t){return new Json(t)._serialize(e)}static deserialize(e){return(new Json)._deserialize(e)}_serialize(e){let t=Pacem.DeepCloner.clone(e),r=[REF_ID],n=this._flatten(t,0,null,r);return JSON.stringify(n,r.sort())}_deserialize(json){let hasRefs=!1,obj=JSON.parse(json,((key,value)=>{const elPattern=/^\$<#(.+)>$/,fnPattern=/^\$<fn:([^\x05]+)>$/,regexPattern=/^\$<regex:(.+)>$/,fnRefPattern=/^\$<fn#(.+)>$/;let arr;if(key===REF_ID)hasRefs=!0;else if("string"==typeof value){if((arr=regexPattern.exec(value))&&arr.length>1){const e=arr[1],t=e.lastIndexOf("|");return new RegExp(e.substr(0,t),e.substr(t+1))}if((arr=elPattern.exec(value))&&arr.length>1)return document.getElementById(arr[1]);if((arr=fnPattern.exec(value))&&arr.length>1)return eval(arr[1]);if((arr=fnRefPattern.exec(value))&&arr.length>1)return JsonFnStore.retrieve(arr[1])}return value}));return hasRefs?this._revive(obj):obj}_flatten(e,t=0,r,n){var s;if(r=r||new WeakSet,n=n||[],e instanceof Element){if(!e.id)return;return`$<#${e.id}>`}if(e instanceof RegExp)return`$<regex:${e.source}|${e.flags}>`;if(!("object"!=typeof e||null==e||e instanceof Date))return Array.isArray(e)?e.map((e=>this._flatten(e,t,r,n))):r.has(e)?e[REF_ID]=e[REF_ID]||"$#ref_"+t++:(r.add(e),Object.keys(e).forEach((s=>{-1===n.indexOf(s)&&n.push(s),e[s]=this._flatten(e[s],t,r,n)})),e);if("function"==typeof e)switch(null===(s=this._options)||void 0===s?void 0:s.functions){case JsonFunctionConversion.Reference:return"$<fn#"+JsonFnStore.store(e)+">";case JsonFunctionConversion.Plain:return"$<fn:"+e+">";default:return}return e}_revive(e){let t={};const r=/^\$#ref_(.+)$/;return function e(n){if("object"==typeof n&&null!==n){if(Array.isArray(n))return n.map(e);REF_ID in n&&(t[n[REF_ID]]=n,delete n[REF_ID]),Object.keys(n).forEach((t=>{n[t]=e(n[t])}))}else if("string"==typeof n&&r.test(n)){let e=r.exec(n);return t[e[0]]}return n}(e)}}Pacem.Json=Json}(Pacem||(Pacem={})),Number.prototype.toBase62=function(){for(var e=this,t="";0!=e;){t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".charAt(e%62)+t,e=Math.floor(e/62)}return t},Number.prototype.toBase36=function(){return this.toString(36)},function(e){const t="download";e.stopPropagationHandler=e=>{e.stopPropagation()},e.preventDefaultHandler=e=>{e.preventDefault()},e.avoidHandler=e=>{e.preventDefault(),e.stopPropagation()};class Utils{static get core(){const e=window.Pacem;var t=e&&e.Configuration&&e.Configuration.core||"pacem";return window[t]=window[t]||{}}static get customElements(){return window.customElements}static uniqueCode(){const e=this.core;let t=e.__currentSeed||(new Date).valueOf();return e.__currentSeed=++t,t.toBase62()}static randomString(e){let t="";do{t+=(62*Math.random()).toBase62()}while(t.length<e);return t}static parseDate(t){return e.Dates.parse(t)}static copyToClipboard(t){const r=e.DeferPromise.defer(),n=document.createElement("textarea");n.value=t,n.style.opacity="0",document.body.appendChild(n);try{n.select(),document.execCommand("copy"),n.remove(),r.resolve()}catch(e){r.reject(e)}return r.promise}static colorize(t,r){const n=38,s=.245,i=.6;var a,o,l;o="string"==typeof(a=t instanceof HTMLElement?r:t)?e.Colors.parse(a):{r:a[0],g:a[1],b:a[2]};const c=e.Colors.hsl(o);if(l=`brightness(50%) sepia(1) hue-rotate(${c.h-n}deg) saturate(${c.s-s+1}) brightness(${c.l-i+1})`,a!==r)return l;undefined.style.filter=l}static cssEscape(e){return escape(e).replace("%","\\")}static loadImage(e){return new Promise(((t,r)=>{const n=new Image;n.src=e,n.complete?t(n):(n.onload=e=>{t(n)},n.onerror=e=>{r()})}))}static blobToDataURL(e){return new Promise(((t,r)=>{const n=new FileReader;n.onload=e=>{t(e.target.result)},n.readAsDataURL(e)}))}static dataURLToBlob(e){for(var t=e.split(","),r=t[0].match(/:(.*?);/)[1],n=atob(t[1]),s=n.length,i=new Uint8Array(s);s--;)i[s]=n.charCodeAt(s);return new Blob([i],{type:r})}static blobToText(e,t){return new Promise(((r,n)=>{e.arrayBuffer().then((e=>{const n=new TextDecoder(t).decode(e);r(n)}))}))}static textToBlob(e,t="text/plain"){const r=(new TextEncoder).encode(e);return new Blob([r],{type:t})}static resizeImage(t,r,n,s){var i=e.DeferPromise.defer();return Utils.blobToDataURL(t).then(Utils.loadImage).then((e=>{const a=e.width,o=e.height;let l=document.createElement("canvas");l.width=a,l.height=o;let c=l.getContext("2d");if(a>r||o>n){const t=a/o;let d,m;r/n<t?(m=r,d=r/t):(d=n,m=n*t),l.width=m,l.height=d;const h=s>0&&s<=1;let u;h&&(c.fillStyle="#000",c.fillRect(0,0,l.width,l.height)),Utils.cropImageOntoCanvas(e,c),u=h?c.canvas.toDataURL("image/jpeg",s):c.canvas.toDataURL(),i.resolve(Utils.dataURLToBlob(u))}else i.resolve(t)}),(e=>{})),i.promise}static cropImage(t,r,n,s){var i=e.DeferPromise.defer();let a=new Image;return a.crossOrigin="anonymous",a.onload=function(e){let t=document.createElement("canvas"),o=t.getContext("2d");r&&(t.width=r),n&&(t.height=n);const l=s>0&&s<=1;l&&(o.fillStyle="#000",o.fillRect(0,0,t.width,t.height)),Utils.cropImageOntoCanvas(a,o),i.resolve(l?t.toDataURL("image/jpeg",s):t.toDataURL())},a.src=t,i.promise}static getUserMediaFunctions(){var e=[];let t=[navigator.getUserMedia,navigator.webkitGetUserMedia,navigator.msGetUserMedia,navigator.mozGetUserMedia].filter((function(e,t){return"function"==typeof e}));return t.length&&(e=t),e}static cropImageOntoCanvas(e,t,r,n){t.imageSmoothingEnabled=t.mozImageSmoothingEnabled=t.oImageSmoothingEnabled=t.webkitImageSmoothingEnabled=!0;let s=t.canvas.width,i=t.canvas.height,a=s,o=i,l=r||1*e.width,c=n||1*e.height;s/i>l/c?(i=s/l*c,t.drawImage(e,0,.5*(-i+o),a,i)):(s=i/c*l,t.drawImage(e,-Math.abs(.5*(-s+a)),0,s,o))}static get _domURL(){return window.URL||window.webkitURL||window}static snapshotElement(e,t,r="image/png",n){function s(e){return new Promise(((s,i)=>{const a=document.createElement("canvas"),o=e.width,l=e.height;if(o>0)if(l>0){a.width=o,a.height=l;const i=a.getContext("2d");Utils.isNullOrEmpty(t)||(i.fillStyle=t,i.fillRect(0,0,o,l)),i.drawImage(e,0,0),a.toBlob((e=>{s(e)}),r,n)}else i("Image has height zero.");else i("Image has width zero.")}))}return e instanceof HTMLCanvasElement?s(e):new Promise(((t,r)=>{const n=[];function i(e){const t=new Promise(((t,r)=>{fetch(e instanceof HTMLImageElement?e.src:e.href.baseVal).then((e=>e.blob())).then((e=>Utils.blobToDataURL(e))).then((r=>{var n;n=r,e instanceof HTMLImageElement?e.src=n:e.setAttribute("href",n),t()}))}));n.push(t)}function a(e,t){!function(e,t){const r=getComputedStyle(t);for(let t=0;t<r.length;t++){const n=r.item(t);e.style[n]=r[n]}}(e,t),e instanceof HTMLImageElement||e instanceof SVGImageElement?i(e):e instanceof HTMLCanvasElement&&function(e,t){const r=new Promise(((r,n)=>{const s=new Image;s.crossOrigin="anonymous",s.width=t.width,s.height=t.height,s.style.cssText=e.style.cssText,s.onload=()=>{e.replaceWith(s),r()},s.src=t.toDataURL()}));n.push(r)}(e,t);const r=e.children.length;for(let n=0;n<r;n++){const r=e.children.item(n),s=t.children.item(n);r.tagName===s.tagName&&a(r,s)}}if(e instanceof SVGElement){const t=e.cloneNode(!0);a(t,e),Promise.all(n).then((r=>{e=t,l()}))}else{var o=document.implementation.createHTMLDocument("");o.write(e.outerHTML),o.documentElement.setAttribute("xmlns",o.documentElement.namespaceURI);const t=document.evaluate(".//"+e.localName,o.body,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue;t.setAttribute("xmlns",o.documentElement.namespaceURI),a(t,e),Promise.all(n).then((r=>{const n=document.createElementNS("http://www.w3.org/2000/svg","svg"),s=Utils.offset(e);n.setAttribute("viewBox",`0 0 ${s.width} ${s.height}`),n.setAttribute("width",s.width.toString()),n.setAttribute("height",s.height.toString()),n.innerHTML=`<foreignObject width="${s.width}" height="${s.height}">${t.outerHTML}</foreignObject>`,e=n,l()}))}function l(){const r=(new XMLSerializer).serializeToString(e),n=new Image;n.crossOrigin="anonymous";const i="data:image/svg+xml;charset=utf8,"+encodeURIComponent(r);n.onload=()=>{s(n).then(t)},n.src=i}}))}static download(e,r,n="application/download"){return __awaiter(this,void 0,void 0,(function*(){if("string"==typeof e){const a=e;let o,l={};Utils.isNullOrEmpty(r)||("object"==typeof r?(l={credentials:r.credentials,headers:r.headers},o=r.filename||o,n=r.mime||n):o=r);var s=yield fetch(a,l);if(s.ok){if(Utils.isNullOrEmpty(o)){const e="Content-Disposition";if(s.headers.has(e)){const t=s.headers.get(e),r=/^attachment; filename=([^;]+)(;|$)/.exec(t);r.length>1&&(o=r[1])}else o=t}var i=yield s.blob();const e=o.split(/[\\\/]/g).join("_");return Utils.download(i,e)}}else{const n=e,s="string"==typeof r&&r||t,i=document.createElement("a");if(i.setAttribute("href",this._domURL.createObjectURL(n)),i.setAttribute("download",s),document.createEvent){var a=document.createEvent("MouseEvents");a.initEvent("click",!0,!0),i.dispatchEvent(a)}else i.click()}}))}static isDOMReady(){return"interactive"===document.readyState||"complete"===document.readyState}static onDOMReady(e){window.addEventListener("load",e,!1)}static moveChildren(e,t){return Utils.moveItems(e.childNodes,t)}static moveItems(e,t){let r,n=[];for(let s=e.length-1;s>=0;s--){let i=e instanceof NodeList?e.item(s):e[s];t.insertBefore(i,r),n.unshift(i),r=i}return n}static is(e,t){return(e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.oMatchesSelector).call(e,t)}static lang(e){return e.lang||document.documentElement.lang||navigator.language}static jsonSortStringify(e){return Utils.isNull(e)?e:Utils.Json.stringify(e)}static cookies(e=document.cookie){const t=(e||"").split(";"),r={};for(var n of t){const e=n.split("=");if(e.length<2)continue;const t=(e[0]||"").trim(),s=(e[1]||"").trim();Object.defineProperty(r,t,{configurable:!1,enumerable:!0,writable:!1,value:decodeURIComponent(s.split("+").join(" "))})}return r}static isVisible(e){return"hidden"!==getComputedStyle(e).visibility&&(e.clientWidth>0||e.clientHeight>0)}static hasClass(e,t){return e.classList?e.classList.contains(t):new RegExp("(^| )"+t+"( |$)","gi").test(e.className)}static addClass(e,t){const r=t.trim();e.classList?DOMTokenList.prototype.add.apply(e.classList,r.split(" ")):e.setAttribute("class",e.className+" "+r)}static removeClass(e,t){const r=t.trim();e.classList?DOMTokenList.prototype.remove.apply(e.classList,r.split(" ")):e.setAttribute("class",e.className.replace(new RegExp("(^|\\b)"+r.split(" ").join("|")+"(\\b|$)","gi")," "))}static hasPart(e,t){return e.part.contains(t)}static addPart(e,t){DOMTokenList.prototype.add.apply(e.part,t.trim().split(" "))}static removePart(e,t){DOMTokenList.prototype.remove.apply(e.part,t.trim().split(" "))}static offset(e){var t=e.getBoundingClientRect();return{top:Math.round(t.top)+Utils.scrollTop,left:Math.round(t.left)+Utils.scrollLeft,width:Math.round(t.width),height:Math.round(t.height)}}static offsetRect(e){var t=this.offset(e);return{y:t.top,x:t.left,width:t.width,height:t.height}}static naturalOffsetTop(e){return e.offsetTop+(e.offsetParent instanceof HTMLElement?this.naturalOffsetTop(e.offsetParent):0)}static naturalOffsetLeft(e){return e.offsetLeft+(e.offsetParent instanceof HTMLElement?this.naturalOffsetLeft(e.offsetParent):0)}static naturalOffset(e){return{left:this.naturalOffsetLeft(e),top:this.naturalOffsetTop(e),width:e.offsetWidth,height:e.offsetHeight}}static naturalOffsetRect(e){var t=this.naturalOffset(e);return{y:t.top,x:t.left,width:t.width,height:t.height}}static deserializeTransform(e){var t,r=1,n=0,s=0,i=1,a=0,o=0,l=/^matrix\((.*)\)$/.exec(e.transform);return l&&l.length>1&&6==(t=l[1].split(",")).length&&(r=parseFloat(t[0]),n=parseFloat(t[1]),s=parseFloat(t[2]),i=parseFloat(t[3]),a+=parseFloat(t[4]),o+=parseFloat(t[5])),{a:r,b:n,c:s,d:i,e:a,f:o}}static set scrollTop(e){window.scrollTo(Utils.scrollLeft,e)}static set scrollLeft(e){window.scrollTo(e,Utils.scrollTop)}static get scrollTop(){return window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0}static get scrollLeft(){return window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0}static get windowSize(){let e=window;return{width:e.innerWidth||e.document.documentElement.clientWidth||e.document.body.clientWidth||0,height:e.innerHeight||e.document.documentElement.clientHeight||e.document.body.clientHeight||0}}static addAnimationEndCallback(e,t,r=500){const n=r=>{r&&r.target!=e||(clearTimeout(s),e.removeEventListener("animationend",n,!1),e.removeEventListener("transitionend",n,!1),t.apply(this,[e]))};e.addEventListener("animationend",n,!1),e.addEventListener("transitionend",n,!1);const s=setTimeout(n,r)}static waitForAnimationEnd(e,t=500){return new Promise(((r,n)=>{Utils.addAnimationEndCallback(e,(()=>{r()}),t)}))}static idle(e){return new Promise(((t,r)=>{setTimeout((()=>t()),e)}))}static accelerateCallback(e,t=500,r=5,n=20){let s={cancel:!1},i=t,a=r+n,o=()=>{e(s),s.cancel||(setTimeout(o,i),i<a?i=n:i-=r)};o()}static isEmpty(t){return e.NullChecker.isEmpty(t)&&!(t instanceof Node)}static isNull(t){return e.NullChecker.isNull(t)}static isArray(e){return Array.isArray(e)}static isNullOrEmpty(e){return Utils.isNull(e)||Utils.isEmpty(e)}static areSemanticallyEqual(e,t){null!=e||(e=null),null!=t||(t=null);return(e&&e.valueOf&&e.valueOf())===(t&&t.valueOf&&t.valueOf())}static clone(t){if(void 0!==t)return e.DeepCloner.clone(t)}static fromResult(e){return Promise.resolve(e)}static readonlyCopy(e){if(Utils.isNull(e))return null;if(Utils.isArray(e)){const t=e.slice(0);return Object.freeze(t),t}{const t={};for(let r in e)t[r]=e[r];return Object.freeze(t),t}}static fromResultAsync(e){return new Promise((t=>requestAnimationFrame((()=>t(e())))))}static getApiResult(e){if("object"==typeof e&&!Utils.isNull(e)&&e.hasOwnProperty("success"))switch(e.success){case!0:if(e.hasOwnProperty("result"))return e.result;break;case!1:if(e.hasOwnProperty("error"))return null}return e}}Utils.Json={stringify:e.Json.serialize,parse:e.Json.deserialize},Utils.Dates={parse:Utils.parseDate,isLeapYear:e.Dates.isLeapYear,daysInMonth:e.Dates.daysInMonth,isDate:e.Dates.isDate,dateOnly:e.Dates.dateOnly,addMonths:e.Dates.addMonths,addDays:e.Dates.addDays,daysBetween:e.Dates.daysBetween},Utils.Css={colorize:Utils.colorize,escape:Utils.cssEscape,getVariableValue:e=>getComputedStyle(document.documentElement).getPropertyValue(e),setVariable(e,t){getComputedStyle(document.documentElement).setProperty(e,t)},isClassDefined(e){const t=new RegExp("."+e+"($|[s.,])");for(let e=0;e<document.styleSheets.length;e++){const r=document.styleSheets.item(e);try{const e=r.cssRules;for(let n=0;n<e.length;n++){const e=r.cssRules.item(n);if(t.test(e.selectorText))return!0}}catch(e){e instanceof DOMException&&console.warn("Couldn't access cssRules of stylesheet \""+r.href+'".')}}return!1}},Utils.leftPad=e.Strings.leftPad,Utils.formatString=e.Strings.format,Utils.extend=Object.assign,Utils.URIs={format:function(e,t,r){for(let n in t||{}){let s=new RegExp("(^|\\/)\\{"+n+"\\??\\}(\\/|$)").exec(e);if(s&&s.length){let i=new RegExp("\\{"+n+"\\??\\}"),a=s.index;e=e.substr(0,a)+e.substr(a).replace(i,encodeURIComponent(t[n])),r&&delete t[n]}}const n=/(^|\/)\{[\w]+\?\}(\/|$)/;for(var s;(s=n.exec(e))&&s.length>0;){let t=s[0];e=e.replace(t,t.endsWith("/")?"/":"")}return e},appendQuery:function(e,t,r=!1,n=!1){const s=n?"#":"?";return e+(((n?/#/:/\?/).test(e)?"&":s)+Object.keys(t).filter((e=>!Utils.isNull(t[e])||!r)).map((e=>{var r;return encodeURIComponent(e)+"="+encodeURIComponent(null!==(r=t[e])&&void 0!==r?r:"")})).join("&"))},parseQuery:t=>{const r={};return t.split("&").forEach((t=>{const n=t.split("=");2!=n.length||e.Utils.isNull(n[1])||Object.defineProperty(r,decodeURIComponent(n[0]),{enumerable:!0,value:decodeURIComponent(n[1])})})),r},hasMandatoryTemplateSegments:function(e){return/(^|\/)\{\.*\}(\/|$)/.test(e)}},e.Utils=Utils}(Pacem||(Pacem={})),function(e){const t="__context_pacem",r=/'(\\'|[^'])*[^\\]?'|"(\\"|[^"])*[^\\]?"/g,n=/[^\w]new\s|[^\w]window\s*[\.\[]|[^\w]document\s*\.|[^\w]eval\s*\(/,s=/(^|[\s\(\[\+\-\*\/!])(:host\.|\^+item[\s\.,;\)\]]|\^+item$|\^+index[^\w\.]|\^+index$|\$?this[\.\s$]?|#[a-zA-Z_][\w]*|::[a-zA-Z_][\w]*)/g;class Expression{constructor(){this._pending=!1,this._independent=!1}get dependencies(){return this._dependencies}get functionBody(){return this._fnBody}get voidBody(){return this._voidBody}get pending(){return this._pending}get independent(){return this._independent}evaluate(){return this._fn||(this._fn=new Function("$pacem",t,this._fnBody)),this._fn.apply(null,[e.Utils.core,this._args])}evaluateAsync(){const r=e.DeferPromise.defer();return this._fn||(this._fn=new Function("$pacem",t,this._fnBody)),r.resolve(this._fn.apply(null,[e.Utils.core,this._args])),r.promise}evaluatePlus(r={}){if(!this._fn){let e=[t];for(var n in r)e.push(n);e.push("$pacem"),this._fn=new Function(e.join(", "),this._voidBody)}let s=[].concat(this._args);for(var n in r)s.push(r[n]);return s.push(e.Utils.core),this._fn.apply(null,s)}static _getPendingExpressionSingleton(){if(null==Expression._pendingExpression){let e=new Expression;e._pending=!0,e._dependencies=[],Expression._pendingExpression=e}return Expression._pendingExpression}static parse(i,a){for(var o,l=e.CustomElementUtils.findScopeContext(a),c={$this:a},d=[],m="",h=!0,u=[],p=0,v=[];null!=(o=r.exec(i));){v.push(i.substr(p,o.index-p));let e=o[0].length;u.push({start:o.index,length:e}),p=o.index+e}p<i.length&&v.push(i.substr(p,i.length-p));for(var g=0;g<v.length;g++){let r=v[g];if(n.test(r))throw`Unsafe expression detected: "${r}".`;if(null==l){if(!0===new RegExp(s).test(r)){h=!1;break}}else{let n=r.replace(s,((r,n,s,i,o)=>{h=!1;const m="__host_pacem";let u,p=t+".$this"+(s.endsWith(".")?".":""),v=a,g=o.indexOf(".",i),f=g>i?o.substr(g+1).trim():"",_=/^[\w\.\$]+/.exec(f),y=_&&_.length>0&&_[0],E=y&&(u=y.split(".")).length>0&&u[0];if(":host."===s)v=c[m]=c[m]||e.CustomElementUtils.findHostContext(a),p=`${t}.${m}.`;else if(s.endsWith("^item")||s.substr(0,s.length-1).endsWith("^item")){let r=s.endsWith("^item")?"":s.substr(s.length-1,1),n=s.length-(r.length>0?6:5),i=`__item_${n}_up_pacem`,o=e.Repeater.findItemContext(a,n);v=c[i]=c[i]||o&&o.placeholder,y="item"+(y?"."+y:""),E="item",p=`${t}.${i}.item${r}`}else if(s.endsWith("^index")||s.substr(0,s.length-1).endsWith("^index")){let r=s.endsWith("^index")?"":s.substr(s.length-1,1),n=s.length-(r.length>0?7:6),i=`__item_${n}_up_pacem`,o=e.Repeater.findItemContext(a,n);v=c[i]=c[i]||o&&o.placeholder,y="index",E="index",p=`${t}.${i}.index${r}`}else if(s.startsWith("::")){let r=s.substr(2,s.length-2),n=c[m]=c[m]||e.CustomElementUtils.findHostContext(a);v=e.Utils.isNull(n)?null:n[r],p=`${t}.${m}.${r}`}else if(s.startsWith("#")){let e=s.substr(1,s.length-1);v=c[e]=c[e]||l.querySelector("#"+e),p=`${t}.${e}`}return E&&v&&E in v&&"function"!=typeof v[E]&&null==d.find((e=>e.element===v&&e.property==E))&&d.push({element:v,property:E,path:y,twowayAllowed:!1}),n+p}));if(m+=n,g<u.length){const e=u[g];m+=i.substr(e.start,e.length)}}}if(h){var f=new Expression;return f._independent=!0,f._fnBody=`return ${i};`,f._voidBody=i,f._dependencies=[],f}if(null==l)return this._getPendingExpressionSingleton();for(var _ in c)if(null==c[_])return Expression._getPendingExpressionSingleton();1==d.length&&!0!==/[^\w\.\$]+/.test(m.trim())&&(d[0].twowayAllowed=!0);var y=new Expression;return y._args=c,y._fnBody=`try{ var ___$$$r = ${m}; return ___$$$r; }catch(e){ }`,y._voidBody=`try{ ${m} }catch(e){ }`,y._dependencies=d,y}}Expression._pendingExpression=null,e.Expression=Expression}(Pacem||(Pacem={})),function(e){var t;e.P=(t=window.Pacem)&&t.Configuration&&t.Configuration.prefix||"pacem",e.PCSS=t.Configuration&&t.Configuration.css||e.P}(Pacem||(Pacem={})),function(e){const t="__pacem__",r=/^\{\{(.|\n)+\}\}$/;class CustomElementUtils{static get polyfilling(){return customElements instanceof window.CustomElementRegistry}static camelToKebab(e){return e&&e.replace(/([A-Z])/g,"-$1").toLowerCase()}static kebabToCamel(e){return e&&e.replace(/(-[a-z])/g,(e=>e[1].toUpperCase()))}static getWatchedProperties(t,r=!0){var n=[],s=t instanceof HTMLElement?t.constructor:t;do{let t=(this.getAttachedPropertyValue(s,e.WATCH_PROPS_VAR)||[]).filter((e=>!e.name.startsWith("_")));Array.prototype.splice.apply(n,[0,0].concat(t))}while(r&&(s=Object.getPrototypeOf(s)));return n}static getWatchedProperty(e,t){return this.getWatchedProperties(e,!0).find((e=>e.name===t))}static importjs(t,r=null,n=!1){var s={type:"text/javascript",src:t};return e.Utils.isNullOrEmpty(r)||e.Utils.extend(s,{integrity:r}),n&&e.Utils.extend(s,{crossorigin:""}),CustomElementUtils.import(t,"script",s,document.head||document.getElementsByTagName("head")[0])}static importcss(t,r=null,n=!1){var s={rel:"stylesheet",href:t};return e.Utils.isNullOrEmpty(r)||e.Utils.extend(s,{integrity:r}),n&&e.Utils.extend(s,{crossorigin:"anonymous"}),CustomElementUtils.import(t,"link",s,document.head||document.getElementsByTagName("head")[0])}static import(t,r,n,s=document.body){const i=e.Utils.core;var a=i.imports=i.imports||{};return a[t]=a[t]||new Promise(((t,i)=>{var a=r;for(let e in n||{})a+=`[${e}="${n[e]}"]`;var o=document.querySelector(a);if(e.Utils.isNull(o))for(var l in(o=document.createElement(r)).onerror=e=>{i(e)},o.onload=()=>{t(o)},s.appendChild(o),n||{})o.setAttribute(l,n[l]);else t(o)}))}static setAttachedPropertyValue(r,n,s){if(e.Utils.isNull(r))return;const i=Object.getOwnPropertyDescriptor(r,t),a=i&&i.value||Object.defineProperty(r,t,{value:{},enumerable:!1,writable:!1,configurable:!1})[t];e.Utils.isNull(s)?delete a[n]:a[n]=s}static deleteAttachedPropertyValue(e,t){CustomElementUtils.setAttachedPropertyValue(e,t,void 0)}static getAttachedPropertyValue(r,n,s){const i=Object.getOwnPropertyDescriptor(r,t),a=i&&i.value;return e.Utils.isNull(a&&a[n])&&!e.Utils.isNull(s)?(CustomElementUtils.setAttachedPropertyValue(r,n,s),s):a&&a[n]}static resolvePath(e,t){if(!e||!t)return;if(/[\(\)\{\}]/.test(e))throw`Security alert: not allowed to process paths like ${e}.`;const r=e.split(".");var n,s,i,a=t,o=a,l=r[0];return r.forEach(((e,t)=>{e.split("[").forEach(((e,t)=>{n=o,/\]$/.test(e)&&(e=e.substr(0,e.length-1),/^('|").+[^\\]\1$/.test(e)&&(e=e.substr(1,e.length-2))),o=o[e]}))})),/\]$/.test(e)?(i=e.lastIndexOf("["),s=(s=e.substr(i+1)).substr(0,s.length-1)):(i=e.lastIndexOf("."),s=e.substr(i+1)),{target:{value:o,name:s},parent:{value:n||t,path:e.substr(0,i)},root:{value:a,property:l}}}static set(t,r,n){var s=CustomElementUtils.resolvePath(r,t),i=s.target.value;if(i!==n)if(s.parent.value==s.root.value||s.parent.value instanceof HTMLElement)s.parent.value[s.target.name]=n;else{s.parent.value[s.target.name]=n;const t=e.Utils.clone(s.root.value[s.root.property]);let r;s.parent.value[s.target.name]=i,"item"!==s.root.property||e.Utils.isNull(r=RepeaterItem.getRepeaterItem(s.root.value))?s.root.value[s.root.property]=t:r.repeater&&r.repeater.datasource&&r.repeater.datasource.splice(r.index,1,r.item=t)}}static get(e,t){var r=CustomElementUtils.resolvePath(t,e);return r&&r.target&&r.target.value}static _findScopeContextLegacy(e){let t,r=e;do{r=r.parentNode}while(null!=r&&(r!=(t=e.ownerDocument)||r instanceof HTMLElement&&null!=(t=r.shadowRoot)));return t}static findScopeContext(t){let r=t.isConnected?t.getRootNode():CustomElementUtils.getAttachedPropertyValue(t,e.INSTANCE_SCOPE_VAR);return null!=r?r:CustomElementUtils._findScopeContextLegacy(t)}static findAncestor(e,t){var r;let n,s=e;for(;s&&null!=(s=s.parentNode||(null===(r=s.getRootNode())||void 0===r?void 0:r.host));)if(s.host instanceof HTMLElement&&(s=s.host),t.apply(s,[s])){n=s;break}return n}static findAncestorShell(t){return CustomElementUtils.findAncestor(t,(t=>e.Utils.is(t,`.${e.PCSS}-body`)||t===document.body))}static findAncestorOfType(e,t){return CustomElementUtils.findAncestor(e,(e=>e instanceof t))}static findDescendants(e,t,r=!1){const n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT);for(var s=[];n.nextNode();){let e=n.currentNode;if(!0===t(e)&&(s.push(e),r))return s}return s}static findFirstDescendant(t,r){const n=CustomElementUtils.findDescendants(t,r,!0);return e.Utils.isNullOrEmpty(n)?void 0:n[0]}static findAll(e="[pacem]",t=(e=>!0)){const r=[];return document.querySelectorAll(e).forEach(((e,n,s)=>{!0===t(e)&&r.push(e)})),r}static findPreviousSiblingOrAncestorOfType(e,t,r=0){let n=e,s=null,i=0;do{if(n=n.previousSibling||n.parentNode,n instanceof t){if(i>=r){s=n;break}n=n.parentNode,i++}}while(null!=n);return s}static findPreviousSiblingOrAncestor(e,t,r=0){let n=e,s=null,i=0;do{if(n=n.previousSibling||n.parentNode,n&&t.apply(n,[n])){if(i>=r){s=n;break}n=n.parentNode,i++}}while(null!=n);return s}static assignHostContext(t,r){const n=document.createTreeWalker(r.content,NodeFilter.SHOW_ELEMENT+NodeFilter.SHOW_DOCUMENT_FRAGMENT);for(;n.nextNode();){var s=n.currentNode;e.Utils.isNull(CustomElementUtils.getAttachedPropertyValue(s,e.INSTANCE_HOST_VAR))&&CustomElementUtils.setAttachedPropertyValue(s,e.INSTANCE_HOST_VAR,t)}}static findHostContext(t){let r,n,s=t;if(!s.isConnected)return r;for(;null!=s&&(r=CustomElementUtils.getAttachedPropertyValue(s,e.INSTANCE_HOST_VAR),!(r instanceof HTMLElement));)s=s.parentElement;return null==r&&console&&(n=console.warn)&&n(`Element "${t.constructor.name}" isn't a descendant of a templated component.`),r}static isBindingAttribute(e){return r.test(e)}static extractBindingAttributeExpression(e){if(CustomElementUtils.isBindingAttribute(e))return e.substr(2,e.length-4);throw"Invalid attribute: incorrect binding syntax."}static parseBindingAttribute(t,r){let n=CustomElementUtils.extractBindingAttributeExpression(t);const s=/,\s*(twoway|once)\s*$/.exec(n),i=s&&s.length>1&&s[1];e.Utils.isNullOrEmpty(i)||(n=n.substr(0,n.lastIndexOf(",")));var a=e.Expression.parse(n,r);return(a&&a.dependencies).forEach((e=>{switch(i){case"twoway":e.mode=e.twowayAllowed&&1==a.dependencies.length?"twoway":void 0;break;case"once":e.mode=i}})),a}static ensureMember(e,t,r){let n=Object.getOwnPropertyDescriptor(e,t);return null!=n?n:(Object.defineProperty(e,t,r),Object.getOwnPropertyDescriptor(e,t))}static stripObservedAttributes(e){n(e,!1)}static freezeObservedAttributes(e){n(e)}}function n(t,r=!0){const n=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT);do{var s=n.currentNode;if(s instanceof HTMLElement){const t=s.constructor.observedAttributes;if(!e.Utils.isNull(t)){CustomElementUtils.deleteAttachedPropertyValue(s,e.INSTANCE_BINDINGS_VAR);let n=function(t){if(e.Utils.isArray(t))return"["+t.map(n).join(",")+"]";if(t instanceof Element){return`#${t.id=t.id||"_"+e.Utils.uniqueCode()}`}return`${e.Utils.Json.stringify(t)}`};for(var i of t)if(i in s.attributes){let t,a;if(r&&!e.Utils.isNull(a=s[t=CustomElementUtils.kebabToCamel(i)])){let e=n(a);s.setAttribute(i,`{{ ${e} }}`)}else s.removeAttribute(i)}}}}while(n.nextNode())}e.CustomElementUtils=CustomElementUtils;const s=CustomElementUtils.getAttachedPropertyValue,i=CustomElementUtils.setAttachedPropertyValue,a="pacem:repeater-item";e.Repeater=class Repeater{static findItemContext(e,t=0,r=console.warn){let n=RepeaterItem.findUpwards(e,t,r);return null==n&&r&&e instanceof HTMLElement&&e.isConnected&&r(`Couldn't find a ${RepeaterItem.name} up ${t} level${1===t?"":"s"} from element "${e.constructor.name}".`),n}};class RepeaterItem{static findUpwards(t,r=0,n=console.warn){if(e.Utils.isNull(t)||"template"===t.localName||t instanceof e.TemplateElement)return null;let s=null;return null==CustomElementUtils.findPreviousSiblingOrAncestor(t,(t=>!e.Utils.isNull(s=RepeaterItem.getRepeaterItem(t))),r)&&n&&t instanceof HTMLElement&&t.isConnected&&n(`Couldn't find a ${RepeaterItem.name} up ${r} level${1===r?"":"s"} from element "${t.constructor.name}".`),s}static isRepeaterItem(t){return!e.Utils.isNull(s(t,a))}static getRepeaterItem(e){return s(e,a)}constructor(e){this._placeholder=e,i(e,a,this)}get placeholder(){return this._placeholder}}e.RepeaterItem=RepeaterItem}(Pacem||(Pacem={})),function(e){let t;!function(e){e.AltKey="Alt",e.CtrlKey="Ctrl",e.ShiftKey="Shift",e.MetaKey="Cmd"}(t=e.EventKeyModifier||(e.EventKeyModifier={}));e.CustomEventUtils=class CustomEventUtils{static isInstanceOf(e,t){return e instanceof t}static getEventCoordinates(t){var r;return"touches"in t?e.Utils.isNullOrEmpty(t.touches)?e.Utils.isNullOrEmpty(t.changedTouches)||(r=t.changedTouches[0]):r=t.touches[0]:r=t,{page:{x:r.pageX,y:r.pageY},screen:{x:r.screenX,y:r.screenY},client:{x:r.clientX,y:r.clientY}}}static getEventKeyModifiers(e){var t=e.which;return e instanceof MouseEvent&&(t=e.button),{which:t,shiftKey:e.shiftKey,altKey:e.altKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey}}static matchModifiers(t,...r){const n=(!e.Utils.isNull(r)&&(1===r.length&&e.Utils.isArray(r[0])?r[0]:Array.from(r).filter((t=>!e.Utils.isNullOrEmpty(t))))||[]).map((e=>e.toLowerCase())),s=n.indexOf("alt")>=0||n.indexOf("option")>=0,i=n.indexOf("shift")>=0,a=n.indexOf("ctrl")>=0,o=n.indexOf("win")>=0||n.indexOf("cmd")>=0;return s===t.altKey&&i===t.shiftKey&&o===t.metaKey&&a===t.ctrlKey}static fixEdgeCustomEventSubClassInstance(e,t){e instanceof t||Object.setPrototypeOf(e,t)}}}(Pacem||(Pacem={})),function(e){var t,r,n;class CustomTypedEvent extends CustomEvent{constructor(t,r,n){super(t,e.Utils.extend({detail:r},n||{})),e.CustomEventUtils.fixEdgeCustomEventSubClassInstance(this,this.constructor)}}e.CustomTypedEvent=CustomTypedEvent;class CustomUIEvent extends CustomEvent{constructor(s,i,a,o){super(s,e.Utils.extend(function(e){if("detail"in e){for(let t in e)if("bubbles"!==t&&"cancelable"!==t&&"composed"!==t&&"detail"!==t)return!1;return!0}return!1}(i||{})?i:{detail:i},!(a instanceof Event)&&a||{})),t.set(this,void 0),r.set(this,void 0),n.set(this,void 0);const l=o||a;l instanceof Event&&(__classPrivateFieldSet(this,t,l,"f"),__classPrivateFieldSet(this,r,e.CustomEventUtils.getEventKeyModifiers(l),"f"),(l instanceof MouseEvent||l instanceof TouchEvent)&&__classPrivateFieldSet(this,n,e.CustomEventUtils.getEventCoordinates(l),"f")),e.CustomEventUtils.fixEdgeCustomEventSubClassInstance(this,this.constructor)}get originalEvent(){return __classPrivateFieldGet(this,t,"f")}get which(){var e;return null===(e=__classPrivateFieldGet(this,r,"f"))||void 0===e?void 0:e.which}get altKey(){var e;return null===(e=__classPrivateFieldGet(this,r,"f"))||void 0===e?void 0:e.altKey}get shiftKey(){var e;return null===(e=__classPrivateFieldGet(this,r,"f"))||void 0===e?void 0:e.shiftKey}get ctrlKey(){var e;return null===(e=__classPrivateFieldGet(this,r,"f"))||void 0===e?void 0:e.ctrlKey}get metaKey(){var e;return null===(e=__classPrivateFieldGet(this,r,"f"))||void 0===e?void 0:e.metaKey}get pageX(){var e;return null===(e=__classPrivateFieldGet(this,n,"f"))||void 0===e?void 0:e.page.x}get pageY(){var e;return null===(e=__classPrivateFieldGet(this,n,"f"))||void 0===e?void 0:e.page.y}get clientX(){var e;return null===(e=__classPrivateFieldGet(this,n,"f"))||void 0===e?void 0:e.client.x}get clientY(){var e;return null===(e=__classPrivateFieldGet(this,n,"f"))||void 0===e?void 0:e.client.y}get screenX(){var e;return null===(e=__classPrivateFieldGet(this,n,"f"))||void 0===e?void 0:e.screen.x}get screenY(){var e;return null===(e=__classPrivateFieldGet(this,n,"f"))||void 0===e?void 0:e.screen.y}}t=new WeakMap,r=new WeakMap,n=new WeakMap,e.CustomUIEvent=CustomUIEvent,e.AttributeChangeEventName="attributechange";e.AttributeChangeEvent=class AttributeChangeEvent extends CustomTypedEvent{constructor(t){super(e.AttributeChangeEventName,t)}},e.PropertyChangeEventName="propertychange";e.PropertyChangeEvent=class PropertyChangeEvent extends CustomTypedEvent{constructor(t){super(e.PropertyChangeEventName,t)}}}(Pacem||(Pacem={})),function(e){e.DefaultComparer=(t,r)=>e.Utils.areSemanticallyEqual(t,r);const t={convert:e=>{}},r={convert:e=>e&&e.trim().split(/[ ,]+/),convertBack:t=>e.Utils.isArray(t)&&t.join(" ")||""},n={convert:e=>parseFloat(e),convertBack:e=>e.toString()},s={convert:t=>!e.Utils.isNullOrEmpty(t)&&"0"!==t&&"false"!==t,convertBack:e=>(!!e).toString()},i={convert:t=>e.Utils.parseDate(t),convertBack:t=>e.Utils.parseDate(t).toISOString()},a=i,o={convert:t=>e.Utils.Json.parse(t),convertBack:t=>e.Utils.Json.stringify(t)},l={convert:e=>Function(`return ${e};`).apply(null),convertBack:e=>{}},c={convert:e=>document.querySelector(e),convertBack:e=>e instanceof Element&&e.id?"#"+e.id:void 0,retryConversionWhenReady:!0},d={convert:t=>e.Point.parse(t),convertBack:e=>`${e.x||0} ${e.y||0}`},m={convert:t=>e.Rect.parse(t),convertBack:e=>`${e.x||0} ${e.y||0} ${e.width||0} ${e.height||0}`};e.PropertyConverters={None:t,String:{convert:e=>e,convertBack:e=>e},StringArray:r,Number:n,Boolean:s,BooleanStrict:{convert:e=>"true"===e||"1"===e,convertBack:e=>(!!e).toString()},Date:a,Datetime:i,Json:o,Eval:l,Element:c,Point:d,Rect:m}}(Pacem||(Pacem={})),function(e){const t=e.CustomElementUtils.getAttachedPropertyValue,r=e.CustomElementUtils.setAttachedPropertyValue,n=e.CustomElementUtils.deleteAttachedPropertyValue,s="pacem:version",i="pacem:binding:",a="pacem:view-children",o="pacem:has-binding:",l="pacem:custom-element:has-template",c="pacem:custom-element:has-templated",d="pacem:custom-element:promise",m="pacem:custom-element:ready",h="pacem:custom-element:startup";function u(s,a,l){var c=s;const d=a,h=l;var u=t(c,i+d);if(u&&u.forEach((t=>{t.dep.element.removeEventListener(e.PropertyChangeEventName,t.callback,!1)})),e.Utils.isNull(h)||!0!==t(s,m))n(c,i+d),n(c,o+d);else if(h.pending)r(c,i+d,[]);else{let t="oneway";switch(h.dependencies&&h.dependencies.length&&h.dependencies[0].mode){case"twoway":1==h.dependencies.length&&(t="twoway");break;case"once":t="once"}r(c,o+d,t);const n=h.dependencies.map((t=>{var r={dep:t,callback:function(e){e.detail.propertyName===t.property&&(c[d]=h.evaluate())}};return t.element.addEventListener(e.PropertyChangeEventName,r.callback,!1),r}));r(c,i+d,n),c[d]=h.evaluate()}}e.CustomElement=s=>p=>{if(e.Utils.customElements.get(s.tagName))console.warn(`${s.tagName} registration skipped, since already defined.`);else{var v=e.CustomElementUtils.getWatchedProperties(p,!0);if(r(p,l,!(e.Utils.isNullOrEmpty(s.template)&&e.Utils.isNullOrEmpty(s.templateUrl))),v&&v.length>0){const t="observedAttributes";var g=[];p.hasOwnProperty(t)&&(g=p[t].slice(),delete p[t]);let r=g;for(var f of v){let t=e.CustomElementUtils.camelToKebab(f.name);r.unshift(t)}Object.defineProperty(p,t,{get:function(){return r},enumerable:!0,configurable:!1})}{const g=p.prototype,f=Object.getOwnPropertyDescriptor(g,"connectedCallback")||g.connectedCallback,_=Object.getOwnPropertyDescriptor(g,"viewActivatedCallback")||g.viewActivatedCallback;Object.defineProperty(g,"connectedCallback",{value:function(){const i=this;i.setAttribute("pacem",""),i.setAttribute("cloak",""),n(i,a),f&&f.value?f.value.apply(i,[]):"function"==typeof f&&f.apply(i),function(t){var r=e.DeferPromise.defer();const n=t=>{e.Utils.isDOMReady()?r.resolve(t):e.Utils.onDOMReady((e=>{r.resolve(t)}))};t.template?n(t.template):t.templateUrl?(new e.Net.Http).get(t.templateUrl).success((e=>{let r=t.template=e.text;return n(r),e})).error((e=>{console.error(e.message),n(null)})):n(null);return r.promise}(s).then((n=>{if(!i.isConnected)return;var a=[];if(!0!==t(i,m)&&!e.Utils.isNullOrEmpty(n)&&1!=t(i,c)){r(i,c,!0);const m=i,h=s.shadow,u=document.createElement("template").content,v=document.createElement("template");if(!h)for(var o=m.childNodes.length-1;o>=0;o--)u.insertBefore(m.childNodes.item(o),u.firstChild);v.innerHTML=n;const _=v.content.querySelectorAll(e.P+"-content");if(e.CustomElementUtils.assignHostContext(i,v),1==_.length){const e=_.item(0);var p=e.nextSibling;const t=e.parentElement||v.content,r=u.childNodes;for(t.removeChild(e);r.length>0;)try{let e=r.item(0);t.insertBefore(e,p)}catch(e){console.error(e.toString())}}else if(_.length>1)throw"There can only be at most 1 content placeholder inside a template.";var g;if(s.shadow)(g=m.attachShadow({mode:"open"})).appendChild(v.content);else{g=m;for(var f=v.content.children;f.length>0;)g.append(f.item(0))}a=function(r,n){const s=document.createTreeWalker(n,NodeFilter.SHOW_ELEMENT);for(var i=[];s.nextNode();){var a=s.currentNode;if(!0===t(a.constructor,l)){var o=t(a,d,e.DeferPromise.defer());i.push(o.promise)}}return i}(0,g)}r(i,m,!0);for(let t of v){const r=t.name,n=t.config;if(!n.converter.retryConversionWhenReady||!e.Utils.isNull(i[r]))continue;const s=e.CustomElementUtils.camelToKebab(r),a=i.getAttribute(s);e.Utils.isNullOrEmpty(a)||e.CustomElementUtils.isBindingAttribute(a)||(i[r]=n.converter.convert(a,i))}(t(i,h)||[]).forEach((e=>{e.apply(i)}));(t(i,e.INSTANCE_BINDINGS_VAR)||[]).forEach((t=>{const r=t;if(!(r in i.attributes))throw`Howcome? ${r} not in ${i.constructor.name} attributes!?...`;const n=i.attributes[r].value;if(e.CustomElementUtils.isBindingAttribute(n)){var s=e.CustomElementUtils.parseBindingAttribute(n,i);u(i,e.CustomElementUtils.kebabToCamel(t),s)}}));i.removeAttribute("cloak"),Promise.all(a).then((r=>(r=>{_&&_.value?_.value.apply(i,[]):"function"==typeof _&&_.apply(i);var n=t(i,d);e.Utils.isNull(n)||n.resolve()})()))}))},configurable:!0,enumerable:!0});const y=Object.getOwnPropertyDescriptor(g,"disconnectedCallback")||g.disconnectedCallback;Object.defineProperty(g,"disconnectedCallback",{value:function(){const n=this;y&&y.value?y.value.apply(n,[]):"function"==typeof y&&y.apply(n,[]),r(n,m,!1);(t(n,e.INSTANCE_BINDINGS_VAR)||[]).forEach((t=>{u(n,e.CustomElementUtils.kebabToCamel(t))}))},configurable:!0,enumerable:!0});const E=Object.getOwnPropertyDescriptor(g,"attributeChangedCallback")||g.attributeChangedCallback;Object.defineProperty(g,"attributeChangedCallback",{value:function(r,n,s){const i=this,a=!0===t(i,m);E&&E.value?E.value.apply(i,[r,n,s]):"function"==typeof E&&E.apply(i,[r,n,s]);const o=new e.AttributeChangeEvent({attributeName:r,oldValue:n,currentValue:s,firstChange:!a});i.dispatchEvent(o);const l=e.CustomElementUtils.isBindingAttribute(s),c=r,d=e.CustomElementUtils.kebabToCamel(c);if(l){let r=e.CustomElementUtils.parseBindingAttribute(s,i);if(!(r instanceof e.Expression))throw`Howcome? ${s} misinterpreted as ${c} binding...`;r.independent?(i[d]=r.evaluate(),u(i,d)):(t(i,e.INSTANCE_BINDINGS_VAR,[]).push(c),r.pending||u(i,d,r))}else{var h=v.find((e=>e.name===d));e.Utils.isNull(h)||(u(i,d),i[d]=h.config.converter.convert(s,i))}},configurable:!0,enumerable:!0});const C=Object.getOwnPropertyDescriptor(g,"propertyChangedCallback")||g.propertyChangedCallback;Object.defineProperty(g,"propertyChangedCallback",{value:function(r,n,s,a,l){const c=this,d=!0===t(c,m),p=()=>{const a=t(c,o+r);if(C&&C.value?C.value.apply(c,[r,n,s,!d]):"function"==typeof C&&C.apply(c,[r,n,s,!d]),!l||!1!==l.emit){const t=new e.PropertyChangeEvent({propertyName:r,oldValue:n,currentValue:s,firstChange:!d});c.dispatchEvent(t)}if(e.Utils.isNullOrEmpty(a)){var m=v.find((e=>e.name===r));if(l&&!0===l.reflectBack&&!e.CustomElementUtils.polyfilling){var h,p=e.CustomElementUtils.camelToKebab(r),g=c.attributes.getNamedItem(p);if(d||e.Utils.isNullOrEmpty(g))if(null==s)c.removeAttribute(p);else if(m&&(h=m.config)&&"function"==typeof h.converter.convertBack){const e=h.converter.convertBack(s,c);null!=g&&e===g.value||c.setAttribute(p,e)}}}else if("twoway"===a){const n=t(c,i+r)[0].dep;e.CustomElementUtils.set(n.element,n.path,s)}else"once"===a&&u(c,r)};d?p.apply(c):t(c,h,[]).push(p)},configurable:!0,enumerable:!0})}e.Utils.customElements.define(s.tagName,p,s.options),e.Utils.customElements.whenDefined(s.tagName).then((()=>{}))}};const p=e.PropertyConverters.None;e.Watch=function(n){return(i,a,o)=>{t(i.constructor,e.WATCH_PROPS_VAR,[]).push({name:a,config:e.Utils.extend({emit:!0,converter:p},n)});const l=e.DefaultComparer,c=o&&o.set,d="pacem:property:"+a,m=s,h=s+":"+a;function u(){return t(this,d)}function v(e,r,s){var i=this;const o=n&&n.debounce;var l;if("function"==typeof(l=i.propertyChangedCallback)){var c=()=>l.apply(i,[e,r,t(i,d),!1,n]);"number"==typeof o&&o>0?(clearTimeout(this["_handle_"+a]),this["_handle_"+a]=setTimeout(c,o)):!0===o?(cancelAnimationFrame(this["_handle_"+a]),this["_handle_"+a]=requestAnimationFrame(c)):c()}}function g(e){var n=this;if(e=e||n[a],!0===t(e,"pacem:array:decorated"))return;r(e,"pacem:array:decorated",!0);const s=Array.prototype;var i={splice:s.splice,pop:s.pop,copyWithin:s.copyWithin,push:s.push,shift:s.shift,unshift:s.unshift};for(var o in i){let t=o;e[t]=function(...e){const s=i[t].apply(this,e);return r(this,m,Date.now()),v.call(n,a,this,this),s}}}function f(n,s){var i=this,o=e.Utils.isArray(s);(!l(n,s)||o&&t(s,m)!=i[h])&&(r(i,d,s),o&&(r(i,h,t(s,m)),g.call(i,s)),v.call(i,a,n,s))}if(c)o.set=function(e){const t=this,r=t[a];c.call(t,e);var n=t[a];f.call(t,r,n)};else{try{i.ownerDocument&&(i[d]=i[a])}catch(e){}delete i[a]&&Object.defineProperty(i,a,{get:function(){return u.call(this)},set:function(e){const r=t(this,d);f.call(this,r,e)},enumerable:!0,configurable:!0})}}},e.ViewChild=function(r){return(n,s,i)=>{const o=`${s}_${e.Utils.uniqueCode()}`;function l(){var n=this,s=(n.shadowRoot||n).querySelectorAll(r);for(let r=0;r<s.length;r++){let i=s.item(r);if(t(i,e.INSTANCE_HOST_VAR)===n)return i}return null}function c(){var e=t(this,a,{});return e[o]=e[o]||l.call(this)}delete n[s]&&Object.defineProperty(n,s,{get:function(){return c.call(this)},enumerable:!0,configurable:!0})}},e.Concurrent=function(){return function(t,r,n){const s=n.value,i=`pacem:concurrent-buffer:${r}`,a=`pacem:concurrent-running:${r}`;n.value=function(...t){var r=this,n=e.CustomElementUtils.getAttachedPropertyValue(r,i,[]);if(e.CustomElementUtils.getAttachedPropertyValue(r,a,!1)){let r=e.DeferPromise.defer();return t.push(r),n.push(t),r.promise}var o,l=s.apply(r,t);if((o=l)&&"function"==typeof o.then){let i=t&&t.length>0&&t[t.length-1];return i&&i.promise instanceof e.DeferPromise?t.pop():i=e.DeferPromise.defer(),e.CustomElementUtils.setAttachedPropertyValue(r,a,!0),l.then((t=>{i.resolve(t),e.CustomElementUtils.setAttachedPropertyValue(r,a,!1),n.length>0&&s.apply(r,n.shift())}),(t=>{e.CustomElementUtils.setAttachedPropertyValue(r,a,!1),i.reject(t)})),i.promise}return l}}},e.Debounce=function(e=50){return function(n,s,i){const a=i.value,o=`pacem:debouncer:${s}`;!0===e?i.value=function(...e){var n=this;cancelAnimationFrame(t(n,o)),r(n,o,requestAnimationFrame((()=>{a.apply(n,e)})))}:e>0&&(i.value=function(...n){var s=this;clearTimeout(t(s,o,0)),r(s,o,setTimeout((()=>{a.apply(s,n)}),e))})}},e.Throttle=function(s=50){return function(i,a,o){const l=o.value,c=`pacem:throttler:${a}`,d=`pacem:throttler:args:${a}`;o.value=function(...i){const a=this,o=()=>{n(a,c);const e=t(a,d);n(a,d),e&&l.apply(a,i)};e.Utils.isNull(t(a,c))?(r(a,c,1),l.apply(a,i),!0===s?requestAnimationFrame(o):s>0&&setTimeout(o,s)):r(a,d,null!=i?i:["pacem"])}}};class Transforms{static register(t,r){const n=e.Utils.core;e.Utils.isNull(n[t])?n[t]=r:console.warn(`A transform named ${t} already exists.`)}}e.Transformer=function(e){return function(t,r,n){const s=n.value;Transforms.register(e||s.name,s)}}}(Pacem||(Pacem={})),function(e){!function(e){let t;!function(e){e.Trace="trace",e.Debug="debug",e.Warn="warn",e.Error="error",e.Info="info",e.Log="log"}(t=e.LogLevel||(e.LogLevel={}))}(e.Logging||(e.Logging={}))}(Pacem||(Pacem={})),function(e){!function(t){class PacemEventTarget extends HTMLElement{constructor(){super(),this._isReady=!1,this.emitHandler=e=>{this.emit(e)}}emit(t){if(!this._dontDispatch(t)){var r=`on-${t.type.toLowerCase()}`;if(r in this.attributes){this.log(e.Logging.LogLevel.Debug,`Calling ${r} handler for event ${t.type}`);var n=this.attributes[r].value,s=e.Expression.parse(n,this);e.Utils.isNull(s)||!0===s.pending||s.evaluatePlus({$event:t})}}}handle(e){this.emit(e)}_dontDispatch(e){return!0===this.disabled}get isReady(){return this._isReady}connectedCallback(){e.CustomElementUtils.setAttachedPropertyValue(this,e.INSTANCE_SCOPE_VAR,e.CustomElementUtils.findScopeContext(this))}disconnectedCallback(){this._isReady=!1,this.dispatchEvent(new Event("unload")),e.CustomElementUtils.deleteAttachedPropertyValue(this,e.INSTANCE_SCOPE_VAR)}viewActivatedCallback(){this._isReady=!0,this.dispatchEvent(new Event("load"))}propertyChangedCallback(t,r,n,s){s?this.log(e.Logging.LogLevel.Log,`Property "${t}" changed at start-up`):this.log(e.Logging.LogLevel.Log,`Property "${t}" changed from ${r} to ${n}`)}dispatchEvent(t){if(this._dontDispatch(t))return!1;this.log(e.Logging.LogLevel.Log,`Dispatching event "${t.type}"`);const r=super.dispatchEvent(t);return this.emit(t),r}log(e,t,r=this.localName+(this.id?"#"+this.id:"")){this.logger&&this.logger.log(e,t,r)}refreshBindings(){for(let t=0;t<this.attributes.length;t++){let r=this.attributes.item(t);if(!e.CustomElementUtils.isBindingAttribute(r.value))continue;let n=e.CustomElementUtils.kebabToCamel(r.name),s=e.CustomElementUtils.parseBindingAttribute(r.value,this);this[n]=s.evaluate()}}}__decorate([e.Watch({reflectBack:!0,converter:e.PropertyConverters.Boolean})],PacemEventTarget.prototype,"disabled",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Element})],PacemEventTarget.prototype,"logger",void 0),t.PacemEventTarget=PacemEventTarget}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){class CurrentIndexChangeEvent extends e.CustomTypedEvent{constructor(e){super("currentindexchange",e)}}e.CurrentIndexChangeEvent=CurrentIndexChangeEvent}(Pacem||(Pacem={})),Array.prototype.moveWithin=function(e,t){const r="Index must be greater or equal than 0 and less or equal than the length of the array.";var n=this;if(e<0||e>n.length)throw new Error(r);if(t<0||t>n.length)throw new Error(r);n.splice(t,0,Array.prototype.splice.apply(n,[e,1])[0])},Array.prototype.equalsContent=function(e){if(null==e||this.length!==e.length)return!1;for(let t=0;t<this.length;t++)if(this[t]!==e[t])return!1;return!0},Array.prototype.cloneFrom=function(e){if(null==e)throw"Cannot clone array from null object.";const t=e.length;var r=this.length!==e.length;for(let n=0;n<t;n++){const t=e[n];this.length>n?this[n]!==t&&(this[n]=t,r=!0):(Array.prototype.push.apply(this,[t]),r=!0)}r&&this.splice(t)},function(e){e.CommandEventName="command";class CommandEvent extends e.CustomTypedEvent{constructor(t){super(e.CommandEventName,t,{bubbles:!0,cancelable:!0})}}e.CommandEvent=CommandEvent}(Pacem||(Pacem={})),function(e){e.Defaults={USE_SHADOW_ROOT:!1}}(Pacem||(Pacem={})),function(e){!function(e){e.EMPTY_MATCHER=/a^/;e.Regex=class Regex{static split(e,t){for(var r,n=0,s=[];null!=(r=t.exec(e));){s.push({value:e.substr(n,r.index-n),match:!1,index:n});let t=r[0].length;s.push({value:e.substr(r.index,t),match:!0,index:r.index}),n=r.index+t}return n<e.length&&s.push({value:e.substr(n,e.length-n),match:!1,index:n}),s}}}(e.RegularExpressions||(e.RegularExpressions={}))}(Pacem||(Pacem={})),function(e){const t="_exp";e.Storage=class Storage{_getStorage(e){return e?window.localStorage:window.sessionStorage}_parseValue(r,n){const s=r.getItem(n);if(e.Utils.isNullOrEmpty(s))return null;const i=e.Utils.Json.parse(s);if(!Object.hasOwnProperty(t))return i;return i[t]<Date.now()?(r.removeItem(n),null):i.value}setPropertyValue(r,n,s){var i=this._getStorage(!0===s||"number"==typeof s&&s>0),a=n;if("number"==typeof s&&s>0){const e=Date.now()+1e3*s;(a={value:n})[t]=e}i.setItem(r,e.Utils.Json.stringify(a)),(i=this._getStorage(!s)).removeItem(r)}getPropertyValue(e){return this._parseValue(this._getStorage(!1),e)||this._parseValue(this._getStorage(!0),e)}clear(){var e=this._getStorage(!0);e.clear(),(e=this._getStorage(!1)).clear()}removeProperty(e){var t=this._getStorage(!0);t.removeItem(e),(t=this._getStorage(!1)).removeItem(e)}}}(Pacem||(Pacem={})),function(e){class TemplateElement extends HTMLElement{}e.TemplateElement=TemplateElement}(Pacem||(Pacem={})),function(e){class Transforms{static highlight(t,r,n=e.PCSS+"-highlight"){if(!r||!t)return t;let s=t.substr(0);const i=r.substr(0).split(" ");for(var a=0;a<i.length;a++){const e=i[a].replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),t=new RegExp("(?![^<>]*>)"+e,"gi");s=s.replace(t,(function(e,t,r){var s;return(s=r.indexOf("<",t))!=r.indexOf("</",t)||-1==s?'<span class="'+n+'">'+e+"</span>":e}))}return s}static padleft(t,r,n){return e.Utils.leftPad(""+t,r,n)}static size(e){return e>0?e<1024?e+" B":e<1048576?(e/1024).toFixed(2)+" kB":e<1073741824?(e/1048576).toFixed(2)+" MB":(e/1073741824).toFixed(2)+" GB":"-"}static decToDeg(e,t="° ",r="' ",n='"'){const s=Math.sign(e);e=Math.abs(e);const i=Math.floor(e),a=60*(e-i),o=Math.floor(a),l=60*(a-o);return(s<0?"-":"")+i+t+o+r+Math.floor(l)+n}static date(t,r,n){var s=e.Utils.parseDate(t),i=n||navigator.language;if(!e.Utils.isNull(r)&&"string"!=typeof r)return s.toLocaleString(n,r);switch(r){case"iso":return s.toISOString();case"isodate":return s.toISOString().substr(0,10);case"localdate":return`${s.getFullYear()}-${e.Utils.leftPad(s.getMonth()+1,2,"0")}-${e.Utils.leftPad(s.getDate(),2,"0")}`;case"time":case"localtime":return s.toLocaleTimeString(i,{hour:"numeric",minute:"numeric",second:"numeric",hour12:!1});case"full":const t=-s.getTimezoneOffset()/60;var a="";return 0!=t&&(a=" (UTC"+(t>0?"+":"-")+Math.abs(t).toLocaleString()+")"),s.toLocaleString(i)+a;default:return s.toLocaleDateString(i)}}static timespan(t,r,n){const s=e.Utils.parseDate(t),i=e.Utils.parseDate(r).valueOf()-s.valueOf(),a=864e5,o=36e5;return`${Math.floor(i/a)}d ${Math.floor(i%a/o)}h ${Math.floor(i%o/6e4)}m ${Math.floor(i%6e4/1e3)}s ${Math.floor(i%1e3)}ms`}static currency(e,t,r){return new Intl.NumberFormat(r||navigator.language,{style:"currency",currency:t}).format(e)}static number(e,t,r){return"string"==typeof t?new Intl.NumberFormat(t||navigator.language).format(e):new Intl.NumberFormat(r||navigator.language,t).format(e)}static filter(e,t){return e.filter(t)}static orderby(t,r){return t.sort(((t,n)=>(e.Utils.isNullOrEmpty(r)||(t=t[r],n=n[r]),t>n?1:t<n?-1:0)))}static isEmpty(t){return e.Utils.isEmpty(t)}static isNull(t){return e.Utils.isNull(t)}static isNullOrEmpty(t){return e.Utils.isNullOrEmpty(t)}}__decorate([e.Transformer()],Transforms,"highlight",null),__decorate([e.Transformer()],Transforms,"padleft",null),__decorate([e.Transformer()],Transforms,"size",null),__decorate([e.Transformer()],Transforms,"decToDeg",null),__decorate([e.Transformer()],Transforms,"date",null),__decorate([e.Transformer()],Transforms,"timespan",null),__decorate([e.Transformer()],Transforms,"currency",null),__decorate([e.Transformer()],Transforms,"number",null),__decorate([e.Transformer()],Transforms,"filter",null),__decorate([e.Transformer()],Transforms,"orderby",null),__decorate([e.Transformer()],Transforms,"isEmpty",null),__decorate([e.Transformer()],Transforms,"isNull",null),__decorate([e.Transformer()],Transforms,"isNullOrEmpty",null)}(Pacem||(Pacem={})),function(e){!function(e){const t=.5*Math.PI,r=e=>e,n=e=>Math.sin(e*t-t)+1,s=e=>Math.sin(e*t),i=e=>.5*Math.sin(e*Math.PI-t)+.5,a=e=>(Math.pow(Math.E,e)-1)/(Math.E-1),o=e=>Math.log(e*(Math.E-1)+1),l=t=>t<.5?.5*e.Easings.expoIn(2*t):.5*(1+e.Easings.expoOut(2*t-1));function c(e,t){const r=t=>e(t);return r.css=t,r}e.Easings={linear:c(r,"linear"),sineIn:c(n,"cubic-bezier(0.12, 0, 0.39, 0)"),sineOut:c(s,"cubic-bezier(0.61, 1, 0.88, 1)"),sineInOut:c(i,"cubic-bezier(0.37, 0, 0.63, 1)"),expoIn:c(a,"cubic-bezier(0.7, 0, 0.84, 0)"),expoOut:c(o,"cubic-bezier(0.16, 1, 0.3, 1)"),expoInOut:c(l,"cubic-bezier(0.87, 0, 0.13, 1)")}}(e.Animations||(e.Animations={}))}(Pacem||(Pacem={})),function(e){!function(t){class AnimationEvent extends e.CustomTypedEvent{constructor(e){super("step",e)}}t.AnimationEvent=AnimationEvent;class AnimationEndEvent extends CustomEvent{constructor(){super("end")}}t.AnimationEndEvent=AnimationEndEvent;class AnimationStartEvent extends CustomEvent{constructor(){super("start")}}t.AnimationStartEvent=AnimationStartEvent}(e.Animations||(e.Animations={}))}(Pacem||(Pacem={})),function(e){!function(t){t.TweenService=class TweenService{run(r,n,s,i=0,a=t.Easings.linear,o=null){var l=e.DeferPromise.defer();const c=(performance&&performance.now()||Date.now())+Math.abs(i||0),d=c+Math.abs(s||0),m=()=>{const t=performance&&performance.now()||Date.now();if(t>=c&&t<d){const i=(t-c)/s,l=r+(a||e.Animations.Easings.linear)(i)*(n-r);o&&o(i,l)}t<d?requestAnimationFrame(m):(o&&o(1,n),l.resolve())};return m(),l.promise}}}(e.Animations||(e.Animations={}))}(Pacem||(Pacem={})),function(e){!function(t){const r=()=>{};let n;!function(e){e.Get="GET",e.Post="POST",e.Put="PUT",e.Delete="DELETE",e.Options="OPTIONS",e.Head="HEAD"}(n=t.HttpMethod||(t.HttpMethod={}));class StatusCodeError extends Error{constructor(e,t){super(t),this.statusCode=e}get status(){return this.statusCode}}t.StatusCodeError=StatusCodeError;class Response{constructor(e,t){e&&(this._status=e.status,this._body=e.response,this._text=e.responseText,this._type=e.responseType,this._allHeadersRaw=e.getAllResponseHeaders(),this._processTime=t)}get processTime(){return this._processTime}get headers(){return void 0===this._headers&&this._allHeadersRaw&&this._parseHeaders(),this._headers}get size(){return+this.headers["Content-Length"]}get mime(){return this.headers["Content-Type"]}get date(){return new Date(Date.parse(this.headers.Date))}_parseHeaders(){let e={};this._allHeadersRaw.split("\r\n").forEach((t=>{if(t&&t.length){let r=t.indexOf(":"),n=t.substr(0,r).trim(),s=t.substr(r+1).trim();e[n]=s}})),this._headers=e}get status(){return this._status}get text(){return this._text}get content(){return this._body}get type(){return this._type}get json(){if("json"===this._type)return this._body;try{return JSON.parse(this._text)}catch(e){return}}}t.Response=Response;t.Http=class Http{constructor(){}request(t,s){var i=this;let a=e.DeferPromise.defer();var o=(s=s||{method:n.Get}).method||n.Get,l=s.data||{},c=s.progress||r,d=s.headers||{};i.accessToken&&(d.Authorization="Bearer "+i.accessToken);var m,h,u=new XMLHttpRequest;switch(u.withCredentials=!1,u.addEventListener("progress",(e=>{if(e.lengthComputable){var t=e.loaded/e.total;"function"==typeof c&&c.apply(i,[t])}}),!1),u.addEventListener("error",(e=>{a.reject(new StatusCodeError(500,e.message||"Unknown error"))}),!1),u.addEventListener("load",(()=>{if(u.status>=200&&u.status<300){var e=new Response(u,Date.now()-m);a.resolve(e)}else a.reject(new StatusCodeError(u.status,u.statusText))}),!1),o.toUpperCase()){case n.Get:t+=(/\?/.test(t)?"&":"?")+("string"==typeof l?l:Object.keys(l).map((function(e){return encodeURIComponent(e)+"="+encodeURIComponent(l[e])})).join("&"));break;case n.Post:h=JSON.stringify(l)}switch(u.open(o,t,!0),o.toUpperCase()){case n.Get:u.setRequestHeader("X-Requested-With","XMLHttpRequest");break;case n.Post:u.setRequestHeader("X-Requested-With","XMLHttpRequest"),u.setRequestHeader("Content-Type","application/json")}for(var p in d)u.setRequestHeader(p,d[p]);return m=Date.now(),u.send(h),a.promise}get(e,t,r){return this.request(e,{method:n.Get,data:t,headers:r||{}})}post(e,t,r){return this.request(e,{method:n.Post,data:t,headers:r||{}})}}}(e.Net||(e.Net={}))}(Pacem||(Pacem={})),function(e){!function(e){e.FetchResultEventName="fetchresult",e.FetchErrorEventName="error",e.FetchSuccessEventName="success";e.Fetcher=class Fetcher{static isEmpty(e){return 204===e.status||"0"===e.headers.get("Content-Length")}}}(e.Net||(e.Net={}))}(Pacem||(Pacem={})),function(e){!function(t){let r,n,s,i;!function(e){e.Self="self",e.Alias="alias",e.Copy="copy"}(r=t.DragDataMode||(t.DragDataMode={})),function(e){e.InsertChild="insert",e.None="none"}(n=t.DropBehavior||(t.DropBehavior={})),function(e){e.Revert="revert",e.Remove="remove",e.None="none"}(s=t.DropTargetMissedBehavior||(t.DropTargetMissedBehavior={})),function(e){e.Init="draginit",e.Start="dragstart",e.Drag="drag",e.Drop="drop",e.Over="dragover",e.Out="dragout",e.End="dragend"}(i=t.DragDropEventType||(t.DragDropEventType={}));class DragDropEventArgsBaseClass{constructor(e){this._builder=e,this.currentPosition=e.currentPosition,this.target=e.target}get element(){return this._builder.element}get origin(){return this._builder.origin}get initialDelta(){return this._builder.initialDelta}get startTime(){return this._builder.startTime}get floater(){return this._builder.floater}get delta(){var t=this;return e.Point.add(t.initialDelta,e.Point.subtract(t.origin,t.currentPosition))}}class DragDropInitEventArgsClass extends DragDropEventArgsBaseClass{constructor(e){super(e),this.placeholder=e.placeholder,this.data=e.data}static fromArgs(t){return new DragDropInitEventArgsClass(e.Utils.extend({},t))}}t.DragDropInitEventArgsClass=DragDropInitEventArgsClass;class DragDropEventArgsClass extends DragDropEventArgsBaseClass{constructor(e,t=e.placeholder,r=e.data){super(e),this._placeholder=t,this._data=r}get placeholder(){return this._placeholder}get data(){return this._data}static fromArgs(t){return new DragDropEventArgsClass(e.Utils.extend({},t))}}t.DragDropEventArgsClass=DragDropEventArgsClass;class DragDropEvent extends e.CustomUIEvent{constructor(e,t,r,n){super(e,t,r,n)}}t.DragDropEvent=DragDropEvent}(e.UI||(e.UI={}))}(Pacem||(Pacem={})),function(e){!function(t){let r,n;!function(e){e.All="all",e.Top="top",e.Left="left",e.Right="right",e.Bottom="bottom"}(r=t.RescaleHandle||(t.RescaleHandle={})),function(e){e.Start="rescalestart",e.Rescale="rescale",e.End="rescaleend"}(n=t.RescaleEventType||(t.RescaleEventType={}));class RescaleEventArgsClass{constructor(e){this._builder=e}get currentPosition(){return this._builder.currentPosition}get targetRect(){return this._builder.targetRect}get element(){return this._builder.element}get handle(){return this._builder.handle}static fromArgs(t){return new RescaleEventArgsClass(e.Utils.extend({},t))}}t.RescaleEventArgsClass=RescaleEventArgsClass;class RescaleEvent extends e.CustomUIEvent{constructor(e,t,r,n){super(e,t,r,n)}}t.RescaleEvent=RescaleEvent}(e.UI||(e.UI={}))}(Pacem||(Pacem={})),function(e){!function(t){let r;!function(e){e.Start="rotatestart",e.Rotate="rotate",e.End="rotateend"}(r=t.RotateEventType||(t.RotateEventType={}));class RotateEventArgsClass{constructor(e){this._builder=e}get currentPosition(){return this._builder.currentPosition}get rotation(){return this._builder.rotation}get element(){return this._builder.element}get center(){return this._builder.center}static fromArgs(t){return new RotateEventArgsClass(e.Utils.extend({},t))}}t.RotateEventArgsClass=RotateEventArgsClass;class RotateEvent extends e.CustomUIEvent{constructor(e,t,r,n){super(e,t,r,n)}}t.RotateEvent=RotateEvent}(e.UI||(e.UI={}))}(Pacem||(Pacem={})),function(e){!function(t){let r;!function(e){e.Swipe="swipe",e.SwipeLeft="swipeleft",e.SwipeRight="swiperight",e.SwipeAnimationEnd="swipeanimationend",e.SwipeLeftAnimationEnd="swipeleftanimationend",e.SwipeRightAnimationEnd="swiperightanimationend"}(r=t.SwipeEventType||(t.SwipeEventType={}));class SwipeEventArgsClass{constructor(e){this._builder=e}get direction(){return this._builder.horizontalspeed>0?"right":"left"}get speed(){return Math.abs(this._builder.horizontalspeed)}get element(){return this._builder.element}static fromArgs(t){return new SwipeEventArgsClass(e.Utils.extend({},t))}}t.SwipeEventArgsClass=SwipeEventArgsClass;class SwipeEvent extends e.CustomTypedEvent{constructor(e,t,r){super(e,t,r)}}t.SwipeEvent=SwipeEvent}(e.UI||(e.UI={}))}(Pacem||(Pacem={})),function(e){!function(t){var r;class PacemBehavior extends e.Components.PacemEventTarget{constructor(){super(...arguments),r.set(this,new WeakSet)}register(e){var t=__classPrivateFieldGet(this,r,"f");t.has(e)||(t.add(e),this.decorate(e))}unregister(e){var t=__classPrivateFieldGet(this,r,"f");t.has(e)&&(this.undecorate(e),t.delete(e))}has(e){return __classPrivateFieldGet(this,r,"f").has(e)}}r=new WeakMap,t.PacemBehavior=PacemBehavior}(e.Behaviors||(e.Behaviors={}))}(Pacem||(Pacem={})),function(e){!function(t){const r=e.CustomElementUtils.getAttachedPropertyValue,n=e.CustomElementUtils.setAttachedPropertyValue,s=e.CustomElementUtils.deleteAttachedPropertyValue,i="pacem:dragdrop:mousedown",a="pacem:dragdrop:info",o="pacem:dragdrop:delegate";class DragElementDelegate{constructor(t,n){this._logFn=n,this._started=!1,this._enterHandler=e=>{this._currentTarget=e.target},this._leaveHandler=e=>{this._currentTarget=null},this._revertTrackedTarget=null,this._moveHandler=t=>{"wheel"!==t.type&&e.avoidHandler(t);var n,s=this._element,i=this._dragDropper,o=r(s,a);if(!this._started){if(this._logFn(e.Logging.LogLevel.Info,"Dragging act started"),this._started=!0,i.dropBehavior===e.UI.DropBehavior.InsertChild){var l=s;do{l=l.parentElement}while(l&&-1==i.dropTargets.indexOf(l));this._currentTarget=l}i.dispatchEvent(new e.UI.DragDropEvent(e.UI.DragDropEventType.Start,e.UI.DragDropEventArgsClass.fromArgs(o),{},t))}if(!e.Utils.isNull(o)){this._logFn(e.Logging.LogLevel.Debug,"Dragging act ongoing");const r=t instanceof MouseEvent;e.Utils.addClass(e.CustomElementUtils.findAncestorShell(s),e.PCSS+"-dragging");o.currentPosition=n=n||(t instanceof MouseEvent?{x:t.pageX,y:t.pageY}:{x:t.touches[0].pageX,y:t.touches[0].pageY});let a=o.floater,l=new e.UI.DragDropEvent(e.UI.DragDropEventType.Drag,e.UI.DragDropEventArgsClass.fromArgs(o),{cancelable:!0},t);if(i.dispatchEvent(l),!l.defaultPrevented&&(a instanceof HTMLElement||a instanceof SVGElement)){let e={x:l.detail.delta.x,y:l.detail.delta.y};a.style.transform=`translate3d(${e.x}px, ${e.y}px, 0)`}var c=this._currentTarget;!r&&i.dropTargets.length>0&&(c=document.elementsFromPoint(o.currentPosition.x-e.Utils.scrollLeft,o.currentPosition.y-e.Utils.scrollTop).find((e=>i.dropTargets.indexOf(e)>=0)));var d=o.target;if(c!==d)if(e.Utils.isNull(d)||(e.Utils.removeClass(d,e.PCSS+"-dropping"),i.dispatchEvent(new e.UI.DragDropEvent(e.UI.DragDropEventType.Out,e.UI.DragDropEventArgsClass.fromArgs(o),{},t)),this._logFn(e.Logging.LogLevel.Info,`Drop area left (${d.id||d.constructor.name})`)),-1!=i.dropTargets.indexOf(c)){o.target=c,this._logFn(e.Logging.LogLevel.Info,`Drop area entering (${o.target.id||o.target.constructor.name})`);let r=new e.UI.DragDropEvent(e.UI.DragDropEventType.Over,e.UI.DragDropEventArgsClass.fromArgs(o),{cancelable:!0},t);i.dispatchEvent(r),r.defaultPrevented?delete o.target:(e.Utils.addClass(o.target,e.PCSS+"-dropping"),this._logFn(e.Logging.LogLevel.Info,`Drop area entered (${o.target.id||o.target.constructor.name})`))}else delete o.target;if(this._revertTrackedTarget=o.target||d,e.Utils.isNull(o.target)||i.dropBehavior!==e.UI.DropBehavior.InsertChild){if(e.Utils.isNull(o.target)&&i.mode===e.UI.DragDataMode.Copy){const e=o.placeholder;e instanceof Element&&e.remove()}}else this._insertChild(c,o)}},this._endHandler=t=>{var n,i=this._element,o=e.CustomElementUtils.findAncestorShell(i),l=this._dragDropper;if(!e.Utils.isNull(n=r(i,a))){t instanceof MouseEvent&&e.avoidHandler(t);let r=()=>{let r=n.floater;(r instanceof HTMLElement||r instanceof SVGElement)&&(r.style.pointerEvents=""),l.mode!==e.UI.DragDataMode.Self&&n.floater.remove(),e.Utils.removeClass(i,e.PCSS+"-dragging"),e.Utils.removeClass(i,e.PCSS+"-drag-lock"),s(i,a),e.Utils.isNull(n.placeholder)||(e.Utils.removeClass(n.placeholder,e.PCSS+"-dragging"),e.Utils.removeClass(n.placeholder,"drag-placeholder"),e.Utils.removeClass(n.placeholder,e.PCSS+"-drag-lock"),s(n.placeholder,a));const c=!e.Utils.isNull(n.target);c&&(l.dispatchEvent(new e.UI.DragDropEvent(e.UI.DragDropEventType.Drop,e.UI.DragDropEventArgsClass.fromArgs(n),{},t)),e.Utils.removeClass(n.target,e.PCSS+"-dropping"));const d=n.data,m=(l.dropTargets,n.placeholder),h=this._repeaterItem,u=this._sourceRepeater,p=!e.Utils.isNull(h),v=m&&this._findTargetRepeaterItem(n.placeholder.parentElement,n.placeholder.nextElementSibling),g=v&&v.repeater,f=l.mode===e.UI.DragDataMode.Copy,_=c&&!e.Utils.isNull(g)&&!(e.Utils.isNull(h)&&u===g);if(p&&!f&&c&&u.removeItem(h.index),_)if(n.placeholder.remove(),g!==u||f)f||u&&u.datasource.splice(h.index,1),g&&(g.datasource=g.datasource||[]).splice(v.index,0,d);else{let e=h.index,t=v.index;t>e&&t--,u.datasource.moveWithin(e,t)}c||e.Utils.isNullOrEmpty(l.dropTargets)||l.spillBehavior!==e.UI.DropTargetMissedBehavior.Remove||f||(p?u.datasource.splice(h.index,1):i.remove()),l.dispatchEvent(new e.UI.DragDropEvent(e.UI.DragDropEventType.End,e.UI.DragDropEventArgsClass.fromArgs(n),{},t)),e.Utils.removeClass(o,e.PCSS+"-dragging")};const d=n.placeholder||n.element;if(n.floater!=d){let t=n.floater;var c=e.Utils.deserializeTransform(getComputedStyle(t));if(!e.Utils.isNull(n.target)||l.spillBehavior===e.UI.DropTargetMissedBehavior.Revert||l.dropBehavior===e.UI.DropBehavior.InsertChild&&l.spillBehavior!==e.UI.DropTargetMissedBehavior.Remove){const r=e.Utils.offset(d),n=e.Utils.offset(t);t.style.transition="transform .2s ease-in-out",c=e.Matrix2D.translate(c,{x:r.left-n.left,y:r.top-n.top})}else t.style.transition="transform .2s ease-in, opacity .2s linear",c=e.Matrix2D.scale(c,.1),t.style.opacity="0";e.Utils.addAnimationEndCallback(t,r,300),t.style.transform=`matrix(${c.a},${c.b},${c.c},${c.d},${c.e},${c.f})`}else r()}e.Utils.removeClass(i,e.PCSS+"-drag-lock"),this.dispose(),this._logFn(e.Logging.LogLevel.Info,"Dragging act disposed")},this._dragDropper=t.dragDrop,e.Utils.addClass(this._element=t.element,e.PCSS+"-drag-lock"),window.addEventListener("mouseup",this._endHandler,!1),window.addEventListener("touchend",this._endHandler,!1),window.addEventListener("mousemove",this._moveHandler,!1),document.addEventListener("wheel",this._moveHandler,!1),window.addEventListener("touchmove",this._moveHandler,{capture:!0,passive:!1}),this._dragDropper.dropTargets.forEach((e=>{e.addEventListener("mouseenter",this._enterHandler,!1),e.addEventListener("mouseleave",this._leaveHandler,!1)}));var i=e.Repeater.findItemContext(this._element,0,null);i&&(i.dom&&1===i.dom.length&&i.dom[0]===this._element&&(this._repeaterItem=i),this._sourceRepeater=i.repeater),this._bootstrap(t.placeholder,t.data)}_getLogicalData(e){return e instanceof t.RepeaterItem?e.item:e instanceof HTMLElement?e.dataset:e}_getPhysicalData(e){return e instanceof t.RepeaterItem?e.dom:[e]}_createFloater(t,r){let n=t;if(this._dragDropper.mode!=e.UI.DragDataMode.Self&&(n=n.cloneNode(!0),e.CustomElementUtils.stripObservedAttributes(n),n instanceof HTMLElement||n instanceof SVGElement)){e.Utils.addClass(n,e.PCSS+"-drag-floater"),e.CustomElementUtils.findAncestorShell(this._element).appendChild(n),n.style.position="absolute";let s={left:r.x+n.clientWidth/2,top:r.y-n.clientHeight/2};if(t===this._element||t.classList.contains("drag-floater-resize")){let t=e.Utils.offset(this._element);n.style.boxSizing="border-box",n.style.width=t.width+"px",n.style.height=t.height+"px",s={left:t.left,top:t.top}}n.style.left=`${s.left}px`,n.style.top=`${s.top}px`}return(n instanceof HTMLElement||n instanceof SVGElement)&&(n.style.pointerEvents="none"),n}_findTargetRepeaterItem(r,n){var s=e.Repeater.findItemContext(n,0,null);if(!e.Utils.isNull(s))return{repeater:s.repeater,index:s.index};var i=null;return i=r instanceof t.PacemRepeaterElement?r:e.CustomElementUtils.findAncestorOfType(r,t.PacemRepeaterElement),e.Utils.isNull(i)?null:{repeater:i,index:i.datasource&&i.datasource.length||0}}_findNextSibling(t,r){const n=Array.from(t.children),s=(n.length,document.elementFromPoint(r.currentPosition.x-e.Utils.scrollLeft,r.currentPosition.y-e.Utils.scrollTop));let i;if(s===t)return this._currentHover=i=r.placeholder,i.parentElement===t?i.nextElementSibling:null;for(var a=s;a.parentElement!=t&&null!=a.parentElement;)a=a.parentElement;if(a.parentElement!=t||a===r.placeholder)return this._currentHover=i=r.placeholder,i.nextElementSibling;if(a!=this._currentHover){i=this._currentHover;const e=n.indexOf(i),t=n.indexOf(a);return this._currentHover=a,e>t?a:a.nextElementSibling}return a}_insertChild(t,r){const n=r.placeholder||r.element,s=r.target,i=this._findNextSibling(s,r);n.nextSibling==i&&n.parentElement==s||(e.Utils.isNull(i)||i.parentElement==t)&&(t.insertBefore(n,i),this._logFn(e.Logging.LogLevel.Info,`Positioned before ${i&&(i.id||i.constructor.name)||"null"} for drop`))}_bootstrap(t,o){var l,c,d=this._element,m=this._dragDropper;if(!e.Utils.isNull(l=r(d,i))){this._started=!1,s(d,i),e.Utils.addClass(d,e.PCSS+"-dragging");let r=getComputedStyle(d),h={x:0,y:0},u=e.Utils.deserializeTransform(r);h.x+=u.e,h.y+=u.f;let p=this._createFloater(m.floater||d,l);if(e.Utils.isNull(t))switch(m.mode){case e.UI.DragDataMode.Alias:t=d;break;case e.UI.DragDataMode.Copy:t=d.cloneNode(!0)}e.Utils.isNull(t)||e.Utils.addClass(t,"drag-placeholder"),e.Utils.isNull(this._repeaterItem)||e.Utils.isNull(t)||e.CustomElementUtils.freezeObservedAttributes(t);c={element:d,placeholder:t||d,data:o||this._getLogicalData(this._repeaterItem||d),startTime:Date.now(),origin:l,initialDelta:h,currentPosition:l,floater:p},n(d,a,c)}}dispose(){this._dragDropper.dropTargets.forEach((e=>{e.removeEventListener("mouseenter",this._enterHandler,!1),e.removeEventListener("mouseleave",this._leaveHandler,!1)})),window.removeEventListener("mouseup",this._endHandler,!1),window.removeEventListener("touchend",this._endHandler,!1),window.removeEventListener("mousemove",this._moveHandler,!1),document.removeEventListener("wheel",this._moveHandler,!1),window.removeEventListener("touchmove",this._moveHandler,{capture:!0})}}let l=class PacemDragDropElement extends e.Behaviors.PacemBehavior{constructor(){super(...arguments),this._startHandler=t=>{if(this.disabled)return;if(!e.Utils.isNullOrEmpty(this.handleSelector)&&t.currentTarget.querySelector(this.handleSelector)!==t.target)return;const r=t.currentTarget,s=e.CustomEventUtils.getEventCoordinates(t).page;let a=r,l=e.UI.DragDropInitEventArgsClass.fromArgs({element:a,placeholder:null,currentPosition:s,origin:s,initialDelta:{x:0,y:0},startTime:null,floater:null,data:null});const c=new e.UI.DragDropEvent(e.UI.DragDropEventType.Init,l,{cancelable:!0},t);if(this.dispatchEvent(c),c.defaultPrevented)return;e.avoidHandler(t);const d=t=>{this.log(e.Logging.LogLevel.Info,"Drag avoided!"),clearTimeout(m)},m=setTimeout((()=>{r.removeEventListener("mouseup",d,!1),r.removeEventListener("touchend",d,!1),this.log(e.Logging.LogLevel.Info,"Drag locked!"),n(r,i,s),n(r,o,new DragElementDelegate({element:a,dragDrop:this,placeholder:l.placeholder,data:l.data},((e,t,r)=>this.log.apply(this,[e,t,r]))))}),this.lockTimeout);r.addEventListener("mouseup",d,!1),r.addEventListener("touchend",d,!1)},this.lockTimeout=100,this.dropTargets=[],this.mode=e.UI.DragDataMode.Self}decorate(e){e.addEventListener("mousedown",this._startHandler,!1),e.addEventListener("touchstart",this._startHandler,{capture:!1,passive:!1})}undecorate(e){e.removeEventListener("mousedown",this._startHandler,!1),e.removeEventListener("touchstart",this._startHandler,{capture:!1,passive:!1})}addEventListener(e,t,r){super.addEventListener(e,t,r)}removeEventListener(e,t,r){super.removeEventListener(e,t,r)}dispatchEvent(t){return t.type===e.UI.DragDropEventType.End&&(s(t.detail.element,i),s(t.detail.element,o)),super.dispatchEvent(t)}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],l.prototype,"lockTimeout",void 0),__decorate([e.Watch({emit:!1})],l.prototype,"dropTargets",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],l.prototype,"mode",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Element})],l.prototype,"floater",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],l.prototype,"dropBehavior",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],l.prototype,"spillBehavior",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],l.prototype,"handleSelector",void 0),l=__decorate([e.CustomElement({tagName:e.P+"-drag-drop"})],l),t.PacemDragDropElement=l}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){var r,n,s,i;t.RepeaterItemCreateEventName="repeateritemcreate",t.RepeaterItemRemoveEventName="repeateritemremove";class RepeaterItemEvent extends e.CustomTypedEvent{constructor(e,t){super(e,t)}}t.RepeaterItemEvent=RepeaterItemEvent;t.RepeaterItemCreateEvent=class RepeaterItemCreateEvent extends RepeaterItemEvent{constructor(e){super(t.RepeaterItemCreateEventName,e)}};t.RepeaterItemRemoveEvent=class RepeaterItemRemoveEvent extends RepeaterItemEvent{constructor(e){super(t.RepeaterItemRemoveEventName,e)}};const a=["keydown","keyup","click","focus","blur","dblclick","mouseover","mouseout","mouseenter","mouseleave","mousedown","mouseup","mousemove","contextmenu","wheel"];class ElementAriaAttributes{constructor(t,r){this._element=t,this._aria=e.Utils.extend({},r||{})}toObject(){return e.Utils.extend({},this._aria)}set(e,t){this._aria[e]=t;const r=this._element;r.isConnected&&r.setAttribute("aria-"+e,t)}remove(e){delete this._aria[e];const t=this._element;t.isConnected&&t.removeAttribute("aria-"+e)}}class ElementAria{constructor(e,t,r){this._element=e,this._aria={role:t,attrs:new ElementAriaAttributes(e,r)}}get role(){return this._aria.role}set role(t){this._aria.role=t;const r=this._element;r.isConnected&&(e.Utils.isNullOrEmpty(t)?r.removeAttribute("role"):r.setAttribute("role",t))}get attributes(){return this._aria.attrs}}class PacemElement extends t.PacemEventTarget{constructor(e,t){super(),s.set(this,[]),i.set(this,[]),this._tabIndex=-1,this.behaviors=[],this._aria=new ElementAria(this,e,t)}get aria(){return this._aria}static get emittedEventTypes(){var t;return __classPrivateFieldSet(this,r,null!==(t=__classPrivateFieldGet(this,r,"f",n))&&void 0!==t?t:e.Utils.readonlyCopy(a),"f",n)}connectedCallback(){super.connectedCallback(),e.Utils.isNullOrEmpty(this._aria.role)||this.setAttribute("role",this._aria.role);let t=this._aria.attributes.toObject();if(!e.Utils.isNullOrEmpty(t))for(let e in t)this.setAttribute("aria-"+e,t[e])}viewActivatedCallback(){for(var e of(super.viewActivatedCallback(),a.forEach((e=>{this.addEventListener(e,this.emitHandler,!1)})),this.behaviors||[]))e.register(this)}disconnectedCallback(){for(var e of this.behaviors||[])e.unregister(this);a.forEach((e=>{this.removeEventListener(e,this.emitHandler,!1)})),super.disconnectedCallback()}propertyChangedCallback(t,r,n,a){switch(super.propertyChangedCallback(t,r,n,a),t){case"css":for(var o in this.css)this.style.setProperty(o,this.css[o]);break;case"cssClass":if(e.Utils.isArray(this.cssClass)){const t=this.cssClass;for(let t of __classPrivateFieldGet(this,s,"f").splice(0))e.Utils.removeClass(this,t);for(let r of t)__classPrivateFieldGet(this,s,"f").push(r),e.Utils.addClass(this,r)}else for(let t in this.cssClass)this.cssClass[t]?e.Utils.addClass(this,t):e.Utils.removeClass(this,t);break;case"cssPart":const l=this.cssPart,c=__classPrivateFieldGet(this,i,"f");if(e.Utils.isArray(l)){const t=l;for(let t of c.splice(0))e.Utils.removePart(this,t);for(let r of t)c.push(r),e.Utils.addPart(this,r)}else for(let t in l)l[t]?e.Utils.addPart(this,t):e.Utils.removePart(this,t);break;case"hide":n?(this.setAttribute("hidden",""),this.aria.attributes.set("hidden","true")):(this.removeAttribute("hidden"),this.aria.attributes.remove("hidden"));break;case"tooltip":this.title=n,e.Utils.isNullOrEmpty(n)?this.aria.attributes.remove("label"):this.aria.attributes.set("label",n);break;case"tabOrder":this._tabIndex=n,this.disabled||(this.tabIndex=n);break;case"behaviors":if(!e.Utils.isNullOrEmpty(r))for(let e of r)e.unregister(this);if(!e.Utils.isNullOrEmpty(n)&&!a)for(let e of n)e.register(this);break;case"disabled":let d=e.PCSS+"-"+t;n?(this._tabIndex=this.tabIndex,this.tabIndex=-1,e.Utils.addClass(this,d)):(this.tabIndex=this._tabIndex,e.Utils.removeClass(this,d));break;case"culture":e.Utils.isNullOrEmpty(n)?this.removeAttribute("lang"):this.setAttribute("lang",n),a||this.refreshBindings()}}}r=PacemElement,s=new WeakMap,i=new WeakMap,n={value:null},__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Json})],PacemElement.prototype,"cssClass",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Json})],PacemElement.prototype,"cssPart",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Json})],PacemElement.prototype,"css",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Boolean})],PacemElement.prototype,"hide",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],PacemElement.prototype,"tooltip",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],PacemElement.prototype,"tabOrder",void 0),__decorate([e.Watch({converter:e.PropertyConverters.String})],PacemElement.prototype,"culture",void 0),__decorate([e.Watch({emit:!1})],PacemElement.prototype,"behaviors",void 0),t.PacemElement=PacemElement;class PacemContentElement extends PacemElement{propertyChangedCallback(e,t,r,n){super.propertyChangedCallback(e,t,r,n),"content"!==e||n||this._fillContent(r)}_isContentNullOrEmpty(t=this.content){return e.Utils.isNullOrEmpty(t)||t instanceof DocumentFragment&&0===t.childElementCount}viewActivatedCallback(){super.viewActivatedCallback(),this._original=Array.from(this.children),this._isContentNullOrEmpty()||this._fillContent()}disconnectedCallback(){e.Utils.isNullOrEmpty(this._original)||(this.innerHTML="",Element.prototype.append.apply(this,this._original)),super.disconnectedCallback()}_fillContent(t=this.content){const r=this.sanitize(t);e.Utils.isNullOrEmpty(r)?this.innerHTML="":r instanceof Node?(this.innerHTML="",this.append(r)):this.innerHTML=r}}__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],PacemContentElement.prototype,"content",void 0),t.PacemContentElement=PacemContentElement;t.PacemUnsafeContentElement=class PacemUnsafeContentElement extends PacemContentElement{sanitize(e){return e}};t.PacemSafeContentElement=class PacemSafeContentElement extends PacemContentElement{sanitize(t){if(e.Utils.isNullOrEmpty(t))return t;if(t instanceof Node){for(let e=t.childNodes.length-1;e>=0;e--){const r=t.childNodes.item(e);r instanceof HTMLScriptElement?r.remove():this.sanitize(r)}return t}{const e=/<script.+<\/script>/g;return(t||"").toString().replace(e,"")}}}}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){class RescaleElementDelegate{constructor(t,n,i,a){this._element=t,this._type=n,this._rescaler=i,this._logFn=a,this._startTime=Date.now(),this._moveHandler=t=>{t.stopPropagation();const r=this._element,n=this._origin,s=this._rescaler,i=this._type,a=s.keepProportions,o=s.minWidth||0,l=s.minHeight||0,c=s.maxWidth||Number.MAX_SAFE_INTEGER,d=s.maxHeight||Number.MAX_SAFE_INTEGER,m=t instanceof MouseEvent?{x:t.pageX,y:t.pageY}:{x:t.touches[0].pageX,y:t.touches[0].pageY},h={x:m.x,y:m.y},u=this._rect;switch(i){case"top":case"bottom":h.x=n.x;break;case"left":case"right":h.y=n.y}this._position=h;const p={x:h.x-n.x,y:h.y-n.y};var v;if(a){const t={x:u.x,y:u.y},r={x:u.x+u.width,y:u.y},n={x:u.x+u.width,y:u.y+u.height},s={x:u.x,y:u.y+u.height},a=e.Point.distance(n,s)/e.Point.distance(n,t),o=e.Point.distance(t,s)/e.Point.distance(n,t),l=e.Point.distance(t,n),c=(e,t)=>(e.x*t.x+e.y*t.y)/l;switch(i){case"topleft":const i=e.Point.subtract(n,t),l=c(e.Point.subtract(n,h),i),d={x:n.x-l*a,y:n.y-l*o};v={x:d.x,y:d.y,width:n.x-d.x,height:n.y-d.y};break;case"topright":const m=e.Point.subtract(s,r),u=c(e.Point.subtract(s,h),m),p={x:s.x+u*a,y:s.y-u*o};v={x:s.x,y:p.y,width:p.x-s.x,height:s.y-p.y};break;case"bottomleft":const g=e.Point.subtract(r,s),f=c(e.Point.subtract(r,h),g),_={x:r.x-f*a,y:r.y+f*o};v={x:_.x,y:r.y,width:r.x-_.x,height:_.y-r.y};break;default:const y=e.Point.subtract(t,n),E=c(e.Point.subtract(t,h),y),C={x:t.x+E*a,y:t.y+E*o};v={x:t.x,y:t.y,width:C.x-t.x,height:C.y-t.y}}}else v={x:this._rect.x,y:this._rect.y,width:this._rect.width+p.x,height:this._rect.height+p.y},i.startsWith("top")&&(v.y=this._rect.y+p.y,v.height=this._rect.height-p.y),i.endsWith("left")&&(v.x=this._rect.x+p.x,v.width=this._rect.width-p.x);this._logFn(e.Logging.LogLevel.Log,`handle: ${i}, origin: ${JSON.stringify(n)}, currentPosition: ${JSON.stringify(m)}`,"Rescaling"),this._logFn(e.Logging.LogLevel.Log,`delta: ${JSON.stringify(p)}, position: ${JSON.stringify(h)}`,"Rescaling"),this._logFn(e.Logging.LogLevel.Log,`from: ${JSON.stringify(this._rect)}, to: ${JSON.stringify(v)}`,"Rescaling");let g=v.width>=o&&v.width<=c,f=v.height>=l&&v.height<=d;if(!a||g&&f||(g=f=!1),g||(v.x=this._targetRect.x,v.width=this._targetRect.width),f||(v.y=this._targetRect.y,v.height=this._targetRect.height),g||f){const a={currentPosition:h,element:r,handle:i,origin:n,targetRect:v,startTime:this._startTime};let o=new e.UI.RescaleEvent(e.UI.RescaleEventType.Rescale,e.UI.RescaleEventArgsClass.fromArgs(a),{cancelable:!0},t);if(s.dispatchEvent(o),!o.defaultPrevented){const e=this._originalTransform;r.style.transform=`matrix(${e.a},${e.b},${e.c},${e.d},${e.e+v.x-this._rect.x},${e.f+v.y-this._rect.y})`,r.style.width=v.width+"px",r.style.height=v.height+"px"}this._targetRect=v}},this._endHandler=t=>{t.stopPropagation();const r=this._type;let n=new e.UI.RescaleEvent(e.UI.RescaleEventType.End,e.UI.RescaleEventArgsClass.fromArgs({element:this._element,origin:this._origin,handle:r,startTime:this._startTime,currentPosition:this._position,targetRect:this._targetRect}),{},t);e.Utils.removeClass(document.body,e.PCSS+"-rescaling rescale-"+r),this._rescaler.dispatchEvent(n),s(this._element,l),window.removeEventListener("mouseup",this._endHandler,!1),window.removeEventListener("touchend",this._endHandler,!1),window.removeEventListener("mousemove",this._moveHandler,!1),window.removeEventListener("touchmove",this._moveHandler,!1)},window.addEventListener("mouseup",this._endHandler,!1),window.addEventListener("touchend",this._endHandler,!1),window.addEventListener("mousemove",this._moveHandler,!1),window.addEventListener("touchmove",this._moveHandler,!1),this._origin=this._position=r(t,o),this._rect=this._targetRect=e.Utils.offsetRect(t),this._originalTransform=e.Utils.deserializeTransform(getComputedStyle(t)),e.Utils.addClass(document.body,e.PCSS+"-rescaling rescale-"+n)}}const r=e.CustomElementUtils.getAttachedPropertyValue,n=e.CustomElementUtils.setAttachedPropertyValue,s=e.CustomElementUtils.deleteAttachedPropertyValue,i="top right bottom left topleft topright bottomright bottomleft".split(" "),a="pacem:rescale:frame",o="pacem:rescale:origin",l="pacem:rescale:delegate";let c=class PacemRescaleElement extends e.Behaviors.PacemBehavior{constructor(){super(...arguments),this._bag=[],this._startHandler=t=>{t.stopPropagation();const r=e.CustomEventUtils.getEventCoordinates(t),s=t.currentTarget,i=r.page,a=/rescale-(.+)/.exec(s.className)[1],c=s.parentElement,d=new e.UI.RescaleEvent(e.UI.RescaleEventType.Start,e.UI.RescaleEventArgsClass.fromArgs({currentPosition:i,origin:i,element:c,handle:a,startTime:Date.now()}),{cancelable:!0},t);this.dispatchEvent(d),d.defaultPrevented||(e.avoidHandler(t),n(c,o,i),n(c,l,new RescaleElementDelegate(c,a,this,((e,t,r)=>this.log.apply(this,[e,t,r])))))}}decorate(t){const r=t;getComputedStyle(r);e.Utils.addClass(r,e.PCSS+"-rescalable"),this._setFrame(r)}undecorate(t){const r=t;e.Utils.removeClass(r,e.PCSS+"-rescalable"),this._removeFrame(r)}viewActivatedCallback(){super.viewActivatedCallback(),this._syncHandles()}propertyChangedCallback(e,t,r,n){switch(super.propertyChangedCallback(e,t,r,n),e){case"disabled":case"handles":case"keepProportions":this._syncHandles()}}_syncHandles(){const t=this.handles||[e.UI.RescaleHandle.All],n=null!=t.find((t=>t===e.UI.RescaleHandle.All)),s=this.disabled,i=this.keepProportions;for(let o of this._bag){let l=r(o,a);l.top.hidden=s||!n&&null==t.find((t=>t===e.UI.RescaleHandle.Top)),l.bottom.hidden=s||!n&&null==t.find((t=>t===e.UI.RescaleHandle.Bottom)),l.left.hidden=s||!n&&null==t.find((t=>t===e.UI.RescaleHandle.Left)),l.right.hidden=s||!n&&null==t.find((t=>t===e.UI.RescaleHandle.Right)),l.topleft.hidden=l.top.hidden||l.left.hidden,l.topright.hidden=l.top.hidden||l.right.hidden,l.bottomleft.hidden=l.bottom.hidden||l.left.hidden,l.bottomright.hidden=l.bottom.hidden||l.right.hidden,i&&(l.top.hidden=l.bottom.hidden=l.left.hidden=l.right.hidden=!0)}}_setFrame(t){let r={};for(let n of i){const s=r[n]=document.createElement("div");e.Utils.addClass(s,e.PCSS+"-rescale rescale-"+n),t.setAttribute("pacem",""),t.appendChild(s),s.addEventListener("mousedown",this._startHandler,!1),s.addEventListener("touchstart",this._startHandler,{capture:!1,passive:!0})}n(t,a,r),this._bag.push(t),this._syncHandles()}_removeFrame(e){const t=r(e,a);for(var n in t){const e=t[n];e.removeEventListener("mousedown",this._startHandler,!1),e.removeEventListener("touchstart",this._startHandler,{capture:!1}),e.remove()}s(e,a),this._bag.splice(this._bag.indexOf(e),1)}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.StringArray})],c.prototype,"handles",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],c.prototype,"minWidth",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],c.prototype,"maxWidth",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],c.prototype,"minHeight",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],c.prototype,"maxHeight",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Boolean})],c.prototype,"keepProportions",void 0),c=__decorate([e.CustomElement({tagName:e.P+"-rescale"})],c),t.PacemRescaleElement=c}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){const r=e.CustomElementUtils.getAttachedPropertyValue,n=e.CustomElementUtils.setAttachedPropertyValue,s=e.CustomElementUtils.deleteAttachedPropertyValue,i="pacem:rotate:origin",a="pacem:rotate:delegate",o="pacem:rotate:offset",l="pacem:rotate:center";Math.PI;class RotateElementDelegate{constructor(t,c,d){this._element=t,this._rotator=c,this._logFn=d,this._startTime=Date.now(),this._moveHandler=t=>{t.stopPropagation();const r=this._element,s=this._previousPosition,i=this._rotator,a=i.minRotation,l=i.maxRotation,c=t instanceof MouseEvent?{x:t.pageX,y:t.pageY}:{x:t.touches[0].pageX,y:t.touches[0].pageY},d=this._pivot;var m=this._computeAngle(d,c,s)+this._previousAngle,h=this._constraintAngle(m,i.step);for(this._logFn(e.Logging.LogLevel.Log,`previousPosition: ${JSON.stringify(s)}, currentPosition: ${JSON.stringify(c)}`,"Rotating"),m>l&&(m=l);h>l&&i.step>0;)this._logFn(e.Logging.LogLevel.Log,`angle: ${h} constrained to max: ${l}`,"Rotating"),h-=i.step;for(m<a&&(m=a);h<a&&i.step>0;)this._logFn(e.Logging.LogLevel.Log,`angle: ${h} constrained to min: ${a}`,"Rotating"),h+=i.step;if(this._logFn(e.Logging.LogLevel.Log,`angle: ${h}, origin: ${JSON.stringify(this._originalPosition)}, current: ${JSON.stringify(c)}`,"Rotating"),h!=this._previousRenderedAngle){let s=new e.UI.RotateEvent(e.UI.RotateEventType.Rotate,e.UI.RotateEventArgsClass.fromArgs({element:this._element,origin:this._originalPosition,startTime:this._startTime,currentPosition:c,rotation:h,center:this._pivot}),{cancelable:!0},t);if(this._rotator.dispatchEvent(s),!s.defaultPrevented){const t=this._originalTransform,s=e.Matrix2D.rotate(t,h-this._originalAngle);r.style.transform=`matrix(${s.a}, ${s.b}, ${s.c}, ${s.d}, ${s.e}, ${s.f})`,n(this._element,o,h)}this._previousRenderedAngle=h}this._previousPosition=c,this._previousAngle=m},this._endHandler=t=>{t.stopPropagation();let r=new e.UI.RotateEvent(e.UI.RotateEventType.End,e.UI.RotateEventArgsClass.fromArgs({element:this._element,origin:this._originalPosition,startTime:this._startTime,currentPosition:this._previousPosition,rotation:this._previousAngle,center:this._pivot}),{},t);this._rotator.dispatchEvent(r),s(this._element,a),window.removeEventListener("mouseup",this._endHandler,!1),window.removeEventListener("touchend",this._endHandler,!1),window.removeEventListener("mousemove",this._moveHandler,!1),window.removeEventListener("touchmove",this._moveHandler,!1)},window.addEventListener("mouseup",this._endHandler,!1),window.addEventListener("touchend",this._endHandler,!1),window.addEventListener("mousemove",this._moveHandler,!1),window.addEventListener("touchmove",this._moveHandler,!1),this._originalPosition=this._previousPosition=r(t,i),this._originalAngle=this._previousAngle=this._previousRenderedAngle=r(t,o,0),this._pivot=r(t,l),this._originalTransform=e.Utils.deserializeTransform(getComputedStyle(t))}_computeAngle(e,t,r){const n=Math.atan2(r.x-e.x,-(r.y-e.y)),s=Math.atan2(t.x-e.x,-(t.y-e.y));var i=n-s;return Math.abs(i)>Math.PI&&(i=-n-s),-i.roundoff()}_constraintAngle(t,r){return r>0?e.Numbers.round(t,r):t}}let c=class PacemRotateElement extends e.Behaviors.PacemBehavior{constructor(){super(...arguments),this._startHandler=t=>{if(this.disabled)return;const s=e.CustomEventUtils.getEventCoordinates(t),c=t.currentTarget,d=s.page,m=e.Utils.offsetRect(c),h=m.width/2,u=m.height/2;var p=this.center;if(e.Utils.isNull(p))p={x:m.x+h,y:m.y+u},c.style.transformOrigin="50% 50%";else{const e=m.x+h-p.x,t=m.y+u-p.y;c.style.transformOrigin=`${-e}px ${-t}px`}const v=new e.UI.RotateEvent(e.UI.RotateEventType.Start,e.UI.RotateEventArgsClass.fromArgs({currentPosition:d,rotation:r(c,o,0),center:p,origin:d,element:c,startTime:Date.now()}),{cancelable:!0},t);this.dispatchEvent(v),v.defaultPrevented||(e.avoidHandler(t),n(c,i,d),n(c,l,p),n(c,a,new RotateElementDelegate(c,this,((e,t,r)=>this.log.apply(this,[e,t,r])))))}}decorate(t){const r=t;e.Utils.addClass(r,e.PCSS+"-rotatable");t.addEventListener("mousedown",this._startHandler,!1),t.addEventListener("touchstart",this._startHandler,{capture:!1,passive:!1})}undecorate(t){const r=t;e.Utils.removeClass(r,e.PCSS+"-rotatable");t.removeEventListener("mousedown",this._startHandler,!1),t.removeEventListener("touchstart",this._startHandler,{capture:!1,passive:!1})}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],c.prototype,"step",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],c.prototype,"minRotation",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],c.prototype,"maxRotation",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Point})],c.prototype,"center",void 0),c=__decorate([e.CustomElement({tagName:e.P+"-rotate"})],c),t.PacemRotateElement=c}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){const r=e.CustomElementUtils.getAttachedPropertyValue,n=e.CustomElementUtils.setAttachedPropertyValue,s=e.CustomElementUtils.deleteAttachedPropertyValue,i="pacem:swipe:mousedown",a="pacem:swipe:data",o="pacem:swipe:delegate",l=Math.PI/2,c={capture:!1,passive:!1};class SwipeElementDelegate{constructor(t,o,d){this._element=t,this._swiper=o,this._logFn=d,this._moveHandler=t=>{e.avoidHandler(t);const o=this._element,c=this._getCurrentPosition(t),d=this._threshold;var h,u;const p=this._halfElementWidth,v=Date.now();e.Utils.isNull(h=r(o,i))?e.Utils.isNull(u=r(o,a))||this._updateState({position:c,timestamp:v}):(this._logFn(e.Logging.LogLevel.Debug,"Swipe act started"),s(o,i),n(o,a,u=this._refreshValues({position:c,timestamp:v},h)));Math.abs(c.x-u.t0.position.x)<Math.abs(c.y-u.t0.position.y)||e.avoidHandler(t);const g=function(e,t){const r=e-t;return-(d-p)*Math.sin(l*Math.max(-1,Math.min(1,r/d)))/m}(c.x,u.t0.position.x);this._logFn(e.Logging.LogLevel.Debug,`Moving element to x: ${g} (x0: ${u.t0.position.x})`);const f=this._originalTransform;o.style.transform=`matrix(${f.a},${f.b},${f.c},${f.d},${f.e+g},${f.f})`},this._endHandler=e=>{var t=r(this._element,a);this._endState(t)},e.Utils.addClass(t,e.PCSS+"-swipe-lock"),e.Utils.removeClass(t,e.PCSS+"-swipe-back"),this._originalTransform=e.Utils.deserializeTransform(getComputedStyle(t)),this._halfElementWidth=.5*t.clientWidth,this._threshold=o.threshold||Math.min(120,.25*e.Utils.windowSize.width),window.addEventListener("mouseup",this._endHandler,!1),window.addEventListener("touchend",this._endHandler,!1),window.addEventListener("mousemove",this._moveHandler,!1),window.addEventListener("touchmove",this._moveHandler,c)}dispose(){const t=this._element;s(t,i),s(t,a),s(t,o),e.Utils.removeClass(t,e.PCSS+"-swipe-lock"),window.removeEventListener("mouseup",this._endHandler,!1),window.removeEventListener("touchend",this._endHandler,!1),window.removeEventListener("mousemove",this._moveHandler,!1),window.removeEventListener("touchmove",this._moveHandler,c)}_getCurrentPosition(e){return e instanceof MouseEvent?{x:e.clientX,y:e.clientY}:{x:e.touches[0].clientX,y:e.touches[0].clientY}}_refreshValues(e,t){const r=e.position,n=r.x-t.position.x,s=(e.timestamp-t.timestamp)/1e3;return{element:this._element,horizontalspeed:n/s,verticalspeed:(r.y-t.position.y)/s,timestamp:e.timestamp,position:r,t0:t.t0||t}}_updateState(e){var t=this._getUpdatedState(e);n(this._element,a,t)}_getUpdatedState(e){const t=this._element,n=(this._swiper,r(t,a));return this._refreshValues(e,n)}_endState(t){if(!e.Utils.isNull(t)){const r=this._swiper,n=this._element,s=this._threshold,i=Math.abs(t.t0.position.x-t.position.x),a=.5*Math.pow(t.horizontalspeed,2),o=.5*d*(Math.pow(s,2)-Math.pow(i,2));let l=()=>{n.style.transform=n.style.opacity=n.style.transition=""};if(a>=o&&i>=s){const s=e.UI.SwipeEventArgsClass.fromArgs(t);this._logFn(e.Logging.LogLevel.Debug,`Swiping ${s.direction}! (speed: ${s.speed}, kinetic ${a}, elastic ${o})`);const i=new e.UI.SwipeEvent(e.UI.SwipeEventType.Swipe,s,{cancelable:!0});if(r.dispatchEvent(i),i.defaultPrevented)l();else{const i=new e.UI.SwipeEvent("left"===s.direction?e.UI.SwipeEventType.SwipeLeft:e.UI.SwipeEventType.SwipeRight,s,{cancelable:!0});if(r.dispatchEvent(i),i.defaultPrevented)l();else{let i=e.Utils.offset(n),a=e.Utils.windowSize.width,o="left"===s.direction?-(a-.5*(a-i.width)):i.width+.5*(a-i.width),c=(o-i.left)/t.horizontalspeed;n.style.transform=`translateX(${o}px)`,n.style.opacity="0",n.style.transition=`transform ${Math.min(.667,Math.max(.333,2*c))}s cubic-bezier(0.39, 0.575, 0.565, 1), opacity .5s`,e.Utils.addClass(n,e.PCSS+"-swipe-go"),e.Utils.addAnimationEndCallback(n,(()=>{let t=new e.UI.SwipeEvent(e.UI.SwipeEventType.SwipeAnimationEnd,s,{cancelable:!0});if(r.dispatchEvent(t),!t.defaultPrevented){let t=new e.UI.SwipeEvent("left"===s.direction?e.UI.SwipeEventType.SwipeLeftAnimationEnd:e.UI.SwipeEventType.SwipeRightAnimationEnd,s,{cancelable:!0});r.dispatchEvent(t),t.defaultPrevented||l()}e.Utils.removeClass(n,e.PCSS+"-swipe-go")}))}}}else this._logFn(e.Logging.LogLevel.Debug,`Rolling back: kinetic ${a} < elastic ${o})`),e.Utils.addClass(n,e.PCSS+"-swipe-back"),l()}this.dispose()}}__decorate([e.Throttle(25)],SwipeElementDelegate.prototype,"_updateState",null);const d=.15,m=1.25;let h=class PacemSwipeElement extends e.Behaviors.PacemBehavior{constructor(){super(...arguments),this._startHandler=t=>{if(this.disabled)return;if(t instanceof MouseEvent&&!this.includeMouse)return;const r=e.CustomEventUtils.getEventCoordinates(t),s=t.currentTarget,a=r.client;t.stopPropagation(),n(s,i,{position:a,timestamp:Date.now()}),n(s,o,new SwipeElementDelegate(s,this,((e,t,r)=>this.log.apply(this,[e,t,r]))))}}decorate(e){e.addEventListener("touchstart",this._startHandler,c),e.addEventListener("mousedown",this._startHandler,!1)}undecorate(e){e.removeEventListener("touchstart",this._startHandler,c),e.removeEventListener("mousedown",this._startHandler,!1)}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],h.prototype,"threshold",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Boolean})],h.prototype,"includeMouse",void 0),h=__decorate([e.CustomElement({tagName:e.P+"-swipe"})],h),t.PacemSwipeElement=h}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){class PacemAdapter extends t.PacemElement{constructor(){super(...arguments),this._propertyChangeHandler=e=>{this.masterPropertyChangedCallback(e.detail.propertyName,e.detail.oldValue,e.detail.currentValue,e.detail.firstChange)}}get master(){return this._element}get initialized(){return!e.Utils.isNull(this._element)}masterPropertyChangedCallback(t,r,n,s){switch(t){case"items":this._adjustFocusIndex();break;case"index":this._element.dispatchEvent(new e.CurrentIndexChangeEvent({currentIndex:n,previousIndex:r}))}}itemPropertyChangedCallback(e,t,r,n,s){}initializeCallback(){}destroyCallback(){}initialize(t){null!=this._element&&this.destroy(),null!=t&&(this._element=t,this._element.addEventListener(e.PropertyChangeEventName,this._propertyChangeHandler,!1)),this.initializeCallback()}destroy(){null!=this._element&&this._element.removeEventListener(e.PropertyChangeEventName,this._propertyChangeHandler,!1),this.destroyCallback()}disconnectedCallback(){this.destroy(),super.disconnectedCallback()}_adjustFocusIndex(){let e=this._element.items;const t=this._element.index,r=e&&e.length,n=r?Math.max(0,Math.min(r-1,t)):-1,s=this._getAvailable(n);this._element.index=s}_getNextAvailable(e){return this._getAvailable(e,1)}_getPreviousAvailable(e){return this._getAvailable(Math.max(0,e),-1)}_getAvailable(e=this._element&&this._element.index,r=0){let n,s=this._element.items;if(!(s&&(n=s.length)>0))return-1;let i,a=((e%=n)+r+n)%n;for(r=r||-1;(i=s[a])instanceof t.PacemEventTarget&&!0===i.disabled||i instanceof t.PacemElement&&!0===i.hide;)if(a=(a+r+n)%n,a==e)return-1;return a}isClose(e){const t=this._getAvailable();return e===t||e===this._getPreviousAvailable(t)||e===this._getNextAvailable(t)}isPrevious(e){const t=this._getAvailable();return e===this._getPreviousAvailable(t)}isNext(e){const t=this._getAvailable();return e===this._getNextAvailable(t)}select(e){this._element.index=this._getAvailable(e)}previous(e=!0){var t=this._getPreviousAvailable(this._element.index);t>=0&&(e||this._element.index>t)&&(this._element.index=t)}next(e=!0){var t=this._getNextAvailable(this._element.index);t>=0&&(e||this._element.index<t)&&(this._element.index=t)}}t.PacemAdapter=PacemAdapter}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let r=class PacemAnnihilatorElement extends HTMLElement{constructor(){super()}connectedCallback(){this.remove()}};r=__decorate([e.CustomElement({tagName:e.P+"-annihilator"})],r),t.PacemAnnihilatorElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){class RouterNavigateEvent extends e.CustomTypedEvent{constructor(e){super("navigate",e,{cancelable:!1,bubbles:!1})}}e.RouterNavigateEvent=RouterNavigateEvent;class RouterNavigatingEvent extends e.CustomTypedEvent{constructor(e){super("navigating",e,{cancelable:!0,bubbles:!1})}}e.RouterNavigatingEvent=RouterNavigatingEvent}(Pacem||(Pacem={})),function(e){!function(t){var r;const n=/^([\w\.]:)?\/\/[^\/]+/,s=/^((https?:)?\/\/[^\/]+)?([^\?#]+)(\?[^#]*)?(#[^#]*)?$/;let i=class PacemRouterElement extends t.PacemEventTarget{constructor(){super(...arguments),r.set(this,void 0),this._onPopState=t=>{e.Utils.isNull(t.state)||__classPrivateFieldGet(this,r,"f")||(this.path=t.state.$path)}}parseState(e={}){const t=this._stringifyMergedState(e),r=this._segmentateUrl(t);return this._parseState(r.path+r.query+r.hash,r.path,r.query,r.hash)}navigate(t,s){if(this.disabled||e.Utils.isNullOrEmpty(t))return;if("object"==typeof t&&(t=this._stringifyMergedState(t)),t!=this.path)return void(this.path=t);const i=document.location;if(n.test(t)&&!t.startsWith(i.protocol+"//"+i.host))throw`Only same-origin navigation is currently supported. "${t}" is not a valid path.`;if(!__classPrivateFieldGet(this,r,"f")){const n=this.state&&this.state.$path||void 0,a=this._segmentateUrl(t),o=this._parseState(a.path+a.query+a.hash,a.path,a.query,a.hash),l=i.pathname+i.search+i.hash===a.path+a.query+a.hash,c=new e.RouterNavigatingEvent(t);if(window.dispatchEvent(c),__classPrivateFieldSet(this,r,c.defaultPrevented,"f"))return l&&window.history.pushState(this.state,s,n),void(this.path=n);this.state=o,l?(window.history.scrollRestoration="manual",window.history.replaceState(o,s)):window.history.pushState(o,s,t),e.Utils.isNullOrEmpty(s)||(document.title=s),window.dispatchEvent(new e.RouterNavigateEvent(t))}__classPrivateFieldSet(this,r,!1,"f")}propertyChangedCallback(e,t,r,n){super.propertyChangedCallback(e,t,r,n),"path"!==e||n||this.navigate(r)}connectedCallback(){super.connectedCallback(),window.addEventListener("popstate",this._onPopState,!1)}viewActivatedCallback(){super.viewActivatedCallback();const t=this.path;e.Utils.isNullOrEmpty(t)||this.navigate(t)}disconnectedCallback(){window.removeEventListener("popstate",this._onPopState,!1),super.disconnectedCallback()}_stringifyMergedState(t){const r=e.Utils.extend({},this.state,t),n=this._segmentateUrl(this.path);let s=this.template;for(let t in r){const n=new RegExp("/{"+t+"\\??}"),i=r[t];s=s.replace(n,e.Utils.isNullOrEmpty(i)?"":"/"+i)}return s+n.query+n.hash}_parseTemplate(){const t=[];let r=this.template;if(!e.Utils.isNullOrEmpty(r)){let e;for(;null!=(e=/\/\{([a-z\$_][\w]*)\??\}/g.exec(r));){const n=e[1],s=e[0];t.push({name:n,optional:"?"===s.charAt(s.length-2)}),r=r.substr(e.index+s.length)}}return t}_segmentateUrl(e){const t=s.exec(e);return!t||t.length<=3?null:{path:t[3],query:t[4]||"",hash:t[5]||""}}_parseState(t,r,n,s){var i={$path:t,$pathname:r,$querystring:n.length>0?n.substr(1):n,$query:this._parseQuery(n),$hash:this._parseHash(s)},a=0;const o=this._parseTemplate();if(!e.Utils.isNullOrEmpty(o)){const e=/^\/[^\/]+/;let t;for(;null!=(t=e.exec(r));){const e=t[0];if(a>=o.length)throw"Length mismatch: cannot compare provided path with current template.";const n=o[a];Object.defineProperty(i,n.name,{enumerable:!0,value:e.substr(1)}),a++,r=r.substr(t.index+e.length)}}for(let e=a;e<o.length;e++)if(!o[e].optional)throw`Must provide "${o[e].name}" route value.`;return i}_parseHash(e){const t=e.indexOf("#");return 0!==t?null:e.substr(t+1)}_parseQuery(t){const r=t.indexOf("?");return 0===r?e.Utils.URIs.parseQuery(t.substr(r+1)):{}}};r=new WeakMap,__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],i.prototype,"template",void 0),__decorate([e.Watch({converter:e.PropertyConverters.Eval})],i.prototype,"state",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],i.prototype,"path",void 0),i=__decorate([e.CustomElement({tagName:e.P+"-router"})],i),t.PacemRouterElement=i}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let r=class PacemBeforeunloadElement extends t.PacemEventTarget{constructor(){super(...arguments),this._unloadingHandler=e=>{const t=this.message;this.active&&!this.disabled&&("beforeunload"===e.type?(e.preventDefault(),e.returnValue=t||""):confirm(t||"Leave page?")||e.preventDefault())}}viewActivatedCallback(){super.viewActivatedCallback(),window.addEventListener("navigating",this._unloadingHandler,!1),window.addEventListener("beforeunload",this._unloadingHandler,!1)}disconnectedCallback(){window.removeEventListener("navigating",this._unloadingHandler,!1),window.removeEventListener("beforeunload",this._unloadingHandler,!1),super.disconnectedCallback()}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"message",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Boolean})],r.prototype,"active",void 0),r=__decorate([e.CustomElement({tagName:e.P+"-beforeunload"})],r),t.PacemBeforeunloadElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let r=class PacemDataElement extends t.PacemEventTarget{constructor(t=new e.Storage){super(),this.storage=t,this._handle=0,this._flag=!1}propertyChangedCallback(t,r,n,s){switch(super.propertyChangedCallback(t,r,n,s),t){case"persistAs":e.Utils.isNullOrEmpty(r)||this.storage.removeProperty(r),!0!==s||e.Utils.isNullOrEmpty(n)||(this.model=this.storage.getPropertyValue(n)||this.model);break;case"model":const i=this.debounce,a=this.throttle,o=()=>{this.dispatchEvent(new e.PropertyChangeEvent({propertyName:t,oldValue:r,currentValue:n,firstChange:s}))};if(i>0&&!s)if(a){if(this._flag)return;this._flag=!0,o(),this._handle=window.setTimeout((()=>{this._flag=!1}),i)}else clearTimeout(this._handle),this._handle=window.setTimeout(o,i);else o();s||e.Utils.isNullOrEmpty(this.persistAs)||(e.Utils.isNull(n)?this.storage.removeProperty(this.persistAs):this.storage.setPropertyValue(this.persistAs,n,!0))}}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Eval})],r.prototype,"model",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"persistAs",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],r.prototype,"debounce",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.BooleanStrict})],r.prototype,"throttle",void 0),r=__decorate([e.CustomElement({tagName:e.P+"-data"})],r),t.PacemDataElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let r=class PacemTweenElement extends t.PacemEventTarget{constructor(t=new e.Animations.TweenService){super(),this._tweener=t,this.duration=1e3}propertyChangedCallback(e,t,r,n){super.propertyChangedCallback(e,t,r,n),"start"===e&&!0===r&&1!=this.disabled&&this._animate()}run(){return this._animate()}_animate(){var t=!1;return this._tweener.run(this.from,this.to,this.duration,this.delay,this.easing,((r,n)=>{t=0==t&&this.dispatchEvent(new e.Animations.AnimationStartEvent),this.dispatchEvent(new e.Animations.AnimationEvent({time:r,value:this.value=n})),this.log(e.Logging.LogLevel.Info,"value: "+this.value),1==r&&(this.dispatchEvent(new e.Animations.AnimationEndEvent),this.start=!1)}))}};__decorate([e.Watch({emit:!1})],r.prototype,"easing",void 0),__decorate([e.Watch({emit:!1,reflectBack:!0,converter:e.PropertyConverters.Number})],r.prototype,"from",void 0),__decorate([e.Watch({emit:!1,reflectBack:!0,converter:e.PropertyConverters.Number})],r.prototype,"to",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],r.prototype,"duration",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],r.prototype,"delay",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Boolean})],r.prototype,"start",void 0),__decorate([e.Watch({converter:e.PropertyConverters.Number})],r.prototype,"value",void 0),r=__decorate([e.CustomElement({tagName:e.P+"-tween"})],r),t.PacemTweenElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let r;!function(e){e.Top="top",e.Bottom="bottom"}(r=t.DockMode||(t.DockMode={}));let n=class PacemDockElement extends t.PacemEventTarget{constructor(t=new e.Animations.TweenService){super(),this._tweener=t,this.mode=r.Top,this.transitionDuration=300}propertyChangedCallback(t,r,n,s){super.propertyChangedCallback(t,r,n,s),"dock"!==t||e.Utils.isNull(r)&&0==n?"mode"===t&&!0===this.dock&&this._doDock():this._doDock()}_animate(t,r){var n=this.transitionDuration;return n>0||(n=300),this._tweener.run(t,r,n,this.delay,e.Animations.Easings.sineInOut,((e,t)=>{this._setOffset(t)})).then((()=>{this._resetOffset()}))}_setOffset(e){this.style.transform="translateY("+e+"px)"}_resetOffset(){this.style.transform=""}_compute(){const t=e.Utils.offset(this),n=getComputedStyle(this),s=e.Utils.scrollTop;switch(this.mode){case r.Bottom:const i=parseInt(n.marginBottom),a=t.top;return{delta:e.Utils.windowSize.height-(a-s+this.offsetHeight)+i};case r.Top:const o=parseInt(n.marginTop);return{delta:-(t.top-s+o)}}}_doDock(){if(this.dock){const t=this._compute();if(e.Utils.isNull(t))return;switch(e.Utils.addClass(this,e.PCSS+"-dock"),this.mode){case r.Bottom:e.Utils.removeClass(this,e.PCSS+"-dock-top"),e.Utils.addClass(this,e.PCSS+"-dock-bottom");break;case r.Top:e.Utils.removeClass(this,e.PCSS+"-dock-bottom"),e.Utils.addClass(this,e.PCSS+"-dock-top")}const n=-t.delta,s=0,i=e.CustomElementUtils.getAttachedPropertyValue(this,"pacem-dock:state")||0;e.CustomElementUtils.setAttachedPropertyValue(this,"pacem-dock:state",-n+i),this.log(e.Logging.LogLevel.Info,`animating from ${n}px to ${s}px`),this._animate(n,s)}else{const t=e.CustomElementUtils.getAttachedPropertyValue(this,"pacem-dock:state");e.CustomElementUtils.deleteAttachedPropertyValue(this,"pacem-dock:state");const r=0;this.log(e.Logging.LogLevel.Info,`animating back from ${t}px to ${r}px`),e.Utils.removeClass(this,`${e.PCSS}-dock ${e.PCSS}-dock-top ${e.PCSS}-dock-bottom`),this._animate(t,r)}}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"mode",void 0),__decorate([e.Watch({converter:e.PropertyConverters.Boolean})],n.prototype,"dock",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Element})],n.prototype,"target",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],n.prototype,"delay",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],n.prototype,"transitionDuration",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-dock"})],n),t.PacemDockElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){class PacemTransferProxyElement extends t.PacemEventTarget{constructor(){super(...arguments),this._dom=[],this._children=[]}get dom(){return this._children}viewActivatedCallback(){super.viewActivatedCallback(),this.moveContent(this.proxy)}moveContent(t){e.Utils.isNull(t)||(e.Utils.isNullOrEmpty(this._dom)?(this._dom=e.Utils.moveItems(this.childNodes,t),this._children=this._dom.filter((e=>e instanceof Element))):e.Utils.moveItems(this._children,t))}disconnectedCallback(){for(let e of(this._dom||[]).splice(0))e.remove();super.disconnectedCallback()}}t.PacemTransferProxyElement=PacemTransferProxyElement;let r=class PacemBodyProxyElement extends PacemTransferProxyElement{get proxy(){return document.body}};r=__decorate([e.CustomElement({tagName:e.P+"-body-proxy"})],r),t.PacemBodyProxyElement=r;let n=class PacemShellProxyElement extends PacemTransferProxyElement{get proxy(){return e.CustomElementUtils.findAncestorShell(this)}};n=__decorate([e.CustomElement({tagName:e.P+"-shell-proxy"})],n),t.PacemShellProxyElement=n;let s=class PacemElementProxyElement extends PacemTransferProxyElement{get proxy(){return this.target}propertyChangedCallback(e,t,r,n){super.propertyChangedCallback(e,t,r,n),"target"!==e||n||this.moveContent(this.proxy)}};__decorate([e.Watch({converter:e.PropertyConverters.Element})],s.prototype,"target",void 0),s=__decorate([e.CustomElement({tagName:e.P+"-element-proxy"})],s),t.PacemElementProxyElement=s}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){class EmitEvent extends Event{constructor(e){super("emit"),this._originalEvent=e}get originalEvent(){return this._originalEvent}}let r=class PacemEventProxyElement extends t.PacemEventTarget{constructor(){super(...arguments),this._emitHandler=e=>{var t=new EmitEvent(e);this.dispatchEvent(t)}}viewActivatedCallback(){super.viewActivatedCallback(),this._observe()}propertyChangedCallback(e,t,r,n){if(super.propertyChangedCallback(e,t,r,n),!n)switch(e){case"target":this._unobserve(t,this.event),this._observe();break;case"event":this._unobserve(this.target,t),this._observe()}}disconnectedCallback(){this._unobserve(),super.disconnectedCallback()}_unobserve(t=this.target,r=this.event){e.Utils.isNull(t)||e.Utils.isNullOrEmpty(r)||t.removeEventListener(r,this._emitHandler,!1)}_observe(t=this.target,r=this.event){e.Utils.isNull(t)||e.Utils.isNullOrEmpty(r)||t.addEventListener(r,this._emitHandler,!1)}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Element})],r.prototype,"target",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"event",void 0),r=__decorate([e.CustomElement({tagName:e.P+"-event-proxy"})],r),t.PacemEventProxyElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){var r;let n=class PacemFetchElement extends t.PacemEventTarget{constructor(){super(...arguments),this.autofetch=!0,this.debounce=100,r.set(this,void 0)}viewActivatedCallback(){super.viewActivatedCallback(),this._delayAndConditionallyFetch()}propertyChangedCallback(t,r,n,s){switch(super.propertyChangedCallback(t,r,n,s),t){case"url":case"method":case"type":case"as":case"mode":case"credentials":case"disabled":case"autofetch":this._delayAndConditionallyFetch();break;case"parameters":case"headers":this.diffByValues&&e.Utils.jsonSortStringify(r)==e.Utils.jsonSortStringify(n)||this._delayAndConditionallyFetch()}}_delayAndConditionallyFetch(){clearTimeout(this._handle),this.autofetch&&(this._handle=setTimeout((()=>{this.fetch()}),this.debounce||0))}fetch(){return new Promise(((t,n)=>{var s,i=this.url;if(!this.isReady||e.Utils.isNullOrEmpty(i)||this.disabled)return void t(null);let a=this;a.fetching=!0;let o="application/json";if("raw"===(a.type||"json"))o="application/x-www-form-urlencoded";const l=(a.method||e.Net.HttpMethod.Get).toUpperCase();let c={headers:e.Utils.extend({"Content-Type":o},a.headers),method:l,mode:a.mode||"cors",credentials:a.credentials||"same-origin",cache:a.cache||"default"};const d=e.Utils.clone(null!==(s=a.parameters)&&void 0!==s?s:{});if(i=e.Utils.URIs.format(i,d,"GET"==l),!e.Utils.isNullOrEmpty(d))switch(l){case"GET":i=e.Utils.URIs.appendQuery(i,d);break;case"PUT":case"POST":if("raw"===a.type){let e=new URLSearchParams;for(let t in d)e.set(t,d[t]);c.body=e}else c.body=e.Utils.Json.stringify(d)}if(e.Utils.URIs.hasMandatoryTemplateSegments(i))t(null);else{if(this.throttle){__classPrivateFieldGet(this,r,"f")&&__classPrivateFieldGet(this,r,"f").abort();const{signal:e}=__classPrivateFieldSet(this,r,new AbortController,"f");c.signal=e}fetch(i,c).then((r=>{if(a.fetching=!1,r.ok){this.dispatchEvent(new CustomEvent(e.Net.FetchSuccessEventName,{detail:r}));if(e.Net.Fetcher.isEmpty(r))a.as,a.result=null,t(r);else switch(a.as){case"blob":case"image":r.blob().then((n=>{"image"===a.as?e.Utils.blobToDataURL(n).then((e=>{a._acceptFetchResult(e)})):a._acceptFetchResult(n),t(r)}),(r=>{this.log(e.Logging.LogLevel.Warn,`Couldn't parse a ${a.as}. ${r}`),t(null)}));break;case"text":r.text().then((e=>{a._acceptFetchResult(e),t(r)}));break;default:r.json().then((e=>{a._acceptFetchResult(e),t(r)}),(r=>{this.log(e.Logging.LogLevel.Warn,`Couldn't parse a ${a.as}. ${r}`),t(null)}))}}else this.dispatchEvent(new CustomEvent(e.Net.FetchErrorEventName,{detail:r})),n(r)}))}}))}_acceptFetchResult(t){this.dispatchEvent(new CustomEvent(e.Net.FetchResultEventName,{detail:t})),this.result=t}};r=new WeakMap,__decorate([e.Watch({emit:!1,reflectBack:!0,converter:e.PropertyConverters.String})],n.prototype,"url",void 0),__decorate([e.Watch({emit:!1,reflectBack:!0,converter:e.PropertyConverters.String})],n.prototype,"method",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Json})],n.prototype,"parameters",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Json})],n.prototype,"headers",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"credentials",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"mode",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"cache",void 0),__decorate([e.Watch({converter:e.PropertyConverters.BooleanStrict})],n.prototype,"fetching",void 0),__decorate([e.Watch({reflectBack:!0,converter:e.PropertyConverters.Boolean})],n.prototype,"autofetch",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"as",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"type",void 0),__decorate([e.Watch({reflectBack:!0,converter:e.PropertyConverters.Number})],n.prototype,"debounce",void 0),__decorate([e.Watch({emit:!1,reflectBack:!0,converter:e.PropertyConverters.Number})],n.prototype,"throttle",void 0),__decorate([e.Watch({emit:!1,reflectBack:!0,converter:e.PropertyConverters.Boolean})],n.prototype,"diffByValues",void 0),__decorate([e.Watch()],n.prototype,"result",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-fetch"})],n),t.PacemFetchElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let r=class PacemHtmlProxyElement extends t.PacemEventTarget{constructor(){super(...arguments),this._html=document.documentElement}propertyChangedCallback(e,t,r,n){super.propertyChangedCallback(e,t,r,n),"attr"===e&&t&&this._html.removeAttribute(t),this._update()}_update(){const t=this.attr;if(e.Utils.isNullOrEmpty(t)||this.disabled)return;const r=this.value,n=this._html;e.Utils.isNullOrEmpty(r)?n.removeAttribute(t):n.setAttribute(t,r)}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"attr",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"value",void 0),r=__decorate([e.CustomElement({tagName:e.P+"-html-proxy"})],r),t.PacemHtmlProxyElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){var r;let n=class PacemIfElement extends HTMLElement{constructor(){super(...arguments),r.set(this,void 0)}propertyChangedCallback(t,n,s,i){e.Utils.isNullOrEmpty(__classPrivateFieldGet(this,r,"f"))&&__classPrivateFieldSet(this,r,this.innerHTML,"f"),this.innerHTML=s?__classPrivateFieldGet(this,r,"f"):""}};r=new WeakMap,__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Boolean})],n.prototype,"match",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-if"})],n),t.PacemIfElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let r=class PacemTextElement extends HTMLElement{constructor(){super()}connectedCallback(){0==this.childNodes.length&&(this.innerHTML="&nbsp;"),this._text=this.childNodes.item(0)}propertyChangedCallback(t,r,n,s){e.Utils.isNull(n)&&!0===s||(this._text.nodeValue=n)}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"text",void 0),r=__decorate([e.CustomElement({tagName:e.P+"-text"})],r),t.PacemTextElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){t.ScrollEventName="scroll";class ScrollEvent extends e.CustomTypedEvent{constructor(e){super(t.ScrollEventName,e)}}t.ScrollEvent=ScrollEvent;const r=new class PacemScrollOrchestrator{constructor(e){this.global=e,this.scrollers=[],this.scrollHandler=e=>{this._scroll(e)}}register(e){const t=this.scrollers;-1===t.indexOf(e)&&(t.push(e),1===t.length&&this.global.addEventListener("scroll",this.scrollHandler,!1),this._scroll())}unregister(e){var t;const r=this.scrollers;-1!==(t=r.indexOf(e))&&(r.splice(t,1),0===r.length&&this.global.removeEventListener("scroll",this.scrollHandler,!1))}_scroll(t){for(var r of this.scrollers){if(e.Utils.isNull(r.target)){const t=e.Utils.scrollTop,n=e.Utils.scrollLeft;r.offset={top:t,left:n}}else{const e=r.target.scrollTop,t=r.target.scrollLeft;r.offset={top:e,left:t}}r.dispatchEvent(new ScrollEvent(r.offset))}}}(window);let n=class PacemScrollAwareElement extends t.PacemEventTarget{viewActivatedCallback(){super.viewActivatedCallback(),r.register(this)}disconnectedCallback(){r.unregister(this),super.disconnectedCallback()}};__decorate([e.Watch({converter:e.PropertyConverters.Element})],n.prototype,"target",void 0),__decorate([e.Watch({converter:e.PropertyConverters.Json})],n.prototype,"offset",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-scroll-aware"})],n),t.PacemScrollAwareElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){class PacemViewportOrchestrator{constructor(e){this._global=e,this.viewports=[],this._checkHandler=e=>{this._oncheck(e)}}register(e){const t=this.viewports,r=this._global;-1===t.indexOf(e)&&(t.push(e),1===t.length&&(r.addEventListener("resize",this._checkHandler,!1),r.addEventListener("scroll",this._checkHandler,!1),r.addEventListener("transitionend",this._checkHandler,!1),r.addEventListener("animationend",this._checkHandler,!1)),this._oncheck())}unregister(e){var t;const r=this.viewports,n=this._global;-1!==(t=r.indexOf(e))&&(r.splice(t,1),0===r.length&&(n.removeEventListener("resize",this._checkHandler,!1),n.removeEventListener("scroll",this._checkHandler,!1),n.removeEventListener("transitionend",this._checkHandler,!1),n.removeEventListener("animationend",this._checkHandler,!1)),this._oncheck())}isElementVisible(t,r){const n=e.Utils.windowSize;this._global.document;var s=t.getBoundingClientRect(),i=n.width,a=n.height;return s.bottom>0&&s.top<0+a&&(r||s.left<i+0&&s.right>0)}_oncheck(t){for(var r of this.viewports){const t=r.target||r,n=this.isElementVisible(t,r.ignoreHorizontal);if(n!==r.visible)(r.visible=n)?e.Utils.addClass(t,e.PCSS+"-in-viewport"):e.Utils.removeClass(t,e.PCSS+"-in-viewport")}}}__decorate([e.Debounce(100)],PacemViewportOrchestrator.prototype,"_oncheck",null);const r=new PacemViewportOrchestrator(window);let n=class PacemViewportAwareElement extends t.PacemEventTarget{viewActivatedCallback(){super.viewActivatedCallback(),r.register(this)}disconnectedCallback(){r.unregister(this),super.disconnectedCallback()}};__decorate([e.Watch({converter:e.PropertyConverters.Boolean})],n.prototype,"visible",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Element})],n.prototype,"target",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Boolean})],n.prototype,"ignoreHorizontal",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-viewport-aware"})],n),t.PacemViewportAwareElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){t.ResizeEventName="resize";class ResizeEvent extends e.CustomTypedEvent{constructor(e){super(t.ResizeEventName,e)}}t.ResizeEvent=ResizeEvent;const r={subtree:!0,childList:!0,attributes:!0,characterData:!0},n=!("ResizeObserver"in window)||!1,s={box:"border-box"};let i=class PacemResizeElement extends t.PacemEventTarget{constructor(){super(...arguments),this._checkSizeHandler=e=>{this._assignSizeDebounced()}}get _target(){return this.target||this}propertyChangedCallback(t,n,i,a){switch(super.propertyChangedCallback(t,n,i,a),t){case"disabled":this._start();break;case"target":if(!e.Utils.isNull(this._observer)){var o=n||this;this._observer.unobserve(o)}case"watchPosition":var l=this.target||this;this._usePolyfill?e.Utils.isNull(this._mutationObserver)||this._mutationObserver.observe(l,r):e.Utils.isNull(this._observer)||this._observer.observe(l,s)}}get _usePolyfill(){return n||this.watchPosition}_start(){this.disabled?this._stop():(this.watchPosition?this._startWatchIntensively():this._usePolyfill?(this._mutationObserver=new MutationObserver((e=>{this._checkSizeHandler()})),this._mutationObserver.observe(this._target,r)):(this._observer=new ResizeObserver((e=>{var t=!1;for(let r of e)if(r.target===this._target&&r.contentRect){t=!0;break}t&&this._assignSizeDebounced()})),this._observer.observe(this._target,s)),window.addEventListener("resize",this._checkSizeHandler,!1))}_stop(){window.cancelAnimationFrame(this._handle),window.removeEventListener("resize",this._checkSizeHandler,!1),this._usePolyfill?e.Utils.isNull(this._mutationObserver)||(this._mutationObserver.disconnect(),this._mutationObserver=null):e.Utils.isNull(this._observer)||(this._observer.disconnect(),this._observer=null)}_startWatchIntensively(){this._checkSize(),this._startWatchIntensively()}_assignSizeDebounced(){this._checkSize()}_checkSize(){this.log(e.Logging.LogLevel.Log,"Resize flow triggered.");let t=this._target;const r=e.Utils.offset(t);let n=r.height,s=r.width;(n!=this._previousHeight||s!=this._previousWidth||this.watchPosition&&(r.left!=this._previousLeft||r.top!=this._previousTop))&&(this._previousHeight=n,this._previousWidth=s,this._previousLeft=r.left,this._previousTop=r.top,this._dispatchResize())}get currentSize(){var e={height:this._previousHeight,width:this._previousWidth};return this.watchPosition&&(e.left=this._previousLeft,e.top=this._previousTop),e}_dispatchResize(){this.dispatchEvent(new ResizeEvent(this.currentSize))}connectedCallback(){super.connectedCallback(),this._start()}disconnectedCallback(){this._stop(),super.disconnectedCallback()}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Element})],i.prototype,"target",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Boolean})],i.prototype,"watchPosition",void 0),__decorate([e.Throttle(!0)],i.prototype,"_startWatchIntensively",null),__decorate([e.Throttle(!0)],i.prototype,"_assignSizeDebounced",null),i=__decorate([e.CustomElement({tagName:e.P+"-resize"})],i),t.PacemResizeElement=i}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){t.PositionChangeEventName="positionchange";class PositionChangeEvent extends e.CustomTypedEvent{constructor(e){super(t.PositionChangeEventName,e)}}t.PositionChangeEvent=PositionChangeEvent;let r=class PacemPositionElement extends t.PacemEventTarget{constructor(){super(),this._check=t=>{let r=this._target;var n=e.Utils.offset(r);let s=n.top,i=n.left;s==this.previousTop&&i==this.previousLeft||(this.previousTop=s,this.previousLeft=i,this._change()),this._timer=requestAnimationFrame(this._check)}}get _target(){return this.target||this}propertyChangedCallback(e,t,r,n){if(super.propertyChangedCallback(e,t,r,n),"disabled"===e)this.start()}start(){let t=this._target;if(this.disabled)cancelAnimationFrame(this._timer);else{var r=e.Utils.offset(t);this.previousTop=r.top,this.previousLeft=r.left,this._timer=requestAnimationFrame(this._check)}}_change(){this.dispatchEvent(new PositionChangeEvent({top:this.previousTop,left:this.previousLeft}))}connectedCallback(){super.connectedCallback(),this.start()}disconnectedCallback(){cancelAnimationFrame(this._timer),super.disconnectedCallback()}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Element})],r.prototype,"target",void 0),r=__decorate([e.CustomElement({tagName:e.P+"-position"})],r),t.PacemPositionElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){class AdjustEvent extends e.CustomTypedEvent{constructor(e){super("adjust",e)}}t.AdjustEvent=AdjustEvent;let r=class PacemOverlayElement extends t.PacemEventTarget{constructor(){super(),this._check=t=>{let r=this.target;const n=e.Utils.offset(r),s=n.width,i=n.height;i==this._previousHeight&&s==this._previousWidth&&n.left==this._previousLeft&&n.top==this._previousTop||(this._previousHeight=i,this._previousWidth=s,this._previousLeft=n.left,this._previousTop=n.top,this._adjust()),this._timer=requestAnimationFrame(this._check)}}propertyChangedCallback(e,t,r,n){switch(super.propertyChangedCallback(e,t,r,n),e){case"target":case"disabled":this.start()}}start(){let t=this.target;if(cancelAnimationFrame(this._timer),!this.disabled&&!e.Utils.isNull(t)){this._previousHeight=t.offsetHeight,this._previousWidth=t.offsetWidth;const r=e.Utils.offset(t);this._previousLeft=r.left,this._previousTop=r.top,this._timer=requestAnimationFrame(this._check)}}_adjust(){this.dispatchEvent(new AdjustEvent({top:this._previousTop,left:this._previousLeft,width:this._previousWidth,height:this._previousHeight}))}connectedCallback(){super.connectedCallback(),this.start()}disconnectedCallback(){cancelAnimationFrame(this._timer),super.disconnectedCallback()}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Element})],r.prototype,"target",void 0),__decorate([e.Debounce()],r.prototype,"_adjust",null),r=__decorate([e.CustomElement({tagName:e.P+"-overlay"})],r),t.PacemOverlayElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let r=class PacemPanelElement extends t.PacemSafeContentElement{};r=__decorate([e.CustomElement({tagName:e.P+"-panel"})],r),t.PacemPanelElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let r=class PacemSpanElement extends t.PacemSafeContentElement{propertyChangedCallback(e,t,r,n){super.propertyChangedCallback(e,t,r,n),"text"!==e||n||(this.textContent=r)}viewActivatedCallback(){super.viewActivatedCallback(),e.Utils.isNull(this.text)||(this.textContent=this.text)}};__decorate([e.Watch({converter:e.PropertyConverters.String})],r.prototype,"text",void 0),r=__decorate([e.CustomElement({tagName:e.P+"-span"})],r),t.PacemSpanElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let r=class PacemTemplateProxyElement extends e.TemplateElement{propertyChangedCallback(e,t,r,n){"target"===e&&this.dispatchEvent(new Event("templatechange"))}addEventListener(e,t,r){super.addEventListener(e,t,r)}removeEventListener(e,t,r){super.removeEventListener(e,t,r)}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Element})],r.prototype,"target",void 0),r=__decorate([e.CustomElement({tagName:e.P+"-template-proxy"})],r),t.PacemTemplateProxyElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){var r;const n=e.CustomElementUtils.getAttachedPropertyValue;e.CustomElementUtils.setAttachedPropertyValue;class ItemEvent extends e.CustomTypedEvent{constructor(e,t,r){super(e,t,{bubbles:!1,cancelable:!0}),this._originalEvent=r}get srcEvent(){return this._originalEvent}}class ItemCommandEvent extends ItemEvent{constructor(t){super("item"+e.CommandEventName,t.detail,t)}}t.ItemCommandEvent=ItemCommandEvent;class CustomItemCommandEvent extends ItemEvent{constructor(e){super("item"+e.detail.commandName.toLowerCase(),e.detail.commandArgument,e)}}t.CustomItemCommandEvent=CustomItemCommandEvent;let s=r=class PacemRepeaterElement extends t.PacemEventTarget{constructor(){super(...arguments),this._childItems=[],this._fragment=document.createDocumentFragment(),this._setupItem=(e,t,r)=>{e.index=t,e.item=r},this._refreshItemTemplateHandler=e=>{const t=e.target;this._itemTemplate=t.target,this._databind()}}removeItem(e){this._removeItems(e,e)}_setItem(e,r,n){const s=this._childItems;let i;r>=s.length?(i=new RepeaterItem(this,this._itemTemplate,n,this._childTemplatePlaceholder),this._setupItem(i,r,e),s.push(i),i.append()):(i=s[r],this._setupItem(i,r,e),i.redrawEventually(this._itemTemplate,n)),this.dispatchEvent(new t.RepeaterItemCreateEvent(i))}_removeItems(e,r){let n=this._childItems.splice(e,r+1-e);for(var s=n.length-1;s>=0;s--){let e=n[s];this.dispatchEvent(new t.RepeaterItemRemoveEvent(e)),e.remove()}}databind(){this._databind()}_databind(){if(!this.isConnected)return;let t=this._itemTemplate,n=this._childTemplatePlaceholder;if(null==t)throw`Missing template element in ${r.name}.`;let s=this._childItems,i=0;try{for(var a of this.datasource||[])this._setItem(a,i,this._fragment),i++}catch(t){this.log(e.Logging.LogLevel.Error,t)}i<s.length?this._removeItems(i,s.length-1):e.Utils.isNull(n&&n.parentNode)||n.parentNode.insertBefore(this._fragment,n)}_onCommand(e){this.dispatchEvent(new ItemCommandEvent(e)),this.dispatchEvent(new CustomItemCommandEvent(e))}_buildupItemTemplate(){let r=e.CustomElementUtils.findFirstDescendant(this,(e=>e instanceof HTMLTemplateElement||e instanceof t.PacemTemplateProxyElement));return r instanceof t.PacemTemplateProxyElement?(r.addEventListener("templatechange",this._refreshItemTemplateHandler,!1),this._childTemplatePlaceholder=r,this._itemTemplate=r.target):this._itemTemplate=this._childTemplatePlaceholder=r}viewActivatedCallback(){super.viewActivatedCallback(),this.addEventListener(e.CommandEventName,this._onCommand,!1),this._buildupItemTemplate()&&this._databind()}disconnectedCallback(){const r=this._childTemplatePlaceholder;!e.Utils.isNull(r)&&r instanceof t.PacemTemplateProxyElement&&r.removeEventListener("templatechange",this._refreshItemTemplateHandler,!1),this.removeEventListener(e.CommandEventName,this._onCommand,!1),this.datasource=[],super.disconnectedCallback()}propertyChangedCallback(t,r,n,s){if(super.propertyChangedCallback(t,r,n,s),"datasource"===t)e.Utils.isNull(this._itemTemplate)||this._databind()}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Eval})],s.prototype,"datasource",void 0),s=r=__decorate([e.CustomElement({tagName:e.P+"-repeater"})],s),t.PacemRepeaterElement=s;class RepeaterItem extends e.RepeaterItem{constructor(t,r,n,s){super(document.createComment("pacem-repeater-item")),this._repeater=t,this._template=r,this._fragment=n,this._holder=s,this._alterEgos=[];function i(t,r){var n=this,s="_"+t;if(r!==n[s]){var i=n[s];n[s]=r;var a=new e.PropertyChangeEvent({propertyName:t,oldValue:i,currentValue:r});n.dispatchEvent(a)}}let a=this.placeholder;Object.defineProperties(a,{item:{get:function(){return this._item},set:function(e){i.apply(a,["item",e])},configurable:!0},index:{get:function(){const t=this._index;return e.Utils.isNull(t)?-1:t},set:function(e){i.apply(a,["index",e])},configurable:!0}})}append(){const t=this._template,r=this._fragment;this._alterEgos.push(r.appendChild(this.placeholder));const s=t.cloneNode(!0);var i;e.Utils.isNull(i=n(this._repeater,e.INSTANCE_HOST_VAR))||e.CustomElementUtils.assignHostContext(i,s);var a=s.content.childNodes;Array.prototype.push.apply(this._alterEgos,a),r.appendChild(s.content)}redrawEventually(e,t){if(e===this._template)return;this._fragment=t,this._template=e;const r=this._holder.parentElement,n=this._alterEgos;for(;n.length>0;)r.removeChild(n.pop());this.append()}get dom(){return this._alterEgos.filter((e=>!(e instanceof Comment||e instanceof Text)))}get repeater(){return this._repeater}remove(){let t=this._holder.parentElement;for(var r of this._alterEgos)r.parentElement!==t||e.Utils.isNull(t)||t.removeChild(r)}get index(){return this.placeholder.index}set index(e){this.placeholder.index=e}get item(){return this.placeholder.item}set item(e){this.placeholder.item=e}}t.RepeaterItem=RepeaterItem}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){class PacemItemElement extends t.PacemElement{get container(){return this._container}findContainer(){return e.CustomElementUtils.findAncestor(this,(e=>e instanceof PacemItemsContainerElement))}viewActivatedCallback(){super.viewActivatedCallback();let t=this._container=this.findContainer();e.Utils.isNull(t)||t.register(this)}disconnectedCallback(){e.Utils.isNull(this._container)||this._container.unregister(this),super.disconnectedCallback()}}t.PacemItemElement=PacemItemElement,t.isItemsContainer=function(t){return"items"in t&&(e.Utils.isNull(t.items)||e.Utils.isArray(t.items))&&"function"==typeof t.register&&"function"==typeof t.unregister},t.ItemRegisterEventName="itemregister",t.ItemUnregisterEventName="itemunregister";class ItemRegisterEvent extends e.CustomTypedEvent{constructor(e,r){super(t.ItemRegisterEventName,e,r)}}t.ItemRegisterEvent=ItemRegisterEvent;class ItemUnregisterEvent extends e.CustomTypedEvent{constructor(e,r){super(t.ItemUnregisterEventName,e,r)}}t.ItemUnregisterEvent=ItemUnregisterEvent;class ItemsContainerRegistrar{constructor(e){if(this._container=e,null==e||!(e instanceof PacemItemsContainerElement||e instanceof PacemCrossItemsContainerElement))throw"Must provide a valid itemscontainer."}register(t){const r=this._container;var n=!1;return r.validate(t)?e.Utils.isNull(r.items)?(r.items=[t],n=!0):-1===r.items.indexOf(t)&&(r.items.push(t),n=!0):r.logger&&r.logger.log(e.Logging.LogLevel.Debug,`${t&&t.localName} element couldn't be registered in a ${r.localName} element.`),n&&r.dispatchEvent(new ItemRegisterEvent(t)),n}unregister(t){const r=this._container;if(!e.Utils.isNull(r.items)){const e=r.items.indexOf(t);if(e>=0){let t=r.items.splice(e,1);return r.dispatchEvent(new ItemUnregisterEvent(t[0])),!0}}return!1}}class PacemCrossItemsContainerElement extends PacemItemElement{constructor(e,t){super(e,t),this._registrar=new ItemsContainerRegistrar(this)}register(e){return this._registrar.register(e)}unregister(e){return this._registrar.unregister(e)}}__decorate([e.Watch()],PacemCrossItemsContainerElement.prototype,"items",void 0),t.PacemCrossItemsContainerElement=PacemCrossItemsContainerElement;class PacemItemsContainerElement extends t.PacemElement{constructor(e,t){super(e,t),this._registrar=new ItemsContainerRegistrar(this)}register(e){return this._registrar.register(e)}unregister(e){return this._registrar.unregister(e)}}__decorate([e.Watch()],PacemItemsContainerElement.prototype,"items",void 0),t.PacemItemsContainerElement=PacemItemsContainerElement}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){class PacemIterableElement extends t.PacemItemElement{findContainer(){return e.CustomElementUtils.findAncestor(this,(e=>e instanceof PacemIterativeElement))}propertyChangedCallback(e,t,r,n){super.propertyChangedCallback(e,t,r,n);const s=this.container,i=(s&&s.items||[]).indexOf(this);i>=0&&s&&s.adapter&&s.adapter.itemPropertyChangedCallback(i,e,t,r,n)}}t.PacemIterableElement=PacemIterableElement;class PacemIterativeElement extends t.PacemItemsContainerElement{propertyChangedCallback(t,r,n,s){switch(super.propertyChangedCallback(t,r,n,s),this.adapter&&this.adapter.masterPropertyChangedCallback(t,r,n,s),t){case"adapter":e.Utils.isNull(r)||r.destroy(),e.Utils.isNull(n)||this.adapter.initialize(this);break;case"items":let t=0;e.Utils.isNullOrEmpty(this.items)||this.index<this.items.length&&(t=this.index),this.index=t}}disconnectedCallback(){e.Utils.isNull(this.adapter)||this.adapter.destroy(),super.disconnectedCallback()}}__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Element})],PacemIterativeElement.prototype,"adapter",void 0),__decorate([e.Watch({converter:e.PropertyConverters.Number})],PacemIterativeElement.prototype,"index",void 0),t.PacemIterativeElement=PacemIterativeElement}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){var r;const n="false";let s=class PacemLayoutProxyElement extends t.PacemEventTarget{constructor(){super(...arguments),r.set(this,void 0)}connectedCallback(){super.connectedCallback(),__classPrivateFieldSet(this,r,e.CustomElementUtils.findAncestorShell(this),"f")}propertyChangedCallback(e,t,r,n){super.propertyChangedCallback(e,t,r,n),this._update()}disconnectedCallback(){const t=this.attr;e.Utils.isNullOrEmpty(t)||this._update(t,n,!1),super.disconnectedCallback()}_update(t=this.attr,s=this.value,i=this.disabled){if(e.Utils.isNullOrEmpty(t)||i)return;const a=__classPrivateFieldGet(this,r,"f");e.Utils.isNull(a)||(e.Utils.isNullOrEmpty(s)||s===n?a.removeAttribute(t):a.setAttribute(t,"true"===s?"":s))}};r=new WeakMap,__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],s.prototype,"attr",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],s.prototype,"value",void 0),s=__decorate([e.CustomElement({tagName:e.P+"-layout-proxy"})],s),t.PacemLayoutProxyElement=s}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let r=class PacemMetaProxyElement extends t.PacemEventTarget{propertyChangedCallback(e,t,r,n){super.propertyChangedCallback(e,t,r,n),this._update()}viewActivatedCallback(){super.viewActivatedCallback(),this._update()}_update(){const t=this.content,r=!e.Utils.isNullOrEmpty(this.name),n=r?this.name:this.itemprop;if(e.Utils.isNullOrEmpty(n)||this.disabled)return;const s=e.Utils.cssEscape(n),i=r?`meta[name='${s}']`:`meta[itemprop='${s}']`;var a=document.head.querySelector(i);if(e.Utils.isNull(a))a=document.createElement("meta"),document.head.appendChild(a);else if(e.Utils.isNullOrEmpty(t))return void a.remove();a.setAttribute("content",t),a.setAttribute(r?"name":"itemprop",n),a.removeAttribute(r?"itemprop":"name")}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"name",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"itemprop",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"content",void 0),__decorate([e.Debounce(!0)],r.prototype,"_update",null),r=__decorate([e.CustomElement({tagName:e.P+"-meta-proxy"})],r),t.PacemMetaProxyElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let r=class PacemOnlineStatusElement extends t.PacemEventTarget{constructor(){super(...arguments),this._onlineHandler=t=>{e.Utils.isNull(t)?this.online=navigator.onLine||!1:this.online="online"===t.type}}connectedCallback(){super.connectedCallback(),window.addEventListener("online",this._onlineHandler,!1),window.addEventListener("offline",this._onlineHandler,!1)}viewActivatedCallback(){super.viewActivatedCallback(),this._onlineHandler()}disconnectedCallback(){window.removeEventListener("online",this._onlineHandler,!1),window.removeEventListener("offline",this._onlineHandler,!1),super.disconnectedCallback()}};__decorate([e.Watch({converter:e.PropertyConverters.Boolean})],r.prototype,"online",void 0),r=__decorate([e.CustomElement({tagName:e.P+"-online-status"})],r),t.PacemOnlineStatusElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let r=class PacemServiceWorkerProxyElement extends t.PacemEventTarget{viewActivatedCallback(){super.viewActivatedCallback(),this._tryRegister()}disconnectedCallback(){this._tryUnregister(),super.disconnectedCallback()}propertyChangedCallback(t,r,n,s){switch(super.propertyChangedCallback(t,r,n,s),t){case"pushSubscription":e.Utils.isNull(r)||this.dispatchEvent(new CustomEvent("unsubscribe",{detail:r})),e.Utils.isNull(n)||this.dispatchEvent(new CustomEvent("subscribe",{detail:n}));break;case"registration":e.Utils.isNull(r)||this.dispatchEvent(new CustomEvent("unregister",{detail:r})),e.Utils.isNull(n)||this.dispatchEvent(new CustomEvent("register",{detail:n}))}}_tryUnregister(t=this.registration){return e.Utils.isNull(t)?Promise.resolve(!0):t.unregister()}_tryRegister(t=this.src){this._tryUnregister().then((r=>{!e.Utils.isNullOrEmpty(t)&&"serviceWorker"in navigator&&navigator.serviceWorker.register(t).then((e=>{this.registration=e,"PushManager"in window&&e.pushManager.getSubscription().then((e=>{this.pushSubscription=e}))}))}))}unsubscribe(t=this.pushSubscription){return new Promise(((r,n)=>{if(e.Utils.isNull(t))r(!1);else{const e=t===this.pushSubscription;t.unsubscribe().then((t=>{e&&(this.pushSubscription=null),r(t)}))}}))}subscribe(t=this.publicKey){return new Promise(((r,n)=>{var s;"string"==typeof t&&(t=function(e){e=(e+"=".repeat((4-e.length%4)%4)).replace(/\-/g,"+").replace(/_/g,"/");const t=window.atob(e),r=new Uint8Array(t.length);for(var n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}(t));const i=null===(s=this.registration)||void 0===s?void 0:s.pushManager;e.Utils.isNull(i)?r(null):i.subscribe({userVisibleOnly:!0,applicationServerKey:t}).then((e=>{"denied"===Notification.permission?r(this.pushSubscription=null):r(this.pushSubscription=e)}))}))}};__decorate([e.Watch()],r.prototype,"registration",void 0),__decorate([e.Watch()],r.prototype,"pushSubscription",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"src",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"publicKey",void 0),r=__decorate([e.CustomElement({tagName:e.P+"-serviceworker-proxy"})],r),t.PacemServiceWorkerProxyElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){const r="keydown";t.KeyboardShortcutExecuteEventName="execute";let n=class PacemShortcutElement extends t.PacemEventTarget{constructor(){super(...arguments),this._accumulator=[],this._shortcutHandler=r=>{const n=function(t,r,n=[]){if(e.Utils.isNullOrEmpty(r))return!1;const s=/(\w+)\s*\+/,i=[];let a;for(;!e.Utils.isNullOrEmpty(a=s.exec(r));)r=r.substr(a.index+a[0].length),i.push(a[1]);if(!e.CustomEventUtils.matchModifiers(t,i))return!1;const o=r.split(",").map((e=>e.trim().toLowerCase()));if(e.Utils.isNullOrEmpty(o))return!1;var l,c,d=t.key.toLowerCase();return l=d,c=o[n.length],!!(l===c||"escape"===l&&"esc"===c||"backspace"===l&&"back"===c||"control"===l&&"ctrl"===c||"delete"===l&&("del"===c||"canc"===c)||/^arrow/.test(l)&&c===l.substr(5))&&(n.push(d),n.length==o.length||"ongoing")}(r,this.combination,this._accumulator);switch(n){case!0:e.avoidHandler(r),this.dispatchEvent(new Event(t.KeyboardShortcutExecuteEventName,{bubbles:!1,cancelable:!1}));case!1:this._accumulator.splice(0)}}}viewActivatedCallback(){super.viewActivatedCallback(),this._addHandler()}propertyChangedCallback(e,t,r,n){super.propertyChangedCallback(e,t,r,n),"target"!==e||n||(this._removeHandler(t),this._addHandler(r))}disconnectedCallback(){this._removeHandler(),super.disconnectedCallback()}_removeHandler(e=this.target){(e||window).removeEventListener(r,this._shortcutHandler,!1)}_addHandler(e=this.target){(e||window).addEventListener(r,this._shortcutHandler,!1)}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"combination",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Element})],n.prototype,"target",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-shortcut"})],n),t.PacemShortcutElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let r=class PacemStyleProxyElement extends t.PacemEventTarget{propertyChangedCallback(t,r,n,s){switch(super.propertyChangedCallback(t,r,n,s),t){case"cssText":e.Utils.isNull(this._style)||(this.cssReady=!1,this._style.textContent=n,e.Utils.isNullOrEmpty(n)?this.cssReady=!0:this._idleWhileReady());break;case"disabled":case"src":this._fetch()}}viewActivatedCallback(){super.viewActivatedCallback();const e=this._style=document.createElement("style");e.setAttribute("type","text/css"),document.head.appendChild(e),this._fetch()}disconnectedCallback(){e.Utils.isNull(this._style)||this._style.remove(),super.disconnectedCallback()}_idleWhileReady(){let e=this._style.sheet,t=setInterval((()=>{try{e.cssRules.length>0&&(clearInterval(t),this.cssReady=!0,this.dispatchEvent(new Event("cssready")))}catch(e){}}),100)}_fetch(){const t=this.src,r=this._style;this.disabled||e.Utils.isNull(r)||(e.Utils.isNullOrEmpty(t)?r.textContent=this.cssText||"":(this.cssReady=!1,fetch(t).then((e=>{e.text().then((e=>{r.textContent=e,this._idleWhileReady()}),(e=>{this.cssReady=!0}))}),(e=>{this.cssReady=!0}))))}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"src",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"cssText",void 0),__decorate([e.Watch({converter:e.PropertyConverters.Boolean})],r.prototype,"cssReady",void 0),r=__decorate([e.CustomElement({tagName:e.P+"-style-proxy"})],r),t.PacemStyleProxyElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let r=class PacemTimerElement extends t.PacemEventTarget{constructor(){super(),this._handle=0}propertyChangedCallback(e,t,r,n){switch(super.propertyChangedCallback(e,t,r,n),e){case"interval":case"disabled":this._restart()}}viewActivatedCallback(){super.viewActivatedCallback(),this._restart()}disconnectedCallback(){window.clearInterval(this._handle),super.disconnectedCallback()}_restart(){clearInterval(this._handle),!this.disabled&&this.interval>0&&(this._handle=window.setInterval((()=>{this.dispatchEvent(new Event("tick",{bubbles:!1,cancelable:!1}))}),this.interval))}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],r.prototype,"interval",void 0),r=__decorate([e.CustomElement({tagName:e.P+"-timer"})],r),t.PacemTimerElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let r=class PacemTitleProxyElement extends t.PacemEventTarget{propertyChangedCallback(e,t,r,n){super.propertyChangedCallback(e,t,r,n),this._update()}viewActivatedCallback(){super.viewActivatedCallback(),this._update()}_update(){const t=this.value;e.Utils.isNullOrEmpty(t)||this.disabled||(document.title=t)}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"value",void 0),r=__decorate([e.CustomElement({tagName:e.P+"-title-proxy"})],r),t.PacemTitleProxyElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let r=class PacemWebWorkerProxyElement extends t.PacemEventTarget{constructor(){super(...arguments),this.autosend=!0,this._messageHandler=e=>{this.result=e.data,this.dispatchEvent(new CustomEvent("receive",{detail:e.data,bubbles:!1,cancelable:!1}))},this._errorHandler=e=>{this.dispatchEvent(new CustomEvent("error",{detail:e.error,bubbles:!1,cancelable:!1}))}}viewActivatedCallback(){super.viewActivatedCallback(),this._initializeWorker()}propertyChangedCallback(e,t,r,n){if(super.propertyChangedCallback(e,t,r,n),!n)switch(e){case"src":this._disposeWorker(),this._initializeWorker(r);break;case"autosend":case"disabled":case"message":this.autosend&&this.send(this.message)}}disconnectedCallback(){this._disposeWorker(),super.disconnectedCallback()}send(t=this.message){if(this.disabled)return;const r=this._worker;e.Utils.isNull(r)||r.postMessage(t)}_initializeWorker(t=this.src){if(!e.Utils.isNullOrEmpty(t)){const e=this._worker=new Worker(t);e.addEventListener("message",this._messageHandler,!1),e.addEventListener("error",this._errorHandler,!1)}}_disposeWorker(t=this._worker){e.Utils.isNull(t)||(t.removeEventListener("error",this._errorHandler,!1),t.removeEventListener("message",this._messageHandler,!1),t.terminate())}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"message",void 0),__decorate([e.Watch({converter:e.PropertyConverters.String})],r.prototype,"result",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"src",void 0),__decorate([e.Watch({emit:!1,reflectBack:!0,converter:e.PropertyConverters.Boolean})],r.prototype,"autosend",void 0),r=__decorate([e.CustomElement({tagName:e.P+"-webworker-proxy"})],r),t.PacemWebWorkerProxyElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){var r;const n={convert:t=>{var r;return null!==(r=e.Animations.Easings[t])&&void 0!==r?r:e.Animations.Easings.linear}};class AnimationElement extends t.PacemItemElement{}__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Element})],AnimationElement.prototype,"target",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],AnimationElement.prototype,"property",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],AnimationElement.prototype,"delay",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],AnimationElement.prototype,"duration",void 0),__decorate([e.Watch({emit:!1,converter:n})],AnimationElement.prototype,"easing",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],AnimationElement.prototype,"iterations",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],AnimationElement.prototype,"direction",void 0),t.AnimationElement=AnimationElement;r=new WeakMap,t.TweenAnimationElement=class TweenAnimationElement extends AnimationElement{constructor(t=new e.Animations.TweenService){super(),this._tweener=t,r.set(this,!1)}get tweener(){return this._tweener}startAnimation(){return __classPrivateFieldSet(this,r,!1,"f"),new Promise(((t,n)=>{var s,i,a;this._tweener.run(0,1,null!==(s=this.duration)&&void 0!==s?s:0,null!==(i=this.delay)&&void 0!==i?i:0,null!==(a=this.easing)&&void 0!==a?a:e.Animations.Easings.linear,((e,t)=>{__classPrivateFieldGet(this,r,"f")||(this.target[this.property]=this.tweenInterpolationCallback(e,t))})).then(t)}))}cancelAnimation(){__classPrivateFieldSet(this,r,!0,"f")}}}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){var r,n;const s={h:0,l:0,s:.5,a:1},i={h:0,l:1,s:.5,a:1};let a=class PacemColorAnimationElement extends t.TweenAnimationElement{constructor(){super(...arguments),r.set(this,s),n.set(this,i)}propertyChangedCallback(e,t,r,n){if(super.propertyChangedCallback(e,t,r,n),!n)switch(e){case"from":this._precomputeFrom(r);break;case"to":this._precomputeTo(r)}}viewActivatedCallback(){super.viewActivatedCallback(),this._precomputeColors()}_precomputeColors(){this._precomputeFrom(),this._precomputeTo()}_precomputeFrom(e=this.from){var t;__classPrivateFieldSet(this,r,null!==(t=this._precomputeColor(e))&&void 0!==t?t:s,"f")}_precomputeTo(e=this.to){var t;__classPrivateFieldSet(this,n,null!==(t=this._precomputeColor(e))&&void 0!==t?t:s,"f")}_precomputeColor(t){if(!e.Utils.isNullOrEmpty(t))try{return this._parseColor(t)}catch(e){return null}}_parseColor(t){return e.Colors.hsl(e.Colors.parse(t))}tweenInterpolationCallback(t,s){const i=__classPrivateFieldGet(this,r,"f"),a=__classPrivateFieldGet(this,n,"f"),o={h:(a.h-i.h)*s+i.h,s:(a.s-i.s)*s+i.s,l:(a.l-i.l)*s+i.l,a:(a.a-i.a)*s+i.a};return e.Colors.stringify(o)}};r=new WeakMap,n=new WeakMap,__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],a.prototype,"from",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],a.prototype,"to",void 0),a=__decorate([e.CustomElement({tagName:e.P+"-color-animation"})],a),t.PacemColorAnimationElement=a}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let r=class PacemNumberAnimationElement extends t.TweenAnimationElement{tweenInterpolationCallback(e,t){var r,n;const s=null!==(r=this.to)&&void 0!==r?r:1,i=null!==(n=this.from)&&void 0!==n?n:0;return(s-i)*t+i}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],r.prototype,"from",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],r.prototype,"to",void 0),r=__decorate([e.CustomElement({tagName:e.P+"-number-animation"})],r),t.PacemNumberAnimationElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){const r={x:0,y:0},n={x:1,y:1};let s=class PacemPointAnimationElement extends t.TweenAnimationElement{tweenInterpolationCallback(e,t){var s,i;const a=null!==(s=this.to)&&void 0!==s?s:n,o=null!==(i=this.from)&&void 0!==i?i:r;return{x:(a.x-o.x)*t+o.x,y:(a.y-o.y)*t+o.y}}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Point})],s.prototype,"from",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Point})],s.prototype,"to",void 0),s=__decorate([e.CustomElement({tagName:e.P+"-point-animation"})],s),t.PacemPointAnimationElement=s}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let r=class PacemStoryboardElement extends t.PacemItemsContainerElement{validate(e){return e instanceof t.AnimationElement}viewActivatedCallback(){super.viewActivatedCallback(),this._animate()}propertyChangedCallback(e,t,r,n){if(super.propertyChangedCallback(e,t,r,n),!n)switch(e){case"datasource":this._buildDatasourceFromDatasource(r);break;case"items":this._buildDatasourceFromItems(r);break;case"_adaptedDatasource":case"autostart":this._animate()}}_buildDatasourceFromItems(e=this.items){this._adaptedDatasource=e||[]}_buildDatasourceFromDatasource(e=this.datasource){this._adaptedDatasource=e||[]}_animate(t=this.autostart){const r=this._adaptedDatasource,n=[];if(t&&!e.Utils.isNullOrEmpty(r))for(let e of r)n.push(e.startAnimation());return Promise.all(n)}cancelAnimation(){const e=this._adaptedDatasource||[];for(let t of e)t.cancelAnimation()}startAnimation(){return this._animate(!0)}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Boolean})],r.prototype,"autostart",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],r.prototype,"duration",void 0),__decorate([e.Watch({emit:!1})],r.prototype,"datasource",void 0),__decorate([e.Watch({emit:!1})],r.prototype,"_adaptedDatasource",void 0),r=__decorate([e.CustomElement({tagName:e.P+"-storyboard"})],r),t.PacemStoryboardElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={}));
@@ -1,7 +1,7 @@
1
1
  /**
2
- * pacem v0.40.1 (https://js.pacem.it)
2
+ * pacem v0.40.2 (https://js.pacem.it)
3
3
  * Copyright 2023 Pacem (https://pacem.it)
4
- * Licensed under MIT
4
+ * Licensed under SEE LICENSE IN LICENSE
5
5
  */
6
6
  declare namespace Pacem {
7
7
  class Arrays {