Current section

Files

Jump to
live_view_ui priv static live_view_ui.mjs
Raw

priv/static/live_view_ui.mjs

var v=Object.defineProperty;var r=(t,n)=>()=>(t&&(n=t(t=0)),n);var w=(t,n)=>{for(var e in n)v(t,e,{get:n[e],enumerable:!0})};var a,d,m=r(()=>{a=(t,n,e=null)=>{let o=new CustomEvent(t,{detail:{payload:e},bubbles:!0,cancelable:!0,composed:!1});n.dispatchEvent(o)},d=(t,n)=>{let e=()=>{n(),t.removeEventListener("transitionend",e,!0)};window.getComputedStyle(t,null).getPropertyValue("transition")!==(navigator.userAgent.includes("Firefox")?"all":"all 0s ease 0s")?t.addEventListener("transitionend",e,!0):n()}});var l,p=r(()=>{l=class{constructor(n,e,o){this.el=n;this.options=e;this.events=o;this.el=n,this.options=e,this.events={}}createCollection(n,e){n.push({id:e?.el?.id||n.length+1,element:e})}fireEvent(n,e=null){if(this.events.hasOwnProperty(n))return this.events[n](e)}on(n,e){this.events[n]=e}}});var h={};w(h,{default:()=>T});var s,T,u=r(()=>{m();p();s=class extends l{constructor(e,o,i){super(e,o,i);this.toggle=this.el.querySelector(".hs-accordion-toggle")||null,this.content=this.el.querySelector(".hs-accordion-content")||null,this.group=this.el.closest(".hs-accordion-group")||null,this.isAlwaysOpened=this.group.hasAttribute("data-hs-accordion-always-open")||!1,this.toggle&&this.content&&this.init()}init(){this.createCollection(window.$hsAccordionCollection,this),this.toggle.addEventListener("click",()=>{this.el.classList.contains("active")?this.hide():this.show()})}show(){if(this.group&&!this.isAlwaysOpened&&this.group.querySelector(".hs-accordion.active")&&this.group.querySelector(".hs-accordion.active")!==this.el&&window.$hsAccordionCollection.find(o=>o.element.el===this.group.querySelector(".hs-accordion.active")).element.hide(),this.el.classList.contains("active"))return!1;this.el.classList.add("active"),this.content.style.display="block",this.content.style.height="0",setTimeout(()=>{this.content.style.height=`${this.content.scrollHeight}px`}),d(this.content,()=>{this.content.style.display="block",this.content.style.height="",this.fireEvent("open",this.el),a("open.hs.accordion",this.el,this.el)})}hide(){if(!this.el.classList.contains("active"))return!1;this.el.classList.remove("active"),this.content.style.height=`${this.content.scrollHeight}px`,setTimeout(()=>{this.content.style.height="0"}),d(this.content,()=>{this.content.style.display="",this.content.style.height="0",this.fireEvent("close",this.el),a("close.hs.accordion",this.el,this.el)})}static getInstance(e,o){let i=window.$hsAccordionCollection.find(c=>c.element.el===(typeof e=="string"?document.querySelector(e):e));return i?o?i:i.element.el:null}static show(e){let o=window.$hsAccordionCollection.find(i=>i.element.el===(typeof e=="string"?document.querySelector(e):e));o&&o.element.content.style.display!=="block"&&o.element.show()}static hide(e){let o=window.$hsAccordionCollection.find(i=>i.element.el===(typeof e=="string"?document.querySelector(e):e));o&&o.element.content.style.display==="block"&&o.element.hide()}static autoInit(){window.$hsAccordionCollection||(window.$hsAccordionCollection=[]),document.querySelectorAll(".hs-accordion:not(.--prevent-on-load-init)").forEach(e=>{window.$hsAccordionCollection.find(o=>o?.element?.el===e)||new s(e)})}static on(e,o,i){let c=window.$hsAccordionCollection.find(E=>E.element.el===(typeof o=="string"?document.querySelector(o):o));c&&(c.element.events[e]=i)}};window.addEventListener("load",()=>{s.autoInit()});typeof window<"u"&&(window.HSAccordion=s);T=s});var y={mounted(){Promise.resolve().then(()=>(u(),h)).then(t=>{t?.default?.autoInit()})},updated(){Promise.resolve().then(()=>(u(),h)).then(t=>{t?.default?.autoInit()})}};var g={mounted(){let t=this.el.querySelector("img");t.addEventListener("load",()=>{t.style.display="block"}),t.addEventListener("error",()=>{t.style.display="none"})},updated(){let t=this.el.querySelector("img");t.addEventListener("load",()=>{t.style.display="block"}),t.addEventListener("error",()=>{t.style.display="none"})}};var f={mounted(){this.el.addEventListener("click",()=>{let n=(localStorage.getItem("theme")??"light")==="dark"?"light":"dark";document.documentElement.classList.toggle("dark",n==="dark"),localStorage.setItem("theme",n)})}};var q={Avatar:g,ThemeSwitcher:f,Accordion:y};var $={onBeforeElUpdated(t,n){t.classList.contains("hs-accordion")&&(n.className=t.className)}};export{$ as dom,q as hooks};
//# sourceMappingURL=live_view_ui.mjs.map