@builder.io/sdk-vue 0.4.2 → 0.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/package.json +1 -1
  2. package/packages/_vue2/dist/{block-styles.cacb4849.cjs → block-styles.aaf62526.cjs} +1 -1
  3. package/packages/_vue2/dist/{block-styles.6a1d7394.js → block-styles.c38fdaef.js} +4 -4
  4. package/packages/_vue2/dist/{css.49cc4003.js → css.377600fa.js} +2 -2
  5. package/packages/{_vue3/dist/css.627e21ae.cjs → _vue2/dist/css.4a664d41.cjs} +1 -1
  6. package/packages/_vue2/dist/{evaluate.6ab6e7cb.js → evaluate.d2d16952.js} +1 -1
  7. package/packages/_vue2/dist/{evaluate.7d21bb04.cjs → evaluate.d837a845.cjs} +2 -2
  8. package/packages/_vue2/dist/{index.2473a355.js → index.1074d675.js} +102 -102
  9. package/packages/_vue2/dist/{index.95d9006f.cjs → index.3d5a7a37.cjs} +6 -6
  10. package/packages/_vue2/dist/{render-block.22052bd8.js → render-block.1ec27d4d.js} +6 -6
  11. package/packages/_vue2/dist/{render-block.9342f7b5.cjs → render-block.43f24cc4.cjs} +2 -2
  12. package/packages/_vue2/dist/{render-component.ec485884.js → render-component.82a8e6f7.js} +3 -3
  13. package/packages/_vue2/dist/{render-component.f3cccaa9.cjs → render-component.ba549c84.cjs} +1 -1
  14. package/packages/_vue2/dist/{render-content.d53085e5.cjs → render-content.2c57f5bb.cjs} +1 -1
  15. package/packages/_vue2/dist/{render-content.a6b17a6c.js → render-content.3afd4a46.js} +5 -5
  16. package/packages/_vue2/dist/{render-inlined-styles.b322c74a.cjs → render-inlined-styles.1ed1b531.cjs} +1 -1
  17. package/packages/_vue2/dist/{render-inlined-styles.2286ef7c.js → render-inlined-styles.f76aba42.js} +1 -1
  18. package/packages/_vue2/dist/{render-repeated-block.253c96e6.cjs → render-repeated-block.625e26fc.cjs} +1 -1
  19. package/packages/_vue2/dist/{render-repeated-block.ac4f1559.js → render-repeated-block.d3c2411b.js} +2 -2
  20. package/packages/_vue2/dist/{render-styles.a148b748.js → render-styles.7b01db22.js} +2 -2
  21. package/packages/_vue2/dist/{render-styles.0cb949b0.cjs → render-styles.f1413001.cjs} +3 -3
  22. package/packages/_vue2/dist/sdk.cjs +1 -1
  23. package/packages/_vue2/dist/sdk.js +1 -1
  24. package/packages/_vue2/dist/src/components/render-block/render-repeated-block.vue.d.ts +0 -9
  25. package/packages/_vue2/dist/src/constants/sdk-version.d.ts +1 -1
  26. package/packages/_vue3/dist/sdk.cjs +72 -1
  27. package/packages/_vue3/dist/sdk.js +3251 -22
  28. package/packages/_vue3/dist/src/components/render-block/render-repeated-block.vue.d.ts +0 -9
  29. package/packages/_vue3/dist/src/constants/sdk-version.d.ts +1 -1
  30. package/packages/_vue3/dist/style.css +1 -1
  31. package/packages/_vue2/dist/css.c26b7ab4.cjs +0 -6
  32. package/packages/_vue3/dist/block-styles.5b949efb.cjs +0 -1
  33. package/packages/_vue3/dist/block-styles.e91165b8.js +0 -72
  34. package/packages/_vue3/dist/css.41ed2294.js +0 -75
  35. package/packages/_vue3/dist/evaluate.0662f166.js +0 -63
  36. package/packages/_vue3/dist/evaluate.da45a33b.cjs +0 -4
  37. package/packages/_vue3/dist/index.3a561c6a.js +0 -1394
  38. package/packages/_vue3/dist/index.3e17c057.cjs +0 -32
  39. package/packages/_vue3/dist/render-block.20c07cb1.cjs +0 -3
  40. package/packages/_vue3/dist/render-block.e9a2cb71.js +0 -273
  41. package/packages/_vue3/dist/render-component.20ef18f7.cjs +0 -1
  42. package/packages/_vue3/dist/render-component.afa60a7b.js +0 -42
  43. package/packages/_vue3/dist/render-content.20bd0f8d.js +0 -1354
  44. package/packages/_vue3/dist/render-content.e790eee5.cjs +0 -1
  45. package/packages/_vue3/dist/render-inlined-styles.0444f4fe.js +0 -16
  46. package/packages/_vue3/dist/render-inlined-styles.14d9ba36.cjs +0 -1
  47. package/packages/_vue3/dist/render-repeated-block.5a245883.js +0 -32
  48. package/packages/_vue3/dist/render-repeated-block.75230844.cjs +0 -1
  49. package/packages/_vue3/dist/render-styles.73c7ba5a.js +0 -80
  50. package/packages/_vue3/dist/render-styles.bd7475f8.cjs +0 -31
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("vue"),a=require("./index.3e17c057.cjs"),y=require("./evaluate.da45a33b.cjs"),k={name:"Core:Button",image:"https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F81a15681c3e74df09677dfc57a615b13",defaultStyles:{appearance:"none",paddingTop:"15px",paddingBottom:"15px",paddingLeft:"25px",paddingRight:"25px",backgroundColor:"#000000",color:"white",borderRadius:"4px",textAlign:"center",cursor:"pointer"},inputs:[{name:"text",type:"text",defaultValue:"Click me!",bubble:!0},{name:"link",type:"url",bubble:!0},{name:"openLinkInNewTab",type:"boolean",defaultValue:!1,friendlyName:"Open link in new tab"}],static:!0,noWrap:!0},T={name:"Columns",inputs:[{name:"columns",type:"array",broadcast:!0,subFields:[{name:"blocks",type:"array",hideFromUI:!0,defaultValue:[{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{display:"flex",flexDirection:"column",alignItems:"stretch",flexShrink:"0",position:"relative",marginTop:"30px",textAlign:"center",lineHeight:"normal",height:"auto",minHeight:"20px",minWidth:"20px",overflow:"hidden"}},component:{name:"Image",options:{image:"https://builder.io/api/v1/image/assets%2Fpwgjf0RoYWbdnJSbpBAjXNRMe9F2%2Ffb27a7c790324294af8be1c35fe30f4d",backgroundPosition:"center",backgroundSize:"cover",aspectRatio:.7004048582995948}}},{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{display:"flex",flexDirection:"column",alignItems:"stretch",flexShrink:"0",position:"relative",marginTop:"30px",textAlign:"center",lineHeight:"normal",height:"auto"}},component:{name:"Text",options:{text:"<p>Enter some text...</p>"}}}]},{name:"width",type:"number",hideFromUI:!0,helperText:"Width %, e.g. set to 50 to fill half of the space"},{name:"link",type:"url",helperText:"Optionally set a url that clicking this column will link to"}],defaultValue:[{blocks:[{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{display:"flex",flexDirection:"column",alignItems:"stretch",flexShrink:"0",position:"relative",marginTop:"30px",textAlign:"center",lineHeight:"normal",height:"auto",minHeight:"20px",minWidth:"20px",overflow:"hidden"}},component:{name:"Image",options:{image:"https://builder.io/api/v1/image/assets%2Fpwgjf0RoYWbdnJSbpBAjXNRMe9F2%2Ffb27a7c790324294af8be1c35fe30f4d",backgroundPosition:"center",backgroundSize:"cover",aspectRatio:.7004048582995948}}},{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{display:"flex",flexDirection:"column",alignItems:"stretch",flexShrink:"0",position:"relative",marginTop:"30px",textAlign:"center",lineHeight:"normal",height:"auto"}},component:{name:"Text",options:{text:"<p>Enter some text...</p>"}}}]},{blocks:[{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{display:"flex",flexDirection:"column",alignItems:"stretch",flexShrink:"0",position:"relative",marginTop:"30px",textAlign:"center",lineHeight:"normal",height:"auto",minHeight:"20px",minWidth:"20px",overflow:"hidden"}},component:{name:"Image",options:{image:"https://builder.io/api/v1/image/assets%2Fpwgjf0RoYWbdnJSbpBAjXNRMe9F2%2Ffb27a7c790324294af8be1c35fe30f4d",backgroundPosition:"center",backgroundSize:"cover",aspectRatio:.7004048582995948}}},{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{display:"flex",flexDirection:"column",alignItems:"stretch",flexShrink:"0",position:"relative",marginTop:"30px",textAlign:"center",lineHeight:"normal",height:"auto"}},component:{name:"Text",options:{text:"<p>Enter some text...</p>"}}}]}],onChange:a.serializeFn(e=>{function n(){t.forEach(o=>{o.delete("width")})}const t=e.get("columns");Array.isArray(t)&&!!t.find(i=>i.get("width"))&&(!!t.find(r=>!r.get("width"))||t.reduce((c,d)=>c+d.get("width"),0)!==100)&&n()})},{name:"space",type:"number",defaultValue:20,helperText:"Size of gap between columns",advanced:!0},{name:"stackColumnsAt",type:"string",defaultValue:"tablet",helperText:"Convert horizontal columns to vertical at what device size",enum:["tablet","mobile","never"],advanced:!0},{name:"reverseColumnsWhenStacked",type:"boolean",defaultValue:!1,helperText:"When stacking columns for mobile devices, reverse the ordering",advanced:!0}]},w={name:"Fragment",static:!0,hidden:!0,canHaveChildren:!0,noWrap:!0},R={name:"Image",static:!0,image:"https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-insert_photo-24px.svg?alt=media&token=4e5d0ef4-f5e8-4e57-b3a9-38d63a9b9dc4",defaultStyles:{position:"relative",minHeight:"20px",minWidth:"20px",overflow:"hidden"},canHaveChildren:!0,inputs:[{name:"image",type:"file",bubble:!0,allowedFileTypes:["jpeg","jpg","png","svg"],required:!0,defaultValue:"https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F72c80f114dc149019051b6852a9e3b7a",onChange:a.serializeFn(e=>{e.delete("srcset"),e.delete("noWebp");function t(l,c=6e4){return new Promise((d,p)=>{const u=document.createElement("img");let m=!1;u.onload=()=>{m=!0,d(u)},u.addEventListener("error",h=>{console.warn("Image load failed",h.error),p(h.error)}),u.src=l,setTimeout(()=>{m||p(new Error("Image load timed out"))},c)})}function o(l){return Math.round(l*1e3)/1e3}const i=e.get("image"),r=e.get("aspectRatio");if(fetch(i).then(l=>l.blob()).then(l=>{l.type.includes("svg")&&e.set("noWebp",!0)}),i&&(!r||r===.7041))return t(i).then(l=>{const c=e.get("aspectRatio");e.get("image")===i&&(!c||c===.7041)&&l.width&&l.height&&(e.set("aspectRatio",o(l.height/l.width)),e.set("height",l.height),e.set("width",l.width))})})},{name:"backgroundSize",type:"text",defaultValue:"cover",enum:[{label:"contain",value:"contain",helperText:"The image should never get cropped"},{label:"cover",value:"cover",helperText:"The image should fill it's box, cropping when needed"}]},{name:"backgroundPosition",type:"text",defaultValue:"center",enum:["center","top","left","right","bottom","top left","top right","bottom left","bottom right"]},{name:"altText",type:"string",helperText:"Text to display when the user has images off"},{name:"height",type:"number",hideFromUI:!0},{name:"width",type:"number",hideFromUI:!0},{name:"sizes",type:"string",hideFromUI:!0},{name:"srcset",type:"string",hideFromUI:!0},{name:"lazy",type:"boolean",defaultValue:!0,hideFromUI:!0},{name:"fitContent",type:"boolean",helperText:"When child blocks are provided, fit to them instead of using the image's aspect ratio",defaultValue:!0},{name:"aspectRatio",type:"number",helperText:"This is the ratio of height/width, e.g. set to 1.5 for a 300px wide and 200px tall photo. Set to 0 to not force the image to maintain it's aspect ratio",advanced:!0,defaultValue:.7041}]},I={name:"Core:Section",static:!0,image:"https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F682efef23ace49afac61748dd305c70a",inputs:[{name:"maxWidth",type:"number",defaultValue:1200},{name:"lazyLoad",type:"boolean",defaultValue:!1,advanced:!0,description:"Only render this section when in view"}],defaultStyles:{paddingLeft:"20px",paddingRight:"20px",paddingTop:"50px",paddingBottom:"50px",marginTop:"0px",width:"100vw",marginLeft:"calc(50% - 50vw)"},canHaveChildren:!0,defaultChildren:[{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{textAlign:"center"}},component:{name:"Text",options:{text:"<p><b>I am a section! My content keeps from getting too wide, so that it's easy to read even on big screens.</b></p><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur</p>"}}}]},E={name:"Symbol",noWrap:!0,static:!0,inputs:[{name:"symbol",type:"uiSymbol"},{name:"dataOnly",helperText:"Make this a data symbol that doesn't display any UI",type:"boolean",defaultValue:!1,advanced:!0,hideFromUI:!0},{name:"inheritState",helperText:"Inherit the parent component state and data",type:"boolean",defaultValue:!1,advanced:!0},{name:"renderToLiquid",helperText:"Render this symbols contents to liquid. Turn off to fetch with javascript and use custom targeting",type:"boolean",defaultValue:!1,advanced:!0,hideFromUI:!0},{name:"useChildren",hideFromUI:!0,type:"boolean"}]},F={name:"Text",static:!0,image:"https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-text_fields-24px%20(1).svg?alt=media&token=12177b73-0ee3-42ca-98c6-0dd003de1929",inputs:[{name:"text",type:"html",required:!0,autoFocus:!0,bubble:!0,defaultValue:"Enter some text..."}],defaultStyles:{lineHeight:"normal",height:"auto",textAlign:"center"}},A={name:"Video",canHaveChildren:!0,defaultStyles:{minHeight:"20px",minWidth:"20px"},image:"https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-videocam-24px%20(1).svg?alt=media&token=49a84e4a-b20e-4977-a650-047f986874bb",inputs:[{name:"video",type:"file",allowedFileTypes:["mp4"],bubble:!0,defaultValue:"https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/assets%2FKQlEmWDxA0coC3PK6UvkrjwkIGI2%2F28cb070609f546cdbe5efa20e931aa4b?alt=media&token=912e9551-7a7c-4dfb-86b6-3da1537d1a7f",required:!0},{name:"posterImage",type:"file",allowedFileTypes:["jpeg","png"],helperText:"Image to show before the video plays"},{name:"autoPlay",type:"boolean",defaultValue:!0},{name:"controls",type:"boolean",defaultValue:!1},{name:"muted",type:"boolean",defaultValue:!0},{name:"loop",type:"boolean",defaultValue:!0},{name:"playsInline",type:"boolean",defaultValue:!0},{name:"fit",type:"text",defaultValue:"cover",enum:["contain","cover","fill","auto"]},{name:"fitContent",type:"boolean",helperText:"When child blocks are provided, fit to them instead of using the aspect ratio",defaultValue:!0,advanced:!0},{name:"position",type:"text",defaultValue:"center",enum:["center","top","left","right","bottom","top left","top right","bottom left","bottom right"]},{name:"height",type:"number",advanced:!0},{name:"width",type:"number",advanced:!0},{name:"aspectRatio",type:"number",advanced:!0,defaultValue:.7004048582995948},{name:"lazyLoad",type:"boolean",helperText:'Load this video "lazily" - as in only when a user scrolls near the video. Recommended for optmized performance and bandwidth consumption',defaultValue:!0,advanced:!0}]},V={name:"Embed",static:!0,inputs:[{name:"url",type:"url",required:!0,defaultValue:"",helperText:"e.g. enter a youtube url, google map, etc",onChange:a.serializeFn(e=>{const n=e.get("url");if(n)return e.set("content","Loading..."),fetch(`https://iframe.ly/api/iframely?url=${n}&api_key=ae0e60e78201a3f2b0de4b`).then(o=>o.json()).then(o=>{e.get("url")===n&&(o.html?e.set("content",o.html):e.set("content","Invalid url, please try another"))}).catch(o=>{e.set("content","There was an error embedding this URL, please try again or another URL")});e.delete("content")})},{name:"content",type:"html",defaultValue:'<div style="padding: 20px; text-align: center">(Choose an embed URL)<div>',hideFromUI:!0}]},U=["text/javascript","application/javascript","application/ecmascript"],$=e=>U.includes(e.type),B=s.defineComponent({name:"builder-embed",props:["content"],data(){return{scriptsInserted:[],scriptsRun:[],ranInitFn:!1}},watch:{onUpdateHook0:{handler(){this.$refs.elem&&!this.ranInitFn&&(this.ranInitFn=!0,this.findAndRunScripts())},immediate:!0}},computed:{onUpdateHook0(){return{0:this.$refs.elem,1:this.ranInitFn}}},methods:{findAndRunScripts(){if(!this.$refs.elem||!this.$refs.elem.getElementsByTagName)return;const e=this.$refs.elem.getElementsByTagName("script");for(let n=0;n<e.length;n++){const t=e[n];if(t.src&&!this.scriptsInserted.includes(t.src)){this.scriptsInserted.push(t.src);const o=document.createElement("script");o.async=!0,o.src=t.src,document.head.appendChild(o)}else if($(t)&&!this.scriptsRun.includes(t.innerText))try{this.scriptsRun.push(t.innerText),new Function(t.innerText)()}catch(o){console.warn("`Embed`: Error running script:",o)}}}}}),P=["innerHTML"];function j(e,n,t,o,i,r){return s.openBlock(),s.createElementBlock("div",{class:"builder-embed",ref:"elem",innerHTML:e.content},null,8,P)}const H=a._export_sfc(B,[["render",j]]),_=s.defineComponent({name:"builder-img-component",props:["backgroundSize","backgroundPosition","imgSrc","altText","image","attributes"],data(){return{isEditing:a.isEditing}},methods:{filterAttrs:function(n={},t){const o="v-on:";return Object.keys(n).filter(i=>{if(!n[i])return!1;const r=i.startsWith(o);return t?r:!r}).reduce((i,r)=>({...i,[r.replace(o,"")]:n[r]}),{})}}}),M=["alt","src"];function L(e,n,t,o,i,r){return s.openBlock(),s.createElementBlock("img",s.mergeProps({style:{objectFit:e.backgroundSize||"cover",objectPosition:e.backgroundPosition||"center"},key:e.isEditing()&&e.imgSrc||"default-key",alt:e.altText,src:e.imgSrc||e.image},e.filterAttrs(e.attributes,!1),s.toHandlers(e.filterAttrs(e.attributes,!0),!0)),null,16,M)}const W=a._export_sfc(_,[["render",L]]),q={name:"Raw:Img",hideFromInsertMenu:!0,image:"https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-insert_photo-24px.svg?alt=media&token=4e5d0ef4-f5e8-4e57-b3a9-38d63a9b9dc4",inputs:[{name:"image",bubble:!0,type:"file",allowedFileTypes:["jpeg","jpg","png","svg","gif","webp"],required:!0}],noWrap:!0,static:!0},N=s.defineComponent({name:"builder-custom-code",props:["replaceNodes","code"],data(){return{scriptsInserted:[],scriptsRun:[]}},mounted(){this.findAndRunScripts()},methods:{findAndRunScripts(){if(this.$refs.elem&&this.$refs.elem.getElementsByTagName&&typeof window<"u"){const e=this.$refs.elem.getElementsByTagName("script");for(let n=0;n<e.length;n++){const t=e[n];if(t.src){if(this.scriptsInserted.includes(t.src))continue;this.scriptsInserted.push(t.src);const o=document.createElement("script");o.async=!0,o.src=t.src,document.head.appendChild(o)}else if(!t.type||["text/javascript","application/javascript","application/ecmascript"].includes(t.type)){if(this.scriptsRun.includes(t.innerText))continue;try{this.scriptsRun.push(t.innerText),new Function(t.innerText)()}catch(o){console.warn("`CustomCode`: Error running script:",o)}}}}},_classStringToObject(e){const n={};if(typeof e!="string")return n;const t=e.trim().split(/\s+/);for(const o of t)n[o]=!0;return n}}}),O=["innerHTML"];function D(e,n,t,o,i,r){return s.openBlock(),s.createElementBlock("div",{ref:"elem",class:s.normalizeClass(e._classStringToObject("builder-custom-code"+(e.replaceNodes?" replace-nodes":""))),innerHTML:e.code},null,10,O)}const K=a._export_sfc(N,[["render",D]]),z={name:"Custom Code",static:!0,requiredPermissions:["editCode"],inputs:[{name:"code",type:"html",required:!0,defaultValue:"<p>Hello there, I am custom HTML code!</p>",code:!0},{name:"replaceNodes",type:"boolean",helperText:"Preserve server rendered dom nodes",advanced:!0},{name:"scriptsClientOnly",type:"boolean",defaultValue:!1,helperText:"Only print and run scripts on the client. Important when scripts influence DOM that could be replaced when client loads",advanced:!0}]},J=()=>[{component:a.Button,...k},{component:a.Columns,...T},{component:K,...z},{component:H,...V},{component:a.Fragment,...w},{component:a.Image,...R},{component:W,...q},{component:a.Section,...I},{component:a.Symbol,...E},{component:a.Text,...F},{component:a.Video,...A}],G="0.4.2",Y=()=>{a.register("insertMenu",{name:"_default",default:!0,items:[{name:"Box"},{name:"Text"},{name:"Image"},{name:"Columns"},{name:"Core:Section"},{name:"Core:Button"},{name:"Embed"},{name:"Custom Code"}]})};let v=!1;const X=(e={})=>{var n,t;v||(v=!0,a.isBrowser()&&((n=window.parent)==null||n.postMessage({type:"builder.sdkInfo",data:{target:a.TARGET,version:G,supportsPatchUpdates:!1,supportsAddBlockScoping:!0,supportsCustomBreakpoints:!0}},"*"),(t=window.parent)==null||t.postMessage({type:"builder.updateContent",data:{options:e}},"*"),window.addEventListener("message",({data:o})=>{var i,r;if(!!(o!=null&&o.type))switch(o.type){case"builder.evaluate":{const l=o.data.text,c=o.data.arguments||[],d=o.data.id,p=new Function(l);let u,m=null;try{u=p.apply(null,c)}catch(h){m=h}m?(i=window.parent)==null||i.postMessage({type:"builder.evaluateError",data:{id:d,error:m.message}},"*"):u&&typeof u.then=="function"?u.then(h=>{var f;(f=window.parent)==null||f.postMessage({type:"builder.evaluateResult",data:{id:d,result:h}},"*")}).catch(console.error):(r=window.parent)==null||r.postMessage({type:"builder.evaluateResult",data:{result:u,id:d}},"*");break}}})))};function x(e){return Math.round(e*1e3)/1e3}const Q=(e,n,t=!0)=>{if(!(e instanceof HTMLElement))return null;let o=t?e:e.parentElement;do{if(!o)return null;if(n(o))return o}while(o=o.parentElement);return null},Z=e=>Q(e,n=>{const t=n.getAttribute("builder-id")||n.id;return Boolean((t==null?void 0:t.indexOf("builder-"))===0)}),S=({event:e,target:n})=>{const t=n.getBoundingClientRect(),o=e.clientX-t.left,i=e.clientY-t.top,r=x(o/t.width),l=x(i/t.height);return{x:r,y:l}},ee=e=>{const n=e.target,t=n&&Z(n),o=(t==null?void 0:t.getAttribute("builder-id"))||(t==null?void 0:t.id);return{targetBuilderElement:o||void 0,metadata:{targetOffset:n?S({event:e,target:n}):void 0,builderTargetOffset:t?S({event:e,target:t}):void 0,builderElementIndex:t&&o?[].slice.call(document.getElementsByClassName(o)).indexOf(t):void 0}}},te=({content:e,data:n,locale:t})=>{var r,l,c;const o={};(l=(r=e==null?void 0:e.data)==null?void 0:r.inputs)==null||l.forEach(d=>{var p;d.name&&d.defaultValue!==void 0&&((p=e==null?void 0:e.data)==null?void 0:p.state)&&e.data.state[d.name]===void 0&&(o[d.name]=d.defaultValue)});const i={...(c=e==null?void 0:e.data)==null?void 0:c.state,...n,...t?{locale:t}:{}};return{...o,...i}},ne=({content:e,data:n})=>e?{...e,data:{...e==null?void 0:e.data,...n},meta:e==null?void 0:e.meta}:void 0,oe=s.markRaw,ie=()=>Promise.resolve().then(()=>require("./index.3e17c057.cjs")).then(e=>e.renderBlocks$1).then(e=>e.default).catch(e=>{throw console.error("Error while attempting to dynamically import component RenderBlocks at ../render-blocks.vue",e),e}),ae=()=>Promise.resolve().then(()=>require("./render-styles.bd7475f8.cjs")).then(e=>e.default).catch(e=>{throw console.error("Error while attempting to dynamically import component RenderContentStyles at ./components/render-styles.vue",e),e}),re=s.defineComponent({name:"render-content",components:{RenderContentStyles:s.defineAsyncComponent(ae),RenderBlocks:s.defineAsyncComponent(ie)},props:["canTrack","model","context","apiKey","content","parentContentId","data","locale","apiVersion","customComponents","hideContent","classNameProp","isSsrAbTest","includeRefs","enrich"],data(){var e;return{forceReRenderCount:0,overrideContent:null,update:0,canTrackToUse:a.checkIsDefined(this.canTrack)?this.canTrack:!0,httpReqsData:{},clicked:!1,scriptStr:a.getRenderContentScriptString({contentId:(e=this.content)==null?void 0:e.id,parentContentId:this.parentContentId}),builderContextSignal:{content:ne({content:this.content,data:this.data}),localState:void 0,rootState:te({content:this.content,data:this.data,locale:this.locale}),rootSetState:this.contentSetState,context:this.context||{},apiKey:this.apiKey,apiVersion:this.apiVersion,registeredComponents:[...J(),...a.components,...this.customComponents||[]].reduce((n,{component:t,...o})=>({...n,[o.name]:{component:oe(t),...o}}),{}),inheritedStyles:{}},builderContext:a.BuilderContext,TARGET:a.TARGET}},provide(){const e=this;return{[a.BuilderContext.key]:e.builderContextSignal}},mounted(){var e,n;if(this.apiKey||a.logger.error("No API key provided to `RenderContent` component. This can cause issues. Please provide an API key using the `apiKey` prop."),a.isBrowser()){if(a.isEditing()&&(this.forceReRenderCount=this.forceReRenderCount+1,Y(),X({...this.locale?{locale:this.locale}:{},...this.includeRefs?{includeRefs:this.includeRefs}:{},...this.enrich?{enrich:this.enrich}:{}}),Object.values(this.builderContextSignal.registeredComponents).forEach(t=>{var i;const o=a.createRegisterComponentMessage(t);(i=window.parent)==null||i.postMessage(o,"*")}),window.addEventListener("message",this.processMessage),window.addEventListener("builder:component:stateChangeListenerActivated",this.emitStateUpdate)),this.builderContextSignal.content){const t=(e=this.builderContextSignal.content)==null?void 0:e.testVariationId,o=(n=this.builderContextSignal.content)==null?void 0:n.id;a._track({type:"impression",canTrack:this.canTrackToUse,contentId:o,apiKey:this.apiKey,variationId:t!==o?t:void 0})}if(a.isPreviewing()){const t=new URL(location.href).searchParams,o=t.get("builder.preview"),i=t.get(`builder.preview.${o}`),r=t.get("apiKey")||t.get("builder.space");o===this.model&&r===this.apiKey&&(!this.content||i===this.content.id)&&a.getContent({model:this.model,apiKey:this.apiKey,apiVersion:this.apiVersion}).then(l=>{l&&this.mergeNewContent(l)})}this.evaluateJsCode(),this.runHttpRequests(),this.emitStateUpdate()}},watch:{onUpdateHook0:{handler(){this.content&&this.mergeNewContent(this.content)},immediate:!0},onUpdateHook1:{handler(){this.evaluateJsCode()},immediate:!0},onUpdateHook2:{handler(){this.runHttpRequests()},immediate:!0},onUpdateHook3:{handler(){this.emitStateUpdate()},immediate:!0}},unmounted(){a.isBrowser()&&(window.removeEventListener("message",this.processMessage),window.removeEventListener("builder:component:stateChangeListenerActivated",this.emitStateUpdate))},computed:{onUpdateHook0(){return{0:this.content}},onUpdateHook1(){var e,n;return{0:(n=(e=this.builderContextSignal.content)==null?void 0:e.data)==null?void 0:n.jsCode,1:this.builderContextSignal.rootState}},onUpdateHook2(){var e,n;return{0:(n=(e=this.builderContextSignal.content)==null?void 0:e.data)==null?void 0:n.httpRequests}},onUpdateHook3(){return{0:this.builderContextSignal.rootState}}},methods:{mergeNewContent(e){var n,t,o,i,r;this.builderContextSignal.content={...this.builderContextSignal.content,...e,data:{...(n=this.builderContextSignal.content)==null?void 0:n.data,...e==null?void 0:e.data},meta:{...(t=this.builderContextSignal.content)==null?void 0:t.meta,...e==null?void 0:e.meta,breakpoints:((o=e==null?void 0:e.meta)==null?void 0:o.breakpoints)||((r=(i=this.builderContextSignal.content)==null?void 0:i.meta)==null?void 0:r.breakpoints)}}},setBreakpoints(e){var n;this.builderContextSignal.content={...this.builderContextSignal.content,meta:{...(n=this.builderContextSignal.content)==null?void 0:n.meta,breakpoints:e}}},contentSetState(e){this.builderContextSignal.rootState=e},processMessage(e){var t;const{data:n}=e;if(n)switch(n.type){case"builder.configureSdk":{const o=n.data,{breakpoints:i,contentId:r}=o;if(!r||r!==((t=this.builderContextSignal.content)==null?void 0:t.id))return;i&&this.setBreakpoints(i),this.forceReRenderCount=this.forceReRenderCount+1;break}case"builder.contentUpdate":{const o=n.data,i=o.key||o.alias||o.entry||o.modelName,r=o.data;i===this.model&&(this.mergeNewContent(r),this.forceReRenderCount=this.forceReRenderCount+1);break}}},evaluateJsCode(){var n,t;const e=(t=(n=this.builderContextSignal.content)==null?void 0:n.data)==null?void 0:t.jsCode;e&&y.evaluate({code:e,context:this.context||{},localState:void 0,rootState:this.builderContextSignal.rootState,rootSetState:this.contentSetState})},onClick(e){var n,t;if(this.builderContextSignal.content){const o=(n=this.builderContextSignal.content)==null?void 0:n.testVariationId,i=(t=this.builderContextSignal.content)==null?void 0:t.id;a._track({type:"click",canTrack:this.canTrackToUse,contentId:i,apiKey:this.apiKey,variationId:o!==i?o:void 0,...ee(e),unique:!this.clicked})}this.clicked||(this.clicked=!0)},evalExpression(e){return e.replace(/{{([^}]+)}}/g,(n,t)=>y.evaluate({code:t,context:this.context||{},localState:void 0,rootState:this.builderContextSignal.rootState,rootSetState:this.contentSetState}))},handleRequest({url:e,key:n}){a.fetch(e).then(t=>t.json()).then(t=>{const o={...this.builderContextSignal.rootState,[n]:t};this.contentSetState(o)}).catch(t=>{console.error("error fetching dynamic data",e,t)})},runHttpRequests(){var n,t,o;const e=(o=(t=(n=this.builderContextSignal.content)==null?void 0:n.data)==null?void 0:t.httpRequests)!=null?o:{};Object.entries(e).forEach(([i,r])=>{if(r&&(!this.httpReqsData[i]||a.isEditing())){const l=this.evalExpression(r);this.handleRequest({url:l,key:i})}})},emitStateUpdate(){a.isEditing()&&window.dispatchEvent(new CustomEvent("builder:component:stateChange",{detail:{state:this.builderContextSignal.rootState,ref:{name:this.model}}}))},_classStringToObject(e){const n={};if(typeof e!="string")return n;const t=e.trim().split(/\s+/);for(const o of t)n[o]=!0;return n}}}),se=["builder-content-id","builder-model"];function le(e,n,t,o,i,r){var d,p,u,m,h,f,g,b;const l=s.resolveComponent("render-content-styles"),c=s.resolveComponent("render-blocks");return e.builderContextSignal.content?(s.openBlock(),s.createElementBlock("div",s.mergeProps({key:0,ref:"elementRef",onClick:n[0]||(n[0]=C=>e.onClick(C)),"builder-content-id":(d=e.builderContextSignal.content)==null?void 0:d.id,"builder-model":e.model,class:e._classStringToObject(e.classNameProp)},{...e.TARGET==="reactNative"?{dataSet:{"builder-content-id":""}}:{},...e.hideContent?{hidden:!0,"aria-hidden":!0}:{}}),[e.isSsrAbTest?(s.openBlock(),s.createBlock(s.resolveDynamicComponent("script"),{key:0,innerHTML:e.scriptStr},null,8,["innerHTML"])):s.createCommentVNode("",!0),e.TARGET!=="reactNative"?(s.openBlock(),s.createBlock(l,{key:1,contentId:(p=e.builderContextSignal.content)==null?void 0:p.id,cssCode:(m=(u=e.builderContextSignal.content)==null?void 0:u.data)==null?void 0:m.cssCode,customFonts:(f=(h=e.builderContextSignal.content)==null?void 0:h.data)==null?void 0:f.customFonts},null,8,["contentId","cssCode","customFonts"])):s.createCommentVNode("",!0),(s.openBlock(),s.createBlock(c,{blocks:(b=(g=e.builderContextSignal.content)==null?void 0:g.data)==null?void 0:b.blocks,key:e.forceReRenderCount},null,8,["blocks"]))],16,se)):s.createCommentVNode("",!0)}const de=a._export_sfc(re,[["render",le]]);exports.default=de;
@@ -1,16 +0,0 @@
1
- import { defineComponent as n, openBlock as r, createBlock as o, resolveDynamicComponent as s } from "vue";
2
- import { _ as t } from "./index.3a561c6a.js";
3
- const i = n({
4
- name: "render-inlined-styles",
5
- props: ["styles", "id"]
6
- });
7
- function d(e, l, p, c, a, m) {
8
- return r(), o(s("style"), {
9
- innerHTML: e.styles,
10
- id: e.id
11
- }, null, 8, ["innerHTML", "id"]);
12
- }
13
- const y = /* @__PURE__ */ t(i, [["render", d]]);
14
- export {
15
- y as default
16
- };
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),r=require("./index.3e17c057.cjs"),t=e.defineComponent({name:"render-inlined-styles",props:["styles","id"]});function s(n,i,c,d,l,u){return e.openBlock(),e.createBlock(e.resolveDynamicComponent("style"),{innerHTML:n.styles,id:n.id},null,8,["innerHTML","id"])}const o=r._export_sfc(t,[["render",s]]);exports.default=o;
@@ -1,32 +0,0 @@
1
- import { defineComponent as t, defineAsyncComponent as n, resolveComponent as r, openBlock as c, createBlock as p } from "vue";
2
- import { k as s, _ as l } from "./index.3a561c6a.js";
3
- const a = () => import("./render-block.e9a2cb71.js").then((e) => e.default).catch((e) => {
4
- throw console.error(
5
- "Error while attempting to dynamically import component RenderBlock at ./render-block.vue",
6
- e
7
- ), e;
8
- }), d = t({
9
- name: "render-repeated-block",
10
- components: { RenderBlock: n(a) },
11
- props: ["repeatContext", "block"],
12
- data() {
13
- return { store: this.repeatContext };
14
- },
15
- provide() {
16
- const e = this;
17
- return {
18
- [s.key]: e.store
19
- };
20
- }
21
- });
22
- function i(e, k, m, _, f, u) {
23
- const o = r("render-block");
24
- return c(), p(o, {
25
- block: e.block,
26
- context: e.store
27
- }, null, 8, ["block", "context"]);
28
- }
29
- const B = /* @__PURE__ */ l(d, [["render", i]]);
30
- export {
31
- B as default
32
- };
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("vue"),t=require("./index.3e17c057.cjs"),r=()=>Promise.resolve().then(()=>require("./render-block.20c07cb1.cjs")).then(e=>e.default).catch(e=>{throw console.error("Error while attempting to dynamically import component RenderBlock at ./render-block.vue",e),e}),c=o.defineComponent({name:"render-repeated-block",components:{RenderBlock:o.defineAsyncComponent(r)},props:["repeatContext","block"],data(){return{store:this.repeatContext}},provide(){const e=this;return{[t.BuilderContext.key]:e.store}}});function s(e,d,i,p,a,u){const n=o.resolveComponent("render-block");return o.openBlock(),o.createBlock(n,{block:e.block,context:e.store},null,8,["block","context"])}const l=t._export_sfc(c,[["render",s]]);exports.default=l;
@@ -1,80 +0,0 @@
1
- import { defineComponent as c, defineAsyncComponent as f, resolveComponent as d, openBlock as p, createBlock as m } from "vue";
2
- import { _ as u } from "./index.3a561c6a.js";
3
- const h = (e) => {
4
- var o, l;
5
- const t = e.family + (e.kind && !e.kind.includes("#") ? ", " + e.kind : ""), n = t.split(",")[0], i = (l = e.fileUrl) != null ? l : (o = e == null ? void 0 : e.files) == null ? void 0 : o.regular;
6
- let r = "";
7
- if (i && t && n && (r += `
8
- @font-face {
9
- font-family: "${t}";
10
- src: local("${n}"), url('${i}') format('woff2');
11
- font-display: fallback;
12
- font-weight: 400;
13
- }
14
- `.trim()), e.files)
15
- for (const s in e.files) {
16
- if (!(String(Number(s)) === s))
17
- continue;
18
- const a = e.files[s];
19
- a && a !== i && (r += `
20
- @font-face {
21
- font-family: "${t}";
22
- src: url('${a}') format('woff2');
23
- font-display: fallback;
24
- font-weight: ${s};
25
- }
26
- `.trim());
27
- }
28
- return r;
29
- }, y = ({ customFonts: e }) => {
30
- var t;
31
- return ((t = e == null ? void 0 : e.map((n) => h(n))) == null ? void 0 : t.join(" ")) || "";
32
- }, g = ({
33
- cssCode: e,
34
- contentId: t
35
- }) => e ? t ? (e == null ? void 0 : e.replace(/&/g, `div[builder-content-id="${t}"]`)) || "" : e : "", $ = () => import("./render-inlined-styles.0444f4fe.js").then((e) => e.default).catch((e) => {
36
- throw console.error(
37
- "Error while attempting to dynamically import component RenderInlinedStyles at ../../render-inlined-styles.vue",
38
- e
39
- ), e;
40
- }), b = c({
41
- name: "render-content-styles",
42
- components: {
43
- RenderInlinedStyles: f($)
44
- },
45
- props: ["cssCode", "contentId", "customFonts"],
46
- data() {
47
- return {
48
- injectedStyles: `
49
- ${g({
50
- cssCode: this.cssCode,
51
- contentId: this.contentId
52
- })}
53
- ${y({
54
- customFonts: this.customFonts
55
- })}
56
-
57
- .builder-text > p:first-of-type, .builder-text > .builder-paragraph:first-of-type {
58
- margin: 0;
59
- }
60
- .builder-text > p, .builder-text > .builder-paragraph {
61
- color: inherit;
62
- line-height: inherit;
63
- letter-spacing: inherit;
64
- font-weight: inherit;
65
- font-size: inherit;
66
- text-align: inherit;
67
- font-family: inherit;
68
- }
69
- `.trim()
70
- };
71
- }
72
- });
73
- function _(e, t, n, i, r, o) {
74
- const l = d("render-inlined-styles");
75
- return p(), m(l, { styles: e.injectedStyles }, null, 8, ["styles"]);
76
- }
77
- const S = /* @__PURE__ */ u(b, [["render", _]]);
78
- export {
79
- S as default
80
- };
@@ -1,31 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("vue"),d=require("./index.3e17c057.cjs"),f=e=>{var c,s;const t=e.family+(e.kind&&!e.kind.includes("#")?", "+e.kind:""),n=t.split(",")[0],r=(s=e.fileUrl)!=null?s:(c=e==null?void 0:e.files)==null?void 0:c.regular;let l="";if(r&&t&&n&&(l+=`
2
- @font-face {
3
- font-family: "${t}";
4
- src: local("${n}"), url('${r}') format('woff2');
5
- font-display: fallback;
6
- font-weight: 400;
7
- }
8
- `.trim()),e.files)for(const o in e.files){if(!(String(Number(o))===o))continue;const a=e.files[o];a&&a!==r&&(l+=`
9
- @font-face {
10
- font-family: "${t}";
11
- src: url('${a}') format('woff2');
12
- font-display: fallback;
13
- font-weight: ${o};
14
- }
15
- `.trim())}return l},u=({customFonts:e})=>{var t;return((t=e==null?void 0:e.map(n=>f(n)))==null?void 0:t.join(" "))||""},p=({cssCode:e,contentId:t})=>e?t?(e==null?void 0:e.replace(/&/g,`div[builder-content-id="${t}"]`))||"":e:"",m=()=>Promise.resolve().then(()=>require("./render-inlined-styles.14d9ba36.cjs")).then(e=>e.default).catch(e=>{throw console.error("Error while attempting to dynamically import component RenderInlinedStyles at ../../render-inlined-styles.vue",e),e}),y=i.defineComponent({name:"render-content-styles",components:{RenderInlinedStyles:i.defineAsyncComponent(m)},props:["cssCode","contentId","customFonts"],data(){return{injectedStyles:`
16
- ${p({cssCode:this.cssCode,contentId:this.contentId})}
17
- ${u({customFonts:this.customFonts})}
18
-
19
- .builder-text > p:first-of-type, .builder-text > .builder-paragraph:first-of-type {
20
- margin: 0;
21
- }
22
- .builder-text > p, .builder-text > .builder-paragraph {
23
- color: inherit;
24
- line-height: inherit;
25
- letter-spacing: inherit;
26
- font-weight: inherit;
27
- font-size: inherit;
28
- text-align: inherit;
29
- font-family: inherit;
30
- }
31
- `.trim()}}});function h(e,t,n,r,l,c){const s=i.resolveComponent("render-inlined-styles");return i.openBlock(),i.createBlock(s,{styles:e.injectedStyles},null,8,["styles"])}const g=d._export_sfc(y,[["render",h]]);exports.default=g;