/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/@georapbox/modal-element@1.11.1/dist/modal-element.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
/*!
 * @georapbox/modal-element
 * A custom element to create a modal, using the native dialog element under the hood.
 *
 * @version 1.11.1
 * @homepage https://github.com/georapbox/modal-element#readme
 * @author George Raptis <georapbox@gmail.com>
 * @license MIT
 */
var c=[{transform:"scale(1)"},{transform:"scale(1.02)"},{transform:"scale(1)"}],h={duration:300,easing:"cubic-bezier(0.2, 0, 0.38, 0.9)"},m='\n  :host {\n    --me-width: 32rem;\n    --me-height: fit-content;\n    --me-border-color: initial;\n    --me-border-style: solid;\n    --me-border-width: initial;\n    --me-border-radius: 0;\n    --me-box-shadow: none;\n    --me-background-color: canvas;\n    --me-color: canvastext;\n\n    --me-header-spacing: 1rem;\n    --me-footer-spacing: 1rem;\n    --me-header-background-color: transparent;\n    --me-header-color: initial;\n\n    --me-body-spacing: 1rem;\n    --me-body-background-color: transparent;\n    --me-body-color: initial;\n    --me-footer-background-color: transparent;\n    --me-footer-color: initial;\n\n    --me-close-padding: 0.4375rem;\n    --me-close-border: none;\n    --me-close-border-radius: 0;\n    --me-close-background-color: transparent;\n    --me-close-color: inherit;\n    --me-close-font-size: 1rem;\n\n    --me-backdrop-background: rgba(0, 0, 0, 0.5);\n    --me-backdrop-filter: none;\n\n    display: contents;\n    box-sizing: border-box;\n  }\n\n  :host *,\n  :host *:after,\n  :host *:before {\n    box-sizing: inherit;\n  }\n\n  :host([hidden]),\n  [hidden] {\n    display: none !important;\n  }\n\n  /* Dialog */\n  .dialog {\n    --dialog-placement-margin: calc((2em + 6px) / 2);\n\n    width: var(--me-width);\n    height: var(--me-height);\n    padding: 0;\n    border-color: var(--me-border-color);\n    border-style: var(--me-border-style);\n    border-width: var(--me-border-width);\n    border-radius: var(--me-border-radius);\n    box-shadow: var(--me-box-shadow);\n    background-color: var(--me-background-color);\n    color: var(--me-color);\n  }\n\n  .dialog[open] {\n    display: flex;\n  }\n\n  :host([fullscreen]) .dialog {\n    max-width: 100%;\n    max-height: 100%;\n    width: 100%;\n    height: 100%;\n  }\n\n  .dialog::backdrop {\n    background: var(--me-backdrop-background, rgba(0, 0, 0, 0.5));\n    backdrop-filter: var(--me-backdrop-filter, none);\n    opacity: 0;\n  }\n\n  .dialog[open]::backdrop {\n    opacity: 1;\n  }\n\n  /* Dialog placement */\n  :host(:not([fullscreen])[placement="top-start"]) .dialog {\n    margin-block-start: var(--dialog-placement-margin);\n    margin-inline-start: var(--dialog-placement-margin);\n  }\n\n  :host(:not([fullscreen])[placement="top-center"]) .dialog {\n    margin-block-start: var(--dialog-placement-margin);\n  }\n\n  :host(:not([fullscreen])[placement="top-end"]) .dialog {\n    margin-block-start: var(--dialog-placement-margin);\n    margin-inline-end: var(--dialog-placement-margin);\n  }\n\n  :host(:not([fullscreen])[placement="center-start"]) .dialog {\n    margin-inline-start: var(--dialog-placement-margin);\n  }\n\n  :host(:not([fullscreen])[placement="center"]) .dialog {\n    margin: auto;\n  }\n\n  :host(:not([fullscreen])[placement="center-end"]) .dialog {\n    margin-inline-end: var(--dialog-placement-margin);\n  }\n\n  :host(:not([fullscreen])[placement="bottom-start"]) .dialog {\n    margin-block-end: var(--dialog-placement-margin);\n    margin-inline-start: var(--dialog-placement-margin);\n  }\n\n  :host(:not([fullscreen])[placement="bottom-center"]) .dialog {\n    margin-block-end: var(--dialog-placement-margin);\n  }\n\n  :host(:not([fullscreen])[placement="bottom-end"]) .dialog {\n    margin-block-end: var(--dialog-placement-margin);\n    margin-inline-end: var(--dialog-placement-margin);\n  }\n\n  /* Dialog animations */\n  @media (prefers-reduced-motion: no-preference) {\n    .dialog:not(.dialog--no-animations),\n    .dialog:not(.dialog--no-animations)::backdrop {\n      transition: transform 0.3s, opacity 0.3s, display 0.3s allow-discrete, overlay 0.3s allow-discrete;\n    }\n\n    /* 1. IS-OPEN STATE */\n    .dialog[open]:not(.dialog--no-animations) {\n      transform: scale(1);\n      opacity: 1;\n    }\n\n    /* 2. EXIT STATE */\n    .dialog:not(.dialog--no-animations) {\n      transform: scale(0.95);\n      opacity: 0;\n    }\n\n    /* 0. BEFORE-OPEN STATE */\n    @starting-style {\n      .dialog[open]:not(.dialog--no-animations) {\n        transform: scale(0.95);\n        opacity: 0;\n      }\n\n      .dialog[open]:not(.dialog--no-animations)::backdrop {\n        opacity: 0;\n      }\n    }\n  }\n\n  /* Dialog panel, header, body, footer */\n  .dialog__panel {\n    display: flex;\n    flex-direction: column;\n    flex: 1 1 auto;\n    width: 100%;\n  }\n\n  .dialog__header {\n    display: flex;\n    align-items: center;\n    padding: var(--me-header-spacing);\n    column-gap: 0.5rem;\n    background-color: var(--me-header-background-color);\n    color: var(--me-header-color);\n  }\n\n  :host([no-close-button]) .dialog__header {\n    column-gap: 0;\n  }\n\n  .dialog__title {\n    display: block;\n    flex: 1 1 auto;\n    padding: 0;\n    margin: 0;\n  }\n\n  .dialog__body {\n    display: block;\n    flex: 1 1 auto;\n    padding: var(--me-body-spacing);\n    overflow: auto;\n    background-color: var(--me-body-background-color);\n    color: var(--me-body-color);\n    overscroll-behavior: contain;\n  }\n\n  .dialog__footer {\n    flex: 0 0 auto;\n    text-align: end;\n    padding: var(--me-footer-spacing);\n    background-color: var(--me-footer-background-color);\n    color: var(--me-footer-color);\n  }\n\n  .dialog__close {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    padding: var(--me-close-padding);\n    border: var(--me-close-border);\n    border-radius: var(--me-close-border-radius);\n    background-color: var(--me-close-background-color);\n    color: var(--me-close-color);\n    font-size: var(--me-close-font-size);\n  }\n\n  .dialog__close:not(:disabled) {\n    cursor: pointer;\n  }\n\n  .dialog__close:disabled {\n    cursor: not-allowed;\n  }\n',r=document.createElement("template");r.innerHTML=`\n  <style>${m}</style>\n\n  <dialog part="base" class="dialog">\n    <div part="panel" class="dialog__panel" aria-labelledby="title">\n      <header part="header" class="dialog__header">\n        <slot name="header" part="title" class="dialog__title" id="title"></slot>\n\n        <form method="dialog">\n          <button type="submit" part="close" class="dialog__close" aria-label="Close">\n            <slot name="close">\n              <svg part="close-icon" xmlns="http://www.w3.org/2000/svg" width="1.125em" height="1.125em" fill="currentColor" viewBox="0 0 16 16" aria-hidden="true">\n                <path d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8 2.146 2.854Z"/>\n              </svg>\n            </slot>\n          </button>\n        </form>\n      </header>\n\n      <slot part="body" class="dialog__body"></slot>\n\n      <footer part="footer" class="dialog__footer" hidden>\n        <slot name="footer"></slot>\n      </footer>\n    </div>\n  </dialog>\n`;var a=class e extends HTMLElement{static CLOSE_REQUEST_REASONS={CLOSE_BUTTON:"close-button",ESCAPE_KEY:"escape-key",BACKDROP_CLICK:"backdrop-click",EXTERNAL_INVOKER:"external-invoker"};#e=null;#n=null;#t=null;#o=null;constructor(){super(),this.shadowRoot||this.attachShadow({mode:"open"}).appendChild(r.content.cloneNode(!0)),this.shadowRoot&&(this.#e=this.shadowRoot.querySelector("dialog"),this.#n=this.shadowRoot.querySelector('slot[name="footer"]'),this.#t=this.shadowRoot.querySelector('slot[name="close"]'))}static get observedAttributes(){return["open","no-header","no-animations","no-close-button","close-label"]}attributeChangedCallback(e,n,t){if(null!==this.#e){if("open"===e&&n!==t&&(this.open?(this.#e.classList.toggle("dialog--no-animations",this.noAnimations),this.#e.showModal(),this.dispatchEvent(new CustomEvent("me-open",{bubbles:!0,composed:!0,detail:{element:this}})),document.body&&!this.preserveOverflow&&(document.body.style.overflow="hidden")):this.#e.close()),"no-header"===e&&n!==t){let e=this.#e.querySelector(".dialog__header");null!==e&&(e.hidden=this.noHeader)}if("no-animations"===e&&n!==t&&this.#e.classList.toggle("dialog--no-animations",this.noAnimations),"no-close-button"===e&&n!==t){let e=this.#e.querySelector(".dialog__close");null!==e&&(e.hidden=this.noCloseButton)}"close-label"===e&&n!==t&&this.#a()}}connectedCallback(){this.#i("open"),this.#i("staticBackdrop"),this.#i("noHeader"),this.#i("noAnimations"),this.#i("noCloseButton"),this.#i("fullscreen"),this.#i("preserveOverflow"),this.#i("placement"),this.#i("closeLabel"),this.#e?.addEventListener("click",this.#r),this.#e?.addEventListener("close",this.#l),this.#e?.addEventListener("cancel",this.#s),this.#e?.querySelector('form[method="dialog"]')?.addEventListener("submit",this.#d),this.#n?.addEventListener("slotchange",this.#c),this.#t?.addEventListener("slotchange",this.#h),this.addEventListener("command",this.#m)}disconnectedCallback(){this.#e?.removeEventListener("click",this.#r),this.#e?.removeEventListener("close",this.#l),this.#e?.removeEventListener("cancel",this.#s),this.#e?.querySelector('form[method="dialog"]')?.removeEventListener("submit",this.#d),this.#n?.removeEventListener("slotchange",this.#c),this.#t?.removeEventListener("slotchange",this.#h),this.removeEventListener("command",this.#m),this.#o&&(this.#o?.cancel(),this.#o=null)}get open(){return this.hasAttribute("open")}set open(e){this.toggleAttribute("open",!!e)}get staticBackdrop(){return this.hasAttribute("static-backdrop")}set staticBackdrop(e){this.toggleAttribute("static-backdrop",!!e)}get noHeader(){return this.hasAttribute("no-header")}set noHeader(e){this.toggleAttribute("no-header",!!e)}get noAnimations(){return this.hasAttribute("no-animations")}set noAnimations(e){this.toggleAttribute("no-animations",!!e)}get noCloseButton(){return this.hasAttribute("no-close-button")}set noCloseButton(e){this.toggleAttribute("no-close-button",!!e)}get fullscreen(){return this.hasAttribute("fullscreen")}set fullscreen(e){this.toggleAttribute("fullscreen",!!e)}get preserveOverflow(){return this.hasAttribute("preserve-overflow")}set preserveOverflow(e){this.toggleAttribute("preserve-overflow",!!e)}get placement(){return this.getAttribute("placement")||"center"}set placement(e){this.setAttribute("placement",null!=e?e.toString():e)}get closeLabel(){return this.getAttribute("close-label")||"Close"}set closeLabel(e){this.setAttribute("close-label",null!=e?e.toString():e)}#a(){if(null===this.#e)return;let e=this.#e.querySelector(".dialog__close");null!==e&&((this.#t?.assignedElements()||[])?.some((e=>""!==e.textContent?.replace(/\s/g,"")))?e.removeAttribute("aria-label"):e.setAttribute("aria-label",this.closeLabel))}#g(){let e=window.matchMedia("(prefers-reduced-motion: reduce)").matches;if(this.noAnimations||e||this.#o)return;let n=this.#e;!n||"function"!=typeof n.animate||(this.#o=n.animate(c,h),this.#o.finished.catch((()=>{})).finally((()=>{this.#o=null})))}#l=()=>{this.open=!1,this.dispatchEvent(new CustomEvent("me-close",{bubbles:!0,composed:!0,detail:{element:this}})),document.body&&!this.preserveOverflow&&(document.body.style.overflow="")};#s=n=>{let t=this.#u(e.CLOSE_REQUEST_REASONS.ESCAPE_KEY);this.dispatchEvent(t),t.defaultPrevented&&(n.preventDefault(),this.#g())};#d=n=>{let t=this.#u(e.CLOSE_REQUEST_REASONS.CLOSE_BUTTON);this.dispatchEvent(t),t.defaultPrevented&&(n.preventDefault(),this.#g())};#r=n=>{let{target:t,currentTarget:o}=n,a=t===o,i=t instanceof HTMLElement&&null!==t.closest("[data-me-close]");if(!a&&!i)return;let r=a?e.CLOSE_REQUEST_REASONS.BACKDROP_CLICK:e.CLOSE_REQUEST_REASONS.EXTERNAL_INVOKER,l=this.#u(r);this.dispatchEvent(l),l.defaultPrevented||a&&this.staticBackdrop?this.#g():this.hide()};#m=n=>{switch(n.command){case"--me-open":if(this.open)return;return void this.show();case"--me-close":{if(!this.open)return;let n=this.#u(e.CLOSE_REQUEST_REASONS.EXTERNAL_INVOKER);return this.dispatchEvent(n),n.defaultPrevented?void this.#g():void this.hide()}default:return}};#c=()=>{if(null===this.#e)return;let e=this.#e.querySelector(".dialog__footer");if(null===e)return;let n=this.#n?.assignedNodes(),t=!!n&&n.length>0;e.hidden=!t};#h=()=>{this.#a()};#u(e){return new CustomEvent("me-request-close",{bubbles:!0,composed:!0,cancelable:!0,detail:{reason:e,element:this}})}#i(e){let n=this;if(Object.prototype.hasOwnProperty.call(n,e)){let t=n[e];delete n[e],n[e]=t}}show(){this.open||(this.open=!0)}hide(){this.open&&(this.open=!1)}static defineCustomElement(n="modal-element"){typeof window<"u"&&!window.customElements.get(n)&&window.customElements.define(n,e)}};export{a as ModalElement};
//# sourceMappingURL=/sm/0f480676e2ab7ee66914b3c7ec4217f44b59ef01bb2988fab4ac1c5141f9b14f.map