1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2729],{48880:(e,t,n)=>{n.r(t),n.d(t,{default:()=>nB});var i,r,a,o,s,l,d,u,c,p,f,y,m,g,h,b,E,v,x,k,I,w,T,S,j,N,V=n(23887),$=n(12115),M=n(1930),O=n(2182),A=n(95794),R=n(73744),D=n(7560),C=n(60150),B=n(99050),L=n(53349),q=n(84078),Y=n(12367);n(39103),(0,V.A)("html,\nbody {\n margin: 0;\n padding: 0;\n}\n\n/*\n * All of these variables are tokens from Forma-36 and should not be adjusted as these\n * are global variables that may affect multiple places.\n * As our customers may use other design libraries, we try to avoid overlapping global\n * variables by always using the prefix `--exp-builder-` inside this SDK.\n */\n\n:root {\n /* Color tokens from Forma 36: https://f36.contentful.com/tokens/color-system */\n --exp-builder-blue100: #e8f5ff;\n --exp-builder-blue200: #ceecff;\n --exp-builder-blue300: #98cbff;\n --exp-builder-blue400: #40a0ff;\n --exp-builder-blue500: #036fe3;\n --exp-builder-blue600: #0059c8;\n --exp-builder-blue700: #0041ab;\n --exp-builder-blue800: #003298;\n --exp-builder-blue900: #002a8e;\n --exp-builder-gray100: #f7f9fa;\n --exp-builder-gray200: #e7ebee;\n --exp-builder-gray300: #cfd9e0;\n --exp-builder-gray400: #aec1cc;\n --exp-builder-gray500: #67728a;\n --exp-builder-gray600: #5a657c;\n --exp-builder-gray700: #414d63;\n --exp-builder-gray800: #1b273a;\n --exp-builder-gray900: #111b2b;\n --exp-builder-purple600: #6c3ecf;\n --exp-builder-red200: #ffe0e0;\n --exp-builder-red800: #7f0010;\n --exp-builder-color-white: #ffffff;\n --exp-builder-glow-primary: 0px 0px 0px 3px #e8f5ff;\n\n /* RGB colors for applying opacity */\n --exp-builder-blue100-rgb: 232, 245, 255;\n --exp-builder-blue300-rgb: 152, 203, 255;\n\n /* Spacing tokens from Forma 36: https://f36.contentful.com/tokens/spacing */\n --exp-builder-spacing-s: 0.75rem;\n --exp-builder-spacing-2xs: 0.25rem;\n\n /* Typography tokens from Forma 36: https://f36.contentful.com/tokens/typography */\n --exp-builder-font-size-l: 1rem;\n --exp-builder-font-size-m: 0.875rem;\n --exp-builder-font-stack-primary: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial,\n sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;\n --exp-builder-line-height-condensed: 1.25;\n}\n");let F={RequestEditorMode:"requestEditorMode",RequestReadOnlyMode:"requestReadOnlyMode",ExperienceUpdated:"componentTreeUpdated",ComponentDraggingChanged:"componentDraggingChanged",ComponentDragCanceled:"componentDragCanceled",ComponentDragStarted:"componentDragStarted",ComponentDragEnded:"componentDragEnded",ComponentMoveEnded:"componentMoveEnded",CanvasResized:"canvasResized",SelectComponent:"selectComponent",HoverComponent:"hoverComponent",UpdatedEntity:"updatedEntity",AssembliesAdded:"assembliesAdded",AssembliesRegistered:"assembliesRegistered",MouseMove:"mouseMove",RequestedEntities:"REQUESTED_ENTITIES"};(i=g||(g={})).READ_ONLY="readOnlyMode",i.EDITOR="editorMode",i.NONE="none";let _={section:{id:"contentful-section",name:"Section"},container:{id:"contentful-container",name:"Container"},columns:{id:"contentful-columns",name:"Columns"},singleColumn:{id:"contentful-single-column",name:"Column"},button:{id:"contentful-button",name:"Button"},heading:{id:"contentful-heading",name:"Heading"},image:{id:"contentful-image",name:"Image"},richText:{id:"contentful-richText",name:"Rich Text"},text:{id:"contentful-text",name:"Text"},divider:{id:"contentful-divider",name:"Divider"},carousel:{id:"contentful-carousel",name:"Carousel"}};(r=h||(h={})).REQUEST_ENTITIES="REQUEST_ENTITIES",r.REQUESTED_ENTITIES="REQUESTED_ENTITIES";let z=["jpg","png","webp","gif","avif"],U=new Set([_.section.id,_.columns.id,_.container.id,_.singleColumn.id]),P=new Set(Object.values(_).map(e=>e.id)),W=e=>U.has(e??""),H={cfVerticalAlignment:{validations:{in:[{value:"start",displayName:"Align left"},{value:"center",displayName:"Align center"},{value:"end",displayName:"Align right"},{value:"stretch",displayName:"Stretch"}]},type:"Text",group:"style",defaultValue:"center",displayName:"Vertical alignment"},cfHorizontalAlignment:{validations:{in:[{value:"start",displayName:"Align top"},{value:"center",displayName:"Align center"},{value:"end",displayName:"Align bottom"},{value:"stretch",displayName:"Stretch"}]},type:"Text",group:"style",defaultValue:"center",displayName:"Horizontal alignment"},cfVisibility:{displayName:"Visibility toggle",type:"Boolean",group:"style",defaultValue:!0},cfMargin:{displayName:"Margin",type:"Text",group:"style",defaultValue:"0 0 0 0"},cfPadding:{displayName:"Padding",type:"Text",group:"style",defaultValue:"0 0 0 0"}
1,cfBackgroundColor:{displayName:"Background color",type:"Text",group:"style",defaultValue:"rgba(0, 0, 0, 0)"},cfWidth:{displayName:"Width",type:"Text",group:"style",defaultValue:"100%"},cfHeight:{displayName:"Height",type:"Text",group:"style",defaultValue:"fit-content"},cfMaxWidth:{displayName:"Max width",type:"Text",group:"style",defaultValue:"none"},cfFlexDirection:{displayName:"Direction",type:"Text",group:"style",defaultValue:"column"},cfFlexReverse:{displayName:"Reverse Direction",type:"Boolean",group:"style",defaultValue:!1},cfFlexWrap:{displayName:"Wrap objects",type:"Text",group:"style",defaultValue:"nowrap"},cfBorder:{displayName:"Border",type:"Text",group:"style",defaultValue:"0px solid rgba(0, 0, 0, 0)"},cfGap:{displayName:"Gap",type:"Text",group:"style",defaultValue:"0px"},cfHyperlink:{displayName:"URL",type:"Hyperlink",defaultValue:"",validations:{format:"URL",bindingSourceType:["entry","experience","manual"]}},cfOpenInNewTab:{displayName:"URL behaviour",type:"Boolean",defaultValue:!1,description:"Open in new tab"}},Q={cfFontSize:{displayName:"Font Size",type:"Text",group:"style",defaultValue:"16px"},cfFontWeight:{validations:{in:[{value:"400",displayName:"Normal"},{value:"500",displayName:"Medium"},{value:"600",displayName:"Semi Bold"}]},displayName:"Font Weight",type:"Text",group:"style",defaultValue:"400"},cfImageAsset:{displayName:"Image",type:"Media",validations:{bindingSourceType:["asset","entry","manual"]}},cfImageOptions:{displayName:"Image options",type:"Object",group:"style",defaultValue:{width:"100%",height:"100%",targetSize:"unset"}},cfBackgroundColor:{displayName:"Background color",type:"Text",group:"style",defaultValue:"rgba(0, 0, 0, 0)"},cfBackgroundImageUrl:{displayName:"Background image",type:"Media",validations:{bindingSourceType:["asset","entry","manual"]}},cfBackgroundImageOptions:{displayName:"Background image options",type:"Object",group:"style",defaultValue:{scaling:"fill",alignment:"left top",targetSize:"2000px"}},cfBorderRadius:{displayName:"Border Radius",type:"Text",group:"style",defaultValue:"0px"},cfLineHeight:{displayName:"Line Height",type:"Text",group:"style",defaultValue:"20px"},cfLetterSpacing:{displayName:"Letter Spacing",type:"Text",group:"style",defaultValue:"0px"},cfTextColor:{displayName:"Text Color",type:"Text",group:"style",defaultValue:"rgba(0, 0, 0, 1)"},cfTextAlign:{validations:{in:[{value:"start",displayName:"Align start"},{value:"center",displayName:"Align center"},{value:"end",displayName:"Align end"}]},displayName:"Text Align",type:"Text",group:"style",defaultValue:"start"},cfTextTransform:{validations:{in:[{value:"none",displayName:"Normal"},{value:"capitalize",displayName:"Capitalize"},{value:"uppercase",displayName:"Uppercase"},{value:"lowercase",displayName:"Lowercase"}]},displayName:"Text Transform",type:"Text",group:"style",defaultValue:"none"},cfTextBold:{displayName:"Bold",type:"Boolean",group:"style",defaultValue:!1},cfTextItalic:{displayName:"Italic",type:"Boolean",group:"style",defaultValue:!1},cfTextUnderline:{displayName:"Underline",type:"Boolean",group:"style",defaultValue:!1}},Z={},K=/\${(\w.+?)}/g,J=(e,t)=>{let[n,i]=e.replace(K,"$1").split("."),r=Z[n];if(r&&r[i]){if("cfBorder"===t){let{width:e,style:t,color:n}=r[i];return`${e} ${t} ${n}`}return r[i]}return H[t]?H[t].defaultValue:Q[t]?Q[t].defaultValue:"0px"},G=M.eu("2023-09-28");M.KC([M.eu("2023-08-23"),M.eu("2023-07-26"),M.eu("2023-06-27")]);let X=M.k5(["Text","RichText","Number","Date","Boolean","Location","Media","Object","Hyperlink","Array","Link"]),ee=M.Yj().regex(/^[a-zA-Z0-9-_]{1,32}$/,{message:"Property needs to match: /^[a-zA-Z0-9-_]{1,32}$/"}),et=M.KC([M.Yj(),M.zM(),M.ai(),M.g1(M.bz(),M.bz()),M.Vx()]),en=M.YO(M.Ik({sys:M.Ik({type:M.eu("Link"),id:M.Yj(),linkType:M.eu("Entry")})})),ei=M.Yj().regex(/^[a-zA-Z0-9-_]{1,21}$/,{message:"Does not match /^[a-zA-Z0-9-_]{1,21}$/"}),er=M.g1(ei,M.Ik({sys:M.Ik({type:M.eu("Link"),id:M.Yj(),linkType:M.k5(["Entry","Asset"])})})),ea=M.g1(ei,M.Ik({value:et})),eo=M.Yj().regex(/^[a-zA-Z0-9-_]{1,54}$/,{message:"Does not match /^[a-zA-Z0-9-_]{1,54}$/"}),es=M.Yj().regex(/^[a-zA-Z0-9]{1,8}$/,{message:"Does not match /^[a-zA-Z0-9]{1,8}$/"}),el=M.g1(M.RZ(()=>et)),ed=M.YO(M.k5(["entry","asset","manual","experience"])).nonempty(),eu=M.Ik({type:M.eu("DesignValue"),valuesByBreakpoint:el}).strict(),ec=M.Ik({type:M.eu("BoundValue"),path:M.Yj()}).strict(),ep=M.Ik({type:M.eu("HyperlinkValue"),linkTargetKey:M.Yj(),overrides:M.Ik({}).optional()}).strict(),ef=M.Ik({type:M.eu("UnboundValue"),key:M.Yj()}).strict(),ey=M.Ik({type:M.eu("ComponentValue"),key:M.Yj()}).strict(),em=M.Ik({type:M.eu("NoValue")}
1).strict(),eg=M.gM("type",[eu,ec,ef,ep,ey,em]),eh=M.Ik({type:M.eu("BoundValue"),path:M.Yj()}),eb=M.g1(eo,eh),eE=/^\*$|^[<>][0-9]+px$/,ev=M.Ik({id:eo,query:M.Yj().refine(e=>eE.test(e)),previewSize:M.Yj().optional(),displayName:M.Yj(),displayIcon:M.k5(["desktop","tablet","mobile"]).optional()}).strict(),ex=M.Ik({id:es.optional(),definitionId:ee,prebindingId:M.Yj().optional(),displayName:M.Yj().optional(),slotId:M.Yj().optional(),variables:M.g1(eo,eg),parameters:eb.optional()}),ek=M.Ik({displayName:M.Yj().optional(),type:X,description:M.Yj().optional(),group:M.Yj().optional(),defaultValue:et.or(eg).optional(),validations:M.Ik({bindingSourceType:ed.optional(),required:M.zM().optional(),format:M.eu("URL").optional(),in:M.YO(M.Ik({value:M.KC([M.Yj(),M.ai()]),displayName:M.Yj().optional()})).optional()}).optional()}),eI=ex.extend({children:M.RZ(()=>eI.array())}).superRefine(({id:e,prebindingId:t,parameters:n},i)=>{t&&!n&&i.addIssue({code:O.eq.custom,message:`Found "prebindingId" but no "parameters" for node with id: "${e}"`})}),ew=M.Ik({breakpoints:M.YO(ev).superRefine((e,t)=>{if(!e.length||"*"!==e[0].query)return void t.addIssue({code:O.eq.custom,message:'The first breakpoint should include the following attributes: { "query": "*" }'});if(1===e.length)return;let n=e.map(e=>e.id);if(new Set(n).size!==n.length)return void t.addIssue({code:O.eq.custom,message:"Breakpoint IDs must be unique"});let i=e.slice(1),r=i[0].query.startsWith(">"),a=i[0].query.startsWith("<");r?(i.every(({query:e})=>e.startsWith(">"))||t.addIssue({code:O.eq.custom,message:'Breakpoint queries must be in the format ">[size]px" for mobile-first strategy'}),i.map(e=>parseInt(e.query.replace(/px|<|>/,""))).every((e,t,n)=>0===t||e>n[t-1])||t.addIssue({code:O.eq.custom,message:"When using a mobile-first strategy, all breakpoints must have strictly increasing pixel values"})):a?(i.every(({query:e})=>e.startsWith("<"))||t.addIssue({code:O.eq.custom,message:'Breakpoint queries must be in the format "<[size]px" for desktop-first strategy'}),i.map(e=>parseInt(e.query.replace(/px|<|>/,""))).every((e,t,n)=>0===t||e<n[t-1])||t.addIssue({code:O.eq.custom,message:"When using a desktop-first strategy, all breakpoints must have strictly decreasing pixel values"})):r||a||t.addIssue({code:O.eq.custom,message:"You may only use a mobile-first or desktop-first strategy for breakpoints using '<' or '>' queries"})}),children:M.YO(eI),schemaVersion:G}).strict(),eT=e=>M.g1(M.Yj(),e);M.Ik({componentTree:eT(ew),dataSource:eT(er),unboundValues:eT(ea),usedComponents:eT(en).optional()});let eS=M.Ik({parameterId:eo,type:M.eu("ContentTypeMapping"),pathsByContentType:M.g1(M.Yj(),M.Ik({path:M.Yj()})).superRefine((e,t)=>{let n=t.path[t.path.length-2];Object.keys(e).length>200&&t.addIssue({code:O.eq.custom,message:`Too many paths defined for variable mapping with id "${n}", maximum allowed is 200`})})}),ej=M.Ik({nodeId:eo,parameterId:eo,prebindingId:eo}).strict(),eN=M.Ik({defaultSource:M.re({type:M.k5(["Entry"]),contentTypeId:M.Yj(),link:M.re({sys:M.re({type:M.eu("Link"),id:M.Yj(),linkType:M.k5(["Entry"])})})}).optional(),contentTypes:M.YO(M.Yj()).min(1),passToNodes:M.YO(ej).max(1,'At most one "passToNodes" element is allowed per parameter definition.')}),eV=M.g1(eo,eN),e$=M.g1(eo,eS),eM=M.g1(M.Yj().regex(/^[a-zA-Z0-9-_]{1,54}$/),ek),eO=M.Ik({id:eo,parameterDefinitions:eV,variableMappings:e$.optional(),allowedVariableOverrides:M.YO(M.Yj()).optional()}).strict(),eA=M.Ik({variableDefinitions:eM,thumbnailId:M.k5(["columns","columnsPlusRight","imagesSquare","subtitles","rowsPlusBottom","userRectangle","textbox","monitorPlay","article","table","star","heartStraight","frameCorners","rows","dotsThreeOutline","listDashes","checkerBoard","gridFour","slideshow","diamondsFour","cards","textColumns","duplex"]).optional(),category:M.Yj().max(50,"Category must contain at most 50 characters").optional(),prebindingDefinitions:M.YO(eO).length(1).optional()}).strict().superRefine((e,t)=>{let{variableDefinitions:n,prebindingDefinitions:i}=e;if(!i||0===i.length)return;let{parameterDefinitions:r,variableMappings:a,allowedVariableOverrides:o}=i[0];eR(r,t),eD(a,o,t),eC(a,o,n,t),eB(a,r,t)});M.Ik({componentTree:eT(ew),dataSource:eT(er),unboundValues:eT(ea),usedComponents:eT(en).optional(),componentSettings:eT(eA)}).superRefine((e,t)=>
1{let{componentTree:n,componentSettings:i}=e,r=Object.values(n)[0],a=Object.values(i)[0];a&&r&&eL(r.children||[],a||{},t)});let eR=(e,t)=>{Object.values(e).filter(e=>!(e.passToNodes&&e.passToNodes.length>0)).length>1&&t.addIssue({code:O.eq.custom,message:"Only one native parameter definition (parameter definition without passToNodes) is allowed per prebinding definition."})},eD=(e,t,n)=>{let i=Object.keys(e||{}),r=new Set(t||[]),a=i.filter(e=>r.has(e));a.length>0&&n.addIssue({code:O.eq.custom,message:`Found both variable mapping and allowed override for the following keys: ${a.map(e=>`"${e}"`).join(", ")}.`})},eC=(e,t,n,i)=>{let r=Object.entries(n).filter(([e,t])=>"style"!==t.group).map(([e])=>e),a=[...Object.keys(e||{}),...t||[]].filter(e=>!r.includes(e));a.length>0&&i.addIssue({code:O.eq.custom,message:`The following variable mappings or overrides are missing from the variable definitions: ${a.map(e=>`"${e}"`).join(", ")}.`})},eB=(e,t,n)=>{let i=Object.keys(t||{});for(let[t,r]of Object.entries(e||{}))i.includes(r.parameterId)||n.addIssue({code:O.eq.custom,message:`The variable mapping with id "${t}" references a non-existing parameterId "${r.parameterId}".`})},eL=(e,t,n)=>{if(!t.prebindingDefinitions||0===t.prebindingDefinitions.length)return;let{parameterDefinitions:i}=t.prebindingDefinitions[0],r=new Set;for(let e of Object.values(i||{}))e.passToNodes?.forEach(e=>r.add(e.nodeId));let a=e=>{var t;let n=[...e.children];for(let i of((t=e).id&&r.has(t.id)&&r.delete(t.id),n))a(i)};if(Array.isArray(e))for(let t of e)a(t);else a(e);if(r.size>0){let e=Array.from(r).map(e=>`"${e}"`).join(", ");n.addIssue({code:O.eq.custom,message:`The following node IDs referenced in passToNodes are not present in the component tree: ${e}.`})}};M.Ik({id:ee,name:M.Yj(),category:M.Yj().optional(),thumbnailUrl:M.Yj().optional(),thumbnailId:M.Yj().optional(),hyperlinkPattern:M.Yj().optional(),children:M.zM().optional(),slots:M.g1(ee,M.Ik({displayName:M.Yj().optional()})).optional(),builtInStyles:M.YO(M.Yj()).optional(),tooltip:M.Ik({imageUrl:M.Yj().optional(),description:M.Yj()}).optional(),variables:M.g1(ee,ek.extend({defaultValue:et.optional()}).superRefine((e,t)=>{switch(e.type){case"Array":void 0!==e.defaultValue&&t.addIssue({code:O.eq.custom,message:`defaultValue is not supported for "Array" type for ${t.path.join(".")}`,fatal:!1});break;case"Boolean":void 0!==e.defaultValue&&"boolean"!=typeof e.defaultValue&&t.addIssue({code:O.eq.custom,message:`defaultValue must be a boolean when type is "Boolean" for ${t.path.join(".")}, got ${typeof e.defaultValue} instead`,fatal:!1});break;case"Date":void 0!==e.defaultValue&&"string"!=typeof e.defaultValue&&t.addIssue({code:O.eq.custom,message:`defaultValue must be a string when type is "Date" for ${t.path.join(".")}, got ${typeof e.defaultValue} instead`,fatal:!1});break;case"Hyperlink":void 0!==e.defaultValue&&"string"!=typeof e.defaultValue&&t.addIssue({code:O.eq.custom,message:`defaultValue must be a string when type is "Hyperlink" for ${t.path.join(".")}, got ${typeof e.defaultValue} instead`,fatal:!1});break;case"Link":void 0!==e.defaultValue&&"object"!=typeof e.defaultValue&&t.addIssue({code:O.eq.custom,message:`defaultValue is not supported for "Link" type for ${t.path.join(".")}`,fatal:!1});break;case"Location":void 0!==e.defaultValue&&"object"!=typeof e.defaultValue&&t.addIssue({code:O.eq.custom,message:`defaultValue must be an object when type is "Location" for ${t.path.join(".")}, got ${typeof e.defaultValue} instead`,fatal:!1});break;case"Media":void 0!==e.defaultValue&&"string"!=typeof e.defaultValue&&t.addIssue({code:O.eq.custom,message:`defaultValue must be a string when type is "Media" for ${t.path.join(".")}, got ${typeof e.defaultValue} instead`,fatal:!1});break;case"Number":void 0!==e.defaultValue&&"number"!=typeof e.defaultValue&&t.addIssue({code:O.eq.custom,message:`defaultValue must be a number when type is "Number" for ${t.path.join(".")}, got ${typeof e.defaultValue} instead`,fatal:!1});break;case"Object":void 0!==e.defaultValue&&"object"!=typeof e.defaultValue&&t.addIssue({code:O.eq.custom,message:`defaultValue must be an object when type is "Object" for ${t.path.join(".")}, got ${typeof e.defaultValue} instead`,fatal:!1});break;case"RichText":void 0!==e.defaultValue&&"object"!=typeof e.defaultValue&&t.addIssue({code:O.eq.custom,message:`defaultValue must be an object when type is "RichText" for ${t.path.join(".")}, got ${typeof e.defaultValue} instead`,fatal:!1});break;case"Text":void 0!==e.defaultValue&&"string"!=typeof e.defaultValue&&t.addIssue({code:O.eq.custom,message:`defaultValue must be a string when type is "Text" for ${t.path.join(".")}, got ${typeof e.defaultValue} instead`,fatal:!1})}}))}).superRefine((e,t)=>
1{!0===e.children&&(e.variables.children||e.slots?.children)&&t.addIssue({code:O.eq.custom,message:"Cannot activate 'children: true' and name a variable or slot 'children' at the same time",fatal:!1}),e.variables&&e.slots&&Object.keys(e.variables).forEach(n=>{e.slots[n]&&t.addIssue({code:O.eq.custom,message:`Variable and slot cannot have the same name: ${n}`,fatal:!1})})}),(a=b||(b={})).Type="type",a.Required="required",a.Unexpected="unexpected",a.Regex="regex",a.In="in",a.Size="size",a.Custom="custom";let eq={},eY=/(<|>)(\d{1,})(px|cm|mm|in|pt|pc)$/,eF=e=>{let t={};return[e.map(e=>{let n=(({query:e})=>{if("*"===e)return;let t=e.match(eY);if(!t)return;let[,n,i,r]=t;if("<"===n){let e=Number(i)-1;return`(max-width: ${e}${r})`}if(">"===n){let e=Number(i)+1;return`(min-width: ${e}${r})`}})(e);if(!n||"u"<typeof window)return;let i=window.matchMedia(n);return t[e.id]=i.matches,{id:e.id,signal:i}}).filter(e=>!!e),t]},e_=["cfMargin","cfPadding","cfGap","cfWidth","cfHeight","cfBackgroundColor","cfBorder","cfBorderRadius","cfFontSize","cfLineHeight","cfLetterSpacing","cfTextColor","cfMaxWidth"],ez=e=>null!=e&&""!==e;function eU(e,t){if(!e||!t)return e??t;let n={...e.valuesByBreakpoint};for(let[e,i]of Object.entries(t.valuesByBreakpoint))ez(i)&&(n[e]=i);return{type:"DesignValue",valuesByBreakpoint:n}}let eP="cf_debug",eW=()=>{try{if("u"<typeof localStorage||null===localStorage)return!1;let e="cf_test_local_storage";if(localStorage.setItem(e,"yes"),"yes"===localStorage.getItem(e))return localStorage.removeItem(e),!0;return!1}catch(e){return!1}},eH=["error","warn","log","debug"],eQ=class e{constructor(){if(this.activeLevel="warn",this.error=this.logger("error"),this.warn=this.logger("warn"),this.log=this.logger("log"),this.debug=this.logger("debug"),!eW())return;"true"===localStorage.getItem(eP)&&(this.activeLevel="debug")}static getInstance(){return null===this.instance&&(this.instance=new e),this.instance}getActiveLevel(){return this.activeLevel}setActiveLevel(e){this.activeLevel=e,eW()&&("debug"===this.activeLevel||"log"===this.activeLevel?localStorage.setItem(eP,"true"):localStorage.removeItem(eP))}logger(e){return(...t)=>{eH.indexOf(e)<=eH.indexOf(this.activeLevel)&&console[e](...t)}}};eQ.instance=null;let eZ=eQ.getInstance(),eK=(e,t)=>({top:Math.min(e.top,t.top),right:Math.max(e.right,t.right),bottom:Math.max(e.bottom,t.bottom),left:Math.min(e.left,t.left)}),eJ=e=>{let t=e.getBoundingClientRect();if(0===e.children.length||0!==t.width||0!==t.height)return t;let n=[];for(let t of e.children){let e=eJ(t);if(0!==e.width||0!==e.height){let{top:t,right:i,bottom:r,left:a}=e;n.push({top:t,right:i,bottom:r,left:a})}}if(0===n.length)return t;let{top:i,right:r,bottom:a,left:o}=n.reduce(eK);return DOMRect.fromRect({x:o,y:i,height:a-i,width:r-o})};function eG(e){return null!==e&&"object"==typeof e&&!!e.sys?.id&&e.sys?.type==="Link"&&!!e.sys?.linkType}let eX=e=>"BoundValue"===e.type&&"boolean"==typeof e.isPrebound&&!!e.pathsByContentType,e0=e=>{let t=e3(e);return!!t&&t.fields.length>1},e1=e=>!!e?.path&&"BoundValue"===e.type&&!!eX(e)&&(!!e0(e.path)||Object.values(e.pathsByContentType||{}).some(e=>e0(e.path))),e2=(e,t)=>{if(!eX(e))return;let[,n]=e.path.split("/");if(!n)return;let i=t(n);if(i?.sys.type!=="Entry")return;let r=i.sys.contentType.sys.id;if(e.pathsByContentType?.[r])return e.pathsByContentType?.[r]?.path},e3=e=>{let t=e5(e.split("/"),{startNextChunkOnElementEqualTo:"fields"});if(t.length<=1||2===t.length)return null;let[n,...i]=t;return/^\/([^/^~]+)$/.test(n.join("/"))&&i.every(e=>/^fields\/[^/^~]+\/~locale$/.test(e.join("/")))?{key:n[1],fields:i.map(e=>e[1])}:null},e5=(e,{startNextChunkOnElementEqualTo:t})=>{let n=[],i=[],r=e=>e===t;for(let t=0;t<e.length;t++){let a=0===t,o=e[t];a?i=[o]:r(o)?(n.push(i),i=[o]):i.push(o)}return n.push(i),n.filter(e=>e.length>0)},e6=["cfImageAsset"],e4=["cfVisibility","cfHorizontalAlignment","cfVerticalAlignment","cfMargin","cfPadding","cfBackgroundColor","cfWidth","cfMaxWidth","cfHeight","cfImageAsset","cfImageOptions","cfBackgroundImageUrl","cfBackgroundImageOptions","cfFlexDirection","cfFlexWrap","cfFlexReverse","cfBorder","cfBorderRadius","cfGap","cfColumnSpan","cfColumnSpanLock","cfColumns","cfFontSize","cfFontWeight","cfLineHeight","cfLetterSpacing","cfTextColor","cfTextAlign","cfTextTransform","cfTextBold","cfTextItal
1ic","cfTextUnderline"].filter(e=>!e6.includes(e)),e7=["cfSsrClassName","cfWrapColumns","cfWrapColumnsCount"],e9=e=>{let t=e.replace(/[A-Z]/g,e=>"-"+e.toLowerCase());return t.replace(/\d+$/,"")};function e8(e,t,n,i){e.startsWith("//")&&(e="https:"+e);let r=new URLSearchParams;t&&r.append("w",t.toString()),n&&n>0&&n<100&&r.append("q",n.toString()),i&&r.append("fm",i);let a=r.toString();return`${e}${a?"?"+a:""}`}function te(e,t,n){if(!e.details.image)throw Error("No image in file asset to transform");if(t<0||t>100)throw Error("Quality must be between 0 and 100");if(n&&!z.includes(n))throw Error(`Format must be one of ${z.join(", ")}`);return!0}function tt(e,t){if(!t.length)return e;try{let[n,...i]=t;return tt(e[n],i)}catch(e){return}}let tn=(e,t)=>{let n=tt(e,t.split("/").slice(2,-1));return n&&"object"==typeof n&&n.url?n.url:n},ti=(e,t)=>{if(e){if(e?.data?.target?.sys?.type==="Link"){let n=t.getEntityFromLink(e.data.target);n&&(e.data.target=n)}"content"in e&&Array.isArray(e.content)&&e.content.forEach(e=>ti(e,t))}},tr=e=>null!==e&&"object"==typeof e&&"sys"in e&&e.sys?.type==="Entry",ta=e=>null!==e&&"object"==typeof e&&"sys"in e&&e.sys?.type==="Asset",to=e=>void 0!==e,ts=(e,t,n,i,r,a,o)=>{let s=t.getEntryOrAsset(n,o);if(s)switch(a){case"Media":if("Entry"===s.sys.type)return tn(s,o);return((e,t,n,i,r)=>{var a;let o;if(!e0(r)&&(a="file",(o=r.split("/")).length<2?(eZ.warn(`[experiences-core::pathSchema] Attempting to check whether last named segment of the path (${r}) equals to '${a}', but the path doesn't have enough segments.`),!0):o[o.length-2]!==a))return tn(e,r);if("cfImageAsset"===i){let i="cfImageOptions",r=n(t[i]?.type==="DesignValue"?t[i].valuesByBreakpoint:{});if(!r)return void eZ.error(`[experiences-core::transformMedia] Error transforming image asset: Required variable [${i}] missing from component definition`);try{return(({file:e,sizes:t,loading:n,quality:i="100%",format:r})=>{let a=Number(i.replace("%",""));te(e,a,r);let o=e.url,s=Math.min(e.details.image.width,4e3),l=Math.max(2,Math.ceil(s/500)),d=Array.from({length:l},(e,t)=>Math.ceil(s/l*(t+1))),u=t?d.map(e=>`${e8(o,e,a,r)} ${e}w`):[],c=e.details.image.width;return c>4e3&&u.push(`${e8(o,void 0,a,r)} ${c}w`),{url:e8(o,e.details.image.width>2e3?2e3:void 0,a,r),srcSet:u,sizes:t,file:e,loading:n}})({file:e.fields.file,loading:r.loading,sizes:r.targetSize,quality:r.quality,format:r.format})}catch(e){eZ.error("[experiences-core::transformMedia] Error transforming image asset",e)}return}if("cfBackgroundImageUrl"===i){let i=n(t.cfWidth?.type==="DesignValue"?t.cfWidth.valuesByBreakpoint:{},"cfWidth")||"100%",r="cfBackgroundImageOptions",a=n(t[r]?.type==="DesignValue"?t[r].valuesByBreakpoint:{});if(!a)return void eZ.error(`[experiences-core::transformMedia] Error transforming image asset: Required variable [${r}] missing from component definition`);try{let t,n=e.fields.file?.details,r=n?.image?.width||0,o=(t=a.targetSize.match(/^(\d+(\.\d+)?)(px|em|rem)$/))?{value:parseFloat(t[1]),unit:t[3]}:null,s=o?function(e){switch(e.unit){case"px":default:return e.value;case"em":case"rem":return 16*e.value}}(o):r;return s<r&&(i=`${s}px`),((e,t,n="100%",i)=>{var r,a;let o,s,l,d=Number(n.replace("%",""));te(e,d,i),te(e,d,i);let u=e.url,{width1x:c,width2x:p}=(r=t,a=e,o=0,s=0,l=a.details.image.width,s=Math.min(2*(o=r.endsWith("px")?Math.min(Number(r.replace("px","")),l):Math.min(2e3,l)),l),{width1x:o,width2x:s}),f=e8(u,c,d,i),y=e8(u,p,d,i),m=[`url(${f}) 1x`,`url(${y}) 2x`];return{url:e8(u,p,d,i),srcSet:m,file:e}})(e.fields.file,i,a.quality,a.format)}catch(e){eZ.error("[experiences-core::transformMedia] Error transforming image asset",e)}}return e.fields.file?.url})(s,e,i,r,o);case"RichText":let l=tn(s,o);if("string"==typeof l)return{data:{},content:[{nodeType:D.nA.PARAGRAPH,data:{},content:[{data:{},nodeType:"text",value:l,marks:[]}]}],nodeType:D.nA.DOCUMENT};if("object"==typeof l&&l.nodeType===D.nA.DOCUMENT){let e=A(l);return ti(e,t),e}return;case"Array":if("Asset"===s.sys.type)return s;let d=o.split("/").slice(2,-1),u=tt(s,d);if(!Array.isArray(u))return void eZ.warn(`[experiences-core::getArrayValue] A field '${d}' of an entity was bound to an Array variable. Expected value of that field to be an array, but got: ${JSON.stringify(u)}`,{entity:s});let c=u.map(e=>{if("string"==typeof e)return e;if(e?.sys?.type!=="Link")return void eZ.warn(`[experiences-core::getArrayValue] Expected value to be a string or Link, but got: ${JSON.stringify(e)}`);{let n=t.getEntityFromLink(e);if(!n)return;return n}}).filter(to);return c.length>0?c:void 0;case"Link":let p;
1if(ta(s))return s;if(!tr(s))throw Error(`Expected an Entry or Asset, but got: ${JSON.stringify(s)}`);let f=o.split("/").slice(2,-1),y=tt(s,f);if(ta(y)||tr(y))p=y;else{if(y?.sys.type!=="Link")return void eZ.warn(`[experiences-core::getResolvedEntryFromLink] When attempting to follow link in field '${f}' of entity, the value is expected to be a link, but got: ${JSON.stringify(y)}`,{entity:s});p=t.getEntityFromLink(y)}if(p)return p;return;default:return tn(s,o)}};function tl(e,t){let n=(e,i,r)=>{let a=[...e.children];t(e,i,r);let o=i+1;for(let e of a)o=n(e,o,r+1)+1;return i};n(e,0,0)}class td extends Error{constructor(e){super(e)}}let tu=e=>{if(!e.data)throw new td("Field event.data is missing");if("string"!=typeof e.data)throw new td(`Field event.data must be a string, instead of '${typeof e.data}'`);if(!(e=>{try{let t=JSON.parse(e);if("object"!=typeof t)return!1;return!0}catch(e){return!1}})(e.data))throw new td("Field event.data must be a valid JSON object serialized as string");let t=JSON.parse(e.data);if(!t.source)throw new td("Field eventData.source must be equal to 'composability-app'");if("composability-app"!==t.source)throw new td(`Field eventData.source must be equal to 'composability-app', instead of '${t.source}'`);let n=Object.values(F);if(!n.includes(t.eventType)&&t.eventType!==h.REQUESTED_ENTITIES)throw new td(`Field eventData.eventType must be one of the supported values: [${n.join(", ")}]`);return t},tc=(e,t)=>{"u">typeof window&&(eZ.debug(`[experiences-sdk-react::sendMessage] Sending message [${e}]`,{source:"customer-app",eventType:e,payload:t}),window.parent?.postMessage({source:"customer-app",eventType:e,payload:t},"*"))};function tp(e){for(let t of Object.getOwnPropertyNames(e)){let n=e[t];n&&"object"==typeof n&&tp(n)}return Object.freeze(e)}let tf=class{constructor({entities:e,locale:t}){for(const n of(this.entryMap=new Map,this.assetMap=new Map,this.locale=t,e))this.addEntity(n)}get entities(){return[...this.entryMap.values(),...this.assetMap.values()]}updateEntity(e){this.addEntity(e)}getEntryOrAsset(e,t){let n;if(e0(t))return this.getDeepEntry(e,t);if(eG(e)){let t="Entry"===e.sys.linkType?this.entryMap.get(e.sys.id):this.assetMap.get(e.sys.id);if(!t||t.sys.type!==e.sys.linkType)return void eZ.warn(`[experiences-core::EntityStoreBase] Experience references unresolved entity: ${JSON.stringify(e)}`);n=t}else if(ta(e)||tr(e))n=e;else throw Error(`[experiences-core::EntityStoreBase] Unexpected object when resolving entity: ${JSON.stringify(e)}`);return n}getValue(e,t){let n=this.getEntity(e.sys.linkType,e.sys.id);return n?tt(n,t):void eZ.warn(`Unresolved entity reference: ${e.sys.linkType} with ID ${e.sys.id}`)}getEntityFromLink(e){let t="Entry"===e.sys.linkType?this.entryMap.get(e.sys.id):this.assetMap.get(e.sys.id);return t&&t.sys.type===e.sys.linkType?t:void eZ.warn(`[experiences-core::EntityStoreBase] Experience references unresolved entity: ${JSON.stringify(e)}`)}getAssetById(e){let t=this.assetMap.get(e);return t||void eZ.warn(`[experiences-core::EntityStoreBase] Asset with ID "${e}" is not found in the store`)}getEntryById(e){let t=this.entryMap.get(e);return t||void eZ.warn(`[experiences-core::EntityStoreBase] Entry with ID "${e}" is not found in the store`)}getEntitiesFromMap(e,t){let n=[],i=[];for(let r of t){let t=this.getEntity(e,r);t?n.push(t):i.push(r)}return{resolved:n,missing:i}}addEntity(e){if(ta(e))this.assetMap.set(e.sys.id,tp(A(e)));else if(tr(e))this.entryMap.set(e.sys.id,tp(A(e)));else throw Error(`Attempted to add an entity to the store that is neither Asset nor Entry: '${JSON.stringify(e)}'`)}async fetchAsset(e){let{resolved:t,missing:n}=this.getEntitiesFromMap("Asset",[e]);return n.length?void eZ.warn(`[experiences-core::EntityStoreBase] Asset "${e}" is not in the store`):t[0]}async fetchAssets(e){let{resolved:t,missing:n}=this.getEntitiesFromMap("Asset",e);if(n.length)throw Error(`Missing assets in the store (${n.join(",")})`);return t}async fetchEntry(e){let{resolved:t,missing:n}=this.getEntitiesFromMap("Entry",[e]);return n.length?void eZ.warn(`[experiences-core::EntityStoreBase] Entry "${e}" is not in the store`):t[0]}async fetchEntries(e){let{resolved:t,missing:n}=this.getEntitiesFromMap("Entry",e);if(n.length)throw Error(`Missing assets in the store (${n.join(",")})`);return t}getDeepEntry(e,t){let n=(e,t)=>{let n=[],i=t;for(let t=0;t<e.length;t++){let r=t===e.length-1,[,a,o]=e[t];if(!i)throw Error(`Logic Error: Cannot resolve field ${a} of a fieldset as there is no entity to resolve it from.`);if(r){n.push([i,a,o]);break}let s=tt(i,["fields",a]);if(void 0===s)return{resolvedFieldset:n,isFullyResolved:!1,reason:`Cannot resolve field Link<${i.sys.type}>(sys.id=${i.sys.id}).fields[${a}] as field value is not defined`};if(eG(s)){let e=this.getEntityFromLink(s);if(void 0===e)return{resolvedFieldset:n,isFullyResolved:!1,reason:`Field reference Link (sys.id=${s.sys.id}) not found in the EntityStore, waiting...`};n.push([i,a,o]),i=e}else{if(!(ta(s)||tr(s)))return{resolvedFieldset:n,isFullyResolved:!1,reason:`Deep path points to an invali
1d field value of type '${typeof s}' (value=${s})`};n.push([i,a,o]),i=s}}return{resolvedFieldset:n,isFullyResolved:!0}},i=eG(e)?this.getEntityFromLink(e):e;if(void 0===i)return;let{resolvedFieldset:r,isFullyResolved:a,reason:o}=n((e=>{let t=e3(e);if(null===t)throw Error(`Cannot parse path '${e}' as deep path`);return t.fields.map(e=>[null,e,"~locale"])})(t),i);if(!a){o&&eZ.log(`[experiences-core::EntityStoreBase] Deep path wasn't resolved till leaf node, falling back to undefined, because: ${o}`);return}let[s]=r[r.length-1];return s}getEntity(e,t){return"Asset"===e?this.assetMap.get(t):this.entryMap.get(t)}toJSON(){return{entryMap:Object.fromEntries(this.entryMap),assetMap:Object.fromEntries(this.assetMap),locale:this.locale}}};class ty extends tf{constructor({entities:e,locale:t,sendMessage:n,subscribe:i,timeoutDuration:r=3e3}){super({entities:e,locale:t}),this.requestCache=new Map,this.cacheIdSeperator=",",this.sendMessage=n,this.subscribe=i,this.timeoutDuration=r}cleanupPromise(e){setTimeout(()=>{this.requestCache.delete(e)},300)}getCacheId(e){return 1===e.length?e[0]:e.join(this.cacheIdSeperator)}async fetchEntity(e,t,n=!1){let i;if(n)i=[...t];else{let{missing:n,resolved:r}=this.getEntitiesFromMap(e,t);if(0===n.length)return r;i=n}let r=this.getCacheId(i),a=this.requestCache.get(r);if(a)return a;let o=new Promise((n,a)=>{let o=this.subscribe(h.REQUESTED_ENTITIES,e=>{let a=[...e.entities.map(e=>e.sys.id),...e.missingEntityIds??[]];i.every(e=>a.includes(e))?(clearTimeout(s),n(e.entities),this.cleanupPromise(r),t.forEach(e=>this.cleanupPromise(e)),o()):eZ.warn("[experiences-core::EditorEntityStore] Unexpected entities received in REQUESTED_ENTITIES. Ignoring this response.")}),s=setTimeout(()=>{a(Error(`Request for entities timed out ${this.timeoutDuration}ms for ${r}`)),this.cleanupPromise(r),t.forEach(e=>this.cleanupPromise(e)),o()},this.timeoutDuration);this.sendMessage(h.REQUEST_ENTITIES,{entityIds:i,entityType:e,locale:this.locale})});return this.requestCache.set(r,o),t.forEach(e=>{this.requestCache.set(e,o)}),(await o).forEach(e=>{this.addEntity(e)}),this.getEntitiesFromMap(e,t).resolved}async fetchAsset(e,t=!1){try{return(await this.fetchAssets([e],t))[0]}catch(t){eZ.warn(`[experiences-core::EditorEntityStore] Failed to request asset ${e}`);return}}fetchAssets(e,t=!1){return this.fetchEntity("Asset",e,t)}async fetchEntry(e,t=!1){try{return(await this.fetchEntries([e],t))[0]}catch(t){eZ.warn(`[experiences-core::EditorEntityStore] Failed to request entry ${e}`,t);return}}fetchEntries(e,t=!1){return this.fetchEntity("Entry",e,t)}}class tm extends ty{constructor({entities:e,locale:t}){eZ.debug(`[experiences-core::EditorModeEntityStore] Initializing editor entity store with ${e.length} entities for locale ${t}.`,{entities:e}),super({entities:e,sendMessage:tc,subscribe:(e,t)=>{let n=n=>{let i=JSON.parse(n.data);"object"==typeof i&&i&&"composability-app"===i.source&&i.eventType===e&&t(i.payload)};return"u">typeof window&&window.addEventListener("message",n),()=>{"u">typeof window&&window.removeEventListener("message",n)}},locale:t,timeoutDuration:1e4})}async fetchEntities({missingEntryIds:e,missingAssetIds:t,skipCache:n=!1}){await Promise.all([super.fetchEntries(e,n),super.fetchAssets(t,n)])}getMissingEntityIds(e){let t=e.filter(e=>e.sys?.linkType==="Entry"),n=e.filter(e=>e.sys?.linkType==="Asset"),i=[...new Set(t.map(e=>e.sys.id))],r=[...new Set(n.map(e=>e.sys.id))],{missing:a}=this.getEntitiesFromMap("Entry",i),{missing:o}=this.getEntitiesFromMap("Asset",r);return{missingEntryIds:a,missingAssetIds:o}}getValue(e,t){var n;let i=this.getEntryOrAsset(e,t.join("/"));if(i)return(n=tt(i,t))&&"object"==typeof n&&n.url?n.url:n}}let tg=class extends tf{constructor(){super({entities:[],locale:"uninitialized-locale-in-uninitialized-entity-store"})}},th=(0,C.vt)((e,t)=>({entityStore:new tg,areEntitiesFetched:!1,setEntitiesFetched(t){e({areEntitiesFetched:t})},resolveAssetById(e){if(!e)return;let{entityStore:n}=t();return n.getAssetById(e)},resolveEntryById(e){if(!e)return;let{entityStore:n}=t();return n.getEntryById(e)},resolveEntity(e){if(!e)return;let{entityStore:n}=t();return n.getEntityFromLink(e)},resetEntityStore(t){e({entityStore:t,areEntitiesFetched:!1})}}));(o=E||(E={})).LazyLoad="lazyLoad",o.InjectScript="injectScript";class tb{constructor({path:e,dataSource:t}){const{key:n,field:i,referentField:r}=(e=>{let t=e3(e);
1if(null===t)throw Error(`Cannot parse path '${e}' as deep path`);return{key:t.key,field:t.fields[0],referentField:t.fields[1]}})(e);this.originalPath=e,this.entityId=t[n].sys.id,this.entityLink=t[n],this.field=i,this.referentField=r}get headEntityId(){return this.entityId}extractReferent(e){let t=e.getEntityFromLink(this.entityLink),n=t?.fields[this.field];if(void 0!==n&&eG(n))return n}static from(e){return new tb(e)}}let tE="root";function tv(e,t,n){if(n.data.id===e){n.data=t.data;return}n.children.forEach(n=>tv(e,t,n))}(s=v||(v={}))[s.REMOVE_NODE=0]="REMOVE_NODE",s[s.ADD_NODE=1]="ADD_NODE",s[s.MOVE_NODE=2]="MOVE_NODE",s[s.UPDATE_NODE=3]="UPDATE_NODE",s[s.REORDER_NODE=4]="REORDER_NODE",s[s.REPLACE_NODE=5]="REPLACE_NODE";let tx=(e,t)=>(function e(t,n){if(n.data.id===t)return n;for(let i of n.children){let n=e(t,i);if(n)return n}})(e.id,{type:"block",data:{id:tE},children:t.root.children}),tk={RequestEditorMode:"requestEditorMode",RequestReadOnlyMode:"requestReadOnlyMode",ExperienceUpdated:"componentTreeUpdated",ComponentDraggingChanged:"componentDraggingChanged",ComponentDragCanceled:"componentDragCanceled",ComponentDragStarted:"componentDragStarted",ComponentDragEnded:"componentDragEnded",ComponentMoveEnded:"componentMoveEnded",CanvasResized:"canvasResized",SelectComponent:"selectComponent",HoverComponent:"hoverComponent",UpdatedEntity:"updatedEntity",AssembliesAdded:"assembliesAdded",AssembliesRegistered:"assembliesRegistered",MouseMove:"mouseMove",RequestedEntities:"REQUESTED_ENTITIES"},tI="cfVisualEditorInitialize";(l=x||(x={})).READ_ONLY="readOnlyMode",l.EDITOR="editorMode",l.NONE="none";let tw="assembly",tT="80px";(d=k||(k={})).REQUEST_ENTITIES="REQUEST_ENTITIES",d.REQUESTED_ENTITIES="REQUESTED_ENTITIES";let tS=(0,C.vt)((e,t)=>({tree:{root:{children:[],type:"root",data:{breakpoints:[],dataSource:{},id:tE,props:{},unboundValues:{}}}},breakpoints:[],updateNodesByUpdatedEntity:t=>{e((0,B.jM)(e=>{tl(e.tree.root,n=>{tN(n)&&n.data.blockId===t?tv(n.data.id,tV(n),e.tree.root):Object.values(n.data.dataSource).map(e=>e.sys.id).includes(t)&&tv(n.data.id,tV(n),e.tree.root)})}))},updateTree:n=>{var i,r;let a,o=t().tree,s=(i={...o.root},r={...n.root},!function e({currentNode:t,updatedNode:n,originalTree:i,differences:r=[]}){let a=new Map;if(!t||!n)return r;let o=t.children.length,s=n.children.length,l=o>s,d=o<s,u=n.data.id;return(0,L.A)(t.data,n.data)||r.push({type:v.UPDATE_NODE,nodeId:t.data.id,node:n}),t.children.forEach((e,t)=>a.set(e.data.id,t)),n.children.forEach((n,o)=>{let s=n.data.id;if(!a.has(s)){let e=function({index:e,nodeAdded:t,child:n,tree:i,parentNodeId:r,currentNode:a}){if(t)return{type:v.ADD_NODE,indexToAdd:e,nodeToAdd:n,parentNodeId:r};let o=tx({id:n.data.id},i);if(o){let t=tx({id:o.parentId},i);if(!t)return null;let a=t.children.findIndex(e=>e.data.id===n.data.id);return{type:v.MOVE_NODE,sourceIndex:a,destinationIndex:e,parentNodeId:r}}return{type:v.REPLACE_NODE,originalId:a.children[e].data.id,indexToReplace:e,node:n}}({index:o,child:n,nodeAdded:d,parentNodeId:u,tree:i,currentNode:t});return e?.type===v.REPLACE_NODE&&a.delete(e.originalId),r.push(e)}let c=a.get(s),p=function({index:e,originalIndex:t,nodeRemoved:n,nodeAdded:i,parentNodeId:r}){return e===t||n||i?null:{type:v.REORDER_NODE,sourceIndex:t,destinationIndex:e,parentNodeId:r}}({index:o,originalIndex:c,nodeAdded:d,nodeRemoved:l,parentNodeId:u});r.push(p),a.delete(s),e({currentNode:t.children[c],updatedNode:n,originalTree:i,differences:r})}),a.forEach((e,t)=>{r.push({type:v.REMOVE_NODE,indexToRemove:e,parentNodeId:u,idToRemove:t})}),r}({currentNode:i,updatedNode:r,originalTree:o,differences:a=[]}),a.filter(e=>e)),l=tj(o,n);s.length||l?e((0,B.jM)(e=>{s.map(t=>{switch(t.type){case v.ADD_NODE:!function e(t,n,i,r){if(r.data.id===n){r.children=[...r.children.slice(0,t),i,...r.children.slice(t)];return}r.children.forEach(r=>e(t,n,i,r))}(t.indexToAdd,t.parentNodeId,t.nodeToAdd,e.tree.root);break;case v.REPLACE_NODE:!function e(t,n,i){if(i.data.id===n.parentId){i.children=[...i.children.slice(0,t),n,...i.children.slice(t+1)];return}i.children.forEach(i=>e(t,n,i))}(t.indexToReplace,t.node,e.tree.root);break;case v.UPDATE_NODE:tv(t.nodeId,t.node,e.tree.root);break;case v.REMOVE_NODE:!function e(t,n,i,r){if(r.data.id===i){let e=r.children.findIndex(e=>e.data.id===n);r.children.splice(-1===e?t:e,1);return}
1r.children.forEach(r=>e(t,n,i,r))}(t.indexToRemove,t.idToRemove,t.parentNodeId,e.tree.root);break;case v.MOVE_NODE:case v.REORDER_NODE:e.tree=n}}),e.breakpoints=n?.root?.data?.breakpoints||[]})):eZ.debug("[experiences-visual-editor-react::useTreeStore]: During smart-diffing no diffs. Skipping tree update.")},findNodeById(e){if(!e)return null;let n=t().tree.root,i=[],r=[],a=n;for(r.push(a);r.length;){if(a=r.shift(),i.push(a.data.id),a.data.id===e)return a;r.push(...a.children)}return null}})),tj=(e,t)=>{let n=e?.root?.data?.breakpoints??[],i=t?.root?.data?.breakpoints??[];return!(0,L.A)(n,i)},tN=e=>e.type===tw,tV=e=>JSON.parse(JSON.stringify(e)),t$=new Map,tM=(0,C.vt)((e,t)=>({dataSource:{},hyperLinkPattern:void 0,unboundValues:{},locale:null,setHyperLinkPattern:t=>{e({hyperLinkPattern:t})},setDataSource(n){let i=t().dataSource,r={...i,...n};(0,L.A)(i,r)||e({dataSource:r})},setUnboundValues(t){e({unboundValues:t})},setLocale(n){n!==t().locale&&e({locale:n})},initializeEditor({componentRegistry:t,designTokens:n,sdkOptions:i,initialLocale:r}){t.forEach(e=>{t$.set(e.definition.id,e)}),Object.assign(Z,(e=>{if(e.text)for(let t in e.text){let n=e.text[t];e.text[t]={emphasis:n.emphasis||"none",fontSize:n.fontSize||"16px",case:n.case||"normal",fontWeight:n.fontWeight||"400",lineHeight:n.lineHeight||"20px",letterSpacing:n.letterSpacing||"0px",color:n.color||"#000000"}}if(e.border)for(let t in e.border){let n=e.border[t];e.border[t]={width:n.width||"1px",style:n.style||"solid",color:n.color||"#000000"}}return e})(n)),Object.assign(eq,i),e({locale:r})}})),tO=({wrappingPatternIds:e,...t})=>$.createElement("div",{...t,"data-cf-node-error":"circular-pattern-dependency",style:{border:"1px solid red",background:"rgba(255, 0, 0, 0.1)",padding:"1rem 1rem 0 1rem",width:"100%",height:"100%"}},"Circular usage of patterns detected:",$.createElement("ul",null,Array.from(e).map(e=>{var t;let n=eG(t={sys:{type:"Link",linkType:"Entry",id:e}})?th.getState().resolveEntity(t):void eZ.warn("[experiences-core::InMemoryEntitiesStore] maybeResolveLink function must receive Link shape. Provided argument does not match the Link shape: ",t),i=n?.fields?.title,r=i?`${i} (${e})`:e;return $.createElement("li",{key:e},r)})));class tA extends Error{constructor(e){super(e),this.name="ImportedComponentError"}}class tR extends Error{constructor(e){super(e),this.name="ExperienceSDKError"}}class tD extends $.Component{componentDidCatch(e,t){let n;if("ImportedComponentError"===e.name||"ExperienceSDKError"===e.name)throw e;let i=new((n=this.props.componentId,P.has(n??""))?tR:tA)(e.message);throw i.stack=e.stack,i}render(){return this.props.children}}let tC=({blockId:e})=>$.createElement("div",{style:{border:"1px solid red",width:"100%",height:"100%"}},"Missing component '",e,"'");(0,V.A)(".EditorBlock-module_emptySlot__za-Bi {\n min-height: 80px;\n min-width: 80px;\n}\n"),(0,V.A)(":root{--cf-color-white:#fff;--cf-color-black:#000;--cf-color-gray100:#f7f9fa;--cf-color-gray400:#aec1cc;--cf-color-gray400-rgb:174,193,204;--cf-spacing-0:0rem;--cf-spacing-1:0.125rem;--cf-spacing-2:0.25rem;--cf-spacing-3:0.375rem;--cf-spacing-4:0.5rem;--cf-spacing-5:0.625rem;--cf-spacing-6:0.75rem;--cf-spacing-7:0.875rem;--cf-spacing-8:1rem;--cf-spacing-9:1.25rem;--cf-spacing-10:1.5rem;--cf-spacing-11:1.75rem;--cf-spacing-12:2rem;--cf-spacing-13:2.25rem;--cf-text-xs:0.75rem;--cf-text-sm:0.875rem;--cf-text-base:1rem;--cf-text-lg:1.125rem;--cf-text-xl:1.25rem;--cf-text-2xl:1.5rem;--cf-text-3xl:2rem;--cf-text-4xl:2.75rem;--cf-font-light:300;--cf-font-normal:400;--cf-font-medium:500;--cf-font-semibold:600;--cf-font-bold:700;--cf-font-extra-bold:800;--cf-font-black:900;--cf-border-radius-none:0px;--cf-border-radius-sm:0.125rem;--cf-border-radius:0.25rem;--cf-border-radius-md:0.375rem;--cf-border-radius-lg:0.5rem;--cf-border-radius-xl:0.75rem;--cf-border-radius-2xl:1rem;--cf-border-radius-3xl:1.5rem;--cf-border-radius-full:9999px;--cf-max-width-full:100%;--cf-button-bg:var(--cf-color-black);--cf-button-color:var(--cf-color-white);--cf-text-color:var(--cf-color-black)}*{box-sizing:border-box}"),(u=I||(I={})).READ_ONLY="readOnlyMode",u.EDITOR="editorMode",u.NONE="none",(c=w||(w={})).REQUEST_ENTITIES="REQUEST_ENTITIES",c.REQUESTED_ENTITIES="REQUESTED_ENTITIES",(0,V.A)('.cf-button:empty:before{content:"";display:inline-block}'),(0,V.A)(".cf-heading{white-space:pre-line}"),(0,V.A)(".cf-richtext{white-space:pre-line}.cf-richtext>:first-child{margin-top:0}.cf-richtext>:last-child{margin-bottom:0}"),(0,V.A)(".cf-text{white-space:pre-line}.cf-text-link .cf-text{margin:0}"),(0,V.A)("div.cf-placeholder-wrapper{outline:2px solid rgba(var(--cf-color-gray400-rgb),.5);outline-offset:-2px;overflow:hidden;position:relative}img.cf-placeholder-image{background-color:var(--cf-color-gray100);
1height:100%;width:100%}svg.cf-placeholder-icon{height:var(--cf-text-3xl);left:50%;max-height:100%;max-width:100%;position:absolute;top:50%;transform:translate(-50%,-50%);width:var(--cf-text-3xl)}svg.cf-placeholder-icon path{fill:var(--cf-color-gray400)}"),(p=T||(T={})).READ_ONLY="readOnlyMode",p.EDITOR="editorMode",p.NONE="none",(f=S||(S={})).REQUEST_ENTITIES="REQUEST_ENTITIES",f.REQUESTED_ENTITIES="REQUESTED_ENTITIES",Object.values({section:{id:"contentful-section",name:"Section"},container:{id:"contentful-container",name:"Container"},columns:{id:"contentful-columns",name:"Columns"},singleColumn:{id:"contentful-single-column",name:"Column"},button:{id:"contentful-button",name:"Button"},heading:{id:"contentful-heading",name:"Heading"},image:{id:"contentful-image",name:"Image"},richText:{id:"contentful-richText",name:"Rich Text"},text:{id:"contentful-text",name:"Text"},divider:{id:"contentful-divider",name:"Divider"},carousel:{id:"contentful-carousel",name:"Carousel"}}).map(e=>e.id);let tB=M.eu("2023-09-28");M.KC([M.eu("2023-08-23"),M.eu("2023-07-26"),M.eu("2023-06-27")]);let tL=M.k5(["Text","RichText","Number","Date","Boolean","Location","Media","Object","Hyperlink","Array","Link"]),tq=M.Yj().regex(/^[a-zA-Z0-9-_]{1,32}$/,{message:"Property needs to match: /^[a-zA-Z0-9-_]{1,32}$/"}),tY=M.KC([M.Yj(),M.zM(),M.ai(),M.g1(M.bz(),M.bz()),M.Vx()]),tF=M.YO(M.Ik({sys:M.Ik({type:M.eu("Link"),id:M.Yj(),linkType:M.eu("Entry")})})),t_=M.Yj().regex(/^[a-zA-Z0-9-_]{1,21}$/,{message:"Does not match /^[a-zA-Z0-9-_]{1,21}$/"}),tz=M.g1(t_,M.Ik({sys:M.Ik({type:M.eu("Link"),id:M.Yj(),linkType:M.k5(["Entry","Asset"])})})),tU=M.g1(t_,M.Ik({value:tY})),tP=M.Yj().regex(/^[a-zA-Z0-9-_]{1,54}$/,{message:"Does not match /^[a-zA-Z0-9-_]{1,54}$/"}),tW=M.Yj().regex(/^[a-zA-Z0-9]{1,8}$/,{message:"Does not match /^[a-zA-Z0-9]{1,8}$/"}),tH=M.g1(M.RZ(()=>tY)),tQ=M.YO(M.k5(["entry","asset","manual","experience"])).nonempty(),tZ=M.Ik({type:M.eu("DesignValue"),valuesByBreakpoint:tH}).strict(),tK=M.Ik({type:M.eu("BoundValue"),path:M.Yj()}).strict(),tJ=M.Ik({type:M.eu("HyperlinkValue"),linkTargetKey:M.Yj(),overrides:M.Ik({}).optional()}).strict(),tG=M.Ik({type:M.eu("UnboundValue"),key:M.Yj()}).strict(),tX=M.Ik({type:M.eu("ComponentValue"),key:M.Yj()}).strict(),t0=M.Ik({type:M.eu("NoValue")}).strict(),t1=M.gM("type",[tZ,tK,tG,tJ,tX,t0]),t2=M.Ik({type:M.eu("BoundValue"),path:M.Yj()}),t3=M.g1(tP,t2),t5=/^\*$|^[<>][0-9]+px$/,t6=M.Ik({id:tP,query:M.Yj().refine(e=>t5.test(e)),previewSize:M.Yj().optional(),displayName:M.Yj(),displayIcon:M.k5(["desktop","tablet","mobile"]).optional()}).strict(),t4=M.Ik({id:tW.optional(),definitionId:tq,prebindingId:M.Yj().optional(),displayName:M.Yj().optional(),slotId:M.Yj().optional(),variables:M.g1(tP,t1),parameters:t3.optional()}),t7=M.Ik({displayName:M.Yj().optional(),type:tL,description:M.Yj().optional(),group:M.Yj().optional(),defaultValue:tY.or(t1).optional(),validations:M.Ik({bindingSourceType:tQ.optional(),required:M.zM().optional(),format:M.eu("URL").optional(),in:M.YO(M.Ik({value:M.KC([M.Yj(),M.ai()]),displayName:M.Yj().optional()})).optional()}).optional()}),t9=t4.extend({children:M.RZ(()=>t9.array())}).superRefine(({id:e,prebindingId:t,parameters:n},i)=>{t&&!n&&i.addIssue({code:O.eq.custom,message:`Found "prebindingId" but no "parameters" for node with i
1d: "${e}"`})}),t8=M.Ik({breakpoints:M.YO(t6).superRefine((e,t)=>{if(!e.length||"*"!==e[0].query)return void t.addIssue({code:O.eq.custom,message:'The first breakpoint should include the following attributes: { "query": "*" }'});if(1===e.length)return;let n=e.map(e=>e.id);if(new Set(n).size!==n.length)return void t.addIssue({code:O.eq.custom,message:"Breakpoint IDs must be unique"});let i=e.slice(1),r=i[0].query.startsWith(">"),a=i[0].query.startsWith("<");r?(i.every(({query:e})=>e.startsWith(">"))||t.addIssue({code:O.eq.custom,message:'Breakpoint queries must be in the format ">[size]px" for mobile-first strategy'}),i.map(e=>parseInt(e.query.replace(/px|<|>/,""))).every((e,t,n)=>0===t||e>n[t-1])||t.addIssue({code:O.eq.custom,message:"When using a mobile-first strategy, all breakpoints must have strictly increasing pixel values"})):a?(i.every(({query:e})=>e.startsWith("<"))||t.addIssue({code:O.eq.custom,message:'Breakpoint queries must be in the format "<[size]px" for desktop-first strategy'}),i.map(e=>parseInt(e.query.replace(/px|<|>/,""))).every((e,t,n)=>0===t||e<n[t-1])||t.addIssue({code:O.eq.custom,message:"When using a desktop-first strategy, all breakpoints must have strictly decreasing pixel values"})):r||a||t.addIssue({code:O.eq.custom,message:"You may only use a mobile-first or desktop-first strategy for breakpoints using '<' or '>' queries"})}),children:M.YO(t9),schemaVersion:tB}).strict(),ne=e=>M.g1(M.Yj(),e);M.Ik({componentTree:ne(t8),dataSource:ne(tz),unboundValues:ne(tU),usedComponents:ne(tF).optional()});let nt=M.Ik({parameterId:tP,type:M.eu("ContentTypeMapping"),pathsByContentType:M.g1(M.Yj(),M.Ik({path:M.Yj()})).superRefine((e,t)=>{let n=t.path[t.path.length-2];Object.keys(e).length>200&&t.addIssue({code:O.eq.custom,message:`Too many paths defined for variable mapping with id "${n}", maximum allowed is 200`})})}),nn=M.Ik({nodeId:tP,parameterId:tP,prebindingId:tP}).strict(),ni=M.Ik({defaultSource:M.re({type:M.k5(["Entry"]),contentTypeId:M.Yj(),link:M.re({sys:M.re({type:M.eu("Link"),id:M.Yj(),linkType:M.k5(["Entry"])})})}).optional(),contentTypes:M.YO(M.Yj()).min(1),passToNodes:M.YO(nn).max(1,'At most one "passToNodes" element is allowed per parameter definition.')}),nr=M.g1(tP,ni),na=M.g1(tP,nt),no=M.g1(M.Yj().regex(/^[a-zA-Z0-9-_]{1,54}$/),t7),ns=M.Ik({id:tP,parameterDefinitions:nr,variableMappings:na.optional(),allowedVariableOverrides:M.YO(M.Yj()).optional()}).strict(),nl=M.Ik({variableDefinitions:no,thumbnailId:M.k5(["columns","columnsPlusRight","imagesSquare","subtitles","rowsPlusBottom","userRectangle","textbox","monitorPlay","article","table","star","heartStraight","frameCorners","rows","dotsThreeOutline","listDashes","checkerBoard","gridFour","slideshow","diamondsFour","cards","textColumns","duplex"]).optional(),category:M.Yj().max(50,"Category must contain at most 50 characters").optional(),prebindingDefinitions:M.YO(ns).length(1).optional()}).strict().superRefine((e,t)=>{let{variableDefinitions:n,prebindingDefinitions:i}=e;if(!i||0===i.length)return;let{parameterDefinitions:r,variableMappings:a,allowedVariableOverrides:o}=i[0];nd(r,t),nu(a,o,t),nc(a,o,n,t),np(a,r,t)});M.Ik({componentTree:ne(t8),dataSource:ne(tz),unboundValues:ne(tU),usedComponents:ne(tF).optional(),componentSettings:ne(nl)}).superRefine((e,t)=>{let{componentTree:n,componentSettings:i}=e,r=Object.values(n)[0],a=Object.values(i)[0];a&&r&&nf(r.children||[],a||{},t)});let nd=(e,t)=>{Object.values(e).filter(e=>!(e.passToNodes&&e.passToNodes.length>0)).length>1&&t.addIssue({code:O.eq.custom,message:"Only one native parameter definition (parameter definition without passToNodes) is allowed per prebinding definition."})},nu=(e,t,n)=>{let i=Object.keys(e||{}),r=new Set(t||[]),a=i.filter(e=>r.has(e));a.length>0&&n.addIssue({code:O.eq.custom,message:`Found both variable mapping and allowed override for the following keys: ${a.map(e=>`"${e}"`).join(", ")}.`})},nc=(e,t,n,i)=>{let r=Object.entries(n).filter(([e,t])=>"style"!==t.group).map(([e])=>e),a=[...Object.keys(e||{}),...t||[]].filter(e=>!r.includes(e));a.length>0&&i.addIssue({code:O.eq.custom,message:`The following variable mappings or overrides are missing from the variable definitions: ${a.map(e=>`"${e}"`).join(", ")}.`})},np=(e,t,n)=>{let i=Object.keys(t||{});for(let[t,r]of Object.entries(e||{}))i.includes(r.parameterId)||n.addIssue({code:O.eq.custom,message:`The variable mapping with id "${t}" references a non-existing parameterId "${r.parameterId}".`})}
1,nf=(e,t,n)=>{if(!t.prebindingDefinitions||0===t.prebindingDefinitions.length)return;let{parameterDefinitions:i}=t.prebindingDefinitions[0],r=new Set;for(let e of Object.values(i||{}))e.passToNodes?.forEach(e=>r.add(e.nodeId));let a=e=>{var t;let n=[...e.children];for(let i of((t=e).id&&r.has(t.id)&&r.delete(t.id),n))a(i)};if(Array.isArray(e))for(let t of e)a(t);else a(e);if(r.size>0){let e=Array.from(r).map(e=>`"${e}"`).join(", ");n.addIssue({code:O.eq.custom,message:`The following node IDs referenced in passToNodes are not present in the component tree: ${e}.`})}};M.Ik({id:tq,name:M.Yj(),category:M.Yj().optional(),thumbnailUrl:M.Yj().optional(),thumbnailId:M.Yj().optional(),hyperlinkPattern:M.Yj().optional(),children:M.zM().optional(),slots:M.g1(tq,M.Ik({displayName:M.Yj().optional()})).optional(),builtInStyles:M.YO(M.Yj()).optional(),tooltip:M.Ik({imageUrl:M.Yj().optional(),description:M.Yj()}).optional(),variables:M.g1(tq,t7.extend({defaultValue:tY.optional()}).superRefine((e,t)=>{switch(e.type){case"Array":void 0!==e.defaultValue&&t.addIssue({code:O.eq.custom,message:`defaultValue is not supported for "Array" type for ${t.path.join(".")}`,fatal:!1});break;case"Boolean":void 0!==e.defaultValue&&"boolean"!=typeof e.defaultValue&&t.addIssue({code:O.eq.custom,message:`defaultValue must be a boolean when type is "Boolean" for ${t.path.join(".")}, got ${typeof e.defaultValue} instead`,fatal:!1});break;case"Date":void 0!==e.defaultValue&&"string"!=typeof e.defaultValue&&t.addIssue({code:O.eq.custom,message:`defaultValue must be a string when type is "Date" for ${t.path.join(".")}, got ${typeof e.defaultValue} instead`,fatal:!1});break;case"Hyperlink":void 0!==e.defaultValue&&"string"!=typeof e.defaultValue&&t.addIssue({code:O.eq.custom,message:`defaultValue must be a string when type is "Hyperlink" for ${t.path.join(".")}, got ${typeof e.defaultValue} instead`,fatal:!1});break;case"Link":void 0!==e.defaultValue&&"object"!=typeof e.defaultValue&&t.addIssue({code:O.eq.custom,message:`defaultValue is not supported for "Link" type for ${t.path.join(".")}`,fatal:!1});break;case"Location":void 0!==e.defaultValue&&"object"!=typeof e.defaultValue&&t.addIssue({code:O.eq.custom,message:`defaultValue must be an object when type is "Location" for ${t.path.join(".")}, got ${typeof e.defaultValue} instead`,fatal:!1});break;case"Media":void 0!==e.defaultValue&&"string"!=typeof e.defaultValue&&t.addIssue({code:O.eq.custom,message:`defaultValue must be a string when type is "Media" for ${t.path.join(".")}, got ${typeof e.defaultValue} instead`,fatal:!1});break;case"Number":void 0!==e.defaultValue&&"number"!=typeof e.defaultValue&&t.addIssue({code:O.eq.custom,message:`defaultValue must be a number when type is "Number" for ${t.path.join(".")}, got ${typeof e.defaultValue} instead`,fatal:!1});break;case"Object":void 0!==e.defaultValue&&"object"!=typeof e.defaultValue&&t.addIssue({code:O.eq.custom,message:`defaultValue must be an object when type is "Object" for ${t.path.join(".")}, got ${typeof e.defaultValue} instead`,fatal:!1});break;case"RichText":void 0!==e.defaultValue&&"object"!=typeof e.defaultValue&&t.addIssue({code:O.eq.custom,message:`defaultValue must be an object when type is "RichText" for ${t.path.join(".")}, got ${typeof e.defaultValue} instead`,fatal:!1});break;case"Text":void 0!==e.defaultValue&&"string"!=typeof e.defaultValue&&t.addIssue({code:O.eq.custom,message:`defaultValue must be a string when type is "Text" for ${t.path.join(".")}, got ${typeof e.defaultValue} instead`,fatal:!1})}}))}).superRefine((e,t)=>{!0===e.children&&(e.variables.children||e.slots?.children)&&t.addIssue({code:O.eq.custom,message:"Cannot activate 'children: true' and name a variable or slot 'children' at the same time",fatal:!1}),e.variables&&e.slots&&Object.keys(e.variables).forEach(n=>{e.slots[n]&&t.addIssue({code:O.eq.custom,message:`Variable and slot cannot have the same name: ${n}`,fatal:!1})})}),(y=j||(j={})).Type="type",y.Required="required",y.Unexpected="unexpected",y.Regex="regex",y.In="in",y.Size="size",y.Custom="custom";let ny="cf_debug",nm=()=>{try{if("u"<typeof localStorage||null===localStorage)return!1;let e="cf_test_local_storage";if(localStorage.setItem(e,"yes"),"yes"===localStorage.getItem(e))return localStorage.removeItem(e),!0;return!1}catch(e){return!1}},ng=["error","warn","log","debug"];class nh{constructor(){if(this.activeLevel="warn",this.error=this.logger("error"),this.warn=this.logger("warn"),this.log=this.logger("log"),this.debug=this.logger("debug"),!nm())return;"true"===localStorage.getItem(ny)&&(this.activeLevel="debug")}static getInstance(){return null===this.instance&&(this.instance=new nh),this.instance}getActiveLevel(){return this.activeLevel}setActiveLevel(e){this.activeLevel=e,nm()&&("debug"===this.activeLevel||"log"===this.activeLevel?localStorage.setItem(ny,"true"):localStorage.removeItem(ny))}logger(e){return(...t)=>{ng.indexOf(e)<=ng.indexOf(this.activeLevel)&&console[e](...t)}}}nh.instance=null;let nb=nh.getInstance();function nE(e){return null!==e&&"object"==typeof e&&!!e.sys?.id&&e.sys?.type==="Link"&&!!e.sys?.linkType}let nv=e=>{let t=nx(e.split("/"),{startNextChunkOnElementEqualTo:"fields"});if(t.length<=1||2===t.length)return null;let[n,...i]=t;return/^\/([^/^~]+)$/.test(n.join("/"))&&i.every(e=>/^fields\/[^/^~]+\/~locale$/.test(e.join("/")))?{key:n[1],fields:i.map(e=>e[1])}:null},nx=(e,{startNextChunkOnElementEqualTo:t})=>{let n=[],i=[],r=e=>e===t;for(let t=0;t<e.length;t++){let a=0===t,o=e[t];a?i=[o]:r(o)?(n.push(i),i=[o]):i.push(o)}return n.push(i),n.filter(e=>e.length>0)};function nk(e,t){if(!t.length)return e;
1try{let[n,...i]=t;return nk(e[n],i)}catch(e){return}}let nI=e=>null!==e&&"object"==typeof e&&"sys"in e&&e.sys?.type==="Entry",nw=e=>null!==e&&"object"==typeof e&&"sys"in e&&e.sys?.type==="Asset";function nT(e){for(let t of Object.getOwnPropertyNames(e)){let n=e[t];n&&"object"==typeof n&&nT(n)}return Object.freeze(e)}class nS{constructor({entities:e,locale:t}){for(const n of(this.entryMap=new Map,this.assetMap=new Map,this.locale=t,e))this.addEntity(n)}get entities(){return[...this.entryMap.values(),...this.assetMap.values()]}updateEntity(e){this.addEntity(e)}getEntryOrAsset(e,t){let n,i;if((i=nv(t))&&i.fields.length>1)return this.getDeepEntry(e,t);if(nE(e)){let t="Entry"===e.sys.linkType?this.entryMap.get(e.sys.id):this.assetMap.get(e.sys.id);if(!t||t.sys.type!==e.sys.linkType)return void nb.warn(`[experiences-core::EntityStoreBase] Experience references unresolved entity: ${JSON.stringify(e)}`);n=t}else if(nw(e)||nI(e))n=e;else throw Error(`[experiences-core::EntityStoreBase] Unexpected object when resolving entity: ${JSON.stringify(e)}`);return n}getValue(e,t){let n=this.getEntity(e.sys.linkType,e.sys.id);return n?nk(n,t):void nb.warn(`Unresolved entity reference: ${e.sys.linkType} with ID ${e.sys.id}`)}getEntityFromLink(e){let t="Entry"===e.sys.linkType?this.entryMap.get(e.sys.id):this.assetMap.get(e.sys.id);return t&&t.sys.type===e.sys.linkType?t:void nb.warn(`[experiences-core::EntityStoreBase] Experience references unresolved entity: ${JSON.stringify(e)}`)}getAssetById(e){let t=this.assetMap.get(e);return t||void nb.warn(`[experiences-core::EntityStoreBase] Asset with ID "${e}" is not found in the store`)}getEntryById(e){let t=this.entryMap.get(e);return t||void nb.warn(`[experiences-core::EntityStoreBase] Entry with ID "${e}" is not found in the store`)}getEntitiesFromMap(e,t){let n=[],i=[];for(let r of t){let t=this.getEntity(e,r);t?n.push(t):i.push(r)}return{resolved:n,missing:i}}addEntity(e){if(nw(e))this.assetMap.set(e.sys.id,nT(A(e)));else if(nI(e))this.entryMap.set(e.sys.id,nT(A(e)));else throw Error(`Attempted to add an entity to the store that is neither Asset nor Entry: '${JSON.stringify(e)}'`)}async fetchAsset(e){let{resolved:t,missing:n}=this.getEntitiesFromMap("Asset",[e]);return n.length?void nb.warn(`[experiences-core::EntityStoreBase] Asset "${e}" is not in the store`):t[0]}async fetchAssets(e){let{resolved:t,missing:n}=this.getEntitiesFromMap("Asset",e);if(n.length)throw Error(`Missing assets in the store (${n.join(",")})`);return t}async fetchEntry(e){let{resolved:t,missing:n}=this.getEntitiesFromMap("Entry",[e]);return n.length?void nb.warn(`[experiences-core::EntityStoreBase] Entry "${e}" is not in the store`):t[0]}async fetchEntries(e){let{resolved:t,missing:n}=this.getEntitiesFromMap("Entry",e);if(n.length)throw Error(`Missing assets in the store (${n.join(",")})`);return t}getDeepEntry(e,t){let n=(e,t)=>{let n=[],i=t;for(let t=0;t<e.length;t++){let r=t===e.length-1,[,a,o]=e[t];if(!i)throw Error(`Logic Error: Cannot resolve field ${a} of a fieldset as there is no entity to resolve it from.`);if(r){n.push([i,a,o]);break}let s=nk(i,["fields",a]);if(void 0===s)return{resolvedFieldset:n,isFullyResolved:!1,reason:`Cannot resolve field Link<${i.sys.type}>(sys.id=${i.sys.id}).fields[${a}] as field value is not defined`};if(nE(s)){let e=this.getEntityFromLink(s);if(void 0===e)return{resolvedFieldset:n,isFullyResolved:!1,reason:`Field reference Link (sys.id=${s.sys.id}) not found in the EntityStore, waiting...`};n.push([i,a,o]),i=e}else{if(!(nw(s)||nI(s)))return{resolvedFieldset:n,isFullyResolved:!1,reason:`Deep path points to an invalid field value of type '${typeof s}' (value=${s})`};n.push([i,a,o]),i=s}}return{resolvedFieldset:n,isFullyResolved:!0}},i=nE(e)?this.getEntityFromLink(e):e;if(void 0===i)return;let{resolvedFieldset:r,isFullyResolved:a,reason:o}=n((e=>{let t=nv(e);if(null===t)throw Error(`Cannot parse path '${e}' as deep path`);return t.fields.map(e=>[null,e,"~locale"])})(t),i);if(!a){o&&nb.log(`[experiences-core::EntityStoreBase] Deep path wasn't resolved till leaf node, falling back to undefined, because: ${o}`);return}let[s]=r[r.length-1];return s}getEntity(e,t){return"Asset"===e?this.assetMap.get(t):this.entryMap.get(t)}toJSON(){return{entryMap:Object.fromEntries(this.entryMap),assetMap:Object.fromEntries(this.assetMap),locale:this.locale}}}class nj extends nS{constructor(){super({entities:[],locale:"uninitialized-locale-in-uninitialized-entity-store"})}}(0,C.vt)((e,t)=>({entityStore:new nj,areEntitiesFetched:!1,setEntitiesFetched(t){e({areEntitiesFetched:t})},resolveAssetById(e){if(!e)return;let{entityStore:n}=t();return n.getAssetById(e)},resolveEntryById(e){if(!e)return;let{entityStore:n}=t();return n.getEntryById(e)},resolveEntity(e){if(!e)return;let{entityStore:n}=t();return n.getEntityFromLink(e)},resetEntityStore(t){e({entityStore:t,areEntitiesFetched:!1})}})),(m=N||(N={})).LazyLoad="lazyLoad",m.InjectScript="injectScript",(0,V.A)('.contentful-container{display:flex;pointer-events:all;position:relative}.contentful-container::-webkit-scrollbar{display:none}.cf-container-wrapper{position:relative;width:100%}.contentful-container:after{align-items:center;bottom:0;color:var(--exp-builder-gray400);content:"";display:block;display:flex;font-family:var(--exp-builder-font-stack-primary);font-size:12px;justify-content:center;left:0;overflow-x:clip;pointer-events:none;position:absolute;right:0;top:0;z-index:1}.contentful-section-label:after{content:"Section"}.contentful-container-label:after{content:"Container"}.contentful-container-link,.contentful-container-link:active,.contentful-container-link:focus-visible,.contentful-container-link:hover,.contentful-container-link:read-write,.contentful-container-link:visited{color:inherit;outline:unset;text-decoration:unset}'),(0,$.forwardRef)(({id:e,children:t,onMouseEnter:n,onMouseUp:i,onMouseLeave:r,onMouseDown:a,onClick:o,flex:s,flexBasis:l,flexShrink:d,flexDirection:u,ga
1p:c,justifyContent:p,justifyItems:f,justifySelf:y,alignItems:m,alignSelf:g,alignContent:h,order:b,flexWrap:E,flexGrow:v,className:x,cssStyles:k,...I},w)=>$.createElement("div",{id:e,ref:w,style:{display:"flex",flex:s,flexBasis:l,flexShrink:d,flexDirection:u,gap:c,justifyContent:p,justifyItems:f,justifySelf:y,alignItems:m,alignSelf:g,alignContent:h,order:b,flexWrap:E,flexGrow:v,...k},className:x,onMouseEnter:n,onMouseUp:i,onMouseDown:a,onMouseLeave:r,onClick:o,...I},t)).displayName="Flex",(0,V.A)(".cf-divider{display:contents;height:100%;position:relative;width:100%}.cf-divider hr{border:none}"),(0,V.A)('.cf-columns{display:flex;flex-direction:column;gap:24px;grid-template-columns:repeat(12,1fr);min-height:0;min-width:0}@media (min-width:768px){.cf-columns{display:grid}}.cf-single-column-wrapper{position:relative}.cf-single-column-wrapper:after{align-items:center;bottom:0;color:var(--exp-builder-gray400);content:"";display:block;display:flex;font-family:var(--exp-builder-font-stack-primary);font-size:12px;justify-content:center;left:0;overflow-x:clip;pointer-events:none;position:absolute;right:0;top:0;z-index:1}.cf-single-column-label:after{content:"Column"}');let nN={display:"contents"},nV=e=>$.createElement("div",{"data-test-id":"assembly",...e,style:nN}),n$=(e,t)=>e.type===tw||e.type===tE?e.children.some(e=>n$(e,t)):!1!==t(e.data.props.cfVisibility?.valuesByBreakpoint);function nM({node:e,resolveDesignValue:t,wrappingPatternIds:n=new Set,entityStore:i,areEntitiesFetched:r}){let a=e.type===tw,o=(0,$.useMemo)(()=>a&&e.data.blockId?new Set([e.data.blockId,...n]):n,[a,e,n]),s=(0,$.useMemo)(()=>{if(e.type===tw)return{component:nV,definition:{id:e.data.blockId,name:"Component",variables:{},children:!0,category:"Assemblies"}};let t=t$.get(e.data.blockId);return t||void eZ.warn(`[experiences-visual-editor-react::useComponentRegistration] Component registration not found for component with id: "${e.data.blockId}". The registered component might have been removed from the code. To proceed, remove the component manually from the layers tab.`)},[e]);if(!s)return $.createElement(tC,{blockId:e.data.blockId});if(a&&e.data.blockId&&n.has(e.data.blockId))return $.createElement(tO,{wrappingPatternIds:o});let{slotNodesMap:l,directChildNodes:d}=((e,t)=>{let n=e=>"data"in e?e.data.slotId:e.slotId,i={};for(let r in t.slots){let t=e.filter(e=>n(e)===r);i[r]=t.length?t:null}let r=e.filter(e=>void 0===n(e));return t.children&&r.length?{slotNodesMap:i,directChildNodes:r}:{slotNodesMap:i,directChildNodes:void 0}})(e.children,s.definition),u=e=>$.createElement(nM,{key:e.data.id,node:e,resolveDesignValue:t,wrappingPatternIds:o,entityStore:i,areEntitiesFetched:r}),c=Object.entries(l).reduce((e,[t,n])=>(n?.length?e[t]=$.createElement($.Fragment,null,n.map(e=>u(e))):e[t]=$.createElement("div",{className:"EditorBlock-module_emptySlot__za-Bi"}),e),{}),p=d?.map(e=>u(e));return $.createElement(nO,{node:e,resolveDesignValue:t,componentRegistration:s,slotNodes:c,entityStore:i,areEntitiesFetched:r},p)}let nO=({node:e,resolveDesignValue:t,componentRegistration:n,slotNodes:i,children:r,entityStore:a,areEntitiesFetched:o})=>{let{componentProps:s}=(({node:e,entityStore:t,areEntitiesFetched:n,resolveDesignValue:i,definition:r,options:a})=>{let o=tM(e=>e.unboundValues),s=tM(e=>e.hyperLinkPattern),l=tM(e=>e.locale),d=tM(e=>e.dataSource),u=tS(e=>e.findNodeById),c=(0,$.useMemo)(()=>{let a={cfSsrClassName:e.data.props.cfSsrClassName?i(e.data.props.cfSsrClassName.valuesByBreakpoint):void 0};if(!r||e.type===tw)return a;let c=Object.entries(r.variables).reduce((a,[c,p])=>{var f;let y=e.data.props[c];if(!y)return{...a,[c]:p.defaultValue};if("DesignValue"===y.type){let t=i((({variableName:e,variableMapping:t,node:n,findNodeById:i})=>{if("assemblyBlock"===n.type){let r=n.data.pattern?.id,a=n.exposedPropertyNameToKeyMap[e];if(!a||!r)return t.valuesByBreakpoint;let o=t$.get(r)?.definition.variables[a],s=o?.defaultValue,l=i(n.data.pattern?.nodeId);for(;l;){let e=l.data.pattern?.id,t=l.exposedPropertyNameToKeyMap[a];if(!e||!t)break;let n=t$.get(e)?.definition.variables[t];s=eU(n?.defaultValue,s),l=i(l.data.pattern?.nodeId)}let d=eU(s,t);return d?.valuesByBreakpoint}return t.valuesByBreakpoint})({variableName:c,variableMapping:y,node:e,findNodeById:u}),c),n="cfHeight"===c?(({blockId:e,children:t,value:n})=>e&&W(e)&&"auto"===n?t.length?"100%":"80px":n)({blockId:e.data.blockId,children:e.children,value:t}):t;return{...a,[c]:n}}if("HyperlinkValue"===y.type){let e=d[y.linkTargetKey],n=t.getEntryOrAsset(e,y.linkTargetKey);return{...a,[c]:(f=r.hyperlinkPattern||s||"/{locale}/{entry.fields.slug}/",n&&l?function({template:e,context:t}){return e.replace(/{\s*locale\s*}/g,t.locale).replace(/{\s*([\S]+?)\s*}/g,(e,n)=>{let i,r,a=n+"_NOT_FOUND",o=(i=function(e,t){let n="fields",i=e.indexOf(n);if(-1!==i){let r=e.indexOf(".",i+n.length+1);if(-1!==r)return e.slice(0,r+1)+t+"."+e.slice(r+1)}return e}(n,t.locale),("object"==typeof(r=i.replace(/\[/g,".").replace(/\]/g,"").split(".").reduce((e,t)=>
1(e||{})[t],t))&&null!==r?r[t.locale]:r)??a);return String("function"==typeof o?o():o)})}({template:f,context:{entry:n,locale:l}}):null)}}if("BoundValue"===y.type){let o,[,s,l]=y.path.split("/"),u=d[s];if(!u)return{...a,[c]:p.defaultValue};if(u&&eX(y)&&y.isPrebound){let n=e2(y,e=>{let n=d[e];return t.getEntityFromLink(n)});if(!n)return{...a,[c]:p.defaultValue};o=ts(e.data.props,t,u,i,c,p.type,n)}else{let n=r.variables[c];o=ts(e.data.props,t,u,i,c,n.type,y.path)}if(!o&&l){let e=n?t.getValue(u,l.split("/").slice(0,-2)):void 0;null!==e&&"object"==typeof e&&"sys"in e&&null!==e.sys&&"object"==typeof e.sys&&"linkType"in e.sys&&"id"in e.sys&&"type"in e.sys&&e.sys?.linkType==="Asset"&&"string"==typeof e.sys?.id&&e.sys?.id&&e.sys?.type==="Link"&&(o=e)}let f=o||p.defaultValue;return{...a,[c]:f}}if("UnboundValue"===y.type){let e=(({key:e,fallback:t,unboundValues:n})=>{let i=`${e}.value`;return(0,q.A)(n,i,t)})({key:y.key,fallback:p.defaultValue,unboundValues:o||{}});return{...a,[c]:e}}if("ComponentValue"===y.type)return{...a,[c]:p.defaultValue};else return{...a}},{});return{...a,...c}},[s,e,l,r,i,d,n,o,t,u]),p=(0,$.useMemo)(()=>{var e;return{...Object.fromEntries(Object.entries({margin:c.cfMargin,padding:c.cfPadding,backgroundColor:c.cfBackgroundColor,width:c.cfWidth||c.cfImageOptions?.width,height:c.cfHeight||c.cfImageOptions?.height,maxWidth:c.cfMaxWidth,...!(e=c.cfColumnSpan)?{}:{gridColumn:`span ${e}`},...(e=>{if(!e)return{};let t=e.split(" ");if(t.length<3)return{border:e};let[n,i,...r]=t,a=r.join(" ");return{border:`${n} ${i} ${a}`}})(c.cfBorder),borderRadius:c.cfBorderRadius,gap:c.cfGap,...((e,t,n="column")=>"row"===n?{alignItems:e,justifyContent:"center"===t?`safe ${t}`:t}:{alignItems:t,justifyContent:"center"===e?`safe ${e}`:e})(c.cfHorizontalAlignment,c.cfVerticalAlignment,c.cfFlexDirection),flexDirection:c.cfFlexReverse&&c.cfFlexDirection?`${c.cfFlexDirection}-reverse`:c.cfFlexDirection,flexWrap:c.cfFlexWrap,...((e,t)=>{let n,i;if(e){var r;if("string"==typeof e)n=`url(${e})`;else{let t=e.srcSet?.join(",");n=`url(${e.url})`,i=`image-set(${t})`}return{backgroundImage:n,backgroundImage2:i,backgroundRepeat:t?.scaling==="tile"?"repeat":"no-repeat",backgroundPosition:(e=>{if(!e||"string"!=typeof e)return;let[t,n]=e.trim().split(/\s+/,2),i=["left","right","center"].includes(t),r=["top","bottom","center"].includes(n);return t=i?t:"left",n=r?n:"top",`${t} ${n}`})(t?.alignment),backgroundSize:"fill"===(r=t?.scaling)?"cover":"fit"===r?"contain":void 0}}})(c.cfBackgroundImageUrl,c.cfBackgroundImageOptions),fontSize:c.cfFontSize,fontWeight:c.cfTextBold?"bold":c.cfFontWeight,fontStyle:c.cfTextItal
1ic?"italic":void 0,textDecoration:c.cfTextUnderline?"underline":void 0,lineHeight:c.cfLineHeight,letterSpacing:c.cfLetterSpacing,color:c.cfTextColor,textAlign:(e=>{if(e){if(!({...eq}).__disableTextAlignmentTransform){if("left"===e)return"start";if("right"===e)return"end"}return e}})(c.cfTextAlign),textTransform:c.cfTextTransform,objectFit:c.cfImageOptions?.objectFit,objectPosition:c.cfImageOptions?.objectPosition}).filter(([,e])=>void 0!==e)),...!1===c.cfVisibility?{display:"none !important"}:{}}},[c]),f=(0,$.useMemo)(()=>{let t,n;return!e.children.some(e=>n$(e,i))&&(t=e.data.blockId,n=p.height,!!(W(t)&&!n?.toString().endsWith("px")||r?.children))},[p.height,r?.children,e.children,e.data.blockId,i]),y=(({styles:e,nodeId:t})=>{let[n,i]=(0,$.useState)("");return(0,$.useLayoutEffect)(()=>{var r;let a;if(0===Object.keys(e).length)return;let[o,s]=(({styles:e,nodeId:t})=>{let n=((e,t=!1)=>Object.entries(e).filter(([,e])=>void 0!==e).map(([e,n])=>t?`${e9(e)}: ${n};`:`${e9(e)}:${n};`).join(t?"\n":""))(e,!0),i=`cfstyles-${t||R(n)}`,r=`.${i}{ ${n} }`;return[i,r]})({styles:e,nodeId:t});((e,t)=>{let n=document.querySelector(`[data-cf-styles="${e}"]`);if(n){n.innerHTML=t;return}let i=document.createElement("style");i.dataset.cfStyles=e,document.head.appendChild(i).innerHTML=t})(o,s),n!==o&&(i(o),r=n,(a=document.querySelector(`[data-cf-styles="${r}"]`))&&document.head.removeChild(a))},[e,t,n]),n})({styles:(0,$.useMemo)(()=>({...p,...f&&{minHeight:tT,minWidth:tT}}),[p,f]),nodeId:e.data.id}),m=(0,$.useMemo)(()=>{let t={};if(a?.enableEditorProperties?.isEditorMode&&(t.isEditorMode=!0),a?.enableEditorProperties?.isEmpty){let n=e.children.every(e=>!n$(e,i));t.isEmpty=0===e.children.length||n}
1return a?.enableEditorProperties?.nodeBlockId&&(t.nodeBlockId=e.data.blockId),a?.enableCustomEditorView&&(t.isInExpEditorMode=!0),t},[a?.enableEditorProperties?.isEditorMode,a?.enableEditorProperties?.isEmpty,a?.enableEditorProperties?.nodeBlockId,a?.enableCustomEditorView,e,i]);return{componentProps:(0,$.useMemo)(()=>{let t,n={"data-cf-node-id":e.data.id,"data-cf-node-block-id":e.data.blockId,"data-cf-node-block-type":e.type,className:c.cfSsrClassName??y};return{...(t=[...e4,...e7],Object.fromEntries(Object.entries(c).filter(([e])=>!t.includes(e)))),...m,...n}},[y,m,e,c])}})({node:e,resolveDesignValue:t,definition:n.definition,options:n.options,entityStore:a,areEntitiesFetched:o});return $.createElement(tD,{componentId:e.data.blockId},$.createElement(n.component,{...s,...i},...r??[]))};(0,V.A)(".EmptyCanvasMessage-module_empty-canvas-container__7K-0l {\n height: 200px;\n display: flex;\n width: 100%;\n align-items: center;\n justify-content: center;\n flex-direction: row;\n transition: all 0.2s;\n color: var(--exp-builder-gray400);\n font-size: var(--exp-builder-font-size-l);\n font-family: var(--exp-builder-font-stack-primary);\n outline: 2px dashed var(--exp-builder-gray400);\n outline-offset: -2px;\n}\n\n.EmptyCanvasMessage-module_empty-canvas-icon__EztFr rect {\n fill: var(--exp-builder-gray400);\n}\n\n.EmptyCanvasMessage-module_empty-canvas-label__cbIrR {\n margin-left: var(--exp-builder-spacing-s);\n}\n");let nA=()=>$.createElement("div",{className:"EmptyCanvasMessage-module_empty-canvas-container__7K-0l","data-type":"empty-container"},$.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"37",height:"36",fill:"none",className:"EmptyCanvasMessage-module_empty-canvas-icon__EztFr"},$.createElement("rect",{width:"11.676",height:"11.676",x:"18.512",y:".153",rx:"1.621",transform:"rotate(45 18.512 .153)"}),$.createElement("rect",{width:"11.676",height:"11.676",x:"9.254",y:"9.139",rx:"1.621",transform:"rotate(45 9.254 9.139)"}),$.createElement("rect",{width:"11.676",height:"11.676",x:"18.011",y:"18.625",rx:"1.621",transform:"rotate(45 18.01 18.625)"}),$.createElement("rect",{width:"11.676",height:"11.676",x:"30.557",y:"10.131",rx:"1.621",transform:"rotate(60 30.557 10.13)"}),$.createElement("path",{fill:"#fff",stroke:"#fff",strokeWidth:".243",d:"M31.113 17.038a.463.463 0 0 0-.683-.517l-1.763 1.032-1.033-1.763a.464.464 0 0 0-.8.469l1.034 1.763-1.763 1.033a.463.463 0 1 0 .468.8l1.763-1.033 1.033 1.763a.463.463 0 1 0 .8-.469l-1.033-1.763 1.763-1.033a.463.463 0 0 0 .214-.282Z"})),$.createElement("span",{className:"EmptyCanvasMessage-module_empty-canvas-label__cbIrR"},"Add components to begin")),nR=async(e,t)=>{let n={};nD(e.root,n);let i=document.documentElement.getBoundingClientRect(),r=document.body.getBoundingClientRect(),a=Math.max(document.documentElement.offsetWidth,i.width,r.width);tc("canvasGeometryUpdated",{size:{width:a,height:Math.max(document.documentElement.offsetHeight,i.height,r.height,function e(t=2,n=document.body){if(t<=0)return 0;let i=0;for(let r of n.children){let n=r.getBoundingClientRect(),a=window.getComputedStyle(r),o=0===n.width&&0===n.height||"none"===a.display||"hidden"===a.visibility,s=("fixed"===a.position||"absolute"===a.position||"relative"===a.position||"sticky"===a.position)&&0>parseFloat(a.bottom);o||s||(i=Math.max(i,Math.ceil(n.bottom),e(t-1,r)))}return i}())},nodes:n,sourceEvent:t})},nD=(e,t)=>{let n=document.querySelector(`[data-cf-node-id="${e.data.id}"]`);if(n){let i=eJ(n);if(0===i.width&&0===i.height&&0===i.x&&0===i.y)return;t[e.data.id]={coordinates:{x:i.x+window.scrollX,y:i.y+window.scrollY,width:i.width,height:i.height}}}e.children.forEach(e=>nD(e,t))};(0,V.A)("body {\n margin: 0;\n}\n\nhtml {\n -ms-overflow-style: none; /* Internet Explorer 10+ */\n scrollbar-width: none; /* Firefox */\n}\n\nhtml::-webkit-scrollbar {\n display: none;\n}\n");let nC=({inMemoryEntitiesStore:e,canvasMode:t})=>{!function(e){let t=e(e=>e.entityStore),n=e(e=>e.areEntitiesFetched),i=e(e=>e.setEntitiesFetched),r=e(e=>e.resetEntityStore),{updateTree:a,updateNodesByUpdatedEntity:o}=tS(e=>({updateTree:e.updateTree,updateNodesByUpdatedEntity:e.updateNodesByUpdatedEntity})),s=tM(e=>e.unboundValues),l=tM(e=>e.dataSource),d=tM(e=>e.setLocale),u=tM(e=>e.setUnboundValues),c=tM(e=>e.setDataSource);(0,$.useEffect)(()=>{tc("requestComponentTreeUpdate",void 0)},[]);let p=(0,$.useCallback)(async(e,t,n)=>{let r=()=>{i(!1)},a=Object.values(t),o=async({entityLinksL1:t})=>{let{missingAssetIds:n,missingEntryIds:i}=e.getMissingEntityIds(t);await e.fetchEntities({missingAssetIds:n,missingEntryIds:i})},s=async({deepReferences:t})=>{let n=t.map(t=>t.extractReferent(e)).filter(eG),{missingAssetIds:i,missingEntryIds:r}=e.getMissingEntityIds(n);await e.fetchEntities({missingAssetIds:i,missingEntryIds:r})};try{var l,d;let i;(t=>{let{missingAssetIds:n,missingEntryIds:i}=e.getMissingEntityIds(t);return!!n.length||!!i.length}
1)(a)&&(r(),await o({entityLinksL1:a}));let u=(l=n.root,d=e.getEntityFromLink.bind(e),i=[],tl(l,e=>{if(e.data.props){for(let[,n]of Object.entries(e.data.props))if("BoundValue"===n.type){if(e0(n.path))i.push(tb.from({path:n.path,dataSource:t}));else if(eX(n)&&e1(n)){let e=e2(n,e=>{let n=t[e];if(n)return d(n)});if(!e)continue;i.push(tb.from({path:e,dataSource:t}))}}}}),i);(t=>{let n=t.map(t=>t.extractReferent(e)).filter(eG),{missingAssetIds:i,missingEntryIds:r}=e.getMissingEntityIds(n);return!!i.length||!!r.length})(u)&&(r(),await s({deepReferences:u}))}catch(e){throw eZ.error("[experiences-visual-editor-react::useEditorSubscriber] Failed fetching entities",{error:e}),e}finally{i(!0)}},[i]);(0,$.useEffect)(()=>{let e=async e=>{let n;if(n=(e=>{try{return tu(e),!1}catch(e){if(e instanceof td)return e.message;throw e}})(e))return void(e.origin.startsWith("http://localhost")&&`${e.data}`.includes("webpackHotUpdate")?(tc("canvasReload",void 0),setTimeout(()=>{window.location.reload()},50)):eZ.warn(`[experiences-visual-editor-react::onMessage] Ignoring alien incoming message from origin [${e.origin}], due to: [${n}]`,e));let i=tu(e);if(eZ.debug(`[experiences-visual-editor-react::onMessage] Received message [${i.eventType}]`,i),i.eventType!==k.REQUESTED_ENTITIES)switch(i.eventType){case tk.ExperienceUpdated:{let{tree:e,locale:n,changedNode:o,changedValueType:f}=i.payload,y=t;if(t.locale!==n&&(y=new tm({locale:n,entities:[]}),d(n),r(y)),o)if("BoundValue"===f){let t={...l,...o.data.dataSource};c(t),await p(y,t,e)}else"UnboundValue"===f&&u({...s,...o.data.unboundValues});else{let{dataSource:t,unboundValues:n}=(e=>{let t={},n={},i=[...e.root.children];for(;i.length;){let e=i.shift();e&&(t={...t,...e.data.dataSource},n={...n,...e.data.unboundValues},e.children.length&&i.push(...e.children))}return{dataSource:t,unboundValues:n}})(e);c(t),u(n),await p(y,t,e)}a(e);break}case tk.AssembliesRegistered:case tk.AssembliesAdded:break;case tk.UpdatedEntity:{let{entity:e,shouldRerender:n}=i.payload;if(e){let i=t.entities.find(t=>t.sys.id===e.sys.id),r=i?.sys.version!==e.sys.version;t.updateEntity(e),n&&r&&o(e.sys.id)}break}case tk.RequestEditorMode:break;default:Object.values(tk).includes(i.eventType)||eZ.error(`[experiences-visual-editor-react::onMessage] Logic error, unsupported eventType: [${i.eventType}]`)}};return window.addEventListener("message",e),()=>{window.removeEventListener("message",e)}},[t,c,d,l,n,p,u,s,a,o,r])}(e);let n=tS(e=>e.tree);(({tree:e,canvasMode:t})=>{let n=(0,$.useMemo)(()=>(0,Y.A)((e,t)=>{window.requestAnimationFrame(()=>{nR(e,t)})},100,{leading:!0,trailing:!0}),[]),[i]=(0,$.useState)(()=>new ResizeObserver(()=>{n(a.current,"mediaResize")})),r=(0,$.useMemo)(()=>(0,Y.A)(()=>{for(let e of Array.from(document.querySelectorAll("img, video")))i.observe(e)},300,{trailing:!0}),[i]),a=(0,$.useRef)(e);(0,$.useEffect)(()=>{a.current=e},[e]),(0,$.useEffect)(()=>{let e=()=>{n(a.current,"resize")};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[n]),(0,$.useEffect)(()=>{let e=new MutationObserver(()=>{n(a.current,"mutation"),r()});return n(a.current,"mutation"),e.observe(document.documentElement,{childList:!0,subtree:!0,attributes:!0}),()=>e.disconnect()},[r,n]),(0,$.useEffect)(()=>{if(t!==x.EDITOR)return;let e=e=>{e.preventDefault(),tc("canvasPan",{ctrlKey:e.ctrlKey,metaKey:e.metaKey,clientX:e.clientX,clientY:e.clientY,deltaX:e.deltaX,deltaY:e.deltaY})};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e)},[t])})({tree:n,canvasMode:t});let{resolveDesignValue:i}=(e=>{let[,t]=eF(e),[n,i]=(0,$.useState)(t);return(0,$.useEffect)(()=>{let[t]=eF(e),n=t.map(({id:e,signal:t})=>{let n=()=>i(n=>({...n,[e]:t.matches}));return t.addEventListener("change",n),n});return()=>{n.forEach((e,n)=>{t[n].signal.removeEventListener("change",e)})}},[e]),{resolveDesignValue:(0,$.useCallback)((t,i)=>{let r,a,o=Math.max(e.findIndex(({query:e})=>"*"===e),0),s=(r=e.map(({id:e},t)=>({id:e,index:t,isMatch:n[e]??t===o})),(a=({isMatch:e})=>e,[...r].reverse().find(a))?.index??o);return((e,t,n,i,r,a=!0)=>{let o=e=>{if(!a)return e;if(r&&e_.includes(r)){if(!e)return e;let t="",n=e.match(/(\${.+?}|\S+)/g);if(n)for(let e of n){let n=K.test(e)?J(e,r):e;t+=`${n} `}return t.trim()}return e};if(!(e instanceof Object))return e;{for(let i=n;i>=0;i--){let n=t[i]?.id;if(ez(e[n]))return o(e[n])}let r=t[i]?.id;if(ez(e[r]))return o(e[r])}})(t,e,s,o,i)},[n,e])}})(tS(e=>e.breakpoints)),r=n.root.data.blockId??tE,a=r!==tE?new Set([r]):new Set,o=e(e=>e.entityStore),s=e(e=>
1e.areEntitiesFetched),l=n$(n.root,i);return $.createElement($.Fragment,null,l?n.root.children.map(e=>$.createElement(nM,{key:e.data.id,node:e,resolveDesignValue:i,wrappingPatternIds:a,entityStore:o,areEntitiesFetched:s})):$.createElement(nA,null))},nB=({experience:e,inMemoryEntitiesStore:t=th,canvasMode:n})=>{let i=(e=>{let t=tM(e=>e.initializeEditor),[n,i]=(0,$.useState)(!1),r=(0,C.Pj)(e,e=>e.resetEntityStore);return(0,$.useEffect)(()=>{let e=e=>{if(!e.detail)return;let{componentRegistry:n,designTokens:a,sdkOptions:o,locale:s,entities:l}=e.detail;t({initialLocale:s,componentRegistry:n,designTokens:a,sdkOptions:o}),r(new tm({locale:s,entities:l})),i(!0)};return window.addEventListener(tI,e),()=>{window.removeEventListener(tI,e)}},[t,r]),(0,$.useEffect)(()=>{n||window.dispatchEvent(new CustomEvent("cfVisualEditorReady"))},[n]),n})(t),r=tM(e=>e.setHyperLinkPattern);return((0,$.useEffect)(()=>{e?.hyperlinkPattern&&r(e.hyperlinkPattern)},[e?.hyperlinkPattern,r]),i)?$.createElement(nC,{inMemoryEntitiesStore:t,canvasMode:n}):null}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.