lightning_ui_kit 0.2.3 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/Rakefile +9 -2
  4. data/app/assets/builds/lightning_ui_kit.css +588 -31
  5. data/app/assets/builds/lightning_ui_kit.js +9 -2
  6. data/app/assets/builds/lightning_ui_kit.js.map +4 -4
  7. data/app/assets/vendor/lightning_ui_kit.css +582 -88
  8. data/app/assets/vendor/lightning_ui_kit.js +9 -2
  9. data/app/components/lightning_ui_kit/button_component.html.erb +4 -0
  10. data/app/components/lightning_ui_kit/button_component.rb +24 -3
  11. data/app/components/lightning_ui_kit/combobox_component.html.erb +137 -0
  12. data/app/components/lightning_ui_kit/combobox_component.rb +205 -0
  13. data/app/components/lightning_ui_kit/dropdown_component.html.erb +1 -1
  14. data/app/components/lightning_ui_kit/dropdown_component.rb +1 -1
  15. data/app/components/lightning_ui_kit/dropzone_component.html.erb +13 -38
  16. data/app/components/lightning_ui_kit/dropzone_component.rb +43 -16
  17. data/app/components/lightning_ui_kit/file_input_component.html.erb +4 -34
  18. data/app/components/lightning_ui_kit/file_input_component.rb +54 -20
  19. data/app/components/lightning_ui_kit/input_component.html.erb +14 -98
  20. data/app/components/lightning_ui_kit/input_component.rb +154 -19
  21. data/app/components/lightning_ui_kit/layout_component.html.erb +118 -0
  22. data/app/components/lightning_ui_kit/layout_component.rb +26 -0
  23. data/app/components/lightning_ui_kit/modal_component.html.erb +2 -2
  24. data/app/components/lightning_ui_kit/select_component.html.erb +6 -27
  25. data/app/components/lightning_ui_kit/select_component.rb +65 -23
  26. data/app/components/lightning_ui_kit/sidebar_link_component.html.erb +6 -0
  27. data/app/components/lightning_ui_kit/sidebar_link_component.rb +33 -0
  28. data/app/components/lightning_ui_kit/sidebar_section_component.html.erb +8 -0
  29. data/app/components/lightning_ui_kit/sidebar_section_component.rb +18 -0
  30. data/app/components/lightning_ui_kit/textarea_component.html.erb +5 -37
  31. data/app/components/lightning_ui_kit/textarea_component.rb +50 -17
  32. data/app/components/lightning_ui_kit/tooltip_component.html.erb +15 -0
  33. data/app/components/lightning_ui_kit/tooltip_component.rb +26 -0
  34. data/app/javascript/lightning_ui_kit/controllers/combobox_controller.js +704 -0
  35. data/app/javascript/lightning_ui_kit/controllers/field_controller.js +23 -0
  36. data/app/javascript/lightning_ui_kit/controllers/layout_controller.js +19 -0
  37. data/app/javascript/lightning_ui_kit/controllers/modal_controller.js +7 -1
  38. data/app/javascript/lightning_ui_kit/controllers/tooltip_controller.js +235 -0
  39. data/app/javascript/lightning_ui_kit/index.js +8 -0
  40. data/config/deploy.yml +2 -5
  41. data/lib/lightning_ui_kit/engine.rb +1 -6
  42. data/lib/lightning_ui_kit/version.rb +1 -1
  43. metadata +17 -17
