@jsonpages/core 1.0.23 → 1.0.24

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.
@@ -16462,7 +16462,7 @@ function Rv({ config: e }) {
16462
16462
  };
16463
16463
  e.persistence.saveToFile(ee, C).then(() => {
16464
16464
  var _e;
16465
- V(!1), D(!0), ((_e = e.persistence) == null ? void 0 : _e.reloadAfterSave) !== !1 && window.setTimeout(() => window.location.reload(), 1e3);
16465
+ V(!1), D(!0), ((_e = e.persistence) == null ? void 0 : _e.reloadAfterSave) === !0 && window.setTimeout(() => window.location.reload(), 1e3);
16466
16466
  }).catch((_e) => {
16467
16467
  console.error("[JsonPages] saveToFile failed", _e);
16468
16468
  const Ce = _e instanceof Error ? _e.message : String(_e);
@@ -249,4 +249,4 @@ React keys must be passed directly to JSX without using spread:
249
249
  `)},Wa=function(){var e=parseInt(document.body.getAttribute(qt)||"0",10);return isFinite(e)?e:0},pm=function(){_.useEffect(function(){return document.body.setAttribute(qt,(Wa()+1).toString()),function(){var e=Wa()-1;e<=0?document.body.removeAttribute(qt):document.body.setAttribute(qt,e.toString())}},[])},mm=function(e){var t=e.noRelative,r=e.noImportant,n=e.gapMode,o=n===void 0?"margin":n;pm();var i=_.useMemo(function(){return um(o)},[o]);return _.createElement(fm,{styles:hm(i,!t,o,r?"":"!important")})},Ko=!1;if(typeof window<"u")try{var zn=Object.defineProperty({},"passive",{get:function(){return Ko=!0,!0}});window.addEventListener("test",zn,zn),window.removeEventListener("test",zn,zn)}catch{Ko=!1}var Jt=Ko?{passive:!1}:!1,gm=function(e){return e.tagName==="TEXTAREA"},$a=function(e,t){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return r[t]!=="hidden"&&!(r.overflowY===r.overflowX&&!gm(e)&&r[t]==="visible")},bm=function(e){return $a(e,"overflowY")},vm=function(e){return $a(e,"overflowX")},Ha=function(e,t){var r=t.ownerDocument,n=t;do{typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&(n=n.host);var o=Va(e,n);if(o){var i=Ya(e,n),s=i[1],a=i[2];if(s>a)return!0}n=n.parentNode}while(n&&n!==r.body);return!1},wm=function(e){var t=e.scrollTop,r=e.scrollHeight,n=e.clientHeight;return[t,r,n]},xm=function(e){var t=e.scrollLeft,r=e.scrollWidth,n=e.clientWidth;return[t,r,n]},Va=function(e,t){return e==="v"?bm(t):vm(t)},Ya=function(e,t){return e==="v"?wm(t):xm(t)},ym=function(e,t){return e==="h"&&t==="rtl"?-1:1},km=function(e,t,r,n,o){var i=ym(e,window.getComputedStyle(t).direction),s=i*n,a=r.target,l=t.contains(a),c=!1,d=s>0,h=0,m=0;do{if(!a)break;var u=Ya(e,a),v=u[0],f=u[1],b=u[2],g=f-b-i*v;(v||g)&&Va(e,a)&&(h+=g,m+=v);var y=a.parentNode;a=y&&y.nodeType===Node.DOCUMENT_FRAGMENT_NODE?y.host:y}while(!l&&a!==document.body||l&&(t.contains(a)||t===a));return(d&&Math.abs(h)<1||!d&&Math.abs(m)<1)&&(c=!0),c},jn=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Ka=function(e){return[e.deltaX,e.deltaY]},Ga=function(e){return e&&"current"in e?e.current:e},Sm=function(e,t){return e[0]===t[0]&&e[1]===t[1]},_m=function(e){return`
250
250
  .block-interactivity-`.concat(e,` {pointer-events: none;}
251
251
  .allow-interactivity-`).concat(e,` {pointer-events: all;}
252
- `)},Cm=0,Qt=[];function Em(e){var t=_.useRef([]),r=_.useRef([0,0]),n=_.useRef(),o=_.useState(Cm++)[0],i=_.useState(Ua)[0],s=_.useRef(e);_.useEffect(function(){s.current=e},[e]),_.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var f=Kp([e.lockRef.current],(e.shards||[]).map(Ga),!0).filter(Boolean);return f.forEach(function(b){return b.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),f.forEach(function(b){return b.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var a=_.useCallback(function(f,b){if("touches"in f&&f.touches.length===2||f.type==="wheel"&&f.ctrlKey)return!s.current.allowPinchZoom;var g=jn(f),y=r.current,k="deltaX"in f?f.deltaX:y[0]-g[0],S="deltaY"in f?f.deltaY:y[1]-g[1],C,O=f.target,E=Math.abs(k)>Math.abs(S)?"h":"v";if("touches"in f&&E==="h"&&O.type==="range")return!1;var A=window.getSelection(),P=A&&A.anchorNode,F=P?P===O||P.contains(O):!1;if(F)return!1;var Y=Ha(E,O);if(!Y)return!0;if(Y?C=E:(C=E==="v"?"h":"v",Y=Ha(E,O)),!Y)return!1;if(!n.current&&"changedTouches"in f&&(k||S)&&(n.current=C),!C)return!0;var N=n.current||C;return km(N,b,f,N==="h"?k:S)},[]),l=_.useCallback(function(f){var b=f;if(!(!Qt.length||Qt[Qt.length-1]!==i)){var g="deltaY"in b?Ka(b):jn(b),y=t.current.filter(function(C){return C.name===b.type&&(C.target===b.target||b.target===C.shadowParent)&&Sm(C.delta,g)})[0];if(y&&y.should){b.cancelable&&b.preventDefault();return}if(!y){var k=(s.current.shards||[]).map(Ga).filter(Boolean).filter(function(C){return C.contains(b.target)}),S=k.length>0?a(b,k[0]):!s.current.noIsolation;S&&b.cancelable&&b.preventDefault()}}},[]),c=_.useCallback(function(f,b,g,y){var k={name:f,delta:b,target:g,should:y,shadowParent:Am(g)};t.current.push(k),setTimeout(function(){t.current=t.current.filter(function(S){return S!==k})},1)},[]),d=_.useCallback(function(f){r.current=jn(f),n.current=void 0},[]),h=_.useCallback(function(f){c(f.type,Ka(f),f.target,a(f,e.lockRef.current))},[]),m=_.useCallback(function(f){c(f.type,jn(f),f.target,a(f,e.lockRef.current))},[]);_.useEffect(function(){return Qt.push(i),e.setCallbacks({onScrollCapture:h,onWheelCapture:h,onTouchMoveCapture:m}),document.addEventListener("wheel",l,Jt),document.addEventListener("touchmove",l,Jt),document.addEventListener("touchstart",d,Jt),function(){Qt=Qt.filter(function(f){return f!==i}),document.removeEventListener("wheel",l,Jt),document.removeEventListener("touchmove",l,Jt),document.removeEventListener("touchstart",d,Jt)}},[]);var u=e.removeScrollBar,v=e.inert;return _.createElement(_.Fragment,null,v?_.createElement(i,{styles:_m(o)}):null,u?_.createElement(mm,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Am(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const Nm=rm(Ba,Em);var Go=_.forwardRef(function(e,t){return _.createElement(Nn,it({},e,{ref:t,sideCar:Nm}))});Go.classNames=Nn.classNames;var zm=[" ","Enter","ArrowUp","ArrowDown"],jm=[" ","Enter"],Ot="Select",[Tn,On,Tm]=Xf(Ot),[er]=$t(Ot,[Tm,Zt]),Pn=Zt(),[Om,kt]=er(Ot),[Pm,Im]=er(Ot),Za=e=>{const{__scopeSelect:t,children:r,open:n,defaultOpen:o,onOpenChange:i,value:s,defaultValue:a,onValueChange:l,dir:c,name:d,autoComplete:h,disabled:m,required:u,form:v}=e,f=Pn(t),[b,g]=_.useState(null),[y,k]=_.useState(null),[S,C]=_.useState(!1),O=$s(c),[E,A]=Sn({prop:n,defaultProp:o??!1,onChange:i,caller:Ot}),[P,F]=Sn({prop:s,defaultProp:a,onChange:l,caller:Ot}),Y=_.useRef(null),N=b?v||!!b.closest("form"):!0,[M,w]=_.useState(new Set),W=Array.from(M).map(G=>G.props.value).join(";");return p.jsx(Bo,{...f,children:p.jsxs(Om,{required:u,scope:t,trigger:b,onTriggerChange:g,valueNode:y,onValueNodeChange:k,valueNodeHasChildren:S,onValueNodeHasChildrenChange:C,contentId:kr(),value:P,onValueChange:F,open:E,onOpenChange:A,dir:O,triggerPointerDownPosRef:Y,disabled:m,children:[p.jsx(Tn.Provider,{scope:t,children:p.jsx(Pm,{scope:e.__scopeSelect,onNativeOptionAdd:_.useCallback(G=>{w(U=>new Set(U).add(G))},[]),onNativeOptionRemove:_.useCallback(G=>{w(U=>{const $=new Set(U);return $.delete(G),$})},[]),children:r})}),N?p.jsxs(ml,{"aria-hidden":!0,required:u,tabIndex:-1,name:d,autoComplete:h,value:P,onChange:G=>F(G.target.value),disabled:m,form:v,children:[P===void 0?p.jsx("option",{value:""}):null,Array.from(M)]},W):null]})})};Za.displayName=Ot;var Xa="SelectTrigger",qa=_.forwardRef((e,t)=>{const{__scopeSelect:r,disabled:n=!1,...o}=e,i=Pn(r),s=kt(Xa,r),a=s.disabled||n,l=Ae(t,s.onTriggerChange),c=On(r),d=_.useRef("touch"),[h,m,u]=bl(f=>{const b=c().filter(k=>!k.disabled),g=b.find(k=>k.value===s.value),y=vl(b,f,g);y!==void 0&&s.onValueChange(y.value)}),v=f=>{a||(s.onOpenChange(!0),u()),f&&(s.triggerPointerDownPosRef.current={x:Math.round(f.pageX),y:Math.round(f.pageY)})};return p.jsx(yn,{asChild:!0,...i,children:p.jsx(Ee.button,{type:"button",role:"combobox","aria-controls":s.contentId,"aria-expanded":s.open,"aria-required":s.required,"aria-autocomplete":"none",dir:s.dir,"data-state":s.open?"open":"closed",disabled:a,"data-disabled":a?"":void 0,"data-placeholder":gl(s.value)?"":void 0,...o,ref:l,onClick:ve(o.onClick,f=>{f.currentTarget.focus(),d.current!=="mouse"&&v(f)}),onPointerDown:ve(o.onPointerDown,f=>{d.current=f.pointerType;const b=f.target;b.hasPointerCapture(f.pointerId)&&b.releasePointerCapture(f.pointerId),f.button===0&&f.ctrlKey===!1&&f.pointerType==="mouse"&&(v(f),f.preventDefault())}),onKeyDown:ve(o.onKeyDown,f=>{const b=h.current!=="";!(f.ctrlKey||f.altKey||f.metaKey)&&f.key.length===1&&m(f.key),!(b&&f.key===" ")&&zm.includes(f.key)&&(v(),f.preventDefault())})})})});qa.displayName=Xa;var Ja="SelectValue",Qa=_.forwardRef((e,t)=>{const{__scopeSelect:r,className:n,style:o,children:i,placeholder:s="",...a}=e,l=kt(Ja,r),{onValueNodeHasChildrenChange:c}=l,d=i!==void 0,h=Ae(t,l.onValueNodeChange);return Ie(()=>{c(d)},[c,d]),p.jsx(Ee.span,{...a,ref:h,style:{pointerEvents:"none"},children:gl(l.value)?p.jsx(p.Fragment,{children:s}):i})});Qa.displayName=Ja;var Dm="SelectIcon",el=_.forwardRef((e,t)=>{const{__scopeSelect:r,children:n,...o}=e;return p.jsx(Ee.span,{"aria-hidden":!0,...o,ref:t,children:n||"▼"})});el.displayName=Dm;var Rm="SelectPortal",tl=e=>p.jsx(kn,{asChild:!0,...e});tl.displayName=Rm;var Pt="SelectContent",rl=_.forwardRef((e,t)=>{const r=kt(Pt,e.__scopeSelect),[n,o]=_.useState();if(Ie(()=>{o(new DocumentFragment)},[]),!r.open){const i=n;return i?Rr.createPortal(p.jsx(nl,{scope:e.__scopeSelect,children:p.jsx(Tn.Slot,{scope:e.__scopeSelect,children:p.jsx("div",{children:e.children})})}),i):null}return p.jsx(ol,{...e,ref:t})});rl.displayName=Pt;var et=10,[nl,St]=er(Pt),Mm="SelectContentImpl",Lm=Ht("SelectContent.RemoveScroll"),ol=_.forwardRef((e,t)=>{const{__scopeSelect:r,position:n="item-aligned",onCloseAutoFocus:o,onEscapeKeyDown:i,onPointerDownOutside:s,side:a,sideOffset:l,align:c,alignOffset:d,arrowPadding:h,collisionBoundary:m,collisionPadding:u,sticky:v,hideWhenDetached:f,avoidCollisions:b,...g}=e,y=kt(Pt,r),[k,S]=_.useState(null),[C,O]=_.useState(null),E=Ae(t,re=>S(re)),[A,P]=_.useState(null),[F,Y]=_.useState(null),N=On(r),[M,w]=_.useState(!1),W=_.useRef(!1);_.useEffect(()=>{if(k)return Ra(k)},[k]),Gs();const G=_.useCallback(re=>{const[ae,...ce]=N().map(me=>me.ref.current),[se]=ce.slice(-1),de=document.activeElement;for(const me of re)if(me===de||(me==null||me.scrollIntoView({block:"nearest"}),me===ae&&C&&(C.scrollTop=0),me===se&&C&&(C.scrollTop=C.scrollHeight),me==null||me.focus(),document.activeElement!==de))return},[N,C]),U=_.useCallback(()=>G([A,k]),[G,A,k]);_.useEffect(()=>{M&&U()},[M,U]);const{onOpenChange:$,triggerPointerDownPosRef:H}=y;_.useEffect(()=>{if(k){let re={x:0,y:0};const ae=se=>{var de,me;re={x:Math.abs(Math.round(se.pageX)-(((de=H.current)==null?void 0:de.x)??0)),y:Math.abs(Math.round(se.pageY)-(((me=H.current)==null?void 0:me.y)??0))}},ce=se=>{re.x<=10&&re.y<=10?se.preventDefault():k.contains(se.target)||$(!1),document.removeEventListener("pointermove",ae),H.current=null};return H.current!==null&&(document.addEventListener("pointermove",ae),document.addEventListener("pointerup",ce,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",ae),document.removeEventListener("pointerup",ce,{capture:!0})}}},[k,$,H]),_.useEffect(()=>{const re=()=>$(!1);return window.addEventListener("blur",re),window.addEventListener("resize",re),()=>{window.removeEventListener("blur",re),window.removeEventListener("resize",re)}},[$]);const[ee,j]=bl(re=>{const ae=N().filter(de=>!de.disabled),ce=ae.find(de=>de.ref.current===document.activeElement),se=vl(ae,re,ce);se&&setTimeout(()=>se.ref.current.focus())}),D=_.useCallback((re,ae,ce)=>{const se=!W.current&&!ce;(y.value!==void 0&&y.value===ae||se)&&(P(re),se&&(W.current=!0))},[y.value]),Z=_.useCallback(()=>k==null?void 0:k.focus(),[k]),X=_.useCallback((re,ae,ce)=>{const se=!W.current&&!ce;(y.value!==void 0&&y.value===ae||se)&&Y(re)},[y.value]),ne=n==="popper"?Zo:il,pe=ne===Zo?{side:a,sideOffset:l,align:c,alignOffset:d,arrowPadding:h,collisionBoundary:m,collisionPadding:u,sticky:v,hideWhenDetached:f,avoidCollisions:b}:{};return p.jsx(nl,{scope:r,content:k,viewport:C,onViewportChange:O,itemRefCallback:D,selectedItem:A,onItemLeave:Z,itemTextRefCallback:X,focusSelectedItem:U,selectedItemText:F,position:n,isPositioned:M,searchRef:ee,children:p.jsx(Go,{as:Lm,allowPinchZoom:!0,children:p.jsx(Eo,{asChild:!0,trapped:y.open,onMountAutoFocus:re=>{re.preventDefault()},onUnmountAutoFocus:ve(o,re=>{var ae;(ae=y.trigger)==null||ae.focus({preventScroll:!0}),re.preventDefault()}),children:p.jsx(dn,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:i,onPointerDownOutside:s,onFocusOutside:re=>re.preventDefault(),onDismiss:()=>y.onOpenChange(!1),children:p.jsx(ne,{role:"listbox",id:y.contentId,"data-state":y.open?"open":"closed",dir:y.dir,onContextMenu:re=>re.preventDefault(),...g,...pe,onPlaced:()=>w(!0),ref:E,style:{display:"flex",flexDirection:"column",outline:"none",...g.style},onKeyDown:ve(g.onKeyDown,re=>{const ae=re.ctrlKey||re.altKey||re.metaKey;if(re.key==="Tab"&&re.preventDefault(),!ae&&re.key.length===1&&j(re.key),["ArrowUp","ArrowDown","Home","End"].includes(re.key)){let se=N().filter(de=>!de.disabled).map(de=>de.ref.current);if(["ArrowUp","End"].includes(re.key)&&(se=se.slice().reverse()),["ArrowUp","ArrowDown"].includes(re.key)){const de=re.target,me=se.indexOf(de);se=se.slice(me+1)}setTimeout(()=>G(se)),re.preventDefault()}})})})})})})});ol.displayName=Mm;var Fm="SelectItemAlignedPosition",il=_.forwardRef((e,t)=>{const{__scopeSelect:r,onPlaced:n,...o}=e,i=kt(Pt,r),s=St(Pt,r),[a,l]=_.useState(null),[c,d]=_.useState(null),h=Ae(t,E=>d(E)),m=On(r),u=_.useRef(!1),v=_.useRef(!0),{viewport:f,selectedItem:b,selectedItemText:g,focusSelectedItem:y}=s,k=_.useCallback(()=>{if(i.trigger&&i.valueNode&&a&&c&&f&&b&&g){const E=i.trigger.getBoundingClientRect(),A=c.getBoundingClientRect(),P=i.valueNode.getBoundingClientRect(),F=g.getBoundingClientRect();if(i.dir!=="rtl"){const de=F.left-A.left,me=P.left-de,we=E.left-me,x=E.width+we,q=Math.max(x,A.width),V=window.innerWidth-et,I=yo(me,[et,Math.max(et,V-q)]);a.style.minWidth=x+"px",a.style.left=I+"px"}else{const de=A.right-F.right,me=window.innerWidth-P.right-de,we=window.innerWidth-E.right-me,x=E.width+we,q=Math.max(x,A.width),V=window.innerWidth-et,I=yo(me,[et,Math.max(et,V-q)]);a.style.minWidth=x+"px",a.style.right=I+"px"}const Y=m(),N=window.innerHeight-et*2,M=f.scrollHeight,w=window.getComputedStyle(c),W=parseInt(w.borderTopWidth,10),G=parseInt(w.paddingTop,10),U=parseInt(w.borderBottomWidth,10),$=parseInt(w.paddingBottom,10),H=W+G+M+$+U,ee=Math.min(b.offsetHeight*5,H),j=window.getComputedStyle(f),D=parseInt(j.paddingTop,10),Z=parseInt(j.paddingBottom,10),X=E.top+E.height/2-et,ne=N-X,pe=b.offsetHeight/2,re=b.offsetTop+pe,ae=W+G+re,ce=H-ae;if(ae<=X){const de=Y.length>0&&b===Y[Y.length-1].ref.current;a.style.bottom="0px";const me=c.clientHeight-f.offsetTop-f.offsetHeight,we=Math.max(ne,pe+(de?Z:0)+me+U),x=ae+we;a.style.height=x+"px"}else{const de=Y.length>0&&b===Y[0].ref.current;a.style.top="0px";const we=Math.max(X,W+f.offsetTop+(de?D:0)+pe)+ce;a.style.height=we+"px",f.scrollTop=ae-X+f.offsetTop}a.style.margin=`${et}px 0`,a.style.minHeight=ee+"px",a.style.maxHeight=N+"px",n==null||n(),requestAnimationFrame(()=>u.current=!0)}},[m,i.trigger,i.valueNode,a,c,f,b,g,i.dir,n]);Ie(()=>k(),[k]);const[S,C]=_.useState();Ie(()=>{c&&C(window.getComputedStyle(c).zIndex)},[c]);const O=_.useCallback(E=>{E&&v.current===!0&&(k(),y==null||y(),v.current=!1)},[k,y]);return p.jsx(Um,{scope:r,contentWrapper:a,shouldExpandOnScrollRef:u,onScrollButtonChange:O,children:p.jsx("div",{ref:l,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:S},children:p.jsx(Ee.div,{...o,ref:h,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})});il.displayName=Fm;var Bm="SelectPopperPosition",Zo=_.forwardRef((e,t)=>{const{__scopeSelect:r,align:n="start",collisionPadding:o=et,...i}=e,s=Pn(r);return p.jsx(Uo,{...s,...i,ref:t,align:n,collisionPadding:o,style:{boxSizing:"border-box",...i.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});Zo.displayName=Bm;var[Um,Xo]=er(Pt,{}),qo="SelectViewport",sl=_.forwardRef((e,t)=>{const{__scopeSelect:r,nonce:n,...o}=e,i=St(qo,r),s=Xo(qo,r),a=Ae(t,i.onViewportChange),l=_.useRef(0);return p.jsxs(p.Fragment,{children:[p.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:n}),p.jsx(Tn.Slot,{scope:r,children:p.jsx(Ee.div,{"data-radix-select-viewport":"",role:"presentation",...o,ref:a,style:{position:"relative",flex:1,overflow:"hidden auto",...o.style},onScroll:ve(o.onScroll,c=>{const d=c.currentTarget,{contentWrapper:h,shouldExpandOnScrollRef:m}=s;if(m!=null&&m.current&&h){const u=Math.abs(l.current-d.scrollTop);if(u>0){const v=window.innerHeight-et*2,f=parseFloat(h.style.minHeight),b=parseFloat(h.style.height),g=Math.max(f,b);if(g<v){const y=g+u,k=Math.min(v,y),S=y-k;h.style.height=k+"px",h.style.bottom==="0px"&&(d.scrollTop=S>0?S:0,h.style.justifyContent="flex-end")}}}l.current=d.scrollTop})})})]})});sl.displayName=qo;var al="SelectGroup",[Wm,$m]=er(al),Hm=_.forwardRef((e,t)=>{const{__scopeSelect:r,...n}=e,o=kr();return p.jsx(Wm,{scope:r,id:o,children:p.jsx(Ee.div,{role:"group","aria-labelledby":o,...n,ref:t})})});Hm.displayName=al;var ll="SelectLabel",Vm=_.forwardRef((e,t)=>{const{__scopeSelect:r,...n}=e,o=$m(ll,r);return p.jsx(Ee.div,{id:o.id,...n,ref:t})});Vm.displayName=ll;var In="SelectItem",[Ym,cl]=er(In),dl=_.forwardRef((e,t)=>{const{__scopeSelect:r,value:n,disabled:o=!1,textValue:i,...s}=e,a=kt(In,r),l=St(In,r),c=a.value===n,[d,h]=_.useState(i??""),[m,u]=_.useState(!1),v=Ae(t,y=>{var k;return(k=l.itemRefCallback)==null?void 0:k.call(l,y,n,o)}),f=kr(),b=_.useRef("touch"),g=()=>{o||(a.onValueChange(n),a.onOpenChange(!1))};if(n==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return p.jsx(Ym,{scope:r,value:n,disabled:o,textId:f,isSelected:c,onItemTextChange:_.useCallback(y=>{h(k=>k||((y==null?void 0:y.textContent)??"").trim())},[]),children:p.jsx(Tn.ItemSlot,{scope:r,value:n,disabled:o,textValue:d,children:p.jsx(Ee.div,{role:"option","aria-labelledby":f,"data-highlighted":m?"":void 0,"aria-selected":c&&m,"data-state":c?"checked":"unchecked","aria-disabled":o||void 0,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...s,ref:v,onFocus:ve(s.onFocus,()=>u(!0)),onBlur:ve(s.onBlur,()=>u(!1)),onClick:ve(s.onClick,()=>{b.current!=="mouse"&&g()}),onPointerUp:ve(s.onPointerUp,()=>{b.current==="mouse"&&g()}),onPointerDown:ve(s.onPointerDown,y=>{b.current=y.pointerType}),onPointerMove:ve(s.onPointerMove,y=>{var k;b.current=y.pointerType,o?(k=l.onItemLeave)==null||k.call(l):b.current==="mouse"&&y.currentTarget.focus({preventScroll:!0})}),onPointerLeave:ve(s.onPointerLeave,y=>{var k;y.currentTarget===document.activeElement&&((k=l.onItemLeave)==null||k.call(l))}),onKeyDown:ve(s.onKeyDown,y=>{var S;((S=l.searchRef)==null?void 0:S.current)!==""&&y.key===" "||(jm.includes(y.key)&&g(),y.key===" "&&y.preventDefault())})})})})});dl.displayName=In;var Cr="SelectItemText",ul=_.forwardRef((e,t)=>{const{__scopeSelect:r,className:n,style:o,...i}=e,s=kt(Cr,r),a=St(Cr,r),l=cl(Cr,r),c=Im(Cr,r),[d,h]=_.useState(null),m=Ae(t,g=>h(g),l.onItemTextChange,g=>{var y;return(y=a.itemTextRefCallback)==null?void 0:y.call(a,g,l.value,l.disabled)}),u=d==null?void 0:d.textContent,v=_.useMemo(()=>p.jsx("option",{value:l.value,disabled:l.disabled,children:u},l.value),[l.disabled,l.value,u]),{onNativeOptionAdd:f,onNativeOptionRemove:b}=c;return Ie(()=>(f(v),()=>b(v)),[f,b,v]),p.jsxs(p.Fragment,{children:[p.jsx(Ee.span,{id:l.textId,...i,ref:m}),l.isSelected&&s.valueNode&&!s.valueNodeHasChildren?Rr.createPortal(i.children,s.valueNode):null]})});ul.displayName=Cr;var fl="SelectItemIndicator",hl=_.forwardRef((e,t)=>{const{__scopeSelect:r,...n}=e;return cl(fl,r).isSelected?p.jsx(Ee.span,{"aria-hidden":!0,...n,ref:t}):null});hl.displayName=fl;var Jo="SelectScrollUpButton",Km=_.forwardRef((e,t)=>{const r=St(Jo,e.__scopeSelect),n=Xo(Jo,e.__scopeSelect),[o,i]=_.useState(!1),s=Ae(t,n.onScrollButtonChange);return Ie(()=>{if(r.viewport&&r.isPositioned){let a=function(){const c=l.scrollTop>0;i(c)};const l=r.viewport;return a(),l.addEventListener("scroll",a),()=>l.removeEventListener("scroll",a)}},[r.viewport,r.isPositioned]),o?p.jsx(pl,{...e,ref:s,onAutoScroll:()=>{const{viewport:a,selectedItem:l}=r;a&&l&&(a.scrollTop=a.scrollTop-l.offsetHeight)}}):null});Km.displayName=Jo;var Qo="SelectScrollDownButton",Gm=_.forwardRef((e,t)=>{const r=St(Qo,e.__scopeSelect),n=Xo(Qo,e.__scopeSelect),[o,i]=_.useState(!1),s=Ae(t,n.onScrollButtonChange);return Ie(()=>{if(r.viewport&&r.isPositioned){let a=function(){const c=l.scrollHeight-l.clientHeight,d=Math.ceil(l.scrollTop)<c;i(d)};const l=r.viewport;return a(),l.addEventListener("scroll",a),()=>l.removeEventListener("scroll",a)}},[r.viewport,r.isPositioned]),o?p.jsx(pl,{...e,ref:s,onAutoScroll:()=>{const{viewport:a,selectedItem:l}=r;a&&l&&(a.scrollTop=a.scrollTop+l.offsetHeight)}}):null});Gm.displayName=Qo;var pl=_.forwardRef((e,t)=>{const{__scopeSelect:r,onAutoScroll:n,...o}=e,i=St("SelectScrollButton",r),s=_.useRef(null),a=On(r),l=_.useCallback(()=>{s.current!==null&&(window.clearInterval(s.current),s.current=null)},[]);return _.useEffect(()=>()=>l(),[l]),Ie(()=>{var d;const c=a().find(h=>h.ref.current===document.activeElement);(d=c==null?void 0:c.ref.current)==null||d.scrollIntoView({block:"nearest"})},[a]),p.jsx(Ee.div,{"aria-hidden":!0,...o,ref:t,style:{flexShrink:0,...o.style},onPointerDown:ve(o.onPointerDown,()=>{s.current===null&&(s.current=window.setInterval(n,50))}),onPointerMove:ve(o.onPointerMove,()=>{var c;(c=i.onItemLeave)==null||c.call(i),s.current===null&&(s.current=window.setInterval(n,50))}),onPointerLeave:ve(o.onPointerLeave,()=>{l()})})}),Zm="SelectSeparator",Xm=_.forwardRef((e,t)=>{const{__scopeSelect:r,...n}=e;return p.jsx(Ee.div,{"aria-hidden":!0,...n,ref:t})});Xm.displayName=Zm;var ei="SelectArrow",qm=_.forwardRef((e,t)=>{const{__scopeSelect:r,...n}=e,o=Pn(r),i=kt(ei,r),s=St(ei,r);return i.open&&s.position==="popper"?p.jsx(Wo,{...o,...n,ref:t}):null});qm.displayName=ei;var Jm="SelectBubbleInput",ml=_.forwardRef(({__scopeSelect:e,value:t,...r},n)=>{const o=_.useRef(null),i=Ae(n,o),s=Up(t);return _.useEffect(()=>{const a=o.current;if(!a)return;const l=window.HTMLSelectElement.prototype,d=Object.getOwnPropertyDescriptor(l,"value").set;if(s!==t&&d){const h=new Event("change",{bubbles:!0});d.call(a,t),a.dispatchEvent(h)}},[s,t]),p.jsx(Ee.select,{...r,style:{...Pa,...r.style},ref:i,defaultValue:t})});ml.displayName=Jm;function gl(e){return e===""||e===void 0}function bl(e){const t=Le(e),r=_.useRef(""),n=_.useRef(0),o=_.useCallback(s=>{const a=r.current+s;t(a),(function l(c){r.current=c,window.clearTimeout(n.current),c!==""&&(n.current=window.setTimeout(()=>l(""),1e3))})(a)},[t]),i=_.useCallback(()=>{r.current="",window.clearTimeout(n.current)},[]);return _.useEffect(()=>()=>window.clearTimeout(n.current),[]),[r,o,i]}function vl(e,t,r){const o=t.length>1&&Array.from(t).every(c=>c===t[0])?t[0]:t,i=r?e.indexOf(r):-1;let s=Qm(e,Math.max(i,0));o.length===1&&(s=s.filter(c=>c!==r));const l=s.find(c=>c.textValue.toLowerCase().startsWith(o.toLowerCase()));return l!==r?l:void 0}function Qm(e,t){return e.map((r,n)=>e[(t+n)%e.length])}var eg=Za,wl=qa,tg=Qa,rg=el,ng=tl,xl=rl,og=sl,yl=dl,ig=ul,sg=hl;const ag=eg,lg=tg,kl=_.forwardRef(({className:e,children:t,...r},n)=>p.jsxs(wl,{ref:n,className:ge("flex h-8 w-full items-center justify-between gap-2 rounded-md border border-zinc-800 bg-black px-3 py-1.5 text-left text-xs font-medium text-white outline-none","hover:bg-zinc-900 focus-visible:ring-2 focus-visible:ring-blue-500/80 focus-visible:ring-inset focus-visible:border-zinc-600","disabled:pointer-events-none disabled:opacity-50 [&>span]:line-clamp-1 [&>span]:flex [&>span]:items-center [&>span]:gap-2",e),style:{boxShadow:"none",WebkitBoxShadow:"none",MozBoxShadow:"none"},...r,children:[t,p.jsx(rg,{asChild:!0,children:p.jsx(Hr,{className:"h-3 w-3 shrink-0 text-zinc-400",strokeWidth:2})})]}));kl.displayName=wl.displayName;const Sl=_.forwardRef(({className:e,children:t,position:r="popper",...n},o)=>p.jsx(ng,{children:p.jsx(xl,{ref:o,className:ge("relative z-[9999] max-h-96 min-w-[8rem] overflow-hidden rounded-md border border-zinc-800 bg-zinc-950 text-white shadow-lg","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95","data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",r==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:r,...n,children:p.jsx(og,{className:ge("p-1",r==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:t})})}));Sl.displayName=xl.displayName;const _l=_.forwardRef(({className:e,children:t,...r},n)=>p.jsxs(yl,{ref:n,className:ge("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-xs outline-none","focus:bg-zinc-800 focus:text-white data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...r,children:[p.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:p.jsx(sg,{children:p.jsx(Qn,{className:"h-3 w-3",strokeWidth:2})})}),p.jsx(ig,{children:t})]}));_l.displayName=yl.displayName;const Cl=_.createContext(null);function El(){const e=_.useContext(Cl);if(!e)throw new Error("Dialog components must be used within Dialog");return e}function Al({open:e,onOpenChange:t,children:r}){const[n,o]=_.useState(!1),i=e!==void 0,s=i?e:n,a=_.useCallback(c=>{i||o(c),t==null||t(c)},[i,t]),l=_.useMemo(()=>({open:s,onOpenChange:a}),[s,a]);return p.jsx(Cl.Provider,{value:l,children:r})}function cg({asChild:e,children:t}){const{onOpenChange:r}=El(),n=_.Children.only(t);return e&&_.isValidElement(n)?_.cloneElement(n,{onClick:o=>{var i,s;(s=(i=n.props).onClick)==null||s.call(i,o),r(!0)}}):p.jsx("button",{type:"button",onClick:()=>r(!0),children:t})}function Nl({className:e,children:t,preventCloseOnBackdropClick:r,...n}){const{open:o,onOpenChange:i}=El();if(_.useEffect(()=>{const a=l=>{l.key==="Escape"&&i(!1)};return o&&(document.addEventListener("keydown",a),document.body.style.overflow="hidden"),()=>{document.removeEventListener("keydown",a),document.body.style.overflow=""}},[o,i]),!o)return null;const s=a=>{a.preventDefault(),a.stopPropagation()};return pt.createPortal(p.jsxs(p.Fragment,{children:[p.jsx("div",{className:"fixed inset-0 z-[9998] bg-black/60","aria-hidden":!0,onClick:()=>!r&&i(!1),onDragOver:s,onDrop:s}),p.jsx("div",{role:"dialog","aria-modal":!0,className:ge("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:a=>a.stopPropagation(),...n,children:t})]}),document.body)}function zl({className:e,...t}){return p.jsx("div",{className:ge("flex flex-col gap-1.5 pb-4",e),...t})}function dg({className:e,...t}){return p.jsx("div",{className:ge("flex justify-end gap-2 pt-4",e),...t})}function jl({className:e,...t}){return p.jsx("h2",{className:ge("text-sm font-semibold text-white",e),...t})}function Tl({className:e,...t}){return p.jsx("p",{className:ge("text-xs text-zinc-400",e),...t})}const We=_.forwardRef(({className:e,variant:t="default",size:r="default",asChild:n=!1,...o},i)=>{const s="inline-flex items-center justify-center gap-1.5 whitespace-nowrap rounded-md font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:shrink-0 cursor-pointer",a={default:"bg-primary text-primary-foreground shadow-lg shadow-primary/20 hover:bg-primary/90",outline:"border border-zinc-700 bg-zinc-900 text-zinc-200 hover:bg-zinc-800 hover:border-zinc-600",ghost:"text-zinc-500 hover:text-zinc-200 hover:bg-zinc-800",destructive:"bg-destructive/15 text-destructive hover:bg-destructive/25"},l={sm:"h-7 px-2.5 text-[11px]",default:"h-8 px-3 py-1.5 text-xs",lg:"h-9 px-5 text-sm",icon:"h-8 w-8","icon-sm":"h-7 w-7","icon-xs":"h-6 w-6"},c=n?Hf:"button";return p.jsx(c,{ref:i,type:"button",className:ge(s,a[t],l[r],e),...o})});We.displayName="Button";const ug=["library","upload","url"];function fg({library:e,selectedId:t,onSelect:r}){const[n,o]=T.useState(""),[i,s]=T.useState("all"),a=["all",...new Set(e.flatMap(c=>c.tags??[]))],l=e.filter(c=>{const d=i==="all"||(c.tags??[]).includes(i),h=!n||(c.alt??"").toLowerCase().includes(n.toLowerCase());return d&&h});return p.jsxs("div",{className:"space-y-4",children:[p.jsxs("div",{className:"relative",children:[p.jsx(Rd,{size:14,className:"absolute left-3 top-1/2 -translate-y-1/2 text-zinc-600 pointer-events-none"}),p.jsx(xo,{value:n,onChange:c=>o(c.target.value),placeholder:"Cerca immagini...",className:"pl-9 h-8 text-xs bg-zinc-900/50 border-zinc-800"})]}),p.jsx("div",{className:"flex flex-wrap gap-1.5",children:a.map(c=>p.jsx("button",{type:"button",onClick:()=>s(c),className:ge("px-2.5 py-1 rounded text-[10px] font-medium border transition-colors",i===c?"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:c==="all"?"Tutte":c},c))}),l.length>0?p.jsx("div",{className:"grid grid-cols-3 gap-2.5 max-h-[45vh] overflow-y-auto",children:l.map(c=>{const d=t===c.id;return p.jsxs("button",{type:"button",onClick:()=>r(d?null:c.id),className:ge("group relative aspect-[4/3] rounded-lg overflow-hidden","ring-1 transition-all duration-150",d?"ring-blue-500 ring-2 ring-offset-1 ring-offset-zinc-900":"ring-zinc-800 hover:ring-zinc-600 hover:scale-[1.02]"),children:[p.jsx("img",{src:c.url,alt:c.alt,loading:"lazy",className:ge("w-full h-full object-cover transition-[filter] duration-150",d?"brightness-[0.6]":"brightness-[0.85] group-hover:brightness-100")}),p.jsx("div",{className:ge("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",d&&"opacity-100"),children:p.jsx("span",{className:"text-[10px] text-white font-medium leading-tight line-clamp-2",children:c.alt})}),d&&p.jsx("div",{className:"absolute top-2 right-2 w-6 h-6 rounded-full bg-blue-600 flex items-center justify-center",children:p.jsx(Qn,{size:14,className:"text-white"})})]},c.id)})}):p.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 hg({preview:e,onPreviewChange:t,onAssetUpload:r}){const[n,o]=T.useState(!1),i=T.useRef(null),s=T.useCallback(async d=>{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:d.name,hasOnAssetUpload:!!r},timestamp:Date.now(),hypothesisId:"H5"})}).catch(()=>{}),!d.type.startsWith("image/"))return;if(r){try{const m=await r(d);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:m==null?void 0:m.slice(0,50)},timestamp:Date.now(),hypothesisId:"H2,H5"})}).catch(()=>{}),t({name:d.name,size:d.size,dataUrl:m})}catch{const m=new FileReader;m.onload=u=>{var v;t({name:d.name,size:d.size,dataUrl:(v=u.target)==null?void 0:v.result})},m.readAsDataURL(d)}return}const h=new FileReader;h.onload=m=>{var u;t({name:d.name,size:d.size,dataUrl:(u=m.target)==null?void 0:u.result})},h.readAsDataURL(d)},[t,r]),a=T.useCallback(d=>{var m,u;d.preventDefault(),d.stopPropagation(),o(!1);const h=(u=(m=d.dataTransfer)==null?void 0:m.files)==null?void 0:u[0];h&&s(h)},[s]),l=T.useCallback(d=>{d.preventDefault(),d.stopPropagation(),o(!0)},[]),c=T.useCallback(d=>{var m;const h=(m=d.target.files)==null?void 0:m[0];h&&s(h)},[s]);return p.jsxs("div",{onDragOver:l,onDragEnter:l,onDragLeave:d=>{d.preventDefault(),d.stopPropagation(),o(!1)},onDrop:a,onClick:()=>{var d;return!e&&((d=i.current)==null?void 0:d.click())},className:ge("rounded-xl border-2 border-dashed transition-all min-h-[240px]","flex flex-col items-center justify-center overflow-hidden cursor-pointer relative",n?"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?p.jsxs(p.Fragment,{children:[p.jsx("img",{src:e.dataUrl,alt:"Upload preview",className:"w-full max-h-[320px] object-contain"}),p.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:[p.jsxs("div",{children:[p.jsx("p",{className:"text-xs font-medium text-white",children:e.name}),p.jsxs("p",{className:"text-[10px] text-zinc-400",children:[(e.size/1024).toFixed(1)," KB"]})]}),p.jsx(We,{type:"button",variant:"ghost",className:"text-zinc-400 hover:text-red-400 hover:bg-red-500/10 h-8 w-8 p-0",onClick:d=>{d.stopPropagation(),t(null)},children:p.jsx(Yr,{size:14})})]})]}):p.jsxs(p.Fragment,{children:[p.jsx("div",{className:"w-12 h-12 rounded-xl bg-blue-500/10 flex items-center justify-center text-blue-500 mb-3",children:p.jsx(Xi,{size:22})}),p.jsx("p",{className:"text-sm font-medium text-white mb-1",children:"Trascina un'immagine qui"}),p.jsx("p",{className:"text-[11px] text-zinc-500 mb-3",children:"oppure clicca per selezionare un file"}),p.jsx("span",{className:"text-[10px] text-zinc-600 bg-white/[0.03] px-3 py-1 rounded",children:"PNG, JPG, WebP — max 5MB"})]}),p.jsx("input",{ref:i,type:"file",accept:"image/*",className:"hidden",onChange:c})]})}function pg({urlPreview:e,onUrlPreviewChange:t}){const[r,n]=T.useState(""),[o,i]=T.useState(!1),s=()=>{if(r.trim())try{new URL(r),t(r),i(!1)}catch{i(!0),t(null)}};return p.jsxs("div",{className:"space-y-4",children:[p.jsxs("div",{children:[p.jsx(jt,{className:"block text-[10px] font-bold uppercase tracking-[0.08em] text-zinc-500 mb-1.5",children:"URL immagine"}),p.jsxs("div",{className:"flex gap-2",children:[p.jsx(xo,{value:r,onChange:a=>{n(a.target.value),i(!1)},onKeyDown:a=>a.key==="Enter"&&s(),placeholder:"https://images.unsplash.com/photo-...",className:ge("h-8 text-xs bg-zinc-900/50 border-zinc-800",o&&"border-red-500/50")}),p.jsx(We,{type:"button",variant:"outline",onClick:s,className:"shrink-0 h-8",children:"Anteprima"})]}),o&&p.jsx("p",{className:"text-[11px] text-red-400 mt-1.5",children:"URL non valido. Inserisci un URL completo (https://…)"})]}),e?p.jsxs("div",{className:"rounded-lg overflow-hidden ring-1 ring-zinc-800",children:[p.jsx("img",{src:e,alt:"URL preview",className:"w-full max-h-[320px] object-contain bg-black/30",onError:()=>{i(!0),t(null)}}),p.jsxs("div",{className:"px-3.5 py-2.5 bg-white/[0.02] border-t border-zinc-800 flex items-center gap-2",children:[p.jsx(Qn,{size:14,className:"text-emerald-400"}),p.jsx("span",{className:"text-[11px] text-zinc-500",children:"Immagine caricata correttamente"})]})]}):o?null:p.jsxs("div",{className:"flex flex-col items-center py-12 text-zinc-600",children:[p.jsx(Zi,{size:32,className:"mb-3 opacity-40"}),p.jsx("p",{className:"text-xs",children:"Incolla un URL e premi Anteprima per verificare"})]})]})}const mg=({open:e,onOpenChange:t,onSelect:r})=>{const{assets:n}=dr(),o=(n==null?void 0:n.assetsManifest)??[],[i,s]=T.useState("library"),[a,l]=T.useState(null),[c,d]=T.useState(null),[h,m]=T.useState(null);T.useEffect(()=>{e&&(s("library"),l(null),d(null),m(null))},[e]),T.useEffect(()=>{if(!e||i!=="upload")return;const g=()=>{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",g),()=>window.removeEventListener("beforeunload",g)},[e,i]),T.useEffect(()=>{if(!e||i!=="upload")return;const g=k=>{k.preventDefault()},y={capture:!0};return document.addEventListener("dragover",g,y),document.addEventListener("drop",g,y),window.addEventListener("dragover",g,y),window.addEventListener("drop",g,y),()=>{document.removeEventListener("dragover",g,y),document.removeEventListener("drop",g,y),window.removeEventListener("dragover",g,y),window.removeEventListener("drop",g,y)}},[e,i]);const u=i==="library"&&a!=null||i==="upload"&&c!=null||i==="url"&&h!=null,v=()=>{if(i==="library"&&a){const g=o.find(y=>y.id===a);g&&r({url:g.url,alt:g.alt})}else i==="upload"&&c?r({url:c.dataUrl,alt:c.name}):i==="url"&&h&&r({url:h,alt:""});setTimeout(()=>t(!1),0)},f=i==="library"&&a?"1 immagine selezionata":i==="upload"&&c?c.name:i==="url"&&h?"URL pronto":"Nessuna selezione",b=g=>{g.preventDefault(),g.stopPropagation()};return p.jsx(Al,{open:e,onOpenChange:t,children:p.jsxs(Nl,{className:"max-w-2xl p-0 gap-0 max-h-[90vh] flex flex-col",preventCloseOnBackdropClick:i==="upload",onDragOver:b,onDrop:b,children:[p.jsxs(zl,{className:"px-5 py-4 flex flex-row items-start justify-between gap-4 border-b border-zinc-800",children:[p.jsxs("div",{className:"flex items-center gap-3",children:[p.jsx("div",{className:"p-1.5 rounded-lg bg-blue-500/15 text-blue-500",children:p.jsx(Vr,{size:18})}),p.jsxs("div",{children:[p.jsx(jl,{children:"Image Picker"}),p.jsx(Tl,{children:"Scegli dalla libreria, carica dal disco o inserisci un link"})]})]}),p.jsx("button",{type:"button",onClick:()=>t(!1),className:"p-1.5 rounded text-zinc-500 hover:text-white hover:bg-zinc-800 transition-colors","aria-label":"Chiudi",children:p.jsx(Lt,{size:18})})]}),p.jsx("div",{className:"flex border-b border-zinc-800",children:ug.map(g=>p.jsxs("button",{type:"button",onClick:()=>s(g),className:ge("flex items-center gap-2 px-4 py-3 text-xs font-medium border-b-2 transition-colors",i===g?"border-blue-500 text-blue-400":"border-transparent text-zinc-500 hover:text-zinc-300"),children:[g==="library"&&p.jsx(Vr,{size:14}),g==="upload"&&p.jsx(Xi,{size:14}),g==="url"&&p.jsx(Zi,{size:14}),g==="library"?"Libreria":g==="upload"?"Upload":"URL"]},g))}),p.jsxs("div",{className:"flex-1 overflow-y-auto p-5 min-h-0",children:[i==="library"&&p.jsx(fg,{library:o,selectedId:a,onSelect:l}),i==="upload"&&p.jsx(hg,{preview:c,onPreviewChange:d,onAssetUpload:n==null?void 0:n.onAssetUpload}),i==="url"&&p.jsx(pg,{urlPreview:h,onUrlPreviewChange:m})]}),p.jsxs(dg,{className:"px-5 py-4 border-t border-zinc-800 flex-row justify-between",children:[p.jsx("span",{className:"text-[10px] uppercase tracking-[0.05em] text-zinc-600",children:f}),p.jsxs("div",{className:"flex gap-2",children:[p.jsx(We,{type:"button",variant:"outline",size:"sm",onClick:()=>t(!1),children:"Annulla"}),p.jsx(We,{type:"button",size:"sm",disabled:!u,onClick:v,className:ge(!u&&"opacity-40"),children:"Inserisci immagine"})]})]})]})})},Ol=(e,t="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 n=e.replace(/^\//,"");return`/assets/${t}/${n}`},gg=({value:e,onChange:t,label:r="IMAGE",className:n})=>{const{tenantId:o="default"}=dr(),[i,s]=T.useState(!1),[a,l]=T.useState(!1),c=!!(e!=null&&e.url),d=e!=null&&e.url?Ol(e.url,o):"",h=u=>{t(u),s(!1)},m=u=>{u.stopPropagation(),t({url:"",alt:""})};return p.jsxs("div",{className:ge("space-y-1.5",n),children:[p.jsx(jt,{className:"text-[9px] uppercase font-black tracking-widest text-zinc-500",children:r}),c?p.jsxs("div",{role:"button",tabIndex:0,onClick:()=>s(!0),onKeyDown:u=>u.key==="Enter"&&s(!0),onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),className:ge("relative rounded-lg overflow-hidden cursor-pointer","ring-1 ring-zinc-800 transition-all",a&&"ring-blue-500/40"),children:[p.jsx("img",{src:d,alt:(e==null?void 0:e.alt)??"",className:"w-full h-40 object-cover block",onError:u=>{u.target.style.display="none"}}),p.jsx("div",{className:ge("absolute inset-0 flex items-center justify-center gap-2 transition-all duration-150",a?"bg-black/50":"bg-black/0"),children:a&&p.jsxs(p.Fragment,{children:[p.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:[p.jsx(Id,{size:13}),p.jsx("span",{children:"Cambia"})]}),p.jsx(We,{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:m,children:p.jsx(Yr,{size:13})})]})}),p.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)??""})]}):p.jsxs("button",{type:"button",onClick:()=>s(!0),className:ge("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:[p.jsx("div",{className:"w-9 h-9 rounded-lg bg-blue-500/10 flex items-center justify-center text-blue-500",children:p.jsx(Vr,{size:18})}),p.jsx("span",{className:"text-xs text-zinc-400 font-medium",children:"Clicca per aggiungere un'immagine"}),p.jsx("span",{className:"text-[10px] text-zinc-600",children:"Libreria · Upload · URL"})]}),p.jsx(mg,{open:i,onOpenChange:s,onSelect:h})]})},Pl=[{name:"layers",Icon:to},{name:"github",Icon:Od},{name:"arrow-right",Icon:Cd},{name:"box",Icon:Ad},{name:"terminal",Icon:Bd},{name:"chevron-right",Icon:Nd},{name:"menu",Icon:Pd},{name:"x",Icon:Lt},{name:"sparkles",Icon:Ld},{name:"zap",Icon:Wd}],Er={"ui:text":({label:e,value:t,onChange:r})=>p.jsxs("div",{className:"grid w-full items-center gap-1.5 mb-4",children:[p.jsx(jt,{className:"text-[9px] uppercase font-black tracking-widest text-zinc-500",children:e}),p.jsx(xo,{type:"text",className:"h-7 text-[11px] bg-zinc-900/50 border-zinc-800 focus-visible:ring-blue-600",value:t||"",onChange:n=>r(n.target.value)})]}),"ui:textarea":({label:e,value:t,onChange:r})=>p.jsxs("div",{className:"grid w-full gap-1.5 mb-4",children:[p.jsx(jt,{className:"text-[9px] uppercase font-black tracking-widest text-zinc-500",children:e}),p.jsx(Uf,{className:"min-h-[80px] text-[11px] bg-zinc-900/50 border-zinc-800 focus-visible:ring-blue-600 resize-none",value:t||"",onChange:n=>r(n.target.value)})]}),"ui:select":({label:e,value:t,onChange:r,options:n=[]})=>p.jsxs("div",{className:"grid w-full gap-1.5 mb-4",children:[p.jsx(jt,{className:"text-[9px] uppercase font-black tracking-widest text-zinc-500",children:e}),p.jsxs(ag,{value:t||"",onValueChange:r,children:[p.jsx(kl,{className:"w-full h-7 text-[11px] bg-zinc-900/50 border-zinc-800 focus:ring-blue-600",children:p.jsx(lg,{placeholder:"Select..."})}),p.jsx(Sl,{className:"dark",children:n.map(o=>p.jsx(_l,{value:o,className:"text-[11px]",children:o},o))})]})]}),"ui:checkbox":({label:e,value:t,onChange:r})=>p.jsxs("div",{className:"flex items-center space-x-2 mb-4 p-2 rounded border border-zinc-800/50 bg-zinc-900/20",children:[p.jsx(Wf,{id:e,checked:!!t,onCheckedChange:n=>r(n===!0)}),p.jsx(jt,{htmlFor:e,className:"text-[11px] font-medium cursor-pointer select-none text-zinc-300",children:e})]}),"ui:image-picker":({label:e,value:t,onChange:r})=>{const n=t!=null&&typeof t=="object"&&"url"in t?{url:String(t.url??""),alt:String(t.alt??"")}:{url:typeof t=="string"?t:"",alt:""},o=i=>{r(i)};return p.jsx("div",{className:"mb-4",children:p.jsx(gg,{label:e,value:n,onChange:o})})},"ui:icon-picker":({label:e,value:t,onChange:r})=>{const[n,o]=T.useState(!1),i=Pl.find(s=>s.name===(t||""));return p.jsxs("div",{className:"grid w-full gap-1.5 mb-4",children:[p.jsx(jt,{className:"text-[9px] uppercase font-black tracking-widest text-zinc-500",children:e}),p.jsxs(Al,{open:n,onOpenChange:o,children:[p.jsx(cg,{asChild:!0,children:p.jsx(We,{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?p.jsxs(p.Fragment,{children:[p.jsx(i.Icon,{size:16,className:"text-zinc-400 shrink-0"}),p.jsx("span",{className:"text-[11px] text-zinc-300 capitalize truncate",children:i.name})]}):p.jsxs(p.Fragment,{children:[p.jsx(Vr,{size:16,className:"text-zinc-500 shrink-0"}),p.jsx("span",{className:"text-[11px] text-zinc-500",children:"Choose icon..."})]})})}),p.jsxs(Nl,{className:"sm:max-w-[280px] p-4",children:[p.jsxs(zl,{children:[p.jsx(jl,{className:"text-sm",children:"Choose icon"}),p.jsx(Tl,{className:"text-xs",children:"Click an icon to select it."})]}),p.jsx("div",{className:"grid grid-cols-5 gap-2 py-2",children:Pl.map(({name:s,Icon:a})=>p.jsx("button",{type:"button",onClick:()=>{r(s),o(!1)},className:ge("flex items-center justify-center w-10 h-10 rounded-md border transition-colors",t===s?"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:s,children:p.jsx(a,{size:20})},s))})]})]})]})}},ti=e=>{if(e instanceof Re.z.ZodOptional||e instanceof Re.z.ZodDefault)return ti(e._def.innerType);if(e instanceof Re.z.ZodObject){const t={id:crypto.randomUUID()};for(const r in e.shape)r!=="id"&&(t[r]=ti(e.shape[r]));return t}return e instanceof Re.z.ZodArray?[]:e instanceof Re.z.ZodString?"":e instanceof Re.z.ZodNumber?0:e instanceof Re.z.ZodBoolean?!1:e instanceof Re.z.ZodEnum?e._def.values[0]:null},ri=e=>e instanceof Re.z.ZodOptional||e instanceof Re.z.ZodDefault?ri(e._def.innerType):e,Dn=(e,t)=>e&&!t?"opacity-10":"opacity-100",tr=(e,t)=>e!=null&&t.toLowerCase()===e.toLowerCase(),bg=(e,t)=>{if(!e)return;const r=t.toLowerCase(),n=Object.entries(e).find(([o])=>o.toLowerCase()===r);return n==null?void 0:n[1]},Ar=({schema:e,data:t,onChange:r,keys:n,expandedItemPath:o,expandedItemIdByField:i,focusedFieldKey:s,onSidebarExpandedItemChange:a})=>{const l=e.shape,c=n!=null?Object.keys(l).filter(v=>n.includes(v)):Object.keys(l),d=o==null?void 0:o[0],h=(d==null?void 0:d.itemId)!=null?{[d.fieldKey]:d.itemId}:i,m=(d==null?void 0:d.fieldKey)??s??null,u=m!=null;return p.jsx("div",{className:"space-y-4",children:c.map(v=>{const f=l[v];if(!f)return null;const b=ri(f),g=f.description||"ui:text",y=t[v];if(g==="ui:image-picker"&&b instanceof Re.z.ZodObject){const O=tr(m,v),E=Er["ui:image-picker"]||Er["ui:text"];return p.jsx("div",{className:`transition-opacity duration-200 ${Dn(u,O)}`,...O?{"data-jp-focused-field":v}:{},children:p.jsx(E,{label:v,value:y,onChange:A=>r({...t,[v]:A})})},v)}if(b instanceof Re.z.ZodObject){const O=y||{},E=tr(m,v);return p.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 ${Dn(u,E)}`,...E?{"data-jp-focused-field":v}:{},children:[p.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[p.jsx("div",{className:"w-1 h-3 bg-blue-500 rounded-full"}),p.jsx("h4",{className:"text-[10px] font-black uppercase text-zinc-400 tracking-widest",children:v})]}),p.jsx(Ar,{schema:b,data:O,onChange:A=>r({...t,[v]:A}),expandedItemPath:o&&tr(d==null?void 0:d.fieldKey,v)?o.slice(1):void 0,expandedItemIdByField:h,focusedFieldKey:m})]},v)}if(b instanceof Re.z.ZodArray){const O=Array.isArray(y)?y:[],E=ri(b.element),A=(N,M)=>{if(M<0||M>=O.length)return;const w=[...O],[W]=w.splice(N,1);w.splice(M,0,W),r({...t,[v]:w})},P=tr(m,v),F=tr(d==null?void 0:d.fieldKey,v)?d==null?void 0:d.itemId:void 0,Y=bg(h,v)??F;return p.jsxs("div",{className:`mb-8 transition-opacity duration-200 ${Dn(u,P)}`,...P?{"data-jp-focused-field":v}:{},children:[p.jsxs("div",{className:"flex items-center justify-between mb-3",children:[p.jsxs("label",{className:"text-[10px] font-black uppercase text-zinc-500 tracking-widest",children:[v," (",O.length,")"]}),p.jsxs("button",{type:"button",onClick:()=>{const N=ti(E);r({...t,[v]:[...O,N]})},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:[p.jsx(ro,{size:12})," Add Item"]})]}),p.jsx("div",{className:"space-y-2",children:O.map((N,M)=>{const w=N,W=w.id||`legacy-${M}`,G=(typeof w.title=="string"?w.title:null)||(typeof w.label=="string"?w.label:null)||(typeof w.name=="string"?w.name:null)||(typeof w.content=="string"?w.content:null)||(typeof w.text=="string"?w.text:null)||`${v} #${M+1}`,U=Y,$=String(w.id??W),H=U!=null&&String(U)===$,ee=H&&o&&o.length>1?o.slice(1):void 0,j=u&&P&&U!=null&&!H;return p.jsx(vg,{itemId:$,openItemId:U!=null?String(U):void 0,isFaded:j,index:M,isFirst:M===0,isLast:M===O.length-1,label:G,onExpandedChange:a?D=>a(D?{fieldKey:v,itemId:$}:null):void 0,onRemove:()=>{const D=O.filter((Z,X)=>X!==M);r({...t,[v]:D})},onMoveUp:()=>A(M,M-1),onMoveDown:()=>A(M,M+1),children:E instanceof Re.z.ZodObject?p.jsx(Ar,{schema:E,data:w||{},expandedItemPath:ee,onChange:D=>{const Z=[...O];Z[M]=D,r({...t,[v]:Z})}}):p.jsx("div",{className:"text-[10px] text-red-400",children:"Primitive arrays not supported."})},W)})})]},v)}const k=Er[g]||Er["ui:text"],S=b instanceof Re.z.ZodEnum?b._def.values:void 0,C=tr(m,v);return p.jsx("div",{className:`transition-opacity duration-200 ${Dn(u,C)}`,...C?{"data-jp-focused-field":v}:{},children:p.jsx(k,{label:v,value:y,options:S,onChange:O=>r({...t,[v]:O})})},v)})})},vg=({itemId:e,openItemId:t,isFaded:r=!1,label:n,onExpandedChange:o,onRemove:i,onMoveUp:s,onMoveDown:a,isFirst:l,isLast:c,children:d})=>{const h=t!=null&&String(t)===String(e),[m,u]=T.useState(h);T.useEffect(()=>{h&&!m&&u(!0),!h&&m&&u(!1)},[h,m]);const v=()=>{const b=!m;u(b),o==null||o(b)},f=h&&m;return p.jsxs("div",{className:`border border-zinc-800 rounded-md bg-zinc-900/40 overflow-hidden transition-opacity duration-200 ${r?"opacity-10":"opacity-100"}`,...f?{"data-jp-expanded-item":e}:{},children:[p.jsxs("div",{className:"flex items-center justify-between px-3 py-2 bg-zinc-900/60",children:[p.jsx("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:p.jsxs("button",{type:"button",onClick:v,className:"flex items-center gap-2 text-[10px] font-bold text-zinc-300 uppercase tracking-tight truncate",children:[m?p.jsx(eo,{size:12,className:"shrink-0"}):p.jsx(Hr,{size:12,className:"shrink-0"}),p.jsx("span",{className:"truncate",children:n})]})}),p.jsxs("div",{className:"flex items-center gap-1 shrink-0 ml-2",children:[p.jsx("button",{type:"button",disabled:l,onClick:s,className:"text-zinc-500 hover:text-blue-400 disabled:opacity-20 p-1 transition-colors",children:p.jsx(Ed,{size:12})}),p.jsx("button",{type:"button",disabled:c,onClick:a,className:"text-zinc-500 hover:text-blue-400 disabled:opacity-20 p-1 transition-colors",children:p.jsx(_d,{size:12})}),p.jsx("div",{className:"w-px h-3 bg-zinc-800 mx-1"}),p.jsx("button",{type:"button",onClick:i,className:"text-zinc-600 hover:text-red-500 transition-colors p-1",children:p.jsx(Yr,{size:12})})]})]}),m&&p.jsx("div",{className:"p-4 border-t border-zinc-800 bg-black/20",children:d})]})};function wg(e,t){return _.useReducer((r,n)=>t[r][n]??r,e)}var ft=e=>{const{present:t,children:r}=e,n=xg(t),o=typeof r=="function"?r({present:n.isPresent}):_.Children.only(r),i=Ae(n.ref,yg(o));return typeof r=="function"||n.isPresent?_.cloneElement(o,{ref:i}):null};ft.displayName="Presence";function xg(e){const[t,r]=_.useState(),n=_.useRef(null),o=_.useRef(e),i=_.useRef("none"),s=e?"mounted":"unmounted",[a,l]=wg(s,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return _.useEffect(()=>{const c=Rn(n.current);i.current=a==="mounted"?c:"none"},[a]),Ie(()=>{const c=n.current,d=o.current;if(d!==e){const m=i.current,u=Rn(c);e?l("MOUNT"):u==="none"||(c==null?void 0:c.display)==="none"?l("UNMOUNT"):l(d&&m!==u?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,l]),Ie(()=>{if(t){let c;const d=t.ownerDocument.defaultView??window,h=u=>{const f=Rn(n.current).includes(CSS.escape(u.animationName));if(u.target===t&&f&&(l("ANIMATION_END"),!o.current)){const b=t.style.animationFillMode;t.style.animationFillMode="forwards",c=d.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=b)})}},m=u=>{u.target===t&&(i.current=Rn(n.current))};return t.addEventListener("animationstart",m),t.addEventListener("animationcancel",h),t.addEventListener("animationend",h),()=>{d.clearTimeout(c),t.removeEventListener("animationstart",m),t.removeEventListener("animationcancel",h),t.removeEventListener("animationend",h)}}else l("ANIMATION_END")},[t,l]),{isPresent:["mounted","unmountSuspended"].includes(a),ref:_.useCallback(c=>{n.current=c?getComputedStyle(c):null,r(c)},[])}}function Rn(e){return(e==null?void 0:e.animationName)||"none"}function yg(e){var n,o;let t=(n=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:n.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var[Mn]=$t("Tooltip",[Zt]),Ln=Zt(),Il="TooltipProvider",kg=700,ni="tooltip.open",[Sg,oi]=Mn(Il),Dl=e=>{const{__scopeTooltip:t,delayDuration:r=kg,skipDelayDuration:n=300,disableHoverableContent:o=!1,children:i}=e,s=_.useRef(!0),a=_.useRef(!1),l=_.useRef(0);return _.useEffect(()=>{const c=l.current;return()=>window.clearTimeout(c)},[]),p.jsx(Sg,{scope:t,isOpenDelayedRef:s,delayDuration:r,onOpen:_.useCallback(()=>{window.clearTimeout(l.current),s.current=!1},[]),onClose:_.useCallback(()=>{window.clearTimeout(l.current),l.current=window.setTimeout(()=>s.current=!0,n)},[n]),isPointerInTransitRef:a,onPointerInTransitChange:_.useCallback(c=>{a.current=c},[]),disableHoverableContent:o,children:i})};Dl.displayName=Il;var Nr="Tooltip",[_g,zr]=Mn(Nr),Rl=e=>{const{__scopeTooltip:t,children:r,open:n,defaultOpen:o,onOpenChange:i,disableHoverableContent:s,delayDuration:a}=e,l=oi(Nr,e.__scopeTooltip),c=Ln(t),[d,h]=_.useState(null),m=kr(),u=_.useRef(0),v=s??l.disableHoverableContent,f=a??l.delayDuration,b=_.useRef(!1),[g,y]=Sn({prop:n,defaultProp:o??!1,onChange:E=>{E?(l.onOpen(),document.dispatchEvent(new CustomEvent(ni))):l.onClose(),i==null||i(E)},caller:Nr}),k=_.useMemo(()=>g?b.current?"delayed-open":"instant-open":"closed",[g]),S=_.useCallback(()=>{window.clearTimeout(u.current),u.current=0,b.current=!1,y(!0)},[y]),C=_.useCallback(()=>{window.clearTimeout(u.current),u.current=0,y(!1)},[y]),O=_.useCallback(()=>{window.clearTimeout(u.current),u.current=window.setTimeout(()=>{b.current=!0,y(!0),u.current=0},f)},[f,y]);return _.useEffect(()=>()=>{u.current&&(window.clearTimeout(u.current),u.current=0)},[]),p.jsx(Bo,{...c,children:p.jsx(_g,{scope:t,contentId:m,open:g,stateAttribute:k,trigger:d,onTriggerChange:h,onTriggerEnter:_.useCallback(()=>{l.isOpenDelayedRef.current?O():S()},[l.isOpenDelayedRef,O,S]),onTriggerLeave:_.useCallback(()=>{v?C():(window.clearTimeout(u.current),u.current=0)},[C,v]),onOpen:S,onClose:C,disableHoverableContent:v,children:r})})};Rl.displayName=Nr;var ii="TooltipTrigger",Ml=_.forwardRef((e,t)=>{const{__scopeTooltip:r,...n}=e,o=zr(ii,r),i=oi(ii,r),s=Ln(r),a=_.useRef(null),l=Ae(t,a,o.onTriggerChange),c=_.useRef(!1),d=_.useRef(!1),h=_.useCallback(()=>c.current=!1,[]);return _.useEffect(()=>()=>document.removeEventListener("pointerup",h),[h]),p.jsx(yn,{asChild:!0,...s,children:p.jsx(Ee.button,{"aria-describedby":o.open?o.contentId:void 0,"data-state":o.stateAttribute,...n,ref:l,onPointerMove:ve(e.onPointerMove,m=>{m.pointerType!=="touch"&&!d.current&&!i.isPointerInTransitRef.current&&(o.onTriggerEnter(),d.current=!0)}),onPointerLeave:ve(e.onPointerLeave,()=>{o.onTriggerLeave(),d.current=!1}),onPointerDown:ve(e.onPointerDown,()=>{o.open&&o.onClose(),c.current=!0,document.addEventListener("pointerup",h,{once:!0})}),onFocus:ve(e.onFocus,()=>{c.current||o.onOpen()}),onBlur:ve(e.onBlur,o.onClose),onClick:ve(e.onClick,o.onClose)})})});Ml.displayName=ii;var si="TooltipPortal",[Cg,Eg]=Mn(si,{forceMount:void 0}),Ll=e=>{const{__scopeTooltip:t,forceMount:r,children:n,container:o}=e,i=zr(si,t);return p.jsx(Cg,{scope:t,forceMount:r,children:p.jsx(ft,{present:r||i.open,children:p.jsx(kn,{asChild:!0,container:o,children:n})})})};Ll.displayName=si;var rr="TooltipContent",Fl=_.forwardRef((e,t)=>{const r=Eg(rr,e.__scopeTooltip),{forceMount:n=r.forceMount,side:o="top",...i}=e,s=zr(rr,e.__scopeTooltip);return p.jsx(ft,{present:n||s.open,children:s.disableHoverableContent?p.jsx(Bl,{side:o,...i,ref:t}):p.jsx(Ag,{side:o,...i,ref:t})})}),Ag=_.forwardRef((e,t)=>{const r=zr(rr,e.__scopeTooltip),n=oi(rr,e.__scopeTooltip),o=_.useRef(null),i=Ae(t,o),[s,a]=_.useState(null),{trigger:l,onClose:c}=r,d=o.current,{onPointerInTransitChange:h}=n,m=_.useCallback(()=>{a(null),h(!1)},[h]),u=_.useCallback((v,f)=>{const b=v.currentTarget,g={x:v.clientX,y:v.clientY},y=Og(g,b.getBoundingClientRect()),k=Pg(g,y),S=Ig(f.getBoundingClientRect()),C=Rg([...k,...S]);a(C),h(!0)},[h]);return _.useEffect(()=>()=>m(),[m]),_.useEffect(()=>{if(l&&d){const v=b=>u(b,d),f=b=>u(b,l);return l.addEventListener("pointerleave",v),d.addEventListener("pointerleave",f),()=>{l.removeEventListener("pointerleave",v),d.removeEventListener("pointerleave",f)}}},[l,d,u,m]),_.useEffect(()=>{if(s){const v=f=>{const b=f.target,g={x:f.clientX,y:f.clientY},y=(l==null?void 0:l.contains(b))||(d==null?void 0:d.contains(b)),k=!Dg(g,s);y?m():k&&(m(),c())};return document.addEventListener("pointermove",v),()=>document.removeEventListener("pointermove",v)}},[l,d,s,c,m]),p.jsx(Bl,{...e,ref:i})}),[Ng,zg]=Mn(Nr,{isInside:!1}),jg=Yf("TooltipContent"),Bl=_.forwardRef((e,t)=>{const{__scopeTooltip:r,children:n,"aria-label":o,onEscapeKeyDown:i,onPointerDownOutside:s,...a}=e,l=zr(rr,r),c=Ln(r),{onClose:d}=l;return _.useEffect(()=>(document.addEventListener(ni,d),()=>document.removeEventListener(ni,d)),[d]),_.useEffect(()=>{if(l.trigger){const h=m=>{const u=m.target;u!=null&&u.contains(l.trigger)&&d()};return window.addEventListener("scroll",h,{capture:!0}),()=>window.removeEventListener("scroll",h,{capture:!0})}},[l.trigger,d]),p.jsx(dn,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:i,onPointerDownOutside:s,onFocusOutside:h=>h.preventDefault(),onDismiss:d,children:p.jsxs(Uo,{"data-state":l.stateAttribute,...c,...a,ref:t,style:{...a.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[p.jsx(jg,{children:n}),p.jsx(Ng,{scope:r,isInside:!0,children:p.jsx($p,{id:l.contentId,role:"tooltip",children:o||n})})]})})});Fl.displayName=rr;var Ul="TooltipArrow",Tg=_.forwardRef((e,t)=>{const{__scopeTooltip:r,...n}=e,o=Ln(r);return zg(Ul,r).isInside?null:p.jsx(Wo,{...o,...n,ref:t})});Tg.displayName=Ul;function Og(e,t){const r=Math.abs(t.top-e.y),n=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),i=Math.abs(t.left-e.x);switch(Math.min(r,n,o,i)){case i:return"left";case o:return"right";case r:return"top";case n:return"bottom";default:throw new Error("unreachable")}}function Pg(e,t,r=5){const n=[];switch(t){case"top":n.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":n.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":n.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":n.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r});break}return n}function Ig(e){const{top:t,right:r,bottom:n,left:o}=e;return[{x:o,y:t},{x:r,y:t},{x:r,y:n},{x:o,y:n}]}function Dg(e,t){const{x:r,y:n}=e;let o=!1;for(let i=0,s=t.length-1;i<t.length;s=i++){const a=t[i],l=t[s],c=a.x,d=a.y,h=l.x,m=l.y;d>n!=m>n&&r<(h-c)*(n-d)/(m-d)+c&&(o=!o)}return o}function Rg(e){const t=e.slice();return t.sort((r,n)=>r.x<n.x?-1:r.x>n.x?1:r.y<n.y?-1:r.y>n.y?1:0),Mg(t)}function Mg(e){if(e.length<=1)return e.slice();const t=[];for(let n=0;n<e.length;n++){const o=e[n];for(;t.length>=2;){const i=t[t.length-1],s=t[t.length-2];if((i.x-s.x)*(o.y-s.y)>=(i.y-s.y)*(o.x-s.x))t.pop();else break}t.push(o)}t.pop();const r=[];for(let n=e.length-1;n>=0;n--){const o=e[n];for(;r.length>=2;){const i=r[r.length-1],s=r[r.length-2];if((i.x-s.x)*(o.y-s.y)>=(i.y-s.y)*(o.x-s.x))r.pop();else break}r.push(o)}return r.pop(),t.length===1&&r.length===1&&t[0].x===r[0].x&&t[0].y===r[0].y?t:t.concat(r)}var Lg=Dl,Fg=Rl,Bg=Ml,Ug=Ll,Wl=Fl;const Wg=Lg,jr=Fg,Tr=Bg,nr=_.forwardRef(({className:e,sideOffset:t=4,...r},n)=>p.jsx(Ug,{children:p.jsx(Wl,{ref:n,sideOffset:t,className:ge("z-50 rounded-md bg-zinc-800 px-2.5 py-1.5 text-[11px] text-zinc-200 shadow-md","animate-in fade-in-0 zoom-in-95",e),...r})}));nr.displayName=Wl.displayName;var Fn="Popover",[$l]=$t(Fn,[Zt]),Or=Zt(),[$g,_t]=$l(Fn),Hl=e=>{const{__scopePopover:t,children:r,open:n,defaultOpen:o,onOpenChange:i,modal:s=!1}=e,a=Or(t),l=_.useRef(null),[c,d]=_.useState(!1),[h,m]=Sn({prop:n,defaultProp:o??!1,onChange:i,caller:Fn});return p.jsx(Bo,{...a,children:p.jsx($g,{scope:t,contentId:kr(),triggerRef:l,open:h,onOpenChange:m,onOpenToggle:_.useCallback(()=>m(u=>!u),[m]),hasCustomAnchor:c,onCustomAnchorAdd:_.useCallback(()=>d(!0),[]),onCustomAnchorRemove:_.useCallback(()=>d(!1),[]),modal:s,children:r})})};Hl.displayName=Fn;var Vl="PopoverAnchor",Hg=_.forwardRef((e,t)=>{const{__scopePopover:r,...n}=e,o=_t(Vl,r),i=Or(r),{onCustomAnchorAdd:s,onCustomAnchorRemove:a}=o;return _.useEffect(()=>(s(),()=>a()),[s,a]),p.jsx(yn,{...i,...n,ref:t})});Hg.displayName=Vl;var Yl="PopoverTrigger",Kl=_.forwardRef((e,t)=>{const{__scopePopover:r,...n}=e,o=_t(Yl,r),i=Or(r),s=Ae(t,o.triggerRef),a=p.jsx(Ee.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":Jl(o.open),...n,ref:s,onClick:ve(e.onClick,o.onOpenToggle)});return o.hasCustomAnchor?a:p.jsx(yn,{asChild:!0,...i,children:a})});Kl.displayName=Yl;var ai="PopoverPortal",[Vg,Yg]=$l(ai,{forceMount:void 0}),Gl=e=>{const{__scopePopover:t,forceMount:r,children:n,container:o}=e,i=_t(ai,t);return p.jsx(Vg,{scope:t,forceMount:r,children:p.jsx(ft,{present:r||i.open,children:p.jsx(kn,{asChild:!0,container:o,children:n})})})};Gl.displayName=ai;var or="PopoverContent",Zl=_.forwardRef((e,t)=>{const r=Yg(or,e.__scopePopover),{forceMount:n=r.forceMount,...o}=e,i=_t(or,e.__scopePopover);return p.jsx(ft,{present:n||i.open,children:i.modal?p.jsx(Gg,{...o,ref:t}):p.jsx(Zg,{...o,ref:t})})});Zl.displayName=or;var Kg=Ht("PopoverContent.RemoveScroll"),Gg=_.forwardRef((e,t)=>{const r=_t(or,e.__scopePopover),n=_.useRef(null),o=Ae(t,n),i=_.useRef(!1);return _.useEffect(()=>{const s=n.current;if(s)return Ra(s)},[]),p.jsx(Go,{as:Kg,allowPinchZoom:!0,children:p.jsx(Xl,{...e,ref:o,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:ve(e.onCloseAutoFocus,s=>{var a;s.preventDefault(),i.current||(a=r.triggerRef.current)==null||a.focus()}),onPointerDownOutside:ve(e.onPointerDownOutside,s=>{const a=s.detail.originalEvent,l=a.button===0&&a.ctrlKey===!0,c=a.button===2||l;i.current=c},{checkForDefaultPrevented:!1}),onFocusOutside:ve(e.onFocusOutside,s=>s.preventDefault(),{checkForDefaultPrevented:!1})})})}),Zg=_.forwardRef((e,t)=>{const r=_t(or,e.__scopePopover),n=_.useRef(!1),o=_.useRef(!1);return p.jsx(Xl,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:i=>{var s,a;(s=e.onCloseAutoFocus)==null||s.call(e,i),i.defaultPrevented||(n.current||(a=r.triggerRef.current)==null||a.focus(),i.preventDefault()),n.current=!1,o.current=!1},onInteractOutside:i=>{var l,c;(l=e.onInteractOutside)==null||l.call(e,i),i.defaultPrevented||(n.current=!0,i.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const s=i.target;((c=r.triggerRef.current)==null?void 0:c.contains(s))&&i.preventDefault(),i.detail.originalEvent.type==="focusin"&&o.current&&i.preventDefault()}})}),Xl=_.forwardRef((e,t)=>{const{__scopePopover:r,trapFocus:n,onOpenAutoFocus:o,onCloseAutoFocus:i,disableOutsidePointerEvents:s,onEscapeKeyDown:a,onPointerDownOutside:l,onFocusOutside:c,onInteractOutside:d,...h}=e,m=_t(or,r),u=Or(r);return Gs(),p.jsx(Eo,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:o,onUnmountAutoFocus:i,children:p.jsx(dn,{asChild:!0,disableOutsidePointerEvents:s,onInteractOutside:d,onEscapeKeyDown:a,onPointerDownOutside:l,onFocusOutside:c,onDismiss:()=>m.onOpenChange(!1),children:p.jsx(Uo,{"data-state":Jl(m.open),role:"dialog",id:m.contentId,...u,...h,ref:t,style:{...h.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),ql="PopoverClose",Xg=_.forwardRef((e,t)=>{const{__scopePopover:r,...n}=e,o=_t(ql,r);return p.jsx(Ee.button,{type:"button",...n,ref:t,onClick:ve(e.onClick,()=>o.onOpenChange(!1))})});Xg.displayName=ql;var qg="PopoverArrow",Jg=_.forwardRef((e,t)=>{const{__scopePopover:r,...n}=e,o=Or(r);return p.jsx(Wo,{...o,...n,ref:t})});Jg.displayName=qg;function Jl(e){return e?"open":"closed"}var Qg=Hl,e0=Kl,t0=Gl,Ql=Zl;const r0=Qg,n0=e0,ec=_.forwardRef(({className:e,align:t="start",sideOffset:r=6,...n},o)=>p.jsx(t0,{children:p.jsx(Ql,{ref:o,align:t,sideOffset:r,className:ge("z-50 w-[var(--radix-popover-trigger-width)] rounded-lg border border-zinc-700/80 bg-zinc-950 p-1 text-white shadow-xl shadow-black/30","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95","data-[side=bottom]:slide-in-from-top-2",e),...n})}));ec.displayName=Ql.displayName;const tc=e=>e?e.charAt(0).toUpperCase()+e.slice(1):"Select page",o0=({pageSlugs:e,currentSlug:t,onPageChange:r,sectionCount:n,onNewPage:o,className:i,currentPageLabel:s})=>{const[a,l]=T.useState(!1),c=s??tc(t),d=h=>{r(h),l(!1)};return p.jsx("div",{className:ge("mx-3 mt-2 mb-2",i),children:p.jsxs(r0,{open:a,onOpenChange:l,children:[p.jsx(n0,{asChild:!0,children:p.jsxs("button",{type:"button","aria-haspopup":"listbox","aria-label":`Select page, current: ${c}`,className:ge("flex items-center gap-2 w-full pl-3 pr-4 py-2 rounded-lg border text-left transition-all duration-150 cursor-pointer","bg-transparent border-zinc-800 text-zinc-400 hover:text-zinc-200 hover:bg-zinc-800/50 hover:border-zinc-700","data-[state=open]:bg-zinc-950 data-[state=open]:border-zinc-800 data-[state=open]:text-zinc-100","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-zinc-950"),children:[p.jsx(Td,{size:14,className:"shrink-0 text-zinc-500","aria-hidden":!0}),p.jsx("span",{className:"text-xs font-medium flex-1 truncate",children:c}),p.jsx(Hr,{size:13,className:"shrink-0 text-zinc-500","aria-hidden":!0})]})}),p.jsxs(ec,{align:"start",sideOffset:4,className:"min-w-[var(--radix-popover-trigger-width)] bg-zinc-950 border-zinc-800 p-1",role:"listbox","aria-label":"Page list",children:[e.map(h=>{const m=h===t,u=tc(h);return p.jsxs("button",{type:"button",role:"option","aria-selected":m,onClick:()=>d(h),className:ge("flex items-center justify-between w-full px-2.5 py-2 rounded-md text-xs transition-colors cursor-pointer",m?"bg-primary/10 text-primary font-semibold":"text-zinc-400 hover:bg-zinc-800 hover:text-zinc-200"),children:[p.jsx("span",{children:u}),n!=null&&p.jsxs("span",{className:"text-[10px] text-zinc-600 tabular-nums","aria-hidden":!0,children:[n,"s"]})]},h)}),o!=null&&p.jsx("div",{className:"border-t border-zinc-800 mt-1 pt-1",children:p.jsxs("button",{type:"button",onClick:()=>{o(),l(!1)},className:"flex items-center gap-1.5 w-full px-2.5 py-2 rounded-md text-[11px] text-zinc-600 hover:text-zinc-300 hover:bg-zinc-800 transition-colors cursor-pointer","aria-label":"New page",children:[p.jsx(ro,{size:12,"aria-hidden":!0}),p.jsx("span",{children:"New page"})]})})]})]})})};function i0(e,t){return _.useReducer((r,n)=>t[r][n]??r,e)}var li="ScrollArea",[rc]=$t(li),[s0,Ye]=rc(li),nc=_.forwardRef((e,t)=>{const{__scopeScrollArea:r,type:n="hover",dir:o,scrollHideDelay:i=600,...s}=e,[a,l]=_.useState(null),[c,d]=_.useState(null),[h,m]=_.useState(null),[u,v]=_.useState(null),[f,b]=_.useState(null),[g,y]=_.useState(0),[k,S]=_.useState(0),[C,O]=_.useState(!1),[E,A]=_.useState(!1),P=Ae(t,Y=>l(Y)),F=$s(o);return p.jsx(s0,{scope:r,type:n,dir:F,scrollHideDelay:i,scrollArea:a,viewport:c,onViewportChange:d,content:h,onContentChange:m,scrollbarX:u,onScrollbarXChange:v,scrollbarXEnabled:C,onScrollbarXEnabledChange:O,scrollbarY:f,onScrollbarYChange:b,scrollbarYEnabled:E,onScrollbarYEnabledChange:A,onCornerWidthChange:y,onCornerHeightChange:S,children:p.jsx(Ee.div,{dir:F,...s,ref:P,style:{position:"relative","--radix-scroll-area-corner-width":g+"px","--radix-scroll-area-corner-height":k+"px",...e.style}})})});nc.displayName=li;var oc="ScrollAreaViewport",ic=_.forwardRef((e,t)=>{const{__scopeScrollArea:r,children:n,nonce:o,...i}=e,s=Ye(oc,r),a=_.useRef(null),l=Ae(t,a,s.onViewportChange);return p.jsxs(p.Fragment,{children:[p.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:o}),p.jsx(Ee.div,{"data-radix-scroll-area-viewport":"",...i,ref:l,style:{overflowX:s.scrollbarXEnabled?"scroll":"hidden",overflowY:s.scrollbarYEnabled?"scroll":"hidden",...e.style},children:p.jsx("div",{ref:s.onContentChange,style:{minWidth:"100%",display:"table"},children:n})})]})});ic.displayName=oc;var st="ScrollAreaScrollbar",sc=_.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=Ye(st,e.__scopeScrollArea),{onScrollbarXEnabledChange:i,onScrollbarYEnabledChange:s}=o,a=e.orientation==="horizontal";return _.useEffect(()=>(a?i(!0):s(!0),()=>{a?i(!1):s(!1)}),[a,i,s]),o.type==="hover"?p.jsx(a0,{...n,ref:t,forceMount:r}):o.type==="scroll"?p.jsx(l0,{...n,ref:t,forceMount:r}):o.type==="auto"?p.jsx(ac,{...n,ref:t,forceMount:r}):o.type==="always"?p.jsx(ci,{...n,ref:t}):null});sc.displayName=st;var a0=_.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=Ye(st,e.__scopeScrollArea),[i,s]=_.useState(!1);return _.useEffect(()=>{const a=o.scrollArea;let l=0;if(a){const c=()=>{window.clearTimeout(l),s(!0)},d=()=>{l=window.setTimeout(()=>s(!1),o.scrollHideDelay)};return a.addEventListener("pointerenter",c),a.addEventListener("pointerleave",d),()=>{window.clearTimeout(l),a.removeEventListener("pointerenter",c),a.removeEventListener("pointerleave",d)}}},[o.scrollArea,o.scrollHideDelay]),p.jsx(ft,{present:r||i,children:p.jsx(ac,{"data-state":i?"visible":"hidden",...n,ref:t})})}),l0=_.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=Ye(st,e.__scopeScrollArea),i=e.orientation==="horizontal",s=$n(()=>l("SCROLL_END"),100),[a,l]=i0("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return _.useEffect(()=>{if(a==="idle"){const c=window.setTimeout(()=>l("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(c)}},[a,o.scrollHideDelay,l]),_.useEffect(()=>{const c=o.viewport,d=i?"scrollLeft":"scrollTop";if(c){let h=c[d];const m=()=>{const u=c[d];h!==u&&(l("SCROLL"),s()),h=u};return c.addEventListener("scroll",m),()=>c.removeEventListener("scroll",m)}},[o.viewport,i,l,s]),p.jsx(ft,{present:r||a!=="hidden",children:p.jsx(ci,{"data-state":a==="hidden"?"hidden":"visible",...n,ref:t,onPointerEnter:ve(e.onPointerEnter,()=>l("POINTER_ENTER")),onPointerLeave:ve(e.onPointerLeave,()=>l("POINTER_LEAVE"))})})}),ac=_.forwardRef((e,t)=>{const r=Ye(st,e.__scopeScrollArea),{forceMount:n,...o}=e,[i,s]=_.useState(!1),a=e.orientation==="horizontal",l=$n(()=>{if(r.viewport){const c=r.viewport.offsetWidth<r.viewport.scrollWidth,d=r.viewport.offsetHeight<r.viewport.scrollHeight;s(a?c:d)}},10);return ir(r.viewport,l),ir(r.content,l),p.jsx(ft,{present:n||i,children:p.jsx(ci,{"data-state":i?"visible":"hidden",...o,ref:t})})}),ci=_.forwardRef((e,t)=>{const{orientation:r="vertical",...n}=e,o=Ye(st,e.__scopeScrollArea),i=_.useRef(null),s=_.useRef(0),[a,l]=_.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),c=fc(a.viewport,a.content),d={...n,sizes:a,onSizesChange:l,hasThumb:c>0&&c<1,onThumbChange:m=>i.current=m,onThumbPointerUp:()=>s.current=0,onThumbPointerDown:m=>s.current=m};function h(m,u){return p0(m,s.current,a,u)}return r==="horizontal"?p.jsx(c0,{...d,ref:t,onThumbPositionChange:()=>{if(o.viewport&&i.current){const m=o.viewport.scrollLeft,u=hc(m,a,o.dir);i.current.style.transform=`translate3d(${u}px, 0, 0)`}},onWheelScroll:m=>{o.viewport&&(o.viewport.scrollLeft=m)},onDragScroll:m=>{o.viewport&&(o.viewport.scrollLeft=h(m,o.dir))}}):r==="vertical"?p.jsx(d0,{...d,ref:t,onThumbPositionChange:()=>{if(o.viewport&&i.current){const m=o.viewport.scrollTop,u=hc(m,a);i.current.style.transform=`translate3d(0, ${u}px, 0)`}},onWheelScroll:m=>{o.viewport&&(o.viewport.scrollTop=m)},onDragScroll:m=>{o.viewport&&(o.viewport.scrollTop=h(m))}}):null}),c0=_.forwardRef((e,t)=>{const{sizes:r,onSizesChange:n,...o}=e,i=Ye(st,e.__scopeScrollArea),[s,a]=_.useState(),l=_.useRef(null),c=Ae(t,l,i.onScrollbarXChange);return _.useEffect(()=>{l.current&&a(getComputedStyle(l.current))},[l]),p.jsx(cc,{"data-orientation":"horizontal",...o,ref:c,sizes:r,style:{bottom:0,left:i.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:i.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":Wn(r)+"px",...e.style},onThumbPointerDown:d=>e.onThumbPointerDown(d.x),onDragScroll:d=>e.onDragScroll(d.x),onWheelScroll:(d,h)=>{if(i.viewport){const m=i.viewport.scrollLeft+d.deltaX;e.onWheelScroll(m),mc(m,h)&&d.preventDefault()}},onResize:()=>{l.current&&i.viewport&&s&&n({content:i.viewport.scrollWidth,viewport:i.viewport.offsetWidth,scrollbar:{size:l.current.clientWidth,paddingStart:Un(s.paddingLeft),paddingEnd:Un(s.paddingRight)}})}})}),d0=_.forwardRef((e,t)=>{const{sizes:r,onSizesChange:n,...o}=e,i=Ye(st,e.__scopeScrollArea),[s,a]=_.useState(),l=_.useRef(null),c=Ae(t,l,i.onScrollbarYChange);return _.useEffect(()=>{l.current&&a(getComputedStyle(l.current))},[l]),p.jsx(cc,{"data-orientation":"vertical",...o,ref:c,sizes:r,style:{top:0,right:i.dir==="ltr"?0:void 0,left:i.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":Wn(r)+"px",...e.style},onThumbPointerDown:d=>e.onThumbPointerDown(d.y),onDragScroll:d=>e.onDragScroll(d.y),onWheelScroll:(d,h)=>{if(i.viewport){const m=i.viewport.scrollTop+d.deltaY;e.onWheelScroll(m),mc(m,h)&&d.preventDefault()}},onResize:()=>{l.current&&i.viewport&&s&&n({content:i.viewport.scrollHeight,viewport:i.viewport.offsetHeight,scrollbar:{size:l.current.clientHeight,paddingStart:Un(s.paddingTop),paddingEnd:Un(s.paddingBottom)}})}})}),[u0,lc]=rc(st),cc=_.forwardRef((e,t)=>{const{__scopeScrollArea:r,sizes:n,hasThumb:o,onThumbChange:i,onThumbPointerUp:s,onThumbPointerDown:a,onThumbPositionChange:l,onDragScroll:c,onWheelScroll:d,onResize:h,...m}=e,u=Ye(st,r),[v,f]=_.useState(null),b=Ae(t,P=>f(P)),g=_.useRef(null),y=_.useRef(""),k=u.viewport,S=n.content-n.viewport,C=Le(d),O=Le(l),E=$n(h,10);function A(P){if(g.current){const F=P.clientX-g.current.left,Y=P.clientY-g.current.top;c({x:F,y:Y})}}return _.useEffect(()=>{const P=F=>{const Y=F.target;(v==null?void 0:v.contains(Y))&&C(F,S)};return document.addEventListener("wheel",P,{passive:!1}),()=>document.removeEventListener("wheel",P,{passive:!1})},[k,v,S,C]),_.useEffect(O,[n,O]),ir(v,E),ir(u.content,E),p.jsx(u0,{scope:r,scrollbar:v,hasThumb:o,onThumbChange:Le(i),onThumbPointerUp:Le(s),onThumbPositionChange:O,onThumbPointerDown:Le(a),children:p.jsx(Ee.div,{...m,ref:b,style:{position:"absolute",...m.style},onPointerDown:ve(e.onPointerDown,P=>{P.button===0&&(P.target.setPointerCapture(P.pointerId),g.current=v.getBoundingClientRect(),y.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",u.viewport&&(u.viewport.style.scrollBehavior="auto"),A(P))}),onPointerMove:ve(e.onPointerMove,A),onPointerUp:ve(e.onPointerUp,P=>{const F=P.target;F.hasPointerCapture(P.pointerId)&&F.releasePointerCapture(P.pointerId),document.body.style.webkitUserSelect=y.current,u.viewport&&(u.viewport.style.scrollBehavior=""),g.current=null})})})}),Bn="ScrollAreaThumb",dc=_.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=lc(Bn,e.__scopeScrollArea);return p.jsx(ft,{present:r||o.hasThumb,children:p.jsx(f0,{ref:t,...n})})}),f0=_.forwardRef((e,t)=>{const{__scopeScrollArea:r,style:n,...o}=e,i=Ye(Bn,r),s=lc(Bn,r),{onThumbPositionChange:a}=s,l=Ae(t,h=>s.onThumbChange(h)),c=_.useRef(void 0),d=$n(()=>{c.current&&(c.current(),c.current=void 0)},100);return _.useEffect(()=>{const h=i.viewport;if(h){const m=()=>{if(d(),!c.current){const u=m0(h,a);c.current=u,a()}};return a(),h.addEventListener("scroll",m),()=>h.removeEventListener("scroll",m)}},[i.viewport,d,a]),p.jsx(Ee.div,{"data-state":s.hasThumb?"visible":"hidden",...o,ref:l,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...n},onPointerDownCapture:ve(e.onPointerDownCapture,h=>{const u=h.target.getBoundingClientRect(),v=h.clientX-u.left,f=h.clientY-u.top;s.onThumbPointerDown({x:v,y:f})}),onPointerUp:ve(e.onPointerUp,s.onThumbPointerUp)})});dc.displayName=Bn;var di="ScrollAreaCorner",uc=_.forwardRef((e,t)=>{const r=Ye(di,e.__scopeScrollArea),n=!!(r.scrollbarX&&r.scrollbarY);return r.type!=="scroll"&&n?p.jsx(h0,{...e,ref:t}):null});uc.displayName=di;var h0=_.forwardRef((e,t)=>{const{__scopeScrollArea:r,...n}=e,o=Ye(di,r),[i,s]=_.useState(0),[a,l]=_.useState(0),c=!!(i&&a);return ir(o.scrollbarX,()=>{var h;const d=((h=o.scrollbarX)==null?void 0:h.offsetHeight)||0;o.onCornerHeightChange(d),l(d)}),ir(o.scrollbarY,()=>{var h;const d=((h=o.scrollbarY)==null?void 0:h.offsetWidth)||0;o.onCornerWidthChange(d),s(d)}),c?p.jsx(Ee.div,{...n,ref:t,style:{width:i,height:a,position:"absolute",right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null});function Un(e){return e?parseInt(e,10):0}function fc(e,t){const r=e/t;return isNaN(r)?0:r}function Wn(e){const t=fc(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,n=(e.scrollbar.size-r)*t;return Math.max(n,18)}function p0(e,t,r,n="ltr"){const o=Wn(r),i=o/2,s=t||i,a=o-s,l=r.scrollbar.paddingStart+s,c=r.scrollbar.size-r.scrollbar.paddingEnd-a,d=r.content-r.viewport,h=n==="ltr"?[0,d]:[d*-1,0];return pc([l,c],h)(e)}function hc(e,t,r="ltr"){const n=Wn(t),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,i=t.scrollbar.size-o,s=t.content-t.viewport,a=i-n,l=r==="ltr"?[0,s]:[s*-1,0],c=yo(e,l);return pc([0,s],[0,a])(c)}function pc(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(r-e[0])}}function mc(e,t){return e>0&&e<t}var m0=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},n=0;return(function o(){const i={left:e.scrollLeft,top:e.scrollTop},s=r.left!==i.left,a=r.top!==i.top;(s||a)&&t(),r=i,n=window.requestAnimationFrame(o)})(),()=>window.cancelAnimationFrame(n)};function $n(e,t){const r=Le(e),n=_.useRef(0);return _.useEffect(()=>()=>window.clearTimeout(n.current),[]),_.useCallback(()=>{window.clearTimeout(n.current),n.current=window.setTimeout(r,t)},[r,t])}function ir(e,t){const r=Le(t);Ie(()=>{let n=0;if(e){const o=new ResizeObserver(()=>{cancelAnimationFrame(n),n=window.requestAnimationFrame(r)});return o.observe(e),()=>{window.cancelAnimationFrame(n),o.unobserve(e)}}},[e,r])}var gc=nc,g0=ic,b0=sc,v0=dc,w0=uc;const bc=_.forwardRef(({className:e,children:t,...r},n)=>p.jsxs(gc,{ref:n,className:ge("relative overflow-hidden",e),...r,children:[p.jsx(g0,{className:"h-full w-full rounded-[inherit]",children:t}),p.jsx(b0,{orientation:"vertical",className:"flex touch-none select-none transition-colors h-full w-1.5 border-l border-l-transparent p-px",children:p.jsx(v0,{className:"relative flex-1 rounded-full bg-zinc-700 hover:bg-zinc-600"})}),p.jsx(w0,{})]}));bc.displayName=gc.displayName;const vc=new Set(["anchorId","paddingTop","paddingBottom","theme","container"]),x0={activationConstraint:{distance:8}},y0={activationConstraint:{delay:200,tolerance:5}};function ui({layer:e,opts:t,dragHandleProps:r}){const{isSelected:n,isActive:o,isDragging:i,canDelete:s,onSelect:a,onOpenSettings:l,onDelete:c}=t,d=!!r;return p.jsxs("div",{className:ge("group flex items-center gap-2 pl-1 pr-2 py-2.5 rounded-lg text-left transition-all duration-200 cursor-pointer border-l-2",n?"bg-primary/[0.08] border-primary":o?"bg-zinc-800/30 border-emerald-500/60":"border-transparent hover:bg-zinc-800/40",i&&"opacity-50 shadow-lg",d?"cursor-grab active:cursor-grabbing":"cursor-default"),children:[d?p.jsx("span",{className:"shrink-0 w-5 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity duration-150 cursor-grab touch-none","aria-label":"Trascina per riordinare",...r,children:p.jsx(Gi,{size:12,className:"text-zinc-600"})}):p.jsx("span",{className:"shrink-0 w-5 flex items-center justify-center opacity-0 group-hover:opacity-100 pointer-events-none",children:p.jsx(Gi,{size:12,className:"text-zinc-600/50"})}),p.jsxs("button",{type:"button",onClick:a,className:"flex-1 min-w-0 text-left",children:[p.jsxs("div",{className:"flex items-center gap-1.5",children:[p.jsx("span",{className:ge("text-xs font-bold uppercase tracking-[0.06em] truncate",n?"text-primary":"text-zinc-500"),children:e.type}),o&&p.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-emerald-500 shrink-0","aria-hidden":!0})]}),p.jsx("span",{className:"text-[11px] text-zinc-600 block truncate leading-snug mt-0.5",children:e.title??`${e.type} section`})]}),p.jsxs("div",{className:"flex items-center gap-0.5 opacity-0 group-hover:opacity-100 transition-opacity duration-150",children:[p.jsxs(jr,{children:[p.jsx(Tr,{asChild:!0,children:p.jsx(We,{variant:"ghost",size:"icon-xs",className:"text-zinc-600 hover:text-zinc-300",onClick:h=>{h.stopPropagation(),l(h)},children:p.jsx(Md,{size:12})})}),p.jsx(nr,{children:"Settings"})]}),s&&p.jsxs(jr,{children:[p.jsx(Tr,{asChild:!0,children:p.jsx(We,{variant:"ghost",size:"icon-xs",className:"text-zinc-600 hover:text-destructive",onClick:h=>{h.stopPropagation(),c()},children:p.jsx(Yr,{size:12})})}),p.jsx(nr,{children:"Delete section"})]})]})]})}function k0({layer:e,opts:t}){const{attributes:r,listeners:n,setNodeRef:o,transform:i,transition:s,isDragging:a}=Rf({id:e.id,disabled:!t.canReorder}),l={transform:bt.Transform.toString(i),transition:s};return p.jsx("div",{ref:o,style:l,className:ge(a&&"z-10"),children:p.jsx(ui,{layer:e,opts:{...t,isDragging:a},dragHandleProps:t.canReorder?{...r,...n,"aria-roledescription":"elemento trascinabile"}:void 0})})}const wc=({selectedSection:e,pageData:t,allSectionsData:r=[],onUpdate:n,onUpdateSection:o,onClose:i,expandedItemPath:s=null,onReorderSection:a,allLayers:l=[],activeSectionId:c,onRequestScrollToSection:d,onDeleteSection:h,onAddSection:m,hasChanges:u=!1,onExportHTML:v,onSaveToFile:f,saveSuccessFeedback:b=!1,onResetToFile:g,showResetToFile:y=!1,pageSlugs:k=[],currentSlug:S="home",onPageChange:C})=>{const{schemas:O}=dr(),[E,A]=T.useState(!0),[P,F]=T.useState(null),[Y,N]=T.useState(null),[M,w]=T.useState(null),[W,G]=T.useState(null),U=T.useRef(null),$=T.useRef(null),H=au(ao(mo,x0),ao(xs,y0),ao(ho,{coordinateGetter:Ff})),ee=T.useDeferredValue(e),j=e!=null&&(ee==null?void 0:ee.id)!==e.id,D=s&&s.length>0?s:M?[M]:null,Z=D!=null&&D.length?{fieldKey:D[D.length-1].fieldKey,itemId:D[D.length-1].itemId}:null,X=T.useRef(s);T.useEffect(()=>{X.current!=null&&s==null&&w(null),X.current=s},[s]),T.useEffect(()=>{(e==null?void 0:e.id)!=null&&A(!1)},[e==null?void 0:e.id]);const ne=()=>{const B=requestAnimationFrame(()=>{requestAnimationFrame(()=>{const R=U.current;R&&R.scrollTo({top:0,behavior:"smooth"})})});return()=>cancelAnimationFrame(B)},pe=T.useRef(E);T.useEffect(()=>{if(E&&!pe.current){const B=ne();return pe.current=E,B}pe.current=E},[E]),T.useEffect(()=>{if(!Z)return;const B=U.current;if(!B)return;const R=requestAnimationFrame(()=>{const J=B.querySelector("[data-jp-expanded-item]")??B.querySelector("[data-jp-focused-field]");J&&J.scrollIntoView({behavior:"smooth",block:"start"})});return()=>cancelAnimationFrame(R)},[Z]);const re=B=>{A(!1),d==null||d(B)},ae=()=>{A(B=>{const R=!B;return R&&ne(),R})},ce=(B,R)=>{R.stopPropagation(),r.length>0&&o?G(B):(A(!1),d==null||d(B))};T.useEffect(()=>{if(W==null)return;const B=R=>{R.key==="Escape"&&G(null)};return window.addEventListener("keydown",B),()=>window.removeEventListener("keydown",B)},[W]);const se=B=>{P===B?(h==null||h(B),F(null)):(F(B),setTimeout(()=>F(null),3e3))},de=T.useMemo(()=>l.filter(B=>B.scope==="local").map(B=>B.id),[l]),me=!!a&&de.length>0,we=B=>{N(B.active.id)},x=B=>{N(null);const{active:R,over:J}=B;if(!J||R.id===J.id||!a)return;const ie=l.findIndex(te=>te.id===R.id),oe=l.findIndex(te=>te.id===J.id);if(ie===-1||oe===-1)return;const K=ie<oe?oe:oe-1;a(R.id,K)},q=e?t.sections.find(B=>B.id===e.id):void 0,V=ee?t.sections.find(B=>B.id===ee.id):void 0,I=ee?O[ee.type]:void 0,z=l.length>0&&(E||!e),L=S?S.charAt(0).toUpperCase()+S.slice(1):"Select page",Q=T.useMemo(()=>{const B=[];let R=null;for(const J of l){const ie=J.type.toUpperCase(),oe=R!==null&&(R==="HEADER"&&ie!=="HEADER"||R!=="HEADER"&&R!=="FOOTER"&&ie==="FOOTER");B.push({layer:J,showSeparatorAbove:oe}),R=ie}return B},[l]);return p.jsx(Wg,{children:p.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:[p.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-zinc-800 shrink-0",children:[p.jsxs("div",{className:"min-w-0",children:[p.jsx("h2",{className:"text-sm font-bold text-white",children:"Inspector"}),p.jsx("p",{className:"text-[10px] tracking-[0.06em] text-zinc-600 mt-0.5",children:e?p.jsxs(p.Fragment,{children:[p.jsx("span",{className:"text-primary font-bold",children:e.type}),p.jsx("span",{className:"text-zinc-700 mx-1.5",children:"|"}),p.jsx("span",{className:"uppercase",children:e.scope})]}):p.jsxs("span",{className:"text-zinc-600",children:[L," · ",l.length," sections"]})})]}),p.jsx(We,{variant:"ghost",size:"icon-sm",onClick:i,"aria-label":"Close Inspector",children:p.jsx(Lt,{size:14})})]}),k.length>0&&C&&p.jsx(o0,{pageSlugs:k,currentSlug:S,onPageChange:C,sectionCount:l.length,currentPageLabel:L}),l.length>0&&p.jsxs("div",{className:"flex items-center gap-2 px-4 py-2 border-t border-zinc-800/50",children:[p.jsxs("button",{type:"button",onClick:ae,className:"flex items-center gap-2 flex-1 cursor-pointer min-w-0 text-left","aria-expanded":z,"aria-label":z?"Collapse Page Layers":"Expand Page Layers",children:[p.jsx(to,{size:14,className:"text-zinc-500 shrink-0"}),p.jsx("span",{className:"text-[11px] font-semibold tracking-[0.04em] text-zinc-400",children:"Page Layers"}),p.jsxs("span",{className:"text-[10px] text-zinc-600",children:["(",l.length,")"]}),p.jsx(eo,{size:13,className:ge("ml-auto text-zinc-600 transition-transform duration-200 shrink-0",!E&&"rotate-180")})]}),m!=null&&p.jsxs(jr,{children:[p.jsx(Tr,{asChild:!0,children:p.jsx(We,{variant:"ghost",size:"icon-sm",className:"text-zinc-500 hover:text-primary",onClick:m,children:p.jsx(ro,{size:14})})}),p.jsx(nr,{children:"Add section"})]})]}),p.jsxs(bc,{className:"flex-1 min-h-0 flex flex-col",children:[p.jsx("div",{ref:U,className:"flex flex-col min-h-0",children:z&&p.jsxs("div",{className:"py-1",children:[p.jsxs(of,{sensors:H,collisionDetection:du,modifiers:[Sf],onDragStart:we,onDragEnd:x,accessibility:{announcements:{onDragStart:()=>"Sezione presa in carico. Usa i tasti freccia per spostare, Spazio per rilasciare.",onDragOver:({over:B})=>B?`Posizione ${de.indexOf(String(B.id))+1} di ${de.length}.`:void 0,onDragEnd:({over:B})=>B?"Sezione rilasciata in nuova posizione.":"Riposizionamento annullato.",onDragCancel:()=>"Riposizionamento annullato."}},children:[p.jsx(zf,{items:de,strategy:Af,children:p.jsx("div",{className:"px-2 space-y-0.5",children:Q.map(({layer:B,showSeparatorAbove:R})=>p.jsxs(T.Fragment,{children:[R&&p.jsx("div",{className:"mx-3 border-t border-zinc-800/60 my-1"}),B.scope==="local"&&me?p.jsx(k0,{layer:B,opts:{isSelected:(e==null?void 0:e.id)===B.id,isActive:c===B.id,isDragging:!1,canReorder:!0,canDelete:!!h,deleteConfirm:P===B.id,onSelect:()=>re(B.id),onDelete:()=>se(B.id),onOpenSettings:J=>ce(B.id,J)}}):p.jsx("div",{children:p.jsx(ui,{layer:B,opts:{isSelected:(e==null?void 0:e.id)===B.id,isActive:c===B.id,isDragging:!1,canDelete:B.scope==="local"&&!!h,deleteConfirm:P===B.id,onSelect:()=>re(B.id),onDelete:()=>se(B.id),onOpenSettings:J=>ce(B.id,J)}})})]},B.id))})}),p.jsx(kf,{dropAnimation:{duration:200,easing:"cubic-bezier(0.18, 0.67, 0.6, 1.22)"},children:Y?(()=>{const B=l.find(R=>R.id===Y);return B?p.jsx("div",{className:"px-2 w-full max-w-[var(--inspector-width,280px)]",children:p.jsx(ui,{layer:B,opts:{isSelected:!1,isActive:!1,isDragging:!0,canDelete:!1,deleteConfirm:!1,onSelect:()=>{},onDelete:()=>{},onOpenSettings:()=>{}},dragHandleProps:{"aria-hidden":!0}})}):null})():null})]}),P&&p.jsxs("div",{className:"flex items-center gap-2 py-2 px-3 mt-1 mx-2 rounded-md bg-amber-500/10 border border-amber-500/30",children:[p.jsx(zd,{size:12,className:"text-amber-500 shrink-0"}),p.jsx("p",{className:"text-[10px] text-amber-500 font-medium",children:"Click delete again to confirm"})]})]})}),Z&&q&&(()=>{const B=q.data||{};let R;if(D&&D.length>0){let J=B;for(const K of D){const te=J==null?void 0:J[K.fieldKey];K.itemId!=null&&Array.isArray(te)?J=te.find(ue=>String(ue==null?void 0:ue.id)===String(K.itemId))??null:J=te}const ie=J||{},oe=Z.fieldKey;R=(typeof ie.name=="string"?ie.name:null)??(typeof ie.title=="string"?ie.title:null)??(typeof ie.label=="string"?ie.label:null)??oe.charAt(0).toUpperCase()+oe.slice(1).replace(/([A-Z])/g," $1").trim()}else{const J=Z.fieldKey;if(Z.itemId!=null){const K=(Array.isArray(B[J])?B[J]:[]).find(te=>String(te==null?void 0:te.id)===String(Z.itemId))||{};R=(typeof K.name=="string"?K.name:null)??(typeof K.title=="string"?K.title:null)??(typeof K.label=="string"?K.label:null)??J}else R=J.charAt(0).toUpperCase()+J.slice(1).replace(/([A-Z])/g," $1").trim()}return p.jsxs("div",{className:"px-4 py-2 border-b border-zinc-800 bg-zinc-900/50",children:[p.jsx("p",{className:"text-[10px] font-bold uppercase tracking-widest text-zinc-500",children:"Editing"}),p.jsx("p",{className:"text-xs font-medium text-white truncate mt-0.5",children:R})]})})(),p.jsx("div",{className:"flex-1 p-4",onFocusCapture:()=>e!=null&&A(!1),children:e?j?p.jsxs("div",{className:"space-y-4 animate-pulse",role:"status","aria-label":"Loading form",children:[p.jsx("div",{className:"h-4 w-3/4 rounded bg-zinc-800"}),p.jsx("div",{className:"h-10 rounded bg-zinc-800/80"}),p.jsx("div",{className:"h-10 rounded bg-zinc-800/80"}),p.jsx("div",{className:"h-20 rounded bg-zinc-800/80"}),p.jsx("div",{className:"h-10 rounded bg-zinc-800/60"})]}):I?(()=>{const R=Object.keys(I.shape).filter(te=>!vc.has(te)),J=(V==null?void 0:V.data)||{};if(R.length===0)return p.jsx("p",{className:"text-xs text-zinc-500",children:"No content fields in schema."});const ie=D==null?void 0:D[0],oe=(ie==null?void 0:ie.itemId)!=null?{[ie.fieldKey]:ie.itemId}:(Z==null?void 0:Z.itemId)!=null?{[Z.fieldKey]:Z.itemId}:void 0,K=(ie==null?void 0:ie.fieldKey)??(Z==null?void 0:Z.fieldKey)??null;return p.jsx(Ar,{schema:I,data:J,onChange:te=>n(te),keys:R,expandedItemPath:D,expandedItemIdByField:oe,focusedFieldKey:K,onSidebarExpandedItemChange:w})})():p.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 ",(ee==null?void 0:ee.type)??e.type]}):p.jsx("p",{className:"text-xs text-zinc-600 text-center py-10",children:"Select a layer above or on the stage to edit."})})]}),p.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 shrink-0",children:(v!=null||f!=null||g!=null)&&p.jsxs(p.Fragment,{children:[p.jsx("div",{className:ge("w-2 h-2 rounded-full transition-colors duration-300 shrink-0",u?"bg-amber-500 shadow-[0_0_8px_rgba(245,158,11,0.5)]":"bg-emerald-500")}),p.jsx("span",{className:ge("text-xs font-medium transition-colors duration-300 shrink-0",b?"text-emerald-400":u?"text-amber-500":"text-zinc-500"),children:b?"Salvato":u?"Unsaved Changes":"All Changes Saved"}),v!=null&&p.jsxs(jr,{children:[p.jsx(Tr,{asChild:!0,children:p.jsxs(We,{variant:"outline",size:"sm",className:"gap-1.5",onClick:v,children:[p.jsx(Ki,{size:12}),p.jsx("span",{children:"Bake HTML"})]})}),p.jsx(nr,{children:"Generate static HTML output"})]}),f!=null&&p.jsxs(jr,{children:[p.jsx(Tr,{asChild:!0,children:p.jsxs(We,{size:"sm",disabled:!u,className:"gap-1.5",onClick:B=>{B.preventDefault(),B.stopPropagation(),f()},children:[p.jsx(Dd,{size:12}),p.jsx("span",{children:"Save"})]})}),p.jsx(nr,{children:"Save (export JSON)"})]}),g!=null&&y&&p.jsx("button",{type:"button",onClick:g,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:p.jsx("span",{children:"Ripristina da file"})})]})}),W!=null&&r.length>0&&o!=null&&(()=>{const B=r.find(ue=>ue.id===W),R=l.find(ue=>ue.id===W);if(!B)return null;const J=(R==null?void 0:R.scope)==="global"?"global":"local",ie=B.type,oe=O[ie],te=(oe?Object.keys(oe.shape):[]).filter(ue=>vc.has(ue)),le=B.data??{};return te.length===0?p.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:()=>G(null),children:p.jsxs("div",{ref:$,className:"relative rounded-lg border border-zinc-700 bg-zinc-900 shadow-xl max-w-md w-full overflow-hidden",onClick:ue=>ue.stopPropagation(),children:[p.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-zinc-800",children:[p.jsxs("h2",{id:"section-settings-modal-title",className:"text-sm font-bold text-white",children:["Settings — ",ie]}),p.jsx("button",{type:"button",onClick:()=>G(null),className:"p-1.5 rounded text-zinc-500 hover:text-white hover:bg-zinc-800 transition-colors","aria-label":"Close settings",children:p.jsx(Lt,{size:18})})]}),p.jsx("div",{className:"p-4",children:p.jsx("p",{className:"text-xs text-zinc-500",children:"No settings fields for this section."})})]})}):p.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:ue=>ue.target===ue.currentTarget&&G(null),children:p.jsxs("div",{ref:$,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:ue=>ue.stopPropagation(),children:[p.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-zinc-800 shrink-0",children:[p.jsxs("h2",{id:"section-settings-modal-title",className:"text-sm font-bold text-white",children:["Settings — ",ie]}),p.jsx("button",{type:"button",onClick:()=>G(null),className:"p-1.5 rounded text-zinc-500 hover:text-white hover:bg-zinc-800 transition-colors","aria-label":"Close settings (Escape)",children:p.jsx(Lt,{size:18})})]}),p.jsx("div",{className:"flex-1 overflow-y-auto p-4 custom-scrollbar",children:p.jsx(Ar,{schema:oe,data:le,onChange:ue=>{const Se={...B.data,...ue};o(W,J,ie,Se)},keys:te})})]})})})()]})})},xc=({draft:e,globalDraft:t,themeConfig:r,slug:n,selectedId:o,scrollToSectionId:i,onScrollRequested:s})=>{const a=T.useRef(null),l=T.useCallback(()=>{var c;(c=a.current)!=null&&c.contentWindow&&a.current.contentWindow.postMessage({type:Ne.UPDATE_DRAFTS,draft:e,globalDraft:t,themeConfig:r},"*")},[e,t,r]);return T.useEffect(()=>{l()},[l]),T.useEffect(()=>{const c=d=>{d.data.type===Ne.STAGE_READY&&l()};return window.addEventListener("message",c),()=>window.removeEventListener("message",c)},[l]),T.useEffect(()=>{var c;(c=a.current)!=null&&c.contentWindow&&a.current.contentWindow.postMessage({type:Ne.SYNC_SELECTION,selectedId:o},"*")},[o]),T.useEffect(()=>{var c;!i||!((c=a.current)!=null&&c.contentWindow)||(a.current.contentWindow.postMessage({type:Ne.REQUEST_SCROLL_TO_SECTION,sectionId:i},"*"),s==null||s())},[i,s]),p.jsx("div",{className:"w-full h-full bg-background overflow-hidden",children:p.jsx("iframe",{ref:a,src:`/admin/preview/${n}`,className:"w-full h-full border-none",title:"JsonPages Stage"})})},Hn={setTheme:e=>{const t=document.documentElement,{tokens:r}=e,n={"--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(n).forEach(([o,i])=>{t.style.setProperty(o,i)})}},yc=()=>{var u;const[e,t]=T.useState(null),[r,n]=T.useState(null),[o,i]=T.useState(null),[s,a]=T.useState(null),[l,c]=T.useState(!1);if(T.useEffect(()=>{const v=f=>{f.data.type===Ne.UPDATE_DRAFTS&&(t(f.data.draft),n(f.data.globalDraft),f.data.themeConfig&&Hn.setTheme(f.data.themeConfig)),f.data.type===Ne.SYNC_SELECTION&&i(f.data.selectedId),f.data.type===Ne.REQUEST_SCROLL_TO_SECTION&&a(f.data.sectionId??null),f.data.type===Ne.REQUEST_CLEAN_HTML&&(c(!0),setTimeout(()=>{const b=document.documentElement.outerHTML;window.parent.postMessage({type:Ne.SEND_CLEAN_HTML,html:b},"*"),c(!1)},50))};return window.addEventListener("message",v),window.parent.postMessage({type:Ne.STAGE_READY},"*"),()=>window.removeEventListener("message",v)},[]),T.useEffect(()=>{const v=f=>{var N,M,w,W,G,U,$,H;const b=f.target,g=f.clientX,y=f.clientY;let k=null,S=b;for(;S&&S!==document.body;){const ee=(N=S.getAttribute)==null?void 0:N.call(S,"data-section-id"),j=(M=S.getAttribute)==null?void 0:M.call(S,"data-section-type"),D=(w=S.getAttribute)==null?void 0:w.call(S,"data-section-scope");if(ee&&j&&D){k=S;break}S=S.parentElement}if(!k)return;f.preventDefault(),f.stopPropagation();const C=k.getAttribute("data-section-id"),O=k.getAttribute("data-section-type"),E=k.getAttribute("data-section-scope");if(!C||!O||!E)return;const A={id:C,type:O,scope:E};if(b===k){window.parent.postMessage({type:Ne.SECTION_SELECT,section:A},"*");return}const P=document.elementFromPoint(g,y)??b;if(!P||!k.contains(P)){window.parent.postMessage({type:Ne.SECTION_SELECT,section:A},"*");return}if(P===k){window.parent.postMessage({type:Ne.SECTION_SELECT,section:A},"*");return}const F=[];for(S=P;S&&S!==k;){const ee=(W=S.getAttribute)==null?void 0:W.call(S,"data-jp-item-id"),j=(G=S.getAttribute)==null?void 0:G.call(S,"data-jp-item-field");ee&&j&&F.push({fieldKey:j||"items",itemId:ee}),S=S.parentElement}if(F.reverse(),F.length===0)for(S=P;S&&S!==k;){const ee=(U=S.getAttribute)==null?void 0:U.call(S,"data-jp-field");if(ee){F.push({fieldKey:ee});break}S=S.parentElement}if(F.length===0&&P){let ee=null;const j=D=>{var X,ne;const Z=D.getBoundingClientRect();if(Z.left<=g&&g<=Z.right&&Z.top<=y&&y<=Z.bottom){for(let pe=0;pe<D.children.length;pe++)j(D.children[pe]);((X=D.getAttribute)!=null&&X.call(D,"data-jp-item-id")||(ne=D.getAttribute)!=null&&ne.call(D,"data-jp-field"))&&(ee=D)}};if(j(P),ee){const D=ee,Z=($=D.getAttribute)==null?void 0:$.call(D,"data-jp-item-id"),X=(H=D.getAttribute)==null?void 0:H.call(D,"data-jp-field");Z&&X?F.push({fieldKey:X||"items",itemId:Z}):X&&F.push({fieldKey:X})}}const Y={type:Ne.SECTION_SELECT,section:A};if(F.length>0){Y.itemPath=F;const ee=F[0];ee.itemId!=null?(Y.itemField=ee.fieldKey,Y.itemId=ee.itemId):Y.itemField=ee.fieldKey}window.parent.postMessage(Y,"*")};return document.addEventListener("click",v,!0),()=>document.removeEventListener("click",v,!0)},[]),T.useEffect(()=>{if(!s)return;const v=setTimeout(()=>a(null),600);return()=>clearTimeout(v)},[s]),!e||!r)return p.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 d=(u=r.header)==null?void 0:u.data,h={main:(d==null?void 0:d.links)??[]},m=v=>{window.parent.postMessage({type:Ne.ACTIVE_SECTION_CHANGED,activeSectionId:v},"*")};return p.jsx($r,{mode:l?"visitor":"studio",children:p.jsx("div",{className:l?"":"jp-ice-active",children:p.jsx(no,{pageConfig:e,siteConfig:r,menuConfig:h,selectedId:l?null:o,scrollToSectionId:s,onActiveSectionChange:m})})})};function S0(e){return e.split("-").map(t=>t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join(" ")}const kc=({open:e,onClose:t,sectionTypes:r,sectionTypeLabels:n,onSelect:o})=>{if(T.useEffect(()=>{if(!e)return;const s=a=>{a.key==="Escape"&&t()};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[e,t]),!e)return null;const i=s=>(n==null?void 0:n[s])??S0(s);return p.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:[p.jsx("div",{className:"absolute inset-0 bg-zinc-950/80 backdrop-blur-sm",onClick:t,"aria-hidden":"true"}),p.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:[p.jsxs("div",{className:"flex items-center justify-between px-5 py-4 border-b border-zinc-800 shrink-0",children:[p.jsxs("div",{className:"flex items-center gap-2",children:[p.jsx("div",{className:"p-1.5 rounded-lg bg-blue-500/20 text-blue-400",children:p.jsx(to,{size:18})}),p.jsx("h2",{id:"jp-add-section-title",className:"text-sm font-bold text-white",children:"Add section"})]}),p.jsx("button",{type:"button",onClick:t,className:"p-1.5 rounded-md text-zinc-400 hover:text-white hover:bg-zinc-800 transition-colors","aria-label":"Close",children:p.jsx(Lt,{size:18})})]}),p.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:r.length===0?p.jsx("p",{className:"text-xs text-zinc-500 text-center py-8",children:"No section types available. Configure addableSectionTypes or schemas."}):p.jsx("ul",{className:"grid gap-2",role:"listbox",children:r.map(s=>p.jsx("li",{role:"option",children:p.jsxs("button",{type:"button",onClick:()=>{o(s),t()},className:ge("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:[p.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:s}),p.jsx("span",{className:"text-sm font-medium text-zinc-200",children:i(s)})]})},s))})}),p.jsx("div",{className:"px-5 py-3 border-t border-zinc-800 shrink-0",children:p.jsx("p",{className:"text-[10px] text-zinc-500 uppercase tracking-wider",children:"Choose a section type to add to the bottom of this page"})})]})]})},Sc=()=>p.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:[p.jsx("h1",{className:"text-6xl font-bold text-[var(--local-text)] mb-4",children:"404"}),p.jsx("p",{className:"text-xl text-[var(--local-text-muted)] mb-8",children:"Page not found"}),p.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"})]}),_0='/*! 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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--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-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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-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-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-snug:1.375;--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);--color-primary-foreground:var(--primary-foreground);--color-destructive:var(--destructive);--color-ring:var(--ring)}}@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-2{left:calc(var(--spacing)*2)}.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)}.mx-1\\.5{margin-inline:calc(var(--spacing)*1.5)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-3{margin-inline:calc(var(--spacing)*3)}.my-1{margin-block: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)}.mt-2{margin-top:calc(var(--spacing)*2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.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)}.ml-auto{margin-left:auto}.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-3\\.5{height:calc(var(--spacing)*3.5)}.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-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.h-full{height:100%}.h-screen{height:100vh}.max-h-96{max-height:calc(var(--spacing)*96)}.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\\.5{width:calc(var(--spacing)*3.5)}.w-3\\/4{width:75%}.w-5{width:calc(var(--spacing)*5)}.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-\\[var\\(--radix-popover-trigger-width\\)\\]{width:var(--radix-popover-trigger-width)}.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-\\[var\\(--inspector-width\\,280px\\)\\]{max-width:var(--inspector-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-\\[8rem\\]{min-width:8rem}.min-w-\\[18px\\]{min-width:18px}.min-w-\\[var\\(--radix-popover-trigger-width\\)\\]{min-width:var(--radix-popover-trigger-width)}.min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.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)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-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}.touch-none{touch-action:none}.resize-none{resize: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-0\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}: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-\\[inherit\\]{border-radius:inherit}.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-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.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-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-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.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-emerald-500\\/60{border-color:#00bb7f99}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\\/60{border-color:color-mix(in oklab,var(--color-emerald-500)60%,transparent)}}.border-primary{border-color:var(--color-primary)}.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\\/60{border-color:#27272a99}@supports (color:color-mix(in lab,red,red)){.border-zinc-800\\/60{border-color:color-mix(in oklab,var(--color-zinc-800)60%,transparent)}}.border-l-transparent{border-left-color:#0000}.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{background-color:var(--color-black)}.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-destructive\\/15{background-color:var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\\/15{background-color:color-mix(in oklab,var(--color-destructive)15%,transparent)}}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-primary,.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-primary\\/\\[0\\.08\\]{background-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\\/\\[0\\.08\\]{background-color:color-mix(in oklab,var(--color-primary)8%,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-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\\/30{background-color:#27272a4d}@supports (color:color-mix(in lab,red,red)){.bg-zinc-800\\/30{background-color:color-mix(in oklab,var(--color-zinc-800)30%,transparent)}}.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))}.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)}.p-px{padding:1px}.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-10{padding-block:calc(var(--spacing)*10)}.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-4{padding-right:calc(var(--spacing)*4)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-8{padding-left:calc(var(--spacing)*8)}.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-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-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.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\\.04em\\]{--tw-tracking:.04em;letter-spacing:.04em}.tracking-\\[0\\.05em\\]{--tw-tracking:.05em;letter-spacing:.05em}.tracking-\\[0\\.06em\\]{--tw-tracking:.06em;letter-spacing:.06em}.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)}.whitespace-nowrap{white-space:nowrap}.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-destructive{color:var(--color-destructive)}.text-emerald-400{color:var(--color-emerald-400)}.text-foreground{color:var(--color-foreground)}.text-primary{color:var(--color-primary)}.text-primary-foreground{color:var(--color-primary-foreground)}.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)}.text-zinc-600\\/50{color:#52525c80}@supports (color:color-mix(in lab,red,red)){.text-zinc-600\\/50{color:color-mix(in oklab,var(--color-zinc-600)50%,transparent)}}.text-zinc-700{color:var(--color-zinc-700)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.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-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px 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-black\\/30{--tw-shadow-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.shadow-black\\/30{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black)30%,transparent)var(--tw-shadow-alpha),transparent)}}.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)}}.shadow-primary\\/20{--tw-shadow-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.shadow-primary\\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-primary)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-destructive\\/25:hover{background-color:var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-destructive\\/25:hover{background-color:color-mix(in oklab,var(--color-destructive)25%,transparent)}}.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-primary\\/90:hover{background-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-primary\\/90:hover{background-color:color-mix(in oklab,var(--color-primary)90%,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-600:hover{background-color:var(--color-zinc-600)}.hover\\:bg-zinc-800:hover{background-color:var(--color-zinc-800)}.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\\:bg-zinc-900:hover{background-color:var(--color-zinc-900)}.hover\\:text-blue-400:hover{color:var(--color-blue-400)}.hover\\:text-destructive:hover{color:var(--color-destructive)}.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\\:bg-zinc-800:focus{background-color:var(--color-zinc-800)}.focus\\:text-white:focus{color:var(--color-white)}.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\\:border-zinc-600:focus-visible{border-color:var(--color-zinc-600)}.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-500\\/80:focus-visible{--tw-ring-color:#3080ffcc}@supports (color:color-mix(in lab,red,red)){.focus-visible\\:ring-blue-500\\/80:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-blue-500)80%,transparent)}}.focus-visible\\:ring-blue-600:focus-visible{--tw-ring-color:var(--color-blue-600)}.focus-visible\\:ring-ring:focus-visible{--tw-ring-color:var(--color-ring)}.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\\:ring-offset-zinc-950:focus-visible{--tw-ring-offset-color:var(--color-zinc-950)}.focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.focus-visible\\:ring-inset:focus-visible{--tw-ring-inset:inset}.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}.data-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\\[side\\=right\\]\\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\\[state\\=open\\]\\:border-zinc-800[data-state=open]{border-color:var(--color-zinc-800)}.data-\\[state\\=open\\]\\:bg-zinc-950[data-state=open]{background-color:var(--color-zinc-950)}.data-\\[state\\=open\\]\\:text-zinc-100[data-state=open]{color:var(--color-zinc-100)}@media(min-width:40rem){.sm\\:max-w-\\[280px\\]{max-width:280px}}.\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.\\[\\&\\>span\\]\\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\\[\\&\\>span\\]\\:flex>span{display:flex}.\\[\\&\\>span\\]\\:items-center>span{align-items:center}.\\[\\&\\>span\\]\\:gap-2>span{gap:calc(var(--spacing)*2)}}: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-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@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-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{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 C0 extends T.Component{constructor(t){super(t),this.state={hasError:!1,error:null}}static getDerivedStateFromError(t){return{hasError:!0,error:t}}componentDidCatch(t,r){console.error("[JsonPages Engine]",t,r)}render(){return this.state.hasError&&this.state.error?p.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:[p.jsx("h1",{style:{fontSize:"1.25rem",fontWeight:700,marginBottom:8},children:"JsonPages Engine Error"}),p.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 E0({config:e}){var k,S;const{registry:t={},schemas:r={},pages:n={},siteConfig:o,themeConfig:i,menuConfig:s,themeCss:a,addSection:l,NotFoundComponent:c=Sc}=e,d=(l==null?void 0:l.addableSectionTypes)??Object.keys(r).filter(C=>C!=="header"&&C!=="footer"),h={exportJSON:((k=e.persistence)==null?void 0:k.exportJSON)??wi,exportHTML:((S=e.persistence)==null?void 0:S.exportHTML)??xi},m=typeof(a==null?void 0:a.tenant)=="string"?a.tenant:"",u=typeof(a==null?void 0:a.admin)=="string"?a.admin:_0,[v,f]=T.useState(!1);T.useEffect(()=>{try{i!=null&&i.tokens&&Hn.setTheme(i)}catch(C){console.warn("[JsonPages] setTheme failed",C)}f(!0)},[i]);const b=()=>{const{slug:C="home"}=Ze.useParams(),[O,E]=T.useState(null);T.useEffect(()=>{const Y=document.getElementById("jp-baked-state");if(Y!=null&&Y.textContent)try{const N=JSON.parse(Y.textContent);E(N),Hn.setTheme(N.theme)}catch(N){console.error("Failed to parse baked state",N)}},[]);const A=O?O.page:n[C],P=O?O.site:o,F=O?O.menu:s;return A?p.jsx(Kr,{mode:"tenant",tenantCss:m,adminCss:u,children:p.jsx($r,{mode:"visitor",children:p.jsx(no,{pageConfig:A,siteConfig:P,menuConfig:F})})}):p.jsx(c,{})},g=()=>{var oe;const{slug:C="home"}=Ze.useParams(),O=Ze.useNavigate(),E=Object.keys(n).sort((K,te)=>K==="home"?-1:te==="home"?1:K.localeCompare(te)),[A,P]=T.useState(null),[F,Y]=T.useState(!1),[N,M]=T.useState(!1),[w,W]=T.useState(()=>{var K;try{const te=JSON.parse(JSON.stringify(o??{}));te.identity||(te.identity={title:"Site"}),te.pages||(te.pages=[]);const le=(K=te.header)==null?void 0:K.data;return le&&(s!=null&&s.main)&&(le.links=JSON.parse(JSON.stringify(s.main))),te}catch{return{identity:{title:"Site"},pages:[]}}}),[G,U]=T.useState(null),[$,H]=T.useState(null),[ee,j]=T.useState(null),[D,Z]=T.useState(null),[X,ne]=T.useState(!1),[pe,re]=T.useState(400),ae=360,ce=920,se=T.useCallback(K=>{K.preventDefault();const te=K.currentTarget;te.setPointerCapture(K.pointerId);const le=K.clientX,ue=pe,Se=Fe=>{const Ce=le-Fe.clientX,Ct=Math.min(ce,Math.max(ae,ue+Ce));re(Ct)},_e=()=>{te.releasePointerCapture(K.pointerId),te.removeEventListener("pointermove",Se),te.removeEventListener("pointerup",_e),te.removeEventListener("pointercancel",_e),document.body.style.cursor="",document.body.style.userSelect=""};document.body.style.cursor="col-resize",document.body.style.userSelect="none",te.addEventListener("pointermove",Se),te.addEventListener("pointerup",_e),te.addEventListener("pointercancel",_e)},[pe]),de=A?[...w.header?[{id:w.header.id,type:w.header.type,scope:"global",title:"Header"}]:[],...A.sections.map(K=>{var te,le;return{id:K.id,type:K.type,scope:"local",title:((te=K.data)==null?void 0:te.title)??((le=K.data)==null?void 0:le.titleHighlight)}}),...w.footer?[{id:w.footer.id,type:w.footer.type,scope:"global",title:"Footer"}]:[]]:[];T.useEffect(()=>{const K=n[C];K&&P(JSON.parse(JSON.stringify(K))),U(null),H(null),Y(!1)},[C,n]);const me=T.useCallback(()=>{const K=n[C];K&&P(JSON.parse(JSON.stringify(K))),U(null),H(null),Y(!1)},[C,n]),we=T.useCallback((K,te,le)=>{const ue=[...le.sections],Se=ue.findIndex(Ce=>Ce.id===K);if(Se===-1||te<0||te>=ue.length)return;const[_e]=ue.splice(Se,1),Fe=te>Se?te-1:te;ue.splice(Math.min(Fe,ue.length),0,_e),P({...le,sections:ue}),Y(!0)},[]),x=T.useCallback(K=>{var te;if(K.origin===window.location.origin){if(K.data.type===Ne.SECTION_SELECT){U(K.data.section);const le=K.data.itemPath;if(Array.isArray(le)&&le.length>0)H(le.map(ue=>({fieldKey:ue.fieldKey,...ue.itemId!=null?{itemId:String(ue.itemId)}:{}})));else{const ue=K.data.itemField,Se=K.data.itemId;H(typeof ue=="string"?[{fieldKey:ue,...Se!=null?{itemId:String(Se)}:{}}]:null)}}if(K.data.type===Ne.ACTIVE_SECTION_CHANGED&&j(K.data.activeSectionId??null),K.data.type==="jsonpages:section-reorder"&&A){const{sectionId:le,newIndex:ue}=K.data;typeof le=="string"&&typeof ue=="number"&&ue>=0&&we(le,ue,A)}if(K.data.type===Ne.SEND_CLEAN_HTML){if(!A)return;const le=(te=w.header)==null?void 0:te.data,ue={page:A,site:w,menu:{main:(le==null?void 0:le.links)??[]},theme:i};h.exportHTML(ue,C,K.data.html),Y(!1)}}},[A,w,C,i,we]);T.useEffect(()=>(window.addEventListener("message",x),()=>window.removeEventListener("message",x)),[x]);const q=T.useCallback(K=>{const te=de.find(le=>le.id===K);te&&U({id:te.id,type:te.type,scope:te.scope}),H(null),Z(K)},[de]),V=T.useCallback(()=>{Z(null)},[]),I=T.useCallback(K=>{P(te=>te&&{...te,sections:te.sections.filter(le=>le.id!==K)}),Y(!0),U(te=>(te==null?void 0:te.id)===K?null:te)},[]),z=K=>{if(!(!G||!A))if(Y(!0),G.scope==="global")G.type==="header"&&w.header!=null?W({...w,header:{...w.header,data:K}}):G.type==="footer"&&w.footer!=null&&W({...w,footer:{...w.footer,data:K}});else{const te=A.sections.map(le=>le.id===G.id?{...le,data:K}:le);P({...A,sections:te})}},L=T.useCallback((K,te,le,ue)=>{var Se,_e;if(Y(!0),te==="global")((Se=w.header)==null?void 0:Se.id)===K?W({...w,header:{...w.header,data:ue}}):((_e=w.footer)==null?void 0:_e.id)===K&&W({...w,footer:{...w.footer,data:ue}});else if(A){const Fe=A.sections.map(Ce=>Ce.id===K?{...Ce,data:ue}:Ce);P({...A,sections:Fe})}},[A,w]),Q=()=>{var te;const K=document.querySelector("iframe");(te=K==null?void 0:K.contentWindow)==null||te.postMessage({type:Ne.REQUEST_CLEAN_HTML},"*")},B=()=>{var le,ue;if(!A||!((le=e.persistence)!=null&&le.saveToFile))return;const K=(ue=w.header)==null?void 0:ue.data,te={page:A,site:w,menu:{main:(K==null?void 0:K.links)??[]},theme:i};e.persistence.saveToFile(te,C).then(()=>{var Se;Y(!1),M(!0),((Se=e.persistence)==null?void 0:Se.reloadAfterSave)!==!1&&window.setTimeout(()=>window.location.reload(),1e3)}).catch(Se=>{console.error("[JsonPages] saveToFile failed",Se);const _e=Se instanceof Error?Se.message:String(Se);alert(`Save to file failed: ${_e}`)})},R=K=>{var ue;if(!A)return;const te=((ue=l==null?void 0:l.getDefaultSectionData)==null?void 0:ue.call(l,K))??{},le={id:crypto.randomUUID(),type:K,data:te,settings:void 0};P({...A,sections:[...A.sections,le]}),Y(!0),U({id:le.id,type:K,scope:"local"})};if(!A)return p.jsx("div",{children:"Loading Studio..."});const J=(G==null?void 0:G.scope)==="global"?{sections:[w.header,w.footer].filter(K=>K!=null)}:A,ie=[...w.header?[w.header]:[],...A.sections,...w.footer?[w.footer]:[]];return p.jsx(Kr,{mode:"admin",tenantCss:m,adminCss:u,children:p.jsx($r,{mode:"studio",children:p.jsxs("div",{className:"flex flex-col h-screen w-screen bg-background text-foreground overflow-hidden",children:[p.jsxs("div",{className:"flex flex-1 min-h-0 overflow-hidden",children:[p.jsx("main",{className:"flex-1 min-w-0 relative bg-zinc-900/50 overflow-hidden",children:p.jsx(xc,{draft:A,globalDraft:w,themeConfig:i,slug:C,selectedId:G==null?void 0:G.id,scrollToSectionId:D,onScrollRequested:V})}),p.jsxs("div",{className:"flex shrink-0 relative h-full z-10",style:{width:pe,minWidth:ae,maxWidth:ce},children:[p.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}),p.jsx(wc,{selectedSection:G,pageData:J,allSectionsData:ie,onUpdate:z,onUpdateSection:L,onClose:()=>{U(null),H(null)},expandedItemPath:$,onReorderSection:A?(K,te)=>we(K,te,A):void 0,allLayers:de,activeSectionId:ee,onRequestScrollToSection:q,onDeleteSection:A?I:void 0,onAddSection:d.length>0?()=>ne(!0):void 0,hasChanges:F,onExportHTML:Q,onSaveToFile:((oe=e.persistence)==null?void 0:oe.saveToFile)!=null?B:void 0,saveSuccessFeedback:N,onResetToFile:me,pageSlugs:E,currentSlug:C,onPageChange:E.length>1?K=>O(`/admin/${K}`):void 0})]})]}),p.jsx(kc,{open:X,onClose:()=>ne(!1),sectionTypes:d,sectionTypeLabels:l==null?void 0:l.sectionTypeLabels,onSelect:R})]})})})},y=()=>p.jsx(Kr,{mode:"tenant",tenantCss:m,adminCss:u,children:p.jsx(yc,{})});return v?p.jsx(C0,{children:p.jsx($i,{config:{registry:t,schemas:r,tenantId:e.tenantId??"default",assets:e.assets},children:p.jsx(Ze.BrowserRouter,{children:p.jsxs(Ze.Routes,{children:[p.jsx(Ze.Route,{path:"/",element:p.jsx(b,{})}),p.jsx(Ze.Route,{path:"/:slug",element:p.jsx(b,{})}),p.jsx(Ze.Route,{path:"/admin",element:p.jsx(g,{})}),p.jsx(Ze.Route,{path:"/admin/:slug",element:p.jsx(g,{})}),p.jsx(Ze.Route,{path:"/admin/preview/:slug",element:p.jsx(y,{})}),p.jsx(Ze.Route,{path:"*",element:p.jsx(c,{})})]})})})}):p.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 A0=({hasChanges:e,onExportJSON:t,onExportHTML:r,onAddSection:n})=>p.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:[p.jsx("div",{className:"flex items-center gap-3",children:n!=null&&p.jsxs("button",{type:"button",onClick:n,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:[p.jsx(Fd,{size:14}),p.jsx("span",{children:"Add section"})]})}),p.jsx("div",{className:"absolute left-1/2 -translate-x-1/2 opacity-20 pointer-events-none",children:p.jsx("span",{className:"text-xs font-black tracking-[0.2em] text-zinc-100",children:"JSONPAGES STUDIO"})}),p.jsxs("div",{className:"flex items-center gap-2",children:[p.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:[p.jsx(Ki,{size:14}),p.jsx("span",{children:"Bake HTML"})]}),p.jsxs("button",{onClick:t,disabled:!e,className:ge("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:[p.jsx(jd,{size:14}),p.jsx("span",{children:"Export JSON"})]})]})]});ye.AddSectionLibrary=kc,ye.AdminSidebar=wc,ye.ConfigProvider=$i,ye.ControlBar=A0,ye.DefaultNotFound=Sc,ye.FormFactory=Ar,ye.InputWidgets=Er,ye.JsonPagesEngine=E0,ye.PageRenderer=no,ye.PreviewEntry=yc,ye.STUDIO_EVENTS=Ne,ye.SectionRenderer=ur,ye.StudioProvider=$r,ye.StudioStage=xc,ye.ThemeLoader=Kr,ye.cn=ge,ye.exportBakedHTML=xi,ye.exportProjectJSON=wi,ye.resolveAssetUrl=Ol,ye.themeManager=Hn,ye.useConfig=dr,ye.useStudio=Vi,Object.defineProperty(ye,Symbol.toStringTag,{value:"Module"})}));
252
+ `)},Cm=0,Qt=[];function Em(e){var t=_.useRef([]),r=_.useRef([0,0]),n=_.useRef(),o=_.useState(Cm++)[0],i=_.useState(Ua)[0],s=_.useRef(e);_.useEffect(function(){s.current=e},[e]),_.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var f=Kp([e.lockRef.current],(e.shards||[]).map(Ga),!0).filter(Boolean);return f.forEach(function(b){return b.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),f.forEach(function(b){return b.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var a=_.useCallback(function(f,b){if("touches"in f&&f.touches.length===2||f.type==="wheel"&&f.ctrlKey)return!s.current.allowPinchZoom;var g=jn(f),y=r.current,k="deltaX"in f?f.deltaX:y[0]-g[0],S="deltaY"in f?f.deltaY:y[1]-g[1],C,O=f.target,E=Math.abs(k)>Math.abs(S)?"h":"v";if("touches"in f&&E==="h"&&O.type==="range")return!1;var A=window.getSelection(),P=A&&A.anchorNode,F=P?P===O||P.contains(O):!1;if(F)return!1;var Y=Ha(E,O);if(!Y)return!0;if(Y?C=E:(C=E==="v"?"h":"v",Y=Ha(E,O)),!Y)return!1;if(!n.current&&"changedTouches"in f&&(k||S)&&(n.current=C),!C)return!0;var N=n.current||C;return km(N,b,f,N==="h"?k:S)},[]),l=_.useCallback(function(f){var b=f;if(!(!Qt.length||Qt[Qt.length-1]!==i)){var g="deltaY"in b?Ka(b):jn(b),y=t.current.filter(function(C){return C.name===b.type&&(C.target===b.target||b.target===C.shadowParent)&&Sm(C.delta,g)})[0];if(y&&y.should){b.cancelable&&b.preventDefault();return}if(!y){var k=(s.current.shards||[]).map(Ga).filter(Boolean).filter(function(C){return C.contains(b.target)}),S=k.length>0?a(b,k[0]):!s.current.noIsolation;S&&b.cancelable&&b.preventDefault()}}},[]),c=_.useCallback(function(f,b,g,y){var k={name:f,delta:b,target:g,should:y,shadowParent:Am(g)};t.current.push(k),setTimeout(function(){t.current=t.current.filter(function(S){return S!==k})},1)},[]),d=_.useCallback(function(f){r.current=jn(f),n.current=void 0},[]),h=_.useCallback(function(f){c(f.type,Ka(f),f.target,a(f,e.lockRef.current))},[]),m=_.useCallback(function(f){c(f.type,jn(f),f.target,a(f,e.lockRef.current))},[]);_.useEffect(function(){return Qt.push(i),e.setCallbacks({onScrollCapture:h,onWheelCapture:h,onTouchMoveCapture:m}),document.addEventListener("wheel",l,Jt),document.addEventListener("touchmove",l,Jt),document.addEventListener("touchstart",d,Jt),function(){Qt=Qt.filter(function(f){return f!==i}),document.removeEventListener("wheel",l,Jt),document.removeEventListener("touchmove",l,Jt),document.removeEventListener("touchstart",d,Jt)}},[]);var u=e.removeScrollBar,v=e.inert;return _.createElement(_.Fragment,null,v?_.createElement(i,{styles:_m(o)}):null,u?_.createElement(mm,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Am(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const Nm=rm(Ba,Em);var Go=_.forwardRef(function(e,t){return _.createElement(Nn,it({},e,{ref:t,sideCar:Nm}))});Go.classNames=Nn.classNames;var zm=[" ","Enter","ArrowUp","ArrowDown"],jm=[" ","Enter"],Ot="Select",[Tn,On,Tm]=Xf(Ot),[er]=$t(Ot,[Tm,Zt]),Pn=Zt(),[Om,kt]=er(Ot),[Pm,Im]=er(Ot),Za=e=>{const{__scopeSelect:t,children:r,open:n,defaultOpen:o,onOpenChange:i,value:s,defaultValue:a,onValueChange:l,dir:c,name:d,autoComplete:h,disabled:m,required:u,form:v}=e,f=Pn(t),[b,g]=_.useState(null),[y,k]=_.useState(null),[S,C]=_.useState(!1),O=$s(c),[E,A]=Sn({prop:n,defaultProp:o??!1,onChange:i,caller:Ot}),[P,F]=Sn({prop:s,defaultProp:a,onChange:l,caller:Ot}),Y=_.useRef(null),N=b?v||!!b.closest("form"):!0,[M,w]=_.useState(new Set),W=Array.from(M).map(G=>G.props.value).join(";");return p.jsx(Bo,{...f,children:p.jsxs(Om,{required:u,scope:t,trigger:b,onTriggerChange:g,valueNode:y,onValueNodeChange:k,valueNodeHasChildren:S,onValueNodeHasChildrenChange:C,contentId:kr(),value:P,onValueChange:F,open:E,onOpenChange:A,dir:O,triggerPointerDownPosRef:Y,disabled:m,children:[p.jsx(Tn.Provider,{scope:t,children:p.jsx(Pm,{scope:e.__scopeSelect,onNativeOptionAdd:_.useCallback(G=>{w(U=>new Set(U).add(G))},[]),onNativeOptionRemove:_.useCallback(G=>{w(U=>{const $=new Set(U);return $.delete(G),$})},[]),children:r})}),N?p.jsxs(ml,{"aria-hidden":!0,required:u,tabIndex:-1,name:d,autoComplete:h,value:P,onChange:G=>F(G.target.value),disabled:m,form:v,children:[P===void 0?p.jsx("option",{value:""}):null,Array.from(M)]},W):null]})})};Za.displayName=Ot;var Xa="SelectTrigger",qa=_.forwardRef((e,t)=>{const{__scopeSelect:r,disabled:n=!1,...o}=e,i=Pn(r),s=kt(Xa,r),a=s.disabled||n,l=Ae(t,s.onTriggerChange),c=On(r),d=_.useRef("touch"),[h,m,u]=bl(f=>{const b=c().filter(k=>!k.disabled),g=b.find(k=>k.value===s.value),y=vl(b,f,g);y!==void 0&&s.onValueChange(y.value)}),v=f=>{a||(s.onOpenChange(!0),u()),f&&(s.triggerPointerDownPosRef.current={x:Math.round(f.pageX),y:Math.round(f.pageY)})};return p.jsx(yn,{asChild:!0,...i,children:p.jsx(Ee.button,{type:"button",role:"combobox","aria-controls":s.contentId,"aria-expanded":s.open,"aria-required":s.required,"aria-autocomplete":"none",dir:s.dir,"data-state":s.open?"open":"closed",disabled:a,"data-disabled":a?"":void 0,"data-placeholder":gl(s.value)?"":void 0,...o,ref:l,onClick:ve(o.onClick,f=>{f.currentTarget.focus(),d.current!=="mouse"&&v(f)}),onPointerDown:ve(o.onPointerDown,f=>{d.current=f.pointerType;const b=f.target;b.hasPointerCapture(f.pointerId)&&b.releasePointerCapture(f.pointerId),f.button===0&&f.ctrlKey===!1&&f.pointerType==="mouse"&&(v(f),f.preventDefault())}),onKeyDown:ve(o.onKeyDown,f=>{const b=h.current!=="";!(f.ctrlKey||f.altKey||f.metaKey)&&f.key.length===1&&m(f.key),!(b&&f.key===" ")&&zm.includes(f.key)&&(v(),f.preventDefault())})})})});qa.displayName=Xa;var Ja="SelectValue",Qa=_.forwardRef((e,t)=>{const{__scopeSelect:r,className:n,style:o,children:i,placeholder:s="",...a}=e,l=kt(Ja,r),{onValueNodeHasChildrenChange:c}=l,d=i!==void 0,h=Ae(t,l.onValueNodeChange);return Ie(()=>{c(d)},[c,d]),p.jsx(Ee.span,{...a,ref:h,style:{pointerEvents:"none"},children:gl(l.value)?p.jsx(p.Fragment,{children:s}):i})});Qa.displayName=Ja;var Dm="SelectIcon",el=_.forwardRef((e,t)=>{const{__scopeSelect:r,children:n,...o}=e;return p.jsx(Ee.span,{"aria-hidden":!0,...o,ref:t,children:n||"▼"})});el.displayName=Dm;var Rm="SelectPortal",tl=e=>p.jsx(kn,{asChild:!0,...e});tl.displayName=Rm;var Pt="SelectContent",rl=_.forwardRef((e,t)=>{const r=kt(Pt,e.__scopeSelect),[n,o]=_.useState();if(Ie(()=>{o(new DocumentFragment)},[]),!r.open){const i=n;return i?Rr.createPortal(p.jsx(nl,{scope:e.__scopeSelect,children:p.jsx(Tn.Slot,{scope:e.__scopeSelect,children:p.jsx("div",{children:e.children})})}),i):null}return p.jsx(ol,{...e,ref:t})});rl.displayName=Pt;var et=10,[nl,St]=er(Pt),Mm="SelectContentImpl",Lm=Ht("SelectContent.RemoveScroll"),ol=_.forwardRef((e,t)=>{const{__scopeSelect:r,position:n="item-aligned",onCloseAutoFocus:o,onEscapeKeyDown:i,onPointerDownOutside:s,side:a,sideOffset:l,align:c,alignOffset:d,arrowPadding:h,collisionBoundary:m,collisionPadding:u,sticky:v,hideWhenDetached:f,avoidCollisions:b,...g}=e,y=kt(Pt,r),[k,S]=_.useState(null),[C,O]=_.useState(null),E=Ae(t,re=>S(re)),[A,P]=_.useState(null),[F,Y]=_.useState(null),N=On(r),[M,w]=_.useState(!1),W=_.useRef(!1);_.useEffect(()=>{if(k)return Ra(k)},[k]),Gs();const G=_.useCallback(re=>{const[ae,...ce]=N().map(me=>me.ref.current),[se]=ce.slice(-1),de=document.activeElement;for(const me of re)if(me===de||(me==null||me.scrollIntoView({block:"nearest"}),me===ae&&C&&(C.scrollTop=0),me===se&&C&&(C.scrollTop=C.scrollHeight),me==null||me.focus(),document.activeElement!==de))return},[N,C]),U=_.useCallback(()=>G([A,k]),[G,A,k]);_.useEffect(()=>{M&&U()},[M,U]);const{onOpenChange:$,triggerPointerDownPosRef:H}=y;_.useEffect(()=>{if(k){let re={x:0,y:0};const ae=se=>{var de,me;re={x:Math.abs(Math.round(se.pageX)-(((de=H.current)==null?void 0:de.x)??0)),y:Math.abs(Math.round(se.pageY)-(((me=H.current)==null?void 0:me.y)??0))}},ce=se=>{re.x<=10&&re.y<=10?se.preventDefault():k.contains(se.target)||$(!1),document.removeEventListener("pointermove",ae),H.current=null};return H.current!==null&&(document.addEventListener("pointermove",ae),document.addEventListener("pointerup",ce,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",ae),document.removeEventListener("pointerup",ce,{capture:!0})}}},[k,$,H]),_.useEffect(()=>{const re=()=>$(!1);return window.addEventListener("blur",re),window.addEventListener("resize",re),()=>{window.removeEventListener("blur",re),window.removeEventListener("resize",re)}},[$]);const[ee,j]=bl(re=>{const ae=N().filter(de=>!de.disabled),ce=ae.find(de=>de.ref.current===document.activeElement),se=vl(ae,re,ce);se&&setTimeout(()=>se.ref.current.focus())}),D=_.useCallback((re,ae,ce)=>{const se=!W.current&&!ce;(y.value!==void 0&&y.value===ae||se)&&(P(re),se&&(W.current=!0))},[y.value]),Z=_.useCallback(()=>k==null?void 0:k.focus(),[k]),X=_.useCallback((re,ae,ce)=>{const se=!W.current&&!ce;(y.value!==void 0&&y.value===ae||se)&&Y(re)},[y.value]),ne=n==="popper"?Zo:il,pe=ne===Zo?{side:a,sideOffset:l,align:c,alignOffset:d,arrowPadding:h,collisionBoundary:m,collisionPadding:u,sticky:v,hideWhenDetached:f,avoidCollisions:b}:{};return p.jsx(nl,{scope:r,content:k,viewport:C,onViewportChange:O,itemRefCallback:D,selectedItem:A,onItemLeave:Z,itemTextRefCallback:X,focusSelectedItem:U,selectedItemText:F,position:n,isPositioned:M,searchRef:ee,children:p.jsx(Go,{as:Lm,allowPinchZoom:!0,children:p.jsx(Eo,{asChild:!0,trapped:y.open,onMountAutoFocus:re=>{re.preventDefault()},onUnmountAutoFocus:ve(o,re=>{var ae;(ae=y.trigger)==null||ae.focus({preventScroll:!0}),re.preventDefault()}),children:p.jsx(dn,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:i,onPointerDownOutside:s,onFocusOutside:re=>re.preventDefault(),onDismiss:()=>y.onOpenChange(!1),children:p.jsx(ne,{role:"listbox",id:y.contentId,"data-state":y.open?"open":"closed",dir:y.dir,onContextMenu:re=>re.preventDefault(),...g,...pe,onPlaced:()=>w(!0),ref:E,style:{display:"flex",flexDirection:"column",outline:"none",...g.style},onKeyDown:ve(g.onKeyDown,re=>{const ae=re.ctrlKey||re.altKey||re.metaKey;if(re.key==="Tab"&&re.preventDefault(),!ae&&re.key.length===1&&j(re.key),["ArrowUp","ArrowDown","Home","End"].includes(re.key)){let se=N().filter(de=>!de.disabled).map(de=>de.ref.current);if(["ArrowUp","End"].includes(re.key)&&(se=se.slice().reverse()),["ArrowUp","ArrowDown"].includes(re.key)){const de=re.target,me=se.indexOf(de);se=se.slice(me+1)}setTimeout(()=>G(se)),re.preventDefault()}})})})})})})});ol.displayName=Mm;var Fm="SelectItemAlignedPosition",il=_.forwardRef((e,t)=>{const{__scopeSelect:r,onPlaced:n,...o}=e,i=kt(Pt,r),s=St(Pt,r),[a,l]=_.useState(null),[c,d]=_.useState(null),h=Ae(t,E=>d(E)),m=On(r),u=_.useRef(!1),v=_.useRef(!0),{viewport:f,selectedItem:b,selectedItemText:g,focusSelectedItem:y}=s,k=_.useCallback(()=>{if(i.trigger&&i.valueNode&&a&&c&&f&&b&&g){const E=i.trigger.getBoundingClientRect(),A=c.getBoundingClientRect(),P=i.valueNode.getBoundingClientRect(),F=g.getBoundingClientRect();if(i.dir!=="rtl"){const de=F.left-A.left,me=P.left-de,we=E.left-me,x=E.width+we,q=Math.max(x,A.width),V=window.innerWidth-et,I=yo(me,[et,Math.max(et,V-q)]);a.style.minWidth=x+"px",a.style.left=I+"px"}else{const de=A.right-F.right,me=window.innerWidth-P.right-de,we=window.innerWidth-E.right-me,x=E.width+we,q=Math.max(x,A.width),V=window.innerWidth-et,I=yo(me,[et,Math.max(et,V-q)]);a.style.minWidth=x+"px",a.style.right=I+"px"}const Y=m(),N=window.innerHeight-et*2,M=f.scrollHeight,w=window.getComputedStyle(c),W=parseInt(w.borderTopWidth,10),G=parseInt(w.paddingTop,10),U=parseInt(w.borderBottomWidth,10),$=parseInt(w.paddingBottom,10),H=W+G+M+$+U,ee=Math.min(b.offsetHeight*5,H),j=window.getComputedStyle(f),D=parseInt(j.paddingTop,10),Z=parseInt(j.paddingBottom,10),X=E.top+E.height/2-et,ne=N-X,pe=b.offsetHeight/2,re=b.offsetTop+pe,ae=W+G+re,ce=H-ae;if(ae<=X){const de=Y.length>0&&b===Y[Y.length-1].ref.current;a.style.bottom="0px";const me=c.clientHeight-f.offsetTop-f.offsetHeight,we=Math.max(ne,pe+(de?Z:0)+me+U),x=ae+we;a.style.height=x+"px"}else{const de=Y.length>0&&b===Y[0].ref.current;a.style.top="0px";const we=Math.max(X,W+f.offsetTop+(de?D:0)+pe)+ce;a.style.height=we+"px",f.scrollTop=ae-X+f.offsetTop}a.style.margin=`${et}px 0`,a.style.minHeight=ee+"px",a.style.maxHeight=N+"px",n==null||n(),requestAnimationFrame(()=>u.current=!0)}},[m,i.trigger,i.valueNode,a,c,f,b,g,i.dir,n]);Ie(()=>k(),[k]);const[S,C]=_.useState();Ie(()=>{c&&C(window.getComputedStyle(c).zIndex)},[c]);const O=_.useCallback(E=>{E&&v.current===!0&&(k(),y==null||y(),v.current=!1)},[k,y]);return p.jsx(Um,{scope:r,contentWrapper:a,shouldExpandOnScrollRef:u,onScrollButtonChange:O,children:p.jsx("div",{ref:l,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:S},children:p.jsx(Ee.div,{...o,ref:h,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})});il.displayName=Fm;var Bm="SelectPopperPosition",Zo=_.forwardRef((e,t)=>{const{__scopeSelect:r,align:n="start",collisionPadding:o=et,...i}=e,s=Pn(r);return p.jsx(Uo,{...s,...i,ref:t,align:n,collisionPadding:o,style:{boxSizing:"border-box",...i.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});Zo.displayName=Bm;var[Um,Xo]=er(Pt,{}),qo="SelectViewport",sl=_.forwardRef((e,t)=>{const{__scopeSelect:r,nonce:n,...o}=e,i=St(qo,r),s=Xo(qo,r),a=Ae(t,i.onViewportChange),l=_.useRef(0);return p.jsxs(p.Fragment,{children:[p.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:n}),p.jsx(Tn.Slot,{scope:r,children:p.jsx(Ee.div,{"data-radix-select-viewport":"",role:"presentation",...o,ref:a,style:{position:"relative",flex:1,overflow:"hidden auto",...o.style},onScroll:ve(o.onScroll,c=>{const d=c.currentTarget,{contentWrapper:h,shouldExpandOnScrollRef:m}=s;if(m!=null&&m.current&&h){const u=Math.abs(l.current-d.scrollTop);if(u>0){const v=window.innerHeight-et*2,f=parseFloat(h.style.minHeight),b=parseFloat(h.style.height),g=Math.max(f,b);if(g<v){const y=g+u,k=Math.min(v,y),S=y-k;h.style.height=k+"px",h.style.bottom==="0px"&&(d.scrollTop=S>0?S:0,h.style.justifyContent="flex-end")}}}l.current=d.scrollTop})})})]})});sl.displayName=qo;var al="SelectGroup",[Wm,$m]=er(al),Hm=_.forwardRef((e,t)=>{const{__scopeSelect:r,...n}=e,o=kr();return p.jsx(Wm,{scope:r,id:o,children:p.jsx(Ee.div,{role:"group","aria-labelledby":o,...n,ref:t})})});Hm.displayName=al;var ll="SelectLabel",Vm=_.forwardRef((e,t)=>{const{__scopeSelect:r,...n}=e,o=$m(ll,r);return p.jsx(Ee.div,{id:o.id,...n,ref:t})});Vm.displayName=ll;var In="SelectItem",[Ym,cl]=er(In),dl=_.forwardRef((e,t)=>{const{__scopeSelect:r,value:n,disabled:o=!1,textValue:i,...s}=e,a=kt(In,r),l=St(In,r),c=a.value===n,[d,h]=_.useState(i??""),[m,u]=_.useState(!1),v=Ae(t,y=>{var k;return(k=l.itemRefCallback)==null?void 0:k.call(l,y,n,o)}),f=kr(),b=_.useRef("touch"),g=()=>{o||(a.onValueChange(n),a.onOpenChange(!1))};if(n==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return p.jsx(Ym,{scope:r,value:n,disabled:o,textId:f,isSelected:c,onItemTextChange:_.useCallback(y=>{h(k=>k||((y==null?void 0:y.textContent)??"").trim())},[]),children:p.jsx(Tn.ItemSlot,{scope:r,value:n,disabled:o,textValue:d,children:p.jsx(Ee.div,{role:"option","aria-labelledby":f,"data-highlighted":m?"":void 0,"aria-selected":c&&m,"data-state":c?"checked":"unchecked","aria-disabled":o||void 0,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...s,ref:v,onFocus:ve(s.onFocus,()=>u(!0)),onBlur:ve(s.onBlur,()=>u(!1)),onClick:ve(s.onClick,()=>{b.current!=="mouse"&&g()}),onPointerUp:ve(s.onPointerUp,()=>{b.current==="mouse"&&g()}),onPointerDown:ve(s.onPointerDown,y=>{b.current=y.pointerType}),onPointerMove:ve(s.onPointerMove,y=>{var k;b.current=y.pointerType,o?(k=l.onItemLeave)==null||k.call(l):b.current==="mouse"&&y.currentTarget.focus({preventScroll:!0})}),onPointerLeave:ve(s.onPointerLeave,y=>{var k;y.currentTarget===document.activeElement&&((k=l.onItemLeave)==null||k.call(l))}),onKeyDown:ve(s.onKeyDown,y=>{var S;((S=l.searchRef)==null?void 0:S.current)!==""&&y.key===" "||(jm.includes(y.key)&&g(),y.key===" "&&y.preventDefault())})})})})});dl.displayName=In;var Cr="SelectItemText",ul=_.forwardRef((e,t)=>{const{__scopeSelect:r,className:n,style:o,...i}=e,s=kt(Cr,r),a=St(Cr,r),l=cl(Cr,r),c=Im(Cr,r),[d,h]=_.useState(null),m=Ae(t,g=>h(g),l.onItemTextChange,g=>{var y;return(y=a.itemTextRefCallback)==null?void 0:y.call(a,g,l.value,l.disabled)}),u=d==null?void 0:d.textContent,v=_.useMemo(()=>p.jsx("option",{value:l.value,disabled:l.disabled,children:u},l.value),[l.disabled,l.value,u]),{onNativeOptionAdd:f,onNativeOptionRemove:b}=c;return Ie(()=>(f(v),()=>b(v)),[f,b,v]),p.jsxs(p.Fragment,{children:[p.jsx(Ee.span,{id:l.textId,...i,ref:m}),l.isSelected&&s.valueNode&&!s.valueNodeHasChildren?Rr.createPortal(i.children,s.valueNode):null]})});ul.displayName=Cr;var fl="SelectItemIndicator",hl=_.forwardRef((e,t)=>{const{__scopeSelect:r,...n}=e;return cl(fl,r).isSelected?p.jsx(Ee.span,{"aria-hidden":!0,...n,ref:t}):null});hl.displayName=fl;var Jo="SelectScrollUpButton",Km=_.forwardRef((e,t)=>{const r=St(Jo,e.__scopeSelect),n=Xo(Jo,e.__scopeSelect),[o,i]=_.useState(!1),s=Ae(t,n.onScrollButtonChange);return Ie(()=>{if(r.viewport&&r.isPositioned){let a=function(){const c=l.scrollTop>0;i(c)};const l=r.viewport;return a(),l.addEventListener("scroll",a),()=>l.removeEventListener("scroll",a)}},[r.viewport,r.isPositioned]),o?p.jsx(pl,{...e,ref:s,onAutoScroll:()=>{const{viewport:a,selectedItem:l}=r;a&&l&&(a.scrollTop=a.scrollTop-l.offsetHeight)}}):null});Km.displayName=Jo;var Qo="SelectScrollDownButton",Gm=_.forwardRef((e,t)=>{const r=St(Qo,e.__scopeSelect),n=Xo(Qo,e.__scopeSelect),[o,i]=_.useState(!1),s=Ae(t,n.onScrollButtonChange);return Ie(()=>{if(r.viewport&&r.isPositioned){let a=function(){const c=l.scrollHeight-l.clientHeight,d=Math.ceil(l.scrollTop)<c;i(d)};const l=r.viewport;return a(),l.addEventListener("scroll",a),()=>l.removeEventListener("scroll",a)}},[r.viewport,r.isPositioned]),o?p.jsx(pl,{...e,ref:s,onAutoScroll:()=>{const{viewport:a,selectedItem:l}=r;a&&l&&(a.scrollTop=a.scrollTop+l.offsetHeight)}}):null});Gm.displayName=Qo;var pl=_.forwardRef((e,t)=>{const{__scopeSelect:r,onAutoScroll:n,...o}=e,i=St("SelectScrollButton",r),s=_.useRef(null),a=On(r),l=_.useCallback(()=>{s.current!==null&&(window.clearInterval(s.current),s.current=null)},[]);return _.useEffect(()=>()=>l(),[l]),Ie(()=>{var d;const c=a().find(h=>h.ref.current===document.activeElement);(d=c==null?void 0:c.ref.current)==null||d.scrollIntoView({block:"nearest"})},[a]),p.jsx(Ee.div,{"aria-hidden":!0,...o,ref:t,style:{flexShrink:0,...o.style},onPointerDown:ve(o.onPointerDown,()=>{s.current===null&&(s.current=window.setInterval(n,50))}),onPointerMove:ve(o.onPointerMove,()=>{var c;(c=i.onItemLeave)==null||c.call(i),s.current===null&&(s.current=window.setInterval(n,50))}),onPointerLeave:ve(o.onPointerLeave,()=>{l()})})}),Zm="SelectSeparator",Xm=_.forwardRef((e,t)=>{const{__scopeSelect:r,...n}=e;return p.jsx(Ee.div,{"aria-hidden":!0,...n,ref:t})});Xm.displayName=Zm;var ei="SelectArrow",qm=_.forwardRef((e,t)=>{const{__scopeSelect:r,...n}=e,o=Pn(r),i=kt(ei,r),s=St(ei,r);return i.open&&s.position==="popper"?p.jsx(Wo,{...o,...n,ref:t}):null});qm.displayName=ei;var Jm="SelectBubbleInput",ml=_.forwardRef(({__scopeSelect:e,value:t,...r},n)=>{const o=_.useRef(null),i=Ae(n,o),s=Up(t);return _.useEffect(()=>{const a=o.current;if(!a)return;const l=window.HTMLSelectElement.prototype,d=Object.getOwnPropertyDescriptor(l,"value").set;if(s!==t&&d){const h=new Event("change",{bubbles:!0});d.call(a,t),a.dispatchEvent(h)}},[s,t]),p.jsx(Ee.select,{...r,style:{...Pa,...r.style},ref:i,defaultValue:t})});ml.displayName=Jm;function gl(e){return e===""||e===void 0}function bl(e){const t=Le(e),r=_.useRef(""),n=_.useRef(0),o=_.useCallback(s=>{const a=r.current+s;t(a),(function l(c){r.current=c,window.clearTimeout(n.current),c!==""&&(n.current=window.setTimeout(()=>l(""),1e3))})(a)},[t]),i=_.useCallback(()=>{r.current="",window.clearTimeout(n.current)},[]);return _.useEffect(()=>()=>window.clearTimeout(n.current),[]),[r,o,i]}function vl(e,t,r){const o=t.length>1&&Array.from(t).every(c=>c===t[0])?t[0]:t,i=r?e.indexOf(r):-1;let s=Qm(e,Math.max(i,0));o.length===1&&(s=s.filter(c=>c!==r));const l=s.find(c=>c.textValue.toLowerCase().startsWith(o.toLowerCase()));return l!==r?l:void 0}function Qm(e,t){return e.map((r,n)=>e[(t+n)%e.length])}var eg=Za,wl=qa,tg=Qa,rg=el,ng=tl,xl=rl,og=sl,yl=dl,ig=ul,sg=hl;const ag=eg,lg=tg,kl=_.forwardRef(({className:e,children:t,...r},n)=>p.jsxs(wl,{ref:n,className:ge("flex h-8 w-full items-center justify-between gap-2 rounded-md border border-zinc-800 bg-black px-3 py-1.5 text-left text-xs font-medium text-white outline-none","hover:bg-zinc-900 focus-visible:ring-2 focus-visible:ring-blue-500/80 focus-visible:ring-inset focus-visible:border-zinc-600","disabled:pointer-events-none disabled:opacity-50 [&>span]:line-clamp-1 [&>span]:flex [&>span]:items-center [&>span]:gap-2",e),style:{boxShadow:"none",WebkitBoxShadow:"none",MozBoxShadow:"none"},...r,children:[t,p.jsx(rg,{asChild:!0,children:p.jsx(Hr,{className:"h-3 w-3 shrink-0 text-zinc-400",strokeWidth:2})})]}));kl.displayName=wl.displayName;const Sl=_.forwardRef(({className:e,children:t,position:r="popper",...n},o)=>p.jsx(ng,{children:p.jsx(xl,{ref:o,className:ge("relative z-[9999] max-h-96 min-w-[8rem] overflow-hidden rounded-md border border-zinc-800 bg-zinc-950 text-white shadow-lg","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95","data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",r==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:r,...n,children:p.jsx(og,{className:ge("p-1",r==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:t})})}));Sl.displayName=xl.displayName;const _l=_.forwardRef(({className:e,children:t,...r},n)=>p.jsxs(yl,{ref:n,className:ge("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-xs outline-none","focus:bg-zinc-800 focus:text-white data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...r,children:[p.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:p.jsx(sg,{children:p.jsx(Qn,{className:"h-3 w-3",strokeWidth:2})})}),p.jsx(ig,{children:t})]}));_l.displayName=yl.displayName;const Cl=_.createContext(null);function El(){const e=_.useContext(Cl);if(!e)throw new Error("Dialog components must be used within Dialog");return e}function Al({open:e,onOpenChange:t,children:r}){const[n,o]=_.useState(!1),i=e!==void 0,s=i?e:n,a=_.useCallback(c=>{i||o(c),t==null||t(c)},[i,t]),l=_.useMemo(()=>({open:s,onOpenChange:a}),[s,a]);return p.jsx(Cl.Provider,{value:l,children:r})}function cg({asChild:e,children:t}){const{onOpenChange:r}=El(),n=_.Children.only(t);return e&&_.isValidElement(n)?_.cloneElement(n,{onClick:o=>{var i,s;(s=(i=n.props).onClick)==null||s.call(i,o),r(!0)}}):p.jsx("button",{type:"button",onClick:()=>r(!0),children:t})}function Nl({className:e,children:t,preventCloseOnBackdropClick:r,...n}){const{open:o,onOpenChange:i}=El();if(_.useEffect(()=>{const a=l=>{l.key==="Escape"&&i(!1)};return o&&(document.addEventListener("keydown",a),document.body.style.overflow="hidden"),()=>{document.removeEventListener("keydown",a),document.body.style.overflow=""}},[o,i]),!o)return null;const s=a=>{a.preventDefault(),a.stopPropagation()};return pt.createPortal(p.jsxs(p.Fragment,{children:[p.jsx("div",{className:"fixed inset-0 z-[9998] bg-black/60","aria-hidden":!0,onClick:()=>!r&&i(!1),onDragOver:s,onDrop:s}),p.jsx("div",{role:"dialog","aria-modal":!0,className:ge("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:a=>a.stopPropagation(),...n,children:t})]}),document.body)}function zl({className:e,...t}){return p.jsx("div",{className:ge("flex flex-col gap-1.5 pb-4",e),...t})}function dg({className:e,...t}){return p.jsx("div",{className:ge("flex justify-end gap-2 pt-4",e),...t})}function jl({className:e,...t}){return p.jsx("h2",{className:ge("text-sm font-semibold text-white",e),...t})}function Tl({className:e,...t}){return p.jsx("p",{className:ge("text-xs text-zinc-400",e),...t})}const We=_.forwardRef(({className:e,variant:t="default",size:r="default",asChild:n=!1,...o},i)=>{const s="inline-flex items-center justify-center gap-1.5 whitespace-nowrap rounded-md font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:shrink-0 cursor-pointer",a={default:"bg-primary text-primary-foreground shadow-lg shadow-primary/20 hover:bg-primary/90",outline:"border border-zinc-700 bg-zinc-900 text-zinc-200 hover:bg-zinc-800 hover:border-zinc-600",ghost:"text-zinc-500 hover:text-zinc-200 hover:bg-zinc-800",destructive:"bg-destructive/15 text-destructive hover:bg-destructive/25"},l={sm:"h-7 px-2.5 text-[11px]",default:"h-8 px-3 py-1.5 text-xs",lg:"h-9 px-5 text-sm",icon:"h-8 w-8","icon-sm":"h-7 w-7","icon-xs":"h-6 w-6"},c=n?Hf:"button";return p.jsx(c,{ref:i,type:"button",className:ge(s,a[t],l[r],e),...o})});We.displayName="Button";const ug=["library","upload","url"];function fg({library:e,selectedId:t,onSelect:r}){const[n,o]=T.useState(""),[i,s]=T.useState("all"),a=["all",...new Set(e.flatMap(c=>c.tags??[]))],l=e.filter(c=>{const d=i==="all"||(c.tags??[]).includes(i),h=!n||(c.alt??"").toLowerCase().includes(n.toLowerCase());return d&&h});return p.jsxs("div",{className:"space-y-4",children:[p.jsxs("div",{className:"relative",children:[p.jsx(Rd,{size:14,className:"absolute left-3 top-1/2 -translate-y-1/2 text-zinc-600 pointer-events-none"}),p.jsx(xo,{value:n,onChange:c=>o(c.target.value),placeholder:"Cerca immagini...",className:"pl-9 h-8 text-xs bg-zinc-900/50 border-zinc-800"})]}),p.jsx("div",{className:"flex flex-wrap gap-1.5",children:a.map(c=>p.jsx("button",{type:"button",onClick:()=>s(c),className:ge("px-2.5 py-1 rounded text-[10px] font-medium border transition-colors",i===c?"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:c==="all"?"Tutte":c},c))}),l.length>0?p.jsx("div",{className:"grid grid-cols-3 gap-2.5 max-h-[45vh] overflow-y-auto",children:l.map(c=>{const d=t===c.id;return p.jsxs("button",{type:"button",onClick:()=>r(d?null:c.id),className:ge("group relative aspect-[4/3] rounded-lg overflow-hidden","ring-1 transition-all duration-150",d?"ring-blue-500 ring-2 ring-offset-1 ring-offset-zinc-900":"ring-zinc-800 hover:ring-zinc-600 hover:scale-[1.02]"),children:[p.jsx("img",{src:c.url,alt:c.alt,loading:"lazy",className:ge("w-full h-full object-cover transition-[filter] duration-150",d?"brightness-[0.6]":"brightness-[0.85] group-hover:brightness-100")}),p.jsx("div",{className:ge("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",d&&"opacity-100"),children:p.jsx("span",{className:"text-[10px] text-white font-medium leading-tight line-clamp-2",children:c.alt})}),d&&p.jsx("div",{className:"absolute top-2 right-2 w-6 h-6 rounded-full bg-blue-600 flex items-center justify-center",children:p.jsx(Qn,{size:14,className:"text-white"})})]},c.id)})}):p.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 hg({preview:e,onPreviewChange:t,onAssetUpload:r}){const[n,o]=T.useState(!1),i=T.useRef(null),s=T.useCallback(async d=>{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:d.name,hasOnAssetUpload:!!r},timestamp:Date.now(),hypothesisId:"H5"})}).catch(()=>{}),!d.type.startsWith("image/"))return;if(r){try{const m=await r(d);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:m==null?void 0:m.slice(0,50)},timestamp:Date.now(),hypothesisId:"H2,H5"})}).catch(()=>{}),t({name:d.name,size:d.size,dataUrl:m})}catch{const m=new FileReader;m.onload=u=>{var v;t({name:d.name,size:d.size,dataUrl:(v=u.target)==null?void 0:v.result})},m.readAsDataURL(d)}return}const h=new FileReader;h.onload=m=>{var u;t({name:d.name,size:d.size,dataUrl:(u=m.target)==null?void 0:u.result})},h.readAsDataURL(d)},[t,r]),a=T.useCallback(d=>{var m,u;d.preventDefault(),d.stopPropagation(),o(!1);const h=(u=(m=d.dataTransfer)==null?void 0:m.files)==null?void 0:u[0];h&&s(h)},[s]),l=T.useCallback(d=>{d.preventDefault(),d.stopPropagation(),o(!0)},[]),c=T.useCallback(d=>{var m;const h=(m=d.target.files)==null?void 0:m[0];h&&s(h)},[s]);return p.jsxs("div",{onDragOver:l,onDragEnter:l,onDragLeave:d=>{d.preventDefault(),d.stopPropagation(),o(!1)},onDrop:a,onClick:()=>{var d;return!e&&((d=i.current)==null?void 0:d.click())},className:ge("rounded-xl border-2 border-dashed transition-all min-h-[240px]","flex flex-col items-center justify-center overflow-hidden cursor-pointer relative",n?"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?p.jsxs(p.Fragment,{children:[p.jsx("img",{src:e.dataUrl,alt:"Upload preview",className:"w-full max-h-[320px] object-contain"}),p.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:[p.jsxs("div",{children:[p.jsx("p",{className:"text-xs font-medium text-white",children:e.name}),p.jsxs("p",{className:"text-[10px] text-zinc-400",children:[(e.size/1024).toFixed(1)," KB"]})]}),p.jsx(We,{type:"button",variant:"ghost",className:"text-zinc-400 hover:text-red-400 hover:bg-red-500/10 h-8 w-8 p-0",onClick:d=>{d.stopPropagation(),t(null)},children:p.jsx(Yr,{size:14})})]})]}):p.jsxs(p.Fragment,{children:[p.jsx("div",{className:"w-12 h-12 rounded-xl bg-blue-500/10 flex items-center justify-center text-blue-500 mb-3",children:p.jsx(Xi,{size:22})}),p.jsx("p",{className:"text-sm font-medium text-white mb-1",children:"Trascina un'immagine qui"}),p.jsx("p",{className:"text-[11px] text-zinc-500 mb-3",children:"oppure clicca per selezionare un file"}),p.jsx("span",{className:"text-[10px] text-zinc-600 bg-white/[0.03] px-3 py-1 rounded",children:"PNG, JPG, WebP — max 5MB"})]}),p.jsx("input",{ref:i,type:"file",accept:"image/*",className:"hidden",onChange:c})]})}function pg({urlPreview:e,onUrlPreviewChange:t}){const[r,n]=T.useState(""),[o,i]=T.useState(!1),s=()=>{if(r.trim())try{new URL(r),t(r),i(!1)}catch{i(!0),t(null)}};return p.jsxs("div",{className:"space-y-4",children:[p.jsxs("div",{children:[p.jsx(jt,{className:"block text-[10px] font-bold uppercase tracking-[0.08em] text-zinc-500 mb-1.5",children:"URL immagine"}),p.jsxs("div",{className:"flex gap-2",children:[p.jsx(xo,{value:r,onChange:a=>{n(a.target.value),i(!1)},onKeyDown:a=>a.key==="Enter"&&s(),placeholder:"https://images.unsplash.com/photo-...",className:ge("h-8 text-xs bg-zinc-900/50 border-zinc-800",o&&"border-red-500/50")}),p.jsx(We,{type:"button",variant:"outline",onClick:s,className:"shrink-0 h-8",children:"Anteprima"})]}),o&&p.jsx("p",{className:"text-[11px] text-red-400 mt-1.5",children:"URL non valido. Inserisci un URL completo (https://…)"})]}),e?p.jsxs("div",{className:"rounded-lg overflow-hidden ring-1 ring-zinc-800",children:[p.jsx("img",{src:e,alt:"URL preview",className:"w-full max-h-[320px] object-contain bg-black/30",onError:()=>{i(!0),t(null)}}),p.jsxs("div",{className:"px-3.5 py-2.5 bg-white/[0.02] border-t border-zinc-800 flex items-center gap-2",children:[p.jsx(Qn,{size:14,className:"text-emerald-400"}),p.jsx("span",{className:"text-[11px] text-zinc-500",children:"Immagine caricata correttamente"})]})]}):o?null:p.jsxs("div",{className:"flex flex-col items-center py-12 text-zinc-600",children:[p.jsx(Zi,{size:32,className:"mb-3 opacity-40"}),p.jsx("p",{className:"text-xs",children:"Incolla un URL e premi Anteprima per verificare"})]})]})}const mg=({open:e,onOpenChange:t,onSelect:r})=>{const{assets:n}=dr(),o=(n==null?void 0:n.assetsManifest)??[],[i,s]=T.useState("library"),[a,l]=T.useState(null),[c,d]=T.useState(null),[h,m]=T.useState(null);T.useEffect(()=>{e&&(s("library"),l(null),d(null),m(null))},[e]),T.useEffect(()=>{if(!e||i!=="upload")return;const g=()=>{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",g),()=>window.removeEventListener("beforeunload",g)},[e,i]),T.useEffect(()=>{if(!e||i!=="upload")return;const g=k=>{k.preventDefault()},y={capture:!0};return document.addEventListener("dragover",g,y),document.addEventListener("drop",g,y),window.addEventListener("dragover",g,y),window.addEventListener("drop",g,y),()=>{document.removeEventListener("dragover",g,y),document.removeEventListener("drop",g,y),window.removeEventListener("dragover",g,y),window.removeEventListener("drop",g,y)}},[e,i]);const u=i==="library"&&a!=null||i==="upload"&&c!=null||i==="url"&&h!=null,v=()=>{if(i==="library"&&a){const g=o.find(y=>y.id===a);g&&r({url:g.url,alt:g.alt})}else i==="upload"&&c?r({url:c.dataUrl,alt:c.name}):i==="url"&&h&&r({url:h,alt:""});setTimeout(()=>t(!1),0)},f=i==="library"&&a?"1 immagine selezionata":i==="upload"&&c?c.name:i==="url"&&h?"URL pronto":"Nessuna selezione",b=g=>{g.preventDefault(),g.stopPropagation()};return p.jsx(Al,{open:e,onOpenChange:t,children:p.jsxs(Nl,{className:"max-w-2xl p-0 gap-0 max-h-[90vh] flex flex-col",preventCloseOnBackdropClick:i==="upload",onDragOver:b,onDrop:b,children:[p.jsxs(zl,{className:"px-5 py-4 flex flex-row items-start justify-between gap-4 border-b border-zinc-800",children:[p.jsxs("div",{className:"flex items-center gap-3",children:[p.jsx("div",{className:"p-1.5 rounded-lg bg-blue-500/15 text-blue-500",children:p.jsx(Vr,{size:18})}),p.jsxs("div",{children:[p.jsx(jl,{children:"Image Picker"}),p.jsx(Tl,{children:"Scegli dalla libreria, carica dal disco o inserisci un link"})]})]}),p.jsx("button",{type:"button",onClick:()=>t(!1),className:"p-1.5 rounded text-zinc-500 hover:text-white hover:bg-zinc-800 transition-colors","aria-label":"Chiudi",children:p.jsx(Lt,{size:18})})]}),p.jsx("div",{className:"flex border-b border-zinc-800",children:ug.map(g=>p.jsxs("button",{type:"button",onClick:()=>s(g),className:ge("flex items-center gap-2 px-4 py-3 text-xs font-medium border-b-2 transition-colors",i===g?"border-blue-500 text-blue-400":"border-transparent text-zinc-500 hover:text-zinc-300"),children:[g==="library"&&p.jsx(Vr,{size:14}),g==="upload"&&p.jsx(Xi,{size:14}),g==="url"&&p.jsx(Zi,{size:14}),g==="library"?"Libreria":g==="upload"?"Upload":"URL"]},g))}),p.jsxs("div",{className:"flex-1 overflow-y-auto p-5 min-h-0",children:[i==="library"&&p.jsx(fg,{library:o,selectedId:a,onSelect:l}),i==="upload"&&p.jsx(hg,{preview:c,onPreviewChange:d,onAssetUpload:n==null?void 0:n.onAssetUpload}),i==="url"&&p.jsx(pg,{urlPreview:h,onUrlPreviewChange:m})]}),p.jsxs(dg,{className:"px-5 py-4 border-t border-zinc-800 flex-row justify-between",children:[p.jsx("span",{className:"text-[10px] uppercase tracking-[0.05em] text-zinc-600",children:f}),p.jsxs("div",{className:"flex gap-2",children:[p.jsx(We,{type:"button",variant:"outline",size:"sm",onClick:()=>t(!1),children:"Annulla"}),p.jsx(We,{type:"button",size:"sm",disabled:!u,onClick:v,className:ge(!u&&"opacity-40"),children:"Inserisci immagine"})]})]})]})})},Ol=(e,t="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 n=e.replace(/^\//,"");return`/assets/${t}/${n}`},gg=({value:e,onChange:t,label:r="IMAGE",className:n})=>{const{tenantId:o="default"}=dr(),[i,s]=T.useState(!1),[a,l]=T.useState(!1),c=!!(e!=null&&e.url),d=e!=null&&e.url?Ol(e.url,o):"",h=u=>{t(u),s(!1)},m=u=>{u.stopPropagation(),t({url:"",alt:""})};return p.jsxs("div",{className:ge("space-y-1.5",n),children:[p.jsx(jt,{className:"text-[9px] uppercase font-black tracking-widest text-zinc-500",children:r}),c?p.jsxs("div",{role:"button",tabIndex:0,onClick:()=>s(!0),onKeyDown:u=>u.key==="Enter"&&s(!0),onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),className:ge("relative rounded-lg overflow-hidden cursor-pointer","ring-1 ring-zinc-800 transition-all",a&&"ring-blue-500/40"),children:[p.jsx("img",{src:d,alt:(e==null?void 0:e.alt)??"",className:"w-full h-40 object-cover block",onError:u=>{u.target.style.display="none"}}),p.jsx("div",{className:ge("absolute inset-0 flex items-center justify-center gap-2 transition-all duration-150",a?"bg-black/50":"bg-black/0"),children:a&&p.jsxs(p.Fragment,{children:[p.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:[p.jsx(Id,{size:13}),p.jsx("span",{children:"Cambia"})]}),p.jsx(We,{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:m,children:p.jsx(Yr,{size:13})})]})}),p.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)??""})]}):p.jsxs("button",{type:"button",onClick:()=>s(!0),className:ge("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:[p.jsx("div",{className:"w-9 h-9 rounded-lg bg-blue-500/10 flex items-center justify-center text-blue-500",children:p.jsx(Vr,{size:18})}),p.jsx("span",{className:"text-xs text-zinc-400 font-medium",children:"Clicca per aggiungere un'immagine"}),p.jsx("span",{className:"text-[10px] text-zinc-600",children:"Libreria · Upload · URL"})]}),p.jsx(mg,{open:i,onOpenChange:s,onSelect:h})]})},Pl=[{name:"layers",Icon:to},{name:"github",Icon:Od},{name:"arrow-right",Icon:Cd},{name:"box",Icon:Ad},{name:"terminal",Icon:Bd},{name:"chevron-right",Icon:Nd},{name:"menu",Icon:Pd},{name:"x",Icon:Lt},{name:"sparkles",Icon:Ld},{name:"zap",Icon:Wd}],Er={"ui:text":({label:e,value:t,onChange:r})=>p.jsxs("div",{className:"grid w-full items-center gap-1.5 mb-4",children:[p.jsx(jt,{className:"text-[9px] uppercase font-black tracking-widest text-zinc-500",children:e}),p.jsx(xo,{type:"text",className:"h-7 text-[11px] bg-zinc-900/50 border-zinc-800 focus-visible:ring-blue-600",value:t||"",onChange:n=>r(n.target.value)})]}),"ui:textarea":({label:e,value:t,onChange:r})=>p.jsxs("div",{className:"grid w-full gap-1.5 mb-4",children:[p.jsx(jt,{className:"text-[9px] uppercase font-black tracking-widest text-zinc-500",children:e}),p.jsx(Uf,{className:"min-h-[80px] text-[11px] bg-zinc-900/50 border-zinc-800 focus-visible:ring-blue-600 resize-none",value:t||"",onChange:n=>r(n.target.value)})]}),"ui:select":({label:e,value:t,onChange:r,options:n=[]})=>p.jsxs("div",{className:"grid w-full gap-1.5 mb-4",children:[p.jsx(jt,{className:"text-[9px] uppercase font-black tracking-widest text-zinc-500",children:e}),p.jsxs(ag,{value:t||"",onValueChange:r,children:[p.jsx(kl,{className:"w-full h-7 text-[11px] bg-zinc-900/50 border-zinc-800 focus:ring-blue-600",children:p.jsx(lg,{placeholder:"Select..."})}),p.jsx(Sl,{className:"dark",children:n.map(o=>p.jsx(_l,{value:o,className:"text-[11px]",children:o},o))})]})]}),"ui:checkbox":({label:e,value:t,onChange:r})=>p.jsxs("div",{className:"flex items-center space-x-2 mb-4 p-2 rounded border border-zinc-800/50 bg-zinc-900/20",children:[p.jsx(Wf,{id:e,checked:!!t,onCheckedChange:n=>r(n===!0)}),p.jsx(jt,{htmlFor:e,className:"text-[11px] font-medium cursor-pointer select-none text-zinc-300",children:e})]}),"ui:image-picker":({label:e,value:t,onChange:r})=>{const n=t!=null&&typeof t=="object"&&"url"in t?{url:String(t.url??""),alt:String(t.alt??"")}:{url:typeof t=="string"?t:"",alt:""},o=i=>{r(i)};return p.jsx("div",{className:"mb-4",children:p.jsx(gg,{label:e,value:n,onChange:o})})},"ui:icon-picker":({label:e,value:t,onChange:r})=>{const[n,o]=T.useState(!1),i=Pl.find(s=>s.name===(t||""));return p.jsxs("div",{className:"grid w-full gap-1.5 mb-4",children:[p.jsx(jt,{className:"text-[9px] uppercase font-black tracking-widest text-zinc-500",children:e}),p.jsxs(Al,{open:n,onOpenChange:o,children:[p.jsx(cg,{asChild:!0,children:p.jsx(We,{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?p.jsxs(p.Fragment,{children:[p.jsx(i.Icon,{size:16,className:"text-zinc-400 shrink-0"}),p.jsx("span",{className:"text-[11px] text-zinc-300 capitalize truncate",children:i.name})]}):p.jsxs(p.Fragment,{children:[p.jsx(Vr,{size:16,className:"text-zinc-500 shrink-0"}),p.jsx("span",{className:"text-[11px] text-zinc-500",children:"Choose icon..."})]})})}),p.jsxs(Nl,{className:"sm:max-w-[280px] p-4",children:[p.jsxs(zl,{children:[p.jsx(jl,{className:"text-sm",children:"Choose icon"}),p.jsx(Tl,{className:"text-xs",children:"Click an icon to select it."})]}),p.jsx("div",{className:"grid grid-cols-5 gap-2 py-2",children:Pl.map(({name:s,Icon:a})=>p.jsx("button",{type:"button",onClick:()=>{r(s),o(!1)},className:ge("flex items-center justify-center w-10 h-10 rounded-md border transition-colors",t===s?"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:s,children:p.jsx(a,{size:20})},s))})]})]})]})}},ti=e=>{if(e instanceof Re.z.ZodOptional||e instanceof Re.z.ZodDefault)return ti(e._def.innerType);if(e instanceof Re.z.ZodObject){const t={id:crypto.randomUUID()};for(const r in e.shape)r!=="id"&&(t[r]=ti(e.shape[r]));return t}return e instanceof Re.z.ZodArray?[]:e instanceof Re.z.ZodString?"":e instanceof Re.z.ZodNumber?0:e instanceof Re.z.ZodBoolean?!1:e instanceof Re.z.ZodEnum?e._def.values[0]:null},ri=e=>e instanceof Re.z.ZodOptional||e instanceof Re.z.ZodDefault?ri(e._def.innerType):e,Dn=(e,t)=>e&&!t?"opacity-10":"opacity-100",tr=(e,t)=>e!=null&&t.toLowerCase()===e.toLowerCase(),bg=(e,t)=>{if(!e)return;const r=t.toLowerCase(),n=Object.entries(e).find(([o])=>o.toLowerCase()===r);return n==null?void 0:n[1]},Ar=({schema:e,data:t,onChange:r,keys:n,expandedItemPath:o,expandedItemIdByField:i,focusedFieldKey:s,onSidebarExpandedItemChange:a})=>{const l=e.shape,c=n!=null?Object.keys(l).filter(v=>n.includes(v)):Object.keys(l),d=o==null?void 0:o[0],h=(d==null?void 0:d.itemId)!=null?{[d.fieldKey]:d.itemId}:i,m=(d==null?void 0:d.fieldKey)??s??null,u=m!=null;return p.jsx("div",{className:"space-y-4",children:c.map(v=>{const f=l[v];if(!f)return null;const b=ri(f),g=f.description||"ui:text",y=t[v];if(g==="ui:image-picker"&&b instanceof Re.z.ZodObject){const O=tr(m,v),E=Er["ui:image-picker"]||Er["ui:text"];return p.jsx("div",{className:`transition-opacity duration-200 ${Dn(u,O)}`,...O?{"data-jp-focused-field":v}:{},children:p.jsx(E,{label:v,value:y,onChange:A=>r({...t,[v]:A})})},v)}if(b instanceof Re.z.ZodObject){const O=y||{},E=tr(m,v);return p.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 ${Dn(u,E)}`,...E?{"data-jp-focused-field":v}:{},children:[p.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[p.jsx("div",{className:"w-1 h-3 bg-blue-500 rounded-full"}),p.jsx("h4",{className:"text-[10px] font-black uppercase text-zinc-400 tracking-widest",children:v})]}),p.jsx(Ar,{schema:b,data:O,onChange:A=>r({...t,[v]:A}),expandedItemPath:o&&tr(d==null?void 0:d.fieldKey,v)?o.slice(1):void 0,expandedItemIdByField:h,focusedFieldKey:m})]},v)}if(b instanceof Re.z.ZodArray){const O=Array.isArray(y)?y:[],E=ri(b.element),A=(N,M)=>{if(M<0||M>=O.length)return;const w=[...O],[W]=w.splice(N,1);w.splice(M,0,W),r({...t,[v]:w})},P=tr(m,v),F=tr(d==null?void 0:d.fieldKey,v)?d==null?void 0:d.itemId:void 0,Y=bg(h,v)??F;return p.jsxs("div",{className:`mb-8 transition-opacity duration-200 ${Dn(u,P)}`,...P?{"data-jp-focused-field":v}:{},children:[p.jsxs("div",{className:"flex items-center justify-between mb-3",children:[p.jsxs("label",{className:"text-[10px] font-black uppercase text-zinc-500 tracking-widest",children:[v," (",O.length,")"]}),p.jsxs("button",{type:"button",onClick:()=>{const N=ti(E);r({...t,[v]:[...O,N]})},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:[p.jsx(ro,{size:12})," Add Item"]})]}),p.jsx("div",{className:"space-y-2",children:O.map((N,M)=>{const w=N,W=w.id||`legacy-${M}`,G=(typeof w.title=="string"?w.title:null)||(typeof w.label=="string"?w.label:null)||(typeof w.name=="string"?w.name:null)||(typeof w.content=="string"?w.content:null)||(typeof w.text=="string"?w.text:null)||`${v} #${M+1}`,U=Y,$=String(w.id??W),H=U!=null&&String(U)===$,ee=H&&o&&o.length>1?o.slice(1):void 0,j=u&&P&&U!=null&&!H;return p.jsx(vg,{itemId:$,openItemId:U!=null?String(U):void 0,isFaded:j,index:M,isFirst:M===0,isLast:M===O.length-1,label:G,onExpandedChange:a?D=>a(D?{fieldKey:v,itemId:$}:null):void 0,onRemove:()=>{const D=O.filter((Z,X)=>X!==M);r({...t,[v]:D})},onMoveUp:()=>A(M,M-1),onMoveDown:()=>A(M,M+1),children:E instanceof Re.z.ZodObject?p.jsx(Ar,{schema:E,data:w||{},expandedItemPath:ee,onChange:D=>{const Z=[...O];Z[M]=D,r({...t,[v]:Z})}}):p.jsx("div",{className:"text-[10px] text-red-400",children:"Primitive arrays not supported."})},W)})})]},v)}const k=Er[g]||Er["ui:text"],S=b instanceof Re.z.ZodEnum?b._def.values:void 0,C=tr(m,v);return p.jsx("div",{className:`transition-opacity duration-200 ${Dn(u,C)}`,...C?{"data-jp-focused-field":v}:{},children:p.jsx(k,{label:v,value:y,options:S,onChange:O=>r({...t,[v]:O})})},v)})})},vg=({itemId:e,openItemId:t,isFaded:r=!1,label:n,onExpandedChange:o,onRemove:i,onMoveUp:s,onMoveDown:a,isFirst:l,isLast:c,children:d})=>{const h=t!=null&&String(t)===String(e),[m,u]=T.useState(h);T.useEffect(()=>{h&&!m&&u(!0),!h&&m&&u(!1)},[h,m]);const v=()=>{const b=!m;u(b),o==null||o(b)},f=h&&m;return p.jsxs("div",{className:`border border-zinc-800 rounded-md bg-zinc-900/40 overflow-hidden transition-opacity duration-200 ${r?"opacity-10":"opacity-100"}`,...f?{"data-jp-expanded-item":e}:{},children:[p.jsxs("div",{className:"flex items-center justify-between px-3 py-2 bg-zinc-900/60",children:[p.jsx("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:p.jsxs("button",{type:"button",onClick:v,className:"flex items-center gap-2 text-[10px] font-bold text-zinc-300 uppercase tracking-tight truncate",children:[m?p.jsx(eo,{size:12,className:"shrink-0"}):p.jsx(Hr,{size:12,className:"shrink-0"}),p.jsx("span",{className:"truncate",children:n})]})}),p.jsxs("div",{className:"flex items-center gap-1 shrink-0 ml-2",children:[p.jsx("button",{type:"button",disabled:l,onClick:s,className:"text-zinc-500 hover:text-blue-400 disabled:opacity-20 p-1 transition-colors",children:p.jsx(Ed,{size:12})}),p.jsx("button",{type:"button",disabled:c,onClick:a,className:"text-zinc-500 hover:text-blue-400 disabled:opacity-20 p-1 transition-colors",children:p.jsx(_d,{size:12})}),p.jsx("div",{className:"w-px h-3 bg-zinc-800 mx-1"}),p.jsx("button",{type:"button",onClick:i,className:"text-zinc-600 hover:text-red-500 transition-colors p-1",children:p.jsx(Yr,{size:12})})]})]}),m&&p.jsx("div",{className:"p-4 border-t border-zinc-800 bg-black/20",children:d})]})};function wg(e,t){return _.useReducer((r,n)=>t[r][n]??r,e)}var ft=e=>{const{present:t,children:r}=e,n=xg(t),o=typeof r=="function"?r({present:n.isPresent}):_.Children.only(r),i=Ae(n.ref,yg(o));return typeof r=="function"||n.isPresent?_.cloneElement(o,{ref:i}):null};ft.displayName="Presence";function xg(e){const[t,r]=_.useState(),n=_.useRef(null),o=_.useRef(e),i=_.useRef("none"),s=e?"mounted":"unmounted",[a,l]=wg(s,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return _.useEffect(()=>{const c=Rn(n.current);i.current=a==="mounted"?c:"none"},[a]),Ie(()=>{const c=n.current,d=o.current;if(d!==e){const m=i.current,u=Rn(c);e?l("MOUNT"):u==="none"||(c==null?void 0:c.display)==="none"?l("UNMOUNT"):l(d&&m!==u?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,l]),Ie(()=>{if(t){let c;const d=t.ownerDocument.defaultView??window,h=u=>{const f=Rn(n.current).includes(CSS.escape(u.animationName));if(u.target===t&&f&&(l("ANIMATION_END"),!o.current)){const b=t.style.animationFillMode;t.style.animationFillMode="forwards",c=d.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=b)})}},m=u=>{u.target===t&&(i.current=Rn(n.current))};return t.addEventListener("animationstart",m),t.addEventListener("animationcancel",h),t.addEventListener("animationend",h),()=>{d.clearTimeout(c),t.removeEventListener("animationstart",m),t.removeEventListener("animationcancel",h),t.removeEventListener("animationend",h)}}else l("ANIMATION_END")},[t,l]),{isPresent:["mounted","unmountSuspended"].includes(a),ref:_.useCallback(c=>{n.current=c?getComputedStyle(c):null,r(c)},[])}}function Rn(e){return(e==null?void 0:e.animationName)||"none"}function yg(e){var n,o;let t=(n=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:n.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var[Mn]=$t("Tooltip",[Zt]),Ln=Zt(),Il="TooltipProvider",kg=700,ni="tooltip.open",[Sg,oi]=Mn(Il),Dl=e=>{const{__scopeTooltip:t,delayDuration:r=kg,skipDelayDuration:n=300,disableHoverableContent:o=!1,children:i}=e,s=_.useRef(!0),a=_.useRef(!1),l=_.useRef(0);return _.useEffect(()=>{const c=l.current;return()=>window.clearTimeout(c)},[]),p.jsx(Sg,{scope:t,isOpenDelayedRef:s,delayDuration:r,onOpen:_.useCallback(()=>{window.clearTimeout(l.current),s.current=!1},[]),onClose:_.useCallback(()=>{window.clearTimeout(l.current),l.current=window.setTimeout(()=>s.current=!0,n)},[n]),isPointerInTransitRef:a,onPointerInTransitChange:_.useCallback(c=>{a.current=c},[]),disableHoverableContent:o,children:i})};Dl.displayName=Il;var Nr="Tooltip",[_g,zr]=Mn(Nr),Rl=e=>{const{__scopeTooltip:t,children:r,open:n,defaultOpen:o,onOpenChange:i,disableHoverableContent:s,delayDuration:a}=e,l=oi(Nr,e.__scopeTooltip),c=Ln(t),[d,h]=_.useState(null),m=kr(),u=_.useRef(0),v=s??l.disableHoverableContent,f=a??l.delayDuration,b=_.useRef(!1),[g,y]=Sn({prop:n,defaultProp:o??!1,onChange:E=>{E?(l.onOpen(),document.dispatchEvent(new CustomEvent(ni))):l.onClose(),i==null||i(E)},caller:Nr}),k=_.useMemo(()=>g?b.current?"delayed-open":"instant-open":"closed",[g]),S=_.useCallback(()=>{window.clearTimeout(u.current),u.current=0,b.current=!1,y(!0)},[y]),C=_.useCallback(()=>{window.clearTimeout(u.current),u.current=0,y(!1)},[y]),O=_.useCallback(()=>{window.clearTimeout(u.current),u.current=window.setTimeout(()=>{b.current=!0,y(!0),u.current=0},f)},[f,y]);return _.useEffect(()=>()=>{u.current&&(window.clearTimeout(u.current),u.current=0)},[]),p.jsx(Bo,{...c,children:p.jsx(_g,{scope:t,contentId:m,open:g,stateAttribute:k,trigger:d,onTriggerChange:h,onTriggerEnter:_.useCallback(()=>{l.isOpenDelayedRef.current?O():S()},[l.isOpenDelayedRef,O,S]),onTriggerLeave:_.useCallback(()=>{v?C():(window.clearTimeout(u.current),u.current=0)},[C,v]),onOpen:S,onClose:C,disableHoverableContent:v,children:r})})};Rl.displayName=Nr;var ii="TooltipTrigger",Ml=_.forwardRef((e,t)=>{const{__scopeTooltip:r,...n}=e,o=zr(ii,r),i=oi(ii,r),s=Ln(r),a=_.useRef(null),l=Ae(t,a,o.onTriggerChange),c=_.useRef(!1),d=_.useRef(!1),h=_.useCallback(()=>c.current=!1,[]);return _.useEffect(()=>()=>document.removeEventListener("pointerup",h),[h]),p.jsx(yn,{asChild:!0,...s,children:p.jsx(Ee.button,{"aria-describedby":o.open?o.contentId:void 0,"data-state":o.stateAttribute,...n,ref:l,onPointerMove:ve(e.onPointerMove,m=>{m.pointerType!=="touch"&&!d.current&&!i.isPointerInTransitRef.current&&(o.onTriggerEnter(),d.current=!0)}),onPointerLeave:ve(e.onPointerLeave,()=>{o.onTriggerLeave(),d.current=!1}),onPointerDown:ve(e.onPointerDown,()=>{o.open&&o.onClose(),c.current=!0,document.addEventListener("pointerup",h,{once:!0})}),onFocus:ve(e.onFocus,()=>{c.current||o.onOpen()}),onBlur:ve(e.onBlur,o.onClose),onClick:ve(e.onClick,o.onClose)})})});Ml.displayName=ii;var si="TooltipPortal",[Cg,Eg]=Mn(si,{forceMount:void 0}),Ll=e=>{const{__scopeTooltip:t,forceMount:r,children:n,container:o}=e,i=zr(si,t);return p.jsx(Cg,{scope:t,forceMount:r,children:p.jsx(ft,{present:r||i.open,children:p.jsx(kn,{asChild:!0,container:o,children:n})})})};Ll.displayName=si;var rr="TooltipContent",Fl=_.forwardRef((e,t)=>{const r=Eg(rr,e.__scopeTooltip),{forceMount:n=r.forceMount,side:o="top",...i}=e,s=zr(rr,e.__scopeTooltip);return p.jsx(ft,{present:n||s.open,children:s.disableHoverableContent?p.jsx(Bl,{side:o,...i,ref:t}):p.jsx(Ag,{side:o,...i,ref:t})})}),Ag=_.forwardRef((e,t)=>{const r=zr(rr,e.__scopeTooltip),n=oi(rr,e.__scopeTooltip),o=_.useRef(null),i=Ae(t,o),[s,a]=_.useState(null),{trigger:l,onClose:c}=r,d=o.current,{onPointerInTransitChange:h}=n,m=_.useCallback(()=>{a(null),h(!1)},[h]),u=_.useCallback((v,f)=>{const b=v.currentTarget,g={x:v.clientX,y:v.clientY},y=Og(g,b.getBoundingClientRect()),k=Pg(g,y),S=Ig(f.getBoundingClientRect()),C=Rg([...k,...S]);a(C),h(!0)},[h]);return _.useEffect(()=>()=>m(),[m]),_.useEffect(()=>{if(l&&d){const v=b=>u(b,d),f=b=>u(b,l);return l.addEventListener("pointerleave",v),d.addEventListener("pointerleave",f),()=>{l.removeEventListener("pointerleave",v),d.removeEventListener("pointerleave",f)}}},[l,d,u,m]),_.useEffect(()=>{if(s){const v=f=>{const b=f.target,g={x:f.clientX,y:f.clientY},y=(l==null?void 0:l.contains(b))||(d==null?void 0:d.contains(b)),k=!Dg(g,s);y?m():k&&(m(),c())};return document.addEventListener("pointermove",v),()=>document.removeEventListener("pointermove",v)}},[l,d,s,c,m]),p.jsx(Bl,{...e,ref:i})}),[Ng,zg]=Mn(Nr,{isInside:!1}),jg=Yf("TooltipContent"),Bl=_.forwardRef((e,t)=>{const{__scopeTooltip:r,children:n,"aria-label":o,onEscapeKeyDown:i,onPointerDownOutside:s,...a}=e,l=zr(rr,r),c=Ln(r),{onClose:d}=l;return _.useEffect(()=>(document.addEventListener(ni,d),()=>document.removeEventListener(ni,d)),[d]),_.useEffect(()=>{if(l.trigger){const h=m=>{const u=m.target;u!=null&&u.contains(l.trigger)&&d()};return window.addEventListener("scroll",h,{capture:!0}),()=>window.removeEventListener("scroll",h,{capture:!0})}},[l.trigger,d]),p.jsx(dn,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:i,onPointerDownOutside:s,onFocusOutside:h=>h.preventDefault(),onDismiss:d,children:p.jsxs(Uo,{"data-state":l.stateAttribute,...c,...a,ref:t,style:{...a.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[p.jsx(jg,{children:n}),p.jsx(Ng,{scope:r,isInside:!0,children:p.jsx($p,{id:l.contentId,role:"tooltip",children:o||n})})]})})});Fl.displayName=rr;var Ul="TooltipArrow",Tg=_.forwardRef((e,t)=>{const{__scopeTooltip:r,...n}=e,o=Ln(r);return zg(Ul,r).isInside?null:p.jsx(Wo,{...o,...n,ref:t})});Tg.displayName=Ul;function Og(e,t){const r=Math.abs(t.top-e.y),n=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),i=Math.abs(t.left-e.x);switch(Math.min(r,n,o,i)){case i:return"left";case o:return"right";case r:return"top";case n:return"bottom";default:throw new Error("unreachable")}}function Pg(e,t,r=5){const n=[];switch(t){case"top":n.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":n.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":n.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":n.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r});break}return n}function Ig(e){const{top:t,right:r,bottom:n,left:o}=e;return[{x:o,y:t},{x:r,y:t},{x:r,y:n},{x:o,y:n}]}function Dg(e,t){const{x:r,y:n}=e;let o=!1;for(let i=0,s=t.length-1;i<t.length;s=i++){const a=t[i],l=t[s],c=a.x,d=a.y,h=l.x,m=l.y;d>n!=m>n&&r<(h-c)*(n-d)/(m-d)+c&&(o=!o)}return o}function Rg(e){const t=e.slice();return t.sort((r,n)=>r.x<n.x?-1:r.x>n.x?1:r.y<n.y?-1:r.y>n.y?1:0),Mg(t)}function Mg(e){if(e.length<=1)return e.slice();const t=[];for(let n=0;n<e.length;n++){const o=e[n];for(;t.length>=2;){const i=t[t.length-1],s=t[t.length-2];if((i.x-s.x)*(o.y-s.y)>=(i.y-s.y)*(o.x-s.x))t.pop();else break}t.push(o)}t.pop();const r=[];for(let n=e.length-1;n>=0;n--){const o=e[n];for(;r.length>=2;){const i=r[r.length-1],s=r[r.length-2];if((i.x-s.x)*(o.y-s.y)>=(i.y-s.y)*(o.x-s.x))r.pop();else break}r.push(o)}return r.pop(),t.length===1&&r.length===1&&t[0].x===r[0].x&&t[0].y===r[0].y?t:t.concat(r)}var Lg=Dl,Fg=Rl,Bg=Ml,Ug=Ll,Wl=Fl;const Wg=Lg,jr=Fg,Tr=Bg,nr=_.forwardRef(({className:e,sideOffset:t=4,...r},n)=>p.jsx(Ug,{children:p.jsx(Wl,{ref:n,sideOffset:t,className:ge("z-50 rounded-md bg-zinc-800 px-2.5 py-1.5 text-[11px] text-zinc-200 shadow-md","animate-in fade-in-0 zoom-in-95",e),...r})}));nr.displayName=Wl.displayName;var Fn="Popover",[$l]=$t(Fn,[Zt]),Or=Zt(),[$g,_t]=$l(Fn),Hl=e=>{const{__scopePopover:t,children:r,open:n,defaultOpen:o,onOpenChange:i,modal:s=!1}=e,a=Or(t),l=_.useRef(null),[c,d]=_.useState(!1),[h,m]=Sn({prop:n,defaultProp:o??!1,onChange:i,caller:Fn});return p.jsx(Bo,{...a,children:p.jsx($g,{scope:t,contentId:kr(),triggerRef:l,open:h,onOpenChange:m,onOpenToggle:_.useCallback(()=>m(u=>!u),[m]),hasCustomAnchor:c,onCustomAnchorAdd:_.useCallback(()=>d(!0),[]),onCustomAnchorRemove:_.useCallback(()=>d(!1),[]),modal:s,children:r})})};Hl.displayName=Fn;var Vl="PopoverAnchor",Hg=_.forwardRef((e,t)=>{const{__scopePopover:r,...n}=e,o=_t(Vl,r),i=Or(r),{onCustomAnchorAdd:s,onCustomAnchorRemove:a}=o;return _.useEffect(()=>(s(),()=>a()),[s,a]),p.jsx(yn,{...i,...n,ref:t})});Hg.displayName=Vl;var Yl="PopoverTrigger",Kl=_.forwardRef((e,t)=>{const{__scopePopover:r,...n}=e,o=_t(Yl,r),i=Or(r),s=Ae(t,o.triggerRef),a=p.jsx(Ee.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":Jl(o.open),...n,ref:s,onClick:ve(e.onClick,o.onOpenToggle)});return o.hasCustomAnchor?a:p.jsx(yn,{asChild:!0,...i,children:a})});Kl.displayName=Yl;var ai="PopoverPortal",[Vg,Yg]=$l(ai,{forceMount:void 0}),Gl=e=>{const{__scopePopover:t,forceMount:r,children:n,container:o}=e,i=_t(ai,t);return p.jsx(Vg,{scope:t,forceMount:r,children:p.jsx(ft,{present:r||i.open,children:p.jsx(kn,{asChild:!0,container:o,children:n})})})};Gl.displayName=ai;var or="PopoverContent",Zl=_.forwardRef((e,t)=>{const r=Yg(or,e.__scopePopover),{forceMount:n=r.forceMount,...o}=e,i=_t(or,e.__scopePopover);return p.jsx(ft,{present:n||i.open,children:i.modal?p.jsx(Gg,{...o,ref:t}):p.jsx(Zg,{...o,ref:t})})});Zl.displayName=or;var Kg=Ht("PopoverContent.RemoveScroll"),Gg=_.forwardRef((e,t)=>{const r=_t(or,e.__scopePopover),n=_.useRef(null),o=Ae(t,n),i=_.useRef(!1);return _.useEffect(()=>{const s=n.current;if(s)return Ra(s)},[]),p.jsx(Go,{as:Kg,allowPinchZoom:!0,children:p.jsx(Xl,{...e,ref:o,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:ve(e.onCloseAutoFocus,s=>{var a;s.preventDefault(),i.current||(a=r.triggerRef.current)==null||a.focus()}),onPointerDownOutside:ve(e.onPointerDownOutside,s=>{const a=s.detail.originalEvent,l=a.button===0&&a.ctrlKey===!0,c=a.button===2||l;i.current=c},{checkForDefaultPrevented:!1}),onFocusOutside:ve(e.onFocusOutside,s=>s.preventDefault(),{checkForDefaultPrevented:!1})})})}),Zg=_.forwardRef((e,t)=>{const r=_t(or,e.__scopePopover),n=_.useRef(!1),o=_.useRef(!1);return p.jsx(Xl,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:i=>{var s,a;(s=e.onCloseAutoFocus)==null||s.call(e,i),i.defaultPrevented||(n.current||(a=r.triggerRef.current)==null||a.focus(),i.preventDefault()),n.current=!1,o.current=!1},onInteractOutside:i=>{var l,c;(l=e.onInteractOutside)==null||l.call(e,i),i.defaultPrevented||(n.current=!0,i.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const s=i.target;((c=r.triggerRef.current)==null?void 0:c.contains(s))&&i.preventDefault(),i.detail.originalEvent.type==="focusin"&&o.current&&i.preventDefault()}})}),Xl=_.forwardRef((e,t)=>{const{__scopePopover:r,trapFocus:n,onOpenAutoFocus:o,onCloseAutoFocus:i,disableOutsidePointerEvents:s,onEscapeKeyDown:a,onPointerDownOutside:l,onFocusOutside:c,onInteractOutside:d,...h}=e,m=_t(or,r),u=Or(r);return Gs(),p.jsx(Eo,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:o,onUnmountAutoFocus:i,children:p.jsx(dn,{asChild:!0,disableOutsidePointerEvents:s,onInteractOutside:d,onEscapeKeyDown:a,onPointerDownOutside:l,onFocusOutside:c,onDismiss:()=>m.onOpenChange(!1),children:p.jsx(Uo,{"data-state":Jl(m.open),role:"dialog",id:m.contentId,...u,...h,ref:t,style:{...h.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),ql="PopoverClose",Xg=_.forwardRef((e,t)=>{const{__scopePopover:r,...n}=e,o=_t(ql,r);return p.jsx(Ee.button,{type:"button",...n,ref:t,onClick:ve(e.onClick,()=>o.onOpenChange(!1))})});Xg.displayName=ql;var qg="PopoverArrow",Jg=_.forwardRef((e,t)=>{const{__scopePopover:r,...n}=e,o=Or(r);return p.jsx(Wo,{...o,...n,ref:t})});Jg.displayName=qg;function Jl(e){return e?"open":"closed"}var Qg=Hl,e0=Kl,t0=Gl,Ql=Zl;const r0=Qg,n0=e0,ec=_.forwardRef(({className:e,align:t="start",sideOffset:r=6,...n},o)=>p.jsx(t0,{children:p.jsx(Ql,{ref:o,align:t,sideOffset:r,className:ge("z-50 w-[var(--radix-popover-trigger-width)] rounded-lg border border-zinc-700/80 bg-zinc-950 p-1 text-white shadow-xl shadow-black/30","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95","data-[side=bottom]:slide-in-from-top-2",e),...n})}));ec.displayName=Ql.displayName;const tc=e=>e?e.charAt(0).toUpperCase()+e.slice(1):"Select page",o0=({pageSlugs:e,currentSlug:t,onPageChange:r,sectionCount:n,onNewPage:o,className:i,currentPageLabel:s})=>{const[a,l]=T.useState(!1),c=s??tc(t),d=h=>{r(h),l(!1)};return p.jsx("div",{className:ge("mx-3 mt-2 mb-2",i),children:p.jsxs(r0,{open:a,onOpenChange:l,children:[p.jsx(n0,{asChild:!0,children:p.jsxs("button",{type:"button","aria-haspopup":"listbox","aria-label":`Select page, current: ${c}`,className:ge("flex items-center gap-2 w-full pl-3 pr-4 py-2 rounded-lg border text-left transition-all duration-150 cursor-pointer","bg-transparent border-zinc-800 text-zinc-400 hover:text-zinc-200 hover:bg-zinc-800/50 hover:border-zinc-700","data-[state=open]:bg-zinc-950 data-[state=open]:border-zinc-800 data-[state=open]:text-zinc-100","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-zinc-950"),children:[p.jsx(Td,{size:14,className:"shrink-0 text-zinc-500","aria-hidden":!0}),p.jsx("span",{className:"text-xs font-medium flex-1 truncate",children:c}),p.jsx(Hr,{size:13,className:"shrink-0 text-zinc-500","aria-hidden":!0})]})}),p.jsxs(ec,{align:"start",sideOffset:4,className:"min-w-[var(--radix-popover-trigger-width)] bg-zinc-950 border-zinc-800 p-1",role:"listbox","aria-label":"Page list",children:[e.map(h=>{const m=h===t,u=tc(h);return p.jsxs("button",{type:"button",role:"option","aria-selected":m,onClick:()=>d(h),className:ge("flex items-center justify-between w-full px-2.5 py-2 rounded-md text-xs transition-colors cursor-pointer",m?"bg-primary/10 text-primary font-semibold":"text-zinc-400 hover:bg-zinc-800 hover:text-zinc-200"),children:[p.jsx("span",{children:u}),n!=null&&p.jsxs("span",{className:"text-[10px] text-zinc-600 tabular-nums","aria-hidden":!0,children:[n,"s"]})]},h)}),o!=null&&p.jsx("div",{className:"border-t border-zinc-800 mt-1 pt-1",children:p.jsxs("button",{type:"button",onClick:()=>{o(),l(!1)},className:"flex items-center gap-1.5 w-full px-2.5 py-2 rounded-md text-[11px] text-zinc-600 hover:text-zinc-300 hover:bg-zinc-800 transition-colors cursor-pointer","aria-label":"New page",children:[p.jsx(ro,{size:12,"aria-hidden":!0}),p.jsx("span",{children:"New page"})]})})]})]})})};function i0(e,t){return _.useReducer((r,n)=>t[r][n]??r,e)}var li="ScrollArea",[rc]=$t(li),[s0,Ye]=rc(li),nc=_.forwardRef((e,t)=>{const{__scopeScrollArea:r,type:n="hover",dir:o,scrollHideDelay:i=600,...s}=e,[a,l]=_.useState(null),[c,d]=_.useState(null),[h,m]=_.useState(null),[u,v]=_.useState(null),[f,b]=_.useState(null),[g,y]=_.useState(0),[k,S]=_.useState(0),[C,O]=_.useState(!1),[E,A]=_.useState(!1),P=Ae(t,Y=>l(Y)),F=$s(o);return p.jsx(s0,{scope:r,type:n,dir:F,scrollHideDelay:i,scrollArea:a,viewport:c,onViewportChange:d,content:h,onContentChange:m,scrollbarX:u,onScrollbarXChange:v,scrollbarXEnabled:C,onScrollbarXEnabledChange:O,scrollbarY:f,onScrollbarYChange:b,scrollbarYEnabled:E,onScrollbarYEnabledChange:A,onCornerWidthChange:y,onCornerHeightChange:S,children:p.jsx(Ee.div,{dir:F,...s,ref:P,style:{position:"relative","--radix-scroll-area-corner-width":g+"px","--radix-scroll-area-corner-height":k+"px",...e.style}})})});nc.displayName=li;var oc="ScrollAreaViewport",ic=_.forwardRef((e,t)=>{const{__scopeScrollArea:r,children:n,nonce:o,...i}=e,s=Ye(oc,r),a=_.useRef(null),l=Ae(t,a,s.onViewportChange);return p.jsxs(p.Fragment,{children:[p.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:o}),p.jsx(Ee.div,{"data-radix-scroll-area-viewport":"",...i,ref:l,style:{overflowX:s.scrollbarXEnabled?"scroll":"hidden",overflowY:s.scrollbarYEnabled?"scroll":"hidden",...e.style},children:p.jsx("div",{ref:s.onContentChange,style:{minWidth:"100%",display:"table"},children:n})})]})});ic.displayName=oc;var st="ScrollAreaScrollbar",sc=_.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=Ye(st,e.__scopeScrollArea),{onScrollbarXEnabledChange:i,onScrollbarYEnabledChange:s}=o,a=e.orientation==="horizontal";return _.useEffect(()=>(a?i(!0):s(!0),()=>{a?i(!1):s(!1)}),[a,i,s]),o.type==="hover"?p.jsx(a0,{...n,ref:t,forceMount:r}):o.type==="scroll"?p.jsx(l0,{...n,ref:t,forceMount:r}):o.type==="auto"?p.jsx(ac,{...n,ref:t,forceMount:r}):o.type==="always"?p.jsx(ci,{...n,ref:t}):null});sc.displayName=st;var a0=_.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=Ye(st,e.__scopeScrollArea),[i,s]=_.useState(!1);return _.useEffect(()=>{const a=o.scrollArea;let l=0;if(a){const c=()=>{window.clearTimeout(l),s(!0)},d=()=>{l=window.setTimeout(()=>s(!1),o.scrollHideDelay)};return a.addEventListener("pointerenter",c),a.addEventListener("pointerleave",d),()=>{window.clearTimeout(l),a.removeEventListener("pointerenter",c),a.removeEventListener("pointerleave",d)}}},[o.scrollArea,o.scrollHideDelay]),p.jsx(ft,{present:r||i,children:p.jsx(ac,{"data-state":i?"visible":"hidden",...n,ref:t})})}),l0=_.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=Ye(st,e.__scopeScrollArea),i=e.orientation==="horizontal",s=$n(()=>l("SCROLL_END"),100),[a,l]=i0("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return _.useEffect(()=>{if(a==="idle"){const c=window.setTimeout(()=>l("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(c)}},[a,o.scrollHideDelay,l]),_.useEffect(()=>{const c=o.viewport,d=i?"scrollLeft":"scrollTop";if(c){let h=c[d];const m=()=>{const u=c[d];h!==u&&(l("SCROLL"),s()),h=u};return c.addEventListener("scroll",m),()=>c.removeEventListener("scroll",m)}},[o.viewport,i,l,s]),p.jsx(ft,{present:r||a!=="hidden",children:p.jsx(ci,{"data-state":a==="hidden"?"hidden":"visible",...n,ref:t,onPointerEnter:ve(e.onPointerEnter,()=>l("POINTER_ENTER")),onPointerLeave:ve(e.onPointerLeave,()=>l("POINTER_LEAVE"))})})}),ac=_.forwardRef((e,t)=>{const r=Ye(st,e.__scopeScrollArea),{forceMount:n,...o}=e,[i,s]=_.useState(!1),a=e.orientation==="horizontal",l=$n(()=>{if(r.viewport){const c=r.viewport.offsetWidth<r.viewport.scrollWidth,d=r.viewport.offsetHeight<r.viewport.scrollHeight;s(a?c:d)}},10);return ir(r.viewport,l),ir(r.content,l),p.jsx(ft,{present:n||i,children:p.jsx(ci,{"data-state":i?"visible":"hidden",...o,ref:t})})}),ci=_.forwardRef((e,t)=>{const{orientation:r="vertical",...n}=e,o=Ye(st,e.__scopeScrollArea),i=_.useRef(null),s=_.useRef(0),[a,l]=_.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),c=fc(a.viewport,a.content),d={...n,sizes:a,onSizesChange:l,hasThumb:c>0&&c<1,onThumbChange:m=>i.current=m,onThumbPointerUp:()=>s.current=0,onThumbPointerDown:m=>s.current=m};function h(m,u){return p0(m,s.current,a,u)}return r==="horizontal"?p.jsx(c0,{...d,ref:t,onThumbPositionChange:()=>{if(o.viewport&&i.current){const m=o.viewport.scrollLeft,u=hc(m,a,o.dir);i.current.style.transform=`translate3d(${u}px, 0, 0)`}},onWheelScroll:m=>{o.viewport&&(o.viewport.scrollLeft=m)},onDragScroll:m=>{o.viewport&&(o.viewport.scrollLeft=h(m,o.dir))}}):r==="vertical"?p.jsx(d0,{...d,ref:t,onThumbPositionChange:()=>{if(o.viewport&&i.current){const m=o.viewport.scrollTop,u=hc(m,a);i.current.style.transform=`translate3d(0, ${u}px, 0)`}},onWheelScroll:m=>{o.viewport&&(o.viewport.scrollTop=m)},onDragScroll:m=>{o.viewport&&(o.viewport.scrollTop=h(m))}}):null}),c0=_.forwardRef((e,t)=>{const{sizes:r,onSizesChange:n,...o}=e,i=Ye(st,e.__scopeScrollArea),[s,a]=_.useState(),l=_.useRef(null),c=Ae(t,l,i.onScrollbarXChange);return _.useEffect(()=>{l.current&&a(getComputedStyle(l.current))},[l]),p.jsx(cc,{"data-orientation":"horizontal",...o,ref:c,sizes:r,style:{bottom:0,left:i.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:i.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":Wn(r)+"px",...e.style},onThumbPointerDown:d=>e.onThumbPointerDown(d.x),onDragScroll:d=>e.onDragScroll(d.x),onWheelScroll:(d,h)=>{if(i.viewport){const m=i.viewport.scrollLeft+d.deltaX;e.onWheelScroll(m),mc(m,h)&&d.preventDefault()}},onResize:()=>{l.current&&i.viewport&&s&&n({content:i.viewport.scrollWidth,viewport:i.viewport.offsetWidth,scrollbar:{size:l.current.clientWidth,paddingStart:Un(s.paddingLeft),paddingEnd:Un(s.paddingRight)}})}})}),d0=_.forwardRef((e,t)=>{const{sizes:r,onSizesChange:n,...o}=e,i=Ye(st,e.__scopeScrollArea),[s,a]=_.useState(),l=_.useRef(null),c=Ae(t,l,i.onScrollbarYChange);return _.useEffect(()=>{l.current&&a(getComputedStyle(l.current))},[l]),p.jsx(cc,{"data-orientation":"vertical",...o,ref:c,sizes:r,style:{top:0,right:i.dir==="ltr"?0:void 0,left:i.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":Wn(r)+"px",...e.style},onThumbPointerDown:d=>e.onThumbPointerDown(d.y),onDragScroll:d=>e.onDragScroll(d.y),onWheelScroll:(d,h)=>{if(i.viewport){const m=i.viewport.scrollTop+d.deltaY;e.onWheelScroll(m),mc(m,h)&&d.preventDefault()}},onResize:()=>{l.current&&i.viewport&&s&&n({content:i.viewport.scrollHeight,viewport:i.viewport.offsetHeight,scrollbar:{size:l.current.clientHeight,paddingStart:Un(s.paddingTop),paddingEnd:Un(s.paddingBottom)}})}})}),[u0,lc]=rc(st),cc=_.forwardRef((e,t)=>{const{__scopeScrollArea:r,sizes:n,hasThumb:o,onThumbChange:i,onThumbPointerUp:s,onThumbPointerDown:a,onThumbPositionChange:l,onDragScroll:c,onWheelScroll:d,onResize:h,...m}=e,u=Ye(st,r),[v,f]=_.useState(null),b=Ae(t,P=>f(P)),g=_.useRef(null),y=_.useRef(""),k=u.viewport,S=n.content-n.viewport,C=Le(d),O=Le(l),E=$n(h,10);function A(P){if(g.current){const F=P.clientX-g.current.left,Y=P.clientY-g.current.top;c({x:F,y:Y})}}return _.useEffect(()=>{const P=F=>{const Y=F.target;(v==null?void 0:v.contains(Y))&&C(F,S)};return document.addEventListener("wheel",P,{passive:!1}),()=>document.removeEventListener("wheel",P,{passive:!1})},[k,v,S,C]),_.useEffect(O,[n,O]),ir(v,E),ir(u.content,E),p.jsx(u0,{scope:r,scrollbar:v,hasThumb:o,onThumbChange:Le(i),onThumbPointerUp:Le(s),onThumbPositionChange:O,onThumbPointerDown:Le(a),children:p.jsx(Ee.div,{...m,ref:b,style:{position:"absolute",...m.style},onPointerDown:ve(e.onPointerDown,P=>{P.button===0&&(P.target.setPointerCapture(P.pointerId),g.current=v.getBoundingClientRect(),y.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",u.viewport&&(u.viewport.style.scrollBehavior="auto"),A(P))}),onPointerMove:ve(e.onPointerMove,A),onPointerUp:ve(e.onPointerUp,P=>{const F=P.target;F.hasPointerCapture(P.pointerId)&&F.releasePointerCapture(P.pointerId),document.body.style.webkitUserSelect=y.current,u.viewport&&(u.viewport.style.scrollBehavior=""),g.current=null})})})}),Bn="ScrollAreaThumb",dc=_.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=lc(Bn,e.__scopeScrollArea);return p.jsx(ft,{present:r||o.hasThumb,children:p.jsx(f0,{ref:t,...n})})}),f0=_.forwardRef((e,t)=>{const{__scopeScrollArea:r,style:n,...o}=e,i=Ye(Bn,r),s=lc(Bn,r),{onThumbPositionChange:a}=s,l=Ae(t,h=>s.onThumbChange(h)),c=_.useRef(void 0),d=$n(()=>{c.current&&(c.current(),c.current=void 0)},100);return _.useEffect(()=>{const h=i.viewport;if(h){const m=()=>{if(d(),!c.current){const u=m0(h,a);c.current=u,a()}};return a(),h.addEventListener("scroll",m),()=>h.removeEventListener("scroll",m)}},[i.viewport,d,a]),p.jsx(Ee.div,{"data-state":s.hasThumb?"visible":"hidden",...o,ref:l,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...n},onPointerDownCapture:ve(e.onPointerDownCapture,h=>{const u=h.target.getBoundingClientRect(),v=h.clientX-u.left,f=h.clientY-u.top;s.onThumbPointerDown({x:v,y:f})}),onPointerUp:ve(e.onPointerUp,s.onThumbPointerUp)})});dc.displayName=Bn;var di="ScrollAreaCorner",uc=_.forwardRef((e,t)=>{const r=Ye(di,e.__scopeScrollArea),n=!!(r.scrollbarX&&r.scrollbarY);return r.type!=="scroll"&&n?p.jsx(h0,{...e,ref:t}):null});uc.displayName=di;var h0=_.forwardRef((e,t)=>{const{__scopeScrollArea:r,...n}=e,o=Ye(di,r),[i,s]=_.useState(0),[a,l]=_.useState(0),c=!!(i&&a);return ir(o.scrollbarX,()=>{var h;const d=((h=o.scrollbarX)==null?void 0:h.offsetHeight)||0;o.onCornerHeightChange(d),l(d)}),ir(o.scrollbarY,()=>{var h;const d=((h=o.scrollbarY)==null?void 0:h.offsetWidth)||0;o.onCornerWidthChange(d),s(d)}),c?p.jsx(Ee.div,{...n,ref:t,style:{width:i,height:a,position:"absolute",right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null});function Un(e){return e?parseInt(e,10):0}function fc(e,t){const r=e/t;return isNaN(r)?0:r}function Wn(e){const t=fc(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,n=(e.scrollbar.size-r)*t;return Math.max(n,18)}function p0(e,t,r,n="ltr"){const o=Wn(r),i=o/2,s=t||i,a=o-s,l=r.scrollbar.paddingStart+s,c=r.scrollbar.size-r.scrollbar.paddingEnd-a,d=r.content-r.viewport,h=n==="ltr"?[0,d]:[d*-1,0];return pc([l,c],h)(e)}function hc(e,t,r="ltr"){const n=Wn(t),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,i=t.scrollbar.size-o,s=t.content-t.viewport,a=i-n,l=r==="ltr"?[0,s]:[s*-1,0],c=yo(e,l);return pc([0,s],[0,a])(c)}function pc(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(r-e[0])}}function mc(e,t){return e>0&&e<t}var m0=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},n=0;return(function o(){const i={left:e.scrollLeft,top:e.scrollTop},s=r.left!==i.left,a=r.top!==i.top;(s||a)&&t(),r=i,n=window.requestAnimationFrame(o)})(),()=>window.cancelAnimationFrame(n)};function $n(e,t){const r=Le(e),n=_.useRef(0);return _.useEffect(()=>()=>window.clearTimeout(n.current),[]),_.useCallback(()=>{window.clearTimeout(n.current),n.current=window.setTimeout(r,t)},[r,t])}function ir(e,t){const r=Le(t);Ie(()=>{let n=0;if(e){const o=new ResizeObserver(()=>{cancelAnimationFrame(n),n=window.requestAnimationFrame(r)});return o.observe(e),()=>{window.cancelAnimationFrame(n),o.unobserve(e)}}},[e,r])}var gc=nc,g0=ic,b0=sc,v0=dc,w0=uc;const bc=_.forwardRef(({className:e,children:t,...r},n)=>p.jsxs(gc,{ref:n,className:ge("relative overflow-hidden",e),...r,children:[p.jsx(g0,{className:"h-full w-full rounded-[inherit]",children:t}),p.jsx(b0,{orientation:"vertical",className:"flex touch-none select-none transition-colors h-full w-1.5 border-l border-l-transparent p-px",children:p.jsx(v0,{className:"relative flex-1 rounded-full bg-zinc-700 hover:bg-zinc-600"})}),p.jsx(w0,{})]}));bc.displayName=gc.displayName;const vc=new Set(["anchorId","paddingTop","paddingBottom","theme","container"]),x0={activationConstraint:{distance:8}},y0={activationConstraint:{delay:200,tolerance:5}};function ui({layer:e,opts:t,dragHandleProps:r}){const{isSelected:n,isActive:o,isDragging:i,canDelete:s,onSelect:a,onOpenSettings:l,onDelete:c}=t,d=!!r;return p.jsxs("div",{className:ge("group flex items-center gap-2 pl-1 pr-2 py-2.5 rounded-lg text-left transition-all duration-200 cursor-pointer border-l-2",n?"bg-primary/[0.08] border-primary":o?"bg-zinc-800/30 border-emerald-500/60":"border-transparent hover:bg-zinc-800/40",i&&"opacity-50 shadow-lg",d?"cursor-grab active:cursor-grabbing":"cursor-default"),children:[d?p.jsx("span",{className:"shrink-0 w-5 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity duration-150 cursor-grab touch-none","aria-label":"Trascina per riordinare",...r,children:p.jsx(Gi,{size:12,className:"text-zinc-600"})}):p.jsx("span",{className:"shrink-0 w-5 flex items-center justify-center opacity-0 group-hover:opacity-100 pointer-events-none",children:p.jsx(Gi,{size:12,className:"text-zinc-600/50"})}),p.jsxs("button",{type:"button",onClick:a,className:"flex-1 min-w-0 text-left",children:[p.jsxs("div",{className:"flex items-center gap-1.5",children:[p.jsx("span",{className:ge("text-xs font-bold uppercase tracking-[0.06em] truncate",n?"text-primary":"text-zinc-500"),children:e.type}),o&&p.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-emerald-500 shrink-0","aria-hidden":!0})]}),p.jsx("span",{className:"text-[11px] text-zinc-600 block truncate leading-snug mt-0.5",children:e.title??`${e.type} section`})]}),p.jsxs("div",{className:"flex items-center gap-0.5 opacity-0 group-hover:opacity-100 transition-opacity duration-150",children:[p.jsxs(jr,{children:[p.jsx(Tr,{asChild:!0,children:p.jsx(We,{variant:"ghost",size:"icon-xs",className:"text-zinc-600 hover:text-zinc-300",onClick:h=>{h.stopPropagation(),l(h)},children:p.jsx(Md,{size:12})})}),p.jsx(nr,{children:"Settings"})]}),s&&p.jsxs(jr,{children:[p.jsx(Tr,{asChild:!0,children:p.jsx(We,{variant:"ghost",size:"icon-xs",className:"text-zinc-600 hover:text-destructive",onClick:h=>{h.stopPropagation(),c()},children:p.jsx(Yr,{size:12})})}),p.jsx(nr,{children:"Delete section"})]})]})]})}function k0({layer:e,opts:t}){const{attributes:r,listeners:n,setNodeRef:o,transform:i,transition:s,isDragging:a}=Rf({id:e.id,disabled:!t.canReorder}),l={transform:bt.Transform.toString(i),transition:s};return p.jsx("div",{ref:o,style:l,className:ge(a&&"z-10"),children:p.jsx(ui,{layer:e,opts:{...t,isDragging:a},dragHandleProps:t.canReorder?{...r,...n,"aria-roledescription":"elemento trascinabile"}:void 0})})}const wc=({selectedSection:e,pageData:t,allSectionsData:r=[],onUpdate:n,onUpdateSection:o,onClose:i,expandedItemPath:s=null,onReorderSection:a,allLayers:l=[],activeSectionId:c,onRequestScrollToSection:d,onDeleteSection:h,onAddSection:m,hasChanges:u=!1,onExportHTML:v,onSaveToFile:f,saveSuccessFeedback:b=!1,onResetToFile:g,showResetToFile:y=!1,pageSlugs:k=[],currentSlug:S="home",onPageChange:C})=>{const{schemas:O}=dr(),[E,A]=T.useState(!0),[P,F]=T.useState(null),[Y,N]=T.useState(null),[M,w]=T.useState(null),[W,G]=T.useState(null),U=T.useRef(null),$=T.useRef(null),H=au(ao(mo,x0),ao(xs,y0),ao(ho,{coordinateGetter:Ff})),ee=T.useDeferredValue(e),j=e!=null&&(ee==null?void 0:ee.id)!==e.id,D=s&&s.length>0?s:M?[M]:null,Z=D!=null&&D.length?{fieldKey:D[D.length-1].fieldKey,itemId:D[D.length-1].itemId}:null,X=T.useRef(s);T.useEffect(()=>{X.current!=null&&s==null&&w(null),X.current=s},[s]),T.useEffect(()=>{(e==null?void 0:e.id)!=null&&A(!1)},[e==null?void 0:e.id]);const ne=()=>{const B=requestAnimationFrame(()=>{requestAnimationFrame(()=>{const R=U.current;R&&R.scrollTo({top:0,behavior:"smooth"})})});return()=>cancelAnimationFrame(B)},pe=T.useRef(E);T.useEffect(()=>{if(E&&!pe.current){const B=ne();return pe.current=E,B}pe.current=E},[E]),T.useEffect(()=>{if(!Z)return;const B=U.current;if(!B)return;const R=requestAnimationFrame(()=>{const J=B.querySelector("[data-jp-expanded-item]")??B.querySelector("[data-jp-focused-field]");J&&J.scrollIntoView({behavior:"smooth",block:"start"})});return()=>cancelAnimationFrame(R)},[Z]);const re=B=>{A(!1),d==null||d(B)},ae=()=>{A(B=>{const R=!B;return R&&ne(),R})},ce=(B,R)=>{R.stopPropagation(),r.length>0&&o?G(B):(A(!1),d==null||d(B))};T.useEffect(()=>{if(W==null)return;const B=R=>{R.key==="Escape"&&G(null)};return window.addEventListener("keydown",B),()=>window.removeEventListener("keydown",B)},[W]);const se=B=>{P===B?(h==null||h(B),F(null)):(F(B),setTimeout(()=>F(null),3e3))},de=T.useMemo(()=>l.filter(B=>B.scope==="local").map(B=>B.id),[l]),me=!!a&&de.length>0,we=B=>{N(B.active.id)},x=B=>{N(null);const{active:R,over:J}=B;if(!J||R.id===J.id||!a)return;const ie=l.findIndex(te=>te.id===R.id),oe=l.findIndex(te=>te.id===J.id);if(ie===-1||oe===-1)return;const K=ie<oe?oe:oe-1;a(R.id,K)},q=e?t.sections.find(B=>B.id===e.id):void 0,V=ee?t.sections.find(B=>B.id===ee.id):void 0,I=ee?O[ee.type]:void 0,z=l.length>0&&(E||!e),L=S?S.charAt(0).toUpperCase()+S.slice(1):"Select page",Q=T.useMemo(()=>{const B=[];let R=null;for(const J of l){const ie=J.type.toUpperCase(),oe=R!==null&&(R==="HEADER"&&ie!=="HEADER"||R!=="HEADER"&&R!=="FOOTER"&&ie==="FOOTER");B.push({layer:J,showSeparatorAbove:oe}),R=ie}return B},[l]);return p.jsx(Wg,{children:p.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:[p.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-zinc-800 shrink-0",children:[p.jsxs("div",{className:"min-w-0",children:[p.jsx("h2",{className:"text-sm font-bold text-white",children:"Inspector"}),p.jsx("p",{className:"text-[10px] tracking-[0.06em] text-zinc-600 mt-0.5",children:e?p.jsxs(p.Fragment,{children:[p.jsx("span",{className:"text-primary font-bold",children:e.type}),p.jsx("span",{className:"text-zinc-700 mx-1.5",children:"|"}),p.jsx("span",{className:"uppercase",children:e.scope})]}):p.jsxs("span",{className:"text-zinc-600",children:[L," · ",l.length," sections"]})})]}),p.jsx(We,{variant:"ghost",size:"icon-sm",onClick:i,"aria-label":"Close Inspector",children:p.jsx(Lt,{size:14})})]}),k.length>0&&C&&p.jsx(o0,{pageSlugs:k,currentSlug:S,onPageChange:C,sectionCount:l.length,currentPageLabel:L}),l.length>0&&p.jsxs("div",{className:"flex items-center gap-2 px-4 py-2 border-t border-zinc-800/50",children:[p.jsxs("button",{type:"button",onClick:ae,className:"flex items-center gap-2 flex-1 cursor-pointer min-w-0 text-left","aria-expanded":z,"aria-label":z?"Collapse Page Layers":"Expand Page Layers",children:[p.jsx(to,{size:14,className:"text-zinc-500 shrink-0"}),p.jsx("span",{className:"text-[11px] font-semibold tracking-[0.04em] text-zinc-400",children:"Page Layers"}),p.jsxs("span",{className:"text-[10px] text-zinc-600",children:["(",l.length,")"]}),p.jsx(eo,{size:13,className:ge("ml-auto text-zinc-600 transition-transform duration-200 shrink-0",!E&&"rotate-180")})]}),m!=null&&p.jsxs(jr,{children:[p.jsx(Tr,{asChild:!0,children:p.jsx(We,{variant:"ghost",size:"icon-sm",className:"text-zinc-500 hover:text-primary",onClick:m,children:p.jsx(ro,{size:14})})}),p.jsx(nr,{children:"Add section"})]})]}),p.jsxs(bc,{className:"flex-1 min-h-0 flex flex-col",children:[p.jsx("div",{ref:U,className:"flex flex-col min-h-0",children:z&&p.jsxs("div",{className:"py-1",children:[p.jsxs(of,{sensors:H,collisionDetection:du,modifiers:[Sf],onDragStart:we,onDragEnd:x,accessibility:{announcements:{onDragStart:()=>"Sezione presa in carico. Usa i tasti freccia per spostare, Spazio per rilasciare.",onDragOver:({over:B})=>B?`Posizione ${de.indexOf(String(B.id))+1} di ${de.length}.`:void 0,onDragEnd:({over:B})=>B?"Sezione rilasciata in nuova posizione.":"Riposizionamento annullato.",onDragCancel:()=>"Riposizionamento annullato."}},children:[p.jsx(zf,{items:de,strategy:Af,children:p.jsx("div",{className:"px-2 space-y-0.5",children:Q.map(({layer:B,showSeparatorAbove:R})=>p.jsxs(T.Fragment,{children:[R&&p.jsx("div",{className:"mx-3 border-t border-zinc-800/60 my-1"}),B.scope==="local"&&me?p.jsx(k0,{layer:B,opts:{isSelected:(e==null?void 0:e.id)===B.id,isActive:c===B.id,isDragging:!1,canReorder:!0,canDelete:!!h,deleteConfirm:P===B.id,onSelect:()=>re(B.id),onDelete:()=>se(B.id),onOpenSettings:J=>ce(B.id,J)}}):p.jsx("div",{children:p.jsx(ui,{layer:B,opts:{isSelected:(e==null?void 0:e.id)===B.id,isActive:c===B.id,isDragging:!1,canDelete:B.scope==="local"&&!!h,deleteConfirm:P===B.id,onSelect:()=>re(B.id),onDelete:()=>se(B.id),onOpenSettings:J=>ce(B.id,J)}})})]},B.id))})}),p.jsx(kf,{dropAnimation:{duration:200,easing:"cubic-bezier(0.18, 0.67, 0.6, 1.22)"},children:Y?(()=>{const B=l.find(R=>R.id===Y);return B?p.jsx("div",{className:"px-2 w-full max-w-[var(--inspector-width,280px)]",children:p.jsx(ui,{layer:B,opts:{isSelected:!1,isActive:!1,isDragging:!0,canDelete:!1,deleteConfirm:!1,onSelect:()=>{},onDelete:()=>{},onOpenSettings:()=>{}},dragHandleProps:{"aria-hidden":!0}})}):null})():null})]}),P&&p.jsxs("div",{className:"flex items-center gap-2 py-2 px-3 mt-1 mx-2 rounded-md bg-amber-500/10 border border-amber-500/30",children:[p.jsx(zd,{size:12,className:"text-amber-500 shrink-0"}),p.jsx("p",{className:"text-[10px] text-amber-500 font-medium",children:"Click delete again to confirm"})]})]})}),Z&&q&&(()=>{const B=q.data||{};let R;if(D&&D.length>0){let J=B;for(const K of D){const te=J==null?void 0:J[K.fieldKey];K.itemId!=null&&Array.isArray(te)?J=te.find(ue=>String(ue==null?void 0:ue.id)===String(K.itemId))??null:J=te}const ie=J||{},oe=Z.fieldKey;R=(typeof ie.name=="string"?ie.name:null)??(typeof ie.title=="string"?ie.title:null)??(typeof ie.label=="string"?ie.label:null)??oe.charAt(0).toUpperCase()+oe.slice(1).replace(/([A-Z])/g," $1").trim()}else{const J=Z.fieldKey;if(Z.itemId!=null){const K=(Array.isArray(B[J])?B[J]:[]).find(te=>String(te==null?void 0:te.id)===String(Z.itemId))||{};R=(typeof K.name=="string"?K.name:null)??(typeof K.title=="string"?K.title:null)??(typeof K.label=="string"?K.label:null)??J}else R=J.charAt(0).toUpperCase()+J.slice(1).replace(/([A-Z])/g," $1").trim()}return p.jsxs("div",{className:"px-4 py-2 border-b border-zinc-800 bg-zinc-900/50",children:[p.jsx("p",{className:"text-[10px] font-bold uppercase tracking-widest text-zinc-500",children:"Editing"}),p.jsx("p",{className:"text-xs font-medium text-white truncate mt-0.5",children:R})]})})(),p.jsx("div",{className:"flex-1 p-4",onFocusCapture:()=>e!=null&&A(!1),children:e?j?p.jsxs("div",{className:"space-y-4 animate-pulse",role:"status","aria-label":"Loading form",children:[p.jsx("div",{className:"h-4 w-3/4 rounded bg-zinc-800"}),p.jsx("div",{className:"h-10 rounded bg-zinc-800/80"}),p.jsx("div",{className:"h-10 rounded bg-zinc-800/80"}),p.jsx("div",{className:"h-20 rounded bg-zinc-800/80"}),p.jsx("div",{className:"h-10 rounded bg-zinc-800/60"})]}):I?(()=>{const R=Object.keys(I.shape).filter(te=>!vc.has(te)),J=(V==null?void 0:V.data)||{};if(R.length===0)return p.jsx("p",{className:"text-xs text-zinc-500",children:"No content fields in schema."});const ie=D==null?void 0:D[0],oe=(ie==null?void 0:ie.itemId)!=null?{[ie.fieldKey]:ie.itemId}:(Z==null?void 0:Z.itemId)!=null?{[Z.fieldKey]:Z.itemId}:void 0,K=(ie==null?void 0:ie.fieldKey)??(Z==null?void 0:Z.fieldKey)??null;return p.jsx(Ar,{schema:I,data:J,onChange:te=>n(te),keys:R,expandedItemPath:D,expandedItemIdByField:oe,focusedFieldKey:K,onSidebarExpandedItemChange:w})})():p.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 ",(ee==null?void 0:ee.type)??e.type]}):p.jsx("p",{className:"text-xs text-zinc-600 text-center py-10",children:"Select a layer above or on the stage to edit."})})]}),p.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 shrink-0",children:(v!=null||f!=null||g!=null)&&p.jsxs(p.Fragment,{children:[p.jsx("div",{className:ge("w-2 h-2 rounded-full transition-colors duration-300 shrink-0",u?"bg-amber-500 shadow-[0_0_8px_rgba(245,158,11,0.5)]":"bg-emerald-500")}),p.jsx("span",{className:ge("text-xs font-medium transition-colors duration-300 shrink-0",b?"text-emerald-400":u?"text-amber-500":"text-zinc-500"),children:b?"Salvato":u?"Unsaved Changes":"All Changes Saved"}),v!=null&&p.jsxs(jr,{children:[p.jsx(Tr,{asChild:!0,children:p.jsxs(We,{variant:"outline",size:"sm",className:"gap-1.5",onClick:v,children:[p.jsx(Ki,{size:12}),p.jsx("span",{children:"Bake HTML"})]})}),p.jsx(nr,{children:"Generate static HTML output"})]}),f!=null&&p.jsxs(jr,{children:[p.jsx(Tr,{asChild:!0,children:p.jsxs(We,{size:"sm",disabled:!u,className:"gap-1.5",onClick:B=>{B.preventDefault(),B.stopPropagation(),f()},children:[p.jsx(Dd,{size:12}),p.jsx("span",{children:"Save"})]})}),p.jsx(nr,{children:"Save (export JSON)"})]}),g!=null&&y&&p.jsx("button",{type:"button",onClick:g,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:p.jsx("span",{children:"Ripristina da file"})})]})}),W!=null&&r.length>0&&o!=null&&(()=>{const B=r.find(ue=>ue.id===W),R=l.find(ue=>ue.id===W);if(!B)return null;const J=(R==null?void 0:R.scope)==="global"?"global":"local",ie=B.type,oe=O[ie],te=(oe?Object.keys(oe.shape):[]).filter(ue=>vc.has(ue)),le=B.data??{};return te.length===0?p.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:()=>G(null),children:p.jsxs("div",{ref:$,className:"relative rounded-lg border border-zinc-700 bg-zinc-900 shadow-xl max-w-md w-full overflow-hidden",onClick:ue=>ue.stopPropagation(),children:[p.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-zinc-800",children:[p.jsxs("h2",{id:"section-settings-modal-title",className:"text-sm font-bold text-white",children:["Settings — ",ie]}),p.jsx("button",{type:"button",onClick:()=>G(null),className:"p-1.5 rounded text-zinc-500 hover:text-white hover:bg-zinc-800 transition-colors","aria-label":"Close settings",children:p.jsx(Lt,{size:18})})]}),p.jsx("div",{className:"p-4",children:p.jsx("p",{className:"text-xs text-zinc-500",children:"No settings fields for this section."})})]})}):p.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:ue=>ue.target===ue.currentTarget&&G(null),children:p.jsxs("div",{ref:$,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:ue=>ue.stopPropagation(),children:[p.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-zinc-800 shrink-0",children:[p.jsxs("h2",{id:"section-settings-modal-title",className:"text-sm font-bold text-white",children:["Settings — ",ie]}),p.jsx("button",{type:"button",onClick:()=>G(null),className:"p-1.5 rounded text-zinc-500 hover:text-white hover:bg-zinc-800 transition-colors","aria-label":"Close settings (Escape)",children:p.jsx(Lt,{size:18})})]}),p.jsx("div",{className:"flex-1 overflow-y-auto p-4 custom-scrollbar",children:p.jsx(Ar,{schema:oe,data:le,onChange:ue=>{const Se={...B.data,...ue};o(W,J,ie,Se)},keys:te})})]})})})()]})})},xc=({draft:e,globalDraft:t,themeConfig:r,slug:n,selectedId:o,scrollToSectionId:i,onScrollRequested:s})=>{const a=T.useRef(null),l=T.useCallback(()=>{var c;(c=a.current)!=null&&c.contentWindow&&a.current.contentWindow.postMessage({type:Ne.UPDATE_DRAFTS,draft:e,globalDraft:t,themeConfig:r},"*")},[e,t,r]);return T.useEffect(()=>{l()},[l]),T.useEffect(()=>{const c=d=>{d.data.type===Ne.STAGE_READY&&l()};return window.addEventListener("message",c),()=>window.removeEventListener("message",c)},[l]),T.useEffect(()=>{var c;(c=a.current)!=null&&c.contentWindow&&a.current.contentWindow.postMessage({type:Ne.SYNC_SELECTION,selectedId:o},"*")},[o]),T.useEffect(()=>{var c;!i||!((c=a.current)!=null&&c.contentWindow)||(a.current.contentWindow.postMessage({type:Ne.REQUEST_SCROLL_TO_SECTION,sectionId:i},"*"),s==null||s())},[i,s]),p.jsx("div",{className:"w-full h-full bg-background overflow-hidden",children:p.jsx("iframe",{ref:a,src:`/admin/preview/${n}`,className:"w-full h-full border-none",title:"JsonPages Stage"})})},Hn={setTheme:e=>{const t=document.documentElement,{tokens:r}=e,n={"--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(n).forEach(([o,i])=>{t.style.setProperty(o,i)})}},yc=()=>{var u;const[e,t]=T.useState(null),[r,n]=T.useState(null),[o,i]=T.useState(null),[s,a]=T.useState(null),[l,c]=T.useState(!1);if(T.useEffect(()=>{const v=f=>{f.data.type===Ne.UPDATE_DRAFTS&&(t(f.data.draft),n(f.data.globalDraft),f.data.themeConfig&&Hn.setTheme(f.data.themeConfig)),f.data.type===Ne.SYNC_SELECTION&&i(f.data.selectedId),f.data.type===Ne.REQUEST_SCROLL_TO_SECTION&&a(f.data.sectionId??null),f.data.type===Ne.REQUEST_CLEAN_HTML&&(c(!0),setTimeout(()=>{const b=document.documentElement.outerHTML;window.parent.postMessage({type:Ne.SEND_CLEAN_HTML,html:b},"*"),c(!1)},50))};return window.addEventListener("message",v),window.parent.postMessage({type:Ne.STAGE_READY},"*"),()=>window.removeEventListener("message",v)},[]),T.useEffect(()=>{const v=f=>{var N,M,w,W,G,U,$,H;const b=f.target,g=f.clientX,y=f.clientY;let k=null,S=b;for(;S&&S!==document.body;){const ee=(N=S.getAttribute)==null?void 0:N.call(S,"data-section-id"),j=(M=S.getAttribute)==null?void 0:M.call(S,"data-section-type"),D=(w=S.getAttribute)==null?void 0:w.call(S,"data-section-scope");if(ee&&j&&D){k=S;break}S=S.parentElement}if(!k)return;f.preventDefault(),f.stopPropagation();const C=k.getAttribute("data-section-id"),O=k.getAttribute("data-section-type"),E=k.getAttribute("data-section-scope");if(!C||!O||!E)return;const A={id:C,type:O,scope:E};if(b===k){window.parent.postMessage({type:Ne.SECTION_SELECT,section:A},"*");return}const P=document.elementFromPoint(g,y)??b;if(!P||!k.contains(P)){window.parent.postMessage({type:Ne.SECTION_SELECT,section:A},"*");return}if(P===k){window.parent.postMessage({type:Ne.SECTION_SELECT,section:A},"*");return}const F=[];for(S=P;S&&S!==k;){const ee=(W=S.getAttribute)==null?void 0:W.call(S,"data-jp-item-id"),j=(G=S.getAttribute)==null?void 0:G.call(S,"data-jp-item-field");ee&&j&&F.push({fieldKey:j||"items",itemId:ee}),S=S.parentElement}if(F.reverse(),F.length===0)for(S=P;S&&S!==k;){const ee=(U=S.getAttribute)==null?void 0:U.call(S,"data-jp-field");if(ee){F.push({fieldKey:ee});break}S=S.parentElement}if(F.length===0&&P){let ee=null;const j=D=>{var X,ne;const Z=D.getBoundingClientRect();if(Z.left<=g&&g<=Z.right&&Z.top<=y&&y<=Z.bottom){for(let pe=0;pe<D.children.length;pe++)j(D.children[pe]);((X=D.getAttribute)!=null&&X.call(D,"data-jp-item-id")||(ne=D.getAttribute)!=null&&ne.call(D,"data-jp-field"))&&(ee=D)}};if(j(P),ee){const D=ee,Z=($=D.getAttribute)==null?void 0:$.call(D,"data-jp-item-id"),X=(H=D.getAttribute)==null?void 0:H.call(D,"data-jp-field");Z&&X?F.push({fieldKey:X||"items",itemId:Z}):X&&F.push({fieldKey:X})}}const Y={type:Ne.SECTION_SELECT,section:A};if(F.length>0){Y.itemPath=F;const ee=F[0];ee.itemId!=null?(Y.itemField=ee.fieldKey,Y.itemId=ee.itemId):Y.itemField=ee.fieldKey}window.parent.postMessage(Y,"*")};return document.addEventListener("click",v,!0),()=>document.removeEventListener("click",v,!0)},[]),T.useEffect(()=>{if(!s)return;const v=setTimeout(()=>a(null),600);return()=>clearTimeout(v)},[s]),!e||!r)return p.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 d=(u=r.header)==null?void 0:u.data,h={main:(d==null?void 0:d.links)??[]},m=v=>{window.parent.postMessage({type:Ne.ACTIVE_SECTION_CHANGED,activeSectionId:v},"*")};return p.jsx($r,{mode:l?"visitor":"studio",children:p.jsx("div",{className:l?"":"jp-ice-active",children:p.jsx(no,{pageConfig:e,siteConfig:r,menuConfig:h,selectedId:l?null:o,scrollToSectionId:s,onActiveSectionChange:m})})})};function S0(e){return e.split("-").map(t=>t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join(" ")}const kc=({open:e,onClose:t,sectionTypes:r,sectionTypeLabels:n,onSelect:o})=>{if(T.useEffect(()=>{if(!e)return;const s=a=>{a.key==="Escape"&&t()};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[e,t]),!e)return null;const i=s=>(n==null?void 0:n[s])??S0(s);return p.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:[p.jsx("div",{className:"absolute inset-0 bg-zinc-950/80 backdrop-blur-sm",onClick:t,"aria-hidden":"true"}),p.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:[p.jsxs("div",{className:"flex items-center justify-between px-5 py-4 border-b border-zinc-800 shrink-0",children:[p.jsxs("div",{className:"flex items-center gap-2",children:[p.jsx("div",{className:"p-1.5 rounded-lg bg-blue-500/20 text-blue-400",children:p.jsx(to,{size:18})}),p.jsx("h2",{id:"jp-add-section-title",className:"text-sm font-bold text-white",children:"Add section"})]}),p.jsx("button",{type:"button",onClick:t,className:"p-1.5 rounded-md text-zinc-400 hover:text-white hover:bg-zinc-800 transition-colors","aria-label":"Close",children:p.jsx(Lt,{size:18})})]}),p.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:r.length===0?p.jsx("p",{className:"text-xs text-zinc-500 text-center py-8",children:"No section types available. Configure addableSectionTypes or schemas."}):p.jsx("ul",{className:"grid gap-2",role:"listbox",children:r.map(s=>p.jsx("li",{role:"option",children:p.jsxs("button",{type:"button",onClick:()=>{o(s),t()},className:ge("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:[p.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:s}),p.jsx("span",{className:"text-sm font-medium text-zinc-200",children:i(s)})]})},s))})}),p.jsx("div",{className:"px-5 py-3 border-t border-zinc-800 shrink-0",children:p.jsx("p",{className:"text-[10px] text-zinc-500 uppercase tracking-wider",children:"Choose a section type to add to the bottom of this page"})})]})]})},Sc=()=>p.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:[p.jsx("h1",{className:"text-6xl font-bold text-[var(--local-text)] mb-4",children:"404"}),p.jsx("p",{className:"text-xl text-[var(--local-text-muted)] mb-8",children:"Page not found"}),p.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"})]}),_0='/*! 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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--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-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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-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-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-snug:1.375;--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);--color-primary-foreground:var(--primary-foreground);--color-destructive:var(--destructive);--color-ring:var(--ring)}}@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-2{left:calc(var(--spacing)*2)}.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)}.mx-1\\.5{margin-inline:calc(var(--spacing)*1.5)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-3{margin-inline:calc(var(--spacing)*3)}.my-1{margin-block: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)}.mt-2{margin-top:calc(var(--spacing)*2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.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)}.ml-auto{margin-left:auto}.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-3\\.5{height:calc(var(--spacing)*3.5)}.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-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.h-full{height:100%}.h-screen{height:100vh}.max-h-96{max-height:calc(var(--spacing)*96)}.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\\.5{width:calc(var(--spacing)*3.5)}.w-3\\/4{width:75%}.w-5{width:calc(var(--spacing)*5)}.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-\\[var\\(--radix-popover-trigger-width\\)\\]{width:var(--radix-popover-trigger-width)}.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-\\[var\\(--inspector-width\\,280px\\)\\]{max-width:var(--inspector-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-\\[8rem\\]{min-width:8rem}.min-w-\\[18px\\]{min-width:18px}.min-w-\\[var\\(--radix-popover-trigger-width\\)\\]{min-width:var(--radix-popover-trigger-width)}.min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.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)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-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}.touch-none{touch-action:none}.resize-none{resize: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-0\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}: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-\\[inherit\\]{border-radius:inherit}.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-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.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-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-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.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-emerald-500\\/60{border-color:#00bb7f99}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\\/60{border-color:color-mix(in oklab,var(--color-emerald-500)60%,transparent)}}.border-primary{border-color:var(--color-primary)}.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\\/60{border-color:#27272a99}@supports (color:color-mix(in lab,red,red)){.border-zinc-800\\/60{border-color:color-mix(in oklab,var(--color-zinc-800)60%,transparent)}}.border-l-transparent{border-left-color:#0000}.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{background-color:var(--color-black)}.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-destructive\\/15{background-color:var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\\/15{background-color:color-mix(in oklab,var(--color-destructive)15%,transparent)}}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-primary,.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-primary\\/\\[0\\.08\\]{background-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\\/\\[0\\.08\\]{background-color:color-mix(in oklab,var(--color-primary)8%,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-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\\/30{background-color:#27272a4d}@supports (color:color-mix(in lab,red,red)){.bg-zinc-800\\/30{background-color:color-mix(in oklab,var(--color-zinc-800)30%,transparent)}}.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))}.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)}.p-px{padding:1px}.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-10{padding-block:calc(var(--spacing)*10)}.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-4{padding-right:calc(var(--spacing)*4)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-8{padding-left:calc(var(--spacing)*8)}.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-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-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.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\\.04em\\]{--tw-tracking:.04em;letter-spacing:.04em}.tracking-\\[0\\.05em\\]{--tw-tracking:.05em;letter-spacing:.05em}.tracking-\\[0\\.06em\\]{--tw-tracking:.06em;letter-spacing:.06em}.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)}.whitespace-nowrap{white-space:nowrap}.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-destructive{color:var(--color-destructive)}.text-emerald-400{color:var(--color-emerald-400)}.text-foreground{color:var(--color-foreground)}.text-primary{color:var(--color-primary)}.text-primary-foreground{color:var(--color-primary-foreground)}.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)}.text-zinc-600\\/50{color:#52525c80}@supports (color:color-mix(in lab,red,red)){.text-zinc-600\\/50{color:color-mix(in oklab,var(--color-zinc-600)50%,transparent)}}.text-zinc-700{color:var(--color-zinc-700)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.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-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px 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-black\\/30{--tw-shadow-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.shadow-black\\/30{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black)30%,transparent)var(--tw-shadow-alpha),transparent)}}.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)}}.shadow-primary\\/20{--tw-shadow-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.shadow-primary\\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-primary)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-destructive\\/25:hover{background-color:var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-destructive\\/25:hover{background-color:color-mix(in oklab,var(--color-destructive)25%,transparent)}}.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-primary\\/90:hover{background-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-primary\\/90:hover{background-color:color-mix(in oklab,var(--color-primary)90%,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-600:hover{background-color:var(--color-zinc-600)}.hover\\:bg-zinc-800:hover{background-color:var(--color-zinc-800)}.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\\:bg-zinc-900:hover{background-color:var(--color-zinc-900)}.hover\\:text-blue-400:hover{color:var(--color-blue-400)}.hover\\:text-destructive:hover{color:var(--color-destructive)}.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\\:bg-zinc-800:focus{background-color:var(--color-zinc-800)}.focus\\:text-white:focus{color:var(--color-white)}.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\\:border-zinc-600:focus-visible{border-color:var(--color-zinc-600)}.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-500\\/80:focus-visible{--tw-ring-color:#3080ffcc}@supports (color:color-mix(in lab,red,red)){.focus-visible\\:ring-blue-500\\/80:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-blue-500)80%,transparent)}}.focus-visible\\:ring-blue-600:focus-visible{--tw-ring-color:var(--color-blue-600)}.focus-visible\\:ring-ring:focus-visible{--tw-ring-color:var(--color-ring)}.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\\:ring-offset-zinc-950:focus-visible{--tw-ring-offset-color:var(--color-zinc-950)}.focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.focus-visible\\:ring-inset:focus-visible{--tw-ring-inset:inset}.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}.data-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\\[side\\=right\\]\\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\\[state\\=open\\]\\:border-zinc-800[data-state=open]{border-color:var(--color-zinc-800)}.data-\\[state\\=open\\]\\:bg-zinc-950[data-state=open]{background-color:var(--color-zinc-950)}.data-\\[state\\=open\\]\\:text-zinc-100[data-state=open]{color:var(--color-zinc-100)}@media(min-width:40rem){.sm\\:max-w-\\[280px\\]{max-width:280px}}.\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.\\[\\&\\>span\\]\\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\\[\\&\\>span\\]\\:flex>span{display:flex}.\\[\\&\\>span\\]\\:items-center>span{align-items:center}.\\[\\&\\>span\\]\\:gap-2>span{gap:calc(var(--spacing)*2)}}: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-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@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-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{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 C0 extends T.Component{constructor(t){super(t),this.state={hasError:!1,error:null}}static getDerivedStateFromError(t){return{hasError:!0,error:t}}componentDidCatch(t,r){console.error("[JsonPages Engine]",t,r)}render(){return this.state.hasError&&this.state.error?p.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:[p.jsx("h1",{style:{fontSize:"1.25rem",fontWeight:700,marginBottom:8},children:"JsonPages Engine Error"}),p.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 E0({config:e}){var k,S;const{registry:t={},schemas:r={},pages:n={},siteConfig:o,themeConfig:i,menuConfig:s,themeCss:a,addSection:l,NotFoundComponent:c=Sc}=e,d=(l==null?void 0:l.addableSectionTypes)??Object.keys(r).filter(C=>C!=="header"&&C!=="footer"),h={exportJSON:((k=e.persistence)==null?void 0:k.exportJSON)??wi,exportHTML:((S=e.persistence)==null?void 0:S.exportHTML)??xi},m=typeof(a==null?void 0:a.tenant)=="string"?a.tenant:"",u=typeof(a==null?void 0:a.admin)=="string"?a.admin:_0,[v,f]=T.useState(!1);T.useEffect(()=>{try{i!=null&&i.tokens&&Hn.setTheme(i)}catch(C){console.warn("[JsonPages] setTheme failed",C)}f(!0)},[i]);const b=()=>{const{slug:C="home"}=Ze.useParams(),[O,E]=T.useState(null);T.useEffect(()=>{const Y=document.getElementById("jp-baked-state");if(Y!=null&&Y.textContent)try{const N=JSON.parse(Y.textContent);E(N),Hn.setTheme(N.theme)}catch(N){console.error("Failed to parse baked state",N)}},[]);const A=O?O.page:n[C],P=O?O.site:o,F=O?O.menu:s;return A?p.jsx(Kr,{mode:"tenant",tenantCss:m,adminCss:u,children:p.jsx($r,{mode:"visitor",children:p.jsx(no,{pageConfig:A,siteConfig:P,menuConfig:F})})}):p.jsx(c,{})},g=()=>{var oe;const{slug:C="home"}=Ze.useParams(),O=Ze.useNavigate(),E=Object.keys(n).sort((K,te)=>K==="home"?-1:te==="home"?1:K.localeCompare(te)),[A,P]=T.useState(null),[F,Y]=T.useState(!1),[N,M]=T.useState(!1),[w,W]=T.useState(()=>{var K;try{const te=JSON.parse(JSON.stringify(o??{}));te.identity||(te.identity={title:"Site"}),te.pages||(te.pages=[]);const le=(K=te.header)==null?void 0:K.data;return le&&(s!=null&&s.main)&&(le.links=JSON.parse(JSON.stringify(s.main))),te}catch{return{identity:{title:"Site"},pages:[]}}}),[G,U]=T.useState(null),[$,H]=T.useState(null),[ee,j]=T.useState(null),[D,Z]=T.useState(null),[X,ne]=T.useState(!1),[pe,re]=T.useState(400),ae=360,ce=920,se=T.useCallback(K=>{K.preventDefault();const te=K.currentTarget;te.setPointerCapture(K.pointerId);const le=K.clientX,ue=pe,Se=Fe=>{const Ce=le-Fe.clientX,Ct=Math.min(ce,Math.max(ae,ue+Ce));re(Ct)},_e=()=>{te.releasePointerCapture(K.pointerId),te.removeEventListener("pointermove",Se),te.removeEventListener("pointerup",_e),te.removeEventListener("pointercancel",_e),document.body.style.cursor="",document.body.style.userSelect=""};document.body.style.cursor="col-resize",document.body.style.userSelect="none",te.addEventListener("pointermove",Se),te.addEventListener("pointerup",_e),te.addEventListener("pointercancel",_e)},[pe]),de=A?[...w.header?[{id:w.header.id,type:w.header.type,scope:"global",title:"Header"}]:[],...A.sections.map(K=>{var te,le;return{id:K.id,type:K.type,scope:"local",title:((te=K.data)==null?void 0:te.title)??((le=K.data)==null?void 0:le.titleHighlight)}}),...w.footer?[{id:w.footer.id,type:w.footer.type,scope:"global",title:"Footer"}]:[]]:[];T.useEffect(()=>{const K=n[C];K&&P(JSON.parse(JSON.stringify(K))),U(null),H(null),Y(!1)},[C,n]);const me=T.useCallback(()=>{const K=n[C];K&&P(JSON.parse(JSON.stringify(K))),U(null),H(null),Y(!1)},[C,n]),we=T.useCallback((K,te,le)=>{const ue=[...le.sections],Se=ue.findIndex(Ce=>Ce.id===K);if(Se===-1||te<0||te>=ue.length)return;const[_e]=ue.splice(Se,1),Fe=te>Se?te-1:te;ue.splice(Math.min(Fe,ue.length),0,_e),P({...le,sections:ue}),Y(!0)},[]),x=T.useCallback(K=>{var te;if(K.origin===window.location.origin){if(K.data.type===Ne.SECTION_SELECT){U(K.data.section);const le=K.data.itemPath;if(Array.isArray(le)&&le.length>0)H(le.map(ue=>({fieldKey:ue.fieldKey,...ue.itemId!=null?{itemId:String(ue.itemId)}:{}})));else{const ue=K.data.itemField,Se=K.data.itemId;H(typeof ue=="string"?[{fieldKey:ue,...Se!=null?{itemId:String(Se)}:{}}]:null)}}if(K.data.type===Ne.ACTIVE_SECTION_CHANGED&&j(K.data.activeSectionId??null),K.data.type==="jsonpages:section-reorder"&&A){const{sectionId:le,newIndex:ue}=K.data;typeof le=="string"&&typeof ue=="number"&&ue>=0&&we(le,ue,A)}if(K.data.type===Ne.SEND_CLEAN_HTML){if(!A)return;const le=(te=w.header)==null?void 0:te.data,ue={page:A,site:w,menu:{main:(le==null?void 0:le.links)??[]},theme:i};h.exportHTML(ue,C,K.data.html),Y(!1)}}},[A,w,C,i,we]);T.useEffect(()=>(window.addEventListener("message",x),()=>window.removeEventListener("message",x)),[x]);const q=T.useCallback(K=>{const te=de.find(le=>le.id===K);te&&U({id:te.id,type:te.type,scope:te.scope}),H(null),Z(K)},[de]),V=T.useCallback(()=>{Z(null)},[]),I=T.useCallback(K=>{P(te=>te&&{...te,sections:te.sections.filter(le=>le.id!==K)}),Y(!0),U(te=>(te==null?void 0:te.id)===K?null:te)},[]),z=K=>{if(!(!G||!A))if(Y(!0),G.scope==="global")G.type==="header"&&w.header!=null?W({...w,header:{...w.header,data:K}}):G.type==="footer"&&w.footer!=null&&W({...w,footer:{...w.footer,data:K}});else{const te=A.sections.map(le=>le.id===G.id?{...le,data:K}:le);P({...A,sections:te})}},L=T.useCallback((K,te,le,ue)=>{var Se,_e;if(Y(!0),te==="global")((Se=w.header)==null?void 0:Se.id)===K?W({...w,header:{...w.header,data:ue}}):((_e=w.footer)==null?void 0:_e.id)===K&&W({...w,footer:{...w.footer,data:ue}});else if(A){const Fe=A.sections.map(Ce=>Ce.id===K?{...Ce,data:ue}:Ce);P({...A,sections:Fe})}},[A,w]),Q=()=>{var te;const K=document.querySelector("iframe");(te=K==null?void 0:K.contentWindow)==null||te.postMessage({type:Ne.REQUEST_CLEAN_HTML},"*")},B=()=>{var le,ue;if(!A||!((le=e.persistence)!=null&&le.saveToFile))return;const K=(ue=w.header)==null?void 0:ue.data,te={page:A,site:w,menu:{main:(K==null?void 0:K.links)??[]},theme:i};e.persistence.saveToFile(te,C).then(()=>{var Se;Y(!1),M(!0),((Se=e.persistence)==null?void 0:Se.reloadAfterSave)===!0&&window.setTimeout(()=>window.location.reload(),1e3)}).catch(Se=>{console.error("[JsonPages] saveToFile failed",Se);const _e=Se instanceof Error?Se.message:String(Se);alert(`Save to file failed: ${_e}`)})},R=K=>{var ue;if(!A)return;const te=((ue=l==null?void 0:l.getDefaultSectionData)==null?void 0:ue.call(l,K))??{},le={id:crypto.randomUUID(),type:K,data:te,settings:void 0};P({...A,sections:[...A.sections,le]}),Y(!0),U({id:le.id,type:K,scope:"local"})};if(!A)return p.jsx("div",{children:"Loading Studio..."});const J=(G==null?void 0:G.scope)==="global"?{sections:[w.header,w.footer].filter(K=>K!=null)}:A,ie=[...w.header?[w.header]:[],...A.sections,...w.footer?[w.footer]:[]];return p.jsx(Kr,{mode:"admin",tenantCss:m,adminCss:u,children:p.jsx($r,{mode:"studio",children:p.jsxs("div",{className:"flex flex-col h-screen w-screen bg-background text-foreground overflow-hidden",children:[p.jsxs("div",{className:"flex flex-1 min-h-0 overflow-hidden",children:[p.jsx("main",{className:"flex-1 min-w-0 relative bg-zinc-900/50 overflow-hidden",children:p.jsx(xc,{draft:A,globalDraft:w,themeConfig:i,slug:C,selectedId:G==null?void 0:G.id,scrollToSectionId:D,onScrollRequested:V})}),p.jsxs("div",{className:"flex shrink-0 relative h-full z-10",style:{width:pe,minWidth:ae,maxWidth:ce},children:[p.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}),p.jsx(wc,{selectedSection:G,pageData:J,allSectionsData:ie,onUpdate:z,onUpdateSection:L,onClose:()=>{U(null),H(null)},expandedItemPath:$,onReorderSection:A?(K,te)=>we(K,te,A):void 0,allLayers:de,activeSectionId:ee,onRequestScrollToSection:q,onDeleteSection:A?I:void 0,onAddSection:d.length>0?()=>ne(!0):void 0,hasChanges:F,onExportHTML:Q,onSaveToFile:((oe=e.persistence)==null?void 0:oe.saveToFile)!=null?B:void 0,saveSuccessFeedback:N,onResetToFile:me,pageSlugs:E,currentSlug:C,onPageChange:E.length>1?K=>O(`/admin/${K}`):void 0})]})]}),p.jsx(kc,{open:X,onClose:()=>ne(!1),sectionTypes:d,sectionTypeLabels:l==null?void 0:l.sectionTypeLabels,onSelect:R})]})})})},y=()=>p.jsx(Kr,{mode:"tenant",tenantCss:m,adminCss:u,children:p.jsx(yc,{})});return v?p.jsx(C0,{children:p.jsx($i,{config:{registry:t,schemas:r,tenantId:e.tenantId??"default",assets:e.assets},children:p.jsx(Ze.BrowserRouter,{children:p.jsxs(Ze.Routes,{children:[p.jsx(Ze.Route,{path:"/",element:p.jsx(b,{})}),p.jsx(Ze.Route,{path:"/:slug",element:p.jsx(b,{})}),p.jsx(Ze.Route,{path:"/admin",element:p.jsx(g,{})}),p.jsx(Ze.Route,{path:"/admin/:slug",element:p.jsx(g,{})}),p.jsx(Ze.Route,{path:"/admin/preview/:slug",element:p.jsx(y,{})}),p.jsx(Ze.Route,{path:"*",element:p.jsx(c,{})})]})})})}):p.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 A0=({hasChanges:e,onExportJSON:t,onExportHTML:r,onAddSection:n})=>p.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:[p.jsx("div",{className:"flex items-center gap-3",children:n!=null&&p.jsxs("button",{type:"button",onClick:n,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:[p.jsx(Fd,{size:14}),p.jsx("span",{children:"Add section"})]})}),p.jsx("div",{className:"absolute left-1/2 -translate-x-1/2 opacity-20 pointer-events-none",children:p.jsx("span",{className:"text-xs font-black tracking-[0.2em] text-zinc-100",children:"JSONPAGES STUDIO"})}),p.jsxs("div",{className:"flex items-center gap-2",children:[p.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:[p.jsx(Ki,{size:14}),p.jsx("span",{children:"Bake HTML"})]}),p.jsxs("button",{onClick:t,disabled:!e,className:ge("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:[p.jsx(jd,{size:14}),p.jsx("span",{children:"Export JSON"})]})]})]});ye.AddSectionLibrary=kc,ye.AdminSidebar=wc,ye.ConfigProvider=$i,ye.ControlBar=A0,ye.DefaultNotFound=Sc,ye.FormFactory=Ar,ye.InputWidgets=Er,ye.JsonPagesEngine=E0,ye.PageRenderer=no,ye.PreviewEntry=yc,ye.STUDIO_EVENTS=Ne,ye.SectionRenderer=ur,ye.StudioProvider=$r,ye.StudioStage=xc,ye.ThemeLoader=Kr,ye.cn=ge,ye.exportBakedHTML=xi,ye.exportProjectJSON=wi,ye.resolveAssetUrl=Ol,ye.themeManager=Hn,ye.useConfig=dr,ye.useStudio=Vi,Object.defineProperty(ye,Symbol.toStringTag,{value:"Module"})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jsonpages/core",
3
- "version": "1.0.23",
3
+ "version": "1.0.24",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "./dist/jsonpages-core.umd.cjs",