@pacem/pacem 1.0.3 → 1.0.4

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 (37) hide show
  1. package/dist/browser/pacem-2d.js +1 -1
  2. package/dist/browser/pacem-2d.min.js +1 -1
  3. package/dist/browser/pacem-3d.js +1 -1
  4. package/dist/browser/pacem-3d.min.js +1 -1
  5. package/dist/browser/pacem-charts.js +1 -1
  6. package/dist/browser/pacem-charts.min.js +1 -1
  7. package/dist/browser/pacem-cms.js +1 -1
  8. package/dist/browser/pacem-cms.min.js +1 -1
  9. package/dist/browser/pacem-core.js +2 -2
  10. package/dist/browser/pacem-core.js.map +1 -1
  11. package/dist/browser/pacem-core.min.js +2 -2
  12. package/dist/browser/pacem-foundation.js +1 -1
  13. package/dist/browser/pacem-foundation.min.js +1 -1
  14. package/dist/browser/pacem-fx.js +1 -1
  15. package/dist/browser/pacem-fx.min.js +1 -1
  16. package/dist/browser/pacem-logging.js +1 -1
  17. package/dist/browser/pacem-logging.min.js +1 -1
  18. package/dist/browser/pacem-maps.js +1 -1
  19. package/dist/browser/pacem-maps.min.js +1 -1
  20. package/dist/browser/pacem-media.js +1 -1
  21. package/dist/browser/pacem-media.min.js +1 -1
  22. package/dist/browser/pacem-networking.js +1 -1
  23. package/dist/browser/pacem-networking.min.js +1 -1
  24. package/dist/browser/pacem-numerical.js +1 -1
  25. package/dist/browser/pacem-numerical.min.js +1 -1
  26. package/dist/browser/pacem-plus.js +1 -1
  27. package/dist/browser/pacem-plus.min.js +1 -1
  28. package/dist/browser/pacem-scaffolding.js +1 -1
  29. package/dist/browser/pacem-scaffolding.min.js +1 -1
  30. package/dist/browser/pacem-ui.js +27 -24
  31. package/dist/browser/pacem-ui.js.map +1 -1
  32. package/dist/browser/pacem-ui.min.js +2 -2
  33. package/dist/bundle/pacem.min.mjs +92 -92
  34. package/dist/bundle/pacem.mjs +29 -25
  35. package/dist/bundle/pacem.mjs.map +2 -2
  36. package/dist/typings/index.d.ts +1 -1
  37. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * @pacem/pacem v1.0.3 (https://js.pacem.it)
2
+ * @pacem/pacem v1.0.4 (https://js.pacem.it)
3
3
  * Pacem (https://pacem.it)
4
4
  * Licensed under Apache-2.0
5
5
  */
6
- !function(e,t){"use strict";var s=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};const{PacemElement:i,RepeaterItemCreateEventName:n,ItemRegisterEventName:o,ItemUnregisterEventName:r}=t.Components;var a;!function(e){e.Vertical="vertical",e.Horizontal="horizontal"}(a||(a={}));const l="pagerefresh";class AdapterPageButtonRefreshEvent extends CustomEvent{constructor(e){super(l,{detail:e,bubbles:!1,cancelable:!1})}}let c=class PacemAdapterElement extends t.Components.PacemAdapter{constructor(){super(...arguments),this._itemCreatedHandler=e=>{const t=e.detail.index;this._pageMap.set(t,e.detail.dom[0].firstElementChild),this._fireAdapterPageRefreshCallback(t,e.detail.item)},this._pageMap=new Map,this.interactive=!0,this.swipeEnabled=!0,this.loop=!0,this.labelCallback=(e,t)=>(t+1).toString(),this._itemRegisterHandler=e=>{let s=e.detail;!t.Utils.isNull(this._swiper)&&s instanceof i&&-1==s.behaviors.indexOf(this._swiper)&&s.behaviors.push(this._swiper)},this._itemUnregisterHandler=e=>{let s,n=e.detail;!t.Utils.isNull(this._swiper)&&n instanceof i&&(s=n.behaviors.indexOf(this._swiper))>=0&&n.behaviors.splice(s,1)},this._keydownHandler=e=>{if(this.interactive)if(this.orientation===a.Vertical)switch(e.keyCode){case 40:this._next(e);break;case 38:this._previous(e)}else switch(e.keyCode){case 39:this._next(e);break;case 37:this._previous(e)}}}masterPropertyChangedCallback(e,t,s,i){switch(super.masterPropertyChangedCallback(e,t,s,i),e){case"items":this._syncViewWithItems();break;case"index":this._index=s}}viewActivatedCallback(){super.viewActivatedCallback(),this._repeater.addEventListener(n,this._itemCreatedHandler,!1),this._syncViewWithItems()}disconnectedCallback(){this._repeater&&this._repeater.removeEventListener(n,this._itemCreatedHandler,!1),super.disconnectedCallback()}initializeCallback(){super.initializeCallback(),this.addEventListener("keydown",this._keydownHandler,!1);const e=this.master;if(!t.Utils.isNull(e)){const t=this._previousTabIndex=e.tabIndex;(!t||t<0)&&(e.tabIndex=0),e.addEventListener("keydown",this._keydownHandler,!1),e.addEventListener(o,this._itemRegisterHandler,!1),e.addEventListener(r,this._itemUnregisterHandler,!1)}this._syncViewWithItems()}destroyCallback(){this.removeEventListener("keydown",this._keydownHandler,!1);const e=this.master;if(!t.Utils.isNull(e)){if(e.removeEventListener("keydown",this._keydownHandler,!1),e.removeEventListener(o,this._itemRegisterHandler,!1),e.removeEventListener(r,this._itemUnregisterHandler,!1),!t.Utils.isNullOrEmpty(e.items))for(let t of e.items){const e=t.behaviors,s=e.indexOf(this._swiper);s>=0&&e.splice(s,1)}e.tabIndex=this._previousTabIndex}super.destroyCallback()}itemPropertyChangedCallback(e,t,s,i,n){super.itemPropertyChangedCallback(e,t,s,i,n),this._tickVersion(),this._fireAdapterPageRefreshCallback(e)}_fireAdapterPageRefreshCallback(e,s){var i=(s=s||this.master.items[e]).hide||!1,n=s.disabled||!1,o=this._labelCallback(s,e);const r=new AdapterPageButtonRefreshEvent({index:e,hide:i,disabled:n,content:o});this.dispatchEvent(r),i=this._isHidden(s,e,r.detail.hide),n=this._isDisabled(s,e,r.detail.disabled),o=r.detail.content;const a=this._pageMap;if(a.has(e)){const s=a.get(e),r=s.firstElementChild,l=()=>{s.hide=i,s.disabled=n,r.content=o};t.CustomElementUtils.whenReady(s,l)}}_tickVersion(){this._v=Date.now()}propertyChangedCallback(e,t,s,i){switch(super.propertyChangedCallback(e,t,s,i),e){case"interval":this._resetTimer(s);break;case"swipeEnabled":this._swiper.disabled=!s||!this.interactive;break;case"interactive":this.hidden=!s,this._swiper.disabled=!s||!this.swipeEnabled;break;case"pausable":1==s?this._liPause.removeAttribute("hidden"):this._liPause.setAttribute("hidden","hidden")}}_syncViewWithItems(){if(!(!this.isReady||t.Utils.isNull(this.master)||t.Utils.isNull(this._prevBtn)||t.Utils.isNull(this._nextBtn)||t.Utils.isNull(this._repeater))){var e=this.master.items;if(this._prevBtn.hide=this._nextBtn.hide=this._panel.hide=!(e&&e.length>1),this._panel.hide=t.Utils.isNullOrEmpty(e),this._repeater.datasource=e,this._index=this.master.index,!t.Utils.isNullOrEmpty(e))for(let t of e)t instanceof i&&-1==t.behaviors.indexOf(this._swiper)&&t.behaviors.push(this._swiper)}}_toggle(e){(this._paused=!this._paused)?(t.avoidHandler(e),this._resetTimer(0)):this._next(e)}_resetTimer(e){clearInterval(this._handle),e>0&&(this._handle=window.setInterval(()=>{super.next()},e))}_next(e){e.type!==t.UI.SwipeEventType.SwipeLeft&&t.avoidHandler(e),this._resetTimer(this.interval),super.next(this.loop)}_previous(e){e.type!==t.UI.SwipeEventType.SwipeRight&&t.avoidHandler(e),this._resetTimer(this.interval),super.previous(this.loop)}_select(e,s){t.avoidHandler(s),this._resetTimer(this.interval),this.deselectable&&e===this._index?this.master.index=this._index=-1:super.select(e)}_isDisabled(e,t,s,i){return this._disableOrHide(e,t,s)}_isHidden(e,t,s,i){return this._disableOrHide(e,t,s)}_disableOrHide(e,t,s){const n=e instanceof i&&!0===s;return(-1===this._index&&!1===n||!0===n&&t===this._index)&&(this.deselectable?this.master.index=this._index=-1:super.select(t)),n}_labelCallback(e,t,s){return this.labelCallback(e,t)}};s([t.ViewChild(t.P+"-repeater")],c.prototype,"_repeater",void 0),s([t.ViewChild(t.P+"-button."+t.PCSS+"-adapter-previous")],c.prototype,"_prevBtn",void 0),s([t.ViewChild(t.P+"-button."+t.PCSS+"-adapter-next")],c.prototype,"_nextBtn",void 0),s([t.ViewChild(t.P+"-panel")],c.prototype,"_panel",void 0),s([t.ViewChild(t.P+"-swipe")],c.prototype,"_swiper",void 0),s([t.ViewChild("."+t.PCSS+"-adapter-dashboard > li[pacem]")],c.prototype,"_liPause",void 0),s([t.Debounce()],c.prototype,"_tickVersion",null),s([t.Watch({converter:t.PropertyConverters.Boolean})],c.prototype,"pausable",void 0),s([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],c.prototype,"interval",void 0),s([t.Watch({emit:!1,converter:t.PropertyConverters.String})],c.prototype,"orientation",void 0),s([t.Watch({emit:!1,reflectBack:!0,converter:t.PropertyConverters.Boolean})],c.prototype,"interactive",void 0),s([t.Watch({emit:!1,reflectBack:!0,converter:t.PropertyConverters.Boolean})],c.prototype,"swipeEnabled",void 0),s([t.Watch({emit:!1,reflectBack:!0,converter:t.PropertyConverters.Boolean})],c.prototype,"deselectable",void 0),s([t.Watch({emit:!1,reflectBack:!0,converter:t.PropertyConverters.Boolean})],c.prototype,"loop",void 0),s([t.Watch({emit:!1})],c.prototype,"labelCallback",void 0),s([t.Watch()],c.prototype,"_index",void 0),s([t.Watch()],c.prototype,"_paused",void 0),s([t.Watch()],c.prototype,"_v",void 0),s([t.Throttle(333)],c.prototype,"_next",null),s([t.Throttle(333)],c.prototype,"_previous",null),c=s([t.CustomElement({tagName:t.P+"-adapter",shadow:t.Defaults.USE_SHADOW_ROOT,template:`<${t.P}-button class="${t.PCSS}-adapter-previous" on-click=":host._previous($event)">&lt;</${t.P}-button>\n <${t.P}-button class="${t.PCSS}-adapter-next" on-click=":host._next($event)">&gt;</${t.P}-button>\n <${t.P}-swipe on-swipeleft=":host._next($event)" on-swiperight=":host._previous($event)"></${t.P}-swipe>\n <${t.P}-panel tabindex="0">\n <${t.P}-repeater>\n <ol class="${t.PCSS}-adapter-dashboard">\n <li pacem hidden>\n <${t.P}-button class="${t.PCSS}-play-pause"\n css-class="{{ {'paused' : :host._paused, 'playing': !:host._paused } }}" \n disabled="{{ !:host.pausable }}" on-click=":host._toggle($event)"></${t.P}-button>\n </li>\n <template>\n <li>\n <${t.P}-button on-click=":host._select(^index, $event)" class="${t.PCSS}-adapter-page" css-class="{{ { '${t.PCSS}-adapter-active': ^index === :host._index } }}">\n <${t.P}-span></${t.P}-span>\n </${t.P}-button>\n </li>\n </template>\n </ol></${t.P}-repeater></${t.P}-panel>`})],c);var d=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let h=class PacemAnchorElement extends t.Components.PacemElement{constructor(){super("link"),this._fetching=!1}get fetching(){return this._fetching}connectedCallback(){super.connectedCallback(),this.hasAttribute("tab-order")||(this.tabOrder=0)}propertyChangedCallback(e,s,i,n){switch(super.propertyChangedCallback(e,s,i,n),e){case"target":(t.Utils.isNullOrEmpty(i)?t.Utils.removeClass:t.Utils.addClass)(this,"a-target");break;case"href":(t.Utils.isNull(i)?t.Utils.removeClass:t.Utils.addClass)(this,"a-url");break;case"download":(t.Utils.isNullOrEmpty(i)?t.Utils.removeClass:t.Utils.addClass)(this,"a-download")}}emit(e){if(super.emit(e),this.disabled)return;switch(e.type){case"mousedown":t.Utils.addClass(this,t.PCSS+"-active");break;case"keydown":"Enter"===e.key&&(e.preventDefault(),t.Utils.addClass(this,t.PCSS+"-active"));break;case"blur":case"mouseup":t.Utils.removeClass(this,t.PCSS+"-active");break;case"keyup":"Enter"===e.key&&(this.click(),t.Utils.removeClass(this,t.PCSS+"-active"))}const s=this.href,i=this.target,n=this.router,o=this.download,r=()=>t.Utils.isNull(n)?s:t.Utils.URIs.format(s,n.state);t.Utils.isNull(s)||e.defaultPrevented||("click"===e.type&&e.ctrlKey||"mousedown"===e.type&&1===e.button?window.open(r(),"_blank"):"click"===e.type&&(!0===o?this._download(r()):"string"!=typeof o||t.Utils.isNullOrEmpty(o)?t.Utils.isNullOrEmpty(i)?t.Utils.isNull(n)?location.assign(s):n.path=s:window.open(r(),i):this._download(r(),o)))}async _download(e,s){this.dispatchEvent(new t.PropertyChangeEvent({propertyName:"fetching",oldValue:this._fetching,currentValue:this._fetching=!0}));try{await t.Utils.download(e,{credentials:this.fetchCredentials,headers:this.fetchHeaders,filename:s})}finally{this.dispatchEvent(new t.PropertyChangeEvent({propertyName:"fetching",oldValue:this._fetching,currentValue:this._fetching=!1}))}}};d([t.Watch({emit:!1,converter:t.PropertyConverters.String})],h.prototype,"fetchCredentials",void 0),d([t.Watch({emit:!1,converter:t.PropertyConverters.Json})],h.prototype,"fetchHeaders",void 0),d([t.Watch({reflectBack:!0,converter:t.PropertyConverters.String})],h.prototype,"href",void 0),d([t.Watch({reflectBack:!0,converter:t.PropertyConverters.String})],h.prototype,"target",void 0),d([t.Watch({reflectBack:!1,converter:{convert:e=>{switch(e){case"true":return!0;case"false":return!1;default:return e}},convertBack:e=>e}})],h.prototype,"download",void 0),d([t.Watch({reflectBack:!1,converter:t.PropertyConverters.Element})],h.prototype,"router",void 0),h=d([t.CustomElement({tagName:t.P+"-a"})],h);const p={convert:e=>document.querySelector(e)??JSON.parse(e)};var u,m,v,g,b,y=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};!function(e){e.Menu="menu",e.Tooltip="tooltip",e.Inert="inert"}(u||(u={})),function(e){e.Hover="hover",e.Click="click",e.ContextMenu="contextmenu",e.Focus="focus"}(m||(m={})),function(e){e.Start="start",e.Center="center",e.End="end",e.Auto="auto"}(v||(v={})),function(e){e.Top="top",e.Left="left",e.Bottom="bottom",e.Right="right",e.Auto="auto",e.HorizontalAuto="x",e.VerticalAuto="y"}(g||(g={})),function(e){e.Auto="auto",e.Match="match"}(b||(b={}));const f="popup",C="popout",_={Defaults:{trigger:m.Hover,position:g.Auto,size:b.Auto,behavior:u.Menu,verticalOffset:0,horizontalOffset:0,hoverDelay:250,hoverTimeout:500,align:v.Center,track:!0}},w="balloon-right balloon-left balloon-bottom balloon-top balloon-start balloon-center balloon-end",P=t.PCSS+"-balloon "+w+" balloon-out balloon-in balloon-on";let E=class PacemBalloonElement extends t.Components.PacemElement{constructor(){super(...arguments),this._options=_.Defaults,this._originalNeighborhood=null,this._popoutDelegate=e=>{this.popout()},this._hoverDelegate=e=>{this.disabled||this.popup(this._options.hoverDelay)},this._outConditionalDelegate=e=>{(e.srcElement||e.target)!=this&&this._outDelegate(e)},this._mousedownConditionalDelegate=e=>{t.preventDefaultHandler(e),this._visible&&t.stopPropagationHandler(e)},this._outDelegate=e=>{this.popout(this._options.hoverTimeout)},this._toggleDelegate=e=>{e.preventDefault(),this._visible?this._outDelegate(e):this._hoverDelegate(e)}}get visible(){return this._visible}propertyChangedCallback(e,s,i,n){super.propertyChangedCallback(e,s,i,n),"target"===e?(s instanceof Element&&this._removeHandlers(s),i instanceof Element||this._adjust()):"options"===e?(this.target instanceof Element&&this._removeHandlers(this.target),this._options=t.Utils.extend({},t.Utils.clone(_.Defaults),i),this._synchronizeOptions()):"disabled"===e&&i&&this.popout(),this.target instanceof Element&&"disabled"!==e&&this._setHandlers(this.target)}viewActivatedCallback(){super.viewActivatedCallback(),this._ensurePopup(),this.target=this.target||this.parentElement,this._synchronizeOptions()}disconnectedCallback(){super.disconnectedCallback(),this._destroyPopup(),this.target instanceof Element&&this._removeHandlers(this.target)}_synchronizeOptions(){const e=this,s=e.options||{};if(s.moveToRoot&&t.Utils.isNull(this._originalNeighborhood))this._originalNeighborhood={parent:e.parentElement,nextSibling:e.nextElementSibling},document.body.appendChild(e);else if(!s.moveToRoot&&!t.Utils.isNull(this._originalNeighborhood)){const s=this._originalNeighborhood.parent;t.Utils.isNull(s)||s.appendChild(e),this._originalNeighborhood=null}}_ensurePopup(){const e=this,s=e._container;return e&&s&&!t.Utils.hasClass(e,t.PCSS+"-balloon")&&(t.Utils.addClass(e,t.PCSS+"-balloon"),e.style.position="absolute",s.style.position="relative",s.style.zIndex="1",e.style.visibility="hidden"),e}_destroyPopup(){var e=this,s=e._container;t.Utils.removeClass(e,P),e.style.position="",t.Utils.isNull(s)||(s.style.position="",s.style.zIndex="")}_registerEvents(){const e=this._ensurePopup(),s=this._options;switch(s.behavior){case u.Menu:switch(s.trigger){case m.Focus:e.addEventListener("mousedown",t.stopPropagationHandler,!1),e.addEventListener("focus",this._hoverDelegate,!1);break;case m.Click:case m.ContextMenu:e.addEventListener("mousedown",t.stopPropagationHandler,!1),window.document.body.addEventListener("mousedown",this._outConditionalDelegate,!1);break;default:e.addEventListener("mouseenter",this._hoverDelegate,!1),e.addEventListener("mouseleave",this._outDelegate,!1)}break;case u.Tooltip:switch(s.trigger){case m.Focus:case m.Click:case m.ContextMenu:window.document.body.addEventListener("mousedown",this._outConditionalDelegate,!1)}}}_unregisterEvents(){var e=this._ensurePopup(),s=this._options;switch(s.behavior){case u.Menu:switch(s.trigger){case m.Focus:e.removeEventListener("mousedown",t.stopPropagationHandler,!1),e.removeEventListener("focus",this._hoverDelegate,!1);break;case m.Click:case m.ContextMenu:e.removeEventListener("mousedown",t.stopPropagationHandler,!1),window.document.body.removeEventListener("mousedown",this._outConditionalDelegate,!1);break;default:e.removeEventListener("mouseenter",this._hoverDelegate,!1),e.removeEventListener("mouseleave",this._outDelegate,!1)}break;case u.Tooltip:switch(s.trigger){case m.Click:case m.ContextMenu:window.document.body.removeEventListener("mousedown",this._outConditionalDelegate,!1)}}}_onLayoutChange(e){this._visible&&this._adjust()}_adjust(){const e=this,s=e.target;if(t.Utils.isNull(s))return;const i=s instanceof Element?t.Utils.offset(s):{top:s.y,left:s.x,width:0,height:0},n=t.Utils.windowSize;var o=this._options,r=o.position,a=o.align;if(r!=g.Top&&r!=g.Bottom&&r!=g.Left&&r!=g.Right){let e=n.height,s=n.width;const o=i.left-t.Utils.scrollLeft,a=i.top-t.Utils.scrollTop,l=e-(a+i.height),c=s-(o+i.width);if(r===g.HorizontalAuto)r=o>c?g.Left:g.Right;else r=a>l?g.Top:g.Bottom}if(o.size===b.Match)switch(r){case g.Bottom:case g.Top:e.style.minWidth=i.width+"px",e.style.minHeight="";break;case g.Left:case g.Right:e.style.minHeight=i.height+"px",e.style.minWidth=""}else e.style.minWidth=e.style.minHeight="";const l=e.offsetWidth,c=e.offsetHeight,d=i.width-l,h=.5*d,p=i.height-c,u=.5*p;switch(a){case v.Center:case v.Start:case v.End:break;case v.Auto:switch(a=v.Center,r){case g.Right:case g.Left:const e=t.Utils.scrollTop+n.height/2;i.top+i.height<e?a=v.Start:i.top>e&&(a=v.End);break;case g.Top:case g.Bottom:const s=t.Utils.scrollLeft+n.width/2;i.left+i.width<s?a=v.Start:i.left>s&&(a=v.End)}break;default:a=_.Defaults.align}t.Utils.removeClass(e,w),t.Utils.addClass(e,"balloon-"+r),t.Utils.addClass(e,"balloon-"+a);const m=t.Utils.Css.getVariableValue(`--${t.PCSS}-balloon-tail-size`),y=t.Utils.Css.getVariableValue(`--${t.PCSS}-balloon-tail-inset`),f=parseInt(y)+.5*parseInt(m),C=i.width/2,P=i.height/2,E=o.autoAdjust&&f>C,k=o.autoAdjust&&f>P;switch(r){case g.Top:switch(i.top-=c,a){case v.Center:i.left+=h;break;case v.End:i.left+=d,E&&(i.left+=f-C);break;case v.Start:E&&(i.left-=f-C)}break;case g.Left:switch(i.left-=l,a){case v.Center:i.top+=u;break;case v.End:i.top+=p,k&&(i.top+=f-P);break;case v.Start:k&&(i.top-=f-P)}break;case g.Right:switch(i.left+=i.width,a){case v.Center:i.top+=u;break;case v.End:i.top+=p,k&&(i.top+=f-P);break;case v.Start:k&&(i.top-=f-P)}break;default:switch(i.top+=i.height,a){case v.Center:i.left+=h;break;case v.End:i.left+=d,E&&(i.left+=f-C);break;case v.Start:E&&(i.left-=f-C)}}i.left=Math.min(n.width-l,Math.max(0,i.left)),i.top+=o.verticalOffset,i.left+=o.horizontalOffset,e.style.top=Math.round(i.top)+"px",e.style.left=Math.round(i.left)+"px"}_adjustWatchers(e){const s=this.options||{};t.Utils.isNull(this._resize)||(this._resize.disabled=!e,this._position.disabled=!e||!(s.track||s.trackPosition))}popup(e=0){if(clearTimeout(this._timer),e>0)return void(this._timer=setTimeout(()=>this.popup(),e));const s=this,i=t.Utils.isVisible(s);this._adjustWatchers(!0),i||this.disabled||(this._registerEvents(),s.style.pointerEvents="none",this._visible=!0,s.style.visibility="visible",this._adjust(),t.Utils.addClass(s,"balloon-in"),t.Utils.addAnimationEndCallback(s,()=>{t.Utils.addClass(s,"balloon-on"),s.dispatchEvent(new t.PropertyChangeEvent({propertyName:"visible",oldValue:!1,currentValue:!0})),s.dispatchEvent(new Event(f)),s.style.pointerEvents="auto"},500))}popout(e=0){if(clearTimeout(this._timer),e>0)return void(this._timer=setTimeout(()=>this.popout(),e));var s=this;const i=t.Utils.isVisible(s);this._adjustWatchers(!1),i&&(this._unregisterEvents(),s.style.pointerEvents="none",t.Utils.removeClass(s,"balloon-in balloon-on"),t.Utils.addClass(s,"balloon-out"),t.Utils.addAnimationEndCallback(s,()=>{s.style.visibility="hidden",this._visible=!1,t.Utils.removeClass(s,P),s.dispatchEvent(new Event(C)),s.dispatchEvent(new t.PropertyChangeEvent({propertyName:"visible",oldValue:!0,currentValue:!1}))},500))}toggle(e=0){t.Utils.isVisible(this)||this.disabled?this.popout(e):this.popup(e)}_removeHandlers(e){t.Utils.isNull(e)||(e.removeEventListener("mouseenter",this._hoverDelegate,!1),e.removeEventListener("mouseleave",this._outDelegate,!1),e.removeEventListener("mousedown",this._popoutDelegate,!1),e.removeEventListener("mousedown",this._mousedownConditionalDelegate,!1),e.removeEventListener("click",this._toggleDelegate,!1),e.removeEventListener("focus",this._hoverDelegate,!1),e.removeEventListener("blur",this._outDelegate,!1),e.removeEventListener("contextmenu",this._toggleDelegate,!1))}_setHandlers(e){this.popout();var t=this._options;if(t.behavior!=u.Inert)switch(t.trigger){case m.Hover:e.addEventListener("mouseenter",this._hoverDelegate,!1),e.addEventListener("mouseleave",this._outDelegate,!1),e.addEventListener("mousedown",this._popoutDelegate,!1);break;case m.Focus:e.addEventListener("focus",this._hoverDelegate,!1),e.addEventListener("blur",this._outDelegate,!1);break;case m.Click:t.hoverDelay=t.hoverTimeout=0,e.addEventListener("mousedown",this._mousedownConditionalDelegate,!1),e.addEventListener("click",this._toggleDelegate,!1);break;case m.ContextMenu:t.hoverDelay=t.hoverTimeout=0,e.addEventListener("contextmenu",this._toggleDelegate,!1)}}};y([t.ViewChild(`.${t.PCSS}-balloon`)],E.prototype,"_container",void 0),y([t.ViewChild(t.P+"-resize[content]")],E.prototype,"_resize",void 0),y([t.ViewChild(t.P+"-resize[watch-position=true]")],E.prototype,"_position",void 0),y([t.Watch({converter:p})],E.prototype,"target",void 0),y([t.Watch({emit:!1,converter:t.PropertyConverters.Json})],E.prototype,"options",void 0),E=y([t.CustomElement({tagName:t.P+"-balloon",shadow:!0,template:`<${t.P}-resize target="{{ :host.target }}" disabled="true" watch-position="true" on-${t.Components.ResizeEventName}=":host._onLayoutChange($event)"></${t.P}-resize>\n<div class="${t.PCSS}-balloon"><${t.P}-resize on-${t.Components.ResizeEventName}=":host._onLayoutChange($event)" disabled="true" content><slot></slot></${t.P}-resize></div>\n<div class="corner top-left" part="corner-topleft"></div><div class="corner bottom-left" part="corner-bottomleft"></div><div class="corner top-right" part="corner-topright"></div><div class="corner bottom-right" part="corner-bottomright"></div>`})],E);var k,x,S,U=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};!function(e){e.Auto="auto",e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom",e.Center="center"}(k||(k={})),function(e){e.Default="default",e.Arrow="arrow",e.FatArrow="fatarrow",e.None="none"}(x||(x={})),function(e){e.Mass="mass",e.Path="path"}(S||(S={}));const $="interact";class BinderInteractionEvent extends t.CustomUIEvent{constructor(e){super($,null,e)}}const D="pacem:components:ui:binders";class BindersCollector{constructor(e){this.binders=[],this.fire=e=>{for(var t of this.binders)t.refresh(this.resize.target,e.detail)};const s=this.resize=new t.Components.PacemResizeElement;s.target=e,s.watchPosition=!0,document.body.appendChild(s)}dispose(){this.resize.remove()}}class BinderUtils{static{this._pageBinders=[]}static _updateResizeListener(){const e=this._pageBinders;if(t.Utils.isNull(this._bodyResizeListener)){const s=this._bodyResizeListener=new t.Components.PacemResizeElement;s.target=document.body,document.body.appendChild(s),document.addEventListener(t.Components.ResizeEventName,()=>{for(let t of e)t.invalidateSize()},!1)}this._bodyResizeListener.disabled=0===e.length}static register(e,s){var i=t.CustomElementUtils.getAttachedPropertyValue(e,D),n=this._pageBinders;t.Utils.isNull(i)&&(i=new BindersCollector(e),t.CustomElementUtils.setAttachedPropertyValue(e,D,i)),-1==i.binders.indexOf(s)&&(0===i.binders.length&&i.resize.addEventListener(t.Components.ResizeEventName,i.fire,!1),s.refresh(e,i.resize.currentSize),i.binders.push(s)),-1===n.indexOf(s)&&(n.push(s),this._updateResizeListener())}static unregister(e,s){var i,n,o=t.CustomElementUtils.getAttachedPropertyValue(e,D),r=this._pageBinders;!t.Utils.isNull(o)&&(i=o.binders.indexOf(s))>-1&&(o.binders.splice(i,1),0===o.binders.length&&(o.resize.removeEventListener(t.Components.ResizeEventName,o.fire,!1),o.dispose(),t.CustomElementUtils.deleteAttachedPropertyValue(e,D))),(n=r.indexOf(s))>=0&&(r.splice(n,1),this._updateResizeListener())}}const A=["click","dblclick","mouseover","mouseout","mouseenter","mouseleave","mousedown","mouseup","mousemove","contextmenu"];let O=class PacemBinderElement extends t.Components.PacemElement{constructor(){super(...arguments),this._broadcastHandler=e=>{var t=new BinderInteractionEvent(e);this.dispatchEvent(t)},this._state={}}connectedCallback(){super.connectedCallback(),this._ensurePath()}viewActivatedCallback(){super.viewActivatedCallback(),this.from instanceof Element&&BinderUtils.register(this.from,this),this.to instanceof Element&&BinderUtils.register(this.to,this)}propertyChangedCallback(e,s,i,n){switch(super.propertyChangedCallback(e,s,i,n),e){case"from":case"to":s instanceof Element&&BinderUtils.unregister(s,this),i instanceof Element?BinderUtils.register(i,this):this.refresh(i);break;case"fromLimit":case"toLimit":case"fromEnd":case"toEnd":case"tension":this._draw();break;case"fromAnchor":this.refresh(this.from);break;case"toAnchor":this.refresh(this.to);break;case"cssClass":t.Utils.isNull(this._svg)||this._svg.setAttribute("class",t.PCSS+"-binder "+this.className);break;case"hide":n||this._setPathVisibility()}}disconnectedCallback(){t.Utils.isNull(this._path)||(A.forEach(e=>{this._path.removeEventListener(e,this._broadcastHandler,!1)}),this._svg.remove(),this._path=void 0),this.from instanceof Element&&BinderUtils.unregister(this.from,this),this.to instanceof Element&&BinderUtils.unregister(this.to,this),super.disconnectedCallback()}_setPathVisibility(e=this._path,s=this.hide,i=this.interactive){t.Utils.isNull(e)||(s?e.setAttribute("display","none"):e.removeAttribute("display"),i?(e.setAttribute("pointer-events","visibleStroke"),e.tabIndex=0):(e.removeAttribute("pointer-events"),e.tabIndex=-1))}_ensurePath(){if(t.Utils.isNull(this._path)){let e=this._svg=document.createElementNS("http://www.w3.org/2000/svg","svg");e.style.position="absolute",t.Utils.addClass(e,t.PCSS+"-binder "+this.className),e.style.top="0",e.style.left="0",e.style.overflow="hidden",e.style.pointerEvents="none";const s=this._path=document.createElementNS("http://www.w3.org/2000/svg","path");s.setAttribute("fill","none"),s.setAttribute("display","none"),this._setPathVisibility(),e.appendChild(s),this.invalidateSize(),document.body.appendChild(e),A.forEach(e=>{s.addEventListener(e,this._broadcastHandler,!1)})}}invalidateSize(){const e=this._svg;t.Utils.isNull(e)||(e.setAttribute("width",document.body.scrollWidth.toString()),e.setAttribute("height",document.body.scrollHeight.toString()))}_computeAnchorPoints(t,s,i,n,o,r,a){var l,c,d,h;const p=t.top,u=t.left,m=t.width,v=t.height,g=m/2,b=v/2,y=n.top,f=n.left,C=n.width,_=n.height,w=C/2,P=_/2,E={x:u+g,y:p+b},U={x:f+w,y:y+P},$={x:u+g,y:p},D={x:u+g,y:p+v},A={x:u,y:p+b},O={x:u+m,y:p+b},R={x:f+w,y:y},N={x:f+w,y:y+_},L={x:f,y:y+P},H={x:f+C,y:y+P},T={p1_top:$,p1_bottom:D,p1_left:A,p1_right:O,p2_top:R,p2_bottom:N,p2_left:L,p2_right:H};var z={};function W(t,s){const i=t+"_"+s;return z[i]=z[i]||e.Point.distance(T["p1_"+t],T["p2_"+s])}if(s==k.Auto||o==k.Auto){const e={x:E.x,y:-E.y},t={x:U.x,y:-U.y},i=180*Math.atan2(t.y-e.y,t.x-e.x)/Math.PI;switch(i){case 0:s==k.Auto&&(s=k.Right),o==k.Auto&&(o=k.Left);break;case 90:s==k.Auto&&(s=k.Top),o==k.Auto&&(o=k.Bottom);break;case 180:s==k.Auto&&(s=k.Left),o==k.Auto&&(o=k.Right);break;case-90:s==k.Auto&&(s=k.Bottom),o==k.Auto&&(o=k.Top);break;default:if(i<90&&i>0){let e=W("top","left"),t=W("right","left"),i=W("right","bottom"),n=W("top","bottom");switch(Math.min(e,t,i,n)){case e:s==k.Auto&&(s=k.Top),o==k.Auto&&(o=k.Left);break;case n:s==k.Auto&&(s=k.Top),o==k.Auto&&(o=k.Bottom);break;case i:s==k.Auto&&(s=k.Right),o==k.Auto&&(o=k.Bottom);break;default:s==k.Auto&&(s=k.Right),o==k.Auto&&(o=k.Left)}}else if(i<180&&i>90){let e=W("top","right"),t=W("left","right"),i=W("left","bottom"),n=W("top","bottom");switch(Math.min(e,t,i,n)){case e:s==k.Auto&&(s=k.Top),o==k.Auto&&(o=k.Right);break;case t:s==k.Auto&&(s=k.Left),o==k.Auto&&(o=k.Right);break;case i:s==k.Auto&&(s=k.Left),o==k.Auto&&(o=k.Bottom);break;default:s==k.Auto&&(s=k.Top),o==k.Auto&&(o=k.Bottom)}}else if(i<-90){let e=W("bottom","right"),t=W("left","right"),i=W("left","top"),n=W("bottom","top");switch(Math.min(e,t,i,n)){case e:s==k.Auto&&(s=k.Bottom),o==k.Auto&&(o=k.Right);break;case t:s==k.Auto&&(s=k.Left),o==k.Auto&&(o=k.Right);break;case i:s==k.Auto&&(s=k.Left),o==k.Auto&&(o=k.Top);break;default:s==k.Auto&&(s=k.Bottom),o==k.Auto&&(o=k.Top)}}else{let e=W("bottom","left"),t=W("right","left"),i=W("right","top"),n=W("bottom","top");switch(Math.min(e,t,i,n)){case e:s==k.Auto&&(s=k.Bottom),o==k.Auto&&(o=k.Left);break;case t:s==k.Auto&&(s=k.Right),o==k.Auto&&(o=k.Left);break;case i:s==k.Auto&&(s=k.Right),o==k.Auto&&(o=k.Top);break;default:s==k.Auto&&(s=k.Bottom),o==k.Auto&&(o=k.Top)}}}}function B(e){switch(e){case x.Arrow:case x.FatArrow:return 2;default:return 1}}const M=B(i),V=B(r);switch(s){case k.Bottom:l=D;break;case k.Center:d=l={x:u+g,y:p+b};break;case k.Left:l=A;break;case k.Right:l=O;break;case k.Top:l=$}switch(o){case k.Bottom:c=N;break;case k.Center:h=c={x:f+w,y:y+P};break;case k.Left:c=L;break;case k.Right:c=H;break;case k.Top:c=R}if(a===S.Path){const e=.333;switch(s){case k.Bottom:d={x:l.x,y:l.y+Math.abs(M*e*(c.y-l.y))};break;case k.Left:d={x:l.x-Math.abs(M*e*(c.x-l.x)),y:l.y};break;case k.Right:d={x:l.x+Math.abs(M*e*(c.x-l.x)),y:l.y};break;case k.Top:d={x:l.x,y:l.y-Math.abs(M*e*(l.y-c.y))}}switch(o){case k.Bottom:h={x:c.x,y:c.y+Math.abs(V*e*(c.y-l.y))};break;case k.Left:h={x:c.x-Math.abs(V*e*(c.x-l.x)),y:c.y};break;case k.Right:h={x:c.x+Math.abs(V*e*(c.x-l.x)),y:c.y};break;case k.Top:h={x:c.x,y:c.y-Math.abs(V*e*(c.y-l.y))}}}else{switch(s){case k.Bottom:d={x:l.x,y:l.y+Math.abs(M*(D.y-E.y))};break;case k.Left:d={x:l.x-Math.abs(M*(E.x-A.x)),y:l.y};break;case k.Right:d={x:l.x+Math.abs(M*(O.x-E.x)),y:l.y};break;case k.Top:d={x:l.x,y:l.y-Math.abs(M*($.y-E.y))}}switch(o){case k.Bottom:h={x:c.x,y:c.y+Math.abs(V*(N.y-U.y))};break;case k.Left:h={x:c.x-Math.abs(V*(U.x-L.x)),y:c.y};break;case k.Right:h={x:c.x+Math.abs(V*(H.x-U.x)),y:c.y};break;case k.Top:h={x:c.x,y:c.y-Math.abs(V*(R.y-U.y))}}}return{points:[l,d,c,h],anchors:[s,o]}}refresh(e,s){var i;if(t.Utils.isNull(e)||t.Utils.isNull(i=this._path))return;const n=!t.Utils.isNull(this.from)&&!t.Utils.isNull(this.to),o=t.Utils.isNull(this.from)&&t.Utils.isNull(this.to);if((this.disabled||!n)&&(i.removeAttribute("d"),o))return;const r=e===this.from?"from":"to";var a=("from"===r?this.fromAnchor:this.toAnchor)||k.Auto;t.Utils.isNull(s)&&(e instanceof Element?r in this._state&&(s=this._state[r].size):(s={height:0,width:0,left:e.x,top:e.y},a=k.Center)),t.Utils.isNull(s)||(this._state[r]={size:s,anchor:a},n&&this._draw())}_draw(){var e=this._state.from,s=this._state.to,i=this._path;if(t.Utils.isNull(i))return;if(t.Utils.isNullOrEmpty(e)||t.Utils.isNullOrEmpty(s)||this.from instanceof HTMLElement&&!t.Utils.isVisible(this.from)||this.to instanceof HTMLElement&&!t.Utils.isVisible(this.to))return void i.setAttribute("d","");const{points:n,anchors:o}=this._computeAnchorPoints(e.size,e.anchor,this.fromEnd,s.size,s.anchor,this.toEnd,this.tension),r=n[0],a=n[1],l=n[2],c=n[3],d=o[0],h=o[1],p=r.x,u=r.y,m=a.x,v=a.y,g=l.x,b=l.y,y=c.x,f=c.y;let C=this._getDefaultEndingPath(p,u);switch(this.fromEnd){case x.Arrow:C=this._getArrowEndingPath(p,u,d);break;case x.FatArrow:C=this._getFatArrowEndingPath(p,u,d);break;case x.None:C=""}let _=this._getDefaultEndingPath(g,b);switch(this.toEnd){case x.Arrow:_=this._getArrowEndingPath(g,b,h);break;case x.FatArrow:_=this._getFatArrowEndingPath(g,b,h);break;case x.None:_=""}const w=C+`M${p},${u} C${m},${v} ${y},${f} ${g},${b}`+_;-1===w.indexOf("NaN")&&i.setAttribute("d",w),t.Utils.isNullOrEmpty(this.color)||(i.style.stroke=this.color)}_getDefaultEndingPath(e,t){return`M${e-2},${t-2} h4 v4 h-4 z`}_getArrowEndingPath(e,t,s){switch(s){case k.Bottom:return`M${e-4},${t+4} l4,-4 l4,4`;case k.Top:return`M${e-4},${t-4} l4,4 l4,-4`;case k.Left:return`M${e-4},${t-4} l4,4 l-4,4`;case k.Right:return`M${e+4},${t-4} l-4,4 l4,4`;default:return""}}_getFatArrowEndingPath(e,t,s){switch(s){case k.Bottom:case k.Top:case k.Left:case k.Right:return this._getArrowEndingPath(e,t,s)+" z";default:return""}}};U([t.Watch({emit:!1,converter:p})],O.prototype,"from",void 0),U([t.Watch({emit:!1,converter:p})],O.prototype,"to",void 0),U([t.Watch({emit:!1,converter:t.PropertyConverters.String})],O.prototype,"fromAnchor",void 0),U([t.Watch({emit:!1,converter:t.PropertyConverters.String})],O.prototype,"toAnchor",void 0),U([t.Watch({emit:!1,converter:t.PropertyConverters.String})],O.prototype,"fromEnd",void 0),U([t.Watch({emit:!1,converter:t.PropertyConverters.String})],O.prototype,"toEnd",void 0),U([t.Watch({emit:!1,converter:t.PropertyConverters.String})],O.prototype,"tension",void 0),U([t.Watch({emit:!1,converter:t.PropertyConverters.String})],O.prototype,"color",void 0),U([t.Watch({emit:!1,converter:t.PropertyConverters.Boolean})],O.prototype,"interactive",void 0),O=U([t.CustomElement({tagName:t.P+"-binder"})],O);var R=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let N=class PacemBladeElement extends t.Components.PacemElement{propertyChangedCallback(e,t,s,i){super.propertyChangedCallback(e,t,s,i),"open"===e&&this._toggle(s)}_toggle(e=this.open){(e?t.Utils.addClass:t.Utils.removeClass)(this,"blade-open");const s=e?"open":"close";this.dispatchEvent(new Event(s))}};var L;R([t.Watch({emit:!1,converter:t.PropertyConverters.Boolean})],N.prototype,"open",void 0),N=R([t.CustomElement({tagName:t.P+"-blade",shadow:!0})],N),function(e){e.ClickOutsideClose="clickOutsideClose",e.ExplicitClose="explicitClose"}(L||(L={}));var H=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let T=class PacemBottomSheetHandleElement extends t.Components.PacemElement{constructor(){super(...arguments),this._clickHandler=e=>{const t=this.#e;t.open=!t.open}}viewActivatedCallback(){super.viewActivatedCallback(),this._setIcon(),this._toggleHandle(),this.#e=t.CustomElementUtils.findAncestorOfType(this,z),this._bindToBottomSheet()}propertyChangedCallback(e,t,s,i){if(super.propertyChangedCallback(e,t,s,i),!i)switch(e){case"iconGlyph":this._setIcon(s);break;case"disabled":this._toggleHandle(s)}}disconnectedCallback(){this.removeEventListener("click",this._clickHandler);const e=this.#e;!t.Utils.isNull(e)&&e.isReady&&e._setHandle(null),this.#e=null,super.disconnectedCallback()}#e;_bindToBottomSheet(){const e=this.#e;t.Utils.isNull(e)||(t.Utils.isNullOrEmpty(this.id)&&(this.id="handle_"+t.Utils.uniqueCode()),t.CustomElementUtils.whenReady(e,()=>{e._setHandle(this),this.addEventListener("click",this._clickHandler,!1)}))}_toggleHandle(e=this.disabled){this.style.pointerEvents=e?"none":""}_setIcon(e=this.iconGlyph){const s=this._icon;t.Utils.isNull(s)||(s.icon=e??"horizontal_rule")}};H([t.ViewChild(t.P+"-icon")],T.prototype,"_icon",void 0),H([t.Watch({emit:!1,converter:t.PropertyConverters.String})],T.prototype,"iconGlyph",void 0),T=H([t.CustomElement({tagName:t.P+"-bottom-sheet-handle",shadow:!1,template:`<div class="bottom-sheet-handle">\n <${t.P}-icon class="icon-size icon-size-6"></${t.P}-icon>\n </div>`})],T);let z=class PacemBottomSheetElement extends t.Components.PacemElement{constructor(){super(...arguments),this._resizeHandler=e=>{this._rebuildSwiperSnaps(),this._setPosition()},this._panHandler=e=>{const t=this._swiper.snaps.find(e=>0!=e),{delta:s}=e.detail;let i=(t<0?s.clamp(t,0):s.clamp(0,t))/t;t>0&&(i=1-i);const n=6*i**2;this.style.backdropFilter=`blur(${n.toFixed(2)}px)`},this._swipeHandler=e=>{switch(t.preventDefaultHandler(e),e.type){case t.UI.SwipeEventType.SwipeAnimationEnd:return void(this.style.backdropFilter="");case t.UI.SwipeEventType.SwipeUpAnimationEnd:this.open=!0;break;case t.UI.SwipeEventType.SwipeDownAnimationEnd:this.open=!1}this._setPosition()},this._softReleaseHandler=e=>{t.avoidHandler(e),this.behavior!==L.ExplicitClose&&(this.open=!1)}}propertyChangedCallback(e,t,s,i){if(super.propertyChangedCallback(e,t,s,i),!i)switch(e){case"open":this._toggle(s),this._rebuildSwiperSnaps(s);break;case"logger":this._assignLogger(s);break;case"disabled":this._toggleSwiper(s)}}_toggleSwiper(e=this.disabled){const s=this._swiper;t.Utils.isNull(s)||(s.disabled=e)}_setHandle(e){t.Utils.isNull(e)?this._swiper.handleSelector=null:this._swiper.handleSelector=`#${e.id}`,this._handleResizer.target=e}_assignLogger(e=this.logger){this._swiper.logger=e}_rebuildSwiperSnaps(e=this.open){const t=this._swiper,s=this._getSnap(e);t.snaps=[0,s].sort()}viewActivatedCallback(){super.viewActivatedCallback(),this._assignLogger(),this._resizer.addEventListener(t.Components.ResizeEventName,this._resizeHandler),this._handleResizer.addEventListener(t.Components.ResizeEventName,this._resizeHandler);const e=this._swiper;e.addEventListener(t.UI.SwipeEventType.Pan,this._panHandler,!1),e.addEventListener(t.UI.SwipeEventType.SwipeAnimationEnd,this._swipeHandler,!1),e.addEventListener(t.UI.SwipeEventType.SwipeUpAnimationEnd,this._swipeHandler,!1),e.addEventListener(t.UI.SwipeEventType.SwipeDownAnimationEnd,this._swipeHandler,!1),this._toggle(),this._rebuildSwiperSnaps(),this._toggleSwiper(),this._sheet.addEventListener("pointerdown",t.stopPropagationHandler,!1),this.addEventListener("pointerdown",this._softReleaseHandler,!1)}disconnectedCallback(){const e=this._resizer;t.Utils.isNull(e)||e.removeEventListener(t.Components.ResizeEventName,this._resizeHandler);const s=this._handleResizer;t.Utils.isNull(e)||s.removeEventListener(t.Components.ResizeEventName,this._resizeHandler);const i=this._swiper;t.Utils.isNull(i)||(i.removeEventListener(t.UI.SwipeEventType.Pan,this._panHandler),i.removeEventListener(t.UI.SwipeEventType.SwipeAnimationEnd,this._swipeHandler),i.removeEventListener(t.UI.SwipeEventType.SwipeUpAnimationEnd,this._swipeHandler),i.removeEventListener(t.UI.SwipeEventType.SwipeDownAnimationEnd,this._swipeHandler));const n=this._sheet;t.Utils.isNull(n)||n.removeEventListener("pointerdown",t.stopPropagationHandler),this.removeEventListener("pointerdown",this._softReleaseHandler),super.disconnectedCallback()}_getSnap(e=this.open){const s=this._resizer,i=this._handleResizer;if(t.Utils.isNull(s)||t.Utils.isNull(i))return 0;const{top:n}=t.Utils.naturalOffset(s.target),{top:o}=t.Utils.naturalOffset(i.target),{height:r}=s.currentSize,{height:a}=i.currentSize,{height:l}=t.Utils.windowSize,c=Math.max(parseInt(t.Utils.Css.getVariableValue(`--${t.PCSS}-layout-header-height`)),l-(r??0)),d=l-((n??0)-(o??0)+(a??0));return(e?1:-1)*Math.abs(c-d)}_getCssTransform(e=this.open){const s=this._resizer,i=this._handleResizer;if(t.Utils.isNull(s)||t.Utils.isNull(i))return"";if(e){return`translate3d(0, max(var(--${t.PCSS}-layout-header-height), calc(100vh - 100%)), 0)`}{const{top:e}=t.Utils.naturalOffset(s.target),{top:n,height:o}=t.Utils.naturalOffset(i.target);return`translate3d(0, calc(100vh - ${-(e??0)+(n??0)+(o??0)}px), 0)`}}_setPosition(e=this.open){const t=this._sheet,s=this._getCssTransform(e);t.style.transform=s}_toggle(e=this.open){(e?t.Utils.addClass:t.Utils.removeClass)(this,"bottom-sheet-open"),this._sheet.style.transform="";const s=e?"open":"close";this.dispatchEvent(new Event(s))}};H([t.ViewChild(t.P+"-swipe")],z.prototype,"_swiper",void 0),H([t.ViewChild(t.P+"-resize")],z.prototype,"_resizer",void 0),H([t.ViewChild(t.P+"-resize[handle]")],z.prototype,"_handleResizer",void 0),H([t.ViewChild(t.P+"-panel.bottom-sheet")],z.prototype,"_sheet",void 0),H([t.Watch({emit:!1,converter:t.PropertyConverters.Boolean})],z.prototype,"open",void 0),H([t.Watch({emit:!1,converter:t.PropertyConverters.String})],z.prototype,"behavior",void 0),z=H([t.CustomElement({tagName:t.P+"-bottom-sheet",shadow:!1,template:`\n <${t.P}-swipe direction="vertical" options='{ "bouncy": false }'></${t.P}-swipe>\n <${t.P}-resize target="{{ ::_sheet }}"></${t.P}-resize>\n <${t.P}-resize handle></${t.P}-resize>\n <${t.P}-panel class="bottom-sheet" behaviors="{{ [::_swiper] }}">\n <${t.P}-content></${t.P}-content>\n </${t.P}-panel>`})],z);var W,B,M=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};!function(e){e.YesNo="yesno",e.YesNoCancel="yesnocancel",e.Ok="ok",e.OkCancel="okcancel"}(W||(W={})),function(e){e.Yes="yes",e.No="no",e.Cancel="cancel",e.Ok="ok"}(B||(B={}));const V="commit";class DialogResultEvent extends t.CustomTypedEvent{constructor(e){super(V,e)}}class PacemDialogBase extends t.Components.PacemElement{#t;open(e){const s=this.lightbox;if(!t.Utils.isNull(this.#t))throw"Dialog already open.";const i=this.#t=Promise.withResolvers();return this.hide||this.disabled?(this.log(t.Logging.LogLevel.Warn,"Dialog hidden or disabled, opening forbidden."),i.reject()):(this.dispatchEvent(new Event("open")),s.show=!0,this.state=e),i.promise}commit(e,s){t.avoidHandler(s),this.log(t.Logging.LogLevel.Debug,`Committing dialog by clicking '${e}'.`);const i=this.state;var n=new DialogResultEvent({button:e,state:i});this.lightbox.show=!1,this.#t.resolve(n.detail),this.#t=null,this.dispatchEvent(n)}}M([t.Watch()],PacemDialogBase.prototype,"state",void 0);var j=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let I=class PacemButtonElement extends t.Components.PacemIterableElement{constructor(){super("button")}connectedCallback(){super.connectedCallback(),this.hasAttribute("tab-order")||(this.tabOrder=0)}propertyChangedCallback(e,t,s,i){switch(super.propertyChangedCallback(e,t,s,i),e){case"iconGlyph":case"iconUrl":this.dataset[e]=s}}emit(e){let s=s=>{if(super.emit(s),!s.defaultPrevented)if("click"!==s.type||t.Utils.isNullOrEmpty(this.commandName))switch(s.type){case"mousedown":0===e.button&&t.Utils.addClass(this,t.PCSS+"-active");break;case"keydown":32!==s.keyCode&&13!==s.keyCode||(e.preventDefault(),t.Utils.addClass(this,t.PCSS+"-active"));break;case"blur":case"mouseup":t.Utils.removeClass(this,t.PCSS+"-active");break;case"keyup":32!==s.keyCode&&13!==s.keyCode||(this.click(),t.Utils.removeClass(this,t.PCSS+"-active"))}else this.dispatchEvent(new t.CommandEvent({commandName:this.commandName,commandArgument:this.commandArgument}))};this.disabled||"click"!==e.type||t.Utils.isNull(this.confirmationDialog)?e instanceof MouseEvent&&0!==e.button||s(e):this.confirmationDialog.open(this.confirmationMessage).then(t=>{t.button!==B.Yes&&t.button!==B.Ok||s(e)})}};j([t.Watch({emit:!1,converter:t.PropertyConverters.String})],I.prototype,"iconGlyph",void 0),j([t.Watch({emit:!1,converter:t.PropertyConverters.String})],I.prototype,"iconUrl",void 0),j([t.Watch({emit:!1,converter:t.PropertyConverters.String})],I.prototype,"commandName",void 0),j([t.Watch({emit:!1,converter:t.PropertyConverters.Json})],I.prototype,"commandArgument",void 0),j([t.Watch({emit:!1,converter:t.PropertyConverters.String})],I.prototype,"confirmationMessage",void 0),j([t.Watch({emit:!1,converter:t.PropertyConverters.Element})],I.prototype,"confirmationDialog",void 0),I=j([t.CustomElement({tagName:t.P+"-button"})],I);var F=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let q=class PacemButtonsetElement extends t.Components.PacemIterativeElement{connectedCallback(){super.connectedCallback(),"tabindex"in this.attributes||(this.tabIndex=0)}propertyChangedCallback(e,t,s,i){if(super.propertyChangedCallback(e,t,s,i),"index"===e){let e=0;for(var n of this.items){if(e==s){n.focus();break}e++}}}validate(e){return e instanceof I}};q=F([t.CustomElement({tagName:t.P+"-buttonset"})],q);var Y,Q=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};!function(e){e.Month="month",e.Week="week",e.Day="day"}(Y||(Y={}));class ViewDateChangeEvent extends t.CustomTypedEvent{constructor(e){super("viewdatechange",e)}}class DateSelectEvent extends t.CustomTypedEvent{constructor(e){super("dateselect",e,{bubbles:!0})}}class TimeSelectEvent extends t.CustomTypedEvent{constructor(e){super("timeselect",e,{bubbles:!0})}}const G=36e5,X=864e5,Z=[0,.5,1,1.5,2,2.5,3,3.5,4,4.5,5,5.5,6,6.5,7,7.5,8,8.5,9,9.5,10,10.5,11,11.5,12,12.5,13,13.5,14,14.5,15,15.5,16,16.5,17,17.5,18,18.5,19,19.5,20,20.5,21,21.5,22,22.5,23,23.5];let K=new Date;const J=t.Utils.Dates.dateOnly(K).valueOf(),ee=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"];let te=class PacemCalendarEventElement extends t.Components.PacemItemElement{propertyChangedCallback(e,s,i,n){super.propertyChangedCallback(e,s,i,n),cancelAnimationFrame(this._handle),this._handle=requestAnimationFrame(()=>{let e=this.container;t.Utils.isNull(e)||e.dispatchEvent(new t.PropertyChangeEvent({propertyName:"items",oldValue:e.items,currentValue:e.items}))})}};Q([t.Watch({converter:t.PropertyConverters.Datetime})],te.prototype,"start",void 0),Q([t.Watch({converter:t.PropertyConverters.Datetime})],te.prototype,"end",void 0),Q([t.Watch({converter:t.PropertyConverters.String})],te.prototype,"caption",void 0),Q([t.Watch({converter:t.PropertyConverters.Json})],te.prototype,"place",void 0),Q([t.Watch({converter:t.PropertyConverters.Boolean})],te.prototype,"allDay",void 0),te=Q([t.CustomElement({tagName:t.P+"-calendar-event"})],te);class CalendarEventSelectEvent extends t.CustomTypedEvent{constructor(e){super("eventselect",e,{bubbles:!1,cancelable:!0})}}class CalendarEventUnselectEvent extends t.CustomTypedEvent{constructor(e){super("eventunselect",e,{bubbles:!1,cancelable:!0})}}class PacemCalendarBaseElement extends t.Components.PacemItemsContainerElement{validate(e){return e instanceof te}propertyChangedCallback(e,s,i,n){switch(super.propertyChangedCallback(e,s,i,n),"viewDate"!==e&&"weekStart"!==e||this._synchronizeWeek(),e){case"viewDate":this.dispatchEvent(new ViewDateChangeEvent(i)),t.Utils.removeClass(this,"viewdate-next viewdate-previous"),requestAnimationFrame(()=>{t.Utils.addClass(this,s>i?"viewdate-previous":"viewdate-next")});break;case"zoom":t.Utils.removeClass(this,"viewdate-next viewdate-previous")}}oneventselect(e,t){this.dispatchEvent(new CalendarEventSelectEvent({element:e,event:t}))}oneventunselect(e,t){this.dispatchEvent(new CalendarEventUnselectEvent({element:e,event:t}))}getHeaderLabel(e,s){const i=s===Y.Week?{weekday:"short",day:"numeric",month:"numeric"}:s===Y.Day?{weekday:"long"}:{weekday:"short"};return t.Utils.parseDate(e).toLocaleString(t.Utils.lang(this),i)}getDayLabel(e){const s=1==e.getDate()?{month:"short",day:"numeric"}:{day:"numeric"};return t.Utils.parseDate(e).toLocaleString(t.Utils.lang(this),s)}getHourLabel(e){return t.Utils.parseDate(e).toLocaleString(t.Utils.lang(this),{hour:"numeric"})}getTimeLabel(e){return t.Utils.parseDate(e).toLocaleString(t.Utils.lang(this),{hour:"numeric",minute:"numeric"})}isNow(e,s){const i=t.Utils.parseDate(e),n=t.Utils.parseDate(s||new Date);return i.getHours()===n.getHours()&&this.isToday(e,s)}isToday(e,t){return this.isDate(e,t||new Date)}isViewDay(e,t=this.viewDate){return this.isDate(e,t||this.viewDate||new Date)}isDate(e,s){if(!t.Utils.Dates.isDate(s)||!t.Utils.Dates.isDate(e))return!1;const i=t.Utils.parseDate(e),n=t.Utils.parseDate(s);return i.getDate()===n.getDate()&&i.getMonth()==n.getMonth()&&i.getFullYear()===n.getFullYear()}isViewWeek(e){const s=t.Utils.parseDate(e);return this.week&&this.week.find(e=>e.getDate()==s.getDate()&&e.getMonth()==s.getMonth()&&e.getDate()==s.getDate())}isViewMonth(e){const s=t.Utils.parseDate(e),i=t.Utils.parseDate(this.viewDate||new Date);return s.getMonth()==i.getMonth()&&s.getFullYear()===i.getFullYear()}isTimeSlotDisabled(e,s,i){if(!t.Utils.isNullOrEmpty(e)){i=i||0;const n=new Date(s.getFullYear(),s.getMonth(),s.getDate(),Math.floor(i),i%1*60),o=n.getTimezoneOffset(),r=n.valueOf()-60*o*1e3;for(let s of e){let e=t.Utils.Dates.parse(s.from),i=t.Utils.Dates.parse(s.to);if((!e||e&&e.valueOf()<=r)&&(!i||i&&i.valueOf()>r)&&(i||e))return!0}}return!1}_getWeekStart(e,t){let s=e.getDay(),i=e.valueOf();const n=(t||"m").toLowerCase().startsWith("m")?1:0;return s===n?i:(0===s&&(s=7),i+(n-s)*X)}_getDatasource(e,s=this.weekStart){let i=t.Utils.Dates.dateOnly(t.Utils.parseDate(e));const n=this.month;let o=n&&n.length&&n[0]&&n[0].length&&n[0][0];if(o&&o.getMonth()==i.getMonth()&&o.getFullYear()==i.getFullYear()&&n.find(e=>!t.Utils.isNull(e.find(e=>e.valueOf()==i.valueOf()))))return n;let r=new Date(i.getFullYear(),i.getMonth(),1),a=this._getWeekStart(r,s),l=[],c=[];do{let e=t.Utils.Dates.dateOnly(new Date(a));c.push(e),7==c.length&&l.push(c.splice(0)),a=e.valueOf()+X+G}while(l.length<6);return this.month=l}_synchronizeWeek(){const e=t.Utils.parseDate(this.viewDate),s=new Date(e.getFullYear(),e.getMonth(),1),i=this._getDatasource(s,this.weekStart).filter((t,s)=>t.some(t=>t.getDate()==e.getDate()&&t.getMonth()==e.getMonth()&&t.getFullYear()==e.getFullYear()))[0];this.week&&this.week.length&&this.week[0]===i[0]||(this.week=i)}}Q([t.Watch({converter:t.PropertyConverters.Datetime})],PacemCalendarBaseElement.prototype,"viewDate",void 0),Q([t.Watch({converter:t.PropertyConverters.Datetime})],PacemCalendarBaseElement.prototype,"now",void 0),Q([t.Watch({converter:t.PropertyConverters.String})],PacemCalendarBaseElement.prototype,"zoom",void 0),Q([t.Watch({converter:t.PropertyConverters.String})],PacemCalendarBaseElement.prototype,"weekStart",void 0),Q([t.Watch({converter:t.PropertyConverters.Eval})],PacemCalendarBaseElement.prototype,"week",void 0),Q([t.Watch({converter:t.PropertyConverters.Eval})],PacemCalendarBaseElement.prototype,"month",void 0),Q([t.Watch({converter:t.PropertyConverters.Eval})],PacemCalendarBaseElement.prototype,"disabledRanges",void 0);class PacemCalendarWithEventsBaseElement extends PacemCalendarBaseElement{constructor(){super(...arguments),this._datasource=[]}get datasource(){return this._datasource}_getSortedItems(e){return e.slice().sort((e,t)=>{const s=e.start.valueOf(),i=t.start.valueOf();if(s!=i)return s<i?-1:1;const n=e.end.valueOf()-s,o=t.end.valueOf()-i;return n!=o?n>o?-1:1:0})}propertyChangedCallback(e,s,i,n){switch(super.propertyChangedCallback(e,s,i,n),e){case"month":case"week":case"items":case"zoom":case"viewDate":cancelAnimationFrame(this._handle),this._handle=requestAnimationFrame(()=>{let e=this._datasource,s=this._datasource=this.buildDataSource(this._getSortedItems(this.items||[]));this.dispatchEvent(new t.PropertyChangeEvent({propertyName:"datasource",oldValue:e,currentValue:s}))})}}}function se(e,s){let i=s.length-1,n=s[0].valueOf(),o=s[i].valueOf();return e.filter(e=>{let s=t.Utils.Dates.dateOnly(e.start),i=t.Utils.Dates.dateOnly(e.end);return s.valueOf()<=o&&i.valueOf()>=n}).map(e=>{let n=t.Utils.Dates.dateOnly(e.start),o=s.find(e=>e.valueOf()==n.valueOf()),r=s.indexOf(o),a=t.Utils.Dates.dateOnly(e.end),l=s.find(e=>e.valueOf()==a.valueOf()),c=s.indexOf(l),d=-1==r?0:r,h=-1==c?i:c;return{start:e.start,end:e.end,allDay:!0,day:d,continuing:{start:-1==r,end:-1==c},span:h+1-d,caption:e.caption,event:e}})}let ie=class PacemAgendaElement extends PacemCalendarWithEventsBaseElement{constructor(){super(...arguments),this._allDayDatasource=[]}buildDataSource(e){var s=this.week;this.zoom===Y.Day&&(s=[t.Utils.Dates.dateOnly(this.viewDate)]);let i=[];if(!t.Utils.isNull(s)){this.dispatchEvent(new t.PropertyChangeEvent({propertyName:"allDayDatasource",oldValue:this._allDayDatasource,currentValue:this._allDayDatasource=se(e.filter(e=>e.end.valueOf()-e.start.valueOf()>=X),s)}));for(let n=0;n<s.length;n++){let o=s[n].valueOf(),r=e.filter(e=>{let s=t.Utils.Dates.dateOnly(e.start),i=t.Utils.Dates.dateOnly(e.end);return s.valueOf()<=o&&i.valueOf()>=o}).map(e=>{let t=e.start.valueOf(),s=e.end.valueOf(),i={allDay:e.allDay||s-t>=X,continuing:{start:t<o,end:s>o+X},caption:e.caption,hour:0,span:Z.length-1,offset:{start:"0",end:"0"},event:e},n=e.start.getHours()+e.start.getMinutes()/60,r=i.continuing.start?0:Math.floor(2*n),a=e.end.getHours()+e.end.getMinutes()/60,l=-1+(i.continuing.end?Z.length:Math.ceil(2*a)),c=l+1,d=c>=Z.length?24:Z[c],h=d-Z[r];return i.hour=r,i.span=1+l-r,i.continuing.start||(i.offset.start=(n-Z[r])/h*100+"%"),i.continuing.end||(i.offset.end=(d-a)/h*100+"%"),i});i.push(r)}}return i}get allDayDatasource(){return this._allDayDatasource}propertyChangedCallback(e,s,i,n){super.propertyChangedCallback(e,s,i,n);const o=this._clock;if("time"===e)this.dispatchEvent(new TimeSelectEvent(i));else if(!t.Utils.isNull(o)&&("now"===e&&(o.now=i,o.className=`hour-${i.getHours()} minute-${i.getMinutes()}`),"now"===e||"zoom"===e||"viewDate"===e)){const e=this.now,t=this.zoom,s=e&&t&&(this.isViewDay(e)&&t===Y.Day||this.isViewWeek(e)&&t===Y.Week);o.hidden=!s}}};Q([t.ViewChild(t.P+"-clock")],ie.prototype,"_clock",void 0),Q([t.Watch({converter:t.PropertyConverters.Datetime})],ie.prototype,"time",void 0),ie=Q([t.CustomElement({tagName:t.P+"-agenda",shadow:t.Defaults.USE_SHADOW_ROOT,template:`<${t.P}-repeater class="${t.PCSS}-agenda agenda-grid" datasource="{{ :host.datasource }}">${function(){let e="";for(let s=0;s<7;s++)0==s&&(e+='<div class="agenda-left all-day"></div>'),e+=`<${t.P}-panel class="agenda-slot all-day day-${s+1}" css-class="{{ {'viewday': :host.isViewDay(:host.week[${s}], :host.viewDate), 'today': :host.isToday(:host.week[${s}], :host.now)} }}"></${t.P}-panel>`;for(let s=0;s<7;s++)for(let i of Z){let n=i%1==0,o="hour-"+(n?"whole":"half");0==s&&n&&(e+=`<${t.P}-text class="agenda-left ${o} hour-${2*i+1}"" text="{{ :host.getHourLabel(${J+i*G}) }}"></${t.P}-text>`),e+=`<${t.P}-panel on-click=":host.time = Pacem.Utils.Dates.parse(:host.week[${s}].valueOf() + ${i*G})" disabled="{{ :host.isTimeSlotDisabled(:host.disabledRanges, :host.week[${s}], ${i}) }}" class="agenda-slot ${o} day-${s+1} hour-${2*i+1}" css-class="{{ {'viewday': :host.isViewDay(:host.week[${s}], :host.viewDate), 'today': :host.isToday(:host.week[${s}], :host.now)} }}"></${t.P}-panel>`}return e}()}<${t.P}-clock hidden></${t.P}-clock>\n <template>\n <${t.P}-repeater class="agenda-day" datasource="{{ ^item }}">\n <template>\n <${t.P}-panel class="agenda-event-wrapper" \ncss-class="{{ ['hour-start-'+ (^item.hour + 1), 'hour-end-'+ (^item.hour + ^item.span +1), 'day-start-'+ (!^item.continuing.start), 'day-end-'+ (!^item.continuing.end)] }}">\n <${t.P}-panel class="agenda-event" css="{{ {'top': ^item.offset.start, 'bottom': ^item.offset.end} }}" tab-order="{{ (^^index + 1) * 1000 + (^item.hour + 1) * 100 + ^index }}"\n on-focus=":host.oneventselect($this, ^item.event)" on-blur=":host.oneventunselect($this, ^item.event)">\n <${t.P}-span class="event-caption" text="{{ ^item.caption }}"></${t.P}-span>\n </${t.P}-panel>\n </${t.P}-panel>\n </template>\n </${t.P}-repeater>\n </template>\n <${t.P}-repeater class="agenda-allday" datasource="{{ :host.allDayDatasource }}">\n <template>\n <${t.P}-panel class="agenda-event" tab-order="{{ (^index + 1) * 500 + (^item.day + 1) * 50 + ^index }}" css-class="{{ ['day-start-'+ (^item.day + 1), 'day-end-'+ (^item.day + ^item.span + 1)] }}"\n on-focus=":host.oneventselect($this, ^item.event)" on-blur=":host.oneventunselect($this, ^item.event)">\n <${t.P}-text class="event-caption" text="{{ ^item.caption }}"></${t.P}-text>\n </${t.P}-panel>\n </template>\n </${t.P}-repeater>\n</${t.P}-repeater><${t.P}-content></${t.P}-content>`})],ie);let ne=class PacemCalendarElement extends PacemCalendarWithEventsBaseElement{buildDataSource(e){const s=this.month;let i=[];if(!t.Utils.isNull(s))for(let t=0;t<s.length;t++){let n=se(e,s[t]);i.push(n)}return i}propertyChangedCallback(e,t,s,i){if(super.propertyChangedCallback(e,t,s,i),"dayLabelFormatter"===e)this._formatVersion=Date.now()}_setDate(e){e?.valueOf()!==this.date?.valueOf()&&(this.date=e,this.dispatchEvent(new DateSelectEvent(e)))}getDayLabel(e,t=this._formatVersion){const s=this.dayLabelFormatter;return"function"==typeof s?s(e):super.getDayLabel(e)}};Q([t.Watch({converter:t.PropertyConverters.Datetime})],ne.prototype,"date",void 0),Q([t.Watch({emit:!1})],ne.prototype,"dayLabelFormatter",void 0),Q([t.Watch()],ne.prototype,"_formatVersion",void 0),ne=Q([t.CustomElement({tagName:t.P+"-calendar",shadow:t.Defaults.USE_SHADOW_ROOT,template:`<${t.P}-repeater class="${t.PCSS}-calendar calendar-grid" datasource="{{ :host.datasource }}">${function(){let e="";for(let s=0;s<6;s++)for(let i=0;i<7;i++){let n=`class="calendar-day week-${s+1} day-${i+1}"`;e+=`<${t.P}-panel disabled="{{ :host.isTimeSlotDisabled(:host.disabledRanges, :host.month[${s}][${i}]) }}" on-click=":host._setDate(:host.month[${s}][${i}])" ${n} css-class="{{ {'viewmonth': :host.isViewMonth(:host.month[${s}][${i}]), 'viewday': :host.isViewDay(:host.month[${s}][${i}], :host.viewDate), 'today': :host.isToday(:host.month[${s}][${i}], :host.now), 'selected-date': :host.isDate(:host.month[${s}][${i}], :host.date)} }}"><${t.P}-span culture="{{ :host.culture }}" class="text-ellipsed" text="{{ :host.getDayLabel(:host.month[${s}][${i}], :host._formatVersion) }}"></${t.P}-span></${t.P}-panel>`}return e}()}\n <template>\n <${t.P}-repeater class="calendar-week" datasource="{{ ^item }}">\n <template>\n <${t.P}-panel class="calendar-event" tab-order="{{ (^^index + 1) * 1000 + (^item.day + 1) * 100 + ^index }}" \n on-focus=":host.oneventselect($this, ^item.event)" on-blur=":host.oneventunselect($this, ^item.event)"\n css-class="{{ ['day-start-'+ (^item.day + 1), 'day-end-'+ (^item.day + ^item.span + 1)] }}">\n <${t.P}-span class="event-startdate" culture="{{ :host.culture }}" hide="{{ ^item.continuing.start }}" text="{{ :host.getTimeLabel(^item.event.start) }}"></${t.P}-span>\n <${t.P}-span class="event-caption" text="{{ ^item.caption }}"></${t.P}-span>\n </${t.P}-panel>\n </template>\n </${t.P}-repeater>\n </template>\n</${t.P}-repeater><${t.P}-content></${t.P}-content>`})],ne);let oe=class PacemClockElement extends t.Components.PacemElement{};Q([t.Watch({converter:t.PropertyConverters.Datetime})],oe.prototype,"now",void 0),oe=Q([t.CustomElement({tagName:t.P+"-clock"})],oe);let re=class PacemScheduleElement extends PacemCalendarBaseElement{viewActivatedCallback(){super.viewActivatedCallback(),this._calendar.addEventListener("dateselect",this.emitHandler,!1),this._agenda.addEventListener("timeselect",this.emitHandler,!1),this.now=new Date}disconnectedCallback(){this._calendar&&(this._calendar.removeEventListener("dateselect",this.emitHandler,!1),this._agenda.removeEventListener("timeselect",this.emitHandler,!1)),super.disconnectedCallback()}};Q([t.ViewChild(t.P+"-calendar")],re.prototype,"_calendar",void 0),Q([t.ViewChild(t.P+"-agenda")],re.prototype,"_agenda",void 0),re=Q([t.CustomElement({tagName:t.P+"-schedule",shadow:t.Defaults.USE_SHADOW_ROOT,template:`<${t.P}-panel class="${t.PCSS}-schedule" css-class="{{ ['schedule-'+ (:host.zoom || '${Y.Month}')] }}">\n <${t.P}-timer interval="10000" on-tick=":host.now = Pacem.Utils.parseDate(Date.now())"></${t.P}-timer>\n ${function(){let e="";for(let s=0;s<7;s++)e+=`<${t.P}-span culture="{{ :host.culture }}" css-class="{{ {'viewday': :host.isViewDay(:host.week[${s}], :host.viewDate)} }}" class="schedule-heading day-${s+1} text-ellipsed" text="{{ :host.getHeaderLabel(:host.week[${s}], :host.zoom) }}"></${t.P}-span>`;return t.Utils.uniqueCode(),`<div class="schedule-header schedule-grid"><div class="heading-left"></div>${e}</div>`}()}\n <${t.P}-agenda disabled-ranges="{{ :host.disabledRanges }}" on-eventselect=":host.handle($event)" on-eventunselect=":host.handle($event)" now="{{ :host.now }}" culture="{{ :host.culture }}" view-date="{{ :host.viewDate }}" zoom="{{ :host.zoom }}" week-start="{{ :host.weekStart }}" items="{{ :host.items }}"></${t.P}-agenda>\n <${t.P}-calendar disabled-ranges="{{ :host.disabledRanges }}" on-eventselect=":host.handle($event)" on-eventunselect=":host.handle($event)" now="{{ :host.now }}" culture="{{ :host.culture }}" view-date="{{ :host.viewDate }}" zoom="{{ :host.zoom }}" week-start="{{ :host.weekStart }}" items="{{ :host.items }}"></${t.P}-calendar>\n <${t.P}-content></${t.P}-content>\n</${t.P}-panel>`})],re);class PacemCalendarRuleBaseElement extends HTMLElement{constructor(){super(...arguments),this._disabledRanges=[]}viewActivatedCallback(){if(t.Utils.isNull(this._target=t.CustomElementUtils.findAncestor(this,e=>e instanceof PacemCalendarBaseElement)))throw`Missing ancestor calendar element for ${this.constructor.name}.`;this.refreshDisabledRanges()}disconnectedCallback(){this._target=void 0}get target(){return this._target}refreshDisabledRanges(){if(t.Utils.isNullOrEmpty(this._target))return;let e=this._target.disabledRanges||[];for(let t of this._disabledRanges){let s=e.indexOf(t);s>=0&&e.splice(s,1)}this._disabledRanges=this.computeDisabledRanges()||[];for(let t of this._disabledRanges)e.push(t);this._target.disabledRanges=e}}Q([t.Debounce(!0)],PacemCalendarRuleBaseElement.prototype,"refreshDisabledRanges",null);let ae=class PacemCalendarDayOfWeekRuleElement extends PacemCalendarRuleBaseElement{constructor(){super(...arguments),this._daysOfWeek=[],this._calendarChangeHandler=e=>{"month"==e.detail.propertyName&&this.refreshDisabledRanges()}}viewActivatedCallback(){super.viewActivatedCallback(),this.target.addEventListener(t.PropertyChangeEventName,this._calendarChangeHandler,!1)}propertyChangedCallback(e,t,s,i){"days"===e&&(this._daysOfWeek=(s||[]).map(e=>ee.indexOf(e)).filter(e=>e>=0),this.refreshDisabledRanges())}computeDisabledRanges(){let e=[];for(let s of this.target.month)for(let i of s)if(-1==this._daysOfWeek.indexOf(i.getDay())){let s=t.Utils.Dates.dateOnly(i),n=t.Utils.Dates.dateOnly(new Date(s.valueOf()+X+G));e.push({from:s,to:n})}return e}};Q([t.Watch({emit:!1,converter:t.PropertyConverters.StringArray})],ae.prototype,"days",void 0),ae=Q([t.CustomElement({tagName:t.P+"-calendar-daysofweek-rule"})],ae);var le=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let ce=class PacemCollapseElement extends t.PacemEventTarget{constructor(){super(...arguments),this._resizeHandler=e=>{this.#s=e.detail,this._toggle()}}#s;propertyChangedCallback(e,s,i,n){if(super.propertyChangedCallback(e,s,i,n),!n)switch(e){case"collapse":this._toggle();case"disabled":t.Utils.isNull(this._resizer)||(this._resizer.disabled=this.disabled||this.collapse)}}viewActivatedCallback(){super.viewActivatedCallback();const e=this._resizer;this.#s=e.currentSize,this._toggle()}_toggle(){const e=this,s=this.collapse,i=this.#s;this.disabled||t.Utils.isNull(e)||(this.horizontal?(t.Utils.addClass(e,t.PCSS+"-horizontal"),e.style.height=i&&i.height+"px"||"",e.style.width=s?"0":i&&i.width+"px"||""):(t.Utils.removeClass(e,t.PCSS+"-horizontal"),e.style.height=s?"0":i&&i.height+"px"||""))}};le([t.Watch({converter:t.PropertyConverters.Boolean})],ce.prototype,"collapse",void 0),le([t.Watch({emit:!1,converter:t.PropertyConverters.Boolean})],ce.prototype,"horizontal",void 0),le([t.ViewChild(t.P+"-resize")],ce.prototype,"_resizer",void 0),le([t.ViewChild("[part=content]")],ce.prototype,"_container",void 0),ce=le([t.CustomElement({tagName:t.P+"-collapse",shadow:!0,template:`<${t.P}-resize on-${t.Components.ResizeEventName}=":host._resizeHandler($event)" target="{{ ::_container }}"></${t.P}-resize><div part="container"><div part="content"><slot></slot></div></div>`})],ce);var de=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let he=class PacemDialogElement extends PacemDialogBase{constructor(){super(...arguments),this.buttons=W.Ok,this.okCaption="OK",this.yesCaption="Yes",this.noCaption="No",this.cancelCaption="Cancel"}propertyChangedCallback(e,t,s,i){super.propertyChangedCallback(e,t,s,i)}open(e){const t=super.open(e);switch(this.buttons){case W.Ok:case W.OkCancel:this.dialogButtons.ok.focus();break;default:this.dialogButtons.yes.focus()}return t}viewActivatedCallback(){super.viewActivatedCallback()}get dialogButtons(){const e=this._buttons;return{ok:e&&e.firstElementChild.firstElementChild,yes:e&&e.firstElementChild.children.item(1),no:e&&e.firstElementChild.children.item(2),cancel:e&&e.firstElementChild.lastElementChild}}};de([t.Watch({converter:t.PropertyConverters.String})],he.prototype,"buttons",void 0),de([t.Watch({reflectBack:!0,converter:t.PropertyConverters.String})],he.prototype,"okCaption",void 0),de([t.Watch({reflectBack:!0,converter:t.PropertyConverters.String})],he.prototype,"yesCaption",void 0),de([t.Watch({reflectBack:!0,converter:t.PropertyConverters.String})],he.prototype,"noCaption",void 0),de([t.Watch({reflectBack:!0,converter:t.PropertyConverters.String})],he.prototype,"cancelCaption",void 0),de([t.ViewChild(`.${t.PCSS}-dialog-buttons`)],he.prototype,"_buttons",void 0),de([t.ViewChild(t.P+"-lightbox")],he.prototype,"lightbox",void 0),he=de([t.CustomElement({tagName:t.P+"-dialog",shadow:t.Defaults.USE_SHADOW_ROOT,template:`<${t.P}-lightbox modal="true" logger="{{ :host.logger }}">\n <${t.P}-content></${t.P}-content>\n <div class="${t.PCSS}-dialog-buttons ${t.PCSS}-buttonset buttons" part="dialog-buttons" slot="bottom">\n <div class="buttonset-left">\n <${t.P}-button class="button button-size size-small primary dialog-ok" css-class="{{ {'buttonset-last': :host.buttons === 'ok'} }}" on-click=":host.commit('ok', $event)" disabled="{{ :host.disabled || this.hide }}" hide="{{ :host.buttons !== 'ok' && :host.buttons !== 'okcancel' }}"><${t.P}-text text="{{ :host.okCaption }}"></${t.P}-text></${t.P}-button>\n <${t.P}-button class="button button-size size-small primary dialog-yes" css-class="{{ {'buttonset-first': :host.buttons !== 'ok' || :host.buttons !== 'okcancel'} }}" on-click=":host.commit('yes', $event)" disabled="{{ :host.disabled || this.hide }}" hide="{{ :host.buttons === 'ok' || :host.buttons === 'okcancel' }}"><${t.P}-text text="{{ :host.yesCaption }}"></${t.P}-text></${t.P}-button>\n <${t.P}-button class="button button-size size-small dialog-no" css-class="{{ {'buttonset-last': :host.buttons === 'yesno'} }}" on-click=":host.commit('no', $event)" disabled="{{ :host.disabled || this.hide }}" hide="{{ :host.buttons !== 'yesno' && :host.buttons !== 'yesnocancel' }}"><${t.P}-text text="{{ :host.noCaption }}"></${t.P}-text></${t.P}-button>\n <${t.P}-button class="button button-size size-small dialog-cancel" on-click=":host.commit('cancel', $event)" disabled="{{ :host.disabled || this.hide }}" hide="{{ :host.buttons !== 'yesnocancel' && :host.buttons !== 'okcancel' }}"><${t.P}-text text="{{ :host.cancelCaption }}"></${t.P}-text></${t.P}-button>\n </div>\n </div>\n</${t.P}-lightbox>`})],he);var pe=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let ue=class PacemDividerElement extends t.Components.PacemElement{constructor(){super("separator")}propertyChangedCallback(e,t,s,i){super.propertyChangedCallback(e,t,s,i),i||"orientation"!==e||this._syncOrientation(s)}viewActivatedCallback(){super.viewActivatedCallback(),this._syncOrientation()}_syncOrientation(e=this.orientation){if("vertical"!==e&&(e="horizontal"),super.aria.attributes.set("orientation",e),"vertical"===e)t.Utils.addClass(this,"divider-vertical");else t.Utils.removeClass(this,"divider-vertical")}};pe([t.Watch({converter:t.PropertyConverters.String,emit:!1})],ue.prototype,"orientation",void 0),ue=pe([t.CustomElement({tagName:t.P+"-divider",shadow:!0,template:'<div part="divider"><div part="prepend"></div><slot part="content"></slot><div part="append"></div></div>'})],ue);var me=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};const ve=/^\s*<svg\s/,ge=/^fa(b|r|s|l|d|t|-brands|-solid|-regular|-light|-thin|-duotone)?\s+fa-/,be="https://kit.fontawesome.com/4922589c3c.js",ye=!0,fe=/^lni\s+lni-/,Ce=/^ci[dlsbf]-/,_e=/^material-icons?\s+([\w]+)/,we=/^material(-symbols?)?\s+([\w]+)/,Pe="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200",Ee=/^(https?:\/\/|\/\/)?.+\.(webp|svg|gif|png|jpe?g)$/,ke=[];function xe(e,s,i,n,o){return ke.indexOf(e)>=0?Promise.resolve():(ke.push(e),t.Utils.Css.isClassDefined(e)?Promise.resolve():o?t.CustomElementUtils.importjs(s,i,n):t.CustomElementUtils.importcss(s,i,n))}let Se=class PacemIconElement extends t.Components.PacemElement{constructor(){super("",{hidden:"true"})}propertyChangedCallback(e,t,s,i){if(super.propertyChangedCallback(e,t,s,i),!i)switch(e){case"icon":this._setIcon();break;case"hide":s||this.aria.attributes.set("hidden","true")}}viewActivatedCallback(){super.viewActivatedCallback(),this._setIcon()}_setIcon(e=this.icon){(function(e){return new Promise((s,i)=>{if(t.Utils.isNullOrEmpty(e))i("No icon provided");else if(ve.test(e))s(e);else if(ge.test(e))xe("fa",be,void 0,ye,!0).then(t=>{s(`<i class="${e}"></i>`)},e=>i(e));else if(we.test(e))xe("material-symbols",Pe).then(t=>{const i=we.exec(e),n=i[2],o=e.substring(i[0].length);s(`<i class="material-symbols-outlined${o}">${n}</i>`)},e=>i(e));else if(_e.test(e))xe("material-icons",Pe).then(t=>{const i=_e.exec(e),n=i[1],o=e.substring(i[0].length);s(`<i class="material-icons${o}">${n}</i>`)},e=>i(e));else if(fe.test(e))xe("lni","https://cdn.lineicons.com/2.0/LineIcons.css").then(t=>{s(`<i class="${e}"></i>`)},e=>i(e));else if(Ce.test(e))xe("clb","https://unpkg.com/@coreui/icons/css/all.min.css").then(t=>{s(`<i class="${e}"></i>`)},e=>i(e));else if(Ee.test(e))s(`<img src="${e}" />`);else{const i=e.trim().split(" "),n=i[0],o=i.length>1?" "+i.slice(1).join(" "):"";s(`<i class="${t.PCSS}-icon${o}">${n}</i>`)}})})(e).then(e=>{this.innerHTML=e},e=>{this.innerHTML=""})}};me([t.Watch({emit:!1,converter:t.PropertyConverters.String})],Se.prototype,"icon",void 0),Se=me([t.CustomElement({tagName:t.P+"-icon"})],Se);var Ue=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let $e=class PacemImageElement extends t.Components.PacemElement{constructor(){super("img")}propertyChangedCallback(e,s,i,n){if(super.propertyChangedCallback(e,s,i,n),!n)switch(e){case"src":case"disabled":this._setSource();break;case"size":case"adapt":this._setLayout();break;case"loading":(i?t.Utils.removeClass:t.Utils.addClass)(this,"img-ready")}}viewActivatedCallback(){super.viewActivatedCallback(),this._setLayout(),this._setSource()}_setLayout(){const e=!t.Utils.isNullOrEmpty(this.size),s=this.adapt||"auto",i=this.size||this.#i||{width:"0",height:"0"};this.style.backgroundSize=s;const n="auto"===s,o=i.width,r=i.height;(n||e)&&(this.style.width=o||"",this.style.height=r||"")}#i;async _setSource(){if(this.disabled||!this.isReady)return;const e=this.src;if(this.style.backgroundImage="",!t.Utils.isNullOrEmpty(e)){this.loading=!0;try{const s=await t.Utils.loadImage(e);let i,n,o;window.performance&&(n=performance.getEntriesByName(s.src))&&(o=n[0])&&(i=o.decodedBodySize),this.#i={width:s.naturalWidth+"px",height:s.naturalHeight+"px",weight:i},this._setLayout(),this.style.backgroundImage=`url("${s.src}")`}catch(e){}finally{this.loading=!1}}}};Ue([t.Watch({emit:!1,converter:t.PropertyConverters.String})],$e.prototype,"adapt",void 0),Ue([t.Watch({emit:!1,converter:t.PropertyConverters.String})],$e.prototype,"src",void 0),Ue([t.Watch({emit:!1,converter:{convert:(e,t)=>{const s=/^\s*([\d.]+)(px|em|rem|vw|vh)?\s*(?:,\s*([\d.]+)(px|em|rem|vw|vh)?)?\s*$/i.exec(e),i=s?s[1]+(s[2]||"px"):"0";return{width:i,height:s?s[3]?s[3]+(s[4]||"px"):i:"0"}},convertBack:(e,t)=>`${e?.width},${e?.height}`},reflectBack:!0})],$e.prototype,"size",void 0),Ue([t.Watch({converter:t.PropertyConverters.Boolean})],$e.prototype,"loading",void 0),$e=Ue([t.CustomElement({tagName:t.P+"-img"})],$e);var De=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let Ae=class PacemInfiniteScrollerElement extends t.PacemEventTarget{constructor(){super(),this._scrollDelegate=()=>this._doScroll(),this._enabled=!0,this._viewportHeight=0,this._innerHeight=0,this._isDocument=!1,this._container=null,this._viewport=null,this._scroller=null,this._bottomGap=10,this._container=this,this._viewport=this,this._scroller=this}viewActivatedCallback(){super.viewActivatedCallback(),this.setInfiniteScrollContainer(this._container)}disconnectedCallback(){t.Utils.isNull(this._scroller)||this._scroller.removeEventListener("scroll",this._scrollDelegate,!1),super.disconnectedCallback()}propertyChangedCallback(e,t,s,i){switch(super.propertyChangedCallback(e,t,s,i),e){case"container":this.setInfiniteScrollContainer(s);break;case"disabled":(this._enabled=!s)&&this._doScroll();break;case"threshold":this._bottomGap=s||0}}setInfiniteScrollContainer(e="$document"){var t=e,s=this._isDocument="$document"===t||t===document.body||t===document.documentElement;this._container=s?document.body||document.documentElement:"string"==typeof e?document.querySelector(t):t,this._viewport=s?window:this._container,this._scroller&&this._scroller.removeEventListener("scroll",this._scrollDelegate,!1),this._scroller=s?window.document:this._container,this._scroller.addEventListener("scroll",this._scrollDelegate,!1),this._enabled&&this._doScroll()}_emitFetchMore(){var e=new CustomEvent("fetchmore");this.dispatchEvent(e)}_doScroll(){if(this._enabled)if(this._computeHeight())this._doScroll();else{var e=this._scroller instanceof Document?window.pageYOffset:this._scroller.scrollTop,t=this._viewportHeight,s=this._innerHeight;(s-(e+t)<this._bottomGap||s<=t)&&(this._emitFetchMore(),window.requestAnimationFrame(()=>{this._enabled&&this._doScroll()}))}}_computeHeight(){if(this._container){var e,s=this._container,i=Number.MAX_VALUE,n=0;if(this._isDocument){var o=s;e=Math.max(o.scrollHeight,o.offsetHeight,o.clientHeight)}else{for(var r=0;r<s.children.length;r++){var a=s.children.item(r),l=a.offsetTop,c=l+a.offsetHeight;l<i&&(i=l),c>n&&(n=c)}e=Math.round(n-i)}var d=this._viewport instanceof Window?t.Utils.windowSize.height:this._viewport.offsetHeight;return(e!=this._innerHeight||d!=this._viewportHeight)&&(this._innerHeight=e,this._viewportHeight=d,!0)}}};De([t.Watch({converter:t.PropertyConverters.String})],Ae.prototype,"container",void 0),De([t.Watch({reflectBack:!0,converter:t.PropertyConverters.Number})],Ae.prototype,"threshold",void 0),De([t.Debounce(100)],Ae.prototype,"_doScroll",null),Ae=De([t.CustomElement({tagName:t.P+"-infinite-scroller"})],Ae);var Oe=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};class PacemAdaptedIterativeElement extends t.Components.PacemElement{constructor(){super(...arguments),this.index=0}isCloseTo(e,s){return!t.Utils.isNull(this.datasource)&&0!=this.datasource.length&&this._isCloseToCore(e,s,this.datasource.length)}isPrevious(e,s){return!t.Utils.isNull(this.datasource)&&0!=this.datasource.length&&this._isPreviousCore(e,s,this.datasource.length)}isNext(e,s){return!t.Utils.isNull(this.datasource)&&0!=this.datasource.length&&this._isNextCore(e,s,this.datasource.length)}_isNextCore(e,t,s){return(t+1)%s===e}_isPreviousCore(e,t,s){return(t-1+s)%s===e}_isCloseToCore(e,t,s){return(t+s)%s==(e+s)%s||this._isNextCore(e,t,s)||this._isPreviousCore(e,t,s)}}Oe([t.Watch({converter:t.PropertyConverters.Number})],PacemAdaptedIterativeElement.prototype,"index",void 0),Oe([t.Watch()],PacemAdaptedIterativeElement.prototype,"datasource",void 0);var Re=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let Ne=class PacemLightboxElement extends t.Components.PacemElement{constructor(){super(...arguments),this._keyupHandler=e=>{27===e.keyCode&&this.show&&!this.modal&&(this.show=!1)},this._wrapperMousedownHandler=e=>{this.modal||this.behavior===L.ExplicitClose?t.stopPropagationHandler(e):this.show=!1},this._slotchangeHandler=e=>{this._resetLayout()},this._closeHandler=e=>{this._close(e)}}_resetLayout(){this._disposeButton();const e=this._ensureButton();t.Utils.isNull(e)||e.addEventListener("click",this._closeHandler,!1)}_toggleCloseVisibility(){const e=this._closeWrapper;t.Utils.isNull(e)||(e.hidden=this.modal)}viewActivatedCallback(){super.viewActivatedCallback(),this._toggleCloseVisibility();var e=this._wrapperElement,s=this._container;e.addEventListener("mousedown",this._wrapperMousedownHandler,!1),s.addEventListener("mousedown",t.stopPropagationHandler,!1),document.body.removeEventListener("scroll",t.avoidHandler,!0),window.addEventListener("keyup",this._keyupHandler,!1),this._resetLayout(),this._slot.addEventListener("slotchange",this._slotchangeHandler,!1),this.show&&this._toggle(!0)}_toggle(e){const s=this._wrapperElement,i=this._container;if(e){this.inert=!1,this.dispatchEvent(new Event("open",{bubbles:!0,cancelable:!1})),s.style.display="",s.hidden=!1,window.requestAnimationFrame(()=>{t.Utils.addPart(s,"lightbox-wrapper-shown"),t.Utils.addPart(i,"lightbox-shown")});var n=this.querySelector("."+t.PCSS+"-scrollable");n&&window.requestAnimationFrame(()=>n.scrollTop=0)}else this.inert=!0,this.dispatchEvent(new Event("close",{bubbles:!0,cancelable:!1})),t.Utils.removePart(s,"lightbox-wrapper-shown"),t.Utils.removePart(i,"lightbox-shown"),t.Utils.addAnimationEndCallback(s,e=>{e.hidden=!0,e.style.display="none"},500)}propertyChangedCallback(e,t,s,i){if(super.propertyChangedCallback(e,t,s,i),!i)switch(e){case"show":s?this._toggle(!0):t&&this._toggle(!1);break;case"modal":this._toggleCloseVisibility()}}disconnectedCallback(){this.show&&this._close();var e=this._wrapperElement,s=this._container;document.body.removeEventListener("scroll",t.avoidHandler,!0),t.Utils.isNull(e)||e.removeEventListener("mousedown",this._wrapperMousedownHandler,!1),t.Utils.isNull(s)||s.removeEventListener("mousedown",t.stopPropagationHandler,!1),window.removeEventListener("keyup",this._keyupHandler,!1),this._disposeButton(),this._disposeSlot(),super.disconnectedCallback()}_disposeButton(){this.#n?.removeEventListener("click",this._closeHandler),this.#n=null}_disposeSlot(){this._slot?.removeEventListener("slotchange",this._slotchangeHandler,!1)}_close(e){t.Utils.isNull(e)||t.avoidHandler(e),this.show=!1}#n;_ensureButton(){if(!t.Utils.isNull(this.#n))return this.#n;const e=this._slot;if(t.Utils.isNull(e))return null;const s=this._lookForAButton();if(!t.Utils.isNull(s))return this.#n=s;const i=new I;return i.setAttribute("slot","close"),i.className=`${t.PCSS}-margin margin-0 ${t.PCSS}-rise rise--2 button-circle circle-smaller`,i.iconGlyph="close",this.appendChild(i),this.#n=i}_lookForAButton(){const e=this._slot;if(t.Utils.isNull(e))return null;const s=e.assignedElements({flatten:!0});return t.Utils.isNullOrEmpty(s)?null:s[0]}};Re([t.Watch({converter:t.PropertyConverters.Boolean})],Ne.prototype,"show",void 0),Re([t.Watch({converter:t.PropertyConverters.Boolean})],Ne.prototype,"modal",void 0),Re([t.Watch({emit:!1,converter:t.PropertyConverters.String})],Ne.prototype,"behavior",void 0),Re([t.ViewChild("."+t.PCSS+"-lightbox-wrapper")],Ne.prototype,"_wrapperElement",void 0),Re([t.ViewChild("."+t.PCSS+"-lightbox")],Ne.prototype,"_container",void 0),Re([t.ViewChild("slot[name=close]")],Ne.prototype,"_slot",void 0),Re([t.ViewChild("div[part=close]")],Ne.prototype,"_closeWrapper",void 0),Ne=Re([t.CustomElement({tagName:t.P+"-lightbox",shadow:!0,template:`<div class="${t.PCSS}-lightbox-wrapper" part="lightbox-wrapper" hidden>\n <div class="${t.PCSS}-lightbox" part="lightbox">\n <div part="top"><slot name="top"></slot></div>\n <div class="${t.PCSS}-scrollable" part="scrollable">\n <slot></slot>\n </div>\n <div part="bottom"><slot name="bottom"></slot></div>\n <div part="close">\n <slot name="close"></slot>\n </div>\n </div>\n</div>`})],Ne);var Le,He=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};!function(e){e.Spinner="spin",e.Pacem="pacem",e.Custom="custom"}(Le||(Le={}));let Te=class PacemLoaderElement extends t.Components.PacemElement{viewActivatedCallback(){super.viewActivatedCallback();var e="_"+t.Utils.uniqueCode();this._svgSpinner.innerHTML=`<defs>\n <mask id="hole${e}">\n <rect width="100%" height="100%" fill="white" />\n <circle cx="36" cy="36" r="12"></circle>\n <path d="M18,0 L32,16 H40 L54,0 Z" fill="#000"></path>\n <g transform="rotate(120,36,36)">\n <path d="M18,0 L32,16 H40 L54,0 Z" fill="#000"></path>\n </g>\n </mask>\n </defs>\n\n <circle class="circle1" cx="36" cy="36" r="34" stroke-width="4" fill="none"></circle>\n <g class="gear">\n <circle cx="36" cy="36" r="25" mask="url(#hole${e})"></circle>\n </g>\n <circle class="circle2" cx="36" cy="36" r="8" stroke-width="2" fill="none"></circle>\n\n <g class="bounds">\n <path d="M8,0 H0 V8 M64,0 H71 V8 M71,63 V71 H64 M8,71 H0 V63" stroke-width="2"></path>\n </g>`}propertyChangedCallback(e,s,i,n){if(super.propertyChangedCallback(e,s,i,n),!t.Utils.isNull(this._container))switch(e){case"active":case"disabled":!0!==this.active||this.disabled?t.Utils.removeClass(this._container,"active"):t.Utils.addClass(this._container,"active");break;case"type":if(this._svgSpinner.setAttribute("hidden","hidden"),this._spinner.setAttribute("hidden","hidden"),i===Le.Pacem)this._svgSpinner.removeAttribute("hidden");else this._spinner.removeAttribute("hidden")}}};He([t.ViewChild("div."+t.PCSS+"-spinner")],Te.prototype,"_spinner",void 0),He([t.ViewChild("div."+t.PCSS+"-loader")],Te.prototype,"_container",void 0),He([t.ViewChild("svg")],Te.prototype,"_svgSpinner",void 0),He([t.Watch({converter:t.PropertyConverters.Boolean})],Te.prototype,"active",void 0),He([t.Watch({converter:t.PropertyConverters.String})],Te.prototype,"type",void 0),Te=He([t.CustomElement({tagName:t.P+"-loader",shadow:t.Defaults.USE_SHADOW_ROOT,template:`<div class="${t.PCSS}-loader" pacem>\n <div class="${t.PCSS}-spinner" pacem>\n <div></div>\n <div></div>\n </div>\n <svg class="${t.PCSS}-spinner" pacem hidden xmlns="http://www.w3.org/2000/svg" \n xmlns:xlink="http://www.w3.org/1999/xlink"\n viewBox="-18,-18,108,108" preserveAspectRatio="xMidYMid">\n </svg>\n </div>`})],Te);const ze=(e,t,s)=>{const i=t.exec(e);return i&&i.length?s(i):null},We=[{exec:e=>ze(e,/^((<|&lt;)!--(?:(?!(--(>|&gt;)))[\s\S])*(--(?:>|&gt;)|$))/,e=>{const t=e[0];return[{type:"code-comment",raw:t,text:t,index:e.index}]})},{exec:(e,t)=>ze(e,/^(<|&lt;)([\w-]+)(?:\s+[\w-]+(?:=(?:'[^']*'|"[^"]*"))*)*(\s*\/?(?:&gt;|>))/,s=>{const i=s[1],n=s[2],o=s[3],r=s[0].length-o.length,a=i.length+n.length,l=e.substring(a,r),c=t.tokenize(l,[{exec:e=>ze(e,/^(\s+[\w-]+)(=('[^']*'|"[^"]*"))?/,e=>{const t=e[1],s=[{type:"code-attribute",raw:t,text:t,index:e[0].indexOf(t)}];return e.length>2&&s.push({type:"code-string",raw:e[2],text:e[2],index:e.index+e[0].length-e[2].length}),s})}]),d=[{type:"code-tag",raw:i,text:i,index:0},{type:"code-tagname",raw:n,text:n,index:i.length}];return Array.prototype.push.apply(d,c),d.push({type:"code-tag",raw:o,text:o,index:r}),d})},{exec:e=>ze(e,/^((?:<|&lt;)\/)([\w-]+)(\s*(?:&gt;|>))/,e=>{const t=e[1],s=e[2],i=e[3];return[{type:"code-tag",raw:t,text:t,index:0},{type:"code-tagname",raw:s,text:s,index:t.length},{type:"code-tag",raw:i,text:i,index:e.index+e[0].length-i.length}]})},{exec:e=>ze(e,/^(<|&lt;)?((?!<|&lt;).)+/,e=>{const t=e[0];return[{type:"text",raw:t,text:t}]})}],Be=[{exec:(e,t)=>ze(e,/^\/\/.*/,e=>{const t=e[0];return[{type:"code-comment",raw:t,text:t}]})},{exec:(e,t)=>ze(e,/^\/\*(?:(?!(\*\/))[\s\S])*(?:\*\/|$)/,e=>{const t=e[0];return[{type:"code-comment",raw:t,text:t}]})},{exec:(e,t)=>ze(e,/^('(\\'|[^'])*[^\\]?'|@?\$?"(\\"|[^"])*[^\\]?")/,e=>{const t=e[0];return[{type:"code-string",raw:t,text:t}]})},{exec:(e,t)=>ze(e,/^\b(abstract|as|base|bool|break|byte|case|catch|char|checked|class|const|continue|decimal|default|delegate|do|double|else|enum|event|explicit|extern|false|finally|fixed|float|for|foreach|goto|if|implicit|in|int|interface|internal|is|lock|long|namespace|new|null|object|operator|out|out|override|params|private|protected|public|readonly|ref|return|sbyte|sealed|short|sizeof|stackalloc|static|string|struct|switch|this|throw|true|try|typeof|uint|ulong|unchecked|unsafe|ushort|using|static|virtual|void|volatile|while|add|alias|ascending|async|await|descending|dynamic|from|get|global|group|into|join|let|nameof|orderby|partial|remove|select|set|value|var|when|where|yield)\b/,e=>{const t=e[0];return[{type:"code-keyword",raw:t,text:t}]})},{exec:(e,t)=>ze(e,/^\b((0x[0-9a-fA-F]|[\d])*\.?[\d]+)\b/,e=>{const t=e[0];return[{type:"code-number",raw:t,text:t}]})},{exec:(e,t)=>ze(e,/^(@?\w+|:|\?\??|\?=?|\|\|?|&&?|&=?|;|,|=|\*=?|--|-=?|\+\+|\+=?|\/=?|\^|\(|\[|\)|\]|\{|\})/,e=>{const t=e[0];return[{type:"text",raw:t,text:t}]})},{exec:(e,t)=>ze(e,/^\s+/,e=>{const t=e[0];return[{type:"space",raw:t,text:t}]})}],Me=[Be[0],Be[1],{exec:(e,t)=>ze(e,/^('(\\'|[^'])*[^\\]?'|"(\\"|[^"])*[^\\]?"|`(\\`|[^`])*[^\\]?`)/,e=>{const t=e[0];return[{type:"code-string",raw:t,text:t}]})},{exec:(e,t)=>ze(e,/^\b(abstract|any|arguments|async|await|boolean|break|byte|case|catch|char|class|const|continue|debugger|declare|default|delete|do|double|else|enum|eval|export|extends|false|final|finally|float|for|function|get|goto|if|implements|import|in|instanceof|int|interface|let|long|native|new|null|number|package|private|protected|public|return|short|static|string|super|switch|synchronized|this|throw|throws|transient|true|try|type|typeof|var|void|volatile|while|with|yield)\b/,e=>{const t=e[0];return[{type:"code-keyword",raw:t,text:t}]})},Be[4],Be[5],Be[6]],Ve={rule:{exec:e=>{const t=/\{tweet\}\(([^\)]+)\)/.exec(e);return t&&t.length>1?[{type:"tweet",raw:t[0],text:t[1],index:t.index}]:null}},type:"inline"},je={rule:{exec:e=>{const t=/\{yt([\d]+x[\d]+)?\}\(([^\)]+)\)/.exec(e);if(t&&t.length>2){const e=(t[1]||"560x315").split("x"),s=e[0],i=e[1];return[{type:"youtube",raw:t[0],text:t[2],index:t.index,width:s,height:i}]}return null}},type:"inline"},Ie=e=>{switch(e.type){case"youtube":return`\x3c!-- youtube embed --\x3e\n<iframe width="${e.width}" height="${e.height}" src="https://www.youtube-nocookie.com/embed/${e.text}" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>`;case"tweet":return`\x3c!-- twitter embed --\x3e\n<${t.P}-tweetembed tweetid="${e.text}"></${t.P}-tweetembed>`;case"code-string":case"code-keyword":case"code-number":case"code-comment":case"code-tag":case"code-tagname":case"code-attribute":return`<span class="${e.type}">${e.text}</span>`}};class MarkdownService{constructor(){const e=[Ve,je];for(let t of["c-sharp","c","c#","csharp","c++","cpp"]){const s=Be.map(e=>({rule:e,lang:t,type:"code"}));Array.prototype.push.apply(e,s)}for(let t of["ts","js","typescript","javascript"]){const s=Me.map(e=>({rule:e,lang:t,type:"code"}));Array.prototype.push.apply(e,s)}for(let t of["xml","html"]){const s=We.map(e=>({rule:e,lang:t,type:"code"}));Array.prototype.push.apply(e,s)}this.#o=e}#o;#r=new e.Compile.Markdown.Parser;_escape(e){return(e??"").replace(/</g,"&lt;")}toHtml(e){return this.#r.toHtml(this._escape(e),this.#o,Ie)}tokenize(e){return this.#r.tokenize(this._escape(e),this.#o)}}var Fe=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let qe=class PacemMarkdownElement extends t.Components.PacemElement{constructor(e=new MarkdownService){super(),this._md=e}propertyChangedCallback(e,t,s,i){super.propertyChangedCallback(e,t,s,i),"value"===e&&(this.innerHTML=this.html())}tokens(e=this.value){return this._md.tokenize(e)}html(e=this.value){return this._md.toHtml(e)}};Fe([t.Watch({emit:!1,converter:t.PropertyConverters.String})],qe.prototype,"value",void 0),qe=Fe([t.CustomElement({tagName:t.P+"-markdown"})],qe);var Ye=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let Qe=class PacemMarqueeElement extends t.Components.PacemElement{constructor(){super(...arguments),this._state={overlap:0,content:0}}connectedCallback(){super.connectedCallback();const e=this._css=document.createElement("style");document.head.appendChild(e)}propertyChangedCallback(e,t,s,i){super.propertyChangedCallback(e,t,s,i),"speed"===e&&this._adjust()}viewActivatedCallback(){super.viewActivatedCallback(),this._adjust()}disconnectedCallback(){t.Utils.isNull(this._css)||this._css.remove(),super.disconnectedCallback()}_overlapResize(e){this._state.overlap=e.detail.width,this._adjust()}_contentResize(e){this._state.content=e.detail.width,this._adjust()}_adjust(){const e=this._state;if(e.content>0&&e.overlap>0){const s=this._marquee,i="marquee-"+t.Utils.uniqueCode(),n=Math.round(e.overlap),o=-Math.round(e.content);this._css.innerHTML=`@keyframes ${i} {\n 0% {\n transform: translateX(${n}px);\n }\n\n 100% {\n transform: translateX(${o}px);\n }\n}`;const r=this.speed||20,a=Math.max(r,Math.round(r*Math.abs(n-o)/1920));s.style.animationName=i,s.style.animationDuration=a+"s",s.style.animationIterationCount="infinite",s.style.animationTimingFunction="linear"}}};Ye([t.ViewChild(`.${t.PCSS}-marquee`)],Qe.prototype,"_marquee",void 0),Ye([t.ViewChild(`.${t.PCSS}-marquee-overlap`)],Qe.prototype,"_overlap",void 0),Ye([t.ViewChild(t.P+"-resize")],Qe.prototype,"_resizer",void 0),Ye([t.Watch({converter:t.PropertyConverters.Number})],Qe.prototype,"speed",void 0),Qe=Ye([t.CustomElement({tagName:t.P+"-marquee",shadow:t.Defaults.USE_SHADOW_ROOT,template:`<div class="${t.PCSS}-marquee"><${t.P}-content></${t.P}-content></div><div class="${t.PCSS}-marquee-overlap"></div>\n<${t.P}-resize target="{{ :host._overlap }}" on-${t.Components.ResizeEventName}=":host._overlapResize($event)"></${t.P}-resize>\n<${t.P}-resize target="{{ :host._marquee }}" on-${t.Components.ResizeEventName}=":host._contentResize($event)"></${t.P}-resize>`})],Qe);var Ge=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let Xe=class PacemMediaQueryElement extends t.PacemEventTarget{constructor(){super(...arguments),this._changeHandler=e=>{this.isMatch=e.matches}}#a;viewActivatedCallback(){super.viewActivatedCallback(),this._init()}propertyChangedCallback(e,t,s,i){switch(super.propertyChangedCallback(e,t,s,i),e){case"query":i||this._init();break;case"isMatch":this._broadcastChange(s)}}disconnectedCallback(){this._init(""),super.disconnectedCallback()}_broadcastChange(e=this.isMatch){this.dispatchEvent(new Event("change")),this.dispatchEvent(new Event(e?"match":"unmatch"))}_init(e=this.query){const s=this.#a;if(t.Utils.isNull(s)||s.removeEventListener("change",this._changeHandler),!t.Utils.isNullOrEmpty(e)){const t=this.#a=window.matchMedia(e);t.addEventListener("change",this._changeHandler),this.isMatch=t.matches}}};Ge([t.Watch({emit:!1,converter:t.PropertyConverters.String})],Xe.prototype,"query",void 0),Ge([t.Watch({reflectBack:!0,converter:t.PropertyConverters.Boolean})],Xe.prototype,"isMatch",void 0),Xe=Ge([t.CustomElement({tagName:t.P+"-media-query"})],Xe);var Ze,Ke=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let Je=class PacemMenuElement extends t.Components.PacemElement{constructor(){super(...arguments),this.synchronizeShell=!0,this._stopPropagationHandlerConditional=e=>{if(!t.Utils.isNull(this._container)&&!t.Utils.isNull(this._base)){const e=t.Utils.offset(this._container),s=t.Utils.offset(this._base);e.width<s.width&&(this.open=!1)}}}viewActivatedCallback(){super.viewActivatedCallback(),this._container.addEventListener("click",t.stopPropagationHandler,!1),this._container.addEventListener("scroll",t.stopPropagationHandler,!1),this._sync()}disconnectedCallback(){window.removeEventListener("navigate",this._stopPropagationHandlerConditional,!1),t.Utils.isNull(this._container)||(this._container.removeEventListener("click",t.stopPropagationHandler,!1),this._container.removeEventListener("scroll",t.stopPropagationHandler,!1)),this._sync(!1),super.disconnectedCallback()}connectedCallback(){super.connectedCallback(),window.addEventListener("navigate",this._stopPropagationHandlerConditional,!1),this._shell=t.CustomElementUtils.findAncestorShell(this)}_toggle(e){t.avoidHandler(e),this.open=!this.open,this.dispatchEvent(new Event("toggle"))}_sync(e=this.open){this.synchronizeShell?(t.Utils.addClass(this,"menu-sync"),t.Utils.addClass(this._shell,t.PCSS+(!0===e?"-menu-open":"-menu-close")),t.Utils.removeClass(this._shell,t.PCSS+(!0===e?"-menu-close":"-menu-open"))):(t.Utils.removeClass(this,"menu-sync"),t.Utils.removeClass(this._shell,t.PCSS+"-menu-close "+t.PCSS+"-menu-open")),this.outset?t.Utils.addClass(this,"menu-outset"):t.Utils.removeClass(this,"menu-outset")}propertyChangedCallback(e,t,s,i){super.propertyChangedCallback(e,t,s,i),"open"!==e&&"synchronizeShell"!==e&&"outset"!==e||this._sync()}};Ke([t.Watch({converter:t.PropertyConverters.Boolean})],Je.prototype,"open",void 0),Ke([t.Watch({converter:t.PropertyConverters.Boolean})],Je.prototype,"hideHamburgerButton",void 0),Ke([t.Watch({converter:t.PropertyConverters.Boolean})],Je.prototype,"hideBackButton",void 0),Ke([t.Watch({emit:!1,converter:t.PropertyConverters.Boolean})],Je.prototype,"outset",void 0),Ke([t.Watch({emit:!1,converter:t.PropertyConverters.Boolean})],Je.prototype,"synchronizeShell",void 0),Ke([t.ViewChild("nav")],Je.prototype,"_container",void 0),Ke([t.ViewChild(`.${t.PCSS}-menu`)],Je.prototype,"_base",void 0),Je=Ke([t.CustomElement({tagName:t.P+"-menu",template:`<${t.P}-panel class="${t.PCSS}-menu" css-class="{{ {'menu-close': !:host.open, 'menu-open': :host.open} }}" on-click=":host._toggle($event)"> \n <nav><${t.P}-content></${t.P}-content></nav>\n</${t.P}-panel>\n<${t.P}-shell-proxy>\n<${t.P}-button hide="{{ :host.hideBackButton }}" class="${t.PCSS}-back ${t.PCSS}-menu button-flat" css-class="{{ {'menu-close': !:host.open, 'menu-open': :host.open} }}" on-click=":host._toggle($event)">BACK</${t.P}-button>\n<${t.P}-button hide="{{ :host.hideHamburgerButton }}" class="${t.PCSS}-hamburger ${t.PCSS}-menu button-flat" css-class="{{ {'menu-close': :host.open, 'menu-open': !:host.open} }}" on-click=":host._toggle($event)">MENU</${t.P}-button></${t.P}-shell-proxy>`,shadow:t.Defaults.USE_SHADOW_ROOT})],Je);let et=Ze=class PacemMenuCursorElement extends t.Components.PacemElement{constructor(){super(...arguments),this._onPathChange=e=>{const t=e?.detail.path;this._findAnchorAndScrollItIntoView(t)}}viewActivatedCallback(){super.viewActivatedCallback(),this._menu=t.CustomElementUtils.findAncestorOfType(this,Je),this._findAnchorAndScrollItIntoView()}connectedCallback(){super.connectedCallback(),window.addEventListener("navigate",this._onPathChange,!1)}disconnectedCallback(){this._menu=null,window.removeEventListener("navigate",this._onPathChange,!1),super.disconnectedCallback()}propertyChangedCallback(e,t,s,i){if(super.propertyChangedCallback(e,t,s,i),!i&&"disabled"===e)this._findAnchorAndScrollItIntoView()}_findAnchorAndScrollItIntoView(e=window.location.pathname){if(this.disabled)return;const s=this._menu;if(t.Utils.isNull(s))return void this.log(t.Logging.LogLevel.Warn,`Couldn't find a ${Je} ancestor for this ${Ze}.`);const i=s.querySelectorAll(t.P+"-a");let n=null;for(let s=0;s<i.length;s++){const o=i.item(s),r=o.router;if((t.Utils.isNull(r)?o.href:t.Utils.URIs.format(o.href,r.state))===e){n=o;break}}t.Utils.isNull(n)&&(n=s.querySelector(`a[href='${e}']`)),t.Utils.isNull(n)||n.scrollIntoView({behavior:"smooth"})}};et=Ze=Ke([t.CustomElement({tagName:t.P+"-menu-cursor"})],et);var tt=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let st=class PacemPagerElement extends t.Components.PacemElement{propertyChangedCallback(e,t,s,i){switch(super.propertyChangedCallback(e,t,s,i),e){case"index":case"total":case"pages":case"size":case"mode":this._databind()}}_databind(){const e=this._repeater;if(t.Utils.isNull(e))return;var s=[];const i=this.size??10,n=this.pages??5,o=this.total??0,r=this.index??0,a=this.mode??"standard";if(o>0){let e=Math.ceil(o/i),l=Math.floor(r/i),c=Math.max(0,Math.ceil(l-n/2)),d=Math.min(e-1,c+n-1);for(;c>0&&1+d-c<n;)c--;"numeric-only"===a?c>0&&s.push({caption:1..toLocaleString(t.Utils.lang(this)),index:0,disabled:!(l>0)}):(s.push({caption:"&laquo;",index:0,first:!0,disabled:!(l>0)}),s.push({caption:"&lt;",index:i*(l-1),previous:!0,disabled:!(l>0)})),(c>0&&"numeric-only"!==a||c>1&&"numeric-only"===a)&&s.push({caption:"&hellip;",index:i*(c-1)});for(let e=c;e<=d;e++)s.push({caption:(e+1).toLocaleString(t.Utils.lang(this)),index:e*i});(d<e-1&&"numeric-only"!==a||d<e-2&&"numeric-only"===a)&&s.push({caption:"&hellip;",index:i*(d+1)}),"numeric-only"===a?d<e-1&&s.push({caption:e.toLocaleString(t.Utils.lang(this)),index:i*(e-1),disabled:!(l<e-1)}):(s.push({caption:"&gt;",index:i*(l+1),next:!0,disabled:!(l<e-1)}),s.push({caption:"&raquo;",index:i*(e-1),last:!0,disabled:!(l<e-1)})),this.index=l*i}e.datasource=s}};tt([t.ViewChild(t.P+"-repeater")],st.prototype,"_repeater",void 0),tt([t.Watch({converter:t.PropertyConverters.Number})],st.prototype,"index",void 0),tt([t.Watch({converter:t.PropertyConverters.Number,emit:!1})],st.prototype,"total",void 0),tt([t.Watch({converter:t.PropertyConverters.Number,emit:!1})],st.prototype,"pages",void 0),tt([t.Watch({converter:t.PropertyConverters.Number,emit:!1})],st.prototype,"size",void 0),tt([t.Watch({converter:t.PropertyConverters.String,emit:!1})],st.prototype,"mode",void 0),tt([t.Debounce(!0)],st.prototype,"_databind",null),st=tt([t.CustomElement({tagName:t.P+"-pager",shadow:t.Defaults.USE_SHADOW_ROOT,template:`<${t.P}-repeater class="${t.PCSS}-pager"><div class="${t.PCSS}-buttonset">\n<div class="pager-buttons">\n <template>\n <${t.P}-button class="${t.PCSS}-page button" on-click=":host.index = ^item.index" disabled="{{ ^item.disabled }}"\n css-class="{{ { 'currentpage': ^item.index === :host.index, 'firstpage buttonset-first': ^item.first, 'previouspage': ^item.previous, 'nextpage': ^item.next, 'lastpage buttonset-last': ^item.last } }}"><${t.P}-span content="{{ ^item.caption }}"></${t.P}-span></${t.P}-button>\n </template>\n</div>\n</div></${t.P}-repeater>`})],st);var it=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let nt=class PacemPictureSourceElement extends t.Components.PacemItemElement{propertyChangedCallback(e,t,s,i){super.propertyChangedCallback(e,t,s,i);const n=this.container;n instanceof ot&&["srcset","media","type","disabled"].indexOf(e)>=0&&n.refreshSources()}};it([t.Watch({emit:!1,converter:t.PropertyConverters.String})],nt.prototype,"srcset",void 0),it([t.Watch({emit:!1,converter:t.PropertyConverters.String})],nt.prototype,"media",void 0),it([t.Watch({emit:!1,converter:t.PropertyConverters.String})],nt.prototype,"type",void 0),nt=it([t.CustomElement({tagName:t.P+"-picture-source"})],nt);let ot=class PacemPictureElement extends t.Components.PacemItemsContainerElement{constructor(){super("img",{label:"picture"}),this._updateCurrentSrcHandler=e=>{this.currentSrc=this._img.currentSrc}}validate(e){return e instanceof nt}propertyChangedCallback(e,t,s,i){switch(super.propertyChangedCallback(e,t,s,i),e){case"src":this._setSource();break;case"items":this._setSources();break;case"tooltip":this._setAltText()}}viewActivatedCallback(){super.viewActivatedCallback(),this._img.addEventListener("load",this._updateCurrentSrcHandler,!1),this._setSource(),this._setAltText(),this._setSources()}disconnectedCallback(){const e=this._img;t.Utils.isNull(e)||e.removeEventListener("load",this._updateCurrentSrcHandler,!1),super.disconnectedCallback()}refreshSources(){this._setSources()}_setSources(e=this.items){const s=this._picture,i=this._img;if(!t.Utils.isNull(s)&&!t.Utils.isNull(i)){const n=s.querySelectorAll("source"),o=e?.length??0;for(let e=0;e<o;e++){const o=this.items[e];let r;n.length<=e?(r=document.createElement("source"),r.setAttribute("part","source"),s.insertBefore(r,i)):r=n.item(e),o.disabled||t.Utils.isNullOrEmpty(o.srcset)?r.removeAttribute("srcset"):r.srcset=o.srcset,t.Utils.isNullOrEmpty(o.media)?r.removeAttribute("media"):r.media=o.media,t.Utils.isNullOrEmpty(o.type)?r.removeAttribute("type"):r.type=o.type}for(let e=n.length-1;e>=o;e--){n.item(e).remove()}}}_setSource(e=this.src){const s=this._img;t.Utils.isNull(s)||(t.Utils.isNullOrEmpty(e)?s.removeAttribute("src"):s.src=e)}_setAltText(e=this.tooltip){const s=this._img;t.Utils.isNull(s)||(t.Utils.isNullOrEmpty(e)?s.alt=this.aria.attributes.toObject().label:s.alt=e)}};it([t.ViewChild("picture")],ot.prototype,"_picture",void 0),it([t.ViewChild("img")],ot.prototype,"_img",void 0),it([t.Watch({emit:!1,converter:t.PropertyConverters.String})],ot.prototype,"src",void 0),it([t.Watch({converter:t.PropertyConverters.String})],ot.prototype,"currentSrc",void 0),ot=it([t.CustomElement({tagName:t.P+"-picture",shadow:!0,template:'<picture part="picture"><img loading="lazy" part="img" /></picture><slot></slot>'})],ot);var rt=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let at=class PacemProgressbarElement extends t.Components.PacemElement{constructor(){super("progressbar",{valuemin:"0%",valuemax:"100%",valuenow:"0%"})}propertyChangedCallback(e,s,i,n){switch(super.propertyChangedCallback(e,s,i,n),e){case"percentage":this._bar.style.transform=`translateX(${-100+(i||0)}%)`,this._glow.style.transform=`scaleX(${.01*(i||0)})`;let e=t.Utils.leftPad(Math.floor(i),2,"0")+"%";this.aria.attributes.set("valuenow",e),t.Utils.isNullOrEmpty(this.caption)&&this.aria.attributes.set("valuetext",this._caption.textContent=e);break;case"caption":this.aria.attributes.set("valuetext",this._caption.textContent=i)}}};rt([t.ViewChild(".progressbar-bar")],at.prototype,"_bar",void 0),rt([t.ViewChild(".progressbar-glow")],at.prototype,"_glow",void 0),rt([t.ViewChild(".progressbar-caption")],at.prototype,"_caption",void 0),rt([t.Watch({emit:!1,converter:t.PropertyConverters.String})],at.prototype,"caption",void 0),rt([t.Watch({converter:t.PropertyConverters.Number})],at.prototype,"percentage",void 0),at=rt([t.CustomElement({tagName:t.P+"-progressbar",shadow:t.Defaults.USE_SHADOW_ROOT,template:'<div class="progressbar-glow"></div>\n <div class="progressbar-track"><div class="progressbar-bar"></div></div>\n <label class="progressbar-caption"></label>'})],at);var lt=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let ct=class PacemSidebarElement extends t.Components.PacemElement{constructor(){super(...arguments),this.open=!1,this.synchronizeShell=!0}propertyChangedCallback(e,t,s,i){switch(super.propertyChangedCallback(e,t,s,i),e){case"open":case"synchronizeShell":this._sync()}}disconnectedCallback(){this._sync(!1),super.disconnectedCallback()}_sync(e=this.open){const s=this.#l;this.synchronizeShell?(t.Utils.addClass(this,"sidebar-sync"),t.Utils.addClass(s,t.PCSS+(!0===e?"-sidebar-open":"-sidebar-close")),t.Utils.removeClass(s,t.PCSS+(!0===e?"-sidebar-close":"-sidebar-open"))):(t.Utils.removeClass(this,"sidebar-sync"),t.Utils.removeClass(s,t.PCSS+"-sidebar-close "+t.PCSS+"-sidebar-open"))}#l;connectedCallback(){super.connectedCallback(),this.#l=t.CustomElementUtils.findAncestorShell(this)}};lt([t.Watch({converter:t.PropertyConverters.Boolean})],ct.prototype,"open",void 0),lt([t.Watch({emit:!1,converter:t.PropertyConverters.Boolean})],ct.prototype,"synchronizeShell",void 0),ct=lt([t.CustomElement({tagName:t.P+"-sidebar",template:`<${t.P}-panel class="sidebar-drawer" part="drawer" css-part="{{ { 'open': :host.open } }}" css-class="{{ {'open': :host.open } }}">\n <slot></slot>\n</${t.P}-panel>`,shadow:!0})],ct);var dt=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let ht=class PacemSlideElement extends t.Components.PacemIterableElement{};ht=dt([t.CustomElement({tagName:t.P+"-slide"})],ht);let pt=class PacemSlideshowElement extends t.Components.PacemIterativeElement{validate(e){return e instanceof ht}};pt=dt([t.CustomElement({tagName:t.P+"-slideshow"})],pt);var ut=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let mt=class PacemTweetEmbedElement extends t.Components.PacemElement{constructor(){super(...arguments),this._scriptsLoaded=!1}propertyChangedCallback(e,t,s,i){super.propertyChangedCallback(e,t,s,i),"tweetid"===e&&this._scriptsLoaded&&this._render()}viewActivatedCallback(){super.viewActivatedCallback(),t.CustomElementUtils.importjs("https://platform.twitter.com/widgets.js").then(()=>{this._scriptsLoaded=!0,this._render()})}_render(){this.tweetid&&this._scriptsLoaded&&twttr.ready(e=>e.widgets.createTweet(this.tweetid,this))}};ut([t.Watch({emit:!1,converter:t.PropertyConverters.String})],mt.prototype,"tweetid",void 0),mt=ut([t.CustomElement({tagName:t.P+"-tweetembed"})],mt);var vt,gt=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};!function(e){e.Persistent="persistent",e.QuickReturn="quickreturn"}(vt||(vt={}));let bt=class PacemStickyHeaderElement extends t.PacemEventTarget{constructor(){super(...arguments),this.#c={left:0,top:0},this._scrollHandler=e=>{this.offset=e.detail}}#d;#c;#h;#l;_ensureScrollAwareElement(){if(t.Utils.isNull(this.#d)){const e=this.#d=new t.Components.PacemScrollAwareElement;this.log(t.Logging.LogLevel.Debug,"creating scroll aware "+this.#h);(this.#l=t.CustomElementUtils.findAncestorShell(this)).appendChild(e),e.dataset.target=this.#h,e.addEventListener(t.Components.ScrollEventName,this._scrollHandler,!1)}this.#d.disabled=this.disabled}_manageOffsetChange(e=this.offset){if(this.disabled)return;const s=this.visibility||vt.Persistent,i=this.#c.top,n=e.top,o=this.threshold||0,r=this.#l;i<=o&&n>o?(t.Utils.removeClass(r,"sticky-header-top"),t.Utils.addClass(r,"sticky-header-scroll"),s===vt.QuickReturn&&(t.Utils.addClass(r,"sticky-header-fade"),this.visible=!1)):i>o&&n<=o?(t.Utils.removeClass(r,"sticky-header-fade"),t.Utils.removeClass(r,"sticky-header-scroll"),t.Utils.addClass(r,"sticky-header-top")):i>o&&n>o&&i>n?(this.visible=!0,t.Utils.removeClass(r,"sticky-header-fade")):i>o&&n>o&&i<n&&s==vt.QuickReturn&&t.Utils.addClass(r,"sticky-header-fade"),this.#c=e}propertyChangedCallback(e,t,s,i){switch(super.propertyChangedCallback(e,t,s,i),e){case"offset":this._manageOffsetChange(s);break;case"disabled":this._ensureScrollAwareElement()}}connectedCallback(){super.connectedCallback(),this.#h=this.id||"sticky-"+t.Utils.uniqueCode(),this._ensureScrollAwareElement()}disconnectedCallback(){const e=this.#d,s=this.#l;t.Utils.isNull(e)||(this.log(t.Logging.LogLevel.Debug,"disposing scroll aware "+this.#h),e.removeEventListener(t.Components.ScrollEventName,this._scrollHandler,!1),e.remove(),this.#d=void 0,t.Utils.removeClass(s,"sticky-header-fade"),t.Utils.removeClass(s,"sticky-header-top"),t.Utils.removeClass(s,"sticky-header-scroll")),super.disconnectedCallback()}};gt([t.Watch({converter:t.PropertyConverters.Number,emit:!1})],bt.prototype,"threshold",void 0),gt([t.Watch({converter:t.PropertyConverters.Point})],bt.prototype,"offset",void 0),gt([t.Watch({converter:t.PropertyConverters.Boolean})],bt.prototype,"visible",void 0),gt([t.Watch({converter:t.PropertyConverters.String,emit:!1})],bt.prototype,"visibility",void 0),bt=gt([t.CustomElement({tagName:t.P+"-sticky-header"})],bt);var yt=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};const ft="tab-focus",Ct={convert:(e,s)=>e.startsWith("#")?t.PropertyConverters.Element.convert(e,s):t.PropertyConverters.String.convert(e,s),convertBack:(e,s)=>e instanceof Node?t.PropertyConverters.Element.convertBack(e,s):t.PropertyConverters.String.convertBack(e,s),retryConversionWhenReady:!0};let _t=class PacemTabElement extends t.Components.PacemIterableElement{constructor(){super("tab"),this._slotChangeHandler=e=>{const s=this.#p,i=this.#p=this.content;this.dispatchEvent(new t.PropertyChangeEvent({propertyName:"content",currentValue:i,oldValue:s}))}}viewActivatedCallback(){super.viewActivatedCallback(),this._slotLabel.addEventListener("slotchange",this._slotChangeHandler,!1)}disconnectedCallback(){const e=this._slotLabel;t.Utils.isNull(e)||e.removeEventListener("slotchange",this._slotChangeHandler,!1),super.disconnectedCallback()}#p;get content(){return this.querySelectorAll("*[slot=label]")}};yt([t.ViewChild("slot[name=label]")],_t.prototype,"_slotLabel",void 0),yt([t.Watch({converter:Ct})],_t.prototype,"label",void 0),yt([t.Watch({converter:t.PropertyConverters.String})],_t.prototype,"key",void 0),_t=yt([t.CustomElement({tagName:t.P+"-tab",shadow:!0,template:'<slot name="label" part="label"></slot><slot></slot>'})],_t);let wt=class PacemTabsElement extends t.Components.PacemIterativeElement{constructor(e=new t.Animations.TweenService){super("tablist"),this._tweener=e}_labelCallback(e,t){const s=e.content;if(s.length>0){let e="";return s.forEach(t=>{e+=t.outerHTML}),e}return e.label instanceof Node?e.label:`<span class="${e.key||"tab"}">${e.label}</span>`}_syncOrientation(e=this.orientation){if(t.Utils.isNull(this._defaultTabAdapter)||(this._defaultTabAdapter.orientation=e),!t.Utils.isNull(this._tabs)){(e===a.Vertical?t.Utils.addClass:t.Utils.removeClass)(this._tabs,"tabs-vertical")}}_syncVisibility(e=this.index,s=-1){const i=this._container,n=i.clientHeight,o=getComputedStyle(i),r="border-box"===o.boxSizing?0:parseInt(o.paddingTop)+parseInt(o.paddingBottom);i.style.height=n-r+"px";let a=0;for(let n of this.items||[])a===e?(t.Utils.addClass(n,"tab-in"),requestAnimationFrame(()=>{t.Utils.addClass(n,ft),t.Utils.removeClass(n,"tab-in"),t.Utils.addAnimationEndCallback(n,e=>{t.Utils.removeClass(e,"tab-previous tab-next");const s=t.Utils.offset(e).height;this._tweener.run(parseInt(i.style.height),s,100,0,t.Animations.Easings.sineOut,(e,t)=>{i.style.height=Math.round(t)+"px"}).then(e=>{i.style.height=""})},500)}),n.aria.attributes.set("selected","true")):(t.Utils.removeClass(n,"tab-previous tab-next"),t.Utils.addClass(n,a<e?"tab-previous":"tab-next"),a===s&&(t.Utils.addClass(n,"tab-out"),t.Utils.removeClass(n,ft),t.Utils.addAnimationEndCallback(n,e=>{t.Utils.removeClass(e,"tab-out")},500),n.aria.attributes.set("selected","false"))),a++}viewActivatedCallback(){super.viewActivatedCallback(),t.Utils.isNull(this.adapter)&&(this._syncOrientation(),this._syncVisibility(),this.adapter=this._defaultTabAdapter)}propertyChangedCallback(e,s,i,n){switch(super.propertyChangedCallback(e,s,i,n),e){case"adapter":t.Utils.isNull(i)&&(this.adapter=this._defaultTabAdapter),this._isUsingDefaultTabAdapter=this.adapter===this._defaultTabAdapter;break;case"index":this._syncVisibility(i,s);break;case"orientation":this._syncOrientation(i)}}validate(e){return e instanceof _t}};yt([t.ViewChild(t.P+"-adapter")],wt.prototype,"_defaultTabAdapter",void 0),yt([t.ViewChild("."+t.PCSS+"-tabs")],wt.prototype,"_tabs",void 0),yt([t.ViewChild("."+t.PCSS+"-tabs-content")],wt.prototype,"_container",void 0),yt([t.Watch()],wt.prototype,"_isUsingDefaultTabAdapter",void 0),yt([t.Watch({converter:t.PropertyConverters.String})],wt.prototype,"orientation",void 0),wt=yt([t.CustomElement({tagName:t.P+"-tabs",shadow:!1,template:`<div class="${t.PCSS}-tabs">\n <${t.P}-adapter class="${t.PCSS}-tabs-adapter" swipe-enabled="false" hide="{{ !:host._isUsingDefaultTabAdapter }}" label-callback="{{ :host._labelCallback }}"></${t.P}-adapter>\n <div class="${t.PCSS}-tabs-content">\n <${t.P}-content></${t.P}-content>\n </div>\n</div>`})],wt);var Pt=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let Et=class PacemTickerElement extends t.Components.PacemSafeContentElement{constructor(){super(...arguments),this._contentChangeHandler=e=>{this._incoming.replaceChildren(...this.#u),t.Utils.addClass(this,"ticking"),t.Utils.addAnimationEndCallback(this._incoming,e=>{t.Utils.removeClass(this,"ticking"),this._outgoing.replaceChildren(...this.#u)})}}#u;_tickContent(e=this.content){if("number"==typeof e&&(e=e.toLocaleString()),"string"==typeof e){const t=this.sanitize(e);this.#u=this._buildMarkupNode(t)}else if(e instanceof Node){const t=this.sanitize(e);this.replaceChildren(...this.#u=[t])}else{const t=e.map(e=>this.sanitize(e));this.replaceChildren(...this.#u=t)}}_buildMarkupNode(e){const t=document.createElement("template");return t.innerHTML=e,Array.from(t.content.childNodes)}propertyChangedCallback(e,t,s,i){super.propertyChangedCallback(e,t,s,i),"content"!==e||i||this._tickContent(s)}viewActivatedCallback(){super.viewActivatedCallback(),this._slot.addEventListener("slotchange",this._contentChangeHandler,!1);const e=this.content??this._slot.assignedNodes();this._tickContent(e)}disconnectedCallback(){const e=this._slot;t.Utils.isNull(e)||e.removeEventListener("slotchange",this._contentChangeHandler),super.disconnectedCallback()}};Pt([t.ViewChild("slot")],Et.prototype,"_slot",void 0),Pt([t.ViewChild("div[part=ticker-outgoing]")],Et.prototype,"_outgoing",void 0),Pt([t.ViewChild("div[part=ticker-incoming]")],Et.prototype,"_incoming",void 0),Et=Pt([t.CustomElement({tagName:t.P+"-ticker",shadow:!0,template:'<div part="ticker-outgoing"></div><div part="ticker-incoming"></div><slot hidden></slot>'})],Et);var kt,xt=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};const St="pacem:toast:pops";let Ut=kt=class PacemToastElement extends t.Components.PacemElement{constructor(){super(...arguments),this.autohide=!0,this.timeout=3e3,this._doHide=e=>{window.clearTimeout(this._handle),this.show=!1}}connectedCallback(){super.connectedCallback(),this.addEventListener("click",this._doHide,!1)}propertyChangedCallback(e,s,i,n){if(super.propertyChangedCallback(e,s,i,n),"show"===e)if(!0!==i)t.Utils.removeClass(this,"toast-show"),t.Utils.addClass(this,"toast-hide"),this.dispatchEvent(new CustomEvent("close")),t.Utils.waitForAnimationEnd(this,1e3).then(()=>{t.Utils.removeClass(this,"toast-hide")});else{let e=t.CustomElementUtils.getAttachedPropertyValue(kt,St,0)-1;t.CustomElementUtils.setAttachedPropertyValue(kt,St,e),this.style.order=""+e,t.Utils.addClass(this,"toast-show"),this._show()}}disconnectedCallback(){this.removeEventListener("click",this._doHide,!1),super.disconnectedCallback()}_show(){window.clearTimeout(this._handle),this.disabled||this.autohide&&(this._handle=window.setTimeout(()=>{this.show=!1},this.timeout))}popup(){this.show?this._show():this.show=!0}static toast(e,s,i,n){var o=new kt;if(t.Utils.isNullOrEmpty(n?.cssClass))o.className="toast-"+s;else{const e=t.Utils.isArray(n.cssClass)?n.cssClass.join(" "):n.cssClass;t.Utils.addClass(o,e)}t.Utils.isNull(n?.autohide)||(o.autohide=n.autohide),n?.timeout>0&&(o.timeout=n.timeout);const r=document.createElement("i");r.className=t.PCSS+"-icon text-bigger-steady "+t.PCSS+"-margin margin-right-1 flex-auto";var a="info";switch(s){case"danger":case"error":a="error";break;case"warning":a="warning";break;case"success":a="check_circle"}r.textContent=a;const l=document.createElement("div");t.Utils.addClass(l,"display-flex flex-stretch flex-start flex-nowrap"),l.appendChild(r);const c=document.createElement("span");return t.Utils.addClass(c,"text-small text-pre"),"string"==typeof i?c.innerHTML=i:c.appendChild(i),l.appendChild(c),o.appendChild(l),e.appendChild(o),new Promise((e,s)=>{window.setTimeout(()=>{o.popup()},100);const i=()=>{o.removeEventListener("close",i,!1),e(),t.Utils.waitForAnimationEnd(o,1e3).then(e=>{o.remove()})};o.addEventListener("close",i,!1)})}static toast2(e,s,i,n){let o=n?.cssClass,r=["fill-"+s+"-container","fill-glass","border-solid","border-size--2","border-round","border-radius--6"];return t.Utils.isNullOrEmpty(o)||(t.Utils.isArray(o)?Array.prototype.push.apply(r,o):Array.prototype.push.apply(r,o.split(" "))),kt.toast(e,s,i,t.Utils.extend({},n??{},{cssClass:r}))}};xt([t.Watch({emit:!1,converter:t.PropertyConverters.Boolean})],Ut.prototype,"autohide",void 0),xt([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],Ut.prototype,"timeout",void 0),xt([t.Watch({converter:t.PropertyConverters.Boolean})],Ut.prototype,"show",void 0),xt([t.Transformer("poptoast")],Ut,"toast",null),xt([t.Transformer("poptoastcontainer")],Ut,"toast2",null),Ut=kt=xt([t.CustomElement({tagName:t.P+"-toast"})],Ut);var $t=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let Dt=class PacemTocElement extends t.Components.PacemElement{constructor(e=new t.Animations.TweenService){super(),this._tweener=e,this._items=[],this._scrollToSelf=e=>{this._scrollTo("#"+e.target.id)},this._hashChange=e=>{e.preventDefault(),this._scrollTo(window.location.hash,!1)}}propertyChangedCallback(e,s,i,n){switch(super.propertyChangedCallback(e,s,i,n),e){case"target":t.Utils.isNull(this._observer)||this._observe();break;case"selector":this.refresh()}}connectedCallback(){super.connectedCallback(),window.addEventListener("hashchange",this._hashChange,!1)}disconnectedCallback(){window.removeEventListener("hashchange",this._hashChange,!1),t.Utils.isNull(this._observer)||this._observer.disconnect(),super.disconnectedCallback()}viewActivatedCallback(){super.viewActivatedCallback(),this._observer=new MutationObserver(e=>{this.refresh()}),this._observe()}_onScroll(e){this._update(t.Utils.scrollTop)}_observe(){this._observer.observe(this.target||document.body,{subtree:!0,childList:!0})}_getTop(e){return t.Utils.offset(e).top}_scrollTo(e,s=!0){if(/^#[^&=]+$/.test(e)){const i=!t.Utils.isNullOrEmpty(e)&&document.querySelector(e),n=!t.Utils.isNull(i)&&this._items.find(e=>e.dom===i);if(n&&!t.Utils.isNull(n.dom)){const e=this._getTop(n.dom)-(this.offset||0);if(s){let s=t.Utils.scrollTop;window.location.hash=n.dom.id,this._tweener.run(s,e,500,0,t.Animations.Easings.sineInOut,(e,t)=>{window.scrollTo(0,t)})}else window.scrollTo(0,e)}}}_startScrollTo(e,s){t.avoidHandler(s),this._scrollTo(e.url)}_update(e){const s=e+(this.offset||0);var i=this._items&&this._items.length>0&&this._items[0];for(var n of this._items){if(!(t.Utils.offset(n.dom).top<=s))break;i=n}const o=[];for(var n of this._items)t.Utils.isNullOrEmpty(n.dom.id)&&(n.dom.id=n.dom.innerText.trim().replace(/[^a-zA-Z0-9]/g,"-").replace(/-*$/,"").replace(/^-*/,"").toLowerCase()),o.push({focus:n===i,label:n.dom.innerText,url:"#"+n.dom.id});t.Utils.isNull(this._repeater)||(this._repeater.datasource=o)}refresh(){for(let e of this._items)e.dom.removeEventListener("click",this._scrollToSelf,!1),t.Utils.removeClass(e.dom,t.PCSS+"-toc-item");const e=this.selector;if(t.Utils.isNullOrEmpty(e))return this._repeater&&(this._repeater.datasource=[]),void(this.hasContent=!1);const s=(this.target||document).querySelectorAll(e),i=[];for(let e=0;e<s.length;e++){const n=s.item(e);n.addEventListener("click",this._scrollToSelf,!1),t.Utils.addClass(n,t.PCSS+"-toc-item"),i.push({dom:n,top:this._getTop(n)})}this._items=i,this._update(t.Utils.scrollTop),this.hasContent=!t.Utils.isNullOrEmpty(i);let n=window.location.hash;t.Utils.isNullOrEmpty(n)||setTimeout(()=>{this._scrollTo(n,!0)},1e3)}};$t([t.Watch({emit:!1,converter:t.PropertyConverters.String})],Dt.prototype,"selector",void 0),$t([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],Dt.prototype,"offset",void 0),$t([t.Watch({emit:!1,converter:t.PropertyConverters.Element})],Dt.prototype,"target",void 0),$t([t.Watch({converter:t.PropertyConverters.Element})],Dt.prototype,"router",void 0),$t([t.Watch({converter:t.PropertyConverters.Boolean})],Dt.prototype,"hasContent",void 0),$t([t.ViewChild(t.P+"-repeater")],Dt.prototype,"_repeater",void 0),$t([t.Debounce(100)],Dt.prototype,"_onScroll",null),$t([t.Debounce(250)],Dt.prototype,"refresh",null),Dt=$t([t.CustomElement({tagName:t.P+"-toc",shadow:t.Defaults.USE_SHADOW_ROOT,template:`<${t.P}-scroll-aware on-${t.Components.ScrollEventName}=":host._onScroll($event)" url="{{ :host.url }}"></${t.P}-scroll-aware>\n<${t.P}-repeater><nav class="${t.PCSS}-toc"><template>\n <${t.P}-a on-click=":host._startScrollTo(^item, $event)" router="{{ :host.router }}" css-class="{{ {'toc-focus': ^item.focus} }}" href="{{ ^item.url }}"><${t.P}-text text="{{ ^item.label }}"></${t.P}-text></${t.P}-a>\n</template></nav></${t.P}-repeater>`})],Dt);var At=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};const Ot=2*Math.PI;function Rt(e,t,s,i){return{x:e+s*Math.cos(i),y:t+s*Math.sin(i)}}let Nt=class PacemTunerElement extends t.Components.PacemElement{constructor(){super(),this.min=0,this.max=100,this._rotateStartHandler=e=>{const t=this.#m=this._getAngle(e),s=this._rotate;s.minRotation=0-t,s.maxRotation=Ot-t,this._setValue(t)},this._rotateEndHandler=e=>{},this._rotateHandler=e=>{e.preventDefault();const t=e.detail.rotation+this.#m;this._setValue(t)}}#m;viewActivatedCallback(){super.viewActivatedCallback();const e=this._rotate,s=this._tween;e.addEventListener(t.UI.RotateEventType.Start,this._rotateStartHandler,!1),e.addEventListener(t.UI.RotateEventType.Rotate,this._rotateHandler,!1),e.addEventListener(t.UI.RotateEventType.End,this._rotateEndHandler,!1),e.register(this._canvas),this._toggleRotate(),requestAnimationFrame(()=>this._draw(this.min)),s.easing=t.Animations.Easings.sineInOut,s.delay=100*Math.random()-100+500,s.start=this.value>this.min}disconnectedCallback(){const e=this._rotate,s=this._canvas;t.Utils.isNull(e)||(e.removeEventListener(t.UI.RotateEventType.Rotate,this._rotateHandler,!1),t.Utils.isNull(s)||e.unregister(s)),super.disconnectedCallback()}propertyChangedCallback(e,s,i,n){switch(super.propertyChangedCallback(e,s,i,n),e){case"interactive":this._toggleRotate(i),i?t.Utils.addClass(this,"tuner-interactive"):t.Utils.removeClass(this,"tuner-interactive");break;case"round":if(Math.round(i)!=i||i<0)throw`${this.constructor.name}: round value must be an integer greater or equal to zero.`;break;default:this._draw()}}_toggleRotate(e=this.interactive){const s=this._rotate;t.Utils.isNull(s)||(s.disabled=!e)}_angleToValue(e){const t=Math.pow(10,this.round||0),s=this.min+e*(this.max-this.min)/Ot;return Math.round(t*s)/t}_valueToAngle(e=this.value??this.min){return Ot*(e-this.min)/(this.max-this.min)}_setValue(e){const t=this._angleToValue(e).clamp(this.min,this.max);t!=this.value&&(this.value=t,this.dispatchEvent(new Event("change")))}_getAngle(t){const s={vertex:t.detail.center,end:t.detail.currentPosition,start:{x:t.detail.center.x,y:t.detail.center.y-1}},i=e.Angle.value(s);return i>0?Ot-i:-i}_draw(e=this.value){if(this.disabled||t.Utils.isNull(this._rail))return;e=(isNaN(e)?this.min:e).clamp(this.min,this.max);const s=this._rail,i=this._counterRail,n=e===this.min,o=e===this.max;if(n||o){const e="M 50 50 m -50,0 a 50,50 0 1,1 100,0 a 50,50 0 1,1 -100,0";s.setAttribute("d",n?"":e),i.setAttribute("d",o?"":e)}else{const t=.5*Math.PI,n=Rt(50,50,50,-t),o=this._valueToAngle(e),r=Rt(50,50,50,-t+o),a=o>Math.PI?1:0,l=`M ${r.x} ${r.y} A 50 50 0 ${a} 0 ${n.x} ${n.y}`;s.setAttribute("d",l);const c=r,d=Rt(50,50,50,3*t),h=this._valueToAngle(this.max-e)>Math.PI?1:0,p=`M ${d.x} ${d.y} A 50 50 0 ${h} 0 ${c.x} ${c.y}`;i.setAttribute("d",p)}}};At([t.ViewChild("svg")],Nt.prototype,"_canvas",void 0),At([t.ViewChild("path[part=rail]")],Nt.prototype,"_rail",void 0),At([t.ViewChild("path[part=complementary-rail]")],Nt.prototype,"_counterRail",void 0),At([t.ViewChild(t.P+"-tween")],Nt.prototype,"_tween",void 0),At([t.ViewChild(t.P+"-rotate")],Nt.prototype,"_rotate",void 0),At([t.Watch({converter:t.PropertyConverters.Number})],Nt.prototype,"value",void 0),At([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],Nt.prototype,"min",void 0),At([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],Nt.prototype,"max",void 0),At([t.Watch({emit:!1,converter:t.PropertyConverters.Boolean})],Nt.prototype,"interactive",void 0),At([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],Nt.prototype,"round",void 0),Nt=At([t.CustomElement({tagName:t.P+"-tuner",shadow:!0,template:`<svg xmlns="http://www.w3.org/2000/svg" class="${t.PCSS}-tuner" part="tuner" viewBox="0 0 100 100">\n <circle part="track" cx="50" cy="50" r="50" />\n <path part="rail" />\n <path part="complementary-rail" />\n </svg><div class="${t.PCSS}-content" part="content"><slot></slot></div>\n <${t.P}-rotate></${t.P}-rotate>\n<${t.P}-tween on-step=":host._draw($event.detail.value)" on-end="this.disabled = true" duration="500" to="{{ :host.value }}" from="{{ :host.min }}"></${t.P}-tween>`})],Nt);var Lt=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let Ht=class PacemVibrateElement extends t.PacemEventTarget{vibrate(){if(this.disabled)return;const e=this.pattern;t.Utils.isNullOrEmpty(e)||"function"==typeof navigator.vibrate&&navigator.vibrate(e)}};Lt([t.Watch({emit:!1,converter:{convert:e=>e?.split(/[ ,]+/).map(e=>parseInt(e)),convertBack:e=>e?.join(" ")}})],Ht.prototype,"pattern",void 0),Ht=Lt([t.CustomElement({tagName:t.P+"-vibrate"})],Ht);var Tt=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};const zt={convert:(e,t)=>{try{return document.querySelector(e)??(t.isConnected?e:null)}catch{return e}},convertBack:e=>e instanceof Element&&e.id?"#"+e.id:e,retryConversionWhenReady:!0};let Wt=class PacemViewElement extends t.PacemEventTarget{constructor(){super(...arguments),this._templateChangeHandler=e=>{const t=e.target;this._setTmpl(t.target)},this._debounceDispatchHandler=e=>{clearTimeout(this.#v),this.#v=setTimeout(()=>{if(e){const s=e.srcElement;s.removeEventListener(t.Components.ResizeEventName,this._debounceDispatchHandler),s.remove()}this.dispatchEvent(new CustomEvent("render"))},100)}}propertyChangedCallback(e,s,i,n){super.propertyChangedCallback(e,s,i,n),"url"===e||"disabled"===e?(this._dispose(s),this._manage()):"fetching"===e&&(i?t.Utils.addClass:t.Utils.removeClass)(this,"view-fetching")}viewActivatedCallback(){super.viewActivatedCallback();const e=this.url;this._isReference(e)&&!this.disabled&&this._manageRef()}_isReference(e){return e instanceof HTMLElement||"string"==typeof e&&e.trim().startsWith("#")}_dispose(e){e instanceof t.Components.PacemTemplateProxyElement&&e.removeEventListener("templatechange",this._templateChangeHandler)}_manage(){if(this.disabled)return;const e=this.debounce||0,s=this.url;this._isReference(s)?(clearTimeout(this._fetchHandle),this._fetchHandle=setTimeout(()=>this._manageRef(),e)):"string"!=typeof s||t.Utils.isNullOrEmpty(s)?this.innerHTML="":(this.fetching=!0,clearTimeout(this._fetchHandle),this._fetchHandle=setTimeout(()=>this._manageUrl(s),e))}_manageRef(){const e=this.url,s=e instanceof HTMLElement?e:document.querySelector("template"+e);s instanceof t.Components.PacemTemplateProxyElement?(s.addEventListener("templatechange",this._templateChangeHandler,!1),this._setTmpl(s.target)):s instanceof HTMLTemplateElement?this._setTmpl(s):t.Utils.isNull(s)?this.log(t.Logging.LogLevel.Error,"Template element not found."):this.log(t.Logging.LogLevel.Error,`Invalid '${s.constructor.name}' element, HTMLTemplate expected.`)}_setTmpl(e){cancelAnimationFrame(this._renderHandle),this.innerHTML="",this._dispatchPrerender(),this._renderHandle=requestAnimationFrame(()=>{t.Utils.isNull(e)?this.log(t.Logging.LogLevel.Error,"Template element not found."):(this.appendChild(e.cloneNode(!0).content),this._dispatchRender())})}#g;_manageUrl(e){this.#g&&this.#g.abort();const{signal:s}=this.#g=new AbortController;fetch(e,{credentials:"same-origin",signal:s}).then(async e=>{const s=(e,s)=>{301!==e.status&&302!==e.status||!this.followRedirects?e.ok||this.renderErrors?s.then(e=>t.Utils.addAnimationEndCallback(this,()=>this._manageResult(e),500)):this._manageResult(""):this._manageUrl(e.headers.get("Location"))},i=+e.headers.get("Content-Length");if(i>0){this.progress=0;let t=0;const n=[],o=e.body.getReader();for(;;){const{done:e,value:s}=await o.read();if(e)break;this.progress=(t+=s.length)/i,n.push(s)}s(e,new Promise((e,s)=>{try{let s=new Uint8Array(t),i=0;for(let e of n)s.set(e,i),i+=e.length;e(new TextDecoder("utf-8").decode(s))}catch(e){s(e)}}))}else s(e,e.text())},e=>{})}_manageResult(e){cancelAnimationFrame(this._renderHandle),this.scrollTo({top:0,left:0,behavior:"instant"}),this.innerHTML="",this._dispatchPrerender(),this._renderHandle=requestAnimationFrame(()=>{this.innerHTML=e,this.fetching=!1,this.progress=Number.NaN,t.Utils.addAnimationEndCallback(this,()=>{this._dispatchRender()},500)})}#v;_dispatchRender(){const e=new t.Components.PacemResizeElement;e.target=this,e.addEventListener(t.Components.ResizeEventName,this._debounceDispatchHandler),t.CustomElementUtils.findAncestorShell(this).appendChild(e),this._debounceDispatchHandler()}_dispatchPrerender(){this.dispatchEvent(new CustomEvent("prerender"))}};Tt([t.Watch({reflectBack:!0,converter:zt})],Wt.prototype,"url",void 0),Tt([t.Watch()],Wt.prototype,"fetching",void 0),Tt([t.Watch()],Wt.prototype,"progress",void 0),Tt([t.Watch({emit:!1,converter:t.PropertyConverters.Boolean})],Wt.prototype,"renderErrors",void 0),Tt([t.Watch({emit:!1,converter:t.PropertyConverters.Boolean})],Wt.prototype,"followRedirects",void 0),Tt([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],Wt.prototype,"debounce",void 0),Wt=Tt([t.CustomElement({tagName:t.P+"-view"})],Wt);var Bt=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};const Mt="window-title";let Vt=class PacemWindowAreaElement extends t.Components.PacemIterativeElement{constructor(){super(...arguments),this._zIndex=1,this._startHandler=e=>{this._incrementZIndex(e.detail.element),t.Utils.addClass(e.detail.element,"window-rescaling")},this._blurHandler=e=>{t.Utils.removeClass(e.detail.element,"window-rescaling")},this._focusHandler=e=>{this._incrementZIndex(e.currentTarget)},this._itemPropertyChangeHandler=e=>{if("floating"===e.detail.propertyName&&!1===e.detail.currentValue){const s=e.currentTarget,i=this.items.indexOf(s);t.Utils.addClass(s,"docking-in"),this.adapter.select(i),t.Utils.addAnimationEndCallback(s,e=>{t.Utils.removeClass(e,"docking-in")},150)}},this._adapterPagerCallback=e=>{const t=e.detail.index,s=this.items[t];e.detail.hide=s.hide||s.floating}}validate(e){return e instanceof jt}_incrementZIndex(e){this._zIndex!=parseInt(e.style.zIndex)&&(e.style.zIndex=""+ ++this._zIndex)}connectedCallback(){super.connectedCallback();let e=t.CustomElementUtils.findAncestorShell(this);this._behaviors=[e.appendChild(this._dragDrop=document.createElement(t.P+"-drag-drop")),e.appendChild(this._rescale=document.createElement(t.P+"-rescale"))],this._dragDrop.handleSelector="."+Mt,this._rescale.addEventListener(t.UI.RescaleEventType.Start,this._startHandler,!1),this._rescale.addEventListener(t.UI.RescaleEventType.End,this._blurHandler,!1)}viewActivatedCallback(){if(super.viewActivatedCallback(),t.Utils.isNull(this.adapter)){const e=this.adapter=this.appendChild(document.createElement(t.P+"-adapter"));t.Utils.addClass(e,"windows-adapter"),e.labelCallback=(e,t)=>e.caption,e.swipeEnabled=!1,e.deselectable=!0,e.initialize(this)}this.adapter.addEventListener(l,this._adapterPagerCallback,!1)}disconnectedCallback(){t.Utils.isNull(this.adapter)||(this.adapter.removeEventListener(l,this._adapterPagerCallback,!1),this.adapter.remove(),this.adapter=null),this._rescale.removeEventListener(t.UI.RescaleEventType.End,this._blurHandler,!1),this._rescale.removeEventListener(t.UI.RescaleEventType.Start,this._startHandler,!1);for(let e of this._behaviors)e.remove();super.disconnectedCallback()}propertyChangedCallback(e,t,s,i){super.propertyChangedCallback(e,t,s,i),"index"===e&&this._syncVisibility()}register(e){const s=super.register(e);if(s){e.addEventListener(t.PropertyChangeEventName,this._itemPropertyChangeHandler,!1),e.addEventListener("mousedown",this._focusHandler,!1);for(let t of this._behaviors){-1===e.behaviors.indexOf(t)&&e.behaviors.push(t)}}return s}unregister(e){const s=super.unregister(e);if(s){e.removeEventListener(t.PropertyChangeEventName,this._itemPropertyChangeHandler,!1),e.removeEventListener("mousedown",this._focusHandler,!1);for(let t of this._behaviors){const s=e.behaviors.indexOf(t);s>=0&&e.behaviors.splice(s,1)}}return s}_syncVisibility(){let e=0;const s=this.items??[];for(let i of s)e===this.index?t.Utils.addClass(i,"dock-open"):t.Utils.removeClass(i,"dock-open"),e++}};Vt=Bt([t.CustomElement({tagName:t.P+"-window-area"})],Vt);let jt=class PacemWindowElement extends t.Components.PacemIterableElement{propertyChangedCallback(e,t,s,i){super.propertyChangedCallback(e,t,s,i),"minimized"!==e&&"floating"!==e||this._syncLayout()}viewActivatedCallback(){super.viewActivatedCallback(),this._syncLayout()}_syncLayout(){(this.minimized?t.Utils.addClass:t.Utils.removeClass).apply(this,[this,"window-min"]),(this.floating?t.Utils.removeClass:t.Utils.addClass).apply(this,[this,"window-dock"])}};Bt([t.Watch({converter:t.PropertyConverters.String})],jt.prototype,"caption",void 0),Bt([t.Watch({converter:t.PropertyConverters.Boolean})],jt.prototype,"minimized",void 0),Bt([t.Watch({converter:t.PropertyConverters.Boolean})],jt.prototype,"floating",void 0),jt=Bt([t.CustomElement({tagName:t.P+"-window",shadow:t.Defaults.USE_SHADOW_ROOT,template:`<div class="${Mt}">\n <${t.P}-text text="{{ :host.caption || 'Window' }}"></${t.P}-text>\n</div>\n<div class="window-buttons ${t.PCSS}-buttonset"><div class="buttonset-right">\n <${t.P}-button class="button" on-click=":host.minimized = !:host.minimized" icon-glyph="{{ :host.minimized ? 'maximize' : 'minimize' }}" hide="{{ !:host.floating }}"></${t.P}-button>\n <${t.P}-button class="button" on-click=":host.floating = !:host.floating" css-class="{{ {'buttonset-first': !:host.floating} }}" icon-glyph="{{ :host.floating? 'lock_open' : 'lock' }}"></${t.P}-button>\n</div></div>\n<div class="window-content"><${t.P}-content></${t.P}-content></div>`})],jt);var It=Object.freeze({__proto__:null,get AdapterOrientation(){return a},AdapterPageButtonRefreshEvent:AdapterPageButtonRefreshEvent,AdapterPageButtonRefreshEventName:l,get BalloonAlignment(){return v},get BalloonBehavior(){return u},BalloonPopoutEventName:C,BalloonPopupEventName:f,get BalloonPosition(){return g},get BalloonSizing(){return b},get BalloonTrigger(){return m},get BinderAnchor(){return k},get BinderEnd(){return x},BinderInteractionEvent:BinderInteractionEvent,BinderInteractionEventName:$,get BinderTension(){return S},CalendarEventSelectEvent:CalendarEventSelectEvent,CalendarEventUnselectEvent:CalendarEventUnselectEvent,get CalendarZoom(){return Y},DateSelectEvent:DateSelectEvent,get DialogButton(){return B},get DialogButtons(){return W},DialogResultEvent:DialogResultEvent,DialogResultEventName:V,ElementOrPointPropertyConverter:p,get LightboxBehavior(){return L},get LoaderType(){return Le},MEDIAQUERY_2K:"(min-width: 2048px)",MEDIAQUERY_4K:"(min-width: 3840px)",MEDIAQUERY_HD:"(min-width: 1920px)",MEDIAQUERY_LANDSCAPE:"(orientation: landscape)",MEDIAQUERY_LG:"(min-width: 1200px)",MEDIAQUERY_MD:"(min-width: 992px)",MEDIAQUERY_PORTRAIT:"(orientation: portrait)",MEDIAQUERY_PREFERS_DARK:"(prefers-color-scheme: dark)",MEDIAQUERY_PREFERS_LIGHT:"(prefers-color-scheme: light)",MEDIAQUERY_SM:"(min-width: 768px)",MEDIAQUERY_XL:"(min-width: 1824px)",MEDIAQUERY_XS:"(max-width: 767px)",MarkdownService:MarkdownService,PacemAdaptedIterativeElement:PacemAdaptedIterativeElement,get PacemAdapterElement(){return c},get PacemAgendaElement(){return ie},get PacemAnchorElement(){return h},get PacemBalloonElement(){return E},get PacemBinderElement(){return O},get PacemBladeElement(){return N},get PacemBottomSheetElement(){return z},get PacemBottomSheetHandleElement(){return T},get PacemButtonElement(){return I},get PacemButtonsetElement(){return q},PacemCalendarBaseElement:PacemCalendarBaseElement,get PacemCalendarDayOfWeekRuleElement(){return ae},get PacemCalendarElement(){return ne},get PacemCalendarEventElement(){return te},PacemCalendarRuleBaseElement:PacemCalendarRuleBaseElement,PacemCalendarWithEventsBaseElement:PacemCalendarWithEventsBaseElement,get PacemClockElement(){return oe},get PacemCollapseElement(){return ce},PacemDialogBase:PacemDialogBase,get PacemDialogElement(){return he},get PacemDividerElement(){return ue},get PacemIconElement(){return Se},get PacemImageElement(){return $e},get PacemInfiniteScrollerElement(){return Ae},get PacemLightboxElement(){return Ne},get PacemLoaderElement(){return Te},get PacemMarkdownElement(){return qe},get PacemMarqueeElement(){return Qe},get PacemMediaQueryElement(){return Xe},get PacemMenuCursorElement(){return et},get PacemMenuElement(){return Je},get PacemPagerElement(){return st},get PacemPictureElement(){return ot},get PacemPictureSourceElement(){return nt},get PacemProgressbarElement(){return at},get PacemScheduleElement(){return re},get PacemSidebarElement(){return ct},get PacemSlideElement(){return ht},get PacemSlideshowElement(){return pt},get PacemStickyHeaderElement(){return bt},get PacemTabElement(){return _t},get PacemTabsElement(){return wt},get PacemTickerElement(){return Et},get PacemToastElement(){return Ut},get PacemTocElement(){return Dt},get PacemTunerElement(){return Nt},get PacemTweetEmbedElement(){return mt},get PacemVibrateElement(){return Ht},get PacemViewElement(){return Wt},get PacemWindowAreaElement(){return Vt},get PacemWindowElement(){return jt},get StickyHeaderVisibility(){return vt},TimeSelectEvent:TimeSelectEvent,ViewDateChangeEvent:ViewDateChangeEvent}),Ft=Object.freeze({__proto__:null,UI:It}),qt=Object.freeze({__proto__:null,Components:Ft});e.DeepMerger.merge(qt)}(Pacem,Pacem);
6
+ !function(e,t){"use strict";var s=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};const{PacemElement:i,RepeaterItemCreateEventName:n,ItemRegisterEventName:o,ItemUnregisterEventName:r}=t.Components;var a;!function(e){e.Vertical="vertical",e.Horizontal="horizontal"}(a||(a={}));const l="pagerefresh";class AdapterPageButtonRefreshEvent extends CustomEvent{constructor(e){super(l,{detail:e,bubbles:!1,cancelable:!1})}}let c=class PacemAdapterElement extends t.Components.PacemAdapter{constructor(){super(...arguments),this._itemCreatedHandler=e=>{const t=e.detail.index;this._pageMap.set(t,e.detail.dom[0].firstElementChild),this._fireAdapterPageRefreshCallback(t,e.detail.item)},this._pageMap=new Map,this.interactive=!0,this.swipeEnabled=!0,this.loop=!0,this.labelCallback=(e,t)=>(t+1).toString(),this._itemRegisterHandler=e=>{let s=e.detail;!t.Utils.isNull(this._swiper)&&s instanceof i&&-1==s.behaviors.indexOf(this._swiper)&&s.behaviors.push(this._swiper)},this._itemUnregisterHandler=e=>{let s,n=e.detail;!t.Utils.isNull(this._swiper)&&n instanceof i&&(s=n.behaviors.indexOf(this._swiper))>=0&&n.behaviors.splice(s,1)},this._keydownHandler=e=>{if(this.interactive)if(this.orientation===a.Vertical)switch(e.keyCode){case 40:this._next(e);break;case 38:this._previous(e)}else switch(e.keyCode){case 39:this._next(e);break;case 37:this._previous(e)}}}masterPropertyChangedCallback(e,t,s,i){switch(super.masterPropertyChangedCallback(e,t,s,i),e){case"items":this._syncViewWithItems();break;case"index":this._index=s}}viewActivatedCallback(){super.viewActivatedCallback(),this._repeater.addEventListener(n,this._itemCreatedHandler,!1),this._syncViewWithItems()}disconnectedCallback(){this._repeater&&this._repeater.removeEventListener(n,this._itemCreatedHandler,!1),super.disconnectedCallback()}initializeCallback(){super.initializeCallback(),this.addEventListener("keydown",this._keydownHandler,!1);const e=this.master;if(!t.Utils.isNull(e)){const t=this._previousTabIndex=e.tabIndex;(!t||t<0)&&(e.tabIndex=0),e.addEventListener("keydown",this._keydownHandler,!1),e.addEventListener(o,this._itemRegisterHandler,!1),e.addEventListener(r,this._itemUnregisterHandler,!1)}this._syncViewWithItems()}destroyCallback(){this.removeEventListener("keydown",this._keydownHandler,!1);const e=this.master;if(!t.Utils.isNull(e)){if(e.removeEventListener("keydown",this._keydownHandler,!1),e.removeEventListener(o,this._itemRegisterHandler,!1),e.removeEventListener(r,this._itemUnregisterHandler,!1),!t.Utils.isNullOrEmpty(e.items))for(let t of e.items){const e=t.behaviors,s=e.indexOf(this._swiper);s>=0&&e.splice(s,1)}e.tabIndex=this._previousTabIndex}super.destroyCallback()}itemPropertyChangedCallback(e,t,s,i,n){super.itemPropertyChangedCallback(e,t,s,i,n),this._tickVersion(),this._fireAdapterPageRefreshCallback(e)}_fireAdapterPageRefreshCallback(e,s){var i=(s=s||this.master.items[e]).hide||!1,n=s.disabled||!1,o=this._labelCallback(s,e);const r=new AdapterPageButtonRefreshEvent({index:e,hide:i,disabled:n,content:o});this.dispatchEvent(r),i=this._isHidden(s,e,r.detail.hide),n=this._isDisabled(s,e,r.detail.disabled),o=r.detail.content;const a=this._pageMap;if(a.has(e)){const s=a.get(e),r=s.firstElementChild,l=()=>{s.hide=i,s.disabled=n,r.content=o};t.CustomElementUtils.whenReady(s,l)}}_tickVersion(){this._v=Date.now()}propertyChangedCallback(e,t,s,i){switch(super.propertyChangedCallback(e,t,s,i),e){case"interval":this._resetTimer(s);break;case"swipeEnabled":this._swiper.disabled=!s||!this.interactive;break;case"interactive":this.hidden=!s,this._swiper.disabled=!s||!this.swipeEnabled;break;case"pausable":1==s?this._liPause.removeAttribute("hidden"):this._liPause.setAttribute("hidden","hidden")}}_syncViewWithItems(){if(!(!this.isReady||t.Utils.isNull(this.master)||t.Utils.isNull(this._prevBtn)||t.Utils.isNull(this._nextBtn)||t.Utils.isNull(this._repeater))){var e=this.master.items;if(this._prevBtn.hide=this._nextBtn.hide=this._panel.hide=!(e&&e.length>1),this._panel.hide=t.Utils.isNullOrEmpty(e),this._repeater.datasource=e,this._index=this.master.index,!t.Utils.isNullOrEmpty(e))for(let t of e)t instanceof i&&-1==t.behaviors.indexOf(this._swiper)&&t.behaviors.push(this._swiper)}}_toggle(e){(this._paused=!this._paused)?(t.avoidHandler(e),this._resetTimer(0)):this._next(e)}_resetTimer(e){clearInterval(this._handle),e>0&&(this._handle=window.setInterval(()=>{super.next()},e))}_next(e){e.type!==t.UI.SwipeEventType.SwipeLeft&&t.avoidHandler(e),this._resetTimer(this.interval),super.next(this.loop)}_previous(e){e.type!==t.UI.SwipeEventType.SwipeRight&&t.avoidHandler(e),this._resetTimer(this.interval),super.previous(this.loop)}_select(e,s){t.avoidHandler(s),this._resetTimer(this.interval),this.deselectable&&e===this._index?this.master.index=this._index=-1:super.select(e)}_isDisabled(e,t,s,i){return this._disableOrHide(e,t,s)}_isHidden(e,t,s,i){return this._disableOrHide(e,t,s)}_disableOrHide(e,t,s){const n=e instanceof i&&!0===s;return(-1===this._index&&!1===n||!0===n&&t===this._index)&&(this.deselectable?this.master.index=this._index=-1:super.select(t)),n}_labelCallback(e,t,s){return this.labelCallback(e,t)}};s([t.ViewChild(t.P+"-repeater")],c.prototype,"_repeater",void 0),s([t.ViewChild(t.P+"-button."+t.PCSS+"-adapter-previous")],c.prototype,"_prevBtn",void 0),s([t.ViewChild(t.P+"-button."+t.PCSS+"-adapter-next")],c.prototype,"_nextBtn",void 0),s([t.ViewChild(t.P+"-panel")],c.prototype,"_panel",void 0),s([t.ViewChild(t.P+"-swipe")],c.prototype,"_swiper",void 0),s([t.ViewChild("."+t.PCSS+"-adapter-dashboard > li[pacem]")],c.prototype,"_liPause",void 0),s([t.Debounce()],c.prototype,"_tickVersion",null),s([t.Watch({converter:t.PropertyConverters.Boolean})],c.prototype,"pausable",void 0),s([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],c.prototype,"interval",void 0),s([t.Watch({emit:!1,converter:t.PropertyConverters.String})],c.prototype,"orientation",void 0),s([t.Watch({emit:!1,reflectBack:!0,converter:t.PropertyConverters.Boolean})],c.prototype,"interactive",void 0),s([t.Watch({emit:!1,reflectBack:!0,converter:t.PropertyConverters.Boolean})],c.prototype,"swipeEnabled",void 0),s([t.Watch({emit:!1,reflectBack:!0,converter:t.PropertyConverters.Boolean})],c.prototype,"deselectable",void 0),s([t.Watch({emit:!1,reflectBack:!0,converter:t.PropertyConverters.Boolean})],c.prototype,"loop",void 0),s([t.Watch({emit:!1})],c.prototype,"labelCallback",void 0),s([t.Watch()],c.prototype,"_index",void 0),s([t.Watch()],c.prototype,"_paused",void 0),s([t.Watch()],c.prototype,"_v",void 0),s([t.Throttle(333)],c.prototype,"_next",null),s([t.Throttle(333)],c.prototype,"_previous",null),c=s([t.CustomElement({tagName:t.P+"-adapter",shadow:t.Defaults.USE_SHADOW_ROOT,template:`<${t.P}-button class="${t.PCSS}-adapter-previous" on-click=":host._previous($event)">&lt;</${t.P}-button>\n <${t.P}-button class="${t.PCSS}-adapter-next" on-click=":host._next($event)">&gt;</${t.P}-button>\n <${t.P}-swipe on-swipeleft=":host._next($event)" on-swiperight=":host._previous($event)"></${t.P}-swipe>\n <${t.P}-panel tabindex="0">\n <${t.P}-repeater>\n <ol class="${t.PCSS}-adapter-dashboard">\n <li pacem hidden>\n <${t.P}-button class="${t.PCSS}-play-pause"\n css-class="{{ {'paused' : :host._paused, 'playing': !:host._paused } }}" \n disabled="{{ !:host.pausable }}" on-click=":host._toggle($event)"></${t.P}-button>\n </li>\n <template>\n <li>\n <${t.P}-button on-click=":host._select(^index, $event)" class="${t.PCSS}-adapter-page" css-class="{{ { '${t.PCSS}-adapter-active': ^index === :host._index } }}">\n <${t.P}-span></${t.P}-span>\n </${t.P}-button>\n </li>\n </template>\n </ol></${t.P}-repeater></${t.P}-panel>`})],c);var d=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let h=class PacemAnchorElement extends t.Components.PacemElement{constructor(){super("link"),this._fetching=!1}get fetching(){return this._fetching}connectedCallback(){super.connectedCallback(),this.hasAttribute("tab-order")||(this.tabOrder=0)}propertyChangedCallback(e,s,i,n){switch(super.propertyChangedCallback(e,s,i,n),e){case"target":(t.Utils.isNullOrEmpty(i)?t.Utils.removeClass:t.Utils.addClass)(this,"a-target");break;case"href":(t.Utils.isNull(i)?t.Utils.removeClass:t.Utils.addClass)(this,"a-url");break;case"download":(t.Utils.isNullOrEmpty(i)?t.Utils.removeClass:t.Utils.addClass)(this,"a-download")}}emit(e){if(super.emit(e),this.disabled)return;switch(e.type){case"mousedown":t.Utils.addClass(this,t.PCSS+"-active");break;case"keydown":"Enter"===e.key&&(e.preventDefault(),t.Utils.addClass(this,t.PCSS+"-active"));break;case"blur":case"mouseup":t.Utils.removeClass(this,t.PCSS+"-active");break;case"keyup":"Enter"===e.key&&(this.click(),t.Utils.removeClass(this,t.PCSS+"-active"))}const s=this.href,i=this.target,n=this.router,o=this.download,r=()=>t.Utils.isNull(n)?s:t.Utils.URIs.format(s,n.state);t.Utils.isNull(s)||e.defaultPrevented||("click"===e.type&&e.ctrlKey||"mousedown"===e.type&&1===e.button?window.open(r(),"_blank"):"click"===e.type&&(!0===o?this._download(r()):"string"!=typeof o||t.Utils.isNullOrEmpty(o)?t.Utils.isNullOrEmpty(i)?t.Utils.isNull(n)?location.assign(s):n.path=s:window.open(r(),i):this._download(r(),o)))}async _download(e,s){this.dispatchEvent(new t.PropertyChangeEvent({propertyName:"fetching",oldValue:this._fetching,currentValue:this._fetching=!0}));try{await t.Utils.download(e,{credentials:this.fetchCredentials,headers:this.fetchHeaders,filename:s})}finally{this.dispatchEvent(new t.PropertyChangeEvent({propertyName:"fetching",oldValue:this._fetching,currentValue:this._fetching=!1}))}}};d([t.Watch({emit:!1,converter:t.PropertyConverters.String})],h.prototype,"fetchCredentials",void 0),d([t.Watch({emit:!1,converter:t.PropertyConverters.Json})],h.prototype,"fetchHeaders",void 0),d([t.Watch({reflectBack:!0,converter:t.PropertyConverters.String})],h.prototype,"href",void 0),d([t.Watch({reflectBack:!0,converter:t.PropertyConverters.String})],h.prototype,"target",void 0),d([t.Watch({reflectBack:!1,converter:{convert:e=>{switch(e){case"true":return!0;case"false":return!1;default:return e}},convertBack:e=>e}})],h.prototype,"download",void 0),d([t.Watch({reflectBack:!1,converter:t.PropertyConverters.Element})],h.prototype,"router",void 0),h=d([t.CustomElement({tagName:t.P+"-a"})],h);const p={convert:e=>document.querySelector(e)??JSON.parse(e)};var u,m,v,g,b,y=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};!function(e){e.Menu="menu",e.Tooltip="tooltip",e.Inert="inert"}(u||(u={})),function(e){e.Hover="hover",e.Click="click",e.ContextMenu="contextmenu",e.Focus="focus"}(m||(m={})),function(e){e.Start="start",e.Center="center",e.End="end",e.Auto="auto"}(v||(v={})),function(e){e.Top="top",e.Left="left",e.Bottom="bottom",e.Right="right",e.Auto="auto",e.HorizontalAuto="x",e.VerticalAuto="y"}(g||(g={})),function(e){e.Auto="auto",e.Match="match"}(b||(b={}));const f="popup",C="popout",_={Defaults:{trigger:m.Hover,position:g.Auto,size:b.Auto,behavior:u.Menu,verticalOffset:0,horizontalOffset:0,hoverDelay:250,hoverTimeout:500,align:v.Center,track:!0}},w="balloon-right balloon-left balloon-bottom balloon-top balloon-start balloon-center balloon-end",P=t.PCSS+"-balloon "+w+" balloon-out balloon-in balloon-on";let E=class PacemBalloonElement extends t.Components.PacemElement{constructor(){super(...arguments),this._options=_.Defaults,this._originalNeighborhood=null,this._popoutDelegate=e=>{this.popout()},this._hoverDelegate=e=>{this.disabled||this.popup(this._options.hoverDelay)},this._outConditionalDelegate=e=>{(e.srcElement||e.target)!=this&&this._outDelegate(e)},this._mousedownConditionalDelegate=e=>{t.preventDefaultHandler(e),this._visible&&t.stopPropagationHandler(e)},this._outDelegate=e=>{this.popout(this._options.hoverTimeout)},this._toggleDelegate=e=>{e.preventDefault(),this._visible?this._outDelegate(e):this._hoverDelegate(e)}}get visible(){return this._visible}propertyChangedCallback(e,s,i,n){super.propertyChangedCallback(e,s,i,n),"target"===e?(s instanceof Element&&this._removeHandlers(s),i instanceof Element||this._adjust()):"options"===e?(this.target instanceof Element&&this._removeHandlers(this.target),this._options=t.Utils.extend({},t.Utils.clone(_.Defaults),i),this._synchronizeOptions()):"disabled"===e&&i&&this.popout(),this.target instanceof Element&&"disabled"!==e&&this._setHandlers(this.target)}viewActivatedCallback(){super.viewActivatedCallback(),this._ensurePopup(),this.target=this.target||this.parentElement,this._synchronizeOptions()}disconnectedCallback(){super.disconnectedCallback(),this._destroyPopup(),this.target instanceof Element&&this._removeHandlers(this.target)}_synchronizeOptions(){const e=this,s=e.options||{};if(s.moveToRoot&&t.Utils.isNull(this._originalNeighborhood))this._originalNeighborhood={parent:e.parentElement,nextSibling:e.nextElementSibling},document.body.appendChild(e);else if(!s.moveToRoot&&!t.Utils.isNull(this._originalNeighborhood)){const s=this._originalNeighborhood.parent;t.Utils.isNull(s)||s.appendChild(e),this._originalNeighborhood=null}}_ensurePopup(){const e=this,s=e._container;return e&&s&&!t.Utils.hasClass(e,t.PCSS+"-balloon")&&(t.Utils.addClass(e,t.PCSS+"-balloon"),e.style.position="absolute",s.style.position="relative",s.style.zIndex="1",e.style.visibility="hidden"),e}_destroyPopup(){var e=this,s=e._container;t.Utils.removeClass(e,P),e.style.position="",t.Utils.isNull(s)||(s.style.position="",s.style.zIndex="")}_registerEvents(){const e=this._ensurePopup(),s=this._options;switch(s.behavior){case u.Menu:switch(s.trigger){case m.Focus:e.addEventListener("mousedown",t.stopPropagationHandler,!1),e.addEventListener("focus",this._hoverDelegate,!1);break;case m.Click:case m.ContextMenu:e.addEventListener("mousedown",t.stopPropagationHandler,!1),window.document.body.addEventListener("mousedown",this._outConditionalDelegate,!1);break;default:e.addEventListener("mouseenter",this._hoverDelegate,!1),e.addEventListener("mouseleave",this._outDelegate,!1)}break;case u.Tooltip:switch(s.trigger){case m.Focus:case m.Click:case m.ContextMenu:window.document.body.addEventListener("mousedown",this._outConditionalDelegate,!1)}}}_unregisterEvents(){var e=this._ensurePopup(),s=this._options;switch(s.behavior){case u.Menu:switch(s.trigger){case m.Focus:e.removeEventListener("mousedown",t.stopPropagationHandler,!1),e.removeEventListener("focus",this._hoverDelegate,!1);break;case m.Click:case m.ContextMenu:e.removeEventListener("mousedown",t.stopPropagationHandler,!1),window.document.body.removeEventListener("mousedown",this._outConditionalDelegate,!1);break;default:e.removeEventListener("mouseenter",this._hoverDelegate,!1),e.removeEventListener("mouseleave",this._outDelegate,!1)}break;case u.Tooltip:switch(s.trigger){case m.Click:case m.ContextMenu:window.document.body.removeEventListener("mousedown",this._outConditionalDelegate,!1)}}}_onLayoutChange(e){this._visible&&this._adjust()}_adjust(){const e=this,s=e.target;if(t.Utils.isNull(s))return;const i=s instanceof Element?t.Utils.offset(s):{top:s.y,left:s.x,width:0,height:0},n=t.Utils.windowSize;var o=this._options,r=o.position,a=o.align;if(r!=g.Top&&r!=g.Bottom&&r!=g.Left&&r!=g.Right){let e=n.height,s=n.width;const o=i.left-t.Utils.scrollLeft,a=i.top-t.Utils.scrollTop,l=e-(a+i.height),c=s-(o+i.width);if(r===g.HorizontalAuto)r=o>c?g.Left:g.Right;else r=a>l?g.Top:g.Bottom}if(o.size===b.Match)switch(r){case g.Bottom:case g.Top:e.style.minWidth=i.width+"px",e.style.minHeight="";break;case g.Left:case g.Right:e.style.minHeight=i.height+"px",e.style.minWidth=""}else e.style.minWidth=e.style.minHeight="";const l=e.offsetWidth,c=e.offsetHeight,d=i.width-l,h=.5*d,p=i.height-c,u=.5*p;switch(a){case v.Center:case v.Start:case v.End:break;case v.Auto:switch(a=v.Center,r){case g.Right:case g.Left:const e=t.Utils.scrollTop+n.height/2;i.top+i.height<e?a=v.Start:i.top>e&&(a=v.End);break;case g.Top:case g.Bottom:const s=t.Utils.scrollLeft+n.width/2;i.left+i.width<s?a=v.Start:i.left>s&&(a=v.End)}break;default:a=_.Defaults.align}t.Utils.removeClass(e,w),t.Utils.addClass(e,"balloon-"+r),t.Utils.addClass(e,"balloon-"+a);const m=t.Utils.Css.getVariableValue(`--${t.PCSS}-balloon-tail-size`),y=t.Utils.Css.getVariableValue(`--${t.PCSS}-balloon-tail-inset`),f=parseInt(y)+.5*parseInt(m),C=i.width/2,P=i.height/2,E=o.autoAdjust&&f>C,k=o.autoAdjust&&f>P;switch(r){case g.Top:switch(i.top-=c,a){case v.Center:i.left+=h;break;case v.End:i.left+=d,E&&(i.left+=f-C);break;case v.Start:E&&(i.left-=f-C)}break;case g.Left:switch(i.left-=l,a){case v.Center:i.top+=u;break;case v.End:i.top+=p,k&&(i.top+=f-P);break;case v.Start:k&&(i.top-=f-P)}break;case g.Right:switch(i.left+=i.width,a){case v.Center:i.top+=u;break;case v.End:i.top+=p,k&&(i.top+=f-P);break;case v.Start:k&&(i.top-=f-P)}break;default:switch(i.top+=i.height,a){case v.Center:i.left+=h;break;case v.End:i.left+=d,E&&(i.left+=f-C);break;case v.Start:E&&(i.left-=f-C)}}i.left=Math.min(n.width-l,Math.max(0,i.left)),i.top+=o.verticalOffset,i.left+=o.horizontalOffset,e.style.top=Math.round(i.top)+"px",e.style.left=Math.round(i.left)+"px"}_adjustWatchers(e){const s=this.options||{};t.Utils.isNull(this._resize)||(this._resize.disabled=!e,this._position.disabled=!e||!(s.track||s.trackPosition))}popup(e=0){if(clearTimeout(this._timer),e>0)return void(this._timer=setTimeout(()=>this.popup(),e));const s=this,i=t.Utils.isVisible(s);this._adjustWatchers(!0),i||this.disabled||(this._registerEvents(),s.style.pointerEvents="none",this._visible=!0,s.style.visibility="visible",this._adjust(),t.Utils.addClass(s,"balloon-in"),t.Utils.addAnimationEndCallback(s,()=>{t.Utils.addClass(s,"balloon-on"),s.dispatchEvent(new t.PropertyChangeEvent({propertyName:"visible",oldValue:!1,currentValue:!0})),s.dispatchEvent(new Event(f)),s.style.pointerEvents="auto"},500))}popout(e=0){if(clearTimeout(this._timer),e>0)return void(this._timer=setTimeout(()=>this.popout(),e));var s=this;const i=t.Utils.isVisible(s);this._adjustWatchers(!1),i&&(this._unregisterEvents(),s.style.pointerEvents="none",t.Utils.removeClass(s,"balloon-in balloon-on"),t.Utils.addClass(s,"balloon-out"),t.Utils.addAnimationEndCallback(s,()=>{s.style.visibility="hidden",this._visible=!1,t.Utils.removeClass(s,P),s.dispatchEvent(new Event(C)),s.dispatchEvent(new t.PropertyChangeEvent({propertyName:"visible",oldValue:!0,currentValue:!1}))},500))}toggle(e=0){t.Utils.isVisible(this)||this.disabled?this.popout(e):this.popup(e)}_removeHandlers(e){t.Utils.isNull(e)||(e.removeEventListener("mouseenter",this._hoverDelegate,!1),e.removeEventListener("mouseleave",this._outDelegate,!1),e.removeEventListener("mousedown",this._popoutDelegate,!1),e.removeEventListener("mousedown",this._mousedownConditionalDelegate,!1),e.removeEventListener("click",this._toggleDelegate,!1),e.removeEventListener("focus",this._hoverDelegate,!1),e.removeEventListener("blur",this._outDelegate,!1),e.removeEventListener("contextmenu",this._toggleDelegate,!1))}_setHandlers(e){this.popout();var t=this._options;if(t.behavior!=u.Inert)switch(t.trigger){case m.Hover:e.addEventListener("mouseenter",this._hoverDelegate,!1),e.addEventListener("mouseleave",this._outDelegate,!1),e.addEventListener("mousedown",this._popoutDelegate,!1);break;case m.Focus:e.addEventListener("focus",this._hoverDelegate,!1),e.addEventListener("blur",this._outDelegate,!1);break;case m.Click:t.hoverDelay=t.hoverTimeout=0,e.addEventListener("mousedown",this._mousedownConditionalDelegate,!1),e.addEventListener("click",this._toggleDelegate,!1);break;case m.ContextMenu:t.hoverDelay=t.hoverTimeout=0,e.addEventListener("contextmenu",this._toggleDelegate,!1)}}};y([t.ViewChild(`.${t.PCSS}-balloon`)],E.prototype,"_container",void 0),y([t.ViewChild(t.P+"-resize[content]")],E.prototype,"_resize",void 0),y([t.ViewChild(t.P+"-resize[watch-position=true]")],E.prototype,"_position",void 0),y([t.Watch({converter:p})],E.prototype,"target",void 0),y([t.Watch({emit:!1,converter:t.PropertyConverters.Json})],E.prototype,"options",void 0),E=y([t.CustomElement({tagName:t.P+"-balloon",shadow:!0,template:`<${t.P}-resize target="{{ :host.target }}" disabled="true" watch-position="true" on-${t.Components.ResizeEventName}=":host._onLayoutChange($event)"></${t.P}-resize>\n<div class="${t.PCSS}-balloon"><${t.P}-resize on-${t.Components.ResizeEventName}=":host._onLayoutChange($event)" disabled="true" content><slot></slot></${t.P}-resize></div>\n<div class="corner top-left" part="corner-topleft"></div><div class="corner bottom-left" part="corner-bottomleft"></div><div class="corner top-right" part="corner-topright"></div><div class="corner bottom-right" part="corner-bottomright"></div>`})],E);var k,x,S,U=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};!function(e){e.Auto="auto",e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom",e.Center="center"}(k||(k={})),function(e){e.Default="default",e.Arrow="arrow",e.FatArrow="fatarrow",e.None="none"}(x||(x={})),function(e){e.Mass="mass",e.Path="path"}(S||(S={}));const $="interact";class BinderInteractionEvent extends t.CustomUIEvent{constructor(e){super($,null,e)}}const D="pacem:components:ui:binders";class BindersCollector{constructor(e){this.binders=[],this.fire=e=>{for(var t of this.binders)t.refresh(this.resize.target,e.detail)};const s=this.resize=new t.Components.PacemResizeElement;s.target=e,s.watchPosition=!0,document.body.appendChild(s)}dispose(){this.resize.remove()}}class BinderUtils{static{this._pageBinders=[]}static _updateResizeListener(){const e=this._pageBinders;if(t.Utils.isNull(this._bodyResizeListener)){const s=this._bodyResizeListener=new t.Components.PacemResizeElement;s.target=document.body,document.body.appendChild(s),document.addEventListener(t.Components.ResizeEventName,()=>{for(let t of e)t.invalidateSize()},!1)}this._bodyResizeListener.disabled=0===e.length}static register(e,s){var i=t.CustomElementUtils.getAttachedPropertyValue(e,D),n=this._pageBinders;t.Utils.isNull(i)&&(i=new BindersCollector(e),t.CustomElementUtils.setAttachedPropertyValue(e,D,i)),-1==i.binders.indexOf(s)&&(0===i.binders.length&&i.resize.addEventListener(t.Components.ResizeEventName,i.fire,!1),s.refresh(e,i.resize.currentSize),i.binders.push(s)),-1===n.indexOf(s)&&(n.push(s),this._updateResizeListener())}static unregister(e,s){var i,n,o=t.CustomElementUtils.getAttachedPropertyValue(e,D),r=this._pageBinders;!t.Utils.isNull(o)&&(i=o.binders.indexOf(s))>-1&&(o.binders.splice(i,1),0===o.binders.length&&(o.resize.removeEventListener(t.Components.ResizeEventName,o.fire,!1),o.dispose(),t.CustomElementUtils.deleteAttachedPropertyValue(e,D))),(n=r.indexOf(s))>=0&&(r.splice(n,1),this._updateResizeListener())}}const A=["click","dblclick","mouseover","mouseout","mouseenter","mouseleave","mousedown","mouseup","mousemove","contextmenu"];let O=class PacemBinderElement extends t.Components.PacemElement{constructor(){super(...arguments),this._broadcastHandler=e=>{var t=new BinderInteractionEvent(e);this.dispatchEvent(t)},this._state={}}connectedCallback(){super.connectedCallback(),this._ensurePath()}viewActivatedCallback(){super.viewActivatedCallback(),this.from instanceof Element&&BinderUtils.register(this.from,this),this.to instanceof Element&&BinderUtils.register(this.to,this)}propertyChangedCallback(e,s,i,n){switch(super.propertyChangedCallback(e,s,i,n),e){case"from":case"to":s instanceof Element&&BinderUtils.unregister(s,this),i instanceof Element?BinderUtils.register(i,this):this.refresh(i);break;case"fromLimit":case"toLimit":case"fromEnd":case"toEnd":case"tension":this._draw();break;case"fromAnchor":this.refresh(this.from);break;case"toAnchor":this.refresh(this.to);break;case"cssClass":t.Utils.isNull(this._svg)||this._svg.setAttribute("class",t.PCSS+"-binder "+this.className);break;case"hide":n||this._setPathVisibility()}}disconnectedCallback(){t.Utils.isNull(this._path)||(A.forEach(e=>{this._path.removeEventListener(e,this._broadcastHandler,!1)}),this._svg.remove(),this._path=void 0),this.from instanceof Element&&BinderUtils.unregister(this.from,this),this.to instanceof Element&&BinderUtils.unregister(this.to,this),super.disconnectedCallback()}_setPathVisibility(e=this._path,s=this.hide,i=this.interactive){t.Utils.isNull(e)||(s?e.setAttribute("display","none"):e.removeAttribute("display"),i?(e.setAttribute("pointer-events","visibleStroke"),e.tabIndex=0):(e.removeAttribute("pointer-events"),e.tabIndex=-1))}_ensurePath(){if(t.Utils.isNull(this._path)){let e=this._svg=document.createElementNS("http://www.w3.org/2000/svg","svg");e.style.position="absolute",t.Utils.addClass(e,t.PCSS+"-binder "+this.className),e.style.top="0",e.style.left="0",e.style.overflow="hidden",e.style.pointerEvents="none";const s=this._path=document.createElementNS("http://www.w3.org/2000/svg","path");s.setAttribute("fill","none"),s.setAttribute("display","none"),this._setPathVisibility(),e.appendChild(s),this.invalidateSize(),document.body.appendChild(e),A.forEach(e=>{s.addEventListener(e,this._broadcastHandler,!1)})}}invalidateSize(){const e=this._svg;t.Utils.isNull(e)||(e.setAttribute("width",document.body.scrollWidth.toString()),e.setAttribute("height",document.body.scrollHeight.toString()))}_computeAnchorPoints(t,s,i,n,o,r,a){var l,c,d,h;const p=t.top,u=t.left,m=t.width,v=t.height,g=m/2,b=v/2,y=n.top,f=n.left,C=n.width,_=n.height,w=C/2,P=_/2,E={x:u+g,y:p+b},U={x:f+w,y:y+P},$={x:u+g,y:p},D={x:u+g,y:p+v},A={x:u,y:p+b},O={x:u+m,y:p+b},R={x:f+w,y:y},N={x:f+w,y:y+_},L={x:f,y:y+P},H={x:f+C,y:y+P},T={p1_top:$,p1_bottom:D,p1_left:A,p1_right:O,p2_top:R,p2_bottom:N,p2_left:L,p2_right:H};var z={};function W(t,s){const i=t+"_"+s;return z[i]=z[i]||e.Point.distance(T["p1_"+t],T["p2_"+s])}if(s==k.Auto||o==k.Auto){const e={x:E.x,y:-E.y},t={x:U.x,y:-U.y},i=180*Math.atan2(t.y-e.y,t.x-e.x)/Math.PI;switch(i){case 0:s==k.Auto&&(s=k.Right),o==k.Auto&&(o=k.Left);break;case 90:s==k.Auto&&(s=k.Top),o==k.Auto&&(o=k.Bottom);break;case 180:s==k.Auto&&(s=k.Left),o==k.Auto&&(o=k.Right);break;case-90:s==k.Auto&&(s=k.Bottom),o==k.Auto&&(o=k.Top);break;default:if(i<90&&i>0){let e=W("top","left"),t=W("right","left"),i=W("right","bottom"),n=W("top","bottom");switch(Math.min(e,t,i,n)){case e:s==k.Auto&&(s=k.Top),o==k.Auto&&(o=k.Left);break;case n:s==k.Auto&&(s=k.Top),o==k.Auto&&(o=k.Bottom);break;case i:s==k.Auto&&(s=k.Right),o==k.Auto&&(o=k.Bottom);break;default:s==k.Auto&&(s=k.Right),o==k.Auto&&(o=k.Left)}}else if(i<180&&i>90){let e=W("top","right"),t=W("left","right"),i=W("left","bottom"),n=W("top","bottom");switch(Math.min(e,t,i,n)){case e:s==k.Auto&&(s=k.Top),o==k.Auto&&(o=k.Right);break;case t:s==k.Auto&&(s=k.Left),o==k.Auto&&(o=k.Right);break;case i:s==k.Auto&&(s=k.Left),o==k.Auto&&(o=k.Bottom);break;default:s==k.Auto&&(s=k.Top),o==k.Auto&&(o=k.Bottom)}}else if(i<-90){let e=W("bottom","right"),t=W("left","right"),i=W("left","top"),n=W("bottom","top");switch(Math.min(e,t,i,n)){case e:s==k.Auto&&(s=k.Bottom),o==k.Auto&&(o=k.Right);break;case t:s==k.Auto&&(s=k.Left),o==k.Auto&&(o=k.Right);break;case i:s==k.Auto&&(s=k.Left),o==k.Auto&&(o=k.Top);break;default:s==k.Auto&&(s=k.Bottom),o==k.Auto&&(o=k.Top)}}else{let e=W("bottom","left"),t=W("right","left"),i=W("right","top"),n=W("bottom","top");switch(Math.min(e,t,i,n)){case e:s==k.Auto&&(s=k.Bottom),o==k.Auto&&(o=k.Left);break;case t:s==k.Auto&&(s=k.Right),o==k.Auto&&(o=k.Left);break;case i:s==k.Auto&&(s=k.Right),o==k.Auto&&(o=k.Top);break;default:s==k.Auto&&(s=k.Bottom),o==k.Auto&&(o=k.Top)}}}}function B(e){switch(e){case x.Arrow:case x.FatArrow:return 2;default:return 1}}const M=B(i),V=B(r);switch(s){case k.Bottom:l=D;break;case k.Center:d=l={x:u+g,y:p+b};break;case k.Left:l=A;break;case k.Right:l=O;break;case k.Top:l=$}switch(o){case k.Bottom:c=N;break;case k.Center:h=c={x:f+w,y:y+P};break;case k.Left:c=L;break;case k.Right:c=H;break;case k.Top:c=R}if(a===S.Path){const e=.333;switch(s){case k.Bottom:d={x:l.x,y:l.y+Math.abs(M*e*(c.y-l.y))};break;case k.Left:d={x:l.x-Math.abs(M*e*(c.x-l.x)),y:l.y};break;case k.Right:d={x:l.x+Math.abs(M*e*(c.x-l.x)),y:l.y};break;case k.Top:d={x:l.x,y:l.y-Math.abs(M*e*(l.y-c.y))}}switch(o){case k.Bottom:h={x:c.x,y:c.y+Math.abs(V*e*(c.y-l.y))};break;case k.Left:h={x:c.x-Math.abs(V*e*(c.x-l.x)),y:c.y};break;case k.Right:h={x:c.x+Math.abs(V*e*(c.x-l.x)),y:c.y};break;case k.Top:h={x:c.x,y:c.y-Math.abs(V*e*(c.y-l.y))}}}else{switch(s){case k.Bottom:d={x:l.x,y:l.y+Math.abs(M*(D.y-E.y))};break;case k.Left:d={x:l.x-Math.abs(M*(E.x-A.x)),y:l.y};break;case k.Right:d={x:l.x+Math.abs(M*(O.x-E.x)),y:l.y};break;case k.Top:d={x:l.x,y:l.y-Math.abs(M*($.y-E.y))}}switch(o){case k.Bottom:h={x:c.x,y:c.y+Math.abs(V*(N.y-U.y))};break;case k.Left:h={x:c.x-Math.abs(V*(U.x-L.x)),y:c.y};break;case k.Right:h={x:c.x+Math.abs(V*(H.x-U.x)),y:c.y};break;case k.Top:h={x:c.x,y:c.y-Math.abs(V*(R.y-U.y))}}}return{points:[l,d,c,h],anchors:[s,o]}}refresh(e,s){var i;if(t.Utils.isNull(e)||t.Utils.isNull(i=this._path))return;const n=!t.Utils.isNull(this.from)&&!t.Utils.isNull(this.to),o=t.Utils.isNull(this.from)&&t.Utils.isNull(this.to);if((this.disabled||!n)&&(i.removeAttribute("d"),o))return;const r=e===this.from?"from":"to";var a=("from"===r?this.fromAnchor:this.toAnchor)||k.Auto;t.Utils.isNull(s)&&(e instanceof Element?r in this._state&&(s=this._state[r].size):(s={height:0,width:0,left:e.x,top:e.y},a=k.Center)),t.Utils.isNull(s)||(this._state[r]={size:s,anchor:a},n&&this._draw())}_draw(){var e=this._state.from,s=this._state.to,i=this._path;if(t.Utils.isNull(i))return;if(t.Utils.isNullOrEmpty(e)||t.Utils.isNullOrEmpty(s)||this.from instanceof HTMLElement&&!t.Utils.isVisible(this.from)||this.to instanceof HTMLElement&&!t.Utils.isVisible(this.to))return void i.setAttribute("d","");const{points:n,anchors:o}=this._computeAnchorPoints(e.size,e.anchor,this.fromEnd,s.size,s.anchor,this.toEnd,this.tension),r=n[0],a=n[1],l=n[2],c=n[3],d=o[0],h=o[1],p=r.x,u=r.y,m=a.x,v=a.y,g=l.x,b=l.y,y=c.x,f=c.y;let C=this._getDefaultEndingPath(p,u);switch(this.fromEnd){case x.Arrow:C=this._getArrowEndingPath(p,u,d);break;case x.FatArrow:C=this._getFatArrowEndingPath(p,u,d);break;case x.None:C=""}let _=this._getDefaultEndingPath(g,b);switch(this.toEnd){case x.Arrow:_=this._getArrowEndingPath(g,b,h);break;case x.FatArrow:_=this._getFatArrowEndingPath(g,b,h);break;case x.None:_=""}const w=C+`M${p},${u} C${m},${v} ${y},${f} ${g},${b}`+_;-1===w.indexOf("NaN")&&i.setAttribute("d",w),t.Utils.isNullOrEmpty(this.color)||(i.style.stroke=this.color)}_getDefaultEndingPath(e,t){return`M${e-2},${t-2} h4 v4 h-4 z`}_getArrowEndingPath(e,t,s){switch(s){case k.Bottom:return`M${e-4},${t+4} l4,-4 l4,4`;case k.Top:return`M${e-4},${t-4} l4,4 l4,-4`;case k.Left:return`M${e-4},${t-4} l4,4 l-4,4`;case k.Right:return`M${e+4},${t-4} l-4,4 l4,4`;default:return""}}_getFatArrowEndingPath(e,t,s){switch(s){case k.Bottom:case k.Top:case k.Left:case k.Right:return this._getArrowEndingPath(e,t,s)+" z";default:return""}}};U([t.Watch({emit:!1,converter:p})],O.prototype,"from",void 0),U([t.Watch({emit:!1,converter:p})],O.prototype,"to",void 0),U([t.Watch({emit:!1,converter:t.PropertyConverters.String})],O.prototype,"fromAnchor",void 0),U([t.Watch({emit:!1,converter:t.PropertyConverters.String})],O.prototype,"toAnchor",void 0),U([t.Watch({emit:!1,converter:t.PropertyConverters.String})],O.prototype,"fromEnd",void 0),U([t.Watch({emit:!1,converter:t.PropertyConverters.String})],O.prototype,"toEnd",void 0),U([t.Watch({emit:!1,converter:t.PropertyConverters.String})],O.prototype,"tension",void 0),U([t.Watch({emit:!1,converter:t.PropertyConverters.String})],O.prototype,"color",void 0),U([t.Watch({emit:!1,converter:t.PropertyConverters.Boolean})],O.prototype,"interactive",void 0),O=U([t.CustomElement({tagName:t.P+"-binder"})],O);var R=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let N=class PacemBladeElement extends t.Components.PacemElement{propertyChangedCallback(e,t,s,i){super.propertyChangedCallback(e,t,s,i),"open"===e&&this._toggle(s)}_toggle(e=this.open){(e?t.Utils.addClass:t.Utils.removeClass)(this,"blade-open");const s=e?"open":"close";this.dispatchEvent(new Event(s))}};var L;R([t.Watch({emit:!1,converter:t.PropertyConverters.Boolean})],N.prototype,"open",void 0),N=R([t.CustomElement({tagName:t.P+"-blade",shadow:!0})],N),function(e){e.ClickOutsideClose="clickOutsideClose",e.ExplicitClose="explicitClose"}(L||(L={}));var H=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let T=class PacemBottomSheetHandleElement extends t.Components.PacemElement{constructor(){super(...arguments),this._clickHandler=e=>{const t=this.#e;t.open=!t.open}}viewActivatedCallback(){super.viewActivatedCallback(),this._setIcon(),this._toggleHandle(),this.#e=t.CustomElementUtils.findAncestorOfType(this,z),this._bindToBottomSheet()}propertyChangedCallback(e,t,s,i){if(super.propertyChangedCallback(e,t,s,i),!i)switch(e){case"iconGlyph":this._setIcon(s);break;case"disabled":this._toggleHandle(s)}}disconnectedCallback(){this.removeEventListener("click",this._clickHandler);const e=this.#e;!t.Utils.isNull(e)&&e.isReady&&e._setHandle(null),this.#e=null,super.disconnectedCallback()}#e;_bindToBottomSheet(){const e=this.#e;t.Utils.isNull(e)||(t.Utils.isNullOrEmpty(this.id)&&(this.id="handle_"+t.Utils.uniqueCode()),t.CustomElementUtils.whenReady(e,()=>{e._setHandle(this),this.addEventListener("click",this._clickHandler,!1)}))}_toggleHandle(e=this.disabled){this.style.pointerEvents=e?"none":""}_setIcon(e=this.iconGlyph){const s=this._icon;t.Utils.isNull(s)||(s.icon=e??"horizontal_rule")}};H([t.ViewChild(t.P+"-icon")],T.prototype,"_icon",void 0),H([t.Watch({emit:!1,converter:t.PropertyConverters.String})],T.prototype,"iconGlyph",void 0),T=H([t.CustomElement({tagName:t.P+"-bottom-sheet-handle",shadow:!1,template:`<div class="bottom-sheet-handle">\n <${t.P}-icon class="icon-size icon-size-6"></${t.P}-icon>\n </div>`})],T);let z=class PacemBottomSheetElement extends t.Components.PacemElement{constructor(){super(...arguments),this._resizeHandler=e=>{this._rebuildSwiperSnaps(),this._setPosition()},this._panHandler=e=>{const t=this._swiper.snaps.find(e=>0!=e),{delta:s}=e.detail;let i=(t<0?s.clamp(t,0):s.clamp(0,t))/t;t>0&&(i=1-i);const n=6*i**2;this.style.backdropFilter=`blur(${n.toFixed(2)}px)`},this._swipeHandler=e=>{switch(t.preventDefaultHandler(e),e.type){case t.UI.SwipeEventType.SwipeAnimationEnd:return void(this.style.backdropFilter="");case t.UI.SwipeEventType.SwipeUpAnimationEnd:this.open=!0;break;case t.UI.SwipeEventType.SwipeDownAnimationEnd:this.open=!1}this._setPosition()},this._softReleaseHandler=e=>{t.avoidHandler(e),this.behavior!==L.ExplicitClose&&(this.open=!1)}}propertyChangedCallback(e,t,s,i){if(super.propertyChangedCallback(e,t,s,i),!i)switch(e){case"open":this._toggle(s),this._rebuildSwiperSnaps(s);break;case"logger":this._assignLogger(s);break;case"disabled":this._toggleSwiper(s)}}_toggleSwiper(e=this.disabled){const s=this._swiper;t.Utils.isNull(s)||(s.disabled=e)}_setHandle(e){t.Utils.isNull(e)?this._swiper.handleSelector=null:this._swiper.handleSelector=`#${e.id}`,this._handleResizer.target=e}_assignLogger(e=this.logger){this._swiper.logger=e}_rebuildSwiperSnaps(e=this.open){const t=this._swiper,s=this._getSnap(e);t.snaps=[0,s].sort()}viewActivatedCallback(){super.viewActivatedCallback(),this._assignLogger(),this._resizer.addEventListener(t.Components.ResizeEventName,this._resizeHandler),this._handleResizer.addEventListener(t.Components.ResizeEventName,this._resizeHandler);const e=this._swiper;e.addEventListener(t.UI.SwipeEventType.Pan,this._panHandler,!1),e.addEventListener(t.UI.SwipeEventType.SwipeAnimationEnd,this._swipeHandler,!1),e.addEventListener(t.UI.SwipeEventType.SwipeUpAnimationEnd,this._swipeHandler,!1),e.addEventListener(t.UI.SwipeEventType.SwipeDownAnimationEnd,this._swipeHandler,!1),this._toggle(),this._rebuildSwiperSnaps(),this._toggleSwiper(),this._sheet.addEventListener("pointerdown",t.stopPropagationHandler,!1),this.addEventListener("pointerdown",this._softReleaseHandler,!1)}disconnectedCallback(){const e=this._resizer;t.Utils.isNull(e)||e.removeEventListener(t.Components.ResizeEventName,this._resizeHandler);const s=this._handleResizer;t.Utils.isNull(e)||s.removeEventListener(t.Components.ResizeEventName,this._resizeHandler);const i=this._swiper;t.Utils.isNull(i)||(i.removeEventListener(t.UI.SwipeEventType.Pan,this._panHandler),i.removeEventListener(t.UI.SwipeEventType.SwipeAnimationEnd,this._swipeHandler),i.removeEventListener(t.UI.SwipeEventType.SwipeUpAnimationEnd,this._swipeHandler),i.removeEventListener(t.UI.SwipeEventType.SwipeDownAnimationEnd,this._swipeHandler));const n=this._sheet;t.Utils.isNull(n)||n.removeEventListener("pointerdown",t.stopPropagationHandler),this.removeEventListener("pointerdown",this._softReleaseHandler),super.disconnectedCallback()}_getSnap(e=this.open){const s=this._resizer,i=this._handleResizer;if(t.Utils.isNull(s)||t.Utils.isNull(i))return 0;const{top:n}=t.Utils.naturalOffset(s.target),{top:o}=t.Utils.naturalOffset(i.target),{height:r}=s.currentSize,{height:a}=i.currentSize,{height:l}=t.Utils.windowSize,c=Math.max(parseInt(t.Utils.Css.getVariableValue(`--${t.PCSS}-layout-header-height`)),l-(r??0)),d=l-((n??0)-(o??0)+(a??0));return(e?1:-1)*Math.abs(c-d)}_getCssTransform(e=this.open){const s=this._resizer,i=this._handleResizer;if(t.Utils.isNull(s)||t.Utils.isNull(i))return"";if(e){return`translate3d(0, max(var(--${t.PCSS}-layout-header-height), calc(100vh - 100%)), 0)`}{const{top:e}=t.Utils.naturalOffset(s.target),{top:n,height:o}=t.Utils.naturalOffset(i.target);return`translate3d(0, calc(100vh - ${-(e??0)+(n??0)+(o??0)}px), 0)`}}_setPosition(e=this.open){const t=this._sheet,s=this._getCssTransform(e);t.style.transform=s}_toggle(e=this.open){(e?t.Utils.addClass:t.Utils.removeClass)(this,"bottom-sheet-open"),this._sheet.style.transform="";const s=e?"open":"close";this.dispatchEvent(new Event(s))}};H([t.ViewChild(t.P+"-swipe")],z.prototype,"_swiper",void 0),H([t.ViewChild(t.P+"-resize")],z.prototype,"_resizer",void 0),H([t.ViewChild(t.P+"-resize[handle]")],z.prototype,"_handleResizer",void 0),H([t.ViewChild(t.P+"-panel.bottom-sheet")],z.prototype,"_sheet",void 0),H([t.Watch({emit:!1,converter:t.PropertyConverters.Boolean})],z.prototype,"open",void 0),H([t.Watch({emit:!1,converter:t.PropertyConverters.String})],z.prototype,"behavior",void 0),z=H([t.CustomElement({tagName:t.P+"-bottom-sheet",shadow:!1,template:`\n <${t.P}-swipe direction="vertical" options='{ "bouncy": false }'></${t.P}-swipe>\n <${t.P}-resize target="{{ ::_sheet }}"></${t.P}-resize>\n <${t.P}-resize handle></${t.P}-resize>\n <${t.P}-panel class="bottom-sheet" behaviors="{{ [::_swiper] }}">\n <${t.P}-content></${t.P}-content>\n </${t.P}-panel>`})],z);var W,B,M=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};!function(e){e.YesNo="yesno",e.YesNoCancel="yesnocancel",e.Ok="ok",e.OkCancel="okcancel"}(W||(W={})),function(e){e.Yes="yes",e.No="no",e.Cancel="cancel",e.Ok="ok"}(B||(B={}));const V="commit";class DialogResultEvent extends t.CustomTypedEvent{constructor(e){super(V,e)}}class PacemDialogBase extends t.Components.PacemElement{#t;open(e){const s=this.lightbox;if(!t.Utils.isNull(this.#t))throw"Dialog already open.";const i=this.#t=Promise.withResolvers();return this.hide||this.disabled?(this.log(t.Logging.LogLevel.Warn,"Dialog hidden or disabled, opening forbidden."),i.reject()):(this.dispatchEvent(new Event("open")),s.show=!0,this.state=e),i.promise}commit(e,s){t.avoidHandler(s),this.log(t.Logging.LogLevel.Debug,`Committing dialog by clicking '${e}'.`);const i=this.state;var n=new DialogResultEvent({button:e,state:i});this.lightbox.show=!1,this.#t.resolve(n.detail),this.#t=null,this.dispatchEvent(n)}}M([t.Watch()],PacemDialogBase.prototype,"state",void 0);var j=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let I=class PacemButtonElement extends t.Components.PacemIterableElement{constructor(){super("button")}connectedCallback(){super.connectedCallback(),this.hasAttribute("tab-order")||(this.tabOrder=0)}propertyChangedCallback(e,t,s,i){switch(super.propertyChangedCallback(e,t,s,i),e){case"iconGlyph":case"iconUrl":this.dataset[e]=s}}emit(e){let s=s=>{if(super.emit(s),!s.defaultPrevented)switch("click"!==s.type||t.Utils.isNullOrEmpty(this.commandName)||this.dispatchEvent(new t.CommandEvent({commandName:this.commandName,commandArgument:this.commandArgument})),s.type){case"mousedown":0===e.button&&t.Utils.addClass(this,t.PCSS+"-active");break;case"pointerdown":t.Utils.addClass(this,t.PCSS+"-active");break;case"keydown":32!==s.keyCode&&13!==s.keyCode||(e.preventDefault(),t.Utils.addClass(this,t.PCSS+"-active"));break;case"blur":case"mouseup":case"pointerup":case"click":t.Utils.removeClass(this,t.PCSS+"-active");break;case"keyup":32!==s.keyCode&&13!==s.keyCode||(this.click(),t.Utils.removeClass(this,t.PCSS+"-active"))}};this.disabled||"click"!==e.type||t.Utils.isNull(this.confirmationDialog)?e instanceof MouseEvent&&0!==e.button||s(e):this.confirmationDialog.open(this.confirmationMessage).then(t=>{t.button!==B.Yes&&t.button!==B.Ok||s(e)})}};j([t.Watch({emit:!1,converter:t.PropertyConverters.String})],I.prototype,"iconGlyph",void 0),j([t.Watch({emit:!1,converter:t.PropertyConverters.String})],I.prototype,"iconUrl",void 0),j([t.Watch({emit:!1,converter:t.PropertyConverters.String})],I.prototype,"commandName",void 0),j([t.Watch({emit:!1,converter:t.PropertyConverters.Json})],I.prototype,"commandArgument",void 0),j([t.Watch({emit:!1,converter:t.PropertyConverters.String})],I.prototype,"confirmationMessage",void 0),j([t.Watch({emit:!1,converter:t.PropertyConverters.Element})],I.prototype,"confirmationDialog",void 0),I=j([t.CustomElement({tagName:t.P+"-button"})],I);var F=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let q=class PacemButtonsetElement extends t.Components.PacemIterativeElement{connectedCallback(){super.connectedCallback(),"tabindex"in this.attributes||(this.tabIndex=0)}propertyChangedCallback(e,t,s,i){if(super.propertyChangedCallback(e,t,s,i),"index"===e){let e=0;for(var n of this.items){if(e==s){n.focus();break}e++}}}validate(e){return e instanceof I}};q=F([t.CustomElement({tagName:t.P+"-buttonset"})],q);var Y,Q=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};!function(e){e.Month="month",e.Week="week",e.Day="day"}(Y||(Y={}));class ViewDateChangeEvent extends t.CustomTypedEvent{constructor(e){super("viewdatechange",e)}}class DateSelectEvent extends t.CustomTypedEvent{constructor(e){super("dateselect",e,{bubbles:!0})}}class TimeSelectEvent extends t.CustomTypedEvent{constructor(e){super("timeselect",e,{bubbles:!0})}}const G=36e5,X=864e5,Z=[0,.5,1,1.5,2,2.5,3,3.5,4,4.5,5,5.5,6,6.5,7,7.5,8,8.5,9,9.5,10,10.5,11,11.5,12,12.5,13,13.5,14,14.5,15,15.5,16,16.5,17,17.5,18,18.5,19,19.5,20,20.5,21,21.5,22,22.5,23,23.5];let K=new Date;const J=t.Utils.Dates.dateOnly(K).valueOf(),ee=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"];let te=class PacemCalendarEventElement extends t.Components.PacemItemElement{propertyChangedCallback(e,s,i,n){super.propertyChangedCallback(e,s,i,n),cancelAnimationFrame(this._handle),this._handle=requestAnimationFrame(()=>{let e=this.container;t.Utils.isNull(e)||e.dispatchEvent(new t.PropertyChangeEvent({propertyName:"items",oldValue:e.items,currentValue:e.items}))})}};Q([t.Watch({converter:t.PropertyConverters.Datetime})],te.prototype,"start",void 0),Q([t.Watch({converter:t.PropertyConverters.Datetime})],te.prototype,"end",void 0),Q([t.Watch({converter:t.PropertyConverters.String})],te.prototype,"caption",void 0),Q([t.Watch({converter:t.PropertyConverters.Json})],te.prototype,"place",void 0),Q([t.Watch({converter:t.PropertyConverters.Boolean})],te.prototype,"allDay",void 0),te=Q([t.CustomElement({tagName:t.P+"-calendar-event"})],te);class CalendarEventSelectEvent extends t.CustomTypedEvent{constructor(e){super("eventselect",e,{bubbles:!1,cancelable:!0})}}class CalendarEventUnselectEvent extends t.CustomTypedEvent{constructor(e){super("eventunselect",e,{bubbles:!1,cancelable:!0})}}class PacemCalendarBaseElement extends t.Components.PacemItemsContainerElement{validate(e){return e instanceof te}propertyChangedCallback(e,s,i,n){switch(super.propertyChangedCallback(e,s,i,n),"viewDate"!==e&&"weekStart"!==e||this._synchronizeWeek(),e){case"viewDate":this.dispatchEvent(new ViewDateChangeEvent(i)),t.Utils.removeClass(this,"viewdate-next viewdate-previous"),requestAnimationFrame(()=>{t.Utils.addClass(this,s>i?"viewdate-previous":"viewdate-next")});break;case"zoom":t.Utils.removeClass(this,"viewdate-next viewdate-previous")}}oneventselect(e,t){this.dispatchEvent(new CalendarEventSelectEvent({element:e,event:t}))}oneventunselect(e,t){this.dispatchEvent(new CalendarEventUnselectEvent({element:e,event:t}))}getHeaderLabel(e,s){const i=s===Y.Week?{weekday:"short",day:"numeric",month:"numeric"}:s===Y.Day?{weekday:"long"}:{weekday:"short"};return t.Utils.parseDate(e).toLocaleString(t.Utils.lang(this),i)}getDayLabel(e){const s=1==e.getDate()?{month:"short",day:"numeric"}:{day:"numeric"};return t.Utils.parseDate(e).toLocaleString(t.Utils.lang(this),s)}getHourLabel(e){return t.Utils.parseDate(e).toLocaleString(t.Utils.lang(this),{hour:"numeric"})}getTimeLabel(e){return t.Utils.parseDate(e).toLocaleString(t.Utils.lang(this),{hour:"numeric",minute:"numeric"})}isNow(e,s){const i=t.Utils.parseDate(e),n=t.Utils.parseDate(s||new Date);return i.getHours()===n.getHours()&&this.isToday(e,s)}isToday(e,t){return this.isDate(e,t||new Date)}isViewDay(e,t=this.viewDate){return this.isDate(e,t||this.viewDate||new Date)}isDate(e,s){if(!t.Utils.Dates.isDate(s)||!t.Utils.Dates.isDate(e))return!1;const i=t.Utils.parseDate(e),n=t.Utils.parseDate(s);return i.getDate()===n.getDate()&&i.getMonth()==n.getMonth()&&i.getFullYear()===n.getFullYear()}isViewWeek(e){const s=t.Utils.parseDate(e);return this.week&&this.week.find(e=>e.getDate()==s.getDate()&&e.getMonth()==s.getMonth()&&e.getDate()==s.getDate())}isViewMonth(e){const s=t.Utils.parseDate(e),i=t.Utils.parseDate(this.viewDate||new Date);return s.getMonth()==i.getMonth()&&s.getFullYear()===i.getFullYear()}isTimeSlotDisabled(e,s,i){if(!t.Utils.isNullOrEmpty(e)){i=i||0;const n=new Date(s.getFullYear(),s.getMonth(),s.getDate(),Math.floor(i),i%1*60),o=n.getTimezoneOffset(),r=n.valueOf()-60*o*1e3;for(let s of e){let e=t.Utils.Dates.parse(s.from),i=t.Utils.Dates.parse(s.to);if((!e||e&&e.valueOf()<=r)&&(!i||i&&i.valueOf()>r)&&(i||e))return!0}}return!1}_getWeekStart(e,t){let s=e.getDay(),i=e.valueOf();const n=(t||"m").toLowerCase().startsWith("m")?1:0;return s===n?i:(0===s&&(s=7),i+(n-s)*X)}_getDatasource(e,s=this.weekStart){let i=t.Utils.Dates.dateOnly(t.Utils.parseDate(e));const n=this.month;let o=n&&n.length&&n[0]&&n[0].length&&n[0][0];if(o&&o.getMonth()==i.getMonth()&&o.getFullYear()==i.getFullYear()&&n.find(e=>!t.Utils.isNull(e.find(e=>e.valueOf()==i.valueOf()))))return n;let r=new Date(i.getFullYear(),i.getMonth(),1),a=this._getWeekStart(r,s),l=[],c=[];do{let e=t.Utils.Dates.dateOnly(new Date(a));c.push(e),7==c.length&&l.push(c.splice(0)),a=e.valueOf()+X+G}while(l.length<6);return this.month=l}_synchronizeWeek(){const e=t.Utils.parseDate(this.viewDate),s=new Date(e.getFullYear(),e.getMonth(),1),i=this._getDatasource(s,this.weekStart).filter((t,s)=>t.some(t=>t.getDate()==e.getDate()&&t.getMonth()==e.getMonth()&&t.getFullYear()==e.getFullYear()))[0];this.week&&this.week.length&&this.week[0]===i[0]||(this.week=i)}}Q([t.Watch({converter:t.PropertyConverters.Datetime})],PacemCalendarBaseElement.prototype,"viewDate",void 0),Q([t.Watch({converter:t.PropertyConverters.Datetime})],PacemCalendarBaseElement.prototype,"now",void 0),Q([t.Watch({converter:t.PropertyConverters.String})],PacemCalendarBaseElement.prototype,"zoom",void 0),Q([t.Watch({converter:t.PropertyConverters.String})],PacemCalendarBaseElement.prototype,"weekStart",void 0),Q([t.Watch({converter:t.PropertyConverters.Eval})],PacemCalendarBaseElement.prototype,"week",void 0),Q([t.Watch({converter:t.PropertyConverters.Eval})],PacemCalendarBaseElement.prototype,"month",void 0),Q([t.Watch({converter:t.PropertyConverters.Eval})],PacemCalendarBaseElement.prototype,"disabledRanges",void 0);class PacemCalendarWithEventsBaseElement extends PacemCalendarBaseElement{constructor(){super(...arguments),this._datasource=[]}get datasource(){return this._datasource}_getSortedItems(e){return e.slice().sort((e,t)=>{const s=e.start.valueOf(),i=t.start.valueOf();if(s!=i)return s<i?-1:1;const n=e.end.valueOf()-s,o=t.end.valueOf()-i;return n!=o?n>o?-1:1:0})}propertyChangedCallback(e,s,i,n){switch(super.propertyChangedCallback(e,s,i,n),e){case"month":case"week":case"items":case"zoom":case"viewDate":cancelAnimationFrame(this._handle),this._handle=requestAnimationFrame(()=>{let e=this._datasource,s=this._datasource=this.buildDataSource(this._getSortedItems(this.items||[]));this.dispatchEvent(new t.PropertyChangeEvent({propertyName:"datasource",oldValue:e,currentValue:s}))})}}}function se(e,s){let i=s.length-1,n=s[0].valueOf(),o=s[i].valueOf();return e.filter(e=>{let s=t.Utils.Dates.dateOnly(e.start),i=t.Utils.Dates.dateOnly(e.end);return s.valueOf()<=o&&i.valueOf()>=n}).map(e=>{let n=t.Utils.Dates.dateOnly(e.start),o=s.find(e=>e.valueOf()==n.valueOf()),r=s.indexOf(o),a=t.Utils.Dates.dateOnly(e.end),l=s.find(e=>e.valueOf()==a.valueOf()),c=s.indexOf(l),d=-1==r?0:r,h=-1==c?i:c;return{start:e.start,end:e.end,allDay:!0,day:d,continuing:{start:-1==r,end:-1==c},span:h+1-d,caption:e.caption,event:e}})}let ie=class PacemAgendaElement extends PacemCalendarWithEventsBaseElement{constructor(){super(...arguments),this._allDayDatasource=[]}buildDataSource(e){var s=this.week;this.zoom===Y.Day&&(s=[t.Utils.Dates.dateOnly(this.viewDate)]);let i=[];if(!t.Utils.isNull(s)){this.dispatchEvent(new t.PropertyChangeEvent({propertyName:"allDayDatasource",oldValue:this._allDayDatasource,currentValue:this._allDayDatasource=se(e.filter(e=>e.end.valueOf()-e.start.valueOf()>=X),s)}));for(let n=0;n<s.length;n++){let o=s[n].valueOf(),r=e.filter(e=>{let s=t.Utils.Dates.dateOnly(e.start),i=t.Utils.Dates.dateOnly(e.end);return s.valueOf()<=o&&i.valueOf()>=o}).map(e=>{let t=e.start.valueOf(),s=e.end.valueOf(),i={allDay:e.allDay||s-t>=X,continuing:{start:t<o,end:s>o+X},caption:e.caption,hour:0,span:Z.length-1,offset:{start:"0",end:"0"},event:e},n=e.start.getHours()+e.start.getMinutes()/60,r=i.continuing.start?0:Math.floor(2*n),a=e.end.getHours()+e.end.getMinutes()/60,l=-1+(i.continuing.end?Z.length:Math.ceil(2*a)),c=l+1,d=c>=Z.length?24:Z[c],h=d-Z[r];return i.hour=r,i.span=1+l-r,i.continuing.start||(i.offset.start=(n-Z[r])/h*100+"%"),i.continuing.end||(i.offset.end=(d-a)/h*100+"%"),i});i.push(r)}}return i}get allDayDatasource(){return this._allDayDatasource}propertyChangedCallback(e,s,i,n){super.propertyChangedCallback(e,s,i,n);const o=this._clock;if("time"===e)this.dispatchEvent(new TimeSelectEvent(i));else if(!t.Utils.isNull(o)&&("now"===e&&(o.now=i,o.className=`hour-${i.getHours()} minute-${i.getMinutes()}`),"now"===e||"zoom"===e||"viewDate"===e)){const e=this.now,t=this.zoom,s=e&&t&&(this.isViewDay(e)&&t===Y.Day||this.isViewWeek(e)&&t===Y.Week);o.hidden=!s}}};Q([t.ViewChild(t.P+"-clock")],ie.prototype,"_clock",void 0),Q([t.Watch({converter:t.PropertyConverters.Datetime})],ie.prototype,"time",void 0),ie=Q([t.CustomElement({tagName:t.P+"-agenda",shadow:t.Defaults.USE_SHADOW_ROOT,template:`<${t.P}-repeater class="${t.PCSS}-agenda agenda-grid" datasource="{{ :host.datasource }}">${function(){let e="";for(let s=0;s<7;s++)0==s&&(e+='<div class="agenda-left all-day"></div>'),e+=`<${t.P}-panel class="agenda-slot all-day day-${s+1}" css-class="{{ {'viewday': :host.isViewDay(:host.week[${s}], :host.viewDate), 'today': :host.isToday(:host.week[${s}], :host.now)} }}"></${t.P}-panel>`;for(let s=0;s<7;s++)for(let i of Z){let n=i%1==0,o="hour-"+(n?"whole":"half");0==s&&n&&(e+=`<${t.P}-text class="agenda-left ${o} hour-${2*i+1}"" text="{{ :host.getHourLabel(${J+i*G}) }}"></${t.P}-text>`),e+=`<${t.P}-panel on-click=":host.time = Pacem.Utils.Dates.parse(:host.week[${s}].valueOf() + ${i*G})" disabled="{{ :host.isTimeSlotDisabled(:host.disabledRanges, :host.week[${s}], ${i}) }}" class="agenda-slot ${o} day-${s+1} hour-${2*i+1}" css-class="{{ {'viewday': :host.isViewDay(:host.week[${s}], :host.viewDate), 'today': :host.isToday(:host.week[${s}], :host.now)} }}"></${t.P}-panel>`}return e}()}<${t.P}-clock hidden></${t.P}-clock>\n <template>\n <${t.P}-repeater class="agenda-day" datasource="{{ ^item }}">\n <template>\n <${t.P}-panel class="agenda-event-wrapper" \ncss-class="{{ ['hour-start-'+ (^item.hour + 1), 'hour-end-'+ (^item.hour + ^item.span +1), 'day-start-'+ (!^item.continuing.start), 'day-end-'+ (!^item.continuing.end)] }}">\n <${t.P}-panel class="agenda-event" css="{{ {'top': ^item.offset.start, 'bottom': ^item.offset.end} }}" tab-order="{{ (^^index + 1) * 1000 + (^item.hour + 1) * 100 + ^index }}"\n on-focus=":host.oneventselect($this, ^item.event)" on-blur=":host.oneventunselect($this, ^item.event)">\n <${t.P}-span class="event-caption" text="{{ ^item.caption }}"></${t.P}-span>\n </${t.P}-panel>\n </${t.P}-panel>\n </template>\n </${t.P}-repeater>\n </template>\n <${t.P}-repeater class="agenda-allday" datasource="{{ :host.allDayDatasource }}">\n <template>\n <${t.P}-panel class="agenda-event" tab-order="{{ (^index + 1) * 500 + (^item.day + 1) * 50 + ^index }}" css-class="{{ ['day-start-'+ (^item.day + 1), 'day-end-'+ (^item.day + ^item.span + 1)] }}"\n on-focus=":host.oneventselect($this, ^item.event)" on-blur=":host.oneventunselect($this, ^item.event)">\n <${t.P}-text class="event-caption" text="{{ ^item.caption }}"></${t.P}-text>\n </${t.P}-panel>\n </template>\n </${t.P}-repeater>\n</${t.P}-repeater><${t.P}-content></${t.P}-content>`})],ie);let ne=class PacemCalendarElement extends PacemCalendarWithEventsBaseElement{buildDataSource(e){const s=this.month;let i=[];if(!t.Utils.isNull(s))for(let t=0;t<s.length;t++){let n=se(e,s[t]);i.push(n)}return i}propertyChangedCallback(e,t,s,i){if(super.propertyChangedCallback(e,t,s,i),"dayLabelFormatter"===e)this._formatVersion=Date.now()}_setDate(e){e?.valueOf()!==this.date?.valueOf()&&(this.date=e,this.dispatchEvent(new DateSelectEvent(e)))}getDayLabel(e,t=this._formatVersion){const s=this.dayLabelFormatter;return"function"==typeof s?s(e):super.getDayLabel(e)}};Q([t.Watch({converter:t.PropertyConverters.Datetime})],ne.prototype,"date",void 0),Q([t.Watch({emit:!1})],ne.prototype,"dayLabelFormatter",void 0),Q([t.Watch()],ne.prototype,"_formatVersion",void 0),ne=Q([t.CustomElement({tagName:t.P+"-calendar",shadow:t.Defaults.USE_SHADOW_ROOT,template:`<${t.P}-repeater class="${t.PCSS}-calendar calendar-grid" datasource="{{ :host.datasource }}">${function(){let e="";for(let s=0;s<6;s++)for(let i=0;i<7;i++){let n=`class="calendar-day week-${s+1} day-${i+1}"`;e+=`<${t.P}-panel disabled="{{ :host.isTimeSlotDisabled(:host.disabledRanges, :host.month[${s}][${i}]) }}" on-click=":host._setDate(:host.month[${s}][${i}])" ${n} css-class="{{ {'viewmonth': :host.isViewMonth(:host.month[${s}][${i}]), 'viewday': :host.isViewDay(:host.month[${s}][${i}], :host.viewDate), 'today': :host.isToday(:host.month[${s}][${i}], :host.now), 'selected-date': :host.isDate(:host.month[${s}][${i}], :host.date)} }}"><${t.P}-span culture="{{ :host.culture }}" class="text-ellipsed" text="{{ :host.getDayLabel(:host.month[${s}][${i}], :host._formatVersion) }}"></${t.P}-span></${t.P}-panel>`}return e}()}\n <template>\n <${t.P}-repeater class="calendar-week" datasource="{{ ^item }}">\n <template>\n <${t.P}-panel class="calendar-event" tab-order="{{ (^^index + 1) * 1000 + (^item.day + 1) * 100 + ^index }}" \n on-focus=":host.oneventselect($this, ^item.event)" on-blur=":host.oneventunselect($this, ^item.event)"\n css-class="{{ ['day-start-'+ (^item.day + 1), 'day-end-'+ (^item.day + ^item.span + 1)] }}">\n <${t.P}-span class="event-startdate" culture="{{ :host.culture }}" hide="{{ ^item.continuing.start }}" text="{{ :host.getTimeLabel(^item.event.start) }}"></${t.P}-span>\n <${t.P}-span class="event-caption" text="{{ ^item.caption }}"></${t.P}-span>\n </${t.P}-panel>\n </template>\n </${t.P}-repeater>\n </template>\n</${t.P}-repeater><${t.P}-content></${t.P}-content>`})],ne);let oe=class PacemClockElement extends t.Components.PacemElement{};Q([t.Watch({converter:t.PropertyConverters.Datetime})],oe.prototype,"now",void 0),oe=Q([t.CustomElement({tagName:t.P+"-clock"})],oe);let re=class PacemScheduleElement extends PacemCalendarBaseElement{viewActivatedCallback(){super.viewActivatedCallback(),this._calendar.addEventListener("dateselect",this.emitHandler,!1),this._agenda.addEventListener("timeselect",this.emitHandler,!1),this.now=new Date}disconnectedCallback(){this._calendar&&(this._calendar.removeEventListener("dateselect",this.emitHandler,!1),this._agenda.removeEventListener("timeselect",this.emitHandler,!1)),super.disconnectedCallback()}};Q([t.ViewChild(t.P+"-calendar")],re.prototype,"_calendar",void 0),Q([t.ViewChild(t.P+"-agenda")],re.prototype,"_agenda",void 0),re=Q([t.CustomElement({tagName:t.P+"-schedule",shadow:t.Defaults.USE_SHADOW_ROOT,template:`<${t.P}-panel class="${t.PCSS}-schedule" css-class="{{ ['schedule-'+ (:host.zoom || '${Y.Month}')] }}">\n <${t.P}-timer interval="10000" on-tick=":host.now = Pacem.Utils.parseDate(Date.now())"></${t.P}-timer>\n ${function(){let e="";for(let s=0;s<7;s++)e+=`<${t.P}-span culture="{{ :host.culture }}" css-class="{{ {'viewday': :host.isViewDay(:host.week[${s}], :host.viewDate)} }}" class="schedule-heading day-${s+1} text-ellipsed" text="{{ :host.getHeaderLabel(:host.week[${s}], :host.zoom) }}"></${t.P}-span>`;return t.Utils.uniqueCode(),`<div class="schedule-header schedule-grid"><div class="heading-left"></div>${e}</div>`}()}\n <${t.P}-agenda disabled-ranges="{{ :host.disabledRanges }}" on-eventselect=":host.handle($event)" on-eventunselect=":host.handle($event)" now="{{ :host.now }}" culture="{{ :host.culture }}" view-date="{{ :host.viewDate }}" zoom="{{ :host.zoom }}" week-start="{{ :host.weekStart }}" items="{{ :host.items }}"></${t.P}-agenda>\n <${t.P}-calendar disabled-ranges="{{ :host.disabledRanges }}" on-eventselect=":host.handle($event)" on-eventunselect=":host.handle($event)" now="{{ :host.now }}" culture="{{ :host.culture }}" view-date="{{ :host.viewDate }}" zoom="{{ :host.zoom }}" week-start="{{ :host.weekStart }}" items="{{ :host.items }}"></${t.P}-calendar>\n <${t.P}-content></${t.P}-content>\n</${t.P}-panel>`})],re);class PacemCalendarRuleBaseElement extends HTMLElement{constructor(){super(...arguments),this._disabledRanges=[]}viewActivatedCallback(){if(t.Utils.isNull(this._target=t.CustomElementUtils.findAncestor(this,e=>e instanceof PacemCalendarBaseElement)))throw`Missing ancestor calendar element for ${this.constructor.name}.`;this.refreshDisabledRanges()}disconnectedCallback(){this._target=void 0}get target(){return this._target}refreshDisabledRanges(){if(t.Utils.isNullOrEmpty(this._target))return;let e=this._target.disabledRanges||[];for(let t of this._disabledRanges){let s=e.indexOf(t);s>=0&&e.splice(s,1)}this._disabledRanges=this.computeDisabledRanges()||[];for(let t of this._disabledRanges)e.push(t);this._target.disabledRanges=e}}Q([t.Debounce(!0)],PacemCalendarRuleBaseElement.prototype,"refreshDisabledRanges",null);let ae=class PacemCalendarDayOfWeekRuleElement extends PacemCalendarRuleBaseElement{constructor(){super(...arguments),this._daysOfWeek=[],this._calendarChangeHandler=e=>{"month"==e.detail.propertyName&&this.refreshDisabledRanges()}}viewActivatedCallback(){super.viewActivatedCallback(),this.target.addEventListener(t.PropertyChangeEventName,this._calendarChangeHandler,!1)}propertyChangedCallback(e,t,s,i){"days"===e&&(this._daysOfWeek=(s||[]).map(e=>ee.indexOf(e)).filter(e=>e>=0),this.refreshDisabledRanges())}computeDisabledRanges(){let e=[];for(let s of this.target.month)for(let i of s)if(-1==this._daysOfWeek.indexOf(i.getDay())){let s=t.Utils.Dates.dateOnly(i),n=t.Utils.Dates.dateOnly(new Date(s.valueOf()+X+G));e.push({from:s,to:n})}return e}};Q([t.Watch({emit:!1,converter:t.PropertyConverters.StringArray})],ae.prototype,"days",void 0),ae=Q([t.CustomElement({tagName:t.P+"-calendar-daysofweek-rule"})],ae);var le=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let ce=class PacemCollapseElement extends t.PacemEventTarget{constructor(){super(...arguments),this._resizeHandler=e=>{this.#s=e.detail,this._toggle()}}#s;propertyChangedCallback(e,s,i,n){if(super.propertyChangedCallback(e,s,i,n),!n)switch(e){case"collapse":this._toggle();case"disabled":t.Utils.isNull(this._resizer)||(this._resizer.disabled=this.disabled||this.collapse)}}viewActivatedCallback(){super.viewActivatedCallback();const e=this._resizer;this.#s=e.currentSize,this._toggle()}_toggle(){const e=this,s=this.collapse,i=this.#s;this.disabled||t.Utils.isNull(e)||(this.horizontal?(t.Utils.addClass(e,t.PCSS+"-horizontal"),e.style.height=i&&i.height+"px"||"",e.style.width=s?"0":i&&i.width+"px"||""):(t.Utils.removeClass(e,t.PCSS+"-horizontal"),e.style.height=s?"0":i&&i.height+"px"||""))}};le([t.Watch({converter:t.PropertyConverters.Boolean})],ce.prototype,"collapse",void 0),le([t.Watch({emit:!1,converter:t.PropertyConverters.Boolean})],ce.prototype,"horizontal",void 0),le([t.ViewChild(t.P+"-resize")],ce.prototype,"_resizer",void 0),le([t.ViewChild("[part=content]")],ce.prototype,"_container",void 0),ce=le([t.CustomElement({tagName:t.P+"-collapse",shadow:!0,template:`<${t.P}-resize on-${t.Components.ResizeEventName}=":host._resizeHandler($event)" target="{{ ::_container }}"></${t.P}-resize><div part="container"><div part="content"><slot></slot></div></div>`})],ce);var de=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let he=class PacemDialogElement extends PacemDialogBase{constructor(){super(...arguments),this.buttons=W.Ok,this.okCaption="OK",this.yesCaption="Yes",this.noCaption="No",this.cancelCaption="Cancel"}propertyChangedCallback(e,t,s,i){super.propertyChangedCallback(e,t,s,i)}open(e){const t=super.open(e);switch(this.buttons){case W.Ok:case W.OkCancel:this.dialogButtons.ok.focus();break;default:this.dialogButtons.yes.focus()}return t}viewActivatedCallback(){super.viewActivatedCallback()}get dialogButtons(){const e=this._buttons;return{ok:e&&e.firstElementChild.firstElementChild,yes:e&&e.firstElementChild.children.item(1),no:e&&e.firstElementChild.children.item(2),cancel:e&&e.firstElementChild.lastElementChild}}};de([t.Watch({converter:t.PropertyConverters.String})],he.prototype,"buttons",void 0),de([t.Watch({reflectBack:!0,converter:t.PropertyConverters.String})],he.prototype,"okCaption",void 0),de([t.Watch({reflectBack:!0,converter:t.PropertyConverters.String})],he.prototype,"yesCaption",void 0),de([t.Watch({reflectBack:!0,converter:t.PropertyConverters.String})],he.prototype,"noCaption",void 0),de([t.Watch({reflectBack:!0,converter:t.PropertyConverters.String})],he.prototype,"cancelCaption",void 0),de([t.ViewChild(`.${t.PCSS}-dialog-buttons`)],he.prototype,"_buttons",void 0),de([t.ViewChild(t.P+"-lightbox")],he.prototype,"lightbox",void 0),he=de([t.CustomElement({tagName:t.P+"-dialog",shadow:t.Defaults.USE_SHADOW_ROOT,template:`<${t.P}-lightbox modal="true" logger="{{ :host.logger }}">\n <${t.P}-content></${t.P}-content>\n <div class="${t.PCSS}-dialog-buttons ${t.PCSS}-buttonset buttons" part="dialog-buttons" slot="bottom">\n <div class="buttonset-left">\n <${t.P}-button class="button button-size size-small primary dialog-ok" css-class="{{ {'buttonset-last': :host.buttons === 'ok'} }}" on-click=":host.commit('ok', $event)" disabled="{{ :host.disabled || this.hide }}" hide="{{ :host.buttons !== 'ok' && :host.buttons !== 'okcancel' }}"><${t.P}-text text="{{ :host.okCaption }}"></${t.P}-text></${t.P}-button>\n <${t.P}-button class="button button-size size-small primary dialog-yes" css-class="{{ {'buttonset-first': :host.buttons !== 'ok' || :host.buttons !== 'okcancel'} }}" on-click=":host.commit('yes', $event)" disabled="{{ :host.disabled || this.hide }}" hide="{{ :host.buttons === 'ok' || :host.buttons === 'okcancel' }}"><${t.P}-text text="{{ :host.yesCaption }}"></${t.P}-text></${t.P}-button>\n <${t.P}-button class="button button-size size-small dialog-no" css-class="{{ {'buttonset-last': :host.buttons === 'yesno'} }}" on-click=":host.commit('no', $event)" disabled="{{ :host.disabled || this.hide }}" hide="{{ :host.buttons !== 'yesno' && :host.buttons !== 'yesnocancel' }}"><${t.P}-text text="{{ :host.noCaption }}"></${t.P}-text></${t.P}-button>\n <${t.P}-button class="button button-size size-small dialog-cancel" on-click=":host.commit('cancel', $event)" disabled="{{ :host.disabled || this.hide }}" hide="{{ :host.buttons !== 'yesnocancel' && :host.buttons !== 'okcancel' }}"><${t.P}-text text="{{ :host.cancelCaption }}"></${t.P}-text></${t.P}-button>\n </div>\n </div>\n</${t.P}-lightbox>`})],he);var pe=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let ue=class PacemDividerElement extends t.Components.PacemElement{constructor(){super("separator")}propertyChangedCallback(e,t,s,i){super.propertyChangedCallback(e,t,s,i),i||"orientation"!==e||this._syncOrientation(s)}viewActivatedCallback(){super.viewActivatedCallback(),this._syncOrientation()}_syncOrientation(e=this.orientation){if("vertical"!==e&&(e="horizontal"),super.aria.attributes.set("orientation",e),"vertical"===e)t.Utils.addClass(this,"divider-vertical");else t.Utils.removeClass(this,"divider-vertical")}};pe([t.Watch({converter:t.PropertyConverters.String,emit:!1})],ue.prototype,"orientation",void 0),ue=pe([t.CustomElement({tagName:t.P+"-divider",shadow:!0,template:'<div part="divider"><div part="prepend"></div><slot part="content"></slot><div part="append"></div></div>'})],ue);var me=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};const ve=/^\s*<svg\s/,ge=/^fa(b|r|s|l|d|t|-brands|-solid|-regular|-light|-thin|-duotone)?\s+fa-/,be="https://kit.fontawesome.com/4922589c3c.js",ye=!0,fe=/^lni\s+lni-/,Ce=/^ci[dlsbf]-/,_e=/^material-icons?\s+([\w]+)/,we=/^material(-symbols?)?\s+([\w]+)/,Pe="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200",Ee=/^(https?:\/\/|\/\/)?.+\.(webp|svg|gif|png|jpe?g)$/,ke=[];function xe(e,s,i,n,o){return ke.indexOf(e)>=0?Promise.resolve():(ke.push(e),t.Utils.Css.isClassDefined(e)?Promise.resolve():o?t.CustomElementUtils.importjs(s,i,n):t.CustomElementUtils.importcss(s,i,n))}let Se=class PacemIconElement extends t.Components.PacemElement{constructor(){super("",{hidden:"true"})}propertyChangedCallback(e,t,s,i){if(super.propertyChangedCallback(e,t,s,i),!i)switch(e){case"icon":this._setIcon();break;case"hide":s||this.aria.attributes.set("hidden","true")}}viewActivatedCallback(){super.viewActivatedCallback(),this._setIcon()}_setIcon(e=this.icon){(function(e){return new Promise((s,i)=>{if(t.Utils.isNullOrEmpty(e))i("No icon provided");else if(ve.test(e))s(e);else if(ge.test(e))xe("fa",be,void 0,ye,!0).then(t=>{s(`<i class="${e}"></i>`)},e=>i(e));else if(we.test(e))xe("material-symbols",Pe).then(t=>{const i=we.exec(e),n=i[2],o=e.substring(i[0].length);s(`<i class="material-symbols-outlined${o}">${n}</i>`)},e=>i(e));else if(_e.test(e))xe("material-icons",Pe).then(t=>{const i=_e.exec(e),n=i[1],o=e.substring(i[0].length);s(`<i class="material-icons${o}">${n}</i>`)},e=>i(e));else if(fe.test(e))xe("lni","https://cdn.lineicons.com/2.0/LineIcons.css").then(t=>{s(`<i class="${e}"></i>`)},e=>i(e));else if(Ce.test(e))xe("clb","https://unpkg.com/@coreui/icons/css/all.min.css").then(t=>{s(`<i class="${e}"></i>`)},e=>i(e));else if(Ee.test(e))s(`<img src="${e}" />`);else{const i=e.trim().split(" "),n=i[0],o=i.length>1?" "+i.slice(1).join(" "):"";s(`<i class="${t.PCSS}-icon${o}">${n}</i>`)}})})(e).then(e=>{this.innerHTML=e},e=>{this.innerHTML=""})}};me([t.Watch({emit:!1,converter:t.PropertyConverters.String})],Se.prototype,"icon",void 0),Se=me([t.CustomElement({tagName:t.P+"-icon"})],Se);var Ue=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let $e=class PacemImageElement extends t.Components.PacemElement{constructor(){super("img")}propertyChangedCallback(e,s,i,n){if(super.propertyChangedCallback(e,s,i,n),!n)switch(e){case"src":case"disabled":this._setSource();break;case"size":case"adapt":this._setLayout();break;case"loading":(i?t.Utils.removeClass:t.Utils.addClass)(this,"img-ready")}}viewActivatedCallback(){super.viewActivatedCallback(),this._setLayout(),this._setSource()}_setLayout(){const e=!t.Utils.isNullOrEmpty(this.size),s=this.adapt||"auto",i=this.size||this.#i||{width:"0",height:"0"};this.style.backgroundSize=s;const n="auto"===s,o=i.width,r=i.height;(n||e)&&(this.style.width=o||"",this.style.height=r||"")}#i;async _setSource(){if(this.disabled||!this.isReady)return;const e=this.src;if(this.style.backgroundImage="",!t.Utils.isNullOrEmpty(e)){this.loading=!0;try{const s=await t.Utils.loadImage(e);let i,n,o;window.performance&&(n=performance.getEntriesByName(s.src))&&(o=n[0])&&(i=o.decodedBodySize),this.#i={width:s.naturalWidth+"px",height:s.naturalHeight+"px",weight:i},this._setLayout(),this.style.backgroundImage=`url("${s.src}")`}catch(e){}finally{this.loading=!1}}}};Ue([t.Watch({emit:!1,converter:t.PropertyConverters.String})],$e.prototype,"adapt",void 0),Ue([t.Watch({emit:!1,converter:t.PropertyConverters.String})],$e.prototype,"src",void 0),Ue([t.Watch({emit:!1,converter:{convert:(e,t)=>{const s=/^\s*([\d.]+)(px|em|rem|vw|vh)?\s*(?:,\s*([\d.]+)(px|em|rem|vw|vh)?)?\s*$/i.exec(e),i=s?s[1]+(s[2]||"px"):"0";return{width:i,height:s?s[3]?s[3]+(s[4]||"px"):i:"0"}},convertBack:(e,t)=>`${e?.width},${e?.height}`},reflectBack:!0})],$e.prototype,"size",void 0),Ue([t.Watch({converter:t.PropertyConverters.Boolean})],$e.prototype,"loading",void 0),$e=Ue([t.CustomElement({tagName:t.P+"-img"})],$e);var De=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let Ae=class PacemInfiniteScrollerElement extends t.PacemEventTarget{constructor(){super(),this._scrollDelegate=()=>this._doScroll(),this._enabled=!0,this._viewportHeight=0,this._innerHeight=0,this._isDocument=!1,this._container=null,this._viewport=null,this._scroller=null,this._bottomGap=10,this._container=this,this._viewport=this,this._scroller=this}viewActivatedCallback(){super.viewActivatedCallback(),this.setInfiniteScrollContainer(this._container)}disconnectedCallback(){t.Utils.isNull(this._scroller)||this._scroller.removeEventListener("scroll",this._scrollDelegate,!1),super.disconnectedCallback()}propertyChangedCallback(e,t,s,i){switch(super.propertyChangedCallback(e,t,s,i),e){case"container":this.setInfiniteScrollContainer(s);break;case"disabled":(this._enabled=!s)&&this._doScroll();break;case"threshold":this._bottomGap=s||0}}setInfiniteScrollContainer(e="$document"){var t=e,s=this._isDocument="$document"===t||t===document.body||t===document.documentElement;this._container=s?document.body||document.documentElement:"string"==typeof e?document.querySelector(t):t,this._viewport=s?window:this._container,this._scroller&&this._scroller.removeEventListener("scroll",this._scrollDelegate,!1),this._scroller=s?window.document:this._container,this._scroller.addEventListener("scroll",this._scrollDelegate,!1),this._enabled&&this._doScroll()}_emitFetchMore(){var e=new CustomEvent("fetchmore");this.dispatchEvent(e)}_doScroll(){if(this._enabled)if(this._computeHeight())this._doScroll();else{var e=this._scroller instanceof Document?window.pageYOffset:this._scroller.scrollTop,t=this._viewportHeight,s=this._innerHeight;(s-(e+t)<this._bottomGap||s<=t)&&(this._emitFetchMore(),window.requestAnimationFrame(()=>{this._enabled&&this._doScroll()}))}}_computeHeight(){if(this._container){var e,s=this._container,i=Number.MAX_VALUE,n=0;if(this._isDocument){var o=s;e=Math.max(o.scrollHeight,o.offsetHeight,o.clientHeight)}else{for(var r=0;r<s.children.length;r++){var a=s.children.item(r),l=a.offsetTop,c=l+a.offsetHeight;l<i&&(i=l),c>n&&(n=c)}e=Math.round(n-i)}var d=this._viewport instanceof Window?t.Utils.windowSize.height:this._viewport.offsetHeight;return(e!=this._innerHeight||d!=this._viewportHeight)&&(this._innerHeight=e,this._viewportHeight=d,!0)}}};De([t.Watch({converter:t.PropertyConverters.String})],Ae.prototype,"container",void 0),De([t.Watch({reflectBack:!0,converter:t.PropertyConverters.Number})],Ae.prototype,"threshold",void 0),De([t.Debounce(100)],Ae.prototype,"_doScroll",null),Ae=De([t.CustomElement({tagName:t.P+"-infinite-scroller"})],Ae);var Oe=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};class PacemAdaptedIterativeElement extends t.Components.PacemElement{constructor(){super(...arguments),this.index=0}isCloseTo(e,s){return!t.Utils.isNull(this.datasource)&&0!=this.datasource.length&&this._isCloseToCore(e,s,this.datasource.length)}isPrevious(e,s){return!t.Utils.isNull(this.datasource)&&0!=this.datasource.length&&this._isPreviousCore(e,s,this.datasource.length)}isNext(e,s){return!t.Utils.isNull(this.datasource)&&0!=this.datasource.length&&this._isNextCore(e,s,this.datasource.length)}_isNextCore(e,t,s){return(t+1)%s===e}_isPreviousCore(e,t,s){return(t-1+s)%s===e}_isCloseToCore(e,t,s){return(t+s)%s==(e+s)%s||this._isNextCore(e,t,s)||this._isPreviousCore(e,t,s)}}Oe([t.Watch({converter:t.PropertyConverters.Number})],PacemAdaptedIterativeElement.prototype,"index",void 0),Oe([t.Watch()],PacemAdaptedIterativeElement.prototype,"datasource",void 0);var Re=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let Ne=class PacemLightboxElement extends t.Components.PacemElement{constructor(){super(...arguments),this._keyupHandler=e=>{27===e.keyCode&&this.show&&!this.modal&&(this.show=!1)},this._wrapperMousedownHandler=e=>{this.modal||this.behavior===L.ExplicitClose?t.stopPropagationHandler(e):this.show=!1},this._slotchangeHandler=e=>{this._resetLayout()},this._closeHandler=e=>{this._close(e)}}_resetLayout(){this._disposeButton();const e=this._ensureButton();t.Utils.isNull(e)||e.addEventListener("click",this._closeHandler,!1)}_toggleCloseVisibility(){const e=this._closeWrapper;t.Utils.isNull(e)||(e.hidden=this.modal)}viewActivatedCallback(){super.viewActivatedCallback(),this._toggleCloseVisibility();var e=this._wrapperElement,s=this._container;e.addEventListener("mousedown",this._wrapperMousedownHandler,!1),s.addEventListener("mousedown",t.stopPropagationHandler,!1),document.body.removeEventListener("scroll",t.avoidHandler,!0),window.addEventListener("keyup",this._keyupHandler,!1),this._resetLayout(),this._slot.addEventListener("slotchange",this._slotchangeHandler,!1),this.show&&this._toggle(!0)}_toggle(e){const s=this._wrapperElement,i=this._container;if(e){this.inert=!1,this.dispatchEvent(new Event("open",{bubbles:!0,cancelable:!1})),s.style.display="",s.hidden=!1,window.requestAnimationFrame(()=>{t.Utils.addPart(s,"lightbox-wrapper-shown"),t.Utils.addPart(i,"lightbox-shown")});var n=this.querySelector("."+t.PCSS+"-scrollable");n&&window.requestAnimationFrame(()=>n.scrollTop=0)}else this.inert=!0,this.dispatchEvent(new Event("close",{bubbles:!0,cancelable:!1})),t.Utils.removePart(s,"lightbox-wrapper-shown"),t.Utils.removePart(i,"lightbox-shown"),t.Utils.addAnimationEndCallback(s,e=>{e.hidden=!0,e.style.display="none"},500)}propertyChangedCallback(e,t,s,i){if(super.propertyChangedCallback(e,t,s,i),!i)switch(e){case"show":s?this._toggle(!0):t&&this._toggle(!1);break;case"modal":this._toggleCloseVisibility()}}disconnectedCallback(){this.show&&this._close();var e=this._wrapperElement,s=this._container;document.body.removeEventListener("scroll",t.avoidHandler,!0),t.Utils.isNull(e)||e.removeEventListener("mousedown",this._wrapperMousedownHandler,!1),t.Utils.isNull(s)||s.removeEventListener("mousedown",t.stopPropagationHandler,!1),window.removeEventListener("keyup",this._keyupHandler,!1),this._disposeButton(),this._disposeSlot(),super.disconnectedCallback()}_disposeButton(){this.#n?.removeEventListener("click",this._closeHandler),this.#n=null}_disposeSlot(){this._slot?.removeEventListener("slotchange",this._slotchangeHandler,!1)}_close(e){t.Utils.isNull(e)||t.avoidHandler(e),this.show=!1}#n;_ensureButton(){if(!t.Utils.isNull(this.#n))return this.#n;const e=this._slot;if(t.Utils.isNull(e))return null;const s=this._lookForAButton();if(!t.Utils.isNull(s))return this.#n=s;const i=new I;return i.setAttribute("slot","close"),i.className=`${t.PCSS}-margin margin-0 ${t.PCSS}-rise rise--2 button-circle circle-smaller`,i.iconGlyph="close",this.appendChild(i),this.#n=i}_lookForAButton(){const e=this._slot;if(t.Utils.isNull(e))return null;const s=e.assignedElements({flatten:!0});return t.Utils.isNullOrEmpty(s)?null:s[0]}};Re([t.Watch({converter:t.PropertyConverters.Boolean})],Ne.prototype,"show",void 0),Re([t.Watch({converter:t.PropertyConverters.Boolean})],Ne.prototype,"modal",void 0),Re([t.Watch({emit:!1,converter:t.PropertyConverters.String})],Ne.prototype,"behavior",void 0),Re([t.ViewChild("."+t.PCSS+"-lightbox-wrapper")],Ne.prototype,"_wrapperElement",void 0),Re([t.ViewChild("."+t.PCSS+"-lightbox")],Ne.prototype,"_container",void 0),Re([t.ViewChild("slot[name=close]")],Ne.prototype,"_slot",void 0),Re([t.ViewChild("div[part=close]")],Ne.prototype,"_closeWrapper",void 0),Ne=Re([t.CustomElement({tagName:t.P+"-lightbox",shadow:!0,template:`<div class="${t.PCSS}-lightbox-wrapper" part="lightbox-wrapper" hidden>\n <div class="${t.PCSS}-lightbox" part="lightbox">\n <div part="top"><slot name="top"></slot></div>\n <div class="${t.PCSS}-scrollable" part="scrollable">\n <slot></slot>\n </div>\n <div part="bottom"><slot name="bottom"></slot></div>\n <div part="close">\n <slot name="close"></slot>\n </div>\n </div>\n</div>`})],Ne);var Le,He=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};!function(e){e.Spinner="spin",e.Pacem="pacem",e.Custom="custom"}(Le||(Le={}));let Te=class PacemLoaderElement extends t.Components.PacemElement{viewActivatedCallback(){super.viewActivatedCallback();var e="_"+t.Utils.uniqueCode();this._svgSpinner.innerHTML=`<defs>\n <mask id="hole${e}">\n <rect width="100%" height="100%" fill="white" />\n <circle cx="36" cy="36" r="12"></circle>\n <path d="M18,0 L32,16 H40 L54,0 Z" fill="#000"></path>\n <g transform="rotate(120,36,36)">\n <path d="M18,0 L32,16 H40 L54,0 Z" fill="#000"></path>\n </g>\n </mask>\n </defs>\n\n <circle class="circle1" cx="36" cy="36" r="34" stroke-width="4" fill="none"></circle>\n <g class="gear">\n <circle cx="36" cy="36" r="25" mask="url(#hole${e})"></circle>\n </g>\n <circle class="circle2" cx="36" cy="36" r="8" stroke-width="2" fill="none"></circle>\n\n <g class="bounds">\n <path d="M8,0 H0 V8 M64,0 H71 V8 M71,63 V71 H64 M8,71 H0 V63" stroke-width="2"></path>\n </g>`}propertyChangedCallback(e,s,i,n){if(super.propertyChangedCallback(e,s,i,n),!t.Utils.isNull(this._container))switch(e){case"active":case"disabled":!0!==this.active||this.disabled?t.Utils.removeClass(this._container,"active"):t.Utils.addClass(this._container,"active");break;case"type":if(this._svgSpinner.setAttribute("hidden","hidden"),this._spinner.setAttribute("hidden","hidden"),i===Le.Pacem)this._svgSpinner.removeAttribute("hidden");else this._spinner.removeAttribute("hidden")}}};He([t.ViewChild("div."+t.PCSS+"-spinner")],Te.prototype,"_spinner",void 0),He([t.ViewChild("div."+t.PCSS+"-loader")],Te.prototype,"_container",void 0),He([t.ViewChild("svg")],Te.prototype,"_svgSpinner",void 0),He([t.Watch({converter:t.PropertyConverters.Boolean})],Te.prototype,"active",void 0),He([t.Watch({converter:t.PropertyConverters.String})],Te.prototype,"type",void 0),Te=He([t.CustomElement({tagName:t.P+"-loader",shadow:t.Defaults.USE_SHADOW_ROOT,template:`<div class="${t.PCSS}-loader" pacem>\n <div class="${t.PCSS}-spinner" pacem>\n <div></div>\n <div></div>\n </div>\n <svg class="${t.PCSS}-spinner" pacem hidden xmlns="http://www.w3.org/2000/svg" \n xmlns:xlink="http://www.w3.org/1999/xlink"\n viewBox="-18,-18,108,108" preserveAspectRatio="xMidYMid">\n </svg>\n </div>`})],Te);const ze=(e,t,s)=>{const i=t.exec(e);return i&&i.length?s(i):null},We=[{exec:e=>ze(e,/^((<|&lt;)!--(?:(?!(--(>|&gt;)))[\s\S])*(--(?:>|&gt;)|$))/,e=>{const t=e[0];return[{type:"code-comment",raw:t,text:t,index:e.index}]})},{exec:(e,t)=>ze(e,/^(<|&lt;)([\w-]+)(?:\s+[\w-]+(?:=(?:'[^']*'|"[^"]*"))*)*(\s*\/?(?:&gt;|>))/,s=>{const i=s[1],n=s[2],o=s[3],r=s[0].length-o.length,a=i.length+n.length,l=e.substring(a,r),c=t.tokenize(l,[{exec:e=>ze(e,/^(\s+[\w-]+)(=('[^']*'|"[^"]*"))?/,e=>{const t=e[1],s=[{type:"code-attribute",raw:t,text:t,index:e[0].indexOf(t)}];return e.length>2&&s.push({type:"code-string",raw:e[2],text:e[2],index:e.index+e[0].length-e[2].length}),s})}]),d=[{type:"code-tag",raw:i,text:i,index:0},{type:"code-tagname",raw:n,text:n,index:i.length}];return Array.prototype.push.apply(d,c),d.push({type:"code-tag",raw:o,text:o,index:r}),d})},{exec:e=>ze(e,/^((?:<|&lt;)\/)([\w-]+)(\s*(?:&gt;|>))/,e=>{const t=e[1],s=e[2],i=e[3];return[{type:"code-tag",raw:t,text:t,index:0},{type:"code-tagname",raw:s,text:s,index:t.length},{type:"code-tag",raw:i,text:i,index:e.index+e[0].length-i.length}]})},{exec:e=>ze(e,/^(<|&lt;)?((?!<|&lt;).)+/,e=>{const t=e[0];return[{type:"text",raw:t,text:t}]})}],Be=[{exec:(e,t)=>ze(e,/^\/\/.*/,e=>{const t=e[0];return[{type:"code-comment",raw:t,text:t}]})},{exec:(e,t)=>ze(e,/^\/\*(?:(?!(\*\/))[\s\S])*(?:\*\/|$)/,e=>{const t=e[0];return[{type:"code-comment",raw:t,text:t}]})},{exec:(e,t)=>ze(e,/^('(\\'|[^'])*[^\\]?'|@?\$?"(\\"|[^"])*[^\\]?")/,e=>{const t=e[0];return[{type:"code-string",raw:t,text:t}]})},{exec:(e,t)=>ze(e,/^\b(abstract|as|base|bool|break|byte|case|catch|char|checked|class|const|continue|decimal|default|delegate|do|double|else|enum|event|explicit|extern|false|finally|fixed|float|for|foreach|goto|if|implicit|in|int|interface|internal|is|lock|long|namespace|new|null|object|operator|out|out|override|params|private|protected|public|readonly|ref|return|sbyte|sealed|short|sizeof|stackalloc|static|string|struct|switch|this|throw|true|try|typeof|uint|ulong|unchecked|unsafe|ushort|using|static|virtual|void|volatile|while|add|alias|ascending|async|await|descending|dynamic|from|get|global|group|into|join|let|nameof|orderby|partial|remove|select|set|value|var|when|where|yield)\b/,e=>{const t=e[0];return[{type:"code-keyword",raw:t,text:t}]})},{exec:(e,t)=>ze(e,/^\b((0x[0-9a-fA-F]|[\d])*\.?[\d]+)\b/,e=>{const t=e[0];return[{type:"code-number",raw:t,text:t}]})},{exec:(e,t)=>ze(e,/^(@?\w+|:|\?\??|\?=?|\|\|?|&&?|&=?|;|,|=|\*=?|--|-=?|\+\+|\+=?|\/=?|\^|\(|\[|\)|\]|\{|\})/,e=>{const t=e[0];return[{type:"text",raw:t,text:t}]})},{exec:(e,t)=>ze(e,/^\s+/,e=>{const t=e[0];return[{type:"space",raw:t,text:t}]})}],Me=[Be[0],Be[1],{exec:(e,t)=>ze(e,/^('(\\'|[^'])*[^\\]?'|"(\\"|[^"])*[^\\]?"|`(\\`|[^`])*[^\\]?`)/,e=>{const t=e[0];return[{type:"code-string",raw:t,text:t}]})},{exec:(e,t)=>ze(e,/^\b(abstract|any|arguments|async|await|boolean|break|byte|case|catch|char|class|const|continue|debugger|declare|default|delete|do|double|else|enum|eval|export|extends|false|final|finally|float|for|function|get|goto|if|implements|import|in|instanceof|int|interface|let|long|native|new|null|number|package|private|protected|public|return|short|static|string|super|switch|synchronized|this|throw|throws|transient|true|try|type|typeof|var|void|volatile|while|with|yield)\b/,e=>{const t=e[0];return[{type:"code-keyword",raw:t,text:t}]})},Be[4],Be[5],Be[6]],Ve={rule:{exec:e=>{const t=/\{tweet\}\(([^\)]+)\)/.exec(e);return t&&t.length>1?[{type:"tweet",raw:t[0],text:t[1],index:t.index}]:null}},type:"inline"},je={rule:{exec:e=>{const t=/\{yt([\d]+x[\d]+)?\}\(([^\)]+)\)/.exec(e);if(t&&t.length>2){const e=(t[1]||"560x315").split("x"),s=e[0],i=e[1];return[{type:"youtube",raw:t[0],text:t[2],index:t.index,width:s,height:i}]}return null}},type:"inline"},Ie=e=>{switch(e.type){case"youtube":return`\x3c!-- youtube embed --\x3e\n<iframe width="${e.width}" height="${e.height}" src="https://www.youtube-nocookie.com/embed/${e.text}" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>`;case"tweet":return`\x3c!-- twitter embed --\x3e\n<${t.P}-tweetembed tweetid="${e.text}"></${t.P}-tweetembed>`;case"code-string":case"code-keyword":case"code-number":case"code-comment":case"code-tag":case"code-tagname":case"code-attribute":return`<span class="${e.type}">${e.text}</span>`}};class MarkdownService{constructor(){const e=[Ve,je];for(let t of["c-sharp","c","c#","csharp","c++","cpp"]){const s=Be.map(e=>({rule:e,lang:t,type:"code"}));Array.prototype.push.apply(e,s)}for(let t of["ts","js","typescript","javascript"]){const s=Me.map(e=>({rule:e,lang:t,type:"code"}));Array.prototype.push.apply(e,s)}for(let t of["xml","html"]){const s=We.map(e=>({rule:e,lang:t,type:"code"}));Array.prototype.push.apply(e,s)}this.#o=e}#o;#r=new e.Compile.Markdown.Parser;_escape(e){return(e??"").replace(/</g,"&lt;")}toHtml(e){return this.#r.toHtml(this._escape(e),this.#o,Ie)}tokenize(e){return this.#r.tokenize(this._escape(e),this.#o)}}var Fe=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let qe=class PacemMarkdownElement extends t.Components.PacemElement{constructor(e=new MarkdownService){super(),this._md=e}propertyChangedCallback(e,t,s,i){super.propertyChangedCallback(e,t,s,i),"value"===e&&(this.innerHTML=this.html())}tokens(e=this.value){return this._md.tokenize(e)}html(e=this.value){return this._md.toHtml(e)}};Fe([t.Watch({emit:!1,converter:t.PropertyConverters.String})],qe.prototype,"value",void 0),qe=Fe([t.CustomElement({tagName:t.P+"-markdown"})],qe);var Ye=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let Qe=class PacemMarqueeElement extends t.Components.PacemElement{constructor(){super(...arguments),this._state={overlap:0,content:0}}connectedCallback(){super.connectedCallback();const e=this._css=document.createElement("style");document.head.appendChild(e)}propertyChangedCallback(e,t,s,i){super.propertyChangedCallback(e,t,s,i),"speed"===e&&this._adjust()}viewActivatedCallback(){super.viewActivatedCallback(),this._adjust()}disconnectedCallback(){t.Utils.isNull(this._css)||this._css.remove(),super.disconnectedCallback()}_overlapResize(e){this._state.overlap=e.detail.width,this._adjust()}_contentResize(e){this._state.content=e.detail.width,this._adjust()}_adjust(){const e=this._state;if(e.content>0&&e.overlap>0){const s=this._marquee,i="marquee-"+t.Utils.uniqueCode(),n=Math.round(e.overlap),o=-Math.round(e.content);this._css.innerHTML=`@keyframes ${i} {\n 0% {\n transform: translateX(${n}px);\n }\n\n 100% {\n transform: translateX(${o}px);\n }\n}`;const r=this.speed||20,a=Math.max(r,Math.round(r*Math.abs(n-o)/1920));s.style.animationName=i,s.style.animationDuration=a+"s",s.style.animationIterationCount="infinite",s.style.animationTimingFunction="linear"}}};Ye([t.ViewChild(`.${t.PCSS}-marquee`)],Qe.prototype,"_marquee",void 0),Ye([t.ViewChild(`.${t.PCSS}-marquee-overlap`)],Qe.prototype,"_overlap",void 0),Ye([t.ViewChild(t.P+"-resize")],Qe.prototype,"_resizer",void 0),Ye([t.Watch({converter:t.PropertyConverters.Number})],Qe.prototype,"speed",void 0),Qe=Ye([t.CustomElement({tagName:t.P+"-marquee",shadow:t.Defaults.USE_SHADOW_ROOT,template:`<div class="${t.PCSS}-marquee"><${t.P}-content></${t.P}-content></div><div class="${t.PCSS}-marquee-overlap"></div>\n<${t.P}-resize target="{{ :host._overlap }}" on-${t.Components.ResizeEventName}=":host._overlapResize($event)"></${t.P}-resize>\n<${t.P}-resize target="{{ :host._marquee }}" on-${t.Components.ResizeEventName}=":host._contentResize($event)"></${t.P}-resize>`})],Qe);var Ge=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let Xe=class PacemMediaQueryElement extends t.PacemEventTarget{constructor(){super(...arguments),this._changeHandler=e=>{this.isMatch=e.matches}}#a;viewActivatedCallback(){super.viewActivatedCallback(),this._init()}propertyChangedCallback(e,t,s,i){switch(super.propertyChangedCallback(e,t,s,i),e){case"query":i||this._init();break;case"isMatch":this._broadcastChange(s)}}disconnectedCallback(){this._init(""),super.disconnectedCallback()}_broadcastChange(e=this.isMatch){this.dispatchEvent(new Event("change")),this.dispatchEvent(new Event(e?"match":"unmatch"))}_init(e=this.query){const s=this.#a;if(t.Utils.isNull(s)||s.removeEventListener("change",this._changeHandler),!t.Utils.isNullOrEmpty(e)){const t=this.#a=window.matchMedia(e);t.addEventListener("change",this._changeHandler),this.isMatch=t.matches}}};Ge([t.Watch({emit:!1,converter:t.PropertyConverters.String})],Xe.prototype,"query",void 0),Ge([t.Watch({reflectBack:!0,converter:t.PropertyConverters.Boolean})],Xe.prototype,"isMatch",void 0),Xe=Ge([t.CustomElement({tagName:t.P+"-media-query"})],Xe);var Ze,Ke=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let Je=class PacemMenuElement extends t.Components.PacemElement{constructor(){super(...arguments),this.synchronizeShell=!0,this._stopPropagationHandlerConditional=e=>{if(!t.Utils.isNull(this._container)&&!t.Utils.isNull(this._base)){const e=t.Utils.offset(this._container),s=t.Utils.offset(this._base);e.width<s.width&&(this.open=!1)}}}viewActivatedCallback(){super.viewActivatedCallback(),this._container.addEventListener("click",t.stopPropagationHandler,!1),this._container.addEventListener("scroll",t.stopPropagationHandler,!1),this._sync()}disconnectedCallback(){window.removeEventListener("navigate",this._stopPropagationHandlerConditional,!1),t.Utils.isNull(this._container)||(this._container.removeEventListener("click",t.stopPropagationHandler,!1),this._container.removeEventListener("scroll",t.stopPropagationHandler,!1)),this._sync(!1),super.disconnectedCallback()}connectedCallback(){super.connectedCallback(),window.addEventListener("navigate",this._stopPropagationHandlerConditional,!1),this._shell=t.CustomElementUtils.findAncestorShell(this)}_toggle(e){t.avoidHandler(e),this.open=!this.open,this.dispatchEvent(new Event("toggle"))}_sync(e=this.open){this.synchronizeShell?(t.Utils.addClass(this,"menu-sync"),t.Utils.addClass(this._shell,t.PCSS+(!0===e?"-menu-open":"-menu-close")),t.Utils.removeClass(this._shell,t.PCSS+(!0===e?"-menu-close":"-menu-open"))):(t.Utils.removeClass(this,"menu-sync"),t.Utils.removeClass(this._shell,t.PCSS+"-menu-close "+t.PCSS+"-menu-open")),this.outset?t.Utils.addClass(this,"menu-outset"):t.Utils.removeClass(this,"menu-outset")}propertyChangedCallback(e,t,s,i){super.propertyChangedCallback(e,t,s,i),"open"!==e&&"synchronizeShell"!==e&&"outset"!==e||this._sync()}};Ke([t.Watch({converter:t.PropertyConverters.Boolean})],Je.prototype,"open",void 0),Ke([t.Watch({converter:t.PropertyConverters.Boolean})],Je.prototype,"hideHamburgerButton",void 0),Ke([t.Watch({converter:t.PropertyConverters.Boolean})],Je.prototype,"hideBackButton",void 0),Ke([t.Watch({emit:!1,converter:t.PropertyConverters.Boolean})],Je.prototype,"outset",void 0),Ke([t.Watch({emit:!1,converter:t.PropertyConverters.Boolean})],Je.prototype,"synchronizeShell",void 0),Ke([t.ViewChild("nav")],Je.prototype,"_container",void 0),Ke([t.ViewChild(`.${t.PCSS}-menu`)],Je.prototype,"_base",void 0),Je=Ke([t.CustomElement({tagName:t.P+"-menu",template:`<${t.P}-panel class="${t.PCSS}-menu" css-class="{{ {'menu-close': !:host.open, 'menu-open': :host.open} }}" on-click=":host._toggle($event)"> \n <nav><${t.P}-content></${t.P}-content></nav>\n</${t.P}-panel>\n<${t.P}-shell-proxy>\n<${t.P}-button hide="{{ :host.hideBackButton }}" class="${t.PCSS}-back ${t.PCSS}-menu button-flat" css-class="{{ {'menu-close': !:host.open, 'menu-open': :host.open} }}" on-click=":host._toggle($event)">BACK</${t.P}-button>\n<${t.P}-button hide="{{ :host.hideHamburgerButton }}" class="${t.PCSS}-hamburger ${t.PCSS}-menu button-flat" css-class="{{ {'menu-close': :host.open, 'menu-open': !:host.open} }}" on-click=":host._toggle($event)">MENU</${t.P}-button></${t.P}-shell-proxy>`,shadow:t.Defaults.USE_SHADOW_ROOT})],Je);let et=Ze=class PacemMenuCursorElement extends t.Components.PacemElement{constructor(){super(...arguments),this._onPathChange=e=>{const t=e?.detail.path;this._findAnchorAndScrollItIntoView(t)}}viewActivatedCallback(){super.viewActivatedCallback(),this._menu=t.CustomElementUtils.findAncestorOfType(this,Je),this._findAnchorAndScrollItIntoView()}connectedCallback(){super.connectedCallback(),window.addEventListener("navigate",this._onPathChange,!1)}disconnectedCallback(){this._menu=null,window.removeEventListener("navigate",this._onPathChange,!1),super.disconnectedCallback()}propertyChangedCallback(e,t,s,i){if(super.propertyChangedCallback(e,t,s,i),!i&&"disabled"===e)this._findAnchorAndScrollItIntoView()}_findAnchorAndScrollItIntoView(e=window.location.pathname){if(this.disabled)return;const s=this._menu;if(t.Utils.isNull(s))return void this.log(t.Logging.LogLevel.Warn,`Couldn't find a ${Je} ancestor for this ${Ze}.`);const i=s.querySelectorAll(t.P+"-a");let n=null;for(let s=0;s<i.length;s++){const o=i.item(s),r=o.router;if((t.Utils.isNull(r)?o.href:t.Utils.URIs.format(o.href,r.state))===e){n=o;break}}t.Utils.isNull(n)&&(n=s.querySelector(`a[href='${e}']`)),t.Utils.isNull(n)||n.scrollIntoView({behavior:"smooth"})}};et=Ze=Ke([t.CustomElement({tagName:t.P+"-menu-cursor"})],et);var tt=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let st=class PacemPagerElement extends t.Components.PacemElement{propertyChangedCallback(e,t,s,i){switch(super.propertyChangedCallback(e,t,s,i),e){case"index":case"total":case"pages":case"size":case"mode":this._databind()}}_databind(){const e=this._repeater;if(t.Utils.isNull(e))return;var s=[];const i=this.size??10,n=this.pages??5,o=this.total??0,r=this.index??0,a=this.mode??"standard";if(o>0){let e=Math.ceil(o/i),l=Math.floor(r/i),c=Math.max(0,Math.ceil(l-n/2)),d=Math.min(e-1,c+n-1);for(;c>0&&1+d-c<n;)c--;"numeric-only"===a?c>0&&s.push({caption:1..toLocaleString(t.Utils.lang(this)),index:0,disabled:!(l>0)}):(s.push({caption:"&laquo;",index:0,first:!0,disabled:!(l>0)}),s.push({caption:"&lt;",index:i*(l-1),previous:!0,disabled:!(l>0)})),(c>0&&"numeric-only"!==a||c>1&&"numeric-only"===a)&&s.push({caption:"&hellip;",index:i*(c-1)});for(let e=c;e<=d;e++)s.push({caption:(e+1).toLocaleString(t.Utils.lang(this)),index:e*i});(d<e-1&&"numeric-only"!==a||d<e-2&&"numeric-only"===a)&&s.push({caption:"&hellip;",index:i*(d+1)}),"numeric-only"===a?d<e-1&&s.push({caption:e.toLocaleString(t.Utils.lang(this)),index:i*(e-1),disabled:!(l<e-1)}):(s.push({caption:"&gt;",index:i*(l+1),next:!0,disabled:!(l<e-1)}),s.push({caption:"&raquo;",index:i*(e-1),last:!0,disabled:!(l<e-1)})),this.index=l*i}e.datasource=s}};tt([t.ViewChild(t.P+"-repeater")],st.prototype,"_repeater",void 0),tt([t.Watch({converter:t.PropertyConverters.Number})],st.prototype,"index",void 0),tt([t.Watch({converter:t.PropertyConverters.Number,emit:!1})],st.prototype,"total",void 0),tt([t.Watch({converter:t.PropertyConverters.Number,emit:!1})],st.prototype,"pages",void 0),tt([t.Watch({converter:t.PropertyConverters.Number,emit:!1})],st.prototype,"size",void 0),tt([t.Watch({converter:t.PropertyConverters.String,emit:!1})],st.prototype,"mode",void 0),tt([t.Debounce(!0)],st.prototype,"_databind",null),st=tt([t.CustomElement({tagName:t.P+"-pager",shadow:t.Defaults.USE_SHADOW_ROOT,template:`<${t.P}-repeater class="${t.PCSS}-pager"><div class="${t.PCSS}-buttonset">\n<div class="pager-buttons">\n <template>\n <${t.P}-button class="${t.PCSS}-page button" on-click=":host.index = ^item.index" disabled="{{ ^item.disabled }}"\n css-class="{{ { 'currentpage': ^item.index === :host.index, 'firstpage buttonset-first': ^item.first, 'previouspage': ^item.previous, 'nextpage': ^item.next, 'lastpage buttonset-last': ^item.last } }}"><${t.P}-span content="{{ ^item.caption }}"></${t.P}-span></${t.P}-button>\n </template>\n</div>\n</div></${t.P}-repeater>`})],st);var it=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let nt=class PacemPictureSourceElement extends t.Components.PacemItemElement{propertyChangedCallback(e,t,s,i){super.propertyChangedCallback(e,t,s,i);const n=this.container;n instanceof ot&&["srcset","media","type","disabled"].indexOf(e)>=0&&n.refreshSources()}};it([t.Watch({emit:!1,converter:t.PropertyConverters.String})],nt.prototype,"srcset",void 0),it([t.Watch({emit:!1,converter:t.PropertyConverters.String})],nt.prototype,"media",void 0),it([t.Watch({emit:!1,converter:t.PropertyConverters.String})],nt.prototype,"type",void 0),nt=it([t.CustomElement({tagName:t.P+"-picture-source"})],nt);let ot=class PacemPictureElement extends t.Components.PacemItemsContainerElement{constructor(){super("img",{label:"picture"}),this._updateCurrentSrcHandler=e=>{this.currentSrc=this._img.currentSrc}}validate(e){return e instanceof nt}propertyChangedCallback(e,t,s,i){switch(super.propertyChangedCallback(e,t,s,i),e){case"src":this._setSource();break;case"items":this._setSources();break;case"tooltip":this._setAltText()}}viewActivatedCallback(){super.viewActivatedCallback(),this._img.addEventListener("load",this._updateCurrentSrcHandler,!1),this._setSource(),this._setAltText(),this._setSources()}disconnectedCallback(){const e=this._img;t.Utils.isNull(e)||e.removeEventListener("load",this._updateCurrentSrcHandler,!1),super.disconnectedCallback()}refreshSources(){this._setSources()}_setSources(e=this.items){const s=this._picture,i=this._img;if(!t.Utils.isNull(s)&&!t.Utils.isNull(i)){const n=s.querySelectorAll("source"),o=e?.length??0;for(let e=0;e<o;e++){const o=this.items[e];let r;n.length<=e?(r=document.createElement("source"),r.setAttribute("part","source"),s.insertBefore(r,i)):r=n.item(e),o.disabled||t.Utils.isNullOrEmpty(o.srcset)?r.removeAttribute("srcset"):r.srcset=o.srcset,t.Utils.isNullOrEmpty(o.media)?r.removeAttribute("media"):r.media=o.media,t.Utils.isNullOrEmpty(o.type)?r.removeAttribute("type"):r.type=o.type}for(let e=n.length-1;e>=o;e--){n.item(e).remove()}}}_setSource(e=this.src){const s=this._img;t.Utils.isNull(s)||(t.Utils.isNullOrEmpty(e)?s.removeAttribute("src"):s.src=e)}_setAltText(e=this.tooltip){const s=this._img;t.Utils.isNull(s)||(t.Utils.isNullOrEmpty(e)?s.alt=this.aria.attributes.toObject().label:s.alt=e)}};it([t.ViewChild("picture")],ot.prototype,"_picture",void 0),it([t.ViewChild("img")],ot.prototype,"_img",void 0),it([t.Watch({emit:!1,converter:t.PropertyConverters.String})],ot.prototype,"src",void 0),it([t.Watch({converter:t.PropertyConverters.String})],ot.prototype,"currentSrc",void 0),ot=it([t.CustomElement({tagName:t.P+"-picture",shadow:!0,template:'<picture part="picture"><img loading="lazy" part="img" /></picture><slot></slot>'})],ot);var rt=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let at=class PacemProgressbarElement extends t.Components.PacemElement{constructor(){super("progressbar",{valuemin:"0%",valuemax:"100%",valuenow:"0%"})}propertyChangedCallback(e,s,i,n){switch(super.propertyChangedCallback(e,s,i,n),e){case"percentage":this._bar.style.transform=`translateX(${-100+(i||0)}%)`,this._glow.style.transform=`scaleX(${.01*(i||0)})`;let e=t.Utils.leftPad(Math.floor(i),2,"0")+"%";this.aria.attributes.set("valuenow",e),t.Utils.isNullOrEmpty(this.caption)&&this.aria.attributes.set("valuetext",this._caption.textContent=e);break;case"caption":this.aria.attributes.set("valuetext",this._caption.textContent=i)}}};rt([t.ViewChild(".progressbar-bar")],at.prototype,"_bar",void 0),rt([t.ViewChild(".progressbar-glow")],at.prototype,"_glow",void 0),rt([t.ViewChild(".progressbar-caption")],at.prototype,"_caption",void 0),rt([t.Watch({emit:!1,converter:t.PropertyConverters.String})],at.prototype,"caption",void 0),rt([t.Watch({converter:t.PropertyConverters.Number})],at.prototype,"percentage",void 0),at=rt([t.CustomElement({tagName:t.P+"-progressbar",shadow:t.Defaults.USE_SHADOW_ROOT,template:'<div class="progressbar-glow"></div>\n <div class="progressbar-track"><div class="progressbar-bar"></div></div>\n <label class="progressbar-caption"></label>'})],at);var lt=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let ct=class PacemSidebarElement extends t.Components.PacemElement{constructor(){super(...arguments),this.open=!1,this.synchronizeShell=!0}propertyChangedCallback(e,t,s,i){switch(super.propertyChangedCallback(e,t,s,i),e){case"open":case"synchronizeShell":this._sync()}}disconnectedCallback(){this._sync(!1),super.disconnectedCallback()}_sync(e=this.open){const s=this.#l;this.synchronizeShell?(t.Utils.addClass(this,"sidebar-sync"),t.Utils.addClass(s,t.PCSS+(!0===e?"-sidebar-open":"-sidebar-close")),t.Utils.removeClass(s,t.PCSS+(!0===e?"-sidebar-close":"-sidebar-open"))):(t.Utils.removeClass(this,"sidebar-sync"),t.Utils.removeClass(s,t.PCSS+"-sidebar-close "+t.PCSS+"-sidebar-open"))}#l;connectedCallback(){super.connectedCallback(),this.#l=t.CustomElementUtils.findAncestorShell(this)}};lt([t.Watch({converter:t.PropertyConverters.Boolean})],ct.prototype,"open",void 0),lt([t.Watch({emit:!1,converter:t.PropertyConverters.Boolean})],ct.prototype,"synchronizeShell",void 0),ct=lt([t.CustomElement({tagName:t.P+"-sidebar",template:`<${t.P}-panel class="sidebar-drawer" part="drawer" css-part="{{ { 'open': :host.open } }}" css-class="{{ {'open': :host.open } }}">\n <slot></slot>\n</${t.P}-panel>`,shadow:!0})],ct);var dt=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let ht=class PacemSlideElement extends t.Components.PacemIterableElement{};ht=dt([t.CustomElement({tagName:t.P+"-slide"})],ht);let pt=class PacemSlideshowElement extends t.Components.PacemIterativeElement{validate(e){return e instanceof ht}};pt=dt([t.CustomElement({tagName:t.P+"-slideshow"})],pt);var ut=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let mt=class PacemTweetEmbedElement extends t.Components.PacemElement{constructor(){super(...arguments),this._scriptsLoaded=!1}propertyChangedCallback(e,t,s,i){super.propertyChangedCallback(e,t,s,i),"tweetid"===e&&this._scriptsLoaded&&this._render()}viewActivatedCallback(){super.viewActivatedCallback(),t.CustomElementUtils.importjs("https://platform.twitter.com/widgets.js").then(()=>{this._scriptsLoaded=!0,this._render()})}_render(){this.tweetid&&this._scriptsLoaded&&twttr.ready(e=>e.widgets.createTweet(this.tweetid,this))}};ut([t.Watch({emit:!1,converter:t.PropertyConverters.String})],mt.prototype,"tweetid",void 0),mt=ut([t.CustomElement({tagName:t.P+"-tweetembed"})],mt);var vt,gt=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};!function(e){e.Persistent="persistent",e.QuickReturn="quickreturn"}(vt||(vt={}));let bt=class PacemStickyHeaderElement extends t.PacemEventTarget{constructor(){super(...arguments),this.#c={left:0,top:0},this._scrollHandler=e=>{this.offset=e.detail}}#d;#c;#h;#l;_ensureScrollAwareElement(){if(t.Utils.isNull(this.#d)){const e=this.#d=new t.Components.PacemScrollAwareElement;this.log(t.Logging.LogLevel.Debug,"creating scroll aware "+this.#h);(this.#l=t.CustomElementUtils.findAncestorShell(this)).appendChild(e),e.dataset.target=this.#h,e.addEventListener(t.Components.ScrollEventName,this._scrollHandler,!1)}this.#d.disabled=this.disabled}_manageOffsetChange(e=this.offset){if(this.disabled)return;const s=this.visibility||vt.Persistent,i=this.#c.top,n=e.top,o=this.threshold||0,r=this.#l;i<=o&&n>o?(t.Utils.removeClass(r,"sticky-header-top"),t.Utils.addClass(r,"sticky-header-scroll"),s===vt.QuickReturn&&(t.Utils.addClass(r,"sticky-header-fade"),this.visible=!1)):i>o&&n<=o?(t.Utils.removeClass(r,"sticky-header-fade"),t.Utils.removeClass(r,"sticky-header-scroll"),t.Utils.addClass(r,"sticky-header-top")):i>o&&n>o&&i>n?(this.visible=!0,t.Utils.removeClass(r,"sticky-header-fade")):i>o&&n>o&&i<n&&s==vt.QuickReturn&&t.Utils.addClass(r,"sticky-header-fade"),this.#c=e}propertyChangedCallback(e,t,s,i){switch(super.propertyChangedCallback(e,t,s,i),e){case"offset":this._manageOffsetChange(s);break;case"disabled":this._ensureScrollAwareElement()}}connectedCallback(){super.connectedCallback(),this.#h=this.id||"sticky-"+t.Utils.uniqueCode(),this._ensureScrollAwareElement()}disconnectedCallback(){const e=this.#d,s=this.#l;t.Utils.isNull(e)||(this.log(t.Logging.LogLevel.Debug,"disposing scroll aware "+this.#h),e.removeEventListener(t.Components.ScrollEventName,this._scrollHandler,!1),e.remove(),this.#d=void 0,t.Utils.removeClass(s,"sticky-header-fade"),t.Utils.removeClass(s,"sticky-header-top"),t.Utils.removeClass(s,"sticky-header-scroll")),super.disconnectedCallback()}};gt([t.Watch({converter:t.PropertyConverters.Number,emit:!1})],bt.prototype,"threshold",void 0),gt([t.Watch({converter:t.PropertyConverters.Point})],bt.prototype,"offset",void 0),gt([t.Watch({converter:t.PropertyConverters.Boolean})],bt.prototype,"visible",void 0),gt([t.Watch({converter:t.PropertyConverters.String,emit:!1})],bt.prototype,"visibility",void 0),bt=gt([t.CustomElement({tagName:t.P+"-sticky-header"})],bt);var yt=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};const ft="tab-focus",Ct={convert:(e,s)=>e.startsWith("#")?t.PropertyConverters.Element.convert(e,s):t.PropertyConverters.String.convert(e,s),convertBack:(e,s)=>e instanceof Node?t.PropertyConverters.Element.convertBack(e,s):t.PropertyConverters.String.convertBack(e,s),retryConversionWhenReady:!0};let _t=class PacemTabElement extends t.Components.PacemIterableElement{constructor(){super("tab"),this._slotChangeHandler=e=>{const s=this.#p,i=this.#p=this.content;this.dispatchEvent(new t.PropertyChangeEvent({propertyName:"content",currentValue:i,oldValue:s}))}}viewActivatedCallback(){super.viewActivatedCallback(),this._slotLabel.addEventListener("slotchange",this._slotChangeHandler,!1)}disconnectedCallback(){const e=this._slotLabel;t.Utils.isNull(e)||e.removeEventListener("slotchange",this._slotChangeHandler,!1),super.disconnectedCallback()}#p;get content(){return this.querySelectorAll("*[slot=label]")}};yt([t.ViewChild("slot[name=label]")],_t.prototype,"_slotLabel",void 0),yt([t.Watch({converter:Ct})],_t.prototype,"label",void 0),yt([t.Watch({converter:t.PropertyConverters.String})],_t.prototype,"key",void 0),_t=yt([t.CustomElement({tagName:t.P+"-tab",shadow:!0,template:'<slot name="label" part="label"></slot><slot></slot>'})],_t);let wt=class PacemTabsElement extends t.Components.PacemIterativeElement{constructor(e=new t.Animations.TweenService){super("tablist"),this._tweener=e}_labelCallback(e,t){const s=e.content;if(s.length>0){let e="";return s.forEach(t=>{e+=t.outerHTML}),e}return e.label instanceof Node?e.label:`<span class="${e.key||"tab"}">${e.label}</span>`}_syncOrientation(e=this.orientation){if(t.Utils.isNull(this._defaultTabAdapter)||(this._defaultTabAdapter.orientation=e),!t.Utils.isNull(this._tabs)){(e===a.Vertical?t.Utils.addClass:t.Utils.removeClass)(this._tabs,"tabs-vertical")}}_syncVisibility(e=this.index,s=-1){const i=this._container,n=i.clientHeight,o=getComputedStyle(i),r="border-box"===o.boxSizing?0:parseInt(o.paddingTop)+parseInt(o.paddingBottom);i.style.height=n-r+"px";let a=0;for(let n of this.items||[])a===e?(t.Utils.addClass(n,"tab-in"),requestAnimationFrame(()=>{t.Utils.addClass(n,ft),t.Utils.removeClass(n,"tab-in"),t.Utils.addAnimationEndCallback(n,e=>{t.Utils.removeClass(e,"tab-previous tab-next");const s=t.Utils.offset(e).height;this._tweener.run(parseInt(i.style.height),s,100,0,t.Animations.Easings.sineOut,(e,t)=>{i.style.height=Math.round(t)+"px"}).then(e=>{i.style.height=""})},500)}),n.aria.attributes.set("selected","true")):(t.Utils.removeClass(n,"tab-previous tab-next"),t.Utils.addClass(n,a<e?"tab-previous":"tab-next"),a===s&&(t.Utils.addClass(n,"tab-out"),t.Utils.removeClass(n,ft),t.Utils.addAnimationEndCallback(n,e=>{t.Utils.removeClass(e,"tab-out")},500),n.aria.attributes.set("selected","false"))),a++}viewActivatedCallback(){super.viewActivatedCallback(),t.Utils.isNull(this.adapter)&&(this._syncOrientation(),this._syncVisibility(),this.adapter=this._defaultTabAdapter)}propertyChangedCallback(e,s,i,n){switch(super.propertyChangedCallback(e,s,i,n),e){case"adapter":t.Utils.isNull(i)&&(this.adapter=this._defaultTabAdapter),this._isUsingDefaultTabAdapter=this.adapter===this._defaultTabAdapter;break;case"index":this._syncVisibility(i,s);break;case"orientation":this._syncOrientation(i)}}validate(e){return e instanceof _t}};yt([t.ViewChild(t.P+"-adapter")],wt.prototype,"_defaultTabAdapter",void 0),yt([t.ViewChild("."+t.PCSS+"-tabs")],wt.prototype,"_tabs",void 0),yt([t.ViewChild("."+t.PCSS+"-tabs-content")],wt.prototype,"_container",void 0),yt([t.Watch()],wt.prototype,"_isUsingDefaultTabAdapter",void 0),yt([t.Watch({converter:t.PropertyConverters.String})],wt.prototype,"orientation",void 0),wt=yt([t.CustomElement({tagName:t.P+"-tabs",shadow:!1,template:`<div class="${t.PCSS}-tabs">\n <${t.P}-adapter class="${t.PCSS}-tabs-adapter" swipe-enabled="false" hide="{{ !:host._isUsingDefaultTabAdapter }}" label-callback="{{ :host._labelCallback }}"></${t.P}-adapter>\n <div class="${t.PCSS}-tabs-content">\n <${t.P}-content></${t.P}-content>\n </div>\n</div>`})],wt);var Pt=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let Et=class PacemTickerElement extends t.Components.PacemSafeContentElement{constructor(){super(...arguments),this._contentChangeHandler=e=>{this._incoming.replaceChildren(...this.#u),t.Utils.addClass(this,"ticking"),t.Utils.addAnimationEndCallback(this._incoming,e=>{t.Utils.removeClass(this,"ticking"),this._outgoing.replaceChildren(...this.#u)})}}#u;_tickContent(e=this.content){if("number"==typeof e&&(e=e.toLocaleString()),"string"==typeof e){const t=this.sanitize(e);this.#u=this._buildMarkupNode(t)}else if(e instanceof Node){const t=this.sanitize(e);this.replaceChildren(...this.#u=[t])}else{const t=e.map(e=>this.sanitize(e));this.replaceChildren(...this.#u=t)}}_buildMarkupNode(e){const t=document.createElement("template");return t.innerHTML=e,Array.from(t.content.childNodes)}propertyChangedCallback(e,t,s,i){super.propertyChangedCallback(e,t,s,i),"content"!==e||i||this._tickContent(s)}viewActivatedCallback(){super.viewActivatedCallback(),this._slot.addEventListener("slotchange",this._contentChangeHandler,!1);const e=this.content??this._slot.assignedNodes();this._tickContent(e)}disconnectedCallback(){const e=this._slot;t.Utils.isNull(e)||e.removeEventListener("slotchange",this._contentChangeHandler),super.disconnectedCallback()}};Pt([t.ViewChild("slot")],Et.prototype,"_slot",void 0),Pt([t.ViewChild("div[part=ticker-outgoing]")],Et.prototype,"_outgoing",void 0),Pt([t.ViewChild("div[part=ticker-incoming]")],Et.prototype,"_incoming",void 0),Et=Pt([t.CustomElement({tagName:t.P+"-ticker",shadow:!0,template:'<div part="ticker-outgoing"></div><div part="ticker-incoming"></div><slot hidden></slot>'})],Et);var kt,xt=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};const St="pacem:toast:pops";let Ut=kt=class PacemToastElement extends t.Components.PacemElement{constructor(){super(...arguments),this.autohide=!0,this.timeout=3e3,this._doHide=e=>{window.clearTimeout(this._handle),this.show=!1}}connectedCallback(){super.connectedCallback(),this.addEventListener("click",this._doHide,!1)}propertyChangedCallback(e,s,i,n){if(super.propertyChangedCallback(e,s,i,n),"show"===e)if(!0!==i)t.Utils.removeClass(this,"toast-show"),t.Utils.addClass(this,"toast-hide"),this.dispatchEvent(new CustomEvent("close")),t.Utils.waitForAnimationEnd(this,1e3).then(()=>{t.Utils.removeClass(this,"toast-hide")});else{let e=t.CustomElementUtils.getAttachedPropertyValue(kt,St,0)-1;t.CustomElementUtils.setAttachedPropertyValue(kt,St,e),this.style.order=""+e,t.Utils.addClass(this,"toast-show"),this._show()}}disconnectedCallback(){this.removeEventListener("click",this._doHide,!1),super.disconnectedCallback()}_show(){window.clearTimeout(this._handle),this.disabled||this.autohide&&(this._handle=window.setTimeout(()=>{this.show=!1},this.timeout))}popup(){this.show?this._show():this.show=!0}static toast(e,s,i,n){var o=new kt;if(t.Utils.isNullOrEmpty(n?.cssClass))o.className="toast-"+s;else{const e=t.Utils.isArray(n.cssClass)?n.cssClass.join(" "):n.cssClass;t.Utils.addClass(o,e)}t.Utils.isNull(n?.autohide)||(o.autohide=n.autohide),n?.timeout>0&&(o.timeout=n.timeout);const r=document.createElement("i");r.className=t.PCSS+"-icon text-bigger-steady "+t.PCSS+"-margin margin-right-1 flex-auto";var a="info";switch(s){case"danger":case"error":a="error";break;case"warning":a="warning";break;case"success":a="check_circle"}r.textContent=a;const l=document.createElement("div");t.Utils.addClass(l,"display-flex flex-stretch flex-start flex-nowrap"),l.appendChild(r);const c=document.createElement("span");return t.Utils.addClass(c,"text-small text-pre"),"string"==typeof i?c.innerHTML=i:c.appendChild(i),l.appendChild(c),o.appendChild(l),e.appendChild(o),new Promise((e,s)=>{window.setTimeout(()=>{o.popup()},100);const i=()=>{o.removeEventListener("close",i,!1),e(),t.Utils.waitForAnimationEnd(o,1e3).then(e=>{o.remove()})};o.addEventListener("close",i,!1)})}static toast2(e,s,i,n){let o=n?.cssClass,r=["fill-"+s+"-container","fill-glass","border-solid","border-size--2","border-round","border-radius--6"];return t.Utils.isNullOrEmpty(o)||(t.Utils.isArray(o)?Array.prototype.push.apply(r,o):Array.prototype.push.apply(r,o.split(" "))),kt.toast(e,s,i,t.Utils.extend({},n??{},{cssClass:r}))}};xt([t.Watch({emit:!1,converter:t.PropertyConverters.Boolean})],Ut.prototype,"autohide",void 0),xt([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],Ut.prototype,"timeout",void 0),xt([t.Watch({converter:t.PropertyConverters.Boolean})],Ut.prototype,"show",void 0),xt([t.Transformer("poptoast")],Ut,"toast",null),xt([t.Transformer("poptoastcontainer")],Ut,"toast2",null),Ut=kt=xt([t.CustomElement({tagName:t.P+"-toast"})],Ut);var $t=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let Dt=class PacemTocElement extends t.Components.PacemElement{constructor(e=new t.Animations.TweenService){super(),this._tweener=e,this._items=[],this._scrollToSelf=e=>{this._scrollTo("#"+e.target.id)},this._hashChange=e=>{e.preventDefault(),this._scrollTo(window.location.hash,!1)}}propertyChangedCallback(e,s,i,n){switch(super.propertyChangedCallback(e,s,i,n),e){case"target":t.Utils.isNull(this._observer)||this._observe();break;case"selector":this.refresh()}}connectedCallback(){super.connectedCallback(),window.addEventListener("hashchange",this._hashChange,!1)}disconnectedCallback(){window.removeEventListener("hashchange",this._hashChange,!1),t.Utils.isNull(this._observer)||this._observer.disconnect(),super.disconnectedCallback()}viewActivatedCallback(){super.viewActivatedCallback(),this._observer=new MutationObserver(e=>{this.refresh()}),this._observe()}_onScroll(e){this._update(t.Utils.scrollTop)}_observe(){this._observer.observe(this.target||document.body,{subtree:!0,childList:!0})}_getTop(e){return t.Utils.offset(e).top}_scrollTo(e,s=!0){if(/^#[^&=]+$/.test(e)){const i=!t.Utils.isNullOrEmpty(e)&&document.querySelector(e),n=!t.Utils.isNull(i)&&this._items.find(e=>e.dom===i);if(n&&!t.Utils.isNull(n.dom)){const e=this._getTop(n.dom)-(this.offset||0);if(s){let s=t.Utils.scrollTop;window.location.hash=n.dom.id,this._tweener.run(s,e,500,0,t.Animations.Easings.sineInOut,(e,t)=>{window.scrollTo(0,t)})}else window.scrollTo(0,e)}}}_startScrollTo(e,s){t.avoidHandler(s),this._scrollTo(e.url)}_update(e){const s=e+(this.offset||0);var i=this._items&&this._items.length>0&&this._items[0];for(var n of this._items){if(!(t.Utils.offset(n.dom).top<=s))break;i=n}const o=[];for(var n of this._items)t.Utils.isNullOrEmpty(n.dom.id)&&(n.dom.id=n.dom.innerText.trim().replace(/[^a-zA-Z0-9]/g,"-").replace(/-*$/,"").replace(/^-*/,"").toLowerCase()),o.push({focus:n===i,label:n.dom.innerText,url:"#"+n.dom.id});t.Utils.isNull(this._repeater)||(this._repeater.datasource=o)}refresh(){for(let e of this._items)e.dom.removeEventListener("click",this._scrollToSelf,!1),t.Utils.removeClass(e.dom,t.PCSS+"-toc-item");const e=this.selector;if(t.Utils.isNullOrEmpty(e))return this._repeater&&(this._repeater.datasource=[]),void(this.hasContent=!1);const s=(this.target||document).querySelectorAll(e),i=[];for(let e=0;e<s.length;e++){const n=s.item(e);n.addEventListener("click",this._scrollToSelf,!1),t.Utils.addClass(n,t.PCSS+"-toc-item"),i.push({dom:n,top:this._getTop(n)})}this._items=i,this._update(t.Utils.scrollTop),this.hasContent=!t.Utils.isNullOrEmpty(i);let n=window.location.hash;t.Utils.isNullOrEmpty(n)||setTimeout(()=>{this._scrollTo(n,!0)},1e3)}};$t([t.Watch({emit:!1,converter:t.PropertyConverters.String})],Dt.prototype,"selector",void 0),$t([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],Dt.prototype,"offset",void 0),$t([t.Watch({emit:!1,converter:t.PropertyConverters.Element})],Dt.prototype,"target",void 0),$t([t.Watch({converter:t.PropertyConverters.Element})],Dt.prototype,"router",void 0),$t([t.Watch({converter:t.PropertyConverters.Boolean})],Dt.prototype,"hasContent",void 0),$t([t.ViewChild(t.P+"-repeater")],Dt.prototype,"_repeater",void 0),$t([t.Debounce(100)],Dt.prototype,"_onScroll",null),$t([t.Debounce(250)],Dt.prototype,"refresh",null),Dt=$t([t.CustomElement({tagName:t.P+"-toc",shadow:t.Defaults.USE_SHADOW_ROOT,template:`<${t.P}-scroll-aware on-${t.Components.ScrollEventName}=":host._onScroll($event)" url="{{ :host.url }}"></${t.P}-scroll-aware>\n<${t.P}-repeater><nav class="${t.PCSS}-toc"><template>\n <${t.P}-a on-click=":host._startScrollTo(^item, $event)" router="{{ :host.router }}" css-class="{{ {'toc-focus': ^item.focus} }}" href="{{ ^item.url }}"><${t.P}-text text="{{ ^item.label }}"></${t.P}-text></${t.P}-a>\n</template></nav></${t.P}-repeater>`})],Dt);var At=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};const Ot=2*Math.PI;function Rt(e,t,s,i){return{x:e+s*Math.cos(i),y:t+s*Math.sin(i)}}let Nt=class PacemTunerElement extends t.Components.PacemElement{constructor(){super(),this.min=0,this.max=100,this._rotateStartHandler=e=>{const t=this.#m=this._getAngle(e),s=this._rotate;s.minRotation=0-t,s.maxRotation=Ot-t,this._setValue(t)},this._rotateEndHandler=e=>{},this._rotateHandler=e=>{e.preventDefault();const t=e.detail.rotation+this.#m;this._setValue(t)}}#m;viewActivatedCallback(){super.viewActivatedCallback();const e=this._rotate,s=this._tween;e.addEventListener(t.UI.RotateEventType.Start,this._rotateStartHandler,!1),e.addEventListener(t.UI.RotateEventType.Rotate,this._rotateHandler,!1),e.addEventListener(t.UI.RotateEventType.End,this._rotateEndHandler,!1),e.register(this._canvas),this._toggleRotate(),requestAnimationFrame(()=>this._draw(this.min)),s.easing=t.Animations.Easings.sineInOut,s.delay=100*Math.random()-100+500,s.start=this.value>this.min}disconnectedCallback(){const e=this._rotate,s=this._canvas;t.Utils.isNull(e)||(e.removeEventListener(t.UI.RotateEventType.Rotate,this._rotateHandler,!1),t.Utils.isNull(s)||e.unregister(s)),super.disconnectedCallback()}propertyChangedCallback(e,s,i,n){switch(super.propertyChangedCallback(e,s,i,n),e){case"interactive":this._toggleRotate(i),i?t.Utils.addClass(this,"tuner-interactive"):t.Utils.removeClass(this,"tuner-interactive");break;case"round":if(Math.round(i)!=i||i<0)throw`${this.constructor.name}: round value must be an integer greater or equal to zero.`;break;default:this._draw()}}_toggleRotate(e=this.interactive){const s=this._rotate;t.Utils.isNull(s)||(s.disabled=!e)}_angleToValue(e){const t=Math.pow(10,this.round||0),s=this.min+e*(this.max-this.min)/Ot;return Math.round(t*s)/t}_valueToAngle(e=this.value??this.min){return Ot*(e-this.min)/(this.max-this.min)}_setValue(e){const t=this._angleToValue(e).clamp(this.min,this.max);t!=this.value&&(this.value=t,this.dispatchEvent(new Event("change")))}_getAngle(t){const s={vertex:t.detail.center,end:t.detail.currentPosition,start:{x:t.detail.center.x,y:t.detail.center.y-1}},i=e.Angle.value(s);return i>0?Ot-i:-i}_draw(e=this.value){if(this.disabled||t.Utils.isNull(this._rail))return;e=(isNaN(e)?this.min:e).clamp(this.min,this.max);const s=this._rail,i=this._counterRail,n=e===this.min,o=e===this.max;if(n||o){const e="M 50 50 m -50,0 a 50,50 0 1,1 100,0 a 50,50 0 1,1 -100,0";s.setAttribute("d",n?"":e),i.setAttribute("d",o?"":e)}else{const t=.5*Math.PI,n=Rt(50,50,50,-t),o=this._valueToAngle(e),r=Rt(50,50,50,-t+o),a=o>Math.PI?1:0,l=`M ${r.x} ${r.y} A 50 50 0 ${a} 0 ${n.x} ${n.y}`;s.setAttribute("d",l);const c=r,d=Rt(50,50,50,3*t),h=this._valueToAngle(this.max-e)>Math.PI?1:0,p=`M ${d.x} ${d.y} A 50 50 0 ${h} 0 ${c.x} ${c.y}`;i.setAttribute("d",p)}}};At([t.ViewChild("svg")],Nt.prototype,"_canvas",void 0),At([t.ViewChild("path[part=rail]")],Nt.prototype,"_rail",void 0),At([t.ViewChild("path[part=complementary-rail]")],Nt.prototype,"_counterRail",void 0),At([t.ViewChild(t.P+"-tween")],Nt.prototype,"_tween",void 0),At([t.ViewChild(t.P+"-rotate")],Nt.prototype,"_rotate",void 0),At([t.Watch({converter:t.PropertyConverters.Number})],Nt.prototype,"value",void 0),At([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],Nt.prototype,"min",void 0),At([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],Nt.prototype,"max",void 0),At([t.Watch({emit:!1,converter:t.PropertyConverters.Boolean})],Nt.prototype,"interactive",void 0),At([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],Nt.prototype,"round",void 0),Nt=At([t.CustomElement({tagName:t.P+"-tuner",shadow:!0,template:`<svg xmlns="http://www.w3.org/2000/svg" class="${t.PCSS}-tuner" part="tuner" viewBox="0 0 100 100">\n <circle part="track" cx="50" cy="50" r="50" />\n <path part="rail" />\n <path part="complementary-rail" />\n </svg><div class="${t.PCSS}-content" part="content"><slot></slot></div>\n <${t.P}-rotate></${t.P}-rotate>\n<${t.P}-tween on-step=":host._draw($event.detail.value)" on-end="this.disabled = true" duration="500" to="{{ :host.value }}" from="{{ :host.min }}"></${t.P}-tween>`})],Nt);var Lt=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};let Ht=class PacemVibrateElement extends t.PacemEventTarget{vibrate(){if(this.disabled)return;const e=this.pattern;t.Utils.isNullOrEmpty(e)||"function"==typeof navigator.vibrate&&navigator.vibrate(e)}};Lt([t.Watch({emit:!1,converter:{convert:e=>e?.split(/[ ,]+/).map(e=>parseInt(e)),convertBack:e=>e?.join(" ")}})],Ht.prototype,"pattern",void 0),Ht=Lt([t.CustomElement({tagName:t.P+"-vibrate"})],Ht);var Tt=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};const zt={convert:(e,t)=>{try{return document.querySelector(e)??(t.isConnected?e:null)}catch{return e}},convertBack:e=>e instanceof Element&&e.id?"#"+e.id:e,retryConversionWhenReady:!0};let Wt=class PacemViewElement extends t.PacemEventTarget{constructor(){super(...arguments),this._templateChangeHandler=e=>{const t=e.target;this._setTmpl(t.target)},this._debounceDispatchHandler=e=>{clearTimeout(this.#v),this.#v=setTimeout(()=>{if(e){const s=e.srcElement;s.removeEventListener(t.Components.ResizeEventName,this._debounceDispatchHandler),s.remove()}this.dispatchEvent(new CustomEvent("render"))},100)}}propertyChangedCallback(e,s,i,n){super.propertyChangedCallback(e,s,i,n),"url"===e||"disabled"===e?(this._dispose(s),this._manage()):"fetching"===e&&(i?t.Utils.addClass:t.Utils.removeClass)(this,"view-fetching")}viewActivatedCallback(){super.viewActivatedCallback();const e=this.url;this._isReference(e)&&!this.disabled&&this._manageRef()}_isReference(e){return e instanceof HTMLElement||"string"==typeof e&&e.trim().startsWith("#")}_dispose(e){e instanceof t.Components.PacemTemplateProxyElement&&e.removeEventListener("templatechange",this._templateChangeHandler)}_manage(){if(this.disabled)return;const e=this.debounce||0,s=this.url;this._isReference(s)?(clearTimeout(this._fetchHandle),this._fetchHandle=setTimeout(()=>this._manageRef(),e)):"string"!=typeof s||t.Utils.isNullOrEmpty(s)?this.innerHTML="":(this.fetching=!0,clearTimeout(this._fetchHandle),this._fetchHandle=setTimeout(()=>this._manageUrl(s),e))}_manageRef(){const e=this.url,s=e instanceof HTMLElement?e:document.querySelector("template"+e);s instanceof t.Components.PacemTemplateProxyElement?(s.addEventListener("templatechange",this._templateChangeHandler,!1),this._setTmpl(s.target)):s instanceof HTMLTemplateElement?this._setTmpl(s):t.Utils.isNull(s)?this.log(t.Logging.LogLevel.Error,"Template element not found."):this.log(t.Logging.LogLevel.Error,`Invalid '${s.constructor.name}' element, HTMLTemplate expected.`)}_setTmpl(e){cancelAnimationFrame(this._renderHandle),this.innerHTML="",this._dispatchPrerender(),this._renderHandle=requestAnimationFrame(()=>{t.Utils.isNull(e)?this.log(t.Logging.LogLevel.Error,"Template element not found."):(this.appendChild(e.cloneNode(!0).content),this._dispatchRender())})}#g;_manageUrl(e){this.#g&&this.#g.abort();const{signal:s}=this.#g=new AbortController;fetch(e,{credentials:"same-origin",signal:s}).then(async e=>{const s=(e,s)=>{301!==e.status&&302!==e.status||!this.followRedirects?e.ok||this.renderErrors?s.then(e=>t.Utils.addAnimationEndCallback(this,()=>this._manageResult(e),500)):this._manageResult(""):this._manageUrl(e.headers.get("Location"))},i=+e.headers.get("Content-Length");if(i>0){this.progress=0;let t=0;const n=[],o=e.body.getReader();for(;;){const{done:e,value:s}=await o.read();if(e)break;this.progress=(t+=s.length)/i,n.push(s)}s(e,new Promise((e,s)=>{try{let s=new Uint8Array(t),i=0;for(let e of n)s.set(e,i),i+=e.length;e(new TextDecoder("utf-8").decode(s))}catch(e){s(e)}}))}else s(e,e.text())},e=>{})}_manageResult(e){cancelAnimationFrame(this._renderHandle),this.scrollTo({top:0,left:0,behavior:"instant"}),this.innerHTML="",this._dispatchPrerender(),this._renderHandle=requestAnimationFrame(()=>{this.innerHTML=e,this.fetching=!1,this.progress=Number.NaN,t.Utils.addAnimationEndCallback(this,()=>{this._dispatchRender()},500)})}#v;_dispatchRender(){const e=new t.Components.PacemResizeElement;e.target=this,e.addEventListener(t.Components.ResizeEventName,this._debounceDispatchHandler),t.CustomElementUtils.findAncestorShell(this).appendChild(e),this._debounceDispatchHandler()}_dispatchPrerender(){this.dispatchEvent(new CustomEvent("prerender"))}};Tt([t.Watch({reflectBack:!0,converter:zt})],Wt.prototype,"url",void 0),Tt([t.Watch()],Wt.prototype,"fetching",void 0),Tt([t.Watch()],Wt.prototype,"progress",void 0),Tt([t.Watch({emit:!1,converter:t.PropertyConverters.Boolean})],Wt.prototype,"renderErrors",void 0),Tt([t.Watch({emit:!1,converter:t.PropertyConverters.Boolean})],Wt.prototype,"followRedirects",void 0),Tt([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],Wt.prototype,"debounce",void 0),Wt=Tt([t.CustomElement({tagName:t.P+"-view"})],Wt);var Bt=function(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r};const Mt="window-title";let Vt=class PacemWindowAreaElement extends t.Components.PacemIterativeElement{constructor(){super(...arguments),this._zIndex=1,this._startHandler=e=>{this._incrementZIndex(e.detail.element),t.Utils.addClass(e.detail.element,"window-rescaling")},this._blurHandler=e=>{t.Utils.removeClass(e.detail.element,"window-rescaling")},this._focusHandler=e=>{this._incrementZIndex(e.currentTarget)},this._itemPropertyChangeHandler=e=>{if("floating"===e.detail.propertyName&&!1===e.detail.currentValue){const s=e.currentTarget,i=this.items.indexOf(s);t.Utils.addClass(s,"docking-in"),this.adapter.select(i),t.Utils.addAnimationEndCallback(s,e=>{t.Utils.removeClass(e,"docking-in")},150)}},this._adapterPagerCallback=e=>{const t=e.detail.index,s=this.items[t];e.detail.hide=s.hide||s.floating}}validate(e){return e instanceof jt}_incrementZIndex(e){this._zIndex!=parseInt(e.style.zIndex)&&(e.style.zIndex=""+ ++this._zIndex)}connectedCallback(){super.connectedCallback();let e=t.CustomElementUtils.findAncestorShell(this);this._behaviors=[e.appendChild(this._dragDrop=document.createElement(t.P+"-drag-drop")),e.appendChild(this._rescale=document.createElement(t.P+"-rescale"))],this._dragDrop.handleSelector="."+Mt,this._rescale.addEventListener(t.UI.RescaleEventType.Start,this._startHandler,!1),this._rescale.addEventListener(t.UI.RescaleEventType.End,this._blurHandler,!1)}viewActivatedCallback(){if(super.viewActivatedCallback(),t.Utils.isNull(this.adapter)){const e=this.adapter=this.appendChild(document.createElement(t.P+"-adapter"));t.Utils.addClass(e,"windows-adapter"),e.labelCallback=(e,t)=>e.caption,e.swipeEnabled=!1,e.deselectable=!0,e.initialize(this)}this.adapter.addEventListener(l,this._adapterPagerCallback,!1)}disconnectedCallback(){t.Utils.isNull(this.adapter)||(this.adapter.removeEventListener(l,this._adapterPagerCallback,!1),this.adapter.remove(),this.adapter=null),this._rescale.removeEventListener(t.UI.RescaleEventType.End,this._blurHandler,!1),this._rescale.removeEventListener(t.UI.RescaleEventType.Start,this._startHandler,!1);for(let e of this._behaviors)e.remove();super.disconnectedCallback()}propertyChangedCallback(e,t,s,i){super.propertyChangedCallback(e,t,s,i),"index"===e&&this._syncVisibility()}register(e){const s=super.register(e);if(s){e.addEventListener(t.PropertyChangeEventName,this._itemPropertyChangeHandler,!1),e.addEventListener("mousedown",this._focusHandler,!1);for(let t of this._behaviors){-1===e.behaviors.indexOf(t)&&e.behaviors.push(t)}}return s}unregister(e){const s=super.unregister(e);if(s){e.removeEventListener(t.PropertyChangeEventName,this._itemPropertyChangeHandler,!1),e.removeEventListener("mousedown",this._focusHandler,!1);for(let t of this._behaviors){const s=e.behaviors.indexOf(t);s>=0&&e.behaviors.splice(s,1)}}return s}_syncVisibility(){let e=0;const s=this.items??[];for(let i of s)e===this.index?t.Utils.addClass(i,"dock-open"):t.Utils.removeClass(i,"dock-open"),e++}};Vt=Bt([t.CustomElement({tagName:t.P+"-window-area"})],Vt);let jt=class PacemWindowElement extends t.Components.PacemIterableElement{propertyChangedCallback(e,t,s,i){super.propertyChangedCallback(e,t,s,i),"minimized"!==e&&"floating"!==e||this._syncLayout()}viewActivatedCallback(){super.viewActivatedCallback(),this._syncLayout()}_syncLayout(){(this.minimized?t.Utils.addClass:t.Utils.removeClass).apply(this,[this,"window-min"]),(this.floating?t.Utils.removeClass:t.Utils.addClass).apply(this,[this,"window-dock"])}};Bt([t.Watch({converter:t.PropertyConverters.String})],jt.prototype,"caption",void 0),Bt([t.Watch({converter:t.PropertyConverters.Boolean})],jt.prototype,"minimized",void 0),Bt([t.Watch({converter:t.PropertyConverters.Boolean})],jt.prototype,"floating",void 0),jt=Bt([t.CustomElement({tagName:t.P+"-window",shadow:t.Defaults.USE_SHADOW_ROOT,template:`<div class="${Mt}">\n <${t.P}-text text="{{ :host.caption || 'Window' }}"></${t.P}-text>\n</div>\n<div class="window-buttons ${t.PCSS}-buttonset"><div class="buttonset-right">\n <${t.P}-button class="button" on-click=":host.minimized = !:host.minimized" icon-glyph="{{ :host.minimized ? 'maximize' : 'minimize' }}" hide="{{ !:host.floating }}"></${t.P}-button>\n <${t.P}-button class="button" on-click=":host.floating = !:host.floating" css-class="{{ {'buttonset-first': !:host.floating} }}" icon-glyph="{{ :host.floating? 'lock_open' : 'lock' }}"></${t.P}-button>\n</div></div>\n<div class="window-content"><${t.P}-content></${t.P}-content></div>`})],jt);var It=Object.freeze({__proto__:null,get AdapterOrientation(){return a},AdapterPageButtonRefreshEvent:AdapterPageButtonRefreshEvent,AdapterPageButtonRefreshEventName:l,get BalloonAlignment(){return v},get BalloonBehavior(){return u},BalloonPopoutEventName:C,BalloonPopupEventName:f,get BalloonPosition(){return g},get BalloonSizing(){return b},get BalloonTrigger(){return m},get BinderAnchor(){return k},get BinderEnd(){return x},BinderInteractionEvent:BinderInteractionEvent,BinderInteractionEventName:$,get BinderTension(){return S},CalendarEventSelectEvent:CalendarEventSelectEvent,CalendarEventUnselectEvent:CalendarEventUnselectEvent,get CalendarZoom(){return Y},DateSelectEvent:DateSelectEvent,get DialogButton(){return B},get DialogButtons(){return W},DialogResultEvent:DialogResultEvent,DialogResultEventName:V,ElementOrPointPropertyConverter:p,get LightboxBehavior(){return L},get LoaderType(){return Le},MEDIAQUERY_2K:"(min-width: 2048px)",MEDIAQUERY_4K:"(min-width: 3840px)",MEDIAQUERY_HD:"(min-width: 1920px)",MEDIAQUERY_LANDSCAPE:"(orientation: landscape)",MEDIAQUERY_LG:"(min-width: 1200px)",MEDIAQUERY_MD:"(min-width: 992px)",MEDIAQUERY_PORTRAIT:"(orientation: portrait)",MEDIAQUERY_PREFERS_DARK:"(prefers-color-scheme: dark)",MEDIAQUERY_PREFERS_LIGHT:"(prefers-color-scheme: light)",MEDIAQUERY_SM:"(min-width: 768px)",MEDIAQUERY_XL:"(min-width: 1824px)",MEDIAQUERY_XS:"(max-width: 767px)",MarkdownService:MarkdownService,PacemAdaptedIterativeElement:PacemAdaptedIterativeElement,get PacemAdapterElement(){return c},get PacemAgendaElement(){return ie},get PacemAnchorElement(){return h},get PacemBalloonElement(){return E},get PacemBinderElement(){return O},get PacemBladeElement(){return N},get PacemBottomSheetElement(){return z},get PacemBottomSheetHandleElement(){return T},get PacemButtonElement(){return I},get PacemButtonsetElement(){return q},PacemCalendarBaseElement:PacemCalendarBaseElement,get PacemCalendarDayOfWeekRuleElement(){return ae},get PacemCalendarElement(){return ne},get PacemCalendarEventElement(){return te},PacemCalendarRuleBaseElement:PacemCalendarRuleBaseElement,PacemCalendarWithEventsBaseElement:PacemCalendarWithEventsBaseElement,get PacemClockElement(){return oe},get PacemCollapseElement(){return ce},PacemDialogBase:PacemDialogBase,get PacemDialogElement(){return he},get PacemDividerElement(){return ue},get PacemIconElement(){return Se},get PacemImageElement(){return $e},get PacemInfiniteScrollerElement(){return Ae},get PacemLightboxElement(){return Ne},get PacemLoaderElement(){return Te},get PacemMarkdownElement(){return qe},get PacemMarqueeElement(){return Qe},get PacemMediaQueryElement(){return Xe},get PacemMenuCursorElement(){return et},get PacemMenuElement(){return Je},get PacemPagerElement(){return st},get PacemPictureElement(){return ot},get PacemPictureSourceElement(){return nt},get PacemProgressbarElement(){return at},get PacemScheduleElement(){return re},get PacemSidebarElement(){return ct},get PacemSlideElement(){return ht},get PacemSlideshowElement(){return pt},get PacemStickyHeaderElement(){return bt},get PacemTabElement(){return _t},get PacemTabsElement(){return wt},get PacemTickerElement(){return Et},get PacemToastElement(){return Ut},get PacemTocElement(){return Dt},get PacemTunerElement(){return Nt},get PacemTweetEmbedElement(){return mt},get PacemVibrateElement(){return Ht},get PacemViewElement(){return Wt},get PacemWindowAreaElement(){return Vt},get PacemWindowElement(){return jt},get StickyHeaderVisibility(){return vt},TimeSelectEvent:TimeSelectEvent,ViewDateChangeEvent:ViewDateChangeEvent}),Ft=Object.freeze({__proto__:null,UI:It}),qt=Object.freeze({__proto__:null,Components:Ft});e.DeepMerger.merge(qt)}(Pacem,Pacem);