@jsonpages/core 1.0.7 → 1.0.8
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/dist/jsonpages-core.js +1 -1
- package/dist/jsonpages-core.umd.cjs +1 -1
- package/package.json +47 -45
package/dist/jsonpages-core.js
CHANGED
|
@@ -195,4 +195,4 @@ React keys must be passed directly to JSX without using spread:
|
|
|
195
195
|
*
|
|
196
196
|
* This source code is licensed under the ISC license.
|
|
197
197
|
* See the LICENSE file in the root directory of this source tree.
|
|
198
|
-
*/const Kn=ve("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);class Vn extends q.Component{constructor(_){super(_),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(_,r){console.error(`[JsonPages] Component Crash [${this.props.type}]:`,_,r)}render(){return this.state.hasError?a.jsxs("div",{className:"p-8 m-4 bg-amber-500/5 border-2 border-dashed border-amber-500/20 rounded-xl flex flex-col items-center text-center gap-3",children:[a.jsx(Gn,{className:"text-amber-500",size:32}),a.jsxs("div",{className:"space-y-1",children:[a.jsx("h4",{className:"text-sm font-bold text-amber-200 uppercase tracking-tight",children:"Component Error"}),a.jsxs("p",{className:"text-xs text-amber-500/70 font-mono",children:["Type: ",this.props.type]})]}),a.jsx("p",{className:"text-xs text-zinc-400 max-w-[280px] leading-relaxed",children:"This section failed to render. Check the console for details or verify the JSON data structure."})]}):this.props.children}}const Jn=({type:e,scope:_,isSelected:r,sectionId:m,sectionIndex:u=0,totalSections:i=0,onReorder:o})=>{const n=typeof u=="number"&&u>0&&o,l=typeof u=="number"&&u<i-1&&o;return a.jsx("div",{"data-jp-section-overlay":!0,"aria-hidden":!0,className:he("absolute inset-0 pointer-events-none transition-all duration-200 z-[50]","border-2 border-transparent group-hover:border-blue-400/50 group-hover:border-dashed",r&&"border-2 border-blue-600 border-solid bg-blue-500/5"),children:a.jsxs("div",{className:he("absolute top-0 right-0 flex flex-nowrap items-center gap-1 pl-1 pr-2 py-1 text-[9px] font-black uppercase tracking-widest transition-opacity pointer-events-auto","bg-blue-600 text-white",r||"group-hover:opacity-100 opacity-0"),children:[o&&m!=null&&a.jsxs("span",{className:"shrink-0 flex items-center gap-0.5",children:[a.jsx("button",{type:"button",onClick:h=>{h.stopPropagation(),n&&o(m,u-1)},disabled:!n,className:"inline-flex items-center justify-center min-w-[18px] min-h-[18px] rounded bg-white/20 hover:bg-white/30 disabled:opacity-30 disabled:pointer-events-none",title:"Move section up","aria-label":"Move section up",children:a.jsx(mt,{size:12,strokeWidth:2.5})}),a.jsx("button",{type:"button",onClick:h=>{h.stopPropagation(),l&&o(m,u+2)},disabled:!l,className:"inline-flex items-center justify-center min-w-[18px] min-h-[18px] rounded bg-white/20 hover:bg-white/30 disabled:opacity-30 disabled:pointer-events-none",title:"Move section down","aria-label":"Move section down",children:a.jsx(pt,{size:12,strokeWidth:2.5})})]}),a.jsx("span",{className:"shrink-0",children:e}),a.jsx("span",{className:"opacity-50 shrink-0",children:"|"}),a.jsx("span",{className:"shrink-0",children:_})]})})},Ge=({section:e,menu:_,selectedId:r,reorderable:m,sectionIndex:u,totalSections:i,onReorder:o})=>{var f,k;const{mode:n}=tr(),{registry:l}=He(),h=n==="studio",p=h&&r===e.id,w=l[e.type],y=e.type==="header"||e.type==="footer"?"global":"local",c=e.type==="header"&&((f=e.settings)==null?void 0:f.sticky);if(!w)return a.jsxs("div",{className:"p-6 m-4 bg-red-500/10 text-red-400 border border-red-500/20 rounded-lg text-sm font-mono",children:[a.jsx("strong",{children:"Missing Component:"})," ",e.type]});const x=E=>{var X,j,P,s,R;if(!h)return;E.preventDefault(),E.stopPropagation();const N=E.currentTarget,A=E.clientX,L=E.clientY;if(E.target===N){window.parent.postMessage({type:we.SECTION_SELECT,section:{id:e.id,type:e.type,scope:y}},"*");return}const I=document.elementFromPoint(A,L)??E.target;if(!I||!N.contains(I)){window.parent.postMessage({type:we.SECTION_SELECT,section:{id:e.id,type:e.type,scope:y}},"*");return}if(I===N){window.parent.postMessage({type:we.SECTION_SELECT,section:{id:e.id,type:e.type,scope:y}},"*");return}const O=[];let T=I;for(;T&&T!==N;){const ee=(X=T.getAttribute)==null?void 0:X.call(T,"data-jp-item-id"),U=(j=T.getAttribute)==null?void 0:j.call(T,"data-jp-item-field");ee&&U&&O.push({fieldKey:U||"items",itemId:ee}),T=T.parentElement}if(O.reverse(),O.length===0)for(T=I;T&&T!==N;){const ee=(P=T.getAttribute)==null?void 0:P.call(T,"data-jp-field");if(ee){O.push({fieldKey:ee});break}T=T.parentElement}if(O.length===0&&I){let ee=null;const U=H=>{var re,z;const $=H.getBoundingClientRect();if($.left<=A&&A<=$.right&&$.top<=L&&L<=$.bottom){for(let S=0;S<H.children.length;S++)U(H.children[S]);((re=H.getAttribute)!=null&&re.call(H,"data-jp-item-id")||(z=H.getAttribute)!=null&&z.call(H,"data-jp-field"))&&(ee=H)}};if(U(I),ee){const H=ee,$=(s=H.getAttribute)==null?void 0:s.call(H,"data-jp-item-id"),re=(R=H.getAttribute)==null?void 0:R.call(H,"data-jp-field");$&&re?O.push({fieldKey:re||"items",itemId:$}):re&&O.push({fieldKey:re})}}const B={type:we.SECTION_SELECT,section:{id:e.id,type:e.type,scope:y}};if(O.length>0){B.itemPath=O;const ee=O[0];ee.itemId!=null?(B.itemField=ee.fieldKey,B.itemId=ee.itemId):B.itemField=ee.fieldKey}window.parent.postMessage(B,"*")},d=()=>{const E=w;return e.type==="header"&&_?a.jsx(E,{data:e.data,settings:e.settings,menu:_}):a.jsx(E,{data:e.data,settings:e.settings})},v=(k=e.data)==null?void 0:k.anchorId;return a.jsxs("div",{id:v||void 0,"data-section-id":h?e.id:void 0,"data-section-type":h?e.type:void 0,"data-section-scope":h?y:void 0,...h&&p?{"data-jp-selected":!0}:{},onClickCapture:h?x:void 0,className:he("relative w-full",h&&"group cursor-pointer",h&&c?"sticky top-0 z-[60]":"relative z-0",p&&"z-[70]"),children:[a.jsx("div",{className:"relative z-0",children:a.jsx(Vn,{type:e.type,children:d()})}),h&&a.jsx(Jn,{type:e.type,scope:y,isSelected:!!p,sectionId:m&&y==="local"?e.id:void 0,sectionIndex:m&&y==="local"?u:void 0,totalSections:m&&y==="local"?i:void 0,onReorder:m&&y==="local"?o:void 0})]})},qn=e=>{q.useEffect(()=>{document.title=e.title;let _=document.querySelector('meta[name="description"]');_||(_=document.createElement("meta"),_.setAttribute("name","description"),document.head.appendChild(_)),_.setAttribute("content",e.description)},[e.title,e.description])},Yn="application/json",vt=({pageConfig:e,siteConfig:_,menuConfig:r,selectedId:m,onReorder:u,scrollToSectionId:i,onActiveSectionChange:o})=>{var v,f;qn(e.meta);const[n,l]=q.useState(null),h=q.useRef({}),p=q.useRef(o);p.current=o;const w=k=>{var E;(E=p.current)==null||E.call(p,k)};q.useEffect(()=>{if(!i)return;const k=h.current[i];k&&k.scrollIntoView({behavior:"smooth",block:"center"})},[i]),q.useEffect(()=>{if(!p.current)return;const E=[..._.header?[_.header.id]:[],...e.sections.map(I=>I.id),..._.footer?[_.footer.id]:[]],N=new IntersectionObserver(I=>{I.forEach(O=>{var T;if(O.isIntersecting&&O.intersectionRatio>.5){const B=O.target.getAttribute("data-section-id");B&&((T=p.current)==null||T.call(p,B))}})},{threshold:[0,.5,1],rootMargin:"-20% 0px -20% 0px"});let A=!1;const L=requestAnimationFrame(()=>{A||E.forEach(I=>{const O=h.current[I];O&&N.observe(O)})});return()=>{A=!0,cancelAnimationFrame(L),N.disconnect()}},[e.sections,(v=_.header)==null?void 0:v.id,(f=_.footer)==null?void 0:f.id]);const y=(k,E)=>{k.preventDefault(),k.dataTransfer.dropEffect="move",l(E)},c=()=>{l(null)},x=(k,E)=>{if(k.preventDefault(),l(null),!!u)try{const N=k.dataTransfer.getData(Yn),{sectionId:A}=JSON.parse(N);typeof A=="string"&&u(A,E)}catch{}},d=()=>{const k=typeof u=="function",E=e.sections.map((N,A)=>{const L=n===A;return k?a.jsxs("div",{ref:I=>{h.current[N.id]=I},"data-section-id":N.id,style:{position:"relative"},onMouseEnter:()=>w(N.id),children:[a.jsx("div",{"data-jp-drop-zone":!0,style:{position:"absolute",left:0,right:0,top:-1,height:12,zIndex:55,pointerEvents:"auto",backgroundColor:L?"rgba(59, 130, 246, 0.4)":"transparent",borderTop:L?"2px solid rgb(96, 165, 250)":"2px solid transparent"},onDragOver:I=>y(I,A),onDragLeave:c,onDrop:I=>x(I,A)}),a.jsx(Ge,{section:N,selectedId:m,reorderable:!0,sectionIndex:A,totalSections:e.sections.length,onReorder:u})]},N.id):a.jsx("div",{ref:I=>{h.current[N.id]=I},"data-section-id":N.id,onMouseEnter:()=>w(N.id),children:a.jsx(Ge,{section:N,selectedId:m})},N.id)});if(k&&E.length>0){const N=e.sections.length,A=n===N;E.push(a.jsx("div",{"data-jp-drop-zone":!0,style:{position:"relative",left:0,right:0,height:24,minHeight:24,zIndex:55,pointerEvents:"auto",backgroundColor:A?"rgba(59, 130, 246, 0.4)":"transparent",borderTop:A?"2px solid rgb(96, 165, 250)":"2px solid transparent"},onDragOver:L=>y(L,N),onDragLeave:c,onDrop:L=>x(L,N)},"jp-drop-after-last"))}return E};return a.jsxs("div",{className:"min-h-screen flex flex-col bg-[var(--color-background)]",children:[_.header!=null&&a.jsx("div",{ref:k=>{h.current[_.header.id]=k},"data-section-id":_.header.id,onMouseEnter:()=>w(_.header.id),children:a.jsx(Ge,{section:_.header,menu:r.main,selectedId:m})}),a.jsx("main",{className:"flex-1",children:d()}),_.footer!=null&&a.jsx("div",{ref:k=>{h.current[_.footer.id]=k},"data-section-id":_.footer.id,onMouseEnter:()=>w(_.footer.id),children:a.jsx(Ge,{section:_.footer,selectedId:m})})]})},it=({mode:e,tenantCss:_,adminCss:r,children:m})=>(q.useLayoutEffect(()=>{const u=`jp-theme-${e}`,i=e==="tenant"?_:r;if(!document.getElementById(u)&&i){const o=document.createElement("style");o.id=u,o.innerHTML=i,document.head.appendChild(o)}return()=>{const o=document.getElementById(u);o&&o.remove()}},[e,_,r]),a.jsx(a.Fragment,{children:m}));function xt({className:e,type:_,...r}){return a.jsx("input",{type:_,className:he("h-8 rounded-lg border border-zinc-800 bg-zinc-900/50 px-2.5 py-1 text-sm outline-none transition-colors focus:ring-2 focus:ring-blue-600",e),...r})}function Xn({className:e,..._}){return a.jsx("textarea",{className:he("min-h-16 w-full rounded-lg border border-zinc-800 bg-zinc-900/50 px-2.5 py-2 text-sm outline-none transition-colors focus:ring-2 focus:ring-blue-600 resize-none",e),..._})}function Qn({className:e,checked:_,onCheckedChange:r,...m}){return a.jsx("input",{type:"checkbox",checked:_,onChange:u=>r==null?void 0:r(u.target.checked),className:he("size-4 rounded border border-zinc-700 bg-zinc-900 text-blue-600 focus:ring-2 focus:ring-blue-600",e),...m})}function Oe({className:e,..._}){return a.jsx("label",{className:he("text-sm font-medium leading-none select-none",e),..._})}const dr=be.createContext(null);function eo(){const e=be.useContext(dr);if(!e)throw new Error("Select components must be used within Select");return e}function to({value:e,onValueChange:_,children:r}){const m=e??"",u=be.Children.toArray(r).find(w=>be.isValidElement(w)&&w.type===kt),i=be.Children.toArray(r).find(w=>be.isValidElement(w)&&w.type===wt),o=u&&be.isValidElement(u)?u.props.children:void 0,n=i&&be.isValidElement(i)?i.props.children:void 0,l=be.useMemo(()=>!u||!be.isValidElement(u)?[]:be.Children.toArray(u.props.children).filter(w=>be.isValidElement(w)&&w.props.value!==void 0).map(w=>({value:w.props.value,label:w.props.children??w.props.value})),[u,o]),h=be.useMemo(()=>{if(!i||!be.isValidElement(i))return"";const w=be.Children.toArray(i.props.children).find(y=>be.isValidElement(y)&&y.type===yt);return w&&be.isValidElement(w)?w.props.placeholder??"":""},[i,n]),p=be.useMemo(()=>({value:m,onValueChange:w=>_==null?void 0:_(w),options:l,placeholder:h}),[m,_,l,h]);return a.jsx(dr.Provider,{value:p,children:i})}function wt({className:e,children:_,...r}){const{value:m,onValueChange:u,options:i,placeholder:o}=eo();return a.jsxs("div",{className:he("relative",e),...r,children:[a.jsxs("select",{value:m,onChange:n=>u(n.target.value),className:"w-full h-7 rounded border border-zinc-800 bg-zinc-900/50 text-[11px] text-left px-2 pr-6 appearance-none bg-no-repeat bg-[length:12px] bg-[right_0.25rem_center] focus:ring-2 focus:ring-blue-600 focus:outline-none",style:{backgroundImage:`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23717171' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")`},children:[o?a.jsx("option",{value:"",children:o}):null,i.map(n=>a.jsx("option",{value:n.value,children:String(n.label)},n.value))]}),_]})}function yt(e){return null}function kt({className:e,children:_}){return a.jsx("div",{className:he("hidden",e),"aria-hidden":!0,children:_})}function ur({className:e,value:_,children:r}){return a.jsx("div",{"data-value":_,className:e,"aria-hidden":!0,children:r})}wt.displayName="SelectTrigger",yt.displayName="SelectValue",kt.displayName="SelectContent",ur.displayName="SelectItem";const hr=be.createContext(null);function fr(){const e=be.useContext(hr);if(!e)throw new Error("Dialog components must be used within Dialog");return e}function pr({open:e,onOpenChange:_,children:r}){const[m,u]=be.useState(!1),i=e!==void 0,o=i?e:m,n=be.useCallback(h=>{i||u(h),_==null||_(h)},[i,_]),l=be.useMemo(()=>({open:o,onOpenChange:n}),[o,n]);return a.jsx(hr.Provider,{value:l,children:r})}function ro({asChild:e,children:_}){const{onOpenChange:r}=fr(),m=be.Children.only(_);return e&&be.isValidElement(m)?be.cloneElement(m,{onClick:u=>{var i,o;(o=(i=m.props).onClick)==null||o.call(i,u),r(!0)}}):a.jsx("button",{type:"button",onClick:()=>r(!0),children:_})}function mr({className:e,children:_,preventCloseOnBackdropClick:r,...m}){const{open:u,onOpenChange:i}=fr();if(be.useEffect(()=>{const n=l=>{l.key==="Escape"&&i(!1)};return u&&(document.addEventListener("keydown",n),document.body.style.overflow="hidden"),()=>{document.removeEventListener("keydown",n),document.body.style.overflow=""}},[u,i]),!u)return null;const o=n=>{n.preventDefault(),n.stopPropagation()};return Ar.createPortal(a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"fixed inset-0 z-[9998] bg-black/60","aria-hidden":!0,onClick:()=>!r&&i(!1),onDragOver:o,onDrop:o}),a.jsx("div",{role:"dialog","aria-modal":!0,className:he("fixed left-1/2 top-1/2 z-[9999] w-[calc(100%-2rem)] max-w-lg -translate-x-1/2 -translate-y-1/2 rounded-lg border border-zinc-700 bg-zinc-900 p-4 shadow-xl",e),onClick:n=>n.stopPropagation(),...m,children:_})]}),document.body)}function br({className:e,..._}){return a.jsx("div",{className:he("flex flex-col gap-1.5 pb-4",e),..._})}function no({className:e,..._}){return a.jsx("div",{className:he("flex justify-end gap-2 pt-4",e),..._})}function gr({className:e,..._}){return a.jsx("h2",{className:he("text-sm font-semibold text-white",e),..._})}function vr({className:e,..._}){return a.jsx("p",{className:he("text-xs text-zinc-400",e),..._})}const Le=be.forwardRef(({className:e,variant:_="default",size:r="default",asChild:m,children:u,...i},o)=>{const n="inline-flex items-center justify-center rounded-md font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-600 disabled:pointer-events-none disabled:opacity-50",l={default:"bg-blue-600 text-white hover:bg-blue-700",outline:"border border-zinc-700 bg-transparent hover:bg-zinc-800",ghost:"hover:bg-zinc-800"},h={sm:"h-7 px-2.5 text-xs",default:"h-9 px-4 text-sm",lg:"h-10 px-6 text-base"};if(m&&be.isValidElement(u)){const p=u,w=he(n,l[_],h[r],p.props.className,e);return be.cloneElement(p,{className:w})}return a.jsx("button",{ref:o,type:"button",className:he(n,l[_],h[r],e),...i,children:u})});Le.displayName="Button";const oo=["library","upload","url"];function io({library:e,selectedId:_,onSelect:r}){const[m,u]=q.useState(""),[i,o]=q.useState("all"),n=["all",...new Set(e.flatMap(h=>h.tags??[]))],l=e.filter(h=>{const p=i==="all"||(h.tags??[]).includes(i),w=!m||(h.alt??"").toLowerCase().includes(m.toLowerCase());return p&&w});return a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"relative",children:[a.jsx(Wn,{size:14,className:"absolute left-3 top-1/2 -translate-y-1/2 text-zinc-600 pointer-events-none"}),a.jsx(xt,{value:m,onChange:h=>u(h.target.value),placeholder:"Cerca immagini...",className:"pl-9 h-8 text-xs bg-zinc-900/50 border-zinc-800"})]}),a.jsx("div",{className:"flex flex-wrap gap-1.5",children:n.map(h=>a.jsx("button",{type:"button",onClick:()=>o(h),className:he("px-2.5 py-1 rounded text-[10px] font-medium border transition-colors",i===h?"border-blue-500 bg-blue-500/20 text-blue-400":"border-zinc-700 text-zinc-500 hover:border-zinc-600 hover:text-zinc-400"),children:h==="all"?"Tutte":h},h))}),l.length>0?a.jsx("div",{className:"grid grid-cols-3 gap-2.5 max-h-[45vh] overflow-y-auto",children:l.map(h=>{const p=_===h.id;return a.jsxs("button",{type:"button",onClick:()=>r(p?null:h.id),className:he("group relative aspect-[4/3] rounded-lg overflow-hidden","ring-1 transition-all duration-150",p?"ring-blue-500 ring-2 ring-offset-1 ring-offset-zinc-900":"ring-zinc-800 hover:ring-zinc-600 hover:scale-[1.02]"),children:[a.jsx("img",{src:h.url,alt:h.alt,loading:"lazy",className:he("w-full h-full object-cover transition-[filter] duration-150",p?"brightness-[0.6]":"brightness-[0.85] group-hover:brightness-100")}),a.jsx("div",{className:he("absolute inset-x-0 bottom-0 px-2 py-1.5","bg-gradient-to-t from-black/70 to-transparent","opacity-0 group-hover:opacity-100 transition-opacity",p&&"opacity-100"),children:a.jsx("span",{className:"text-[10px] text-white font-medium leading-tight line-clamp-2",children:h.alt})}),p&&a.jsx("div",{className:"absolute top-2 right-2 w-6 h-6 rounded-full bg-blue-600 flex items-center justify-center",children:a.jsx(nr,{size:14,className:"text-white"})})]},h.id)})}):a.jsx("div",{className:"text-center py-12 text-zinc-600 text-xs",children:"Nessuna immagine in libreria. Configura assets.assetsManifest nel tenant (es. da public/assets)."})]})}function ao({preview:e,onPreviewChange:_,onAssetUpload:r}){const[m,u]=q.useState(!1),i=q.useRef(null),o=q.useCallback(async p=>{if(fetch("http://127.0.0.1:7588/ingest/86d71502-47e1-433c-9b6d-5a1390d00813",{method:"POST",headers:{"Content-Type":"application/json","X-Debug-Session-Id":"34bba5"},body:JSON.stringify({sessionId:"34bba5",location:"ImagePickerDialog.tsx:handleFile",message:"handleFile called",data:{fileName:p.name,hasOnAssetUpload:!!r},timestamp:Date.now(),hypothesisId:"H5"})}).catch(()=>{}),!p.type.startsWith("image/"))return;if(r){try{const y=await r(p);fetch("http://127.0.0.1:7588/ingest/86d71502-47e1-433c-9b6d-5a1390d00813",{method:"POST",headers:{"Content-Type":"application/json","X-Debug-Session-Id":"34bba5"},body:JSON.stringify({sessionId:"34bba5",location:"ImagePickerDialog.tsx:handleFile",message:"onAssetUpload resolved",data:{url:y==null?void 0:y.slice(0,50)},timestamp:Date.now(),hypothesisId:"H2,H5"})}).catch(()=>{}),_({name:p.name,size:p.size,dataUrl:y})}catch{const y=new FileReader;y.onload=c=>{var x;_({name:p.name,size:p.size,dataUrl:(x=c.target)==null?void 0:x.result})},y.readAsDataURL(p)}return}const w=new FileReader;w.onload=y=>{var c;_({name:p.name,size:p.size,dataUrl:(c=y.target)==null?void 0:c.result})},w.readAsDataURL(p)},[_,r]),n=q.useCallback(p=>{var y,c;p.preventDefault(),p.stopPropagation(),u(!1);const w=(c=(y=p.dataTransfer)==null?void 0:y.files)==null?void 0:c[0];w&&o(w)},[o]),l=q.useCallback(p=>{p.preventDefault(),p.stopPropagation(),u(!0)},[]),h=q.useCallback(p=>{var y;const w=(y=p.target.files)==null?void 0:y[0];w&&o(w)},[o]);return a.jsxs("div",{onDragOver:l,onDragEnter:l,onDragLeave:p=>{p.preventDefault(),p.stopPropagation(),u(!1)},onDrop:n,onClick:()=>{var p;return!e&&((p=i.current)==null?void 0:p.click())},className:he("rounded-xl border-2 border-dashed transition-all min-h-[240px]","flex flex-col items-center justify-center overflow-hidden cursor-pointer relative",m?"border-blue-500/50 bg-blue-500/[0.04]":e?"border-zinc-800 bg-transparent cursor-default":"border-zinc-800 bg-white/[0.01] hover:border-zinc-600 hover:bg-white/[0.02]"),children:[e?a.jsxs(a.Fragment,{children:[a.jsx("img",{src:e.dataUrl,alt:"Upload preview",className:"w-full max-h-[320px] object-contain"}),a.jsxs("div",{className:"absolute bottom-0 inset-x-0 bg-gradient-to-t from-black/80 to-transparent p-4 flex items-center justify-between",children:[a.jsxs("div",{children:[a.jsx("p",{className:"text-xs font-medium text-white",children:e.name}),a.jsxs("p",{className:"text-[10px] text-zinc-400",children:[(e.size/1024).toFixed(1)," KB"]})]}),a.jsx(Le,{type:"button",variant:"ghost",className:"text-zinc-400 hover:text-red-400 hover:bg-red-500/10 h-8 w-8 p-0",onClick:p=>{p.stopPropagation(),_(null)},children:a.jsx(ot,{size:14})})]})]}):a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"w-12 h-12 rounded-xl bg-blue-500/10 flex items-center justify-center text-blue-500 mb-3",children:a.jsx(cr,{size:22})}),a.jsx("p",{className:"text-sm font-medium text-white mb-1",children:"Trascina un'immagine qui"}),a.jsx("p",{className:"text-[11px] text-zinc-500 mb-3",children:"oppure clicca per selezionare un file"}),a.jsx("span",{className:"text-[10px] text-zinc-600 bg-white/[0.03] px-3 py-1 rounded",children:"PNG, JPG, WebP — max 5MB"})]}),a.jsx("input",{ref:i,type:"file",accept:"image/*",className:"hidden",onChange:h})]})}function so({urlPreview:e,onUrlPreviewChange:_}){const[r,m]=q.useState(""),[u,i]=q.useState(!1),o=()=>{if(r.trim())try{new URL(r),_(r),i(!1)}catch{i(!0),_(null)}};return a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{children:[a.jsx(Oe,{className:"block text-[10px] font-bold uppercase tracking-[0.08em] text-zinc-500 mb-1.5",children:"URL immagine"}),a.jsxs("div",{className:"flex gap-2",children:[a.jsx(xt,{value:r,onChange:n=>{m(n.target.value),i(!1)},onKeyDown:n=>n.key==="Enter"&&o(),placeholder:"https://images.unsplash.com/photo-...",className:he("h-8 text-xs bg-zinc-900/50 border-zinc-800",u&&"border-red-500/50")}),a.jsx(Le,{type:"button",variant:"outline",onClick:o,className:"shrink-0 h-8",children:"Anteprima"})]}),u&&a.jsx("p",{className:"text-[11px] text-red-400 mt-1.5",children:"URL non valido. Inserisci un URL completo (https://…)"})]}),e?a.jsxs("div",{className:"rounded-lg overflow-hidden ring-1 ring-zinc-800",children:[a.jsx("img",{src:e,alt:"URL preview",className:"w-full max-h-[320px] object-contain bg-black/30",onError:()=>{i(!0),_(null)}}),a.jsxs("div",{className:"px-3.5 py-2.5 bg-white/[0.02] border-t border-zinc-800 flex items-center gap-2",children:[a.jsx(nr,{size:14,className:"text-emerald-400"}),a.jsx("span",{className:"text-[11px] text-zinc-500",children:"Immagine caricata correttamente"})]})]}):u?null:a.jsxs("div",{className:"flex flex-col items-center py-12 text-zinc-600",children:[a.jsx(ar,{size:32,className:"mb-3 opacity-40"}),a.jsx("p",{className:"text-xs",children:"Incolla un URL e premi Anteprima per verificare"})]})]})}const lo=({open:e,onOpenChange:_,onSelect:r})=>{const{assets:m}=He(),u=(m==null?void 0:m.assetsManifest)??[],[i,o]=q.useState("library"),[n,l]=q.useState(null),[h,p]=q.useState(null),[w,y]=q.useState(null);q.useEffect(()=>{e&&(o("library"),l(null),p(null),y(null))},[e]),q.useEffect(()=>{if(!e||i!=="upload")return;const f=()=>{fetch("http://127.0.0.1:7588/ingest/86d71502-47e1-433c-9b6d-5a1390d00813",{method:"POST",headers:{"Content-Type":"application/json","X-Debug-Session-Id":"34bba5"},body:JSON.stringify({sessionId:"34bba5",location:"ImagePickerDialog.tsx:beforeunload",message:"beforeunload fired",data:{},timestamp:Date.now(),hypothesisId:"H1"})}).catch(()=>{})};return window.addEventListener("beforeunload",f),()=>window.removeEventListener("beforeunload",f)},[e,i]),q.useEffect(()=>{if(!e||i!=="upload")return;const f=E=>{E.preventDefault()},k={capture:!0};return document.addEventListener("dragover",f,k),document.addEventListener("drop",f,k),window.addEventListener("dragover",f,k),window.addEventListener("drop",f,k),()=>{document.removeEventListener("dragover",f,k),document.removeEventListener("drop",f,k),window.removeEventListener("dragover",f,k),window.removeEventListener("drop",f,k)}},[e,i]);const c=i==="library"&&n!=null||i==="upload"&&h!=null||i==="url"&&w!=null,x=()=>{if(i==="library"&&n){const f=u.find(k=>k.id===n);f&&r({url:f.url,alt:f.alt})}else i==="upload"&&h?r({url:h.dataUrl,alt:h.name}):i==="url"&&w&&r({url:w,alt:""});setTimeout(()=>_(!1),0)},d=i==="library"&&n?"1 immagine selezionata":i==="upload"&&h?h.name:i==="url"&&w?"URL pronto":"Nessuna selezione",v=f=>{f.preventDefault(),f.stopPropagation()};return a.jsx(pr,{open:e,onOpenChange:_,children:a.jsxs(mr,{className:"max-w-2xl p-0 gap-0 max-h-[90vh] flex flex-col",preventCloseOnBackdropClick:i==="upload",onDragOver:v,onDrop:v,children:[a.jsxs(br,{className:"px-5 py-4 flex flex-row items-start justify-between gap-4 border-b border-zinc-800",children:[a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx("div",{className:"p-1.5 rounded-lg bg-blue-500/15 text-blue-500",children:a.jsx(nt,{size:18})}),a.jsxs("div",{children:[a.jsx(gr,{children:"Image Picker"}),a.jsx(vr,{children:"Scegli dalla libreria, carica dal disco o inserisci un link"})]})]}),a.jsx("button",{type:"button",onClick:()=>_(!1),className:"p-1.5 rounded text-zinc-500 hover:text-white hover:bg-zinc-800 transition-colors","aria-label":"Chiudi",children:a.jsx(Me,{size:18})})]}),a.jsx("div",{className:"flex border-b border-zinc-800",children:oo.map(f=>a.jsxs("button",{type:"button",onClick:()=>o(f),className:he("flex items-center gap-2 px-4 py-3 text-xs font-medium border-b-2 transition-colors",i===f?"border-blue-500 text-blue-400":"border-transparent text-zinc-500 hover:text-zinc-300"),children:[f==="library"&&a.jsx(nt,{size:14}),f==="upload"&&a.jsx(cr,{size:14}),f==="url"&&a.jsx(ar,{size:14}),f==="library"?"Libreria":f==="upload"?"Upload":"URL"]},f))}),a.jsxs("div",{className:"flex-1 overflow-y-auto p-5 min-h-0",children:[i==="library"&&a.jsx(io,{library:u,selectedId:n,onSelect:l}),i==="upload"&&a.jsx(ao,{preview:h,onPreviewChange:p,onAssetUpload:m==null?void 0:m.onAssetUpload}),i==="url"&&a.jsx(so,{urlPreview:w,onUrlPreviewChange:y})]}),a.jsxs(no,{className:"px-5 py-4 border-t border-zinc-800 flex-row justify-between",children:[a.jsx("span",{className:"text-[10px] uppercase tracking-[0.05em] text-zinc-600",children:d}),a.jsxs("div",{className:"flex gap-2",children:[a.jsx(Le,{type:"button",variant:"outline",size:"sm",onClick:()=>_(!1),children:"Annulla"}),a.jsx(Le,{type:"button",size:"sm",disabled:!c,onClick:x,className:he(!c&&"opacity-40"),children:"Inserisci immagine"})]})]})]})})},xr=(e,_="default")=>{if(e.startsWith("http")||e.startsWith("data:")||e.startsWith("#")||e.startsWith("/assets/"))return e;if(e.startsWith("assets/"))return`/${e}`;if(e.startsWith("/uploaded-assets/"))return e;if(!/\.(jpg|jpeg|png|gif|svg|pdf|webp|mp4|webm|ogg)$/i.test(e))return e.startsWith("/")?e:`/${e}`;const m=e.replace(/^\//,"");return`/assets/${_}/${m}`},co=({value:e,onChange:_,label:r="IMAGE",className:m})=>{const{tenantId:u="default"}=He(),[i,o]=q.useState(!1),[n,l]=q.useState(!1),h=!!(e!=null&&e.url),p=e!=null&&e.url?xr(e.url,u):"",w=c=>{_(c),o(!1)},y=c=>{c.stopPropagation(),_({url:"",alt:""})};return a.jsxs("div",{className:he("space-y-1.5",m),children:[a.jsx(Oe,{className:"text-[9px] uppercase font-black tracking-widest text-zinc-500",children:r}),h?a.jsxs("div",{role:"button",tabIndex:0,onClick:()=>o(!0),onKeyDown:c=>c.key==="Enter"&&o(!0),onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),className:he("relative rounded-lg overflow-hidden cursor-pointer","ring-1 ring-zinc-800 transition-all",n&&"ring-blue-500/40"),children:[a.jsx("img",{src:p,alt:(e==null?void 0:e.alt)??"",className:"w-full h-40 object-cover block",onError:c=>{c.target.style.display="none"}}),a.jsx("div",{className:he("absolute inset-0 flex items-center justify-center gap-2 transition-all duration-150",n?"bg-black/50":"bg-black/0"),children:n&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-center gap-1.5 bg-white/15 backdrop-blur-md rounded-lg px-3.5 py-2 text-white text-xs font-medium",children:[a.jsx(Un,{size:13}),a.jsx("span",{children:"Cambia"})]}),a.jsx(Le,{type:"button",variant:"ghost",className:"h-8 w-8 p-0 bg-red-500/15 backdrop-blur-md text-red-300 hover:text-red-200 hover:bg-red-500/25",onClick:y,children:a.jsx(ot,{size:13})})]})}),a.jsx("div",{className:"px-2.5 py-1.5 bg-black/50 text-[10px] text-zinc-500 truncate",children:((e==null?void 0:e.url)??"").length>50?"…"+((e==null?void 0:e.url)??"").slice(-47):(e==null?void 0:e.url)??""})]}):a.jsxs("button",{type:"button",onClick:()=>o(!0),className:he("w-full rounded-lg border-2 border-dashed border-zinc-800 py-7","flex flex-col items-center gap-2","bg-white/[0.01] transition-all","hover:border-blue-500/30 hover:bg-blue-500/[0.03]","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500"),children:[a.jsx("div",{className:"w-9 h-9 rounded-lg bg-blue-500/10 flex items-center justify-center text-blue-500",children:a.jsx(nt,{size:18})}),a.jsx("span",{className:"text-xs text-zinc-400 font-medium",children:"Clicca per aggiungere un'immagine"}),a.jsx("span",{className:"text-[10px] text-zinc-600",children:"Libreria · Upload · URL"})]}),a.jsx(lo,{open:i,onOpenChange:o,onSelect:w})]})},wr=[{name:"layers",Icon:gt},{name:"github",Icon:Mn},{name:"arrow-right",Icon:Dn},{name:"box",Icon:Pn},{name:"terminal",Icon:Hn},{name:"chevron-right",Icon:Fn},{name:"menu",Icon:Bn},{name:"x",Icon:Me},{name:"sparkles",Icon:$n},{name:"zap",Icon:Kn}],Ke={"ui:text":({label:e,value:_,onChange:r})=>a.jsxs("div",{className:"grid w-full items-center gap-1.5 mb-4",children:[a.jsx(Oe,{className:"text-[9px] uppercase font-black tracking-widest text-zinc-500",children:e}),a.jsx(xt,{type:"text",className:"h-7 text-[11px] bg-zinc-900/50 border-zinc-800 focus-visible:ring-blue-600",value:_||"",onChange:m=>r(m.target.value)})]}),"ui:textarea":({label:e,value:_,onChange:r})=>a.jsxs("div",{className:"grid w-full gap-1.5 mb-4",children:[a.jsx(Oe,{className:"text-[9px] uppercase font-black tracking-widest text-zinc-500",children:e}),a.jsx(Xn,{className:"min-h-[80px] text-[11px] bg-zinc-900/50 border-zinc-800 focus-visible:ring-blue-600 resize-none",value:_||"",onChange:m=>r(m.target.value)})]}),"ui:select":({label:e,value:_,onChange:r,options:m=[]})=>a.jsxs("div",{className:"grid w-full gap-1.5 mb-4",children:[a.jsx(Oe,{className:"text-[9px] uppercase font-black tracking-widest text-zinc-500",children:e}),a.jsxs(to,{value:_||"",onValueChange:r,children:[a.jsx(wt,{className:"w-full h-7 text-[11px] bg-zinc-900/50 border-zinc-800 focus:ring-blue-600",children:a.jsx(yt,{placeholder:"Select..."})}),a.jsx(kt,{className:"dark",children:m.map(u=>a.jsx(ur,{value:u,className:"text-[11px]",children:u},u))})]})]}),"ui:checkbox":({label:e,value:_,onChange:r})=>a.jsxs("div",{className:"flex items-center space-x-2 mb-4 p-2 rounded border border-zinc-800/50 bg-zinc-900/20",children:[a.jsx(Qn,{id:e,checked:!!_,onCheckedChange:m=>r(m===!0)}),a.jsx(Oe,{htmlFor:e,className:"text-[11px] font-medium cursor-pointer select-none text-zinc-300",children:e})]}),"ui:image-picker":({label:e,value:_,onChange:r})=>{const m=_!=null&&typeof _=="object"&&"url"in _?{url:String(_.url??""),alt:String(_.alt??"")}:{url:typeof _=="string"?_:"",alt:""},u=i=>{r(i)};return a.jsx("div",{className:"mb-4",children:a.jsx(co,{label:e,value:m,onChange:u})})},"ui:icon-picker":({label:e,value:_,onChange:r})=>{const[m,u]=q.useState(!1),i=wr.find(o=>o.name===(_||""));return a.jsxs("div",{className:"grid w-full gap-1.5 mb-4",children:[a.jsx(Oe,{className:"text-[9px] uppercase font-black tracking-widest text-zinc-500",children:e}),a.jsxs(pr,{open:m,onOpenChange:u,children:[a.jsx(ro,{asChild:!0,children:a.jsx(Le,{variant:"outline",className:"w-full h-9 rounded-md border border-zinc-800 bg-zinc-900/50 hover:bg-zinc-800/50 flex items-center gap-2 text-left",children:i?a.jsxs(a.Fragment,{children:[a.jsx(i.Icon,{size:16,className:"text-zinc-400 shrink-0"}),a.jsx("span",{className:"text-[11px] text-zinc-300 capitalize truncate",children:i.name})]}):a.jsxs(a.Fragment,{children:[a.jsx(nt,{size:16,className:"text-zinc-500 shrink-0"}),a.jsx("span",{className:"text-[11px] text-zinc-500",children:"Choose icon..."})]})})}),a.jsxs(mr,{className:"sm:max-w-[280px] p-4",children:[a.jsxs(br,{children:[a.jsx(gr,{className:"text-sm",children:"Choose icon"}),a.jsx(vr,{className:"text-xs",children:"Click an icon to select it."})]}),a.jsx("div",{className:"grid grid-cols-5 gap-2 py-2",children:wr.map(({name:o,Icon:n})=>a.jsx("button",{type:"button",onClick:()=>{r(o),u(!1)},className:he("flex items-center justify-center w-10 h-10 rounded-md border transition-colors",_===o?"border-blue-500 bg-blue-500/20 text-blue-400":"border-zinc-800 bg-zinc-900/50 hover:bg-zinc-800/50 text-zinc-400 hover:text-zinc-200"),title:o,children:a.jsx(n,{size:20})},o))})]})]})]})}},_t=e=>{if(e instanceof Ee.z.ZodOptional||e instanceof Ee.z.ZodDefault)return _t(e._def.innerType);if(e instanceof Ee.z.ZodObject){const _={id:crypto.randomUUID()};for(const r in e.shape)r!=="id"&&(_[r]=_t(e.shape[r]));return _}return e instanceof Ee.z.ZodArray?[]:e instanceof Ee.z.ZodString?"":e instanceof Ee.z.ZodNumber?0:e instanceof Ee.z.ZodBoolean?!1:e instanceof Ee.z.ZodEnum?e._def.values[0]:null},zt=e=>e instanceof Ee.z.ZodOptional||e instanceof Ee.z.ZodDefault?zt(e._def.innerType):e,at=(e,_)=>e&&!_?"opacity-10":"opacity-100",Be=(e,_)=>e!=null&&_.toLowerCase()===e.toLowerCase(),uo=(e,_)=>{if(!e)return;const r=_.toLowerCase(),m=Object.entries(e).find(([u])=>u.toLowerCase()===r);return m==null?void 0:m[1]},Ve=({schema:e,data:_,onChange:r,keys:m,expandedItemPath:u,expandedItemIdByField:i,focusedFieldKey:o,onSidebarExpandedItemChange:n})=>{const l=e.shape,h=m!=null?Object.keys(l).filter(x=>m.includes(x)):Object.keys(l),p=u==null?void 0:u[0],w=(p==null?void 0:p.itemId)!=null?{[p.fieldKey]:p.itemId}:i,y=(p==null?void 0:p.fieldKey)??o??null,c=y!=null;return a.jsx("div",{className:"space-y-4",children:h.map(x=>{const d=l[x];if(!d)return null;const v=zt(d),f=d.description||"ui:text",k=_[x];if(f==="ui:image-picker"&&v instanceof Ee.z.ZodObject){const L=Be(y,x),I=Ke["ui:image-picker"]||Ke["ui:text"];return a.jsx("div",{className:`transition-opacity duration-200 ${at(c,L)}`,...L?{"data-jp-focused-field":x}:{},children:a.jsx(I,{label:x,value:k,onChange:O=>r({..._,[x]:O})})},x)}if(v instanceof Ee.z.ZodObject){const L=k||{},I=Be(y,x);return a.jsxs("div",{className:`group/obj mb-6 p-4 border border-zinc-800 rounded-lg bg-zinc-900/20 hover:border-zinc-700 transition-[border-color,opacity] duration-200 ${at(c,I)}`,...I?{"data-jp-focused-field":x}:{},children:[a.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[a.jsx("div",{className:"w-1 h-3 bg-blue-500 rounded-full"}),a.jsx("h4",{className:"text-[10px] font-black uppercase text-zinc-400 tracking-widest",children:x})]}),a.jsx(Ve,{schema:v,data:L,onChange:O=>r({..._,[x]:O}),expandedItemPath:u&&Be(p==null?void 0:p.fieldKey,x)?u.slice(1):void 0,expandedItemIdByField:w,focusedFieldKey:y})]},x)}if(v instanceof Ee.z.ZodArray){const L=Array.isArray(k)?k:[],I=zt(v.element),O=(j,P)=>{if(P<0||P>=L.length)return;const s=[...L],[R]=s.splice(j,1);s.splice(P,0,R),r({..._,[x]:s})},T=Be(y,x),B=Be(p==null?void 0:p.fieldKey,x)?p==null?void 0:p.itemId:void 0,X=uo(w,x)??B;return a.jsxs("div",{className:`mb-8 transition-opacity duration-200 ${at(c,T)}`,...T?{"data-jp-focused-field":x}:{},children:[a.jsxs("div",{className:"flex items-center justify-between mb-3",children:[a.jsxs("label",{className:"text-[10px] font-black uppercase text-zinc-500 tracking-widest",children:[x," (",L.length,")"]}),a.jsxs("button",{type:"button",onClick:()=>{const j=_t(I);r({..._,[x]:[...L,j]})},className:"flex items-center gap-1 px-2 py-1 bg-blue-600/10 hover:bg-blue-600/20 text-blue-500 rounded text-[10px] font-bold transition-colors",children:[a.jsx(sr,{size:12})," Add Item"]})]}),a.jsx("div",{className:"space-y-2",children:L.map((j,P)=>{const s=j,R=s.id||`legacy-${P}`,ee=(typeof s.title=="string"?s.title:null)||(typeof s.label=="string"?s.label:null)||(typeof s.name=="string"?s.name:null)||(typeof s.content=="string"?s.content:null)||(typeof s.text=="string"?s.text:null)||`${x} #${P+1}`,U=X,H=String(s.id??R),$=U!=null&&String(U)===H,re=$&&u&&u.length>1?u.slice(1):void 0,z=c&&T&&U!=null&&!$;return a.jsx(ho,{itemId:H,openItemId:U!=null?String(U):void 0,isFaded:z,index:P,isFirst:P===0,isLast:P===L.length-1,label:ee,onExpandedChange:n?S=>n(S?{fieldKey:x,itemId:H}:null):void 0,onRemove:()=>{const S=L.filter((J,K)=>K!==P);r({..._,[x]:S})},onMoveUp:()=>O(P,P-1),onMoveDown:()=>O(P,P+1),children:I instanceof Ee.z.ZodObject?a.jsx(Ve,{schema:I,data:s||{},expandedItemPath:re,onChange:S=>{const J=[...L];J[P]=S,r({..._,[x]:J})}}):a.jsx("div",{className:"text-[10px] text-red-400",children:"Primitive arrays not supported."})},R)})})]},x)}const E=Ke[f]||Ke["ui:text"],N=v instanceof Ee.z.ZodEnum?v._def.values:void 0,A=Be(y,x);return a.jsx("div",{className:`transition-opacity duration-200 ${at(c,A)}`,...A?{"data-jp-focused-field":x}:{},children:a.jsx(E,{label:x,value:k,options:N,onChange:L=>r({..._,[x]:L})})},x)})})},ho=({itemId:e,openItemId:_,isFaded:r=!1,label:m,onExpandedChange:u,onRemove:i,onMoveUp:o,onMoveDown:n,isFirst:l,isLast:h,children:p})=>{const w=_!=null&&String(_)===String(e),[y,c]=q.useState(w);q.useEffect(()=>{w&&!y&&c(!0),!w&&y&&c(!1)},[w,y]);const x=()=>{const v=!y;c(v),u==null||u(v)},d=w&&y;return a.jsxs("div",{className:`border border-zinc-800 rounded-md bg-zinc-900/40 overflow-hidden transition-opacity duration-200 ${r?"opacity-10":"opacity-100"}`,...d?{"data-jp-expanded-item":e}:{},children:[a.jsxs("div",{className:"flex items-center justify-between px-3 py-2 bg-zinc-900/60",children:[a.jsx("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:a.jsxs("button",{type:"button",onClick:x,className:"flex items-center gap-2 text-[10px] font-bold text-zinc-300 uppercase tracking-tight truncate",children:[y?a.jsx(mt,{size:12,className:"shrink-0"}):a.jsx(pt,{size:12,className:"shrink-0"}),a.jsx("span",{className:"truncate",children:m})]})}),a.jsxs("div",{className:"flex items-center gap-1 shrink-0 ml-2",children:[a.jsx("button",{type:"button",disabled:l,onClick:o,className:"text-zinc-500 hover:text-blue-400 disabled:opacity-20 p-1 transition-colors",children:a.jsx(Ln,{size:12})}),a.jsx("button",{type:"button",disabled:h,onClick:n,className:"text-zinc-500 hover:text-blue-400 disabled:opacity-20 p-1 transition-colors",children:a.jsx(On,{size:12})}),a.jsx("div",{className:"w-px h-3 bg-zinc-800 mx-1"}),a.jsx("button",{type:"button",onClick:i,className:"text-zinc-600 hover:text-red-500 transition-colors p-1",children:a.jsx(ot,{size:12})})]})]}),y&&a.jsx("div",{className:"p-4 border-t border-zinc-800 bg-black/20",children:p})]})},yr=be.forwardRef(({className:e,checked:_=!1,onCheckedChange:r,...m},u)=>{const i=()=>r==null?void 0:r(!_);return a.jsx("button",{ref:u,type:"button",role:"switch","aria-checked":_,"data-state":_?"checked":"unchecked",onClick:i,className:he("peer inline-flex h-4 w-7 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2 focus-visible:ring-offset-zinc-900","disabled:cursor-not-allowed disabled:opacity-50",_?"bg-blue-600":"bg-zinc-700",e),...m,children:a.jsx("span",{className:he("pointer-events-none block h-3 w-3 rounded-full bg-white shadow ring-0 transition-transform",_?"translate-x-3":"translate-x-0.5")})})});yr.displayName="Switch";const kr=new Set(["anchorId","paddingTop","paddingBottom","theme","container"]),_r=({selectedSection:e,pageData:_,allSectionsData:r=[],onUpdate:m,onUpdateSection:u,onClose:i,expandedItemPath:o=null,onReorderSection:n,allLayers:l=[],activeSectionId:h,onRequestScrollToSection:p,onDeleteSection:w,onAddSection:y,hasChanges:c=!1,autosaveEnabled:x=!0,onAutosaveChange:d,onExportHTML:v,onExportJSON:f,onResetToFile:k,showResetToFile:E=!1})=>{const{schemas:N}=He(),[A,L]=q.useState(!0),[I,O]=q.useState(null),[T,B]=q.useState(null),[X,j]=q.useState(null),[P,s]=q.useState(null),[R,ee]=q.useState(null),U=q.useRef(null),H=q.useRef(null),$=q.useDeferredValue(e),re=e!=null&&($==null?void 0:$.id)!==e.id,z=o&&o.length>0?o:P?[P]:null,S=z!=null&&z.length?{fieldKey:z[z.length-1].fieldKey,itemId:z[z.length-1].itemId}:null,J=q.useRef(o);q.useEffect(()=>{J.current!=null&&o==null&&s(null),J.current=o},[o]),q.useEffect(()=>{(e==null?void 0:e.id)!=null&&L(!1)},[e==null?void 0:e.id]);const K=()=>{const b=requestAnimationFrame(()=>{requestAnimationFrame(()=>{const g=U.current;g&&g.scrollTo({top:0,behavior:"smooth"})})});return()=>cancelAnimationFrame(b)},Q=q.useRef(A);q.useEffect(()=>{if(A&&!Q.current){const b=K();return Q.current=A,b}Q.current=A},[A]),q.useEffect(()=>{if(!S)return;const b=U.current;if(!b)return;const g=requestAnimationFrame(()=>{const C=b.querySelector("[data-jp-expanded-item]")??b.querySelector("[data-jp-focused-field]");C&&C.scrollIntoView({behavior:"smooth",block:"start"})});return()=>cancelAnimationFrame(g)},[S]);const fe=b=>{L(!1),p==null||p(b)},se=()=>{L(b=>{const g=!b;return g&&K(),g})},le=(b,g)=>{g.stopPropagation(),r.length>0&&u?ee(b):(L(!1),p==null||p(b))};q.useEffect(()=>{if(R==null)return;const b=g=>{g.key==="Escape"&&ee(null)};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[R]);const ce=b=>{I===b?(w==null||w(b),O(null)):(O(b),setTimeout(()=>O(null),3e3))},ge=(b,g)=>{B(g),b.dataTransfer.effectAllowed="move",b.dataTransfer.setData("application/json",JSON.stringify({sectionId:g}))},pe=(b,g)=>{b.preventDefault(),T!==g&&j(g)},_e=(b,g)=>{if(b.preventDefault(),B(null),j(null),!T||T===g||!n)return;const C=l.filter(D=>D.scope==="local"),M=C.findIndex(D=>D.id===T),G=C.findIndex(D=>D.id===g);M===-1||G===-1||n(T,G)},je=e?_.sections.find(b=>b.id===e.id):void 0,t=$?_.sections.find(b=>b.id===$.id):void 0,Z=$?N[$.type]:void 0,F=l.length>0&&(A||!e);return a.jsxs("aside",{className:"relative w-full h-full bg-zinc-950 border-l border-zinc-800 flex flex-col shadow-2xl shrink-0 min-w-0 animate-in slide-in-from-right duration-300",children:[a.jsxs("div",{className:"sticky top-0 z-10 flex flex-col shrink-0 bg-zinc-950 border-b border-zinc-800",children:[a.jsxs("div",{className:"py-2 px-3 flex justify-between items-center bg-zinc-900/50",children:[a.jsx("div",{className:"flex items-center gap-2 min-w-0",children:a.jsxs("div",{children:[a.jsx("h3",{className:"text-sm font-bold text-white leading-tight",children:"Inspector"}),a.jsx("p",{className:"text-[10px] font-mono uppercase tracking-wider flex items-center gap-1.5 leading-tight mt-0.5",children:e?a.jsxs(a.Fragment,{children:[n&&e.scope==="local"&&a.jsx("span",{className:"text-zinc-500 shrink-0",title:"Reorder section on page",children:a.jsx(bt,{size:12,strokeWidth:2})}),a.jsx("span",{className:"text-blue-400",children:e.type}),a.jsx("span",{className:"text-zinc-600",children:"|"}),a.jsx("span",{className:"text-zinc-500",children:e.scope})]}):a.jsx("span",{className:"text-zinc-500",children:"Waiting for Selection..."})})]})}),a.jsxs("div",{className:"flex items-center gap-1 shrink-0",children:[y!=null&&a.jsxs("button",{type:"button",onClick:y,className:"flex items-center gap-1.5 text-zinc-500 hover:text-white transition-colors p-1 hover:bg-zinc-800 rounded",title:"Add section","aria-label":"Add section",children:[a.jsx(sr,{size:16}),a.jsx("span",{className:"text-xs font-medium",children:"Add section"})]}),a.jsx("button",{type:"button",onClick:i,className:"p-1 rounded text-zinc-500 hover:text-white hover:bg-zinc-800 transition-colors",title:"Close Inspector","aria-label":"Close Inspector",children:a.jsx(Me,{size:16})})]})]}),l.length>0&&a.jsxs("div",{className:"bg-zinc-900/20 opacity-100",children:[a.jsxs("button",{type:"button",onClick:se,className:"w-full flex items-center justify-between py-3 px-4 hover:bg-zinc-800/30 transition-colors cursor-pointer text-left rounded-none border-0 bg-transparent","aria-expanded":F,"aria-label":F?"Collapse Page Layers":"Expand Page Layers",children:[a.jsxs("span",{className:"flex items-center gap-2 min-w-0",children:[a.jsx(gt,{size:14,className:"text-primary shrink-0"}),a.jsx("span",{className:"text-xs font-bold text-white",children:"Page Layers"}),a.jsxs("span",{className:"text-[10px] text-zinc-500",children:["(",l.length,")"]})]}),a.jsx("span",{className:"text-zinc-500 shrink-0 pointer-events-none","aria-hidden":!0,children:F?a.jsx(mt,{size:14}):a.jsx(pt,{size:14})})]}),!F&&e&&(()=>{const b=l.find(C=>C.id===e.id);if(!b)return null;const g=h===e.id;return a.jsxs("div",{className:"px-3 py-2 flex items-center gap-2 bg-primary/10 border-t border-zinc-800/50",children:[a.jsx(bt,{size:12,className:"text-primary shrink-0"}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsxs("p",{className:"text-[10px] font-mono uppercase tracking-wider text-primary truncate flex items-center gap-1",children:[b.type,g&&a.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-emerald-500 shrink-0","aria-hidden":!0})]}),a.jsx("p",{className:"text-xs text-white font-medium truncate",children:b.title??`${b.type} section`})]}),a.jsx("button",{type:"button",onClick:C=>le(b.id,C),className:"p-1 rounded shrink-0 text-zinc-500 hover:text-primary transition-colors",title:`Open settings for ${b.type}`,"aria-label":`Open settings for ${b.type} section`,children:a.jsx(lr,{size:12})})]})})()]})]}),a.jsxs("div",{ref:U,className:"flex-1 min-h-0 overflow-y-auto flex flex-col custom-scrollbar",children:[F&&a.jsxs("div",{className:"border-b border-zinc-800 bg-zinc-900/20 px-3 pb-3 pt-1",children:[l.map(b=>{const g=(e==null?void 0:e.id)===b.id,C=h===b.id,M=T===b.id,G=X===b.id,D=b.scope==="local"&&w,oe=b.scope==="local"&&!!n;return a.jsxs("div",{draggable:oe,onDragStart:V=>oe&&ge(V,b.id),onDragOver:V=>oe&&pe(V,b.id),onDragLeave:()=>j(null),onDrop:V=>oe&&_e(V,b.id),onDragEnd:()=>{B(null),j(null)},className:he("flex items-center gap-2 py-2.5 px-2 rounded-sm border-t transition-colors",G&&"border-t-2 border-dashed border-primary bg-primary/5",!G&&g&&"border-primary/30 bg-primary/10",!G&&!g&&"border-zinc-800/90 hover:bg-zinc-800/40",M&&"opacity-40",oe?"cursor-grab active:cursor-grabbing":"cursor-default"),children:[a.jsx(bt,{size:12,className:`shrink-0 ${g?"text-primary":"text-zinc-500"}`}),a.jsxs("button",{type:"button",onClick:()=>fe(b.id),className:"flex-1 min-w-0 text-left",children:[a.jsxs("p",{className:"text-[10px] font-mono uppercase tracking-wider text-zinc-400 truncate flex items-center gap-1",children:[b.type,C&&a.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-emerald-500 shrink-0","aria-hidden":!0})]}),a.jsx("p",{className:`text-xs truncate ${g?"text-white font-medium":"text-zinc-500"}`,children:b.title??`${b.type} section`})]}),a.jsx("button",{type:"button",onClick:V=>le(b.id,V),className:"p-1 rounded shrink-0 text-zinc-500 hover:text-primary transition-colors",title:`Open settings for ${b.type}`,"aria-label":`Open settings for ${b.type} section`,children:a.jsx(lr,{size:12})}),D&&a.jsx("button",{type:"button",onClick:V=>{V.stopPropagation(),ce(b.id)},className:`p-1 rounded shrink-0 ${I===b.id?"bg-red-500/20 text-red-400":"text-zinc-500 hover:text-red-400"}`,title:"Delete section",children:a.jsx(ot,{size:12})})]},b.id)}),I&&a.jsxs("div",{className:"flex items-center gap-2 py-2 px-3 mt-1 rounded-md bg-amber-500/10 border border-amber-500/30",children:[a.jsx(Rn,{size:12,className:"text-amber-500 shrink-0"}),a.jsx("p",{className:"text-[10px] text-amber-500 font-medium",children:"Click delete again to confirm"})]})]}),S&&je&&(()=>{const b=je.data||{};let g;if(z&&z.length>0){let C=b;for(const D of z){const Y=C==null?void 0:C[D.fieldKey];D.itemId!=null&&Array.isArray(Y)?C=Y.find(V=>String(V==null?void 0:V.id)===String(D.itemId))??null:C=Y}const M=C||{},G=S.fieldKey;g=(typeof M.name=="string"?M.name:null)??(typeof M.title=="string"?M.title:null)??(typeof M.label=="string"?M.label:null)??G.charAt(0).toUpperCase()+G.slice(1).replace(/([A-Z])/g," $1").trim()}else{const C=S.fieldKey;if(S.itemId!=null){const D=(Array.isArray(b[C])?b[C]:[]).find(Y=>String(Y==null?void 0:Y.id)===String(S.itemId))||{};g=(typeof D.name=="string"?D.name:null)??(typeof D.title=="string"?D.title:null)??(typeof D.label=="string"?D.label:null)??C}else g=C.charAt(0).toUpperCase()+C.slice(1).replace(/([A-Z])/g," $1").trim()}return a.jsxs("div",{className:"px-4 py-2 border-b border-zinc-800 bg-zinc-900/50",children:[a.jsx("p",{className:"text-[10px] font-bold uppercase tracking-widest text-zinc-500",children:"Editing"}),a.jsx("p",{className:"text-xs font-medium text-white truncate mt-0.5",children:g})]})})(),a.jsx("div",{className:"flex-1 p-4",onFocusCapture:()=>e!=null&&L(!1),children:e?re?a.jsxs("div",{className:"space-y-4 animate-pulse",role:"status","aria-label":"Loading form",children:[a.jsx("div",{className:"h-4 w-3/4 rounded bg-zinc-800"}),a.jsx("div",{className:"h-10 rounded bg-zinc-800/80"}),a.jsx("div",{className:"h-10 rounded bg-zinc-800/80"}),a.jsx("div",{className:"h-20 rounded bg-zinc-800/80"}),a.jsx("div",{className:"h-10 rounded bg-zinc-800/60"})]}):Z?(()=>{const g=Object.keys(Z.shape).filter(Y=>!kr.has(Y)),C=(t==null?void 0:t.data)||{};if(g.length===0)return a.jsx("p",{className:"text-xs text-zinc-500",children:"No content fields in schema."});const M=z==null?void 0:z[0],G=(M==null?void 0:M.itemId)!=null?{[M.fieldKey]:M.itemId}:(S==null?void 0:S.itemId)!=null?{[S.fieldKey]:S.itemId}:void 0,D=(M==null?void 0:M.fieldKey)??(S==null?void 0:S.fieldKey)??null;return a.jsx(Ve,{schema:Z,data:C,onChange:Y=>m(Y),keys:g,expandedItemPath:z,expandedItemIdByField:G,focusedFieldKey:D,onSidebarExpandedItemChange:s})})():a.jsxs("div",{className:"text-xs text-red-400 p-4 border border-dashed border-red-900/30 rounded bg-red-900/10",children:["No schema found for ",($==null?void 0:$.type)??e.type]}):a.jsx("p",{className:"text-xs text-zinc-500 text-center py-8",children:"Select a layer above or on the stage to edit."})})]}),a.jsx("div",{className:"px-4 py-2.5 border-t border-zinc-800 bg-zinc-900/50 flex items-center gap-3 opacity-100 flex-wrap",children:(d!=null||v!=null||f!=null||k!=null)&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:he("w-2 h-2 rounded-full transition-colors duration-300 shrink-0",c?"bg-amber-500 shadow-[0_0_8px_rgba(245,158,11,0.5)]":"bg-emerald-500")}),a.jsx("span",{className:he("text-xs font-medium transition-colors duration-300 shrink-0",c?"text-amber-500":"text-zinc-500"),children:c?"Unsaved Changes":"All Changes Saved"}),d!=null&&a.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[a.jsx(yr,{id:"autosave-toggle",checked:x,onCheckedChange:d,className:"shrink-0"}),a.jsx(Oe,{htmlFor:"autosave-toggle",className:"text-[11px] font-medium text-zinc-400 cursor-pointer",children:"Autosave"})]}),v!=null&&a.jsxs("button",{type:"button",onClick:v,className:"shrink-0 flex items-center gap-1.5 px-2 py-1 rounded text-[11px] font-medium transition-all border border-zinc-700 bg-zinc-900 text-zinc-200 hover:bg-zinc-800 hover:border-zinc-600",children:[a.jsx(or,{size:12,className:"shrink-0"}),a.jsx("span",{children:"HTML"})]}),f!=null&&a.jsxs("button",{type:"button",onClick:f,disabled:!c,className:he("shrink-0 flex items-center gap-1.5 px-2 py-1 rounded text-[11px] font-medium transition-all",c?"bg-blue-600 text-white hover:bg-blue-500 shadow-blue-900/20":"bg-zinc-900 text-zinc-600 cursor-not-allowed"),children:[a.jsx(ir,{size:12,className:"shrink-0"}),a.jsx("span",{children:"JSON"})]}),k!=null&&E&&a.jsx("button",{type:"button",onClick:k,className:"shrink-0 flex items-center gap-1.5 px-2 py-1 rounded text-[11px] font-medium transition-all border border-zinc-700 bg-zinc-900 text-zinc-400 hover:bg-zinc-800 hover:border-zinc-600 hover:text-zinc-300",title:"Ripristina la pagina dal file (elimina le modifiche in memoria)",children:a.jsx("span",{children:"Ripristina da file"})})]})}),R!=null&&r.length>0&&u!=null&&(()=>{const b=r.find(V=>V.id===R),g=l.find(V=>V.id===R);if(!b)return null;const C=(g==null?void 0:g.scope)==="global"?"global":"local",M=b.type,G=N[M],Y=(G?Object.keys(G.shape):[]).filter(V=>kr.has(V)),oe=b.data??{};return Y.length===0?a.jsx("div",{className:"fixed inset-0 z-[100] flex items-center justify-center bg-black/60 p-4",role:"dialog","aria-modal":"true","aria-labelledby":"section-settings-modal-title",onClick:()=>ee(null),children:a.jsxs("div",{ref:H,className:"relative rounded-lg border border-zinc-700 bg-zinc-900 shadow-xl max-w-md w-full overflow-hidden",onClick:V=>V.stopPropagation(),children:[a.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-zinc-800",children:[a.jsxs("h2",{id:"section-settings-modal-title",className:"text-sm font-bold text-white",children:["Settings — ",M]}),a.jsx("button",{type:"button",onClick:()=>ee(null),className:"p-1.5 rounded text-zinc-500 hover:text-white hover:bg-zinc-800 transition-colors","aria-label":"Close settings",children:a.jsx(Me,{size:18})})]}),a.jsx("div",{className:"p-4",children:a.jsx("p",{className:"text-xs text-zinc-500",children:"No settings fields for this section."})})]})}):a.jsx("div",{className:"fixed inset-0 z-[100] flex items-center justify-center bg-black/60 p-4",role:"dialog","aria-modal":"true","aria-labelledby":"section-settings-modal-title",onClick:V=>V.target===V.currentTarget&&ee(null),children:a.jsxs("div",{ref:H,className:"relative rounded-lg border border-zinc-700 bg-zinc-900 shadow-xl max-w-md w-full max-h-[85vh] flex flex-col overflow-hidden",onClick:V=>V.stopPropagation(),children:[a.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-zinc-800 shrink-0",children:[a.jsxs("h2",{id:"section-settings-modal-title",className:"text-sm font-bold text-white",children:["Settings — ",M]}),a.jsx("button",{type:"button",onClick:()=>ee(null),className:"p-1.5 rounded text-zinc-500 hover:text-white hover:bg-zinc-800 transition-colors","aria-label":"Close settings (Escape)",children:a.jsx(Me,{size:18})})]}),a.jsx("div",{className:"flex-1 overflow-y-auto p-4 custom-scrollbar",children:a.jsx(Ve,{schema:G,data:oe,onChange:V=>{const W={...b.data,...V};u(R,C,M,W)},keys:Y})})]})})})()]})},zr=({draft:e,globalDraft:_,themeConfig:r,slug:m,selectedId:u,scrollToSectionId:i,onScrollRequested:o})=>{const n=q.useRef(null),l=q.useCallback(()=>{var h;(h=n.current)!=null&&h.contentWindow&&n.current.contentWindow.postMessage({type:we.UPDATE_DRAFTS,draft:e,globalDraft:_,themeConfig:r},"*")},[e,_,r]);return q.useEffect(()=>{l()},[l]),q.useEffect(()=>{const h=p=>{p.data.type===we.STAGE_READY&&l()};return window.addEventListener("message",h),()=>window.removeEventListener("message",h)},[l]),q.useEffect(()=>{var h;(h=n.current)!=null&&h.contentWindow&&n.current.contentWindow.postMessage({type:we.SYNC_SELECTION,selectedId:u},"*")},[u]),q.useEffect(()=>{var h;!i||!((h=n.current)!=null&&h.contentWindow)||(n.current.contentWindow.postMessage({type:we.REQUEST_SCROLL_TO_SECTION,sectionId:i},"*"),o==null||o())},[i,o]),a.jsx("div",{className:"w-full h-full bg-background overflow-hidden",children:a.jsx("iframe",{ref:n,src:`/admin/preview/${m}`,className:"w-full h-full border-none",title:"JsonPages Stage"})})},st={setTheme:e=>{const _=document.documentElement,{tokens:r}=e,m={"--theme-primary":r.colors.primary,"--theme-secondary":r.colors.secondary,"--theme-accent":r.colors.accent,"--theme-background":r.colors.background,"--theme-surface":r.colors.surface,"--theme-surface-alt":r.colors.surfaceAlt,"--theme-text":r.colors.text,"--theme-text-muted":r.colors.textMuted,"--theme-border":r.colors.border,"--theme-font-primary":r.typography.fontFamily.primary,"--theme-font-mono":r.typography.fontFamily.mono,"--theme-radius-sm":r.borderRadius.sm,"--theme-radius-md":r.borderRadius.md,"--theme-radius-lg":r.borderRadius.lg};Object.entries(m).forEach(([u,i])=>{_.style.setProperty(u,i)})}},jr=()=>{var c;const[e,_]=q.useState(null),[r,m]=q.useState(null),[u,i]=q.useState(null),[o,n]=q.useState(null),[l,h]=q.useState(!1);if(q.useEffect(()=>{const x=d=>{d.data.type===we.UPDATE_DRAFTS&&(_(d.data.draft),m(d.data.globalDraft),d.data.themeConfig&&st.setTheme(d.data.themeConfig)),d.data.type===we.SYNC_SELECTION&&i(d.data.selectedId),d.data.type===we.REQUEST_SCROLL_TO_SECTION&&n(d.data.sectionId??null),d.data.type===we.REQUEST_CLEAN_HTML&&(h(!0),setTimeout(()=>{const v=document.documentElement.outerHTML;window.parent.postMessage({type:we.SEND_CLEAN_HTML,html:v},"*"),h(!1)},50))};return window.addEventListener("message",x),window.parent.postMessage({type:we.STAGE_READY},"*"),()=>window.removeEventListener("message",x)},[]),q.useEffect(()=>{const x=d=>{var j,P,s,R,ee,U,H,$;const v=d.target,f=d.clientX,k=d.clientY;let E=null,N=v;for(;N&&N!==document.body;){const re=(j=N.getAttribute)==null?void 0:j.call(N,"data-section-id"),z=(P=N.getAttribute)==null?void 0:P.call(N,"data-section-type"),S=(s=N.getAttribute)==null?void 0:s.call(N,"data-section-scope");if(re&&z&&S){E=N;break}N=N.parentElement}if(!E)return;d.preventDefault(),d.stopPropagation();const A=E.getAttribute("data-section-id"),L=E.getAttribute("data-section-type"),I=E.getAttribute("data-section-scope");if(!A||!L||!I)return;const O={id:A,type:L,scope:I};if(v===E){window.parent.postMessage({type:we.SECTION_SELECT,section:O},"*");return}const T=document.elementFromPoint(f,k)??v;if(!T||!E.contains(T)){window.parent.postMessage({type:we.SECTION_SELECT,section:O},"*");return}if(T===E){window.parent.postMessage({type:we.SECTION_SELECT,section:O},"*");return}const B=[];for(N=T;N&&N!==E;){const re=(R=N.getAttribute)==null?void 0:R.call(N,"data-jp-item-id"),z=(ee=N.getAttribute)==null?void 0:ee.call(N,"data-jp-item-field");re&&z&&B.push({fieldKey:z||"items",itemId:re}),N=N.parentElement}if(B.reverse(),B.length===0)for(N=T;N&&N!==E;){const re=(U=N.getAttribute)==null?void 0:U.call(N,"data-jp-field");if(re){B.push({fieldKey:re});break}N=N.parentElement}if(B.length===0&&T){let re=null;const z=S=>{var K,Q;const J=S.getBoundingClientRect();if(J.left<=f&&f<=J.right&&J.top<=k&&k<=J.bottom){for(let fe=0;fe<S.children.length;fe++)z(S.children[fe]);((K=S.getAttribute)!=null&&K.call(S,"data-jp-item-id")||(Q=S.getAttribute)!=null&&Q.call(S,"data-jp-field"))&&(re=S)}};if(z(T),re){const S=re,J=(H=S.getAttribute)==null?void 0:H.call(S,"data-jp-item-id"),K=($=S.getAttribute)==null?void 0:$.call(S,"data-jp-field");J&&K?B.push({fieldKey:K||"items",itemId:J}):K&&B.push({fieldKey:K})}}const X={type:we.SECTION_SELECT,section:O};if(B.length>0){X.itemPath=B;const re=B[0];re.itemId!=null?(X.itemField=re.fieldKey,X.itemId=re.itemId):X.itemField=re.fieldKey}window.parent.postMessage(X,"*")};return document.addEventListener("click",x,!0),()=>document.removeEventListener("click",x,!0)},[]),q.useEffect(()=>{if(!o)return;const x=setTimeout(()=>n(null),600);return()=>clearTimeout(x)},[o]),!e||!r)return a.jsx("div",{className:"flex items-center justify-center h-screen w-full bg-zinc-950 text-zinc-500 font-mono text-xs uppercase tracking-widest animate-pulse",children:"Waiting for Studio Signal..."});const p=(c=r.header)==null?void 0:c.data,w={main:(p==null?void 0:p.links)??[]},y=x=>{window.parent.postMessage({type:we.ACTIVE_SECTION_CHANGED,activeSectionId:x},"*")};return a.jsx(rt,{mode:l?"visitor":"studio",children:a.jsx("div",{className:l?"":"jp-ice-active",children:a.jsx(vt,{pageConfig:e,siteConfig:r,menuConfig:w,selectedId:l?null:u,scrollToSectionId:o,onActiveSectionChange:y})})})};function fo(e){return e.split("-").map(_=>_.charAt(0).toUpperCase()+_.slice(1).toLowerCase()).join(" ")}const Er=({open:e,onClose:_,sectionTypes:r,sectionTypeLabels:m,onSelect:u})=>{if(q.useEffect(()=>{if(!e)return;const o=n=>{n.key==="Escape"&&_()};return window.addEventListener("keydown",o),()=>window.removeEventListener("keydown",o)},[e,_]),!e)return null;const i=o=>(m==null?void 0:m[o])??fo(o);return a.jsxs("div",{className:"fixed inset-0 z-[100] flex items-center justify-center p-4",role:"dialog","aria-modal":"true","aria-labelledby":"jp-add-section-title",children:[a.jsx("div",{className:"absolute inset-0 bg-zinc-950/80 backdrop-blur-sm",onClick:_,"aria-hidden":"true"}),a.jsxs("div",{className:"relative w-full max-w-md max-h-[85vh] flex flex-col rounded-xl border border-zinc-700 bg-zinc-900 shadow-2xl overflow-hidden",children:[a.jsxs("div",{className:"flex items-center justify-between px-5 py-4 border-b border-zinc-800 shrink-0",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("div",{className:"p-1.5 rounded-lg bg-blue-500/20 text-blue-400",children:a.jsx(gt,{size:18})}),a.jsx("h2",{id:"jp-add-section-title",className:"text-sm font-bold text-white",children:"Add section"})]}),a.jsx("button",{type:"button",onClick:_,className:"p-1.5 rounded-md text-zinc-400 hover:text-white hover:bg-zinc-800 transition-colors","aria-label":"Close",children:a.jsx(Me,{size:18})})]}),a.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:r.length===0?a.jsx("p",{className:"text-xs text-zinc-500 text-center py-8",children:"No section types available. Configure addableSectionTypes or schemas."}):a.jsx("ul",{className:"grid gap-2",role:"listbox",children:r.map(o=>a.jsx("li",{role:"option",children:a.jsxs("button",{type:"button",onClick:()=>{u(o),_()},className:he("w-full flex items-center gap-3 px-4 py-3 rounded-lg text-left","border border-zinc-700/80 bg-zinc-800/50","hover:border-blue-500/40 hover:bg-zinc-800 transition-colors","focus:outline-none focus:ring-2 focus:ring-blue-500/50 focus:ring-offset-2 focus:ring-offset-zinc-900"),children:[a.jsx("span",{className:"flex items-center justify-center w-9 h-9 rounded-md bg-zinc-700/80 text-zinc-400 text-xs font-mono shrink-0",children:o}),a.jsx("span",{className:"text-sm font-medium text-zinc-200",children:i(o)})]})},o))})}),a.jsx("div",{className:"px-5 py-3 border-t border-zinc-800 shrink-0",children:a.jsx("p",{className:"text-[10px] text-zinc-500 uppercase tracking-wider",children:"Choose a section type to add to the bottom of this page"})})]})]})},Sr=()=>a.jsxs("div",{style:{"--local-bg":"var(--color-background)","--local-text":"var(--color-text)","--local-text-muted":"var(--color-text-muted)","--local-primary":"var(--color-primary)","--local-radius-md":"var(--radius-md)"},className:"min-h-screen flex flex-col items-center justify-center bg-[var(--local-bg)] px-6",children:[a.jsx("h1",{className:"text-6xl font-bold text-[var(--local-text)] mb-4",children:"404"}),a.jsx("p",{className:"text-xl text-[var(--local-text-muted)] mb-8",children:"Page not found"}),a.jsx("a",{href:"/",className:"inline-flex items-center gap-2 px-6 py-3 rounded-[var(--local-radius-md)] bg-[var(--local-primary)] text-[var(--local-bg)] font-semibold text-sm hover:opacity-90 transition-opacity",children:"Back to Home"})]}),po='/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-900:oklch(39.6% .141 25.723);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-500:oklch(76.9% .188 70.08);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-900:oklch(37.9% .146 265.522);--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-300:oklch(87.1% .006 286.286);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-600:oklch(44.2% .017 285.786);--color-zinc-700:oklch(37% .013 285.805);--color-zinc-800:oklch(27.4% .006 286.033);--color-zinc-900:oklch(21% .006 285.885);--color-zinc-950:oklch(14.1% .005 285.823);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--tracking-tight:-.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-background:var(--background);--color-foreground:var(--foreground);--color-primary:var(--primary)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border)}body{background-color:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.bottom-0{bottom:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.left-1\\/2{left:50%}.left-3{left:calc(var(--spacing)*3)}.z-0{z-index:0}.z-10{z-index:10}.z-50,.z-\\[50\\]{z-index:50}.z-\\[60\\]{z-index:60}.z-\\[70\\]{z-index:70}.z-\\[100\\]{z-index:100}.z-\\[9998\\]{z-index:9998}.z-\\[9999\\]{z-index:9999}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-4{margin:calc(var(--spacing)*4)}.mx-1{margin-inline:calc(var(--spacing)*1)}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\\.5{margin-top:calc(var(--spacing)*1.5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.ml-2{margin-left:calc(var(--spacing)*2)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.aspect-\\[4\\/3\\]{aspect-ratio:4/3}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.h-1\\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-14{height:calc(var(--spacing)*14)}.h-20{height:calc(var(--spacing)*20)}.h-40{height:calc(var(--spacing)*40)}.h-full{height:100%}.h-screen{height:100vh}.max-h-\\[45vh\\]{max-height:45vh}.max-h-\\[85vh\\]{max-height:85vh}.max-h-\\[90vh\\]{max-height:90vh}.max-h-\\[320px\\]{max-height:320px}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-16{min-height:calc(var(--spacing)*16)}.min-h-\\[18px\\]{min-height:18px}.min-h-\\[80px\\]{min-height:80px}.min-h-\\[240px\\]{min-height:240px}.min-h-screen{min-height:100vh}.w-1{width:calc(var(--spacing)*1)}.w-1\\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.w-3\\/4{width:75%}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-\\[calc\\(100\\%-2rem\\)\\]{width:calc(100% - 2rem)}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.max-w-2xl{max-width:var(--container-2xl)}.max-w-\\[280px\\]{max-width:280px}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\\[18px\\]{min-width:18px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-0\\.5{--tw-translate-x:calc(var(--spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-3{--tw-translate-x:calc(var(--spacing)*3);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.animate-pulse{animation:var(--animate-pulse)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:calc(var(--spacing)*0)}.gap-0\\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\\[var\\(--local-radius-md\\)\\]{border-radius:var(--local-radius-md)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.border-amber-500\\/20{border-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.border-amber-500\\/20{border-color:color-mix(in oklab,var(--color-amber-500)20%,transparent)}}.border-amber-500\\/30{border-color:#f99c004d}@supports (color:color-mix(in lab,red,red)){.border-amber-500\\/30{border-color:color-mix(in oklab,var(--color-amber-500)30%,transparent)}}.border-blue-500{border-color:var(--color-blue-500)}.border-blue-500\\/50{border-color:#3080ff80}@supports (color:color-mix(in lab,red,red)){.border-blue-500\\/50{border-color:color-mix(in oklab,var(--color-blue-500)50%,transparent)}}.border-blue-600{border-color:var(--color-blue-600)}.border-primary,.border-primary\\/30{border-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\\/30{border-color:color-mix(in oklab,var(--color-primary)30%,transparent)}}.border-red-500\\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.border-red-500\\/20{border-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.border-red-500\\/50{border-color:#fb2c3680}@supports (color:color-mix(in lab,red,red)){.border-red-500\\/50{border-color:color-mix(in oklab,var(--color-red-500)50%,transparent)}}.border-red-900\\/30{border-color:#82181a4d}@supports (color:color-mix(in lab,red,red)){.border-red-900\\/30{border-color:color-mix(in oklab,var(--color-red-900)30%,transparent)}}.border-transparent{border-color:#0000}.border-zinc-700{border-color:var(--color-zinc-700)}.border-zinc-700\\/80{border-color:#3f3f46cc}@supports (color:color-mix(in lab,red,red)){.border-zinc-700\\/80{border-color:color-mix(in oklab,var(--color-zinc-700)80%,transparent)}}.border-zinc-800{border-color:var(--color-zinc-800)}.border-zinc-800\\/50{border-color:#27272a80}@supports (color:color-mix(in lab,red,red)){.border-zinc-800\\/50{border-color:color-mix(in oklab,var(--color-zinc-800)50%,transparent)}}.border-zinc-800\\/90{border-color:#27272ae6}@supports (color:color-mix(in lab,red,red)){.border-zinc-800\\/90{border-color:color-mix(in oklab,var(--color-zinc-800)90%,transparent)}}.bg-\\[var\\(--color-background\\)\\]{background-color:var(--color-background)}.bg-\\[var\\(--local-bg\\)\\]{background-color:var(--local-bg)}.bg-\\[var\\(--local-primary\\)\\]{background-color:var(--local-primary)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\\/5{background-color:#f99c000d}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\\/5{background-color:color-mix(in oklab,var(--color-amber-500)5%,transparent)}}.bg-amber-500\\/10{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\\/10{background-color:color-mix(in oklab,var(--color-amber-500)10%,transparent)}}.bg-background{background-color:var(--color-background)}.bg-black\\/0{background-color:#0000}@supports (color:color-mix(in lab,red,red)){.bg-black\\/0{background-color:color-mix(in oklab,var(--color-black)0%,transparent)}}.bg-black\\/20{background-color:#0003}@supports (color:color-mix(in lab,red,red)){.bg-black\\/20{background-color:color-mix(in oklab,var(--color-black)20%,transparent)}}.bg-black\\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\\/30{background-color:color-mix(in oklab,var(--color-black)30%,transparent)}}.bg-black\\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-black\\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\\/60{background-color:color-mix(in oklab,var(--color-black)60%,transparent)}}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\\/5{background-color:#3080ff0d}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\\/5{background-color:color-mix(in oklab,var(--color-blue-500)5%,transparent)}}.bg-blue-500\\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\\/10{background-color:color-mix(in oklab,var(--color-blue-500)10%,transparent)}}.bg-blue-500\\/15{background-color:#3080ff26}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\\/15{background-color:color-mix(in oklab,var(--color-blue-500)15%,transparent)}}.bg-blue-500\\/20{background-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\\/20{background-color:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.bg-blue-500\\/\\[0\\.04\\]{background-color:#3080ff0a}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\\/\\[0\\.04\\]{background-color:color-mix(in oklab,var(--color-blue-500)4%,transparent)}}.bg-blue-600{background-color:var(--color-blue-600)}.bg-blue-600\\/10{background-color:#155dfc1a}@supports (color:color-mix(in lab,red,red)){.bg-blue-600\\/10{background-color:color-mix(in oklab,var(--color-blue-600)10%,transparent)}}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-primary\\/5{background-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\\/5{background-color:color-mix(in oklab,var(--color-primary)5%,transparent)}}.bg-primary\\/10{background-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\\/10{background-color:color-mix(in oklab,var(--color-primary)10%,transparent)}}.bg-red-500\\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\\/10{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.bg-red-500\\/15{background-color:#fb2c3626}@supports (color:color-mix(in lab,red,red)){.bg-red-500\\/15{background-color:color-mix(in oklab,var(--color-red-500)15%,transparent)}}.bg-red-500\\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\\/20{background-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.bg-red-900\\/10{background-color:#82181a1a}@supports (color:color-mix(in lab,red,red)){.bg-red-900\\/10{background-color:color-mix(in oklab,var(--color-red-900)10%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\\/15{background-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.bg-white\\/15{background-color:color-mix(in oklab,var(--color-white)15%,transparent)}}.bg-white\\/20{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.bg-white\\/20{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.bg-white\\/\\[0\\.01\\]{background-color:#ffffff03}@supports (color:color-mix(in lab,red,red)){.bg-white\\/\\[0\\.01\\]{background-color:color-mix(in oklab,var(--color-white)1%,transparent)}}.bg-white\\/\\[0\\.02\\]{background-color:#ffffff05}@supports (color:color-mix(in lab,red,red)){.bg-white\\/\\[0\\.02\\]{background-color:color-mix(in oklab,var(--color-white)2%,transparent)}}.bg-white\\/\\[0\\.03\\]{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.bg-white\\/\\[0\\.03\\]{background-color:color-mix(in oklab,var(--color-white)3%,transparent)}}.bg-zinc-700{background-color:var(--color-zinc-700)}.bg-zinc-700\\/80{background-color:#3f3f46cc}@supports (color:color-mix(in lab,red,red)){.bg-zinc-700\\/80{background-color:color-mix(in oklab,var(--color-zinc-700)80%,transparent)}}.bg-zinc-800{background-color:var(--color-zinc-800)}.bg-zinc-800\\/50{background-color:#27272a80}@supports (color:color-mix(in lab,red,red)){.bg-zinc-800\\/50{background-color:color-mix(in oklab,var(--color-zinc-800)50%,transparent)}}.bg-zinc-800\\/60{background-color:#27272a99}@supports (color:color-mix(in lab,red,red)){.bg-zinc-800\\/60{background-color:color-mix(in oklab,var(--color-zinc-800)60%,transparent)}}.bg-zinc-800\\/80{background-color:#27272acc}@supports (color:color-mix(in lab,red,red)){.bg-zinc-800\\/80{background-color:color-mix(in oklab,var(--color-zinc-800)80%,transparent)}}.bg-zinc-900{background-color:var(--color-zinc-900)}.bg-zinc-900\\/20{background-color:#18181b33}@supports (color:color-mix(in lab,red,red)){.bg-zinc-900\\/20{background-color:color-mix(in oklab,var(--color-zinc-900)20%,transparent)}}.bg-zinc-900\\/40{background-color:#18181b66}@supports (color:color-mix(in lab,red,red)){.bg-zinc-900\\/40{background-color:color-mix(in oklab,var(--color-zinc-900)40%,transparent)}}.bg-zinc-900\\/50{background-color:#18181b80}@supports (color:color-mix(in lab,red,red)){.bg-zinc-900\\/50{background-color:color-mix(in oklab,var(--color-zinc-900)50%,transparent)}}.bg-zinc-900\\/60{background-color:#18181b99}@supports (color:color-mix(in lab,red,red)){.bg-zinc-900\\/60{background-color:color-mix(in oklab,var(--color-zinc-900)60%,transparent)}}.bg-zinc-950{background-color:var(--color-zinc-950)}.bg-zinc-950\\/80{background-color:#09090bcc}@supports (color:color-mix(in lab,red,red)){.bg-zinc-950\\/80{background-color:color-mix(in oklab,var(--color-zinc-950)80%,transparent)}}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-black\\/70{--tw-gradient-from:#000000b3}@supports (color:color-mix(in lab,red,red)){.from-black\\/70{--tw-gradient-from:color-mix(in oklab,var(--color-black)70%,transparent)}}.from-black\\/70{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-black\\/80{--tw-gradient-from:#000c}@supports (color:color-mix(in lab,red,red)){.from-black\\/80{--tw-gradient-from:color-mix(in oklab,var(--color-black)80%,transparent)}}.from-black\\/80{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.bg-\\[length\\:12px\\]{background-size:12px}.bg-\\[right_0\\.25rem_center\\]{background-position:right .25rem center}.bg-no-repeat{background-repeat:no-repeat}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-1\\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-3\\.5{padding-inline:calc(var(--spacing)*3.5)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-7{padding-block:calc(var(--spacing)*7)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-4{padding-top:calc(var(--spacing)*4)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-6{padding-right:calc(var(--spacing)*6)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-9{padding-left:calc(var(--spacing)*9)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[9px\\]{font-size:9px}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\\[0\\.2em\\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\\[0\\.05em\\]{--tw-tracking:.05em;letter-spacing:.05em}.tracking-\\[0\\.08em\\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-\\[var\\(--local-bg\\)\\]{color:var(--local-bg)}.text-\\[var\\(--local-text\\)\\]{color:var(--local-text)}.text-\\[var\\(--local-text-muted\\)\\]{color:var(--local-text-muted)}.text-amber-200{color:var(--color-amber-200)}.text-amber-500{color:var(--color-amber-500)}.text-amber-500\\/70{color:#f99c00b3}@supports (color:color-mix(in lab,red,red)){.text-amber-500\\/70{color:color-mix(in oklab,var(--color-amber-500)70%,transparent)}}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-emerald-400{color:var(--color-emerald-400)}.text-foreground{color:var(--color-foreground)}.text-primary{color:var(--color-primary)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-white{color:var(--color-white)}.text-zinc-100{color:var(--color-zinc-100)}.text-zinc-200{color:var(--color-zinc-200)}.text-zinc-300{color:var(--color-zinc-300)}.text-zinc-400{color:var(--color-zinc-400)}.text-zinc-500{color:var(--color-zinc-500)}.text-zinc-600{color:var(--color-zinc-600)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-20{opacity:.2}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_0_8px_rgba\\(245\\,158\\,11\\,0\\.5\\)\\]{--tw-shadow:0 0 8px var(--tw-shadow-color,#f59e0b80);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-blue-900\\/20{--tw-shadow-color:#1c398e33}@supports (color:color-mix(in lab,red,red)){.shadow-blue-900\\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-blue-900)20%,transparent)var(--tw-shadow-alpha),transparent)}}.ring-blue-500{--tw-ring-color:var(--color-blue-500)}.ring-blue-500\\/40{--tw-ring-color:#3080ff66}@supports (color:color-mix(in lab,red,red)){.ring-blue-500\\/40{--tw-ring-color:color-mix(in oklab,var(--color-blue-500)40%,transparent)}}.ring-zinc-800{--tw-ring-color:var(--color-zinc-800)}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.ring-offset-zinc-900{--tw-ring-offset-color:var(--color-zinc-900)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.brightness-\\[0\\.6\\]{--tw-brightness:brightness(.6);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.brightness-\\[0\\.85\\]{--tw-brightness:brightness(.85);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition-\\[border-color\\,opacity\\]{transition-property:border-color,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[filter\\]{transition-property:filter;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\\:border-dashed:is(:where(.group):hover *){--tw-border-style:dashed;border-style:dashed}.group-hover\\:border-blue-400\\/50:is(:where(.group):hover *){border-color:#54a2ff80}@supports (color:color-mix(in lab,red,red)){.group-hover\\:border-blue-400\\/50:is(:where(.group):hover *){border-color:color-mix(in oklab,var(--color-blue-400)50%,transparent)}}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\\:brightness-100:is(:where(.group):hover *){--tw-brightness:brightness(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.hover\\:scale-\\[1\\.02\\]:hover{scale:1.02}.hover\\:border-blue-500\\/30:hover{border-color:#3080ff4d}@supports (color:color-mix(in lab,red,red)){.hover\\:border-blue-500\\/30:hover{border-color:color-mix(in oklab,var(--color-blue-500)30%,transparent)}}.hover\\:border-blue-500\\/40:hover{border-color:#3080ff66}@supports (color:color-mix(in lab,red,red)){.hover\\:border-blue-500\\/40:hover{border-color:color-mix(in oklab,var(--color-blue-500)40%,transparent)}}.hover\\:border-zinc-600:hover{border-color:var(--color-zinc-600)}.hover\\:border-zinc-700:hover{border-color:var(--color-zinc-700)}.hover\\:bg-blue-500:hover{background-color:var(--color-blue-500)}.hover\\:bg-blue-500\\/\\[0\\.03\\]:hover{background-color:#3080ff08}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-blue-500\\/\\[0\\.03\\]:hover{background-color:color-mix(in oklab,var(--color-blue-500)3%,transparent)}}.hover\\:bg-blue-600\\/20:hover{background-color:#155dfc33}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-blue-600\\/20:hover{background-color:color-mix(in oklab,var(--color-blue-600)20%,transparent)}}.hover\\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\\:bg-primary\\/40:hover{background-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-primary\\/40:hover{background-color:color-mix(in oklab,var(--color-primary)40%,transparent)}}.hover\\:bg-red-500\\/10:hover{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-red-500\\/10:hover{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.hover\\:bg-red-500\\/25:hover{background-color:#fb2c3640}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-red-500\\/25:hover{background-color:color-mix(in oklab,var(--color-red-500)25%,transparent)}}.hover\\:bg-white\\/30:hover{background-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-white\\/30:hover{background-color:color-mix(in oklab,var(--color-white)30%,transparent)}}.hover\\:bg-white\\/\\[0\\.02\\]:hover{background-color:#ffffff05}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-white\\/\\[0\\.02\\]:hover{background-color:color-mix(in oklab,var(--color-white)2%,transparent)}}.hover\\:bg-zinc-800:hover{background-color:var(--color-zinc-800)}.hover\\:bg-zinc-800\\/30:hover{background-color:#27272a4d}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-zinc-800\\/30:hover{background-color:color-mix(in oklab,var(--color-zinc-800)30%,transparent)}}.hover\\:bg-zinc-800\\/40:hover{background-color:#27272a66}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-zinc-800\\/40:hover{background-color:color-mix(in oklab,var(--color-zinc-800)40%,transparent)}}.hover\\:bg-zinc-800\\/50:hover{background-color:#27272a80}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-zinc-800\\/50:hover{background-color:color-mix(in oklab,var(--color-zinc-800)50%,transparent)}}.hover\\:text-blue-400:hover{color:var(--color-blue-400)}.hover\\:text-primary:hover{color:var(--color-primary)}.hover\\:text-red-200:hover{color:var(--color-red-200)}.hover\\:text-red-400:hover{color:var(--color-red-400)}.hover\\:text-red-500:hover{color:var(--color-red-500)}.hover\\:text-white:hover{color:var(--color-white)}.hover\\:text-zinc-200:hover{color:var(--color-zinc-200)}.hover\\:text-zinc-300:hover{color:var(--color-zinc-300)}.hover\\:text-zinc-400:hover{color:var(--color-zinc-400)}.hover\\:opacity-90:hover{opacity:.9}.hover\\:ring-zinc-600:hover{--tw-ring-color:var(--color-zinc-600)}}.focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-blue-500\\/50:focus{--tw-ring-color:#3080ff80}@supports (color:color-mix(in lab,red,red)){.focus\\:ring-blue-500\\/50:focus{--tw-ring-color:color-mix(in oklab,var(--color-blue-500)50%,transparent)}}.focus\\:ring-blue-600:focus{--tw-ring-color:var(--color-blue-600)}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\\:ring-offset-zinc-900:focus{--tw-ring-offset-color:var(--color-zinc-900)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-blue-500:focus-visible{--tw-ring-color:var(--color-blue-500)}.focus-visible\\:ring-blue-600:focus-visible{--tw-ring-color:var(--color-blue-600)}.focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\\:ring-offset-zinc-900:focus-visible{--tw-ring-offset-color:var(--color-zinc-900)}.focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\\:cursor-grabbing:active{cursor:grabbing}.active\\:bg-primary\\/60:active{background-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.active\\:bg-primary\\/60:active{background-color:color-mix(in oklab,var(--color-primary)60%,transparent)}}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-20:disabled{opacity:.2}.disabled\\:opacity-30:disabled{opacity:.3}.disabled\\:opacity-50:disabled{opacity:.5}@media(min-width:40rem){.sm\\:max-w-\\[280px\\]{max-width:280px}}}:root{--background:oklch(14.1% .005 285.823);--foreground:oklch(98.5% 0 0);--card:oklch(21% .006 285.885);--card-foreground:oklch(98.5% 0 0);--popover:oklch(21% .006 285.885);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(42% .18 266);--primary-foreground:oklch(97% .014 254.604);--secondary:oklch(27.4% .006 286.033);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(27.4% .006 286.033);--muted-foreground:oklch(70.5% .015 286.067);--accent:oklch(42% .18 266);--accent-foreground:oklch(97% .014 254.604);--destructive:oklch(70.4% .191 22.216);--destructive-foreground:oklch(97% .014 254.604);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.2% .016 285.938);--radius:.5rem;font-family:ui-sans-serif,system-ui,sans-serif}[data-radix-portal]{z-index:9999!important}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}';class mo extends q.Component{constructor(_){super(_),this.state={hasError:!1,error:null}}static getDerivedStateFromError(_){return{hasError:!0,error:_}}componentDidCatch(_,r){console.error("[JsonPages Engine]",_,r)}render(){return this.state.hasError&&this.state.error?a.jsxs("div",{style:{minHeight:"100vh",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",padding:24,backgroundColor:"#0f172a",color:"#e2e8f0",fontFamily:"ui-sans-serif, system-ui, sans-serif"},children:[a.jsx("h1",{style:{fontSize:"1.25rem",fontWeight:700,marginBottom:8},children:"JsonPages Engine Error"}),a.jsx("pre",{style:{maxWidth:"100%",overflow:"auto",padding:16,backgroundColor:"rgba(0,0,0,0.3)",borderRadius:8,fontSize:12,marginTop:8},children:this.state.error.message})]}):this.props.children}}function bo({config:e}){var N,A;const{registry:_={},schemas:r={},pages:m={},siteConfig:u,themeConfig:i,menuConfig:o,themeCss:n,addSection:l,NotFoundComponent:h=Sr}=e,p=(l==null?void 0:l.addableSectionTypes)??Object.keys(r).filter(L=>L!=="header"&&L!=="footer"),w={exportJSON:((N=e.persistence)==null?void 0:N.exportJSON)??Ct,exportHTML:((A=e.persistence)==null?void 0:A.exportHTML)??At},y=typeof(n==null?void 0:n.tenant)=="string"?n.tenant:"",c=typeof(n==null?void 0:n.admin)=="string"?n.admin:po,[x,d]=q.useState(!1);q.useEffect(()=>{try{i!=null&&i.tokens&&st.setTheme(i)}catch(L){console.warn("[JsonPages] setTheme failed",L)}d(!0)},[i]);const v=()=>{const{slug:L="home"}=Ne.useParams(),[I,O]=q.useState(null);q.useEffect(()=>{const j=document.getElementById("jp-baked-state");if(j!=null&&j.textContent)try{const P=JSON.parse(j.textContent);O(P),st.setTheme(P.theme)}catch(P){console.error("Failed to parse baked state",P)}},[]);const T=I?I.page:m[L],B=I?I.site:u,X=I?I.menu:o;return T?a.jsx(it,{mode:"tenant",tenantCss:y,adminCss:c,children:a.jsx(rt,{mode:"visitor",children:a.jsx(vt,{pageConfig:T,siteConfig:B,menuConfig:X})})}):a.jsx(h,{})},f=e.tenantId??"default",k=()=>{const{slug:L="home"}=Ne.useParams(),[I,O]=q.useState(null),[T,B]=q.useState(!1),[X,j]=q.useState(()=>{var W;try{const te=JSON.parse(JSON.stringify(u??{}));te.identity||(te.identity={title:"Site"}),te.pages||(te.pages=[]);const ne=(W=te.header)==null?void 0:W.data;return ne&&(o!=null&&o.main)&&(ne.links=JSON.parse(JSON.stringify(o.main))),te}catch{return{identity:{title:"Site"},pages:[]}}}),[P,s]=q.useState(null),[R,ee]=q.useState(null),[U,H]=q.useState(null),[$,re]=q.useState(null),[z,S]=q.useState(!1),[J,K]=q.useState(400),Q=360,fe=920,se=q.useCallback(W=>{W.preventDefault();const te=W.currentTarget;te.setPointerCapture(W.pointerId);const ne=W.clientX,de=J,ze=Se=>{const xe=ne-Se.clientX,Ue=Math.min(fe,Math.max(Q,de+xe));K(Ue)},ye=()=>{te.releasePointerCapture(W.pointerId),te.removeEventListener("pointermove",ze),te.removeEventListener("pointerup",ye),te.removeEventListener("pointercancel",ye),document.body.style.cursor="",document.body.style.userSelect=""};document.body.style.cursor="col-resize",document.body.style.userSelect="none",te.addEventListener("pointermove",ze),te.addEventListener("pointerup",ye),te.addEventListener("pointercancel",ye)},[J]),le=I?[...X.header?[{id:X.header.id,type:X.header.type,scope:"global",title:"Header"}]:[],...I.sections.map(W=>{var te,ne;return{id:W.id,type:W.type,scope:"local",title:((te=W.data)==null?void 0:te.title)??((ne=W.data)==null?void 0:ne.titleHighlight)}}),...X.footer?[{id:X.footer.id,type:X.footer.type,scope:"global",title:"Footer"}]:[]]:[],ce=`jsonpages-draft-${f}-${L}`,ge=`jsonpages-autosave-enabled-${f}`,[pe,_e]=q.useState(()=>{if(typeof window>"u")return!0;try{return localStorage.getItem(ge)!=="false"}catch{return!0}});q.useEffect(()=>{const W=m[L];try{const te=typeof window<"u"?localStorage.getItem(ce):null,ne=te?JSON.parse(te):null;ne!=null&&ne.page&&(ne!=null&&ne.site)?(O(JSON.parse(JSON.stringify(ne.page))),j(JSON.parse(JSON.stringify(ne.site)))):W&&O(JSON.parse(JSON.stringify(W)))}catch{W&&O(JSON.parse(JSON.stringify(W)))}s(null),ee(null),B(!1)},[L,m,ce]),q.useEffect(()=>{if(typeof window<"u")try{localStorage.setItem(ge,String(pe))}catch{}},[pe,ge]),q.useEffect(()=>{if(!pe||!I||typeof window>"u")return;const W=setTimeout(()=>{try{localStorage.setItem(ce,JSON.stringify({page:I,site:X})),B(!1)}catch{}},1e4);return()=>clearTimeout(W)},[pe,I,X,ce]);const je=q.useCallback(()=>{const W=m[L];try{typeof window<"u"&&localStorage.removeItem(ce)}catch{}W&&O(JSON.parse(JSON.stringify(W))),s(null),ee(null),B(!1)},[L,m,ce]),t=q.useCallback((W,te,ne)=>{const de=[...ne.sections],ze=de.findIndex(xe=>xe.id===W);if(ze===-1||te<0||te>=de.length)return;const[ye]=de.splice(ze,1),Se=te>ze?te-1:te;de.splice(Math.min(Se,de.length),0,ye),O({...ne,sections:de}),B(!0)},[]),Z=q.useCallback(W=>{var te;if(W.origin===window.location.origin){if(W.data.type===we.SECTION_SELECT){s(W.data.section);const ne=W.data.itemPath;if(Array.isArray(ne)&&ne.length>0)ee(ne.map(de=>({fieldKey:de.fieldKey,...de.itemId!=null?{itemId:String(de.itemId)}:{}})));else{const de=W.data.itemField,ze=W.data.itemId;ee(typeof de=="string"?[{fieldKey:de,...ze!=null?{itemId:String(ze)}:{}}]:null)}}if(W.data.type===we.ACTIVE_SECTION_CHANGED&&H(W.data.activeSectionId??null),W.data.type==="jsonpages:section-reorder"&&I){const{sectionId:ne,newIndex:de}=W.data;typeof ne=="string"&&typeof de=="number"&&de>=0&&t(ne,de,I)}if(W.data.type===we.SEND_CLEAN_HTML){if(!I)return;const ne=(te=X.header)==null?void 0:te.data,de={page:I,site:X,menu:{main:(ne==null?void 0:ne.links)??[]},theme:i};w.exportHTML(de,L,W.data.html),B(!1)}}},[I,X,L,i,t]);q.useEffect(()=>(window.addEventListener("message",Z),()=>window.removeEventListener("message",Z)),[Z]);const F=q.useCallback(W=>{const te=le.find(ne=>ne.id===W);te&&s({id:te.id,type:te.type,scope:te.scope}),ee(null),re(W)},[le]),b=q.useCallback(()=>{re(null)},[]),g=q.useCallback(W=>{O(te=>te&&{...te,sections:te.sections.filter(ne=>ne.id!==W)}),B(!0),s(te=>(te==null?void 0:te.id)===W?null:te)},[]),C=W=>{if(!(!P||!I))if(B(!0),P.scope==="global")P.type==="header"&&X.header!=null?j({...X,header:{...X.header,data:W}}):P.type==="footer"&&X.footer!=null&&j({...X,footer:{...X.footer,data:W}});else{const te=I.sections.map(ne=>ne.id===P.id?{...ne,data:W}:ne);O({...I,sections:te})}},M=q.useCallback((W,te,ne,de)=>{var ze,ye;if(B(!0),te==="global")((ze=X.header)==null?void 0:ze.id)===W?j({...X,header:{...X.header,data:de}}):((ye=X.footer)==null?void 0:ye.id)===W&&j({...X,footer:{...X.footer,data:de}});else if(I){const Se=I.sections.map(xe=>xe.id===W?{...xe,data:de}:xe);O({...I,sections:Se})}},[I,X]),G=()=>{var te;const W=document.querySelector("iframe");(te=W==null?void 0:W.contentWindow)==null||te.postMessage({type:we.REQUEST_CLEAN_HTML},"*")},D=()=>{var ne;if(!I)return;const W=(ne=X.header)==null?void 0:ne.data,te={page:I,site:X,menu:{main:(W==null?void 0:W.links)??[]},theme:i};w.exportJSON(te,L),B(!1)},Y=W=>{var de;if(!I)return;const te=((de=l==null?void 0:l.getDefaultSectionData)==null?void 0:de.call(l,W))??{},ne={id:crypto.randomUUID(),type:W,data:te,settings:void 0};O({...I,sections:[...I.sections,ne]}),B(!0),s({id:ne.id,type:W,scope:"local"})};if(!I)return a.jsx("div",{children:"Loading Studio..."});const oe=(P==null?void 0:P.scope)==="global"?{sections:[X.header,X.footer].filter(W=>W!=null)}:I,V=[...X.header?[X.header]:[],...I.sections,...X.footer?[X.footer]:[]];return a.jsx(it,{mode:"admin",tenantCss:y,adminCss:c,children:a.jsx(rt,{mode:"studio",children:a.jsxs("div",{className:"flex flex-col h-screen w-screen bg-background text-foreground overflow-hidden",children:[a.jsxs("div",{className:"flex flex-1 min-h-0 overflow-hidden",children:[a.jsx("main",{className:"flex-1 min-w-0 relative bg-zinc-900/50 overflow-hidden",children:a.jsx(zr,{draft:I,globalDraft:X,themeConfig:i,slug:L,selectedId:P==null?void 0:P.id,scrollToSectionId:$,onScrollRequested:b})}),a.jsxs("div",{className:"flex shrink-0 relative h-full z-10",style:{width:J,minWidth:Q,maxWidth:fe},children:[a.jsx("div",{role:"separator","aria-label":"Resize inspector",className:"absolute left-0 top-0 bottom-0 w-1.5 cursor-col-resize hover:bg-primary/40 active:bg-primary/60 transition-colors shrink-0",style:{zIndex:9999},onPointerDown:se}),a.jsx(_r,{selectedSection:P,pageData:oe,allSectionsData:V,onUpdate:C,onUpdateSection:M,onClose:()=>{s(null),ee(null)},expandedItemPath:R,onReorderSection:I?(W,te)=>t(W,te,I):void 0,allLayers:le,activeSectionId:U,onRequestScrollToSection:F,onDeleteSection:I?g:void 0,onAddSection:p.length>0?()=>S(!0):void 0,hasChanges:T,autosaveEnabled:pe,onAutosaveChange:_e,onExportHTML:G,onExportJSON:D,onResetToFile:je})]})]}),a.jsx(Er,{open:z,onClose:()=>S(!1),sectionTypes:p,sectionTypeLabels:l==null?void 0:l.sectionTypeLabels,onSelect:Y})]})})})},E=()=>a.jsx(it,{mode:"tenant",tenantCss:y,adminCss:c,children:a.jsx(jr,{})});return x?a.jsx(mo,{children:a.jsx(Qt,{config:{registry:_,schemas:r,tenantId:e.tenantId??"default",assets:e.assets},children:a.jsx(Ne.BrowserRouter,{children:a.jsxs(Ne.Routes,{children:[a.jsx(Ne.Route,{path:"/",element:a.jsx(v,{})}),a.jsx(Ne.Route,{path:"/:slug",element:a.jsx(v,{})}),a.jsx(Ne.Route,{path:"/admin",element:a.jsx(k,{})}),a.jsx(Ne.Route,{path:"/admin/:slug",element:a.jsx(k,{})}),a.jsx(Ne.Route,{path:"/admin/preview/:slug",element:a.jsx(E,{})}),a.jsx(Ne.Route,{path:"*",element:a.jsx(h,{})})]})})})}):a.jsx("div",{style:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:"#0f172a",color:"#94a3b8",fontFamily:"ui-sans-serif, system-ui, sans-serif",fontSize:14},children:"Loading…"})}const go=({hasChanges:e,onExportJSON:_,onExportHTML:r,onAddSection:m})=>a.jsxs("div",{className:"h-14 border-b border-zinc-800 bg-zinc-950 flex items-center justify-between px-6 shrink-0 z-50 relative",children:[a.jsx("div",{className:"flex items-center gap-3",children:m!=null&&a.jsxs("button",{type:"button",onClick:m,className:"flex items-center gap-2 px-3 py-1.5 rounded-md text-xs font-medium border border-zinc-700 bg-zinc-900 text-zinc-200 hover:bg-zinc-800 hover:border-zinc-600 transition-colors",title:"Add section","aria-label":"Add section",children:[a.jsx(Zn,{size:14}),a.jsx("span",{children:"Add section"})]})}),a.jsx("div",{className:"absolute left-1/2 -translate-x-1/2 opacity-20 pointer-events-none",children:a.jsx("span",{className:"text-xs font-black tracking-[0.2em] text-zinc-100",children:"JSONPAGES STUDIO"})}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsxs("button",{onClick:r,className:"flex items-center gap-2 px-3 py-1.5 rounded-md text-xs font-medium transition-all border bg-zinc-900 border-zinc-700 text-zinc-200 hover:bg-zinc-800 hover:border-zinc-600",children:[a.jsx(or,{size:14}),a.jsx("span",{children:"Bake HTML"})]}),a.jsxs("button",{onClick:_,disabled:!e,className:he("flex items-center gap-2 px-4 py-1.5 rounded-md text-xs font-bold transition-all shadow-lg",e?"bg-blue-600 text-white hover:bg-blue-500 shadow-blue-900/20":"bg-zinc-900 text-zinc-600 cursor-not-allowed"),children:[a.jsx(ir,{size:14}),a.jsx("span",{children:"Export JSON"})]})]})]});me.AddSectionLibrary=Er,me.AdminSidebar=_r,me.ConfigProvider=Qt,me.ControlBar=go,me.DefaultNotFound=Sr,me.FormFactory=Ve,me.InputWidgets=Ke,me.JsonPagesEngine=bo,me.PageRenderer=vt,me.PreviewEntry=jr,me.STUDIO_EVENTS=we,me.SectionRenderer=Ge,me.StudioProvider=rt,me.StudioStage=zr,me.ThemeLoader=it,me.cn=he,me.exportBakedHTML=At,me.exportProjectJSON=Ct,me.resolveAssetUrl=xr,me.themeManager=st,me.useConfig=He,me.useStudio=tr,Object.defineProperty(me,Symbol.toStringTag,{value:"Module"})}));
|
|
198
|
+
*/const Kn=ve("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);class Vn extends q.Component{constructor(_){super(_),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(_,r){console.error(`[JsonPages] Component Crash [${this.props.type}]:`,_,r)}render(){return this.state.hasError?a.jsxs("div",{className:"p-8 m-4 bg-amber-500/5 border-2 border-dashed border-amber-500/20 rounded-xl flex flex-col items-center text-center gap-3",children:[a.jsx(Gn,{className:"text-amber-500",size:32}),a.jsxs("div",{className:"space-y-1",children:[a.jsx("h4",{className:"text-sm font-bold text-amber-200 uppercase tracking-tight",children:"Component Error"}),a.jsxs("p",{className:"text-xs text-amber-500/70 font-mono",children:["Type: ",this.props.type]})]}),a.jsx("p",{className:"text-xs text-zinc-400 max-w-[280px] leading-relaxed",children:"This section failed to render. Check the console for details or verify the JSON data structure."})]}):this.props.children}}const Jn=({type:e,scope:_,isSelected:r,sectionId:m,sectionIndex:u=0,totalSections:i=0,onReorder:o})=>{const n=typeof u=="number"&&u>0&&o,l=typeof u=="number"&&u<i-1&&o;return a.jsx("div",{"data-jp-section-overlay":!0,"aria-hidden":!0,className:he("absolute inset-0 pointer-events-none transition-all duration-200 z-[50]","border-2 border-transparent group-hover:border-blue-400/50 group-hover:border-dashed",r&&"border-2 border-blue-600 border-solid bg-blue-500/5"),children:a.jsxs("div",{className:he("absolute top-0 right-0 flex flex-nowrap items-center gap-1 pl-1 pr-2 py-1 text-[9px] font-black uppercase tracking-widest transition-opacity pointer-events-auto","bg-blue-600 text-white",r||"group-hover:opacity-100 opacity-0"),children:[o&&m!=null&&a.jsxs("span",{className:"shrink-0 flex items-center gap-0.5",children:[a.jsx("button",{type:"button",onClick:h=>{h.stopPropagation(),n&&o(m,u-1)},disabled:!n,className:"inline-flex items-center justify-center min-w-[18px] min-h-[18px] rounded bg-white/20 hover:bg-white/30 disabled:opacity-30 disabled:pointer-events-none",title:"Move section up","aria-label":"Move section up",children:a.jsx(mt,{size:12,strokeWidth:2.5})}),a.jsx("button",{type:"button",onClick:h=>{h.stopPropagation(),l&&o(m,u+2)},disabled:!l,className:"inline-flex items-center justify-center min-w-[18px] min-h-[18px] rounded bg-white/20 hover:bg-white/30 disabled:opacity-30 disabled:pointer-events-none",title:"Move section down","aria-label":"Move section down",children:a.jsx(pt,{size:12,strokeWidth:2.5})})]}),a.jsx("span",{className:"shrink-0",children:e}),a.jsx("span",{className:"opacity-50 shrink-0",children:"|"}),a.jsx("span",{className:"shrink-0",children:_})]})})},Ge=({section:e,menu:_,selectedId:r,reorderable:m,sectionIndex:u,totalSections:i,onReorder:o})=>{var f,k;const{mode:n}=tr(),{registry:l}=He(),h=n==="studio",p=h&&r===e.id,w=l[e.type],y=e.type==="header"||e.type==="footer"?"global":"local",c=e.type==="header"&&((f=e.settings)==null?void 0:f.sticky);if(!w)return a.jsxs("div",{className:"p-6 m-4 bg-red-500/10 text-red-400 border border-red-500/20 rounded-lg text-sm font-mono",children:[a.jsx("strong",{children:"Missing Component:"})," ",e.type]});const x=E=>{var X,j,P,s,R;if(!h)return;E.preventDefault(),E.stopPropagation();const N=E.currentTarget,A=E.clientX,L=E.clientY;if(E.target===N){window.parent.postMessage({type:we.SECTION_SELECT,section:{id:e.id,type:e.type,scope:y}},"*");return}const I=document.elementFromPoint(A,L)??E.target;if(!I||!N.contains(I)){window.parent.postMessage({type:we.SECTION_SELECT,section:{id:e.id,type:e.type,scope:y}},"*");return}if(I===N){window.parent.postMessage({type:we.SECTION_SELECT,section:{id:e.id,type:e.type,scope:y}},"*");return}const O=[];let T=I;for(;T&&T!==N;){const ee=(X=T.getAttribute)==null?void 0:X.call(T,"data-jp-item-id"),U=(j=T.getAttribute)==null?void 0:j.call(T,"data-jp-item-field");ee&&U&&O.push({fieldKey:U||"items",itemId:ee}),T=T.parentElement}if(O.reverse(),O.length===0)for(T=I;T&&T!==N;){const ee=(P=T.getAttribute)==null?void 0:P.call(T,"data-jp-field");if(ee){O.push({fieldKey:ee});break}T=T.parentElement}if(O.length===0&&I){let ee=null;const U=H=>{var re,z;const $=H.getBoundingClientRect();if($.left<=A&&A<=$.right&&$.top<=L&&L<=$.bottom){for(let S=0;S<H.children.length;S++)U(H.children[S]);((re=H.getAttribute)!=null&&re.call(H,"data-jp-item-id")||(z=H.getAttribute)!=null&&z.call(H,"data-jp-field"))&&(ee=H)}};if(U(I),ee){const H=ee,$=(s=H.getAttribute)==null?void 0:s.call(H,"data-jp-item-id"),re=(R=H.getAttribute)==null?void 0:R.call(H,"data-jp-field");$&&re?O.push({fieldKey:re||"items",itemId:$}):re&&O.push({fieldKey:re})}}const B={type:we.SECTION_SELECT,section:{id:e.id,type:e.type,scope:y}};if(O.length>0){B.itemPath=O;const ee=O[0];ee.itemId!=null?(B.itemField=ee.fieldKey,B.itemId=ee.itemId):B.itemField=ee.fieldKey}window.parent.postMessage(B,"*")},d=()=>{const E=w;return e.type==="header"&&_?a.jsx(E,{data:e.data,settings:e.settings,menu:_}):a.jsx(E,{data:e.data,settings:e.settings})},v=(k=e.data)==null?void 0:k.anchorId;return a.jsxs("div",{id:v||void 0,"data-section-id":h?e.id:void 0,"data-section-type":h?e.type:void 0,"data-section-scope":h?y:void 0,...h&&p?{"data-jp-selected":!0}:{},onClickCapture:h?x:void 0,className:he("relative w-full",h&&"group cursor-pointer",h&&c?"sticky top-0 z-[60]":"relative z-0",p&&"z-[70]"),children:[a.jsx("div",{className:"relative z-0",children:a.jsx(Vn,{type:e.type,children:d()})}),h&&a.jsx(Jn,{type:e.type,scope:y,isSelected:!!p,sectionId:m&&y==="local"?e.id:void 0,sectionIndex:m&&y==="local"?u:void 0,totalSections:m&&y==="local"?i:void 0,onReorder:m&&y==="local"?o:void 0})]})},qn=e=>{q.useEffect(()=>{document.title=e.title;let _=document.querySelector('meta[name="description"]');_||(_=document.createElement("meta"),_.setAttribute("name","description"),document.head.appendChild(_)),_.setAttribute("content",e.description)},[e.title,e.description])},Yn="application/json",vt=({pageConfig:e,siteConfig:_,menuConfig:r,selectedId:m,onReorder:u,scrollToSectionId:i,onActiveSectionChange:o})=>{var v,f;qn(e.meta);const[n,l]=q.useState(null),h=q.useRef({}),p=q.useRef(o);p.current=o;const w=k=>{var E;(E=p.current)==null||E.call(p,k)};q.useEffect(()=>{if(!i)return;const k=h.current[i];k&&k.scrollIntoView({behavior:"smooth",block:"center"})},[i]),q.useEffect(()=>{if(!p.current)return;const E=[..._.header?[_.header.id]:[],...e.sections.map(I=>I.id),..._.footer?[_.footer.id]:[]],N=new IntersectionObserver(I=>{I.forEach(O=>{var T;if(O.isIntersecting&&O.intersectionRatio>.5){const B=O.target.getAttribute("data-section-id");B&&((T=p.current)==null||T.call(p,B))}})},{threshold:[0,.5,1],rootMargin:"-20% 0px -20% 0px"});let A=!1;const L=requestAnimationFrame(()=>{A||E.forEach(I=>{const O=h.current[I];O&&N.observe(O)})});return()=>{A=!0,cancelAnimationFrame(L),N.disconnect()}},[e.sections,(v=_.header)==null?void 0:v.id,(f=_.footer)==null?void 0:f.id]);const y=(k,E)=>{k.preventDefault(),k.dataTransfer.dropEffect="move",l(E)},c=()=>{l(null)},x=(k,E)=>{if(k.preventDefault(),l(null),!!u)try{const N=k.dataTransfer.getData(Yn),{sectionId:A}=JSON.parse(N);typeof A=="string"&&u(A,E)}catch{}},d=()=>{const k=typeof u=="function",E=e.sections.map((N,A)=>{const L=n===A;return k?a.jsxs("div",{ref:I=>{h.current[N.id]=I},"data-section-id":N.id,style:{position:"relative"},onMouseEnter:()=>w(N.id),children:[a.jsx("div",{"data-jp-drop-zone":!0,style:{position:"absolute",left:0,right:0,top:-1,height:12,zIndex:55,pointerEvents:"auto",backgroundColor:L?"rgba(59, 130, 246, 0.4)":"transparent",borderTop:L?"2px solid rgb(96, 165, 250)":"2px solid transparent"},onDragOver:I=>y(I,A),onDragLeave:c,onDrop:I=>x(I,A)}),a.jsx(Ge,{section:N,selectedId:m,reorderable:!0,sectionIndex:A,totalSections:e.sections.length,onReorder:u})]},N.id):a.jsx("div",{ref:I=>{h.current[N.id]=I},"data-section-id":N.id,onMouseEnter:()=>w(N.id),children:a.jsx(Ge,{section:N,selectedId:m})},N.id)});if(k&&E.length>0){const N=e.sections.length,A=n===N;E.push(a.jsx("div",{"data-jp-drop-zone":!0,style:{position:"relative",left:0,right:0,height:24,minHeight:24,zIndex:55,pointerEvents:"auto",backgroundColor:A?"rgba(59, 130, 246, 0.4)":"transparent",borderTop:A?"2px solid rgb(96, 165, 250)":"2px solid transparent"},onDragOver:L=>y(L,N),onDragLeave:c,onDrop:L=>x(L,N)},"jp-drop-after-last"))}return E};return a.jsxs("div",{className:"min-h-screen flex flex-col bg-[var(--color-background)]",children:[_.header!=null&&a.jsx("div",{ref:k=>{h.current[_.header.id]=k},"data-section-id":_.header.id,onMouseEnter:()=>w(_.header.id),children:a.jsx(Ge,{section:_.header,menu:r.main,selectedId:m})}),a.jsx("main",{className:"flex-1",children:d()}),_.footer!=null&&a.jsx("div",{ref:k=>{h.current[_.footer.id]=k},"data-section-id":_.footer.id,onMouseEnter:()=>w(_.footer.id),children:a.jsx(Ge,{section:_.footer,selectedId:m})})]})},it=({mode:e,tenantCss:_,adminCss:r,children:m})=>(q.useLayoutEffect(()=>{const u=`jp-theme-${e}`,i=e==="tenant"?_:r;if(!document.getElementById(u)&&i){const o=document.createElement("style");o.id=u,o.innerHTML=i,document.head.appendChild(o)}return()=>{const o=document.getElementById(u);o&&o.remove()}},[e,_,r]),a.jsx(a.Fragment,{children:m}));function xt({className:e,type:_,...r}){return a.jsx("input",{type:_,className:he("h-8 rounded-lg border border-zinc-800 bg-zinc-900/50 px-2.5 py-1 text-sm outline-none transition-colors focus:ring-2 focus:ring-blue-600",e),...r})}function Xn({className:e,..._}){return a.jsx("textarea",{className:he("min-h-16 w-full rounded-lg border border-zinc-800 bg-zinc-900/50 px-2.5 py-2 text-sm outline-none transition-colors focus:ring-2 focus:ring-blue-600 resize-none",e),..._})}function Qn({className:e,checked:_,onCheckedChange:r,...m}){return a.jsx("input",{type:"checkbox",checked:_,onChange:u=>r==null?void 0:r(u.target.checked),className:he("size-4 rounded border border-zinc-700 bg-zinc-900 text-blue-600 focus:ring-2 focus:ring-blue-600",e),...m})}function Oe({className:e,..._}){return a.jsx("label",{className:he("text-sm font-medium leading-none select-none",e),..._})}const dr=be.createContext(null);function eo(){const e=be.useContext(dr);if(!e)throw new Error("Select components must be used within Select");return e}function to({value:e,onValueChange:_,children:r}){const m=e??"",u=be.Children.toArray(r).find(w=>be.isValidElement(w)&&w.type===kt),i=be.Children.toArray(r).find(w=>be.isValidElement(w)&&w.type===wt),o=u&&be.isValidElement(u)?u.props.children:void 0,n=i&&be.isValidElement(i)?i.props.children:void 0,l=be.useMemo(()=>!u||!be.isValidElement(u)?[]:be.Children.toArray(u.props.children).filter(w=>be.isValidElement(w)&&w.props.value!==void 0).map(w=>({value:w.props.value,label:w.props.children??w.props.value})),[u,o]),h=be.useMemo(()=>{if(!i||!be.isValidElement(i))return"";const w=be.Children.toArray(i.props.children).find(y=>be.isValidElement(y)&&y.type===yt);return w&&be.isValidElement(w)?w.props.placeholder??"":""},[i,n]),p=be.useMemo(()=>({value:m,onValueChange:w=>_==null?void 0:_(w),options:l,placeholder:h}),[m,_,l,h]);return a.jsx(dr.Provider,{value:p,children:i})}function wt({className:e,children:_,...r}){const{value:m,onValueChange:u,options:i,placeholder:o}=eo();return a.jsxs("div",{className:he("relative",e),...r,children:[a.jsxs("select",{value:m,onChange:n=>u(n.target.value),className:"w-full h-7 rounded border border-zinc-800 bg-zinc-900/50 text-[11px] text-left px-2 pr-6 appearance-none bg-no-repeat bg-[length:12px] bg-[right_0.25rem_center] focus:ring-2 focus:ring-blue-600 focus:outline-none",style:{backgroundImage:`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23717171' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")`},children:[o?a.jsx("option",{value:"",children:o}):null,i.map(n=>a.jsx("option",{value:n.value,children:String(n.label)},n.value))]}),_]})}function yt(e){return null}function kt({className:e,children:_}){return a.jsx("div",{className:he("hidden",e),"aria-hidden":!0,children:_})}function ur({className:e,value:_,children:r}){return a.jsx("div",{"data-value":_,className:e,"aria-hidden":!0,children:r})}wt.displayName="SelectTrigger",yt.displayName="SelectValue",kt.displayName="SelectContent",ur.displayName="SelectItem";const hr=be.createContext(null);function fr(){const e=be.useContext(hr);if(!e)throw new Error("Dialog components must be used within Dialog");return e}function pr({open:e,onOpenChange:_,children:r}){const[m,u]=be.useState(!1),i=e!==void 0,o=i?e:m,n=be.useCallback(h=>{i||u(h),_==null||_(h)},[i,_]),l=be.useMemo(()=>({open:o,onOpenChange:n}),[o,n]);return a.jsx(hr.Provider,{value:l,children:r})}function ro({asChild:e,children:_}){const{onOpenChange:r}=fr(),m=be.Children.only(_);return e&&be.isValidElement(m)?be.cloneElement(m,{onClick:u=>{var i,o;(o=(i=m.props).onClick)==null||o.call(i,u),r(!0)}}):a.jsx("button",{type:"button",onClick:()=>r(!0),children:_})}function mr({className:e,children:_,preventCloseOnBackdropClick:r,...m}){const{open:u,onOpenChange:i}=fr();if(be.useEffect(()=>{const n=l=>{l.key==="Escape"&&i(!1)};return u&&(document.addEventListener("keydown",n),document.body.style.overflow="hidden"),()=>{document.removeEventListener("keydown",n),document.body.style.overflow=""}},[u,i]),!u)return null;const o=n=>{n.preventDefault(),n.stopPropagation()};return Ar.createPortal(a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"fixed inset-0 z-[9998] bg-black/60","aria-hidden":!0,onClick:()=>!r&&i(!1),onDragOver:o,onDrop:o}),a.jsx("div",{role:"dialog","aria-modal":!0,className:he("fixed left-1/2 top-1/2 z-[9999] w-[calc(100%-2rem)] max-w-lg -translate-x-1/2 -translate-y-1/2 rounded-lg border border-zinc-700 bg-zinc-900 p-4 shadow-xl",e),onClick:n=>n.stopPropagation(),...m,children:_})]}),document.body)}function br({className:e,..._}){return a.jsx("div",{className:he("flex flex-col gap-1.5 pb-4",e),..._})}function no({className:e,..._}){return a.jsx("div",{className:he("flex justify-end gap-2 pt-4",e),..._})}function gr({className:e,..._}){return a.jsx("h2",{className:he("text-sm font-semibold text-white",e),..._})}function vr({className:e,..._}){return a.jsx("p",{className:he("text-xs text-zinc-400",e),..._})}const Le=be.forwardRef(({className:e,variant:_="default",size:r="default",asChild:m,children:u,...i},o)=>{const n="inline-flex items-center justify-center rounded-md font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-600 disabled:pointer-events-none disabled:opacity-50",l={default:"bg-blue-600 text-white hover:bg-blue-700",outline:"border border-zinc-700 bg-transparent hover:bg-zinc-800",ghost:"hover:bg-zinc-800"},h={sm:"h-7 px-2.5 text-xs",default:"h-9 px-4 text-sm",lg:"h-10 px-6 text-base"};if(m&&be.isValidElement(u)){const p=u,w=he(n,l[_],h[r],p.props.className,e);return be.cloneElement(p,{className:w})}return a.jsx("button",{ref:o,type:"button",className:he(n,l[_],h[r],e),...i,children:u})});Le.displayName="Button";const oo=["library","upload","url"];function io({library:e,selectedId:_,onSelect:r}){const[m,u]=q.useState(""),[i,o]=q.useState("all"),n=["all",...new Set(e.flatMap(h=>h.tags??[]))],l=e.filter(h=>{const p=i==="all"||(h.tags??[]).includes(i),w=!m||(h.alt??"").toLowerCase().includes(m.toLowerCase());return p&&w});return a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"relative",children:[a.jsx(Wn,{size:14,className:"absolute left-3 top-1/2 -translate-y-1/2 text-zinc-600 pointer-events-none"}),a.jsx(xt,{value:m,onChange:h=>u(h.target.value),placeholder:"Cerca immagini...",className:"pl-9 h-8 text-xs bg-zinc-900/50 border-zinc-800"})]}),a.jsx("div",{className:"flex flex-wrap gap-1.5",children:n.map(h=>a.jsx("button",{type:"button",onClick:()=>o(h),className:he("px-2.5 py-1 rounded text-[10px] font-medium border transition-colors",i===h?"border-blue-500 bg-blue-500/20 text-blue-400":"border-zinc-700 text-zinc-500 hover:border-zinc-600 hover:text-zinc-400"),children:h==="all"?"Tutte":h},h))}),l.length>0?a.jsx("div",{className:"grid grid-cols-3 gap-2.5 max-h-[45vh] overflow-y-auto",children:l.map(h=>{const p=_===h.id;return a.jsxs("button",{type:"button",onClick:()=>r(p?null:h.id),className:he("group relative aspect-[4/3] rounded-lg overflow-hidden","ring-1 transition-all duration-150",p?"ring-blue-500 ring-2 ring-offset-1 ring-offset-zinc-900":"ring-zinc-800 hover:ring-zinc-600 hover:scale-[1.02]"),children:[a.jsx("img",{src:h.url,alt:h.alt,loading:"lazy",className:he("w-full h-full object-cover transition-[filter] duration-150",p?"brightness-[0.6]":"brightness-[0.85] group-hover:brightness-100")}),a.jsx("div",{className:he("absolute inset-x-0 bottom-0 px-2 py-1.5","bg-gradient-to-t from-black/70 to-transparent","opacity-0 group-hover:opacity-100 transition-opacity",p&&"opacity-100"),children:a.jsx("span",{className:"text-[10px] text-white font-medium leading-tight line-clamp-2",children:h.alt})}),p&&a.jsx("div",{className:"absolute top-2 right-2 w-6 h-6 rounded-full bg-blue-600 flex items-center justify-center",children:a.jsx(nr,{size:14,className:"text-white"})})]},h.id)})}):a.jsx("div",{className:"text-center py-12 text-zinc-600 text-xs",children:"Nessuna immagine in libreria. Configura assets.assetsManifest nel tenant (es. da public/assets)."})]})}function ao({preview:e,onPreviewChange:_,onAssetUpload:r}){const[m,u]=q.useState(!1),i=q.useRef(null),o=q.useCallback(async p=>{if(fetch("http://127.0.0.1:7588/ingest/86d71502-47e1-433c-9b6d-5a1390d00813",{method:"POST",headers:{"Content-Type":"application/json","X-Debug-Session-Id":"34bba5"},body:JSON.stringify({sessionId:"34bba5",location:"ImagePickerDialog.tsx:handleFile",message:"handleFile called",data:{fileName:p.name,hasOnAssetUpload:!!r},timestamp:Date.now(),hypothesisId:"H5"})}).catch(()=>{}),!p.type.startsWith("image/"))return;if(r){try{const y=await r(p);fetch("http://127.0.0.1:7588/ingest/86d71502-47e1-433c-9b6d-5a1390d00813",{method:"POST",headers:{"Content-Type":"application/json","X-Debug-Session-Id":"34bba5"},body:JSON.stringify({sessionId:"34bba5",location:"ImagePickerDialog.tsx:handleFile",message:"onAssetUpload resolved",data:{url:y==null?void 0:y.slice(0,50)},timestamp:Date.now(),hypothesisId:"H2,H5"})}).catch(()=>{}),_({name:p.name,size:p.size,dataUrl:y})}catch{const y=new FileReader;y.onload=c=>{var x;_({name:p.name,size:p.size,dataUrl:(x=c.target)==null?void 0:x.result})},y.readAsDataURL(p)}return}const w=new FileReader;w.onload=y=>{var c;_({name:p.name,size:p.size,dataUrl:(c=y.target)==null?void 0:c.result})},w.readAsDataURL(p)},[_,r]),n=q.useCallback(p=>{var y,c;p.preventDefault(),p.stopPropagation(),u(!1);const w=(c=(y=p.dataTransfer)==null?void 0:y.files)==null?void 0:c[0];w&&o(w)},[o]),l=q.useCallback(p=>{p.preventDefault(),p.stopPropagation(),u(!0)},[]),h=q.useCallback(p=>{var y;const w=(y=p.target.files)==null?void 0:y[0];w&&o(w)},[o]);return a.jsxs("div",{onDragOver:l,onDragEnter:l,onDragLeave:p=>{p.preventDefault(),p.stopPropagation(),u(!1)},onDrop:n,onClick:()=>{var p;return!e&&((p=i.current)==null?void 0:p.click())},className:he("rounded-xl border-2 border-dashed transition-all min-h-[240px]","flex flex-col items-center justify-center overflow-hidden cursor-pointer relative",m?"border-blue-500/50 bg-blue-500/[0.04]":e?"border-zinc-800 bg-transparent cursor-default":"border-zinc-800 bg-white/[0.01] hover:border-zinc-600 hover:bg-white/[0.02]"),children:[e?a.jsxs(a.Fragment,{children:[a.jsx("img",{src:e.dataUrl,alt:"Upload preview",className:"w-full max-h-[320px] object-contain"}),a.jsxs("div",{className:"absolute bottom-0 inset-x-0 bg-gradient-to-t from-black/80 to-transparent p-4 flex items-center justify-between",children:[a.jsxs("div",{children:[a.jsx("p",{className:"text-xs font-medium text-white",children:e.name}),a.jsxs("p",{className:"text-[10px] text-zinc-400",children:[(e.size/1024).toFixed(1)," KB"]})]}),a.jsx(Le,{type:"button",variant:"ghost",className:"text-zinc-400 hover:text-red-400 hover:bg-red-500/10 h-8 w-8 p-0",onClick:p=>{p.stopPropagation(),_(null)},children:a.jsx(ot,{size:14})})]})]}):a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"w-12 h-12 rounded-xl bg-blue-500/10 flex items-center justify-center text-blue-500 mb-3",children:a.jsx(cr,{size:22})}),a.jsx("p",{className:"text-sm font-medium text-white mb-1",children:"Trascina un'immagine qui"}),a.jsx("p",{className:"text-[11px] text-zinc-500 mb-3",children:"oppure clicca per selezionare un file"}),a.jsx("span",{className:"text-[10px] text-zinc-600 bg-white/[0.03] px-3 py-1 rounded",children:"PNG, JPG, WebP — max 5MB"})]}),a.jsx("input",{ref:i,type:"file",accept:"image/*",className:"hidden",onChange:h})]})}function so({urlPreview:e,onUrlPreviewChange:_}){const[r,m]=q.useState(""),[u,i]=q.useState(!1),o=()=>{if(r.trim())try{new URL(r),_(r),i(!1)}catch{i(!0),_(null)}};return a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{children:[a.jsx(Oe,{className:"block text-[10px] font-bold uppercase tracking-[0.08em] text-zinc-500 mb-1.5",children:"URL immagine"}),a.jsxs("div",{className:"flex gap-2",children:[a.jsx(xt,{value:r,onChange:n=>{m(n.target.value),i(!1)},onKeyDown:n=>n.key==="Enter"&&o(),placeholder:"https://images.unsplash.com/photo-...",className:he("h-8 text-xs bg-zinc-900/50 border-zinc-800",u&&"border-red-500/50")}),a.jsx(Le,{type:"button",variant:"outline",onClick:o,className:"shrink-0 h-8",children:"Anteprima"})]}),u&&a.jsx("p",{className:"text-[11px] text-red-400 mt-1.5",children:"URL non valido. Inserisci un URL completo (https://…)"})]}),e?a.jsxs("div",{className:"rounded-lg overflow-hidden ring-1 ring-zinc-800",children:[a.jsx("img",{src:e,alt:"URL preview",className:"w-full max-h-[320px] object-contain bg-black/30",onError:()=>{i(!0),_(null)}}),a.jsxs("div",{className:"px-3.5 py-2.5 bg-white/[0.02] border-t border-zinc-800 flex items-center gap-2",children:[a.jsx(nr,{size:14,className:"text-emerald-400"}),a.jsx("span",{className:"text-[11px] text-zinc-500",children:"Immagine caricata correttamente"})]})]}):u?null:a.jsxs("div",{className:"flex flex-col items-center py-12 text-zinc-600",children:[a.jsx(ar,{size:32,className:"mb-3 opacity-40"}),a.jsx("p",{className:"text-xs",children:"Incolla un URL e premi Anteprima per verificare"})]})]})}const lo=({open:e,onOpenChange:_,onSelect:r})=>{const{assets:m}=He(),u=(m==null?void 0:m.assetsManifest)??[],[i,o]=q.useState("library"),[n,l]=q.useState(null),[h,p]=q.useState(null),[w,y]=q.useState(null);q.useEffect(()=>{e&&(o("library"),l(null),p(null),y(null))},[e]),q.useEffect(()=>{if(!e||i!=="upload")return;const f=()=>{fetch("http://127.0.0.1:7588/ingest/86d71502-47e1-433c-9b6d-5a1390d00813",{method:"POST",headers:{"Content-Type":"application/json","X-Debug-Session-Id":"34bba5"},body:JSON.stringify({sessionId:"34bba5",location:"ImagePickerDialog.tsx:beforeunload",message:"beforeunload fired",data:{},timestamp:Date.now(),hypothesisId:"H1"})}).catch(()=>{})};return window.addEventListener("beforeunload",f),()=>window.removeEventListener("beforeunload",f)},[e,i]),q.useEffect(()=>{if(!e||i!=="upload")return;const f=E=>{E.preventDefault()},k={capture:!0};return document.addEventListener("dragover",f,k),document.addEventListener("drop",f,k),window.addEventListener("dragover",f,k),window.addEventListener("drop",f,k),()=>{document.removeEventListener("dragover",f,k),document.removeEventListener("drop",f,k),window.removeEventListener("dragover",f,k),window.removeEventListener("drop",f,k)}},[e,i]);const c=i==="library"&&n!=null||i==="upload"&&h!=null||i==="url"&&w!=null,x=()=>{if(i==="library"&&n){const f=u.find(k=>k.id===n);f&&r({url:f.url,alt:f.alt})}else i==="upload"&&h?r({url:h.dataUrl,alt:h.name}):i==="url"&&w&&r({url:w,alt:""});setTimeout(()=>_(!1),0)},d=i==="library"&&n?"1 immagine selezionata":i==="upload"&&h?h.name:i==="url"&&w?"URL pronto":"Nessuna selezione",v=f=>{f.preventDefault(),f.stopPropagation()};return a.jsx(pr,{open:e,onOpenChange:_,children:a.jsxs(mr,{className:"max-w-2xl p-0 gap-0 max-h-[90vh] flex flex-col",preventCloseOnBackdropClick:i==="upload",onDragOver:v,onDrop:v,children:[a.jsxs(br,{className:"px-5 py-4 flex flex-row items-start justify-between gap-4 border-b border-zinc-800",children:[a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx("div",{className:"p-1.5 rounded-lg bg-blue-500/15 text-blue-500",children:a.jsx(nt,{size:18})}),a.jsxs("div",{children:[a.jsx(gr,{children:"Image Picker"}),a.jsx(vr,{children:"Scegli dalla libreria, carica dal disco o inserisci un link"})]})]}),a.jsx("button",{type:"button",onClick:()=>_(!1),className:"p-1.5 rounded text-zinc-500 hover:text-white hover:bg-zinc-800 transition-colors","aria-label":"Chiudi",children:a.jsx(Me,{size:18})})]}),a.jsx("div",{className:"flex border-b border-zinc-800",children:oo.map(f=>a.jsxs("button",{type:"button",onClick:()=>o(f),className:he("flex items-center gap-2 px-4 py-3 text-xs font-medium border-b-2 transition-colors",i===f?"border-blue-500 text-blue-400":"border-transparent text-zinc-500 hover:text-zinc-300"),children:[f==="library"&&a.jsx(nt,{size:14}),f==="upload"&&a.jsx(cr,{size:14}),f==="url"&&a.jsx(ar,{size:14}),f==="library"?"Libreria":f==="upload"?"Upload":"URL"]},f))}),a.jsxs("div",{className:"flex-1 overflow-y-auto p-5 min-h-0",children:[i==="library"&&a.jsx(io,{library:u,selectedId:n,onSelect:l}),i==="upload"&&a.jsx(ao,{preview:h,onPreviewChange:p,onAssetUpload:m==null?void 0:m.onAssetUpload}),i==="url"&&a.jsx(so,{urlPreview:w,onUrlPreviewChange:y})]}),a.jsxs(no,{className:"px-5 py-4 border-t border-zinc-800 flex-row justify-between",children:[a.jsx("span",{className:"text-[10px] uppercase tracking-[0.05em] text-zinc-600",children:d}),a.jsxs("div",{className:"flex gap-2",children:[a.jsx(Le,{type:"button",variant:"outline",size:"sm",onClick:()=>_(!1),children:"Annulla"}),a.jsx(Le,{type:"button",size:"sm",disabled:!c,onClick:x,className:he(!c&&"opacity-40"),children:"Inserisci immagine"})]})]})]})})},xr=(e,_="default")=>{if(e.startsWith("http")||e.startsWith("data:")||e.startsWith("#")||e.startsWith("/assets/"))return e;if(e.startsWith("assets/"))return`/${e}`;if(e.startsWith("/uploaded-assets/"))return e;if(!/\.(jpg|jpeg|png|gif|svg|pdf|webp|mp4|webm|ogg)$/i.test(e))return e.startsWith("/")?e:`/${e}`;const m=e.replace(/^\//,"");return`/assets/${_}/${m}`},co=({value:e,onChange:_,label:r="IMAGE",className:m})=>{const{tenantId:u="default"}=He(),[i,o]=q.useState(!1),[n,l]=q.useState(!1),h=!!(e!=null&&e.url),p=e!=null&&e.url?xr(e.url,u):"",w=c=>{_(c),o(!1)},y=c=>{c.stopPropagation(),_({url:"",alt:""})};return a.jsxs("div",{className:he("space-y-1.5",m),children:[a.jsx(Oe,{className:"text-[9px] uppercase font-black tracking-widest text-zinc-500",children:r}),h?a.jsxs("div",{role:"button",tabIndex:0,onClick:()=>o(!0),onKeyDown:c=>c.key==="Enter"&&o(!0),onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),className:he("relative rounded-lg overflow-hidden cursor-pointer","ring-1 ring-zinc-800 transition-all",n&&"ring-blue-500/40"),children:[a.jsx("img",{src:p,alt:(e==null?void 0:e.alt)??"",className:"w-full h-40 object-cover block",onError:c=>{c.target.style.display="none"}}),a.jsx("div",{className:he("absolute inset-0 flex items-center justify-center gap-2 transition-all duration-150",n?"bg-black/50":"bg-black/0"),children:n&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-center gap-1.5 bg-white/15 backdrop-blur-md rounded-lg px-3.5 py-2 text-white text-xs font-medium",children:[a.jsx(Un,{size:13}),a.jsx("span",{children:"Cambia"})]}),a.jsx(Le,{type:"button",variant:"ghost",className:"h-8 w-8 p-0 bg-red-500/15 backdrop-blur-md text-red-300 hover:text-red-200 hover:bg-red-500/25",onClick:y,children:a.jsx(ot,{size:13})})]})}),a.jsx("div",{className:"px-2.5 py-1.5 bg-black/50 text-[10px] text-zinc-500 truncate",children:((e==null?void 0:e.url)??"").length>50?"…"+((e==null?void 0:e.url)??"").slice(-47):(e==null?void 0:e.url)??""})]}):a.jsxs("button",{type:"button",onClick:()=>o(!0),className:he("w-full rounded-lg border-2 border-dashed border-zinc-800 py-7","flex flex-col items-center gap-2","bg-white/[0.01] transition-all","hover:border-blue-500/30 hover:bg-blue-500/[0.03]","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500"),children:[a.jsx("div",{className:"w-9 h-9 rounded-lg bg-blue-500/10 flex items-center justify-center text-blue-500",children:a.jsx(nt,{size:18})}),a.jsx("span",{className:"text-xs text-zinc-400 font-medium",children:"Clicca per aggiungere un'immagine"}),a.jsx("span",{className:"text-[10px] text-zinc-600",children:"Libreria · Upload · URL"})]}),a.jsx(lo,{open:i,onOpenChange:o,onSelect:w})]})},wr=[{name:"layers",Icon:gt},{name:"github",Icon:Mn},{name:"arrow-right",Icon:Dn},{name:"box",Icon:Pn},{name:"terminal",Icon:Hn},{name:"chevron-right",Icon:Fn},{name:"menu",Icon:Bn},{name:"x",Icon:Me},{name:"sparkles",Icon:$n},{name:"zap",Icon:Kn}],Ke={"ui:text":({label:e,value:_,onChange:r})=>a.jsxs("div",{className:"grid w-full items-center gap-1.5 mb-4",children:[a.jsx(Oe,{className:"text-[9px] uppercase font-black tracking-widest text-zinc-500",children:e}),a.jsx(xt,{type:"text",className:"h-7 text-[11px] bg-zinc-900/50 border-zinc-800 focus-visible:ring-blue-600",value:_||"",onChange:m=>r(m.target.value)})]}),"ui:textarea":({label:e,value:_,onChange:r})=>a.jsxs("div",{className:"grid w-full gap-1.5 mb-4",children:[a.jsx(Oe,{className:"text-[9px] uppercase font-black tracking-widest text-zinc-500",children:e}),a.jsx(Xn,{className:"min-h-[80px] text-[11px] bg-zinc-900/50 border-zinc-800 focus-visible:ring-blue-600 resize-none",value:_||"",onChange:m=>r(m.target.value)})]}),"ui:select":({label:e,value:_,onChange:r,options:m=[]})=>a.jsxs("div",{className:"grid w-full gap-1.5 mb-4",children:[a.jsx(Oe,{className:"text-[9px] uppercase font-black tracking-widest text-zinc-500",children:e}),a.jsxs(to,{value:_||"",onValueChange:r,children:[a.jsx(wt,{className:"w-full h-7 text-[11px] bg-zinc-900/50 border-zinc-800 focus:ring-blue-600",children:a.jsx(yt,{placeholder:"Select..."})}),a.jsx(kt,{className:"dark",children:m.map(u=>a.jsx(ur,{value:u,className:"text-[11px]",children:u},u))})]})]}),"ui:checkbox":({label:e,value:_,onChange:r})=>a.jsxs("div",{className:"flex items-center space-x-2 mb-4 p-2 rounded border border-zinc-800/50 bg-zinc-900/20",children:[a.jsx(Qn,{id:e,checked:!!_,onCheckedChange:m=>r(m===!0)}),a.jsx(Oe,{htmlFor:e,className:"text-[11px] font-medium cursor-pointer select-none text-zinc-300",children:e})]}),"ui:image-picker":({label:e,value:_,onChange:r})=>{const m=_!=null&&typeof _=="object"&&"url"in _?{url:String(_.url??""),alt:String(_.alt??"")}:{url:typeof _=="string"?_:"",alt:""},u=i=>{r(i)};return a.jsx("div",{className:"mb-4",children:a.jsx(co,{label:e,value:m,onChange:u})})},"ui:icon-picker":({label:e,value:_,onChange:r})=>{const[m,u]=q.useState(!1),i=wr.find(o=>o.name===(_||""));return a.jsxs("div",{className:"grid w-full gap-1.5 mb-4",children:[a.jsx(Oe,{className:"text-[9px] uppercase font-black tracking-widest text-zinc-500",children:e}),a.jsxs(pr,{open:m,onOpenChange:u,children:[a.jsx(ro,{asChild:!0,children:a.jsx(Le,{variant:"outline",className:"w-full h-9 rounded-md border border-zinc-800 bg-zinc-900/50 hover:bg-zinc-800/50 flex items-center gap-2 text-left",children:i?a.jsxs(a.Fragment,{children:[a.jsx(i.Icon,{size:16,className:"text-zinc-400 shrink-0"}),a.jsx("span",{className:"text-[11px] text-zinc-300 capitalize truncate",children:i.name})]}):a.jsxs(a.Fragment,{children:[a.jsx(nt,{size:16,className:"text-zinc-500 shrink-0"}),a.jsx("span",{className:"text-[11px] text-zinc-500",children:"Choose icon..."})]})})}),a.jsxs(mr,{className:"sm:max-w-[280px] p-4",children:[a.jsxs(br,{children:[a.jsx(gr,{className:"text-sm",children:"Choose icon"}),a.jsx(vr,{className:"text-xs",children:"Click an icon to select it."})]}),a.jsx("div",{className:"grid grid-cols-5 gap-2 py-2",children:wr.map(({name:o,Icon:n})=>a.jsx("button",{type:"button",onClick:()=>{r(o),u(!1)},className:he("flex items-center justify-center w-10 h-10 rounded-md border transition-colors",_===o?"border-blue-500 bg-blue-500/20 text-blue-400":"border-zinc-800 bg-zinc-900/50 hover:bg-zinc-800/50 text-zinc-400 hover:text-zinc-200"),title:o,children:a.jsx(n,{size:20})},o))})]})]})]})}},_t=e=>{if(e instanceof Ee.z.ZodOptional||e instanceof Ee.z.ZodDefault)return _t(e._def.innerType);if(e instanceof Ee.z.ZodObject){const _={id:crypto.randomUUID()};for(const r in e.shape)r!=="id"&&(_[r]=_t(e.shape[r]));return _}return e instanceof Ee.z.ZodArray?[]:e instanceof Ee.z.ZodString?"":e instanceof Ee.z.ZodNumber?0:e instanceof Ee.z.ZodBoolean?!1:e instanceof Ee.z.ZodEnum?e._def.values[0]:null},zt=e=>e instanceof Ee.z.ZodOptional||e instanceof Ee.z.ZodDefault?zt(e._def.innerType):e,at=(e,_)=>e&&!_?"opacity-10":"opacity-100",Be=(e,_)=>e!=null&&_.toLowerCase()===e.toLowerCase(),uo=(e,_)=>{if(!e)return;const r=_.toLowerCase(),m=Object.entries(e).find(([u])=>u.toLowerCase()===r);return m==null?void 0:m[1]},Ve=({schema:e,data:_,onChange:r,keys:m,expandedItemPath:u,expandedItemIdByField:i,focusedFieldKey:o,onSidebarExpandedItemChange:n})=>{const l=e.shape,h=m!=null?Object.keys(l).filter(x=>m.includes(x)):Object.keys(l),p=u==null?void 0:u[0],w=(p==null?void 0:p.itemId)!=null?{[p.fieldKey]:p.itemId}:i,y=(p==null?void 0:p.fieldKey)??o??null,c=y!=null;return a.jsx("div",{className:"space-y-4",children:h.map(x=>{const d=l[x];if(!d)return null;const v=zt(d),f=d.description||"ui:text",k=_[x];if(f==="ui:image-picker"&&v instanceof Ee.z.ZodObject){const L=Be(y,x),I=Ke["ui:image-picker"]||Ke["ui:text"];return a.jsx("div",{className:`transition-opacity duration-200 ${at(c,L)}`,...L?{"data-jp-focused-field":x}:{},children:a.jsx(I,{label:x,value:k,onChange:O=>r({..._,[x]:O})})},x)}if(v instanceof Ee.z.ZodObject){const L=k||{},I=Be(y,x);return a.jsxs("div",{className:`group/obj mb-6 p-4 border border-zinc-800 rounded-lg bg-zinc-900/20 hover:border-zinc-700 transition-[border-color,opacity] duration-200 ${at(c,I)}`,...I?{"data-jp-focused-field":x}:{},children:[a.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[a.jsx("div",{className:"w-1 h-3 bg-blue-500 rounded-full"}),a.jsx("h4",{className:"text-[10px] font-black uppercase text-zinc-400 tracking-widest",children:x})]}),a.jsx(Ve,{schema:v,data:L,onChange:O=>r({..._,[x]:O}),expandedItemPath:u&&Be(p==null?void 0:p.fieldKey,x)?u.slice(1):void 0,expandedItemIdByField:w,focusedFieldKey:y})]},x)}if(v instanceof Ee.z.ZodArray){const L=Array.isArray(k)?k:[],I=zt(v.element),O=(j,P)=>{if(P<0||P>=L.length)return;const s=[...L],[R]=s.splice(j,1);s.splice(P,0,R),r({..._,[x]:s})},T=Be(y,x),B=Be(p==null?void 0:p.fieldKey,x)?p==null?void 0:p.itemId:void 0,X=uo(w,x)??B;return a.jsxs("div",{className:`mb-8 transition-opacity duration-200 ${at(c,T)}`,...T?{"data-jp-focused-field":x}:{},children:[a.jsxs("div",{className:"flex items-center justify-between mb-3",children:[a.jsxs("label",{className:"text-[10px] font-black uppercase text-zinc-500 tracking-widest",children:[x," (",L.length,")"]}),a.jsxs("button",{type:"button",onClick:()=>{const j=_t(I);r({..._,[x]:[...L,j]})},className:"flex items-center gap-1 px-2 py-1 bg-blue-600/10 hover:bg-blue-600/20 text-blue-500 rounded text-[10px] font-bold transition-colors",children:[a.jsx(sr,{size:12})," Add Item"]})]}),a.jsx("div",{className:"space-y-2",children:L.map((j,P)=>{const s=j,R=s.id||`legacy-${P}`,ee=(typeof s.title=="string"?s.title:null)||(typeof s.label=="string"?s.label:null)||(typeof s.name=="string"?s.name:null)||(typeof s.content=="string"?s.content:null)||(typeof s.text=="string"?s.text:null)||`${x} #${P+1}`,U=X,H=String(s.id??R),$=U!=null&&String(U)===H,re=$&&u&&u.length>1?u.slice(1):void 0,z=c&&T&&U!=null&&!$;return a.jsx(ho,{itemId:H,openItemId:U!=null?String(U):void 0,isFaded:z,index:P,isFirst:P===0,isLast:P===L.length-1,label:ee,onExpandedChange:n?S=>n(S?{fieldKey:x,itemId:H}:null):void 0,onRemove:()=>{const S=L.filter((J,K)=>K!==P);r({..._,[x]:S})},onMoveUp:()=>O(P,P-1),onMoveDown:()=>O(P,P+1),children:I instanceof Ee.z.ZodObject?a.jsx(Ve,{schema:I,data:s||{},expandedItemPath:re,onChange:S=>{const J=[...L];J[P]=S,r({..._,[x]:J})}}):a.jsx("div",{className:"text-[10px] text-red-400",children:"Primitive arrays not supported."})},R)})})]},x)}const E=Ke[f]||Ke["ui:text"],N=v instanceof Ee.z.ZodEnum?v._def.values:void 0,A=Be(y,x);return a.jsx("div",{className:`transition-opacity duration-200 ${at(c,A)}`,...A?{"data-jp-focused-field":x}:{},children:a.jsx(E,{label:x,value:k,options:N,onChange:L=>r({..._,[x]:L})})},x)})})},ho=({itemId:e,openItemId:_,isFaded:r=!1,label:m,onExpandedChange:u,onRemove:i,onMoveUp:o,onMoveDown:n,isFirst:l,isLast:h,children:p})=>{const w=_!=null&&String(_)===String(e),[y,c]=q.useState(w);q.useEffect(()=>{w&&!y&&c(!0),!w&&y&&c(!1)},[w,y]);const x=()=>{const v=!y;c(v),u==null||u(v)},d=w&&y;return a.jsxs("div",{className:`border border-zinc-800 rounded-md bg-zinc-900/40 overflow-hidden transition-opacity duration-200 ${r?"opacity-10":"opacity-100"}`,...d?{"data-jp-expanded-item":e}:{},children:[a.jsxs("div",{className:"flex items-center justify-between px-3 py-2 bg-zinc-900/60",children:[a.jsx("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:a.jsxs("button",{type:"button",onClick:x,className:"flex items-center gap-2 text-[10px] font-bold text-zinc-300 uppercase tracking-tight truncate",children:[y?a.jsx(mt,{size:12,className:"shrink-0"}):a.jsx(pt,{size:12,className:"shrink-0"}),a.jsx("span",{className:"truncate",children:m})]})}),a.jsxs("div",{className:"flex items-center gap-1 shrink-0 ml-2",children:[a.jsx("button",{type:"button",disabled:l,onClick:o,className:"text-zinc-500 hover:text-blue-400 disabled:opacity-20 p-1 transition-colors",children:a.jsx(Ln,{size:12})}),a.jsx("button",{type:"button",disabled:h,onClick:n,className:"text-zinc-500 hover:text-blue-400 disabled:opacity-20 p-1 transition-colors",children:a.jsx(On,{size:12})}),a.jsx("div",{className:"w-px h-3 bg-zinc-800 mx-1"}),a.jsx("button",{type:"button",onClick:i,className:"text-zinc-600 hover:text-red-500 transition-colors p-1",children:a.jsx(ot,{size:12})})]})]}),y&&a.jsx("div",{className:"p-4 border-t border-zinc-800 bg-black/20",children:p})]})},yr=be.forwardRef(({className:e,checked:_=!1,onCheckedChange:r,...m},u)=>{const i=()=>r==null?void 0:r(!_);return a.jsx("button",{ref:u,type:"button",role:"switch","aria-checked":_,"data-state":_?"checked":"unchecked",onClick:i,className:he("peer inline-flex h-4 w-7 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2 focus-visible:ring-offset-zinc-900","disabled:cursor-not-allowed disabled:opacity-50",_?"bg-blue-600":"bg-zinc-700",e),...m,children:a.jsx("span",{className:he("pointer-events-none block h-3 w-3 rounded-full bg-white shadow ring-0 transition-transform",_?"translate-x-3":"translate-x-0.5")})})});yr.displayName="Switch";const kr=new Set(["anchorId","paddingTop","paddingBottom","theme","container"]),_r=({selectedSection:e,pageData:_,allSectionsData:r=[],onUpdate:m,onUpdateSection:u,onClose:i,expandedItemPath:o=null,onReorderSection:n,allLayers:l=[],activeSectionId:h,onRequestScrollToSection:p,onDeleteSection:w,onAddSection:y,hasChanges:c=!1,autosaveEnabled:x=!0,onAutosaveChange:d,onExportHTML:v,onExportJSON:f,onResetToFile:k,showResetToFile:E=!1})=>{const{schemas:N}=He(),[A,L]=q.useState(!0),[I,O]=q.useState(null),[T,B]=q.useState(null),[X,j]=q.useState(null),[P,s]=q.useState(null),[R,ee]=q.useState(null),U=q.useRef(null),H=q.useRef(null),$=q.useDeferredValue(e),re=e!=null&&($==null?void 0:$.id)!==e.id,z=o&&o.length>0?o:P?[P]:null,S=z!=null&&z.length?{fieldKey:z[z.length-1].fieldKey,itemId:z[z.length-1].itemId}:null,J=q.useRef(o);q.useEffect(()=>{J.current!=null&&o==null&&s(null),J.current=o},[o]),q.useEffect(()=>{(e==null?void 0:e.id)!=null&&L(!1)},[e==null?void 0:e.id]);const K=()=>{const b=requestAnimationFrame(()=>{requestAnimationFrame(()=>{const g=U.current;g&&g.scrollTo({top:0,behavior:"smooth"})})});return()=>cancelAnimationFrame(b)},Q=q.useRef(A);q.useEffect(()=>{if(A&&!Q.current){const b=K();return Q.current=A,b}Q.current=A},[A]),q.useEffect(()=>{if(!S)return;const b=U.current;if(!b)return;const g=requestAnimationFrame(()=>{const C=b.querySelector("[data-jp-expanded-item]")??b.querySelector("[data-jp-focused-field]");C&&C.scrollIntoView({behavior:"smooth",block:"start"})});return()=>cancelAnimationFrame(g)},[S]);const fe=b=>{L(!1),p==null||p(b)},se=()=>{L(b=>{const g=!b;return g&&K(),g})},le=(b,g)=>{g.stopPropagation(),r.length>0&&u?ee(b):(L(!1),p==null||p(b))};q.useEffect(()=>{if(R==null)return;const b=g=>{g.key==="Escape"&&ee(null)};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[R]);const ce=b=>{I===b?(w==null||w(b),O(null)):(O(b),setTimeout(()=>O(null),3e3))},ge=(b,g)=>{B(g),b.dataTransfer.effectAllowed="move",b.dataTransfer.setData("application/json",JSON.stringify({sectionId:g}))},pe=(b,g)=>{b.preventDefault(),T!==g&&j(g)},_e=(b,g)=>{if(b.preventDefault(),B(null),j(null),!T||T===g||!n)return;const C=l.filter(D=>D.scope==="local"),M=C.findIndex(D=>D.id===T),G=C.findIndex(D=>D.id===g);M===-1||G===-1||n(T,G)},je=e?_.sections.find(b=>b.id===e.id):void 0,t=$?_.sections.find(b=>b.id===$.id):void 0,Z=$?N[$.type]:void 0,F=l.length>0&&(A||!e);return a.jsxs("aside",{className:"relative w-full h-full bg-zinc-950 border-l border-zinc-800 flex flex-col shadow-2xl shrink-0 min-w-0 animate-in slide-in-from-right duration-300",children:[a.jsxs("div",{className:"sticky top-0 z-10 flex flex-col shrink-0 bg-zinc-950 border-b border-zinc-800",children:[a.jsxs("div",{className:"py-2 px-3 flex justify-between items-center bg-zinc-900/50",children:[a.jsx("div",{className:"flex items-center gap-2 min-w-0",children:a.jsxs("div",{children:[a.jsx("h3",{className:"text-sm font-bold text-white leading-tight",children:"Inspector"}),a.jsx("p",{className:"text-[10px] font-mono uppercase tracking-wider flex items-center gap-1.5 leading-tight mt-0.5",children:e?a.jsxs(a.Fragment,{children:[n&&e.scope==="local"&&a.jsx("span",{className:"text-zinc-500 shrink-0",title:"Reorder section on page",children:a.jsx(bt,{size:12,strokeWidth:2})}),a.jsx("span",{className:"text-blue-400",children:e.type}),a.jsx("span",{className:"text-zinc-600",children:"|"}),a.jsx("span",{className:"text-zinc-500",children:e.scope})]}):a.jsx("span",{className:"text-zinc-500",children:"Waiting for Selection..."})})]})}),a.jsxs("div",{className:"flex items-center gap-1 shrink-0",children:[y!=null&&a.jsxs("button",{type:"button",onClick:y,className:"flex items-center gap-1.5 text-zinc-500 hover:text-white transition-colors p-1 hover:bg-zinc-800 rounded",title:"Add section","aria-label":"Add section",children:[a.jsx(sr,{size:16}),a.jsx("span",{className:"text-xs font-medium",children:"Add section"})]}),a.jsx("button",{type:"button",onClick:i,className:"p-1 rounded text-zinc-500 hover:text-white hover:bg-zinc-800 transition-colors",title:"Close Inspector","aria-label":"Close Inspector",children:a.jsx(Me,{size:16})})]})]}),l.length>0&&a.jsxs("div",{className:"bg-zinc-900/20 opacity-100",children:[a.jsxs("button",{type:"button",onClick:se,className:"w-full flex items-center justify-between py-3 px-4 hover:bg-zinc-800/30 transition-colors cursor-pointer text-left rounded-none border-0 bg-transparent","aria-expanded":F,"aria-label":F?"Collapse Page Layers":"Expand Page Layers",children:[a.jsxs("span",{className:"flex items-center gap-2 min-w-0",children:[a.jsx(gt,{size:14,className:"text-primary shrink-0"}),a.jsx("span",{className:"text-xs font-bold text-white",children:"Page Layers"}),a.jsxs("span",{className:"text-[10px] text-zinc-500",children:["(",l.length,")"]})]}),a.jsx("span",{className:"text-zinc-500 shrink-0 pointer-events-none","aria-hidden":!0,children:F?a.jsx(mt,{size:14}):a.jsx(pt,{size:14})})]}),!F&&e&&(()=>{const b=l.find(C=>C.id===e.id);if(!b)return null;const g=h===e.id;return a.jsxs("div",{className:"px-3 py-2 flex items-center gap-2 bg-primary/10 border-t border-zinc-800/50",children:[a.jsx(bt,{size:12,className:"text-primary shrink-0"}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsxs("p",{className:"text-[10px] font-mono uppercase tracking-wider text-primary truncate flex items-center gap-1",children:[b.type,g&&a.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-emerald-500 shrink-0","aria-hidden":!0})]}),a.jsx("p",{className:"text-xs text-white font-medium truncate",children:b.title??`${b.type} section`})]}),a.jsx("button",{type:"button",onClick:C=>le(b.id,C),className:"p-1 rounded shrink-0 text-zinc-500 hover:text-primary transition-colors",title:`Open settings for ${b.type}`,"aria-label":`Open settings for ${b.type} section`,children:a.jsx(lr,{size:12})})]})})()]})]}),a.jsxs("div",{ref:U,className:"flex-1 min-h-0 overflow-y-auto flex flex-col custom-scrollbar",children:[F&&a.jsxs("div",{className:"border-b border-zinc-800 bg-zinc-900/20 px-3 pb-3 pt-1",children:[l.map(b=>{const g=(e==null?void 0:e.id)===b.id,C=h===b.id,M=T===b.id,G=X===b.id,D=b.scope==="local"&&w,oe=b.scope==="local"&&!!n;return a.jsxs("div",{draggable:oe,onDragStart:V=>oe&&ge(V,b.id),onDragOver:V=>oe&&pe(V,b.id),onDragLeave:()=>j(null),onDrop:V=>oe&&_e(V,b.id),onDragEnd:()=>{B(null),j(null)},className:he("flex items-center gap-2 py-2.5 px-2 rounded-sm border-t transition-colors",G&&"border-t-2 border-dashed border-primary bg-primary/5",!G&&g&&"border-primary/30 bg-primary/10",!G&&!g&&"border-zinc-800/90 hover:bg-zinc-800/40",M&&"opacity-40",oe?"cursor-grab active:cursor-grabbing":"cursor-default"),children:[a.jsx(bt,{size:12,className:`shrink-0 ${g?"text-primary":"text-zinc-500"}`}),a.jsxs("button",{type:"button",onClick:()=>fe(b.id),className:"flex-1 min-w-0 text-left",children:[a.jsxs("p",{className:"text-[10px] font-mono uppercase tracking-wider text-zinc-400 truncate flex items-center gap-1",children:[b.type,C&&a.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-emerald-500 shrink-0","aria-hidden":!0})]}),a.jsx("p",{className:`text-xs truncate ${g?"text-white font-medium":"text-zinc-500"}`,children:b.title??`${b.type} section`})]}),a.jsx("button",{type:"button",onClick:V=>le(b.id,V),className:"p-1 rounded shrink-0 text-zinc-500 hover:text-primary transition-colors",title:`Open settings for ${b.type}`,"aria-label":`Open settings for ${b.type} section`,children:a.jsx(lr,{size:12})}),D&&a.jsx("button",{type:"button",onClick:V=>{V.stopPropagation(),ce(b.id)},className:`p-1 rounded shrink-0 ${I===b.id?"bg-red-500/20 text-red-400":"text-zinc-500 hover:text-red-400"}`,title:"Delete section",children:a.jsx(ot,{size:12})})]},b.id)}),I&&a.jsxs("div",{className:"flex items-center gap-2 py-2 px-3 mt-1 rounded-md bg-amber-500/10 border border-amber-500/30",children:[a.jsx(Rn,{size:12,className:"text-amber-500 shrink-0"}),a.jsx("p",{className:"text-[10px] text-amber-500 font-medium",children:"Click delete again to confirm"})]})]}),S&&je&&(()=>{const b=je.data||{};let g;if(z&&z.length>0){let C=b;for(const D of z){const Y=C==null?void 0:C[D.fieldKey];D.itemId!=null&&Array.isArray(Y)?C=Y.find(V=>String(V==null?void 0:V.id)===String(D.itemId))??null:C=Y}const M=C||{},G=S.fieldKey;g=(typeof M.name=="string"?M.name:null)??(typeof M.title=="string"?M.title:null)??(typeof M.label=="string"?M.label:null)??G.charAt(0).toUpperCase()+G.slice(1).replace(/([A-Z])/g," $1").trim()}else{const C=S.fieldKey;if(S.itemId!=null){const D=(Array.isArray(b[C])?b[C]:[]).find(Y=>String(Y==null?void 0:Y.id)===String(S.itemId))||{};g=(typeof D.name=="string"?D.name:null)??(typeof D.title=="string"?D.title:null)??(typeof D.label=="string"?D.label:null)??C}else g=C.charAt(0).toUpperCase()+C.slice(1).replace(/([A-Z])/g," $1").trim()}return a.jsxs("div",{className:"px-4 py-2 border-b border-zinc-800 bg-zinc-900/50",children:[a.jsx("p",{className:"text-[10px] font-bold uppercase tracking-widest text-zinc-500",children:"Editing"}),a.jsx("p",{className:"text-xs font-medium text-white truncate mt-0.5",children:g})]})})(),a.jsx("div",{className:"flex-1 p-4",onFocusCapture:()=>e!=null&&L(!1),children:e?re?a.jsxs("div",{className:"space-y-4 animate-pulse",role:"status","aria-label":"Loading form",children:[a.jsx("div",{className:"h-4 w-3/4 rounded bg-zinc-800"}),a.jsx("div",{className:"h-10 rounded bg-zinc-800/80"}),a.jsx("div",{className:"h-10 rounded bg-zinc-800/80"}),a.jsx("div",{className:"h-20 rounded bg-zinc-800/80"}),a.jsx("div",{className:"h-10 rounded bg-zinc-800/60"})]}):Z?(()=>{const g=Object.keys(Z.shape).filter(Y=>!kr.has(Y)),C=(t==null?void 0:t.data)||{};if(g.length===0)return a.jsx("p",{className:"text-xs text-zinc-500",children:"No content fields in schema."});const M=z==null?void 0:z[0],G=(M==null?void 0:M.itemId)!=null?{[M.fieldKey]:M.itemId}:(S==null?void 0:S.itemId)!=null?{[S.fieldKey]:S.itemId}:void 0,D=(M==null?void 0:M.fieldKey)??(S==null?void 0:S.fieldKey)??null;return a.jsx(Ve,{schema:Z,data:C,onChange:Y=>m(Y),keys:g,expandedItemPath:z,expandedItemIdByField:G,focusedFieldKey:D,onSidebarExpandedItemChange:s})})():a.jsxs("div",{className:"text-xs text-red-400 p-4 border border-dashed border-red-900/30 rounded bg-red-900/10",children:["No schema found for ",($==null?void 0:$.type)??e.type]}):a.jsx("p",{className:"text-xs text-zinc-500 text-center py-8",children:"Select a layer above or on the stage to edit."})})]}),a.jsx("div",{className:"px-4 py-2.5 border-t border-zinc-800 bg-zinc-900/50 flex items-center gap-3 opacity-100 flex-wrap",children:(d!=null||v!=null||f!=null||k!=null)&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:he("w-2 h-2 rounded-full transition-colors duration-300 shrink-0",c?"bg-amber-500 shadow-[0_0_8px_rgba(245,158,11,0.5)]":"bg-emerald-500")}),a.jsx("span",{className:he("text-xs font-medium transition-colors duration-300 shrink-0",c?"text-amber-500":"text-zinc-500"),children:c?"Unsaved Changes":"All Changes Saved"}),d!=null&&a.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[a.jsx(yr,{id:"autosave-toggle",checked:x,onCheckedChange:d,className:"shrink-0"}),a.jsx(Oe,{htmlFor:"autosave-toggle",className:"text-[11px] font-medium text-zinc-400 cursor-pointer",children:"Autosave"})]}),v!=null&&a.jsxs("button",{type:"button",onClick:v,className:"shrink-0 flex items-center gap-1.5 px-2 py-1 rounded text-[11px] font-medium transition-all border border-zinc-700 bg-zinc-900 text-zinc-200 hover:bg-zinc-800 hover:border-zinc-600",children:[a.jsx(or,{size:12,className:"shrink-0"}),a.jsx("span",{children:"HTML"})]}),f!=null&&a.jsxs("button",{type:"button",onClick:f,disabled:!c,className:he("shrink-0 flex items-center gap-1.5 px-2 py-1 rounded text-[11px] font-medium transition-all",c?"bg-blue-600 text-white hover:bg-blue-500 shadow-blue-900/20":"bg-zinc-900 text-zinc-600 cursor-not-allowed"),children:[a.jsx(ir,{size:12,className:"shrink-0"}),a.jsx("span",{children:"JSON"})]}),k!=null&&E&&a.jsx("button",{type:"button",onClick:k,className:"shrink-0 flex items-center gap-1.5 px-2 py-1 rounded text-[11px] font-medium transition-all border border-zinc-700 bg-zinc-900 text-zinc-400 hover:bg-zinc-800 hover:border-zinc-600 hover:text-zinc-300",title:"Ripristina la pagina dal file (elimina le modifiche in memoria)",children:a.jsx("span",{children:"Ripristina da file"})})]})}),R!=null&&r.length>0&&u!=null&&(()=>{const b=r.find(V=>V.id===R),g=l.find(V=>V.id===R);if(!b)return null;const C=(g==null?void 0:g.scope)==="global"?"global":"local",M=b.type,G=N[M],Y=(G?Object.keys(G.shape):[]).filter(V=>kr.has(V)),oe=b.data??{};return Y.length===0?a.jsx("div",{className:"fixed inset-0 z-[100] flex items-center justify-center bg-black/60 p-4",role:"dialog","aria-modal":"true","aria-labelledby":"section-settings-modal-title",onClick:()=>ee(null),children:a.jsxs("div",{ref:H,className:"relative rounded-lg border border-zinc-700 bg-zinc-900 shadow-xl max-w-md w-full overflow-hidden",onClick:V=>V.stopPropagation(),children:[a.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-zinc-800",children:[a.jsxs("h2",{id:"section-settings-modal-title",className:"text-sm font-bold text-white",children:["Settings — ",M]}),a.jsx("button",{type:"button",onClick:()=>ee(null),className:"p-1.5 rounded text-zinc-500 hover:text-white hover:bg-zinc-800 transition-colors","aria-label":"Close settings",children:a.jsx(Me,{size:18})})]}),a.jsx("div",{className:"p-4",children:a.jsx("p",{className:"text-xs text-zinc-500",children:"No settings fields for this section."})})]})}):a.jsx("div",{className:"fixed inset-0 z-[100] flex items-center justify-center bg-black/60 p-4",role:"dialog","aria-modal":"true","aria-labelledby":"section-settings-modal-title",onClick:V=>V.target===V.currentTarget&&ee(null),children:a.jsxs("div",{ref:H,className:"relative rounded-lg border border-zinc-700 bg-zinc-900 shadow-xl max-w-md w-full max-h-[85vh] flex flex-col overflow-hidden",onClick:V=>V.stopPropagation(),children:[a.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-zinc-800 shrink-0",children:[a.jsxs("h2",{id:"section-settings-modal-title",className:"text-sm font-bold text-white",children:["Settings — ",M]}),a.jsx("button",{type:"button",onClick:()=>ee(null),className:"p-1.5 rounded text-zinc-500 hover:text-white hover:bg-zinc-800 transition-colors","aria-label":"Close settings (Escape)",children:a.jsx(Me,{size:18})})]}),a.jsx("div",{className:"flex-1 overflow-y-auto p-4 custom-scrollbar",children:a.jsx(Ve,{schema:G,data:oe,onChange:V=>{const W={...b.data,...V};u(R,C,M,W)},keys:Y})})]})})})()]})},zr=({draft:e,globalDraft:_,themeConfig:r,slug:m,selectedId:u,scrollToSectionId:i,onScrollRequested:o})=>{const n=q.useRef(null),l=q.useCallback(()=>{var h;(h=n.current)!=null&&h.contentWindow&&n.current.contentWindow.postMessage({type:we.UPDATE_DRAFTS,draft:e,globalDraft:_,themeConfig:r},"*")},[e,_,r]);return q.useEffect(()=>{l()},[l]),q.useEffect(()=>{const h=p=>{p.data.type===we.STAGE_READY&&l()};return window.addEventListener("message",h),()=>window.removeEventListener("message",h)},[l]),q.useEffect(()=>{var h;(h=n.current)!=null&&h.contentWindow&&n.current.contentWindow.postMessage({type:we.SYNC_SELECTION,selectedId:u},"*")},[u]),q.useEffect(()=>{var h;!i||!((h=n.current)!=null&&h.contentWindow)||(n.current.contentWindow.postMessage({type:we.REQUEST_SCROLL_TO_SECTION,sectionId:i},"*"),o==null||o())},[i,o]),a.jsx("div",{className:"w-full h-full bg-background overflow-hidden",children:a.jsx("iframe",{ref:n,src:`/admin/preview/${m}`,className:"w-full h-full border-none",title:"JsonPages Stage"})})},st={setTheme:e=>{const _=document.documentElement,{tokens:r}=e,m={"--theme-primary":r.colors.primary,"--theme-secondary":r.colors.secondary,"--theme-accent":r.colors.accent,"--theme-background":r.colors.background,"--theme-surface":r.colors.surface,"--theme-surface-alt":r.colors.surfaceAlt,"--theme-text":r.colors.text,"--theme-text-muted":r.colors.textMuted,"--theme-border":r.colors.border,"--theme-font-primary":r.typography.fontFamily.primary,"--theme-font-mono":r.typography.fontFamily.mono,"--theme-radius-sm":r.borderRadius.sm,"--theme-radius-md":r.borderRadius.md,"--theme-radius-lg":r.borderRadius.lg};Object.entries(m).forEach(([u,i])=>{_.style.setProperty(u,i)})}},jr=()=>{var c;const[e,_]=q.useState(null),[r,m]=q.useState(null),[u,i]=q.useState(null),[o,n]=q.useState(null),[l,h]=q.useState(!1);if(q.useEffect(()=>{const x=d=>{d.data.type===we.UPDATE_DRAFTS&&(_(d.data.draft),m(d.data.globalDraft),d.data.themeConfig&&st.setTheme(d.data.themeConfig)),d.data.type===we.SYNC_SELECTION&&i(d.data.selectedId),d.data.type===we.REQUEST_SCROLL_TO_SECTION&&n(d.data.sectionId??null),d.data.type===we.REQUEST_CLEAN_HTML&&(h(!0),setTimeout(()=>{const v=document.documentElement.outerHTML;window.parent.postMessage({type:we.SEND_CLEAN_HTML,html:v},"*"),h(!1)},50))};return window.addEventListener("message",x),window.parent.postMessage({type:we.STAGE_READY},"*"),()=>window.removeEventListener("message",x)},[]),q.useEffect(()=>{const x=d=>{var j,P,s,R,ee,U,H,$;const v=d.target,f=d.clientX,k=d.clientY;let E=null,N=v;for(;N&&N!==document.body;){const re=(j=N.getAttribute)==null?void 0:j.call(N,"data-section-id"),z=(P=N.getAttribute)==null?void 0:P.call(N,"data-section-type"),S=(s=N.getAttribute)==null?void 0:s.call(N,"data-section-scope");if(re&&z&&S){E=N;break}N=N.parentElement}if(!E)return;d.preventDefault(),d.stopPropagation();const A=E.getAttribute("data-section-id"),L=E.getAttribute("data-section-type"),I=E.getAttribute("data-section-scope");if(!A||!L||!I)return;const O={id:A,type:L,scope:I};if(v===E){window.parent.postMessage({type:we.SECTION_SELECT,section:O},"*");return}const T=document.elementFromPoint(f,k)??v;if(!T||!E.contains(T)){window.parent.postMessage({type:we.SECTION_SELECT,section:O},"*");return}if(T===E){window.parent.postMessage({type:we.SECTION_SELECT,section:O},"*");return}const B=[];for(N=T;N&&N!==E;){const re=(R=N.getAttribute)==null?void 0:R.call(N,"data-jp-item-id"),z=(ee=N.getAttribute)==null?void 0:ee.call(N,"data-jp-item-field");re&&z&&B.push({fieldKey:z||"items",itemId:re}),N=N.parentElement}if(B.reverse(),B.length===0)for(N=T;N&&N!==E;){const re=(U=N.getAttribute)==null?void 0:U.call(N,"data-jp-field");if(re){B.push({fieldKey:re});break}N=N.parentElement}if(B.length===0&&T){let re=null;const z=S=>{var K,Q;const J=S.getBoundingClientRect();if(J.left<=f&&f<=J.right&&J.top<=k&&k<=J.bottom){for(let fe=0;fe<S.children.length;fe++)z(S.children[fe]);((K=S.getAttribute)!=null&&K.call(S,"data-jp-item-id")||(Q=S.getAttribute)!=null&&Q.call(S,"data-jp-field"))&&(re=S)}};if(z(T),re){const S=re,J=(H=S.getAttribute)==null?void 0:H.call(S,"data-jp-item-id"),K=($=S.getAttribute)==null?void 0:$.call(S,"data-jp-field");J&&K?B.push({fieldKey:K||"items",itemId:J}):K&&B.push({fieldKey:K})}}const X={type:we.SECTION_SELECT,section:O};if(B.length>0){X.itemPath=B;const re=B[0];re.itemId!=null?(X.itemField=re.fieldKey,X.itemId=re.itemId):X.itemField=re.fieldKey}window.parent.postMessage(X,"*")};return document.addEventListener("click",x,!0),()=>document.removeEventListener("click",x,!0)},[]),q.useEffect(()=>{if(!o)return;const x=setTimeout(()=>n(null),600);return()=>clearTimeout(x)},[o]),!e||!r)return a.jsx("div",{className:"flex items-center justify-center h-screen w-full bg-zinc-950 text-zinc-500 font-mono text-xs uppercase tracking-widest animate-pulse",children:"Waiting for Studio Signal..."});const p=(c=r.header)==null?void 0:c.data,w={main:(p==null?void 0:p.links)??[]},y=x=>{window.parent.postMessage({type:we.ACTIVE_SECTION_CHANGED,activeSectionId:x},"*")};return a.jsx(rt,{mode:l?"visitor":"studio",children:a.jsx("div",{className:l?"":"jp-ice-active",children:a.jsx(vt,{pageConfig:e,siteConfig:r,menuConfig:w,selectedId:l?null:u,scrollToSectionId:o,onActiveSectionChange:y})})})};function fo(e){return e.split("-").map(_=>_.charAt(0).toUpperCase()+_.slice(1).toLowerCase()).join(" ")}const Er=({open:e,onClose:_,sectionTypes:r,sectionTypeLabels:m,onSelect:u})=>{if(q.useEffect(()=>{if(!e)return;const o=n=>{n.key==="Escape"&&_()};return window.addEventListener("keydown",o),()=>window.removeEventListener("keydown",o)},[e,_]),!e)return null;const i=o=>(m==null?void 0:m[o])??fo(o);return a.jsxs("div",{className:"fixed inset-0 z-[100] flex items-center justify-center p-4",role:"dialog","aria-modal":"true","aria-labelledby":"jp-add-section-title",children:[a.jsx("div",{className:"absolute inset-0 bg-zinc-950/80 backdrop-blur-sm",onClick:_,"aria-hidden":"true"}),a.jsxs("div",{className:"relative w-full max-w-md max-h-[85vh] flex flex-col rounded-xl border border-zinc-700 bg-zinc-900 shadow-2xl overflow-hidden",children:[a.jsxs("div",{className:"flex items-center justify-between px-5 py-4 border-b border-zinc-800 shrink-0",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("div",{className:"p-1.5 rounded-lg bg-blue-500/20 text-blue-400",children:a.jsx(gt,{size:18})}),a.jsx("h2",{id:"jp-add-section-title",className:"text-sm font-bold text-white",children:"Add section"})]}),a.jsx("button",{type:"button",onClick:_,className:"p-1.5 rounded-md text-zinc-400 hover:text-white hover:bg-zinc-800 transition-colors","aria-label":"Close",children:a.jsx(Me,{size:18})})]}),a.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:r.length===0?a.jsx("p",{className:"text-xs text-zinc-500 text-center py-8",children:"No section types available. Configure addableSectionTypes or schemas."}):a.jsx("ul",{className:"grid gap-2",role:"listbox",children:r.map(o=>a.jsx("li",{role:"option",children:a.jsxs("button",{type:"button",onClick:()=>{u(o),_()},className:he("w-full flex items-center gap-3 px-4 py-3 rounded-lg text-left","border border-zinc-700/80 bg-zinc-800/50","hover:border-blue-500/40 hover:bg-zinc-800 transition-colors","focus:outline-none focus:ring-2 focus:ring-blue-500/50 focus:ring-offset-2 focus:ring-offset-zinc-900"),children:[a.jsx("span",{className:"flex items-center justify-center w-9 h-9 rounded-md bg-zinc-700/80 text-zinc-400 text-xs font-mono shrink-0",children:o}),a.jsx("span",{className:"text-sm font-medium text-zinc-200",children:i(o)})]})},o))})}),a.jsx("div",{className:"px-5 py-3 border-t border-zinc-800 shrink-0",children:a.jsx("p",{className:"text-[10px] text-zinc-500 uppercase tracking-wider",children:"Choose a section type to add to the bottom of this page"})})]})]})},Sr=()=>a.jsxs("div",{style:{"--local-bg":"var(--color-background)","--local-text":"var(--color-text)","--local-text-muted":"var(--color-text-muted)","--local-primary":"var(--color-primary)","--local-radius-md":"var(--radius-md)"},className:"min-h-screen flex flex-col items-center justify-center bg-[var(--local-bg)] px-6",children:[a.jsx("h1",{className:"text-6xl font-bold text-[var(--local-text)] mb-4",children:"404"}),a.jsx("p",{className:"text-xl text-[var(--local-text-muted)] mb-8",children:"Page not found"}),a.jsx("a",{href:"/",className:"inline-flex items-center gap-2 px-6 py-3 rounded-[var(--local-radius-md)] bg-[var(--local-primary)] text-[var(--local-bg)] font-semibold text-sm hover:opacity-90 transition-opacity",children:"Back to Home"})]}),po='/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-900:oklch(39.6% .141 25.723);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-500:oklch(76.9% .188 70.08);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-900:oklch(37.9% .146 265.522);--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-300:oklch(87.1% .006 286.286);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-600:oklch(44.2% .017 285.786);--color-zinc-700:oklch(37% .013 285.805);--color-zinc-800:oklch(27.4% .006 286.033);--color-zinc-900:oklch(21% .006 285.885);--color-zinc-950:oklch(14.1% .005 285.823);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--tracking-tight:-.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-background:var(--background);--color-foreground:var(--foreground);--color-primary:var(--primary)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border)}body{background-color:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.bottom-0{bottom:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.left-1\\/2{left:50%}.left-3{left:calc(var(--spacing)*3)}.z-0{z-index:0}.z-10{z-index:10}.z-50,.z-\\[50\\]{z-index:50}.z-\\[60\\]{z-index:60}.z-\\[70\\]{z-index:70}.z-\\[100\\]{z-index:100}.z-\\[9998\\]{z-index:9998}.z-\\[9999\\]{z-index:9999}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-4{margin:calc(var(--spacing)*4)}.mx-1{margin-inline:calc(var(--spacing)*1)}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\\.5{margin-top:calc(var(--spacing)*1.5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.ml-2{margin-left:calc(var(--spacing)*2)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.aspect-\\[4\\/3\\]{aspect-ratio:4/3}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.h-1\\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-14{height:calc(var(--spacing)*14)}.h-20{height:calc(var(--spacing)*20)}.h-40{height:calc(var(--spacing)*40)}.h-full{height:100%}.h-screen{height:100vh}.max-h-\\[45vh\\]{max-height:45vh}.max-h-\\[85vh\\]{max-height:85vh}.max-h-\\[90vh\\]{max-height:90vh}.max-h-\\[320px\\]{max-height:320px}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-16{min-height:calc(var(--spacing)*16)}.min-h-\\[18px\\]{min-height:18px}.min-h-\\[80px\\]{min-height:80px}.min-h-\\[240px\\]{min-height:240px}.min-h-screen{min-height:100vh}.w-1{width:calc(var(--spacing)*1)}.w-1\\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.w-3\\/4{width:75%}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-\\[calc\\(100\\%-2rem\\)\\]{width:calc(100% - 2rem)}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.max-w-2xl{max-width:var(--container-2xl)}.max-w-\\[280px\\]{max-width:280px}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\\[18px\\]{min-width:18px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-0\\.5{--tw-translate-x:calc(var(--spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-3{--tw-translate-x:calc(var(--spacing)*3);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.animate-pulse{animation:var(--animate-pulse)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:calc(var(--spacing)*0)}.gap-0\\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\\[var\\(--local-radius-md\\)\\]{border-radius:var(--local-radius-md)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.border-amber-500\\/20{border-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.border-amber-500\\/20{border-color:color-mix(in oklab,var(--color-amber-500)20%,transparent)}}.border-amber-500\\/30{border-color:#f99c004d}@supports (color:color-mix(in lab,red,red)){.border-amber-500\\/30{border-color:color-mix(in oklab,var(--color-amber-500)30%,transparent)}}.border-blue-500{border-color:var(--color-blue-500)}.border-blue-500\\/50{border-color:#3080ff80}@supports (color:color-mix(in lab,red,red)){.border-blue-500\\/50{border-color:color-mix(in oklab,var(--color-blue-500)50%,transparent)}}.border-blue-600{border-color:var(--color-blue-600)}.border-primary,.border-primary\\/30{border-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\\/30{border-color:color-mix(in oklab,var(--color-primary)30%,transparent)}}.border-red-500\\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.border-red-500\\/20{border-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.border-red-500\\/50{border-color:#fb2c3680}@supports (color:color-mix(in lab,red,red)){.border-red-500\\/50{border-color:color-mix(in oklab,var(--color-red-500)50%,transparent)}}.border-red-900\\/30{border-color:#82181a4d}@supports (color:color-mix(in lab,red,red)){.border-red-900\\/30{border-color:color-mix(in oklab,var(--color-red-900)30%,transparent)}}.border-transparent{border-color:#0000}.border-zinc-700{border-color:var(--color-zinc-700)}.border-zinc-700\\/80{border-color:#3f3f46cc}@supports (color:color-mix(in lab,red,red)){.border-zinc-700\\/80{border-color:color-mix(in oklab,var(--color-zinc-700)80%,transparent)}}.border-zinc-800{border-color:var(--color-zinc-800)}.border-zinc-800\\/50{border-color:#27272a80}@supports (color:color-mix(in lab,red,red)){.border-zinc-800\\/50{border-color:color-mix(in oklab,var(--color-zinc-800)50%,transparent)}}.border-zinc-800\\/90{border-color:#27272ae6}@supports (color:color-mix(in lab,red,red)){.border-zinc-800\\/90{border-color:color-mix(in oklab,var(--color-zinc-800)90%,transparent)}}.bg-\\[var\\(--color-background\\)\\]{background-color:var(--color-background)}.bg-\\[var\\(--local-bg\\)\\]{background-color:var(--local-bg)}.bg-\\[var\\(--local-primary\\)\\]{background-color:var(--local-primary)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\\/5{background-color:#f99c000d}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\\/5{background-color:color-mix(in oklab,var(--color-amber-500)5%,transparent)}}.bg-amber-500\\/10{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\\/10{background-color:color-mix(in oklab,var(--color-amber-500)10%,transparent)}}.bg-background{background-color:var(--color-background)}.bg-black\\/0{background-color:#0000}@supports (color:color-mix(in lab,red,red)){.bg-black\\/0{background-color:color-mix(in oklab,var(--color-black)0%,transparent)}}.bg-black\\/20{background-color:#0003}@supports (color:color-mix(in lab,red,red)){.bg-black\\/20{background-color:color-mix(in oklab,var(--color-black)20%,transparent)}}.bg-black\\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\\/30{background-color:color-mix(in oklab,var(--color-black)30%,transparent)}}.bg-black\\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-black\\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\\/60{background-color:color-mix(in oklab,var(--color-black)60%,transparent)}}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\\/5{background-color:#3080ff0d}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\\/5{background-color:color-mix(in oklab,var(--color-blue-500)5%,transparent)}}.bg-blue-500\\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\\/10{background-color:color-mix(in oklab,var(--color-blue-500)10%,transparent)}}.bg-blue-500\\/15{background-color:#3080ff26}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\\/15{background-color:color-mix(in oklab,var(--color-blue-500)15%,transparent)}}.bg-blue-500\\/20{background-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\\/20{background-color:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.bg-blue-500\\/\\[0\\.04\\]{background-color:#3080ff0a}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\\/\\[0\\.04\\]{background-color:color-mix(in oklab,var(--color-blue-500)4%,transparent)}}.bg-blue-600{background-color:var(--color-blue-600)}.bg-blue-600\\/10{background-color:#155dfc1a}@supports (color:color-mix(in lab,red,red)){.bg-blue-600\\/10{background-color:color-mix(in oklab,var(--color-blue-600)10%,transparent)}}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-primary\\/5{background-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\\/5{background-color:color-mix(in oklab,var(--color-primary)5%,transparent)}}.bg-primary\\/10{background-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\\/10{background-color:color-mix(in oklab,var(--color-primary)10%,transparent)}}.bg-red-500\\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\\/10{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.bg-red-500\\/15{background-color:#fb2c3626}@supports (color:color-mix(in lab,red,red)){.bg-red-500\\/15{background-color:color-mix(in oklab,var(--color-red-500)15%,transparent)}}.bg-red-500\\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\\/20{background-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.bg-red-900\\/10{background-color:#82181a1a}@supports (color:color-mix(in lab,red,red)){.bg-red-900\\/10{background-color:color-mix(in oklab,var(--color-red-900)10%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\\/15{background-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.bg-white\\/15{background-color:color-mix(in oklab,var(--color-white)15%,transparent)}}.bg-white\\/20{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.bg-white\\/20{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.bg-white\\/\\[0\\.01\\]{background-color:#ffffff03}@supports (color:color-mix(in lab,red,red)){.bg-white\\/\\[0\\.01\\]{background-color:color-mix(in oklab,var(--color-white)1%,transparent)}}.bg-white\\/\\[0\\.02\\]{background-color:#ffffff05}@supports (color:color-mix(in lab,red,red)){.bg-white\\/\\[0\\.02\\]{background-color:color-mix(in oklab,var(--color-white)2%,transparent)}}.bg-white\\/\\[0\\.03\\]{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.bg-white\\/\\[0\\.03\\]{background-color:color-mix(in oklab,var(--color-white)3%,transparent)}}.bg-zinc-700{background-color:var(--color-zinc-700)}.bg-zinc-700\\/80{background-color:#3f3f46cc}@supports (color:color-mix(in lab,red,red)){.bg-zinc-700\\/80{background-color:color-mix(in oklab,var(--color-zinc-700)80%,transparent)}}.bg-zinc-800{background-color:var(--color-zinc-800)}.bg-zinc-800\\/50{background-color:#27272a80}@supports (color:color-mix(in lab,red,red)){.bg-zinc-800\\/50{background-color:color-mix(in oklab,var(--color-zinc-800)50%,transparent)}}.bg-zinc-800\\/60{background-color:#27272a99}@supports (color:color-mix(in lab,red,red)){.bg-zinc-800\\/60{background-color:color-mix(in oklab,var(--color-zinc-800)60%,transparent)}}.bg-zinc-800\\/80{background-color:#27272acc}@supports (color:color-mix(in lab,red,red)){.bg-zinc-800\\/80{background-color:color-mix(in oklab,var(--color-zinc-800)80%,transparent)}}.bg-zinc-900{background-color:var(--color-zinc-900)}.bg-zinc-900\\/20{background-color:#18181b33}@supports (color:color-mix(in lab,red,red)){.bg-zinc-900\\/20{background-color:color-mix(in oklab,var(--color-zinc-900)20%,transparent)}}.bg-zinc-900\\/40{background-color:#18181b66}@supports (color:color-mix(in lab,red,red)){.bg-zinc-900\\/40{background-color:color-mix(in oklab,var(--color-zinc-900)40%,transparent)}}.bg-zinc-900\\/50{background-color:#18181b80}@supports (color:color-mix(in lab,red,red)){.bg-zinc-900\\/50{background-color:color-mix(in oklab,var(--color-zinc-900)50%,transparent)}}.bg-zinc-900\\/60{background-color:#18181b99}@supports (color:color-mix(in lab,red,red)){.bg-zinc-900\\/60{background-color:color-mix(in oklab,var(--color-zinc-900)60%,transparent)}}.bg-zinc-950{background-color:var(--color-zinc-950)}.bg-zinc-950\\/80{background-color:#09090bcc}@supports (color:color-mix(in lab,red,red)){.bg-zinc-950\\/80{background-color:color-mix(in oklab,var(--color-zinc-950)80%,transparent)}}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-black\\/70{--tw-gradient-from:#000000b3}@supports (color:color-mix(in lab,red,red)){.from-black\\/70{--tw-gradient-from:color-mix(in oklab,var(--color-black)70%,transparent)}}.from-black\\/70{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-black\\/80{--tw-gradient-from:#000c}@supports (color:color-mix(in lab,red,red)){.from-black\\/80{--tw-gradient-from:color-mix(in oklab,var(--color-black)80%,transparent)}}.from-black\\/80{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.bg-\\[length\\:12px\\]{background-size:12px}.bg-\\[right_0\\.25rem_center\\]{background-position:right .25rem center}.bg-no-repeat{background-repeat:no-repeat}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-1\\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-3\\.5{padding-inline:calc(var(--spacing)*3.5)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-7{padding-block:calc(var(--spacing)*7)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-4{padding-top:calc(var(--spacing)*4)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-6{padding-right:calc(var(--spacing)*6)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-9{padding-left:calc(var(--spacing)*9)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[9px\\]{font-size:9px}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\\[0\\.2em\\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\\[0\\.05em\\]{--tw-tracking:.05em;letter-spacing:.05em}.tracking-\\[0\\.08em\\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-\\[var\\(--local-bg\\)\\]{color:var(--local-bg)}.text-\\[var\\(--local-text\\)\\]{color:var(--local-text)}.text-\\[var\\(--local-text-muted\\)\\]{color:var(--local-text-muted)}.text-amber-200{color:var(--color-amber-200)}.text-amber-500{color:var(--color-amber-500)}.text-amber-500\\/70{color:#f99c00b3}@supports (color:color-mix(in lab,red,red)){.text-amber-500\\/70{color:color-mix(in oklab,var(--color-amber-500)70%,transparent)}}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-emerald-400{color:var(--color-emerald-400)}.text-foreground{color:var(--color-foreground)}.text-primary{color:var(--color-primary)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-white{color:var(--color-white)}.text-zinc-100{color:var(--color-zinc-100)}.text-zinc-200{color:var(--color-zinc-200)}.text-zinc-300{color:var(--color-zinc-300)}.text-zinc-400{color:var(--color-zinc-400)}.text-zinc-500{color:var(--color-zinc-500)}.text-zinc-600{color:var(--color-zinc-600)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-20{opacity:.2}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_0_8px_rgba\\(245\\,158\\,11\\,0\\.5\\)\\]{--tw-shadow:0 0 8px var(--tw-shadow-color,#f59e0b80);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-blue-900\\/20{--tw-shadow-color:#1c398e33}@supports (color:color-mix(in lab,red,red)){.shadow-blue-900\\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-blue-900)20%,transparent)var(--tw-shadow-alpha),transparent)}}.ring-blue-500{--tw-ring-color:var(--color-blue-500)}.ring-blue-500\\/40{--tw-ring-color:#3080ff66}@supports (color:color-mix(in lab,red,red)){.ring-blue-500\\/40{--tw-ring-color:color-mix(in oklab,var(--color-blue-500)40%,transparent)}}.ring-zinc-800{--tw-ring-color:var(--color-zinc-800)}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.ring-offset-zinc-900{--tw-ring-offset-color:var(--color-zinc-900)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.brightness-\\[0\\.6\\]{--tw-brightness:brightness(.6);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.brightness-\\[0\\.85\\]{--tw-brightness:brightness(.85);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition-\\[border-color\\,opacity\\]{transition-property:border-color,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[filter\\]{transition-property:filter;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\\:border-dashed:is(:where(.group):hover *){--tw-border-style:dashed;border-style:dashed}.group-hover\\:border-blue-400\\/50:is(:where(.group):hover *){border-color:#54a2ff80}@supports (color:color-mix(in lab,red,red)){.group-hover\\:border-blue-400\\/50:is(:where(.group):hover *){border-color:color-mix(in oklab,var(--color-blue-400)50%,transparent)}}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\\:brightness-100:is(:where(.group):hover *){--tw-brightness:brightness(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.hover\\:scale-\\[1\\.02\\]:hover{scale:1.02}.hover\\:border-blue-500\\/30:hover{border-color:#3080ff4d}@supports (color:color-mix(in lab,red,red)){.hover\\:border-blue-500\\/30:hover{border-color:color-mix(in oklab,var(--color-blue-500)30%,transparent)}}.hover\\:border-blue-500\\/40:hover{border-color:#3080ff66}@supports (color:color-mix(in lab,red,red)){.hover\\:border-blue-500\\/40:hover{border-color:color-mix(in oklab,var(--color-blue-500)40%,transparent)}}.hover\\:border-zinc-600:hover{border-color:var(--color-zinc-600)}.hover\\:border-zinc-700:hover{border-color:var(--color-zinc-700)}.hover\\:bg-blue-500:hover{background-color:var(--color-blue-500)}.hover\\:bg-blue-500\\/\\[0\\.03\\]:hover{background-color:#3080ff08}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-blue-500\\/\\[0\\.03\\]:hover{background-color:color-mix(in oklab,var(--color-blue-500)3%,transparent)}}.hover\\:bg-blue-600\\/20:hover{background-color:#155dfc33}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-blue-600\\/20:hover{background-color:color-mix(in oklab,var(--color-blue-600)20%,transparent)}}.hover\\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\\:bg-primary\\/40:hover{background-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-primary\\/40:hover{background-color:color-mix(in oklab,var(--color-primary)40%,transparent)}}.hover\\:bg-red-500\\/10:hover{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-red-500\\/10:hover{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.hover\\:bg-red-500\\/25:hover{background-color:#fb2c3640}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-red-500\\/25:hover{background-color:color-mix(in oklab,var(--color-red-500)25%,transparent)}}.hover\\:bg-white\\/30:hover{background-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-white\\/30:hover{background-color:color-mix(in oklab,var(--color-white)30%,transparent)}}.hover\\:bg-white\\/\\[0\\.02\\]:hover{background-color:#ffffff05}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-white\\/\\[0\\.02\\]:hover{background-color:color-mix(in oklab,var(--color-white)2%,transparent)}}.hover\\:bg-zinc-800:hover{background-color:var(--color-zinc-800)}.hover\\:bg-zinc-800\\/30:hover{background-color:#27272a4d}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-zinc-800\\/30:hover{background-color:color-mix(in oklab,var(--color-zinc-800)30%,transparent)}}.hover\\:bg-zinc-800\\/40:hover{background-color:#27272a66}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-zinc-800\\/40:hover{background-color:color-mix(in oklab,var(--color-zinc-800)40%,transparent)}}.hover\\:bg-zinc-800\\/50:hover{background-color:#27272a80}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-zinc-800\\/50:hover{background-color:color-mix(in oklab,var(--color-zinc-800)50%,transparent)}}.hover\\:text-blue-400:hover{color:var(--color-blue-400)}.hover\\:text-primary:hover{color:var(--color-primary)}.hover\\:text-red-200:hover{color:var(--color-red-200)}.hover\\:text-red-400:hover{color:var(--color-red-400)}.hover\\:text-red-500:hover{color:var(--color-red-500)}.hover\\:text-white:hover{color:var(--color-white)}.hover\\:text-zinc-200:hover{color:var(--color-zinc-200)}.hover\\:text-zinc-300:hover{color:var(--color-zinc-300)}.hover\\:text-zinc-400:hover{color:var(--color-zinc-400)}.hover\\:opacity-90:hover{opacity:.9}.hover\\:ring-zinc-600:hover{--tw-ring-color:var(--color-zinc-600)}}.focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-blue-500\\/50:focus{--tw-ring-color:#3080ff80}@supports (color:color-mix(in lab,red,red)){.focus\\:ring-blue-500\\/50:focus{--tw-ring-color:color-mix(in oklab,var(--color-blue-500)50%,transparent)}}.focus\\:ring-blue-600:focus{--tw-ring-color:var(--color-blue-600)}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\\:ring-offset-zinc-900:focus{--tw-ring-offset-color:var(--color-zinc-900)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-blue-500:focus-visible{--tw-ring-color:var(--color-blue-500)}.focus-visible\\:ring-blue-600:focus-visible{--tw-ring-color:var(--color-blue-600)}.focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\\:ring-offset-zinc-900:focus-visible{--tw-ring-offset-color:var(--color-zinc-900)}.focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\\:cursor-grabbing:active{cursor:grabbing}.active\\:bg-primary\\/60:active{background-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.active\\:bg-primary\\/60:active{background-color:color-mix(in oklab,var(--color-primary)60%,transparent)}}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-20:disabled{opacity:.2}.disabled\\:opacity-30:disabled{opacity:.3}.disabled\\:opacity-50:disabled{opacity:.5}@media(min-width:40rem){.sm\\:max-w-\\[280px\\]{max-width:280px}}}:root{--background:oklch(14.1% .005 285.823);--foreground:oklch(98.5% 0 0);--card:oklch(21% .006 285.885);--card-foreground:oklch(98.5% 0 0);--popover:oklch(21% .006 285.885);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(42% .18 266);--primary-foreground:oklch(97% .014 254.604);--secondary:oklch(27.4% .006 286.033);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(27.4% .006 286.033);--muted-foreground:oklch(70.5% .015 286.067);--accent:oklch(42% .18 266);--accent-foreground:oklch(97% .014 254.604);--destructive:oklch(70.4% .191 22.216);--destructive-foreground:oklch(97% .014 254.604);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.2% .016 285.938);--radius:.5rem;font-family:ui-sans-serif,system-ui,sans-serif}[data-radix-portal]{z-index:9999!important}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}';class mo extends q.Component{constructor(_){super(_),this.state={hasError:!1,error:null}}static getDerivedStateFromError(_){return{hasError:!0,error:_}}componentDidCatch(_,r){console.error("[JsonPages Engine]",_,r)}render(){return this.state.hasError&&this.state.error?a.jsxs("div",{style:{minHeight:"100vh",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",padding:24,backgroundColor:"#0f172a",color:"#e2e8f0",fontFamily:"ui-sans-serif, system-ui, sans-serif"},children:[a.jsx("h1",{style:{fontSize:"1.25rem",fontWeight:700,marginBottom:8},children:"JsonPages Engine Error"}),a.jsx("pre",{style:{maxWidth:"100%",overflow:"auto",padding:16,backgroundColor:"rgba(0,0,0,0.3)",borderRadius:8,fontSize:12,marginTop:8},children:this.state.error.message})]}):this.props.children}}function bo({config:e}){var N,A;const{registry:_={},schemas:r={},pages:m={},siteConfig:u,themeConfig:i,menuConfig:o,themeCss:n,addSection:l,NotFoundComponent:h=Sr}=e,p=(l==null?void 0:l.addableSectionTypes)??Object.keys(r).filter(L=>L!=="header"&&L!=="footer"),w={exportJSON:((N=e.persistence)==null?void 0:N.exportJSON)??Ct,exportHTML:((A=e.persistence)==null?void 0:A.exportHTML)??At},y=typeof(n==null?void 0:n.tenant)=="string"?n.tenant:"",c=typeof(n==null?void 0:n.admin)=="string"?n.admin:po,[x,d]=q.useState(!1);q.useEffect(()=>{try{i!=null&&i.tokens&&st.setTheme(i)}catch(L){console.warn("[JsonPages] setTheme failed",L)}d(!0)},[i]);const v=()=>{const{slug:L="home"}=Ne.useParams(),[I,O]=q.useState(null);q.useEffect(()=>{const j=document.getElementById("jp-baked-state");if(j!=null&&j.textContent)try{const P=JSON.parse(j.textContent);O(P),st.setTheme(P.theme)}catch(P){console.error("Failed to parse baked state",P)}},[]);const T=I?I.page:m[L],B=I?I.site:u,X=I?I.menu:o;return T?a.jsx(it,{mode:"tenant",tenantCss:y,adminCss:c,children:a.jsx(rt,{mode:"visitor",children:a.jsx(vt,{pageConfig:T,siteConfig:B,menuConfig:X})})}):a.jsx(h,{})},f=e.tenantId??"default",k=()=>{const{slug:L="home"}=Ne.useParams(),[I,O]=q.useState(null),[T,B]=q.useState(!1),[X,j]=q.useState(()=>{var W;try{const te=JSON.parse(JSON.stringify(u??{}));te.identity||(te.identity={title:"Site"}),te.pages||(te.pages=[]);const ne=(W=te.header)==null?void 0:W.data;return ne&&(o!=null&&o.main)&&(ne.links=JSON.parse(JSON.stringify(o.main))),te}catch{return{identity:{title:"Site"},pages:[]}}}),[P,s]=q.useState(null),[R,ee]=q.useState(null),[U,H]=q.useState(null),[$,re]=q.useState(null),[z,S]=q.useState(!1),[J,K]=q.useState(400),Q=360,fe=920,se=q.useCallback(W=>{W.preventDefault();const te=W.currentTarget;te.setPointerCapture(W.pointerId);const ne=W.clientX,de=J,ze=Se=>{const xe=ne-Se.clientX,Ue=Math.min(fe,Math.max(Q,de+xe));K(Ue)},ye=()=>{te.releasePointerCapture(W.pointerId),te.removeEventListener("pointermove",ze),te.removeEventListener("pointerup",ye),te.removeEventListener("pointercancel",ye),document.body.style.cursor="",document.body.style.userSelect=""};document.body.style.cursor="col-resize",document.body.style.userSelect="none",te.addEventListener("pointermove",ze),te.addEventListener("pointerup",ye),te.addEventListener("pointercancel",ye)},[J]),le=I?[...X.header?[{id:X.header.id,type:X.header.type,scope:"global",title:"Header"}]:[],...I.sections.map(W=>{var te,ne;return{id:W.id,type:W.type,scope:"local",title:((te=W.data)==null?void 0:te.title)??((ne=W.data)==null?void 0:ne.titleHighlight)}}),...X.footer?[{id:X.footer.id,type:X.footer.type,scope:"global",title:"Footer"}]:[]]:[],ce=`jsonpages-draft-${f}-${L}`,ge=`jsonpages-autosave-enabled-${f}`,[pe,_e]=q.useState(()=>{if(typeof window>"u")return!0;try{return localStorage.getItem(ge)!=="false"}catch{return!0}});q.useEffect(()=>{const W=m[L];try{const te=typeof window<"u"?localStorage.getItem(ce):null,ne=te?JSON.parse(te):null;ne!=null&&ne.page&&(ne!=null&&ne.site)?(O(JSON.parse(JSON.stringify(ne.page))),j(JSON.parse(JSON.stringify(ne.site)))):W&&O(JSON.parse(JSON.stringify(W)))}catch{W&&O(JSON.parse(JSON.stringify(W)))}s(null),ee(null),B(!1)},[L,m,ce]),q.useEffect(()=>{if(typeof window<"u")try{localStorage.setItem(ge,String(pe))}catch{}},[pe,ge]),q.useEffect(()=>{if(!pe||!I||typeof window>"u")return;const W=setTimeout(()=>{try{localStorage.setItem(ce,JSON.stringify({page:I,site:X})),B(!1)}catch{}},3e3);return()=>clearTimeout(W)},[pe,I,X,ce]);const je=q.useCallback(()=>{const W=m[L];try{typeof window<"u"&&localStorage.removeItem(ce)}catch{}W&&O(JSON.parse(JSON.stringify(W))),s(null),ee(null),B(!1)},[L,m,ce]),t=q.useCallback((W,te,ne)=>{const de=[...ne.sections],ze=de.findIndex(xe=>xe.id===W);if(ze===-1||te<0||te>=de.length)return;const[ye]=de.splice(ze,1),Se=te>ze?te-1:te;de.splice(Math.min(Se,de.length),0,ye),O({...ne,sections:de}),B(!0)},[]),Z=q.useCallback(W=>{var te;if(W.origin===window.location.origin){if(W.data.type===we.SECTION_SELECT){s(W.data.section);const ne=W.data.itemPath;if(Array.isArray(ne)&&ne.length>0)ee(ne.map(de=>({fieldKey:de.fieldKey,...de.itemId!=null?{itemId:String(de.itemId)}:{}})));else{const de=W.data.itemField,ze=W.data.itemId;ee(typeof de=="string"?[{fieldKey:de,...ze!=null?{itemId:String(ze)}:{}}]:null)}}if(W.data.type===we.ACTIVE_SECTION_CHANGED&&H(W.data.activeSectionId??null),W.data.type==="jsonpages:section-reorder"&&I){const{sectionId:ne,newIndex:de}=W.data;typeof ne=="string"&&typeof de=="number"&&de>=0&&t(ne,de,I)}if(W.data.type===we.SEND_CLEAN_HTML){if(!I)return;const ne=(te=X.header)==null?void 0:te.data,de={page:I,site:X,menu:{main:(ne==null?void 0:ne.links)??[]},theme:i};w.exportHTML(de,L,W.data.html),B(!1)}}},[I,X,L,i,t]);q.useEffect(()=>(window.addEventListener("message",Z),()=>window.removeEventListener("message",Z)),[Z]);const F=q.useCallback(W=>{const te=le.find(ne=>ne.id===W);te&&s({id:te.id,type:te.type,scope:te.scope}),ee(null),re(W)},[le]),b=q.useCallback(()=>{re(null)},[]),g=q.useCallback(W=>{O(te=>te&&{...te,sections:te.sections.filter(ne=>ne.id!==W)}),B(!0),s(te=>(te==null?void 0:te.id)===W?null:te)},[]),C=W=>{if(!(!P||!I))if(B(!0),P.scope==="global")P.type==="header"&&X.header!=null?j({...X,header:{...X.header,data:W}}):P.type==="footer"&&X.footer!=null&&j({...X,footer:{...X.footer,data:W}});else{const te=I.sections.map(ne=>ne.id===P.id?{...ne,data:W}:ne);O({...I,sections:te})}},M=q.useCallback((W,te,ne,de)=>{var ze,ye;if(B(!0),te==="global")((ze=X.header)==null?void 0:ze.id)===W?j({...X,header:{...X.header,data:de}}):((ye=X.footer)==null?void 0:ye.id)===W&&j({...X,footer:{...X.footer,data:de}});else if(I){const Se=I.sections.map(xe=>xe.id===W?{...xe,data:de}:xe);O({...I,sections:Se})}},[I,X]),G=()=>{var te;const W=document.querySelector("iframe");(te=W==null?void 0:W.contentWindow)==null||te.postMessage({type:we.REQUEST_CLEAN_HTML},"*")},D=()=>{var ne;if(!I)return;const W=(ne=X.header)==null?void 0:ne.data,te={page:I,site:X,menu:{main:(W==null?void 0:W.links)??[]},theme:i};w.exportJSON(te,L),B(!1)},Y=W=>{var de;if(!I)return;const te=((de=l==null?void 0:l.getDefaultSectionData)==null?void 0:de.call(l,W))??{},ne={id:crypto.randomUUID(),type:W,data:te,settings:void 0};O({...I,sections:[...I.sections,ne]}),B(!0),s({id:ne.id,type:W,scope:"local"})};if(!I)return a.jsx("div",{children:"Loading Studio..."});const oe=(P==null?void 0:P.scope)==="global"?{sections:[X.header,X.footer].filter(W=>W!=null)}:I,V=[...X.header?[X.header]:[],...I.sections,...X.footer?[X.footer]:[]];return a.jsx(it,{mode:"admin",tenantCss:y,adminCss:c,children:a.jsx(rt,{mode:"studio",children:a.jsxs("div",{className:"flex flex-col h-screen w-screen bg-background text-foreground overflow-hidden",children:[a.jsxs("div",{className:"flex flex-1 min-h-0 overflow-hidden",children:[a.jsx("main",{className:"flex-1 min-w-0 relative bg-zinc-900/50 overflow-hidden",children:a.jsx(zr,{draft:I,globalDraft:X,themeConfig:i,slug:L,selectedId:P==null?void 0:P.id,scrollToSectionId:$,onScrollRequested:b})}),a.jsxs("div",{className:"flex shrink-0 relative h-full z-10",style:{width:J,minWidth:Q,maxWidth:fe},children:[a.jsx("div",{role:"separator","aria-label":"Resize inspector",className:"absolute left-0 top-0 bottom-0 w-1.5 cursor-col-resize hover:bg-primary/40 active:bg-primary/60 transition-colors shrink-0",style:{zIndex:9999},onPointerDown:se}),a.jsx(_r,{selectedSection:P,pageData:oe,allSectionsData:V,onUpdate:C,onUpdateSection:M,onClose:()=>{s(null),ee(null)},expandedItemPath:R,onReorderSection:I?(W,te)=>t(W,te,I):void 0,allLayers:le,activeSectionId:U,onRequestScrollToSection:F,onDeleteSection:I?g:void 0,onAddSection:p.length>0?()=>S(!0):void 0,hasChanges:T,autosaveEnabled:pe,onAutosaveChange:_e,onExportHTML:G,onExportJSON:D,onResetToFile:je})]})]}),a.jsx(Er,{open:z,onClose:()=>S(!1),sectionTypes:p,sectionTypeLabels:l==null?void 0:l.sectionTypeLabels,onSelect:Y})]})})})},E=()=>a.jsx(it,{mode:"tenant",tenantCss:y,adminCss:c,children:a.jsx(jr,{})});return x?a.jsx(mo,{children:a.jsx(Qt,{config:{registry:_,schemas:r,tenantId:e.tenantId??"default",assets:e.assets},children:a.jsx(Ne.BrowserRouter,{children:a.jsxs(Ne.Routes,{children:[a.jsx(Ne.Route,{path:"/",element:a.jsx(v,{})}),a.jsx(Ne.Route,{path:"/:slug",element:a.jsx(v,{})}),a.jsx(Ne.Route,{path:"/admin",element:a.jsx(k,{})}),a.jsx(Ne.Route,{path:"/admin/:slug",element:a.jsx(k,{})}),a.jsx(Ne.Route,{path:"/admin/preview/:slug",element:a.jsx(E,{})}),a.jsx(Ne.Route,{path:"*",element:a.jsx(h,{})})]})})})}):a.jsx("div",{style:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:"#0f172a",color:"#94a3b8",fontFamily:"ui-sans-serif, system-ui, sans-serif",fontSize:14},children:"Loading…"})}const go=({hasChanges:e,onExportJSON:_,onExportHTML:r,onAddSection:m})=>a.jsxs("div",{className:"h-14 border-b border-zinc-800 bg-zinc-950 flex items-center justify-between px-6 shrink-0 z-50 relative",children:[a.jsx("div",{className:"flex items-center gap-3",children:m!=null&&a.jsxs("button",{type:"button",onClick:m,className:"flex items-center gap-2 px-3 py-1.5 rounded-md text-xs font-medium border border-zinc-700 bg-zinc-900 text-zinc-200 hover:bg-zinc-800 hover:border-zinc-600 transition-colors",title:"Add section","aria-label":"Add section",children:[a.jsx(Zn,{size:14}),a.jsx("span",{children:"Add section"})]})}),a.jsx("div",{className:"absolute left-1/2 -translate-x-1/2 opacity-20 pointer-events-none",children:a.jsx("span",{className:"text-xs font-black tracking-[0.2em] text-zinc-100",children:"JSONPAGES STUDIO"})}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsxs("button",{onClick:r,className:"flex items-center gap-2 px-3 py-1.5 rounded-md text-xs font-medium transition-all border bg-zinc-900 border-zinc-700 text-zinc-200 hover:bg-zinc-800 hover:border-zinc-600",children:[a.jsx(or,{size:14}),a.jsx("span",{children:"Bake HTML"})]}),a.jsxs("button",{onClick:_,disabled:!e,className:he("flex items-center gap-2 px-4 py-1.5 rounded-md text-xs font-bold transition-all shadow-lg",e?"bg-blue-600 text-white hover:bg-blue-500 shadow-blue-900/20":"bg-zinc-900 text-zinc-600 cursor-not-allowed"),children:[a.jsx(ir,{size:14}),a.jsx("span",{children:"Export JSON"})]})]})]});me.AddSectionLibrary=Er,me.AdminSidebar=_r,me.ConfigProvider=Qt,me.ControlBar=go,me.DefaultNotFound=Sr,me.FormFactory=Ve,me.InputWidgets=Ke,me.JsonPagesEngine=bo,me.PageRenderer=vt,me.PreviewEntry=jr,me.STUDIO_EVENTS=we,me.SectionRenderer=Ge,me.StudioProvider=rt,me.StudioStage=zr,me.ThemeLoader=it,me.cn=he,me.exportBakedHTML=At,me.exportProjectJSON=Ct,me.resolveAssetUrl=xr,me.themeManager=st,me.useConfig=He,me.useStudio=tr,Object.defineProperty(me,Symbol.toStringTag,{value:"Module"})}));
|
package/package.json
CHANGED
|
@@ -1,45 +1,47 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@jsonpages/core",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"private": false,
|
|
5
|
-
"type": "module",
|
|
6
|
-
"main": "./dist/jsonpages-core.umd.cjs",
|
|
7
|
-
"module": "./dist/jsonpages-core.js",
|
|
8
|
-
"types": "./dist/index.d.ts",
|
|
9
|
-
"exports": {
|
|
10
|
-
".": {
|
|
11
|
-
"types": "./dist/index.d.ts",
|
|
12
|
-
"import": "./dist/jsonpages-core.js",
|
|
13
|
-
"require": "./dist/jsonpages-core.umd.cjs"
|
|
14
|
-
}
|
|
15
|
-
},
|
|
16
|
-
"files": [
|
|
17
|
-
"dist"
|
|
18
|
-
],
|
|
19
|
-
"scripts": {
|
|
20
|
-
"build": "vite build"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
"react
|
|
25
|
-
"react-
|
|
26
|
-
"
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
"@
|
|
39
|
-
"vite
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"@
|
|
44
|
-
|
|
45
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "@jsonpages/core",
|
|
3
|
+
"version": "1.0.8",
|
|
4
|
+
"private": false,
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/jsonpages-core.umd.cjs",
|
|
7
|
+
"module": "./dist/jsonpages-core.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"import": "./dist/jsonpages-core.js",
|
|
13
|
+
"require": "./dist/jsonpages-core.umd.cjs"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"files": [
|
|
17
|
+
"dist"
|
|
18
|
+
],
|
|
19
|
+
"scripts": {
|
|
20
|
+
"build": "vite build",
|
|
21
|
+
"prepack": "node scripts/sync-peers-from-stack.js"
|
|
22
|
+
},
|
|
23
|
+
"peerDependencies": {
|
|
24
|
+
"react": "^19.0.0",
|
|
25
|
+
"react-dom": "^19.0.0",
|
|
26
|
+
"react-router-dom": "^6.29.0",
|
|
27
|
+
"zod": "^3.24.1"
|
|
28
|
+
},
|
|
29
|
+
"dependencies": {
|
|
30
|
+
"lucide-react": "^0.474.0",
|
|
31
|
+
"radix-ui": "^1.4.3",
|
|
32
|
+
"file-saver": "^2.0.5",
|
|
33
|
+
"jszip": "^3.10.1",
|
|
34
|
+
"tailwind-merge": "^3.0.1",
|
|
35
|
+
"clsx": "^2.1.1"
|
|
36
|
+
},
|
|
37
|
+
"devDependencies": {
|
|
38
|
+
"@jsonpages/stack": "^1.0.0",
|
|
39
|
+
"vite": "^6.0.0",
|
|
40
|
+
"@vitejs/plugin-react": "^4.0.0",
|
|
41
|
+
"vite-plugin-dts": "^4.0.0",
|
|
42
|
+
"typescript": "^5.7.3",
|
|
43
|
+
"@types/react": "^19.0.0",
|
|
44
|
+
"@types/react-dom": "^19.0.0",
|
|
45
|
+
"@tailwindcss/vite": "^4.0.0"
|
|
46
|
+
}
|
|
47
|
+
}
|