mx-ui-components-pkg 0.0.717-alpha.145 → 0.0.717-alpha.147

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.
@@ -2001,7 +2001,7 @@ https://github.com/highlightjs/highlight.js/issues/2277`),jn=wn,Rn=En),Mn===void
2001
2001
  </div>
2002
2002
  `}setupClickPlayPause(){this.querySelector(".click-overlay").addEventListener("click",()=>{this.video.paused?(this.video.play(),this.showIcon(this.getPlayIcon())):(this.video.pause(),this.showIcon(this.getPauseIcon()))})}setupKeyboardControls(){window.addEventListener("keydown",Ee=>{const Te=document.fullscreenElement===this.container;switch(["Space","ArrowLeft","ArrowRight"].includes(Ee.code)&&Te&&Ee.preventDefault(),Ee.code){case"Space":this.video.paused?(this.video.play(),this.showIcon(this.getPlayIcon())):(this.video.pause(),this.showIcon(this.getPauseIcon()));break;case"ArrowLeft":this.video.currentTime=Math.max(0,this.video.currentTime-2),this.showIcon(this.getBackwardIcon());break;case"ArrowRight":this.video.currentTime=Math.min(this.video.duration,this.video.currentTime+2),this.showIcon(this.getForwardIcon());break}})}showIcon(Ee){this.feedback.innerHTML=Ee,this.feedback.classList.add("show"),setTimeout(()=>this.feedback.classList.remove("show"),600)}getPlayIcon(){return'<svg viewBox="0 0 24 24"><path d="M8 5v14l11-7z"/></svg>'}getPauseIcon(){return'<svg viewBox="0 0 24 24"><path d="M6 19h4V5H6zm8-14v14h4V5h-4z"/></svg>'}getForwardIcon(){return'<svg viewBox="0 0 24 24"><path d="M4 18l8.5-6L4 6v12zm9.5 0l8.5-6-8.5-6v12z"/></svg>'}getBackwardIcon(){return'<svg viewBox="0 0 24 24"><path d="M20 6l-8.5 6L20 18V6zm-9.5 0L2 12l8.5 6V6z"/></svg>'}}customElements.define("mobius-custom-video",MobiusCustomVideo);class Signal{constructor(Ce){Pn(this,"value");Pn(this,"listeners",[]);this.value=Ce,this.listeners=[]}get(){return this.value}set(Ce){this.value=Ce,this.listeners.forEach(Ee=>Ee(Ce))}setWithoutNotify(Ce){this.value=Ce}attach(Ce){this.listeners.push(Ce)}detach(Ce){const Ee=this.listeners.indexOf(Ce);Ee!==-1&&this.listeners.splice(Ee,1)}}class Store{constructor(){Pn(this,"_signals",{});Pn(this,"_router",{});this._signals={}}setQueryParams(Ce){this._router.queryParams={...this._router.queryParams,...Ce}}getSignal(Ce,Ee){return this._signals[Ce]?this._signals[Ce].get()===void 0&&Ee&&this._signals[Ce].set(Ee):this._signals[Ce]=new Signal(Ee),this._signals[Ce]}garbageCollection(Ce,Ee){const Te=this._signals[Ce];Te&&Ee.forEach(Oe=>{Te.detach(Oe)})}}const Jf=class Jf extends HTMLElement{constructor(){super()}createMemory(Ce){Jf.appStoreReference[Ce]=new Store}getMemory(Ce){return Jf.appStoreReference[Ce]||this.createMemory(Ce),Jf.appStoreReference[Ce]}};Pn(Jf,"appStoreReference",{});let MobiusApp=Jf;customElements.define("mobius-app",MobiusApp);class SocketIOService{constructor(Ce){Pn(this,"isMounted");Pn(this,"store");Pn(this,"connections");this.isMounted=!1,this.connections=Ce,this.store=new Map}listenDefultEvents(Ce){Ce.on("connect",()=>{console.info(`socket.io connected to ${Ce.io.opts.hostname}`)}),Ce.on("connect_error",Ee=>{console.info(`socket.io connect_error ${Ee}`)}),Ce.on("disconnect",()=>{console.info(`socket.io disconnected from ${Ce.io.opts.hostname}`)}),Ce.on("ping",()=>{Ce.emit("pong")})}mount(){return this.connections&&(this.connections.forEach(Ce=>{const Ee=Ce.config||{},Te=lookup$5(Ce.url,{...Ee}),{onConnect:Oe}=Ce;Oe&&Te.emit(Oe.emit,Oe.data),this.store.set(Ce.url,Te),this.listenDefultEvents(Te)}),this.isMounted=!0),Promise.resolve()}unmount(){return this.store.forEach(Ce=>{Ce.disconnect(),Ce.removeAllListeners()}),this.store.clear(),this.connections=null,this.isMounted=!1,Promise.resolve()}getName(){return ServicesEnum.SOCKET_IO}isActive(){return this.isMounted}getSocket(Ce){return this.store.get(Ce)}configureEventsAndListerns(Ce,Ee){Ce.forEach(Te=>{const Oe=this.getSocket(Te.url);Oe&&Te.events.forEach(Me=>{Oe.on(Me,Be=>{Ee(Me,Be)})})})}}class ServiceManager{constructor(){Pn(this,"services");this.services=new Map}registerService(Ce){const Ee=Ce.getName();this.services.set(Ee,Ce)}mountService(Ce){const Ee=this.services.get(Ce);Ee&&Ee.mount()}unmountService(Ce){const Ee=this.services.get(Ce);Ee&&Ee.unmount()}has(Ce){return!!this.services.get(Ce)}getService(Ce){return this.services.get(Ce)}}const Gp=class Gp extends MobiusApp{constructor(){super();Pn(this,"store");Pn(this,"provider");Pn(this,"container",null);Pn(this,"currentPath",null);Pn(this,"services",{});Pn(this,"serviceManager",new ServiceManager);Pn(this,"watchLevel",0);Pn(this,"dataSource","API")}static get observedAttributes(){return["provider"]}async connectedCallback(){const Ee=this.getAttribute("services");if(Ee)try{this.services=typeof Ee=="string"?JSON.parse(Ee):Ee}catch(Te){console.log("Invalid JSON in services attributes: ",Te)}this.provider!=="root"?await this.handleRouteChange():(this.mountSocketIOService(),await this.FetchMetadata())}disconnectedCallback(){this.provider==="root"&&this.serviceManager.unmountService(ServicesEnum.SOCKET_IO)}attributeChangedCallback(Ee,Te,Oe){if(!(Te===Oe||Ee!=="provider"))try{this.provider=Oe,this.provider?(this.store=this.getMemory(this.provider),console.log("------------------>",this.store)):console.error("Pass provider to mobius container")}catch(Me){console.error("Unable to parse props",Me)}}async handleRouteChange(){const Ee=window.location.pathname;this.currentPath!==Ee&&(this.currentPath=Ee,await this.fetchAndRenderMetadata(Ee))}findCurrentWatchLevel(Ee){return Ee=="/"?0:Ee.split("/").length-1}async fetchAndRenderMetadata(Ee){var Oe;console.log("Fetching metadata for path:",Ee);let Te;if(this.dataSource=="API")Te=Ee==="/"?"/api/mobius/home":`/api/mobius${Ee}`;else{const{queryParams:Me,componentMetadataUrl:Be}=Gp.router.getJsonOnTheBasisOfPath(Ee,this.watchLevel);(Oe=this.store)==null||Oe.setQueryParams(Me),Te=Be}try{const Me=await fetch(Te);if(!Me.ok)throw new Error(`HTTP error! Status: ${Me.status}`);const Be=await Me.json(),$e=mountComponents(Be,this);$e&&(this.innerHTML="",this.appendChild($e))}catch(Me){console.error("Fetch Error:",Me),this.renderError(Me.message)}}async FetchMetadata(){console.log("Fetching metadata");const Ee=this.getAttribute("props");if(!Ee){this.renderError("Props attribute is missing or invalid.");return}console.log(Ee,"props in agent card");let Te;try{Te=typeof Ee=="string"?JSON.parse(Ee):Ee}catch($e){console.error("Invalid JSON in props attribute:",$e.message);return}const Oe=Te.method,Me=Te["api-url"],Be=Te.router;Te["auth-token"];try{if(Be&&Be.routingEnabled)this.dataSource="Local",this.watchLevel=Be.watchLevel??0,Gp.router.connectMobiusContainer(Be.watchLevel,this),this.handleRouteChange();else{if(!Me){this.renderError("API URL is missing in props.");return}fetch(Me,{method:Oe,headers:{}}).then($e=>{if(!$e.ok)throw new Error(`HTTP error! Status: ${$e.status}`);return $e.json()}).then($e=>{const Ue=this&&mountComponents($e,this);this.innerHTML="",Ue&&this.appendChild(Ue)})}}catch($e){console.error("Fetch Error:",$e),this.renderError($e.message)}}renderError(Ee){console.error("Rendering error:",Ee),this.innerHTML=`
2003
2003
  <div class="text-red-500 font-bold">Error: ${Ee}</div>
