@vincentt-xr/sdk 2.0.0-alpha.2 → 2.0.0-alpha.3
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.
- package/GROUNDING.md +34 -9
- package/dist/{DebuggerUI-Cq28c18s.js → DebuggerUI-xp4bg3gH.js} +1 -1
- package/dist/{FaceMeshRenderer-6t8OsQhK.js → FaceMeshRenderer-CALA4k49.js} +2 -2
- package/dist/{FaceMeshRenderer-lQLhYIW-.cjs → FaceMeshRenderer-D4PFqsb3.cjs} +1 -1
- package/dist/{FaceRetouch-DtNl8-4e.cjs → FaceRetouch-Bq2rtPlV.cjs} +1 -1
- package/dist/{FaceRetouch-CDrL0pXg.js → FaceRetouch-DF5UsOsZ.js} +29 -29
- package/dist/components/MeshRenderer/index.d.ts +1 -0
- package/dist/components/ScreenImage/source.d.ts +3 -0
- package/dist/contexts-D5TQcwmv.js +660 -0
- package/dist/contexts-Dv1SA0bS.cjs +1 -0
- package/dist/debug-ui.cjs +3 -3
- package/dist/debug-ui.js +1246 -1205
- package/dist/entries/low-level.d.ts +3 -0
- package/dist/face-effects.cjs +1 -1
- package/dist/face-effects.js +3 -3
- package/dist/{getFaceInfo-hUKMLFcr.js → getFaceInfo-Cjcgcc4w.js} +1 -1
- package/dist/{getFaceInfo-CyPAKh3h.cjs → getFaceInfo-oQcP40Ha.cjs} +1 -1
- package/dist/hooks/useXRModel.d.ts +5 -0
- package/dist/{index-DSpzjuqd.cjs → index-Be-S7uSm.cjs} +1 -1
- package/dist/index-DdWBnI7A.cjs +17 -0
- package/dist/{index-Di70KWuY.js → index-DpVIEBHw.js} +844 -825
- package/dist/index-DqhqBi7O.cjs +1 -0
- package/dist/{index-UC0Ux38E.js → index-HxT9XEuh.js} +1 -1
- package/dist/index-N7C6fNah.js +214 -0
- package/dist/index-UU5ODHGU.cjs +1 -0
- package/dist/{index-BgQAX8rs.js → index-YMUaJU7U.js} +122 -119
- package/dist/{internal-DuMPpcbp.js → internal-D7NxAsc6.js} +2 -2
- package/dist/internal.js +1 -1
- package/dist/low-level.cjs +1 -1
- package/dist/low-level.js +399 -490
- package/dist/main.cjs +1 -1
- package/dist/main.js +26 -26
- package/dist/{renderGroups-C9QJrAXu.js → renderGroups-JEXqSACh.js} +1 -1
- package/dist/{renderGroups-Dvm1J4lW.cjs → renderGroups-uXXsFpvw.cjs} +1 -1
- package/dist/{renderPasses-CT5iBwtg.cjs → renderPasses-CVWt0t8m.cjs} +2 -2
- package/dist/{renderPasses-CjgG_6kQ.js → renderPasses-CdGZeHHL.js} +4 -4
- package/dist/scene-object.cjs +1 -1
- package/dist/scene-object.js +2 -2
- package/dist/{selectors-Dw3C-gSk.js → selectors-twqYByYZ.js} +3 -3
- package/dist/texture/animatedTexture.d.ts +2 -0
- package/dist/texture/gifReader.d.ts +17 -0
- package/dist/texture/gifTextureSource.d.ts +16 -0
- package/dist/tracking.cjs +1 -1
- package/dist/tracking.js +8 -8
- package/dist/{useFaceInfo-CwsHZedC.js → useFaceInfo-DOJCGlDG.js} +2 -2
- package/dist/{useFaceInfo-C-WfMlYp.cjs → useFaceInfo-DSUmuzzO.cjs} +1 -1
- package/dist/{useFaceResults-VcFdOUFV.cjs → useFaceResults-B1BSGUAW.cjs} +1 -1
- package/dist/{useFaceResults-CkFc1egZ.js → useFaceResults-CBmhT5E8.js} +1 -1
- package/docs/api/screen-image.mdx +27 -3
- package/docs/api/texture-sources.mdx +25 -6
- package/docs/texture-api-consumer.md +26 -0
- package/package.json +3 -3
- package/dist/contexts-BKvTIayr.cjs +0 -1
- package/dist/contexts-Bk5zz_VR.js +0 -214
- package/dist/index-82aENaRq.cjs +0 -1
- package/dist/index-CEc1CAmB.cjs +0 -1
- package/dist/index-CTHeBQOs.js +0 -178
- package/dist/index-DzEzkBIH.cjs +0 -17
package/dist/debug-ui.cjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Ae=require("./session-BChR4TgK.cjs"),Nn=require("./debug-ui/default-setting.cjs"),e=require("react/jsx-runtime"),u=require("react"),Me=require("./renderGroups-Dvm1J4lW.cjs"),$=require("./renderPasses-CT5iBwtg.cjs"),pe=require("react-dom"),On=require("three"),X=require("./FaceMeshRenderer-lQLhYIW-.cjs"),Z=require("./FaceRetouch-DtNl8-4e.cjs"),$n=require("./index-CEc1CAmB.cjs"),An=require("./index-DSpzjuqd.cjs"),$t=require("@react-three/drei"),Dn=require("@react-three/fiber"),At=require("./index-DzEzkBIH.cjs"),Bn=require("./contexts-BKvTIayr.cjs"),Pn=require("./selectors-2QvO5RYY.cjs"),Vn={position:"fixed",left:14,top:104,zIndex:2e4,pointerEvents:"none"},Hn={pointerEvents:"auto",width:306,maxHeight:"calc(100vh - 124px)",borderRadius:16,border:"1px solid rgba(255,255,255,0.12)",background:"rgba(8, 15, 28, 0.58)",boxShadow:"0 16px 36px rgba(0,0,0,0.28)",backdropFilter:"blur(20px) saturate(1.1)",WebkitBackdropFilter:"blur(20px) saturate(1.1)",color:"#f8fafc",overflow:"hidden"},Kn={display:"grid",gap:7,padding:"7px 8px 8px",borderBottom:"1px solid rgba(255,255,255,0.08)",background:"rgba(8, 15, 28, 0.88)"},_n={display:"grid",gridTemplateColumns:"16px 22px minmax(0, 1fr) 28px",alignItems:"center",gap:7},Gn={display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontSize:11,fontWeight:700},Un={width:"100%",height:24,borderRadius:7,border:"1px solid rgba(125,211,252,0.46)",background:"rgba(15,23,42,0.82)",color:"#f8fafc",fontSize:11,fontWeight:700,outline:"none",padding:"0 7px",boxSizing:"border-box"},Xn={display:"flex",width:20,height:20,alignItems:"center",justifyContent:"center",borderRadius:7,background:"rgba(255,255,255,0.08)",border:"1px solid rgba(255,255,255,0.08)",color:"#e2e8f0"},Zn={width:16,height:18,display:"flex",alignItems:"center",justifyContent:"center",cursor:"grab",color:"rgba(148,163,184,0.82)"},Yn={display:"grid",gap:8,padding:8,overflowY:"auto",maxHeight:"calc(100vh - 215px)"},qn={display:"grid",gridTemplateColumns:"minmax(0, 1fr) 30px",gap:6},Jn={width:"100%",height:26,borderRadius:8,border:"1px solid rgba(255,255,255,0.12)",background:"rgba(56,189,248,0.16)",color:"#e0f2fe",fontSize:10.5,fontWeight:700,cursor:"pointer"},Qn=t=>({display:"inline-flex",alignItems:"center",justifyContent:"center",width:30,height:26,borderRadius:8,border:"1px solid rgba(255,255,255,0.10)",color:t?"#e0f2fe":"rgba(148,163,184,0.72)",background:t?"rgba(56,189,248,0.16)":"rgba(255,255,255,0.04)",cursor:"pointer",padding:0}),es={display:"inline-flex",alignItems:"center",justifyContent:"center",width:28,height:24,borderRadius:8,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(255,255,255,0.05)",color:"#e2e8f0",cursor:"pointer",padding:0},ts={width:"fit-content",maxWidth:"100%",height:24,borderRadius:7,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(255,255,255,0.07)",color:"#e2e8f0",fontSize:10,padding:"0 8px"},ns=()=>e.jsx("svg",{width:"11",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M8 6a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM8 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM8 18a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM16 6a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM16 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM16 18a2 2 0 1 1-4 0 2 2 0 0 1 4 0z"})}),ss=()=>e.jsx("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"m12 2 8 4.6v10.8L12 22l-8-4.6V6.6L12 2zm0 2.3L6.3 7.6 12 10.9l5.7-3.3L12 4.3zM6 9.3v6.9l5 2.9v-6.9L6 9.3zm12 0-5 2.9v6.9l5-2.9V9.3z"})}),ls=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M12 5c5 0 8.7 4.2 10 7-1.3 2.8-5 7-10 7s-8.7-4.2-10-7c1.3-2.8 5-7 10-7zm0 2c-3.6 0-6.4 2.7-7.7 5 1.3 2.3 4.1 5 7.7 5s6.4-2.7 7.7-5C18.4 9.7 15.6 7 12 7zm0 2.5a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5z"})}),is=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M3.3 2 22 20.7 20.7 22l-3.1-3.1A10.5 10.5 0 0 1 12 20c-5 0-8.7-4.2-10-7a16.4 16.4 0 0 1 4-4.9L2 3.3 3.3 2zm4.1 7.5A14.4 14.4 0 0 0 4.3 13c1.3 2.3 4.1 5 7.7 5 1.5 0 2.8-.5 4-1.2l-2.1-2.1A2.5 2.5 0 0 1 9.3 10L7.4 9.5zM12 4c5 0 8.7 4.2 10 7a15 15 0 0 1-3.2 4.2l-1.4-1.4A13 13 0 0 0 19.7 11C18.4 8.7 15.6 6 12 6c-.9 0-1.8.2-2.6.5L7.8 4.9C9.1 4.3 10.5 4 12 4z"})}),os=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M7 10h10v2H7v-2zm0 4h10v2H7v-2z"})}),rs=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M11 5h2v6h6v2h-6v6h-2v-6H5v-2h6V5z"})}),as=async t=>{var l;if((l=navigator.clipboard)!=null&&l.writeText){await navigator.clipboard.writeText(t);return}const n=document.createElement("textarea");n.value=t,n.setAttribute("readonly",""),n.style.position="fixed",n.style.left="-9999px",document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n)},yt=({children:t,copyConfig:n,initialPosition:l,layer:s="Default Layer",objectId:a,objectName:d,onObjectNameChange:o,onPositionChange:r,onVisibleChange:y,position:p,title:h,visible:c})=>{const[g,x]=u.useState(l??{x:14,y:104}),i=p??g,[b,j]=u.useState(!1),[k,C]=u.useState(!0),L=d??h??a??"Scene Object",[S,w]=u.useState(!1),[O,T]=u.useState(L),B=u.useRef(null);u.useEffect(()=>{S||T(L)},[L,S]),u.useEffect(()=>{const M=ye=>{if(!B.current)return;const N={x:Math.max(8,ye.clientX-B.current.x),y:Math.max(8,ye.clientY-B.current.y)};x(N),r==null||r(N)},z=()=>{B.current=null,document.body.classList.remove("select-none")};return window.addEventListener("pointermove",M),window.addEventListener("pointerup",z),()=>{window.removeEventListener("pointermove",M),window.removeEventListener("pointerup",z)}},[r]);const _=M=>{const z=M.currentTarget.getBoundingClientRect();B.current={x:M.clientX-z.left,y:M.clientY-z.top},document.body.classList.add("select-none"),M.currentTarget.setPointerCapture(M.pointerId)},he=async()=>{try{await as(JSON.stringify(n,null,2)),j(!0),window.setTimeout(()=>j(!1),1200)}catch{j(!1)}},te=()=>{const M=O.trim();if(w(!1),!o||!M||M===L){T(L);return}o(M)},xe=()=>{T(L),w(!1)};return typeof document>"u"?null:pe.createPortal(e.jsx("div",{style:{...Vn,left:i.x,top:i.y},children:e.jsxs("div",{style:Hn,children:[e.jsxs("div",{style:Kn,children:[e.jsxs("div",{style:_n,children:[e.jsx("div",{onPointerDown:_,style:Zn,children:e.jsx(ns,{})}),e.jsx("span",{style:Xn,children:e.jsx(ss,{})}),S?e.jsx("input",{autoFocus:!0,"aria-label":"Object Name",style:Un,value:O,onBlur:te,onChange:M=>T(M.currentTarget.value),onKeyDown:M=>{M.key==="Enter"&&te(),M.key==="Escape"&&xe()}}):e.jsx("button",{type:"button",style:{...Gn,padding:0,border:0,background:"transparent",color:"inherit",cursor:o?"text":"default",textAlign:"left"},onDoubleClick:()=>{o&&w(!0)},children:L}),e.jsx("button",{type:"button","aria-label":k?"Fold Inspector":"Expand Inspector",title:k?"Fold Inspector":"Expand Inspector",style:es,onClick:()=>C(M=>!M),children:k?e.jsx(os,{}):e.jsx(rs,{})})]}),k?e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",style:ts,children:s}),e.jsxs("div",{style:qn,children:[e.jsx("button",{type:"button",style:Jn,onClick:he,children:b?"Copied Config":"Copy Config"}),e.jsx("button",{type:"button",style:Qn(c),onClick:()=>y(!c),children:c?e.jsx(ls,{}):e.jsx(is,{})})]})]}):null]}),k?e.jsx("div",{style:Yn,children:t}):null]})}),document.body)},ds={clean:{fontWeight:400,strokeLayers:[],shadowLayers:[]},sticker:{color:"#101828",fontWeight:800,strokeLayers:[{color:"#ffffff",width:26,opacity:1},{color:"#101828",width:10,opacity:1}],shadowLayers:[]},"shadow-pop":{color:"#fff8df",fontWeight:800,strokeLayers:[{color:"#101828",width:12,opacity:1}],shadowLayers:[{color:"#0f172a",blur:0,offsetX:18,offsetY:18,opacity:.9},{color:"#0f172a",blur:10,offsetX:10,offsetY:10,opacity:.35}]},neon:{color:"#ffffff",fontWeight:700,strokeLayers:[{color:"#9be7ff",width:8,opacity:.9}],shadowLayers:[{color:"#38bdf8",blur:18,opacity:.8},{color:"#0ea5e9",blur:40,opacity:.7},{color:"#7c3aed",blur:70,opacity:.5}]},editorial:{color:"#f8fafc",fontWeight:500,strokeLayers:[{color:"#0f172a",width:4,opacity:.5}],shadowLayers:[]},"comic-burst":{color:"#fff06a",fontWeight:900,strokeLayers:[{color:"#ef4444",width:28,opacity:1},{color:"#111827",width:12,opacity:1}],shadowLayers:[{color:"#111827",blur:0,offsetX:12,offsetY:12,opacity:.65}]},"ice-outline":{color:"#eff8ff",fontWeight:800,strokeLayers:[{color:"#dbeafe",width:16,opacity:1},{color:"#1d4ed8",width:6,opacity:.95}],shadowLayers:[{color:"#38bdf8",blur:24,opacity:.32}]},"sunset-glow":{color:"#fff7ed",fontWeight:800,strokeLayers:[{color:"#fb7185",width:8,opacity:.95}],shadowLayers:[{color:"#fb7185",blur:18,opacity:.7},{color:"#f97316",blur:42,opacity:.55},{color:"#facc15",blur:70,opacity:.28}]},cutout:{color:"#fffaf0",fontWeight:800,strokeLayers:[{color:"#0f172a",width:6,opacity:.9}],shadowLayers:[{color:"#0f172a",blur:0,offsetX:8,offsetY:8,opacity:.95},{color:"#0f172a",blur:0,offsetX:16,offsetY:16,opacity:.4}]},"badge-arc":{color:"#ffffff",fontWeight:900,outlineEnabled:!0,shadowEnabled:!0,glowEnabled:!1,innerShadowEnabled:!1,bendEnabled:!0,bend:{preset:"arc",strength:100},strokeLayers:[{color:"#0b1020",width:24,opacity:1},{color:"#ffffff",width:8,opacity:1}],shadowLayers:[{color:"#020617",blur:8,offset:10,angle:-45,feather:.2,opacity:.65}]},"chrome-bulge":{color:"#f8fafc",fontWeight:900,outlineEnabled:!0,shadowEnabled:!1,glowEnabled:!0,innerShadowEnabled:!0,bendEnabled:!0,bend:{preset:"bulge",strength:100},glow:{color:"#dbeafe",style:"contoured",intensity:.55,range:.35,horizontalAngle:0,verticalAngle:0},innerShadow:{color:"#64748b",opacity:.9,offset:16,angle:-45,feather:.25},strokeLayers:[{color:"#0f172a",width:5,opacity:.9}],shadowLayers:[]},"retro-wave":{color:"#fffbeb",fontWeight:900,outlineEnabled:!0,shadowEnabled:!0,glowEnabled:!0,innerShadowEnabled:!1,bendEnabled:!0,bend:{preset:"wave",strength:100},glow:{color:"#fb7185",style:"outward",intensity:.65,range:.55,horizontalAngle:0,verticalAngle:0},strokeLayers:[{color:"#fb7185",width:12,opacity:1},{color:"#7c2d12",width:5,opacity:.9}],shadowLayers:[{color:"#7c2d12",blur:4,offset:14,angle:45,feather:.1,opacity:.75}]},"flag-pop":{color:"#ffffff",fontWeight:900,outlineEnabled:!0,shadowEnabled:!0,glowEnabled:!0,innerShadowEnabled:!1,bendEnabled:!0,bend:{preset:"flag",strength:100},glow:{color:"#38bdf8",style:"outward",intensity:.5,range:.45,horizontalAngle:.15,verticalAngle:-.1},strokeLayers:[{color:"#fde047",width:18,opacity:1},{color:"#111827",width:7,opacity:1}],shadowLayers:[{color:"#111827",blur:0,offset:14,angle:35,feather:0,opacity:.75}]},"fisheye-poster":{color:"#fff7ed",fontWeight:900,outlineEnabled:!0,shadowEnabled:!0,glowEnabled:!1,innerShadowEnabled:!0,bendEnabled:!0,bend:{preset:"fisheye",strength:100},innerShadow:{color:"#92400e",opacity:.55,offset:10,angle:-45,feather:.15},strokeLayers:[{color:"#020617",width:24,opacity:1},{color:"#f97316",width:8,opacity:.9}],shadowLayers:[{color:"#020617",blur:0,offset:12,angle:40,feather:0,opacity:.8}]}},cs=[{label:"Space Grotesk",value:'"Space Grotesk", sans-serif'},{label:"Bebas Neue",value:'"Bebas Neue", sans-serif'},{label:"DM Serif Display",value:'"DM Serif Display", serif'},{label:"Caveat",value:'"Caveat", cursive'}],ps=["clean","sticker","shadow-pop","neon","editorial","comic-burst","ice-outline","sunset-glow","cutout","badge-arc","chrome-bulge","retro-wave","flag-pop","fisheye-poster"],hs={clean:"NONE",sticker:"sticker","shadow-pop":"shadow-pop",neon:"neon",editorial:"editorial","comic-burst":"comic-burst","ice-outline":"ice-outline","sunset-glow":"sunset-glow",cutout:"cutout","badge-arc":"badge-arc","chrome-bulge":"chrome-bulge","retro-wave":"retro-wave","flag-pop":"flag-pop","fisheye-poster":"fisheye-poster"},xs=()=>({color:"#000000",opacity:1,width:30}),Et=()=>({color:"#000000",opacity:1,offset:10,angle:-45,feather:0,blur:0,offsetX:7.071,offsetY:-7.071}),hn=()=>({color:"#ffffff",style:"outward",intensity:.5,range:.5,horizontalAngle:0,verticalAngle:0}),xn=()=>({preset:"arc",strength:100}),ys=[{label:"Arc",value:"arc"},{label:"Arc Lower",value:"arc-lower"},{label:"Arc Upper",value:"arc-upper"},{label:"Arch",value:"arch"},{label:"Bulge",value:"bulge"},{label:"Shell Lower",value:"shell-lower"},{label:"Shell Upper",value:"shell-upper"},{label:"Flag",value:"flag"},{label:"Wave",value:"wave"},{label:"Fish",value:"fish"},{label:"Rise",value:"rise"},{label:"Fisheye",value:"fisheye"},{label:"Inflate",value:"inflate"},{label:"Squeeze",value:"squeeze"},{label:"Twist",value:"twist"}],us=(t,n)=>{const l=ds[n],s=l.strokeLayers??t.style.strokeLayers,a=l.shadowLayers??t.style.shadowLayers;return{...t,textArtPreset:n,style:{...t.style,...l,fontWeight:t.style.bold?"bold":l.fontWeight??t.style.fontWeight,background:{...t.style.background,...l.background},outlineEnabled:l.strokeLayers?l.strokeLayers.length>0:t.style.outlineEnabled,shadowEnabled:l.shadowLayers?l.shadowLayers.length>0:t.style.shadowEnabled,strokeLayers:s,shadowLayers:a}}},yn=(t,n)=>({enabled:(n==null?void 0:n.enabled)??t.enabled,showGuides:(n==null?void 0:n.showTransformGuides)??t.showTransformGuides,coordinateSpace:t.coordinateSpace,canvasSize:t.canvasSize,position:(n==null?void 0:n.position)??t.position,size:(n==null?void 0:n.size)??t.size,rotation:(n==null?void 0:n.rotation)??t.rotation,scale2D:n==null?void 0:n.scale2D,referencePixelsPerUnit:n==null?void 0:n.referencePixelsPerUnit,pivot:(n==null?void 0:n.pivot)??t.pivot,renderOrder:(n==null?void 0:n.renderOrder)??t.renderOrder,overlay:(n==null?void 0:n.overlay)??t.overlay,visible:(n==null?void 0:n.visible)??t.visible}),gs=(t,n)=>({...n,enabled:t.enabled,showTransformGuides:t.showGuides,coordinateSpace:t.coordinateSpace,canvasSize:t.canvasSize,position:t.position,size:t.size,rotation:t.rotation,pivot:t.pivot,renderOrder:t.renderOrder,overlay:t.overlay,visible:t.visible}),un=(t,n)=>({...$.DEFAULT_SCREEN_TRANSFORM_2D,...n,enabled:t.enabled,showTransformGuides:t.showGuides,position:t.position,size:t.size,rotation:t.rotation,scale2D:t.scale2D??(n==null?void 0:n.scale2D)??$.DEFAULT_SCREEN_TRANSFORM_2D.scale2D,referencePixelsPerUnit:t.referencePixelsPerUnit??(n==null?void 0:n.referencePixelsPerUnit)??$.DEFAULT_SCREEN_TRANSFORM_2D.referencePixelsPerUnit,pivot:t.pivot,renderOrder:t.renderOrder,overlay:t.overlay,visible:t.visible}),bs={display:"flex",width:18,height:18,alignItems:"center",justifyContent:"center",borderRadius:6,background:"rgba(255,255,255,0.08)",border:"1px solid rgba(255,255,255,0.08)",color:"#e2e8f0",flex:"0 0 auto"},fs={borderRadius:12,border:"1px solid rgba(255,255,255,0.08)",background:"rgba(255,255,255,0.03)",overflow:"hidden"},js={display:"flex",alignItems:"center",gap:7,padding:"6px 7px"},ms={display:"flex",alignItems:"center",gap:6,fontSize:11,fontWeight:500,flex:"1 1 auto",minWidth:0},Ss={width:28,height:16,borderRadius:999,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(255,255,255,0.08)",padding:2,display:"flex",alignItems:"center",cursor:"pointer",flex:"0 0 auto"},ws=t=>({width:10,height:10,borderRadius:999,background:t?"#f8fafc":"rgba(148,163,184,0.7)",transform:t?"translateX(12px)":"translateX(0)",transition:"transform 140ms ease, background 140ms ease"}),ks={display:"grid",gap:7,padding:"0 7px 7px"},me={display:"grid",gridTemplateColumns:"repeat(2, minmax(0, 1fr))",gap:6},R={display:"flex",flexDirection:"column",gap:4},q={...R,gridColumn:"1 / -1"},vs={gridColumn:"1 / -1",display:"grid",gap:6,padding:"8px 8px 2px 12px",marginTop:-2,borderLeft:"1px solid rgba(255,255,255,0.10)"},Cs={display:"flex",alignItems:"center",justifyContent:"space-between",gap:6,width:"100%",padding:0,border:0,background:"transparent",fontSize:9,color:"rgba(226,232,240,0.64)",textTransform:"uppercase",cursor:"pointer"},Rs={display:"flex",alignItems:"center",gap:6,minWidth:0},Es={width:16,height:16,borderRadius:999,display:"inline-flex",alignItems:"center",justifyContent:"center",background:"rgba(255,255,255,0.06)",color:"rgba(226,232,240,0.72)",flex:"0 0 auto"},m={fontSize:9,color:"rgba(226,232,240,0.72)"},Mt={width:"100%",height:24,borderRadius:7,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(15,23,42,0.68)",color:"#f8fafc",fontSize:10.5,outline:"none",padding:"0 7px",boxSizing:"border-box"},zs={...Mt,height:72,padding:"7px",resize:"vertical",lineHeight:1.35,fontFamily:"inherit"},je={...Mt,padding:2,cursor:"pointer"},de={...Mt,appearance:"none"},Is={opacity:.45,cursor:"not-allowed"},ce={display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,minHeight:24},lt={width:16,height:16},Ts={display:"grid",gridTemplateColumns:"1.25fr repeat(4, 1fr)",gap:4,width:"100%"},Ve=t=>({height:26,borderRadius:8,border:t?"1px solid rgba(125,211,252,0.72)":"1px solid rgba(255,255,255,0.10)",background:t?"rgba(56,189,248,0.20)":"rgba(255,255,255,0.05)",color:t?"#f0f9ff":"#e2e8f0",fontSize:10.5,fontWeight:700,cursor:"pointer",padding:"0 6px"}),xt={display:"inline-flex",alignItems:"center",justifyContent:"center",width:24,height:24,borderRadius:8,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(255,255,255,0.05)",color:"#e2e8f0",cursor:"pointer",padding:0,flex:"0 0 auto"};function Ms({label:t,icon:n,open:l,onToggle:s,children:a}){return e.jsxs("div",{style:fs,children:[e.jsxs("div",{style:js,children:[e.jsx("button",{type:"button",onClick:s,style:Ss,children:e.jsx("div",{style:ws(l)})}),e.jsxs("div",{style:ms,children:[e.jsx("span",{style:bs,children:n}),e.jsx("span",{children:t})]})]}),l?e.jsx("div",{style:ks,children:a}):null]})}const Dt=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M4 6V4h16v2h-7v14h-2V6H4z"})}),Bt=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M12 3a9 9 0 1 0 0 18h1.2a2.8 2.8 0 0 0 0-5.6h-.4a1.8 1.8 0 0 1 0-3.6H16a5 5 0 0 0 0-10h-4zm-4 7a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm1 5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm6-7a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z"})}),Ws=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M4 4h6v2H7.4l3.3 3.3-1.4 1.4L6 7.4V10H4V4zm10 0h6v6h-2V7.4l-3.3 3.3-1.4-1.4L16.6 6H14V4zM9.3 13.3l1.4 1.4L7.4 18H10v2H4v-6h2v2.6l3.3-3.3zm5.4 0 3.3 3.3V14h2v6h-6v-2h2.6l-3.3-3.3 1.4-1.4z"})}),Fs=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M7 5h10v2H9v6h8v2H7V5zm4 8h6v6h-6v-2h4v-2h-4v-2z"})});function Ls({value:t,onChange:n}){return e.jsxs("div",{style:me,children:[e.jsxs("label",{style:q,children:[e.jsx("span",{style:m,children:"Text"}),e.jsx("textarea",{style:zs,value:t.content.text,onChange:l=>n(s=>({...s,content:{...s.content,text:l.target.value}}))})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Text Art"}),e.jsx("select",{style:de,value:t.textArtPreset,onChange:l=>n(s=>us(s,l.target.value)),children:ps.map(l=>e.jsx("option",{value:l,children:hs[l]},l))})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Font"}),e.jsx("select",{style:de,value:t.style.fontFamily,onChange:l=>n(s=>({...s,style:{...s.style,fontFamily:l.target.value}})),children:cs.map(l=>e.jsx("option",{value:l.value,children:l.label},l.value))})]})]})}const Ns={width:"100%",boxSizing:"border-box",border:"1px solid rgba(148,163,184,0.22)",borderRadius:8,background:"rgba(15,23,42,0.8)",color:"#e2e8f0",padding:"7px 9px"},Os=t=>/^-?\d*(\.\d*)?$/.test(t),F=({value:t,onChange:n,step:l=1,min:s,max:a,disabled:d=!1})=>{const[o,r]=u.useState(String(t));u.useEffect(()=>r(String(t)),[t]);const y=p=>Math.min(typeof a=="number"?a:1/0,Math.max(typeof s=="number"?s:-1/0,p));return e.jsx("input",{type:"text",inputMode:"decimal",pattern:"-?[0-9]*[.,]?[0-9]*",style:{...Ns,...d?{cursor:"not-allowed",opacity:.45}:{}},value:o,disabled:d,onChange:p=>{if(d)return;const h=p.target.value;if(!Os(h)||(r(h),["","-",".","-."].includes(h)))return;const c=Number(h);Number.isNaN(c)||n(y(c))},onBlur:()=>{if(d)return;const p=Number(o);if(Number.isNaN(p))return r(String(t));const h=y(p);r(String(h)),n(h)},onKeyDown:p=>{if(d||p.key!=="ArrowUp"&&p.key!=="ArrowDown")return;p.preventDefault();const h=p.shiftKey?l*10:p.altKey?l/10:l,c=p.key==="ArrowUp"?t+h:t-h;n(y(Number.isInteger(c)?c:Number(c.toFixed(6))))}})};function $s({background:t,onChange:n}){return e.jsxs(e.Fragment,{children:[e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Fill Mode"}),e.jsxs("select",{style:de,value:t.fillMode,onChange:l=>n(s=>({...s,style:{...s.style,background:{...s.style.background,fillMode:l.target.value}}})),children:[e.jsx("option",{value:"solid",children:"solid"}),e.jsx("option",{value:"gradient",children:"gradient"})]})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Fill Area"}),e.jsxs("select",{style:de,value:t.fit,onChange:l=>n(s=>({...s,style:{...s.style,background:{...s.style.background,fit:l.target.value}}})),children:[e.jsx("option",{value:"text",children:"text"}),e.jsx("option",{value:"full",children:"full"})]})]}),t.fillMode==="solid"?e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Background Color"}),e.jsx("input",{style:je,type:"color",value:t.color,onChange:l=>n(s=>({...s,style:{...s.style,background:{...s.style.background,color:l.target.value}}}))})]}):e.jsx("div",{style:{gridColumn:"1 / -1",display:"grid",gap:6},children:t.gradientStops.slice(0,3).map((l,s)=>e.jsxs("label",{style:R,children:[e.jsxs("span",{style:m,children:["Gradient ",s+1]}),e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"1fr 60px",gap:4},children:[e.jsx("input",{style:je,type:"color",value:l.color,onChange:a=>n(d=>{const o=[...d.style.background.gradientStops];return o[s]={...o[s],color:a.target.value},{...d,style:{...d.style,background:{...d.style.background,gradientStops:o}}}})}),e.jsx(F,{value:l.position,min:0,max:1,step:.05,onChange:a=>n(d=>{const o=[...d.style.background.gradientStops];return o[s]={...o[s],position:a},{...d,style:{...d.style,background:{...d.style.background,gradientStops:o}}}})})]})]},s))}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Background Opacity"}),e.jsx(F,{value:t.opacity,min:0,max:1,step:.05,onChange:l=>n(s=>({...s,style:{...s.style,background:{...s.style.background,opacity:l}}}))})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Corner Radius"}),e.jsx(F,{value:t.borderRadius,min:0,max:200,step:2,onChange:l=>n(s=>({...s,style:{...s.style,background:{...s.style.background,borderRadius:l}}}))})]})]})}function As({background:t,onChange:n}){return e.jsxs(e.Fragment,{children:[e.jsx("label",{style:q,children:e.jsxs("div",{style:ce,children:[e.jsx("span",{style:m,children:"Auto Width / Height"}),e.jsx("input",{type:"checkbox",style:lt,checked:t.autoSize,onChange:l=>n(s=>({...s,style:{...s.style,background:{...s.style.background,autoSize:l.target.checked}}}))})]})}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Width"}),e.jsx(F,{value:t.width,min:32,max:1024,step:8,disabled:t.autoSize,onChange:l=>n(s=>({...s,style:{...s.style,background:{...s.style.background,width:l}}}))})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Height"}),e.jsx(F,{value:t.height,min:32,max:1024,step:8,disabled:t.autoSize,onChange:l=>n(s=>({...s,style:{...s.style,background:{...s.style.background,height:l}}}))})]})]})}function Ds({background:t,onChange:n}){return e.jsxs(e.Fragment,{children:[e.jsx("label",{style:q,children:e.jsxs("div",{style:ce,children:[e.jsx("span",{style:m,children:"Background Stroke"}),e.jsx("input",{type:"checkbox",style:lt,checked:t.borderEnabled,onChange:l=>n(s=>({...s,style:{...s.style,background:{...s.style.background,borderEnabled:l.target.checked,borderColor:l.target.checked&&s.style.background.borderColor==="transparent"?"#ffffff":s.style.background.borderColor,borderWidth:l.target.checked?Math.max(s.style.background.borderWidth,2):s.style.background.borderWidth}}}))})]})}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Stroke Color"}),e.jsx("input",{style:{...je,...t.borderEnabled?{}:Is},type:"color",value:t.borderColor,disabled:!t.borderEnabled,onChange:l=>n(s=>({...s,style:{...s.style,background:{...s.style.background,borderColor:l.target.value}}}))})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Stroke Width"}),e.jsx(F,{value:t.borderWidth,min:0,max:64,step:1,disabled:!t.borderEnabled,onChange:l=>n(s=>({...s,style:{...s.style,background:{...s.style.background,borderWidth:l}}}))})]})]})}const gn={gridColumn:"1 / -1",display:"grid",gap:6,padding:"8px",borderRadius:10,border:"1px solid rgba(255,255,255,0.08)",background:"rgba(255,255,255,0.03)"};function it({checked:t,label:n,onChange:l}){return e.jsx("label",{style:q,children:e.jsxs("div",{style:ce,children:[e.jsx("span",{style:m,children:n}),e.jsx("input",{type:"checkbox",style:lt,checked:t,onChange:s=>l(s.target.checked)})]})})}function De({children:t,label:n,open:l,setOpen:s}){return e.jsxs("div",{style:vs,children:[e.jsxs("button",{type:"button",style:Cs,onClick:()=>s(a=>!a),children:[e.jsxs("span",{style:Rs,children:[e.jsx(Fs,{}),e.jsx("span",{children:n})]}),e.jsx("span",{style:Es,children:l?"−":"+"})]}),l?t:null]})}function Bs({value:t,onChange:n,open:l,setOpen:s}){const a=t.style.background;return e.jsxs(e.Fragment,{children:[e.jsx("label",{style:q,children:e.jsxs("div",{style:ce,children:[e.jsx("span",{style:m,children:"Background Enabled"}),e.jsx("input",{type:"checkbox",style:lt,checked:a.enabled,onChange:d=>n(o=>({...o,style:{...o.style,background:{...o.style.background,enabled:d.target.checked}}}))})]})}),a.enabled?e.jsx(De,{label:"Background Settings",open:l,setOpen:s,children:e.jsxs(e.Fragment,{children:[e.jsx($s,{background:a,onChange:n}),e.jsx(Ds,{background:a,onChange:n}),e.jsx(As,{background:a,onChange:n})]})}):null]})}function Ps({bend:t,open:n,onChange:l,setOpen:s,value:a}){const d=o=>l(r=>({...r,style:{...r.style,bend:{...r.style.bend??t,...o}}}));return e.jsxs(e.Fragment,{children:[e.jsx(it,{label:"Bend",checked:a.style.bendEnabled===!0,onChange:o=>l(r=>({...r,style:{...r.style,bendEnabled:o,bend:r.style.bend??xn()}}))}),a.style.bendEnabled===!0?e.jsx(De,{label:"Bend",open:n,setOpen:s,children:e.jsxs("div",{style:me,children:[e.jsxs("label",{style:q,children:[e.jsx("span",{style:m,children:"Bend Preset"}),e.jsx("select",{style:de,value:t.preset,onChange:o=>d({preset:o.target.value}),children:ys.map(o=>e.jsx("option",{value:o.value,children:o.label},o.value))})]}),e.jsxs("label",{style:q,children:[e.jsx("span",{style:m,children:"Bend Strength"}),e.jsx(F,{value:t.strength,min:-100,max:100,step:1,onChange:o=>d({strength:o})})]})]})}):null]})}function Vs({glow:t,open:n,onChange:l,setOpen:s,value:a}){const d=o=>l(r=>({...r,style:{...r.style,glow:{...r.style.glow??t,...o}}}));return e.jsxs(e.Fragment,{children:[e.jsx(it,{label:"Glow",checked:a.style.glowEnabled===!0,onChange:o=>l(r=>({...r,style:{...r.style,glowEnabled:o,glow:r.style.glow??hn()}}))}),a.style.glowEnabled===!0?e.jsx(De,{label:"Glow",open:n,setOpen:s,children:e.jsxs("div",{style:me,children:[e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Color"}),e.jsx("input",{style:je,type:"color",value:t.color,onChange:o=>d({color:o.target.value})})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Style"}),e.jsxs("select",{style:de,value:t.style,onChange:o=>d({style:o.target.value}),children:[e.jsx("option",{value:"outward",children:"Outward"}),e.jsx("option",{value:"contoured",children:"Contoured"})]})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Intensity"}),e.jsx(F,{value:t.intensity??.5,min:0,max:1,step:.05,onChange:o=>d({intensity:o})})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Range"}),e.jsx(F,{value:t.range??.5,min:0,max:1,step:.05,onChange:o=>d({range:o})})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Horizontal Angle"}),e.jsx(F,{value:t.horizontalAngle??0,min:-.5,max:.5,step:.05,onChange:o=>d({horizontalAngle:o})})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Vertical Angle"}),e.jsx(F,{value:t.verticalAngle??0,min:-.5,max:.5,step:.05,onChange:o=>d({verticalAngle:o})})]})]})}):null]})}const Hs={color:"#000000",opacity:1,offset:10,angle:-45,feather:0};function Ks({innerShadow:t,open:n,onChange:l,setOpen:s,value:a}){const d=o=>l(r=>({...r,style:{...r.style,innerShadow:{...r.style.innerShadow??t,...o}}}));return e.jsxs(e.Fragment,{children:[e.jsx(it,{label:"Inner Shadow",checked:a.style.innerShadowEnabled===!0,onChange:o=>l(r=>({...r,style:{...r.style,innerShadowEnabled:o,innerShadow:r.style.innerShadow??Hs}}))}),a.style.innerShadowEnabled===!0?e.jsx(De,{label:"Inner Shadow",open:n,setOpen:s,children:e.jsxs("div",{style:me,children:[e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Shadow Color"}),e.jsx("input",{style:je,type:"color",value:t.color,onChange:o=>d({color:o.target.value})})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Shadow Opacity"}),e.jsx(F,{value:t.opacity??1,min:0,max:1,step:.05,onChange:o=>d({opacity:o})})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Shadow Offset"}),e.jsx(F,{value:t.offset??10,min:0,max:100,step:1,onChange:o=>d({offset:o})})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Shadow Angle"}),e.jsx(F,{value:t.angle??-45,min:-180,max:180,step:1,onChange:o=>d({angle:o})})]}),e.jsxs("label",{style:q,children:[e.jsx("span",{style:m,children:"Shadow Feather"}),e.jsx(F,{value:t.feather??0,min:0,max:1,step:.05,onChange:o=>d({feather:o})})]})]})}):null]})}function _s({layers:t,open:n,onChange:l,setOpen:s,value:a}){const d=(o,r)=>l(y=>{const p=[...y.style.strokeLayers??[]];return p[o]={...p[o],...r},{...y,style:{...y.style,strokeLayers:p}}});return e.jsxs(e.Fragment,{children:[e.jsx(it,{label:"Outline",checked:a.style.outlineEnabled!==!1,onChange:o=>l(r=>({...r,style:{...r.style,outlineEnabled:o}}))}),a.style.outlineEnabled!==!1?e.jsx(De,{label:"Outline Editor",open:n,setOpen:s,children:e.jsxs(e.Fragment,{children:[e.jsxs("div",{style:{...ce,gridColumn:"1 / -1"},children:[e.jsxs("span",{style:m,children:["Layers: ",t.length]}),e.jsx("button",{type:"button",style:xt,onClick:()=>l(o=>({...o,style:{...o.style,strokeLayers:[...o.style.strokeLayers??[],xs()]}})),children:"+"})]}),t.length>0?t.map((o,r)=>e.jsxs("div",{style:gn,children:[e.jsxs("div",{style:ce,children:[e.jsxs("span",{style:m,children:["Outline ",r+1]}),e.jsx("button",{type:"button",style:xt,onClick:()=>l(y=>({...y,style:{...y.style,strokeLayers:(y.style.strokeLayers??[]).filter((p,h)=>h!==r)}})),children:"×"})]}),e.jsxs("div",{style:me,children:[e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Outline Color"}),e.jsx("input",{style:je,type:"color",value:o.color,onChange:y=>d(r,{color:y.target.value})})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Outline Opacity"}),e.jsx(F,{value:o.opacity??1,min:0,max:1,step:.05,onChange:y=>d(r,{opacity:y})})]}),e.jsxs("label",{style:q,children:[e.jsx("span",{style:m,children:"Outline Size"}),e.jsx(F,{value:o.width,min:0,max:100,step:1,onChange:y=>d(r,{width:y})})]})]})]},r)):e.jsx("div",{style:{...m,gridColumn:"1 / -1"},children:"No outlines. Use `+` to add one."})]})}):null]})}function Gs({layers:t,open:n,onChange:l,setOpen:s,value:a}){const d=(o,r)=>l(y=>{const p=[...y.style.shadowLayers??[]];return p[o]={...p[o],...r},{...y,style:{...y.style,shadowLayers:p}}});return e.jsxs(e.Fragment,{children:[e.jsx(it,{label:"Outer Shadow",checked:a.style.shadowEnabled!==!1,onChange:o=>l(r=>{var y;return{...r,style:{...r.style,shadowEnabled:o,shadowLayers:o&&(((y=r.style.shadowLayers)==null?void 0:y.length)??0)===0?[Et()]:r.style.shadowLayers}}})}),a.style.shadowEnabled!==!1?e.jsx(De,{label:"Shadow Editor",open:n,setOpen:s,children:e.jsxs(e.Fragment,{children:[e.jsxs("div",{style:{...ce,gridColumn:"1 / -1"},children:[e.jsxs("span",{style:m,children:["Layers: ",t.length]}),e.jsx("button",{type:"button",style:xt,onClick:()=>l(o=>({...o,style:{...o.style,shadowLayers:[...o.style.shadowLayers??[],Et()]}})),children:"+"})]}),t.length>0?t.map((o,r)=>e.jsxs("div",{style:gn,children:[e.jsxs("div",{style:ce,children:[e.jsxs("span",{style:m,children:["Shadow ",r+1]}),e.jsx("button",{type:"button",style:xt,onClick:()=>l(y=>({...y,style:{...y.style,shadowLayers:(y.style.shadowLayers??[]).filter((p,h)=>h!==r)}})),children:"×"})]}),e.jsxs("div",{style:me,children:[e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Shadow Color"}),e.jsx("input",{style:je,type:"color",value:o.color,onChange:y=>d(r,{color:y.target.value})})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Shadow Opacity"}),e.jsx(F,{value:o.opacity??1,min:0,max:1,step:.05,onChange:y=>d(r,{opacity:y})})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Shadow Offset"}),e.jsx(F,{value:o.offset??10,min:0,max:100,step:1,onChange:y=>d(r,{offset:y})})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Shadow Angle"}),e.jsx(F,{value:o.angle??-45,min:-180,max:180,step:1,onChange:y=>d(r,{angle:y})})]}),e.jsxs("label",{style:q,children:[e.jsx("span",{style:m,children:"Shadow Feather"}),e.jsx(F,{value:o.feather??0,min:0,max:1,step:.05,onChange:y=>d(r,{feather:y})})]})]})]},r)):e.jsx("div",{style:{...m,gridColumn:"1 / -1"},children:"No outer shadows. Use `+` to add one."})]})}):null]})}function Us({backgroundSettingsOpen:t,bend:n,bendSettingsOpen:l,glow:s,glowSettingsOpen:a,innerShadow:d,innerShadowSettingsOpen:o,onChange:r,outlineLayers:y,outlineSettingsOpen:p,setBackgroundSettingsOpen:h,setBendSettingsOpen:c,setGlowSettingsOpen:g,setInnerShadowSettingsOpen:x,setOutlineSettingsOpen:i,setShadowSettingsOpen:b,shadowLayers:j,shadowSettingsOpen:k,value:C}){return e.jsxs("div",{style:me,children:[e.jsx(_s,{value:C,onChange:r,layers:y,open:p,setOpen:i}),e.jsx(Gs,{value:C,onChange:r,layers:j,open:k,setOpen:b}),e.jsx(Ks,{value:C,onChange:r,innerShadow:d,open:a,setOpen:g}),e.jsx(Vs,{value:C,onChange:r,glow:s,open:o,setOpen:x}),e.jsx(Ps,{value:C,onChange:r,bend:n,open:l,setOpen:c}),e.jsx(Bs,{value:C,onChange:r,open:t,setOpen:h})]})}function Xs({value:t,onChange:n}){const l=t.style.bold===!0||t.style.fontStyle==="italic"||t.style.underline===!0||t.style.strikethrough===!0;return e.jsxs("div",{style:me,children:[e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Text Color"}),e.jsx("input",{style:je,type:"color",value:t.style.color,onChange:s=>n(a=>({...a,style:{...a.style,color:s.target.value}}))})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Font Size"}),e.jsx(F,{value:t.style.fontSize,min:16,max:180,step:4,onChange:s=>n(a=>({...a,layout:{...a.layout,minFontSize:Math.min(a.layout.minFontSize??s,s)},style:{...a.style,fontSize:s}}))})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Letter Spacing"}),e.jsx(F,{value:t.style.letterSpacing,min:0,max:1,step:.05,onChange:s=>n(a=>({...a,style:{...a.style,letterSpacing:s}}))})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Line Spacing"}),e.jsx(F,{value:t.style.lineSpacing,min:0,max:1,step:.05,onChange:s=>n(a=>({...a,style:{...a.style,lineSpacing:s}}))})]}),e.jsxs("div",{style:q,children:[e.jsx("span",{style:m,children:"Text Style"}),e.jsxs("div",{style:Ts,children:[e.jsx("button",{type:"button",style:Ve(!l),onClick:()=>n(s=>({...s,style:{...s.style,bold:!1,fontWeight:s.style.fontWeight==="bold"?"normal":s.style.fontWeight,fontStyle:"normal",underline:!1,strikethrough:!1}})),children:"None"}),e.jsx("button",{type:"button",style:Ve(t.style.bold===!0),onClick:()=>n(s=>({...s,style:{...s.style,bold:s.style.bold!==!0,fontWeight:s.style.bold!==!0?"bold":400}})),children:"B"}),e.jsx("button",{type:"button",style:Ve(t.style.fontStyle==="italic"),onClick:()=>n(s=>({...s,style:{...s.style,fontStyle:s.style.fontStyle==="italic"?"normal":"italic"}})),children:"I"}),e.jsx("button",{type:"button",style:Ve(t.style.underline===!0),onClick:()=>n(s=>({...s,style:{...s.style,underline:s.style.underline!==!0}})),children:"U"}),e.jsx("button",{type:"button",style:Ve(t.style.strikethrough===!0),onClick:()=>n(s=>({...s,style:{...s.style,strikethrough:s.style.strikethrough!==!0}})),children:"S"})]})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Horizontal Alignment"}),e.jsxs("select",{style:de,value:t.layout.textAlign??"center",onChange:s=>n(a=>({...a,layout:{...a.layout,textAlign:s.target.value}})),children:[e.jsx("option",{value:"left",children:"left"}),e.jsx("option",{value:"center",children:"center"}),e.jsx("option",{value:"right",children:"right"})]})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Vertical Alignment"}),e.jsxs("select",{style:de,value:t.layout.verticalAlign??"center",onChange:s=>n(a=>({...a,layout:{...a.layout,verticalAlign:s.target.value}})),children:[e.jsx("option",{value:"top",children:"top"}),e.jsx("option",{value:"center",children:"center"}),e.jsx("option",{value:"bottom",children:"bottom"})]})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Overflow"}),e.jsxs("select",{style:de,value:t.layout.overflow,onChange:s=>n(a=>({...a,layout:{...a.layout,overflow:s.target.value}})),children:[e.jsx("option",{value:"clip",children:"Clip text"}),e.jsx("option",{value:"ellipsis",children:"Show ellipsis"}),e.jsx("option",{value:"clamp",children:"Clamp"}),e.jsx("option",{value:"shrink",children:"Shrink"})]})]}),e.jsx("label",{style:q,children:e.jsxs("div",{style:ce,children:[e.jsx("span",{style:m,children:"Resize To Fit"}),e.jsx("input",{type:"checkbox",style:lt,checked:t.layout.resizeToFit===!0,onChange:s=>n(a=>({...a,layout:{...a.layout,resizeToFit:s.target.checked}}))})]})})]})}const Zs={display:"grid",gridTemplateColumns:"repeat(2, minmax(0, 1fr))",gap:6},le={display:"flex",flexDirection:"column",gap:4},gt={...le,gridColumn:"1 / -1"},G={fontSize:9,color:"rgba(226,232,240,0.72)"},Ys={width:"100%",height:24,borderRadius:7,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(15,23,42,0.68)",color:"#f8fafc",fontSize:10.5,outline:"none",padding:"0 7px",boxSizing:"border-box"},qs={...Ys,fontVariantNumeric:"tabular-nums"},Js={display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,minHeight:24},Qs={width:16,height:16},el=t=>/^-?\d*(\.\d*)?$/.test(t),Q=({value:t,onChange:n,step:l=1,min:s,max:a,disabled:d=!1})=>{const[o,r]=u.useState(String(t));u.useEffect(()=>r(String(t)),[t]);const y=p=>{let h=p;return typeof s=="number"&&(h=Math.max(s,h)),typeof a=="number"&&(h=Math.min(a,h)),h};return e.jsx("input",{type:"text",inputMode:"decimal",pattern:"-?[0-9]*[.,]?[0-9]*",style:qs,value:o,disabled:d,onChange:p=>{const h=p.target.value;if(!el(h)||(r(h),h===""||h==="-"||h==="."||h==="-."))return;const c=Number(h);Number.isNaN(c)||n(y(c))},onBlur:()=>{const p=Number(o);if(Number.isNaN(p)){r(String(t));return}const h=y(p);r(String(h)),n(h)},onKeyDown:p=>{if(p.key!=="ArrowUp"&&p.key!=="ArrowDown")return;p.preventDefault();const h=p.shiftKey?l*10:p.altKey?l/10:l,c=p.key==="ArrowUp"?t+h:t-h;n(y(Number.isInteger(c)?c:Number(c.toFixed(6))))}})},Wt=({value:t,onChange:n,guideLabel:l,showRenderOrder:s=!0})=>{var a,d;return e.jsxs("div",{style:Zs,children:[e.jsxs("label",{style:le,children:[e.jsx("span",{style:G,children:"Position X"}),e.jsx(Q,{value:t.position.x,min:-4096,max:4096,step:1,onChange:o=>n({...t,position:{...t.position,x:o}})})]}),e.jsxs("label",{style:le,children:[e.jsx("span",{style:G,children:"Position Y"}),e.jsx(Q,{value:t.position.y,min:-4096,max:4096,step:1,onChange:o=>n({...t,position:{...t.position,y:o}})})]}),e.jsxs("label",{style:le,children:[e.jsx("span",{style:G,children:"Size X"}),e.jsx(Q,{value:t.size.width,min:0,max:8192,step:1,onChange:o=>n({...t,size:{...t.size,width:o}})})]}),e.jsxs("label",{style:le,children:[e.jsx("span",{style:G,children:"Size Y"}),e.jsx(Q,{value:t.size.height,min:0,max:8192,step:1,onChange:o=>n({...t,size:{...t.size,height:o}})})]}),e.jsxs("label",{style:gt,children:[e.jsx("span",{style:G,children:"Rotation"}),e.jsx(Q,{value:t.rotation,min:-360,max:360,step:1,onChange:o=>n({...t,rotation:o})})]}),e.jsxs("label",{style:le,children:[e.jsx("span",{style:G,children:"Scale 2D X"}),e.jsx(Q,{value:((a=t.scale2D)==null?void 0:a.x)??1,min:-10,max:10,step:.01,onChange:o=>{var r;return n({...t,scale2D:{x:o,y:((r=t.scale2D)==null?void 0:r.y)??1}})}})]}),e.jsxs("label",{style:le,children:[e.jsx("span",{style:G,children:"Scale 2D Y"}),e.jsx(Q,{value:((d=t.scale2D)==null?void 0:d.y)??1,min:-10,max:10,step:.01,onChange:o=>{var r;return n({...t,scale2D:{x:((r=t.scale2D)==null?void 0:r.x)??1,y:o}})}})]}),e.jsxs("label",{style:gt,children:[e.jsx("span",{style:G,children:"Reference Pixels Per Unit"}),e.jsx(Q,{value:t.referencePixelsPerUnit??32,min:1,max:512,step:1,onChange:o=>n({...t,referencePixelsPerUnit:o})})]}),s?e.jsxs("label",{style:le,children:[e.jsx("span",{style:G,children:"Render Order"}),e.jsx(Q,{value:t.renderOrder,min:-9999,max:9999,step:1,onChange:o=>n({...t,renderOrder:o})})]}):null,e.jsxs("label",{style:le,children:[e.jsx("span",{style:G,children:"Pivot X"}),e.jsx(Q,{value:t.pivot[0],min:0,max:1,step:.01,onChange:o=>n({...t,pivot:[o,t.pivot[1]]})})]}),e.jsxs("label",{style:le,children:[e.jsx("span",{style:G,children:"Pivot Y"}),e.jsx(Q,{value:t.pivot[1],min:0,max:1,step:.01,onChange:o=>n({...t,pivot:[t.pivot[0],o]})})]}),e.jsx("label",{style:gt,children:e.jsxs("div",{style:Js,children:[e.jsx("span",{style:G,children:l}),e.jsx("input",{type:"checkbox",style:Qs,checked:t.showGuides,onChange:o=>n({...t,showGuides:o.target.checked})})]})})]})};function tl({value:t,onChange:n}){return e.jsx(Wt,{value:yn(t.transformation,t.screenTransform),guideLabel:"Transform Control On",showRenderOrder:!1,onChange:l=>n(s=>({...s,transformation:gs(l,s.transformation),screenTransform:un(l,s.screenTransform)}))})}const nl=({value:t,onChange:n,copyLabel:l,inspector:s})=>{var ye;const[a,d]=u.useState(()=>$.createSceneObject({name:l??"Screen Text",renderGroupId:Me.DEFAULT_RENDER_GROUP_IDS.screen2d})),[o]=u.useState(()=>{const N=a.id,f=$.createDefaultComponent("ScreenTransform",N),v=$.createDefaultComponent("ScreenText",N),A=$.createDefaultComponent("Material",N),I=$.createDefaultComponent("Texture",N);return{screenTransform:f,screenText:v,material:A,texture:I}}),[r,y]=u.useState(!0),[p,h]=u.useState(!0),[c,g]=u.useState(!0),[x,i]=u.useState(!0),[b,j]=u.useState(!0),[k,C]=u.useState(!0),[L,S]=u.useState({text2d:!0,content:!0,transformation:!0,style:!0,textEffect:!0}),w=yn(t.screenText.transformation,t.screenText.screenTransform),O={object:{...a,componentIds:[o.screenTransform.id,o.screenText.id,o.material.id,o.texture.id]},kind:"screenText",components:[{...o.screenTransform,settings:t.screenText.screenTransform??un(w)},{...o.screenText,settings:t.screenText},{...o.material,settings:{...o.material.settings,color:t.screenText.style.color,opacity:t.screenText.style.opacity}},{...o.texture,settings:{...o.texture.settings,url:t.screenText.style.background.textureUrl,flipX:t.screenText.style.background.textureFlipX,flipY:t.screenText.style.background.textureFlipY}}],scene:{screenSpaceUI:t.screenSpaceUI}},T=N=>{n({...t,screenText:N(t.screenText)})},B=t.screenText.style.strokeLayers??[],_=t.screenText.style.shadowEnabled!==!1&&(((ye=t.screenText.style.shadowLayers)==null?void 0:ye.length)??0)===0?[Et()]:t.screenText.style.shadowLayers??[],he=t.screenText.style.innerShadow??{color:"#000000",opacity:1,offset:10,angle:-45,feather:0},te=t.screenText.style.glow??hn(),xe=t.screenText.style.bend??xn(),M=N=>S(f=>({...f,[N]:!f[N]})),z=(N,f,v,A)=>e.jsx(Ms,{label:f,icon:v,open:L[N],onToggle:()=>M(N),children:A},N);return e.jsxs(yt,{objectId:(s==null?void 0:s.objectId)??a.id,objectName:(s==null?void 0:s.objectName)??a.name,onObjectNameChange:(s==null?void 0:s.onObjectNameChange)??(N=>d(f=>({...f,name:N}))),layer:(s==null?void 0:s.layer)??"Default Layer",visible:(s==null?void 0:s.visible)??t.screenText.enabled,onVisibleChange:(s==null?void 0:s.onVisibleChange)??(N=>T(f=>({...f,enabled:N}))),copyConfig:(s==null?void 0:s.copyConfig)??O,initialPosition:s==null?void 0:s.initialPosition,position:s==null?void 0:s.position,onPositionChange:s==null?void 0:s.onPositionChange,title:s==null?void 0:s.title,children:[z("transformation","Transformation",e.jsx(Ws,{}),e.jsx(tl,{value:t.screenText,onChange:T})),z("text2d","2D Text",e.jsx(Dt,{}),e.jsxs(e.Fragment,{children:[z("content","Content",e.jsx(Dt,{}),e.jsx(Ls,{value:t.screenText,onChange:T})),z("style","Style",e.jsx(Bt,{}),e.jsx(Xs,{value:t.screenText,onChange:T})),z("textEffect","Text Effect",e.jsx(Bt,{}),e.jsx(Us,{value:t.screenText,onChange:T,outlineLayers:B,shadowLayers:_,innerShadow:he,glow:te,bend:xe,outlineSettingsOpen:r,setOutlineSettingsOpen:y,shadowSettingsOpen:p,setShadowSettingsOpen:h,innerShadowSettingsOpen:c,setInnerShadowSettingsOpen:g,glowSettingsOpen:x,setGlowSettingsOpen:i,bendSettingsOpen:b,setBendSettingsOpen:j,backgroundSettingsOpen:k,setBackgroundSettingsOpen:C}))]}))]})},sl="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAtAAAAUAAgMAAAAToI2uAAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAlQTFRFqampbGxsAAAA/lGquwAAAAN0Uk5T//8A18oNQQAABPRJREFUeJztzssNQWEYQEG3CP1oQqJGsdCfBFs7j8X8+eRMBbPtBtpWB35RWimtlFZKK6WV0kppZWj6uLrwrceltFFaKa2UVkorpZXSSmlldPp2XT350P5Q2iitlFZKK6WV0kpppbRSWimtlFZKK3+RPq8OvXM/lTZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK3+THqG0UloprZRWSiulldJKaaW0UloprZRWSiuv6VFKK6WV0kpppbRSWimtlFbGpgcqrZRWSiulldJKaaW0MjL9BFWtRqVFuJpUAAAAAElFTkSuQmCC",ll={placeholder:"Placeholder","hero-image":"Hero Image","photo-frame":"Default Frame"},il=Object.entries(ll).map(([t,n])=>({value:t,label:n})),ol={placeholder:{transformation:{showFitGuides:!1},image:{sourceKind:"default",stretchMode:"fit",materialType:"unlit",blendMode:"normal",opacity:1,color:"#ffffff",flipX:!1,flipY:!1,transparent:!0,alphaTest:0}},"hero-image":{transformation:{position:{x:0,y:.08},size:{width:.96,height:.62},rotation:0,pivot:[.5,.5],overlay:!0,visible:!0},image:{sourceKind:"image",stretchMode:"fillAndCut",materialType:"unlit",blendMode:"normal",opacity:1,color:"#ffffff",flipX:!1,flipY:!1,transparent:!0,alphaTest:0}},"photo-frame":{transformation:{position:{x:0,y:.01},size:{width:2,height:2},rotation:0,pivot:[.5,.5],overlay:!0,visible:!0},image:{sourceKind:"image",src:sl,stretchMode:"fill",materialType:"unlit",blendMode:"normal",opacity:1,color:"#ffffff",flipX:!1,flipY:!1,transparent:!0,alphaTest:0}}},rl=(t,n)=>{const l=ol[n];return{...t,preset:n,...l.enabled!==void 0?{enabled:l.enabled}:{},transformation:{...t.transformation,...l.transformation??{}},image:{...t.image,...l.image??{}}}},al={display:"grid",gridTemplateColumns:"repeat(2, minmax(0, 1fr))",gap:6},et={display:"flex",flexDirection:"column",gap:4},dl={...et,gridColumn:"1 / -1"},He={fontSize:9,color:"rgba(226,232,240,0.72)"},Ft={width:"100%",height:24,borderRadius:7,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(15,23,42,0.68)",color:"#f8fafc",fontSize:10.5,outline:"none",padding:"0 7px",boxSizing:"border-box"},Pt={...Ft,appearance:"none"},cl={...Ft,fontVariantNumeric:"tabular-nums"},pl={...Ft,padding:2,cursor:"pointer"},hl=t=>/^-?\d*(\.\d*)?$/.test(t),Vt=({value:t,onChange:n,step:l=1,min:s,max:a})=>{const[d,o]=u.useState(String(t));u.useEffect(()=>o(String(t)),[t]);const r=y=>{let p=y;return typeof s=="number"&&(p=Math.max(s,p)),typeof a=="number"&&(p=Math.min(a,p)),p};return e.jsx("input",{type:"text",inputMode:"decimal",pattern:"-?[0-9]*[.,]?[0-9]*",style:cl,value:d,onChange:y=>{const p=y.target.value;if(!hl(p)||(o(p),p===""||p==="-"||p==="."||p==="-."))return;const h=Number(p);Number.isNaN(h)||n(r(h))},onBlur:()=>{const y=Number(d);if(Number.isNaN(y)){o(String(t));return}const p=r(y);o(String(p)),n(p)},onKeyDown:y=>{if(y.key!=="ArrowUp"&&y.key!=="ArrowDown")return;y.preventDefault();const p=y.shiftKey?l*10:y.altKey?l/10:l,h=y.key==="ArrowUp"?t+p:t-p;n(r(Number.isInteger(h)?h:Number(h.toFixed(6))))}})},xl=({value:t,onChange:n})=>e.jsxs("div",{style:al,children:[e.jsxs("label",{style:et,children:[e.jsx("span",{style:He,children:"Material Type"}),e.jsxs("select",{style:Pt,value:t.materialType,onChange:l=>n({...t,materialType:l.target.value}),children:[e.jsx("option",{value:"unlit",children:"Unlit"}),e.jsx("option",{value:"standardPBR",children:"Standard PBR"}),e.jsx("option",{value:"matcap",children:"Matcap"})]})]}),e.jsxs("label",{style:et,children:[e.jsx("span",{style:He,children:"Blend Mode"}),e.jsxs("select",{style:Pt,value:t.blendMode,onChange:l=>n({...t,blendMode:l.target.value}),children:[e.jsx("option",{value:"normal",children:"Normal"}),e.jsx("option",{value:"add",children:"Add"}),e.jsx("option",{value:"subtract",children:"Subtract"}),e.jsx("option",{value:"multiply",children:"Multiply"}),e.jsx("option",{value:"screen",children:"Screen"}),e.jsx("option",{value:"lighten",children:"Lighten"}),e.jsx("option",{value:"darken",children:"Darken"}),e.jsx("option",{value:"overlay",children:"Overlay"}),e.jsx("option",{value:"softLight",children:"Soft Light"}),e.jsx("option",{value:"hardLight",children:"Hard Light"}),e.jsx("option",{value:"difference",children:"Difference"}),e.jsx("option",{value:"exclusion",children:"Exclusion"})]})]}),e.jsxs("label",{style:et,children:[e.jsx("span",{style:He,children:"Opacity"}),e.jsx(Vt,{value:t.opacity,min:0,max:1,step:.01,onChange:l=>n({...t,opacity:l})})]}),e.jsxs("label",{style:et,children:[e.jsx("span",{style:He,children:"Tint"}),e.jsx("input",{type:"color",style:pl,value:t.color,onChange:l=>n({...t,color:l.target.value})})]}),e.jsxs("label",{style:dl,children:[e.jsx("span",{style:He,children:"Alpha Test"}),e.jsx(Vt,{value:t.alphaTest,min:0,max:1,step:.01,onChange:l=>n({...t,alphaTest:l})})]})]}),yl={display:"flex",width:18,height:18,alignItems:"center",justifyContent:"center",borderRadius:6,background:"rgba(255,255,255,0.08)",border:"1px solid rgba(255,255,255,0.08)",color:"#e2e8f0",flex:"0 0 auto"},ul={borderRadius:12,border:"1px solid rgba(255,255,255,0.08)",background:"rgba(255,255,255,0.03)",overflow:"hidden"},gl={display:"flex",alignItems:"center",gap:7,padding:"6px 7px"},bl={display:"flex",alignItems:"center",gap:6,fontSize:11,fontWeight:500,flex:"1 1 auto",minWidth:0},fl={width:28,height:16,borderRadius:999,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(255,255,255,0.08)",padding:2,display:"flex",alignItems:"center",cursor:"pointer",flex:"0 0 auto"},jl=t=>({width:10,height:10,borderRadius:999,background:t?"#f8fafc":"rgba(148,163,184,0.7)",transform:t?"translateX(12px)":"translateX(0)",transition:"transform 140ms ease, background 140ms ease"}),ml={display:"grid",gap:7,padding:"0 7px 7px"},Sl={display:"grid",gridTemplateColumns:"repeat(2, minmax(0, 1fr))",gap:6},zt={display:"flex",flexDirection:"column",gap:4},bt={...zt,gridColumn:"1 / -1"},Ke={fontSize:9,color:"rgba(226,232,240,0.72)"},wl={width:"100%",height:24,borderRadius:7,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(15,23,42,0.68)",color:"#f8fafc",fontSize:10.5,outline:"none",padding:"0 7px",boxSizing:"border-box"},Ht={...wl,appearance:"none"},ft={display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,minHeight:24},jt={width:16,height:16},kl=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M5 4h14a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2zm0 2v8.76l4.5-4.5 3.2 3.2 2.8-2.8L19 14.16V6H5zm12 3a2 2 0 1 1-4 0 2 2 0 0 1 4 0z"})}),vl=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M11 2h2v4h3l-4 4-4-4h3V2zm0 20v-4H8l4-4 4 4h-3v4h-2zM2 11h4V8l4 4-4 4v-3H2v-2zm20 0v2h-4v3l-4-4 4-4v3h4z"})}),Cl=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M12 2 3 7v10l9 5 9-5V7l-9-5zm0 2.3L17.9 7 12 9.7 6.1 7 12 4.3zM5 8.5l6 2.7v7.9l-6-3.3V8.5zm8 10.6v-7.9l6-2.7v7.3l-6 3.3z"})}),Kt=(t,n)=>({enabled:(n==null?void 0:n.enabled)??t.enabled,showGuides:(n==null?void 0:n.showTransformGuides)??t.showFitGuides,coordinateSpace:t.coordinateSpace,canvasSize:t.canvasSize,position:(n==null?void 0:n.position)??t.position,size:(n==null?void 0:n.size)??t.size,rotation:(n==null?void 0:n.rotation)??t.rotation,scale2D:n==null?void 0:n.scale2D,referencePixelsPerUnit:n==null?void 0:n.referencePixelsPerUnit,pivot:(n==null?void 0:n.pivot)??t.pivot,renderOrder:(n==null?void 0:n.renderOrder)??t.renderOrder,overlay:(n==null?void 0:n.overlay)??t.overlay,visible:(n==null?void 0:n.visible)??t.visible}),Rl=(t,n)=>({...n,enabled:t.enabled,showFitGuides:t.showGuides,coordinateSpace:t.coordinateSpace,canvasSize:t.canvasSize,position:t.position,size:t.size,rotation:t.rotation,pivot:t.pivot,renderOrder:t.renderOrder,overlay:t.overlay,visible:t.visible}),_t=(t,n)=>({...$.DEFAULT_SCREEN_TRANSFORM_2D,...n,enabled:t.enabled,showTransformGuides:t.showGuides,position:t.position,size:t.size,rotation:t.rotation,scale2D:t.scale2D??(n==null?void 0:n.scale2D)??$.DEFAULT_SCREEN_TRANSFORM_2D.scale2D,referencePixelsPerUnit:t.referencePixelsPerUnit??(n==null?void 0:n.referencePixelsPerUnit)??$.DEFAULT_SCREEN_TRANSFORM_2D.referencePixelsPerUnit,pivot:t.pivot,renderOrder:t.renderOrder,overlay:t.overlay,visible:t.visible}),El=({value:t,onChange:n,copyLabel:l,inspector:s})=>{const[a,d]=u.useState(()=>$.createSceneObject({name:l??"Screen Image",renderGroupId:Me.DEFAULT_RENDER_GROUP_IDS.screen2d})),[o]=u.useState(()=>{const x=a.id,i=$.createDefaultComponent("ScreenTransform",x),b=$.createDefaultComponent("ScreenImage",x),j=$.createDefaultComponent("Material",x),k=$.createDefaultComponent("Texture",x);return{screenTransform:i,screenImage:b,material:j,texture:k}}),[r,y]=u.useState({transformation:!0,image:!0,material:!0}),p=Kt(t.screenImage.transformation,t.screenImage.screenTransform),h={object:{...a,componentIds:[o.screenTransform.id,o.screenImage.id,o.material.id,o.texture.id]},kind:"screenImage",components:[{...o.screenTransform,settings:t.screenImage.screenTransform??_t(p)},{...o.screenImage,settings:t.screenImage},{...o.material,settings:{...o.material.settings,color:t.screenImage.image.color,opacity:t.screenImage.image.opacity}},{...o.texture,settings:{...o.texture.settings,url:t.screenImage.image.src||void 0,flipX:t.screenImage.image.flipX,flipY:t.screenImage.image.flipY}}],scene:{screenSpaceUI:t.screenSpaceUI}},c=x=>{n({...t,screenImage:x(t.screenImage)})},g=(x,i,b,j)=>e.jsxs("div",{style:ul,children:[e.jsxs("div",{style:gl,children:[e.jsx("button",{type:"button",onClick:()=>y(k=>({...k,[x]:!k[x]})),style:fl,children:e.jsx("div",{style:jl(r[x])})}),e.jsxs("div",{style:bl,children:[e.jsx("span",{style:yl,children:b}),e.jsx("span",{children:i})]})]}),r[x]?e.jsx("div",{style:ml,children:j}):null]},x);return e.jsxs(yt,{objectId:(s==null?void 0:s.objectId)??a.id,objectName:(s==null?void 0:s.objectName)??a.name,onObjectNameChange:(s==null?void 0:s.onObjectNameChange)??(x=>d(i=>({...i,name:x}))),layer:(s==null?void 0:s.layer)??"Default Layer",visible:(s==null?void 0:s.visible)??t.screenImage.enabled,onVisibleChange:(s==null?void 0:s.onVisibleChange)??(x=>c(i=>({...i,enabled:x}))),copyConfig:(s==null?void 0:s.copyConfig)??h,initialPosition:s==null?void 0:s.initialPosition,position:s==null?void 0:s.position,onPositionChange:s==null?void 0:s.onPositionChange,title:s==null?void 0:s.title,children:[g("transformation","Transformation",e.jsx(vl,{}),e.jsx(Wt,{value:Kt(t.screenImage.transformation,t.screenImage.screenTransform),guideLabel:"Transform Control On",showRenderOrder:!1,onChange:x=>c(i=>({...i,transformation:Rl(x,i.transformation),screenTransform:_t(x,i.screenTransform)}))})),g("image","Image",e.jsx(kl,{}),e.jsxs("div",{style:{display:"grid",gap:6},children:[e.jsxs("label",{style:zt,children:[e.jsx("span",{style:Ke,children:"Preset"}),e.jsx("select",{style:Ht,value:t.screenImage.preset,onChange:x=>c(i=>rl(i,x.target.value)),children:il.map(x=>e.jsx("option",{value:x.value,children:x.label},x.value))})]}),e.jsxs("label",{style:zt,children:[e.jsx("span",{style:Ke,children:"Stretch Mode"}),e.jsxs("select",{style:Ht,value:t.screenImage.image.stretchMode,onChange:x=>c(i=>({...i,image:{...i.image,stretchMode:x.target.value}})),children:[e.jsx("option",{value:"fit",children:"Fit"}),e.jsx("option",{value:"fitWidth",children:"Fit Width"}),e.jsx("option",{value:"fitHeight",children:"Fit Height"}),e.jsx("option",{value:"center",children:"Center"}),e.jsx("option",{value:"stretch",children:"Stretch"}),e.jsx("option",{value:"fill",children:"Fill"}),e.jsx("option",{value:"fillAndCut",children:"Fill and Cut"})]})]}),e.jsx("label",{style:bt,children:e.jsxs("div",{style:ft,children:[e.jsx("span",{style:Ke,children:"Flip X"}),e.jsx("input",{type:"checkbox",style:jt,checked:t.screenImage.image.flipX,onChange:x=>c(i=>({...i,image:{...i.image,flipX:x.target.checked}}))})]})}),e.jsx("label",{style:bt,children:e.jsxs("div",{style:ft,children:[e.jsx("span",{style:Ke,children:"Flip Y"}),e.jsx("input",{type:"checkbox",style:jt,checked:t.screenImage.image.flipY,onChange:x=>c(i=>({...i,image:{...i.image,flipY:x.target.checked}}))})]})})]})),g("material","Material",e.jsx(Cl,{}),e.jsxs("div",{style:Sl,children:[e.jsx(xl,{value:t.screenImage.image,onChange:x=>c(i=>({...i,image:{...i.image,materialType:x.materialType,blendMode:x.blendMode,opacity:x.opacity,color:x.color,alphaTest:x.alphaTest}}))}),e.jsx("label",{style:bt,children:e.jsxs("div",{style:ft,children:[e.jsx("span",{style:Ke,children:"Transparent"}),e.jsx("input",{type:"checkbox",style:jt,checked:t.screenImage.image.transparent,onChange:x=>c(i=>({...i,image:{...i.image,transparent:x.target.checked}}))})]})})]}))]})},Oe={display:"grid",gridTemplateColumns:"92px minmax(0,1fr)",alignItems:"center",gap:10,margin:"8px 0",color:"#cbd5e1",fontSize:12},Te={width:"100%",boxSizing:"border-box",padding:"8px 9px",border:"1px solid rgba(148,163,184,.16)",borderRadius:6,background:"rgba(15,23,42,.72)",color:"#e2e8f0"},zl=({onChange:t,value:n})=>e.jsxs("fieldset",{style:{border:0,padding:0,margin:0},children:[n.map((l,s)=>e.jsxs("div",{style:Oe,children:[e.jsx("input",{"aria-label":`Gradient stop ${s+1} color`,type:"color",style:{...Te,padding:2},value:l.color,onChange:a=>t(n.map((d,o)=>o===s?{...d,color:a.currentTarget.value}:d))}),e.jsxs("span",{style:{display:"grid",gridTemplateColumns:"1fr auto",gap:4},children:[e.jsx("input",{"aria-label":`Gradient stop ${s+1} position`,type:"number",min:0,max:1,step:.05,style:Te,value:l.offset,onChange:a=>t(n.map((d,o)=>o===s?{...d,offset:Number(a.currentTarget.value)}:d))}),n.length>2?e.jsx("button",{type:"button",onClick:()=>t(n.filter((a,d)=>d!==s)),children:"−"}):null]})]},`${s}-${l.color}`)),n.length<X.MAX_SCREEN_GRADIENT_STOPS?e.jsx("button",{type:"button",onClick:()=>{var l;return t([...n,{offset:.5,color:((l=n[n.length-1])==null?void 0:l.color)??"#ffffff"}])},children:"Add stop"}):null]}),bn=({onChange:t,value:n})=>e.jsxs("fieldset",{style:{border:0,padding:0,margin:0},children:[e.jsxs("label",{style:Oe,children:[e.jsx("span",{children:"Gradient"}),e.jsxs("select",{style:Te,value:n.type,onChange:l=>t({...n,type:l.currentTarget.value}),children:[e.jsx("option",{value:"linear",children:"Linear"}),e.jsx("option",{value:"radial",children:"Radial"}),e.jsx("option",{value:"angular",children:"Conic / Angular"})]})]}),e.jsx(zl,{value:n.stops,onChange:l=>t({...n,stops:l})}),n.type!=="radial"?e.jsxs("label",{style:Oe,children:[e.jsx("span",{children:"Angle"}),e.jsx("input",{type:"number",style:Te,step:5,value:n.angle,onChange:l=>t({...n,angle:Number(l.currentTarget.value)})})]}):null,n.type!=="linear"?e.jsxs(e.Fragment,{children:[e.jsxs("label",{style:Oe,children:[e.jsx("span",{children:"Center X"}),e.jsx("input",{type:"number",style:Te,min:0,max:1,step:.05,value:n.center.x,onChange:l=>t({...n,center:{...n.center,x:Number(l.currentTarget.value)}})})]}),e.jsxs("label",{style:Oe,children:[e.jsx("span",{children:"Center Y"}),e.jsx("input",{type:"number",style:Te,min:0,max:1,step:.05,value:n.center.y,onChange:l=>t({...n,center:{...n.center,y:Number(l.currentTarget.value)}})})]})]}):null,n.type==="radial"?e.jsxs("label",{style:Oe,children:[e.jsx("span",{children:"Radius"}),e.jsx("input",{type:"number",style:Te,min:.01,step:.05,value:n.radius,onChange:l=>t({...n,radius:Number(l.currentTarget.value)})})]}):null]}),Gt={display:"grid",gridTemplateColumns:"92px minmax(0,1fr)",alignItems:"center",gap:10,margin:"8px 0",color:"#cbd5e1",fontSize:12},Ut={width:"100%",boxSizing:"border-box",padding:"8px 9px",border:"1px solid rgba(148,163,184,.16)",borderRadius:6,background:"rgba(15,23,42,.72)",color:"#e2e8f0"},fn=({value:t,onChange:n})=>e.jsxs("fieldset",{style:{border:0,padding:0,margin:0},children:[e.jsxs("label",{style:Gt,children:[e.jsx("span",{children:"Tint"}),e.jsx("input",{type:"color",style:{...Ut,padding:2},value:t.tint,onChange:l=>n({...t,tint:l.currentTarget.value})})]}),["opacity","frost","highlight"].map(l=>e.jsxs("label",{style:Gt,children:[e.jsx("span",{children:l[0].toUpperCase()+l.slice(1)}),e.jsx("input",{type:"number",style:Ut,min:0,max:1,step:.05,value:t[l],onChange:s=>n({...t,[l]:Number(s.currentTarget.value)})})]},l))]}),Il={borderRadius:12,border:"1px solid rgba(255,255,255,.08)",background:"rgba(255,255,255,.03)",padding:8},$e={display:"grid",gridTemplateColumns:"92px minmax(0,1fr)",alignItems:"center",gap:10,margin:"8px 0",color:"#cbd5e1",fontSize:12},tt={width:"100%",boxSizing:"border-box",padding:"8px 9px",border:"1px solid rgba(148,163,184,.16)",borderRadius:6,background:"rgba(15,23,42,.72)",color:"#e2e8f0"},ne=({label:t,onValue:n,...l})=>e.jsxs("label",{style:$e,children:[e.jsx("span",{children:t}),e.jsx("input",{...l,type:"number",style:tt,onChange:s=>n(Number(s.currentTarget.value))})]}),jn=({value:t,onChange:n})=>e.jsxs("section",{style:Il,children:[e.jsx("div",{style:{fontSize:11,fontWeight:700,marginBottom:7},children:"Screen Shape"}),e.jsxs("label",{style:$e,children:[e.jsx("span",{children:"Shape"}),e.jsxs("select",{style:tt,value:t.kind,onChange:l=>n({...t,kind:l.currentTarget.value}),children:[e.jsx("option",{value:"circle",children:"Circle"}),e.jsx("option",{value:"ellipse",children:"Ellipse"}),e.jsx("option",{value:"rectangle",children:"Rectangle"}),e.jsx("option",{value:"roundedRectangle",children:"Rounded Rectangle"}),e.jsx("option",{value:"polygon",children:"Polygon"}),e.jsx("option",{value:"star",children:"Star"}),e.jsx("option",{value:"line",children:"Line"})]})]}),t.kind!=="line"?e.jsxs(e.Fragment,{children:[e.jsxs("label",{style:$e,children:[e.jsx("span",{children:"Fill"}),e.jsxs("select",{style:tt,value:t.fillMode,onChange:l=>n({...t,fillMode:l.currentTarget.value}),children:[e.jsx("option",{value:"solid",children:"Solid"}),e.jsx("option",{value:"gradient",children:"Gradient"}),e.jsx("option",{value:"glass",children:"Glass"})]})]}),t.fillMode==="gradient"?e.jsx(bn,{value:t.gradient,onChange:l=>n({...t,gradient:l})}):t.fillMode==="glass"?e.jsx(fn,{value:t.glass,onChange:l=>n({...t,glass:l})}):e.jsxs("label",{style:$e,children:[e.jsx("span",{children:"Color"}),e.jsx("input",{type:"color",style:{...tt,padding:2},value:t.fillColor,onChange:l=>n({...t,fillColor:l.currentTarget.value})})]}),e.jsx(ne,{label:"Fill Opacity",min:0,max:1,step:.05,value:t.fillOpacity,onValue:l=>n({...t,fillOpacity:l})})]}):null,e.jsxs("label",{style:$e,children:[e.jsx("span",{children:"Stroke"}),e.jsx("input",{type:"color",style:{...tt,padding:2},value:t.strokeColor,onChange:l=>n({...t,strokeColor:l.currentTarget.value})})]}),e.jsx(ne,{label:"Stroke Width",min:0,step:1,value:t.strokeWidth,onValue:l=>n({...t,strokeWidth:l})}),e.jsx(ne,{label:"Stroke Opacity",min:0,max:1,step:.05,value:t.strokeOpacity,onValue:l=>n({...t,strokeOpacity:l})}),e.jsxs("label",{style:$e,children:[e.jsx("span",{children:"Dashed"}),e.jsx("input",{type:"checkbox",checked:t.dashed,onChange:l=>n({...t,dashed:l.currentTarget.checked})})]}),t.kind==="roundedRectangle"?e.jsx(ne,{label:"Corner Radius",min:0,max:.5,step:.01,value:t.cornerRadius,onValue:l=>n({...t,cornerRadius:l})}):null,t.kind==="polygon"||t.kind==="star"?e.jsx(ne,{label:t.kind==="star"?"Points":"Sides",min:3,max:12,step:1,value:t.sides,onValue:l=>n({...t,sides:l})}):null,t.kind==="star"?e.jsx(ne,{label:"Inner Radius",min:.05,max:.95,step:.05,value:t.innerRadiusRatio,onValue:l=>n({...t,innerRadiusRatio:l})}):null,t.kind==="line"?e.jsxs(e.Fragment,{children:[e.jsx(ne,{label:"Start X",min:0,max:1,step:.05,value:t.lineStart.x,onValue:l=>n({...t,lineStart:{...t.lineStart,x:l}})}),e.jsx(ne,{label:"Start Y",min:0,max:1,step:.05,value:t.lineStart.y,onValue:l=>n({...t,lineStart:{...t.lineStart,y:l}})}),e.jsx(ne,{label:"End X",min:0,max:1,step:.05,value:t.lineEnd.x,onValue:l=>n({...t,lineEnd:{...t.lineEnd,x:l}})}),e.jsx(ne,{label:"End Y",min:0,max:1,step:.05,value:t.lineEnd.y,onValue:l=>n({...t,lineEnd:{...t.lineEnd,y:l}})})]}):null]}),Tl={enabled:!0,bothHands:!0,visualScale:1,opacity:.92,pointRadius:3,lineWidth:3,labelScale:1.2,smoothing:.35,color:"#22d3ee",showBoundingBox:!0,showLabels:!1,logToConsole:!1},Ml={position:"fixed",left:14,top:104,zIndex:2e4,pointerEvents:"none"},mn={pointerEvents:"auto",width:286,borderRadius:16,border:"1px solid rgba(255,255,255,0.12)",background:"rgba(8, 15, 28, 0.58)",boxShadow:"0 16px 36px rgba(0,0,0,0.28)",backdropFilter:"blur(20px) saturate(1.1)",WebkitBackdropFilter:"blur(20px) saturate(1.1)",color:"#f8fafc",overflowX:"hidden",overflowY:"auto",scrollbarWidth:"thin",scrollbarColor:"rgba(148,163,184,0.55) rgba(255,255,255,0.06)",overscrollBehavior:"contain"},Wl={...mn,width:32,height:32,borderRadius:16,display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer"},Fl={position:"sticky",top:0,zIndex:1,display:"flex",alignItems:"center",gap:7,padding:"7px 8px",borderBottom:"1px solid rgba(255,255,255,0.08)",background:"rgba(8, 15, 28, 0.88)",backdropFilter:"blur(20px) saturate(1.1)",WebkitBackdropFilter:"blur(20px) saturate(1.1)"},Ll={width:16,height:16,display:"flex",alignItems:"center",justifyContent:"center",cursor:"grab",color:"rgba(148,163,184,0.82)",flex:"0 0 auto"},Nl={display:"flex",alignItems:"center",gap:6,fontSize:11,fontWeight:600,minWidth:0},Xt={display:"flex",width:18,height:18,alignItems:"center",justifyContent:"center",borderRadius:6,background:"rgba(255,255,255,0.08)",border:"1px solid rgba(255,255,255,0.08)",color:"#e2e8f0",flex:"0 0 auto"},Ol={display:"grid",gap:6,padding:7},$l={borderRadius:12,border:"1px solid rgba(255,255,255,0.08)",background:"rgba(255,255,255,0.03)",overflow:"hidden"},Al={display:"flex",alignItems:"center",gap:7,padding:"6px 7px"},Dl={display:"flex",alignItems:"center",gap:6,fontSize:11,fontWeight:500,flex:"1 1 auto",minWidth:0},Bl={width:28,height:16,borderRadius:999,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(255,255,255,0.08)",padding:2,display:"flex",alignItems:"center",cursor:"pointer",flex:"0 0 auto"},Pl=t=>({width:10,height:10,borderRadius:999,background:t?"#f8fafc":"rgba(148,163,184,0.7)",transform:t?"translateX(12px)":"translateX(0)",transition:"transform 140ms ease, background 140ms ease"}),Vl={display:"grid",gap:7,padding:"0 7px 7px"},Hl={display:"grid",gridTemplateColumns:"repeat(2, minmax(0, 1fr))",gap:6},Ie={display:"flex",flexDirection:"column",gap:4},_e={...Ie,gridColumn:"1 / -1"},ee={fontSize:9,color:"rgba(226,232,240,0.72)"},Fe={width:"100%",height:24,borderRadius:7,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(15,23,42,0.68)",color:"#f8fafc",fontSize:10.5,outline:"none",padding:"0 7px",boxSizing:"border-box"},Ge={display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,minHeight:24},Ue={width:16,height:16},Zt={display:"inline-flex",alignItems:"center",justifyContent:"center",width:24,height:24,borderRadius:8,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(255,255,255,0.05)",color:"#e2e8f0",cursor:"pointer",padding:0,flex:"0 0 auto"},Kl=()=>e.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M7 10h10v2H7v-2zm0 4h10v2H7v-2zm0-8h10v2H7V6z"})}),_l=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M18.3 5.71 12 12l6.3 6.29-1.41 1.41L10.59 13.41 4.29 19.7 2.88 18.29 9.17 12 2.88 5.71 4.29 4.3l6.3 6.29 6.29-6.3z"})}),Gl=()=>e.jsx("svg",{width:"11",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M8 6a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM8 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM8 18a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM16 6a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM16 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM16 18a2 2 0 1 1-4 0 2 2 0 0 1 4 0z"})}),mt=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M11 2a1 1 0 0 1 1 1v6h1V3a1 1 0 1 1 2 0v6h1V4a1 1 0 1 1 2 0v7.3l1.6 2.4a5 5 0 0 1 .8 2.7V18a4 4 0 0 1-4 4H9a6 6 0 0 1-6-6v-3.5a2.5 2.5 0 0 1 5 0V15h1V3a1 1 0 0 1 1-1z"})}),Ul=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M12 5V2L7 7l5 5V9a4 4 0 1 1-4 4H6a6 6 0 1 0 6-8z"})}),Xl=({value:t,onChange:n})=>{const[l,s]=u.useState(!0),[a,d]=u.useState({x:14,y:104}),[o,r]=u.useState(typeof window>"u"?0:window.innerHeight),[y,p]=u.useState({overlay:!0,visibility:!1}),h=u.useRef(null),c=Math.max(240,o-a.y-16);u.useEffect(()=>{const i=j=>{h.current&&d({x:Math.max(8,j.clientX-h.current.x),y:Math.max(8,j.clientY-h.current.y)})},b=()=>{h.current=null,document.body.classList.remove("select-none")};return window.addEventListener("pointermove",i),window.addEventListener("pointerup",b),()=>{window.removeEventListener("pointermove",i),window.removeEventListener("pointerup",b)}},[]),u.useEffect(()=>{const i=()=>r(window.innerHeight);return window.addEventListener("resize",i),()=>window.removeEventListener("resize",i)},[]);const g=i=>{const b=i.currentTarget.getBoundingClientRect();h.current={x:i.clientX-b.left,y:i.clientY-b.top},document.body.classList.add("select-none"),i.currentTarget.setPointerCapture(i.pointerId)},x=(i,b,j,k)=>e.jsxs("div",{style:$l,children:[e.jsxs("div",{style:Al,children:[e.jsx("button",{type:"button",onClick:()=>p(C=>({...C,[i]:!C[i]})),style:Bl,children:e.jsx("div",{style:Pl(y[i])})}),e.jsxs("div",{style:Dl,children:[e.jsx("span",{style:Xt,children:j}),e.jsx("span",{children:b})]})]}),y[i]?e.jsx("div",{style:Vl,children:k}):null]},i);return typeof document>"u"?null:pe.createPortal(e.jsxs("div",{style:{...Ml,left:a.x,top:a.y},children:[e.jsx("style",{children:`
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const De=require("./session-BChR4TgK.cjs"),On=require("./debug-ui/default-setting.cjs"),e=require("react/jsx-runtime"),u=require("react"),We=require("./renderGroups-uXXsFpvw.cjs"),$=require("./renderPasses-CVWt0t8m.cjs"),pe=require("react-dom"),$n=require("three"),X=require("./FaceMeshRenderer-D4PFqsb3.cjs"),Z=require("./FaceRetouch-Bq2rtPlV.cjs"),An=require("./index-UU5ODHGU.cjs"),Dn=require("./index-Be-S7uSm.cjs"),At=require("@react-three/drei"),Bn=require("@react-three/fiber"),Dt=require("./index-DdWBnI7A.cjs"),Pn=require("./contexts-Dv1SA0bS.cjs"),Vn=require("./selectors-2QvO5RYY.cjs"),Hn={position:"fixed",left:14,top:104,zIndex:2e4,pointerEvents:"none"},Kn={pointerEvents:"auto",width:306,maxHeight:"calc(100vh - 124px)",borderRadius:16,border:"1px solid rgba(255,255,255,0.12)",background:"rgba(8, 15, 28, 0.58)",boxShadow:"0 16px 36px rgba(0,0,0,0.28)",backdropFilter:"blur(20px) saturate(1.1)",WebkitBackdropFilter:"blur(20px) saturate(1.1)",color:"#f8fafc",overflow:"hidden"},_n=306,Gn=()=>({x:typeof window>"u"?14:window.innerWidth-(_n+20),y:30}),Un={display:"grid",gap:7,padding:"7px 8px 8px",borderBottom:"1px solid rgba(255,255,255,0.08)",background:"rgba(8, 15, 28, 0.88)"},Xn={display:"grid",gridTemplateColumns:"16px 22px minmax(0, 1fr) 28px",alignItems:"center",gap:7},Zn={display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontSize:11,fontWeight:700},Yn={width:"100%",height:24,borderRadius:7,border:"1px solid rgba(125,211,252,0.46)",background:"rgba(15,23,42,0.82)",color:"#f8fafc",fontSize:11,fontWeight:700,outline:"none",padding:"0 7px",boxSizing:"border-box"},qn={display:"flex",width:20,height:20,alignItems:"center",justifyContent:"center",borderRadius:7,background:"rgba(255,255,255,0.08)",border:"1px solid rgba(255,255,255,0.08)",color:"#e2e8f0"},Jn={width:16,height:18,display:"flex",alignItems:"center",justifyContent:"center",cursor:"grab",color:"rgba(148,163,184,0.82)"},Qn={display:"grid",gap:8,padding:8,overflowY:"auto",maxHeight:"calc(100vh - 215px)"},es={display:"grid",gridTemplateColumns:"minmax(0, 1fr) 30px",gap:6},ts={width:"100%",height:26,borderRadius:8,border:"1px solid rgba(255,255,255,0.12)",background:"rgba(56,189,248,0.16)",color:"#e0f2fe",fontSize:10.5,fontWeight:700,cursor:"pointer"},ns=t=>({display:"inline-flex",alignItems:"center",justifyContent:"center",width:30,height:26,borderRadius:8,border:"1px solid rgba(255,255,255,0.10)",color:t?"#e0f2fe":"rgba(148,163,184,0.72)",background:t?"rgba(56,189,248,0.16)":"rgba(255,255,255,0.04)",cursor:"pointer",padding:0}),ss={display:"inline-flex",alignItems:"center",justifyContent:"center",width:28,height:24,borderRadius:8,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(255,255,255,0.05)",color:"#e2e8f0",cursor:"pointer",padding:0},ls={width:"fit-content",maxWidth:"100%",height:24,borderRadius:7,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(255,255,255,0.07)",color:"#e2e8f0",fontSize:10,padding:"0 8px"},is=()=>e.jsx("svg",{width:"11",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M8 6a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM8 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM8 18a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM16 6a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM16 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM16 18a2 2 0 1 1-4 0 2 2 0 0 1 4 0z"})}),os=()=>e.jsx("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"m12 2 8 4.6v10.8L12 22l-8-4.6V6.6L12 2zm0 2.3L6.3 7.6 12 10.9l5.7-3.3L12 4.3zM6 9.3v6.9l5 2.9v-6.9L6 9.3zm12 0-5 2.9v6.9l5-2.9V9.3z"})}),rs=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M12 5c5 0 8.7 4.2 10 7-1.3 2.8-5 7-10 7s-8.7-4.2-10-7c1.3-2.8 5-7 10-7zm0 2c-3.6 0-6.4 2.7-7.7 5 1.3 2.3 4.1 5 7.7 5s6.4-2.7 7.7-5C18.4 9.7 15.6 7 12 7zm0 2.5a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5z"})}),as=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M3.3 2 22 20.7 20.7 22l-3.1-3.1A10.5 10.5 0 0 1 12 20c-5 0-8.7-4.2-10-7a16.4 16.4 0 0 1 4-4.9L2 3.3 3.3 2zm4.1 7.5A14.4 14.4 0 0 0 4.3 13c1.3 2.3 4.1 5 7.7 5 1.5 0 2.8-.5 4-1.2l-2.1-2.1A2.5 2.5 0 0 1 9.3 10L7.4 9.5zM12 4c5 0 8.7 4.2 10 7a15 15 0 0 1-3.2 4.2l-1.4-1.4A13 13 0 0 0 19.7 11C18.4 8.7 15.6 6 12 6c-.9 0-1.8.2-2.6.5L7.8 4.9C9.1 4.3 10.5 4 12 4z"})}),ds=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M7 10h10v2H7v-2zm0 4h10v2H7v-2z"})}),cs=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M11 5h2v6h6v2h-6v6h-2v-6H5v-2h6V5z"})}),ps=async t=>{var l;if((l=navigator.clipboard)!=null&&l.writeText){await navigator.clipboard.writeText(t);return}const n=document.createElement("textarea");n.value=t,n.setAttribute("readonly",""),n.style.position="fixed",n.style.left="-9999px",document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n)},ut=({children:t,copyConfig:n,initialPosition:l,layer:s="Default Layer",objectId:a,objectName:d,onObjectNameChange:o,onPositionChange:r,onVisibleChange:y,position:p,title:x,visible:c})=>{const[g,h]=u.useState(l??Gn),i=p??g,[b,j]=u.useState(!1),[k,C]=u.useState(!0),L=d??x??a??"Scene Object",[S,w]=u.useState(!1),[O,T]=u.useState(L),B=u.useRef(null);u.useEffect(()=>{S||T(L)},[L,S]),u.useEffect(()=>{const M=ye=>{if(!B.current)return;const N={x:Math.max(8,ye.clientX-B.current.x),y:Math.max(8,ye.clientY-B.current.y)};h(N),r==null||r(N)},I=()=>{B.current=null,document.body.classList.remove("select-none")};return window.addEventListener("pointermove",M),window.addEventListener("pointerup",I),()=>{window.removeEventListener("pointermove",M),window.removeEventListener("pointerup",I)}},[r]);const _=M=>{const I=M.currentTarget.getBoundingClientRect();B.current={x:M.clientX-I.left,y:M.clientY-I.top},document.body.classList.add("select-none"),M.currentTarget.setPointerCapture(M.pointerId)},he=async()=>{try{await ps(JSON.stringify(n,null,2)),j(!0),window.setTimeout(()=>j(!1),1200)}catch{j(!1)}},te=()=>{const M=O.trim();if(w(!1),!o||!M||M===L){T(L);return}o(M)},xe=()=>{T(L),w(!1)};return typeof document>"u"?null:pe.createPortal(e.jsx("div",{style:{...Hn,left:i.x,top:i.y},children:e.jsxs("div",{style:Kn,children:[e.jsxs("div",{style:Un,children:[e.jsxs("div",{style:Xn,children:[e.jsx("div",{onPointerDown:_,style:Jn,children:e.jsx(is,{})}),e.jsx("span",{style:qn,children:e.jsx(os,{})}),S?e.jsx("input",{autoFocus:!0,"aria-label":"Object Name",style:Yn,value:O,onBlur:te,onChange:M=>T(M.currentTarget.value),onKeyDown:M=>{M.key==="Enter"&&te(),M.key==="Escape"&&xe()}}):e.jsx("button",{type:"button",style:{...Zn,padding:0,border:0,background:"transparent",color:"inherit",cursor:o?"text":"default",textAlign:"left"},onDoubleClick:()=>{o&&w(!0)},children:L}),e.jsx("button",{type:"button","aria-label":k?"Fold Inspector":"Expand Inspector",title:k?"Fold Inspector":"Expand Inspector",style:ss,onClick:()=>C(M=>!M),children:k?e.jsx(ds,{}):e.jsx(cs,{})})]}),k?e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",style:ls,children:s}),e.jsxs("div",{style:es,children:[e.jsx("button",{type:"button",style:ts,onClick:he,children:b?"Copied Config":"Copy Config"}),e.jsx("button",{type:"button",style:ns(c),onClick:()=>y(!c),children:c?e.jsx(rs,{}):e.jsx(as,{})})]})]}):null]}),k?e.jsx("div",{style:Qn,children:t}):null]})}),document.body)},hs={clean:{fontWeight:400,strokeLayers:[],shadowLayers:[]},sticker:{color:"#101828",fontWeight:800,strokeLayers:[{color:"#ffffff",width:26,opacity:1},{color:"#101828",width:10,opacity:1}],shadowLayers:[]},"shadow-pop":{color:"#fff8df",fontWeight:800,strokeLayers:[{color:"#101828",width:12,opacity:1}],shadowLayers:[{color:"#0f172a",blur:0,offsetX:18,offsetY:18,opacity:.9},{color:"#0f172a",blur:10,offsetX:10,offsetY:10,opacity:.35}]},neon:{color:"#ffffff",fontWeight:700,strokeLayers:[{color:"#9be7ff",width:8,opacity:.9}],shadowLayers:[{color:"#38bdf8",blur:18,opacity:.8},{color:"#0ea5e9",blur:40,opacity:.7},{color:"#7c3aed",blur:70,opacity:.5}]},editorial:{color:"#f8fafc",fontWeight:500,strokeLayers:[{color:"#0f172a",width:4,opacity:.5}],shadowLayers:[]},"comic-burst":{color:"#fff06a",fontWeight:900,strokeLayers:[{color:"#ef4444",width:28,opacity:1},{color:"#111827",width:12,opacity:1}],shadowLayers:[{color:"#111827",blur:0,offsetX:12,offsetY:12,opacity:.65}]},"ice-outline":{color:"#eff8ff",fontWeight:800,strokeLayers:[{color:"#dbeafe",width:16,opacity:1},{color:"#1d4ed8",width:6,opacity:.95}],shadowLayers:[{color:"#38bdf8",blur:24,opacity:.32}]},"sunset-glow":{color:"#fff7ed",fontWeight:800,strokeLayers:[{color:"#fb7185",width:8,opacity:.95}],shadowLayers:[{color:"#fb7185",blur:18,opacity:.7},{color:"#f97316",blur:42,opacity:.55},{color:"#facc15",blur:70,opacity:.28}]},cutout:{color:"#fffaf0",fontWeight:800,strokeLayers:[{color:"#0f172a",width:6,opacity:.9}],shadowLayers:[{color:"#0f172a",blur:0,offsetX:8,offsetY:8,opacity:.95},{color:"#0f172a",blur:0,offsetX:16,offsetY:16,opacity:.4}]},"badge-arc":{color:"#ffffff",fontWeight:900,outlineEnabled:!0,shadowEnabled:!0,glowEnabled:!1,innerShadowEnabled:!1,bendEnabled:!0,bend:{preset:"arc",strength:100},strokeLayers:[{color:"#0b1020",width:24,opacity:1},{color:"#ffffff",width:8,opacity:1}],shadowLayers:[{color:"#020617",blur:8,offset:10,angle:-45,feather:.2,opacity:.65}]},"chrome-bulge":{color:"#f8fafc",fontWeight:900,outlineEnabled:!0,shadowEnabled:!1,glowEnabled:!0,innerShadowEnabled:!0,bendEnabled:!0,bend:{preset:"bulge",strength:100},glow:{color:"#dbeafe",style:"contoured",intensity:.55,range:.35,horizontalAngle:0,verticalAngle:0},innerShadow:{color:"#64748b",opacity:.9,offset:16,angle:-45,feather:.25},strokeLayers:[{color:"#0f172a",width:5,opacity:.9}],shadowLayers:[]},"retro-wave":{color:"#fffbeb",fontWeight:900,outlineEnabled:!0,shadowEnabled:!0,glowEnabled:!0,innerShadowEnabled:!1,bendEnabled:!0,bend:{preset:"wave",strength:100},glow:{color:"#fb7185",style:"outward",intensity:.65,range:.55,horizontalAngle:0,verticalAngle:0},strokeLayers:[{color:"#fb7185",width:12,opacity:1},{color:"#7c2d12",width:5,opacity:.9}],shadowLayers:[{color:"#7c2d12",blur:4,offset:14,angle:45,feather:.1,opacity:.75}]},"flag-pop":{color:"#ffffff",fontWeight:900,outlineEnabled:!0,shadowEnabled:!0,glowEnabled:!0,innerShadowEnabled:!1,bendEnabled:!0,bend:{preset:"flag",strength:100},glow:{color:"#38bdf8",style:"outward",intensity:.5,range:.45,horizontalAngle:.15,verticalAngle:-.1},strokeLayers:[{color:"#fde047",width:18,opacity:1},{color:"#111827",width:7,opacity:1}],shadowLayers:[{color:"#111827",blur:0,offset:14,angle:35,feather:0,opacity:.75}]},"fisheye-poster":{color:"#fff7ed",fontWeight:900,outlineEnabled:!0,shadowEnabled:!0,glowEnabled:!1,innerShadowEnabled:!0,bendEnabled:!0,bend:{preset:"fisheye",strength:100},innerShadow:{color:"#92400e",opacity:.55,offset:10,angle:-45,feather:.15},strokeLayers:[{color:"#020617",width:24,opacity:1},{color:"#f97316",width:8,opacity:.9}],shadowLayers:[{color:"#020617",blur:0,offset:12,angle:40,feather:0,opacity:.8}]}},xs=[{label:"Space Grotesk",value:'"Space Grotesk", sans-serif'},{label:"Bebas Neue",value:'"Bebas Neue", sans-serif'},{label:"DM Serif Display",value:'"DM Serif Display", serif'},{label:"Caveat",value:'"Caveat", cursive'}],ys=["clean","sticker","shadow-pop","neon","editorial","comic-burst","ice-outline","sunset-glow","cutout","badge-arc","chrome-bulge","retro-wave","flag-pop","fisheye-poster"],us={clean:"NONE",sticker:"sticker","shadow-pop":"shadow-pop",neon:"neon",editorial:"editorial","comic-burst":"comic-burst","ice-outline":"ice-outline","sunset-glow":"sunset-glow",cutout:"cutout","badge-arc":"badge-arc","chrome-bulge":"chrome-bulge","retro-wave":"retro-wave","flag-pop":"flag-pop","fisheye-poster":"fisheye-poster"},gs=()=>({color:"#000000",opacity:1,width:30}),zt=()=>({color:"#000000",opacity:1,offset:10,angle:-45,feather:0,blur:0,offsetX:7.071,offsetY:-7.071}),hn=()=>({color:"#ffffff",style:"outward",intensity:.5,range:.5,horizontalAngle:0,verticalAngle:0}),xn=()=>({preset:"arc",strength:100}),bs=[{label:"Arc",value:"arc"},{label:"Arc Lower",value:"arc-lower"},{label:"Arc Upper",value:"arc-upper"},{label:"Arch",value:"arch"},{label:"Bulge",value:"bulge"},{label:"Shell Lower",value:"shell-lower"},{label:"Shell Upper",value:"shell-upper"},{label:"Flag",value:"flag"},{label:"Wave",value:"wave"},{label:"Fish",value:"fish"},{label:"Rise",value:"rise"},{label:"Fisheye",value:"fisheye"},{label:"Inflate",value:"inflate"},{label:"Squeeze",value:"squeeze"},{label:"Twist",value:"twist"}],fs=(t,n)=>{const l=hs[n],s=l.strokeLayers??t.style.strokeLayers,a=l.shadowLayers??t.style.shadowLayers;return{...t,textArtPreset:n,style:{...t.style,...l,fontWeight:t.style.bold?"bold":l.fontWeight??t.style.fontWeight,background:{...t.style.background,...l.background},outlineEnabled:l.strokeLayers?l.strokeLayers.length>0:t.style.outlineEnabled,shadowEnabled:l.shadowLayers?l.shadowLayers.length>0:t.style.shadowEnabled,strokeLayers:s,shadowLayers:a}}},yn=(t,n)=>({enabled:(n==null?void 0:n.enabled)??t.enabled,showGuides:(n==null?void 0:n.showTransformGuides)??t.showTransformGuides,coordinateSpace:t.coordinateSpace,canvasSize:t.canvasSize,position:(n==null?void 0:n.position)??t.position,size:(n==null?void 0:n.size)??t.size,rotation:(n==null?void 0:n.rotation)??t.rotation,scale2D:n==null?void 0:n.scale2D,referencePixelsPerUnit:n==null?void 0:n.referencePixelsPerUnit,pivot:(n==null?void 0:n.pivot)??t.pivot,renderOrder:(n==null?void 0:n.renderOrder)??t.renderOrder,overlay:(n==null?void 0:n.overlay)??t.overlay,visible:(n==null?void 0:n.visible)??t.visible}),js=(t,n)=>({...n,enabled:t.enabled,showTransformGuides:t.showGuides,coordinateSpace:t.coordinateSpace,canvasSize:t.canvasSize,position:t.position,size:t.size,rotation:t.rotation,pivot:t.pivot,renderOrder:t.renderOrder,overlay:t.overlay,visible:t.visible}),un=(t,n)=>({...$.DEFAULT_SCREEN_TRANSFORM_2D,...n,enabled:t.enabled,showTransformGuides:t.showGuides,position:t.position,size:t.size,rotation:t.rotation,scale2D:t.scale2D??(n==null?void 0:n.scale2D)??$.DEFAULT_SCREEN_TRANSFORM_2D.scale2D,referencePixelsPerUnit:t.referencePixelsPerUnit??(n==null?void 0:n.referencePixelsPerUnit)??$.DEFAULT_SCREEN_TRANSFORM_2D.referencePixelsPerUnit,pivot:t.pivot,renderOrder:t.renderOrder,overlay:t.overlay,visible:t.visible}),ms={display:"flex",width:18,height:18,alignItems:"center",justifyContent:"center",borderRadius:6,background:"rgba(255,255,255,0.08)",border:"1px solid rgba(255,255,255,0.08)",color:"#e2e8f0",flex:"0 0 auto"},Ss={borderRadius:12,border:"1px solid rgba(255,255,255,0.08)",background:"rgba(255,255,255,0.03)",overflow:"hidden"},ws={display:"flex",alignItems:"center",gap:7,padding:"6px 7px"},ks={display:"flex",alignItems:"center",gap:6,fontSize:11,fontWeight:500,flex:"1 1 auto",minWidth:0},vs={width:28,height:16,borderRadius:999,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(255,255,255,0.08)",padding:2,display:"flex",alignItems:"center",cursor:"pointer",flex:"0 0 auto"},Cs=t=>({width:10,height:10,borderRadius:999,background:t?"#f8fafc":"rgba(148,163,184,0.7)",transform:t?"translateX(12px)":"translateX(0)",transition:"transform 140ms ease, background 140ms ease"}),Rs={display:"grid",gap:7,padding:"0 7px 7px"},me={display:"grid",gridTemplateColumns:"repeat(2, minmax(0, 1fr))",gap:6},R={display:"flex",flexDirection:"column",gap:4},q={...R,gridColumn:"1 / -1"},Es={gridColumn:"1 / -1",display:"grid",gap:6,padding:"8px 8px 2px 12px",marginTop:-2,borderLeft:"1px solid rgba(255,255,255,0.10)"},Is={display:"flex",alignItems:"center",justifyContent:"space-between",gap:6,width:"100%",padding:0,border:0,background:"transparent",fontSize:9,color:"rgba(226,232,240,0.64)",textTransform:"uppercase",cursor:"pointer"},zs={display:"flex",alignItems:"center",gap:6,minWidth:0},Ts={width:16,height:16,borderRadius:999,display:"inline-flex",alignItems:"center",justifyContent:"center",background:"rgba(255,255,255,0.06)",color:"rgba(226,232,240,0.72)",flex:"0 0 auto"},m={fontSize:9,color:"rgba(226,232,240,0.72)"},Wt={width:"100%",height:24,borderRadius:7,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(15,23,42,0.68)",color:"#f8fafc",fontSize:10.5,outline:"none",padding:"0 7px",boxSizing:"border-box"},Ms={...Wt,height:72,padding:"7px",resize:"vertical",lineHeight:1.35,fontFamily:"inherit"},je={...Wt,padding:2,cursor:"pointer"},de={...Wt,appearance:"none"},Ws={opacity:.45,cursor:"not-allowed"},ce={display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,minHeight:24},it={width:16,height:16},Fs={display:"grid",gridTemplateColumns:"1.25fr repeat(4, 1fr)",gap:4,width:"100%"},He=t=>({height:26,borderRadius:8,border:t?"1px solid rgba(125,211,252,0.72)":"1px solid rgba(255,255,255,0.10)",background:t?"rgba(56,189,248,0.20)":"rgba(255,255,255,0.05)",color:t?"#f0f9ff":"#e2e8f0",fontSize:10.5,fontWeight:700,cursor:"pointer",padding:"0 6px"}),yt={display:"inline-flex",alignItems:"center",justifyContent:"center",width:24,height:24,borderRadius:8,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(255,255,255,0.05)",color:"#e2e8f0",cursor:"pointer",padding:0,flex:"0 0 auto"};function Ls({label:t,icon:n,open:l,onToggle:s,children:a}){return e.jsxs("div",{style:Ss,children:[e.jsxs("div",{style:ws,children:[e.jsx("button",{type:"button",onClick:s,style:vs,children:e.jsx("div",{style:Cs(l)})}),e.jsxs("div",{style:ks,children:[e.jsx("span",{style:ms,children:n}),e.jsx("span",{children:t})]})]}),l?e.jsx("div",{style:Rs,children:a}):null]})}const Bt=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M4 6V4h16v2h-7v14h-2V6H4z"})}),Pt=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M12 3a9 9 0 1 0 0 18h1.2a2.8 2.8 0 0 0 0-5.6h-.4a1.8 1.8 0 0 1 0-3.6H16a5 5 0 0 0 0-10h-4zm-4 7a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm1 5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm6-7a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z"})}),Ns=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M4 4h6v2H7.4l3.3 3.3-1.4 1.4L6 7.4V10H4V4zm10 0h6v6h-2V7.4l-3.3 3.3-1.4-1.4L16.6 6H14V4zM9.3 13.3l1.4 1.4L7.4 18H10v2H4v-6h2v2.6l3.3-3.3zm5.4 0 3.3 3.3V14h2v6h-6v-2h2.6l-3.3-3.3 1.4-1.4z"})}),Os=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M7 5h10v2H9v6h8v2H7V5zm4 8h6v6h-6v-2h4v-2h-4v-2z"})});function $s({value:t,onChange:n}){return e.jsxs("div",{style:me,children:[e.jsxs("label",{style:q,children:[e.jsx("span",{style:m,children:"Text"}),e.jsx("textarea",{style:Ms,value:t.content.text,onChange:l=>n(s=>({...s,content:{...s.content,text:l.target.value}}))})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Text Art"}),e.jsx("select",{style:de,value:t.textArtPreset,onChange:l=>n(s=>fs(s,l.target.value)),children:ys.map(l=>e.jsx("option",{value:l,children:us[l]},l))})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Font"}),e.jsx("select",{style:de,value:t.style.fontFamily,onChange:l=>n(s=>({...s,style:{...s.style,fontFamily:l.target.value}})),children:xs.map(l=>e.jsx("option",{value:l.value,children:l.label},l.value))})]})]})}const As={width:"100%",boxSizing:"border-box",border:"1px solid rgba(148,163,184,0.22)",borderRadius:8,background:"rgba(15,23,42,0.8)",color:"#e2e8f0",padding:"7px 9px"},Ds=t=>/^-?\d*(\.\d*)?$/.test(t),F=({value:t,onChange:n,step:l=1,min:s,max:a,disabled:d=!1})=>{const[o,r]=u.useState(String(t));u.useEffect(()=>r(String(t)),[t]);const y=p=>Math.min(typeof a=="number"?a:1/0,Math.max(typeof s=="number"?s:-1/0,p));return e.jsx("input",{type:"text",inputMode:"decimal",pattern:"-?[0-9]*[.,]?[0-9]*",style:{...As,...d?{cursor:"not-allowed",opacity:.45}:{}},value:o,disabled:d,onChange:p=>{if(d)return;const x=p.target.value;if(!Ds(x)||(r(x),["","-",".","-."].includes(x)))return;const c=Number(x);Number.isNaN(c)||n(y(c))},onBlur:()=>{if(d)return;const p=Number(o);if(Number.isNaN(p))return r(String(t));const x=y(p);r(String(x)),n(x)},onKeyDown:p=>{if(d||p.key!=="ArrowUp"&&p.key!=="ArrowDown")return;p.preventDefault();const x=p.shiftKey?l*10:p.altKey?l/10:l,c=p.key==="ArrowUp"?t+x:t-x;n(y(Number.isInteger(c)?c:Number(c.toFixed(6))))}})};function Bs({background:t,onChange:n}){return e.jsxs(e.Fragment,{children:[e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Fill Mode"}),e.jsxs("select",{style:de,value:t.fillMode,onChange:l=>n(s=>({...s,style:{...s.style,background:{...s.style.background,fillMode:l.target.value}}})),children:[e.jsx("option",{value:"solid",children:"solid"}),e.jsx("option",{value:"gradient",children:"gradient"})]})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Fill Area"}),e.jsxs("select",{style:de,value:t.fit,onChange:l=>n(s=>({...s,style:{...s.style,background:{...s.style.background,fit:l.target.value}}})),children:[e.jsx("option",{value:"text",children:"text"}),e.jsx("option",{value:"full",children:"full"})]})]}),t.fillMode==="solid"?e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Background Color"}),e.jsx("input",{style:je,type:"color",value:t.color,onChange:l=>n(s=>({...s,style:{...s.style,background:{...s.style.background,color:l.target.value}}}))})]}):e.jsx("div",{style:{gridColumn:"1 / -1",display:"grid",gap:6},children:t.gradientStops.slice(0,3).map((l,s)=>e.jsxs("label",{style:R,children:[e.jsxs("span",{style:m,children:["Gradient ",s+1]}),e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"1fr 60px",gap:4},children:[e.jsx("input",{style:je,type:"color",value:l.color,onChange:a=>n(d=>{const o=[...d.style.background.gradientStops];return o[s]={...o[s],color:a.target.value},{...d,style:{...d.style,background:{...d.style.background,gradientStops:o}}}})}),e.jsx(F,{value:l.position,min:0,max:1,step:.05,onChange:a=>n(d=>{const o=[...d.style.background.gradientStops];return o[s]={...o[s],position:a},{...d,style:{...d.style,background:{...d.style.background,gradientStops:o}}}})})]})]},s))}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Background Opacity"}),e.jsx(F,{value:t.opacity,min:0,max:1,step:.05,onChange:l=>n(s=>({...s,style:{...s.style,background:{...s.style.background,opacity:l}}}))})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Corner Radius"}),e.jsx(F,{value:t.borderRadius,min:0,max:200,step:2,onChange:l=>n(s=>({...s,style:{...s.style,background:{...s.style.background,borderRadius:l}}}))})]})]})}function Ps({background:t,onChange:n}){return e.jsxs(e.Fragment,{children:[e.jsx("label",{style:q,children:e.jsxs("div",{style:ce,children:[e.jsx("span",{style:m,children:"Auto Width / Height"}),e.jsx("input",{type:"checkbox",style:it,checked:t.autoSize,onChange:l=>n(s=>({...s,style:{...s.style,background:{...s.style.background,autoSize:l.target.checked}}}))})]})}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Width"}),e.jsx(F,{value:t.width,min:32,max:1024,step:8,disabled:t.autoSize,onChange:l=>n(s=>({...s,style:{...s.style,background:{...s.style.background,width:l}}}))})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Height"}),e.jsx(F,{value:t.height,min:32,max:1024,step:8,disabled:t.autoSize,onChange:l=>n(s=>({...s,style:{...s.style,background:{...s.style.background,height:l}}}))})]})]})}function Vs({background:t,onChange:n}){return e.jsxs(e.Fragment,{children:[e.jsx("label",{style:q,children:e.jsxs("div",{style:ce,children:[e.jsx("span",{style:m,children:"Background Stroke"}),e.jsx("input",{type:"checkbox",style:it,checked:t.borderEnabled,onChange:l=>n(s=>({...s,style:{...s.style,background:{...s.style.background,borderEnabled:l.target.checked,borderColor:l.target.checked&&s.style.background.borderColor==="transparent"?"#ffffff":s.style.background.borderColor,borderWidth:l.target.checked?Math.max(s.style.background.borderWidth,2):s.style.background.borderWidth}}}))})]})}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Stroke Color"}),e.jsx("input",{style:{...je,...t.borderEnabled?{}:Ws},type:"color",value:t.borderColor,disabled:!t.borderEnabled,onChange:l=>n(s=>({...s,style:{...s.style,background:{...s.style.background,borderColor:l.target.value}}}))})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Stroke Width"}),e.jsx(F,{value:t.borderWidth,min:0,max:64,step:1,disabled:!t.borderEnabled,onChange:l=>n(s=>({...s,style:{...s.style,background:{...s.style.background,borderWidth:l}}}))})]})]})}const gn={gridColumn:"1 / -1",display:"grid",gap:6,padding:"8px",borderRadius:10,border:"1px solid rgba(255,255,255,0.08)",background:"rgba(255,255,255,0.03)"};function ot({checked:t,label:n,onChange:l}){return e.jsx("label",{style:q,children:e.jsxs("div",{style:ce,children:[e.jsx("span",{style:m,children:n}),e.jsx("input",{type:"checkbox",style:it,checked:t,onChange:s=>l(s.target.checked)})]})})}function Be({children:t,label:n,open:l,setOpen:s}){return e.jsxs("div",{style:Es,children:[e.jsxs("button",{type:"button",style:Is,onClick:()=>s(a=>!a),children:[e.jsxs("span",{style:zs,children:[e.jsx(Os,{}),e.jsx("span",{children:n})]}),e.jsx("span",{style:Ts,children:l?"−":"+"})]}),l?t:null]})}function Hs({value:t,onChange:n,open:l,setOpen:s}){const a=t.style.background;return e.jsxs(e.Fragment,{children:[e.jsx("label",{style:q,children:e.jsxs("div",{style:ce,children:[e.jsx("span",{style:m,children:"Background Enabled"}),e.jsx("input",{type:"checkbox",style:it,checked:a.enabled,onChange:d=>n(o=>({...o,style:{...o.style,background:{...o.style.background,enabled:d.target.checked}}}))})]})}),a.enabled?e.jsx(Be,{label:"Background Settings",open:l,setOpen:s,children:e.jsxs(e.Fragment,{children:[e.jsx(Bs,{background:a,onChange:n}),e.jsx(Vs,{background:a,onChange:n}),e.jsx(Ps,{background:a,onChange:n})]})}):null]})}function Ks({bend:t,open:n,onChange:l,setOpen:s,value:a}){const d=o=>l(r=>({...r,style:{...r.style,bend:{...r.style.bend??t,...o}}}));return e.jsxs(e.Fragment,{children:[e.jsx(ot,{label:"Bend",checked:a.style.bendEnabled===!0,onChange:o=>l(r=>({...r,style:{...r.style,bendEnabled:o,bend:r.style.bend??xn()}}))}),a.style.bendEnabled===!0?e.jsx(Be,{label:"Bend",open:n,setOpen:s,children:e.jsxs("div",{style:me,children:[e.jsxs("label",{style:q,children:[e.jsx("span",{style:m,children:"Bend Preset"}),e.jsx("select",{style:de,value:t.preset,onChange:o=>d({preset:o.target.value}),children:bs.map(o=>e.jsx("option",{value:o.value,children:o.label},o.value))})]}),e.jsxs("label",{style:q,children:[e.jsx("span",{style:m,children:"Bend Strength"}),e.jsx(F,{value:t.strength,min:-100,max:100,step:1,onChange:o=>d({strength:o})})]})]})}):null]})}function _s({glow:t,open:n,onChange:l,setOpen:s,value:a}){const d=o=>l(r=>({...r,style:{...r.style,glow:{...r.style.glow??t,...o}}}));return e.jsxs(e.Fragment,{children:[e.jsx(ot,{label:"Glow",checked:a.style.glowEnabled===!0,onChange:o=>l(r=>({...r,style:{...r.style,glowEnabled:o,glow:r.style.glow??hn()}}))}),a.style.glowEnabled===!0?e.jsx(Be,{label:"Glow",open:n,setOpen:s,children:e.jsxs("div",{style:me,children:[e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Color"}),e.jsx("input",{style:je,type:"color",value:t.color,onChange:o=>d({color:o.target.value})})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Style"}),e.jsxs("select",{style:de,value:t.style,onChange:o=>d({style:o.target.value}),children:[e.jsx("option",{value:"outward",children:"Outward"}),e.jsx("option",{value:"contoured",children:"Contoured"})]})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Intensity"}),e.jsx(F,{value:t.intensity??.5,min:0,max:1,step:.05,onChange:o=>d({intensity:o})})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Range"}),e.jsx(F,{value:t.range??.5,min:0,max:1,step:.05,onChange:o=>d({range:o})})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Horizontal Angle"}),e.jsx(F,{value:t.horizontalAngle??0,min:-.5,max:.5,step:.05,onChange:o=>d({horizontalAngle:o})})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Vertical Angle"}),e.jsx(F,{value:t.verticalAngle??0,min:-.5,max:.5,step:.05,onChange:o=>d({verticalAngle:o})})]})]})}):null]})}const Gs={color:"#000000",opacity:1,offset:10,angle:-45,feather:0};function Us({innerShadow:t,open:n,onChange:l,setOpen:s,value:a}){const d=o=>l(r=>({...r,style:{...r.style,innerShadow:{...r.style.innerShadow??t,...o}}}));return e.jsxs(e.Fragment,{children:[e.jsx(ot,{label:"Inner Shadow",checked:a.style.innerShadowEnabled===!0,onChange:o=>l(r=>({...r,style:{...r.style,innerShadowEnabled:o,innerShadow:r.style.innerShadow??Gs}}))}),a.style.innerShadowEnabled===!0?e.jsx(Be,{label:"Inner Shadow",open:n,setOpen:s,children:e.jsxs("div",{style:me,children:[e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Shadow Color"}),e.jsx("input",{style:je,type:"color",value:t.color,onChange:o=>d({color:o.target.value})})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Shadow Opacity"}),e.jsx(F,{value:t.opacity??1,min:0,max:1,step:.05,onChange:o=>d({opacity:o})})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Shadow Offset"}),e.jsx(F,{value:t.offset??10,min:0,max:100,step:1,onChange:o=>d({offset:o})})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Shadow Angle"}),e.jsx(F,{value:t.angle??-45,min:-180,max:180,step:1,onChange:o=>d({angle:o})})]}),e.jsxs("label",{style:q,children:[e.jsx("span",{style:m,children:"Shadow Feather"}),e.jsx(F,{value:t.feather??0,min:0,max:1,step:.05,onChange:o=>d({feather:o})})]})]})}):null]})}function Xs({layers:t,open:n,onChange:l,setOpen:s,value:a}){const d=(o,r)=>l(y=>{const p=[...y.style.strokeLayers??[]];return p[o]={...p[o],...r},{...y,style:{...y.style,strokeLayers:p}}});return e.jsxs(e.Fragment,{children:[e.jsx(ot,{label:"Outline",checked:a.style.outlineEnabled!==!1,onChange:o=>l(r=>({...r,style:{...r.style,outlineEnabled:o}}))}),a.style.outlineEnabled!==!1?e.jsx(Be,{label:"Outline Editor",open:n,setOpen:s,children:e.jsxs(e.Fragment,{children:[e.jsxs("div",{style:{...ce,gridColumn:"1 / -1"},children:[e.jsxs("span",{style:m,children:["Layers: ",t.length]}),e.jsx("button",{type:"button",style:yt,onClick:()=>l(o=>({...o,style:{...o.style,strokeLayers:[...o.style.strokeLayers??[],gs()]}})),children:"+"})]}),t.length>0?t.map((o,r)=>e.jsxs("div",{style:gn,children:[e.jsxs("div",{style:ce,children:[e.jsxs("span",{style:m,children:["Outline ",r+1]}),e.jsx("button",{type:"button",style:yt,onClick:()=>l(y=>({...y,style:{...y.style,strokeLayers:(y.style.strokeLayers??[]).filter((p,x)=>x!==r)}})),children:"×"})]}),e.jsxs("div",{style:me,children:[e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Outline Color"}),e.jsx("input",{style:je,type:"color",value:o.color,onChange:y=>d(r,{color:y.target.value})})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Outline Opacity"}),e.jsx(F,{value:o.opacity??1,min:0,max:1,step:.05,onChange:y=>d(r,{opacity:y})})]}),e.jsxs("label",{style:q,children:[e.jsx("span",{style:m,children:"Outline Size"}),e.jsx(F,{value:o.width,min:0,max:100,step:1,onChange:y=>d(r,{width:y})})]})]})]},r)):e.jsx("div",{style:{...m,gridColumn:"1 / -1"},children:"No outlines. Use `+` to add one."})]})}):null]})}function Zs({layers:t,open:n,onChange:l,setOpen:s,value:a}){const d=(o,r)=>l(y=>{const p=[...y.style.shadowLayers??[]];return p[o]={...p[o],...r},{...y,style:{...y.style,shadowLayers:p}}});return e.jsxs(e.Fragment,{children:[e.jsx(ot,{label:"Outer Shadow",checked:a.style.shadowEnabled!==!1,onChange:o=>l(r=>{var y;return{...r,style:{...r.style,shadowEnabled:o,shadowLayers:o&&(((y=r.style.shadowLayers)==null?void 0:y.length)??0)===0?[zt()]:r.style.shadowLayers}}})}),a.style.shadowEnabled!==!1?e.jsx(Be,{label:"Shadow Editor",open:n,setOpen:s,children:e.jsxs(e.Fragment,{children:[e.jsxs("div",{style:{...ce,gridColumn:"1 / -1"},children:[e.jsxs("span",{style:m,children:["Layers: ",t.length]}),e.jsx("button",{type:"button",style:yt,onClick:()=>l(o=>({...o,style:{...o.style,shadowLayers:[...o.style.shadowLayers??[],zt()]}})),children:"+"})]}),t.length>0?t.map((o,r)=>e.jsxs("div",{style:gn,children:[e.jsxs("div",{style:ce,children:[e.jsxs("span",{style:m,children:["Shadow ",r+1]}),e.jsx("button",{type:"button",style:yt,onClick:()=>l(y=>({...y,style:{...y.style,shadowLayers:(y.style.shadowLayers??[]).filter((p,x)=>x!==r)}})),children:"×"})]}),e.jsxs("div",{style:me,children:[e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Shadow Color"}),e.jsx("input",{style:je,type:"color",value:o.color,onChange:y=>d(r,{color:y.target.value})})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Shadow Opacity"}),e.jsx(F,{value:o.opacity??1,min:0,max:1,step:.05,onChange:y=>d(r,{opacity:y})})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Shadow Offset"}),e.jsx(F,{value:o.offset??10,min:0,max:100,step:1,onChange:y=>d(r,{offset:y})})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Shadow Angle"}),e.jsx(F,{value:o.angle??-45,min:-180,max:180,step:1,onChange:y=>d(r,{angle:y})})]}),e.jsxs("label",{style:q,children:[e.jsx("span",{style:m,children:"Shadow Feather"}),e.jsx(F,{value:o.feather??0,min:0,max:1,step:.05,onChange:y=>d(r,{feather:y})})]})]})]},r)):e.jsx("div",{style:{...m,gridColumn:"1 / -1"},children:"No outer shadows. Use `+` to add one."})]})}):null]})}function Ys({backgroundSettingsOpen:t,bend:n,bendSettingsOpen:l,glow:s,glowSettingsOpen:a,innerShadow:d,innerShadowSettingsOpen:o,onChange:r,outlineLayers:y,outlineSettingsOpen:p,setBackgroundSettingsOpen:x,setBendSettingsOpen:c,setGlowSettingsOpen:g,setInnerShadowSettingsOpen:h,setOutlineSettingsOpen:i,setShadowSettingsOpen:b,shadowLayers:j,shadowSettingsOpen:k,value:C}){return e.jsxs("div",{style:me,children:[e.jsx(Xs,{value:C,onChange:r,layers:y,open:p,setOpen:i}),e.jsx(Zs,{value:C,onChange:r,layers:j,open:k,setOpen:b}),e.jsx(Us,{value:C,onChange:r,innerShadow:d,open:a,setOpen:g}),e.jsx(_s,{value:C,onChange:r,glow:s,open:o,setOpen:h}),e.jsx(Ks,{value:C,onChange:r,bend:n,open:l,setOpen:c}),e.jsx(Hs,{value:C,onChange:r,open:t,setOpen:x})]})}function qs({value:t,onChange:n}){const l=t.style.bold===!0||t.style.fontStyle==="italic"||t.style.underline===!0||t.style.strikethrough===!0;return e.jsxs("div",{style:me,children:[e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Text Color"}),e.jsx("input",{style:je,type:"color",value:t.style.color,onChange:s=>n(a=>({...a,style:{...a.style,color:s.target.value}}))})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Font Size"}),e.jsx(F,{value:t.style.fontSize,min:16,max:180,step:4,onChange:s=>n(a=>({...a,layout:{...a.layout,minFontSize:Math.min(a.layout.minFontSize??s,s)},style:{...a.style,fontSize:s}}))})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Letter Spacing"}),e.jsx(F,{value:t.style.letterSpacing,min:0,max:1,step:.05,onChange:s=>n(a=>({...a,style:{...a.style,letterSpacing:s}}))})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Line Spacing"}),e.jsx(F,{value:t.style.lineSpacing,min:0,max:1,step:.05,onChange:s=>n(a=>({...a,style:{...a.style,lineSpacing:s}}))})]}),e.jsxs("div",{style:q,children:[e.jsx("span",{style:m,children:"Text Style"}),e.jsxs("div",{style:Fs,children:[e.jsx("button",{type:"button",style:He(!l),onClick:()=>n(s=>({...s,style:{...s.style,bold:!1,fontWeight:s.style.fontWeight==="bold"?"normal":s.style.fontWeight,fontStyle:"normal",underline:!1,strikethrough:!1}})),children:"None"}),e.jsx("button",{type:"button",style:He(t.style.bold===!0),onClick:()=>n(s=>({...s,style:{...s.style,bold:s.style.bold!==!0,fontWeight:s.style.bold!==!0?"bold":400}})),children:"B"}),e.jsx("button",{type:"button",style:He(t.style.fontStyle==="italic"),onClick:()=>n(s=>({...s,style:{...s.style,fontStyle:s.style.fontStyle==="italic"?"normal":"italic"}})),children:"I"}),e.jsx("button",{type:"button",style:He(t.style.underline===!0),onClick:()=>n(s=>({...s,style:{...s.style,underline:s.style.underline!==!0}})),children:"U"}),e.jsx("button",{type:"button",style:He(t.style.strikethrough===!0),onClick:()=>n(s=>({...s,style:{...s.style,strikethrough:s.style.strikethrough!==!0}})),children:"S"})]})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Horizontal Alignment"}),e.jsxs("select",{style:de,value:t.layout.textAlign??"center",onChange:s=>n(a=>({...a,layout:{...a.layout,textAlign:s.target.value}})),children:[e.jsx("option",{value:"left",children:"left"}),e.jsx("option",{value:"center",children:"center"}),e.jsx("option",{value:"right",children:"right"})]})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Vertical Alignment"}),e.jsxs("select",{style:de,value:t.layout.verticalAlign??"center",onChange:s=>n(a=>({...a,layout:{...a.layout,verticalAlign:s.target.value}})),children:[e.jsx("option",{value:"top",children:"top"}),e.jsx("option",{value:"center",children:"center"}),e.jsx("option",{value:"bottom",children:"bottom"})]})]}),e.jsxs("label",{style:R,children:[e.jsx("span",{style:m,children:"Overflow"}),e.jsxs("select",{style:de,value:t.layout.overflow,onChange:s=>n(a=>({...a,layout:{...a.layout,overflow:s.target.value}})),children:[e.jsx("option",{value:"clip",children:"Clip text"}),e.jsx("option",{value:"ellipsis",children:"Show ellipsis"}),e.jsx("option",{value:"clamp",children:"Clamp"}),e.jsx("option",{value:"shrink",children:"Shrink"})]})]}),e.jsx("label",{style:q,children:e.jsxs("div",{style:ce,children:[e.jsx("span",{style:m,children:"Resize To Fit"}),e.jsx("input",{type:"checkbox",style:it,checked:t.layout.resizeToFit===!0,onChange:s=>n(a=>({...a,layout:{...a.layout,resizeToFit:s.target.checked}}))})]})})]})}const Js={display:"grid",gridTemplateColumns:"repeat(2, minmax(0, 1fr))",gap:6},le={display:"flex",flexDirection:"column",gap:4},bt={...le,gridColumn:"1 / -1"},G={fontSize:9,color:"rgba(226,232,240,0.72)"},Qs={width:"100%",height:24,borderRadius:7,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(15,23,42,0.68)",color:"#f8fafc",fontSize:10.5,outline:"none",padding:"0 7px",boxSizing:"border-box"},el={...Qs,fontVariantNumeric:"tabular-nums"},tl={display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,minHeight:24},nl={width:16,height:16},sl=t=>/^-?\d*(\.\d*)?$/.test(t),Q=({value:t,onChange:n,step:l=1,min:s,max:a,disabled:d=!1})=>{const[o,r]=u.useState(String(t));u.useEffect(()=>r(String(t)),[t]);const y=p=>{let x=p;return typeof s=="number"&&(x=Math.max(s,x)),typeof a=="number"&&(x=Math.min(a,x)),x};return e.jsx("input",{type:"text",inputMode:"decimal",pattern:"-?[0-9]*[.,]?[0-9]*",style:el,value:o,disabled:d,onChange:p=>{const x=p.target.value;if(!sl(x)||(r(x),x===""||x==="-"||x==="."||x==="-."))return;const c=Number(x);Number.isNaN(c)||n(y(c))},onBlur:()=>{const p=Number(o);if(Number.isNaN(p)){r(String(t));return}const x=y(p);r(String(x)),n(x)},onKeyDown:p=>{if(p.key!=="ArrowUp"&&p.key!=="ArrowDown")return;p.preventDefault();const x=p.shiftKey?l*10:p.altKey?l/10:l,c=p.key==="ArrowUp"?t+x:t-x;n(y(Number.isInteger(c)?c:Number(c.toFixed(6))))}})},Ft=({value:t,onChange:n,guideLabel:l,showRenderOrder:s=!0})=>{var a,d;return e.jsxs("div",{style:Js,children:[e.jsxs("label",{style:le,children:[e.jsx("span",{style:G,children:"Position X"}),e.jsx(Q,{value:t.position.x,min:-4096,max:4096,step:1,onChange:o=>n({...t,position:{...t.position,x:o}})})]}),e.jsxs("label",{style:le,children:[e.jsx("span",{style:G,children:"Position Y"}),e.jsx(Q,{value:t.position.y,min:-4096,max:4096,step:1,onChange:o=>n({...t,position:{...t.position,y:o}})})]}),e.jsxs("label",{style:le,children:[e.jsx("span",{style:G,children:"Size X"}),e.jsx(Q,{value:t.size.width,min:0,max:8192,step:1,onChange:o=>n({...t,size:{...t.size,width:o}})})]}),e.jsxs("label",{style:le,children:[e.jsx("span",{style:G,children:"Size Y"}),e.jsx(Q,{value:t.size.height,min:0,max:8192,step:1,onChange:o=>n({...t,size:{...t.size,height:o}})})]}),e.jsxs("label",{style:bt,children:[e.jsx("span",{style:G,children:"Rotation"}),e.jsx(Q,{value:t.rotation,min:-360,max:360,step:1,onChange:o=>n({...t,rotation:o})})]}),e.jsxs("label",{style:le,children:[e.jsx("span",{style:G,children:"Scale 2D X"}),e.jsx(Q,{value:((a=t.scale2D)==null?void 0:a.x)??1,min:-10,max:10,step:.01,onChange:o=>{var r;return n({...t,scale2D:{x:o,y:((r=t.scale2D)==null?void 0:r.y)??1}})}})]}),e.jsxs("label",{style:le,children:[e.jsx("span",{style:G,children:"Scale 2D Y"}),e.jsx(Q,{value:((d=t.scale2D)==null?void 0:d.y)??1,min:-10,max:10,step:.01,onChange:o=>{var r;return n({...t,scale2D:{x:((r=t.scale2D)==null?void 0:r.x)??1,y:o}})}})]}),e.jsxs("label",{style:bt,children:[e.jsx("span",{style:G,children:"Reference Pixels Per Unit"}),e.jsx(Q,{value:t.referencePixelsPerUnit??32,min:1,max:512,step:1,onChange:o=>n({...t,referencePixelsPerUnit:o})})]}),s?e.jsxs("label",{style:le,children:[e.jsx("span",{style:G,children:"Render Order"}),e.jsx(Q,{value:t.renderOrder,min:-9999,max:9999,step:1,onChange:o=>n({...t,renderOrder:o})})]}):null,e.jsxs("label",{style:le,children:[e.jsx("span",{style:G,children:"Pivot X"}),e.jsx(Q,{value:t.pivot[0],min:0,max:1,step:.01,onChange:o=>n({...t,pivot:[o,t.pivot[1]]})})]}),e.jsxs("label",{style:le,children:[e.jsx("span",{style:G,children:"Pivot Y"}),e.jsx(Q,{value:t.pivot[1],min:0,max:1,step:.01,onChange:o=>n({...t,pivot:[t.pivot[0],o]})})]}),e.jsx("label",{style:bt,children:e.jsxs("div",{style:tl,children:[e.jsx("span",{style:G,children:l}),e.jsx("input",{type:"checkbox",style:nl,checked:t.showGuides,onChange:o=>n({...t,showGuides:o.target.checked})})]})})]})};function ll({value:t,onChange:n}){return e.jsx(Ft,{value:yn(t.transformation,t.screenTransform),guideLabel:"Transform Control On",showRenderOrder:!1,onChange:l=>n(s=>({...s,transformation:js(l,s.transformation),screenTransform:un(l,s.screenTransform)}))})}const il=({value:t,onChange:n,copyLabel:l,inspector:s})=>{var ye;const[a,d]=u.useState(()=>$.createSceneObject({name:l??"Screen Text",renderGroupId:We.DEFAULT_RENDER_GROUP_IDS.screen2d})),[o]=u.useState(()=>{const N=a.id,f=$.createDefaultComponent("ScreenTransform",N),v=$.createDefaultComponent("ScreenText",N),A=$.createDefaultComponent("Material",N),z=$.createDefaultComponent("Texture",N);return{screenTransform:f,screenText:v,material:A,texture:z}}),[r,y]=u.useState(!0),[p,x]=u.useState(!0),[c,g]=u.useState(!0),[h,i]=u.useState(!0),[b,j]=u.useState(!0),[k,C]=u.useState(!0),[L,S]=u.useState({text2d:!0,content:!0,transformation:!0,style:!0,textEffect:!0}),w=yn(t.screenText.transformation,t.screenText.screenTransform),O={object:{...a,componentIds:[o.screenTransform.id,o.screenText.id,o.material.id,o.texture.id]},kind:"screenText",components:[{...o.screenTransform,settings:t.screenText.screenTransform??un(w)},{...o.screenText,settings:t.screenText},{...o.material,settings:{...o.material.settings,color:t.screenText.style.color,opacity:t.screenText.style.opacity}},{...o.texture,settings:{...o.texture.settings,url:t.screenText.style.background.textureUrl,flipX:t.screenText.style.background.textureFlipX,flipY:t.screenText.style.background.textureFlipY}}],scene:{screenSpaceUI:t.screenSpaceUI}},T=N=>{n({...t,screenText:N(t.screenText)})},B=t.screenText.style.strokeLayers??[],_=t.screenText.style.shadowEnabled!==!1&&(((ye=t.screenText.style.shadowLayers)==null?void 0:ye.length)??0)===0?[zt()]:t.screenText.style.shadowLayers??[],he=t.screenText.style.innerShadow??{color:"#000000",opacity:1,offset:10,angle:-45,feather:0},te=t.screenText.style.glow??hn(),xe=t.screenText.style.bend??xn(),M=N=>S(f=>({...f,[N]:!f[N]})),I=(N,f,v,A)=>e.jsx(Ls,{label:f,icon:v,open:L[N],onToggle:()=>M(N),children:A},N);return e.jsxs(ut,{objectId:(s==null?void 0:s.objectId)??a.id,objectName:(s==null?void 0:s.objectName)??a.name,onObjectNameChange:(s==null?void 0:s.onObjectNameChange)??(N=>d(f=>({...f,name:N}))),layer:(s==null?void 0:s.layer)??"Default Layer",visible:(s==null?void 0:s.visible)??t.screenText.enabled,onVisibleChange:(s==null?void 0:s.onVisibleChange)??(N=>T(f=>({...f,enabled:N}))),copyConfig:(s==null?void 0:s.copyConfig)??O,initialPosition:s==null?void 0:s.initialPosition,position:s==null?void 0:s.position,onPositionChange:s==null?void 0:s.onPositionChange,title:s==null?void 0:s.title,children:[I("transformation","Transformation",e.jsx(Ns,{}),e.jsx(ll,{value:t.screenText,onChange:T})),I("text2d","2D Text",e.jsx(Bt,{}),e.jsxs(e.Fragment,{children:[I("content","Content",e.jsx(Bt,{}),e.jsx($s,{value:t.screenText,onChange:T})),I("style","Style",e.jsx(Pt,{}),e.jsx(qs,{value:t.screenText,onChange:T})),I("textEffect","Text Effect",e.jsx(Pt,{}),e.jsx(Ys,{value:t.screenText,onChange:T,outlineLayers:B,shadowLayers:_,innerShadow:he,glow:te,bend:xe,outlineSettingsOpen:r,setOutlineSettingsOpen:y,shadowSettingsOpen:p,setShadowSettingsOpen:x,innerShadowSettingsOpen:c,setInnerShadowSettingsOpen:g,glowSettingsOpen:h,setGlowSettingsOpen:i,bendSettingsOpen:b,setBendSettingsOpen:j,backgroundSettingsOpen:k,setBackgroundSettingsOpen:C}))]}))]})},ol="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAtAAAAUAAgMAAAAToI2uAAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAlQTFRFqampbGxsAAAA/lGquwAAAAN0Uk5T//8A18oNQQAABPRJREFUeJztzssNQWEYQEG3CP1oQqJGsdCfBFs7j8X8+eRMBbPtBtpWB35RWimtlFZKK6WV0kppZWj6uLrwrceltFFaKa2UVkorpZXSSmlldPp2XT350P5Q2iitlFZKK6WV0kpppbRSWimtlFZKK3+RPq8OvXM/lTZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK6WV0kpppbRSWimtlFZKK3+THqG0UloprZRWSiulldJKaaW0UloprZRWSiuv6VFKK6WV0kpppbRSWimtlFbGpgcqrZRWSiulldJKaaW0MjL9BFWtRqVFuJpUAAAAAElFTkSuQmCC",rl={placeholder:"Placeholder","hero-image":"Hero Image","photo-frame":"Default Frame"},al=Object.entries(rl).map(([t,n])=>({value:t,label:n})),dl={placeholder:{transformation:{showFitGuides:!1},image:{sourceKind:"default",stretchMode:"fit",materialType:"unlit",blendMode:"normal",opacity:1,color:"#ffffff",flipX:!1,flipY:!1,transparent:!0,alphaTest:0}},"hero-image":{transformation:{position:{x:0,y:.08},size:{width:.96,height:.62},rotation:0,pivot:[.5,.5],overlay:!0,visible:!0},image:{sourceKind:"image",stretchMode:"fillAndCut",materialType:"unlit",blendMode:"normal",opacity:1,color:"#ffffff",flipX:!1,flipY:!1,transparent:!0,alphaTest:0}},"photo-frame":{transformation:{position:{x:0,y:.01},size:{width:2,height:2},rotation:0,pivot:[.5,.5],overlay:!0,visible:!0},image:{sourceKind:"image",src:ol,stretchMode:"fill",materialType:"unlit",blendMode:"normal",opacity:1,color:"#ffffff",flipX:!1,flipY:!1,transparent:!0,alphaTest:0}}},cl=(t,n)=>{const l=dl[n];return{...t,preset:n,...l.enabled!==void 0?{enabled:l.enabled}:{},transformation:{...t.transformation,...l.transformation??{}},image:{...t.image,...l.image??{}}}},pl={display:"grid",gridTemplateColumns:"repeat(2, minmax(0, 1fr))",gap:6},et={display:"flex",flexDirection:"column",gap:4},hl={...et,gridColumn:"1 / -1"},Ke={fontSize:9,color:"rgba(226,232,240,0.72)"},Lt={width:"100%",height:24,borderRadius:7,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(15,23,42,0.68)",color:"#f8fafc",fontSize:10.5,outline:"none",padding:"0 7px",boxSizing:"border-box"},Vt={...Lt,appearance:"none"},xl={...Lt,fontVariantNumeric:"tabular-nums"},yl={...Lt,padding:2,cursor:"pointer"},ul=t=>/^-?\d*(\.\d*)?$/.test(t),Ht=({value:t,onChange:n,step:l=1,min:s,max:a})=>{const[d,o]=u.useState(String(t));u.useEffect(()=>o(String(t)),[t]);const r=y=>{let p=y;return typeof s=="number"&&(p=Math.max(s,p)),typeof a=="number"&&(p=Math.min(a,p)),p};return e.jsx("input",{type:"text",inputMode:"decimal",pattern:"-?[0-9]*[.,]?[0-9]*",style:xl,value:d,onChange:y=>{const p=y.target.value;if(!ul(p)||(o(p),p===""||p==="-"||p==="."||p==="-."))return;const x=Number(p);Number.isNaN(x)||n(r(x))},onBlur:()=>{const y=Number(d);if(Number.isNaN(y)){o(String(t));return}const p=r(y);o(String(p)),n(p)},onKeyDown:y=>{if(y.key!=="ArrowUp"&&y.key!=="ArrowDown")return;y.preventDefault();const p=y.shiftKey?l*10:y.altKey?l/10:l,x=y.key==="ArrowUp"?t+p:t-p;n(r(Number.isInteger(x)?x:Number(x.toFixed(6))))}})},gl=({value:t,onChange:n})=>e.jsxs("div",{style:pl,children:[e.jsxs("label",{style:et,children:[e.jsx("span",{style:Ke,children:"Material Type"}),e.jsxs("select",{style:Vt,value:t.materialType,onChange:l=>n({...t,materialType:l.target.value}),children:[e.jsx("option",{value:"unlit",children:"Unlit"}),e.jsx("option",{value:"standardPBR",children:"Standard PBR"}),e.jsx("option",{value:"matcap",children:"Matcap"})]})]}),e.jsxs("label",{style:et,children:[e.jsx("span",{style:Ke,children:"Blend Mode"}),e.jsxs("select",{style:Vt,value:t.blendMode,onChange:l=>n({...t,blendMode:l.target.value}),children:[e.jsx("option",{value:"normal",children:"Normal"}),e.jsx("option",{value:"add",children:"Add"}),e.jsx("option",{value:"subtract",children:"Subtract"}),e.jsx("option",{value:"multiply",children:"Multiply"}),e.jsx("option",{value:"screen",children:"Screen"}),e.jsx("option",{value:"lighten",children:"Lighten"}),e.jsx("option",{value:"darken",children:"Darken"}),e.jsx("option",{value:"overlay",children:"Overlay"}),e.jsx("option",{value:"softLight",children:"Soft Light"}),e.jsx("option",{value:"hardLight",children:"Hard Light"}),e.jsx("option",{value:"difference",children:"Difference"}),e.jsx("option",{value:"exclusion",children:"Exclusion"})]})]}),e.jsxs("label",{style:et,children:[e.jsx("span",{style:Ke,children:"Opacity"}),e.jsx(Ht,{value:t.opacity,min:0,max:1,step:.01,onChange:l=>n({...t,opacity:l})})]}),e.jsxs("label",{style:et,children:[e.jsx("span",{style:Ke,children:"Tint"}),e.jsx("input",{type:"color",style:yl,value:t.color,onChange:l=>n({...t,color:l.target.value})})]}),e.jsxs("label",{style:hl,children:[e.jsx("span",{style:Ke,children:"Alpha Test"}),e.jsx(Ht,{value:t.alphaTest,min:0,max:1,step:.01,onChange:l=>n({...t,alphaTest:l})})]})]}),bl={display:"flex",width:18,height:18,alignItems:"center",justifyContent:"center",borderRadius:6,background:"rgba(255,255,255,0.08)",border:"1px solid rgba(255,255,255,0.08)",color:"#e2e8f0",flex:"0 0 auto"},fl={borderRadius:12,border:"1px solid rgba(255,255,255,0.08)",background:"rgba(255,255,255,0.03)",overflow:"hidden"},jl={display:"flex",alignItems:"center",gap:7,padding:"6px 7px"},ml={display:"flex",alignItems:"center",gap:6,fontSize:11,fontWeight:500,flex:"1 1 auto",minWidth:0},Sl={width:28,height:16,borderRadius:999,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(255,255,255,0.08)",padding:2,display:"flex",alignItems:"center",cursor:"pointer",flex:"0 0 auto"},wl=t=>({width:10,height:10,borderRadius:999,background:t?"#f8fafc":"rgba(148,163,184,0.7)",transform:t?"translateX(12px)":"translateX(0)",transition:"transform 140ms ease, background 140ms ease"}),kl={display:"grid",gap:7,padding:"0 7px 7px"},vl={display:"grid",gridTemplateColumns:"repeat(2, minmax(0, 1fr))",gap:6},tt={display:"flex",flexDirection:"column",gap:4},ft={...tt,gridColumn:"1 / -1"},Se={fontSize:9,color:"rgba(226,232,240,0.72)"},bn={width:"100%",height:24,borderRadius:7,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(15,23,42,0.68)",color:"#f8fafc",fontSize:10.5,outline:"none",padding:"0 7px",boxSizing:"border-box"},jt={...bn,appearance:"none"},mt={display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,minHeight:24},St={width:16,height:16},Cl=[{value:"default",label:"Default"},{value:"image",label:"Image"},{value:"gif",label:"GIF"}],Rl=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M5 4h14a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2zm0 2v8.76l4.5-4.5 3.2 3.2 2.8-2.8L19 14.16V6H5zm12 3a2 2 0 1 1-4 0 2 2 0 0 1 4 0z"})}),El=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M11 2h2v4h3l-4 4-4-4h3V2zm0 20v-4H8l4-4 4 4h-3v4h-2zM2 11h4V8l4 4-4 4v-3H2v-2zm20 0v2h-4v3l-4-4 4-4v3h4z"})}),Il=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M12 2 3 7v10l9 5 9-5V7l-9-5zm0 2.3L17.9 7 12 9.7 6.1 7 12 4.3zM5 8.5l6 2.7v7.9l-6-3.3V8.5zm8 10.6v-7.9l6-2.7v7.3l-6 3.3z"})}),Kt=(t,n)=>({enabled:(n==null?void 0:n.enabled)??t.enabled,showGuides:(n==null?void 0:n.showTransformGuides)??t.showFitGuides,coordinateSpace:t.coordinateSpace,canvasSize:t.canvasSize,position:(n==null?void 0:n.position)??t.position,size:(n==null?void 0:n.size)??t.size,rotation:(n==null?void 0:n.rotation)??t.rotation,scale2D:n==null?void 0:n.scale2D,referencePixelsPerUnit:n==null?void 0:n.referencePixelsPerUnit,pivot:(n==null?void 0:n.pivot)??t.pivot,renderOrder:(n==null?void 0:n.renderOrder)??t.renderOrder,overlay:(n==null?void 0:n.overlay)??t.overlay,visible:(n==null?void 0:n.visible)??t.visible}),zl=(t,n)=>({...n,enabled:t.enabled,showFitGuides:t.showGuides,coordinateSpace:t.coordinateSpace,canvasSize:t.canvasSize,position:t.position,size:t.size,rotation:t.rotation,pivot:t.pivot,renderOrder:t.renderOrder,overlay:t.overlay,visible:t.visible}),_t=(t,n)=>({...$.DEFAULT_SCREEN_TRANSFORM_2D,...n,enabled:t.enabled,showTransformGuides:t.showGuides,position:t.position,size:t.size,rotation:t.rotation,scale2D:t.scale2D??(n==null?void 0:n.scale2D)??$.DEFAULT_SCREEN_TRANSFORM_2D.scale2D,referencePixelsPerUnit:t.referencePixelsPerUnit??(n==null?void 0:n.referencePixelsPerUnit)??$.DEFAULT_SCREEN_TRANSFORM_2D.referencePixelsPerUnit,pivot:t.pivot,renderOrder:t.renderOrder,overlay:t.overlay,visible:t.visible}),Tl=({value:t,onChange:n,copyLabel:l,inspector:s})=>{const[a,d]=u.useState(()=>$.createSceneObject({name:l??"Screen Image",renderGroupId:We.DEFAULT_RENDER_GROUP_IDS.screen2d})),[o]=u.useState(()=>{const h=a.id,i=$.createDefaultComponent("ScreenTransform",h),b=$.createDefaultComponent("ScreenImage",h),j=$.createDefaultComponent("Material",h),k=$.createDefaultComponent("Texture",h);return{screenTransform:i,screenImage:b,material:j,texture:k}}),[r,y]=u.useState({transformation:!0,image:!0,material:!0}),p=Kt(t.screenImage.transformation,t.screenImage.screenTransform),x={object:{...a,componentIds:[o.screenTransform.id,o.screenImage.id,o.material.id,o.texture.id]},kind:"screenImage",components:[{...o.screenTransform,settings:t.screenImage.screenTransform??_t(p)},{...o.screenImage,settings:t.screenImage},{...o.material,settings:{...o.material.settings,color:t.screenImage.image.color,opacity:t.screenImage.image.opacity}},{...o.texture,settings:{...o.texture.settings,url:t.screenImage.image.src||void 0,flipX:t.screenImage.image.flipX,flipY:t.screenImage.image.flipY}}],scene:{screenSpaceUI:t.screenSpaceUI}},c=h=>{n({...t,screenImage:h(t.screenImage)})},g=(h,i,b,j)=>e.jsxs("div",{style:fl,children:[e.jsxs("div",{style:jl,children:[e.jsx("button",{type:"button",onClick:()=>y(k=>({...k,[h]:!k[h]})),style:Sl,children:e.jsx("div",{style:wl(r[h])})}),e.jsxs("div",{style:ml,children:[e.jsx("span",{style:bl,children:b}),e.jsx("span",{children:i})]})]}),r[h]?e.jsx("div",{style:kl,children:j}):null]},h);return e.jsxs(ut,{objectId:(s==null?void 0:s.objectId)??a.id,objectName:(s==null?void 0:s.objectName)??a.name,onObjectNameChange:(s==null?void 0:s.onObjectNameChange)??(h=>d(i=>({...i,name:h}))),layer:(s==null?void 0:s.layer)??"Default Layer",visible:(s==null?void 0:s.visible)??t.screenImage.enabled,onVisibleChange:(s==null?void 0:s.onVisibleChange)??(h=>c(i=>({...i,enabled:h}))),copyConfig:(s==null?void 0:s.copyConfig)??x,initialPosition:s==null?void 0:s.initialPosition,position:s==null?void 0:s.position,onPositionChange:s==null?void 0:s.onPositionChange,title:s==null?void 0:s.title,children:[g("transformation","Transformation",e.jsx(El,{}),e.jsx(Ft,{value:Kt(t.screenImage.transformation,t.screenImage.screenTransform),guideLabel:"Transform Control On",showRenderOrder:!1,onChange:h=>c(i=>({...i,transformation:zl(h,i.transformation),screenTransform:_t(h,i.screenTransform)}))})),g("image","Image",e.jsx(Rl,{}),e.jsxs("div",{style:{display:"grid",gap:6},children:[e.jsxs("label",{style:tt,children:[e.jsx("span",{style:Se,children:"Preset"}),e.jsx("select",{style:jt,value:t.screenImage.preset,onChange:h=>c(i=>cl(i,h.target.value)),children:al.map(h=>e.jsx("option",{value:h.value,children:h.label},h.value))})]}),e.jsxs("label",{style:tt,children:[e.jsx("span",{style:Se,children:"Source Kind"}),e.jsx("select",{style:jt,value:t.screenImage.image.sourceKind,onChange:h=>c(i=>({...i,image:{...i.image,sourceKind:h.target.value}})),children:Cl.map(h=>e.jsx("option",{value:h.value,children:h.label},h.value))})]}),t.screenImage.image.sourceKind==="image"||t.screenImage.image.sourceKind==="gif"?e.jsxs("label",{style:tt,children:[e.jsx("span",{style:Se,children:"Source URL"}),e.jsx("input",{style:bn,value:t.screenImage.image.src,onChange:h=>c(i=>({...i,image:{...i.image,src:h.target.value}}))})]}):null,e.jsxs("label",{style:tt,children:[e.jsx("span",{style:Se,children:"Stretch Mode"}),e.jsxs("select",{style:jt,value:t.screenImage.image.stretchMode,onChange:h=>c(i=>({...i,image:{...i.image,stretchMode:h.target.value}})),children:[e.jsx("option",{value:"fit",children:"Fit"}),e.jsx("option",{value:"fitWidth",children:"Fit Width"}),e.jsx("option",{value:"fitHeight",children:"Fit Height"}),e.jsx("option",{value:"center",children:"Center"}),e.jsx("option",{value:"stretch",children:"Stretch"}),e.jsx("option",{value:"fill",children:"Fill"}),e.jsx("option",{value:"fillAndCut",children:"Fill and Cut"})]})]}),e.jsx("label",{style:ft,children:e.jsxs("div",{style:mt,children:[e.jsx("span",{style:Se,children:"Flip X"}),e.jsx("input",{type:"checkbox",style:St,checked:t.screenImage.image.flipX,onChange:h=>c(i=>({...i,image:{...i.image,flipX:h.target.checked}}))})]})}),e.jsx("label",{style:ft,children:e.jsxs("div",{style:mt,children:[e.jsx("span",{style:Se,children:"Flip Y"}),e.jsx("input",{type:"checkbox",style:St,checked:t.screenImage.image.flipY,onChange:h=>c(i=>({...i,image:{...i.image,flipY:h.target.checked}}))})]})})]})),g("material","Material",e.jsx(Il,{}),e.jsxs("div",{style:vl,children:[e.jsx(gl,{value:t.screenImage.image,onChange:h=>c(i=>({...i,image:{...i.image,materialType:h.materialType,blendMode:h.blendMode,opacity:h.opacity,color:h.color,alphaTest:h.alphaTest}}))}),e.jsx("label",{style:ft,children:e.jsxs("div",{style:mt,children:[e.jsx("span",{style:Se,children:"Transparent"}),e.jsx("input",{type:"checkbox",style:St,checked:t.screenImage.image.transparent,onChange:h=>c(i=>({...i,image:{...i.image,transparent:h.target.checked}}))})]})})]}))]})},$e={display:"grid",gridTemplateColumns:"92px minmax(0,1fr)",alignItems:"center",gap:10,margin:"8px 0",color:"#cbd5e1",fontSize:12},Me={width:"100%",boxSizing:"border-box",padding:"8px 9px",border:"1px solid rgba(148,163,184,.16)",borderRadius:6,background:"rgba(15,23,42,.72)",color:"#e2e8f0"},Ml=({onChange:t,value:n})=>e.jsxs("fieldset",{style:{border:0,padding:0,margin:0},children:[n.map((l,s)=>e.jsxs("div",{style:$e,children:[e.jsx("input",{"aria-label":`Gradient stop ${s+1} color`,type:"color",style:{...Me,padding:2},value:l.color,onChange:a=>t(n.map((d,o)=>o===s?{...d,color:a.currentTarget.value}:d))}),e.jsxs("span",{style:{display:"grid",gridTemplateColumns:"1fr auto",gap:4},children:[e.jsx("input",{"aria-label":`Gradient stop ${s+1} position`,type:"number",min:0,max:1,step:.05,style:Me,value:l.offset,onChange:a=>t(n.map((d,o)=>o===s?{...d,offset:Number(a.currentTarget.value)}:d))}),n.length>2?e.jsx("button",{type:"button",onClick:()=>t(n.filter((a,d)=>d!==s)),children:"−"}):null]})]},`${s}-${l.color}`)),n.length<X.MAX_SCREEN_GRADIENT_STOPS?e.jsx("button",{type:"button",onClick:()=>{var l;return t([...n,{offset:.5,color:((l=n[n.length-1])==null?void 0:l.color)??"#ffffff"}])},children:"Add stop"}):null]}),fn=({onChange:t,value:n})=>e.jsxs("fieldset",{style:{border:0,padding:0,margin:0},children:[e.jsxs("label",{style:$e,children:[e.jsx("span",{children:"Gradient"}),e.jsxs("select",{style:Me,value:n.type,onChange:l=>t({...n,type:l.currentTarget.value}),children:[e.jsx("option",{value:"linear",children:"Linear"}),e.jsx("option",{value:"radial",children:"Radial"}),e.jsx("option",{value:"angular",children:"Conic / Angular"})]})]}),e.jsx(Ml,{value:n.stops,onChange:l=>t({...n,stops:l})}),n.type!=="radial"?e.jsxs("label",{style:$e,children:[e.jsx("span",{children:"Angle"}),e.jsx("input",{type:"number",style:Me,step:5,value:n.angle,onChange:l=>t({...n,angle:Number(l.currentTarget.value)})})]}):null,n.type!=="linear"?e.jsxs(e.Fragment,{children:[e.jsxs("label",{style:$e,children:[e.jsx("span",{children:"Center X"}),e.jsx("input",{type:"number",style:Me,min:0,max:1,step:.05,value:n.center.x,onChange:l=>t({...n,center:{...n.center,x:Number(l.currentTarget.value)}})})]}),e.jsxs("label",{style:$e,children:[e.jsx("span",{children:"Center Y"}),e.jsx("input",{type:"number",style:Me,min:0,max:1,step:.05,value:n.center.y,onChange:l=>t({...n,center:{...n.center,y:Number(l.currentTarget.value)}})})]})]}):null,n.type==="radial"?e.jsxs("label",{style:$e,children:[e.jsx("span",{children:"Radius"}),e.jsx("input",{type:"number",style:Me,min:.01,step:.05,value:n.radius,onChange:l=>t({...n,radius:Number(l.currentTarget.value)})})]}):null]}),Gt={display:"grid",gridTemplateColumns:"92px minmax(0,1fr)",alignItems:"center",gap:10,margin:"8px 0",color:"#cbd5e1",fontSize:12},Ut={width:"100%",boxSizing:"border-box",padding:"8px 9px",border:"1px solid rgba(148,163,184,.16)",borderRadius:6,background:"rgba(15,23,42,.72)",color:"#e2e8f0"},jn=({value:t,onChange:n})=>e.jsxs("fieldset",{style:{border:0,padding:0,margin:0},children:[e.jsxs("label",{style:Gt,children:[e.jsx("span",{children:"Tint"}),e.jsx("input",{type:"color",style:{...Ut,padding:2},value:t.tint,onChange:l=>n({...t,tint:l.currentTarget.value})})]}),["opacity","frost","highlight"].map(l=>e.jsxs("label",{style:Gt,children:[e.jsx("span",{children:l[0].toUpperCase()+l.slice(1)}),e.jsx("input",{type:"number",style:Ut,min:0,max:1,step:.05,value:t[l],onChange:s=>n({...t,[l]:Number(s.currentTarget.value)})})]},l))]}),Wl={borderRadius:12,border:"1px solid rgba(255,255,255,.08)",background:"rgba(255,255,255,.03)",padding:8},Ae={display:"grid",gridTemplateColumns:"92px minmax(0,1fr)",alignItems:"center",gap:10,margin:"8px 0",color:"#cbd5e1",fontSize:12},nt={width:"100%",boxSizing:"border-box",padding:"8px 9px",border:"1px solid rgba(148,163,184,.16)",borderRadius:6,background:"rgba(15,23,42,.72)",color:"#e2e8f0"},ne=({label:t,onValue:n,...l})=>e.jsxs("label",{style:Ae,children:[e.jsx("span",{children:t}),e.jsx("input",{...l,type:"number",style:nt,onChange:s=>n(Number(s.currentTarget.value))})]}),mn=({value:t,onChange:n})=>e.jsxs("section",{style:Wl,children:[e.jsx("div",{style:{fontSize:11,fontWeight:700,marginBottom:7},children:"Screen Shape"}),e.jsxs("label",{style:Ae,children:[e.jsx("span",{children:"Shape"}),e.jsxs("select",{style:nt,value:t.kind,onChange:l=>n({...t,kind:l.currentTarget.value}),children:[e.jsx("option",{value:"circle",children:"Circle"}),e.jsx("option",{value:"ellipse",children:"Ellipse"}),e.jsx("option",{value:"rectangle",children:"Rectangle"}),e.jsx("option",{value:"roundedRectangle",children:"Rounded Rectangle"}),e.jsx("option",{value:"polygon",children:"Polygon"}),e.jsx("option",{value:"star",children:"Star"}),e.jsx("option",{value:"line",children:"Line"})]})]}),t.kind!=="line"?e.jsxs(e.Fragment,{children:[e.jsxs("label",{style:Ae,children:[e.jsx("span",{children:"Fill"}),e.jsxs("select",{style:nt,value:t.fillMode,onChange:l=>n({...t,fillMode:l.currentTarget.value}),children:[e.jsx("option",{value:"solid",children:"Solid"}),e.jsx("option",{value:"gradient",children:"Gradient"}),e.jsx("option",{value:"glass",children:"Glass"})]})]}),t.fillMode==="gradient"?e.jsx(fn,{value:t.gradient,onChange:l=>n({...t,gradient:l})}):t.fillMode==="glass"?e.jsx(jn,{value:t.glass,onChange:l=>n({...t,glass:l})}):e.jsxs("label",{style:Ae,children:[e.jsx("span",{children:"Color"}),e.jsx("input",{type:"color",style:{...nt,padding:2},value:t.fillColor,onChange:l=>n({...t,fillColor:l.currentTarget.value})})]}),e.jsx(ne,{label:"Fill Opacity",min:0,max:1,step:.05,value:t.fillOpacity,onValue:l=>n({...t,fillOpacity:l})})]}):null,e.jsxs("label",{style:Ae,children:[e.jsx("span",{children:"Stroke"}),e.jsx("input",{type:"color",style:{...nt,padding:2},value:t.strokeColor,onChange:l=>n({...t,strokeColor:l.currentTarget.value})})]}),e.jsx(ne,{label:"Stroke Width",min:0,step:1,value:t.strokeWidth,onValue:l=>n({...t,strokeWidth:l})}),e.jsx(ne,{label:"Stroke Opacity",min:0,max:1,step:.05,value:t.strokeOpacity,onValue:l=>n({...t,strokeOpacity:l})}),e.jsxs("label",{style:Ae,children:[e.jsx("span",{children:"Dashed"}),e.jsx("input",{type:"checkbox",checked:t.dashed,onChange:l=>n({...t,dashed:l.currentTarget.checked})})]}),t.kind==="roundedRectangle"?e.jsx(ne,{label:"Corner Radius",min:0,max:.5,step:.01,value:t.cornerRadius,onValue:l=>n({...t,cornerRadius:l})}):null,t.kind==="polygon"||t.kind==="star"?e.jsx(ne,{label:t.kind==="star"?"Points":"Sides",min:3,max:12,step:1,value:t.sides,onValue:l=>n({...t,sides:l})}):null,t.kind==="star"?e.jsx(ne,{label:"Inner Radius",min:.05,max:.95,step:.05,value:t.innerRadiusRatio,onValue:l=>n({...t,innerRadiusRatio:l})}):null,t.kind==="line"?e.jsxs(e.Fragment,{children:[e.jsx(ne,{label:"Start X",min:0,max:1,step:.05,value:t.lineStart.x,onValue:l=>n({...t,lineStart:{...t.lineStart,x:l}})}),e.jsx(ne,{label:"Start Y",min:0,max:1,step:.05,value:t.lineStart.y,onValue:l=>n({...t,lineStart:{...t.lineStart,y:l}})}),e.jsx(ne,{label:"End X",min:0,max:1,step:.05,value:t.lineEnd.x,onValue:l=>n({...t,lineEnd:{...t.lineEnd,x:l}})}),e.jsx(ne,{label:"End Y",min:0,max:1,step:.05,value:t.lineEnd.y,onValue:l=>n({...t,lineEnd:{...t.lineEnd,y:l}})})]}):null]}),Fl={enabled:!0,bothHands:!0,visualScale:1,opacity:.92,pointRadius:3,lineWidth:3,labelScale:1.2,smoothing:.35,color:"#22d3ee",showBoundingBox:!0,showLabels:!1,logToConsole:!1},Ll={position:"fixed",left:14,top:104,zIndex:2e4,pointerEvents:"none"},Sn={pointerEvents:"auto",width:286,borderRadius:16,border:"1px solid rgba(255,255,255,0.12)",background:"rgba(8, 15, 28, 0.58)",boxShadow:"0 16px 36px rgba(0,0,0,0.28)",backdropFilter:"blur(20px) saturate(1.1)",WebkitBackdropFilter:"blur(20px) saturate(1.1)",color:"#f8fafc",overflowX:"hidden",overflowY:"auto",scrollbarWidth:"thin",scrollbarColor:"rgba(148,163,184,0.55) rgba(255,255,255,0.06)",overscrollBehavior:"contain"},Nl={...Sn,width:32,height:32,borderRadius:16,display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer"},Ol={position:"sticky",top:0,zIndex:1,display:"flex",alignItems:"center",gap:7,padding:"7px 8px",borderBottom:"1px solid rgba(255,255,255,0.08)",background:"rgba(8, 15, 28, 0.88)",backdropFilter:"blur(20px) saturate(1.1)",WebkitBackdropFilter:"blur(20px) saturate(1.1)"},$l={width:16,height:16,display:"flex",alignItems:"center",justifyContent:"center",cursor:"grab",color:"rgba(148,163,184,0.82)",flex:"0 0 auto"},Al={display:"flex",alignItems:"center",gap:6,fontSize:11,fontWeight:600,minWidth:0},Xt={display:"flex",width:18,height:18,alignItems:"center",justifyContent:"center",borderRadius:6,background:"rgba(255,255,255,0.08)",border:"1px solid rgba(255,255,255,0.08)",color:"#e2e8f0",flex:"0 0 auto"},Dl={display:"grid",gap:6,padding:7},Bl={borderRadius:12,border:"1px solid rgba(255,255,255,0.08)",background:"rgba(255,255,255,0.03)",overflow:"hidden"},Pl={display:"flex",alignItems:"center",gap:7,padding:"6px 7px"},Vl={display:"flex",alignItems:"center",gap:6,fontSize:11,fontWeight:500,flex:"1 1 auto",minWidth:0},Hl={width:28,height:16,borderRadius:999,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(255,255,255,0.08)",padding:2,display:"flex",alignItems:"center",cursor:"pointer",flex:"0 0 auto"},Kl=t=>({width:10,height:10,borderRadius:999,background:t?"#f8fafc":"rgba(148,163,184,0.7)",transform:t?"translateX(12px)":"translateX(0)",transition:"transform 140ms ease, background 140ms ease"}),_l={display:"grid",gap:7,padding:"0 7px 7px"},Gl={display:"grid",gridTemplateColumns:"repeat(2, minmax(0, 1fr))",gap:6},Te={display:"flex",flexDirection:"column",gap:4},_e={...Te,gridColumn:"1 / -1"},ee={fontSize:9,color:"rgba(226,232,240,0.72)"},Le={width:"100%",height:24,borderRadius:7,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(15,23,42,0.68)",color:"#f8fafc",fontSize:10.5,outline:"none",padding:"0 7px",boxSizing:"border-box"},Ge={display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,minHeight:24},Ue={width:16,height:16},Zt={display:"inline-flex",alignItems:"center",justifyContent:"center",width:24,height:24,borderRadius:8,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(255,255,255,0.05)",color:"#e2e8f0",cursor:"pointer",padding:0,flex:"0 0 auto"},Ul=()=>e.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M7 10h10v2H7v-2zm0 4h10v2H7v-2zm0-8h10v2H7V6z"})}),Xl=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M18.3 5.71 12 12l6.3 6.29-1.41 1.41L10.59 13.41 4.29 19.7 2.88 18.29 9.17 12 2.88 5.71 4.29 4.3l6.3 6.29 6.29-6.3z"})}),Zl=()=>e.jsx("svg",{width:"11",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M8 6a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM8 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM8 18a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM16 6a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM16 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM16 18a2 2 0 1 1-4 0 2 2 0 0 1 4 0z"})}),wt=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M11 2a1 1 0 0 1 1 1v6h1V3a1 1 0 1 1 2 0v6h1V4a1 1 0 1 1 2 0v7.3l1.6 2.4a5 5 0 0 1 .8 2.7V18a4 4 0 0 1-4 4H9a6 6 0 0 1-6-6v-3.5a2.5 2.5 0 0 1 5 0V15h1V3a1 1 0 0 1 1-1z"})}),Yl=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M12 5V2L7 7l5 5V9a4 4 0 1 1-4 4H6a6 6 0 1 0 6-8z"})}),ql=({value:t,onChange:n})=>{const[l,s]=u.useState(!0),[a,d]=u.useState({x:14,y:104}),[o,r]=u.useState(typeof window>"u"?0:window.innerHeight),[y,p]=u.useState({overlay:!0,visibility:!1}),x=u.useRef(null),c=Math.max(240,o-a.y-16);u.useEffect(()=>{const i=j=>{x.current&&d({x:Math.max(8,j.clientX-x.current.x),y:Math.max(8,j.clientY-x.current.y)})},b=()=>{x.current=null,document.body.classList.remove("select-none")};return window.addEventListener("pointermove",i),window.addEventListener("pointerup",b),()=>{window.removeEventListener("pointermove",i),window.removeEventListener("pointerup",b)}},[]),u.useEffect(()=>{const i=()=>r(window.innerHeight);return window.addEventListener("resize",i),()=>window.removeEventListener("resize",i)},[]);const g=i=>{const b=i.currentTarget.getBoundingClientRect();x.current={x:i.clientX-b.left,y:i.clientY-b.top},document.body.classList.add("select-none"),i.currentTarget.setPointerCapture(i.pointerId)},h=(i,b,j,k)=>e.jsxs("div",{style:Bl,children:[e.jsxs("div",{style:Pl,children:[e.jsx("button",{type:"button",onClick:()=>p(C=>({...C,[i]:!C[i]})),style:Hl,children:e.jsx("div",{style:Kl(y[i])})}),e.jsxs("div",{style:Vl,children:[e.jsx("span",{style:Xt,children:j}),e.jsx("span",{children:b})]})]}),y[i]?e.jsx("div",{style:_l,children:k}):null]},i);return typeof document>"u"?null:pe.createPortal(e.jsxs("div",{style:{...Ll,left:a.x,top:a.y},children:[e.jsx("style",{children:`
|
|
2
2
|
.xr-hand-tracking-2d-scroll::-webkit-scrollbar { width: 10px; }
|
|
3
3
|
.xr-hand-tracking-2d-scroll::-webkit-scrollbar-track { background: rgba(255,255,255,0.06); border-radius: 999px; }
|
|
4
4
|
.xr-hand-tracking-2d-scroll::-webkit-scrollbar-thumb { background: rgba(148,163,184,0.55); border-radius: 999px; border: 2px solid transparent; background-clip: padding-box; }
|
|
5
5
|
.xr-hand-tracking-2d-scroll::-webkit-scrollbar-thumb:hover { background: rgba(226,232,240,0.68); background-clip: padding-box; }
|
|
6
|
-
`}),l?e.jsxs("div",{className:"xr-hand-tracking-2d-scroll",style:{...
|
|
6
|
+
`}),l?e.jsxs("div",{className:"xr-hand-tracking-2d-scroll",style:{...Sn,height:c},children:[e.jsxs("div",{style:Ol,children:[e.jsx("div",{onPointerDown:g,style:$l,children:e.jsx(Zl,{})}),e.jsxs("div",{style:Al,children:[e.jsx("span",{style:Xt,children:e.jsx(wt,{})}),e.jsx("span",{children:"HandTracking2D"})]}),e.jsx("div",{style:{flex:"1 1 auto"}}),e.jsx("button",{type:"button",onClick:()=>n(Fl),style:Zt,children:e.jsx(Yl,{})}),e.jsx("button",{type:"button",onClick:()=>s(!1),style:Zt,children:e.jsx(Xl,{})})]}),e.jsxs("div",{style:Dl,children:[h("overlay","Overlay",e.jsx(wt,{}),e.jsxs("div",{style:Gl,children:[e.jsxs("label",{style:Te,children:[e.jsx("span",{style:ee,children:"Hand Size"}),e.jsx("input",{style:Le,type:"number",min:.25,max:1.8,step:.05,value:t.visualScale,onChange:i=>n({...t,visualScale:Number(i.target.value)})})]}),e.jsxs("label",{style:Te,children:[e.jsx("span",{style:ee,children:"Opacity"}),e.jsx("input",{style:Le,type:"number",min:0,max:1,step:.01,value:t.opacity,onChange:i=>n({...t,opacity:Number(i.target.value)})})]}),e.jsxs("label",{style:Te,children:[e.jsx("span",{style:ee,children:"Joint Radius"}),e.jsx("input",{style:Le,type:"number",min:1,max:20,step:1,value:t.pointRadius,onChange:i=>n({...t,pointRadius:Number(i.target.value)})})]}),e.jsxs("label",{style:Te,children:[e.jsx("span",{style:ee,children:"Stroke"}),e.jsx("input",{style:Le,type:"number",min:.01,max:100,step:.01,value:t.lineWidth,onChange:i=>n({...t,lineWidth:Number(i.target.value)})})]}),e.jsxs("label",{style:Te,children:[e.jsx("span",{style:ee,children:"Smoothing"}),e.jsx("input",{style:Le,type:"number",min:0,max:1,step:.01,value:t.smoothing,onChange:i=>n({...t,smoothing:Number(i.target.value)})})]}),e.jsxs("label",{style:Te,children:[e.jsx("span",{style:ee,children:"Label Size"}),e.jsx("input",{style:Le,type:"number",min:.25,max:3,step:.05,value:t.labelScale,onChange:i=>n({...t,labelScale:Number(i.target.value)})})]}),e.jsx("label",{style:_e,children:e.jsxs("div",{style:Ge,children:[e.jsx("span",{style:ee,children:"Bounding Box"}),e.jsx("input",{type:"checkbox",style:Ue,checked:t.showBoundingBox,onChange:i=>n({...t,showBoundingBox:i.target.checked})})]})})]})),h("visibility","Visibility",e.jsx(wt,{}),e.jsxs(e.Fragment,{children:[e.jsx("label",{style:_e,children:e.jsxs("div",{style:Ge,children:[e.jsx("span",{style:ee,children:"Show Overlay"}),e.jsx("input",{type:"checkbox",style:Ue,checked:t.enabled,onChange:i=>n({...t,enabled:i.target.checked})})]})}),e.jsx("label",{style:_e,children:e.jsxs("div",{style:Ge,children:[e.jsx("span",{style:ee,children:"Both Hands"}),e.jsx("input",{type:"checkbox",style:Ue,checked:t.bothHands,onChange:i=>n({...t,bothHands:i.target.checked})})]})}),e.jsx("label",{style:_e,children:e.jsxs("div",{style:Ge,children:[e.jsx("span",{style:ee,children:"Show Labels"}),e.jsx("input",{type:"checkbox",style:Ue,checked:t.showLabels,onChange:i=>n({...t,showLabels:i.target.checked})})]})}),e.jsx("label",{style:_e,children:e.jsxs("div",{style:Ge,children:[e.jsx("span",{style:ee,children:"Log to Console"}),e.jsx("input",{type:"checkbox",style:Ue,checked:t.logToConsole,onChange:i=>n({...t,logToConsole:i.target.checked})})]})})]}))]})]}):e.jsx("div",{role:"button",tabIndex:0,onClick:()=>s(!0),style:Nl,children:e.jsx(Ul,{})})]}),document.body)},Jl={enabled:!0,attachImageEnabled:!0,showBoundingBox:!1,verticalAlign:"middle",horizontalAlign:"center",sizeResponsiveToHandBoundingBox:!1,size:1,offsetX:0,offsetY:.02,rotation:0,alpha:1,smoothFollowing:!0,smoothing:.35},Ql=[{label:"Top",value:"top"},{label:"Middle",value:"middle"},{label:"Bottom",value:"bottom"}],ei=[{label:"Left",value:"left"},{label:"Middle",value:"center"},{label:"Right",value:"right"}],ti={position:"fixed",left:320,top:104,zIndex:2e4,pointerEvents:"none"},wn={pointerEvents:"auto",width:286,borderRadius:16,border:"1px solid rgba(255,255,255,0.12)",background:"rgba(8, 15, 28, 0.58)",boxShadow:"0 16px 36px rgba(0,0,0,0.28)",backdropFilter:"blur(20px) saturate(1.1)",WebkitBackdropFilter:"blur(20px) saturate(1.1)",color:"#f8fafc",overflowX:"hidden",overflowY:"auto",scrollbarWidth:"thin",scrollbarColor:"rgba(148,163,184,0.55) rgba(255,255,255,0.06)",overscrollBehavior:"contain"},ni={...wn,width:32,height:32,borderRadius:16,display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer"},si={position:"sticky",top:0,zIndex:1,display:"flex",alignItems:"center",gap:7,padding:"7px 8px",borderBottom:"1px solid rgba(255,255,255,0.08)",background:"rgba(8, 15, 28, 0.88)",backdropFilter:"blur(20px) saturate(1.1)",WebkitBackdropFilter:"blur(20px) saturate(1.1)"},li={display:"grid",gap:6,padding:7},ii={borderRadius:12,border:"1px solid rgba(255,255,255,0.08)",background:"rgba(255,255,255,0.03)",overflow:"hidden"},oi={display:"flex",alignItems:"center",gap:7,padding:"6px 7px"},ri={display:"flex",alignItems:"center",gap:6,fontSize:11,fontWeight:500,flex:"1 1 auto",minWidth:0},ai={width:28,height:16,borderRadius:999,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(255,255,255,0.08)",padding:2,display:"flex",alignItems:"center",cursor:"pointer",flex:"0 0 auto"},di=t=>({width:10,height:10,borderRadius:999,background:t?"#f8fafc":"rgba(148,163,184,0.7)",transform:t?"translateX(12px)":"translateX(0)",transition:"transform 140ms ease, background 140ms ease"}),ci={display:"grid",gap:7,padding:"0 7px 7px"},pi={display:"grid",gridTemplateColumns:"repeat(2, minmax(0, 1fr))",gap:6},re={display:"flex",flexDirection:"column",gap:4},we={...re,gridColumn:"1 / -1"},P={fontSize:9,color:"rgba(226,232,240,0.72)"},ue={width:"100%",height:24,borderRadius:7,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(15,23,42,0.68)",color:"#f8fafc",fontSize:10.5,outline:"none",padding:"0 7px",boxSizing:"border-box"},ke={display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,minHeight:24},ve={width:16,height:16},Yt={display:"inline-flex",alignItems:"center",justifyContent:"center",width:24,height:24,borderRadius:8,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(255,255,255,0.05)",color:"#e2e8f0",cursor:"pointer",padding:0,flex:"0 0 auto"},hi=()=>e.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M7 10h10v2H7v-2zm0 4h10v2H7v-2zm0-8h10v2H7V6z"})}),xi=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M18.3 5.71 12 12l6.3 6.29-1.41 1.41L10.59 13.41 4.29 19.7 2.88 18.29 9.17 12 2.88 5.71 4.29 4.3l6.3 6.29 6.29-6.3z"})}),yi=()=>e.jsx("svg",{width:"11",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M8 6a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM8 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM8 18a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM16 6a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM16 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM16 18a2 2 0 1 1-4 0 2 2 0 0 1 4 0z"})}),kt=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M11 2a1 1 0 0 1 1 1v6h1V3a1 1 0 1 1 2 0v6h1V4a1 1 0 1 1 2 0v7.3l1.6 2.4a5 5 0 0 1 .8 2.7V18a4 4 0 0 1-4 4H9a6 6 0 0 1-6-6v-3.5a2.5 2.5 0 0 1 5 0V15h1V3a1 1 0 0 1 1-1z"})}),ui=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M12 5V2L7 7l5 5V9a4 4 0 1 1-4 4H6a6 6 0 1 0 6-8z"})}),gi=({value:t,onChange:n})=>{const[l,s]=u.useState(!0),[a,d]=u.useState({x:320,y:104}),[o,r]=u.useState(typeof window>"u"?0:window.innerHeight),[y,p]=u.useState({controller:!0,visibility:!1}),x=u.useRef(null),c=Math.max(240,o-a.y-16);u.useEffect(()=>{const i=j=>{x.current&&d({x:Math.max(8,j.clientX-x.current.x),y:Math.max(8,j.clientY-x.current.y)})},b=()=>{x.current=null,document.body.classList.remove("select-none")};return window.addEventListener("pointermove",i),window.addEventListener("pointerup",b),()=>{window.removeEventListener("pointermove",i),window.removeEventListener("pointerup",b)}},[]),u.useEffect(()=>{const i=()=>r(window.innerHeight);return window.addEventListener("resize",i),()=>window.removeEventListener("resize",i)},[]);const g=i=>{const b=i.currentTarget.getBoundingClientRect();x.current={x:i.clientX-b.left,y:i.clientY-b.top},document.body.classList.add("select-none"),i.currentTarget.setPointerCapture(i.pointerId)},h=(i,b,j,k)=>e.jsxs("div",{style:ii,children:[e.jsxs("div",{style:oi,children:[e.jsx("button",{type:"button",onClick:()=>p(C=>({...C,[i]:!C[i]})),style:ai,children:e.jsx("div",{style:di(y[i])})}),e.jsxs("div",{style:ri,children:[e.jsx("span",{style:{display:"flex",width:18,height:18,alignItems:"center",justifyContent:"center",borderRadius:6,background:"rgba(255,255,255,0.08)",border:"1px solid rgba(255,255,255,0.08)",color:"#e2e8f0",flex:"0 0 auto"},children:j}),e.jsx("span",{children:b})]})]}),y[i]?e.jsx("div",{style:ci,children:k}):null]},i);return typeof document>"u"?null:pe.createPortal(e.jsxs("div",{style:{...ti,left:a.x,top:a.y},children:[e.jsx("style",{children:`
|
|
7
7
|
.xr-hand-tracking-2d-controller-scroll::-webkit-scrollbar { width: 10px; }
|
|
8
8
|
.xr-hand-tracking-2d-controller-scroll::-webkit-scrollbar-track { background: rgba(255,255,255,0.06); border-radius: 999px; }
|
|
9
9
|
.xr-hand-tracking-2d-controller-scroll::-webkit-scrollbar-thumb { background: rgba(148,163,184,0.55); border-radius: 999px; border: 2px solid transparent; background-clip: padding-box; }
|
|
10
|
-
`}),l?e.jsxs("div",{className:"xr-hand-tracking-2d-controller-scroll",style:{...Sn,height:c},children:[e.jsxs("div",{style:ei,children:[e.jsx("div",{onPointerDown:g,style:{width:16,height:16,display:"flex",alignItems:"center",justifyContent:"center",cursor:"grab",color:"rgba(148,163,184,0.82)",flex:"0 0 auto"},children:e.jsx(pi,{})}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,fontSize:11,fontWeight:600,minWidth:0},children:[e.jsx("span",{style:{display:"flex",width:18,height:18,alignItems:"center",justifyContent:"center",borderRadius:6,background:"rgba(255,255,255,0.08)",border:"1px solid rgba(255,255,255,0.08)",color:"#e2e8f0",flex:"0 0 auto"},children:e.jsx(St,{})}),e.jsx("span",{children:"HandTracking2DController"})]}),e.jsx("div",{style:{flex:"1 1 auto"}}),e.jsx("button",{type:"button",onClick:()=>n(Zl),style:Yt,children:e.jsx(hi,{})}),e.jsx("button",{type:"button",onClick:()=>s(!1),style:Yt,children:e.jsx(ci,{})})]}),e.jsxs("div",{style:ti,children:[x("controller","Controller",e.jsx(St,{}),e.jsxs("div",{style:ai,children:[e.jsx("label",{style:Se,children:e.jsxs("div",{style:we,children:[e.jsx("span",{style:P,children:"Enabled"}),e.jsx("input",{type:"checkbox",style:ke,checked:t.enabled,onChange:i=>n({...t,enabled:i.target.checked})})]})}),e.jsx("label",{style:Se,children:e.jsxs("div",{style:we,children:[e.jsx("span",{style:P,children:"Attach Image"}),e.jsx("input",{type:"checkbox",style:ke,checked:t.attachImageEnabled,onChange:i=>n({...t,attachImageEnabled:i.target.checked})})]})}),e.jsx("label",{style:Se,children:e.jsxs("div",{style:we,children:[e.jsx("span",{style:P,children:"Size Responsive to Hand Bounding Box"}),e.jsx("input",{type:"checkbox",style:ke,checked:t.sizeResponsiveToHandBoundingBox,onChange:i=>n({...t,sizeResponsiveToHandBoundingBox:i.target.checked})})]})}),e.jsxs("label",{style:re,children:[e.jsx("span",{style:P,children:"Size"}),e.jsx("input",{style:ue,type:"number",min:.1,max:3,step:.01,value:t.size,onChange:i=>n({...t,size:Number(i.target.value)})})]}),e.jsxs("label",{style:re,children:[e.jsx("span",{style:P,children:"Vertical Align"}),e.jsx("select",{style:ue,value:t.verticalAlign,onChange:i=>n({...t,verticalAlign:i.target.value}),children:Yl.map(i=>e.jsx("option",{value:i.value,children:i.label},i.value))})]}),e.jsxs("label",{style:re,children:[e.jsx("span",{style:P,children:"Horizontal Align"}),e.jsx("select",{style:ue,value:t.horizontalAlign,onChange:i=>n({...t,horizontalAlign:i.target.value}),children:ql.map(i=>e.jsx("option",{value:i.value,children:i.label},i.value))})]}),e.jsxs("label",{style:re,children:[e.jsx("span",{style:P,children:"Offset X"}),e.jsx("input",{style:ue,type:"number",min:-1,max:1,step:.01,value:t.offsetX,onChange:i=>n({...t,offsetX:Number(i.target.value)})})]}),e.jsxs("label",{style:re,children:[e.jsx("span",{style:P,children:"Offset Y"}),e.jsx("input",{style:ue,type:"number",min:-1,max:1,step:.01,value:t.offsetY,onChange:i=>n({...t,offsetY:Number(i.target.value)})})]}),e.jsxs("label",{style:re,children:[e.jsx("span",{style:P,children:"Rotation"}),e.jsx("input",{style:ue,type:"number",min:-180,max:180,step:.1,value:t.rotation,onChange:i=>n({...t,rotation:Number(i.target.value)})})]}),e.jsxs("label",{style:re,children:[e.jsx("span",{style:P,children:"Alpha"}),e.jsx("input",{style:ue,type:"number",min:0,max:1,step:.01,value:t.alpha,onChange:i=>n({...t,alpha:Number(i.target.value)})})]}),e.jsx("label",{style:Se,children:e.jsxs("div",{style:we,children:[e.jsx("span",{style:P,children:"Smooth Following"}),e.jsx("input",{type:"checkbox",style:ke,checked:t.smoothFollowing,onChange:i=>n({...t,smoothFollowing:i.target.checked})})]})}),e.jsxs("label",{style:re,children:[e.jsx("span",{style:P,children:"Smoothing"}),e.jsx("input",{style:ue,type:"number",min:0,max:1,step:.01,value:t.smoothing,onChange:i=>n({...t,smoothing:Number(i.target.value)})})]})]})),x("visibility","Visibility",e.jsx(St,{}),e.jsxs(e.Fragment,{children:[e.jsx("label",{style:Se,children:e.jsxs("div",{style:we,children:[e.jsx("span",{style:P,children:"Show Overlay"}),e.jsx("input",{type:"checkbox",style:ke,checked:t.enabled,onChange:i=>n({...t,enabled:i.target.checked})})]})}),e.jsx("label",{style:Se,children:e.jsxs("div",{style:we,children:[e.jsx("span",{style:P,children:"Show Attach Image"}),e.jsx("input",{type:"checkbox",style:ke,checked:t.attachImageEnabled,onChange:i=>n({...t,attachImageEnabled:i.target.checked})})]})}),e.jsx("label",{style:Se,children:e.jsxs("div",{style:we,children:[e.jsx("span",{style:P,children:"Show Bounding Box"}),e.jsx("input",{type:"checkbox",style:ke,checked:t.showBoundingBox,onChange:i=>n({...t,showBoundingBox:i.target.checked})})]})})]}))]})]}):e.jsx("div",{role:"button",tabIndex:0,onClick:()=>s(!0),style:Ql,children:e.jsx(di,{})})]}),document.body)},yi={enabled:!0,bothHands:!0,countEnabled:!0,minCountConfidence:.35,showBones:!0,showJoints:!0,showBoundingBox:!0,showLabels:!1,visualScale:1,opacity:.9,jointRadius:3,lineWidth:1.5,labelScale:1,smoothing:.35},ui={position:"fixed",left:320,top:104,zIndex:2e4,pointerEvents:"none"},wn={pointerEvents:"auto",width:286,borderRadius:16,border:"1px solid rgba(255,255,255,0.12)",background:"rgba(8, 15, 28, 0.58)",boxShadow:"0 16px 36px rgba(0,0,0,0.28)",backdropFilter:"blur(20px) saturate(1.1)",WebkitBackdropFilter:"blur(20px) saturate(1.1)",color:"#f8fafc",overflowX:"hidden",overflowY:"auto",scrollbarWidth:"thin",scrollbarColor:"rgba(148,163,184,0.55) rgba(255,255,255,0.06)",overscrollBehavior:"contain"},gi={...wn,width:32,height:32,borderRadius:16,display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer"},bi={position:"sticky",top:0,zIndex:1,display:"flex",alignItems:"center",gap:7,padding:"7px 8px",borderBottom:"1px solid rgba(255,255,255,0.08)",background:"rgba(8, 15, 28, 0.88)",backdropFilter:"blur(20px) saturate(1.1)",WebkitBackdropFilter:"blur(20px) saturate(1.1)"},fi={display:"grid",gap:6,padding:7},ji={borderRadius:12,border:"1px solid rgba(255,255,255,0.08)",background:"rgba(255,255,255,0.03)",overflow:"hidden"},mi={display:"flex",alignItems:"center",gap:7,padding:"6px 7px"},Si={display:"flex",alignItems:"center",gap:6,fontSize:11,fontWeight:500,flex:"1 1 auto",minWidth:0},wi={width:28,height:16,borderRadius:999,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(255,255,255,0.08)",padding:2,display:"flex",alignItems:"center",cursor:"pointer",flex:"0 0 auto"},ki=t=>({width:10,height:10,borderRadius:999,background:t?"#f8fafc":"rgba(148,163,184,0.7)",transform:t?"translateX(12px)":"translateX(0)",transition:"transform 140ms ease, background 140ms ease"}),vi={display:"grid",gap:7,padding:"0 7px 7px"},qt={display:"grid",gridTemplateColumns:"repeat(2, minmax(0, 1fr))",gap:6},be={display:"flex",flexDirection:"column",gap:4},ve={...be,gridColumn:"1 / -1"},V={fontSize:9,color:"rgba(226,232,240,0.72)"},Ce={width:"100%",height:24,borderRadius:7,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(15,23,42,0.68)",color:"#f8fafc",fontSize:10.5,outline:"none",padding:"0 7px",boxSizing:"border-box"},Re={display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,minHeight:24},Ee={width:16,height:16},Jt={display:"inline-flex",alignItems:"center",justifyContent:"center",width:24,height:24,borderRadius:8,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(255,255,255,0.05)",color:"#e2e8f0",cursor:"pointer",padding:0,flex:"0 0 auto"},Ci=()=>e.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M7 10h10v2H7v-2zm0 4h10v2H7v-2zm0-8h10v2H7V6z"})}),Ri=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M18.3 5.71 12 12l6.3 6.29-1.41 1.41L10.59 13.41 4.29 19.7 2.88 18.29 9.17 12 2.88 5.71 4.29 4.3l6.3 6.29 6.29-6.3z"})}),Ei=()=>e.jsx("svg",{width:"11",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M8 6a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM8 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM8 18a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM16 6a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM16 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM16 18a2 2 0 1 1-4 0 2 2 0 0 1 4 0z"})}),wt=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M8 5a3 3 0 1 1-3-3 3 3 0 0 1 3 3zm11 11a3 3 0 1 0 3 3 3 3 0 0 0-3-3zM7.1 7.1l9.8 9.8 1.4-1.4-9.8-9.8-1.4 1.4zM19 2a3 3 0 1 0 3 3 3 3 0 0 0-3-3zM7.1 16.9l9.8-9.8-1.4-1.4-9.8 9.8 1.4 1.4zM5 16a3 3 0 1 0 3 3 3 3 0 0 0-3-3z"})}),zi=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M12 5V2L7 7l5 5V9a4 4 0 1 1-4 4H6a6 6 0 1 0 6-8z"})}),Ii=({value:t,onChange:n})=>{const[l,s]=u.useState(!0),[a,d]=u.useState({x:320,y:104}),[o,r]=u.useState(typeof window>"u"?0:window.innerHeight),[y,p]=u.useState({joints:!0,visibility:!0}),h=u.useRef(null),c=Math.max(240,o-a.y-16);u.useEffect(()=>{const i=j=>{h.current&&d({x:Math.max(8,j.clientX-h.current.x),y:Math.max(8,j.clientY-h.current.y)})},b=()=>{h.current=null,document.body.classList.remove("select-none")};return window.addEventListener("pointermove",i),window.addEventListener("pointerup",b),()=>{window.removeEventListener("pointermove",i),window.removeEventListener("pointerup",b)}},[]),u.useEffect(()=>{const i=()=>r(window.innerHeight);return window.addEventListener("resize",i),()=>window.removeEventListener("resize",i)},[]);const g=i=>{const b=i.currentTarget.getBoundingClientRect();h.current={x:i.clientX-b.left,y:i.clientY-b.top},document.body.classList.add("select-none"),i.currentTarget.setPointerCapture(i.pointerId)},x=(i,b,j,k)=>e.jsxs("div",{style:ji,children:[e.jsxs("div",{style:mi,children:[e.jsx("button",{type:"button",onClick:()=>p(C=>({...C,[i]:!C[i]})),style:wi,children:e.jsx("div",{style:ki(y[i])})}),e.jsxs("div",{style:Si,children:[e.jsx("span",{style:{display:"flex",width:18,height:18,alignItems:"center",justifyContent:"center",borderRadius:6,background:"rgba(255,255,255,0.08)",border:"1px solid rgba(255,255,255,0.08)",color:"#e2e8f0",flex:"0 0 auto"},children:j}),e.jsx("span",{children:b})]})]}),y[i]?e.jsx("div",{style:vi,children:k}):null]},i);return typeof document>"u"?null:pe.createPortal(e.jsx("div",{style:{...ui,left:a.x,top:a.y},children:l?e.jsxs("div",{style:{...wn,height:c},children:[e.jsxs("div",{style:bi,children:[e.jsx("div",{onPointerDown:g,style:{width:16,height:16,display:"flex",alignItems:"center",justifyContent:"center",cursor:"grab",color:"rgba(148,163,184,0.82)",flex:"0 0 auto"},children:e.jsx(Ei,{})}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,fontSize:11,fontWeight:600,minWidth:0},children:[e.jsx("span",{style:{display:"flex",width:18,height:18,alignItems:"center",justifyContent:"center",borderRadius:6,background:"rgba(255,255,255,0.08)",border:"1px solid rgba(255,255,255,0.08)",color:"#e2e8f0",flex:"0 0 auto"},children:e.jsx(wt,{})}),e.jsx("span",{children:"HandJoints2D"})]}),e.jsx("div",{style:{flex:"1 1 auto"}}),e.jsx("button",{type:"button",onClick:()=>n(yi),style:Jt,children:e.jsx(zi,{})}),e.jsx("button",{type:"button",onClick:()=>s(!1),style:Jt,children:e.jsx(Ri,{})})]}),e.jsxs("div",{style:fi,children:[x("joints","Joints",e.jsx(wt,{}),e.jsxs("div",{style:qt,children:[e.jsxs("label",{style:be,children:[e.jsx("span",{style:V,children:"Visual Scale"}),e.jsx("input",{style:Ce,type:"number",min:.25,max:2,step:.01,value:t.visualScale,onChange:i=>n({...t,visualScale:Number(i.target.value)})})]}),e.jsxs("label",{style:be,children:[e.jsx("span",{style:V,children:"Opacity"}),e.jsx("input",{style:Ce,type:"number",min:0,max:1,step:.01,value:t.opacity,onChange:i=>n({...t,opacity:Number(i.target.value)})})]}),e.jsxs("label",{style:be,children:[e.jsx("span",{style:V,children:"Joint Radius"}),e.jsx("input",{style:Ce,type:"number",min:.5,max:24,step:.5,value:t.jointRadius,onChange:i=>n({...t,jointRadius:Number(i.target.value)})})]}),e.jsxs("label",{style:be,children:[e.jsx("span",{style:V,children:"Line Width"}),e.jsx("input",{style:Ce,type:"number",min:.01,max:100,step:.1,value:t.lineWidth,onChange:i=>n({...t,lineWidth:Number(i.target.value)})})]}),e.jsxs("label",{style:be,children:[e.jsx("span",{style:V,children:"Label Size"}),e.jsx("input",{style:Ce,type:"number",min:.25,max:3,step:.05,value:t.labelScale,onChange:i=>n({...t,labelScale:Number(i.target.value)})})]}),e.jsxs("label",{style:be,children:[e.jsx("span",{style:V,children:"Smoothing"}),e.jsx("input",{style:Ce,type:"number",min:0,max:1,step:.01,value:t.smoothing,onChange:i=>n({...t,smoothing:Number(i.target.value)})})]}),e.jsxs("label",{style:be,children:[e.jsx("span",{style:V,children:"Min Count Confidence"}),e.jsx("input",{style:Ce,type:"number",min:0,max:1,step:.01,value:t.minCountConfidence,onChange:i=>n({...t,minCountConfidence:Number(i.target.value)})})]})]})),x("visibility","Visibility",e.jsx(wt,{}),e.jsxs("div",{style:qt,children:[e.jsx("label",{style:ve,children:e.jsxs("div",{style:Re,children:[e.jsx("span",{style:V,children:"Show Joints"}),e.jsx("input",{type:"checkbox",style:Ee,checked:t.enabled,onChange:i=>n({...t,enabled:i.target.checked})})]})}),e.jsx("label",{style:ve,children:e.jsxs("div",{style:Re,children:[e.jsx("span",{style:V,children:"Both Hands"}),e.jsx("input",{type:"checkbox",style:Ee,checked:t.bothHands,onChange:i=>n({...t,bothHands:i.target.checked})})]})}),e.jsx("label",{style:ve,children:e.jsxs("div",{style:Re,children:[e.jsx("span",{style:V,children:"Count Fingers"}),e.jsx("input",{type:"checkbox",style:Ee,checked:t.countEnabled,onChange:i=>n({...t,countEnabled:i.target.checked})})]})}),e.jsx("label",{style:ve,children:e.jsxs("div",{style:Re,children:[e.jsx("span",{style:V,children:"Joint Dots"}),e.jsx("input",{type:"checkbox",style:Ee,checked:t.showJoints,onChange:i=>n({...t,showJoints:i.target.checked})})]})}),e.jsx("label",{style:ve,children:e.jsxs("div",{style:Re,children:[e.jsx("span",{style:V,children:"Bone Lines"}),e.jsx("input",{type:"checkbox",style:Ee,checked:t.showBones,onChange:i=>n({...t,showBones:i.target.checked})})]})}),e.jsx("label",{style:ve,children:e.jsxs("div",{style:Re,children:[e.jsx("span",{style:V,children:"Bounding Box"}),e.jsx("input",{type:"checkbox",style:Ee,checked:t.showBoundingBox,onChange:i=>n({...t,showBoundingBox:i.target.checked})})]})}),e.jsx("label",{style:ve,children:e.jsxs("div",{style:Re,children:[e.jsx("span",{style:V,children:"Labels"}),e.jsx("input",{type:"checkbox",style:Ee,checked:t.showLabels,onChange:i=>n({...t,showLabels:i.target.checked})})]})})]}))]})]}):e.jsx("div",{role:"button",tabIndex:0,onClick:()=>s(!0),style:gi,children:e.jsx(Ci,{})})}),document.body)},Ti={enabled:!0,bothHands:!0,space:"scene",showJoints:!0,showBones:!0,showLabels:!1,handScale:1,depthScale:1,trackingDistanceM:.6096,projectionDistanceM:2,fitX:1,fitY:.9,offsetX:0,offsetY:0,offsetZ:0,jointRadius:.012,boneRadius:.012,opacity:.88,smoothing:.35},Mi={position:"fixed",left:320,top:104,zIndex:2e4,pointerEvents:"none"},kn={pointerEvents:"auto",width:286,borderRadius:16,border:"1px solid rgba(255,255,255,0.12)",background:"rgba(8, 15, 28, 0.58)",boxShadow:"0 16px 36px rgba(0,0,0,0.28)",backdropFilter:"blur(20px) saturate(1.1)",WebkitBackdropFilter:"blur(20px) saturate(1.1)",color:"#f8fafc",overflowX:"hidden",overflowY:"auto",scrollbarWidth:"thin",scrollbarColor:"rgba(148,163,184,0.55) rgba(255,255,255,0.06)",overscrollBehavior:"contain"},Wi={...kn,width:32,height:32,borderRadius:16,display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer"},Fi={position:"sticky",top:0,zIndex:1,display:"flex",alignItems:"center",gap:7,padding:"7px 8px",borderBottom:"1px solid rgba(255,255,255,0.08)",background:"rgba(8, 15, 28, 0.88)",backdropFilter:"blur(20px) saturate(1.1)",WebkitBackdropFilter:"blur(20px) saturate(1.1)"},Li={display:"grid",gap:6,padding:7},Ni={borderRadius:12,border:"1px solid rgba(255,255,255,0.08)",background:"rgba(255,255,255,0.03)",overflow:"hidden"},Oi={display:"flex",alignItems:"center",gap:7,padding:"6px 7px"},$i={display:"flex",alignItems:"center",gap:6,fontSize:11,fontWeight:500,flex:"1 1 auto",minWidth:0},Ai={width:28,height:16,borderRadius:999,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(255,255,255,0.08)",padding:2,display:"flex",alignItems:"center",cursor:"pointer",flex:"0 0 auto"},Di=t=>({width:10,height:10,borderRadius:999,background:t?"#f8fafc":"rgba(148,163,184,0.7)",transform:t?"translateX(12px)":"translateX(0)",transition:"transform 140ms ease, background 140ms ease"}),Bi={display:"grid",gap:7,padding:"0 7px 7px"},kt={display:"grid",gridTemplateColumns:"repeat(2, minmax(0, 1fr))",gap:6},K={display:"flex",flexDirection:"column",gap:4},Le={...K,gridColumn:"1 / -1"},D={fontSize:9,color:"rgba(226,232,240,0.72)"},H={width:"100%",height:24,borderRadius:7,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(15,23,42,0.68)",color:"#f8fafc",fontSize:10.5,outline:"none",padding:"0 7px",boxSizing:"border-box"},Xe={display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,minHeight:24},Ze={width:16,height:16},Qt={display:"inline-flex",alignItems:"center",justifyContent:"center",width:24,height:24,borderRadius:8,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(255,255,255,0.05)",color:"#e2e8f0",cursor:"pointer",padding:0,flex:"0 0 auto"},Pi=()=>e.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M7 10h10v2H7v-2zm0 4h10v2H7v-2zm0-8h10v2H7V6z"})}),Vi=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M18.3 5.71 12 12l6.3 6.29-1.41 1.41L10.59 13.41 4.29 19.7 2.88 18.29 9.17 12 2.88 5.71 4.29 4.3l6.3 6.29 6.29-6.3z"})}),Hi=()=>e.jsx("svg",{width:"11",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M8 6a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM8 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM8 18a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM16 6a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM16 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM16 18a2 2 0 1 1-4 0 2 2 0 0 1 4 0z"})}),at=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M11 2a1 1 0 0 1 1 1v6h1V3a1 1 0 1 1 2 0v6h1V4a1 1 0 1 1 2 0v7.3l1.6 2.4a5 5 0 0 1 .8 2.7V18a4 4 0 0 1-4 4H9a6 6 0 0 1-6-6v-3.5a2.5 2.5 0 0 1 5 0V15h1V3a1 1 0 0 1 1-1z"})}),Ki=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M12 5V2L7 7l5 5V9a4 4 0 1 1-4 4H6a6 6 0 1 0 6-8z"})}),_i=({value:t,onChange:n})=>{const[l,s]=u.useState(!0),[a,d]=u.useState({x:320,y:104}),[o,r]=u.useState(typeof window>"u"?0:window.innerHeight),[y,p]=u.useState({visual:!0,calibration:!0,visibility:!0}),h=u.useRef(null),c=Math.max(240,o-a.y-16);u.useEffect(()=>{const i=j=>{h.current&&d({x:Math.max(8,j.clientX-h.current.x),y:Math.max(8,j.clientY-h.current.y)})},b=()=>{h.current=null,document.body.classList.remove("select-none")};return window.addEventListener("pointermove",i),window.addEventListener("pointerup",b),()=>{window.removeEventListener("pointermove",i),window.removeEventListener("pointerup",b)}},[]),u.useEffect(()=>{const i=()=>r(window.innerHeight);return window.addEventListener("resize",i),()=>window.removeEventListener("resize",i)},[]);const g=i=>{const b=i.currentTarget.getBoundingClientRect();h.current={x:i.clientX-b.left,y:i.clientY-b.top},document.body.classList.add("select-none"),i.currentTarget.setPointerCapture(i.pointerId)},x=(i,b,j,k)=>e.jsxs("div",{style:Ni,children:[e.jsxs("div",{style:Oi,children:[e.jsx("button",{type:"button",onClick:()=>p(C=>({...C,[i]:!C[i]})),style:Ai,children:e.jsx("div",{style:Di(y[i])})}),e.jsxs("div",{style:$i,children:[e.jsx("span",{style:{display:"flex",width:18,height:18,alignItems:"center",justifyContent:"center",borderRadius:6,background:"rgba(255,255,255,0.08)",border:"1px solid rgba(255,255,255,0.08)",color:"#e2e8f0",flex:"0 0 auto"},children:j}),e.jsx("span",{children:b})]})]}),y[i]?e.jsx("div",{style:Bi,children:k}):null]},i);return typeof document>"u"?null:pe.createPortal(e.jsx("div",{style:{...Mi,left:a.x,top:a.y},children:l?e.jsxs("div",{style:{...kn,height:c},children:[e.jsxs("div",{style:Fi,children:[e.jsx("div",{onPointerDown:g,style:{width:16,height:16,display:"flex",alignItems:"center",justifyContent:"center",cursor:"grab",color:"rgba(148,163,184,0.82)",flex:"0 0 auto"},children:e.jsx(Hi,{})}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,fontSize:11,fontWeight:600,minWidth:0},children:[e.jsx("span",{style:{display:"flex",width:18,height:18,alignItems:"center",justifyContent:"center",borderRadius:6,background:"rgba(255,255,255,0.08)",border:"1px solid rgba(255,255,255,0.08)",color:"#e2e8f0",flex:"0 0 auto"},children:e.jsx(at,{})}),e.jsx("span",{children:"HandTracking3D"})]}),e.jsx("div",{style:{flex:"1 1 auto"}}),e.jsx("button",{type:"button",onClick:()=>n(Ti),style:Qt,children:e.jsx(Ki,{})}),e.jsx("button",{type:"button",onClick:()=>s(!1),style:Qt,children:e.jsx(Vi,{})})]}),e.jsxs("div",{style:Li,children:[x("visual","Visual",e.jsx(at,{}),e.jsxs("div",{style:kt,children:[e.jsxs("label",{style:Le,children:[e.jsx("span",{style:D,children:"Space"}),e.jsxs("select",{style:H,value:t.space,onChange:i=>n({...t,space:i.target.value}),children:[e.jsx("option",{value:"scene",children:"Scene"}),e.jsx("option",{value:"screen",children:"Screen Fit"})]})]}),e.jsxs("label",{style:K,children:[e.jsx("span",{style:D,children:"Joint Size"}),e.jsx("input",{style:H,type:"number",min:5e-4,max:.08,step:5e-4,value:t.jointRadius,onChange:i=>n({...t,jointRadius:Number(i.target.value)})})]}),e.jsxs("label",{style:K,children:[e.jsx("span",{style:D,children:"Bone Radius"}),e.jsx("input",{style:H,type:"number",min:.001,max:.12,step:.001,value:t.boneRadius,onChange:i=>n({...t,boneRadius:Number(i.target.value)})})]}),e.jsxs("label",{style:K,children:[e.jsx("span",{style:D,children:"Opacity"}),e.jsx("input",{style:H,type:"number",min:0,max:1,step:.01,value:t.opacity,onChange:i=>n({...t,opacity:Number(i.target.value)})})]}),e.jsxs("label",{style:K,children:[e.jsx("span",{style:D,children:"Smoothing"}),e.jsx("input",{style:H,type:"number",min:0,max:1,step:.01,value:t.smoothing,onChange:i=>n({...t,smoothing:Number(i.target.value)})})]})]})),x("calibration","Calibration",e.jsx(at,{}),e.jsxs("div",{style:kt,children:[e.jsxs("label",{style:K,children:[e.jsx("span",{style:D,children:"Hand Distance Ref (m)"}),e.jsx("input",{style:H,type:"number",min:.05,max:5,step:.01,value:t.trackingDistanceM,onChange:i=>n({...t,trackingDistanceM:Number(i.target.value)})})]}),e.jsxs("label",{style:K,children:[e.jsx("span",{style:D,children:"Projection Distance"}),e.jsx("input",{style:H,type:"number",min:.05,max:10,step:.01,value:t.projectionDistanceM,onChange:i=>n({...t,projectionDistanceM:Number(i.target.value)})})]}),e.jsxs("label",{style:K,children:[e.jsx("span",{style:D,children:"Hand Scale"}),e.jsx("input",{style:H,type:"number",min:.1,max:8,step:.01,value:t.handScale,onChange:i=>n({...t,handScale:Number(i.target.value)})})]}),e.jsxs("label",{style:K,children:[e.jsx("span",{style:D,children:"Fit X"}),e.jsx("input",{style:H,type:"number",min:.1,max:4,step:.01,value:t.fitX,onChange:i=>n({...t,fitX:Number(i.target.value)})})]}),e.jsxs("label",{style:K,children:[e.jsx("span",{style:D,children:"Fit Y"}),e.jsx("input",{style:H,type:"number",min:.1,max:4,step:.01,value:t.fitY,onChange:i=>n({...t,fitY:Number(i.target.value)})})]}),e.jsxs("label",{style:K,children:[e.jsx("span",{style:D,children:"Offset X"}),e.jsx("input",{style:H,type:"number",min:-5,max:5,step:.01,value:t.offsetX,onChange:i=>n({...t,offsetX:Number(i.target.value)})})]}),e.jsxs("label",{style:K,children:[e.jsx("span",{style:D,children:"Offset Y"}),e.jsx("input",{style:H,type:"number",min:-5,max:5,step:.01,value:t.offsetY,onChange:i=>n({...t,offsetY:Number(i.target.value)})})]}),e.jsxs("label",{style:K,children:[e.jsx("span",{style:D,children:"Offset Z"}),e.jsx("input",{style:H,type:"number",min:-5,max:5,step:.01,value:t.offsetZ,onChange:i=>n({...t,offsetZ:Number(i.target.value)})})]}),e.jsxs("label",{style:K,children:[e.jsx("span",{style:D,children:"Depth Scale"}),e.jsx("input",{style:H,type:"number",min:0,max:10,step:.1,value:t.depthScale,onChange:i=>n({...t,depthScale:Number(i.target.value)})})]})]})),x("visibility","Visibility",e.jsx(at,{}),e.jsxs("div",{style:kt,children:[e.jsx("label",{style:Le,children:e.jsxs("div",{style:Xe,children:[e.jsx("span",{style:D,children:"Show 3D Hand"}),e.jsx("input",{type:"checkbox",style:Ze,checked:t.enabled,onChange:i=>n({...t,enabled:i.target.checked})})]})}),e.jsx("label",{style:Le,children:e.jsxs("div",{style:Xe,children:[e.jsx("span",{style:D,children:"Both Hands"}),e.jsx("input",{type:"checkbox",style:Ze,checked:t.bothHands,onChange:i=>n({...t,bothHands:i.target.checked})})]})}),e.jsx("label",{style:Le,children:e.jsxs("div",{style:Xe,children:[e.jsx("span",{style:D,children:"Joint Spheres"}),e.jsx("input",{type:"checkbox",style:Ze,checked:t.showJoints,onChange:i=>n({...t,showJoints:i.target.checked})})]})}),e.jsx("label",{style:Le,children:e.jsxs("div",{style:Xe,children:[e.jsx("span",{style:D,children:"Bone Cylinders"}),e.jsx("input",{type:"checkbox",style:Ze,checked:t.showBones,onChange:i=>n({...t,showBones:i.target.checked})})]})}),e.jsx("label",{style:Le,children:e.jsxs("div",{style:Xe,children:[e.jsx("span",{style:D,children:"Labels"}),e.jsx("input",{type:"checkbox",style:Ze,checked:t.showLabels,onChange:i=>n({...t,showLabels:i.target.checked})})]})})]}))]})]}):e.jsx("div",{role:"button",tabIndex:0,onClick:()=>s(!0),style:Wi,children:e.jsx(Pi,{})})}),document.body)},Gi=1e3;function Ui(t,n=Gi){return t.map((l,s)=>({...l,renderOrder:n+(t.length-s)}))}function Xi(t,n,l){const s=t.findIndex(r=>r.id===n),a=t.findIndex(r=>r.id===l);if(s<0||a<0||s===a)return t;const d=[...t],[o]=d.splice(s,1);return d.splice(a,0,o),Ui(d)}const Zi={position:"fixed",left:14,top:104,zIndex:2e4,pointerEvents:"none"},en={pointerEvents:"auto",width:284,borderRadius:16,border:"1px solid rgba(255,255,255,0.12)",background:"rgba(8, 15, 28, 0.58)",boxShadow:"0 16px 36px rgba(0,0,0,0.28)",backdropFilter:"blur(20px) saturate(1.1)",WebkitBackdropFilter:"blur(20px) saturate(1.1)",color:"#f8fafc",overflowX:"hidden",overflowY:"auto",scrollbarWidth:"thin",scrollbarColor:"rgba(148,163,184,0.55) rgba(255,255,255,0.06)",overscrollBehavior:"contain"},It={display:"inline-flex",alignItems:"center",justifyContent:"center",width:22,height:22,borderRadius:8,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(255,255,255,0.05)",color:"#e2e8f0",cursor:"pointer",padding:0,flex:"0 0 auto"},Yi={position:"sticky",top:0,zIndex:1,display:"flex",alignItems:"center",gap:8,padding:"8px 8px",borderBottom:"1px solid rgba(255,255,255,0.08)",background:"rgba(8, 15, 28, 0.88)",backdropFilter:"blur(20px) saturate(1.1)",WebkitBackdropFilter:"blur(20px) saturate(1.1)"},qi={width:16,height:16,display:"flex",alignItems:"center",justifyContent:"center",cursor:"grab",color:"rgba(148,163,184,0.82)",flex:"0 0 auto"},Ji={display:"flex",alignItems:"center",gap:6,fontSize:11,fontWeight:600,minWidth:0},Qi={display:"flex",width:18,height:18,alignItems:"center",justifyContent:"center",borderRadius:6,background:"rgba(255,255,255,0.08)",border:"1px solid rgba(255,255,255,0.08)",color:"#e2e8f0",flex:"0 0 auto"},eo={display:"grid",gap:6,padding:7},to=t=>({display:"grid",gridTemplateColumns:"20px 20px 20px minmax(0, 1fr)",alignItems:"center",gap:6,minHeight:34,padding:"6px 7px",borderRadius:10,border:t?"1px solid rgba(56,189,248,0.5)":"1px solid rgba(255,255,255,0.08)",background:t?"rgba(56,189,248,0.10)":"rgba(255,255,255,0.03)",cursor:"pointer",opacity:1}),no={display:"flex",flexDirection:"column",gap:2,minWidth:0},so={fontSize:10,fontWeight:600,lineHeight:1.15,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},lo={fontSize:9,color:"rgba(226,232,240,0.6)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},vt={...It,width:20,height:20,borderRadius:7,fontSize:11,lineHeight:1},io=({off:t=!1})=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:t?e.jsx("path",{d:"M2 2l20 20-1.4 1.4-3.2-3.2C15.9 21 14.1 21.5 12 21.5 6.5 21.5 2 16 1 12c.4-1.8 1.1-3.4 2.2-4.8L.6 4.6 2 2zm10 4c3.9 0 7.4 2.8 9.2 6-1 1.8-2.6 3.5-4.4 4.6l-2-2c.1-.3.2-.7.2-1.1a3 3 0 0 0-3-3c-.4 0-.8.1-1.1.2l-1.9-1.9C10.2 6.8 11.1 6 12 6z"}):e.jsx("path",{d:"M12 5c5.5 0 10 5 11 7-.9 2-5.5 7-11 7S2 14 1 12c1-2 5.5-7 11-7zm0 3.2A3.8 3.8 0 1 0 12 16.8 3.8 3.8 0 0 0 12 8.2z"})}),oo=({off:t=!1})=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:t?e.jsx("path",{d:"M18 8h-1V6a5 5 0 0 0-9.1-2.9l1.5 1.5A3 3 0 0 1 16 6v2H8a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h9.2l1.8 1.8 1.4-1.4L2.6 3.4 1.2 4.8 5 8.6V20h14a2 2 0 0 0 2-2v-8a2 2 0 0 0-2-2z"}):e.jsx("path",{d:"M7 10V8a5 5 0 0 1 10 0v2h1a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h1zm2 0h6V8a3 3 0 0 0-6 0v2z"})}),ro=()=>e.jsx("svg",{width:"11",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M11 2h2v4h3l-4 4-4-4h3V2zm0 20v-4H8l4-4 4 4h-3v4h-2zM2 11h4V8l4 4-4 4v-3H2v-2zm20 0v2h-4v3l-4-4 4-4v3h4z"})}),tn=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M12 3 1 9l11 6 11-6-11-6zm0 8L1 5v4l11 6 11-6V5l-11 6zm0 6L1 11v4l11 6 11-6v-4l-11 6z"})}),ao=({layers:t,selectedLayerId:n,onSelectLayer:l,onToggleVisible:s,onToggleEnabled:a,onReorder:d,onToggleLocked:o,initialPosition:r,title:y="Layers"})=>{const[p,h]=u.useState(!0),[c,g]=u.useState(r??{x:644,y:104}),[x,i]=u.useState(typeof window>"u"?0:window.innerHeight),b=u.useRef(null),[j,k]=u.useState(null),C=Math.max(240,x-c.y-16);if(u.useEffect(()=>{const w=T=>{b.current&&g({x:Math.max(8,T.clientX-b.current.x),y:Math.max(8,T.clientY-b.current.y)})},O=()=>{b.current=null,document.body.classList.remove("select-none")};return window.addEventListener("pointermove",w),window.addEventListener("pointerup",O),()=>{window.removeEventListener("pointermove",w),window.removeEventListener("pointerup",O)}},[]),u.useEffect(()=>{const w=()=>i(window.innerHeight);return window.addEventListener("resize",w),()=>window.removeEventListener("resize",w)},[]),typeof document>"u")return null;const L=w=>{const O=w.currentTarget.getBoundingClientRect();b.current={x:w.clientX-O.left,y:w.clientY-O.top},document.body.classList.add("select-none"),w.currentTarget.setPointerCapture(w.pointerId)},S=w=>{if(!j||j===w){k(null);return}const O=t.findIndex(B=>B.id===j),T=t.findIndex(B=>B.id===w);if(O<0||T<0){k(null);return}d(Xi(t,j,w)),k(null)};return pe.createPortal(e.jsx("div",{style:{...Zi,left:c.x,top:c.y},children:p?e.jsxs("div",{style:{...en,height:C},children:[e.jsxs("div",{style:Yi,children:[e.jsx("div",{onPointerDown:L,style:qi,children:e.jsx(ro,{})}),e.jsxs("div",{style:Ji,children:[e.jsx("span",{style:Qi,children:e.jsx(tn,{})}),e.jsx("span",{children:y})]}),e.jsx("div",{style:{flex:"1 1 auto"}}),e.jsx("button",{type:"button",onClick:()=>h(!1),style:It,children:"−"})]}),e.jsx("div",{style:eo,children:t.map((w,O)=>e.jsxs("div",{style:to(n===w.id),draggable:!0,onDragStart:()=>k(w.id),onDragOver:T=>T.preventDefault(),onDrop:()=>S(w.id),onClick:()=>l(w.id),title:w.label,children:[e.jsx("button",{type:"button",style:vt,onClick:T=>{T.stopPropagation(),s(w.id,!w.visible)},children:e.jsx(io,{off:!w.visible})}),e.jsx("button",{type:"button",style:vt,onClick:T=>{T.stopPropagation(),a(w.id,!w.enabled)},children:w.enabled?"●":"○"}),e.jsx("button",{type:"button",style:vt,onClick:T=>{T.stopPropagation(),o==null||o(w.id,!w.locked)},children:e.jsx(oo,{off:!w.locked})}),e.jsxs("div",{style:no,children:[e.jsx("div",{style:so,children:w.label}),e.jsxs("div",{style:lo,children:[w.domain," / ",w.type," • #",t.length-O]})]})]},w.id))})]}):e.jsx("div",{role:"button",tabIndex:0,onClick:()=>h(!0),style:{...en,...It,width:32,height:32,display:"flex",alignItems:"center",justifyContent:"center"},children:e.jsx(tn,{})})}),document.body)},co={position:"fixed",zIndex:2e4,pointerEvents:"none"},nn={pointerEvents:"auto",width:300,borderRadius:16,border:"1px solid rgba(255,255,255,.12)",background:"rgba(8,15,28,.78)",boxShadow:"0 16px 36px rgba(0,0,0,.28)",backdropFilter:"blur(20px) saturate(1.1)",color:"#f8fafc",overflow:"auto"},Ye={display:"inline-flex",alignItems:"center",justifyContent:"center",width:22,height:22,padding:0,borderRadius:7,border:"1px solid rgba(255,255,255,.1)",background:"rgba(255,255,255,.05)",color:"#e2e8f0",cursor:"pointer"},sn=t=>{try{return JSON.parse(t.dataTransfer.getData("application/x-xr-hierarchy"))}catch{return null}},po=async t=>{var l;if((l=navigator.clipboard)!=null&&l.writeText){await navigator.clipboard.writeText(t);return}const n=document.createElement("textarea");n.value=t,n.setAttribute("readonly",""),n.style.position="fixed",n.style.left="-9999px",document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n)},vn=({groups:t,objects:n,selectedObjectId:l,onSelectObject:s,onReorderGroup:a,onReorderObject:d,onMoveObject:o,onSetObjectParent:r,onToggleGroupEnabled:y,onToggleObjectVisible:p,copyConfig:h,initialPosition:c={x:14,y:104},title:g="Hierarchy"})=>{const[x,i]=u.useState(!0),[b,j]=u.useState(c),[k,C]=u.useState(new Set),[L,S]=u.useState(new Set),[w,O]=u.useState(!1),[T,B]=u.useState(null),_=u.useRef(null),he=t.filter(f=>f.objectIds.some(v=>!!n[v]));if(u.useEffect(()=>{const f=A=>{_.current&&j({x:Math.max(8,A.clientX-_.current.x),y:Math.max(8,A.clientY-_.current.y)})},v=()=>{_.current=null};return window.addEventListener("pointermove",f),window.addEventListener("pointerup",v),()=>{window.removeEventListener("pointermove",f),window.removeEventListener("pointerup",v)}},[]),typeof document>"u")return null;const te=(f,v)=>{f.stopPropagation(),f.dataTransfer.effectAllowed="move",f.dataTransfer.setData("application/x-xr-hierarchy",JSON.stringify(v)),B(null)},xe=(f,v,A)=>{var E;f.preventDefault(),f.stopPropagation();const I=sn(f);if(I){if(I.kind==="group"){a(I.groupId,A);return}if(!(r!=null&&r(I.objectId,null,v.objectIds.length,v.id))){if(I.groupId===v.id){d(v.id,I.objectId,v.objectIds.length-1);return}o(I.objectId,v.id,v.objectIds.length)||B(`${((E=n[I.objectId])==null?void 0:E.name)??"Object"} is not compatible with ${v.name}.`)}}},M=(f,v,A,I)=>{var Be;f.preventDefault(),f.stopPropagation();const E=sn(f);if(!(!E||E.kind!=="object")&&E.objectId!==A){if(r!=null&&r(E.objectId,A,z(A).length,v.id)){S(We=>{const Pe=new Set(We);return Pe.delete(A),Pe});return}E.groupId===v.id?d(v.id,E.objectId,I):o(E.objectId,v.id,I)||B(`${((Be=n[E.objectId])==null?void 0:Be.name)??"Object"} is not compatible with ${v.name}.`)}},z=f=>{const v=n[f],A=(v==null?void 0:v.childObjectIds)??[],I=Object.values(n).filter(E=>E.parentObjectId===f).map(E=>E.id);return[...new Set([...A,...I])].filter(E=>!!n[E])},ye=(f,v,A,I)=>{const E=n[f];if(!E)return null;const Be=l===f,We=z(f),Pe=L.has(f);return e.jsxs("div",{style:{display:"grid",gap:4},children:[e.jsxs("div",{draggable:!0,onDragStart:J=>te(J,{kind:"object",groupId:v.id,objectId:f}),onDragOver:J=>J.preventDefault(),onDrop:J=>M(J,v,f,A),onClick:()=>s(f),style:{display:"grid",gridTemplateColumns:`${We.length?22:0}px ${p?"22px ":""}minmax(0,1fr)`,alignItems:"center",gap:We.length||p?6:0,minHeight:30,padding:`4px 7px 4px ${Math.max(10,24+I*16)}px`,border:Be?"1px solid rgba(56,189,248,.55)":"1px solid transparent",borderRadius:8,background:Be?"rgba(56,189,248,.12)":"rgba(255,255,255,.025)",cursor:"grab",opacity:E.enabled?1:.5},children:[We.length?e.jsx("button",{type:"button",style:Ye,onClick:J=>{J.stopPropagation(),S(ut=>{const rt=new Set(ut);return rt.has(f)?rt.delete(f):rt.add(f),rt})},children:Pe?"▸":"▾"}):e.jsx("span",{}),p?e.jsx("button",{type:"button",style:Ye,onClick:J=>{J.stopPropagation(),p(f,!E.enabled)},children:E.enabled?"●":"○"}):null,e.jsx("span",{style:{overflow:"hidden",textOverflow:"ellipsis",fontSize:10},children:E.name})]}),Pe?null:We.map((J,ut)=>ye(J,v,ut,I+1))]},f)},N=async()=>{if(h!==void 0)try{await po(JSON.stringify(h,null,2)),O(!0),window.setTimeout(()=>O(!1),1400)}catch{B("Unable to copy the scene configuration.")}};return pe.createPortal(e.jsx("div",{style:{...co,left:b.x,top:b.y},children:x?e.jsxs("section",{style:{...nn,maxHeight:`calc(100vh - ${b.y+16}px)`},children:[e.jsx("header",{onPointerDown:f=>{const v=f.currentTarget.getBoundingClientRect();_.current={x:f.clientX-v.left,y:f.clientY-v.top}},style:{position:"sticky",top:0,zIndex:2,padding:"10px 12px",borderBottom:"1px solid rgba(255,255,255,.08)",background:"rgba(8,15,28,.94)",cursor:"grab"},children:e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:12},children:[e.jsx("strong",{children:g}),e.jsx("div",{style:{flex:"1 1 auto"}}),e.jsx("button",{type:"button","aria-label":`Fold ${g}`,"aria-expanded":"true",onPointerDown:f=>f.stopPropagation(),onClick:()=>i(!1),style:Ye,children:"−"})]})}),e.jsxs("div",{style:{display:"grid",gap:7,padding:7},children:[h!==void 0&&e.jsx("button",{type:"button",onClick:N,style:{width:"100%",height:28,borderRadius:8,border:"1px solid rgba(56,189,248,.28)",background:"rgba(56,189,248,.14)",color:"#e0f2fe",cursor:"pointer",fontSize:10,fontWeight:700},children:w?"Copied Config":"Copy Config"}),he.map(f=>{const v=t.findIndex(I=>I.id===f.id),A=k.has(f.id);return e.jsxs("section",{onDragOver:I=>I.preventDefault(),onDrop:I=>xe(I,f,v),style:{border:"1px solid rgba(255,255,255,.1)",borderRadius:10,overflow:"hidden",opacity:f.enabled?1:.55},children:[e.jsxs("div",{draggable:!0,onDragStart:I=>te(I,{kind:"group",groupId:f.id}),style:{display:"grid",gridTemplateColumns:"22px 22px minmax(0,1fr)",gap:5,alignItems:"center",padding:"6px",background:"rgba(255,255,255,.06)",cursor:"grab"},children:[e.jsx("button",{type:"button",style:Ye,onClick:()=>C(I=>{const E=new Set(I);return E.has(f.id)?E.delete(f.id):E.add(f.id),E}),children:A?"▸":"▾"}),e.jsx("button",{type:"button",style:Ye,title:"Toggle group visibility",onClick:()=>y(f.id,!f.enabled),children:f.enabled?"◉":"○"}),e.jsx("div",{style:{minWidth:0},children:e.jsx("div",{style:{fontSize:10,fontWeight:700},children:f.name})})]}),!A&&e.jsx("div",{style:{display:"grid",gap:4,padding:f.objectIds.length?5:0},children:f.objectIds.filter(I=>{var E;return!((E=n[I])!=null&&E.parentObjectId)}).map((I,E)=>ye(I,f,E,0))})]},f.id)}),T&&e.jsx("div",{role:"alert",style:{color:"#fca5a5",fontSize:9,padding:"2px 5px 5px"},children:T})]})]}):e.jsx("button",{type:"button","aria-expanded":"false",onClick:()=>i(!0),style:{...nn,width:"auto",padding:"9px 12px",cursor:"pointer",fontSize:11,fontWeight:700},children:g})}),document.body)},dt={display:"grid",gridTemplateColumns:"92px minmax(0, 1fr)",alignItems:"center",gap:10,margin:"8px 0",color:"#cbd5e1",fontSize:12},ho=t=>({display:"grid",gridTemplateColumns:`92px repeat(${t}, minmax(0, 1fr))`,alignItems:"center",gap:6,margin:"8px 0"}),xo={fontSize:12,color:"#cbd5e1"},Ct={width:"100%",boxSizing:"border-box",padding:"8px 9px",border:"1px solid rgba(148,163,184,.16)",borderRadius:6,background:"rgba(15,23,42,.72)",color:"#e2e8f0"},yo={width:"100%",minWidth:0,height:24,boxSizing:"border-box",borderRadius:7,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(15,23,42,0.68)",padding:"0 7px",outline:0,color:"#f8fafc",fontSize:10.5,fontVariantNumeric:"tabular-nums"},uo=t=>/^-?\d*(\.\d*)?$/.test(t),ct=t=>Number.isFinite(t)?String(t):"0",go=({onChange:t,value:n})=>{const[l,s]=u.useState(ct(n));return u.useEffect(()=>{s(ct(n))},[n]),e.jsx("input",{style:yo,type:"text",inputMode:"decimal",value:l,placeholder:"0",onBlur:()=>{if(l.trim()===""){s(ct(n));return}const a=Number(l);if(Number.isNaN(a)){s(ct(n));return}t(a)},onChange:a=>{const d=a.currentTarget.value;if(!uo(d)||(s(d),d===""||d==="-"||d==="."||d==="-."))return;const o=Number(d);Number.isNaN(o)||t(o)},onKeyDown:a=>{if(a.key!=="ArrowUp"&&a.key!=="ArrowDown")return;a.preventDefault();const d=a.shiftKey?1:a.altKey?.01:.1,o=a.key==="ArrowUp"?n+d:n-d;t(Number(o.toFixed(6)))}})},Rt=({axes:t=["x","y","z"],label:n,onChange:l,value:s})=>e.jsxs("div",{style:ho(t.length),children:[e.jsx("div",{style:xo,children:n}),t.map(a=>e.jsx(go,{value:s[a],onChange:d=>l({...s,[a]:d})},a))]}),Cn=({value:t,onChange:n,targets:l=[]})=>e.jsxs("section",{style:{padding:10,borderRadius:10,background:"rgba(255,255,255,.04)"},children:[e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",fontWeight:700,color:"#f8fafc"},children:[e.jsx("span",{children:"Pin to Mesh"}),e.jsx("input",{type:"checkbox",checked:t.enabled,onChange:s=>n({...t,enabled:s.target.checked})})]}),e.jsxs("label",{style:dt,children:[e.jsx("span",{children:"Target"}),e.jsxs("select",{style:Ct,value:t.targetObjectId??"",onChange:s=>n({...t,targetObjectId:s.target.value||null}),children:[e.jsx("option",{value:"",children:"None (Transform)"}),l.map(s=>e.jsx("option",{value:s.id,children:s.name},s.id))]})]}),e.jsxs("label",{style:dt,children:[e.jsx("span",{children:"Orientation"}),e.jsxs("select",{style:Ct,value:t.orientation,onChange:s=>n({...t,orientation:s.target.value}),children:[e.jsx("option",{value:"none",children:"None"}),e.jsx("option",{value:"position",children:"Position"}),e.jsx("option",{value:"positionAndDirection",children:"Position and Direction"})]})]}),e.jsxs("label",{style:dt,children:[e.jsx("span",{children:"Offset Space"}),e.jsxs("select",{style:Ct,value:t.offsetSpace,onChange:s=>n({...t,offsetSpace:s.target.value}),children:[e.jsx("option",{value:"local",children:"Local"}),e.jsx("option",{value:"world",children:"World"})]})]}),e.jsx(Rt,{axes:["x","y"],label:"UV",value:{x:t.uv.x,y:t.uv.y,z:0},onChange:s=>n({...t,uv:{x:s.x,y:s.y}})}),e.jsxs("label",{style:dt,children:[e.jsx("span",{children:"Vertex Normal"}),e.jsx("input",{type:"checkbox",checked:t.vertexNormal,onChange:s=>n({...t,vertexNormal:s.target.checked})})]}),e.jsx(Rt,{label:"Offset Position",value:t.offsetPosition,onChange:s=>n({...t,offsetPosition:s})}),e.jsx(Rt,{label:"Offset Rotation",value:t.offsetRotation,onChange:s=>n({...t,offsetRotation:s})})]}),bo={position:"fixed",zIndex:2e4,pointerEvents:"none"},fo={pointerEvents:"auto",width:284,maxHeight:"min(620px, calc(100vh - 32px))",borderRadius:16,border:"1px solid rgba(255,255,255,0.12)",background:"rgba(8, 15, 28, 0.62)",boxShadow:"0 16px 36px rgba(0,0,0,0.28)",backdropFilter:"blur(20px) saturate(1.1)",WebkitBackdropFilter:"blur(20px) saturate(1.1)",color:"#f8fafc",overflow:"hidden",fontFamily:"Inter, ui-sans-serif, system-ui, sans-serif"},jo={display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,padding:"8px 8px",borderBottom:"1px solid rgba(255,255,255,0.08)",background:"rgba(8, 15, 28, 0.88)"},mo={display:"flex",alignItems:"center",gap:6,minWidth:0,fontSize:11,fontWeight:700},So={width:16,height:16,display:"flex",alignItems:"center",justifyContent:"center",cursor:"grab",color:"rgba(148,163,184,0.82)",flex:"0 0 auto"},wo={display:"grid",gap:8,padding:10,maxHeight:"min(548px, calc(100vh - 104px))",overflowY:"auto",scrollbarWidth:"thin",scrollbarColor:"rgba(148,163,184,0.55) rgba(255,255,255,0.06)",overscrollBehavior:"contain"},qe={display:"grid",gap:4,fontSize:10,color:"rgba(226,232,240,0.78)"},pt={width:"100%",minWidth:0,height:28,borderRadius:8,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(15,23,42,0.8)",color:"#f8fafc",padding:"0 8px",boxSizing:"border-box"},ko={height:24,borderRadius:8,border:"1px solid rgba(56,189,248,0.25)",background:"rgba(56,189,248,0.16)",color:"#e0f2fe",cursor:"pointer",fontSize:10,fontWeight:700,padding:"0 8px"},vo={display:"grid",gridTemplateColumns:"1fr 74px",alignItems:"center",gap:8},Co=()=>e.jsx("svg",{width:"11",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M11 2h2v4h3l-4 4-4-4h3V2zm0 20v-4H8l4-4 4 4h-3v4h-2zM2 11h4V8l4 4-4 4v-3H2v-2zm20 0v2h-4v3l-4-4 4-4v3h4z"})}),Ro=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M19.4 13.5c.1-.5.1-1 .1-1.5s0-1-.1-1.5l2.1-1.6-2-3.5-2.5 1a8 8 0 0 0-2.6-1.5L14 2h-4l-.4 2.9A8 8 0 0 0 7 6.4l-2.5-1-2 3.5 2.1 1.6A10 10 0 0 0 4.5 12c0 .5 0 1 .1 1.5l-2.1 1.6 2 3.5 2.5-1a8 8 0 0 0 2.6 1.5L10 22h4l.4-2.9a8 8 0 0 0 2.6-1.5l2.5 1 2-3.5-2.1-1.6zM12 15.5A3.5 3.5 0 1 1 12 8a3.5 3.5 0 0 1 0 7.5z"})}),Eo=(t,n)=>{const l=t.find(s=>String(s.value)===n);return(l==null?void 0:l.value)??n};function Rn({title:t,value:n,fields:l,onChange:s,copyLabel:a,copyPayload:d,initialPosition:o}){const[r,y]=u.useState(o??{x:14,y:452}),p=u.useRef(null);u.useEffect(()=>{const x=b=>{p.current&&y({x:Math.max(8,b.clientX-p.current.x),y:Math.max(8,b.clientY-p.current.y)})},i=()=>{p.current=null,document.body.classList.remove("select-none")};return window.addEventListener("pointermove",x),window.addEventListener("pointerup",i),()=>{window.removeEventListener("pointermove",x),window.removeEventListener("pointerup",i)}},[]);const h=(x,i)=>{s({...n,[x]:i})},c=async()=>{var i;const x=(d==null?void 0:d(n))??{name:a??t,kind:"settings",settings:n};await((i=navigator.clipboard)==null?void 0:i.writeText(JSON.stringify(x,null,2)))},g=x=>{var b;const i=(b=x.currentTarget.parentElement)==null?void 0:b.parentElement;i&&(p.current={x:x.clientX-i.getBoundingClientRect().left,y:x.clientY-i.getBoundingClientRect().top},document.body.classList.add("select-none"))};return e.jsx("div",{style:{...bo,left:r.x,top:r.y},children:e.jsxs("div",{style:fo,children:[e.jsxs("div",{style:jo,children:[e.jsxs("div",{style:mo,children:[e.jsx("span",{style:So,onPointerDown:g,children:e.jsx(Co,{})}),e.jsx(Ro,{}),e.jsx("span",{children:t})]}),e.jsx("button",{style:ko,type:"button",onClick:c,children:"Copy"})]}),e.jsx("div",{style:wo,children:l.map(x=>{const i=n[x.key];if(x.type==="boolean")return e.jsxs("label",{style:qe,children:[e.jsx("span",{children:x.label}),e.jsx("input",{type:"checkbox",checked:!!i,onChange:b=>h(x.key,b.target.checked)})]},x.key);if(x.type==="number"){const b=Number(i),j=x.min??0,k=x.max??1,C=x.step??.01;return e.jsxs("label",{style:qe,children:[e.jsx("span",{children:x.label}),e.jsxs("div",{style:vo,children:[e.jsx("input",{type:"range",min:j,max:k,step:C,value:b,onChange:L=>h(x.key,Number(L.target.value))}),e.jsx("input",{style:pt,type:"number",min:j,max:k,step:C,value:b,onChange:L=>h(x.key,Number(L.target.value))})]})]},x.key)}return x.type==="color"?e.jsxs("label",{style:qe,children:[e.jsx("span",{children:x.label}),e.jsx("input",{style:{...pt,padding:2},type:"color",value:String(i),onChange:b=>h(x.key,b.target.value)})]},x.key):x.type==="select"?e.jsxs("label",{style:qe,children:[e.jsx("span",{children:x.label}),e.jsx("select",{style:pt,value:String(i),onChange:b=>h(x.key,Eo(x.options,b.target.value)),children:x.options.map(b=>e.jsx("option",{value:String(b.value),children:b.label},`${x.key}-${String(b.value)}`))})]},x.key):e.jsxs("label",{style:qe,children:[e.jsx("span",{children:x.label}),e.jsx("input",{style:pt,type:"text",value:String(i),onChange:b=>h(x.key,b.target.value)})]},x.key)})})]})})}var Tt,ht=pe;if(process.env.NODE_ENV==="production")Tt=ht.createRoot,ht.hydrateRoot;else{var ln=ht.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Tt=function(t,n){ln.usingClientEntryPoint=!0;try{return ht.createRoot(t,n)}finally{ln.usingClientEntryPoint=!1}}}const on=[{title:"Head and Face",controls:[{key:"strength",label:"Overall Strength",min:0},{key:"faceWidth",label:"Face Width"},{key:"faceHeight",label:"Face Height"},{key:"faceRoundness",label:"Face Roundness"},{key:"midfaceHeight",label:"Midface Height"},{key:"foreheadHeight",label:"Forehead Height"},{key:"foreheadWidth",label:"Forehead Width"},{key:"cheekboneWidth",label:"Cheekbone Width"},{key:"cheekWidth",label:"Cheek Width"},{key:"cheekHollowness",label:"Cheek Hollowness"},{key:"midfaceDepth",label:"Midface Depth"},{key:"scalpHeight",label:"Scalp Height"},{key:"headCurve",label:"Head Curve"},{key:"faceTwist",label:"Face Twist"},{key:"faceSwirl",label:"Face Swirl"}]},{title:"Eyebrows",controls:[{key:"browDistance",label:"Brow Distance"},{key:"browHeight",label:"Brow Height"},{key:"browDepth",label:"Brow Depth"}]},{title:"Eyes",controls:[{key:"leftEyeSize",label:"Left Eye Size"},{key:"rightEyeSize",label:"Right Eye Size"},{key:"eyeDistance",label:"Eye Distance"},{key:"leftEyeX",label:"Left Eye X Offset"},{key:"rightEyeX",label:"Right Eye X Offset"},{key:"leftEyeY",label:"Left Eye Y Offset"},{key:"rightEyeY",label:"Right Eye Y Offset"}]},{title:"Nose, Mouth and Jaw",controls:[{key:"noseSize",label:"Nose Size"},{key:"noseLength",label:"Nose Length"},{key:"mouthWidth",label:"Mouth Width"},{key:"mouthHeight",label:"Mouth Height"},{key:"jawWidth",label:"Jaw Width"},{key:"chinHeight",label:"Chin Height"}]}],rn={pointerEvents:"auto",width:300,maxHeight:"calc(100vh - 32px)",overflow:"auto",borderRadius:16,border:"1px solid rgba(255,255,255,0.12)",background:"rgba(8,15,28,0.72)",boxShadow:"0 16px 36px rgba(0,0,0,0.28)",backdropFilter:"blur(20px) saturate(1.1)",color:"#f8fafc",fontFamily:"system-ui, sans-serif"},an={width:26,height:26,borderRadius:8,border:"1px solid rgba(255,255,255,0.1)",background:"rgba(255,255,255,0.06)",color:"#e2e8f0",cursor:"pointer"},zo=({value:t,onChange:n})=>{const[l,s]=u.useState(!0),[a,d]=u.useState({x:16,y:96}),[o,r]=u.useState(Object.fromEntries(on.map(({title:g})=>[g,!0]))),y=u.useRef(null),p=u.useRef(null);u.useEffect(()=>{const g=i=>{y.current&&d({x:Math.max(8,i.clientX-y.current.x),y:Math.max(8,i.clientY-y.current.y)})},x=()=>{y.current=null};return window.addEventListener("pointermove",g),window.addEventListener("pointerup",x),()=>{window.removeEventListener("pointermove",g),window.removeEventListener("pointerup",x)}},[]);const h=g=>{const x=g.currentTarget.getBoundingClientRect();y.current={x:g.clientX-x.left,y:g.clientY-x.top},g.currentTarget.setPointerCapture(g.pointerId)},c=e.jsx("div",{style:{position:"fixed",left:a.x,top:a.y,zIndex:2e4},children:l?e.jsxs("div",{style:rn,children:[e.jsxs("div",{onPointerDown:h,style:{position:"sticky",top:0,zIndex:1,display:"flex",alignItems:"center",gap:8,padding:8,background:"rgba(8,15,28,0.94)",borderBottom:"1px solid rgba(255,255,255,0.08)",cursor:"grab"},children:[e.jsx("span",{style:{fontSize:11,fontWeight:650,flex:1},children:"3D Face Warp"}),e.jsxs("label",{style:{display:"flex",alignItems:"center",gap:5,fontSize:9},children:[e.jsx("span",{children:"Enabled"}),e.jsx("input",{type:"checkbox",checked:t.enabled,onPointerDown:g=>g.stopPropagation(),onChange:g=>n({...t,enabled:g.target.checked})})]}),e.jsx("button",{type:"button",style:an,title:"Reset",onPointerDown:g=>g.stopPropagation(),onClick:()=>n({...Z.DEFAULT_FACE_WARP_3D_SETTINGS,enabled:!0}),children:"↺"}),e.jsx("button",{type:"button",style:an,title:"Close",onPointerDown:g=>g.stopPropagation(),onClick:()=>s(!1),children:"×"})]}),e.jsx("div",{style:{display:"grid",gap:6,padding:7},children:on.map(({title:g,controls:x})=>e.jsxs("section",{style:{border:"1px solid rgba(255,255,255,0.08)",borderRadius:12,overflow:"hidden"},children:[e.jsxs("button",{type:"button",onClick:()=>r(i=>({...i,[g]:!i[g]})),style:{width:"100%",padding:"8px",border:0,background:"rgba(255,255,255,0.03)",color:"#e2e8f0",display:"flex",justifyContent:"space-between",cursor:"pointer",fontSize:10.5},children:[e.jsx("span",{children:g}),e.jsx("span",{children:o[g]?"−":"+"})]}),o[g]?e.jsx("div",{style:{display:"grid",gap:6,padding:8},children:x.map(({key:i,label:b,min:j=-100,max:k=100})=>{const C=Math.round(t[i]*100);return e.jsxs("label",{style:{display:"grid",gridTemplateColumns:"105px 32px 1fr",gap:7,alignItems:"center",fontSize:9},children:[e.jsx("span",{style:{color:"rgba(226,232,240,0.76)"},children:b}),e.jsx("output",{style:{textAlign:"right",fontVariantNumeric:"tabular-nums"},children:C}),e.jsx("input",{type:"range",min:j,max:k,value:C,onChange:L=>n({...t,[i]:Number(L.target.value)/100}),style:{width:"100%",accentColor:"#e2e8f0"}})]},i)})}):null]},g))})]}):e.jsx("button",{type:"button",style:{...rn,width:38,height:38,cursor:"pointer"},onClick:()=>s(!0),title:"Open 3D Face Warp settings",children:"3D"})});return u.useEffect(()=>{const g=document.createElement("div");return g.dataset.xrDebugUi="face-warp-3d",document.body.appendChild(g),p.current=Tt(g),()=>{var x;(x=p.current)==null||x.unmount(),p.current=null,g.remove()}},[]),u.useEffect(()=>{var g;(g=p.current)==null||g.render(c)},[c]),null},Io=({title:t="Face Retouch",value:n,onChange:l,initialPosition:s})=>{const a=Z.resolveFaceRetouchControls(n);return e.jsx(Rn,{title:t,value:a,fields:Z.FACE_RETOUCH_SETTINGS_FIELDS,onChange:d=>l(Z.patchFaceRetouchControls(a,d)),initialPosition:s})},To={position:"fixed",left:14,top:104,zIndex:2e4,pointerEvents:"none"},Mo={pointerEvents:"auto",width:298,borderRadius:16,border:"1px solid rgba(255,255,255,0.12)",background:"rgba(8, 15, 28, 0.58)",boxShadow:"0 16px 36px rgba(0,0,0,0.28)",backdropFilter:"blur(20px) saturate(1.1)",WebkitBackdropFilter:"blur(20px) saturate(1.1)",color:"#f8fafc",overflow:"hidden"},Wo={display:"flex",alignItems:"center",gap:7,padding:"7px 8px",borderBottom:"1px solid rgba(255,255,255,0.08)",background:"rgba(8, 15, 28, 0.88)"},Fo={display:"grid",gap:8,padding:8},En={display:"flex",alignItems:"center",gap:6,fontSize:11,fontWeight:700},zn={display:"flex",width:18,height:18,alignItems:"center",justifyContent:"center",borderRadius:6,background:"rgba(255,255,255,0.08)",border:"1px solid rgba(255,255,255,0.08)",color:"#e2e8f0"},Lo={width:16,height:16,display:"flex",alignItems:"center",justifyContent:"center",cursor:"grab",color:"rgba(148,163,184,0.82)"},No={display:"grid",gridTemplateColumns:"minmax(0, 1fr) 30px",gap:6},Oo={width:"100%",height:26,borderRadius:8,border:"1px solid rgba(255,255,255,0.12)",background:"rgba(56,189,248,0.16)",color:"#e0f2fe",fontSize:10.5,fontWeight:700,cursor:"pointer"},$o={display:"inline-flex",alignItems:"center",justifyContent:"center",width:24,height:24,borderRadius:8,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(255,255,255,0.05)",color:"#e2e8f0",cursor:"pointer",padding:0},Ao=t=>({...$o,width:30,height:26,color:t?"#e0f2fe":"rgba(148,163,184,0.72)",background:t?"rgba(56,189,248,0.16)":"rgba(255,255,255,0.04)"}),Do={borderRadius:12,border:"1px solid rgba(255,255,255,0.08)",background:"rgba(255,255,255,0.03)",padding:8},Bo={display:"grid",gridTemplateColumns:"repeat(2, minmax(0, 1fr))",gap:6},Po={display:"grid",gridTemplateColumns:"repeat(3, minmax(0, 1fr))",gap:6},Vo={display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,marginBottom:7},Ho={display:"grid",gridTemplateColumns:"62px repeat(3, minmax(0, 1fr)) 24px",alignItems:"center",gap:6,marginTop:6},Ko={fontSize:10,color:"rgba(226,232,240,0.82)"},_o=t=>({display:"inline-flex",alignItems:"center",justifyContent:"center",width:24,height:22,borderRadius:7,border:t?"1px solid rgba(125,211,252,0.72)":"1px solid rgba(255,255,255,0.10)",background:t?"rgba(56,189,248,0.20)":"rgba(255,255,255,0.05)",color:t?"#e0f2fe":"rgba(226,232,240,0.75)",cursor:"pointer"}),dn={display:"flex",flexDirection:"column",gap:4,fontSize:9,color:"rgba(226,232,240,0.72)"},Go={width:"100%",height:24,borderRadius:7,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(15,23,42,0.68)",color:"#f8fafc",fontSize:10.5,outline:"none",padding:"0 7px",boxSizing:"border-box",fontVariantNumeric:"tabular-nums"},Uo={display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,fontSize:9,color:"rgba(226,232,240,0.72)"},In={width:15,height:15,accentColor:"#38bdf8",cursor:"pointer"},cn=t=>({height:25,borderRadius:8,border:t?"1px solid rgba(125,211,252,0.72)":"1px solid rgba(255,255,255,0.10)",background:t?"rgba(56,189,248,0.20)":"rgba(255,255,255,0.05)",color:t?"#e0f2fe":"rgba(226,232,240,0.82)",fontSize:10,fontWeight:700,cursor:"pointer"}),Xo=t=>/^-?\d*(\.\d*)?$/.test(t),Zo=({value:t,onChange:n,step:l=.1})=>{const[s,a]=u.useState(String(t));return u.useEffect(()=>a(String(t)),[t]),e.jsx("input",{type:"text",inputMode:"decimal",style:Go,value:s,onChange:d=>{const o=d.target.value;if(!Xo(o)||(a(o),o===""||o==="-"||o==="."||o==="-."))return;const r=Number(o);Number.isNaN(r)||n(r)},onBlur:()=>{const d=Number(s);if(Number.isNaN(d)){a(String(t));return}n(d)},onKeyDown:d=>{if(d.key!=="ArrowUp"&&d.key!=="ArrowDown")return;d.preventDefault();const o=d.shiftKey?l*10:d.altKey?l/10:l,r=d.key==="ArrowUp"?t+o:t-o;n(Number(r.toFixed(6)))}})},Tn=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M4 4h6v2H7.4l3.3 3.3-1.4 1.4L6 7.4V10H4V4zm10 0h6v6h-2V7.4l-3.3 3.3-1.4-1.4L16.6 6H14V4zM9.3 13.3l1.4 1.4L7.4 18H10v2H4v-6h2v2.6l3.3-3.3zm5.4 0 3.3 3.3V14h2v6h-6v-2h2.6l-3.3-3.3 1.4-1.4z"})}),Yo=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M7 12a5 5 0 0 1 5-5h3v2h-3a3 3 0 0 0 0 6h3v2h-3a5 5 0 0 1-5-5zm4-1h2v2h-2v-2zm-2 6H6a5 5 0 0 1 0-10h3v2H6a3 3 0 0 0 0 6h3v2zm6-10h3a5 5 0 0 1 0 10h-3v-2h3a3 3 0 0 0 0-6h-3V7z"})}),qo=()=>e.jsx("svg",{width:"11",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M8 6a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM8 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM8 18a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM16 6a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM16 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM16 18a2 2 0 1 1-4 0 2 2 0 0 1 4 0z"})}),Jo=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M12 5c5 0 8.7 4.2 10 7-1.3 2.8-5 7-10 7s-8.7-4.2-10-7c1.3-2.8 5-7 10-7zm0 2c-3.6 0-6.4 2.7-7.7 5 1.3 2.3 4.1 5 7.7 5s6.4-2.7 7.7-5C18.4 9.7 15.6 7 12 7zm0 2.5a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5z"})}),Qo=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M3.3 2 22 20.7 20.7 22l-3.1-3.1A10.5 10.5 0 0 1 12 20c-5 0-8.7-4.2-10-7a16.4 16.4 0 0 1 4-4.9L2 3.3 3.3 2zm4.1 7.5A14.4 14.4 0 0 0 4.3 13c1.3 2.3 4.1 5 7.7 5 1.5 0 2.8-.5 4-1.2l-2.1-2.1A2.5 2.5 0 0 1 9.3 10L7.4 9.5zM12 4c5 0 8.7 4.2 10 7a15 15 0 0 1-3.2 4.2l-1.4-1.4A13 13 0 0 0 19.7 11C18.4 8.7 15.6 6 12 6c-.9 0-1.8.2-2.6.5L7.8 4.9C9.1 4.3 10.5 4 12 4z"})}),er=({value:t,onChange:n})=>{const l=t.transformControlMode??"translate",s=t.transformControlSpace??"local",a=t.showTransformControls??!1;return e.jsxs("div",{style:{marginTop:8},children:[e.jsxs("label",{style:Uo,children:[e.jsx("span",{children:"Show Transform On"}),e.jsx("input",{type:"checkbox",checked:a,style:In,onChange:d=>n({...t,showTransformControls:d.currentTarget.checked})})]}),e.jsxs("div",{style:{...dn,marginTop:8},children:["Mode",e.jsx("div",{style:Po,children:["translate","rotate","scale"].map(d=>e.jsx("button",{type:"button",style:cn(l===d),onClick:()=>n({...t,transformControlMode:d}),children:d==="translate"?"Move":d==="rotate"?"Rotate":"Scale"},d))})]}),e.jsxs("div",{style:{...dn,marginTop:8},children:["Space",e.jsx("div",{style:Bo,children:["local","world"].map(d=>e.jsx("button",{type:"button",style:cn(s===d),onClick:()=>n({...t,transformControlSpace:d}),children:d==="local"?"Local":"World"},d))})]})]})},Lt=({value:t,onChange:n})=>{var d,o,r;const l={position:((d=t.linked)==null?void 0:d.position)??!1,rotation:((o=t.linked)==null?void 0:o.rotation)??!1,scale:((r=t.linked)==null?void 0:r.scale)??!1},s=(y,p)=>{const h=t[y];n({...t,linked:{...l,[y]:p},[y]:p?{x:h.x,y:h.x,z:h.x}:h})},a=(y,p,h,c)=>e.jsxs("div",{style:Ho,children:[e.jsx("div",{style:Ko,children:p}),["x","y","z"].map(g=>e.jsx(Zo,{value:h[g],step:c,onChange:x=>l[y]?n({...t,[y]:{x,y:x,z:x}}):n({...t,[y]:{...h,[g]:x}})},g)),e.jsx("button",{type:"button","aria-label":l[y]?`Unlink ${p}`:`Link ${p}`,title:l[y]?`Unlink ${p}`:`Link ${p}`,style:_o(l[y]),onClick:()=>s(y,!l[y]),children:e.jsx(Yo,{})})]});return e.jsxs("div",{style:Do,children:[e.jsxs("div",{style:Vo,children:[e.jsxs("div",{style:En,children:[e.jsx("span",{style:zn,children:e.jsx(Tn,{})}),e.jsx("span",{children:"Transform"})]}),e.jsx("input",{type:"checkbox",checked:t.enabled,style:In,onChange:y=>n({...t,enabled:y.currentTarget.checked})})]}),a("position","Position",t.position,.001),a("rotation","Rotation",t.rotation,1),a("scale","Scale",t.scale),e.jsx(er,{value:t,onChange:n})]})},tr=({value:t,onChange:n,copyLabel:l="Selected transform"})=>{const[s,a]=u.useState({x:14,y:104}),[d,o]=u.useState(!1),r=u.useRef(null);u.useEffect(()=>{const h=g=>{r.current&&a({x:Math.max(8,g.clientX-r.current.x),y:Math.max(8,g.clientY-r.current.y)})},c=()=>{r.current=null,document.body.classList.remove("select-none")};return window.addEventListener("pointermove",h),window.addEventListener("pointerup",c),()=>{window.removeEventListener("pointermove",h),window.removeEventListener("pointerup",c)}},[]);const y=h=>{const c=h.currentTarget.getBoundingClientRect();r.current={x:h.clientX-c.left,y:h.clientY-c.top},document.body.classList.add("select-none"),h.currentTarget.setPointerCapture(h.pointerId)},p=async()=>{await navigator.clipboard.writeText(JSON.stringify({name:l,kind:"transform3D",transform:t},null,2)),o(!0),window.setTimeout(()=>o(!1),1200)};return typeof document>"u"?null:pe.createPortal(e.jsx("div",{style:{...To,left:s.x,top:s.y},children:e.jsxs("div",{style:Mo,children:[e.jsxs("div",{style:Wo,children:[e.jsx("div",{onPointerDown:y,style:Lo,children:e.jsx(qo,{})}),e.jsxs("div",{style:En,children:[e.jsx("span",{style:zn,children:e.jsx(Tn,{})}),e.jsx("span",{children:"Transform"})]})]}),e.jsxs("div",{style:Fo,children:[e.jsxs("div",{style:No,children:[e.jsx("button",{type:"button",style:Oo,onClick:p,children:d?"Copied Config":"Copy Config"}),e.jsx("button",{type:"button","aria-label":t.visible?"Hide Transform":"Show Transform",title:t.visible?"Hide Transform":"Show Transform",style:Ao(t.visible),onClick:()=>n({...t,visible:!t.visible}),children:t.visible?e.jsx(Jo,{}):e.jsx(Qo,{})})]}),e.jsx(Lt,{value:t,onChange:n})]})]})}),document.body)},nr={borderRadius:12,border:"1px solid rgba(255,255,255,0.08)",background:"rgba(255,255,255,0.03)",padding:8},sr={display:"flex",alignItems:"center",gap:6,marginBottom:7,fontSize:11,fontWeight:700},lr={display:"flex",width:18,height:18,alignItems:"center",justifyContent:"center",borderRadius:6,background:"rgba(255,255,255,0.08)",border:"1px solid rgba(255,255,255,0.08)",color:"#e2e8f0"},pn={display:"grid",gridTemplateColumns:"repeat(2, minmax(0, 1fr))",gap:6},U={display:"flex",flexDirection:"column",gap:4,fontSize:9,color:"rgba(226,232,240,0.72)"},Nt={width:"100%",height:24,borderRadius:7,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(15,23,42,0.68)",color:"#f8fafc",fontSize:10.5,outline:"none",padding:"0 7px",boxSizing:"border-box"},Ne={...Nt,cursor:"pointer"},ie={display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,height:24,fontSize:9,color:"rgba(226,232,240,0.72)"},oe={width:15,height:15,accentColor:"#38bdf8",cursor:"pointer"},ir={marginTop:10,paddingTop:10,borderTop:"1px solid rgba(255,255,255,0.08)"},or={marginBottom:7,fontSize:10,fontWeight:700,letterSpacing:"0.06em",textTransform:"uppercase",color:"rgba(226,232,240,0.74)"},rr=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"m12 2 8 4.6v10.8L12 22l-8-4.6V6.6L12 2zm0 2.3L6.3 7.6 12 10.9l5.7-3.3L12 4.3zM6 9.3v6.9l5 2.9v-6.9L6 9.3zm12 0-5 2.9v6.9l5-2.9V9.3z"})}),ar=(t,n,l)=>Math.min(l,Math.max(n,t)),Je=({max:t,min:n,onChange:l,step:s,value:a})=>e.jsx("input",{type:"number",min:n,max:t,step:s??.01,style:Nt,value:a,onChange:d=>{const o=Number(d.currentTarget.value);Number.isNaN(o)||l(ar(o,n??Number.NEGATIVE_INFINITY,t??Number.POSITIVE_INFINITY))}}),Mn=({value:t,onChange:n})=>{const l=r=>{n({...t,material:{...t.material,...r}})},s=$n.normalizeMeshRendererRenderState(t.material.renderState),a=r=>{l({renderState:{...s,...r,colorMask:{...s.colorMask,...r.colorMask},polygonOffset:{...s.polygonOffset,...r.polygonOffset}}})},d=r=>{a({polygonOffset:{...s.polygonOffset,...r}})},o=r=>{a({colorMask:{...s.colorMask,...r}})};return e.jsxs("div",{style:nr,children:[e.jsxs("div",{style:sr,children:[e.jsx("span",{style:lr,children:e.jsx(rr,{})}),e.jsx("span",{children:"Mesh Renderer"})]}),e.jsxs("div",{style:pn,children:[e.jsxs("label",{style:U,children:["Mesh",e.jsxs("select",{style:Ne,value:t.mesh,onChange:r=>n({...t,mesh:r.currentTarget.value}),children:[e.jsx("option",{value:"cube",children:"Cube"}),e.jsx("option",{value:"sphere",children:"Sphere"}),e.jsx("option",{value:"plane",children:"Plane"})]})]}),e.jsxs("label",{style:U,children:["Material",e.jsxs("select",{style:Ne,value:t.material.type,onChange:r=>l({type:r.currentTarget.value}),children:[e.jsx("option",{value:"standard",children:"Standard"}),e.jsx("option",{value:"basic",children:"Basic"})]})]}),e.jsxs("label",{style:U,children:["Color",e.jsx("input",{type:"color",style:{...Nt,padding:2},value:t.material.color,onChange:r=>l({color:r.currentTarget.value})})]}),e.jsxs("label",{style:U,children:["Opacity",e.jsx(Je,{min:0,max:1,step:.01,value:t.material.opacity,onChange:r=>l({opacity:r})})]}),e.jsxs("label",{style:U,children:["Roughness",e.jsx(Je,{min:0,max:1,step:.01,value:t.material.roughness,onChange:r=>l({roughness:r})})]}),e.jsxs("label",{style:U,children:["Metalness",e.jsx(Je,{min:0,max:1,step:.01,value:t.material.metalness,onChange:r=>l({metalness:r})})]}),e.jsxs("label",{style:U,children:["Shadow Mode",e.jsxs("select",{style:Ne,value:t.shadowMode,onChange:r=>n({...t,shadowMode:r.currentTarget.value}),children:[e.jsx("option",{value:"off",children:"Off"}),e.jsx("option",{value:"cast",children:"Cast"}),e.jsx("option",{value:"receive",children:"Receive"}),e.jsx("option",{value:"castReceive",children:"Cast + Receive"})]})]}),e.jsxs("label",{style:ie,children:["Wireframe",e.jsx("input",{type:"checkbox",checked:t.material.wireframe,style:oe,onChange:r=>l({wireframe:r.currentTarget.checked})})]})]}),e.jsxs("div",{style:ir,children:[e.jsx("div",{style:or,children:"Render State"}),e.jsxs("div",{style:pn,children:[e.jsxs("label",{style:ie,children:["Depth Test",e.jsx("input",{type:"checkbox",checked:s.depthTest,style:oe,onChange:r=>a({depthTest:r.currentTarget.checked})})]}),e.jsxs("label",{style:ie,children:["Depth Write",e.jsx("input",{type:"checkbox",checked:s.depthWrite,style:oe,onChange:r=>a({depthWrite:r.currentTarget.checked})})]}),e.jsxs("label",{style:U,children:["Depth Function",e.jsxs("select",{style:Ne,value:s.depthFunc,onChange:r=>a({depthFunc:r.currentTarget.value}),children:[e.jsx("option",{value:"never",children:"Never"}),e.jsx("option",{value:"less",children:"Less"}),e.jsx("option",{value:"equal",children:"Equal"}),e.jsx("option",{value:"lessEqual",children:"Less Equal"}),e.jsx("option",{value:"greater",children:"Greater"}),e.jsx("option",{value:"notEqual",children:"Not Equal"}),e.jsx("option",{value:"greaterEqual",children:"Greater Equal"}),e.jsx("option",{value:"always",children:"Always"})]})]}),e.jsxs("label",{style:ie,children:["Color Write",e.jsx("input",{type:"checkbox",checked:s.colorWrite,style:oe,onChange:r=>a({colorWrite:r.currentTarget.checked})})]}),e.jsxs("label",{style:ie,children:["Mask R",e.jsx("input",{type:"checkbox",checked:s.colorMask.r,style:oe,onChange:r=>o({r:r.currentTarget.checked})})]}),e.jsxs("label",{style:ie,children:["Mask G",e.jsx("input",{type:"checkbox",checked:s.colorMask.g,style:oe,onChange:r=>o({g:r.currentTarget.checked})})]}),e.jsxs("label",{style:ie,children:["Mask B",e.jsx("input",{type:"checkbox",checked:s.colorMask.b,style:oe,onChange:r=>o({b:r.currentTarget.checked})})]}),e.jsxs("label",{style:ie,children:["Mask A",e.jsx("input",{type:"checkbox",checked:s.colorMask.a,style:oe,onChange:r=>o({a:r.currentTarget.checked})})]}),e.jsxs("label",{style:U,children:["Cull Mode",e.jsxs("select",{style:Ne,value:s.cullMode,onChange:r=>a({cullMode:r.currentTarget.value}),children:[e.jsx("option",{value:"back",children:"Back"}),e.jsx("option",{value:"front",children:"Front"}),e.jsx("option",{value:"off",children:"Off"})]})]}),e.jsxs("label",{style:U,children:["Blend Mode",e.jsxs("select",{style:Ne,value:s.blendMode,onChange:r=>a({blendMode:r.currentTarget.value}),children:[e.jsx("option",{value:"normal",children:"Normal"}),e.jsx("option",{value:"additive",children:"Additive"}),e.jsx("option",{value:"subtractive",children:"Subtractive"}),e.jsx("option",{value:"multiply",children:"Multiply"}),e.jsx("option",{value:"none",children:"None"})]})]}),e.jsxs("label",{style:ie,children:["Polygon Offset",e.jsx("input",{type:"checkbox",checked:s.polygonOffset.enabled,style:oe,onChange:r=>d({enabled:r.currentTarget.checked})})]}),e.jsxs("label",{style:U,children:["Offset Factor",e.jsx(Je,{step:.1,value:s.polygonOffset.factor,onChange:r=>d({factor:r})})]}),e.jsxs("label",{style:U,children:["Offset Units",e.jsx(Je,{step:.1,value:s.polygonOffset.units,onChange:r=>d({units:r})})]})]})]})]})},dr={borderRadius:12,border:"1px solid rgba(255,255,255,0.08)",background:"rgba(255,255,255,0.03)",padding:"8px 8px 56px"},cr={marginBottom:7,fontSize:11,fontWeight:700},pr={marginTop:10,paddingTop:10,borderTop:"1px solid rgba(255,255,255,0.08)"},hr={marginBottom:7,fontSize:10,fontWeight:700,letterSpacing:"0.06em",textTransform:"uppercase",color:"rgba(226,232,240,0.74)"},W={display:"grid",gridTemplateColumns:"92px minmax(0, 1fr)",alignItems:"center",gap:10,margin:"8px 0",color:"#cbd5e1",fontSize:12},ae={width:"100%",boxSizing:"border-box",padding:"8px 9px",border:"1px solid rgba(148,163,184,.16)",borderRadius:6,background:"rgba(15,23,42,.72)",color:"#e2e8f0"},xr={display:"grid",gridTemplateColumns:"repeat(2, minmax(0, 1fr))",gap:6,marginTop:8,color:"#cbd5e1",fontSize:11},ge=({max:t,min:n,onChange:l,step:s,value:a})=>e.jsx("input",{type:"number",min:n,max:t,step:s??1,style:ae,value:a,onChange:d=>{const o=Number(d.currentTarget.value);Number.isNaN(o)||l(o)}}),ze=({onChange:t,options:n,value:l})=>e.jsx("select",{style:ae,value:l,onChange:s=>t(s.currentTarget.value),children:n.map(s=>e.jsx("option",{value:s.value,children:s.label},s.value))}),Qe=({children:t,title:n})=>e.jsxs("div",{style:pr,children:[e.jsx("div",{style:hr,children:n}),t]}),Ot=({onChange:t,value:n})=>{const l=c=>t(X.resolveFaceMeshRendererSettings(n,c)),s=X.supportsTexturePanel(n.materialType,n.shaderPreset),a=X.supportsBlendMode(n.materialType,n.shaderPreset,n.textureMap),d=n.materialType===X.FACE_MESH_MATERIAL_TYPES.shader&&n.shaderPreset===X.FACE_MESH_SHADER_PRESETS.composite?Z.textureMapOptions.filter(c=>c.value!==X.FACE_MESH_TEXTURE_MAPS.none):Z.textureMapOptions,o=X.usesMaskColor(n.maskTextureSource),r=X.usesMaskSourceUrl(n.maskTextureSource),y=c=>{l({shaderPreset:c})},p=c=>{l({materialType:c})},h=e.jsxs(Qe,{title:"Geometry",children:[e.jsxs("div",{style:xr,children:[e.jsxs("label",{children:[e.jsx("input",{type:"checkbox",checked:n.showLeftEyeGeometry,onChange:c=>l({showLeftEyeGeometry:c.currentTarget.checked})})," ","Left Eye"]}),e.jsxs("label",{children:[e.jsx("input",{type:"checkbox",checked:n.showRightEyeGeometry,onChange:c=>l({showRightEyeGeometry:c.currentTarget.checked})})," ","Right Eye"]}),e.jsxs("label",{children:[e.jsx("input",{type:"checkbox",checked:n.showNoseGeometry,onChange:c=>l({showNoseGeometry:c.currentTarget.checked})})," ","Nose"]}),e.jsxs("label",{children:[e.jsx("input",{type:"checkbox",checked:n.showMouthGeometry,onChange:c=>l({showMouthGeometry:c.currentTarget.checked})})," ","Mouth"]})]}),e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Show Overlay Mask"}),e.jsx("input",{type:"checkbox",checked:n.showOverlayMask,onChange:c=>l({showOverlayMask:c.currentTarget.checked})})]}),e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Source"}),e.jsx(ze,{value:n.maskTextureSource,options:Z.maskTextureSourceOptions,onChange:c=>l({maskTextureSource:c})})]}),r?e.jsxs("label",{style:W,children:[e.jsx("span",{children:"URL"}),e.jsx("input",{type:"url",style:ae,value:n.maskSourceUrl,onChange:c=>l({maskSourceUrl:c.currentTarget.value})})]}):null,o?e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Color"}),e.jsx("input",{type:"color",style:{...ae,padding:2},value:n.maskColor,onChange:c=>l({maskColor:c.currentTarget.value})})]}):null,e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Overlay Opacity"}),e.jsx(ge,{min:0,max:1,step:.1,value:n.maskOpacity,onChange:c=>l({maskOpacity:c})})]})]});return e.jsxs("section",{style:dr,children:[e.jsxs("label",{style:{...cr,display:"flex",justifyContent:"space-between"},children:[e.jsx("span",{children:"Face Mesh Renderer"}),e.jsx("input",{type:"checkbox",checked:n.enabled,onChange:c=>l({enabled:c.currentTarget.checked})})]}),e.jsxs(Qe,{title:"Renderer",children:[e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Face Index"}),e.jsx(ge,{min:0,step:1,value:n.faceIndex,onChange:c=>l({faceIndex:c})})]}),e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Target FPS"}),e.jsx(ge,{min:1,step:1,value:n.targetFps??24,onChange:c=>l({targetFps:c})})]}),e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Render Order"}),e.jsx(ge,{step:1,value:n.renderOrder,onChange:c=>l({renderOrder:c})})]}),e.jsxs("label",{style:W,children:[e.jsx("span",{children:"External Mesh"}),e.jsx("input",{type:"url",style:ae,value:n.externalMeshUrl??"",onChange:c=>l({externalMeshUrl:c.currentTarget.value||void 0})})]}),e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Mesh Scale"}),e.jsx(ge,{min:.01,step:.01,value:n.externalScale,onChange:c=>l({externalScale:c})})]})]}),h,e.jsxs(Qe,{title:"Material",children:[e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Type"}),e.jsx(ze,{value:n.materialType,options:Z.materialTypeOptions,onChange:p})]}),n.materialType===X.FACE_MESH_MATERIAL_TYPES.shader?e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Shader"}),e.jsx(ze,{value:n.shaderPreset,options:Z.shaderPresetOptions,onChange:y})]}):null,e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Base Color"}),e.jsx("input",{type:"color",style:{...ae,padding:2},value:n.baseColor,onChange:c=>l({baseColor:c.currentTarget.value})})]}),e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Material Opacity"}),e.jsx(ge,{min:0,max:1,step:.01,value:n.opacity,onChange:c=>l({opacity:c})})]}),e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Side"}),e.jsx(ze,{value:n.side,options:Z.sideOptions,onChange:c=>l({side:c})})]})]}),s?e.jsxs(Qe,{title:"Texture",children:[e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Map"}),e.jsx(ze,{value:n.textureMap,options:d,onChange:c=>l({textureMap:c})})]}),n.textureMap===X.FACE_MESH_TEXTURE_MAPS.canonical?e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Face URL"}),e.jsx("input",{type:"url",style:ae,value:n.faceTextureUrl,onChange:c=>l({faceTextureUrl:c.currentTarget.value})})]}):null,n.textureMap===X.FACE_MESH_TEXTURE_MAPS.style2?e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Style URL"}),e.jsx("input",{type:"url",style:ae,value:n.faceTextureStyle2Url,onChange:c=>l({faceTextureStyle2Url:c.currentTarget.value})})]}):null,e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Material Alpha"}),e.jsx(ze,{value:n.alphaMap,options:Z.alphaMapOptions,onChange:c=>l({alphaMap:c})})]}),e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Alpha Texture URL"}),e.jsx("input",{type:"url",style:ae,value:n.faceAlphaMaskUrl,onChange:c=>l({faceAlphaMaskUrl:c.currentTarget.value})})]}),e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Alpha Strength"}),e.jsx(ge,{min:0,max:1,step:.01,value:n.alphaOpacity,onChange:c=>l({alphaOpacity:c})})]})]}):null,a?e.jsxs(Qe,{title:"Blend",children:[e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Mode"}),e.jsx(ze,{value:n.blendMode,options:Z.blendModeOptions,onChange:c=>l({blendMode:c})})]}),e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Blend Strength"}),e.jsx(ge,{min:0,max:1,step:.01,value:n.blendOpacity,onChange:c=>l({blendOpacity:c})})]}),e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Composite"}),e.jsx("input",{type:"checkbox",checked:n.compositeShading,onChange:c=>l({compositeShading:c.currentTarget.checked})})]})]}):null]})},yr=({component:t,onChange:n})=>e.jsx(Ot,{value:t.settings,onChange:l=>n==null?void 0:n({...t,settings:l})}),Wn=u.createContext(null),ur=({children:t,defaultOrbitEnabled:n=!0,defaultSelectedObjectId:l=null,defaultShowGrid:s=!0,defaultShowVideoBackground:a=!0,onComponentChange:d,onObjectChange:o,onOrbitEnabledChange:r,onSelectObject:y,onShowGridChange:p,onShowVideoBackgroundChange:h,onStoreChange:c,orbitEnabled:g,selectedObjectId:x,showGrid:i,showVideoBackground:b,store:j})=>{const[k,C]=u.useState(l),[L,S]=u.useState(n),[w,O]=u.useState(s),[T,B]=u.useState(a),_=x??k,he=g??L,te=i??w,xe=b??T,M=u.useMemo(()=>({store:j,selectedObjectId:_,orbitEnabled:he,showGrid:te,showVideoBackground:xe,onStoreChange:c,onSelectObject:z=>{C(z),y==null||y(z)},onComponentChange:d??(z=>{c({...j,components:{...j.components,[z.id]:z}})}),onObjectChange:o??(z=>{c({...j,objects:{...j.objects,[z.id]:z}})}),onOrbitEnabledChange:z=>{S(z),r==null||r(z)},onShowGridChange:z=>{O(z),p==null||p(z)},onShowVideoBackgroundChange:z=>{B(z),h==null||h(z)}}),[d,o,r,y,p,h,c,he,_,te,xe,j]);return e.jsx(Wn.Provider,{value:M,children:t})},ot=()=>{const t=u.useContext(Wn);if(!t)throw new Error("useXRSceneEditor must be used inside XRSceneEditorProvider.");return t},Fn=t=>t.renderGroupOrder.map(n=>t.renderGroups[n]).filter(Boolean),gr=({initialPosition:t,rootOnly:n=!1,title:l})=>{const{onSelectObject:s,onStoreChange:a,selectedObjectId:d,store:o}=ot(),r=Fn(o),y=n?Object.fromEntries(Object.entries(o.objects).filter(([,p])=>!p.parentObjectId)):o.objects;return e.jsx(vn,{title:l,initialPosition:t,groups:r,objects:y,selectedObjectId:d??void 0,onSelectObject:p=>s(p),onReorderGroup:(p,h)=>a(Me.reorderRenderGroup(o,p,h)),onReorderObject:(p,h,c)=>a(Me.reorderObjectWithinGroup(o,p,h,c)),onMoveObject:(p,h,c)=>{const g=Me.moveObjectToGroup(o,p,h,c);return g===o?!1:(a(g),!0)},onSetObjectParent:(p,h,c,g)=>{let x=o;const i=x.objects[p];if(!i||g&&i.renderGroupId!==g&&(x=Me.moveObjectToGroup(x,p,g,c),x===o))return!1;const b=$.setSceneObjectParentPreserveWorldTransform(x,p,h,c);return b===o?!1:(a(b),!0)},onToggleGroupEnabled:(p,h)=>{const c=o.renderGroups[p];c&&a({...o,renderGroups:{...o.renderGroups,[p]:{...c,enabled:h}}})},onToggleObjectVisible:(p,h)=>a($.setSceneObjectVisible(o,p,h)),copyConfig:{kind:"scene",version:1,renderGroupOrder:o.renderGroupOrder,renderGroups:o.renderGroups,objects:o.objects,components:o.components}})},Y={display:"grid",gridTemplateColumns:"92px minmax(0, 1fr)",alignItems:"center",gap:10,margin:"8px 0",color:"#cbd5e1",fontSize:12},fe={width:"100%",boxSizing:"border-box",padding:"8px 9px",border:"1px solid rgba(148,163,184,.16)",borderRadius:6,background:"rgba(15,23,42,.72)",color:"#e2e8f0"},nt={borderRadius:12,border:"1px solid rgba(255,255,255,0.08)",background:"rgba(255,255,255,0.03)",padding:8},st={display:"flex",alignItems:"center",gap:6,marginBottom:7,fontSize:11,fontWeight:700},se=(t,n)=>t.find(l=>l.type===n),br=({onChange:t,value:n})=>e.jsxs("section",{style:nt,children:[e.jsx("div",{style:st,children:"Light"}),e.jsxs("label",{style:Y,children:[e.jsx("span",{children:"Type"}),e.jsxs("select",{style:fe,value:n.type,onChange:l=>t({...n,type:l.currentTarget.value}),children:[e.jsx("option",{value:"ambient",children:"Ambient"}),e.jsx("option",{value:"directional",children:"Directional"}),e.jsx("option",{value:"point",children:"Point"}),e.jsx("option",{value:"spot",children:"Spot"})]})]}),e.jsxs("label",{style:Y,children:[e.jsx("span",{children:"Color"}),e.jsx("input",{type:"color",style:{...fe,padding:2},value:n.color,onChange:l=>t({...n,color:l.currentTarget.value})})]}),e.jsxs("label",{style:Y,children:[e.jsx("span",{children:"Intensity"}),e.jsx("input",{type:"number",min:0,step:.1,style:fe,value:n.intensity,onChange:l=>t({...n,intensity:Number(l.currentTarget.value)})})]}),e.jsxs("label",{style:Y,children:[e.jsx("span",{children:"Cast Shadow"}),e.jsx("input",{type:"checkbox",checked:n.castShadow,onChange:l=>t({...n,castShadow:l.currentTarget.checked})})]}),e.jsxs("label",{style:Y,children:[e.jsx("span",{children:"Show Helper"}),e.jsx("input",{type:"checkbox",checked:n.showHelper,onChange:l=>t({...n,showHelper:l.currentTarget.checked})})]})]}),fr=({onChange:t,value:n})=>e.jsxs("section",{style:nt,children:[e.jsxs("label",{style:{...st,justifyContent:"space-between"},children:[e.jsx("span",{children:"Look At"}),e.jsx("input",{type:"checkbox",checked:n.enabled,onChange:l=>t({...n,enabled:l.currentTarget.checked})})]}),e.jsxs("label",{style:Y,children:[e.jsx("span",{children:"Mode"}),e.jsxs("select",{style:fe,value:n.mode,onChange:l=>t({...n,mode:l.currentTarget.value}),children:[e.jsx("option",{value:"point",children:"Point"}),e.jsx("option",{value:"direction",children:"Direction"})]})]}),e.jsxs("label",{style:Y,children:[e.jsx("span",{children:"Children Inherit"}),e.jsx("input",{type:"checkbox",checked:n.inheritChildren,onChange:l=>t({...n,inheritChildren:l.currentTarget.checked})})]})]}),jr=({onChange:t,value:n})=>{const l=(s,a,d)=>["x","y","z"].map(o=>e.jsxs("label",{style:Y,children:[e.jsx("span",{children:`${s} ${o.toUpperCase()}`}),e.jsx("input",{type:"number",step:.05,style:fe,value:a[o],onChange:r=>d({...a,[o]:Number(r.currentTarget.value)})})]},`${s}-${o}`));return e.jsxs("section",{style:nt,children:[e.jsx("div",{style:st,children:"Face Binding"}),e.jsxs("label",{style:Y,children:[e.jsx("span",{children:"Target"}),e.jsx("select",{style:fe,value:n.target,onChange:s=>t({...n,target:s.currentTarget.value}),children:An.FACE_TARGETS.map(s=>e.jsx("option",{value:s,children:s.replace("face.","")},s))})]}),n.target==="face.custom"?l("Custom",n.customAnchorPoint,s=>t({...n,customAnchorPoint:s})):null,l("Offset",n.offset,s=>t({...n,offset:s})),e.jsxs("label",{style:Y,children:[e.jsx("span",{children:"Smoothing"}),e.jsx("input",{type:"number",min:0,step:1,style:fe,value:n.smoothing,onChange:s=>t({...n,smoothing:Number(s.currentTarget.value)})})]}),e.jsxs("label",{style:Y,children:[e.jsx("span",{children:"Follow Face Roll"}),e.jsx("input",{type:"checkbox",checked:n.followFaceRoll,onChange:s=>t({...n,followFaceRoll:s.currentTarget.checked})})]})]})},mr=({initialPosition:t})=>{const{onComponentChange:n,onObjectChange:l,onStoreChange:s,selectedObjectId:a,store:d}=ot(),o=a?d.objects[a]:null,r=o?$.getOrderedComponents(d,o.id):[],y=se(r,"Transform"),p=se(r,"ScreenTransform"),h=se(r,"ScreenShape"),c=se(r,"MeshRenderer"),g=se(r,"FaceMeshRenderer"),x=se(r,"Light"),i=se(r,"LookAt"),b=se(r,"PinToMesh"),j=se(r,"TrackingAnchor"),k=o!=null&&o.renderGroupId?d.renderGroups[o.renderGroupId]:void 0;if(!o)return null;const C=Object.values(d.objects).filter(S=>S.id!==o.id).filter(S=>{const w=$.getOrderedComponents(d,S.id);return!!se(w,"MeshRenderer")}).map(S=>({id:S.id,name:S.name})),L=Object.values(d.objects).filter(S=>S.id!==o.id);return e.jsxs(yt,{objectId:o.id,objectName:o.name,onObjectNameChange:S=>l({...o,name:S}),visible:o.enabled,onVisibleChange:S=>l({...o,enabled:S}),layer:(k==null?void 0:k.name)??"3D Scene",initialPosition:t,copyConfig:{object:o,components:r},children:[e.jsxs("section",{style:nt,children:[e.jsx("div",{style:st,children:"Hierarchy"}),e.jsxs("label",{style:Y,children:[e.jsx("span",{children:"Parent"}),e.jsxs("select",{style:fe,value:o.parentObjectId??"",onChange:S=>s($.setSceneObjectParentPreserveWorldTransform(d,o.id,S.currentTarget.value||null)),children:[e.jsx("option",{value:"",children:"None"}),L.map(S=>e.jsx("option",{value:S.id,children:S.name},S.id))]})]})]}),y?e.jsx(Lt,{value:y.settings,onChange:S=>n({...y,settings:S})}):null,p?e.jsxs("section",{style:nt,children:[e.jsx("div",{style:st,children:"Screen Transform"}),e.jsx(Wt,{guideLabel:"Screen Transform",value:{...p.settings,showGuides:p.settings.showTransformGuides},onChange:S=>{const{showGuides:w,...O}=S;n({...p,settings:{...p.settings,...O,showTransformGuides:w}})}})]}):null,c?e.jsx(Mn,{value:c.settings,onChange:S=>n({...c,settings:S})}):null,g?e.jsx(Ot,{value:g.settings,onChange:S=>n({...g,settings:S})}):null,h?e.jsx(jn,{value:h.settings,onChange:S=>n({...h,settings:S})}):null,x?e.jsx(br,{value:x.settings,onChange:S=>n({...x,settings:S})}):null,i?e.jsx(fr,{value:i.settings,onChange:S=>n({...i,settings:S})}):null,b?e.jsx(Cn,{value:b.settings,onChange:S=>n({...b,settings:S}),targets:C}):null,j?e.jsx(jr,{value:j.settings,onChange:S=>n({...j,settings:S})}):null]})},Sr=({renderOrder:t=-999})=>{const{camera:n,size:l}=Dn.useThree(),s=Pn.useXRCameraTexture(),a=u.useMemo(()=>{if(!n.isPerspectiveCamera)return[10,10];const d=n,y=(d.position.z||5)- -1,p=d.fov*Math.PI/180,h=2*Math.tan(p/2)*y;return[h*(l.width/l.height),h]},[n,l]);return s?e.jsxs("mesh",{position:[0,0,-1],renderOrder:t,children:[e.jsx("planeGeometry",{args:a}),e.jsx("meshBasicMaterial",{map:s,depthTest:!0,depthWrite:!0,toneMapped:!1,side:On.DoubleSide})]}):null},wr=({camera:t={position:{x:0,y:.2,z:5.5},fov:42},grid:n={size:12,divisions:12,position:{x:0,y:-2.5,z:0}},style:l})=>{const{onComponentChange:s,orbitEnabled:a,showGrid:d,showVideoBackground:o,store:r}=ot(),y=Me.createRenderPlan(r),p=Array.from(new Set(y.map(g=>g.renderLayer))),h=t.position??{x:0,y:.2,z:5.5},c=n.position??{x:0,y:-2.5,z:0};return e.jsxs(Bn.XRScene,{style:{width:"100%",height:"100%",...l},canvasProps:{shadows:!0},children:[o?e.jsx(Sr,{renderOrder:-999}):null,e.jsx("color",{attach:"background",args:["#18212b"]}),e.jsx($t.PerspectiveCamera,{makeDefault:!0,position:[h.x,h.y,h.z],fov:t.fov??42}),e.jsx("ambientLight",{intensity:1.1}),d?e.jsx("gridHelper",{args:[n.size??12,n.divisions??12,"#344454","#263544"],position:[c.x,c.y,c.z]}):null,y.map(g=>e.jsx(At.SceneObjectRenderer,{objectId:g.objectId,store:r,editorMode:!0,renderOrder:g.renderOrder,renderLayer:g.renderLayer,onComponentChange:s},g.objectId)),e.jsx(At.SequentialRenderPasses,{layers:p}),e.jsx($t.OrbitControls,{enabled:a,enablePan:!1,minDistance:.05,maxDistance:1/0})]})},kr=t=>({position:"absolute",top:12,left:t==="top-left"?12:t==="top-right"?"auto":"50%",right:t==="top-right"?12:"auto",transform:t==="top-center"||!t?"translateX(-50%)":"none",zIndex:5,display:"flex",alignItems:"center",gap:12,padding:"7px 10px",border:"1px solid rgba(148,163,184,.24)",borderRadius:9,background:"rgba(15,23,42,.78)",color:"#d8e2ec",backdropFilter:"blur(12px)",fontSize:11}),vr=({position:t="top-center"})=>{const{onOrbitEnabledChange:n,orbitEnabled:l}=ot();return e.jsxs("div",{style:kr(t),children:[e.jsx("span",{style:{color:"#7e95aa",fontSize:9,fontWeight:800,letterSpacing:"0.14em"},children:"VIEWPORT"}),e.jsxs("label",{style:{display:"flex",alignItems:"center",gap:6,cursor:"pointer"},children:[e.jsx("input",{type:"checkbox",checked:l,onChange:s=>n(s.currentTarget.checked)}),"Orbit Controls"]})]})},Cr={borderRadius:12,border:"1px solid rgba(251,191,36,0.30)",background:"rgba(251,191,36,0.08)",color:"#fde68a",padding:8,fontSize:10.5,lineHeight:1.45},Rr={display:"block",marginTop:6,overflow:"auto",maxHeight:160,borderRadius:8,background:"rgba(15,23,42,0.55)",color:"#f8fafc",padding:8,fontSize:10},Ln=({component:t})=>e.jsxs("div",{style:Cr,children:[e.jsxs("div",{children:["Missing editor for component type: ",t.type]}),e.jsxs("div",{children:["Component ID: ",t.id]}),e.jsx("pre",{style:Rr,children:JSON.stringify(t,null,2)})]}),Er=({component:t,editors:n={},onChange:l})=>{const s=n[t.type];return s?e.jsx(s,{component:t,onChange:l}):e.jsx(Ln,{component:t})},zr=t=>t.slice(0,12);exports.MediaSourceSwitcher=Ae.MediaSourceSwitcher;exports.defaultMediaSources=Ae.defaultMediaSources;exports.sdkImageMediaSources=Ae.sdkImageMediaSources;exports.sdkVideoMediaSources=Ae.sdkVideoMediaSources;exports.useFaceTrackingMediaSourceSession=Ae.useFaceTrackingMediaSourceSession;exports.useMediaSourceSession=Ae.useMediaSourceSession;exports.DefaultSettingPanel=Nn.DefaultSettingPanel;exports.ComponentEditor=Er;exports.ComponentEditorFallback=Ln;exports.FaceMeshRendererComponentEditor=yr;exports.FaceMeshRendererSettingsPanel=Ot;exports.FaceRetouchSettingsPanel=Io;exports.FaceWarp3DSettingsPanel=zo;exports.HandJoints2DSettingsPanel=Ii;exports.HandTracking2DControllerSettingsPanel=xi;exports.HandTracking2DSettingsPanel=Xl;exports.HandTracking3DSettingsPanel=_i;exports.HierarchyPanel=vn;exports.LayerPanel=ao;exports.MeshRendererSettingsPanel=Mn;exports.ObjectInspectorPanel=yt;exports.PinToMeshSettingsPanel=Cn;exports.SceneHierarchyPanel=gr;exports.SceneInspectorPanel=mr;exports.ScreenGlassSettingsPanel=fn;exports.ScreenGradientSettingsPanel=bn;exports.ScreenImageSettingsPanel=El;exports.ScreenShapeSettingsPanel=jn;exports.ScreenTextSettingsPanel=nl;exports.SettingsPanel=Rn;exports.Transform3DSettingsPanel=tr;exports.Transform3DSettingsSection=Lt;exports.ViewportToolbar=vr;exports.XRSceneEditorProvider=ur;exports.XRSceneViewport=wr;exports.createComponentIdLabel=zr;exports.getSceneEditorGroups=Fn;exports.useXRSceneEditor=ot;
|
|
10
|
+
`}),l?e.jsxs("div",{className:"xr-hand-tracking-2d-controller-scroll",style:{...wn,height:c},children:[e.jsxs("div",{style:si,children:[e.jsx("div",{onPointerDown:g,style:{width:16,height:16,display:"flex",alignItems:"center",justifyContent:"center",cursor:"grab",color:"rgba(148,163,184,0.82)",flex:"0 0 auto"},children:e.jsx(yi,{})}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,fontSize:11,fontWeight:600,minWidth:0},children:[e.jsx("span",{style:{display:"flex",width:18,height:18,alignItems:"center",justifyContent:"center",borderRadius:6,background:"rgba(255,255,255,0.08)",border:"1px solid rgba(255,255,255,0.08)",color:"#e2e8f0",flex:"0 0 auto"},children:e.jsx(kt,{})}),e.jsx("span",{children:"HandTracking2DController"})]}),e.jsx("div",{style:{flex:"1 1 auto"}}),e.jsx("button",{type:"button",onClick:()=>n(Jl),style:Yt,children:e.jsx(ui,{})}),e.jsx("button",{type:"button",onClick:()=>s(!1),style:Yt,children:e.jsx(xi,{})})]}),e.jsxs("div",{style:li,children:[h("controller","Controller",e.jsx(kt,{}),e.jsxs("div",{style:pi,children:[e.jsx("label",{style:we,children:e.jsxs("div",{style:ke,children:[e.jsx("span",{style:P,children:"Enabled"}),e.jsx("input",{type:"checkbox",style:ve,checked:t.enabled,onChange:i=>n({...t,enabled:i.target.checked})})]})}),e.jsx("label",{style:we,children:e.jsxs("div",{style:ke,children:[e.jsx("span",{style:P,children:"Attach Image"}),e.jsx("input",{type:"checkbox",style:ve,checked:t.attachImageEnabled,onChange:i=>n({...t,attachImageEnabled:i.target.checked})})]})}),e.jsx("label",{style:we,children:e.jsxs("div",{style:ke,children:[e.jsx("span",{style:P,children:"Size Responsive to Hand Bounding Box"}),e.jsx("input",{type:"checkbox",style:ve,checked:t.sizeResponsiveToHandBoundingBox,onChange:i=>n({...t,sizeResponsiveToHandBoundingBox:i.target.checked})})]})}),e.jsxs("label",{style:re,children:[e.jsx("span",{style:P,children:"Size"}),e.jsx("input",{style:ue,type:"number",min:.1,max:3,step:.01,value:t.size,onChange:i=>n({...t,size:Number(i.target.value)})})]}),e.jsxs("label",{style:re,children:[e.jsx("span",{style:P,children:"Vertical Align"}),e.jsx("select",{style:ue,value:t.verticalAlign,onChange:i=>n({...t,verticalAlign:i.target.value}),children:Ql.map(i=>e.jsx("option",{value:i.value,children:i.label},i.value))})]}),e.jsxs("label",{style:re,children:[e.jsx("span",{style:P,children:"Horizontal Align"}),e.jsx("select",{style:ue,value:t.horizontalAlign,onChange:i=>n({...t,horizontalAlign:i.target.value}),children:ei.map(i=>e.jsx("option",{value:i.value,children:i.label},i.value))})]}),e.jsxs("label",{style:re,children:[e.jsx("span",{style:P,children:"Offset X"}),e.jsx("input",{style:ue,type:"number",min:-1,max:1,step:.01,value:t.offsetX,onChange:i=>n({...t,offsetX:Number(i.target.value)})})]}),e.jsxs("label",{style:re,children:[e.jsx("span",{style:P,children:"Offset Y"}),e.jsx("input",{style:ue,type:"number",min:-1,max:1,step:.01,value:t.offsetY,onChange:i=>n({...t,offsetY:Number(i.target.value)})})]}),e.jsxs("label",{style:re,children:[e.jsx("span",{style:P,children:"Rotation"}),e.jsx("input",{style:ue,type:"number",min:-180,max:180,step:.1,value:t.rotation,onChange:i=>n({...t,rotation:Number(i.target.value)})})]}),e.jsxs("label",{style:re,children:[e.jsx("span",{style:P,children:"Alpha"}),e.jsx("input",{style:ue,type:"number",min:0,max:1,step:.01,value:t.alpha,onChange:i=>n({...t,alpha:Number(i.target.value)})})]}),e.jsx("label",{style:we,children:e.jsxs("div",{style:ke,children:[e.jsx("span",{style:P,children:"Smooth Following"}),e.jsx("input",{type:"checkbox",style:ve,checked:t.smoothFollowing,onChange:i=>n({...t,smoothFollowing:i.target.checked})})]})}),e.jsxs("label",{style:re,children:[e.jsx("span",{style:P,children:"Smoothing"}),e.jsx("input",{style:ue,type:"number",min:0,max:1,step:.01,value:t.smoothing,onChange:i=>n({...t,smoothing:Number(i.target.value)})})]})]})),h("visibility","Visibility",e.jsx(kt,{}),e.jsxs(e.Fragment,{children:[e.jsx("label",{style:we,children:e.jsxs("div",{style:ke,children:[e.jsx("span",{style:P,children:"Show Overlay"}),e.jsx("input",{type:"checkbox",style:ve,checked:t.enabled,onChange:i=>n({...t,enabled:i.target.checked})})]})}),e.jsx("label",{style:we,children:e.jsxs("div",{style:ke,children:[e.jsx("span",{style:P,children:"Show Attach Image"}),e.jsx("input",{type:"checkbox",style:ve,checked:t.attachImageEnabled,onChange:i=>n({...t,attachImageEnabled:i.target.checked})})]})}),e.jsx("label",{style:we,children:e.jsxs("div",{style:ke,children:[e.jsx("span",{style:P,children:"Show Bounding Box"}),e.jsx("input",{type:"checkbox",style:ve,checked:t.showBoundingBox,onChange:i=>n({...t,showBoundingBox:i.target.checked})})]})})]}))]})]}):e.jsx("div",{role:"button",tabIndex:0,onClick:()=>s(!0),style:ni,children:e.jsx(hi,{})})]}),document.body)},bi={enabled:!0,bothHands:!0,countEnabled:!0,minCountConfidence:.35,showBones:!0,showJoints:!0,showBoundingBox:!0,showLabels:!1,visualScale:1,opacity:.9,jointRadius:3,lineWidth:1.5,labelScale:1,smoothing:.35},fi={position:"fixed",left:320,top:104,zIndex:2e4,pointerEvents:"none"},kn={pointerEvents:"auto",width:286,borderRadius:16,border:"1px solid rgba(255,255,255,0.12)",background:"rgba(8, 15, 28, 0.58)",boxShadow:"0 16px 36px rgba(0,0,0,0.28)",backdropFilter:"blur(20px) saturate(1.1)",WebkitBackdropFilter:"blur(20px) saturate(1.1)",color:"#f8fafc",overflowX:"hidden",overflowY:"auto",scrollbarWidth:"thin",scrollbarColor:"rgba(148,163,184,0.55) rgba(255,255,255,0.06)",overscrollBehavior:"contain"},ji={...kn,width:32,height:32,borderRadius:16,display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer"},mi={position:"sticky",top:0,zIndex:1,display:"flex",alignItems:"center",gap:7,padding:"7px 8px",borderBottom:"1px solid rgba(255,255,255,0.08)",background:"rgba(8, 15, 28, 0.88)",backdropFilter:"blur(20px) saturate(1.1)",WebkitBackdropFilter:"blur(20px) saturate(1.1)"},Si={display:"grid",gap:6,padding:7},wi={borderRadius:12,border:"1px solid rgba(255,255,255,0.08)",background:"rgba(255,255,255,0.03)",overflow:"hidden"},ki={display:"flex",alignItems:"center",gap:7,padding:"6px 7px"},vi={display:"flex",alignItems:"center",gap:6,fontSize:11,fontWeight:500,flex:"1 1 auto",minWidth:0},Ci={width:28,height:16,borderRadius:999,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(255,255,255,0.08)",padding:2,display:"flex",alignItems:"center",cursor:"pointer",flex:"0 0 auto"},Ri=t=>({width:10,height:10,borderRadius:999,background:t?"#f8fafc":"rgba(148,163,184,0.7)",transform:t?"translateX(12px)":"translateX(0)",transition:"transform 140ms ease, background 140ms ease"}),Ei={display:"grid",gap:7,padding:"0 7px 7px"},qt={display:"grid",gridTemplateColumns:"repeat(2, minmax(0, 1fr))",gap:6},be={display:"flex",flexDirection:"column",gap:4},Ce={...be,gridColumn:"1 / -1"},V={fontSize:9,color:"rgba(226,232,240,0.72)"},Re={width:"100%",height:24,borderRadius:7,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(15,23,42,0.68)",color:"#f8fafc",fontSize:10.5,outline:"none",padding:"0 7px",boxSizing:"border-box"},Ee={display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,minHeight:24},Ie={width:16,height:16},Jt={display:"inline-flex",alignItems:"center",justifyContent:"center",width:24,height:24,borderRadius:8,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(255,255,255,0.05)",color:"#e2e8f0",cursor:"pointer",padding:0,flex:"0 0 auto"},Ii=()=>e.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M7 10h10v2H7v-2zm0 4h10v2H7v-2zm0-8h10v2H7V6z"})}),zi=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M18.3 5.71 12 12l6.3 6.29-1.41 1.41L10.59 13.41 4.29 19.7 2.88 18.29 9.17 12 2.88 5.71 4.29 4.3l6.3 6.29 6.29-6.3z"})}),Ti=()=>e.jsx("svg",{width:"11",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M8 6a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM8 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM8 18a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM16 6a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM16 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM16 18a2 2 0 1 1-4 0 2 2 0 0 1 4 0z"})}),vt=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M8 5a3 3 0 1 1-3-3 3 3 0 0 1 3 3zm11 11a3 3 0 1 0 3 3 3 3 0 0 0-3-3zM7.1 7.1l9.8 9.8 1.4-1.4-9.8-9.8-1.4 1.4zM19 2a3 3 0 1 0 3 3 3 3 0 0 0-3-3zM7.1 16.9l9.8-9.8-1.4-1.4-9.8 9.8 1.4 1.4zM5 16a3 3 0 1 0 3 3 3 3 0 0 0-3-3z"})}),Mi=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M12 5V2L7 7l5 5V9a4 4 0 1 1-4 4H6a6 6 0 1 0 6-8z"})}),Wi=({value:t,onChange:n})=>{const[l,s]=u.useState(!0),[a,d]=u.useState({x:320,y:104}),[o,r]=u.useState(typeof window>"u"?0:window.innerHeight),[y,p]=u.useState({joints:!0,visibility:!0}),x=u.useRef(null),c=Math.max(240,o-a.y-16);u.useEffect(()=>{const i=j=>{x.current&&d({x:Math.max(8,j.clientX-x.current.x),y:Math.max(8,j.clientY-x.current.y)})},b=()=>{x.current=null,document.body.classList.remove("select-none")};return window.addEventListener("pointermove",i),window.addEventListener("pointerup",b),()=>{window.removeEventListener("pointermove",i),window.removeEventListener("pointerup",b)}},[]),u.useEffect(()=>{const i=()=>r(window.innerHeight);return window.addEventListener("resize",i),()=>window.removeEventListener("resize",i)},[]);const g=i=>{const b=i.currentTarget.getBoundingClientRect();x.current={x:i.clientX-b.left,y:i.clientY-b.top},document.body.classList.add("select-none"),i.currentTarget.setPointerCapture(i.pointerId)},h=(i,b,j,k)=>e.jsxs("div",{style:wi,children:[e.jsxs("div",{style:ki,children:[e.jsx("button",{type:"button",onClick:()=>p(C=>({...C,[i]:!C[i]})),style:Ci,children:e.jsx("div",{style:Ri(y[i])})}),e.jsxs("div",{style:vi,children:[e.jsx("span",{style:{display:"flex",width:18,height:18,alignItems:"center",justifyContent:"center",borderRadius:6,background:"rgba(255,255,255,0.08)",border:"1px solid rgba(255,255,255,0.08)",color:"#e2e8f0",flex:"0 0 auto"},children:j}),e.jsx("span",{children:b})]})]}),y[i]?e.jsx("div",{style:Ei,children:k}):null]},i);return typeof document>"u"?null:pe.createPortal(e.jsx("div",{style:{...fi,left:a.x,top:a.y},children:l?e.jsxs("div",{style:{...kn,height:c},children:[e.jsxs("div",{style:mi,children:[e.jsx("div",{onPointerDown:g,style:{width:16,height:16,display:"flex",alignItems:"center",justifyContent:"center",cursor:"grab",color:"rgba(148,163,184,0.82)",flex:"0 0 auto"},children:e.jsx(Ti,{})}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,fontSize:11,fontWeight:600,minWidth:0},children:[e.jsx("span",{style:{display:"flex",width:18,height:18,alignItems:"center",justifyContent:"center",borderRadius:6,background:"rgba(255,255,255,0.08)",border:"1px solid rgba(255,255,255,0.08)",color:"#e2e8f0",flex:"0 0 auto"},children:e.jsx(vt,{})}),e.jsx("span",{children:"HandJoints2D"})]}),e.jsx("div",{style:{flex:"1 1 auto"}}),e.jsx("button",{type:"button",onClick:()=>n(bi),style:Jt,children:e.jsx(Mi,{})}),e.jsx("button",{type:"button",onClick:()=>s(!1),style:Jt,children:e.jsx(zi,{})})]}),e.jsxs("div",{style:Si,children:[h("joints","Joints",e.jsx(vt,{}),e.jsxs("div",{style:qt,children:[e.jsxs("label",{style:be,children:[e.jsx("span",{style:V,children:"Visual Scale"}),e.jsx("input",{style:Re,type:"number",min:.25,max:2,step:.01,value:t.visualScale,onChange:i=>n({...t,visualScale:Number(i.target.value)})})]}),e.jsxs("label",{style:be,children:[e.jsx("span",{style:V,children:"Opacity"}),e.jsx("input",{style:Re,type:"number",min:0,max:1,step:.01,value:t.opacity,onChange:i=>n({...t,opacity:Number(i.target.value)})})]}),e.jsxs("label",{style:be,children:[e.jsx("span",{style:V,children:"Joint Radius"}),e.jsx("input",{style:Re,type:"number",min:.5,max:24,step:.5,value:t.jointRadius,onChange:i=>n({...t,jointRadius:Number(i.target.value)})})]}),e.jsxs("label",{style:be,children:[e.jsx("span",{style:V,children:"Line Width"}),e.jsx("input",{style:Re,type:"number",min:.01,max:100,step:.1,value:t.lineWidth,onChange:i=>n({...t,lineWidth:Number(i.target.value)})})]}),e.jsxs("label",{style:be,children:[e.jsx("span",{style:V,children:"Label Size"}),e.jsx("input",{style:Re,type:"number",min:.25,max:3,step:.05,value:t.labelScale,onChange:i=>n({...t,labelScale:Number(i.target.value)})})]}),e.jsxs("label",{style:be,children:[e.jsx("span",{style:V,children:"Smoothing"}),e.jsx("input",{style:Re,type:"number",min:0,max:1,step:.01,value:t.smoothing,onChange:i=>n({...t,smoothing:Number(i.target.value)})})]}),e.jsxs("label",{style:be,children:[e.jsx("span",{style:V,children:"Min Count Confidence"}),e.jsx("input",{style:Re,type:"number",min:0,max:1,step:.01,value:t.minCountConfidence,onChange:i=>n({...t,minCountConfidence:Number(i.target.value)})})]})]})),h("visibility","Visibility",e.jsx(vt,{}),e.jsxs("div",{style:qt,children:[e.jsx("label",{style:Ce,children:e.jsxs("div",{style:Ee,children:[e.jsx("span",{style:V,children:"Show Joints"}),e.jsx("input",{type:"checkbox",style:Ie,checked:t.enabled,onChange:i=>n({...t,enabled:i.target.checked})})]})}),e.jsx("label",{style:Ce,children:e.jsxs("div",{style:Ee,children:[e.jsx("span",{style:V,children:"Both Hands"}),e.jsx("input",{type:"checkbox",style:Ie,checked:t.bothHands,onChange:i=>n({...t,bothHands:i.target.checked})})]})}),e.jsx("label",{style:Ce,children:e.jsxs("div",{style:Ee,children:[e.jsx("span",{style:V,children:"Count Fingers"}),e.jsx("input",{type:"checkbox",style:Ie,checked:t.countEnabled,onChange:i=>n({...t,countEnabled:i.target.checked})})]})}),e.jsx("label",{style:Ce,children:e.jsxs("div",{style:Ee,children:[e.jsx("span",{style:V,children:"Joint Dots"}),e.jsx("input",{type:"checkbox",style:Ie,checked:t.showJoints,onChange:i=>n({...t,showJoints:i.target.checked})})]})}),e.jsx("label",{style:Ce,children:e.jsxs("div",{style:Ee,children:[e.jsx("span",{style:V,children:"Bone Lines"}),e.jsx("input",{type:"checkbox",style:Ie,checked:t.showBones,onChange:i=>n({...t,showBones:i.target.checked})})]})}),e.jsx("label",{style:Ce,children:e.jsxs("div",{style:Ee,children:[e.jsx("span",{style:V,children:"Bounding Box"}),e.jsx("input",{type:"checkbox",style:Ie,checked:t.showBoundingBox,onChange:i=>n({...t,showBoundingBox:i.target.checked})})]})}),e.jsx("label",{style:Ce,children:e.jsxs("div",{style:Ee,children:[e.jsx("span",{style:V,children:"Labels"}),e.jsx("input",{type:"checkbox",style:Ie,checked:t.showLabels,onChange:i=>n({...t,showLabels:i.target.checked})})]})})]}))]})]}):e.jsx("div",{role:"button",tabIndex:0,onClick:()=>s(!0),style:ji,children:e.jsx(Ii,{})})}),document.body)},Fi={enabled:!0,bothHands:!0,space:"scene",showJoints:!0,showBones:!0,showLabels:!1,handScale:1,depthScale:1,trackingDistanceM:.6096,projectionDistanceM:2,fitX:1,fitY:.9,offsetX:0,offsetY:0,offsetZ:0,jointRadius:.012,boneRadius:.012,opacity:.88,smoothing:.35},Li={position:"fixed",left:320,top:104,zIndex:2e4,pointerEvents:"none"},vn={pointerEvents:"auto",width:286,borderRadius:16,border:"1px solid rgba(255,255,255,0.12)",background:"rgba(8, 15, 28, 0.58)",boxShadow:"0 16px 36px rgba(0,0,0,0.28)",backdropFilter:"blur(20px) saturate(1.1)",WebkitBackdropFilter:"blur(20px) saturate(1.1)",color:"#f8fafc",overflowX:"hidden",overflowY:"auto",scrollbarWidth:"thin",scrollbarColor:"rgba(148,163,184,0.55) rgba(255,255,255,0.06)",overscrollBehavior:"contain"},Ni={...vn,width:32,height:32,borderRadius:16,display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer"},Oi={position:"sticky",top:0,zIndex:1,display:"flex",alignItems:"center",gap:7,padding:"7px 8px",borderBottom:"1px solid rgba(255,255,255,0.08)",background:"rgba(8, 15, 28, 0.88)",backdropFilter:"blur(20px) saturate(1.1)",WebkitBackdropFilter:"blur(20px) saturate(1.1)"},$i={display:"grid",gap:6,padding:7},Ai={borderRadius:12,border:"1px solid rgba(255,255,255,0.08)",background:"rgba(255,255,255,0.03)",overflow:"hidden"},Di={display:"flex",alignItems:"center",gap:7,padding:"6px 7px"},Bi={display:"flex",alignItems:"center",gap:6,fontSize:11,fontWeight:500,flex:"1 1 auto",minWidth:0},Pi={width:28,height:16,borderRadius:999,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(255,255,255,0.08)",padding:2,display:"flex",alignItems:"center",cursor:"pointer",flex:"0 0 auto"},Vi=t=>({width:10,height:10,borderRadius:999,background:t?"#f8fafc":"rgba(148,163,184,0.7)",transform:t?"translateX(12px)":"translateX(0)",transition:"transform 140ms ease, background 140ms ease"}),Hi={display:"grid",gap:7,padding:"0 7px 7px"},Ct={display:"grid",gridTemplateColumns:"repeat(2, minmax(0, 1fr))",gap:6},K={display:"flex",flexDirection:"column",gap:4},Ne={...K,gridColumn:"1 / -1"},D={fontSize:9,color:"rgba(226,232,240,0.72)"},H={width:"100%",height:24,borderRadius:7,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(15,23,42,0.68)",color:"#f8fafc",fontSize:10.5,outline:"none",padding:"0 7px",boxSizing:"border-box"},Xe={display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,minHeight:24},Ze={width:16,height:16},Qt={display:"inline-flex",alignItems:"center",justifyContent:"center",width:24,height:24,borderRadius:8,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(255,255,255,0.05)",color:"#e2e8f0",cursor:"pointer",padding:0,flex:"0 0 auto"},Ki=()=>e.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M7 10h10v2H7v-2zm0 4h10v2H7v-2zm0-8h10v2H7V6z"})}),_i=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M18.3 5.71 12 12l6.3 6.29-1.41 1.41L10.59 13.41 4.29 19.7 2.88 18.29 9.17 12 2.88 5.71 4.29 4.3l6.3 6.29 6.29-6.3z"})}),Gi=()=>e.jsx("svg",{width:"11",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M8 6a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM8 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM8 18a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM16 6a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM16 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM16 18a2 2 0 1 1-4 0 2 2 0 0 1 4 0z"})}),dt=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M11 2a1 1 0 0 1 1 1v6h1V3a1 1 0 1 1 2 0v6h1V4a1 1 0 1 1 2 0v7.3l1.6 2.4a5 5 0 0 1 .8 2.7V18a4 4 0 0 1-4 4H9a6 6 0 0 1-6-6v-3.5a2.5 2.5 0 0 1 5 0V15h1V3a1 1 0 0 1 1-1z"})}),Ui=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M12 5V2L7 7l5 5V9a4 4 0 1 1-4 4H6a6 6 0 1 0 6-8z"})}),Xi=({value:t,onChange:n})=>{const[l,s]=u.useState(!0),[a,d]=u.useState({x:320,y:104}),[o,r]=u.useState(typeof window>"u"?0:window.innerHeight),[y,p]=u.useState({visual:!0,calibration:!0,visibility:!0}),x=u.useRef(null),c=Math.max(240,o-a.y-16);u.useEffect(()=>{const i=j=>{x.current&&d({x:Math.max(8,j.clientX-x.current.x),y:Math.max(8,j.clientY-x.current.y)})},b=()=>{x.current=null,document.body.classList.remove("select-none")};return window.addEventListener("pointermove",i),window.addEventListener("pointerup",b),()=>{window.removeEventListener("pointermove",i),window.removeEventListener("pointerup",b)}},[]),u.useEffect(()=>{const i=()=>r(window.innerHeight);return window.addEventListener("resize",i),()=>window.removeEventListener("resize",i)},[]);const g=i=>{const b=i.currentTarget.getBoundingClientRect();x.current={x:i.clientX-b.left,y:i.clientY-b.top},document.body.classList.add("select-none"),i.currentTarget.setPointerCapture(i.pointerId)},h=(i,b,j,k)=>e.jsxs("div",{style:Ai,children:[e.jsxs("div",{style:Di,children:[e.jsx("button",{type:"button",onClick:()=>p(C=>({...C,[i]:!C[i]})),style:Pi,children:e.jsx("div",{style:Vi(y[i])})}),e.jsxs("div",{style:Bi,children:[e.jsx("span",{style:{display:"flex",width:18,height:18,alignItems:"center",justifyContent:"center",borderRadius:6,background:"rgba(255,255,255,0.08)",border:"1px solid rgba(255,255,255,0.08)",color:"#e2e8f0",flex:"0 0 auto"},children:j}),e.jsx("span",{children:b})]})]}),y[i]?e.jsx("div",{style:Hi,children:k}):null]},i);return typeof document>"u"?null:pe.createPortal(e.jsx("div",{style:{...Li,left:a.x,top:a.y},children:l?e.jsxs("div",{style:{...vn,height:c},children:[e.jsxs("div",{style:Oi,children:[e.jsx("div",{onPointerDown:g,style:{width:16,height:16,display:"flex",alignItems:"center",justifyContent:"center",cursor:"grab",color:"rgba(148,163,184,0.82)",flex:"0 0 auto"},children:e.jsx(Gi,{})}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,fontSize:11,fontWeight:600,minWidth:0},children:[e.jsx("span",{style:{display:"flex",width:18,height:18,alignItems:"center",justifyContent:"center",borderRadius:6,background:"rgba(255,255,255,0.08)",border:"1px solid rgba(255,255,255,0.08)",color:"#e2e8f0",flex:"0 0 auto"},children:e.jsx(dt,{})}),e.jsx("span",{children:"HandTracking3D"})]}),e.jsx("div",{style:{flex:"1 1 auto"}}),e.jsx("button",{type:"button",onClick:()=>n(Fi),style:Qt,children:e.jsx(Ui,{})}),e.jsx("button",{type:"button",onClick:()=>s(!1),style:Qt,children:e.jsx(_i,{})})]}),e.jsxs("div",{style:$i,children:[h("visual","Visual",e.jsx(dt,{}),e.jsxs("div",{style:Ct,children:[e.jsxs("label",{style:Ne,children:[e.jsx("span",{style:D,children:"Space"}),e.jsxs("select",{style:H,value:t.space,onChange:i=>n({...t,space:i.target.value}),children:[e.jsx("option",{value:"scene",children:"Scene"}),e.jsx("option",{value:"screen",children:"Screen Fit"})]})]}),e.jsxs("label",{style:K,children:[e.jsx("span",{style:D,children:"Joint Size"}),e.jsx("input",{style:H,type:"number",min:5e-4,max:.08,step:5e-4,value:t.jointRadius,onChange:i=>n({...t,jointRadius:Number(i.target.value)})})]}),e.jsxs("label",{style:K,children:[e.jsx("span",{style:D,children:"Bone Radius"}),e.jsx("input",{style:H,type:"number",min:.001,max:.12,step:.001,value:t.boneRadius,onChange:i=>n({...t,boneRadius:Number(i.target.value)})})]}),e.jsxs("label",{style:K,children:[e.jsx("span",{style:D,children:"Opacity"}),e.jsx("input",{style:H,type:"number",min:0,max:1,step:.01,value:t.opacity,onChange:i=>n({...t,opacity:Number(i.target.value)})})]}),e.jsxs("label",{style:K,children:[e.jsx("span",{style:D,children:"Smoothing"}),e.jsx("input",{style:H,type:"number",min:0,max:1,step:.01,value:t.smoothing,onChange:i=>n({...t,smoothing:Number(i.target.value)})})]})]})),h("calibration","Calibration",e.jsx(dt,{}),e.jsxs("div",{style:Ct,children:[e.jsxs("label",{style:K,children:[e.jsx("span",{style:D,children:"Hand Distance Ref (m)"}),e.jsx("input",{style:H,type:"number",min:.05,max:5,step:.01,value:t.trackingDistanceM,onChange:i=>n({...t,trackingDistanceM:Number(i.target.value)})})]}),e.jsxs("label",{style:K,children:[e.jsx("span",{style:D,children:"Projection Distance"}),e.jsx("input",{style:H,type:"number",min:.05,max:10,step:.01,value:t.projectionDistanceM,onChange:i=>n({...t,projectionDistanceM:Number(i.target.value)})})]}),e.jsxs("label",{style:K,children:[e.jsx("span",{style:D,children:"Hand Scale"}),e.jsx("input",{style:H,type:"number",min:.1,max:8,step:.01,value:t.handScale,onChange:i=>n({...t,handScale:Number(i.target.value)})})]}),e.jsxs("label",{style:K,children:[e.jsx("span",{style:D,children:"Fit X"}),e.jsx("input",{style:H,type:"number",min:.1,max:4,step:.01,value:t.fitX,onChange:i=>n({...t,fitX:Number(i.target.value)})})]}),e.jsxs("label",{style:K,children:[e.jsx("span",{style:D,children:"Fit Y"}),e.jsx("input",{style:H,type:"number",min:.1,max:4,step:.01,value:t.fitY,onChange:i=>n({...t,fitY:Number(i.target.value)})})]}),e.jsxs("label",{style:K,children:[e.jsx("span",{style:D,children:"Offset X"}),e.jsx("input",{style:H,type:"number",min:-5,max:5,step:.01,value:t.offsetX,onChange:i=>n({...t,offsetX:Number(i.target.value)})})]}),e.jsxs("label",{style:K,children:[e.jsx("span",{style:D,children:"Offset Y"}),e.jsx("input",{style:H,type:"number",min:-5,max:5,step:.01,value:t.offsetY,onChange:i=>n({...t,offsetY:Number(i.target.value)})})]}),e.jsxs("label",{style:K,children:[e.jsx("span",{style:D,children:"Offset Z"}),e.jsx("input",{style:H,type:"number",min:-5,max:5,step:.01,value:t.offsetZ,onChange:i=>n({...t,offsetZ:Number(i.target.value)})})]}),e.jsxs("label",{style:K,children:[e.jsx("span",{style:D,children:"Depth Scale"}),e.jsx("input",{style:H,type:"number",min:0,max:10,step:.1,value:t.depthScale,onChange:i=>n({...t,depthScale:Number(i.target.value)})})]})]})),h("visibility","Visibility",e.jsx(dt,{}),e.jsxs("div",{style:Ct,children:[e.jsx("label",{style:Ne,children:e.jsxs("div",{style:Xe,children:[e.jsx("span",{style:D,children:"Show 3D Hand"}),e.jsx("input",{type:"checkbox",style:Ze,checked:t.enabled,onChange:i=>n({...t,enabled:i.target.checked})})]})}),e.jsx("label",{style:Ne,children:e.jsxs("div",{style:Xe,children:[e.jsx("span",{style:D,children:"Both Hands"}),e.jsx("input",{type:"checkbox",style:Ze,checked:t.bothHands,onChange:i=>n({...t,bothHands:i.target.checked})})]})}),e.jsx("label",{style:Ne,children:e.jsxs("div",{style:Xe,children:[e.jsx("span",{style:D,children:"Joint Spheres"}),e.jsx("input",{type:"checkbox",style:Ze,checked:t.showJoints,onChange:i=>n({...t,showJoints:i.target.checked})})]})}),e.jsx("label",{style:Ne,children:e.jsxs("div",{style:Xe,children:[e.jsx("span",{style:D,children:"Bone Cylinders"}),e.jsx("input",{type:"checkbox",style:Ze,checked:t.showBones,onChange:i=>n({...t,showBones:i.target.checked})})]})}),e.jsx("label",{style:Ne,children:e.jsxs("div",{style:Xe,children:[e.jsx("span",{style:D,children:"Labels"}),e.jsx("input",{type:"checkbox",style:Ze,checked:t.showLabels,onChange:i=>n({...t,showLabels:i.target.checked})})]})})]}))]})]}):e.jsx("div",{role:"button",tabIndex:0,onClick:()=>s(!0),style:Ni,children:e.jsx(Ki,{})})}),document.body)},Zi=1e3;function Yi(t,n=Zi){return t.map((l,s)=>({...l,renderOrder:n+(t.length-s)}))}function qi(t,n,l){const s=t.findIndex(r=>r.id===n),a=t.findIndex(r=>r.id===l);if(s<0||a<0||s===a)return t;const d=[...t],[o]=d.splice(s,1);return d.splice(a,0,o),Yi(d)}const Ji={position:"fixed",left:14,top:104,zIndex:2e4,pointerEvents:"none"},en={pointerEvents:"auto",width:284,borderRadius:16,border:"1px solid rgba(255,255,255,0.12)",background:"rgba(8, 15, 28, 0.58)",boxShadow:"0 16px 36px rgba(0,0,0,0.28)",backdropFilter:"blur(20px) saturate(1.1)",WebkitBackdropFilter:"blur(20px) saturate(1.1)",color:"#f8fafc",overflowX:"hidden",overflowY:"auto",scrollbarWidth:"thin",scrollbarColor:"rgba(148,163,184,0.55) rgba(255,255,255,0.06)",overscrollBehavior:"contain"},Tt={display:"inline-flex",alignItems:"center",justifyContent:"center",width:22,height:22,borderRadius:8,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(255,255,255,0.05)",color:"#e2e8f0",cursor:"pointer",padding:0,flex:"0 0 auto"},Qi={position:"sticky",top:0,zIndex:1,display:"flex",alignItems:"center",gap:8,padding:"8px 8px",borderBottom:"1px solid rgba(255,255,255,0.08)",background:"rgba(8, 15, 28, 0.88)",backdropFilter:"blur(20px) saturate(1.1)",WebkitBackdropFilter:"blur(20px) saturate(1.1)"},eo={width:16,height:16,display:"flex",alignItems:"center",justifyContent:"center",cursor:"grab",color:"rgba(148,163,184,0.82)",flex:"0 0 auto"},to={display:"flex",alignItems:"center",gap:6,fontSize:11,fontWeight:600,minWidth:0},no={display:"flex",width:18,height:18,alignItems:"center",justifyContent:"center",borderRadius:6,background:"rgba(255,255,255,0.08)",border:"1px solid rgba(255,255,255,0.08)",color:"#e2e8f0",flex:"0 0 auto"},so={display:"grid",gap:6,padding:7},lo=t=>({display:"grid",gridTemplateColumns:"20px 20px 20px minmax(0, 1fr)",alignItems:"center",gap:6,minHeight:34,padding:"6px 7px",borderRadius:10,border:t?"1px solid rgba(56,189,248,0.5)":"1px solid rgba(255,255,255,0.08)",background:t?"rgba(56,189,248,0.10)":"rgba(255,255,255,0.03)",cursor:"pointer",opacity:1}),io={display:"flex",flexDirection:"column",gap:2,minWidth:0},oo={fontSize:10,fontWeight:600,lineHeight:1.15,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},ro={fontSize:9,color:"rgba(226,232,240,0.6)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},Rt={...Tt,width:20,height:20,borderRadius:7,fontSize:11,lineHeight:1},ao=({off:t=!1})=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:t?e.jsx("path",{d:"M2 2l20 20-1.4 1.4-3.2-3.2C15.9 21 14.1 21.5 12 21.5 6.5 21.5 2 16 1 12c.4-1.8 1.1-3.4 2.2-4.8L.6 4.6 2 2zm10 4c3.9 0 7.4 2.8 9.2 6-1 1.8-2.6 3.5-4.4 4.6l-2-2c.1-.3.2-.7.2-1.1a3 3 0 0 0-3-3c-.4 0-.8.1-1.1.2l-1.9-1.9C10.2 6.8 11.1 6 12 6z"}):e.jsx("path",{d:"M12 5c5.5 0 10 5 11 7-.9 2-5.5 7-11 7S2 14 1 12c1-2 5.5-7 11-7zm0 3.2A3.8 3.8 0 1 0 12 16.8 3.8 3.8 0 0 0 12 8.2z"})}),co=({off:t=!1})=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:t?e.jsx("path",{d:"M18 8h-1V6a5 5 0 0 0-9.1-2.9l1.5 1.5A3 3 0 0 1 16 6v2H8a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h9.2l1.8 1.8 1.4-1.4L2.6 3.4 1.2 4.8 5 8.6V20h14a2 2 0 0 0 2-2v-8a2 2 0 0 0-2-2z"}):e.jsx("path",{d:"M7 10V8a5 5 0 0 1 10 0v2h1a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h1zm2 0h6V8a3 3 0 0 0-6 0v2z"})}),po=()=>e.jsx("svg",{width:"11",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M11 2h2v4h3l-4 4-4-4h3V2zm0 20v-4H8l4-4 4 4h-3v4h-2zM2 11h4V8l4 4-4 4v-3H2v-2zm20 0v2h-4v3l-4-4 4-4v3h4z"})}),tn=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M12 3 1 9l11 6 11-6-11-6zm0 8L1 5v4l11 6 11-6V5l-11 6zm0 6L1 11v4l11 6 11-6v-4l-11 6z"})}),ho=({layers:t,selectedLayerId:n,onSelectLayer:l,onToggleVisible:s,onToggleEnabled:a,onReorder:d,onToggleLocked:o,initialPosition:r,title:y="Layers"})=>{const[p,x]=u.useState(!0),[c,g]=u.useState(r??{x:644,y:104}),[h,i]=u.useState(typeof window>"u"?0:window.innerHeight),b=u.useRef(null),[j,k]=u.useState(null),C=Math.max(240,h-c.y-16);if(u.useEffect(()=>{const w=T=>{b.current&&g({x:Math.max(8,T.clientX-b.current.x),y:Math.max(8,T.clientY-b.current.y)})},O=()=>{b.current=null,document.body.classList.remove("select-none")};return window.addEventListener("pointermove",w),window.addEventListener("pointerup",O),()=>{window.removeEventListener("pointermove",w),window.removeEventListener("pointerup",O)}},[]),u.useEffect(()=>{const w=()=>i(window.innerHeight);return window.addEventListener("resize",w),()=>window.removeEventListener("resize",w)},[]),typeof document>"u")return null;const L=w=>{const O=w.currentTarget.getBoundingClientRect();b.current={x:w.clientX-O.left,y:w.clientY-O.top},document.body.classList.add("select-none"),w.currentTarget.setPointerCapture(w.pointerId)},S=w=>{if(!j||j===w){k(null);return}const O=t.findIndex(B=>B.id===j),T=t.findIndex(B=>B.id===w);if(O<0||T<0){k(null);return}d(qi(t,j,w)),k(null)};return pe.createPortal(e.jsx("div",{style:{...Ji,left:c.x,top:c.y},children:p?e.jsxs("div",{style:{...en,height:C},children:[e.jsxs("div",{style:Qi,children:[e.jsx("div",{onPointerDown:L,style:eo,children:e.jsx(po,{})}),e.jsxs("div",{style:to,children:[e.jsx("span",{style:no,children:e.jsx(tn,{})}),e.jsx("span",{children:y})]}),e.jsx("div",{style:{flex:"1 1 auto"}}),e.jsx("button",{type:"button",onClick:()=>x(!1),style:Tt,children:"−"})]}),e.jsx("div",{style:so,children:t.map((w,O)=>e.jsxs("div",{style:lo(n===w.id),draggable:!0,onDragStart:()=>k(w.id),onDragOver:T=>T.preventDefault(),onDrop:()=>S(w.id),onClick:()=>l(w.id),title:w.label,children:[e.jsx("button",{type:"button",style:Rt,onClick:T=>{T.stopPropagation(),s(w.id,!w.visible)},children:e.jsx(ao,{off:!w.visible})}),e.jsx("button",{type:"button",style:Rt,onClick:T=>{T.stopPropagation(),a(w.id,!w.enabled)},children:w.enabled?"●":"○"}),e.jsx("button",{type:"button",style:Rt,onClick:T=>{T.stopPropagation(),o==null||o(w.id,!w.locked)},children:e.jsx(co,{off:!w.locked})}),e.jsxs("div",{style:io,children:[e.jsx("div",{style:oo,children:w.label}),e.jsxs("div",{style:ro,children:[w.domain," / ",w.type," • #",t.length-O]})]})]},w.id))})]}):e.jsx("div",{role:"button",tabIndex:0,onClick:()=>x(!0),style:{...en,...Tt,width:32,height:32,display:"flex",alignItems:"center",justifyContent:"center"},children:e.jsx(tn,{})})}),document.body)},xo={position:"fixed",zIndex:2e4,pointerEvents:"none"},nn={pointerEvents:"auto",width:300,borderRadius:16,border:"1px solid rgba(255,255,255,.12)",background:"rgba(8,15,28,.78)",boxShadow:"0 16px 36px rgba(0,0,0,.28)",backdropFilter:"blur(20px) saturate(1.1)",color:"#f8fafc",overflow:"auto"},Ye={display:"inline-flex",alignItems:"center",justifyContent:"center",width:22,height:22,padding:0,borderRadius:7,border:"1px solid rgba(255,255,255,.1)",background:"rgba(255,255,255,.05)",color:"#e2e8f0",cursor:"pointer"},sn=t=>{try{return JSON.parse(t.dataTransfer.getData("application/x-xr-hierarchy"))}catch{return null}},yo=async t=>{var l;if((l=navigator.clipboard)!=null&&l.writeText){await navigator.clipboard.writeText(t);return}const n=document.createElement("textarea");n.value=t,n.setAttribute("readonly",""),n.style.position="fixed",n.style.left="-9999px",document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n)},Cn=({groups:t,objects:n,selectedObjectId:l,onSelectObject:s,onReorderGroup:a,onReorderObject:d,onMoveObject:o,onSetObjectParent:r,onToggleGroupEnabled:y,onToggleObjectVisible:p,copyConfig:x,initialPosition:c={x:10,y:30},title:g="Hierarchy"})=>{const[h,i]=u.useState(!0),[b,j]=u.useState(c),[k,C]=u.useState(new Set),[L,S]=u.useState(new Set),[w,O]=u.useState(!1),[T,B]=u.useState(null),_=u.useRef(null),he=t.filter(f=>f.objectIds.some(v=>!!n[v]));if(u.useEffect(()=>{const f=A=>{_.current&&j({x:Math.max(8,A.clientX-_.current.x),y:Math.max(8,A.clientY-_.current.y)})},v=()=>{_.current=null};return window.addEventListener("pointermove",f),window.addEventListener("pointerup",v),()=>{window.removeEventListener("pointermove",f),window.removeEventListener("pointerup",v)}},[]),typeof document>"u")return null;const te=(f,v)=>{f.stopPropagation(),f.dataTransfer.effectAllowed="move",f.dataTransfer.setData("application/x-xr-hierarchy",JSON.stringify(v)),B(null)},xe=(f,v,A)=>{var E;f.preventDefault(),f.stopPropagation();const z=sn(f);if(z){if(z.kind==="group"){a(z.groupId,A);return}if(!(r!=null&&r(z.objectId,null,v.objectIds.length,v.id))){if(z.groupId===v.id){d(v.id,z.objectId,v.objectIds.length-1);return}o(z.objectId,v.id,v.objectIds.length)||B(`${((E=n[z.objectId])==null?void 0:E.name)??"Object"} is not compatible with ${v.name}.`)}}},M=(f,v,A,z)=>{var Pe;f.preventDefault(),f.stopPropagation();const E=sn(f);if(!(!E||E.kind!=="object")&&E.objectId!==A){if(r!=null&&r(E.objectId,A,I(A).length,v.id)){S(Fe=>{const Ve=new Set(Fe);return Ve.delete(A),Ve});return}E.groupId===v.id?d(v.id,E.objectId,z):o(E.objectId,v.id,z)||B(`${((Pe=n[E.objectId])==null?void 0:Pe.name)??"Object"} is not compatible with ${v.name}.`)}},I=f=>{const v=n[f],A=(v==null?void 0:v.childObjectIds)??[],z=Object.values(n).filter(E=>E.parentObjectId===f).map(E=>E.id);return[...new Set([...A,...z])].filter(E=>!!n[E])},ye=(f,v,A,z)=>{const E=n[f];if(!E)return null;const Pe=l===f,Fe=I(f),Ve=L.has(f);return e.jsxs("div",{style:{display:"grid",gap:4},children:[e.jsxs("div",{draggable:!0,onDragStart:J=>te(J,{kind:"object",groupId:v.id,objectId:f}),onDragOver:J=>J.preventDefault(),onDrop:J=>M(J,v,f,A),onClick:()=>s(f),style:{display:"grid",gridTemplateColumns:`${Fe.length?22:0}px ${p?"22px ":""}minmax(0,1fr)`,alignItems:"center",gap:Fe.length||p?6:0,minHeight:30,padding:`4px 7px 4px ${Math.max(10,24+z*16)}px`,border:Pe?"1px solid rgba(56,189,248,.55)":"1px solid transparent",borderRadius:8,background:Pe?"rgba(56,189,248,.12)":"rgba(255,255,255,.025)",cursor:"grab",opacity:E.enabled?1:.5},children:[Fe.length?e.jsx("button",{type:"button",style:Ye,onClick:J=>{J.stopPropagation(),S(gt=>{const at=new Set(gt);return at.has(f)?at.delete(f):at.add(f),at})},children:Ve?"▸":"▾"}):e.jsx("span",{}),p?e.jsx("button",{type:"button",style:Ye,onClick:J=>{J.stopPropagation(),p(f,!E.enabled)},children:E.enabled?"●":"○"}):null,e.jsx("span",{style:{overflow:"hidden",textOverflow:"ellipsis",fontSize:10},children:E.name})]}),Ve?null:Fe.map((J,gt)=>ye(J,v,gt,z+1))]},f)},N=async()=>{if(x!==void 0)try{await yo(JSON.stringify(x,null,2)),O(!0),window.setTimeout(()=>O(!1),1400)}catch{B("Unable to copy the scene configuration.")}};return pe.createPortal(e.jsx("div",{style:{...xo,left:b.x,top:b.y},children:h?e.jsxs("section",{style:{...nn,maxHeight:`calc(100vh - ${b.y+16}px)`},children:[e.jsx("header",{onPointerDown:f=>{const v=f.currentTarget.getBoundingClientRect();_.current={x:f.clientX-v.left,y:f.clientY-v.top}},style:{position:"sticky",top:0,zIndex:2,padding:"10px 12px",borderBottom:"1px solid rgba(255,255,255,.08)",background:"rgba(8,15,28,.94)",cursor:"grab"},children:e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:12},children:[e.jsx("strong",{children:g}),e.jsx("div",{style:{flex:"1 1 auto"}}),e.jsx("button",{type:"button","aria-label":`Fold ${g}`,"aria-expanded":"true",onPointerDown:f=>f.stopPropagation(),onClick:()=>i(!1),style:Ye,children:"−"})]})}),e.jsxs("div",{style:{display:"grid",gap:7,padding:7},children:[x!==void 0&&e.jsx("button",{type:"button",onClick:N,style:{width:"100%",height:28,borderRadius:8,border:"1px solid rgba(56,189,248,.28)",background:"rgba(56,189,248,.14)",color:"#e0f2fe",cursor:"pointer",fontSize:10,fontWeight:700},children:w?"Copied Config":"Copy Config"}),he.map(f=>{const v=t.findIndex(z=>z.id===f.id),A=k.has(f.id);return e.jsxs("section",{onDragOver:z=>z.preventDefault(),onDrop:z=>xe(z,f,v),style:{border:"1px solid rgba(255,255,255,.1)",borderRadius:10,overflow:"hidden",opacity:f.enabled?1:.55},children:[e.jsxs("div",{draggable:!0,onDragStart:z=>te(z,{kind:"group",groupId:f.id}),style:{display:"grid",gridTemplateColumns:"22px 22px minmax(0,1fr)",gap:5,alignItems:"center",padding:"6px",background:"rgba(255,255,255,.06)",cursor:"grab"},children:[e.jsx("button",{type:"button",style:Ye,onClick:()=>C(z=>{const E=new Set(z);return E.has(f.id)?E.delete(f.id):E.add(f.id),E}),children:A?"▸":"▾"}),e.jsx("button",{type:"button",style:Ye,title:"Toggle group visibility",onClick:()=>y(f.id,!f.enabled),children:f.enabled?"◉":"○"}),e.jsx("div",{style:{minWidth:0},children:e.jsx("div",{style:{fontSize:10,fontWeight:700},children:f.name})})]}),!A&&e.jsx("div",{style:{display:"grid",gap:4,padding:f.objectIds.length?5:0},children:f.objectIds.filter(z=>{var E;return!((E=n[z])!=null&&E.parentObjectId)}).map((z,E)=>ye(z,f,E,0))})]},f.id)}),T&&e.jsx("div",{role:"alert",style:{color:"#fca5a5",fontSize:9,padding:"2px 5px 5px"},children:T})]})]}):e.jsx("button",{type:"button","aria-expanded":"false",onClick:()=>i(!0),style:{...nn,width:"auto",padding:"9px 12px",cursor:"pointer",fontSize:11,fontWeight:700},children:g})}),document.body)},ct={display:"grid",gridTemplateColumns:"92px minmax(0, 1fr)",alignItems:"center",gap:10,margin:"8px 0",color:"#cbd5e1",fontSize:12},uo=t=>({display:"grid",gridTemplateColumns:`92px repeat(${t}, minmax(0, 1fr))`,alignItems:"center",gap:6,margin:"8px 0"}),go={fontSize:12,color:"#cbd5e1"},Et={width:"100%",boxSizing:"border-box",padding:"8px 9px",border:"1px solid rgba(148,163,184,.16)",borderRadius:6,background:"rgba(15,23,42,.72)",color:"#e2e8f0"},bo={width:"100%",minWidth:0,height:24,boxSizing:"border-box",borderRadius:7,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(15,23,42,0.68)",padding:"0 7px",outline:0,color:"#f8fafc",fontSize:10.5,fontVariantNumeric:"tabular-nums"},fo=t=>/^-?\d*(\.\d*)?$/.test(t),pt=t=>Number.isFinite(t)?String(t):"0",jo=({onChange:t,value:n})=>{const[l,s]=u.useState(pt(n));return u.useEffect(()=>{s(pt(n))},[n]),e.jsx("input",{style:bo,type:"text",inputMode:"decimal",value:l,placeholder:"0",onBlur:()=>{if(l.trim()===""){s(pt(n));return}const a=Number(l);if(Number.isNaN(a)){s(pt(n));return}t(a)},onChange:a=>{const d=a.currentTarget.value;if(!fo(d)||(s(d),d===""||d==="-"||d==="."||d==="-."))return;const o=Number(d);Number.isNaN(o)||t(o)},onKeyDown:a=>{if(a.key!=="ArrowUp"&&a.key!=="ArrowDown")return;a.preventDefault();const d=a.shiftKey?1:a.altKey?.01:.1,o=a.key==="ArrowUp"?n+d:n-d;t(Number(o.toFixed(6)))}})},It=({axes:t=["x","y","z"],label:n,onChange:l,value:s})=>e.jsxs("div",{style:uo(t.length),children:[e.jsx("div",{style:go,children:n}),t.map(a=>e.jsx(jo,{value:s[a],onChange:d=>l({...s,[a]:d})},a))]}),Rn=({value:t,onChange:n,targets:l=[]})=>e.jsxs("section",{style:{padding:10,borderRadius:10,background:"rgba(255,255,255,.04)"},children:[e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",fontWeight:700,color:"#f8fafc"},children:[e.jsx("span",{children:"Pin to Mesh"}),e.jsx("input",{type:"checkbox",checked:t.enabled,onChange:s=>n({...t,enabled:s.target.checked})})]}),e.jsxs("label",{style:ct,children:[e.jsx("span",{children:"Target"}),e.jsxs("select",{style:Et,value:t.targetObjectId??"",onChange:s=>n({...t,targetObjectId:s.target.value||null}),children:[e.jsx("option",{value:"",children:"None (Transform)"}),l.map(s=>e.jsx("option",{value:s.id,children:s.name},s.id))]})]}),e.jsxs("label",{style:ct,children:[e.jsx("span",{children:"Orientation"}),e.jsxs("select",{style:Et,value:t.orientation,onChange:s=>n({...t,orientation:s.target.value}),children:[e.jsx("option",{value:"none",children:"None"}),e.jsx("option",{value:"position",children:"Position"}),e.jsx("option",{value:"positionAndDirection",children:"Position and Direction"})]})]}),e.jsxs("label",{style:ct,children:[e.jsx("span",{children:"Offset Space"}),e.jsxs("select",{style:Et,value:t.offsetSpace,onChange:s=>n({...t,offsetSpace:s.target.value}),children:[e.jsx("option",{value:"local",children:"Local"}),e.jsx("option",{value:"world",children:"World"})]})]}),e.jsx(It,{axes:["x","y"],label:"UV",value:{x:t.uv.x,y:t.uv.y,z:0},onChange:s=>n({...t,uv:{x:s.x,y:s.y}})}),e.jsxs("label",{style:ct,children:[e.jsx("span",{children:"Vertex Normal"}),e.jsx("input",{type:"checkbox",checked:t.vertexNormal,onChange:s=>n({...t,vertexNormal:s.target.checked})})]}),e.jsx(It,{label:"Offset Position",value:t.offsetPosition,onChange:s=>n({...t,offsetPosition:s})}),e.jsx(It,{label:"Offset Rotation",value:t.offsetRotation,onChange:s=>n({...t,offsetRotation:s})})]}),mo={position:"fixed",zIndex:2e4,pointerEvents:"none"},So={pointerEvents:"auto",width:284,maxHeight:"min(620px, calc(100vh - 32px))",borderRadius:16,border:"1px solid rgba(255,255,255,0.12)",background:"rgba(8, 15, 28, 0.62)",boxShadow:"0 16px 36px rgba(0,0,0,0.28)",backdropFilter:"blur(20px) saturate(1.1)",WebkitBackdropFilter:"blur(20px) saturate(1.1)",color:"#f8fafc",overflow:"hidden",fontFamily:"Inter, ui-sans-serif, system-ui, sans-serif"},wo={display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,padding:"8px 8px",borderBottom:"1px solid rgba(255,255,255,0.08)",background:"rgba(8, 15, 28, 0.88)"},ko={display:"flex",alignItems:"center",gap:6,minWidth:0,fontSize:11,fontWeight:700},vo={width:16,height:16,display:"flex",alignItems:"center",justifyContent:"center",cursor:"grab",color:"rgba(148,163,184,0.82)",flex:"0 0 auto"},Co={display:"grid",gap:8,padding:10,maxHeight:"min(548px, calc(100vh - 104px))",overflowY:"auto",scrollbarWidth:"thin",scrollbarColor:"rgba(148,163,184,0.55) rgba(255,255,255,0.06)",overscrollBehavior:"contain"},qe={display:"grid",gap:4,fontSize:10,color:"rgba(226,232,240,0.78)"},ht={width:"100%",minWidth:0,height:28,borderRadius:8,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(15,23,42,0.8)",color:"#f8fafc",padding:"0 8px",boxSizing:"border-box"},Ro={height:24,borderRadius:8,border:"1px solid rgba(56,189,248,0.25)",background:"rgba(56,189,248,0.16)",color:"#e0f2fe",cursor:"pointer",fontSize:10,fontWeight:700,padding:"0 8px"},Eo={display:"grid",gridTemplateColumns:"1fr 74px",alignItems:"center",gap:8},Io=()=>e.jsx("svg",{width:"11",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M11 2h2v4h3l-4 4-4-4h3V2zm0 20v-4H8l4-4 4 4h-3v4h-2zM2 11h4V8l4 4-4 4v-3H2v-2zm20 0v2h-4v3l-4-4 4-4v3h4z"})}),zo=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M19.4 13.5c.1-.5.1-1 .1-1.5s0-1-.1-1.5l2.1-1.6-2-3.5-2.5 1a8 8 0 0 0-2.6-1.5L14 2h-4l-.4 2.9A8 8 0 0 0 7 6.4l-2.5-1-2 3.5 2.1 1.6A10 10 0 0 0 4.5 12c0 .5 0 1 .1 1.5l-2.1 1.6 2 3.5 2.5-1a8 8 0 0 0 2.6 1.5L10 22h4l.4-2.9a8 8 0 0 0 2.6-1.5l2.5 1 2-3.5-2.1-1.6zM12 15.5A3.5 3.5 0 1 1 12 8a3.5 3.5 0 0 1 0 7.5z"})}),To=(t,n)=>{const l=t.find(s=>String(s.value)===n);return(l==null?void 0:l.value)??n};function En({title:t,value:n,fields:l,onChange:s,copyLabel:a,copyPayload:d,initialPosition:o}){const[r,y]=u.useState(o??{x:14,y:452}),p=u.useRef(null);u.useEffect(()=>{const h=b=>{p.current&&y({x:Math.max(8,b.clientX-p.current.x),y:Math.max(8,b.clientY-p.current.y)})},i=()=>{p.current=null,document.body.classList.remove("select-none")};return window.addEventListener("pointermove",h),window.addEventListener("pointerup",i),()=>{window.removeEventListener("pointermove",h),window.removeEventListener("pointerup",i)}},[]);const x=(h,i)=>{s({...n,[h]:i})},c=async()=>{var i;const h=(d==null?void 0:d(n))??{name:a??t,kind:"settings",settings:n};await((i=navigator.clipboard)==null?void 0:i.writeText(JSON.stringify(h,null,2)))},g=h=>{var b;const i=(b=h.currentTarget.parentElement)==null?void 0:b.parentElement;i&&(p.current={x:h.clientX-i.getBoundingClientRect().left,y:h.clientY-i.getBoundingClientRect().top},document.body.classList.add("select-none"))};return e.jsx("div",{style:{...mo,left:r.x,top:r.y},children:e.jsxs("div",{style:So,children:[e.jsxs("div",{style:wo,children:[e.jsxs("div",{style:ko,children:[e.jsx("span",{style:vo,onPointerDown:g,children:e.jsx(Io,{})}),e.jsx(zo,{}),e.jsx("span",{children:t})]}),e.jsx("button",{style:Ro,type:"button",onClick:c,children:"Copy"})]}),e.jsx("div",{style:Co,children:l.map(h=>{const i=n[h.key];if(h.type==="boolean")return e.jsxs("label",{style:qe,children:[e.jsx("span",{children:h.label}),e.jsx("input",{type:"checkbox",checked:!!i,onChange:b=>x(h.key,b.target.checked)})]},h.key);if(h.type==="number"){const b=Number(i),j=h.min??0,k=h.max??1,C=h.step??.01;return e.jsxs("label",{style:qe,children:[e.jsx("span",{children:h.label}),e.jsxs("div",{style:Eo,children:[e.jsx("input",{type:"range",min:j,max:k,step:C,value:b,onChange:L=>x(h.key,Number(L.target.value))}),e.jsx("input",{style:ht,type:"number",min:j,max:k,step:C,value:b,onChange:L=>x(h.key,Number(L.target.value))})]})]},h.key)}return h.type==="color"?e.jsxs("label",{style:qe,children:[e.jsx("span",{children:h.label}),e.jsx("input",{style:{...ht,padding:2},type:"color",value:String(i),onChange:b=>x(h.key,b.target.value)})]},h.key):h.type==="select"?e.jsxs("label",{style:qe,children:[e.jsx("span",{children:h.label}),e.jsx("select",{style:ht,value:String(i),onChange:b=>x(h.key,To(h.options,b.target.value)),children:h.options.map(b=>e.jsx("option",{value:String(b.value),children:b.label},`${h.key}-${String(b.value)}`))})]},h.key):e.jsxs("label",{style:qe,children:[e.jsx("span",{children:h.label}),e.jsx("input",{style:ht,type:"text",value:String(i),onChange:b=>x(h.key,b.target.value)})]},h.key)})})]})})}var Mt,xt=pe;if(process.env.NODE_ENV==="production")Mt=xt.createRoot,xt.hydrateRoot;else{var ln=xt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Mt=function(t,n){ln.usingClientEntryPoint=!0;try{return xt.createRoot(t,n)}finally{ln.usingClientEntryPoint=!1}}}const on=[{title:"Head and Face",controls:[{key:"strength",label:"Overall Strength",min:0},{key:"faceWidth",label:"Face Width"},{key:"faceHeight",label:"Face Height"},{key:"faceRoundness",label:"Face Roundness"},{key:"midfaceHeight",label:"Midface Height"},{key:"foreheadHeight",label:"Forehead Height"},{key:"foreheadWidth",label:"Forehead Width"},{key:"cheekboneWidth",label:"Cheekbone Width"},{key:"cheekWidth",label:"Cheek Width"},{key:"cheekHollowness",label:"Cheek Hollowness"},{key:"midfaceDepth",label:"Midface Depth"},{key:"scalpHeight",label:"Scalp Height"},{key:"headCurve",label:"Head Curve"},{key:"faceTwist",label:"Face Twist"},{key:"faceSwirl",label:"Face Swirl"}]},{title:"Eyebrows",controls:[{key:"browDistance",label:"Brow Distance"},{key:"browHeight",label:"Brow Height"},{key:"browDepth",label:"Brow Depth"}]},{title:"Eyes",controls:[{key:"leftEyeSize",label:"Left Eye Size"},{key:"rightEyeSize",label:"Right Eye Size"},{key:"eyeDistance",label:"Eye Distance"},{key:"leftEyeX",label:"Left Eye X Offset"},{key:"rightEyeX",label:"Right Eye X Offset"},{key:"leftEyeY",label:"Left Eye Y Offset"},{key:"rightEyeY",label:"Right Eye Y Offset"}]},{title:"Nose, Mouth and Jaw",controls:[{key:"noseSize",label:"Nose Size"},{key:"noseLength",label:"Nose Length"},{key:"mouthWidth",label:"Mouth Width"},{key:"mouthHeight",label:"Mouth Height"},{key:"jawWidth",label:"Jaw Width"},{key:"chinHeight",label:"Chin Height"}]}],rn={pointerEvents:"auto",width:300,maxHeight:"calc(100vh - 32px)",overflow:"auto",borderRadius:16,border:"1px solid rgba(255,255,255,0.12)",background:"rgba(8,15,28,0.72)",boxShadow:"0 16px 36px rgba(0,0,0,0.28)",backdropFilter:"blur(20px) saturate(1.1)",color:"#f8fafc",fontFamily:"system-ui, sans-serif"},an={width:26,height:26,borderRadius:8,border:"1px solid rgba(255,255,255,0.1)",background:"rgba(255,255,255,0.06)",color:"#e2e8f0",cursor:"pointer"},Mo=({value:t,onChange:n})=>{const[l,s]=u.useState(!0),[a,d]=u.useState({x:16,y:96}),[o,r]=u.useState(Object.fromEntries(on.map(({title:g})=>[g,!0]))),y=u.useRef(null),p=u.useRef(null);u.useEffect(()=>{const g=i=>{y.current&&d({x:Math.max(8,i.clientX-y.current.x),y:Math.max(8,i.clientY-y.current.y)})},h=()=>{y.current=null};return window.addEventListener("pointermove",g),window.addEventListener("pointerup",h),()=>{window.removeEventListener("pointermove",g),window.removeEventListener("pointerup",h)}},[]);const x=g=>{const h=g.currentTarget.getBoundingClientRect();y.current={x:g.clientX-h.left,y:g.clientY-h.top},g.currentTarget.setPointerCapture(g.pointerId)},c=e.jsx("div",{style:{position:"fixed",left:a.x,top:a.y,zIndex:2e4},children:l?e.jsxs("div",{style:rn,children:[e.jsxs("div",{onPointerDown:x,style:{position:"sticky",top:0,zIndex:1,display:"flex",alignItems:"center",gap:8,padding:8,background:"rgba(8,15,28,0.94)",borderBottom:"1px solid rgba(255,255,255,0.08)",cursor:"grab"},children:[e.jsx("span",{style:{fontSize:11,fontWeight:650,flex:1},children:"3D Face Warp"}),e.jsxs("label",{style:{display:"flex",alignItems:"center",gap:5,fontSize:9},children:[e.jsx("span",{children:"Enabled"}),e.jsx("input",{type:"checkbox",checked:t.enabled,onPointerDown:g=>g.stopPropagation(),onChange:g=>n({...t,enabled:g.target.checked})})]}),e.jsx("button",{type:"button",style:an,title:"Reset",onPointerDown:g=>g.stopPropagation(),onClick:()=>n({...Z.DEFAULT_FACE_WARP_3D_SETTINGS,enabled:!0}),children:"↺"}),e.jsx("button",{type:"button",style:an,title:"Close",onPointerDown:g=>g.stopPropagation(),onClick:()=>s(!1),children:"×"})]}),e.jsx("div",{style:{display:"grid",gap:6,padding:7},children:on.map(({title:g,controls:h})=>e.jsxs("section",{style:{border:"1px solid rgba(255,255,255,0.08)",borderRadius:12,overflow:"hidden"},children:[e.jsxs("button",{type:"button",onClick:()=>r(i=>({...i,[g]:!i[g]})),style:{width:"100%",padding:"8px",border:0,background:"rgba(255,255,255,0.03)",color:"#e2e8f0",display:"flex",justifyContent:"space-between",cursor:"pointer",fontSize:10.5},children:[e.jsx("span",{children:g}),e.jsx("span",{children:o[g]?"−":"+"})]}),o[g]?e.jsx("div",{style:{display:"grid",gap:6,padding:8},children:h.map(({key:i,label:b,min:j=-100,max:k=100})=>{const C=Math.round(t[i]*100);return e.jsxs("label",{style:{display:"grid",gridTemplateColumns:"105px 32px 1fr",gap:7,alignItems:"center",fontSize:9},children:[e.jsx("span",{style:{color:"rgba(226,232,240,0.76)"},children:b}),e.jsx("output",{style:{textAlign:"right",fontVariantNumeric:"tabular-nums"},children:C}),e.jsx("input",{type:"range",min:j,max:k,value:C,onChange:L=>n({...t,[i]:Number(L.target.value)/100}),style:{width:"100%",accentColor:"#e2e8f0"}})]},i)})}):null]},g))})]}):e.jsx("button",{type:"button",style:{...rn,width:38,height:38,cursor:"pointer"},onClick:()=>s(!0),title:"Open 3D Face Warp settings",children:"3D"})});return u.useEffect(()=>{const g=document.createElement("div");return g.dataset.xrDebugUi="face-warp-3d",document.body.appendChild(g),p.current=Mt(g),()=>{var h;(h=p.current)==null||h.unmount(),p.current=null,g.remove()}},[]),u.useEffect(()=>{var g;(g=p.current)==null||g.render(c)},[c]),null},Wo=({title:t="Face Retouch",value:n,onChange:l,initialPosition:s})=>{const a=Z.resolveFaceRetouchControls(n);return e.jsx(En,{title:t,value:a,fields:Z.FACE_RETOUCH_SETTINGS_FIELDS,onChange:d=>l(Z.patchFaceRetouchControls(a,d)),initialPosition:s})},Fo={position:"fixed",left:14,top:104,zIndex:2e4,pointerEvents:"none"},Lo={pointerEvents:"auto",width:298,borderRadius:16,border:"1px solid rgba(255,255,255,0.12)",background:"rgba(8, 15, 28, 0.58)",boxShadow:"0 16px 36px rgba(0,0,0,0.28)",backdropFilter:"blur(20px) saturate(1.1)",WebkitBackdropFilter:"blur(20px) saturate(1.1)",color:"#f8fafc",overflow:"hidden"},No={display:"flex",alignItems:"center",gap:7,padding:"7px 8px",borderBottom:"1px solid rgba(255,255,255,0.08)",background:"rgba(8, 15, 28, 0.88)"},Oo={display:"grid",gap:8,padding:8},In={display:"flex",alignItems:"center",gap:6,fontSize:11,fontWeight:700},zn={display:"flex",width:18,height:18,alignItems:"center",justifyContent:"center",borderRadius:6,background:"rgba(255,255,255,0.08)",border:"1px solid rgba(255,255,255,0.08)",color:"#e2e8f0"},$o={width:16,height:16,display:"flex",alignItems:"center",justifyContent:"center",cursor:"grab",color:"rgba(148,163,184,0.82)"},Ao={display:"grid",gridTemplateColumns:"minmax(0, 1fr) 30px",gap:6},Do={width:"100%",height:26,borderRadius:8,border:"1px solid rgba(255,255,255,0.12)",background:"rgba(56,189,248,0.16)",color:"#e0f2fe",fontSize:10.5,fontWeight:700,cursor:"pointer"},Bo={display:"inline-flex",alignItems:"center",justifyContent:"center",width:24,height:24,borderRadius:8,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(255,255,255,0.05)",color:"#e2e8f0",cursor:"pointer",padding:0},Po=t=>({...Bo,width:30,height:26,color:t?"#e0f2fe":"rgba(148,163,184,0.72)",background:t?"rgba(56,189,248,0.16)":"rgba(255,255,255,0.04)"}),Vo={borderRadius:12,border:"1px solid rgba(255,255,255,0.08)",background:"rgba(255,255,255,0.03)",padding:8},Ho={display:"grid",gridTemplateColumns:"repeat(2, minmax(0, 1fr))",gap:6},Ko={display:"grid",gridTemplateColumns:"repeat(3, minmax(0, 1fr))",gap:6},_o={display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,marginBottom:7},Go={display:"grid",gridTemplateColumns:"62px repeat(3, minmax(0, 1fr)) 24px",alignItems:"center",gap:6,marginTop:6},Uo={fontSize:10,color:"rgba(226,232,240,0.82)"},Xo=t=>({display:"inline-flex",alignItems:"center",justifyContent:"center",width:24,height:22,borderRadius:7,border:t?"1px solid rgba(125,211,252,0.72)":"1px solid rgba(255,255,255,0.10)",background:t?"rgba(56,189,248,0.20)":"rgba(255,255,255,0.05)",color:t?"#e0f2fe":"rgba(226,232,240,0.75)",cursor:"pointer"}),dn={display:"flex",flexDirection:"column",gap:4,fontSize:9,color:"rgba(226,232,240,0.72)"},Zo={width:"100%",height:24,borderRadius:7,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(15,23,42,0.68)",color:"#f8fafc",fontSize:10.5,outline:"none",padding:"0 7px",boxSizing:"border-box",fontVariantNumeric:"tabular-nums"},Yo={display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,fontSize:9,color:"rgba(226,232,240,0.72)"},Tn={width:15,height:15,accentColor:"#38bdf8",cursor:"pointer"},cn=t=>({height:25,borderRadius:8,border:t?"1px solid rgba(125,211,252,0.72)":"1px solid rgba(255,255,255,0.10)",background:t?"rgba(56,189,248,0.20)":"rgba(255,255,255,0.05)",color:t?"#e0f2fe":"rgba(226,232,240,0.82)",fontSize:10,fontWeight:700,cursor:"pointer"}),qo=t=>/^-?\d*(\.\d*)?$/.test(t),Jo=({value:t,onChange:n,step:l=.1})=>{const[s,a]=u.useState(String(t));return u.useEffect(()=>a(String(t)),[t]),e.jsx("input",{type:"text",inputMode:"decimal",style:Zo,value:s,onChange:d=>{const o=d.target.value;if(!qo(o)||(a(o),o===""||o==="-"||o==="."||o==="-."))return;const r=Number(o);Number.isNaN(r)||n(r)},onBlur:()=>{const d=Number(s);if(Number.isNaN(d)){a(String(t));return}n(d)},onKeyDown:d=>{if(d.key!=="ArrowUp"&&d.key!=="ArrowDown")return;d.preventDefault();const o=d.shiftKey?l*10:d.altKey?l/10:l,r=d.key==="ArrowUp"?t+o:t-o;n(Number(r.toFixed(6)))}})},Mn=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M4 4h6v2H7.4l3.3 3.3-1.4 1.4L6 7.4V10H4V4zm10 0h6v6h-2V7.4l-3.3 3.3-1.4-1.4L16.6 6H14V4zM9.3 13.3l1.4 1.4L7.4 18H10v2H4v-6h2v2.6l3.3-3.3zm5.4 0 3.3 3.3V14h2v6h-6v-2h2.6l-3.3-3.3 1.4-1.4z"})}),Qo=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M7 12a5 5 0 0 1 5-5h3v2h-3a3 3 0 0 0 0 6h3v2h-3a5 5 0 0 1-5-5zm4-1h2v2h-2v-2zm-2 6H6a5 5 0 0 1 0-10h3v2H6a3 3 0 0 0 0 6h3v2zm6-10h3a5 5 0 0 1 0 10h-3v-2h3a3 3 0 0 0 0-6h-3V7z"})}),er=()=>e.jsx("svg",{width:"11",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M8 6a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM8 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM8 18a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM16 6a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM16 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM16 18a2 2 0 1 1-4 0 2 2 0 0 1 4 0z"})}),tr=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M12 5c5 0 8.7 4.2 10 7-1.3 2.8-5 7-10 7s-8.7-4.2-10-7c1.3-2.8 5-7 10-7zm0 2c-3.6 0-6.4 2.7-7.7 5 1.3 2.3 4.1 5 7.7 5s6.4-2.7 7.7-5C18.4 9.7 15.6 7 12 7zm0 2.5a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5z"})}),nr=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M3.3 2 22 20.7 20.7 22l-3.1-3.1A10.5 10.5 0 0 1 12 20c-5 0-8.7-4.2-10-7a16.4 16.4 0 0 1 4-4.9L2 3.3 3.3 2zm4.1 7.5A14.4 14.4 0 0 0 4.3 13c1.3 2.3 4.1 5 7.7 5 1.5 0 2.8-.5 4-1.2l-2.1-2.1A2.5 2.5 0 0 1 9.3 10L7.4 9.5zM12 4c5 0 8.7 4.2 10 7a15 15 0 0 1-3.2 4.2l-1.4-1.4A13 13 0 0 0 19.7 11C18.4 8.7 15.6 6 12 6c-.9 0-1.8.2-2.6.5L7.8 4.9C9.1 4.3 10.5 4 12 4z"})}),sr=({value:t,onChange:n})=>{const l=t.transformControlMode??"translate",s=t.transformControlSpace??"local",a=t.showTransformControls??!1;return e.jsxs("div",{style:{marginTop:8},children:[e.jsxs("label",{style:Yo,children:[e.jsx("span",{children:"Show Transform On"}),e.jsx("input",{type:"checkbox",checked:a,style:Tn,onChange:d=>n({...t,showTransformControls:d.currentTarget.checked})})]}),e.jsxs("div",{style:{...dn,marginTop:8},children:["Mode",e.jsx("div",{style:Ko,children:["translate","rotate","scale"].map(d=>e.jsx("button",{type:"button",style:cn(l===d),onClick:()=>n({...t,transformControlMode:d}),children:d==="translate"?"Move":d==="rotate"?"Rotate":"Scale"},d))})]}),e.jsxs("div",{style:{...dn,marginTop:8},children:["Space",e.jsx("div",{style:Ho,children:["local","world"].map(d=>e.jsx("button",{type:"button",style:cn(s===d),onClick:()=>n({...t,transformControlSpace:d}),children:d==="local"?"Local":"World"},d))})]})]})},Nt=({value:t,onChange:n})=>{var d,o,r;const l={position:((d=t.linked)==null?void 0:d.position)??!1,rotation:((o=t.linked)==null?void 0:o.rotation)??!1,scale:((r=t.linked)==null?void 0:r.scale)??!1},s=(y,p)=>{const x=t[y];n({...t,linked:{...l,[y]:p},[y]:p?{x:x.x,y:x.x,z:x.x}:x})},a=(y,p,x,c)=>e.jsxs("div",{style:Go,children:[e.jsx("div",{style:Uo,children:p}),["x","y","z"].map(g=>e.jsx(Jo,{value:x[g],step:c,onChange:h=>l[y]?n({...t,[y]:{x:h,y:h,z:h}}):n({...t,[y]:{...x,[g]:h}})},g)),e.jsx("button",{type:"button","aria-label":l[y]?`Unlink ${p}`:`Link ${p}`,title:l[y]?`Unlink ${p}`:`Link ${p}`,style:Xo(l[y]),onClick:()=>s(y,!l[y]),children:e.jsx(Qo,{})})]});return e.jsxs("div",{style:Vo,children:[e.jsxs("div",{style:_o,children:[e.jsxs("div",{style:In,children:[e.jsx("span",{style:zn,children:e.jsx(Mn,{})}),e.jsx("span",{children:"Transform"})]}),e.jsx("input",{type:"checkbox",checked:t.enabled,style:Tn,onChange:y=>n({...t,enabled:y.currentTarget.checked})})]}),a("position","Position",t.position,.001),a("rotation","Rotation",t.rotation,1),a("scale","Scale",t.scale),e.jsx(sr,{value:t,onChange:n})]})},lr=({value:t,onChange:n,copyLabel:l="Selected transform"})=>{const[s,a]=u.useState({x:14,y:104}),[d,o]=u.useState(!1),r=u.useRef(null);u.useEffect(()=>{const x=g=>{r.current&&a({x:Math.max(8,g.clientX-r.current.x),y:Math.max(8,g.clientY-r.current.y)})},c=()=>{r.current=null,document.body.classList.remove("select-none")};return window.addEventListener("pointermove",x),window.addEventListener("pointerup",c),()=>{window.removeEventListener("pointermove",x),window.removeEventListener("pointerup",c)}},[]);const y=x=>{const c=x.currentTarget.getBoundingClientRect();r.current={x:x.clientX-c.left,y:x.clientY-c.top},document.body.classList.add("select-none"),x.currentTarget.setPointerCapture(x.pointerId)},p=async()=>{await navigator.clipboard.writeText(JSON.stringify({name:l,kind:"transform3D",transform:t},null,2)),o(!0),window.setTimeout(()=>o(!1),1200)};return typeof document>"u"?null:pe.createPortal(e.jsx("div",{style:{...Fo,left:s.x,top:s.y},children:e.jsxs("div",{style:Lo,children:[e.jsxs("div",{style:No,children:[e.jsx("div",{onPointerDown:y,style:$o,children:e.jsx(er,{})}),e.jsxs("div",{style:In,children:[e.jsx("span",{style:zn,children:e.jsx(Mn,{})}),e.jsx("span",{children:"Transform"})]})]}),e.jsxs("div",{style:Oo,children:[e.jsxs("div",{style:Ao,children:[e.jsx("button",{type:"button",style:Do,onClick:p,children:d?"Copied Config":"Copy Config"}),e.jsx("button",{type:"button","aria-label":t.visible?"Hide Transform":"Show Transform",title:t.visible?"Hide Transform":"Show Transform",style:Po(t.visible),onClick:()=>n({...t,visible:!t.visible}),children:t.visible?e.jsx(tr,{}):e.jsx(nr,{})})]}),e.jsx(Nt,{value:t,onChange:n})]})]})}),document.body)},ir={borderRadius:12,border:"1px solid rgba(255,255,255,0.08)",background:"rgba(255,255,255,0.03)",padding:8},or={display:"flex",alignItems:"center",gap:6,marginBottom:7,fontSize:11,fontWeight:700},rr={display:"flex",width:18,height:18,alignItems:"center",justifyContent:"center",borderRadius:6,background:"rgba(255,255,255,0.08)",border:"1px solid rgba(255,255,255,0.08)",color:"#e2e8f0"},pn={display:"grid",gridTemplateColumns:"repeat(2, minmax(0, 1fr))",gap:6},U={display:"flex",flexDirection:"column",gap:4,fontSize:9,color:"rgba(226,232,240,0.72)"},Ot={width:"100%",height:24,borderRadius:7,border:"1px solid rgba(255,255,255,0.10)",background:"rgba(15,23,42,0.68)",color:"#f8fafc",fontSize:10.5,outline:"none",padding:"0 7px",boxSizing:"border-box"},Oe={...Ot,cursor:"pointer"},ie={display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,height:24,fontSize:9,color:"rgba(226,232,240,0.72)"},oe={width:15,height:15,accentColor:"#38bdf8",cursor:"pointer"},ar={marginTop:10,paddingTop:10,borderTop:"1px solid rgba(255,255,255,0.08)"},dr={marginBottom:7,fontSize:10,fontWeight:700,letterSpacing:"0.06em",textTransform:"uppercase",color:"rgba(226,232,240,0.74)"},cr=()=>e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"m12 2 8 4.6v10.8L12 22l-8-4.6V6.6L12 2zm0 2.3L6.3 7.6 12 10.9l5.7-3.3L12 4.3zM6 9.3v6.9l5 2.9v-6.9L6 9.3zm12 0-5 2.9v6.9l5-2.9V9.3z"})}),pr=(t,n,l)=>Math.min(l,Math.max(n,t)),Je=({max:t,min:n,onChange:l,step:s,value:a})=>e.jsx("input",{type:"number",min:n,max:t,step:s??.01,style:Ot,value:a,onChange:d=>{const o=Number(d.currentTarget.value);Number.isNaN(o)||l(pr(o,n??Number.NEGATIVE_INFINITY,t??Number.POSITIVE_INFINITY))}}),Wn=({value:t,onChange:n})=>{const l=r=>{n({...t,material:{...t.material,...r}})},s=An.normalizeMeshRendererRenderState(t.material.renderState),a=r=>{l({renderState:{...s,...r,colorMask:{...s.colorMask,...r.colorMask},polygonOffset:{...s.polygonOffset,...r.polygonOffset}}})},d=r=>{a({polygonOffset:{...s.polygonOffset,...r}})},o=r=>{a({colorMask:{...s.colorMask,...r}})};return e.jsxs("div",{style:ir,children:[e.jsxs("div",{style:or,children:[e.jsx("span",{style:rr,children:e.jsx(cr,{})}),e.jsx("span",{children:"Mesh Renderer"})]}),e.jsxs("div",{style:pn,children:[e.jsxs("label",{style:U,children:["Mesh",e.jsxs("select",{style:Oe,value:t.mesh,onChange:r=>n({...t,mesh:r.currentTarget.value}),children:[e.jsx("option",{value:"cube",children:"Cube"}),e.jsx("option",{value:"sphere",children:"Sphere"}),e.jsx("option",{value:"plane",children:"Plane"})]})]}),e.jsxs("label",{style:U,children:["Material",e.jsxs("select",{style:Oe,value:t.material.type,onChange:r=>l({type:r.currentTarget.value}),children:[e.jsx("option",{value:"standard",children:"Standard"}),e.jsx("option",{value:"basic",children:"Basic"})]})]}),e.jsxs("label",{style:U,children:["Color",e.jsx("input",{type:"color",style:{...Ot,padding:2},value:t.material.color,onChange:r=>l({color:r.currentTarget.value})})]}),e.jsxs("label",{style:U,children:["Opacity",e.jsx(Je,{min:0,max:1,step:.01,value:t.material.opacity,onChange:r=>l({opacity:r})})]}),e.jsxs("label",{style:U,children:["Roughness",e.jsx(Je,{min:0,max:1,step:.01,value:t.material.roughness,onChange:r=>l({roughness:r})})]}),e.jsxs("label",{style:U,children:["Metalness",e.jsx(Je,{min:0,max:1,step:.01,value:t.material.metalness,onChange:r=>l({metalness:r})})]}),e.jsxs("label",{style:U,children:["Shadow Mode",e.jsxs("select",{style:Oe,value:t.shadowMode,onChange:r=>n({...t,shadowMode:r.currentTarget.value}),children:[e.jsx("option",{value:"off",children:"Off"}),e.jsx("option",{value:"cast",children:"Cast"}),e.jsx("option",{value:"receive",children:"Receive"}),e.jsx("option",{value:"castReceive",children:"Cast + Receive"})]})]}),e.jsxs("label",{style:ie,children:["Wireframe",e.jsx("input",{type:"checkbox",checked:t.material.wireframe,style:oe,onChange:r=>l({wireframe:r.currentTarget.checked})})]})]}),e.jsxs("div",{style:ar,children:[e.jsx("div",{style:dr,children:"Render State"}),e.jsxs("div",{style:pn,children:[e.jsxs("label",{style:ie,children:["Depth Test",e.jsx("input",{type:"checkbox",checked:s.depthTest,style:oe,onChange:r=>a({depthTest:r.currentTarget.checked})})]}),e.jsxs("label",{style:ie,children:["Depth Write",e.jsx("input",{type:"checkbox",checked:s.depthWrite,style:oe,onChange:r=>a({depthWrite:r.currentTarget.checked})})]}),e.jsxs("label",{style:U,children:["Depth Function",e.jsxs("select",{style:Oe,value:s.depthFunc,onChange:r=>a({depthFunc:r.currentTarget.value}),children:[e.jsx("option",{value:"never",children:"Never"}),e.jsx("option",{value:"less",children:"Less"}),e.jsx("option",{value:"equal",children:"Equal"}),e.jsx("option",{value:"lessEqual",children:"Less Equal"}),e.jsx("option",{value:"greater",children:"Greater"}),e.jsx("option",{value:"notEqual",children:"Not Equal"}),e.jsx("option",{value:"greaterEqual",children:"Greater Equal"}),e.jsx("option",{value:"always",children:"Always"})]})]}),e.jsxs("label",{style:ie,children:["Color Write",e.jsx("input",{type:"checkbox",checked:s.colorWrite,style:oe,onChange:r=>a({colorWrite:r.currentTarget.checked})})]}),e.jsxs("label",{style:ie,children:["Mask R",e.jsx("input",{type:"checkbox",checked:s.colorMask.r,style:oe,onChange:r=>o({r:r.currentTarget.checked})})]}),e.jsxs("label",{style:ie,children:["Mask G",e.jsx("input",{type:"checkbox",checked:s.colorMask.g,style:oe,onChange:r=>o({g:r.currentTarget.checked})})]}),e.jsxs("label",{style:ie,children:["Mask B",e.jsx("input",{type:"checkbox",checked:s.colorMask.b,style:oe,onChange:r=>o({b:r.currentTarget.checked})})]}),e.jsxs("label",{style:ie,children:["Mask A",e.jsx("input",{type:"checkbox",checked:s.colorMask.a,style:oe,onChange:r=>o({a:r.currentTarget.checked})})]}),e.jsxs("label",{style:U,children:["Cull Mode",e.jsxs("select",{style:Oe,value:s.cullMode,onChange:r=>a({cullMode:r.currentTarget.value}),children:[e.jsx("option",{value:"back",children:"Back"}),e.jsx("option",{value:"front",children:"Front"}),e.jsx("option",{value:"off",children:"Off"})]})]}),e.jsxs("label",{style:U,children:["Blend Mode",e.jsxs("select",{style:Oe,value:s.blendMode,onChange:r=>a({blendMode:r.currentTarget.value}),children:[e.jsx("option",{value:"normal",children:"Normal"}),e.jsx("option",{value:"additive",children:"Additive"}),e.jsx("option",{value:"subtractive",children:"Subtractive"}),e.jsx("option",{value:"multiply",children:"Multiply"}),e.jsx("option",{value:"none",children:"None"})]})]}),e.jsxs("label",{style:ie,children:["Polygon Offset",e.jsx("input",{type:"checkbox",checked:s.polygonOffset.enabled,style:oe,onChange:r=>d({enabled:r.currentTarget.checked})})]}),e.jsxs("label",{style:U,children:["Offset Factor",e.jsx(Je,{step:.1,value:s.polygonOffset.factor,onChange:r=>d({factor:r})})]}),e.jsxs("label",{style:U,children:["Offset Units",e.jsx(Je,{step:.1,value:s.polygonOffset.units,onChange:r=>d({units:r})})]})]})]})]})},hr={borderRadius:12,border:"1px solid rgba(255,255,255,0.08)",background:"rgba(255,255,255,0.03)",padding:"8px 8px 56px"},xr={marginBottom:7,fontSize:11,fontWeight:700},yr={marginTop:10,paddingTop:10,borderTop:"1px solid rgba(255,255,255,0.08)"},ur={marginBottom:7,fontSize:10,fontWeight:700,letterSpacing:"0.06em",textTransform:"uppercase",color:"rgba(226,232,240,0.74)"},W={display:"grid",gridTemplateColumns:"92px minmax(0, 1fr)",alignItems:"center",gap:10,margin:"8px 0",color:"#cbd5e1",fontSize:12},ae={width:"100%",boxSizing:"border-box",padding:"8px 9px",border:"1px solid rgba(148,163,184,.16)",borderRadius:6,background:"rgba(15,23,42,.72)",color:"#e2e8f0"},gr={display:"grid",gridTemplateColumns:"repeat(2, minmax(0, 1fr))",gap:6,marginTop:8,color:"#cbd5e1",fontSize:11},ge=({max:t,min:n,onChange:l,step:s,value:a})=>e.jsx("input",{type:"number",min:n,max:t,step:s??1,style:ae,value:a,onChange:d=>{const o=Number(d.currentTarget.value);Number.isNaN(o)||l(o)}}),ze=({onChange:t,options:n,value:l})=>e.jsx("select",{style:ae,value:l,onChange:s=>t(s.currentTarget.value),children:n.map(s=>e.jsx("option",{value:s.value,children:s.label},s.value))}),Qe=({children:t,title:n})=>e.jsxs("div",{style:yr,children:[e.jsx("div",{style:ur,children:n}),t]}),$t=({onChange:t,value:n})=>{const l=c=>t(X.resolveFaceMeshRendererSettings(n,c)),s=X.supportsTexturePanel(n.materialType,n.shaderPreset),a=X.supportsBlendMode(n.materialType,n.shaderPreset,n.textureMap),d=n.materialType===X.FACE_MESH_MATERIAL_TYPES.shader&&n.shaderPreset===X.FACE_MESH_SHADER_PRESETS.composite?Z.textureMapOptions.filter(c=>c.value!==X.FACE_MESH_TEXTURE_MAPS.none):Z.textureMapOptions,o=X.usesMaskColor(n.maskTextureSource),r=X.usesMaskSourceUrl(n.maskTextureSource),y=c=>{l({shaderPreset:c})},p=c=>{l({materialType:c})},x=e.jsxs(Qe,{title:"Geometry",children:[e.jsxs("div",{style:gr,children:[e.jsxs("label",{children:[e.jsx("input",{type:"checkbox",checked:n.showLeftEyeGeometry,onChange:c=>l({showLeftEyeGeometry:c.currentTarget.checked})})," ","Left Eye"]}),e.jsxs("label",{children:[e.jsx("input",{type:"checkbox",checked:n.showRightEyeGeometry,onChange:c=>l({showRightEyeGeometry:c.currentTarget.checked})})," ","Right Eye"]}),e.jsxs("label",{children:[e.jsx("input",{type:"checkbox",checked:n.showNoseGeometry,onChange:c=>l({showNoseGeometry:c.currentTarget.checked})})," ","Nose"]}),e.jsxs("label",{children:[e.jsx("input",{type:"checkbox",checked:n.showMouthGeometry,onChange:c=>l({showMouthGeometry:c.currentTarget.checked})})," ","Mouth"]})]}),e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Show Overlay Mask"}),e.jsx("input",{type:"checkbox",checked:n.showOverlayMask,onChange:c=>l({showOverlayMask:c.currentTarget.checked})})]}),e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Source"}),e.jsx(ze,{value:n.maskTextureSource,options:Z.maskTextureSourceOptions,onChange:c=>l({maskTextureSource:c})})]}),r?e.jsxs("label",{style:W,children:[e.jsx("span",{children:"URL"}),e.jsx("input",{type:"url",style:ae,value:n.maskSourceUrl,onChange:c=>l({maskSourceUrl:c.currentTarget.value})})]}):null,o?e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Color"}),e.jsx("input",{type:"color",style:{...ae,padding:2},value:n.maskColor,onChange:c=>l({maskColor:c.currentTarget.value})})]}):null,e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Overlay Opacity"}),e.jsx(ge,{min:0,max:1,step:.1,value:n.maskOpacity,onChange:c=>l({maskOpacity:c})})]})]});return e.jsxs("section",{style:hr,children:[e.jsxs("label",{style:{...xr,display:"flex",justifyContent:"space-between"},children:[e.jsx("span",{children:"Face Mesh Renderer"}),e.jsx("input",{type:"checkbox",checked:n.enabled,onChange:c=>l({enabled:c.currentTarget.checked})})]}),e.jsxs(Qe,{title:"Renderer",children:[e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Face Index"}),e.jsx(ge,{min:0,step:1,value:n.faceIndex,onChange:c=>l({faceIndex:c})})]}),e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Target FPS"}),e.jsx(ge,{min:1,step:1,value:n.targetFps??24,onChange:c=>l({targetFps:c})})]}),e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Render Order"}),e.jsx(ge,{step:1,value:n.renderOrder,onChange:c=>l({renderOrder:c})})]}),e.jsxs("label",{style:W,children:[e.jsx("span",{children:"External Mesh"}),e.jsx("input",{type:"url",style:ae,value:n.externalMeshUrl??"",onChange:c=>l({externalMeshUrl:c.currentTarget.value||void 0})})]}),e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Mesh Scale"}),e.jsx(ge,{min:.01,step:.01,value:n.externalScale,onChange:c=>l({externalScale:c})})]})]}),x,e.jsxs(Qe,{title:"Material",children:[e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Type"}),e.jsx(ze,{value:n.materialType,options:Z.materialTypeOptions,onChange:p})]}),n.materialType===X.FACE_MESH_MATERIAL_TYPES.shader?e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Shader"}),e.jsx(ze,{value:n.shaderPreset,options:Z.shaderPresetOptions,onChange:y})]}):null,e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Base Color"}),e.jsx("input",{type:"color",style:{...ae,padding:2},value:n.baseColor,onChange:c=>l({baseColor:c.currentTarget.value})})]}),e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Material Opacity"}),e.jsx(ge,{min:0,max:1,step:.01,value:n.opacity,onChange:c=>l({opacity:c})})]}),e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Side"}),e.jsx(ze,{value:n.side,options:Z.sideOptions,onChange:c=>l({side:c})})]})]}),s?e.jsxs(Qe,{title:"Texture",children:[e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Map"}),e.jsx(ze,{value:n.textureMap,options:d,onChange:c=>l({textureMap:c})})]}),n.textureMap===X.FACE_MESH_TEXTURE_MAPS.canonical?e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Face URL"}),e.jsx("input",{type:"url",style:ae,value:n.faceTextureUrl,onChange:c=>l({faceTextureUrl:c.currentTarget.value})})]}):null,n.textureMap===X.FACE_MESH_TEXTURE_MAPS.style2?e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Style URL"}),e.jsx("input",{type:"url",style:ae,value:n.faceTextureStyle2Url,onChange:c=>l({faceTextureStyle2Url:c.currentTarget.value})})]}):null,e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Material Alpha"}),e.jsx(ze,{value:n.alphaMap,options:Z.alphaMapOptions,onChange:c=>l({alphaMap:c})})]}),e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Alpha Texture URL"}),e.jsx("input",{type:"url",style:ae,value:n.faceAlphaMaskUrl,onChange:c=>l({faceAlphaMaskUrl:c.currentTarget.value})})]}),e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Alpha Strength"}),e.jsx(ge,{min:0,max:1,step:.01,value:n.alphaOpacity,onChange:c=>l({alphaOpacity:c})})]})]}):null,a?e.jsxs(Qe,{title:"Blend",children:[e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Mode"}),e.jsx(ze,{value:n.blendMode,options:Z.blendModeOptions,onChange:c=>l({blendMode:c})})]}),e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Blend Strength"}),e.jsx(ge,{min:0,max:1,step:.01,value:n.blendOpacity,onChange:c=>l({blendOpacity:c})})]}),e.jsxs("label",{style:W,children:[e.jsx("span",{children:"Composite"}),e.jsx("input",{type:"checkbox",checked:n.compositeShading,onChange:c=>l({compositeShading:c.currentTarget.checked})})]})]}):null]})},br=({component:t,onChange:n})=>e.jsx($t,{value:t.settings,onChange:l=>n==null?void 0:n({...t,settings:l})}),Fn=u.createContext(null),fr=({children:t,defaultOrbitEnabled:n=!0,defaultSelectedObjectId:l=null,defaultShowGrid:s=!0,defaultShowVideoBackground:a=!0,onComponentChange:d,onObjectChange:o,onOrbitEnabledChange:r,onSelectObject:y,onShowGridChange:p,onShowVideoBackgroundChange:x,onStoreChange:c,orbitEnabled:g,selectedObjectId:h,showGrid:i,showVideoBackground:b,store:j})=>{const[k,C]=u.useState(l),[L,S]=u.useState(n),[w,O]=u.useState(s),[T,B]=u.useState(a),_=h??k,he=g??L,te=i??w,xe=b??T,M=u.useMemo(()=>({store:j,selectedObjectId:_,orbitEnabled:he,showGrid:te,showVideoBackground:xe,onStoreChange:c,onSelectObject:I=>{C(I),y==null||y(I)},onComponentChange:d??(I=>{c({...j,components:{...j.components,[I.id]:I}})}),onObjectChange:o??(I=>{c({...j,objects:{...j.objects,[I.id]:I}})}),onOrbitEnabledChange:I=>{S(I),r==null||r(I)},onShowGridChange:I=>{O(I),p==null||p(I)},onShowVideoBackgroundChange:I=>{B(I),x==null||x(I)}}),[d,o,r,y,p,x,c,he,_,te,xe,j]);return e.jsx(Fn.Provider,{value:M,children:t})},rt=()=>{const t=u.useContext(Fn);if(!t)throw new Error("useXRSceneEditor must be used inside XRSceneEditorProvider.");return t},Ln=t=>t.renderGroupOrder.map(n=>t.renderGroups[n]).filter(Boolean),jr=({initialPosition:t,rootOnly:n=!1,title:l})=>{const{onSelectObject:s,onStoreChange:a,selectedObjectId:d,store:o}=rt(),r=Ln(o),y=n?Object.fromEntries(Object.entries(o.objects).filter(([,p])=>!p.parentObjectId)):o.objects;return e.jsx(Cn,{title:l,initialPosition:t,groups:r,objects:y,selectedObjectId:d??void 0,onSelectObject:p=>s(p),onReorderGroup:(p,x)=>a(We.reorderRenderGroup(o,p,x)),onReorderObject:(p,x,c)=>a(We.reorderObjectWithinGroup(o,p,x,c)),onMoveObject:(p,x,c)=>{const g=We.moveObjectToGroup(o,p,x,c);return g===o?!1:(a(g),!0)},onSetObjectParent:(p,x,c,g)=>{let h=o;const i=h.objects[p];if(!i||g&&i.renderGroupId!==g&&(h=We.moveObjectToGroup(h,p,g,c),h===o))return!1;const b=$.setSceneObjectParentPreserveWorldTransform(h,p,x,c);return b===o?!1:(a(b),!0)},onToggleGroupEnabled:(p,x)=>{const c=o.renderGroups[p];c&&a({...o,renderGroups:{...o.renderGroups,[p]:{...c,enabled:x}}})},onToggleObjectVisible:(p,x)=>a($.setSceneObjectVisible(o,p,x)),copyConfig:{kind:"scene",version:1,renderGroupOrder:o.renderGroupOrder,renderGroups:o.renderGroups,objects:o.objects,components:o.components}})},Y={display:"grid",gridTemplateColumns:"92px minmax(0, 1fr)",alignItems:"center",gap:10,margin:"8px 0",color:"#cbd5e1",fontSize:12},fe={width:"100%",boxSizing:"border-box",padding:"8px 9px",border:"1px solid rgba(148,163,184,.16)",borderRadius:6,background:"rgba(15,23,42,.72)",color:"#e2e8f0"},st={borderRadius:12,border:"1px solid rgba(255,255,255,0.08)",background:"rgba(255,255,255,0.03)",padding:8},lt={display:"flex",alignItems:"center",gap:6,marginBottom:7,fontSize:11,fontWeight:700},se=(t,n)=>t.find(l=>l.type===n),mr=({onChange:t,value:n})=>e.jsxs("section",{style:st,children:[e.jsx("div",{style:lt,children:"Light"}),e.jsxs("label",{style:Y,children:[e.jsx("span",{children:"Type"}),e.jsxs("select",{style:fe,value:n.type,onChange:l=>t({...n,type:l.currentTarget.value}),children:[e.jsx("option",{value:"ambient",children:"Ambient"}),e.jsx("option",{value:"directional",children:"Directional"}),e.jsx("option",{value:"point",children:"Point"}),e.jsx("option",{value:"spot",children:"Spot"})]})]}),e.jsxs("label",{style:Y,children:[e.jsx("span",{children:"Color"}),e.jsx("input",{type:"color",style:{...fe,padding:2},value:n.color,onChange:l=>t({...n,color:l.currentTarget.value})})]}),e.jsxs("label",{style:Y,children:[e.jsx("span",{children:"Intensity"}),e.jsx("input",{type:"number",min:0,step:.1,style:fe,value:n.intensity,onChange:l=>t({...n,intensity:Number(l.currentTarget.value)})})]}),e.jsxs("label",{style:Y,children:[e.jsx("span",{children:"Cast Shadow"}),e.jsx("input",{type:"checkbox",checked:n.castShadow,onChange:l=>t({...n,castShadow:l.currentTarget.checked})})]}),e.jsxs("label",{style:Y,children:[e.jsx("span",{children:"Show Helper"}),e.jsx("input",{type:"checkbox",checked:n.showHelper,onChange:l=>t({...n,showHelper:l.currentTarget.checked})})]})]}),Sr=({onChange:t,value:n})=>e.jsxs("section",{style:st,children:[e.jsxs("label",{style:{...lt,justifyContent:"space-between"},children:[e.jsx("span",{children:"Look At"}),e.jsx("input",{type:"checkbox",checked:n.enabled,onChange:l=>t({...n,enabled:l.currentTarget.checked})})]}),e.jsxs("label",{style:Y,children:[e.jsx("span",{children:"Mode"}),e.jsxs("select",{style:fe,value:n.mode,onChange:l=>t({...n,mode:l.currentTarget.value}),children:[e.jsx("option",{value:"point",children:"Point"}),e.jsx("option",{value:"direction",children:"Direction"})]})]}),e.jsxs("label",{style:Y,children:[e.jsx("span",{children:"Children Inherit"}),e.jsx("input",{type:"checkbox",checked:n.inheritChildren,onChange:l=>t({...n,inheritChildren:l.currentTarget.checked})})]})]}),wr=({onChange:t,value:n})=>{const l=(s,a,d)=>["x","y","z"].map(o=>e.jsxs("label",{style:Y,children:[e.jsx("span",{children:`${s} ${o.toUpperCase()}`}),e.jsx("input",{type:"number",step:.05,style:fe,value:a[o],onChange:r=>d({...a,[o]:Number(r.currentTarget.value)})})]},`${s}-${o}`));return e.jsxs("section",{style:st,children:[e.jsx("div",{style:lt,children:"Face Binding"}),e.jsxs("label",{style:Y,children:[e.jsx("span",{children:"Target"}),e.jsx("select",{style:fe,value:n.target,onChange:s=>t({...n,target:s.currentTarget.value}),children:Dn.FACE_TARGETS.map(s=>e.jsx("option",{value:s,children:s.replace("face.","")},s))})]}),n.target==="face.custom"?l("Custom",n.customAnchorPoint,s=>t({...n,customAnchorPoint:s})):null,l("Offset",n.offset,s=>t({...n,offset:s})),e.jsxs("label",{style:Y,children:[e.jsx("span",{children:"Smoothing"}),e.jsx("input",{type:"number",min:0,step:1,style:fe,value:n.smoothing,onChange:s=>t({...n,smoothing:Number(s.currentTarget.value)})})]}),e.jsxs("label",{style:Y,children:[e.jsx("span",{children:"Follow Face Roll"}),e.jsx("input",{type:"checkbox",checked:n.followFaceRoll,onChange:s=>t({...n,followFaceRoll:s.currentTarget.checked})})]})]})},kr=({initialPosition:t})=>{const{onComponentChange:n,onObjectChange:l,onStoreChange:s,selectedObjectId:a,store:d}=rt(),o=a?d.objects[a]:null,r=o?$.getOrderedComponents(d,o.id):[],y=se(r,"Transform"),p=se(r,"ScreenTransform"),x=se(r,"ScreenShape"),c=se(r,"MeshRenderer"),g=se(r,"FaceMeshRenderer"),h=se(r,"Light"),i=se(r,"LookAt"),b=se(r,"PinToMesh"),j=se(r,"TrackingAnchor"),k=o!=null&&o.renderGroupId?d.renderGroups[o.renderGroupId]:void 0;if(!o)return null;const C=Object.values(d.objects).filter(S=>S.id!==o.id).filter(S=>{const w=$.getOrderedComponents(d,S.id);return!!se(w,"MeshRenderer")}).map(S=>({id:S.id,name:S.name})),L=Object.values(d.objects).filter(S=>S.id!==o.id);return e.jsxs(ut,{objectId:o.id,objectName:o.name,onObjectNameChange:S=>l({...o,name:S}),visible:o.enabled,onVisibleChange:S=>l({...o,enabled:S}),layer:(k==null?void 0:k.name)??"3D Scene",initialPosition:t,copyConfig:{object:o,components:r},children:[e.jsxs("section",{style:st,children:[e.jsx("div",{style:lt,children:"Hierarchy"}),e.jsxs("label",{style:Y,children:[e.jsx("span",{children:"Parent"}),e.jsxs("select",{style:fe,value:o.parentObjectId??"",onChange:S=>s($.setSceneObjectParentPreserveWorldTransform(d,o.id,S.currentTarget.value||null)),children:[e.jsx("option",{value:"",children:"None"}),L.map(S=>e.jsx("option",{value:S.id,children:S.name},S.id))]})]})]}),y?e.jsx(Nt,{value:y.settings,onChange:S=>n({...y,settings:S})}):null,p?e.jsxs("section",{style:st,children:[e.jsx("div",{style:lt,children:"Screen Transform"}),e.jsx(Ft,{guideLabel:"Screen Transform",value:{...p.settings,showGuides:p.settings.showTransformGuides},onChange:S=>{const{showGuides:w,...O}=S;n({...p,settings:{...p.settings,...O,showTransformGuides:w}})}})]}):null,c?e.jsx(Wn,{value:c.settings,onChange:S=>n({...c,settings:S})}):null,g?e.jsx($t,{value:g.settings,onChange:S=>n({...g,settings:S})}):null,x?e.jsx(mn,{value:x.settings,onChange:S=>n({...x,settings:S})}):null,h?e.jsx(mr,{value:h.settings,onChange:S=>n({...h,settings:S})}):null,i?e.jsx(Sr,{value:i.settings,onChange:S=>n({...i,settings:S})}):null,b?e.jsx(Rn,{value:b.settings,onChange:S=>n({...b,settings:S}),targets:C}):null,j?e.jsx(wr,{value:j.settings,onChange:S=>n({...j,settings:S})}):null]})},vr=({renderOrder:t=-999})=>{const{camera:n,size:l}=Bn.useThree(),s=Vn.useXRCameraTexture(),a=u.useMemo(()=>{if(!n.isPerspectiveCamera)return[10,10];const d=n,y=(d.position.z||5)- -1,p=d.fov*Math.PI/180,x=2*Math.tan(p/2)*y;return[x*(l.width/l.height),x]},[n,l]);return s?e.jsxs("mesh",{position:[0,0,-1],renderOrder:t,children:[e.jsx("planeGeometry",{args:a}),e.jsx("meshBasicMaterial",{map:s,depthTest:!0,depthWrite:!0,toneMapped:!1,side:$n.DoubleSide})]}):null},Cr=({camera:t={position:{x:0,y:.2,z:5.5},fov:42},grid:n={size:12,divisions:12,position:{x:0,y:-2.5,z:0}},style:l})=>{const{onComponentChange:s,orbitEnabled:a,showGrid:d,showVideoBackground:o,store:r}=rt(),y=We.createRenderPlan(r),p=Array.from(new Set(y.map(g=>g.renderLayer))),x=t.position??{x:0,y:.2,z:5.5},c=n.position??{x:0,y:-2.5,z:0};return e.jsxs(Pn.XRScene,{style:{width:"100%",height:"100%",...l},canvasProps:{shadows:!0},children:[o?e.jsx(vr,{renderOrder:-999}):null,e.jsx("color",{attach:"background",args:["#18212b"]}),e.jsx(At.PerspectiveCamera,{makeDefault:!0,position:[x.x,x.y,x.z],fov:t.fov??42}),e.jsx("ambientLight",{intensity:1.1}),d?e.jsx("gridHelper",{args:[n.size??12,n.divisions??12,"#344454","#263544"],position:[c.x,c.y,c.z]}):null,y.map(g=>e.jsx(Dt.SceneObjectRenderer,{objectId:g.objectId,store:r,editorMode:!0,renderOrder:g.renderOrder,renderLayer:g.renderLayer,onComponentChange:s},g.objectId)),e.jsx(Dt.SequentialRenderPasses,{layers:p}),e.jsx(At.OrbitControls,{enabled:a,enablePan:!1,minDistance:.05,maxDistance:1/0})]})},Rr=t=>({position:"absolute",top:12,left:t==="top-left"?12:t==="top-right"?"auto":"50%",right:t==="top-right"?12:"auto",transform:t==="top-center"||!t?"translateX(-50%)":"none",zIndex:5,display:"flex",alignItems:"center",gap:12,padding:"7px 10px",border:"1px solid rgba(148,163,184,.24)",borderRadius:9,background:"rgba(15,23,42,.78)",color:"#d8e2ec",backdropFilter:"blur(12px)",fontSize:11}),Er=({position:t="top-center"})=>{const{onOrbitEnabledChange:n,orbitEnabled:l}=rt();return e.jsxs("div",{style:Rr(t),children:[e.jsx("span",{style:{color:"#7e95aa",fontSize:9,fontWeight:800,letterSpacing:"0.14em"},children:"VIEWPORT"}),e.jsxs("label",{style:{display:"flex",alignItems:"center",gap:6,cursor:"pointer"},children:[e.jsx("input",{type:"checkbox",checked:l,onChange:s=>n(s.currentTarget.checked)}),"Orbit Controls"]})]})},Ir={borderRadius:12,border:"1px solid rgba(251,191,36,0.30)",background:"rgba(251,191,36,0.08)",color:"#fde68a",padding:8,fontSize:10.5,lineHeight:1.45},zr={display:"block",marginTop:6,overflow:"auto",maxHeight:160,borderRadius:8,background:"rgba(15,23,42,0.55)",color:"#f8fafc",padding:8,fontSize:10},Nn=({component:t})=>e.jsxs("div",{style:Ir,children:[e.jsxs("div",{children:["Missing editor for component type: ",t.type]}),e.jsxs("div",{children:["Component ID: ",t.id]}),e.jsx("pre",{style:zr,children:JSON.stringify(t,null,2)})]}),Tr=({component:t,editors:n={},onChange:l})=>{const s=n[t.type];return s?e.jsx(s,{component:t,onChange:l}):e.jsx(Nn,{component:t})},Mr=t=>t.slice(0,12);exports.MediaSourceSwitcher=De.MediaSourceSwitcher;exports.defaultMediaSources=De.defaultMediaSources;exports.sdkImageMediaSources=De.sdkImageMediaSources;exports.sdkVideoMediaSources=De.sdkVideoMediaSources;exports.useFaceTrackingMediaSourceSession=De.useFaceTrackingMediaSourceSession;exports.useMediaSourceSession=De.useMediaSourceSession;exports.DefaultSettingPanel=On.DefaultSettingPanel;exports.ComponentEditor=Tr;exports.ComponentEditorFallback=Nn;exports.FaceMeshRendererComponentEditor=br;exports.FaceMeshRendererSettingsPanel=$t;exports.FaceRetouchSettingsPanel=Wo;exports.FaceWarp3DSettingsPanel=Mo;exports.HandJoints2DSettingsPanel=Wi;exports.HandTracking2DControllerSettingsPanel=gi;exports.HandTracking2DSettingsPanel=ql;exports.HandTracking3DSettingsPanel=Xi;exports.HierarchyPanel=Cn;exports.LayerPanel=ho;exports.MeshRendererSettingsPanel=Wn;exports.ObjectInspectorPanel=ut;exports.PinToMeshSettingsPanel=Rn;exports.SceneHierarchyPanel=jr;exports.SceneInspectorPanel=kr;exports.ScreenGlassSettingsPanel=jn;exports.ScreenGradientSettingsPanel=fn;exports.ScreenImageSettingsPanel=Tl;exports.ScreenShapeSettingsPanel=mn;exports.ScreenTextSettingsPanel=il;exports.SettingsPanel=En;exports.Transform3DSettingsPanel=lr;exports.Transform3DSettingsSection=Nt;exports.ViewportToolbar=Er;exports.XRSceneEditorProvider=fr;exports.XRSceneViewport=Cr;exports.createComponentIdLabel=Mr;exports.getSceneEditorGroups=Ln;exports.useXRSceneEditor=rt;
|