@sanity/visual-editing
Version:
[](https://npm-stat.com/charts.html?package=@sanity/visual-editing) [](https://
140 lines (122 loc) • 40.4 kB
JavaScript
import{jsx as e,jsxs as t,Fragment as n}from"react/jsx-runtime";import{c as r}from"react-compiler-runtime";import{useEffect as o,createContext as i,useContext as a,useState as s,memo as c,useRef as l,isValidElement as d,useSyncExternalStore as u,useReducer as p}from"react";import{createPortal as m}from"react-dom";import{i as f,a as h,b as g}from"../_chunks-es/create-data-attribute.js";import{c as y}from"../_chunks-es/create-data-attribute.js";import{a as v,b as w,g as b,C as x,R as k,S,c as _,e as E,f as $,U as M,h as I,M as P,i as D,j as T,T as R,k as z,l as j,F as C,m as A,n as L,o as F,p as N,d as O,q as W,P as G,D as U,r as q,u as B,s as V,H as K,E as Y,L as H,t as X,v as Z,w as J,x as Q,y as ee}from"../_chunks-es/PointerEvents.js";import{u as te,g as ne,d as re,a as oe,e as ie,f as ae,h as se,i as ce,b as le,j as de,c as ue}from"../_chunks-es/mutations.js";import{S as pe,c as me,s as fe}from"../_chunks-es/SharedStateContext.js";import{u as he}from"../_chunks-es/SharedStateContext.js";import{at as ge,remove as ye,insert as ve}from"@sanity/mutate";import{createEditUrl as we,studioPath as be}from"@sanity/client/csm";import{p as xe,D as ke}from"../_chunks-es/transformSanityNodeData.js";import Se from"scroll-into-view-if-needed";import{createNode as _e,createNodeMachine as Ee}from"@sanity/comlink";import{createActor as $e}from"xstate";import{s as Me}from"../_chunks-es/context.js";import{e as Ie}from"../_chunks-es/context.js";import{ReplaySubject as Pe,Subject as De,merge as Te}from"rxjs";import{createDatasetMutator as Re}from"../optimistic/index.js";import{createDocumentMutator as ze}from"../optimistic/index.js";const je=e=>{const t=r(8),{comlink:n,history:i}=e;let a,s,c,l;return t[0]!==n||t[1]!==i?(a=()=>n?.on("presentation/navigate",(e=>{i?.update(e)})),s=[n,i],t[0]=n,t[1]=i,t[2]=a,t[3]=s):(a=t[2],s=t[3]),o(a,s),t[4]!==n||t[5]!==i?(c=()=>{if(i)return i.subscribe((e=>{e.title=e.title||document.title,n?.post("visual-editing/navigate",e)}))},l=[n,i],t[4]=n,t[5]=i,t[6]=c,t[7]=l):(c=t[6],l=t[7]),o(c,l),null},Ce=e=>{const t=r(3),{comlink:n}=e;let i,a;return t[0]!==n?(i=()=>{const e=()=>{n.post("visual-editing/meta",{title:document.title})},t=new MutationObserver((t=>{const[n]=t;"TITLE"===n.target.nodeName&&e()}));return t.observe(document.head,{subtree:!0,characterData:!0,childList:!0}),e(),()=>t.disconnect()},a=[n],t[0]=n,t[1]=i,t[2]=a):(i=t[1],a=t[2]),o(i,a),null};function Ae(e){const t=new CustomEvent("sanity/dragEnd",{detail:e,cancelable:!0});window.dispatchEvent(t)}const Le=i(null);function Fe(){const e=a(Le);if(!e)throw new Error("Schema context is missing");return e}function Ne(e,t){if(!e.type)throw new Error("Node type is missing");return()=>t.patch((async({getSnapshot:t})=>ae(e,await t())))}function Oe(e,t,n,r){if(!e.type)throw new Error("Node type is missing");return()=>t.patch((()=>oe(e,n,r)))}function We(e,t){if(!e.type)throw new Error("Node type is missing");return()=>t.patch((async({getSnapshot:t})=>se(e,await t())))}function Ge(t){const{node:n,field:r,parent:o,doc:i}=t;return"arrayItem"===r?.type?async function(e){const{node:t,field:n,doc:r}=e,o=[];return o.push(...Ue(e)),o.push(...qe(e)),o.push(...await Be(e)),o.push({type:"action",label:"Insert before",icon:v,action:Oe(t,r,n.name,"before")}),o.push({type:"action",label:"Insert after",icon:w,action:Oe(t,r,n.name,"after")}),o}({node:n,field:r,doc:i}):"union"===o?.type?async function(t){const{doc:n,node:r,parent:o}=t,i=[];if(i.push(...Ue(t)),i.push(...qe(t)),i.push(...await Be(t)),o.options?.insertMenu){const t=(o.options.insertMenu||{}).views?.some((e=>"grid"===e.name))?0:void 0;i.push({type:"custom",component:({boundaryElement:i})=>e(Ve,{label:"Insert before",onSelect:e=>{Oe(r,n,e.name,"before")()},parent:o,width:t,boundaryElement:i})}),i.push({type:"custom",component:({boundaryElement:i})=>e(Ve,{label:"Insert after",onSelect:e=>{Oe(r,n,e.name,"after")()},parent:o,width:t,boundaryElement:i})})}else i.push({type:"group",label:"Insert before",icon:v,items:o.of.filter((e=>"unionOption"===e.type)).map((e=>({type:"action",icon:b(e),label:"block"===e.name?"Paragraph":e.title||e.name,action:Oe(r,n,e.name,"before")})))}),i.push({type:"group",label:"Insert after",icon:w,items:o.of.filter((e=>"unionOption"===e.type)).map((e=>({type:"action",label:"block"===e.name?"Paragraph":e.title||e.name,icon:b(e),action:Oe(r,n,e.name,"after")})))});return i}({node:n,parent:o,doc:i}):Promise.resolve([])}function Ue(e){const{node:t,doc:n}=e;return n?[{type:"action",label:"Duplicate",icon:x,action:We(t,n)}]:[]}function qe(e){const{node:t,doc:n}=e;return n?[{type:"action",label:"Remove",icon:k,action:Ne(t,n)}]:[]}async function Be(e,t=!0){const{node:n,doc:r}=e;if(!r)return[];const o=[],i=[],[a,s,c,l]=await Promise.all([ie(n,r,"previous"),ie(n,r,"next"),ie(n,r,"first"),ie(n,r,"last")]);return c.length&&i.push({type:"action",label:"To top",icon:_,action:()=>r.patch(c)}),a.length&&i.push({type:"action",label:"Up",icon:E,action:()=>r.patch(a)}),s.length&&i.push({type:"action",label:"Down",icon:$,action:()=>r.patch(s)}),l.length&&i.push({type:"action",label:"To bottom",icon:M,action:()=>r.patch(l)}),i.length&&(o.push({type:"group",label:"Move",icon:S,items:i}),t&&o.push({type:"divider"})),o}const Ve=t=>{const n=r(12),{label:o,parent:i,width:a,onSelect:s,boundaryElement:c}=t;let l,d,u,p,m;return n[0]===Symbol.for("react.memo_cache_sentinel")?(l=["left-start","right","left","right-end","left-end","bottom","top"],n[0]=l):l=n[0],n[1]===Symbol.for("react.memo_cache_sentinel")?(d=[4,4,4,4],n[1]=d):d=n[1],n[2]!==c||n[3]!==a?(u={arrow:!1,constrainSize:!0,floatingBoundary:c,padding:0,placement:"right-start",fallbackPlacements:l,preventOverflow:!0,width:a,__unstable_margins:d},n[2]=c,n[3]=a,n[4]=u):u=n[4],n[5]!==s||n[6]!==i?(p=e(I,{node:i,onSelect:s}),n[5]=s,n[6]=i,n[7]=p):p=n[7],n[8]!==o||n[9]!==u||n[10]!==p?(m=e(P,{fontSize:1,icon:w,padding:2,popover:u,space:2,text:o,children:p}),n[8]=o,n[9]=u,n[10]=p,n[11]=m):m=n[11],m};const Ke=[-4,4,-4,4];function Ye(t){const n=r(25),{node:o,onDismiss:i,boundaryElement:a}=t;let s;n[0]!==o||n[1]!==i?(s=()=>{"action"===o.type&&(o.action?.(),i?.())},n[0]=o,n[1]=i,n[2]=s):s=n[2];const c=s;if("divider"===o.type){let t;return n[3]===Symbol.for("react.memo_cache_sentinel")?(t=e(D,{}),n[3]=t):t=n[3],t}if("action"===o.type){const t=!o.action;let r;return n[4]!==o.hotkeys||n[5]!==o.icon||n[6]!==o.label||n[7]!==c||n[8]!==t?(r=e(N,{fontSize:1,hotkeys:o.hotkeys,icon:o.icon,padding:2,space:2,text:o.label,disabled:t,onClick:c}),n[4]=o.hotkeys,n[5]=o.icon,n[6]=o.label,n[7]=c,n[8]=t,n[9]=r):r=n[9],r}if("group"===o.type){const t=o.icon;let r;n[10]===Symbol.for("react.memo_cache_sentinel")?(r={arrow:!1,constrainSize:!0,placement:"right-start",fallbackPlacements:["left-start","right","left","right-end","left-end","bottom","top"],preventOverflow:!0,__unstable_margins:Ke},n[10]=r):r=n[10];const s=o.label;let c,l;if(n[11]!==a||n[12]!==o.items||n[13]!==i){let t;n[15]!==a||n[16]!==i?(t=(t,n)=>e(Ye,{node:t,onDismiss:i,boundaryElement:a},n),n[15]=a,n[16]=i,n[17]=t):t=n[17],c=o.items.map(t),n[11]=a,n[12]=o.items,n[13]=i,n[14]=c}else c=n[14];return n[18]!==o.icon||n[19]!==o.label||n[20]!==c?(l=e(P,{fontSize:1,icon:t,padding:2,popover:r,space:2,text:s,children:c}),n[18]=o.icon,n[19]=o.label,n[20]=c,n[21]=l):l=n[21],l}if("custom"===o.type){const{component:t}=o;let r;return n[22]!==t||n[23]!==a?(r=e(t,{boundaryElement:a}),n[22]=t,n[23]=a,n[24]=r):r=n[24],r}return null}const He=i=>{const a=r(43),{node:c,onDismiss:l,position:d}=i,{x:u,y:p}=d,[m,f]=s(null),{getField:h}=Fe(),{getDocument:g}=te();let y;a[0]!==h||a[1]!==c?(y=h(c),a[0]=h,a[1]=c,a[2]=y):y=a[2];const{field:v,parent:w}=y;let x;x=v?.title||v?.name||"Unknown type";const k=x,[S,_]=s(void 0);let E,$,M,I;a[3]!==v||a[4]!==g||a[5]!==c||a[6]!==w?(E=()=>{(async()=>{const e=g(c.id);if(!e)return;const t=await Ge({node:c,field:v,parent:w,doc:e});_(t)})()},$=[v,c,w,g],a[3]=v,a[4]=g,a[5]=c,a[6]=w,a[7]=E,a[8]=$):(E=a[7],$=a[8]),o(E,$),a[9]!==u||a[10]!==p?(I={getBoundingClientRect:()=>({bottom:p,left:u,right:u,top:p,width:0,height:0})},a[9]=u,a[10]=p,a[11]=I):I=a[11],M=I;const P=M;let N,O;a[12]!==v?(O=b(v),a[12]=v,a[13]=O):O=a[13],N=O;const W=N;let G,U;a[14]===Symbol.for("react.memo_cache_sentinel")?(G={minWidth:120,maxWidth:160},a[14]=G):G=a[14],a[15]!==W||a[16]!==S?(U=e(T,{flex:"none",children:S?e(R,{size:1,children:W}):e(z,{size:1})}),a[15]=W,a[16]=S,a[17]=U):U=a[17];const q=S?k:"Loading...";let B,V,K,Y;a[18]!==q?(B=e(j,{flex:1,space:2,children:e(R,{size:1,weight:"semibold",children:q})}),a[18]=q,a[19]=B):B=a[19],a[20]!==U||a[21]!==B?(V=t(C,{gap:2,padding:2,children:[U,B]}),a[20]=U,a[21]=B,a[22]=V):V=a[22],a[23]!==m||a[24]!==S||a[25]!==l?(K=S&&t(n,{children:[e(D,{}),S.map(((t,n)=>e(Ye,{node:t,onDismiss:l,boundaryElement:m},n)))]}),a[23]=m,a[24]=S,a[25]=l,a[26]=K):K=a[26],a[27]!==V||a[28]!==K?(Y=t(A,{style:G,children:[V,K]}),a[27]=V,a[28]=K,a[29]=Y):Y=a[29];const H=`${u}-${p}`;let X,Z,J,Q;return a[30]!==u||a[31]!==p?(X={position:"absolute",left:u,top:p},a[30]=u,a[31]=p,a[32]=X):X=a[32],a[33]!==H||a[34]!==X?(Z=e("div",{style:X},H),a[33]=H,a[34]=X,a[35]=Z):Z=a[35],a[36]!==P||a[37]!==Y||a[38]!==Z?(J=e(L,{__unstable_margins:Ke,arrow:!1,open:!0,placement:"right-start",referenceElement:P,content:Y,children:Z}),a[36]=P,a[37]=Y,a[38]=Z,a[39]=J):J=a[39],a[40]!==l||a[41]!==J?(Q=e(F,{setBoundaryElement:f,onDismiss:l,children:J}),a[40]=l,a[41]=J,a[42]=Q):Q=a[42],Q};function Xe(e,t){try{const n=new URL(e,typeof location>"u"?void 0:location.origin);if(n.hash){const e=new URL(Xe(n.hash.slice(1),t));return`${n.origin}${n.pathname}${n.search}#${e.pathname}${e.search}`}return n.searchParams.set("preview",t),n.toString()}catch{return e}}const Ze=i(null);const Je=O(W)`
background-color: var(--overlay-bg);
border-radius: 3px;
pointer-events: none;
position: absolute;
will-change: transform;
box-shadow: var(--overlay-box-shadow);
transition: none;
--overlay-bg: transparent;
--overlay-box-shadow: inset 0 0 0 1px transparent;
[data-overlays] & {
--overlay-bg: color-mix(in srgb, transparent 95%, var(--card-focus-ring-color));
--overlay-box-shadow: inset 0 0 0 2px
color-mix(in srgb, transparent 50%, var(--card-focus-ring-color));
}
[data-fading-out] & {
transition:
box-shadow 1550ms,
background-color 1550ms;
--overlay-bg: rgba(0, 0, 255, 0);
--overlay-box-shadow: inset 0 0 0 1px transparent;
}
&[data-focused] {
--overlay-box-shadow: inset 0 0 0 1px var(--card-focus-ring-color);
}
&[data-hovered]:not([data-focused]) {
transition: none;
--overlay-box-shadow: inset 0 0 0 2px var(--card-focus-ring-color);
}
/* [data-unmounted] & {
--overlay-box-shadow: inset 0 0 0 1px var(--card-focus-ring-color);
} */
:link {
text-decoration: none;
}
`,Qe=O(C)`
bottom: 100%;
cursor: pointer;
pointer-events: none;
position: absolute;
right: 0;
[data-hovered] & {
pointer-events: all;
}
`,et=O(W)`
background-color: var(--card-focus-ring-color);
right: 0;
border-radius: 3px;
& [data-ui='Text'] {
color: #fff;
white-space: nowrap;
}
`,tt=O(C)`
bottom: 100%;
cursor: pointer;
pointer-events: none;
position: absolute;
left: 0;
`,nt=O(C)`
display: flex;
align-items: center;
background-color: var(--card-focus-ring-color);
right: 0;
border-radius: 3px;
& [data-ui='Text'],
& [data-sanity-icon] {
color: #fff;
white-space: nowrap;
}
`;const rt=o=>{const i=r(35),{element:s,focused:c,componentResolver:l,node:u,showActions:p,draggable:m}=o,{getField:f,getType:h}=Fe();let g;i[0]!==h||i[1]!==u?(g=h(u),i[0]=h,i[1]=u,i[2]=g):g=i[2];const y=g;let v;i[3]!==f||i[4]!==u?(v=f(u),i[3]=f,i[4]=u,i[5]=v):v=i[5];const{field:w,parent:b}=v;let x;i[6]!==u?(x="path"in u?function(e){const{id:t,type:n,path:r,baseUrl:o,tool:i,workspace:a}=e;return we({baseUrl:o,workspace:a,tool:i,type:n,id:t,path:xe(be.fromString(r))})}(u):u.href,i[6]=u,i[7]=x):x=i[7];const k=x,S=function(){const e=a(Ze);if(!e)throw new Error("Preview Snapshots context is missing");return e}();let _;e:{if(!("path"in u)){_=void 0;break e}let e;i[8]!==u.id||i[9]!==S?(e=S.find((e=>e._id===u.id))?.title,i[8]=u.id,i[9]=S,i[10]=e):e=i[10],_=e}const E=_;let $;e:{if(!("path"in u)){$=void 0;break e}if(!w||!y){$=void 0;break e}const e=w.value.type,t=!!c;let n;i[11]!==s||i[12]!==w||i[13]!==u||i[14]!==b||i[15]!==y||i[16]!==t||i[17]!==e?(n={document:y,element:s,field:w,focused:t,node:u,parent:b,type:e},i[11]=s,i[12]=w,i[13]=u,i[14]=b,i[15]=y,i[16]=t,i[17]=e,i[18]=n):n=i[18],$=n}const M=$,I=function(e,t){const n=r(4);let o;e:{if(!e){o=void 0;break e}let r;if(n[0]!==e||n[1]!==t){const i=t?.(e);if(!i){o=void 0;break e}if(d(i)){o=i;break e}r=(Array.isArray(i)?i:[i]).map(it),n[0]=e,n[1]=t,n[2]=r,n[3]=o}else r=n[2],o=n[3];o=r}return o}(M,l);let P;i[19]!==y?(P=y?.icon?e("div",{dangerouslySetInnerHTML:{__html:y.icon}}):e(U,{}),i[19]=y,i[20]=P):P=i[20];const D=P;let z,j,C,A;return i[21]!==k||i[22]!==p?(z=p?e(Qe,{gap:1,paddingBottom:1,"data-sanity-overlay-element":!0,children:e(at,{href:k})}):null,i[21]=k,i[22]=p,i[23]=z):z=i[23],i[24]!==m||i[25]!==D||i[26]!==E?(j=E&&e(tt,{gap:1,paddingBottom:1,children:t(nt,{gap:2,padding:2,children:[m&&e(T,{marginRight:1,children:e(R,{className:"drag-handle",size:0,children:e(q,{})})}),e(R,{size:0,children:D}),e(R,{size:1,weight:"medium",children:E})]})}),i[24]=m,i[25]=D,i[26]=E,i[27]=j):j=i[27],i[28]!==M||i[29]!==I?(C=Array.isArray(I)?I.map(((t,n)=>{const{component:r,props:o}=t;return e(r,{PointerEvents:G,...M,...o},n)})):I,i[28]=M,i[29]=I,i[30]=C):C=i[30],i[31]!==z||i[32]!==j||i[33]!==C?(A=t(n,{children:[z,j,C]}),i[31]=z,i[32]=j,i[33]=C,i[34]=A):A=i[34],A},ot=c((function(t){const n=r(17),{focused:i,hovered:a,rect:s,wasMaybeCollapsed:c,enableScrollIntoView:d}=t,u=l(null),p=l(!1);let m;const f=`${s.w}px`,h=`${s.h}px`,g=`translate(${s.x}px, ${s.y}px)`;let y;n[0]!==f||n[1]!==h||n[2]!==g?(y={width:f,height:h,transform:g},n[0]=f,n[1]=h,n[2]=g,n[3]=y):y=n[3],m=y;const v=m;let w,b;n[4]!==d||n[5]!==i||n[6]!==c?(w=()=>{if(!p.current&&!c&&!0===i&&u.current&&d){const e=u.current;Se(u.current,{behavior:t=>{0!==t.length&&e.scrollIntoView({behavior:"smooth",block:"center",inline:"nearest"})},scrollMode:"if-needed",block:"center",inline:"nearest"})}p.current=!0===i},b=[i,c,d],n[4]=d,n[5]=i,n[6]=c,n[7]=w,n[8]=b):(w=n[7],b=n[8]),o(w,b);const x=i?"":void 0,k=a?"":void 0;let S,_;return n[9]!==a||n[10]!==t?(S=a&&e(rt,{...t}),n[9]=a,n[10]=t,n[11]=S):S=n[11],n[12]!==v||n[13]!==x||n[14]!==k||n[15]!==S?(_=e(Je,{"data-focused":x,"data-hovered":k,ref:u,style:v,children:S}),n[12]=v,n[13]=x,n[14]=k,n[15]=S,n[16]=_):_=n[16],_}));function it(e){return"object"==typeof e&&"component"in e?e:{component:e,props:{}}}const at=c((function(t){const n=r(6),o=u(st,ct);let i,a;n[0]!==t.href||n[1]!==o?(a=Xe(t.href,o),n[0]=t.href,n[1]=o,n[2]=a):a=n[2],i=a;const s=i;let c,l;return n[3]===Symbol.for("react.memo_cache_sentinel")?(c=e(et,{padding:2,children:e(R,{size:1,weight:"medium",children:"Open in Studio"})}),n[3]=c):c=n[3],n[4]!==s?(l=e(T,{as:"a",href:s,target:"_blank",rel:"noopener noreferrer",children:c}),n[4]=s,n[5]=l):l=n[5],l}));function st(e){const t=()=>e();return window.addEventListener("popstate",t),()=>window.removeEventListener("popstate",t)}function ct(){return window.location.href}const lt=t=>{const n=r(5),{dragGroupRect:o}=t,i=`${o.y}px`,a=`${o.x}px`,s=o.w-1+"px",c=o.h-1+"px";let l;return n[0]!==i||n[1]!==a||n[2]!==s||n[3]!==c?(l=e("div",{style:{position:"absolute",top:i,left:a,width:s,height:c,border:"1px dashed #f0709b",pointerEvents:"none"}}),n[0]=i,n[1]=a,n[2]=s,n[3]=c,n[4]=l):l=n[4],l};function dt(e,t,n){return e*(1-n)+t*n}const ut=({dragInsertPosition:t})=>{if(null===t)return;let n=0,r=0,o=0,i=0;const a=.0125;if("horizontal"===(t?.left||t?.right?"horizontal":"vertical")){const{left:e,right:s}=t;if(o=6,s&&e){const t=e.rect.x+e.rect.w,o=s.rect.x,c=Math.min(s.rect.h,e.rect.h)*a;n=dt(t,o,.5)-3,r=e.rect.y+c,i=Math.min(s.rect.h,e.rect.h)-2*c}else if(s&&!e){const e=s.rect.h*a;n=s.rect.x-3,r=s.rect.y+e,i=s.rect.h-2*e}else if(e&&!s){const t=e.rect.h*a;n=e.rect.x+e.rect.w-3,r=e.rect.y+t,i=e.rect.h-2*t}}else{const{bottom:e,top:s}=t;if(e&&s){const t=Math.min(s.rect.x,e.rect.x),c=s.rect.y+s.rect.h,l=e.rect.y,d=Math.min(e.rect.w,s.rect.w)*a;i=6,n=t+d,r=dt(c,l,.5)-3,o=Math.max(e.rect.w,s.rect.w)-2*d}else if(e&&!s){const t=e.rect.w*a;n=e.rect.x+t,r=e.rect.y-3,o=e.rect.w-2*t,i=6}else if(s&&!e){const e=s.rect.w*a;n=s.rect.x+e,r=s.rect.y+s.rect.h-3,o=s.rect.w-2*e,i=6}}return e("div",{style:{position:"absolute",width:`${o}px`,height:`${i}px`,transform:`translate(${n}px, ${r}px)`,background:"#556bfc",border:"2px solid white",borderRadius:"999px",zIndex:"999999"}})},pt=O.div`
--drag-preview-opacity: 0.98;
--drag-preview-skeleton-stroke: #ffffff;
@media (prefers-color-scheme: dark) {
--drag-preview-skeleton-stroke: #383d51;
}
position: fixed;
display: grid;
transform: ${({$scaleFactor:e,$width:t,$height:n})=>`translate(calc(var(--drag-preview-x) - ${t/2}px), calc(var(--drag-preview-y) - ${n/2}px)) scale(${e})`};
width: ${({$width:e})=>`${e}px`};
height: ${({$height:e})=>`${e}px`};
z-index: 9999999;
opacity: var(--drag-preview-opacity);
cursor: move;
.drag-preview-content-wrapper {
position: relative;
width: 100%;
height: 100%;
container-type: inline-size;
}
[data-ui='card'] {
position: relative;
width: 100%;
height: 100%;
}
.drag-preview-skeleton {
position: absolute;
inset: 0;
rect {
stroke: var(--drag-preview-skeleton-stroke);
}
}
.drag-preview-handle {
position: absolute;
top: 4cqmin;
left: 4cqmin;
width: 6cqmin;
fill: var(--drag-preview-handle-fill);
}
`;const mt=t=>{const n=r(24),{skeleton:o}=t,i=Math.min(o.maxWidth,window.innerWidth/2),a=o.w>i?i/o.w:1,s=o.offsetX*a,c=o.offsetY*a,l=B(),d=V(),u=d.radius[(p=o.w,m=0,f=1920,h=1,g=d.radius.length-2,~~function(e,t,n){return e<t?t:e>n?n:e}((p-m)*(g-h)/(f-m)+h,h,g))];var p,m,f,h,g;let y;n[0]!==o.childRects?(y=o.childRects.filter(ft),n[0]=o.childRects,n[1]=y):y=n[1];const v=y;let w;n[2]!==o.childRects?(w=o.childRects.filter(ht),n[2]=o.childRects,n[3]=w):w=n[3];const b=w,x=o.w,k=o.h,S=l?"dark":"light",_=`0 0 ${o.w} ${o.h}`;let E,$,M,I,P;return n[4]!==v||n[5]!==b?(E=[...v,...b],n[4]=v,n[5]=b,n[6]=E):E=n[6],n[7]!==E||n[8]!==d.color.skeleton.from?($=E.map(((t,n)=>e("rect",{x:t.x,y:t.y,width:t.w,height:t.h,fill:d.color.skeleton.from},n))),n[7]=E,n[8]=d.color.skeleton.from,n[9]=$):$=n[9],n[10]!==_||n[11]!==$?(M=e("div",{className:"drag-preview-content-wrapper",children:e("svg",{className:"drag-preview-skeleton",viewBox:_,children:$})}),n[10]=_,n[11]=$,n[12]=M):M=n[12],n[13]!==u||n[14]!==S||n[15]!==M?(I=e(W,{radius:u,shadow:4,overflow:"hidden",tone:"transparent",scheme:S,children:M}),n[13]=u,n[14]=S,n[15]=M,n[16]=I):I=n[16],n[17]!==s||n[18]!==c||n[19]!==a||n[20]!==o.h||n[21]!==o.w||n[22]!==I?(P=e(pt,{$width:x,$height:k,$offsetX:s,$offsetY:c,$scaleFactor:a,children:I}),n[17]=s,n[18]=c,n[19]=a,n[20]=o.h,n[21]=o.w,n[22]=I,n[23]=P):P=n[23],P};function ft(e){return"IMG"===e.tagName}function ht(e){return"IMG"!==e.tagName}const gt=O(W)`
position: fixed;
bottom: 2rem;
left: 2rem;
`,yt=()=>{const n=r(2);let o,i;return n[0]===Symbol.for("react.memo_cache_sentinel")?(o={zIndex:"999999"},n[0]=o):o=n[0],n[1]===Symbol.for("react.memo_cache_sentinel")?(i=e(gt,{padding:2,shadow:2,radius:2,style:o,children:t(C,{align:"center",gap:2,children:[e(K,{keys:["Shift"]}),e(R,{size:1,children:"Zoom Out"}),e(Y,{})]})}),n[1]=i):i=n[1],i},vt=(e,t)=>{const{type:n}=t;switch(n){case"element/register":return e.find((e=>e.id===t.id))?e:[...e,{id:t.id,activated:!1,element:t.element,focused:!1,hovered:!1,rect:t.rect,sanity:t.sanity,dragDisabled:t.dragDisabled}];case"element/activate":return e.map((e=>e.id===t.id?{...e,activated:!0}:e));case"element/update":return e.map((e=>e.id===t.id?{...e,sanity:t.sanity,rect:t.rect}:e));case"element/unregister":return e.filter((e=>e.id!==t.id));case"element/deactivate":return e.map((e=>e.id===t.id?{...e,activated:!1,hovered:!1}:e));case"element/mouseenter":return e.map((e=>e.id===t.id?{...e,rect:t.rect,hovered:!0}:{...e,hovered:!1}));case"element/mouseleave":return e.map((e=>e.id===t.id?{...e,hovered:!1}:e));case"element/updateRect":return e.map((e=>e.id===t.id?{...e,rect:t.rect}:e));case"element/click":return e.map((e=>({...e,focused:e.id===t.id&&"clicked"})));case"overlay/blur":case"presentation/blur":return e.map((e=>({...e,focused:!1})));case"presentation/focus":{const n=e.find((e=>"clicked"===e.focused));return e.map((e=>{const r="path"in e.sanity&&e.sanity.id===t.data.id&&e.sanity.path===t.data.path;return n&&e===n&&r?e:{...e,focused:r&&n?"duplicate":r}}))}default:return e}};function wt(e,t){const{type:n}=t;let{contextMenu:r,focusPath:o,perspective:i,isDragging:a,dragInsertPosition:s,dragShowMinimap:c,dragShowMinimapPrompt:l,dragSkeleton:d,dragMinimapTransition:u,dragGroupRect:p}=e,m=!1;if("presentation/focus"===n){const n=e.focusPath;o=t.data.path,n!==o&&(m=n.slice(o.length).startsWith("["))}return"presentation/perspective"===n&&(i=t.data.perspective),"element/contextmenu"===n&&(r="sanity"in t?{node:t.sanity,position:t.position}:null),("element/click"===n||"element/mouseleave"===n||"overlay/blur"===n||"presentation/blur"===n||"presentation/focus"===n)&&(r=null),"overlay/dragUpdateInsertPosition"===n&&(s=t.insertPosition),"overlay/dragStart"===n&&(a=!0),"overlay/dragUpdateSkeleton"===t.type&&(d=t.skeleton),"overlay/dragEnd"===n&&(a=!1),"overlay/dragToggleMinimapPrompt"===t.type&&(l=t.display),"overlay/dragStartMinimapTransition"===n&&(u=!0),"overlay/dragEndMinimapTransition"===n&&(u=!1),"overlay/dragUpdateGroupRect"===n&&(p=t.groupRect),"overlay/dragToggleMinimap"===n&&(c=t.display),{...e,contextMenu:r,elements:vt(e.elements,t),dragInsertPosition:s,dragSkeleton:d,dragGroupRect:p,isDragging:a,focusPath:o,perspective:i,wasMaybeCollapsed:m,dragShowMinimap:c,dragShowMinimapPrompt:l,dragMinimapTransition:u}}const bt=function(t){const n=r(7),{comlink:i,children:a}=t;let c;n[0]===Symbol.for("react.memo_cache_sentinel")?(c=[],n[0]=c):c=n[0];const[l,d]=s(c);let u,p,m;n[1]!==i?(u=()=>i?.on("presentation/preview-snapshots",(e=>{d(e.snapshots)})),p=[i],n[1]=i,n[2]=u,n[3]=p):(u=n[2],p=n[3]),o(u,p),m=l;const f=m;let h;return n[4]!==a||n[5]!==f?(h=e(Ze.Provider,{value:f,children:a}),n[4]=a,n[5]=f,n[6]=h):h=n[6],h};function xt(e){return"path"in e}function kt(e){return"document"===e.type}function St(e){return"type"===e.type}const _t=function(t){const n=r(27),{comlink:i,children:a,elements:c}=t;let d;n[0]===Symbol.for("react.memo_cache_sentinel")?(d=new Map,n[0]=d):d=n[0];const[u,p]=s(d),[m,f]=s(null);let h;n[1]!==i?(h=async e=>{if(i)try{const t=await i.fetch("visual-editing/schema",void 0,{signal:e,suppressWarnings:!0});f(t.schema)}catch{}},n[1]=i,n[2]=h):h=n[2];const g=h;let y,v,w;n[3]!==i||n[4]!==g?(y=()=>{if(!i)return;const e=new AbortController,t=i.onStatus((()=>{g(e.signal)}),"connected");return()=>{e.abort(),t()}},v=[i,g],n[3]=i,n[4]=g,n[5]=y,n[6]=v):(y=n[5],v=n[6]),o(y,v),n[7]===Symbol.for("react.memo_cache_sentinel")?(w=[],n[7]=w):w=n[7];const b=l(w);let x,k,S;n[8]!==i||n[9]!==c?(x=()=>{const e=new AbortController,t=function(e){return e.reduce(((e,t)=>{const{sanity:n}=t;if(!("id"in n)||!n.path.includes("[_key=="))return e;const r=function(e){return e.split(".").toReversed().reduce(((e,t)=>e.length?[t,...e]:t.includes("[_key==")?[t]:[]),[]).join(".")}(n.path);return e.find((e=>e.id===n.id&&e.path===r))||e.push({id:n.id,path:r}),e}),[])}(c);return t.some((e=>!b.current.find((t=>{const{id:n,path:r}=t;return n===e.id&&r===e.path}))))&&(async(e,t)=>{if(e.length&&i)try{const n=await i.fetch("visual-editing/schema-union-types",{paths:e},{signal:t,suppressWarnings:!0});p(n.types),b.current=e}catch{}})(t,e.signal),()=>e.abort()},k=[i,c],n[8]=i,n[9]=c,n[10]=x,n[11]=k):(x=n[10],k=n[11]),o(x,k),n[12]!==m?(S=(e,t)=>{const n=t||"document";if(!m||"string"!=typeof e&&(!xt(e)||!Array.isArray(m)))return;const r="string"==typeof e?e:e.type,o="document"===n?kt:St;return m.filter(o).find((e=>e.name===r))},n[12]=m,n[13]=S):S=n[13];const _=S;let E;n[14]!==_||n[15]!==u?(E=e=>{if(!xt(e))return{field:void 0,parent:void 0};const t=_(e);if(!t)return{field:void 0,parent:void 0};const n=e.path.split(".").flatMap(Et);try{return function t(n,r,o,i){const a=void 0===i?[]:i;if(!n)return{field:void 0,parent:void 0};const[s,...c]=r;if("fields"in n){const e=n.fields[s];if(!e&&"rest"in n)return t(n.rest,r,n,a);if(!c.length)return{field:e,parent:o};if(!e)throw new Error(`[@sanity/visual-editing] No field could be resolved at path: "${[...a,...r].join(".")}"`);return t(e.value,c,n,[...a,s])}if("array"===n.type)return t(n.of,r,n,a);if("arrayItem"===n.type)return c.length?t(n.value,c,n,[...a,s]):{field:n,parent:o};if("union"===n.type){const r=s.startsWith("[_key==")?u?.get(e.id)?.get([a.join("."),s].filter(Boolean).join("")):s;return t(n.of.find((e=>"unionOption"===e.type?e.name===r:e)),c,n,[...a,s])}if("unionOption"===n.type)return s?t(n.value,r,n,a):{field:n,parent:o};if("inline"===n.type)return t(_(n.name,"type").value,r,n,a);throw new Error(`[@sanity/visual-editing] No field could be resolved at path: "${[...a,...r].join(".")}"`)}(t,n,void 0)}catch(e){const t=e;return t instanceof Error&&console.warn(t.message),{field:void 0,parent:void 0}}},n[14]=_,n[15]=u,n[16]=E):E=n[16];const $=E;let M,I,P;n[17]!==m?(I=m||[],n[17]=m,n[18]=I):I=n[18],n[19]!==$||n[20]!==_||n[21]!==u||n[22]!==I?(P={getField:$,getType:_,resolvedTypes:u,schema:I},n[19]=$,n[20]=_,n[21]=u,n[22]=I,n[23]=P):P=n[23],M=P;const D=M;let T;return n[24]!==a||n[25]!==D?(T=e(Le.Provider,{value:D,children:a}),n[24]=a,n[25]=D,n[26]=T):T=n[26],T};function Et(e){return e.includes("[")?e.split(/(\[.+\])/,2):[e]}const $t=(e=>{let t=e;const n=new Set;return{getState:()=>t,setState:e=>{t=e(t),n.forEach((e=>e()))},subscribe:e=>(n.add(e),()=>n.delete(e))}})({}),Mt=t=>{const n=r(11),{comlink:i,children:a}=t;let s,c,l,d,u,p;n[0]!==i?(s=()=>i?.on("presentation/shared-state",It),c=[i],n[0]=i,n[1]=s,n[2]=c):(s=n[1],c=n[2]),o(s,c),n[3]!==i?(l=()=>{(async function(){const e=await(i?.fetch("visual-editing/shared-state",void 0,{suppressWarnings:!0}));e&&$t.setState((()=>e.state))})().catch(Pt)},d=[i],n[3]=i,n[4]=l,n[5]=d):(l=n[4],d=n[5]),o(l,d),n[6]!==i?(p={comlink:i,store:$t},n[6]=i,n[7]=p):p=n[7],u=p;const m=u;let f;return n[8]!==a||n[9]!==m?(f=e(pe.Provider,{value:m,children:a}),n[8]=a,n[9]=m,n[10]=f):f=n[10],f};function It(e){"value"in e?$t.setState((t=>({...t,[e.key]:e.value}))):$t.setState((t=>Object.fromEntries(Object.entries(t).filter((t=>{const[n]=t;return n!==e.key})))))}function Pt(e){console.debug(e),console.warn("[@sanity/visual-editing]: Failed to fetch shared state. Check your version of `@sanity/presentation` is up-to-date")}const Dt={"Visual Editing Drag Sequence Completed":(Tt={name:"Visual Editing Drag Sequence Completed",description:"An array is successfully reordered using drag and drop.",version:1},{type:"log",name:Tt.name,version:Tt.version,description:Tt.description,schema:void 0})};var Tt;function Rt(){}function zt(e){return e.id}function jt(e){return!!e}function Ct(e){const{sanity:t}=e;return"id"in t?{...t,id:"isDraft"in t?`${ke}${t.id}`:t.id}:null}const At=O.div`
background-color: transparent;
direction: ltr;
inset: 0;
pointer-events: none;
position: absolute;
width: 100%;
height: 100%;
z-index: ${({$zIndex:e})=>e??"9999999"};
`;function Lt(e){let t,n;return t=requestAnimationFrame((()=>{n=requestAnimationFrame(e)})),()=>{void 0!==t&&cancelAnimationFrame(t),void 0!==n&&cancelAnimationFrame(n)}}const Ft=e=>{const t=r(8),{documentIds:n}=e;let i;t[0]===Symbol.for("react.memo_cache_sentinel")?(i=[],t[0]=i):i=t[0];const[a,c]=s(i);let l,d;t[1]!==n?(l=()=>{c((e=>{const t=Array.from(new Set(n));return e.length===t.length&&0===e.reduce(Wt,t)?.length?e:t}))},d=[n],t[1]=n,t[2]=l,t[3]=d):(l=t[2],d=t[3]),o(l,d);const u=le();let p,m;return t[4]!==u||t[5]!==a?(p=()=>{for(const e of a)u.send({type:"observe",documentId:de(e)}),u.send({type:"observe",documentId:ue(e)});return()=>{for(const e of a)u.send({type:"unobserve",documentId:de(e)}),u.send({type:"unobserve",documentId:ue(e)})}},m=[u,a],t[4]=u,t[5]=a,t[6]=p,t[7]=m):(p=t[6],m=t[7]),o(p,m),null},Nt=e=>{const t=r(11),{comlink:n,dispatch:i,inFrame:a,onDrag:s,overlayEnabled:c,rootElement:d}=e,{dispatchDragEndEvent:u}=function(){const e=r(4),{getDocument:t}=te();let n,i;e[0]!==t?(n=()=>{const e=e=>{const{insertPosition:n,target:r,preventInsertDefault:o}=e.detail;if(o)return;const i=function(e){if(e){const{top:t,right:n,bottom:r,left:o}=e;if(o||t)return{node:(o??t).sanity,position:"after"};if(n||r)return{node:(n??r).sanity,position:"before"}}}(n);if(i){const e=t(r.id),{node:n,position:o}=i,{key:a,hasExplicitKey:s}=ne(r),{path:c,key:l}=ne(n);c&&l&&l!==a&&e.patch((async e=>{const{getSnapshot:t}=e,n=await t(),i=re(n,r.path);return s?[ge(c,ye({_key:a})),ge(c,ve(i,o,{_key:l}))]:[ge(c,ye(~~a)),ge(c,ve(i,o,l>a?~~l-1:~~l))]}))}};return window.addEventListener("sanity/dragEnd",e),()=>{window.removeEventListener("sanity/dragEnd",e)}},i=[t],e[0]=t,e[1]=n,e[2]=i):(n=e[1],i=e[2]),o(n,i);const a=Ae;let s;return e[3]===Symbol.for("react.memo_cache_sentinel")?(s={dispatchDragEndEvent:a},e[3]=s):s=e[3],s}();let p;t[0]!==n||t[1]!==i||t[2]!==u||t[3]!==s?(p=e=>{if("element/click"===e.type){const{sanity:t}=e;n?.post("visual-editing/focus",t)}else if("overlay/activate"===e.type)n?.post("visual-editing/toggle",{enabled:!0});else if("overlay/deactivate"===e.type)n?.post("visual-editing/toggle",{enabled:!1});else if("overlay/dragEnd"===e.type){const{insertPosition:t,target:r,dragGroup:o,flow:i,preventInsertDefault:a}=e;u({insertPosition:t,target:r,dragGroup:o,flow:i,preventInsertDefault:a}),t&&function(e,t,n){if(!n)return;const r=Dt[e];if(!r)throw new Error(`Telemetry event: ${e} does not exist`);n.post("visual-editing/telemetry-log",{event:r,data:t})}("Visual Editing Drag Sequence Completed",null,n)}else{if("overlay/dragUpdateCursorPosition"===e.type)return void s(e.x,e.y);if("overlay/setCursor"===e.type){const{element:t,cursor:n}=e;n?t.style.cursor=n:t.style.removeProperty("cursor")}}i(e)},t[0]=n,t[1]=i,t[2]=u,t[3]=s,t[4]=p):p=t[4];const m=function(e,t,n){const i=r(6),a=l(),s=ce();let c,d;return i[0]!==e||i[1]!==t||i[2]!==n||i[3]!==s?(c=()=>{if(e)return a.current=me({handler:t,overlayElement:e,inFrame:n,optimisticActorReady:s}),()=>{a.current?.destroy(),a.current=void 0}},d=[e,t,n,s],i[0]=e,i[1]=t,i[2]=n,i[3]=s,i[4]=c,i[5]=d):(c=i[4],d=i[5]),o(c,d),a}(d,p,a);let f,h;return t[5]!==m.current||t[6]!==c?(f=()=>{c?m.current?.activate():m.current?.deactivate()},t[5]=m.current,t[6]=c,t[7]=f):f=t[7],t[8]!==m||t[9]!==c?(h=[m,c],t[8]=m,t[9]=c,t[10]=h):h=t[10],o(f,h),null},Ot=i=>{const a=r(70),{comlink:c,componentResolver:d,inFrame:u,zIndex:m}=i,[g,y]=s(),v=B();let w;a[0]===Symbol.for("react.memo_cache_sentinel")?(w={contextMenu:null,dragInsertPosition:null,dragShowMinimap:!1,dragShowMinimapPrompt:!1,dragSkeleton:null,elements:[],focusPath:"",isDragging:!1,perspective:"published",wasMaybeCollapsed:!1,dragMinimapTransition:!1,dragGroupRect:null},a[0]=w):w=a[0];const[b,x]=p(wt,w),{contextMenu:k,dragInsertPosition:S,dragShowMinimap:_,dragShowMinimapPrompt:E,dragSkeleton:$,elements:M,isDragging:I,perspective:P,wasMaybeCollapsed:D,dragMinimapTransition:T,dragGroupRect:R}=b,[z,j]=s(null),[C,A]=s(!0);let L,F,N;a[1]!==c?(L=()=>{const e=[c?.on("presentation/focus",(e=>{x({type:"presentation/focus",data:e})})),c?.on("presentation/blur",(e=>{x({type:"presentation/blur",data:e})})),c?.on("presentation/toggle-overlay",(()=>{A(Gt)})),c?.onStatus((e=>{y(e)}))].filter(Boolean);return()=>e.forEach(Ut)},F=[c],a[1]=c,a[2]=L,a[3]=F):(L=a[2],F=a[3]),o(L,F),function(e,t){const n=r(4);let i,a;n[0]!==e||n[1]!==t?(i=()=>{const n=new AbortController;e?.fetch("visual-editing/fetch-perspective",void 0,{signal:n.signal,suppressWarnings:!0}).then((e=>{t({type:"presentation/perspective",data:e})})).catch(Rt);const r=e?.on("presentation/perspective",(e=>{t({type:"presentation/perspective",data:e})}));return()=>{r?.(),n.abort()}},a=[e,t],n[0]=e,n[1]=t,n[2]=i,n[3]=a):(i=n[2],a=n[3]),o(i,a)}(c,x),function(e,t,n){const i=r(7),a=l(void 0);let s;i[0]!==e?(s=(t,n)=>{e?.post("visual-editing/documents",{documents:t,perspective:n})},i[0]=e,i[1]=s):s=i[1];const c=s;let d,u;i[2]!==t||i[3]!==n||i[4]!==c?(d=()=>{const e=t.map(Ct).filter(jt),r=new Set(e.map(zt));if(!a.current||!function(e,t){if(e===t)return!0;if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}(r,a.current.nodeIds)||n!==a.current.perspective){const t=Array.from(r).map((t=>{const n=e.find((e=>e.id===t)),{type:r,projectId:o,dataset:i}=n;return o&&i?{_id:t,_type:r,_projectId:o,_dataset:i}:{_id:t,_type:r}}));a.current={nodeIds:r,perspective:n},c(t,n)}},u=[t,n,c],i[2]=t,i[3]=n,i[4]=c,i[5]=d,i[6]=u):(d=i[5],u=i[6]),o(d,u)}(c,M,P),a[4]!==z?(N=(e,t)=>{z&&(z.style.setProperty("--drag-preview-x",`${e}px`),z.style.setProperty("--drag-preview-y",t-window.scrollY+"px"))},a[4]=z,a[5]=N):N=a[5];const O=N;let W,G;a[6]===Symbol.for("react.memo_cache_sentinel")?(W=()=>{const e=qt,t=e=>{f(e)&&A(Bt)},n=e=>{f(e)&&A(Vt),h(["mod","\\"],e)&&A(Kt)};return window.addEventListener("click",e),window.addEventListener("keydown",n),window.addEventListener("keyup",t),()=>{window.removeEventListener("click",e),window.removeEventListener("keydown",n),window.removeEventListener("keyup",t)}},G=[A],a[6]=W,a[7]=G):(W=a[6],G=a[7]),o(W,G);const[U,q]=s(!1),[V,K]=s(!1),Y=l(void 0);let Q,ee,te,ne;a[8]!==C?(Q=()=>{if(C)return Lt((()=>{q(!0),Lt((()=>{K(!0),Y.current=setTimeout((()=>{K(!1),q(!1)}),1500)}))}));Y.current&&(clearTimeout(Y.current),q(!1),K(!1))},ee=[C],a[8]=C,a[9]=Q,a[10]=ee):(Q=a[9],ee=a[10]),o(Q,ee),a[11]!==M?(ne=M.flatMap(Yt),a[11]=M,a[12]=ne):ne=a[12],te=ne;const re=te;let oe;a[13]===Symbol.for("react.memo_cache_sentinel")?(oe=()=>{x({type:"overlay/blur"})},a[13]=oe):oe=a[13];const ie=oe,ae=ce();let se;se=ae?d:void 0;const le=se;let de;e:{if(u&&"connected"!==g||I){let e;a[14]===Symbol.for("react.memo_cache_sentinel")?(e=[],a[14]=e):e=a[14],de=e;break e}let t;a[15]!==le||a[16]!==T||a[17]!==_||a[18]!==M||a[19]!==u||a[20]!==I||a[21]!==ae||a[22]!==D?(t=M.filter(Ht).map((t=>{const{id:n,element:r,focused:o,hovered:i,rect:a,sanity:s,dragDisabled:c}=t,l=!c&&!!r.getAttribute("data-sanity")&&ae&&M.some((e=>"id"in e.sanity&&"id"in s&&(fe(e.sanity,s)&&e.sanity.path!==s.path)));return e(ot,{componentResolver:le,element:r,enableScrollIntoView:!I&&!T&&!_,focused:o,hovered:i,node:s,rect:a,showActions:!u,draggable:l,isDragging:I||T,wasMaybeCollapsed:o&&D},n)})),a[15]=le,a[16]=T,a[17]=_,a[18]=M,a[19]=u,a[20]=I,a[21]=ae,a[22]=D,a[23]=t):t=a[23],de=t}const ue=de,pe=v?"dark":"light",me=V?"":void 0,he=U?"":void 0;let ge,ye,ve,we,be,xe,ke,Se,_e,Ee,$e;return a[24]!==re||a[25]!==P?(ge=e(Ft,{documentIds:re,perspective:P}),a[24]=re,a[25]=P,a[26]=ge):ge=a[26],a[27]!==c||a[28]!==u||a[29]!==C||a[30]!==z||a[31]!==O?(ye=e(Nt,{comlink:c,dispatch:x,inFrame:u,onDrag:O,overlayEnabled:C,rootElement:z}),a[27]=c,a[28]=u,a[29]=C,a[30]=z,a[31]=O,a[32]=ye):ye=a[32],a[33]!==k?(ve=k&&e(He,{...k,onDismiss:ie}),a[33]=k,a[34]=ve):ve=a[34],a[35]!==R||a[36]!==S||a[37]!==T||a[38]!==E||a[39]!==I?(we=I&&!T&&t(n,{children:[S&&e(ut,{dragInsertPosition:S}),E&&e(yt,{}),R&&e(lt,{dragGroupRect:R})]}),a[35]=R,a[36]=S,a[37]=T,a[38]=E,a[39]=I,a[40]=we):we=a[40],a[41]!==$||a[42]!==I?(be=I&&$&&e(mt,{skeleton:$}),a[41]=$,a[42]=I,a[43]=be):be=a[43],a[44]!==ue||a[45]!==me||a[46]!==he||a[47]!==ge||a[48]!==ye||a[49]!==ve||a[50]!==we||a[51]!==be||a[52]!==m?(xe=t(At,{"data-fading-out":me,"data-overlays":he,ref:j,$zIndex:m,children:[ge,ye,ve,ue,we,be]}),a[44]=ue,a[45]=me,a[46]=he,a[47]=ge,a[48]=ye,a[49]=ve,a[50]=we,a[51]=be,a[52]=m,a[53]=xe):xe=a[53],a[54]!==c||a[55]!==xe?(ke=e(Mt,{comlink:c,children:xe}),a[54]=c,a[55]=xe,a[56]=ke):ke=a[56],a[57]!==c||a[58]!==ke?(Se=e(bt,{comlink:c,children:ke}),a[57]=c,a[58]=ke,a[59]=Se):Se=a[59],a[60]!==c||a[61]!==M||a[62]!==Se?(_e=e(_t,{comlink:c,elements:M,children:Se}),a[60]=c,a[61]=M,a[62]=Se,a[63]=_e):_e=a[63],a[64]!==z||a[65]!==_e?(Ee=e(H,{children:e(X,{element:z,children:_e})}),a[64]=z,a[65]=_e,a[66]=Ee):Ee=a[66],a[67]!==pe||a[68]!==Ee?($e=e(Z,{scheme:pe,theme:J,tone:"transparent",children:Ee}),a[67]=pe,a[68]=Ee,a[69]=$e):$e=a[69],$e};function Wt(e,t){return e.filter((e=>e!==t))}function Gt(e){return!e}function Ut(e){return e()}function qt(e){const t=e.target;if((Q(t)||ee(t)&&t.closest("a"))&&e.altKey){e.preventDefault(),e.stopPropagation();const t=new MouseEvent(e.type,{...e,altKey:!1,bubbles:!0,cancelable:!0});e.target?.dispatchEvent(t)}}function Bt(e){return!e}function Vt(e){return!e}function Kt(e){return!e}function Yt(e){return"id"in e.sanity?[e.sanity.id]:[]}function Ht(e){return e.activated||e.focused}const Xt=e=>{const t=r(4),{comlink:n,refresh:i}=e,a=l(0),s=l(0);let c,d;return t[0]!==n||t[1]!==i?(c=()=>n.on("presentation/refresh",(e=>{if("manual"===e.source){clearTimeout(a.current);const t=i(e);if(!1===t)return;let r;n.post("visual-editing/refreshing",e),r=!1,a.current=window.setTimeout((()=>{n.post("visual-editing/refreshed",e),r=!0}),3e3),t?.finally?.((()=>{r||(clearTimeout(a.current),n.post("visual-editing/refreshed",e))}))}else if("mutation"===e.source){clearTimeout(s.current);const t=i(e);if(!1===t)return;n.post("visual-editing/refreshing",e),s.current=window.setTimeout((()=>{const t=i(e);!1!==t&&(n.post("visual-editing/refreshing",e),t?.finally?.((()=>{n.post("visual-editing/refreshed",e)}))||n.post("visual-editing/refreshed",e))}),1e3),t?.finally?.((()=>{n.post("visual-editing/refreshed",e)}))||n.post("visual-editing/refreshed",e)}})),d=[n,i],t[0]=n,t[1]=i,t[2]=c,t[3]=d):(c=t[2],d=t[3]),o(c,d),null};function Zt(e){const t=r(3);let n,i;t[0]!==e?(n=()=>{if(!e)return;const t=function(e){const t=new Pe(1),n=new De;return e.fetch("visual-editing/snapshot-welcome",void 0,{suppressWarnings:!0}).then((e=>{t.next(e.event)})).catch((()=>{})),e.on("presentation/snapshot-event",(e=>{"reconnect"===e.event.type&&t.next(e.event),"mutation"===e.event.type&&n.next(e.event)})),Te(t,n)}(e),n=Re(e),r=$e(n,{input:{client:{withConfig:Qt},sharedListener:t}});r.start();const o=new AbortController,i=e.onStatus((()=>{e.fetch("visual-editing/features",void 0,{signal:o.signal,suppressWarnings:!0}).then((e=>{e.features.optimistic&&Me(r)})).catch(Jt)}),"connected");return()=>{r.stop(),o.abort(),i()}},i=[e],t[0]=e,t[1]=n,t[2]=i):(n=t[1],i=t[2]),o(n,i)}function Jt(){console.warn("[@sanity/visual-editing] Package version mismatch detected: Please update your Sanity studio to prevent potential compatibility issues.")}function Qt(){}const en=i=>{const a=r(20),{components:c,history:l,portal:d,refresh:u,zIndex:p}=i,f=void 0===d||d,[h,y]=s(null);let v,w;a[0]===Symbol.for("react.memo_cache_sentinel")?(v=()=>y(window.self!==window.top||!!window.opener),w=[],a[0]=v,a[1]=w):(v=a[0],w=a[1]),o(v,w);const[b,x]=s(null);let k,S;a[2]!==f?(k=()=>{if(!1===f)return;const e=document.createElement("sanity-visual-editing");return document.documentElement.appendChild(e),x(e),()=>{x(null),document.documentElement.contains(e)&&document.documentElement.removeChild(e)}},S=[f],a[2]=f,a[3]=k,a[4]=S):(k=a[3],S=a[4]),o(k,S);const _=function(e){const t=r(3),n=void 0===e||e,[i,a]=s();let c,l;return t[0]!==n?(c=()=>{if(!n)return;const e=_e({name:"visual-editing",connectTo:"presentation"},Ee().provide({actors:g()}));let t;t=0;const r=e.start(),o=e.onStatus((()=>{t=window.setTimeout((()=>{a(e)}),3e3)}),"connected");return()=>{clearTimeout(t),o(),r(),a(void 0)}},l=[n],t[0]=n,t[1]=c,t[2]=l):(c=t[1],l=t[2]),o(c,l),i}(!0===h);let E,$,M;Zt(_),a[5]!==_||a[6]!==c||a[7]!==h||a[8]!==p?(E=null!==h&&e(Ot,{comlink:_,componentResolver:c,inFrame:h,zIndex:p}),a[5]=_,a[6]=c,a[7]=h,a[8]=p,a[9]=E):E=a[9],a[10]!==_||a[11]!==l||a[12]!==u?($=_&&t(n,{children:[e(je,{comlink:_,history:l}),e(Ce,{comlink:_}),u&&e(Xt,{comlink:_,refresh:u})]}),a[10]=_,a[11]=l,a[12]=u,a[13]=$):$=a[13],a[14]!==E||a[15]!==$?(M=t(n,{children:[E,$]}),a[14]=E,a[15]=$,a[16]=M):M=a[16];const I=M;if(!1===f||!b)return I;let P;return a[17]!==I||a[18]!==b?(P=m(I,b),a[17]=I,a[18]=b,a[19]=P):P=a[19],P};en.displayName="VisualEditing";export{en as VisualEditing,y as createDataAttribute,Re as createDatasetMutator,ze as createDocumentMutator,Ie as emptyActor,te as useDocuments,he as useOptimistic,le as useOptimisticActor};//# sourceMappingURL=index.js.map