import{a as O}from"https://app.framerstatic.com/chunk-MV6HOLQD.mjs";import{a as Ct,b as vt,c as gt,d as yt,e as Pt}from"https://app.framerstatic.com/chunk-JF5FQLMJ.mjs";import{a as It,h as bt}from"https://app.framerstatic.com/chunk-EQWG5AWT.mjs";import{a as ht}from"https://app.framerstatic.com/chunk-ABHKVANM.mjs";import"https://app.framerstatic.com/chunk-5LBBN5VN.mjs";import{A as ge,B as ut,C as ft,b as Yo,c as et,d as ot,f as tt,g as rt,i as ve,j as nt,k as at,m as it,s as dt,t as st,u as lt,v as Ie,w as ct,x as pt,y as mt,z as be}from"https://app.framerstatic.com/chunk-5ZOI6KC3.mjs";import{a as Jo}from"https://app.framerstatic.com/chunk-BYJIOPA7.mjs";import{a as Xo}from"https://app.framerstatic.com/chunk-XKKUVCT4.mjs";import"https://app.framerstatic.com/chunk-Q4XGUPS3.mjs";import{c as Qo,d as jo,e as Zo,g as K}from"https://app.framerstatic.com/chunk-NGCQCJIV.mjs";import{a as Go}from"https://app.framerstatic.com/chunk-JPZZI7CR.mjs";import{d as Z,e as Ce,f as ko,i as Wo,r as Bo,t as Ao}from"https://app.framerstatic.com/chunk-AYABRKSD.mjs";import{a as zo}from"https://app.framerstatic.com/chunk-GBAFAX7Z.mjs";import{Og as Eo,Pg as Fo}from"https://app.framerstatic.com/chunk-D6SHEUSL.mjs";import{k as Oo}from"https://app.framerstatic.com/chunk-E4RZW3QS.mjs";import{b as Ho}from"https://app.framerstatic.com/chunk-7GSEC7H4.mjs";import"https://app.framerstatic.com/chunk-ZPP5HXST.mjs";import"https://app.framerstatic.com/chunk-Y4KSD2WZ.mjs";import"https://app.framerstatic.com/chunk-TM2QRBND.mjs";import{a as Ko,b as $o,c as _o}from"https://app.framerstatic.com/chunk-CTKJD4ES.mjs";import{h as Uo}from"https://app.framerstatic.com/chunk-EJDYDGTB.mjs";import{dh as To,o as Lo,q as So}from"https://app.framerstatic.com/chunk-S624JG4A.mjs";import{$e as eo,$g as ue,Bb as Ge,Cg as so,D as ke,Dh as go,Ea as ze,F as We,Fb as je,Fe as Ze,Ga as de,Hb as ce,Hf as no,Je as Ke,Ke as $e,Og as lo,Pe as B,Q as Ue,Rg as co,Sg as po,Ue as _e,Ve as pe,We as Q,Wg as mo,Xe as Je,Ye as Xe,_e as Ye,_f as q,ch as uo,dg as G,dh as fo,eg as io,eh as ho,em as Ro,eo as Mo,fe as A,fh as Co,fp as fe,gj as yo,hb as le,ib as Qe,ir as j,jw as Vo,mh as vo,ph as Io,qf as oo,qh as bo,qr as he,rf as to,ro as No,sf as ro,yb as qe,yj as Po,yv as xo}from"https://app.framerstatic.com/chunk-K45EDX5V.mjs";import"https://app.framerstatic.com/chunk-VXJAAVJQ.mjs";import"https://app.framerstatic.com/chunk-6C6VSETA.mjs";import"https://app.framerstatic.com/chunk-FYUJQV6J.mjs";import"https://app.framerstatic.com/chunk-KYPY4QS7.mjs";import{b as qo}from"https://app.framerstatic.com/chunk-CI62FRNH.mjs";import"https://app.framerstatic.com/chunk-XFC6OVIX.mjs";import"https://app.framerstatic.com/chunk-R3NZHMAQ.mjs";import{K as w,g as ie,n as De,s as we}from"https://app.framerstatic.com/chunk-EIWVV35E.mjs";import"https://app.framerstatic.com/chunk-GO7WVIKP.mjs";import"https://app.framerstatic.com/chunk-XFC6OVIX.mjs";import"https://app.framerstatic.com/chunk-LH43QRIB.mjs";import"https://app.framerstatic.com/chunk-4AQCMAAQ.mjs";import{e as wo}from"https://app.framerstatic.com/chunk-5C6SJNTH.mjs";import"https://app.framerstatic.com/chunk-SQ3KTMH2.mjs";import"https://app.framerstatic.com/chunk-3UVLKWUZ.mjs";import"https://app.framerstatic.com/chunk-POQKH4YA.mjs";import{g as Do,p as Gt}from"https://app.framerstatic.com/chunk-5RXW6VFD.mjs";import"https://app.framerstatic.com/chunk-AUNF3KWQ.mjs";import"https://app.framerstatic.com/chunk-JFRKIM2Y.mjs";import{p as me,r as ao}from"https://app.framerstatic.com/chunk-RLOGCJ4W.mjs";import{b as E,e as He,f as Ae,i as se}from"https://app.framerstatic.com/chunk-ZQUNXESX.mjs";import{Ic as Be,Wd as qt,a as F,b as S}from"https://app.framerstatic.com/chunk-NIDOI5EE.mjs";import{j as Fe}from"https://app.framerstatic.com/chunk-UWYXYYEG.mjs";import"https://app.framerstatic.com/chunk-WWFRYK5U.mjs";import{D as Le,I as Se,M as Ve,Q as Te,R as Oe,aa as Ee,ea as H,i as Ne,l as U}from"https://app.framerstatic.com/chunk-35MJ64JF.mjs";import{a as f,b as Me}from"https://app.framerstatic.com/chunk-WNSBRACC.mjs";import{a as xe}from"https://app.framerstatic.com/chunk-LQILWJHN.mjs";import{e as N,j as m}from"https://app.framerstatic.com/chunk-AHQIRSXG.mjs";var Rt=new WeakMap;function ye(t){let e=Rt.get(t);if(e)return e;let o=new Set;if((Lo(t)||So(t))&&o.add(t),t.children)for(let r of t.children){let n=ye(r);for(let i of n)o.add(i)}return Rt.set(t,o),o}var T=N(F()),Ht=N(Gt());var D=N(F()),Lt=N(S()),$=(0,D.createContext)({nodeInTextEditorId:void 0,clipPath:void 0});$.displayName="NodeInTextEditorContext";function Mt({children:t,nodeInTextEditorId:e,clipPath:o}){let r=(0,D.useMemo)(()=>({nodeInTextEditorId:e,clipPath:o??void 0}),[e,o]);return(0,Lt.jsx)($.Provider,{value:r,children:t})}function Nt(){let{nodeInTextEditorId:t}=(0,D.useContext)($);return t}function xt(){let{clipPath:t}=(0,D.useContext)($);return t}var b=N(F()),Ft=N(qt());var _=N(F()),Ot=N(S()),St=(0,_.createContext)(void 0);function Vt({children:t,update:e}){return(0,Ot.jsx)(St.Provider,{value:e,children:t})}function Tt(){return(0,_.useContext)(St)}var J=N(F()),k=N(S());function X({context:t,children:e,fallback:o}){return(0,k.jsx)(J.Suspense,{fallback:(0,k.jsx)(jt,{context:t,children:o}),children:e})}function jt({context:t,children:e}){return(0,J.useLayoutEffect)(()=>t.loadingStateTracker.trackSuspense(),[t]),(0,k.jsx)(k.Fragment,{children:e})}function z(t,e){let o=new Set;o.add(e);let r=j(t,e);if(r){let n=mt(r);for(let i of n)o.add(i)}return o}var u=N(S());ke({target:We.canvas});function Dt({context:t,webPageNode:e,collectionItemNode:o,breakpointNode:r,temporaryCollectionItemNodeId:n}){let i=(0,b.useContext)(G).activeLocale??void 0;if(e&&r)return(0,u.jsx)(X,{context:t,children:(0,u.jsx)(Zt,{context:t,webPageNode:e,collectionItemNode:o,breakpointNode:r,activeLocale:i,temporaryCollectionItemNodeId:n})})}function Zt({context:t,webPageNode:e,collectionItemNode:o,breakpointNode:r,activeLocale:n,temporaryCollectionItemNodeId:i}){let a=e.tree();f(a,"Must have a tree");let[s,d]=t.modulesRuntime.useComponentLoader(),l=e.getVariableControlMap(a,s,d);f(l,"Control map must exist");let c=e.getVariableValueMap(a,s,t.sandboxCollectionData,d),p=(0,b.useMemo)(()=>{if(!l)return;let I=new Map;return I.set(e.id,l),I},[l,e.id]),h=(0,b.useMemo)(()=>{if(!c)return;let I=new Map;return I.set(e.id,c),I},[c,e.id]);return A(e)&&o?(0,u.jsx)(Kt,{context:t,webPageNode:e,collectionItemNode:o,breakpointNode:r,activeLocale:n,temporaryCollectionItemNodeId:i,combinedControlMap:p}):(0,u.jsx)(wt,{context:t,webPageNode:e,breakpointNode:r,combinedControlMap:p,combinedValueMap:h,placeholderVariableIds:void 0,activeLocale:n})}function Kt({context:t,webPageNode:e,collectionItemNode:o,breakpointNode:r,activeLocale:n,temporaryCollectionItemNodeId:i,combinedControlMap:a}){let s=e.tree();f(s,"Must have a tree");let d=a?.get(e.id);f(d,"Control map must exist");let l=e.dataIdentifier,c=z(s,l);t.modulesRuntime.usePreloadedModules(...c);let[p,h]=t.modulesRuntime.useComponentLoader(),I=p.dataForIdentifier(l);f(I,"Data definition must exist after preloading module");let g=pt(e,s,d,r,n,o.id,"public-and-private"),P=ue(g);t.sandboxCollectionData.set(e.id,P,d);let M=e.getVariableValueMap(s,p,t.sandboxCollectionData,h);f(M,"Value map must exist");let L=j(s,l),{patchedValueMap:R,placeholderVariableIds:C}=(0,b.useMemo)(()=>!!L&&o.id===i?$t(L,M):{patchedValueMap:M,placeholderVariableIds:new Set},[L,M,o.id,i]),v=(0,b.useMemo)(()=>{let y=new Map;return y.set(e.id,R),y},[R,e.id]);return(0,u.jsx)(wt,{context:t,webPageNode:e,breakpointNode:r,combinedControlMap:a,combinedValueMap:v,placeholderVariableIds:C,activeLocale:n})}function $t(t,e){let o=new Map(e),r=new Set;for(let[n,i]of e){let a=t.getVariable(n);if(a){if(a.type==="string"){if(!(!i||E(i)&&i.trim()===""))continue;let d=a.options?.placeholder||a.description||a.name;o.set(n,d),r.add(n)}if(a.type==="richtext"){if(!(!i||E(i)&&Ao(i)))continue;o.set(n,`

${a.description||a.name}

`),r.add(n)}}}return{patchedValueMap:o,placeholderVariableIds:r}}function wt({context:t,webPageNode:e,breakpointNode:o,combinedControlMap:r,combinedValueMap:n,placeholderVariableIds:i,activeLocale:a}){return fe(e)?(0,u.jsx)(X,{context:t,children:(0,u.jsx)(Jt,{context:t,webPageNode:e,breakpointNode:o,combinedControlMap:r,combinedValueMap:n,placeholderVariableIds:i,activeLocale:a})}):(0,u.jsx)(W,{context:t,parentRenderId:e.id,node:o,parent:e,combinedControlMap:r,combinedValueMap:n,placeholderVariableIds:i,activeLocale:a,nodePropOverrides:void 0})}var kt={minHeight:"100vh",width:"auto"},_t=nt();function Jt({context:t,webPageNode:e,breakpointNode:o,combinedControlMap:r,combinedValueMap:n,placeholderVariableIds:i,activeLocale:a}){let s=(0,b.useRef)(null),d=(0,b.useRef)(null);t.modulesRuntime.usePreloadedModules(e.layoutTemplateIdentifier);let[l]=t.modulesRuntime.useComponentLoader(),c=K(),p=Y(t.fetchClient,e),h=e.getResolvedControlPropValues(l,c,n,a,p);h.style??={},Object.assign(h.style,kt);let I=l.reactComponentForIdentifier(e.layoutTemplateIdentifier);f(I,"Component definition not found");let g=I.class,P=Mo(o)&&Ro(o)?o.width:void 0,{activeVariant:M,className:L,selectors:R}=at(e.layoutTemplateIdentifier,P,_t)||{};(0,b.useLayoutEffect)(()=>{if(!s.current||!d.current)return;let v=ve(d.current);if(t.layoutMeasureQueue.add(o.id,s.current,v),!!R)for(let y of R){let V=s.current.querySelector(y);V&&t.layoutMeasureQueue.add(o.id,V,[],y)}},[t.layoutMeasureQueue,o.id,R]);let C=(0,b.useMemo)(()=>({ref:d}),[]);return(0,u.jsx)("div",{ref:s,className:L,children:(0,u.jsx)(g,{...h,variant:M,children:(0,u.jsx)(W,{context:t,parentRenderId:e.id,node:o,parent:e,combinedControlMap:r,combinedValueMap:n,placeholderVariableIds:i,activeLocale:a,nodePropOverrides:C})})})}var W=(0,b.memo)(function({context:e,parentRenderId:o,node:r,parent:n,combinedControlMap:i,combinedValueMap:a,placeholderVariableIds:s,activeLocale:d,nodePropOverrides:l}){let c=Z(o,r.id),p=r.tree();return r.cache.resetForRendering(),r.cache.setVariableValueAndControlMap(a,a,i,d),Wo(n,r),xo(r)||r.resolveValue("visible",a)===!1?(e.sandboxVisibility.setVisible(c,!1),null):(e.sandboxVisibility.setVisible(c,!0),(0,u.jsx)(X,{context:e,children:(0,u.jsx)(Yt,{context:e,renderId:c,tree:p,node:r,parent:n,combinedControlMap:i,combinedValueMap:a,placeholderVariableIds:s,activeLocale:d,nodePropOverrides:l})}))});function Xt(t,e,o,r,n,i,a){let s=Y(t.fetchClient,o),d=o.getProps(n,i,s);if(B(r)&&(d.style??={},d.style.position="relative",d.style.width="100%",fe(r)?(d.style.display="contents",d.style.position="relative",d._needsMeasure=!1,d["data-layout-template-root"]=!0):Object.assign(d.style,kt)),pe(o)){let l=ft(o,i);l&&(d.viewBox=l)}if(d.id=e,a)for(let l in a){let c=a[l];l==="style"&&d.style?Object.assign(d.style,c):d[l]=c}return d}function Yt({context:t,renderId:e,tree:o,node:r,parent:n,combinedControlMap:i,combinedValueMap:a,placeholderVariableIds:s,activeLocale:d,nodePropOverrides:l}){let c=Xt(t,e,r,n,a,d,l);return Xe(r)?(0,u.jsx)(Io,{...c}):eo(r)?(ge(r),(0,u.jsx)(de,{...c,as:"svg",children:r.children.map(p=>{let h=Z(e,p.id);return be(p,a,t.sandboxVisibility,h,!1)})})):yo(r)?(ge(r),be(r,a,t.sandboxVisibility,e,!0)):_e(r)?(0,u.jsx)(bo,{...c}):pe(r)?(0,u.jsx)(er,{context:t,node:r,combinedValueMap:a,placeholderVariableIds:s,activeLocale:d,nodeProps:c,renderId:e}):Ze(r)?(0,u.jsx)(or,{context:t,renderId:e,tree:o,node:r,combinedControlMap:i,combinedValueMap:a,placeholderVariableIds:s,activeLocale:d,nodeProps:c}):oo(r)?(0,u.jsx)(fo,{...c}):ro(r)?(0,u.jsx)(Co,{...c}):to(r)?(0,u.jsx)(ho,{...c}):Je(r)?null:Q(r)?r.isVectorInstance?(0,u.jsx)(nr,{node:r,context:t,nodeProps:c,combinedValueMap:a,activeLocale:d}):(0,u.jsx)(rr,{context:t,renderId:e,node:r,combinedControlMap:i,combinedValueMap:a,placeholderVariableIds:s,activeLocale:d,nodeProps:c}):(no(r),null)}var er=(0,b.memo)(function({context:e,node:o,combinedValueMap:r,placeholderVariableIds:n,activeLocale:i,nodeProps:a,renderId:s}){let d=o.getFontsForLoading();e.fontLoader.usePreloadedFonts(...d),a={...a};let l=Nt(),c=xt();if(l===s)if(c){let h=a.style??{};a.style={...h,clipPath:c}}else a.isEditable=!0;tr(o,n)&&(a.opacity=.3);let p=(0,b.useMemo)(()=>ut(o,r,i),[o,r,i]);if(ce(o.htmlContent)&&o.getComponentPresets().size>0){let h=o.tree();return f(h,"Must have a tree"),(0,u.jsx)(tt,{tree:h,node:o,...a,children:p})}return(0,u.jsx)(vo,{...a,children:p})});function or({context:t,renderId:e,tree:o,node:r,combinedControlMap:n,combinedValueMap:i,placeholderVariableIds:a,activeLocale:s,nodeProps:d}){let l=(0,b.useRef)(),c=d.ref??l;ze(d,c,ve);let p=Tt(),h=Vo(o,r),I=r.getChildrenInVisualOrder();if(p&&p.placeholder.nodeId===r.id){let g=I.findIndex(P=>P.id===p.nodeId);I=Ee.move(I,g,p.placeholder.index)}return(0,u.jsx)(de,{...d,ref:c,children:I.map(g=>{let P=Z(e,g.id);if(g.id===h?.id)return(0,u.jsx)(dr,{context:t,parentRenderId:e,tree:o,node:g,parent:r,combinedControlMap:n,combinedValueMap:i,placeholderVariableIds:a,activeLocale:s},"repeated-child");let M;p&&P===p.renderId&&(M={style:{left:p.rect.left,top:p.rect.top,alignSelf:"unset",justifySelf:"unset",placeSelf:"unset",zIndex:999999,width:p.rect.width,height:p.rect.height,position:"absolute",outline:`1px solid ${Do.onPageHighlightBorderDragging}`}});let L=(0,u.jsx)(W,{context:t,parentRenderId:e,node:g,parent:r,combinedControlMap:n,combinedValueMap:i,placeholderVariableIds:a,activeLocale:s,nodePropOverrides:M},g.id);return p&&P===p.renderId?(0,u.jsxs)(b.Fragment,{children:[(0,u.jsx)(rt,{width:p.placeholder.size.width,height:p.placeholder.size.height}),(0,Ft.createPortal)(L,document.body)]},P):L})})}function tr(t,e){return e?Et(t.htmlContent,e)||Et(t.textContent,e):!1}function Et(t,e){return ce(t)?e.has(t.id):!1}function rr({context:t,renderId:e,node:o,combinedControlMap:r,combinedValueMap:n,placeholderVariableIds:i,activeLocale:a,nodeProps:s}){let d=o.tree();f(d,"Must have a tree"),t.modulesRuntime.usePreloadedModules(o.codeComponentIdentifier);let[l]=t.modulesRuntime.useComponentLoader(),c=l.reactComponentForIdentifier(o.codeComponentIdentifier);f(c,"Component definition not found");let p=K(),h=Y(t.fetchClient,o),I=o.getCodeComponentProps(l,p,n,a,h),g=Eo(d,o,l);g.children=Fo(d,o,l);for(let C in g){let v=g[C];v&&(I[C]=v.map(y=>{let V=ko(e,o.id,C,y.key);return(0,u.jsx)(W,{context:t,parentRenderId:V,node:y.node,parent:o,combinedControlMap:r,combinedValueMap:n,placeholderVariableIds:i,activeLocale:a,nodePropOverrides:ir},y.key)}))}let P=o.getRichTextControlKeys(l);for(let C of P){let v=I[C];E(v)&&(I[C]=Uo(v))}let M=o.getComponentVectorSetChildren(l,n),L=new Set;for(let C in M){let v=M[C];se(v)||(L.add(v),t.modulesRuntime.preloadModule(v))}t.modulesRuntime.usePreloadedModules(...L);for(let C in M){let v=M[C];if(se(v))continue;let y=l.reactComponentForIdentifier(v);f(y,"Vector definition not found"),I[C]=y.class}let R=c.class;return(0,u.jsx)(it,{...s,children:(0,u.jsx)(R,{...I})})}function nr({context:t,node:e,nodeProps:o,combinedValueMap:r,activeLocale:n}){let[i]=t.modulesRuntime.useComponentLoader(),a=K(),s=Y(t.fetchClient,e);return dt({node:e,frameProps:o,getCodeComponentProps(){return e.getCodeComponentProps(i,a,r,n,s)},combinedValueMap:r,renderVectorWithIdentifier(d,l){return(0,u.jsx)(ar,{context:t,identifier:d,getProps:l})}})}function ar({context:t,identifier:e,getProps:o}){t.modulesRuntime.preloadModule(e),t.modulesRuntime.usePreloadedModules(e);let[r]=t.modulesRuntime.useComponentLoader(),n=r.reactComponentForIdentifier(e);f(n,"Component definition not found");let i=o(),a=n.class;return(0,u.jsx)(a,{...i})}var ir={position:"relative"};function dr({parent:t,...e}){if(Ke(t))return(0,u.jsx)(sr,{...e,parent:t});if($e(t))return(0,u.jsx)(lr,{...e,parent:t});Me(t,"Unsupported repeater type")}function sr({context:t,parentRenderId:e,tree:o,node:r,parent:n,combinedControlMap:i,combinedValueMap:a,placeholderVariableIds:s,activeLocale:d}){let l=z(o,n.dataIdentifier);t.modulesRuntime.usePreloadedModules(...l);let[c,p]=t.modulesRuntime.useComponentLoader(),h=n.getVariableControlMap(o,c,p);f(h,"Control map must exist");let I=Bo(n,h,st(o,n),R=>({type:"LiteralValue",value:r.cache.getVariableReferenceValue(R,a)}),R=>ct(o,n,R,d));To(n)&<(I,n);let g=ue(I);t.sandboxCollectionData.set(e,g,h);let P=n.originalid??n.id,M=(0,b.useMemo)(()=>{let R=new Map(i);return R.set(P,h),R},[h,i,P]),L=(0,b.useMemo)(()=>g.map((R,C)=>{let v=new Map(a),y=Ie(o,h,R,C);return v.set(P,y),v}),[o,h,a,P,g]);return g.map((R,C)=>{let v=E(R.id)?R.id:C,y=L[C],V=Ce(e,n.id,v,C);return(0,u.jsx)(W,{context:t,parentRenderId:V,node:r,parent:n,combinedControlMap:M,combinedValueMap:y,placeholderVariableIds:s,activeLocale:d,nodePropOverrides:void 0},v)})}function lr({context:t,parentRenderId:e,tree:o,node:r,parent:n,combinedControlMap:i,combinedValueMap:a,placeholderVariableIds:s,activeLocale:d}){f(a,"Combined value map must exist");let[l,c]=t.modulesRuntime.useComponentLoader(),p=n.getVariableControlMap(o,l,c);f(p,"Control map must exist");let h=n.dataRepeaterArray,I=h.providerId;f(I,"Variable must have providerId");let g=a.get(I);f(g,"Provider value map must exist");let P=g.get(h.id);f(Ae(P)&&P.every(He),"Invalid array value");let M=n.originalid??n.id,L=(0,b.useMemo)(()=>{let C=new Map(i);return C.set(M,p),C},[p,i,M]),R=(0,b.useMemo)(()=>P.map((C,v)=>{let y=new Map(a),V=Ie(o,p,C,v);return y.set(M,V),y}),[o,p,a,M,P]);return P.map((C,v)=>{let y=E(C.id)?C.id:v,V=R[v],Qt=Ce(e,n.id,y,v);return(0,u.jsx)(W,{context:t,parentRenderId:Qt,node:r,parent:n,combinedControlMap:L,combinedValueMap:V,placeholderVariableIds:s,activeLocale:d,nodePropOverrides:void 0},y)})}function Y(t,e){return o=>{let r=qe(o);if(!Yo(r))return et(e,r.controlProp);let n=Ge(r,s=>e.cache.getVariableReferenceValue(s)),i=lo({url:n,credentials:r.credentials}),a=t.getValue(i);if(a)return ot(e,r,a);throw t.fetchWithCache({url:n,cacheDuration:r.cacheDuration,credentials:r.credentials})}}var ee=N(F());var Ut=N(S());function Wt({tree:t,children:e}){let o=ht();(0,ee.useLayoutEffect)(()=>{let n=o?"dark":"light";document.body.setAttribute("data-framer-theme",n)},[o]);let r=(0,ee.useMemo)(()=>Po(t,o),[t,o]);return(0,Ut.jsx)(uo,{customProperties:r,children:e})}var oe=class{constructor(){m(this,"loaders",new Map)}preloadFonts(...e){for(let o of e){if(this.loaders.has(o))continue;let r=new q(async()=>{await w.loadFonts([o])});r.preload(),this.loaders.set(o,r)}}usePreloadedFonts(...e){for(let o of e){let r=this.loaders.get(o);f(r,"Font not preloaded"),r.use()}}};var te=class{constructor(){m(this,"promises",new Set)}trackSuspense(){let e=new H;return this.promises.add(e),()=>{e.resolve(),this.promises.delete(e)}}async waitForSuspense(){this.promises.size!==0&&(await Promise.all(this.promises),await this.waitForSuspense())}};var zt=N(F());var Re=class{constructor(e,o){this.modulesRuntime=e;this.identifier=o;m(this,"loaderPromise",new H);m(this,"loader",new q(()=>this.loaderPromise))}async evaluate(e){let o=await bt(e),r=[],n=this.modulesRuntime.getLocales();await It(this.modulesRuntime.queryEngine,n,this.identifier,o,r,void 0,0),await this.modulesRuntime.updateComponentLoader(r),this.loaderPromise.resolve(),this.modulesRuntime.notifyReactComponents()}},re=class{constructor(e){this.sandbox=e;m(this,"componentLoaderHash",0);m(this,"reactComponentListeners",new Set);m(this,"localModules",new Map);m(this,"loadedModules",new Map);m(this,"queryEngine",new mo);m(this,"reactExternalStore",{subscribe:e=>(this.reactComponentListeners.add(e),()=>{this.reactComponentListeners.delete(e)}),getSnapshot:()=>this.componentLoaderHash})}getLocales(){return this.sandbox.getLocales()}useComponentLoader(){let e=(0,zt.useSyncExternalStore)(this.reactExternalStore.subscribe,this.reactExternalStore.getSnapshot);return[le,String(e)]}async updateComponentLoader(e){le.updateModuleEntities(e),await this.sandbox.remoteComponentsStore.updateComponentLoader(gt(e),this.componentLoaderHash++)}notifyReactComponents(){for(let e of this.reactComponentListeners)e()}getLocalModuleURL(e){let o=this.localModules.get(e.localId);if(o)return o.moduleURL}getExternalModuleURL(e){return`${xe().modulesCDN}/${e.moduleId}/${e.saveId}/${e.file}`}getModuleURL(e){return Le(e)?this.getExternalModuleURL(e):this.getLocalModuleURL(e)}async loadModule(e){return this.preloadModule(e),this.getPreloadedModule(e).loader.readMaybeAsync()}preloadModule(e){let o=Bt(e);if(this.loadedModules.get(o.value))return;let n=new Re(this,o);this.loadedModules.set(o.value,n);let i=this.getModuleURL(o);i&&n.evaluate(i).catch(U)}getPreloadedModule(e){let o=Bt(e),r=this.loadedModules.get(o.value);return f(r,"Module not preloaded"),r}usePreloadedModules(...e){let o=[];for(let r of e){let i=this.getPreloadedModule(r).loader.preload();i&&o.push(i)}if(o.length>0)throw Promise.all(o)}updateDependenciesModule(e){let o=JSON.parse(e.importMapContent);Pe(o,"framer-user-importmap")}updateLocalModules(e){let o=new Map,r=new Set;for(let[,n]of e){f(n.kind!=="fast-refresh","Fast-refresh is not supported");let i=n.localId;o.set(i,n),this.localModules.get(i)?.moduleURL!==n.moduleURL&&r.add(i)}this.localModules=o,this.updateLocalModulesImportMap();for(let n of r){let i=Se(n),a=this.loadedModules.get(i.value);if(a){let s=this.getLocalModuleURL(i);s&&a.evaluate(s).catch(U)}}}updateLocalModulesImportMap(){let e={imports:{},scopes:{}};for(let[o,r]of this.localModules){let n=r.files.module;if(!n)continue;let i=Oe(o,n);e.imports[i]=r.moduleURL}Pe(e,"framer-local-modules")}insertTemporaryImportMap(e){let o=crypto.randomUUID();Pe(e,o)}};function Bt(t){let e=Ve(t);return f(e,"Invalid module identifier"),Te(e)}function Pe(t,e){let o=document.createElement("script");o.type="importmap-shim",o.id=e,o.innerHTML=JSON.stringify(t);let r=document.getElementById(e);r?r.replaceWith(o):document.body.appendChild(o)}var x=N(S()),cr=je(t=>t?he(t,{includeDrafts:!1}):Ne()),ne=class{constructor(e){this.container=e;m(this,"reactRoot");m(this,"needsRender",!1);m(this,"assetMap",new De);m(this,"fontLoader",new oe);m(this,"modulesRuntime",new re(this));m(this,"fetchClient",new co);m(this,"loadingStateTracker",new te);m(this,"sandboxCollectionData",new Go("sandbox"));m(this,"sandboxVisibility",new jo("sandbox"));m(this,"optimizedCanvasImageRenderer",new yt);m(this,"partialTreeReceiver",new Ct);m(this,"controlsVisibility",new Qo(this.partialTreeReceiver));m(this,"presetsListNode");m(this,"activeLocaleId");m(this,"webPageNodeId");m(this,"webPageNode");m(this,"collectionItemNodeId");m(this,"collectionItemNode");m(this,"breakpointNodeId");m(this,"breakpointNode");m(this,"nodeInTextEditorId");m(this,"nodeInTextEditorClipPath",null);m(this,"temporaryCollectionItemNodeId");m(this,"remoteComponentsStore");m(this,"remoteSandboxStore");m(this,"remoteTreeStore");m(this,"moveToolState");m(this,"layoutMeasureQueue",new Pt({shouldMeasureCallback:()=>{let e=this.measureLayout();e&&this.remoteTreeStore.onLayoutMeasure(e)},shouldMeasureCallbackDelayMs:0}));this.reactRoot=(0,Ht.createRoot)(this.container);let o=new Xo(O);o.setLocal(O.channels.sandbox,this),o.setLocal(O.channels.controlsVisibility,this.controlsVisibility),o.setLocal(O.channels.modulesRuntime,this.modulesRuntime),o.setLocal(O.channels.flags,this),this.remoteComponentsStore=o.getRemote(O.channels.componentsStore),this.remoteSandboxStore=o.getRemote(O.channels.sandboxStore),this.remoteTreeStore=o.getRemote(O.channels.treeStore),this.connectRpc(o).catch(U)}get tree(){return this.partialTreeReceiver.tree}getLocales(){return cr(this.tree?.root?.locales)}async connectRpc(e){await e.connect({target:window.parent,url:wo(document.referrer).origin}),new ResizeObserver(r=>{f(r.length===1,"Invalid length");let n=r[0];f(n,"Invalid entry"),f(n.target===this.container,"Invalid target"),this.breakpointNode&&this.layoutMeasureQueue.remeasureNode(this.breakpointNode),this.remoteSandboxStore.oneway.onHeightChange(n.contentRect.height)}).observe(this.container)}measureLayout(){if(!this.webPageNode||!this.breakpointNode)return;let e=new Set;e.add(this.breakpointNode.id);let o=this.layoutMeasureQueue.process({groundNodesInViewport:e,offsetX:0,offsetY:0,scopeId:this.webPageNode.id,tree:this.tree,zoom:1});if(o.length!==0)return o}scrollTo(e){if(window.scrollTo(e),this.breakpointNode){for(let o of ye(this.breakpointNode))this.layoutMeasureQueue.remeasureNode(o);this.layoutMeasureQueue.remeasureNode(this.breakpointNode)}}update(e){let o=e.partialTreeUpdate;o&&(this.partialTreeReceiver.update(o),this.preloadTree());let r=e.webPageNodeId;r&&(this.webPageNodeId=r);let n=e.collectionItemNodeId;n&&(this.collectionItemNodeId=n);let i=e.breakpointNodeId;i&&(this.breakpointNodeId=i);let a=e.stylePresetBreakpointClassNames;E(a)&&(this.container.className=a);let s=e.dependenciesModule;s&&this.modulesRuntime.updateDependenciesModule(s);let d=e.localModules;d&&this.modulesRuntime.updateLocalModules(d);let l=e.assets;l&&(this.assetMap.set(l),w.importCustomFonts(l,me.isOn("customFontGrouping"))),this.nodeInTextEditorId!==e.nodeInTextEditorId&&e.nodeInTextEditorId!==void 0&&(this.nodeInTextEditorId=e.nodeInTextEditorId,this.needsRender=!0),e.nodeInTextEditorClipPath!==void 0&&this.nodeInTextEditorClipPath!==e.nodeInTextEditorClipPath&&(this.nodeInTextEditorClipPath=e.nodeInTextEditorClipPath,this.needsRender=!0),this.temporaryCollectionItemNodeId!==e.temporaryCollectionItemNodeId&&e.temporaryCollectionItemNodeId!==void 0&&(this.temporaryCollectionItemNodeId=e.temporaryCollectionItemNodeId,this.needsRender=!0),e.moveToolState!==void 0&&(this.moveToolState=e.moveToolState,this.needsRender=!0),e.activeLocaleId!==void 0&&(this.activeLocaleId=e.activeLocaleId,this.needsRender=!0),this.updateWebPageNode(),this.updateCollectionItemNode(),this.updateBreakpointNode(),this.updatePresetsListNode(),this.render()}preloadWebPage(){if(this.webPageNode){for(let e of this.webPageNode.walk())if(Q(e)&&this.modulesRuntime.preloadModule(e.codeComponentIdentifier),B(e)&&e.layoutTemplateIdentifier&&this.modulesRuntime.preloadModule(e.layoutTemplateIdentifier),A(e)&&this.modulesRuntime.preloadModule(e.dataIdentifier),vt(e)){let o=e.getFontsForLoading();this.fontLoader.preloadFonts(...o)}}}preloadTree(){let e=this.tree.getContentManagementNode()?.loaded;if(e)for(let r of e.children){let n=z(this.tree,r.instanceIdentifier);for(let i of n)this.modulesRuntime.preloadModule(i)}let o=this.tree.getPresetsListNode();if(o){for(let r of o.children)if(Oo(r)){let n=r.getFontsForCodeGeneration();this.fontLoader.preloadFonts(...n)}}}updateWebPageNode(){let e=this.tree.getNodeWithTrait(this.webPageNodeId,B)?.loaded;this.webPageNode!==e&&(this.needsRender=!0,this.webPageNode=e,this.preloadWebPage())}updateCollectionItemNode(){let e=this.tree.getNodeWithTrait(this.collectionItemNodeId,Ye)??void 0;this.collectionItemNode!==e&&(this.needsRender=!0,this.collectionItemNode=e)}updateBreakpointNode(){let e=this.tree.get(this.breakpointNodeId)??void 0;this.breakpointNode!==e&&(this.needsRender=!0,this.breakpointNode=e)}updatePresetsListNode(){let e=this.tree.getPresetsListNode()??void 0;this.presetsListNode!==e&&(this.needsRender=!0,this.presetsListNode=e)}async onRendered(e){await this.loadingStateTracker.waitForSuspense(),this.breakpointNode&&e&&this.remoteSandboxStore.onInitialLoadComplete(e),this.remoteTreeStore.onSandboxRendered({layoutMeasurements:this.measureLayout(),collectionUpdates:this.sandboxCollectionData.export(),visibilityUpdates:this.sandboxVisibility.export()})}render(){this.needsRender&&((0,T.startTransition)(()=>{this.reactRoot.render((0,x.jsx)(T.StrictMode,{children:(0,x.jsxs)(pr,{webPageNodeId:this.webPageNodeId,onRendered:this.onRendered.bind(this),children:[(0,x.jsx)(Wt,{tree:this.tree,children:(0,x.jsx)(so,{children:(0,x.jsx)(Be,{isStatic:!0,children:(0,x.jsx)(mr,{tree:this.tree,activeLocaleId:this.activeLocaleId,children:(0,x.jsx)(po,{client:this.fetchClient,children:(0,x.jsx)(Ue,{parentSize:1,children:(0,x.jsx)(Mt,{nodeInTextEditorId:this.nodeInTextEditorId,clipPath:this.nodeInTextEditorClipPath,children:(0,x.jsx)(Vt,{update:this.moveToolState,children:(0,x.jsx)(Dt,{context:this,webPageNode:this.webPageNode,collectionItemNode:this.collectionItemNode,breakpointNode:this.breakpointNode,temporaryCollectionItemNodeId:this.temporaryCollectionItemNodeId})})})})})})})})}),(0,x.jsx)(Jo,{presetsListNode:this.presetsListNode})]})}))}),this.needsRender=!1)}updateExperiments(e){me.update(e)}updateProjectFeatures(e){qo.update(e)}updateEmployeesOnlySettings(e){zo.update(e)}};function pr({children:t,webPageNodeId:e,onRendered:o}){return(0,T.useEffect)(()=>{o(e)}),(0,x.jsx)(x.Fragment,{children:t})}function mr({tree:t,activeLocaleId:e,children:o}){let r=t.root.getDefaultLocale(),n=(0,T.useMemo)(()=>{let l=[r];t.root.locales&&l.push(...t.root.locales);let c=he(l,{includeDrafts:!1}),p=c.find(({id:h})=>h===e)??c[0];return f(p),{activeLocale:p,locales:c,setLocale:Ho}},[e,r,t.root.locales]),i=ao("adaptLayoutToTextDirectionSetting"),a=t.root.adaptLayoutToTextDirection&&i,s=n.activeLocale?.textDirection??"ltr",d=a?s:"ltr";return(0,T.useLayoutEffect)(()=>{a?document.documentElement.setAttribute("dir",s):document.documentElement.removeAttribute("dir")},[a,s]),(0,x.jsx)(G.Provider,{value:n,children:(0,x.jsx)(io.Provider,{value:d,children:o})})}Object.assign(window,{Framer:go});Fe({name:"canvas",security:{}});var At=document.querySelector("main");f(At,"Container element not found");var ae=new ne(At),ur=Zo(ae.assetMap);w.importFramerFonts(No);Qe({isOnPageCanvas:!0,assetResolver:ur,queueMeasureRequest(...t){ae.layoutMeasureQueue.add(...t)},enableFontStore:!0,fetchGoogleFontsList:_o,fetchFontshareFontsList:$o,fetchBuiltInFontsList:Ko,imagePlaceholderSvg:'',useImageSource(t){if(!t.src)return"";let e=we(t.src);return e?ie(e.identifier):ie(t.src)},canRenderOptimizedCanvasImage:ae.optimizedCanvasImageRenderer.canRenderCanvasImage,renderOptimizedCanvasImage:ae.optimizedCanvasImageRenderer.renderCanvasImage}); //# sourceMappingURL=https://app.framerstatic.com/canvas-sandbox-on-page.WXV3FEB5.mjs.map