2004
- `}mountSocketIOService(){var Oe;if(!this.services)return;const Ee=((Oe=this.services.socketIO)==null?void 0:Oe.connectionDetails)||[];if(!Ee.length||this.serviceManager.has(ServicesEnum.SOCKET_IO))return;const Te=new SocketIOService(Ee);this.serviceManager.registerService(Te),this.serviceManager.mountService(ServicesEnum.SOCKET_IO)}};Pn(Gp,"router");let MobiusContainer=Gp;customElements.define("mobius-container",MobiusContainer);class MobiusLoop extends BaseComponent{constructor(){super();Pn(this,"props");Pn(this,"dataFromParent");Pn(this,"data",[]);Pn(this,"dataCopy",[])}connectedCallback(){this.initializeProps(),this.loadData(),this.setupBindings(),this.onLoad()}initializeProps(){this.props=JSON.parse(this.getAttribute("props")||"{}")||{}}async loadData(){if(this.props.API){const Ee=await this.fetchAPI();this.data=this.extractLoopData(Ee)}else this.data=this.props.Data||[];this.dataCopy=[...this.data],this.render()}extractLoopData(Ee){let Te=Ee;return this.props.loopOver&&this.props.loopOver.split(".").forEach(Oe=>{Te=(Te==null?void 0:Te[Oe])||Te}),Te}setupBindings(){const Ee=JSON.parse(this.getAttribute("bindings")||"{}")||{};this.setBindings(Ee,Te=>this.handleSearch(Te))}handleSearch(Ee){var Me,Be,$e,Ue,He;if(!((Be=(Me=this.props)==null?void 0:Me.search)!=null&&Be.searchOver))return;this.innerHTML="";const Te=(Ue=($e=this.props)==null?void 0:$e.search)==null?void 0:Ue.searchBoxName;if(!Te){console.warn("searchBoxName is not provided in mobius-loop");return}const Oe=((He=Ee==null?void 0:Ee[Te])==null?void 0:He.toLowerCase())||"";this.data=Oe?this.dataCopy.filter(Ve=>String(Ve[this.props.search.searchOver]).toLowerCase().includes(Oe)):[...this.dataCopy],this.render()}setDataFromParent(Ee){this.dataFromParent=Ee}async fetchAPI(){let{apiUrl:Ee,method:Te="GET",bearerToken:Oe,body:Me={},dynamicBody:Be={}}=this.props.API;if(Object.keys(Be).length&&this.dataFromParent&&(Me=resolveDynamicData(Be,this.dataFromParent,Me)),Me=replaceCurlyBraces(Me),Ee.includes("{")){const He=[...Ee.matchAll(/\{(.*?)\}/g)];switch(this.props.API.dynamicStorageSource){case"localStorage":He.forEach(Ve=>{let We=Ve[1],ze=localStorage.getItem(We)||"";Ee=Ee.replace(Ve[0],ze)});break;default:He.forEach(Ve=>{let We=Ve[1],ze=localStorage.getItem(We)||"";Ee=Ee.replace(Ve[0],ze)});break}}if(Te!=="GET"&&!Object.keys(Me).length)return;const $e={"Content-Type":"application/json",Authorization:`Bearer ${Oe}`},Ue={method:Te,headers:$e};Te!=="GET"&&Object.keys(Me).length&&(Ue.body=JSON.stringify(Me));try{return(await fetch(Ee,Ue)).json()}catch(He){return console.error("Error fetching API data",He),[]}}render(){const Ee=this.props.component,Te=this.querySelector("mobius-loop");Array.isArray(this.data)&&this.data.forEach((Oe,Me)=>{var Ue;const Be=JSON.parse(JSON.stringify(Ee));Be.dynamicProps&&(Be.props=resolveDynamicData(Be.dynamicProps,Oe,Be.props)),(Ue=Be.propsIndex)!=null&&Ue[Me]&&(Be.props={...Be.props,...Be.propsIndex[Me]});const $e=createElementFromMetadata(Be,this);if(this.props.isPiped){const He=Te.cloneNode(!0);He.setDataFromParent(Oe),console.log($e),$e==null||$e.appendChild(He)}this.appendChild($e)}),Te==null||Te.remove()}}customElements.define("mobius-loop",MobiusLoop);class MobiusTab extends BaseComponent{constructor(){super();Pn(this,"props")}connectedCallback(){this.className=`block ${this.className}`}getTabData(){var Ee,Te,Oe;return this.props=JSON.parse(this.getAttribute("props")),{header:this.props.header,icon:{left:this.props.leftIcon,right:this.props.rightIcon,size:this.props.size},stateHeader:((Ee=this.props)==null?void 0:Ee.stateHeader)||"",iconCss:this.props.iconCss,bindings:((Te=this.meta.props)==null?void 0:Te.tabBindings)||this.meta.bindings,props:((Oe=this.meta.props)==null?void 0:Oe.tabProps)||this.meta.props}}}customElements.define("mobius-tab",MobiusTab);class MobiusTabs extends BaseComponent{constructor(){super();Pn(this,"Tabs",[]);Pn(this,"props",{});Pn(this,"selectedTab",0);Pn(this,"tabContainer",null);Pn(this,"findByHeaderOrIndex",Ee=>{var Te,Oe,Me;if(typeof Ee=="number"){const Be=(Te=this.Tabs)==null?void 0:Te[Ee];return{index:Ee,tab:Be}}else if(typeof Ee=="string"){const Be=(Oe=this.Tabs)==null?void 0:Oe.findIndex(Ue=>Ue.header===Ee),$e=Be!==-1?(Me=this.Tabs)==null?void 0:Me[Be]:void 0;return{index:Be,tab:$e}}else return{index:-1,tab:void 0}})}connectedCallback(){var Me;this.props=JSON.parse(this.getAttribute("props")||"{}");const Ee=JSON.parse(this.getAttribute("bindings")||"{}");this.setBindings(Ee,Be=>{let $e=this.findByHeaderOrIndex(Be);$e.tab&&$e.index!=this.selectedTab&&(this.selectedTab=$e.index==-1?this.selectedTab:$e==null?void 0:$e.index,this.updateActiveTab($e==null?void 0:$e.tab,$e.index))}),this.initializeTabs();const Te=this.getState()||((Me=this.signal)==null?void 0:Me.get())||0,Oe=this.findByHeaderOrIndex(Te);this.selectedTab=Oe.index==-1?0:Oe==null?void 0:Oe.index,Oe.tab&&this.updateActiveTab(Oe.tab,Oe.index),this.onLoad()}initializeTabs(){this.tabContainer=document.createElement("div"),this.tabContainer.className="flex w-full cursor-pointer "+this.props.tabContainerStyles,this.props.variant=="light"&&(this.tabContainer.className+=" shadow rounded"),Array.from(this.children).forEach((Ee,Te)=>{var Oe,Me;if(Ee.localName==="mobius-tab"){let Be=this.selectedTab===Te;const $e=(Oe=Ee.getTabData)==null?void 0:Oe.call(Ee);let Ue={type:"mobius-div",version:"V1",value:"",styles:this.getStyles(Be,Te)+` ${this.props.tabCss??""}`,bindings:$e==null?void 0:$e.bindings,props:$e==null?void 0:$e.props,children:[]},He=mountComponents([Ue],this);He=He.querySelector("mobius-div"),He.textContent=$e.header??`Tab ${Te+1}`,this.addIcon($e.icon,$e.size??"base",$e.iconCss,He),(Me=this.tabContainer)==null||Me.appendChild(He);const Ve={tabChild:Ee,isActive:Be,tabElement:He,header:$e.stateHeader??$e.header};He.addEventListener("click",()=>this.updateActiveTab(Ve,Te)),this.Tabs.push(Ve),Be||Ee.classList.add("hidden")}}),this.insertBefore(this.tabContainer,this.firstChild)}addIcon(Ee,Te,Oe,Me){let Be={xs:"w-[16px] h-[16px]",sm:"w-[16px] h-[16px]",base:"w-[20px] h-[20px]",lg:"w-[24px] h-[24px]",xl:"w-[24px] h-[24px]"};const $e=document.createElement("img");Ee!=null&&Ee.left?($e.src=Ee.left,$e.className=Be[Te??"base"]+` ${Oe}`):$e.className="none";const Ue=document.createElement("img");Ee!=null&&Ee.right?(Ue.src=Ee.right,Ue.className=Be[Te]):Ue.className+="none",Me.insertBefore($e,Me.firstChild),Me.appendChild(Ue)}getStyles(Ee,Te=0){switch(this.props.variant){case"button":return`w-full text-sm-font-medium px-3 py-4 transition-all text-center flex gap-2 justify-center ${Ee?"bg-primary-600 rounded color-white "+this.props.activeCss:""}`;case"light":return`w-full text-sm-font-medium color-gray-500 px-3 py-4 ${Te==0?"":"border-l-2"} transition-all text-center flex gap-2 justify-center ${Ee?"bg-gray-50 color-gray-900"+this.props.activeCss:""}`;case"underline":return`w-full text-sm-font-medium border-b-2 pb-2 transition-all text-center flex gap-2 justify-center ${Ee?"color-primary-600 border-primary-600 "+this.props.activeCss:"color-gray-500 border-gray-300"}`;default:return`w-full text-sm-font-medium border-b-2 pb-2 transition-all text-center flex gap-2 justify-center ${Ee?"color-primary-600 border-primary-600 "+this.props.activeCss:"color-gray-500 border-gray-300"}`}}updateActiveTab(Ee,Te){var Me,Be,$e,Ue;const Oe=this.Tabs.findIndex(He=>He.isActive);this.Tabs[Oe]&&(this.Tabs[Oe].isActive=!1,this.Tabs[Oe].tabChild.classList.add("hidden"),this.Tabs[Oe].tabElement.className=this.getStyles(!1,Oe)+` ${(Me=this.props)==null?void 0:Me.tabCss}`),Ee.isActive=!0,Ee.tabChild.classList.remove("hidden"),Ee.tabElement.className=this.getStyles(!0,Te)+` ${(Be=this.props)==null?void 0:Be.tabCss} ${($e=this.props)==null?void 0:$e.activeCss}`,(Ue=this.signal)==null||Ue.set(Te),this.updateState(Te)}}customElements.define("mobius-tabs",MobiusTabs);class ButtonGroupButton extends BaseComponent{constructor(){super();Pn(this,"buttonValue")}static get observedAttributes(){return["props","bindings"]}attributeChangedCallback(Ee,Te,Oe){var Me;if(Te!==Oe){if(Ee==="props"){const Be=JSON.parse(Oe);Be.span&&(this.style.gridColumn=`span ${Be.span}`),Be.value&&(this.buttonValue=Be.value),this.className="px-4 py-2 w-full border-r border-gray-200 cursor-pointer hover:bg-gray-100 text-center text-sm-font-medium flex gap-2",this.addIcon(Be==null?void 0:Be.icon,Be==null?void 0:Be.size)}else if(Ee==="bindings"){const Be=JSON.parse(Oe);this.setBindings(Be,Ue=>{this.setSelectedButtonCss(Ue)});const $e=((Me=this.signal)==null?void 0:Me.get())||this.getState()||{};this.setSelectedButtonCss($e)}}}setSelectedButtonCss(Ee){Ee&&(Ee==this.buttonValue?this.className+=" bg-gray-100 color-primary-600 ":this.className="px-4 py-2 w-full border-r border-gray-200 cursor-pointer hover:bg-gray-100 text-center text-sm-font-medium flex gap-2")}addIcon(Ee,Te="base"){let Oe={xs:"w-[16px] h-[16px]",sm:"w-[16px] h-[16px]",base:"w-[20px] h-[20px]",lg:"w-[24px] h-[24px]",xl:"w-[24px] h-[24px]"};const Me=document.createElement("img");Ee?(Me.src=Ee,Me.className=Oe[Te]):Me.className="none",this.insertBefore(Me,this.firstChild)}}customElements.define("mobius-button-group-button",ButtonGroupButton);class ButtonGroup extends BaseComponent{constructor(){super();Pn(this,"props",{});this.updateLastChildBorder()}static get observedAttributes(){return["props","bindings"]}attributeChangedCallback(Ee,Te,Oe){if(Te!==Oe){if(Ee==="props"){this.props=JSON.parse(Oe);const{grid:Me}=this.props;this.style.gridTemplateColumns=`repeat(${Me}, 1fr)`,this.className="rounded-md border border-gray-200 grid"}else if(Ee==="bindings"){const Me=JSON.parse(Oe);this.setBindings(Me,()=>console.log("Button Group State Updated"))}}}updateLastChildBorder(){const Ee=this.children;Ee.length>0&&Array.from(Ee)[Ee.length-1].classList.remove("border-r")}}customElements.define("mobius-button-group",ButtonGroup);class BadgeElement extends BaseComponent{constructor(){super();Pn(this,"_value",null);Pn(this,"defaultValues",{src:"",color:"primary",size:"",rounded:!1,border:!1})}static get observedAttributes(){return["props","bindings","events"]}applyColorStyle(Ee){Ee&&this.classList.add(`bg-${Ee}-100`,`text-${Ee}-800`)}applySizeStyle(Ee){const Te=Ee==="large"?"text-sm":"text-xs";this.classList.add(Te)}applyBorderStyle(Ee,Te,Oe){Te&&(this.classList.add(Ee),Oe&&Oe.trim()&&this.classList.add(`border-${Oe}-400`))}attributeChangedCallback(Ee,Te,Oe){if(Te!==Oe){if(Ee==="props")try{let Me=JSON.parse(Oe||"{}");Me=addMissingDefaults(Me,this.defaultValues);const Be=["inline-flex","items-center","justify-center","px-2.5","py-0.5","gap-1"];this.classList.add(...Be),Object.entries(Me).forEach(([$e,Ue])=>{switch($e){case"color":this.applyColorStyle(Ue);break;case"size":this.applySizeStyle(Ue);break;case"dismissable":Ue&&this.addDismissListener();break;case"rounded":Ue&&this.classList.add($e);break;case"border":this.applyBorderStyle($e,Ue,Me.color||null);break;default:this.setAttribute($e,Ue);break}})}catch(Me){console.error("Error parsing props:",Me)}else if(Ee==="bindings"){const Me=JSON.parse(Oe||"{}");this.setBindings(Me,()=>console.log("Binded"))}else Te!==Oe&&this.setAttribute(Ee,Oe??"");this.render()}}get value(){return this._value}set value(Ee){this._value!==Ee&&(this._value=Ee,this.render())}render(){var Te;let Ee=(Te=JSON.parse(this.getAttribute("props")))==null?void 0:Te.value;this.value?this.innerHTML=`${this.value}`:Ee&&(this.innerHTML=Ee)}disconnectedCallback(){super.disconnectedCallback();const Ee=this.querySelector(".dismiss");Ee&&Ee.removeEventListener("click",this.dismissBadge.bind(this))}addDismissListener(){const Ee=this.querySelector(".dismiss");Ee&&Ee.addEventListener("click",this.dismissBadge.bind(this))}dismissBadge(){this.dispatchEvent(new CustomEvent("badge-dismissed",{bubbles:!0,composed:!0})),this.remove()}}customElements.define("mobius-badge",BadgeElement);class BadgeGroup extends BaseComponent{constructor(){super();Pn(this,"align","horizontal");Pn(this,"gap",1);Pn(this,"selectedValues",[]);Pn(this,"selectedItems",{});Pn(this,"name","");Pn(this,"styles","");Pn(this,"badgeProps",{});Pn(this,"renderChilds",()=>{var Ee;for(;this.firstChild;)this.removeChild(this.firstChild);(Ee=Object.entries(this.selectedItems))==null||Ee.forEach(([Te,Oe])=>{this.buildBadge(Oe,Te)})});Pn(this,"buildBadge",(Ee,Te)=>{var We,ze,Ge,qe,Ke,Ye,Qe,Xe,Ze,Je,en,tn,St,sn,nn,dn,cn,an,pn,hn;let Oe=[{type:"mobius-badge",props:{...(We=this.badgeProps)==null?void 0:We.props,APIData:{key:Te,value:Ee},key:Te,value:Ee},bindings:(ze=this.badgeProps)==null?void 0:ze.bindings,styles:(Ge=this.badgeProps)==null?void 0:Ge.styles,children:[{type:"mobius-div",props:{...(qe=this.badgeProps)==null?void 0:qe.props,APIData:{key:Te,value:Ee},key:Te,value:Ee},bindings:{},styles:(Ye=(Ke=this.badgeProps)==null?void 0:Ke.textContainerProps)==null?void 0:Ye.styles,children:[]},{id:"uysafigfvuusdv",name:"Interface",type:"mobius-img",props:{...(Qe=this.badgeProps)==null?void 0:Qe.iconProps,APIData:{key:Te,value:Ee},key:Te,value:Ee},styles:(Ze=(Xe=this.badgeProps)==null?void 0:Xe.iconProps)==null?void 0:Ze.styles,value:"",children:[],bindings:(Je=this.badgeProps)==null?void 0:Je.iconBindings}]}];const Me=mountComponents(Oe,this);let Be=Me.querySelector("mobius-img");this.appendChild(Me),Be==null||Be.addEventListener("click",An=>{An==null||An.preventDefault(),An==null||An.stopImmediatePropagation(),this.badgeDismissed(Ee)});let $e=new BadgeElement;if((tn=(en=this.badgeProps)==null?void 0:en.styles)!=null&&tn.trim()){const An=this.badgeProps.styles.split(/\s+/).filter(Boolean);An.length>0&&$e.classList.add(...An)}$e.setAttribute("props",JSON.stringify(((St=this.badgeProps)==null?void 0:St.props)??"{}")),$e.setAttribute("bindings",JSON.stringify(((sn=this.badgeProps)==null?void 0:sn.bindings)??"{}")),$e.setAttribute("events",JSON.stringify(((nn=this.badgeProps)==null?void 0:nn.events)??"{}"));let Ue=new DivElement;Ue.value=Ee,Ue.setAttribute("props",JSON.stringify((dn=this.badgeProps)==null?void 0:dn.textContainerProps));let He=new customImg;const Ve=(an=(cn=this.badgeProps)==null?void 0:cn.iconProps)==null?void 0:an.styles.split(/\s+/).filter(Boolean);return(pn=He==null?void 0:He.classList)==null||pn.add("dismiss"),(Ve==null?void 0:Ve.length)>0&&He.classList.add(...Ve),He.setAttribute("props",JSON.stringify((hn=this.badgeProps)==null?void 0:hn.iconProps)),He.addEventListener("click",An=>{An==null||An.preventDefault(),An==null||An.stopImmediatePropagation(),this.badgeDismissed(Ee)}),$e.appendChild(Ue),$e.appendChild(He),$e});Pn(this,"badgeDismissed",Ee=>{var Me,Be,$e,Ue;let Te=this.findKeyByValue(this.selectedItems,Ee);if(!Te)return;delete this.selectedItems[Te];const Oe=((Me=this.signal)==null?void 0:Me.get())||this.getState();(Ue=this.signal)==null||Ue.set({...this.signal.value,[this.name+"state"]:{...($e=(Be=this.signal)==null?void 0:Be.value)==null?void 0:$e[this.name+"state"],selectedItems:{...this.selectedItems}},[this.name]:Object.keys({...this.selectedItems})}),this.updateState({...Oe,[this.name+"state"]:{...Oe==null?void 0:Oe[this.name+"state"],selectedItems:{...this.selectedItems}},[this.name]:Object.keys({...this.selectedItems})})})}static get observedAttributes(){return["props","bindings"]}attributeChangedCallback(Ee,Te,Oe){if(Oe!==Te){if(Ee==="props"&&Oe!==Te){Object.assign(this,JSON.parse(Oe||"{}"));const Me=this.styles.split(/\s+/).filter(Boolean);Me.length>0&&this.classList.add(...Me)}else if(Ee==="bindings"){const Me=JSON.parse(Oe||"{}");this.setBindings(Me,Be=>{var $e,Ue,He;this.selectedValues=Object.values((($e=Be==null?void 0:Be[this.name+"state"])==null?void 0:$e.selectedItems)??{}),this.selectedItems=((Ue=Be==null?void 0:Be[this.name+"state"])==null?void 0:Ue.selectedItems)??{},this.classList.toggle("hidden",((He=this.selectedValues)==null?void 0:He.length)===0),this.renderChilds()})}}}findKeyByValue(Ee,Te){return Object.keys(Ee).find(Oe=>typeof Ee[Oe]=="string"&&Ee[Oe].toLowerCase()===Te.toLowerCase())}connectedCallback(){this.classList.add("hidden");let Ee;Ee=this.parentElement,this.name=Ee.name??"",this.addListeners()}handleClick(Ee){}addListeners(){}disconnectedCallback(){super.disconnectedCallback()}render(){}}customElements.define("mobius-badge-group",BadgeGroup);class MobiusButton extends BaseComponent{constructor(){super();Pn(this,"props",{});Pn(this,"services",{})}static get observedAttributes(){return["props","bindings","services"]}attributeChangedCallback(Ee,Te,Oe){if(Ee==="props")this.props=JSON.parse(Oe);else if(Ee==="bindings"){const Me=JSON.parse(Oe);this.setBindings(Me,()=>{console.log("Button Clicked")})}else Ee==="services"&&(this.services=JSON.parse(Oe))}connectedCallback(){var Ee,Te,Oe,Me,Be;super.connectedCallback(),this.className=" flex content-center item-center "+this.className,this.addStyle((Ee=this.props)==null?void 0:Ee.variant),this.addSize((Te=this.props)==null?void 0:Te.size),this.addIcon((Oe=this.props)==null?void 0:Oe.icon,(Me=this.props)==null?void 0:Me.size,(Be=this.props)==null?void 0:Be.imageStyle),this.onLoad()}addIcon(Ee,Te,Oe){Ee=replaceCurlyBraces(Ee,"state",{},this.meta.props,this);let Me={xs:"w-[16px] h-[16px]",sm:"w-[16px] h-[16px]",base:"w-[20px] h-[20px]",lg:"w-[24px] h-[24px]",xl:"w-[24px] h-[24px]"};this.querySelectorAll("img").forEach($e=>$e.remove());let Be=!1;if(Ee!=null&&Ee.left){Be=!0;const $e=document.createElement("img");$e.src=Ee.left,$e.className=Me[Te??"base"]+` mr-2 ${Oe}`,this.insertBefore($e,this.firstChild)}if(Ee!=null&&Ee.right){Be=!0;const $e=document.createElement("img");$e.src=Ee.right,$e.className=Me[Te??"base"]+` ml-2 ${Oe}`,this.appendChild($e)}Be||this.classList.add("justify-evenly")}addStyle(Ee){switch(Ee){case"primary":this.className=" color-white cursor-pointer bg-primary-700 hover-bg-primary-800 focus:border[3px] focus:border-primary-200 "+this.className;break;case"gray":this.className=" color-white cursor-pointer bg-gray-800 hover-bg-gray-700 focus:border[3px] focus:border-gray-200 "+this.className;break;case"light":this.className=" color-gray-800 cursor-pointer bg-gray-200 hover-bg-gray-300 focus:border[3px] focus:border-gray-100 "+this.className;break;case"green":this.className=" color-white cursor-pointer bg-green-700 hover-bg-green-800 focus:border[3px] focus:border-green-200 "+this.className;break;case"red":this.className=" color-white cursor-pointer bg-red-700 hover-bg-red-800 focus:border[3px] focus:border-red-200 "+this.className;break;case"outline-primary":this.className=" color-primary-700 cursor-pointer border border-primary-700 hover-bg-primary-800 hover-color-white focus:border[3px] focus:border-primary-200 "+this.className;break;case"outline-green":this.className=" color-green-700 cursor-pointer border border-green-700 hover-bg-green-800 hover:text-white focus:border[3px] focus:border-green-200 "+this.className;break;case"outline-red":this.className=" color-red-700 cursor-pointer border border-red-700 hover-bg-red-800 hover:text-white focus:border[3px] focus:border-red-200 "+this.className;break;case"outline-light":this.className=" color-gray-800 cursor-pointer border border-gray-700 hover-bg-gray-700 hover:text-white focus:border[3px] focus:border-gray-200 "+this.className;break;case"outline-extra-light":this.className=" color-gray-800 cursor-pointer border border-gray-200 hover-bg-gray-300 hover:text-white focus:border[3px] focus:border-gray-200 "+this.className;break;case"outline-extra-light-primary":this.className=" color-gray-800 cursor-pointer border border-gray-200 hover-bg-gray-300 hover-color-primary-600 focus:border[3px] focus:border-gray-200 "+this.className;break;default:this.className=" color-white cursor-pointer bg-primary-700 hover-bg-primary-800 focus:border[3px] border-primary-200 "+this.className}}addSize(Ee){switch(Ee){case"xs":this.className=" px-3 py-2 min-w-[136px] w-fit min-h-[34px] rounded-lg text-xs-font-medium "+this.className;break;case"sm":this.className=" px-3 py-2 min-w-[147px] w-fit min-h-[37px] rounded-lg text-sm-font-medium "+this.className;break;case"base":this.className=" px-5 py-2-5 min-w-[171px] w-fit min-h-[41px] rounded-lg text-sm-font-medium "+this.className;break;case"lg":this.className=" px-5 py-3 min-w-[190px] w-fit min-h-[48px] rounded-lg text-base-font-medium "+this.className;break;case"xl":this.className=" px-6 py-3-5 min-w-[198px] w-fit min-h-[52px] rounded-lg text-base-font-medium "+this.className;break;default:this.className=" px-5 py-2-5 min-w-[171px] w-fit min-h-[41px] rounded-lg text-sm-font-medium "+this.className}}}customElements.define("mobius-button",MobiusButton);const CloseIcon="data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M13.4115%2012L18.6952%206.71628C18.7906%206.62419%2018.8666%206.51404%2018.919%206.39225C18.9713%206.27046%2018.9988%206.13947%2019%206.00692C19.0011%205.87438%2018.9759%205.74293%2018.9257%205.62025C18.8755%205.49756%2018.8013%205.38611%2018.7076%205.29238C18.6139%205.19865%2018.5024%205.12453%2018.3798%205.07434C18.2571%205.02414%2018.1256%204.99889%2017.9931%205.00004C17.8605%205.00119%2017.7295%205.02873%2017.6078%205.08104C17.486%205.13336%2017.3758%205.20941%2017.2837%205.30475L12%2010.5885L6.71628%205.30475C6.528%205.12291%206.27584%205.0223%206.01411%205.02457C5.75237%205.02685%205.502%205.13183%205.31691%205.31691C5.13183%205.502%205.02685%205.75237%205.02457%206.01411C5.0223%206.27584%205.12291%206.528%205.30475%206.71628L10.5885%2012L5.30475%2017.2837C5.20941%2017.3758%205.13336%2017.486%205.08104%2017.6078C5.02873%2017.7295%205.00119%2017.8605%205.00004%2017.9931C4.99889%2018.1256%205.02414%2018.2571%205.07434%2018.3798C5.12453%2018.5024%205.19865%2018.6139%205.29238%2018.7076C5.38611%2018.8013%205.49756%2018.8755%205.62025%2018.9257C5.74293%2018.9759%205.87438%2019.0011%206.00692%2019C6.13947%2018.9988%206.27046%2018.9713%206.39225%2018.919C6.51404%2018.8666%206.62419%2018.7906%206.71628%2018.6952L12%2013.4115L17.2837%2018.6952C17.472%2018.8771%2017.7242%2018.9777%2017.9859%2018.9754C18.2476%2018.9732%2018.498%2018.8682%2018.6831%2018.6831C18.8682%2018.498%2018.9732%2018.2476%2018.9754%2017.9859C18.9777%2017.7242%2018.8771%2017.472%2018.6952%2017.2837L13.4115%2012Z'%20fill='%231F2A37'/%3e%3c/svg%3e";class ToastElement extends BaseComponent{constructor(){super();Pn(this,"props",{position:"top-right",dismissable:!0,autoHideWithIn:100,showProgressBar:!0,progressBarColor:"#76c7c0",backgroundColor:"white",defaultOpen:!1,toastValue:""});Pn(this,"timerId",null);Pn(this,"progressIntervalId",null);Pn(this,"positions",{"top-left":"absolute top-10 start-10","top-right":"absolute top-10 end-10","bottom-left":"absolute bottom-10 start-10","bottom-right":"absolute bottom-10 end-10",none:""})}static get observedAttributes(){return["props","bindings"]}applyPositionStyles(){this.className+=" "+this.positions[this.props.position]}addCloseIconToToast(){if(this.props.dismissable){let Ee=document.createElement("img");Ee.setAttribute("id","toast-close"),Ee.setAttribute("src",CloseIcon),Ee.className="ms-auto -mx-1.5 -my-1.5 h-5 w-5",Ee.addEventListener("click",this.dismissToast.bind(this)),this.append(Ee)}}addProgressBar(Ee){const Te=document.createElement("div");Te.setAttribute("id","toast-progress-bar"),Te.style.position="absolute",Te.style.bottom="0",Te.style.left="0",Te.style.height="4px",Te.style.width="100%",Te.style.backgroundColor=this.props.progressBarColor,Te.style.transition=`width ${Ee}s linear`,this.append(Te),setTimeout(()=>{Te.style.width="0%"},0),this.progressIntervalId=setTimeout(()=>{Te.remove()},Ee*1e3)}addAutoCloseEvent(){const Ee=this.props.autoHideWithIn;this.props.showProgressBar&&this.addProgressBar(Ee),this.timerId=setTimeout(()=>{this.dismissToast()},Ee*1e3)}attributeChangedCallback(Ee,Te,Oe){if(Te!==Oe){if(Ee==="props")try{this.props={...this.props,...JSON.parse(Oe||"{}")};const Me=["flex","items-center","w-full","max-w-xs","p-4","text-gray-500","gap-4","rounded-lg","shadow",`bg-${this.props.backgroundColor}`];this.classList.add(...Me),this.className+=" "+(this.props.styles??""),this.props.toastValue&&(this.innerText=this.props.toastValue),this.applyPositionStyles(),this.addCloseIconToToast(),this.addAutoCloseEvent()}catch(Me){console.error("Error parsing props:",Me)}if(Ee==="bindings"){const Me=JSON.parse(Oe||"{}");this.setBindings(Me,Be=>{console.log("toast--",Be),this.toggleView(Be)})}else Te!==Oe&&this.setAttribute(Ee,Oe??"")}}disconnectedCallback(){super.disconnectedCallback();const Ee=this.querySelector(".toast-close");Ee&&Ee.removeEventListener("click",this.dismissToast.bind(this)),this.timerId&&clearTimeout(this.timerId),this.progressIntervalId&&clearTimeout(this.progressIntervalId),this.classList.add("hidden")}dismissToast(){this.dispatchEvent(new CustomEvent("toast-dismissed",{bubbles:!0,composed:!0})),this.remove(),this.timerId&&clearTimeout(this.timerId),this.progressIntervalId&&clearTimeout(this.progressIntervalId)}toggleView(Ee=!1){Ee?this.classList.remove("hidden"):this.classList.add("hidden")}}customElements.define("mobius-toast",ToastElement);function t$2(De,Ce,Ee,Te){return new(Ee||(Ee=Promise))(function(Oe,Me){function Be(He){try{Ue(Te.next(He))}catch(Ve){Me(Ve)}}function $e(He){try{Ue(Te.throw(He))}catch(Ve){Me(Ve)}}function Ue(He){var Ve;He.done?Oe(He.value):(Ve=He.value,Ve instanceof Ee?Ve:new Ee(function(We){We(Ve)})).then(Be,$e)}Ue((Te=Te.apply(De,Ce||[])).next())})}typeof SuppressedError=="function"&&SuppressedError;let e$4=class{constructor(){this.listeners={}}on(Ce,Ee,Te){if(this.listeners[Ce]||(this.listeners[Ce]=new Set),Te==null?void 0:Te.once){const Oe=(...Me)=>{this.un(Ce,Oe),Ee(...Me)};return this.listeners[Ce].add(Oe),()=>this.un(Ce,Oe)}return this.listeners[Ce].add(Ee),()=>this.un(Ce,Ee)}un(Ce,Ee){var Te;(Te=this.listeners[Ce])===null||Te===void 0||Te.delete(Ee)}once(Ce,Ee){return this.on(Ce,Ee,{once:!0})}unAll(){this.listeners={}}emit(Ce,...Ee){this.listeners[Ce]&&this.listeners[Ce].forEach(Te=>Te(...Ee))}};const i$6={decode:function(De,Ce){return t$2(this,void 0,void 0,function*(){const Ee=new AudioContext({sampleRate:Ce});try{return yield Ee.decodeAudioData(De)}finally{Ee.close()}})},createBuffer:function(De,Ce){if(!De||De.length===0)throw new Error("channelData must be a non-empty array");if(Ce<=0)throw new Error("duration must be greater than 0");if(typeof De[0]=="number"&&(De=[De]),!De[0]||De[0].length===0)throw new Error("channelData must contain non-empty channel arrays");(function(Te){const Oe=Te[0];if(Oe.some(Me=>Me>1||Me<-1)){const Me=Oe.length;let Be=0;for(let $e=0;$e<Me;$e++){const Ue=Math.abs(Oe[$e]);Ue>Be&&(Be=Ue)}for(const $e of Te)for(let Ue=0;Ue<Me;Ue++)$e[Ue]/=Be}})(De);const Ee=De.map(Te=>Te instanceof Float32Array?Te:Float32Array.from(Te));return{duration:Ce,length:Ee[0].length,sampleRate:Ee[0].length/Ce,numberOfChannels:Ee.length,getChannelData:Te=>{const Oe=Ee[Te];if(!Oe)throw new Error(`Channel ${Te} not found`);return Oe},copyFromChannel:AudioBuffer.prototype.copyFromChannel,copyToChannel:AudioBuffer.prototype.copyToChannel}}};function n$2(De,Ce){const Ee=Ce.xmlns?document.createElementNS(Ce.xmlns,De):document.createElement(De);for(const[Te,Oe]of Object.entries(Ce))if(Te==="children"&&Oe)for(const[Me,Be]of Object.entries(Oe))Be instanceof Node?Ee.appendChild(Be):typeof Be=="string"?Ee.appendChild(document.createTextNode(Be)):Ee.appendChild(n$2(Me,Be));else Te==="style"?Object.assign(Ee.style,Oe):Te==="textContent"?Ee.textContent=Oe:Ee.setAttribute(Te,Oe.toString());return Ee}function s$2(De,Ce,Ee){const Te=n$2(De,Ce||{});return Ee==null||Ee.appendChild(Te),Te}var r$3=Object.freeze({__proto__:null,createElement:s$2,default:s$2});const o$2={fetchBlob:function(De,Ce,Ee){return t$2(this,void 0,void 0,function*(){const Te=yield fetch(De,Ee);if(Te.status>=400)throw new Error(`Failed to fetch ${De}: ${Te.status} (${Te.statusText})`);return function(Oe,Me){t$2(this,void 0,void 0,function*(){if(!Oe.body||!Oe.headers)return;const Be=Oe.body.getReader(),$e=Number(Oe.headers.get("Content-Length"))||0;let Ue=0;const He=Ve=>{Ue+=(Ve==null?void 0:Ve.length)||0;const We=Math.round(Ue/$e*100);Me(We)};try{for(;;){const Ve=yield Be.read();if(Ve.done)break;He(Ve.value)}}catch(Ve){console.warn("Progress tracking error:",Ve)}})}(Te.clone(),Ce),Te.blob()})}};function a$1(De){let Ce=De;const Ee=new Set;return{get value(){return Ce},set(Te){Object.is(Ce,Te)||(Ce=Te,Ee.forEach(Oe=>Oe(Ce)))},update(Te){this.set(Te(Ce))},subscribe:Te=>(Ee.add(Te),()=>Ee.delete(Te))}}function l$1(De,Ce){const Ee=a$1(De());return Ce.forEach(Te=>Te.subscribe(()=>{const Oe=De();Object.is(Ee.value,Oe)||Ee.set(Oe)})),{get value(){return Ee.value},subscribe:Te=>Ee.subscribe(Te)}}function h$2(De,Ce){let Ee;const Te=()=>{Ee&&(Ee(),Ee=void 0),Ee=De()},Oe=Ce.map(Me=>Me.subscribe(Te));return Te(),()=>{Ee&&(Ee(),Ee=void 0),Oe.forEach(Me=>Me())}}let u$2=class extends e$4{get isPlayingSignal(){return this._isPlaying}get currentTimeSignal(){return this._currentTime}get durationSignal(){return this._duration}get volumeSignal(){return this._volume}get mutedSignal(){return this._muted}get playbackRateSignal(){return this._playbackRate}get seekingSignal(){return this._seeking}constructor(Ce){super(),this.isExternalMedia=!1,this.reactiveMediaEventCleanups=[],Ce.media?(this.media=Ce.media,this.isExternalMedia=!0):this.media=document.createElement("audio"),this._isPlaying=a$1(!1),this._currentTime=a$1(0),this._duration=a$1(0),this._volume=a$1(this.media.volume),this._muted=a$1(this.media.muted),this._playbackRate=a$1(this.media.playbackRate||1),this._seeking=a$1(!1),this.setupReactiveMediaEvents(),Ce.mediaControls&&(this.media.controls=!0),Ce.autoplay&&(this.media.autoplay=!0),Ce.playbackRate!=null&&this.onMediaEvent("canplay",()=>{Ce.playbackRate!=null&&(this.media.playbackRate=Ce.playbackRate)},{once:!0})}setupReactiveMediaEvents(){this.reactiveMediaEventCleanups.push(this.onMediaEvent("play",()=>{this._isPlaying.set(!0)})),this.reactiveMediaEventCleanups.push(this.onMediaEvent("pause",()=>{this._isPlaying.set(!1)})),this.reactiveMediaEventCleanups.push(this.onMediaEvent("ended",()=>{this._isPlaying.set(!1)})),this.reactiveMediaEventCleanups.push(this.onMediaEvent("timeupdate",()=>{this._currentTime.set(this.media.currentTime)})),this.reactiveMediaEventCleanups.push(this.onMediaEvent("durationchange",()=>{this._duration.set(this.media.duration||0)})),this.reactiveMediaEventCleanups.push(this.onMediaEvent("loadedmetadata",()=>{this._duration.set(this.media.duration||0)})),this.reactiveMediaEventCleanups.push(this.onMediaEvent("seeking",()=>{this._seeking.set(!0)})),this.reactiveMediaEventCleanups.push(this.onMediaEvent("seeked",()=>{this._seeking.set(!1)})),this.reactiveMediaEventCleanups.push(this.onMediaEvent("volumechange",()=>{this._volume.set(this.media.volume),this._muted.set(this.media.muted)})),this.reactiveMediaEventCleanups.push(this.onMediaEvent("ratechange",()=>{this._playbackRate.set(this.media.playbackRate)}))}onMediaEvent(Ce,Ee,Te){return this.media.addEventListener(Ce,Ee,Te),()=>this.media.removeEventListener(Ce,Ee,Te)}getSrc(){return this.media.currentSrc||this.media.src||""}revokeSrc(){const Ce=this.getSrc();Ce.startsWith("blob:")&&URL.revokeObjectURL(Ce)}canPlayType(Ce){return this.media.canPlayType(Ce)!==""}setSrc(Ce,Ee){const Te=this.getSrc();if(Ce&&Te===Ce)return;this.revokeSrc();const Oe=Ee instanceof Blob&&(this.canPlayType(Ee.type)||!Ce)?URL.createObjectURL(Ee):Ce;if(Te&&this.media.removeAttribute("src"),Oe||Ce)try{this.media.src=Oe}catch{this.media.src=Ce}}destroy(){this.reactiveMediaEventCleanups.forEach(Ce=>Ce()),this.reactiveMediaEventCleanups=[],this.isExternalMedia||(this.media.pause(),this.revokeSrc(),this.media.removeAttribute("src"),this.media.load(),this.media.remove())}setMediaElement(Ce){this.reactiveMediaEventCleanups.forEach(Ee=>Ee()),this.reactiveMediaEventCleanups=[],this.media=Ce,this.setupReactiveMediaEvents()}play(){return t$2(this,void 0,void 0,function*(){try{return yield this.media.play()}catch(Ce){if(Ce instanceof DOMException&&Ce.name==="AbortError")return;throw Ce}})}pause(){this.media.pause()}isPlaying(){return!this.media.paused&&!this.media.ended}setTime(Ce){this.media.currentTime=Math.max(0,Math.min(Ce,this.getDuration()))}getDuration(){return this.media.duration}getCurrentTime(){return this.media.currentTime}getVolume(){return this.media.volume}setVolume(Ce){this.media.volume=Ce}getMuted(){return this.media.muted}setMuted(Ce){this.media.muted=Ce}getPlaybackRate(){return this.media.playbackRate}isSeeking(){return this.media.seeking}setPlaybackRate(Ce,Ee){Ee!=null&&(this.media.preservesPitch=Ee),this.media.playbackRate=Ce}getMediaElement(){return this.media}setSinkId(Ce){return this.media.setSinkId(Ce)}};function c$2({maxTop:De,maxBottom:Ce,halfHeight:Ee,vScale:Te,barMinHeight:Oe=0,barAlign:Me}){let Be=Math.round(De*Ee*Te),$e=Be+Math.round(Ce*Ee*Te)||1;return $e<Oe&&($e=Oe,Me||(Be=$e/2)),{topHeight:Be,totalHeight:$e}}function d({barAlign:De,halfHeight:Ce,topHeight:Ee,totalHeight:Te,canvasHeight:Oe}){return De==="top"?0:De==="bottom"?Oe-Te:Ce-Ee}function p$2(De,Ce,Ee){const Te=Ce-De.left,Oe=Ee-De.top;return[Te/De.width,Oe/De.height]}function m$3(De){return!!(De.barWidth||De.barGap||De.barAlign)}function g(De,Ce){if(!m$3(Ce))return De;const Ee=Ce.barWidth||.5,Te=Ee+(Ce.barGap||Ee/2);return Te===0?De:Math.floor(De/Te)*Te}function v$1({scrollLeft:De,totalWidth:Ce,numCanvases:Ee}){if(Ce===0)return[0];const Te=De/Ce,Oe=Math.floor(Te*Ee);return[Oe-1,Oe,Oe+1]}function f$1(De){const Ce=De._cleanup;typeof Ce=="function"&&Ce()}function b(De){const Ce=a$1({scrollLeft:De.scrollLeft,scrollWidth:De.scrollWidth,clientWidth:De.clientWidth}),Ee=l$1(()=>function(Me){const{scrollLeft:Be,scrollWidth:$e,clientWidth:Ue}=Me;if($e===0)return{startX:0,endX:1};const He=Be/$e,Ve=(Be+Ue)/$e;return{startX:Math.max(0,Math.min(1,He)),endX:Math.max(0,Math.min(1,Ve))}}(Ce.value),[Ce]),Te=l$1(()=>function(Me){return{left:Me.scrollLeft,right:Me.scrollLeft+Me.clientWidth}}(Ce.value),[Ce]),Oe=()=>{Ce.set({scrollLeft:De.scrollLeft,scrollWidth:De.scrollWidth,clientWidth:De.clientWidth})};return De.addEventListener("scroll",Oe,{passive:!0}),{scrollData:Ce,percentages:Ee,bounds:Te,cleanup:()=>{De.removeEventListener("scroll",Oe),f$1(Ce)}}}let y$2=class extends e$4{constructor(Ce,Ee){super(),this.timeouts=[],this.isScrollable=!1,this.audioData=null,this.resizeObserver=null,this.lastContainerWidth=0,this.isDragging=!1,this.subscriptions=[],this.unsubscribeOnScroll=[],this.dragStream=null,this.scrollStream=null,this.subscriptions=[],this.options=Ce;const Te=this.parentFromOptionsContainer(Ce.container);this.parent=Te;const[Oe,Me]=this.initHtml();Te.appendChild(Oe),this.container=Oe,this.scrollContainer=Me.querySelector(".scroll"),this.wrapper=Me.querySelector(".wrapper"),this.canvasWrapper=Me.querySelector(".canvases"),this.progressWrapper=Me.querySelector(".progress"),this.cursor=Me.querySelector(".cursor"),Ee&&Me.appendChild(Ee),this.initEvents()}parentFromOptionsContainer(Ce){let Ee;if(typeof Ce=="string"?Ee=document.querySelector(Ce):Ce instanceof HTMLElement&&(Ee=Ce),!Ee)throw new Error("Container not found");return Ee}initEvents(){this.wrapper.addEventListener("click",Ee=>{const Te=this.wrapper.getBoundingClientRect(),[Oe,Me]=p$2(Te,Ee.clientX,Ee.clientY);this.emit("click",Oe,Me)}),this.wrapper.addEventListener("dblclick",Ee=>{const Te=this.wrapper.getBoundingClientRect(),[Oe,Me]=p$2(Te,Ee.clientX,Ee.clientY);this.emit("dblclick",Oe,Me)}),this.options.dragToSeek!==!0&&typeof this.options.dragToSeek!="object"||this.initDrag(),this.scrollStream=b(this.scrollContainer);const Ce=h$2(()=>{const{startX:Ee,endX:Te}=this.scrollStream.percentages.value,{left:Oe,right:Me}=this.scrollStream.bounds.value;this.emit("scroll",Ee,Te,Oe,Me)},[this.scrollStream.percentages,this.scrollStream.bounds]);if(this.subscriptions.push(Ce),typeof ResizeObserver=="function"){const Ee=this.createDelay(100);this.resizeObserver=new ResizeObserver(()=>{Ee().then(()=>this.onContainerResize()).catch(()=>{})}),this.resizeObserver.observe(this.scrollContainer)}}onContainerResize(){const Ce=this.parent.clientWidth;Ce===this.lastContainerWidth&&this.options.height!=="auto"||(this.lastContainerWidth=Ce,this.reRender(),this.emit("resize"))}initDrag(){if(this.dragStream)return;this.dragStream=function(Ee,Te={}){const{threshold:Oe=3,mouseButton:Me=0,touchDelay:Be=100}=Te,$e=a$1(null),Ue=new Map,He=matchMedia("(pointer: coarse)").matches;let Ve=()=>{};const We=ze=>{if(ze.button!==Me||(Ue.set(ze.pointerId,ze),Ue.size>1))return;let Ge=ze.clientX,qe=ze.clientY,Ke=!1;const Ye=Date.now(),Qe=Ee.getBoundingClientRect(),{left:Xe,top:Ze}=Qe,Je=nn=>{if(nn.defaultPrevented||Ue.size>1||He&&Date.now()-Ye<Be)return;const dn=nn.clientX,cn=nn.clientY,an=dn-Ge,pn=cn-qe;(Ke||Math.abs(an)>Oe||Math.abs(pn)>Oe)&&(nn.preventDefault(),nn.stopPropagation(),Ke||($e.set({type:"start",x:Ge-Xe,y:qe-Ze}),Ke=!0),$e.set({type:"move",x:dn-Xe,y:cn-Ze,deltaX:an,deltaY:pn}),Ge=dn,qe=cn)},en=nn=>{if(Ue.delete(nn.pointerId),Ke){const dn=nn.clientX,cn=nn.clientY;$e.set({type:"end",x:dn-Xe,y:cn-Ze})}Ve()},tn=nn=>{Ue.delete(nn.pointerId),nn.relatedTarget&&nn.relatedTarget!==document.documentElement||en(nn)},St=nn=>{Ke&&(nn.stopPropagation(),nn.preventDefault())},sn=nn=>{nn.defaultPrevented||Ue.size>1||Ke&&nn.preventDefault()};document.addEventListener("pointermove",Je),document.addEventListener("pointerup",en),document.addEventListener("pointerout",tn),document.addEventListener("pointercancel",tn),document.addEventListener("touchmove",sn,{passive:!1}),document.addEventListener("click",St,{capture:!0}),Ve=()=>{document.removeEventListener("pointermove",Je),document.removeEventListener("pointerup",en),document.removeEventListener("pointerout",tn),document.removeEventListener("pointercancel",tn),document.removeEventListener("touchmove",sn),setTimeout(()=>{document.removeEventListener("click",St,{capture:!0})},10)}};return Ee.addEventListener("pointerdown",We),{signal:$e,cleanup:()=>{Ve(),Ee.removeEventListener("pointerdown",We),Ue.clear(),f$1($e)}}}(this.wrapper);const Ce=h$2(()=>{const Ee=this.dragStream.signal.value;if(!Ee)return;const Te=this.wrapper.getBoundingClientRect().width,Oe=(Me=Ee.x/Te)<0?0:Me>1?1:Me;var Me;Ee.type==="start"?(this.isDragging=!0,this.emit("dragstart",Oe)):Ee.type==="move"?this.emit("drag",Oe):Ee.type==="end"&&(this.isDragging=!1,this.emit("dragend",Oe))},[this.dragStream.signal]);this.subscriptions.push(Ce)}initHtml(){const Ce=document.createElement("div"),Ee=Ce.attachShadow({mode:"open"}),Te=this.options.cspNonce&&typeof this.options.cspNonce=="string"?this.options.cspNonce.replace(/"/g,""):"";return Ee.innerHTML=`
2004
+ `}mountSocketIOService(){var Oe;if(!this.services)return;const Ee=((Oe=this.services.socketIO)==null?void 0:Oe.connectionDetails)||[];if(!Ee.length||this.serviceManager.has(ServicesEnum.SOCKET_IO))return;const Te=new SocketIOService(Ee);this.serviceManager.registerService(Te),this.serviceManager.mountService(ServicesEnum.SOCKET_IO)}};Pn(Gp,"router");let MobiusContainer=Gp;customElements.define("mobius-container",MobiusContainer);class MobiusLoop extends BaseComponent{constructor(){super();Pn(this,"props");Pn(this,"dataFromParent");Pn(this,"data",[]);Pn(this,"dataCopy",[])}connectedCallback(){this.initializeProps(),this.loadData(),this.setupBindings(),this.onLoad()}initializeProps(){this.props=JSON.parse(this.getAttribute("props")||"{}")||{}}async loadData(){if(this.props.API){const Ee=await this.fetchAPI();this.data=this.extractLoopData(Ee)}else this.data=this.props.Data||[];this.dataCopy=[...this.data],this.render()}extractLoopData(Ee){let Te=Ee;return this.props.loopOver&&this.props.loopOver.split(".").forEach(Oe=>{Te=(Te==null?void 0:Te[Oe])||Te}),Te}setupBindings(){const Ee=JSON.parse(this.getAttribute("bindings")||"{}")||{};this.setBindings(Ee,Te=>this.handleSearch(Te))}handleSearch(Ee){var Me,Be,$e,Ue,He;if(!((Be=(Me=this.props)==null?void 0:Me.search)!=null&&Be.searchOver))return;this.innerHTML="";const Te=(Ue=($e=this.props)==null?void 0:$e.search)==null?void 0:Ue.searchBoxName;if(!Te){console.warn("searchBoxName is not provided in mobius-loop");return}const Oe=((He=Ee==null?void 0:Ee[Te])==null?void 0:He.toLowerCase())||"";this.data=Oe?this.dataCopy.filter(Ve=>String(Ve[this.props.search.searchOver]).toLowerCase().includes(Oe)):[...this.dataCopy],this.render()}setDataFromParent(Ee){this.dataFromParent=Ee}async fetchAPI(){let{apiUrl:Ee,method:Te="GET",bearerToken:Oe,body:Me={},dynamicBody:Be={}}=this.props.API;if(Object.keys(Be).length&&this.dataFromParent&&(Me=resolveDynamicData(Be,this.dataFromParent,Me)),Me=replaceCurlyBraces(Me),Ee.includes("{")){const He=[...Ee.matchAll(/\{(.*?)\}/g)];switch(this.props.API.dynamicStorageSource){case"localStorage":He.forEach(Ve=>{let We=Ve[1],ze=localStorage.getItem(We)||"";Ee=Ee.replace(Ve[0],ze)});break;default:He.forEach(Ve=>{let We=Ve[1],ze=localStorage.getItem(We)||"";Ee=Ee.replace(Ve[0],ze)});break}}if(Te!=="GET"&&!Object.keys(Me).length)return;const $e={"Content-Type":"application/json",Authorization:`Bearer ${Oe}`},Ue={method:Te,headers:$e};Te!=="GET"&&Object.keys(Me).length&&(Ue.body=JSON.stringify(Me));try{return(await fetch(Ee,Ue)).json()}catch(He){return console.error("Error fetching API data",He),[]}}render(){const Ee=this.props.component,Te=this.querySelector("mobius-loop");Array.isArray(this.data)&&this.data.forEach((Oe,Me)=>{var Ue;const Be=JSON.parse(JSON.stringify(Ee));Be.dynamicProps&&(Be.props=resolveDynamicData(Be.dynamicProps,Oe,Be.props)),(Ue=Be.propsIndex)!=null&&Ue[Me]&&(Be.props={...Be.props,...Be.propsIndex[Me]});const $e=createElementFromMetadata(Be,this);if(this.props.isPiped){const He=Te.cloneNode(!0);He.setDataFromParent(Oe),console.log($e),$e==null||$e.appendChild(He)}this.appendChild($e)}),Te==null||Te.remove()}}customElements.define("mobius-loop",MobiusLoop);class MobiusTab extends BaseComponent{constructor(){super();Pn(this,"props")}connectedCallback(){this.className=`block ${this.className}`}getTabData(){var Ee,Te,Oe;return this.props=JSON.parse(this.getAttribute("props")),{header:this.props.header,icon:{left:this.props.leftIcon,right:this.props.rightIcon,size:this.props.size},stateHeader:((Ee=this.props)==null?void 0:Ee.stateHeader)||"",iconCss:this.props.iconCss,bindings:((Te=this.meta.props)==null?void 0:Te.tabBindings)||this.meta.bindings,props:((Oe=this.meta.props)==null?void 0:Oe.tabProps)||this.meta.props}}}customElements.define("mobius-tab",MobiusTab);class MobiusTabs extends BaseComponent{constructor(){super();Pn(this,"Tabs",[]);Pn(this,"props",{});Pn(this,"selectedTab",0);Pn(this,"tabContainer",null);Pn(this,"findByHeaderOrIndex",Ee=>{var Te,Oe,Me;if(typeof Ee=="number"){const Be=(Te=this.Tabs)==null?void 0:Te[Ee];return{index:Ee,tab:Be}}else if(typeof Ee=="string"){const Be=(Oe=this.Tabs)==null?void 0:Oe.findIndex(Ue=>Ue.header===Ee),$e=Be!==-1?(Me=this.Tabs)==null?void 0:Me[Be]:void 0;return{index:Be,tab:$e}}else return{index:-1,tab:void 0}})}connectedCallback(){var Me;this.props=JSON.parse(this.getAttribute("props")||"{}");const Ee=JSON.parse(this.getAttribute("bindings")||"{}");this.setBindings(Ee,Be=>{let $e=this.findByHeaderOrIndex(Be);$e.tab&&$e.index!=this.selectedTab&&(this.selectedTab=$e.index==-1?this.selectedTab:$e==null?void 0:$e.index,this.updateActiveTab($e==null?void 0:$e.tab,$e.index))}),this.initializeTabs();const Te=this.getState()||((Me=this.signal)==null?void 0:Me.get())||0,Oe=this.findByHeaderOrIndex(Te);this.selectedTab=Oe.index==-1?0:Oe==null?void 0:Oe.index,Oe.tab&&this.updateActiveTab(Oe.tab,Oe.index),this.onLoad()}initializeTabs(){this.tabContainer=document.createElement("div"),this.tabContainer.className="flex w-full cursor-pointer "+this.props.tabContainerStyles,this.props.variant=="light"&&(this.tabContainer.className+=" shadow rounded"),Array.from(this.children).forEach((Ee,Te)=>{var Oe,Me;if(Ee.localName==="mobius-tab"){let Be=this.selectedTab===Te;const $e=(Oe=Ee.getTabData)==null?void 0:Oe.call(Ee);let Ue={type:"mobius-div",version:"V1",value:"",styles:this.getStyles(Be,Te)+` ${this.props.tabCss??""}`,bindings:$e==null?void 0:$e.bindings,props:$e==null?void 0:$e.props,children:[]},He=mountComponents([Ue],this);He=He.querySelector("mobius-div"),He.textContent=$e.header??`Tab ${Te+1}`,this.addIcon($e.icon,$e.size??"base",$e.iconCss,He),(Me=this.tabContainer)==null||Me.appendChild(He);const Ve={tabChild:Ee,isActive:Be,tabElement:He,header:$e.stateHeader??$e.header};He.addEventListener("click",()=>this.updateActiveTab(Ve,Te)),this.Tabs.push(Ve),Be||Ee.classList.add("hidden")}}),this.insertBefore(this.tabContainer,this.firstChild)}addIcon(Ee,Te,Oe,Me){let Be={xs:"w-[16px] h-[16px]",sm:"w-[16px] h-[16px]",base:"w-[20px] h-[20px]",lg:"w-[24px] h-[24px]",xl:"w-[24px] h-[24px]"};const $e=document.createElement("img");Ee!=null&&Ee.left?($e.src=Ee.left,$e.className=Be[Te??"base"]+` ${Oe}`):$e.className="none";const Ue=document.createElement("img");Ee!=null&&Ee.right?(Ue.src=Ee.right,Ue.className=Be[Te]):Ue.className+="none",Me.insertBefore($e,Me.firstChild),Me.appendChild(Ue)}getStyles(Ee,Te=0){switch(this.props.variant){case"button":return`w-full text-sm-font-medium px-3 py-4 transition-all text-center flex gap-2 justify-center ${Ee?"bg-primary-600 rounded color-white "+this.props.activeCss:""}`;case"light":return`w-full text-sm-font-medium color-gray-500 px-3 py-4 ${Te==0?"":"border-l-2"} transition-all text-center flex gap-2 justify-center ${Ee?"bg-gray-50 color-gray-900"+this.props.activeCss:""}`;case"underline":return`w-full text-sm-font-medium border-b-2 pb-2 transition-all text-center flex gap-2 justify-center ${Ee?"color-primary-600 border-primary-600 "+this.props.activeCss:"color-gray-500 border-gray-300"}`;default:return`w-full text-sm-font-medium border-b-2 pb-2 transition-all text-center flex gap-2 justify-center ${Ee?"color-primary-600 border-primary-600 "+this.props.activeCss:"color-gray-500 border-gray-300"}`}}updateActiveTab(Ee,Te){var Me,Be,$e,Ue;const Oe=this.Tabs.findIndex(He=>He.isActive);this.Tabs[Oe]&&(this.Tabs[Oe].isActive=!1,this.Tabs[Oe].tabChild.classList.add("hidden"),this.Tabs[Oe].tabElement.className=this.getStyles(!1,Oe)+` ${(Me=this.props)==null?void 0:Me.tabCss}`),Ee.isActive=!0,Ee.tabChild.classList.remove("hidden"),Ee.tabElement.className=this.getStyles(!0,Te)+` ${(Be=this.props)==null?void 0:Be.tabCss} ${($e=this.props)==null?void 0:$e.activeCss}`,(Ue=this.signal)==null||Ue.set(Te),this.updateState(Te)}}customElements.define("mobius-tabs",MobiusTabs);class ButtonGroupButton extends BaseComponent{constructor(){super();Pn(this,"buttonValue")}static get observedAttributes(){return["props","bindings"]}attributeChangedCallback(Ee,Te,Oe){var Me;if(Te!==Oe){if(Ee==="props"){const Be=JSON.parse(Oe);Be.span&&(this.style.gridColumn=`span ${Be.span}`),Be.value&&(this.buttonValue=Be.value),Be.style?this.className=`${Be.style}`:this.className="px-4 py-2 w-full border-r border-gray-200 cursor-pointer hover:bg-gray-100 text-center text-sm-font-medium flex gap-2",this.addIcon(Be==null?void 0:Be.icon,Be==null?void 0:Be.size)}else if(Ee==="bindings"){const Be=JSON.parse(Oe);this.setBindings(Be,Ue=>{this.setSelectedButtonCss(Ue)});const $e=((Me=this.signal)==null?void 0:Me.get())||this.getState()||{};this.setSelectedButtonCss($e)}}}setSelectedButtonCss(Ee){Ee&&(Ee==this.buttonValue?this.className+=" bg-gray-100 color-primary-600 ":this.className=this.className.replace(" bg-gray-100 color-primary-600 ",""))}addIcon(Ee,Te="base"){let Oe={xs:"w-[16px] h-[16px]",sm:"w-[16px] h-[16px]",base:"w-[20px] h-[20px]",lg:"w-[24px] h-[24px]",xl:"w-[24px] h-[24px]"};const Me=document.createElement("img");Ee?(Me.src=Ee,Me.className=Oe[Te]):Me.className="none",this.insertBefore(Me,this.firstChild)}}customElements.define("mobius-button-group-button",ButtonGroupButton);class ButtonGroup extends BaseComponent{constructor(){super();Pn(this,"props",{});this.updateLastChildBorder()}static get observedAttributes(){return["props","bindings"]}attributeChangedCallback(Ee,Te,Oe){if(Te!==Oe){if(Ee==="props"){this.props=JSON.parse(Oe);const{grid:Me,noBorder:Be}=this.props;this.style.gridTemplateColumns=`repeat(${Me}, 1fr)`,Be?this.className="rounded-md grid":this.className="rounded-md border border-gray-200 grid"}else if(Ee==="bindings"){const Me=JSON.parse(Oe);this.setBindings(Me,()=>console.log("Button Group State Updated"))}}}updateLastChildBorder(){const Ee=this.children;Ee.length>0&&Array.from(Ee)[Ee.length-1].classList.remove("border-r")}}customElements.define("mobius-button-group",ButtonGroup);class BadgeElement extends BaseComponent{constructor(){super();Pn(this,"_value",null);Pn(this,"defaultValues",{src:"",color:"primary",size:"",rounded:!1,border:!1})}static get observedAttributes(){return["props","bindings","events"]}applyColorStyle(Ee){Ee&&this.classList.add(`bg-${Ee}-100`,`text-${Ee}-800`)}applySizeStyle(Ee){const Te=Ee==="large"?"text-sm":"text-xs";this.classList.add(Te)}applyBorderStyle(Ee,Te,Oe){Te&&(this.classList.add(Ee),Oe&&Oe.trim()&&this.classList.add(`border-${Oe}-400`))}attributeChangedCallback(Ee,Te,Oe){if(Te!==Oe){if(Ee==="props")try{let Me=JSON.parse(Oe||"{}");Me=addMissingDefaults(Me,this.defaultValues);const Be=["inline-flex","items-center","justify-center","px-2.5","py-0.5","gap-1"];this.classList.add(...Be),Object.entries(Me).forEach(([$e,Ue])=>{switch($e){case"color":this.applyColorStyle(Ue);break;case"size":this.applySizeStyle(Ue);break;case"dismissable":Ue&&this.addDismissListener();break;case"rounded":Ue&&this.classList.add($e);break;case"border":this.applyBorderStyle($e,Ue,Me.color||null);break;default:this.setAttribute($e,Ue);break}})}catch(Me){console.error("Error parsing props:",Me)}else if(Ee==="bindings"){const Me=JSON.parse(Oe||"{}");this.setBindings(Me,()=>console.log("Binded"))}else Te!==Oe&&this.setAttribute(Ee,Oe??"");this.render()}}get value(){return this._value}set value(Ee){this._value!==Ee&&(this._value=Ee,this.render())}render(){var Te;let Ee=(Te=JSON.parse(this.getAttribute("props")))==null?void 0:Te.value;this.value?this.innerHTML=`${this.value}`:Ee&&(this.innerHTML=Ee)}disconnectedCallback(){super.disconnectedCallback();const Ee=this.querySelector(".dismiss");Ee&&Ee.removeEventListener("click",this.dismissBadge.bind(this))}addDismissListener(){const Ee=this.querySelector(".dismiss");Ee&&Ee.addEventListener("click",this.dismissBadge.bind(this))}dismissBadge(){this.dispatchEvent(new CustomEvent("badge-dismissed",{bubbles:!0,composed:!0})),this.remove()}}customElements.define("mobius-badge",BadgeElement);class BadgeGroup extends BaseComponent{constructor(){super();Pn(this,"align","horizontal");Pn(this,"gap",1);Pn(this,"selectedValues",[]);Pn(this,"selectedItems",{});Pn(this,"name","");Pn(this,"styles","");Pn(this,"badgeProps",{});Pn(this,"renderChilds",()=>{var Ee;for(;this.firstChild;)this.removeChild(this.firstChild);(Ee=Object.entries(this.selectedItems))==null||Ee.forEach(([Te,Oe])=>{this.buildBadge(Oe,Te)})});Pn(this,"buildBadge",(Ee,Te)=>{var We,ze,Ge,qe,Ke,Ye,Qe,Xe,Ze,Je,en,tn,St,sn,nn,dn,cn,an,pn,hn;let Oe=[{type:"mobius-badge",props:{...(We=this.badgeProps)==null?void 0:We.props,APIData:{key:Te,value:Ee},key:Te,value:Ee},bindings:(ze=this.badgeProps)==null?void 0:ze.bindings,styles:(Ge=this.badgeProps)==null?void 0:Ge.styles,children:[{type:"mobius-div",props:{...(qe=this.badgeProps)==null?void 0:qe.props,APIData:{key:Te,value:Ee},key:Te,value:Ee},bindings:{},styles:(Ye=(Ke=this.badgeProps)==null?void 0:Ke.textContainerProps)==null?void 0:Ye.styles,children:[]},{id:"uysafigfvuusdv",name:"Interface",type:"mobius-img",props:{...(Qe=this.badgeProps)==null?void 0:Qe.iconProps,APIData:{key:Te,value:Ee},key:Te,value:Ee},styles:(Ze=(Xe=this.badgeProps)==null?void 0:Xe.iconProps)==null?void 0:Ze.styles,value:"",children:[],bindings:(Je=this.badgeProps)==null?void 0:Je.iconBindings}]}];const Me=mountComponents(Oe,this);let Be=Me.querySelector("mobius-img");this.appendChild(Me),Be==null||Be.addEventListener("click",An=>{An==null||An.preventDefault(),An==null||An.stopImmediatePropagation(),this.badgeDismissed(Ee)});let $e=new BadgeElement;if((tn=(en=this.badgeProps)==null?void 0:en.styles)!=null&&tn.trim()){const An=this.badgeProps.styles.split(/\s+/).filter(Boolean);An.length>0&&$e.classList.add(...An)}$e.setAttribute("props",JSON.stringify(((St=this.badgeProps)==null?void 0:St.props)??"{}")),$e.setAttribute("bindings",JSON.stringify(((sn=this.badgeProps)==null?void 0:sn.bindings)??"{}")),$e.setAttribute("events",JSON.stringify(((nn=this.badgeProps)==null?void 0:nn.events)??"{}"));let Ue=new DivElement;Ue.value=Ee,Ue.setAttribute("props",JSON.stringify((dn=this.badgeProps)==null?void 0:dn.textContainerProps));let He=new customImg;const Ve=(an=(cn=this.badgeProps)==null?void 0:cn.iconProps)==null?void 0:an.styles.split(/\s+/).filter(Boolean);return(pn=He==null?void 0:He.classList)==null||pn.add("dismiss"),(Ve==null?void 0:Ve.length)>0&&He.classList.add(...Ve),He.setAttribute("props",JSON.stringify((hn=this.badgeProps)==null?void 0:hn.iconProps)),He.addEventListener("click",An=>{An==null||An.preventDefault(),An==null||An.stopImmediatePropagation(),this.badgeDismissed(Ee)}),$e.appendChild(Ue),$e.appendChild(He),$e});Pn(this,"badgeDismissed",Ee=>{var Me,Be,$e,Ue;let Te=this.findKeyByValue(this.selectedItems,Ee);if(!Te)return;delete this.selectedItems[Te];const Oe=((Me=this.signal)==null?void 0:Me.get())||this.getState();(Ue=this.signal)==null||Ue.set({...this.signal.value,[this.name+"state"]:{...($e=(Be=this.signal)==null?void 0:Be.value)==null?void 0:$e[this.name+"state"],selectedItems:{...this.selectedItems}},[this.name]:Object.keys({...this.selectedItems})}),this.updateState({...Oe,[this.name+"state"]:{...Oe==null?void 0:Oe[this.name+"state"],selectedItems:{...this.selectedItems}},[this.name]:Object.keys({...this.selectedItems})})})}static get observedAttributes(){return["props","bindings"]}attributeChangedCallback(Ee,Te,Oe){if(Oe!==Te){if(Ee==="props"&&Oe!==Te){Object.assign(this,JSON.parse(Oe||"{}"));const Me=this.styles.split(/\s+/).filter(Boolean);Me.length>0&&this.classList.add(...Me)}else if(Ee==="bindings"){const Me=JSON.parse(Oe||"{}");this.setBindings(Me,Be=>{var $e,Ue,He;this.selectedValues=Object.values((($e=Be==null?void 0:Be[this.name+"state"])==null?void 0:$e.selectedItems)??{}),this.selectedItems=((Ue=Be==null?void 0:Be[this.name+"state"])==null?void 0:Ue.selectedItems)??{},this.classList.toggle("hidden",((He=this.selectedValues)==null?void 0:He.length)===0),this.renderChilds()})}}}findKeyByValue(Ee,Te){return Object.keys(Ee).find(Oe=>typeof Ee[Oe]=="string"&&Ee[Oe].toLowerCase()===Te.toLowerCase())}connectedCallback(){this.classList.add("hidden");let Ee;Ee=this.parentElement,this.name=Ee.name??"",this.addListeners()}handleClick(Ee){}addListeners(){}disconnectedCallback(){super.disconnectedCallback()}render(){}}customElements.define("mobius-badge-group",BadgeGroup);class MobiusButton extends BaseComponent{constructor(){super();Pn(this,"props",{});Pn(this,"services",{})}static get observedAttributes(){return["props","bindings","services"]}attributeChangedCallback(Ee,Te,Oe){if(Ee==="props")this.props=JSON.parse(Oe);else if(Ee==="bindings"){const Me=JSON.parse(Oe);this.setBindings(Me,()=>{console.log("Button Clicked")})}else Ee==="services"&&(this.services=JSON.parse(Oe))}connectedCallback(){var Ee,Te,Oe,Me,Be;super.connectedCallback(),this.className=" flex content-center item-center "+this.className,this.addStyle((Ee=this.props)==null?void 0:Ee.variant),this.addSize((Te=this.props)==null?void 0:Te.size),this.addIcon((Oe=this.props)==null?void 0:Oe.icon,(Me=this.props)==null?void 0:Me.size,(Be=this.props)==null?void 0:Be.imageStyle),this.onLoad()}addIcon(Ee,Te,Oe){Ee=replaceCurlyBraces(Ee,"state",{},this.meta.props,this);let Me={xs:"w-[16px] h-[16px]",sm:"w-[16px] h-[16px]",base:"w-[20px] h-[20px]",lg:"w-[24px] h-[24px]",xl:"w-[24px] h-[24px]"};this.querySelectorAll("img").forEach($e=>$e.remove());let Be=!1;if(Ee!=null&&Ee.left){Be=!0;const $e=document.createElement("img");$e.src=Ee.left,$e.className=Me[Te??"base"]+` mr-2 ${Oe}`,this.insertBefore($e,this.firstChild)}if(Ee!=null&&Ee.right){Be=!0;const $e=document.createElement("img");$e.src=Ee.right,$e.className=Me[Te??"base"]+` ml-2 ${Oe}`,this.appendChild($e)}Be||this.classList.add("justify-evenly")}addStyle(Ee){switch(Ee){case"primary":this.className=" color-white cursor-pointer bg-primary-700 hover-bg-primary-800 focus:border[3px] focus:border-primary-200 "+this.className;break;case"gray":this.className=" color-white cursor-pointer bg-gray-800 hover-bg-gray-700 focus:border[3px] focus:border-gray-200 "+this.className;break;case"light":this.className=" color-gray-800 cursor-pointer bg-gray-200 hover-bg-gray-300 focus:border[3px] focus:border-gray-100 "+this.className;break;case"green":this.className=" color-white cursor-pointer bg-green-700 hover-bg-green-800 focus:border[3px] focus:border-green-200 "+this.className;break;case"red":this.className=" color-white cursor-pointer bg-red-700 hover-bg-red-800 focus:border[3px] focus:border-red-200 "+this.className;break;case"outline-primary":this.className=" color-primary-700 cursor-pointer border border-primary-700 hover-bg-primary-800 hover-color-white focus:border[3px] focus:border-primary-200 "+this.className;break;case"outline-green":this.className=" color-green-700 cursor-pointer border border-green-700 hover-bg-green-800 hover:text-white focus:border[3px] focus:border-green-200 "+this.className;break;case"outline-red":this.className=" color-red-700 cursor-pointer border border-red-700 hover-bg-red-800 hover:text-white focus:border[3px] focus:border-red-200 "+this.className;break;case"outline-light":this.className=" color-gray-800 cursor-pointer border border-gray-700 hover-bg-gray-700 hover:text-white focus:border[3px] focus:border-gray-200 "+this.className;break;case"outline-extra-light":this.className=" color-gray-800 cursor-pointer border border-gray-200 hover-bg-gray-300 hover:text-white focus:border[3px] focus:border-gray-200 "+this.className;break;case"outline-extra-light-primary":this.className=" color-gray-800 cursor-pointer border border-gray-200 hover-bg-gray-300 hover-color-primary-600 focus:border[3px] focus:border-gray-200 "+this.className;break;default:this.className=" color-white cursor-pointer bg-primary-700 hover-bg-primary-800 focus:border[3px] border-primary-200 "+this.className}}addSize(Ee){switch(Ee){case"xs":this.className=" px-3 py-2 min-w-[136px] w-fit min-h-[34px] rounded-lg text-xs-font-medium "+this.className;break;case"sm":this.className=" px-3 py-2 min-w-[147px] w-fit min-h-[37px] rounded-lg text-sm-font-medium "+this.className;break;case"base":this.className=" px-5 py-2-5 min-w-[171px] w-fit min-h-[41px] rounded-lg text-sm-font-medium "+this.className;break;case"lg":this.className=" px-5 py-3 min-w-[190px] w-fit min-h-[48px] rounded-lg text-base-font-medium "+this.className;break;case"xl":this.className=" px-6 py-3-5 min-w-[198px] w-fit min-h-[52px] rounded-lg text-base-font-medium "+this.className;break;default:this.className=" px-5 py-2-5 min-w-[171px] w-fit min-h-[41px] rounded-lg text-sm-font-medium "+this.className}}}customElements.define("mobius-button",MobiusButton);const CloseIcon="data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M13.4115%2012L18.6952%206.71628C18.7906%206.62419%2018.8666%206.51404%2018.919%206.39225C18.9713%206.27046%2018.9988%206.13947%2019%206.00692C19.0011%205.87438%2018.9759%205.74293%2018.9257%205.62025C18.8755%205.49756%2018.8013%205.38611%2018.7076%205.29238C18.6139%205.19865%2018.5024%205.12453%2018.3798%205.07434C18.2571%205.02414%2018.1256%204.99889%2017.9931%205.00004C17.8605%205.00119%2017.7295%205.02873%2017.6078%205.08104C17.486%205.13336%2017.3758%205.20941%2017.2837%205.30475L12%2010.5885L6.71628%205.30475C6.528%205.12291%206.27584%205.0223%206.01411%205.02457C5.75237%205.02685%205.502%205.13183%205.31691%205.31691C5.13183%205.502%205.02685%205.75237%205.02457%206.01411C5.0223%206.27584%205.12291%206.528%205.30475%206.71628L10.5885%2012L5.30475%2017.2837C5.20941%2017.3758%205.13336%2017.486%205.08104%2017.6078C5.02873%2017.7295%205.00119%2017.8605%205.00004%2017.9931C4.99889%2018.1256%205.02414%2018.2571%205.07434%2018.3798C5.12453%2018.5024%205.19865%2018.6139%205.29238%2018.7076C5.38611%2018.8013%205.49756%2018.8755%205.62025%2018.9257C5.74293%2018.9759%205.87438%2019.0011%206.00692%2019C6.13947%2018.9988%206.27046%2018.9713%206.39225%2018.919C6.51404%2018.8666%206.62419%2018.7906%206.71628%2018.6952L12%2013.4115L17.2837%2018.6952C17.472%2018.8771%2017.7242%2018.9777%2017.9859%2018.9754C18.2476%2018.9732%2018.498%2018.8682%2018.6831%2018.6831C18.8682%2018.498%2018.9732%2018.2476%2018.9754%2017.9859C18.9777%2017.7242%2018.8771%2017.472%2018.6952%2017.2837L13.4115%2012Z'%20fill='%231F2A37'/%3e%3c/svg%3e";class ToastElement extends BaseComponent{constructor(){super();Pn(this,"props",{position:"top-right",dismissable:!0,autoHideWithIn:100,showProgressBar:!0,progressBarColor:"#76c7c0",backgroundColor:"white",defaultOpen:!1,toastValue:""});Pn(this,"timerId",null);Pn(this,"progressIntervalId",null);Pn(this,"positions",{"top-left":"absolute top-10 start-10","top-right":"absolute top-10 end-10","bottom-left":"absolute bottom-10 start-10","bottom-right":"absolute bottom-10 end-10",none:""})}static get observedAttributes(){return["props","bindings"]}applyPositionStyles(){this.className+=" "+this.positions[this.props.position]}addCloseIconToToast(){if(this.props.dismissable){let Ee=document.createElement("img");Ee.setAttribute("id","toast-close"),Ee.setAttribute("src",CloseIcon),Ee.className="ms-auto -mx-1.5 -my-1.5 h-5 w-5",Ee.addEventListener("click",this.dismissToast.bind(this)),this.append(Ee)}}addProgressBar(Ee){const Te=document.createElement("div");Te.setAttribute("id","toast-progress-bar"),Te.style.position="absolute",Te.style.bottom="0",Te.style.left="0",Te.style.height="4px",Te.style.width="100%",Te.style.backgroundColor=this.props.progressBarColor,Te.style.transition=`width ${Ee}s linear`,this.append(Te),setTimeout(()=>{Te.style.width="0%"},0),this.progressIntervalId=setTimeout(()=>{Te.remove()},Ee*1e3)}addAutoCloseEvent(){const Ee=this.props.autoHideWithIn;this.props.showProgressBar&&this.addProgressBar(Ee),this.timerId=setTimeout(()=>{this.dismissToast()},Ee*1e3)}attributeChangedCallback(Ee,Te,Oe){if(Te!==Oe){if(Ee==="props")try{this.props={...this.props,...JSON.parse(Oe||"{}")};const Me=["flex","items-center","w-full","max-w-xs","p-4","text-gray-500","gap-4","rounded-lg","shadow",`bg-${this.props.backgroundColor}`];this.classList.add(...Me),this.className+=" "+(this.props.styles??""),this.props.toastValue&&(this.innerText=this.props.toastValue),this.applyPositionStyles(),this.addCloseIconToToast(),this.addAutoCloseEvent()}catch(Me){console.error("Error parsing props:",Me)}if(Ee==="bindings"){const Me=JSON.parse(Oe||"{}");this.setBindings(Me,Be=>{console.log("toast--",Be),this.toggleView(Be)})}else Te!==Oe&&this.setAttribute(Ee,Oe??"")}}disconnectedCallback(){super.disconnectedCallback();const Ee=this.querySelector(".toast-close");Ee&&Ee.removeEventListener("click",this.dismissToast.bind(this)),this.timerId&&clearTimeout(this.timerId),this.progressIntervalId&&clearTimeout(this.progressIntervalId),this.classList.add("hidden")}dismissToast(){this.dispatchEvent(new CustomEvent("toast-dismissed",{bubbles:!0,composed:!0})),this.remove(),this.timerId&&clearTimeout(this.timerId),this.progressIntervalId&&clearTimeout(this.progressIntervalId)}toggleView(Ee=!1){Ee?this.classList.remove("hidden"):this.classList.add("hidden")}}customElements.define("mobius-toast",ToastElement);function t$2(De,Ce,Ee,Te){return new(Ee||(Ee=Promise))(function(Oe,Me){function Be(He){try{Ue(Te.next(He))}catch(Ve){Me(Ve)}}function $e(He){try{Ue(Te.throw(He))}catch(Ve){Me(Ve)}}function Ue(He){var Ve;He.done?Oe(He.value):(Ve=He.value,Ve instanceof Ee?Ve:new Ee(function(We){We(Ve)})).then(Be,$e)}Ue((Te=Te.apply(De,Ce||[])).next())})}typeof SuppressedError=="function"&&SuppressedError;let e$4=class{constructor(){this.listeners={}}on(Ce,Ee,Te){if(this.listeners[Ce]||(this.listeners[Ce]=new Set),Te==null?void 0:Te.once){const Oe=(...Me)=>{this.un(Ce,Oe),Ee(...Me)};return this.listeners[Ce].add(Oe),()=>this.un(Ce,Oe)}return this.listeners[Ce].add(Ee),()=>this.un(Ce,Ee)}un(Ce,Ee){var Te;(Te=this.listeners[Ce])===null||Te===void 0||Te.delete(Ee)}once(Ce,Ee){return this.on(Ce,Ee,{once:!0})}unAll(){this.listeners={}}emit(Ce,...Ee){this.listeners[Ce]&&this.listeners[Ce].forEach(Te=>Te(...Ee))}};const i$6={decode:function(De,Ce){return t$2(this,void 0,void 0,function*(){const Ee=new AudioContext({sampleRate:Ce});try{return yield Ee.decodeAudioData(De)}finally{Ee.close()}})},createBuffer:function(De,Ce){if(!De||De.length===0)throw new Error("channelData must be a non-empty array");if(Ce<=0)throw new Error("duration must be greater than 0");if(typeof De[0]=="number"&&(De=[De]),!De[0]||De[0].length===0)throw new Error("channelData must contain non-empty channel arrays");(function(Te){const Oe=Te[0];if(Oe.some(Me=>Me>1||Me<-1)){const Me=Oe.length;let Be=0;for(let $e=0;$e<Me;$e++){const Ue=Math.abs(Oe[$e]);Ue>Be&&(Be=Ue)}for(const $e of Te)for(let Ue=0;Ue<Me;Ue++)$e[Ue]/=Be}})(De);const Ee=De.map(Te=>Te instanceof Float32Array?Te:Float32Array.from(Te));return{duration:Ce,length:Ee[0].length,sampleRate:Ee[0].length/Ce,numberOfChannels:Ee.length,getChannelData:Te=>{const Oe=Ee[Te];if(!Oe)throw new Error(`Channel ${Te} not found`);return Oe},copyFromChannel:AudioBuffer.prototype.copyFromChannel,copyToChannel:AudioBuffer.prototype.copyToChannel}}};function n$2(De,Ce){const Ee=Ce.xmlns?document.createElementNS(Ce.xmlns,De):document.createElement(De);for(const[Te,Oe]of Object.entries(Ce))if(Te==="children"&&Oe)for(const[Me,Be]of Object.entries(Oe))Be instanceof Node?Ee.appendChild(Be):typeof Be=="string"?Ee.appendChild(document.createTextNode(Be)):Ee.appendChild(n$2(Me,Be));else Te==="style"?Object.assign(Ee.style,Oe):Te==="textContent"?Ee.textContent=Oe:Ee.setAttribute(Te,Oe.toString());return Ee}function s$2(De,Ce,Ee){const Te=n$2(De,Ce||{});return Ee==null||Ee.appendChild(Te),Te}var r$3=Object.freeze({__proto__:null,createElement:s$2,default:s$2});const o$2={fetchBlob:function(De,Ce,Ee){return t$2(this,void 0,void 0,function*(){const Te=yield fetch(De,Ee);if(Te.status>=400)throw new Error(`Failed to fetch ${De}: ${Te.status} (${Te.statusText})`);return function(Oe,Me){t$2(this,void 0,void 0,function*(){if(!Oe.body||!Oe.headers)return;const Be=Oe.body.getReader(),$e=Number(Oe.headers.get("Content-Length"))||0;let Ue=0;const He=Ve=>{Ue+=(Ve==null?void 0:Ve.length)||0;const We=Math.round(Ue/$e*100);Me(We)};try{for(;;){const Ve=yield Be.read();if(Ve.done)break;He(Ve.value)}}catch(Ve){console.warn("Progress tracking error:",Ve)}})}(Te.clone(),Ce),Te.blob()})}};function a$1(De){let Ce=De;const Ee=new Set;return{get value(){return Ce},set(Te){Object.is(Ce,Te)||(Ce=Te,Ee.forEach(Oe=>Oe(Ce)))},update(Te){this.set(Te(Ce))},subscribe:Te=>(Ee.add(Te),()=>Ee.delete(Te))}}function l$1(De,Ce){const Ee=a$1(De());return Ce.forEach(Te=>Te.subscribe(()=>{const Oe=De();Object.is(Ee.value,Oe)||Ee.set(Oe)})),{get value(){return Ee.value},subscribe:Te=>Ee.subscribe(Te)}}function h$2(De,Ce){let Ee;const Te=()=>{Ee&&(Ee(),Ee=void 0),Ee=De()},Oe=Ce.map(Me=>Me.subscribe(Te));return Te(),()=>{Ee&&(Ee(),Ee=void 0),Oe.forEach(Me=>Me())}}let u$2=class extends e$4{get isPlayingSignal(){return this._isPlaying}get currentTimeSignal(){return this._currentTime}get durationSignal(){return this._duration}get volumeSignal(){return this._volume}get mutedSignal(){return this._muted}get playbackRateSignal(){return this._playbackRate}get seekingSignal(){return this._seeking}constructor(Ce){super(),this.isExternalMedia=!1,this.reactiveMediaEventCleanups=[],Ce.media?(this.media=Ce.media,this.isExternalMedia=!0):this.media=document.createElement("audio"),this._isPlaying=a$1(!1),this._currentTime=a$1(0),this._duration=a$1(0),this._volume=a$1(this.media.volume),this._muted=a$1(this.media.muted),this._playbackRate=a$1(this.media.playbackRate||1),this._seeking=a$1(!1),this.setupReactiveMediaEvents(),Ce.mediaControls&&(this.media.controls=!0),Ce.autoplay&&(this.media.autoplay=!0),Ce.playbackRate!=null&&this.onMediaEvent("canplay",()=>{Ce.playbackRate!=null&&(this.media.playbackRate=Ce.playbackRate)},{once:!0})}setupReactiveMediaEvents(){this.reactiveMediaEventCleanups.push(this.onMediaEvent("play",()=>{this._isPlaying.set(!0)})),this.reactiveMediaEventCleanups.push(this.onMediaEvent("pause",()=>{this._isPlaying.set(!1)})),this.reactiveMediaEventCleanups.push(this.onMediaEvent("ended",()=>{this._isPlaying.set(!1)})),this.reactiveMediaEventCleanups.push(this.onMediaEvent("timeupdate",()=>{this._currentTime.set(this.media.currentTime)})),this.reactiveMediaEventCleanups.push(this.onMediaEvent("durationchange",()=>{this._duration.set(this.media.duration||0)})),this.reactiveMediaEventCleanups.push(this.onMediaEvent("loadedmetadata",()=>{this._duration.set(this.media.duration||0)})),this.reactiveMediaEventCleanups.push(this.onMediaEvent("seeking",()=>{this._seeking.set(!0)})),this.reactiveMediaEventCleanups.push(this.onMediaEvent("seeked",()=>{this._seeking.set(!1)})),this.reactiveMediaEventCleanups.push(this.onMediaEvent("volumechange",()=>{this._volume.set(this.media.volume),this._muted.set(this.media.muted)})),this.reactiveMediaEventCleanups.push(this.onMediaEvent("ratechange",()=>{this._playbackRate.set(this.media.playbackRate)}))}onMediaEvent(Ce,Ee,Te){return this.media.addEventListener(Ce,Ee,Te),()=>this.media.removeEventListener(Ce,Ee,Te)}getSrc(){return this.media.currentSrc||this.media.src||""}revokeSrc(){const Ce=this.getSrc();Ce.startsWith("blob:")&&URL.revokeObjectURL(Ce)}canPlayType(Ce){return this.media.canPlayType(Ce)!==""}setSrc(Ce,Ee){const Te=this.getSrc();if(Ce&&Te===Ce)return;this.revokeSrc();const Oe=Ee instanceof Blob&&(this.canPlayType(Ee.type)||!Ce)?URL.createObjectURL(Ee):Ce;if(Te&&this.media.removeAttribute("src"),Oe||Ce)try{this.media.src=Oe}catch{this.media.src=Ce}}destroy(){this.reactiveMediaEventCleanups.forEach(Ce=>Ce()),this.reactiveMediaEventCleanups=[],this.isExternalMedia||(this.media.pause(),this.revokeSrc(),this.media.removeAttribute("src"),this.media.load(),this.media.remove())}setMediaElement(Ce){this.reactiveMediaEventCleanups.forEach(Ee=>Ee()),this.reactiveMediaEventCleanups=[],this.media=Ce,this.setupReactiveMediaEvents()}play(){return t$2(this,void 0,void 0,function*(){try{return yield this.media.play()}catch(Ce){if(Ce instanceof DOMException&&Ce.name==="AbortError")return;throw Ce}})}pause(){this.media.pause()}isPlaying(){return!this.media.paused&&!this.media.ended}setTime(Ce){this.media.currentTime=Math.max(0,Math.min(Ce,this.getDuration()))}getDuration(){return this.media.duration}getCurrentTime(){return this.media.currentTime}getVolume(){return this.media.volume}setVolume(Ce){this.media.volume=Ce}getMuted(){return this.media.muted}setMuted(Ce){this.media.muted=Ce}getPlaybackRate(){return this.media.playbackRate}isSeeking(){return this.media.seeking}setPlaybackRate(Ce,Ee){Ee!=null&&(this.media.preservesPitch=Ee),this.media.playbackRate=Ce}getMediaElement(){return this.media}setSinkId(Ce){return this.media.setSinkId(Ce)}};function c$2({maxTop:De,maxBottom:Ce,halfHeight:Ee,vScale:Te,barMinHeight:Oe=0,barAlign:Me}){let Be=Math.round(De*Ee*Te),$e=Be+Math.round(Ce*Ee*Te)||1;return $e<Oe&&($e=Oe,Me||(Be=$e/2)),{topHeight:Be,totalHeight:$e}}function d({barAlign:De,halfHeight:Ce,topHeight:Ee,totalHeight:Te,canvasHeight:Oe}){return De==="top"?0:De==="bottom"?Oe-Te:Ce-Ee}function p$2(De,Ce,Ee){const Te=Ce-De.left,Oe=Ee-De.top;return[Te/De.width,Oe/De.height]}function m$3(De){return!!(De.barWidth||De.barGap||De.barAlign)}function g(De,Ce){if(!m$3(Ce))return De;const Ee=Ce.barWidth||.5,Te=Ee+(Ce.barGap||Ee/2);return Te===0?De:Math.floor(De/Te)*Te}function v$1({scrollLeft:De,totalWidth:Ce,numCanvases:Ee}){if(Ce===0)return[0];const Te=De/Ce,Oe=Math.floor(Te*Ee);return[Oe-1,Oe,Oe+1]}function f$1(De){const Ce=De._cleanup;typeof Ce=="function"&&Ce()}function b(De){const Ce=a$1({scrollLeft:De.scrollLeft,scrollWidth:De.scrollWidth,clientWidth:De.clientWidth}),Ee=l$1(()=>function(Me){const{scrollLeft:Be,scrollWidth:$e,clientWidth:Ue}=Me;if($e===0)return{startX:0,endX:1};const He=Be/$e,Ve=(Be+Ue)/$e;return{startX:Math.max(0,Math.min(1,He)),endX:Math.max(0,Math.min(1,Ve))}}(Ce.value),[Ce]),Te=l$1(()=>function(Me){return{left:Me.scrollLeft,right:Me.scrollLeft+Me.clientWidth}}(Ce.value),[Ce]),Oe=()=>{Ce.set({scrollLeft:De.scrollLeft,scrollWidth:De.scrollWidth,clientWidth:De.clientWidth})};return De.addEventListener("scroll",Oe,{passive:!0}),{scrollData:Ce,percentages:Ee,bounds:Te,cleanup:()=>{De.removeEventListener("scroll",Oe),f$1(Ce)}}}let y$2=class extends e$4{constructor(Ce,Ee){super(),this.timeouts=[],this.isScrollable=!1,this.audioData=null,this.resizeObserver=null,this.lastContainerWidth=0,this.isDragging=!1,this.subscriptions=[],this.unsubscribeOnScroll=[],this.dragStream=null,this.scrollStream=null,this.subscriptions=[],this.options=Ce;const Te=this.parentFromOptionsContainer(Ce.container);this.parent=Te;const[Oe,Me]=this.initHtml();Te.appendChild(Oe),this.container=Oe,this.scrollContainer=Me.querySelector(".scroll"),this.wrapper=Me.querySelector(".wrapper"),this.canvasWrapper=Me.querySelector(".canvases"),this.progressWrapper=Me.querySelector(".progress"),this.cursor=Me.querySelector(".cursor"),Ee&&Me.appendChild(Ee),this.initEvents()}parentFromOptionsContainer(Ce){let Ee;if(typeof Ce=="string"?Ee=document.querySelector(Ce):Ce instanceof HTMLElement&&(Ee=Ce),!Ee)throw new Error("Container not found");return Ee}initEvents(){this.wrapper.addEventListener("click",Ee=>{const Te=this.wrapper.getBoundingClientRect(),[Oe,Me]=p$2(Te,Ee.clientX,Ee.clientY);this.emit("click",Oe,Me)}),this.wrapper.addEventListener("dblclick",Ee=>{const Te=this.wrapper.getBoundingClientRect(),[Oe,Me]=p$2(Te,Ee.clientX,Ee.clientY);this.emit("dblclick",Oe,Me)}),this.options.dragToSeek!==!0&&typeof this.options.dragToSeek!="object"||this.initDrag(),this.scrollStream=b(this.scrollContainer);const Ce=h$2(()=>{const{startX:Ee,endX:Te}=this.scrollStream.percentages.value,{left:Oe,right:Me}=this.scrollStream.bounds.value;this.emit("scroll",Ee,Te,Oe,Me)},[this.scrollStream.percentages,this.scrollStream.bounds]);if(this.subscriptions.push(Ce),typeof ResizeObserver=="function"){const Ee=this.createDelay(100);this.resizeObserver=new ResizeObserver(()=>{Ee().then(()=>this.onContainerResize()).catch(()=>{})}),this.resizeObserver.observe(this.scrollContainer)}}onContainerResize(){const Ce=this.parent.clientWidth;Ce===this.lastContainerWidth&&this.options.height!=="auto"||(this.lastContainerWidth=Ce,this.reRender(),this.emit("resize"))}initDrag(){if(this.dragStream)return;this.dragStream=function(Ee,Te={}){const{threshold:Oe=3,mouseButton:Me=0,touchDelay:Be=100}=Te,$e=a$1(null),Ue=new Map,He=matchMedia("(pointer: coarse)").matches;let Ve=()=>{};const We=ze=>{if(ze.button!==Me||(Ue.set(ze.pointerId,ze),Ue.size>1))return;let Ge=ze.clientX,qe=ze.clientY,Ke=!1;const Ye=Date.now(),Qe=Ee.getBoundingClientRect(),{left:Xe,top:Ze}=Qe,Je=nn=>{if(nn.defaultPrevented||Ue.size>1||He&&Date.now()-Ye<Be)return;const dn=nn.clientX,cn=nn.clientY,an=dn-Ge,pn=cn-qe;(Ke||Math.abs(an)>Oe||Math.abs(pn)>Oe)&&(nn.preventDefault(),nn.stopPropagation(),Ke||($e.set({type:"start",x:Ge-Xe,y:qe-Ze}),Ke=!0),$e.set({type:"move",x:dn-Xe,y:cn-Ze,deltaX:an,deltaY:pn}),Ge=dn,qe=cn)},en=nn=>{if(Ue.delete(nn.pointerId),Ke){const dn=nn.clientX,cn=nn.clientY;$e.set({type:"end",x:dn-Xe,y:cn-Ze})}Ve()},tn=nn=>{Ue.delete(nn.pointerId),nn.relatedTarget&&nn.relatedTarget!==document.documentElement||en(nn)},St=nn=>{Ke&&(nn.stopPropagation(),nn.preventDefault())},sn=nn=>{nn.defaultPrevented||Ue.size>1||Ke&&nn.preventDefault()};document.addEventListener("pointermove",Je),document.addEventListener("pointerup",en),document.addEventListener("pointerout",tn),document.addEventListener("pointercancel",tn),document.addEventListener("touchmove",sn,{passive:!1}),document.addEventListener("click",St,{capture:!0}),Ve=()=>{document.removeEventListener("pointermove",Je),document.removeEventListener("pointerup",en),document.removeEventListener("pointerout",tn),document.removeEventListener("pointercancel",tn),document.removeEventListener("touchmove",sn),setTimeout(()=>{document.removeEventListener("click",St,{capture:!0})},10)}};return Ee.addEventListener("pointerdown",We),{signal:$e,cleanup:()=>{Ve(),Ee.removeEventListener("pointerdown",We),Ue.clear(),f$1($e)}}}(this.wrapper);const Ce=h$2(()=>{const Ee=this.dragStream.signal.value;if(!Ee)return;const Te=this.wrapper.getBoundingClientRect().width,Oe=(Me=Ee.x/Te)<0?0:Me>1?1:Me;var Me;Ee.type==="start"?(this.isDragging=!0,this.emit("dragstart",Oe)):Ee.type==="move"?this.emit("drag",Oe):Ee.type==="end"&&(this.isDragging=!1,this.emit("dragend",Oe))},[this.dragStream.signal]);this.subscriptions.push(Ce)}initHtml(){const Ce=document.createElement("div"),Ee=Ce.attachShadow({mode:"open"}),Te=this.options.cspNonce&&typeof this.options.cspNonce=="string"?this.options.cspNonce.replace(/"/g,""):"";return Ee.innerHTML=`
2005
2005
  <style${Te?` nonce="${Te}"`:""}>