@@ -1,5 +1,12 @@
1
- (()=>{var ut=Object.defineProperty;var dt=(r,e,t)=>e in r?ut(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var y=(r,e,t)=>(dt(r,typeof e!="symbol"?e+"":e,t),t);var M=(r,e,t)=>new Promise((s,o)=>{var h=g=>{try{f(t.next(g))}catch(v){o(v)}},d=g=>{try{f(t.throw(g))}catch(v){o(v)}},f=g=>g.done?s(g.value):Promise.resolve(g.value).then(h,d);f((t=t.apply(r,e)).next())});var le=class{constructor(e,t,s){this.eventTarget=e,this.eventName=t,this.eventOptions=s,this.unorderedBindings=new Set}connect(){this.eventTarget.addEventListener(this.eventName,this,this.eventOptions)}disconnect(){this.eventTarget.removeEventListener(this.eventName,this,this.eventOptions)}bindingConnected(e){this.unorderedBindings.add(e)}bindingDisconnected(e){this.unorderedBindings.delete(e)}handleEvent(e){let t=ft(e);for(let s of this.bindings){if(t.immediatePropagationStopped)break;s.handleEvent(t)}}hasBindings(){return this.unorderedBindings.size>0}get bindings(){return Array.from(this.unorderedBindings).sort((e,t)=>{let s=e.index,o=t.index;return s<o?-1:s>o?1:0})}};function ft(r){if("immediatePropagationStopped"in r)return r;{let{stopImmediatePropagation:e}=r;return Object.assign(r,{immediatePropagationStopped:!1,stopImmediatePropagation(){this.immediatePropagationStopped=!0,e.call(this)}})}}var he=class{constructor(e){this.application=e,this.eventListenerMaps=new Map,this.started=!1}start(){this.started||(this.started=!0,this.eventListeners.forEach(e=>e.connect()))}stop(){this.started&&(this.started=!1,this.eventListeners.forEach(e=>e.disconnect()))}get eventListeners(){return Array.from(this.eventListenerMaps.values()).reduce((e,t)=>e.concat(Array.from(t.values())),[])}bindingConnected(e){this.fetchEventListenerForBinding(e).bindingConnected(e)}bindingDisconnected(e,t=!1){this.fetchEventListenerForBinding(e).bindingDisconnected(e),t&&this.clearEventListenersForBinding(e)}handleError(e,t,s={}){this.application.handleError(e,`Error ${t}`,s)}clearEventListenersForBinding(e){let t=this.fetchEventListenerForBinding(e);t.hasBindings()||(t.disconnect(),this.removeMappedEventListenerFor(e))}removeMappedEventListenerFor(e){let{eventTarget:t,eventName:s,eventOptions:o}=e,h=this.fetchEventListenerMapForEventTarget(t),d=this.cacheKey(s,o);h.delete(d),h.size==0&&this.eventListenerMaps.delete(t)}fetchEventListenerForBinding(e){let{eventTarget:t,eventName:s,eventOptions:o}=e;return this.fetchEventListener(t,s,o)}fetchEventListener(e,t,s){let o=this.fetchEventListenerMapForEventTarget(e),h=this.cacheKey(t,s),d=o.get(h);return d||(d=this.createEventListener(e,t,s),o.set(h,d)),d}createEventListener(e,t,s){let o=new le(e,t,s);return this.started&&o.connect(),o}fetchEventListenerMapForEventTarget(e){let t=this.eventListenerMaps.get(e);return t||(t=new Map,this.eventListenerMaps.set(e,t)),t}cacheKey(e,t){let s=[e];return Object.keys(t).sort().forEach(o=>{s.push(`${t[o]?"":"!"}${o}`)}),s.join(":")}},gt={stop({event:r,value:e}){return e&&r.stopPropagation(),!0},prevent({event:r,value:e}){return e&&r.preventDefault(),!0},self({event:r,value:e,element:t}){return e?t===r.target:!0}},mt=/^(?:(?:([^.]+?)\+)?(.+?)(?:\.(.+?))?(?:@(window|document))?->)?(.+?)(?:#([^:]+?))(?::(.+))?$/;function pt(r){let t=r.trim().match(mt)||[],s=t[2],o=t[3];return o&&!["keydown","keyup","keypress"].includes(s)&&(s+=`.${o}`,o=""),{eventTarget:bt(t[4]),eventName:s,eventOptions:t[7]?vt(t[7]):{},identifier:t[5],methodName:t[6],keyFilter:t[1]||o}}function bt(r){if(r=="window")return window;if(r=="document")return document}function vt(r){return r.split(":").reduce((e,t)=>Object.assign(e,{[t.replace(/^!/,"")]:!/^!/.test(t)}),{})}function yt(r){if(r==window)return"window";if(r==document)return"document"}function Ne(r){return r.replace(/(?:[_-])([a-z0-9])/g,(e,t)=>t.toUpperCase())}function ue(r){return Ne(r.replace(/--/g,"-").replace(/__/g,"_"))}function K(r){return r.charAt(0).toUpperCase()+r.slice(1)}function Ge(r){return r.replace(/([A-Z])/g,(e,t)=>`-${t.toLowerCase()}`)}function Et(r){return r.match(/[^\s]+/g)||[]}function qe(r){return r!=null}function de(r,e){return Object.prototype.hasOwnProperty.call(r,e)}var Re=["meta","ctrl","alt","shift"],fe=class{constructor(e,t,s,o){this.element=e,this.index=t,this.eventTarget=s.eventTarget||e,this.eventName=s.eventName||At(e)||Z("missing event name"),this.eventOptions=s.eventOptions||{},this.identifier=s.identifier||Z("missing identifier"),this.methodName=s.methodName||Z("missing method name"),this.keyFilter=s.keyFilter||"",this.schema=o}static forToken(e,t){return new this(e.element,e.index,pt(e.content),t)}toString(){let e=this.keyFilter?`.${this.keyFilter}`:"",t=this.eventTargetName?`@${this.eventTargetName}`:"";return`${this.eventName}${e}${t}->${this.identifier}#${this.methodName}`}shouldIgnoreKeyboardEvent(e){if(!this.keyFilter)return!1;let t=this.keyFilter.split("+");if(this.keyFilterDissatisfied(e,t))return!0;let s=t.filter(o=>!Re.includes(o))[0];return s?(de(this.keyMappings,s)||Z(`contains unknown key filter: ${this.keyFilter}`),this.keyMappings[s].toLowerCase()!==e.key.toLowerCase()):!1}shouldIgnoreMouseEvent(e){if(!this.keyFilter)return!1;let t=[this.keyFilter];return!!this.keyFilterDissatisfied(e,t)}get params(){let e={},t=new RegExp(`^data-${this.identifier}-(.+)-param$`,"i");for(let{name:s,value:o}of Array.from(this.element.attributes)){let h=s.match(t),d=h&&h[1];d&&(e[Ne(d)]=Ot(o))}return e}get eventTargetName(){return yt(this.eventTarget)}get keyMappings(){return this.schema.keyMappings}keyFilterDissatisfied(e,t){let[s,o,h,d]=Re.map(f=>t.includes(f));return e.metaKey!==s||e.ctrlKey!==o||e.altKey!==h||e.shiftKey!==d}},Ke={a:()=>"click",button:()=>"click",form:()=>"submit",details:()=>"toggle",input:r=>r.getAttribute("type")=="submit"?"click":"input",select:()=>"change",textarea:()=>"input"};function At(r){let e=r.tagName.toLowerCase();if(e in Ke)return Ke[e](r)}function Z(r){throw new Error(r)}function Ot(r){try{return JSON.parse(r)}catch(e){return r}}var ge=class{constructor(e,t){this.context=e,this.action=t}get index(){return this.action.index}get eventTarget(){return this.action.eventTarget}get eventOptions(){return this.action.eventOptions}get identifier(){return this.context.identifier}handleEvent(e){let t=this.prepareActionEvent(e);this.willBeInvokedByEvent(e)&&this.applyEventModifiers(t)&&this.invokeWithEvent(t)}get eventName(){return this.action.eventName}get method(){let e=this.controller[this.methodName];if(typeof e=="function")return e;throw new Error(`Action "${this.action}" references undefined method "${this.methodName}"`)}applyEventModifiers(e){let{element:t}=this.action,{actionDescriptorFilters:s}=this.context.application,{controller:o}=this.context,h=!0;for(let[d,f]of Object.entries(this.eventOptions))if(d in s){let g=s[d];h=h&&g({name:d,value:f,event:e,element:t,controller:o})}else continue;return h}prepareActionEvent(e){return Object.assign(e,{params:this.action.params})}invokeWithEvent(e){let{target:t,currentTarget:s}=e;try{this.method.call(this.controller,e),this.context.logDebugActivity(this.methodName,{event:e,target:t,currentTarget:s,action:this.methodName})}catch(o){let{identifier:h,controller:d,element:f,index:g}=this,v={identifier:h,controller:d,element:f,index:g,event:e};this.context.handleError(o,`invoking action "${this.action}"`,v)}}willBeInvokedByEvent(e){let t=e.target;return e instanceof KeyboardEvent&&this.action.shouldIgnoreKeyboardEvent(e)||e instanceof MouseEvent&&this.action.shouldIgnoreMouseEvent(e)?!1:this.element===t?!0:t instanceof Element&&this.element.contains(t)?this.scope.containsElement(t):this.scope.containsElement(this.action.element)}get controller(){return this.context.controller}get methodName(){return this.action.methodName}get element(){return this.scope.element}get scope(){return this.context.scope}},ee=class{constructor(e,t){this.mutationObserverInit={attributes:!0,childList:!0,subtree:!0},this.element=e,this.started=!1,this.delegate=t,this.elements=new Set,this.mutationObserver=new MutationObserver(s=>this.processMutations(s))}start(){this.started||(this.started=!0,this.mutationObserver.observe(this.element,this.mutationObserverInit),this.refresh())}pause(e){this.started&&(this.mutationObserver.disconnect(),this.started=!1),e(),this.started||(this.mutationObserver.observe(this.element,this.mutationObserverInit),this.started=!0)}stop(){this.started&&(this.mutationObserver.takeRecords(),this.mutationObserver.disconnect(),this.started=!1)}refresh(){if(this.started){let e=new Set(this.matchElementsInTree());for(let t of Array.from(this.elements))e.has(t)||this.removeElement(t);for(let t of Array.from(e))this.addElement(t)}}processMutations(e){if(this.started)for(let t of e)this.processMutation(t)}processMutation(e){e.type=="attributes"?this.processAttributeChange(e.target,e.attributeName):e.type=="childList"&&(this.processRemovedNodes(e.removedNodes),this.processAddedNodes(e.addedNodes))}processAttributeChange(e,t){this.elements.has(e)?this.delegate.elementAttributeChanged&&this.matchElement(e)?this.delegate.elementAttributeChanged(e,t):this.removeElement(e):this.matchElement(e)&&this.addElement(e)}processRemovedNodes(e){for(let t of Array.from(e)){let s=this.elementFromNode(t);s&&this.processTree(s,this.removeElement)}}processAddedNodes(e){for(let t of Array.from(e)){let s=this.elementFromNode(t);s&&this.elementIsActive(s)&&this.processTree(s,this.addElement)}}matchElement(e){return this.delegate.matchElement(e)}matchElementsInTree(e=this.element){return this.delegate.matchElementsInTree(e)}processTree(e,t){for(let s of this.matchElementsInTree(e))t.call(this,s)}elementFromNode(e){if(e.nodeType==Node.ELEMENT_NODE)return e}elementIsActive(e){return e.isConnected!=this.element.isConnected?!1:this.element.contains(e)}addElement(e){this.elements.has(e)||this.elementIsActive(e)&&(this.elements.add(e),this.delegate.elementMatched&&this.delegate.elementMatched(e))}removeElement(e){this.elements.has(e)&&(this.elements.delete(e),this.delegate.elementUnmatched&&this.delegate.elementUnmatched(e))}},te=class{constructor(e,t,s){this.attributeName=t,this.delegate=s,this.elementObserver=new ee(e,this)}get element(){return this.elementObserver.element}get selector(){return`[${this.attributeName}]`}start(){this.elementObserver.start()}pause(e){this.elementObserver.pause(e)}stop(){this.elementObserver.stop()}refresh(){this.elementObserver.refresh()}get started(){return this.elementObserver.started}matchElement(e){return e.hasAttribute(this.attributeName)}matchElementsInTree(e){let t=this.matchElement(e)?[e]:[],s=Array.from(e.querySelectorAll(this.selector));return t.concat(s)}elementMatched(e){this.delegate.elementMatchedAttribute&&this.delegate.elementMatchedAttribute(e,this.attributeName)}elementUnmatched(e){this.delegate.elementUnmatchedAttribute&&this.delegate.elementUnmatchedAttribute(e,this.attributeName)}elementAttributeChanged(e,t){this.delegate.elementAttributeValueChanged&&this.attributeName==t&&this.delegate.elementAttributeValueChanged(e,t)}};function wt(r,e,t){Ye(r,e).add(t)}function xt(r,e,t){Ye(r,e).delete(t),Tt(r,e)}function Ye(r,e){let t=r.get(e);return t||(t=new Set,r.set(e,t)),t}function Tt(r,e){let t=r.get(e);t!=null&&t.size==0&&r.delete(e)}var C=class{constructor(){this.valuesByKey=new Map}get keys(){return Array.from(this.valuesByKey.keys())}get values(){return Array.from(this.valuesByKey.values()).reduce((t,s)=>t.concat(Array.from(s)),[])}get size(){return Array.from(this.valuesByKey.values()).reduce((t,s)=>t+s.size,0)}add(e,t){wt(this.valuesByKey,e,t)}delete(e,t){xt(this.valuesByKey,e,t)}has(e,t){let s=this.valuesByKey.get(e);return s!=null&&s.has(t)}hasKey(e){return this.valuesByKey.has(e)}hasValue(e){return Array.from(this.valuesByKey.values()).some(s=>s.has(e))}getValuesForKey(e){let t=this.valuesByKey.get(e);return t?Array.from(t):[]}getKeysForValue(e){return Array.from(this.valuesByKey).filter(([t,s])=>s.has(e)).map(([t,s])=>t)}};var me=class{constructor(e,t,s,o){this._selector=t,this.details=o,this.elementObserver=new ee(e,this),this.delegate=s,this.matchesByElement=new C}get started(){return this.elementObserver.started}get selector(){return this._selector}set selector(e){this._selector=e,this.refresh()}start(){this.elementObserver.start()}pause(e){this.elementObserver.pause(e)}stop(){this.elementObserver.stop()}refresh(){this.elementObserver.refresh()}get element(){return this.elementObserver.element}matchElement(e){let{selector:t}=this;if(t){let s=e.matches(t);return this.delegate.selectorMatchElement?s&&this.delegate.selectorMatchElement(e,this.details):s}else return!1}matchElementsInTree(e){let{selector:t}=this;if(t){let s=this.matchElement(e)?[e]:[],o=Array.from(e.querySelectorAll(t)).filter(h=>this.matchElement(h));return s.concat(o)}else return[]}elementMatched(e){let{selector:t}=this;t&&this.selectorMatched(e,t)}elementUnmatched(e){let t=this.matchesByElement.getKeysForValue(e);for(let s of t)this.selectorUnmatched(e,s)}elementAttributeChanged(e,t){let{selector:s}=this;if(s){let o=this.matchElement(e),h=this.matchesByElement.has(s,e);o&&!h?this.selectorMatched(e,s):!o&&h&&this.selectorUnmatched(e,s)}}selectorMatched(e,t){this.delegate.selectorMatched(e,t,this.details),this.matchesByElement.add(t,e)}selectorUnmatched(e,t){this.delegate.selectorUnmatched(e,t,this.details),this.matchesByElement.delete(t,e)}},pe=class{constructor(e,t){this.element=e,this.delegate=t,this.started=!1,this.stringMap=new Map,this.mutationObserver=new MutationObserver(s=>this.processMutations(s))}start(){this.started||(this.started=!0,this.mutationObserver.observe(this.element,{attributes:!0,attributeOldValue:!0}),this.refresh())}stop(){this.started&&(this.mutationObserver.takeRecords(),this.mutationObserver.disconnect(),this.started=!1)}refresh(){if(this.started)for(let e of this.knownAttributeNames)this.refreshAttribute(e,null)}processMutations(e){if(this.started)for(let t of e)this.processMutation(t)}processMutation(e){let t=e.attributeName;t&&this.refreshAttribute(t,e.oldValue)}refreshAttribute(e,t){let s=this.delegate.getStringMapKeyForAttribute(e);if(s!=null){this.stringMap.has(e)||this.stringMapKeyAdded(s,e);let o=this.element.getAttribute(e);if(this.stringMap.get(e)!=o&&this.stringMapValueChanged(o,s,t),o==null){let h=this.stringMap.get(e);this.stringMap.delete(e),h&&this.stringMapKeyRemoved(s,e,h)}else this.stringMap.set(e,o)}}stringMapKeyAdded(e,t){this.delegate.stringMapKeyAdded&&this.delegate.stringMapKeyAdded(e,t)}stringMapValueChanged(e,t,s){this.delegate.stringMapValueChanged&&this.delegate.stringMapValueChanged(e,t,s)}stringMapKeyRemoved(e,t,s){this.delegate.stringMapKeyRemoved&&this.delegate.stringMapKeyRemoved(e,t,s)}get knownAttributeNames(){return Array.from(new Set(this.currentAttributeNames.concat(this.recordedAttributeNames)))}get currentAttributeNames(){return Array.from(this.element.attributes).map(e=>e.name)}get recordedAttributeNames(){return Array.from(this.stringMap.keys())}},se=class{constructor(e,t,s){this.attributeObserver=new te(e,t,this),this.delegate=s,this.tokensByElement=new C}get started(){return this.attributeObserver.started}start(){this.attributeObserver.start()}pause(e){this.attributeObserver.pause(e)}stop(){this.attributeObserver.stop()}refresh(){this.attributeObserver.refresh()}get element(){return this.attributeObserver.element}get attributeName(){return this.attributeObserver.attributeName}elementMatchedAttribute(e){this.tokensMatched(this.readTokensForElement(e))}elementAttributeValueChanged(e){let[t,s]=this.refreshTokensForElement(e);this.tokensUnmatched(t),this.tokensMatched(s)}elementUnmatchedAttribute(e){this.tokensUnmatched(this.tokensByElement.getValuesForKey(e))}tokensMatched(e){e.forEach(t=>this.tokenMatched(t))}tokensUnmatched(e){e.forEach(t=>this.tokenUnmatched(t))}tokenMatched(e){this.delegate.tokenMatched(e),this.tokensByElement.add(e.element,e)}tokenUnmatched(e){this.delegate.tokenUnmatched(e),this.tokensByElement.delete(e.element,e)}refreshTokensForElement(e){let t=this.tokensByElement.getValuesForKey(e),s=this.readTokensForElement(e),o=Ct(t,s).findIndex(([h,d])=>!Mt(h,d));return o==-1?[[],[]]:[t.slice(o),s.slice(o)]}readTokensForElement(e){let t=this.attributeName,s=e.getAttribute(t)||"";return Ft(s,e,t)}};function Ft(r,e,t){return r.trim().split(/\s+/).filter(s=>s.length).map((s,o)=>({element:e,attributeName:t,content:s,index:o}))}function Ct(r,e){let t=Math.max(r.length,e.length);return Array.from({length:t},(s,o)=>[r[o],e[o]])}function Mt(r,e){return r&&e&&r.index==e.index&&r.content==e.content}var re=class{constructor(e,t,s){this.tokenListObserver=new se(e,t,this),this.delegate=s,this.parseResultsByToken=new WeakMap,this.valuesByTokenByElement=new WeakMap}get started(){return this.tokenListObserver.started}start(){this.tokenListObserver.start()}stop(){this.tokenListObserver.stop()}refresh(){this.tokenListObserver.refresh()}get element(){return this.tokenListObserver.element}get attributeName(){return this.tokenListObserver.attributeName}tokenMatched(e){let{element:t}=e,{value:s}=this.fetchParseResultForToken(e);s&&(this.fetchValuesByTokenForElement(t).set(e,s),this.delegate.elementMatchedValue(t,s))}tokenUnmatched(e){let{element:t}=e,{value:s}=this.fetchParseResultForToken(e);s&&(this.fetchValuesByTokenForElement(t).delete(e),this.delegate.elementUnmatchedValue(t,s))}fetchParseResultForToken(e){let t=this.parseResultsByToken.get(e);return t||(t=this.parseToken(e),this.parseResultsByToken.set(e,t)),t}fetchValuesByTokenForElement(e){let t=this.valuesByTokenByElement.get(e);return t||(t=new Map,this.valuesByTokenByElement.set(e,t)),t}parseToken(e){try{return{value:this.delegate.parseValueForToken(e)}}catch(t){return{error:t}}}},be=class{constructor(e,t){this.context=e,this.delegate=t,this.bindingsByAction=new Map}start(){this.valueListObserver||(this.valueListObserver=new re(this.element,this.actionAttribute,this),this.valueListObserver.start())}stop(){this.valueListObserver&&(this.valueListObserver.stop(),delete this.valueListObserver,this.disconnectAllActions())}get element(){return this.context.element}get identifier(){return this.context.identifier}get actionAttribute(){return this.schema.actionAttribute}get schema(){return this.context.schema}get bindings(){return Array.from(this.bindingsByAction.values())}connectAction(e){let t=new ge(this.context,e);this.bindingsByAction.set(e,t),this.delegate.bindingConnected(t)}disconnectAction(e){let t=this.bindingsByAction.get(e);t&&(this.bindingsByAction.delete(e),this.delegate.bindingDisconnected(t))}disconnectAllActions(){this.bindings.forEach(e=>this.delegate.bindingDisconnected(e,!0)),this.bindingsByAction.clear()}parseValueForToken(e){let t=fe.forToken(e,this.schema);if(t.identifier==this.identifier)return t}elementMatchedValue(e,t){this.connectAction(t)}elementUnmatchedValue(e,t){this.disconnectAction(t)}},ve=class{constructor(e,t){this.context=e,this.receiver=t,this.stringMapObserver=new pe(this.element,this),this.valueDescriptorMap=this.controller.valueDescriptorMap}start(){this.stringMapObserver.start(),this.invokeChangedCallbacksForDefaultValues()}stop(){this.stringMapObserver.stop()}get element(){return this.context.element}get controller(){return this.context.controller}getStringMapKeyForAttribute(e){if(e in this.valueDescriptorMap)return this.valueDescriptorMap[e].name}stringMapKeyAdded(e,t){let s=this.valueDescriptorMap[t];this.hasValue(e)||this.invokeChangedCallback(e,s.writer(this.receiver[e]),s.writer(s.defaultValue))}stringMapValueChanged(e,t,s){let o=this.valueDescriptorNameMap[t];e!==null&&(s===null&&(s=o.writer(o.defaultValue)),this.invokeChangedCallback(t,e,s))}stringMapKeyRemoved(e,t,s){let o=this.valueDescriptorNameMap[e];this.hasValue(e)?this.invokeChangedCallback(e,o.writer(this.receiver[e]),s):this.invokeChangedCallback(e,o.writer(o.defaultValue),s)}invokeChangedCallbacksForDefaultValues(){for(let{key:e,name:t,defaultValue:s,writer:o}of this.valueDescriptors)s!=null&&!this.controller.data.has(e)&&this.invokeChangedCallback(t,o(s),void 0)}invokeChangedCallback(e,t,s){let o=`${e}Changed`,h=this.receiver[o];if(typeof h=="function"){let d=this.valueDescriptorNameMap[e];try{let f=d.reader(t),g=s;s&&(g=d.reader(s)),h.call(this.receiver,f,g)}catch(f){throw f instanceof TypeError&&(f.message=`Stimulus Value "${this.context.identifier}.${d.name}" - ${f.message}`),f}}}get valueDescriptors(){let{valueDescriptorMap:e}=this;return Object.keys(e).map(t=>e[t])}get valueDescriptorNameMap(){let e={};return Object.keys(this.valueDescriptorMap).forEach(t=>{let s=this.valueDescriptorMap[t];e[s.name]=s}),e}hasValue(e){let t=this.valueDescriptorNameMap[e],s=`has${K(t.name)}`;return this.receiver[s]}},ye=class{constructor(e,t){this.context=e,this.delegate=t,this.targetsByName=new C}start(){this.tokenListObserver||(this.tokenListObserver=new se(this.element,this.attributeName,this),this.tokenListObserver.start())}stop(){this.tokenListObserver&&(this.disconnectAllTargets(),this.tokenListObserver.stop(),delete this.tokenListObserver)}tokenMatched({element:e,content:t}){this.scope.containsElement(e)&&this.connectTarget(e,t)}tokenUnmatched({element:e,content:t}){this.disconnectTarget(e,t)}connectTarget(e,t){var s;this.targetsByName.has(t,e)||(this.targetsByName.add(t,e),(s=this.tokenListObserver)===null||s===void 0||s.pause(()=>this.delegate.targetConnected(e,t)))}disconnectTarget(e,t){var s;this.targetsByName.has(t,e)&&(this.targetsByName.delete(t,e),(s=this.tokenListObserver)===null||s===void 0||s.pause(()=>this.delegate.targetDisconnected(e,t)))}disconnectAllTargets(){for(let e of this.targetsByName.keys)for(let t of this.targetsByName.getValuesForKey(e))this.disconnectTarget(t,e)}get attributeName(){return`data-${this.context.identifier}-target`}get element(){return this.context.element}get scope(){return this.context.scope}};function z(r,e){let t=Ze(r);return Array.from(t.reduce((s,o)=>(Bt(o,e).forEach(h=>s.add(h)),s),new Set))}function St(r,e){return Ze(r).reduce((s,o)=>(s.push(...Nt(o,e)),s),[])}function Ze(r){let e=[];for(;r;)e.push(r),r=Object.getPrototypeOf(r);return e.reverse()}function Bt(r,e){let t=r[e];return Array.isArray(t)?t:[]}function Nt(r,e){let t=r[e];return t?Object.keys(t).map(s=>[s,t[s]]):[]}var Ee=class{constructor(e,t){this.started=!1,this.context=e,this.delegate=t,this.outletsByName=new C,this.outletElementsByName=new C,this.selectorObserverMap=new Map,this.attributeObserverMap=new Map}start(){this.started||(this.outletDefinitions.forEach(e=>{this.setupSelectorObserverForOutlet(e),this.setupAttributeObserverForOutlet(e)}),this.started=!0,this.dependentContexts.forEach(e=>e.refresh()))}refresh(){this.selectorObserverMap.forEach(e=>e.refresh()),this.attributeObserverMap.forEach(e=>e.refresh())}stop(){this.started&&(this.started=!1,this.disconnectAllOutlets(),this.stopSelectorObservers(),this.stopAttributeObservers())}stopSelectorObservers(){this.selectorObserverMap.size>0&&(this.selectorObserverMap.forEach(e=>e.stop()),this.selectorObserverMap.clear())}stopAttributeObservers(){this.attributeObserverMap.size>0&&(this.attributeObserverMap.forEach(e=>e.stop()),this.attributeObserverMap.clear())}selectorMatched(e,t,{outletName:s}){let o=this.getOutlet(e,s);o&&this.connectOutlet(o,e,s)}selectorUnmatched(e,t,{outletName:s}){let o=this.getOutletFromMap(e,s);o&&this.disconnectOutlet(o,e,s)}selectorMatchElement(e,{outletName:t}){let s=this.selector(t),o=this.hasOutlet(e,t),h=e.matches(`[${this.schema.controllerAttribute}~=${t}]`);return s?o&&h&&e.matches(s):!1}elementMatchedAttribute(e,t){let s=this.getOutletNameFromOutletAttributeName(t);s&&this.updateSelectorObserverForOutlet(s)}elementAttributeValueChanged(e,t){let s=this.getOutletNameFromOutletAttributeName(t);s&&this.updateSelectorObserverForOutlet(s)}elementUnmatchedAttribute(e,t){let s=this.getOutletNameFromOutletAttributeName(t);s&&this.updateSelectorObserverForOutlet(s)}connectOutlet(e,t,s){var o;this.outletElementsByName.has(s,t)||(this.outletsByName.add(s,e),this.outletElementsByName.add(s,t),(o=this.selectorObserverMap.get(s))===null||o===void 0||o.pause(()=>this.delegate.outletConnected(e,t,s)))}disconnectOutlet(e,t,s){var o;this.outletElementsByName.has(s,t)&&(this.outletsByName.delete(s,e),this.outletElementsByName.delete(s,t),(o=this.selectorObserverMap.get(s))===null||o===void 0||o.pause(()=>this.delegate.outletDisconnected(e,t,s)))}disconnectAllOutlets(){for(let e of this.outletElementsByName.keys)for(let t of this.outletElementsByName.getValuesForKey(e))for(let s of this.outletsByName.getValuesForKey(e))this.disconnectOutlet(s,t,e)}updateSelectorObserverForOutlet(e){let t=this.selectorObserverMap.get(e);t&&(t.selector=this.selector(e))}setupSelectorObserverForOutlet(e){let t=this.selector(e),s=new me(document.body,t,this,{outletName:e});this.selectorObserverMap.set(e,s),s.start()}setupAttributeObserverForOutlet(e){let t=this.attributeNameForOutletName(e),s=new te(this.scope.element,t,this);this.attributeObserverMap.set(e,s),s.start()}selector(e){return this.scope.outlets.getSelectorForOutletName(e)}attributeNameForOutletName(e){return this.scope.schema.outletAttributeForScope(this.identifier,e)}getOutletNameFromOutletAttributeName(e){return this.outletDefinitions.find(t=>this.attributeNameForOutletName(t)===e)}get outletDependencies(){let e=new C;return this.router.modules.forEach(t=>{let s=t.definition.controllerConstructor;z(s,"outlets").forEach(h=>e.add(h,t.identifier))}),e}get outletDefinitions(){return this.outletDependencies.getKeysForValue(this.identifier)}get dependentControllerIdentifiers(){return this.outletDependencies.getValuesForKey(this.identifier)}get dependentContexts(){let e=this.dependentControllerIdentifiers;return this.router.contexts.filter(t=>e.includes(t.identifier))}hasOutlet(e,t){return!!this.getOutlet(e,t)||!!this.getOutletFromMap(e,t)}getOutlet(e,t){return this.application.getControllerForElementAndIdentifier(e,t)}getOutletFromMap(e,t){return this.outletsByName.getValuesForKey(t).find(s=>s.element===e)}get scope(){return this.context.scope}get schema(){return this.context.schema}get identifier(){return this.context.identifier}get application(){return this.context.application}get router(){return this.application.router}},Ae=class{constructor(e,t){this.logDebugActivity=(s,o={})=>{let{identifier:h,controller:d,element:f}=this;o=Object.assign({identifier:h,controller:d,element:f},o),this.application.logDebugActivity(this.identifier,s,o)},this.module=e,this.scope=t,this.controller=new e.controllerConstructor(this),this.bindingObserver=new be(this,this.dispatcher),this.valueObserver=new ve(this,this.controller),this.targetObserver=new ye(this,this),this.outletObserver=new Ee(this,this);try{this.controller.initialize(),this.logDebugActivity("initialize")}catch(s){this.handleError(s,"initializing controller")}}connect(){this.bindingObserver.start(),this.valueObserver.start(),this.targetObserver.start(),this.outletObserver.start();try{this.controller.connect(),this.logDebugActivity("connect")}catch(e){this.handleError(e,"connecting controller")}}refresh(){this.outletObserver.refresh()}disconnect(){try{this.controller.disconnect(),this.logDebugActivity("disconnect")}catch(e){this.handleError(e,"disconnecting controller")}this.outletObserver.stop(),this.targetObserver.stop(),this.valueObserver.stop(),this.bindingObserver.stop()}get application(){return this.module.application}get identifier(){return this.module.identifier}get schema(){return this.application.schema}get dispatcher(){return this.application.dispatcher}get element(){return this.scope.element}get parentElement(){return this.element.parentElement}handleError(e,t,s={}){let{identifier:o,controller:h,element:d}=this;s=Object.assign({identifier:o,controller:h,element:d},s),this.application.handleError(e,`Error ${t}`,s)}targetConnected(e,t){this.invokeControllerMethod(`${t}TargetConnected`,e)}targetDisconnected(e,t){this.invokeControllerMethod(`${t}TargetDisconnected`,e)}outletConnected(e,t,s){this.invokeControllerMethod(`${ue(s)}OutletConnected`,e,t)}outletDisconnected(e,t,s){this.invokeControllerMethod(`${ue(s)}OutletDisconnected`,e,t)}invokeControllerMethod(e,...t){let s=this.controller;typeof s[e]=="function"&&s[e](...t)}};function Lt(r){return $t(r,Dt(r))}function $t(r,e){let t=Vt(r),s=kt(r.prototype,e);return Object.defineProperties(t.prototype,s),t}function Dt(r){return z(r,"blessings").reduce((t,s)=>{let o=s(r);for(let h in o){let d=t[h]||{};t[h]=Object.assign(d,o[h])}return t},{})}function kt(r,e){return It(e).reduce((t,s)=>{let o=jt(r,e,s);return o&&Object.assign(t,{[s]:o}),t},{})}function jt(r,e,t){let s=Object.getOwnPropertyDescriptor(r,t);if(!(s&&"value"in s)){let h=Object.getOwnPropertyDescriptor(e,t).value;return s&&(h.get=s.get||h.get,h.set=s.set||h.set),h}}var It=(()=>typeof Object.getOwnPropertySymbols=="function"?r=>[...Object.getOwnPropertyNames(r),...Object.getOwnPropertySymbols(r)]:Object.getOwnPropertyNames)(),Vt=(()=>{function r(t){function s(){return Reflect.construct(t,arguments,new.target)}return s.prototype=Object.create(t.prototype,{constructor:{value:s}}),Reflect.setPrototypeOf(s,t),s}function e(){let s=r(function(){this.a.call(this)});return s.prototype.a=function(){},new s}try{return e(),r}catch(t){return s=>class extends s{}}})();function _t(r){return{identifier:r.identifier,controllerConstructor:Lt(r.controllerConstructor)}}var Oe=class{constructor(e,t){this.application=e,this.definition=_t(t),this.contextsByScope=new WeakMap,this.connectedContexts=new Set}get identifier(){return this.definition.identifier}get controllerConstructor(){return this.definition.controllerConstructor}get contexts(){return Array.from(this.connectedContexts)}connectContextForScope(e){let t=this.fetchContextForScope(e);this.connectedContexts.add(t),t.connect()}disconnectContextForScope(e){let t=this.contextsByScope.get(e);t&&(this.connectedContexts.delete(t),t.disconnect())}fetchContextForScope(e){let t=this.contextsByScope.get(e);return t||(t=new Ae(this,e),this.contextsByScope.set(e,t)),t}},we=class{constructor(e){this.scope=e}has(e){return this.data.has(this.getDataKey(e))}get(e){return this.getAll(e)[0]}getAll(e){let t=this.data.get(this.getDataKey(e))||"";return Et(t)}getAttributeName(e){return this.data.getAttributeNameForKey(this.getDataKey(e))}getDataKey(e){return`${e}-class`}get data(){return this.scope.data}},xe=class{constructor(e){this.scope=e}get element(){return this.scope.element}get identifier(){return this.scope.identifier}get(e){let t=this.getAttributeNameForKey(e);return this.element.getAttribute(t)}set(e,t){let s=this.getAttributeNameForKey(e);return this.element.setAttribute(s,t),this.get(e)}has(e){let t=this.getAttributeNameForKey(e);return this.element.hasAttribute(t)}delete(e){if(this.has(e)){let t=this.getAttributeNameForKey(e);return this.element.removeAttribute(t),!0}else return!1}getAttributeNameForKey(e){return`data-${this.identifier}-${Ge(e)}`}},Te=class{constructor(e){this.warnedKeysByObject=new WeakMap,this.logger=e}warn(e,t,s){let o=this.warnedKeysByObject.get(e);o||(o=new Set,this.warnedKeysByObject.set(e,o)),o.has(t)||(o.add(t),this.logger.warn(s,e))}};function Fe(r,e){return`[${r}~="${e}"]`}var Ce=class{constructor(e){this.scope=e}get element(){return this.scope.element}get identifier(){return this.scope.identifier}get schema(){return this.scope.schema}has(e){return this.find(e)!=null}find(...e){return e.reduce((t,s)=>t||this.findTarget(s)||this.findLegacyTarget(s),void 0)}findAll(...e){return e.reduce((t,s)=>[...t,...this.findAllTargets(s),...this.findAllLegacyTargets(s)],[])}findTarget(e){let t=this.getSelectorForTargetName(e);return this.scope.findElement(t)}findAllTargets(e){let t=this.getSelectorForTargetName(e);return this.scope.findAllElements(t)}getSelectorForTargetName(e){let t=this.schema.targetAttributeForScope(this.identifier);return Fe(t,e)}findLegacyTarget(e){let t=this.getLegacySelectorForTargetName(e);return this.deprecate(this.scope.findElement(t),e)}findAllLegacyTargets(e){let t=this.getLegacySelectorForTargetName(e);return this.scope.findAllElements(t).map(s=>this.deprecate(s,e))}getLegacySelectorForTargetName(e){let t=`${this.identifier}.${e}`;return Fe(this.schema.targetAttribute,t)}deprecate(e,t){if(e){let{identifier:s}=this,o=this.schema.targetAttribute,h=this.schema.targetAttributeForScope(s);this.guide.warn(e,`target:${t}`,`Please replace ${o}="${s}.${t}" with ${h}="${t}". The ${o} attribute is deprecated and will be removed in a future version of Stimulus.`)}return e}get guide(){return this.scope.guide}},Me=class{constructor(e,t){this.scope=e,this.controllerElement=t}get element(){return this.scope.element}get identifier(){return this.scope.identifier}get schema(){return this.scope.schema}has(e){return this.find(e)!=null}find(...e){return e.reduce((t,s)=>t||this.findOutlet(s),void 0)}findAll(...e){return e.reduce((t,s)=>[...t,...this.findAllOutlets(s)],[])}getSelectorForOutletName(e){let t=this.schema.outletAttributeForScope(this.identifier,e);return this.controllerElement.getAttribute(t)}findOutlet(e){let t=this.getSelectorForOutletName(e);if(t)return this.findElement(t,e)}findAllOutlets(e){let t=this.getSelectorForOutletName(e);return t?this.findAllElements(t,e):[]}findElement(e,t){return this.scope.queryElements(e).filter(o=>this.matchesElement(o,e,t))[0]}findAllElements(e,t){return this.scope.queryElements(e).filter(o=>this.matchesElement(o,e,t))}matchesElement(e,t,s){let o=e.getAttribute(this.scope.schema.controllerAttribute)||"";return e.matches(t)&&o.split(" ").includes(s)}},q=class{constructor(e,t,s,o){this.targets=new Ce(this),this.classes=new we(this),this.data=new xe(this),this.containsElement=h=>h.closest(this.controllerSelector)===this.element,this.schema=e,this.element=t,this.identifier=s,this.guide=new Te(o),this.outlets=new Me(this.documentScope,t)}findElement(e){return this.element.matches(e)?this.element:this.queryElements(e).find(this.containsElement)}findAllElements(e){return[...this.element.matches(e)?[this.element]:[],...this.queryElements(e).filter(this.containsElement)]}queryElements(e){return Array.from(this.element.querySelectorAll(e))}get controllerSelector(){return Fe(this.schema.controllerAttribute,this.identifier)}get isDocumentScope(){return this.element===document.documentElement}get documentScope(){return this.isDocumentScope?this:new q(this.schema,document.documentElement,this.identifier,this.guide.logger)}},Se=class{constructor(e,t,s){this.element=e,this.schema=t,this.delegate=s,this.valueListObserver=new re(this.element,this.controllerAttribute,this),this.scopesByIdentifierByElement=new WeakMap,this.scopeReferenceCounts=new WeakMap}start(){this.valueListObserver.start()}stop(){this.valueListObserver.stop()}get controllerAttribute(){return this.schema.controllerAttribute}parseValueForToken(e){let{element:t,content:s}=e;return this.parseValueForElementAndIdentifier(t,s)}parseValueForElementAndIdentifier(e,t){let s=this.fetchScopesByIdentifierForElement(e),o=s.get(t);return o||(o=this.delegate.createScopeForElementAndIdentifier(e,t),s.set(t,o)),o}elementMatchedValue(e,t){let s=(this.scopeReferenceCounts.get(t)||0)+1;this.scopeReferenceCounts.set(t,s),s==1&&this.delegate.scopeConnected(t)}elementUnmatchedValue(e,t){let s=this.scopeReferenceCounts.get(t);s&&(this.scopeReferenceCounts.set(t,s-1),s==1&&this.delegate.scopeDisconnected(t))}fetchScopesByIdentifierForElement(e){let t=this.scopesByIdentifierByElement.get(e);return t||(t=new Map,this.scopesByIdentifierByElement.set(e,t)),t}},Be=class{constructor(e){this.application=e,this.scopeObserver=new Se(this.element,this.schema,this),this.scopesByIdentifier=new C,this.modulesByIdentifier=new Map}get element(){return this.application.element}get schema(){return this.application.schema}get logger(){return this.application.logger}get controllerAttribute(){return this.schema.controllerAttribute}get modules(){return Array.from(this.modulesByIdentifier.values())}get contexts(){return this.modules.reduce((e,t)=>e.concat(t.contexts),[])}start(){this.scopeObserver.start()}stop(){this.scopeObserver.stop()}loadDefinition(e){this.unloadIdentifier(e.identifier);let t=new Oe(this.application,e);this.connectModule(t);let s=e.controllerConstructor.afterLoad;s&&s.call(e.controllerConstructor,e.identifier,this.application)}unloadIdentifier(e){let t=this.modulesByIdentifier.get(e);t&&this.disconnectModule(t)}getContextForElementAndIdentifier(e,t){let s=this.modulesByIdentifier.get(t);if(s)return s.contexts.find(o=>o.element==e)}proposeToConnectScopeForElementAndIdentifier(e,t){let s=this.scopeObserver.parseValueForElementAndIdentifier(e,t);s?this.scopeObserver.elementMatchedValue(s.element,s):console.error(`Couldn't find or create scope for identifier: "${t}" and element:`,e)}handleError(e,t,s){this.application.handleError(e,t,s)}createScopeForElementAndIdentifier(e,t){return new q(this.schema,e,t,this.logger)}scopeConnected(e){this.scopesByIdentifier.add(e.identifier,e);let t=this.modulesByIdentifier.get(e.identifier);t&&t.connectContextForScope(e)}scopeDisconnected(e){this.scopesByIdentifier.delete(e.identifier,e);let t=this.modulesByIdentifier.get(e.identifier);t&&t.disconnectContextForScope(e)}connectModule(e){this.modulesByIdentifier.set(e.identifier,e),this.scopesByIdentifier.getValuesForKey(e.identifier).forEach(s=>e.connectContextForScope(s))}disconnectModule(e){this.modulesByIdentifier.delete(e.identifier),this.scopesByIdentifier.getValuesForKey(e.identifier).forEach(s=>e.disconnectContextForScope(s))}},Pt={controllerAttribute:"data-controller",actionAttribute:"data-action",targetAttribute:"data-target",targetAttributeForScope:r=>`data-${r}-target`,outletAttributeForScope:(r,e)=>`data-${r}-${e}-outlet`,keyMappings:Object.assign(Object.assign({enter:"Enter",tab:"Tab",esc:"Escape",space:" ",up:"ArrowUp",down:"ArrowDown",left:"ArrowLeft",right:"ArrowRight",home:"Home",end:"End",page_up:"PageUp",page_down:"PageDown"},ze("abcdefghijklmnopqrstuvwxyz".split("").map(r=>[r,r]))),ze("0123456789".split("").map(r=>[r,r])))};function ze(r){return r.reduce((e,[t,s])=>Object.assign(Object.assign({},e),{[t]:s}),{})}var ie=class{constructor(e=document.documentElement,t=Pt){this.logger=console,this.debug=!1,this.logDebugActivity=(s,o,h={})=>{this.debug&&this.logFormattedMessage(s,o,h)},this.element=e,this.schema=t,this.dispatcher=new he(this),this.router=new Be(this),this.actionDescriptorFilters=Object.assign({},gt)}static start(e,t){let s=new this(e,t);return s.start(),s}start(){return M(this,null,function*(){yield Ut(),this.logDebugActivity("application","starting"),this.dispatcher.start(),this.router.start(),this.logDebugActivity("application","start")})}stop(){this.logDebugActivity("application","stopping"),this.dispatcher.stop(),this.router.stop(),this.logDebugActivity("application","stop")}register(e,t){this.load({identifier:e,controllerConstructor:t})}registerActionOption(e,t){this.actionDescriptorFilters[e]=t}load(e,...t){(Array.isArray(e)?e:[e,...t]).forEach(o=>{o.controllerConstructor.shouldLoad&&this.router.loadDefinition(o)})}unload(e,...t){(Array.isArray(e)?e:[e,...t]).forEach(o=>this.router.unloadIdentifier(o))}get controllers(){return this.router.contexts.map(e=>e.controller)}getControllerForElementAndIdentifier(e,t){let s=this.router.getContextForElementAndIdentifier(e,t);return s?s.controller:null}handleError(e,t,s){var o;this.logger.error(`%s
1
+ (()=>{var Ks=Object.defineProperty,Ws=Object.defineProperties;var zs=Object.getOwnPropertyDescriptors;var Ve=Object.getOwnPropertySymbols;var Xt=Object.prototype.hasOwnProperty,Jt=Object.prototype.propertyIsEnumerable;var ht=(s,e,t)=>e in s?Ks(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,D=(s,e)=>{for(var t in e||(e={}))Xt.call(e,t)&&ht(s,t,e[t]);if(Ve)for(var t of Ve(e))Jt.call(e,t)&&ht(s,t,e[t]);return s},z=(s,e)=>Ws(s,zs(e));var Pe=(s,e)=>{var t={};for(var i in s)Xt.call(s,i)&&e.indexOf(i)<0&&(t[i]=s[i]);if(s!=null&&Ve)for(var i of Ve(s))e.indexOf(i)<0&&Jt.call(s,i)&&(t[i]=s[i]);return t};var T=(s,e,t)=>(ht(s,typeof e!="symbol"?e+"":e,t),t);var F=(s,e,t)=>new Promise((i,n)=>{var a=p=>{try{f(t.next(p))}catch(g){n(g)}},h=p=>{try{f(t.throw(p))}catch(g){n(g)}},f=p=>p.done?i(p.value):Promise.resolve(p.value).then(a,h);f((t=t.apply(s,e)).next())});var ut=class{constructor(e,t,i){this.eventTarget=e,this.eventName=t,this.eventOptions=i,this.unorderedBindings=new Set}connect(){this.eventTarget.addEventListener(this.eventName,this,this.eventOptions)}disconnect(){this.eventTarget.removeEventListener(this.eventName,this,this.eventOptions)}bindingConnected(e){this.unorderedBindings.add(e)}bindingDisconnected(e){this.unorderedBindings.delete(e)}handleEvent(e){let t=Xs(e);for(let i of this.bindings){if(t.immediatePropagationStopped)break;i.handleEvent(t)}}hasBindings(){return this.unorderedBindings.size>0}get bindings(){return Array.from(this.unorderedBindings).sort((e,t)=>{let i=e.index,n=t.index;return i<n?-1:i>n?1:0})}};function Xs(s){if("immediatePropagationStopped"in s)return s;{let{stopImmediatePropagation:e}=s;return Object.assign(s,{immediatePropagationStopped:!1,stopImmediatePropagation(){this.immediatePropagationStopped=!0,e.call(this)}})}}var dt=class{constructor(e){this.application=e,this.eventListenerMaps=new Map,this.started=!1}start(){this.started||(this.started=!0,this.eventListeners.forEach(e=>e.connect()))}stop(){this.started&&(this.started=!1,this.eventListeners.forEach(e=>e.disconnect()))}get eventListeners(){return Array.from(this.eventListenerMaps.values()).reduce((e,t)=>e.concat(Array.from(t.values())),[])}bindingConnected(e){this.fetchEventListenerForBinding(e).bindingConnected(e)}bindingDisconnected(e,t=!1){this.fetchEventListenerForBinding(e).bindingDisconnected(e),t&&this.clearEventListenersForBinding(e)}handleError(e,t,i={}){this.application.handleError(e,`Error ${t}`,i)}clearEventListenersForBinding(e){let t=this.fetchEventListenerForBinding(e);t.hasBindings()||(t.disconnect(),this.removeMappedEventListenerFor(e))}removeMappedEventListenerFor(e){let{eventTarget:t,eventName:i,eventOptions:n}=e,a=this.fetchEventListenerMapForEventTarget(t),h=this.cacheKey(i,n);a.delete(h),a.size==0&&this.eventListenerMaps.delete(t)}fetchEventListenerForBinding(e){let{eventTarget:t,eventName:i,eventOptions:n}=e;return this.fetchEventListener(t,i,n)}fetchEventListener(e,t,i){let n=this.fetchEventListenerMapForEventTarget(e),a=this.cacheKey(t,i),h=n.get(a);return h||(h=this.createEventListener(e,t,i),n.set(a,h)),h}createEventListener(e,t,i){let n=new ut(e,t,i);return this.started&&n.connect(),n}fetchEventListenerMapForEventTarget(e){let t=this.eventListenerMaps.get(e);return t||(t=new Map,this.eventListenerMaps.set(e,t)),t}cacheKey(e,t){let i=[e];return Object.keys(t).sort().forEach(n=>{i.push(`${t[n]?"":"!"}${n}`)}),i.join(":")}},Js={stop({event:s,value:e}){return e&&s.stopPropagation(),!0},prevent({event:s,value:e}){return e&&s.preventDefault(),!0},self({event:s,value:e,element:t}){return e?t===s.target:!0}},Ys=/^(?:(?:([^.]+?)\+)?(.+?)(?:\.(.+?))?(?:@(window|document))?->)?(.+?)(?:#([^:]+?))(?::(.+))?$/;function Qs(s){let t=s.trim().match(Ys)||[],i=t[2],n=t[3];return n&&!["keydown","keyup","keypress"].includes(i)&&(i+=`.${n}`,n=""),{eventTarget:Gs(t[4]),eventName:i,eventOptions:t[7]?Zs(t[7]):{},identifier:t[5],methodName:t[6],keyFilter:t[1]||n}}function Gs(s){if(s=="window")return window;if(s=="document")return document}function Zs(s){return s.split(":").reduce((e,t)=>Object.assign(e,{[t.replace(/^!/,"")]:!/^!/.test(t)}),{})}function ei(s){if(s==window)return"window";if(s==document)return"document"}function kt(s){return s.replace(/(?:[_-])([a-z0-9])/g,(e,t)=>t.toUpperCase())}function ft(s){return kt(s.replace(/--/g,"-").replace(/__/g,"_"))}function xe(s){return s.charAt(0).toUpperCase()+s.slice(1)}function rs(s){return s.replace(/([A-Z])/g,(e,t)=>`-${t.toLowerCase()}`)}function ti(s){return s.match(/[^\s]+/g)||[]}function Yt(s){return s!=null}function pt(s,e){return Object.prototype.hasOwnProperty.call(s,e)}var Qt=["meta","ctrl","alt","shift"],gt=class{constructor(e,t,i,n){this.element=e,this.index=t,this.eventTarget=i.eventTarget||e,this.eventName=i.eventName||si(e)||Ie("missing event name"),this.eventOptions=i.eventOptions||{},this.identifier=i.identifier||Ie("missing identifier"),this.methodName=i.methodName||Ie("missing method name"),this.keyFilter=i.keyFilter||"",this.schema=n}static forToken(e,t){return new this(e.element,e.index,Qs(e.content),t)}toString(){let e=this.keyFilter?`.${this.keyFilter}`:"",t=this.eventTargetName?`@${this.eventTargetName}`:"";return`${this.eventName}${e}${t}->${this.identifier}#${this.methodName}`}shouldIgnoreKeyboardEvent(e){if(!this.keyFilter)return!1;let t=this.keyFilter.split("+");if(this.keyFilterDissatisfied(e,t))return!0;let i=t.filter(n=>!Qt.includes(n))[0];return i?(pt(this.keyMappings,i)||Ie(`contains unknown key filter: ${this.keyFilter}`),this.keyMappings[i].toLowerCase()!==e.key.toLowerCase()):!1}shouldIgnoreMouseEvent(e){if(!this.keyFilter)return!1;let t=[this.keyFilter];return!!this.keyFilterDissatisfied(e,t)}get params(){let e={},t=new RegExp(`^data-${this.identifier}-(.+)-param$`,"i");for(let{name:i,value:n}of Array.from(this.element.attributes)){let a=i.match(t),h=a&&a[1];h&&(e[kt(h)]=ii(n))}return e}get eventTargetName(){return ei(this.eventTarget)}get keyMappings(){return this.schema.keyMappings}keyFilterDissatisfied(e,t){let[i,n,a,h]=Qt.map(f=>t.includes(f));return e.metaKey!==i||e.ctrlKey!==n||e.altKey!==a||e.shiftKey!==h}},Gt={a:()=>"click",button:()=>"click",form:()=>"submit",details:()=>"toggle",input:s=>s.getAttribute("type")=="submit"?"click":"input",select:()=>"change",textarea:()=>"input"};function si(s){let e=s.tagName.toLowerCase();if(e in Gt)return Gt[e](s)}function Ie(s){throw new Error(s)}function ii(s){try{return JSON.parse(s)}catch(e){return s}}var mt=class{constructor(e,t){this.context=e,this.action=t}get index(){return this.action.index}get eventTarget(){return this.action.eventTarget}get eventOptions(){return this.action.eventOptions}get identifier(){return this.context.identifier}handleEvent(e){let t=this.prepareActionEvent(e);this.willBeInvokedByEvent(e)&&this.applyEventModifiers(t)&&this.invokeWithEvent(t)}get eventName(){return this.action.eventName}get method(){let e=this.controller[this.methodName];if(typeof e=="function")return e;throw new Error(`Action "${this.action}" references undefined method "${this.methodName}"`)}applyEventModifiers(e){let{element:t}=this.action,{actionDescriptorFilters:i}=this.context.application,{controller:n}=this.context,a=!0;for(let[h,f]of Object.entries(this.eventOptions))if(h in i){let p=i[h];a=a&&p({name:h,value:f,event:e,element:t,controller:n})}else continue;return a}prepareActionEvent(e){return Object.assign(e,{params:this.action.params})}invokeWithEvent(e){let{target:t,currentTarget:i}=e;try{this.method.call(this.controller,e),this.context.logDebugActivity(this.methodName,{event:e,target:t,currentTarget:i,action:this.methodName})}catch(n){let{identifier:a,controller:h,element:f,index:p}=this,g={identifier:a,controller:h,element:f,index:p,event:e};this.context.handleError(n,`invoking action "${this.action}"`,g)}}willBeInvokedByEvent(e){let t=e.target;return e instanceof KeyboardEvent&&this.action.shouldIgnoreKeyboardEvent(e)||e instanceof MouseEvent&&this.action.shouldIgnoreMouseEvent(e)?!1:this.element===t?!0:t instanceof Element&&this.element.contains(t)?this.scope.containsElement(t):this.scope.containsElement(this.action.element)}get controller(){return this.context.controller}get methodName(){return this.action.methodName}get element(){return this.scope.element}get scope(){return this.context.scope}},Re=class{constructor(e,t){this.mutationObserverInit={attributes:!0,childList:!0,subtree:!0},this.element=e,this.started=!1,this.delegate=t,this.elements=new Set,this.mutationObserver=new MutationObserver(i=>this.processMutations(i))}start(){this.started||(this.started=!0,this.mutationObserver.observe(this.element,this.mutationObserverInit),this.refresh())}pause(e){this.started&&(this.mutationObserver.disconnect(),this.started=!1),e(),this.started||(this.mutationObserver.observe(this.element,this.mutationObserverInit),this.started=!0)}stop(){this.started&&(this.mutationObserver.takeRecords(),this.mutationObserver.disconnect(),this.started=!1)}refresh(){if(this.started){let e=new Set(this.matchElementsInTree());for(let t of Array.from(this.elements))e.has(t)||this.removeElement(t);for(let t of Array.from(e))this.addElement(t)}}processMutations(e){if(this.started)for(let t of e)this.processMutation(t)}processMutation(e){e.type=="attributes"?this.processAttributeChange(e.target,e.attributeName):e.type=="childList"&&(this.processRemovedNodes(e.removedNodes),this.processAddedNodes(e.addedNodes))}processAttributeChange(e,t){this.elements.has(e)?this.delegate.elementAttributeChanged&&this.matchElement(e)?this.delegate.elementAttributeChanged(e,t):this.removeElement(e):this.matchElement(e)&&this.addElement(e)}processRemovedNodes(e){for(let t of Array.from(e)){let i=this.elementFromNode(t);i&&this.processTree(i,this.removeElement)}}processAddedNodes(e){for(let t of Array.from(e)){let i=this.elementFromNode(t);i&&this.elementIsActive(i)&&this.processTree(i,this.addElement)}}matchElement(e){return this.delegate.matchElement(e)}matchElementsInTree(e=this.element){return this.delegate.matchElementsInTree(e)}processTree(e,t){for(let i of this.matchElementsInTree(e))t.call(this,i)}elementFromNode(e){if(e.nodeType==Node.ELEMENT_NODE)return e}elementIsActive(e){return e.isConnected!=this.element.isConnected?!1:this.element.contains(e)}addElement(e){this.elements.has(e)||this.elementIsActive(e)&&(this.elements.add(e),this.delegate.elementMatched&&this.delegate.elementMatched(e))}removeElement(e){this.elements.has(e)&&(this.elements.delete(e),this.delegate.elementUnmatched&&this.delegate.elementUnmatched(e))}},je=class{constructor(e,t,i){this.attributeName=t,this.delegate=i,this.elementObserver=new Re(e,this)}get element(){return this.elementObserver.element}get selector(){return`[${this.attributeName}]`}start(){this.elementObserver.start()}pause(e){this.elementObserver.pause(e)}stop(){this.elementObserver.stop()}refresh(){this.elementObserver.refresh()}get started(){return this.elementObserver.started}matchElement(e){return e.hasAttribute(this.attributeName)}matchElementsInTree(e){let t=this.matchElement(e)?[e]:[],i=Array.from(e.querySelectorAll(this.selector));return t.concat(i)}elementMatched(e){this.delegate.elementMatchedAttribute&&this.delegate.elementMatchedAttribute(e,this.attributeName)}elementUnmatched(e){this.delegate.elementUnmatchedAttribute&&this.delegate.elementUnmatchedAttribute(e,this.attributeName)}elementAttributeChanged(e,t){this.delegate.elementAttributeValueChanged&&this.attributeName==t&&this.delegate.elementAttributeValueChanged(e,t)}};function ni(s,e,t){os(s,e).add(t)}function ri(s,e,t){os(s,e).delete(t),oi(s,e)}function os(s,e){let t=s.get(e);return t||(t=new Set,s.set(e,t)),t}function oi(s,e){let t=s.get(e);t!=null&&t.size==0&&s.delete(e)}var Q=class{constructor(){this.valuesByKey=new Map}get keys(){return Array.from(this.valuesByKey.keys())}get values(){return Array.from(this.valuesByKey.values()).reduce((t,i)=>t.concat(Array.from(i)),[])}get size(){return Array.from(this.valuesByKey.values()).reduce((t,i)=>t+i.size,0)}add(e,t){ni(this.valuesByKey,e,t)}delete(e,t){ri(this.valuesByKey,e,t)}has(e,t){let i=this.valuesByKey.get(e);return i!=null&&i.has(t)}hasKey(e){return this.valuesByKey.has(e)}hasValue(e){return Array.from(this.valuesByKey.values()).some(i=>i.has(e))}getValuesForKey(e){let t=this.valuesByKey.get(e);return t?Array.from(t):[]}getKeysForValue(e){return Array.from(this.valuesByKey).filter(([t,i])=>i.has(e)).map(([t,i])=>t)}};var bt=class{constructor(e,t,i,n){this._selector=t,this.details=n,this.elementObserver=new Re(e,this),this.delegate=i,this.matchesByElement=new Q}get started(){return this.elementObserver.started}get selector(){return this._selector}set selector(e){this._selector=e,this.refresh()}start(){this.elementObserver.start()}pause(e){this.elementObserver.pause(e)}stop(){this.elementObserver.stop()}refresh(){this.elementObserver.refresh()}get element(){return this.elementObserver.element}matchElement(e){let{selector:t}=this;if(t){let i=e.matches(t);return this.delegate.selectorMatchElement?i&&this.delegate.selectorMatchElement(e,this.details):i}else return!1}matchElementsInTree(e){let{selector:t}=this;if(t){let i=this.matchElement(e)?[e]:[],n=Array.from(e.querySelectorAll(t)).filter(a=>this.matchElement(a));return i.concat(n)}else return[]}elementMatched(e){let{selector:t}=this;t&&this.selectorMatched(e,t)}elementUnmatched(e){let t=this.matchesByElement.getKeysForValue(e);for(let i of t)this.selectorUnmatched(e,i)}elementAttributeChanged(e,t){let{selector:i}=this;if(i){let n=this.matchElement(e),a=this.matchesByElement.has(i,e);n&&!a?this.selectorMatched(e,i):!n&&a&&this.selectorUnmatched(e,i)}}selectorMatched(e,t){this.delegate.selectorMatched(e,t,this.details),this.matchesByElement.add(t,e)}selectorUnmatched(e,t){this.delegate.selectorUnmatched(e,t,this.details),this.matchesByElement.delete(t,e)}},vt=class{constructor(e,t){this.element=e,this.delegate=t,this.started=!1,this.stringMap=new Map,this.mutationObserver=new MutationObserver(i=>this.processMutations(i))}start(){this.started||(this.started=!0,this.mutationObserver.observe(this.element,{attributes:!0,attributeOldValue:!0}),this.refresh())}stop(){this.started&&(this.mutationObserver.takeRecords(),this.mutationObserver.disconnect(),this.started=!1)}refresh(){if(this.started)for(let e of this.knownAttributeNames)this.refreshAttribute(e,null)}processMutations(e){if(this.started)for(let t of e)this.processMutation(t)}processMutation(e){let t=e.attributeName;t&&this.refreshAttribute(t,e.oldValue)}refreshAttribute(e,t){let i=this.delegate.getStringMapKeyForAttribute(e);if(i!=null){this.stringMap.has(e)||this.stringMapKeyAdded(i,e);let n=this.element.getAttribute(e);if(this.stringMap.get(e)!=n&&this.stringMapValueChanged(n,i,t),n==null){let a=this.stringMap.get(e);this.stringMap.delete(e),a&&this.stringMapKeyRemoved(i,e,a)}else this.stringMap.set(e,n)}}stringMapKeyAdded(e,t){this.delegate.stringMapKeyAdded&&this.delegate.stringMapKeyAdded(e,t)}stringMapValueChanged(e,t,i){this.delegate.stringMapValueChanged&&this.delegate.stringMapValueChanged(e,t,i)}stringMapKeyRemoved(e,t,i){this.delegate.stringMapKeyRemoved&&this.delegate.stringMapKeyRemoved(e,t,i)}get knownAttributeNames(){return Array.from(new Set(this.currentAttributeNames.concat(this.recordedAttributeNames)))}get currentAttributeNames(){return Array.from(this.element.attributes).map(e=>e.name)}get recordedAttributeNames(){return Array.from(this.stringMap.keys())}},_e=class{constructor(e,t,i){this.attributeObserver=new je(e,t,this),this.delegate=i,this.tokensByElement=new Q}get started(){return this.attributeObserver.started}start(){this.attributeObserver.start()}pause(e){this.attributeObserver.pause(e)}stop(){this.attributeObserver.stop()}refresh(){this.attributeObserver.refresh()}get element(){return this.attributeObserver.element}get attributeName(){return this.attributeObserver.attributeName}elementMatchedAttribute(e){this.tokensMatched(this.readTokensForElement(e))}elementAttributeValueChanged(e){let[t,i]=this.refreshTokensForElement(e);this.tokensUnmatched(t),this.tokensMatched(i)}elementUnmatchedAttribute(e){this.tokensUnmatched(this.tokensByElement.getValuesForKey(e))}tokensMatched(e){e.forEach(t=>this.tokenMatched(t))}tokensUnmatched(e){e.forEach(t=>this.tokenUnmatched(t))}tokenMatched(e){this.delegate.tokenMatched(e),this.tokensByElement.add(e.element,e)}tokenUnmatched(e){this.delegate.tokenUnmatched(e),this.tokensByElement.delete(e.element,e)}refreshTokensForElement(e){let t=this.tokensByElement.getValuesForKey(e),i=this.readTokensForElement(e),n=li(t,i).findIndex(([a,h])=>!ci(a,h));return n==-1?[[],[]]:[t.slice(n),i.slice(n)]}readTokensForElement(e){let t=this.attributeName,i=e.getAttribute(t)||"";return ai(i,e,t)}};function ai(s,e,t){return s.trim().split(/\s+/).filter(i=>i.length).map((i,n)=>({element:e,attributeName:t,content:i,index:n}))}function li(s,e){let t=Math.max(s.length,e.length);return Array.from({length:t},(i,n)=>[s[n],e[n]])}function ci(s,e){return s&&e&&s.index==e.index&&s.content==e.content}var He=class{constructor(e,t,i){this.tokenListObserver=new _e(e,t,this),this.delegate=i,this.parseResultsByToken=new WeakMap,this.valuesByTokenByElement=new WeakMap}get started(){return this.tokenListObserver.started}start(){this.tokenListObserver.start()}stop(){this.tokenListObserver.stop()}refresh(){this.tokenListObserver.refresh()}get element(){return this.tokenListObserver.element}get attributeName(){return this.tokenListObserver.attributeName}tokenMatched(e){let{element:t}=e,{value:i}=this.fetchParseResultForToken(e);i&&(this.fetchValuesByTokenForElement(t).set(e,i),this.delegate.elementMatchedValue(t,i))}tokenUnmatched(e){let{element:t}=e,{value:i}=this.fetchParseResultForToken(e);i&&(this.fetchValuesByTokenForElement(t).delete(e),this.delegate.elementUnmatchedValue(t,i))}fetchParseResultForToken(e){let t=this.parseResultsByToken.get(e);return t||(t=this.parseToken(e),this.parseResultsByToken.set(e,t)),t}fetchValuesByTokenForElement(e){let t=this.valuesByTokenByElement.get(e);return t||(t=new Map,this.valuesByTokenByElement.set(e,t)),t}parseToken(e){try{return{value:this.delegate.parseValueForToken(e)}}catch(t){return{error:t}}}},yt=class{constructor(e,t){this.context=e,this.delegate=t,this.bindingsByAction=new Map}start(){this.valueListObserver||(this.valueListObserver=new He(this.element,this.actionAttribute,this),this.valueListObserver.start())}stop(){this.valueListObserver&&(this.valueListObserver.stop(),delete this.valueListObserver,this.disconnectAllActions())}get element(){return this.context.element}get identifier(){return this.context.identifier}get actionAttribute(){return this.schema.actionAttribute}get schema(){return this.context.schema}get bindings(){return Array.from(this.bindingsByAction.values())}connectAction(e){let t=new mt(this.context,e);this.bindingsByAction.set(e,t),this.delegate.bindingConnected(t)}disconnectAction(e){let t=this.bindingsByAction.get(e);t&&(this.bindingsByAction.delete(e),this.delegate.bindingDisconnected(t))}disconnectAllActions(){this.bindings.forEach(e=>this.delegate.bindingDisconnected(e,!0)),this.bindingsByAction.clear()}parseValueForToken(e){let t=gt.forToken(e,this.schema);if(t.identifier==this.identifier)return t}elementMatchedValue(e,t){this.connectAction(t)}elementUnmatchedValue(e,t){this.disconnectAction(t)}},wt=class{constructor(e,t){this.context=e,this.receiver=t,this.stringMapObserver=new vt(this.element,this),this.valueDescriptorMap=this.controller.valueDescriptorMap}start(){this.stringMapObserver.start(),this.invokeChangedCallbacksForDefaultValues()}stop(){this.stringMapObserver.stop()}get element(){return this.context.element}get controller(){return this.context.controller}getStringMapKeyForAttribute(e){if(e in this.valueDescriptorMap)return this.valueDescriptorMap[e].name}stringMapKeyAdded(e,t){let i=this.valueDescriptorMap[t];this.hasValue(e)||this.invokeChangedCallback(e,i.writer(this.receiver[e]),i.writer(i.defaultValue))}stringMapValueChanged(e,t,i){let n=this.valueDescriptorNameMap[t];e!==null&&(i===null&&(i=n.writer(n.defaultValue)),this.invokeChangedCallback(t,e,i))}stringMapKeyRemoved(e,t,i){let n=this.valueDescriptorNameMap[e];this.hasValue(e)?this.invokeChangedCallback(e,n.writer(this.receiver[e]),i):this.invokeChangedCallback(e,n.writer(n.defaultValue),i)}invokeChangedCallbacksForDefaultValues(){for(let{key:e,name:t,defaultValue:i,writer:n}of this.valueDescriptors)i!=null&&!this.controller.data.has(e)&&this.invokeChangedCallback(t,n(i),void 0)}invokeChangedCallback(e,t,i){let n=`${e}Changed`,a=this.receiver[n];if(typeof a=="function"){let h=this.valueDescriptorNameMap[e];try{let f=h.reader(t),p=i;i&&(p=h.reader(i)),a.call(this.receiver,f,p)}catch(f){throw f instanceof TypeError&&(f.message=`Stimulus Value "${this.context.identifier}.${h.name}" - ${f.message}`),f}}}get valueDescriptors(){let{valueDescriptorMap:e}=this;return Object.keys(e).map(t=>e[t])}get valueDescriptorNameMap(){let e={};return Object.keys(this.valueDescriptorMap).forEach(t=>{let i=this.valueDescriptorMap[t];e[i.name]=i}),e}hasValue(e){let t=this.valueDescriptorNameMap[e],i=`has${xe(t.name)}`;return this.receiver[i]}},xt=class{constructor(e,t){this.context=e,this.delegate=t,this.targetsByName=new Q}start(){this.tokenListObserver||(this.tokenListObserver=new _e(this.element,this.attributeName,this),this.tokenListObserver.start())}stop(){this.tokenListObserver&&(this.disconnectAllTargets(),this.tokenListObserver.stop(),delete this.tokenListObserver)}tokenMatched({element:e,content:t}){this.scope.containsElement(e)&&this.connectTarget(e,t)}tokenUnmatched({element:e,content:t}){this.disconnectTarget(e,t)}connectTarget(e,t){var i;this.targetsByName.has(t,e)||(this.targetsByName.add(t,e),(i=this.tokenListObserver)===null||i===void 0||i.pause(()=>this.delegate.targetConnected(e,t)))}disconnectTarget(e,t){var i;this.targetsByName.has(t,e)&&(this.targetsByName.delete(t,e),(i=this.tokenListObserver)===null||i===void 0||i.pause(()=>this.delegate.targetDisconnected(e,t)))}disconnectAllTargets(){for(let e of this.targetsByName.keys)for(let t of this.targetsByName.getValuesForKey(e))this.disconnectTarget(t,e)}get attributeName(){return`data-${this.context.identifier}-target`}get element(){return this.context.element}get scope(){return this.context.scope}};function Ee(s,e){let t=as(s);return Array.from(t.reduce((i,n)=>(ui(n,e).forEach(a=>i.add(a)),i),new Set))}function hi(s,e){return as(s).reduce((i,n)=>(i.push(...di(n,e)),i),[])}function as(s){let e=[];for(;s;)e.push(s),s=Object.getPrototypeOf(s);return e.reverse()}function ui(s,e){let t=s[e];return Array.isArray(t)?t:[]}function di(s,e){let t=s[e];return t?Object.keys(t).map(i=>[i,t[i]]):[]}var Et=class{constructor(e,t){this.started=!1,this.context=e,this.delegate=t,this.outletsByName=new Q,this.outletElementsByName=new Q,this.selectorObserverMap=new Map,this.attributeObserverMap=new Map}start(){this.started||(this.outletDefinitions.forEach(e=>{this.setupSelectorObserverForOutlet(e),this.setupAttributeObserverForOutlet(e)}),this.started=!0,this.dependentContexts.forEach(e=>e.refresh()))}refresh(){this.selectorObserverMap.forEach(e=>e.refresh()),this.attributeObserverMap.forEach(e=>e.refresh())}stop(){this.started&&(this.started=!1,this.disconnectAllOutlets(),this.stopSelectorObservers(),this.stopAttributeObservers())}stopSelectorObservers(){this.selectorObserverMap.size>0&&(this.selectorObserverMap.forEach(e=>e.stop()),this.selectorObserverMap.clear())}stopAttributeObservers(){this.attributeObserverMap.size>0&&(this.attributeObserverMap.forEach(e=>e.stop()),this.attributeObserverMap.clear())}selectorMatched(e,t,{outletName:i}){let n=this.getOutlet(e,i);n&&this.connectOutlet(n,e,i)}selectorUnmatched(e,t,{outletName:i}){let n=this.getOutletFromMap(e,i);n&&this.disconnectOutlet(n,e,i)}selectorMatchElement(e,{outletName:t}){let i=this.selector(t),n=this.hasOutlet(e,t),a=e.matches(`[${this.schema.controllerAttribute}~=${t}]`);return i?n&&a&&e.matches(i):!1}elementMatchedAttribute(e,t){let i=this.getOutletNameFromOutletAttributeName(t);i&&this.updateSelectorObserverForOutlet(i)}elementAttributeValueChanged(e,t){let i=this.getOutletNameFromOutletAttributeName(t);i&&this.updateSelectorObserverForOutlet(i)}elementUnmatchedAttribute(e,t){let i=this.getOutletNameFromOutletAttributeName(t);i&&this.updateSelectorObserverForOutlet(i)}connectOutlet(e,t,i){var n;this.outletElementsByName.has(i,t)||(this.outletsByName.add(i,e),this.outletElementsByName.add(i,t),(n=this.selectorObserverMap.get(i))===null||n===void 0||n.pause(()=>this.delegate.outletConnected(e,t,i)))}disconnectOutlet(e,t,i){var n;this.outletElementsByName.has(i,t)&&(this.outletsByName.delete(i,e),this.outletElementsByName.delete(i,t),(n=this.selectorObserverMap.get(i))===null||n===void 0||n.pause(()=>this.delegate.outletDisconnected(e,t,i)))}disconnectAllOutlets(){for(let e of this.outletElementsByName.keys)for(let t of this.outletElementsByName.getValuesForKey(e))for(let i of this.outletsByName.getValuesForKey(e))this.disconnectOutlet(i,t,e)}updateSelectorObserverForOutlet(e){let t=this.selectorObserverMap.get(e);t&&(t.selector=this.selector(e))}setupSelectorObserverForOutlet(e){let t=this.selector(e),i=new bt(document.body,t,this,{outletName:e});this.selectorObserverMap.set(e,i),i.start()}setupAttributeObserverForOutlet(e){let t=this.attributeNameForOutletName(e),i=new je(this.scope.element,t,this);this.attributeObserverMap.set(e,i),i.start()}selector(e){return this.scope.outlets.getSelectorForOutletName(e)}attributeNameForOutletName(e){return this.scope.schema.outletAttributeForScope(this.identifier,e)}getOutletNameFromOutletAttributeName(e){return this.outletDefinitions.find(t=>this.attributeNameForOutletName(t)===e)}get outletDependencies(){let e=new Q;return this.router.modules.forEach(t=>{let i=t.definition.controllerConstructor;Ee(i,"outlets").forEach(a=>e.add(a,t.identifier))}),e}get outletDefinitions(){return this.outletDependencies.getKeysForValue(this.identifier)}get dependentControllerIdentifiers(){return this.outletDependencies.getValuesForKey(this.identifier)}get dependentContexts(){let e=this.dependentControllerIdentifiers;return this.router.contexts.filter(t=>e.includes(t.identifier))}hasOutlet(e,t){return!!this.getOutlet(e,t)||!!this.getOutletFromMap(e,t)}getOutlet(e,t){return this.application.getControllerForElementAndIdentifier(e,t)}getOutletFromMap(e,t){return this.outletsByName.getValuesForKey(t).find(i=>i.element===e)}get scope(){return this.context.scope}get schema(){return this.context.schema}get identifier(){return this.context.identifier}get application(){return this.context.application}get router(){return this.application.router}},Ot=class{constructor(e,t){this.logDebugActivity=(i,n={})=>{let{identifier:a,controller:h,element:f}=this;n=Object.assign({identifier:a,controller:h,element:f},n),this.application.logDebugActivity(this.identifier,i,n)},this.module=e,this.scope=t,this.controller=new e.controllerConstructor(this),this.bindingObserver=new yt(this,this.dispatcher),this.valueObserver=new wt(this,this.controller),this.targetObserver=new xt(this,this),this.outletObserver=new Et(this,this);try{this.controller.initialize(),this.logDebugActivity("initialize")}catch(i){this.handleError(i,"initializing controller")}}connect(){this.bindingObserver.start(),this.valueObserver.start(),this.targetObserver.start(),this.outletObserver.start();try{this.controller.connect(),this.logDebugActivity("connect")}catch(e){this.handleError(e,"connecting controller")}}refresh(){this.outletObserver.refresh()}disconnect(){try{this.controller.disconnect(),this.logDebugActivity("disconnect")}catch(e){this.handleError(e,"disconnecting controller")}this.outletObserver.stop(),this.targetObserver.stop(),this.valueObserver.stop(),this.bindingObserver.stop()}get application(){return this.module.application}get identifier(){return this.module.identifier}get schema(){return this.application.schema}get dispatcher(){return this.application.dispatcher}get element(){return this.scope.element}get parentElement(){return this.element.parentElement}handleError(e,t,i={}){let{identifier:n,controller:a,element:h}=this;i=Object.assign({identifier:n,controller:a,element:h},i),this.application.handleError(e,`Error ${t}`,i)}targetConnected(e,t){this.invokeControllerMethod(`${t}TargetConnected`,e)}targetDisconnected(e,t){this.invokeControllerMethod(`${t}TargetDisconnected`,e)}outletConnected(e,t,i){this.invokeControllerMethod(`${ft(i)}OutletConnected`,e,t)}outletDisconnected(e,t,i){this.invokeControllerMethod(`${ft(i)}OutletDisconnected`,e,t)}invokeControllerMethod(e,...t){let i=this.controller;typeof i[e]=="function"&&i[e](...t)}};function fi(s){return pi(s,gi(s))}function pi(s,e){let t=yi(s),i=mi(s.prototype,e);return Object.defineProperties(t.prototype,i),t}function gi(s){return Ee(s,"blessings").reduce((t,i)=>{let n=i(s);for(let a in n){let h=t[a]||{};t[a]=Object.assign(h,n[a])}return t},{})}function mi(s,e){return vi(e).reduce((t,i)=>{let n=bi(s,e,i);return n&&Object.assign(t,{[i]:n}),t},{})}function bi(s,e,t){let i=Object.getOwnPropertyDescriptor(s,t);if(!(i&&"value"in i)){let a=Object.getOwnPropertyDescriptor(e,t).value;return i&&(a.get=i.get||a.get,a.set=i.set||a.set),a}}var vi=(()=>typeof Object.getOwnPropertySymbols=="function"?s=>[...Object.getOwnPropertyNames(s),...Object.getOwnPropertySymbols(s)]:Object.getOwnPropertyNames)(),yi=(()=>{function s(t){function i(){return Reflect.construct(t,arguments,new.target)}return i.prototype=Object.create(t.prototype,{constructor:{value:i}}),Reflect.setPrototypeOf(i,t),i}function e(){let i=s(function(){this.a.call(this)});return i.prototype.a=function(){},new i}try{return e(),s}catch(t){return i=>class extends i{}}})();function wi(s){return{identifier:s.identifier,controllerConstructor:fi(s.controllerConstructor)}}var At=class{constructor(e,t){this.application=e,this.definition=wi(t),this.contextsByScope=new WeakMap,this.connectedContexts=new Set}get identifier(){return this.definition.identifier}get controllerConstructor(){return this.definition.controllerConstructor}get contexts(){return Array.from(this.connectedContexts)}connectContextForScope(e){let t=this.fetchContextForScope(e);this.connectedContexts.add(t),t.connect()}disconnectContextForScope(e){let t=this.contextsByScope.get(e);t&&(this.connectedContexts.delete(t),t.disconnect())}fetchContextForScope(e){let t=this.contextsByScope.get(e);return t||(t=new Ot(this,e),this.contextsByScope.set(e,t)),t}},Tt=class{constructor(e){this.scope=e}has(e){return this.data.has(this.getDataKey(e))}get(e){return this.getAll(e)[0]}getAll(e){let t=this.data.get(this.getDataKey(e))||"";return ti(t)}getAttributeName(e){return this.data.getAttributeNameForKey(this.getDataKey(e))}getDataKey(e){return`${e}-class`}get data(){return this.scope.data}},Ct=class{constructor(e){this.scope=e}get element(){return this.scope.element}get identifier(){return this.scope.identifier}get(e){let t=this.getAttributeNameForKey(e);return this.element.getAttribute(t)}set(e,t){let i=this.getAttributeNameForKey(e);return this.element.setAttribute(i,t),this.get(e)}has(e){let t=this.getAttributeNameForKey(e);return this.element.hasAttribute(t)}delete(e){if(this.has(e)){let t=this.getAttributeNameForKey(e);return this.element.removeAttribute(t),!0}else return!1}getAttributeNameForKey(e){return`data-${this.identifier}-${rs(e)}`}},St=class{constructor(e){this.warnedKeysByObject=new WeakMap,this.logger=e}warn(e,t,i){let n=this.warnedKeysByObject.get(e);n||(n=new Set,this.warnedKeysByObject.set(e,n)),n.has(t)||(n.add(t),this.logger.warn(i,e))}};function Lt(s,e){return`[${s}~="${e}"]`}var Ft=class{constructor(e){this.scope=e}get element(){return this.scope.element}get identifier(){return this.scope.identifier}get schema(){return this.scope.schema}has(e){return this.find(e)!=null}find(...e){return e.reduce((t,i)=>t||this.findTarget(i)||this.findLegacyTarget(i),void 0)}findAll(...e){return e.reduce((t,i)=>[...t,...this.findAllTargets(i),...this.findAllLegacyTargets(i)],[])}findTarget(e){let t=this.getSelectorForTargetName(e);return this.scope.findElement(t)}findAllTargets(e){let t=this.getSelectorForTargetName(e);return this.scope.findAllElements(t)}getSelectorForTargetName(e){let t=this.schema.targetAttributeForScope(this.identifier);return Lt(t,e)}findLegacyTarget(e){let t=this.getLegacySelectorForTargetName(e);return this.deprecate(this.scope.findElement(t),e)}findAllLegacyTargets(e){let t=this.getLegacySelectorForTargetName(e);return this.scope.findAllElements(t).map(i=>this.deprecate(i,e))}getLegacySelectorForTargetName(e){let t=`${this.identifier}.${e}`;return Lt(this.schema.targetAttribute,t)}deprecate(e,t){if(e){let{identifier:i}=this,n=this.schema.targetAttribute,a=this.schema.targetAttributeForScope(i);this.guide.warn(e,`target:${t}`,`Please replace ${n}="${i}.${t}" with ${a}="${t}". The ${n} attribute is deprecated and will be removed in a future version of Stimulus.`)}return e}get guide(){return this.scope.guide}},Mt=class{constructor(e,t){this.scope=e,this.controllerElement=t}get element(){return this.scope.element}get identifier(){return this.scope.identifier}get schema(){return this.scope.schema}has(e){return this.find(e)!=null}find(...e){return e.reduce((t,i)=>t||this.findOutlet(i),void 0)}findAll(...e){return e.reduce((t,i)=>[...t,...this.findAllOutlets(i)],[])}getSelectorForOutletName(e){let t=this.schema.outletAttributeForScope(this.identifier,e);return this.controllerElement.getAttribute(t)}findOutlet(e){let t=this.getSelectorForOutletName(e);if(t)return this.findElement(t,e)}findAllOutlets(e){let t=this.getSelectorForOutletName(e);return t?this.findAllElements(t,e):[]}findElement(e,t){return this.scope.queryElements(e).filter(n=>this.matchesElement(n,e,t))[0]}findAllElements(e,t){return this.scope.queryElements(e).filter(n=>this.matchesElement(n,e,t))}matchesElement(e,t,i){let n=e.getAttribute(this.scope.schema.controllerAttribute)||"";return e.matches(t)&&n.split(" ").includes(i)}},ye=class{constructor(e,t,i,n){this.targets=new Ft(this),this.classes=new Tt(this),this.data=new Ct(this),this.containsElement=a=>a.closest(this.controllerSelector)===this.element,this.schema=e,this.element=t,this.identifier=i,this.guide=new St(n),this.outlets=new Mt(this.documentScope,t)}findElement(e){return this.element.matches(e)?this.element:this.queryElements(e).find(this.containsElement)}findAllElements(e){return[...this.element.matches(e)?[this.element]:[],...this.queryElements(e).filter(this.containsElement)]}queryElements(e){return Array.from(this.element.querySelectorAll(e))}get controllerSelector(){return Lt(this.schema.controllerAttribute,this.identifier)}get isDocumentScope(){return this.element===document.documentElement}get documentScope(){return this.isDocumentScope?this:new ye(this.schema,document.documentElement,this.identifier,this.guide.logger)}},Nt=class{constructor(e,t,i){this.element=e,this.schema=t,this.delegate=i,this.valueListObserver=new He(this.element,this.controllerAttribute,this),this.scopesByIdentifierByElement=new WeakMap,this.scopeReferenceCounts=new WeakMap}start(){this.valueListObserver.start()}stop(){this.valueListObserver.stop()}get controllerAttribute(){return this.schema.controllerAttribute}parseValueForToken(e){let{element:t,content:i}=e;return this.parseValueForElementAndIdentifier(t,i)}parseValueForElementAndIdentifier(e,t){let i=this.fetchScopesByIdentifierForElement(e),n=i.get(t);return n||(n=this.delegate.createScopeForElementAndIdentifier(e,t),i.set(t,n)),n}elementMatchedValue(e,t){let i=(this.scopeReferenceCounts.get(t)||0)+1;this.scopeReferenceCounts.set(t,i),i==1&&this.delegate.scopeConnected(t)}elementUnmatchedValue(e,t){let i=this.scopeReferenceCounts.get(t);i&&(this.scopeReferenceCounts.set(t,i-1),i==1&&this.delegate.scopeDisconnected(t))}fetchScopesByIdentifierForElement(e){let t=this.scopesByIdentifierByElement.get(e);return t||(t=new Map,this.scopesByIdentifierByElement.set(e,t)),t}},$t=class{constructor(e){this.application=e,this.scopeObserver=new Nt(this.element,this.schema,this),this.scopesByIdentifier=new Q,this.modulesByIdentifier=new Map}get element(){return this.application.element}get schema(){return this.application.schema}get logger(){return this.application.logger}get controllerAttribute(){return this.schema.controllerAttribute}get modules(){return Array.from(this.modulesByIdentifier.values())}get contexts(){return this.modules.reduce((e,t)=>e.concat(t.contexts),[])}start(){this.scopeObserver.start()}stop(){this.scopeObserver.stop()}loadDefinition(e){this.unloadIdentifier(e.identifier);let t=new At(this.application,e);this.connectModule(t);let i=e.controllerConstructor.afterLoad;i&&i.call(e.controllerConstructor,e.identifier,this.application)}unloadIdentifier(e){let t=this.modulesByIdentifier.get(e);t&&this.disconnectModule(t)}getContextForElementAndIdentifier(e,t){let i=this.modulesByIdentifier.get(t);if(i)return i.contexts.find(n=>n.element==e)}proposeToConnectScopeForElementAndIdentifier(e,t){let i=this.scopeObserver.parseValueForElementAndIdentifier(e,t);i?this.scopeObserver.elementMatchedValue(i.element,i):console.error(`Couldn't find or create scope for identifier: "${t}" and element:`,e)}handleError(e,t,i){this.application.handleError(e,t,i)}createScopeForElementAndIdentifier(e,t){return new ye(this.schema,e,t,this.logger)}scopeConnected(e){this.scopesByIdentifier.add(e.identifier,e);let t=this.modulesByIdentifier.get(e.identifier);t&&t.connectContextForScope(e)}scopeDisconnected(e){this.scopesByIdentifier.delete(e.identifier,e);let t=this.modulesByIdentifier.get(e.identifier);t&&t.disconnectContextForScope(e)}connectModule(e){this.modulesByIdentifier.set(e.identifier,e),this.scopesByIdentifier.getValuesForKey(e.identifier).forEach(i=>e.connectContextForScope(i))}disconnectModule(e){this.modulesByIdentifier.delete(e.identifier),this.scopesByIdentifier.getValuesForKey(e.identifier).forEach(i=>e.disconnectContextForScope(i))}},xi={controllerAttribute:"data-controller",actionAttribute:"data-action",targetAttribute:"data-target",targetAttributeForScope:s=>`data-${s}-target`,outletAttributeForScope:(s,e)=>`data-${s}-${e}-outlet`,keyMappings:Object.assign(Object.assign({enter:"Enter",tab:"Tab",esc:"Escape",space:" ",up:"ArrowUp",down:"ArrowDown",left:"ArrowLeft",right:"ArrowRight",home:"Home",end:"End",page_up:"PageUp",page_down:"PageDown"},Zt("abcdefghijklmnopqrstuvwxyz".split("").map(s=>[s,s]))),Zt("0123456789".split("").map(s=>[s,s])))};function Zt(s){return s.reduce((e,[t,i])=>Object.assign(Object.assign({},e),{[t]:i}),{})}var Ue=class{constructor(e=document.documentElement,t=xi){this.logger=console,this.debug=!1,this.logDebugActivity=(i,n,a={})=>{this.debug&&this.logFormattedMessage(i,n,a)},this.element=e,this.schema=t,this.dispatcher=new dt(this),this.router=new $t(this),this.actionDescriptorFilters=Object.assign({},Js)}static start(e,t){let i=new this(e,t);return i.start(),i}start(){return F(this,null,function*(){yield Ei(),this.logDebugActivity("application","starting"),this.dispatcher.start(),this.router.start(),this.logDebugActivity("application","start")})}stop(){this.logDebugActivity("application","stopping"),this.dispatcher.stop(),this.router.stop(),this.logDebugActivity("application","stop")}register(e,t){this.load({identifier:e,controllerConstructor:t})}registerActionOption(e,t){this.actionDescriptorFilters[e]=t}load(e,...t){(Array.isArray(e)?e:[e,...t]).forEach(n=>{n.controllerConstructor.shouldLoad&&this.router.loadDefinition(n)})}unload(e,...t){(Array.isArray(e)?e:[e,...t]).forEach(n=>this.router.unloadIdentifier(n))}get controllers(){return this.router.contexts.map(e=>e.controller)}getControllerForElementAndIdentifier(e,t){let i=this.router.getContextForElementAndIdentifier(e,t);return i?i.controller:null}handleError(e,t,i){var n;this.logger.error(`%s
2
2
 
3
3
  %o
4
4
 
5
- %o`,t,e,s),(o=window.onerror)===null||o===void 0||o.call(window,t,"",0,0,e)}logFormattedMessage(e,t,s={}){s=Object.assign({application:this},s),this.logger.groupCollapsed(`${e} #${t}`),this.logger.log("details:",Object.assign({},s)),this.logger.groupEnd()}};function Ut(){return new Promise(r=>{document.readyState=="loading"?document.addEventListener("DOMContentLoaded",()=>r()):r()})}function qt(r){return z(r,"classes").reduce((t,s)=>Object.assign(t,Rt(s)),{})}function Rt(r){return{[`${r}Class`]:{get(){let{classes:e}=this;if(e.has(r))return e.get(r);{let t=e.getAttributeName(r);throw new Error(`Missing attribute "${t}"`)}}},[`${r}Classes`]:{get(){return this.classes.getAll(r)}},[`has${K(r)}Class`]:{get(){return this.classes.has(r)}}}}function Kt(r){return z(r,"outlets").reduce((t,s)=>Object.assign(t,zt(s)),{})}function We(r,e,t){return r.application.getControllerForElementAndIdentifier(e,t)}function He(r,e,t){let s=We(r,e,t);if(s||(r.application.router.proposeToConnectScopeForElementAndIdentifier(e,t),s=We(r,e,t),s))return s}function zt(r){let e=ue(r);return{[`${e}Outlet`]:{get(){let t=this.outlets.find(r),s=this.outlets.getSelectorForOutletName(r);if(t){let o=He(this,t,r);if(o)return o;throw new Error(`The provided outlet element is missing an outlet controller "${r}" instance for host controller "${this.identifier}"`)}throw new Error(`Missing outlet element "${r}" for host controller "${this.identifier}". Stimulus couldn't find a matching outlet element using selector "${s}".`)}},[`${e}Outlets`]:{get(){let t=this.outlets.findAll(r);return t.length>0?t.map(s=>{let o=He(this,s,r);if(o)return o;console.warn(`The provided outlet element is missing an outlet controller "${r}" instance for host controller "${this.identifier}"`,s)}).filter(s=>s):[]}},[`${e}OutletElement`]:{get(){let t=this.outlets.find(r),s=this.outlets.getSelectorForOutletName(r);if(t)return t;throw new Error(`Missing outlet element "${r}" for host controller "${this.identifier}". Stimulus couldn't find a matching outlet element using selector "${s}".`)}},[`${e}OutletElements`]:{get(){return this.outlets.findAll(r)}},[`has${K(e)}Outlet`]:{get(){return this.outlets.has(r)}}}}function Wt(r){return z(r,"targets").reduce((t,s)=>Object.assign(t,Ht(s)),{})}function Ht(r){return{[`${r}Target`]:{get(){let e=this.targets.find(r);if(e)return e;throw new Error(`Missing target element "${r}" for "${this.identifier}" controller`)}},[`${r}Targets`]:{get(){return this.targets.findAll(r)}},[`has${K(r)}Target`]:{get(){return this.targets.has(r)}}}}function Jt(r){let e=St(r,"values"),t={valueDescriptorMap:{get(){return e.reduce((s,o)=>{let h=et(o,this.identifier),d=this.data.getAttributeNameForKey(h.key);return Object.assign(s,{[d]:h})},{})}}};return e.reduce((s,o)=>Object.assign(s,Xt(o)),t)}function Xt(r,e){let t=et(r,e),{key:s,name:o,reader:h,writer:d}=t;return{[o]:{get(){let f=this.data.get(s);return f!==null?h(f):t.defaultValue},set(f){f===void 0?this.data.delete(s):this.data.set(s,d(f))}},[`has${K(o)}`]:{get(){return this.data.has(s)||t.hasCustomDefaultValue}}}}function et([r,e],t){return Zt({controller:t,token:r,typeDefinition:e})}function ne(r){switch(r){case Array:return"array";case Boolean:return"boolean";case Number:return"number";case Object:return"object";case String:return"string"}}function R(r){switch(typeof r){case"boolean":return"boolean";case"number":return"number";case"string":return"string"}if(Array.isArray(r))return"array";if(Object.prototype.toString.call(r)==="[object Object]")return"object"}function Qt(r){let{controller:e,token:t,typeObject:s}=r,o=qe(s.type),h=qe(s.default),d=o&&h,f=o&&!h,g=!o&&h,v=ne(s.type),w=R(r.typeObject.default);if(f)return v;if(g)return w;if(v!==w){let B=e?`${e}.${t}`:t;throw new Error(`The specified default value for the Stimulus Value "${B}" must match the defined type "${v}". The provided default value of "${s.default}" is of type "${w}".`)}if(d)return v}function Gt(r){let{controller:e,token:t,typeDefinition:s}=r,h=Qt({controller:e,token:t,typeObject:s}),d=R(s),f=ne(s),g=h||d||f;if(g)return g;let v=e?`${e}.${s}`:t;throw new Error(`Unknown value type "${v}" for "${t}" value`)}function Yt(r){let e=ne(r);if(e)return Je[e];let t=de(r,"default"),s=de(r,"type"),o=r;if(t)return o.default;if(s){let{type:h}=o,d=ne(h);if(d)return Je[d]}return r}function Zt(r){let{token:e,typeDefinition:t}=r,s=`${Ge(e)}-value`,o=Gt(r);return{type:o,key:s,name:Ne(s),get defaultValue(){return Yt(t)},get hasCustomDefaultValue(){return R(t)!==void 0},reader:es[o],writer:Xe[o]||Xe.default}}var Je={get array(){return[]},boolean:!1,number:0,get object(){return{}},string:""},es={array(r){let e=JSON.parse(r);if(!Array.isArray(e))throw new TypeError(`expected value of type "array" but instead got value "${r}" of type "${R(e)}"`);return e},boolean(r){return!(r=="0"||String(r).toLowerCase()=="false")},number(r){return Number(r.replace(/_/g,""))},object(r){let e=JSON.parse(r);if(e===null||typeof e!="object"||Array.isArray(e))throw new TypeError(`expected value of type "object" but instead got value "${r}" of type "${R(e)}"`);return e},string(r){return r}},Xe={default:ts,array:Qe,object:Qe};function Qe(r){return JSON.stringify(r)}function ts(r){return`${r}`}var p=class{constructor(e){this.context=e}static get shouldLoad(){return!0}static afterLoad(e,t){}get application(){return this.context.application}get scope(){return this.context.scope}get element(){return this.scope.element}get identifier(){return this.scope.identifier}get targets(){return this.scope.targets}get outlets(){return this.scope.outlets}get classes(){return this.scope.classes}get data(){return this.scope.data}initialize(){}connect(){}disconnect(){}dispatch(e,{target:t=this.element,detail:s={},prefix:o=this.identifier,bubbles:h=!0,cancelable:d=!0}={}){let f=o?`${o}:${e}`:e,g=new CustomEvent(f,{detail:s,bubbles:h,cancelable:d});return t.dispatchEvent(g),g}};p.blessings=[qt,Wt,Jt,Kt];p.targets=[];p.outlets=[];p.values={};var rt={exports:{}};(function(r,e){(function(t){r.exports=t()})(function(t){var s=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];function o(u,l){var n=u[0],i=u[1],c=u[2],a=u[3];n+=(i&c|~i&a)+l[0]-680876936|0,n=(n<<7|n>>>25)+i|0,a+=(n&i|~n&c)+l[1]-389564586|0,a=(a<<12|a>>>20)+n|0,c+=(a&n|~a&i)+l[2]+606105819|0,c=(c<<17|c>>>15)+a|0,i+=(c&a|~c&n)+l[3]-1044525330|0,i=(i<<22|i>>>10)+c|0,n+=(i&c|~i&a)+l[4]-176418897|0,n=(n<<7|n>>>25)+i|0,a+=(n&i|~n&c)+l[5]+1200080426|0,a=(a<<12|a>>>20)+n|0,c+=(a&n|~a&i)+l[6]-1473231341|0,c=(c<<17|c>>>15)+a|0,i+=(c&a|~c&n)+l[7]-45705983|0,i=(i<<22|i>>>10)+c|0,n+=(i&c|~i&a)+l[8]+1770035416|0,n=(n<<7|n>>>25)+i|0,a+=(n&i|~n&c)+l[9]-1958414417|0,a=(a<<12|a>>>20)+n|0,c+=(a&n|~a&i)+l[10]-42063|0,c=(c<<17|c>>>15)+a|0,i+=(c&a|~c&n)+l[11]-1990404162|0,i=(i<<22|i>>>10)+c|0,n+=(i&c|~i&a)+l[12]+1804603682|0,n=(n<<7|n>>>25)+i|0,a+=(n&i|~n&c)+l[13]-40341101|0,a=(a<<12|a>>>20)+n|0,c+=(a&n|~a&i)+l[14]-1502002290|0,c=(c<<17|c>>>15)+a|0,i+=(c&a|~c&n)+l[15]+1236535329|0,i=(i<<22|i>>>10)+c|0,n+=(i&a|c&~a)+l[1]-165796510|0,n=(n<<5|n>>>27)+i|0,a+=(n&c|i&~c)+l[6]-1069501632|0,a=(a<<9|a>>>23)+n|0,c+=(a&i|n&~i)+l[11]+643717713|0,c=(c<<14|c>>>18)+a|0,i+=(c&n|a&~n)+l[0]-373897302|0,i=(i<<20|i>>>12)+c|0,n+=(i&a|c&~a)+l[5]-701558691|0,n=(n<<5|n>>>27)+i|0,a+=(n&c|i&~c)+l[10]+38016083|0,a=(a<<9|a>>>23)+n|0,c+=(a&i|n&~i)+l[15]-660478335|0,c=(c<<14|c>>>18)+a|0,i+=(c&n|a&~n)+l[4]-405537848|0,i=(i<<20|i>>>12)+c|0,n+=(i&a|c&~a)+l[9]+568446438|0,n=(n<<5|n>>>27)+i|0,a+=(n&c|i&~c)+l[14]-1019803690|0,a=(a<<9|a>>>23)+n|0,c+=(a&i|n&~i)+l[3]-187363961|0,c=(c<<14|c>>>18)+a|0,i+=(c&n|a&~n)+l[8]+1163531501|0,i=(i<<20|i>>>12)+c|0,n+=(i&a|c&~a)+l[13]-1444681467|0,n=(n<<5|n>>>27)+i|0,a+=(n&c|i&~c)+l[2]-51403784|0,a=(a<<9|a>>>23)+n|0,c+=(a&i|n&~i)+l[7]+1735328473|0,c=(c<<14|c>>>18)+a|0,i+=(c&n|a&~n)+l[12]-1926607734|0,i=(i<<20|i>>>12)+c|0,n+=(i^c^a)+l[5]-378558|0,n=(n<<4|n>>>28)+i|0,a+=(n^i^c)+l[8]-2022574463|0,a=(a<<11|a>>>21)+n|0,c+=(a^n^i)+l[11]+1839030562|0,c=(c<<16|c>>>16)+a|0,i+=(c^a^n)+l[14]-35309556|0,i=(i<<23|i>>>9)+c|0,n+=(i^c^a)+l[1]-1530992060|0,n=(n<<4|n>>>28)+i|0,a+=(n^i^c)+l[4]+1272893353|0,a=(a<<11|a>>>21)+n|0,c+=(a^n^i)+l[7]-155497632|0,c=(c<<16|c>>>16)+a|0,i+=(c^a^n)+l[10]-1094730640|0,i=(i<<23|i>>>9)+c|0,n+=(i^c^a)+l[13]+681279174|0,n=(n<<4|n>>>28)+i|0,a+=(n^i^c)+l[0]-358537222|0,a=(a<<11|a>>>21)+n|0,c+=(a^n^i)+l[3]-722521979|0,c=(c<<16|c>>>16)+a|0,i+=(c^a^n)+l[6]+76029189|0,i=(i<<23|i>>>9)+c|0,n+=(i^c^a)+l[9]-640364487|0,n=(n<<4|n>>>28)+i|0,a+=(n^i^c)+l[12]-421815835|0,a=(a<<11|a>>>21)+n|0,c+=(a^n^i)+l[15]+530742520|0,c=(c<<16|c>>>16)+a|0,i+=(c^a^n)+l[2]-995338651|0,i=(i<<23|i>>>9)+c|0,n+=(c^(i|~a))+l[0]-198630844|0,n=(n<<6|n>>>26)+i|0,a+=(i^(n|~c))+l[7]+1126891415|0,a=(a<<10|a>>>22)+n|0,c+=(n^(a|~i))+l[14]-1416354905|0,c=(c<<15|c>>>17)+a|0,i+=(a^(c|~n))+l[5]-57434055|0,i=(i<<21|i>>>11)+c|0,n+=(c^(i|~a))+l[12]+1700485571|0,n=(n<<6|n>>>26)+i|0,a+=(i^(n|~c))+l[3]-1894986606|0,a=(a<<10|a>>>22)+n|0,c+=(n^(a|~i))+l[10]-1051523|0,c=(c<<15|c>>>17)+a|0,i+=(a^(c|~n))+l[1]-2054922799|0,i=(i<<21|i>>>11)+c|0,n+=(c^(i|~a))+l[8]+1873313359|0,n=(n<<6|n>>>26)+i|0,a+=(i^(n|~c))+l[15]-30611744|0,a=(a<<10|a>>>22)+n|0,c+=(n^(a|~i))+l[6]-1560198380|0,c=(c<<15|c>>>17)+a|0,i+=(a^(c|~n))+l[13]+1309151649|0,i=(i<<21|i>>>11)+c|0,n+=(c^(i|~a))+l[4]-145523070|0,n=(n<<6|n>>>26)+i|0,a+=(i^(n|~c))+l[11]-1120210379|0,a=(a<<10|a>>>22)+n|0,c+=(n^(a|~i))+l[2]+718787259|0,c=(c<<15|c>>>17)+a|0,i+=(a^(c|~n))+l[9]-343485551|0,i=(i<<21|i>>>11)+c|0,u[0]=n+u[0]|0,u[1]=i+u[1]|0,u[2]=c+u[2]|0,u[3]=a+u[3]|0}function h(u){var l=[],n;for(n=0;n<64;n+=4)l[n>>2]=u.charCodeAt(n)+(u.charCodeAt(n+1)<<8)+(u.charCodeAt(n+2)<<16)+(u.charCodeAt(n+3)<<24);return l}function d(u){var l=[],n;for(n=0;n<64;n+=4)l[n>>2]=u[n]+(u[n+1]<<8)+(u[n+2]<<16)+(u[n+3]<<24);return l}function f(u){var l=u.length,n=[1732584193,-271733879,-1732584194,271733878],i,c,a,E,A,m;for(i=64;i<=l;i+=64)o(n,h(u.substring(i-64,i)));for(u=u.substring(i-64),c=u.length,a=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],i=0;i<c;i+=1)a[i>>2]|=u.charCodeAt(i)<<(i%4<<3);if(a[i>>2]|=128<<(i%4<<3),i>55)for(o(n,a),i=0;i<16;i+=1)a[i]=0;return E=l*8,E=E.toString(16).match(/(.*?)(.{0,8})$/),A=parseInt(E[2],16),m=parseInt(E[1],16)||0,a[14]=A,a[15]=m,o(n,a),n}function g(u){var l=u.length,n=[1732584193,-271733879,-1732584194,271733878],i,c,a,E,A,m;for(i=64;i<=l;i+=64)o(n,d(u.subarray(i-64,i)));for(u=i-64<l?u.subarray(i-64):new Uint8Array(0),c=u.length,a=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],i=0;i<c;i+=1)a[i>>2]|=u[i]<<(i%4<<3);if(a[i>>2]|=128<<(i%4<<3),i>55)for(o(n,a),i=0;i<16;i+=1)a[i]=0;return E=l*8,E=E.toString(16).match(/(.*?)(.{0,8})$/),A=parseInt(E[2],16),m=parseInt(E[1],16)||0,a[14]=A,a[15]=m,o(n,a),n}function v(u){var l="",n;for(n=0;n<4;n+=1)l+=s[u>>n*8+4&15]+s[u>>n*8&15];return l}function w(u){var l;for(l=0;l<u.length;l+=1)u[l]=v(u[l]);return u.join("")}w(f("hello")),typeof ArrayBuffer!="undefined"&&!ArrayBuffer.prototype.slice&&function(){function u(l,n){return l=l|0||0,l<0?Math.max(l+n,0):Math.min(l,n)}ArrayBuffer.prototype.slice=function(l,n){var i=this.byteLength,c=u(l,i),a=i,E,A,m,O;return n!==t&&(a=u(n,i)),c>a?new ArrayBuffer(0):(E=a-c,A=new ArrayBuffer(E),m=new Uint8Array(A),O=new Uint8Array(this,c,E),m.set(O),A)}}();function B(u){return/[\u0080-\uFFFF]/.test(u)&&(u=unescape(encodeURIComponent(u))),u}function x(u,l){var n=u.length,i=new ArrayBuffer(n),c=new Uint8Array(i),a;for(a=0;a<n;a+=1)c[a]=u.charCodeAt(a);return l?c:i}function Y(u){return String.fromCharCode.apply(null,new Uint8Array(u))}function k(u,l,n){var i=new Uint8Array(u.byteLength+l.byteLength);return i.set(new Uint8Array(u)),i.set(new Uint8Array(l),u.byteLength),n?i:i.buffer}function N(u){var l=[],n=u.length,i;for(i=0;i<n-1;i+=2)l.push(parseInt(u.substr(i,2),16));return String.fromCharCode.apply(String,l)}function b(){this.reset()}return b.prototype.append=function(u){return this.appendBinary(B(u)),this},b.prototype.appendBinary=function(u){this._buff+=u,this._length+=u.length;var l=this._buff.length,n;for(n=64;n<=l;n+=64)o(this._hash,h(this._buff.substring(n-64,n)));return this._buff=this._buff.substring(n-64),this},b.prototype.end=function(u){var l=this._buff,n=l.length,i,c=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],a;for(i=0;i<n;i+=1)c[i>>2]|=l.charCodeAt(i)<<(i%4<<3);return this._finish(c,n),a=w(this._hash),u&&(a=N(a)),this.reset(),a},b.prototype.reset=function(){return this._buff="",this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},b.prototype.getState=function(){return{buff:this._buff,length:this._length,hash:this._hash.slice()}},b.prototype.setState=function(u){return this._buff=u.buff,this._length=u.length,this._hash=u.hash,this},b.prototype.destroy=function(){delete this._hash,delete this._buff,delete this._length},b.prototype._finish=function(u,l){var n=l,i,c,a;if(u[n>>2]|=128<<(n%4<<3),n>55)for(o(this._hash,u),n=0;n<16;n+=1)u[n]=0;i=this._length*8,i=i.toString(16).match(/(.*?)(.{0,8})$/),c=parseInt(i[2],16),a=parseInt(i[1],16)||0,u[14]=c,u[15]=a,o(this._hash,u)},b.hash=function(u,l){return b.hashBinary(B(u),l)},b.hashBinary=function(u,l){var n=f(u),i=w(n);return l?N(i):i},b.ArrayBuffer=function(){this.reset()},b.ArrayBuffer.prototype.append=function(u){var l=k(this._buff.buffer,u,!0),n=l.length,i;for(this._length+=u.byteLength,i=64;i<=n;i+=64)o(this._hash,d(l.subarray(i-64,i)));return this._buff=i-64<n?new Uint8Array(l.buffer.slice(i-64)):new Uint8Array(0),this},b.ArrayBuffer.prototype.end=function(u){var l=this._buff,n=l.length,i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],c,a;for(c=0;c<n;c+=1)i[c>>2]|=l[c]<<(c%4<<3);return this._finish(i,n),a=w(this._hash),u&&(a=N(a)),this.reset(),a},b.ArrayBuffer.prototype.reset=function(){return this._buff=new Uint8Array(0),this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},b.ArrayBuffer.prototype.getState=function(){var u=b.prototype.getState.call(this);return u.buff=Y(u.buff),u},b.ArrayBuffer.prototype.setState=function(u){return u.buff=x(u.buff,!0),b.prototype.setState.call(this,u)},b.ArrayBuffer.prototype.destroy=b.prototype.destroy,b.ArrayBuffer.prototype._finish=b.prototype._finish,b.ArrayBuffer.hash=function(u,l){var n=g(new Uint8Array(u)),i=w(n);return l?N(i):i},b})})(rt);var ss=rt.exports,rs=File.prototype.slice||File.prototype.mozSlice||File.prototype.webkitSlice,W=class{static create(e,t){new W(e).create(t)}constructor(e){this.file=e,this.chunkSize=2097152,this.chunkCount=Math.ceil(this.file.size/this.chunkSize),this.chunkIndex=0}create(e){this.callback=e,this.md5Buffer=new ss.ArrayBuffer,this.fileReader=new FileReader,this.fileReader.addEventListener("load",t=>this.fileReaderDidLoad(t)),this.fileReader.addEventListener("error",t=>this.fileReaderDidError(t)),this.readNextChunk()}fileReaderDidLoad(e){if(this.md5Buffer.append(e.target.result),!this.readNextChunk()){let t=this.md5Buffer.end(!0),s=btoa(t);this.callback(null,s)}}fileReaderDidError(e){this.callback(`Error reading ${this.file.name}`)}readNextChunk(){if(this.chunkIndex<this.chunkCount||this.chunkIndex==0&&this.chunkCount==0){let e=this.chunkIndex*this.chunkSize,t=Math.min(e+this.chunkSize,this.file.size),s=rs.call(this.file,e,t);return this.fileReader.readAsArrayBuffer(s),this.chunkIndex++,!0}else return!1}};function is(r){let e=it(document.head,`meta[name="${r}"]`);if(e)return e.getAttribute("content")}function ns(r,e){typeof r=="string"&&(e=r,r=document);let t=r.querySelectorAll(e);return ot(t)}function it(r,e){return typeof r=="string"&&(e=r,r=document),r.querySelector(e)}function nt(r,e,t={}){let{disabled:s}=r,{bubbles:o,cancelable:h,detail:d}=t,f=document.createEvent("Event");f.initEvent(e,o||!0,h||!0),f.detail=d||{};try{r.disabled=!1,r.dispatchEvent(f)}finally{r.disabled=s}return f}function ot(r){return Array.isArray(r)?r:Array.from?Array.from(r):[].slice.call(r)}var $e=class{constructor(e,t,s,o={}){this.file=e,this.attributes={filename:e.name,content_type:e.type||"application/octet-stream",byte_size:e.size,checksum:t},this.xhr=new XMLHttpRequest,this.xhr.open("POST",s,!0),this.xhr.responseType="json",this.xhr.setRequestHeader("Content-Type","application/json"),this.xhr.setRequestHeader("Accept","application/json"),this.xhr.setRequestHeader("X-Requested-With","XMLHttpRequest"),Object.keys(o).forEach(d=>{this.xhr.setRequestHeader(d,o[d])});let h=is("csrf-token");h!=null&&this.xhr.setRequestHeader("X-CSRF-Token",h),this.xhr.addEventListener("load",d=>this.requestDidLoad(d)),this.xhr.addEventListener("error",d=>this.requestDidError(d))}get status(){return this.xhr.status}get response(){let{responseType:e,response:t}=this.xhr;return e=="json"?t:JSON.parse(t)}create(e){this.callback=e,this.xhr.send(JSON.stringify({blob:this.attributes}))}requestDidLoad(e){if(this.status>=200&&this.status<300){let{response:t}=this,{direct_upload:s}=t;delete t.direct_upload,this.attributes=t,this.directUploadData=s,this.callback(null,this.toJSON())}else this.requestDidError(e)}requestDidError(e){this.callback(`Error creating Blob for "${this.file.name}". Status: ${this.status}`)}toJSON(){let e={};for(let t in this.attributes)e[t]=this.attributes[t];return e}},De=class{constructor(e){this.blob=e,this.file=e.file;let{url:t,headers:s}=e.directUploadData;this.xhr=new XMLHttpRequest,this.xhr.open("PUT",t,!0),this.xhr.responseType="text";for(let o in s)this.xhr.setRequestHeader(o,s[o]);this.xhr.addEventListener("load",o=>this.requestDidLoad(o)),this.xhr.addEventListener("error",o=>this.requestDidError(o))}create(e){this.callback=e,this.xhr.send(this.file.slice())}requestDidLoad(e){let{status:t,response:s}=this.xhr;t>=200&&t<300?this.callback(null,s):this.requestDidError(e)}requestDidError(e){this.callback(`Error storing "${this.file.name}". Status: ${this.xhr.status}`)}},os=0,H=class{constructor(e,t,s,o={}){this.id=++os,this.file=e,this.url=t,this.delegate=s,this.customHeaders=o}create(e){W.create(this.file,(t,s)=>{if(t){e(t);return}let o=new $e(this.file,s,this.url,this.customHeaders);tt(this.delegate,"directUploadWillCreateBlobWithXHR",o.xhr),o.create(h=>{if(h)e(h);else{let d=new De(o);tt(this.delegate,"directUploadWillStoreFileWithXHR",d.xhr),d.create(f=>{f?e(f):e(null,o.toJSON())})}})})}};function tt(r,e,...t){if(r&&typeof r[e]=="function")return r[e](...t)}var ke=class{constructor(e,t){this.input=e,this.file=t,this.directUpload=new H(this.file,this.url,this),this.dispatch("initialize")}start(e){let t=document.createElement("input");t.type="hidden",t.name=this.input.name,this.input.insertAdjacentElement("beforebegin",t),this.dispatch("start"),this.directUpload.create((s,o)=>{s?(t.parentNode.removeChild(t),this.dispatchError(s)):t.value=o.signed_id,this.dispatch("end"),e(s)})}uploadRequestDidProgress(e){let t=e.loaded/e.total*100;t&&this.dispatch("progress",{progress:t})}get url(){return this.input.getAttribute("data-direct-upload-url")}dispatch(e,t={}){return t.file=this.file,t.id=this.directUpload.id,nt(this.input,`direct-upload:${e}`,{detail:t})}dispatchError(e){this.dispatch("error",{error:e}).defaultPrevented||alert(e)}directUploadWillCreateBlobWithXHR(e){this.dispatch("before-blob-request",{xhr:e})}directUploadWillStoreFileWithXHR(e){this.dispatch("before-storage-request",{xhr:e}),e.upload.addEventListener("progress",t=>this.uploadRequestDidProgress(t))}},as="input[type=file][data-direct-upload-url]:not([disabled])",je=class{constructor(e){this.form=e,this.inputs=ns(e,as).filter(t=>t.files.length)}start(e){let t=this.createDirectUploadControllers(),s=()=>{let o=t.shift();o?o.start(h=>{h?(e(h),this.dispatch("end")):s()}):(e(),this.dispatch("end"))};this.dispatch("start"),s()}createDirectUploadControllers(){let e=[];return this.inputs.forEach(t=>{ot(t.files).forEach(s=>{let o=new ke(t,s);e.push(o)})}),e}dispatch(e,t={}){return nt(this.form,`direct-uploads:${e}`,{detail:t})}},Le="data-direct-uploads-processing",Ie=new WeakMap,st=!1;function Ve(){st||(st=!0,document.addEventListener("click",cs,!0),document.addEventListener("submit",ls,!0),document.addEventListener("ajax:before",hs))}function cs(r){let e=r.target.closest("button, input");e&&e.type==="submit"&&e.form&&Ie.set(e.form,e)}function ls(r){at(r)}function hs(r){r.target.tagName=="FORM"&&at(r)}function at(r){let e=r.target;if(e.hasAttribute(Le)){r.preventDefault();return}let t=new je(e),{inputs:s}=t;s.length&&(r.preventDefault(),e.setAttribute(Le,""),s.forEach(ds),t.start(o=>{e.removeAttribute(Le),o?s.forEach(fs):us(e)}))}function us(r){let e=Ie.get(r)||it(r,"input[type=submit], button[type=submit]");if(e){let{disabled:t}=e;e.disabled=!1,e.focus(),e.click(),e.disabled=t}else e=document.createElement("input"),e.type="submit",e.style.display="none",r.appendChild(e),e.click(),r.removeChild(e);Ie.delete(r)}function ds(r){r.disabled=!0}function fs(r){r.disabled=!1}function gs(){window.ActiveStorage&&Ve()}setTimeout(gs,1);var J=class extends p{connect(){this.hasInputTarget&&(this.inputTarget.disabled=!0)}copy(r){if(r.preventDefault(),!this.hasInputTarget)return;let e=this.inputTarget.innerHTML||this.inputTarget.value;navigator.clipboard.writeText(e)}};y(J,"targets",["input"]);var X=class extends p{toggle(r){r.preventDefault();let e=this.controlTarget;e.dataset.checked?(this.fieldTarget.value=!1,delete e.dataset.checked):(this.fieldTarget.value=!0,e.dataset.checked=!0)}};y(X,"targets",["field","control"]);var oe=class extends p{close(){this.element.classList.remove("lui:opacity-100"),this.element.classList.add("lui:opacity-0"),setTimeout(()=>{this.element.classList.add("lui:hidden")},300)}};var ae=class extends p{openModal(){this.findElement("lui-modal").open()}closeModal(){this.findElement("lui-modal").close()}findElement(r){let e=this.element.dataset.target.replace("#",""),t=document.getElementById(e);return this.application.getControllerForElementAndIdentifier(t,r)}};var j=class extends p{connect(){this.openFirstValue&&this.openItem(this.itemTargets[0])}toggle(r){r.preventDefault(),this.itemTargets.forEach(e=>{e.contains(r.target)?this.isOpen(e)?this.closeItem(e):this.openItem(e):this.closeItem(e)})}openItem(r){let e=r.querySelector("[data-lui-accordion-target=content]");e.classList.remove("lui:grid-rows-[0fr]"),e.classList.add("lui:grid-rows-[1fr]"),e.classList.remove("lui:opacity-0"),e.classList.add("lui:opacity-100"),r.querySelector("[data-lui-accordion-target=arrow]").classList.add("lui:rotate-180")}closeItem(r){let e=r.querySelector("[data-lui-accordion-target=content]");e.classList.remove("lui:grid-rows-[1fr]"),e.classList.add("lui:grid-rows-[0fr]"),e.classList.remove("lui:opacity-100"),e.classList.add("lui:opacity-0"),r.querySelector("[data-lui-accordion-target=arrow]").classList.remove("lui:rotate-180")}isOpen(r){return r.querySelector("[data-lui-accordion-target=content]").classList.contains("lui:grid-rows-[1fr]")}};y(j,"targets",["content","item"]),y(j,"values",{openFirst:{type:Boolean,default:!0}});var I=class extends p{connect(){this.dialogTarget.addEventListener("click",this.onClick.bind(this)),this.openValue&&this.open()}disconnect(){this.dialogTarget.removeEventListener("click",this.onClick.bind(this))}open(){this.dialogTarget.showModal()}close(){this.dialogTarget.setAttribute("closing",""),Promise.all(this.dialogTarget.getAnimations().map(r=>r.finished)).then(()=>{this.dialogTarget.removeAttribute("closing"),this.dialogTarget.close()})}onClick(r){r.target===this.dialogTarget&&this.dialogTarget.close()}submitForm(){this.dialogTarget.querySelector("form").requestSubmit()}};y(I,"targets",["dialog"]),y(I,"values",{open:Boolean});var V=class extends p{connect(){this.initialShowValue||this.itemTargets.forEach(r=>{r.classList.add("hidden")})}toggle(r){r.preventDefault(),this.itemTargets.forEach(e=>{e.classList.toggle("hidden")})}};y(V,"targets",["item"]),y(V,"values",{initialShow:Boolean});var Q=class extends p{toggle(r){r.preventDefault();let e=r.target;e.dataset.checked?(this.fieldTarget.value=!1,delete e.dataset.checked):(this.fieldTarget.value=!0,e.dataset.checked=!0)}};y(Q,"targets",["field"]);var _e=class extends p{};_e.debounces=[];var Pe=class extends p{};Pe.throttles=[];var ps={enterFromClass:"enter",enterActiveClass:"enterStart",enterToClass:"enterEnd",leaveFromClass:"leave",leaveActiveClass:"leaveStart",leaveToClass:"leaveEnd"},bs={transitioned:!1,hiddenClass:"hidden",preserveOriginalClass:!0,removeToClasses:!0},ce=(r,e={})=>{var t,s,o;let h=r,d=h.element.dataset.transitionTarget,f;d&&(f=h[`${d}Target`]);let g=(e==null?void 0:e.element)||f||h.element;if(!(g instanceof HTMLElement||g instanceof SVGElement))return;let v=g.dataset,w=parseInt(v.leaveAfter||"")||e.leaveAfter||0,{transitioned:B,hiddenClass:x,preserveOriginalClass:Y,removeToClasses:k}=Object.assign({},bs,e),N=(t=h.enter)===null||t===void 0?void 0:t.bind(h),b=(s=h.leave)===null||s===void 0?void 0:s.bind(h),u=(o=h.toggleTransition)===null||o===void 0?void 0:o.bind(h);function l(m){return M(this,null,function*(){if(h.transitioned)return;h.transitioned=!0,N&&N(m);let O=S("enterFrom",e,v),L=S("enterActive",e,v),$=S("enterTo",e,v),D=S("leaveTo",e,v);x&&g.classList.remove(x),k||A(g,D),yield c(g,O,L,$,x,Y,k),w>0&&setTimeout(()=>{n(m)},w)})}function n(m){return M(this,null,function*(){if(!h.transitioned)return;h.transitioned=!1,b&&b(m);let O=S("leaveFrom",e,v),L=S("leaveActive",e,v),$=S("leaveTo",e,v),D=S("enterTo",e,v);k||A(g,D),yield c(g,O,L,$,x,Y,k),x&&g.classList.add(x)})}function i(m){u&&u(m),h.transitioned?n():l()}function c(m,O,L,$,D,lt,ht){return M(this,null,function*(){let U=[];lt&&(O.forEach(T=>m.classList.contains(T)&&T!==D&&U.push(T)),L.forEach(T=>m.classList.contains(T)&&T!==D&&U.push(T)),$.forEach(T=>m.classList.contains(T)&&T!==D&&U.push(T))),E(m,O),A(m,U),E(m,L),yield ys(),A(m,O),E(m,$),yield vs(m),A(m,L),ht&&A(m,$),E(m,U)})}function a(){h.transitioned=B,B?(x&&g.classList.remove(x),l()):(x&&g.classList.add(x),n())}function E(m,O){O.length>0&&m.classList.add(...O)}function A(m,O){O.length>0&&m.classList.remove(...O)}return a(),Object.assign(h,{enter:l,leave:n,toggleTransition:i}),[l,n,i]};function S(r,e,t){let s=`transition${r[0].toUpperCase()}${r.substr(1)}`,o=ps[r],h=e[r]||t[s]||t[o]||" ";return Es(h)?[]:h.split(" ")}function vs(r){return M(this,null,function*(){return new Promise(e=>{let t=Number(getComputedStyle(r).transitionDuration.split(",")[0].replace("s",""))*1e3;setTimeout(()=>{e(t)},t)})})}function ys(){return M(this,null,function*(){return new Promise(r=>{requestAnimationFrame(()=>{requestAnimationFrame(r)})})})}function Es(r){return r.length===0||!r.trim()}var _=class extends p{connect(){ce(this,{element:this.menuTarget,hiddenClass:"lui:hidden"})}toggle(){this.toggleTransition()}hide(e){!this.element.contains(e.target)&&!this.menuTarget.classList.contains("lui:hidden")&&this.leave()}};y(_,"targets",["menu"]);var Ue=class{constructor(e,t){this.controller=t,this.file=e,this.directUpload=new H(e,this.controller.inputTarget.dataset.directUploadUrl,this)}process(){this.insertUpload(),this.directUpload.create((e,t)=>{if(e){let o=this.controller.filesTarget.querySelector(`#upload_${this.directUpload.id}`).querySelector("[data-lui-dropzone-target='status']");o.textContent="Failed. "+e,o.classList.add("text-red-500")}else{let s=document.createElement("input");s.setAttribute("type","hidden"),s.setAttribute("value",t.signed_id),s.name=this.controller.inputTarget.name,this.controller.filesTarget.querySelector(`#upload_${this.directUpload.id}`).appendChild(s),this.controller.inputTarget.value=""}})}insertUpload(){let e=this.controller.templateTarget.content.cloneNode(!0);e.querySelector("#\\#NEW_FILE").id=`upload_${this.directUpload.id}`,e.querySelector("[data-lui-dropzone-target='filename']").textContent=this.file.name,e.querySelector("[data-lui-dropzone-target='status']").textContent="Uploading...",this.controller.filesTarget.appendChild(e)}directUploadWillStoreFileWithXHR(e){e.upload.addEventListener("progress",t=>this.updateProgress(t))}updateProgress(e){let t=(e.loaded/e.total*100).toFixed(0),s=t==100?"Uploaded":"Uploading...",o=this.controller.filesTarget.querySelector(`#upload_${this.directUpload.id}`);o.querySelector("[data-lui-dropzone-target='status']").textContent=s,o.querySelector("[data-lui-dropzone-target='progressbar']").style.width=`${t}%`,o.querySelector("[data-lui-dropzone-target='percentage-progress']").textContent=`${t}%`}},G=class extends p{selectFiles(r){this.inputTarget.click()}uploadFiles(r){r.preventDefault(),[...r.dataTransfer?r.dataTransfer.files:r.target.files].forEach(t=>new Ue(t,this).process())}activate(r){r.preventDefault()}removeFile(r){r.preventDefault(),r.target.closest("[data-lui-dropzone-target='file']").remove()}};y(G,"targets",["input","template","files"]);var P=class extends p{connect(){this.autodismissValue&&setTimeout(()=>{this.close()},this.dismissAfterValue),ce(this,{element:this.toastTarget,enterActive:"lui:transition lui:ease-in-out lui:duration-150",enterFrom:"lui:transform lui:opacity-0 lui:scale-95",enterTo:"lui:transform lui:opacity-100 lui:scale-100",leaveActive:"lui:transition lui:ease-in-out lui:duration-150",leaveFrom:"lui:transform lui:opacity-100 lui:scale-100",leaveTo:"lui:transform lui:opacity-0 lui:scale-95",hiddenClass:"lui:hidden",transitioned:!0})}close(){this.leave()}};y(P,"targets",["toast"]),y(P,"values",{autodismiss:Boolean,dismissAfter:Number});var F="lui";Ve();var ct=ie.start();window.Stimulus=ct;function As(r){r.register(`${F}-clipboard`,J),r.register(`${F}-checkbox`,X),r.register(`${F}-banner`,oe),r.register(`${F}-main`,ae),r.register(`${F}-accordion`,j),r.register(`${F}-modal`,I),r.register(`${F}-reveal`,V),r.register(`${F}-switch`,Q),r.register(`${F}-dropdown`,_),r.register(`${F}-dropzone`,G),r.register(`${F}-toast`,P)}As(ct);})();
5
+ %o`,t,e,i),(n=window.onerror)===null||n===void 0||n.call(window,t,"",0,0,e)}logFormattedMessage(e,t,i={}){i=Object.assign({application:this},i),this.logger.groupCollapsed(`${e} #${t}`),this.logger.log("details:",Object.assign({},i)),this.logger.groupEnd()}};function Ei(){return new Promise(s=>{document.readyState=="loading"?document.addEventListener("DOMContentLoaded",()=>s()):s()})}function Oi(s){return Ee(s,"classes").reduce((t,i)=>Object.assign(t,Ai(i)),{})}function Ai(s){return{[`${s}Class`]:{get(){let{classes:e}=this;if(e.has(s))return e.get(s);{let t=e.getAttributeName(s);throw new Error(`Missing attribute "${t}"`)}}},[`${s}Classes`]:{get(){return this.classes.getAll(s)}},[`has${xe(s)}Class`]:{get(){return this.classes.has(s)}}}}function Ti(s){return Ee(s,"outlets").reduce((t,i)=>Object.assign(t,Ci(i)),{})}function es(s,e,t){return s.application.getControllerForElementAndIdentifier(e,t)}function ts(s,e,t){let i=es(s,e,t);if(i||(s.application.router.proposeToConnectScopeForElementAndIdentifier(e,t),i=es(s,e,t),i))return i}function Ci(s){let e=ft(s);return{[`${e}Outlet`]:{get(){let t=this.outlets.find(s),i=this.outlets.getSelectorForOutletName(s);if(t){let n=ts(this,t,s);if(n)return n;throw new Error(`The provided outlet element is missing an outlet controller "${s}" instance for host controller "${this.identifier}"`)}throw new Error(`Missing outlet element "${s}" for host controller "${this.identifier}". Stimulus couldn't find a matching outlet element using selector "${i}".`)}},[`${e}Outlets`]:{get(){let t=this.outlets.findAll(s);return t.length>0?t.map(i=>{let n=ts(this,i,s);if(n)return n;console.warn(`The provided outlet element is missing an outlet controller "${s}" instance for host controller "${this.identifier}"`,i)}).filter(i=>i):[]}},[`${e}OutletElement`]:{get(){let t=this.outlets.find(s),i=this.outlets.getSelectorForOutletName(s);if(t)return t;throw new Error(`Missing outlet element "${s}" for host controller "${this.identifier}". Stimulus couldn't find a matching outlet element using selector "${i}".`)}},[`${e}OutletElements`]:{get(){return this.outlets.findAll(s)}},[`has${xe(e)}Outlet`]:{get(){return this.outlets.has(s)}}}}function Si(s){return Ee(s,"targets").reduce((t,i)=>Object.assign(t,Li(i)),{})}function Li(s){return{[`${s}Target`]:{get(){let e=this.targets.find(s);if(e)return e;throw new Error(`Missing target element "${s}" for "${this.identifier}" controller`)}},[`${s}Targets`]:{get(){return this.targets.findAll(s)}},[`has${xe(s)}Target`]:{get(){return this.targets.has(s)}}}}function Fi(s){let e=hi(s,"values"),t={valueDescriptorMap:{get(){return e.reduce((i,n)=>{let a=ls(n,this.identifier),h=this.data.getAttributeNameForKey(a.key);return Object.assign(i,{[h]:a})},{})}}};return e.reduce((i,n)=>Object.assign(i,Mi(n)),t)}function Mi(s,e){let t=ls(s,e),{key:i,name:n,reader:a,writer:h}=t;return{[n]:{get(){let f=this.data.get(i);return f!==null?a(f):t.defaultValue},set(f){f===void 0?this.data.delete(i):this.data.set(i,h(f))}},[`has${xe(n)}`]:{get(){return this.data.has(i)||t.hasCustomDefaultValue}}}}function ls([s,e],t){return Bi({controller:t,token:s,typeDefinition:e})}function qe(s){switch(s){case Array:return"array";case Boolean:return"boolean";case Number:return"number";case Object:return"object";case String:return"string"}}function we(s){switch(typeof s){case"boolean":return"boolean";case"number":return"number";case"string":return"string"}if(Array.isArray(s))return"array";if(Object.prototype.toString.call(s)==="[object Object]")return"object"}function Ni(s){let{controller:e,token:t,typeObject:i}=s,n=Yt(i.type),a=Yt(i.default),h=n&&a,f=n&&!a,p=!n&&a,g=qe(i.type),b=we(s.typeObject.default);if(f)return g;if(p)return b;if(g!==b){let m=e?`${e}.${t}`:t;throw new Error(`The specified default value for the Stimulus Value "${m}" must match the defined type "${g}". The provided default value of "${i.default}" is of type "${b}".`)}if(h)return g}function $i(s){let{controller:e,token:t,typeDefinition:i}=s,a=Ni({controller:e,token:t,typeObject:i}),h=we(i),f=qe(i),p=a||h||f;if(p)return p;let g=e?`${e}.${i}`:t;throw new Error(`Unknown value type "${g}" for "${t}" value`)}function ki(s){let e=qe(s);if(e)return ss[e];let t=pt(s,"default"),i=pt(s,"type"),n=s;if(t)return n.default;if(i){let{type:a}=n,h=qe(a);if(h)return ss[h]}return s}function Bi(s){let{token:e,typeDefinition:t}=s,i=`${rs(e)}-value`,n=$i(s);return{type:n,key:i,name:kt(i),get defaultValue(){return ki(t)},get hasCustomDefaultValue(){return we(t)!==void 0},reader:Di[n],writer:is[n]||is.default}}var ss={get array(){return[]},boolean:!1,number:0,get object(){return{}},string:""},Di={array(s){let e=JSON.parse(s);if(!Array.isArray(e))throw new TypeError(`expected value of type "array" but instead got value "${s}" of type "${we(e)}"`);return e},boolean(s){return!(s=="0"||String(s).toLowerCase()=="false")},number(s){return Number(s.replace(/_/g,""))},object(s){let e=JSON.parse(s);if(e===null||typeof e!="object"||Array.isArray(e))throw new TypeError(`expected value of type "object" but instead got value "${s}" of type "${we(e)}"`);return e},string(s){return s}},is={default:Vi,array:ns,object:ns};function ns(s){return JSON.stringify(s)}function Vi(s){return`${s}`}var A=class{constructor(e){this.context=e}static get shouldLoad(){return!0}static afterLoad(e,t){}get application(){return this.context.application}get scope(){return this.context.scope}get element(){return this.scope.element}get identifier(){return this.scope.identifier}get targets(){return this.scope.targets}get outlets(){return this.scope.outlets}get classes(){return this.scope.classes}get data(){return this.scope.data}initialize(){}connect(){}disconnect(){}dispatch(e,{target:t=this.element,detail:i={},prefix:n=this.identifier,bubbles:a=!0,cancelable:h=!0}={}){let f=n?`${n}:${e}`:e,p=new CustomEvent(f,{detail:i,bubbles:a,cancelable:h});return t.dispatchEvent(p),p}};A.blessings=[Oi,Si,Fi,Ti];A.targets=[];A.outlets=[];A.values={};var us={exports:{}};(function(s,e){(function(t){s.exports=t()})(function(t){var i=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];function n(d,u){var o=d[0],r=d[1],l=d[2],c=d[3];o+=(r&l|~r&c)+u[0]-680876936|0,o=(o<<7|o>>>25)+r|0,c+=(o&r|~o&l)+u[1]-389564586|0,c=(c<<12|c>>>20)+o|0,l+=(c&o|~c&r)+u[2]+606105819|0,l=(l<<17|l>>>15)+c|0,r+=(l&c|~l&o)+u[3]-1044525330|0,r=(r<<22|r>>>10)+l|0,o+=(r&l|~r&c)+u[4]-176418897|0,o=(o<<7|o>>>25)+r|0,c+=(o&r|~o&l)+u[5]+1200080426|0,c=(c<<12|c>>>20)+o|0,l+=(c&o|~c&r)+u[6]-1473231341|0,l=(l<<17|l>>>15)+c|0,r+=(l&c|~l&o)+u[7]-45705983|0,r=(r<<22|r>>>10)+l|0,o+=(r&l|~r&c)+u[8]+1770035416|0,o=(o<<7|o>>>25)+r|0,c+=(o&r|~o&l)+u[9]-1958414417|0,c=(c<<12|c>>>20)+o|0,l+=(c&o|~c&r)+u[10]-42063|0,l=(l<<17|l>>>15)+c|0,r+=(l&c|~l&o)+u[11]-1990404162|0,r=(r<<22|r>>>10)+l|0,o+=(r&l|~r&c)+u[12]+1804603682|0,o=(o<<7|o>>>25)+r|0,c+=(o&r|~o&l)+u[13]-40341101|0,c=(c<<12|c>>>20)+o|0,l+=(c&o|~c&r)+u[14]-1502002290|0,l=(l<<17|l>>>15)+c|0,r+=(l&c|~l&o)+u[15]+1236535329|0,r=(r<<22|r>>>10)+l|0,o+=(r&c|l&~c)+u[1]-165796510|0,o=(o<<5|o>>>27)+r|0,c+=(o&l|r&~l)+u[6]-1069501632|0,c=(c<<9|c>>>23)+o|0,l+=(c&r|o&~r)+u[11]+643717713|0,l=(l<<14|l>>>18)+c|0,r+=(l&o|c&~o)+u[0]-373897302|0,r=(r<<20|r>>>12)+l|0,o+=(r&c|l&~c)+u[5]-701558691|0,o=(o<<5|o>>>27)+r|0,c+=(o&l|r&~l)+u[10]+38016083|0,c=(c<<9|c>>>23)+o|0,l+=(c&r|o&~r)+u[15]-660478335|0,l=(l<<14|l>>>18)+c|0,r+=(l&o|c&~o)+u[4]-405537848|0,r=(r<<20|r>>>12)+l|0,o+=(r&c|l&~c)+u[9]+568446438|0,o=(o<<5|o>>>27)+r|0,c+=(o&l|r&~l)+u[14]-1019803690|0,c=(c<<9|c>>>23)+o|0,l+=(c&r|o&~r)+u[3]-187363961|0,l=(l<<14|l>>>18)+c|0,r+=(l&o|c&~o)+u[8]+1163531501|0,r=(r<<20|r>>>12)+l|0,o+=(r&c|l&~c)+u[13]-1444681467|0,o=(o<<5|o>>>27)+r|0,c+=(o&l|r&~l)+u[2]-51403784|0,c=(c<<9|c>>>23)+o|0,l+=(c&r|o&~r)+u[7]+1735328473|0,l=(l<<14|l>>>18)+c|0,r+=(l&o|c&~o)+u[12]-1926607734|0,r=(r<<20|r>>>12)+l|0,o+=(r^l^c)+u[5]-378558|0,o=(o<<4|o>>>28)+r|0,c+=(o^r^l)+u[8]-2022574463|0,c=(c<<11|c>>>21)+o|0,l+=(c^o^r)+u[11]+1839030562|0,l=(l<<16|l>>>16)+c|0,r+=(l^c^o)+u[14]-35309556|0,r=(r<<23|r>>>9)+l|0,o+=(r^l^c)+u[1]-1530992060|0,o=(o<<4|o>>>28)+r|0,c+=(o^r^l)+u[4]+1272893353|0,c=(c<<11|c>>>21)+o|0,l+=(c^o^r)+u[7]-155497632|0,l=(l<<16|l>>>16)+c|0,r+=(l^c^o)+u[10]-1094730640|0,r=(r<<23|r>>>9)+l|0,o+=(r^l^c)+u[13]+681279174|0,o=(o<<4|o>>>28)+r|0,c+=(o^r^l)+u[0]-358537222|0,c=(c<<11|c>>>21)+o|0,l+=(c^o^r)+u[3]-722521979|0,l=(l<<16|l>>>16)+c|0,r+=(l^c^o)+u[6]+76029189|0,r=(r<<23|r>>>9)+l|0,o+=(r^l^c)+u[9]-640364487|0,o=(o<<4|o>>>28)+r|0,c+=(o^r^l)+u[12]-421815835|0,c=(c<<11|c>>>21)+o|0,l+=(c^o^r)+u[15]+530742520|0,l=(l<<16|l>>>16)+c|0,r+=(l^c^o)+u[2]-995338651|0,r=(r<<23|r>>>9)+l|0,o+=(l^(r|~c))+u[0]-198630844|0,o=(o<<6|o>>>26)+r|0,c+=(r^(o|~l))+u[7]+1126891415|0,c=(c<<10|c>>>22)+o|0,l+=(o^(c|~r))+u[14]-1416354905|0,l=(l<<15|l>>>17)+c|0,r+=(c^(l|~o))+u[5]-57434055|0,r=(r<<21|r>>>11)+l|0,o+=(l^(r|~c))+u[12]+1700485571|0,o=(o<<6|o>>>26)+r|0,c+=(r^(o|~l))+u[3]-1894986606|0,c=(c<<10|c>>>22)+o|0,l+=(o^(c|~r))+u[10]-1051523|0,l=(l<<15|l>>>17)+c|0,r+=(c^(l|~o))+u[1]-2054922799|0,r=(r<<21|r>>>11)+l|0,o+=(l^(r|~c))+u[8]+1873313359|0,o=(o<<6|o>>>26)+r|0,c+=(r^(o|~l))+u[15]-30611744|0,c=(c<<10|c>>>22)+o|0,l+=(o^(c|~r))+u[6]-1560198380|0,l=(l<<15|l>>>17)+c|0,r+=(c^(l|~o))+u[13]+1309151649|0,r=(r<<21|r>>>11)+l|0,o+=(l^(r|~c))+u[4]-145523070|0,o=(o<<6|o>>>26)+r|0,c+=(r^(o|~l))+u[11]-1120210379|0,c=(c<<10|c>>>22)+o|0,l+=(o^(c|~r))+u[2]+718787259|0,l=(l<<15|l>>>17)+c|0,r+=(c^(l|~o))+u[9]-343485551|0,r=(r<<21|r>>>11)+l|0,d[0]=o+d[0]|0,d[1]=r+d[1]|0,d[2]=l+d[2]|0,d[3]=c+d[3]|0}function a(d){var u=[],o;for(o=0;o<64;o+=4)u[o>>2]=d.charCodeAt(o)+(d.charCodeAt(o+1)<<8)+(d.charCodeAt(o+2)<<16)+(d.charCodeAt(o+3)<<24);return u}function h(d){var u=[],o;for(o=0;o<64;o+=4)u[o>>2]=d[o]+(d[o+1]<<8)+(d[o+2]<<16)+(d[o+3]<<24);return u}function f(d){var u=d.length,o=[1732584193,-271733879,-1732584194,271733878],r,l,c,C,S,O;for(r=64;r<=u;r+=64)n(o,a(d.substring(r-64,r)));for(d=d.substring(r-64),l=d.length,c=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],r=0;r<l;r+=1)c[r>>2]|=d.charCodeAt(r)<<(r%4<<3);if(c[r>>2]|=128<<(r%4<<3),r>55)for(n(o,c),r=0;r<16;r+=1)c[r]=0;return C=u*8,C=C.toString(16).match(/(.*?)(.{0,8})$/),S=parseInt(C[2],16),O=parseInt(C[1],16)||0,c[14]=S,c[15]=O,n(o,c),o}function p(d){var u=d.length,o=[1732584193,-271733879,-1732584194,271733878],r,l,c,C,S,O;for(r=64;r<=u;r+=64)n(o,h(d.subarray(r-64,r)));for(d=r-64<u?d.subarray(r-64):new Uint8Array(0),l=d.length,c=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],r=0;r<l;r+=1)c[r>>2]|=d[r]<<(r%4<<3);if(c[r>>2]|=128<<(r%4<<3),r>55)for(n(o,c),r=0;r<16;r+=1)c[r]=0;return C=u*8,C=C.toString(16).match(/(.*?)(.{0,8})$/),S=parseInt(C[2],16),O=parseInt(C[1],16)||0,c[14]=S,c[15]=O,n(o,c),o}function g(d){var u="",o;for(o=0;o<4;o+=1)u+=i[d>>o*8+4&15]+i[d>>o*8&15];return u}function b(d){var u;for(u=0;u<d.length;u+=1)d[u]=g(d[u]);return d.join("")}b(f("hello")),typeof ArrayBuffer!="undefined"&&!ArrayBuffer.prototype.slice&&function(){function d(u,o){return u=u|0||0,u<0?Math.max(u+o,0):Math.min(u,o)}ArrayBuffer.prototype.slice=function(u,o){var r=this.byteLength,l=d(u,r),c=r,C,S,O,L;return o!==t&&(c=d(o,r)),l>c?new ArrayBuffer(0):(C=c-l,S=new ArrayBuffer(C),O=new Uint8Array(S),L=new Uint8Array(this,l,C),O.set(L),S)}}();function m(d){return/[\u0080-\uFFFF]/.test(d)&&(d=unescape(encodeURIComponent(d))),d}function w(d,u){var o=d.length,r=new ArrayBuffer(o),l=new Uint8Array(r),c;for(c=0;c<o;c+=1)l[c]=d.charCodeAt(c);return u?l:r}function v(d){return String.fromCharCode.apply(null,new Uint8Array(d))}function x(d,u,o){var r=new Uint8Array(d.byteLength+u.byteLength);return r.set(new Uint8Array(d)),r.set(new Uint8Array(u),d.byteLength),o?r:r.buffer}function E(d){var u=[],o=d.length,r;for(r=0;r<o-1;r+=2)u.push(parseInt(d.substr(r,2),16));return String.fromCharCode.apply(String,u)}function y(){this.reset()}return y.prototype.append=function(d){return this.appendBinary(m(d)),this},y.prototype.appendBinary=function(d){this._buff+=d,this._length+=d.length;var u=this._buff.length,o;for(o=64;o<=u;o+=64)n(this._hash,a(this._buff.substring(o-64,o)));return this._buff=this._buff.substring(o-64),this},y.prototype.end=function(d){var u=this._buff,o=u.length,r,l=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],c;for(r=0;r<o;r+=1)l[r>>2]|=u.charCodeAt(r)<<(r%4<<3);return this._finish(l,o),c=b(this._hash),d&&(c=E(c)),this.reset(),c},y.prototype.reset=function(){return this._buff="",this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},y.prototype.getState=function(){return{buff:this._buff,length:this._length,hash:this._hash.slice()}},y.prototype.setState=function(d){return this._buff=d.buff,this._length=d.length,this._hash=d.hash,this},y.prototype.destroy=function(){delete this._hash,delete this._buff,delete this._length},y.prototype._finish=function(d,u){var o=u,r,l,c;if(d[o>>2]|=128<<(o%4<<3),o>55)for(n(this._hash,d),o=0;o<16;o+=1)d[o]=0;r=this._length*8,r=r.toString(16).match(/(.*?)(.{0,8})$/),l=parseInt(r[2],16),c=parseInt(r[1],16)||0,d[14]=l,d[15]=c,n(this._hash,d)},y.hash=function(d,u){return y.hashBinary(m(d),u)},y.hashBinary=function(d,u){var o=f(d),r=b(o);return u?E(r):r},y.ArrayBuffer=function(){this.reset()},y.ArrayBuffer.prototype.append=function(d){var u=x(this._buff.buffer,d,!0),o=u.length,r;for(this._length+=d.byteLength,r=64;r<=o;r+=64)n(this._hash,h(u.subarray(r-64,r)));return this._buff=r-64<o?new Uint8Array(u.buffer.slice(r-64)):new Uint8Array(0),this},y.ArrayBuffer.prototype.end=function(d){var u=this._buff,o=u.length,r=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],l,c;for(l=0;l<o;l+=1)r[l>>2]|=u[l]<<(l%4<<3);return this._finish(r,o),c=b(this._hash),d&&(c=E(c)),this.reset(),c},y.ArrayBuffer.prototype.reset=function(){return this._buff=new Uint8Array(0),this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},y.ArrayBuffer.prototype.getState=function(){var d=y.prototype.getState.call(this);return d.buff=v(d.buff),d},y.ArrayBuffer.prototype.setState=function(d){return d.buff=w(d.buff,!0),y.prototype.setState.call(this,d)},y.ArrayBuffer.prototype.destroy=y.prototype.destroy,y.ArrayBuffer.prototype._finish=y.prototype._finish,y.ArrayBuffer.hash=function(d,u){var o=p(new Uint8Array(d)),r=b(o);return u?E(r):r},y})})(us);var Pi=us.exports,Ii=File.prototype.slice||File.prototype.mozSlice||File.prototype.webkitSlice,Oe=class{static create(e,t){new Oe(e).create(t)}constructor(e){this.file=e,this.chunkSize=2097152,this.chunkCount=Math.ceil(this.file.size/this.chunkSize),this.chunkIndex=0}create(e){this.callback=e,this.md5Buffer=new Pi.ArrayBuffer,this.fileReader=new FileReader,this.fileReader.addEventListener("load",t=>this.fileReaderDidLoad(t)),this.fileReader.addEventListener("error",t=>this.fileReaderDidError(t)),this.readNextChunk()}fileReaderDidLoad(e){if(this.md5Buffer.append(e.target.result),!this.readNextChunk()){let t=this.md5Buffer.end(!0),i=btoa(t);this.callback(null,i)}}fileReaderDidError(e){this.callback(`Error reading ${this.file.name}`)}readNextChunk(){if(this.chunkIndex<this.chunkCount||this.chunkIndex==0&&this.chunkCount==0){let e=this.chunkIndex*this.chunkSize,t=Math.min(e+this.chunkSize,this.file.size),i=Ii.call(this.file,e,t);return this.fileReader.readAsArrayBuffer(i),this.chunkIndex++,!0}else return!1}};function Ri(s){let e=ds(document.head,`meta[name="${s}"]`);if(e)return e.getAttribute("content")}function ji(s,e){typeof s=="string"&&(e=s,s=document);let t=s.querySelectorAll(e);return ps(t)}function ds(s,e){return typeof s=="string"&&(e=s,s=document),s.querySelector(e)}function fs(s,e,t={}){let{disabled:i}=s,{bubbles:n,cancelable:a,detail:h}=t,f=document.createEvent("Event");f.initEvent(e,n||!0,a||!0),f.detail=h||{};try{s.disabled=!1,s.dispatchEvent(f)}finally{s.disabled=i}return f}function ps(s){return Array.isArray(s)?s:Array.from?Array.from(s):[].slice.call(s)}var Dt=class{constructor(e,t,i,n={}){this.file=e,this.attributes={filename:e.name,content_type:e.type||"application/octet-stream",byte_size:e.size,checksum:t},this.xhr=new XMLHttpRequest,this.xhr.open("POST",i,!0),this.xhr.responseType="json",this.xhr.setRequestHeader("Content-Type","application/json"),this.xhr.setRequestHeader("Accept","application/json"),this.xhr.setRequestHeader("X-Requested-With","XMLHttpRequest"),Object.keys(n).forEach(h=>{this.xhr.setRequestHeader(h,n[h])});let a=Ri("csrf-token");a!=null&&this.xhr.setRequestHeader("X-CSRF-Token",a),this.xhr.addEventListener("load",h=>this.requestDidLoad(h)),this.xhr.addEventListener("error",h=>this.requestDidError(h))}get status(){return this.xhr.status}get response(){let{responseType:e,response:t}=this.xhr;return e=="json"?t:JSON.parse(t)}create(e){this.callback=e,this.xhr.send(JSON.stringify({blob:this.attributes}))}requestDidLoad(e){if(this.status>=200&&this.status<300){let{response:t}=this,{direct_upload:i}=t;delete t.direct_upload,this.attributes=t,this.directUploadData=i,this.callback(null,this.toJSON())}else this.requestDidError(e)}requestDidError(e){this.callback(`Error creating Blob for "${this.file.name}". Status: ${this.status}`)}toJSON(){let e={};for(let t in this.attributes)e[t]=this.attributes[t];return e}},Vt=class{constructor(e){this.blob=e,this.file=e.file;let{url:t,headers:i}=e.directUploadData;this.xhr=new XMLHttpRequest,this.xhr.open("PUT",t,!0),this.xhr.responseType="text";for(let n in i)this.xhr.setRequestHeader(n,i[n]);this.xhr.addEventListener("load",n=>this.requestDidLoad(n)),this.xhr.addEventListener("error",n=>this.requestDidError(n))}create(e){this.callback=e,this.xhr.send(this.file.slice())}requestDidLoad(e){let{status:t,response:i}=this.xhr;t>=200&&t<300?this.callback(null,i):this.requestDidError(e)}requestDidError(e){this.callback(`Error storing "${this.file.name}". Status: ${this.xhr.status}`)}},_i=0,Ae=class{constructor(e,t,i,n={}){this.id=++_i,this.file=e,this.url=t,this.delegate=i,this.customHeaders=n}create(e){Oe.create(this.file,(t,i)=>{if(t){e(t);return}let n=new Dt(this.file,i,this.url,this.customHeaders);cs(this.delegate,"directUploadWillCreateBlobWithXHR",n.xhr),n.create(a=>{if(a)e(a);else{let h=new Vt(n);cs(this.delegate,"directUploadWillStoreFileWithXHR",h.xhr),h.create(f=>{f?e(f):e(null,n.toJSON())})}})})}};function cs(s,e,...t){if(s&&typeof s[e]=="function")return s[e](...t)}var Pt=class{constructor(e,t){this.input=e,this.file=t,this.directUpload=new Ae(this.file,this.url,this),this.dispatch("initialize")}start(e){let t=document.createElement("input");t.type="hidden",t.name=this.input.name,this.input.insertAdjacentElement("beforebegin",t),this.dispatch("start"),this.directUpload.create((i,n)=>{i?(t.parentNode.removeChild(t),this.dispatchError(i)):t.value=n.signed_id,this.dispatch("end"),e(i)})}uploadRequestDidProgress(e){let t=e.loaded/e.total*100;t&&this.dispatch("progress",{progress:t})}get url(){return this.input.getAttribute("data-direct-upload-url")}dispatch(e,t={}){return t.file=this.file,t.id=this.directUpload.id,fs(this.input,`direct-upload:${e}`,{detail:t})}dispatchError(e){this.dispatch("error",{error:e}).defaultPrevented||alert(e)}directUploadWillCreateBlobWithXHR(e){this.dispatch("before-blob-request",{xhr:e})}directUploadWillStoreFileWithXHR(e){this.dispatch("before-storage-request",{xhr:e}),e.upload.addEventListener("progress",t=>this.uploadRequestDidProgress(t))}},Hi="input[type=file][data-direct-upload-url]:not([disabled])",It=class{constructor(e){this.form=e,this.inputs=ji(e,Hi).filter(t=>t.files.length)}start(e){let t=this.createDirectUploadControllers(),i=()=>{let n=t.shift();n?n.start(a=>{a?(e(a),this.dispatch("end")):i()}):(e(),this.dispatch("end"))};this.dispatch("start"),i()}createDirectUploadControllers(){let e=[];return this.inputs.forEach(t=>{ps(t.files).forEach(i=>{let n=new Pt(t,i);e.push(n)})}),e}dispatch(e,t={}){return fs(this.form,`direct-uploads:${e}`,{detail:t})}},Bt="data-direct-uploads-processing",Rt=new WeakMap,hs=!1;function jt(){hs||(hs=!0,document.addEventListener("click",Ui,!0),document.addEventListener("submit",qi,!0),document.addEventListener("ajax:before",Ki))}function Ui(s){let e=s.target.closest("button, input");e&&e.type==="submit"&&e.form&&Rt.set(e.form,e)}function qi(s){gs(s)}function Ki(s){s.target.tagName=="FORM"&&gs(s)}function gs(s){let e=s.target;if(e.hasAttribute(Bt)){s.preventDefault();return}let t=new It(e),{inputs:i}=t;i.length&&(s.preventDefault(),e.setAttribute(Bt,""),i.forEach(zi),t.start(n=>{e.removeAttribute(Bt),n?i.forEach(Xi):Wi(e)}))}function Wi(s){let e=Rt.get(s)||ds(s,"input[type=submit], button[type=submit]");if(e){let{disabled:t}=e;e.disabled=!1,e.focus(),e.click(),e.disabled=t}else e=document.createElement("input"),e.type="submit",e.style.display="none",s.appendChild(e),e.click(),s.removeChild(e);Rt.delete(s)}function zi(s){s.disabled=!0}function Xi(s){s.disabled=!1}function Ji(){window.ActiveStorage&&jt()}setTimeout(Ji,1);var Te=class extends A{connect(){this.hasInputTarget&&(this.inputTarget.disabled=!0)}copy(s){if(s.preventDefault(),!this.hasInputTarget)return;let e=this.inputTarget.innerHTML||this.inputTarget.value;navigator.clipboard.writeText(e)}};T(Te,"targets",["input"]);var Ce=class extends A{toggle(s){s.preventDefault();let e=this.controlTarget;e.dataset.checked?(this.fieldTarget.value=!1,delete e.dataset.checked):(this.fieldTarget.value=!0,e.dataset.checked=!0)}};T(Ce,"targets",["field","control"]);var Ke=class extends A{close(){this.element.classList.remove("lui:opacity-100"),this.element.classList.add("lui:opacity-0"),setTimeout(()=>{this.element.classList.add("lui:hidden")},300)}};var Se=class extends A{openSidebar(){this.overlayTarget.dataset.open="",document.body.style.overflow="hidden"}closeSidebar(){delete this.overlayTarget.dataset.open,document.body.style.overflow=""}disconnect(){document.body.style.overflow=""}};T(Se,"targets",["overlay"]);var We=class extends A{openModal(){this.findElement("lui-modal").open()}closeModal(){this.findElement("lui-modal").close()}findElement(s){let e=this.element.dataset.target.replace("#",""),t=document.getElementById(e);return this.application.getControllerForElementAndIdentifier(t,s)}};var ce=class extends A{connect(){this.openFirstValue&&this.openItem(this.itemTargets[0])}toggle(s){s.preventDefault(),this.itemTargets.forEach(e=>{e.contains(s.target)?this.isOpen(e)?this.closeItem(e):this.openItem(e):this.closeItem(e)})}openItem(s){let e=s.querySelector("[data-lui-accordion-target=content]");e.classList.remove("lui:grid-rows-[0fr]"),e.classList.add("lui:grid-rows-[1fr]"),e.classList.remove("lui:opacity-0"),e.classList.add("lui:opacity-100"),s.querySelector("[data-lui-accordion-target=arrow]").classList.add("lui:rotate-180")}closeItem(s){let e=s.querySelector("[data-lui-accordion-target=content]");e.classList.remove("lui:grid-rows-[1fr]"),e.classList.add("lui:grid-rows-[0fr]"),e.classList.remove("lui:opacity-100"),e.classList.add("lui:opacity-0"),s.querySelector("[data-lui-accordion-target=arrow]").classList.remove("lui:rotate-180")}isOpen(s){return s.querySelector("[data-lui-accordion-target=content]").classList.contains("lui:grid-rows-[1fr]")}};T(ce,"targets",["content","item"]),T(ce,"values",{openFirst:{type:Boolean,default:!0}});var he=class extends A{connect(){this.dialogTarget.addEventListener("click",this.onClick.bind(this)),this.openValue&&this.open()}disconnect(){this.dialogTarget.removeEventListener("click",this.onClick.bind(this))}open(){this.dialogTarget.showModal()}close(){this.dialogTarget.setAttribute("closing",""),Promise.all(this.dialogTarget.getAnimations().map(s=>s.finished)).then(()=>{this.dialogTarget.removeAttribute("closing"),this.dialogTarget.close()})}onClick(s){s.target===this.dialogTarget&&this.dialogTarget.close()}closeOnBackdrop(s){this.hasPanelTarget&&!this.panelTarget.contains(s.target)&&this.close()}submitForm(){this.dialogTarget.querySelector("form").requestSubmit()}};T(he,"targets",["dialog","panel"]),T(he,"values",{open:Boolean});var ue=class extends A{connect(){this.initialShowValue||this.itemTargets.forEach(s=>{s.classList.add("hidden")})}toggle(s){s.preventDefault(),this.itemTargets.forEach(e=>{e.classList.toggle("hidden")})}};T(ue,"targets",["item"]),T(ue,"values",{initialShow:Boolean});var Le=class extends A{toggle(s){s.preventDefault();let e=s.target;e.dataset.checked?(this.fieldTarget.value=!1,delete e.dataset.checked):(this.fieldTarget.value=!0,e.dataset.checked=!0)}};T(Le,"targets",["field"]);var _t=class extends A{};_t.debounces=[];var Ht=class extends A{};Ht.throttles=[];var Qi={enterFromClass:"enter",enterActiveClass:"enterStart",enterToClass:"enterEnd",leaveFromClass:"leave",leaveActiveClass:"leaveStart",leaveToClass:"leaveEnd"},Gi={transitioned:!1,hiddenClass:"hidden",preserveOriginalClass:!0,removeToClasses:!0},ze=(s,e={})=>{var t,i,n;let a=s,h=a.element.dataset.transitionTarget,f;h&&(f=a[`${h}Target`]);let p=(e==null?void 0:e.element)||f||a.element;if(!(p instanceof HTMLElement||p instanceof SVGElement))return;let g=p.dataset,b=parseInt(g.leaveAfter||"")||e.leaveAfter||0,{transitioned:m,hiddenClass:w,preserveOriginalClass:v,removeToClasses:x}=Object.assign({},Gi,e),E=(t=a.enter)===null||t===void 0?void 0:t.bind(a),y=(i=a.leave)===null||i===void 0?void 0:i.bind(a),d=(n=a.toggleTransition)===null||n===void 0?void 0:n.bind(a);function u(O){return F(this,null,function*(){if(a.transitioned)return;a.transitioned=!0,E&&E(O);let L=te("enterFrom",e,g),M=te("enterActive",e,g),B=te("enterTo",e,g),$=te("leaveTo",e,g);w&&p.classList.remove(w),x||S(p,$),yield l(p,L,M,B,w,v,x),b>0&&setTimeout(()=>{o(O)},b)})}function o(O){return F(this,null,function*(){if(!a.transitioned)return;a.transitioned=!1,y&&y(O);let L=te("leaveFrom",e,g),M=te("leaveActive",e,g),B=te("leaveTo",e,g),$=te("enterTo",e,g);x||S(p,$),yield l(p,L,M,B,w,v,x),w&&p.classList.add(w)})}function r(O){d&&d(O),a.transitioned?o():u()}function l(O,L,M,B,$,W,V){return F(this,null,function*(){let k=[];W&&(L.forEach(N=>O.classList.contains(N)&&N!==$&&k.push(N)),M.forEach(N=>O.classList.contains(N)&&N!==$&&k.push(N)),B.forEach(N=>O.classList.contains(N)&&N!==$&&k.push(N))),C(O,L),S(O,k),C(O,M),yield en(),S(O,L),C(O,B),yield Zi(O),S(O,M),V&&S(O,B),C(O,k)})}function c(){a.transitioned=m,m?(w&&p.classList.remove(w),u()):(w&&p.classList.add(w),o())}function C(O,L){L.length>0&&O.classList.add(...L)}function S(O,L){L.length>0&&O.classList.remove(...L)}return c(),Object.assign(a,{enter:u,leave:o,toggleTransition:r}),[u,o,r]};function te(s,e,t){let i=`transition${s[0].toUpperCase()}${s.substr(1)}`,n=Qi[s],a=e[s]||t[i]||t[n]||" ";return tn(a)?[]:a.split(" ")}function Zi(s){return F(this,null,function*(){return new Promise(e=>{let t=Number(getComputedStyle(s).transitionDuration.split(",")[0].replace("s",""))*1e3;setTimeout(()=>{e(t)},t)})})}function en(){return F(this,null,function*(){return new Promise(s=>{requestAnimationFrame(()=>{requestAnimationFrame(s)})})})}function tn(s){return s.length===0||!s.trim()}var de=class extends A{connect(){ze(this,{element:this.menuTarget,hiddenClass:"lui:hidden"})}toggle(){this.toggleTransition()}hide(e){!this.element.contains(e.target)&&!this.menuTarget.classList.contains("lui:hidden")&&this.leave()}};T(de,"targets",["menu"]);var Ut=class{constructor(e,t){this.controller=t,this.file=e,this.directUpload=new Ae(e,this.controller.inputTarget.dataset.directUploadUrl,this)}process(){this.insertUpload(),this.directUpload.create((e,t)=>{if(e){let n=this.controller.filesTarget.querySelector(`#upload_${this.directUpload.id}`).querySelector("[data-lui-dropzone-target='status']");n.textContent="Failed. "+e,n.classList.add("text-red-500")}else{let i=document.createElement("input");i.setAttribute("type","hidden"),i.setAttribute("value",t.signed_id),i.name=this.controller.inputTarget.name,this.controller.filesTarget.querySelector(`#upload_${this.directUpload.id}`).appendChild(i),this.controller.inputTarget.value=""}})}insertUpload(){let e=this.controller.templateTarget.content.cloneNode(!0);e.querySelector("#\\#NEW_FILE").id=`upload_${this.directUpload.id}`,e.querySelector("[data-lui-dropzone-target='filename']").textContent=this.file.name,e.querySelector("[data-lui-dropzone-target='status']").textContent="Uploading...",this.controller.filesTarget.appendChild(e)}directUploadWillStoreFileWithXHR(e){e.upload.addEventListener("progress",t=>this.updateProgress(t))}updateProgress(e){let t=(e.loaded/e.total*100).toFixed(0),i=t==100?"Uploaded":"Uploading...",n=this.controller.filesTarget.querySelector(`#upload_${this.directUpload.id}`);n.querySelector("[data-lui-dropzone-target='status']").textContent=i,n.querySelector("[data-lui-dropzone-target='progressbar']").style.width=`${t}%`,n.querySelector("[data-lui-dropzone-target='percentage-progress']").textContent=`${t}%`}},Fe=class extends A{selectFiles(s){this.inputTarget.click()}uploadFiles(s){s.preventDefault(),[...s.dataTransfer?s.dataTransfer.files:s.target.files].forEach(t=>new Ut(t,this).process())}activate(s){s.preventDefault()}removeFile(s){s.preventDefault(),s.target.closest("[data-lui-dropzone-target='file']").remove()}};T(Fe,"targets",["input","template","files"]);var fe=class extends A{connect(){this.autodismissValue&&setTimeout(()=>{this.close()},this.dismissAfterValue),ze(this,{element:this.toastTarget,enterActive:"lui:transition lui:ease-in-out lui:duration-150",enterFrom:"lui:transform lui:opacity-0 lui:scale-95",enterTo:"lui:transform lui:opacity-100 lui:scale-100",leaveActive:"lui:transition lui:ease-in-out lui:duration-150",leaveFrom:"lui:transform lui:opacity-100 lui:scale-100",leaveTo:"lui:transform lui:opacity-0 lui:scale-95",hiddenClass:"lui:hidden",transitioned:!0})}close(){this.leave()}};T(fe,"targets",["toast"]),T(fe,"values",{autodismiss:Boolean,dismissAfter:Number});var X=Math.min,P=Math.max,Ne=Math.round,$e=Math.floor,U=s=>({x:s,y:s}),sn={left:"right",right:"left",bottom:"top",top:"bottom"},nn={start:"end",end:"start"};function Je(s,e,t){return P(s,X(e,t))}function ie(s,e){return typeof s=="function"?s(e):s}function G(s){return s.split("-")[0]}function ne(s){return s.split("-")[1]}function qt(s){return s==="x"?"y":"x"}function Ye(s){return s==="y"?"height":"width"}var rn=new Set(["top","bottom"]);function J(s){return rn.has(G(s))?"y":"x"}function Qe(s){return qt(J(s))}function vs(s,e,t){t===void 0&&(t=!1);let i=ne(s),n=Qe(s),a=Ye(n),h=n==="x"?i===(t?"end":"start")?"right":"left":i==="start"?"bottom":"top";return e.reference[a]>e.floating[a]&&(h=Me(h)),[h,Me(h)]}function ys(s){let e=Me(s);return[Xe(s),e,Xe(e)]}function Xe(s){return s.replace(/start|end/g,e=>nn[e])}var ms=["left","right"],bs=["right","left"],on=["top","bottom"],an=["bottom","top"];function ln(s,e,t){switch(s){case"top":case"bottom":return t?e?bs:ms:e?ms:bs;case"left":case"right":return e?on:an;default:return[]}}function ws(s,e,t,i){let n=ne(s),a=ln(G(s),t==="start",i);return n&&(a=a.map(h=>h+"-"+n),e&&(a=a.concat(a.map(Xe)))),a}function Me(s){return s.replace(/left|right|bottom|top/g,e=>sn[e])}function cn(s){return D({top:0,right:0,bottom:0,left:0},s)}function Kt(s){return typeof s!="number"?cn(s):{top:s,right:s,bottom:s,left:s}}function re(s){let{x:e,y:t,width:i,height:n}=s;return{width:i,height:n,top:t,left:e,right:e+i,bottom:t+n,x:e,y:t}}function xs(s,e,t){let{reference:i,floating:n}=s,a=J(e),h=Qe(e),f=Ye(h),p=G(e),g=a==="y",b=i.x+i.width/2-n.width/2,m=i.y+i.height/2-n.height/2,w=i[f]/2-n[f]/2,v;switch(p){case"top":v={x:b,y:i.y-n.height};break;case"bottom":v={x:b,y:i.y+i.height};break;case"right":v={x:i.x+i.width,y:m};break;case"left":v={x:i.x-n.width,y:m};break;default:v={x:i.x,y:i.y}}switch(ne(e)){case"start":v[h]-=w*(t&&g?-1:1);break;case"end":v[h]+=w*(t&&g?-1:1);break}return v}var Es=(s,e,t)=>F(void 0,null,function*(){let{placement:i="bottom",strategy:n="absolute",middleware:a=[],platform:h}=t,f=a.filter(Boolean),p=yield h.isRTL==null?void 0:h.isRTL(e),g=yield h.getElementRects({reference:s,floating:e,strategy:n}),{x:b,y:m}=xs(g,i,p),w=i,v={},x=0;for(let E=0;E<f.length;E++){let{name:y,fn:d}=f[E],{x:u,y:o,data:r,reset:l}=yield d({x:b,y:m,initialPlacement:i,placement:w,strategy:n,middlewareData:v,rects:g,platform:h,elements:{reference:s,floating:e}});b=u!=null?u:b,m=o!=null?o:m,v=z(D({},v),{[y]:D(D({},v[y]),r)}),l&&x<=50&&(x++,typeof l=="object"&&(l.placement&&(w=l.placement),l.rects&&(g=l.rects===!0?yield h.getElementRects({reference:s,floating:e,strategy:n}):l.rects),{x:b,y:m}=xs(g,w,p)),E=-1)}return{x:b,y:m,placement:w,strategy:n,middlewareData:v}});function Ge(s,e){return F(this,null,function*(){var t;e===void 0&&(e={});let{x:i,y:n,platform:a,rects:h,elements:f,strategy:p}=s,{boundary:g="clippingAncestors",rootBoundary:b="viewport",elementContext:m="floating",altBoundary:w=!1,padding:v=0}=ie(e,s),x=Kt(v),y=f[w?m==="floating"?"reference":"floating":m],d=re(yield a.getClippingRect({element:(t=yield a.isElement==null?void 0:a.isElement(y))==null||t?y:y.contextElement||(yield a.getDocumentElement==null?void 0:a.getDocumentElement(f.floating)),boundary:g,rootBoundary:b,strategy:p})),u=m==="floating"?{x:i,y:n,width:h.floating.width,height:h.floating.height}:h.reference,o=yield a.getOffsetParent==null?void 0:a.getOffsetParent(f.floating),r=(yield a.isElement==null?void 0:a.isElement(o))?(yield a.getScale==null?void 0:a.getScale(o))||{x:1,y:1}:{x:1,y:1},l=re(a.convertOffsetParentRelativeRectToViewportRelativeRect?yield a.convertOffsetParentRelativeRectToViewportRelativeRect({elements:f,rect:u,offsetParent:o,strategy:p}):u);return{top:(d.top-l.top+x.top)/r.y,bottom:(l.bottom-d.bottom+x.bottom)/r.y,left:(d.left-l.left+x.left)/r.x,right:(l.right-d.right+x.right)/r.x}})}var Os=s=>({name:"arrow",options:s,fn(t){return F(this,null,function*(){let{x:i,y:n,placement:a,rects:h,platform:f,elements:p,middlewareData:g}=t,{element:b,padding:m=0}=ie(s,t)||{};if(b==null)return{};let w=Kt(m),v={x:i,y:n},x=Qe(a),E=Ye(x),y=yield f.getDimensions(b),d=x==="y",u=d?"top":"left",o=d?"bottom":"right",r=d?"clientHeight":"clientWidth",l=h.reference[E]+h.reference[x]-v[x]-h.floating[E],c=v[x]-h.reference[x],C=yield f.getOffsetParent==null?void 0:f.getOffsetParent(b),S=C?C[r]:0;(!S||!(yield f.isElement==null?void 0:f.isElement(C)))&&(S=p.floating[r]||h.floating[E]);let O=l/2-c/2,L=S/2-y[E]/2-1,M=X(w[u],L),B=X(w[o],L),$=M,W=S-y[E]-B,V=S/2-y[E]/2+O,k=Je($,V,W),N=!g.arrow&&ne(a)!=null&&V!==k&&h.reference[E]/2-(V<$?M:B)-y[E]/2<0,Y=N?V<$?V-$:V-W:0;return{[x]:v[x]+Y,data:D({[x]:k,centerOffset:V-k-Y},N&&{alignmentOffset:Y}),reset:N}})}});var As=function(s){return s===void 0&&(s={}),{name:"flip",options:s,fn(t){return F(this,null,function*(){var i,n;let{placement:a,middlewareData:h,rects:f,initialPlacement:p,platform:g,elements:b}=t,V=ie(s,t),{mainAxis:m=!0,crossAxis:w=!0,fallbackPlacements:v,fallbackStrategy:x="bestFit",fallbackAxisSideDirection:E="none",flipAlignment:y=!0}=V,d=Pe(V,["mainAxis","crossAxis","fallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","flipAlignment"]);if((i=h.arrow)!=null&&i.alignmentOffset)return{};let u=G(a),o=J(p),r=G(p)===p,l=yield g.isRTL==null?void 0:g.isRTL(b.floating),c=v||(r||!y?[Me(p)]:ys(p)),C=E!=="none";!v&&C&&c.push(...ws(p,y,E,l));let S=[p,...c],O=yield Ge(t,d),L=[],M=((n=h.flip)==null?void 0:n.overflows)||[];if(m&&L.push(O[u]),w){let k=vs(a,f,l);L.push(O[k[0]],O[k[1]])}if(M=[...M,{placement:a,overflows:L}],!L.every(k=>k<=0)){var B,$;let k=(((B=h.flip)==null?void 0:B.index)||0)+1,N=S[k];if(N&&(!(w==="alignment"?o!==J(N):!1)||M.every(H=>J(H.placement)===o?H.overflows[0]>0:!0)))return{data:{index:k,overflows:M},reset:{placement:N}};let Y=($=M.filter(se=>se.overflows[0]<=0).sort((se,H)=>se.overflows[1]-H.overflows[1])[0])==null?void 0:$.placement;if(!Y)switch(x){case"bestFit":{var W;let se=(W=M.filter(H=>{if(C){let ee=J(H.placement);return ee===o||ee==="y"}return!0}).map(H=>[H.placement,H.overflows.filter(ee=>ee>0).reduce((ee,qs)=>ee+qs,0)]).sort((H,ee)=>H[1]-ee[1])[0])==null?void 0:W[0];se&&(Y=se);break}case"initialPlacement":Y=p;break}if(a!==Y)return{reset:{placement:Y}}}return{}})}}};var hn=new Set(["left","top"]);function un(s,e){return F(this,null,function*(){let{placement:t,platform:i,elements:n}=s,a=yield i.isRTL==null?void 0:i.isRTL(n.floating),h=G(t),f=ne(t),p=J(t)==="y",g=hn.has(h)?-1:1,b=a&&p?-1:1,m=ie(e,s),{mainAxis:w,crossAxis:v,alignmentAxis:x}=typeof m=="number"?{mainAxis:m,crossAxis:0,alignmentAxis:null}:{mainAxis:m.mainAxis||0,crossAxis:m.crossAxis||0,alignmentAxis:m.alignmentAxis};return f&&typeof x=="number"&&(v=f==="end"?x*-1:x),p?{x:v*b,y:w*g}:{x:w*g,y:v*b}})}var Ts=function(s){return s===void 0&&(s=0),{name:"offset",options:s,fn(t){return F(this,null,function*(){var i,n;let{x:a,y:h,placement:f,middlewareData:p}=t,g=yield un(t,s);return f===((i=p.offset)==null?void 0:i.placement)&&(n=p.arrow)!=null&&n.alignmentOffset?{}:{x:a+g.x,y:h+g.y,data:z(D({},g),{placement:f})}})}}},Cs=function(s){return s===void 0&&(s={}),{name:"shift",options:s,fn(t){return F(this,null,function*(){let{x:i,y:n,placement:a}=t,d=ie(s,t),{mainAxis:h=!0,crossAxis:f=!1,limiter:p={fn:u=>{let{x:o,y:r}=u;return{x:o,y:r}}}}=d,g=Pe(d,["mainAxis","crossAxis","limiter"]),b={x:i,y:n},m=yield Ge(t,g),w=J(G(a)),v=qt(w),x=b[v],E=b[w];if(h){let u=v==="y"?"top":"left",o=v==="y"?"bottom":"right",r=x+m[u],l=x-m[o];x=Je(r,x,l)}if(f){let u=w==="y"?"top":"left",o=w==="y"?"bottom":"right",r=E+m[u],l=E-m[o];E=Je(r,E,l)}let y=p.fn(z(D({},t),{[v]:x,[w]:E}));return z(D({},y),{data:{x:y.x-i,y:y.y-n,enabled:{[v]:h,[w]:f}}})})}}};var Ss=function(s){return s===void 0&&(s={}),{name:"size",options:s,fn(t){return F(this,null,function*(){var i,n;let{placement:a,rects:h,platform:f,elements:p}=t,M=ie(s,t),{apply:g=()=>{}}=M,b=Pe(M,["apply"]),m=yield Ge(t,b),w=G(a),v=ne(a),x=J(a)==="y",{width:E,height:y}=h.floating,d,u;w==="top"||w==="bottom"?(d=w,u=v===((yield f.isRTL==null?void 0:f.isRTL(p.floating))?"start":"end")?"left":"right"):(u=w,d=v==="end"?"top":"bottom");let o=y-m.top-m.bottom,r=E-m.left-m.right,l=X(y-m[d],o),c=X(E-m[u],r),C=!t.middlewareData.shift,S=l,O=c;if((i=t.middlewareData.shift)!=null&&i.enabled.x&&(O=r),(n=t.middlewareData.shift)!=null&&n.enabled.y&&(S=o),C&&!v){let B=P(m.left,0),$=P(m.right,0),W=P(m.top,0),V=P(m.bottom,0);x?O=E-2*(B!==0||$!==0?B+$:P(m.left,m.right)):S=y-2*(W!==0||V!==0?W+V:P(m.top,m.bottom))}yield g(z(D({},t),{availableWidth:O,availableHeight:S}));let L=yield f.getDimensions(p.floating);return E!==L.width||y!==L.height?{reset:{rects:!0}}:{}})}}};function Ze(){return typeof window!="undefined"}function oe(s){return Fs(s)?(s.nodeName||"").toLowerCase():"#document"}function R(s){var e;return(s==null||(e=s.ownerDocument)==null?void 0:e.defaultView)||window}function q(s){var e;return(e=(Fs(s)?s.ownerDocument:s.document)||window.document)==null?void 0:e.documentElement}function Fs(s){return Ze()?s instanceof Node||s instanceof R(s).Node:!1}function j(s){return Ze()?s instanceof Element||s instanceof R(s).Element:!1}function K(s){return Ze()?s instanceof HTMLElement||s instanceof R(s).HTMLElement:!1}function Ls(s){return!Ze()||typeof ShadowRoot=="undefined"?!1:s instanceof ShadowRoot||s instanceof R(s).ShadowRoot}var dn=new Set(["inline","contents"]);function ge(s){let{overflow:e,overflowX:t,overflowY:i,display:n}=_(s);return/auto|scroll|overlay|hidden|clip/.test(e+i+t)&&!dn.has(n)}var fn=new Set(["table","td","th"]);function Ms(s){return fn.has(oe(s))}var pn=[":popover-open",":modal"];function ke(s){return pn.some(e=>{try{return s.matches(e)}catch(t){return!1}})}var gn=["transform","translate","scale","rotate","perspective"],mn=["transform","translate","scale","rotate","perspective","filter"],bn=["paint","layout","strict","content"];function et(s){let e=tt(),t=j(s)?_(s):s;return gn.some(i=>t[i]?t[i]!=="none":!1)||(t.containerType?t.containerType!=="normal":!1)||!e&&(t.backdropFilter?t.backdropFilter!=="none":!1)||!e&&(t.filter?t.filter!=="none":!1)||mn.some(i=>(t.willChange||"").includes(i))||bn.some(i=>(t.contain||"").includes(i))}function Ns(s){let e=Z(s);for(;K(e)&&!ae(e);){if(et(e))return e;if(ke(e))return null;e=Z(e)}return null}function tt(){return typeof CSS=="undefined"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}var vn=new Set(["html","body","#document"]);function ae(s){return vn.has(oe(s))}function _(s){return R(s).getComputedStyle(s)}function Be(s){return j(s)?{scrollLeft:s.scrollLeft,scrollTop:s.scrollTop}:{scrollLeft:s.scrollX,scrollTop:s.scrollY}}function Z(s){if(oe(s)==="html")return s;let e=s.assignedSlot||s.parentNode||Ls(s)&&s.host||q(s);return Ls(e)?e.host:e}function $s(s){let e=Z(s);return ae(e)?s.ownerDocument?s.ownerDocument.body:s.body:K(e)&&ge(e)?e:$s(e)}function pe(s,e,t){var i;e===void 0&&(e=[]),t===void 0&&(t=!0);let n=$s(s),a=n===((i=s.ownerDocument)==null?void 0:i.body),h=R(n);if(a){let f=st(h);return e.concat(h,h.visualViewport||[],ge(n)?n:[],f&&t?pe(f):[])}return e.concat(n,pe(n,[],t))}function st(s){return s.parent&&Object.getPrototypeOf(s.parent)?s.frameElement:null}function Vs(s){let e=_(s),t=parseFloat(e.width)||0,i=parseFloat(e.height)||0,n=K(s),a=n?s.offsetWidth:t,h=n?s.offsetHeight:i,f=Ne(t)!==a||Ne(i)!==h;return f&&(t=a,i=h),{width:t,height:i,$:f}}function zt(s){return j(s)?s:s.contextElement}function me(s){let e=zt(s);if(!K(e))return U(1);let t=e.getBoundingClientRect(),{width:i,height:n,$:a}=Vs(e),h=(a?Ne(t.width):t.width)/i,f=(a?Ne(t.height):t.height)/n;return(!h||!Number.isFinite(h))&&(h=1),(!f||!Number.isFinite(f))&&(f=1),{x:h,y:f}}var yn=U(0);function Ps(s){let e=R(s);return!tt()||!e.visualViewport?yn:{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}}function wn(s,e,t){return e===void 0&&(e=!1),!t||e&&t!==R(s)?!1:e}function le(s,e,t,i){e===void 0&&(e=!1),t===void 0&&(t=!1);let n=s.getBoundingClientRect(),a=zt(s),h=U(1);e&&(i?j(i)&&(h=me(i)):h=me(s));let f=wn(a,t,i)?Ps(a):U(0),p=(n.left+f.x)/h.x,g=(n.top+f.y)/h.y,b=n.width/h.x,m=n.height/h.y;if(a){let w=R(a),v=i&&j(i)?R(i):i,x=w,E=st(x);for(;E&&i&&v!==x;){let y=me(E),d=E.getBoundingClientRect(),u=_(E),o=d.left+(E.clientLeft+parseFloat(u.paddingLeft))*y.x,r=d.top+(E.clientTop+parseFloat(u.paddingTop))*y.y;p*=y.x,g*=y.y,b*=y.x,m*=y.y,p+=o,g+=r,x=R(E),E=st(x)}}return re({width:b,height:m,x:p,y:g})}function it(s,e){let t=Be(s).scrollLeft;return e?e.left+t:le(q(s)).left+t}function Is(s,e){let t=s.getBoundingClientRect(),i=t.left+e.scrollLeft-it(s,t),n=t.top+e.scrollTop;return{x:i,y:n}}function xn(s){let{elements:e,rect:t,offsetParent:i,strategy:n}=s,a=n==="fixed",h=q(i),f=e?ke(e.floating):!1;if(i===h||f&&a)return t;let p={scrollLeft:0,scrollTop:0},g=U(1),b=U(0),m=K(i);if((m||!m&&!a)&&((oe(i)!=="body"||ge(h))&&(p=Be(i)),K(i))){let v=le(i);g=me(i),b.x=v.x+i.clientLeft,b.y=v.y+i.clientTop}let w=h&&!m&&!a?Is(h,p):U(0);return{width:t.width*g.x,height:t.height*g.y,x:t.x*g.x-p.scrollLeft*g.x+b.x+w.x,y:t.y*g.y-p.scrollTop*g.y+b.y+w.y}}function En(s){return Array.from(s.getClientRects())}function On(s){let e=q(s),t=Be(s),i=s.ownerDocument.body,n=P(e.scrollWidth,e.clientWidth,i.scrollWidth,i.clientWidth),a=P(e.scrollHeight,e.clientHeight,i.scrollHeight,i.clientHeight),h=-t.scrollLeft+it(s),f=-t.scrollTop;return _(i).direction==="rtl"&&(h+=P(e.clientWidth,i.clientWidth)-n),{width:n,height:a,x:h,y:f}}var ks=25;function An(s,e){let t=R(s),i=q(s),n=t.visualViewport,a=i.clientWidth,h=i.clientHeight,f=0,p=0;if(n){a=n.width,h=n.height;let b=tt();(!b||b&&e==="fixed")&&(f=n.offsetLeft,p=n.offsetTop)}let g=it(i);if(g<=0){let b=i.ownerDocument,m=b.body,w=getComputedStyle(m),v=b.compatMode==="CSS1Compat"&&parseFloat(w.marginLeft)+parseFloat(w.marginRight)||0,x=Math.abs(i.clientWidth-m.clientWidth-v);x<=ks&&(a-=x)}else g<=ks&&(a+=g);return{width:a,height:h,x:f,y:p}}var Tn=new Set(["absolute","fixed"]);function Cn(s,e){let t=le(s,!0,e==="fixed"),i=t.top+s.clientTop,n=t.left+s.clientLeft,a=K(s)?me(s):U(1),h=s.clientWidth*a.x,f=s.clientHeight*a.y,p=n*a.x,g=i*a.y;return{width:h,height:f,x:p,y:g}}function Bs(s,e,t){let i;if(e==="viewport")i=An(s,t);else if(e==="document")i=On(q(s));else if(j(e))i=Cn(e,t);else{let n=Ps(s);i={x:e.x-n.x,y:e.y-n.y,width:e.width,height:e.height}}return re(i)}function Rs(s,e){let t=Z(s);return t===e||!j(t)||ae(t)?!1:_(t).position==="fixed"||Rs(t,e)}function Sn(s,e){let t=e.get(s);if(t)return t;let i=pe(s,[],!1).filter(f=>j(f)&&oe(f)!=="body"),n=null,a=_(s).position==="fixed",h=a?Z(s):s;for(;j(h)&&!ae(h);){let f=_(h),p=et(h);!p&&f.position==="fixed"&&(n=null),(a?!p&&!n:!p&&f.position==="static"&&!!n&&Tn.has(n.position)||ge(h)&&!p&&Rs(s,h))?i=i.filter(b=>b!==h):n=f,h=Z(h)}return e.set(s,i),i}function Ln(s){let{element:e,boundary:t,rootBoundary:i,strategy:n}=s,h=[...t==="clippingAncestors"?ke(e)?[]:Sn(e,this._c):[].concat(t),i],f=h[0],p=h.reduce((g,b)=>{let m=Bs(e,b,n);return g.top=P(m.top,g.top),g.right=X(m.right,g.right),g.bottom=X(m.bottom,g.bottom),g.left=P(m.left,g.left),g},Bs(e,f,n));return{width:p.right-p.left,height:p.bottom-p.top,x:p.left,y:p.top}}function Fn(s){let{width:e,height:t}=Vs(s);return{width:e,height:t}}function Mn(s,e,t){let i=K(e),n=q(e),a=t==="fixed",h=le(s,!0,a,e),f={scrollLeft:0,scrollTop:0},p=U(0);function g(){p.x=it(n)}if(i||!i&&!a)if((oe(e)!=="body"||ge(n))&&(f=Be(e)),i){let v=le(e,!0,a,e);p.x=v.x+e.clientLeft,p.y=v.y+e.clientTop}else n&&g();a&&!i&&n&&g();let b=n&&!i&&!a?Is(n,f):U(0),m=h.left+f.scrollLeft-p.x-b.x,w=h.top+f.scrollTop-p.y-b.y;return{x:m,y:w,width:h.width,height:h.height}}function Wt(s){return _(s).position==="static"}function Ds(s,e){if(!K(s)||_(s).position==="fixed")return null;if(e)return e(s);let t=s.offsetParent;return q(s)===t&&(t=t.ownerDocument.body),t}function js(s,e){let t=R(s);if(ke(s))return t;if(!K(s)){let n=Z(s);for(;n&&!ae(n);){if(j(n)&&!Wt(n))return n;n=Z(n)}return t}let i=Ds(s,e);for(;i&&Ms(i)&&Wt(i);)i=Ds(i,e);return i&&ae(i)&&Wt(i)&&!et(i)?t:i||Ns(s)||t}var Nn=function(s){return F(this,null,function*(){let e=this.getOffsetParent||js,t=this.getDimensions,i=yield t(s.floating);return{reference:Mn(s.reference,yield e(s.floating),s.strategy),floating:{x:0,y:0,width:i.width,height:i.height}}})};function $n(s){return _(s).direction==="rtl"}var kn={convertOffsetParentRelativeRectToViewportRelativeRect:xn,getDocumentElement:q,getClippingRect:Ln,getOffsetParent:js,getElementRects:Nn,getClientRects:En,getDimensions:Fn,getScale:me,isElement:j,isRTL:$n};function _s(s,e){return s.x===e.x&&s.y===e.y&&s.width===e.width&&s.height===e.height}function Bn(s,e){let t=null,i,n=q(s);function a(){var f;clearTimeout(i),(f=t)==null||f.disconnect(),t=null}function h(f,p){f===void 0&&(f=!1),p===void 0&&(p=1),a();let g=s.getBoundingClientRect(),{left:b,top:m,width:w,height:v}=g;if(f||e(),!w||!v)return;let x=$e(m),E=$e(n.clientWidth-(b+w)),y=$e(n.clientHeight-(m+v)),d=$e(b),o={rootMargin:-x+"px "+-E+"px "+-y+"px "+-d+"px",threshold:P(0,X(1,p))||1},r=!0;function l(c){let C=c[0].intersectionRatio;if(C!==p){if(!r)return h();C?h(!1,C):i=setTimeout(()=>{h(!1,1e-7)},1e3)}C===1&&!_s(g,s.getBoundingClientRect())&&h(),r=!1}try{t=new IntersectionObserver(l,z(D({},o),{root:n.ownerDocument}))}catch(c){t=new IntersectionObserver(l,o)}t.observe(s)}return h(!0),a}function nt(s,e,t,i){i===void 0&&(i={});let{ancestorScroll:n=!0,ancestorResize:a=!0,elementResize:h=typeof ResizeObserver=="function",layoutShift:f=typeof IntersectionObserver=="function",animationFrame:p=!1}=i,g=zt(s),b=n||a?[...g?pe(g):[],...pe(e)]:[];b.forEach(d=>{n&&d.addEventListener("scroll",t,{passive:!0}),a&&d.addEventListener("resize",t)});let m=g&&f?Bn(g,t):null,w=-1,v=null;h&&(v=new ResizeObserver(d=>{let[u]=d;u&&u.target===g&&v&&(v.unobserve(e),cancelAnimationFrame(w),w=requestAnimationFrame(()=>{var o;(o=v)==null||o.observe(e)})),t()}),g&&!p&&v.observe(g),v.observe(e));let x,E=p?le(s):null;p&&y();function y(){let d=le(s);E&&!_s(E,d)&&t(),E=d,x=requestAnimationFrame(y)}return t(),()=>{var d;b.forEach(u=>{n&&u.removeEventListener("scroll",t),a&&u.removeEventListener("resize",t)}),m==null||m(),(d=v)==null||d.disconnect(),v=null,p&&cancelAnimationFrame(x)}}var rt=Ts;var ot=Cs,at=As,lt=Ss;var Hs=Os;var ct=(s,e,t)=>{let i=new Map,n=D({platform:kn},t),a=z(D({},n.platform),{_c:i});return Es(s,e,z(D({},n),{platform:a}))};var be=class extends A{connect(){this.showTimeout=null,this.hideTimeout=null,this.cleanup=null,this.handleKeydown=this.handleKeydown.bind(this),"ontouchstart"in window&&this.element.addEventListener("click",this.toggle.bind(this))}disconnect(){this.hide(),this.clearTimeouts(),"ontouchstart"in window&&this.element.removeEventListener("click",this.toggle.bind(this))}show(s){!this.activeValue||(this.hideOtherTooltips(),this.clearTimeouts(),this.delayValue>0?this.showTimeout=setTimeout(()=>this.createTooltip(s),this.delayValue):this.createTooltip(s))}hide(){this.clearTimeouts(),this.delayValue>0?this.hideTimeout=setTimeout(()=>this.destroyTooltip(),this.delayValue):this.destroyTooltip()}toggle(s){this.tooltip?this.hide():this.show(s)}createTooltip(s){if(this.tooltip)return;let e=(s==null?void 0:s.currentTarget)||this.element;try{let t=document.createElement("div");t.innerHTML=this.templateTarget.innerHTML,t.style.position="absolute",t.style.zIndex="9999",t.setAttribute("role","tooltip"),t.setAttribute("data-lui-tooltip-instance","true"),document.body.appendChild(t),this.tooltip=t;let i=t.firstElementChild,n=i==null?void 0:i.querySelector("[data-tooltip-arrow]");i&&(this.cleanup=nt(e,i,()=>this.updatePosition(e,i,n)),requestAnimationFrame(()=>{i.style.opacity="1"}),document.addEventListener("keydown",this.handleKeydown))}catch(t){console.warn("Tooltip positioning failed:",t),this.destroyTooltip()}}destroyTooltip(){if(this.cleanup&&(this.cleanup(),this.cleanup=null),this.tooltip){let s=this.tooltip.firstElementChild;s?(s.style.opacity="0",setTimeout(()=>{this.tooltip&&(this.tooltip.remove(),this.tooltip=null)},200)):(this.tooltip.remove(),this.tooltip=null)}document.removeEventListener("keydown",this.handleKeydown)}updatePosition(s,e,t){!e||ct(s,e,{placement:this.positionValue||"bottom",middleware:[rt(this.offsetValue),lt(),at(),ot({padding:5}),...t?[Hs({element:t})]:[]]}).then(({x:i,y:n,placement:a,middlewareData:h})=>{Object.assign(e.style,{left:`${i}px`,top:`${n}px`}),t&&h.arrow&&this.positionArrow(t,a,h.arrow)}).catch(i=>{console.warn("Tooltip positioning update failed:",i)})}positionArrow(s,e,t){let{x:i,y:n}=t,a=e.split("-")[0];Object.assign(s.style,{left:"",top:"",right:"",bottom:""});let h="-4px";switch(a){case"top":Object.assign(s.style,{left:i!=null?`${i}px`:"",bottom:h});break;case"bottom":Object.assign(s.style,{left:i!=null?`${i}px`:"",top:h});break;case"left":Object.assign(s.style,{top:n!=null?`${n}px`:"",right:h});break;case"right":Object.assign(s.style,{top:n!=null?`${n}px`:"",left:h});break}}handleKeydown(s){s.key==="Escape"&&this.tooltip&&this.hide()}hideOtherTooltips(){document.querySelectorAll('[data-lui-tooltip-instance="true"]').forEach(s=>{s!==this.tooltip&&s.remove()})}clearTimeouts(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=null),this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=null)}};T(be,"targets",["template"]),T(be,"values",{active:Boolean,position:String,delay:{type:Number,default:0},offset:{type:Number,default:8}});var ve=class extends A{constructor(){super(...arguments);T(this,"handleMouseEnter",e=>{e.target.dataset.hover=""});T(this,"handleMouseLeave",e=>{delete e.target.dataset.hover});T(this,"handleWrapperMouseEnter",e=>{e.currentTarget.dataset.hover=""});T(this,"handleWrapperMouseLeave",e=>{delete e.currentTarget.dataset.hover})}connect(){this.isOpen=!1,this.highlightedIndex=-1,this.filteredOptions=[],this.cleanup=null,this.debounceTimer=null,this.originalSelected=this.deepClone(this.selectedValue),this.initializeSelected(),this.setupHoverHandlers(),this.hasUrlValue||(this.filteredOptions=this.optionsValue)}setupHoverHandlers(){this.hasInputTarget&&(this.inputTarget.addEventListener("mouseenter",this.handleMouseEnter),this.inputTarget.addEventListener("mouseleave",this.handleMouseLeave)),this.hasInputWrapperTarget&&(this.inputWrapperTarget.addEventListener("mouseenter",this.handleWrapperMouseEnter),this.inputWrapperTarget.addEventListener("mouseleave",this.handleWrapperMouseLeave))}get isAssociationMode(){return this.hasForeignKeyValue}disconnect(){this.destroyFloating(),this.clearDebounce(),this.cleanupHoverHandlers()}cleanupHoverHandlers(){this.hasInputTarget&&(this.inputTarget.removeEventListener("mouseenter",this.handleMouseEnter),this.inputTarget.removeEventListener("mouseleave",this.handleMouseLeave)),this.hasInputWrapperTarget&&(this.inputWrapperTarget.removeEventListener("mouseenter",this.handleWrapperMouseEnter),this.inputWrapperTarget.removeEventListener("mouseleave",this.handleWrapperMouseLeave))}onInput(e){let t=e.target.value.trim();this.hasUrlValue?(this.clearDebounce(),t.length>=this.minCharsValue?this.debounceTimer=setTimeout(()=>{this.fetchOptions(t)},this.debounceValue):(this.filteredOptions=[],this.renderOptions())):this.filterClientSide(t),this.open(),this.updateCreateOption(t)}onFocus(){(!this.hasUrlValue||this.inputTarget.value.length>=this.minCharsValue)&&(this.hasUrlValue||(this.filteredOptions=this.optionsValue,this.filterClientSide(this.inputTarget.value.trim())),this.open())}onKeydown(e){if(e.ctrlKey){if(e.key==="n"){e.preventDefault(),this.isOpen?this.highlightNext():this.open();return}if(e.key==="p"){e.preventDefault(),this.isOpen?this.highlightPrevious():this.open();return}}switch(e.key){case"ArrowDown":e.preventDefault(),this.isOpen?this.highlightNext():this.open();break;case"ArrowUp":e.preventDefault(),this.isOpen?this.highlightPrevious():this.open();break;case"Enter":e.preventDefault(),this.selectHighlighted();break;case"Escape":this.close(),this.inputTarget.value="";break;case"Backspace":this.multipleValue&&this.inputTarget.value===""&&this.removeLastSelected();break;case"Tab":this.close();break}}clickOutside(e){this.element.contains(e.target)||this.close()}selectOption(e){e.stopPropagation();let t=e.currentTarget;if(t.dataset.disabled==="true")return;let i=t.dataset.value,n=t.dataset.label;this.multipleValue?this.toggleSelection(i,n):(this.setSingleSelection(i,n),this.close())}toggleSelection(e,t,i=!1){let n=this.findSelectedIndex(e);if(n>-1)this.selectedValue=this.selectedValue.filter((a,h)=>h!==n);else if(this.isAssociationMode){let a={value:e};i&&(a.custom=!0),this.selectedValue=[...this.selectedValue,a]}else this.selectedValue=[...this.selectedValue,e];this.updateSelectedTags(),this.updateHiddenFields(),this.renderOptions(),this.inputTarget.value="",this.inputTarget.focus()}findSelectedIndex(e){return this.selectedValue.findIndex(t=>{let i=typeof t=="object"?t.value:t;return String(i)===String(e)})}setSingleSelection(e,t){this.selectedValue=[e],this.inputTarget.value=t,this.updateHiddenField(e)}removeLastSelected(){this.selectedValue.length>0&&(this.selectedValue=this.selectedValue.slice(0,-1),this.updateSelectedTags(),this.updateHiddenFields(),this.renderOptions())}removeTag(e){e.preventDefault(),e.stopPropagation();let t=e.currentTarget.dataset.value,i=this.findSelectedIndex(t);i>-1&&(this.selectedValue=this.selectedValue.filter((n,a)=>a!==i)),this.updateSelectedTags(),this.updateHiddenFields(),this.renderOptions(),this.inputTarget.focus()}createCustomOption(){let e=this.inputTarget.value.trim();e&&this.allowCustomValue&&(this.multipleValue?this.toggleSelection(e,e,!0):this.setSingleSelection(e,e),this.close())}filterClientSide(e){if(!e)this.filteredOptions=this.optionsValue;else{let t=e.toLowerCase();this.filteredOptions=this.optionsValue.filter(i=>i.label.toLowerCase().includes(t))}this.highlightedIndex=this.filteredOptions.length>0?0:-1,this.renderOptions()}fetchOptions(e){return F(this,null,function*(){this.showLoading();try{let t=new URL(this.urlValue,window.location.origin);t.searchParams.set("q",e);let i=yield fetch(t,{headers:{Accept:"application/json","X-Requested-With":"XMLHttpRequest"}});if(!i.ok)throw new Error("Network error");let n=yield i.json();this.filteredOptions=n,this.highlightedIndex=n.length>0?0:-1,this.renderOptions()}catch(t){console.error("Combobox fetch error:",t),this.filteredOptions=[],this.renderOptions()}finally{this.hideLoading()}})}renderOptions(){let e=this.optionsContainerTarget;if(e.innerHTML="",this.filteredOptions.length===0){this.showNoResults();return}this.hideNoResults(),this.filteredOptions.forEach((t,i)=>{let n=this.optionTemplateTarget.content.cloneNode(!0),a=n.querySelector("[role='option']");a.dataset.value=t.value,a.dataset.label=t.label,a.dataset.index=i,a.querySelector("[data-label]").textContent=t.label,this.isValueSelected(t.value)&&(a.dataset.selected="true",a.setAttribute("aria-selected","true"),a.querySelector("[data-checkmark]").classList.remove("lui:hidden")),i===this.highlightedIndex&&(a.dataset.highlighted="true"),t.disabled&&(a.dataset.disabled="true",a.setAttribute("aria-disabled","true")),e.appendChild(n)})}updateSelectedTags(){if(!this.multipleValue||!this.hasSelectedTagsTarget)return;this.selectedTagsTarget.querySelectorAll("[data-combobox-tag]").forEach(t=>t.remove()),this.selectedValue.forEach(t=>{let i=this.getItemValue(t),n=this.findOptionByValue(i),a=n?n.label:i,h=document.createElement("span");h.setAttribute("data-combobox-tag","true"),h.className="lui:inline-flex lui:items-center lui:gap-1 lui:rounded-md lui:bg-zinc-100 lui:px-2 lui:py-0.5 lui:text-sm lui:text-zinc-700",h.innerHTML=`
6
+ <span class="lui:truncate lui:max-w-[150px]">${this.escapeHtml(a)}</span>
7
+ <button type="button" data-value="${this.escapeHtml(String(i))}" data-action="click->lui-combobox#removeTag" class="lui:text-zinc-500 lui:hover:text-zinc-700 lui:flex-shrink-0 lui:ml-0.5">
8
+ <svg class="lui:h-3.5 lui:w-3.5" viewBox="0 0 16 16" fill="currentColor">
9
+ <path d="M5.28 4.22a.75.75 0 00-1.06 1.06L6.94 8l-2.72 2.72a.75.75 0 101.06 1.06L8 9.06l2.72 2.72a.75.75 0 101.06-1.06L9.06 8l2.72-2.72a.75.75 0 00-1.06-1.06L8 6.94 5.28 4.22z"/>
10
+ </svg>
11
+ </button>
12
+ `,this.inputTarget.insertAdjacentElement("beforebegin",h)})}updateHiddenField(e){this.hasHiddenFieldTarget&&(this.hiddenFieldTarget.value=e)}updateHiddenFields(){!this.hasHiddenFieldsTarget||(this.isAssociationMode?this.updateNestedHiddenFields():this.updateSimpleHiddenFields())}updateSimpleHiddenFields(){let e=this.hiddenFieldsTarget,t=e.dataset.name;e.innerHTML="",this.selectedValue.forEach(i=>{let n=this.getItemValue(i),a=document.createElement("input");a.type="hidden",a.name=t,a.value=n,e.appendChild(a)})}updateNestedHiddenFields(){let e=this.hiddenFieldsTarget,t=e.dataset.name,i=this.foreignKeyValue,n=this.hasNestedModelValue?this.nestedModelValue:null;e.innerHTML="";let a=0;this.selectedValue.forEach(h=>{let f=typeof h=="object",p=f?h.join_id:null,g=f?h.value:h,b=f?h.custom:!this.isExistingOption(g);p&&this.addHiddenInput(e,`${t}[${a}][id]`,p),b&&n?this.addHiddenInput(e,`${t}[${a}][${n}_attributes][name]`,g):this.addHiddenInput(e,`${t}[${a}][${i}]`,g),a++}),this.originalSelected.forEach(h=>{let f=typeof h=="object"?h.value:h,p=typeof h=="object"?h.join_id:null;!this.selectedValue.some(b=>{let m=typeof b=="object"?b.value:b;return String(m)===String(f)})&&p&&(this.addHiddenInput(e,`${t}[${a}][id]`,p),this.addHiddenInput(e,`${t}[${a}][_destroy]`,"true"),a++)})}addHiddenInput(e,t,i){let n=document.createElement("input");n.type="hidden",n.name=t,n.value=i,e.appendChild(n)}open(){if(this.isOpen)return;this.isOpen=!0,this.listboxTarget.classList.remove("lui:hidden"),this.inputTarget.setAttribute("aria-expanded","true");let e=this.hasInputWrapperTarget?this.inputWrapperTarget:this.inputTarget;this.cleanup=nt(e,this.listboxTarget,()=>this.updatePosition())}close(){!this.isOpen||(this.isOpen=!1,this.listboxTarget.classList.add("lui:hidden"),this.inputTarget.setAttribute("aria-expanded","false"),this.highlightedIndex=-1,this.destroyFloating())}updatePosition(){let e=this.hasInputWrapperTarget?this.inputWrapperTarget:this.inputTarget;ct(e,this.listboxTarget,{placement:"bottom-start",middleware:[rt(4),at({padding:8}),ot({padding:8}),lt({apply({availableHeight:t,rects:i,elements:n}){n.floating.style.maxHeight=`${Math.min(240,t)}px`,n.floating.style.width=`${i.reference.width}px`}})]}).then(({x:t,y:i})=>{Object.assign(this.listboxTarget.style,{position:"absolute",left:`${t}px`,top:`${i}px`})})}destroyFloating(){this.cleanup&&(this.cleanup(),this.cleanup=null)}highlightNext(){this.filteredOptions.length!==0&&(this.highlightedIndex=(this.highlightedIndex+1)%this.filteredOptions.length,this.updateHighlight())}highlightPrevious(){this.filteredOptions.length!==0&&(this.highlightedIndex=this.highlightedIndex<=0?this.filteredOptions.length-1:this.highlightedIndex-1,this.updateHighlight())}updateHighlight(){this.optionTargets.forEach((e,t)=>{t===this.highlightedIndex?(e.dataset.highlighted="true",e.scrollIntoView({block:"nearest"})):delete e.dataset.highlighted})}selectHighlighted(){if(this.highlightedIndex>=0&&this.highlightedIndex<this.filteredOptions.length){let e=this.filteredOptions[this.highlightedIndex];if(e.disabled)return;this.multipleValue?this.toggleSelection(String(e.value),e.label):(this.setSingleSelection(String(e.value),e.label),this.close())}else this.allowCustomValue&&this.inputTarget.value.trim()&&this.createCustomOption()}highlightOption(e){let t=parseInt(e.currentTarget.dataset.index,10);isNaN(t)||(this.highlightedIndex=t,this.updateHighlight())}findOptionByValue(e){return this.optionsValue.find(t=>String(t.value)===String(e))||this.filteredOptions.find(t=>String(t.value)===String(e))}initializeSelected(){if(this.multipleValue)this.updateSelectedTags(),this.updateHiddenFields();else if(this.selectedValue.length>0){let e=this.findOptionByValue(this.selectedValue[0]);e?this.inputTarget.value=e.label:this.inputTarget.value=this.selectedValue[0]}}updateCreateOption(e){if(!this.allowCustomValue||!this.hasCreateOptionTarget)return;let t=this.filteredOptions.some(i=>String(i.value).toLowerCase()===e.toLowerCase()||i.label.toLowerCase()===e.toLowerCase());e&&!t?(this.createOptionTarget.classList.remove("lui:hidden"),this.createOptionTextTarget.textContent=e):this.createOptionTarget.classList.add("lui:hidden")}showLoading(){this.hasLoadingTarget&&(this.loadingTarget.classList.remove("lui:hidden"),this.hideNoResults())}hideLoading(){this.hasLoadingTarget&&this.loadingTarget.classList.add("lui:hidden")}showNoResults(){this.hasNoResultsTarget&&this.noResultsTarget.classList.remove("lui:hidden")}hideNoResults(){this.hasNoResultsTarget&&this.noResultsTarget.classList.add("lui:hidden")}clearDebounce(){this.debounceTimer&&(clearTimeout(this.debounceTimer),this.debounceTimer=null)}escapeHtml(e){let t=document.createElement("div");return t.textContent=e,t.innerHTML}getItemValue(e){return typeof e=="object"?e.value:e}isValueSelected(e){return this.findSelectedIndex(e)>-1}isExistingOption(e){return this.optionsValue.some(t=>String(t.value)===String(e))}deepClone(e){return JSON.parse(JSON.stringify(e))}};T(ve,"targets",["input","inputWrapper","listbox","optionsContainer","optionTemplate","option","selectedTags","hiddenField","hiddenFields","loading","noResults","createOption","createOptionText"]),T(ve,"values",{multiple:{type:Boolean,default:!1},allowCustom:{type:Boolean,default:!1},url:String,minChars:{type:Number,default:0},debounce:{type:Number,default:300},options:{type:Array,default:[]},selected:{type:Array,default:[]},foreignKey:String,nestedModel:String});var De=class extends A{constructor(){super(...arguments);T(this,"handleMouseEnter",e=>{e.target.dataset.hover=""});T(this,"handleMouseLeave",e=>{delete e.target.dataset.hover})}fieldTargetConnected(e){e.addEventListener("mouseenter",this.handleMouseEnter),e.addEventListener("mouseleave",this.handleMouseLeave)}fieldTargetDisconnected(e){e.removeEventListener("mouseenter",this.handleMouseEnter),e.removeEventListener("mouseleave",this.handleMouseLeave)}};T(De,"targets",["field"]);var I="lui";jt();var Us=Ue.start();window.Stimulus=Us;function Dn(s){s.register(`${I}-clipboard`,Te),s.register(`${I}-checkbox`,Ce),s.register(`${I}-banner`,Ke),s.register(`${I}-layout`,Se),s.register(`${I}-main`,We),s.register(`${I}-accordion`,ce),s.register(`${I}-modal`,he),s.register(`${I}-reveal`,ue),s.register(`${I}-switch`,Le),s.register(`${I}-dropdown`,de),s.register(`${I}-dropzone`,Fe),s.register(`${I}-toast`,fe),s.register(`${I}-tooltip`,be),s.register(`${I}-combobox`,ve),s.register(`${I}-field`,De)}Dn(Us);})();
@@ -1,6 +1,8 @@
1
1
  <% if @url %>
2
2
  <%= link_to @url, class: classes, data: data_attributes do %>
3
+ <%= render_icon if leading_icon? %>
3
4
  <%= content %>
5
+ <%= render_icon if trailing_icon? %>
4
6
  <% end %>
5
7
  <% else %>
6
8
  <%= content_tag :button,
@@ -8,6 +10,8 @@
8
10
  data: data_attributes,
9
11
  disabled: @disabled,
10
12
  type: @type do %>
13
+ <%= render_icon if leading_icon? %>
11
14
  <%= content %>
15
+ <%= render_icon if trailing_icon? %>
12
16
  <% end %>
13
17
  <% end %>
@@ -1,15 +1,36 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class LightningUiKit::ButtonComponent < LightningUiKit::BaseComponent
4
- def initialize(type: :button, style: :default, size: :default, disabled: false, url: nil, **options)
4
+ def initialize(type: :button, style: :default, size: :default, disabled: false, url: nil, icon: nil, icon_position: :leading, icon_variant: :outline, **options)
5
5
  @type = type
6
6
  @style = style
7
7
  @size = size
8
8
  @disabled = disabled
9
9
  @url = url
10
+ @icon = icon
11
+ @icon_position = icon_position
12
+ @icon_variant = icon_variant
10
13
  @options = options
11
14
  end
12
15
 
16
+ def render_icon
17
+ return unless @icon
18
+
19
+ heroicon(@icon, variant: @icon_variant, options: {class: icon_classes, data: {slot: "icon"}})
20
+ end
21
+
22
+ def icon_classes
23
+ "lui:shrink-0"
24
+ end
25
+
26
+ def leading_icon?
27
+ @icon && @icon_position == :leading
28
+ end
29
+
30
+ def trailing_icon?
31
+ @icon && @icon_position == :trailing
32
+ end
33
+
13
34
  def data_attributes
14
35
  @options[:data] || {}
15
36
  end
@@ -43,8 +64,8 @@ class LightningUiKit::ButtonComponent < LightningUiKit::BaseComponent
43
64
  lui:[--btn-bg:var(--lui-color-red-600)]\
44
65
  lui:[--btn-border:var(--lui-color-red-950)]/90
45
66
  lui:[--btn-hover-overlay:var(--lui-color-white)]/10\
46
- lui:[--btn-icon:var(--lui-color-red-400)]\
47
- lui:active:[--btn-icon:var(--lui-color-zinc-300)] lui:hover:[--btn-icon:var(--lui-color-zinc-300)] lui:cursor-pointer"
67
+ lui:[--btn-icon:var(--lui-color-white)]\
68
+ lui:active:[--btn-icon:var(--lui-color-white)] lui:hover:[--btn-icon:var(--lui-color-white)] lui:cursor-pointer"
48
69
  end
49
70
 
50
71
  def default_classes