/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/rivet-core@2.9.1/js/rivet-umd.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
/*!
 * rivet-core - @version 2.9.1
 *
 * Copyright (C) 2018 The Trustees of Indiana University
 * SPDX-License-Identifier: BSD-3-Clause
 */
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).Rivet={})}(this,(function(t){"use strict";Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),Element.prototype.closest||(Element.prototype.closest=function(t){var e=this;if(!document.documentElement.contains(this))return null;do{if(e.matches(t))return e;e=e.parentElement}while(null!==e);return null}),function(){if("function"==typeof window.CustomEvent)return!1;function t(t,e){e=e||{bubbles:!1,cancelable:!1,detail:void 0};var i=document.createEvent("CustomEvent");return i.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),i}t.prototype=window.Event.prototype,window.CustomEvent=t}(),Array.from||(Array.from=function(){var t;try{t=Symbol.iterator?Symbol.iterator:"Symbol(Symbol.iterator)"}catch(e){t="Symbol(Symbol.iterator)"}var e=Object.prototype.toString,i=function(t){return"function"==typeof t||"[object Function]"===e.call(t)},s=Math.pow(2,53)-1,n=function(t){var e=function(t){var e=Number(t);return isNaN(e)?0:0!==e&&isFinite(e)?(e>0?1:-1)*Math.floor(Math.abs(e)):e}(t);return Math.min(Math.max(e,0),s)};return function(e){var s=Object(e),r=i(s[t]);if(null==e&&!r)throw new TypeError("Array.from requires an array-like object or iterator - not null or undefined");var o,a=arguments.length>1?arguments[1]:void 0;if(void 0!==a){if(!i(a))throw new TypeError("Array.from: when provided, the second argument must be a function");arguments.length>2&&(o=arguments[2])}var l=n(s.length);return function(t,e,i,s,n,r){for(var o=0;o<i||n;){var a=s(o),l=n?a.value:a;if(n&&a.done)return e;e[o]=r?void 0===t?r(l,o):r.call(t,l,o):l,o+=1}if(n)throw new TypeError("Array.from: provided arrayLike or iterator has length more then 2 ** 52 - 1");return e.length=i,e}(o,i(this)?Object(new this(l)):new Array(l),l,function(e,i){var s=e&&i[t]();return function(t){return e?s.next():i[t]}}(r,s),r,a)}}()),[Element.prototype,CharacterData.prototype,DocumentType.prototype].forEach((function(t){t.hasOwnProperty("remove")||Object.defineProperty(t,"remove",{configurable:!0,enumerable:!0,writable:!0,value:function(){null!==this.parentNode&&this.parentNode.removeChild(this)}})})),"inert"in HTMLElement.prototype||(Object.defineProperty(HTMLElement.prototype,"inert",{enumerable:!0,get:function(){return this.hasAttribute("inert")},set:function(t){t?this.setAttribute("inert",""):this.removeAttribute("inert")}}),window.addEventListener("load",(function(){function t(t){for(;t&&t!==document.documentElement;){if(t.hasAttribute("inert"))return t;t=t.parentElement}return null}function e(t){var e=t.path;return e&&e[0]||t.target}function i(t){t.path[t.path.length-1]!==window&&(s(e(t)),t.preventDefault(),t.stopPropagation())}function s(e){var i=t(e);if(i){if(document.hasFocus()&&0!==a){var s=(l||document).activeElement;if(function(t){var e=null;try{e=new KeyboardEvent("keydown",{keyCode:9,which:9,key:"Tab",code:"Tab",keyIdentifier:"U+0009",shiftKey:!!t,bubbles:!0})}catch(i){try{(e=document.createEvent("KeyboardEvent")).initKeyboardEvent("keydown",!0,!0,window,"Tab",0,t?"Shift":"",!1,"en")}catch(t){}}if(e){try{Object.defineProperty(e,"keyCode",{value:9})}catch(t){}document.dispatchEvent(e)}}(0>a),s!=(l||document).activeElement)return;var n,r=document.createTreeWalker(document.body,NodeFilter.SHOW_ELEMENT,{acceptNode:function(t){return!t||!t.focus||0>t.tabIndex?NodeFilter.FILTER_SKIP:i.contains(t)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}});for(r.currentNode=i,r=(-1===Math.sign(a)?r.previousNode:r.nextNode).bind(r);n=r();)if(n.focus(),(l||document).activeElement!==s)return}e.blur()}}var n,r;n="/*[inert]*/*[inert]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}",(r=document.createElement("style")).type="text/css",r.styleSheet?r.styleSheet.cssText=n:r.appendChild(document.createTextNode(n)),document.body.appendChild(r);var o=function(t){return null};window.ShadowRoot&&(o=function(t){for(;t&&t!==document.documentElement;){if(t instanceof window.ShadowRoot)return t;t=t.parentNode}return null});var a=0;document.addEventListener("keydown",(function(t){a=9===t.keyCode?t.shiftKey?-1:1:0})),document.addEventListener("mousedown",(function(t){a=0}));var l=null;document.body.addEventListener("focus",(function(t){var n=e(t);if((t=n==t.target?null:o(n))!=l){if(l){if(!(l instanceof window.ShadowRoot))throw Error("not shadow root: "+l);l.removeEventListener("focusin",i,!0)}t&&t.addEventListener("focusin",i,!0),l=t}s(n)}),!0),document.addEventListener("click",(function(i){t(e(i))&&(i.preventDefault(),i.stopPropagation())}),!0)})));const e="rvt";var i="function"==typeof Promise?Promise:function(t){let e,i=[],s=0;return t((t=>{e=t,s=1,i.splice(0).forEach(n)})),{then:n};function n(t){return s?setTimeout(t,0,e):i.push(t),this}};const s=!0,n=!1,r="querySelectorAll";function o(t){this.observe(t,{subtree:s,childList:s})}const a="querySelectorAll",{document:l,Element:h,MutationObserver:d,Set:c,WeakMap:u}=self,g=t=>a in t,{filter:b}=[];const{create:m,keys:p}=Object,_=new WeakMap,v=new Set,f=[],T={},A={},E=(t,e)=>{for(let i=_.get(e),s=0,{length:n}=t;s<n;s++){const{target:e,attributeName:n,oldValue:r}=t[s],o=e.getAttribute(n);i.attributeChanged(n,r,o)}},{drop:C,flush:O,parse:S}=(t=>{const e=new u,i=(i,s)=>{let n;if(s)for(let r,o=(t=>t.matches||t.webkitMatchesSelector||t.msMatchesSelector)(i),a=0,{length:l}=p;a<l;a++)o.call(i,r=p[a])&&(e.has(i)||e.set(i,new c),n=e.get(i),n.has(r)||(n.add(r),t.handle(i,s,r)));else e.has(i)&&(n=e.get(i),e.delete(i),n.forEach((e=>{t.handle(i,s,e)})))},m=(t,e=!0)=>{for(let s=0,{length:n}=t;s<n;s++)i(t[s],e)},{query:p}=t,_=t.root||l,v=((t,e,i)=>{const a=(e,i,n,o,l)=>{for(let h=0,{length:d}=e;h<d;h++){const d=e[h];(l||r in d)&&(o?i.has(d)||(i.add(d),n.delete(d),t(d,o)):n.has(d)||(n.add(d),i.delete(d),t(d,o)),l||a(d[r]("*"),i,n,o,s))}},l=new(i||MutationObserver)((t=>{for(let e=new Set,i=new Set,r=0,{length:o}=t;r<o;r++){const{addedNodes:o,removedNodes:l}=t[r];a(l,e,i,n,n),a(o,e,i,s,n)}}));return l.add=o,l.add(e||document),l})(i,_,d),{attachShadow:f}=h.prototype;return f&&(h.prototype.attachShadow=function(t){const e=f.call(this,t);return v.add(e),e}),p.length&&m(_[a](p)),{drop:t=>{for(let i=0,{length:s}=t;i<s;i++)e.delete(t[i])},flush:()=>{const t=v.takeRecords();for(let e=0,{length:i}=t;e<i;e++)m(b.call(t[e].removedNodes,g),!1),m(b.call(t[e].addedNodes,g),!0)},observer:v,parse:m}})({query:f,handle(t,e,i){const{m:s,l:n,o:r}=T[i],o=s.get(t)||((t,e,i,s)=>{const n=m(s,{element:{enumerable:!0,value:t}});for(let e=0,{length:s}=i;e<s;e++)t.addEventListener(i[e].t,n,i[e].o);e.set(t,n),n.init&&n.init();const{observedAttributes:r}=s;if(r){const e=new MutationObserver(E);e.observe(t,{attributes:!0,attributeOldValue:!0,attributeFilter:r.map((e=>(t.hasAttribute(e)&&n.attributeChanged(e,null,t.getAttribute(e)),e)))}),_.set(e,n)}return n})(t,s,n,r),a=e?"connected":"disconnected";a in o&&o[a]()}}),y=(t,e)=>{if(-1<f.indexOf(t))throw new Error("duplicated: "+t);O();const i=[],s=m(null);for(let t=p(e),n=0,{length:r}=t;n<r;n++){const r=t[n];if(/^on/.test(r)&&!/Options$/.test(r)){const t=e[r+"Options"]||!1,n=r.toLowerCase();let o=n.slice(2);i.push({t:o,o:t}),s[o]=r,n!==r&&(o=r.slice(2,3).toLowerCase()+r.slice(3),s[o]=r,i.push({t:o,o:t}))}}i.length&&(e.handleEvent=function(t){this[s[t.type]](t)}),f.push(t),T[t]={m:new WeakMap,l:i,o:e},S(document.querySelectorAll(t)),I(t),v.has(t)||A[t]._()},I=t=>{if(!(t in A)){let e,s=new i((t=>{e=t}));A[t]={_:e,$:s}}return A[t].$};class M{static initAll(){this.init(this.selector)}static init(t){return y(t,this.methods),document.querySelector(t)}static get selector(){}static get methods(){}static bindMethodToDOMElement(t,e,i){Object.defineProperty(t.element,e,{value:i.bind(t),writable:!1})}static dispatchCustomEvent(t,i,s={}){const n=new CustomEvent(`${e}${t}`,{bubbles:!0,cancelable:!0,detail:s});return i.dispatchEvent(n)}static dispatchComponentAddedEvent(t){return this.dispatchCustomEvent("ComponentAdded",document,{component:t})}static dispatchComponentRemovedEvent(t){return this.dispatchCustomEvent("ComponentRemoved",document,{component:t})}static watchForDOMChanges(t,e=null){t.observer=new MutationObserver(((i,s)=>{t._initElements(),e&&e()})),t.observer.observe(t.element,{childList:!0,subtree:!0})}static stopWatchingForDOMChanges(t){t.observer.disconnect()}static generateUniqueId(){return e+"-"+Math.random().toString(20).substr(2,12)}static setAttributeIfNotSpecified(t,e,i){t.getAttribute(e)||t.setAttribute(e,i)}}const D=38,w=40,x=37,k=39,B=9,P=27,F=36,N=35,$=!0;class q extends M{static get selector(){return"[data-rvt-accordion]"}static get methods(){return{init(){this._initSelectors(),this._initElements(),this._initAttributes(),this._setInitialPanelStates(),M.bindMethodToDOMElement(this,"open",this.open),M.bindMethodToDOMElement(this,"close",this.close)},_initSelectors(){this.triggerAttribute="data-rvt-accordion-trigger",this.panelAttribute="data-rvt-accordion-panel",this.triggerSelector=`[${this.triggerAttribute}]`,this.panelSelector=`[${this.panelAttribute}]`},_initElements(){this.triggers=Array.from(this.element.querySelectorAll(this.triggerSelector)),this.panels=Array.from(this.element.querySelectorAll(this.panelSelector))},_initAttributes(){this._assignComponentElementIds(),this._setTriggerButtonTypeAttributes()},_assignComponentElementIds(){this._assignTriggerIds(),this._assignPanelIds()},_assignTriggerIds(){this.triggers.forEach((t=>{const e=M.generateUniqueId();M.setAttributeIfNotSpecified(t,this.triggerAttribute,e),M.setAttributeIfNotSpecified(t,"id",`${e}-label`)}))},_assignPanelIds(){const t=this.panels.length;for(let e=0;e<t;e++){const t=this.triggers[e],i=this.panels[e],s=t.getAttribute(this.triggerAttribute);M.setAttributeIfNotSpecified(i,this.panelAttribute,s),M.setAttributeIfNotSpecified(i,"id",s),M.setAttributeIfNotSpecified(i,"aria-labelledby",`${s}-label`)}},_setTriggerButtonTypeAttributes(){this.triggers.forEach((t=>{M.setAttributeIfNotSpecified(t,"type","button")}))},_setInitialPanelStates(){this._shouldOpenAllPanels()?this._openAllPanels():this._setPanelDefaultStates()},_shouldOpenAllPanels(){return this.element.hasAttribute("data-rvt-accordion-open-all")},_openAllPanels(){this.panels.forEach((t=>{this.open(t.getAttribute(this.panelAttribute),$)}))},_setPanelDefaultStates(){this.panels.forEach((t=>{this._panelShouldBeOpen(t)?this.open(t.getAttribute(this.panelAttribute),$):this.close(t.getAttribute(this.panelAttribute),$)}))},_panelShouldBeOpen:t=>t.hasAttribute("data-rvt-accordion-panel-init"),connected(){M.dispatchComponentAddedEvent(this.element),M.watchForDOMChanges(this)},disconnected(){M.dispatchComponentRemovedEvent(this.element),M.stopWatchingForDOMChanges(this)},onClick(t){this._eventOriginatedInsideTrigger(t)&&(this._setTriggerToToggle(t),this._triggerToToggleIsOpen()?this.close(this.triggerToToggleId):this.open(this.triggerToToggleId))},_eventOriginatedInsideTrigger(t){return t.target.closest(this.triggerSelector)},_setTriggerToToggle(t){this.triggerToToggle=t.target.closest(this.triggerSelector),this.triggerToToggleId=this.triggerToToggle.getAttribute(this.triggerAttribute)},_triggerToToggleIsOpen(){return"true"===this.triggerToToggle.getAttribute("aria-expanded")},onKeydown(t){if(this._eventOriginatedInsideTrigger(t))switch(this._setNeighboringTriggerIndexes(t),t.keyCode){case D:t.preventDefault(),this._focusPreviousTrigger();break;case w:t.preventDefault(),this._focusNextTrigger();break;case F:this._focusFirstTrigger();break;case N:this._focusLastTrigger()}},_setNeighboringTriggerIndexes(t){const e=t.target.closest(this.triggerSelector);this.previousTriggerIndex=this.triggers.indexOf(e)-1,this.nextTriggerIndex=this.triggers.indexOf(e)+1},_focusPreviousTrigger(){this.triggers[this.previousTriggerIndex]?this.triggers[this.previousTriggerIndex].focus():this.triggers[this.triggers.length-1].focus()},_focusNextTrigger(){this.triggers[this.nextTriggerIndex]?this.triggers[this.nextTriggerIndex].focus():this.triggers[0].focus()},_focusFirstTrigger(){this.triggers[0].focus()},_focusLastTrigger(){this.triggers[this.triggers.length-1].focus()},open(t,e=!1){this._setPanelToOpen(t),this._panelToOpenExists()?(e||this._eventDispatched("AccordionOpened",this.panelToOpen))&&this._openPanel():console.warn(`No such accordion panel '${t}' in open()`)},_setPanelToOpen(t){this.triggerToOpen=this.element.querySelector(`[${this.triggerAttribute} = "${t}"]`),this.panelToOpen=this.element.querySelector(`[${this.panelAttribute} = "${t}"]`)},_panelToOpenExists(){return this.panelToOpen},_openPanel(){this.triggerToOpen.setAttribute("aria-expanded","true"),this.panelToOpen.removeAttribute("hidden")},close(t,e=!1){this._setPanelToClose(t),this._panelToCloseExists()?(e||this._eventDispatched("AccordionClosed",this.panelToClose))&&this._closePanel():console.warn(`No such accordion panel '${t}' in close()`)},_setPanelToClose(t){this.triggerToClose=this.element.querySelector(`[${this.triggerAttribute} = "${t}"]`),this.panelToClose=this.element.querySelector(`[${this.panelAttribute} = "${t}"]`)},_panelToCloseExists(){return this.panelToClose},_closePanel(){this.triggerToClose.setAttribute("aria-expanded","false"),this.panelToClose.setAttribute("hidden","")},_eventDispatched(t,e){return M.dispatchCustomEvent(t,this.element,{panel:e})}}}}class L extends M{static get selector(){return"[data-rvt-alert]"}static get methods(){return{init(){this._initSelectors(),this._initElements(),M.bindMethodToDOMElement(this,"dismiss",this.dismiss)},_initSelectors(){this.closeButtonAttribute="data-rvt-alert-close",this.closeButtonSelector=`[${this.closeButtonAttribute}]`},_initElements(){this.closeButton=this.element.querySelector(this.closeButtonSelector)},connected(){M.dispatchComponentAddedEvent(this.element)},disconnected(){M.dispatchComponentRemovedEvent(this.element)},onClick(t){this._clickOriginatedInsideCloseButton(t)&&this.dismiss()},_clickOriginatedInsideCloseButton(t){return this.closeButton&&this.closeButton.contains(t.target)},dismiss(){this._dismissEventDispatched()&&this.element.remove()},_dismissEventDispatched(){return M.dispatchCustomEvent("AlertDismissed",this.element)}}}}class R extends M{static get selector(){return"[data-rvt-dialog]"}static get methods(){return{init(){this._initSelectors(),this._initElements(),this._initProperties(),this._initAttributes(),this._makeDialogFirstElementInBody(),this._bindExternalEventHandlers(),M.bindMethodToDOMElement(this,"open",this.open),M.bindMethodToDOMElement(this,"close",this.close),M.bindMethodToDOMElement(this,"focusTrigger",this.focusTrigger),M.bindMethodToDOMElement(this,"focusDialog",this.focusDialog)},_initSelectors(){this.dialogAttribute="data-rvt-dialog",this.mountElementAttribute="data-rvt-dialog-mount",this.triggerAttribute="data-rvt-dialog-trigger",this.closeButtonAttribute="data-rvt-dialog-close",this.modalAttribute="data-rvt-dialog-modal",this.disablePageInteractionAttribute="data-rvt-dialog-disable-page-interaction",this.mountElementSelector=`[${this.mountElementAttribute}]`,this.triggerSelector=`[${this.triggerAttribute}]`,this.closeButtonSelector=`[${this.closeButtonAttribute}]`},_initElements(){const t=this.element.getAttribute(this.dialogAttribute),e=document.querySelector(this.mountElementSelector);this.mountElement=e??document.body,this.triggerButtons=Array.from(document.querySelectorAll(`[${this.triggerAttribute} = "${t}"]`)),this.closeButtons=Array.from(this.element.querySelectorAll(this.closeButtonSelector)),this.lastClickedTriggerButton=null},_initProperties(){this.id=this.element.getAttribute("id"),this.isOpen=!1,this.isModal=this.element.hasAttribute(this.modalAttribute)},_initAttributes(){this.isModal&&this.element.setAttribute("aria-modal","true")},_makeDialogFirstElementInBody(){this.mountElement.insertBefore(this.element,this.mountElement.firstElementChild)},_bindExternalEventHandlers(){this._onTriggerClick=this._onTriggerClick.bind(this),this._onDocumentClick=this._onDocumentClick.bind(this)},connected(){M.dispatchComponentAddedEvent(this.element),M.watchForDOMChanges(this),this._addTriggerEventHandlers(),this._addDocumentEventHandlers(),this._shouldBeOpenByDefault()&&this.open()},_shouldBeOpenByDefault(){return this.element.hasAttribute("data-rvt-dialog-open-on-init")},_addTriggerEventHandlers(){this._hasTriggerButton()&&this.triggerButtons.forEach((t=>{t.addEventListener("click",this._onTriggerClick,!1)}))},_hasTriggerButton(){return this.triggerButtons.length},_addDocumentEventHandlers(){document.addEventListener("click",this._onDocumentClick,!1)},disconnected(){M.dispatchComponentRemovedEvent(this.element),M.stopWatchingForDOMChanges(this),this._removeTriggerEventHandlers(),this._removeDocumentEventHandlers()},_removeTriggerEventHandlers(){this._hasTriggerButton()&&this.triggerButtons.forEach((t=>{t.removeEventListener("click",this._onTriggerClick,!1)}))},_removeDocumentEventHandlers(){document.removeEventListener("click",this._onDocumentClick,!1)},onClick(t){this._isOpen()&&this._clickOriginatedInCloseButton(t)&&this.close()},_isOpen(){return this.isOpen},_clickOriginatedInCloseButton(t){return t.target.closest(this.closeButtonSelector)},_onTriggerClick(t){this._setLastClickedTriggerButton(t),this._isOpen()?this.close():this.open()},_setLastClickedTriggerButton(t){this.lastClickedTriggerButton=t.target.closest(this.triggerSelector)},_onDocumentClick(t){this._clickOriginatedInsideDialogOrTrigger(t)||this._isOpen()&&(this._shouldCloseOnClickOutside()||this.close())},_clickOriginatedInsideDialogOrTrigger(t){return t.target.closest(this.triggerSelector)||t.composedPath().some((t=>t.dataset&&"rvtDialog"in t.dataset))},_shouldCloseOnClickOutside(){return!this.isModal},onKeydown(t){switch(t.keyCode){case B:this._setFocusableChildElements(),this._shiftKeyPressed(t)?this._handleBackwardTab(t):this._handleForwardTab(t);break;case P:this._shouldCloseOnClickOutside()||this.close()}},_setFocusableChildElements(){this.focusableChildElements=this.element.querySelectorAll('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), [tabindex="-1"]'),this.focusableChildElements=Array.from(this.focusableChildElements),this.focusableChildElements=this.focusableChildElements.filter((t=>t.clientHeight>0)),this.firstFocusableChildElement=this.focusableChildElements[0],this.lastFocusableChildElement=this.focusableChildElements[this.focusableChildElements.length-1]},_shiftKeyPressed:t=>t.shiftKey,_handleBackwardTab(t){this._shouldTrapBackwardTabFocus()&&(t.preventDefault(),this.lastFocusableChildElement.focus())},_shouldTrapBackwardTabFocus(){return document.activeElement===this.firstFocusableChildElement||document.activeElement===this.element},_handleForwardTab(t){this._shouldTrapForwardTabFocus()&&(t.preventDefault(),this.firstFocusableChildElement.focus())},_shouldTrapForwardTabFocus(){return document.activeElement===this.lastFocusableChildElement},open(t=!1){this._isOpen()||(t||this._eventDispatched("DialogOpened"))&&(this._setOpenState(),this.focusDialog(),this._shouldDisablePageInteraction()&&this._disablePageInteraction())},_setOpenState(){this.isOpen=!0,this.element.removeAttribute("hidden"),this.isModal&&document.body.classList.add("rvt-dialog-prevent-scroll")},focusDialog(){this.element.focus()},_shouldDisablePageInteraction(){return this.element.hasAttribute(this.disablePageInteractionAttribute)},_disablePageInteraction(){this._getDirectChildrenOfBodyExceptDialog().forEach((t=>{t.setAttribute("inert",""),t.setAttribute("aria-hidden","true")}))},_getDirectChildrenOfBodyExceptDialog(){return Array.from(this.mountElement.children).filter((t=>!t.hasAttribute(this.dialogAttribute)))},close(t=!1){this._isOpen()&&(t||this._eventDispatched("DialogClosed"))&&(this._setClosedState(),this._shouldDisablePageInteraction()&&this._enablePageInteraction(),this._hasTriggerButton()&&this.focusTrigger())},_setClosedState(){this.isOpen=!1,this.element.setAttribute("hidden",""),document.body.classList.remove("rvt-dialog-prevent-scroll")},_enablePageInteraction(){this._getDirectChildrenOfBodyExceptDialog().forEach((t=>{t.removeAttribute("inert"),t.removeAttribute("aria-hidden")}))},focusTrigger(){this._hasTriggerButton()?this.lastClickedTriggerButton&&document.body.contains(this.lastClickedTriggerButton)?this.lastClickedTriggerButton.focus():this.triggerButtons[0].focus():console.warn(`Could not find a trigger button for dialog ID '${this.id}'`)},_eventDispatched(t){return M.dispatchCustomEvent(t,this.element)}}}}class H extends M{static get selector(){return"[data-rvt-disclosure]"}static get methods(){return{init(){this._initSelectors(),this._initElements(),this._initProperties(),this._setInitialDisclosureState(),this._removeIconFromTabOrder(),this._bindExternalEventHandlers(),M.bindMethodToDOMElement(this,"open",this.open),M.bindMethodToDOMElement(this,"close",this.close)},_initSelectors(){this.toggleAttribute="data-rvt-disclosure-toggle",this.targetAttribute="data-rvt-disclosure-target",this.toggleSelector=`[${this.toggleAttribute}]`,this.targetSelector=`[${this.targetAttribute}]`},_initElements(){this.toggleElement=this.element.querySelector(this.toggleSelector),this.targetElement=this.element.querySelector(this.targetSelector)},_initProperties(){this.isOpen=!1},_setInitialDisclosureState(){this._shouldBeOpenByDefault()&&this.open($)},_shouldBeOpenByDefault(){return this.element.hasAttribute("data-rvt-disclosure-open-on-init")},_removeIconFromTabOrder(){const t=this.element.querySelector("svg");t&&t.setAttribute("focusable","false")},_bindExternalEventHandlers(){this._onDocumentClick=this._onDocumentClick.bind(this)},connected(){M.dispatchComponentAddedEvent(this.element),this._shouldAddDocumentEventHandlers()&&this._addDocumentEventHandlers()},_shouldAddDocumentEventHandlers(){return this.element.hasAttribute("data-rvt-close-click-outside")},_addDocumentEventHandlers(){document.addEventListener("click",this._onDocumentClick,!1)},disconnected(){M.dispatchComponentRemovedEvent(this.element),this._removeDocumentEventHandlers()},_removeDocumentEventHandlers(){document.removeEventListener("click",this._onDocumentClick,!1)},open(t=!1){this._isDisabled()||(t||this._eventDispatched("DisclosureOpened"))&&this._setOpenState()},_isDisabled(){return this.toggleElement.hasAttribute("disabled")},_setOpenState(){this.toggleElement.setAttribute("aria-expanded","true"),this.targetElement.removeAttribute("hidden"),this.isOpen=!0},close(t=!1){this._isOpen()&&(t||this._eventDispatched("DisclosureClosed"))&&this._setClosedState()},_isOpen(){return this.isOpen},_setClosedState(){this.toggleElement.setAttribute("aria-expanded","false"),this.targetElement.setAttribute("hidden",""),this.isOpen=!1},_eventDispatched(t){return M.dispatchCustomEvent(t,this.element)},onClick(t){this._clickOriginatedInsideDisclosureToggle(t)&&(this._isOpen()?this.close():this.open())},_clickOriginatedInsideDisclosureToggle(t){return this.toggleElement.contains(t.target)},_onDocumentClick(t){this._clickOriginatedOutsideDisclosure(t)&&this._isOpen()&&this.close()},_clickOriginatedOutsideDisclosure(t){return!this.element.contains(t.target)},onKeydown(t){t.keyCode===P&&(this.close(),this.toggleElement.focus())}}}}class K extends M{static get selector(){return"[data-rvt-dropdown]"}static get methods(){return{init(){this._initSelectors(),this._initElements(),this._initProperties(),this._initMenuItems(),this._initAttributes(),this._removeIconFromTabOrder(),this._bindExternalEventHandlers(),M.bindMethodToDOMElement(this,"open",this.open),M.bindMethodToDOMElement(this,"close",this.close)},_initSelectors(){this.toggleAttribute="data-rvt-dropdown-toggle",this.menuAttribute="data-rvt-dropdown-menu",this.toggleSelector=`[${this.toggleAttribute}]`,this.menuSelector=`[${this.menuAttribute}]`},_initElements(){this.toggleElement=this.element.querySelector(this.toggleSelector),this.menuElement=this.element.querySelector(this.menuSelector)},_initProperties(){this.isOpen=!1},_initMenuItems(){this.menuItems=Array.from(this.menuElement.querySelectorAll('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), [tabindex="0"]')),this.firstMenuItem=this.menuItems[0],this.lastMenuItem=this.menuItems[this.menuItems.length-1]},_initAttributes(){this._assignComponentElementIds()},_assignComponentElementIds(){const t=M.generateUniqueId();M.setAttributeIfNotSpecified(this.toggleElement,this.toggleAttribute,t),M.setAttributeIfNotSpecified(this.menuElement,this.menuAttribute,t),M.setAttributeIfNotSpecified(this.menuElement,"id",t)},_removeIconFromTabOrder(){const t=this.element.querySelector("svg");t&&t.setAttribute("focusable","false")},_bindExternalEventHandlers(){this._onDocumentClick=this._onDocumentClick.bind(this)},connected(){M.dispatchComponentAddedEvent(this.element),M.watchForDOMChanges(this,(()=>this._initMenuItems())),this._addDocumentEventHandlers()},_addDocumentEventHandlers(){document.addEventListener("click",this._onDocumentClick,!1)},disconnected(){M.dispatchComponentRemovedEvent(this.element),M.stopWatchingForDOMChanges(this),this._removeDocumentEventHandlers()},_removeDocumentEventHandlers(){document.removeEventListener("click",this._onDocumentClick,!1)},open(){this._toggleElementIsDisabled()||this._eventDispatched("DropdownOpened")&&this._setOpenState()},_toggleElementIsDisabled(){return this.toggleElement.hasAttribute("disabled")},_setOpenState(){this.toggleElement.setAttribute("aria-expanded","true"),this.menuElement.removeAttribute("hidden"),this.firstMenuItem.focus(),this.isOpen=!0},close(){this._isOpen()&&this._eventDispatched("DropdownClosed")&&this._setClosedState()},_isOpen(){return this.isOpen},_setClosedState(){this.toggleElement.setAttribute("aria-expanded","false"),this.menuElement.setAttribute("hidden",""),this.isOpen=!1},_eventDispatched(t){return M.dispatchCustomEvent(t,this.element)},onClick(t){this._eventOriginatedInsideMenu(t)||this._eventOriginatedInsideHyperlink(t)||(this._isOpen()?this.close():this.open())},_eventOriginatedInsideMenu(t){return this.menuElement.contains(t.target)},_eventOriginatedInsideHyperlink:t=>t.target.closest("a"),_onDocumentClick(t){this._clickOriginatedOutsideDropdown(t)&&this._isOpen()&&this.close()},_clickOriginatedOutsideDropdown(t){return!this.element.contains(t.target)},onKeydown(t){switch(t.keyCode){case P:this._handleEscapeKey();break;case D:t.preventDefault(),this._handleUpKey(t);break;case w:t.preventDefault(),this._handleDownKey(t);break;case B:this._handleTabKey(t)}},_handleEscapeKey(){this.close(),this.toggleElement.focus()},_handleUpKey(t){t.preventDefault(),this._eventOriginatedInsideMenu(t)&&this._focusPreviousMenuItem(t)},_focusPreviousMenuItem(t){const e=this._getCurrentMenuItemIndex(t),i=this.menuItems[e-1];if(!i&&void 0!==this.lastMenuItem)return this.lastMenuItem.focus();i.focus()},_getCurrentMenuItemIndex(t){for(let e=0;e<this.menuItems.length;e++)if(t.target==this.menuItems[e])return e},_handleDownKey(t){t.preventDefault(),this._isOpen()||this.open(),this._eventOriginatedInsideMenu(t)?this._focusNextMenuItem(t):this.firstMenuItem.focus()},_focusNextMenuItem(t){const e=this._getCurrentMenuItemIndex(t),i=this.menuItems[e+1];if(!i)return this.firstMenuItem.focus();i.focus()},_handleTabKey(t){this._eventOriginatedInsideMenu(t)&&this._userTabbedOutOfLastMenuItem(t)&&this.close()},_userTabbedOutOfLastMenuItem(t){return document.activeElement==this.lastMenuItem&&!t.shiftKey}}}}class W extends M{static get selector(){return"[data-rvt-file-input]"}static get methods(){return{init(){this._initSelectors(),this._initElements(),this._initProperties()},_initSelectors(){this.inputElementAttribute="data-rvt-file-input-button",this.previewElementAttribute="data-rvt-file-input-preview",this.inputElementSelector=`[${this.inputElementAttribute}]`,this.previewElementSelector=`[${this.previewElementAttribute}]`},_initElements(){this.inputElement=this.element.querySelector(this.inputElementSelector),this.previewElement=this.element.querySelector(this.previewElementSelector)},_initProperties(){this.defaultPreviewText=this.previewElement.textContent},connected(){M.dispatchComponentAddedEvent(this.element)},disconnected(){M.dispatchComponentRemovedEvent(this.element)},onChange(t){if(this._hasAttachedFiles()){if(!this._attachEventDispatched())return;this._hasMultipleAttachedFiles()?this._showNumberOfAttachedFiles():this._showAttachedFilename()}else this._resetPreviewTextToDefault()},_hasAttachedFiles(){return this.inputElement.files.length>0},_attachEventDispatched(){const t=Array.from(this.inputElement.files).map((t=>t.name));return M.dispatchCustomEvent("FileAttached",this.element,{files:t})},_hasMultipleAttachedFiles(){return this.inputElement.files.length>1},_showNumberOfAttachedFiles(){this.previewElement.textContent=this.inputElement.files.length+" files selected"},_showAttachedFilename(){this.previewElement.textContent=this._getSanitizedFilename()},_getSanitizedFilename(){return this.inputElement.files[0].name.replace(/[^\w\s.-]+/gi,"")},_resetPreviewTextToDefault(){this.previewElement.textContent=this.defaultPreviewText}}}}class U extends M{static get selector(){return"[data-rvt-sidenav]"}static get methods(){return{init(){this._initSelectors(),this._initElements(),this._initAttributes(),this._setInitialChildMenuStates(),M.bindMethodToDOMElement(this,"open",this.open),M.bindMethodToDOMElement(this,"close",this.close)},_initSelectors(){this.toggleAttribute="data-rvt-sidenav-toggle",this.childMenuAttribute="data-rvt-sidenav-list",this.toggleSelector=`[${this.toggleAttribute}]`,this.childMenuSelector=`[${this.childMenuAttribute}]`},_initElements(){this.childMenuToggleButtons=Array.from(this.element.querySelectorAll(this.toggleSelector)),this.childMenus=Array.from(this.element.querySelectorAll(this.childMenuSelector))},_initAttributes(){this._assignComponentElementIds()},_assignComponentElementIds(){this._assignToggleIds(),this._assignChildMenuIds()},_assignToggleIds(){this.childMenuToggleButtons.forEach((t=>{M.setAttributeIfNotSpecified(t,this.toggleAttribute,M.generateUniqueId())}))},_assignChildMenuIds(){const t=this.childMenus.length;for(let e=0;e<t;e++){const t=this.childMenuToggleButtons[e],i=this.childMenus[e],s=t.getAttribute(this.toggleAttribute);M.setAttributeIfNotSpecified(i,this.childMenuAttribute,s)}},_setInitialChildMenuStates(){this._shouldOpenAllChildMenus()?this._openAllChildMenus():this._setChildMenuDefaultStates()},_shouldOpenAllChildMenus(){return this.element.hasAttribute("data-rvt-sidenav-open-all")},_openAllChildMenus(){this.childMenuToggleButtons.forEach(((t,e)=>{t.setAttribute("aria-expanded","true"),this.childMenus[e].removeAttribute("hidden")}))},_setChildMenuDefaultStates(){this.childMenuToggleButtons.forEach(((t,e)=>{"true"===t.getAttribute("aria-expanded")?this.childMenus[e].removeAttribute("hidden"):(t.setAttribute("aria-expanded","false"),this.childMenus[e].setAttribute("hidden",""))}))},connected(){M.dispatchComponentAddedEvent(this.element),M.watchForDOMChanges(this)},disconnected(){M.dispatchComponentRemovedEvent(this.element),M.stopWatchingForDOMChanges(this)},onClick(t){this._clickOriginatedInChildMenuToggleButton(t)&&(this._setChildMenuToToggle(t),this._childMenuToToggleExists()&&(this._childMenuToToggleIsOpen()?this.close(this.childMenuToToggleId):this.open(this.childMenuToToggleId)))},_clickOriginatedInChildMenuToggleButton(t){return t.target.closest(this.toggleSelector)},_setChildMenuToToggle(t){this.childMenuToToggleId=t.target.closest(this.toggleSelector).dataset.rvtSidenavToggle,this.childMenuToToggle=this.element.querySelector(`[${this.childMenuAttribute} = "${this.childMenuToToggleId}"]`)},_childMenuToToggleExists(){return this.childMenuToToggle&&""!==this.childMenuToToggle.getAttribute(this.childMenuAttribute)},_childMenuToToggleIsOpen(){return!this.childMenuToToggle.hasAttribute("hidden")},open(t){this._setChildMenuToOpen(t),this._childMenuExists(t)?this._eventDispatched("SidenavListOpened",this.childMenuToOpen)&&this._openChildMenu():console.warn(`No such subnav child menu '${t}' in open()`)},_setChildMenuToOpen(t){this.childMenuToOpenToggleButton=this.element.querySelector(`[${this.toggleAttribute} = "${t}"]`),this.childMenuToOpen=this.element.querySelector(`[${this.childMenuAttribute} = "${t}"]`)},_openChildMenu(){this.childMenuToOpenToggleButton.setAttribute("aria-expanded","true"),this.childMenuToOpen.removeAttribute("hidden")},close(t){this._setChildMenuToClose(t),this._childMenuExists(t)?this._eventDispatched("SidenavListClosed",this.childMenuToClose)&&this._closeChildMenu():console.warn(`No such subnav child menu '${t}' in close()`)},_setChildMenuToClose(t){this.childMenuToCloseToggleButton=this.element.querySelector(`[${this.toggleAttribute} = "${t}"]`),this.childMenuToClose=this.element.querySelector(`[${this.childMenuAttribute} = "${t}"]`)},_closeChildMenu(){this.childMenuToCloseToggleButton.setAttribute("aria-expanded","false"),this.childMenuToClose.setAttribute("hidden","")},_childMenuExists(t){const e=this.element.querySelector(`[${this.toggleAttribute} = "${t}"]`),i=this.element.querySelector(`[${this.childMenuAttribute} = "${t}"]`);return e&&i},_eventDispatched(t,e){return M.dispatchCustomEvent(t,this.element,{list:e})}}}}class j extends M{static get selector(){return"[data-rvt-switch]"}static get methods(){return{init(){this._initProperties(),this._setInitialState(),M.bindMethodToDOMElement(this,"switchOn",this.switchOn),M.bindMethodToDOMElement(this,"switchOff",this.switchOff)},_initProperties(){this.on=!1},_setInitialState(){this._hideLabelsFromAssistiveTech(),this._setInitialToggleState()},_hideLabelsFromAssistiveTech(){this.element.querySelectorAll("span").forEach((t=>t.setAttribute("aria-hidden",!0)))},_setInitialToggleState(){this.element.setAttribute("aria-checked","false"),this._shouldBeOnByDefault()&&this.switchOn($)},_shouldBeOnByDefault(){return this.element.hasAttribute("data-rvt-switch-on")},connected(){M.dispatchComponentAddedEvent(this.element)},disconnected(){M.dispatchComponentRemovedEvent(this.element)},onClick(t){this._isOn()?this.switchOff():this.switchOn()},_isOn(){return this.on},switchOn(t=!1){this._isOn()||(t||this._eventDispatched("SwitchToggledOn"))&&this._setOnState()},_setOnState(){this.on=!0,this.element.setAttribute("aria-checked","true")},switchOff(t=!1){this._isOn()&&(t||this._eventDispatched("SwitchToggledOff"))&&this._setOffState()},_setOffState(){this.on=!1,this.element.setAttribute("aria-checked","false")},_eventDispatched(t){return M.dispatchCustomEvent(t,this.element)}}}}class z extends M{static get selector(){return"[data-rvt-tabs]"}static get methods(){return{init(){this._initSelectors(),this._initElements(),this._initProperties(),this._initAttributes(),M.bindMethodToDOMElement(this,"activateTab",this.activateTab),M.bindMethodToDOMElement(this,"addTab",this.addTab),M.bindMethodToDOMElement(this,"removeTab",this.removeTab)},_initSelectors(){this.tabAttribute="data-rvt-tab",this.panelAttribute="data-rvt-tab-panel",this.tabSelector=`[${this.tabAttribute}]`,this.panelSelector=`[${this.panelAttribute}]`,this.tablistSelector="[data-rvt-tablist]",this.initialTabSelector="[data-rvt-tab-init]"},_initElements(){this.tablist=this.element.querySelector(this.tablistSelector),this.tabs=Array.from(this.element.querySelectorAll(this.tabSelector)),this.panels=Array.from(this.element.querySelectorAll(this.panelSelector)),this.tablist||(this.tablist=this.tabs[0].parentElement)},_initProperties(){this.activeTab=null},_initAttributes(){this._assignComponentElementIds(),this._setTabButtonAttributes(),this._setAriaAttributes()},_assignComponentElementIds(){this._assignTabIds(),this._assignPanelIds()},_assignTabIds(){this.tabs.forEach((t=>{M.setAttributeIfNotSpecified(t,this.tabAttribute,M.generateUniqueId()),M.setAttributeIfNotSpecified(t,"id",M.generateUniqueId())}))},_assignPanelIds(){const t=this.panels.length;for(let e=0;e<t;e++){const t=this.tabs[e],i=this.panels[e],s=t.getAttribute(this.tabAttribute);M.setAttributeIfNotSpecified(i,this.panelAttribute,s),M.setAttributeIfNotSpecified(i,"id",s)}},_setTabButtonAttributes(){this.tabs.forEach((t=>{M.setAttributeIfNotSpecified(t,"type","button")}))},_setAriaAttributes(){this.tablist.setAttribute("role","tablist"),this.tabs.forEach((t=>t.setAttribute("role","tab"))),this.panels.forEach((t=>{t.setAttribute("role","tabpanel"),t.setAttribute("tabindex",0)}));for(let t=0;t<this.tabs.length;t++){const e=this.tabs[t],i=this.panels[t],s=e.getAttribute("id");i.setAttribute("aria-labelledby",s)}},connected(){M.dispatchComponentAddedEvent(this.element),M.watchForDOMChanges(this),this._activateInitialTab()},_activateInitialTab(){const t=this.element.querySelector(this.initialTabSelector),e=this.panels[0];t?this.activateTab(t.getAttribute(this.panelAttribute),$):this.activateTab(e.getAttribute(this.panelAttribute),$)},disconnected(){M.dispatchComponentRemovedEvent(this.element),M.stopWatchingForDOMChanges(this)},onClick(t){this._eventOriginatedInsideTab(t)&&this.activateTab(this._getClickedTabId(t))},_eventOriginatedInsideTab(t){return t.target.closest(this.tabSelector)},_getClickedTabId(t){return t.target.closest(this.tabSelector).getAttribute(this.tabAttribute)},onKeydown(t){if(this._eventOriginatedInsideTab(t))switch(this._setNeighboringTabIndexes(t),t.keyCode){case x:t.preventDefault(),this._focusPreviousTab();break;case k:t.preventDefault(),this._focusNextTab();break;case F:t.preventDefault(),this._focusFirstTab();break;case N:t.preventDefault(),this._focusLastTab()}},_setNeighboringTabIndexes(t){const e=t.target.closest(this.tabSelector);this.previousTabIndex=this.tabs.indexOf(e)-1,this.nextTabIndex=this.tabs.indexOf(e)+1},_focusPreviousTab(){this.tabs[this.previousTabIndex]?this.tabs[this.previousTabIndex].focus():this.tabs[this.tabs.length-1].focus()},_focusNextTab(){this.tabs[this.nextTabIndex]?this.tabs[this.nextTabIndex].focus():this.tabs[0].focus()},_focusFirstTab(){this.tabs[0].focus()},_focusLastTab(){this.tabs[this.tabs.length-1].focus()},activateTab(t,e=!1){const i=this._tabIndexWasPassed(t)?this._getTabIdFromIndex(t):t;this._setTabToActivate(i),this._tabToActivateExists()?(e||this._tabActivatedEventDispatched())&&(this._deactivateUnselectedTabs(),this._activateSelectedTab()):console.warn(`No such tab '${i}' in activateTab()`)},_tabIndexWasPassed:t=>"number"==typeof t,_getTabIdFromIndex(t){return this.tabs[t]?this.tabs[t].getAttribute(this.tabAttribute):null},_setTabToActivate(t){this.tabToActivate=this.element.querySelector(`[${this.tabAttribute} = "${t}"]`),this.panelToActivate=this.element.querySelector(`[${this.panelAttribute} = "${t}"]`)},_tabToActivateExists(){return this.tabToActivate&&this.panelToActivate},_tabActivatedEventDispatched(){return M.dispatchCustomEvent("TabActivated",this.element,{tab:this.panelToActivate})},_deactivateUnselectedTabs(){this.panels.forEach(((t,e)=>{this._panelShouldBeActivated(t)||this._deactivateTab(t,e)}))},_panelShouldBeActivated(t){return t.getAttribute(this.panelAttribute)===this.panelToActivate.dataset.rvtTabPanel},_deactivateTab(t,e){t.setAttribute("hidden",""),this.tabs[e].setAttribute("aria-selected","false"),this.tabs[e].setAttribute("tabindex","-1")},_activateSelectedTab(){this.tabToActivate.setAttribute("aria-selected","true"),this.tabToActivate.removeAttribute("tabindex"),this.panelToActivate.removeAttribute("hidden"),this.activeTab=this.tabToActivate},addTab(t,e=!1){const i=this._createNewTabElement(t),s=this._createNewPanelElement(i);if(e||this._tabAddedEventDispatched(i,s))return this.tablist.appendChild(i),this.element.appendChild(s),{tab:i,panel:s}},_createNewTabElement(t){const e=document.createElement("button");return e.textContent=t,e.classList.add("rvt-tabs__tab"),e.setAttribute(this.tabAttribute,M.generateUniqueId()),e.setAttribute("id",M.generateUniqueId()),e.setAttribute("role","tab"),e.setAttribute("aria-selected",!1),e.setAttribute("tabindex",-1),e},_createNewPanelElement(t){const e=document.createElement("div");return e.classList.add("rvt-tabs__panel"),e.setAttribute(this.panelAttribute,t.getAttribute(this.tabAttribute)),e.setAttribute("id",t.getAttribute(this.tabAttribute)),e.setAttribute("role","tabpanel"),e.setAttribute("tabindex",0),e.setAttribute("aria-labelledby",t.getAttribute("id")),e.setAttribute("hidden",!0),e},_tabAddedEventDispatched(t,e){return M.dispatchCustomEvent("TabAdded",this.element,{tab:t,panel:e})},removeTab(t){const e=this._tabIndexWasPassed(t)?this._getTabIdFromIndex(t):t;this._setTabToRemove(e),this._tabToRemoveExists()?this._tabRemovedEventDispatched()&&(this._removedTabWasActiveTab()&&this._activateTabNearestToRemovedTab(),this._removeTab()):console.warn(`No such tab '${e}' in removeTab()`)},_setTabToRemove(t){this.tabToRemove=this.element.querySelector(`[${this.tabAttribute}="${t}"]`),this.panelToRemove=this.element.querySelector(`[${this.panelAttribute} = "${t}"]`)},_tabToRemoveExists(){return this.tabToRemove&&this.panelToRemove},_tabRemovedEventDispatched(){return M.dispatchCustomEvent("TabRemoved",this.element,{tab:this.tabToRemove,panel:this.panelToRemove})},_removedTabWasActiveTab(){return this.tabToRemove===this.activeTab},_activateTabNearestToRemovedTab(){const t=this.tabToRemove.previousElementSibling,e=this.tabToRemove.nextElementSibling;t?this.activateTab(t.dataset.rvtTab):e&&this.activateTab(e.dataset.rvtTab)},_removeTab(){this.tabToRemove.remove(),this.panelToRemove.remove()}}}}t.Accordion=q,t.Alert=L,t.Dialog=R,t.Disclosure=H,t.Dropdown=K,t.FileInput=W,t.Sidenav=U,t.Switch=j,t.Tabs=z,t.init=function(){q.initAll(),L.initAll(),H.initAll(),K.initAll(),W.initAll(),R.initAll(),U.initAll(),j.initAll(),z.initAll()},Object.defineProperty(t,"__esModule",{value:!0})}));
//# sourceMappingURL=/sm/d7d71308f8a3039f54cf729ed608560254114ae0fd6198cd73c04a3980dd256c.map