2006
2006
  :host {
2007
2007
  user-select: none;
@@ -2589,8 +2589,8 @@ img.ProseMirror-separator {
2589
2589
  border-radius: 4px;
2590
2590
  `,Be.onclick=Me,Be};return Ee.append(Te("+ Col",this.addColumnAfter),Te("− Col",this.deleteColumn),Te("+ Row",this.addRowAfter),Te("− Row",this.deleteRow)),Ee}static get observedAttributes(){return["props","bindings"]}async editorDitaContent(Ee){var Te;if(console.log("In WYSIWYG Editor component...",Ee),this.$ditaEditor){const Oe=this.$ditaEditor.state.selection.from;if(this.$ditaEditor.commands.clearContent(),!((Te=Ee==null?void 0:Ee.data)!=null&&Te.dita))return;let Me="";this.ditaValue=Ee==null?void 0:Ee.data,await(async()=>{var Ue,He;const $e=(Ue=Ee==null?void 0:Ee.data)==null?void 0:Ue.dita;return $e instanceof Promise?Me=await $e:Me=$e,(He=this.$ditaEditor)==null||He.commands.setContent(Me),setTimeout(()=>this.fixTableStyling(),100),Me})(),Oe&&this.$ditaEditor.chain().focus().setTextSelection(Oe).run()}}editorViewType(){var Oe;if(!this.$ditaEditor)return;const Ee=replaceCurlyBraces((Oe=this.props)==null?void 0:Oe.accessMode,"state",{},this.meta.props,this)||"edit",Te=String(Ee).toLowerCase().trim();this.isEditableMode=Te==="edit",this.$ditaEditor.setOptions({editable:this.isEditableMode})}addContentBlockType(Ee,Te){var Me,Be;if(!this.isEditableMode)return;const Oe=Ee;this.contentBlock=Ee,console.log("this is the content type ",Ee),this.$ditaEditor&&(this.$ditaEditor.state.selection.from,Oe==="text"?this.$ditaEditor.commands.insertContent("<p></p>"):Oe==="section"?this.$ditaEditor.commands.insertSection():Oe==="table"?(this.$ditaEditor.chain().focus().insertTable({rows:2,cols:4,withHeaderRow:!0}).run(),setTimeout(()=>this.fixTableStyling(),200),setTimeout(()=>this.fixTableStyling(),500)):Oe==="image"?(localStorage.setItem("selectedTopicId",(Be=(Me=this.getState())==null?void 0:Me.ditaContent)==null?void 0:Be.id),this.$ditaEditor.commands.insertContent({type:"imagePlaceholder"})):Oe==="video"?this.$ditaEditor.commands.insertContent({type:"videoPlaceholder"}):Oe==="codeBlock"?this.$ditaEditor.commands.insertContent({type:"codeBlock",attrs:{language:"javascript"}}):Oe==="hyperLink"&&this.$ditaEditor.commands.openCustomLinkModal())}attributeChangedCallback(Ee,Te,Oe){var Me;if(!(Te===Oe&&Ee!=="props"))if(Ee==="props")try{this.props={...this.props,...JSON.parse(Oe||"{}")},this.editorViewType()}catch(Be){console.error("Error parsing props:",Be)}else Ee==="bindings"&&(this.bindings=JSON.parse(Oe||"{}"),(Me=this.getState().ditaContent)==null||Me.data,this.setBindings(this.bindings,Be=>{var $e;this.variablesList=replaceCurlyBraces(($e=this.meta.props)==null?void 0:$e.variableList,"state",{},this.meta.props,this),this.editorViewType(),console.log(this.variablesList,"this is the varibale list ")}))}connectedCallback(){this.render()}updatePopupPosition(Ee,Te){Te&&(Ee.style.left=`${Te.left+window.scrollX}px`,Ee.style.top=`${Te.bottom+window.scrollY}px`,Ee.style.position="absolute",Ee.style.zIndex="9999")}createToolbarAction(Ee,Te,Oe,Me){const Be=document.createElement("button");Be.type="button",Be.setAttribute("aria-label",Ee);const $e=!this.isEditableMode||!!Me;Be.disabled=$e,Be.tabIndex=$e?-1:0,Be.className=`
2591
2591
  rounded p-1
2592
- ${$e?"opacity-40 cursor-not-allowed":"hover:bg-black hover:text-white"}
2593
- `,$e||(Be.onclick=Te);const Ue=document.createElement("img");return Ue.src=Oe,Ue.alt=Ee,Be.appendChild(Ue),Be}createFontSizeView(Ee){let Te=document.createElement("div");const Oe=()=>{if(!this.isEditableMode)return;let We=document.getElementById("font-size");We&&(We.textContent=this.fontSize+""),Ee(this.fontSize)},Me=()=>{this.isEditableMode&&(this.fontSize--,Oe())},Be=()=>{this.isEditableMode&&(this.fontSize++,Oe())};let $e=document.createElement("div");$e.className="flex flex-row items-center gap-0.5";let Ue=document.createElement("button");Ue.className="p-1 size-8 rounded hover:bg-gray-200 transition",Ue.textContent="-",Ue.addEventListener("click",()=>Me()),$e.appendChild(Ue);let He=document.createElement("div");He.id="font-size",He.className="bg-gray-50 rounded py-1 px-3 gap-2 text-lg",He.textContent=this.fontSize+"",$e.appendChild(He);let Ve=document.createElement("button");return Ve.className="p-1 size-8 rounded hover:bg-gray-200 transition",Ve.textContent="+",Ve.addEventListener("click",()=>Be()),$e.appendChild(Ve),Te.appendChild($e),Te}addDividerLineView(){let Ee=document.createElement("div");return Ee.id="divider-line",Ee.className+="h-7 bg-gray-100 items-center border-[1.5px]",Ee}getDropDownJson(){return dropdownJSON(this.bindings.state)}createDitaToolbarView(){let Ee=document.createElement("div");Ee.className="flex items-center justify-between w-full p-2 ",this.ditaActions.forEach(Te=>{if(Te.name==="line")Ee.appendChild(this.addDividerLineView());else if(Te.name==="fontSize"){const Oe=this.createFontSizeView(Te.command);Ee.appendChild(Oe)}else if(Te.name==="fontFamily"){let Oe=document.createElement("mobius-div");Oe.appendChild(mountComponents([this.getDropDownJson()],this)),Ee.appendChild(Oe)}else{const Oe=this.createToolbarAction(Te.name,Te.command,Te.icon,Te.isDisabled);Ee.appendChild(Oe)}}),this.appendChild(Ee)}debounce(Ee,Te){let Oe;return(...Me)=>{clearTimeout(Oe),Oe=setTimeout(()=>Ee(...Me),Te)}}isInsideTable(Ee){const{$from:Te}=Ee.state.selection;for(let Oe=Te.depth;Oe>0;Oe--)if(Te.node(Oe).type.name==="table")return!0;return!1}getFocusedNode(){if(!this.$ditaEditor)return;const Ee=this.isInsideTable(this.$ditaEditor),Te=document.getElementById("simple-table-toolbar");if(Ee&&!Te){const Oe=this.createSimpleTableToolbar(),Me=document.getElementById("dita-builder-container");Me==null||Me.prepend(Oe)}!Ee&&Te&&Te.remove()}searchAndHighlight(Ee){var Be;if(this.searchTerm=Ee.trim(),this.clearHighlights(),!this.searchTerm||!this.searchTerm.length)return;const Te=(Be=this.$ditaEditor)==null?void 0:Be.getText(),Oe=new RegExp(this.escapeRegExp(this.searchTerm),"gi");Te!=null&&Te.match(Oe)&&this.highlightMatches(this.searchTerm)}highlightMatches(Ee){var $e;if(!this.$ditaEditor)return;const{state:Te}=this.$ditaEditor,{doc:Oe}=Te;let Me=Te.tr;const Be=[];Oe.descendants((Ue,He)=>{if(Ue.isText){const Ve=Ue.text,We=new RegExp(this.escapeRegExp(Ee),"gi");let ze;for(;(ze=We.exec(Ve))!==null;){const Ge=He+ze.index,qe=Ge+ze[0].length;Be.push({from:Ge,to:qe})}}}),Be.reverse().forEach(({from:Ue,to:He})=>{var We;const Ve=(We=this.$ditaEditor)==null?void 0:We.schema.marks.highlight.create({color:"#ffeb3b"});Ve&&(Me=Me.addMark(Ue,He,Ve))}),Be.length>0&&(($e=this.$ditaEditor)==null||$e.view.dispatch(Me))}clearHighlights(){var Me;if(!this.$ditaEditor)return;const{state:Ee}=this.$ditaEditor,{doc:Te}=Ee;let Oe=Ee.tr;Te.descendants((Be,$e)=>{Be.marks&&Be.marks.forEach(Ue=>{Ue.type.name==="highlight"&&(Oe=Oe.removeMark($e,$e+Be.nodeSize,Ue))})}),(Me=this.$ditaEditor)==null||Me.view.dispatch(Oe)}escapeRegExp(Ee){return Ee.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}createDitaBuilderView(Ee){let Te=document.createElement("div");return Te.id="dita-builder-container",Te.spellcheck=!1,Te.className="w-full min-h-full bg-white",this.$ditaEditor=new Editor({element:Te,content:(Ee==null?void 0:Ee.dita)||"",onCreate:Oe=>{const{editor:Me}=Oe;window.ditaEditorInstance=Me,this.editorViewType(),setTimeout(()=>this.fixTableStyling(),100)},onUpdate:this.onContentUpdate.bind(this),onSelectionUpdate:({editor:Oe})=>this.getFocusedNode(),extensions:[StarterKit.configure({link:!1,gapcursor:!1,dropcursor:!1}),Underline,TitleNode,TopicNode,src_default,TextStyle.configure({mergeNestedSpanStyles:!0}),SectionNode,CustomLink.configure({openOnClick:!0}),Highlight.configure({multicolor:!0}),ImagePlaceholderNode,VideoPlaceholderNode,Image$1,ImageResize.configure({inline:!1,allowBase64:!0,HTMLAttributes:{class:"resizable-image"}}),VideoNode,SectionTitleNode,TableRow,TableCell,TableHeader,Table$1.configure({resizable:!0,allowTableNodeSelection:!1,lastColumnResizable:!1,HTMLAttributes:{class:"custom-table"},handleWidth:5,cellMinWidth:50}),FocusClasses.configure({className:"has-focus",mode:"deepest"}),PaginationPlus.configure({pageHeight:842,pageGap:40,pageBreakBackground:"#dbeafe",pageHeaderHeight:50,footerLeft:""}),u$1.configure({attributeName:"id",types:["title","topic","div","section","heading","orderedList","bulletList","listItem"],createId:()=>window.crypto.randomUUID()}),Placeholder$1.configure({includeChildren:!0,showOnlyCurrent:!1,placeholder:({node:Oe})=>Oe.type.name==="heading"?"Whats the title?":Oe.type.name==="paragraph"?"Paragraph":Oe.type.name==="title"?"Topic title":Oe.type.name==="sectiontitle"?"Section title":""}),TextAlign.configure({types:["heading","paragraph","title"]}),Mention.configure({HTMLAttributes:{class:"mention"},suggestion:{char:"@",allowSpaces:!0,items:({query:Oe})=>{var Me,Be;return Oe===""?(Me=this.variablesList)==null?void 0:Me.map($e=>({label:$e==null?void 0:$e.name,id:$e==null?void 0:$e.name})):(Be=this.variablesList)==null?void 0:Be.filter($e=>$e==null?void 0:$e.name.toLowerCase().includes(Oe.toLowerCase())).map($e=>({label:$e==null?void 0:$e.name,id:$e==null?void 0:$e.name}))},command:({editor:Oe,range:Me,props:Be})=>{Oe.chain().focus().insertContentAt(Me,[{type:"mention",attrs:{id:Be.id,label:Be.label}},{type:"text",text:" "}]).run()},render:()=>{let Oe,Me;const Be=$e=>{if(Me.innerHTML="",!$e.items.length){Me.innerHTML='<div class="mention-item p-2 text-gray-400">No matches</div>';return}$e.items.forEach(Ue=>{const He=document.createElement("div");He.classList.add("mention-item","p-2","cursor-pointer","hover:bg-gray-200","rounded"),He.textContent=Ue.label,He.addEventListener("click",()=>$e.command(Ue)),Me.appendChild(He)})};return{onStart:$e=>{var He;const Ue=(He=$e.clientRect)==null?void 0:He.call($e);Ue&&(Oe=document.createElement("div"),Oe.classList.add("mention-popup","absolute","bg-white","shadow-md","border","rounded","p-2","z-50"),Me=document.createElement("div"),Me.className="mention-items flex flex-col",Oe.appendChild(Me),document.body.appendChild(Oe),Be($e),this.updatePopupPosition(Oe,Ue))},onUpdate:$e=>{var He;Be($e);const Ue=(He=$e.clientRect)==null?void 0:He.call($e);Ue&&this.updatePopupPosition(Oe,Ue)},onKeyDown:({event:$e})=>$e.key==="Escape"?(Oe.remove(),!0):!1,onExit:()=>Oe.remove()}}}})],editorProps:{attributes:{class:"border-black rounded-b-md px-10 outline-none"},handleDOMEvents:{mousedown:(Oe,Me)=>{const Be=Me.target;return(Be.classList.contains("column-resize-handle")||Be.closest(".column-resize-handle"))&&(console.log("Resize started"),this.isResizingTable=!0),!1},mousemove:(Oe,Me)=>(this.isResizingTable,!1),mouseup:(Oe,Me)=>(this.isResizingTable&&(console.log("Resize ended"),setTimeout(()=>{this.isResizingTable=!1,setTimeout(()=>{this.preventExtraParagraphs(),this.fixTableStyling()},150)},100)),!1),mouseleave:(Oe,Me)=>(this.isResizingTable&&setTimeout(()=>{this.isResizingTable=!1},100),!1)}}}),Te}fixTableStyling(){document.querySelectorAll(".tableWrapper table, .ProseMirror table").forEach(Te=>{var Ue;const Oe=Te;let Me=Oe.closest(".tableWrapper");if(!Me){const He=document.createElement("div");He.className="tableWrapper",(Ue=Oe.parentNode)==null||Ue.insertBefore(He,Oe),He.appendChild(Oe),Me=He}if(Me.style.cssText=`
2592
+ ${$e?"opacity-40 cursor-not-allowed":"hover:bg-gray-200"}
2593
+ `,$e||(Be.onclick=Te);const Ue=document.createElement("img");return Ue.src=Oe,Ue.alt=Ee,Be.appendChild(Ue),Be}createFontSizeView(Ee){let Te=document.createElement("div");Te.className="mt-0";const Oe=()=>{if(!this.isEditableMode)return;let We=document.getElementById("font-size");We&&(We.textContent=this.fontSize+""),Ee(this.fontSize)},Me=()=>{this.isEditableMode&&(this.fontSize--,Oe())},Be=()=>{this.isEditableMode&&(this.fontSize++,Oe())};let $e=document.createElement("div");$e.className="flex flex-row items-center gap-0.5 mt-0";let Ue=document.createElement("button");Ue.className="p-1 size-8 rounded hover:bg-gray-200 transition",Ue.textContent="-",Ue.addEventListener("click",()=>Me()),$e.appendChild(Ue);let He=document.createElement("div");He.id="font-size",He.className="bg-gray-50 rounded py-1 px-3 gap-2 text-lg mt-0 items-center",He.textContent=this.fontSize+"",$e.appendChild(He);let Ve=document.createElement("button");return Ve.className="p-1 size-8 rounded hover:bg-gray-200 transition",Ve.textContent="+",Ve.addEventListener("click",()=>Be()),$e.appendChild(Ve),Te.appendChild($e),Te}addDividerLineView(){let Ee=document.createElement("div");return Ee.id="divider-line",Ee.className+="h-7 bg-gray-100 items-center border-[1.5px]",Ee}getDropDownJson(){return dropdownJSON(this.bindings.state)}createDitaToolbarView(){let Ee=document.createElement("div");Ee.className="flex items-center justify-between w-full p-2 mt-2",this.ditaActions.forEach(Te=>{if(Te.name==="line")Ee.appendChild(this.addDividerLineView());else if(Te.name==="fontSize"){const Oe=this.createFontSizeView(Te.command);Ee.appendChild(Oe)}else if(Te.name==="fontFamily"){let Oe=document.createElement("mobius-div");Oe.appendChild(mountComponents([this.getDropDownJson()],this)),Ee.appendChild(Oe)}else{const Oe=this.createToolbarAction(Te.name,Te.command,Te.icon,Te.isDisabled);Ee.appendChild(Oe)}}),this.appendChild(Ee)}debounce(Ee,Te){let Oe;return(...Me)=>{clearTimeout(Oe),Oe=setTimeout(()=>Ee(...Me),Te)}}isInsideTable(Ee){const{$from:Te}=Ee.state.selection;for(let Oe=Te.depth;Oe>0;Oe--)if(Te.node(Oe).type.name==="table")return!0;return!1}getFocusedNode(){if(!this.$ditaEditor)return;const Ee=this.isInsideTable(this.$ditaEditor),Te=document.getElementById("simple-table-toolbar");if(Ee&&!Te){const Oe=this.createSimpleTableToolbar(),Me=document.getElementById("dita-builder-container");Me==null||Me.prepend(Oe)}!Ee&&Te&&Te.remove()}searchAndHighlight(Ee){var Be;if(this.searchTerm=Ee.trim(),this.clearHighlights(),!this.searchTerm||!this.searchTerm.length)return;const Te=(Be=this.$ditaEditor)==null?void 0:Be.getText(),Oe=new RegExp(this.escapeRegExp(this.searchTerm),"gi");Te!=null&&Te.match(Oe)&&this.highlightMatches(this.searchTerm)}highlightMatches(Ee){var $e;if(!this.$ditaEditor)return;const{state:Te}=this.$ditaEditor,{doc:Oe}=Te;let Me=Te.tr;const Be=[];Oe.descendants((Ue,He)=>{if(Ue.isText){const Ve=Ue.text,We=new RegExp(this.escapeRegExp(Ee),"gi");let ze;for(;(ze=We.exec(Ve))!==null;){const Ge=He+ze.index,qe=Ge+ze[0].length;Be.push({from:Ge,to:qe})}}}),Be.reverse().forEach(({from:Ue,to:He})=>{var We;const Ve=(We=this.$ditaEditor)==null?void 0:We.schema.marks.highlight.create({color:"#ffeb3b"});Ve&&(Me=Me.addMark(Ue,He,Ve))}),Be.length>0&&(($e=this.$ditaEditor)==null||$e.view.dispatch(Me))}clearHighlights(){var Me;if(!this.$ditaEditor)return;const{state:Ee}=this.$ditaEditor,{doc:Te}=Ee;let Oe=Ee.tr;Te.descendants((Be,$e)=>{Be.marks&&Be.marks.forEach(Ue=>{Ue.type.name==="highlight"&&(Oe=Oe.removeMark($e,$e+Be.nodeSize,Ue))})}),(Me=this.$ditaEditor)==null||Me.view.dispatch(Oe)}escapeRegExp(Ee){return Ee.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}createDitaBuilderView(Ee){let Te=document.createElement("div");return Te.id="dita-builder-container",Te.spellcheck=!1,Te.className="w-full min-h-full bg-white",this.$ditaEditor=new Editor({element:Te,content:(Ee==null?void 0:Ee.dita)||"",onCreate:Oe=>{const{editor:Me}=Oe;window.ditaEditorInstance=Me,this.editorViewType(),setTimeout(()=>this.fixTableStyling(),100)},onUpdate:this.onContentUpdate.bind(this),onSelectionUpdate:({editor:Oe})=>this.getFocusedNode(),extensions:[StarterKit.configure({link:!1,gapcursor:!1,dropcursor:!1}),Underline,TitleNode,TopicNode,src_default,TextStyle.configure({mergeNestedSpanStyles:!0}),SectionNode,CustomLink.configure({openOnClick:!0}),Highlight.configure({multicolor:!0}),ImagePlaceholderNode,VideoPlaceholderNode,Image$1,ImageResize.configure({inline:!1,allowBase64:!0,HTMLAttributes:{class:"resizable-image"}}),VideoNode,SectionTitleNode,TableRow,TableCell,TableHeader,Table$1.configure({resizable:!0,allowTableNodeSelection:!1,lastColumnResizable:!1,HTMLAttributes:{class:"custom-table"},handleWidth:5,cellMinWidth:50}),FocusClasses.configure({className:"has-focus",mode:"deepest"}),PaginationPlus.configure({pageHeight:842,pageGap:40,pageBreakBackground:"#f3f3f3",pageHeaderHeight:50,footerLeft:""}),u$1.configure({attributeName:"id",types:["title","topic","div","section","heading","orderedList","bulletList","listItem"],createId:()=>window.crypto.randomUUID()}),Placeholder$1.configure({includeChildren:!0,showOnlyCurrent:!1,placeholder:({node:Oe})=>Oe.type.name==="heading"?"Whats the title?":Oe.type.name==="paragraph"?"Paragraph":Oe.type.name==="title"?"Topic title":Oe.type.name==="sectiontitle"?"Section title":""}),TextAlign.configure({types:["heading","paragraph","title"]}),Mention.configure({HTMLAttributes:{class:"mention"},suggestion:{char:"@",allowSpaces:!0,items:({query:Oe})=>{var Me,Be;return Oe===""?(Me=this.variablesList)==null?void 0:Me.map($e=>({label:$e==null?void 0:$e.name,id:$e==null?void 0:$e.name})):(Be=this.variablesList)==null?void 0:Be.filter($e=>$e==null?void 0:$e.name.toLowerCase().includes(Oe.toLowerCase())).map($e=>({label:$e==null?void 0:$e.name,id:$e==null?void 0:$e.name}))},command:({editor:Oe,range:Me,props:Be})=>{Oe.chain().focus().insertContentAt(Me,[{type:"mention",attrs:{id:Be.id,label:Be.label}},{type:"text",text:" "}]).run()},render:()=>{let Oe,Me;const Be=$e=>{if(Me.innerHTML="",!$e.items.length){Me.innerHTML='<div class="mention-item p-2 text-gray-400">No matches</div>';return}$e.items.forEach(Ue=>{const He=document.createElement("div");He.classList.add("mention-item","p-2","cursor-pointer","hover:bg-gray-200","rounded"),He.textContent=Ue.label,He.addEventListener("click",()=>$e.command(Ue)),Me.appendChild(He)})};return{onStart:$e=>{var He;const Ue=(He=$e.clientRect)==null?void 0:He.call($e);Ue&&(Oe=document.createElement("div"),Oe.classList.add("mention-popup","absolute","bg-white","shadow-md","border","rounded","p-2","z-50"),Me=document.createElement("div"),Me.className="mention-items flex flex-col",Oe.appendChild(Me),document.body.appendChild(Oe),Be($e),this.updatePopupPosition(Oe,Ue))},onUpdate:$e=>{var He;Be($e);const Ue=(He=$e.clientRect)==null?void 0:He.call($e);Ue&&this.updatePopupPosition(Oe,Ue)},onKeyDown:({event:$e})=>$e.key==="Escape"?(Oe.remove(),!0):!1,onExit:()=>Oe.remove()}}}})],editorProps:{attributes:{class:"border-black rounded-b-md px-10 outline-none"},handleDOMEvents:{mousedown:(Oe,Me)=>{const Be=Me.target;return(Be.classList.contains("column-resize-handle")||Be.closest(".column-resize-handle"))&&(console.log("Resize started"),this.isResizingTable=!0),!1},mousemove:(Oe,Me)=>(this.isResizingTable,!1),mouseup:(Oe,Me)=>(this.isResizingTable&&(console.log("Resize ended"),setTimeout(()=>{this.isResizingTable=!1,setTimeout(()=>{this.preventExtraParagraphs(),this.fixTableStyling()},150)},100)),!1),mouseleave:(Oe,Me)=>(this.isResizingTable&&setTimeout(()=>{this.isResizingTable=!1},100),!1)}}}),Te}fixTableStyling(){document.querySelectorAll(".tableWrapper table, .ProseMirror table").forEach(Te=>{var Ue;const Oe=Te;let Me=Oe.closest(".tableWrapper");if(!Me){const He=document.createElement("div");He.className="tableWrapper",(Ue=Oe.parentNode)==null||Ue.insertBefore(He,Oe),He.appendChild(Oe),Me=He}if(Me.style.cssText=`
2594
2594
  width: 100% !important;
2595
2595
  max-width: 100% !important;
2596
2596
  overflow-x: auto !important;
@@ -3100,7 +3100,7 @@ img.ProseMirror-separator {
3100
3100
  handleWidth: 6,
3101
3101
  cellMinWidth: 50,
3102
3102
  }),
3103
- `,this.appendChild(Ee)}render(Ee=""){this.loadStyles();const Te=this.createDitaBuilderView(Ee);this.createDitaToolbarView();let Oe=document.createElement("div");Oe.setAttribute("id",this.props.id),Oe.className="dita_builder w-full h-[80vh] p-10 bg-blue-100 overflow-auto",Oe.append(Te),this.appendChild(Oe),this.bindSearchEvents()}}customElements.define("mobius-wysiwyg-editor",WysiwygEditor);class CustomSearchBox extends CustomBaseInput{constructor(){super();Pn(this,"list");Pn(this,"suggestionsPath","word");Pn(this,"tableName","");Pn(this,"accessToken","");Pn(this,"filterOn","");Pn(this,"filterValue","");Pn(this,"apiUrl","https://api.datamuse.com/sug?s")}static get observedAttributes(){return["props","bindings"]}addErrorMessage(){}setupBindings(){const Ee=JSON.parse(this.getAttribute("bindings")||"{}");this.setBindings(Ee,Te=>{console.log("This is CustomSearchBox",Te)})}connectedCallback(){this.props=JSON.parse(this.getAttribute("props")),this.placeholder=this.props.placeholder||"",this.label=this.props.label||"",this.required=this.props.required||!1,this.inputType=this.props.type||"text",this.suggestionsPath=this.props.suggestionsPath||"word",this.tableName=this.props.tableName||"",this.accessToken=this.props.accessToken||"",this.filterOn=this.props.filterOn||"",this.setupBindings(),this.render(),this.addListeners()}callSearch(){this.appendList()}onInput(Ee,Te){var Me;console.log("input called"),this.hasInteracted=!0,this.value=Ee.textContent.trim();const Oe=this.querySelectorAll(".suggestionListItem");Oe&&Oe.forEach(Be=>Be.remove()),this.value.length>this.props.minLettersToTrigger?this.callSearch():this.value.length>=0&&(this.value.length==0&&(Ee.innerHTML=""),this.removeSuggestions()),this.provider&&(this._prevValues=((Me=this.signal)==null?void 0:Me.get())||this.getState())}onBlur(Ee){console.log("blur called 2"),Ee.textContent.trim()===""&&(this.value=this.placeholder,Ee.textContent=this.placeholder,Ee.classList.add("color-gray-400")),this.hasInteracted&&console.log("interacted"),this.removeSuggestions()}updateSearchValue(Ee){this.value=Ee,this.input&&(this.input.innerHTML=Ee)}callAPI(){console.log("api called for",this.value)}removeSuggestions(){const Ee=this.querySelectorAll(".suggestionListContainer");Ee&&Ee.forEach(Te=>Te.remove())}moveCursorToEnd(Ee){Ee.focus();const Te=document.createRange(),Oe=window.getSelection();Te.selectNodeContents(Ee),Te.collapse(!1),Oe==null||Oe.removeAllRanges(),Oe==null||Oe.addRange(Te)}showLoading(){let Ee=this.querySelector(".suggestionListContainer");Ee||(Ee=document.createElement("mobius-div"),Ee.className="suggestionListContainer "+this.props.suggestionListStyles,this.appendChild(Ee)),Ee.innerHTML='<mobius-div class="m-2">Loading...</mobius-div>'}clearLoading(){const Ee=this.querySelector(".suggestionListContainer");Ee&&(Ee.innerHTML="")}async appendList(){if(this.filterValue=replaceCurlyBraces(this.props.filterValue,"state",this.getState(),this.props,this),this.accessToken=replaceCurlyBraces(this.accessToken),this.showLoading(),this.props.apiUrl){this.apiUrl=this.props.apiUrl;const Oe={dbType:"TIDB",keyword:this.value,searchOn:[{tableName:this.tableName,attributes:[this.suggestionsPath],filters:[{key:this.filterOn,operator:"EQUAL",singleValue:this.filterValue}]}]};await fetch(this.apiUrl,{method:"POST",headers:{Authorization:`Bearer ${this.accessToken}`,"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(Oe)}).then(Me=>{if(!Me.ok)throw new Error(`HTTP error! status: ${Me.status}`);return Me.json()}).then(Me=>this.list=Me).catch(Me=>{console.error("Error fetching data:",Me)})}else await fetch(`${this.apiUrl}=${this.value}`).then(Oe=>Oe.json()).then(Oe=>this.list=Oe);const Ee=`
3103
+ `,this.appendChild(Ee)}render(Ee=""){this.loadStyles();const Te=this.createDitaBuilderView(Ee);this.createDitaToolbarView();let Oe=document.createElement("div");Oe.setAttribute("id",this.props.id),Oe.className="dita_builder w-full h-[80vh] p-10 bg-gray-100 overflow-auto",Oe.append(Te),this.appendChild(Oe),this.bindSearchEvents()}}customElements.define("mobius-wysiwyg-editor",WysiwygEditor);class CustomSearchBox extends CustomBaseInput{constructor(){super();Pn(this,"list");Pn(this,"suggestionsPath","word");Pn(this,"tableName","");Pn(this,"accessToken","");Pn(this,"filterOn","");Pn(this,"filterValue","");Pn(this,"apiUrl","https://api.datamuse.com/sug?s")}static get observedAttributes(){return["props","bindings"]}addErrorMessage(){}setupBindings(){const Ee=JSON.parse(this.getAttribute("bindings")||"{}");this.setBindings(Ee,Te=>{console.log("This is CustomSearchBox",Te)})}connectedCallback(){this.props=JSON.parse(this.getAttribute("props")),this.placeholder=this.props.placeholder||"",this.label=this.props.label||"",this.required=this.props.required||!1,this.inputType=this.props.type||"text",this.suggestionsPath=this.props.suggestionsPath||"word",this.tableName=this.props.tableName||"",this.accessToken=this.props.accessToken||"",this.filterOn=this.props.filterOn||"",this.setupBindings(),this.render(),this.addListeners()}callSearch(){this.appendList()}onInput(Ee,Te){var Me;console.log("input called"),this.hasInteracted=!0,this.value=Ee.textContent.trim();const Oe=this.querySelectorAll(".suggestionListItem");Oe&&Oe.forEach(Be=>Be.remove()),this.value.length>this.props.minLettersToTrigger?this.callSearch():this.value.length>=0&&(this.value.length==0&&(Ee.innerHTML=""),this.removeSuggestions()),this.provider&&(this._prevValues=((Me=this.signal)==null?void 0:Me.get())||this.getState())}onBlur(Ee){console.log("blur called 2"),Ee.textContent.trim()===""&&(this.value=this.placeholder,Ee.textContent=this.placeholder,Ee.classList.add("color-gray-400")),this.hasInteracted&&console.log("interacted"),this.removeSuggestions()}updateSearchValue(Ee){this.value=Ee,this.input&&(this.input.innerHTML=Ee)}callAPI(){console.log("api called for",this.value)}removeSuggestions(){const Ee=this.querySelectorAll(".suggestionListContainer");Ee&&Ee.forEach(Te=>Te.remove())}moveCursorToEnd(Ee){Ee.focus();const Te=document.createRange(),Oe=window.getSelection();Te.selectNodeContents(Ee),Te.collapse(!1),Oe==null||Oe.removeAllRanges(),Oe==null||Oe.addRange(Te)}showLoading(){let Ee=this.querySelector(".suggestionListContainer");Ee||(Ee=document.createElement("mobius-div"),Ee.className="suggestionListContainer "+this.props.suggestionListStyles,this.appendChild(Ee)),Ee.innerHTML='<mobius-div class="m-2">Loading...</mobius-div>'}clearLoading(){const Ee=this.querySelector(".suggestionListContainer");Ee&&(Ee.innerHTML="")}async appendList(){if(this.filterValue=replaceCurlyBraces(this.props.filterValue,"state",this.getState(),this.props,this),this.accessToken=replaceCurlyBraces(this.accessToken),this.showLoading(),this.props.apiUrl){this.apiUrl=this.props.apiUrl;const Oe={dbType:"TIDB",keyword:this.value,searchOn:[{tableName:this.tableName,attributes:[this.suggestionsPath],filters:[{key:this.filterOn,operator:"EQUAL",singleValue:this.filterValue}]}]};await fetch(this.apiUrl,{method:"POST",headers:{Authorization:`Bearer ${this.accessToken}`,"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(Oe)}).then(Me=>{if(!Me.ok)throw new Error(`HTTP error! status: ${Me.status}`);return Me.json()}).then(Me=>this.list=Me).catch(Me=>{console.error("Error fetching data:",Me)})}else await fetch(`${this.apiUrl}=${this.value}`).then(Oe=>Oe.json()).then(Oe=>this.list=Oe);const Ee=`
3104
3104
  ${this.list.map(Oe=>(console.log(Oe),`<mobius-div class="suggestionListItem ${this.props.suggestionListItemStyles}">${Oe[this.suggestionsPath]}</mobius-div>`)).join("")}
3105
3105
  `;if(this.clearLoading(),this.querySelector(".suggestionListContainer")){const Oe=this.querySelector(".suggestionListContainer");Oe&&(Oe.innerHTML=Ee)}else{const Oe=document.createElement("mobius-div");Oe.className="suggestionListContainer "+this.props.suggestionListStyles,Oe.innerHTML=Ee,this.appendChild(Oe)}const Te=this.querySelectorAll(".suggestionListItem");Te&&Te.forEach(Oe=>{Oe.addEventListener("mousedown",Me=>{Me.preventDefault()}),Oe.addEventListener("click",()=>{this.value=Oe.textContent||"",this.input.textContent=this.value,this.dispatchEvent(new CustomEvent("custom-search-input-changed",{detail:this.value,bubbles:!0})),this.removeSuggestions(),this.moveCursorToEnd(this.input)})})}render(){this.innerHTML="";const Ee=`
3106
3106
  <mobius-div
@@ -5511,7 +5511,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
5511
5511
  }
