stimulus-library 0.7.2 → 0.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/dist/controllers/signal/events.d.ts +1 -0
- package/dist/controllers/signal/events.d.ts.map +1 -1
- package/dist/stimulus-library.cjs.js +1 -1
- package/dist/stimulus-library.cjs.js.map +1 -1
- package/dist/stimulus-library.es.js +5 -2
- package/dist/stimulus-library.es.js.map +1 -1
- package/dist/stimulus-library.umd.js +1 -1
- package/dist/stimulus-library.umd.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var Js=Object.defineProperty;var cs=Object.getOwnPropertySymbols;var Xs=Object.prototype.hasOwnProperty,Ys=Object.prototype.propertyIsEnumerable;var Re=(a,b,m)=>b in a?Js(a,b,{enumerable:!0,configurable:!0,writable:!0,value:m}):a[b]=m,qe=(a,b)=>{for(var m in b||(b={}))Xs.call(b,m)&&Re(a,m,b[m]);if(cs)for(var m of cs(b))Ys.call(b,m)&&Re(a,m,b[m]);return a};var l=(a,b,m)=>(Re(a,typeof b!="symbol"?b+"":b,m),m);(function(a,b){typeof exports=="object"&&typeof module!="undefined"?b(exports,require("stimulus"),require("lodash-es"),require("date-fns")):typeof define=="function"&&define.amd?define(["exports","stimulus","lodash-es","date-fns"],b):(a=typeof globalThis!="undefined"?globalThis:a||self,b(a["Stimulus-Library"]={},a.stimulus,a.lodashEs,a.dateFns))})(this,function(a,b,m,E){"use strict";function ds(t){switch(t){case"application":case"el":case"element":case"constructor":case"initialize":case"log":case"logEvent":case"dispatch":case"data":case"valueDescriptorMap":case"mutate":case"identifier":return!1}return!(/^_.*?$/.test(t)||/^.*?Target(s)?$/.test(t)||/^.*?Value$/.test(t)||/^.*?ValueChanged$/.test(t)||/^.*?Class$/.test(t)||/^.*?Classes$/.test(t)||/^.*?ClassesPresent$/.test(t))}function Pe(t,e,s={}){if(!t.application.debug)return;let i=console;i.groupCollapsed(...O(t.identifier,"#3B82F6"),`#${e}`),i.log(qe({element:t.element,controller:t},s)),i.groupEnd()}function $e(t,e,s={}){if(!t.application.debug)return;let i=console;i.groupCollapsed(...O(t.identifier,"#F39B1AFF"),`!! ${e} !!`),i.warn(qe({element:t.element,controller:t},s)),i.groupEnd()}function ms(t,e,s,i){if(!t.application.debug)return;let r=console;r.groupCollapsed(...ze([{text:t.identifier,color:"#3B82F6"},{text:e,color:"#0be000"}]),s.detail),r.log(...O("Dispatched on","#3b82f6"),i),r.log(...O("event","#3b82f6"),s),r.log(...O("event details","#3b82f6"),s.detail),r.groupEnd()}function O(t,e){return ze([{text:t,color:e}])}function ze(t){let e="",s=t.flatMap(i=>(e+=`%c${i.text}%c `,[`color: ${i.color}`,"color: unset"]));return[e,...s]}function re(t,e,s,i={}){let r=Object.assign({},{bubbles:!0,cancelable:!0,detail:{target:e}},i);r.detail.target||(r.detail.target=e);let n=new CustomEvent(s,r);ms(t,s,n,e),e.dispatchEvent(n)}class h extends b.Controller{constructor(e){super(e);return this.application.debug?new Proxy(this,{get:(s,i)=>{let r=Reflect.get(s,i),n=this;if("logFormattedMessage"in this.application)return r;if(ds(i.toString())){if(typeof r=="function")return new Proxy(r,{apply(o,c,u){return Pe(n,i.toString(),{args:u}),Reflect.apply(o,c,u)}});Pe(this,i.toString())}return r}}):this}get el(){return this.element}get isTurboPreview(){return document.documentElement.hasAttribute("data-turbo-preview")||document.documentElement.hasAttribute("data-turbolinks-preview")}get isTurbolinksPreview(){return this.isTurboPreview}get csrfToken(){return this.metaValue("csrf-token")}metaValue(e){const s=document.head.querySelector(`meta[name="${e}"]`);return(s==null?void 0:s.getAttribute("content"))||null}dispatchEvent(e,s,i={}){re(this,e,s,i)}}class U extends h{_cleanupSelf(){this.cleanup(this.el)}cleanup(e){var n,o,c;e.dataset.controller=((n=e.dataset.controller)==null?void 0:n.replaceAll(new RegExp(`(\\s|^)${this.identifier}(\\s|$)`,"g"),""))||"",e.dataset.controller==""&&delete e.dataset.controller;let s=new RegExp(`(\\s|^)${this.identifier}\\..+?(\\s|$)`,"g");e.dataset.target=((o=e.dataset.target)==null?void 0:o.replaceAll(s,""))||"",delete e.dataset[m.camelCase(`${this.identifier}-target`)],e.dataset.target==""&&delete e.dataset.target,e.dataset.action=((c=e.dataset.target)==null?void 0:c.replaceAll(s,""))||"",delete e.dataset[m.camelCase(`${this.identifier}-action`)],e.dataset.action==""&&delete e.dataset.action;let i=this.constructor.values;i&&Object.keys(i).forEach(u=>delete e.dataset[m.camelCase(`${this.identifier}-${u}-value`)]);let r=this.constructor.classes;r&&Object.keys(r).forEach(u=>delete e.dataset[m.camelCase(`${this.identifier}-${u}-class`)])}}const C="scrollBehavior"in document.documentElement.style;let Ue;async function A(t,{behavior:e="smooth",block:s="start",inline:i="nearest"}={}){e=="smooth"&&!C&&await S(),t.scrollIntoView({behavior:e,block:s,inline:i})}async function ae(t,{behavior:e="smooth"}={}){e=="smooth"&&!C&&await S(),t.scrollTo({top:0,left:0,behavior:e})}async function ne(t,{behavior:e="smooth"}={}){e=="smooth"&&!C&&await S(),t==window?t.scrollTo({top:document.body.scrollHeight,left:0,behavior:e}):t.scrollTo({top:t.scrollHeight,left:0,behavior:e})}async function le(t,{behavior:e="smooth"}={}){e=="smooth"&&!C&&await S(),t.scrollTo({left:0,behavior:e})}async function fs(t,{behavior:e="smooth"}={}){e=="smooth"&&!C&&await S(),t==window?t.scrollTo({left:document.body.scrollWidth,behavior:e}):t.scrollTo({left:t.scrollWidth,behavior:e})}async function je(t,e,{behavior:s="smooth"}={}){s=="smooth"&&!C&&await S(),t.scrollBy({top:-e,left:0,behavior:s})}async function We(t,e,{behavior:s="smooth"}={}){s=="smooth"&&!C&&await S(),t.scrollBy({top:e,left:0,behavior:s})}async function Ke(t,e,{behavior:s="smooth"}={}){s=="smooth"&&!C&&await S(),t.scrollBy({top:0,left:-e,behavior:s})}async function Ge(t,e,{behavior:s="smooth"}={}){s=="smooth"&&!C&&await S(),t.scrollBy({top:0,left:e,behavior:s})}async function S(){const{polyfill:t}=await import("smoothscroll-polyfill");Ue||(Ue=!0,t())}function j(t){if(!t)return null;if(t==document.body)return window;const e=getComputedStyle(t).overflowY;return e!=="visible"&&e!=="hidden"&&t.scrollHeight>=t.clientHeight?t:j(t.parentElement)||document.body}function oe(t){return t.nodeName=="TURBO-FRAME"}function gs(t){return{all:t=t||new Map,on:function(e,s){var i=t.get(e);i?i.push(s):t.set(e,[s])},off:function(e,s){var i=t.get(e);i&&(s?i.splice(i.indexOf(s)>>>0,1):t.set(e,[]))},emit:function(e,s){var i=t.get(e);i&&i.slice().map(function(r){r(s)}),(i=t.get("*"))&&i.slice().map(function(r){r(e,s)})}}}const V=gs();function ps(t){return t.nodeName=="LINK"}function ue(t){return t.nodeName=="A"}function he(t){return t.nodeName=="FORM"}function v(t){return t.nodeName=="INPUT"}function _s(t){return t.nodeName=="LABEL"}function W(t){return t.nodeName=="TEXTAREA"}function bs(t){return t.nodeName=="BUTTON"}function I(t){return t.nodeName=="SELECT"}function vs(t){return t.nodeName=="IMG"}function ws(t){return t.nodeName=="INPUT"&&t.type=="button"}function Je(t){return t.nodeName=="INPUT"&&t.type=="submit"}function Xe(t){return t.nodeName=="INPUT"&&t.type=="reset"}function Ye(t){return t.nodeName=="BUTTON"&&t.type=="button"}function Ze(t){return t.nodeName=="BUTTON"&&t.type=="submit"}function Qe(t){return t.nodeName=="BUTTON"&&t.type=="reset"}function et(t){return Qe(t)||Xe(t)}function tt(t){return Ze(t)||Je(t)}function K(t){return et(t)||tt(t)||Ye(t)}function k(t){return v(t)&&(t.type==="radio"||t.type==="checkbox")}function st(t){return v(t)||I(t)||W(t)}function it(t){let e=document.createElement("button");return e.type=t,e.style.display="none",e.dataset.sythentic="true",e}function rt(t,e){let s=document.createElement("input");return s.type="hidden",s.name=t,s.value=e,s}function ce(t,e,s){let i=t.insertAdjacentElement(e,s);if(!i)throw new Error(`Failed to insert element ${s.nodeName} into ${t.nodeName}`);return i}function ys(t,e,s,i){return ce(s,i,rt(t,e))}function de(t,e,s){return ce(e,s,it(t))}function me(t){let e=t.form||document;return Array.from(e.querySelectorAll(`input[type="radio"][name="${t.name}"]`))}function fe(t){return me(t).filter(e=>e!==t)}function at(t){const e=t.getBoundingClientRect(),s=window.innerHeight||document.documentElement.clientHeight,i=window.innerWidth||document.documentElement.clientWidth,r=e.top<=s&&e.top+e.height>=0,n=e.left<=i&&e.left+e.width>=0;return r&&n}function ge(t){if(t.requestSubmit)t.requestSubmit();else{let e=t.querySelector('button[type="submit"]');e||(e=de("submit",t,"beforeend")),e.click()}}function nt(t){let e=t.querySelector('button[type="reset"]');e||(e=de("reset",t,"beforeend")),e.click()}function lt(t){return Array.isArray(t)?t:[t]}function y(t,e,s){const i=t.disconnect.bind(t);return e(),Object.assign(t,{disconnect(){s(),i()}}),i}function d(t,e,s,i,r){(r==null?void 0:r.debounce)?(i=m.debounce(i.bind(t),r.debounce),delete r.debounce):i=i.bind(t);let n=lt(s),o=()=>n.forEach(u=>e.addEventListener(u,i,r)),c=()=>n.forEach(u=>e.removeEventListener(u,i));return y(t,o,c),{setup:o,teardown:c}}function ot(t,e,s,i,r){return d(t,e,s,i,r)}function D(t,e,s,i,r){let n=[];return e.forEach(o=>{let{setup:c,teardown:u}=d(t,o,s,i,r);n.push({setup:c,teardown:u})}),[()=>n.forEach(o=>o.setup()),()=>n.forEach(o=>o.teardown())]}function Es(t,e,s,i,r){return D(t,e,s,i,r)}function ut(t,e){let s=e||document.documentElement,i=document.fullscreenElement!==null;const r=()=>i=document.fullscreenElement!==null,n=()=>i,o=async()=>i?await g():await p();let c=()=>document.addEventListener("fullscreenchange",r),u=()=>document.removeEventListener("fullscreenchange",r);const g=async()=>{document.exitFullscreen&&(i=!1,await document.exitFullscreen())},p=async()=>{i&&await g(),s.requestFullscreen&&(await s.requestFullscreen(),i=!0)};return y(t,c,u),{isFullscreen:n,enter:p,exit:g,toggle:o,teardown:u}}function G(t){if(t===null||typeof t!="object")return t;for(const e in t)Object.getOwnPropertyDescriptor(t,e)!=null&&(t[e]=G(t[e]));return new Proxy(t,{get(e,s){return e[s]},set(e,s,i){return e[s]=G(i),!0}})}function Ts(t,e={},s,i){s&&(s=s.bind(t)),i&&(i=i.bind(t));const{enableHighAccuracy:r=!0,maximumAge:n=3e4,timeout:o=27e3}=e,c=navigator&&"geolocation"in navigator,u=G({locatedAt:null,error:null,coords:{accuracy:0,latitude:1/0,longitude:1/0,altitude:null,altitudeAccuracy:null,heading:null,speed:null},teardown:()=>{p&&(navigator.geolocation.clearWatch(p),p=null)}});let g=()=>{c&&(p=navigator.geolocation.watchPosition(_=>{u.locatedAt=_.timestamp,u.coords=_.coords,u.error=null,s&&s(_)},_=>{u.error=_,i&&i(_)},{enableHighAccuracy:r,maximumAge:n,timeout:o}))},p=null;return y(t,g,u.teardown),u}function pe(t,e,s,i,r={}){let n=Array.from(i.childNodes),o=()=>{let u=e.parentElement;if(["beforebegin","afterend"].includes(s)&&u==null)throw new Error("Cannot insert beforebegin into a node with no parent");switch(s){case"beforeend":e.append(i);break;case"afterbegin":e.prepend(i);break;case"beforebegin":u.insertBefore(i,e);break;case"afterend":u.insertBefore(i,e);break}},c=r.cleanup?()=>n.forEach(u=>u.remove()):()=>{};return y(t,o,c),[n,c]}function Cs(t,e,s,i,r={}){const n=document.createRange().createContextualFragment(i);return pe(t,e,s,n,r)}function ht(t,e,s,i,r={}){const n=new DocumentFragment;n.append(i);let[o,c]=pe(t,e,s,n,r);return[o[0],c]}function B(t,e,s){e=e.bind(t);let i=null,r=()=>i=setInterval(e,s),n=()=>{i!==null&&clearInterval(i)};return y(t,r,n),n}const ct={boolean:{deserialize:t=>t==="true",serialize:t=>String(t),isEmpty:t=>t===""||t===null},object:{deserialize:t=>JSON.parse(t),serialize:t=>JSON.stringify(t),isEmpty:t=>{const e=Object.values(JSON.parse(t));return e.length===0||e.every(s=>s===""||s===null)}},number:{deserialize:t=>Number.parseFloat(t),serialize:t=>String(t),isEmpty:t=>t===""||t===null},any:{deserialize:t=>t,serialize:t=>String(t),isEmpty:t=>t===""||t===null},string:{deserialize:t=>t,serialize:t=>String(t),isEmpty:t=>t===""||t===null},map:{deserialize:t=>new Map(JSON.parse(t)),serialize:t=>JSON.stringify(Array.from(t.entries())),isEmpty:t=>{const e=Array.from(t.values());return e.length===0||e.every(s=>s===""||s===null)}},set:{deserialize:t=>new Set(JSON.parse(t)),serialize:t=>JSON.stringify(Array.from(t.entries())),isEmpty:t=>{const e=Array.from(t.values());return e.length===0||e.every(s=>s===""||s===null)}}};function dt(t,e,s,i={writeDefaults:!0}){let r,{writeDefaults:n}=i;s==null?r="any":s instanceof Set?r="set":s instanceof Map?r="map":typeof s=="boolean"?r="boolean":typeof s=="string"?r="string":typeof s=="object"||Array.isArray(s)?r="object":Number.isNaN(s)?r="any":r="number";let o=G({value:s}),c=localStorage;const u=ct[r],g=()=>{const w=c.getItem(e);return w==null?(o.value=s,n&&s!==null&&c.setItem(e,u.serialize(s))):o.value=u.deserialize(w),o.value},p=w=>{c.setItem(e,u.serialize(w)),o.value=w},_=()=>(c.removeItem(e),o.value=s,o.value),M=()=>{let w=c.getItem(e);return u.isEmpty(w)};return g(),{get value(){return g()},set value(w){p(w)},read:g,clear:_,write:p,isEmpty:M}}function L(t,e,s){let i,r=null;e=e.bind(t);let n=()=>{e(),r=null,Object.assign(t,{disconnect:i})},o=()=>r=setTimeout(n,s),c=()=>{r!==null&&(clearTimeout(r),r=null)};return i=y(t,o,c),c}function mt(t,e,s,i,r){const n=(_,M)=>{v(_)?_.value=M:_.textContent=M},o=_=>v(_)?_.value:_.innerHTML;let c=()=>{},u=o(e);const g=()=>{n(e,u),c(),r&&r.call(t)};return y(t,()=>{n(e,s),i!==void 0&&(c=L(t,g,i))},g),{teardown:g,update(_){n(e,_)}}}async function ft(t,e,s){try{return await fetch(e,s)}catch(i){if(t===1)throw i;return await ft(t-1,e,s)}}class N extends h{get _errorMessage(){return this.hasErrorMessageValue?this.errorMessageValue:"This content failed to load"}get _maxRetries(){return this.hasMaxRetriesValue?this.maxRetriesValue:1}connect(){}async loadContent(e=null){e==null||e.preventDefault();let s=this,i=this.hasReplaceTarget?this.replaceTarget:this.el,r=()=>{i.replaceWith(this._errorMessage),s.dispatchEvent(i,"ajax:error")};try{let n=await ft(this._maxRetries,this.endpointValue);n.ok||r();let o=await n.text(),c=document.createElement("div");if(c.innerHTML=o,this.hasSelectorValue){let u=c.querySelectorAll(this.selectorValue);i.replaceWith(...u)}else i.replaceWith(...c.children);s.dispatchEvent(i,"ajax:success")}catch{r()}finally{s.dispatchEvent(i,"ajax:complete")}}}l(N,"targets",["replace"]),l(N,"values",{endpoint:String,errorMessage:String,selector:String,maxRetries:Number});class _e extends N{get _errorMessage(){return this.hasErrorMessageValue?this.errorMessageValue:"This content failed to load"}async connect(){await this.loadContent()}}l(_e,"targets",["replace"]),l(_e,"values",{endpoint:String,errorMessage:String,selector:String,maxRetries:Number});function Ss(t,e,s){e=e.bind(t);let i=new IntersectionObserver(e,s);return{observer:i,teardown:()=>{i==null||i.disconnect(),i=null},observe:c=>i==null?void 0:i.observe(c),unobserve:c=>i==null?void 0:i.unobserve(c)}}function be(t,e,s,i,r){s&&(s=s.bind(t)),i&&(i=i.bind(t));let n=r!=null?r:{},o=M=>{M.forEach(w=>{w.isIntersecting?s&&s(w):i&&i(w)})},{observer:c,observe:u,unobserve:g,teardown:p}=Ss(t,o,n);return y(t,()=>u(e),p),{observer:c,observe:()=>u(e),unobserve:()=>g(e),teardown:p}}class Vs extends N{async connect(){let e=this.el;if("IntersectionObserver"in window){let{observe:s,unobserve:i}=be(this,e,this.appear,null,{threshold:.3});this.observe=s,this.unobserve=i}else await this.loadContent()}async appear(e){e.target===this.el&&e.isIntersecting&&(await this.loadContent(),this.unobserve&&this.unobserve())}}class ve extends N{connect(){if(!this.hasSecondsValue)throw new Error("Required value `seconds` is missing");requestAnimationFrame(()=>{this._timeout(),B(this,this._timeout,this.secondsValue*1e3)})}async _timeout(){await this.loadContent()}}l(ve,"targets",["replace"]),l(ve,"values",{endpoint:String,errorMessage:String,selector:String,maxRetries:Number,seconds:Number});class gt extends h{get _eventModes(){if(this.hasEventModeValue){let e=this.eventModeValue.split(" ").map(s=>s.trim());if(e.length===1&&e[0]==="debounced")return["change","input"];if(!e.every(s=>["change","input"].includes(s)))throw new Error(`The modeValue provided '${this.eventModeValue}' is not one of the recognised configuration options`);return e}else return["change"]}get _debounceTimeout(){return this.hasDebounceIntervalValue?this.debounceIntervalValue:-1}get _mode(){if(this.hasSubmitModeValue){if(!["direct","request"].includes(this.submitModeValue))throw new Error(`The modeValue provided '${this.submitModeValue}' is not one of the recognised configuration options`);return this.submitModeValue}else return"request"}get _cssSelector(){let e=["input","textarea","select"],s=":not([data-no-autosubmit])";return e.map(i=>i.concat(s)).join(",")}get inputElements(){let e=Array.from(this.element.querySelectorAll(this._cssSelector));return e=e.filter(s=>!this._ancestorIsTrix(s)),e}connect(){this.inputElements.forEach(e=>d(this,e,this._eventModes,this.submit,{debounce:this._debounceTimeout&&this._debounceTimeout>0?this._debounceTimeout:void 0}))}_ancestorIsTrix(e){return e.closest("trix-toolbar")!==null&&e.closest("trix-editor")!==null}submit(){let e=this.el;this._mode=="request"?ge(e):e.submit()}}l(gt,"values",{submitMode:String,eventMode:String,debounceInterval:Number});class ks extends h{connect(){let{teardown:e}=be(this,this.el,this.appear);if(this._unobserveIntersection=e,!W(this.el))throw new Error(`Expected controller to be attached to a textarea, but was a '${this.el.tagName}'`);requestAnimationFrame(()=>{this.el.style.resize="none",this.el.style.boxSizing="border-box",this._handler(),d(this,window,["resize"],this._handler),d(this,this.el,["input","change","focus"],this._handler,{debounce:100})})}appear(e){this.autosize(this.el),this._unobserveIntersection()}_handler(){this.autosize(this.el)}autosize(e){let s=e.offsetHeight-e.clientHeight;e.style.height="auto",e.style.height=e.scrollHeight+s+"px"}}function F(t,e){const s=t[e];return typeof s=="function"?s:s!=null?()=>s:()=>{}}function J(t){return m.upperFirst(m.camelCase(t))}function Ms(t,e){let s=t.element,i=()=>t[`has${J(e)}Class`]==!0,r=()=>t[`${e}Classes`],n=()=>F(t,`default${J(e)}Classes`).call(t)||[],o=()=>i()?r():n();t[`${e}Classes`]==null&&Object.defineProperty(t,`${e}Classes`,{get:()=>i()?t[`${e}Class`].split(" "):n()});let c={[`add${J(e)}Classes`]:(u=s)=>u.classList.add(...o()),[`remove${J(e)}Classes`]:(u=s)=>u.classList.remove(...o()),[`${e}ClassesPresent`]:(u=s)=>o().every(g=>u.classList.contains(g))};Object.assign(t,c)}function T(t){(t.constructor.classes||[]).forEach(s=>Ms(t,s))}class X extends h{connect(){T(this),requestAnimationFrame(()=>{d(this,this.inputTarget,"input",this._updateCharCount),this._updateCharCount()})}_updateCharCount(){let e=this.inputTarget.value.length;this.outputTarget.innerText=e.toString(),this._isValidCount(e)?this.removeErrorClasses(this.outputTarget):this.addErrorClasses(this.outputTarget)}_isValidCount(e){let s=0,i=99999;return this.hasMinValue&&(s=this.minValue),this.hasMaxValue&&(i=this.maxValue),e>=s&&e<=i}}l(X,"targets",["input","output"]),l(X,"values",{min:Number,max:Number}),l(X,"classes",["error"]);class we extends h{connect(){this.toggle()}toggle(){this.hasDisablerTarget&&this.disablerTarget.checked?this.disable():this.enable()}disable(){let e=this.hasClearValue&&this.clearValue;this.disableTargets.forEach((s,i)=>{e&&(s.value=""),s.disabled=!0})}enable(){this.disableTargets.forEach((e,s)=>{e.disabled=!1})}}l(we,"targets",["disabler","disable"]),l(we,"values",{clear:Boolean});class ye extends h{connect(){this.toggle()}toggle(){this.hasEnablerTarget&&this.enablerTarget.checked?this.enable():this.disable()}disable(){let e=this.hasClearValue&&this.clearValue;this.enableTargets.forEach((s,i)=>{e&&(s.value=""),s.disabled=!0})}enable(){this.enableTargets.forEach((e,s)=>{e.disabled=!1})}}l(ye,"targets",["enabler","enable"]),l(ye,"values",{clear:Boolean});class pt extends h{get _checked(){return this._enabled.filter(e=>e.checked)}get _enabled(){return this.checkboxTargets.filter(e=>!e.disabled&&!e.readOnly)}get _unchecked(){return this._enabled.filter(e=>!e.checked)}connect(){requestAnimationFrame(()=>{!this.hasSelectAllTarget||(d(this,this.selectAllTarget,"change",this._toggle),D(this,this.checkboxTargets,"change",this._refresh),this._refresh())})}_toggle(e){e.preventDefault();let s=e.target;this._enabled.forEach(i=>i.checked=i.disabled||i.readOnly?i.checked:s.checked)}_refresh(){const e=this._enabled.length,s=this._checked.length;this.selectAllTarget.checked=s>0,this.selectAllTarget.indeterminate=s>0&&s<e}}l(pt,"targets",["selectAll","checkbox"]);class _t extends h{connect(){D(this,this.checkboxTargets,"change",this._update)}_otherCheckboxes(e){return Array.from(this.checkboxTargets).filter(s=>s!==e)}_update(e){const s=e.target;if(!s)throw new Error("No target found on event");let i=this._otherCheckboxes(s);s.checked&&i.forEach(r=>{r.checked=!1,this.dispatchEvent(this.el,"change")})}}l(_t,"targets",["checkbox"]);class As extends h{get _cacheAttrName(){return"detect-dirty-load-value"}connect(){let e=this.el;this._cacheLoadValues(),this._checkDirty(),d(this,e,["input","change"],this._checkDirty,{debounce:10})}restore(e){e==null||e.preventDefault(),this._restoreElementFromLoadValue()}_getElementValue(){let e=this.el;return k(e)?e.checked:e.value}_getElementLoadValue(){let e=this.el,s=e.getAttribute(this._cacheAttrName);if(k(e))return s==null?e.defaultChecked:s=="true";if(I(e))Array.from(e.options).forEach(r=>{if(r.defaultSelected)return e.value=r.value,r.value});else if(s!==null)return s;return s}_elementHasCachedLoadValue(){return this.el.hasAttribute(this._cacheAttrName)}_checkDirty(){let e=this.el;v(e)&&e.type=="radio"&&fe(e).forEach(s=>s.removeAttribute("data-dirty")),this._isElementDirty()?e.setAttribute("data-dirty","true"):e.removeAttribute("data-dirty")}_isElementDirty(){return this._getElementValue()!==this._getElementLoadValue()}_restoreElementFromLoadValue(){let e=this.el,s=e.getAttribute(this._cacheAttrName);k(e)?(e.setAttribute(this._cacheAttrName,e.checked.toString()),e.checked=s==null?e.defaultChecked:s=="true"):I(e)?s==null?Array.from(e.options).forEach(r=>{if(r.defaultSelected){e.value=r.value;return}}):e.value=s:e.value=s==null?e.defaultValue:s}_cacheLoadValues(){let e=this.el;!this._elementHasCachedLoadValue()&&k(e)?e.setAttribute(this._cacheAttrName,e.checked.toString()):e.setAttribute(this._cacheAttrName,e.value.toString())}}function Ds(t){return t.hasAttribute("data-dirty")}class Ls extends h{get _formElements(){return Array.from(this.el.querySelectorAll("input, select, textarea"))}get _cacheAttrName(){return"detect-dirty-load-value"}connect(){let e=this.el;this._cacheLoadValues(),this._checkDirty(),d(this,e,["input","change"],this._checkDirty,{debounce:10})}restore(e){e==null||e.preventDefault(),this._formElements.forEach(s=>this._restoreElementFromLoadValue(s))}_getElementValue(e){return k(e)?e.checked:e.value}_getElementLoadValue(e){let s=e.getAttribute(this._cacheAttrName);if(k(e))return s==null?e.defaultChecked:s=="true";if(I(e))Array.from(e.options).forEach(r=>{if(r.defaultSelected)return e.value=r.value,r.value});else if(s!==null)return s;return s}_elementHasCachedLoadValue(e){return e.hasAttribute(this._cacheAttrName)}_checkElementDirty(e){v(e)&&e.type=="radio"&&fe(e).forEach(s=>s.removeAttribute("data-dirty")),this._isElementDirty(e)?e.setAttribute("data-dirty","true"):e.removeAttribute("data-dirty")}_isElementDirty(e){return this._getElementValue(e)!==this._getElementLoadValue(e)}_cacheElementLoadValue(e){!this._elementHasCachedLoadValue(e)&&k(e)?e.setAttribute(this._cacheAttrName,e.checked.toString()):e.setAttribute(this._cacheAttrName,e.value.toString())}_restoreElementFromLoadValue(e){let s=e.getAttribute(this._cacheAttrName);k(e)?(e.setAttribute(this._cacheAttrName,e.checked.toString()),e.checked=s==null?e.defaultChecked:s=="true"):I(e)?s==null?Array.from(e.options).forEach(r=>{if(r.defaultSelected){e.value=r.value;return}}):e.value=s:e.value=s==null?e.defaultValue:s}_cacheLoadValues(){this._formElements.forEach(e=>this._cacheElementLoadValue(e))}_checkDirty(){this._formElements.forEach(e=>this._checkElementDirty(e)),this._formElements.some(e=>bt(e))?this.el.setAttribute("data-dirty","true"):this.el.removeAttribute("data-dirty")}}function bt(t){return t.hasAttribute("data-dirty")}class Ee extends h{connect(){}disable(){let e=this.hasClearValue&&this.clearValue;this.inputTargets.forEach((s,i)=>{e&&(s.value=""),s.disabled=!0})}enable(){this.inputTargets.forEach((e,s)=>e.disabled=!1)}}l(Ee,"targets",["input"]),l(Ee,"values",{clear:Boolean});class vt extends h{get _mode(){const e=["immediate","wait"];if(this.hasModeValue){if(e.includes(this.modeValue))return this.modeValue;throw new Error(`The given modeValue '${this.modeValue}' is not one of the supported modes: "${e.join('", "')}"`)}else return e[0]}connect(){this._mode=="immediate"&&this.steal()}steal(){this.el.focus()}}l(vt,"values",{mode:String});class Te extends h{get _mode(){if(this.hasSubmitModeValue){if(!["direct","request"].includes(this.submitModeValue))throw new Error(`The modeValue provided '${this.submitModeValue}' is not one of the recognised configuration options`);return this.submitModeValue}else return"request"}get form(){let e;if(this.hasFormSelectorValue){if(e=document.querySelector(this.formSelectorValue),!e)throw new Error(`Could not find a form on the page that matches selector '${this.formSelectorValue}'`)}else e=this.formTarget;return e}submit(e){e==null||e.preventDefault();let s=this.formTarget;this._mode=="request"?ge(s):s.submit()}reset(e){e==null||e.preventDefault(),nt(this.form)}}l(Te,"targets",["form"]),l(Te,"values",{formSelector:String,submitMode:String});class wt extends h{get _formID(){if(this.hasIdValue)return this.idValue;let e=this.el.id;if(e!=="")return e;throw new Error(`No ID value to uniquely identify this form. Please either specify data-${this.identifier}-id-value or give this form an 'id' attribute. `)}get _formIdentifier(){return`${location.href} ${this._formID}`}get _formElements(){return this.el.elements}get _formData(){let e={[this._formIdentifier]:{}};for(const s of this._formElements){let i=s;i.name.length>0&&(v(i)&&i.type=="checkbox"?e[this._formIdentifier][i.name]=i.checked:v(i)&&i.type=="radio"?i.checked&&(e[this._formIdentifier][i.name]=i.value):e[this._formIdentifier][i.name]=i.value)}return e}get _restoreOnLoad(){return this.hasRestoreOnLoadValue?this.restoreOnLoadValue:!0}get _clearOnSubmit(){return this.hasClearOnSubmitValue?this.clearOnSubmitValue:!0}connect(){requestAnimationFrame(()=>{let e=this.el;if(!he(e))throw new Error("Expected controller to be mounted on a form element.");this._restoreOnLoad&&this.restore(),this._clearOnSubmit&&d(this,this.el,"submit",this._clear)})}_clear(){localStorage.removeItem(this._formIdentifier),this.dispatchEvent(this.el,"form-save:cleared")}clear(e){e==null||e.preventDefault(),this._clear()}save(e){e.preventDefault();let s=this._formData;localStorage.setItem(this._formIdentifier,JSON.stringify(s[this._formIdentifier])),this.dispatchEvent(this.el,"form-save:save:success")}restore(e){if(e==null||e.preventDefault(),localStorage.getItem(this._formIdentifier)){const s=JSON.parse(localStorage.getItem(this._formIdentifier));for(const i of this._formElements){let r=i;r.name in s&&(v(r)&&r.type=="checkbox"?r.checked=s[r.name]:v(r)&&r.type=="radio"?r.value==s[r.name]&&(r.checked=!0):r.value=s[r.name])}this.dispatchEvent(this.el,"form-save:restore:success")}else this.dispatchEvent(this.el,"form-save:restore:empty")}}l(wt,"values",{id:String,restoreOnLoad:Boolean,clearOnSubmit:Boolean});class Ce extends h{connect(){D(this,this.inputTargets,"change",this._handleInputs)}_handleInputs(e){let s=this.inputTargets.reduce((r,n)=>n.checked?r+1:r,0),i=e.target;s>this.maxValue?(e.preventDefault(),i.checked=!1,this.dispatchEvent(i,"change"),this.dispatchEvent(i,"limited-selection:too-many"),this.hasErrorTarget&&this.hasMessageValue&&(this.errorTarget.innerHTML=this.messageValue)):(this.dispatchEvent(i,"limited-selection:selection"),this.hasErrorTarget&&(this.errorTarget.innerHTML=""))}}l(Ce,"targets",["input","error"]),l(Ce,"values",{max:Number,message:String});class Y extends h{constructor(){super(...arguments);l(this,"_errors",[]);l(this,"_firstClick",!1)}get defaultCurrentClasses(){return["currentError"]}get _errorCount(){return this._errors.length}get _previousIndex(){let e=this._index-1;return e<0?0:e}get _nextIndex(){let e=this._index+1;return e>this._errors.length-1?this._errors.length-1:e}get _index(){return m.clamp(this.hasIndexValue?this.indexValue:0,0,this._errors.length)}get _selector(){if(this.hasSelectorValue)return this.selectorValue;throw new Error("Expected `selectorValue` to be present")}get _currentError(){return this._errors[this._index]}get _otherErrors(){return this._errors.filter((e,s)=>s!==this._index)}connect(){T(this),requestAnimationFrame(()=>{this._firstClick=!0,this._toggleButtons(),this._toggleVisibility()})}async current(e){e==null||e.preventDefault(),this._firstClick&&(this._firstClick=!1,this._toggleButtons()),await A(this._currentError,{behavior:"smooth",block:"center",inline:"center"}),this._updateClasses()}async next(e){e==null||e.preventDefault(),this._firstClick?(this._firstClick=!1,this._toggleButtons()):this.indexValue=this._nextIndex,await A(this._currentError,{behavior:"smooth",block:"center",inline:"center"}),this._updateClasses()}async previous(e){e==null||e.preventDefault(),this._firstClick?(this._firstClick=!1,this._toggleButtons()):this.indexValue=this._previousIndex,await A(this._currentError,{behavior:"smooth",block:"center",inline:"center"}),this._updateClasses()}indexValueChanged(){this._toggleButtons()}selectorValueChanged(){this._errors=Array.from(document.querySelectorAll(this._selector)),this.indexValue=0,this._toggleButtons(),this._toggleVisibility()}_updateClasses(){this.addCurrentClasses(this._currentError),this._otherErrors.forEach(e=>this.removeCurrentClasses(e))}_toggleVisibility(){this._errorCount===0?this.el.style.display="none":this.el.style.display=""}_toggleButtons(){if(this.hasNextTarget)if(!this.hasCurrentTarget&&this._firstClick&&this.indexValue==this._errorCount-1){this.nextTarget.removeAttribute("disabled");return}else this.indexValue>=this._errorCount-1?this.nextTarget.setAttribute("disabled","true"):this.nextTarget.removeAttribute("disabled");this.hasPreviousTarget&&(this.indexValue<=0?this.previousTarget.setAttribute("disabled","true"):this.previousTarget.removeAttribute("disabled"))}}l(Y,"values",{selector:String,index:Number}),l(Y,"classes",["current"]),l(Y,"targets",["next","current","previous"]);class Se extends h{get _wrapperClass(){return this.hasWrapperSelectorValue?this.wrapperClassValue:"nested-fields"}get _insertMode(){return this.hasInsertModeValue?this.insertModeValue:"beforeend"}connect(){this._checkStructure()}add(e){e==null||e.preventDefault();const s=this.templateTarget.innerHTML.replace(/NEW_RECORD/g,this._generateID());this.targetTarget.insertAdjacentHTML(this._insertMode,s)}remove(e){e.preventDefault();const s=e.target.closest(`.${this._wrapperClass}`);if(s==null)throw new Error(`#remove was clicked from outside of a child record. Could not find an ancestor with class .${this._wrapperClass}`);if(s.dataset.newRecord==="true")s.remove();else{s.style.display="none";let i=s.querySelector("input[name*='_destroy']");if(i==null)throw new Error("Could not find a hidden input with name '_destroy'. NestedForm cannot remove an already persisted record without it.");i.value="1"}}_generateID(){return new Date().getTime().toString()+Math.random().toString().slice(2)}_checkStructure(){if(this.templateTarget.innerHTML.indexOf("NEW_RECORD"))throw new Error("Could not find 'NEW_RECORD' in the provided template. Please make sure you've passed `child_index: 'NEW_RECORD'` to `fields_for`")}}l(Se,"targets",["target","template"]),l(Se,"values",{insertMode:String,wrapperClass:String});class Ve extends h{connect(){T(this),D(this,this.passwordTargets,"change",this._checkPasswordsMatch)}_allPasswordsMatch(){let e=new Set(this.passwordTargets.map(s=>s.value));return e.has("")||e.size==1}_checkPasswordsMatch(){let e=this.el;this._allPasswordsMatch()?(this.dispatchEvent(e,"password-confirm:match"),this.passwordTargets.forEach(s=>this.removeErrorClasses(s))):(this.dispatchEvent(e,"password-confirm:no-match"),this.passwordTargets.forEach(s=>this.addErrorClasses(s)))}}l(Ve,"targets",["password"]),l(Ve,"classes",["error"]);class yt extends h{peak(e){e==null||e.preventDefault(),this.passwordTarget.type="text"}hide(e){e==null||e.preventDefault(),this.passwordTarget.type="password"}toggle(e){e==null||e.preventDefault(),this.passwordTarget.type==="password"?this.peak():this.hide()}}l(yt,"targets",["password"]);class ke extends h{get _selector(){return this.hasSelectorValue?this.selectorValue:`[data-controller~="${this.identifier}"]`}replace(e){const[s,i,r]=e.detail;if(s instanceof Node){let n=s.querySelector(this._selector);if(n==null)throw new Error(`expected new form DOM with [data-controller="${this.identifier}"] to be present in returned payload`);let o=this.el.parentNode;if(o==null)throw new Error("expected form to have a DOM parent, could not execute replaceChild");o.replaceChild(n,this.el),this.dispatchEvent(n,"remote-form:replace")}else console.log("Unknown",s)}}l(ke,"targets",[]),l(ke,"values",{selector:String});function R(t,e,s,i){let r=i;(r==null?void 0:r.debounce)?(s=m.debounce(s.bind(t),r.debounce),delete r.debounce):s=s.bind(t);let n=lt(e),o=()=>n.forEach(u=>V.on(u,s)),c=()=>n.forEach(u=>V.off(u,s));return y(t,o,c),{setup:o,teardown:c}}class Et extends h{get _eventName(){return`sync:${this._key}`}get _key(){if(this.hasKeyValue)return this.keyValue;throw new Error("Expected `keyValue` to be present")}get _value(){let e=this.el;return v(e)&&e.type==="checkbox"?e.checked:v(e)&&e.type==="radio"?e.checked?e.value:"":e.value}set _value(e){let s=this.el;v(s)&&s.type==="checkbox"?s.checked=e.toString()==="true":v(s)&&s.type==="radio"?s.checked=s.value===e:v(s)||W(s)||I(s)?s.value=e.toString():s.innerHTML=e.toString()}connect(){R(this,this._eventName,this._read),requestAnimationFrame(()=>{st(this.el)&&(this._emit(),d(this,this.el,"input",this._emit))})}_emit(){V.emit(this._eventName,{value:this._value,dispatcher:this.el})}_read(e){if(e===void 0)throw new Error("No payload received");let{dispatcher:s,value:i}=e;s!==this.el&&(this._value=i)}}l(Et,"values",{key:String});class Z extends h{get _maxMessage(){return this.hasMaxMessageValue?this.maxMessageValue:`Value must be less than ${this.maxValue}`}get _minMessage(){return this.hasMinMessageValue?this.minMessageValue:`Value must be greater than ${this.minValue}`}get defaultWarningHideClasses(){return["hide"]}connect(){T(this),this.addWarningHideClasses(this.warningTarget),d(this,this.inputTarget,"input",this._check),this._check()}_check(){this.hasMinValue&&Number.parseFloat(this.inputTarget.value)<this.minValue?(this.removeWarningHideClasses(this.warningTarget),this.addInputWarningClasses(this.inputTarget),this.warningTarget.innerText=this._minMessage):this.hasMaxValue&&Number.parseFloat(this.inputTarget.value)>this.maxValue?(this.removeWarningHideClasses(this.warningTarget),this.addInputWarningClasses(this.inputTarget),this.warningTarget.innerText=this._maxMessage):(this.addWarningHideClasses(this.warningTarget),this.removeInputWarningClasses(this.inputTarget),this.warningTarget.innerText="")}}l(Z,"classes",["inputWarning","warningHide"]),l(Z,"targets",["input","warning"]),l(Z,"values",{max:Number,min:Number,minMessage:String,maxMessage:String});class Q extends h{connect(){T(this),this._updateWordCount(),d(this,this.inputTarget,"input",this._updateWordCount)}_updateWordCount(){let e=0,i=this.inputTarget.value.match(/\S+/g);e=i&&i.length||0,this.outputTarget.innerText=e.toString(),this._isValidCount(e)?this.removeErrorClasses(this.outputTarget):this.addErrorClasses(this.outputTarget)}_isValidCount(e){let s=0,i=99999;return this.hasMinValue&&(s=this.minValue),this.hasMaxValue&&(i=this.maxValue),e>=s&&e<=i}}l(Q,"targets",["input","output"]),l(Q,"values",{min:Number,max:Number}),l(Q,"classes",["error"]);class Me extends h{initialize(){this._hasLoadedSuccessfully=this._hasLoadedSuccessfully.bind(this),this._success=this._success.bind(this),this._fail=this._fail.bind(this)}connect(){let e=this.el;e.onerror=this._fail,e.complete&&!this._hasLoadedSuccessfully()?this._fail():this._success()}disconnect(){this.removeSuccessClasses(),this.removeFailClasses()}_success(){this.addSuccessClasses()}_fail(){let e=this.el;this.addFailClasses(),this.hasPlaceholderValue&&e.src!==this.placeholderValue?(this.dispatchEvent(e,"fallback-image:placeholder"),e.src=this.placeholderValue,e.onerror=this._fail):(this.dispatchEvent(e,"fallback-image:fail"),e.style.display="none")}_hasLoadedSuccessfully(){let e=this.el;return e.naturalHeight>0&&e.naturalWidth>0}}l(Me,"values",{placeholder:String}),l(Me,"classes",["success","fail"]);var H=window.CustomEvent;(!H||typeof H=="object")&&(H=function(e,s){s=s||{};var i=document.createEvent("CustomEvent");return i.initCustomEvent(e,!!s.bubbles,!!s.cancelable,s.detail||null),i},H.prototype=window.Event.prototype);function Tt(t,e){var s="on"+e.type.toLowerCase();return typeof t[s]=="function"&&t[s](e),t.dispatchEvent(e)}function Is(t){for(;t&&t!==document.body;){var e=window.getComputedStyle(t),s=function(i,r){return!(e[i]===void 0||e[i]===r)};if(e.opacity<1||s("zIndex","auto")||s("transform","none")||s("mixBlendMode","normal")||s("filter","none")||s("perspective","none")||e.isolation==="isolate"||e.position==="fixed"||e.webkitOverflowScrolling==="touch")return!0;t=t.parentElement}return!1}function q(t){for(;t;){if(t.localName==="dialog")return t;t.parentElement?t=t.parentElement:t.parentNode?t=t.parentNode.host:t=null}return null}function Ct(t){for(;t&&t.shadowRoot&&t.shadowRoot.activeElement;)t=t.shadowRoot.activeElement;t&&t.blur&&t!==document.body&&t.blur()}function Ns(t,e){for(var s=0;s<t.length;++s)if(t[s]===e)return!0;return!1}function Ae(t){return!t||!t.hasAttribute("method")?!1:t.getAttribute("method").toLowerCase()==="dialog"}function St(t){var e=["button","input","keygen","select","textarea"],s=e.map(function(o){return o+":not([disabled])"});s.push('[tabindex]:not([disabled]):not([tabindex=""])');var i=t.querySelector(s.join(", "));if(!i&&"attachShadow"in Element.prototype)for(var r=t.querySelectorAll("*"),n=0;n<r.length&&!(r[n].tagName&&r[n].shadowRoot&&(i=St(r[n].shadowRoot),i));n++);return i}function Vt(t){return t.isConnected||document.body.contains(t)}function kt(t){if(t.submitter)return t.submitter;var e=t.target;if(!(e instanceof HTMLFormElement))return null;var s=f.formSubmitter;if(!s){var i=t.target,r="getRootNode"in i&&i.getRootNode()||document;s=r.activeElement}return!s||s.form!==e?null:s}function Hs(t){if(!t.defaultPrevented){var e=t.target,s=f.imagemapUseValue,i=kt(t);s===null&&i&&(s=i.value);var r=q(e);if(!!r){var n=i&&i.getAttribute("formmethod")||e.getAttribute("method");n==="dialog"&&(t.preventDefault(),s!=null?r.close(s):r.close())}}}function Mt(t){if(this.dialog_=t,this.replacedStyleTop_=!1,this.openAsModal_=!1,t.hasAttribute("role")||t.setAttribute("role","dialog"),t.show=this.show.bind(this),t.showModal=this.showModal.bind(this),t.close=this.close.bind(this),t.addEventListener("submit",Hs,!1),"returnValue"in t||(t.returnValue=""),"MutationObserver"in window){var e=new MutationObserver(this.maybeHideModal.bind(this));e.observe(t,{attributes:!0,attributeFilter:["open"]})}else{var s=!1,i=function(){s?this.downgradeModal():this.maybeHideModal(),s=!1}.bind(this),r,n=function(o){if(o.target===t){var c="DOMNodeRemoved";s|=o.type.substr(0,c.length)===c,window.clearTimeout(r),r=window.setTimeout(i,0)}};["DOMAttrModified","DOMNodeRemoved","DOMNodeRemovedFromDocument"].forEach(function(o){t.addEventListener(o,n)})}Object.defineProperty(t,"open",{set:this.setOpen.bind(this),get:t.hasAttribute.bind(t,"open")}),this.backdrop_=document.createElement("div"),this.backdrop_.className="backdrop",this.backdrop_.addEventListener("mouseup",this.backdropMouseEvent_.bind(this)),this.backdrop_.addEventListener("mousedown",this.backdropMouseEvent_.bind(this)),this.backdrop_.addEventListener("click",this.backdropMouseEvent_.bind(this))}Mt.prototype={get dialog(){return this.dialog_},maybeHideModal:function(){this.dialog_.hasAttribute("open")&&Vt(this.dialog_)||this.downgradeModal()},downgradeModal:function(){!this.openAsModal_||(this.openAsModal_=!1,this.dialog_.style.zIndex="",this.replacedStyleTop_&&(this.dialog_.style.top="",this.replacedStyleTop_=!1),this.backdrop_.parentNode&&this.backdrop_.parentNode.removeChild(this.backdrop_),f.dm.removeDialog(this))},setOpen:function(t){t?this.dialog_.hasAttribute("open")||this.dialog_.setAttribute("open",""):(this.dialog_.removeAttribute("open"),this.maybeHideModal())},backdropMouseEvent_:function(t){if(this.dialog_.hasAttribute("tabindex"))this.dialog_.focus();else{var e=document.createElement("div");this.dialog_.insertBefore(e,this.dialog_.firstChild),e.tabIndex=-1,e.focus(),this.dialog_.removeChild(e)}var s=document.createEvent("MouseEvents");s.initMouseEvent(t.type,t.bubbles,t.cancelable,window,t.detail,t.screenX,t.screenY,t.clientX,t.clientY,t.ctrlKey,t.altKey,t.shiftKey,t.metaKey,t.button,t.relatedTarget),this.dialog_.dispatchEvent(s),t.stopPropagation()},focus_:function(){var t=this.dialog_.querySelector("[autofocus]:not([disabled])");!t&&this.dialog_.tabIndex>=0&&(t=this.dialog_),t||(t=St(this.dialog_)),Ct(document.activeElement),t&&t.focus()},updateZIndex:function(t,e){if(t<e)throw new Error("dialogZ should never be < backdropZ");this.dialog_.style.zIndex=t,this.backdrop_.style.zIndex=e},show:function(){this.dialog_.open||(this.setOpen(!0),this.focus_())},showModal:function(){if(this.dialog_.hasAttribute("open"))throw new Error("Failed to execute 'showModal' on dialog: The element is already open, and therefore cannot be opened modally.");if(!Vt(this.dialog_))throw new Error("Failed to execute 'showModal' on dialog: The element is not in a Document.");if(!f.dm.pushDialog(this))throw new Error("Failed to execute 'showModal' on dialog: There are too many open modal dialogs.");Is(this.dialog_.parentElement)&&console.warn("A dialog is being shown inside a stacking context. This may cause it to be unusable. For more information, see this link: https://github.com/GoogleChrome/dialog-polyfill/#stacking-context"),this.setOpen(!0),this.openAsModal_=!0,f.needsCentering(this.dialog_)?(f.reposition(this.dialog_),this.replacedStyleTop_=!0):this.replacedStyleTop_=!1,this.dialog_.parentNode.insertBefore(this.backdrop_,this.dialog_.nextSibling),this.focus_()},close:function(t){if(!this.dialog_.hasAttribute("open"))throw new Error("Failed to execute 'close' on dialog: The element does not have an 'open' attribute, and therefore cannot be closed.");this.setOpen(!1),t!==void 0&&(this.dialog_.returnValue=t);var e=new H("close",{bubbles:!1,cancelable:!1});Tt(this.dialog_,e)}};var f={};if(f.reposition=function(t){var e=document.body.scrollTop||document.documentElement.scrollTop,s=e+(window.innerHeight-t.offsetHeight)/2;t.style.top=Math.max(e,s)+"px"},f.isInlinePositionSetByStylesheet=function(t){for(var e=0;e<document.styleSheets.length;++e){var s=document.styleSheets[e],i=null;try{i=s.cssRules}catch{}if(!!i)for(var r=0;r<i.length;++r){var n=i[r],o=null;try{o=document.querySelectorAll(n.selectorText)}catch{}if(!(!o||!Ns(o,t))){var c=n.style.getPropertyValue("top"),u=n.style.getPropertyValue("bottom");if(c&&c!=="auto"||u&&u!=="auto")return!0}}}return!1},f.needsCentering=function(t){var e=window.getComputedStyle(t);return e.position!=="absolute"||t.style.top!=="auto"&&t.style.top!==""||t.style.bottom!=="auto"&&t.style.bottom!==""?!1:!f.isInlinePositionSetByStylesheet(t)},f.forceRegisterDialog=function(t){if((window.HTMLDialogElement||t.showModal)&&console.warn("This browser already supports <dialog>, the polyfill may not work correctly",t),t.localName!=="dialog")throw new Error("Failed to register dialog: The element is not a dialog.");new Mt(t)},f.registerDialog=function(t){t.showModal||f.forceRegisterDialog(t)},f.DialogManager=function(){this.pendingDialogStack=[];var t=this.checkDOM_.bind(this);this.overlay=document.createElement("div"),this.overlay.className="_dialog_overlay",this.overlay.addEventListener("click",function(e){this.forwardTab_=void 0,e.stopPropagation(),t([])}.bind(this)),this.handleKey_=this.handleKey_.bind(this),this.handleFocus_=this.handleFocus_.bind(this),this.zIndexLow_=1e5,this.zIndexHigh_=1e5+150,this.forwardTab_=void 0,"MutationObserver"in window&&(this.mo_=new MutationObserver(function(e){var s=[];e.forEach(function(i){for(var r=0,n;n=i.removedNodes[r];++r){if(n instanceof Element)n.localName==="dialog"&&s.push(n);else continue;s=s.concat(n.querySelectorAll("dialog"))}}),s.length&&t(s)}))},f.DialogManager.prototype.blockDocument=function(){document.documentElement.addEventListener("focus",this.handleFocus_,!0),document.addEventListener("keydown",this.handleKey_),this.mo_&&this.mo_.observe(document,{childList:!0,subtree:!0})},f.DialogManager.prototype.unblockDocument=function(){document.documentElement.removeEventListener("focus",this.handleFocus_,!0),document.removeEventListener("keydown",this.handleKey_),this.mo_&&this.mo_.disconnect()},f.DialogManager.prototype.updateStacking=function(){for(var t=this.zIndexHigh_,e=0,s;s=this.pendingDialogStack[e];++e)s.updateZIndex(--t,--t),e===0&&(this.overlay.style.zIndex=--t);var i=this.pendingDialogStack[0];if(i){var r=i.dialog.parentNode||document.body;r.appendChild(this.overlay)}else this.overlay.parentNode&&this.overlay.parentNode.removeChild(this.overlay)},f.DialogManager.prototype.containedByTopDialog_=function(t){for(;t=q(t);){for(var e=0,s;s=this.pendingDialogStack[e];++e)if(s.dialog===t)return e===0;t=t.parentElement}return!1},f.DialogManager.prototype.handleFocus_=function(t){var e=t.composedPath?t.composedPath()[0]:t.target;if(!this.containedByTopDialog_(e)&&document.activeElement!==document.documentElement&&(t.preventDefault(),t.stopPropagation(),Ct(e),this.forwardTab_!==void 0)){var s=this.pendingDialogStack[0],i=s.dialog,r=i.compareDocumentPosition(e);return r&Node.DOCUMENT_POSITION_PRECEDING&&(this.forwardTab_?s.focus_():e!==document.documentElement&&document.documentElement.focus()),!1}},f.DialogManager.prototype.handleKey_=function(t){if(this.forwardTab_=void 0,t.keyCode===27){t.preventDefault(),t.stopPropagation();var e=new H("cancel",{bubbles:!1,cancelable:!0}),s=this.pendingDialogStack[0];s&&Tt(s.dialog,e)&&s.dialog.close()}else t.keyCode===9&&(this.forwardTab_=!t.shiftKey)},f.DialogManager.prototype.checkDOM_=function(t){var e=this.pendingDialogStack.slice();e.forEach(function(s){t.indexOf(s.dialog)!==-1?s.downgradeModal():s.maybeHideModal()})},f.DialogManager.prototype.pushDialog=function(t){var e=(this.zIndexHigh_-this.zIndexLow_)/2-1;return this.pendingDialogStack.length>=e?!1:(this.pendingDialogStack.unshift(t)===1&&this.blockDocument(),this.updateStacking(),!0)},f.DialogManager.prototype.removeDialog=function(t){var e=this.pendingDialogStack.indexOf(t);e!==-1&&(this.pendingDialogStack.splice(e,1),this.pendingDialogStack.length===0&&this.unblockDocument(),this.updateStacking())},f.dm=new f.DialogManager,f.formSubmitter=null,f.imagemapUseValue=null,window.HTMLDialogElement===void 0){var At=document.createElement("form");if(At.setAttribute("method","dialog"),At.method!=="dialog"){var x=Object.getOwnPropertyDescriptor(HTMLFormElement.prototype,"method");if(x){var xs=x.get;x.get=function(){return Ae(this)?"dialog":xs.call(this)};var Os=x.set;x.set=function(t){return typeof t=="string"&&t.toLowerCase()==="dialog"?this.setAttribute("method",t):Os.call(this,t)},Object.defineProperty(HTMLFormElement.prototype,"method",x)}}document.addEventListener("click",function(t){if(f.formSubmitter=null,f.imagemapUseValue=null,!t.defaultPrevented){var e=t.target;if("composedPath"in t){var s=t.composedPath();e=s.shift()||e}if(!(!e||!Ae(e.form))){var i=e.type==="submit"&&["button","input"].indexOf(e.localName)>-1;if(!i){if(!(e.localName==="input"&&e.type==="image"))return;f.imagemapUseValue=t.offsetX+","+t.offsetY}var r=q(e);!r||(f.formSubmitter=e)}}},!1),document.addEventListener("submit",function(t){var e=t.target,s=q(e);if(!s){var i=kt(t),r=i&&i.getAttribute("formmethod")||e.getAttribute("method");r==="dialog"&&t.preventDefault()}});var Bs=HTMLFormElement.prototype.submit,Fs=function(){if(!Ae(this))return Bs.call(this);var t=q(this);t&&t.close()};HTMLFormElement.prototype.submit=Fs}class De extends h{constructor(){super(...arguments);l(this,"_dialog",null)}get _src(){return this.hasSrcValue?this.srcValue:this.el.src}get _srcSet(){return this.hasSrcSetValue?this.srcSetValue:this.el.srcset}get _sizes(){return this.hasSizesValue?this.sizesValue:this.el.sizes}get _modalClassName(){return this.hasModalClass?this.modalClass:"image-lightbox-dialog"}get _imageClassName(){return this.hasImageClass?this.imageClass:"image-lightbox-image"}initialize(){this.open=this.open.bind(this),this.close=this.close.bind(this)}connect(){}disconnect(){this.close()}open(){let e=this.el;if(this._dialog)return;this._dialog=document.createElement("dialog");let s=document.createElement("img");s.className=this._imageClassName,s.src=this._src,s.srcset=this._srcSet,s.sizes=this._sizes,this._dialog.appendChild(s),e.insertAdjacentElement("afterend",this._dialog),f.registerDialog(this._dialog),this._dialog.className=this._modalClassName,this._dialog.showModal(),A(this._dialog,{behavior:"smooth",block:"end"}).catch(()=>this._dialog.scrollIntoView(!1)),d(this,this._dialog,"click",this.close),d(this,this._dialog,"cancel",this.close),d(this,this._dialog,"close",this.close)}close(){this._dialog&&(this._dialog.close(),this._dialog.remove(),this._dialog=null,A(this.el,{behavior:"smooth",block:"end"}).catch(()=>this.el.scrollIntoView(!1)))}}l(De,"values",{src:String,srcSet:String,sizes:String}),l(De,"classes",["modal","image"]);class Dt extends h{async play(e){e==null||e.preventDefault(),await this.mediaTarget.play()}pause(e){e==null||e.preventDefault(),this.mediaTarget.pause()}restart(e){e==null||e.preventDefault(),this.mediaTarget.currentTime=0}seek(e){e==null||e.preventDefault(),this.mediaTarget.currentTime+=5}}l(Dt,"targets",["media"]);class Lt extends h{get _increment(){return this.hasIncrementValue?this.incrementValue:50}get _behaviour(){if(this.hasBehaviourValue){if(["auto","smooth"].includes(this.behaviourValue))return this.behaviourValue;throw new Error(`'${this.behaviourValue}' is not a recognised scroll behaviour`)}else return"auto"}async scrollTop(e){e==null||e.preventDefault(),await ae(this.el,{behavior:this._behaviour})}async scrollBottom(e){e==null||e.preventDefault(),await ne(this.el,{behavior:this._behaviour})}async scrollLeft(e){e==null||e.preventDefault(),await le(this.el,{behavior:this._behaviour})}async scrollRight(e){e==null||e.preventDefault(),await le(this.el,{behavior:this._behaviour})}async up(e){e==null||e.preventDefault(),await je(this.el,this._increment,{behavior:this._behaviour})}async down(e){e==null||e.preventDefault(),await We(this.el,this._increment,{behavior:this._behaviour})}async left(e){e==null||e.preventDefault(),await Ke(this.el,this._increment,{behavior:this._behaviour})}async right(e){e==null||e.preventDefault(),await Ge(this.el,this._increment,{behavior:this._behaviour})}}l(Lt,"values",{behaviour:String,increment:Number});class It extends U{connect(){requestAnimationFrame(()=>{A(this.el,{behavior:this.hasBehaviorValue?this.behaviorValue:"smooth",block:this.hasBlockValue?this.blockValue:"center",inline:this.hasInlineValue?this.inlineValue:"center"}).catch(()=>this.el.scrollIntoView()),this._cleanupSelf()})}}l(It,"values",{behavior:String,block:String,inline:String});class Nt extends h{get _mode(){return this.hasModeValue?this.modeValue:"document"}get _scrollTarget(){let e;return this._mode=="document"?e=window:e=j(this.el),e}async scroll(e){e==null||e.preventDefault(),this._scrollTarget&&await ne(this._scrollTarget)}}l(Nt,"values",{mode:String});class Ht extends h{scroll(){let e=document.querySelector(this.selectorValue);if(!e){console.warn(`Could not find target for '${this.selectorValue}'`);return}A(e,{behavior:this.hasBehaviorValue?this.behaviorValue:"smooth",block:this.hasBlockValue?this.blockValue:"center",inline:this.hasInlineValue?this.inlineValue:"center"}).catch(()=>e.scrollIntoView())}}l(Ht,"values",{selector:String,behavior:String,block:String,inline:String});class xt extends h{get _mode(){return this.hasModeValue?this.modeValue:"document"}get _scrollTarget(){let e;return this._mode=="document"?e=window:e=j(this.el),e}async scroll(e){e==null||e.preventDefault(),this._scrollTarget&&await ae(this._scrollTarget)}}l(xt,"values",{mode:String});function Ot(t){t=t.trim();let e=t.includes("&&"),s=t.includes("||"),i=t.includes("(")||t.includes(")");if(e&&s)throw new Error("Cannot have both && and || in the same expression.");if(i)throw new Error("Cannot have logical groupings `(>3 && <= 9) || (>1 && <2)` in the expression. Only supports simple expressions like `>1 && <3`");let r=t.split(e?"&&":"||");return e?r.map(n=>Le(n)):s?r.map(n=>Le(n)):[Le(t)]}function Le(t){let s=[">=","<=","==","!=",">","<"].find(o=>t.includes(o));if(!s)throw new Error(`Could not find operator in expression: ${t}`);let i=t.split(s)[1].trim(),r=/^-?\d*(\.\d+)?$/.test(i);if(r&&(i=parseFloat(i)),i==="")throw new Error(`Could not find a value in expression: ${t}`);let n=o=>o!=="";switch(s){case">":return o=>r&&n(o)&&o>i;case"<":return o=>r&&n(o)&&o<i;case">=":return o=>r&&n(o)&&o>=i;case"<=":return o=>r&&n(o)&&o<=i;case"==":return o=>n(o)&&o==i;case"!=":return o=>n(o)&&o!=i;default:throw new Error(`Unknown operator ${s}`)}}function P(t,e){return`signal:${e}:${t}`}function $(t){return P(t,"connect")}function z(t){return P(t,"value")}class Bt extends h{get _predicates(){return Ot(this.whenValue)}connect(){V.emit($(this.nameValue)),R(this,z(this.nameValue),this._onSignal)}_onSignal(e){let s=e.value;if(!this.hasWhenValue){this.dispatchEvent(this.el,P(this.nameValue,"match"));return}this._predicates.every(i=>i(s))?this.dispatchEvent(this.el,P(this.nameValue,"match"),{detail:{element:this.el,value:s}}):this.dispatchEvent(this.el,P(this.nameValue,"no-match"),{detail:{element:this.el,value:s}})}}l(Bt,"values",{name:String,when:String});function ee(t,e,s,i){s=s.bind(t);let r=new MutationObserver(s),n=()=>r.observe(e,i),o=()=>r.disconnect();return y(t,n,o),o}class Ft extends h{get _children(){return this.hasScopeSelectorValue?Array.from(this.el.querySelectorAll(this.scopeSelectorValue)):Array.from(this.el.children)}get _name(){if(this.hasNameValue)return this.nameValue;throw new Error("SignalEmptyDomController requires a nameValue to be provided")}connect(){R(this,$(this._name),this.emitChildCount),V.emit($(this._name)),ee(this,this.el,this.mutate,{childList:!0}),this.emitChildCount()}mutate(e){this.emitChildCount()}emitChildCount(){let e=this._children.length;V.emit(z(this._name),{element:this.el,value:e.toString()})}}l(Ft,"values",{name:String,scopeSelector:String});class Rt extends h{get _debounceTimeout(){return this.hasDebounceIntervalValue?this.debounceIntervalValue:1}get _name(){return this.hasNameValue?this.nameValue:this.element.name}connect(){R(this,$(this._name),()=>this.emitValue()),ot(this,this.el,["input","change"],this.emitValue,{debounce:this._debounceTimeout||void 0}),requestAnimationFrame(()=>this.emitValue())}emitValue(){var s;let e=this.el.value;if(v(this.el)&&this.el.type==="checkbox")e=this.el.checked?"true":"false";else if(v(this.el)&&this.el.type==="radio"){let i=(s=me(this.el).find(r=>r.checked))==null?void 0:s.value;e=i||""}this.dispatchEvent(this.el,z(this._name),{detail:{value:e}}),V.emit(z(this._name),{element:this.el,value:e})}}l(Rt,"values",{name:String,debounceInterval:Number});class Ie extends h{get _predicates(){return Ot(this.showValue)}get defaultHideClasses(){return["hide"]}connect(){T(this),V.emit($(this.nameValue)),R(this,z(this.nameValue),this._onSignal)}_onSignal(e){let s=e.value;if(this.showValue=="default"){s==""?this.removeHideClasses(this.el):this.addHideClasses(this.el);return}this._predicates.every(i=>i(s))?(this.dispatchEvent(this.el,"signal-visibility:show",{detail:{predicate:this.showValue,value:s}}),this.removeHideClasses(this.el)):(this.dispatchEvent(this.el,"signal-visibility:hide",{detail:{predicate:this.showValue,value:s}}),this.addHideClasses(this.el))}}l(Ie,"values",{name:String,show:String}),l(Ie,"classes",["hide"]);class qt extends h{constructor(){super(...arguments);l(this,"_lastIndex",null);l(this,"_reverse",!1)}get _tableHead(){let e=this.el.tHead;if(e==null)throw new Error("Expected table to have a <thead> element.");return e}get _tableHeaders(){let e=this._tableHead.rows;if(e.length==0)throw new Error("Expected table to have a <thead> element with at least one row.");return Array.from(e[0].cells)}get _tableBody(){return this.el.tBodies[0]}get _tableRows(){return Array.from(this._tableBody.rows)}connect(){requestAnimationFrame(()=>{D(this,this._tableHeaders,"click",this.sort),this.hasStartSortValue&&this._sortByColumn(this.startSortValue)})}sort(e){e.preventDefault();let s=e.target,i=this._indexOfHeaderCell(s);s.dataset.sortable!="false"&&(s.dataset.sort=="asc"?(this._reverse=!0,this._otherHeaderCells(s).forEach(r=>delete r.dataset.sort),s.dataset.sort="desc",this._sortByColumn(i)):(this._reverse=!1,this._otherHeaderCells(s).forEach(r=>delete r.dataset.sort),s.dataset.sort="asc",this._sortByColumn(i)))}_indexOfHeaderCell(e){return this._tableHeaders.indexOf(e)}_otherHeaderCells(e){return Array.from(this._tableHeaders).filter(s=>s!=e)}_sortByColumn(e){let s=document.createDocumentFragment();this._tableRows.sort((n,o)=>{var M,w;let c=Array.from(n.cells),u=Array.from(o.cells),g=((M=c[e])==null?void 0:M.innerText)||"",p=((w=u[e])==null?void 0:w.innerText)||"",_=g.localeCompare(p,"en",{sensitivity:"base",numeric:!0,caseFirst:"upper"});return n.dataset.sortTop||o.dataset.sortBottom?n.dataset.sortTop&&o.dataset.sortTop?_:-1:n.dataset.sortBottom||o.dataset.sortTop?n.dataset.sortBottom&&o.dataset.sortBottom?_:1:this._reverse?_>0?-1:1:_}).forEach(n=>s.appendChild(n)),this._tableBody.innerHTML="",this._tableBody.appendChild(s),this._lastIndex=e}}l(qt,"values",{startSort:Number});class Ne extends h{get _truncated(){return this.hasTruncatedValue?this.truncatedValue:!1}set _truncated(e){this.truncatedValue=e}get _tableBody(){return this.el.tBodies[0]}get _tableRows(){return Array.from(this._tableBody.rows)}get _limit(){return this.hasLimitValue?this.limitValue:20}connect(){ee(this,this._tableBody,this.mutate,{childList:!0}),requestAnimationFrame(()=>{this.truncate(),d(this,this.showMoreTarget,"click",this.expand)})}truncate(e){e==null||e.preventDefault(),this._truncated=!0,this._tableRows.length>=this._limit?(this._tableRows.slice(this._limit).forEach(s=>{s!==this.showMoreTarget&&this._hideElement(s)}),this._showElement(this.showMoreTarget)):this._hideElement(this.showMoreTarget)}expand(e){this._truncated=!1,e==null||e.preventDefault(),this._tableRows.slice(this._limit).forEach(s=>{s!==this.showMoreTarget&&this._showElement(s)}),this._hideElement(this.showMoreTarget)}mutate(e){this._truncated&&this._reTruncate()}_showElement(e){e.style.display=""}_hideElement(e){e.style.display="none"}_reTruncate(){this._tableRows.slice(0,this._limit).forEach(e=>{e!==this.showMoreTarget&&this._showElement(e)}),this._tableRows.slice(this._limit).forEach(e=>{e!==this.showMoreTarget&&this._hideElement(e)}),this._showElement(this.showMoreTarget)}}l(Ne,"targets",["showMore"]),l(Ne,"values",{limit:Number,truncated:Boolean});class Pt extends h{alert(){alert(this.messageValue)}}l(Pt,"values",{message:String});class Rs extends h{connect(){let{enter:e,exit:s,toggle:i}=ut(this);this.enter=e,this.exit=s,this.toggle=i}}class $t extends h{get _threshold(){return this.hasThresholdValue?this.thresholdValue.split(",").map(e=>Number.parseFloat(e.trim())).filter(e=>e>=0&&e<=1):[0,1]}connect(){be(this,this.el,this.appear,this.disappear,{threshold:this._threshold})}appear(e){re(this,this.el,"intersection:appear")}disappear(e){re(this,this.el,"intersection:disappear")}}l($t,"values",{threshold:String});class zt extends h{connect(){if(!this.hasSecondsValue)throw new Error("Expected `secondsValue` to be present");requestAnimationFrame(()=>{B(this,this._interval,this.secondsValue*1e3)})}_interval(){this.dispatchEvent(this.el,"interval:action")}}l(zt,"values",{seconds:Number});class Ut extends h{get name(){return this.hasNameValue?this.nameValue:""}get _addedEventName(){return[this.name,"presence","added"].filter(e=>!!e).join(":")}get _removedEventName(){return[this.name,"presence","removed"].filter(e=>!!e).join(":")}connect(){this.dispatchEvent(this.el,this._addedEventName)}disconnect(){this.dispatchEvent(this.el,this._removedEventName)}}l(Ut,"values",{name:String});class jt extends h{print(e){e==null||e.preventDefault(),window.print()}}class Wt extends h{connect(){requestAnimationFrame(()=>{L(this,this._timeout,this.secondsValue*1e3)})}_timeout(){this.dispatchEvent(this.el,"timeout")}}l(Wt,"values",{seconds:Number});class qs extends h{connect(){d(this,window,["focus","blur"],this._handleVisibility),d(this,document,"visibilitychange",this._handleVisibility),requestAnimationFrame(()=>{this._handleVisibility()})}appear(){this.dispatchEvent(this.el,"user-focus:active")}away(){this.dispatchEvent(this.el,"user-focus:away")}_handleVisibility(){this._documentIsActive()?this.appear():this.away()}_documentIsActive(){return document.visibilityState=="visible"&&document.hasFocus()}}class Kt extends h{get _tickInterval(){return this.hasMillisecondsTarget?1:this.hasSecondsTarget?1e3:this.hasMinutesTarget?15e3:3e5}connect(){requestAnimationFrame(()=>{B(this,this._tick,this._tickInterval)})}_tick(){let e=new Date;this.hasHoursTarget&&(this.hoursTarget.innerHTML=e.getHours().toString().padStart(2,"0")),this.hasMinutesTarget&&(this.minutesTarget.innerHTML=e.getMinutes().toString().padStart(2,"0")),this.hasSecondsTarget&&(this.secondsTarget.innerHTML=e.getSeconds().toString().padStart(2,"0")),this.hasMillisecondsTarget&&(this.millisecondsTarget.innerHTML=e.getMilliseconds().toString().padStart(3,"0"))}}l(Kt,"targets",["hours","minutes","seconds","milliseconds"]);class te extends h{constructor(){super(...arguments);l(this,"_interval",null)}get _removeUnused(){return this.hasRemoveUnusedValue?this.removeUnusedValue:!1}get _deadlineDate(){return new Date(this.deadlineValue)}connect(){this._interval=setInterval(this._tick.bind(this),1e3),this.addCountingDownClasses()}disconnect(){this._clearTick(),this.removeCountingDownClasses(),this.removeEndedClasses()}deadlineValueChanged(){this._interval==null&&(this._interval=setInterval(this._tick.bind(this),1e3))}_tick(){try{const e=new Date;let s={};E.isPast(this._deadlineDate)?(s={years:0,months:0,days:0,hours:0,minutes:0,seconds:0},this._clearTick(),this.removeCountingDownClasses(),this.addEndedClasses(),this.dispatchEvent(this.el,"countdown:ended")):s=E.intervalToDuration({start:this._deadlineDate,end:e}),this.hasYearsTarget&&this._updateTarget(this.yearsTarget,this._years(s)),this.hasMonthsTarget&&this._updateTarget(this.monthsTarget,this._months(s)),this.hasDaysTarget&&this._updateTarget(this.daysTarget,this._days(s)),this.hasHoursTarget&&this._updateTarget(this.hoursTarget,this._hours(s)),this.hasMinutesTarget&&this._updateTarget(this.minutesTarget,this._minutes(s)),this.hasSecondsTarget&&this._updateTarget(this.secondsTarget,this._seconds(s))}catch(e){console.error(e),this._clearTick()}}_clearTick(){this._interval&&(clearInterval(this._interval),this._interval=null)}_updateTarget(e,s){this._removeTargetIfUnused(e,s),e.innerHTML=s.toString()}_removeTargetIfUnused(e,s){this._removeUnused&&(s===0&&e.dataset.unused?Number.parseInt(e.dataset.unused)>Date.now()+1500&&e.remove():s==0?e.dataset.unused=Date.now().toString():e.dataset.unused=void 0)}_years(e){return e.years||0}_months(e){return e.months||0}_days(e){return e.days||0}_hours(e){return e.hours||0}_minutes(e){return e.minutes||0}_seconds(e){return e.seconds||0}}l(te,"values",{deadline:String,removeUnused:Boolean}),l(te,"targets",["years","months","days","hours","minutes","seconds"]),l(te,"classes",["countingDown","ended"]);class Gt extends h{get _format(){return["years","months","weeks","days","hours",...this._minutes?["minutes"]:[],...this._seconds?["seconds"]:[]]}get _output(){let{years:e,months:s,weeks:i,days:r,hours:n,minutes:o,seconds:c}=this._duration;e||(e=0),s||(s=0),i||(i=0),r||(r=0),n||(n=0),o||(o=0),c||(c=0);let u=[e,s,i,r,n];return!this._minutes&&!this._seconds&&u.every(g=>g===0)?(o=o+c/60,`${(o/60).toFixed(1)} hours`):E.formatDuration(this._duration,{format:this._format,delimiter:", "})}get _seconds(){return this.hasSecondsValue?this.secondsValue:!0}get _minutes(){return this.hasMinutesValue?this.minutesValue:!0}get _timestamp(){if(this.hasTimestampValue)return E.toDate(this.timestampValue*1e3);throw new Error("Expected `timestampValue` to be present")}get _duration(){return E.intervalToDuration({start:new Date,end:this._timestamp})}get _tickInterval(){return this._seconds?1e3:this._minutes?15e3:12e4}connect(){this._clearInterval=B(this,this._update,this._tickInterval),this._update()}_update(){try{this.el.innerHTML=this._output}catch{this._clearInterval()}}}l(Gt,"values",{timestamp:Number,minutes:Boolean,seconds:Boolean});class se extends h{get defaultHideClasses(){return["hide"]}get defaultActiveClasses(){return["is-active"]}get _currentTab(){return this.hasCurrentTabValue?this.currentTabValue:0}get _equalize(){return this.hasEqualizeValue?this.equalizeValue:!1}connect(){D(this,this.linkTargets,"click",this.switchTabs),this._equalize&&this._setMinHeight(),this.currentTabValue=this._currentTab}switchTabs(e){e.preventDefault(),this.currentTabValue=this.linkTargets.indexOf(e.currentTarget)}currentTabValueChanged(){let e=this._currentTab;e=this._clampIndex(e),this._selectTab(e)}_selectTab(e){e=this._clampIndex(e);let s=this.linkTargets,i=this.contentTargets,r=i[e],n=s[e],o=[...i.slice(0,e),...i.slice(e+1)],c=[...s.slice(0,e),...s.slice(e+1)];this.addActiveClasses(n),n.setAttribute("aria-selected","true"),this.addActiveClasses(r),this.removeHideClasses(r),c.forEach(u=>{u.removeAttribute("aria-selected"),this.removeActiveClasses(u)}),o.forEach(u=>{this.removeActiveClasses(u),this.addHideClasses(u)})}_clampIndex(e){return m.clamp(e,0,this.contentTargets.length-1)}_setMinHeight(){let e=0;this.contentTargets.forEach(s=>{let i=s.hasAttribute("tab-hidden");i&&this.removeHideClasses(s);let r=s.offsetHeight;r>e&&(e=r),i&&this.addHideClasses(s)}),this.contentTargets.forEach(s=>s.style.minHeight=e+"px")}}l(se,"values",{currentTab:Number,equalize:Boolean}),l(se,"targets",["link","content"]),l(se,"classes",["active","hide"]);class Jt extends h{get _duration(){return E.isPast(this._timestamp)?E.intervalToDuration({start:this._timestamp,end:new Date}):E.intervalToDuration({start:new Date,end:this._timestamp})}get _nextUpdate(){let e=this._duration;return e.years&&e.years>0||e.months&&e.months>0||e.days&&e.days>0?null:e.hours&&e.hours>0?18e5:3e4}timestampValueChanged(){this._timestamp=E.toDate(this.timestampValue*1e3)}connect(){if(!this.hasTimestampValue)throw new Error("Expected `timestampValue` to be present");this._update()}_update(){this.el.innerHTML=E.formatDistanceToNow(this._timestamp,{addSuffix:!0,includeSeconds:!0}),this._nextUpdate&&L(this,this._update,this._nextUpdate)}}l(Jt,"values",{timestamp:Number});class Xt extends h{get defaultActiveClasses(){return["active"]}get defaultCollapsedClasses(){return["collapsed"]}initialize(){this._nodeClicked=this._nodeClicked.bind(this)}connect(){T(this),ee(this,this.el,this.mutate,{subtree:!0,childList:!0}),this._setup()}disconnect(){this._teardown()}_setup(){this._setupNode(this.el)}_setupNode(e){const s=i=>{let r=i.parentElement;r&&(this._nodeActive(r)||this._hideNode(r),r.removeEventListener("click",this._nodeClicked),r.addEventListener("click",this._nodeClicked))};(e.tagName==="UL"||e.tagName==="OL")&&s(e),e.querySelectorAll("ul, ol").forEach(i=>s(i))}_teardown(){this.el.querySelectorAll("ul, ol, li").forEach(e=>this._teardownNode(e))}_teardownNode(e){[e,...Array.from(e.querySelectorAll("ul, ol, li"))].forEach(s=>{s.removeEventListener("click",this._nodeClicked),this.removeActiveClasses(s),this.removeCollapsedClasses(s)})}_nodeClicked(e){e&&e.stopImmediatePropagation();let s=e.target;!s||!this._hasNested(s)||(this._nodeActive(s)?this._hideNode(s):this._showNode(s))}_nodeActive(e){return this.activeClassesPresent(e)}_showNode(e){this.removeCollapsedClasses(e),this.addActiveClasses(e)}_hideNode(e){this.removeActiveClasses(e),this.addCollapsedClasses(e)}_hasNested(e){return e.querySelectorAll("ul, ol").length>0}mutate(e){for(const s of e)s.type==="childList"&&(Array.from(s.addedNodes||[]).forEach(i=>this._setupNode(i)),Array.from(s.removedNodes||[]).forEach(i=>this._teardownNode(i)))}}l(Xt,"classes",["active","collapsed"]);class He extends h{get defaultActiveClasses(){return["active"]}get defaultInactiveClasses(){return["inactive"]}get _key(){return this.keyValue.replaceAll("#","")}get _anchor(){return window.location.hash.substr(1)}set _anchor(e){window.location.hash=e}connect(){T(this),requestAnimationFrame(()=>{this._checkAnchor(),d(this,window,"hashchange",this._checkAnchor)})}write(e){e==null||e.preventDefault(),this._anchor=this._key}_checkAnchor(){this._key===this._anchor?(this.dispatchEvent(this.el,"anchor-spy:active"),this.addActiveClasses(this.el),this.removeInactiveClasses(this.el)):(this.dispatchEvent(this.el,"anchor-spy:inactive"),this.addInactiveClasses(this.el),this.removeActiveClasses(this.el))}}l(He,"values",{key:String}),l(He,"classes",["active","inactive"]);class Yt extends h{get _pages(){return this.hasPagesValue?Math.abs(this.pagesValue):1}get _timeout(){return this.hasTimeoutValue?this.timeoutValue:1500}connect(){d(this,this.el,"click",this.goBack)}goBack(e){e==null||e.preventDefault(),history.go(-this._pages),this.el.href&&L(this,this.fallback,this._timeout)}fallback(){window.location.href=this.el.href}}l(Yt,"values",{timeout:Number,pages:Number});class xe extends h{constructor(){super(...arguments);l(this,"_supported",!1)}connect(){this._supported=document.queryCommandSupported("copy"),this.hasRemoveUnusedValue&&this.removeUnusedValue&&(this._supported&&this.hasFallbackTarget?this.fallbackTarget.remove():this.hasCopyTarget&&this.copyTarget.remove())}select(e){e&&e.preventDefault(),this.sourceTarget.select()}copy(e){e&&e.preventDefault(),this.sourceTarget.select(),this._supported&&document.execCommand("copy")}}l(xe,"targets",["source","button","copy","fallback"]),l(xe,"values",{removeUnused:Boolean});class Zt extends h{get _message(){return this.hasMessageValue?this.messageValue:"Are you sure?"}get _eventType(){if(he(this.el))return"submit";if(ue(this.el))return"click";throw new Error("Can't handle confirmation on attached element")}connect(){requestAnimationFrame(()=>{d(this,this.el,this._eventType,this.confirm)})}confirm(e){window.confirm(this._message)||(e.preventDefault(),this.dispatchEvent(this.el,"confirm:cancelled"))}}l(Zt,"values",{message:String});class Qt extends h{get _message(){return this.hasMessageValue?this.messageValue:"Do you want to leave this page? Changes you made may not be saved"}connect(){window.onbeforeunload=()=>this._message,d(this,window,"popstate",this.confirmNavigation),d(this,window,"submit",this.allowSubmit),d(this,window,["turbolinks:before-visit","turbo:before-visit"],this.confirmTurboNavigation)}disconnect(){window.onbeforeunload=null}allowSubmit(e){window.removeEventListener("popstate",this.confirmNavigation),window.onbeforeunload=null}confirmNavigation(e){return!1}confirmTurboNavigation(e){confirm(this._message)||e.preventDefault()}}l(Qt,"values",{message:String});class es extends h{connect(){console.log("Debug Controller",this,this.testTargets)}}l(es,"targets",["test"]);class ts extends h{get _message(){return this.hasMessageValue?this.messageValue:"Submitting..."}get _timeout(){return this.hasTimeoutValue?this.timeoutValue:1e3}connect(){requestAnimationFrame(()=>{d(this,this.el,["click"],this.disable),d(this,window,["turbo:load","turbolinks:load"],this._enable)})}disable(e){let s=this.el;this._isDisabled(s)?(e==null||e.preventDefault(),e==null||e.stopImmediatePropagation()):(this._disable(),mt(this,s,this._message,this._timeout,this._enable))}enable(e){e==null||e.preventDefault();let s=this.el;this._isDisabled(s)&&this._enable()}_isDisabled(e){return K(e)?e.disabled:e.dataset.disabled=="true"}_disable(){let e=this.el;K(e)?e.disabled=!0:e.dataset.disabled="true"}_enable(){let e=this.el;K(e)?e.disabled=!1:e.dataset.disabled=void 0}}l(ts,"values",{message:String,timeout:Number});class ss extends h{dismiss(){this.el.remove()}}class Ps extends ss{}class Oe extends h{get _id(){if(this.hasIdValue)return this.idValue;let e=this.el.id;if(e!=="")return e;throw new Error(`No ID value to uniquely identify this element. Please either specify data-${this.identifier}-id-value or give this element an 'id' attribute. `)}get _uniqueIdentifier(){return`${location.href} ${this._id}`}get _restoreOnLoad(){return this.hasRestoreOnLoadValue?this.restoreOnLoadValue:!0}get _element(){return this.hasElementTarget?this.elementTarget:this.el}initialize(){this.save=m.debounce(this.save.bind(this),300)}connect(){this._store=dt(this,this._uniqueIdentifier,{}),requestAnimationFrame(()=>{this._restoreOnLoad&&this.restore()})}clear(e){e&&e.preventDefault(),this._store.clear(),this.dispatchEvent(this._element,"element-save:cleared")}save(e){e&&e.preventDefault();let s=this._element,i=this.attributesValue.split(" "),r={};i.forEach(n=>r[n]=m.get(s,n)),this._store.value=r,this.dispatchEvent(s,"element-save:save:success")}restore(e){e&&e.preventDefault();let s=this._element;if(this._store.isEmpty())this.dispatchEvent(s,"element-save:restore:empty");else{const i=this._store.value;Object.keys(i).forEach(r=>m.set(s,r,i[r])),this.dispatchEvent(s,"element-save:restore:success")}}}l(Oe,"targets",["element"]),l(Oe,"values",{id:String,attributes:String,restoreOnLoad:Boolean});class ie extends h{get _container(){return this.hasContainerTarget?this.containerTarget:this.el}get _children(){let e=this._container;return this.hasScopeSelectorValue?Array.from(e.querySelectorAll(this.scopeSelectorValue)):Array.from(e.children)}connect(){T(this),ee(this,this._container,this.mutate,{childList:!0}),this.checkEmpty()}mutate(e){this.checkEmpty()}checkEmpty(){let e=this._container,s=this._children;s.length===0?(this.removeNotEmptyClasses(),this.addEmptyClasses(),this.dispatchEvent(e,"dom:empty")):(this.addNotEmptyClasses(),this.removeEmptyClasses(),this.dispatchEvent(e,"dom:not-empty",{detail:{count:s.length}}))}}l(ie,"targets",["container"]),l(ie,"classes",["empty","notEmpty"]),l(ie,"values",{scopeSelector:String});class is extends h{get _mode(){return this.hasModeValue?this.modeValue:"mouseover"}get _supportsPrefetch(){var s,i;const e=document.createElement("link");return((s=e.relList)==null?void 0:s.supports)&&((i=e.relList)==null?void 0:i.supports("prefetch"))}get _href(){return this.el.href}get _existingPrefetch(){return(document.head.querySelectorAll(`link[rel="prefetch"][href="${this._href}"]`)||[]).length>0}get _connectionSuitable(){const e=navigator.connection;if(!e)return!0;if(e){if(e.saveData)return $e(this,"Data Saving is enabled"),!1;if(/2g/.test(e.effectiveType))return $e(this,"Network is too slow"),!1}return!0}connect(){if(!!this._supportsPrefetch)switch(this._mode){case"intersect":this._setupObserver();break;case"mouseover":d(this,this.el,"mouseover",this.prefetch,{once:!0});break;default:throw new Error(`'${this._mode}' is not a supported prefetch mode`)}}_setupObserver(){new IntersectionObserver(([s],i)=>{s.isIntersecting&&(this.prefetch(),i.unobserve(s.target))}).observe(this.element)}prefetch(){if(this._existingPrefetch||!this._connectionSuitable)return;const e=document.createElement("link");Object.assign(e,{rel:"prefetch",href:this._href,as:"document"}),document.head.appendChild(e)}}l(is,"values",{mode:String});class rs extends jt{get defaultUnsupportedClasses(){return["unsupported"]}connect(){T(this),"print"in window||this.addUnsupportedClasses(),d(this,this.el,"click",this.print)}}l(rs,"classes",["unsupported"]);class $s extends h{connect(){d(this,window,"message",this.messageReceived)}messageReceived(e){let s=e.data;s.hasOwnProperty("name")&&s.name==="iframe-body"&&s.hasOwnProperty("height")&&this.resize(s.height)}resize(e){this.el.style.height=`${e}px`}}class zs extends h{connect(){window.self!==window.top&&(d(this,window,"resize",this.postUpdate,{debounce:200}),this.postUpdate())}postUpdate(){let e={name:"iframe-body",height:this.getHeight()};window.parent.postMessage(e,"*")}getHeight(){const e=document.body,s=document.documentElement;return Math.max(e.scrollHeight,e.offsetHeight,s.clientHeight,s.scrollHeight,s.offsetHeight)}}class as extends h{connect(){requestAnimationFrame(()=>{L(this,()=>this.el.remove(),this.secondsValue*1e3)})}}l(as,"values",{seconds:Number});class Be extends h{constructor(){super(...arguments);l(this,"_magicElement",null)}get defaultStuckClasses(){return["stuck"]}get _mode(){if(this.hasModeValue){if(!["top","bottom"].includes(this.modeValue))throw new Error(`The modeValue provided '${this.modeValue}' is not one of the recognised configuration options`);if(this.modeValue==="top")return"beforebegin"}return"afterend"}connect(){this._magicElement=document.createElement("div"),ht(this,this.el,this._mode,this._magicElement),new IntersectionObserver(s=>{s.forEach(i=>{i.target===this._magicElement&&(i.intersectionRatio===0?this.addStuckClasses():i.intersectionRatio===1&&this.removeStuckClasses())})},{threshold:[0,1]}).observe(this._magicElement)}}l(Be,"classes",["stuck"]),l(Be,"values",{mode:String});class ns extends U{connect(){if(!this.hasInsertValue)throw new Error("`insert` value was not specified");requestAnimationFrame(()=>{this.hasImmediateValue&&this.immediateValue&&this.execute()})}execute(e){e==null||e.preventDefault();let s=this.el,i=document.querySelector(this.targetValue);if(i==null){this.dispatchEvent(s,"teleport:error");return}let r=s.cloneNode(!0);switch(this.cleanup(r),this.insertValue){case"beforebegin":case"beforeend":case"afterend":case"afterbegin":i.insertAdjacentHTML(this.insertValue,r.outerHTML);break;case"replaceOuter":i.outerHTML=r.outerHTML;break;case"replaceInner":i.innerHTML=r.outerHTML;break;case"prepend":i.insertAdjacentHTML("afterbegin",r.outerHTML);break;case"append":i.insertAdjacentHTML("beforeend",r.outerHTML);break;default:throw new Error("`insert` value was not specified")}s.remove()}}l(ns,"values",{target:String,insert:String,immediate:Boolean});class ls extends U{constructor(){super(...arguments);l(this,"_previousState",{})}get _value(){if(this.hasValueValue)return this.valueValue;throw new Error("Expected `valueValue` to be present")}get _attribute(){if(this.hasAttributeValue)return this.attributeValue;throw new Error("Expected `attributeValue` to be present")}get _seconds(){if(this.hasSecondsValue)return this.secondsValue*1e3;throw new Error("Expected `secondsValue` to be present")}connect(){this.setState(),L(this,this.removeState,this._seconds)}disconnect(){this.removeState()}setState(){this._previousState[this._attribute]=m.get(this.el,this._attribute),m.set(this.el,this._attribute,this.valueValue)}removeState(){m.set(this.el,this._attribute,this._previousState[this._attribute])}}l(ls,"values",{attribute:String,seconds:Number,value:String});function os(t,e,s,i,r="temporary-state"){var n;(!t.dataset.controller||!((n=t.dataset.controller)==null?void 0:n.includes(r)))&&(t.dataset.controller=(t.dataset.controller||` ${r} `).trim().replaceAll(" "," ")),t[m.camelCase(`${r}-attribute-value`)]=e,t[m.camelCase(`${r}-seconds-value`)]=i.toString()}function Us(t,e,s){os(t,"className",e,s)}function js(t,e,s){s=s.bind(t);const i=n=>{e.contains(n.target)||!at(e)||s(n)};let{teardown:r}=d(t,window,["click","touchend"],i);return y(t,()=>{},r),{teardown:r}}function Ws(t,e,s,i){let r=null,n=null;if(s){s=s.bind(t);let{teardown:u}=d(t,e,"mouseenter",s);r=u}if(i){i=i.bind(t);let{teardown:u}=d(t,e,"mouseleave",i);n=u}let o=()=>{},c=()=>{r&&r(),n&&n()};return y(t,o,c),{teardown:c}}class Fe extends h{connect(){if(!this.hasClassValue)throw new Error("data-toggle-class-class-value must not be empty");(this.hasMouseEnterValue||this.hasMouseLeaveValue)&&Ws(this,this.el,this.mouseEnter,this.mouseLeave),this.hasClickAwayValue&&this.clickAwayValue&&js(this,this.el,this.clickOutside),requestAnimationFrame(()=>{this.hasInitialValue&&(this.initialValue==="on"?this.toggleTargets.forEach(e=>this._elementOn(e)):this.toggleTargets.forEach(e=>this._elementOff(e)))})}clickOutside(){this.toggleTargets.forEach(e=>{this._elementWasToggled(e)&&(this._elementToggleStatus(e),this._elementToggle(e))})}mouseEnter(){if(this.hasMouseEnterValue)switch(this.mouseEnterValue){case"on":this.on();break;case"off":this.off();break;case"toggle":this.toggle();break}return{}}mouseLeave(){if(this.hasMouseLeaveValue)switch(this.mouseLeaveValue){case"on":this.on();break;case"off":this.off();break;case"toggle":this.toggle();break}return{}}on(e){this.toggleTargets.forEach(s=>{this._elementToggleStatus(s),this._elementOn(s)})}off(e){this.toggleTargets.forEach(s=>{this._elementToggleStatus(s),this._elementOff(s)})}toggle(e){this.toggleTargets.forEach(s=>{this._elementToggleStatus(s),this._elementToggle(s)})}_elementWasToggled(e){return e.dataset.toggled=="true"}_elementToggleStatus(e){this._elementWasToggled(e)?delete e.dataset.toggled:e.dataset.toggled="true"}_elementToggle(e){this.classValue.split(" ").forEach(i=>e.classList.toggle(i))}_elementOn(e){this.classValue.split(" ").forEach(i=>e.classList.toggle(i,!0))}_elementOff(e){this.classValue.split(" ").forEach(i=>e.classList.toggle(i,!1))}}l(Fe,"targets",["toggle"]),l(Fe,"values",{class:String,mouseEnter:String,mouseLeave:String,clickAway:Boolean,initial:String});function Ks(t){const e=t.disconnect.bind(t);let s=!1,i=(u,g)=>{u.forEach(p=>{p.type==="childList"&&Array.from(p.addedNodes).some(_=>_.tagName==="TRIX-TOOLBAR")&&(o(),g.disconnect())})},r=u=>F(t,"pasteEvent").call(t,u),n=new MutationObserver(i),o=()=>{if(t.element.tagName!=="TRIX-EDITOR")throw new Error("Expected controller to be mounted on an instance of <trix-editor>");let u=t.element,g=t.element.parentElement;if(g==null)throw new Error("Could not traverse DOM tree from <trix-editor>");u.addEventListener("trix-paste",r);let p=g.querySelector("trix-toolbar");if(!s&&!p){s=!0,n.observe(g,{childList:!0});return}else if(p)n.disconnect();else throw new Error("Could not find an instance of <trix-toolbar> that is a sibling of this <trix-editor>");F(t,"install").call(t,{toolbar:p,editor:u})},c=()=>{if(t.element.tagName!=="TRIX-EDITOR")throw new Error("Expected controller to be mounted on an instance of <trix-editor>");let u=t.element,g=t.element.parentElement;if(g==null)throw new Error("Could not traverse DOM tree from <trix-editor>");u.removeEventListener("trix-paste",r);let p=g.querySelector("trix-toolbar");if(!p)throw new Error("Could not find <trix-toolbar> that is a sibling of this <trix-editor> element");F(t,"uninstall").call(t,{toolbar:p,editor:u})};o(),Object.assign(t,{disconnect(){n.disconnect(),c(),F(t,"uninstall").call({toolbar,editor:t.element}),e()}})}class Gs extends h{get enabledBehaviours(){let e=i=>i!==void 0&&i!=="false",s=(i,r)=>e(i)?[r]:[];return[...s(this.el.dataset.noBold,this.bold),...s(this.el.dataset.noBulletList,this.bulletList),...s(this.el.dataset.noCode,this.code),...s(this.el.dataset.noHeading,this.heading),...s(this.el.dataset.noItalic,this.italic),...s(this.el.dataset.noStrikethrough,this.strikethrough),...s(this.el.dataset.noLink,this.link),...s(this.el.dataset.noIndents,this.indents),...s(this.el.dataset.noNumberList,this.numberList),...s(this.el.dataset.noQuote,this.quote),...s(this.el.dataset.noFileUploads,this.fileUploads)]}get bold(){return this.formattingHandlers(".trix-button--icon-bold","bold")}get bulletList(){return this.formattingHandlers(".trix-button--icon-bullet-list","bullet-list")}get code(){return this.formattingHandlers(".trix-button--icon-code","code")}get heading(){return this.formattingHandlers(".trix-button--icon-heading-1","heading")}get italic(){return this.formattingHandlers(".trix-button--icon-italic","italic")}get strikethrough(){return this.formattingHandlers(".trix-button--icon-strike","strike")}get link(){return this.formattingHandlers(".trix-button--icon-link","href")}get indents(){return this.simpleHideShowHandlers([".trix-button--icon-decrease-nesting-level, .trix-button--icon-increase-nesting-level",".trix-button--icon-decrease-nesting-level, .trix-button--icon-increase-nesting-level"].join(", "))}get numberList(){return this.simpleHideShowHandlers(".trix-button--icon-number-list")}get quote(){return this.simpleHideShowHandlers(".trix-button--icon-quote")}get fileUploads(){let e=".trix-button-group.trix-button-group--file-tools",s=n=>n==null?void 0:n.preventDefault(),i=this,r=this.el;return{install(n){i.simpleHideShowHandlers(e).install(n),i.el.addEventListener("trix-file-accept",s)},pasteEvent(n){let{dataTransfer:o,html:c}=n.paste,{editor:u}=r;(o.files.length>0||c.includes("<img"))&&(alert("The content you pasted contains images and/or files. File uploads are not supported."),u.undo())},uninstall(n){i.simpleHideShowHandlers(e).uninstall(n),i.el.removeEventListener("trix-file-accept",s)}}}connect(){Ks(this)}install(e){this.enabledBehaviours.forEach(s=>s.install(e))}pasteEvent(e){this.enabledBehaviours.forEach(s=>s.pasteEvent&&s.pasteEvent(e))}uninstall(e){this.enabledBehaviours.forEach(s=>s.uninstall(e))}simpleHideShowHandlers(e){return{install:({toolbar:s})=>this.hideToolbarSelector(s,e),uninstall:({toolbar:s})=>this.showToolbarSelector(s,e)}}formattingHandlers(e,s){let i=this.el,{editor:r}=i;return{install:n=>{this.simpleHideShowHandlers(e).install(n)},pasteEvent(n){let{range:o}=n.paste,c=i.editor.getSelectedRange();r.setSelectedRange(o),r.deactivateAttribute(s),r.setSelectedRange(c)},uninstall:n=>{this.simpleHideShowHandlers(e).uninstall(n)}}}showToolbarSelector(e,s){e.querySelectorAll(s).forEach(i=>i.style.display="")}hideToolbarSelector(e,s){e.querySelectorAll(s).forEach(i=>i.style.display="none")}}class us extends h{toggle(e){e==null||e.preventDefault();let i=this._getFrame().src;i==null||i!==this._getSrc()?this._setSrc():this._clear()}setSrc(e){e==null||e.preventDefault(),this._setSrc()}clear(e){e==null||e.preventDefault(),this._clear()}_setSrc(){let e=this._getFrame();this.hasLoadingMessageValue&&(e.innerHTML=this.loadingMessageValue),e.src=this._getSrc()}_clear(){let e=this._getFrame();e.src="",e.innerHTML=""}_getFrame(){let e=document.getElementById(`${this.frameIdValue}`);if(e==null)throw new Error(`Could not find frame with ID '${this.frameIdValue}'`);if(oe(e))return e;throw new Error(`Element targeted by ID '${this.frameIdValue}'`)}_getSrc(){let e=this.el;if(this.hasSrcValue)return this.srcValue;if(ue(e))return e.href;throw new Error("No link given to drive frame to")}}l(us,"values",{frameId:String,src:String,loadingMessage:String});class hs extends h{get _poll(){return this.hasPollValue?this.pollValue:!1}connect(){let e=this.el;if(oe(e)){if(e.src)throw new Error("The provided <turbo-frame> element has no `src` attribute.")}else throw new Error("Expected controller to be mounted on a <turbo-frame> element.");this._poll&&requestAnimationFrame(()=>L(this,this.refresh,this.intervalValue))}refresh(e){e==null||e.preventDefault();let s=this.el;s.src=s.src}}l(hs,"values",{interval:Number,poll:Boolean}),a.AlertController=Pt,a.AnchorSpyController=He,a.AsyncBlockController=_e,a.AutoSubmitFormController=gt,a.AutosizeController=ks,a.BackLinkController=Yt,a.BaseController=h,a.CharCountController=X,a.CheckboxDisableInputsController=we,a.CheckboxEnableInputsController=ye,a.CheckboxSelectAllController=pt,a.CheckboxXORController=_t,a.ClipboardController=xe,a.ClockController=Kt,a.ConfirmController=Zt,a.ConfirmNavigationController=Qt,a.CountdownController=te,a.DebugController=es,a.DetectDirtyController=As,a.DetectDirtyFormController=Ls,a.DisableWithController=ts,a.DismissableController=ss,a.DurationController=Gt,a.ElementSaveController=Oe,a.EmptyDomController=ie,a.EnableInputsController=Ee,a.EphemeralController=U,a.EventBus=V,a.FallbackImageController=Me,a.FocusStealController=vt,a.FormRcController=Te,a.FormSaveController=wt,a.FullscreenController=Rs,a.IntersectionController=$t,a.IntervalController=zt,a.LazyBlockController=Vs,a.LightboxImageController=De,a.LimitedSelectionCheckboxesController=Ce,a.LoadBlockController=N,a.MediaPlayerController=Dt,a.NavigateFormErrorsController=Y,a.NestedFormController=Se,a.PasswordConfirmController=Ve,a.PasswordPeekController=yt,a.PollBlockController=ve,a.PrefetchController=is,a.PresenceController=Ut,a.PrintButtonController=rs,a.PrintController=jt,a.RemoteFormController=ke,a.RemoveController=Ps,a.ResponsiveIframeBodyController=zs,a.ResponsiveIframeWrapperController=$s,a.ScrollContainerController=Lt,a.ScrollIntoFocusController=It,a.ScrollToBottomController=Nt,a.ScrollToController=Ht,a.ScrollToTopController=xt,a.SelfDestructController=as,a.SignalActionController=Bt,a.SignalDomChildrenController=Ft,a.SignalInputController=Rt,a.SignalVisibilityController=Ie,a.StickyController=Be,a.StorageSerializers=ct,a.SyncInputsController=Et,a.TableSortController=qt,a.TableTruncateController=Ne,a.TabsController=se,a.TeleportController=ns,a.TemporaryStateController=ls,a.TimeDistanceController=Jt,a.TimeoutController=Wt,a.ToggleClassController=Fe,a.TreeViewController=Xt,a.TrixModifierController=Gs,a.TurboFrameRCController=us,a.TurboFrameRefreshController=hs,a.UserFocusController=qs,a.ValueWarnController=Z,a.WordCountController=Q,a.applyTemporaryClass=Us,a.applyTemporaryState=os,a.createHiddenButton=it,a.createHiddenInput=rt,a.getAllRadiosInGroup=me,a.getOtherRadiosInGroup=fe,a.getScrollParent=j,a.insertElement=ce,a.insertHiddenButton=de,a.insertHiddenInput=ys,a.isDirty=Ds,a.isElementCheckable=k,a.isElementInViewport=at,a.isFormDirty=bt,a.isHTMLAnchorElement=ue,a.isHTMLButtonButtonElement=Ye,a.isHTMLButtonElement=bs,a.isHTMLButtonInputElement=ws,a.isHTMLFormElement=he,a.isHTMLImageElement=vs,a.isHTMLInputElement=v,a.isHTMLLabelElement=_s,a.isHTMLLinkElement=ps,a.isHTMLResetButtonElement=Qe,a.isHTMLResetInputElement=Xe,a.isHTMLSelectElement=I,a.isHTMLSubmitButtonElement=Ze,a.isHTMLSubmitInputElement=Je,a.isHTMLTextAreaElement=W,a.isTurboFrame=oe,a.isTypeOfButtonableElement=K,a.isTypeOfFormInputElement=st,a.isTypeOfResetButtonElement=et,a.isTypeOfSubmitButtonElement=tt,a.requestReset=nt,a.requestSubmit=ge,a.scrollAbsoluteBottom=ne,a.scrollAbsoluteLeft=le,a.scrollAbsoluteRight=fs,a.scrollAbsoluteTop=ae,a.scrollDown=We,a.scrollLeft=Ke,a.scrollRight=Ge,a.scrollToElement=A,a.scrollUp=je,a.useCollectionEventListener=D,a.useCollectionEventListeners=Es,a.useEventListener=d,a.useEventListeners=ot,a.useFullscreen=ut,a.useGeolocation=Ts,a.useInjectedElement=ht,a.useInjectedFragment=pe,a.useInjectedHTML=Cs,a.useInterval=B,a.useLocalStorage=dt,a.useTemporaryContent=mt,a.useTimeout=L,Object.defineProperty(a,"__esModule",{value:!0}),a[Symbol.toStringTag]="Module"});
|
|
1
|
+
var Xs=Object.defineProperty;var ds=Object.getOwnPropertySymbols;var Ys=Object.prototype.hasOwnProperty,Zs=Object.prototype.propertyIsEnumerable;var Re=(a,b,m)=>b in a?Xs(a,b,{enumerable:!0,configurable:!0,writable:!0,value:m}):a[b]=m,qe=(a,b)=>{for(var m in b||(b={}))Ys.call(b,m)&&Re(a,m,b[m]);if(ds)for(var m of ds(b))Zs.call(b,m)&&Re(a,m,b[m]);return a};var l=(a,b,m)=>(Re(a,typeof b!="symbol"?b+"":b,m),m);(function(a,b){typeof exports=="object"&&typeof module!="undefined"?b(exports,require("stimulus"),require("lodash-es"),require("date-fns")):typeof define=="function"&&define.amd?define(["exports","stimulus","lodash-es","date-fns"],b):(a=typeof globalThis!="undefined"?globalThis:a||self,b(a["Stimulus-Library"]={},a.stimulus,a.lodashEs,a.dateFns))})(this,function(a,b,m,E){"use strict";function ms(t){switch(t){case"application":case"el":case"element":case"constructor":case"initialize":case"log":case"logEvent":case"dispatch":case"data":case"valueDescriptorMap":case"mutate":case"identifier":return!1}return!(/^_.*?$/.test(t)||/^.*?Target(s)?$/.test(t)||/^.*?Value$/.test(t)||/^.*?ValueChanged$/.test(t)||/^.*?Class$/.test(t)||/^.*?Classes$/.test(t)||/^.*?ClassesPresent$/.test(t))}function Pe(t,e,s={}){if(!t.application.debug)return;let i=console;i.groupCollapsed(...B(t.identifier,"#3B82F6"),`#${e}`),i.log(qe({element:t.element,controller:t},s)),i.groupEnd()}function $e(t,e,s={}){if(!t.application.debug)return;let i=console;i.groupCollapsed(...B(t.identifier,"#F39B1AFF"),`!! ${e} !!`),i.warn(qe({element:t.element,controller:t},s)),i.groupEnd()}function fs(t,e,s,i){if(!t.application.debug)return;let r=console;r.groupCollapsed(...ze([{text:t.identifier,color:"#3B82F6"},{text:e,color:"#0be000"}]),s.detail),r.log(...B("Dispatched on","#3b82f6"),i),r.log(...B("event","#3b82f6"),s),r.log(...B("event details","#3b82f6"),s.detail),r.groupEnd()}function B(t,e){return ze([{text:t,color:e}])}function ze(t){let e="",s=t.flatMap(i=>(e+=`%c${i.text}%c `,[`color: ${i.color}`,"color: unset"]));return[e,...s]}function re(t,e,s,i={}){let r=Object.assign({},{bubbles:!0,cancelable:!0,detail:{target:e}},i);r.detail.target||(r.detail.target=e);let n=new CustomEvent(s,r);fs(t,s,n,e),e.dispatchEvent(n)}class h extends b.Controller{constructor(e){super(e);return this.application.debug?new Proxy(this,{get:(s,i)=>{let r=Reflect.get(s,i),n=this;if("logFormattedMessage"in this.application)return r;if(ms(i.toString())){if(typeof r=="function")return new Proxy(r,{apply(o,c,u){return Pe(n,i.toString(),{args:u}),Reflect.apply(o,c,u)}});Pe(this,i.toString())}return r}}):this}get el(){return this.element}get isTurboPreview(){return document.documentElement.hasAttribute("data-turbo-preview")||document.documentElement.hasAttribute("data-turbolinks-preview")}get isTurbolinksPreview(){return this.isTurboPreview}get csrfToken(){return this.metaValue("csrf-token")}metaValue(e){const s=document.head.querySelector(`meta[name="${e}"]`);return(s==null?void 0:s.getAttribute("content"))||null}dispatchEvent(e,s,i={}){re(this,e,s,i)}}class U extends h{_cleanupSelf(){this.cleanup(this.el)}cleanup(e){var n,o,c;e.dataset.controller=((n=e.dataset.controller)==null?void 0:n.replaceAll(new RegExp(`(\\s|^)${this.identifier}(\\s|$)`,"g"),""))||"",e.dataset.controller==""&&delete e.dataset.controller;let s=new RegExp(`(\\s|^)${this.identifier}\\..+?(\\s|$)`,"g");e.dataset.target=((o=e.dataset.target)==null?void 0:o.replaceAll(s,""))||"",delete e.dataset[m.camelCase(`${this.identifier}-target`)],e.dataset.target==""&&delete e.dataset.target,e.dataset.action=((c=e.dataset.target)==null?void 0:c.replaceAll(s,""))||"",delete e.dataset[m.camelCase(`${this.identifier}-action`)],e.dataset.action==""&&delete e.dataset.action;let i=this.constructor.values;i&&Object.keys(i).forEach(u=>delete e.dataset[m.camelCase(`${this.identifier}-${u}-value`)]);let r=this.constructor.classes;r&&Object.keys(r).forEach(u=>delete e.dataset[m.camelCase(`${this.identifier}-${u}-class`)])}}const C="scrollBehavior"in document.documentElement.style;let Ue;async function A(t,{behavior:e="smooth",block:s="start",inline:i="nearest"}={}){e=="smooth"&&!C&&await S(),t.scrollIntoView({behavior:e,block:s,inline:i})}async function ae(t,{behavior:e="smooth"}={}){e=="smooth"&&!C&&await S(),t.scrollTo({top:0,left:0,behavior:e})}async function ne(t,{behavior:e="smooth"}={}){e=="smooth"&&!C&&await S(),t==window?t.scrollTo({top:document.body.scrollHeight,left:0,behavior:e}):t.scrollTo({top:t.scrollHeight,left:0,behavior:e})}async function le(t,{behavior:e="smooth"}={}){e=="smooth"&&!C&&await S(),t.scrollTo({left:0,behavior:e})}async function gs(t,{behavior:e="smooth"}={}){e=="smooth"&&!C&&await S(),t==window?t.scrollTo({left:document.body.scrollWidth,behavior:e}):t.scrollTo({left:t.scrollWidth,behavior:e})}async function je(t,e,{behavior:s="smooth"}={}){s=="smooth"&&!C&&await S(),t.scrollBy({top:-e,left:0,behavior:s})}async function We(t,e,{behavior:s="smooth"}={}){s=="smooth"&&!C&&await S(),t.scrollBy({top:e,left:0,behavior:s})}async function Ke(t,e,{behavior:s="smooth"}={}){s=="smooth"&&!C&&await S(),t.scrollBy({top:0,left:-e,behavior:s})}async function Ge(t,e,{behavior:s="smooth"}={}){s=="smooth"&&!C&&await S(),t.scrollBy({top:0,left:e,behavior:s})}async function S(){const{polyfill:t}=await import("smoothscroll-polyfill");Ue||(Ue=!0,t())}function j(t){if(!t)return null;if(t==document.body)return window;const e=getComputedStyle(t).overflowY;return e!=="visible"&&e!=="hidden"&&t.scrollHeight>=t.clientHeight?t:j(t.parentElement)||document.body}function oe(t){return t.nodeName=="TURBO-FRAME"}function ps(t){return{all:t=t||new Map,on:function(e,s){var i=t.get(e);i?i.push(s):t.set(e,[s])},off:function(e,s){var i=t.get(e);i&&(s?i.splice(i.indexOf(s)>>>0,1):t.set(e,[]))},emit:function(e,s){var i=t.get(e);i&&i.slice().map(function(r){r(s)}),(i=t.get("*"))&&i.slice().map(function(r){r(e,s)})}}}const V=ps();function _s(t){return t.nodeName=="LINK"}function ue(t){return t.nodeName=="A"}function he(t){return t.nodeName=="FORM"}function v(t){return t.nodeName=="INPUT"}function bs(t){return t.nodeName=="LABEL"}function W(t){return t.nodeName=="TEXTAREA"}function vs(t){return t.nodeName=="BUTTON"}function I(t){return t.nodeName=="SELECT"}function ws(t){return t.nodeName=="IMG"}function ys(t){return t.nodeName=="INPUT"&&t.type=="button"}function Je(t){return t.nodeName=="INPUT"&&t.type=="submit"}function Xe(t){return t.nodeName=="INPUT"&&t.type=="reset"}function Ye(t){return t.nodeName=="BUTTON"&&t.type=="button"}function Ze(t){return t.nodeName=="BUTTON"&&t.type=="submit"}function Qe(t){return t.nodeName=="BUTTON"&&t.type=="reset"}function et(t){return Qe(t)||Xe(t)}function tt(t){return Ze(t)||Je(t)}function K(t){return et(t)||tt(t)||Ye(t)}function k(t){return v(t)&&(t.type==="radio"||t.type==="checkbox")}function st(t){return v(t)||I(t)||W(t)}function it(t){let e=document.createElement("button");return e.type=t,e.style.display="none",e.dataset.sythentic="true",e}function rt(t,e){let s=document.createElement("input");return s.type="hidden",s.name=t,s.value=e,s}function ce(t,e,s){let i=t.insertAdjacentElement(e,s);if(!i)throw new Error(`Failed to insert element ${s.nodeName} into ${t.nodeName}`);return i}function Es(t,e,s,i){return ce(s,i,rt(t,e))}function de(t,e,s){return ce(e,s,it(t))}function me(t){let e=t.form||document;return Array.from(e.querySelectorAll(`input[type="radio"][name="${t.name}"]`))}function fe(t){return me(t).filter(e=>e!==t)}function at(t){const e=t.getBoundingClientRect(),s=window.innerHeight||document.documentElement.clientHeight,i=window.innerWidth||document.documentElement.clientWidth,r=e.top<=s&&e.top+e.height>=0,n=e.left<=i&&e.left+e.width>=0;return r&&n}function ge(t){if(t.requestSubmit)t.requestSubmit();else{let e=t.querySelector('button[type="submit"]');e||(e=de("submit",t,"beforeend")),e.click()}}function nt(t){let e=t.querySelector('button[type="reset"]');e||(e=de("reset",t,"beforeend")),e.click()}function lt(t){return Array.isArray(t)?t:[t]}function y(t,e,s){const i=t.disconnect.bind(t);return e(),Object.assign(t,{disconnect(){s(),i()}}),i}function d(t,e,s,i,r){(r==null?void 0:r.debounce)?(i=m.debounce(i.bind(t),r.debounce),delete r.debounce):i=i.bind(t);let n=lt(s),o=()=>n.forEach(u=>e.addEventListener(u,i,r)),c=()=>n.forEach(u=>e.removeEventListener(u,i));return y(t,o,c),{setup:o,teardown:c}}function ot(t,e,s,i,r){return d(t,e,s,i,r)}function D(t,e,s,i,r){let n=[];return e.forEach(o=>{let{setup:c,teardown:u}=d(t,o,s,i,r);n.push({setup:c,teardown:u})}),[()=>n.forEach(o=>o.setup()),()=>n.forEach(o=>o.teardown())]}function Ts(t,e,s,i,r){return D(t,e,s,i,r)}function ut(t,e){let s=e||document.documentElement,i=document.fullscreenElement!==null;const r=()=>i=document.fullscreenElement!==null,n=()=>i,o=async()=>i?await g():await p();let c=()=>document.addEventListener("fullscreenchange",r),u=()=>document.removeEventListener("fullscreenchange",r);const g=async()=>{document.exitFullscreen&&(i=!1,await document.exitFullscreen())},p=async()=>{i&&await g(),s.requestFullscreen&&(await s.requestFullscreen(),i=!0)};return y(t,c,u),{isFullscreen:n,enter:p,exit:g,toggle:o,teardown:u}}function G(t){if(t===null||typeof t!="object")return t;for(const e in t)Object.getOwnPropertyDescriptor(t,e)!=null&&(t[e]=G(t[e]));return new Proxy(t,{get(e,s){return e[s]},set(e,s,i){return e[s]=G(i),!0}})}function Cs(t,e={},s,i){s&&(s=s.bind(t)),i&&(i=i.bind(t));const{enableHighAccuracy:r=!0,maximumAge:n=3e4,timeout:o=27e3}=e,c=navigator&&"geolocation"in navigator,u=G({locatedAt:null,error:null,coords:{accuracy:0,latitude:1/0,longitude:1/0,altitude:null,altitudeAccuracy:null,heading:null,speed:null},teardown:()=>{p&&(navigator.geolocation.clearWatch(p),p=null)}});let g=()=>{c&&(p=navigator.geolocation.watchPosition(_=>{u.locatedAt=_.timestamp,u.coords=_.coords,u.error=null,s&&s(_)},_=>{u.error=_,i&&i(_)},{enableHighAccuracy:r,maximumAge:n,timeout:o}))},p=null;return y(t,g,u.teardown),u}function pe(t,e,s,i,r={}){let n=Array.from(i.childNodes),o=()=>{let u=e.parentElement;if(["beforebegin","afterend"].includes(s)&&u==null)throw new Error("Cannot insert beforebegin into a node with no parent");switch(s){case"beforeend":e.append(i);break;case"afterbegin":e.prepend(i);break;case"beforebegin":u.insertBefore(i,e);break;case"afterend":u.insertBefore(i,e);break}},c=r.cleanup?()=>n.forEach(u=>u.remove()):()=>{};return y(t,o,c),[n,c]}function Ss(t,e,s,i,r={}){const n=document.createRange().createContextualFragment(i);return pe(t,e,s,n,r)}function ht(t,e,s,i,r={}){const n=new DocumentFragment;n.append(i);let[o,c]=pe(t,e,s,n,r);return[o[0],c]}function F(t,e,s){e=e.bind(t);let i=null,r=()=>i=setInterval(e,s),n=()=>{i!==null&&clearInterval(i)};return y(t,r,n),n}const ct={boolean:{deserialize:t=>t==="true",serialize:t=>String(t),isEmpty:t=>t===""||t===null},object:{deserialize:t=>JSON.parse(t),serialize:t=>JSON.stringify(t),isEmpty:t=>{const e=Object.values(JSON.parse(t));return e.length===0||e.every(s=>s===""||s===null)}},number:{deserialize:t=>Number.parseFloat(t),serialize:t=>String(t),isEmpty:t=>t===""||t===null},any:{deserialize:t=>t,serialize:t=>String(t),isEmpty:t=>t===""||t===null},string:{deserialize:t=>t,serialize:t=>String(t),isEmpty:t=>t===""||t===null},map:{deserialize:t=>new Map(JSON.parse(t)),serialize:t=>JSON.stringify(Array.from(t.entries())),isEmpty:t=>{const e=Array.from(t.values());return e.length===0||e.every(s=>s===""||s===null)}},set:{deserialize:t=>new Set(JSON.parse(t)),serialize:t=>JSON.stringify(Array.from(t.entries())),isEmpty:t=>{const e=Array.from(t.values());return e.length===0||e.every(s=>s===""||s===null)}}};function dt(t,e,s,i={writeDefaults:!0}){let r,{writeDefaults:n}=i;s==null?r="any":s instanceof Set?r="set":s instanceof Map?r="map":typeof s=="boolean"?r="boolean":typeof s=="string"?r="string":typeof s=="object"||Array.isArray(s)?r="object":Number.isNaN(s)?r="any":r="number";let o=G({value:s}),c=localStorage;const u=ct[r],g=()=>{const w=c.getItem(e);return w==null?(o.value=s,n&&s!==null&&c.setItem(e,u.serialize(s))):o.value=u.deserialize(w),o.value},p=w=>{c.setItem(e,u.serialize(w)),o.value=w},_=()=>(c.removeItem(e),o.value=s,o.value),M=()=>{let w=c.getItem(e);return u.isEmpty(w)};return g(),{get value(){return g()},set value(w){p(w)},read:g,clear:_,write:p,isEmpty:M}}function L(t,e,s){let i,r=null;e=e.bind(t);let n=()=>{e(),r=null,Object.assign(t,{disconnect:i})},o=()=>r=setTimeout(n,s),c=()=>{r!==null&&(clearTimeout(r),r=null)};return i=y(t,o,c),c}function mt(t,e,s,i,r){const n=(_,M)=>{v(_)?_.value=M:_.textContent=M},o=_=>v(_)?_.value:_.innerHTML;let c=()=>{},u=o(e);const g=()=>{n(e,u),c(),r&&r.call(t)};return y(t,()=>{n(e,s),i!==void 0&&(c=L(t,g,i))},g),{teardown:g,update(_){n(e,_)}}}async function ft(t,e,s){try{return await fetch(e,s)}catch(i){if(t===1)throw i;return await ft(t-1,e,s)}}class N extends h{get _errorMessage(){return this.hasErrorMessageValue?this.errorMessageValue:"This content failed to load"}get _maxRetries(){return this.hasMaxRetriesValue?this.maxRetriesValue:1}connect(){}async loadContent(e=null){e==null||e.preventDefault();let s=this,i=this.hasReplaceTarget?this.replaceTarget:this.el,r=()=>{i.replaceWith(this._errorMessage),s.dispatchEvent(i,"ajax:error")};try{let n=await ft(this._maxRetries,this.endpointValue);n.ok||r();let o=await n.text(),c=document.createElement("div");if(c.innerHTML=o,this.hasSelectorValue){let u=c.querySelectorAll(this.selectorValue);i.replaceWith(...u)}else i.replaceWith(...c.children);s.dispatchEvent(i,"ajax:success")}catch{r()}finally{s.dispatchEvent(i,"ajax:complete")}}}l(N,"targets",["replace"]),l(N,"values",{endpoint:String,errorMessage:String,selector:String,maxRetries:Number});class _e extends N{get _errorMessage(){return this.hasErrorMessageValue?this.errorMessageValue:"This content failed to load"}async connect(){await this.loadContent()}}l(_e,"targets",["replace"]),l(_e,"values",{endpoint:String,errorMessage:String,selector:String,maxRetries:Number});function Vs(t,e,s){e=e.bind(t);let i=new IntersectionObserver(e,s);return{observer:i,teardown:()=>{i==null||i.disconnect(),i=null},observe:c=>i==null?void 0:i.observe(c),unobserve:c=>i==null?void 0:i.unobserve(c)}}function be(t,e,s,i,r){s&&(s=s.bind(t)),i&&(i=i.bind(t));let n=r!=null?r:{},o=M=>{M.forEach(w=>{w.isIntersecting?s&&s(w):i&&i(w)})},{observer:c,observe:u,unobserve:g,teardown:p}=Vs(t,o,n);return y(t,()=>u(e),p),{observer:c,observe:()=>u(e),unobserve:()=>g(e),teardown:p}}class ks extends N{async connect(){let e=this.el;if("IntersectionObserver"in window){let{observe:s,unobserve:i}=be(this,e,this.appear,null,{threshold:.3});this.observe=s,this.unobserve=i}else await this.loadContent()}async appear(e){e.target===this.el&&e.isIntersecting&&(await this.loadContent(),this.unobserve&&this.unobserve())}}class ve extends N{connect(){if(!this.hasSecondsValue)throw new Error("Required value `seconds` is missing");requestAnimationFrame(()=>{this._timeout(),F(this,this._timeout,this.secondsValue*1e3)})}async _timeout(){await this.loadContent()}}l(ve,"targets",["replace"]),l(ve,"values",{endpoint:String,errorMessage:String,selector:String,maxRetries:Number,seconds:Number});class gt extends h{get _eventModes(){if(this.hasEventModeValue){let e=this.eventModeValue.split(" ").map(s=>s.trim());if(e.length===1&&e[0]==="debounced")return["change","input"];if(!e.every(s=>["change","input"].includes(s)))throw new Error(`The modeValue provided '${this.eventModeValue}' is not one of the recognised configuration options`);return e}else return["change"]}get _debounceTimeout(){return this.hasDebounceIntervalValue?this.debounceIntervalValue:-1}get _mode(){if(this.hasSubmitModeValue){if(!["direct","request"].includes(this.submitModeValue))throw new Error(`The modeValue provided '${this.submitModeValue}' is not one of the recognised configuration options`);return this.submitModeValue}else return"request"}get _cssSelector(){let e=["input","textarea","select"],s=":not([data-no-autosubmit])";return e.map(i=>i.concat(s)).join(",")}get inputElements(){let e=Array.from(this.element.querySelectorAll(this._cssSelector));return e=e.filter(s=>!this._ancestorIsTrix(s)),e}connect(){this.inputElements.forEach(e=>d(this,e,this._eventModes,this.submit,{debounce:this._debounceTimeout&&this._debounceTimeout>0?this._debounceTimeout:void 0}))}_ancestorIsTrix(e){return e.closest("trix-toolbar")!==null&&e.closest("trix-editor")!==null}submit(){let e=this.el;this._mode=="request"?ge(e):e.submit()}}l(gt,"values",{submitMode:String,eventMode:String,debounceInterval:Number});class Ms extends h{connect(){let{teardown:e}=be(this,this.el,this.appear);if(this._unobserveIntersection=e,!W(this.el))throw new Error(`Expected controller to be attached to a textarea, but was a '${this.el.tagName}'`);requestAnimationFrame(()=>{this.el.style.resize="none",this.el.style.boxSizing="border-box",this._handler(),d(this,window,["resize"],this._handler),d(this,this.el,["input","change","focus"],this._handler,{debounce:100})})}appear(e){this.autosize(this.el),this._unobserveIntersection()}_handler(){this.autosize(this.el)}autosize(e){let s=e.offsetHeight-e.clientHeight;e.style.height="auto",e.style.height=e.scrollHeight+s+"px"}}function R(t,e){const s=t[e];return typeof s=="function"?s:s!=null?()=>s:()=>{}}function J(t){return m.upperFirst(m.camelCase(t))}function As(t,e){let s=t.element,i=()=>t[`has${J(e)}Class`]==!0,r=()=>t[`${e}Classes`],n=()=>R(t,`default${J(e)}Classes`).call(t)||[],o=()=>i()?r():n();t[`${e}Classes`]==null&&Object.defineProperty(t,`${e}Classes`,{get:()=>i()?t[`${e}Class`].split(" "):n()});let c={[`add${J(e)}Classes`]:(u=s)=>u.classList.add(...o()),[`remove${J(e)}Classes`]:(u=s)=>u.classList.remove(...o()),[`${e}ClassesPresent`]:(u=s)=>o().every(g=>u.classList.contains(g))};Object.assign(t,c)}function T(t){(t.constructor.classes||[]).forEach(s=>As(t,s))}class X extends h{connect(){T(this),requestAnimationFrame(()=>{d(this,this.inputTarget,"input",this._updateCharCount),this._updateCharCount()})}_updateCharCount(){let e=this.inputTarget.value.length;this.outputTarget.innerText=e.toString(),this._isValidCount(e)?this.removeErrorClasses(this.outputTarget):this.addErrorClasses(this.outputTarget)}_isValidCount(e){let s=0,i=99999;return this.hasMinValue&&(s=this.minValue),this.hasMaxValue&&(i=this.maxValue),e>=s&&e<=i}}l(X,"targets",["input","output"]),l(X,"values",{min:Number,max:Number}),l(X,"classes",["error"]);class we extends h{connect(){this.toggle()}toggle(){this.hasDisablerTarget&&this.disablerTarget.checked?this.disable():this.enable()}disable(){let e=this.hasClearValue&&this.clearValue;this.disableTargets.forEach((s,i)=>{e&&(s.value=""),s.disabled=!0})}enable(){this.disableTargets.forEach((e,s)=>{e.disabled=!1})}}l(we,"targets",["disabler","disable"]),l(we,"values",{clear:Boolean});class ye extends h{connect(){this.toggle()}toggle(){this.hasEnablerTarget&&this.enablerTarget.checked?this.enable():this.disable()}disable(){let e=this.hasClearValue&&this.clearValue;this.enableTargets.forEach((s,i)=>{e&&(s.value=""),s.disabled=!0})}enable(){this.enableTargets.forEach((e,s)=>{e.disabled=!1})}}l(ye,"targets",["enabler","enable"]),l(ye,"values",{clear:Boolean});class pt extends h{get _checked(){return this._enabled.filter(e=>e.checked)}get _enabled(){return this.checkboxTargets.filter(e=>!e.disabled&&!e.readOnly)}get _unchecked(){return this._enabled.filter(e=>!e.checked)}connect(){requestAnimationFrame(()=>{!this.hasSelectAllTarget||(d(this,this.selectAllTarget,"change",this._toggle),D(this,this.checkboxTargets,"change",this._refresh),this._refresh())})}_toggle(e){e.preventDefault();let s=e.target;this._enabled.forEach(i=>i.checked=i.disabled||i.readOnly?i.checked:s.checked)}_refresh(){const e=this._enabled.length,s=this._checked.length;this.selectAllTarget.checked=s>0,this.selectAllTarget.indeterminate=s>0&&s<e}}l(pt,"targets",["selectAll","checkbox"]);class _t extends h{connect(){D(this,this.checkboxTargets,"change",this._update)}_otherCheckboxes(e){return Array.from(this.checkboxTargets).filter(s=>s!==e)}_update(e){const s=e.target;if(!s)throw new Error("No target found on event");let i=this._otherCheckboxes(s);s.checked&&i.forEach(r=>{r.checked=!1,this.dispatchEvent(this.el,"change")})}}l(_t,"targets",["checkbox"]);class Ds extends h{get _cacheAttrName(){return"detect-dirty-load-value"}connect(){let e=this.el;this._cacheLoadValues(),this._checkDirty(),d(this,e,["input","change"],this._checkDirty,{debounce:10})}restore(e){e==null||e.preventDefault(),this._restoreElementFromLoadValue()}_getElementValue(){let e=this.el;return k(e)?e.checked:e.value}_getElementLoadValue(){let e=this.el,s=e.getAttribute(this._cacheAttrName);if(k(e))return s==null?e.defaultChecked:s=="true";if(I(e))Array.from(e.options).forEach(r=>{if(r.defaultSelected)return e.value=r.value,r.value});else if(s!==null)return s;return s}_elementHasCachedLoadValue(){return this.el.hasAttribute(this._cacheAttrName)}_checkDirty(){let e=this.el;v(e)&&e.type=="radio"&&fe(e).forEach(s=>s.removeAttribute("data-dirty")),this._isElementDirty()?e.setAttribute("data-dirty","true"):e.removeAttribute("data-dirty")}_isElementDirty(){return this._getElementValue()!==this._getElementLoadValue()}_restoreElementFromLoadValue(){let e=this.el,s=e.getAttribute(this._cacheAttrName);k(e)?(e.setAttribute(this._cacheAttrName,e.checked.toString()),e.checked=s==null?e.defaultChecked:s=="true"):I(e)?s==null?Array.from(e.options).forEach(r=>{if(r.defaultSelected){e.value=r.value;return}}):e.value=s:e.value=s==null?e.defaultValue:s}_cacheLoadValues(){let e=this.el;!this._elementHasCachedLoadValue()&&k(e)?e.setAttribute(this._cacheAttrName,e.checked.toString()):e.setAttribute(this._cacheAttrName,e.value.toString())}}function Ls(t){return t.hasAttribute("data-dirty")}class Is extends h{get _formElements(){return Array.from(this.el.querySelectorAll("input, select, textarea"))}get _cacheAttrName(){return"detect-dirty-load-value"}connect(){let e=this.el;this._cacheLoadValues(),this._checkDirty(),d(this,e,["input","change"],this._checkDirty,{debounce:10})}restore(e){e==null||e.preventDefault(),this._formElements.forEach(s=>this._restoreElementFromLoadValue(s))}_getElementValue(e){return k(e)?e.checked:e.value}_getElementLoadValue(e){let s=e.getAttribute(this._cacheAttrName);if(k(e))return s==null?e.defaultChecked:s=="true";if(I(e))Array.from(e.options).forEach(r=>{if(r.defaultSelected)return e.value=r.value,r.value});else if(s!==null)return s;return s}_elementHasCachedLoadValue(e){return e.hasAttribute(this._cacheAttrName)}_checkElementDirty(e){v(e)&&e.type=="radio"&&fe(e).forEach(s=>s.removeAttribute("data-dirty")),this._isElementDirty(e)?e.setAttribute("data-dirty","true"):e.removeAttribute("data-dirty")}_isElementDirty(e){return this._getElementValue(e)!==this._getElementLoadValue(e)}_cacheElementLoadValue(e){!this._elementHasCachedLoadValue(e)&&k(e)?e.setAttribute(this._cacheAttrName,e.checked.toString()):e.setAttribute(this._cacheAttrName,e.value.toString())}_restoreElementFromLoadValue(e){let s=e.getAttribute(this._cacheAttrName);k(e)?(e.setAttribute(this._cacheAttrName,e.checked.toString()),e.checked=s==null?e.defaultChecked:s=="true"):I(e)?s==null?Array.from(e.options).forEach(r=>{if(r.defaultSelected){e.value=r.value;return}}):e.value=s:e.value=s==null?e.defaultValue:s}_cacheLoadValues(){this._formElements.forEach(e=>this._cacheElementLoadValue(e))}_checkDirty(){this._formElements.forEach(e=>this._checkElementDirty(e)),this._formElements.some(e=>bt(e))?this.el.setAttribute("data-dirty","true"):this.el.removeAttribute("data-dirty")}}function bt(t){return t.hasAttribute("data-dirty")}class Ee extends h{connect(){}disable(){let e=this.hasClearValue&&this.clearValue;this.inputTargets.forEach((s,i)=>{e&&(s.value=""),s.disabled=!0})}enable(){this.inputTargets.forEach((e,s)=>e.disabled=!1)}}l(Ee,"targets",["input"]),l(Ee,"values",{clear:Boolean});class vt extends h{get _mode(){const e=["immediate","wait"];if(this.hasModeValue){if(e.includes(this.modeValue))return this.modeValue;throw new Error(`The given modeValue '${this.modeValue}' is not one of the supported modes: "${e.join('", "')}"`)}else return e[0]}connect(){this._mode=="immediate"&&this.steal()}steal(){this.el.focus()}}l(vt,"values",{mode:String});class Te extends h{get _mode(){if(this.hasSubmitModeValue){if(!["direct","request"].includes(this.submitModeValue))throw new Error(`The modeValue provided '${this.submitModeValue}' is not one of the recognised configuration options`);return this.submitModeValue}else return"request"}get form(){let e;if(this.hasFormSelectorValue){if(e=document.querySelector(this.formSelectorValue),!e)throw new Error(`Could not find a form on the page that matches selector '${this.formSelectorValue}'`)}else e=this.formTarget;return e}submit(e){e==null||e.preventDefault();let s=this.formTarget;this._mode=="request"?ge(s):s.submit()}reset(e){e==null||e.preventDefault(),nt(this.form)}}l(Te,"targets",["form"]),l(Te,"values",{formSelector:String,submitMode:String});class wt extends h{get _formID(){if(this.hasIdValue)return this.idValue;let e=this.el.id;if(e!=="")return e;throw new Error(`No ID value to uniquely identify this form. Please either specify data-${this.identifier}-id-value or give this form an 'id' attribute. `)}get _formIdentifier(){return`${location.href} ${this._formID}`}get _formElements(){return this.el.elements}get _formData(){let e={[this._formIdentifier]:{}};for(const s of this._formElements){let i=s;i.name.length>0&&(v(i)&&i.type=="checkbox"?e[this._formIdentifier][i.name]=i.checked:v(i)&&i.type=="radio"?i.checked&&(e[this._formIdentifier][i.name]=i.value):e[this._formIdentifier][i.name]=i.value)}return e}get _restoreOnLoad(){return this.hasRestoreOnLoadValue?this.restoreOnLoadValue:!0}get _clearOnSubmit(){return this.hasClearOnSubmitValue?this.clearOnSubmitValue:!0}connect(){requestAnimationFrame(()=>{let e=this.el;if(!he(e))throw new Error("Expected controller to be mounted on a form element.");this._restoreOnLoad&&this.restore(),this._clearOnSubmit&&d(this,this.el,"submit",this._clear)})}_clear(){localStorage.removeItem(this._formIdentifier),this.dispatchEvent(this.el,"form-save:cleared")}clear(e){e==null||e.preventDefault(),this._clear()}save(e){e.preventDefault();let s=this._formData;localStorage.setItem(this._formIdentifier,JSON.stringify(s[this._formIdentifier])),this.dispatchEvent(this.el,"form-save:save:success")}restore(e){if(e==null||e.preventDefault(),localStorage.getItem(this._formIdentifier)){const s=JSON.parse(localStorage.getItem(this._formIdentifier));for(const i of this._formElements){let r=i;r.name in s&&(v(r)&&r.type=="checkbox"?r.checked=s[r.name]:v(r)&&r.type=="radio"?r.value==s[r.name]&&(r.checked=!0):r.value=s[r.name])}this.dispatchEvent(this.el,"form-save:restore:success")}else this.dispatchEvent(this.el,"form-save:restore:empty")}}l(wt,"values",{id:String,restoreOnLoad:Boolean,clearOnSubmit:Boolean});class Ce extends h{connect(){D(this,this.inputTargets,"change",this._handleInputs)}_handleInputs(e){let s=this.inputTargets.reduce((r,n)=>n.checked?r+1:r,0),i=e.target;s>this.maxValue?(e.preventDefault(),i.checked=!1,this.dispatchEvent(i,"change"),this.dispatchEvent(i,"limited-selection:too-many"),this.hasErrorTarget&&this.hasMessageValue&&(this.errorTarget.innerHTML=this.messageValue)):(this.dispatchEvent(i,"limited-selection:selection"),this.hasErrorTarget&&(this.errorTarget.innerHTML=""))}}l(Ce,"targets",["input","error"]),l(Ce,"values",{max:Number,message:String});class Y extends h{constructor(){super(...arguments);l(this,"_errors",[]);l(this,"_firstClick",!1)}get defaultCurrentClasses(){return["currentError"]}get _errorCount(){return this._errors.length}get _previousIndex(){let e=this._index-1;return e<0?0:e}get _nextIndex(){let e=this._index+1;return e>this._errors.length-1?this._errors.length-1:e}get _index(){return m.clamp(this.hasIndexValue?this.indexValue:0,0,this._errors.length)}get _selector(){if(this.hasSelectorValue)return this.selectorValue;throw new Error("Expected `selectorValue` to be present")}get _currentError(){return this._errors[this._index]}get _otherErrors(){return this._errors.filter((e,s)=>s!==this._index)}connect(){T(this),requestAnimationFrame(()=>{this._firstClick=!0,this._toggleButtons(),this._toggleVisibility()})}async current(e){e==null||e.preventDefault(),this._firstClick&&(this._firstClick=!1,this._toggleButtons()),await A(this._currentError,{behavior:"smooth",block:"center",inline:"center"}),this._updateClasses()}async next(e){e==null||e.preventDefault(),this._firstClick?(this._firstClick=!1,this._toggleButtons()):this.indexValue=this._nextIndex,await A(this._currentError,{behavior:"smooth",block:"center",inline:"center"}),this._updateClasses()}async previous(e){e==null||e.preventDefault(),this._firstClick?(this._firstClick=!1,this._toggleButtons()):this.indexValue=this._previousIndex,await A(this._currentError,{behavior:"smooth",block:"center",inline:"center"}),this._updateClasses()}indexValueChanged(){this._toggleButtons()}selectorValueChanged(){this._errors=Array.from(document.querySelectorAll(this._selector)),this.indexValue=0,this._toggleButtons(),this._toggleVisibility()}_updateClasses(){this.addCurrentClasses(this._currentError),this._otherErrors.forEach(e=>this.removeCurrentClasses(e))}_toggleVisibility(){this._errorCount===0?this.el.style.display="none":this.el.style.display=""}_toggleButtons(){if(this.hasNextTarget)if(!this.hasCurrentTarget&&this._firstClick&&this.indexValue==this._errorCount-1){this.nextTarget.removeAttribute("disabled");return}else this.indexValue>=this._errorCount-1?this.nextTarget.setAttribute("disabled","true"):this.nextTarget.removeAttribute("disabled");this.hasPreviousTarget&&(this.indexValue<=0?this.previousTarget.setAttribute("disabled","true"):this.previousTarget.removeAttribute("disabled"))}}l(Y,"values",{selector:String,index:Number}),l(Y,"classes",["current"]),l(Y,"targets",["next","current","previous"]);class Se extends h{get _wrapperClass(){return this.hasWrapperSelectorValue?this.wrapperClassValue:"nested-fields"}get _insertMode(){return this.hasInsertModeValue?this.insertModeValue:"beforeend"}connect(){this._checkStructure()}add(e){e==null||e.preventDefault();const s=this.templateTarget.innerHTML.replace(/NEW_RECORD/g,this._generateID());this.targetTarget.insertAdjacentHTML(this._insertMode,s)}remove(e){e.preventDefault();const s=e.target.closest(`.${this._wrapperClass}`);if(s==null)throw new Error(`#remove was clicked from outside of a child record. Could not find an ancestor with class .${this._wrapperClass}`);if(s.dataset.newRecord==="true")s.remove();else{s.style.display="none";let i=s.querySelector("input[name*='_destroy']");if(i==null)throw new Error("Could not find a hidden input with name '_destroy'. NestedForm cannot remove an already persisted record without it.");i.value="1"}}_generateID(){return new Date().getTime().toString()+Math.random().toString().slice(2)}_checkStructure(){if(this.templateTarget.innerHTML.indexOf("NEW_RECORD"))throw new Error("Could not find 'NEW_RECORD' in the provided template. Please make sure you've passed `child_index: 'NEW_RECORD'` to `fields_for`")}}l(Se,"targets",["target","template"]),l(Se,"values",{insertMode:String,wrapperClass:String});class Ve extends h{connect(){T(this),D(this,this.passwordTargets,"change",this._checkPasswordsMatch)}_allPasswordsMatch(){let e=new Set(this.passwordTargets.map(s=>s.value));return e.has("")||e.size==1}_checkPasswordsMatch(){let e=this.el;this._allPasswordsMatch()?(this.dispatchEvent(e,"password-confirm:match"),this.passwordTargets.forEach(s=>this.removeErrorClasses(s))):(this.dispatchEvent(e,"password-confirm:no-match"),this.passwordTargets.forEach(s=>this.addErrorClasses(s)))}}l(Ve,"targets",["password"]),l(Ve,"classes",["error"]);class yt extends h{peak(e){e==null||e.preventDefault(),this.passwordTarget.type="text"}hide(e){e==null||e.preventDefault(),this.passwordTarget.type="password"}toggle(e){e==null||e.preventDefault(),this.passwordTarget.type==="password"?this.peak():this.hide()}}l(yt,"targets",["password"]);class ke extends h{get _selector(){return this.hasSelectorValue?this.selectorValue:`[data-controller~="${this.identifier}"]`}replace(e){const[s,i,r]=e.detail;if(s instanceof Node){let n=s.querySelector(this._selector);if(n==null)throw new Error(`expected new form DOM with [data-controller="${this.identifier}"] to be present in returned payload`);let o=this.el.parentNode;if(o==null)throw new Error("expected form to have a DOM parent, could not execute replaceChild");o.replaceChild(n,this.el),this.dispatchEvent(n,"remote-form:replace")}else console.log("Unknown",s)}}l(ke,"targets",[]),l(ke,"values",{selector:String});function q(t,e,s,i){let r=i;(r==null?void 0:r.debounce)?(s=m.debounce(s.bind(t),r.debounce),delete r.debounce):s=s.bind(t);let n=lt(e),o=()=>n.forEach(u=>V.on(u,s)),c=()=>n.forEach(u=>V.off(u,s));return y(t,o,c),{setup:o,teardown:c}}class Et extends h{get _eventName(){return`sync:${this._key}`}get _key(){if(this.hasKeyValue)return this.keyValue;throw new Error("Expected `keyValue` to be present")}get _value(){let e=this.el;return v(e)&&e.type==="checkbox"?e.checked:v(e)&&e.type==="radio"?e.checked?e.value:"":e.value}set _value(e){let s=this.el;v(s)&&s.type==="checkbox"?s.checked=e.toString()==="true":v(s)&&s.type==="radio"?s.checked=s.value===e:v(s)||W(s)||I(s)?s.value=e.toString():s.innerHTML=e.toString()}connect(){q(this,this._eventName,this._read),requestAnimationFrame(()=>{st(this.el)&&(this._emit(),d(this,this.el,"input",this._emit))})}_emit(){V.emit(this._eventName,{value:this._value,dispatcher:this.el})}_read(e){if(e===void 0)throw new Error("No payload received");let{dispatcher:s,value:i}=e;s!==this.el&&(this._value=i)}}l(Et,"values",{key:String});class Z extends h{get _maxMessage(){return this.hasMaxMessageValue?this.maxMessageValue:`Value must be less than ${this.maxValue}`}get _minMessage(){return this.hasMinMessageValue?this.minMessageValue:`Value must be greater than ${this.minValue}`}get defaultWarningHideClasses(){return["hide"]}connect(){T(this),this.addWarningHideClasses(this.warningTarget),d(this,this.inputTarget,"input",this._check),this._check()}_check(){this.hasMinValue&&Number.parseFloat(this.inputTarget.value)<this.minValue?(this.removeWarningHideClasses(this.warningTarget),this.addInputWarningClasses(this.inputTarget),this.warningTarget.innerText=this._minMessage):this.hasMaxValue&&Number.parseFloat(this.inputTarget.value)>this.maxValue?(this.removeWarningHideClasses(this.warningTarget),this.addInputWarningClasses(this.inputTarget),this.warningTarget.innerText=this._maxMessage):(this.addWarningHideClasses(this.warningTarget),this.removeInputWarningClasses(this.inputTarget),this.warningTarget.innerText="")}}l(Z,"classes",["inputWarning","warningHide"]),l(Z,"targets",["input","warning"]),l(Z,"values",{max:Number,min:Number,minMessage:String,maxMessage:String});class Q extends h{connect(){T(this),this._updateWordCount(),d(this,this.inputTarget,"input",this._updateWordCount)}_updateWordCount(){let e=0,i=this.inputTarget.value.match(/\S+/g);e=i&&i.length||0,this.outputTarget.innerText=e.toString(),this._isValidCount(e)?this.removeErrorClasses(this.outputTarget):this.addErrorClasses(this.outputTarget)}_isValidCount(e){let s=0,i=99999;return this.hasMinValue&&(s=this.minValue),this.hasMaxValue&&(i=this.maxValue),e>=s&&e<=i}}l(Q,"targets",["input","output"]),l(Q,"values",{min:Number,max:Number}),l(Q,"classes",["error"]);class Me extends h{initialize(){this._hasLoadedSuccessfully=this._hasLoadedSuccessfully.bind(this),this._success=this._success.bind(this),this._fail=this._fail.bind(this)}connect(){let e=this.el;e.onerror=this._fail,e.complete&&!this._hasLoadedSuccessfully()?this._fail():this._success()}disconnect(){this.removeSuccessClasses(),this.removeFailClasses()}_success(){this.addSuccessClasses()}_fail(){let e=this.el;this.addFailClasses(),this.hasPlaceholderValue&&e.src!==this.placeholderValue?(this.dispatchEvent(e,"fallback-image:placeholder"),e.src=this.placeholderValue,e.onerror=this._fail):(this.dispatchEvent(e,"fallback-image:fail"),e.style.display="none")}_hasLoadedSuccessfully(){let e=this.el;return e.naturalHeight>0&&e.naturalWidth>0}}l(Me,"values",{placeholder:String}),l(Me,"classes",["success","fail"]);var H=window.CustomEvent;(!H||typeof H=="object")&&(H=function(e,s){s=s||{};var i=document.createEvent("CustomEvent");return i.initCustomEvent(e,!!s.bubbles,!!s.cancelable,s.detail||null),i},H.prototype=window.Event.prototype);function Tt(t,e){var s="on"+e.type.toLowerCase();return typeof t[s]=="function"&&t[s](e),t.dispatchEvent(e)}function Ns(t){for(;t&&t!==document.body;){var e=window.getComputedStyle(t),s=function(i,r){return!(e[i]===void 0||e[i]===r)};if(e.opacity<1||s("zIndex","auto")||s("transform","none")||s("mixBlendMode","normal")||s("filter","none")||s("perspective","none")||e.isolation==="isolate"||e.position==="fixed"||e.webkitOverflowScrolling==="touch")return!0;t=t.parentElement}return!1}function P(t){for(;t;){if(t.localName==="dialog")return t;t.parentElement?t=t.parentElement:t.parentNode?t=t.parentNode.host:t=null}return null}function Ct(t){for(;t&&t.shadowRoot&&t.shadowRoot.activeElement;)t=t.shadowRoot.activeElement;t&&t.blur&&t!==document.body&&t.blur()}function Hs(t,e){for(var s=0;s<t.length;++s)if(t[s]===e)return!0;return!1}function Ae(t){return!t||!t.hasAttribute("method")?!1:t.getAttribute("method").toLowerCase()==="dialog"}function St(t){var e=["button","input","keygen","select","textarea"],s=e.map(function(o){return o+":not([disabled])"});s.push('[tabindex]:not([disabled]):not([tabindex=""])');var i=t.querySelector(s.join(", "));if(!i&&"attachShadow"in Element.prototype)for(var r=t.querySelectorAll("*"),n=0;n<r.length&&!(r[n].tagName&&r[n].shadowRoot&&(i=St(r[n].shadowRoot),i));n++);return i}function Vt(t){return t.isConnected||document.body.contains(t)}function kt(t){if(t.submitter)return t.submitter;var e=t.target;if(!(e instanceof HTMLFormElement))return null;var s=f.formSubmitter;if(!s){var i=t.target,r="getRootNode"in i&&i.getRootNode()||document;s=r.activeElement}return!s||s.form!==e?null:s}function xs(t){if(!t.defaultPrevented){var e=t.target,s=f.imagemapUseValue,i=kt(t);s===null&&i&&(s=i.value);var r=P(e);if(!!r){var n=i&&i.getAttribute("formmethod")||e.getAttribute("method");n==="dialog"&&(t.preventDefault(),s!=null?r.close(s):r.close())}}}function Mt(t){if(this.dialog_=t,this.replacedStyleTop_=!1,this.openAsModal_=!1,t.hasAttribute("role")||t.setAttribute("role","dialog"),t.show=this.show.bind(this),t.showModal=this.showModal.bind(this),t.close=this.close.bind(this),t.addEventListener("submit",xs,!1),"returnValue"in t||(t.returnValue=""),"MutationObserver"in window){var e=new MutationObserver(this.maybeHideModal.bind(this));e.observe(t,{attributes:!0,attributeFilter:["open"]})}else{var s=!1,i=function(){s?this.downgradeModal():this.maybeHideModal(),s=!1}.bind(this),r,n=function(o){if(o.target===t){var c="DOMNodeRemoved";s|=o.type.substr(0,c.length)===c,window.clearTimeout(r),r=window.setTimeout(i,0)}};["DOMAttrModified","DOMNodeRemoved","DOMNodeRemovedFromDocument"].forEach(function(o){t.addEventListener(o,n)})}Object.defineProperty(t,"open",{set:this.setOpen.bind(this),get:t.hasAttribute.bind(t,"open")}),this.backdrop_=document.createElement("div"),this.backdrop_.className="backdrop",this.backdrop_.addEventListener("mouseup",this.backdropMouseEvent_.bind(this)),this.backdrop_.addEventListener("mousedown",this.backdropMouseEvent_.bind(this)),this.backdrop_.addEventListener("click",this.backdropMouseEvent_.bind(this))}Mt.prototype={get dialog(){return this.dialog_},maybeHideModal:function(){this.dialog_.hasAttribute("open")&&Vt(this.dialog_)||this.downgradeModal()},downgradeModal:function(){!this.openAsModal_||(this.openAsModal_=!1,this.dialog_.style.zIndex="",this.replacedStyleTop_&&(this.dialog_.style.top="",this.replacedStyleTop_=!1),this.backdrop_.parentNode&&this.backdrop_.parentNode.removeChild(this.backdrop_),f.dm.removeDialog(this))},setOpen:function(t){t?this.dialog_.hasAttribute("open")||this.dialog_.setAttribute("open",""):(this.dialog_.removeAttribute("open"),this.maybeHideModal())},backdropMouseEvent_:function(t){if(this.dialog_.hasAttribute("tabindex"))this.dialog_.focus();else{var e=document.createElement("div");this.dialog_.insertBefore(e,this.dialog_.firstChild),e.tabIndex=-1,e.focus(),this.dialog_.removeChild(e)}var s=document.createEvent("MouseEvents");s.initMouseEvent(t.type,t.bubbles,t.cancelable,window,t.detail,t.screenX,t.screenY,t.clientX,t.clientY,t.ctrlKey,t.altKey,t.shiftKey,t.metaKey,t.button,t.relatedTarget),this.dialog_.dispatchEvent(s),t.stopPropagation()},focus_:function(){var t=this.dialog_.querySelector("[autofocus]:not([disabled])");!t&&this.dialog_.tabIndex>=0&&(t=this.dialog_),t||(t=St(this.dialog_)),Ct(document.activeElement),t&&t.focus()},updateZIndex:function(t,e){if(t<e)throw new Error("dialogZ should never be < backdropZ");this.dialog_.style.zIndex=t,this.backdrop_.style.zIndex=e},show:function(){this.dialog_.open||(this.setOpen(!0),this.focus_())},showModal:function(){if(this.dialog_.hasAttribute("open"))throw new Error("Failed to execute 'showModal' on dialog: The element is already open, and therefore cannot be opened modally.");if(!Vt(this.dialog_))throw new Error("Failed to execute 'showModal' on dialog: The element is not in a Document.");if(!f.dm.pushDialog(this))throw new Error("Failed to execute 'showModal' on dialog: There are too many open modal dialogs.");Ns(this.dialog_.parentElement)&&console.warn("A dialog is being shown inside a stacking context. This may cause it to be unusable. For more information, see this link: https://github.com/GoogleChrome/dialog-polyfill/#stacking-context"),this.setOpen(!0),this.openAsModal_=!0,f.needsCentering(this.dialog_)?(f.reposition(this.dialog_),this.replacedStyleTop_=!0):this.replacedStyleTop_=!1,this.dialog_.parentNode.insertBefore(this.backdrop_,this.dialog_.nextSibling),this.focus_()},close:function(t){if(!this.dialog_.hasAttribute("open"))throw new Error("Failed to execute 'close' on dialog: The element does not have an 'open' attribute, and therefore cannot be closed.");this.setOpen(!1),t!==void 0&&(this.dialog_.returnValue=t);var e=new H("close",{bubbles:!1,cancelable:!1});Tt(this.dialog_,e)}};var f={};if(f.reposition=function(t){var e=document.body.scrollTop||document.documentElement.scrollTop,s=e+(window.innerHeight-t.offsetHeight)/2;t.style.top=Math.max(e,s)+"px"},f.isInlinePositionSetByStylesheet=function(t){for(var e=0;e<document.styleSheets.length;++e){var s=document.styleSheets[e],i=null;try{i=s.cssRules}catch{}if(!!i)for(var r=0;r<i.length;++r){var n=i[r],o=null;try{o=document.querySelectorAll(n.selectorText)}catch{}if(!(!o||!Hs(o,t))){var c=n.style.getPropertyValue("top"),u=n.style.getPropertyValue("bottom");if(c&&c!=="auto"||u&&u!=="auto")return!0}}}return!1},f.needsCentering=function(t){var e=window.getComputedStyle(t);return e.position!=="absolute"||t.style.top!=="auto"&&t.style.top!==""||t.style.bottom!=="auto"&&t.style.bottom!==""?!1:!f.isInlinePositionSetByStylesheet(t)},f.forceRegisterDialog=function(t){if((window.HTMLDialogElement||t.showModal)&&console.warn("This browser already supports <dialog>, the polyfill may not work correctly",t),t.localName!=="dialog")throw new Error("Failed to register dialog: The element is not a dialog.");new Mt(t)},f.registerDialog=function(t){t.showModal||f.forceRegisterDialog(t)},f.DialogManager=function(){this.pendingDialogStack=[];var t=this.checkDOM_.bind(this);this.overlay=document.createElement("div"),this.overlay.className="_dialog_overlay",this.overlay.addEventListener("click",function(e){this.forwardTab_=void 0,e.stopPropagation(),t([])}.bind(this)),this.handleKey_=this.handleKey_.bind(this),this.handleFocus_=this.handleFocus_.bind(this),this.zIndexLow_=1e5,this.zIndexHigh_=1e5+150,this.forwardTab_=void 0,"MutationObserver"in window&&(this.mo_=new MutationObserver(function(e){var s=[];e.forEach(function(i){for(var r=0,n;n=i.removedNodes[r];++r){if(n instanceof Element)n.localName==="dialog"&&s.push(n);else continue;s=s.concat(n.querySelectorAll("dialog"))}}),s.length&&t(s)}))},f.DialogManager.prototype.blockDocument=function(){document.documentElement.addEventListener("focus",this.handleFocus_,!0),document.addEventListener("keydown",this.handleKey_),this.mo_&&this.mo_.observe(document,{childList:!0,subtree:!0})},f.DialogManager.prototype.unblockDocument=function(){document.documentElement.removeEventListener("focus",this.handleFocus_,!0),document.removeEventListener("keydown",this.handleKey_),this.mo_&&this.mo_.disconnect()},f.DialogManager.prototype.updateStacking=function(){for(var t=this.zIndexHigh_,e=0,s;s=this.pendingDialogStack[e];++e)s.updateZIndex(--t,--t),e===0&&(this.overlay.style.zIndex=--t);var i=this.pendingDialogStack[0];if(i){var r=i.dialog.parentNode||document.body;r.appendChild(this.overlay)}else this.overlay.parentNode&&this.overlay.parentNode.removeChild(this.overlay)},f.DialogManager.prototype.containedByTopDialog_=function(t){for(;t=P(t);){for(var e=0,s;s=this.pendingDialogStack[e];++e)if(s.dialog===t)return e===0;t=t.parentElement}return!1},f.DialogManager.prototype.handleFocus_=function(t){var e=t.composedPath?t.composedPath()[0]:t.target;if(!this.containedByTopDialog_(e)&&document.activeElement!==document.documentElement&&(t.preventDefault(),t.stopPropagation(),Ct(e),this.forwardTab_!==void 0)){var s=this.pendingDialogStack[0],i=s.dialog,r=i.compareDocumentPosition(e);return r&Node.DOCUMENT_POSITION_PRECEDING&&(this.forwardTab_?s.focus_():e!==document.documentElement&&document.documentElement.focus()),!1}},f.DialogManager.prototype.handleKey_=function(t){if(this.forwardTab_=void 0,t.keyCode===27){t.preventDefault(),t.stopPropagation();var e=new H("cancel",{bubbles:!1,cancelable:!0}),s=this.pendingDialogStack[0];s&&Tt(s.dialog,e)&&s.dialog.close()}else t.keyCode===9&&(this.forwardTab_=!t.shiftKey)},f.DialogManager.prototype.checkDOM_=function(t){var e=this.pendingDialogStack.slice();e.forEach(function(s){t.indexOf(s.dialog)!==-1?s.downgradeModal():s.maybeHideModal()})},f.DialogManager.prototype.pushDialog=function(t){var e=(this.zIndexHigh_-this.zIndexLow_)/2-1;return this.pendingDialogStack.length>=e?!1:(this.pendingDialogStack.unshift(t)===1&&this.blockDocument(),this.updateStacking(),!0)},f.DialogManager.prototype.removeDialog=function(t){var e=this.pendingDialogStack.indexOf(t);e!==-1&&(this.pendingDialogStack.splice(e,1),this.pendingDialogStack.length===0&&this.unblockDocument(),this.updateStacking())},f.dm=new f.DialogManager,f.formSubmitter=null,f.imagemapUseValue=null,window.HTMLDialogElement===void 0){var At=document.createElement("form");if(At.setAttribute("method","dialog"),At.method!=="dialog"){var x=Object.getOwnPropertyDescriptor(HTMLFormElement.prototype,"method");if(x){var Os=x.get;x.get=function(){return Ae(this)?"dialog":Os.call(this)};var Bs=x.set;x.set=function(t){return typeof t=="string"&&t.toLowerCase()==="dialog"?this.setAttribute("method",t):Bs.call(this,t)},Object.defineProperty(HTMLFormElement.prototype,"method",x)}}document.addEventListener("click",function(t){if(f.formSubmitter=null,f.imagemapUseValue=null,!t.defaultPrevented){var e=t.target;if("composedPath"in t){var s=t.composedPath();e=s.shift()||e}if(!(!e||!Ae(e.form))){var i=e.type==="submit"&&["button","input"].indexOf(e.localName)>-1;if(!i){if(!(e.localName==="input"&&e.type==="image"))return;f.imagemapUseValue=t.offsetX+","+t.offsetY}var r=P(e);!r||(f.formSubmitter=e)}}},!1),document.addEventListener("submit",function(t){var e=t.target,s=P(e);if(!s){var i=kt(t),r=i&&i.getAttribute("formmethod")||e.getAttribute("method");r==="dialog"&&t.preventDefault()}});var Fs=HTMLFormElement.prototype.submit,Rs=function(){if(!Ae(this))return Fs.call(this);var t=P(this);t&&t.close()};HTMLFormElement.prototype.submit=Rs}class De extends h{constructor(){super(...arguments);l(this,"_dialog",null)}get _src(){return this.hasSrcValue?this.srcValue:this.el.src}get _srcSet(){return this.hasSrcSetValue?this.srcSetValue:this.el.srcset}get _sizes(){return this.hasSizesValue?this.sizesValue:this.el.sizes}get _modalClassName(){return this.hasModalClass?this.modalClass:"image-lightbox-dialog"}get _imageClassName(){return this.hasImageClass?this.imageClass:"image-lightbox-image"}initialize(){this.open=this.open.bind(this),this.close=this.close.bind(this)}connect(){}disconnect(){this.close()}open(){let e=this.el;if(this._dialog)return;this._dialog=document.createElement("dialog");let s=document.createElement("img");s.className=this._imageClassName,s.src=this._src,s.srcset=this._srcSet,s.sizes=this._sizes,this._dialog.appendChild(s),e.insertAdjacentElement("afterend",this._dialog),f.registerDialog(this._dialog),this._dialog.className=this._modalClassName,this._dialog.showModal(),A(this._dialog,{behavior:"smooth",block:"end"}).catch(()=>this._dialog.scrollIntoView(!1)),d(this,this._dialog,"click",this.close),d(this,this._dialog,"cancel",this.close),d(this,this._dialog,"close",this.close)}close(){this._dialog&&(this._dialog.close(),this._dialog.remove(),this._dialog=null,A(this.el,{behavior:"smooth",block:"end"}).catch(()=>this.el.scrollIntoView(!1)))}}l(De,"values",{src:String,srcSet:String,sizes:String}),l(De,"classes",["modal","image"]);class Dt extends h{async play(e){e==null||e.preventDefault(),await this.mediaTarget.play()}pause(e){e==null||e.preventDefault(),this.mediaTarget.pause()}restart(e){e==null||e.preventDefault(),this.mediaTarget.currentTime=0}seek(e){e==null||e.preventDefault(),this.mediaTarget.currentTime+=5}}l(Dt,"targets",["media"]);class Lt extends h{get _increment(){return this.hasIncrementValue?this.incrementValue:50}get _behaviour(){if(this.hasBehaviourValue){if(["auto","smooth"].includes(this.behaviourValue))return this.behaviourValue;throw new Error(`'${this.behaviourValue}' is not a recognised scroll behaviour`)}else return"auto"}async scrollTop(e){e==null||e.preventDefault(),await ae(this.el,{behavior:this._behaviour})}async scrollBottom(e){e==null||e.preventDefault(),await ne(this.el,{behavior:this._behaviour})}async scrollLeft(e){e==null||e.preventDefault(),await le(this.el,{behavior:this._behaviour})}async scrollRight(e){e==null||e.preventDefault(),await le(this.el,{behavior:this._behaviour})}async up(e){e==null||e.preventDefault(),await je(this.el,this._increment,{behavior:this._behaviour})}async down(e){e==null||e.preventDefault(),await We(this.el,this._increment,{behavior:this._behaviour})}async left(e){e==null||e.preventDefault(),await Ke(this.el,this._increment,{behavior:this._behaviour})}async right(e){e==null||e.preventDefault(),await Ge(this.el,this._increment,{behavior:this._behaviour})}}l(Lt,"values",{behaviour:String,increment:Number});class It extends U{connect(){requestAnimationFrame(()=>{A(this.el,{behavior:this.hasBehaviorValue?this.behaviorValue:"smooth",block:this.hasBlockValue?this.blockValue:"center",inline:this.hasInlineValue?this.inlineValue:"center"}).catch(()=>this.el.scrollIntoView()),this._cleanupSelf()})}}l(It,"values",{behavior:String,block:String,inline:String});class Nt extends h{get _mode(){return this.hasModeValue?this.modeValue:"document"}get _scrollTarget(){let e;return this._mode=="document"?e=window:e=j(this.el),e}async scroll(e){e==null||e.preventDefault(),this._scrollTarget&&await ne(this._scrollTarget)}}l(Nt,"values",{mode:String});class Ht extends h{scroll(){let e=document.querySelector(this.selectorValue);if(!e){console.warn(`Could not find target for '${this.selectorValue}'`);return}A(e,{behavior:this.hasBehaviorValue?this.behaviorValue:"smooth",block:this.hasBlockValue?this.blockValue:"center",inline:this.hasInlineValue?this.inlineValue:"center"}).catch(()=>e.scrollIntoView())}}l(Ht,"values",{selector:String,behavior:String,block:String,inline:String});class xt extends h{get _mode(){return this.hasModeValue?this.modeValue:"document"}get _scrollTarget(){let e;return this._mode=="document"?e=window:e=j(this.el),e}async scroll(e){e==null||e.preventDefault(),this._scrollTarget&&await ae(this._scrollTarget)}}l(xt,"values",{mode:String});function Ot(t){t=t.trim();let e=t.includes("&&"),s=t.includes("||"),i=t.includes("(")||t.includes(")");if(e&&s)throw new Error("Cannot have both && and || in the same expression.");if(i)throw new Error("Cannot have logical groupings `(>3 && <= 9) || (>1 && <2)` in the expression. Only supports simple expressions like `>1 && <3`");let r=t.split(e?"&&":"||");return e?r.map(n=>Le(n)):s?r.map(n=>Le(n)):[Le(t)]}function Le(t){let s=[">=","<=","==","!=",">","<"].find(o=>t.includes(o));if(!s)throw new Error(`Could not find operator in expression: ${t}`);let i=t.split(s)[1].trim(),r=/^-?\d*(\.\d+)?$/.test(i);if(r&&(i=parseFloat(i)),i==="")throw new Error(`Could not find a value in expression: ${t}`);let n=o=>o!=="";switch(s){case">":return o=>r&&n(o)&&o>i;case"<":return o=>r&&n(o)&&o<i;case">=":return o=>r&&n(o)&&o>=i;case"<=":return o=>r&&n(o)&&o<=i;case"==":return o=>n(o)&&o==i;case"!=":return o=>n(o)&&o!=i;default:throw new Error(`Unknown operator ${s}`)}}function O(t,e){return`signal:${e}:${t}`}function $(t){return O(t,"connect")}function z(t){return O(t,"value")}function Bt(t,e){return O(`${t}:${e}`,"visibility")}class Ft extends h{get _predicates(){return Ot(this.whenValue)}connect(){V.emit($(this.nameValue)),q(this,z(this.nameValue),this._onSignal)}_onSignal(e){let s=e.value;if(!this.hasWhenValue){this.dispatchEvent(this.el,O(this.nameValue,"match"));return}this._predicates.every(i=>i(s))?this.dispatchEvent(this.el,O(this.nameValue,"match"),{detail:{element:this.el,value:s}}):this.dispatchEvent(this.el,O(this.nameValue,"no-match"),{detail:{element:this.el,value:s}})}}l(Ft,"values",{name:String,when:String});function ee(t,e,s,i){s=s.bind(t);let r=new MutationObserver(s),n=()=>r.observe(e,i),o=()=>r.disconnect();return y(t,n,o),o}class Rt extends h{get _children(){return this.hasScopeSelectorValue?Array.from(this.el.querySelectorAll(this.scopeSelectorValue)):Array.from(this.el.children)}get _name(){if(this.hasNameValue)return this.nameValue;throw new Error("SignalEmptyDomController requires a nameValue to be provided")}connect(){q(this,$(this._name),this.emitChildCount),V.emit($(this._name)),ee(this,this.el,this.mutate,{childList:!0}),this.emitChildCount()}mutate(e){this.emitChildCount()}emitChildCount(){let e=this._children.length;V.emit(z(this._name),{element:this.el,value:e.toString()})}}l(Rt,"values",{name:String,scopeSelector:String});class qt extends h{get _debounceTimeout(){return this.hasDebounceIntervalValue?this.debounceIntervalValue:1}get _name(){return this.hasNameValue?this.nameValue:this.element.name}connect(){q(this,$(this._name),()=>this.emitValue()),ot(this,this.el,["input","change"],this.emitValue,{debounce:this._debounceTimeout||void 0}),requestAnimationFrame(()=>this.emitValue())}emitValue(){var s;let e=this.el.value;if(v(this.el)&&this.el.type==="checkbox")e=this.el.checked?"true":"false";else if(v(this.el)&&this.el.type==="radio"){let i=(s=me(this.el).find(r=>r.checked))==null?void 0:s.value;e=i||""}this.dispatchEvent(this.el,z(this._name),{detail:{value:e}}),V.emit(z(this._name),{element:this.el,value:e})}}l(qt,"values",{name:String,debounceInterval:Number});class Ie extends h{get _predicates(){return Ot(this.showValue)}get defaultHideClasses(){return["hide"]}connect(){T(this),V.emit($(this.nameValue)),q(this,z(this.nameValue),this._onSignal)}_onSignal(e){let s=e.value;if(this.showValue=="default"){s==""?this.removeHideClasses(this.el):this.addHideClasses(this.el);return}this._predicates.every(i=>i(s))?(this.dispatchEvent(this.el,Bt(this.nameValue,"show"),{detail:{predicate:this.showValue,value:s}}),this.removeHideClasses(this.el)):(this.dispatchEvent(this.el,Bt(this.nameValue,"hide"),{detail:{predicate:this.showValue,value:s}}),this.addHideClasses(this.el))}}l(Ie,"values",{name:String,show:String}),l(Ie,"classes",["hide"]);class Pt extends h{constructor(){super(...arguments);l(this,"_lastIndex",null);l(this,"_reverse",!1)}get _tableHead(){let e=this.el.tHead;if(e==null)throw new Error("Expected table to have a <thead> element.");return e}get _tableHeaders(){let e=this._tableHead.rows;if(e.length==0)throw new Error("Expected table to have a <thead> element with at least one row.");return Array.from(e[0].cells)}get _tableBody(){return this.el.tBodies[0]}get _tableRows(){return Array.from(this._tableBody.rows)}connect(){requestAnimationFrame(()=>{D(this,this._tableHeaders,"click",this.sort),this.hasStartSortValue&&this._sortByColumn(this.startSortValue)})}sort(e){e.preventDefault();let s=e.target,i=this._indexOfHeaderCell(s);s.dataset.sortable!="false"&&(s.dataset.sort=="asc"?(this._reverse=!0,this._otherHeaderCells(s).forEach(r=>delete r.dataset.sort),s.dataset.sort="desc",this._sortByColumn(i)):(this._reverse=!1,this._otherHeaderCells(s).forEach(r=>delete r.dataset.sort),s.dataset.sort="asc",this._sortByColumn(i)))}_indexOfHeaderCell(e){return this._tableHeaders.indexOf(e)}_otherHeaderCells(e){return Array.from(this._tableHeaders).filter(s=>s!=e)}_sortByColumn(e){let s=document.createDocumentFragment();this._tableRows.sort((n,o)=>{var M,w;let c=Array.from(n.cells),u=Array.from(o.cells),g=((M=c[e])==null?void 0:M.innerText)||"",p=((w=u[e])==null?void 0:w.innerText)||"",_=g.localeCompare(p,"en",{sensitivity:"base",numeric:!0,caseFirst:"upper"});return n.dataset.sortTop||o.dataset.sortBottom?n.dataset.sortTop&&o.dataset.sortTop?_:-1:n.dataset.sortBottom||o.dataset.sortTop?n.dataset.sortBottom&&o.dataset.sortBottom?_:1:this._reverse?_>0?-1:1:_}).forEach(n=>s.appendChild(n)),this._tableBody.innerHTML="",this._tableBody.appendChild(s),this._lastIndex=e}}l(Pt,"values",{startSort:Number});class Ne extends h{get _truncated(){return this.hasTruncatedValue?this.truncatedValue:!1}set _truncated(e){this.truncatedValue=e}get _tableBody(){return this.el.tBodies[0]}get _tableRows(){return Array.from(this._tableBody.rows)}get _limit(){return this.hasLimitValue?this.limitValue:20}connect(){ee(this,this._tableBody,this.mutate,{childList:!0}),requestAnimationFrame(()=>{this.truncate(),d(this,this.showMoreTarget,"click",this.expand)})}truncate(e){e==null||e.preventDefault(),this._truncated=!0,this._tableRows.length>=this._limit?(this._tableRows.slice(this._limit).forEach(s=>{s!==this.showMoreTarget&&this._hideElement(s)}),this._showElement(this.showMoreTarget)):this._hideElement(this.showMoreTarget)}expand(e){this._truncated=!1,e==null||e.preventDefault(),this._tableRows.slice(this._limit).forEach(s=>{s!==this.showMoreTarget&&this._showElement(s)}),this._hideElement(this.showMoreTarget)}mutate(e){this._truncated&&this._reTruncate()}_showElement(e){e.style.display=""}_hideElement(e){e.style.display="none"}_reTruncate(){this._tableRows.slice(0,this._limit).forEach(e=>{e!==this.showMoreTarget&&this._showElement(e)}),this._tableRows.slice(this._limit).forEach(e=>{e!==this.showMoreTarget&&this._hideElement(e)}),this._showElement(this.showMoreTarget)}}l(Ne,"targets",["showMore"]),l(Ne,"values",{limit:Number,truncated:Boolean});class $t extends h{alert(){alert(this.messageValue)}}l($t,"values",{message:String});class qs extends h{connect(){let{enter:e,exit:s,toggle:i}=ut(this);this.enter=e,this.exit=s,this.toggle=i}}class zt extends h{get _threshold(){return this.hasThresholdValue?this.thresholdValue.split(",").map(e=>Number.parseFloat(e.trim())).filter(e=>e>=0&&e<=1):[0,1]}connect(){be(this,this.el,this.appear,this.disappear,{threshold:this._threshold})}appear(e){re(this,this.el,"intersection:appear")}disappear(e){re(this,this.el,"intersection:disappear")}}l(zt,"values",{threshold:String});class Ut extends h{connect(){if(!this.hasSecondsValue)throw new Error("Expected `secondsValue` to be present");requestAnimationFrame(()=>{F(this,this._interval,this.secondsValue*1e3)})}_interval(){this.dispatchEvent(this.el,"interval:action")}}l(Ut,"values",{seconds:Number});class jt extends h{get name(){return this.hasNameValue?this.nameValue:""}get _addedEventName(){return[this.name,"presence","added"].filter(e=>!!e).join(":")}get _removedEventName(){return[this.name,"presence","removed"].filter(e=>!!e).join(":")}connect(){this.dispatchEvent(this.el,this._addedEventName)}disconnect(){this.dispatchEvent(this.el,this._removedEventName)}}l(jt,"values",{name:String});class Wt extends h{print(e){e==null||e.preventDefault(),window.print()}}class Kt extends h{connect(){requestAnimationFrame(()=>{L(this,this._timeout,this.secondsValue*1e3)})}_timeout(){this.dispatchEvent(this.el,"timeout")}}l(Kt,"values",{seconds:Number});class Ps extends h{connect(){d(this,window,["focus","blur"],this._handleVisibility),d(this,document,"visibilitychange",this._handleVisibility),requestAnimationFrame(()=>{this._handleVisibility()})}appear(){this.dispatchEvent(this.el,"user-focus:active")}away(){this.dispatchEvent(this.el,"user-focus:away")}_handleVisibility(){this._documentIsActive()?this.appear():this.away()}_documentIsActive(){return document.visibilityState=="visible"&&document.hasFocus()}}class Gt extends h{get _tickInterval(){return this.hasMillisecondsTarget?1:this.hasSecondsTarget?1e3:this.hasMinutesTarget?15e3:3e5}connect(){requestAnimationFrame(()=>{F(this,this._tick,this._tickInterval)})}_tick(){let e=new Date;this.hasHoursTarget&&(this.hoursTarget.innerHTML=e.getHours().toString().padStart(2,"0")),this.hasMinutesTarget&&(this.minutesTarget.innerHTML=e.getMinutes().toString().padStart(2,"0")),this.hasSecondsTarget&&(this.secondsTarget.innerHTML=e.getSeconds().toString().padStart(2,"0")),this.hasMillisecondsTarget&&(this.millisecondsTarget.innerHTML=e.getMilliseconds().toString().padStart(3,"0"))}}l(Gt,"targets",["hours","minutes","seconds","milliseconds"]);class te extends h{constructor(){super(...arguments);l(this,"_interval",null)}get _removeUnused(){return this.hasRemoveUnusedValue?this.removeUnusedValue:!1}get _deadlineDate(){return new Date(this.deadlineValue)}connect(){this._interval=setInterval(this._tick.bind(this),1e3),this.addCountingDownClasses()}disconnect(){this._clearTick(),this.removeCountingDownClasses(),this.removeEndedClasses()}deadlineValueChanged(){this._interval==null&&(this._interval=setInterval(this._tick.bind(this),1e3))}_tick(){try{const e=new Date;let s={};E.isPast(this._deadlineDate)?(s={years:0,months:0,days:0,hours:0,minutes:0,seconds:0},this._clearTick(),this.removeCountingDownClasses(),this.addEndedClasses(),this.dispatchEvent(this.el,"countdown:ended")):s=E.intervalToDuration({start:this._deadlineDate,end:e}),this.hasYearsTarget&&this._updateTarget(this.yearsTarget,this._years(s)),this.hasMonthsTarget&&this._updateTarget(this.monthsTarget,this._months(s)),this.hasDaysTarget&&this._updateTarget(this.daysTarget,this._days(s)),this.hasHoursTarget&&this._updateTarget(this.hoursTarget,this._hours(s)),this.hasMinutesTarget&&this._updateTarget(this.minutesTarget,this._minutes(s)),this.hasSecondsTarget&&this._updateTarget(this.secondsTarget,this._seconds(s))}catch(e){console.error(e),this._clearTick()}}_clearTick(){this._interval&&(clearInterval(this._interval),this._interval=null)}_updateTarget(e,s){this._removeTargetIfUnused(e,s),e.innerHTML=s.toString()}_removeTargetIfUnused(e,s){this._removeUnused&&(s===0&&e.dataset.unused?Number.parseInt(e.dataset.unused)>Date.now()+1500&&e.remove():s==0?e.dataset.unused=Date.now().toString():e.dataset.unused=void 0)}_years(e){return e.years||0}_months(e){return e.months||0}_days(e){return e.days||0}_hours(e){return e.hours||0}_minutes(e){return e.minutes||0}_seconds(e){return e.seconds||0}}l(te,"values",{deadline:String,removeUnused:Boolean}),l(te,"targets",["years","months","days","hours","minutes","seconds"]),l(te,"classes",["countingDown","ended"]);class Jt extends h{get _format(){return["years","months","weeks","days","hours",...this._minutes?["minutes"]:[],...this._seconds?["seconds"]:[]]}get _output(){let{years:e,months:s,weeks:i,days:r,hours:n,minutes:o,seconds:c}=this._duration;e||(e=0),s||(s=0),i||(i=0),r||(r=0),n||(n=0),o||(o=0),c||(c=0);let u=[e,s,i,r,n];return!this._minutes&&!this._seconds&&u.every(g=>g===0)?(o=o+c/60,`${(o/60).toFixed(1)} hours`):E.formatDuration(this._duration,{format:this._format,delimiter:", "})}get _seconds(){return this.hasSecondsValue?this.secondsValue:!0}get _minutes(){return this.hasMinutesValue?this.minutesValue:!0}get _timestamp(){if(this.hasTimestampValue)return E.toDate(this.timestampValue*1e3);throw new Error("Expected `timestampValue` to be present")}get _duration(){return E.intervalToDuration({start:new Date,end:this._timestamp})}get _tickInterval(){return this._seconds?1e3:this._minutes?15e3:12e4}connect(){this._clearInterval=F(this,this._update,this._tickInterval),this._update()}_update(){try{this.el.innerHTML=this._output}catch{this._clearInterval()}}}l(Jt,"values",{timestamp:Number,minutes:Boolean,seconds:Boolean});class se extends h{get defaultHideClasses(){return["hide"]}get defaultActiveClasses(){return["is-active"]}get _currentTab(){return this.hasCurrentTabValue?this.currentTabValue:0}get _equalize(){return this.hasEqualizeValue?this.equalizeValue:!1}connect(){D(this,this.linkTargets,"click",this.switchTabs),this._equalize&&this._setMinHeight(),this.currentTabValue=this._currentTab}switchTabs(e){e.preventDefault(),this.currentTabValue=this.linkTargets.indexOf(e.currentTarget)}currentTabValueChanged(){let e=this._currentTab;e=this._clampIndex(e),this._selectTab(e)}_selectTab(e){e=this._clampIndex(e);let s=this.linkTargets,i=this.contentTargets,r=i[e],n=s[e],o=[...i.slice(0,e),...i.slice(e+1)],c=[...s.slice(0,e),...s.slice(e+1)];this.addActiveClasses(n),n.setAttribute("aria-selected","true"),this.addActiveClasses(r),this.removeHideClasses(r),c.forEach(u=>{u.removeAttribute("aria-selected"),this.removeActiveClasses(u)}),o.forEach(u=>{this.removeActiveClasses(u),this.addHideClasses(u)})}_clampIndex(e){return m.clamp(e,0,this.contentTargets.length-1)}_setMinHeight(){let e=0;this.contentTargets.forEach(s=>{let i=s.hasAttribute("tab-hidden");i&&this.removeHideClasses(s);let r=s.offsetHeight;r>e&&(e=r),i&&this.addHideClasses(s)}),this.contentTargets.forEach(s=>s.style.minHeight=e+"px")}}l(se,"values",{currentTab:Number,equalize:Boolean}),l(se,"targets",["link","content"]),l(se,"classes",["active","hide"]);class Xt extends h{get _duration(){return E.isPast(this._timestamp)?E.intervalToDuration({start:this._timestamp,end:new Date}):E.intervalToDuration({start:new Date,end:this._timestamp})}get _nextUpdate(){let e=this._duration;return e.years&&e.years>0||e.months&&e.months>0||e.days&&e.days>0?null:e.hours&&e.hours>0?18e5:3e4}timestampValueChanged(){this._timestamp=E.toDate(this.timestampValue*1e3)}connect(){if(!this.hasTimestampValue)throw new Error("Expected `timestampValue` to be present");this._update()}_update(){this.el.innerHTML=E.formatDistanceToNow(this._timestamp,{addSuffix:!0,includeSeconds:!0}),this._nextUpdate&&L(this,this._update,this._nextUpdate)}}l(Xt,"values",{timestamp:Number});class Yt extends h{get defaultActiveClasses(){return["active"]}get defaultCollapsedClasses(){return["collapsed"]}initialize(){this._nodeClicked=this._nodeClicked.bind(this)}connect(){T(this),ee(this,this.el,this.mutate,{subtree:!0,childList:!0}),this._setup()}disconnect(){this._teardown()}_setup(){this._setupNode(this.el)}_setupNode(e){const s=i=>{let r=i.parentElement;r&&(this._nodeActive(r)||this._hideNode(r),r.removeEventListener("click",this._nodeClicked),r.addEventListener("click",this._nodeClicked))};(e.tagName==="UL"||e.tagName==="OL")&&s(e),e.querySelectorAll("ul, ol").forEach(i=>s(i))}_teardown(){this.el.querySelectorAll("ul, ol, li").forEach(e=>this._teardownNode(e))}_teardownNode(e){[e,...Array.from(e.querySelectorAll("ul, ol, li"))].forEach(s=>{s.removeEventListener("click",this._nodeClicked),this.removeActiveClasses(s),this.removeCollapsedClasses(s)})}_nodeClicked(e){e&&e.stopImmediatePropagation();let s=e.target;!s||!this._hasNested(s)||(this._nodeActive(s)?this._hideNode(s):this._showNode(s))}_nodeActive(e){return this.activeClassesPresent(e)}_showNode(e){this.removeCollapsedClasses(e),this.addActiveClasses(e)}_hideNode(e){this.removeActiveClasses(e),this.addCollapsedClasses(e)}_hasNested(e){return e.querySelectorAll("ul, ol").length>0}mutate(e){for(const s of e)s.type==="childList"&&(Array.from(s.addedNodes||[]).forEach(i=>this._setupNode(i)),Array.from(s.removedNodes||[]).forEach(i=>this._teardownNode(i)))}}l(Yt,"classes",["active","collapsed"]);class He extends h{get defaultActiveClasses(){return["active"]}get defaultInactiveClasses(){return["inactive"]}get _key(){return this.keyValue.replaceAll("#","")}get _anchor(){return window.location.hash.substr(1)}set _anchor(e){window.location.hash=e}connect(){T(this),requestAnimationFrame(()=>{this._checkAnchor(),d(this,window,"hashchange",this._checkAnchor)})}write(e){e==null||e.preventDefault(),this._anchor=this._key}_checkAnchor(){this._key===this._anchor?(this.dispatchEvent(this.el,"anchor-spy:active"),this.addActiveClasses(this.el),this.removeInactiveClasses(this.el)):(this.dispatchEvent(this.el,"anchor-spy:inactive"),this.addInactiveClasses(this.el),this.removeActiveClasses(this.el))}}l(He,"values",{key:String}),l(He,"classes",["active","inactive"]);class Zt extends h{get _pages(){return this.hasPagesValue?Math.abs(this.pagesValue):1}get _timeout(){return this.hasTimeoutValue?this.timeoutValue:1500}connect(){d(this,this.el,"click",this.goBack)}goBack(e){e==null||e.preventDefault(),history.go(-this._pages),this.el.href&&L(this,this.fallback,this._timeout)}fallback(){window.location.href=this.el.href}}l(Zt,"values",{timeout:Number,pages:Number});class xe extends h{constructor(){super(...arguments);l(this,"_supported",!1)}connect(){this._supported=document.queryCommandSupported("copy"),this.hasRemoveUnusedValue&&this.removeUnusedValue&&(this._supported&&this.hasFallbackTarget?this.fallbackTarget.remove():this.hasCopyTarget&&this.copyTarget.remove())}select(e){e&&e.preventDefault(),this.sourceTarget.select()}copy(e){e&&e.preventDefault(),this.sourceTarget.select(),this._supported&&document.execCommand("copy")}}l(xe,"targets",["source","button","copy","fallback"]),l(xe,"values",{removeUnused:Boolean});class Qt extends h{get _message(){return this.hasMessageValue?this.messageValue:"Are you sure?"}get _eventType(){if(he(this.el))return"submit";if(ue(this.el))return"click";throw new Error("Can't handle confirmation on attached element")}connect(){requestAnimationFrame(()=>{d(this,this.el,this._eventType,this.confirm)})}confirm(e){window.confirm(this._message)||(e.preventDefault(),this.dispatchEvent(this.el,"confirm:cancelled"))}}l(Qt,"values",{message:String});class es extends h{get _message(){return this.hasMessageValue?this.messageValue:"Do you want to leave this page? Changes you made may not be saved"}connect(){window.onbeforeunload=()=>this._message,d(this,window,"popstate",this.confirmNavigation),d(this,window,"submit",this.allowSubmit),d(this,window,["turbolinks:before-visit","turbo:before-visit"],this.confirmTurboNavigation)}disconnect(){window.onbeforeunload=null}allowSubmit(e){window.removeEventListener("popstate",this.confirmNavigation),window.onbeforeunload=null}confirmNavigation(e){return!1}confirmTurboNavigation(e){confirm(this._message)||e.preventDefault()}}l(es,"values",{message:String});class ts extends h{connect(){console.log("Debug Controller",this,this.testTargets)}}l(ts,"targets",["test"]);class ss extends h{get _message(){return this.hasMessageValue?this.messageValue:"Submitting..."}get _timeout(){return this.hasTimeoutValue?this.timeoutValue:1e3}connect(){requestAnimationFrame(()=>{d(this,this.el,["click"],this.disable),d(this,window,["turbo:load","turbolinks:load"],this._enable)})}disable(e){let s=this.el;this._isDisabled(s)?(e==null||e.preventDefault(),e==null||e.stopImmediatePropagation()):(this._disable(),mt(this,s,this._message,this._timeout,this._enable))}enable(e){e==null||e.preventDefault();let s=this.el;this._isDisabled(s)&&this._enable()}_isDisabled(e){return K(e)?e.disabled:e.dataset.disabled=="true"}_disable(){let e=this.el;K(e)?e.disabled=!0:e.dataset.disabled="true"}_enable(){let e=this.el;K(e)?e.disabled=!1:e.dataset.disabled=void 0}}l(ss,"values",{message:String,timeout:Number});class is extends h{dismiss(){this.el.remove()}}class $s extends is{}class Oe extends h{get _id(){if(this.hasIdValue)return this.idValue;let e=this.el.id;if(e!=="")return e;throw new Error(`No ID value to uniquely identify this element. Please either specify data-${this.identifier}-id-value or give this element an 'id' attribute. `)}get _uniqueIdentifier(){return`${location.href} ${this._id}`}get _restoreOnLoad(){return this.hasRestoreOnLoadValue?this.restoreOnLoadValue:!0}get _element(){return this.hasElementTarget?this.elementTarget:this.el}initialize(){this.save=m.debounce(this.save.bind(this),300)}connect(){this._store=dt(this,this._uniqueIdentifier,{}),requestAnimationFrame(()=>{this._restoreOnLoad&&this.restore()})}clear(e){e&&e.preventDefault(),this._store.clear(),this.dispatchEvent(this._element,"element-save:cleared")}save(e){e&&e.preventDefault();let s=this._element,i=this.attributesValue.split(" "),r={};i.forEach(n=>r[n]=m.get(s,n)),this._store.value=r,this.dispatchEvent(s,"element-save:save:success")}restore(e){e&&e.preventDefault();let s=this._element;if(this._store.isEmpty())this.dispatchEvent(s,"element-save:restore:empty");else{const i=this._store.value;Object.keys(i).forEach(r=>m.set(s,r,i[r])),this.dispatchEvent(s,"element-save:restore:success")}}}l(Oe,"targets",["element"]),l(Oe,"values",{id:String,attributes:String,restoreOnLoad:Boolean});class ie extends h{get _container(){return this.hasContainerTarget?this.containerTarget:this.el}get _children(){let e=this._container;return this.hasScopeSelectorValue?Array.from(e.querySelectorAll(this.scopeSelectorValue)):Array.from(e.children)}connect(){T(this),ee(this,this._container,this.mutate,{childList:!0}),this.checkEmpty()}mutate(e){this.checkEmpty()}checkEmpty(){let e=this._container,s=this._children;s.length===0?(this.removeNotEmptyClasses(),this.addEmptyClasses(),this.dispatchEvent(e,"dom:empty")):(this.addNotEmptyClasses(),this.removeEmptyClasses(),this.dispatchEvent(e,"dom:not-empty",{detail:{count:s.length}}))}}l(ie,"targets",["container"]),l(ie,"classes",["empty","notEmpty"]),l(ie,"values",{scopeSelector:String});class rs extends h{get _mode(){return this.hasModeValue?this.modeValue:"mouseover"}get _supportsPrefetch(){var s,i;const e=document.createElement("link");return((s=e.relList)==null?void 0:s.supports)&&((i=e.relList)==null?void 0:i.supports("prefetch"))}get _href(){return this.el.href}get _existingPrefetch(){return(document.head.querySelectorAll(`link[rel="prefetch"][href="${this._href}"]`)||[]).length>0}get _connectionSuitable(){const e=navigator.connection;if(!e)return!0;if(e){if(e.saveData)return $e(this,"Data Saving is enabled"),!1;if(/2g/.test(e.effectiveType))return $e(this,"Network is too slow"),!1}return!0}connect(){if(!!this._supportsPrefetch)switch(this._mode){case"intersect":this._setupObserver();break;case"mouseover":d(this,this.el,"mouseover",this.prefetch,{once:!0});break;default:throw new Error(`'${this._mode}' is not a supported prefetch mode`)}}_setupObserver(){new IntersectionObserver(([s],i)=>{s.isIntersecting&&(this.prefetch(),i.unobserve(s.target))}).observe(this.element)}prefetch(){if(this._existingPrefetch||!this._connectionSuitable)return;const e=document.createElement("link");Object.assign(e,{rel:"prefetch",href:this._href,as:"document"}),document.head.appendChild(e)}}l(rs,"values",{mode:String});class as extends Wt{get defaultUnsupportedClasses(){return["unsupported"]}connect(){T(this),"print"in window||this.addUnsupportedClasses(),d(this,this.el,"click",this.print)}}l(as,"classes",["unsupported"]);class zs extends h{connect(){d(this,window,"message",this.messageReceived)}messageReceived(e){let s=e.data;s.hasOwnProperty("name")&&s.name==="iframe-body"&&s.hasOwnProperty("height")&&this.resize(s.height)}resize(e){this.el.style.height=`${e}px`}}class Us extends h{connect(){window.self!==window.top&&(d(this,window,"resize",this.postUpdate,{debounce:200}),this.postUpdate())}postUpdate(){let e={name:"iframe-body",height:this.getHeight()};window.parent.postMessage(e,"*")}getHeight(){const e=document.body,s=document.documentElement;return Math.max(e.scrollHeight,e.offsetHeight,s.clientHeight,s.scrollHeight,s.offsetHeight)}}class ns extends h{connect(){requestAnimationFrame(()=>{L(this,()=>this.el.remove(),this.secondsValue*1e3)})}}l(ns,"values",{seconds:Number});class Be extends h{constructor(){super(...arguments);l(this,"_magicElement",null)}get defaultStuckClasses(){return["stuck"]}get _mode(){if(this.hasModeValue){if(!["top","bottom"].includes(this.modeValue))throw new Error(`The modeValue provided '${this.modeValue}' is not one of the recognised configuration options`);if(this.modeValue==="top")return"beforebegin"}return"afterend"}connect(){this._magicElement=document.createElement("div"),ht(this,this.el,this._mode,this._magicElement),new IntersectionObserver(s=>{s.forEach(i=>{i.target===this._magicElement&&(i.intersectionRatio===0?this.addStuckClasses():i.intersectionRatio===1&&this.removeStuckClasses())})},{threshold:[0,1]}).observe(this._magicElement)}}l(Be,"classes",["stuck"]),l(Be,"values",{mode:String});class ls extends U{connect(){if(!this.hasInsertValue)throw new Error("`insert` value was not specified");requestAnimationFrame(()=>{this.hasImmediateValue&&this.immediateValue&&this.execute()})}execute(e){e==null||e.preventDefault();let s=this.el,i=document.querySelector(this.targetValue);if(i==null){this.dispatchEvent(s,"teleport:error");return}let r=s.cloneNode(!0);switch(this.cleanup(r),this.insertValue){case"beforebegin":case"beforeend":case"afterend":case"afterbegin":i.insertAdjacentHTML(this.insertValue,r.outerHTML);break;case"replaceOuter":i.outerHTML=r.outerHTML;break;case"replaceInner":i.innerHTML=r.outerHTML;break;case"prepend":i.insertAdjacentHTML("afterbegin",r.outerHTML);break;case"append":i.insertAdjacentHTML("beforeend",r.outerHTML);break;default:throw new Error("`insert` value was not specified")}s.remove()}}l(ls,"values",{target:String,insert:String,immediate:Boolean});class os extends U{constructor(){super(...arguments);l(this,"_previousState",{})}get _value(){if(this.hasValueValue)return this.valueValue;throw new Error("Expected `valueValue` to be present")}get _attribute(){if(this.hasAttributeValue)return this.attributeValue;throw new Error("Expected `attributeValue` to be present")}get _seconds(){if(this.hasSecondsValue)return this.secondsValue*1e3;throw new Error("Expected `secondsValue` to be present")}connect(){this.setState(),L(this,this.removeState,this._seconds)}disconnect(){this.removeState()}setState(){this._previousState[this._attribute]=m.get(this.el,this._attribute),m.set(this.el,this._attribute,this.valueValue)}removeState(){m.set(this.el,this._attribute,this._previousState[this._attribute])}}l(os,"values",{attribute:String,seconds:Number,value:String});function us(t,e,s,i,r="temporary-state"){var n;(!t.dataset.controller||!((n=t.dataset.controller)==null?void 0:n.includes(r)))&&(t.dataset.controller=(t.dataset.controller||` ${r} `).trim().replaceAll(" "," ")),t[m.camelCase(`${r}-attribute-value`)]=e,t[m.camelCase(`${r}-seconds-value`)]=i.toString()}function js(t,e,s){us(t,"className",e,s)}function Ws(t,e,s){s=s.bind(t);const i=n=>{e.contains(n.target)||!at(e)||s(n)};let{teardown:r}=d(t,window,["click","touchend"],i);return y(t,()=>{},r),{teardown:r}}function Ks(t,e,s,i){let r=null,n=null;if(s){s=s.bind(t);let{teardown:u}=d(t,e,"mouseenter",s);r=u}if(i){i=i.bind(t);let{teardown:u}=d(t,e,"mouseleave",i);n=u}let o=()=>{},c=()=>{r&&r(),n&&n()};return y(t,o,c),{teardown:c}}class Fe extends h{connect(){if(!this.hasClassValue)throw new Error("data-toggle-class-class-value must not be empty");(this.hasMouseEnterValue||this.hasMouseLeaveValue)&&Ks(this,this.el,this.mouseEnter,this.mouseLeave),this.hasClickAwayValue&&this.clickAwayValue&&Ws(this,this.el,this.clickOutside),requestAnimationFrame(()=>{this.hasInitialValue&&(this.initialValue==="on"?this.toggleTargets.forEach(e=>this._elementOn(e)):this.toggleTargets.forEach(e=>this._elementOff(e)))})}clickOutside(){this.toggleTargets.forEach(e=>{this._elementWasToggled(e)&&(this._elementToggleStatus(e),this._elementToggle(e))})}mouseEnter(){if(this.hasMouseEnterValue)switch(this.mouseEnterValue){case"on":this.on();break;case"off":this.off();break;case"toggle":this.toggle();break}return{}}mouseLeave(){if(this.hasMouseLeaveValue)switch(this.mouseLeaveValue){case"on":this.on();break;case"off":this.off();break;case"toggle":this.toggle();break}return{}}on(e){this.toggleTargets.forEach(s=>{this._elementToggleStatus(s),this._elementOn(s)})}off(e){this.toggleTargets.forEach(s=>{this._elementToggleStatus(s),this._elementOff(s)})}toggle(e){this.toggleTargets.forEach(s=>{this._elementToggleStatus(s),this._elementToggle(s)})}_elementWasToggled(e){return e.dataset.toggled=="true"}_elementToggleStatus(e){this._elementWasToggled(e)?delete e.dataset.toggled:e.dataset.toggled="true"}_elementToggle(e){this.classValue.split(" ").forEach(i=>e.classList.toggle(i))}_elementOn(e){this.classValue.split(" ").forEach(i=>e.classList.toggle(i,!0))}_elementOff(e){this.classValue.split(" ").forEach(i=>e.classList.toggle(i,!1))}}l(Fe,"targets",["toggle"]),l(Fe,"values",{class:String,mouseEnter:String,mouseLeave:String,clickAway:Boolean,initial:String});function Gs(t){const e=t.disconnect.bind(t);let s=!1,i=(u,g)=>{u.forEach(p=>{p.type==="childList"&&Array.from(p.addedNodes).some(_=>_.tagName==="TRIX-TOOLBAR")&&(o(),g.disconnect())})},r=u=>R(t,"pasteEvent").call(t,u),n=new MutationObserver(i),o=()=>{if(t.element.tagName!=="TRIX-EDITOR")throw new Error("Expected controller to be mounted on an instance of <trix-editor>");let u=t.element,g=t.element.parentElement;if(g==null)throw new Error("Could not traverse DOM tree from <trix-editor>");u.addEventListener("trix-paste",r);let p=g.querySelector("trix-toolbar");if(!s&&!p){s=!0,n.observe(g,{childList:!0});return}else if(p)n.disconnect();else throw new Error("Could not find an instance of <trix-toolbar> that is a sibling of this <trix-editor>");R(t,"install").call(t,{toolbar:p,editor:u})},c=()=>{if(t.element.tagName!=="TRIX-EDITOR")throw new Error("Expected controller to be mounted on an instance of <trix-editor>");let u=t.element,g=t.element.parentElement;if(g==null)throw new Error("Could not traverse DOM tree from <trix-editor>");u.removeEventListener("trix-paste",r);let p=g.querySelector("trix-toolbar");if(!p)throw new Error("Could not find <trix-toolbar> that is a sibling of this <trix-editor> element");R(t,"uninstall").call(t,{toolbar:p,editor:u})};o(),Object.assign(t,{disconnect(){n.disconnect(),c(),R(t,"uninstall").call({toolbar,editor:t.element}),e()}})}class Js extends h{get enabledBehaviours(){let e=i=>i!==void 0&&i!=="false",s=(i,r)=>e(i)?[r]:[];return[...s(this.el.dataset.noBold,this.bold),...s(this.el.dataset.noBulletList,this.bulletList),...s(this.el.dataset.noCode,this.code),...s(this.el.dataset.noHeading,this.heading),...s(this.el.dataset.noItalic,this.italic),...s(this.el.dataset.noStrikethrough,this.strikethrough),...s(this.el.dataset.noLink,this.link),...s(this.el.dataset.noIndents,this.indents),...s(this.el.dataset.noNumberList,this.numberList),...s(this.el.dataset.noQuote,this.quote),...s(this.el.dataset.noFileUploads,this.fileUploads)]}get bold(){return this.formattingHandlers(".trix-button--icon-bold","bold")}get bulletList(){return this.formattingHandlers(".trix-button--icon-bullet-list","bullet-list")}get code(){return this.formattingHandlers(".trix-button--icon-code","code")}get heading(){return this.formattingHandlers(".trix-button--icon-heading-1","heading")}get italic(){return this.formattingHandlers(".trix-button--icon-italic","italic")}get strikethrough(){return this.formattingHandlers(".trix-button--icon-strike","strike")}get link(){return this.formattingHandlers(".trix-button--icon-link","href")}get indents(){return this.simpleHideShowHandlers([".trix-button--icon-decrease-nesting-level, .trix-button--icon-increase-nesting-level",".trix-button--icon-decrease-nesting-level, .trix-button--icon-increase-nesting-level"].join(", "))}get numberList(){return this.simpleHideShowHandlers(".trix-button--icon-number-list")}get quote(){return this.simpleHideShowHandlers(".trix-button--icon-quote")}get fileUploads(){let e=".trix-button-group.trix-button-group--file-tools",s=n=>n==null?void 0:n.preventDefault(),i=this,r=this.el;return{install(n){i.simpleHideShowHandlers(e).install(n),i.el.addEventListener("trix-file-accept",s)},pasteEvent(n){let{dataTransfer:o,html:c}=n.paste,{editor:u}=r;(o.files.length>0||c.includes("<img"))&&(alert("The content you pasted contains images and/or files. File uploads are not supported."),u.undo())},uninstall(n){i.simpleHideShowHandlers(e).uninstall(n),i.el.removeEventListener("trix-file-accept",s)}}}connect(){Gs(this)}install(e){this.enabledBehaviours.forEach(s=>s.install(e))}pasteEvent(e){this.enabledBehaviours.forEach(s=>s.pasteEvent&&s.pasteEvent(e))}uninstall(e){this.enabledBehaviours.forEach(s=>s.uninstall(e))}simpleHideShowHandlers(e){return{install:({toolbar:s})=>this.hideToolbarSelector(s,e),uninstall:({toolbar:s})=>this.showToolbarSelector(s,e)}}formattingHandlers(e,s){let i=this.el,{editor:r}=i;return{install:n=>{this.simpleHideShowHandlers(e).install(n)},pasteEvent(n){let{range:o}=n.paste,c=i.editor.getSelectedRange();r.setSelectedRange(o),r.deactivateAttribute(s),r.setSelectedRange(c)},uninstall:n=>{this.simpleHideShowHandlers(e).uninstall(n)}}}showToolbarSelector(e,s){e.querySelectorAll(s).forEach(i=>i.style.display="")}hideToolbarSelector(e,s){e.querySelectorAll(s).forEach(i=>i.style.display="none")}}class hs extends h{toggle(e){e==null||e.preventDefault();let i=this._getFrame().src;i==null||i!==this._getSrc()?this._setSrc():this._clear()}setSrc(e){e==null||e.preventDefault(),this._setSrc()}clear(e){e==null||e.preventDefault(),this._clear()}_setSrc(){let e=this._getFrame();this.hasLoadingMessageValue&&(e.innerHTML=this.loadingMessageValue),e.src=this._getSrc()}_clear(){let e=this._getFrame();e.src="",e.innerHTML=""}_getFrame(){let e=document.getElementById(`${this.frameIdValue}`);if(e==null)throw new Error(`Could not find frame with ID '${this.frameIdValue}'`);if(oe(e))return e;throw new Error(`Element targeted by ID '${this.frameIdValue}'`)}_getSrc(){let e=this.el;if(this.hasSrcValue)return this.srcValue;if(ue(e))return e.href;throw new Error("No link given to drive frame to")}}l(hs,"values",{frameId:String,src:String,loadingMessage:String});class cs extends h{get _poll(){return this.hasPollValue?this.pollValue:!1}connect(){let e=this.el;if(oe(e)){if(e.src)throw new Error("The provided <turbo-frame> element has no `src` attribute.")}else throw new Error("Expected controller to be mounted on a <turbo-frame> element.");this._poll&&requestAnimationFrame(()=>L(this,this.refresh,this.intervalValue))}refresh(e){e==null||e.preventDefault();let s=this.el;s.src=s.src}}l(cs,"values",{interval:Number,poll:Boolean}),a.AlertController=$t,a.AnchorSpyController=He,a.AsyncBlockController=_e,a.AutoSubmitFormController=gt,a.AutosizeController=Ms,a.BackLinkController=Zt,a.BaseController=h,a.CharCountController=X,a.CheckboxDisableInputsController=we,a.CheckboxEnableInputsController=ye,a.CheckboxSelectAllController=pt,a.CheckboxXORController=_t,a.ClipboardController=xe,a.ClockController=Gt,a.ConfirmController=Qt,a.ConfirmNavigationController=es,a.CountdownController=te,a.DebugController=ts,a.DetectDirtyController=Ds,a.DetectDirtyFormController=Is,a.DisableWithController=ss,a.DismissableController=is,a.DurationController=Jt,a.ElementSaveController=Oe,a.EmptyDomController=ie,a.EnableInputsController=Ee,a.EphemeralController=U,a.EventBus=V,a.FallbackImageController=Me,a.FocusStealController=vt,a.FormRcController=Te,a.FormSaveController=wt,a.FullscreenController=qs,a.IntersectionController=zt,a.IntervalController=Ut,a.LazyBlockController=ks,a.LightboxImageController=De,a.LimitedSelectionCheckboxesController=Ce,a.LoadBlockController=N,a.MediaPlayerController=Dt,a.NavigateFormErrorsController=Y,a.NestedFormController=Se,a.PasswordConfirmController=Ve,a.PasswordPeekController=yt,a.PollBlockController=ve,a.PrefetchController=rs,a.PresenceController=jt,a.PrintButtonController=as,a.PrintController=Wt,a.RemoteFormController=ke,a.RemoveController=$s,a.ResponsiveIframeBodyController=Us,a.ResponsiveIframeWrapperController=zs,a.ScrollContainerController=Lt,a.ScrollIntoFocusController=It,a.ScrollToBottomController=Nt,a.ScrollToController=Ht,a.ScrollToTopController=xt,a.SelfDestructController=ns,a.SignalActionController=Ft,a.SignalDomChildrenController=Rt,a.SignalInputController=qt,a.SignalVisibilityController=Ie,a.StickyController=Be,a.StorageSerializers=ct,a.SyncInputsController=Et,a.TableSortController=Pt,a.TableTruncateController=Ne,a.TabsController=se,a.TeleportController=ls,a.TemporaryStateController=os,a.TimeDistanceController=Xt,a.TimeoutController=Kt,a.ToggleClassController=Fe,a.TreeViewController=Yt,a.TrixModifierController=Js,a.TurboFrameRCController=hs,a.TurboFrameRefreshController=cs,a.UserFocusController=Ps,a.ValueWarnController=Z,a.WordCountController=Q,a.applyTemporaryClass=js,a.applyTemporaryState=us,a.createHiddenButton=it,a.createHiddenInput=rt,a.getAllRadiosInGroup=me,a.getOtherRadiosInGroup=fe,a.getScrollParent=j,a.insertElement=ce,a.insertHiddenButton=de,a.insertHiddenInput=Es,a.isDirty=Ls,a.isElementCheckable=k,a.isElementInViewport=at,a.isFormDirty=bt,a.isHTMLAnchorElement=ue,a.isHTMLButtonButtonElement=Ye,a.isHTMLButtonElement=vs,a.isHTMLButtonInputElement=ys,a.isHTMLFormElement=he,a.isHTMLImageElement=ws,a.isHTMLInputElement=v,a.isHTMLLabelElement=bs,a.isHTMLLinkElement=_s,a.isHTMLResetButtonElement=Qe,a.isHTMLResetInputElement=Xe,a.isHTMLSelectElement=I,a.isHTMLSubmitButtonElement=Ze,a.isHTMLSubmitInputElement=Je,a.isHTMLTextAreaElement=W,a.isTurboFrame=oe,a.isTypeOfButtonableElement=K,a.isTypeOfFormInputElement=st,a.isTypeOfResetButtonElement=et,a.isTypeOfSubmitButtonElement=tt,a.requestReset=nt,a.requestSubmit=ge,a.scrollAbsoluteBottom=ne,a.scrollAbsoluteLeft=le,a.scrollAbsoluteRight=gs,a.scrollAbsoluteTop=ae,a.scrollDown=We,a.scrollLeft=Ke,a.scrollRight=Ge,a.scrollToElement=A,a.scrollUp=je,a.useCollectionEventListener=D,a.useCollectionEventListeners=Ts,a.useEventListener=d,a.useEventListeners=ot,a.useFullscreen=ut,a.useGeolocation=Cs,a.useInjectedElement=ht,a.useInjectedFragment=pe,a.useInjectedHTML=Ss,a.useInterval=F,a.useLocalStorage=dt,a.useTemporaryContent=mt,a.useTimeout=L,Object.defineProperty(a,"__esModule",{value:!0}),a[Symbol.toStringTag]="Module"});
|
|
2
2
|
//# sourceMappingURL=stimulus-library.umd.js.map
|