lightning_ui_kit 0.2.5 → 0.3.0
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.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/Rakefile +2 -9
- data/app/assets/builds/lightning_ui_kit.css +31 -588
- data/app/assets/builds/lightning_ui_kit.js +2 -9
- data/app/assets/builds/lightning_ui_kit.js.map +4 -4
- data/app/assets/vendor/lightning_ui_kit.css +88 -582
- data/app/assets/vendor/lightning_ui_kit.js +2 -9
- data/app/components/lightning_ui_kit/button_component.html.erb +0 -4
- data/app/components/lightning_ui_kit/button_component.rb +3 -24
- data/app/components/lightning_ui_kit/checkbox_component.html.erb +7 -2
- data/app/components/lightning_ui_kit/checkbox_component.rb +0 -13
- data/app/components/lightning_ui_kit/dropdown_component.html.erb +1 -1
- data/app/components/lightning_ui_kit/dropdown_component.rb +1 -1
- data/app/components/lightning_ui_kit/dropzone_component.html.erb +38 -13
- data/app/components/lightning_ui_kit/dropzone_component.rb +16 -43
- data/app/components/lightning_ui_kit/file_input_component.html.erb +34 -4
- data/app/components/lightning_ui_kit/file_input_component.rb +20 -54
- data/app/components/lightning_ui_kit/input_component.html.erb +98 -14
- data/app/components/lightning_ui_kit/input_component.rb +19 -154
- data/app/components/lightning_ui_kit/modal_component.html.erb +2 -2
- data/app/components/lightning_ui_kit/select_component.html.erb +27 -6
- data/app/components/lightning_ui_kit/select_component.rb +23 -65
- data/app/components/lightning_ui_kit/textarea_component.html.erb +37 -5
- data/app/components/lightning_ui_kit/textarea_component.rb +17 -50
- data/app/javascript/lightning_ui_kit/controllers/modal_controller.js +1 -7
- data/app/javascript/lightning_ui_kit/index.js +0 -8
- data/config/deploy.yml +5 -2
- data/lib/lightning_ui_kit/engine.rb +6 -1
- data/lib/lightning_ui_kit/version.rb +1 -1
- metadata +17 -17
- data/app/components/lightning_ui_kit/combobox_component.html.erb +0 -137
- data/app/components/lightning_ui_kit/combobox_component.rb +0 -205
- data/app/components/lightning_ui_kit/layout_component.html.erb +0 -118
- data/app/components/lightning_ui_kit/layout_component.rb +0 -26
- data/app/components/lightning_ui_kit/sidebar_link_component.html.erb +0 -6
- data/app/components/lightning_ui_kit/sidebar_link_component.rb +0 -33
- data/app/components/lightning_ui_kit/sidebar_section_component.html.erb +0 -8
- data/app/components/lightning_ui_kit/sidebar_section_component.rb +0 -18
- data/app/components/lightning_ui_kit/tooltip_component.html.erb +0 -15
- data/app/components/lightning_ui_kit/tooltip_component.rb +0 -26
- data/app/javascript/lightning_ui_kit/controllers/combobox_controller.js +0 -704
- data/app/javascript/lightning_ui_kit/controllers/field_controller.js +0 -23
- data/app/javascript/lightning_ui_kit/controllers/layout_controller.js +0 -19
- data/app/javascript/lightning_ui_kit/controllers/tooltip_controller.js +0 -235
|
@@ -1,13 +1,6 @@
|
|
|
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
|
|
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
|
|
2
2
|
|
|
3
3
|
%o
|
|
4
4
|
|
|
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);})();
|
|
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);})();
|
|
13
6
|
//# sourceMappingURL=lightning_ui_kit.js.map
|