5512
5512
 
5513
5513
  .page {
5514
- width: 98%;
5514
+ width: 95%;
5515
5515
  height: ${He};
5516
5516
  min-height: 90%;
5517
5517
  background: #fff;
@@ -1,4 +1,4 @@
1
- import { conf as t, language as e } from "./typescript-jPBlF_n0.js";
1
+ import { conf as t, language as e } from "./typescript-BLfp9l0R.js";
2
2
  /*!-----------------------------------------------------------------------------
3
3
  * Copyright (c) Microsoft Corporation. All rights reserved.
4
4
  * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
@@ -1,4 +1,4 @@
1
- import { m as Et } from "./index-Drw5Ep0-.js";
1
+ import { m as Et } from "./index-C4ZQZUTA.js";
2
2
  /*!-----------------------------------------------------------------------------
3
3
  * Copyright (c) Microsoft Corporation. All rights reserved.
4
4
  * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
@@ -1,4 +1,4 @@
1
- import { m as l } from "./index-Drw5Ep0-.js";
1
+ import { m as l } from "./index-C4ZQZUTA.js";
2
2
  /*!-----------------------------------------------------------------------------
3
3
  * Copyright (c) Microsoft Corporation. All rights reserved.
4
4
  * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
@@ -1,4 +1,4 @@
1
- import { m as s } from "./index-Drw5Ep0-.js";
1
+ import { m as s } from "./index-C4ZQZUTA.js";
2
2
  /*!-----------------------------------------------------------------------------
3
3
  * Copyright (c) Microsoft Corporation. All rights reserved.
4
4
  * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
@@ -1,4 +1,4 @@
1
- import { m as o } from "./index-Drw5Ep0-.js";
1
+ import { m as o } from "./index-C4ZQZUTA.js";
2
2
  /*!-----------------------------------------------------------------------------
3
3
  * Copyright (c) Microsoft Corporation. All rights reserved.
4
4
  * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
@@ -1,4 +1,4 @@
1
- import { m } from "./index-Drw5Ep0-.js";
1
+ import { m } from "./index-C4ZQZUTA.js";
2
2
  /*!-----------------------------------------------------------------------------
3
3
  * Copyright (c) Microsoft Corporation. All rights reserved.
4
4
  * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
@@ -1,4 +1,4 @@
1
- import { t as O, m as I } from "./index-Drw5Ep0-.js";
1
+ import { t as O, m as I } from "./index-C4ZQZUTA.js";
2
2
  /*!-----------------------------------------------------------------------------
3
3
  * Copyright (c) Microsoft Corporation. All rights reserved.
4
4
  * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)