lecodes-viewer 0.20.0 → 0.20.2

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.
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./createViewerLite-DkM-O9BQ.js","../embed.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./createViewerLite-B91Sj6p_.js","../embed.js"])))=>i.map(i=>d[i]);
2
2
  var Kt=Object.defineProperty;var Xt=(s,t,n)=>t in s?Kt(s,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):s[t]=n;var O=(s,t,n)=>Xt(s,typeof t!="symbol"?t+"":t,n);import{s as Te,i as le,c as Re,e as ot,a as qt,g as st,b as Qt,d as xe,f as Zt,h as Jt,j as en,k as tn,l as nn,R as on,o as sn,D as je,m as rn,n as ln,p as cn,_ as Fe,q as an,r as dn,t as fn,u as un,v as pn,w as hn,x as Be,y as gn,z as bn,A as Ve,B as Ye,C as mn}from"../embed.js";const yn=`/* Base element styles for the lite UI renderer. Layout is real CSS flexbox — these classes bake
3
3
  * the SDK's layout defaults (flexbox-only, column, no grow/shrink, stretch, clipped, border-box)
4
4
  * so per-node inline styles only carry what the app actually set. Inline styles always win. */
@@ -163,6 +163,6 @@ input.lc::placeholder, textarea.lc::placeholder {
163
163
  .lc-widget.interactive {
164
164
  pointer-events: all;
165
165
  }
166
- `,vn=s=>{const t=new Map,n=(l,f)=>l.heights.get(l.keys[f])??l.estimates[f]??40,i=l=>{let f=0;for(let u=0;u<l.keys.length;u++)f+=n(l,u);return f},d=(l,f)=>{let u=0;for(let b=0;b<l.keys.length;b++){if(l.keys[b]===f)return u;u+=n(l,b)}return NaN},c=l=>{let f=0;for(let u=0;u<l.keys.length;u++){const b=l.mounted.get(l.keys[u]);b&&(b.wrap.style.top=f+"px"),f+=n(l,u)}l.el.style.setProperty("--scroll-height",f+"px")},g=l=>{const f=l.el,u=i(l),b=l.jsNode._endThreshold??0,m=l.jsNode._startThreshold??0,E=f.scrollTop+f.clientHeight>=u-b;if(E&&!l.atEnd)for(const N of l.jsNode.erl??[])N();l.atEnd=E;const L=f.scrollTop<=m;if(L&&!l.atStart)for(const N of l.jsNode.strl??[])N();l.atStart=L},w=l=>{const f=l.el,u=f.clientHeight;if(u===0)return;const b=l.jsNode._overscan===-1?u:l.jsNode._overscan??u,m=f.scrollTop-b,E=f.scrollTop+u+b,L=new Set;let N=0;for(let $=0;$<l.keys.length&&N<E;$++){const U=n(l,$);N+U>m&&L.add(l.keys[$]),N+=U}const Y=[];for(const[$,U]of l.mounted)L.has($)||(l.mounted.delete($),U.wrap.remove(),l.screen.releaseSubtree(U.subtree),Y.push($));const G=[...L].filter($=>!l.mounted.has($));(Y.length>0||G.length>0)&&l.jsNode._syncWindow(Y,G),c(l),g(l)},S=(l,f)=>{l.el.scrollTo({top:i(l)-l.el.clientHeight,behavior:f?"smooth":"auto"})},M=(l,f,u,b)=>{const m={nodeId:b,el:u,jsNode:f,screen:l,keys:[...f._keys??[]],estimates:[...f._estimates??[]],heights:new Map,mounted:new Map,atStart:!1,atEnd:!1,pinnedToEnd:!!f._inverted,resizeObserver:new ResizeObserver(()=>{m.pinnedToEnd&&(m.pinnedToEnd=!1,w(m),S(m,!1)),w(m)})};t.set(b,m),m.resizeObserver.observe(u),u.addEventListener("scroll",()=>{w(m);for(const E of f.sl??[])E(u.scrollTop)})},P=l=>{const f=t.get(l);if(f){f.resizeObserver.disconnect();for(const u of f.mounted.values())u.wrap.remove(),f.screen.releaseSubtree(u.subtree);f.mounted.clear(),t.delete(l)}},A=l=>l.el.scrollTop+l.el.clientHeight>=i(l)-2;return{register:M,unregister:P,api:{vlistSetKeys:(l,f,u)=>{const b=t.get(l._id);if(!b)return;const m=new Set(f);for(const E of b.heights.keys())m.has(E)||b.heights.delete(E);b.keys=[...f],b.estimates=[...u],w(b)},vlistInsertKeys:(l,f,u,b)=>{const m=t.get(l._id);if(!m)return;const E=m.jsNode._inverted&&A(m);f<0||f>=m.keys.length?(m.keys.push(...u),m.estimates.push(...b)):(m.keys.splice(f,0,...u),m.estimates.splice(f,0,...b),f===0&&m.el.scrollTop>0&&(m.el.scrollTop+=b.reduce((L,N)=>L+(N??40),0))),w(m),E&&S(m,!0)},vlistRemoveKeys:(l,f)=>{const u=t.get(l._id);if(!u)return;const b=new Set(f),m=[],E=[];for(let L=0;L<u.keys.length;L++)b.has(u.keys[L])||(m.push(u.keys[L]),E.push(u.estimates[L]));u.keys=m,u.estimates=E;for(const L of f){u.heights.delete(L);const N=u.mounted.get(L);N&&(u.mounted.delete(L),N.wrap.remove(),u.screen.releaseSubtree(N.subtree))}w(u)},vlistInvalidate:(l,f)=>{const u=t.get(l._id);if(!u)return;const b=u.mounted.get(f);b&&(u.mounted.delete(f),b.wrap.remove(),u.screen.releaseSubtree(b.subtree),u.jsNode._syncWindow([f],[f]),c(u))},vlistMount:(l,f,u)=>{const b=t.get(l._id);if(!b)return;const m=s().doc.createElement("div");m.className="lc-vlist-item",m.appendChild(b.screen.addNodeRecursive(u)),b.el.appendChild(m),b.mounted.set(f,{wrap:m,subtree:u});const E=m.offsetHeight;E>0&&b.heights.set(f,E)},command:(l,f,...u)=>{const b=t.get(l._id);if(!b)return;const m=E=>E?"smooth":"auto";switch(f){case"scrollTo":b.el.scrollTo({top:u[0],behavior:m(u[1]??!0)});break;case"scrollToKey":{const E=d(b,u[0]);isNaN(E)||b.el.scrollTo({top:E,behavior:m(u[1]??!0)});break}case"scrollToEnd":S(b,u[0]??!0);break}}}}},Ce=2,he=256,ke=257,Ee=258,wn=272,Ge=60270,_e=60271,Sn=61e3,kn=/\b(?:calc|min|max|clamp)\(/,En=s=>{if(!kn.test(s))return s;let t="";for(let n=0;n<s.length;n++){if(s.startsWith("var(",n)){let d=0;const c=n;for(;n<s.length;n++)if(s[n]==="(")d++;else if(s[n]===")"&&--d===0)break;t+=s.slice(c,Math.min(n+1,s.length));continue}const i=s[n];if(i==="+"||i==="-"){const d=t[t.length-1]??"";if(!(i==="-"&&(d==="e"&&"btlr".includes(s[n+1]??"")||s.slice(Math.max(0,n-7),n)==="comfort"))&&/[\w%.)]/.test(d)){for(t=t.trimEnd()+" "+i+" ";s[n+1]===" ";)n++;continue}}t+=i}return t.replace(/\d*\.\d+|\d+/g,(n,i,d)=>{const c=d.slice(0,i).trimEnd(),g=d.slice(i+n.length).trimStart();return/[\w.%]$/.test(c)||/^[\w.%]/.test(g)||/[*/]$/.test(c)||/^[*/]/.test(g)?n:n+"px"})},xn={top:"12px",bottom:"4px",left:"16px",right:"16px"},rt=s=>`max(var(--safe-${s}), calc(var(--safe-${s}-bar, 0px) + var(--comfort-${s}, ${xn[s]})))`,Ae=s=>En(s).replace(new RegExp("(?<!-)\\bcomfort-(top|bottom|left|right)\\b","g"),(t,n)=>rt(n)).replace(new RegExp("(?<!-)\\bsafe-(top|bottom|left|right)\\b","g"),(t,n)=>`var(--safe-${n})`),_n=s=>{if(typeof s=="number")return s+"px";const t=String(s);return/^\d*\.?\d+$/.test(t)?t+"px":Ae(t)},ne=s=>{if(typeof s=="number")return s<=16777215&&Number.isInteger(s)?"#"+(s>>>0).toString(16).padStart(6,"0"):"#"+(s>>>0).toString(16).padStart(8,"0");const t=String(s);return t==="clear"?"transparent":t},Ue={p:["top","right","bottom","left"],padding:["top","right","bottom","left"],px:["left","right"],paddingHorizontal:["left","right"],py:["top","bottom"],paddingVertical:["top","bottom"],pt:["top"],paddingTop:["top"],pr:["right"],paddingRight:["right"],pb:["bottom"],paddingBottom:["bottom"],pl:["left"],paddingLeft:["left"]},Ke={m:["top","right","bottom","left"],margin:["top","right","bottom","left"],mx:["left","right"],marginHorizontal:["left","right"],my:["top","bottom"],marginVertical:["top","bottom"],mt:["top"],marginTop:["top"],mr:["right"],marginRight:["right"],mb:["bottom"],marginBottom:["bottom"],ml:["left"],marginLeft:["left"]},Xe={width:"width",height:"height",minWidth:"min-width",maxWidth:"max-width",minHeight:"min-height",maxHeight:"max-height",top:"top",left:"left",bottom:"bottom",right:"right",gap:"gap",fontSize:"font-size",lineHeight:"line-height",letterSpacing:"letter-spacing",flexBase:"flex-basis",borderWidth:"border-width",borderTopWidth:"border-top-width",borderRightWidth:"border-right-width",borderBottomWidth:"border-bottom-width",borderLeftWidth:"border-left-width",borderTopLeftRadius:"border-top-left-radius",borderTopRightRadius:"border-top-right-radius",borderBottomLeftRadius:"border-bottom-left-radius",borderBottomRightRadius:"border-bottom-right-radius"},qe={flexDirection:"flex-direction",justifyContent:"justify-content",alignItems:"align-items",alignSelf:"align-self",flexWrap:"flex-wrap",position:"position",display:"display",overflow:"overflow",boxSizing:"box-sizing",textAlign:"text-align",textDecoration:"text-decoration",transform:"transform",transformOrigin:"transform-origin",backgroundSize:"background-size",bgSize:"background-size"},Qe={opacity:"opacity",flexGrow:"flex-grow",flexShrink:"flex-shrink",aspectRatio:"aspect-ratio",fontWeight:"font-weight"},Ze={color:"color",bgColor:"background-color",backgroundColor:"background-color",borderColor:"border-color",borderTopColor:"border-top-color",borderRightColor:"border-right-color",borderBottomColor:"border-bottom-color",borderLeftColor:"border-left-color",placeholderColor:"--placeholder-color"},Je=new Set(["bgImage","backgroundImage","bgGradient","backgroundGradient","tintColor","objectFit","overlayColor","placeholder","type","scrollDirection","showScrollbar","keyboardDismissMode","snap","sheetDetents","sheetDetent","sheetDismissible","scrollX","scrollY","overscrollMode","rippleColor","refreshControlColor","pointerEvents"]),et=(s,t,n,i)=>{if(i==="safe-all"){for(const c of t)s.set(`${n}-${c}`,`var(--safe-${c})`);return}if(i==="comfort-all"||i==="comfort-x"||i==="comfort-y"){for(const c of t)s.set(`${n}-${c}`,rt(c));return}const d=typeof i=="number"?i+"px":Ae(String(i));for(const c of t)s.set(`${n}-${c}`,d)},tt=(s,t,n)=>{if(n==null)return!0;if(t in Ue)return et(s,Ue[t],"padding",n),!0;if(t in Ke)return et(s,Ke[t],"margin",n),!0;if(t in Xe)return s.set(Xe[t],_n(n)),!0;if(t in qe)return s.set(qe[t],String(n)),!0;if(t in Qe)return s.set(Qe[t],String(n)),!0;if(t in Ze)return s.set(Ze[t],ne(n)),!0;switch(t){case"flex":return s.set("flex",String(n)),!0;case"fontFamily":return s.set("font-family",n==="monospaced"?"monospace":String(n)),!0;case"borderRadius":return typeof n=="number"?s.set("border-radius",n+"px"):s.set("border-radius",String(n).trim().split(/\s+/).map(i=>/^\d*\.?\d+$/.test(i)?i+"px":Ae(i)).join(" ")),!0;case"border":return typeof n=="number"?s.set("border-width",n+"px"):s.set("border",String(n)),!0;case"borderTop":case"borderRight":case"borderBottom":case"borderLeft":{const i=t.slice(6).toLowerCase();return typeof n=="number"?s.set(`border-${i}-width`,n+"px"):s.set(`border-${i}`,String(n)),!0}case"fontStyle":return s.set("font-style",n===2?"italic":n===0?"normal":String(n)),!0}return!1},it=(s,t)=>{var n;return le(t)?Re(t.svg):typeof t=="object"&&t!==null&&"canvasSurface"in t?((n=s.canvasHost)==null?void 0:n.surfaceToDataUrl(t.canvasSurface))??"":typeof t=="object"&&t!==null?st(t._id):String(t??"")},Ne=(s,t,n)=>{const i=t.el;if(i.tagName.toLowerCase()===n)return i;const d=s.doc.createElement(n);d.setAttribute("style",i.getAttribute("style")??""),d.setAttribute("class",i.getAttribute("class")??"");for(const c of["data-viewbox","data-node-id"]){const g=i.getAttribute(c);g!==null&&d.setAttribute(c,g)}return d._lecodesNode=i._lecodesNode,d._sourceRect=i._sourceRect,d._atlasSize=i._atlasSize,t.screen.nodeMap.set(t.id,d),t.el=d,i.replaceWith(d),d},ge=(s,t,n)=>{t.layers.set(Ce,{props:n})},Ln=s=>{const t=ot(s);if(!t)return{};const n=t.trim().split(/[\s,]+/).map(Number),i=n[2],d=n[3];return!i||!d?{}:{width:i,aspectRatio:i/d}},Tn=s=>{var n;if(s._sourceRect)return!0;const t=s._src;return le(t)&&!!((n=s._style)!=null&&n.tintColor||Te(t))},Rn=(s,t)=>{var c;const n=t.node,i=n._sourceRect;if(i){t.el._sourceRect=i,ge(s,t,{width:i[2],height:i[3]}),ct(t.el,it(s,n._src),null);return}const d=((c=n._style)==null?void 0:c.tintColor)??Te(n._src);lt(s,t,n._src,d===void 0?void 0:ne(d))},lt=(s,t,n,i)=>{const d=t.el;if(d instanceof HTMLImageElement){if(d.referrerPolicy="no-referrer",d.crossOrigin="anonymous",le(n)){d.src=Re(n.svg);const c=ot(n.svg);c?d.setAttribute("data-viewbox",c):d.removeAttribute("data-viewbox")}else d.removeAttribute("data-viewbox"),d.src=it(s,n);return}le(n)&&i&&(qt(d,n.svg,i),ge(s,t,Ln(n.svg)))},Cn=(s,t,n)=>{const i=t.el instanceof HTMLDivElement?t.el.style.backgroundColor:"",d=Te(n)??(i||void 0),c=le(n)&&!!d;c||t.layers.delete(Ce);const g=Ne(s,t,c?"div":"img");g._sourceRect=void 0,lt(s,t,n,d===void 0?void 0:ne(d)),s.computeStyle(t)},An=(s,t,n)=>{const i=t.el;if(!(i instanceof HTMLImageElement))return;const d=i.src,c=Ne(s,t,"div"),g=c.style;g.webkitMaskImage=g.maskImage=`url("${d}")`,g.webkitMaskRepeat=g.maskRepeat="no-repeat",g.webkitMaskPosition=g.maskPosition="center",g.maskSize||(g.webkitMaskSize=g.maskSize="contain"),c.style.backgroundColor=n;const w=c.getAttribute("data-viewbox");if(w){const S=w.trim().split(/[\s,]+/).map(Number);S[2]&&S[3]&&ge(s,t,{width:S[2],aspectRatio:S[2]/S[3]})}},Nn=(s,t,n,i,d,c)=>{const g=t.el,w=g._sourceRect;if(g._sourceRect=[n,i,d,c],g instanceof HTMLImageElement){const S=Ne(s,t,"div");S._sourceRect=[n,i,d,c],ct(S,g.src,g)}else Le(g);(!w||w[2]!==d||w[3]!==c)&&(ge(s,t,{width:d,height:c}),s.computeStyle(t))},ct=(s,t,n)=>{if(s.style.backgroundRepeat="no-repeat",n&&n.naturalWidth>0){s._atlasSize=[n.naturalWidth,n.naturalHeight],s.style.backgroundImage=`url("${t}")`,Le(s);return}const i=new Image;i.crossOrigin="anonymous",i.referrerPolicy="no-referrer",i.addEventListener("load",()=>{s._atlasSize=[i.naturalWidth,i.naturalHeight],s.style.backgroundImage=`url("${t}")`,Le(s)},{once:!0}),i.src=t},Le=s=>{const t=s._sourceRect,n=s._atlasSize;if(!t||!n)return;const[i,d,c,g]=t,[w,S]=n;s.style.backgroundSize=`${w/c*100}% ${S/g*100}%`,s.style.backgroundPosition=`${w===c?0:i/(w-c)*100}% ${S===g?0:d/(S-g)*100}%`},Mn=(s,t)=>{switch(t.type){case"image":return s.createElement(Tn(t)?"div":"img");case"video":return xe(t);case"button":return s.createElement("button");case"input":return s.createElement("input");case"textarea":return s.createElement("textarea");default:return s.createElement("div")}},Dn=typeof CSS<"u"&&!!CSS.supports&&CSS.supports("field-sizing","content"),zn=(s,t)=>{if(s.type!=="textarea"||Dn)return;const n=()=>{var i;((i=s._style)==null?void 0:i.height)==null&&(t.style.height="auto",t.style.height=`${t.scrollHeight}px`)};t._growTextArea=n,t.addEventListener("input",n),requestAnimationFrame(n)},On={screen:"lc-screen",text:"lc-text",row:"lc-row",box:"lc-box",button:"lc-button",spacer:"lc-spacer",scrollable:"lc-scrollable",vlist:"lc-vlist",widget:"lc-widget",native:"lc-native"};class nt{constructor(t,n){O(this,"core");O(this,"nodeMap",new Map);O(this,"root");O(this,"node");O(this,"screenId");O(this,"isWidget",!1);O(this,"ownerDesc");O(this,"deregister");O(this,"overlayElement",null);O(this,"screenWidth",0);O(this,"screenHeight",0);O(this,"firedScreenWidth",-1);O(this,"firedScreenHeight",-1);O(this,"vlistIds",[]);O(this,"insertNode",(t,n,i)=>{const d=this.nodeMap.get(t);if(!d)return;const c=this.addNodeRecursive(i);d.insertBefore(c,d.children[n]??null)});O(this,"removeNode",(t,n)=>{const i=this.nodeMap.get(t);i&&this.detachNode(i,n)});this.core=t,this.deregister=n}init(t,n){this.node=n,this.screenId=t,this.root=this.addNodeRecursive(n)}addNodeRecursive(t){var w,S,M,P;const n=this.core,i=Mn(n.doc,t);i.classList.add("lc");const d=On[t.type];d&&i.classList.add(d),t.type==="widget"&&i.classList.add("widget"),i._lecodesNode=t;const c=n.nextId();i.setAttribute("data-node-id",String(c));const g=n.registerNode(c,i,t,this);t._id=c,this.nodeMap.set(c,i),t._text&&(i.textContent=t._text),t.type==="screen"&&(t.scrollable&&i.classList.add("lc-scrollable"),((w=t.touchStartListeners)==null?void 0:w.length)>0&&i.classList.add("interactive")),t.type==="widget"&&((S=t.touchStartListeners)==null?void 0:S.length)>0&&i.classList.add("interactive"),t.type==="button"&&((M=t.touchStartListeners)==null?void 0:M.length)>0&&i.classList.add("interactive"),t.type==="image"&&Rn(n,g),t.type==="video"&&Qt(i),t.type==="native"&&((P=n.nativeViews)==null||P.mountInto(t,i)),this.attachListeners(t,i,g);for(const[A,_]of Object.entries(t._style??{}))n.applyStyleValue(g,he,A,_,!1);if(t._classes)for(const A of t._classes)g.active.add(n.classLayer(A));if(n.computeStyle(g),(t.type==="input"||t.type==="textarea")&&t._value&&(i.value=t._value),t.ll&&n.observeLayout(g),t.type==="vlist")n.vlist.register(this,t,i,c),this.vlistIds.push(c);else if("children"in t)for(const A of t.children)A&&i.appendChild(this.addNodeRecursive(A));return i}attachListeners(t,n,i){var c;const d=this.core.touch;if((t.type==="button"||t.type==="widget"||t.type==="screen")&&(n.addEventListener("pointerdown",d.onUIButtonTouchStart.bind(null,t)),t.type==="button"&&n.addEventListener("pointerup",d.onUIButtonTouchEnd.bind(null,t))),t.type==="input"||t.type==="textarea"){const g=n;g._lcNode=t,zn(t,g),((c=t.cl)==null?void 0:c.length)>0&&g.addEventListener("input",()=>{for(const w of t.cl)w(g.value)}),g.addEventListener("focus",()=>{this.core.setLayerEnabled(i,_e,!0);for(const w of t.fl??[])w()}),g.addEventListener("blur",()=>{this.core.setLayerEnabled(i,_e,!1);for(const w of t.bl??[])w()})}(t.type==="scrollable"||t.type==="screen"&&t.scrollable)&&t.sl&&n.addEventListener("scroll",()=>{const g=n.classList.contains("scrollable_horizontal")?n.scrollLeft:n.scrollTop;for(const w of t.sl)w(g)})}applyLayout(t,n){if(this.screenWidth=t,this.screenHeight=n,!this.isWidget&&!(t===this.firedScreenWidth&&n===this.firedScreenHeight)){this.firedScreenWidth=t,this.firedScreenHeight=n;for(const i of this.node.ll??[])i({left:0,top:0,width:t,height:n})}}setContent(t,n,i){const d=this.nodeMap.get(t);if(d){for(const c of n)c&&this.detachNode(d,c);for(const c of i)c&&d.appendChild(this.addNodeRecursive(c))}}detachNode(t,n){const i=this.nodeMap.get(n._id);i&&i.parentElement===t&&t.removeChild(i),this.releaseSubtree(n)}releaseSubtree(t){if(t._id){if(t.type==="vlist"){this.core.vlist.unregister(t._id);const n=this.vlistIds.indexOf(t._id);n>=0&&this.vlistIds.splice(n,1)}this.core.dropNode(t._id),this.nodeMap.delete(t._id),t._id=0}if("children"in t)for(const n of t.children)n&&this.releaseSubtree(n)}remove(){this.removeFromHTML(),this.releaseSubtree(this.node),this.nodeMap.clear(),this.deregister(this.screenId)}removeFromHTML(){var t;this.root.remove(),(t=this.overlayElement)==null||t.remove(),this.overlayElement=null,this.screenWidth=0,this.screenHeight=0,this.firedScreenWidth=-1,this.firedScreenHeight=-1}}const Pn=async(s,t)=>{const n=s.ownerDocument,i=n.defaultView??window,d=n.createElement("style");d.innerHTML=yn,s.append(d);const c=new Map;let g=1;const w=new Map;let S=0;const M=new Map;let P=1,A=null;const _=e=>{e<0?M.delete(e):w.delete(e)};let l=!1;const f=new Set;let u=je;const b=(e,o)=>{const r=e>o,{insets:a,bars:p}=sn(u,r),h={top:a[0],right:a[1],bottom:a[2],left:a[3]},v=s.style;for(const[I,k]of Object.entries(h))v.setProperty(`--safe-${I}`,k+"px"),p.includes(I)?v.setProperty(`--safe-${I}-bar`,k+"px"):v.removeProperty(`--safe-${I}-bar`);if(r!==l){l=r;for(const I of f)D(I)}},m=e=>{u=e??je,ee>0&&te>0&&b(ee,te)},E=e=>{const o=s.style;for(const r of Object.keys(e)){if(r.startsWith("safe-")||r==="vw"||r==="vh"||r==="vmin"||r==="vmax")continue;const a=e[r];a==null?o.removeProperty(`--${r}`):o.setProperty(`--${r}`,typeof a=="number"?a+"px":String(a))}},L=new Map,N=e=>{const o=e.startsWith("$")?e.slice(1):e;let r=L.get(o);return r===void 0&&(r=wn+L.size,L.set(o,r)),r},Y=e=>{if(e.startsWith("$"))return N(e);switch(e){case"onPressed":return Ge;case"onFocused":return _e;case"onLandscape":return ke;case"onPortait":case"onPortrait":return Ee}return null},G=e=>e===null||typeof e!="object"?e:"_id"in e?st(e._id):"svg"in e?Re(e.svg):"canvasSurface"in e?(t==null?void 0:t.surfaceToDataUrl(e.canvasSurface))??"":e,$=(e,o)=>{let r=e.layers.get(o);return r||(r={props:{}},e.layers.set(o,r)),r},U=(e,o)=>o===ke?l:o===Ee?!l:o===he||o===Ce?!0:e.active.has(o),ce=e=>{const o=new Map;for(const[r,a]of Object.entries(e)){if(Je.has(r)){r==="tintColor"?o.set("background-color",""):(r==="bgImage"||r==="backgroundImage"||r==="bgGradient"||r==="backgroundGradient")&&o.set("background-image","");continue}tt(o,r,a??0)}return[...o.keys()]},ae=e=>e.transitions?[...e.transitions.values()].join(", "):"",oe=(e,o,r)=>`${e} ${o??225}ms ease-in-out${r?` ${r}ms`:""}`,de=(e,o,r,a)=>{e.transitions||(e.transitions=new Map);for(const p of ce(o))e.transitions.set(p,oe(p,r,a));e.el.style.transition=ae(e)},y=new Set,x=e=>{y.has(e)||(y.add(e),console.warn(`[viewer-lite] unsupported style prop "${e}"`))},C=(e,o,r,a,p=!0)=>{const h=G(a);if(h!=null&&typeof h=="object"){const v=Y(r);if(v===null){x(r);return}const{duration:I,delay:k,layer:R,...F}=h,J={};for(const[ie,pe]of Object.entries(F))J[ie]=G(pe);e.layers.set(v,{props:J,duration:I,delay:k}),(v===ke||v===Ee)&&f.add(e),(I!=null||k!=null)&&de(e,J,I,k)}else if(h==null){const v=Y(r);v!==null?e.layers.delete(v):delete $(e,o).props[r]}else $(e,o).props[r]=h;p&&D(e)},H=(e,o,r)=>{var I;const a=o.bgGradient??o.backgroundGradient,p=o.bgImage??o.backgroundImage;if(a||p){const k=[];a&&k.push(String(a)),p&&k.push(`url("${p}")`),r.set("background-image",k.join(", "))}if((o.bgSize??o.backgroundSize)==="tile"&&(r.set("background-size","auto"),r.set("background-repeat","repeat")),o.pointerEvents!==void 0&&r.set("pointer-events",o.pointerEvents==="none"?"none":"auto"),o.objectFit!==void 0){const k=e.el;if(k instanceof HTMLImageElement||k instanceof HTMLVideoElement)r.set("object-fit",String(o.objectFit));else if(k.hasAttribute("data-viewbox")&&!k._sourceRect){const R=o.objectFit==="cover"?"cover":o.objectFit==="fill"?"100% 100%":"contain";r.set("-webkit-mask-size",R),r.set("mask-size",R)}}o.tintColor!==void 0&&e.node.type==="image"&&(e.el instanceof HTMLImageElement&&e.el.hasAttribute("data-viewbox")&&An(Q,e,ne(o.tintColor)),r.set("background-color",ne(o.tintColor)));const v=e.el;if((v instanceof HTMLInputElement||v instanceof HTMLTextAreaElement)&&(v.placeholder=o.placeholder!=null?String(o.placeholder):"",v instanceof HTMLInputElement&&o.type!==void 0&&(v.type=String(o.type))),e.node.type==="scrollable"){v.classList.toggle("scrollable_horizontal",o.scrollDirection==="horizontal");const k=o.snap,R=k!==void 0&&k!=="none",F=o.scrollDirection==="horizontal";r.set("scroll-snap-type",R?`${F?"x":"y"} mandatory`:"none"),v.classList.toggle("lc-snap-start",k==="start"),v.classList.toggle("lc-snap-center",k==="center"),v.classList.toggle("lc-snap-end",k==="end");const J=r.get(F?"padding-left":"padding-top"),ie=r.get(F?"padding-right":"padding-bottom"),pe=(Gt,Ut)=>r.set(`scroll-padding-${Gt}`,k==="start"||k==="end"?Ut??"0px":"0px");pe(F?"left":"top",J),pe(F?"right":"bottom",ie)}if(o.showScrollbar!==void 0&&v.classList.toggle("lc-noscrollbar",o.showScrollbar===!1),e.node.type==="widget"&&o.sheetDetents!==void 0){const k=String(o.sheetDetents).split(",").map(Number).filter(ie=>ie>0),R=k[k.length-1]??.5,F=Math.floor(Number(o.sheetDetent??0)),J=F>=0?k[Math.min(F,k.length-1)]??R:0;r.set("transform",`translateY(${(R-J)/R*100}%)`),r.set("transition","transform 250ms ease")}if(e._kbDismissMode=o.keyboardDismissMode,o.keyboardDismissMode==="scroll"&&!e._kbDismissBound){e._kbDismissBound=!0;const k=()=>{if(e._kbDismissMode!=="scroll")return;const R=n.activeElement;(R instanceof HTMLInputElement||R instanceof HTMLTextAreaElement)&&R.blur()};v.addEventListener("touchmove",k,{passive:!0}),v.addEventListener("wheel",k,{passive:!0})}if(o.overlayColor!==void 0&&o.overlayColor!==null){const k=e.screen;let R=k.overlayElement;R||(R=n.createElement("div"),R.style.position="absolute",R.style.inset="0",R.style.pointerEvents="auto",R.style.zIndex="9",R.addEventListener("click",()=>{for(const F of k.node.otl??[])F()}),s.appendChild(R),k.overlayElement=R),R.style.background=ne(o.overlayColor),e.hasOverlay=!0}else e.hasOverlay&&((I=e.screen.overlayElement)==null||I.remove(),e.screen.overlayElement=null,e.hasOverlay=!1);o.scrollY!==void 0&&o.scrollY!==e._lastScrollY&&(e._lastScrollY=o.scrollY,v.scrollTop=Number(o.scrollY)),o.scrollX!==void 0&&o.scrollX!==e._lastScrollX&&(e._lastScrollX=o.scrollX,v.scrollLeft=Number(o.scrollX))},D=e=>{const o={};for(const p of[...e.layers.keys()].sort((h,v)=>h-v))if(U(e,p))for(const[h,v]of Object.entries(e.layers.get(p).props))v===null?delete o[h]:v!==void 0&&(o[h]=v);const r=new Map;for(const[p,h]of Object.entries(o))Je.has(p)||tt(r,p,h)||x(p);H(e,o,r);const a=e.el;for(const[p,h]of r)e.applied.get(p)!==h&&a.style.setProperty(p,h);for(const p of e.applied.keys())r.has(p)||a.style.removeProperty(p);e.applied=r},V=(e,o,r)=>{r?e.active.add(o):e.active.delete(o),e.layers.has(o)&&D(e)},B=new Map,K=new ResizeObserver(e=>{for(const o of e){const r=B.get(o.target);if(!r)continue;const a=o.target,p={left:a.offsetLeft,top:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight};for(const h of r.node.ll??[])h(p)}}),W=e=>{e.node.type!=="screen"&&(B.set(e.el,e),K.observe(e.el))},X=vn(()=>Q),T=en(s);T.onNodeStateChanged((e,o)=>{const r=c.get(e);r&&V(r,Ge,o)});const q=nn(n),Q={doc:n,nodes:c,touch:T,canvasHost:t,nativeViews:q,nextId:()=>g++,registerNode(e,o,r,a){const p={id:e,el:o,node:r,screen:a,layers:new Map,active:new Set,applied:new Map,transitions:null};return c.set(e,p),p},dropNode(e){const o=c.get(e);o&&(B.delete(o.el)&&K.unobserve(o.el),f.delete(o),c.delete(e))},applyStyleValue:C,computeStyle:D,setLayerEnabled:V,classLayer:N,observeLayout:W,vlist:X};let fe={};const dt=e=>{fe=e},se=rn(s);let z=null;const ft=()=>[s.clientWidth,s.clientHeight],ut=e=>{const o=new nt(Q,_),r=S++;return w.set(r,o),o.init(r,e),o},ue=e=>{switch(e==null?void 0:e.type){case"scene3d":return{kind:"scene3d",desc:e};case"native":return{kind:"native",desc:e};case"videoView":return{kind:"videoView",desc:e};case"scene2d":return{kind:"unsupported",desc:e};default:return{kind:"screen",node:e,screen:ut(e)}}},Z=(e,o)=>{const r=e.kind==="screen"?e.node:e.desc._p;for(const a of(r==null?void 0:r[o])??[])a()},pt=e=>z!==null&&(z.kind==="screen"?z.node===e:z.kind!=="unsupported"&&z.desc===e),be=()=>{for(const e of M.values()){if(e.ownerDesc===void 0)continue;const o=pt(e.ownerDesc);e.root.style.display=o?"":"none",e.overlayElement&&(e.overlayElement.style.display=o?"":"none")}},ht=e=>{if(e.kind==="screen")return s.appendChild(e.screen.root),e.screen.applyLayout(ee,te),Z(e,"ol"),{el:e.screen.root};if(e.kind==="scene3d"){const a=fe.scene3d;if(!a){console.error("[viewer-lite] openView: this host has no 3D engine");return}return a.open(e.desc.sceneId),a.el.style.display="block",Z(e,"ol"),{el:a.el,static:!0}}if(e.kind==="native"){const a=e.cell??(e.cell=n.createElement("div"));return a.style.cssText="position:absolute;inset:0;overflow:hidden",q.mountInto(e.desc._p,a),s.appendChild(a),Z(e,"ol"),{el:a}}if(e.kind==="unsupported"){console.error("[viewer-lite] openView: Web Lite has no 2D engine — a Scene2D can't be presented here");return}const o=xe(e.desc.node);e.restore={parent:o.parentElement,next:o.nextSibling,cssText:o.style.cssText};const r=e.wrapper??(e.wrapper=n.createElement("div"));return r.style.cssText="position:absolute;inset:0;background:#000",o.style.cssText="position:absolute;inset:0;width:100%;height:100%;object-fit:contain",r.appendChild(o),s.appendChild(r),Z(e,"ol"),{el:r}},gt=e=>{if(e.kind==="screen")return{el:e.screen.root};if(e.kind==="scene3d"){const o=fe.scene3d;return o?{el:o.el,static:!0}:void 0}if(e.kind==="native")return e.cell?{el:e.cell}:void 0;if(e.kind!=="unsupported")return e.wrapper?{el:e.wrapper}:void 0},me=(e,o)=>{var a,p;if(e.kind==="screen"){o&&!j.stack.includes(e)?e.screen.remove():e.screen.removeFromHTML();return}if(e.kind==="scene3d"){const h=fe.scene3d;h&&(h.close(),h.el.style.display="none");return}if(e.kind==="native"){(a=e.cell)==null||a.remove();return}if(e.kind==="unsupported")return;const r=xe(e.desc.node);e.restore&&(r.style.cssText=e.restore.cssText,e.restore.parent?e.restore.parent.insertBefore(r,e.restore.next):r.remove()),(p=e.wrapper)==null||p.remove()};let ye=null,ve=!1;const Me=e=>{if(e===ye){ve=!0;return}e.kind==="screen"&&e.screen.remove()},we=(e,o,r)=>{se.finish();const a=z;if(a===e)return;a&&Z(a,"cl"),z=e,A=(e==null?void 0:e.kind)==="screen"?e.screen:null;const p=e?ht(e):void 0;be(),a&&(ye=a,ve=!1,se.play({incoming:p,outgoing:gt(a),transition:o,onDone:()=>{const h=r||ve;ye=null,me(a,h)}}))},De=()=>{const[e,o]=ft();e===0||o===0||(b(e,o),ee=e,te=o)},ze=(e,o)=>{j.show&&$e(),De(),we(ue(e),o??"none",!0)},Oe=()=>{we(null,"none",!0)},bt=e=>ze(e,"none"),mt=()=>Oe();let Pe=()=>{},re=null;const j=new on(e=>{const o=re;re=null,we(e,o,!1),Pe(e.kind==="screen"?e.node:e.desc)},Me),yt=(e,o)=>{z&&(se.finish(),Z(z,"cl"),me(z,!j.stack.includes(z)),z=null,A=null);for(const r of j.stack)Me(r);j.stack=[],De(),Pe=o,j.init(ue(e))},vt=(e,o)=>{re=o??"push",j.push(ue(e))},wt=(e,o)=>{re=o??"fade",j.replace(ue(e))},St=(e,o)=>{re=o??"pop",j.pop(e)},$e=()=>{if(j.hide(),z&&j.stack.includes(z)){se.finish(),Z(z,"cl");const e=z;z=null,A=null,me(e,!1),be()}},kt=()=>{j.restore()},Et=(e,o)=>{for(const a of M.values())if(a.node===e)return;const r=new nt(Q,_);r.isWidget=!0,r.ownerDesc=o,M.set(-P,r),r.init(-P,e),P++,s.appendChild(r.root),o!==void 0&&be()},xt=e=>{if(!e._id)return;const o=c.get(e._id);!o||!o.screen.isWidget||o.screen.remove()},_t=(e,o,r)=>{const a=c.get(e);a&&C(a,he,o,r)},Lt=(e,o)=>{const r=c.get(e);if(r){for(const[a,p]of Object.entries(o))C(r,he,a,p,!1);D(r)}},Tt=(e,o,r)=>{const a=c.get(e);a&&V(a,N(o),r)},Rt=(e,o,r)=>{var p,h;const a=c.get(e);if(a)switch(o){case"text":a.el.textContent=r;break;case"value":a.el.value=r,(h=(p=a.el)._growTextArea)==null||h.call(p);break;case"src":Cn(Q,a,r);break}},Ct=(e,o,r,a,p)=>{const h=c.get(e);h&&Nn(Q,h,o,r,a,p)},At=e=>{var r;const o=(r=c.get(e))==null?void 0:r.el;return(o==null?void 0:o.value)??""},Nt=e=>{var h;const o=(h=c.get(e))==null?void 0:h.el;if(!o||!o.isConnected)return null;const r=o.getBoundingClientRect();if(r.width===0&&r.height===0&&r.left===0&&r.top===0)return null;const a=s.getBoundingClientRect(),p=s.clientWidth>0&&a.width>0?a.width/s.clientWidth:1;return[(r.left-a.left)/p,(r.top-a.top)/p,r.width/p,r.height/p]},Mt=(e,o,r)=>{var a;(a=c.get(o))==null||a.screen.insertNode(o,e,r)},Dt=(e,o)=>{var r;(r=c.get(e))==null||r.screen.removeNode(e,o)},zt=(e,o,r)=>{var a;(a=c.get(e))==null||a.screen.setContent(e,o,r)},He=e=>{const{duration:o,delay:r,layer:a,...p}=e,h={};for(const[v,I]of Object.entries(p))h[v]=G(I);return{duration:o,delay:r,layerNum:Sn+(a??44),props:h}},Ie=(e,o,r,a)=>{e.el.style.transition=ce(o).map(h=>oe(h,r,a)).join(", ");const p=h=>{h.target===e.el&&(e.el.style.transition=ae(e),e.el.removeEventListener("transitionend",p))};e.el.addEventListener("transitionend",p)},Ot=(e,o)=>{const r=c.get(e);if(!r)return;const{duration:a,delay:p,layerNum:h,props:v}=He(o);r.layers.set(h,{props:v}),Ie(r,v,a,p),i.requestAnimationFrame(()=>{r.active.add(h),D(r)})},Pt=(e,o)=>{const r=c.get(e);if(!r)return;const{duration:a,delay:p,layerNum:h,props:v}=He(o);r.layers.set(h,{props:v}),r.active.add(h),D(r),i.requestAnimationFrame(()=>{Ie(r,v,a,p),r.active.delete(h),D(r)})},Se=[],$t=(e,o,r,a,p)=>{const h=new FontFace(e,`url(${o})`,r);h.load().then(()=>{n.fonts.add(h),Se.push(h),a()}).catch(p)};let We=()=>{},ee=0,te=0;const Ht=(e,o)=>{if(!(e===0||o===0)){b(e,o),ee=e,te=o,A==null||A.applyLayout(e,o);for(const r of M.values())r.applyLayout(e,o);We(e,o)}},It=e=>{We=e},Wt=()=>[ee,te],jt=tn(s),Ft=s.style.touchAction;s.style.touchAction="pan-x pan-y";const Bt=Zt(s,{scroller:".lc-scrollable,.lc-vlist"});s.addEventListener("pointerdown",T.onSceneTouchDown),s.addEventListener("pointerup",T.onSceneTouchEnd),s.addEventListener("pointercancel",T.onSceneTouchCancel);const Vt=Jt(s),Yt=()=>{Vt(),Bt(),s.style.touchAction=Ft,s.removeEventListener("pointerdown",T.onSceneTouchDown),s.removeEventListener("pointerup",T.onSceneTouchEnd),s.removeEventListener("pointercancel",T.onSceneTouchCancel),T._destroy(),se.finish(),q.destroy(),K.disconnect(),B.clear();for(const e of Se)n.fonts.delete(e);Se.length=0};return{openScreen:bt,closeScreen:mt,routerOpen:yt,routerPush:vt,routerReplace:wt,routerPop:St,routerHide:$e,routerRestore:kt,openView:ze,closeView:Oe,isViewSupported:q.isViewSupported,viewCall:q.viewCall,_registerView:q.registerView,_setSceneHost:dt,updateNode:Rt,setSourceRect:Ct,updateStyle:_t,mergeStyle:Lt,setClass:Tt,registerFont:$t,fontFormat:"woff2",toast:jt,registerTouchStartEvent:T.registerTouchStartEvent,registerTouchEndEvent:T.registerTouchEndEvent,isButtonPressed:T.isButtonPressed,registerResizeEvent:It,getDisplaySize:Wt,getTextValue:At,getBoundingClientRect:Nt,insertNode:Mt,removeNode:Dt,setContent:zt,animateTo:Ot,animateFrom:Pt,showWidget:Et,hideWidget:xt,setTheme:E,...X.api,_onResize:Ht,_destroy:Yt,_setCreator:T.setCreator,_setSafeAreaSpec:m}},$n=async(s,t={})=>{var oe,de;const n=t.engine??"gl-lite",i=t.preloads??new Set,d=s.ownerDocument,c=d.defaultView??window,g=t.ui===!1?void 0:ln(t.fonts,d),w=t.ui===!1?void 0:cn(t.bootFonts??[],d),S=d.createElement("canvas");S.style.cssText="width:100%;height:100%;touch-action:none;user-select:none;-webkit-user-drag:none;display:none",s.appendChild(S);const M=pn(mn,Ye),P=bn(Ye);let A=()=>{},_;if(n==="defer")_={raycastView(){return 0},_raycastView(){return 0},_onResize(){},_dispose(){}},A=async()=>{const y=s.getBoundingClientRect();S.width=y.width,S.height=y.height;const{createViewerLite:x}=await Fe(async()=>{const{createViewerLite:H}=await import("./createViewerLite-DkM-O9BQ.js").then(D=>D.c);return{createViewerLite:H}},__vite__mapDeps([0,1]),import.meta.url),C=await x(S,{preloads:i,canvasHost:M});Object.assign(_,C)};else{const y=s.getBoundingClientRect();S.width=y.width,S.height=y.height;const{createViewerLite:x}=await Fe(async()=>{const{createViewerLite:C}=await import("./createViewerLite-DkM-O9BQ.js").then(H=>H.c);return{createViewerLite:C}},__vite__mapDeps([0,1]),import.meta.url);_=await x(S,{preloads:i,canvasHost:M}),t.methods&&Object.assign(_,t.methods)}const l=t.ui===!1?void 0:await(t.ui??Pn)(s,M),f=an({launchUrl:t.launchUrl,onOrientation:t.onOrientation});l==null||l._setCreator(_),(oe=l==null?void 0:l._setSceneHost)==null||oe.call(l,{scene3d:{el:S,open:y=>{var x;return(x=_.openScene)==null?void 0:x.call(_,y)},close:()=>{var y;return(y=_.closeScene)==null?void 0:y.call(_)}}}),dn(l),t.safeArea&&((de=l==null?void 0:l._setSafeAreaSpec)==null||de.call(l,t.safeArea));const u=new ResizeObserver(([y])=>{_==null||_._onResize(y.contentRect.width,y.contentRect.height),l==null||l._onResize(y.contentRect.width,y.contentRect.height)});u.observe(s);const m=fn({windows:c===window?[window]:[c,window],root:s,keyboard:t.keyboard!==!1});f.inputKey=m.inputKey,f.inputRead=m.inputRead,f.inputSetPointerLock=m.inputSetPointerLock,f.registerInputEvent=m.registerInputEvent;const E=[];let L=!1;const N=(y,x,C,H)=>{var B,K;if(C.length===0&&Ve(x)){const W=typeof x=="number"||typeof x=="bigint"?`code ${x}`:x instanceof Error?x.message||x.name:String(x),X=[H,W].filter(T=>!!T).filter((T,q,Q)=>Q.indexOf(T)===q).join(`
166
+ `,vn=s=>{const t=new Map,n=(l,f)=>l.heights.get(l.keys[f])??l.estimates[f]??40,i=l=>{let f=0;for(let u=0;u<l.keys.length;u++)f+=n(l,u);return f},d=(l,f)=>{let u=0;for(let b=0;b<l.keys.length;b++){if(l.keys[b]===f)return u;u+=n(l,b)}return NaN},c=l=>{let f=0;for(let u=0;u<l.keys.length;u++){const b=l.mounted.get(l.keys[u]);b&&(b.wrap.style.top=f+"px"),f+=n(l,u)}l.el.style.setProperty("--scroll-height",f+"px")},g=l=>{const f=l.el,u=i(l),b=l.jsNode._endThreshold??0,m=l.jsNode._startThreshold??0,E=f.scrollTop+f.clientHeight>=u-b;if(E&&!l.atEnd)for(const N of l.jsNode.erl??[])N();l.atEnd=E;const L=f.scrollTop<=m;if(L&&!l.atStart)for(const N of l.jsNode.strl??[])N();l.atStart=L},w=l=>{const f=l.el,u=f.clientHeight;if(u===0)return;const b=l.jsNode._overscan===-1?u:l.jsNode._overscan??u,m=f.scrollTop-b,E=f.scrollTop+u+b,L=new Set;let N=0;for(let $=0;$<l.keys.length&&N<E;$++){const U=n(l,$);N+U>m&&L.add(l.keys[$]),N+=U}const Y=[];for(const[$,U]of l.mounted)L.has($)||(l.mounted.delete($),U.wrap.remove(),l.screen.releaseSubtree(U.subtree),Y.push($));const G=[...L].filter($=>!l.mounted.has($));(Y.length>0||G.length>0)&&l.jsNode._syncWindow(Y,G),c(l),g(l)},S=(l,f)=>{l.el.scrollTo({top:i(l)-l.el.clientHeight,behavior:f?"smooth":"auto"})},M=(l,f,u,b)=>{const m={nodeId:b,el:u,jsNode:f,screen:l,keys:[...f._keys??[]],estimates:[...f._estimates??[]],heights:new Map,mounted:new Map,atStart:!1,atEnd:!1,pinnedToEnd:!!f._inverted,resizeObserver:new ResizeObserver(()=>{m.pinnedToEnd&&(m.pinnedToEnd=!1,w(m),S(m,!1)),w(m)})};t.set(b,m),m.resizeObserver.observe(u),u.addEventListener("scroll",()=>{w(m);for(const E of f.sl??[])E(u.scrollTop)})},P=l=>{const f=t.get(l);if(f){f.resizeObserver.disconnect();for(const u of f.mounted.values())u.wrap.remove(),f.screen.releaseSubtree(u.subtree);f.mounted.clear(),t.delete(l)}},A=l=>l.el.scrollTop+l.el.clientHeight>=i(l)-2;return{register:M,unregister:P,api:{vlistSetKeys:(l,f,u)=>{const b=t.get(l._id);if(!b)return;const m=new Set(f);for(const E of b.heights.keys())m.has(E)||b.heights.delete(E);b.keys=[...f],b.estimates=[...u],w(b)},vlistInsertKeys:(l,f,u,b)=>{const m=t.get(l._id);if(!m)return;const E=m.jsNode._inverted&&A(m);f<0||f>=m.keys.length?(m.keys.push(...u),m.estimates.push(...b)):(m.keys.splice(f,0,...u),m.estimates.splice(f,0,...b),f===0&&m.el.scrollTop>0&&(m.el.scrollTop+=b.reduce((L,N)=>L+(N??40),0))),w(m),E&&S(m,!0)},vlistRemoveKeys:(l,f)=>{const u=t.get(l._id);if(!u)return;const b=new Set(f),m=[],E=[];for(let L=0;L<u.keys.length;L++)b.has(u.keys[L])||(m.push(u.keys[L]),E.push(u.estimates[L]));u.keys=m,u.estimates=E;for(const L of f){u.heights.delete(L);const N=u.mounted.get(L);N&&(u.mounted.delete(L),N.wrap.remove(),u.screen.releaseSubtree(N.subtree))}w(u)},vlistInvalidate:(l,f)=>{const u=t.get(l._id);if(!u)return;const b=u.mounted.get(f);b&&(u.mounted.delete(f),b.wrap.remove(),u.screen.releaseSubtree(b.subtree),u.jsNode._syncWindow([f],[f]),c(u))},vlistMount:(l,f,u)=>{const b=t.get(l._id);if(!b)return;const m=s().doc.createElement("div");m.className="lc-vlist-item",m.appendChild(b.screen.addNodeRecursive(u)),b.el.appendChild(m),b.mounted.set(f,{wrap:m,subtree:u});const E=m.offsetHeight;E>0&&b.heights.set(f,E)},command:(l,f,...u)=>{const b=t.get(l._id);if(!b)return;const m=E=>E?"smooth":"auto";switch(f){case"scrollTo":b.el.scrollTo({top:u[0],behavior:m(u[1]??!0)});break;case"scrollToKey":{const E=d(b,u[0]);isNaN(E)||b.el.scrollTo({top:E,behavior:m(u[1]??!0)});break}case"scrollToEnd":S(b,u[0]??!0);break}}}}},Ce=2,he=256,ke=257,Ee=258,wn=272,Ge=60270,_e=60271,Sn=61e3,kn=/\b(?:calc|min|max|clamp)\(/,En=s=>{if(!kn.test(s))return s;let t="";for(let n=0;n<s.length;n++){if(s.startsWith("var(",n)){let d=0;const c=n;for(;n<s.length;n++)if(s[n]==="(")d++;else if(s[n]===")"&&--d===0)break;t+=s.slice(c,Math.min(n+1,s.length));continue}const i=s[n];if(i==="+"||i==="-"){const d=t[t.length-1]??"";if(!(i==="-"&&(d==="e"&&"btlr".includes(s[n+1]??"")||s.slice(Math.max(0,n-7),n)==="comfort"))&&/[\w%.)]/.test(d)){for(t=t.trimEnd()+" "+i+" ";s[n+1]===" ";)n++;continue}}t+=i}return t.replace(/\d*\.\d+|\d+/g,(n,i,d)=>{const c=d.slice(0,i).trimEnd(),g=d.slice(i+n.length).trimStart();return/[\w.%]$/.test(c)||/^[\w.%]/.test(g)||/[*/]$/.test(c)||/^[*/]/.test(g)?n:n+"px"})},xn={top:"12px",bottom:"4px",left:"16px",right:"16px"},rt=s=>`max(var(--safe-${s}), calc(var(--safe-${s}-bar, 0px) + var(--comfort-${s}, ${xn[s]})))`,Ae=s=>En(s).replace(new RegExp("(?<!-)\\bcomfort-(top|bottom|left|right)\\b","g"),(t,n)=>rt(n)).replace(new RegExp("(?<!-)\\bsafe-(top|bottom|left|right)\\b","g"),(t,n)=>`var(--safe-${n})`),_n=s=>{if(typeof s=="number")return s+"px";const t=String(s);return/^\d*\.?\d+$/.test(t)?t+"px":Ae(t)},ne=s=>{if(typeof s=="number")return s<=16777215&&Number.isInteger(s)?"#"+(s>>>0).toString(16).padStart(6,"0"):"#"+(s>>>0).toString(16).padStart(8,"0");const t=String(s);return t==="clear"?"transparent":t},Ue={p:["top","right","bottom","left"],padding:["top","right","bottom","left"],px:["left","right"],paddingHorizontal:["left","right"],py:["top","bottom"],paddingVertical:["top","bottom"],pt:["top"],paddingTop:["top"],pr:["right"],paddingRight:["right"],pb:["bottom"],paddingBottom:["bottom"],pl:["left"],paddingLeft:["left"]},Ke={m:["top","right","bottom","left"],margin:["top","right","bottom","left"],mx:["left","right"],marginHorizontal:["left","right"],my:["top","bottom"],marginVertical:["top","bottom"],mt:["top"],marginTop:["top"],mr:["right"],marginRight:["right"],mb:["bottom"],marginBottom:["bottom"],ml:["left"],marginLeft:["left"]},Xe={width:"width",height:"height",minWidth:"min-width",maxWidth:"max-width",minHeight:"min-height",maxHeight:"max-height",top:"top",left:"left",bottom:"bottom",right:"right",gap:"gap",fontSize:"font-size",lineHeight:"line-height",letterSpacing:"letter-spacing",flexBase:"flex-basis",borderWidth:"border-width",borderTopWidth:"border-top-width",borderRightWidth:"border-right-width",borderBottomWidth:"border-bottom-width",borderLeftWidth:"border-left-width",borderTopLeftRadius:"border-top-left-radius",borderTopRightRadius:"border-top-right-radius",borderBottomLeftRadius:"border-bottom-left-radius",borderBottomRightRadius:"border-bottom-right-radius"},qe={flexDirection:"flex-direction",justifyContent:"justify-content",alignItems:"align-items",alignSelf:"align-self",flexWrap:"flex-wrap",position:"position",display:"display",overflow:"overflow",boxSizing:"box-sizing",textAlign:"text-align",textDecoration:"text-decoration",transform:"transform",transformOrigin:"transform-origin",backgroundSize:"background-size",bgSize:"background-size"},Qe={opacity:"opacity",flexGrow:"flex-grow",flexShrink:"flex-shrink",aspectRatio:"aspect-ratio",fontWeight:"font-weight"},Ze={color:"color",bgColor:"background-color",backgroundColor:"background-color",borderColor:"border-color",borderTopColor:"border-top-color",borderRightColor:"border-right-color",borderBottomColor:"border-bottom-color",borderLeftColor:"border-left-color",placeholderColor:"--placeholder-color"},Je=new Set(["bgImage","backgroundImage","bgGradient","backgroundGradient","tintColor","objectFit","overlayColor","placeholder","type","scrollDirection","showScrollbar","keyboardDismissMode","snap","sheetDetents","sheetDetent","sheetDismissible","scrollX","scrollY","overscrollMode","rippleColor","refreshControlColor","pointerEvents"]),et=(s,t,n,i)=>{if(i==="safe-all"){for(const c of t)s.set(`${n}-${c}`,`var(--safe-${c})`);return}if(i==="comfort-all"||i==="comfort-x"||i==="comfort-y"){for(const c of t)s.set(`${n}-${c}`,rt(c));return}const d=typeof i=="number"?i+"px":Ae(String(i));for(const c of t)s.set(`${n}-${c}`,d)},tt=(s,t,n)=>{if(n==null)return!0;if(t in Ue)return et(s,Ue[t],"padding",n),!0;if(t in Ke)return et(s,Ke[t],"margin",n),!0;if(t in Xe)return s.set(Xe[t],_n(n)),!0;if(t in qe)return s.set(qe[t],String(n)),!0;if(t in Qe)return s.set(Qe[t],String(n)),!0;if(t in Ze)return s.set(Ze[t],ne(n)),!0;switch(t){case"flex":return s.set("flex",String(n)),!0;case"fontFamily":return s.set("font-family",n==="monospaced"?"monospace":String(n)),!0;case"borderRadius":return typeof n=="number"?s.set("border-radius",n+"px"):s.set("border-radius",String(n).trim().split(/\s+/).map(i=>/^\d*\.?\d+$/.test(i)?i+"px":Ae(i)).join(" ")),!0;case"border":return typeof n=="number"?s.set("border-width",n+"px"):s.set("border",String(n)),!0;case"borderTop":case"borderRight":case"borderBottom":case"borderLeft":{const i=t.slice(6).toLowerCase();return typeof n=="number"?s.set(`border-${i}-width`,n+"px"):s.set(`border-${i}`,String(n)),!0}case"fontStyle":return s.set("font-style",n===2?"italic":n===0?"normal":String(n)),!0}return!1},it=(s,t)=>{var n;return le(t)?Re(t.svg):typeof t=="object"&&t!==null&&"canvasSurface"in t?((n=s.canvasHost)==null?void 0:n.surfaceToDataUrl(t.canvasSurface))??"":typeof t=="object"&&t!==null&&"scene2d"in t?"":typeof t=="object"&&t!==null?st(t._id):String(t??"")},Ne=(s,t,n)=>{const i=t.el;if(i.tagName.toLowerCase()===n)return i;const d=s.doc.createElement(n);d.setAttribute("style",i.getAttribute("style")??""),d.setAttribute("class",i.getAttribute("class")??"");for(const c of["data-viewbox","data-node-id"]){const g=i.getAttribute(c);g!==null&&d.setAttribute(c,g)}return d._lecodesNode=i._lecodesNode,d._sourceRect=i._sourceRect,d._atlasSize=i._atlasSize,t.screen.nodeMap.set(t.id,d),t.el=d,i.replaceWith(d),d},ge=(s,t,n)=>{t.layers.set(Ce,{props:n})},Ln=s=>{const t=ot(s);if(!t)return{};const n=t.trim().split(/[\s,]+/).map(Number),i=n[2],d=n[3];return!i||!d?{}:{width:i,aspectRatio:i/d}},Tn=s=>{var n;if(s._sourceRect)return!0;const t=s._src;return le(t)&&!!((n=s._style)!=null&&n.tintColor||Te(t))},Rn=(s,t)=>{var c;const n=t.node,i=n._sourceRect;if(i){t.el._sourceRect=i,ge(s,t,{width:i[2],height:i[3]}),ct(t.el,it(s,n._src),null);return}const d=((c=n._style)==null?void 0:c.tintColor)??Te(n._src);lt(s,t,n._src,d===void 0?void 0:ne(d))},lt=(s,t,n,i)=>{const d=t.el;if(d instanceof HTMLImageElement){if(d.referrerPolicy="no-referrer",d.crossOrigin="anonymous",le(n)){d.src=Re(n.svg);const c=ot(n.svg);c?d.setAttribute("data-viewbox",c):d.removeAttribute("data-viewbox")}else d.removeAttribute("data-viewbox"),d.src=it(s,n);return}le(n)&&i&&(qt(d,n.svg,i),ge(s,t,Ln(n.svg)))},Cn=(s,t,n)=>{const i=t.el instanceof HTMLDivElement?t.el.style.backgroundColor:"",d=Te(n)??(i||void 0),c=le(n)&&!!d;c||t.layers.delete(Ce);const g=Ne(s,t,c?"div":"img");g._sourceRect=void 0,lt(s,t,n,d===void 0?void 0:ne(d)),s.computeStyle(t)},An=(s,t,n)=>{const i=t.el;if(!(i instanceof HTMLImageElement))return;const d=i.src,c=Ne(s,t,"div"),g=c.style;g.webkitMaskImage=g.maskImage=`url("${d}")`,g.webkitMaskRepeat=g.maskRepeat="no-repeat",g.webkitMaskPosition=g.maskPosition="center",g.maskSize||(g.webkitMaskSize=g.maskSize="contain"),c.style.backgroundColor=n;const w=c.getAttribute("data-viewbox");if(w){const S=w.trim().split(/[\s,]+/).map(Number);S[2]&&S[3]&&ge(s,t,{width:S[2],aspectRatio:S[2]/S[3]})}},Nn=(s,t,n,i,d,c)=>{const g=t.el,w=g._sourceRect;if(g._sourceRect=[n,i,d,c],g instanceof HTMLImageElement){const S=Ne(s,t,"div");S._sourceRect=[n,i,d,c],ct(S,g.src,g)}else Le(g);(!w||w[2]!==d||w[3]!==c)&&(ge(s,t,{width:d,height:c}),s.computeStyle(t))},ct=(s,t,n)=>{if(s.style.backgroundRepeat="no-repeat",n&&n.naturalWidth>0){s._atlasSize=[n.naturalWidth,n.naturalHeight],s.style.backgroundImage=`url("${t}")`,Le(s);return}const i=new Image;i.crossOrigin="anonymous",i.referrerPolicy="no-referrer",i.addEventListener("load",()=>{s._atlasSize=[i.naturalWidth,i.naturalHeight],s.style.backgroundImage=`url("${t}")`,Le(s)},{once:!0}),i.src=t},Le=s=>{const t=s._sourceRect,n=s._atlasSize;if(!t||!n)return;const[i,d,c,g]=t,[w,S]=n;s.style.backgroundSize=`${w/c*100}% ${S/g*100}%`,s.style.backgroundPosition=`${w===c?0:i/(w-c)*100}% ${S===g?0:d/(S-g)*100}%`},Mn=(s,t)=>{switch(t.type){case"image":return s.createElement(Tn(t)?"div":"img");case"video":return xe(t);case"button":return s.createElement("button");case"input":return s.createElement("input");case"textarea":return s.createElement("textarea");default:return s.createElement("div")}},Dn=typeof CSS<"u"&&!!CSS.supports&&CSS.supports("field-sizing","content"),zn=(s,t)=>{if(s.type!=="textarea"||Dn)return;const n=()=>{var i;((i=s._style)==null?void 0:i.height)==null&&(t.style.height="auto",t.style.height=`${t.scrollHeight}px`)};t._growTextArea=n,t.addEventListener("input",n),requestAnimationFrame(n)},On={screen:"lc-screen",text:"lc-text",row:"lc-row",box:"lc-box",button:"lc-button",spacer:"lc-spacer",scrollable:"lc-scrollable",vlist:"lc-vlist",widget:"lc-widget",native:"lc-native"};class nt{constructor(t,n){O(this,"core");O(this,"nodeMap",new Map);O(this,"root");O(this,"node");O(this,"screenId");O(this,"isWidget",!1);O(this,"ownerDesc");O(this,"deregister");O(this,"overlayElement",null);O(this,"screenWidth",0);O(this,"screenHeight",0);O(this,"firedScreenWidth",-1);O(this,"firedScreenHeight",-1);O(this,"vlistIds",[]);O(this,"insertNode",(t,n,i)=>{const d=this.nodeMap.get(t);if(!d)return;const c=this.addNodeRecursive(i);d.insertBefore(c,d.children[n]??null)});O(this,"removeNode",(t,n)=>{const i=this.nodeMap.get(t);i&&this.detachNode(i,n)});this.core=t,this.deregister=n}init(t,n){this.node=n,this.screenId=t,this.root=this.addNodeRecursive(n)}addNodeRecursive(t){var w,S,M,P;const n=this.core,i=Mn(n.doc,t);i.classList.add("lc");const d=On[t.type];d&&i.classList.add(d),t.type==="widget"&&i.classList.add("widget"),i._lecodesNode=t;const c=n.nextId();i.setAttribute("data-node-id",String(c));const g=n.registerNode(c,i,t,this);t._id=c,this.nodeMap.set(c,i),t._text&&(i.textContent=t._text),t.type==="screen"&&(t.scrollable&&i.classList.add("lc-scrollable"),((w=t.touchStartListeners)==null?void 0:w.length)>0&&i.classList.add("interactive")),t.type==="widget"&&((S=t.touchStartListeners)==null?void 0:S.length)>0&&i.classList.add("interactive"),t.type==="button"&&((M=t.touchStartListeners)==null?void 0:M.length)>0&&i.classList.add("interactive"),t.type==="image"&&Rn(n,g),t.type==="video"&&Qt(i),t.type==="native"&&((P=n.nativeViews)==null||P.mountInto(t,i)),this.attachListeners(t,i,g);for(const[A,_]of Object.entries(t._style??{}))n.applyStyleValue(g,he,A,_,!1);if(t._classes)for(const A of t._classes)g.active.add(n.classLayer(A));if(n.computeStyle(g),(t.type==="input"||t.type==="textarea")&&t._value&&(i.value=t._value),t.ll&&n.observeLayout(g),t.type==="vlist")n.vlist.register(this,t,i,c),this.vlistIds.push(c);else if("children"in t)for(const A of t.children)A&&i.appendChild(this.addNodeRecursive(A));return i}attachListeners(t,n,i){var c;const d=this.core.touch;if((t.type==="button"||t.type==="widget"||t.type==="screen")&&(n.addEventListener("pointerdown",d.onUIButtonTouchStart.bind(null,t)),t.type==="button"&&n.addEventListener("pointerup",d.onUIButtonTouchEnd.bind(null,t))),t.type==="input"||t.type==="textarea"){const g=n;g._lcNode=t,zn(t,g),((c=t.cl)==null?void 0:c.length)>0&&g.addEventListener("input",()=>{for(const w of t.cl)w(g.value)}),g.addEventListener("focus",()=>{this.core.setLayerEnabled(i,_e,!0);for(const w of t.fl??[])w()}),g.addEventListener("blur",()=>{this.core.setLayerEnabled(i,_e,!1);for(const w of t.bl??[])w()})}(t.type==="scrollable"||t.type==="screen"&&t.scrollable)&&t.sl&&n.addEventListener("scroll",()=>{const g=n.classList.contains("scrollable_horizontal")?n.scrollLeft:n.scrollTop;for(const w of t.sl)w(g)})}applyLayout(t,n){if(this.screenWidth=t,this.screenHeight=n,!this.isWidget&&!(t===this.firedScreenWidth&&n===this.firedScreenHeight)){this.firedScreenWidth=t,this.firedScreenHeight=n;for(const i of this.node.ll??[])i({left:0,top:0,width:t,height:n})}}setContent(t,n,i){const d=this.nodeMap.get(t);if(d){for(const c of n)c&&this.detachNode(d,c);for(const c of i)c&&d.appendChild(this.addNodeRecursive(c))}}detachNode(t,n){const i=this.nodeMap.get(n._id);i&&i.parentElement===t&&t.removeChild(i),this.releaseSubtree(n)}releaseSubtree(t){if(t._id){if(t.type==="vlist"){this.core.vlist.unregister(t._id);const n=this.vlistIds.indexOf(t._id);n>=0&&this.vlistIds.splice(n,1)}this.core.dropNode(t._id),this.nodeMap.delete(t._id),t._id=0}if("children"in t)for(const n of t.children)n&&this.releaseSubtree(n)}remove(){this.removeFromHTML(),this.releaseSubtree(this.node),this.nodeMap.clear(),this.deregister(this.screenId)}removeFromHTML(){var t;this.root.remove(),(t=this.overlayElement)==null||t.remove(),this.overlayElement=null,this.screenWidth=0,this.screenHeight=0,this.firedScreenWidth=-1,this.firedScreenHeight=-1}}const Pn=async(s,t)=>{const n=s.ownerDocument,i=n.defaultView??window,d=n.createElement("style");d.innerHTML=yn,s.append(d);const c=new Map;let g=1;const w=new Map;let S=0;const M=new Map;let P=1,A=null;const _=e=>{e<0?M.delete(e):w.delete(e)};let l=!1;const f=new Set;let u=je;const b=(e,o)=>{const r=e>o,{insets:a,bars:p}=sn(u,r),h={top:a[0],right:a[1],bottom:a[2],left:a[3]},v=s.style;for(const[I,k]of Object.entries(h))v.setProperty(`--safe-${I}`,k+"px"),p.includes(I)?v.setProperty(`--safe-${I}-bar`,k+"px"):v.removeProperty(`--safe-${I}-bar`);if(r!==l){l=r;for(const I of f)D(I)}},m=e=>{u=e??je,ee>0&&te>0&&b(ee,te)},E=e=>{const o=s.style;for(const r of Object.keys(e)){if(r.startsWith("safe-")||r==="vw"||r==="vh"||r==="vmin"||r==="vmax")continue;const a=e[r];a==null?o.removeProperty(`--${r}`):o.setProperty(`--${r}`,typeof a=="number"?a+"px":String(a))}},L=new Map,N=e=>{const o=e.startsWith("$")?e.slice(1):e;let r=L.get(o);return r===void 0&&(r=wn+L.size,L.set(o,r)),r},Y=e=>{if(e.startsWith("$"))return N(e);switch(e){case"onPressed":return Ge;case"onFocused":return _e;case"onLandscape":return ke;case"onPortait":case"onPortrait":return Ee}return null},G=e=>e===null||typeof e!="object"?e:"_id"in e?st(e._id):"svg"in e?Re(e.svg):"canvasSurface"in e?(t==null?void 0:t.surfaceToDataUrl(e.canvasSurface))??"":"scene2d"in e?"":e,$=(e,o)=>{let r=e.layers.get(o);return r||(r={props:{}},e.layers.set(o,r)),r},U=(e,o)=>o===ke?l:o===Ee?!l:o===he||o===Ce?!0:e.active.has(o),ce=e=>{const o=new Map;for(const[r,a]of Object.entries(e)){if(Je.has(r)){r==="tintColor"?o.set("background-color",""):(r==="bgImage"||r==="backgroundImage"||r==="bgGradient"||r==="backgroundGradient")&&o.set("background-image","");continue}tt(o,r,a??0)}return[...o.keys()]},ae=e=>e.transitions?[...e.transitions.values()].join(", "):"",oe=(e,o,r)=>`${e} ${o??225}ms ease-in-out${r?` ${r}ms`:""}`,de=(e,o,r,a)=>{e.transitions||(e.transitions=new Map);for(const p of ce(o))e.transitions.set(p,oe(p,r,a));e.el.style.transition=ae(e)},y=new Set,x=e=>{y.has(e)||(y.add(e),console.warn(`[viewer-lite] unsupported style prop "${e}"`))},C=(e,o,r,a,p=!0)=>{const h=G(a);if(h!=null&&typeof h=="object"){const v=Y(r);if(v===null){x(r);return}const{duration:I,delay:k,layer:R,...F}=h,J={};for(const[ie,pe]of Object.entries(F))J[ie]=G(pe);e.layers.set(v,{props:J,duration:I,delay:k}),(v===ke||v===Ee)&&f.add(e),(I!=null||k!=null)&&de(e,J,I,k)}else if(h==null){const v=Y(r);v!==null?e.layers.delete(v):delete $(e,o).props[r]}else $(e,o).props[r]=h;p&&D(e)},H=(e,o,r)=>{var I;const a=o.bgGradient??o.backgroundGradient,p=o.bgImage??o.backgroundImage;if(a||p){const k=[];a&&k.push(String(a)),p&&k.push(`url("${p}")`),r.set("background-image",k.join(", "))}if((o.bgSize??o.backgroundSize)==="tile"&&(r.set("background-size","auto"),r.set("background-repeat","repeat")),o.pointerEvents!==void 0&&r.set("pointer-events",o.pointerEvents==="none"?"none":"auto"),o.objectFit!==void 0){const k=e.el;if(k instanceof HTMLImageElement||k instanceof HTMLVideoElement)r.set("object-fit",String(o.objectFit));else if(k.hasAttribute("data-viewbox")&&!k._sourceRect){const R=o.objectFit==="cover"?"cover":o.objectFit==="fill"?"100% 100%":"contain";r.set("-webkit-mask-size",R),r.set("mask-size",R)}}o.tintColor!==void 0&&e.node.type==="image"&&(e.el instanceof HTMLImageElement&&e.el.hasAttribute("data-viewbox")&&An(Q,e,ne(o.tintColor)),r.set("background-color",ne(o.tintColor)));const v=e.el;if((v instanceof HTMLInputElement||v instanceof HTMLTextAreaElement)&&(v.placeholder=o.placeholder!=null?String(o.placeholder):"",v instanceof HTMLInputElement&&o.type!==void 0&&(v.type=String(o.type))),e.node.type==="scrollable"){v.classList.toggle("scrollable_horizontal",o.scrollDirection==="horizontal");const k=o.snap,R=k!==void 0&&k!=="none",F=o.scrollDirection==="horizontal";r.set("scroll-snap-type",R?`${F?"x":"y"} mandatory`:"none"),v.classList.toggle("lc-snap-start",k==="start"),v.classList.toggle("lc-snap-center",k==="center"),v.classList.toggle("lc-snap-end",k==="end");const J=r.get(F?"padding-left":"padding-top"),ie=r.get(F?"padding-right":"padding-bottom"),pe=(Gt,Ut)=>r.set(`scroll-padding-${Gt}`,k==="start"||k==="end"?Ut??"0px":"0px");pe(F?"left":"top",J),pe(F?"right":"bottom",ie)}if(o.showScrollbar!==void 0&&v.classList.toggle("lc-noscrollbar",o.showScrollbar===!1),e.node.type==="widget"&&o.sheetDetents!==void 0){const k=String(o.sheetDetents).split(",").map(Number).filter(ie=>ie>0),R=k[k.length-1]??.5,F=Math.floor(Number(o.sheetDetent??0)),J=F>=0?k[Math.min(F,k.length-1)]??R:0;r.set("transform",`translateY(${(R-J)/R*100}%)`),r.set("transition","transform 250ms ease")}if(e._kbDismissMode=o.keyboardDismissMode,o.keyboardDismissMode==="scroll"&&!e._kbDismissBound){e._kbDismissBound=!0;const k=()=>{if(e._kbDismissMode!=="scroll")return;const R=n.activeElement;(R instanceof HTMLInputElement||R instanceof HTMLTextAreaElement)&&R.blur()};v.addEventListener("touchmove",k,{passive:!0}),v.addEventListener("wheel",k,{passive:!0})}if(o.overlayColor!==void 0&&o.overlayColor!==null){const k=e.screen;let R=k.overlayElement;R||(R=n.createElement("div"),R.style.position="absolute",R.style.inset="0",R.style.pointerEvents="auto",R.style.zIndex="9",R.addEventListener("click",()=>{for(const F of k.node.otl??[])F()}),s.appendChild(R),k.overlayElement=R),R.style.background=ne(o.overlayColor),e.hasOverlay=!0}else e.hasOverlay&&((I=e.screen.overlayElement)==null||I.remove(),e.screen.overlayElement=null,e.hasOverlay=!1);o.scrollY!==void 0&&o.scrollY!==e._lastScrollY&&(e._lastScrollY=o.scrollY,v.scrollTop=Number(o.scrollY)),o.scrollX!==void 0&&o.scrollX!==e._lastScrollX&&(e._lastScrollX=o.scrollX,v.scrollLeft=Number(o.scrollX))},D=e=>{const o={};for(const p of[...e.layers.keys()].sort((h,v)=>h-v))if(U(e,p))for(const[h,v]of Object.entries(e.layers.get(p).props))v===null?delete o[h]:v!==void 0&&(o[h]=v);const r=new Map;for(const[p,h]of Object.entries(o))Je.has(p)||tt(r,p,h)||x(p);H(e,o,r);const a=e.el;for(const[p,h]of r)e.applied.get(p)!==h&&a.style.setProperty(p,h);for(const p of e.applied.keys())r.has(p)||a.style.removeProperty(p);e.applied=r},V=(e,o,r)=>{r?e.active.add(o):e.active.delete(o),e.layers.has(o)&&D(e)},B=new Map,K=new ResizeObserver(e=>{for(const o of e){const r=B.get(o.target);if(!r)continue;const a=o.target,p={left:a.offsetLeft,top:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight};for(const h of r.node.ll??[])h(p)}}),W=e=>{e.node.type!=="screen"&&(B.set(e.el,e),K.observe(e.el))},X=vn(()=>Q),T=en(s);T.onNodeStateChanged((e,o)=>{const r=c.get(e);r&&V(r,Ge,o)});const q=nn(n),Q={doc:n,nodes:c,touch:T,canvasHost:t,nativeViews:q,nextId:()=>g++,registerNode(e,o,r,a){const p={id:e,el:o,node:r,screen:a,layers:new Map,active:new Set,applied:new Map,transitions:null};return c.set(e,p),p},dropNode(e){const o=c.get(e);o&&(B.delete(o.el)&&K.unobserve(o.el),f.delete(o),c.delete(e))},applyStyleValue:C,computeStyle:D,setLayerEnabled:V,classLayer:N,observeLayout:W,vlist:X};let fe={};const dt=e=>{fe=e},se=rn(s);let z=null;const ft=()=>[s.clientWidth,s.clientHeight],ut=e=>{const o=new nt(Q,_),r=S++;return w.set(r,o),o.init(r,e),o},ue=e=>{switch(e==null?void 0:e.type){case"scene3d":return{kind:"scene3d",desc:e};case"native":return{kind:"native",desc:e};case"videoView":return{kind:"videoView",desc:e};case"scene2d":return{kind:"unsupported",desc:e};default:return{kind:"screen",node:e,screen:ut(e)}}},Z=(e,o)=>{const r=e.kind==="screen"?e.node:e.desc._p;for(const a of(r==null?void 0:r[o])??[])a()},pt=e=>z!==null&&(z.kind==="screen"?z.node===e:z.kind!=="unsupported"&&z.desc===e),be=()=>{for(const e of M.values()){if(e.ownerDesc===void 0)continue;const o=pt(e.ownerDesc);e.root.style.display=o?"":"none",e.overlayElement&&(e.overlayElement.style.display=o?"":"none")}},ht=e=>{if(e.kind==="screen")return s.appendChild(e.screen.root),e.screen.applyLayout(ee,te),Z(e,"ol"),{el:e.screen.root};if(e.kind==="scene3d"){const a=fe.scene3d;if(!a){console.error("[viewer-lite] openView: this host has no 3D engine");return}return a.open(e.desc.sceneId),a.el.style.display="block",Z(e,"ol"),{el:a.el,static:!0}}if(e.kind==="native"){const a=e.cell??(e.cell=n.createElement("div"));return a.style.cssText="position:absolute;inset:0;overflow:hidden",q.mountInto(e.desc._p,a),s.appendChild(a),Z(e,"ol"),{el:a}}if(e.kind==="unsupported"){console.error("[viewer-lite] openView: Web Lite has no 2D engine — a Scene2D can't be presented here");return}const o=xe(e.desc.node);e.restore={parent:o.parentElement,next:o.nextSibling,cssText:o.style.cssText};const r=e.wrapper??(e.wrapper=n.createElement("div"));return r.style.cssText="position:absolute;inset:0;background:#000",o.style.cssText="position:absolute;inset:0;width:100%;height:100%;object-fit:contain",r.appendChild(o),s.appendChild(r),Z(e,"ol"),{el:r}},gt=e=>{if(e.kind==="screen")return{el:e.screen.root};if(e.kind==="scene3d"){const o=fe.scene3d;return o?{el:o.el,static:!0}:void 0}if(e.kind==="native")return e.cell?{el:e.cell}:void 0;if(e.kind!=="unsupported")return e.wrapper?{el:e.wrapper}:void 0},me=(e,o)=>{var a,p;if(e.kind==="screen"){o&&!j.stack.includes(e)?e.screen.remove():e.screen.removeFromHTML();return}if(e.kind==="scene3d"){const h=fe.scene3d;h&&(h.close(),h.el.style.display="none");return}if(e.kind==="native"){(a=e.cell)==null||a.remove();return}if(e.kind==="unsupported")return;const r=xe(e.desc.node);e.restore&&(r.style.cssText=e.restore.cssText,e.restore.parent?e.restore.parent.insertBefore(r,e.restore.next):r.remove()),(p=e.wrapper)==null||p.remove()};let ye=null,ve=!1;const Me=e=>{if(e===ye){ve=!0;return}e.kind==="screen"&&e.screen.remove()},we=(e,o,r)=>{se.finish();const a=z;if(a===e)return;a&&Z(a,"cl"),z=e,A=(e==null?void 0:e.kind)==="screen"?e.screen:null;const p=e?ht(e):void 0;be(),a&&(ye=a,ve=!1,se.play({incoming:p,outgoing:gt(a),transition:o,onDone:()=>{const h=r||ve;ye=null,me(a,h)}}))},De=()=>{const[e,o]=ft();e===0||o===0||(b(e,o),ee=e,te=o)},ze=(e,o)=>{j.show&&$e(),De(),we(ue(e),o??"none",!0)},Oe=()=>{we(null,"none",!0)},bt=e=>ze(e,"none"),mt=()=>Oe();let Pe=()=>{},re=null;const j=new on(e=>{const o=re;re=null,we(e,o,!1),Pe(e.kind==="screen"?e.node:e.desc)},Me),yt=(e,o)=>{z&&(se.finish(),Z(z,"cl"),me(z,!j.stack.includes(z)),z=null,A=null);for(const r of j.stack)Me(r);j.stack=[],De(),Pe=o,j.init(ue(e))},vt=(e,o)=>{re=o??"push",j.push(ue(e))},wt=(e,o)=>{re=o??"fade",j.replace(ue(e))},St=(e,o)=>{re=o??"pop",j.pop(e)},$e=()=>{if(j.hide(),z&&j.stack.includes(z)){se.finish(),Z(z,"cl");const e=z;z=null,A=null,me(e,!1),be()}},kt=()=>{j.restore()},Et=(e,o)=>{for(const a of M.values())if(a.node===e)return;const r=new nt(Q,_);r.isWidget=!0,r.ownerDesc=o,M.set(-P,r),r.init(-P,e),P++,s.appendChild(r.root),o!==void 0&&be()},xt=e=>{if(!e._id)return;const o=c.get(e._id);!o||!o.screen.isWidget||o.screen.remove()},_t=(e,o,r)=>{const a=c.get(e);a&&C(a,he,o,r)},Lt=(e,o)=>{const r=c.get(e);if(r){for(const[a,p]of Object.entries(o))C(r,he,a,p,!1);D(r)}},Tt=(e,o,r)=>{const a=c.get(e);a&&V(a,N(o),r)},Rt=(e,o,r)=>{var p,h;const a=c.get(e);if(a)switch(o){case"text":a.el.textContent=r;break;case"value":a.el.value=r,(h=(p=a.el)._growTextArea)==null||h.call(p);break;case"src":Cn(Q,a,r);break}},Ct=(e,o,r,a,p)=>{const h=c.get(e);h&&Nn(Q,h,o,r,a,p)},At=e=>{var r;const o=(r=c.get(e))==null?void 0:r.el;return(o==null?void 0:o.value)??""},Nt=e=>{var h;const o=(h=c.get(e))==null?void 0:h.el;if(!o||!o.isConnected)return null;const r=o.getBoundingClientRect();if(r.width===0&&r.height===0&&r.left===0&&r.top===0)return null;const a=s.getBoundingClientRect(),p=s.clientWidth>0&&a.width>0?a.width/s.clientWidth:1;return[(r.left-a.left)/p,(r.top-a.top)/p,r.width/p,r.height/p]},Mt=(e,o,r)=>{var a;(a=c.get(o))==null||a.screen.insertNode(o,e,r)},Dt=(e,o)=>{var r;(r=c.get(e))==null||r.screen.removeNode(e,o)},zt=(e,o,r)=>{var a;(a=c.get(e))==null||a.screen.setContent(e,o,r)},He=e=>{const{duration:o,delay:r,layer:a,...p}=e,h={};for(const[v,I]of Object.entries(p))h[v]=G(I);return{duration:o,delay:r,layerNum:Sn+(a??44),props:h}},Ie=(e,o,r,a)=>{e.el.style.transition=ce(o).map(h=>oe(h,r,a)).join(", ");const p=h=>{h.target===e.el&&(e.el.style.transition=ae(e),e.el.removeEventListener("transitionend",p))};e.el.addEventListener("transitionend",p)},Ot=(e,o)=>{const r=c.get(e);if(!r)return;const{duration:a,delay:p,layerNum:h,props:v}=He(o);r.layers.set(h,{props:v}),Ie(r,v,a,p),i.requestAnimationFrame(()=>{r.active.add(h),D(r)})},Pt=(e,o)=>{const r=c.get(e);if(!r)return;const{duration:a,delay:p,layerNum:h,props:v}=He(o);r.layers.set(h,{props:v}),r.active.add(h),D(r),i.requestAnimationFrame(()=>{Ie(r,v,a,p),r.active.delete(h),D(r)})},Se=[],$t=(e,o,r,a,p)=>{const h=new FontFace(e,`url(${o})`,r);h.load().then(()=>{n.fonts.add(h),Se.push(h),a()}).catch(p)};let We=()=>{},ee=0,te=0;const Ht=(e,o)=>{if(!(e===0||o===0)){b(e,o),ee=e,te=o,A==null||A.applyLayout(e,o);for(const r of M.values())r.applyLayout(e,o);We(e,o)}},It=e=>{We=e},Wt=()=>[ee,te],jt=tn(s),Ft=s.style.touchAction;s.style.touchAction="pan-x pan-y";const Bt=Zt(s,{scroller:".lc-scrollable,.lc-vlist"});s.addEventListener("pointerdown",T.onSceneTouchDown),s.addEventListener("pointerup",T.onSceneTouchEnd),s.addEventListener("pointercancel",T.onSceneTouchCancel);const Vt=Jt(s),Yt=()=>{Vt(),Bt(),s.style.touchAction=Ft,s.removeEventListener("pointerdown",T.onSceneTouchDown),s.removeEventListener("pointerup",T.onSceneTouchEnd),s.removeEventListener("pointercancel",T.onSceneTouchCancel),T._destroy(),se.finish(),q.destroy(),K.disconnect(),B.clear();for(const e of Se)n.fonts.delete(e);Se.length=0};return{openScreen:bt,closeScreen:mt,routerOpen:yt,routerPush:vt,routerReplace:wt,routerPop:St,routerHide:$e,routerRestore:kt,openView:ze,closeView:Oe,isViewSupported:q.isViewSupported,viewCall:q.viewCall,_registerView:q.registerView,_setSceneHost:dt,updateNode:Rt,setSourceRect:Ct,updateStyle:_t,mergeStyle:Lt,setClass:Tt,registerFont:$t,fontFormat:"woff2",toast:jt,registerTouchStartEvent:T.registerTouchStartEvent,registerTouchEndEvent:T.registerTouchEndEvent,isButtonPressed:T.isButtonPressed,registerResizeEvent:It,getDisplaySize:Wt,getTextValue:At,getBoundingClientRect:Nt,insertNode:Mt,removeNode:Dt,setContent:zt,animateTo:Ot,animateFrom:Pt,showWidget:Et,hideWidget:xt,setTheme:E,...X.api,_onResize:Ht,_destroy:Yt,_setCreator:T.setCreator,_setSafeAreaSpec:m}},$n=async(s,t={})=>{var oe,de;const n=t.engine??"gl-lite",i=t.preloads??new Set,d=s.ownerDocument,c=d.defaultView??window,g=t.ui===!1?void 0:ln(t.fonts,d),w=t.ui===!1?void 0:cn(t.bootFonts??[],d),S=d.createElement("canvas");S.style.cssText="width:100%;height:100%;touch-action:none;user-select:none;-webkit-user-drag:none;display:none",s.appendChild(S);const M=pn(mn,Ye),P=bn(Ye);let A=()=>{},_;if(n==="defer")_={raycastView(){return 0},_raycastView(){return 0},_onResize(){},_dispose(){}},A=async()=>{const y=s.getBoundingClientRect();S.width=y.width,S.height=y.height;const{createViewerLite:x}=await Fe(async()=>{const{createViewerLite:H}=await import("./createViewerLite-B91Sj6p_.js").then(D=>D.c);return{createViewerLite:H}},__vite__mapDeps([0,1]),import.meta.url),C=await x(S,{preloads:i,canvasHost:M});Object.assign(_,C)};else{const y=s.getBoundingClientRect();S.width=y.width,S.height=y.height;const{createViewerLite:x}=await Fe(async()=>{const{createViewerLite:C}=await import("./createViewerLite-B91Sj6p_.js").then(H=>H.c);return{createViewerLite:C}},__vite__mapDeps([0,1]),import.meta.url);_=await x(S,{preloads:i,canvasHost:M}),t.methods&&Object.assign(_,t.methods)}const l=t.ui===!1?void 0:await(t.ui??Pn)(s,M),f=an({launchUrl:t.launchUrl,onOrientation:t.onOrientation});l==null||l._setCreator(_),(oe=l==null?void 0:l._setSceneHost)==null||oe.call(l,{scene3d:{el:S,open:y=>{var x;return(x=_.openScene)==null?void 0:x.call(_,y)},close:()=>{var y;return(y=_.closeScene)==null?void 0:y.call(_)}}}),dn(l),t.safeArea&&((de=l==null?void 0:l._setSafeAreaSpec)==null||de.call(l,t.safeArea));const u=new ResizeObserver(([y])=>{_==null||_._onResize(y.contentRect.width,y.contentRect.height),l==null||l._onResize(y.contentRect.width,y.contentRect.height)});u.observe(s);const m=fn({windows:c===window?[window]:[c,window],root:s,keyboard:t.keyboard!==!1});f.inputKey=m.inputKey,f.inputRead=m.inputRead,f.inputSetPointerLock=m.inputSetPointerLock,f.registerInputEvent=m.registerInputEvent;const E=[];let L=!1;const N=(y,x,C,H)=>{var B,K;if(C.length===0&&Ve(x)){const W=typeof x=="number"||typeof x=="bigint"?`code ${x}`:x instanceof Error?x.message||x.name:String(x),X=[H,W].filter(T=>!!T).filter((T,q,Q)=>Q.indexOf(T)===q).join(`
167
167
  `);console.error(`[le.codes] native engine error — ${X||W}`),(B=y.onError)==null||B.call(y,{message:"Native engine error",detail:X,frames:[],native:!0,stack:x instanceof Error?x.stack:void 0});return}const V=x instanceof Error?x.message:String(x);if(C.length>0){const W=C[0];console.error(`[le.codes] ${V}
168
168
  at ${W.source}:${W.line}:${W.column}${W.fn?` (${W.fn})`:""}`)}else console.error(`[le.codes] ${V}`);(K=y.onError)==null||K.call(y,{message:V,frames:C,stack:x instanceof Error?x.stack:void 0})},Y=(y,x)=>{for(let C=E.length-1;C>=0;C--){const H=E[C];if(!H.sourceMap)continue;const D=Be(y,H.sourceMap);if(D.length>0)return N(H,y,D,x)}if(Ve(y)){const C=E[E.length-1];C&&N(C,y,[],x)}},G=y=>Y(y.error??y.message,y.message),$=y=>Y(y.reason),U=()=>{L||(L=!0,window.addEventListener("error",G),window.addEventListener("unhandledrejection",$))},ce=(y,x={})=>{U();const C=gn(),H=hn(y);let D=!1;const V=()=>{if(D)return;D=!0;const T=E.indexOf(B);T>=0&&E.splice(T,1),C.disposeAll()},B={sourceMap:H,onError:x.onError,dispose:V};E.push(B);const K={_creator:_,_creator2d:void 0,_creatorUI:l,_creatorUtils:f,_creatorCanvas:M.bridge,_creatorNav:P,...C.globals,createEngine:A},W=new Function(...Object.keys(K),y);let X;try{X=W(...Object.values(K))}catch(T){throw N(B,T,H?Be(T,H):[]),T}return{result:X,dispose:V}},ae=()=>{var y;u.disconnect();for(const x of[...E])x.dispose();L&&(window.removeEventListener("error",G),window.removeEventListener("unhandledrejection",$)),_._dispose(),(y=l==null?void 0:l._destroy)==null||y.call(l),S.remove(),f._disposeWebsockets(),f._disposeServices(),f._disposeAppEvents(),m.dispose()};return await g,await w,{_creator:_,_creatorUI:l,_creatorUtils:f,canvasHost:M,run:ce,destroy:ae}},at="overflow:hidden;font-family:var(--fontFamily,'Roboto'),system-ui,-apple-system,sans-serif",Hn="position:absolute;inset:0;"+at,In=s=>{const t=new Set(s.childNodes),n=s.getAttribute("style"),d=(s.ownerDocument.defaultView??window).getComputedStyle(s).position!=="static";return s.style.cssText=`${n?n+";":""}${d?"":"position:relative;"}${at}`,{root:s,remove:()=>{for(const c of Array.from(s.childNodes))t.has(c)||c.remove();n===null?s.removeAttribute("style"):s.setAttribute("style",n)}}},Wn=s=>{const n=s.ownerDocument.createElement("iframe");n.style.cssText="border:none;display:block;width:100%;height:100%;background:transparent",n.allow="camera; microphone; autoplay; fullscreen",s.appendChild(n);const i=n.contentDocument,d=i.createElement("style");d.textContent="html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background:transparent}canvas{display:block}",i.head.appendChild(d);const c=i.createElement("div");return c.style.cssText=Hn,i.body.appendChild(c),{root:c,remove:()=>n.remove()}},Bn=async(s,t="",n,i={})=>{var _;const d=t.slice(0,2e3);if(d.includes("// 2d: enable")){const l="Web Lite doesn't support 2D projects — use the regular preview";return console.warn(`[viewer-lite] ${l}`),(_=i.onError)==null||_.call(i,{message:l,frames:[]}),{_creator:void 0,_creatorUI:void 0,_creatorUtils:void 0,uiRoot:void 0,result:void 0,destroy(){}}}const c=new Set,g=d.match(/\/\/ preload: (.+)/);if(g)for(const l of g[1].split(";"))c.add(l);const w=d.includes("// gl: disable")||d.includes("// gl: defer"),{root:S,remove:M}=i.frame===!1?In(s):Wn(s),P=await $n(S,{engine:w?"defer":"gl-lite",fonts:i.fonts,bootFonts:un(d),preloads:c,methods:n,safeArea:i.safeArea,onOrientation:i.onOrientation}),A=P.run(t,{onError:i.onError});return{_creator:P._creator,_creatorUI:P._creatorUI,_creatorUtils:P._creatorUtils,uiRoot:S,result:A.result,destroy(){A.dispose(),P.destroy(),M()}}};export{$n as createLiteHost,Bn as mountCreatorLite};
@@ -1,2 +1,2 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./basis-C64VHDVD.js","./worker-Caf-yYEI.js","./draco-BiISTFcR.js"])))=>i.map(i=>d[i]);
2
- import{_ as o}from"../embed.js";import{G as i}from"./createViewerLite-DkM-O9BQ.js";let a=null,n=null,c=null;const u=[171,75,84,88,32,50,48,187,13,10,26,10],m=t=>t.length>=12&&u.every((e,r)=>t[r]===e),g=t=>{if(t.byteLength<80)return!0;const e=new DataView(t),r=e.getUint32(48,!0);return r+15>t.byteLength?!0:e.getUint8(r+14)!==1},h=async(t,e)=>(await l(t),c.parseTexture(e));let s=null;const w=async t=>{s??(s=o(async()=>{const{createBasisManager:r}=await import("./basis-C64VHDVD.js");return{createBasisManager:r}},__vite__mapDeps([0,1]),import.meta.url).then(({createBasisManager:r})=>r(null)).catch(r=>{throw s=null,r}));const e=await(await s).parseTexture(t);if(!e||e.isCompressedTexture)throw new Error("KTX2 did not transcode to an image");return e},p=()=>(a??(a=o(async()=>{const{createDracoManager:t}=await import("./draco-BiISTFcR.js");return{createDracoManager:t}},__vite__mapDeps([2,1]),import.meta.url).then(({createDracoManager:t})=>t()).then(t=>{i.setDracoManager(t)}).catch(t=>{throw a=null,t})),a),l=t=>(n??(n=o(async()=>{const{createBasisManager:e}=await import("./basis-C64VHDVD.js");return{createBasisManager:e}},__vite__mapDeps([0,1]),import.meta.url).then(({createBasisManager:e})=>e(t)).then(e=>{c=e,i.setBasisManager(e)}).catch(e=>{throw n=null,e})),n);export{w as decodeKtx2Image,l as ensureBasisTranscoder,p as ensureDracoDecoder,m as isKtx2Bytes,g as ktx2IsSrgb,h as transcodeKtx2};
2
+ import{_ as o}from"../embed.js";import{G as i}from"./createViewerLite-B91Sj6p_.js";let a=null,n=null,c=null;const u=[171,75,84,88,32,50,48,187,13,10,26,10],m=t=>t.length>=12&&u.every((e,r)=>t[r]===e),g=t=>{if(t.byteLength<80)return!0;const e=new DataView(t),r=e.getUint32(48,!0);return r+15>t.byteLength?!0:e.getUint8(r+14)!==1},h=async(t,e)=>(await l(t),c.parseTexture(e));let s=null;const w=async t=>{s??(s=o(async()=>{const{createBasisManager:r}=await import("./basis-C64VHDVD.js");return{createBasisManager:r}},__vite__mapDeps([0,1]),import.meta.url).then(({createBasisManager:r})=>r(null)).catch(r=>{throw s=null,r}));const e=await(await s).parseTexture(t);if(!e||e.isCompressedTexture)throw new Error("KTX2 did not transcode to an image");return e},p=()=>(a??(a=o(async()=>{const{createDracoManager:t}=await import("./draco-BiISTFcR.js");return{createDracoManager:t}},__vite__mapDeps([2,1]),import.meta.url).then(({createDracoManager:t})=>t()).then(t=>{i.setDracoManager(t)}).catch(t=>{throw a=null,t})),a),l=t=>(n??(n=o(async()=>{const{createBasisManager:e}=await import("./basis-C64VHDVD.js");return{createBasisManager:e}},__vite__mapDeps([0,1]),import.meta.url).then(({createBasisManager:e})=>e(t)).then(e=>{c=e,i.setBasisManager(e)}).catch(e=>{throw n=null,e})),n);export{w as decodeKtx2Image,l as ensureBasisTranscoder,p as ensureDracoDecoder,m as isKtx2Bytes,g as ktx2IsSrgb,h as transcodeKtx2};