@rettangoli/ui 0.1.2-rc34 → 0.1.2-rc35

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.
@@ -923,7 +923,7 @@ var rettangoli=(()=>{var Ds=Object.defineProperty;var R=(e,t)=>{for(var r in t)D
923
923
  min-width: 200px;
924
924
  max-width: 400px;
925
925
  }
926
- `))}constructor(){super(),e.initializeStyleSheet(),this.shadow=this.attachShadow({mode:"open"}),this.shadow.adoptedStyleSheets=[e.styleSheet],this._popoverOverlay=document.createElement("div"),this._popoverOverlay.className="popover-overlay",this.shadow.appendChild(this._popoverOverlay),this._popoverOverlay.addEventListener("click",()=>{this.dispatchEvent(new CustomEvent("close",{detail:{}}))}),this._popoverOverlay.addEventListener("contextmenu",t=>{t.preventDefault(),this.dispatchEvent(new CustomEvent("close",{detail:{}}))}),this._popoverContainer=document.createElement("div"),this._popoverContainer.className="popover-container",this.shadow.appendChild(this._popoverContainer),this._slotElement=null,this._isOpen=!1,this._handleEscKey=this._handleEscKey.bind(this)}static get observedAttributes(){return["open","x","y","placement","no-overlay"]}connectedCallback(){this.hasAttribute("open")&&this._show()}disconnectedCallback(){this._removeGlobalListeners()}attributeChangedCallback(t,r,s){t==="open"?s!==null&&!this._isOpen?this._show():s===null&&this._isOpen&&this._hide():(t==="x"||t==="y"||t==="placement")&&this._isOpen&&this._updatePosition()}_show(){this._isOpen||(this._slotElement||(this._slotElement=document.createElement("slot"),this._slotElement.setAttribute("name","content"),this._popoverContainer.appendChild(this._slotElement)),this._isOpen=!0,this._updatePosition(),this._addGlobalListeners())}_hide(){this._isOpen&&(this._isOpen=!1,this._slotElement&&(this._popoverContainer.removeChild(this._slotElement),this._slotElement=null),this._removeGlobalListeners())}_updatePosition(){let t=parseFloat(this.getAttribute("x")||"0"),r=parseFloat(this.getAttribute("y")||"0"),s=this.getAttribute("placement")||"bottom-start";this.removeAttribute("positioned"),requestAnimationFrame(()=>{let i=this._popoverContainer.getBoundingClientRect(),{left:n,top:o}=this._calculatePosition(t,r,i.width,i.height,s);this._popoverContainer.style.left=`${n}px`,this._popoverContainer.style.top=`${o}px`,requestAnimationFrame(()=>{this.setAttribute("positioned","")})})}_calculatePosition(t,r,s,i,n){let a=t,l=r;switch(n){case"top":a=t-s/2,l=r-i-8;break;case"top-start":a=t,l=r-i-8;break;case"top-end":a=t-s,l=r-i-8;break;case"right":a=t+8,l=r-i/2;break;case"right-start":a=t+8,l=r;break;case"right-end":a=t+8,l=r-i;break;case"bottom":a=t-s/2,l=r+8;break;case"bottom-start":a=t,l=r+8;break;case"bottom-end":a=t-s,l=r+8;break;case"left":a=t-s-8,l=r-i/2;break;case"left-start":a=t-s-8,l=r;break;case"left-end":a=t-s-8,l=r-i;break}let p=8;return a=Math.max(p,Math.min(a,window.innerWidth-s-p)),l=Math.max(p,Math.min(l,window.innerHeight-i-p)),{left:a,top:l}}_addGlobalListeners(){setTimeout(()=>{document.addEventListener("keydown",this._handleEscKey)},0)}_removeGlobalListeners(){document.removeEventListener("keydown",this._handleEscKey)}_handleEscKey(t){t.key==="Escape"&&this.dispatchEvent(new CustomEvent("close",{detail:{}}))}get popover(){return this._popoverContainer}},xr=({render:e,html:t})=>nt;var ot={};R(ot,{handleClickItem:()=>Gs});var Gs=(e,t)=>{let{dispatchEvent:r}=t,s=e.currentTarget.dataset.id;r(new CustomEvent("item-click",{detail:{id:s}}))};var at={};R(at,{INITIAL_STATE:()=>Ys,toViewData:()=>Zs});var Ys=Object.freeze({}),Xs=["id","class","style","slot"],Qs=e=>Object.entries(e).filter(([t])=>!Xs.includes(t)).map(([t,r])=>`${t}=${r}`).join(" "),Zs=({props:e,attrs:t})=>{let r=Qs(t),s=e.items||[],i=e.separator||"breadcrumb-arrow",n=[];return s.forEach((o,a)=>{n.push(o),a<s.length-1&&n.push({isSeparator:!0})}),{containerAttrString:r,items:n,separator:i}};var _r={elementName:"rtgl-breadcrumb",viewDataSchema:{type:"object",properties:{containerAttrString:{type:"string"},items:{type:"array",items:{type:"object",properties:{label:{type:"string"},id:{type:"string"}}}},separator:{type:"string"}}},propsSchema:{type:"object",properties:{items:{type:"array",items:{type:"object",properties:{label:{type:"string"},id:{type:"string"}}}},separator:{type:"string",default:"breadcrumb-arrow"}}},refs:{"item-*":{eventListeners:{click:{handler:"handleClickItem"}}}},events:{"item-click":{type:"object",properties:{item:{type:"object",properties:{label:{type:"string"},id:{type:"string"}}},index:{type:"number"}}}},template:{type:9,items:[{type:8,properties:[{key:"rtgl-view d=h av=c g=md p=sm ${containerAttrString}",value:{type:9,items:[{type:7,itemVar:"item",indexVar:null,iterable:{type:1,path:"items"},body:{type:9,items:[{type:8,properties:[{key:"$if item.isSeparator",value:{type:6,conditions:[{type:1,path:"item.isSeparator"},{type:1,path:"item.id"},null],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-svg wh=16 svg=${separator} c=mu-fg",value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-svg wh=16 svg=",{type:1,path:"separator"}," c=mu-fg"]}}],fast:!0}],fast:!0},{type:9,items:[{type:8,properties:[{key:"rtgl-view#item-${item.id} data-id=${item.id} cur=p",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text s=sm c=mu-fg",value:{type:1,path:"item.label"}}],fast:!0}],fast:!0},parsedKey:{type:2,parts:["rtgl-view#item-",{type:1,path:"item.id"}," data-id=",{type:1,path:"item.id"}," cur=p"]}}],fast:!0}],fast:!0},{type:9,items:[{type:8,properties:[{key:"rtgl-text s=sm c=mu-fg",value:{type:1,path:"item.label"}}],fast:!0}],fast:!0}],id:null}}],fast:!1}],fast:!1}}],fast:!1},parsedKey:{type:2,parts:["rtgl-view d=h av=c g=md p=sm ",{type:1,path:"containerAttrString"}]}}],fast:!1}],fast:!1}};var lt={};R(lt,{handleClickMenuItem:()=>ti,handleClosePopover:()=>ei});var ei=(e,t)=>{let{dispatchEvent:r}=t;r(new CustomEvent("close"))},ti=(e,t)=>{let{dispatchEvent:r}=t,s=parseInt(e.currentTarget.id.replace("option-","")),i=t.props.items[s];r(new CustomEvent("click-item",{detail:{index:s,item:i}}))};var pt={};R(pt,{INITIAL_STATE:()=>ri,toViewData:()=>si});var ri=Object.freeze({}),si=({props:e,attrs:t})=>({items:e.items||[],open:!!t.open,x:t.x,y:t.y,placement:t.placement});var Er={elementName:"rtgl-dropdown-menu",viewDataSchema:{type:"object"},propsSchema:{type:"object",properties:{items:{type:"array",items:{type:"object",properties:{label:{type:"string"},type:{type:"string",enum:["label","item","separator"]}}}}}},attrsSchema:{type:"object",properties:{open:{type:"string"},x:{type:"string"},y:{type:"string"},placement:{type:"string"}}},refs:{popover:{eventListeners:{close:{handler:"handleClosePopover"}}},"option-*":{eventListeners:{click:{handler:"handleClickMenuItem"}}}},template:{type:9,items:[{type:8,properties:[{key:"rtgl-popover#popover ?open=${open} x=${x} y=${y} placement=${placement}",value:{type:9,items:[{type:8,properties:[{key:"rtgl-view wh=300 g=xs slot=content bgc=background br=md",value:{type:9,items:[{type:7,itemVar:"item",indexVar:"i",iterable:{type:1,path:"items"},body:{type:9,items:[{type:8,properties:[{key:"$if item.type == 'label'",value:{type:6,conditions:[{type:4,op:0,left:{type:1,path:"item.type"},right:{type:0,value:"label"}},{type:4,op:0,left:{type:1,path:"item.type"},right:{type:0,value:"item"}},{type:4,op:0,left:{type:1,path:"item.type"},right:{type:0,value:"separator"}}],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-view w=f ph=lg pv=md",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text s=sm c=mu-fg",value:{type:1,path:"item.label"}}],fast:!0}],fast:!0}}],fast:!0}],fast:!0},{type:9,items:[{type:8,properties:[{key:"rtgl-view#option-${i} w=f h-bgc=ac ph=lg pv=md cur=p br=md bgc=mu",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text",value:{type:1,path:"item.label"}}],fast:!0}],fast:!0},parsedKey:{type:2,parts:["rtgl-view#option-",{type:1,path:"i"}," w=f h-bgc=ac ph=lg pv=md cur=p br=md bgc=mu"]}}],fast:!0}],fast:!0},{type:9,items:[{type:8,properties:[{key:"rtgl-view w=f h=1 ph=lg mv=md bgc=bo",value:{type:0,value:null}}],fast:!0}],fast:!0}],id:null}}],fast:!1}],fast:!1}}],fast:!1}}],fast:!1}],fast:!1},parsedKey:{type:2,parts:["rtgl-popover#popover ?open=",{type:1,path:"open"}," x=",{type:1,path:"x"}," y=",{type:1,path:"y"}," placement=",{type:1,path:"placement"}]}}],fast:!1}],fast:!1}};var ct={};R(ct,{handleActionClick:()=>oi,handleBeforeMount:()=>ii,handleColorPickerChange:()=>ci,handleImageClick:()=>di,handleInputChange:()=>ai,handleOnUpdate:()=>ni,handlePopoverInputChange:()=>li,handleSelectAddOption:()=>yi,handleSelectChange:()=>pi,handleSliderChange:()=>ui,handleSliderInputChange:()=>hi,handleTooltipMouseEnter:()=>mi,handleTooltipMouseLeave:()=>gi,handleWaveformClick:()=>fi});var ii=e=>{let{store:t,props:r}=e;t.setFormValues(r.defaultValues)},ni=(e,t)=>{let{oldAttrs:r,newAttrs:s}=e,{store:i,props:n,render:o}=t;r?.key!==s?.key&&(i.setFormValues(n.defaultValues),o())},me=(e,t,r,s)=>{s(new CustomEvent("form-change",{detail:{name:e,fieldValue:t,formValues:r}}))},oi=(e,t)=>{let{store:r,dispatchEvent:s}=t,i=e.currentTarget.id.replace("action-","");s(new CustomEvent("action-click",{detail:{actionId:i,formValues:r.selectFormValues()}}))},ai=(e,t)=>{let{store:r,dispatchEvent:s,props:i}=t,n=e.currentTarget.id.replace("input-","");n&&e.detail.value!==void 0&&(r.setFormFieldValue({name:n,value:e.detail.value,props:i}),me(n,e.detail.value,r.selectFormValues(),s))},li=(e,t)=>{let{store:r,dispatchEvent:s,props:i}=t,n=e.currentTarget.id.replace("popover-input-","");n&&e.detail.value!==void 0&&(r.setFormFieldValue({name:n,value:e.detail.value,props:i}),me(n,e.detail.value,r.selectFormValues(),s))},pi=(e,t)=>{let{store:r,dispatchEvent:s,render:i,props:n}=t,o=e.currentTarget.id.replace("select-","");o&&e.detail.selectedValue!==void 0&&(r.setFormFieldValue({name:o,value:e.detail.selectedValue,props:n}),me(o,e.detail.selectedValue,r.selectFormValues(),s),i())},ci=(e,t)=>{let{store:r,dispatchEvent:s,props:i}=t,n=e.currentTarget.id.replace("colorpicker-","");n&&e.detail.value!==void 0&&(r.setFormFieldValue({name:n,value:e.detail.value,props:i}),me(n,e.detail.value,r.selectFormValues(),s))},ui=(e,t)=>{let{store:r,dispatchEvent:s,props:i}=t,n=e.currentTarget.id.replace("slider-","");n&&e.detail.value!==void 0&&(r.setFormFieldValue({name:n,value:e.detail.value,props:i}),me(n,e.detail.value,r.selectFormValues(),s))},hi=(e,t)=>{let{store:r,dispatchEvent:s,props:i}=t,n=e.currentTarget.id.replace("slider-input-","");n&&e.detail.value!==void 0&&(r.setFormFieldValue({name:n,value:e.detail.value,props:i}),me(n,e.detail.value,r.selectFormValues(),s))},di=(e,t)=>{e.type==="contextmenu"&&e.preventDefault();let{dispatchEvent:r}=t,s=e.currentTarget.id.replace("image-","");r(new CustomEvent("extra-event",{detail:{name:s,x:e.clientX,y:e.clientY,trigger:e.type}}))},fi=(e,t)=>{e.type==="contextmenu"&&e.preventDefault();let{dispatchEvent:r}=t,s=e.currentTarget.id.replace("waveform-","");r(new CustomEvent("extra-event",{detail:{name:s,x:e.clientX,y:e.clientY,trigger:e.type}}))},yi=(e,t)=>{let{store:r,dispatchEvent:s}=t,i=e.currentTarget.id.replace("select-","");s(new CustomEvent("action-click",{detail:{actionId:"select-options-add",name:i,formValues:r.selectFormValues()}}))},mi=(e,t)=>{let{store:r,render:s,props:i}=t,n=e.currentTarget.id.replace("tooltip-icon-",""),a=i.form.fields.find(l=>l.name===n);if(a&&a.tooltip){let l=e.currentTarget.getBoundingClientRect();r.showTooltip({x:l.left+l.width/2,y:l.top-8,content:a.tooltip.content}),s()}},gi=(e,t)=>{let{store:r,render:s}=t;r.hideTooltip(),s()};var vt={};R(vt,{INITIAL_STATE:()=>zi,getFormFieldValue:()=>Qi,hideTooltip:()=>rn,selectForm:()=>Ve,selectFormValues:()=>Xi,selectState:()=>Yi,setFormFieldValue:()=>en,setFormValues:()=>Zi,showTooltip:()=>tn,toViewData:()=>Gi});var g={LITERAL:0,VARIABLE:1,INTERPOLATION:2,FUNCTION:3,BINARY:4,UNARY:5,CONDITIONAL:6,LOOP:7,OBJECT:8,ARRAY:9},B={EQ:0,NEQ:1,GT:2,LT:3,GTE:4,LTE:5,AND:6,OR:7,IN:8},ke={NOT:0};var j=class extends Error{constructor(t){super(`Parse Error: ${t}`),this.name="JemplParseError"}},ge=class extends Error{constructor(t){super(`Render Error: ${t}`),this.name="JemplRenderError"}};var ut=e=>{if(!e||e.trim()==="")throw new j("Missing condition expression after '$if'");if(e.includes("===")||e.includes("!==")){let r=e.includes("===")?"==":"!=";throw new j(`Invalid comparison operator '${e.includes("===")?"===":"!=="}' - did you mean '${r}'? (got: '${e}')`)}let t=["<",">","<=",">=","==","!="];for(let r of t)if(e.trim().endsWith(r))throw new j(`Incomplete comparison expression - missing right operand (got: '${e}')`)},Ar=e=>{if(e.trim().endsWith(" in"))throw new j(`Missing iterable expression after 'in' (got: '$for ${e}')`);if(!e.includes(" in "))throw new j(`Invalid loop syntax - missing 'in' keyword (got: '$for ${e}')`);let[t,r]=e.split(" in ");if(!r||r.trim()==="")throw new j(`Missing iterable expression after 'in' (got: '$for ${e}')`);if(t.includes(",")){let s=t.split(",").map(i=>i.trim());for(let i of s)if(!i)throw new j(`Invalid loop variable - variable name cannot be empty (got: '$for ${e}')`)}else if(!t.trim())throw new j(`Invalid loop variable - variable name cannot be empty (got: '$for ${e}')`)};var kr=(e,t)=>{if(t===null)return new ge(`Cannot iterate over null value at '$for ${e}'`);if(t===void 0)return new ge(`Cannot iterate over undefined value at '$for ${e}'`);let r=typeof t;return new ge(`Cannot iterate over non-array value (got: ${r}) at '$for ${e}'`)},Sr=(e,t)=>{let r=t&&Object.keys(t).length>0?Object.keys(t).join(", "):"no custom functions provided";return new ge(`Unknown function '${e}' (${r})`)};var vi=(e,t,r={})=>{let s=T(e,r,t,{});return s===void 0?{}:s},T=(e,t,r,s)=>{if(e.var&&!e.type)return F(e.var,r,s);if(e.type===g.LITERAL)return e.value;if(e.type===g.VARIABLE)return F(e.path,r,s);if(e.type===g.INTERPOLATION)return wi(e.parts,t,r,s);switch(e.type){case g.FUNCTION:return Cr(e,t,r,s);case g.BINARY:return Ir(e,t,r,s);case g.UNARY:return Or(e,t,r,s);case g.CONDITIONAL:return _i(e,t,r,s);case g.LOOP:return $i(e,t,r,s);case g.OBJECT:return Ii(e,t,r,s);case g.ARRAY:return Oi(e,t,r,s);default:throw new Error(`Unknown node type: ${e.type}`)}},$r=new Map,bi=e=>{let t=[],r="",s=!1;for(let i=0;i<e.length;i++){let n=e[i];if(n==="[")r&&(t.push({type:"property",value:r}),r=""),s=!0;else if(n==="]"){if(s&&r){let o=r.trim();/^\d+$/.test(o)?t.push({type:"index",value:parseInt(o,10)}):t.push({type:"property",value:`[${r}]`}),r=""}s=!1}else r+=n}return r&&t.push({type:"property",value:r}),t},F=(e,t,r)=>{if(!e)return;if(e in r)return r[e];let s=$r.get(e);if(!s){let n=[],o="",a=0;for(let l=0;l<e.length;l++){let p=e[l];p==="["?(a++,o+=p):p==="]"?(a--,o+=p):p==="."&&a===0?o&&(n.push(o),o=""):o+=p}o&&n.push(o),s=[];for(let l of n){let p=bi(l.trim());s.push(...p)}$r.set(e,s)}let i=t;for(let n=0;n<s.length;n++){let o=s[n];if(o.type==="property"&&o.value in r){i=r[o.value];continue}if(i==null)return;(o.type==="property"||o.type==="index")&&(i=i[o.value])}return i},wi=(e,t,r,s)=>{let i=[];for(let n of e)if(typeof n=="string")i.push(n);else{let o=T(n,t,r,s);i.push(o!=null?String(o):"")}return i.join("")},Cr=(e,t,r,s)=>{let i=t[e.name];if(!i)throw Sr(e.name,t);let n=e.args.map(o=>T(o,t,r,s));return i(...n)},Se=(e,t,r,s)=>{if(e.var&&!e.type)return F(e.var,r,s);switch(e.type){case g.VARIABLE:return F(e.path,r,s);case g.LITERAL:return e.value;case g.BINARY:return Ir(e,t,r,s);case g.UNARY:return Or(e,t,r,s);case g.FUNCTION:return Cr(e,t,r,s);default:return T(e,t,r,s)}},Ir=(e,t,r,s)=>{if(e.op===B.AND||e.op===B.OR){let o=Se(e.left,t,r,s),a=Se(e.right,t,r,s);switch(e.op){case B.AND:return o&&a;case B.OR:return o||a}}let i=T(e.left,t,r,s),n=T(e.right,t,r,s);switch(e.op){case B.EQ:return i==n;case B.NEQ:return i!=n;case B.GT:return i>n;case B.LT:return i<n;case B.GTE:return i>=n;case B.LTE:return i<=n;case B.IN:return Array.isArray(n)?n.includes(i):!1;default:throw new Error(`Unknown binary operator: ${e.op}`)}},Or=(e,t,r,s)=>{let i=e.op===ke.NOT?Se(e.operand,t,r,s):T(e.operand,t,r,s);switch(e.op){case ke.NOT:return!i;default:throw new Error(`Unknown unary operator: ${e.op}`)}},xi=(e,t,r,s)=>{if(e.conditions.length===2&&e.conditions[1]===null){let i=e.conditions[0];if(i.type===g.VARIABLE)if(F(i.path,r,s)){let o=e.bodies[0];if(o.type===g.OBJECT&&o.properties.length<=5){let a={};for(let l of o.properties){let p=l.parsedKey?T(l.parsedKey,t,r,s):l.key,c=l.value;if(c.type===g.LITERAL)a[p]=c.value;else if(c.type===g.VARIABLE)a[p]=F(c.path,r,s);else if(c.type===g.INTERPOLATION){let u=[];for(let d of c.parts)if(typeof d=="string")u.push(d);else if(d.type===g.VARIABLE){let y=F(d.path,r,s);u.push(y!=null?String(y):"")}else{let y=T(d,t,r,s);u.push(y!=null?String(y):"")}a[p]=u.join("")}else a[p]=T(c,t,r,s)}return a}}else{let o=e.bodies[1];if(o.type===g.OBJECT&&o.properties.length<=5){let a={};for(let l of o.properties){let p=l.parsedKey?T(l.parsedKey,t,r,s):l.key,c=l.value;if(c.type===g.LITERAL)a[p]=c.value;else if(c.type===g.VARIABLE)a[p]=F(c.path,r,s);else if(c.type===g.INTERPOLATION){let u=[];for(let d of c.parts)if(typeof d=="string")u.push(d);else if(d.type===g.VARIABLE){let y=F(d.path,r,s);u.push(y!=null?String(y):"")}else{let y=T(d,t,r,s);u.push(y!=null?String(y):"")}a[p]=u.join("")}else a[p]=T(c,t,r,s)}return a}}}return null},_i=(e,t,r,s)=>{let i=xi(e,t,r,s);if(i!==null)return i;for(let n=0;n<e.conditions.length;n++){let o=e.conditions[n];if(o===null||Se(o,t,r,s))return T(e.bodies[n],t,r,s)}return Tr},Ei=(e,t)=>{let r=e.body,s=e.itemVar;if(r.type===g.CONDITIONAL&&r.conditions.length===1&&r.conditions[0].type===g.VARIABLE){let i=r.conditions[0].path,n=r.bodies[0];if(i.startsWith(s+".")){let o=i.substring(s.length+1);if(n.type===g.OBJECT&&n.properties.length<=5){for(let l of n.properties)if(l.parsedKey)return null;let a=[];for(let l=0;l<t.length;l++){let p=t[l];if(p[o]){let c={};for(let u of n.properties){let d=u.key,y=u.value;if(y.type===g.LITERAL)c[d]=y.value;else if(y.type===g.VARIABLE){let h=y.path;if(h===s)c[d]=p;else if(h.startsWith(s+".")){let f=h.substring(s.length+1);c[d]=p[f]}else return null}else if(y.type===g.INTERPOLATION){let h=[],f=!0;for(let m of y.parts)if(typeof m=="string")h.push(m);else if(m.type===g.VARIABLE){let v=m.path;if(v===s)h.push(p!=null?String(p):"");else if(v.startsWith(s+".")){let b=v.substring(s.length+1),x=p[b];h.push(x!=null?String(x):"")}else{f=!1;break}}else{f=!1;break}if(!f)return null;c[d]=h.join("")}else return null}a.push(c)}}return a}}}return null},Ai=(e,t)=>{let r=e.body,s=e.itemVar,i=Ei(e,t);if(i!==null)return i;if(r.type===g.OBJECT&&r.properties.length<=5){for(let a of r.properties)if(a.parsedKey)return null;let n=[],o=!0;for(let a of r.properties){let l=a.key,p=a.value;if(p.type===g.LITERAL)n.push({key:l,type:"literal",value:p.value});else if(p.type===g.VARIABLE){let c=p.path;if(c===s)n.push({key:l,type:"item"});else if(c.startsWith(s+".")){let u=c.substring(s.length+1);if(!u.includes(".")&&!u.includes("["))n.push({key:l,type:"prop",prop:u});else{o=!1;break}}else{o=!1;break}}else if(p.type===g.INTERPOLATION&&p.parts.length===1){let c=p.parts[0];if(c.type===g.VARIABLE){let u=c.path;if(u===s)n.push({key:l,type:"item_string"});else if(u.startsWith(s+".")){let d=u.substring(s.length+1);if(!d.includes(".")&&!d.includes("["))n.push({key:l,type:"prop_string",prop:d});else{o=!1;break}}else{o=!1;break}}else{o=!1;break}}else{o=!1;break}}if(o){let a=new Array(t.length);if(n.length===3&&n[0].type==="prop"&&n[0].key==="id"&&n[1].type==="prop_string"&&n[1].key==="title"&&n[2].type==="prop"&&n[2].key==="completed")for(let l=0;l<t.length;l++){let p=t[l];a[l]={id:p.id,title:p.title!=null?String(p.title):"",completed:p.completed}}else for(let l=0;l<t.length;l++){let p=t[l],c={};for(let u of n)if(u.type==="literal")c[u.key]=u.value;else if(u.type==="item")c[u.key]=p;else if(u.type==="prop")c[u.key]=p[u.prop];else if(u.type==="item_string")c[u.key]=p!=null?String(p):"";else if(u.type==="prop_string"){let d=p[u.prop];c[u.key]=d!=null?String(d):""}a[l]=c}return a}}return null},ki=(e,t,r,s,i)=>{let n=[],o=e.body;if(o.type===g.OBJECT&&o.fast!==!1){let a=e.itemVar,l=e.indexVar;for(let p=0;p<i.length;p++){let c=i[p],u={},d={...s,[a]:c,...l&&{[l]:p}};for(let y of o.properties){let h=y.parsedKey?T(y.parsedKey,t,r,d):y.key,f=y.value;if(f.type===g.LITERAL)u[h]=f.value;else if(f.type===g.VARIABLE){let m=f.path;if(m===a)u[h]=c;else if(m===l)u[h]=p;else if(m.startsWith(a+".")){let v=m.substring(a.length+1);!v.includes(".")&&!v.includes("[")?u[h]=c[v]:u[h]=F(m,r,{...s,[a]:c,...l&&{[l]:p}})}else u[h]=F(m,r,{...s,[a]:c,...l&&{[l]:p}})}else if(f.type===g.INTERPOLATION){let m=[];for(let v of f.parts)if(typeof v=="string")m.push(v);else if(v.type===g.VARIABLE){let b=v.path,x;if(b===a)x=c;else if(b===l)x=p;else if(b.startsWith(a+".")){let _=b.substring(a.length+1);!_.includes(".")&&!_.includes("[")?x=c[_]:x=F(b,r,{...s,[a]:c,...l&&{[l]:p}})}else x=F(b,r,{...s,[a]:c,...l&&{[l]:p}});m.push(x!=null?String(x):"")}else{let b={...s,[a]:c,...l&&{[l]:p}},x=T(v,t,r,b);m.push(x!=null?String(x):"")}u[h]=m.join("")}else{let m={...s,[a]:c,...l&&{[l]:p}};u[h]=T(f,t,r,m)}}n.push(u)}return n}return null},Si=(e,t,r)=>{let s=e.body;if(s.type===g.OBJECT&&s.properties.length===1&&s.properties[0].key==="$if item.visible"){let n=s.properties[0].value;if(n.type===g.CONDITIONAL&&n.conditions.length===1&&n.conditions[0].type===g.VARIABLE&&n.conditions[0].path==="item.visible"){let o=n.bodies[0];if(o.type===g.OBJECT&&o.properties.length===2){let a=o.properties[0],l=o.properties[1];if(a.key==="id"&&a.value.type===g.VARIABLE&&a.value.path==="item.id"&&l.key==="$if item.highlighted"&&l.value.type===g.CONDITIONAL){let p=[];for(let c=0;c<t.length;c++){let u=t[c];if(u.visible){let d={id:u.id};u.highlighted?(d.highlight=!0,d.message=`This item is highlighted: ${u.name}`):(d.highlight=!1,d.message=u.name),p.push(d)}}return p}}}}return null},$i=(e,t,r,s)=>{let i=T(e.iterable,t,r,s);if(!Array.isArray(i)){let a=`${e.itemVar}${e.indexVar?`, ${e.indexVar}`:""} in ${e.iterable.path}`;throw kr(a,i)}if(!e.indexVar){let a=Si(e,i,e.itemVar);if(a!==null)return a}if(!e.indexVar){let a=Ai(e,i);if(a!==null)return a}let n=ki(e,t,r,s,i);if(n!==null)return n;let o=[];for(let a=0;a<i.length;a++){let l=e.indexVar?{...s,[e.itemVar]:i[a],[e.indexVar]:a}:{...s,[e.itemVar]:i[a]},p=T(e.body,t,r,l);Array.isArray(p)&&p.length===1?o.push(p[0]):o.push(p)}return o},Ci=(e,t,r,s)=>{if(e.whenCondition)return null;if(e.properties.length===1){let i=e.properties[0],n=i.parsedKey?T(i.parsedKey,t,r,s):i.key,o=i.value;if(o.type===g.OBJECT&&o.properties.length<=10&&!o.whenCondition){let a={},l={},p=!0;for(let c of o.properties){let u=c.parsedKey?T(c.parsedKey,t,r,s):c.key,d=c.value;if(d.type===g.LITERAL)l[u]=d.value;else if(d.type===g.VARIABLE)l[u]=F(d.path,r,s);else if(d.type===g.INTERPOLATION){let y=[];for(let h of d.parts)if(typeof h=="string")y.push(h);else if(h.type===g.VARIABLE){let f=F(h.path,r,s);y.push(f!=null?String(f):"")}else{p=!1;break}if(!p)break;l[u]=y.join("")}else if(d.type===g.OBJECT&&d.properties.length<=5){let y={};for(let h of d.properties){let f=h.key,m=h.value;if(m.type===g.LITERAL)y[f]=m.value;else if(m.type===g.VARIABLE)y[f]=F(m.path,r,s);else if(m.type===g.INTERPOLATION){let v=[];for(let b of m.parts)if(typeof b=="string")v.push(b);else if(b.type===g.VARIABLE){let x=F(b.path,r,s);v.push(x!=null?String(x):"")}else{p=!1;break}if(!p)break;y[f]=v.join("")}else{p=!1;break}}if(!p)break;l[u]=y}else{p=!1;break}}if(p)return a[n]=l,a}}return null},Ii=(e,t,r,s)=>{if(e.whenCondition&&!Se(e.whenCondition,t,r,s))return;let i=Ci(e,t,r,s);if(i!==null)return i;if(e.fast){let l={};for(let p of e.properties){let c=p.parsedKey?T(p.parsedKey,t,r,s):p.key,u=p.value;if(u.type===g.LITERAL)l[c]=u.value;else if(u.type===g.VARIABLE)l[c]=F(u.path,r,s);else if(u.type===g.INTERPOLATION){let d=[];for(let y of u.parts)if(typeof y=="string")d.push(y);else if(y.type===g.VARIABLE){let h=F(y.path,r,s);d.push(h!=null?String(h):"")}else{let h=T(y,t,r,s);d.push(h!=null?String(h):"")}l[c]=d.join("")}else l[c]=T(u,t,r,s)}return l}let n={},o=null,a=!1;for(let l of e.properties)if(!l.key.startsWith("$if ")&&!l.key.match(/^\$if\s+\w+.*:?$/)&&!l.key.startsWith("$elif")&&!l.key.startsWith("$else")&&!l.key.startsWith("$for ")){a=!0;break}for(let l of e.properties)if(l.key.startsWith("$if ")||l.key.match(/^\$if\s+\w+.*:?$/)){let p=T(l.value,t,r,s);if(!a&&p!==null&&p!==void 0)return Array.isArray(p)&&p.length===1?p[0]:p;typeof p=="object"&&p!==null&&!Array.isArray(p)&&Object.assign(n,p)}else if(!l.key.startsWith("$for ")){let p=l.value;if(p&&p.type===g.OBJECT&&p.properties){let c=p.properties.find(u=>u.key.startsWith("$for "));if(c){let u=T(c.value,t,r,s);u!==void 0&&(n[l.key]=u)}else{let u=T(l.value,t,r,s);u!==void 0&&(n[l.key]=u)}}else{let c=l.parsedKey?T(l.parsedKey,t,r,s):l.key,u=T(l.value,t,r,s);u!==void 0&&(n[c]=u)}}return n},Tr={},Oi=(e,t,r,s)=>{let i=[];for(let n of e.items)if(n.type===g.LOOP){let o=T(n,t,r,s);i.push(o)}else{let o=T(n,t,r,s);o!==Tr&&o!==void 0&&i.push(o)}return i},ht=vi;var Ti=/\$\{([^}]*)\}/g,Nr=e=>{let t=e.match(/^(\w+)\((.*)\)$/);if(!t)return{isFunction:!1};let[,r,s]=t,i=Li(s);return{isFunction:!0,type:g.FUNCTION,name:r,args:i}},Li=e=>e.trim()?Ni(e).map(r=>Vi(r.trim())):[],Ni=e=>{let t=[],r="",s=0,i=!1,n="";for(let o=0;o<e.length;o++){let a=e[o],l=o>0?e[o-1]:"";!i&&(a==='"'||a==="'")?(i=!0,n=a,r+=a):i&&a===n&&l!=="\\"?(i=!1,n="",r+=a):!i&&a==="("?(s++,r+=a):!i&&a===")"?(s--,r+=a):!i&&a===","&&s===0?(t.push(r),r=""):r+=a}return r&&t.push(r),t},Vi=e=>{if(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))return{type:g.LITERAL,value:e.slice(1,-1)};if(/^-?\d+(\.\d+)?$/.test(e))return{type:g.LITERAL,value:parseFloat(e)};if(e==="true")return{type:g.LITERAL,value:!0};if(e==="false")return{type:g.LITERAL,value:!1};if(e==="null")return{type:g.LITERAL,value:null};let t=Nr(e);return t.isFunction?{type:t.type,name:t.name,args:t.args}:{type:g.VARIABLE,path:e}},Ri=/^\w+\(.*\)$/,Pi=/\s[+\-*/%]\s|\|\||&&|\?\?|.*\?.*:/,ji=e=>{if(!(!e||e.trim()===""||Ri.test(e))&&Pi.test(e))throw e.includes("?")&&e.includes(":")?new j(`Complex expressions not supported in variable replacements - consider calculating the value in your data instead. Offending expression: "${e}"`):e.includes("||")||e.includes("&&")||e.includes("??")?new j(`Logical operators not supported in variable replacements - consider calculating the value in your data instead (operators like ||, &&, ?? are not supported). Offending expression: "${e}"`):new j(`Arithmetic expressions not supported in variable replacements - consider calculating '${e}' in your data instead (expressions with +, -, *, /, % are not supported). Offending expression: "${e}"`)},Lr=(e,t={})=>{let r=e.trim();ji(r);let s=Nr(r);if(s.isFunction)return{type:s.type,name:s.name,args:s.args};if(r.includes("[")&&!/[\s+\-*/%|&?:]/.test(r)){let i=0;for(let n of r)n==="["?i++:n==="]"&&i--;if(i!==0)throw new Error("Invalid array index syntax")}return{type:g.VARIABLE,path:r}},dt=(e,t={})=>{let r=e,s=[];e.includes("\\${")&&(r=e.replace(/\\\\(\$\{[^}]*\})/g,"\\DOUBLE_ESC$1"),r=r.replace(/\\(\$\{[^}]*\})/g,(a,l)=>{let p=`__ESCAPED_${s.length}__`;return s.push(l),p}),r=r.replace(/\\DOUBLE_ESC/g,"\\"));let i=[...r.matchAll(Ti)];if(i.length===0){let a=r;for(let l=0;l<s.length;l++)a=a.replace(`__ESCAPED_${l}__`,s[l]);return{type:g.LITERAL,value:a}}if(i.length===1&&i[0][0]===r&&s.length===0)try{return Lr(i[0][1],t)}catch(a){if(a.message==="Invalid array index syntax")return{type:g.LITERAL,value:r};throw a}let n=[],o=0;for(let a of i){let[l,p]=a,c=a.index;if(c>o){let u=r.substring(o,c);for(let d=0;d<s.length;d++)u=u.replace(`__ESCAPED_${d}__`,s[d]);u&&n.push(u)}try{let u=Lr(p.trim(),t);n.push(u)}catch(u){if(u.message==="Invalid array index syntax")n.push(l);else throw u}o=c+l.length}if(o<r.length){let a=r.substring(o);for(let l=0;l<s.length;l++)a=a.replace(`__ESCAPED_${l}__`,s[l]);a&&n.push(a)}return{type:g.INTERPOLATION,parts:n}};var le=(e,t)=>typeof e=="string"?dt(e,t):typeof e=="object"&&e!==null?Array.isArray(e)?Di(e,t):Bi(e,t):{type:g.LITERAL,value:e},Di=(e,t)=>{let r=[],s=!1;for(let i=0;i<e.length;i++){let n=e[i];if(typeof n=="object"&&n!==null&&!Array.isArray(n)){let a=Object.keys(n);if(a.length===1&&a[0].startsWith("$for ")){let l=Vr(a[0],n[a[0]],t);r.push(l),s=!0;continue}}let o=le(n,t);r.push(o),(o.type===g.FUNCTION||o.type===g.CONDITIONAL||o.type===g.LOOP||o.type===g.OBJECT&&!o.fast||o.type===g.ARRAY&&!o.fast)&&(s=!0)}return{type:g.ARRAY,items:r,fast:!s}},Bi=(e,t)=>{let r=[],s=!1,i=null,n=Object.entries(e),o=0;for(let[l,p]of n)if(l==="$when"){if(i!==null)throw new j("Multiple '$when' directives on the same object are not allowed");if(p==null)throw new j("Missing condition expression after '$when'");let c=typeof p=="string"?p:JSON.stringify(p);if(c.trim()==="")throw new j("Empty condition expression after '$when'");i=ee(c),s=!0}else if(l.startsWith("$when#")||l.startsWith("$when "))throw new j("'$when' does not support ID syntax or inline conditions - use '$when' as a property");for(;o<n.length;){let[l,p]=n[o];if(l==="$when"){o++;continue}if(l.startsWith("$if ")||l.match(/^\$if#\w+\s/)||l.match(/^\$if\s+\w+.*:$/)){let c=Wi(n,o,t);r.push({key:l,value:c.node}),s=!0,o=c.nextIndex}else if(l.startsWith("$for ")){let c=Vr(l,p,t);r.push({key:l,value:c}),s=!0,o++}else{if(l.startsWith("$elif ")||l.startsWith("$else"))throw new j(`'${l.split(" ")[0]}' without matching '$if'`);if(l==="$if"||l==="$if:")throw new j("Missing condition expression after '$if'");{let c=le(p,t);(c.type===g.FUNCTION||c.type===g.CONDITIONAL||c.type===g.LOOP||c.type===g.OBJECT&&!c.fast||c.type===g.ARRAY&&!c.fast)&&(s=!0);let u=dt(l,t),d={key:l,value:c};(u.type!==g.LITERAL||u.value!==l)&&(d.parsedKey=u),r.push(d),o++}}}let a={type:g.OBJECT,properties:r,fast:!s};return i&&(a.whenCondition=i),a},Wi=(e,t,r={})=>{let s=[],i=[],n=t,[o,a]=e[n],l=null,p;if(o.startsWith("$if#")){let u=o.match(/^\$if#(\w+)\s+(.+)$/);if(u)l=u[1],p=u[2];else throw new j(`Invalid conditional syntax: ${o}`)}else p=o.substring(4),p.endsWith(":")&&(p=p.slice(0,-1).trim());ut(p);let c=ee(p);for(s.push(c),i.push(le(a,r)),n++;n<e.length;){let[u,d]=e[n],y=!1,h;if(l?u.startsWith(`$elif#${l} `)?(h=u.substring(`$elif#${l} `.length),h.endsWith(":")&&(h=h.slice(0,-1).trim()),y=!0):(u===`$else#${l}`||u===`$else#${l}:`)&&(y=!0,h=null):u.startsWith("$elif ")?(h=u.substring(6),h.endsWith(":")&&(h=h.slice(0,-1).trim()),y=!0):(u==="$else"||u==="$else:")&&(y=!0,h=null),y){if(h===null)s.push(null);else{ut(h);let f=ee(h);s.push(f)}if(i.push(le(d,r)),n++,h===null)break}else break}return{node:{type:g.CONDITIONAL,conditions:s,bodies:i,id:l},nextIndex:n}},ee=e=>{if(e=e.trim(),e.startsWith("(")&&e.endsWith(")"))return ee(e.slice(1,-1));let t=Ne(e,"||");if(t!==-1)return{type:g.BINARY,op:B.OR,left:ee(e.substring(0,t).trim()),right:ee(e.substring(t+2).trim())};let r=Ne(e,"&&");if(r!==-1)return{type:g.BINARY,op:B.AND,left:ee(e.substring(0,r).trim()),right:ee(e.substring(r+2).trim())};let s=[{op:">=",type:B.GTE},{op:"<=",type:B.LTE},{op:"==",type:B.EQ},{op:"!=",type:B.NEQ},{op:">",type:B.GT},{op:"<",type:B.LT},{op:" in ",type:B.IN}];for(let{op:n,type:o}of s){let a=Ne(e,n);if(a!==-1)return{type:g.BINARY,op:o,left:ee(e.substring(0,a).trim()),right:ee(e.substring(a+n.length).trim())}}let i=[" + "," - "," * "," / "," % "];for(let n of i)if(Ne(e,n)!==-1)throw new j(`Arithmetic expressions not supported in conditionals - consider calculating '${e}' in your data instead (expressions with +, -, *, /, % are not supported). Offending expression: "${e}"`);return e.startsWith("!")?{type:g.UNARY,op:ke.NOT,operand:ee(e.substring(1).trim())}:Mi(e)},Ne=(e,t)=>{let r=0,s=0;for(;s<=e.length-t.length;){if(e[s]==="(")r++;else if(e[s]===")")r--;else if(r===0&&e.substring(s,s+t.length)===t)return s;s++}return-1},Mi=e=>{if(e=e.trim(),e==="true")return{type:g.LITERAL,value:!0};if(e==="false")return{type:g.LITERAL,value:!1};if(e==="null")return{type:g.LITERAL,value:null};if(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))return{type:g.LITERAL,value:e.slice(1,-1)};if(e==='""'||e==="''")return{type:g.LITERAL,value:""};let t=Number(e);return!isNaN(t)&&isFinite(t)?{type:g.LITERAL,value:t}:{type:g.VARIABLE,path:e}},Vr=(e,t,r)=>{let s=e.substring(5).trim();Ar(s);let i=s.match(/^(.+?)\s+in\s+(.+)$/);if(!i)throw new j(`Invalid loop syntax - missing 'in' keyword (got: '$for ${s}')`);let n=i[1].trim(),o=i[2].trim(),a,l=null;if(n.includes(",")){let u=n.split(",").map(d=>d.trim());if(u.length!==2)throw new j(`Invalid loop variables: ${n}. Expected format: "item" or "item, index"`);a=u[0],l=u[1]}else a=n;let p={type:g.VARIABLE,path:o},c=le(t,r);return{type:g.LOOP,itemVar:a,indexVar:l,iterable:p,body:c}};var Fi=(e,t={})=>{let{functions:r={}}=t;return le(e,r)},ft=Fi;var yt={};R(yt,{now:()=>Ki});var Ki=()=>Date.now();var Ui=(e,t,r={})=>{let{functions:s={}}=r,i={...yt,...s},n=ft(e,{functions:i});return ht(n,t,i)},mt=Ui;var Rr=e=>{function t(r){let s={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};return r.replace(/[&<>"']/g,i=>s[i])}return e==null?"":`"${t(String(e))}"`};function Pr(e,t){return t.reduce((r,s)=>(s in e&&(r[s]=e[s]),r),{})}var zi=Object.freeze({formValues:{},tooltipState:{open:!1,x:0,y:0,content:""}}),gt=(e,t,r=void 0)=>{if(!t)return;let s=t.split(/[\[\].]/).filter(n=>n!==""),i=e;for(let n of s){if(i==null||!(n in i))return r;i=i[n]}return i},Hi=(e,t,r)=>{let s=t.split(/[\[\].]/).filter(n=>n!=="");t.includes("[")&&t in e&&delete e[t];let i=e;for(let n=0;n<s.length-1;n++){let o=s[n];if(!(o in i)||typeof i[o]!="object"||i[o]===null){let a=s[n+1],l=/^\d+$/.test(a);i[o]=l?[]:{}}i=i[o]}return i[s[s.length-1]]=r,e},Ji=["id","class","style","slot"],qi=e=>Object.entries(e).filter(([t])=>!Ji.includes(t)).map(([t,r])=>`${t}=${r}`).join(" "),Ve=({state:e,props:t})=>{let{form:r}=t,{context:s}=t;return s?mt(r,s):r},Gi=({state:e,props:t,attrs:r})=>{let s=qi(r),i=t.defaultValues||{},n=Ve({state:e,props:t}),o=structuredClone(n.fields||[]);return o.forEach(a=>{let l=gt(e.formValues,a.name)??gt(i,a.name);if(["popover-input","select","read-only-text"].includes(a.inputType)?a.defaultValue=l:a.defaultValue=Rr(l),["inputText"].includes(a.inputType)&&(a.placeholder=Rr(a.placeholder)),a.inputType==="image"){let p=a.src;a.imageSrc=p&&p.trim()?p:null,a.placeholderText=a.placeholder||"No Image"}if(a.inputType==="waveform"){let p=a.waveformData;a.waveformData=p||null,a.placeholderText=a.placeholder||"No Waveform"}}),{key:r?.key,containerAttrString:s,title:n?.title||"",description:n?.description||"",fields:o,actions:t?.form?.actions||{buttons:[]},formValues:e.formValues,tooltipState:e.tooltipState}},Yi=({state:e})=>e,Xi=({state:e,props:t})=>{let r=Ve({state:e,props:t});return Pr(e.formValues,r.fields.map(s=>s.name))},Qi=({state:e},t)=>gt(e.formValues,t),Zi=(e,t)=>{e.formValues=t||{}},en=(e,{name:t,value:r,props:s})=>{Hi(e.formValues,t,r);let i=Ve({state:e,props:s}),n=Pr(e.formValues,i.fields.map(o=>o.name));e.formValues=n},tn=(e,{x:t,y:r,content:s})=>{e.tooltipState={open:!0,x:t,y:r,content:s}},rn=e=>{e.tooltipState={...e.tooltipState,open:!1}};var jr={elementName:"rtgl-form",viewDataSchema:{type:"object"},propsSchema:{type:"object",properties:{defaultValues:{type:"object"},context:{type:"object"},form:{type:"object",properties:{title:{type:"string"},description:{type:"string"},fields:{type:"array",items:{anyOf:[{type:"object",properties:{name:{type:"string"},label:{type:"string"},description:{type:"string"},inputType:{const:"inputText"},placeholder:{type:"string"},tooltip:{type:"object",properties:{content:{type:"string"}}}},required:["name","label","inputType"],additionalProperties:!1},{type:"object",properties:{name:{type:"string"},label:{type:"string"},description:{type:"string"},inputType:{const:"select"},placeholder:{type:"string"},noClear:{type:"boolean"},addOption:{type:"object",properties:{label:{type:"string"}}},options:{type:"array",items:{type:"object",properties:{label:{type:"string"},value:{type:"any"}},required:["label","value"]}},tooltip:{type:"object",properties:{content:{type:"string"}}}},required:["name","label","inputType","options"],additionalProperties:!1},{type:"object",properties:{name:{type:"string"},label:{type:"string"},description:{type:"string"},inputType:{const:"colorPicker"},value:{type:"string"},tooltip:{type:"object",properties:{content:{type:"string"}}}},required:["name","label","inputType"],additionalProperties:!1},{type:"object",properties:{name:{type:"string"},label:{type:"string"},description:{type:"string"},inputType:{const:"slider"},min:{type:"number"},max:{type:"number"},step:{type:"number"},value:{type:"number"},tooltip:{type:"object",properties:{content:{type:"string"}}}},required:["name","label","inputType"],additionalProperties:!1},{type:"object",properties:{name:{type:"string"},label:{type:"string"},description:{type:"string"},inputType:{const:"slider-input"},min:{type:"number"},max:{type:"number"},step:{type:"number"},value:{type:"number"},tooltip:{type:"object",properties:{content:{type:"string"}}}},required:["name","label","inputType"],additionalProperties:!1},{type:"object",properties:{name:{type:"string"},label:{type:"string"},description:{type:"string"},inputType:{const:"image"},width:{type:"number"},height:{type:"number"},placeholder:{type:"string"},tooltip:{type:"object",properties:{content:{type:"string"}}}},required:["name","label","inputType"],additionalProperties:!1},{type:"object",properties:{name:{type:"string"},label:{type:"string"},description:{type:"string"},inputType:{const:"waveform"},width:{type:"number"},height:{type:"number"},placeholder:{type:"string"},defaultValue:{type:"object"},waveformData:{type:"object"},tooltip:{type:"object",properties:{content:{type:"string"}}}},required:["name","label","inputType"],additionalProperties:!1},{type:"object",properties:{name:{type:"string"},label:{type:"string"},description:{type:"string"},inputType:{const:"popover-input"},placeholder:{type:"string"},tooltip:{type:"object",properties:{content:{type:"string"}}}},required:["name","label","inputType"],additionalProperties:!1}]}},actions:{type:"object",properties:{buttons:{type:"array",items:{type:"object",properties:{id:{type:"string"},content:{type:"string"}},required:["id","content"]}}}}}}}},refs:{"action-*":{eventListeners:{click:{handler:"handleActionClick"}}},"tooltip-icon-*":{eventListeners:{mouseenter:{handler:"handleTooltipMouseEnter"},mouseleave:{handler:"handleTooltipMouseLeave"}}},"input-*":{eventListeners:{"input-change":{handler:"handleInputChange"}}},"select-*":{eventListeners:{"select-change":{handler:"handleSelectChange"},"add-option-selected":{handler:"handleSelectAddOption"}}},"colorpicker-*":{eventListeners:{"colorpicker-change":{handler:"handleColorPickerChange"}}},"slider-*":{eventListeners:{"slider-change":{handler:"handleSliderChange"}}},"slider-input-*":{eventListeners:{"slider-input-value-change":{handler:"handleSliderInputChange"}}},"image-*":{eventListeners:{click:{handler:"handleImageClick"},contextmenu:{handler:"handleImageClick"}}},"waveform-*":{eventListeners:{click:{handler:"handleWaveformClick"},contextmenu:{handler:"handleWaveformClick"}}},"popover-input-*":{eventListeners:{"input-change":{handler:"handlePopoverInputChange"}}}},events:{"form-change":{},"extra-event":{},"action-click":{}},template:{type:9,items:[{type:8,properties:[{key:"rtgl-view w=f p=md g=lg ${containerAttrString}",value:{type:9,items:[{type:8,properties:[{key:"rtgl-view g=sm w=f",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text s=lg",value:{type:1,path:"title"}}],fast:!0},{type:8,properties:[{key:"rtgl-text c=mu-fg",value:{type:1,path:"description"}}],fast:!0}],fast:!0}}],fast:!0},{type:8,properties:[{key:"rtgl-view g=lg w=f",value:{type:9,items:[{type:7,itemVar:"field",indexVar:"i",iterable:{type:1,path:"fields"},body:{type:9,items:[{type:8,properties:[{key:"rtgl-view g=md w=f",value:{type:9,items:[{type:8,properties:[{key:"rtgl-view g=sm",value:{type:9,items:[{type:8,properties:[{key:"rtgl-view d=h g=md av=c",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text",value:{type:1,path:"field.label"}}],fast:!0},{type:8,properties:[{key:"$if field.tooltip",value:{type:6,conditions:[{type:1,path:"field.tooltip"}],bodies:[{type:9,items:[{type:8,properties:[{key:'rtgl-svg#tooltip-icon-${field.name} svg="info" wh=16 c=mu-fg cur=help ml=xs',value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-svg#tooltip-icon-",{type:1,path:"field.name"},' svg="info" wh=16 c=mu-fg cur=help ml=xs']}}],fast:!0}],fast:!0}],id:null}}],fast:!1}],fast:!1}}],fast:!1},{type:8,properties:[{key:"rtgl-text s=sm c=mu-fg",value:{type:1,path:"field.description"}}],fast:!0}],fast:!1}}],fast:!1},{type:8,properties:[{key:'$if field.inputType == "read-only-text"',value:{type:6,conditions:[{type:4,op:0,left:{type:1,path:"field.inputType"},right:{type:0,value:"read-only-text"}}],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-text s=sm",value:{type:1,path:"field.defaultValue"}}],fast:!0}],fast:!0}],id:null}}],fast:!1},{type:8,properties:[{key:'$if field.inputType == "inputText"',value:{type:6,conditions:[{type:4,op:0,left:{type:1,path:"field.inputType"},right:{type:0,value:"inputText"}}],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-input#input-${field.name} key=${key} w=f placeholder=${field.placeholder} value=${field.defaultValue}",value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-input#input-",{type:1,path:"field.name"}," key=",{type:1,path:"key"}," w=f placeholder=",{type:1,path:"field.placeholder"}," value=",{type:1,path:"field.defaultValue"}]}}],fast:!0}],fast:!0}],id:null}}],fast:!1},{type:8,properties:[{key:'$if field.inputType == "popover-input"',value:{type:6,conditions:[{type:4,op:0,left:{type:1,path:"field.inputType"},right:{type:0,value:"popover-input"}}],bodies:[{type:9,items:[{type:8,properties:[{key:'rtgl-popover-input#popover-input-${field.name} label="${field.label}" .defaultValue=fields[${i}].defaultValue',value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-popover-input#popover-input-",{type:1,path:"field.name"},' label="',{type:1,path:"field.label"},'" .defaultValue=fields[',{type:1,path:"i"},"].defaultValue"]}}],fast:!0}],fast:!0}],id:null}}],fast:!1},{type:8,properties:[{key:'$if field.inputType == "select"',value:{type:6,conditions:[{type:4,op:0,left:{type:1,path:"field.inputType"},right:{type:0,value:"select"}}],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-select#select-${field.name} key=${key} w=f .options=fields[${i}].options .placeholder=fields[${i}].placeholder .selectedValue=fields[${i}].defaultValue ?no-clear=fields[${i}].noClear .addOption=fields[${i}].addOption",value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-select#select-",{type:1,path:"field.name"}," key=",{type:1,path:"key"}," w=f .options=fields[",{type:1,path:"i"},"].options .placeholder=fields[",{type:1,path:"i"},"].placeholder .selectedValue=fields[",{type:1,path:"i"},"].defaultValue ?no-clear=fields[",{type:1,path:"i"},"].noClear .addOption=fields[",{type:1,path:"i"},"].addOption"]}}],fast:!0}],fast:!0}],id:null}}],fast:!1},{type:8,properties:[{key:'$if field.inputType == "colorPicker"',value:{type:6,conditions:[{type:4,op:0,left:{type:1,path:"field.inputType"},right:{type:0,value:"colorPicker"}}],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-color-picker#colorpicker-${field.name} key=${key} value=${field.defaultValue}",value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-color-picker#colorpicker-",{type:1,path:"field.name"}," key=",{type:1,path:"key"}," value=",{type:1,path:"field.defaultValue"}]}}],fast:!0}],fast:!0}],id:null}}],fast:!1},{type:8,properties:[{key:'$if field.inputType == "slider"',value:{type:6,conditions:[{type:4,op:0,left:{type:1,path:"field.inputType"},right:{type:0,value:"slider"}}],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-slider#slider-${field.name} key=${key} w=f min=${field.min} max=${field.max} step=${field.step} value=${field.defaultValue}",value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-slider#slider-",{type:1,path:"field.name"}," key=",{type:1,path:"key"}," w=f min=",{type:1,path:"field.min"}," max=",{type:1,path:"field.max"}," step=",{type:1,path:"field.step"}," value=",{type:1,path:"field.defaultValue"}]}}],fast:!0}],fast:!0}],id:null}}],fast:!1},{type:8,properties:[{key:'$if field.inputType == "slider-input"',value:{type:6,conditions:[{type:4,op:0,left:{type:1,path:"field.inputType"},right:{type:0,value:"slider-input"}}],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-slider-input#slider-input-${field.name} key=${key} w=f min=${field.min} max=${field.max} step=${field.step} defaultValue=${field.defaultValue}",value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-slider-input#slider-input-",{type:1,path:"field.name"}," key=",{type:1,path:"key"}," w=f min=",{type:1,path:"field.min"}," max=",{type:1,path:"field.max"}," step=",{type:1,path:"field.step"}," defaultValue=",{type:1,path:"field.defaultValue"}]}}],fast:!0}],fast:!0}],id:null}}],fast:!1},{type:8,properties:[{key:'$if field.inputType == "image" && field.imageSrc',value:{type:6,conditions:[{type:4,op:6,left:{type:4,op:0,left:{type:1,path:"field.inputType"},right:{type:0,value:"image"}},right:{type:1,path:"field.imageSrc"}}],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-image#image-${field.name} src=${field.imageSrc} w=${field.width} h=${field.height} cur=p",value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-image#image-",{type:1,path:"field.name"}," src=",{type:1,path:"field.imageSrc"}," w=",{type:1,path:"field.width"}," h=",{type:1,path:"field.height"}," cur=p"]}}],fast:!0}],fast:!0}],id:null}}],fast:!1},{type:8,properties:[{key:'$if field.inputType == "image" && !field.imageSrc',value:{type:6,conditions:[{type:4,op:6,left:{type:4,op:0,left:{type:1,path:"field.inputType"},right:{type:0,value:"image"}},right:{type:5,op:0,operand:{type:1,path:"field.imageSrc"}}}],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-view#image-${field.name} w=${field.width} h=${field.height} bc=ac bw=sm ah=c av=c cur=p p=md",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text c=mu-fg ta=c",value:{type:1,path:"field.placeholderText"}}],fast:!0}],fast:!0},parsedKey:{type:2,parts:["rtgl-view#image-",{type:1,path:"field.name"}," w=",{type:1,path:"field.width"}," h=",{type:1,path:"field.height"}," bc=ac bw=sm ah=c av=c cur=p p=md"]}}],fast:!0}],fast:!0}],id:null}}],fast:!1},{type:8,properties:[{key:'$if field.inputType == "waveform" && field.waveformData',value:{type:6,conditions:[{type:4,op:6,left:{type:4,op:0,left:{type:1,path:"field.inputType"},right:{type:0,value:"waveform"}},right:{type:1,path:"field.waveformData"}}],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-waveform#waveform-${field.name} .waveformData=fields[${i}].waveformData w=${field.width} h=${field.height} cur=p",value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-waveform#waveform-",{type:1,path:"field.name"}," .waveformData=fields[",{type:1,path:"i"},"].waveformData w=",{type:1,path:"field.width"}," h=",{type:1,path:"field.height"}," cur=p"]}}],fast:!0}],fast:!0}],id:null}}],fast:!1},{type:8,properties:[{key:'$if field.inputType == "waveform" && !field.waveformData',value:{type:6,conditions:[{type:4,op:6,left:{type:4,op:0,left:{type:1,path:"field.inputType"},right:{type:0,value:"waveform"}},right:{type:5,op:0,operand:{type:1,path:"field.waveformData"}}}],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-view#waveform-${field.name} w=${field.width} h=${field.height} bc=ac bw=sm ah=c av=c cur=p p=md",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text c=mu-fg ta=c",value:{type:1,path:"field.placeholder"}}],fast:!0}],fast:!0},parsedKey:{type:2,parts:["rtgl-view#waveform-",{type:1,path:"field.name"}," w=",{type:1,path:"field.width"}," h=",{type:1,path:"field.height"}," bc=ac bw=sm ah=c av=c cur=p p=md"]}}],fast:!0}],fast:!0}],id:null}}],fast:!1},{type:8,properties:[{key:'$if field.inputType == "slot"',value:{type:6,conditions:[{type:4,op:0,left:{type:1,path:"field.inputType"},right:{type:0,value:"slot"}}],bodies:[{type:9,items:[{type:8,properties:[{key:'slot#slot-${field.slotName} name=${field.slot} style="display: contents;"',value:{type:0,value:null},parsedKey:{type:2,parts:["slot#slot-",{type:1,path:"field.slotName"}," name=",{type:1,path:"field.slot"},' style="display: contents;"']}}],fast:!0}],fast:!0}],id:null}}],fast:!1}],fast:!1}}],fast:!1}],fast:!1}}],fast:!1}}],fast:!1},{type:8,properties:[{key:"rtgl-view g=sm w=f",value:{type:9,items:[{type:8,properties:[{key:"rtgl-view d=h ah=e g=sm w=f",value:{type:9,items:[{type:7,itemVar:"button",indexVar:"i",iterable:{type:1,path:"actions.buttons"},body:{type:9,items:[{type:8,properties:[{key:"rtgl-button#action-${button.id}",value:{type:1,path:"button.content"},parsedKey:{type:2,parts:["rtgl-button#action-",{type:1,path:"button.id"}]}}],fast:!0}],fast:!0}}],fast:!1}}],fast:!1}],fast:!1}}],fast:!1},{type:8,properties:[{key:'rtgl-tooltip ?open=${tooltipState.open} x=${tooltipState.x} y=${tooltipState.y} placement="top" content="${tooltipState.content}"',value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-tooltip ?open=",{type:1,path:"tooltipState.open"}," x=",{type:1,path:"tooltipState.x"}," y=",{type:1,path:"tooltipState.y"},' placement="top" content="',{type:1,path:"tooltipState.content"},'"']}}],fast:!0}],fast:!1},parsedKey:{type:2,parts:["rtgl-view w=f p=md g=lg ",{type:1,path:"containerAttrString"}]}}],fast:!1}],fast:!1}};var bt={};R(bt,{handleCancel:()=>on,handleConfirm:()=>nn,handleDialogClose:()=>sn,showAlert:()=>an,showConfirm:()=>ln});var sn=(e,t)=>{let{store:r,render:s}=t;r.closeDialog(),s()},nn=(e,t)=>{let{store:r,render:s,globalUI:i}=t;r.closeDialog(),s(),i.emit("event",!0)},on=(e,t)=>{let{store:r,render:s,globalUI:i}=t;r.closeDialog(),s(),i.emit("event",!1)},an=(e,t)=>{let{store:r,render:s}=t;if(r.selectIsOpen())throw new Error("A dialog is already open");r.setAlertConfig(e),s()},ln=async(e,t)=>{let{store:r,render:s,globalUI:i}=t;if(r.selectIsOpen())throw new Error("A dialog is already open");return r.setConfirmConfig(e),s(),new Promise(n=>{i.once("event",o=>{n(o)})})};var wt={};R(wt,{INITIAL_STATE:()=>pn,closeDialog:()=>hn,selectConfig:()=>dn,selectIsOpen:()=>fn,setAlertConfig:()=>cn,setConfirmConfig:()=>un,toViewData:()=>yn});var pn=Object.freeze({isOpen:!1,config:{status:void 0,title:"",message:"",confirmText:"OK",cancelText:"Cancel",mode:"alert"}}),cn=(e,t)=>{if(!t.message)throw new Error("message is required for showAlert");e.config={status:t.status||void 0,title:t.title||"",message:t.message,confirmText:t.confirmText||"OK",cancelText:"",mode:"alert"},e.isOpen=!0},un=(e,t)=>{if(!t.message)throw new Error("message is required for showConfirm");e.config={status:t.status||void 0,title:t.title||"",message:t.message,confirmText:t.confirmText||"Yes",cancelText:t.cancelText||"Cancel",mode:"confirm"},e.isOpen=!0},hn=e=>{e.isOpen=!1},dn=({state:e})=>e.config,fn=({state:e})=>e.isOpen,yn=({state:e})=>({isOpen:e.isOpen,config:e.config});var Dr={elementName:"rtgl-global-ui",viewDataSchema:{type:"object",properties:{isOpen:{type:"boolean"},config:{type:"object",properties:{status:{type:"string"},title:{type:"string"},message:{type:"string"},confirmText:{type:"string"},cancelText:{type:"string"},mode:{type:"string"}}}}},refs:{dialog:{eventListeners:{close:{handler:"handleDialogClose"}}},"confirm-button":{eventListeners:{click:{handler:"handleConfirm"}}},"cancel-button":{eventListeners:{click:{handler:"handleCancel"}}}},template:{type:9,items:[{type:8,properties:[{key:"rtgl-dialog#dialog ?open=${isOpen} s=sm",value:{type:9,items:[{type:8,properties:[{key:"rtgl-view slot=content g=lg p=lg",value:{type:9,items:[{type:8,properties:[{key:"rtgl-view d=h ah=c g=md",value:{type:9,items:[{type:8,properties:[{key:"$if config.status == 'error'",value:{type:6,conditions:[{type:4,op:0,left:{type:1,path:"config.status"},right:{type:0,value:"error"}},{type:4,op:0,left:{type:1,path:"config.status"},right:{type:0,value:"warning"}},{type:4,op:0,left:{type:1,path:"config.status"},right:{type:0,value:"info"}},{type:1,path:"config.status"}],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-icon name=x-circle c=error s=lg",value:{type:0,value:null}}],fast:!0}],fast:!0},{type:9,items:[{type:8,properties:[{key:"rtgl-icon name=alert-triangle c=warning s=lg",value:{type:0,value:null}}],fast:!0}],fast:!0},{type:9,items:[{type:8,properties:[{key:"rtgl-icon name=info c=primary s=lg",value:{type:0,value:null}}],fast:!0}],fast:!0},{type:9,items:[{type:8,properties:[{key:"rtgl-icon name=check-circle c=success s=lg",value:{type:0,value:null}}],fast:!0}],fast:!0}],id:null}}],fast:!1},{type:8,properties:[{key:"$if config.title",value:{type:6,conditions:[{type:1,path:"config.title"}],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-text fs=lg fw=600",value:{type:1,path:"config.title"}}],fast:!0}],fast:!0}],id:null}}],fast:!1}],fast:!1}}],fast:!1},{type:8,properties:[{key:"rtgl-view p=md",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text",value:{type:1,path:"config.message"}}],fast:!0}],fast:!0}}],fast:!0},{type:8,properties:[{key:"rtgl-view d=h jc=fe g=md mt=lg",value:{type:9,items:[{type:8,properties:[{key:"$if config.mode == 'confirm'",value:{type:6,conditions:[{type:4,op:0,left:{type:1,path:"config.mode"},right:{type:0,value:"confirm"}}],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-button#cancel-button variant=se",value:{type:1,path:"config.cancelText"}}],fast:!0}],fast:!0}],id:null}}],fast:!1},{type:8,properties:[{key:"rtgl-button#confirm-button variant=pr",value:{type:1,path:"config.confirmText"}}],fast:!0}],fast:!1}}],fast:!1}],fast:!1}}],fast:!1}],fast:!1},parsedKey:{type:2,parts:["rtgl-dialog#dialog ?open=",{type:1,path:"isOpen"}," s=sm"]}}],fast:!1}],fast:!1}};var xt={};R(xt,{handleClickStart:()=>mn});var mn=(e,t)=>{let{dispatchEvent:r,store:s}=t;console.log("handle click start",s.selectPath()),r(new CustomEvent("clickStart",{detail:{path:s.selectPath()}}))};var _t={};R(_t,{INITIAL_STATE:()=>gn,selectPath:()=>xn,setState:()=>_n,toViewData:()=>wn});var gn=Object.freeze({}),vn=["id","class","style","slot"],bn=e=>Object.entries(e).filter(([t])=>!vn.includes(t)).map(([t,r])=>`${t}=${r}`).join(" "),wn=({state:e,props:t,attrs:r})=>{console.log("attrs",{attrs:r,entries:Object.entries(r)});let s=r.start?JSON.parse(decodeURIComponent(r.start)):t.start;return{containerAttrString:bn(r),start:s||{label:"",image:{src:"",width:32,height:32,alt:""}}}},xn=({props:e})=>e.start.path,_n=e=>{};var Br={elementName:"rtgl-navbar",viewDataSchema:{type:"object",properties:{containerAttrString:{type:"string"},start:{type:"object",properties:{label:{type:"string"},href:{type:"string"},image:{type:"object",properties:{src:{type:"string"}}},hasImage:{type:"boolean"},hasHref:{type:"boolean"}}}}},propsSchema:{type:"object",properties:{start:{type:"object",properties:{label:{type:"string"},href:{type:"string"},image:{type:"object",properties:{src:{type:"string"}}}}}}},refs:{start:{eventListeners:{click:{handler:"handleClickStart"}}}},events:{clickStart:{type:"object",properties:{path:{type:"string"}}}},anchors:[[{"rtgl-text s=lg":"${start.label}"},{"$if start.image && start.image.src":[{"rtgl-image w=${start.image.width} h=${start.image.height} src=${start.image.src} alt=${start.image.alt}":null}]}]],template:{type:9,items:[{type:8,properties:[{key:"rtgl-view bgc=bg d=h h=48 av=c w=f ${containerAttrString}",value:{type:9,items:[{type:8,properties:[{key:"$if start.href",value:{type:6,conditions:[{type:1,path:"start.href"},{type:1,path:"start.path"},null],bodies:[{type:9,items:[{type:8,properties:[{key:"a href=${start.href}",value:{type:9,items:[{type:8,properties:[{key:"rtgl-view d=h av=c g=lg g=md",value:{type:9,items:[{type:9,items:[{type:8,properties:[{key:"rtgl-text s=lg",value:{type:1,path:"start.label"}}],fast:!0},{type:8,properties:[{key:"$if start.image && start.image.src",value:{type:6,conditions:[{type:4,op:6,left:{type:1,path:"start.image"},right:{type:1,path:"start.image.src"}}],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-image w=${start.image.width} h=${start.image.height} src=${start.image.src} alt=${start.image.alt}",value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-image w=",{type:1,path:"start.image.width"}," h=",{type:1,path:"start.image.height"}," src=",{type:1,path:"start.image.src"}," alt=",{type:1,path:"start.image.alt"}]}}],fast:!0}],fast:!0}],id:null}}],fast:!1}],fast:!1}],fast:!1}}],fast:!1}],fast:!1},parsedKey:{type:2,parts:["a href=",{type:1,path:"start.href"}]}}],fast:!1}],fast:!1},{type:9,items:[{type:8,properties:[{key:"rtgl-view#start d=h av=c g=lg g=md cur=p",value:{type:9,items:[{type:9,items:[{type:8,properties:[{key:"rtgl-text s=lg",value:{type:1,path:"start.label"}}],fast:!0},{type:8,properties:[{key:"$if start.image && start.image.src",value:{type:6,conditions:[{type:4,op:6,left:{type:1,path:"start.image"},right:{type:1,path:"start.image.src"}}],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-image w=${start.image.width} h=${start.image.height} src=${start.image.src} alt=${start.image.alt}",value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-image w=",{type:1,path:"start.image.width"}," h=",{type:1,path:"start.image.height"}," src=",{type:1,path:"start.image.src"}," alt=",{type:1,path:"start.image.alt"}]}}],fast:!0}],fast:!0}],id:null}}],fast:!1}],fast:!1}],fast:!1}}],fast:!1}],fast:!1},{type:9,items:[{type:8,properties:[{key:"rtgl-view d=h av=c g=lg g=md",value:{type:9,items:[{type:9,items:[{type:8,properties:[{key:"rtgl-text s=lg",value:{type:1,path:"start.label"}}],fast:!0},{type:8,properties:[{key:"$if start.image && start.image.src",value:{type:6,conditions:[{type:4,op:6,left:{type:1,path:"start.image"},right:{type:1,path:"start.image.src"}}],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-image w=${start.image.width} h=${start.image.height} src=${start.image.src} alt=${start.image.alt}",value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-image w=",{type:1,path:"start.image.width"}," h=",{type:1,path:"start.image.height"}," src=",{type:1,path:"start.image.src"}," alt=",{type:1,path:"start.image.alt"}]}}],fast:!0}],fast:!0}],id:null}}],fast:!1}],fast:!1}],fast:!1}}],fast:!1}],fast:!1}],id:null}}],fast:!1},{type:8,properties:[{key:"rtgl-view flex=1",value:{type:0,value:null}}],fast:!0},{type:8,properties:[{key:"rtgl-view d=h av=c g=lg",value:{type:9,items:[{type:8,properties:[{key:"slot name=right",value:{type:0,value:null}}],fast:!0}],fast:!0}}],fast:!0}],fast:!1},parsedKey:{type:2,parts:["rtgl-view bgc=bg d=h h=48 av=c w=f ",{type:1,path:"containerAttrString"}]}}],fast:!1}],fast:!1}};var Et={};R(Et,{handleBeforeMount:()=>An});var Wr=(e,t,r)=>{let{store:s,render:i}=r,n,o=-1/0;if(e.forEach(a=>{let l=a.getBoundingClientRect();l.top<=t&&l.top>o&&(o=l.top,n=a.id)}),!n){let a=1/0;e.forEach(l=>{let p=l.getBoundingClientRect();p.top>t&&p.top<a&&(a=p.top,n=l.id)})}n&&n!==s.selectCurrentId()&&(s.setCurrentId(n),i())},En=(e,t,r,s)=>{let{store:i,render:n}=s,o=e.querySelectorAll("h1[id], h2[id], h3[id], h4[id], rtgl-text[id]"),a=Array.from(o),l=a.map(c=>{let u=1,d=c.tagName.toLowerCase();return d==="h1"?u=1:d==="h2"?u=2:d==="h3"?u=3:d==="h4"?u=4:d==="rtgl-text"&&(u=parseInt(c.getAttribute("data-level")||"1",10)),{id:c.id,href:`#${c.id}`,title:c.textContent,level:u}});i.setItems(l),Wr(a,r,s),n();let p=Wr.bind(void 0,a,r,s);return t.addEventListener("scroll",p,{passive:!0}),()=>{t.removeEventListener("scroll",p)}},An=e=>{let{attrs:t}=e;requestAnimationFrame(()=>{let r=document.getElementById(t["target-id"]),s=window;t["scroll-container-id"]&&(s=document.getElementById(t["scroll-container-id"])||window);let i=parseInt(t["offset-top"]||"100",10),n=En(r,s,i,e);return()=>{n()}})};var At={};R(At,{INITIAL_STATE:()=>kn,selectCurrentId:()=>Cn,selectState:()=>$n,setContentContainer:()=>Tn,setCurrentId:()=>On,setItems:()=>In,toViewData:()=>Sn});var kn=Object.freeze({items:[],currentId:null,contentContainer:null}),Sn=({state:e})=>{let r=((s,i)=>{let n=new Set,o=s.findIndex(l=>l.id===i);if(o===-1)return n;let a=s[o].level;for(let l=o-1;l>=0;l--)if(s[l].level<a){let p=s[l].level;n.add(s[l].id);for(let c=l-1;c>=0;c--)s[c].level<p&&(n.add(s[c].id),p=s[c].level);break}return n})(e.items,e.currentId);return{items:e.items.map(s=>{let i={1:"0",2:"12px",3:"24px",4:"32px"},n=s.id===e.currentId,o=r.has(s.id),a=n||o;return{...s,c:a?"fg":"mu-fg",ml:i[s.level]||"",bc:a?"fg":"mu-fg"}}),currentId:e.currentId}},$n=({state:e})=>e,Cn=({state:e})=>e.currentId,In=(e,t)=>{e.items=t},On=(e,t)=>{e.currentId=t},Tn=(e,t)=>{e.contentContainer=t};var Mr={elementName:"rtgl-page-outline",viewDataSchema:{type:"object",properties:{items:{type:"array",items:{type:"object",properties:{slug:{type:"string"},title:{type:"string"}}}},selectedSlug:{type:"string",nullable:!0}}},propsSchema:{type:"object",properties:{}},refs:{},events:{onItemClick:{type:"object"}},template:{type:9,items:[{type:8,properties:[{key:"rtgl-view h=f w=272 pr=md",value:{type:9,items:[{type:8,properties:[{key:"rtgl-view w=f mt=xl",value:{type:9,items:[{type:7,itemVar:"item",indexVar:"i",iterable:{type:1,path:"items"},body:{type:9,items:[{type:8,properties:[{key:'rtgl-view d=h bwl=xs bc="${item.bc}" pv=sm av=c href=${item.href} pl=md',value:{type:9,items:[{type:8,properties:[{key:"rtgl-view w=${item.ml}",value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-view w=",{type:1,path:"item.ml"}]}}],fast:!0},{type:8,properties:[{key:"rtgl-text s=sm c=${item.c} h-c=fg",value:{type:1,path:"item.title"},parsedKey:{type:2,parts:["rtgl-text s=sm c=",{type:1,path:"item.c"}," h-c=fg"]}}],fast:!0}],fast:!0},parsedKey:{type:2,parts:['rtgl-view d=h bwl=xs bc="',{type:1,path:"item.bc"},'" pv=sm av=c href=',{type:1,path:"item.href"}," pl=md"]}}],fast:!0}],fast:!0}}],fast:!1}}],fast:!1}],fast:!1}}],fast:!1}],fast:!1}};var kt={};R(kt,{handleBeforeMount:()=>Ln,handleInputChange:()=>Pn,handleInputKeydown:()=>Dn,handleOnUpdate:()=>Nn,handlePopoverClose:()=>Rn,handleSubmitClick:()=>jn,handleTextClick:()=>Vn});var Ln=e=>{let{store:t,props:r}=e;(r.value!==void 0||r.defaultValue!==void 0)&&t.setValue(r.value||r.defaultValue||"")},Nn=(e,t)=>{let{oldProps:r,newProps:s}=e,{store:i,props:n,render:o}=t;r.defaultValue!==s.defaultValue&&i.setValue(n.defaultValue||""),o()},Vn=(e,t)=>{let{store:r,render:s,getRefIds:i,attrs:n}=t,o=r.selectValue();r.setTempValue(o),r.openPopover({position:{x:e.currentTarget.getBoundingClientRect().left,y:e.currentTarget.getBoundingClientRect().bottom}});let{input:a}=i();a.elm.value=o,s(),n["auto-focus"]&&setTimeout(()=>{a.elm.focus()},50)},Rn=(e,t)=>{let{store:r,render:s}=t;r.closePopover(),s()},Pn=(e,t)=>{let{store:r,render:s,dispatchEvent:i}=t,n=e.detail.value;r.setTempValue(n),i(new CustomEvent("temp-input-change",{detail:{value:n},bubbles:!0})),s()},jn=(e,t)=>{let{store:r,render:s,dispatchEvent:i,getRefIds:n}=t,{input:o}=n(),a=o.elm.value;r.setValue(a),r.closePopover(),i(new CustomEvent("input-change",{detail:{value:a},bubbles:!0})),s()},Dn=(e,t)=>{let{store:r,render:s,dispatchEvent:i,getRefIds:n}=t;if(e.key==="Enter"){let{input:o}=n(),a=o.elm.value;r.closePopover(),i(new CustomEvent("input-change",{detail:{value:a},bubbles:!0})),s()}else e.key==="Escape"&&(r.closePopover(),s())};var St={};R(St,{INITIAL_STATE:()=>Bn,closePopover:()=>Kn,openPopover:()=>Fn,selectValue:()=>zn,setTempValue:()=>Mn,setValue:()=>Un,toViewData:()=>Wn});var Bn=Object.freeze({isOpen:!1,position:{x:0,y:0},value:"",tempValue:""}),Wn=({attrs:e,state:t,props:r})=>{let s=t.value||"-";return{isOpen:t.isOpen,position:t.position,value:s??"-",tempValue:t.tempValue,placeholder:r.placeholder??"",label:e.label}},Mn=(e,t)=>{e.tempValue=t},Fn=(e,t)=>{let{position:r}=t;e.position=r,e.isOpen=!0,e.hasUnsavedChanges=!1},Kn=e=>{e.isOpen=!1,e.tempValue=""},Un=(e,t)=>{e.value=t},zn=({state:e})=>e.value;var Fr={elementName:"rtgl-popover-input",viewDataSchema:{type:"object"},attrsSchema:{type:"object",properties:{"auto-focus":{type:"boolean"}}},propsSchema:{type:"object",properties:{value:{type:"string"},defaultValue:{type:"string"},placeholder:{type:"string"},onChange:{type:"function"}}},refs:{"text-display":{eventListeners:{click:{handler:"handleTextClick"}}},popover:{eventListeners:{close:{handler:"handlePopoverClose"}}},input:{eventListeners:{"input-change":{handler:"handleInputChange"},keydown:{handler:"handleInputKeydown"}}},submit:{eventListeners:{click:{handler:"handleSubmitClick"}}}},events:{"input-change":{}},template:{type:9,items:[{type:8,properties:[{key:"rtgl-view#text-display w=f cur=p",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text",value:{type:1,path:"value"}}],fast:!0}],fast:!0}}],fast:!0},{type:8,properties:[{key:"rtgl-popover#popover ?open=${isOpen} x=${position.x} y=${position.y}",value:{type:9,items:[{type:8,properties:[{key:"rtgl-view g=md w=240 slot=content bgc=background br=md",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text",value:{type:1,path:"label"}}],fast:!0},{type:8,properties:[{key:"rtgl-input#input w=f placeholder=${placeholder}",value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-input#input w=f placeholder=",{type:1,path:"placeholder"}]}}],fast:!0},{type:8,properties:[{key:"rtgl-view w=f ah=e",value:{type:9,items:[{type:8,properties:[{key:"rtgl-button#submit",value:{type:0,value:"Submit"}}],fast:!0}],fast:!0}}],fast:!0}],fast:!0}}],fast:!0}],fast:!0},parsedKey:{type:2,parts:["rtgl-popover#popover ?open=",{type:1,path:"isOpen"}," x=",{type:1,path:"position.x"}," y=",{type:1,path:"position.y"}]}}],fast:!0}],fast:!0}};var $t={};R($t,{handleAddOptionClick:()=>eo,handleAddOptionMouseEnter:()=>to,handleAddOptionMouseLeave:()=>ro,handleBeforeMount:()=>Hn,handleButtonClick:()=>qn,handleClearClick:()=>Zn,handleClickOptionsPopoverOverlay:()=>Gn,handleOnUpdate:()=>Jn,handleOptionClick:()=>Yn,handleOptionMouseEnter:()=>Xn,handleOptionMouseLeave:()=>Qn});var Hn=e=>{let{store:t,props:r,render:s}=e;if(r.selectedValue!==null&&r.selectedValue!==void 0&&r.options){let i=r.options.find(n=>ae(n.value,r.selectedValue));i&&(t.updateSelectOption(i),s())}},Jn=(e,t)=>{let{oldAttrs:r,newAttrs:s,oldProps:i,newProps:n}=e,{store:o,props:a,render:l}=t;if(r?.key!==s?.key&&s?.key){o.resetSelection();let p=n?.selectedValue||a?.selectedValue,c=n?.options||a?.options;if(p!=null&&c){let u=c.find(d=>ae(d.value,p));u&&o.updateSelectOption(u)}l()}},qn=(e,t)=>{let{store:r,render:s,getRefIds:i,props:n}=t,o=i()["select-button"].elm,a=o.firstElementChild,l=a?a.getBoundingClientRect():o.getBoundingClientRect(),p=r.selectSelectedValue(),c=p!==null?p:n.selectedValue,u=null;c!=null&&n.options&&(u=n.options.findIndex(d=>ae(d.value,c)),u===-1&&(u=null)),r.openOptionsPopover({position:{y:l.bottom+12,x:l.left-24},selectedIndex:u}),s()},Gn=(e,t)=>{let{store:r,render:s}=t;r.closeOptionsPopover(),s()},Yn=(e,t)=>{let{render:r,dispatchEvent:s,props:i,store:n}=t,o=e.currentTarget.id.replace("option-",""),a=i.options[o];n.updateSelectOption(a),i.onChange&&typeof i.onChange=="function"&&i.onChange(a.value),s(new CustomEvent("option-selected",{detail:{value:a.value,label:a.label},bubbles:!0})),s(new CustomEvent("select-change",{detail:{selectedValue:a.value},bubbles:!0})),r()},Xn=(e,t)=>{let{store:r,render:s}=t,i=parseInt(e.currentTarget.id.replace("option-",""));r.setHoveredOption(i),s()},Qn=(e,t)=>{let{store:r,render:s}=t;r.clearHoveredOption(),s()},Zn=(e,t)=>{let{store:r,render:s,dispatchEvent:i,props:n}=t;e.stopPropagation(),r.clearSelectedValue(),n.onChange&&typeof n.onChange=="function"&&n.onChange(void 0),i(new CustomEvent("option-selected",{detail:{value:void 0,label:void 0},bubbles:!0})),i(new CustomEvent("select-change",{detail:{selectedValue:void 0},bubbles:!0})),s()},eo=(e,t)=>{let{store:r,render:s,dispatchEvent:i}=t;r.closeOptionsPopover(),i(new CustomEvent("add-option-selected",{bubbles:!0})),s()},to=(e,t)=>{let{store:r,render:s}=t;r.setHoveredAddOption(!0),s()},ro=(e,t)=>{let{store:r,render:s}=t;r.setHoveredAddOption(!1),s()};var Ct={};R(Ct,{INITIAL_STATE:()=>no,clearHoveredOption:()=>yo,clearSelectedValue:()=>mo,closeOptionsPopover:()=>co,openOptionsPopover:()=>po,resetSelection:()=>ho,selectSelectedValue:()=>lo,selectState:()=>ao,setHoveredAddOption:()=>go,setHoveredOption:()=>fo,toViewData:()=>oo,updateSelectOption:()=>uo});var so=["id","class","style","slot","placeholder","selectedValue","selected-value","onChange","on-change","options"],io=e=>Object.entries(e||{}).filter(([t])=>!so.includes(t)).map(([t,r])=>`${t}=${r}`).join(" "),no=Object.freeze({isOpen:!1,position:{x:0,y:0},selectedValue:null,hoveredOptionId:null,hoveredAddOption:!1}),oo=({state:e,props:t,attrs:r})=>{let s=io(r),i=e.selectedValue!==null?e.selectedValue:t.selectedValue,n=t.placeholder||"Select an option",o=!0;if(i!=null&&t.options){let l=t.options.find(p=>ae(p.value,i));l&&(n=l.label,o=!1)}let a=(t.options||[]).map((l,p)=>{let c=ae(l.value,i),u=e.hoveredOptionId===p;return{...l,isSelected:c,bgc:u?"ac":c?"mu":""}});return{containerAttrString:s,isOpen:e.isOpen,position:e.position,options:a,selectedValue:i,selectedLabel:n,selectedLabelColor:o?"mu-fg":"fg",placeholder:t.placeholder||"Select an option",hasValue:i!=null,showClear:!r["no-clear"]&&!t["no-clear"]&&i!=null,showAddOption:!!t.addOption,addOptionLabel:t.addOption?.label?`+ ${t.addOption.label}`:"+ Add",addOptionBgc:e.hoveredAddOption?"ac":""}},ao=({state:e})=>e,lo=({state:e})=>e.selectedValue,po=(e,t)=>{let{position:r,selectedIndex:s}=t;e.position=r,e.isOpen=!0,s!=null&&(e.hoveredOptionId=s)},co=e=>{e.isOpen=!1},uo=(e,t)=>{e.selectedValue=t.value,e.isOpen=!1},ho=e=>{e.selectedValue=void 0},fo=(e,t)=>{e.hoveredOptionId=t},yo=e=>{e.hoveredOptionId=null},mo=e=>{e.selectedValue=void 0},go=(e,t)=>{e.hoveredAddOption=t};var Kr={elementName:"rtgl-select",viewDataSchema:{type:"object"},propsSchema:{type:"object",properties:{options:{type:"array",items:{type:"object",properties:{label:{type:"string"},value:{type:"any"}}}},selectedValue:{type:"any"},placeholder:{type:"string"},onChange:{type:"function"},"no-clear":{type:"boolean"},addOption:{type:"object",properties:{label:{type:"string"}}}}},refs:{"select-button":{eventListeners:{click:{handler:"handleButtonClick"}}},"clear-button":{eventListeners:{click:{handler:"handleClearClick"}}},popover:{eventListeners:{close:{handler:"handleClickOptionsPopoverOverlay"}}},"option-*":{eventListeners:{click:{handler:"handleOptionClick"},mouseenter:{handler:"handleOptionMouseEnter"},mouseleave:{handler:"handleOptionMouseLeave"}}},"option-add":{eventListeners:{click:{handler:"handleAddOptionClick"},mouseenter:{handler:"handleAddOptionMouseEnter"},mouseleave:{handler:"handleAddOptionMouseLeave"}}}},events:{},template:{type:9,items:[{type:8,properties:[{key:"rtgl-button#select-button v=ol ${containerAttrString}",value:{type:9,items:[{type:8,properties:[{key:"rtgl-view d=h av=c w=f",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text c=${selectedLabelColor}",value:{type:1,path:"selectedLabel"},parsedKey:{type:2,parts:["rtgl-text c=",{type:1,path:"selectedLabelColor"}]}}],fast:!0},{type:8,properties:[{key:"rtgl-view mh=md flex=1",value:{type:0,value:null}}],fast:!0},{type:8,properties:[{key:"$if showClear",value:{type:6,conditions:[{type:1,path:"showClear"}],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-svg#clear-button mr=md svg=x wh=16 c=mu-fg cur=p",value:{type:0,value:null}}],fast:!0}],fast:!0}],id:null}}],fast:!1},{type:8,properties:[{key:"rtgl-svg svg=chevronDown wh=16 c=mu-fg",value:{type:0,value:null}}],fast:!0}],fast:!1}}],fast:!1}],fast:!1},parsedKey:{type:2,parts:["rtgl-button#select-button v=ol ",{type:1,path:"containerAttrString"}]}}],fast:!1},{type:8,properties:[{key:"rtgl-popover#popover ?open=${isOpen} x=${position.x} y=${position.y} placement=right-start",value:{type:9,items:[{type:8,properties:[{key:"rtgl-view wh=300 g=xs slot=content bgc=background br=md sv=true",value:{type:9,items:[{type:7,itemVar:"option",indexVar:"i",iterable:{type:1,path:"options"},body:{type:9,items:[{type:8,properties:[{key:"rtgl-view#option-${i} w=f ph=lg pv=md cur=p br=md bgc=${option.bgc}",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text",value:{type:1,path:"option.label"}}],fast:!0}],fast:!0},parsedKey:{type:2,parts:["rtgl-view#option-",{type:1,path:"i"}," w=f ph=lg pv=md cur=p br=md bgc=",{type:1,path:"option.bgc"}]}}],fast:!0}],fast:!0}},{type:8,properties:[{key:"$if showAddOption",value:{type:6,conditions:[{type:1,path:"showAddOption"}],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-view w=f bw=xs bc=mu-bg bt=sm",value:{type:0,value:null}}],fast:!0},{type:8,properties:[{key:"rtgl-view#option-add w=f ph=lg pv=md cur=p br=md bgc=${addOptionBgc}",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text c=ac",value:{type:1,path:"addOptionLabel"}}],fast:!0}],fast:!0},parsedKey:{type:2,parts:["rtgl-view#option-add w=f ph=lg pv=md cur=p br=md bgc=",{type:1,path:"addOptionBgc"}]}}],fast:!0}],fast:!0}],id:null}}],fast:!1}],fast:!1}}],fast:!1}],fast:!1},parsedKey:{type:2,parts:["rtgl-popover#popover ?open=",{type:1,path:"isOpen"}," x=",{type:1,path:"position.x"}," y=",{type:1,path:"position.y"}," placement=right-start"]}}],fast:!1}],fast:!1}};var It={};R(It,{handleHeaderClick:()=>vo,handleItemClick:()=>bo});var vo=(e,t)=>{let{store:r,dispatchEvent:s}=t,i,n=r.selectHeader();e.currentTarget.id==="header-label"?i=n.labelPath:e.currentTarget.id==="header-image"?i=n.image.path:e.currentTarget.id==="header"&&(i=n.path),s(new CustomEvent("headerClick",{detail:{path:i},bubbles:!0,composed:!0}))},bo=(e,t)=>{let{store:r,dispatchEvent:s}=t,i=e.currentTarget.id.replace("item-",""),n=r.selectItem(i);s(new CustomEvent("itemClick",{detail:{item:n},bubbles:!0,composed:!0}))};var Tt={};R(Tt,{INITIAL_STATE:()=>wo,selectActiveItem:()=>ko,selectHeader:()=>Ao,selectItem:()=>So,setState:()=>$o,toViewData:()=>Eo});var wo=Object.freeze({}),xo=["id","class","style","slot"],_o=e=>Object.entries(e).filter(([t])=>!xo.includes(t)).map(([t,r])=>`${t}=${r}`).join(" ");function Ot(e,t=null){let r=[];for(let s of e){let i=s.id||s.href||s.path,n=t===i;if(r.push({id:i,title:s.title,href:s.href,type:s.type||"item",icon:s.icon,hrefAttr:s.href?`href=${s.href}`:"",isSelected:n,itemBgc:n?"ac":"bg",itemHoverBgc:n?"ac":"mu"}),s.items&&Array.isArray(s.items))for(let o of s.items){let a=o.id||o.href||o.path,l=t===a;r.push({id:a,title:o.title,href:o.href,type:o.type||"item",icon:o.icon,hrefAttr:o.href?`href=${o.href}`:"",isSelected:l,itemBgc:l?"ac":"bg",itemHoverBgc:l?"ac":"mu"})}}return r}var Eo=({state:e,props:t,attrs:r})=>{let s=r.header?JSON.parse(decodeURIComponent(r.header)):t.header,i=r.items?JSON.parse(decodeURIComponent(r.items)):t.items,n=r.selectedItemId||t.selectedItemId,o=_o(r),a=r.mode||"full",l=s||{label:"",path:"",image:{src:"",alt:"",width:0,height:0}},p=i?Ot(i,n):[],c=a==="full"?272:64,u=a==="full"?"fs":"c",d=a==="full"?"fs":"c",y=a==="full"?"lg":"sm",h=a==="full"?"md":"sm",f=a==="shrunk-lg"?48:40,m=a==="shrunk-lg"?28:20,v=a==="shrunk-lg"?"md":"sm",b=a==="full",x=a==="full",_=a==="full"?"fs":"c",A=a==="full"?"":`ah=${d}`,k=a==="full"?"f":f;return{containerAttrString:o,mode:a,header:l,items:p,sidebarWidth:c,headerAlign:u,itemAlign:d,headerPadding:y,itemPadding:h,itemHeight:f,iconSize:m,firstLetterSize:v,showLabels:b,showGroupLabels:x,itemContentAlign:_,itemAlignAttr:A,itemWidth:k,headerWidth:k,selectedItemId:n,ah:a==="shrunk-lg"||a==="shrunk-md"?"c":""}},Ao=({state:e,props:t,attrs:r})=>r.header?JSON.parse(decodeURIComponent(r.header)):t.header,ko=({state:e,props:t})=>(t.items?Ot(t.items):[]).find(s=>s.active),So=({state:e,props:t,attrs:r},s)=>{let i=r.items?JSON.parse(decodeURIComponent(r.items)):t.items;return(i?Ot(i):[]).find(o=>o.id===s)},$o=e=>{};var Ur={elementName:"rtgl-sidebar",viewDataSchema:{type:"object",properties:{containerAttrString:{type:"string"},mode:{type:"string",enum:["full","shrunk","shrunk-lg"],default:"full"},sidebarWidth:{type:"number"},headerAlign:{type:"string"},itemAlign:{type:"string"},headerPadding:{type:"string"},itemPadding:{type:"string"},itemHeight:{type:"number"},iconSize:{type:"number"},firstLetterSize:{type:"string"},showLabels:{type:"boolean"},showGroupLabels:{type:"boolean"},itemContentAlign:{type:"string"},itemAlignAttr:{type:"string"},itemWidth:{type:"string"},headerWidth:{type:"string"},selectedItemId:{type:"string"},header:{type:"object",properties:{label:{type:"string"},href:{type:"string"},image:{type:"object",properties:{src:{type:"string"},width:{type:"number"},height:{type:"number"},alt:{type:"string"}}}}},items:{type:"array",items:{type:"object",properties:{title:{type:"string"},slug:{type:"string"},type:{type:"string"},active:{type:"boolean"},icon:{type:"string"}}}}}},propsSchema:{type:"object",properties:{selectedItemId:{type:"string"},header:{type:"object",properties:{label:{type:"string"},href:{type:"string"},image:{type:"object",properties:{src:{type:"string"},width:{type:"number"},height:{type:"number"},alt:{type:"string"}}}}},items:{type:"array",items:{type:"object",properties:{title:{type:"string"},slug:{type:"string"},type:{type:"string"},items:{type:"array"}}}}}},refs:{"header-image":{eventListeners:{click:{handler:"handleHeaderClick"}}},"header-label":{eventListeners:{click:{handler:"handleHeaderClick"}}},header:{eventListeners:{click:{handler:"handleHeaderClick"}}},"item-*":{eventListeners:{click:{handler:"handleItemClick"}}}},events:{headerClick:{type:"object",properties:{path:{type:"string"}}}},anchors:[[{"$if header.image && header.image.src":[{"$if header.image.href":[{"a href=${header.image.href}":[{'rtgl-image w=${header.image.width} h=${header.image.height} src=${header.image.src} alt="${header.image.alt}"':null}]}],"$elif header.image.path":[{"rtgl-view#header-image cur=p":[{'rtgl-image w=${header.image.width} h=${header.image.height} src=${header.image.src} alt="${header.image.alt}"':null}]}],$else:[{'rtgl-image w=${header.image.width} h=${header.image.height} src=${header.image.src} alt="${header.image.alt}"':null}]}]},{"$if header.label && showLabels":[{"$if header.labelHref":[{"rtgl-text href=${header.labelHref} s=lg":"${header.label}"}],"$elif header.labelPath":[{"rtgl-view#header-label cur=p":[{"rtgl-text s=lg":"${header.label}"}]}],$else:[{"rtgl-text s=lg":"${header.label}"}]}]}]],template:{type:9,items:[{type:8,properties:[{key:"rtgl-view h=f w=${sidebarWidth} bwr=xs ah=${ah} ${containerAttrString}",value:{type:9,items:[{type:8,properties:[{key:"rtgl-view ph=${headerPadding} pv=lg",value:{type:9,items:[{type:8,properties:[{key:"$if header.href",value:{type:6,conditions:[{type:1,path:"header.href"},null],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-view href=${header.href} d=h av=c ah=${headerAlign} g=lg w=${headerWidth}",value:{type:9,items:[{type:9,items:[{type:8,properties:[{key:"$if header.image && header.image.src",value:{type:6,conditions:[{type:4,op:6,left:{type:1,path:"header.image"},right:{type:1,path:"header.image.src"}}],bodies:[{type:9,items:[{type:8,properties:[{key:"$if header.image.href",value:{type:6,conditions:[{type:1,path:"header.image.href"},{type:1,path:"header.image.path"},null],bodies:[{type:9,items:[{type:8,properties:[{key:"a href=${header.image.href}",value:{type:9,items:[{type:8,properties:[{key:'rtgl-image w=${header.image.width} h=${header.image.height} src=${header.image.src} alt="${header.image.alt}"',value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-image w=",{type:1,path:"header.image.width"}," h=",{type:1,path:"header.image.height"}," src=",{type:1,path:"header.image.src"},' alt="',{type:1,path:"header.image.alt"},'"']}}],fast:!0}],fast:!0},parsedKey:{type:2,parts:["a href=",{type:1,path:"header.image.href"}]}}],fast:!0}],fast:!0},{type:9,items:[{type:8,properties:[{key:"rtgl-view#header-image cur=p",value:{type:9,items:[{type:8,properties:[{key:'rtgl-image w=${header.image.width} h=${header.image.height} src=${header.image.src} alt="${header.image.alt}"',value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-image w=",{type:1,path:"header.image.width"}," h=",{type:1,path:"header.image.height"}," src=",{type:1,path:"header.image.src"},' alt="',{type:1,path:"header.image.alt"},'"']}}],fast:!0}],fast:!0}}],fast:!0}],fast:!0},{type:9,items:[{type:8,properties:[{key:'rtgl-image w=${header.image.width} h=${header.image.height} src=${header.image.src} alt="${header.image.alt}"',value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-image w=",{type:1,path:"header.image.width"}," h=",{type:1,path:"header.image.height"}," src=",{type:1,path:"header.image.src"},' alt="',{type:1,path:"header.image.alt"},'"']}}],fast:!0}],fast:!0}],id:null}}],fast:!1}],fast:!1}],id:null}}],fast:!1},{type:8,properties:[{key:"$if header.label && showLabels",value:{type:6,conditions:[{type:4,op:6,left:{type:1,path:"header.label"},right:{type:1,path:"showLabels"}}],bodies:[{type:9,items:[{type:8,properties:[{key:"$if header.labelHref",value:{type:6,conditions:[{type:1,path:"header.labelHref"},{type:1,path:"header.labelPath"},null],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-text href=${header.labelHref} s=lg",value:{type:1,path:"header.label"},parsedKey:{type:2,parts:["rtgl-text href=",{type:1,path:"header.labelHref"}," s=lg"]}}],fast:!0}],fast:!0},{type:9,items:[{type:8,properties:[{key:"rtgl-view#header-label cur=p",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text s=lg",value:{type:1,path:"header.label"}}],fast:!0}],fast:!0}}],fast:!0}],fast:!0},{type:9,items:[{type:8,properties:[{key:"rtgl-text s=lg",value:{type:1,path:"header.label"}}],fast:!0}],fast:!0}],id:null}}],fast:!1}],fast:!1}],id:null}}],fast:!1}],fast:!1}],fast:!1},parsedKey:{type:2,parts:["rtgl-view href=",{type:1,path:"header.href"}," d=h av=c ah=",{type:1,path:"headerAlign"}," g=lg w=",{type:1,path:"headerWidth"}]}}],fast:!1}],fast:!1},{type:9,items:[{type:8,properties:[{key:"rtgl-view#header d=h av=c ah=${headerAlign} g=lg w=${headerWidth} cur=p",value:{type:9,items:[{type:9,items:[{type:8,properties:[{key:"$if header.image && header.image.src",value:{type:6,conditions:[{type:4,op:6,left:{type:1,path:"header.image"},right:{type:1,path:"header.image.src"}}],bodies:[{type:9,items:[{type:8,properties:[{key:"$if header.image.href",value:{type:6,conditions:[{type:1,path:"header.image.href"},{type:1,path:"header.image.path"},null],bodies:[{type:9,items:[{type:8,properties:[{key:"a href=${header.image.href}",value:{type:9,items:[{type:8,properties:[{key:'rtgl-image w=${header.image.width} h=${header.image.height} src=${header.image.src} alt="${header.image.alt}"',value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-image w=",{type:1,path:"header.image.width"}," h=",{type:1,path:"header.image.height"}," src=",{type:1,path:"header.image.src"},' alt="',{type:1,path:"header.image.alt"},'"']}}],fast:!0}],fast:!0},parsedKey:{type:2,parts:["a href=",{type:1,path:"header.image.href"}]}}],fast:!0}],fast:!0},{type:9,items:[{type:8,properties:[{key:"rtgl-view#header-image cur=p",value:{type:9,items:[{type:8,properties:[{key:'rtgl-image w=${header.image.width} h=${header.image.height} src=${header.image.src} alt="${header.image.alt}"',value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-image w=",{type:1,path:"header.image.width"}," h=",{type:1,path:"header.image.height"}," src=",{type:1,path:"header.image.src"},' alt="',{type:1,path:"header.image.alt"},'"']}}],fast:!0}],fast:!0}}],fast:!0}],fast:!0},{type:9,items:[{type:8,properties:[{key:'rtgl-image w=${header.image.width} h=${header.image.height} src=${header.image.src} alt="${header.image.alt}"',value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-image w=",{type:1,path:"header.image.width"}," h=",{type:1,path:"header.image.height"}," src=",{type:1,path:"header.image.src"},' alt="',{type:1,path:"header.image.alt"},'"']}}],fast:!0}],fast:!0}],id:null}}],fast:!1}],fast:!1}],id:null}}],fast:!1},{type:8,properties:[{key:"$if header.label && showLabels",value:{type:6,conditions:[{type:4,op:6,left:{type:1,path:"header.label"},right:{type:1,path:"showLabels"}}],bodies:[{type:9,items:[{type:8,properties:[{key:"$if header.labelHref",value:{type:6,conditions:[{type:1,path:"header.labelHref"},{type:1,path:"header.labelPath"},null],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-text href=${header.labelHref} s=lg",value:{type:1,path:"header.label"},parsedKey:{type:2,parts:["rtgl-text href=",{type:1,path:"header.labelHref"}," s=lg"]}}],fast:!0}],fast:!0},{type:9,items:[{type:8,properties:[{key:"rtgl-view#header-label cur=p",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text s=lg",value:{type:1,path:"header.label"}}],fast:!0}],fast:!0}}],fast:!0}],fast:!0},{type:9,items:[{type:8,properties:[{key:"rtgl-text s=lg",value:{type:1,path:"header.label"}}],fast:!0}],fast:!0}],id:null}}],fast:!1}],fast:!1}],id:null}}],fast:!1}],fast:!1}],fast:!1},parsedKey:{type:2,parts:["rtgl-view#header d=h av=c ah=",{type:1,path:"headerAlign"}," g=lg w=",{type:1,path:"headerWidth"}," cur=p"]}}],fast:!1}],fast:!1}],id:null}}],fast:!1}],fast:!1},parsedKey:{type:2,parts:["rtgl-view ph=",{type:1,path:"headerPadding"}," pv=lg"]}}],fast:!1},{type:8,properties:[{key:"rtgl-view w=f ph=${headerPadding} pb=lg g=xs ah=${ah}",value:{type:9,items:[{type:7,itemVar:"item",indexVar:"i",iterable:{type:1,path:"items"},body:{type:9,items:[{type:8,properties:[{key:'$if item.type == "groupLabel"',value:{type:6,conditions:[{type:4,op:0,left:{type:1,path:"item.type"},right:{type:0,value:"groupLabel"}},null],bodies:[{type:9,items:[{type:8,properties:[{key:"$if showGroupLabels",value:{type:6,conditions:[{type:1,path:"showGroupLabels"},null],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-view mt=md h=32 av=c ph=md",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text s=xs c=mu-fg",value:{type:1,path:"item.title"}}],fast:!0}],fast:!0}}],fast:!0}],fast:!0},{type:9,items:[{type:8,properties:[{key:"rtgl-view mt=md h=1 bgc=mu-bg",value:{type:0,value:null}}],fast:!0}],fast:!0}],id:null}}],fast:!1}],fast:!1},{type:9,items:[{type:8,properties:[{key:"rtgl-view#item-${item.id} ${item.hrefAttr} h=${itemHeight} av=c ${itemAlignAttr} ph=${itemPadding} w=${itemWidth} h-bgc=${item.itemHoverBgc} br=lg bgc=${item.itemBgc} cur=p",value:{type:9,items:[{type:8,properties:[{key:"$if item.icon",value:{type:6,conditions:[{type:1,path:"item.icon"},null],bodies:[{type:9,items:[{type:8,properties:[{key:"$if showLabels",value:{type:6,conditions:[{type:1,path:"showLabels"},null],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-view d=h ah=${itemContentAlign} g=sm",value:{type:9,items:[{type:8,properties:[{key:"rtgl-svg wh=16 svg=${item.icon} c=fg",value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-svg wh=16 svg=",{type:1,path:"item.icon"}," c=fg"]}}],fast:!0},{type:8,properties:[{key:"rtgl-text s=sm",value:{type:1,path:"item.title"}}],fast:!0}],fast:!0},parsedKey:{type:2,parts:["rtgl-view d=h ah=",{type:1,path:"itemContentAlign"}," g=sm"]}}],fast:!0}],fast:!0},{type:9,items:[{type:8,properties:[{key:"rtgl-svg wh=${iconSize} svg=${item.icon} c=fg",value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-svg wh=",{type:1,path:"iconSize"}," svg=",{type:1,path:"item.icon"}," c=fg"]}}],fast:!0}],fast:!0}],id:null}}],fast:!1}],fast:!1},{type:9,items:[{type:8,properties:[{key:"$if showLabels",value:{type:6,conditions:[{type:1,path:"showLabels"},null],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-text s=sm",value:{type:1,path:"item.title"}}],fast:!0}],fast:!0},{type:9,items:[{type:8,properties:[{key:"rtgl-view wh=${iconSize} br=f bgc=mu av=c ah=c",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text s=${firstLetterSize} c=fg",value:{type:1,path:"item.title.charAt(0).toUpperCase()"},parsedKey:{type:2,parts:["rtgl-text s=",{type:1,path:"firstLetterSize"}," c=fg"]}}],fast:!0}],fast:!0},parsedKey:{type:2,parts:["rtgl-view wh=",{type:1,path:"iconSize"}," br=f bgc=mu av=c ah=c"]}}],fast:!0}],fast:!0}],id:null}}],fast:!1}],fast:!1}],id:null}}],fast:!1}],fast:!1},parsedKey:{type:2,parts:["rtgl-view#item-",{type:1,path:"item.id"}," ",{type:1,path:"item.hrefAttr"}," h=",{type:1,path:"itemHeight"}," av=c ",{type:1,path:"itemAlignAttr"}," ph=",{type:1,path:"itemPadding"}," w=",{type:1,path:"itemWidth"}," h-bgc=",{type:1,path:"item.itemHoverBgc"}," br=lg bgc=",{type:1,path:"item.itemBgc"}," cur=p"]}}],fast:!1}],fast:!1}],id:null}}],fast:!1}],fast:!1}}],fast:!1},parsedKey:{type:2,parts:["rtgl-view w=f ph=",{type:1,path:"headerPadding"}," pb=lg g=xs ah=",{type:1,path:"ah"}]}}],fast:!1}],fast:!1},parsedKey:{type:2,parts:["rtgl-view h=f w=",{type:1,path:"sidebarWidth"}," bwr=xs ah=",{type:1,path:"ah"}," ",{type:1,path:"containerAttrString"}]}}],fast:!1}],fast:!1}};var Lt={};R(Lt,{handleBeforeMount:()=>Co,handleOnUpdate:()=>Io,handleValueChange:()=>Oo});var Co=e=>{let{store:t,attrs:r}=e;t.setValue(r.defaultValue||0)},Io=(e,t)=>{let{oldAttrs:r,newAttrs:s}=e,{store:i,render:n,attrs:o}=t;if(r?.key!==s?.key&&s?.key){let a=s?.defaultValue||o?.defaultValue||0;i.setValue(a),n()}else if(r?.defaultValue!==s?.defaultValue){let a=s?.defaultValue||0;i.setValue(a),n()}},Oo=(e,t)=>{let{store:r,render:s,dispatchEvent:i}=t,n=Number(e.detail.value);r.setValue(n),s(),i(new CustomEvent("slider-input-value-change",{detail:{value:n},bubbles:!0}))};var Nt={};R(Nt,{INITIAL_STATE:()=>To,setValue:()=>No,toViewData:()=>Lo});var To=Object.freeze({value:0}),Lo=({state:e,attrs:t})=>({key:t.key,value:e.value,w:t.w||"",min:t.min||0,max:t.max||100,step:t.step||1}),No=(e,t)=>{e.value=t};var zr={elementName:"rtgl-slider-input",viewDataSchema:{type:"object"},attrsSchema:{type:"object",properties:{defaultValue:{type:"string",default:"0"},w:{type:"string",default:""},min:{type:"string",default:"0"},max:{type:"string",default:"100"},step:{type:"string",default:"1"}}},refs:{input:{eventListeners:{"input-change":{handler:"handleValueChange"}}},slider:{eventListeners:{"slider-change":{handler:"handleValueChange"}}}},events:{"form-change":{}},template:{type:9,items:[{type:8,properties:[{key:"rtgl-view d=h av=c g=md w=${w}",value:{type:9,items:[{type:8,properties:[{key:"rtgl-slider#slider key=${key} w=f type=range min=${min} max=${max} step=${step} value=${value}",value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-slider#slider key=",{type:1,path:"key"}," w=f type=range min=",{type:1,path:"min"}," max=",{type:1,path:"max"}," step=",{type:1,path:"step"}," value=",{type:1,path:"value"}]}}],fast:!0},{type:8,properties:[{key:"rtgl-view w=84",value:{type:9,items:[{type:8,properties:[{key:"rtgl-input#input key=${key} w=f type=number min=${min} max=${max} step=${step} value=${value}",value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-input#input key=",{type:1,path:"key"}," w=f type=number min=",{type:1,path:"min"}," max=",{type:1,path:"max"}," step=",{type:1,path:"step"}," value=",{type:1,path:"value"}]}}],fast:!0}],fast:!0}}],fast:!0}],fast:!0},parsedKey:{type:2,parts:["rtgl-view d=h av=c g=md w=",{type:1,path:"w"}]}}],fast:!0}],fast:!0}};var Vt={};R(Vt,{handleBeforeMount:()=>Vo,handleHeaderClick:()=>Po,handleRowClick:()=>Ro});var Vo=e=>{},Ro=(e,t)=>{let{dispatchEvent:r,props:s}=t,i=parseInt(e.currentTarget.id.replace("row-","")),n=s.data?.rows?.[i];n&&r(new CustomEvent("row-click",{detail:{rowIndex:i,rowData:n}}))},Po=(e,t)=>{let{store:r,render:s,dispatchEvent:i}=t,n=e.currentTarget.id.replace("header-",""),o=r.selectSortInfo(),a="asc";o.column===n&&(o.direction==="asc"?a="desc":o.direction==="desc"&&(a=null)),a?r.setSortColumn({column:n,direction:a}):r.clearSort(),s(),i(new CustomEvent("header-click",{detail:{column:n,direction:a,sortInfo:a?{column:n,direction:a}:null}}))};var Rt={};R(Rt,{INITIAL_STATE:()=>jo,clearSort:()=>zo,selectSortInfo:()=>Ko,selectState:()=>Fo,setSortColumn:()=>Uo,toViewData:()=>Mo});var jo=Object.freeze({sortColumn:null,sortDirection:null}),Do=["id","class","style","slot"],Bo=e=>Object.entries(e).filter(([t])=>!Do.includes(t)).map(([t,r])=>`${t}=${r}`).join(" "),Wo=(e,t)=>{let r=t.split("."),s=e;for(let i of r){if(s==null)return null;s=s[i]}return s},Mo=({state:e,props:t,attrs:r})=>{let s=Bo(r),i=t.data||{columns:[],rows:[]},n=i.rows.map((o,a)=>{let l=i.columns.map(p=>{let c=Wo(o,p.key);return{key:p.key,value:c!=null?String(c):""}});return{index:a,cells:l}});return{containerAttrString:s,columns:i.columns||[],rows:n||[]}},Fo=({state:e})=>e,Ko=({state:e})=>({column:e.sortColumn,direction:e.sortDirection}),Uo=(e,{column:t,direction:r})=>{e.sortColumn=t,e.sortDirection=r},zo=e=>{e.sortColumn=null,e.sortDirection=null};var Hr={elementName:"rtgl-table",viewDataSchema:{type:"object",properties:{columns:{type:"array"},rows:{type:"array"},containerAttrString:{type:"string"}}},propsSchema:{type:"object",properties:{data:{type:"object",properties:{columns:{type:"array",items:{type:"object",properties:{key:{type:"string"},label:{type:"string"}}}},rows:{type:"array",items:{type:"object"}}}},responsive:{type:"boolean",default:!0}}},refs:{"row-*":{eventListeners:{click:{handler:"handleRowClick"}}},"header-*":{eventListeners:{click:{handler:"handleHeaderClick"}}}},events:{},styles:{table:{width:"100%","border-collapse":"collapse","border-spacing":0},thead:{"border-bottom":"2px solid var(--border)"},th:{padding:"12px","text-align":"left","font-weight":500,color:"var(--foreground)","background-color":"var(--muted)",cursor:"pointer",position:"sticky",top:0,"z-index":1},"tbody tr":{"border-bottom":"1px solid var(--border)"},"tbody tr:last-child":{"border-bottom":"none"},td:{padding:"12px",color:"var(--foreground)"},".table-container":{width:"100%",height:"100%",overflow:"auto"},".empty-state":{"text-align":"center",padding:"24px",color:"var(--muted-foreground)"}},template:{type:9,items:[{type:8,properties:[{key:"rtgl-view.table-container ${containerAttrString}",value:{type:9,items:[{type:8,properties:[{key:"$if rows.length > 0",value:{type:6,conditions:[{type:4,op:2,left:{type:1,path:"rows.length"},right:{type:0,value:0}},null],bodies:[{type:9,items:[{type:8,properties:[{key:"table",value:{type:9,items:[{type:8,properties:[{key:"thead",value:{type:9,items:[{type:8,properties:[{key:"tr",value:{type:9,items:[{type:7,itemVar:"column",indexVar:"i",iterable:{type:1,path:"columns"},body:{type:9,items:[{type:8,properties:[{key:"th#header-${column.key}",value:{type:1,path:"column.label"},parsedKey:{type:2,parts:["th#header-",{type:1,path:"column.key"}]}}],fast:!0}],fast:!0}}],fast:!1}}],fast:!1}],fast:!1}}],fast:!1},{type:8,properties:[{key:"tbody",value:{type:9,items:[{type:7,itemVar:"row",indexVar:"rowIndex",iterable:{type:1,path:"rows"},body:{type:9,items:[{type:8,properties:[{key:"tr#row-${row.index}",value:{type:9,items:[{type:7,itemVar:"cell",indexVar:"cellIndex",iterable:{type:1,path:"row.cells"},body:{type:9,items:[{type:8,properties:[{key:"td",value:{type:1,path:"cell.value"}}],fast:!0}],fast:!0}}],fast:!1},parsedKey:{type:2,parts:["tr#row-",{type:1,path:"row.index"}]}}],fast:!1}],fast:!1}}],fast:!1}}],fast:!1}],fast:!1}}],fast:!1}],fast:!1},{type:9,items:[{type:8,properties:[{key:"rtgl-view.empty-state w=f p=xl",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text c=mu-fg",value:{type:0,value:"No data available"}}],fast:!0}],fast:!0}}],fast:!0}],fast:!0}],id:null}}],fast:!1}],fast:!1},parsedKey:{type:2,parts:["rtgl-view.table-container ",{type:1,path:"containerAttrString"}]}}],fast:!1}],fast:!1}};var Pt={};R(Pt,{handleClickItem:()=>Ho});var Ho=(e,t)=>{let{dispatchEvent:r}=t,s=e.currentTarget.dataset.id;r(new CustomEvent("item-click",{detail:{id:s}}))};var jt={};R(jt,{INITIAL_STATE:()=>Jo,toViewData:()=>Yo});var Jo=Object.freeze({}),qo=["id","class","style","slot"],Go=e=>Object.entries(e).filter(([t])=>!qo.includes(t)).map(([t,r])=>`${t}=${r}`).join(" "),Yo=({state:e,props:t,attrs:r})=>{let s=Go(r),i=t.items||[],n=r["selected-tab"],o=i.map(a=>({...a,isSelected:a.id===n,bgColor:a.id===n?"ac":"",borderColor:a.id===n?"":"tr",textColor:a.id===n?"":"mu-fg"}));return{containerAttrString:s,items:o,selectedTab:n}};var Jr={elementName:"rtgl-tabs",viewDataSchema:{type:"object",properties:{containerAttrString:{type:"string"},items:{type:"array",items:{type:"object",properties:{label:{type:"string"},id:{type:"string"},isSelected:{type:"boolean"},bgColor:{type:"string"},textColor:{type:"string"},borderColor:{type:"string"}}}},selectedTab:{type:"string"}}},propsSchema:{type:"object",properties:{items:{type:"array",items:{type:"object",properties:{label:{type:"string"},id:{type:"string"}}}}}},attrsSchema:{type:"object",properties:{"selected-tab":{type:"string"}}},refs:{"tab-*":{eventListeners:{click:{handler:"handleClickItem"}}}},events:{"item-click":{type:"object",properties:{id:{type:"string"}}}},template:{type:9,items:[{type:8,properties:[{key:"rtgl-view d=h g=sm bgc=mu p=sm br=lg ${containerAttrString}",value:{type:9,items:[{type:7,itemVar:"item",indexVar:null,iterable:{type:1,path:"items"},body:{type:9,items:[{type:8,properties:[{key:"rtgl-view#tab-${item.id} data-id=${item.id} cur=p bgc=${item.bgColor} bw=xs bc=${item.borderColor} pv=md ph=lg br=lg",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text s=sm c=${item.textColor}",value:{type:1,path:"item.label"},parsedKey:{type:2,parts:["rtgl-text s=sm c=",{type:1,path:"item.textColor"}]}}],fast:!0}],fast:!0},parsedKey:{type:2,parts:["rtgl-view#tab-",{type:1,path:"item.id"}," data-id=",{type:1,path:"item.id"}," cur=p bgc=",{type:1,path:"item.bgColor"}," bw=xs bc=",{type:1,path:"item.borderColor"}," pv=md ph=lg br=lg"]}}],fast:!0}],fast:!0}}],fast:!1},parsedKey:{type:2,parts:["rtgl-view d=h g=sm bgc=mu p=sm br=lg ",{type:1,path:"containerAttrString"}]}}],fast:!1}],fast:!1}};var qr={};var Dt={};R(Dt,{INITIAL_STATE:()=>Xo,toViewData:()=>Qo});var Xo=Object.freeze({}),Qo=({attrs:e})=>({open:!!e.open,x:e.x||0,y:e.y||0,placement:e.placement||"top",content:e.content||""});var Gr={elementName:"rtgl-tooltip",viewDataSchema:{type:"object"},attrsSchema:{type:"object",properties:{open:{type:"string"},x:{type:"string"},y:{type:"string"},placement:{type:"string"},content:{type:"string"}}},refs:{popover:null},template:{type:9,items:[{type:8,properties:[{key:"rtgl-popover#popover ?open=${open} x=${x} y=${y} placement=${placement} no-overlay",value:{type:9,items:[{type:8,properties:[{key:"rtgl-view slot=content bgc=background bc=border br=md p=sm ah=c av=c",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text ta=c s=sm c=foreground",value:{type:1,path:"content"}}],fast:!0}],fast:!0}}],fast:!0}],fast:!0},parsedKey:{type:2,parts:["rtgl-popover#popover ?open=",{type:1,path:"open"}," x=",{type:1,path:"x"}," y=",{type:1,path:"y"}," placement=",{type:1,path:"placement"}," no-overlay"]}}],fast:!0}],fast:!0}};var Bt={};R(Bt,{handleAfterMount:()=>Zo,handleOnUpdate:()=>ea});var Zo=async e=>{let{props:t,store:r,render:s,getRefIds:i}=e,{waveformData:n}=t;r.setWaveformData(n),s();let o=i().canvas?.elm;o&&Yr(n,o)},ea=async(e,t)=>{let{store:r,render:s,getRefIds:i,props:n}=t,{waveformData:o}=n;if(!o){console.log("waveform handleOnUpdate: no waveformData provided");return}r.setWaveformData(o),s();let a=i().canvas?.elm;a&&Yr(o,a)};async function Yr(e,t){let r=t.getContext("2d"),s=t.getBoundingClientRect(),i=s.width,n=s.height;t.width=i,t.height=n;let o=t.width,a=t.height;if(r.clearRect(0,0,o,a),r.fillStyle="#1a1a1a",r.fillRect(0,0,o,a),!e||!e.amplitudes)return;let l=e.amplitudes,p=a/2,c=r.createLinearGradient(0,0,0,a);c.addColorStop(0,"#404040"),c.addColorStop(.5,"#A1A1A1"),c.addColorStop(1,"#404040");let u=Math.max(1,o/l.length),d=.2;for(let y=0;y<l.length;y++){let f=l[y]*(a*.85),m=y*u,v=p-f/2;r.fillStyle=c,r.fillRect(m,v,Math.max(1,u*(1-d)),f)}r.strokeStyle="rgba(255, 255, 255, 0.1)",r.lineWidth=1,r.beginPath(),r.moveTo(0,p),r.lineTo(o,p),r.stroke(),r.shadowBlur=10,r.shadowColor="#2196F3"}var Wt={};R(Wt,{INITIAL_STATE:()=>ta,setWaveformData:()=>ra,toViewData:()=>sa});var ta=Object.freeze({waveformData:null}),ra=(e,t)=>{e.waveformData=t},sa=({state:e,attrs:t,props:r})=>({isLoading:r.isLoading,w:t.w||"250",h:t.h||"150",cur:t.cur,waveformData:r.waveformData});var Xr={elementName:"rtgl-waveform",attrsSchema:{type:"object",properties:{w:{type:"string",description:"Width of the waveform visualizer",default:"250"},h:{type:"string",description:"Height of the waveform visualizer",default:"150"},cur:{type:"string",description:"cursor"}}},propsSchema:{type:"object",properties:{waveformData:{type:"object",description:"File ID of the waveform data in object storage"},isLoading:{type:"boolean",description:"Whether the waveform data is currently being loaded"}}},refs:{canvas:{selector:"canvas"}},template:{type:9,items:[{type:8,properties:[{key:"rtgl-view w=f h=f pos=rel w=${w} h=${h} cur=${cur}",value:{type:9,items:[{type:8,properties:[{key:"$if isLoading",value:{type:6,conditions:[{type:1,path:"isLoading"},null],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-view w=f h=f av=c ah=c",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text c=mu-fg",value:{type:0,value:"..."}}],fast:!0}],fast:!0}}],fast:!0}],fast:!0},{type:9,items:[{type:8,properties:[{key:'canvas#canvas style="width:100%; height:100%;"',value:{type:0,value:null}}],fast:!0}],fast:!0}],id:null}}],fast:!1}],fast:!1},parsedKey:{type:2,parts:["rtgl-view w=f h=f pos=rel w=",{type:1,path:"w"}," h=",{type:1,path:"h"}," cur=",{type:1,path:"cur"}]}}],fast:!1}],fast:!1}};var ss=Symbol.for("immer-nothing"),Qr=Symbol.for("immer-draftable"),Y=Symbol.for("immer-state");function te(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var ve=Object.getPrototypeOf;function be(e){return!!e&&!!e[Y]}function ce(e){return e?is(e)||Array.isArray(e)||!!e[Qr]||!!e.constructor?.[Qr]||Be(e)||We(e):!1}var ia=Object.prototype.constructor.toString();function is(e){if(!e||typeof e!="object")return!1;let t=ve(e);if(t===null)return!0;let r=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;return r===Object?!0:typeof r=="function"&&Function.toString.call(r)===ia}function Re(e,t){De(e)===0?Reflect.ownKeys(e).forEach(r=>{t(r,e[r],e)}):e.forEach((r,s)=>t(s,r,e))}function De(e){let t=e[Y];return t?t.type_:Array.isArray(e)?1:Be(e)?2:We(e)?3:0}function Kt(e,t){return De(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function ns(e,t,r){let s=De(e);s===2?e.set(t,r):s===3?e.add(r):e[t]=r}function na(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}function Be(e){return e instanceof Map}function We(e){return e instanceof Set}function pe(e){return e.copy_||e.base_}function Ut(e,t){if(Be(e))return new Map(e);if(We(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);let r=is(e);if(t===!0||t==="class_only"&&!r){let s=Object.getOwnPropertyDescriptors(e);delete s[Y];let i=Reflect.ownKeys(s);for(let n=0;n<i.length;n++){let o=i[n],a=s[o];a.writable===!1&&(a.writable=!0,a.configurable=!0),(a.get||a.set)&&(s[o]={configurable:!0,writable:!0,enumerable:a.enumerable,value:e[o]})}return Object.create(ve(e),s)}else{let s=ve(e);if(s!==null&&r)return{...e};let i=Object.create(s);return Object.assign(i,e)}}function Gt(e,t=!1){return Me(e)||be(e)||!ce(e)||(De(e)>1&&(e.set=e.add=e.clear=e.delete=oa),Object.freeze(e),t&&Object.entries(e).forEach(([r,s])=>Gt(s,!0))),e}function oa(){te(2)}function Me(e){return Object.isFrozen(e)}var aa={};function ue(e){let t=aa[e];return t||te(0,e),t}var $e;function os(){return $e}function la(e,t){return{drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function Zr(e,t){t&&(ue("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function zt(e){Ht(e),e.drafts_.forEach(pa),e.drafts_=null}function Ht(e){e===$e&&($e=e.parent_)}function es(e){return $e=la($e,e)}function pa(e){let t=e[Y];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function ts(e,t){t.unfinalizedDrafts_=t.drafts_.length;let r=t.drafts_[0];return e!==void 0&&e!==r?(r[Y].modified_&&(zt(t),te(4)),ce(e)&&(e=Pe(t,e),t.parent_||je(t,e)),t.patches_&&ue("Patches").generateReplacementPatches_(r[Y].base_,e,t.patches_,t.inversePatches_)):e=Pe(t,r,[]),zt(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==ss?e:void 0}function Pe(e,t,r){if(Me(t))return t;let s=t[Y];if(!s)return Re(t,(i,n)=>rs(e,s,t,i,n,r)),t;if(s.scope_!==e)return t;if(!s.modified_)return je(e,s.base_,!0),s.base_;if(!s.finalized_){s.finalized_=!0,s.scope_.unfinalizedDrafts_--;let i=s.copy_,n=i,o=!1;s.type_===3&&(n=new Set(i),i.clear(),o=!0),Re(n,(a,l)=>rs(e,s,i,a,l,r,o)),je(e,i,!1),r&&e.patches_&&ue("Patches").generatePatches_(s,r,e.patches_,e.inversePatches_)}return s.copy_}function rs(e,t,r,s,i,n,o){if(be(i)){let a=n&&t&&t.type_!==3&&!Kt(t.assigned_,s)?n.concat(s):void 0,l=Pe(e,i,a);if(ns(r,s,l),be(l))e.canAutoFreeze_=!1;else return}else o&&r.add(i);if(ce(i)&&!Me(i)){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1)return;Pe(e,i),(!t||!t.scope_.parent_)&&typeof s!="symbol"&&Object.prototype.propertyIsEnumerable.call(r,s)&&je(e,i)}}function je(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Gt(t,r)}function ca(e,t){let r=Array.isArray(e),s={type_:r?1:0,scope_:t?t.scope_:os(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1},i=s,n=Yt;r&&(i=[s],n=Ce);let{revoke:o,proxy:a}=Proxy.revocable(i,n);return s.draft_=a,s.revoke_=o,a}var Yt={get(e,t){if(t===Y)return e;let r=pe(e);if(!Kt(r,t))return ua(e,r,t);let s=r[t];return e.finalized_||!ce(s)?s:s===Mt(e.base_,t)?(Ft(e),e.copy_[t]=qt(s,e)):s},has(e,t){return t in pe(e)},ownKeys(e){return Reflect.ownKeys(pe(e))},set(e,t,r){let s=as(pe(e),t);if(s?.set)return s.set.call(e.draft_,r),!0;if(!e.modified_){let i=Mt(pe(e),t),n=i?.[Y];if(n&&n.base_===r)return e.copy_[t]=r,e.assigned_[t]=!1,!0;if(na(r,i)&&(r!==void 0||Kt(e.base_,t)))return!0;Ft(e),Jt(e)}return e.copy_[t]===r&&(r!==void 0||t in e.copy_)||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_[t]=!0),!0},deleteProperty(e,t){return Mt(e.base_,t)!==void 0||t in e.base_?(e.assigned_[t]=!1,Ft(e),Jt(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let r=pe(e),s=Reflect.getOwnPropertyDescriptor(r,t);return s&&{writable:!0,configurable:e.type_!==1||t!=="length",enumerable:s.enumerable,value:r[t]}},defineProperty(){te(11)},getPrototypeOf(e){return ve(e.base_)},setPrototypeOf(){te(12)}},Ce={};Re(Yt,(e,t)=>{Ce[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}});Ce.deleteProperty=function(e,t){return Ce.set.call(this,e,t,void 0)};Ce.set=function(e,t,r){return Yt.set.call(this,e[0],t,r,e[0])};function Mt(e,t){let r=e[Y];return(r?pe(r):e)[t]}function ua(e,t,r){let s=as(t,r);return s?"value"in s?s.value:s.get?.call(e.draft_):void 0}function as(e,t){if(!(t in e))return;let r=ve(e);for(;r;){let s=Object.getOwnPropertyDescriptor(r,t);if(s)return s;r=ve(r)}}function Jt(e){e.modified_||(e.modified_=!0,e.parent_&&Jt(e.parent_))}function Ft(e){e.copy_||(e.copy_=Ut(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var ha=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.produce=(t,r,s)=>{if(typeof t=="function"&&typeof r!="function"){let n=r;r=t;let o=this;return function(l=n,...p){return o.produce(l,c=>r.call(this,c,...p))}}typeof r!="function"&&te(6),s!==void 0&&typeof s!="function"&&te(7);let i;if(ce(t)){let n=es(this),o=qt(t,void 0),a=!0;try{i=r(o),a=!1}finally{a?zt(n):Ht(n)}return Zr(n,s),ts(i,n)}else if(!t||typeof t!="object"){if(i=r(t),i===void 0&&(i=t),i===ss&&(i=void 0),this.autoFreeze_&&Gt(i,!0),s){let n=[],o=[];ue("Patches").generateReplacementPatches_(t,i,n,o),s(n,o)}return i}else te(1,t)},this.produceWithPatches=(t,r)=>{if(typeof t=="function")return(o,...a)=>this.produceWithPatches(o,l=>t(l,...a));let s,i;return[this.produce(t,r,(o,a)=>{s=o,i=a}),s,i]},typeof e?.autoFreeze=="boolean"&&this.setAutoFreeze(e.autoFreeze),typeof e?.useStrictShallowCopy=="boolean"&&this.setUseStrictShallowCopy(e.useStrictShallowCopy)}createDraft(e){ce(e)||te(8),be(e)&&(e=da(e));let t=es(this),r=qt(e,void 0);return r[Y].isManual_=!0,Ht(t),r}finishDraft(e,t){let r=e&&e[Y];(!r||!r.isManual_)&&te(9);let{scope_:s}=r;return Zr(s,t),ts(void 0,s)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}applyPatches(e,t){let r;for(r=t.length-1;r>=0;r--){let i=t[r];if(i.path.length===0&&i.op==="replace"){e=i.value;break}}r>-1&&(t=t.slice(r+1));let s=ue("Patches").applyPatches_;return be(e)?s(e,t):this.produce(e,i=>s(i,t))}};function qt(e,t){let r=Be(e)?ue("MapSet").proxyMap_(e,t):We(e)?ue("MapSet").proxySet_(e,t):ca(e,t);return(t?t.scope_:os()).drafts_.push(r),r}function da(e){return be(e)||te(10,e),ls(e)}function ls(e){if(!ce(e)||Me(e))return e;let t=e[Y],r;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=Ut(e,t.scope_.immer_.useStrictShallowCopy_)}else r=Ut(e,!0);return Re(r,(s,i)=>{ns(r,s,ls(i))}),t&&(t.finalized_=!1),r}var X=new ha,ps=X.produce,$c=X.produceWithPatches.bind(X),Cc=X.setAutoFreeze.bind(X),Ic=X.setUseStrictShallowCopy.bind(X),Oc=X.applyPatches.bind(X),Tc=X.createDraft.bind(X),Lc=X.finishDraft.bind(X);var w={LITERAL:0,VARIABLE:1,INTERPOLATION:2,FUNCTION:3,BINARY:4,UNARY:5,CONDITIONAL:6,LOOP:7,OBJECT:8,ARRAY:9,PARTIAL:10,PATH_REFERENCE:11},J={EQ:0,NEQ:1,GT:2,LT:3,GTE:4,LTE:5,AND:6,OR:7,IN:8,ADD:10,SUBTRACT:11},Fe={NOT:0};var q=class extends Error{constructor(t){super(`Render Error: ${t}`),this.name="JemplRenderError"}};var cs=(e,t,r=!1)=>{if(t===null)return new q(`Cannot iterate over null value at '$for ${e}'`);if(t===void 0)return new q(`Cannot iterate over undefined value at '$for ${e}'`);let s=typeof t;return r?new q(`Cannot iterate over non-array value in loop '${e}' - got ${s} instead`):new q(`Cannot iterate over non-array value (got: ${s}) at '$for ${e}'`)},us=(e,t)=>{let r=t&&Object.keys(t).length>0?Object.keys(t).join(", "):"no custom functions provided";return new q(`Unknown function '${e}' (${r})`)};var fa=(e,t,r={})=>{let s={},i={};r&&typeof r=="object"&&(r.functions!==void 0||r.partials!==void 0?(s=r.functions||{},i=r.partials||{}):typeof r=="object"&&(s=r));let o=I(e,{functions:s,partials:i},t,{});return o===void 0?{}:o},I=(e,t,r,s)=>{let i=t.functions||t;if(e.var&&!e.type)return K(e.var,r,s);if(e.type===w.LITERAL)return e.value;if(e.type===w.VARIABLE)return K(e.path,r,s);if(e.type===w.INTERPOLATION)return ma(e.parts,t,r,s);switch(e.type){case w.FUNCTION:return ds(e,t,r,s);case w.BINARY:return fs(e,t,r,s);case w.UNARY:return ys(e,t,r,s);case w.CONDITIONAL:return va(e,t,r,s);case w.LOOP:return Ea(e,t,r,s);case w.OBJECT:return ka(e,t,r,s);case w.ARRAY:return Sa(e,t,r,s);case w.PARTIAL:return $a(e,t,r,s);case w.PATH_REFERENCE:return Ca(e,t,r,s);default:throw new Error(`Unknown node type: ${e.type}`)}},hs=new Map,ya=e=>{let t=[],r="",s=!1;for(let i=0;i<e.length;i++){let n=e[i];if(n==="[")r&&(t.push({type:"property",value:r}),r=""),s=!0;else if(n==="]"){if(s&&r){let o=r.trim();if(/^\d+$/.test(o))t.push({type:"index",value:parseInt(o,10)});else if(o.startsWith('"')&&o.endsWith('"')||o.startsWith("'")&&o.endsWith("'")){let a=o.slice(1,-1);t.push({type:"property",value:a})}else t.push({type:"property",value:o});r=""}s=!1}else r+=n}return r&&t.push({type:"property",value:r}),t},K=(e,t,r)=>{if(!e)return;if(e in r)return r[e];let s=hs.get(e);if(!s){let n=[],o="",a=0;for(let l=0;l<e.length;l++){let p=e[l];p==="["?(a++,o+=p):p==="]"?(a--,o+=p):p==="."&&a===0?o&&(n.push(o),o=""):o+=p}o&&n.push(o),s=[];for(let l of n){let p=ya(l.trim());s.push(...p)}hs.set(e,s)}let i=t;for(let n=0;n<s.length;n++){let o=s[n];if(o.type==="property"&&o.value in r){i=r[o.value];continue}if(i==null)return;(o.type==="property"||o.type==="index")&&(i=i[o.value])}return i},ma=(e,t,r,s)=>{let i=[];for(let n of e)if(typeof n=="string")i.push(n);else{let o=I(n,t,r,s);i.push(o!=null?String(o):"")}return i.join("")},ds=(e,t,r,s)=>{let i=t.functions||t,n=i[e.name];if(!n)throw us(e.name,i);let o=e.args.map(a=>I(a,t,r,s));return n(...o)},we=(e,t,r,s)=>{if(e.var&&!e.type)return K(e.var,r,s);switch(e.type){case w.VARIABLE:return K(e.path,r,s);case w.LITERAL:return e.value;case w.BINARY:return fs(e,t,r,s);case w.UNARY:return ys(e,t,r,s);case w.FUNCTION:return ds(e,t,r,s);default:return I(e,t,r,s)}},fs=(e,t,r,s)=>{if(e.op===J.AND||e.op===J.OR){let o=we(e.left,t,r,s),a=we(e.right,t,r,s);switch(e.op){case J.AND:return o&&a;case J.OR:return o||a}}let i=I(e.left,t,r,s),n=I(e.right,t,r,s);switch(e.op){case J.EQ:return i==n;case J.NEQ:return i!=n;case J.GT:return i>n;case J.LT:return i<n;case J.GTE:return i>=n;case J.LTE:return i<=n;case J.IN:return Array.isArray(n)?n.includes(i):!1;case J.ADD:if(typeof i!="number"||typeof n!="number")throw new q(`Arithmetic operations require numbers. Got ${typeof i} + ${typeof n}`);return i+n;case J.SUBTRACT:if(typeof i!="number"||typeof n!="number")throw new q(`Arithmetic operations require numbers. Got ${typeof i} - ${typeof n}`);return i-n;default:throw new Error(`Unknown binary operator: ${e.op}`)}},ys=(e,t,r,s)=>{let i=e.op===Fe.NOT?we(e.operand,t,r,s):I(e.operand,t,r,s);switch(e.op){case Fe.NOT:return!i;default:throw new Error(`Unknown unary operator: ${e.op}`)}},ga=(e,t,r,s)=>{if(e.conditions.length===2&&e.conditions[1]===null){let i=e.conditions[0];if(i.type===w.VARIABLE)if(K(i.path,r,s)){let o=e.bodies[0];if(o.type===w.OBJECT&&o.properties.length<=5){let a={};for(let l of o.properties){let p=l.parsedKey?I(l.parsedKey,t,r,s):l.key,c=l.value;if(c.type===w.LITERAL)a[p]=c.value;else if(c.type===w.VARIABLE)a[p]=K(c.path,r,s);else if(c.type===w.INTERPOLATION){let u=[];for(let d of c.parts)if(typeof d=="string")u.push(d);else if(d.type===w.VARIABLE){let y=K(d.path,r,s);u.push(y!=null?String(y):"")}else{let y=I(d,t,r,s);u.push(y!=null?String(y):"")}a[p]=u.join("")}else a[p]=I(c,t,r,s)}return a}}else{let o=e.bodies[1];if(o.type===w.OBJECT&&o.properties.length<=5){let a={};for(let l of o.properties){let p=l.parsedKey?I(l.parsedKey,t,r,s):l.key,c=l.value;if(c.type===w.LITERAL)a[p]=c.value;else if(c.type===w.VARIABLE)a[p]=K(c.path,r,s);else if(c.type===w.INTERPOLATION){let u=[];for(let d of c.parts)if(typeof d=="string")u.push(d);else if(d.type===w.VARIABLE){let y=K(d.path,r,s);u.push(y!=null?String(y):"")}else{let y=I(d,t,r,s);u.push(y!=null?String(y):"")}a[p]=u.join("")}else a[p]=I(c,t,r,s)}return a}}}return null},va=(e,t,r,s)=>{let i=ga(e,t,r,s);if(i!==null)return i;for(let n=0;n<e.conditions.length;n++){let o=e.conditions[n];if(o===null||we(o,t,r,s))return I(e.bodies[n],t,r,s)}return ms},ba=(e,t)=>{let r=e.body,s=e.itemVar;if(r.type===w.CONDITIONAL&&r.conditions.length===1&&r.conditions[0].type===w.VARIABLE){let i=r.conditions[0].path,n=r.bodies[0];if(i.startsWith(s+".")){let o=i.substring(s.length+1);if(n.type===w.OBJECT&&n.properties.length<=5){for(let l of n.properties)if(l.parsedKey)return null;let a=[];for(let l=0;l<t.length;l++){let p=t[l];if(p[o]){let c={};for(let u of n.properties){let d=u.key,y=u.value;if(y.type===w.LITERAL)c[d]=y.value;else if(y.type===w.VARIABLE){let h=y.path;if(h===s)c[d]=p;else if(h.startsWith(s+".")){let f=h.substring(s.length+1);c[d]=p[f]}else return null}else if(y.type===w.INTERPOLATION){let h=[],f=!0;for(let m of y.parts)if(typeof m=="string")h.push(m);else if(m.type===w.VARIABLE){let v=m.path;if(v===s)h.push(p!=null?String(p):"");else if(v.startsWith(s+".")){let b=v.substring(s.length+1),x=p[b];h.push(x!=null?String(x):"")}else{f=!1;break}}else{f=!1;break}if(!f)return null;c[d]=h.join("")}else return null}a.push(c)}}return a}}}return null},wa=(e,t)=>{let r=e.body,s=e.itemVar,i=ba(e,t);if(i!==null)return i;if(r.type===w.OBJECT&&r.properties.length<=5){for(let a of r.properties)if(a.parsedKey)return null;let n=[],o=!0;for(let a of r.properties){let l=a.key,p=a.value;if(p.type===w.LITERAL)n.push({key:l,type:"literal",value:p.value});else if(p.type===w.VARIABLE){let c=p.path;if(c===s)n.push({key:l,type:"item"});else if(c.startsWith(s+".")){let u=c.substring(s.length+1);if(!u.includes(".")&&!u.includes("["))n.push({key:l,type:"prop",prop:u});else{o=!1;break}}else{o=!1;break}}else if(p.type===w.INTERPOLATION&&p.parts.length===1){let c=p.parts[0];if(c.type===w.VARIABLE){let u=c.path;if(u===s)n.push({key:l,type:"item_string"});else if(u.startsWith(s+".")){let d=u.substring(s.length+1);if(!d.includes(".")&&!d.includes("["))n.push({key:l,type:"prop_string",prop:d});else{o=!1;break}}else{o=!1;break}}else{o=!1;break}}else{o=!1;break}}if(o){let a=new Array(t.length);if(n.length===3&&n[0].type==="prop"&&n[0].key==="id"&&n[1].type==="prop_string"&&n[1].key==="title"&&n[2].type==="prop"&&n[2].key==="completed")for(let l=0;l<t.length;l++){let p=t[l];a[l]={id:p.id,title:p.title!=null?String(p.title):"",completed:p.completed}}else for(let l=0;l<t.length;l++){let p=t[l],c={};for(let u of n)if(u.type==="literal")c[u.key]=u.value;else if(u.type==="item")c[u.key]=p;else if(u.type==="prop")c[u.key]=p[u.prop];else if(u.type==="item_string")c[u.key]=p!=null?String(p):"";else if(u.type==="prop_string"){let d=p[u.prop];c[u.key]=d!=null?String(d):""}a[l]=c}return a}}return null},xa=(e,t,r,s,i)=>{let n=[],o=e.body;if(o.type===w.OBJECT&&o.fast!==!1){let a=e.itemVar,l=e.indexVar;for(let p=0;p<i.length;p++){let c=i[p],u={},d={...s,[a]:c,...l&&{[l]:p}};d.__paths__||(d.__paths__=s.__paths__||{});let y=e.iterable.path||"";if(s&&s.__paths__&&y){let h=y.split("."),f=h[0];f in s.__paths__&&(y=s.__paths__[f],h.length>1&&(y+="."+h.slice(1).join(".")))}d.__paths__={...d.__paths__,[a]:`${y}[${p}]`,...l&&{[l]:p}};for(let h of o.properties){let f=h.parsedKey?I(h.parsedKey,t,r,d):h.key,m=h.value;if(m.type===w.LITERAL)u[f]=m.value;else if(m.type===w.VARIABLE){let v=m.path;if(v===a)u[f]=c;else if(v===l)u[f]=p;else if(v.startsWith(a+".")){let b=v.substring(a.length+1);!b.includes(".")&&!b.includes("[")?u[f]=c[b]:u[f]=K(v,r,{...s,[a]:c,...l&&{[l]:p}})}else u[f]=K(v,r,{...s,[a]:c,...l&&{[l]:p}})}else if(m.type===w.INTERPOLATION){let v=[];for(let b of m.parts)if(typeof b=="string")v.push(b);else if(b.type===w.VARIABLE){let x=b.path,_;if(x===a)_=c;else if(x===l)_=p;else if(x.startsWith(a+".")){let A=x.substring(a.length+1);!A.includes(".")&&!A.includes("[")?_=c[A]:_=K(x,r,{...s,[a]:c,...l&&{[l]:p}})}else _=K(x,r,{...s,[a]:c,...l&&{[l]:p}});v.push(_!=null?String(_):"")}else{let x={...s,[a]:c,...l&&{[l]:p}},_=I(b,t,r,x);v.push(_!=null?String(_):"")}u[f]=v.join("")}else{let v={...s,[a]:c,...l&&{[l]:p}};u[f]=I(m,t,r,v)}}n.push(u)}return n}return null},_a=(e,t,r)=>{let s=e.body;if(s.type===w.OBJECT&&s.properties.length===1&&s.properties[0].key==="$if item.visible"){let n=s.properties[0].value;if(n.type===w.CONDITIONAL&&n.conditions.length===1&&n.conditions[0].type===w.VARIABLE&&n.conditions[0].path==="item.visible"){let o=n.bodies[0];if(o.type===w.OBJECT&&o.properties.length===2){let a=o.properties[0],l=o.properties[1];if(a.key==="id"&&a.value.type===w.VARIABLE&&a.value.path==="item.id"&&l.key==="$if item.highlighted"&&l.value.type===w.CONDITIONAL){let p=[];for(let c=0;c<t.length;c++){let u=t[c];if(u.visible){let d={id:u.id};u.highlighted?(d.highlight=!0,d.message=`This item is highlighted: ${u.name}`):(d.highlight=!1,d.message=u.name),p.push(d)}}return p}}}}return null},Ea=(e,t,r,s)=>{let i=I(e.iterable,t,r,s);if(!Array.isArray(i)){let p,c=!1;if(e.iterable.type===w.FUNCTION){c=!0;let d=e.iterable.args.map(y=>y.type===w.LITERAL?typeof y.value=="string"?`'${y.value}'`:String(y.value):y.type===w.VARIABLE?y.path:y.type===w.FUNCTION?`${y.name}(...)`:"?").join(", ");p=`${e.iterable.name}(${d})`}else p=e.iterable.path||"undefined";let u=`${e.itemVar}${e.indexVar?`, ${e.indexVar}`:""} in ${p}`;throw cs(u,i,c)}if(!e.indexVar){let p=_a(e,i,e.itemVar);if(p!==null)return p}if(!e.indexVar){let p=wa(e,i);if(p!==null)return p}let n=xa(e,t,r,s,i);if(n!==null)return n;let o=[],a=e.iterable.path||"";if(s&&s.__paths__&&a){let p=a.split("."),c=p[0];c in s.__paths__&&(a=s.__paths__[c],p.length>1&&(a+="."+p.slice(1).join(".")))}let l=!1;e.body.type===w.ARRAY&&(e.body.items.length<=1?l=!1:l=e.body._shouldPreserveArray??=e.body.items.some(p=>p.type===w.OBJECT&&p.properties.some(c=>c.key.startsWith("$if ")||c.key.startsWith("$when "))));for(let p=0;p<i.length;p++){let c=e.indexVar?{...s,[e.itemVar]:i[p],[e.indexVar]:p}:{...s,[e.itemVar]:i[p]};c.__paths__||(c.__paths__=s.__paths__||{}),c.__paths__={...c.__paths__,[e.itemVar]:`${a}[${p}]`},e.indexVar&&(c.__paths__[e.indexVar]=p);let u=I(e.body,t,r,c);Array.isArray(u)&&u.length===1&&!l?o.push(u[0]):o.push(u)}return o},Aa=(e,t,r,s)=>{if(e.whenCondition)return null;if(e.properties.length===1){let i=e.properties[0],n=i.parsedKey?I(i.parsedKey,t,r,s):i.key,o=i.value;if(o.type===w.OBJECT&&o.properties.length<=10&&!o.whenCondition){let a={},l={},p=!0;for(let c of o.properties){let u=c.parsedKey?I(c.parsedKey,t,r,s):c.key,d=c.value;if(d.type===w.LITERAL)l[u]=d.value;else if(d.type===w.VARIABLE)l[u]=K(d.path,r,s);else if(d.type===w.INTERPOLATION){let y=[];for(let h of d.parts)if(typeof h=="string")y.push(h);else if(h.type===w.VARIABLE){let f=K(h.path,r,s);y.push(f!=null?String(f):"")}else{p=!1;break}if(!p)break;l[u]=y.join("")}else if(d.type===w.OBJECT&&d.properties.length<=5){let y={};for(let h of d.properties){let f=h.key,m=h.value;if(m.type===w.LITERAL)y[f]=m.value;else if(m.type===w.VARIABLE)y[f]=K(m.path,r,s);else if(m.type===w.INTERPOLATION){let v=[];for(let b of m.parts)if(typeof b=="string")v.push(b);else if(b.type===w.VARIABLE){let x=K(b.path,r,s);v.push(x!=null?String(x):"")}else{p=!1;break}if(!p)break;y[f]=v.join("")}else{p=!1;break}}if(!p)break;l[u]=y}else{p=!1;break}}if(p)return a[n]=l,a}}return null},ka=(e,t,r,s)=>{let i=t.functions||t;if(e.whenCondition&&!we(e.whenCondition,i,r,s))return;let n=Aa(e,t,r,s);if(n!==null)return n;if(e.fast){let p={};for(let c of e.properties){let u=c.parsedKey?I(c.parsedKey,t,r,s):c.key,d=c.value;if(d.type===w.LITERAL)p[u]=d.value;else if(d.type===w.VARIABLE)p[u]=K(d.path,r,s);else if(d.type===w.INTERPOLATION){let y=[];for(let h of d.parts)if(typeof h=="string")y.push(h);else if(h.type===w.VARIABLE){let f=K(h.path,r,s);y.push(f!=null?String(f):"")}else{let f=I(h,t,r,s);y.push(f!=null?String(f):"")}p[u]=y.join("")}else p[u]=I(d,t,r,s)}return p}let o={},a=null,l=!1;for(let p of e.properties)if(!p.key.startsWith("$if ")&&!p.key.match(/^\$if\s+\w+.*:?$/)&&!p.key.startsWith("$elif")&&!p.key.startsWith("$else")&&!p.key.startsWith("$for ")){l=!0;break}for(let p of e.properties)if(p.key.startsWith("$if ")||p.key.match(/^\$if\s+\w+.*:?$/)){let c=I(p.value,t,r,s);if(!l&&c!==null&&c!==void 0)return Array.isArray(c)&&c.length===1?c[0]:c;typeof c=="object"&&c!==null&&!Array.isArray(c)&&Object.assign(o,c)}else if(p.key.startsWith("$for ")){if(e.properties.length===1)return I(p.value,t,r,s)}else{let c=p.value;if(c&&c.type===w.OBJECT&&c.properties){let u=c.properties.find(d=>d.key.startsWith("$for "));if(u){let d=I(u.value,t,r,s);d!==void 0&&(o[p.key]=d)}else{let d=I(p.value,t,r,s);d!==void 0&&(o[p.key]=d)}}else{let u=p.parsedKey?I(p.parsedKey,t,r,s):p.key,d=I(p.value,t,r,s);d!==void 0&&(o[u]=d)}}return o},ms={},Sa=(e,t,r,s)=>{let i=[];for(let n of e.items)if(n.type===w.LOOP){let o=I(n,t,r,s);i.push(o)}else{let o=I(n,t,r,s);o!==ms&&o!==void 0&&i.push(o)}return i},$a=(e,t,r,s)=>{let{name:i,data:n,whenCondition:o}=e,a=t.partials||{},l=t.functions||t;if(o&&!we(o,l,r,s))return;if(!a[i])throw new q(`Partial '${i}' is not defined`);let p=s._partialStack||[];if(p.includes(i))throw new q(`Circular partial reference detected: ${i}`);let c=a[i],u=r,d={...s,_partialStack:[...p,i]};if(s){u={...r};for(let y of Object.keys(s))y.startsWith("_")||(u[y]=s[y])}if(n){let y=I(n,t,r,s);u={...u,...y}}return I(c,t,u,d)},Ca=(e,t,r,s)=>{let{path:i}=e,n=i.split("."),o=n[0],a=n.slice(1);if(!s||!(o in s))throw new q(`Path reference '#{${i}}' refers to '${o}' which is not a loop variable in the current scope`);if(s.__paths__||(s.__paths__={}),!(o in s.__paths__))throw new q(`Path reference '#{${i}}' cannot be resolved - path tracking may not be initialized properly`);let l=s.__paths__[o];if(typeof l=="number"){if(a.length>0)throw new q(`Path reference '#{${i}}' - cannot access properties on index variable '${o}'`);return String(l)}return a.length>0&&(l+="."+a.join(".")),l},Ke=fa;var Ue=e=>Array.isArray(e)?e.reduce((t,r)=>{if(Array.isArray(r))t.push(...Ue(r));else{if(r&&typeof r=="object"){let s=Object.entries(r);if(s.length>0){let[i,n]=s[0];Array.isArray(n)&&(r={[i]:Ue(n)})}}t.push(r)}return t},[]):e;var gs=(e,t)=>{if(!t)return e;let r=[],s="",i=!1,n=null;for(let o=0;o<t.length;o++){let a=t[o];if(!i&&a===".")s&&(r.push(s),s="");else if(!i&&a==="[")s&&(r.push(s),s=""),i=!0;else if(i&&a==="]"){if(s){if(s.startsWith('"')&&s.endsWith('"')||s.startsWith("'")&&s.endsWith("'"))r.push(s.slice(1,-1));else{let l=Number(s);r.push(isNaN(l)?s:l)}s=""}i=!1,n=null}else i&&(a==='"'||a==="'")&&(n?a===n&&(n=null):n=a),s+=a}return s&&r.push(s),r.reduce((o,a)=>o&&o[a],e)},vs=({h:e,template:t,viewData:r,refs:s,handlers:i})=>{let n=Ke(t,r,{}),o=Ue(n),a=La({h:e,items:o,refs:s,handlers:i,viewData:r});return e("div",{style:{display:"contents"}},a)},La=({h:e,items:t,refs:r={},handlers:s={},viewData:i={}})=>{if(!Array.isArray(t))return console.error("Input to createVirtualDom must be an array."),[e("div",{},[])];function n(o,a=""){return o.map((l,p)=>{if(typeof l=="string"||typeof l=="number")return String(l);if(typeof l!="object"||l===null)return console.warn("Skipping invalid item in DOM structure:",l),null;let c=Object.entries(l);if(c.length===0)return null;let[u,d]=c[0];if(!isNaN(Number(u)))return Array.isArray(d)?n(d,`${a}.${u}`):typeof d=="object"&&d!==null&&Object.entries(d).length>0?n([d],`${a}.${u}`):String(d);c.length>1&&console.warn("Item has multiple keys, processing only the first:",u);let y,h,f=u.indexOf(" ");f===-1?(y=u,h=""):(y=u.substring(0,f),h=u.substring(f+1).trim());let m=y.split(/[.#]/)[0],v=m.includes("-"),b={},x={};if(h){let $=/(\S+?)=(?:\"([^\"]*)\"|\'([^\']*)\'|([^\s]+))/g,E,P=new Set;for(;(E=$.exec(h))!==null;)if(P.add(E[1]),E[1].startsWith(".")){let Q=E[1].substring(1),Ee=E[4];x[Q]=gs(i,Ee)}else if(E[1].startsWith("?")){let Q=E[1].substring(1),Ee=E[2]||E[3]||E[4],Oe;Ee==="true"?Oe=!0:Ee==="false"?Oe=!1:Oe=gs(i,Ee),Oe&&(b[Q]="")}else b[E[1]]=E[2]||E[3]||E[4];let W=h,U=[],re,Je=/(\S+?)=(?:\"([^\"]*)\"|\'([^\']*)\'|([^\s]+))/g;for(;(re=Je.exec(h))!==null;)U.push(re[0]);U.forEach(Q=>{W=W.replace(Q," ")});let qe=/\b(\S+?)(?=\s|$)/g,M;for(;(M=qe.exec(W))!==null;){let Q=M[1];!P.has(Q)&&!Q.startsWith(".")&&!Q.includes("=")&&(b[Q]="")}}let _=y.match(/#([^.#\s]+)/);_&&!Object.prototype.hasOwnProperty.call(b,"id")&&(b.id=_[1]);let A=null;b.id?A=b.id:v&&(A=m);let k=Object.create(null),C=null;if(v)C=m;else{let $=y.match(/\.([^.#]+)/g);$&&$.forEach(P=>{let W=P.substring(1);k[W]=!0});let E=y.match(/#([^.#\s]+)/);E&&(C=E[1])}let S;typeof d=="string"||typeof d=="number"?S=String(d):Array.isArray(d)?S=n(d,`${a}.${u}`):S=[],C&&!v&&(b.id=C);let L=Object.create(null);if(A&&r){let $=[];if(Object.keys(r).forEach(E=>{if(E.includes("*")){let P="^"+E.replace(/[.*+?^${}()|[\\\]\\]/g,"\\$&").replace(/\\\*/g,".*")+"$";try{new RegExp(P).test(A)&&$.push(E)}catch(W){console.warn(`[Parser] Invalid regex pattern created from refKey '${E}': ${P}`,W)}}else A===E&&$.push(E)}),$.length>0){$.sort((P,W)=>{let U=!P.includes("*"),re=!W.includes("*");return U&&!re?-1:!U&&re?1:W.length-P.length});let E=$[0];if(r[E]&&r[E].eventListeners){let P=r[E].eventListeners;Object.entries(P).forEach(([W,U])=>{U.handler&&s[U.handler]?L[W]=re=>{s[U.handler](re)}:U.handler&&console.warn(`[Parser] Handler '${U.handler}' for refKey '${E}' (matching elementId '${A}') is referenced but not found in available handlers.`)})}}}let V={};if(A)V.key=A;else if(y){let $=a?`${a}.${p}`:String(p);if(V.key=`${y}-${$}`,Object.keys(x).length>0){let E=JSON.stringify(x).substring(0,50);V.key+=`-${E}`}}Object.keys(b).length>0&&(V.attrs=b),Object.keys(k).length>0&&(V.class=k),Object.keys(L).length>0&&(V.on=L),Object.keys(x).length>0&&(V.props=x),v&&(V.hook={update:($,E)=>{let P=$.data?.props||{},W=E.data?.props||{},U=$.data?.attrs||{},re=E.data?.attrs||{},Je=JSON.stringify(P)!==JSON.stringify(W),qe=JSON.stringify(U)!==JSON.stringify(re);if(Je||qe){let M=E.elm;M&&M.render&&typeof M.render=="function"&&(M.setAttribute("isDirty","true"),requestAnimationFrame(()=>{if(M.render(),M.removeAttribute("isDirty"),M.handlers&&M.handlers.handleOnUpdate){let Q={...M.deps||{},store:M.store,render:M.render.bind(M),handlers:M.handlers,dispatchEvent:M.dispatchEvent.bind(M),refIds:M.refIds||{},getRefIds:()=>M.refIds||{}};M.handlers.handleOnUpdate({oldProps:P,newProps:W,oldAttrs:U,newAttrs:re},Q)}}))}}});try{return e(m,V,S)}catch($){return console.error("Error creating virtual node:",$,{tagName:m,snabbdomData:V,childrenOrText:S}),e("div",{},["Error creating element"])}}).filter(Boolean)}return n(t)};var Na=(e,t)=>{if(!t||typeof t!="object")return"";let r="",s=n=>Object.entries(n).map(([o,a])=>` ${o}: ${a};`).join(`
926
+ `))}constructor(){super(),e.initializeStyleSheet(),this.shadow=this.attachShadow({mode:"open"}),this.shadow.adoptedStyleSheets=[e.styleSheet],this._popoverOverlay=document.createElement("div"),this._popoverOverlay.className="popover-overlay",this.shadow.appendChild(this._popoverOverlay),this._popoverOverlay.addEventListener("click",()=>{this.dispatchEvent(new CustomEvent("close",{detail:{}}))}),this._popoverOverlay.addEventListener("contextmenu",t=>{t.preventDefault(),this.dispatchEvent(new CustomEvent("close",{detail:{}}))}),this._popoverContainer=document.createElement("div"),this._popoverContainer.className="popover-container",this.shadow.appendChild(this._popoverContainer),this._slotElement=null,this._isOpen=!1,this._handleEscKey=this._handleEscKey.bind(this)}static get observedAttributes(){return["open","x","y","placement","no-overlay"]}connectedCallback(){this.hasAttribute("open")&&this._show()}disconnectedCallback(){this._removeGlobalListeners()}attributeChangedCallback(t,r,s){t==="open"?s!==null&&!this._isOpen?this._show():s===null&&this._isOpen&&this._hide():(t==="x"||t==="y"||t==="placement")&&this._isOpen&&this._updatePosition()}_show(){this._isOpen||(this._slotElement||(this._slotElement=document.createElement("slot"),this._slotElement.setAttribute("name","content"),this._popoverContainer.appendChild(this._slotElement)),this._isOpen=!0,this._updatePosition(),this._addGlobalListeners())}_hide(){this._isOpen&&(this._isOpen=!1,this._slotElement&&(this._popoverContainer.removeChild(this._slotElement),this._slotElement=null),this._removeGlobalListeners())}_updatePosition(){let t=parseFloat(this.getAttribute("x")||"0"),r=parseFloat(this.getAttribute("y")||"0"),s=this.getAttribute("placement")||"bottom-start";this.removeAttribute("positioned"),requestAnimationFrame(()=>{let i=this._popoverContainer.getBoundingClientRect(),{left:n,top:o}=this._calculatePosition(t,r,i.width,i.height,s);this._popoverContainer.style.left=`${n}px`,this._popoverContainer.style.top=`${o}px`,requestAnimationFrame(()=>{this.setAttribute("positioned","")})})}_calculatePosition(t,r,s,i,n){let a=t,l=r;switch(n){case"top":a=t-s/2,l=r-i-8;break;case"top-start":a=t,l=r-i-8;break;case"top-end":a=t-s,l=r-i-8;break;case"right":a=t+8,l=r-i/2;break;case"right-start":a=t+8,l=r;break;case"right-end":a=t+8,l=r-i;break;case"bottom":a=t-s/2,l=r+8;break;case"bottom-start":a=t,l=r+8;break;case"bottom-end":a=t-s,l=r+8;break;case"left":a=t-s-8,l=r-i/2;break;case"left-start":a=t-s-8,l=r;break;case"left-end":a=t-s-8,l=r-i;break}let p=8;return a=Math.max(p,Math.min(a,window.innerWidth-s-p)),l=Math.max(p,Math.min(l,window.innerHeight-i-p)),{left:a,top:l}}_addGlobalListeners(){setTimeout(()=>{document.addEventListener("keydown",this._handleEscKey)},0)}_removeGlobalListeners(){document.removeEventListener("keydown",this._handleEscKey)}_handleEscKey(t){t.key==="Escape"&&this.dispatchEvent(new CustomEvent("close",{detail:{}}))}get popover(){return this._popoverContainer}},xr=({render:e,html:t})=>nt;var ot={};R(ot,{handleClickItem:()=>Gs});var Gs=(e,t)=>{let{dispatchEvent:r}=t,s=e.currentTarget.dataset.id;r(new CustomEvent("item-click",{detail:{id:s}}))};var at={};R(at,{INITIAL_STATE:()=>Ys,toViewData:()=>Zs});var Ys=Object.freeze({}),Xs=["id","class","style","slot"],Qs=e=>Object.entries(e).filter(([t])=>!Xs.includes(t)).map(([t,r])=>`${t}=${r}`).join(" "),Zs=({props:e,attrs:t})=>{let r=Qs(t),s=e.items||[],i=e.separator||"breadcrumb-arrow",n=[];return s.forEach((o,a)=>{n.push(o),a<s.length-1&&n.push({isSeparator:!0})}),{containerAttrString:r,items:n,separator:i}};var _r={elementName:"rtgl-breadcrumb",viewDataSchema:{type:"object",properties:{containerAttrString:{type:"string"},items:{type:"array",items:{type:"object",properties:{label:{type:"string"},id:{type:"string"}}}},separator:{type:"string"}}},propsSchema:{type:"object",properties:{items:{type:"array",items:{type:"object",properties:{label:{type:"string"},id:{type:"string"}}}},separator:{type:"string",default:"breadcrumb-arrow"}}},refs:{"item-*":{eventListeners:{click:{handler:"handleClickItem"}}}},events:{"item-click":{type:"object",properties:{item:{type:"object",properties:{label:{type:"string"},id:{type:"string"}}},index:{type:"number"}}}},template:{type:9,items:[{type:8,properties:[{key:"rtgl-view d=h av=c g=md p=sm ${containerAttrString}",value:{type:9,items:[{type:7,itemVar:"item",indexVar:null,iterable:{type:1,path:"items"},body:{type:9,items:[{type:8,properties:[{key:"$if item.isSeparator",value:{type:6,conditions:[{type:1,path:"item.isSeparator"},{type:1,path:"item.id"},null],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-svg wh=16 svg=${separator} c=mu-fg",value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-svg wh=16 svg=",{type:1,path:"separator"}," c=mu-fg"]}}],fast:!0}],fast:!0},{type:9,items:[{type:8,properties:[{key:"rtgl-view#item-${item.id} data-id=${item.id} cur=p",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text s=sm c=mu-fg",value:{type:1,path:"item.label"}}],fast:!0}],fast:!0},parsedKey:{type:2,parts:["rtgl-view#item-",{type:1,path:"item.id"}," data-id=",{type:1,path:"item.id"}," cur=p"]}}],fast:!0}],fast:!0},{type:9,items:[{type:8,properties:[{key:"rtgl-text s=sm c=mu-fg",value:{type:1,path:"item.label"}}],fast:!0}],fast:!0}],id:null}}],fast:!1}],fast:!1}}],fast:!1},parsedKey:{type:2,parts:["rtgl-view d=h av=c g=md p=sm ",{type:1,path:"containerAttrString"}]}}],fast:!1}],fast:!1}};var lt={};R(lt,{handleClickMenuItem:()=>ti,handleClosePopover:()=>ei});var ei=(e,t)=>{let{dispatchEvent:r}=t;r(new CustomEvent("close"))},ti=(e,t)=>{let{dispatchEvent:r}=t,s=parseInt(e.currentTarget.id.replace("option-","")),i=t.props.items[s];r(new CustomEvent("click-item",{detail:{index:s,item:i}}))};var pt={};R(pt,{INITIAL_STATE:()=>ri,toViewData:()=>si});var ri=Object.freeze({}),si=({props:e,attrs:t})=>({items:e.items||[],open:!!t.open,x:t.x,y:t.y,placement:t.placement});var Er={elementName:"rtgl-dropdown-menu",viewDataSchema:{type:"object"},propsSchema:{type:"object",properties:{items:{type:"array",items:{type:"object",properties:{label:{type:"string"},type:{type:"string",enum:["label","item","separator"]}}}}}},attrsSchema:{type:"object",properties:{open:{type:"string"},x:{type:"string"},y:{type:"string"},placement:{type:"string"}}},refs:{popover:{eventListeners:{close:{handler:"handleClosePopover"}}},"option-*":{eventListeners:{click:{handler:"handleClickMenuItem"}}}},template:{type:9,items:[{type:8,properties:[{key:"rtgl-popover#popover ?open=${open} x=${x} y=${y} placement=${placement}",value:{type:9,items:[{type:8,properties:[{key:"rtgl-view wh=300 g=xs slot=content bgc=background br=md",value:{type:9,items:[{type:7,itemVar:"item",indexVar:"i",iterable:{type:1,path:"items"},body:{type:9,items:[{type:8,properties:[{key:"$if item.type == 'label'",value:{type:6,conditions:[{type:4,op:0,left:{type:1,path:"item.type"},right:{type:0,value:"label"}},{type:4,op:0,left:{type:1,path:"item.type"},right:{type:0,value:"item"}},{type:4,op:0,left:{type:1,path:"item.type"},right:{type:0,value:"separator"}}],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-view w=f ph=lg pv=md",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text s=sm c=mu-fg",value:{type:1,path:"item.label"}}],fast:!0}],fast:!0}}],fast:!0}],fast:!0},{type:9,items:[{type:8,properties:[{key:"rtgl-view#option-${i} w=f h-bgc=ac ph=lg pv=md cur=p br=md bgc=mu",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text",value:{type:1,path:"item.label"}}],fast:!0}],fast:!0},parsedKey:{type:2,parts:["rtgl-view#option-",{type:1,path:"i"}," w=f h-bgc=ac ph=lg pv=md cur=p br=md bgc=mu"]}}],fast:!0}],fast:!0},{type:9,items:[{type:8,properties:[{key:"rtgl-view w=f h=1 ph=lg mv=md bgc=bo",value:{type:0,value:null}}],fast:!0}],fast:!0}],id:null}}],fast:!1}],fast:!1}}],fast:!1}}],fast:!1}],fast:!1},parsedKey:{type:2,parts:["rtgl-popover#popover ?open=",{type:1,path:"open"}," x=",{type:1,path:"x"}," y=",{type:1,path:"y"}," placement=",{type:1,path:"placement"}]}}],fast:!1}],fast:!1}};var ct={};R(ct,{handleActionClick:()=>oi,handleBeforeMount:()=>ii,handleColorPickerChange:()=>ci,handleImageClick:()=>di,handleInputChange:()=>ai,handleOnUpdate:()=>ni,handlePopoverInputChange:()=>li,handleSelectAddOption:()=>yi,handleSelectChange:()=>pi,handleSliderChange:()=>ui,handleSliderInputChange:()=>hi,handleTooltipMouseEnter:()=>mi,handleTooltipMouseLeave:()=>gi,handleWaveformClick:()=>fi});var ii=e=>{let{store:t,props:r}=e;t.setFormValues(r.defaultValues)},ni=(e,t)=>{let{oldAttrs:r,newAttrs:s}=e,{store:i,props:n,render:o}=t;r?.key!==s?.key&&(i.setFormValues(n.defaultValues),o())},me=(e,t,r,s)=>{s(new CustomEvent("form-change",{detail:{name:e,fieldValue:t,formValues:r}}))},oi=(e,t)=>{let{store:r,dispatchEvent:s}=t,i=e.currentTarget.id.replace("action-","");s(new CustomEvent("action-click",{detail:{actionId:i,formValues:r.selectFormValues()}}))},ai=(e,t)=>{let{store:r,dispatchEvent:s,props:i}=t,n=e.currentTarget.id.replace("input-","");n&&e.detail.value!==void 0&&(r.setFormFieldValue({name:n,value:e.detail.value,props:i}),me(n,e.detail.value,r.selectFormValues(),s))},li=(e,t)=>{let{store:r,dispatchEvent:s,props:i}=t,n=e.currentTarget.id.replace("popover-input-","");n&&e.detail.value!==void 0&&(r.setFormFieldValue({name:n,value:e.detail.value,props:i}),me(n,e.detail.value,r.selectFormValues(),s))},pi=(e,t)=>{let{store:r,dispatchEvent:s,render:i,props:n}=t,o=e.currentTarget.id.replace("select-","");o&&e.detail.selectedValue!==void 0&&(r.setFormFieldValue({name:o,value:e.detail.selectedValue,props:n}),me(o,e.detail.selectedValue,r.selectFormValues(),s),i())},ci=(e,t)=>{let{store:r,dispatchEvent:s,props:i}=t,n=e.currentTarget.id.replace("colorpicker-","");n&&e.detail.value!==void 0&&(r.setFormFieldValue({name:n,value:e.detail.value,props:i}),me(n,e.detail.value,r.selectFormValues(),s))},ui=(e,t)=>{let{store:r,dispatchEvent:s,props:i}=t,n=e.currentTarget.id.replace("slider-","");n&&e.detail.value!==void 0&&(r.setFormFieldValue({name:n,value:e.detail.value,props:i}),me(n,e.detail.value,r.selectFormValues(),s))},hi=(e,t)=>{let{store:r,dispatchEvent:s,props:i}=t,n=e.currentTarget.id.replace("slider-input-","");n&&e.detail.value!==void 0&&(r.setFormFieldValue({name:n,value:e.detail.value,props:i}),me(n,e.detail.value,r.selectFormValues(),s))},di=(e,t)=>{e.type==="contextmenu"&&e.preventDefault();let{dispatchEvent:r}=t,s=e.currentTarget.id.replace("image-","");r(new CustomEvent("extra-event",{detail:{name:s,x:e.clientX,y:e.clientY,trigger:e.type}}))},fi=(e,t)=>{e.type==="contextmenu"&&e.preventDefault();let{dispatchEvent:r}=t,s=e.currentTarget.id.replace("waveform-","");r(new CustomEvent("extra-event",{detail:{name:s,x:e.clientX,y:e.clientY,trigger:e.type}}))},yi=(e,t)=>{let{store:r,dispatchEvent:s}=t,i=e.currentTarget.id.replace("select-","");s(new CustomEvent("action-click",{detail:{actionId:"select-options-add",name:i,formValues:r.selectFormValues()}}))},mi=(e,t)=>{let{store:r,render:s,props:i}=t,n=e.currentTarget.id.replace("tooltip-icon-",""),a=i.form.fields.find(l=>l.name===n);if(a&&a.tooltip){let l=e.currentTarget.getBoundingClientRect();r.showTooltip({x:l.left+l.width/2,y:l.top-8,content:a.tooltip.content}),s()}},gi=(e,t)=>{let{store:r,render:s}=t;r.hideTooltip(),s()};var vt={};R(vt,{INITIAL_STATE:()=>zi,getFormFieldValue:()=>Qi,hideTooltip:()=>rn,selectForm:()=>Ve,selectFormValues:()=>Xi,selectState:()=>Yi,setFormFieldValue:()=>en,setFormValues:()=>Zi,showTooltip:()=>tn,toViewData:()=>Gi});var g={LITERAL:0,VARIABLE:1,INTERPOLATION:2,FUNCTION:3,BINARY:4,UNARY:5,CONDITIONAL:6,LOOP:7,OBJECT:8,ARRAY:9},B={EQ:0,NEQ:1,GT:2,LT:3,GTE:4,LTE:5,AND:6,OR:7,IN:8},ke={NOT:0};var j=class extends Error{constructor(t){super(`Parse Error: ${t}`),this.name="JemplParseError"}},ge=class extends Error{constructor(t){super(`Render Error: ${t}`),this.name="JemplRenderError"}};var ut=e=>{if(!e||e.trim()==="")throw new j("Missing condition expression after '$if'");if(e.includes("===")||e.includes("!==")){let r=e.includes("===")?"==":"!=";throw new j(`Invalid comparison operator '${e.includes("===")?"===":"!=="}' - did you mean '${r}'? (got: '${e}')`)}let t=["<",">","<=",">=","==","!="];for(let r of t)if(e.trim().endsWith(r))throw new j(`Incomplete comparison expression - missing right operand (got: '${e}')`)},Ar=e=>{if(e.trim().endsWith(" in"))throw new j(`Missing iterable expression after 'in' (got: '$for ${e}')`);if(!e.includes(" in "))throw new j(`Invalid loop syntax - missing 'in' keyword (got: '$for ${e}')`);let[t,r]=e.split(" in ");if(!r||r.trim()==="")throw new j(`Missing iterable expression after 'in' (got: '$for ${e}')`);if(t.includes(",")){let s=t.split(",").map(i=>i.trim());for(let i of s)if(!i)throw new j(`Invalid loop variable - variable name cannot be empty (got: '$for ${e}')`)}else if(!t.trim())throw new j(`Invalid loop variable - variable name cannot be empty (got: '$for ${e}')`)};var kr=(e,t)=>{if(t===null)return new ge(`Cannot iterate over null value at '$for ${e}'`);if(t===void 0)return new ge(`Cannot iterate over undefined value at '$for ${e}'`);let r=typeof t;return new ge(`Cannot iterate over non-array value (got: ${r}) at '$for ${e}'`)},Sr=(e,t)=>{let r=t&&Object.keys(t).length>0?Object.keys(t).join(", "):"no custom functions provided";return new ge(`Unknown function '${e}' (${r})`)};var vi=(e,t,r={})=>{let s=T(e,r,t,{});return s===void 0?{}:s},T=(e,t,r,s)=>{if(e.var&&!e.type)return F(e.var,r,s);if(e.type===g.LITERAL)return e.value;if(e.type===g.VARIABLE)return F(e.path,r,s);if(e.type===g.INTERPOLATION)return wi(e.parts,t,r,s);switch(e.type){case g.FUNCTION:return Cr(e,t,r,s);case g.BINARY:return Ir(e,t,r,s);case g.UNARY:return Or(e,t,r,s);case g.CONDITIONAL:return _i(e,t,r,s);case g.LOOP:return $i(e,t,r,s);case g.OBJECT:return Ii(e,t,r,s);case g.ARRAY:return Oi(e,t,r,s);default:throw new Error(`Unknown node type: ${e.type}`)}},$r=new Map,bi=e=>{let t=[],r="",s=!1;for(let i=0;i<e.length;i++){let n=e[i];if(n==="[")r&&(t.push({type:"property",value:r}),r=""),s=!0;else if(n==="]"){if(s&&r){let o=r.trim();/^\d+$/.test(o)?t.push({type:"index",value:parseInt(o,10)}):t.push({type:"property",value:`[${r}]`}),r=""}s=!1}else r+=n}return r&&t.push({type:"property",value:r}),t},F=(e,t,r)=>{if(!e)return;if(e in r)return r[e];let s=$r.get(e);if(!s){let n=[],o="",a=0;for(let l=0;l<e.length;l++){let p=e[l];p==="["?(a++,o+=p):p==="]"?(a--,o+=p):p==="."&&a===0?o&&(n.push(o),o=""):o+=p}o&&n.push(o),s=[];for(let l of n){let p=bi(l.trim());s.push(...p)}$r.set(e,s)}let i=t;for(let n=0;n<s.length;n++){let o=s[n];if(o.type==="property"&&o.value in r){i=r[o.value];continue}if(i==null)return;(o.type==="property"||o.type==="index")&&(i=i[o.value])}return i},wi=(e,t,r,s)=>{let i=[];for(let n of e)if(typeof n=="string")i.push(n);else{let o=T(n,t,r,s);i.push(o!=null?String(o):"")}return i.join("")},Cr=(e,t,r,s)=>{let i=t[e.name];if(!i)throw Sr(e.name,t);let n=e.args.map(o=>T(o,t,r,s));return i(...n)},Se=(e,t,r,s)=>{if(e.var&&!e.type)return F(e.var,r,s);switch(e.type){case g.VARIABLE:return F(e.path,r,s);case g.LITERAL:return e.value;case g.BINARY:return Ir(e,t,r,s);case g.UNARY:return Or(e,t,r,s);case g.FUNCTION:return Cr(e,t,r,s);default:return T(e,t,r,s)}},Ir=(e,t,r,s)=>{if(e.op===B.AND||e.op===B.OR){let o=Se(e.left,t,r,s),a=Se(e.right,t,r,s);switch(e.op){case B.AND:return o&&a;case B.OR:return o||a}}let i=T(e.left,t,r,s),n=T(e.right,t,r,s);switch(e.op){case B.EQ:return i==n;case B.NEQ:return i!=n;case B.GT:return i>n;case B.LT:return i<n;case B.GTE:return i>=n;case B.LTE:return i<=n;case B.IN:return Array.isArray(n)?n.includes(i):!1;default:throw new Error(`Unknown binary operator: ${e.op}`)}},Or=(e,t,r,s)=>{let i=e.op===ke.NOT?Se(e.operand,t,r,s):T(e.operand,t,r,s);switch(e.op){case ke.NOT:return!i;default:throw new Error(`Unknown unary operator: ${e.op}`)}},xi=(e,t,r,s)=>{if(e.conditions.length===2&&e.conditions[1]===null){let i=e.conditions[0];if(i.type===g.VARIABLE)if(F(i.path,r,s)){let o=e.bodies[0];if(o.type===g.OBJECT&&o.properties.length<=5){let a={};for(let l of o.properties){let p=l.parsedKey?T(l.parsedKey,t,r,s):l.key,c=l.value;if(c.type===g.LITERAL)a[p]=c.value;else if(c.type===g.VARIABLE)a[p]=F(c.path,r,s);else if(c.type===g.INTERPOLATION){let u=[];for(let d of c.parts)if(typeof d=="string")u.push(d);else if(d.type===g.VARIABLE){let y=F(d.path,r,s);u.push(y!=null?String(y):"")}else{let y=T(d,t,r,s);u.push(y!=null?String(y):"")}a[p]=u.join("")}else a[p]=T(c,t,r,s)}return a}}else{let o=e.bodies[1];if(o.type===g.OBJECT&&o.properties.length<=5){let a={};for(let l of o.properties){let p=l.parsedKey?T(l.parsedKey,t,r,s):l.key,c=l.value;if(c.type===g.LITERAL)a[p]=c.value;else if(c.type===g.VARIABLE)a[p]=F(c.path,r,s);else if(c.type===g.INTERPOLATION){let u=[];for(let d of c.parts)if(typeof d=="string")u.push(d);else if(d.type===g.VARIABLE){let y=F(d.path,r,s);u.push(y!=null?String(y):"")}else{let y=T(d,t,r,s);u.push(y!=null?String(y):"")}a[p]=u.join("")}else a[p]=T(c,t,r,s)}return a}}}return null},_i=(e,t,r,s)=>{let i=xi(e,t,r,s);if(i!==null)return i;for(let n=0;n<e.conditions.length;n++){let o=e.conditions[n];if(o===null||Se(o,t,r,s))return T(e.bodies[n],t,r,s)}return Tr},Ei=(e,t)=>{let r=e.body,s=e.itemVar;if(r.type===g.CONDITIONAL&&r.conditions.length===1&&r.conditions[0].type===g.VARIABLE){let i=r.conditions[0].path,n=r.bodies[0];if(i.startsWith(s+".")){let o=i.substring(s.length+1);if(n.type===g.OBJECT&&n.properties.length<=5){for(let l of n.properties)if(l.parsedKey)return null;let a=[];for(let l=0;l<t.length;l++){let p=t[l];if(p[o]){let c={};for(let u of n.properties){let d=u.key,y=u.value;if(y.type===g.LITERAL)c[d]=y.value;else if(y.type===g.VARIABLE){let h=y.path;if(h===s)c[d]=p;else if(h.startsWith(s+".")){let f=h.substring(s.length+1);c[d]=p[f]}else return null}else if(y.type===g.INTERPOLATION){let h=[],f=!0;for(let m of y.parts)if(typeof m=="string")h.push(m);else if(m.type===g.VARIABLE){let v=m.path;if(v===s)h.push(p!=null?String(p):"");else if(v.startsWith(s+".")){let b=v.substring(s.length+1),x=p[b];h.push(x!=null?String(x):"")}else{f=!1;break}}else{f=!1;break}if(!f)return null;c[d]=h.join("")}else return null}a.push(c)}}return a}}}return null},Ai=(e,t)=>{let r=e.body,s=e.itemVar,i=Ei(e,t);if(i!==null)return i;if(r.type===g.OBJECT&&r.properties.length<=5){for(let a of r.properties)if(a.parsedKey)return null;let n=[],o=!0;for(let a of r.properties){let l=a.key,p=a.value;if(p.type===g.LITERAL)n.push({key:l,type:"literal",value:p.value});else if(p.type===g.VARIABLE){let c=p.path;if(c===s)n.push({key:l,type:"item"});else if(c.startsWith(s+".")){let u=c.substring(s.length+1);if(!u.includes(".")&&!u.includes("["))n.push({key:l,type:"prop",prop:u});else{o=!1;break}}else{o=!1;break}}else if(p.type===g.INTERPOLATION&&p.parts.length===1){let c=p.parts[0];if(c.type===g.VARIABLE){let u=c.path;if(u===s)n.push({key:l,type:"item_string"});else if(u.startsWith(s+".")){let d=u.substring(s.length+1);if(!d.includes(".")&&!d.includes("["))n.push({key:l,type:"prop_string",prop:d});else{o=!1;break}}else{o=!1;break}}else{o=!1;break}}else{o=!1;break}}if(o){let a=new Array(t.length);if(n.length===3&&n[0].type==="prop"&&n[0].key==="id"&&n[1].type==="prop_string"&&n[1].key==="title"&&n[2].type==="prop"&&n[2].key==="completed")for(let l=0;l<t.length;l++){let p=t[l];a[l]={id:p.id,title:p.title!=null?String(p.title):"",completed:p.completed}}else for(let l=0;l<t.length;l++){let p=t[l],c={};for(let u of n)if(u.type==="literal")c[u.key]=u.value;else if(u.type==="item")c[u.key]=p;else if(u.type==="prop")c[u.key]=p[u.prop];else if(u.type==="item_string")c[u.key]=p!=null?String(p):"";else if(u.type==="prop_string"){let d=p[u.prop];c[u.key]=d!=null?String(d):""}a[l]=c}return a}}return null},ki=(e,t,r,s,i)=>{let n=[],o=e.body;if(o.type===g.OBJECT&&o.fast!==!1){let a=e.itemVar,l=e.indexVar;for(let p=0;p<i.length;p++){let c=i[p],u={},d={...s,[a]:c,...l&&{[l]:p}};for(let y of o.properties){let h=y.parsedKey?T(y.parsedKey,t,r,d):y.key,f=y.value;if(f.type===g.LITERAL)u[h]=f.value;else if(f.type===g.VARIABLE){let m=f.path;if(m===a)u[h]=c;else if(m===l)u[h]=p;else if(m.startsWith(a+".")){let v=m.substring(a.length+1);!v.includes(".")&&!v.includes("[")?u[h]=c[v]:u[h]=F(m,r,{...s,[a]:c,...l&&{[l]:p}})}else u[h]=F(m,r,{...s,[a]:c,...l&&{[l]:p}})}else if(f.type===g.INTERPOLATION){let m=[];for(let v of f.parts)if(typeof v=="string")m.push(v);else if(v.type===g.VARIABLE){let b=v.path,x;if(b===a)x=c;else if(b===l)x=p;else if(b.startsWith(a+".")){let _=b.substring(a.length+1);!_.includes(".")&&!_.includes("[")?x=c[_]:x=F(b,r,{...s,[a]:c,...l&&{[l]:p}})}else x=F(b,r,{...s,[a]:c,...l&&{[l]:p}});m.push(x!=null?String(x):"")}else{let b={...s,[a]:c,...l&&{[l]:p}},x=T(v,t,r,b);m.push(x!=null?String(x):"")}u[h]=m.join("")}else{let m={...s,[a]:c,...l&&{[l]:p}};u[h]=T(f,t,r,m)}}n.push(u)}return n}return null},Si=(e,t,r)=>{let s=e.body;if(s.type===g.OBJECT&&s.properties.length===1&&s.properties[0].key==="$if item.visible"){let n=s.properties[0].value;if(n.type===g.CONDITIONAL&&n.conditions.length===1&&n.conditions[0].type===g.VARIABLE&&n.conditions[0].path==="item.visible"){let o=n.bodies[0];if(o.type===g.OBJECT&&o.properties.length===2){let a=o.properties[0],l=o.properties[1];if(a.key==="id"&&a.value.type===g.VARIABLE&&a.value.path==="item.id"&&l.key==="$if item.highlighted"&&l.value.type===g.CONDITIONAL){let p=[];for(let c=0;c<t.length;c++){let u=t[c];if(u.visible){let d={id:u.id};u.highlighted?(d.highlight=!0,d.message=`This item is highlighted: ${u.name}`):(d.highlight=!1,d.message=u.name),p.push(d)}}return p}}}}return null},$i=(e,t,r,s)=>{let i=T(e.iterable,t,r,s);if(!Array.isArray(i)){let a=`${e.itemVar}${e.indexVar?`, ${e.indexVar}`:""} in ${e.iterable.path}`;throw kr(a,i)}if(!e.indexVar){let a=Si(e,i,e.itemVar);if(a!==null)return a}if(!e.indexVar){let a=Ai(e,i);if(a!==null)return a}let n=ki(e,t,r,s,i);if(n!==null)return n;let o=[];for(let a=0;a<i.length;a++){let l=e.indexVar?{...s,[e.itemVar]:i[a],[e.indexVar]:a}:{...s,[e.itemVar]:i[a]},p=T(e.body,t,r,l);Array.isArray(p)&&p.length===1?o.push(p[0]):o.push(p)}return o},Ci=(e,t,r,s)=>{if(e.whenCondition)return null;if(e.properties.length===1){let i=e.properties[0],n=i.parsedKey?T(i.parsedKey,t,r,s):i.key,o=i.value;if(o.type===g.OBJECT&&o.properties.length<=10&&!o.whenCondition){let a={},l={},p=!0;for(let c of o.properties){let u=c.parsedKey?T(c.parsedKey,t,r,s):c.key,d=c.value;if(d.type===g.LITERAL)l[u]=d.value;else if(d.type===g.VARIABLE)l[u]=F(d.path,r,s);else if(d.type===g.INTERPOLATION){let y=[];for(let h of d.parts)if(typeof h=="string")y.push(h);else if(h.type===g.VARIABLE){let f=F(h.path,r,s);y.push(f!=null?String(f):"")}else{p=!1;break}if(!p)break;l[u]=y.join("")}else if(d.type===g.OBJECT&&d.properties.length<=5){let y={};for(let h of d.properties){let f=h.key,m=h.value;if(m.type===g.LITERAL)y[f]=m.value;else if(m.type===g.VARIABLE)y[f]=F(m.path,r,s);else if(m.type===g.INTERPOLATION){let v=[];for(let b of m.parts)if(typeof b=="string")v.push(b);else if(b.type===g.VARIABLE){let x=F(b.path,r,s);v.push(x!=null?String(x):"")}else{p=!1;break}if(!p)break;y[f]=v.join("")}else{p=!1;break}}if(!p)break;l[u]=y}else{p=!1;break}}if(p)return a[n]=l,a}}return null},Ii=(e,t,r,s)=>{if(e.whenCondition&&!Se(e.whenCondition,t,r,s))return;let i=Ci(e,t,r,s);if(i!==null)return i;if(e.fast){let l={};for(let p of e.properties){let c=p.parsedKey?T(p.parsedKey,t,r,s):p.key,u=p.value;if(u.type===g.LITERAL)l[c]=u.value;else if(u.type===g.VARIABLE)l[c]=F(u.path,r,s);else if(u.type===g.INTERPOLATION){let d=[];for(let y of u.parts)if(typeof y=="string")d.push(y);else if(y.type===g.VARIABLE){let h=F(y.path,r,s);d.push(h!=null?String(h):"")}else{let h=T(y,t,r,s);d.push(h!=null?String(h):"")}l[c]=d.join("")}else l[c]=T(u,t,r,s)}return l}let n={},o=null,a=!1;for(let l of e.properties)if(!l.key.startsWith("$if ")&&!l.key.match(/^\$if\s+\w+.*:?$/)&&!l.key.startsWith("$elif")&&!l.key.startsWith("$else")&&!l.key.startsWith("$for ")){a=!0;break}for(let l of e.properties)if(l.key.startsWith("$if ")||l.key.match(/^\$if\s+\w+.*:?$/)){let p=T(l.value,t,r,s);if(!a&&p!==null&&p!==void 0)return Array.isArray(p)&&p.length===1?p[0]:p;typeof p=="object"&&p!==null&&!Array.isArray(p)&&Object.assign(n,p)}else if(!l.key.startsWith("$for ")){let p=l.value;if(p&&p.type===g.OBJECT&&p.properties){let c=p.properties.find(u=>u.key.startsWith("$for "));if(c){let u=T(c.value,t,r,s);u!==void 0&&(n[l.key]=u)}else{let u=T(l.value,t,r,s);u!==void 0&&(n[l.key]=u)}}else{let c=l.parsedKey?T(l.parsedKey,t,r,s):l.key,u=T(l.value,t,r,s);u!==void 0&&(n[c]=u)}}return n},Tr={},Oi=(e,t,r,s)=>{let i=[];for(let n of e.items)if(n.type===g.LOOP){let o=T(n,t,r,s);i.push(o)}else{let o=T(n,t,r,s);o!==Tr&&o!==void 0&&i.push(o)}return i},ht=vi;var Ti=/\$\{([^}]*)\}/g,Nr=e=>{let t=e.match(/^(\w+)\((.*)\)$/);if(!t)return{isFunction:!1};let[,r,s]=t,i=Li(s);return{isFunction:!0,type:g.FUNCTION,name:r,args:i}},Li=e=>e.trim()?Ni(e).map(r=>Vi(r.trim())):[],Ni=e=>{let t=[],r="",s=0,i=!1,n="";for(let o=0;o<e.length;o++){let a=e[o],l=o>0?e[o-1]:"";!i&&(a==='"'||a==="'")?(i=!0,n=a,r+=a):i&&a===n&&l!=="\\"?(i=!1,n="",r+=a):!i&&a==="("?(s++,r+=a):!i&&a===")"?(s--,r+=a):!i&&a===","&&s===0?(t.push(r),r=""):r+=a}return r&&t.push(r),t},Vi=e=>{if(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))return{type:g.LITERAL,value:e.slice(1,-1)};if(/^-?\d+(\.\d+)?$/.test(e))return{type:g.LITERAL,value:parseFloat(e)};if(e==="true")return{type:g.LITERAL,value:!0};if(e==="false")return{type:g.LITERAL,value:!1};if(e==="null")return{type:g.LITERAL,value:null};let t=Nr(e);return t.isFunction?{type:t.type,name:t.name,args:t.args}:{type:g.VARIABLE,path:e}},Ri=/^\w+\(.*\)$/,Pi=/\s[+\-*/%]\s|\|\||&&|\?\?|.*\?.*:/,ji=e=>{if(!(!e||e.trim()===""||Ri.test(e))&&Pi.test(e))throw e.includes("?")&&e.includes(":")?new j(`Complex expressions not supported in variable replacements - consider calculating the value in your data instead. Offending expression: "${e}"`):e.includes("||")||e.includes("&&")||e.includes("??")?new j(`Logical operators not supported in variable replacements - consider calculating the value in your data instead (operators like ||, &&, ?? are not supported). Offending expression: "${e}"`):new j(`Arithmetic expressions not supported in variable replacements - consider calculating '${e}' in your data instead (expressions with +, -, *, /, % are not supported). Offending expression: "${e}"`)},Lr=(e,t={})=>{let r=e.trim();ji(r);let s=Nr(r);if(s.isFunction)return{type:s.type,name:s.name,args:s.args};if(r.includes("[")&&!/[\s+\-*/%|&?:]/.test(r)){let i=0;for(let n of r)n==="["?i++:n==="]"&&i--;if(i!==0)throw new Error("Invalid array index syntax")}return{type:g.VARIABLE,path:r}},dt=(e,t={})=>{let r=e,s=[];e.includes("\\${")&&(r=e.replace(/\\\\(\$\{[^}]*\})/g,"\\DOUBLE_ESC$1"),r=r.replace(/\\(\$\{[^}]*\})/g,(a,l)=>{let p=`__ESCAPED_${s.length}__`;return s.push(l),p}),r=r.replace(/\\DOUBLE_ESC/g,"\\"));let i=[...r.matchAll(Ti)];if(i.length===0){let a=r;for(let l=0;l<s.length;l++)a=a.replace(`__ESCAPED_${l}__`,s[l]);return{type:g.LITERAL,value:a}}if(i.length===1&&i[0][0]===r&&s.length===0)try{return Lr(i[0][1],t)}catch(a){if(a.message==="Invalid array index syntax")return{type:g.LITERAL,value:r};throw a}let n=[],o=0;for(let a of i){let[l,p]=a,c=a.index;if(c>o){let u=r.substring(o,c);for(let d=0;d<s.length;d++)u=u.replace(`__ESCAPED_${d}__`,s[d]);u&&n.push(u)}try{let u=Lr(p.trim(),t);n.push(u)}catch(u){if(u.message==="Invalid array index syntax")n.push(l);else throw u}o=c+l.length}if(o<r.length){let a=r.substring(o);for(let l=0;l<s.length;l++)a=a.replace(`__ESCAPED_${l}__`,s[l]);a&&n.push(a)}return{type:g.INTERPOLATION,parts:n}};var le=(e,t)=>typeof e=="string"?dt(e,t):typeof e=="object"&&e!==null?Array.isArray(e)?Di(e,t):Bi(e,t):{type:g.LITERAL,value:e},Di=(e,t)=>{let r=[],s=!1;for(let i=0;i<e.length;i++){let n=e[i];if(typeof n=="object"&&n!==null&&!Array.isArray(n)){let a=Object.keys(n);if(a.length===1&&a[0].startsWith("$for ")){let l=Vr(a[0],n[a[0]],t);r.push(l),s=!0;continue}}let o=le(n,t);r.push(o),(o.type===g.FUNCTION||o.type===g.CONDITIONAL||o.type===g.LOOP||o.type===g.OBJECT&&!o.fast||o.type===g.ARRAY&&!o.fast)&&(s=!0)}return{type:g.ARRAY,items:r,fast:!s}},Bi=(e,t)=>{let r=[],s=!1,i=null,n=Object.entries(e),o=0;for(let[l,p]of n)if(l==="$when"){if(i!==null)throw new j("Multiple '$when' directives on the same object are not allowed");if(p==null)throw new j("Missing condition expression after '$when'");let c=typeof p=="string"?p:JSON.stringify(p);if(c.trim()==="")throw new j("Empty condition expression after '$when'");i=ee(c),s=!0}else if(l.startsWith("$when#")||l.startsWith("$when "))throw new j("'$when' does not support ID syntax or inline conditions - use '$when' as a property");for(;o<n.length;){let[l,p]=n[o];if(l==="$when"){o++;continue}if(l.startsWith("$if ")||l.match(/^\$if#\w+\s/)||l.match(/^\$if\s+\w+.*:$/)){let c=Wi(n,o,t);r.push({key:l,value:c.node}),s=!0,o=c.nextIndex}else if(l.startsWith("$for ")){let c=Vr(l,p,t);r.push({key:l,value:c}),s=!0,o++}else{if(l.startsWith("$elif ")||l.startsWith("$else"))throw new j(`'${l.split(" ")[0]}' without matching '$if'`);if(l==="$if"||l==="$if:")throw new j("Missing condition expression after '$if'");{let c=le(p,t);(c.type===g.FUNCTION||c.type===g.CONDITIONAL||c.type===g.LOOP||c.type===g.OBJECT&&!c.fast||c.type===g.ARRAY&&!c.fast)&&(s=!0);let u=dt(l,t),d={key:l,value:c};(u.type!==g.LITERAL||u.value!==l)&&(d.parsedKey=u),r.push(d),o++}}}let a={type:g.OBJECT,properties:r,fast:!s};return i&&(a.whenCondition=i),a},Wi=(e,t,r={})=>{let s=[],i=[],n=t,[o,a]=e[n],l=null,p;if(o.startsWith("$if#")){let u=o.match(/^\$if#(\w+)\s+(.+)$/);if(u)l=u[1],p=u[2];else throw new j(`Invalid conditional syntax: ${o}`)}else p=o.substring(4),p.endsWith(":")&&(p=p.slice(0,-1).trim());ut(p);let c=ee(p);for(s.push(c),i.push(le(a,r)),n++;n<e.length;){let[u,d]=e[n],y=!1,h;if(l?u.startsWith(`$elif#${l} `)?(h=u.substring(`$elif#${l} `.length),h.endsWith(":")&&(h=h.slice(0,-1).trim()),y=!0):(u===`$else#${l}`||u===`$else#${l}:`)&&(y=!0,h=null):u.startsWith("$elif ")?(h=u.substring(6),h.endsWith(":")&&(h=h.slice(0,-1).trim()),y=!0):(u==="$else"||u==="$else:")&&(y=!0,h=null),y){if(h===null)s.push(null);else{ut(h);let f=ee(h);s.push(f)}if(i.push(le(d,r)),n++,h===null)break}else break}return{node:{type:g.CONDITIONAL,conditions:s,bodies:i,id:l},nextIndex:n}},ee=e=>{if(e=e.trim(),e.startsWith("(")&&e.endsWith(")"))return ee(e.slice(1,-1));let t=Ne(e,"||");if(t!==-1)return{type:g.BINARY,op:B.OR,left:ee(e.substring(0,t).trim()),right:ee(e.substring(t+2).trim())};let r=Ne(e,"&&");if(r!==-1)return{type:g.BINARY,op:B.AND,left:ee(e.substring(0,r).trim()),right:ee(e.substring(r+2).trim())};let s=[{op:">=",type:B.GTE},{op:"<=",type:B.LTE},{op:"==",type:B.EQ},{op:"!=",type:B.NEQ},{op:">",type:B.GT},{op:"<",type:B.LT},{op:" in ",type:B.IN}];for(let{op:n,type:o}of s){let a=Ne(e,n);if(a!==-1)return{type:g.BINARY,op:o,left:ee(e.substring(0,a).trim()),right:ee(e.substring(a+n.length).trim())}}let i=[" + "," - "," * "," / "," % "];for(let n of i)if(Ne(e,n)!==-1)throw new j(`Arithmetic expressions not supported in conditionals - consider calculating '${e}' in your data instead (expressions with +, -, *, /, % are not supported). Offending expression: "${e}"`);return e.startsWith("!")?{type:g.UNARY,op:ke.NOT,operand:ee(e.substring(1).trim())}:Mi(e)},Ne=(e,t)=>{let r=0,s=0;for(;s<=e.length-t.length;){if(e[s]==="(")r++;else if(e[s]===")")r--;else if(r===0&&e.substring(s,s+t.length)===t)return s;s++}return-1},Mi=e=>{if(e=e.trim(),e==="true")return{type:g.LITERAL,value:!0};if(e==="false")return{type:g.LITERAL,value:!1};if(e==="null")return{type:g.LITERAL,value:null};if(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))return{type:g.LITERAL,value:e.slice(1,-1)};if(e==='""'||e==="''")return{type:g.LITERAL,value:""};let t=Number(e);return!isNaN(t)&&isFinite(t)?{type:g.LITERAL,value:t}:{type:g.VARIABLE,path:e}},Vr=(e,t,r)=>{let s=e.substring(5).trim();Ar(s);let i=s.match(/^(.+?)\s+in\s+(.+)$/);if(!i)throw new j(`Invalid loop syntax - missing 'in' keyword (got: '$for ${s}')`);let n=i[1].trim(),o=i[2].trim(),a,l=null;if(n.includes(",")){let u=n.split(",").map(d=>d.trim());if(u.length!==2)throw new j(`Invalid loop variables: ${n}. Expected format: "item" or "item, index"`);a=u[0],l=u[1]}else a=n;let p={type:g.VARIABLE,path:o},c=le(t,r);return{type:g.LOOP,itemVar:a,indexVar:l,iterable:p,body:c}};var Fi=(e,t={})=>{let{functions:r={}}=t;return le(e,r)},ft=Fi;var yt={};R(yt,{now:()=>Ki});var Ki=()=>Date.now();var Ui=(e,t,r={})=>{let{functions:s={}}=r,i={...yt,...s},n=ft(e,{functions:i});return ht(n,t,i)},mt=Ui;var Rr=e=>{function t(r){let s={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};return r.replace(/[&<>"']/g,i=>s[i])}return e==null?"":`"${t(String(e))}"`};function Pr(e,t){return t.reduce((r,s)=>(s in e&&(r[s]=e[s]),r),{})}var zi=Object.freeze({formValues:{},tooltipState:{open:!1,x:0,y:0,content:""}}),gt=(e,t,r=void 0)=>{if(!t)return;let s=t.split(/[\[\].]/).filter(n=>n!==""),i=e;for(let n of s){if(i==null||!(n in i))return r;i=i[n]}return i},Hi=(e,t,r)=>{let s=t.split(/[\[\].]/).filter(n=>n!=="");t.includes("[")&&t in e&&delete e[t];let i=e;for(let n=0;n<s.length-1;n++){let o=s[n];if(!(o in i)||typeof i[o]!="object"||i[o]===null){let a=s[n+1],l=/^\d+$/.test(a);i[o]=l?[]:{}}i=i[o]}return i[s[s.length-1]]=r,e},Ji=["id","class","style","slot"],qi=e=>Object.entries(e).filter(([t])=>!Ji.includes(t)).map(([t,r])=>`${t}=${r}`).join(" "),Ve=({state:e,props:t})=>{let{form:r}=t,{context:s}=t;return s?mt(r,s):r},Gi=({state:e,props:t,attrs:r})=>{let s=qi(r),i=t.defaultValues||{},n=Ve({state:e,props:t}),o=structuredClone(n.fields||[]);return o.forEach(a=>{let l=gt(e.formValues,a.name)??gt(i,a.name);if(["popover-input","select","read-only-text"].includes(a.inputType)?a.defaultValue=l:a.defaultValue=Rr(l),["inputText"].includes(a.inputType)&&(a.placeholder=Rr(a.placeholder)),a.inputType==="image"){let p=a.src;a.imageSrc=p&&p.trim()?p:null,a.placeholderText=a.placeholder||"No Image"}if(a.inputType==="waveform"){let p=a.waveformData;a.waveformData=p||null,a.placeholderText=a.placeholder||"No Waveform"}}),{key:r?.key,containerAttrString:s,title:n?.title||"",description:n?.description||"",fields:o,actions:t?.form?.actions||{buttons:[]},formValues:e.formValues,tooltipState:e.tooltipState}},Yi=({state:e})=>e,Xi=({state:e,props:t})=>{let r=Ve({state:e,props:t});return Pr(e.formValues,r.fields.map(s=>s.name))},Qi=({state:e},t)=>gt(e.formValues,t),Zi=(e,t)=>{e.formValues=t||{}},en=(e,{name:t,value:r,props:s})=>{Hi(e.formValues,t,r);let i=Ve({state:e,props:s}),n=Pr(e.formValues,i.fields.map(o=>o.name));e.formValues=n},tn=(e,{x:t,y:r,content:s})=>{e.tooltipState={open:!0,x:t,y:r,content:s}},rn=e=>{e.tooltipState={...e.tooltipState,open:!1}};var jr={elementName:"rtgl-form",viewDataSchema:{type:"object"},propsSchema:{type:"object",properties:{defaultValues:{type:"object"},context:{type:"object"},form:{type:"object",properties:{title:{type:"string"},description:{type:"string"},fields:{type:"array",items:{anyOf:[{type:"object",properties:{name:{type:"string"},label:{type:"string"},description:{type:"string"},inputType:{const:"inputText"},placeholder:{type:"string"},tooltip:{type:"object",properties:{content:{type:"string"}}}},required:["name","label","inputType"],additionalProperties:!1},{type:"object",properties:{name:{type:"string"},label:{type:"string"},description:{type:"string"},inputType:{const:"select"},placeholder:{type:"string"},noClear:{type:"boolean"},addOption:{type:"object",properties:{label:{type:"string"}}},options:{type:"array",items:{type:"object",properties:{label:{type:"string"},value:{type:"any"}},required:["label","value"]}},tooltip:{type:"object",properties:{content:{type:"string"}}}},required:["name","label","inputType","options"],additionalProperties:!1},{type:"object",properties:{name:{type:"string"},label:{type:"string"},description:{type:"string"},inputType:{const:"colorPicker"},value:{type:"string"},tooltip:{type:"object",properties:{content:{type:"string"}}}},required:["name","label","inputType"],additionalProperties:!1},{type:"object",properties:{name:{type:"string"},label:{type:"string"},description:{type:"string"},inputType:{const:"slider"},min:{type:"number"},max:{type:"number"},step:{type:"number"},value:{type:"number"},tooltip:{type:"object",properties:{content:{type:"string"}}}},required:["name","label","inputType"],additionalProperties:!1},{type:"object",properties:{name:{type:"string"},label:{type:"string"},description:{type:"string"},inputType:{const:"slider-input"},min:{type:"number"},max:{type:"number"},step:{type:"number"},value:{type:"number"},tooltip:{type:"object",properties:{content:{type:"string"}}}},required:["name","label","inputType"],additionalProperties:!1},{type:"object",properties:{name:{type:"string"},label:{type:"string"},description:{type:"string"},inputType:{const:"image"},width:{type:"number"},height:{type:"number"},placeholder:{type:"string"},tooltip:{type:"object",properties:{content:{type:"string"}}}},required:["name","label","inputType"],additionalProperties:!1},{type:"object",properties:{name:{type:"string"},label:{type:"string"},description:{type:"string"},inputType:{const:"waveform"},width:{type:"number"},height:{type:"number"},placeholder:{type:"string"},defaultValue:{type:"object"},waveformData:{type:"object"},tooltip:{type:"object",properties:{content:{type:"string"}}}},required:["name","label","inputType"],additionalProperties:!1},{type:"object",properties:{name:{type:"string"},label:{type:"string"},description:{type:"string"},inputType:{const:"popover-input"},placeholder:{type:"string"},tooltip:{type:"object",properties:{content:{type:"string"}}}},required:["name","label","inputType"],additionalProperties:!1}]}},actions:{type:"object",properties:{buttons:{type:"array",items:{type:"object",properties:{id:{type:"string"},content:{type:"string"}},required:["id","content"]}}}}}}}},refs:{"action-*":{eventListeners:{click:{handler:"handleActionClick"}}},"tooltip-icon-*":{eventListeners:{mouseenter:{handler:"handleTooltipMouseEnter"},mouseleave:{handler:"handleTooltipMouseLeave"}}},"input-*":{eventListeners:{"input-change":{handler:"handleInputChange"}}},"select-*":{eventListeners:{"select-change":{handler:"handleSelectChange"},"add-option-selected":{handler:"handleSelectAddOption"}}},"colorpicker-*":{eventListeners:{"colorpicker-change":{handler:"handleColorPickerChange"}}},"slider-*":{eventListeners:{"slider-change":{handler:"handleSliderChange"}}},"slider-input-*":{eventListeners:{"slider-input-value-change":{handler:"handleSliderInputChange"}}},"image-*":{eventListeners:{click:{handler:"handleImageClick"},contextmenu:{handler:"handleImageClick"}}},"waveform-*":{eventListeners:{click:{handler:"handleWaveformClick"},contextmenu:{handler:"handleWaveformClick"}}},"popover-input-*":{eventListeners:{"input-change":{handler:"handlePopoverInputChange"}}}},events:{"form-change":{},"extra-event":{},"action-click":{}},template:{type:9,items:[{type:8,properties:[{key:"rtgl-view w=f p=md g=lg ${containerAttrString}",value:{type:9,items:[{type:8,properties:[{key:"rtgl-view g=sm w=f",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text s=lg",value:{type:1,path:"title"}}],fast:!0},{type:8,properties:[{key:"rtgl-text c=mu-fg",value:{type:1,path:"description"}}],fast:!0}],fast:!0}}],fast:!0},{type:8,properties:[{key:"rtgl-view g=lg w=f",value:{type:9,items:[{type:7,itemVar:"field",indexVar:"i",iterable:{type:1,path:"fields"},body:{type:9,items:[{type:8,properties:[{key:"rtgl-view g=md w=f",value:{type:9,items:[{type:8,properties:[{key:"rtgl-view g=sm",value:{type:9,items:[{type:8,properties:[{key:"rtgl-view d=h g=md av=c",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text",value:{type:1,path:"field.label"}}],fast:!0},{type:8,properties:[{key:"$if field.tooltip",value:{type:6,conditions:[{type:1,path:"field.tooltip"}],bodies:[{type:9,items:[{type:8,properties:[{key:'rtgl-svg#tooltip-icon-${field.name} svg="info" wh=16 c=mu-fg cur=help ml=xs',value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-svg#tooltip-icon-",{type:1,path:"field.name"},' svg="info" wh=16 c=mu-fg cur=help ml=xs']}}],fast:!0}],fast:!0}],id:null}}],fast:!1}],fast:!1}}],fast:!1},{type:8,properties:[{key:"rtgl-text s=sm c=mu-fg",value:{type:1,path:"field.description"}}],fast:!0}],fast:!1}}],fast:!1},{type:8,properties:[{key:'$if field.inputType == "read-only-text"',value:{type:6,conditions:[{type:4,op:0,left:{type:1,path:"field.inputType"},right:{type:0,value:"read-only-text"}}],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-text s=sm",value:{type:1,path:"field.defaultValue"}}],fast:!0}],fast:!0}],id:null}}],fast:!1},{type:8,properties:[{key:'$if field.inputType == "inputText"',value:{type:6,conditions:[{type:4,op:0,left:{type:1,path:"field.inputType"},right:{type:0,value:"inputText"}}],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-input#input-${field.name} key=${key} w=f placeholder=${field.placeholder} value=${field.defaultValue}",value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-input#input-",{type:1,path:"field.name"}," key=",{type:1,path:"key"}," w=f placeholder=",{type:1,path:"field.placeholder"}," value=",{type:1,path:"field.defaultValue"}]}}],fast:!0}],fast:!0}],id:null}}],fast:!1},{type:8,properties:[{key:'$if field.inputType == "popover-input"',value:{type:6,conditions:[{type:4,op:0,left:{type:1,path:"field.inputType"},right:{type:0,value:"popover-input"}}],bodies:[{type:9,items:[{type:8,properties:[{key:'rtgl-popover-input#popover-input-${field.name} label="${field.label}" .defaultValue=fields[${i}].defaultValue',value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-popover-input#popover-input-",{type:1,path:"field.name"},' label="',{type:1,path:"field.label"},'" .defaultValue=fields[',{type:1,path:"i"},"].defaultValue"]}}],fast:!0}],fast:!0}],id:null}}],fast:!1},{type:8,properties:[{key:'$if field.inputType == "select"',value:{type:6,conditions:[{type:4,op:0,left:{type:1,path:"field.inputType"},right:{type:0,value:"select"}}],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-select#select-${field.name} key=${key} w=f .options=fields[${i}].options .placeholder=fields[${i}].placeholder .selectedValue=fields[${i}].defaultValue ?no-clear=fields[${i}].noClear .addOption=fields[${i}].addOption",value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-select#select-",{type:1,path:"field.name"}," key=",{type:1,path:"key"}," w=f .options=fields[",{type:1,path:"i"},"].options .placeholder=fields[",{type:1,path:"i"},"].placeholder .selectedValue=fields[",{type:1,path:"i"},"].defaultValue ?no-clear=fields[",{type:1,path:"i"},"].noClear .addOption=fields[",{type:1,path:"i"},"].addOption"]}}],fast:!0}],fast:!0}],id:null}}],fast:!1},{type:8,properties:[{key:'$if field.inputType == "colorPicker"',value:{type:6,conditions:[{type:4,op:0,left:{type:1,path:"field.inputType"},right:{type:0,value:"colorPicker"}}],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-color-picker#colorpicker-${field.name} key=${key} value=${field.defaultValue}",value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-color-picker#colorpicker-",{type:1,path:"field.name"}," key=",{type:1,path:"key"}," value=",{type:1,path:"field.defaultValue"}]}}],fast:!0}],fast:!0}],id:null}}],fast:!1},{type:8,properties:[{key:'$if field.inputType == "slider"',value:{type:6,conditions:[{type:4,op:0,left:{type:1,path:"field.inputType"},right:{type:0,value:"slider"}}],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-slider#slider-${field.name} key=${key} w=f min=${field.min} max=${field.max} step=${field.step} value=${field.defaultValue}",value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-slider#slider-",{type:1,path:"field.name"}," key=",{type:1,path:"key"}," w=f min=",{type:1,path:"field.min"}," max=",{type:1,path:"field.max"}," step=",{type:1,path:"field.step"}," value=",{type:1,path:"field.defaultValue"}]}}],fast:!0}],fast:!0}],id:null}}],fast:!1},{type:8,properties:[{key:'$if field.inputType == "slider-input"',value:{type:6,conditions:[{type:4,op:0,left:{type:1,path:"field.inputType"},right:{type:0,value:"slider-input"}}],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-slider-input#slider-input-${field.name} key=${key} w=f min=${field.min} max=${field.max} step=${field.step} defaultValue=${field.defaultValue}",value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-slider-input#slider-input-",{type:1,path:"field.name"}," key=",{type:1,path:"key"}," w=f min=",{type:1,path:"field.min"}," max=",{type:1,path:"field.max"}," step=",{type:1,path:"field.step"}," defaultValue=",{type:1,path:"field.defaultValue"}]}}],fast:!0}],fast:!0}],id:null}}],fast:!1},{type:8,properties:[{key:'$if field.inputType == "image" && field.imageSrc',value:{type:6,conditions:[{type:4,op:6,left:{type:4,op:0,left:{type:1,path:"field.inputType"},right:{type:0,value:"image"}},right:{type:1,path:"field.imageSrc"}}],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-image#image-${field.name} src=${field.imageSrc} w=${field.width} h=${field.height} cur=p",value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-image#image-",{type:1,path:"field.name"}," src=",{type:1,path:"field.imageSrc"}," w=",{type:1,path:"field.width"}," h=",{type:1,path:"field.height"}," cur=p"]}}],fast:!0}],fast:!0}],id:null}}],fast:!1},{type:8,properties:[{key:'$if field.inputType == "image" && !field.imageSrc',value:{type:6,conditions:[{type:4,op:6,left:{type:4,op:0,left:{type:1,path:"field.inputType"},right:{type:0,value:"image"}},right:{type:5,op:0,operand:{type:1,path:"field.imageSrc"}}}],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-view#image-${field.name} w=${field.width} h=${field.height} bc=ac bw=sm ah=c av=c cur=p p=md",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text c=mu-fg ta=c",value:{type:1,path:"field.placeholderText"}}],fast:!0}],fast:!0},parsedKey:{type:2,parts:["rtgl-view#image-",{type:1,path:"field.name"}," w=",{type:1,path:"field.width"}," h=",{type:1,path:"field.height"}," bc=ac bw=sm ah=c av=c cur=p p=md"]}}],fast:!0}],fast:!0}],id:null}}],fast:!1},{type:8,properties:[{key:'$if field.inputType == "waveform" && field.waveformData',value:{type:6,conditions:[{type:4,op:6,left:{type:4,op:0,left:{type:1,path:"field.inputType"},right:{type:0,value:"waveform"}},right:{type:1,path:"field.waveformData"}}],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-waveform#waveform-${field.name} .waveformData=fields[${i}].waveformData w=${field.width} h=${field.height} cur=p",value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-waveform#waveform-",{type:1,path:"field.name"}," .waveformData=fields[",{type:1,path:"i"},"].waveformData w=",{type:1,path:"field.width"}," h=",{type:1,path:"field.height"}," cur=p"]}}],fast:!0}],fast:!0}],id:null}}],fast:!1},{type:8,properties:[{key:'$if field.inputType == "waveform" && !field.waveformData',value:{type:6,conditions:[{type:4,op:6,left:{type:4,op:0,left:{type:1,path:"field.inputType"},right:{type:0,value:"waveform"}},right:{type:5,op:0,operand:{type:1,path:"field.waveformData"}}}],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-view#waveform-${field.name} w=${field.width} h=${field.height} bc=ac bw=sm ah=c av=c cur=p p=md",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text c=mu-fg ta=c",value:{type:1,path:"field.placeholder"}}],fast:!0}],fast:!0},parsedKey:{type:2,parts:["rtgl-view#waveform-",{type:1,path:"field.name"}," w=",{type:1,path:"field.width"}," h=",{type:1,path:"field.height"}," bc=ac bw=sm ah=c av=c cur=p p=md"]}}],fast:!0}],fast:!0}],id:null}}],fast:!1},{type:8,properties:[{key:'$if field.inputType == "slot"',value:{type:6,conditions:[{type:4,op:0,left:{type:1,path:"field.inputType"},right:{type:0,value:"slot"}}],bodies:[{type:9,items:[{type:8,properties:[{key:'slot#slot-${field.slotName} name=${field.slot} style="display: contents;"',value:{type:0,value:null},parsedKey:{type:2,parts:["slot#slot-",{type:1,path:"field.slotName"}," name=",{type:1,path:"field.slot"},' style="display: contents;"']}}],fast:!0}],fast:!0}],id:null}}],fast:!1}],fast:!1}}],fast:!1}],fast:!1}}],fast:!1}}],fast:!1},{type:8,properties:[{key:"rtgl-view g=sm w=f",value:{type:9,items:[{type:8,properties:[{key:"rtgl-view d=h ah=e g=sm w=f",value:{type:9,items:[{type:7,itemVar:"button",indexVar:"i",iterable:{type:1,path:"actions.buttons"},body:{type:9,items:[{type:8,properties:[{key:"rtgl-button#action-${button.id}",value:{type:1,path:"button.content"},parsedKey:{type:2,parts:["rtgl-button#action-",{type:1,path:"button.id"}]}}],fast:!0}],fast:!0}}],fast:!1}}],fast:!1}],fast:!1}}],fast:!1},{type:8,properties:[{key:'rtgl-tooltip ?open=${tooltipState.open} x=${tooltipState.x} y=${tooltipState.y} placement="top" content="${tooltipState.content}"',value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-tooltip ?open=",{type:1,path:"tooltipState.open"}," x=",{type:1,path:"tooltipState.x"}," y=",{type:1,path:"tooltipState.y"},' placement="top" content="',{type:1,path:"tooltipState.content"},'"']}}],fast:!0}],fast:!1},parsedKey:{type:2,parts:["rtgl-view w=f p=md g=lg ",{type:1,path:"containerAttrString"}]}}],fast:!1}],fast:!1}};var bt={};R(bt,{handleCancel:()=>on,handleConfirm:()=>nn,handleDialogClose:()=>sn,showAlert:()=>an,showConfirm:()=>ln});var sn=(e,t)=>{let{store:r,render:s}=t;r.closeDialog(),s()},nn=(e,t)=>{let{store:r,render:s,globalUI:i}=t;r.closeDialog(),s(),i.emit("event",!0)},on=(e,t)=>{let{store:r,render:s,globalUI:i}=t;r.closeDialog(),s(),i.emit("event",!1)},an=(e,t)=>{let{store:r,render:s}=t;if(r.selectIsOpen())throw new Error("A dialog is already open");r.setAlertConfig(e),s()},ln=async(e,t)=>{let{store:r,render:s,globalUI:i}=t;if(r.selectIsOpen())throw new Error("A dialog is already open");return r.setConfirmConfig(e),s(),new Promise(n=>{i.once("event",o=>{n(o)})})};var wt={};R(wt,{INITIAL_STATE:()=>pn,closeDialog:()=>hn,selectConfig:()=>dn,selectIsOpen:()=>fn,setAlertConfig:()=>cn,setConfirmConfig:()=>un,toViewData:()=>yn});var pn=Object.freeze({isOpen:!1,config:{status:void 0,title:"",message:"",confirmText:"OK",cancelText:"Cancel",mode:"alert"}}),cn=(e,t)=>{if(!t.message)throw new Error("message is required for showAlert");e.config={status:t.status||void 0,title:t.title||"",message:t.message,confirmText:t.confirmText||"OK",cancelText:"",mode:"alert"},e.isOpen=!0},un=(e,t)=>{if(!t.message)throw new Error("message is required for showConfirm");e.config={status:t.status||void 0,title:t.title||"",message:t.message,confirmText:t.confirmText||"Yes",cancelText:t.cancelText||"Cancel",mode:"confirm"},e.isOpen=!0},hn=e=>{e.isOpen=!1},dn=({state:e})=>e.config,fn=({state:e})=>e.isOpen,yn=({state:e})=>({isOpen:e.isOpen,config:e.config});var Dr={elementName:"rtgl-global-ui",viewDataSchema:{type:"object",properties:{isOpen:{type:"boolean"},config:{type:"object",properties:{status:{type:"string"},title:{type:"string"},message:{type:"string"},confirmText:{type:"string"},cancelText:{type:"string"},mode:{type:"string"}}}}},refs:{dialog:{eventListeners:{close:{handler:"handleDialogClose"}}},"confirm-button":{eventListeners:{click:{handler:"handleConfirm"}}},"cancel-button":{eventListeners:{click:{handler:"handleCancel"}}}},template:{type:9,items:[{type:8,properties:[{key:"rtgl-dialog#dialog ?open=${isOpen} s=sm",value:{type:9,items:[{type:8,properties:[{key:"rtgl-view slot=content g=lg p=lg",value:{type:9,items:[{type:8,properties:[{key:"rtgl-view d=h g=md",value:{type:9,items:[{type:8,properties:[{key:"rtgl-view d=h ah=c av=c g=md",value:{type:0,value:null}}],fast:!0},{type:8,properties:[{key:"rtgl-view g=md",value:{type:9,items:[{type:8,properties:[{key:"rtgl-view h=24 av=c",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text fw=600",value:{type:1,path:"config.title"}}],fast:!0}],fast:!0}}],fast:!0},{type:8,properties:[{key:"rtgl-text",value:{type:1,path:"config.message"}}],fast:!0}],fast:!0}}],fast:!0}],fast:!0}}],fast:!0},{type:8,properties:[{key:"rtgl-view d=h g=md mt=lg w=f ah=e",value:{type:9,items:[{type:8,properties:[{key:"$if config.mode == 'confirm'",value:{type:6,conditions:[{type:4,op:0,left:{type:1,path:"config.mode"},right:{type:0,value:"confirm"}}],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-button#cancel-button v=se",value:{type:1,path:"config.cancelText"}}],fast:!0}],fast:!0}],id:null}}],fast:!1},{type:8,properties:[{key:"rtgl-button#confirm-button v=pr",value:{type:1,path:"config.confirmText"}}],fast:!0}],fast:!1}}],fast:!1}],fast:!1}}],fast:!1}],fast:!1},parsedKey:{type:2,parts:["rtgl-dialog#dialog ?open=",{type:1,path:"isOpen"}," s=sm"]}}],fast:!1}],fast:!1}};var xt={};R(xt,{handleClickStart:()=>mn});var mn=(e,t)=>{let{dispatchEvent:r,store:s}=t;console.log("handle click start",s.selectPath()),r(new CustomEvent("clickStart",{detail:{path:s.selectPath()}}))};var _t={};R(_t,{INITIAL_STATE:()=>gn,selectPath:()=>xn,setState:()=>_n,toViewData:()=>wn});var gn=Object.freeze({}),vn=["id","class","style","slot"],bn=e=>Object.entries(e).filter(([t])=>!vn.includes(t)).map(([t,r])=>`${t}=${r}`).join(" "),wn=({state:e,props:t,attrs:r})=>{console.log("attrs",{attrs:r,entries:Object.entries(r)});let s=r.start?JSON.parse(decodeURIComponent(r.start)):t.start;return{containerAttrString:bn(r),start:s||{label:"",image:{src:"",width:32,height:32,alt:""}}}},xn=({props:e})=>e.start.path,_n=e=>{};var Br={elementName:"rtgl-navbar",viewDataSchema:{type:"object",properties:{containerAttrString:{type:"string"},start:{type:"object",properties:{label:{type:"string"},href:{type:"string"},image:{type:"object",properties:{src:{type:"string"}}},hasImage:{type:"boolean"},hasHref:{type:"boolean"}}}}},propsSchema:{type:"object",properties:{start:{type:"object",properties:{label:{type:"string"},href:{type:"string"},image:{type:"object",properties:{src:{type:"string"}}}}}}},refs:{start:{eventListeners:{click:{handler:"handleClickStart"}}}},events:{clickStart:{type:"object",properties:{path:{type:"string"}}}},anchors:[[{"rtgl-text s=lg":"${start.label}"},{"$if start.image && start.image.src":[{"rtgl-image w=${start.image.width} h=${start.image.height} src=${start.image.src} alt=${start.image.alt}":null}]}]],template:{type:9,items:[{type:8,properties:[{key:"rtgl-view bgc=bg d=h h=48 av=c w=f ${containerAttrString}",value:{type:9,items:[{type:8,properties:[{key:"$if start.href",value:{type:6,conditions:[{type:1,path:"start.href"},{type:1,path:"start.path"},null],bodies:[{type:9,items:[{type:8,properties:[{key:"a href=${start.href}",value:{type:9,items:[{type:8,properties:[{key:"rtgl-view d=h av=c g=lg g=md",value:{type:9,items:[{type:9,items:[{type:8,properties:[{key:"rtgl-text s=lg",value:{type:1,path:"start.label"}}],fast:!0},{type:8,properties:[{key:"$if start.image && start.image.src",value:{type:6,conditions:[{type:4,op:6,left:{type:1,path:"start.image"},right:{type:1,path:"start.image.src"}}],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-image w=${start.image.width} h=${start.image.height} src=${start.image.src} alt=${start.image.alt}",value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-image w=",{type:1,path:"start.image.width"}," h=",{type:1,path:"start.image.height"}," src=",{type:1,path:"start.image.src"}," alt=",{type:1,path:"start.image.alt"}]}}],fast:!0}],fast:!0}],id:null}}],fast:!1}],fast:!1}],fast:!1}}],fast:!1}],fast:!1},parsedKey:{type:2,parts:["a href=",{type:1,path:"start.href"}]}}],fast:!1}],fast:!1},{type:9,items:[{type:8,properties:[{key:"rtgl-view#start d=h av=c g=lg g=md cur=p",value:{type:9,items:[{type:9,items:[{type:8,properties:[{key:"rtgl-text s=lg",value:{type:1,path:"start.label"}}],fast:!0},{type:8,properties:[{key:"$if start.image && start.image.src",value:{type:6,conditions:[{type:4,op:6,left:{type:1,path:"start.image"},right:{type:1,path:"start.image.src"}}],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-image w=${start.image.width} h=${start.image.height} src=${start.image.src} alt=${start.image.alt}",value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-image w=",{type:1,path:"start.image.width"}," h=",{type:1,path:"start.image.height"}," src=",{type:1,path:"start.image.src"}," alt=",{type:1,path:"start.image.alt"}]}}],fast:!0}],fast:!0}],id:null}}],fast:!1}],fast:!1}],fast:!1}}],fast:!1}],fast:!1},{type:9,items:[{type:8,properties:[{key:"rtgl-view d=h av=c g=lg g=md",value:{type:9,items:[{type:9,items:[{type:8,properties:[{key:"rtgl-text s=lg",value:{type:1,path:"start.label"}}],fast:!0},{type:8,properties:[{key:"$if start.image && start.image.src",value:{type:6,conditions:[{type:4,op:6,left:{type:1,path:"start.image"},right:{type:1,path:"start.image.src"}}],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-image w=${start.image.width} h=${start.image.height} src=${start.image.src} alt=${start.image.alt}",value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-image w=",{type:1,path:"start.image.width"}," h=",{type:1,path:"start.image.height"}," src=",{type:1,path:"start.image.src"}," alt=",{type:1,path:"start.image.alt"}]}}],fast:!0}],fast:!0}],id:null}}],fast:!1}],fast:!1}],fast:!1}}],fast:!1}],fast:!1}],id:null}}],fast:!1},{type:8,properties:[{key:"rtgl-view flex=1",value:{type:0,value:null}}],fast:!0},{type:8,properties:[{key:"rtgl-view d=h av=c g=lg",value:{type:9,items:[{type:8,properties:[{key:"slot name=right",value:{type:0,value:null}}],fast:!0}],fast:!0}}],fast:!0}],fast:!1},parsedKey:{type:2,parts:["rtgl-view bgc=bg d=h h=48 av=c w=f ",{type:1,path:"containerAttrString"}]}}],fast:!1}],fast:!1}};var Et={};R(Et,{handleBeforeMount:()=>An});var Wr=(e,t,r)=>{let{store:s,render:i}=r,n,o=-1/0;if(e.forEach(a=>{let l=a.getBoundingClientRect();l.top<=t&&l.top>o&&(o=l.top,n=a.id)}),!n){let a=1/0;e.forEach(l=>{let p=l.getBoundingClientRect();p.top>t&&p.top<a&&(a=p.top,n=l.id)})}n&&n!==s.selectCurrentId()&&(s.setCurrentId(n),i())},En=(e,t,r,s)=>{let{store:i,render:n}=s,o=e.querySelectorAll("h1[id], h2[id], h3[id], h4[id], rtgl-text[id]"),a=Array.from(o),l=a.map(c=>{let u=1,d=c.tagName.toLowerCase();return d==="h1"?u=1:d==="h2"?u=2:d==="h3"?u=3:d==="h4"?u=4:d==="rtgl-text"&&(u=parseInt(c.getAttribute("data-level")||"1",10)),{id:c.id,href:`#${c.id}`,title:c.textContent,level:u}});i.setItems(l),Wr(a,r,s),n();let p=Wr.bind(void 0,a,r,s);return t.addEventListener("scroll",p,{passive:!0}),()=>{t.removeEventListener("scroll",p)}},An=e=>{let{attrs:t}=e;requestAnimationFrame(()=>{let r=document.getElementById(t["target-id"]),s=window;t["scroll-container-id"]&&(s=document.getElementById(t["scroll-container-id"])||window);let i=parseInt(t["offset-top"]||"100",10),n=En(r,s,i,e);return()=>{n()}})};var At={};R(At,{INITIAL_STATE:()=>kn,selectCurrentId:()=>Cn,selectState:()=>$n,setContentContainer:()=>Tn,setCurrentId:()=>On,setItems:()=>In,toViewData:()=>Sn});var kn=Object.freeze({items:[],currentId:null,contentContainer:null}),Sn=({state:e})=>{let r=((s,i)=>{let n=new Set,o=s.findIndex(l=>l.id===i);if(o===-1)return n;let a=s[o].level;for(let l=o-1;l>=0;l--)if(s[l].level<a){let p=s[l].level;n.add(s[l].id);for(let c=l-1;c>=0;c--)s[c].level<p&&(n.add(s[c].id),p=s[c].level);break}return n})(e.items,e.currentId);return{items:e.items.map(s=>{let i={1:"0",2:"12px",3:"24px",4:"32px"},n=s.id===e.currentId,o=r.has(s.id),a=n||o;return{...s,c:a?"fg":"mu-fg",ml:i[s.level]||"",bc:a?"fg":"mu-fg"}}),currentId:e.currentId}},$n=({state:e})=>e,Cn=({state:e})=>e.currentId,In=(e,t)=>{e.items=t},On=(e,t)=>{e.currentId=t},Tn=(e,t)=>{e.contentContainer=t};var Mr={elementName:"rtgl-page-outline",viewDataSchema:{type:"object",properties:{items:{type:"array",items:{type:"object",properties:{slug:{type:"string"},title:{type:"string"}}}},selectedSlug:{type:"string",nullable:!0}}},propsSchema:{type:"object",properties:{}},refs:{},events:{onItemClick:{type:"object"}},template:{type:9,items:[{type:8,properties:[{key:"rtgl-view h=f w=272 pr=md",value:{type:9,items:[{type:8,properties:[{key:"rtgl-view w=f mt=xl",value:{type:9,items:[{type:7,itemVar:"item",indexVar:"i",iterable:{type:1,path:"items"},body:{type:9,items:[{type:8,properties:[{key:'rtgl-view d=h bwl=xs bc="${item.bc}" pv=sm av=c href=${item.href} pl=md',value:{type:9,items:[{type:8,properties:[{key:"rtgl-view w=${item.ml}",value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-view w=",{type:1,path:"item.ml"}]}}],fast:!0},{type:8,properties:[{key:"rtgl-text s=sm c=${item.c} h-c=fg",value:{type:1,path:"item.title"},parsedKey:{type:2,parts:["rtgl-text s=sm c=",{type:1,path:"item.c"}," h-c=fg"]}}],fast:!0}],fast:!0},parsedKey:{type:2,parts:['rtgl-view d=h bwl=xs bc="',{type:1,path:"item.bc"},'" pv=sm av=c href=',{type:1,path:"item.href"}," pl=md"]}}],fast:!0}],fast:!0}}],fast:!1}}],fast:!1}],fast:!1}}],fast:!1}],fast:!1}};var kt={};R(kt,{handleBeforeMount:()=>Ln,handleInputChange:()=>Pn,handleInputKeydown:()=>Dn,handleOnUpdate:()=>Nn,handlePopoverClose:()=>Rn,handleSubmitClick:()=>jn,handleTextClick:()=>Vn});var Ln=e=>{let{store:t,props:r}=e;(r.value!==void 0||r.defaultValue!==void 0)&&t.setValue(r.value||r.defaultValue||"")},Nn=(e,t)=>{let{oldProps:r,newProps:s}=e,{store:i,props:n,render:o}=t;r.defaultValue!==s.defaultValue&&i.setValue(n.defaultValue||""),o()},Vn=(e,t)=>{let{store:r,render:s,getRefIds:i,attrs:n}=t,o=r.selectValue();r.setTempValue(o),r.openPopover({position:{x:e.currentTarget.getBoundingClientRect().left,y:e.currentTarget.getBoundingClientRect().bottom}});let{input:a}=i();a.elm.value=o,s(),n["auto-focus"]&&setTimeout(()=>{a.elm.focus()},50)},Rn=(e,t)=>{let{store:r,render:s}=t;r.closePopover(),s()},Pn=(e,t)=>{let{store:r,render:s,dispatchEvent:i}=t,n=e.detail.value;r.setTempValue(n),i(new CustomEvent("temp-input-change",{detail:{value:n},bubbles:!0})),s()},jn=(e,t)=>{let{store:r,render:s,dispatchEvent:i,getRefIds:n}=t,{input:o}=n(),a=o.elm.value;r.setValue(a),r.closePopover(),i(new CustomEvent("input-change",{detail:{value:a},bubbles:!0})),s()},Dn=(e,t)=>{let{store:r,render:s,dispatchEvent:i,getRefIds:n}=t;if(e.key==="Enter"){let{input:o}=n(),a=o.elm.value;r.closePopover(),i(new CustomEvent("input-change",{detail:{value:a},bubbles:!0})),s()}else e.key==="Escape"&&(r.closePopover(),s())};var St={};R(St,{INITIAL_STATE:()=>Bn,closePopover:()=>Kn,openPopover:()=>Fn,selectValue:()=>zn,setTempValue:()=>Mn,setValue:()=>Un,toViewData:()=>Wn});var Bn=Object.freeze({isOpen:!1,position:{x:0,y:0},value:"",tempValue:""}),Wn=({attrs:e,state:t,props:r})=>{let s=t.value||"-";return{isOpen:t.isOpen,position:t.position,value:s??"-",tempValue:t.tempValue,placeholder:r.placeholder??"",label:e.label}},Mn=(e,t)=>{e.tempValue=t},Fn=(e,t)=>{let{position:r}=t;e.position=r,e.isOpen=!0,e.hasUnsavedChanges=!1},Kn=e=>{e.isOpen=!1,e.tempValue=""},Un=(e,t)=>{e.value=t},zn=({state:e})=>e.value;var Fr={elementName:"rtgl-popover-input",viewDataSchema:{type:"object"},attrsSchema:{type:"object",properties:{"auto-focus":{type:"boolean"}}},propsSchema:{type:"object",properties:{value:{type:"string"},defaultValue:{type:"string"},placeholder:{type:"string"},onChange:{type:"function"}}},refs:{"text-display":{eventListeners:{click:{handler:"handleTextClick"}}},popover:{eventListeners:{close:{handler:"handlePopoverClose"}}},input:{eventListeners:{"input-change":{handler:"handleInputChange"},keydown:{handler:"handleInputKeydown"}}},submit:{eventListeners:{click:{handler:"handleSubmitClick"}}}},events:{"input-change":{}},template:{type:9,items:[{type:8,properties:[{key:"rtgl-view#text-display w=f cur=p",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text",value:{type:1,path:"value"}}],fast:!0}],fast:!0}}],fast:!0},{type:8,properties:[{key:"rtgl-popover#popover ?open=${isOpen} x=${position.x} y=${position.y}",value:{type:9,items:[{type:8,properties:[{key:"rtgl-view g=md w=240 slot=content bgc=background br=md",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text",value:{type:1,path:"label"}}],fast:!0},{type:8,properties:[{key:"rtgl-input#input w=f placeholder=${placeholder}",value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-input#input w=f placeholder=",{type:1,path:"placeholder"}]}}],fast:!0},{type:8,properties:[{key:"rtgl-view w=f ah=e",value:{type:9,items:[{type:8,properties:[{key:"rtgl-button#submit",value:{type:0,value:"Submit"}}],fast:!0}],fast:!0}}],fast:!0}],fast:!0}}],fast:!0}],fast:!0},parsedKey:{type:2,parts:["rtgl-popover#popover ?open=",{type:1,path:"isOpen"}," x=",{type:1,path:"position.x"}," y=",{type:1,path:"position.y"}]}}],fast:!0}],fast:!0}};var $t={};R($t,{handleAddOptionClick:()=>eo,handleAddOptionMouseEnter:()=>to,handleAddOptionMouseLeave:()=>ro,handleBeforeMount:()=>Hn,handleButtonClick:()=>qn,handleClearClick:()=>Zn,handleClickOptionsPopoverOverlay:()=>Gn,handleOnUpdate:()=>Jn,handleOptionClick:()=>Yn,handleOptionMouseEnter:()=>Xn,handleOptionMouseLeave:()=>Qn});var Hn=e=>{let{store:t,props:r,render:s}=e;if(r.selectedValue!==null&&r.selectedValue!==void 0&&r.options){let i=r.options.find(n=>ae(n.value,r.selectedValue));i&&(t.updateSelectOption(i),s())}},Jn=(e,t)=>{let{oldAttrs:r,newAttrs:s,oldProps:i,newProps:n}=e,{store:o,props:a,render:l}=t;if(r?.key!==s?.key&&s?.key){o.resetSelection();let p=n?.selectedValue||a?.selectedValue,c=n?.options||a?.options;if(p!=null&&c){let u=c.find(d=>ae(d.value,p));u&&o.updateSelectOption(u)}l()}},qn=(e,t)=>{let{store:r,render:s,getRefIds:i,props:n}=t,o=i()["select-button"].elm,a=o.firstElementChild,l=a?a.getBoundingClientRect():o.getBoundingClientRect(),p=r.selectSelectedValue(),c=p!==null?p:n.selectedValue,u=null;c!=null&&n.options&&(u=n.options.findIndex(d=>ae(d.value,c)),u===-1&&(u=null)),r.openOptionsPopover({position:{y:l.bottom+12,x:l.left-24},selectedIndex:u}),s()},Gn=(e,t)=>{let{store:r,render:s}=t;r.closeOptionsPopover(),s()},Yn=(e,t)=>{let{render:r,dispatchEvent:s,props:i,store:n}=t,o=e.currentTarget.id.replace("option-",""),a=i.options[o];n.updateSelectOption(a),i.onChange&&typeof i.onChange=="function"&&i.onChange(a.value),s(new CustomEvent("option-selected",{detail:{value:a.value,label:a.label},bubbles:!0})),s(new CustomEvent("select-change",{detail:{selectedValue:a.value},bubbles:!0})),r()},Xn=(e,t)=>{let{store:r,render:s}=t,i=parseInt(e.currentTarget.id.replace("option-",""));r.setHoveredOption(i),s()},Qn=(e,t)=>{let{store:r,render:s}=t;r.clearHoveredOption(),s()},Zn=(e,t)=>{let{store:r,render:s,dispatchEvent:i,props:n}=t;e.stopPropagation(),r.clearSelectedValue(),n.onChange&&typeof n.onChange=="function"&&n.onChange(void 0),i(new CustomEvent("option-selected",{detail:{value:void 0,label:void 0},bubbles:!0})),i(new CustomEvent("select-change",{detail:{selectedValue:void 0},bubbles:!0})),s()},eo=(e,t)=>{let{store:r,render:s,dispatchEvent:i}=t;r.closeOptionsPopover(),i(new CustomEvent("add-option-selected",{bubbles:!0})),s()},to=(e,t)=>{let{store:r,render:s}=t;r.setHoveredAddOption(!0),s()},ro=(e,t)=>{let{store:r,render:s}=t;r.setHoveredAddOption(!1),s()};var Ct={};R(Ct,{INITIAL_STATE:()=>no,clearHoveredOption:()=>yo,clearSelectedValue:()=>mo,closeOptionsPopover:()=>co,openOptionsPopover:()=>po,resetSelection:()=>ho,selectSelectedValue:()=>lo,selectState:()=>ao,setHoveredAddOption:()=>go,setHoveredOption:()=>fo,toViewData:()=>oo,updateSelectOption:()=>uo});var so=["id","class","style","slot","placeholder","selectedValue","selected-value","onChange","on-change","options"],io=e=>Object.entries(e||{}).filter(([t])=>!so.includes(t)).map(([t,r])=>`${t}=${r}`).join(" "),no=Object.freeze({isOpen:!1,position:{x:0,y:0},selectedValue:null,hoveredOptionId:null,hoveredAddOption:!1}),oo=({state:e,props:t,attrs:r})=>{let s=io(r),i=e.selectedValue!==null?e.selectedValue:t.selectedValue,n=t.placeholder||"Select an option",o=!0;if(i!=null&&t.options){let l=t.options.find(p=>ae(p.value,i));l&&(n=l.label,o=!1)}let a=(t.options||[]).map((l,p)=>{let c=ae(l.value,i),u=e.hoveredOptionId===p;return{...l,isSelected:c,bgc:u?"ac":c?"mu":""}});return{containerAttrString:s,isOpen:e.isOpen,position:e.position,options:a,selectedValue:i,selectedLabel:n,selectedLabelColor:o?"mu-fg":"fg",placeholder:t.placeholder||"Select an option",hasValue:i!=null,showClear:!r["no-clear"]&&!t["no-clear"]&&i!=null,showAddOption:!!t.addOption,addOptionLabel:t.addOption?.label?`+ ${t.addOption.label}`:"+ Add",addOptionBgc:e.hoveredAddOption?"ac":""}},ao=({state:e})=>e,lo=({state:e})=>e.selectedValue,po=(e,t)=>{let{position:r,selectedIndex:s}=t;e.position=r,e.isOpen=!0,s!=null&&(e.hoveredOptionId=s)},co=e=>{e.isOpen=!1},uo=(e,t)=>{e.selectedValue=t.value,e.isOpen=!1},ho=e=>{e.selectedValue=void 0},fo=(e,t)=>{e.hoveredOptionId=t},yo=e=>{e.hoveredOptionId=null},mo=e=>{e.selectedValue=void 0},go=(e,t)=>{e.hoveredAddOption=t};var Kr={elementName:"rtgl-select",viewDataSchema:{type:"object"},propsSchema:{type:"object",properties:{options:{type:"array",items:{type:"object",properties:{label:{type:"string"},value:{type:"any"}}}},selectedValue:{type:"any"},placeholder:{type:"string"},onChange:{type:"function"},"no-clear":{type:"boolean"},addOption:{type:"object",properties:{label:{type:"string"}}}}},refs:{"select-button":{eventListeners:{click:{handler:"handleButtonClick"}}},"clear-button":{eventListeners:{click:{handler:"handleClearClick"}}},popover:{eventListeners:{close:{handler:"handleClickOptionsPopoverOverlay"}}},"option-*":{eventListeners:{click:{handler:"handleOptionClick"},mouseenter:{handler:"handleOptionMouseEnter"},mouseleave:{handler:"handleOptionMouseLeave"}}},"option-add":{eventListeners:{click:{handler:"handleAddOptionClick"},mouseenter:{handler:"handleAddOptionMouseEnter"},mouseleave:{handler:"handleAddOptionMouseLeave"}}}},events:{},template:{type:9,items:[{type:8,properties:[{key:"rtgl-button#select-button v=ol ${containerAttrString}",value:{type:9,items:[{type:8,properties:[{key:"rtgl-view d=h av=c w=f",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text c=${selectedLabelColor}",value:{type:1,path:"selectedLabel"},parsedKey:{type:2,parts:["rtgl-text c=",{type:1,path:"selectedLabelColor"}]}}],fast:!0},{type:8,properties:[{key:"rtgl-view mh=md flex=1",value:{type:0,value:null}}],fast:!0},{type:8,properties:[{key:"$if showClear",value:{type:6,conditions:[{type:1,path:"showClear"}],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-svg#clear-button mr=md svg=x wh=16 c=mu-fg cur=p",value:{type:0,value:null}}],fast:!0}],fast:!0}],id:null}}],fast:!1},{type:8,properties:[{key:"rtgl-svg svg=chevronDown wh=16 c=mu-fg",value:{type:0,value:null}}],fast:!0}],fast:!1}}],fast:!1}],fast:!1},parsedKey:{type:2,parts:["rtgl-button#select-button v=ol ",{type:1,path:"containerAttrString"}]}}],fast:!1},{type:8,properties:[{key:"rtgl-popover#popover ?open=${isOpen} x=${position.x} y=${position.y} placement=right-start",value:{type:9,items:[{type:8,properties:[{key:"rtgl-view wh=300 g=xs slot=content bgc=background br=md sv=true",value:{type:9,items:[{type:7,itemVar:"option",indexVar:"i",iterable:{type:1,path:"options"},body:{type:9,items:[{type:8,properties:[{key:"rtgl-view#option-${i} w=f ph=lg pv=md cur=p br=md bgc=${option.bgc}",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text",value:{type:1,path:"option.label"}}],fast:!0}],fast:!0},parsedKey:{type:2,parts:["rtgl-view#option-",{type:1,path:"i"}," w=f ph=lg pv=md cur=p br=md bgc=",{type:1,path:"option.bgc"}]}}],fast:!0}],fast:!0}},{type:8,properties:[{key:"$if showAddOption",value:{type:6,conditions:[{type:1,path:"showAddOption"}],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-view w=f bw=xs bc=mu-bg bt=sm",value:{type:0,value:null}}],fast:!0},{type:8,properties:[{key:"rtgl-view#option-add w=f ph=lg pv=md cur=p br=md bgc=${addOptionBgc}",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text c=ac",value:{type:1,path:"addOptionLabel"}}],fast:!0}],fast:!0},parsedKey:{type:2,parts:["rtgl-view#option-add w=f ph=lg pv=md cur=p br=md bgc=",{type:1,path:"addOptionBgc"}]}}],fast:!0}],fast:!0}],id:null}}],fast:!1}],fast:!1}}],fast:!1}],fast:!1},parsedKey:{type:2,parts:["rtgl-popover#popover ?open=",{type:1,path:"isOpen"}," x=",{type:1,path:"position.x"}," y=",{type:1,path:"position.y"}," placement=right-start"]}}],fast:!1}],fast:!1}};var It={};R(It,{handleHeaderClick:()=>vo,handleItemClick:()=>bo});var vo=(e,t)=>{let{store:r,dispatchEvent:s}=t,i,n=r.selectHeader();e.currentTarget.id==="header-label"?i=n.labelPath:e.currentTarget.id==="header-image"?i=n.image.path:e.currentTarget.id==="header"&&(i=n.path),s(new CustomEvent("headerClick",{detail:{path:i},bubbles:!0,composed:!0}))},bo=(e,t)=>{let{store:r,dispatchEvent:s}=t,i=e.currentTarget.id.replace("item-",""),n=r.selectItem(i);s(new CustomEvent("itemClick",{detail:{item:n},bubbles:!0,composed:!0}))};var Tt={};R(Tt,{INITIAL_STATE:()=>wo,selectActiveItem:()=>ko,selectHeader:()=>Ao,selectItem:()=>So,setState:()=>$o,toViewData:()=>Eo});var wo=Object.freeze({}),xo=["id","class","style","slot"],_o=e=>Object.entries(e).filter(([t])=>!xo.includes(t)).map(([t,r])=>`${t}=${r}`).join(" ");function Ot(e,t=null){let r=[];for(let s of e){let i=s.id||s.href||s.path,n=t===i;if(r.push({id:i,title:s.title,href:s.href,type:s.type||"item",icon:s.icon,hrefAttr:s.href?`href=${s.href}`:"",isSelected:n,itemBgc:n?"ac":"bg",itemHoverBgc:n?"ac":"mu"}),s.items&&Array.isArray(s.items))for(let o of s.items){let a=o.id||o.href||o.path,l=t===a;r.push({id:a,title:o.title,href:o.href,type:o.type||"item",icon:o.icon,hrefAttr:o.href?`href=${o.href}`:"",isSelected:l,itemBgc:l?"ac":"bg",itemHoverBgc:l?"ac":"mu"})}}return r}var Eo=({state:e,props:t,attrs:r})=>{let s=r.header?JSON.parse(decodeURIComponent(r.header)):t.header,i=r.items?JSON.parse(decodeURIComponent(r.items)):t.items,n=r.selectedItemId||t.selectedItemId,o=_o(r),a=r.mode||"full",l=s||{label:"",path:"",image:{src:"",alt:"",width:0,height:0}},p=i?Ot(i,n):[],c=a==="full"?272:64,u=a==="full"?"fs":"c",d=a==="full"?"fs":"c",y=a==="full"?"lg":"sm",h=a==="full"?"md":"sm",f=a==="shrunk-lg"?48:40,m=a==="shrunk-lg"?28:20,v=a==="shrunk-lg"?"md":"sm",b=a==="full",x=a==="full",_=a==="full"?"fs":"c",A=a==="full"?"":`ah=${d}`,k=a==="full"?"f":f;return{containerAttrString:o,mode:a,header:l,items:p,sidebarWidth:c,headerAlign:u,itemAlign:d,headerPadding:y,itemPadding:h,itemHeight:f,iconSize:m,firstLetterSize:v,showLabels:b,showGroupLabels:x,itemContentAlign:_,itemAlignAttr:A,itemWidth:k,headerWidth:k,selectedItemId:n,ah:a==="shrunk-lg"||a==="shrunk-md"?"c":""}},Ao=({state:e,props:t,attrs:r})=>r.header?JSON.parse(decodeURIComponent(r.header)):t.header,ko=({state:e,props:t})=>(t.items?Ot(t.items):[]).find(s=>s.active),So=({state:e,props:t,attrs:r},s)=>{let i=r.items?JSON.parse(decodeURIComponent(r.items)):t.items;return(i?Ot(i):[]).find(o=>o.id===s)},$o=e=>{};var Ur={elementName:"rtgl-sidebar",viewDataSchema:{type:"object",properties:{containerAttrString:{type:"string"},mode:{type:"string",enum:["full","shrunk","shrunk-lg"],default:"full"},sidebarWidth:{type:"number"},headerAlign:{type:"string"},itemAlign:{type:"string"},headerPadding:{type:"string"},itemPadding:{type:"string"},itemHeight:{type:"number"},iconSize:{type:"number"},firstLetterSize:{type:"string"},showLabels:{type:"boolean"},showGroupLabels:{type:"boolean"},itemContentAlign:{type:"string"},itemAlignAttr:{type:"string"},itemWidth:{type:"string"},headerWidth:{type:"string"},selectedItemId:{type:"string"},header:{type:"object",properties:{label:{type:"string"},href:{type:"string"},image:{type:"object",properties:{src:{type:"string"},width:{type:"number"},height:{type:"number"},alt:{type:"string"}}}}},items:{type:"array",items:{type:"object",properties:{title:{type:"string"},slug:{type:"string"},type:{type:"string"},active:{type:"boolean"},icon:{type:"string"}}}}}},propsSchema:{type:"object",properties:{selectedItemId:{type:"string"},header:{type:"object",properties:{label:{type:"string"},href:{type:"string"},image:{type:"object",properties:{src:{type:"string"},width:{type:"number"},height:{type:"number"},alt:{type:"string"}}}}},items:{type:"array",items:{type:"object",properties:{title:{type:"string"},slug:{type:"string"},type:{type:"string"},items:{type:"array"}}}}}},refs:{"header-image":{eventListeners:{click:{handler:"handleHeaderClick"}}},"header-label":{eventListeners:{click:{handler:"handleHeaderClick"}}},header:{eventListeners:{click:{handler:"handleHeaderClick"}}},"item-*":{eventListeners:{click:{handler:"handleItemClick"}}}},events:{headerClick:{type:"object",properties:{path:{type:"string"}}}},anchors:[[{"$if header.image && header.image.src":[{"$if header.image.href":[{"a href=${header.image.href}":[{'rtgl-image w=${header.image.width} h=${header.image.height} src=${header.image.src} alt="${header.image.alt}"':null}]}],"$elif header.image.path":[{"rtgl-view#header-image cur=p":[{'rtgl-image w=${header.image.width} h=${header.image.height} src=${header.image.src} alt="${header.image.alt}"':null}]}],$else:[{'rtgl-image w=${header.image.width} h=${header.image.height} src=${header.image.src} alt="${header.image.alt}"':null}]}]},{"$if header.label && showLabels":[{"$if header.labelHref":[{"rtgl-text href=${header.labelHref} s=lg":"${header.label}"}],"$elif header.labelPath":[{"rtgl-view#header-label cur=p":[{"rtgl-text s=lg":"${header.label}"}]}],$else:[{"rtgl-text s=lg":"${header.label}"}]}]}]],template:{type:9,items:[{type:8,properties:[{key:"rtgl-view h=f w=${sidebarWidth} bwr=xs ah=${ah} ${containerAttrString}",value:{type:9,items:[{type:8,properties:[{key:"rtgl-view ph=${headerPadding} pv=lg",value:{type:9,items:[{type:8,properties:[{key:"$if header.href",value:{type:6,conditions:[{type:1,path:"header.href"},null],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-view href=${header.href} d=h av=c ah=${headerAlign} g=lg w=${headerWidth}",value:{type:9,items:[{type:9,items:[{type:8,properties:[{key:"$if header.image && header.image.src",value:{type:6,conditions:[{type:4,op:6,left:{type:1,path:"header.image"},right:{type:1,path:"header.image.src"}}],bodies:[{type:9,items:[{type:8,properties:[{key:"$if header.image.href",value:{type:6,conditions:[{type:1,path:"header.image.href"},{type:1,path:"header.image.path"},null],bodies:[{type:9,items:[{type:8,properties:[{key:"a href=${header.image.href}",value:{type:9,items:[{type:8,properties:[{key:'rtgl-image w=${header.image.width} h=${header.image.height} src=${header.image.src} alt="${header.image.alt}"',value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-image w=",{type:1,path:"header.image.width"}," h=",{type:1,path:"header.image.height"}," src=",{type:1,path:"header.image.src"},' alt="',{type:1,path:"header.image.alt"},'"']}}],fast:!0}],fast:!0},parsedKey:{type:2,parts:["a href=",{type:1,path:"header.image.href"}]}}],fast:!0}],fast:!0},{type:9,items:[{type:8,properties:[{key:"rtgl-view#header-image cur=p",value:{type:9,items:[{type:8,properties:[{key:'rtgl-image w=${header.image.width} h=${header.image.height} src=${header.image.src} alt="${header.image.alt}"',value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-image w=",{type:1,path:"header.image.width"}," h=",{type:1,path:"header.image.height"}," src=",{type:1,path:"header.image.src"},' alt="',{type:1,path:"header.image.alt"},'"']}}],fast:!0}],fast:!0}}],fast:!0}],fast:!0},{type:9,items:[{type:8,properties:[{key:'rtgl-image w=${header.image.width} h=${header.image.height} src=${header.image.src} alt="${header.image.alt}"',value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-image w=",{type:1,path:"header.image.width"}," h=",{type:1,path:"header.image.height"}," src=",{type:1,path:"header.image.src"},' alt="',{type:1,path:"header.image.alt"},'"']}}],fast:!0}],fast:!0}],id:null}}],fast:!1}],fast:!1}],id:null}}],fast:!1},{type:8,properties:[{key:"$if header.label && showLabels",value:{type:6,conditions:[{type:4,op:6,left:{type:1,path:"header.label"},right:{type:1,path:"showLabels"}}],bodies:[{type:9,items:[{type:8,properties:[{key:"$if header.labelHref",value:{type:6,conditions:[{type:1,path:"header.labelHref"},{type:1,path:"header.labelPath"},null],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-text href=${header.labelHref} s=lg",value:{type:1,path:"header.label"},parsedKey:{type:2,parts:["rtgl-text href=",{type:1,path:"header.labelHref"}," s=lg"]}}],fast:!0}],fast:!0},{type:9,items:[{type:8,properties:[{key:"rtgl-view#header-label cur=p",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text s=lg",value:{type:1,path:"header.label"}}],fast:!0}],fast:!0}}],fast:!0}],fast:!0},{type:9,items:[{type:8,properties:[{key:"rtgl-text s=lg",value:{type:1,path:"header.label"}}],fast:!0}],fast:!0}],id:null}}],fast:!1}],fast:!1}],id:null}}],fast:!1}],fast:!1}],fast:!1},parsedKey:{type:2,parts:["rtgl-view href=",{type:1,path:"header.href"}," d=h av=c ah=",{type:1,path:"headerAlign"}," g=lg w=",{type:1,path:"headerWidth"}]}}],fast:!1}],fast:!1},{type:9,items:[{type:8,properties:[{key:"rtgl-view#header d=h av=c ah=${headerAlign} g=lg w=${headerWidth} cur=p",value:{type:9,items:[{type:9,items:[{type:8,properties:[{key:"$if header.image && header.image.src",value:{type:6,conditions:[{type:4,op:6,left:{type:1,path:"header.image"},right:{type:1,path:"header.image.src"}}],bodies:[{type:9,items:[{type:8,properties:[{key:"$if header.image.href",value:{type:6,conditions:[{type:1,path:"header.image.href"},{type:1,path:"header.image.path"},null],bodies:[{type:9,items:[{type:8,properties:[{key:"a href=${header.image.href}",value:{type:9,items:[{type:8,properties:[{key:'rtgl-image w=${header.image.width} h=${header.image.height} src=${header.image.src} alt="${header.image.alt}"',value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-image w=",{type:1,path:"header.image.width"}," h=",{type:1,path:"header.image.height"}," src=",{type:1,path:"header.image.src"},' alt="',{type:1,path:"header.image.alt"},'"']}}],fast:!0}],fast:!0},parsedKey:{type:2,parts:["a href=",{type:1,path:"header.image.href"}]}}],fast:!0}],fast:!0},{type:9,items:[{type:8,properties:[{key:"rtgl-view#header-image cur=p",value:{type:9,items:[{type:8,properties:[{key:'rtgl-image w=${header.image.width} h=${header.image.height} src=${header.image.src} alt="${header.image.alt}"',value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-image w=",{type:1,path:"header.image.width"}," h=",{type:1,path:"header.image.height"}," src=",{type:1,path:"header.image.src"},' alt="',{type:1,path:"header.image.alt"},'"']}}],fast:!0}],fast:!0}}],fast:!0}],fast:!0},{type:9,items:[{type:8,properties:[{key:'rtgl-image w=${header.image.width} h=${header.image.height} src=${header.image.src} alt="${header.image.alt}"',value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-image w=",{type:1,path:"header.image.width"}," h=",{type:1,path:"header.image.height"}," src=",{type:1,path:"header.image.src"},' alt="',{type:1,path:"header.image.alt"},'"']}}],fast:!0}],fast:!0}],id:null}}],fast:!1}],fast:!1}],id:null}}],fast:!1},{type:8,properties:[{key:"$if header.label && showLabels",value:{type:6,conditions:[{type:4,op:6,left:{type:1,path:"header.label"},right:{type:1,path:"showLabels"}}],bodies:[{type:9,items:[{type:8,properties:[{key:"$if header.labelHref",value:{type:6,conditions:[{type:1,path:"header.labelHref"},{type:1,path:"header.labelPath"},null],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-text href=${header.labelHref} s=lg",value:{type:1,path:"header.label"},parsedKey:{type:2,parts:["rtgl-text href=",{type:1,path:"header.labelHref"}," s=lg"]}}],fast:!0}],fast:!0},{type:9,items:[{type:8,properties:[{key:"rtgl-view#header-label cur=p",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text s=lg",value:{type:1,path:"header.label"}}],fast:!0}],fast:!0}}],fast:!0}],fast:!0},{type:9,items:[{type:8,properties:[{key:"rtgl-text s=lg",value:{type:1,path:"header.label"}}],fast:!0}],fast:!0}],id:null}}],fast:!1}],fast:!1}],id:null}}],fast:!1}],fast:!1}],fast:!1},parsedKey:{type:2,parts:["rtgl-view#header d=h av=c ah=",{type:1,path:"headerAlign"}," g=lg w=",{type:1,path:"headerWidth"}," cur=p"]}}],fast:!1}],fast:!1}],id:null}}],fast:!1}],fast:!1},parsedKey:{type:2,parts:["rtgl-view ph=",{type:1,path:"headerPadding"}," pv=lg"]}}],fast:!1},{type:8,properties:[{key:"rtgl-view w=f ph=${headerPadding} pb=lg g=xs ah=${ah}",value:{type:9,items:[{type:7,itemVar:"item",indexVar:"i",iterable:{type:1,path:"items"},body:{type:9,items:[{type:8,properties:[{key:'$if item.type == "groupLabel"',value:{type:6,conditions:[{type:4,op:0,left:{type:1,path:"item.type"},right:{type:0,value:"groupLabel"}},null],bodies:[{type:9,items:[{type:8,properties:[{key:"$if showGroupLabels",value:{type:6,conditions:[{type:1,path:"showGroupLabels"},null],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-view mt=md h=32 av=c ph=md",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text s=xs c=mu-fg",value:{type:1,path:"item.title"}}],fast:!0}],fast:!0}}],fast:!0}],fast:!0},{type:9,items:[{type:8,properties:[{key:"rtgl-view mt=md h=1 bgc=mu-bg",value:{type:0,value:null}}],fast:!0}],fast:!0}],id:null}}],fast:!1}],fast:!1},{type:9,items:[{type:8,properties:[{key:"rtgl-view#item-${item.id} ${item.hrefAttr} h=${itemHeight} av=c ${itemAlignAttr} ph=${itemPadding} w=${itemWidth} h-bgc=${item.itemHoverBgc} br=lg bgc=${item.itemBgc} cur=p",value:{type:9,items:[{type:8,properties:[{key:"$if item.icon",value:{type:6,conditions:[{type:1,path:"item.icon"},null],bodies:[{type:9,items:[{type:8,properties:[{key:"$if showLabels",value:{type:6,conditions:[{type:1,path:"showLabels"},null],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-view d=h ah=${itemContentAlign} g=sm",value:{type:9,items:[{type:8,properties:[{key:"rtgl-svg wh=16 svg=${item.icon} c=fg",value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-svg wh=16 svg=",{type:1,path:"item.icon"}," c=fg"]}}],fast:!0},{type:8,properties:[{key:"rtgl-text s=sm",value:{type:1,path:"item.title"}}],fast:!0}],fast:!0},parsedKey:{type:2,parts:["rtgl-view d=h ah=",{type:1,path:"itemContentAlign"}," g=sm"]}}],fast:!0}],fast:!0},{type:9,items:[{type:8,properties:[{key:"rtgl-svg wh=${iconSize} svg=${item.icon} c=fg",value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-svg wh=",{type:1,path:"iconSize"}," svg=",{type:1,path:"item.icon"}," c=fg"]}}],fast:!0}],fast:!0}],id:null}}],fast:!1}],fast:!1},{type:9,items:[{type:8,properties:[{key:"$if showLabels",value:{type:6,conditions:[{type:1,path:"showLabels"},null],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-text s=sm",value:{type:1,path:"item.title"}}],fast:!0}],fast:!0},{type:9,items:[{type:8,properties:[{key:"rtgl-view wh=${iconSize} br=f bgc=mu av=c ah=c",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text s=${firstLetterSize} c=fg",value:{type:1,path:"item.title.charAt(0).toUpperCase()"},parsedKey:{type:2,parts:["rtgl-text s=",{type:1,path:"firstLetterSize"}," c=fg"]}}],fast:!0}],fast:!0},parsedKey:{type:2,parts:["rtgl-view wh=",{type:1,path:"iconSize"}," br=f bgc=mu av=c ah=c"]}}],fast:!0}],fast:!0}],id:null}}],fast:!1}],fast:!1}],id:null}}],fast:!1}],fast:!1},parsedKey:{type:2,parts:["rtgl-view#item-",{type:1,path:"item.id"}," ",{type:1,path:"item.hrefAttr"}," h=",{type:1,path:"itemHeight"}," av=c ",{type:1,path:"itemAlignAttr"}," ph=",{type:1,path:"itemPadding"}," w=",{type:1,path:"itemWidth"}," h-bgc=",{type:1,path:"item.itemHoverBgc"}," br=lg bgc=",{type:1,path:"item.itemBgc"}," cur=p"]}}],fast:!1}],fast:!1}],id:null}}],fast:!1}],fast:!1}}],fast:!1},parsedKey:{type:2,parts:["rtgl-view w=f ph=",{type:1,path:"headerPadding"}," pb=lg g=xs ah=",{type:1,path:"ah"}]}}],fast:!1}],fast:!1},parsedKey:{type:2,parts:["rtgl-view h=f w=",{type:1,path:"sidebarWidth"}," bwr=xs ah=",{type:1,path:"ah"}," ",{type:1,path:"containerAttrString"}]}}],fast:!1}],fast:!1}};var Lt={};R(Lt,{handleBeforeMount:()=>Co,handleOnUpdate:()=>Io,handleValueChange:()=>Oo});var Co=e=>{let{store:t,attrs:r}=e;t.setValue(r.defaultValue||0)},Io=(e,t)=>{let{oldAttrs:r,newAttrs:s}=e,{store:i,render:n,attrs:o}=t;if(r?.key!==s?.key&&s?.key){let a=s?.defaultValue||o?.defaultValue||0;i.setValue(a),n()}else if(r?.defaultValue!==s?.defaultValue){let a=s?.defaultValue||0;i.setValue(a),n()}},Oo=(e,t)=>{let{store:r,render:s,dispatchEvent:i}=t,n=Number(e.detail.value);r.setValue(n),s(),i(new CustomEvent("slider-input-value-change",{detail:{value:n},bubbles:!0}))};var Nt={};R(Nt,{INITIAL_STATE:()=>To,setValue:()=>No,toViewData:()=>Lo});var To=Object.freeze({value:0}),Lo=({state:e,attrs:t})=>({key:t.key,value:e.value,w:t.w||"",min:t.min||0,max:t.max||100,step:t.step||1}),No=(e,t)=>{e.value=t};var zr={elementName:"rtgl-slider-input",viewDataSchema:{type:"object"},attrsSchema:{type:"object",properties:{defaultValue:{type:"string",default:"0"},w:{type:"string",default:""},min:{type:"string",default:"0"},max:{type:"string",default:"100"},step:{type:"string",default:"1"}}},refs:{input:{eventListeners:{"input-change":{handler:"handleValueChange"}}},slider:{eventListeners:{"slider-change":{handler:"handleValueChange"}}}},events:{"form-change":{}},template:{type:9,items:[{type:8,properties:[{key:"rtgl-view d=h av=c g=md w=${w}",value:{type:9,items:[{type:8,properties:[{key:"rtgl-slider#slider key=${key} w=f type=range min=${min} max=${max} step=${step} value=${value}",value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-slider#slider key=",{type:1,path:"key"}," w=f type=range min=",{type:1,path:"min"}," max=",{type:1,path:"max"}," step=",{type:1,path:"step"}," value=",{type:1,path:"value"}]}}],fast:!0},{type:8,properties:[{key:"rtgl-view w=84",value:{type:9,items:[{type:8,properties:[{key:"rtgl-input#input key=${key} w=f type=number min=${min} max=${max} step=${step} value=${value}",value:{type:0,value:null},parsedKey:{type:2,parts:["rtgl-input#input key=",{type:1,path:"key"}," w=f type=number min=",{type:1,path:"min"}," max=",{type:1,path:"max"}," step=",{type:1,path:"step"}," value=",{type:1,path:"value"}]}}],fast:!0}],fast:!0}}],fast:!0}],fast:!0},parsedKey:{type:2,parts:["rtgl-view d=h av=c g=md w=",{type:1,path:"w"}]}}],fast:!0}],fast:!0}};var Vt={};R(Vt,{handleBeforeMount:()=>Vo,handleHeaderClick:()=>Po,handleRowClick:()=>Ro});var Vo=e=>{},Ro=(e,t)=>{let{dispatchEvent:r,props:s}=t,i=parseInt(e.currentTarget.id.replace("row-","")),n=s.data?.rows?.[i];n&&r(new CustomEvent("row-click",{detail:{rowIndex:i,rowData:n}}))},Po=(e,t)=>{let{store:r,render:s,dispatchEvent:i}=t,n=e.currentTarget.id.replace("header-",""),o=r.selectSortInfo(),a="asc";o.column===n&&(o.direction==="asc"?a="desc":o.direction==="desc"&&(a=null)),a?r.setSortColumn({column:n,direction:a}):r.clearSort(),s(),i(new CustomEvent("header-click",{detail:{column:n,direction:a,sortInfo:a?{column:n,direction:a}:null}}))};var Rt={};R(Rt,{INITIAL_STATE:()=>jo,clearSort:()=>zo,selectSortInfo:()=>Ko,selectState:()=>Fo,setSortColumn:()=>Uo,toViewData:()=>Mo});var jo=Object.freeze({sortColumn:null,sortDirection:null}),Do=["id","class","style","slot"],Bo=e=>Object.entries(e).filter(([t])=>!Do.includes(t)).map(([t,r])=>`${t}=${r}`).join(" "),Wo=(e,t)=>{let r=t.split("."),s=e;for(let i of r){if(s==null)return null;s=s[i]}return s},Mo=({state:e,props:t,attrs:r})=>{let s=Bo(r),i=t.data||{columns:[],rows:[]},n=i.rows.map((o,a)=>{let l=i.columns.map(p=>{let c=Wo(o,p.key);return{key:p.key,value:c!=null?String(c):""}});return{index:a,cells:l}});return{containerAttrString:s,columns:i.columns||[],rows:n||[]}},Fo=({state:e})=>e,Ko=({state:e})=>({column:e.sortColumn,direction:e.sortDirection}),Uo=(e,{column:t,direction:r})=>{e.sortColumn=t,e.sortDirection=r},zo=e=>{e.sortColumn=null,e.sortDirection=null};var Hr={elementName:"rtgl-table",viewDataSchema:{type:"object",properties:{columns:{type:"array"},rows:{type:"array"},containerAttrString:{type:"string"}}},propsSchema:{type:"object",properties:{data:{type:"object",properties:{columns:{type:"array",items:{type:"object",properties:{key:{type:"string"},label:{type:"string"}}}},rows:{type:"array",items:{type:"object"}}}},responsive:{type:"boolean",default:!0}}},refs:{"row-*":{eventListeners:{click:{handler:"handleRowClick"}}},"header-*":{eventListeners:{click:{handler:"handleHeaderClick"}}}},events:{},styles:{table:{width:"100%","border-collapse":"collapse","border-spacing":0},thead:{"border-bottom":"2px solid var(--border)"},th:{padding:"12px","text-align":"left","font-weight":500,color:"var(--foreground)","background-color":"var(--muted)",cursor:"pointer",position:"sticky",top:0,"z-index":1},"tbody tr":{"border-bottom":"1px solid var(--border)"},"tbody tr:last-child":{"border-bottom":"none"},td:{padding:"12px",color:"var(--foreground)"},".table-container":{width:"100%",height:"100%",overflow:"auto"},".empty-state":{"text-align":"center",padding:"24px",color:"var(--muted-foreground)"}},template:{type:9,items:[{type:8,properties:[{key:"rtgl-view.table-container ${containerAttrString}",value:{type:9,items:[{type:8,properties:[{key:"$if rows.length > 0",value:{type:6,conditions:[{type:4,op:2,left:{type:1,path:"rows.length"},right:{type:0,value:0}},null],bodies:[{type:9,items:[{type:8,properties:[{key:"table",value:{type:9,items:[{type:8,properties:[{key:"thead",value:{type:9,items:[{type:8,properties:[{key:"tr",value:{type:9,items:[{type:7,itemVar:"column",indexVar:"i",iterable:{type:1,path:"columns"},body:{type:9,items:[{type:8,properties:[{key:"th#header-${column.key}",value:{type:1,path:"column.label"},parsedKey:{type:2,parts:["th#header-",{type:1,path:"column.key"}]}}],fast:!0}],fast:!0}}],fast:!1}}],fast:!1}],fast:!1}}],fast:!1},{type:8,properties:[{key:"tbody",value:{type:9,items:[{type:7,itemVar:"row",indexVar:"rowIndex",iterable:{type:1,path:"rows"},body:{type:9,items:[{type:8,properties:[{key:"tr#row-${row.index}",value:{type:9,items:[{type:7,itemVar:"cell",indexVar:"cellIndex",iterable:{type:1,path:"row.cells"},body:{type:9,items:[{type:8,properties:[{key:"td",value:{type:1,path:"cell.value"}}],fast:!0}],fast:!0}}],fast:!1},parsedKey:{type:2,parts:["tr#row-",{type:1,path:"row.index"}]}}],fast:!1}],fast:!1}}],fast:!1}}],fast:!1}],fast:!1}}],fast:!1}],fast:!1},{type:9,items:[{type:8,properties:[{key:"rtgl-view.empty-state w=f p=xl",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text c=mu-fg",value:{type:0,value:"No data available"}}],fast:!0}],fast:!0}}],fast:!0}],fast:!0}],id:null}}],fast:!1}],fast:!1},parsedKey:{type:2,parts:["rtgl-view.table-container ",{type:1,path:"containerAttrString"}]}}],fast:!1}],fast:!1}};var Pt={};R(Pt,{handleClickItem:()=>Ho});var Ho=(e,t)=>{let{dispatchEvent:r}=t,s=e.currentTarget.dataset.id;r(new CustomEvent("item-click",{detail:{id:s}}))};var jt={};R(jt,{INITIAL_STATE:()=>Jo,toViewData:()=>Yo});var Jo=Object.freeze({}),qo=["id","class","style","slot"],Go=e=>Object.entries(e).filter(([t])=>!qo.includes(t)).map(([t,r])=>`${t}=${r}`).join(" "),Yo=({state:e,props:t,attrs:r})=>{let s=Go(r),i=t.items||[],n=r["selected-tab"],o=i.map(a=>({...a,isSelected:a.id===n,bgColor:a.id===n?"ac":"",borderColor:a.id===n?"":"tr",textColor:a.id===n?"":"mu-fg"}));return{containerAttrString:s,items:o,selectedTab:n}};var Jr={elementName:"rtgl-tabs",viewDataSchema:{type:"object",properties:{containerAttrString:{type:"string"},items:{type:"array",items:{type:"object",properties:{label:{type:"string"},id:{type:"string"},isSelected:{type:"boolean"},bgColor:{type:"string"},textColor:{type:"string"},borderColor:{type:"string"}}}},selectedTab:{type:"string"}}},propsSchema:{type:"object",properties:{items:{type:"array",items:{type:"object",properties:{label:{type:"string"},id:{type:"string"}}}}}},attrsSchema:{type:"object",properties:{"selected-tab":{type:"string"}}},refs:{"tab-*":{eventListeners:{click:{handler:"handleClickItem"}}}},events:{"item-click":{type:"object",properties:{id:{type:"string"}}}},template:{type:9,items:[{type:8,properties:[{key:"rtgl-view d=h g=sm bgc=mu p=sm br=lg ${containerAttrString}",value:{type:9,items:[{type:7,itemVar:"item",indexVar:null,iterable:{type:1,path:"items"},body:{type:9,items:[{type:8,properties:[{key:"rtgl-view#tab-${item.id} data-id=${item.id} cur=p bgc=${item.bgColor} bw=xs bc=${item.borderColor} pv=md ph=lg br=lg",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text s=sm c=${item.textColor}",value:{type:1,path:"item.label"},parsedKey:{type:2,parts:["rtgl-text s=sm c=",{type:1,path:"item.textColor"}]}}],fast:!0}],fast:!0},parsedKey:{type:2,parts:["rtgl-view#tab-",{type:1,path:"item.id"}," data-id=",{type:1,path:"item.id"}," cur=p bgc=",{type:1,path:"item.bgColor"}," bw=xs bc=",{type:1,path:"item.borderColor"}," pv=md ph=lg br=lg"]}}],fast:!0}],fast:!0}}],fast:!1},parsedKey:{type:2,parts:["rtgl-view d=h g=sm bgc=mu p=sm br=lg ",{type:1,path:"containerAttrString"}]}}],fast:!1}],fast:!1}};var qr={};var Dt={};R(Dt,{INITIAL_STATE:()=>Xo,toViewData:()=>Qo});var Xo=Object.freeze({}),Qo=({attrs:e})=>({open:!!e.open,x:e.x||0,y:e.y||0,placement:e.placement||"top",content:e.content||""});var Gr={elementName:"rtgl-tooltip",viewDataSchema:{type:"object"},attrsSchema:{type:"object",properties:{open:{type:"string"},x:{type:"string"},y:{type:"string"},placement:{type:"string"},content:{type:"string"}}},refs:{popover:null},template:{type:9,items:[{type:8,properties:[{key:"rtgl-popover#popover ?open=${open} x=${x} y=${y} placement=${placement} no-overlay",value:{type:9,items:[{type:8,properties:[{key:"rtgl-view slot=content bgc=background bc=border br=md p=sm ah=c av=c",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text ta=c s=sm c=foreground",value:{type:1,path:"content"}}],fast:!0}],fast:!0}}],fast:!0}],fast:!0},parsedKey:{type:2,parts:["rtgl-popover#popover ?open=",{type:1,path:"open"}," x=",{type:1,path:"x"}," y=",{type:1,path:"y"}," placement=",{type:1,path:"placement"}," no-overlay"]}}],fast:!0}],fast:!0}};var Bt={};R(Bt,{handleAfterMount:()=>Zo,handleOnUpdate:()=>ea});var Zo=async e=>{let{props:t,store:r,render:s,getRefIds:i}=e,{waveformData:n}=t;r.setWaveformData(n),s();let o=i().canvas?.elm;o&&Yr(n,o)},ea=async(e,t)=>{let{store:r,render:s,getRefIds:i,props:n}=t,{waveformData:o}=n;if(!o){console.log("waveform handleOnUpdate: no waveformData provided");return}r.setWaveformData(o),s();let a=i().canvas?.elm;a&&Yr(o,a)};async function Yr(e,t){let r=t.getContext("2d"),s=t.getBoundingClientRect(),i=s.width,n=s.height;t.width=i,t.height=n;let o=t.width,a=t.height;if(r.clearRect(0,0,o,a),r.fillStyle="#1a1a1a",r.fillRect(0,0,o,a),!e||!e.amplitudes)return;let l=e.amplitudes,p=a/2,c=r.createLinearGradient(0,0,0,a);c.addColorStop(0,"#404040"),c.addColorStop(.5,"#A1A1A1"),c.addColorStop(1,"#404040");let u=Math.max(1,o/l.length),d=.2;for(let y=0;y<l.length;y++){let f=l[y]*(a*.85),m=y*u,v=p-f/2;r.fillStyle=c,r.fillRect(m,v,Math.max(1,u*(1-d)),f)}r.strokeStyle="rgba(255, 255, 255, 0.1)",r.lineWidth=1,r.beginPath(),r.moveTo(0,p),r.lineTo(o,p),r.stroke(),r.shadowBlur=10,r.shadowColor="#2196F3"}var Wt={};R(Wt,{INITIAL_STATE:()=>ta,setWaveformData:()=>ra,toViewData:()=>sa});var ta=Object.freeze({waveformData:null}),ra=(e,t)=>{e.waveformData=t},sa=({state:e,attrs:t,props:r})=>({isLoading:r.isLoading,w:t.w||"250",h:t.h||"150",cur:t.cur,waveformData:r.waveformData});var Xr={elementName:"rtgl-waveform",attrsSchema:{type:"object",properties:{w:{type:"string",description:"Width of the waveform visualizer",default:"250"},h:{type:"string",description:"Height of the waveform visualizer",default:"150"},cur:{type:"string",description:"cursor"}}},propsSchema:{type:"object",properties:{waveformData:{type:"object",description:"File ID of the waveform data in object storage"},isLoading:{type:"boolean",description:"Whether the waveform data is currently being loaded"}}},refs:{canvas:{selector:"canvas"}},template:{type:9,items:[{type:8,properties:[{key:"rtgl-view w=f h=f pos=rel w=${w} h=${h} cur=${cur}",value:{type:9,items:[{type:8,properties:[{key:"$if isLoading",value:{type:6,conditions:[{type:1,path:"isLoading"},null],bodies:[{type:9,items:[{type:8,properties:[{key:"rtgl-view w=f h=f av=c ah=c",value:{type:9,items:[{type:8,properties:[{key:"rtgl-text c=mu-fg",value:{type:0,value:"..."}}],fast:!0}],fast:!0}}],fast:!0}],fast:!0},{type:9,items:[{type:8,properties:[{key:'canvas#canvas style="width:100%; height:100%;"',value:{type:0,value:null}}],fast:!0}],fast:!0}],id:null}}],fast:!1}],fast:!1},parsedKey:{type:2,parts:["rtgl-view w=f h=f pos=rel w=",{type:1,path:"w"}," h=",{type:1,path:"h"}," cur=",{type:1,path:"cur"}]}}],fast:!1}],fast:!1}};var ss=Symbol.for("immer-nothing"),Qr=Symbol.for("immer-draftable"),Y=Symbol.for("immer-state");function te(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var ve=Object.getPrototypeOf;function be(e){return!!e&&!!e[Y]}function ce(e){return e?is(e)||Array.isArray(e)||!!e[Qr]||!!e.constructor?.[Qr]||Be(e)||We(e):!1}var ia=Object.prototype.constructor.toString();function is(e){if(!e||typeof e!="object")return!1;let t=ve(e);if(t===null)return!0;let r=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;return r===Object?!0:typeof r=="function"&&Function.toString.call(r)===ia}function Re(e,t){De(e)===0?Reflect.ownKeys(e).forEach(r=>{t(r,e[r],e)}):e.forEach((r,s)=>t(s,r,e))}function De(e){let t=e[Y];return t?t.type_:Array.isArray(e)?1:Be(e)?2:We(e)?3:0}function Kt(e,t){return De(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function ns(e,t,r){let s=De(e);s===2?e.set(t,r):s===3?e.add(r):e[t]=r}function na(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}function Be(e){return e instanceof Map}function We(e){return e instanceof Set}function pe(e){return e.copy_||e.base_}function Ut(e,t){if(Be(e))return new Map(e);if(We(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);let r=is(e);if(t===!0||t==="class_only"&&!r){let s=Object.getOwnPropertyDescriptors(e);delete s[Y];let i=Reflect.ownKeys(s);for(let n=0;n<i.length;n++){let o=i[n],a=s[o];a.writable===!1&&(a.writable=!0,a.configurable=!0),(a.get||a.set)&&(s[o]={configurable:!0,writable:!0,enumerable:a.enumerable,value:e[o]})}return Object.create(ve(e),s)}else{let s=ve(e);if(s!==null&&r)return{...e};let i=Object.create(s);return Object.assign(i,e)}}function Gt(e,t=!1){return Me(e)||be(e)||!ce(e)||(De(e)>1&&(e.set=e.add=e.clear=e.delete=oa),Object.freeze(e),t&&Object.entries(e).forEach(([r,s])=>Gt(s,!0))),e}function oa(){te(2)}function Me(e){return Object.isFrozen(e)}var aa={};function ue(e){let t=aa[e];return t||te(0,e),t}var $e;function os(){return $e}function la(e,t){return{drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function Zr(e,t){t&&(ue("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function zt(e){Ht(e),e.drafts_.forEach(pa),e.drafts_=null}function Ht(e){e===$e&&($e=e.parent_)}function es(e){return $e=la($e,e)}function pa(e){let t=e[Y];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function ts(e,t){t.unfinalizedDrafts_=t.drafts_.length;let r=t.drafts_[0];return e!==void 0&&e!==r?(r[Y].modified_&&(zt(t),te(4)),ce(e)&&(e=Pe(t,e),t.parent_||je(t,e)),t.patches_&&ue("Patches").generateReplacementPatches_(r[Y].base_,e,t.patches_,t.inversePatches_)):e=Pe(t,r,[]),zt(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==ss?e:void 0}function Pe(e,t,r){if(Me(t))return t;let s=t[Y];if(!s)return Re(t,(i,n)=>rs(e,s,t,i,n,r)),t;if(s.scope_!==e)return t;if(!s.modified_)return je(e,s.base_,!0),s.base_;if(!s.finalized_){s.finalized_=!0,s.scope_.unfinalizedDrafts_--;let i=s.copy_,n=i,o=!1;s.type_===3&&(n=new Set(i),i.clear(),o=!0),Re(n,(a,l)=>rs(e,s,i,a,l,r,o)),je(e,i,!1),r&&e.patches_&&ue("Patches").generatePatches_(s,r,e.patches_,e.inversePatches_)}return s.copy_}function rs(e,t,r,s,i,n,o){if(be(i)){let a=n&&t&&t.type_!==3&&!Kt(t.assigned_,s)?n.concat(s):void 0,l=Pe(e,i,a);if(ns(r,s,l),be(l))e.canAutoFreeze_=!1;else return}else o&&r.add(i);if(ce(i)&&!Me(i)){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1)return;Pe(e,i),(!t||!t.scope_.parent_)&&typeof s!="symbol"&&Object.prototype.propertyIsEnumerable.call(r,s)&&je(e,i)}}function je(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Gt(t,r)}function ca(e,t){let r=Array.isArray(e),s={type_:r?1:0,scope_:t?t.scope_:os(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1},i=s,n=Yt;r&&(i=[s],n=Ce);let{revoke:o,proxy:a}=Proxy.revocable(i,n);return s.draft_=a,s.revoke_=o,a}var Yt={get(e,t){if(t===Y)return e;let r=pe(e);if(!Kt(r,t))return ua(e,r,t);let s=r[t];return e.finalized_||!ce(s)?s:s===Mt(e.base_,t)?(Ft(e),e.copy_[t]=qt(s,e)):s},has(e,t){return t in pe(e)},ownKeys(e){return Reflect.ownKeys(pe(e))},set(e,t,r){let s=as(pe(e),t);if(s?.set)return s.set.call(e.draft_,r),!0;if(!e.modified_){let i=Mt(pe(e),t),n=i?.[Y];if(n&&n.base_===r)return e.copy_[t]=r,e.assigned_[t]=!1,!0;if(na(r,i)&&(r!==void 0||Kt(e.base_,t)))return!0;Ft(e),Jt(e)}return e.copy_[t]===r&&(r!==void 0||t in e.copy_)||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_[t]=!0),!0},deleteProperty(e,t){return Mt(e.base_,t)!==void 0||t in e.base_?(e.assigned_[t]=!1,Ft(e),Jt(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let r=pe(e),s=Reflect.getOwnPropertyDescriptor(r,t);return s&&{writable:!0,configurable:e.type_!==1||t!=="length",enumerable:s.enumerable,value:r[t]}},defineProperty(){te(11)},getPrototypeOf(e){return ve(e.base_)},setPrototypeOf(){te(12)}},Ce={};Re(Yt,(e,t)=>{Ce[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}});Ce.deleteProperty=function(e,t){return Ce.set.call(this,e,t,void 0)};Ce.set=function(e,t,r){return Yt.set.call(this,e[0],t,r,e[0])};function Mt(e,t){let r=e[Y];return(r?pe(r):e)[t]}function ua(e,t,r){let s=as(t,r);return s?"value"in s?s.value:s.get?.call(e.draft_):void 0}function as(e,t){if(!(t in e))return;let r=ve(e);for(;r;){let s=Object.getOwnPropertyDescriptor(r,t);if(s)return s;r=ve(r)}}function Jt(e){e.modified_||(e.modified_=!0,e.parent_&&Jt(e.parent_))}function Ft(e){e.copy_||(e.copy_=Ut(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var ha=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.produce=(t,r,s)=>{if(typeof t=="function"&&typeof r!="function"){let n=r;r=t;let o=this;return function(l=n,...p){return o.produce(l,c=>r.call(this,c,...p))}}typeof r!="function"&&te(6),s!==void 0&&typeof s!="function"&&te(7);let i;if(ce(t)){let n=es(this),o=qt(t,void 0),a=!0;try{i=r(o),a=!1}finally{a?zt(n):Ht(n)}return Zr(n,s),ts(i,n)}else if(!t||typeof t!="object"){if(i=r(t),i===void 0&&(i=t),i===ss&&(i=void 0),this.autoFreeze_&&Gt(i,!0),s){let n=[],o=[];ue("Patches").generateReplacementPatches_(t,i,n,o),s(n,o)}return i}else te(1,t)},this.produceWithPatches=(t,r)=>{if(typeof t=="function")return(o,...a)=>this.produceWithPatches(o,l=>t(l,...a));let s,i;return[this.produce(t,r,(o,a)=>{s=o,i=a}),s,i]},typeof e?.autoFreeze=="boolean"&&this.setAutoFreeze(e.autoFreeze),typeof e?.useStrictShallowCopy=="boolean"&&this.setUseStrictShallowCopy(e.useStrictShallowCopy)}createDraft(e){ce(e)||te(8),be(e)&&(e=da(e));let t=es(this),r=qt(e,void 0);return r[Y].isManual_=!0,Ht(t),r}finishDraft(e,t){let r=e&&e[Y];(!r||!r.isManual_)&&te(9);let{scope_:s}=r;return Zr(s,t),ts(void 0,s)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}applyPatches(e,t){let r;for(r=t.length-1;r>=0;r--){let i=t[r];if(i.path.length===0&&i.op==="replace"){e=i.value;break}}r>-1&&(t=t.slice(r+1));let s=ue("Patches").applyPatches_;return be(e)?s(e,t):this.produce(e,i=>s(i,t))}};function qt(e,t){let r=Be(e)?ue("MapSet").proxyMap_(e,t):We(e)?ue("MapSet").proxySet_(e,t):ca(e,t);return(t?t.scope_:os()).drafts_.push(r),r}function da(e){return be(e)||te(10,e),ls(e)}function ls(e){if(!ce(e)||Me(e))return e;let t=e[Y],r;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=Ut(e,t.scope_.immer_.useStrictShallowCopy_)}else r=Ut(e,!0);return Re(r,(s,i)=>{ns(r,s,ls(i))}),t&&(t.finalized_=!1),r}var X=new ha,ps=X.produce,$c=X.produceWithPatches.bind(X),Cc=X.setAutoFreeze.bind(X),Ic=X.setUseStrictShallowCopy.bind(X),Oc=X.applyPatches.bind(X),Tc=X.createDraft.bind(X),Lc=X.finishDraft.bind(X);var w={LITERAL:0,VARIABLE:1,INTERPOLATION:2,FUNCTION:3,BINARY:4,UNARY:5,CONDITIONAL:6,LOOP:7,OBJECT:8,ARRAY:9,PARTIAL:10,PATH_REFERENCE:11},J={EQ:0,NEQ:1,GT:2,LT:3,GTE:4,LTE:5,AND:6,OR:7,IN:8,ADD:10,SUBTRACT:11},Fe={NOT:0};var q=class extends Error{constructor(t){super(`Render Error: ${t}`),this.name="JemplRenderError"}};var cs=(e,t,r=!1)=>{if(t===null)return new q(`Cannot iterate over null value at '$for ${e}'`);if(t===void 0)return new q(`Cannot iterate over undefined value at '$for ${e}'`);let s=typeof t;return r?new q(`Cannot iterate over non-array value in loop '${e}' - got ${s} instead`):new q(`Cannot iterate over non-array value (got: ${s}) at '$for ${e}'`)},us=(e,t)=>{let r=t&&Object.keys(t).length>0?Object.keys(t).join(", "):"no custom functions provided";return new q(`Unknown function '${e}' (${r})`)};var fa=(e,t,r={})=>{let s={},i={};r&&typeof r=="object"&&(r.functions!==void 0||r.partials!==void 0?(s=r.functions||{},i=r.partials||{}):typeof r=="object"&&(s=r));let o=I(e,{functions:s,partials:i},t,{});return o===void 0?{}:o},I=(e,t,r,s)=>{let i=t.functions||t;if(e.var&&!e.type)return K(e.var,r,s);if(e.type===w.LITERAL)return e.value;if(e.type===w.VARIABLE)return K(e.path,r,s);if(e.type===w.INTERPOLATION)return ma(e.parts,t,r,s);switch(e.type){case w.FUNCTION:return ds(e,t,r,s);case w.BINARY:return fs(e,t,r,s);case w.UNARY:return ys(e,t,r,s);case w.CONDITIONAL:return va(e,t,r,s);case w.LOOP:return Ea(e,t,r,s);case w.OBJECT:return ka(e,t,r,s);case w.ARRAY:return Sa(e,t,r,s);case w.PARTIAL:return $a(e,t,r,s);case w.PATH_REFERENCE:return Ca(e,t,r,s);default:throw new Error(`Unknown node type: ${e.type}`)}},hs=new Map,ya=e=>{let t=[],r="",s=!1;for(let i=0;i<e.length;i++){let n=e[i];if(n==="[")r&&(t.push({type:"property",value:r}),r=""),s=!0;else if(n==="]"){if(s&&r){let o=r.trim();if(/^\d+$/.test(o))t.push({type:"index",value:parseInt(o,10)});else if(o.startsWith('"')&&o.endsWith('"')||o.startsWith("'")&&o.endsWith("'")){let a=o.slice(1,-1);t.push({type:"property",value:a})}else t.push({type:"property",value:o});r=""}s=!1}else r+=n}return r&&t.push({type:"property",value:r}),t},K=(e,t,r)=>{if(!e)return;if(e in r)return r[e];let s=hs.get(e);if(!s){let n=[],o="",a=0;for(let l=0;l<e.length;l++){let p=e[l];p==="["?(a++,o+=p):p==="]"?(a--,o+=p):p==="."&&a===0?o&&(n.push(o),o=""):o+=p}o&&n.push(o),s=[];for(let l of n){let p=ya(l.trim());s.push(...p)}hs.set(e,s)}let i=t;for(let n=0;n<s.length;n++){let o=s[n];if(o.type==="property"&&o.value in r){i=r[o.value];continue}if(i==null)return;(o.type==="property"||o.type==="index")&&(i=i[o.value])}return i},ma=(e,t,r,s)=>{let i=[];for(let n of e)if(typeof n=="string")i.push(n);else{let o=I(n,t,r,s);i.push(o!=null?String(o):"")}return i.join("")},ds=(e,t,r,s)=>{let i=t.functions||t,n=i[e.name];if(!n)throw us(e.name,i);let o=e.args.map(a=>I(a,t,r,s));return n(...o)},we=(e,t,r,s)=>{if(e.var&&!e.type)return K(e.var,r,s);switch(e.type){case w.VARIABLE:return K(e.path,r,s);case w.LITERAL:return e.value;case w.BINARY:return fs(e,t,r,s);case w.UNARY:return ys(e,t,r,s);case w.FUNCTION:return ds(e,t,r,s);default:return I(e,t,r,s)}},fs=(e,t,r,s)=>{if(e.op===J.AND||e.op===J.OR){let o=we(e.left,t,r,s),a=we(e.right,t,r,s);switch(e.op){case J.AND:return o&&a;case J.OR:return o||a}}let i=I(e.left,t,r,s),n=I(e.right,t,r,s);switch(e.op){case J.EQ:return i==n;case J.NEQ:return i!=n;case J.GT:return i>n;case J.LT:return i<n;case J.GTE:return i>=n;case J.LTE:return i<=n;case J.IN:return Array.isArray(n)?n.includes(i):!1;case J.ADD:if(typeof i!="number"||typeof n!="number")throw new q(`Arithmetic operations require numbers. Got ${typeof i} + ${typeof n}`);return i+n;case J.SUBTRACT:if(typeof i!="number"||typeof n!="number")throw new q(`Arithmetic operations require numbers. Got ${typeof i} - ${typeof n}`);return i-n;default:throw new Error(`Unknown binary operator: ${e.op}`)}},ys=(e,t,r,s)=>{let i=e.op===Fe.NOT?we(e.operand,t,r,s):I(e.operand,t,r,s);switch(e.op){case Fe.NOT:return!i;default:throw new Error(`Unknown unary operator: ${e.op}`)}},ga=(e,t,r,s)=>{if(e.conditions.length===2&&e.conditions[1]===null){let i=e.conditions[0];if(i.type===w.VARIABLE)if(K(i.path,r,s)){let o=e.bodies[0];if(o.type===w.OBJECT&&o.properties.length<=5){let a={};for(let l of o.properties){let p=l.parsedKey?I(l.parsedKey,t,r,s):l.key,c=l.value;if(c.type===w.LITERAL)a[p]=c.value;else if(c.type===w.VARIABLE)a[p]=K(c.path,r,s);else if(c.type===w.INTERPOLATION){let u=[];for(let d of c.parts)if(typeof d=="string")u.push(d);else if(d.type===w.VARIABLE){let y=K(d.path,r,s);u.push(y!=null?String(y):"")}else{let y=I(d,t,r,s);u.push(y!=null?String(y):"")}a[p]=u.join("")}else a[p]=I(c,t,r,s)}return a}}else{let o=e.bodies[1];if(o.type===w.OBJECT&&o.properties.length<=5){let a={};for(let l of o.properties){let p=l.parsedKey?I(l.parsedKey,t,r,s):l.key,c=l.value;if(c.type===w.LITERAL)a[p]=c.value;else if(c.type===w.VARIABLE)a[p]=K(c.path,r,s);else if(c.type===w.INTERPOLATION){let u=[];for(let d of c.parts)if(typeof d=="string")u.push(d);else if(d.type===w.VARIABLE){let y=K(d.path,r,s);u.push(y!=null?String(y):"")}else{let y=I(d,t,r,s);u.push(y!=null?String(y):"")}a[p]=u.join("")}else a[p]=I(c,t,r,s)}return a}}}return null},va=(e,t,r,s)=>{let i=ga(e,t,r,s);if(i!==null)return i;for(let n=0;n<e.conditions.length;n++){let o=e.conditions[n];if(o===null||we(o,t,r,s))return I(e.bodies[n],t,r,s)}return ms},ba=(e,t)=>{let r=e.body,s=e.itemVar;if(r.type===w.CONDITIONAL&&r.conditions.length===1&&r.conditions[0].type===w.VARIABLE){let i=r.conditions[0].path,n=r.bodies[0];if(i.startsWith(s+".")){let o=i.substring(s.length+1);if(n.type===w.OBJECT&&n.properties.length<=5){for(let l of n.properties)if(l.parsedKey)return null;let a=[];for(let l=0;l<t.length;l++){let p=t[l];if(p[o]){let c={};for(let u of n.properties){let d=u.key,y=u.value;if(y.type===w.LITERAL)c[d]=y.value;else if(y.type===w.VARIABLE){let h=y.path;if(h===s)c[d]=p;else if(h.startsWith(s+".")){let f=h.substring(s.length+1);c[d]=p[f]}else return null}else if(y.type===w.INTERPOLATION){let h=[],f=!0;for(let m of y.parts)if(typeof m=="string")h.push(m);else if(m.type===w.VARIABLE){let v=m.path;if(v===s)h.push(p!=null?String(p):"");else if(v.startsWith(s+".")){let b=v.substring(s.length+1),x=p[b];h.push(x!=null?String(x):"")}else{f=!1;break}}else{f=!1;break}if(!f)return null;c[d]=h.join("")}else return null}a.push(c)}}return a}}}return null},wa=(e,t)=>{let r=e.body,s=e.itemVar,i=ba(e,t);if(i!==null)return i;if(r.type===w.OBJECT&&r.properties.length<=5){for(let a of r.properties)if(a.parsedKey)return null;let n=[],o=!0;for(let a of r.properties){let l=a.key,p=a.value;if(p.type===w.LITERAL)n.push({key:l,type:"literal",value:p.value});else if(p.type===w.VARIABLE){let c=p.path;if(c===s)n.push({key:l,type:"item"});else if(c.startsWith(s+".")){let u=c.substring(s.length+1);if(!u.includes(".")&&!u.includes("["))n.push({key:l,type:"prop",prop:u});else{o=!1;break}}else{o=!1;break}}else if(p.type===w.INTERPOLATION&&p.parts.length===1){let c=p.parts[0];if(c.type===w.VARIABLE){let u=c.path;if(u===s)n.push({key:l,type:"item_string"});else if(u.startsWith(s+".")){let d=u.substring(s.length+1);if(!d.includes(".")&&!d.includes("["))n.push({key:l,type:"prop_string",prop:d});else{o=!1;break}}else{o=!1;break}}else{o=!1;break}}else{o=!1;break}}if(o){let a=new Array(t.length);if(n.length===3&&n[0].type==="prop"&&n[0].key==="id"&&n[1].type==="prop_string"&&n[1].key==="title"&&n[2].type==="prop"&&n[2].key==="completed")for(let l=0;l<t.length;l++){let p=t[l];a[l]={id:p.id,title:p.title!=null?String(p.title):"",completed:p.completed}}else for(let l=0;l<t.length;l++){let p=t[l],c={};for(let u of n)if(u.type==="literal")c[u.key]=u.value;else if(u.type==="item")c[u.key]=p;else if(u.type==="prop")c[u.key]=p[u.prop];else if(u.type==="item_string")c[u.key]=p!=null?String(p):"";else if(u.type==="prop_string"){let d=p[u.prop];c[u.key]=d!=null?String(d):""}a[l]=c}return a}}return null},xa=(e,t,r,s,i)=>{let n=[],o=e.body;if(o.type===w.OBJECT&&o.fast!==!1){let a=e.itemVar,l=e.indexVar;for(let p=0;p<i.length;p++){let c=i[p],u={},d={...s,[a]:c,...l&&{[l]:p}};d.__paths__||(d.__paths__=s.__paths__||{});let y=e.iterable.path||"";if(s&&s.__paths__&&y){let h=y.split("."),f=h[0];f in s.__paths__&&(y=s.__paths__[f],h.length>1&&(y+="."+h.slice(1).join(".")))}d.__paths__={...d.__paths__,[a]:`${y}[${p}]`,...l&&{[l]:p}};for(let h of o.properties){let f=h.parsedKey?I(h.parsedKey,t,r,d):h.key,m=h.value;if(m.type===w.LITERAL)u[f]=m.value;else if(m.type===w.VARIABLE){let v=m.path;if(v===a)u[f]=c;else if(v===l)u[f]=p;else if(v.startsWith(a+".")){let b=v.substring(a.length+1);!b.includes(".")&&!b.includes("[")?u[f]=c[b]:u[f]=K(v,r,{...s,[a]:c,...l&&{[l]:p}})}else u[f]=K(v,r,{...s,[a]:c,...l&&{[l]:p}})}else if(m.type===w.INTERPOLATION){let v=[];for(let b of m.parts)if(typeof b=="string")v.push(b);else if(b.type===w.VARIABLE){let x=b.path,_;if(x===a)_=c;else if(x===l)_=p;else if(x.startsWith(a+".")){let A=x.substring(a.length+1);!A.includes(".")&&!A.includes("[")?_=c[A]:_=K(x,r,{...s,[a]:c,...l&&{[l]:p}})}else _=K(x,r,{...s,[a]:c,...l&&{[l]:p}});v.push(_!=null?String(_):"")}else{let x={...s,[a]:c,...l&&{[l]:p}},_=I(b,t,r,x);v.push(_!=null?String(_):"")}u[f]=v.join("")}else{let v={...s,[a]:c,...l&&{[l]:p}};u[f]=I(m,t,r,v)}}n.push(u)}return n}return null},_a=(e,t,r)=>{let s=e.body;if(s.type===w.OBJECT&&s.properties.length===1&&s.properties[0].key==="$if item.visible"){let n=s.properties[0].value;if(n.type===w.CONDITIONAL&&n.conditions.length===1&&n.conditions[0].type===w.VARIABLE&&n.conditions[0].path==="item.visible"){let o=n.bodies[0];if(o.type===w.OBJECT&&o.properties.length===2){let a=o.properties[0],l=o.properties[1];if(a.key==="id"&&a.value.type===w.VARIABLE&&a.value.path==="item.id"&&l.key==="$if item.highlighted"&&l.value.type===w.CONDITIONAL){let p=[];for(let c=0;c<t.length;c++){let u=t[c];if(u.visible){let d={id:u.id};u.highlighted?(d.highlight=!0,d.message=`This item is highlighted: ${u.name}`):(d.highlight=!1,d.message=u.name),p.push(d)}}return p}}}}return null},Ea=(e,t,r,s)=>{let i=I(e.iterable,t,r,s);if(!Array.isArray(i)){let p,c=!1;if(e.iterable.type===w.FUNCTION){c=!0;let d=e.iterable.args.map(y=>y.type===w.LITERAL?typeof y.value=="string"?`'${y.value}'`:String(y.value):y.type===w.VARIABLE?y.path:y.type===w.FUNCTION?`${y.name}(...)`:"?").join(", ");p=`${e.iterable.name}(${d})`}else p=e.iterable.path||"undefined";let u=`${e.itemVar}${e.indexVar?`, ${e.indexVar}`:""} in ${p}`;throw cs(u,i,c)}if(!e.indexVar){let p=_a(e,i,e.itemVar);if(p!==null)return p}if(!e.indexVar){let p=wa(e,i);if(p!==null)return p}let n=xa(e,t,r,s,i);if(n!==null)return n;let o=[],a=e.iterable.path||"";if(s&&s.__paths__&&a){let p=a.split("."),c=p[0];c in s.__paths__&&(a=s.__paths__[c],p.length>1&&(a+="."+p.slice(1).join(".")))}let l=!1;e.body.type===w.ARRAY&&(e.body.items.length<=1?l=!1:l=e.body._shouldPreserveArray??=e.body.items.some(p=>p.type===w.OBJECT&&p.properties.some(c=>c.key.startsWith("$if ")||c.key.startsWith("$when "))));for(let p=0;p<i.length;p++){let c=e.indexVar?{...s,[e.itemVar]:i[p],[e.indexVar]:p}:{...s,[e.itemVar]:i[p]};c.__paths__||(c.__paths__=s.__paths__||{}),c.__paths__={...c.__paths__,[e.itemVar]:`${a}[${p}]`},e.indexVar&&(c.__paths__[e.indexVar]=p);let u=I(e.body,t,r,c);Array.isArray(u)&&u.length===1&&!l?o.push(u[0]):o.push(u)}return o},Aa=(e,t,r,s)=>{if(e.whenCondition)return null;if(e.properties.length===1){let i=e.properties[0],n=i.parsedKey?I(i.parsedKey,t,r,s):i.key,o=i.value;if(o.type===w.OBJECT&&o.properties.length<=10&&!o.whenCondition){let a={},l={},p=!0;for(let c of o.properties){let u=c.parsedKey?I(c.parsedKey,t,r,s):c.key,d=c.value;if(d.type===w.LITERAL)l[u]=d.value;else if(d.type===w.VARIABLE)l[u]=K(d.path,r,s);else if(d.type===w.INTERPOLATION){let y=[];for(let h of d.parts)if(typeof h=="string")y.push(h);else if(h.type===w.VARIABLE){let f=K(h.path,r,s);y.push(f!=null?String(f):"")}else{p=!1;break}if(!p)break;l[u]=y.join("")}else if(d.type===w.OBJECT&&d.properties.length<=5){let y={};for(let h of d.properties){let f=h.key,m=h.value;if(m.type===w.LITERAL)y[f]=m.value;else if(m.type===w.VARIABLE)y[f]=K(m.path,r,s);else if(m.type===w.INTERPOLATION){let v=[];for(let b of m.parts)if(typeof b=="string")v.push(b);else if(b.type===w.VARIABLE){let x=K(b.path,r,s);v.push(x!=null?String(x):"")}else{p=!1;break}if(!p)break;y[f]=v.join("")}else{p=!1;break}}if(!p)break;l[u]=y}else{p=!1;break}}if(p)return a[n]=l,a}}return null},ka=(e,t,r,s)=>{let i=t.functions||t;if(e.whenCondition&&!we(e.whenCondition,i,r,s))return;let n=Aa(e,t,r,s);if(n!==null)return n;if(e.fast){let p={};for(let c of e.properties){let u=c.parsedKey?I(c.parsedKey,t,r,s):c.key,d=c.value;if(d.type===w.LITERAL)p[u]=d.value;else if(d.type===w.VARIABLE)p[u]=K(d.path,r,s);else if(d.type===w.INTERPOLATION){let y=[];for(let h of d.parts)if(typeof h=="string")y.push(h);else if(h.type===w.VARIABLE){let f=K(h.path,r,s);y.push(f!=null?String(f):"")}else{let f=I(h,t,r,s);y.push(f!=null?String(f):"")}p[u]=y.join("")}else p[u]=I(d,t,r,s)}return p}let o={},a=null,l=!1;for(let p of e.properties)if(!p.key.startsWith("$if ")&&!p.key.match(/^\$if\s+\w+.*:?$/)&&!p.key.startsWith("$elif")&&!p.key.startsWith("$else")&&!p.key.startsWith("$for ")){l=!0;break}for(let p of e.properties)if(p.key.startsWith("$if ")||p.key.match(/^\$if\s+\w+.*:?$/)){let c=I(p.value,t,r,s);if(!l&&c!==null&&c!==void 0)return Array.isArray(c)&&c.length===1?c[0]:c;typeof c=="object"&&c!==null&&!Array.isArray(c)&&Object.assign(o,c)}else if(p.key.startsWith("$for ")){if(e.properties.length===1)return I(p.value,t,r,s)}else{let c=p.value;if(c&&c.type===w.OBJECT&&c.properties){let u=c.properties.find(d=>d.key.startsWith("$for "));if(u){let d=I(u.value,t,r,s);d!==void 0&&(o[p.key]=d)}else{let d=I(p.value,t,r,s);d!==void 0&&(o[p.key]=d)}}else{let u=p.parsedKey?I(p.parsedKey,t,r,s):p.key,d=I(p.value,t,r,s);d!==void 0&&(o[u]=d)}}return o},ms={},Sa=(e,t,r,s)=>{let i=[];for(let n of e.items)if(n.type===w.LOOP){let o=I(n,t,r,s);i.push(o)}else{let o=I(n,t,r,s);o!==ms&&o!==void 0&&i.push(o)}return i},$a=(e,t,r,s)=>{let{name:i,data:n,whenCondition:o}=e,a=t.partials||{},l=t.functions||t;if(o&&!we(o,l,r,s))return;if(!a[i])throw new q(`Partial '${i}' is not defined`);let p=s._partialStack||[];if(p.includes(i))throw new q(`Circular partial reference detected: ${i}`);let c=a[i],u=r,d={...s,_partialStack:[...p,i]};if(s){u={...r};for(let y of Object.keys(s))y.startsWith("_")||(u[y]=s[y])}if(n){let y=I(n,t,r,s);u={...u,...y}}return I(c,t,u,d)},Ca=(e,t,r,s)=>{let{path:i}=e,n=i.split("."),o=n[0],a=n.slice(1);if(!s||!(o in s))throw new q(`Path reference '#{${i}}' refers to '${o}' which is not a loop variable in the current scope`);if(s.__paths__||(s.__paths__={}),!(o in s.__paths__))throw new q(`Path reference '#{${i}}' cannot be resolved - path tracking may not be initialized properly`);let l=s.__paths__[o];if(typeof l=="number"){if(a.length>0)throw new q(`Path reference '#{${i}}' - cannot access properties on index variable '${o}'`);return String(l)}return a.length>0&&(l+="."+a.join(".")),l},Ke=fa;var Ue=e=>Array.isArray(e)?e.reduce((t,r)=>{if(Array.isArray(r))t.push(...Ue(r));else{if(r&&typeof r=="object"){let s=Object.entries(r);if(s.length>0){let[i,n]=s[0];Array.isArray(n)&&(r={[i]:Ue(n)})}}t.push(r)}return t},[]):e;var gs=(e,t)=>{if(!t)return e;let r=[],s="",i=!1,n=null;for(let o=0;o<t.length;o++){let a=t[o];if(!i&&a===".")s&&(r.push(s),s="");else if(!i&&a==="[")s&&(r.push(s),s=""),i=!0;else if(i&&a==="]"){if(s){if(s.startsWith('"')&&s.endsWith('"')||s.startsWith("'")&&s.endsWith("'"))r.push(s.slice(1,-1));else{let l=Number(s);r.push(isNaN(l)?s:l)}s=""}i=!1,n=null}else i&&(a==='"'||a==="'")&&(n?a===n&&(n=null):n=a),s+=a}return s&&r.push(s),r.reduce((o,a)=>o&&o[a],e)},vs=({h:e,template:t,viewData:r,refs:s,handlers:i})=>{let n=Ke(t,r,{}),o=Ue(n),a=La({h:e,items:o,refs:s,handlers:i,viewData:r});return e("div",{style:{display:"contents"}},a)},La=({h:e,items:t,refs:r={},handlers:s={},viewData:i={}})=>{if(!Array.isArray(t))return console.error("Input to createVirtualDom must be an array."),[e("div",{},[])];function n(o,a=""){return o.map((l,p)=>{if(typeof l=="string"||typeof l=="number")return String(l);if(typeof l!="object"||l===null)return console.warn("Skipping invalid item in DOM structure:",l),null;let c=Object.entries(l);if(c.length===0)return null;let[u,d]=c[0];if(!isNaN(Number(u)))return Array.isArray(d)?n(d,`${a}.${u}`):typeof d=="object"&&d!==null&&Object.entries(d).length>0?n([d],`${a}.${u}`):String(d);c.length>1&&console.warn("Item has multiple keys, processing only the first:",u);let y,h,f=u.indexOf(" ");f===-1?(y=u,h=""):(y=u.substring(0,f),h=u.substring(f+1).trim());let m=y.split(/[.#]/)[0],v=m.includes("-"),b={},x={};if(h){let $=/(\S+?)=(?:\"([^\"]*)\"|\'([^\']*)\'|([^\s]+))/g,E,P=new Set;for(;(E=$.exec(h))!==null;)if(P.add(E[1]),E[1].startsWith(".")){let Q=E[1].substring(1),Ee=E[4];x[Q]=gs(i,Ee)}else if(E[1].startsWith("?")){let Q=E[1].substring(1),Ee=E[2]||E[3]||E[4],Oe;Ee==="true"?Oe=!0:Ee==="false"?Oe=!1:Oe=gs(i,Ee),Oe&&(b[Q]="")}else b[E[1]]=E[2]||E[3]||E[4];let W=h,U=[],re,Je=/(\S+?)=(?:\"([^\"]*)\"|\'([^\']*)\'|([^\s]+))/g;for(;(re=Je.exec(h))!==null;)U.push(re[0]);U.forEach(Q=>{W=W.replace(Q," ")});let qe=/\b(\S+?)(?=\s|$)/g,M;for(;(M=qe.exec(W))!==null;){let Q=M[1];!P.has(Q)&&!Q.startsWith(".")&&!Q.includes("=")&&(b[Q]="")}}let _=y.match(/#([^.#\s]+)/);_&&!Object.prototype.hasOwnProperty.call(b,"id")&&(b.id=_[1]);let A=null;b.id?A=b.id:v&&(A=m);let k=Object.create(null),C=null;if(v)C=m;else{let $=y.match(/\.([^.#]+)/g);$&&$.forEach(P=>{let W=P.substring(1);k[W]=!0});let E=y.match(/#([^.#\s]+)/);E&&(C=E[1])}let S;typeof d=="string"||typeof d=="number"?S=String(d):Array.isArray(d)?S=n(d,`${a}.${u}`):S=[],C&&!v&&(b.id=C);let L=Object.create(null);if(A&&r){let $=[];if(Object.keys(r).forEach(E=>{if(E.includes("*")){let P="^"+E.replace(/[.*+?^${}()|[\\\]\\]/g,"\\$&").replace(/\\\*/g,".*")+"$";try{new RegExp(P).test(A)&&$.push(E)}catch(W){console.warn(`[Parser] Invalid regex pattern created from refKey '${E}': ${P}`,W)}}else A===E&&$.push(E)}),$.length>0){$.sort((P,W)=>{let U=!P.includes("*"),re=!W.includes("*");return U&&!re?-1:!U&&re?1:W.length-P.length});let E=$[0];if(r[E]&&r[E].eventListeners){let P=r[E].eventListeners;Object.entries(P).forEach(([W,U])=>{U.handler&&s[U.handler]?L[W]=re=>{s[U.handler](re)}:U.handler&&console.warn(`[Parser] Handler '${U.handler}' for refKey '${E}' (matching elementId '${A}') is referenced but not found in available handlers.`)})}}}let V={};if(A)V.key=A;else if(y){let $=a?`${a}.${p}`:String(p);if(V.key=`${y}-${$}`,Object.keys(x).length>0){let E=JSON.stringify(x).substring(0,50);V.key+=`-${E}`}}Object.keys(b).length>0&&(V.attrs=b),Object.keys(k).length>0&&(V.class=k),Object.keys(L).length>0&&(V.on=L),Object.keys(x).length>0&&(V.props=x),v&&(V.hook={update:($,E)=>{let P=$.data?.props||{},W=E.data?.props||{},U=$.data?.attrs||{},re=E.data?.attrs||{},Je=JSON.stringify(P)!==JSON.stringify(W),qe=JSON.stringify(U)!==JSON.stringify(re);if(Je||qe){let M=E.elm;M&&M.render&&typeof M.render=="function"&&(M.setAttribute("isDirty","true"),requestAnimationFrame(()=>{if(M.render(),M.removeAttribute("isDirty"),M.handlers&&M.handlers.handleOnUpdate){let Q={...M.deps||{},store:M.store,render:M.render.bind(M),handlers:M.handlers,dispatchEvent:M.dispatchEvent.bind(M),refIds:M.refIds||{},getRefIds:()=>M.refIds||{}};M.handlers.handleOnUpdate({oldProps:P,newProps:W,oldAttrs:U,newAttrs:re},Q)}}))}}});try{return e(m,V,S)}catch($){return console.error("Error creating virtual node:",$,{tagName:m,snabbdomData:V,childrenOrText:S}),e("div",{},["Error creating element"])}}).filter(Boolean)}return n(t)};var Na=(e,t)=>{if(!t||typeof t!="object")return"";let r="",s=n=>Object.entries(n).map(([o,a])=>` ${o}: ${a};`).join(`
927
927
  `),i=(n,o)=>{if(typeof o!="object"||o===null)return"";if(n.startsWith("@")){let a=Object.entries(o).map(([l,p])=>{let c=s(p);return` ${l} {
928
928
  ${c.split(`
929
929
  `).map(u=>u?` ${u}`:"").join(`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rettangoli/ui",
3
- "version": "0.1.2-rc34",
3
+ "version": "0.1.2-rc35",
4
4
  "description": "A UI component library for building web interfaces.",
5
5
  "main": "dist/rettangoli-esm.min.js",
6
6
  "type": "module",
@@ -38,22 +38,13 @@ refs:
38
38
  template:
39
39
  - rtgl-dialog#dialog ?open=${isOpen} s=sm:
40
40
  - rtgl-view slot=content g=lg p=lg:
41
- - rtgl-view d=h ah=c g=md:
42
- - $if config.status == 'error':
43
- - rtgl-icon name=x-circle c=error s=lg:
44
- $elif config.status == 'warning':
45
- - rtgl-icon name=alert-triangle c=warning s=lg:
46
- $elif config.status == 'info':
47
- - rtgl-icon name=info c=primary s=lg:
48
- $elif config.status:
49
- - rtgl-icon name=check-circle c=success s=lg:
50
- - $if config.title:
51
- - rtgl-text fs=lg fw=600: ${config.title}
52
-
53
- - rtgl-view p=md:
54
- - rtgl-text: ${config.message}
55
-
56
- - rtgl-view d=h jc=fe g=md mt=lg:
57
- - $if config.mode == 'confirm':
58
- - rtgl-button#cancel-button variant=se: ${config.cancelText}
59
- - rtgl-button#confirm-button variant=pr: ${config.confirmText}
41
+ - rtgl-view d=h g=md:
42
+ - rtgl-view d=h ah=c av=c g=md:
43
+ - rtgl-view g=md:
44
+ - rtgl-view h=24 av=c:
45
+ - rtgl-text fw=600: ${config.title}
46
+ - rtgl-text: ${config.message}
47
+ - rtgl-view d=h g=md mt=lg w=f ah=e:
48
+ - $if config.mode == 'confirm':
49
+ - rtgl-button#cancel-button v=se: ${config.cancelText}
50
+ - rtgl-button#confirm-button v=pr: ${config.confirmText}