ariadne_view_components 0.0.80.3 → 0.0.81

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/app/assets/javascripts/ariadne_view_components.js +14 -14
  4. data/app/assets/javascripts/ariadne_view_components.js.br +0 -0
  5. data/app/assets/javascripts/ariadne_view_components.js.gz +0 -0
  6. data/app/assets/javascripts/ariadne_view_components.js.map +1 -1
  7. data/app/assets/stylesheets/ariadne_view_components.css +1 -1
  8. data/app/assets/stylesheets/ariadne_view_components.css.br +0 -0
  9. data/app/assets/stylesheets/ariadne_view_components.css.gz +0 -0
  10. data/app/components/ariadne/base_component.rb +5 -1
  11. data/app/components/ariadne/form/checkbox/component.html.erb +21 -5
  12. data/app/components/ariadne/form/checkbox/component.rb +36 -0
  13. data/app/components/ariadne/form/text_field/component.rb +26 -23
  14. data/app/components/ariadne/ui/badge/component.rb +12 -17
  15. data/app/components/ariadne/ui/button/component.rb +1 -0
  16. data/app/components/ariadne/ui/combobox/component.html.erb +5 -17
  17. data/app/components/ariadne/ui/combobox/component.rb +8 -28
  18. data/app/components/ariadne/ui/combobox/component.ts +24 -39
  19. data/app/components/ariadne/ui/list/component.html.erb +28 -4
  20. data/app/components/ariadne/ui/list/component.rb +104 -1
  21. data/app/components/ariadne/ui/list/component.ts +57 -0
  22. data/app/components/ariadne/ui/popover/component.html.erb +4 -4
  23. data/app/components/ariadne/ui/popover/component.rb +3 -1
  24. data/app/components/ariadne/ui/popover/component.ts +1 -1
  25. data/app/components/ariadne/ui/typography/component.rb +14 -0
  26. data/app/frontend/ariadne/stimulus_app.ts +2 -2
  27. data/app/frontend/controllers/{autosubmittable_controller.ts → form_autosubmit_controller.ts} +1 -2
  28. data/app/lib/ariadne/view_component/style_variants.rb +50 -0
  29. data/lib/ariadne/view_components/version.rb +1 -1
  30. metadata +4 -9
  31. data/app/components/ariadne/ui/combobox/item/component.html.erb +0 -9
  32. data/app/components/ariadne/ui/combobox/item/component.rb +0 -61
  33. data/app/components/ariadne/ui/combobox/option/component.html.erb +0 -11
  34. data/app/components/ariadne/ui/combobox/option/component.rb +0 -44
  35. data/app/components/ariadne/ui/list/item/component.html.erb +0 -16
  36. data/app/components/ariadne/ui/list/item/component.rb +0 -17
@@ -1,4 +1,4 @@
1
- function zs(n,t=0,{start:e=!0,middle:s=!0,once:i=!1}={}){let r=e,o=0,a,c=!1;function l(...u){if(c)return;const d=Date.now()-o;o=Date.now(),e&&s&&d>=t&&(r=!0),r?(r=!1,n.apply(this,u),i&&l.cancel()):(s&&d<t||!s)&&(clearTimeout(a),a=setTimeout(()=>{o=Date.now(),n.apply(this,u),i&&l.cancel()},s?t-d:t))}return l.cancel=()=>{clearTimeout(a),c=!0},l}function Ys(n,t=0,{start:e=!1,middle:s=!1,once:i=!1}={}){return zs(n,t,{start:e,middle:s,once:i})}var ae=function(n,t,e,s){if(e==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?n!==t||!s:!t.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?s:e==="a"?s.call(n):s?s.value:t.get(n)},Xs=function(n,t,e,s,i){if(s==="m")throw new TypeError("Private method is not writable");if(s==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?n!==t||!i:!t.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?i.call(n,e):i?i.value=e:t.set(n,e),e},nt;const kt=new WeakMap;class se extends Event{constructor(t){super(`auto-check-${t}`,{bubbles:!0}),this.phase=t}get detail(){return this}}class ts extends se{constructor(t,e=""){super(t),this.phase=t,this.message=e,this.setValidity=s=>{this.message=s}}}class Ze extends se{constructor(){super("complete")}}class Gs extends se{constructor(t){super("success"),this.response=t}}class Zs extends ts{constructor(){super("start","Verifying…")}}class Js extends ts{constructor(t){super("error","Validation failed"),this.response=t}}class Qs extends se{constructor(t){super("send"),this.body=t}}class es extends HTMLElement{constructor(){super(...arguments),nt.set(this,null)}static define(t="auto-check",e=customElements){return e.define(t,this),this}get onloadend(){return ae(this,nt,"f")}set onloadend(t){ae(this,nt,"f")&&this.removeEventListener("loadend",ae(this,nt,"f")),Xs(this,nt,typeof t=="object"||typeof t=="function"?t:null,"f"),typeof t=="function"&&this.addEventListener("loadend",t)}connectedCallback(){const t=this.input;if(!t)return;const e=Ys(ni.bind(null,this),300),s={check:e,controller:null};kt.set(this,s),t.addEventListener("input",Je),t.addEventListener("input",e),t.autocomplete="off",t.spellcheck=!1}disconnectedCallback(){const t=this.input;if(!t)return;const e=kt.get(this);e&&(kt.delete(this),t.removeEventListener("input",Je),t.removeEventListener("input",e.check),t.setCustomValidity(""))}attributeChangedCallback(t){if(t==="required"){const e=this.input;if(!e)return;e.required=this.required}}static get observedAttributes(){return["required"]}get input(){return this.querySelector("input")}get src(){const t=this.getAttribute("src");if(!t)return"";const e=this.ownerDocument.createElement("a");return e.href=t,e.href}set src(t){this.setAttribute("src",t)}get csrf(){const t=this.querySelector("[data-csrf]");return this.getAttribute("csrf")||t instanceof HTMLInputElement&&t.value||""}set csrf(t){this.setAttribute("csrf",t)}get required(){return this.hasAttribute("required")}set required(t){t?this.setAttribute("required",""):this.removeAttribute("required")}get csrfField(){return this.getAttribute("csrf-field")||"authenticity_token"}set csrfField(t){this.setAttribute("csrf-field",t)}}nt=new WeakMap;function Je(n){const t=n.currentTarget;if(!(t instanceof HTMLInputElement))return;const e=t.closest("auto-check");if(!(e instanceof es))return;const s=e.src,i=e.csrf,r=kt.get(e);if(!s||!i||!r)return;const o=new Zs;t.dispatchEvent(o),e.required&&t.setCustomValidity(o.message)}function ti(){return"AbortController"in window?new AbortController:{signal:null,abort(){}}}async function ei(n,t,e){try{const s=await fetch(t,e);return n.dispatchEvent(new Event("load")),n.dispatchEvent(new Event("loadend")),s}catch(s){throw s.name!=="AbortError"&&(n.dispatchEvent(new Event("error")),n.dispatchEvent(new Event("loadend"))),s}}async function ni(n){const t=n.input;if(!t)return;const e=n.csrfField,s=n.src,i=n.csrf,r=kt.get(n);if(!s||!i||!r){n.required&&t.setCustomValidity("");return}if(!t.value.trim()){n.required&&t.setCustomValidity("");return}const o=new FormData;o.append(e,i),o.append("value",t.value),t.dispatchEvent(new Qs(o)),r.controller?r.controller.abort():n.dispatchEvent(new Event("loadstart")),r.controller=ti();try{const a=await ei(n,s,{credentials:"same-origin",signal:r.controller.signal,method:"POST",body:o});if(a.ok)n.required&&t.setCustomValidity(""),t.dispatchEvent(new Gs(a.clone()));else{const c=new Js(a.clone());t.dispatchEvent(c),n.required&&t.setCustomValidity(c.message)}r.controller=null,t.dispatchEvent(new Ze)}catch(a){a.name!=="AbortError"&&(r.controller=null,t.dispatchEvent(new Ze))}}const Qe=typeof globalThis<"u"?globalThis:window;try{Qe.AutoCheckElement=es.define()}catch(n){if(!(Qe.DOMException&&n instanceof DOMException&&n.name==="NotSupportedError")&&!(n instanceof ReferenceError))throw n}class si{constructor(t,e,{tabInsertsSuggestions:s,defaultFirstOption:i}={}){this.input=t,this.list=e,this.tabInsertsSuggestions=s??!0,this.defaultFirstOption=i??!1,this.isComposing=!1,e.id||(e.id=`combobox-${Math.random().toString().slice(2,6)}`),this.ctrlBindings=!!navigator.userAgent.match(/Macintosh/),this.keyboardEventHandler=r=>ii(r,this),this.compositionEventHandler=r=>oi(r,this),this.inputHandler=this.clearSelection.bind(this),t.setAttribute("role","combobox"),t.setAttribute("aria-controls",e.id),t.setAttribute("aria-expanded","false"),t.setAttribute("aria-autocomplete","list"),t.setAttribute("aria-haspopup","listbox")}destroy(){this.clearSelection(),this.stop(),this.input.removeAttribute("role"),this.input.removeAttribute("aria-controls"),this.input.removeAttribute("aria-expanded"),this.input.removeAttribute("aria-autocomplete"),this.input.removeAttribute("aria-haspopup")}start(){this.input.setAttribute("aria-expanded","true"),this.input.addEventListener("compositionstart",this.compositionEventHandler),this.input.addEventListener("compositionend",this.compositionEventHandler),this.input.addEventListener("input",this.inputHandler),this.input.addEventListener("keydown",this.keyboardEventHandler),this.list.addEventListener("click",tn),this.indicateDefaultOption()}stop(){this.clearSelection(),this.input.setAttribute("aria-expanded","false"),this.input.removeEventListener("compositionstart",this.compositionEventHandler),this.input.removeEventListener("compositionend",this.compositionEventHandler),this.input.removeEventListener("input",this.inputHandler),this.input.removeEventListener("keydown",this.keyboardEventHandler),this.list.removeEventListener("click",tn)}indicateDefaultOption(){var t;this.defaultFirstOption&&((t=Array.from(this.list.querySelectorAll('[role="option"]:not([aria-disabled="true"])')).filter(ce)[0])===null||t===void 0||t.setAttribute("data-combobox-option-default","true"))}navigate(t=1){const e=Array.from(this.list.querySelectorAll('[aria-selected="true"]')).filter(ce)[0],s=Array.from(this.list.querySelectorAll('[role="option"]')).filter(ce),i=s.indexOf(e);if(i===s.length-1&&t===1||i===0&&t===-1){this.clearSelection(),this.input.focus();return}let r=t===1?0:s.length-1;if(e&&i>=0){const a=i+t;a>=0&&a<s.length&&(r=a)}const o=s[r];if(o)for(const a of s)a.removeAttribute("data-combobox-option-default"),o===a?(this.input.setAttribute("aria-activedescendant",o.id),o.setAttribute("aria-selected","true"),ai(this.list,o)):a.removeAttribute("aria-selected")}clearSelection(){this.input.removeAttribute("aria-activedescendant");for(const t of this.list.querySelectorAll('[aria-selected="true"]'))t.removeAttribute("aria-selected");this.indicateDefaultOption()}}function ii(n,t){if(!(n.shiftKey||n.metaKey||n.altKey)&&!(!t.ctrlBindings&&n.ctrlKey)&&!t.isComposing)switch(n.key){case"Enter":en(t.input,t.list)&&n.preventDefault();break;case"Tab":t.tabInsertsSuggestions&&en(t.input,t.list)&&n.preventDefault();break;case"Escape":t.clearSelection();break;case"ArrowDown":t.navigate(1),n.preventDefault();break;case"ArrowUp":t.navigate(-1),n.preventDefault();break;case"n":t.ctrlBindings&&n.ctrlKey&&(t.navigate(1),n.preventDefault());break;case"p":t.ctrlBindings&&n.ctrlKey&&(t.navigate(-1),n.preventDefault());break;default:if(n.ctrlKey)break;t.clearSelection()}}function tn(n){if(!(n.target instanceof Element))return;const t=n.target.closest('[role="option"]');t&&t.getAttribute("aria-disabled")!=="true"&&ri(t,{event:n})}function en(n,t){const e=t.querySelector('[aria-selected="true"], [data-combobox-option-default="true"]');return e?(e.getAttribute("aria-disabled")==="true"||e.click(),!0):!1}function ri(n,t){n.dispatchEvent(new CustomEvent("combobox-commit",{bubbles:!0,detail:t}))}function ce(n){return!n.hidden&&!(n instanceof HTMLInputElement&&n.type==="hidden")&&(n.offsetWidth>0||n.offsetHeight>0)}function oi(n,t){t.isComposing=n.type==="compositionstart",document.getElementById(t.input.getAttribute("aria-controls")||"")&&t.clearSelection()}function ai(n,t){ci(n,t)||(n.scrollTop=t.offsetTop)}function ci(n,t){const e=n.scrollTop,s=e+n.clientHeight,i=t.offsetTop,r=i+t.clientHeight;return i>=e&&r<=s}function li(n,t=0){let e;return function(...s){clearTimeout(e),e=window.setTimeout(()=>{clearTimeout(e),n(...s)},t)}}const ui=window.testScreenReaderDelay||100;class di{constructor(t,e,s,i=!1){var r;if(this.container=t,this.input=e,this.results=s,this.combobox=new si(e,s,{defaultFirstOption:i}),this.feedback=t.getRootNode().getElementById(`${this.results.id}-feedback`),this.autoselectEnabled=i,this.clearButton=t.getRootNode().getElementById(`${this.input.id||this.input.name}-clear`),this.clientOptions=s.querySelectorAll("[role=option]"),this.feedback&&(this.feedback.setAttribute("aria-live","polite"),this.feedback.setAttribute("aria-atomic","true")),this.clearButton&&!this.clearButton.getAttribute("aria-label")){const o=document.querySelector(`label[for="${this.input.name}"]`);this.clearButton.setAttribute("aria-label","clear:"),this.clearButton.setAttribute("aria-labelledby",`${this.clearButton.id} ${(o==null?void 0:o.id)||""}`)}this.input.getAttribute("aria-expanded")||this.input.setAttribute("aria-expanded","false"),this.results.popover?this.results.matches(":popover-open")&&this.results.hidePopover():this.results.hidden=!0,this.results.getAttribute("aria-label")||this.results.setAttribute("aria-label","results"),this.input.setAttribute("autocomplete","off"),this.input.setAttribute("spellcheck","false"),this.interactingWithList=!1,this.onInputChange=li(this.onInputChange.bind(this),300),this.onResultsMouseDown=this.onResultsMouseDown.bind(this),this.onInputBlur=this.onInputBlur.bind(this),this.onInputFocus=this.onInputFocus.bind(this),this.onKeydown=this.onKeydown.bind(this),this.onCommit=this.onCommit.bind(this),this.handleClear=this.handleClear.bind(this),this.input.addEventListener("keydown",this.onKeydown),this.input.addEventListener("focus",this.onInputFocus),this.input.addEventListener("blur",this.onInputBlur),this.input.addEventListener("input",this.onInputChange),this.results.addEventListener("mousedown",this.onResultsMouseDown),this.results.addEventListener("combobox-commit",this.onCommit),(r=this.clearButton)===null||r===void 0||r.addEventListener("click",this.handleClear)}destroy(){this.input.removeEventListener("keydown",this.onKeydown),this.input.removeEventListener("focus",this.onInputFocus),this.input.removeEventListener("blur",this.onInputBlur),this.input.removeEventListener("input",this.onInputChange),this.results.removeEventListener("mousedown",this.onResultsMouseDown),this.results.removeEventListener("combobox-commit",this.onCommit)}handleClear(t){t.preventDefault(),this.input.getAttribute("aria-expanded")==="true"&&(this.input.setAttribute("aria-expanded","false"),this.updateFeedbackForScreenReaders("Results hidden.")),this.input.value="",this.container.value="",this.input.focus(),this.input.dispatchEvent(new Event("change")),this.close()}onKeydown(t){if(t.key==="Escape"&&this.container.open)this.close(),t.stopPropagation(),t.preventDefault();else if(t.altKey&&t.key==="ArrowUp"&&this.container.open)this.close(),t.stopPropagation(),t.preventDefault();else if(t.altKey&&t.key==="ArrowDown"&&!this.container.open){if(!this.input.value.trim())return;this.open(),t.stopPropagation(),t.preventDefault()}}onInputFocus(){this.interactingWithList||this.fetchResults()}onInputBlur(){this.interactingWithList||this.close()}onCommit({target:t}){const e=t;if(!(e instanceof HTMLElement)||(this.close(),e instanceof HTMLAnchorElement))return;const s=e.getAttribute("data-autocomplete-value")||e.textContent;this.updateFeedbackForScreenReaders(`${e.textContent||""} selected.`),this.container.value=s,s||this.updateFeedbackForScreenReaders("Results hidden.")}onResultsMouseDown(){this.interactingWithList=!0}onInputChange(){this.feedback&&this.feedback.textContent&&(this.feedback.textContent=""),this.container.removeAttribute("value"),this.fetchResults()}identifyOptions(){let t=0;for(const e of this.results.querySelectorAll('[role="option"]:not([id])'))e.id=`${this.results.id}-option-${t++}`}updateFeedbackForScreenReaders(t){setTimeout(()=>{this.feedback&&(this.feedback.textContent=t)},ui)}fetchResults(){const t=this.input.value.trim();if(!t&&!this.container.fetchOnEmpty){this.close();return}const e=this.container.src;if(!e)return;const s=new URL(e,window.location.href),i=new URLSearchParams(s.search.slice(1));i.append("q",t),s.search=i.toString(),this.container.dispatchEvent(new CustomEvent("loadstart")),this.container.fetchResult(s).then(r=>{this.results.innerHTML=r,this.identifyOptions(),this.combobox.indicateDefaultOption();const o=this.results.querySelectorAll('[role="option"]'),a=!!o.length,c=o.length,[l]=o,u=l==null?void 0:l.textContent;this.autoselectEnabled&&u?this.updateFeedbackForScreenReaders(`${c} results. ${u} is the top result: Press Enter to activate.`):this.updateFeedbackForScreenReaders(`${c||"No"} results.`),a?this.open():this.close(),this.container.dispatchEvent(new CustomEvent("load")),this.container.dispatchEvent(new CustomEvent("loadend"))}).catch(()=>{this.container.dispatchEvent(new CustomEvent("error")),this.container.dispatchEvent(new CustomEvent("loadend"))})}open(){(this.results.popover?!this.results.matches(":popover-open"):this.results.hidden)&&(this.combobox.start(),this.results.popover?this.results.showPopover():this.results.hidden=!1),this.container.open=!0,this.interactingWithList=!0}close(){(this.results.popover?this.results.matches(":popover-open"):!this.results.hidden)&&(this.combobox.stop(),this.results.popover?this.results.hidePopover():this.results.hidden=!0),this.container.open=!1,this.interactingWithList=!1}}var P=function(n,t,e,s){if(e==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?n!==t||!s:!t.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?s:e==="a"?s.call(n):s?s.value:t.get(n)},le=function(n,t,e,s,i){if(s==="m")throw new TypeError("Private method is not writable");if(s==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?n!==t||!i:!t.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?i.call(n,e):i?i.value=e:t.set(n,e),e},hi=function(n,t){var e={};for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&t.indexOf(s)<0&&(e[s]=n[s]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,s=Object.getOwnPropertySymbols(n);i<s.length;i++)t.indexOf(s[i])<0&&Object.prototype.propertyIsEnumerable.call(n,s[i])&&(e[s[i]]=n[s[i]]);return e},st,yt,wt,Et,Kt;const fi=globalThis.HTMLElement||null;class mi extends Event{constructor(t,e){var{relatedTarget:s}=e,i=hi(e,["relatedTarget"]);super(t,i),this.relatedTarget=s}}const V=new WeakMap;let ue=null;class pi extends fi{constructor(){super(...arguments),st.add(this),yt.set(this,null),wt.set(this,null),Kt.set(this,void 0)}static define(t="auto-complete",e=customElements){return e.define(t,this),this}static setCSPTrustedTypesPolicy(t){ue=t===null?t:Promise.resolve(t)}get forElement(){var t;if(!((t=P(this,yt,"f"))===null||t===void 0)&&t.isConnected)return P(this,yt,"f");const e=this.getAttribute("for"),s=this.getRootNode();return e&&(s instanceof Document||s instanceof ShadowRoot)?s.getElementById(e):null}set forElement(t){le(this,yt,t,"f"),this.setAttribute("for","")}get inputElement(){var t;return!((t=P(this,wt,"f"))===null||t===void 0)&&t.isConnected?P(this,wt,"f"):this.querySelector("input")}set inputElement(t){le(this,wt,t,"f"),P(this,st,"m",Et).call(this)}connectedCallback(){this.isConnected&&(P(this,st,"m",Et).call(this),new MutationObserver(()=>{V.get(this)||P(this,st,"m",Et).call(this)}).observe(this,{subtree:!0,childList:!0}))}disconnectedCallback(){const t=V.get(this);t&&(t.destroy(),V.delete(this))}get src(){return this.getAttribute("src")||""}set src(t){this.setAttribute("src",t)}get value(){return this.getAttribute("value")||""}set value(t){this.setAttribute("value",t)}get open(){return this.hasAttribute("open")}set open(t){t?this.setAttribute("open",""):this.removeAttribute("open")}get fetchOnEmpty(){return this.hasAttribute("fetch-on-empty")}set fetchOnEmpty(t){this.toggleAttribute("fetch-on-empty",t)}async fetchResult(t){var e;(e=P(this,Kt,"f"))===null||e===void 0||e.abort();const{signal:s}=le(this,Kt,new AbortController,"f"),i=await fetch(t.toString(),{signal:s,headers:{Accept:"text/fragment+html"}});if(!i.ok)throw new Error(await i.text());return ue?(await ue).createHTML(await i.text(),i):await i.text()}static get observedAttributes(){return["open","value","for"]}attributeChangedCallback(t,e,s){var i,r;if(e===s)return;const o=V.get(this);if(o)switch((this.forElement!==((i=V.get(this))===null||i===void 0?void 0:i.results)||this.inputElement!==((r=V.get(this))===null||r===void 0?void 0:r.input))&&P(this,st,"m",Et).call(this),t){case"open":s===null?o.close():o.open();break;case"value":s!==null&&(o.input.value=s),this.dispatchEvent(new mi("auto-complete-change",{bubbles:!0,relatedTarget:o.input}));break}}}yt=new WeakMap,wt=new WeakMap,Kt=new WeakMap,st=new WeakSet,Et=function(){var t;(t=V.get(this))===null||t===void 0||t.destroy();const{forElement:e,inputElement:s}=this;if(!e||!s)return;const i=this.getAttribute("data-autoselect")==="true";V.set(this,new di(this,s,e,i)),e.setAttribute("role","listbox")};const de=typeof globalThis<"u"?globalThis:window;try{de.AutocompleteElement=de.AutoCompleteElement=pi.define()}catch(n){if(!(de.DOMException&&n instanceof DOMException&&n.name==="NotSupportedError")&&!(n instanceof ReferenceError))throw n}class nn extends HTMLElement{get preload(){return this.hasAttribute("preload")}set preload(t){t?this.setAttribute("preload",""):this.removeAttribute("preload")}get src(){return this.getAttribute("src")||""}set src(t){this.setAttribute("src",t)}connectedCallback(){this.hasAttribute("role")||this.setAttribute("role","menu");const t=this.parentElement;if(!t)return;const e=t.querySelector("summary");e&&(e.setAttribute("aria-haspopup","menu"),e.hasAttribute("role")||e.setAttribute("role","button"));const s=[_(t,"compositionstart",i=>cn(this,i)),_(t,"compositionend",i=>cn(this,i)),_(t,"click",i=>on(t,i)),_(t,"change",i=>on(t,i)),_(t,"keydown",i=>Ei(t,this,i)),_(t,"toggle",()=>sn(t,this),{once:!0}),_(t,"toggle",()=>vi(t)),this.preload?_(t,"mouseover",()=>sn(t,this),{once:!0}):gi,...bi(t)];at.set(this,{subscriptions:s,loaded:!1,isComposing:!1})}disconnectedCallback(){const t=at.get(this);if(t){at.delete(this);for(const e of t.subscriptions)e.unsubscribe()}}}const at=new WeakMap,gi={unsubscribe(){}};function _(n,t,e,s=!1){return n.addEventListener(t,e,s),{unsubscribe:()=>{n.removeEventListener(t,e,s)}}}function sn(n,t){const e=t.getAttribute("src");if(!e)return;const s=at.get(t);if(!s||s.loaded)return;s.loaded=!0;const i=t.querySelector("include-fragment");i&&!i.hasAttribute("src")&&(i.addEventListener("loadend",()=>ns(n)),i.setAttribute("src",e))}function bi(n){let t=!1;const e=()=>t=!0,s=()=>t=!1,i=()=>{n.hasAttribute("open")&&(ns(n)||t||yi(n))};return[_(n,"mousedown",e),_(n,"keydown",s),_(n,"toggle",i)]}function vi(n){if(n.hasAttribute("open"))for(const t of document.querySelectorAll("details[open] > details-menu")){const e=t.closest("details");e&&e!==n&&!e.contains(n)&&e.removeAttribute("open")}}function ns(n){if(!n.hasAttribute("open"))return!1;const t=n.querySelector("details-menu [autofocus]");return t?(t.focus(),!0):!1}function yi(n){const t=document.activeElement;if(t&&ss(t)&&n.contains(t))return;const e=At(n,!0);e&&e.focus()}function At(n,t){const e=Array.from(n.querySelectorAll('[role^="menuitem"]:not([hidden]):not([disabled])')),s=document.activeElement,i=s instanceof HTMLElement?e.indexOf(s):-1,r=t?e[i+1]:e[i-1],o=t?e[0]:e[e.length-1];return r||o}const rn=navigator.userAgent.match(/Macintosh/);function on(n,t){const e=t.target;if(e instanceof Element&&e.closest("details")===n){if(t.type==="click"){const s=e.closest('[role="menuitem"], [role="menuitemradio"]');if(!s)return;const i=s.querySelector("input");if(s.tagName==="LABEL"&&e===i)return;s.tagName==="LABEL"&&i&&!i.checked||an(s,n)}else if(t.type==="change"){const s=e.closest('[role="menuitemradio"], [role="menuitemcheckbox"]');s&&an(s,n)}}}function wi(n,t){for(const e of t.querySelectorAll('[role="menuitemradio"], [role="menuitemcheckbox"]')){const s=e.querySelector('input[type="radio"], input[type="checkbox"]');let i=(e===n).toString();s instanceof HTMLInputElement&&(i=s.indeterminate?"mixed":s.checked.toString()),e.setAttribute("aria-checked",i)}}function an(n,t){if(n.hasAttribute("disabled")||n.getAttribute("aria-disabled")==="true")return;const e=n.closest("details-menu");!e||!e.dispatchEvent(new CustomEvent("details-menu-select",{cancelable:!0,detail:{relatedTarget:n}}))||(Ai(n,t),wi(n,t),n.getAttribute("role")!=="menuitemcheckbox"&&is(t),e.dispatchEvent(new CustomEvent("details-menu-selected",{detail:{relatedTarget:n}})))}function Ei(n,t,e){if(!(e instanceof KeyboardEvent)||n.querySelector("details[open]"))return;const s=at.get(t);if(!s||s.isComposing)return;const i=e.target instanceof Element&&e.target.tagName==="SUMMARY";switch(e.key){case"Escape":n.hasAttribute("open")&&(is(n),e.preventDefault(),e.stopPropagation());break;case"ArrowDown":{i&&!n.hasAttribute("open")&&n.setAttribute("open","");const r=At(n,!0);r&&r.focus(),e.preventDefault()}break;case"ArrowUp":{i&&!n.hasAttribute("open")&&n.setAttribute("open","");const r=At(n,!1);r&&r.focus(),e.preventDefault()}break;case"n":if(rn&&e.ctrlKey){const r=At(n,!0);r&&r.focus(),e.preventDefault()}break;case"p":if(rn&&e.ctrlKey){const r=At(n,!1);r&&r.focus(),e.preventDefault()}break;case" ":case"Enter":{const r=document.activeElement;r instanceof HTMLElement&&ss(r)&&r.closest("details")===n&&(e.preventDefault(),e.stopPropagation(),r.click())}break}}function ss(n){const t=n.getAttribute("role");return t==="menuitem"||t==="menuitemcheckbox"||t==="menuitemradio"}function is(n){if(!n.hasAttribute("open"))return;n.removeAttribute("open");const e=n.querySelector("summary");e&&e.focus()}function Ai(n,t){const e=t.querySelector("[data-menu-button]");if(!e)return;const s=xi(n);if(s)e.textContent=s;else{const i=Ti(n);i&&(e.innerHTML=i)}}function xi(n){if(!n)return null;const t=n.hasAttribute("data-menu-button-text")?n:n.querySelector("[data-menu-button-text]");return t?t.getAttribute("data-menu-button-text")||t.textContent:null}function Ti(n){if(!n)return null;const t=n.hasAttribute("data-menu-button-contents")?n:n.querySelector("[data-menu-button-contents]");return t?t.innerHTML:null}function cn(n,t){const e=at.get(n);e&&(e.isComposing=t.type==="compositionstart")}window.customElements.get("details-menu")||(window.DetailsMenuElement=nn,window.customElements.define("details-menu",nn));const ct=new WeakMap,Y=new WeakMap,R=new WeakMap;function Lt(n){const t=n.currentTarget;if(!(t instanceof dt))return;const{box:e,image:s}=R.get(t)||{};if(!e||!s)return;let i=0,r=0;if(n instanceof KeyboardEvent)n.key==="ArrowUp"?r=-1:n.key==="ArrowDown"?r=1:n.key==="ArrowLeft"?i=-1:n.key==="ArrowRight"&&(i=1);else if(Y.has(t)&&n instanceof MouseEvent){const o=Y.get(t);i=n.pageX-o.dragStartX,r=n.pageY-o.dragStartY}else if(Y.has(t)&&n instanceof TouchEvent){const{pageX:o,pageY:a}=n.changedTouches[0],{dragStartX:c,dragStartY:l}=Y.get(t);i=o-c,r=a-l}if(i!==0||r!==0){const o=Math.min(Math.max(0,e.offsetLeft+i),s.width-e.offsetWidth),a=Math.min(Math.max(0,e.offsetTop+r),s.height-e.offsetHeight);e.style.left=`${o}px`,e.style.top=`${a}px`,cs(t,{x:o,y:a,width:e.offsetWidth,height:e.offsetHeight})}if(n instanceof MouseEvent)Y.set(t,{dragStartX:n.pageX,dragStartY:n.pageY});else if(n instanceof TouchEvent){const{pageX:o,pageY:a}=n.changedTouches[0];Y.set(t,{dragStartX:o,dragStartY:a})}}function lt(n){const t=n.target;if(!(t instanceof HTMLElement))return;const e=rs(t);if(!(e instanceof dt))return;const{box:s}=R.get(e)||{};if(!s)return;const i=e.getBoundingClientRect();let r,o,a;if(n instanceof KeyboardEvent){if(n.key==="Escape")return as(e);if(n.key==="-"&&(a=-10),n.key==="="&&(a=10),!a)return;r=s.offsetWidth+a,o=s.offsetHeight+a,ct.set(e,{startX:s.offsetLeft,startY:s.offsetTop})}else if(n instanceof MouseEvent){const c=ct.get(e);if(!c)return;r=n.pageX-c.startX-i.left-window.pageXOffset,o=n.pageY-c.startY-i.top-window.pageYOffset}else if(n instanceof TouchEvent){const c=ct.get(e);if(!c)return;r=n.changedTouches[0].pageX-c.startX-i.left-window.pageXOffset,o=n.changedTouches[0].pageY-c.startY-i.top-window.pageYOffset}r&&o&&os(e,r,o,!(n instanceof KeyboardEvent))}function rs(n){const t=n.getRootNode();return t instanceof ShadowRoot?t.host:n}function ln(n){const t=n.currentTarget;if(!(t instanceof HTMLElement))return;const e=rs(t);if(!(e instanceof dt))return;const{box:s}=R.get(e)||{};if(!s)return;const i=n.target;if(i instanceof HTMLElement)if(i.hasAttribute("data-direction")){const r=i.getAttribute("data-direction")||"";e.addEventListener("mousemove",lt),e.addEventListener("touchmove",lt,{passive:!0}),["nw","se"].indexOf(r)>=0&&e.classList.add("nwse"),["ne","sw"].indexOf(r)>=0&&e.classList.add("nesw"),ct.set(e,{startX:s.offsetLeft+(["se","ne"].indexOf(r)>=0?0:s.offsetWidth),startY:s.offsetTop+(["se","sw"].indexOf(r)>=0?0:s.offsetHeight)}),lt(n)}else e.addEventListener("mousemove",Lt),e.addEventListener("touchmove",Lt,{passive:!0})}function os(n,t,e,s=!0){let i=Math.max(Math.abs(t),Math.abs(e),10);const r=ct.get(n);if(!r)return;const{box:o,image:a}=R.get(n)||{};if(!o||!a)return;i=Math.min(i,e>0?a.height-r.startY:r.startY,t>0?a.width-r.startX:r.startX);const c=s?Math.round(Math.max(0,t>0?r.startX:r.startX-i)):o.offsetLeft,l=s?Math.round(Math.max(0,e>0?r.startY:r.startY-i)):o.offsetTop;o.style.left=`${c}px`,o.style.top=`${l}px`,o.style.width=`${i}px`,o.style.height=`${i}px`,cs(n,{x:c,y:l,width:i,height:i})}function as(n){const{image:t}=R.get(n)||{};if(!t)return;const e=Math.round(t.clientWidth>t.clientHeight?t.clientHeight:t.clientWidth);ct.set(n,{startX:(t.clientWidth-e)/2,startY:(t.clientHeight-e)/2}),os(n,e,e)}function he(n){const t=n.currentTarget;t instanceof dt&&(Y.delete(t),t.classList.remove("nwse","nesw"),t.removeEventListener("mousemove",lt),t.removeEventListener("mousemove",Lt),t.removeEventListener("touchmove",lt),t.removeEventListener("touchmove",Lt))}function cs(n,t){const{image:e}=R.get(n)||{};if(!e)return;const s=e.naturalWidth/e.width;for(const i in t){const r=Math.round(t[i]*s);t[i]=r;const o=n.querySelector(`[data-image-crop-input='${i}']`);o instanceof HTMLInputElement&&(o.value=r.toString())}n.dispatchEvent(new CustomEvent("image-crop-change",{bubbles:!0,detail:t}))}class dt extends HTMLElement{connectedCallback(){if(R.has(this))return;const t=this.attachShadow({mode:"open"});t.innerHTML=`
1
+ function Gs(n,t=0,{start:e=!0,middle:s=!0,once:i=!1}={}){let r=e,o=0,a,c=!1;function l(...u){if(c)return;const d=Date.now()-o;o=Date.now(),e&&s&&d>=t&&(r=!0),r?(r=!1,n.apply(this,u),i&&l.cancel()):(s&&d<t||!s)&&(clearTimeout(a),a=setTimeout(()=>{o=Date.now(),n.apply(this,u),i&&l.cancel()},s?t-d:t))}return l.cancel=()=>{clearTimeout(a),c=!0},l}function Zs(n,t=0,{start:e=!1,middle:s=!1,once:i=!1}={}){return Gs(n,t,{start:e,middle:s,once:i})}var ae=function(n,t,e,s){if(e==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?n!==t||!s:!t.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?s:e==="a"?s.call(n):s?s.value:t.get(n)},Js=function(n,t,e,s,i){if(s==="m")throw new TypeError("Private method is not writable");if(s==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?n!==t||!i:!t.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?i.call(n,e):i?i.value=e:t.set(n,e),e},nt;const Mt=new WeakMap;class se extends Event{constructor(t){super(`auto-check-${t}`,{bubbles:!0}),this.phase=t}get detail(){return this}}class ss extends se{constructor(t,e=""){super(t),this.phase=t,this.message=e,this.setValidity=s=>{this.message=s}}}class tn extends se{constructor(){super("complete")}}class Qs extends se{constructor(t){super("success"),this.response=t}}class ti extends ss{constructor(){super("start","Verifying…")}}class ei extends ss{constructor(t){super("error","Validation failed"),this.response=t}}class ni extends se{constructor(t){super("send"),this.body=t}}class is extends HTMLElement{constructor(){super(...arguments),nt.set(this,null)}static define(t="auto-check",e=customElements){return e.define(t,this),this}get onloadend(){return ae(this,nt,"f")}set onloadend(t){ae(this,nt,"f")&&this.removeEventListener("loadend",ae(this,nt,"f")),Js(this,nt,typeof t=="object"||typeof t=="function"?t:null,"f"),typeof t=="function"&&this.addEventListener("loadend",t)}connectedCallback(){const t=this.input;if(!t)return;const e=Zs(ri.bind(null,this),300),s={check:e,controller:null};Mt.set(this,s),t.addEventListener("input",en),t.addEventListener("input",e),t.autocomplete="off",t.spellcheck=!1}disconnectedCallback(){const t=this.input;if(!t)return;const e=Mt.get(this);e&&(Mt.delete(this),t.removeEventListener("input",en),t.removeEventListener("input",e.check),t.setCustomValidity(""))}attributeChangedCallback(t){if(t==="required"){const e=this.input;if(!e)return;e.required=this.required}}static get observedAttributes(){return["required"]}get input(){return this.querySelector("input")}get src(){const t=this.getAttribute("src");if(!t)return"";const e=this.ownerDocument.createElement("a");return e.href=t,e.href}set src(t){this.setAttribute("src",t)}get csrf(){const t=this.querySelector("[data-csrf]");return this.getAttribute("csrf")||t instanceof HTMLInputElement&&t.value||""}set csrf(t){this.setAttribute("csrf",t)}get required(){return this.hasAttribute("required")}set required(t){t?this.setAttribute("required",""):this.removeAttribute("required")}get csrfField(){return this.getAttribute("csrf-field")||"authenticity_token"}set csrfField(t){this.setAttribute("csrf-field",t)}}nt=new WeakMap;function en(n){const t=n.currentTarget;if(!(t instanceof HTMLInputElement))return;const e=t.closest("auto-check");if(!(e instanceof is))return;const s=e.src,i=e.csrf,r=Mt.get(e);if(!s||!i||!r)return;const o=new ti;t.dispatchEvent(o),e.required&&t.setCustomValidity(o.message)}function si(){return"AbortController"in window?new AbortController:{signal:null,abort(){}}}async function ii(n,t,e){try{const s=await fetch(t,e);return n.dispatchEvent(new Event("load")),n.dispatchEvent(new Event("loadend")),s}catch(s){throw s.name!=="AbortError"&&(n.dispatchEvent(new Event("error")),n.dispatchEvent(new Event("loadend"))),s}}async function ri(n){const t=n.input;if(!t)return;const e=n.csrfField,s=n.src,i=n.csrf,r=Mt.get(n);if(!s||!i||!r){n.required&&t.setCustomValidity("");return}if(!t.value.trim()){n.required&&t.setCustomValidity("");return}const o=new FormData;o.append(e,i),o.append("value",t.value),t.dispatchEvent(new ni(o)),r.controller?r.controller.abort():n.dispatchEvent(new Event("loadstart")),r.controller=si();try{const a=await ii(n,s,{credentials:"same-origin",signal:r.controller.signal,method:"POST",body:o});if(a.ok)n.required&&t.setCustomValidity(""),t.dispatchEvent(new Qs(a.clone()));else{const c=new ei(a.clone());t.dispatchEvent(c),n.required&&t.setCustomValidity(c.message)}r.controller=null,t.dispatchEvent(new tn)}catch(a){a.name!=="AbortError"&&(r.controller=null,t.dispatchEvent(new tn))}}const nn=typeof globalThis<"u"?globalThis:window;try{nn.AutoCheckElement=is.define()}catch(n){if(!(nn.DOMException&&n instanceof DOMException&&n.name==="NotSupportedError")&&!(n instanceof ReferenceError))throw n}class oi{constructor(t,e,{tabInsertsSuggestions:s,defaultFirstOption:i}={}){this.input=t,this.list=e,this.tabInsertsSuggestions=s??!0,this.defaultFirstOption=i??!1,this.isComposing=!1,e.id||(e.id=`combobox-${Math.random().toString().slice(2,6)}`),this.ctrlBindings=!!navigator.userAgent.match(/Macintosh/),this.keyboardEventHandler=r=>ai(r,this),this.compositionEventHandler=r=>li(r,this),this.inputHandler=this.clearSelection.bind(this),t.setAttribute("role","combobox"),t.setAttribute("aria-controls",e.id),t.setAttribute("aria-expanded","false"),t.setAttribute("aria-autocomplete","list"),t.setAttribute("aria-haspopup","listbox")}destroy(){this.clearSelection(),this.stop(),this.input.removeAttribute("role"),this.input.removeAttribute("aria-controls"),this.input.removeAttribute("aria-expanded"),this.input.removeAttribute("aria-autocomplete"),this.input.removeAttribute("aria-haspopup")}start(){this.input.setAttribute("aria-expanded","true"),this.input.addEventListener("compositionstart",this.compositionEventHandler),this.input.addEventListener("compositionend",this.compositionEventHandler),this.input.addEventListener("input",this.inputHandler),this.input.addEventListener("keydown",this.keyboardEventHandler),this.list.addEventListener("click",sn),this.indicateDefaultOption()}stop(){this.clearSelection(),this.input.setAttribute("aria-expanded","false"),this.input.removeEventListener("compositionstart",this.compositionEventHandler),this.input.removeEventListener("compositionend",this.compositionEventHandler),this.input.removeEventListener("input",this.inputHandler),this.input.removeEventListener("keydown",this.keyboardEventHandler),this.list.removeEventListener("click",sn)}indicateDefaultOption(){var t;this.defaultFirstOption&&((t=Array.from(this.list.querySelectorAll('[role="option"]:not([aria-disabled="true"])')).filter(ce)[0])===null||t===void 0||t.setAttribute("data-combobox-option-default","true"))}navigate(t=1){const e=Array.from(this.list.querySelectorAll('[aria-selected="true"]')).filter(ce)[0],s=Array.from(this.list.querySelectorAll('[role="option"]')).filter(ce),i=s.indexOf(e);if(i===s.length-1&&t===1||i===0&&t===-1){this.clearSelection(),this.input.focus();return}let r=t===1?0:s.length-1;if(e&&i>=0){const a=i+t;a>=0&&a<s.length&&(r=a)}const o=s[r];if(o)for(const a of s)a.removeAttribute("data-combobox-option-default"),o===a?(this.input.setAttribute("aria-activedescendant",o.id),o.setAttribute("aria-selected","true"),ui(this.list,o)):a.removeAttribute("aria-selected")}clearSelection(){this.input.removeAttribute("aria-activedescendant");for(const t of this.list.querySelectorAll('[aria-selected="true"]'))t.removeAttribute("aria-selected");this.indicateDefaultOption()}}function ai(n,t){if(!(n.shiftKey||n.metaKey||n.altKey)&&!(!t.ctrlBindings&&n.ctrlKey)&&!t.isComposing)switch(n.key){case"Enter":rn(t.input,t.list)&&n.preventDefault();break;case"Tab":t.tabInsertsSuggestions&&rn(t.input,t.list)&&n.preventDefault();break;case"Escape":t.clearSelection();break;case"ArrowDown":t.navigate(1),n.preventDefault();break;case"ArrowUp":t.navigate(-1),n.preventDefault();break;case"n":t.ctrlBindings&&n.ctrlKey&&(t.navigate(1),n.preventDefault());break;case"p":t.ctrlBindings&&n.ctrlKey&&(t.navigate(-1),n.preventDefault());break;default:if(n.ctrlKey)break;t.clearSelection()}}function sn(n){if(!(n.target instanceof Element))return;const t=n.target.closest('[role="option"]');t&&t.getAttribute("aria-disabled")!=="true"&&ci(t,{event:n})}function rn(n,t){const e=t.querySelector('[aria-selected="true"], [data-combobox-option-default="true"]');return e?(e.getAttribute("aria-disabled")==="true"||e.click(),!0):!1}function ci(n,t){n.dispatchEvent(new CustomEvent("combobox-commit",{bubbles:!0,detail:t}))}function ce(n){return!n.hidden&&!(n instanceof HTMLInputElement&&n.type==="hidden")&&(n.offsetWidth>0||n.offsetHeight>0)}function li(n,t){t.isComposing=n.type==="compositionstart",document.getElementById(t.input.getAttribute("aria-controls")||"")&&t.clearSelection()}function ui(n,t){di(n,t)||(n.scrollTop=t.offsetTop)}function di(n,t){const e=n.scrollTop,s=e+n.clientHeight,i=t.offsetTop,r=i+t.clientHeight;return i>=e&&r<=s}function hi(n,t=0){let e;return function(...s){clearTimeout(e),e=window.setTimeout(()=>{clearTimeout(e),n(...s)},t)}}const fi=window.testScreenReaderDelay||100;class mi{constructor(t,e,s,i=!1){var r;if(this.container=t,this.input=e,this.results=s,this.combobox=new oi(e,s,{defaultFirstOption:i}),this.feedback=t.getRootNode().getElementById(`${this.results.id}-feedback`),this.autoselectEnabled=i,this.clearButton=t.getRootNode().getElementById(`${this.input.id||this.input.name}-clear`),this.clientOptions=s.querySelectorAll("[role=option]"),this.feedback&&(this.feedback.setAttribute("aria-live","polite"),this.feedback.setAttribute("aria-atomic","true")),this.clearButton&&!this.clearButton.getAttribute("aria-label")){const o=document.querySelector(`label[for="${this.input.name}"]`);this.clearButton.setAttribute("aria-label","clear:"),this.clearButton.setAttribute("aria-labelledby",`${this.clearButton.id} ${(o==null?void 0:o.id)||""}`)}this.input.getAttribute("aria-expanded")||this.input.setAttribute("aria-expanded","false"),this.results.popover?this.results.matches(":popover-open")&&this.results.hidePopover():this.results.hidden=!0,this.results.getAttribute("aria-label")||this.results.setAttribute("aria-label","results"),this.input.setAttribute("autocomplete","off"),this.input.setAttribute("spellcheck","false"),this.interactingWithList=!1,this.onInputChange=hi(this.onInputChange.bind(this),300),this.onResultsMouseDown=this.onResultsMouseDown.bind(this),this.onInputBlur=this.onInputBlur.bind(this),this.onInputFocus=this.onInputFocus.bind(this),this.onKeydown=this.onKeydown.bind(this),this.onCommit=this.onCommit.bind(this),this.handleClear=this.handleClear.bind(this),this.input.addEventListener("keydown",this.onKeydown),this.input.addEventListener("focus",this.onInputFocus),this.input.addEventListener("blur",this.onInputBlur),this.input.addEventListener("input",this.onInputChange),this.results.addEventListener("mousedown",this.onResultsMouseDown),this.results.addEventListener("combobox-commit",this.onCommit),(r=this.clearButton)===null||r===void 0||r.addEventListener("click",this.handleClear)}destroy(){this.input.removeEventListener("keydown",this.onKeydown),this.input.removeEventListener("focus",this.onInputFocus),this.input.removeEventListener("blur",this.onInputBlur),this.input.removeEventListener("input",this.onInputChange),this.results.removeEventListener("mousedown",this.onResultsMouseDown),this.results.removeEventListener("combobox-commit",this.onCommit)}handleClear(t){t.preventDefault(),this.input.getAttribute("aria-expanded")==="true"&&(this.input.setAttribute("aria-expanded","false"),this.updateFeedbackForScreenReaders("Results hidden.")),this.input.value="",this.container.value="",this.input.focus(),this.input.dispatchEvent(new Event("change")),this.close()}onKeydown(t){if(t.key==="Escape"&&this.container.open)this.close(),t.stopPropagation(),t.preventDefault();else if(t.altKey&&t.key==="ArrowUp"&&this.container.open)this.close(),t.stopPropagation(),t.preventDefault();else if(t.altKey&&t.key==="ArrowDown"&&!this.container.open){if(!this.input.value.trim())return;this.open(),t.stopPropagation(),t.preventDefault()}}onInputFocus(){this.interactingWithList||this.fetchResults()}onInputBlur(){this.interactingWithList||this.close()}onCommit({target:t}){const e=t;if(!(e instanceof HTMLElement)||(this.close(),e instanceof HTMLAnchorElement))return;const s=e.getAttribute("data-autocomplete-value")||e.textContent;this.updateFeedbackForScreenReaders(`${e.textContent||""} selected.`),this.container.value=s,s||this.updateFeedbackForScreenReaders("Results hidden.")}onResultsMouseDown(){this.interactingWithList=!0}onInputChange(){this.feedback&&this.feedback.textContent&&(this.feedback.textContent=""),this.container.removeAttribute("value"),this.fetchResults()}identifyOptions(){let t=0;for(const e of this.results.querySelectorAll('[role="option"]:not([id])'))e.id=`${this.results.id}-option-${t++}`}updateFeedbackForScreenReaders(t){setTimeout(()=>{this.feedback&&(this.feedback.textContent=t)},fi)}fetchResults(){const t=this.input.value.trim();if(!t&&!this.container.fetchOnEmpty){this.close();return}const e=this.container.src;if(!e)return;const s=new URL(e,window.location.href),i=new URLSearchParams(s.search.slice(1));i.append("q",t),s.search=i.toString(),this.container.dispatchEvent(new CustomEvent("loadstart")),this.container.fetchResult(s).then(r=>{this.results.innerHTML=r,this.identifyOptions(),this.combobox.indicateDefaultOption();const o=this.results.querySelectorAll('[role="option"]'),a=!!o.length,c=o.length,[l]=o,u=l==null?void 0:l.textContent;this.autoselectEnabled&&u?this.updateFeedbackForScreenReaders(`${c} results. ${u} is the top result: Press Enter to activate.`):this.updateFeedbackForScreenReaders(`${c||"No"} results.`),a?this.open():this.close(),this.container.dispatchEvent(new CustomEvent("load")),this.container.dispatchEvent(new CustomEvent("loadend"))}).catch(()=>{this.container.dispatchEvent(new CustomEvent("error")),this.container.dispatchEvent(new CustomEvent("loadend"))})}open(){(this.results.popover?!this.results.matches(":popover-open"):this.results.hidden)&&(this.combobox.start(),this.results.popover?this.results.showPopover():this.results.hidden=!1),this.container.open=!0,this.interactingWithList=!0}close(){(this.results.popover?this.results.matches(":popover-open"):!this.results.hidden)&&(this.combobox.stop(),this.results.popover?this.results.hidePopover():this.results.hidden=!0),this.container.open=!1,this.interactingWithList=!1}}var P=function(n,t,e,s){if(e==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?n!==t||!s:!t.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?s:e==="a"?s.call(n):s?s.value:t.get(n)},le=function(n,t,e,s,i){if(s==="m")throw new TypeError("Private method is not writable");if(s==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?n!==t||!i:!t.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?i.call(n,e):i?i.value=e:t.set(n,e),e},pi=function(n,t){var e={};for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&t.indexOf(s)<0&&(e[s]=n[s]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,s=Object.getOwnPropertySymbols(n);i<s.length;i++)t.indexOf(s[i])<0&&Object.prototype.propertyIsEnumerable.call(n,s[i])&&(e[s[i]]=n[s[i]]);return e},st,wt,Et,At,Kt;const gi=globalThis.HTMLElement||null;class bi extends Event{constructor(t,e){var{relatedTarget:s}=e,i=pi(e,["relatedTarget"]);super(t,i),this.relatedTarget=s}}const H=new WeakMap;let ue=null;class vi extends gi{constructor(){super(...arguments),st.add(this),wt.set(this,null),Et.set(this,null),Kt.set(this,void 0)}static define(t="auto-complete",e=customElements){return e.define(t,this),this}static setCSPTrustedTypesPolicy(t){ue=t===null?t:Promise.resolve(t)}get forElement(){var t;if(!((t=P(this,wt,"f"))===null||t===void 0)&&t.isConnected)return P(this,wt,"f");const e=this.getAttribute("for"),s=this.getRootNode();return e&&(s instanceof Document||s instanceof ShadowRoot)?s.getElementById(e):null}set forElement(t){le(this,wt,t,"f"),this.setAttribute("for","")}get inputElement(){var t;return!((t=P(this,Et,"f"))===null||t===void 0)&&t.isConnected?P(this,Et,"f"):this.querySelector("input")}set inputElement(t){le(this,Et,t,"f"),P(this,st,"m",At).call(this)}connectedCallback(){this.isConnected&&(P(this,st,"m",At).call(this),new MutationObserver(()=>{H.get(this)||P(this,st,"m",At).call(this)}).observe(this,{subtree:!0,childList:!0}))}disconnectedCallback(){const t=H.get(this);t&&(t.destroy(),H.delete(this))}get src(){return this.getAttribute("src")||""}set src(t){this.setAttribute("src",t)}get value(){return this.getAttribute("value")||""}set value(t){this.setAttribute("value",t)}get open(){return this.hasAttribute("open")}set open(t){t?this.setAttribute("open",""):this.removeAttribute("open")}get fetchOnEmpty(){return this.hasAttribute("fetch-on-empty")}set fetchOnEmpty(t){this.toggleAttribute("fetch-on-empty",t)}async fetchResult(t){var e;(e=P(this,Kt,"f"))===null||e===void 0||e.abort();const{signal:s}=le(this,Kt,new AbortController,"f"),i=await fetch(t.toString(),{signal:s,headers:{Accept:"text/fragment+html"}});if(!i.ok)throw new Error(await i.text());return ue?(await ue).createHTML(await i.text(),i):await i.text()}static get observedAttributes(){return["open","value","for"]}attributeChangedCallback(t,e,s){var i,r;if(e===s)return;const o=H.get(this);if(o)switch((this.forElement!==((i=H.get(this))===null||i===void 0?void 0:i.results)||this.inputElement!==((r=H.get(this))===null||r===void 0?void 0:r.input))&&P(this,st,"m",At).call(this),t){case"open":s===null?o.close():o.open();break;case"value":s!==null&&(o.input.value=s),this.dispatchEvent(new bi("auto-complete-change",{bubbles:!0,relatedTarget:o.input}));break}}}wt=new WeakMap,Et=new WeakMap,Kt=new WeakMap,st=new WeakSet,At=function(){var t;(t=H.get(this))===null||t===void 0||t.destroy();const{forElement:e,inputElement:s}=this;if(!e||!s)return;const i=this.getAttribute("data-autoselect")==="true";H.set(this,new mi(this,s,e,i)),e.setAttribute("role","listbox")};const de=typeof globalThis<"u"?globalThis:window;try{de.AutocompleteElement=de.AutoCompleteElement=vi.define()}catch(n){if(!(de.DOMException&&n instanceof DOMException&&n.name==="NotSupportedError")&&!(n instanceof ReferenceError))throw n}class we extends HTMLElement{get preload(){return this.hasAttribute("preload")}set preload(t){t?this.setAttribute("preload",""):this.removeAttribute("preload")}get src(){return this.getAttribute("src")||""}set src(t){this.setAttribute("src",t)}connectedCallback(){this.hasAttribute("role")||this.setAttribute("role","menu");const t=this.parentElement;if(!t)return;const e=t.querySelector("summary");e&&(e.setAttribute("aria-haspopup","menu"),e.hasAttribute("role")||e.setAttribute("role","button"));const s=[_(t,"compositionstart",i=>un(this,i)),_(t,"compositionend",i=>un(this,i)),_(t,"click",i=>cn(t,i)),_(t,"change",i=>cn(t,i)),_(t,"keydown",i=>Ti(t,this,i)),_(t,"toggle",()=>on(t,this),{once:!0}),_(t,"toggle",()=>Ei(t)),this.preload?_(t,"mouseover",()=>on(t,this),{once:!0}):yi,...wi(t)];at.set(this,{subscriptions:s,loaded:!1,isComposing:!1})}disconnectedCallback(){const t=at.get(this);if(t){at.delete(this);for(const e of t.subscriptions)e.unsubscribe()}}}const at=new WeakMap,yi={unsubscribe(){}};function _(n,t,e,s=!1){return n.addEventListener(t,e,s),{unsubscribe:()=>{n.removeEventListener(t,e,s)}}}function on(n,t){const e=t.getAttribute("src");if(!e)return;const s=at.get(t);if(!s||s.loaded)return;s.loaded=!0;const i=t.querySelector("include-fragment");i&&!i.hasAttribute("src")&&(i.addEventListener("loadend",()=>rs(n)),i.setAttribute("src",e))}function wi(n){let t=!1;const e=()=>t=!0,s=()=>t=!1,i=()=>{n.hasAttribute("open")&&(rs(n)||t||Ai(n))};return[_(n,"mousedown",e),_(n,"keydown",s),_(n,"toggle",i)]}function Ei(n){if(n.hasAttribute("open"))for(const t of document.querySelectorAll("details[open] > details-menu")){const e=t.closest("details");e&&e!==n&&!e.contains(n)&&e.removeAttribute("open")}}function rs(n){if(!n.hasAttribute("open"))return!1;const t=n.querySelector("details-menu [autofocus]");return t?(t.focus(),!0):!1}function Ai(n){const t=document.activeElement;if(t&&os(t)&&n.contains(t))return;const e=xt(n,!0);e&&e.focus()}function xt(n,t){const e=Array.from(n.querySelectorAll('[role^="menuitem"]:not([hidden]):not([disabled])')),s=document.activeElement,i=s instanceof HTMLElement?e.indexOf(s):-1,r=t?e[i+1]:e[i-1],o=t?e[0]:e[e.length-1];return r||o}const an=navigator.userAgent.match(/Macintosh/);function cn(n,t){const e=t.target;if(e instanceof Element&&e.closest("details")===n){if(t.type==="click"){const s=e.closest('[role="menuitem"], [role="menuitemradio"]');if(!s)return;const i=s.querySelector("input");if(s.tagName==="LABEL"&&e===i)return;s.tagName==="LABEL"&&i&&!i.checked||ln(s,n)}else if(t.type==="change"){const s=e.closest('[role="menuitemradio"], [role="menuitemcheckbox"]');s&&ln(s,n)}}}function xi(n,t){for(const e of t.querySelectorAll('[role="menuitemradio"], [role="menuitemcheckbox"]')){const s=e.querySelector('input[type="radio"], input[type="checkbox"]');let i=(e===n).toString();s instanceof HTMLInputElement&&(i=s.indeterminate?"mixed":s.checked.toString()),e.setAttribute("aria-checked",i)}}function ln(n,t){if(n.hasAttribute("disabled")||n.getAttribute("aria-disabled")==="true")return;const e=n.closest("details-menu");!e||!e.dispatchEvent(new CustomEvent("details-menu-select",{cancelable:!0,detail:{relatedTarget:n}}))||(Oi(n,t),xi(n,t),n.getAttribute("role")!=="menuitemcheckbox"&&as(t),e.dispatchEvent(new CustomEvent("details-menu-selected",{detail:{relatedTarget:n}})))}function Ti(n,t,e){if(!(e instanceof KeyboardEvent)||n.querySelector("details[open]"))return;const s=at.get(t);if(!s||s.isComposing)return;const i=e.target instanceof Element&&e.target.tagName==="SUMMARY";switch(e.key){case"Escape":n.hasAttribute("open")&&(as(n),e.preventDefault(),e.stopPropagation());break;case"ArrowDown":{i&&!n.hasAttribute("open")&&n.setAttribute("open","");const r=xt(n,!0);r&&r.focus(),e.preventDefault()}break;case"ArrowUp":{i&&!n.hasAttribute("open")&&n.setAttribute("open","");const r=xt(n,!1);r&&r.focus(),e.preventDefault()}break;case"n":if(an&&e.ctrlKey){const r=xt(n,!0);r&&r.focus(),e.preventDefault()}break;case"p":if(an&&e.ctrlKey){const r=xt(n,!1);r&&r.focus(),e.preventDefault()}break;case" ":case"Enter":{const r=document.activeElement;r instanceof HTMLElement&&os(r)&&r.closest("details")===n&&(e.preventDefault(),e.stopPropagation(),r.click())}break}}function os(n){const t=n.getAttribute("role");return t==="menuitem"||t==="menuitemcheckbox"||t==="menuitemradio"}function as(n){if(!n.hasAttribute("open"))return;n.removeAttribute("open");const e=n.querySelector("summary");e&&e.focus()}function Oi(n,t){const e=t.querySelector("[data-menu-button]");if(!e)return;const s=ki(n);if(s)e.textContent=s;else{const i=Mi(n);i&&(e.innerHTML=i)}}function ki(n){if(!n)return null;const t=n.hasAttribute("data-menu-button-text")?n:n.querySelector("[data-menu-button-text]");return t?t.getAttribute("data-menu-button-text")||t.textContent:null}function Mi(n){if(!n)return null;const t=n.hasAttribute("data-menu-button-contents")?n:n.querySelector("[data-menu-button-contents]");return t?t.innerHTML:null}function un(n,t){const e=at.get(n);e&&(e.isComposing=t.type==="compositionstart")}window.customElements.get("details-menu")||(window.DetailsMenuElement=we,window.customElements.define("details-menu",we));const ct=new WeakMap,Y=new WeakMap,R=new WeakMap;function Ft(n){const t=n.currentTarget;if(!(t instanceof dt))return;const{box:e,image:s}=R.get(t)||{};if(!e||!s)return;let i=0,r=0;if(n instanceof KeyboardEvent)n.key==="ArrowUp"?r=-1:n.key==="ArrowDown"?r=1:n.key==="ArrowLeft"?i=-1:n.key==="ArrowRight"&&(i=1);else if(Y.has(t)&&n instanceof MouseEvent){const o=Y.get(t);i=n.pageX-o.dragStartX,r=n.pageY-o.dragStartY}else if(Y.has(t)&&n instanceof TouchEvent){const{pageX:o,pageY:a}=n.changedTouches[0],{dragStartX:c,dragStartY:l}=Y.get(t);i=o-c,r=a-l}if(i!==0||r!==0){const o=Math.min(Math.max(0,e.offsetLeft+i),s.width-e.offsetWidth),a=Math.min(Math.max(0,e.offsetTop+r),s.height-e.offsetHeight);e.style.left=`${o}px`,e.style.top=`${a}px`,ds(t,{x:o,y:a,width:e.offsetWidth,height:e.offsetHeight})}if(n instanceof MouseEvent)Y.set(t,{dragStartX:n.pageX,dragStartY:n.pageY});else if(n instanceof TouchEvent){const{pageX:o,pageY:a}=n.changedTouches[0];Y.set(t,{dragStartX:o,dragStartY:a})}}function lt(n){const t=n.target;if(!(t instanceof HTMLElement))return;const e=cs(t);if(!(e instanceof dt))return;const{box:s}=R.get(e)||{};if(!s)return;const i=e.getBoundingClientRect();let r,o,a;if(n instanceof KeyboardEvent){if(n.key==="Escape")return us(e);if(n.key==="-"&&(a=-10),n.key==="="&&(a=10),!a)return;r=s.offsetWidth+a,o=s.offsetHeight+a,ct.set(e,{startX:s.offsetLeft,startY:s.offsetTop})}else if(n instanceof MouseEvent){const c=ct.get(e);if(!c)return;r=n.pageX-c.startX-i.left-window.pageXOffset,o=n.pageY-c.startY-i.top-window.pageYOffset}else if(n instanceof TouchEvent){const c=ct.get(e);if(!c)return;r=n.changedTouches[0].pageX-c.startX-i.left-window.pageXOffset,o=n.changedTouches[0].pageY-c.startY-i.top-window.pageYOffset}r&&o&&ls(e,r,o,!(n instanceof KeyboardEvent))}function cs(n){const t=n.getRootNode();return t instanceof ShadowRoot?t.host:n}function dn(n){const t=n.currentTarget;if(!(t instanceof HTMLElement))return;const e=cs(t);if(!(e instanceof dt))return;const{box:s}=R.get(e)||{};if(!s)return;const i=n.target;if(i instanceof HTMLElement)if(i.hasAttribute("data-direction")){const r=i.getAttribute("data-direction")||"";e.addEventListener("mousemove",lt),e.addEventListener("touchmove",lt,{passive:!0}),["nw","se"].indexOf(r)>=0&&e.classList.add("nwse"),["ne","sw"].indexOf(r)>=0&&e.classList.add("nesw"),ct.set(e,{startX:s.offsetLeft+(["se","ne"].indexOf(r)>=0?0:s.offsetWidth),startY:s.offsetTop+(["se","sw"].indexOf(r)>=0?0:s.offsetHeight)}),lt(n)}else e.addEventListener("mousemove",Ft),e.addEventListener("touchmove",Ft,{passive:!0})}function ls(n,t,e,s=!0){let i=Math.max(Math.abs(t),Math.abs(e),10);const r=ct.get(n);if(!r)return;const{box:o,image:a}=R.get(n)||{};if(!o||!a)return;i=Math.min(i,e>0?a.height-r.startY:r.startY,t>0?a.width-r.startX:r.startX);const c=s?Math.round(Math.max(0,t>0?r.startX:r.startX-i)):o.offsetLeft,l=s?Math.round(Math.max(0,e>0?r.startY:r.startY-i)):o.offsetTop;o.style.left=`${c}px`,o.style.top=`${l}px`,o.style.width=`${i}px`,o.style.height=`${i}px`,ds(n,{x:c,y:l,width:i,height:i})}function us(n){const{image:t}=R.get(n)||{};if(!t)return;const e=Math.round(t.clientWidth>t.clientHeight?t.clientHeight:t.clientWidth);ct.set(n,{startX:(t.clientWidth-e)/2,startY:(t.clientHeight-e)/2}),ls(n,e,e)}function he(n){const t=n.currentTarget;t instanceof dt&&(Y.delete(t),t.classList.remove("nwse","nesw"),t.removeEventListener("mousemove",lt),t.removeEventListener("mousemove",Ft),t.removeEventListener("touchmove",lt),t.removeEventListener("touchmove",Ft))}function ds(n,t){const{image:e}=R.get(n)||{};if(!e)return;const s=e.naturalWidth/e.width;for(const i in t){const r=Math.round(t[i]*s);t[i]=r;const o=n.querySelector(`[data-image-crop-input='${i}']`);o instanceof HTMLInputElement&&(o.value=r.toString())}n.dispatchEvent(new CustomEvent("image-crop-change",{bubbles:!0,detail:t}))}class dt extends HTMLElement{connectedCallback(){if(R.has(this))return;const t=this.attachShadow({mode:"open"});t.innerHTML=`
2
2
  <style>
3
3
  :host { touch-action: none; display: block; }
4
4
  :host(.nesw) { cursor: nesw-resize; }
@@ -76,24 +76,24 @@ function zs(n,t=0,{start:e=!0,middle:s=!0,once:i=!1}={}){let r=e,o=0,a,c=!1;func
76
76
  </div>
77
77
  </div>
78
78
  </div>
79
- `;const e=t.querySelector("[data-crop-box]");if(!(e instanceof HTMLElement))return;const s=t.querySelector("img");s instanceof HTMLImageElement&&(R.set(this,{box:e,image:s}),s.addEventListener("load",()=>{this.loaded=!0,as(this)}),this.addEventListener("mouseleave",he),this.addEventListener("touchend",he),this.addEventListener("mouseup",he),e.addEventListener("mousedown",ln),e.addEventListener("touchstart",ln,{passive:!0}),this.addEventListener("keydown",Lt),this.addEventListener("keydown",lt),this.src&&(s.src=this.src))}static get observedAttributes(){return["src"]}get src(){return this.getAttribute("src")}set src(t){t?this.setAttribute("src",t):this.removeAttribute("src")}get loaded(){return this.hasAttribute("loaded")}set loaded(t){t?this.setAttribute("loaded",""):this.removeAttribute("loaded")}attributeChangedCallback(t,e,s){const{image:i}=R.get(this)||{};t==="src"&&(this.loaded=!1,i&&(i.src=s))}}window.customElements.get("image-crop")||(window.ImageCropElement=dt,window.customElements.define("image-crop",dt));var T=function(n,t,e,s){if(e==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?n!==t||!s:!t.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?s:e==="a"?s.call(n):s?s.value:t.get(n)},fe=function(n,t,e,s,i){if(s==="m")throw new TypeError("Private method is not writable");if(s==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?n!==t||!i:!t.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?i.call(n,e):i?i.value=e:t.set(n,e),e},O,it,Mt,rt,me,we,jt,un;const Ee=new WeakMap;function Oi(n){return n&&!!n.split(",").find(t=>t.match(/^\s*\*\/\*/))}let Ae=null;class Be extends HTMLElement{constructor(){super(...arguments),O.add(this),it.set(this,!1),Mt.set(this,new IntersectionObserver(t=>{for(const e of t)if(e.isIntersecting){const{target:s}=e;if(T(this,Mt,"f").unobserve(s),!(s instanceof Be))return;s.loading==="lazy"&&T(this,O,"m",rt).call(this)}},{rootMargin:"0px 0px 256px 0px",threshold:.01}))}static define(t="include-fragment",e=customElements){return e.define(t,this),this}static setCSPTrustedTypesPolicy(t){Ae=t===null?t:Promise.resolve(t)}static get observedAttributes(){return["src","loading"]}get src(){const t=this.getAttribute("src");if(t){const e=this.ownerDocument.createElement("a");return e.href=t,e.href}else return""}set src(t){this.setAttribute("src",t)}get loading(){return this.getAttribute("loading")==="lazy"?"lazy":"eager"}set loading(t){this.setAttribute("loading",t)}get accept(){return this.getAttribute("accept")||""}set accept(t){this.setAttribute("accept",t)}get data(){return T(this,O,"m",we).call(this)}attributeChangedCallback(t,e){t==="src"?this.isConnected&&this.loading==="eager"&&T(this,O,"m",rt).call(this):t==="loading"&&this.isConnected&&e!=="eager"&&this.loading==="eager"&&T(this,O,"m",rt).call(this)}connectedCallback(){if(!this.shadowRoot){this.attachShadow({mode:"open"});const t=document.createElement("style");t.textContent=":host {display: block;}",this.shadowRoot.append(t,document.createElement("slot"))}this.src&&this.loading==="eager"&&T(this,O,"m",rt).call(this),this.loading==="lazy"&&T(this,Mt,"f").observe(this)}request(){const t=this.src;if(!t)throw new Error("missing src");return new Request(t,{method:"GET",credentials:"same-origin",headers:{Accept:this.accept||"text/html"}})}load(){return T(this,O,"m",we).call(this)}fetch(t){return fetch(t)}refetch(){Ee.delete(this),T(this,O,"m",rt).call(this)}}it=new WeakMap,Mt=new WeakMap,O=new WeakSet,rt=async function(){if(!T(this,it,"f")){fe(this,it,!0,"f"),T(this,Mt,"f").unobserve(this);try{const t=await T(this,O,"m",me).call(this);if(t instanceof Error)throw t;const e=t,s=document.createElement("template");s.innerHTML=e;const i=document.importNode(s.content,!0);if(!this.dispatchEvent(new CustomEvent("include-fragment-replace",{cancelable:!0,detail:{fragment:i}}))){fe(this,it,!1,"f");return}this.replaceWith(i),this.dispatchEvent(new CustomEvent("include-fragment-replaced"))}catch{this.classList.add("is-error")}finally{fe(this,it,!1,"f")}}},me=async function(){const t=this.src,e=Ee.get(this);if(e&&e.src===t)return e.data;{let s;return t?s=T(this,O,"m",un).call(this):s=Promise.reject(new Error("missing src")),Ee.set(this,{src:t,data:s}),s}},we=async function(){const t=await T(this,O,"m",me).call(this);if(t instanceof Error)throw t;return t.toString()},jt=async function(t){await new Promise(e=>setTimeout(e,0));for(const e of t)this.dispatchEvent(new Event(e))},un=async function(){try{await T(this,O,"m",jt).call(this,["loadstart"]);const t=await this.fetch(this.request());if(t.status!==200)throw new Error(`Failed to load resource: the server responded with a status of ${t.status}`);const e=t.headers.get("Content-Type");if(!Oi(this.accept)&&(!e||!e.includes(this.accept?this.accept:"text/html")))throw new Error(`Failed to load resource: expected ${this.accept||"text/html"} but was ${e}`);const s=await t.text();let i=s;return Ae&&(i=(await Ae).createHTML(s,t)),T(this,O,"m",jt).call(this,["load","loadend"]),i}catch(t){throw T(this,O,"m",jt).call(this,["error","loadend"]),t}};const dn=typeof globalThis<"u"?globalThis:window;try{dn.IncludeFragmentElement=Be.define()}catch(n){if(!(dn.DOMException&&n instanceof DOMException&&n.name==="NotSupportedError")&&!(n instanceof ReferenceError))throw n}var hn=function(n,t,e,s){if(e==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?n!==t||!s:!t.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?s:e==="a"?s.call(n):s?s.value:t.get(n)},Ut,xe;const ki=["[data-md-button]","md-header","md-bold","md-italic","md-quote","md-code","md-link","md-image","md-unordered-list","md-ordered-list","md-task-list","md-mention","md-ref","md-strikethrough"];function ls(n){const t=[];for(const e of n.querySelectorAll(ki.join(", ")))e.hidden||e.offsetWidth<=0&&e.offsetHeight<=0||e.closest("markdown-toolbar")===n&&t.push(e);return t}function us(n){return function(t){(t.key===" "||t.key==="Enter")&&n(t)}}const k=new WeakMap,Mi={"header-1":{prefix:"# "},"header-2":{prefix:"## "},"header-3":{prefix:"### "},"header-4":{prefix:"#### "},"header-5":{prefix:"##### "},"header-6":{prefix:"###### "},bold:{prefix:"**",suffix:"**",trimFirst:!0},italic:{prefix:"_",suffix:"_",trimFirst:!0},quote:{prefix:"> ",multiline:!0,surroundWithNewlines:!0},code:{prefix:"`",suffix:"`",blockPrefix:"```",blockSuffix:"```"},link:{prefix:"[",suffix:"](url)",replaceNext:"url",scanFor:"https?://"},image:{prefix:"![",suffix:"](url)",replaceNext:"url",scanFor:"https?://"},"unordered-list":{prefix:"- ",multiline:!0,unorderedList:!0},"ordered-list":{prefix:"1. ",multiline:!0,orderedList:!0},"task-list":{prefix:"- [ ] ",multiline:!0,surroundWithNewlines:!0},mention:{prefix:"@",prefixSpace:!0},ref:{prefix:"#",prefixSpace:!0},strikethrough:{prefix:"~~",suffix:"~~",trimFirst:!0}};class L extends HTMLElement{constructor(){super();const t=e=>{const s=k.get(this);s&&(e.preventDefault(),Oe(this,s))};this.addEventListener("keydown",us(t)),this.addEventListener("click",t)}connectedCallback(){this.hasAttribute("role")||this.setAttribute("role","button")}click(){const t=k.get(this);t&&Oe(this,t)}}class fn extends L{constructor(){super(...arguments),Ut.add(this)}connectedCallback(){const t=parseInt(this.getAttribute("level")||"3",10);hn(this,Ut,"m",xe).call(this,t)}static get observedAttributes(){return["level"]}attributeChangedCallback(t,e,s){if(t!=="level")return;const i=parseInt(s||"3",10);hn(this,Ut,"m",xe).call(this,i)}}Ut=new WeakSet,xe=function(t){if(t<1||t>6)return;const e=`${"#".repeat(t)} `;k.set(this,{prefix:e})};window.customElements.get("md-header")||(window.MarkdownHeaderButtonElement=fn,window.customElements.define("md-header",fn));class mn extends L{connectedCallback(){k.set(this,{prefix:"**",suffix:"**",trimFirst:!0})}}window.customElements.get("md-bold")||(window.MarkdownBoldButtonElement=mn,window.customElements.define("md-bold",mn));class pn extends L{connectedCallback(){k.set(this,{prefix:"_",suffix:"_",trimFirst:!0})}}window.customElements.get("md-italic")||(window.MarkdownItalicButtonElement=pn,window.customElements.define("md-italic",pn));class gn extends L{connectedCallback(){k.set(this,{prefix:"> ",multiline:!0,surroundWithNewlines:!0})}}window.customElements.get("md-quote")||(window.MarkdownQuoteButtonElement=gn,window.customElements.define("md-quote",gn));class bn extends L{connectedCallback(){k.set(this,{prefix:"`",suffix:"`",blockPrefix:"```",blockSuffix:"```"})}}window.customElements.get("md-code")||(window.MarkdownCodeButtonElement=bn,window.customElements.define("md-code",bn));class vn extends L{connectedCallback(){k.set(this,{prefix:"[",suffix:"](url)",replaceNext:"url",scanFor:"https?://"})}}window.customElements.get("md-link")||(window.MarkdownLinkButtonElement=vn,window.customElements.define("md-link",vn));class yn extends L{connectedCallback(){k.set(this,{prefix:"![",suffix:"](url)",replaceNext:"url",scanFor:"https?://"})}}window.customElements.get("md-image")||(window.MarkdownImageButtonElement=yn,window.customElements.define("md-image",yn));class wn extends L{connectedCallback(){k.set(this,{prefix:"- ",multiline:!0,unorderedList:!0})}}window.customElements.get("md-unordered-list")||(window.MarkdownUnorderedListButtonElement=wn,window.customElements.define("md-unordered-list",wn));class En extends L{connectedCallback(){k.set(this,{prefix:"1. ",multiline:!0,orderedList:!0})}}window.customElements.get("md-ordered-list")||(window.MarkdownOrderedListButtonElement=En,window.customElements.define("md-ordered-list",En));class An extends L{connectedCallback(){k.set(this,{prefix:"- [ ] ",multiline:!0,surroundWithNewlines:!0})}}window.customElements.get("md-task-list")||(window.MarkdownTaskListButtonElement=An,window.customElements.define("md-task-list",An));class xn extends L{connectedCallback(){k.set(this,{prefix:"@",prefixSpace:!0})}}window.customElements.get("md-mention")||(window.MarkdownMentionButtonElement=xn,window.customElements.define("md-mention",xn));class Tn extends L{connectedCallback(){k.set(this,{prefix:"#",prefixSpace:!0})}}window.customElements.get("md-ref")||(window.MarkdownRefButtonElement=Tn,window.customElements.define("md-ref",Tn));class On extends L{connectedCallback(){k.set(this,{prefix:"~~",suffix:"~~",trimFirst:!0})}}window.customElements.get("md-strikethrough")||(window.MarkdownStrikethroughButtonElement=On,window.customElements.define("md-strikethrough",On));function kn(n){const{target:t,currentTarget:e}=n;if(!(t instanceof Element))return;const s=t.closest("[data-md-button]");if(!s||s.closest("markdown-toolbar")!==e)return;const i=s.getAttribute("data-md-button"),r=Mi[i];r&&(n.preventDefault(),Oe(t,r))}function Mn(n){n.addEventListener("keydown",hs),n.setAttribute("tabindex","0"),n.addEventListener("focus",ds,{once:!0})}function Sn(n){n.removeEventListener("keydown",hs),n.removeAttribute("tabindex"),n.removeEventListener("focus",ds)}class qt extends HTMLElement{connectedCallback(){this.hasAttribute("role")||this.setAttribute("role","toolbar"),this.hasAttribute("data-no-focus")||Mn(this),this.addEventListener("keydown",us(kn)),this.addEventListener("click",kn)}attributeChangedCallback(t,e,s){t==="data-no-focus"&&(s===null?Mn(this):Sn(this))}disconnectedCallback(){Sn(this)}get field(){const t=this.getAttribute("for");if(!t)return null;const e="getRootNode"in this?this.getRootNode():document;let s;return(e instanceof Document||e instanceof ShadowRoot)&&(s=e.getElementById(t)),s instanceof HTMLTextAreaElement?s:null}}qt.observedAttributes=["data-no-focus"];function ds({target:n}){if(!(n instanceof Element))return;n.removeAttribute("tabindex");let t="0";for(const e of ls(n))e.setAttribute("tabindex",t),t==="0"&&(e.focus(),t="-1")}function hs(n){const t=n.key;if(t!=="ArrowRight"&&t!=="ArrowLeft"&&t!=="Home"&&t!=="End")return;const e=n.currentTarget;if(!(e instanceof HTMLElement))return;const s=ls(e),i=s.indexOf(n.target),r=s.length;if(i===-1)return;let o=0;t==="ArrowLeft"&&(o=i-1),t==="ArrowRight"&&(o=i+1),t==="End"&&(o=r-1),o<0&&(o=r-1),o>r-1&&(o=0);for(let a=0;a<r;a+=1)s[a].setAttribute("tabindex",a===o?"0":"-1");n.preventDefault(),s[o].focus()}window.customElements.get("markdown-toolbar")||(window.MarkdownToolbarElement=qt,window.customElements.define("markdown-toolbar",qt));function Te(n){return n.trim().split(`
80
- `).length>1}function Cn(n,t){return Array(t+1).join(n)}function Si(n,t){let e=t;for(;n[e]&&n[e-1]!=null&&!n[e-1].match(/\s/);)e--;return e}function Ci(n,t,e){let s=t;const i=e?/\n/:/\s/;for(;n[s]&&!n[s].match(i);)s++;return s}let z=null;function Li(n,{text:t,selectionStart:e,selectionEnd:s}){const i=n.selectionStart,r=n.value.slice(0,i),o=n.value.slice(n.selectionEnd);if(z===null||z===!0){n.contentEditable="true";try{z=document.execCommand("insertText",!1,t)}catch{z=!1}n.contentEditable="false"}if(z&&!n.value.slice(0,n.selectionStart).endsWith(t)&&(z=!1),!z){try{document.execCommand("ms-beginUndoUnit")}catch{}n.value=r+t+o;try{document.execCommand("ms-endUndoUnit")}catch{}n.dispatchEvent(new CustomEvent("input",{bubbles:!0,cancelable:!0}))}e!=null&&s!=null?n.setSelectionRange(e,s):n.setSelectionRange(i,n.selectionEnd)}function Fi(n,t){const e=n.value.slice(n.selectionStart,n.selectionEnd);let s;t.orderedList||t.unorderedList?s=Ri(n,t):t.multiline&&Te(e)?s=$i(n,t):s=Bi(n,t),Li(n,s)}function Di(n){const t=n.value.split(`
81
- `);let e=0;for(let s=0;s<t.length;s++){const i=t[s].length+1;n.selectionStart>=e&&n.selectionStart<e+i&&(n.selectionStart=e),n.selectionEnd>=e&&n.selectionEnd<e+i&&(n.selectionEnd=e+i-1),e+=i}}function _i(n,t,e,s=!1){if(n.selectionStart===n.selectionEnd)n.selectionStart=Si(n.value,n.selectionStart),n.selectionEnd=Ci(n.value,n.selectionEnd,s);else{const i=n.selectionStart-t.length,r=n.selectionEnd+e.length,o=n.value.slice(i,n.selectionStart)===t,a=n.value.slice(n.selectionEnd,r)===e;o&&a&&(n.selectionStart=i,n.selectionEnd=r)}return n.value.slice(n.selectionStart,n.selectionEnd)}function $e(n){const t=n.value.slice(0,n.selectionStart),e=n.value.slice(n.selectionEnd),s=t.match(/\n*$/),i=e.match(/^\n*/),r=s?s[0].length:0,o=i?i[0].length:0;let a,c;return t.match(/\S/)&&r<2&&(a=Cn(`
82
- `,2-r)),e.match(/\S/)&&o<2&&(c=Cn(`
83
- `,2-o)),a==null&&(a=""),c==null&&(c=""),{newlinesToAppend:a,newlinesToPrepend:c}}function Bi(n,t){let e,s;const{prefix:i,suffix:r,blockPrefix:o,blockSuffix:a,replaceNext:c,prefixSpace:l,scanFor:u,surroundWithNewlines:d}=t,h=n.selectionStart,g=n.selectionEnd;let f=n.value.slice(n.selectionStart,n.selectionEnd),m=Te(f)&&o.length>0?`${o}
84
- `:i,b=Te(f)&&a.length>0?`
85
- ${a}`:r;if(l){const y=n.value[n.selectionStart-1];n.selectionStart!==0&&y!=null&&!y.match(/\s/)&&(m=` ${m}`)}f=_i(n,m,b,t.multiline);let p=n.selectionStart,v=n.selectionEnd;const E=c.length>0&&b.indexOf(c)>-1&&f.length>0;if(d){const y=$e(n);e=y.newlinesToAppend,s=y.newlinesToPrepend,m=e+i,b+=s}if(f.startsWith(m)&&f.endsWith(b)){const y=f.slice(m.length,f.length-b.length);if(h===g){let w=h-m.length;w=Math.max(w,p),w=Math.min(w,p+y.length),p=v=w}else v=p+y.length;return{text:y,selectionStart:p,selectionEnd:v}}else if(E)if(u.length>0&&f.match(u)){b=b.replace(c,f);const y=m+b;return p=v=p+m.length,{text:y,selectionStart:p,selectionEnd:v}}else{const y=m+f+b;return p=p+m.length+f.length+b.indexOf(c),v=p+c.length,{text:y,selectionStart:p,selectionEnd:v}}else{let y=m+f+b;p=h+m.length,v=g+m.length;const w=f.match(/^\s*|\s*$/g);if(t.trimFirst&&w){const x=w[0]||"",B=w[1]||"";y=x+m+f.trim()+b+B,p+=x.length,v-=B.length}return{text:y,selectionStart:p,selectionEnd:v}}}function $i(n,t){const{prefix:e,suffix:s,surroundWithNewlines:i}=t;let r=n.value.slice(n.selectionStart,n.selectionEnd),o=n.selectionStart,a=n.selectionEnd;const c=r.split(`
79
+ `;const e=t.querySelector("[data-crop-box]");if(!(e instanceof HTMLElement))return;const s=t.querySelector("img");s instanceof HTMLImageElement&&(R.set(this,{box:e,image:s}),s.addEventListener("load",()=>{this.loaded=!0,us(this)}),this.addEventListener("mouseleave",he),this.addEventListener("touchend",he),this.addEventListener("mouseup",he),e.addEventListener("mousedown",dn),e.addEventListener("touchstart",dn,{passive:!0}),this.addEventListener("keydown",Ft),this.addEventListener("keydown",lt),this.src&&(s.src=this.src))}static get observedAttributes(){return["src"]}get src(){return this.getAttribute("src")}set src(t){t?this.setAttribute("src",t):this.removeAttribute("src")}get loaded(){return this.hasAttribute("loaded")}set loaded(t){t?this.setAttribute("loaded",""):this.removeAttribute("loaded")}attributeChangedCallback(t,e,s){const{image:i}=R.get(this)||{};t==="src"&&(this.loaded=!1,i&&(i.src=s))}}window.customElements.get("image-crop")||(window.ImageCropElement=dt,window.customElements.define("image-crop",dt));var T=function(n,t,e,s){if(e==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?n!==t||!s:!t.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?s:e==="a"?s.call(n):s?s.value:t.get(n)},fe=function(n,t,e,s,i){if(s==="m")throw new TypeError("Private method is not writable");if(s==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?n!==t||!i:!t.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?i.call(n,e):i?i.value=e:t.set(n,e),e},O,it,St,rt,me,Ee,jt,hn;const Ae=new WeakMap;function Si(n){return n&&!!n.split(",").find(t=>t.match(/^\s*\*\/\*/))}let xe=null;class Re extends HTMLElement{constructor(){super(...arguments),O.add(this),it.set(this,!1),St.set(this,new IntersectionObserver(t=>{for(const e of t)if(e.isIntersecting){const{target:s}=e;if(T(this,St,"f").unobserve(s),!(s instanceof Re))return;s.loading==="lazy"&&T(this,O,"m",rt).call(this)}},{rootMargin:"0px 0px 256px 0px",threshold:.01}))}static define(t="include-fragment",e=customElements){return e.define(t,this),this}static setCSPTrustedTypesPolicy(t){xe=t===null?t:Promise.resolve(t)}static get observedAttributes(){return["src","loading"]}get src(){const t=this.getAttribute("src");if(t){const e=this.ownerDocument.createElement("a");return e.href=t,e.href}else return""}set src(t){this.setAttribute("src",t)}get loading(){return this.getAttribute("loading")==="lazy"?"lazy":"eager"}set loading(t){this.setAttribute("loading",t)}get accept(){return this.getAttribute("accept")||""}set accept(t){this.setAttribute("accept",t)}get data(){return T(this,O,"m",Ee).call(this)}attributeChangedCallback(t,e){t==="src"?this.isConnected&&this.loading==="eager"&&T(this,O,"m",rt).call(this):t==="loading"&&this.isConnected&&e!=="eager"&&this.loading==="eager"&&T(this,O,"m",rt).call(this)}connectedCallback(){if(!this.shadowRoot){this.attachShadow({mode:"open"});const t=document.createElement("style");t.textContent=":host {display: block;}",this.shadowRoot.append(t,document.createElement("slot"))}this.src&&this.loading==="eager"&&T(this,O,"m",rt).call(this),this.loading==="lazy"&&T(this,St,"f").observe(this)}request(){const t=this.src;if(!t)throw new Error("missing src");return new Request(t,{method:"GET",credentials:"same-origin",headers:{Accept:this.accept||"text/html"}})}load(){return T(this,O,"m",Ee).call(this)}fetch(t){return fetch(t)}refetch(){Ae.delete(this),T(this,O,"m",rt).call(this)}}it=new WeakMap,St=new WeakMap,O=new WeakSet,rt=async function(){if(!T(this,it,"f")){fe(this,it,!0,"f"),T(this,St,"f").unobserve(this);try{const t=await T(this,O,"m",me).call(this);if(t instanceof Error)throw t;const e=t,s=document.createElement("template");s.innerHTML=e;const i=document.importNode(s.content,!0);if(!this.dispatchEvent(new CustomEvent("include-fragment-replace",{cancelable:!0,detail:{fragment:i}}))){fe(this,it,!1,"f");return}this.replaceWith(i),this.dispatchEvent(new CustomEvent("include-fragment-replaced"))}catch{this.classList.add("is-error")}finally{fe(this,it,!1,"f")}}},me=async function(){const t=this.src,e=Ae.get(this);if(e&&e.src===t)return e.data;{let s;return t?s=T(this,O,"m",hn).call(this):s=Promise.reject(new Error("missing src")),Ae.set(this,{src:t,data:s}),s}},Ee=async function(){const t=await T(this,O,"m",me).call(this);if(t instanceof Error)throw t;return t.toString()},jt=async function(t){await new Promise(e=>setTimeout(e,0));for(const e of t)this.dispatchEvent(new Event(e))},hn=async function(){try{await T(this,O,"m",jt).call(this,["loadstart"]);const t=await this.fetch(this.request());if(t.status!==200)throw new Error(`Failed to load resource: the server responded with a status of ${t.status}`);const e=t.headers.get("Content-Type");if(!Si(this.accept)&&(!e||!e.includes(this.accept?this.accept:"text/html")))throw new Error(`Failed to load resource: expected ${this.accept||"text/html"} but was ${e}`);const s=await t.text();let i=s;return xe&&(i=(await xe).createHTML(s,t)),T(this,O,"m",jt).call(this,["load","loadend"]),i}catch(t){throw T(this,O,"m",jt).call(this,["error","loadend"]),t}};const fn=typeof globalThis<"u"?globalThis:window;try{fn.IncludeFragmentElement=Re.define()}catch(n){if(!(fn.DOMException&&n instanceof DOMException&&n.name==="NotSupportedError")&&!(n instanceof ReferenceError))throw n}var mn=function(n,t,e,s){if(e==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?n!==t||!s:!t.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?s:e==="a"?s.call(n):s?s.value:t.get(n)},Ut,Te;const Ci=["[data-md-button]","md-header","md-bold","md-italic","md-quote","md-code","md-link","md-image","md-unordered-list","md-ordered-list","md-task-list","md-mention","md-ref","md-strikethrough"];function hs(n){const t=[];for(const e of n.querySelectorAll(Ci.join(", ")))e.hidden||e.offsetWidth<=0&&e.offsetHeight<=0||e.closest("markdown-toolbar")===n&&t.push(e);return t}function fs(n){return function(t){(t.key===" "||t.key==="Enter")&&n(t)}}const k=new WeakMap,Li={"header-1":{prefix:"# "},"header-2":{prefix:"## "},"header-3":{prefix:"### "},"header-4":{prefix:"#### "},"header-5":{prefix:"##### "},"header-6":{prefix:"###### "},bold:{prefix:"**",suffix:"**",trimFirst:!0},italic:{prefix:"_",suffix:"_",trimFirst:!0},quote:{prefix:"> ",multiline:!0,surroundWithNewlines:!0},code:{prefix:"`",suffix:"`",blockPrefix:"```",blockSuffix:"```"},link:{prefix:"[",suffix:"](url)",replaceNext:"url",scanFor:"https?://"},image:{prefix:"![",suffix:"](url)",replaceNext:"url",scanFor:"https?://"},"unordered-list":{prefix:"- ",multiline:!0,unorderedList:!0},"ordered-list":{prefix:"1. ",multiline:!0,orderedList:!0},"task-list":{prefix:"- [ ] ",multiline:!0,surroundWithNewlines:!0},mention:{prefix:"@",prefixSpace:!0},ref:{prefix:"#",prefixSpace:!0},strikethrough:{prefix:"~~",suffix:"~~",trimFirst:!0}};class L extends HTMLElement{constructor(){super();const t=e=>{const s=k.get(this);s&&(e.preventDefault(),ke(this,s))};this.addEventListener("keydown",fs(t)),this.addEventListener("click",t)}connectedCallback(){this.hasAttribute("role")||this.setAttribute("role","button")}click(){const t=k.get(this);t&&ke(this,t)}}class pn extends L{constructor(){super(...arguments),Ut.add(this)}connectedCallback(){const t=parseInt(this.getAttribute("level")||"3",10);mn(this,Ut,"m",Te).call(this,t)}static get observedAttributes(){return["level"]}attributeChangedCallback(t,e,s){if(t!=="level")return;const i=parseInt(s||"3",10);mn(this,Ut,"m",Te).call(this,i)}}Ut=new WeakSet,Te=function(t){if(t<1||t>6)return;const e=`${"#".repeat(t)} `;k.set(this,{prefix:e})};window.customElements.get("md-header")||(window.MarkdownHeaderButtonElement=pn,window.customElements.define("md-header",pn));class gn extends L{connectedCallback(){k.set(this,{prefix:"**",suffix:"**",trimFirst:!0})}}window.customElements.get("md-bold")||(window.MarkdownBoldButtonElement=gn,window.customElements.define("md-bold",gn));class bn extends L{connectedCallback(){k.set(this,{prefix:"_",suffix:"_",trimFirst:!0})}}window.customElements.get("md-italic")||(window.MarkdownItalicButtonElement=bn,window.customElements.define("md-italic",bn));class vn extends L{connectedCallback(){k.set(this,{prefix:"> ",multiline:!0,surroundWithNewlines:!0})}}window.customElements.get("md-quote")||(window.MarkdownQuoteButtonElement=vn,window.customElements.define("md-quote",vn));class yn extends L{connectedCallback(){k.set(this,{prefix:"`",suffix:"`",blockPrefix:"```",blockSuffix:"```"})}}window.customElements.get("md-code")||(window.MarkdownCodeButtonElement=yn,window.customElements.define("md-code",yn));class wn extends L{connectedCallback(){k.set(this,{prefix:"[",suffix:"](url)",replaceNext:"url",scanFor:"https?://"})}}window.customElements.get("md-link")||(window.MarkdownLinkButtonElement=wn,window.customElements.define("md-link",wn));class En extends L{connectedCallback(){k.set(this,{prefix:"![",suffix:"](url)",replaceNext:"url",scanFor:"https?://"})}}window.customElements.get("md-image")||(window.MarkdownImageButtonElement=En,window.customElements.define("md-image",En));class An extends L{connectedCallback(){k.set(this,{prefix:"- ",multiline:!0,unorderedList:!0})}}window.customElements.get("md-unordered-list")||(window.MarkdownUnorderedListButtonElement=An,window.customElements.define("md-unordered-list",An));class xn extends L{connectedCallback(){k.set(this,{prefix:"1. ",multiline:!0,orderedList:!0})}}window.customElements.get("md-ordered-list")||(window.MarkdownOrderedListButtonElement=xn,window.customElements.define("md-ordered-list",xn));class Tn extends L{connectedCallback(){k.set(this,{prefix:"- [ ] ",multiline:!0,surroundWithNewlines:!0})}}window.customElements.get("md-task-list")||(window.MarkdownTaskListButtonElement=Tn,window.customElements.define("md-task-list",Tn));class On extends L{connectedCallback(){k.set(this,{prefix:"@",prefixSpace:!0})}}window.customElements.get("md-mention")||(window.MarkdownMentionButtonElement=On,window.customElements.define("md-mention",On));class kn extends L{connectedCallback(){k.set(this,{prefix:"#",prefixSpace:!0})}}window.customElements.get("md-ref")||(window.MarkdownRefButtonElement=kn,window.customElements.define("md-ref",kn));class Mn extends L{connectedCallback(){k.set(this,{prefix:"~~",suffix:"~~",trimFirst:!0})}}window.customElements.get("md-strikethrough")||(window.MarkdownStrikethroughButtonElement=Mn,window.customElements.define("md-strikethrough",Mn));function Sn(n){const{target:t,currentTarget:e}=n;if(!(t instanceof Element))return;const s=t.closest("[data-md-button]");if(!s||s.closest("markdown-toolbar")!==e)return;const i=s.getAttribute("data-md-button"),r=Li[i];r&&(n.preventDefault(),ke(t,r))}function Cn(n){n.addEventListener("keydown",ps),n.setAttribute("tabindex","0"),n.addEventListener("focus",ms,{once:!0})}function Ln(n){n.removeEventListener("keydown",ps),n.removeAttribute("tabindex"),n.removeEventListener("focus",ms)}class qt extends HTMLElement{connectedCallback(){this.hasAttribute("role")||this.setAttribute("role","toolbar"),this.hasAttribute("data-no-focus")||Cn(this),this.addEventListener("keydown",fs(Sn)),this.addEventListener("click",Sn)}attributeChangedCallback(t,e,s){t==="data-no-focus"&&(s===null?Cn(this):Ln(this))}disconnectedCallback(){Ln(this)}get field(){const t=this.getAttribute("for");if(!t)return null;const e="getRootNode"in this?this.getRootNode():document;let s;return(e instanceof Document||e instanceof ShadowRoot)&&(s=e.getElementById(t)),s instanceof HTMLTextAreaElement?s:null}}qt.observedAttributes=["data-no-focus"];function ms({target:n}){if(!(n instanceof Element))return;n.removeAttribute("tabindex");let t="0";for(const e of hs(n))e.setAttribute("tabindex",t),t==="0"&&(e.focus(),t="-1")}function ps(n){const t=n.key;if(t!=="ArrowRight"&&t!=="ArrowLeft"&&t!=="Home"&&t!=="End")return;const e=n.currentTarget;if(!(e instanceof HTMLElement))return;const s=hs(e),i=s.indexOf(n.target),r=s.length;if(i===-1)return;let o=0;t==="ArrowLeft"&&(o=i-1),t==="ArrowRight"&&(o=i+1),t==="End"&&(o=r-1),o<0&&(o=r-1),o>r-1&&(o=0);for(let a=0;a<r;a+=1)s[a].setAttribute("tabindex",a===o?"0":"-1");n.preventDefault(),s[o].focus()}window.customElements.get("markdown-toolbar")||(window.MarkdownToolbarElement=qt,window.customElements.define("markdown-toolbar",qt));function Oe(n){return n.trim().split(`
80
+ `).length>1}function Fn(n,t){return Array(t+1).join(n)}function Fi(n,t){let e=t;for(;n[e]&&n[e-1]!=null&&!n[e-1].match(/\s/);)e--;return e}function Di(n,t,e){let s=t;const i=e?/\n/:/\s/;for(;n[s]&&!n[s].match(i);)s++;return s}let z=null;function _i(n,{text:t,selectionStart:e,selectionEnd:s}){const i=n.selectionStart,r=n.value.slice(0,i),o=n.value.slice(n.selectionEnd);if(z===null||z===!0){n.contentEditable="true";try{z=document.execCommand("insertText",!1,t)}catch{z=!1}n.contentEditable="false"}if(z&&!n.value.slice(0,n.selectionStart).endsWith(t)&&(z=!1),!z){try{document.execCommand("ms-beginUndoUnit")}catch{}n.value=r+t+o;try{document.execCommand("ms-endUndoUnit")}catch{}n.dispatchEvent(new CustomEvent("input",{bubbles:!0,cancelable:!0}))}e!=null&&s!=null?n.setSelectionRange(e,s):n.setSelectionRange(i,n.selectionEnd)}function Bi(n,t){const e=n.value.slice(n.selectionStart,n.selectionEnd);let s;t.orderedList||t.unorderedList?s=ji(n,t):t.multiline&&Oe(e)?s=Ni(n,t):s=Ri(n,t),_i(n,s)}function $i(n){const t=n.value.split(`
81
+ `);let e=0;for(let s=0;s<t.length;s++){const i=t[s].length+1;n.selectionStart>=e&&n.selectionStart<e+i&&(n.selectionStart=e),n.selectionEnd>=e&&n.selectionEnd<e+i&&(n.selectionEnd=e+i-1),e+=i}}function Pi(n,t,e,s=!1){if(n.selectionStart===n.selectionEnd)n.selectionStart=Fi(n.value,n.selectionStart),n.selectionEnd=Di(n.value,n.selectionEnd,s);else{const i=n.selectionStart-t.length,r=n.selectionEnd+e.length,o=n.value.slice(i,n.selectionStart)===t,a=n.value.slice(n.selectionEnd,r)===e;o&&a&&(n.selectionStart=i,n.selectionEnd=r)}return n.value.slice(n.selectionStart,n.selectionEnd)}function Ne(n){const t=n.value.slice(0,n.selectionStart),e=n.value.slice(n.selectionEnd),s=t.match(/\n*$/),i=e.match(/^\n*/),r=s?s[0].length:0,o=i?i[0].length:0;let a,c;return t.match(/\S/)&&r<2&&(a=Fn(`
82
+ `,2-r)),e.match(/\S/)&&o<2&&(c=Fn(`
83
+ `,2-o)),a==null&&(a=""),c==null&&(c=""),{newlinesToAppend:a,newlinesToPrepend:c}}function Ri(n,t){let e,s;const{prefix:i,suffix:r,blockPrefix:o,blockSuffix:a,replaceNext:c,prefixSpace:l,scanFor:u,surroundWithNewlines:d}=t,h=n.selectionStart,p=n.selectionEnd;let f=n.value.slice(n.selectionStart,n.selectionEnd),m=Oe(f)&&o.length>0?`${o}
84
+ `:i,v=Oe(f)&&a.length>0?`
85
+ ${a}`:r;if(l){const b=n.value[n.selectionStart-1];n.selectionStart!==0&&b!=null&&!b.match(/\s/)&&(m=` ${m}`)}f=Pi(n,m,v,t.multiline);let g=n.selectionStart,y=n.selectionEnd;const E=c.length>0&&v.indexOf(c)>-1&&f.length>0;if(d){const b=Ne(n);e=b.newlinesToAppend,s=b.newlinesToPrepend,m=e+i,v+=s}if(f.startsWith(m)&&f.endsWith(v)){const b=f.slice(m.length,f.length-v.length);if(h===p){let w=h-m.length;w=Math.max(w,g),w=Math.min(w,g+b.length),g=y=w}else y=g+b.length;return{text:b,selectionStart:g,selectionEnd:y}}else if(E)if(u.length>0&&f.match(u)){v=v.replace(c,f);const b=m+v;return g=y=g+m.length,{text:b,selectionStart:g,selectionEnd:y}}else{const b=m+f+v;return g=g+m.length+f.length+v.indexOf(c),y=g+c.length,{text:b,selectionStart:g,selectionEnd:y}}else{let b=m+f+v;g=h+m.length,y=p+m.length;const w=f.match(/^\s*|\s*$/g);if(t.trimFirst&&w){const A=w[0]||"",B=w[1]||"";b=A+m+f.trim()+v+B,g+=A.length,y-=B.length}return{text:b,selectionStart:g,selectionEnd:y}}}function Ni(n,t){const{prefix:e,suffix:s,surroundWithNewlines:i}=t;let r=n.value.slice(n.selectionStart,n.selectionEnd),o=n.selectionStart,a=n.selectionEnd;const c=r.split(`
86
86
  `);if(c.every(u=>u.startsWith(e)&&u.endsWith(s)))r=c.map(u=>u.slice(e.length,u.length-s.length)).join(`
87
87
  `),a=o+r.length;else if(r=c.map(u=>e+u+s).join(`
88
- `),i){const{newlinesToAppend:u,newlinesToPrepend:d}=$e(n);o+=u.length,a=o+r.length,r=u+r+d}return{text:r,selectionStart:o,selectionEnd:a}}function Ln(n){const t=n.split(`
88
+ `),i){const{newlinesToAppend:u,newlinesToPrepend:d}=Ne(n);o+=u.length,a=o+r.length,r=u+r+d}return{text:r,selectionStart:o,selectionEnd:a}}function Dn(n){const t=n.split(`
89
89
  `),e=/^\d+\.\s+/,s=t.every(r=>e.test(r));let i=t;return s&&(i=t.map(r=>r.replace(e,""))),{text:i.join(`
90
- `),processed:s}}function Fn(n){const t=n.split(`
90
+ `),processed:s}}function _n(n){const t=n.split(`
91
91
  `),e="- ",s=t.every(r=>r.startsWith(e));let i=t;return s&&(i=t.map(r=>r.slice(e.length,r.length))),{text:i.join(`
92
- `),processed:s}}function bt(n,t){return t?"- ":`${n+1}. `}function Pi(n,t){let e,s,i;return n.orderedList?(s=Ln(t),e=Fn(s.text),i=e.text):(s=Fn(t),e=Ln(s.text),i=e.text),[s,e,i]}function Ri(n,t){const e=n.selectionStart===n.selectionEnd;let s=n.selectionStart,i=n.selectionEnd;Di(n);const r=n.value.slice(n.selectionStart,n.selectionEnd),[o,a,c]=Pi(t,r),l=c.split(`
93
- `).map((m,b)=>`${bt(b,t.unorderedList)}${m}`),u=l.reduce((m,b,p)=>m+bt(p,t.unorderedList).length,0),d=l.reduce((m,b,p)=>m+bt(p,!t.unorderedList).length,0);if(o.processed)return e?(s=Math.max(s-bt(0,t.unorderedList).length,0),i=s):(s=n.selectionStart,i=n.selectionEnd-u),{text:c,selectionStart:s,selectionEnd:i};const{newlinesToAppend:h,newlinesToPrepend:g}=$e(n),f=h+l.join(`
94
- `)+g;return e?(s=Math.max(s+bt(0,t.unorderedList).length+h.length,0),i=s):a.processed?(s=Math.max(n.selectionStart+h.length,0),i=n.selectionEnd+h.length+u-d):(s=Math.max(n.selectionStart+h.length,0),i=n.selectionEnd+h.length+u),{text:f,selectionStart:s,selectionEnd:i}}function Oe(n,t){const e=n.closest("markdown-toolbar");if(!(e instanceof qt))return;const i=Object.assign(Object.assign({},{prefix:"",suffix:"",blockPrefix:"",blockSuffix:"",multiline:!1,replaceNext:"",prefixSpace:!1,scanFor:"",surroundWithNewlines:!1,orderedList:!1,unorderedList:!1,trimFirst:!1}),t),r=e.field;r&&(r.focus(),Fi(r,i))}var Ii=function(n,t,e,s,i){if(s==="m")throw new TypeError("Private method is not writable");if(s==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?n!==t||!i:!t.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?i.call(n,e):i?i.value=e:t.set(n,e),e},Dn=function(n,t,e,s){if(e==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?n!==t||!s:!t.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?s:e==="a"?s.call(n):s?s.value:t.get(n)},xt;class Ni{formatToParts(t){const e=[];for(const s of t)e.push({type:"element",value:s}),e.push({type:"literal",value:", "});return e.slice(0,-1)}}const ji=typeof Intl<"u"&&Intl.ListFormat||Ni,Hi=[["years","year"],["months","month"],["weeks","week"],["days","day"],["hours","hour"],["minutes","minute"],["seconds","second"],["milliseconds","millisecond"]],Vi={minimumIntegerDigits:2};class Wi{constructor(t,e={}){xt.set(this,void 0);let s=String(e.style||"short");s!=="long"&&s!=="short"&&s!=="narrow"&&s!=="digital"&&(s="short");let i=s==="digital"?"numeric":s;const r=e.hours||i;i=r==="2-digit"?"numeric":r;const o=e.minutes||i;i=o==="2-digit"?"numeric":o;const a=e.seconds||i;i=a==="2-digit"?"numeric":a;const c=e.milliseconds||i;Ii(this,xt,{locale:t,style:s,years:e.years||s==="digital"?"short":s,yearsDisplay:e.yearsDisplay==="always"?"always":"auto",months:e.months||s==="digital"?"short":s,monthsDisplay:e.monthsDisplay==="always"?"always":"auto",weeks:e.weeks||s==="digital"?"short":s,weeksDisplay:e.weeksDisplay==="always"?"always":"auto",days:e.days||s==="digital"?"short":s,daysDisplay:e.daysDisplay==="always"?"always":"auto",hours:r,hoursDisplay:e.hoursDisplay==="always"||s==="digital"?"always":"auto",minutes:o,minutesDisplay:e.minutesDisplay==="always"||s==="digital"?"always":"auto",seconds:a,secondsDisplay:e.secondsDisplay==="always"||s==="digital"?"always":"auto",milliseconds:c,millisecondsDisplay:e.millisecondsDisplay==="always"?"always":"auto"},"f")}resolvedOptions(){return Dn(this,xt,"f")}formatToParts(t){const e=[],s=Dn(this,xt,"f"),i=s.style,r=s.locale;for(const[o,a]of Hi){const c=t[o];if(s[`${o}Display`]==="auto"&&!c)continue;const l=s[o],u=l==="2-digit"?Vi:l==="numeric"?{}:{style:"unit",unit:a,unitDisplay:l};e.push(new Intl.NumberFormat(r,u).format(c))}return new ji(r,{type:"unit",style:i==="digital"?"short":i}).formatToParts(e)}format(t){return this.formatToParts(t).map(e=>e.value).join("")}}xt=new WeakMap;const fs=/^[-+]?P(?:(\d+)Y)?(?:(\d+)M)?(?:(\d+)W)?(?:(\d+)D)?(?:T(?:(\d+)H)?(?:(\d+)M)?(?:(\d+)S)?)?$/,zt=["year","month","week","day","hour","minute","second","millisecond"],Ki=n=>fs.test(n);class M{constructor(t=0,e=0,s=0,i=0,r=0,o=0,a=0,c=0){this.years=t,this.months=e,this.weeks=s,this.days=i,this.hours=r,this.minutes=o,this.seconds=a,this.milliseconds=c,this.years||(this.years=0),this.sign||(this.sign=Math.sign(this.years)),this.months||(this.months=0),this.sign||(this.sign=Math.sign(this.months)),this.weeks||(this.weeks=0),this.sign||(this.sign=Math.sign(this.weeks)),this.days||(this.days=0),this.sign||(this.sign=Math.sign(this.days)),this.hours||(this.hours=0),this.sign||(this.sign=Math.sign(this.hours)),this.minutes||(this.minutes=0),this.sign||(this.sign=Math.sign(this.minutes)),this.seconds||(this.seconds=0),this.sign||(this.sign=Math.sign(this.seconds)),this.milliseconds||(this.milliseconds=0),this.sign||(this.sign=Math.sign(this.milliseconds)),this.blank=this.sign===0}abs(){return new M(Math.abs(this.years),Math.abs(this.months),Math.abs(this.weeks),Math.abs(this.days),Math.abs(this.hours),Math.abs(this.minutes),Math.abs(this.seconds),Math.abs(this.milliseconds))}static from(t){var e;if(typeof t=="string"){const s=String(t).trim(),i=s.startsWith("-")?-1:1,r=(e=s.match(fs))===null||e===void 0?void 0:e.slice(1).map(o=>(Number(o)||0)*i);return r?new M(...r):new M}else if(typeof t=="object"){const{years:s,months:i,weeks:r,days:o,hours:a,minutes:c,seconds:l,milliseconds:u}=t;return new M(s,i,r,o,a,c,l,u)}throw new RangeError("invalid duration")}static compare(t,e){const s=Date.now(),i=Math.abs(_n(s,M.from(t)).getTime()-s),r=Math.abs(_n(s,M.from(e)).getTime()-s);return i>r?-1:i<r?1:0}toLocaleString(t,e){return new Wi(t,e).format(this)}}function _n(n,t){const e=new Date(n);return e.setFullYear(e.getFullYear()+t.years),e.setMonth(e.getMonth()+t.months),e.setDate(e.getDate()+t.weeks*7+t.days),e.setHours(e.getHours()+t.hours),e.setMinutes(e.getMinutes()+t.minutes),e.setSeconds(e.getSeconds()+t.seconds),e}function Ui(n,t="second",e=Date.now()){const s=n.getTime()-e;if(s===0)return new M;const i=Math.sign(s),r=Math.abs(s),o=Math.floor(r/1e3),a=Math.floor(o/60),c=Math.floor(a/60),l=Math.floor(c/24),u=Math.floor(l/30),d=Math.floor(u/12),h=zt.indexOf(t)||zt.length;return new M(h>=0?d*i:0,h>=1?(u-d*12)*i:0,0,h>=3?(l-u*30)*i:0,h>=4?(c-l*24)*i:0,h>=5?(a-c*60)*i:0,h>=6?(o-a*60)*i:0,h>=7?(r-o*1e3)*i:0)}function ms(n,{relativeTo:t=Date.now()}={}){if(t=new Date(t),n.blank)return n;const e=n.sign;let s=Math.abs(n.years),i=Math.abs(n.months),r=Math.abs(n.weeks),o=Math.abs(n.days),a=Math.abs(n.hours),c=Math.abs(n.minutes),l=Math.abs(n.seconds),u=Math.abs(n.milliseconds);u>=900&&(l+=Math.round(u/1e3)),(l||c||a||o||r||i||s)&&(u=0),l>=55&&(c+=Math.round(l/60)),(c||a||o||r||i||s)&&(l=0),c>=55&&(a+=Math.round(c/60)),(a||o||r||i||s)&&(c=0),o&&a>=12&&(o+=Math.round(a/24)),!o&&a>=21&&(o+=Math.round(a/24)),(o||r||i||s)&&(a=0);const d=t.getFullYear();let h=t.getMonth();const g=t.getDate();if(o>=27||s+i+o){const f=new Date(t);f.setFullYear(d+s*e),f.setMonth(h+i*e),f.setDate(g+o*e);const m=f.getFullYear()-t.getFullYear(),b=f.getMonth()-t.getMonth(),p=Math.abs(Math.round((Number(f)-Number(t))/864e5)),v=Math.abs(m*12+b);p<27?(o>=6?(r+=Math.round(o/7),o=0):o=p,i=s=0):v<11?(i=v,s=0):(i=0,s=m*e),(i||s)&&(o=0),h=t.getMonth()}return s&&(i=0),r>=4&&(i+=Math.round(r/4)),(i||s)&&(r=0),o&&r&&!i&&!s&&(r+=Math.round(o/7),o=0),new M(s*e,i*e,r*e,o*e,a*e,c*e,l*e,u*e)}function qi(n,t){const e=ms(n,t);if(e.blank)return[0,"second"];for(const s of zt){if(s==="millisecond")continue;const i=e[`${s}s`];if(i)return[i,s]}return[0,"second"]}var A=function(n,t,e,s){if(e==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?n!==t||!s:!t.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?s:e==="a"?s.call(n):s?s.value:t.get(n)},Ht=function(n,t,e,s,i){if(s==="m")throw new TypeError("Private method is not writable");if(s==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?n!==t||!i:!t.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?i.call(n,e):i?i.value=e:t.set(n,e),e},F,Tt,Ot,vt,X,ke,ps,gs,bs,vs,ot;const zi=globalThis.HTMLElement||null,pe=new M,Bn=new M(0,0,0,0,0,1);class Yi extends Event{constructor(t,e,s,i){super("relative-time-updated",{bubbles:!0,composed:!0}),this.oldText=t,this.newText=e,this.oldTitle=s,this.newTitle=i}}function $n(n){if(!n.date)return 1/0;if(n.format==="duration"||n.format==="elapsed"){const e=n.precision;if(e==="second")return 1e3;if(e==="minute")return 60*1e3}const t=Math.abs(Date.now()-n.date.getTime());return t<60*1e3?1e3:t<60*60*1e3?60*1e3:60*60*1e3}const ge=new class{constructor(){this.elements=new Set,this.time=1/0,this.timer=-1}observe(n){if(this.elements.has(n))return;this.elements.add(n);const t=n.date;if(t&&t.getTime()){const e=$n(n),s=Date.now()+e;s<this.time&&(clearTimeout(this.timer),this.timer=setTimeout(()=>this.update(),e),this.time=s)}}unobserve(n){this.elements.has(n)&&this.elements.delete(n)}update(){if(clearTimeout(this.timer),!this.elements.size)return;let n=1/0;for(const t of this.elements)n=Math.min(n,$n(t)),t.update();this.time=Math.min(60*60*1e3,n),this.timer=setTimeout(()=>this.update(),this.time),this.time+=Date.now()}};class Xi extends zi{constructor(){super(...arguments),F.add(this),Tt.set(this,!1),Ot.set(this,!1),X.set(this,this.shadowRoot?this.shadowRoot:this.attachShadow?this.attachShadow({mode:"open"}):this),ot.set(this,null)}static define(t="relative-time",e=customElements){return e.define(t,this),this}static get observedAttributes(){return["second","minute","hour","weekday","day","month","year","time-zone-name","prefix","threshold","tense","precision","format","format-style","datetime","lang","title"]}get onRelativeTimeUpdated(){return A(this,ot,"f")}set onRelativeTimeUpdated(t){A(this,ot,"f")&&this.removeEventListener("relative-time-updated",A(this,ot,"f")),Ht(this,ot,typeof t=="object"||typeof t=="function"?t:null,"f"),typeof t=="function"&&this.addEventListener("relative-time-updated",t)}get second(){const t=this.getAttribute("second");if(t==="numeric"||t==="2-digit")return t}set second(t){this.setAttribute("second",t||"")}get minute(){const t=this.getAttribute("minute");if(t==="numeric"||t==="2-digit")return t}set minute(t){this.setAttribute("minute",t||"")}get hour(){const t=this.getAttribute("hour");if(t==="numeric"||t==="2-digit")return t}set hour(t){this.setAttribute("hour",t||"")}get weekday(){const t=this.getAttribute("weekday");if(t==="long"||t==="short"||t==="narrow")return t;if(this.format==="datetime"&&t!=="")return this.formatStyle}set weekday(t){this.setAttribute("weekday",t||"")}get day(){var t;const e=(t=this.getAttribute("day"))!==null&&t!==void 0?t:"numeric";if(e==="numeric"||e==="2-digit")return e}set day(t){this.setAttribute("day",t||"")}get month(){const t=this.format;let e=this.getAttribute("month");if(e!==""&&(e??(e=t==="datetime"?this.formatStyle:"short"),e==="numeric"||e==="2-digit"||e==="short"||e==="long"||e==="narrow"))return e}set month(t){this.setAttribute("month",t||"")}get year(){var t;const e=this.getAttribute("year");if(e==="numeric"||e==="2-digit")return e;if(!this.hasAttribute("year")&&new Date().getUTCFullYear()!==((t=this.date)===null||t===void 0?void 0:t.getUTCFullYear()))return"numeric"}set year(t){this.setAttribute("year",t||"")}get timeZoneName(){const t=this.getAttribute("time-zone-name");if(t==="long"||t==="short"||t==="shortOffset"||t==="longOffset"||t==="shortGeneric"||t==="longGeneric")return t}set timeZoneName(t){this.setAttribute("time-zone-name",t||"")}get prefix(){var t;return(t=this.getAttribute("prefix"))!==null&&t!==void 0?t:this.format==="datetime"?"":"on"}set prefix(t){this.setAttribute("prefix",t)}get threshold(){const t=this.getAttribute("threshold");return t&&Ki(t)?t:"P30D"}set threshold(t){this.setAttribute("threshold",t)}get tense(){const t=this.getAttribute("tense");return t==="past"?"past":t==="future"?"future":"auto"}set tense(t){this.setAttribute("tense",t)}get precision(){const t=this.getAttribute("precision");return zt.includes(t)?t:this.format==="micro"?"minute":"second"}set precision(t){this.setAttribute("precision",t)}get format(){const t=this.getAttribute("format");return t==="datetime"?"datetime":t==="relative"?"relative":t==="duration"?"duration":t==="micro"?"micro":t==="elapsed"?"elapsed":"auto"}set format(t){this.setAttribute("format",t)}get formatStyle(){const t=this.getAttribute("format-style");if(t==="long")return"long";if(t==="short")return"short";if(t==="narrow")return"narrow";const e=this.format;return e==="elapsed"||e==="micro"?"narrow":e==="datetime"?"short":"long"}set formatStyle(t){this.setAttribute("format-style",t)}get datetime(){return this.getAttribute("datetime")||""}set datetime(t){this.setAttribute("datetime",t)}get date(){const t=Date.parse(this.datetime);return Number.isNaN(t)?null:new Date(t)}set date(t){this.datetime=(t==null?void 0:t.toISOString())||""}connectedCallback(){this.update()}disconnectedCallback(){ge.unobserve(this)}attributeChangedCallback(t,e,s){e!==s&&(t==="title"&&Ht(this,Tt,s!==null&&(this.date&&A(this,F,"m",ke).call(this,this.date))!==s,"f"),!A(this,Ot,"f")&&!(t==="title"&&A(this,Tt,"f"))&&Ht(this,Ot,(async()=>{await Promise.resolve(),this.update()})(),"f"))}update(){const t=A(this,X,"f").textContent||this.textContent||"",e=this.getAttribute("title")||"";let s=e;const i=this.date;if(typeof Intl>"u"||!Intl.DateTimeFormat||!i){A(this,X,"f").textContent=t;return}const r=Date.now();A(this,Tt,"f")||(s=A(this,F,"m",ke).call(this,i)||"",s&&this.setAttribute("title",s));const o=Ui(i,this.precision,r),a=A(this,F,"m",ps).call(this,o);let c=t;a==="duration"?c=A(this,F,"m",gs).call(this,o):a==="relative"?c=A(this,F,"m",bs).call(this,o):c=A(this,F,"m",vs).call(this,i),c?A(this,X,"f").textContent=c:this.shadowRoot===A(this,X,"f")&&this.textContent&&(A(this,X,"f").textContent=this.textContent),(c!==t||s!==e)&&this.dispatchEvent(new Yi(t,c,e,s)),a==="relative"||a==="duration"?ge.observe(this):ge.unobserve(this),Ht(this,Ot,!1,"f")}}Tt=new WeakMap,Ot=new WeakMap,X=new WeakMap,ot=new WeakMap,F=new WeakSet,vt=function(){var t;return((t=this.closest("[lang]"))===null||t===void 0?void 0:t.getAttribute("lang"))||this.ownerDocument.documentElement.getAttribute("lang")||"default"},ke=function(t){return new Intl.DateTimeFormat(A(this,F,"a",vt),{day:"numeric",month:"short",year:"numeric",hour:"numeric",minute:"2-digit",timeZoneName:"short"}).format(t)},ps=function(t){const e=this.format;if(e==="datetime")return"datetime";if(e==="duration"||e==="elapsed"||e==="micro")return"duration";if((e==="auto"||e==="relative")&&typeof Intl<"u"&&Intl.RelativeTimeFormat){const s=this.tense;if(s==="past"||s==="future"||M.compare(t,this.threshold)===1)return"relative"}return"datetime"},gs=function(t){const e=A(this,F,"a",vt),s=this.format,i=this.formatStyle,r=this.tense;let o=pe;s==="micro"?(t=ms(t),o=Bn,(this.tense==="past"&&t.sign!==-1||this.tense==="future"&&t.sign!==1)&&(t=Bn)):(r==="past"&&t.sign!==-1||r==="future"&&t.sign!==1)&&(t=o);const a=`${this.precision}sDisplay`;return t.blank?o.toLocaleString(e,{style:i,[a]:"always"}):t.abs().toLocaleString(e,{style:i})},bs=function(t){const e=new Intl.RelativeTimeFormat(A(this,F,"a",vt),{numeric:"auto",style:this.formatStyle}),s=this.tense;s==="future"&&t.sign!==1&&(t=pe),s==="past"&&t.sign!==-1&&(t=pe);const[i,r]=qi(t);return r==="second"&&i<10?e.format(0,this.precision==="millisecond"?"second":this.precision):e.format(i,r)},vs=function(t){const e=new Intl.DateTimeFormat(A(this,F,"a",vt),{second:this.second,minute:this.minute,hour:this.hour,weekday:this.weekday,day:this.day,month:this.month,year:this.year,timeZoneName:this.timeZoneName});return`${this.prefix} ${e.format(t)}`.trim()};const Pn=typeof globalThis<"u"?globalThis:window;try{Pn.RelativeTimeElement=Xi.define()}catch(n){if(!(Pn.DOMException&&n instanceof DOMException&&n.name==="NotSupportedError")&&!(n instanceof ReferenceError))throw n}localStorage.getItem("theme");window.matchMedia("(prefers-color-scheme: dark)").matches;class Gi{constructor(t,e,s){this.eventTarget=t,this.eventName=e,this.eventOptions=s,this.unorderedBindings=new Set}connect(){this.eventTarget.addEventListener(this.eventName,this,this.eventOptions)}disconnect(){this.eventTarget.removeEventListener(this.eventName,this,this.eventOptions)}bindingConnected(t){this.unorderedBindings.add(t)}bindingDisconnected(t){this.unorderedBindings.delete(t)}handleEvent(t){const e=Zi(t);for(const s of this.bindings){if(e.immediatePropagationStopped)break;s.handleEvent(e)}}hasBindings(){return this.unorderedBindings.size>0}get bindings(){return Array.from(this.unorderedBindings).sort((t,e)=>{const s=t.index,i=e.index;return s<i?-1:s>i?1:0})}}function Zi(n){if("immediatePropagationStopped"in n)return n;{const{stopImmediatePropagation:t}=n;return Object.assign(n,{immediatePropagationStopped:!1,stopImmediatePropagation(){this.immediatePropagationStopped=!0,t.call(this)}})}}class Ji{constructor(t){this.application=t,this.eventListenerMaps=new Map,this.started=!1}start(){this.started||(this.started=!0,this.eventListeners.forEach(t=>t.connect()))}stop(){this.started&&(this.started=!1,this.eventListeners.forEach(t=>t.disconnect()))}get eventListeners(){return Array.from(this.eventListenerMaps.values()).reduce((t,e)=>t.concat(Array.from(e.values())),[])}bindingConnected(t){this.fetchEventListenerForBinding(t).bindingConnected(t)}bindingDisconnected(t,e=!1){this.fetchEventListenerForBinding(t).bindingDisconnected(t),e&&this.clearEventListenersForBinding(t)}handleError(t,e,s={}){this.application.handleError(t,`Error ${e}`,s)}clearEventListenersForBinding(t){const e=this.fetchEventListenerForBinding(t);e.hasBindings()||(e.disconnect(),this.removeMappedEventListenerFor(t))}removeMappedEventListenerFor(t){const{eventTarget:e,eventName:s,eventOptions:i}=t,r=this.fetchEventListenerMapForEventTarget(e),o=this.cacheKey(s,i);r.delete(o),r.size==0&&this.eventListenerMaps.delete(e)}fetchEventListenerForBinding(t){const{eventTarget:e,eventName:s,eventOptions:i}=t;return this.fetchEventListener(e,s,i)}fetchEventListener(t,e,s){const i=this.fetchEventListenerMapForEventTarget(t),r=this.cacheKey(e,s);let o=i.get(r);return o||(o=this.createEventListener(t,e,s),i.set(r,o)),o}createEventListener(t,e,s){const i=new Gi(t,e,s);return this.started&&i.connect(),i}fetchEventListenerMapForEventTarget(t){let e=this.eventListenerMaps.get(t);return e||(e=new Map,this.eventListenerMaps.set(t,e)),e}cacheKey(t,e){const s=[t];return Object.keys(e).sort().forEach(i=>{s.push(`${e[i]?"":"!"}${i}`)}),s.join(":")}}const Qi={stop({event:n,value:t}){return t&&n.stopPropagation(),!0},prevent({event:n,value:t}){return t&&n.preventDefault(),!0},self({event:n,value:t,element:e}){return t?e===n.target:!0}},tr=/^(?:(?:([^.]+?)\+)?(.+?)(?:\.(.+?))?(?:@(window|document))?->)?(.+?)(?:#([^:]+?))(?::(.+))?$/;function er(n){const e=n.trim().match(tr)||[];let s=e[2],i=e[3];return i&&!["keydown","keyup","keypress"].includes(s)&&(s+=`.${i}`,i=""),{eventTarget:nr(e[4]),eventName:s,eventOptions:e[7]?sr(e[7]):{},identifier:e[5],methodName:e[6],keyFilter:e[1]||i}}function nr(n){if(n=="window")return window;if(n=="document")return document}function sr(n){return n.split(":").reduce((t,e)=>Object.assign(t,{[e.replace(/^!/,"")]:!/^!/.test(e)}),{})}function ir(n){if(n==window)return"window";if(n==document)return"document"}function Pe(n){return n.replace(/(?:[_-])([a-z0-9])/g,(t,e)=>e.toUpperCase())}function Me(n){return Pe(n.replace(/--/g,"-").replace(/__/g,"_"))}function _t(n){return n.charAt(0).toUpperCase()+n.slice(1)}function ys(n){return n.replace(/([A-Z])/g,(t,e)=>`-${e.toLowerCase()}`)}function rr(n){return n.match(/[^\s]+/g)||[]}function Rn(n){return n!=null}function Se(n,t){return Object.prototype.hasOwnProperty.call(n,t)}const In=["meta","ctrl","alt","shift"];class or{constructor(t,e,s,i){this.element=t,this.index=e,this.eventTarget=s.eventTarget||t,this.eventName=s.eventName||ar(t)||Vt("missing event name"),this.eventOptions=s.eventOptions||{},this.identifier=s.identifier||Vt("missing identifier"),this.methodName=s.methodName||Vt("missing method name"),this.keyFilter=s.keyFilter||"",this.schema=i}static forToken(t,e){return new this(t.element,t.index,er(t.content),e)}toString(){const t=this.keyFilter?`.${this.keyFilter}`:"",e=this.eventTargetName?`@${this.eventTargetName}`:"";return`${this.eventName}${t}${e}->${this.identifier}#${this.methodName}`}shouldIgnoreKeyboardEvent(t){if(!this.keyFilter)return!1;const e=this.keyFilter.split("+");if(this.keyFilterDissatisfied(t,e))return!0;const s=e.filter(i=>!In.includes(i))[0];return s?(Se(this.keyMappings,s)||Vt(`contains unknown key filter: ${this.keyFilter}`),this.keyMappings[s].toLowerCase()!==t.key.toLowerCase()):!1}shouldIgnoreMouseEvent(t){if(!this.keyFilter)return!1;const e=[this.keyFilter];return!!this.keyFilterDissatisfied(t,e)}get params(){const t={},e=new RegExp(`^data-${this.identifier}-(.+)-param$`,"i");for(const{name:s,value:i}of Array.from(this.element.attributes)){const r=s.match(e),o=r&&r[1];o&&(t[Pe(o)]=cr(i))}return t}get eventTargetName(){return ir(this.eventTarget)}get keyMappings(){return this.schema.keyMappings}keyFilterDissatisfied(t,e){const[s,i,r,o]=In.map(a=>e.includes(a));return t.metaKey!==s||t.ctrlKey!==i||t.altKey!==r||t.shiftKey!==o}}const Nn={a:()=>"click",button:()=>"click",form:()=>"submit",details:()=>"toggle",input:n=>n.getAttribute("type")=="submit"?"click":"input",select:()=>"change",textarea:()=>"input"};function ar(n){const t=n.tagName.toLowerCase();if(t in Nn)return Nn[t](n)}function Vt(n){throw new Error(n)}function cr(n){try{return JSON.parse(n)}catch{return n}}class lr{constructor(t,e){this.context=t,this.action=e}get index(){return this.action.index}get eventTarget(){return this.action.eventTarget}get eventOptions(){return this.action.eventOptions}get identifier(){return this.context.identifier}handleEvent(t){const e=this.prepareActionEvent(t);this.willBeInvokedByEvent(t)&&this.applyEventModifiers(e)&&this.invokeWithEvent(e)}get eventName(){return this.action.eventName}get method(){const t=this.controller[this.methodName];if(typeof t=="function")return t;throw new Error(`Action "${this.action}" references undefined method "${this.methodName}"`)}applyEventModifiers(t){const{element:e}=this.action,{actionDescriptorFilters:s}=this.context.application,{controller:i}=this.context;let r=!0;for(const[o,a]of Object.entries(this.eventOptions))if(o in s){const c=s[o];r=r&&c({name:o,value:a,event:t,element:e,controller:i})}else continue;return r}prepareActionEvent(t){return Object.assign(t,{params:this.action.params})}invokeWithEvent(t){const{target:e,currentTarget:s}=t;try{this.method.call(this.controller,t),this.context.logDebugActivity(this.methodName,{event:t,target:e,currentTarget:s,action:this.methodName})}catch(i){const{identifier:r,controller:o,element:a,index:c}=this,l={identifier:r,controller:o,element:a,index:c,event:t};this.context.handleError(i,`invoking action "${this.action}"`,l)}}willBeInvokedByEvent(t){const e=t.target;return t instanceof KeyboardEvent&&this.action.shouldIgnoreKeyboardEvent(t)||t instanceof MouseEvent&&this.action.shouldIgnoreMouseEvent(t)?!1:this.element===e?!0:e instanceof Element&&this.element.contains(e)?this.scope.containsElement(e):this.scope.containsElement(this.action.element)}get controller(){return this.context.controller}get methodName(){return this.action.methodName}get element(){return this.scope.element}get scope(){return this.context.scope}}class ws{constructor(t,e){this.mutationObserverInit={attributes:!0,childList:!0,subtree:!0},this.element=t,this.started=!1,this.delegate=e,this.elements=new Set,this.mutationObserver=new MutationObserver(s=>this.processMutations(s))}start(){this.started||(this.started=!0,this.mutationObserver.observe(this.element,this.mutationObserverInit),this.refresh())}pause(t){this.started&&(this.mutationObserver.disconnect(),this.started=!1),t(),this.started||(this.mutationObserver.observe(this.element,this.mutationObserverInit),this.started=!0)}stop(){this.started&&(this.mutationObserver.takeRecords(),this.mutationObserver.disconnect(),this.started=!1)}refresh(){if(this.started){const t=new Set(this.matchElementsInTree());for(const e of Array.from(this.elements))t.has(e)||this.removeElement(e);for(const e of Array.from(t))this.addElement(e)}}processMutations(t){if(this.started)for(const e of t)this.processMutation(e)}processMutation(t){t.type=="attributes"?this.processAttributeChange(t.target,t.attributeName):t.type=="childList"&&(this.processRemovedNodes(t.removedNodes),this.processAddedNodes(t.addedNodes))}processAttributeChange(t,e){this.elements.has(t)?this.delegate.elementAttributeChanged&&this.matchElement(t)?this.delegate.elementAttributeChanged(t,e):this.removeElement(t):this.matchElement(t)&&this.addElement(t)}processRemovedNodes(t){for(const e of Array.from(t)){const s=this.elementFromNode(e);s&&this.processTree(s,this.removeElement)}}processAddedNodes(t){for(const e of Array.from(t)){const s=this.elementFromNode(e);s&&this.elementIsActive(s)&&this.processTree(s,this.addElement)}}matchElement(t){return this.delegate.matchElement(t)}matchElementsInTree(t=this.element){return this.delegate.matchElementsInTree(t)}processTree(t,e){for(const s of this.matchElementsInTree(t))e.call(this,s)}elementFromNode(t){if(t.nodeType==Node.ELEMENT_NODE)return t}elementIsActive(t){return t.isConnected!=this.element.isConnected?!1:this.element.contains(t)}addElement(t){this.elements.has(t)||this.elementIsActive(t)&&(this.elements.add(t),this.delegate.elementMatched&&this.delegate.elementMatched(t))}removeElement(t){this.elements.has(t)&&(this.elements.delete(t),this.delegate.elementUnmatched&&this.delegate.elementUnmatched(t))}}class Es{constructor(t,e,s){this.attributeName=e,this.delegate=s,this.elementObserver=new ws(t,this)}get element(){return this.elementObserver.element}get selector(){return`[${this.attributeName}]`}start(){this.elementObserver.start()}pause(t){this.elementObserver.pause(t)}stop(){this.elementObserver.stop()}refresh(){this.elementObserver.refresh()}get started(){return this.elementObserver.started}matchElement(t){return t.hasAttribute(this.attributeName)}matchElementsInTree(t){const e=this.matchElement(t)?[t]:[],s=Array.from(t.querySelectorAll(this.selector));return e.concat(s)}elementMatched(t){this.delegate.elementMatchedAttribute&&this.delegate.elementMatchedAttribute(t,this.attributeName)}elementUnmatched(t){this.delegate.elementUnmatchedAttribute&&this.delegate.elementUnmatchedAttribute(t,this.attributeName)}elementAttributeChanged(t,e){this.delegate.elementAttributeValueChanged&&this.attributeName==e&&this.delegate.elementAttributeValueChanged(t,e)}}function ur(n,t,e){As(n,t).add(e)}function dr(n,t,e){As(n,t).delete(e),hr(n,t)}function As(n,t){let e=n.get(t);return e||(e=new Set,n.set(t,e)),e}function hr(n,t){const e=n.get(t);e!=null&&e.size==0&&n.delete(t)}class Z{constructor(){this.valuesByKey=new Map}get keys(){return Array.from(this.valuesByKey.keys())}get values(){return Array.from(this.valuesByKey.values()).reduce((e,s)=>e.concat(Array.from(s)),[])}get size(){return Array.from(this.valuesByKey.values()).reduce((e,s)=>e+s.size,0)}add(t,e){ur(this.valuesByKey,t,e)}delete(t,e){dr(this.valuesByKey,t,e)}has(t,e){const s=this.valuesByKey.get(t);return s!=null&&s.has(e)}hasKey(t){return this.valuesByKey.has(t)}hasValue(t){return Array.from(this.valuesByKey.values()).some(s=>s.has(t))}getValuesForKey(t){const e=this.valuesByKey.get(t);return e?Array.from(e):[]}getKeysForValue(t){return Array.from(this.valuesByKey).filter(([e,s])=>s.has(t)).map(([e,s])=>e)}}class fr{constructor(t,e,s,i){this._selector=e,this.details=i,this.elementObserver=new ws(t,this),this.delegate=s,this.matchesByElement=new Z}get started(){return this.elementObserver.started}get selector(){return this._selector}set selector(t){this._selector=t,this.refresh()}start(){this.elementObserver.start()}pause(t){this.elementObserver.pause(t)}stop(){this.elementObserver.stop()}refresh(){this.elementObserver.refresh()}get element(){return this.elementObserver.element}matchElement(t){const{selector:e}=this;if(e){const s=t.matches(e);return this.delegate.selectorMatchElement?s&&this.delegate.selectorMatchElement(t,this.details):s}else return!1}matchElementsInTree(t){const{selector:e}=this;if(e){const s=this.matchElement(t)?[t]:[],i=Array.from(t.querySelectorAll(e)).filter(r=>this.matchElement(r));return s.concat(i)}else return[]}elementMatched(t){const{selector:e}=this;e&&this.selectorMatched(t,e)}elementUnmatched(t){const e=this.matchesByElement.getKeysForValue(t);for(const s of e)this.selectorUnmatched(t,s)}elementAttributeChanged(t,e){const{selector:s}=this;if(s){const i=this.matchElement(t),r=this.matchesByElement.has(s,t);i&&!r?this.selectorMatched(t,s):!i&&r&&this.selectorUnmatched(t,s)}}selectorMatched(t,e){this.delegate.selectorMatched(t,e,this.details),this.matchesByElement.add(e,t)}selectorUnmatched(t,e){this.delegate.selectorUnmatched(t,e,this.details),this.matchesByElement.delete(e,t)}}class mr{constructor(t,e){this.element=t,this.delegate=e,this.started=!1,this.stringMap=new Map,this.mutationObserver=new MutationObserver(s=>this.processMutations(s))}start(){this.started||(this.started=!0,this.mutationObserver.observe(this.element,{attributes:!0,attributeOldValue:!0}),this.refresh())}stop(){this.started&&(this.mutationObserver.takeRecords(),this.mutationObserver.disconnect(),this.started=!1)}refresh(){if(this.started)for(const t of this.knownAttributeNames)this.refreshAttribute(t,null)}processMutations(t){if(this.started)for(const e of t)this.processMutation(e)}processMutation(t){const e=t.attributeName;e&&this.refreshAttribute(e,t.oldValue)}refreshAttribute(t,e){const s=this.delegate.getStringMapKeyForAttribute(t);if(s!=null){this.stringMap.has(t)||this.stringMapKeyAdded(s,t);const i=this.element.getAttribute(t);if(this.stringMap.get(t)!=i&&this.stringMapValueChanged(i,s,e),i==null){const r=this.stringMap.get(t);this.stringMap.delete(t),r&&this.stringMapKeyRemoved(s,t,r)}else this.stringMap.set(t,i)}}stringMapKeyAdded(t,e){this.delegate.stringMapKeyAdded&&this.delegate.stringMapKeyAdded(t,e)}stringMapValueChanged(t,e,s){this.delegate.stringMapValueChanged&&this.delegate.stringMapValueChanged(t,e,s)}stringMapKeyRemoved(t,e,s){this.delegate.stringMapKeyRemoved&&this.delegate.stringMapKeyRemoved(t,e,s)}get knownAttributeNames(){return Array.from(new Set(this.currentAttributeNames.concat(this.recordedAttributeNames)))}get currentAttributeNames(){return Array.from(this.element.attributes).map(t=>t.name)}get recordedAttributeNames(){return Array.from(this.stringMap.keys())}}class xs{constructor(t,e,s){this.attributeObserver=new Es(t,e,this),this.delegate=s,this.tokensByElement=new Z}get started(){return this.attributeObserver.started}start(){this.attributeObserver.start()}pause(t){this.attributeObserver.pause(t)}stop(){this.attributeObserver.stop()}refresh(){this.attributeObserver.refresh()}get element(){return this.attributeObserver.element}get attributeName(){return this.attributeObserver.attributeName}elementMatchedAttribute(t){this.tokensMatched(this.readTokensForElement(t))}elementAttributeValueChanged(t){const[e,s]=this.refreshTokensForElement(t);this.tokensUnmatched(e),this.tokensMatched(s)}elementUnmatchedAttribute(t){this.tokensUnmatched(this.tokensByElement.getValuesForKey(t))}tokensMatched(t){t.forEach(e=>this.tokenMatched(e))}tokensUnmatched(t){t.forEach(e=>this.tokenUnmatched(e))}tokenMatched(t){this.delegate.tokenMatched(t),this.tokensByElement.add(t.element,t)}tokenUnmatched(t){this.delegate.tokenUnmatched(t),this.tokensByElement.delete(t.element,t)}refreshTokensForElement(t){const e=this.tokensByElement.getValuesForKey(t),s=this.readTokensForElement(t),i=gr(e,s).findIndex(([r,o])=>!br(r,o));return i==-1?[[],[]]:[e.slice(i),s.slice(i)]}readTokensForElement(t){const e=this.attributeName,s=t.getAttribute(e)||"";return pr(s,t,e)}}function pr(n,t,e){return n.trim().split(/\s+/).filter(s=>s.length).map((s,i)=>({element:t,attributeName:e,content:s,index:i}))}function gr(n,t){const e=Math.max(n.length,t.length);return Array.from({length:e},(s,i)=>[n[i],t[i]])}function br(n,t){return n&&t&&n.index==t.index&&n.content==t.content}class Ts{constructor(t,e,s){this.tokenListObserver=new xs(t,e,this),this.delegate=s,this.parseResultsByToken=new WeakMap,this.valuesByTokenByElement=new WeakMap}get started(){return this.tokenListObserver.started}start(){this.tokenListObserver.start()}stop(){this.tokenListObserver.stop()}refresh(){this.tokenListObserver.refresh()}get element(){return this.tokenListObserver.element}get attributeName(){return this.tokenListObserver.attributeName}tokenMatched(t){const{element:e}=t,{value:s}=this.fetchParseResultForToken(t);s&&(this.fetchValuesByTokenForElement(e).set(t,s),this.delegate.elementMatchedValue(e,s))}tokenUnmatched(t){const{element:e}=t,{value:s}=this.fetchParseResultForToken(t);s&&(this.fetchValuesByTokenForElement(e).delete(t),this.delegate.elementUnmatchedValue(e,s))}fetchParseResultForToken(t){let e=this.parseResultsByToken.get(t);return e||(e=this.parseToken(t),this.parseResultsByToken.set(t,e)),e}fetchValuesByTokenForElement(t){let e=this.valuesByTokenByElement.get(t);return e||(e=new Map,this.valuesByTokenByElement.set(t,e)),e}parseToken(t){try{return{value:this.delegate.parseValueForToken(t)}}catch(e){return{error:e}}}}class vr{constructor(t,e){this.context=t,this.delegate=e,this.bindingsByAction=new Map}start(){this.valueListObserver||(this.valueListObserver=new Ts(this.element,this.actionAttribute,this),this.valueListObserver.start())}stop(){this.valueListObserver&&(this.valueListObserver.stop(),delete this.valueListObserver,this.disconnectAllActions())}get element(){return this.context.element}get identifier(){return this.context.identifier}get actionAttribute(){return this.schema.actionAttribute}get schema(){return this.context.schema}get bindings(){return Array.from(this.bindingsByAction.values())}connectAction(t){const e=new lr(this.context,t);this.bindingsByAction.set(t,e),this.delegate.bindingConnected(e)}disconnectAction(t){const e=this.bindingsByAction.get(t);e&&(this.bindingsByAction.delete(t),this.delegate.bindingDisconnected(e))}disconnectAllActions(){this.bindings.forEach(t=>this.delegate.bindingDisconnected(t,!0)),this.bindingsByAction.clear()}parseValueForToken(t){const e=or.forToken(t,this.schema);if(e.identifier==this.identifier)return e}elementMatchedValue(t,e){this.connectAction(e)}elementUnmatchedValue(t,e){this.disconnectAction(e)}}class yr{constructor(t,e){this.context=t,this.receiver=e,this.stringMapObserver=new mr(this.element,this),this.valueDescriptorMap=this.controller.valueDescriptorMap}start(){this.stringMapObserver.start(),this.invokeChangedCallbacksForDefaultValues()}stop(){this.stringMapObserver.stop()}get element(){return this.context.element}get controller(){return this.context.controller}getStringMapKeyForAttribute(t){if(t in this.valueDescriptorMap)return this.valueDescriptorMap[t].name}stringMapKeyAdded(t,e){const s=this.valueDescriptorMap[e];this.hasValue(t)||this.invokeChangedCallback(t,s.writer(this.receiver[t]),s.writer(s.defaultValue))}stringMapValueChanged(t,e,s){const i=this.valueDescriptorNameMap[e];t!==null&&(s===null&&(s=i.writer(i.defaultValue)),this.invokeChangedCallback(e,t,s))}stringMapKeyRemoved(t,e,s){const i=this.valueDescriptorNameMap[t];this.hasValue(t)?this.invokeChangedCallback(t,i.writer(this.receiver[t]),s):this.invokeChangedCallback(t,i.writer(i.defaultValue),s)}invokeChangedCallbacksForDefaultValues(){for(const{key:t,name:e,defaultValue:s,writer:i}of this.valueDescriptors)s!=null&&!this.controller.data.has(t)&&this.invokeChangedCallback(e,i(s),void 0)}invokeChangedCallback(t,e,s){const i=`${t}Changed`,r=this.receiver[i];if(typeof r=="function"){const o=this.valueDescriptorNameMap[t];try{const a=o.reader(e);let c=s;s&&(c=o.reader(s)),r.call(this.receiver,a,c)}catch(a){throw a instanceof TypeError&&(a.message=`Stimulus Value "${this.context.identifier}.${o.name}" - ${a.message}`),a}}}get valueDescriptors(){const{valueDescriptorMap:t}=this;return Object.keys(t).map(e=>t[e])}get valueDescriptorNameMap(){const t={};return Object.keys(this.valueDescriptorMap).forEach(e=>{const s=this.valueDescriptorMap[e];t[s.name]=s}),t}hasValue(t){const e=this.valueDescriptorNameMap[t],s=`has${_t(e.name)}`;return this.receiver[s]}}class wr{constructor(t,e){this.context=t,this.delegate=e,this.targetsByName=new Z}start(){this.tokenListObserver||(this.tokenListObserver=new xs(this.element,this.attributeName,this),this.tokenListObserver.start())}stop(){this.tokenListObserver&&(this.disconnectAllTargets(),this.tokenListObserver.stop(),delete this.tokenListObserver)}tokenMatched({element:t,content:e}){this.scope.containsElement(t)&&this.connectTarget(t,e)}tokenUnmatched({element:t,content:e}){this.disconnectTarget(t,e)}connectTarget(t,e){var s;this.targetsByName.has(e,t)||(this.targetsByName.add(e,t),(s=this.tokenListObserver)===null||s===void 0||s.pause(()=>this.delegate.targetConnected(t,e)))}disconnectTarget(t,e){var s;this.targetsByName.has(e,t)&&(this.targetsByName.delete(e,t),(s=this.tokenListObserver)===null||s===void 0||s.pause(()=>this.delegate.targetDisconnected(t,e)))}disconnectAllTargets(){for(const t of this.targetsByName.keys)for(const e of this.targetsByName.getValuesForKey(t))this.disconnectTarget(e,t)}get attributeName(){return`data-${this.context.identifier}-target`}get element(){return this.context.element}get scope(){return this.context.scope}}function Bt(n,t){const e=Os(n);return Array.from(e.reduce((s,i)=>(Ar(i,t).forEach(r=>s.add(r)),s),new Set))}function Er(n,t){return Os(n).reduce((s,i)=>(s.push(...xr(i,t)),s),[])}function Os(n){const t=[];for(;n;)t.push(n),n=Object.getPrototypeOf(n);return t.reverse()}function Ar(n,t){const e=n[t];return Array.isArray(e)?e:[]}function xr(n,t){const e=n[t];return e?Object.keys(e).map(s=>[s,e[s]]):[]}class Tr{constructor(t,e){this.started=!1,this.context=t,this.delegate=e,this.outletsByName=new Z,this.outletElementsByName=new Z,this.selectorObserverMap=new Map,this.attributeObserverMap=new Map}start(){this.started||(this.outletDefinitions.forEach(t=>{this.setupSelectorObserverForOutlet(t),this.setupAttributeObserverForOutlet(t)}),this.started=!0,this.dependentContexts.forEach(t=>t.refresh()))}refresh(){this.selectorObserverMap.forEach(t=>t.refresh()),this.attributeObserverMap.forEach(t=>t.refresh())}stop(){this.started&&(this.started=!1,this.disconnectAllOutlets(),this.stopSelectorObservers(),this.stopAttributeObservers())}stopSelectorObservers(){this.selectorObserverMap.size>0&&(this.selectorObserverMap.forEach(t=>t.stop()),this.selectorObserverMap.clear())}stopAttributeObservers(){this.attributeObserverMap.size>0&&(this.attributeObserverMap.forEach(t=>t.stop()),this.attributeObserverMap.clear())}selectorMatched(t,e,{outletName:s}){const i=this.getOutlet(t,s);i&&this.connectOutlet(i,t,s)}selectorUnmatched(t,e,{outletName:s}){const i=this.getOutletFromMap(t,s);i&&this.disconnectOutlet(i,t,s)}selectorMatchElement(t,{outletName:e}){const s=this.selector(e),i=this.hasOutlet(t,e),r=t.matches(`[${this.schema.controllerAttribute}~=${e}]`);return s?i&&r&&t.matches(s):!1}elementMatchedAttribute(t,e){const s=this.getOutletNameFromOutletAttributeName(e);s&&this.updateSelectorObserverForOutlet(s)}elementAttributeValueChanged(t,e){const s=this.getOutletNameFromOutletAttributeName(e);s&&this.updateSelectorObserverForOutlet(s)}elementUnmatchedAttribute(t,e){const s=this.getOutletNameFromOutletAttributeName(e);s&&this.updateSelectorObserverForOutlet(s)}connectOutlet(t,e,s){var i;this.outletElementsByName.has(s,e)||(this.outletsByName.add(s,t),this.outletElementsByName.add(s,e),(i=this.selectorObserverMap.get(s))===null||i===void 0||i.pause(()=>this.delegate.outletConnected(t,e,s)))}disconnectOutlet(t,e,s){var i;this.outletElementsByName.has(s,e)&&(this.outletsByName.delete(s,t),this.outletElementsByName.delete(s,e),(i=this.selectorObserverMap.get(s))===null||i===void 0||i.pause(()=>this.delegate.outletDisconnected(t,e,s)))}disconnectAllOutlets(){for(const t of this.outletElementsByName.keys)for(const e of this.outletElementsByName.getValuesForKey(t))for(const s of this.outletsByName.getValuesForKey(t))this.disconnectOutlet(s,e,t)}updateSelectorObserverForOutlet(t){const e=this.selectorObserverMap.get(t);e&&(e.selector=this.selector(t))}setupSelectorObserverForOutlet(t){const e=this.selector(t),s=new fr(document.body,e,this,{outletName:t});this.selectorObserverMap.set(t,s),s.start()}setupAttributeObserverForOutlet(t){const e=this.attributeNameForOutletName(t),s=new Es(this.scope.element,e,this);this.attributeObserverMap.set(t,s),s.start()}selector(t){return this.scope.outlets.getSelectorForOutletName(t)}attributeNameForOutletName(t){return this.scope.schema.outletAttributeForScope(this.identifier,t)}getOutletNameFromOutletAttributeName(t){return this.outletDefinitions.find(e=>this.attributeNameForOutletName(e)===t)}get outletDependencies(){const t=new Z;return this.router.modules.forEach(e=>{const s=e.definition.controllerConstructor;Bt(s,"outlets").forEach(r=>t.add(r,e.identifier))}),t}get outletDefinitions(){return this.outletDependencies.getKeysForValue(this.identifier)}get dependentControllerIdentifiers(){return this.outletDependencies.getValuesForKey(this.identifier)}get dependentContexts(){const t=this.dependentControllerIdentifiers;return this.router.contexts.filter(e=>t.includes(e.identifier))}hasOutlet(t,e){return!!this.getOutlet(t,e)||!!this.getOutletFromMap(t,e)}getOutlet(t,e){return this.application.getControllerForElementAndIdentifier(t,e)}getOutletFromMap(t,e){return this.outletsByName.getValuesForKey(e).find(s=>s.element===t)}get scope(){return this.context.scope}get schema(){return this.context.schema}get identifier(){return this.context.identifier}get application(){return this.context.application}get router(){return this.application.router}}class Or{constructor(t,e){this.logDebugActivity=(s,i={})=>{const{identifier:r,controller:o,element:a}=this;i=Object.assign({identifier:r,controller:o,element:a},i),this.application.logDebugActivity(this.identifier,s,i)},this.module=t,this.scope=e,this.controller=new t.controllerConstructor(this),this.bindingObserver=new vr(this,this.dispatcher),this.valueObserver=new yr(this,this.controller),this.targetObserver=new wr(this,this),this.outletObserver=new Tr(this,this);try{this.controller.initialize(),this.logDebugActivity("initialize")}catch(s){this.handleError(s,"initializing controller")}}connect(){this.bindingObserver.start(),this.valueObserver.start(),this.targetObserver.start(),this.outletObserver.start();try{this.controller.connect(),this.logDebugActivity("connect")}catch(t){this.handleError(t,"connecting controller")}}refresh(){this.outletObserver.refresh()}disconnect(){try{this.controller.disconnect(),this.logDebugActivity("disconnect")}catch(t){this.handleError(t,"disconnecting controller")}this.outletObserver.stop(),this.targetObserver.stop(),this.valueObserver.stop(),this.bindingObserver.stop()}get application(){return this.module.application}get identifier(){return this.module.identifier}get schema(){return this.application.schema}get dispatcher(){return this.application.dispatcher}get element(){return this.scope.element}get parentElement(){return this.element.parentElement}handleError(t,e,s={}){const{identifier:i,controller:r,element:o}=this;s=Object.assign({identifier:i,controller:r,element:o},s),this.application.handleError(t,`Error ${e}`,s)}targetConnected(t,e){this.invokeControllerMethod(`${e}TargetConnected`,t)}targetDisconnected(t,e){this.invokeControllerMethod(`${e}TargetDisconnected`,t)}outletConnected(t,e,s){this.invokeControllerMethod(`${Me(s)}OutletConnected`,t,e)}outletDisconnected(t,e,s){this.invokeControllerMethod(`${Me(s)}OutletDisconnected`,t,e)}invokeControllerMethod(t,...e){const s=this.controller;typeof s[t]=="function"&&s[t](...e)}}function kr(n){return Mr(n,Sr(n))}function Mr(n,t){const e=Dr(n),s=Cr(n.prototype,t);return Object.defineProperties(e.prototype,s),e}function Sr(n){return Bt(n,"blessings").reduce((e,s)=>{const i=s(n);for(const r in i){const o=e[r]||{};e[r]=Object.assign(o,i[r])}return e},{})}function Cr(n,t){return Fr(t).reduce((e,s)=>{const i=Lr(n,t,s);return i&&Object.assign(e,{[s]:i}),e},{})}function Lr(n,t,e){const s=Object.getOwnPropertyDescriptor(n,e);if(!(s&&"value"in s)){const r=Object.getOwnPropertyDescriptor(t,e).value;return s&&(r.get=s.get||r.get,r.set=s.set||r.set),r}}const Fr=typeof Object.getOwnPropertySymbols=="function"?n=>[...Object.getOwnPropertyNames(n),...Object.getOwnPropertySymbols(n)]:Object.getOwnPropertyNames,Dr=(()=>{function n(e){function s(){return Reflect.construct(e,arguments,new.target)}return s.prototype=Object.create(e.prototype,{constructor:{value:s}}),Reflect.setPrototypeOf(s,e),s}function t(){const s=n(function(){this.a.call(this)});return s.prototype.a=function(){},new s}try{return t(),n}catch{return s=>class extends s{}}})();function _r(n){return{identifier:n.identifier,controllerConstructor:kr(n.controllerConstructor)}}class Br{constructor(t,e){this.application=t,this.definition=_r(e),this.contextsByScope=new WeakMap,this.connectedContexts=new Set}get identifier(){return this.definition.identifier}get controllerConstructor(){return this.definition.controllerConstructor}get contexts(){return Array.from(this.connectedContexts)}connectContextForScope(t){const e=this.fetchContextForScope(t);this.connectedContexts.add(e),e.connect()}disconnectContextForScope(t){const e=this.contextsByScope.get(t);e&&(this.connectedContexts.delete(e),e.disconnect())}fetchContextForScope(t){let e=this.contextsByScope.get(t);return e||(e=new Or(this,t),this.contextsByScope.set(t,e)),e}}class $r{constructor(t){this.scope=t}has(t){return this.data.has(this.getDataKey(t))}get(t){return this.getAll(t)[0]}getAll(t){const e=this.data.get(this.getDataKey(t))||"";return rr(e)}getAttributeName(t){return this.data.getAttributeNameForKey(this.getDataKey(t))}getDataKey(t){return`${t}-class`}get data(){return this.scope.data}}class Pr{constructor(t){this.scope=t}get element(){return this.scope.element}get identifier(){return this.scope.identifier}get(t){const e=this.getAttributeNameForKey(t);return this.element.getAttribute(e)}set(t,e){const s=this.getAttributeNameForKey(t);return this.element.setAttribute(s,e),this.get(t)}has(t){const e=this.getAttributeNameForKey(t);return this.element.hasAttribute(e)}delete(t){if(this.has(t)){const e=this.getAttributeNameForKey(t);return this.element.removeAttribute(e),!0}else return!1}getAttributeNameForKey(t){return`data-${this.identifier}-${ys(t)}`}}class Rr{constructor(t){this.warnedKeysByObject=new WeakMap,this.logger=t}warn(t,e,s){let i=this.warnedKeysByObject.get(t);i||(i=new Set,this.warnedKeysByObject.set(t,i)),i.has(e)||(i.add(e),this.logger.warn(s,t))}}function Ce(n,t){return`[${n}~="${t}"]`}class Ir{constructor(t){this.scope=t}get element(){return this.scope.element}get identifier(){return this.scope.identifier}get schema(){return this.scope.schema}has(t){return this.find(t)!=null}find(...t){return t.reduce((e,s)=>e||this.findTarget(s)||this.findLegacyTarget(s),void 0)}findAll(...t){return t.reduce((e,s)=>[...e,...this.findAllTargets(s),...this.findAllLegacyTargets(s)],[])}findTarget(t){const e=this.getSelectorForTargetName(t);return this.scope.findElement(e)}findAllTargets(t){const e=this.getSelectorForTargetName(t);return this.scope.findAllElements(e)}getSelectorForTargetName(t){const e=this.schema.targetAttributeForScope(this.identifier);return Ce(e,t)}findLegacyTarget(t){const e=this.getLegacySelectorForTargetName(t);return this.deprecate(this.scope.findElement(e),t)}findAllLegacyTargets(t){const e=this.getLegacySelectorForTargetName(t);return this.scope.findAllElements(e).map(s=>this.deprecate(s,t))}getLegacySelectorForTargetName(t){const e=`${this.identifier}.${t}`;return Ce(this.schema.targetAttribute,e)}deprecate(t,e){if(t){const{identifier:s}=this,i=this.schema.targetAttribute,r=this.schema.targetAttributeForScope(s);this.guide.warn(t,`target:${e}`,`Please replace ${i}="${s}.${e}" with ${r}="${e}". The ${i} attribute is deprecated and will be removed in a future version of Stimulus.`)}return t}get guide(){return this.scope.guide}}class Nr{constructor(t,e){this.scope=t,this.controllerElement=e}get element(){return this.scope.element}get identifier(){return this.scope.identifier}get schema(){return this.scope.schema}has(t){return this.find(t)!=null}find(...t){return t.reduce((e,s)=>e||this.findOutlet(s),void 0)}findAll(...t){return t.reduce((e,s)=>[...e,...this.findAllOutlets(s)],[])}getSelectorForOutletName(t){const e=this.schema.outletAttributeForScope(this.identifier,t);return this.controllerElement.getAttribute(e)}findOutlet(t){const e=this.getSelectorForOutletName(t);if(e)return this.findElement(e,t)}findAllOutlets(t){const e=this.getSelectorForOutletName(t);return e?this.findAllElements(e,t):[]}findElement(t,e){return this.scope.queryElements(t).filter(i=>this.matchesElement(i,t,e))[0]}findAllElements(t,e){return this.scope.queryElements(t).filter(i=>this.matchesElement(i,t,e))}matchesElement(t,e,s){const i=t.getAttribute(this.scope.schema.controllerAttribute)||"";return t.matches(e)&&i.split(" ").includes(s)}}class Re{constructor(t,e,s,i){this.targets=new Ir(this),this.classes=new $r(this),this.data=new Pr(this),this.containsElement=r=>r.closest(this.controllerSelector)===this.element,this.schema=t,this.element=e,this.identifier=s,this.guide=new Rr(i),this.outlets=new Nr(this.documentScope,e)}findElement(t){return this.element.matches(t)?this.element:this.queryElements(t).find(this.containsElement)}findAllElements(t){return[...this.element.matches(t)?[this.element]:[],...this.queryElements(t).filter(this.containsElement)]}queryElements(t){return Array.from(this.element.querySelectorAll(t))}get controllerSelector(){return Ce(this.schema.controllerAttribute,this.identifier)}get isDocumentScope(){return this.element===document.documentElement}get documentScope(){return this.isDocumentScope?this:new Re(this.schema,document.documentElement,this.identifier,this.guide.logger)}}class jr{constructor(t,e,s){this.element=t,this.schema=e,this.delegate=s,this.valueListObserver=new Ts(this.element,this.controllerAttribute,this),this.scopesByIdentifierByElement=new WeakMap,this.scopeReferenceCounts=new WeakMap}start(){this.valueListObserver.start()}stop(){this.valueListObserver.stop()}get controllerAttribute(){return this.schema.controllerAttribute}parseValueForToken(t){const{element:e,content:s}=t;return this.parseValueForElementAndIdentifier(e,s)}parseValueForElementAndIdentifier(t,e){const s=this.fetchScopesByIdentifierForElement(t);let i=s.get(e);return i||(i=this.delegate.createScopeForElementAndIdentifier(t,e),s.set(e,i)),i}elementMatchedValue(t,e){const s=(this.scopeReferenceCounts.get(e)||0)+1;this.scopeReferenceCounts.set(e,s),s==1&&this.delegate.scopeConnected(e)}elementUnmatchedValue(t,e){const s=this.scopeReferenceCounts.get(e);s&&(this.scopeReferenceCounts.set(e,s-1),s==1&&this.delegate.scopeDisconnected(e))}fetchScopesByIdentifierForElement(t){let e=this.scopesByIdentifierByElement.get(t);return e||(e=new Map,this.scopesByIdentifierByElement.set(t,e)),e}}class Hr{constructor(t){this.application=t,this.scopeObserver=new jr(this.element,this.schema,this),this.scopesByIdentifier=new Z,this.modulesByIdentifier=new Map}get element(){return this.application.element}get schema(){return this.application.schema}get logger(){return this.application.logger}get controllerAttribute(){return this.schema.controllerAttribute}get modules(){return Array.from(this.modulesByIdentifier.values())}get contexts(){return this.modules.reduce((t,e)=>t.concat(e.contexts),[])}start(){this.scopeObserver.start()}stop(){this.scopeObserver.stop()}loadDefinition(t){this.unloadIdentifier(t.identifier);const e=new Br(this.application,t);this.connectModule(e);const s=t.controllerConstructor.afterLoad;s&&s.call(t.controllerConstructor,t.identifier,this.application)}unloadIdentifier(t){const e=this.modulesByIdentifier.get(t);e&&this.disconnectModule(e)}getContextForElementAndIdentifier(t,e){const s=this.modulesByIdentifier.get(e);if(s)return s.contexts.find(i=>i.element==t)}proposeToConnectScopeForElementAndIdentifier(t,e){const s=this.scopeObserver.parseValueForElementAndIdentifier(t,e);s?this.scopeObserver.elementMatchedValue(s.element,s):console.error(`Couldn't find or create scope for identifier: "${e}" and element:`,t)}handleError(t,e,s){this.application.handleError(t,e,s)}createScopeForElementAndIdentifier(t,e){return new Re(this.schema,t,e,this.logger)}scopeConnected(t){this.scopesByIdentifier.add(t.identifier,t);const e=this.modulesByIdentifier.get(t.identifier);e&&e.connectContextForScope(t)}scopeDisconnected(t){this.scopesByIdentifier.delete(t.identifier,t);const e=this.modulesByIdentifier.get(t.identifier);e&&e.disconnectContextForScope(t)}connectModule(t){this.modulesByIdentifier.set(t.identifier,t),this.scopesByIdentifier.getValuesForKey(t.identifier).forEach(s=>t.connectContextForScope(s))}disconnectModule(t){this.modulesByIdentifier.delete(t.identifier),this.scopesByIdentifier.getValuesForKey(t.identifier).forEach(s=>t.disconnectContextForScope(s))}}const Vr={controllerAttribute:"data-controller",actionAttribute:"data-action",targetAttribute:"data-target",targetAttributeForScope:n=>`data-${n}-target`,outletAttributeForScope:(n,t)=>`data-${n}-${t}-outlet`,keyMappings:Object.assign(Object.assign({enter:"Enter",tab:"Tab",esc:"Escape",space:" ",up:"ArrowUp",down:"ArrowDown",left:"ArrowLeft",right:"ArrowRight",home:"Home",end:"End",page_up:"PageUp",page_down:"PageDown"},jn("abcdefghijklmnopqrstuvwxyz".split("").map(n=>[n,n]))),jn("0123456789".split("").map(n=>[n,n])))};function jn(n){return n.reduce((t,[e,s])=>Object.assign(Object.assign({},t),{[e]:s}),{})}class Wr{constructor(t=document.documentElement,e=Vr){this.logger=console,this.debug=!1,this.logDebugActivity=(s,i,r={})=>{this.debug&&this.logFormattedMessage(s,i,r)},this.element=t,this.schema=e,this.dispatcher=new Ji(this),this.router=new Hr(this),this.actionDescriptorFilters=Object.assign({},Qi)}static start(t,e){const s=new this(t,e);return s.start(),s}async start(){await Kr(),this.logDebugActivity("application","starting"),this.dispatcher.start(),this.router.start(),this.logDebugActivity("application","start")}stop(){this.logDebugActivity("application","stopping"),this.dispatcher.stop(),this.router.stop(),this.logDebugActivity("application","stop")}register(t,e){this.load({identifier:t,controllerConstructor:e})}registerActionOption(t,e){this.actionDescriptorFilters[t]=e}load(t,...e){(Array.isArray(t)?t:[t,...e]).forEach(i=>{i.controllerConstructor.shouldLoad&&this.router.loadDefinition(i)})}unload(t,...e){(Array.isArray(t)?t:[t,...e]).forEach(i=>this.router.unloadIdentifier(i))}get controllers(){return this.router.contexts.map(t=>t.controller)}getControllerForElementAndIdentifier(t,e){const s=this.router.getContextForElementAndIdentifier(t,e);return s?s.controller:null}handleError(t,e,s){var i;this.logger.error(`%s
92
+ `),processed:s}}function vt(n,t){return t?"- ":`${n+1}. `}function Ii(n,t){let e,s,i;return n.orderedList?(s=Dn(t),e=_n(s.text),i=e.text):(s=_n(t),e=Dn(s.text),i=e.text),[s,e,i]}function ji(n,t){const e=n.selectionStart===n.selectionEnd;let s=n.selectionStart,i=n.selectionEnd;$i(n);const r=n.value.slice(n.selectionStart,n.selectionEnd),[o,a,c]=Ii(t,r),l=c.split(`
93
+ `).map((m,v)=>`${vt(v,t.unorderedList)}${m}`),u=l.reduce((m,v,g)=>m+vt(g,t.unorderedList).length,0),d=l.reduce((m,v,g)=>m+vt(g,!t.unorderedList).length,0);if(o.processed)return e?(s=Math.max(s-vt(0,t.unorderedList).length,0),i=s):(s=n.selectionStart,i=n.selectionEnd-u),{text:c,selectionStart:s,selectionEnd:i};const{newlinesToAppend:h,newlinesToPrepend:p}=Ne(n),f=h+l.join(`
94
+ `)+p;return e?(s=Math.max(s+vt(0,t.unorderedList).length+h.length,0),i=s):a.processed?(s=Math.max(n.selectionStart+h.length,0),i=n.selectionEnd+h.length+u-d):(s=Math.max(n.selectionStart+h.length,0),i=n.selectionEnd+h.length+u),{text:f,selectionStart:s,selectionEnd:i}}function ke(n,t){const e=n.closest("markdown-toolbar");if(!(e instanceof qt))return;const i=Object.assign(Object.assign({},{prefix:"",suffix:"",blockPrefix:"",blockSuffix:"",multiline:!1,replaceNext:"",prefixSpace:!1,scanFor:"",surroundWithNewlines:!1,orderedList:!1,unorderedList:!1,trimFirst:!1}),t),r=e.field;r&&(r.focus(),Bi(r,i))}var Vi=function(n,t,e,s,i){if(s==="m")throw new TypeError("Private method is not writable");if(s==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?n!==t||!i:!t.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?i.call(n,e):i?i.value=e:t.set(n,e),e},Bn=function(n,t,e,s){if(e==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?n!==t||!s:!t.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?s:e==="a"?s.call(n):s?s.value:t.get(n)},Tt;class Hi{formatToParts(t){const e=[];for(const s of t)e.push({type:"element",value:s}),e.push({type:"literal",value:", "});return e.slice(0,-1)}}const Wi=typeof Intl<"u"&&Intl.ListFormat||Hi,Ki=[["years","year"],["months","month"],["weeks","week"],["days","day"],["hours","hour"],["minutes","minute"],["seconds","second"],["milliseconds","millisecond"]],Ui={minimumIntegerDigits:2};class qi{constructor(t,e={}){Tt.set(this,void 0);let s=String(e.style||"short");s!=="long"&&s!=="short"&&s!=="narrow"&&s!=="digital"&&(s="short");let i=s==="digital"?"numeric":s;const r=e.hours||i;i=r==="2-digit"?"numeric":r;const o=e.minutes||i;i=o==="2-digit"?"numeric":o;const a=e.seconds||i;i=a==="2-digit"?"numeric":a;const c=e.milliseconds||i;Vi(this,Tt,{locale:t,style:s,years:e.years||s==="digital"?"short":s,yearsDisplay:e.yearsDisplay==="always"?"always":"auto",months:e.months||s==="digital"?"short":s,monthsDisplay:e.monthsDisplay==="always"?"always":"auto",weeks:e.weeks||s==="digital"?"short":s,weeksDisplay:e.weeksDisplay==="always"?"always":"auto",days:e.days||s==="digital"?"short":s,daysDisplay:e.daysDisplay==="always"?"always":"auto",hours:r,hoursDisplay:e.hoursDisplay==="always"||s==="digital"?"always":"auto",minutes:o,minutesDisplay:e.minutesDisplay==="always"||s==="digital"?"always":"auto",seconds:a,secondsDisplay:e.secondsDisplay==="always"||s==="digital"?"always":"auto",milliseconds:c,millisecondsDisplay:e.millisecondsDisplay==="always"?"always":"auto"},"f")}resolvedOptions(){return Bn(this,Tt,"f")}formatToParts(t){const e=[],s=Bn(this,Tt,"f"),i=s.style,r=s.locale;for(const[o,a]of Ki){const c=t[o];if(s[`${o}Display`]==="auto"&&!c)continue;const l=s[o],u=l==="2-digit"?Ui:l==="numeric"?{}:{style:"unit",unit:a,unitDisplay:l};e.push(new Intl.NumberFormat(r,u).format(c))}return new Wi(r,{type:"unit",style:i==="digital"?"short":i}).formatToParts(e)}format(t){return this.formatToParts(t).map(e=>e.value).join("")}}Tt=new WeakMap;const gs=/^[-+]?P(?:(\d+)Y)?(?:(\d+)M)?(?:(\d+)W)?(?:(\d+)D)?(?:T(?:(\d+)H)?(?:(\d+)M)?(?:(\d+)S)?)?$/,zt=["year","month","week","day","hour","minute","second","millisecond"],zi=n=>gs.test(n);class M{constructor(t=0,e=0,s=0,i=0,r=0,o=0,a=0,c=0){this.years=t,this.months=e,this.weeks=s,this.days=i,this.hours=r,this.minutes=o,this.seconds=a,this.milliseconds=c,this.years||(this.years=0),this.sign||(this.sign=Math.sign(this.years)),this.months||(this.months=0),this.sign||(this.sign=Math.sign(this.months)),this.weeks||(this.weeks=0),this.sign||(this.sign=Math.sign(this.weeks)),this.days||(this.days=0),this.sign||(this.sign=Math.sign(this.days)),this.hours||(this.hours=0),this.sign||(this.sign=Math.sign(this.hours)),this.minutes||(this.minutes=0),this.sign||(this.sign=Math.sign(this.minutes)),this.seconds||(this.seconds=0),this.sign||(this.sign=Math.sign(this.seconds)),this.milliseconds||(this.milliseconds=0),this.sign||(this.sign=Math.sign(this.milliseconds)),this.blank=this.sign===0}abs(){return new M(Math.abs(this.years),Math.abs(this.months),Math.abs(this.weeks),Math.abs(this.days),Math.abs(this.hours),Math.abs(this.minutes),Math.abs(this.seconds),Math.abs(this.milliseconds))}static from(t){var e;if(typeof t=="string"){const s=String(t).trim(),i=s.startsWith("-")?-1:1,r=(e=s.match(gs))===null||e===void 0?void 0:e.slice(1).map(o=>(Number(o)||0)*i);return r?new M(...r):new M}else if(typeof t=="object"){const{years:s,months:i,weeks:r,days:o,hours:a,minutes:c,seconds:l,milliseconds:u}=t;return new M(s,i,r,o,a,c,l,u)}throw new RangeError("invalid duration")}static compare(t,e){const s=Date.now(),i=Math.abs($n(s,M.from(t)).getTime()-s),r=Math.abs($n(s,M.from(e)).getTime()-s);return i>r?-1:i<r?1:0}toLocaleString(t,e){return new qi(t,e).format(this)}}function $n(n,t){const e=new Date(n);return e.setFullYear(e.getFullYear()+t.years),e.setMonth(e.getMonth()+t.months),e.setDate(e.getDate()+t.weeks*7+t.days),e.setHours(e.getHours()+t.hours),e.setMinutes(e.getMinutes()+t.minutes),e.setSeconds(e.getSeconds()+t.seconds),e}function Yi(n,t="second",e=Date.now()){const s=n.getTime()-e;if(s===0)return new M;const i=Math.sign(s),r=Math.abs(s),o=Math.floor(r/1e3),a=Math.floor(o/60),c=Math.floor(a/60),l=Math.floor(c/24),u=Math.floor(l/30),d=Math.floor(u/12),h=zt.indexOf(t)||zt.length;return new M(h>=0?d*i:0,h>=1?(u-d*12)*i:0,0,h>=3?(l-u*30)*i:0,h>=4?(c-l*24)*i:0,h>=5?(a-c*60)*i:0,h>=6?(o-a*60)*i:0,h>=7?(r-o*1e3)*i:0)}function bs(n,{relativeTo:t=Date.now()}={}){if(t=new Date(t),n.blank)return n;const e=n.sign;let s=Math.abs(n.years),i=Math.abs(n.months),r=Math.abs(n.weeks),o=Math.abs(n.days),a=Math.abs(n.hours),c=Math.abs(n.minutes),l=Math.abs(n.seconds),u=Math.abs(n.milliseconds);u>=900&&(l+=Math.round(u/1e3)),(l||c||a||o||r||i||s)&&(u=0),l>=55&&(c+=Math.round(l/60)),(c||a||o||r||i||s)&&(l=0),c>=55&&(a+=Math.round(c/60)),(a||o||r||i||s)&&(c=0),o&&a>=12&&(o+=Math.round(a/24)),!o&&a>=21&&(o+=Math.round(a/24)),(o||r||i||s)&&(a=0);const d=t.getFullYear();let h=t.getMonth();const p=t.getDate();if(o>=27||s+i+o){const f=new Date(t);f.setFullYear(d+s*e),f.setMonth(h+i*e),f.setDate(p+o*e);const m=f.getFullYear()-t.getFullYear(),v=f.getMonth()-t.getMonth(),g=Math.abs(Math.round((Number(f)-Number(t))/864e5)),y=Math.abs(m*12+v);g<27?(o>=6?(r+=Math.round(o/7),o=0):o=g,i=s=0):y<11?(i=y,s=0):(i=0,s=m*e),(i||s)&&(o=0),h=t.getMonth()}return s&&(i=0),r>=4&&(i+=Math.round(r/4)),(i||s)&&(r=0),o&&r&&!i&&!s&&(r+=Math.round(o/7),o=0),new M(s*e,i*e,r*e,o*e,a*e,c*e,l*e,u*e)}function Xi(n,t){const e=bs(n,t);if(e.blank)return[0,"second"];for(const s of zt){if(s==="millisecond")continue;const i=e[`${s}s`];if(i)return[i,s]}return[0,"second"]}var x=function(n,t,e,s){if(e==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?n!==t||!s:!t.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?s:e==="a"?s.call(n):s?s.value:t.get(n)},Vt=function(n,t,e,s,i){if(s==="m")throw new TypeError("Private method is not writable");if(s==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?n!==t||!i:!t.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?i.call(n,e):i?i.value=e:t.set(n,e),e},F,Ot,kt,yt,X,Me,vs,ys,ws,Es,ot;const Gi=globalThis.HTMLElement||null,pe=new M,Pn=new M(0,0,0,0,0,1);class Zi extends Event{constructor(t,e,s,i){super("relative-time-updated",{bubbles:!0,composed:!0}),this.oldText=t,this.newText=e,this.oldTitle=s,this.newTitle=i}}function Rn(n){if(!n.date)return 1/0;if(n.format==="duration"||n.format==="elapsed"){const e=n.precision;if(e==="second")return 1e3;if(e==="minute")return 60*1e3}const t=Math.abs(Date.now()-n.date.getTime());return t<60*1e3?1e3:t<60*60*1e3?60*1e3:60*60*1e3}const ge=new class{constructor(){this.elements=new Set,this.time=1/0,this.timer=-1}observe(n){if(this.elements.has(n))return;this.elements.add(n);const t=n.date;if(t&&t.getTime()){const e=Rn(n),s=Date.now()+e;s<this.time&&(clearTimeout(this.timer),this.timer=setTimeout(()=>this.update(),e),this.time=s)}}unobserve(n){this.elements.has(n)&&this.elements.delete(n)}update(){if(clearTimeout(this.timer),!this.elements.size)return;let n=1/0;for(const t of this.elements)n=Math.min(n,Rn(t)),t.update();this.time=Math.min(60*60*1e3,n),this.timer=setTimeout(()=>this.update(),this.time),this.time+=Date.now()}};class Ji extends Gi{constructor(){super(...arguments),F.add(this),Ot.set(this,!1),kt.set(this,!1),X.set(this,this.shadowRoot?this.shadowRoot:this.attachShadow?this.attachShadow({mode:"open"}):this),ot.set(this,null)}static define(t="relative-time",e=customElements){return e.define(t,this),this}static get observedAttributes(){return["second","minute","hour","weekday","day","month","year","time-zone-name","prefix","threshold","tense","precision","format","format-style","datetime","lang","title"]}get onRelativeTimeUpdated(){return x(this,ot,"f")}set onRelativeTimeUpdated(t){x(this,ot,"f")&&this.removeEventListener("relative-time-updated",x(this,ot,"f")),Vt(this,ot,typeof t=="object"||typeof t=="function"?t:null,"f"),typeof t=="function"&&this.addEventListener("relative-time-updated",t)}get second(){const t=this.getAttribute("second");if(t==="numeric"||t==="2-digit")return t}set second(t){this.setAttribute("second",t||"")}get minute(){const t=this.getAttribute("minute");if(t==="numeric"||t==="2-digit")return t}set minute(t){this.setAttribute("minute",t||"")}get hour(){const t=this.getAttribute("hour");if(t==="numeric"||t==="2-digit")return t}set hour(t){this.setAttribute("hour",t||"")}get weekday(){const t=this.getAttribute("weekday");if(t==="long"||t==="short"||t==="narrow")return t;if(this.format==="datetime"&&t!=="")return this.formatStyle}set weekday(t){this.setAttribute("weekday",t||"")}get day(){var t;const e=(t=this.getAttribute("day"))!==null&&t!==void 0?t:"numeric";if(e==="numeric"||e==="2-digit")return e}set day(t){this.setAttribute("day",t||"")}get month(){const t=this.format;let e=this.getAttribute("month");if(e!==""&&(e??(e=t==="datetime"?this.formatStyle:"short"),e==="numeric"||e==="2-digit"||e==="short"||e==="long"||e==="narrow"))return e}set month(t){this.setAttribute("month",t||"")}get year(){var t;const e=this.getAttribute("year");if(e==="numeric"||e==="2-digit")return e;if(!this.hasAttribute("year")&&new Date().getUTCFullYear()!==((t=this.date)===null||t===void 0?void 0:t.getUTCFullYear()))return"numeric"}set year(t){this.setAttribute("year",t||"")}get timeZoneName(){const t=this.getAttribute("time-zone-name");if(t==="long"||t==="short"||t==="shortOffset"||t==="longOffset"||t==="shortGeneric"||t==="longGeneric")return t}set timeZoneName(t){this.setAttribute("time-zone-name",t||"")}get prefix(){var t;return(t=this.getAttribute("prefix"))!==null&&t!==void 0?t:this.format==="datetime"?"":"on"}set prefix(t){this.setAttribute("prefix",t)}get threshold(){const t=this.getAttribute("threshold");return t&&zi(t)?t:"P30D"}set threshold(t){this.setAttribute("threshold",t)}get tense(){const t=this.getAttribute("tense");return t==="past"?"past":t==="future"?"future":"auto"}set tense(t){this.setAttribute("tense",t)}get precision(){const t=this.getAttribute("precision");return zt.includes(t)?t:this.format==="micro"?"minute":"second"}set precision(t){this.setAttribute("precision",t)}get format(){const t=this.getAttribute("format");return t==="datetime"?"datetime":t==="relative"?"relative":t==="duration"?"duration":t==="micro"?"micro":t==="elapsed"?"elapsed":"auto"}set format(t){this.setAttribute("format",t)}get formatStyle(){const t=this.getAttribute("format-style");if(t==="long")return"long";if(t==="short")return"short";if(t==="narrow")return"narrow";const e=this.format;return e==="elapsed"||e==="micro"?"narrow":e==="datetime"?"short":"long"}set formatStyle(t){this.setAttribute("format-style",t)}get datetime(){return this.getAttribute("datetime")||""}set datetime(t){this.setAttribute("datetime",t)}get date(){const t=Date.parse(this.datetime);return Number.isNaN(t)?null:new Date(t)}set date(t){this.datetime=(t==null?void 0:t.toISOString())||""}connectedCallback(){this.update()}disconnectedCallback(){ge.unobserve(this)}attributeChangedCallback(t,e,s){e!==s&&(t==="title"&&Vt(this,Ot,s!==null&&(this.date&&x(this,F,"m",Me).call(this,this.date))!==s,"f"),!x(this,kt,"f")&&!(t==="title"&&x(this,Ot,"f"))&&Vt(this,kt,(async()=>{await Promise.resolve(),this.update()})(),"f"))}update(){const t=x(this,X,"f").textContent||this.textContent||"",e=this.getAttribute("title")||"";let s=e;const i=this.date;if(typeof Intl>"u"||!Intl.DateTimeFormat||!i){x(this,X,"f").textContent=t;return}const r=Date.now();x(this,Ot,"f")||(s=x(this,F,"m",Me).call(this,i)||"",s&&this.setAttribute("title",s));const o=Yi(i,this.precision,r),a=x(this,F,"m",vs).call(this,o);let c=t;a==="duration"?c=x(this,F,"m",ys).call(this,o):a==="relative"?c=x(this,F,"m",ws).call(this,o):c=x(this,F,"m",Es).call(this,i),c?x(this,X,"f").textContent=c:this.shadowRoot===x(this,X,"f")&&this.textContent&&(x(this,X,"f").textContent=this.textContent),(c!==t||s!==e)&&this.dispatchEvent(new Zi(t,c,e,s)),a==="relative"||a==="duration"?ge.observe(this):ge.unobserve(this),Vt(this,kt,!1,"f")}}Ot=new WeakMap,kt=new WeakMap,X=new WeakMap,ot=new WeakMap,F=new WeakSet,yt=function(){var t;return((t=this.closest("[lang]"))===null||t===void 0?void 0:t.getAttribute("lang"))||this.ownerDocument.documentElement.getAttribute("lang")||"default"},Me=function(t){return new Intl.DateTimeFormat(x(this,F,"a",yt),{day:"numeric",month:"short",year:"numeric",hour:"numeric",minute:"2-digit",timeZoneName:"short"}).format(t)},vs=function(t){const e=this.format;if(e==="datetime")return"datetime";if(e==="duration"||e==="elapsed"||e==="micro")return"duration";if((e==="auto"||e==="relative")&&typeof Intl<"u"&&Intl.RelativeTimeFormat){const s=this.tense;if(s==="past"||s==="future"||M.compare(t,this.threshold)===1)return"relative"}return"datetime"},ys=function(t){const e=x(this,F,"a",yt),s=this.format,i=this.formatStyle,r=this.tense;let o=pe;s==="micro"?(t=bs(t),o=Pn,(this.tense==="past"&&t.sign!==-1||this.tense==="future"&&t.sign!==1)&&(t=Pn)):(r==="past"&&t.sign!==-1||r==="future"&&t.sign!==1)&&(t=o);const a=`${this.precision}sDisplay`;return t.blank?o.toLocaleString(e,{style:i,[a]:"always"}):t.abs().toLocaleString(e,{style:i})},ws=function(t){const e=new Intl.RelativeTimeFormat(x(this,F,"a",yt),{numeric:"auto",style:this.formatStyle}),s=this.tense;s==="future"&&t.sign!==1&&(t=pe),s==="past"&&t.sign!==-1&&(t=pe);const[i,r]=Xi(t);return r==="second"&&i<10?e.format(0,this.precision==="millisecond"?"second":this.precision):e.format(i,r)},Es=function(t){const e=new Intl.DateTimeFormat(x(this,F,"a",yt),{second:this.second,minute:this.minute,hour:this.hour,weekday:this.weekday,day:this.day,month:this.month,year:this.year,timeZoneName:this.timeZoneName});return`${this.prefix} ${e.format(t)}`.trim()};const Nn=typeof globalThis<"u"?globalThis:window;try{Nn.RelativeTimeElement=Ji.define()}catch(n){if(!(Nn.DOMException&&n instanceof DOMException&&n.name==="NotSupportedError")&&!(n instanceof ReferenceError))throw n}localStorage.getItem("theme");window.matchMedia("(prefers-color-scheme: dark)").matches;class Qi{constructor(t,e,s){this.eventTarget=t,this.eventName=e,this.eventOptions=s,this.unorderedBindings=new Set}connect(){this.eventTarget.addEventListener(this.eventName,this,this.eventOptions)}disconnect(){this.eventTarget.removeEventListener(this.eventName,this,this.eventOptions)}bindingConnected(t){this.unorderedBindings.add(t)}bindingDisconnected(t){this.unorderedBindings.delete(t)}handleEvent(t){const e=tr(t);for(const s of this.bindings){if(e.immediatePropagationStopped)break;s.handleEvent(e)}}hasBindings(){return this.unorderedBindings.size>0}get bindings(){return Array.from(this.unorderedBindings).sort((t,e)=>{const s=t.index,i=e.index;return s<i?-1:s>i?1:0})}}function tr(n){if("immediatePropagationStopped"in n)return n;{const{stopImmediatePropagation:t}=n;return Object.assign(n,{immediatePropagationStopped:!1,stopImmediatePropagation(){this.immediatePropagationStopped=!0,t.call(this)}})}}class er{constructor(t){this.application=t,this.eventListenerMaps=new Map,this.started=!1}start(){this.started||(this.started=!0,this.eventListeners.forEach(t=>t.connect()))}stop(){this.started&&(this.started=!1,this.eventListeners.forEach(t=>t.disconnect()))}get eventListeners(){return Array.from(this.eventListenerMaps.values()).reduce((t,e)=>t.concat(Array.from(e.values())),[])}bindingConnected(t){this.fetchEventListenerForBinding(t).bindingConnected(t)}bindingDisconnected(t,e=!1){this.fetchEventListenerForBinding(t).bindingDisconnected(t),e&&this.clearEventListenersForBinding(t)}handleError(t,e,s={}){this.application.handleError(t,`Error ${e}`,s)}clearEventListenersForBinding(t){const e=this.fetchEventListenerForBinding(t);e.hasBindings()||(e.disconnect(),this.removeMappedEventListenerFor(t))}removeMappedEventListenerFor(t){const{eventTarget:e,eventName:s,eventOptions:i}=t,r=this.fetchEventListenerMapForEventTarget(e),o=this.cacheKey(s,i);r.delete(o),r.size==0&&this.eventListenerMaps.delete(e)}fetchEventListenerForBinding(t){const{eventTarget:e,eventName:s,eventOptions:i}=t;return this.fetchEventListener(e,s,i)}fetchEventListener(t,e,s){const i=this.fetchEventListenerMapForEventTarget(t),r=this.cacheKey(e,s);let o=i.get(r);return o||(o=this.createEventListener(t,e,s),i.set(r,o)),o}createEventListener(t,e,s){const i=new Qi(t,e,s);return this.started&&i.connect(),i}fetchEventListenerMapForEventTarget(t){let e=this.eventListenerMaps.get(t);return e||(e=new Map,this.eventListenerMaps.set(t,e)),e}cacheKey(t,e){const s=[t];return Object.keys(e).sort().forEach(i=>{s.push(`${e[i]?"":"!"}${i}`)}),s.join(":")}}const nr={stop({event:n,value:t}){return t&&n.stopPropagation(),!0},prevent({event:n,value:t}){return t&&n.preventDefault(),!0},self({event:n,value:t,element:e}){return t?e===n.target:!0}},sr=/^(?:(?:([^.]+?)\+)?(.+?)(?:\.(.+?))?(?:@(window|document))?->)?(.+?)(?:#([^:]+?))(?::(.+))?$/;function ir(n){const e=n.trim().match(sr)||[];let s=e[2],i=e[3];return i&&!["keydown","keyup","keypress"].includes(s)&&(s+=`.${i}`,i=""),{eventTarget:rr(e[4]),eventName:s,eventOptions:e[7]?or(e[7]):{},identifier:e[5],methodName:e[6],keyFilter:e[1]||i}}function rr(n){if(n=="window")return window;if(n=="document")return document}function or(n){return n.split(":").reduce((t,e)=>Object.assign(t,{[e.replace(/^!/,"")]:!/^!/.test(e)}),{})}function ar(n){if(n==window)return"window";if(n==document)return"document"}function Ie(n){return n.replace(/(?:[_-])([a-z0-9])/g,(t,e)=>e.toUpperCase())}function Se(n){return Ie(n.replace(/--/g,"-").replace(/__/g,"_"))}function Bt(n){return n.charAt(0).toUpperCase()+n.slice(1)}function As(n){return n.replace(/([A-Z])/g,(t,e)=>`-${e.toLowerCase()}`)}function cr(n){return n.match(/[^\s]+/g)||[]}function In(n){return n!=null}function Ce(n,t){return Object.prototype.hasOwnProperty.call(n,t)}const jn=["meta","ctrl","alt","shift"];class lr{constructor(t,e,s,i){this.element=t,this.index=e,this.eventTarget=s.eventTarget||t,this.eventName=s.eventName||ur(t)||Ht("missing event name"),this.eventOptions=s.eventOptions||{},this.identifier=s.identifier||Ht("missing identifier"),this.methodName=s.methodName||Ht("missing method name"),this.keyFilter=s.keyFilter||"",this.schema=i}static forToken(t,e){return new this(t.element,t.index,ir(t.content),e)}toString(){const t=this.keyFilter?`.${this.keyFilter}`:"",e=this.eventTargetName?`@${this.eventTargetName}`:"";return`${this.eventName}${t}${e}->${this.identifier}#${this.methodName}`}shouldIgnoreKeyboardEvent(t){if(!this.keyFilter)return!1;const e=this.keyFilter.split("+");if(this.keyFilterDissatisfied(t,e))return!0;const s=e.filter(i=>!jn.includes(i))[0];return s?(Ce(this.keyMappings,s)||Ht(`contains unknown key filter: ${this.keyFilter}`),this.keyMappings[s].toLowerCase()!==t.key.toLowerCase()):!1}shouldIgnoreMouseEvent(t){if(!this.keyFilter)return!1;const e=[this.keyFilter];return!!this.keyFilterDissatisfied(t,e)}get params(){const t={},e=new RegExp(`^data-${this.identifier}-(.+)-param$`,"i");for(const{name:s,value:i}of Array.from(this.element.attributes)){const r=s.match(e),o=r&&r[1];o&&(t[Ie(o)]=dr(i))}return t}get eventTargetName(){return ar(this.eventTarget)}get keyMappings(){return this.schema.keyMappings}keyFilterDissatisfied(t,e){const[s,i,r,o]=jn.map(a=>e.includes(a));return t.metaKey!==s||t.ctrlKey!==i||t.altKey!==r||t.shiftKey!==o}}const Vn={a:()=>"click",button:()=>"click",form:()=>"submit",details:()=>"toggle",input:n=>n.getAttribute("type")=="submit"?"click":"input",select:()=>"change",textarea:()=>"input"};function ur(n){const t=n.tagName.toLowerCase();if(t in Vn)return Vn[t](n)}function Ht(n){throw new Error(n)}function dr(n){try{return JSON.parse(n)}catch{return n}}class hr{constructor(t,e){this.context=t,this.action=e}get index(){return this.action.index}get eventTarget(){return this.action.eventTarget}get eventOptions(){return this.action.eventOptions}get identifier(){return this.context.identifier}handleEvent(t){const e=this.prepareActionEvent(t);this.willBeInvokedByEvent(t)&&this.applyEventModifiers(e)&&this.invokeWithEvent(e)}get eventName(){return this.action.eventName}get method(){const t=this.controller[this.methodName];if(typeof t=="function")return t;throw new Error(`Action "${this.action}" references undefined method "${this.methodName}"`)}applyEventModifiers(t){const{element:e}=this.action,{actionDescriptorFilters:s}=this.context.application,{controller:i}=this.context;let r=!0;for(const[o,a]of Object.entries(this.eventOptions))if(o in s){const c=s[o];r=r&&c({name:o,value:a,event:t,element:e,controller:i})}else continue;return r}prepareActionEvent(t){return Object.assign(t,{params:this.action.params})}invokeWithEvent(t){const{target:e,currentTarget:s}=t;try{this.method.call(this.controller,t),this.context.logDebugActivity(this.methodName,{event:t,target:e,currentTarget:s,action:this.methodName})}catch(i){const{identifier:r,controller:o,element:a,index:c}=this,l={identifier:r,controller:o,element:a,index:c,event:t};this.context.handleError(i,`invoking action "${this.action}"`,l)}}willBeInvokedByEvent(t){const e=t.target;return t instanceof KeyboardEvent&&this.action.shouldIgnoreKeyboardEvent(t)||t instanceof MouseEvent&&this.action.shouldIgnoreMouseEvent(t)?!1:this.element===e?!0:e instanceof Element&&this.element.contains(e)?this.scope.containsElement(e):this.scope.containsElement(this.action.element)}get controller(){return this.context.controller}get methodName(){return this.action.methodName}get element(){return this.scope.element}get scope(){return this.context.scope}}class xs{constructor(t,e){this.mutationObserverInit={attributes:!0,childList:!0,subtree:!0},this.element=t,this.started=!1,this.delegate=e,this.elements=new Set,this.mutationObserver=new MutationObserver(s=>this.processMutations(s))}start(){this.started||(this.started=!0,this.mutationObserver.observe(this.element,this.mutationObserverInit),this.refresh())}pause(t){this.started&&(this.mutationObserver.disconnect(),this.started=!1),t(),this.started||(this.mutationObserver.observe(this.element,this.mutationObserverInit),this.started=!0)}stop(){this.started&&(this.mutationObserver.takeRecords(),this.mutationObserver.disconnect(),this.started=!1)}refresh(){if(this.started){const t=new Set(this.matchElementsInTree());for(const e of Array.from(this.elements))t.has(e)||this.removeElement(e);for(const e of Array.from(t))this.addElement(e)}}processMutations(t){if(this.started)for(const e of t)this.processMutation(e)}processMutation(t){t.type=="attributes"?this.processAttributeChange(t.target,t.attributeName):t.type=="childList"&&(this.processRemovedNodes(t.removedNodes),this.processAddedNodes(t.addedNodes))}processAttributeChange(t,e){this.elements.has(t)?this.delegate.elementAttributeChanged&&this.matchElement(t)?this.delegate.elementAttributeChanged(t,e):this.removeElement(t):this.matchElement(t)&&this.addElement(t)}processRemovedNodes(t){for(const e of Array.from(t)){const s=this.elementFromNode(e);s&&this.processTree(s,this.removeElement)}}processAddedNodes(t){for(const e of Array.from(t)){const s=this.elementFromNode(e);s&&this.elementIsActive(s)&&this.processTree(s,this.addElement)}}matchElement(t){return this.delegate.matchElement(t)}matchElementsInTree(t=this.element){return this.delegate.matchElementsInTree(t)}processTree(t,e){for(const s of this.matchElementsInTree(t))e.call(this,s)}elementFromNode(t){if(t.nodeType==Node.ELEMENT_NODE)return t}elementIsActive(t){return t.isConnected!=this.element.isConnected?!1:this.element.contains(t)}addElement(t){this.elements.has(t)||this.elementIsActive(t)&&(this.elements.add(t),this.delegate.elementMatched&&this.delegate.elementMatched(t))}removeElement(t){this.elements.has(t)&&(this.elements.delete(t),this.delegate.elementUnmatched&&this.delegate.elementUnmatched(t))}}class Ts{constructor(t,e,s){this.attributeName=e,this.delegate=s,this.elementObserver=new xs(t,this)}get element(){return this.elementObserver.element}get selector(){return`[${this.attributeName}]`}start(){this.elementObserver.start()}pause(t){this.elementObserver.pause(t)}stop(){this.elementObserver.stop()}refresh(){this.elementObserver.refresh()}get started(){return this.elementObserver.started}matchElement(t){return t.hasAttribute(this.attributeName)}matchElementsInTree(t){const e=this.matchElement(t)?[t]:[],s=Array.from(t.querySelectorAll(this.selector));return e.concat(s)}elementMatched(t){this.delegate.elementMatchedAttribute&&this.delegate.elementMatchedAttribute(t,this.attributeName)}elementUnmatched(t){this.delegate.elementUnmatchedAttribute&&this.delegate.elementUnmatchedAttribute(t,this.attributeName)}elementAttributeChanged(t,e){this.delegate.elementAttributeValueChanged&&this.attributeName==e&&this.delegate.elementAttributeValueChanged(t,e)}}function fr(n,t,e){Os(n,t).add(e)}function mr(n,t,e){Os(n,t).delete(e),pr(n,t)}function Os(n,t){let e=n.get(t);return e||(e=new Set,n.set(t,e)),e}function pr(n,t){const e=n.get(t);e!=null&&e.size==0&&n.delete(t)}class Z{constructor(){this.valuesByKey=new Map}get keys(){return Array.from(this.valuesByKey.keys())}get values(){return Array.from(this.valuesByKey.values()).reduce((e,s)=>e.concat(Array.from(s)),[])}get size(){return Array.from(this.valuesByKey.values()).reduce((e,s)=>e+s.size,0)}add(t,e){fr(this.valuesByKey,t,e)}delete(t,e){mr(this.valuesByKey,t,e)}has(t,e){const s=this.valuesByKey.get(t);return s!=null&&s.has(e)}hasKey(t){return this.valuesByKey.has(t)}hasValue(t){return Array.from(this.valuesByKey.values()).some(s=>s.has(t))}getValuesForKey(t){const e=this.valuesByKey.get(t);return e?Array.from(e):[]}getKeysForValue(t){return Array.from(this.valuesByKey).filter(([e,s])=>s.has(t)).map(([e,s])=>e)}}class gr{constructor(t,e,s,i){this._selector=e,this.details=i,this.elementObserver=new xs(t,this),this.delegate=s,this.matchesByElement=new Z}get started(){return this.elementObserver.started}get selector(){return this._selector}set selector(t){this._selector=t,this.refresh()}start(){this.elementObserver.start()}pause(t){this.elementObserver.pause(t)}stop(){this.elementObserver.stop()}refresh(){this.elementObserver.refresh()}get element(){return this.elementObserver.element}matchElement(t){const{selector:e}=this;if(e){const s=t.matches(e);return this.delegate.selectorMatchElement?s&&this.delegate.selectorMatchElement(t,this.details):s}else return!1}matchElementsInTree(t){const{selector:e}=this;if(e){const s=this.matchElement(t)?[t]:[],i=Array.from(t.querySelectorAll(e)).filter(r=>this.matchElement(r));return s.concat(i)}else return[]}elementMatched(t){const{selector:e}=this;e&&this.selectorMatched(t,e)}elementUnmatched(t){const e=this.matchesByElement.getKeysForValue(t);for(const s of e)this.selectorUnmatched(t,s)}elementAttributeChanged(t,e){const{selector:s}=this;if(s){const i=this.matchElement(t),r=this.matchesByElement.has(s,t);i&&!r?this.selectorMatched(t,s):!i&&r&&this.selectorUnmatched(t,s)}}selectorMatched(t,e){this.delegate.selectorMatched(t,e,this.details),this.matchesByElement.add(e,t)}selectorUnmatched(t,e){this.delegate.selectorUnmatched(t,e,this.details),this.matchesByElement.delete(e,t)}}class br{constructor(t,e){this.element=t,this.delegate=e,this.started=!1,this.stringMap=new Map,this.mutationObserver=new MutationObserver(s=>this.processMutations(s))}start(){this.started||(this.started=!0,this.mutationObserver.observe(this.element,{attributes:!0,attributeOldValue:!0}),this.refresh())}stop(){this.started&&(this.mutationObserver.takeRecords(),this.mutationObserver.disconnect(),this.started=!1)}refresh(){if(this.started)for(const t of this.knownAttributeNames)this.refreshAttribute(t,null)}processMutations(t){if(this.started)for(const e of t)this.processMutation(e)}processMutation(t){const e=t.attributeName;e&&this.refreshAttribute(e,t.oldValue)}refreshAttribute(t,e){const s=this.delegate.getStringMapKeyForAttribute(t);if(s!=null){this.stringMap.has(t)||this.stringMapKeyAdded(s,t);const i=this.element.getAttribute(t);if(this.stringMap.get(t)!=i&&this.stringMapValueChanged(i,s,e),i==null){const r=this.stringMap.get(t);this.stringMap.delete(t),r&&this.stringMapKeyRemoved(s,t,r)}else this.stringMap.set(t,i)}}stringMapKeyAdded(t,e){this.delegate.stringMapKeyAdded&&this.delegate.stringMapKeyAdded(t,e)}stringMapValueChanged(t,e,s){this.delegate.stringMapValueChanged&&this.delegate.stringMapValueChanged(t,e,s)}stringMapKeyRemoved(t,e,s){this.delegate.stringMapKeyRemoved&&this.delegate.stringMapKeyRemoved(t,e,s)}get knownAttributeNames(){return Array.from(new Set(this.currentAttributeNames.concat(this.recordedAttributeNames)))}get currentAttributeNames(){return Array.from(this.element.attributes).map(t=>t.name)}get recordedAttributeNames(){return Array.from(this.stringMap.keys())}}class ks{constructor(t,e,s){this.attributeObserver=new Ts(t,e,this),this.delegate=s,this.tokensByElement=new Z}get started(){return this.attributeObserver.started}start(){this.attributeObserver.start()}pause(t){this.attributeObserver.pause(t)}stop(){this.attributeObserver.stop()}refresh(){this.attributeObserver.refresh()}get element(){return this.attributeObserver.element}get attributeName(){return this.attributeObserver.attributeName}elementMatchedAttribute(t){this.tokensMatched(this.readTokensForElement(t))}elementAttributeValueChanged(t){const[e,s]=this.refreshTokensForElement(t);this.tokensUnmatched(e),this.tokensMatched(s)}elementUnmatchedAttribute(t){this.tokensUnmatched(this.tokensByElement.getValuesForKey(t))}tokensMatched(t){t.forEach(e=>this.tokenMatched(e))}tokensUnmatched(t){t.forEach(e=>this.tokenUnmatched(e))}tokenMatched(t){this.delegate.tokenMatched(t),this.tokensByElement.add(t.element,t)}tokenUnmatched(t){this.delegate.tokenUnmatched(t),this.tokensByElement.delete(t.element,t)}refreshTokensForElement(t){const e=this.tokensByElement.getValuesForKey(t),s=this.readTokensForElement(t),i=yr(e,s).findIndex(([r,o])=>!wr(r,o));return i==-1?[[],[]]:[e.slice(i),s.slice(i)]}readTokensForElement(t){const e=this.attributeName,s=t.getAttribute(e)||"";return vr(s,t,e)}}function vr(n,t,e){return n.trim().split(/\s+/).filter(s=>s.length).map((s,i)=>({element:t,attributeName:e,content:s,index:i}))}function yr(n,t){const e=Math.max(n.length,t.length);return Array.from({length:e},(s,i)=>[n[i],t[i]])}function wr(n,t){return n&&t&&n.index==t.index&&n.content==t.content}class Ms{constructor(t,e,s){this.tokenListObserver=new ks(t,e,this),this.delegate=s,this.parseResultsByToken=new WeakMap,this.valuesByTokenByElement=new WeakMap}get started(){return this.tokenListObserver.started}start(){this.tokenListObserver.start()}stop(){this.tokenListObserver.stop()}refresh(){this.tokenListObserver.refresh()}get element(){return this.tokenListObserver.element}get attributeName(){return this.tokenListObserver.attributeName}tokenMatched(t){const{element:e}=t,{value:s}=this.fetchParseResultForToken(t);s&&(this.fetchValuesByTokenForElement(e).set(t,s),this.delegate.elementMatchedValue(e,s))}tokenUnmatched(t){const{element:e}=t,{value:s}=this.fetchParseResultForToken(t);s&&(this.fetchValuesByTokenForElement(e).delete(t),this.delegate.elementUnmatchedValue(e,s))}fetchParseResultForToken(t){let e=this.parseResultsByToken.get(t);return e||(e=this.parseToken(t),this.parseResultsByToken.set(t,e)),e}fetchValuesByTokenForElement(t){let e=this.valuesByTokenByElement.get(t);return e||(e=new Map,this.valuesByTokenByElement.set(t,e)),e}parseToken(t){try{return{value:this.delegate.parseValueForToken(t)}}catch(e){return{error:e}}}}class Er{constructor(t,e){this.context=t,this.delegate=e,this.bindingsByAction=new Map}start(){this.valueListObserver||(this.valueListObserver=new Ms(this.element,this.actionAttribute,this),this.valueListObserver.start())}stop(){this.valueListObserver&&(this.valueListObserver.stop(),delete this.valueListObserver,this.disconnectAllActions())}get element(){return this.context.element}get identifier(){return this.context.identifier}get actionAttribute(){return this.schema.actionAttribute}get schema(){return this.context.schema}get bindings(){return Array.from(this.bindingsByAction.values())}connectAction(t){const e=new hr(this.context,t);this.bindingsByAction.set(t,e),this.delegate.bindingConnected(e)}disconnectAction(t){const e=this.bindingsByAction.get(t);e&&(this.bindingsByAction.delete(t),this.delegate.bindingDisconnected(e))}disconnectAllActions(){this.bindings.forEach(t=>this.delegate.bindingDisconnected(t,!0)),this.bindingsByAction.clear()}parseValueForToken(t){const e=lr.forToken(t,this.schema);if(e.identifier==this.identifier)return e}elementMatchedValue(t,e){this.connectAction(e)}elementUnmatchedValue(t,e){this.disconnectAction(e)}}class Ar{constructor(t,e){this.context=t,this.receiver=e,this.stringMapObserver=new br(this.element,this),this.valueDescriptorMap=this.controller.valueDescriptorMap}start(){this.stringMapObserver.start(),this.invokeChangedCallbacksForDefaultValues()}stop(){this.stringMapObserver.stop()}get element(){return this.context.element}get controller(){return this.context.controller}getStringMapKeyForAttribute(t){if(t in this.valueDescriptorMap)return this.valueDescriptorMap[t].name}stringMapKeyAdded(t,e){const s=this.valueDescriptorMap[e];this.hasValue(t)||this.invokeChangedCallback(t,s.writer(this.receiver[t]),s.writer(s.defaultValue))}stringMapValueChanged(t,e,s){const i=this.valueDescriptorNameMap[e];t!==null&&(s===null&&(s=i.writer(i.defaultValue)),this.invokeChangedCallback(e,t,s))}stringMapKeyRemoved(t,e,s){const i=this.valueDescriptorNameMap[t];this.hasValue(t)?this.invokeChangedCallback(t,i.writer(this.receiver[t]),s):this.invokeChangedCallback(t,i.writer(i.defaultValue),s)}invokeChangedCallbacksForDefaultValues(){for(const{key:t,name:e,defaultValue:s,writer:i}of this.valueDescriptors)s!=null&&!this.controller.data.has(t)&&this.invokeChangedCallback(e,i(s),void 0)}invokeChangedCallback(t,e,s){const i=`${t}Changed`,r=this.receiver[i];if(typeof r=="function"){const o=this.valueDescriptorNameMap[t];try{const a=o.reader(e);let c=s;s&&(c=o.reader(s)),r.call(this.receiver,a,c)}catch(a){throw a instanceof TypeError&&(a.message=`Stimulus Value "${this.context.identifier}.${o.name}" - ${a.message}`),a}}}get valueDescriptors(){const{valueDescriptorMap:t}=this;return Object.keys(t).map(e=>t[e])}get valueDescriptorNameMap(){const t={};return Object.keys(this.valueDescriptorMap).forEach(e=>{const s=this.valueDescriptorMap[e];t[s.name]=s}),t}hasValue(t){const e=this.valueDescriptorNameMap[t],s=`has${Bt(e.name)}`;return this.receiver[s]}}class xr{constructor(t,e){this.context=t,this.delegate=e,this.targetsByName=new Z}start(){this.tokenListObserver||(this.tokenListObserver=new ks(this.element,this.attributeName,this),this.tokenListObserver.start())}stop(){this.tokenListObserver&&(this.disconnectAllTargets(),this.tokenListObserver.stop(),delete this.tokenListObserver)}tokenMatched({element:t,content:e}){this.scope.containsElement(t)&&this.connectTarget(t,e)}tokenUnmatched({element:t,content:e}){this.disconnectTarget(t,e)}connectTarget(t,e){var s;this.targetsByName.has(e,t)||(this.targetsByName.add(e,t),(s=this.tokenListObserver)===null||s===void 0||s.pause(()=>this.delegate.targetConnected(t,e)))}disconnectTarget(t,e){var s;this.targetsByName.has(e,t)&&(this.targetsByName.delete(e,t),(s=this.tokenListObserver)===null||s===void 0||s.pause(()=>this.delegate.targetDisconnected(t,e)))}disconnectAllTargets(){for(const t of this.targetsByName.keys)for(const e of this.targetsByName.getValuesForKey(t))this.disconnectTarget(e,t)}get attributeName(){return`data-${this.context.identifier}-target`}get element(){return this.context.element}get scope(){return this.context.scope}}function $t(n,t){const e=Ss(n);return Array.from(e.reduce((s,i)=>(Or(i,t).forEach(r=>s.add(r)),s),new Set))}function Tr(n,t){return Ss(n).reduce((s,i)=>(s.push(...kr(i,t)),s),[])}function Ss(n){const t=[];for(;n;)t.push(n),n=Object.getPrototypeOf(n);return t.reverse()}function Or(n,t){const e=n[t];return Array.isArray(e)?e:[]}function kr(n,t){const e=n[t];return e?Object.keys(e).map(s=>[s,e[s]]):[]}class Mr{constructor(t,e){this.started=!1,this.context=t,this.delegate=e,this.outletsByName=new Z,this.outletElementsByName=new Z,this.selectorObserverMap=new Map,this.attributeObserverMap=new Map}start(){this.started||(this.outletDefinitions.forEach(t=>{this.setupSelectorObserverForOutlet(t),this.setupAttributeObserverForOutlet(t)}),this.started=!0,this.dependentContexts.forEach(t=>t.refresh()))}refresh(){this.selectorObserverMap.forEach(t=>t.refresh()),this.attributeObserverMap.forEach(t=>t.refresh())}stop(){this.started&&(this.started=!1,this.disconnectAllOutlets(),this.stopSelectorObservers(),this.stopAttributeObservers())}stopSelectorObservers(){this.selectorObserverMap.size>0&&(this.selectorObserverMap.forEach(t=>t.stop()),this.selectorObserverMap.clear())}stopAttributeObservers(){this.attributeObserverMap.size>0&&(this.attributeObserverMap.forEach(t=>t.stop()),this.attributeObserverMap.clear())}selectorMatched(t,e,{outletName:s}){const i=this.getOutlet(t,s);i&&this.connectOutlet(i,t,s)}selectorUnmatched(t,e,{outletName:s}){const i=this.getOutletFromMap(t,s);i&&this.disconnectOutlet(i,t,s)}selectorMatchElement(t,{outletName:e}){const s=this.selector(e),i=this.hasOutlet(t,e),r=t.matches(`[${this.schema.controllerAttribute}~=${e}]`);return s?i&&r&&t.matches(s):!1}elementMatchedAttribute(t,e){const s=this.getOutletNameFromOutletAttributeName(e);s&&this.updateSelectorObserverForOutlet(s)}elementAttributeValueChanged(t,e){const s=this.getOutletNameFromOutletAttributeName(e);s&&this.updateSelectorObserverForOutlet(s)}elementUnmatchedAttribute(t,e){const s=this.getOutletNameFromOutletAttributeName(e);s&&this.updateSelectorObserverForOutlet(s)}connectOutlet(t,e,s){var i;this.outletElementsByName.has(s,e)||(this.outletsByName.add(s,t),this.outletElementsByName.add(s,e),(i=this.selectorObserverMap.get(s))===null||i===void 0||i.pause(()=>this.delegate.outletConnected(t,e,s)))}disconnectOutlet(t,e,s){var i;this.outletElementsByName.has(s,e)&&(this.outletsByName.delete(s,t),this.outletElementsByName.delete(s,e),(i=this.selectorObserverMap.get(s))===null||i===void 0||i.pause(()=>this.delegate.outletDisconnected(t,e,s)))}disconnectAllOutlets(){for(const t of this.outletElementsByName.keys)for(const e of this.outletElementsByName.getValuesForKey(t))for(const s of this.outletsByName.getValuesForKey(t))this.disconnectOutlet(s,e,t)}updateSelectorObserverForOutlet(t){const e=this.selectorObserverMap.get(t);e&&(e.selector=this.selector(t))}setupSelectorObserverForOutlet(t){const e=this.selector(t),s=new gr(document.body,e,this,{outletName:t});this.selectorObserverMap.set(t,s),s.start()}setupAttributeObserverForOutlet(t){const e=this.attributeNameForOutletName(t),s=new Ts(this.scope.element,e,this);this.attributeObserverMap.set(t,s),s.start()}selector(t){return this.scope.outlets.getSelectorForOutletName(t)}attributeNameForOutletName(t){return this.scope.schema.outletAttributeForScope(this.identifier,t)}getOutletNameFromOutletAttributeName(t){return this.outletDefinitions.find(e=>this.attributeNameForOutletName(e)===t)}get outletDependencies(){const t=new Z;return this.router.modules.forEach(e=>{const s=e.definition.controllerConstructor;$t(s,"outlets").forEach(r=>t.add(r,e.identifier))}),t}get outletDefinitions(){return this.outletDependencies.getKeysForValue(this.identifier)}get dependentControllerIdentifiers(){return this.outletDependencies.getValuesForKey(this.identifier)}get dependentContexts(){const t=this.dependentControllerIdentifiers;return this.router.contexts.filter(e=>t.includes(e.identifier))}hasOutlet(t,e){return!!this.getOutlet(t,e)||!!this.getOutletFromMap(t,e)}getOutlet(t,e){return this.application.getControllerForElementAndIdentifier(t,e)}getOutletFromMap(t,e){return this.outletsByName.getValuesForKey(e).find(s=>s.element===t)}get scope(){return this.context.scope}get schema(){return this.context.schema}get identifier(){return this.context.identifier}get application(){return this.context.application}get router(){return this.application.router}}class Sr{constructor(t,e){this.logDebugActivity=(s,i={})=>{const{identifier:r,controller:o,element:a}=this;i=Object.assign({identifier:r,controller:o,element:a},i),this.application.logDebugActivity(this.identifier,s,i)},this.module=t,this.scope=e,this.controller=new t.controllerConstructor(this),this.bindingObserver=new Er(this,this.dispatcher),this.valueObserver=new Ar(this,this.controller),this.targetObserver=new xr(this,this),this.outletObserver=new Mr(this,this);try{this.controller.initialize(),this.logDebugActivity("initialize")}catch(s){this.handleError(s,"initializing controller")}}connect(){this.bindingObserver.start(),this.valueObserver.start(),this.targetObserver.start(),this.outletObserver.start();try{this.controller.connect(),this.logDebugActivity("connect")}catch(t){this.handleError(t,"connecting controller")}}refresh(){this.outletObserver.refresh()}disconnect(){try{this.controller.disconnect(),this.logDebugActivity("disconnect")}catch(t){this.handleError(t,"disconnecting controller")}this.outletObserver.stop(),this.targetObserver.stop(),this.valueObserver.stop(),this.bindingObserver.stop()}get application(){return this.module.application}get identifier(){return this.module.identifier}get schema(){return this.application.schema}get dispatcher(){return this.application.dispatcher}get element(){return this.scope.element}get parentElement(){return this.element.parentElement}handleError(t,e,s={}){const{identifier:i,controller:r,element:o}=this;s=Object.assign({identifier:i,controller:r,element:o},s),this.application.handleError(t,`Error ${e}`,s)}targetConnected(t,e){this.invokeControllerMethod(`${e}TargetConnected`,t)}targetDisconnected(t,e){this.invokeControllerMethod(`${e}TargetDisconnected`,t)}outletConnected(t,e,s){this.invokeControllerMethod(`${Se(s)}OutletConnected`,t,e)}outletDisconnected(t,e,s){this.invokeControllerMethod(`${Se(s)}OutletDisconnected`,t,e)}invokeControllerMethod(t,...e){const s=this.controller;typeof s[t]=="function"&&s[t](...e)}}function Cr(n){return Lr(n,Fr(n))}function Lr(n,t){const e=$r(n),s=Dr(n.prototype,t);return Object.defineProperties(e.prototype,s),e}function Fr(n){return $t(n,"blessings").reduce((e,s)=>{const i=s(n);for(const r in i){const o=e[r]||{};e[r]=Object.assign(o,i[r])}return e},{})}function Dr(n,t){return Br(t).reduce((e,s)=>{const i=_r(n,t,s);return i&&Object.assign(e,{[s]:i}),e},{})}function _r(n,t,e){const s=Object.getOwnPropertyDescriptor(n,e);if(!(s&&"value"in s)){const r=Object.getOwnPropertyDescriptor(t,e).value;return s&&(r.get=s.get||r.get,r.set=s.set||r.set),r}}const Br=typeof Object.getOwnPropertySymbols=="function"?n=>[...Object.getOwnPropertyNames(n),...Object.getOwnPropertySymbols(n)]:Object.getOwnPropertyNames,$r=(()=>{function n(e){function s(){return Reflect.construct(e,arguments,new.target)}return s.prototype=Object.create(e.prototype,{constructor:{value:s}}),Reflect.setPrototypeOf(s,e),s}function t(){const s=n(function(){this.a.call(this)});return s.prototype.a=function(){},new s}try{return t(),n}catch{return s=>class extends s{}}})();function Pr(n){return{identifier:n.identifier,controllerConstructor:Cr(n.controllerConstructor)}}class Rr{constructor(t,e){this.application=t,this.definition=Pr(e),this.contextsByScope=new WeakMap,this.connectedContexts=new Set}get identifier(){return this.definition.identifier}get controllerConstructor(){return this.definition.controllerConstructor}get contexts(){return Array.from(this.connectedContexts)}connectContextForScope(t){const e=this.fetchContextForScope(t);this.connectedContexts.add(e),e.connect()}disconnectContextForScope(t){const e=this.contextsByScope.get(t);e&&(this.connectedContexts.delete(e),e.disconnect())}fetchContextForScope(t){let e=this.contextsByScope.get(t);return e||(e=new Sr(this,t),this.contextsByScope.set(t,e)),e}}class Nr{constructor(t){this.scope=t}has(t){return this.data.has(this.getDataKey(t))}get(t){return this.getAll(t)[0]}getAll(t){const e=this.data.get(this.getDataKey(t))||"";return cr(e)}getAttributeName(t){return this.data.getAttributeNameForKey(this.getDataKey(t))}getDataKey(t){return`${t}-class`}get data(){return this.scope.data}}class Ir{constructor(t){this.scope=t}get element(){return this.scope.element}get identifier(){return this.scope.identifier}get(t){const e=this.getAttributeNameForKey(t);return this.element.getAttribute(e)}set(t,e){const s=this.getAttributeNameForKey(t);return this.element.setAttribute(s,e),this.get(t)}has(t){const e=this.getAttributeNameForKey(t);return this.element.hasAttribute(e)}delete(t){if(this.has(t)){const e=this.getAttributeNameForKey(t);return this.element.removeAttribute(e),!0}else return!1}getAttributeNameForKey(t){return`data-${this.identifier}-${As(t)}`}}class jr{constructor(t){this.warnedKeysByObject=new WeakMap,this.logger=t}warn(t,e,s){let i=this.warnedKeysByObject.get(t);i||(i=new Set,this.warnedKeysByObject.set(t,i)),i.has(e)||(i.add(e),this.logger.warn(s,t))}}function Le(n,t){return`[${n}~="${t}"]`}class Vr{constructor(t){this.scope=t}get element(){return this.scope.element}get identifier(){return this.scope.identifier}get schema(){return this.scope.schema}has(t){return this.find(t)!=null}find(...t){return t.reduce((e,s)=>e||this.findTarget(s)||this.findLegacyTarget(s),void 0)}findAll(...t){return t.reduce((e,s)=>[...e,...this.findAllTargets(s),...this.findAllLegacyTargets(s)],[])}findTarget(t){const e=this.getSelectorForTargetName(t);return this.scope.findElement(e)}findAllTargets(t){const e=this.getSelectorForTargetName(t);return this.scope.findAllElements(e)}getSelectorForTargetName(t){const e=this.schema.targetAttributeForScope(this.identifier);return Le(e,t)}findLegacyTarget(t){const e=this.getLegacySelectorForTargetName(t);return this.deprecate(this.scope.findElement(e),t)}findAllLegacyTargets(t){const e=this.getLegacySelectorForTargetName(t);return this.scope.findAllElements(e).map(s=>this.deprecate(s,t))}getLegacySelectorForTargetName(t){const e=`${this.identifier}.${t}`;return Le(this.schema.targetAttribute,e)}deprecate(t,e){if(t){const{identifier:s}=this,i=this.schema.targetAttribute,r=this.schema.targetAttributeForScope(s);this.guide.warn(t,`target:${e}`,`Please replace ${i}="${s}.${e}" with ${r}="${e}". The ${i} attribute is deprecated and will be removed in a future version of Stimulus.`)}return t}get guide(){return this.scope.guide}}class Hr{constructor(t,e){this.scope=t,this.controllerElement=e}get element(){return this.scope.element}get identifier(){return this.scope.identifier}get schema(){return this.scope.schema}has(t){return this.find(t)!=null}find(...t){return t.reduce((e,s)=>e||this.findOutlet(s),void 0)}findAll(...t){return t.reduce((e,s)=>[...e,...this.findAllOutlets(s)],[])}getSelectorForOutletName(t){const e=this.schema.outletAttributeForScope(this.identifier,t);return this.controllerElement.getAttribute(e)}findOutlet(t){const e=this.getSelectorForOutletName(t);if(e)return this.findElement(e,t)}findAllOutlets(t){const e=this.getSelectorForOutletName(t);return e?this.findAllElements(e,t):[]}findElement(t,e){return this.scope.queryElements(t).filter(i=>this.matchesElement(i,t,e))[0]}findAllElements(t,e){return this.scope.queryElements(t).filter(i=>this.matchesElement(i,t,e))}matchesElement(t,e,s){const i=t.getAttribute(this.scope.schema.controllerAttribute)||"";return t.matches(e)&&i.split(" ").includes(s)}}class je{constructor(t,e,s,i){this.targets=new Vr(this),this.classes=new Nr(this),this.data=new Ir(this),this.containsElement=r=>r.closest(this.controllerSelector)===this.element,this.schema=t,this.element=e,this.identifier=s,this.guide=new jr(i),this.outlets=new Hr(this.documentScope,e)}findElement(t){return this.element.matches(t)?this.element:this.queryElements(t).find(this.containsElement)}findAllElements(t){return[...this.element.matches(t)?[this.element]:[],...this.queryElements(t).filter(this.containsElement)]}queryElements(t){return Array.from(this.element.querySelectorAll(t))}get controllerSelector(){return Le(this.schema.controllerAttribute,this.identifier)}get isDocumentScope(){return this.element===document.documentElement}get documentScope(){return this.isDocumentScope?this:new je(this.schema,document.documentElement,this.identifier,this.guide.logger)}}class Wr{constructor(t,e,s){this.element=t,this.schema=e,this.delegate=s,this.valueListObserver=new Ms(this.element,this.controllerAttribute,this),this.scopesByIdentifierByElement=new WeakMap,this.scopeReferenceCounts=new WeakMap}start(){this.valueListObserver.start()}stop(){this.valueListObserver.stop()}get controllerAttribute(){return this.schema.controllerAttribute}parseValueForToken(t){const{element:e,content:s}=t;return this.parseValueForElementAndIdentifier(e,s)}parseValueForElementAndIdentifier(t,e){const s=this.fetchScopesByIdentifierForElement(t);let i=s.get(e);return i||(i=this.delegate.createScopeForElementAndIdentifier(t,e),s.set(e,i)),i}elementMatchedValue(t,e){const s=(this.scopeReferenceCounts.get(e)||0)+1;this.scopeReferenceCounts.set(e,s),s==1&&this.delegate.scopeConnected(e)}elementUnmatchedValue(t,e){const s=this.scopeReferenceCounts.get(e);s&&(this.scopeReferenceCounts.set(e,s-1),s==1&&this.delegate.scopeDisconnected(e))}fetchScopesByIdentifierForElement(t){let e=this.scopesByIdentifierByElement.get(t);return e||(e=new Map,this.scopesByIdentifierByElement.set(t,e)),e}}class Kr{constructor(t){this.application=t,this.scopeObserver=new Wr(this.element,this.schema,this),this.scopesByIdentifier=new Z,this.modulesByIdentifier=new Map}get element(){return this.application.element}get schema(){return this.application.schema}get logger(){return this.application.logger}get controllerAttribute(){return this.schema.controllerAttribute}get modules(){return Array.from(this.modulesByIdentifier.values())}get contexts(){return this.modules.reduce((t,e)=>t.concat(e.contexts),[])}start(){this.scopeObserver.start()}stop(){this.scopeObserver.stop()}loadDefinition(t){this.unloadIdentifier(t.identifier);const e=new Rr(this.application,t);this.connectModule(e);const s=t.controllerConstructor.afterLoad;s&&s.call(t.controllerConstructor,t.identifier,this.application)}unloadIdentifier(t){const e=this.modulesByIdentifier.get(t);e&&this.disconnectModule(e)}getContextForElementAndIdentifier(t,e){const s=this.modulesByIdentifier.get(e);if(s)return s.contexts.find(i=>i.element==t)}proposeToConnectScopeForElementAndIdentifier(t,e){const s=this.scopeObserver.parseValueForElementAndIdentifier(t,e);s?this.scopeObserver.elementMatchedValue(s.element,s):console.error(`Couldn't find or create scope for identifier: "${e}" and element:`,t)}handleError(t,e,s){this.application.handleError(t,e,s)}createScopeForElementAndIdentifier(t,e){return new je(this.schema,t,e,this.logger)}scopeConnected(t){this.scopesByIdentifier.add(t.identifier,t);const e=this.modulesByIdentifier.get(t.identifier);e&&e.connectContextForScope(t)}scopeDisconnected(t){this.scopesByIdentifier.delete(t.identifier,t);const e=this.modulesByIdentifier.get(t.identifier);e&&e.disconnectContextForScope(t)}connectModule(t){this.modulesByIdentifier.set(t.identifier,t),this.scopesByIdentifier.getValuesForKey(t.identifier).forEach(s=>t.connectContextForScope(s))}disconnectModule(t){this.modulesByIdentifier.delete(t.identifier),this.scopesByIdentifier.getValuesForKey(t.identifier).forEach(s=>t.disconnectContextForScope(s))}}const Ur={controllerAttribute:"data-controller",actionAttribute:"data-action",targetAttribute:"data-target",targetAttributeForScope:n=>`data-${n}-target`,outletAttributeForScope:(n,t)=>`data-${n}-${t}-outlet`,keyMappings:Object.assign(Object.assign({enter:"Enter",tab:"Tab",esc:"Escape",space:" ",up:"ArrowUp",down:"ArrowDown",left:"ArrowLeft",right:"ArrowRight",home:"Home",end:"End",page_up:"PageUp",page_down:"PageDown"},Hn("abcdefghijklmnopqrstuvwxyz".split("").map(n=>[n,n]))),Hn("0123456789".split("").map(n=>[n,n])))};function Hn(n){return n.reduce((t,[e,s])=>Object.assign(Object.assign({},t),{[e]:s}),{})}class qr{constructor(t=document.documentElement,e=Ur){this.logger=console,this.debug=!1,this.logDebugActivity=(s,i,r={})=>{this.debug&&this.logFormattedMessage(s,i,r)},this.element=t,this.schema=e,this.dispatcher=new er(this),this.router=new Kr(this),this.actionDescriptorFilters=Object.assign({},nr)}static start(t,e){const s=new this(t,e);return s.start(),s}async start(){await zr(),this.logDebugActivity("application","starting"),this.dispatcher.start(),this.router.start(),this.logDebugActivity("application","start")}stop(){this.logDebugActivity("application","stopping"),this.dispatcher.stop(),this.router.stop(),this.logDebugActivity("application","stop")}register(t,e){this.load({identifier:t,controllerConstructor:e})}registerActionOption(t,e){this.actionDescriptorFilters[t]=e}load(t,...e){(Array.isArray(t)?t:[t,...e]).forEach(i=>{i.controllerConstructor.shouldLoad&&this.router.loadDefinition(i)})}unload(t,...e){(Array.isArray(t)?t:[t,...e]).forEach(i=>this.router.unloadIdentifier(i))}get controllers(){return this.router.contexts.map(t=>t.controller)}getControllerForElementAndIdentifier(t,e){const s=this.router.getContextForElementAndIdentifier(t,e);return s?s.controller:null}handleError(t,e,s){var i;this.logger.error(`%s
95
95
 
96
96
  %o
97
97
 
98
- %o`,e,t,s),(i=window.onerror)===null||i===void 0||i.call(window,e,"",0,0,t)}logFormattedMessage(t,e,s={}){s=Object.assign({application:this},s),this.logger.groupCollapsed(`${t} #${e}`),this.logger.log("details:",Object.assign({},s)),this.logger.groupEnd()}}function Kr(){return new Promise(n=>{document.readyState=="loading"?document.addEventListener("DOMContentLoaded",()=>n()):n()})}function Ur(n){return Bt(n,"classes").reduce((e,s)=>Object.assign(e,qr(s)),{})}function qr(n){return{[`${n}Class`]:{get(){const{classes:t}=this;if(t.has(n))return t.get(n);{const e=t.getAttributeName(n);throw new Error(`Missing attribute "${e}"`)}}},[`${n}Classes`]:{get(){return this.classes.getAll(n)}},[`has${_t(n)}Class`]:{get(){return this.classes.has(n)}}}}function zr(n){return Bt(n,"outlets").reduce((e,s)=>Object.assign(e,Yr(s)),{})}function Hn(n,t,e){return n.application.getControllerForElementAndIdentifier(t,e)}function Vn(n,t,e){let s=Hn(n,t,e);if(s||(n.application.router.proposeToConnectScopeForElementAndIdentifier(t,e),s=Hn(n,t,e),s))return s}function Yr(n){const t=Me(n);return{[`${t}Outlet`]:{get(){const e=this.outlets.find(n),s=this.outlets.getSelectorForOutletName(n);if(e){const i=Vn(this,e,n);if(i)return i;throw new Error(`The provided outlet element is missing an outlet controller "${n}" instance for host controller "${this.identifier}"`)}throw new Error(`Missing outlet element "${n}" for host controller "${this.identifier}". Stimulus couldn't find a matching outlet element using selector "${s}".`)}},[`${t}Outlets`]:{get(){const e=this.outlets.findAll(n);return e.length>0?e.map(s=>{const i=Vn(this,s,n);if(i)return i;console.warn(`The provided outlet element is missing an outlet controller "${n}" instance for host controller "${this.identifier}"`,s)}).filter(s=>s):[]}},[`${t}OutletElement`]:{get(){const e=this.outlets.find(n),s=this.outlets.getSelectorForOutletName(n);if(e)return e;throw new Error(`Missing outlet element "${n}" for host controller "${this.identifier}". Stimulus couldn't find a matching outlet element using selector "${s}".`)}},[`${t}OutletElements`]:{get(){return this.outlets.findAll(n)}},[`has${_t(t)}Outlet`]:{get(){return this.outlets.has(n)}}}}function Xr(n){return Bt(n,"targets").reduce((e,s)=>Object.assign(e,Gr(s)),{})}function Gr(n){return{[`${n}Target`]:{get(){const t=this.targets.find(n);if(t)return t;throw new Error(`Missing target element "${n}" for "${this.identifier}" controller`)}},[`${n}Targets`]:{get(){return this.targets.findAll(n)}},[`has${_t(n)}Target`]:{get(){return this.targets.has(n)}}}}function Zr(n){const t=Er(n,"values"),e={valueDescriptorMap:{get(){return t.reduce((s,i)=>{const r=ks(i,this.identifier),o=this.data.getAttributeNameForKey(r.key);return Object.assign(s,{[o]:r})},{})}}};return t.reduce((s,i)=>Object.assign(s,Jr(i)),e)}function Jr(n,t){const e=ks(n,t),{key:s,name:i,reader:r,writer:o}=e;return{[i]:{get(){const a=this.data.get(s);return a!==null?r(a):e.defaultValue},set(a){a===void 0?this.data.delete(s):this.data.set(s,o(a))}},[`has${_t(i)}`]:{get(){return this.data.has(s)||e.hasCustomDefaultValue}}}}function ks([n,t],e){return no({controller:e,token:n,typeDefinition:t})}function Yt(n){switch(n){case Array:return"array";case Boolean:return"boolean";case Number:return"number";case Object:return"object";case String:return"string"}}function Ft(n){switch(typeof n){case"boolean":return"boolean";case"number":return"number";case"string":return"string"}if(Array.isArray(n))return"array";if(Object.prototype.toString.call(n)==="[object Object]")return"object"}function Qr(n){const{controller:t,token:e,typeObject:s}=n,i=Rn(s.type),r=Rn(s.default),o=i&&r,a=i&&!r,c=!i&&r,l=Yt(s.type),u=Ft(n.typeObject.default);if(a)return l;if(c)return u;if(l!==u){const d=t?`${t}.${e}`:e;throw new Error(`The specified default value for the Stimulus Value "${d}" must match the defined type "${l}". The provided default value of "${s.default}" is of type "${u}".`)}if(o)return l}function to(n){const{controller:t,token:e,typeDefinition:s}=n,r=Qr({controller:t,token:e,typeObject:s}),o=Ft(s),a=Yt(s),c=r||o||a;if(c)return c;const l=t?`${t}.${s}`:e;throw new Error(`Unknown value type "${l}" for "${e}" value`)}function eo(n){const t=Yt(n);if(t)return Wn[t];const e=Se(n,"default"),s=Se(n,"type"),i=n;if(e)return i.default;if(s){const{type:r}=i,o=Yt(r);if(o)return Wn[o]}return n}function no(n){const{token:t,typeDefinition:e}=n,s=`${ys(t)}-value`,i=to(n);return{type:i,key:s,name:Pe(s),get defaultValue(){return eo(e)},get hasCustomDefaultValue(){return Ft(e)!==void 0},reader:so[i],writer:Kn[i]||Kn.default}}const Wn={get array(){return[]},boolean:!1,number:0,get object(){return{}},string:""},so={array(n){const t=JSON.parse(n);if(!Array.isArray(t))throw new TypeError(`expected value of type "array" but instead got value "${n}" of type "${Ft(t)}"`);return t},boolean(n){return!(n=="0"||String(n).toLowerCase()=="false")},number(n){return Number(n.replace(/_/g,""))},object(n){const t=JSON.parse(n);if(t===null||typeof t!="object"||Array.isArray(t))throw new TypeError(`expected value of type "object" but instead got value "${n}" of type "${Ft(t)}"`);return t},string(n){return n}},Kn={default:io,array:Un,object:Un};function Un(n){return JSON.stringify(n)}function io(n){return`${n}`}class N{constructor(t){this.context=t}static get shouldLoad(){return!0}static afterLoad(t,e){}get application(){return this.context.application}get scope(){return this.context.scope}get element(){return this.scope.element}get identifier(){return this.scope.identifier}get targets(){return this.scope.targets}get outlets(){return this.scope.outlets}get classes(){return this.scope.classes}get data(){return this.scope.data}initialize(){}connect(){}disconnect(){}dispatch(t,{target:e=this.element,detail:s={},prefix:i=this.identifier,bubbles:r=!0,cancelable:o=!0}={}){const a=i?`${i}:${t}`:t,c=new CustomEvent(a,{detail:s,bubbles:r,cancelable:o});return e.dispatchEvent(c),c}}N.blessings=[Ur,Xr,Zr,zr];N.targets=[];N.outlets=[];N.values={};function $t(){return function({targets:t,values:e}={}){const i=class i extends N{};i.targets=Object.keys(t??{}),i.values=e??{};let s=i;return s}}function ro(n){const t=document.createElement("pre");return t.style.width="1px",t.style.height="1px",t.style.position="fixed",t.style.top="5px",t.textContent=n,t}function Ms(n){if("clipboard"in navigator)return navigator.clipboard.writeText(n.textContent||"");const t=getSelection();if(t==null)return Promise.reject(new Error);t.removeAllRanges();const e=document.createRange();return e.selectNodeContents(n),t.addRange(e),document.execCommand("copy"),t.removeAllRanges(),Promise.resolve()}function Le(n){if("clipboard"in navigator)return navigator.clipboard.writeText(n);const t=document.body;if(!t)return Promise.reject(new Error);const e=ro(n);return t.appendChild(e),Ms(e),t.removeChild(e),Promise.resolve()}async function Ss(n){const t=n.getAttribute("for"),e=n.getAttribute("value");function s(){n.dispatchEvent(new CustomEvent("clipboard-copy",{bubbles:!0}))}if(n.getAttribute("aria-disabled")!=="true"){if(e)await Le(e),s();else if(t){const i="getRootNode"in Element.prototype?n.getRootNode():n.ownerDocument;if(!(i instanceof Document||"ShadowRoot"in window&&i instanceof ShadowRoot))return;const r=i.getElementById(t);r&&(await oo(r),s())}}}function oo(n){return n instanceof HTMLInputElement||n instanceof HTMLTextAreaElement?Le(n.value):n instanceof HTMLAnchorElement&&n.hasAttribute("href")?Le(n.href):Ms(n)}function ao(n){const t=n.currentTarget;t instanceof HTMLElement&&Ss(t)}function Cs(n){if(n.key===" "||n.key==="Enter"){const t=n.currentTarget;t instanceof HTMLElement&&(n.preventDefault(),Ss(t))}}function co(n){n.currentTarget.addEventListener("keydown",Cs)}function lo(n){n.currentTarget.removeEventListener("keydown",Cs)}class uo extends HTMLElement{static define(t="clipboard-copy",e=customElements){return e.define(t,this),this}constructor(){super(),this.addEventListener("click",ao),this.addEventListener("focus",co),this.addEventListener("blur",lo)}connectedCallback(){this.hasAttribute("tabindex")||this.setAttribute("tabindex","0"),this.hasAttribute("role")||this.setAttribute("role","button")}get value(){return this.getAttribute("value")||""}set value(t){this.setAttribute("value",t)}}const qn=typeof globalThis<"u"?globalThis:window;try{qn.ClipboardCopyElement=uo.define()}catch(n){if(!(qn.DOMException&&n instanceof DOMException&&n.name==="NotSupportedError")&&!(n instanceof ReferenceError))throw n}const ho=2e3;class fo extends $t()({targets:{initial:HTMLElement,confirmed:null}}){connect(){this.clipboardCopyElementTimers=new WeakMap}copy(t){const e=t.target,s=this.clipboardCopyElementTimers.get(e);s?(clearTimeout(s),this.clipboardCopyElementTimers.delete(e)):this.showConfirm(),this.clipboardCopyElementTimers.set(e,window.setTimeout(()=>{this.showInitial(),this.clipboardCopyElementTimers.delete(e)},ho))}showConfirm(){this.hasConfirmedTarget&&(this.confirmedTarget.classList.remove("hidden"),this.confirmedTarget.classList.add("inline-block"),this.initialTarget.classList.add("hidden"))}showInitial(){this.initialTarget.classList.remove("hidden"),this.initialTarget.classList.add("inline-block"),this.hasConfirmedTarget&&this.confirmedTarget.classList.add("hidden")}}const mo=Object.freeze(Object.defineProperty({__proto__:null,default:fo},Symbol.toStringTag,{value:"Module"})),ht=Math.min,S=Math.max,Xt=Math.round,Wt=Math.floor,W=n=>({x:n,y:n}),po={left:"right",right:"left",bottom:"top",top:"bottom"},go={start:"end",end:"start"};function zn(n,t,e){return S(n,ht(t,e))}function Pt(n,t){return typeof n=="function"?n(t):n}function K(n){return n.split("-")[0]}function Rt(n){return n.split("-")[1]}function Ls(n){return n==="x"?"y":"x"}function Fs(n){return n==="y"?"height":"width"}function It(n){return["top","bottom"].includes(K(n))?"y":"x"}function Ds(n){return Ls(It(n))}function bo(n,t,e){e===void 0&&(e=!1);const s=Rt(n),i=Ds(n),r=Fs(i);let o=i==="x"?s===(e?"end":"start")?"right":"left":s==="start"?"bottom":"top";return t.reference[r]>t.floating[r]&&(o=Gt(o)),[o,Gt(o)]}function vo(n){const t=Gt(n);return[Fe(n),t,Fe(t)]}function Fe(n){return n.replace(/start|end/g,t=>go[t])}function yo(n,t,e){const s=["left","right"],i=["right","left"],r=["top","bottom"],o=["bottom","top"];switch(n){case"top":case"bottom":return e?t?i:s:t?s:i;case"left":case"right":return t?r:o;default:return[]}}function wo(n,t,e,s){const i=Rt(n);let r=yo(K(n),e==="start",s);return i&&(r=r.map(o=>o+"-"+i),t&&(r=r.concat(r.map(Fe)))),r}function Gt(n){return n.replace(/left|right|bottom|top/g,t=>po[t])}function Eo(n){return{top:0,right:0,bottom:0,left:0,...n}}function Ao(n){return typeof n!="number"?Eo(n):{top:n,right:n,bottom:n,left:n}}function Zt(n){return{...n,top:n.y,left:n.x,right:n.x+n.width,bottom:n.y+n.height}}function Yn(n,t,e){let{reference:s,floating:i}=n;const r=It(t),o=Ds(t),a=Fs(o),c=K(t),l=r==="y",u=s.x+s.width/2-i.width/2,d=s.y+s.height/2-i.height/2,h=s[a]/2-i[a]/2;let g;switch(c){case"top":g={x:u,y:s.y-i.height};break;case"bottom":g={x:u,y:s.y+s.height};break;case"right":g={x:s.x+s.width,y:d};break;case"left":g={x:s.x-i.width,y:d};break;default:g={x:s.x,y:s.y}}switch(Rt(t)){case"start":g[o]-=h*(e&&l?-1:1);break;case"end":g[o]+=h*(e&&l?-1:1);break}return g}const xo=async(n,t,e)=>{const{placement:s="bottom",strategy:i="absolute",middleware:r=[],platform:o}=e,a=r.filter(Boolean),c=await(o.isRTL==null?void 0:o.isRTL(t));let l=await o.getElementRects({reference:n,floating:t,strategy:i}),{x:u,y:d}=Yn(l,s,c),h=s,g={},f=0;for(let m=0;m<a.length;m++){const{name:b,fn:p}=a[m],{x:v,y:E,data:y,reset:w}=await p({x:u,y:d,initialPlacement:s,placement:h,strategy:i,middlewareData:g,rects:l,platform:o,elements:{reference:n,floating:t}});u=v??u,d=E??d,g={...g,[b]:{...g[b],...y}},w&&f<=50&&(f++,typeof w=="object"&&(w.placement&&(h=w.placement),w.rects&&(l=w.rects===!0?await o.getElementRects({reference:n,floating:t,strategy:i}):w.rects),{x:u,y:d}=Yn(l,h,c)),m=-1)}return{x:u,y:d,placement:h,strategy:i,middlewareData:g}};async function Ie(n,t){var e;t===void 0&&(t={});const{x:s,y:i,platform:r,rects:o,elements:a,strategy:c}=n,{boundary:l="clippingAncestors",rootBoundary:u="viewport",elementContext:d="floating",altBoundary:h=!1,padding:g=0}=Pt(t,n),f=Ao(g),b=a[h?d==="floating"?"reference":"floating":d],p=Zt(await r.getClippingRect({element:(e=await(r.isElement==null?void 0:r.isElement(b)))==null||e?b:b.contextElement||await(r.getDocumentElement==null?void 0:r.getDocumentElement(a.floating)),boundary:l,rootBoundary:u,strategy:c})),v=d==="floating"?{...o.floating,x:s,y:i}:o.reference,E=await(r.getOffsetParent==null?void 0:r.getOffsetParent(a.floating)),y=await(r.isElement==null?void 0:r.isElement(E))?await(r.getScale==null?void 0:r.getScale(E))||{x:1,y:1}:{x:1,y:1},w=Zt(r.convertOffsetParentRelativeRectToViewportRelativeRect?await r.convertOffsetParentRelativeRectToViewportRelativeRect({elements:a,rect:v,offsetParent:E,strategy:c}):v);return{top:(p.top-w.top+f.top)/y.y,bottom:(w.bottom-p.bottom+f.bottom)/y.y,left:(p.left-w.left+f.left)/y.x,right:(w.right-p.right+f.right)/y.x}}const To=function(n){return n===void 0&&(n={}),{name:"flip",options:n,async fn(t){var e,s;const{placement:i,middlewareData:r,rects:o,initialPlacement:a,platform:c,elements:l}=t,{mainAxis:u=!0,crossAxis:d=!0,fallbackPlacements:h,fallbackStrategy:g="bestFit",fallbackAxisSideDirection:f="none",flipAlignment:m=!0,...b}=Pt(n,t);if((e=r.arrow)!=null&&e.alignmentOffset)return{};const p=K(i),v=K(a)===a,E=await(c.isRTL==null?void 0:c.isRTL(l.floating)),y=h||(v||!m?[Gt(a)]:vo(a));!h&&f!=="none"&&y.push(...wo(a,m,f,E));const w=[a,...y],x=await Ie(t,b),B=[];let H=((s=r.flip)==null?void 0:s.overflows)||[];if(u&&B.push(x[p]),d){const q=bo(i,o,E);B.push(x[q[0]],x[q[1]])}if(H=[...H,{placement:i,overflows:B}],!B.every(q=>q<=0)){var mt,Ye;const q=(((mt=r.flip)==null?void 0:mt.index)||0)+1,Ge=w[q];if(Ge)return{data:{index:q,overflows:H},reset:{placement:Ge}};let pt=(Ye=H.filter(tt=>tt.overflows[0]<=0).sort((tt,et)=>tt.overflows[1]-et.overflows[1])[0])==null?void 0:Ye.placement;if(!pt)switch(g){case"bestFit":{var Xe;const tt=(Xe=H.map(et=>[et.placement,et.overflows.filter(gt=>gt>0).reduce((gt,qs)=>gt+qs,0)]).sort((et,gt)=>et[1]-gt[1])[0])==null?void 0:Xe[0];tt&&(pt=tt);break}case"initialPlacement":pt=a;break}if(i!==pt)return{reset:{placement:pt}}}return{}}}};async function Oo(n,t){const{placement:e,platform:s,elements:i}=n,r=await(s.isRTL==null?void 0:s.isRTL(i.floating)),o=K(e),a=Rt(e),c=It(e)==="y",l=["left","top"].includes(o)?-1:1,u=r&&c?-1:1,d=Pt(t,n);let{mainAxis:h,crossAxis:g,alignmentAxis:f}=typeof d=="number"?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...d};return a&&typeof f=="number"&&(g=a==="end"?f*-1:f),c?{x:g*u,y:h*l}:{x:h*l,y:g*u}}const Ne=function(n){return n===void 0&&(n=0),{name:"offset",options:n,async fn(t){var e,s;const{x:i,y:r,placement:o,middlewareData:a}=t,c=await Oo(t,n);return o===((e=a.offset)==null?void 0:e.placement)&&(s=a.arrow)!=null&&s.alignmentOffset?{}:{x:i+c.x,y:r+c.y,data:{...c,placement:o}}}}},ko=function(n){return n===void 0&&(n={}),{name:"shift",options:n,async fn(t){const{x:e,y:s,placement:i}=t,{mainAxis:r=!0,crossAxis:o=!1,limiter:a={fn:b=>{let{x:p,y:v}=b;return{x:p,y:v}}},...c}=Pt(n,t),l={x:e,y:s},u=await Ie(t,c),d=It(K(i)),h=Ls(d);let g=l[h],f=l[d];if(r){const b=h==="y"?"top":"left",p=h==="y"?"bottom":"right",v=g+u[b],E=g-u[p];g=zn(v,g,E)}if(o){const b=d==="y"?"top":"left",p=d==="y"?"bottom":"right",v=f+u[b],E=f-u[p];f=zn(v,f,E)}const m=a.fn({...t,[h]:g,[d]:f});return{...m,data:{x:m.x-e,y:m.y-s}}}}},Mo=function(n){return n===void 0&&(n={}),{name:"size",options:n,async fn(t){const{placement:e,rects:s,platform:i,elements:r}=t,{apply:o=()=>{},...a}=Pt(n,t),c=await Ie(t,a),l=K(e),u=Rt(e),d=It(e)==="y",{width:h,height:g}=s.floating;let f,m;l==="top"||l==="bottom"?(f=l,m=u===(await(i.isRTL==null?void 0:i.isRTL(r.floating))?"start":"end")?"left":"right"):(m=l,f=u==="end"?"top":"bottom");const b=g-c[f],p=h-c[m],v=!t.middlewareData.shift;let E=b,y=p;if(d){const x=h-c.left-c.right;y=u||v?ht(p,x):x}else{const x=g-c.top-c.bottom;E=u||v?ht(b,x):x}if(v&&!u){const x=S(c.left,0),B=S(c.right,0),H=S(c.top,0),mt=S(c.bottom,0);d?y=h-2*(x!==0||B!==0?x+B:S(c.left,c.right)):E=g-2*(H!==0||mt!==0?H+mt:S(c.top,c.bottom))}await o({...t,availableWidth:y,availableHeight:E});const w=await i.getDimensions(r.floating);return h!==w.width||g!==w.height?{reset:{rects:!0}}:{}}}};function U(n){return _s(n)?(n.nodeName||"").toLowerCase():"#document"}function C(n){var t;return(n==null||(t=n.ownerDocument)==null?void 0:t.defaultView)||window}function j(n){var t;return(t=(_s(n)?n.ownerDocument:n.document)||window.document)==null?void 0:t.documentElement}function _s(n){return n instanceof Node||n instanceof C(n).Node}function I(n){return n instanceof Element||n instanceof C(n).Element}function $(n){return n instanceof HTMLElement||n instanceof C(n).HTMLElement}function Xn(n){return typeof ShadowRoot>"u"?!1:n instanceof ShadowRoot||n instanceof C(n).ShadowRoot}function Nt(n){const{overflow:t,overflowX:e,overflowY:s,display:i}=D(n);return/auto|scroll|overlay|hidden|clip/.test(t+s+e)&&!["inline","contents"].includes(i)}function So(n){return["table","td","th"].includes(U(n))}function je(n){const t=He(),e=D(n);return e.transform!=="none"||e.perspective!=="none"||(e.containerType?e.containerType!=="normal":!1)||!t&&(e.backdropFilter?e.backdropFilter!=="none":!1)||!t&&(e.filter?e.filter!=="none":!1)||["transform","perspective","filter"].some(s=>(e.willChange||"").includes(s))||["paint","layout","strict","content"].some(s=>(e.contain||"").includes(s))}function Co(n){let t=ft(n);for(;$(t)&&!ie(t);){if(je(t))return t;t=ft(t)}return null}function He(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function ie(n){return["html","body","#document"].includes(U(n))}function D(n){return C(n).getComputedStyle(n)}function re(n){return I(n)?{scrollLeft:n.scrollLeft,scrollTop:n.scrollTop}:{scrollLeft:n.pageXOffset,scrollTop:n.pageYOffset}}function ft(n){if(U(n)==="html")return n;const t=n.assignedSlot||n.parentNode||Xn(n)&&n.host||j(n);return Xn(t)?t.host:t}function Bs(n){const t=ft(n);return ie(t)?n.ownerDocument?n.ownerDocument.body:n.body:$(t)&&Nt(t)?t:Bs(t)}function Dt(n,t,e){var s;t===void 0&&(t=[]),e===void 0&&(e=!0);const i=Bs(n),r=i===((s=n.ownerDocument)==null?void 0:s.body),o=C(i);return r?t.concat(o,o.visualViewport||[],Nt(i)?i:[],o.frameElement&&e?Dt(o.frameElement):[]):t.concat(i,Dt(i,[],e))}function $s(n){const t=D(n);let e=parseFloat(t.width)||0,s=parseFloat(t.height)||0;const i=$(n),r=i?n.offsetWidth:e,o=i?n.offsetHeight:s,a=Xt(e)!==r||Xt(s)!==o;return a&&(e=r,s=o),{width:e,height:s,$:a}}function Ve(n){return I(n)?n:n.contextElement}function ut(n){const t=Ve(n);if(!$(t))return W(1);const e=t.getBoundingClientRect(),{width:s,height:i,$:r}=$s(t);let o=(r?Xt(e.width):e.width)/s,a=(r?Xt(e.height):e.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!a||!Number.isFinite(a))&&(a=1),{x:o,y:a}}const Lo=W(0);function Ps(n){const t=C(n);return!He()||!t.visualViewport?Lo:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Fo(n,t,e){return t===void 0&&(t=!1),!e||t&&e!==C(n)?!1:t}function Q(n,t,e,s){t===void 0&&(t=!1),e===void 0&&(e=!1);const i=n.getBoundingClientRect(),r=Ve(n);let o=W(1);t&&(s?I(s)&&(o=ut(s)):o=ut(n));const a=Fo(r,e,s)?Ps(r):W(0);let c=(i.left+a.x)/o.x,l=(i.top+a.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(r){const h=C(r),g=s&&I(s)?C(s):s;let f=h,m=f.frameElement;for(;m&&s&&g!==f;){const b=ut(m),p=m.getBoundingClientRect(),v=D(m),E=p.left+(m.clientLeft+parseFloat(v.paddingLeft))*b.x,y=p.top+(m.clientTop+parseFloat(v.paddingTop))*b.y;c*=b.x,l*=b.y,u*=b.x,d*=b.y,c+=E,l+=y,f=C(m),m=f.frameElement}}return Zt({width:u,height:d,x:c,y:l})}const Do=[":popover-open",":modal"];function Rs(n){return Do.some(t=>{try{return n.matches(t)}catch{return!1}})}function _o(n){let{elements:t,rect:e,offsetParent:s,strategy:i}=n;const r=i==="fixed",o=j(s),a=t?Rs(t.floating):!1;if(s===o||a&&r)return e;let c={scrollLeft:0,scrollTop:0},l=W(1);const u=W(0),d=$(s);if((d||!d&&!r)&&((U(s)!=="body"||Nt(o))&&(c=re(s)),$(s))){const h=Q(s);l=ut(s),u.x=h.x+s.clientLeft,u.y=h.y+s.clientTop}return{width:e.width*l.x,height:e.height*l.y,x:e.x*l.x-c.scrollLeft*l.x+u.x,y:e.y*l.y-c.scrollTop*l.y+u.y}}function Bo(n){return Array.from(n.getClientRects())}function Is(n){return Q(j(n)).left+re(n).scrollLeft}function $o(n){const t=j(n),e=re(n),s=n.ownerDocument.body,i=S(t.scrollWidth,t.clientWidth,s.scrollWidth,s.clientWidth),r=S(t.scrollHeight,t.clientHeight,s.scrollHeight,s.clientHeight);let o=-e.scrollLeft+Is(n);const a=-e.scrollTop;return D(s).direction==="rtl"&&(o+=S(t.clientWidth,s.clientWidth)-i),{width:i,height:r,x:o,y:a}}function Po(n,t){const e=C(n),s=j(n),i=e.visualViewport;let r=s.clientWidth,o=s.clientHeight,a=0,c=0;if(i){r=i.width,o=i.height;const l=He();(!l||l&&t==="fixed")&&(a=i.offsetLeft,c=i.offsetTop)}return{width:r,height:o,x:a,y:c}}function Ro(n,t){const e=Q(n,!0,t==="fixed"),s=e.top+n.clientTop,i=e.left+n.clientLeft,r=$(n)?ut(n):W(1),o=n.clientWidth*r.x,a=n.clientHeight*r.y,c=i*r.x,l=s*r.y;return{width:o,height:a,x:c,y:l}}function Gn(n,t,e){let s;if(t==="viewport")s=Po(n,e);else if(t==="document")s=$o(j(n));else if(I(t))s=Ro(t,e);else{const i=Ps(n);s={...t,x:t.x-i.x,y:t.y-i.y}}return Zt(s)}function Ns(n,t){const e=ft(n);return e===t||!I(e)||ie(e)?!1:D(e).position==="fixed"||Ns(e,t)}function Io(n,t){const e=t.get(n);if(e)return e;let s=Dt(n,[],!1).filter(a=>I(a)&&U(a)!=="body"),i=null;const r=D(n).position==="fixed";let o=r?ft(n):n;for(;I(o)&&!ie(o);){const a=D(o),c=je(o);!c&&a.position==="fixed"&&(i=null),(r?!c&&!i:!c&&a.position==="static"&&!!i&&["absolute","fixed"].includes(i.position)||Nt(o)&&!c&&Ns(n,o))?s=s.filter(u=>u!==o):i=a,o=ft(o)}return t.set(n,s),s}function No(n){let{element:t,boundary:e,rootBoundary:s,strategy:i}=n;const o=[...e==="clippingAncestors"?Io(t,this._c):[].concat(e),s],a=o[0],c=o.reduce((l,u)=>{const d=Gn(t,u,i);return l.top=S(d.top,l.top),l.right=ht(d.right,l.right),l.bottom=ht(d.bottom,l.bottom),l.left=S(d.left,l.left),l},Gn(t,a,i));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}}function jo(n){const{width:t,height:e}=$s(n);return{width:t,height:e}}function Ho(n,t,e){const s=$(t),i=j(t),r=e==="fixed",o=Q(n,!0,r,t);let a={scrollLeft:0,scrollTop:0};const c=W(0);if(s||!s&&!r)if((U(t)!=="body"||Nt(i))&&(a=re(t)),s){const d=Q(t,!0,r,t);c.x=d.x+t.clientLeft,c.y=d.y+t.clientTop}else i&&(c.x=Is(i));const l=o.left+a.scrollLeft-c.x,u=o.top+a.scrollTop-c.y;return{x:l,y:u,width:o.width,height:o.height}}function Zn(n,t){return!$(n)||D(n).position==="fixed"?null:t?t(n):n.offsetParent}function js(n,t){const e=C(n);if(!$(n)||Rs(n))return e;let s=Zn(n,t);for(;s&&So(s)&&D(s).position==="static";)s=Zn(s,t);return s&&(U(s)==="html"||U(s)==="body"&&D(s).position==="static"&&!je(s))?e:s||Co(n)||e}const Vo=async function(n){const t=this.getOffsetParent||js,e=this.getDimensions;return{reference:Ho(n.reference,await t(n.floating),n.strategy),floating:{x:0,y:0,...await e(n.floating)}}};function Wo(n){return D(n).direction==="rtl"}const Ko={convertOffsetParentRelativeRectToViewportRelativeRect:_o,getDocumentElement:j,getClippingRect:No,getOffsetParent:js,getElementRects:Vo,getClientRects:Bo,getDimensions:jo,getScale:ut,isElement:I,isRTL:Wo};function Uo(n,t){let e=null,s;const i=j(n);function r(){var a;clearTimeout(s),(a=e)==null||a.disconnect(),e=null}function o(a,c){a===void 0&&(a=!1),c===void 0&&(c=1),r();const{left:l,top:u,width:d,height:h}=n.getBoundingClientRect();if(a||t(),!d||!h)return;const g=Wt(u),f=Wt(i.clientWidth-(l+d)),m=Wt(i.clientHeight-(u+h)),b=Wt(l),v={rootMargin:-g+"px "+-f+"px "+-m+"px "+-b+"px",threshold:S(0,ht(1,c))||1};let E=!0;function y(w){const x=w[0].intersectionRatio;if(x!==c){if(!E)return o();x?o(!1,x):s=setTimeout(()=>{o(!1,1e-7)},100)}E=!1}try{e=new IntersectionObserver(y,{...v,root:i.ownerDocument})}catch{e=new IntersectionObserver(y,v)}e.observe(n)}return o(!0),r}function We(n,t,e,s){s===void 0&&(s={});const{ancestorScroll:i=!0,ancestorResize:r=!0,elementResize:o=typeof ResizeObserver=="function",layoutShift:a=typeof IntersectionObserver=="function",animationFrame:c=!1}=s,l=Ve(n),u=i||r?[...l?Dt(l):[],...Dt(t)]:[];u.forEach(p=>{i&&p.addEventListener("scroll",e,{passive:!0}),r&&p.addEventListener("resize",e)});const d=l&&a?Uo(l,e):null;let h=-1,g=null;o&&(g=new ResizeObserver(p=>{let[v]=p;v&&v.target===l&&g&&(g.unobserve(t),cancelAnimationFrame(h),h=requestAnimationFrame(()=>{var E;(E=g)==null||E.observe(t)})),e()}),l&&!c&&g.observe(l),g.observe(t));let f,m=c?Q(n):null;c&&b();function b(){const p=Q(n);m&&(p.x!==m.x||p.y!==m.y||p.width!==m.width||p.height!==m.height)&&e(),m=p,f=requestAnimationFrame(b)}return e(),()=>{var p;u.forEach(v=>{i&&v.removeEventListener("scroll",e),r&&v.removeEventListener("resize",e)}),d==null||d(),(p=g)==null||p.disconnect(),g=null,c&&cancelAnimationFrame(f)}}const Ke=ko,Ue=To,qo=Mo,qe=(n,t,e)=>{const s=new Map,i={platform:Ko,...e},r={...i.platform,_c:s};return xo(n,t,{...i,platform:r})},zo=(n,t,e)=>{let s=n;return e===!0?s=`${t.identifier}:${n}`:typeof e=="string"&&(s=`${e}:${n}`),s},Yo=(n,t,e)=>{const{bubbles:s,cancelable:i,composed:r}=t||{bubbles:!0,cancelable:!0,composed:!0};return t&&Object.assign(e,{originalEvent:t}),new CustomEvent(n,{bubbles:s,cancelable:i,composed:r,detail:e})};function Xo(n){const t=n.getBoundingClientRect(),e=window.innerHeight||document.documentElement.clientHeight,s=window.innerWidth||document.documentElement.clientWidth,i=t.top<=e&&t.top+t.height>0,r=t.left<=s&&t.left+t.width>0;return i&&r}function Go(n,t){var e={};for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&t.indexOf(s)<0&&(e[s]=n[s]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,s=Object.getOwnPropertySymbols(n);i<s.length;i++)t.indexOf(s[i])<0&&Object.prototype.propertyIsEnumerable.call(n,s[i])&&(e[s[i]]=n[s[i]]);return e}const be={debug:!1,logger:console,dispatchEvent:!0,eventPrefix:!0};class Zo{constructor(t,e={}){var s,i,r;this.log=(c,l)=>{this.debug&&(this.logger.groupCollapsed(`%c${this.controller.identifier} %c#${c}`,"color: #3B82F6","color: unset"),this.logger.log(Object.assign({controllerId:this.controllerId},l)),this.logger.groupEnd())},this.warn=c=>{this.logger.warn(`%c${this.controller.identifier} %c${c}`,"color: #3B82F6; font-weight: bold","color: unset")},this.dispatch=(c,l={})=>{if(this.dispatchEvent){const{event:u}=l,d=Go(l,["event"]),h=this.extendedEvent(c,u||null,d);this.targetElement.dispatchEvent(h),this.log("dispatchEvent",Object.assign({eventName:h.type},d))}},this.call=(c,l={})=>{const u=this.controller[c];if(typeof u=="function")return u.call(this.controller,l)},this.extendedEvent=(c,l,u)=>{const{bubbles:d,cancelable:h,composed:g}=l||{bubbles:!0,cancelable:!0,composed:!0};return l&&Object.assign(u,{originalEvent:l}),new CustomEvent(this.composeEventName(c),{bubbles:d,cancelable:h,composed:g,detail:u})},this.composeEventName=c=>{let l=c;return this.eventPrefix===!0?l=`${this.controller.identifier}:${c}`:typeof this.eventPrefix=="string"&&(l=`${this.eventPrefix}:${c}`),l},this.debug=(i=(s=e==null?void 0:e.debug)!==null&&s!==void 0?s:t.application.stimulusUseDebug)!==null&&i!==void 0?i:be.debug,this.logger=(r=e==null?void 0:e.logger)!==null&&r!==void 0?r:be.logger,this.controller=t,this.controllerId=t.element.id||t.element.dataset.id,this.targetElement=(e==null?void 0:e.element)||t.element;const{dispatchEvent:o,eventPrefix:a}=Object.assign({},be,e);Object.assign(this,{dispatchEvent:o,eventPrefix:a}),this.controllerInitialize=t.initialize.bind(t),this.controllerConnect=t.connect.bind(t),this.controllerDisconnect=t.disconnect.bind(t)}}const Jo={events:["click","touchend"],onlyVisible:!0,dispatchEvent:!0,eventPrefix:!0},Hs=(n,t={})=>{const e=n,{onlyVisible:s,dispatchEvent:i,events:r,eventPrefix:o}=Object.assign({},Jo,t),a=d=>{const h=(t==null?void 0:t.element)||e.element;if(!(h.contains(d.target)||!Xo(h)&&s)&&(e.clickOutside&&e.clickOutside(d),i)){const g=zo("click:outside",e,o),f=Yo(g,d,{controller:e});h.dispatchEvent(f)}},c=()=>{r==null||r.forEach(d=>{window.addEventListener(d,a,!0)})},l=()=>{r==null||r.forEach(d=>{window.removeEventListener(d,a,!0)})},u=e.disconnect.bind(e);return Object.assign(e,{disconnect(){l(),u()}}),c(),[c,l]};class Qo extends N{}Qo.debounces=[];const ta=200,Jn=(n,t=ta)=>{let e=null;return function(){const s=Array.from(arguments),i=this,r=s.map(a=>a.params),o=()=>(s.forEach((a,c)=>a.params=r[c]),n.apply(i,s));e&&clearTimeout(e),e=setTimeout(o,t)}},ea=(n,t)=>{const e=n;e.constructor.debounces.forEach(i=>{if(typeof i=="string"&&(e[i]=Jn(e[i],t==null?void 0:t.wait)),typeof i=="object"){const{name:r,wait:o}=i;if(!r)return;e[r]=Jn(e[r],o||(t==null?void 0:t.wait))}})};class na extends Zo{constructor(t,e={}){super(t,e),this.observe=()=>{try{this.observer.observe(this.targetElement,this.options)}catch(s){this.controller.application.handleError(s,"At a minimum, one of childList, attributes, and/or characterData must be true",{})}},this.unobserve=()=>{this.observer.disconnect()},this.mutation=s=>{this.call("mutate",s),this.log("mutate",{entries:s}),this.dispatch("mutate",{entries:s})},this.targetElement=(e==null?void 0:e.element)||t.element,this.controller=t,this.options=e,this.observer=new MutationObserver(this.mutation),this.enhanceController(),this.observe()}enhanceController(){const t=this.controller.disconnect.bind(this.controller),e=()=>{this.unobserve(),t()};Object.assign(this.controller,{disconnect:e})}}const Vs=(n,t={})=>{const e=new na(n,t);return[e.observe,e.unobserve]};class sa extends N{}sa.throttles=[];class ia extends $t()({targets:{anchor:null,options:null,popover:null,searchInput:HTMLInputElement},values:{clamped:Boolean,placement:String}}){constructor(){super(...arguments),this.changedIds=new Set,this.clickHandlers=[]}setupClickHandlers(){const t=()=>this.toggle();for(const e of this.clickHandlers)e();this.clickHandlers=[];for(const e of this.anchorTarget.querySelectorAll('button, [tabindex]:not([tabindex="-1"])'))e.addEventListener("click",t),this.clickHandlers.push(()=>e.removeEventListener("click",t))}checkboxClicked(t){const s=t.target.value;this.changedIds.has(s)?this.changedIds.delete(s):this.changedIds.add(s),this.dispatch("clicked",{detail:s})}clickOutside(){this.element.open=!1,this.setupAutoUpdate(),this.close()}close(){this.hasSearchInputTarget&&(this.searchInputTarget.value=""),this.changedIds.size>0&&(this.dispatch("changed"),this.changedIds.clear())}connect(){Hs(this),Vs(this,{childList:!0,subtree:!0}),this.setupAutoUpdate(),this.setupClickHandlers()}disconnect(){var t;(t=this.unsubAutoUpdate)==null||t.call(this)}setupAutoUpdate(){var e;if(!this.element.open){(e=this.unsubAutoUpdate)==null||e.call(this);return}const t=()=>{const s=this.optionsTarget,i=this.hasSearchInputTarget?this.searchInputTarget:null,r=this.clampedValue;qe(this.anchorTarget,this.popoverTarget,{middleware:[Ne(6),Ue(),Ke({padding:6}),qo({apply({availableHeight:o}){const a=i?i.getBoundingClientRect().height:0;let c=o-a-6;r&&c>400&&(c=400),Object.assign(s.style,{maxHeight:`${c}px`})}})],placement:this.placementValue,strategy:"fixed"}).then(({x:o,y:a})=>{Object.assign(this.popoverTarget.style,{left:`${o}px`,top:`${a}px`})})};t(),this.unsubAutoUpdate=We(this.anchorTarget,this.popoverTarget,t)}toggle(){this.element.open=!this.element.open,this.setupAutoUpdate()}}const ra=Object.freeze(Object.defineProperty({__proto__:null,default:ia},Symbol.toStringTag,{value:"Module"}));function oa(n){if(Array.isArray(n)){for(var t=0,e=Array(n.length);t<n.length;t++)e[t]=n[t];return e}else return Array.from(n)}var ze=!1;if(typeof window<"u"){var Qn={get passive(){ze=!0}};window.addEventListener("testPassive",null,Qn),window.removeEventListener("testPassive",null,Qn)}var Jt=typeof window<"u"&&window.navigator&&window.navigator.platform&&(/iP(ad|hone|od)/.test(window.navigator.platform)||window.navigator.platform==="MacIntel"&&window.navigator.maxTouchPoints>1),J=[],Qt=!1,Ws=-1,St=void 0,G=void 0,Ct=void 0,Ks=function(t){return J.some(function(e){return!!(e.options.allowTouchMove&&e.options.allowTouchMove(t))})},te=function(t){var e=t||window.event;return Ks(e.target)||e.touches.length>1?!0:(e.preventDefault&&e.preventDefault(),!1)},aa=function(t){if(Ct===void 0){var e=!!t&&t.reserveScrollBarGap===!0,s=window.innerWidth-document.documentElement.clientWidth;if(e&&s>0){var i=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right"),10);Ct=document.body.style.paddingRight,document.body.style.paddingRight=i+s+"px"}}St===void 0&&(St=document.body.style.overflow,document.body.style.overflow="hidden")},ca=function(){Ct!==void 0&&(document.body.style.paddingRight=Ct,Ct=void 0),St!==void 0&&(document.body.style.overflow=St,St=void 0)},la=function(){return window.requestAnimationFrame(function(){if(G===void 0){G={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left};var t=window,e=t.scrollY,s=t.scrollX,i=t.innerHeight;document.body.style.position="fixed",document.body.style.top=-e,document.body.style.left=-s,setTimeout(function(){return window.requestAnimationFrame(function(){var r=i-window.innerHeight;r&&e>=i&&(document.body.style.top=-(e+r))})},300)}})},ua=function(){if(G!==void 0){var t=-parseInt(document.body.style.top,10),e=-parseInt(document.body.style.left,10);document.body.style.position=G.position,document.body.style.top=G.top,document.body.style.left=G.left,window.scrollTo(e,t),G=void 0}},da=function(t){return t?t.scrollHeight-t.scrollTop<=t.clientHeight:!1},ha=function(t,e){var s=t.targetTouches[0].clientY-Ws;return Ks(t.target)?!1:e&&e.scrollTop===0&&s>0||da(e)&&s<0?te(t):(t.stopPropagation(),!0)},fa=function(t,e){if(!t){console.error("disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.");return}if(!J.some(function(i){return i.targetElement===t})){var s={targetElement:t,options:e||{}};J=[].concat(oa(J),[s]),Jt?la():aa(e),Jt&&(t.ontouchstart=function(i){i.targetTouches.length===1&&(Ws=i.targetTouches[0].clientY)},t.ontouchmove=function(i){i.targetTouches.length===1&&ha(i,t)},Qt||(document.addEventListener("touchmove",te,ze?{passive:!1}:void 0),Qt=!0))}},ma=function(t){if(!t){console.error("enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.");return}J=J.filter(function(e){return e.targetElement!==t}),Jt&&(t.ontouchstart=null,t.ontouchmove=null,Qt&&J.length===0&&(document.removeEventListener("touchmove",te,ze?{passive:!1}:void 0),Qt=!1)),Jt?ua():ca()};class pa extends $t()({targets:{dialog:HTMLDialogElement}}){close(){this.dialogTarget.open&&(this.dialogTarget.close(),ma(this.dialogTarget))}disconnect(){this.close()}open(){this.dialogTarget.showModal(),fa(this.dialogTarget,{reserveScrollBarGap:!0})}triggerClick(){this.dialogTarget.open?this.close():this.open()}windowClick(t){t.target===this.dialogTarget&&this.close()}}const ga=Object.freeze(Object.defineProperty({__proto__:null,default:pa},Symbol.toStringTag,{value:"Module"}));async function ba(n,t=null){n.classList.remove("hidden"),await Us("enter",n,t)}async function va(n,t=null){await Us("leave",n,t),n.classList.add("hidden")}async function Us(n,t,e){const s=t.dataset,i=e?`${e}-${n}`:n;let r=`transition${n.charAt(0).toUpperCase()+n.slice(1)}`;const o=s[r]?s[r].split(" "):[i],a=s[`${r}Start`]?s[`${r}Start`].split(" "):[`${i}-start`],c=s[`${r}End`]?s[`${r}End`].split(" "):[`${i}-end`];ve(t,o),ve(t,a),await ya(),ye(t,a),ve(t,c),await wa(t),ye(t,c),ye(t,o)}function ve(n,t){n.classList.add(...t)}function ye(n,t){n.classList.remove(...t)}function ya(){return new Promise(n=>{requestAnimationFrame(()=>{requestAnimationFrame(n)})})}function wa(n){return new Promise(t=>{const e=getComputedStyle(n).transitionDuration.split(",")[0],s=Number(e.replace("s",""))*1e3;setTimeout(()=>{t()},s)})}const ee=class ee extends N{async connect(){await this.show();const t=()=>{};setTimeout(()=>{this.hide().then(t).catch(t)},this.timerValue)}async disconnect(){await this.hide()}async hide(){await va(this.element),this.hasHiddenClass?this.element.classList.add(this.hiddenClass):this.element.classList.add("hidden"),this.element.remove()}async show(){this.hasHiddenClass?this.element.classList.remove(this.hiddenClass):this.element.classList.remove("hidden"),await ba(this.element)}};ee.classes=["ariadne-hidden"],ee.values={timer:{default:4e3,type:Number}};let De=ee;const Ea=Object.freeze(Object.defineProperty({__proto__:null,default:De},Symbol.toStringTag,{value:"Module"}));class Aa extends $t()({targets:{anchor:null,popover:null},values:{clamped:Boolean,placement:String}}){constructor(){super(...arguments),this.changedIds=new Set,this.clickHandlers=[]}setupClickHandlers(){const t=()=>this.toggle();for(const e of this.clickHandlers)e();this.clickHandlers=[];for(const e of this.anchorTarget.querySelectorAll('button, [tabindex]:not([tabindex="-1"])'))e.addEventListener("click",t),this.clickHandlers.push(()=>e.removeEventListener("click",t))}checkboxClicked(t){const s=t.target.value;this.changedIds.has(s)?this.changedIds.delete(s):this.changedIds.add(s),this.dispatch("clicked",{detail:s})}clickOutside(){this.setupAutoUpdate(),this.close()}close(){this.element.open=!1}connect(){Hs(this),Vs(this,{childList:!0,subtree:!0}),this.setupAutoUpdate(),this.setupClickHandlers()}disconnect(){var t;(t=this.unsubAutoUpdate)==null||t.call(this)}setupAutoUpdate(){var e;if(!this.element.open){(e=this.unsubAutoUpdate)==null||e.call(this);return}const t=()=>{qe(this.anchorTarget,this.popoverTarget,{middleware:[Ne(6),Ue(),Ke({padding:6})],placement:this.placementValue,strategy:"fixed"}).then(({x:s,y:i})=>{Object.assign(this.popoverTarget.style,{left:`${s}px`,top:`${i}px`})})};t(),this.unsubAutoUpdate=We(this.anchorTarget,this.popoverTarget,t)}toggle(){this.element.open=!this.element.open,this.setupAutoUpdate()}}const xa=Object.freeze(Object.defineProperty({__proto__:null,default:Aa},Symbol.toStringTag,{value:"Module"}));class Ta extends $t()({targets:{button:HTMLButtonElement,popover:HTMLElement},values:{placement:String}}){connect(){this.popoverTarget.addEventListener("toggle",t=>{t.newState==="open"&&this.updatePosition()})}updatePosition(){We(this.buttonTarget,this.popoverTarget,()=>{qe(this.buttonTarget,this.popoverTarget,{placement:this.placementValue,middleware:[Ne(5),Ue(),Ke({padding:5})]}).then(({x:t,y:e})=>{Object.assign(this.target.style,{left:`${t}px`,top:`${e}px`})})})}}const Oa=Object.freeze(Object.defineProperty({__proto__:null,default:Ta},Symbol.toStringTag,{value:"Module"})),ne=class ne extends N{connect(){ea(this)}save(){this.hasFormTarget?this.formTarget.requestSubmit():this.element.requestSubmit()}};ne.debounces=["save"],ne.targets=["form"];let _e=ne;const ka=Object.freeze(Object.defineProperty({__proto__:null,default:_e},Symbol.toStringTag,{value:"Module"})),oe=Wr.start();oe.debug=!1;window.Stimulus=oe;const Ma=Object.assign({"../../components/ariadne/ui/clipboard_copy/component.ts":mo,"../../components/ariadne/ui/combobox/component.ts":ra,"../../components/ariadne/ui/dialog/component.ts":ga,"../../components/ariadne/ui/flash/component.ts":Ea,"../../components/ariadne/ui/overlay/component.ts":xa,"../../components/ariadne/ui/popover/component.ts":Oa});for(const[n,t]of Object.entries(Ma)){const e=n.split("/"),s=e.slice(3,e.length-1).join("-").replaceAll("_","-").toLocaleLowerCase();oe.register(s,t.default)}const Sa=Object.assign({"/controllers/autosubmittable_controller.ts":ka});for(const[n,t]of Object.entries(Sa)){const e=n.split("/"),s=e.slice(2,e.length).join("-").replace(".ts","").replaceAll("_","-").toLocaleLowerCase();oe.register(`ariadne-${s}`,t.default)}
98
+ %o`,e,t,s),(i=window.onerror)===null||i===void 0||i.call(window,e,"",0,0,t)}logFormattedMessage(t,e,s={}){s=Object.assign({application:this},s),this.logger.groupCollapsed(`${t} #${e}`),this.logger.log("details:",Object.assign({},s)),this.logger.groupEnd()}}function zr(){return new Promise(n=>{document.readyState=="loading"?document.addEventListener("DOMContentLoaded",()=>n()):n()})}function Yr(n){return $t(n,"classes").reduce((e,s)=>Object.assign(e,Xr(s)),{})}function Xr(n){return{[`${n}Class`]:{get(){const{classes:t}=this;if(t.has(n))return t.get(n);{const e=t.getAttributeName(n);throw new Error(`Missing attribute "${e}"`)}}},[`${n}Classes`]:{get(){return this.classes.getAll(n)}},[`has${Bt(n)}Class`]:{get(){return this.classes.has(n)}}}}function Gr(n){return $t(n,"outlets").reduce((e,s)=>Object.assign(e,Zr(s)),{})}function Wn(n,t,e){return n.application.getControllerForElementAndIdentifier(t,e)}function Kn(n,t,e){let s=Wn(n,t,e);if(s||(n.application.router.proposeToConnectScopeForElementAndIdentifier(t,e),s=Wn(n,t,e),s))return s}function Zr(n){const t=Se(n);return{[`${t}Outlet`]:{get(){const e=this.outlets.find(n),s=this.outlets.getSelectorForOutletName(n);if(e){const i=Kn(this,e,n);if(i)return i;throw new Error(`The provided outlet element is missing an outlet controller "${n}" instance for host controller "${this.identifier}"`)}throw new Error(`Missing outlet element "${n}" for host controller "${this.identifier}". Stimulus couldn't find a matching outlet element using selector "${s}".`)}},[`${t}Outlets`]:{get(){const e=this.outlets.findAll(n);return e.length>0?e.map(s=>{const i=Kn(this,s,n);if(i)return i;console.warn(`The provided outlet element is missing an outlet controller "${n}" instance for host controller "${this.identifier}"`,s)}).filter(s=>s):[]}},[`${t}OutletElement`]:{get(){const e=this.outlets.find(n),s=this.outlets.getSelectorForOutletName(n);if(e)return e;throw new Error(`Missing outlet element "${n}" for host controller "${this.identifier}". Stimulus couldn't find a matching outlet element using selector "${s}".`)}},[`${t}OutletElements`]:{get(){return this.outlets.findAll(n)}},[`has${Bt(t)}Outlet`]:{get(){return this.outlets.has(n)}}}}function Jr(n){return $t(n,"targets").reduce((e,s)=>Object.assign(e,Qr(s)),{})}function Qr(n){return{[`${n}Target`]:{get(){const t=this.targets.find(n);if(t)return t;throw new Error(`Missing target element "${n}" for "${this.identifier}" controller`)}},[`${n}Targets`]:{get(){return this.targets.findAll(n)}},[`has${Bt(n)}Target`]:{get(){return this.targets.has(n)}}}}function to(n){const t=Tr(n,"values"),e={valueDescriptorMap:{get(){return t.reduce((s,i)=>{const r=Cs(i,this.identifier),o=this.data.getAttributeNameForKey(r.key);return Object.assign(s,{[o]:r})},{})}}};return t.reduce((s,i)=>Object.assign(s,eo(i)),e)}function eo(n,t){const e=Cs(n,t),{key:s,name:i,reader:r,writer:o}=e;return{[i]:{get(){const a=this.data.get(s);return a!==null?r(a):e.defaultValue},set(a){a===void 0?this.data.delete(s):this.data.set(s,o(a))}},[`has${Bt(i)}`]:{get(){return this.data.has(s)||e.hasCustomDefaultValue}}}}function Cs([n,t],e){return ro({controller:e,token:n,typeDefinition:t})}function Yt(n){switch(n){case Array:return"array";case Boolean:return"boolean";case Number:return"number";case Object:return"object";case String:return"string"}}function Dt(n){switch(typeof n){case"boolean":return"boolean";case"number":return"number";case"string":return"string"}if(Array.isArray(n))return"array";if(Object.prototype.toString.call(n)==="[object Object]")return"object"}function no(n){const{controller:t,token:e,typeObject:s}=n,i=In(s.type),r=In(s.default),o=i&&r,a=i&&!r,c=!i&&r,l=Yt(s.type),u=Dt(n.typeObject.default);if(a)return l;if(c)return u;if(l!==u){const d=t?`${t}.${e}`:e;throw new Error(`The specified default value for the Stimulus Value "${d}" must match the defined type "${l}". The provided default value of "${s.default}" is of type "${u}".`)}if(o)return l}function so(n){const{controller:t,token:e,typeDefinition:s}=n,r=no({controller:t,token:e,typeObject:s}),o=Dt(s),a=Yt(s),c=r||o||a;if(c)return c;const l=t?`${t}.${s}`:e;throw new Error(`Unknown value type "${l}" for "${e}" value`)}function io(n){const t=Yt(n);if(t)return Un[t];const e=Ce(n,"default"),s=Ce(n,"type"),i=n;if(e)return i.default;if(s){const{type:r}=i,o=Yt(r);if(o)return Un[o]}return n}function ro(n){const{token:t,typeDefinition:e}=n,s=`${As(t)}-value`,i=so(n);return{type:i,key:s,name:Ie(s),get defaultValue(){return io(e)},get hasCustomDefaultValue(){return Dt(e)!==void 0},reader:oo[i],writer:qn[i]||qn.default}}const Un={get array(){return[]},boolean:!1,number:0,get object(){return{}},string:""},oo={array(n){const t=JSON.parse(n);if(!Array.isArray(t))throw new TypeError(`expected value of type "array" but instead got value "${n}" of type "${Dt(t)}"`);return t},boolean(n){return!(n=="0"||String(n).toLowerCase()=="false")},number(n){return Number(n.replace(/_/g,""))},object(n){const t=JSON.parse(n);if(t===null||typeof t!="object"||Array.isArray(t))throw new TypeError(`expected value of type "object" but instead got value "${n}" of type "${Dt(t)}"`);return t},string(n){return n}},qn={default:ao,array:zn,object:zn};function zn(n){return JSON.stringify(n)}function ao(n){return`${n}`}class I{constructor(t){this.context=t}static get shouldLoad(){return!0}static afterLoad(t,e){}get application(){return this.context.application}get scope(){return this.context.scope}get element(){return this.scope.element}get identifier(){return this.scope.identifier}get targets(){return this.scope.targets}get outlets(){return this.scope.outlets}get classes(){return this.scope.classes}get data(){return this.scope.data}initialize(){}connect(){}disconnect(){}dispatch(t,{target:e=this.element,detail:s={},prefix:i=this.identifier,bubbles:r=!0,cancelable:o=!0}={}){const a=i?`${i}:${t}`:t,c=new CustomEvent(a,{detail:s,bubbles:r,cancelable:o});return e.dispatchEvent(c),c}}I.blessings=[Yr,Jr,to,Gr];I.targets=[];I.outlets=[];I.values={};function mt(){return function({targets:t,values:e}={}){const i=class i extends I{};i.targets=Object.keys(t??{}),i.values=e??{};let s=i;return s}}function co(n){const t=document.createElement("pre");return t.style.width="1px",t.style.height="1px",t.style.position="fixed",t.style.top="5px",t.textContent=n,t}function Ls(n){if("clipboard"in navigator)return navigator.clipboard.writeText(n.textContent||"");const t=getSelection();if(t==null)return Promise.reject(new Error);t.removeAllRanges();const e=document.createRange();return e.selectNodeContents(n),t.addRange(e),document.execCommand("copy"),t.removeAllRanges(),Promise.resolve()}function Fe(n){if("clipboard"in navigator)return navigator.clipboard.writeText(n);const t=document.body;if(!t)return Promise.reject(new Error);const e=co(n);return t.appendChild(e),Ls(e),t.removeChild(e),Promise.resolve()}async function Fs(n){const t=n.getAttribute("for"),e=n.getAttribute("value");function s(){n.dispatchEvent(new CustomEvent("clipboard-copy",{bubbles:!0}))}if(n.getAttribute("aria-disabled")!=="true"){if(e)await Fe(e),s();else if(t){const i="getRootNode"in Element.prototype?n.getRootNode():n.ownerDocument;if(!(i instanceof Document||"ShadowRoot"in window&&i instanceof ShadowRoot))return;const r=i.getElementById(t);r&&(await lo(r),s())}}}function lo(n){return n instanceof HTMLInputElement||n instanceof HTMLTextAreaElement?Fe(n.value):n instanceof HTMLAnchorElement&&n.hasAttribute("href")?Fe(n.href):Ls(n)}function uo(n){const t=n.currentTarget;t instanceof HTMLElement&&Fs(t)}function Ds(n){if(n.key===" "||n.key==="Enter"){const t=n.currentTarget;t instanceof HTMLElement&&(n.preventDefault(),Fs(t))}}function ho(n){n.currentTarget.addEventListener("keydown",Ds)}function fo(n){n.currentTarget.removeEventListener("keydown",Ds)}class mo extends HTMLElement{static define(t="clipboard-copy",e=customElements){return e.define(t,this),this}constructor(){super(),this.addEventListener("click",uo),this.addEventListener("focus",ho),this.addEventListener("blur",fo)}connectedCallback(){this.hasAttribute("tabindex")||this.setAttribute("tabindex","0"),this.hasAttribute("role")||this.setAttribute("role","button")}get value(){return this.getAttribute("value")||""}set value(t){this.setAttribute("value",t)}}const Yn=typeof globalThis<"u"?globalThis:window;try{Yn.ClipboardCopyElement=mo.define()}catch(n){if(!(Yn.DOMException&&n instanceof DOMException&&n.name==="NotSupportedError")&&!(n instanceof ReferenceError))throw n}const po=2e3;class go extends mt()({targets:{initial:HTMLElement,confirmed:null}}){connect(){this.clipboardCopyElementTimers=new WeakMap}copy(t){const e=t.target,s=this.clipboardCopyElementTimers.get(e);s?(clearTimeout(s),this.clipboardCopyElementTimers.delete(e)):this.showConfirm(),this.clipboardCopyElementTimers.set(e,window.setTimeout(()=>{this.showInitial(),this.clipboardCopyElementTimers.delete(e)},po))}showConfirm(){this.hasConfirmedTarget&&(this.confirmedTarget.classList.remove("hidden"),this.confirmedTarget.classList.add("inline-block"),this.initialTarget.classList.add("hidden"))}showInitial(){this.initialTarget.classList.remove("hidden"),this.initialTarget.classList.add("inline-block"),this.hasConfirmedTarget&&this.confirmedTarget.classList.add("hidden")}}const bo=Object.freeze(Object.defineProperty({__proto__:null,default:go},Symbol.toStringTag,{value:"Module"})),ht=Math.min,S=Math.max,Xt=Math.round,Wt=Math.floor,W=n=>({x:n,y:n}),vo={left:"right",right:"left",bottom:"top",top:"bottom"},yo={start:"end",end:"start"};function Xn(n,t,e){return S(n,ht(t,e))}function Pt(n,t){return typeof n=="function"?n(t):n}function K(n){return n.split("-")[0]}function Rt(n){return n.split("-")[1]}function _s(n){return n==="x"?"y":"x"}function Bs(n){return n==="y"?"height":"width"}function Nt(n){return["top","bottom"].includes(K(n))?"y":"x"}function $s(n){return _s(Nt(n))}function wo(n,t,e){e===void 0&&(e=!1);const s=Rt(n),i=$s(n),r=Bs(i);let o=i==="x"?s===(e?"end":"start")?"right":"left":s==="start"?"bottom":"top";return t.reference[r]>t.floating[r]&&(o=Gt(o)),[o,Gt(o)]}function Eo(n){const t=Gt(n);return[De(n),t,De(t)]}function De(n){return n.replace(/start|end/g,t=>yo[t])}function Ao(n,t,e){const s=["left","right"],i=["right","left"],r=["top","bottom"],o=["bottom","top"];switch(n){case"top":case"bottom":return e?t?i:s:t?s:i;case"left":case"right":return t?r:o;default:return[]}}function xo(n,t,e,s){const i=Rt(n);let r=Ao(K(n),e==="start",s);return i&&(r=r.map(o=>o+"-"+i),t&&(r=r.concat(r.map(De)))),r}function Gt(n){return n.replace(/left|right|bottom|top/g,t=>vo[t])}function To(n){return{top:0,right:0,bottom:0,left:0,...n}}function Oo(n){return typeof n!="number"?To(n):{top:n,right:n,bottom:n,left:n}}function Zt(n){return{...n,top:n.y,left:n.x,right:n.x+n.width,bottom:n.y+n.height}}function Gn(n,t,e){let{reference:s,floating:i}=n;const r=Nt(t),o=$s(t),a=Bs(o),c=K(t),l=r==="y",u=s.x+s.width/2-i.width/2,d=s.y+s.height/2-i.height/2,h=s[a]/2-i[a]/2;let p;switch(c){case"top":p={x:u,y:s.y-i.height};break;case"bottom":p={x:u,y:s.y+s.height};break;case"right":p={x:s.x+s.width,y:d};break;case"left":p={x:s.x-i.width,y:d};break;default:p={x:s.x,y:s.y}}switch(Rt(t)){case"start":p[o]-=h*(e&&l?-1:1);break;case"end":p[o]+=h*(e&&l?-1:1);break}return p}const ko=async(n,t,e)=>{const{placement:s="bottom",strategy:i="absolute",middleware:r=[],platform:o}=e,a=r.filter(Boolean),c=await(o.isRTL==null?void 0:o.isRTL(t));let l=await o.getElementRects({reference:n,floating:t,strategy:i}),{x:u,y:d}=Gn(l,s,c),h=s,p={},f=0;for(let m=0;m<a.length;m++){const{name:v,fn:g}=a[m],{x:y,y:E,data:b,reset:w}=await g({x:u,y:d,initialPlacement:s,placement:h,strategy:i,middlewareData:p,rects:l,platform:o,elements:{reference:n,floating:t}});u=y??u,d=E??d,p={...p,[v]:{...p[v],...b}},w&&f<=50&&(f++,typeof w=="object"&&(w.placement&&(h=w.placement),w.rects&&(l=w.rects===!0?await o.getElementRects({reference:n,floating:t,strategy:i}):w.rects),{x:u,y:d}=Gn(l,h,c)),m=-1)}return{x:u,y:d,placement:h,strategy:i,middlewareData:p}};async function Ve(n,t){var e;t===void 0&&(t={});const{x:s,y:i,platform:r,rects:o,elements:a,strategy:c}=n,{boundary:l="clippingAncestors",rootBoundary:u="viewport",elementContext:d="floating",altBoundary:h=!1,padding:p=0}=Pt(t,n),f=Oo(p),v=a[h?d==="floating"?"reference":"floating":d],g=Zt(await r.getClippingRect({element:(e=await(r.isElement==null?void 0:r.isElement(v)))==null||e?v:v.contextElement||await(r.getDocumentElement==null?void 0:r.getDocumentElement(a.floating)),boundary:l,rootBoundary:u,strategy:c})),y=d==="floating"?{...o.floating,x:s,y:i}:o.reference,E=await(r.getOffsetParent==null?void 0:r.getOffsetParent(a.floating)),b=await(r.isElement==null?void 0:r.isElement(E))?await(r.getScale==null?void 0:r.getScale(E))||{x:1,y:1}:{x:1,y:1},w=Zt(r.convertOffsetParentRelativeRectToViewportRelativeRect?await r.convertOffsetParentRelativeRectToViewportRelativeRect({elements:a,rect:y,offsetParent:E,strategy:c}):y);return{top:(g.top-w.top+f.top)/b.y,bottom:(w.bottom-g.bottom+f.bottom)/b.y,left:(g.left-w.left+f.left)/b.x,right:(w.right-g.right+f.right)/b.x}}const Mo=function(n){return n===void 0&&(n={}),{name:"flip",options:n,async fn(t){var e,s;const{placement:i,middlewareData:r,rects:o,initialPlacement:a,platform:c,elements:l}=t,{mainAxis:u=!0,crossAxis:d=!0,fallbackPlacements:h,fallbackStrategy:p="bestFit",fallbackAxisSideDirection:f="none",flipAlignment:m=!0,...v}=Pt(n,t);if((e=r.arrow)!=null&&e.alignmentOffset)return{};const g=K(i),y=K(a)===a,E=await(c.isRTL==null?void 0:c.isRTL(l.floating)),b=h||(y||!m?[Gt(a)]:Eo(a));!h&&f!=="none"&&b.push(...xo(a,m,f,E));const w=[a,...b],A=await Ve(t,v),B=[];let V=((s=r.flip)==null?void 0:s.overflows)||[];if(u&&B.push(A[g]),d){const q=wo(i,o,E);B.push(A[q[0]],A[q[1]])}if(V=[...V,{placement:i,overflows:B}],!B.every(q=>q<=0)){var pt,Ze;const q=(((pt=r.flip)==null?void 0:pt.index)||0)+1,Qe=w[q];if(Qe)return{data:{index:q,overflows:V},reset:{placement:Qe}};let gt=(Ze=V.filter(tt=>tt.overflows[0]<=0).sort((tt,et)=>tt.overflows[1]-et.overflows[1])[0])==null?void 0:Ze.placement;if(!gt)switch(p){case"bestFit":{var Je;const tt=(Je=V.map(et=>[et.placement,et.overflows.filter(bt=>bt>0).reduce((bt,Xs)=>bt+Xs,0)]).sort((et,bt)=>et[1]-bt[1])[0])==null?void 0:Je[0];tt&&(gt=tt);break}case"initialPlacement":gt=a;break}if(i!==gt)return{reset:{placement:gt}}}return{}}}};async function So(n,t){const{placement:e,platform:s,elements:i}=n,r=await(s.isRTL==null?void 0:s.isRTL(i.floating)),o=K(e),a=Rt(e),c=Nt(e)==="y",l=["left","top"].includes(o)?-1:1,u=r&&c?-1:1,d=Pt(t,n);let{mainAxis:h,crossAxis:p,alignmentAxis:f}=typeof d=="number"?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...d};return a&&typeof f=="number"&&(p=a==="end"?f*-1:f),c?{x:p*u,y:h*l}:{x:h*l,y:p*u}}const He=function(n){return n===void 0&&(n=0),{name:"offset",options:n,async fn(t){var e,s;const{x:i,y:r,placement:o,middlewareData:a}=t,c=await So(t,n);return o===((e=a.offset)==null?void 0:e.placement)&&(s=a.arrow)!=null&&s.alignmentOffset?{}:{x:i+c.x,y:r+c.y,data:{...c,placement:o}}}}},Co=function(n){return n===void 0&&(n={}),{name:"shift",options:n,async fn(t){const{x:e,y:s,placement:i}=t,{mainAxis:r=!0,crossAxis:o=!1,limiter:a={fn:v=>{let{x:g,y}=v;return{x:g,y}}},...c}=Pt(n,t),l={x:e,y:s},u=await Ve(t,c),d=Nt(K(i)),h=_s(d);let p=l[h],f=l[d];if(r){const v=h==="y"?"top":"left",g=h==="y"?"bottom":"right",y=p+u[v],E=p-u[g];p=Xn(y,p,E)}if(o){const v=d==="y"?"top":"left",g=d==="y"?"bottom":"right",y=f+u[v],E=f-u[g];f=Xn(y,f,E)}const m=a.fn({...t,[h]:p,[d]:f});return{...m,data:{x:m.x-e,y:m.y-s}}}}},Lo=function(n){return n===void 0&&(n={}),{name:"size",options:n,async fn(t){const{placement:e,rects:s,platform:i,elements:r}=t,{apply:o=()=>{},...a}=Pt(n,t),c=await Ve(t,a),l=K(e),u=Rt(e),d=Nt(e)==="y",{width:h,height:p}=s.floating;let f,m;l==="top"||l==="bottom"?(f=l,m=u===(await(i.isRTL==null?void 0:i.isRTL(r.floating))?"start":"end")?"left":"right"):(m=l,f=u==="end"?"top":"bottom");const v=p-c[f],g=h-c[m],y=!t.middlewareData.shift;let E=v,b=g;if(d){const A=h-c.left-c.right;b=u||y?ht(g,A):A}else{const A=p-c.top-c.bottom;E=u||y?ht(v,A):A}if(y&&!u){const A=S(c.left,0),B=S(c.right,0),V=S(c.top,0),pt=S(c.bottom,0);d?b=h-2*(A!==0||B!==0?A+B:S(c.left,c.right)):E=p-2*(V!==0||pt!==0?V+pt:S(c.top,c.bottom))}await o({...t,availableWidth:b,availableHeight:E});const w=await i.getDimensions(r.floating);return h!==w.width||p!==w.height?{reset:{rects:!0}}:{}}}};function U(n){return Ps(n)?(n.nodeName||"").toLowerCase():"#document"}function C(n){var t;return(n==null||(t=n.ownerDocument)==null?void 0:t.defaultView)||window}function j(n){var t;return(t=(Ps(n)?n.ownerDocument:n.document)||window.document)==null?void 0:t.documentElement}function Ps(n){return n instanceof Node||n instanceof C(n).Node}function N(n){return n instanceof Element||n instanceof C(n).Element}function $(n){return n instanceof HTMLElement||n instanceof C(n).HTMLElement}function Zn(n){return typeof ShadowRoot>"u"?!1:n instanceof ShadowRoot||n instanceof C(n).ShadowRoot}function It(n){const{overflow:t,overflowX:e,overflowY:s,display:i}=D(n);return/auto|scroll|overlay|hidden|clip/.test(t+s+e)&&!["inline","contents"].includes(i)}function Fo(n){return["table","td","th"].includes(U(n))}function We(n){const t=Ke(),e=D(n);return e.transform!=="none"||e.perspective!=="none"||(e.containerType?e.containerType!=="normal":!1)||!t&&(e.backdropFilter?e.backdropFilter!=="none":!1)||!t&&(e.filter?e.filter!=="none":!1)||["transform","perspective","filter"].some(s=>(e.willChange||"").includes(s))||["paint","layout","strict","content"].some(s=>(e.contain||"").includes(s))}function Do(n){let t=ft(n);for(;$(t)&&!ie(t);){if(We(t))return t;t=ft(t)}return null}function Ke(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function ie(n){return["html","body","#document"].includes(U(n))}function D(n){return C(n).getComputedStyle(n)}function re(n){return N(n)?{scrollLeft:n.scrollLeft,scrollTop:n.scrollTop}:{scrollLeft:n.pageXOffset,scrollTop:n.pageYOffset}}function ft(n){if(U(n)==="html")return n;const t=n.assignedSlot||n.parentNode||Zn(n)&&n.host||j(n);return Zn(t)?t.host:t}function Rs(n){const t=ft(n);return ie(t)?n.ownerDocument?n.ownerDocument.body:n.body:$(t)&&It(t)?t:Rs(t)}function _t(n,t,e){var s;t===void 0&&(t=[]),e===void 0&&(e=!0);const i=Rs(n),r=i===((s=n.ownerDocument)==null?void 0:s.body),o=C(i);return r?t.concat(o,o.visualViewport||[],It(i)?i:[],o.frameElement&&e?_t(o.frameElement):[]):t.concat(i,_t(i,[],e))}function Ns(n){const t=D(n);let e=parseFloat(t.width)||0,s=parseFloat(t.height)||0;const i=$(n),r=i?n.offsetWidth:e,o=i?n.offsetHeight:s,a=Xt(e)!==r||Xt(s)!==o;return a&&(e=r,s=o),{width:e,height:s,$:a}}function Ue(n){return N(n)?n:n.contextElement}function ut(n){const t=Ue(n);if(!$(t))return W(1);const e=t.getBoundingClientRect(),{width:s,height:i,$:r}=Ns(t);let o=(r?Xt(e.width):e.width)/s,a=(r?Xt(e.height):e.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!a||!Number.isFinite(a))&&(a=1),{x:o,y:a}}const _o=W(0);function Is(n){const t=C(n);return!Ke()||!t.visualViewport?_o:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Bo(n,t,e){return t===void 0&&(t=!1),!e||t&&e!==C(n)?!1:t}function Q(n,t,e,s){t===void 0&&(t=!1),e===void 0&&(e=!1);const i=n.getBoundingClientRect(),r=Ue(n);let o=W(1);t&&(s?N(s)&&(o=ut(s)):o=ut(n));const a=Bo(r,e,s)?Is(r):W(0);let c=(i.left+a.x)/o.x,l=(i.top+a.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(r){const h=C(r),p=s&&N(s)?C(s):s;let f=h,m=f.frameElement;for(;m&&s&&p!==f;){const v=ut(m),g=m.getBoundingClientRect(),y=D(m),E=g.left+(m.clientLeft+parseFloat(y.paddingLeft))*v.x,b=g.top+(m.clientTop+parseFloat(y.paddingTop))*v.y;c*=v.x,l*=v.y,u*=v.x,d*=v.y,c+=E,l+=b,f=C(m),m=f.frameElement}}return Zt({width:u,height:d,x:c,y:l})}const $o=[":popover-open",":modal"];function js(n){return $o.some(t=>{try{return n.matches(t)}catch{return!1}})}function Po(n){let{elements:t,rect:e,offsetParent:s,strategy:i}=n;const r=i==="fixed",o=j(s),a=t?js(t.floating):!1;if(s===o||a&&r)return e;let c={scrollLeft:0,scrollTop:0},l=W(1);const u=W(0),d=$(s);if((d||!d&&!r)&&((U(s)!=="body"||It(o))&&(c=re(s)),$(s))){const h=Q(s);l=ut(s),u.x=h.x+s.clientLeft,u.y=h.y+s.clientTop}return{width:e.width*l.x,height:e.height*l.y,x:e.x*l.x-c.scrollLeft*l.x+u.x,y:e.y*l.y-c.scrollTop*l.y+u.y}}function Ro(n){return Array.from(n.getClientRects())}function Vs(n){return Q(j(n)).left+re(n).scrollLeft}function No(n){const t=j(n),e=re(n),s=n.ownerDocument.body,i=S(t.scrollWidth,t.clientWidth,s.scrollWidth,s.clientWidth),r=S(t.scrollHeight,t.clientHeight,s.scrollHeight,s.clientHeight);let o=-e.scrollLeft+Vs(n);const a=-e.scrollTop;return D(s).direction==="rtl"&&(o+=S(t.clientWidth,s.clientWidth)-i),{width:i,height:r,x:o,y:a}}function Io(n,t){const e=C(n),s=j(n),i=e.visualViewport;let r=s.clientWidth,o=s.clientHeight,a=0,c=0;if(i){r=i.width,o=i.height;const l=Ke();(!l||l&&t==="fixed")&&(a=i.offsetLeft,c=i.offsetTop)}return{width:r,height:o,x:a,y:c}}function jo(n,t){const e=Q(n,!0,t==="fixed"),s=e.top+n.clientTop,i=e.left+n.clientLeft,r=$(n)?ut(n):W(1),o=n.clientWidth*r.x,a=n.clientHeight*r.y,c=i*r.x,l=s*r.y;return{width:o,height:a,x:c,y:l}}function Jn(n,t,e){let s;if(t==="viewport")s=Io(n,e);else if(t==="document")s=No(j(n));else if(N(t))s=jo(t,e);else{const i=Is(n);s={...t,x:t.x-i.x,y:t.y-i.y}}return Zt(s)}function Hs(n,t){const e=ft(n);return e===t||!N(e)||ie(e)?!1:D(e).position==="fixed"||Hs(e,t)}function Vo(n,t){const e=t.get(n);if(e)return e;let s=_t(n,[],!1).filter(a=>N(a)&&U(a)!=="body"),i=null;const r=D(n).position==="fixed";let o=r?ft(n):n;for(;N(o)&&!ie(o);){const a=D(o),c=We(o);!c&&a.position==="fixed"&&(i=null),(r?!c&&!i:!c&&a.position==="static"&&!!i&&["absolute","fixed"].includes(i.position)||It(o)&&!c&&Hs(n,o))?s=s.filter(u=>u!==o):i=a,o=ft(o)}return t.set(n,s),s}function Ho(n){let{element:t,boundary:e,rootBoundary:s,strategy:i}=n;const o=[...e==="clippingAncestors"?Vo(t,this._c):[].concat(e),s],a=o[0],c=o.reduce((l,u)=>{const d=Jn(t,u,i);return l.top=S(d.top,l.top),l.right=ht(d.right,l.right),l.bottom=ht(d.bottom,l.bottom),l.left=S(d.left,l.left),l},Jn(t,a,i));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}}function Wo(n){const{width:t,height:e}=Ns(n);return{width:t,height:e}}function Ko(n,t,e){const s=$(t),i=j(t),r=e==="fixed",o=Q(n,!0,r,t);let a={scrollLeft:0,scrollTop:0};const c=W(0);if(s||!s&&!r)if((U(t)!=="body"||It(i))&&(a=re(t)),s){const d=Q(t,!0,r,t);c.x=d.x+t.clientLeft,c.y=d.y+t.clientTop}else i&&(c.x=Vs(i));const l=o.left+a.scrollLeft-c.x,u=o.top+a.scrollTop-c.y;return{x:l,y:u,width:o.width,height:o.height}}function Qn(n,t){return!$(n)||D(n).position==="fixed"?null:t?t(n):n.offsetParent}function Ws(n,t){const e=C(n);if(!$(n)||js(n))return e;let s=Qn(n,t);for(;s&&Fo(s)&&D(s).position==="static";)s=Qn(s,t);return s&&(U(s)==="html"||U(s)==="body"&&D(s).position==="static"&&!We(s))?e:s||Do(n)||e}const Uo=async function(n){const t=this.getOffsetParent||Ws,e=this.getDimensions;return{reference:Ko(n.reference,await t(n.floating),n.strategy),floating:{x:0,y:0,...await e(n.floating)}}};function qo(n){return D(n).direction==="rtl"}const zo={convertOffsetParentRelativeRectToViewportRelativeRect:Po,getDocumentElement:j,getClippingRect:Ho,getOffsetParent:Ws,getElementRects:Uo,getClientRects:Ro,getDimensions:Wo,getScale:ut,isElement:N,isRTL:qo};function Yo(n,t){let e=null,s;const i=j(n);function r(){var a;clearTimeout(s),(a=e)==null||a.disconnect(),e=null}function o(a,c){a===void 0&&(a=!1),c===void 0&&(c=1),r();const{left:l,top:u,width:d,height:h}=n.getBoundingClientRect();if(a||t(),!d||!h)return;const p=Wt(u),f=Wt(i.clientWidth-(l+d)),m=Wt(i.clientHeight-(u+h)),v=Wt(l),y={rootMargin:-p+"px "+-f+"px "+-m+"px "+-v+"px",threshold:S(0,ht(1,c))||1};let E=!0;function b(w){const A=w[0].intersectionRatio;if(A!==c){if(!E)return o();A?o(!1,A):s=setTimeout(()=>{o(!1,1e-7)},100)}E=!1}try{e=new IntersectionObserver(b,{...y,root:i.ownerDocument})}catch{e=new IntersectionObserver(b,y)}e.observe(n)}return o(!0),r}function qe(n,t,e,s){s===void 0&&(s={});const{ancestorScroll:i=!0,ancestorResize:r=!0,elementResize:o=typeof ResizeObserver=="function",layoutShift:a=typeof IntersectionObserver=="function",animationFrame:c=!1}=s,l=Ue(n),u=i||r?[...l?_t(l):[],..._t(t)]:[];u.forEach(g=>{i&&g.addEventListener("scroll",e,{passive:!0}),r&&g.addEventListener("resize",e)});const d=l&&a?Yo(l,e):null;let h=-1,p=null;o&&(p=new ResizeObserver(g=>{let[y]=g;y&&y.target===l&&p&&(p.unobserve(t),cancelAnimationFrame(h),h=requestAnimationFrame(()=>{var E;(E=p)==null||E.observe(t)})),e()}),l&&!c&&p.observe(l),p.observe(t));let f,m=c?Q(n):null;c&&v();function v(){const g=Q(n);m&&(g.x!==m.x||g.y!==m.y||g.width!==m.width||g.height!==m.height)&&e(),m=g,f=requestAnimationFrame(v)}return e(),()=>{var g;u.forEach(y=>{i&&y.removeEventListener("scroll",e),r&&y.removeEventListener("resize",e)}),d==null||d(),(g=p)==null||g.disconnect(),p=null,c&&cancelAnimationFrame(f)}}const ze=Co,Ye=Mo,Xo=Lo,Xe=(n,t,e)=>{const s=new Map,i={platform:zo,...e},r={...i.platform,_c:s};return ko(n,t,{...i,platform:r})},ts=(n,t)=>{const e=n[t];return typeof e=="function"?e:(...s)=>{}},_e=(n,t,e)=>{let s=n;return e===!0?s=`${t.identifier}:${n}`:typeof e=="string"&&(s=`${e}:${n}`),s},Be=(n,t,e)=>{const{bubbles:s,cancelable:i,composed:r}=t||{bubbles:!0,cancelable:!0,composed:!0};return t&&Object.assign(e,{originalEvent:t}),new CustomEvent(n,{bubbles:s,cancelable:i,composed:r,detail:e})};function Go(n){const t=n.getBoundingClientRect(),e=window.innerHeight||document.documentElement.clientHeight,s=window.innerWidth||document.documentElement.clientWidth,i=t.top<=e&&t.top+t.height>0,r=t.left<=s&&t.left+t.width>0;return i&&r}function Zo(n,t){var e={};for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&t.indexOf(s)<0&&(e[s]=n[s]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,s=Object.getOwnPropertySymbols(n);i<s.length;i++)t.indexOf(s[i])<0&&Object.prototype.propertyIsEnumerable.call(n,s[i])&&(e[s[i]]=n[s[i]]);return e}const be={debug:!1,logger:console,dispatchEvent:!0,eventPrefix:!0};class Jo{constructor(t,e={}){var s,i,r;this.log=(c,l)=>{this.debug&&(this.logger.groupCollapsed(`%c${this.controller.identifier} %c#${c}`,"color: #3B82F6","color: unset"),this.logger.log(Object.assign({controllerId:this.controllerId},l)),this.logger.groupEnd())},this.warn=c=>{this.logger.warn(`%c${this.controller.identifier} %c${c}`,"color: #3B82F6; font-weight: bold","color: unset")},this.dispatch=(c,l={})=>{if(this.dispatchEvent){const{event:u}=l,d=Zo(l,["event"]),h=this.extendedEvent(c,u||null,d);this.targetElement.dispatchEvent(h),this.log("dispatchEvent",Object.assign({eventName:h.type},d))}},this.call=(c,l={})=>{const u=this.controller[c];if(typeof u=="function")return u.call(this.controller,l)},this.extendedEvent=(c,l,u)=>{const{bubbles:d,cancelable:h,composed:p}=l||{bubbles:!0,cancelable:!0,composed:!0};return l&&Object.assign(u,{originalEvent:l}),new CustomEvent(this.composeEventName(c),{bubbles:d,cancelable:h,composed:p,detail:u})},this.composeEventName=c=>{let l=c;return this.eventPrefix===!0?l=`${this.controller.identifier}:${c}`:typeof this.eventPrefix=="string"&&(l=`${this.eventPrefix}:${c}`),l},this.debug=(i=(s=e==null?void 0:e.debug)!==null&&s!==void 0?s:t.application.stimulusUseDebug)!==null&&i!==void 0?i:be.debug,this.logger=(r=e==null?void 0:e.logger)!==null&&r!==void 0?r:be.logger,this.controller=t,this.controllerId=t.element.id||t.element.dataset.id,this.targetElement=(e==null?void 0:e.element)||t.element;const{dispatchEvent:o,eventPrefix:a}=Object.assign({},be,e);Object.assign(this,{dispatchEvent:o,eventPrefix:a}),this.controllerInitialize=t.initialize.bind(t),this.controllerConnect=t.connect.bind(t),this.controllerDisconnect=t.disconnect.bind(t)}}const Qo={events:["click","touchend"],onlyVisible:!0,dispatchEvent:!0,eventPrefix:!0},Ks=(n,t={})=>{const e=n,{onlyVisible:s,dispatchEvent:i,events:r,eventPrefix:o}=Object.assign({},Qo,t),a=d=>{const h=(t==null?void 0:t.element)||e.element;if(!(h.contains(d.target)||!Go(h)&&s)&&(e.clickOutside&&e.clickOutside(d),i)){const p=_e("click:outside",e,o),f=Be(p,d,{controller:e});h.dispatchEvent(f)}},c=()=>{r==null||r.forEach(d=>{window.addEventListener(d,a,!0)})},l=()=>{r==null||r.forEach(d=>{window.removeEventListener(d,a,!0)})},u=e.disconnect.bind(e);return Object.assign(e,{disconnect(){l(),u()}}),c(),[c,l]};class ta extends I{}ta.debounces=[];const ea=200,es=(n,t=ea)=>{let e=null;return function(){const s=Array.from(arguments),i=this,r=s.map(a=>a.params),o=()=>(s.forEach((a,c)=>a.params=r[c]),n.apply(i,s));e&&clearTimeout(e),e=setTimeout(o,t)}},na=(n,t)=>{const e=n;e.constructor.debounces.forEach(i=>{if(typeof i=="string"&&(e[i]=es(e[i],t==null?void 0:t.wait)),typeof i=="object"){const{name:r,wait:o}=i;if(!r)return;e[r]=es(e[r],o||(t==null?void 0:t.wait))}})},sa={dispatchEvent:!0,eventPrefix:!0,visibleAttribute:"isVisible"},ia=(n,t={})=>{const e=n,{dispatchEvent:s,eventPrefix:i,visibleAttribute:r}=Object.assign({},sa,t),o=(t==null?void 0:t.element)||e.element;e.intersectionElements||(e.intersectionElements=[]),e.intersectionElements.push(o);const a=b=>{const[w]=b;w.isIntersecting?l(w):o.hasAttribute(r)&&u(w)},c=new IntersectionObserver(a,t),l=b=>{if(o.setAttribute(r,"true"),ts(e,"appear").call(e,b,c),s){const w=_e("appear",e,i),A=Be(w,null,{controller:e,entry:b,observer:c});o.dispatchEvent(A)}},u=b=>{if(o.removeAttribute(r),ts(e,"disappear").call(e,b,c),s){const w=_e("disappear",e,i),A=Be(w,null,{controller:e,entry:b,observer:c});o.dispatchEvent(A)}},d=e.disconnect.bind(e),h=()=>{f(),d()},p=()=>{c.observe(o)},f=()=>{c.unobserve(o)},m=()=>e.intersectionElements.filter(b=>b.hasAttribute(r)).length===0,v=()=>e.intersectionElements.filter(b=>b.hasAttribute(r)).length===1,g=()=>e.intersectionElements.some(b=>b.hasAttribute(r)),y=()=>e.intersectionElements.every(b=>b.hasAttribute(r));return Object.assign(e,{isVisible:y,noneVisible:m,oneVisible:v,atLeastOneVisible:g,allVisible:y,disconnect:h}),p(),[p,f]};class ra extends Jo{constructor(t,e={}){super(t,e),this.observe=()=>{try{this.observer.observe(this.targetElement,this.options)}catch(s){this.controller.application.handleError(s,"At a minimum, one of childList, attributes, and/or characterData must be true",{})}},this.unobserve=()=>{this.observer.disconnect()},this.mutation=s=>{this.call("mutate",s),this.log("mutate",{entries:s}),this.dispatch("mutate",{entries:s})},this.targetElement=(e==null?void 0:e.element)||t.element,this.controller=t,this.options=e,this.observer=new MutationObserver(this.mutation),this.enhanceController(),this.observe()}enhanceController(){const t=this.controller.disconnect.bind(this.controller),e=()=>{this.unobserve(),t()};Object.assign(this.controller,{disconnect:e})}}const Us=(n,t={})=>{const e=new ra(n,t);return[e.observe,e.unobserve]};class oa extends I{}oa.throttles=[];class aa extends mt()({targets:{wrapper:HTMLDetailsElement,button:HTMLElement,popover:we,options:HTMLDivElement},values:{clamped:Boolean,placement:String}}){constructor(){super(...arguments),this.changedIds=new Set}clickOutside(){this.element.open=!1,this.setupAutoUpdate(),this.close()}close(){this.changedIds.size>0&&(this.dispatch("changed"),this.changedIds.clear())}connect(){Ks(this),Us(this,{childList:!0,subtree:!0}),this.setupAutoUpdate(),this.setupForm()}disconnect(){var t;(t=this.unsubAutoUpdate)==null||t.call(this)}setupForm(){for(const t of this.popoverTarget.querySelectorAll('input[type="checkbox"]'))t.addEventListener("change",e=>{const s=e.target;this.changedIds.has(s)?this.changedIds.delete(s):this.changedIds.add(s),this.dispatch("clicked",{detail:s})})}setupAutoUpdate(){var e;if(!this.element.open){(e=this.unsubAutoUpdate)==null||e.call(this);return}const t=()=>{const s=this.optionsTarget,i=this.clampedValue;Xe(this.buttonTarget,this.popoverTarget,{middleware:[He(6),Ye(),ze({padding:6}),Xo({apply({availableHeight:r}){let o=r-6;i&&o>400&&(o=400),Object.assign(s.style,{maxHeight:`${o}px`})}})],placement:this.placementValue,strategy:"fixed"}).then(({x:r,y:o})=>{Object.assign(this.popoverTarget.style,{left:`${r}px`,top:`${o}px`})})};t(),this.unsubAutoUpdate=qe(this.buttonTarget,this.popoverTarget,t)}toggle(){this.element.open=!this.element.open,this.setupAutoUpdate()}}const ca=Object.freeze(Object.defineProperty({__proto__:null,default:aa},Symbol.toStringTag,{value:"Module"}));function la(n){if(Array.isArray(n)){for(var t=0,e=Array(n.length);t<n.length;t++)e[t]=n[t];return e}else return Array.from(n)}var Ge=!1;if(typeof window<"u"){var ns={get passive(){Ge=!0}};window.addEventListener("testPassive",null,ns),window.removeEventListener("testPassive",null,ns)}var Jt=typeof window<"u"&&window.navigator&&window.navigator.platform&&(/iP(ad|hone|od)/.test(window.navigator.platform)||window.navigator.platform==="MacIntel"&&window.navigator.maxTouchPoints>1),J=[],Qt=!1,qs=-1,Ct=void 0,G=void 0,Lt=void 0,zs=function(t){return J.some(function(e){return!!(e.options.allowTouchMove&&e.options.allowTouchMove(t))})},te=function(t){var e=t||window.event;return zs(e.target)||e.touches.length>1?!0:(e.preventDefault&&e.preventDefault(),!1)},ua=function(t){if(Lt===void 0){var e=!!t&&t.reserveScrollBarGap===!0,s=window.innerWidth-document.documentElement.clientWidth;if(e&&s>0){var i=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right"),10);Lt=document.body.style.paddingRight,document.body.style.paddingRight=i+s+"px"}}Ct===void 0&&(Ct=document.body.style.overflow,document.body.style.overflow="hidden")},da=function(){Lt!==void 0&&(document.body.style.paddingRight=Lt,Lt=void 0),Ct!==void 0&&(document.body.style.overflow=Ct,Ct=void 0)},ha=function(){return window.requestAnimationFrame(function(){if(G===void 0){G={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left};var t=window,e=t.scrollY,s=t.scrollX,i=t.innerHeight;document.body.style.position="fixed",document.body.style.top=-e,document.body.style.left=-s,setTimeout(function(){return window.requestAnimationFrame(function(){var r=i-window.innerHeight;r&&e>=i&&(document.body.style.top=-(e+r))})},300)}})},fa=function(){if(G!==void 0){var t=-parseInt(document.body.style.top,10),e=-parseInt(document.body.style.left,10);document.body.style.position=G.position,document.body.style.top=G.top,document.body.style.left=G.left,window.scrollTo(e,t),G=void 0}},ma=function(t){return t?t.scrollHeight-t.scrollTop<=t.clientHeight:!1},pa=function(t,e){var s=t.targetTouches[0].clientY-qs;return zs(t.target)?!1:e&&e.scrollTop===0&&s>0||ma(e)&&s<0?te(t):(t.stopPropagation(),!0)},ga=function(t,e){if(!t){console.error("disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.");return}if(!J.some(function(i){return i.targetElement===t})){var s={targetElement:t,options:e||{}};J=[].concat(la(J),[s]),Jt?ha():ua(e),Jt&&(t.ontouchstart=function(i){i.targetTouches.length===1&&(qs=i.targetTouches[0].clientY)},t.ontouchmove=function(i){i.targetTouches.length===1&&pa(i,t)},Qt||(document.addEventListener("touchmove",te,Ge?{passive:!1}:void 0),Qt=!0))}},ba=function(t){if(!t){console.error("enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.");return}J=J.filter(function(e){return e.targetElement!==t}),Jt&&(t.ontouchstart=null,t.ontouchmove=null,Qt&&J.length===0&&(document.removeEventListener("touchmove",te,Ge?{passive:!1}:void 0),Qt=!1)),Jt?fa():da()};class va extends mt()({targets:{dialog:HTMLDialogElement}}){close(){this.dialogTarget.open&&(this.dialogTarget.close(),ba(this.dialogTarget))}disconnect(){this.close()}open(){this.dialogTarget.showModal(),ga(this.dialogTarget,{reserveScrollBarGap:!0})}triggerClick(){this.dialogTarget.open?this.close():this.open()}windowClick(t){t.target===this.dialogTarget&&this.close()}}const ya=Object.freeze(Object.defineProperty({__proto__:null,default:va},Symbol.toStringTag,{value:"Module"}));async function wa(n,t=null){n.classList.remove("hidden"),await Ys("enter",n,t)}async function Ea(n,t=null){await Ys("leave",n,t),n.classList.add("hidden")}async function Ys(n,t,e){const s=t.dataset,i=e?`${e}-${n}`:n;let r=`transition${n.charAt(0).toUpperCase()+n.slice(1)}`;const o=s[r]?s[r].split(" "):[i],a=s[`${r}Start`]?s[`${r}Start`].split(" "):[`${i}-start`],c=s[`${r}End`]?s[`${r}End`].split(" "):[`${i}-end`];ve(t,o),ve(t,a),await Aa(),ye(t,a),ve(t,c),await xa(t),ye(t,c),ye(t,o)}function ve(n,t){n.classList.add(...t)}function ye(n,t){n.classList.remove(...t)}function Aa(){return new Promise(n=>{requestAnimationFrame(()=>{requestAnimationFrame(n)})})}function xa(n){return new Promise(t=>{const e=getComputedStyle(n).transitionDuration.split(",")[0],s=Number(e.replace("s",""))*1e3;setTimeout(()=>{t()},s)})}const ee=class ee extends I{async connect(){await this.show();const t=()=>{};setTimeout(()=>{this.hide().then(t).catch(t)},this.timerValue)}async disconnect(){await this.hide()}async hide(){await Ea(this.element),this.hasHiddenClass?this.element.classList.add(this.hiddenClass):this.element.classList.add("hidden"),this.element.remove()}async show(){this.hasHiddenClass?this.element.classList.remove(this.hiddenClass):this.element.classList.remove("hidden"),await wa(this.element)}};ee.classes=["ariadne-hidden"],ee.values={timer:{default:4e3,type:Number}};let $e=ee;const Ta=Object.freeze(Object.defineProperty({__proto__:null,default:$e},Symbol.toStringTag,{value:"Module"}));class Oa extends mt()({targets:{emptyRoot:null,input:HTMLInputElement,searchString:null}}){handleNewQuery(t){let e=!1;for(const{el:s,searchString:i}of this.items){const r=i.includes(t.trim().toLowerCase());!e&&r&&(e=!0),r?s.classList.remove("ariadne-hidden"):s.classList.add("ariadne-hidden")}e?this.emptyRootTarget.classList.add("ariadne-hidden"):this.emptyRootTarget.classList.remove("ariadne-hidden")}connect(){this.items=this.searchStringTargets.map(t=>({el:t,searchString:(t.textContent??"").trim().toLowerCase()})),ia(this)}appear(t,e){this.reset()}handleInput(){this.hasSearchStringTarget&&this.handleNewQuery(this.inputTarget.value)}reset(){this.handleNewQuery(""),this.hasInputTarget&&(this.inputTarget.value="")}}const ka=Object.freeze(Object.defineProperty({__proto__:null,default:Oa},Symbol.toStringTag,{value:"Module"}));class Ma extends mt()({targets:{anchor:null,popover:null},values:{clamped:Boolean,placement:String}}){constructor(){super(...arguments),this.changedIds=new Set,this.clickHandlers=[]}setupClickHandlers(){const t=()=>this.toggle();for(const e of this.clickHandlers)e();this.clickHandlers=[];for(const e of this.anchorTarget.querySelectorAll('button, [tabindex]:not([tabindex="-1"])'))e.addEventListener("click",t),this.clickHandlers.push(()=>e.removeEventListener("click",t))}checkboxClicked(t){const s=t.target.value;this.changedIds.has(s)?this.changedIds.delete(s):this.changedIds.add(s),this.dispatch("clicked",{detail:s})}clickOutside(){this.setupAutoUpdate(),this.close()}close(){this.element.open=!1}connect(){Ks(this),Us(this,{childList:!0,subtree:!0}),this.setupAutoUpdate(),this.setupClickHandlers()}disconnect(){var t;(t=this.unsubAutoUpdate)==null||t.call(this)}setupAutoUpdate(){var e;if(!this.element.open){(e=this.unsubAutoUpdate)==null||e.call(this);return}const t=()=>{Xe(this.anchorTarget,this.popoverTarget,{middleware:[He(6),Ye(),ze({padding:6})],placement:this.placementValue,strategy:"fixed"}).then(({x:s,y:i})=>{Object.assign(this.popoverTarget.style,{left:`${s}px`,top:`${i}px`})})};t(),this.unsubAutoUpdate=qe(this.anchorTarget,this.popoverTarget,t)}toggle(){this.element.open=!this.element.open,this.setupAutoUpdate()}}const Sa=Object.freeze(Object.defineProperty({__proto__:null,default:Ma},Symbol.toStringTag,{value:"Module"}));class Ca extends mt()({targets:{button:HTMLButtonElement,popover:HTMLElement},values:{placement:String}}){connect(){this.popoverTarget.addEventListener("toggle",t=>{t.newState==="open"&&this.updatePosition()})}updatePosition(){qe(this.buttonTarget,this.popoverTarget,()=>{Xe(this.buttonTarget,this.popoverTarget,{placement:this.placementValue,middleware:[He(5),Ye(),ze({padding:5})]}).then(({x:t,y:e})=>{Object.assign(this.buttonTarget.style,{left:`${t}px`,top:`${e}px`})})})}}const La=Object.freeze(Object.defineProperty({__proto__:null,default:Ca},Symbol.toStringTag,{value:"Module"})),ne=class ne extends I{connect(){na(this)}save(){this.hasFormTarget?this.formTarget.requestSubmit():this.element.requestSubmit()}};ne.debounces=["save"],ne.targets=["form"];let Pe=ne;const Fa=Object.freeze(Object.defineProperty({__proto__:null,default:Pe},Symbol.toStringTag,{value:"Module"})),oe=qr.start();oe.debug=!1;window.Stimulus=oe;const Da=Object.assign({"../../components/ariadne/ui/clipboard_copy/component.ts":bo,"../../components/ariadne/ui/combobox/component.ts":ca,"../../components/ariadne/ui/dialog/component.ts":ya,"../../components/ariadne/ui/flash/component.ts":Ta,"../../components/ariadne/ui/list/component.ts":ka,"../../components/ariadne/ui/overlay/component.ts":Sa,"../../components/ariadne/ui/popover/component.ts":La});for(const[n,t]of Object.entries(Da)){const e=n.split("/"),s=e.slice(3,e.length-1).join("-").replaceAll("_","-").toLocaleLowerCase();oe.register(s,t.default)}const _a=Object.assign({"/controllers/form_autosubmit_controller.ts":Fa});for(const[n,t]of Object.entries(_a)){const e=n.split("/"),s=e[e.length-1].replace("_controller.ts","").replaceAll("_","-").toLocaleLowerCase();oe.register(`ariadne-${s}`,t.default)}
99
99
  //# sourceMappingURL=ariadne_view_components.js.map