@builder.io/sdk-vue 1.0.20 → 1.0.21
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.
- package/lib/browser/{block-styles-gV1j-Mno.js → block-styles-2lYNYVH3.js} +1 -1
- package/lib/browser/{block-styles-d4tM_Pbm.cjs → block-styles-y6pFfJz3.cjs} +1 -1
- package/lib/browser/{block-wrapper-mUYhrZYL.js → block-wrapper-a1zxMruE.js} +3 -3
- package/lib/browser/{block-wrapper-7jEUErnD.cjs → block-wrapper-mlbE709c.cjs} +1 -1
- package/lib/browser/{component-ref-pY_JzaE9.js → component-ref-5K3RMLKh.js} +2 -2
- package/lib/browser/{component-ref-cnJXcopK.cjs → component-ref-mNbBuzhy.cjs} +1 -1
- package/lib/browser/constants/sdk-version.d.ts +1 -1
- package/lib/browser/functions/evaluate/node-runtime/init.d.ts +10 -0
- package/lib/browser/functions/evaluate/node-runtime/node-runtime.d.ts +6 -0
- package/lib/browser/functions/get-content/types.d.ts +139 -0
- package/lib/browser/{get-block-properties-L3LkEv9O.js → get-block-properties-4MopDiTP.js} +1 -1
- package/lib/browser/{get-block-properties-DdFv1Dpy.cjs → get-block-properties-PuGrG7pm.cjs} +1 -1
- package/lib/browser/helpers/logger.d.ts +1 -0
- package/lib/browser/{index-PUvnbz_d.cjs → index-OSGu6alT.cjs} +2 -2
- package/lib/browser/{index-HNoYiB0Y.js → index-mwZzSIN7.js} +5 -5
- package/lib/browser/index.cjs +1 -1
- package/lib/browser/index.js +1 -1
- package/lib/browser/{repeated-block-TTrWA7vt.cjs → repeated-block-VP4euR8a.cjs} +1 -1
- package/lib/browser/{repeated-block-UXKcZAEd.js → repeated-block-hUFMTXXS.js} +2 -2
- package/lib/edge/{block-styles-CFbRginC.cjs → block-styles-_eYB_Fxz.cjs} +1 -1
- package/lib/{node/block-styles-nh4wTQ1n.js → edge/block-styles-nhMA9R4s.js} +1 -1
- package/lib/{node/block-wrapper-0JSFFSq8.cjs → edge/block-wrapper-4RaFHsBw.cjs} +1 -1
- package/lib/edge/{block-wrapper-tCVyzPQa.js → block-wrapper-xgShkhuq.js} +3 -3
- package/lib/{node/component-ref-ZXwoV9mW.cjs → edge/component-ref-KD6yANwg.cjs} +1 -1
- package/lib/{node/component-ref-UMw1_m4l.js → edge/component-ref-kGbDg8GR.js} +2 -2
- package/lib/edge/constants/sdk-version.d.ts +1 -1
- package/lib/edge/functions/evaluate/node-runtime/init.d.ts +10 -0
- package/lib/edge/functions/evaluate/node-runtime/node-runtime.d.ts +6 -0
- package/lib/edge/functions/get-content/types.d.ts +139 -0
- package/lib/edge/{get-block-properties-92j4bSTt.cjs → get-block-properties-v6bf_R5d.cjs} +1 -1
- package/lib/{node/get-block-properties-QyVkMg_E.js → edge/get-block-properties-yFfbPH85.js} +1 -1
- package/lib/edge/helpers/logger.d.ts +1 -0
- package/lib/edge/{index-r6ecFwxx.js → index-Ua4OW_gh.js} +5 -5
- package/lib/edge/{index-1xe9jFQi.cjs → index-xnWjf2tW.cjs} +2 -2
- package/lib/edge/index.cjs +1 -1
- package/lib/edge/index.js +1 -1
- package/lib/edge/{repeated-block-h1uxL2QS.cjs → repeated-block-qRyqdxjD.cjs} +1 -1
- package/lib/edge/{repeated-block-tHlmcShN.js → repeated-block-uiPuS74Z.js} +2 -2
- package/lib/node/{block-styles-WQaU9sgN.cjs → block-styles-h0iWFk09.cjs} +1 -1
- package/lib/{edge/block-styles-7ZVVl2UI.js → node/block-styles-rz8jpORX.js} +1 -1
- package/lib/node/{block-wrapper-DaZ4mIlX.js → block-wrapper--vej-Ae6.js} +3 -3
- package/lib/{edge/block-wrapper-tMchV8Ed.cjs → node/block-wrapper-bGeMckW5.cjs} +1 -1
- package/lib/{edge/component-ref-xS-36BFD.js → node/component-ref-PGVczQrW.js} +2 -2
- package/lib/{edge/component-ref-6kXahKbj.cjs → node/component-ref-YhLendyR.cjs} +1 -1
- package/lib/node/constants/sdk-version.d.ts +1 -1
- package/lib/node/functions/evaluate/node-runtime/init.d.ts +10 -0
- package/lib/node/functions/evaluate/node-runtime/node-runtime.d.ts +6 -0
- package/lib/node/functions/get-content/types.d.ts +139 -0
- package/lib/node/{get-block-properties-oIIGvsOK.cjs → get-block-properties-GTVEiEYp.cjs} +1 -1
- package/lib/{edge/get-block-properties-wwUqgoY1.js → node/get-block-properties-kAmm-X1q.js} +1 -1
- package/lib/node/helpers/logger.d.ts +1 -0
- package/lib/node/{index-UPy9JYpO.cjs → index-XIqTnRyC.cjs} +11 -4
- package/lib/node/{index-DZC2NODY.js → index-mnDtU0q8.js} +25 -7
- package/lib/node/index.cjs +1 -1
- package/lib/node/index.js +1 -1
- package/lib/node/{repeated-block-0xbl-nXX.cjs → repeated-block-SWSMCPvd.cjs} +1 -1
- package/lib/node/{repeated-block-b2kLuK6t.js → repeated-block-tjhtQDPA.js} +2 -2
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var T=Object.defineProperty;var E=(e,t,n)=>t in e?T(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var S=(e,t,n)=>(E(e,typeof t!="symbol"?t+"":t,n),n);const vue=require("vue"),node_module=require("node:module");var _documentCurrentScript=typeof document<"u"?document.currentScript:null;const EMPTY_HTML_ELEMENTS=new Set(["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"]),isEmptyElement=e=>typeof e=="string"&&EMPTY_HTML_ELEMENTS.has(e.toLowerCase());function filterAttrs(e={},t,n){const o={};for(const r in e){if(!e[r]||n&&!r.startsWith(t))continue;const s=n?r.replace(t,""):r;o[s]=e[r]}return o}const _sfc_main$p=vue.defineComponent({name:"dynamic-renderer",props:["TagName","attributes","actionAttributes"],data(){return{isEmptyElement}}}),_export_sfc=(e,t)=>{const n=e.__vccOpts||e;for(const[o,r]of t)n[o]=r;return n};function _sfc_render$n(e,t,n,o,r,s){return e.isEmptyElement(e.TagName)?(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(e.TagName),vue.mergeProps({key:1},e.attributes,vue.toHandlers(e.actionAttributes)),null,16)):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[typeof e.TagName=="string"?(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(e.TagName),vue.mergeProps({key:0},e.attributes,vue.toHandlers(e.actionAttributes)),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16)):(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(e.TagName),vue.mergeProps({key:1},e.attributes,vue.toHandlers(e.actionAttributes)),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16))],64))}const DynamicRenderer=_export_sfc(_sfc_main$p,[["render",_sfc_render$n]]),dynamicRenderer=Object.freeze(Object.defineProperty({__proto__:null,default:DynamicRenderer},Symbol.toStringTag,{value:"Module"})),TARGET="vue",getClassPropName=()=>{switch(TARGET){case"react":case"reactNative":case"rsc":return"className";case"svelte":case"vue":case"solid":case"qwik":return"class"}},_sfc_main$o=vue.defineComponent({name:"builder-button",components:{DynamicRenderer},props:["attributes","link","openLinkInNewTab","builderLinkComponent","text"],data(){return{getClassPropName,filterAttrs}}});function _sfc_render$m(e,t,n,o,r,s){const i=vue.resolveComponent("dynamic-renderer");return vue.openBlock(),vue.createBlock(i,{attributes:{...e.filterAttrs(e.attributes,"v-on:",!1),[e.getClassPropName()]:`${e.link?"":"builder-button"} ${e.attributes[e.getClassPropName()]||""}`,...e.link?{href:e.link,target:e.openLinkInNewTab?"_blank":void 0,role:"link"}:{role:"button"}},TagName:e.link?e.builderLinkComponent||"a":"button",actionAttributes:e.filterAttrs(e.attributes,"v-on:",!0)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(e.text),1)]),_:1},8,["attributes","TagName","actionAttributes"])}const Button=_export_sfc(_sfc_main$o,[["render",_sfc_render$m]]),key$1=Symbol(),BuilderContext={Builder:{content:null,context:{},localState:void 0,rootSetState(){},rootState:{},apiKey:null,apiVersion:void 0,componentInfos:{},inheritedStyles:{},BlocksWrapper:"div",BlocksWrapperProps:{}},key:key$1},key=Symbol(),ComponentsContext={Components:{registeredComponents:{}},key};function getBlockComponentOptions(e){var t;return{...(t=e.component)==null?void 0:t.options,...e.options,builderBlock:e}}const MSG_PREFIX="[Builder.io]: ",logger={log:(...e)=>console.log(MSG_PREFIX,...e),error:(...e)=>console.error(MSG_PREFIX,...e),warn:(...e)=>console.warn(MSG_PREFIX,...e),debug:(...e)=>console.debug(MSG_PREFIX,...e)};function isBrowser(){return typeof window<"u"&&typeof document<"u"}const convertSearchParamsToQueryObject=e=>{const t={};return e.forEach((n,o)=>{t[o]=n}),t},normalizeSearchParams=e=>e instanceof URLSearchParams?convertSearchParamsToQueryObject(e):e,getSearchString=e=>typeof e=="string"?e:e instanceof URLSearchParams?e.toString():new URLSearchParams(e).toString();function isIframe(){return isBrowser()&&window.self!==window.top}function isEditing(e){return isIframe()&&getSearchString(e||window.location.search).indexOf("builder.frameEditing=")!==-1}const getLocation=()=>{if(isBrowser()){const e=new URL(location.href);return e.pathname===""&&(e.pathname="/"),e}else return console.warn("Cannot get location for tracking in non-browser environment"),null},getUserAgent=()=>typeof navigator=="object"&&navigator.userAgent||"",getUserAttributes=()=>{const e=getUserAgent(),t={Android(){return e.match(/Android/i)},BlackBerry(){return e.match(/BlackBerry/i)},iOS(){return e.match(/iPhone|iPod/i)},Opera(){return e.match(/Opera Mini/i)},Windows(){return e.match(/IEMobile/i)||e.match(/WPDesktop/i)},any(){return t.Android()||t.BlackBerry()||t.iOS()||t.Opera()||t.Windows()||TARGET==="reactNative"}},n=e.match(/Tablet|iPad/i),o=getLocation();return{urlPath:o==null?void 0:o.pathname,host:(o==null?void 0:o.host)||(o==null?void 0:o.hostname),device:n?"tablet":t.any()?"mobile":"desktop"}},getFunctionArguments=({builder:e,context:t,event:n,state:o})=>Object.entries({state:o,Builder:e,builder:e,context:t,event:n}),getBuilderGlobals=()=>({isEditing:isEditing(),isBrowser:isBrowser(),isServer:!isBrowser(),getUserAttributes:()=>getUserAttributes()}),parseCode=(e,{isExpression:t=!0})=>t&&!(e.includes(";")||e.includes(" return ")||e.trim().startsWith("return "))?`return (${e});`:e,runInBrowser=({code:e,builder:t,context:n,event:o,localState:r,rootSetState:s,rootState:i})=>{const a=getFunctionArguments({builder:t,context:n,event:o,state:flattenState({rootState:i,localState:r,rootSetState:s})});return new Function(...a.map(([l])=>l),e)(...a.map(([,l])=>l))};function flattenState({rootState:e,localState:t,rootSetState:n}){return new Proxy(e,{get:(o,r)=>{if(t&&r in t)return t[r];const s=o[r];return typeof s=="object"&&s!==null?flattenState({rootState:s,localState:void 0,rootSetState:n?i=>{o[r]=i,n(o)}:void 0}):s},set:(o,r,s)=>{if(t&&r in t)throw new Error("Writing to local state is not allowed as it is read-only.");return o[r]=s,n==null||n(o),!0}})}const fastClone=e=>JSON.parse(JSON.stringify(e)),set=(e,t,n)=>{if(Object(e)!==e)return e;const o=Array.isArray(t)?t:t.toString().match(/[^.[\]]+/g);return o.slice(0,-1).reduce((r,s,i)=>Object(r[s])===r[s]?r[s]:r[s]=Math.abs(Number(o[i+1]))>>0===+o[i+1]?[]:{},e)[o[o.length-1]]=n,e},noop=()=>{};let safeDynamicRequire=noop;try{safeDynamicRequire=node_module.createRequire(typeof document>"u"?require("url").pathToFileURL(__filename).href:_documentCurrentScript&&_documentCurrentScript.src||new URL("index-
|
|
1
|
+
"use strict";var T=Object.defineProperty;var E=(e,t,n)=>t in e?T(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var S=(e,t,n)=>(E(e,typeof t!="symbol"?t+"":t,n),n);const vue=require("vue"),node_module=require("node:module");var _documentCurrentScript=typeof document<"u"?document.currentScript:null;const EMPTY_HTML_ELEMENTS=new Set(["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"]),isEmptyElement=e=>typeof e=="string"&&EMPTY_HTML_ELEMENTS.has(e.toLowerCase());function filterAttrs(e={},t,n){const o={};for(const r in e){if(!e[r]||n&&!r.startsWith(t))continue;const s=n?r.replace(t,""):r;o[s]=e[r]}return o}const _sfc_main$p=vue.defineComponent({name:"dynamic-renderer",props:["TagName","attributes","actionAttributes"],data(){return{isEmptyElement}}}),_export_sfc=(e,t)=>{const n=e.__vccOpts||e;for(const[o,r]of t)n[o]=r;return n};function _sfc_render$n(e,t,n,o,r,s){return e.isEmptyElement(e.TagName)?(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(e.TagName),vue.mergeProps({key:1},e.attributes,vue.toHandlers(e.actionAttributes)),null,16)):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[typeof e.TagName=="string"?(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(e.TagName),vue.mergeProps({key:0},e.attributes,vue.toHandlers(e.actionAttributes)),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16)):(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(e.TagName),vue.mergeProps({key:1},e.attributes,vue.toHandlers(e.actionAttributes)),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16))],64))}const DynamicRenderer=_export_sfc(_sfc_main$p,[["render",_sfc_render$n]]),dynamicRenderer=Object.freeze(Object.defineProperty({__proto__:null,default:DynamicRenderer},Symbol.toStringTag,{value:"Module"})),TARGET="vue",getClassPropName=()=>{switch(TARGET){case"react":case"reactNative":case"rsc":return"className";case"svelte":case"vue":case"solid":case"qwik":return"class"}},_sfc_main$o=vue.defineComponent({name:"builder-button",components:{DynamicRenderer},props:["attributes","link","openLinkInNewTab","builderLinkComponent","text"],data(){return{getClassPropName,filterAttrs}}});function _sfc_render$m(e,t,n,o,r,s){const i=vue.resolveComponent("dynamic-renderer");return vue.openBlock(),vue.createBlock(i,{attributes:{...e.filterAttrs(e.attributes,"v-on:",!1),[e.getClassPropName()]:`${e.link?"":"builder-button"} ${e.attributes[e.getClassPropName()]||""}`,...e.link?{href:e.link,target:e.openLinkInNewTab?"_blank":void 0,role:"link"}:{role:"button"}},TagName:e.link?e.builderLinkComponent||"a":"button",actionAttributes:e.filterAttrs(e.attributes,"v-on:",!0)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(e.text),1)]),_:1},8,["attributes","TagName","actionAttributes"])}const Button=_export_sfc(_sfc_main$o,[["render",_sfc_render$m]]),key$1=Symbol(),BuilderContext={Builder:{content:null,context:{},localState:void 0,rootSetState(){},rootState:{},apiKey:null,apiVersion:void 0,componentInfos:{},inheritedStyles:{},BlocksWrapper:"div",BlocksWrapperProps:{}},key:key$1},key=Symbol(),ComponentsContext={Components:{registeredComponents:{}},key};function getBlockComponentOptions(e){var t;return{...(t=e.component)==null?void 0:t.options,...e.options,builderBlock:e}}const MSG_PREFIX="[Builder.io]: ",logger={log:(...e)=>console.log(MSG_PREFIX,...e),error:(...e)=>console.error(MSG_PREFIX,...e),warn:(...e)=>console.warn(MSG_PREFIX,...e),debug:(...e)=>console.debug(MSG_PREFIX,...e)};function isBrowser(){return typeof window<"u"&&typeof document<"u"}const convertSearchParamsToQueryObject=e=>{const t={};return e.forEach((n,o)=>{t[o]=n}),t},normalizeSearchParams=e=>e instanceof URLSearchParams?convertSearchParamsToQueryObject(e):e,getSearchString=e=>typeof e=="string"?e:e instanceof URLSearchParams?e.toString():new URLSearchParams(e).toString();function isIframe(){return isBrowser()&&window.self!==window.top}function isEditing(e){return isIframe()&&getSearchString(e||window.location.search).indexOf("builder.frameEditing=")!==-1}const getLocation=()=>{if(isBrowser()){const e=new URL(location.href);return e.pathname===""&&(e.pathname="/"),e}else return console.warn("Cannot get location for tracking in non-browser environment"),null},getUserAgent=()=>typeof navigator=="object"&&navigator.userAgent||"",getUserAttributes=()=>{const e=getUserAgent(),t={Android(){return e.match(/Android/i)},BlackBerry(){return e.match(/BlackBerry/i)},iOS(){return e.match(/iPhone|iPod/i)},Opera(){return e.match(/Opera Mini/i)},Windows(){return e.match(/IEMobile/i)||e.match(/WPDesktop/i)},any(){return t.Android()||t.BlackBerry()||t.iOS()||t.Opera()||t.Windows()||TARGET==="reactNative"}},n=e.match(/Tablet|iPad/i),o=getLocation();return{urlPath:o==null?void 0:o.pathname,host:(o==null?void 0:o.host)||(o==null?void 0:o.hostname),device:n?"tablet":t.any()?"mobile":"desktop"}},getFunctionArguments=({builder:e,context:t,event:n,state:o})=>Object.entries({state:o,Builder:e,builder:e,context:t,event:n}),getBuilderGlobals=()=>({isEditing:isEditing(),isBrowser:isBrowser(),isServer:!isBrowser(),getUserAttributes:()=>getUserAttributes()}),parseCode=(e,{isExpression:t=!0})=>t&&!(e.includes(";")||e.includes(" return ")||e.trim().startsWith("return "))?`return (${e});`:e,runInBrowser=({code:e,builder:t,context:n,event:o,localState:r,rootSetState:s,rootState:i})=>{const a=getFunctionArguments({builder:t,context:n,event:o,state:flattenState({rootState:i,localState:r,rootSetState:s})});return new Function(...a.map(([l])=>l),e)(...a.map(([,l])=>l))};function flattenState({rootState:e,localState:t,rootSetState:n}){return new Proxy(e,{get:(o,r)=>{if(t&&r in t)return t[r];const s=o[r];return typeof s=="object"&&s!==null?flattenState({rootState:s,localState:void 0,rootSetState:n?i=>{o[r]=i,n(o)}:void 0}):s},set:(o,r,s)=>{if(t&&r in t)throw new Error("Writing to local state is not allowed as it is read-only.");return o[r]=s,n==null||n(o),!0}})}const fastClone=e=>JSON.parse(JSON.stringify(e)),set=(e,t,n)=>{if(Object(e)!==e)return e;const o=Array.isArray(t)?t:t.toString().match(/[^.[\]]+/g);return o.slice(0,-1).reduce((r,s,i)=>Object(r[s])===r[s]?r[s]:r[s]=Math.abs(Number(o[i+1]))>>0===+o[i+1]?[]:{},e)[o[o.length-1]]=n,e},noop=()=>{};let safeDynamicRequire=noop;try{safeDynamicRequire=node_module.createRequire(typeof document>"u"?require("url").pathToFileURL(__filename).href:_documentCurrentScript&&_documentCurrentScript.src||new URL("index-XIqTnRyC.cjs",document.baseURI).href)}catch(error){try{safeDynamicRequire=eval("require")}catch(e){}}const getSyncValName=e=>`bldr_${e}_sync`,BUILDER_SET_STATE_NAME="BUILDER_SET_STATE",INJECTED_IVM_GLOBAL="BUILDER_IVM",REF_TO_PROXY_FN=`
|
|
2
2
|
var refToProxy = (obj) => {
|
|
3
3
|
if (typeof obj !== 'object' || obj === null) {
|
|
4
4
|
return obj;
|
|
@@ -38,14 +38,21 @@ if (typeof output === 'object' && output !== null) {
|
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
output;
|
|
41
|
-
`}
|
|
41
|
+
`};let IVM_INSTANCE=null;const getIvm=()=>{try{const e=safeDynamicRequire("isolated-vm");if(e)return e}catch(e){logger.error("isolated-vm import error.",e)}throw new Error(`${MSG_PREFIX}could not import \`isolated-vm\` module for safe script execution on Node server.
|
|
42
|
+
|
|
43
|
+
In certain Node environments, the SDK requires additional initialization steps. This can be achieved by
|
|
44
|
+
importing and calling \`initializeNodeRuntime()\` from "@builder.io/sdk-react/node/init". This must be done in
|
|
45
|
+
a server-only execution path within your application.
|
|
46
|
+
|
|
47
|
+
Please see the documentation for more information: https://builder.io/c/docs/integration-tips#enabling-data-bindings-in-node-environments
|
|
48
|
+
`)},getIsolateContext=()=>{const e=getIvm();return new e.Isolate({memoryLimit:128}).createContextSync()},runInNode=({code:e,builder:t,context:n,event:o,localState:r,rootSetState:s,rootState:i})=>{const a=getIvm(),l=fastClone({...i,...r}),c=getFunctionArguments({builder:t,context:n,event:o,state:l}),p=getIsolateContext(),u=p.global;u.setSync("global",u.derefInto()),u.setSync("log",function(...m){console.log(...m)}),u.setSync(BUILDER_SET_STATE_NAME,function(m,g){set(i,m,g),s==null||s(i)}),c.forEach(([m,g])=>{const y=typeof g=="object"?new a.Reference(m==="builder"?{...g,getUserAttributes:()=>g.getUserAttributes()}:g):null;u.setSync(getSyncValName(m),y)}),u.setSync(INJECTED_IVM_GLOBAL,a);const d=processCode({code:e,args:c}),f=p.evalSync(d);try{return JSON.parse(f)}catch{return f}},checkIsDefined=e=>e!=null;function isNodeRuntime(){var e;return typeof process<"u"&&checkIsDefined((e=process==null?void 0:process.versions)==null?void 0:e.node)}const shouldForceBrowserRuntimeInNode=()=>{var o;if(!isNodeRuntime())return!1;const e=process.arch==="arm64",t=process.version.startsWith("v20"),n=(o=process.env.NODE_OPTIONS)==null?void 0:o.includes("--no-node-snapshot");return e&&t&&!n?(logger.log("Skipping usage of `isolated-vm` to avoid crashes in Node v20 on an arm64 machine.\n If you would like to use the `isolated-vm` package on this machine, please provide the `NODE_OPTIONS=--no-node-snapshot` config to your Node process.\n See https://github.com/BuilderIO/builder/blob/main/packages/sdks/README.md#node-v20--m1-macs-apple-silicon-support for more information.\n "),!0):!1},chooseBrowserOrServerEval=e=>isBrowser()||shouldForceBrowserRuntimeInNode()?runInBrowser(e):runInNode(e),b=class b{static getCacheKey(t){return JSON.stringify({...t,event:t.event?Math.random():void 0})}static getCachedValue(t){return b.cache.get(t)}static setCachedValue(t,n){b.cache.size>20&&b.cache.delete(b.cache.keys().next().value),b.cache.set(t,{value:n})}};S(b,"cacheLimit",20),S(b,"cache",new Map);let EvalCache=b;function evaluate({code:e,context:t,localState:n,rootState:o,rootSetState:r,event:s,isExpression:i=!0,enableCache:a}){if(e===""){logger.warn("Skipping evaluation of empty code block.");return}const l={code:parseCode(e,{isExpression:i}),builder:getBuilderGlobals(),context:t,event:s,rootSetState:r,rootState:o,localState:n};if(a){const c=EvalCache.getCacheKey(l),p=EvalCache.getCachedValue(c);if(p)return p.value}try{const c=chooseBrowserOrServerEval(l);if(a){const p=EvalCache.getCacheKey(l);EvalCache.setCachedValue(p,c)}return c}catch(c){logger.error("Failed code evaluation: "+c.message,{code:e});return}}function transformBlock(e){return e}const evaluateBindings=({block:e,context:t,localState:n,rootState:o,rootSetState:r})=>{if(!e.bindings)return e;const s=fastClone(e),i={...s,properties:{...s.properties},actions:{...s.actions}};for(const a in e.bindings){const l=e.bindings[a],c=evaluate({code:l,localState:n,rootState:o,rootSetState:r,context:t,enableCache:!0});set(i,a,c)}return i};function getProcessedBlock({block:e,context:t,shouldEvaluateBindings:n,localState:o,rootState:r,rootSetState:s}){const i=e;return n?evaluateBindings({block:i,localState:o,rootState:r,rootSetState:s,context:t}):i}function throttle(e,t,n={}){let o,r,s,i=null,a=0;const l=function(){a=n.leading===!1?0:Date.now(),i=null,s=e.apply(o,r),i||(o=r=null)};return function(){const c=Date.now();!a&&n.leading===!1&&(a=c);const p=t-(c-a);return o=this,r=arguments,p<=0||p>t?(i&&(clearTimeout(i),i=null),a=c,s=e.apply(o,r),i||(o=r=null)):!i&&n.trailing!==!1&&(i=setTimeout(l,p)),s}}function assign(e,...t){const n=Object(e);for(let o=1;o<arguments.length;o++){const r=arguments[o];if(r!=null)for(const s in r)Object.prototype.hasOwnProperty.call(r,s)&&(n[s]=r[s])}return n}const camelCaseToKebabCase=e=>e?e.replace(/([A-Z])/g,t=>`-${t[0].toLowerCase()}`):"";function bindAnimations(e){for(const t of e)switch(t.trigger){case"pageLoad":triggerAnimation(t);break;case"hover":bindHoverAnimation(t);break;case"scrollInView":bindScrollInViewAnimation(t);break}}function warnElementNotPresent(e){console.warn(`Cannot animate element: element with ID ${e} not found!`)}function augmentAnimation(e,t){const n=getAllStylesUsed(e),o=getComputedStyle(t),r=e.steps[0].styles,s=e.steps[e.steps.length-1].styles,i=[r,s];for(const a of i)for(const l of n)l in a||(a[l]=o[l])}function getAllStylesUsed(e){const t=[];for(const n of e.steps)for(const o in n.styles)t.indexOf(o)===-1&&t.push(o);return t}function triggerAnimation(e){const t=Array.prototype.slice.call(document.getElementsByClassName(e.elementId||e.id||""));if(!t.length){warnElementNotPresent(e.elementId||e.id||"");return}Array.from(t).forEach(n=>{augmentAnimation(e,n),n.style.transition="none",n.style.transitionDelay="0",assign(n.style,e.steps[0].styles),setTimeout(()=>{n.style.transition=`all ${e.duration}s ${camelCaseToKebabCase(e.easing)}`,e.delay&&(n.style.transitionDelay=e.delay+"s"),assign(n.style,e.steps[1].styles),setTimeout(()=>{n.style.transition="",n.style.transitionDelay=""},(e.delay||0)*1e3+e.duration*1e3+100)})})}function bindHoverAnimation(e){const t=Array.prototype.slice.call(document.getElementsByClassName(e.elementId||e.id||""));if(!t.length){warnElementNotPresent(e.elementId||e.id||"");return}Array.from(t).forEach(n=>{augmentAnimation(e,n);const o=e.steps[0].styles,r=e.steps[1].styles;function s(){assign(n.style,o)}function i(){assign(n.style,r)}s(),n.addEventListener("mouseenter",i),n.addEventListener("mouseleave",s),setTimeout(()=>{n.style.transition=`all ${e.duration}s ${camelCaseToKebabCase(e.easing)}`,e.delay&&(n.style.transitionDelay=e.delay+"s")})})}function bindScrollInViewAnimation(e){const t=Array.prototype.slice.call(document.getElementsByClassName(e.elementId||e.id||""));if(!t.length){warnElementNotPresent(e.elementId||e.id||"");return}Array.from(t).forEach(n=>{augmentAnimation(e,n);let o=!1,r=!1;function s(){!o&&a(n)?(o=!0,r=!0,setTimeout(()=>{assign(n.style,e.steps[1].styles),e.repeat||document.removeEventListener("scroll",i),setTimeout(()=>{r=!1,e.repeat||(n.style.transition="",n.style.transitionDelay="")},(e.duration+(e.delay||0))*1e3+100)})):e.repeat&&o&&!r&&!a(n)&&(o=!1,assign(n.style,e.steps[0].styles))}const i=throttle(s,200,{leading:!1});function a(p){const u=p.getBoundingClientRect(),d=window.innerHeight,m=(e.thresholdPercent||0)/100*d;return u.bottom>m&&u.top<d-m}const l=e.steps[0].styles;function c(){assign(n.style,l)}c(),setTimeout(()=>{n.style.transition=`all ${e.duration}s ${camelCaseToKebabCase(e.easing)}`,e.delay&&(n.style.transitionDelay=e.delay+"s")}),document.addEventListener("scroll",i,{capture:!0,passive:!0}),s()})}const camelToKebabCase=e=>e.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g,"$1-$2").toLowerCase(),convertStyleMapToCSSArray=e=>Object.entries(e).map(([n,o])=>{if(typeof o=="string")return`${camelToKebabCase(n)}: ${o};`}).filter(checkIsDefined),convertStyleMapToCSS=e=>convertStyleMapToCSSArray(e).join(`
|
|
42
49
|
`),createCssClass=({mediaQuery:e,className:t,styles:n})=>{const o=`.${t} {
|
|
43
50
|
${convertStyleMapToCSS(n)}
|
|
44
51
|
}`;return e?`${e} {
|
|
45
52
|
${o}
|
|
46
53
|
}`:o};function transformStyleProperty({style:e}){return e}const getStyle=({block:e,context:t})=>mapStyleObjToStrIfNeeded(transformStyleProperty({style:e.style||{},context:t,block:e}));function mapStyleObjToStrIfNeeded(e){switch(TARGET){case"svelte":case"vue":case"solid":return convertStyleMapToCSSArray(e).join(" ");case"qwik":case"reactNative":case"react":case"rsc":return e}}const getComponent=({block:e,context:t,registeredComponents:n})=>{var s;const o=(s=getProcessedBlock({block:e,localState:t.localState,rootState:t.rootState,rootSetState:t.rootSetState,context:t.context,shouldEvaluateBindings:!1}).component)==null?void 0:s.name;if(!o)return null;const r=n[o];if(r)return r;console.warn(`
|
|
47
54
|
Could not find a registered component named "${o}".
|
|
48
|
-
If you registered it, is the file that registered it imported by the file that needs to render it?`)},getRepeatItemData=({block:e,context:t})=>{const{repeat:n,...o}=e;if(!(n!=null&&n.collection))return;const r=evaluate({code:n.collection,localState:t.localState,rootState:t.rootState,rootSetState:t.rootSetState,context:t.context,enableCache:!0});if(!Array.isArray(r))return;const s=n.collection.split(".").pop(),i=n.itemName||(s?s+"Item":"item");return r.map((l,c)=>({context:{...t,localState:{...t.localState,$index:c,$item:l,[i]:l,[`$${i}Index`]:c}},block:o}))},BlockStyles=()=>Promise.resolve().then(()=>require("./block-styles-WQaU9sgN.cjs")).then(e=>e.default).catch(e=>{throw console.error("Error while attempting to dynamically import component BlockStyles at ./components/block-styles.vue",e),e}),BlockWrapper=()=>Promise.resolve().then(()=>require("./block-wrapper-0JSFFSq8.cjs")).then(e=>e.default).catch(e=>{throw console.error("Error while attempting to dynamically import component BlockWrapper at ./components/block-wrapper.vue",e),e}),ComponentRef=()=>Promise.resolve().then(()=>require("./component-ref-ZXwoV9mW.cjs")).then(e=>e.default).catch(e=>{throw console.error("Error while attempting to dynamically import component ComponentRef at ./components/component-ref/component-ref.vue",e),e}),RepeatedBlock=()=>Promise.resolve().then(()=>require("./repeated-block-0xbl-nXX.cjs")).then(e=>e.default).catch(e=>{throw console.error("Error while attempting to dynamically import component RepeatedBlock at ./components/repeated-block.vue",e),e}),_sfc_main$n=vue.defineComponent({name:"block",components:{BlockStyles:vue.defineAsyncComponent(BlockStyles),ComponentRef:vue.defineAsyncComponent(ComponentRef),RepeatedBlock:vue.defineAsyncComponent(RepeatedBlock),BlockWrapper:vue.defineAsyncComponent(BlockWrapper)},props:["block","context","registeredComponents","linkComponent"],mounted(){const e=this.processedBlock.id,t=this.processedBlock.animations;t&&e&&bindAnimations(t.filter(n=>n.trigger!=="hover").map(n=>({...n,elementId:e})))},computed:{blockComponent(){return getComponent({block:this.block,context:this.context,registeredComponents:this.registeredComponents})},repeatItem(){return getRepeatItemData({block:this.block,context:this.context})},processedBlock(){var e;return(e=this.block.repeat)!=null&&e.collection?this.block:getProcessedBlock({block:this.block,localState:this.context.localState,rootState:this.context.rootState,rootSetState:this.context.rootSetState,context:this.context.context,shouldEvaluateBindings:!0})},Tag(){var t;return this.block.tagName==="a"||((t=this.processedBlock.properties)==null?void 0:t.href)||this.processedBlock.href?this.linkComponent||"a":this.block.tagName||"div"},canShowBlock(){var n,o;if((n=this.block.repeat)!=null&&n.collection)return!!((o=this.repeatItem)!=null&&o.length);const e="hide"in this.processedBlock?this.processedBlock.hide:!1;return("show"in this.processedBlock?this.processedBlock.show:!0)&&!e},childrenWithoutParentComponent(){var t;return!((t=this.blockComponent)!=null&&t.component)&&!this.repeatItem?this.processedBlock.children??[]:[]},componentRefProps(){var e,t,n,o,r,s,i,a,l,c;return{blockChildren:this.processedBlock.children??[],componentRef:(e=this.blockComponent)==null?void 0:e.component,componentOptions:{...getBlockComponentOptions(this.processedBlock),builderContext:this.context,...((t=this.blockComponent)==null?void 0:t.name)==="Core:Button"||((n=this.blockComponent)==null?void 0:n.name)==="Symbol"||((o=this.blockComponent)==null?void 0:o.name)==="Columns"||((r=this.blockComponent)==null?void 0:r.name)==="Form:Form"?{builderLinkComponent:this.linkComponent}:{},...((s=this.blockComponent)==null?void 0:s.name)==="Symbol"||((i=this.blockComponent)==null?void 0:i.name)==="Columns"||((a=this.blockComponent)==null?void 0:a.name)==="Form:Form"?{builderComponents:this.registeredComponents}:{}},context:this.context,linkComponent:this.linkComponent,registeredComponents:this.registeredComponents,builderBlock:this.processedBlock,includeBlockProps:((l=this.blockComponent)==null?void 0:l.noWrap)===!0,isInteractive:!((c=this.blockComponent)!=null&&c.isRSC)}}}});function _sfc_render$l(e,t,n,o,r,s){var u;const i=vue.resolveComponent("block-styles"),a=vue.resolveComponent("component-ref"),l=vue.resolveComponent("block",!0),c=vue.resolveComponent("block-wrapper"),p=vue.resolveComponent("repeated-block");return e.canShowBlock?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(i,{block:e.block,context:e.context},null,8,["block","context"]),(u=e.blockComponent)!=null&&u.noWrap?(vue.openBlock(),vue.createBlock(a,{key:1,componentRef:e.componentRefProps.componentRef,componentOptions:e.componentRefProps.componentOptions,blockChildren:e.componentRefProps.blockChildren,context:e.componentRefProps.context,registeredComponents:e.componentRefProps.registeredComponents,linkComponent:e.componentRefProps.linkComponent,builderBlock:e.componentRefProps.builderBlock,includeBlockProps:e.componentRefProps.includeBlockProps,isInteractive:e.componentRefProps.isInteractive},null,8,["componentRef","componentOptions","blockChildren","context","registeredComponents","linkComponent","builderBlock","includeBlockProps","isInteractive"])):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[e.repeatItem?(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,{key:1},vue.renderList(e.repeatItem,(d,f)=>(vue.openBlock(),vue.createBlock(p,{key:f,repeatContext:d.context,block:d.block,registeredComponents:e.registeredComponents,linkComponent:e.linkComponent},null,8,["repeatContext","block","registeredComponents","linkComponent"]))),128)):(vue.openBlock(),vue.createBlock(c,{key:0,Wrapper:e.Tag,block:e.processedBlock,context:e.context,linkComponent:e.linkComponent},{default:vue.withCtx(()=>[vue.createVNode(a,{componentRef:e.componentRefProps.componentRef,componentOptions:e.componentRefProps.componentOptions,blockChildren:e.componentRefProps.blockChildren,context:e.componentRefProps.context,registeredComponents:e.componentRefProps.registeredComponents,linkComponent:e.componentRefProps.linkComponent,builderBlock:e.componentRefProps.builderBlock,includeBlockProps:e.componentRefProps.includeBlockProps,isInteractive:e.componentRefProps.isInteractive},null,8,["componentRef","componentOptions","blockChildren","context","registeredComponents","linkComponent","builderBlock","includeBlockProps","isInteractive"]),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.childrenWithoutParentComponent,(d,f)=>(vue.openBlock(),vue.createBlock(l,{key:d.id,block:d,registeredComponents:e.registeredComponents,linkComponent:e.linkComponent,context:e.context},null,8,["block","registeredComponents","linkComponent","context"]))),128))]),_:1},8,["Wrapper","block","context","linkComponent"]))],64))],64)):vue.createCommentVNode("",!0)}const Block=_export_sfc(_sfc_main$n,[["render",_sfc_render$l]]),block=Object.freeze(Object.defineProperty({__proto__:null,default:Block},Symbol.toStringTag,{value:"Module"})),_sfc_main$m=vue.defineComponent({name:"builder-blocks-wrapper",props:["blocks","parent","path","styleProp","BlocksWrapperProps","BlocksWrapper"],computed:{className(){var e;return"builder-blocks"+((e=this.blocks)!=null&&e.length?"":" no-blocks")}},methods:{onClick(){var e,t;isEditing()&&!((e=this.blocks)!=null&&e.length)&&((t=window.parent)==null||t.postMessage({type:"builder.clickEmptyBlocks",data:{parentElementId:this.parent,dataPath:this.path}},"*"))},onMouseEnter(){var e,t;isEditing()&&!((e=this.blocks)!=null&&e.length)&&((t=window.parent)==null||t.postMessage({type:"builder.hoverEmptyBlocks",data:{parentElementId:this.parent,dataPath:this.path}},"*"))}}});function _sfc_render$k(e,t,n,o,r,s){return vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(e.BlocksWrapper),vue.mergeProps({class:e.className+" component-1o2kztlxdt6","builder-path":e.path,"builder-parent-id":e.parent,style:e.styleProp,onClick:i=>e.onClick(),onMouseEnter:i=>e.onMouseEnter(),onKeyPress:i=>e.onClick()},{...e.BlocksWrapperProps}),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default",{},void 0,!0)]),_:3},16,["class","builder-path","builder-parent-id","style","onClick","onMouseEnter","onKeyPress"])}const BlocksWrapper=_export_sfc(_sfc_main$m,[["render",_sfc_render$k],["__scopeId","data-v-9724ab41"]]),_sfc_main$l=vue.defineComponent({name:"builder-blocks",components:{BlocksWrapper,Block},props:["blocks","parent","path","styleProp","context","linkComponent","registeredComponents"],inject:{builderContext:BuilderContext.key,componentsContext:ComponentsContext.key}});function _sfc_render$j(e,t,n,o,r,s){var l,c;const i=vue.resolveComponent("block"),a=vue.resolveComponent("blocks-wrapper");return vue.openBlock(),vue.createBlock(a,{blocks:e.blocks,parent:e.parent,path:e.path,styleProp:e.styleProp,BlocksWrapper:((l=e.context)==null?void 0:l.BlocksWrapper)||e.builderContext.BlocksWrapper,BlocksWrapperProps:((c=e.context)==null?void 0:c.BlocksWrapperProps)||e.builderContext.BlocksWrapperProps},{default:vue.withCtx(()=>[e.blocks?(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,{key:0},vue.renderList(e.blocks,(p,u)=>(vue.openBlock(),vue.createBlock(i,{key:p.id,block:p,linkComponent:e.linkComponent,context:e.context||e.builderContext,registeredComponents:e.registeredComponents||e.componentsContext.registeredComponents},null,8,["block","linkComponent","context","registeredComponents"]))),128)):vue.createCommentVNode("",!0)]),_:1},8,["blocks","parent","path","styleProp","BlocksWrapper","BlocksWrapperProps"])}const Blocks=_export_sfc(_sfc_main$l,[["render",_sfc_render$j]]),_sfc_main$k=vue.defineComponent({render(){return vue.h("style",{innerHTML:this.styles,"data-id":this.id})},name:"inlined-styles",props:["styles","id"]}),SIZES={small:{min:320,default:321,max:640},medium:{min:641,default:642,max:991},large:{min:990,default:991,max:1200}},getMaxWidthQueryForSize=(e,t=SIZES)=>`@media (max-width: ${t[e].max}px)`,getSizesForBreakpoints=({small:e,medium:t})=>{const n=fastClone(SIZES);if(!e||!t)return n;const o=Math.floor(e/2);n.small={max:e,min:o,default:o+1};const r=n.small.max+1;n.medium={max:t,min:r,default:r+1};const s=n.medium.max+1;return n.large={max:2e3,min:s,default:s+1},n},_sfc_main$j=vue.defineComponent({name:"builder-columns",components:{InlinedStyles:_sfc_main$k,DynamicRenderer,Blocks},props:["space","columns","stackColumnsAt","reverseColumnsWhenStacked","builderContext","builderBlock","builderLinkComponent","builderComponents"],data(){return{gutterSize:typeof this.space=="number"?this.space||0:20,cols:this.columns||[],stackAt:this.stackColumnsAt||"tablet",flexDir:this.stackColumnsAt==="never"?"row":this.reverseColumnsWhenStacked?"column-reverse":"column",TARGET,getClassPropName,mapStyleObjToStrIfNeeded}},computed:{columnsCssVars(){return{"--flex-dir":this.flexDir,"--flex-dir-tablet":this.getTabletStyle({stackedStyle:this.flexDir,desktopStyle:"row"})}},columnsStyles(){return`
|
|
55
|
+
If you registered it, is the file that registered it imported by the file that needs to render it?`)},getRepeatItemData=({block:e,context:t})=>{const{repeat:n,...o}=e;if(!(n!=null&&n.collection))return;const r=evaluate({code:n.collection,localState:t.localState,rootState:t.rootState,rootSetState:t.rootSetState,context:t.context,enableCache:!0});if(!Array.isArray(r))return;const s=n.collection.split(".").pop(),i=n.itemName||(s?s+"Item":"item");return r.map((l,c)=>({context:{...t,localState:{...t.localState,$index:c,$item:l,[i]:l,[`$${i}Index`]:c}},block:o}))},BlockStyles=()=>Promise.resolve().then(()=>require("./block-styles-h0iWFk09.cjs")).then(e=>e.default).catch(e=>{throw console.error("Error while attempting to dynamically import component BlockStyles at ./components/block-styles.vue",e),e}),BlockWrapper=()=>Promise.resolve().then(()=>require("./block-wrapper-bGeMckW5.cjs")).then(e=>e.default).catch(e=>{throw console.error("Error while attempting to dynamically import component BlockWrapper at ./components/block-wrapper.vue",e),e}),ComponentRef=()=>Promise.resolve().then(()=>require("./component-ref-YhLendyR.cjs")).then(e=>e.default).catch(e=>{throw console.error("Error while attempting to dynamically import component ComponentRef at ./components/component-ref/component-ref.vue",e),e}),RepeatedBlock=()=>Promise.resolve().then(()=>require("./repeated-block-SWSMCPvd.cjs")).then(e=>e.default).catch(e=>{throw console.error("Error while attempting to dynamically import component RepeatedBlock at ./components/repeated-block.vue",e),e}),_sfc_main$n=vue.defineComponent({name:"block",components:{BlockStyles:vue.defineAsyncComponent(BlockStyles),ComponentRef:vue.defineAsyncComponent(ComponentRef),RepeatedBlock:vue.defineAsyncComponent(RepeatedBlock),BlockWrapper:vue.defineAsyncComponent(BlockWrapper)},props:["block","context","registeredComponents","linkComponent"],mounted(){const e=this.processedBlock.id,t=this.processedBlock.animations;t&&e&&bindAnimations(t.filter(n=>n.trigger!=="hover").map(n=>({...n,elementId:e})))},computed:{blockComponent(){return getComponent({block:this.block,context:this.context,registeredComponents:this.registeredComponents})},repeatItem(){return getRepeatItemData({block:this.block,context:this.context})},processedBlock(){var e;return(e=this.block.repeat)!=null&&e.collection?this.block:getProcessedBlock({block:this.block,localState:this.context.localState,rootState:this.context.rootState,rootSetState:this.context.rootSetState,context:this.context.context,shouldEvaluateBindings:!0})},Tag(){var t;return this.block.tagName==="a"||((t=this.processedBlock.properties)==null?void 0:t.href)||this.processedBlock.href?this.linkComponent||"a":this.block.tagName||"div"},canShowBlock(){var n,o;if((n=this.block.repeat)!=null&&n.collection)return!!((o=this.repeatItem)!=null&&o.length);const e="hide"in this.processedBlock?this.processedBlock.hide:!1;return("show"in this.processedBlock?this.processedBlock.show:!0)&&!e},childrenWithoutParentComponent(){var t;return!((t=this.blockComponent)!=null&&t.component)&&!this.repeatItem?this.processedBlock.children??[]:[]},componentRefProps(){var e,t,n,o,r,s,i,a,l,c;return{blockChildren:this.processedBlock.children??[],componentRef:(e=this.blockComponent)==null?void 0:e.component,componentOptions:{...getBlockComponentOptions(this.processedBlock),builderContext:this.context,...((t=this.blockComponent)==null?void 0:t.name)==="Core:Button"||((n=this.blockComponent)==null?void 0:n.name)==="Symbol"||((o=this.blockComponent)==null?void 0:o.name)==="Columns"||((r=this.blockComponent)==null?void 0:r.name)==="Form:Form"?{builderLinkComponent:this.linkComponent}:{},...((s=this.blockComponent)==null?void 0:s.name)==="Symbol"||((i=this.blockComponent)==null?void 0:i.name)==="Columns"||((a=this.blockComponent)==null?void 0:a.name)==="Form:Form"?{builderComponents:this.registeredComponents}:{}},context:this.context,linkComponent:this.linkComponent,registeredComponents:this.registeredComponents,builderBlock:this.processedBlock,includeBlockProps:((l=this.blockComponent)==null?void 0:l.noWrap)===!0,isInteractive:!((c=this.blockComponent)!=null&&c.isRSC)}}}});function _sfc_render$l(e,t,n,o,r,s){var u;const i=vue.resolveComponent("block-styles"),a=vue.resolveComponent("component-ref"),l=vue.resolveComponent("block",!0),c=vue.resolveComponent("block-wrapper"),p=vue.resolveComponent("repeated-block");return e.canShowBlock?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(i,{block:e.block,context:e.context},null,8,["block","context"]),(u=e.blockComponent)!=null&&u.noWrap?(vue.openBlock(),vue.createBlock(a,{key:1,componentRef:e.componentRefProps.componentRef,componentOptions:e.componentRefProps.componentOptions,blockChildren:e.componentRefProps.blockChildren,context:e.componentRefProps.context,registeredComponents:e.componentRefProps.registeredComponents,linkComponent:e.componentRefProps.linkComponent,builderBlock:e.componentRefProps.builderBlock,includeBlockProps:e.componentRefProps.includeBlockProps,isInteractive:e.componentRefProps.isInteractive},null,8,["componentRef","componentOptions","blockChildren","context","registeredComponents","linkComponent","builderBlock","includeBlockProps","isInteractive"])):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[e.repeatItem?(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,{key:1},vue.renderList(e.repeatItem,(d,f)=>(vue.openBlock(),vue.createBlock(p,{key:f,repeatContext:d.context,block:d.block,registeredComponents:e.registeredComponents,linkComponent:e.linkComponent},null,8,["repeatContext","block","registeredComponents","linkComponent"]))),128)):(vue.openBlock(),vue.createBlock(c,{key:0,Wrapper:e.Tag,block:e.processedBlock,context:e.context,linkComponent:e.linkComponent},{default:vue.withCtx(()=>[vue.createVNode(a,{componentRef:e.componentRefProps.componentRef,componentOptions:e.componentRefProps.componentOptions,blockChildren:e.componentRefProps.blockChildren,context:e.componentRefProps.context,registeredComponents:e.componentRefProps.registeredComponents,linkComponent:e.componentRefProps.linkComponent,builderBlock:e.componentRefProps.builderBlock,includeBlockProps:e.componentRefProps.includeBlockProps,isInteractive:e.componentRefProps.isInteractive},null,8,["componentRef","componentOptions","blockChildren","context","registeredComponents","linkComponent","builderBlock","includeBlockProps","isInteractive"]),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.childrenWithoutParentComponent,(d,f)=>(vue.openBlock(),vue.createBlock(l,{key:d.id,block:d,registeredComponents:e.registeredComponents,linkComponent:e.linkComponent,context:e.context},null,8,["block","registeredComponents","linkComponent","context"]))),128))]),_:1},8,["Wrapper","block","context","linkComponent"]))],64))],64)):vue.createCommentVNode("",!0)}const Block=_export_sfc(_sfc_main$n,[["render",_sfc_render$l]]),block=Object.freeze(Object.defineProperty({__proto__:null,default:Block},Symbol.toStringTag,{value:"Module"})),_sfc_main$m=vue.defineComponent({name:"builder-blocks-wrapper",props:["blocks","parent","path","styleProp","BlocksWrapperProps","BlocksWrapper"],computed:{className(){var e;return"builder-blocks"+((e=this.blocks)!=null&&e.length?"":" no-blocks")}},methods:{onClick(){var e,t;isEditing()&&!((e=this.blocks)!=null&&e.length)&&((t=window.parent)==null||t.postMessage({type:"builder.clickEmptyBlocks",data:{parentElementId:this.parent,dataPath:this.path}},"*"))},onMouseEnter(){var e,t;isEditing()&&!((e=this.blocks)!=null&&e.length)&&((t=window.parent)==null||t.postMessage({type:"builder.hoverEmptyBlocks",data:{parentElementId:this.parent,dataPath:this.path}},"*"))}}});function _sfc_render$k(e,t,n,o,r,s){return vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(e.BlocksWrapper),vue.mergeProps({class:e.className+" component-1o2kztlxdt6","builder-path":e.path,"builder-parent-id":e.parent,style:e.styleProp,onClick:i=>e.onClick(),onMouseEnter:i=>e.onMouseEnter(),onKeyPress:i=>e.onClick()},{...e.BlocksWrapperProps}),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default",{},void 0,!0)]),_:3},16,["class","builder-path","builder-parent-id","style","onClick","onMouseEnter","onKeyPress"])}const BlocksWrapper=_export_sfc(_sfc_main$m,[["render",_sfc_render$k],["__scopeId","data-v-9724ab41"]]),_sfc_main$l=vue.defineComponent({name:"builder-blocks",components:{BlocksWrapper,Block},props:["blocks","parent","path","styleProp","context","linkComponent","registeredComponents"],inject:{builderContext:BuilderContext.key,componentsContext:ComponentsContext.key}});function _sfc_render$j(e,t,n,o,r,s){var l,c;const i=vue.resolveComponent("block"),a=vue.resolveComponent("blocks-wrapper");return vue.openBlock(),vue.createBlock(a,{blocks:e.blocks,parent:e.parent,path:e.path,styleProp:e.styleProp,BlocksWrapper:((l=e.context)==null?void 0:l.BlocksWrapper)||e.builderContext.BlocksWrapper,BlocksWrapperProps:((c=e.context)==null?void 0:c.BlocksWrapperProps)||e.builderContext.BlocksWrapperProps},{default:vue.withCtx(()=>[e.blocks?(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,{key:0},vue.renderList(e.blocks,(p,u)=>(vue.openBlock(),vue.createBlock(i,{key:p.id,block:p,linkComponent:e.linkComponent,context:e.context||e.builderContext,registeredComponents:e.registeredComponents||e.componentsContext.registeredComponents},null,8,["block","linkComponent","context","registeredComponents"]))),128)):vue.createCommentVNode("",!0)]),_:1},8,["blocks","parent","path","styleProp","BlocksWrapper","BlocksWrapperProps"])}const Blocks=_export_sfc(_sfc_main$l,[["render",_sfc_render$j]]),_sfc_main$k=vue.defineComponent({render(){return vue.h("style",{innerHTML:this.styles,"data-id":this.id})},name:"inlined-styles",props:["styles","id"]}),SIZES={small:{min:320,default:321,max:640},medium:{min:641,default:642,max:991},large:{min:990,default:991,max:1200}},getMaxWidthQueryForSize=(e,t=SIZES)=>`@media (max-width: ${t[e].max}px)`,getSizesForBreakpoints=({small:e,medium:t})=>{const n=fastClone(SIZES);if(!e||!t)return n;const o=Math.floor(e/2);n.small={max:e,min:o,default:o+1};const r=n.small.max+1;n.medium={max:t,min:r,default:r+1};const s=n.medium.max+1;return n.large={max:2e3,min:s,default:s+1},n},_sfc_main$j=vue.defineComponent({name:"builder-columns",components:{InlinedStyles:_sfc_main$k,DynamicRenderer,Blocks},props:["space","columns","stackColumnsAt","reverseColumnsWhenStacked","builderContext","builderBlock","builderLinkComponent","builderComponents"],data(){return{gutterSize:typeof this.space=="number"?this.space||0:20,cols:this.columns||[],stackAt:this.stackColumnsAt||"tablet",flexDir:this.stackColumnsAt==="never"?"row":this.reverseColumnsWhenStacked?"column-reverse":"column",TARGET,getClassPropName,mapStyleObjToStrIfNeeded}},computed:{columnsCssVars(){return{"--flex-dir":this.flexDir,"--flex-dir-tablet":this.getTabletStyle({stackedStyle:this.flexDir,desktopStyle:"row"})}},columnsStyles(){return`
|
|
49
56
|
@media (max-width: ${this.getWidthForBreakpointSize("medium")}px) {
|
|
50
57
|
.${this.builderBlock.id}-breakpoints {
|
|
51
58
|
flex-direction: var(--flex-dir-tablet);
|
|
@@ -168,7 +175,7 @@ output;
|
|
|
168
175
|
)`,getUpdateVariantVisibilityScript=({contentId:e,variationId:t})=>`window.${UPDATE_VARIANT_VISIBILITY_SCRIPT_FN_NAME}(
|
|
169
176
|
"${t}", "${e}", ${isHydrationTarget}
|
|
170
177
|
)`,_sfc_main$5=vue.defineComponent({render(){return vue.h("script",{innerHTML:this.scriptStr,"data-id":this.id})},name:"inlined-script",props:["scriptStr","id"]});function getGlobalThis(){return typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:globalThis}function getFetch(){const e=getGlobalThis().fetch;if(typeof e>"u")throw console.warn(`Builder SDK could not find a global fetch function. Make sure you have a polyfill for fetch in your project.
|
|
171
|
-
For more information, read https://github.com/BuilderIO/this-package-uses-fetch`),new Error("Builder SDK could not find a global `fetch` function");return e}const fetch$1=getFetch();function flatten(e,t=null,n="."){return Object.keys(e).reduce((o,r)=>{const s=e[r],i=[t,r].filter(Boolean).join(n);return[typeof s=="object",s!==null,!(Array.isArray(s)&&s.length===0)].every(Boolean)?{...o,...flatten(s,i,n)}:{...o,[i]:s}},{})}const DEFAULT_API_VERSION="v3",BUILDER_SEARCHPARAMS_PREFIX="builder.",BUILDER_OPTIONS_PREFIX="options.",getBuilderSearchParams=e=>{if(!e)return{};const t=normalizeSearchParams(e),n={};return Object.keys(t).forEach(o=>{if(o.startsWith(BUILDER_SEARCHPARAMS_PREFIX)){const r=o.replace(BUILDER_SEARCHPARAMS_PREFIX,"").replace(BUILDER_OPTIONS_PREFIX,"");n[r]=t[o]}}),n},getBuilderSearchParamsFromWindow=()=>{if(!isBrowser())return{};const e=new URLSearchParams(window.location.search);return getBuilderSearchParams(e)},isPositiveNumber=e=>typeof e=="number"&&!isNaN(e)&&e>=0,generateContentUrl=e=>{const{limit:t=30,userAttributes:n,query:o,model:r,apiKey:s,enrich:i,locale:a,apiVersion:l=DEFAULT_API_VERSION,fields:c,omit:p,offset:u,cacheSeconds:d,staleCacheSeconds:f,sort:m,includeUnpublished:g}=e;if(!s)throw new Error("Missing API key");if(!["v3"].includes(l))throw new Error(`Invalid apiVersion: expected 'v3', received '${l}'`);const y=t!==1,h=new URL(`https://cdn.builder.io/api/${l}/content/${r}`);if(h.searchParams.set("apiKey",s),h.searchParams.set("limit",String(t)),h.searchParams.set("noTraverse",String(y)),h.searchParams.set("includeRefs",String(!0)),a&&h.searchParams.set("locale",a),i&&h.searchParams.set("enrich",String(i)),h.searchParams.set("omit",p||"meta.componentsUsed"),c&&h.searchParams.set("fields",c),Number.isFinite(u)&&u>-1&&h.searchParams.set("offset",String(Math.floor(u))),typeof g=="boolean"&&h.searchParams.set("includeUnpublished",String(g)),d&&isPositiveNumber(d)&&h.searchParams.set("cacheSeconds",String(d)),f&&isPositiveNumber(f)&&h.searchParams.set("staleCacheSeconds",String(f)),m){const v=flatten({sort:m});for(const k in v)h.searchParams.set(k,JSON.stringify(v[k]))}const I={...getBuilderSearchParamsFromWindow(),...normalizeSearchParams(e.options||{})},C=flatten(I);for(const v in C)h.searchParams.set(v,String(C[v]));if(n&&h.searchParams.set("userAttributes",JSON.stringify(n)),o){const v=flatten({query:o});for(const k in v)h.searchParams.set(k,JSON.stringify(v[k]))}return h},checkContentHasResults=e=>"results"in e;async function fetchOneEntry(e){const t=await fetchEntries({...e,limit:1});return t&&t[0]||null}const _fetchContent=async e=>{const t=generateContentUrl(e);return await(await(e.fetch??fetch$1)(t.href,e.fetchOptions)).json()},_processContentResult=async(e,t,n=generateContentUrl(e))=>{const o=getDefaultCanTrack(e.canTrack);if(n.search.includes("preview="),!o||!(isBrowser()||TARGET==="reactNative"))return t.results;try{const r=[];for(const s of t.results)r.push(await handleABTesting({item:s,canTrack:o}));t.results=r}catch(r){logger.error("Could not process A/B tests. ",r)}return t.results};async function fetchEntries(e){try{const t=generateContentUrl(e),n=await _fetchContent(e);return checkContentHasResults(n)?_processContentResult(e,n):(logger.error("Error fetching data. ",{url:t,content:n,options:e}),null)}catch(t){return logger.error("Error fetching data. ",t),null}}function isPreviewing(e){if(!isBrowser())return!1;const t=getSearchString(e||window.location.search);return isEditing(t)?!1:t.indexOf("builder.preview=")!==-1}function uuidv4(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){const t=Math.random()*16|0;return(e=="x"?t:t&3|8).toString(16)})}function uuid(){return uuidv4().replace(/-/g,"")}const SESSION_LOCAL_STORAGE_KEY="builderSessionId",getSessionId=async({canTrack:e})=>{if(!e)return;const t=await getCookie({name:SESSION_LOCAL_STORAGE_KEY,canTrack:e});if(checkIsDefined(t))return t;{const n=createSessionId();return setSessionId({id:n,canTrack:e}),n}},createSessionId=()=>uuid(),setSessionId=({id:e,canTrack:t})=>setCookie({name:SESSION_LOCAL_STORAGE_KEY,value:e,canTrack:t}),getLocalStorage=()=>isBrowser()&&typeof localStorage<"u"?localStorage:void 0,getLocalStorageItem=({key:e,canTrack:t})=>{var n;try{return t?(n=getLocalStorage())==null?void 0:n.getItem(e):void 0}catch(o){console.debug("[LocalStorage] GET error: ",o);return}},setLocalStorageItem=({key:e,canTrack:t,value:n})=>{var o;try{t&&((o=getLocalStorage())==null||o.setItem(e,n))}catch(r){console.debug("[LocalStorage] SET error: ",r)}},VISITOR_LOCAL_STORAGE_KEY="builderVisitorId",getVisitorId=({canTrack:e})=>{if(!e)return;const t=getLocalStorageItem({key:VISITOR_LOCAL_STORAGE_KEY,canTrack:e});if(checkIsDefined(t))return t;{const n=createVisitorId();return setVisitorId({id:n,canTrack:e}),n}},createVisitorId=()=>uuid(),setVisitorId=({id:e,canTrack:t})=>setLocalStorageItem({key:VISITOR_LOCAL_STORAGE_KEY,value:e,canTrack:t}),getTrackingEventData=async({canTrack:e})=>{if(!e)return{visitorId:void 0,sessionId:void 0};const t=await getSessionId({canTrack:e}),n=getVisitorId({canTrack:e});return{sessionId:t,visitorId:n}},createEvent=async({type:e,canTrack:t,apiKey:n,metadata:o,...r})=>({type:e,data:{...r,metadata:{url:location.href,...o},...await getTrackingEventData({canTrack:t}),userAttributes:getUserAttributes(),ownerId:n}});async function _track(e){if(!e.apiKey){logger.error("Missing API key for track call. Please provide your API key.");return}if(e.canTrack&&!isEditing()&&(isBrowser()||TARGET==="reactNative"))return fetch("https://cdn.builder.io/api/v1/track",{method:"POST",body:JSON.stringify({events:[await createEvent(e)]}),headers:{"content-type":"application/json"},mode:"cors"}).catch(t=>{console.error("Failed to track: ",t)})}const track=e=>_track({...e,canTrack:!0});function round(e){return Math.round(e*1e3)/1e3}const findParentElement=(e,t,n=!0)=>{if(!(e instanceof HTMLElement))return null;let o=n?e:e.parentElement;do{if(!o)return null;if(t(o))return o}while(o=o.parentElement);return null},findBuilderParent=e=>findParentElement(e,t=>{const n=t.getAttribute("builder-id")||t.id;return(n==null?void 0:n.indexOf("builder-"))===0}),computeOffset=({event:e,target:t})=>{const n=t.getBoundingClientRect(),o=e.clientX-n.left,r=e.clientY-n.top,s=round(o/n.width),i=round(r/n.height);return{x:s,y:i}},getInteractionPropertiesForEvent=e=>{const t=e.target,n=t&&findBuilderParent(t),o=(n==null?void 0:n.getAttribute("builder-id"))||(n==null?void 0:n.id);return{targetBuilderElement:o||void 0,metadata:{targetOffset:t?computeOffset({event:e,target:t}):void 0,builderTargetOffset:n?computeOffset({event:e,target:n}):void 0,builderElementIndex:n&&o?[].slice.call(document.getElementsByClassName(o)).indexOf(n):void 0}}},DEFAULT_TRUSTED_HOSTS=["*.beta.builder.io","beta.builder.io","builder.io","localhost","qa.builder.io"];function isFromTrustedHost(e,t){const n=new URL(t.origin),o=n.hostname;return(e||DEFAULT_TRUSTED_HOSTS).findIndex(r=>r.startsWith("*.")?o.endsWith(r.slice(1)):r===o)>-1}const SDK_VERSION="1.0.20",registry={};function register(e,t){let n=registry[e];if(n||(n=registry[e]=[]),n.push(t),isBrowser()){const o={type:"builder.register",data:{type:e,info:t}};try{parent.postMessage(o,"*"),parent!==window&&window.postMessage(o,"*")}catch(r){console.debug("Could not postmessage",r)}}}const registerInsertMenu=()=>{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 isSetupForEditing=!1;const setupBrowserForEditing=(e={})=>{var t,n;isSetupForEditing||(isSetupForEditing=!0,isBrowser()&&((t=window.parent)==null||t.postMessage({type:"builder.sdkInfo",data:{target:TARGET,version:SDK_VERSION,supportsPatchUpdates:!1,supportsAddBlockScoping:!0,supportsCustomBreakpoints:!0}},"*"),(n=window.parent)==null||n.postMessage({type:"builder.updateContent",data:{options:e}},"*"),window.addEventListener("message",o=>{var s,i;if(!isFromTrustedHost(e.trustedHosts,o))return;const{data:r}=o;if(r!=null&&r.type)switch(r.type){case"builder.evaluate":{const a=r.data.text,l=r.data.arguments||[],c=r.data.id,p=new Function(a);let u,d=null;try{u=p.apply(null,l)}catch(f){d=f}d?(s=window.parent)==null||s.postMessage({type:"builder.evaluateError",data:{id:c,error:d.message}},"*"):u&&typeof u.then=="function"?u.then(f=>{var m;(m=window.parent)==null||m.postMessage({type:"builder.evaluateResult",data:{id:c,result:f}},"*")}).catch(console.error):(i=window.parent)==null||i.postMessage({type:"builder.evaluateResult",data:{result:u,id:c}},"*");break}}})))},createEditorListener=({model:e,trustedHosts:t,callbacks:n})=>o=>{if(!isFromTrustedHost(t,o))return;const{data:r}=o;if(r)switch(r.type){case"builder.configureSdk":{n.configureSdk(r.data);break}case"builder.triggerAnimation":{n.animation(r.data);break}case"builder.contentUpdate":{const s=r.data,i=s.key||s.alias||s.entry||s.modelName,a=s.data;i===e&&n.contentUpdate(a);break}}},subscribeToEditor=(e,t,n)=>{if(!isBrowser)return logger.warn("`subscribeToEditor` only works in the browser. It currently seems to be running on the server."),()=>{};setupBrowserForEditing();const o=createEditorListener({callbacks:{contentUpdate:t,animation:()=>{},configureSdk:()=>{}},model:e,trustedHosts:n==null?void 0:n.trustedHosts});return window.addEventListener("message",o),()=>{window.removeEventListener("message",o)}},_sfc_main$4=vue.defineComponent({name:"enable-editor",props:["builderContextSignal","canTrack","apiKey","locale","enrich","trustedHosts","model","content","data","contentWrapper","context","showContent","contentWrapperProps"],data(){return{ContentWrapper:this.contentWrapper||"div",httpReqsData:{},httpReqsPending:{},clicked:!1,builderContext:BuilderContext}},provide(){const e=this;return{[BuilderContext.key]:e.builderContextSignal}},mounted(){(()=>{var n,o;if(isBrowser()){if(isEditing()&&this.$refs.elementRef&&this.$refs.elementRef.dispatchEvent(new CustomEvent("initeditingbldr")),this.builderContextSignal.content&&getDefaultCanTrack(this.canTrack)){const s=(n=this.builderContextSignal.content)==null?void 0:n.testVariationId,i=(o=this.builderContextSignal.content)==null?void 0:o.id,a=this.apiKey;_track({type:"impression",canTrack:!0,contentId:i,apiKey:a,variationId:s!==i?s:void 0})}isPreviewing()&&this.$refs.elementRef&&this.$refs.elementRef.dispatchEvent(new CustomEvent("initpreviewingbldr"))}})(),(()=>{this.apiKey||logger.error("No API key provided to `RenderContent` component. This can cause issues. Please provide an API key using the `apiKey` prop."),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},onUpdateHook4:{handler(){this.data&&this.mergeNewRootState(this.data)},immediate:!0},onUpdateHook5:{handler(){this.locale&&this.mergeNewRootState({locale:this.locale})},immediate:!0}},unmounted(){isBrowser()&&(window.removeEventListener("message",this.processMessage),window.removeEventListener("builder:component:stateChangeListenerActivated",this.emitStateUpdate))},computed:{onUpdateHook0(){return{0:this.content}},onUpdateHook1(){var e,t;return{0:(t=(e=this.builderContextSignal.content)==null?void 0:e.data)==null?void 0:t.jsCode}},onUpdateHook2(){var e,t;return{0:(t=(e=this.builderContextSignal.content)==null?void 0:e.data)==null?void 0:t.httpRequests}},onUpdateHook3(){return{0:this.builderContextSignal.rootState}},onUpdateHook4(){return{0:this.data}},onUpdateHook5(){return{0:this.locale}}},methods:{mergeNewRootState(e){var n,o;const t={...this.builderContextSignal.rootState,...e};this.builderContextSignal.rootSetState?(o=(n=this.builderContextSignal).rootSetState)==null||o.call(n,t):this.builderContextSignal.rootState=t},mergeNewContent(e){var n,o,r,s,i;const t={...this.builderContextSignal.content,...e,data:{...(n=this.builderContextSignal.content)==null?void 0:n.data,...e==null?void 0:e.data},meta:{...(o=this.builderContextSignal.content)==null?void 0:o.meta,...e==null?void 0:e.meta,breakpoints:((r=e==null?void 0:e.meta)==null?void 0:r.breakpoints)||((i=(s=this.builderContextSignal.content)==null?void 0:s.meta)==null?void 0:i.breakpoints)}};this.builderContextSignal.content=t},processMessage(e){return createEditorListener({model:this.model,trustedHosts:this.trustedHosts,callbacks:{configureSdk:t=>{var r;const{breakpoints:n,contentId:o}=t;!o||o!==((r=this.builderContextSignal.content)==null?void 0:r.id)||n&&this.mergeNewContent({meta:{breakpoints:n}})},animation:t=>{triggerAnimation(t)},contentUpdate:t=>{this.mergeNewContent(t)}}})(e)},evaluateJsCode(){var t,n;const e=(n=(t=this.builderContextSignal.content)==null?void 0:t.data)==null?void 0:n.jsCode;e&&evaluate({code:e,context:this.context||{},localState:void 0,rootState:this.builderContextSignal.rootState,rootSetState:this.builderContextSignal.rootSetState,enableCache:!1})},onClick(e){var t,n;if(this.builderContextSignal.content){const o=(t=this.builderContextSignal.content)==null?void 0:t.testVariationId,r=(n=this.builderContextSignal.content)==null?void 0:n.id;_track({type:"click",canTrack:getDefaultCanTrack(this.canTrack),contentId:r,apiKey:this.apiKey,variationId:o!==r?o:void 0,...getInteractionPropertiesForEvent(e),unique:!this.clicked})}this.clicked||(this.clicked=!0)},runHttpRequests(){var t,n;const e=((n=(t=this.builderContextSignal.content)==null?void 0:t.data)==null?void 0:n.httpRequests)??{};Object.entries(e).forEach(([o,r])=>{if(!r||this.httpReqsPending[o]||this.httpReqsData[o]&&!isEditing())return;this.httpReqsPending[o]=!0;const s=r.replace(/{{([^}]+)}}/g,(i,a)=>String(evaluate({code:a,context:this.context||{},localState:void 0,rootState:this.builderContextSignal.rootState,rootSetState:this.builderContextSignal.rootSetState,enableCache:!0})));fetch$1(s).then(i=>i.json()).then(i=>{this.mergeNewRootState({[o]:i}),this.httpReqsData[o]=!0}).catch(i=>{console.error("error fetching dynamic data",r,i)}).finally(()=>{this.httpReqsPending[o]=!1})})},emitStateUpdate(){isEditing()&&window.dispatchEvent(new CustomEvent("builder:component:stateChange",{detail:{state:fastClone(this.builderContextSignal.rootState),ref:{name:this.model}}}))},elementRef_onIniteditingbldr(e){window.addEventListener("message",this.processMessage),registerInsertMenu(),setupBrowserForEditing({...this.locale?{locale:this.locale}:{},...this.enrich?{enrich:this.enrich}:{},...this.trustedHosts?{trustedHosts:this.trustedHosts}:{}}),Object.values(this.builderContextSignal.componentInfos).forEach(t=>{var o;const n=createRegisterComponentMessage(t);(o=window.parent)==null||o.postMessage(n,"*")}),window.addEventListener("builder:component:stateChangeListenerActivated",this.emitStateUpdate)},elementRef_onInitpreviewingbldr(e){const t=new URL(location.href).searchParams,n=t.get("builder.preview"),o=t.get(`builder.preview.${n}`),r=t.get("apiKey")||t.get("builder.space");n===this.model&&r===this.apiKey&&(!this.content||o===this.content.id)&&fetchOneEntry({model:this.model,apiKey:this.apiKey,apiVersion:this.builderContextSignal.apiVersion}).then(s=>{s&&this.mergeNewContent(s)})}}});function _sfc_render$4(e,t,n,o,r,s){var i,a,l;return e.builderContextSignal.content?(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(e.ContentWrapper),vue.mergeProps({key:0,ref:"elementRef",onClick:c=>e.onClick(c),"builder-content-id":(i=e.builderContextSignal.content)==null?void 0:i.id,"builder-model":e.model,class:`variant-${((a=e.content)==null?void 0:a.testVariationId)||((l=e.content)==null?void 0:l.id)}`,onIniteditingbldr:c=>e.elementRef_onIniteditingbldr(c),onInitpreviewingbldr:c=>e.elementRef_onInitpreviewingbldr(c)},{...e.showContent?{}:{hidden:!0,"aria-hidden":!0},...e.contentWrapperProps}),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16,["onClick","builder-content-id","builder-model","class","onIniteditingbldr","onInitpreviewingbldr"])):vue.createCommentVNode("",!0)}const EnableEditor=_export_sfc(_sfc_main$4,[["render",_sfc_render$4]]),getCssFromFont=e=>{var s;const t=e.family+(e.kind&&!e.kind.includes("#")?", "+e.kind:""),n=t.split(",")[0],o=e.fileUrl??((s=e==null?void 0:e.files)==null?void 0:s.regular);let r="";if(o&&t&&n&&(r+=`
|
|
178
|
+
For more information, read https://github.com/BuilderIO/this-package-uses-fetch`),new Error("Builder SDK could not find a global `fetch` function");return e}const fetch$1=getFetch();function flatten(e,t=null,n="."){return Object.keys(e).reduce((o,r)=>{const s=e[r],i=[t,r].filter(Boolean).join(n);return[typeof s=="object",s!==null,!(Array.isArray(s)&&s.length===0)].every(Boolean)?{...o,...flatten(s,i,n)}:{...o,[i]:s}},{})}const DEFAULT_API_VERSION="v3",BUILDER_SEARCHPARAMS_PREFIX="builder.",BUILDER_OPTIONS_PREFIX="options.",getBuilderSearchParams=e=>{if(!e)return{};const t=normalizeSearchParams(e),n={};return Object.keys(t).forEach(o=>{if(o.startsWith(BUILDER_SEARCHPARAMS_PREFIX)){const r=o.replace(BUILDER_SEARCHPARAMS_PREFIX,"").replace(BUILDER_OPTIONS_PREFIX,"");n[r]=t[o]}}),n},getBuilderSearchParamsFromWindow=()=>{if(!isBrowser())return{};const e=new URLSearchParams(window.location.search);return getBuilderSearchParams(e)},isPositiveNumber=e=>typeof e=="number"&&!isNaN(e)&&e>=0,generateContentUrl=e=>{const{limit:t=30,userAttributes:n,query:o,model:r,apiKey:s,enrich:i,locale:a,apiVersion:l=DEFAULT_API_VERSION,fields:c,omit:p,offset:u,cacheSeconds:d,staleCacheSeconds:f,sort:m,includeUnpublished:g}=e;if(!s)throw new Error("Missing API key");if(!["v3"].includes(l))throw new Error(`Invalid apiVersion: expected 'v3', received '${l}'`);const y=t!==1,h=new URL(`https://cdn.builder.io/api/${l}/content/${r}`);if(h.searchParams.set("apiKey",s),h.searchParams.set("limit",String(t)),h.searchParams.set("noTraverse",String(y)),h.searchParams.set("includeRefs",String(!0)),a&&h.searchParams.set("locale",a),i&&h.searchParams.set("enrich",String(i)),h.searchParams.set("omit",p||"meta.componentsUsed"),c&&h.searchParams.set("fields",c),Number.isFinite(u)&&u>-1&&h.searchParams.set("offset",String(Math.floor(u))),typeof g=="boolean"&&h.searchParams.set("includeUnpublished",String(g)),d&&isPositiveNumber(d)&&h.searchParams.set("cacheSeconds",String(d)),f&&isPositiveNumber(f)&&h.searchParams.set("staleCacheSeconds",String(f)),m){const v=flatten({sort:m});for(const k in v)h.searchParams.set(k,JSON.stringify(v[k]))}const I={...getBuilderSearchParamsFromWindow(),...normalizeSearchParams(e.options||{})},C=flatten(I);for(const v in C)h.searchParams.set(v,String(C[v]));if(n&&h.searchParams.set("userAttributes",JSON.stringify(n)),o){const v=flatten({query:o});for(const k in v)h.searchParams.set(k,JSON.stringify(v[k]))}return h},checkContentHasResults=e=>"results"in e;async function fetchOneEntry(e){const t=await fetchEntries({...e,limit:1});return t&&t[0]||null}const _fetchContent=async e=>{const t=generateContentUrl(e);return await(await(e.fetch??fetch$1)(t.href,e.fetchOptions)).json()},_processContentResult=async(e,t,n=generateContentUrl(e))=>{const o=getDefaultCanTrack(e.canTrack);if(n.search.includes("preview="),!o||!(isBrowser()||TARGET==="reactNative"))return t.results;try{const r=[];for(const s of t.results)r.push(await handleABTesting({item:s,canTrack:o}));t.results=r}catch(r){logger.error("Could not process A/B tests. ",r)}return t.results};async function fetchEntries(e){try{const t=generateContentUrl(e),n=await _fetchContent(e);return checkContentHasResults(n)?_processContentResult(e,n):(logger.error("Error fetching data. ",{url:t,content:n,options:e}),null)}catch(t){return logger.error("Error fetching data. ",t),null}}function isPreviewing(e){if(!isBrowser())return!1;const t=getSearchString(e||window.location.search);return isEditing(t)?!1:t.indexOf("builder.preview=")!==-1}function uuidv4(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){const t=Math.random()*16|0;return(e=="x"?t:t&3|8).toString(16)})}function uuid(){return uuidv4().replace(/-/g,"")}const SESSION_LOCAL_STORAGE_KEY="builderSessionId",getSessionId=async({canTrack:e})=>{if(!e)return;const t=await getCookie({name:SESSION_LOCAL_STORAGE_KEY,canTrack:e});if(checkIsDefined(t))return t;{const n=createSessionId();return setSessionId({id:n,canTrack:e}),n}},createSessionId=()=>uuid(),setSessionId=({id:e,canTrack:t})=>setCookie({name:SESSION_LOCAL_STORAGE_KEY,value:e,canTrack:t}),getLocalStorage=()=>isBrowser()&&typeof localStorage<"u"?localStorage:void 0,getLocalStorageItem=({key:e,canTrack:t})=>{var n;try{return t?(n=getLocalStorage())==null?void 0:n.getItem(e):void 0}catch(o){console.debug("[LocalStorage] GET error: ",o);return}},setLocalStorageItem=({key:e,canTrack:t,value:n})=>{var o;try{t&&((o=getLocalStorage())==null||o.setItem(e,n))}catch(r){console.debug("[LocalStorage] SET error: ",r)}},VISITOR_LOCAL_STORAGE_KEY="builderVisitorId",getVisitorId=({canTrack:e})=>{if(!e)return;const t=getLocalStorageItem({key:VISITOR_LOCAL_STORAGE_KEY,canTrack:e});if(checkIsDefined(t))return t;{const n=createVisitorId();return setVisitorId({id:n,canTrack:e}),n}},createVisitorId=()=>uuid(),setVisitorId=({id:e,canTrack:t})=>setLocalStorageItem({key:VISITOR_LOCAL_STORAGE_KEY,value:e,canTrack:t}),getTrackingEventData=async({canTrack:e})=>{if(!e)return{visitorId:void 0,sessionId:void 0};const t=await getSessionId({canTrack:e}),n=getVisitorId({canTrack:e});return{sessionId:t,visitorId:n}},createEvent=async({type:e,canTrack:t,apiKey:n,metadata:o,...r})=>({type:e,data:{...r,metadata:{url:location.href,...o},...await getTrackingEventData({canTrack:t}),userAttributes:getUserAttributes(),ownerId:n}});async function _track(e){if(!e.apiKey){logger.error("Missing API key for track call. Please provide your API key.");return}if(e.canTrack&&!isEditing()&&(isBrowser()||TARGET==="reactNative"))return fetch("https://cdn.builder.io/api/v1/track",{method:"POST",body:JSON.stringify({events:[await createEvent(e)]}),headers:{"content-type":"application/json"},mode:"cors"}).catch(t=>{console.error("Failed to track: ",t)})}const track=e=>_track({...e,canTrack:!0});function round(e){return Math.round(e*1e3)/1e3}const findParentElement=(e,t,n=!0)=>{if(!(e instanceof HTMLElement))return null;let o=n?e:e.parentElement;do{if(!o)return null;if(t(o))return o}while(o=o.parentElement);return null},findBuilderParent=e=>findParentElement(e,t=>{const n=t.getAttribute("builder-id")||t.id;return(n==null?void 0:n.indexOf("builder-"))===0}),computeOffset=({event:e,target:t})=>{const n=t.getBoundingClientRect(),o=e.clientX-n.left,r=e.clientY-n.top,s=round(o/n.width),i=round(r/n.height);return{x:s,y:i}},getInteractionPropertiesForEvent=e=>{const t=e.target,n=t&&findBuilderParent(t),o=(n==null?void 0:n.getAttribute("builder-id"))||(n==null?void 0:n.id);return{targetBuilderElement:o||void 0,metadata:{targetOffset:t?computeOffset({event:e,target:t}):void 0,builderTargetOffset:n?computeOffset({event:e,target:n}):void 0,builderElementIndex:n&&o?[].slice.call(document.getElementsByClassName(o)).indexOf(n):void 0}}},DEFAULT_TRUSTED_HOSTS=["*.beta.builder.io","beta.builder.io","builder.io","localhost","qa.builder.io"];function isFromTrustedHost(e,t){const n=new URL(t.origin),o=n.hostname;return(e||DEFAULT_TRUSTED_HOSTS).findIndex(r=>r.startsWith("*.")?o.endsWith(r.slice(1)):r===o)>-1}const SDK_VERSION="1.0.21",registry={};function register(e,t){let n=registry[e];if(n||(n=registry[e]=[]),n.push(t),isBrowser()){const o={type:"builder.register",data:{type:e,info:t}};try{parent.postMessage(o,"*"),parent!==window&&window.postMessage(o,"*")}catch(r){console.debug("Could not postmessage",r)}}}const registerInsertMenu=()=>{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 isSetupForEditing=!1;const setupBrowserForEditing=(e={})=>{var t,n;isSetupForEditing||(isSetupForEditing=!0,isBrowser()&&((t=window.parent)==null||t.postMessage({type:"builder.sdkInfo",data:{target:TARGET,version:SDK_VERSION,supportsPatchUpdates:!1,supportsAddBlockScoping:!0,supportsCustomBreakpoints:!0}},"*"),(n=window.parent)==null||n.postMessage({type:"builder.updateContent",data:{options:e}},"*"),window.addEventListener("message",o=>{var s,i;if(!isFromTrustedHost(e.trustedHosts,o))return;const{data:r}=o;if(r!=null&&r.type)switch(r.type){case"builder.evaluate":{const a=r.data.text,l=r.data.arguments||[],c=r.data.id,p=new Function(a);let u,d=null;try{u=p.apply(null,l)}catch(f){d=f}d?(s=window.parent)==null||s.postMessage({type:"builder.evaluateError",data:{id:c,error:d.message}},"*"):u&&typeof u.then=="function"?u.then(f=>{var m;(m=window.parent)==null||m.postMessage({type:"builder.evaluateResult",data:{id:c,result:f}},"*")}).catch(console.error):(i=window.parent)==null||i.postMessage({type:"builder.evaluateResult",data:{result:u,id:c}},"*");break}}})))},createEditorListener=({model:e,trustedHosts:t,callbacks:n})=>o=>{if(!isFromTrustedHost(t,o))return;const{data:r}=o;if(r)switch(r.type){case"builder.configureSdk":{n.configureSdk(r.data);break}case"builder.triggerAnimation":{n.animation(r.data);break}case"builder.contentUpdate":{const s=r.data,i=s.key||s.alias||s.entry||s.modelName,a=s.data;i===e&&n.contentUpdate(a);break}}},subscribeToEditor=(e,t,n)=>{if(!isBrowser)return logger.warn("`subscribeToEditor` only works in the browser. It currently seems to be running on the server."),()=>{};setupBrowserForEditing();const o=createEditorListener({callbacks:{contentUpdate:t,animation:()=>{},configureSdk:()=>{}},model:e,trustedHosts:n==null?void 0:n.trustedHosts});return window.addEventListener("message",o),()=>{window.removeEventListener("message",o)}},_sfc_main$4=vue.defineComponent({name:"enable-editor",props:["builderContextSignal","canTrack","apiKey","locale","enrich","trustedHosts","model","content","data","contentWrapper","context","showContent","contentWrapperProps"],data(){return{ContentWrapper:this.contentWrapper||"div",httpReqsData:{},httpReqsPending:{},clicked:!1,builderContext:BuilderContext}},provide(){const e=this;return{[BuilderContext.key]:e.builderContextSignal}},mounted(){(()=>{var n,o;if(isBrowser()){if(isEditing()&&this.$refs.elementRef&&this.$refs.elementRef.dispatchEvent(new CustomEvent("initeditingbldr")),this.builderContextSignal.content&&getDefaultCanTrack(this.canTrack)){const s=(n=this.builderContextSignal.content)==null?void 0:n.testVariationId,i=(o=this.builderContextSignal.content)==null?void 0:o.id,a=this.apiKey;_track({type:"impression",canTrack:!0,contentId:i,apiKey:a,variationId:s!==i?s:void 0})}isPreviewing()&&this.$refs.elementRef&&this.$refs.elementRef.dispatchEvent(new CustomEvent("initpreviewingbldr"))}})(),(()=>{this.apiKey||logger.error("No API key provided to `RenderContent` component. This can cause issues. Please provide an API key using the `apiKey` prop."),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},onUpdateHook4:{handler(){this.data&&this.mergeNewRootState(this.data)},immediate:!0},onUpdateHook5:{handler(){this.locale&&this.mergeNewRootState({locale:this.locale})},immediate:!0}},unmounted(){isBrowser()&&(window.removeEventListener("message",this.processMessage),window.removeEventListener("builder:component:stateChangeListenerActivated",this.emitStateUpdate))},computed:{onUpdateHook0(){return{0:this.content}},onUpdateHook1(){var e,t;return{0:(t=(e=this.builderContextSignal.content)==null?void 0:e.data)==null?void 0:t.jsCode}},onUpdateHook2(){var e,t;return{0:(t=(e=this.builderContextSignal.content)==null?void 0:e.data)==null?void 0:t.httpRequests}},onUpdateHook3(){return{0:this.builderContextSignal.rootState}},onUpdateHook4(){return{0:this.data}},onUpdateHook5(){return{0:this.locale}}},methods:{mergeNewRootState(e){var n,o;const t={...this.builderContextSignal.rootState,...e};this.builderContextSignal.rootSetState?(o=(n=this.builderContextSignal).rootSetState)==null||o.call(n,t):this.builderContextSignal.rootState=t},mergeNewContent(e){var n,o,r,s,i;const t={...this.builderContextSignal.content,...e,data:{...(n=this.builderContextSignal.content)==null?void 0:n.data,...e==null?void 0:e.data},meta:{...(o=this.builderContextSignal.content)==null?void 0:o.meta,...e==null?void 0:e.meta,breakpoints:((r=e==null?void 0:e.meta)==null?void 0:r.breakpoints)||((i=(s=this.builderContextSignal.content)==null?void 0:s.meta)==null?void 0:i.breakpoints)}};this.builderContextSignal.content=t},processMessage(e){return createEditorListener({model:this.model,trustedHosts:this.trustedHosts,callbacks:{configureSdk:t=>{var r;const{breakpoints:n,contentId:o}=t;!o||o!==((r=this.builderContextSignal.content)==null?void 0:r.id)||n&&this.mergeNewContent({meta:{breakpoints:n}})},animation:t=>{triggerAnimation(t)},contentUpdate:t=>{this.mergeNewContent(t)}}})(e)},evaluateJsCode(){var t,n;const e=(n=(t=this.builderContextSignal.content)==null?void 0:t.data)==null?void 0:n.jsCode;e&&evaluate({code:e,context:this.context||{},localState:void 0,rootState:this.builderContextSignal.rootState,rootSetState:this.builderContextSignal.rootSetState,enableCache:!1})},onClick(e){var t,n;if(this.builderContextSignal.content){const o=(t=this.builderContextSignal.content)==null?void 0:t.testVariationId,r=(n=this.builderContextSignal.content)==null?void 0:n.id;_track({type:"click",canTrack:getDefaultCanTrack(this.canTrack),contentId:r,apiKey:this.apiKey,variationId:o!==r?o:void 0,...getInteractionPropertiesForEvent(e),unique:!this.clicked})}this.clicked||(this.clicked=!0)},runHttpRequests(){var t,n;const e=((n=(t=this.builderContextSignal.content)==null?void 0:t.data)==null?void 0:n.httpRequests)??{};Object.entries(e).forEach(([o,r])=>{if(!r||this.httpReqsPending[o]||this.httpReqsData[o]&&!isEditing())return;this.httpReqsPending[o]=!0;const s=r.replace(/{{([^}]+)}}/g,(i,a)=>String(evaluate({code:a,context:this.context||{},localState:void 0,rootState:this.builderContextSignal.rootState,rootSetState:this.builderContextSignal.rootSetState,enableCache:!0})));fetch$1(s).then(i=>i.json()).then(i=>{this.mergeNewRootState({[o]:i}),this.httpReqsData[o]=!0}).catch(i=>{console.error("error fetching dynamic data",r,i)}).finally(()=>{this.httpReqsPending[o]=!1})})},emitStateUpdate(){isEditing()&&window.dispatchEvent(new CustomEvent("builder:component:stateChange",{detail:{state:fastClone(this.builderContextSignal.rootState),ref:{name:this.model}}}))},elementRef_onIniteditingbldr(e){window.addEventListener("message",this.processMessage),registerInsertMenu(),setupBrowserForEditing({...this.locale?{locale:this.locale}:{},...this.enrich?{enrich:this.enrich}:{},...this.trustedHosts?{trustedHosts:this.trustedHosts}:{}}),Object.values(this.builderContextSignal.componentInfos).forEach(t=>{var o;const n=createRegisterComponentMessage(t);(o=window.parent)==null||o.postMessage(n,"*")}),window.addEventListener("builder:component:stateChangeListenerActivated",this.emitStateUpdate)},elementRef_onInitpreviewingbldr(e){const t=new URL(location.href).searchParams,n=t.get("builder.preview"),o=t.get(`builder.preview.${n}`),r=t.get("apiKey")||t.get("builder.space");n===this.model&&r===this.apiKey&&(!this.content||o===this.content.id)&&fetchOneEntry({model:this.model,apiKey:this.apiKey,apiVersion:this.builderContextSignal.apiVersion}).then(s=>{s&&this.mergeNewContent(s)})}}});function _sfc_render$4(e,t,n,o,r,s){var i,a,l;return e.builderContextSignal.content?(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(e.ContentWrapper),vue.mergeProps({key:0,ref:"elementRef",onClick:c=>e.onClick(c),"builder-content-id":(i=e.builderContextSignal.content)==null?void 0:i.id,"builder-model":e.model,class:`variant-${((a=e.content)==null?void 0:a.testVariationId)||((l=e.content)==null?void 0:l.id)}`,onIniteditingbldr:c=>e.elementRef_onIniteditingbldr(c),onInitpreviewingbldr:c=>e.elementRef_onInitpreviewingbldr(c)},{...e.showContent?{}:{hidden:!0,"aria-hidden":!0},...e.contentWrapperProps}),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16,["onClick","builder-content-id","builder-model","class","onIniteditingbldr","onInitpreviewingbldr"])):vue.createCommentVNode("",!0)}const EnableEditor=_export_sfc(_sfc_main$4,[["render",_sfc_render$4]]),getCssFromFont=e=>{var s;const t=e.family+(e.kind&&!e.kind.includes("#")?", "+e.kind:""),n=t.split(",")[0],o=e.fileUrl??((s=e==null?void 0:e.files)==null?void 0:s.regular);let r="";if(o&&t&&n&&(r+=`
|
|
172
179
|
@font-face {
|
|
173
180
|
font-family: "${t}";
|
|
174
181
|
src: local("${n}"), url('${o}') format('woff2');
|
|
@@ -304,8 +304,26 @@ if (typeof output === 'object' && output !== null) {
|
|
|
304
304
|
|
|
305
305
|
output;
|
|
306
306
|
`;
|
|
307
|
+
};
|
|
308
|
+
let IVM_INSTANCE = null;
|
|
309
|
+
const getIvm = () => {
|
|
310
|
+
try {
|
|
311
|
+
const e = safeDynamicRequire("isolated-vm");
|
|
312
|
+
if (e)
|
|
313
|
+
return e;
|
|
314
|
+
} catch (e) {
|
|
315
|
+
logger.error("isolated-vm import error.", e);
|
|
316
|
+
}
|
|
317
|
+
throw new Error(`${MSG_PREFIX}could not import \`isolated-vm\` module for safe script execution on Node server.
|
|
318
|
+
|
|
319
|
+
In certain Node environments, the SDK requires additional initialization steps. This can be achieved by
|
|
320
|
+
importing and calling \`initializeNodeRuntime()\` from "@builder.io/sdk-react/node/init". This must be done in
|
|
321
|
+
a server-only execution path within your application.
|
|
322
|
+
|
|
323
|
+
Please see the documentation for more information: https://builder.io/c/docs/integration-tips#enabling-data-bindings-in-node-environments
|
|
324
|
+
`);
|
|
307
325
|
}, getIsolateContext = () => {
|
|
308
|
-
const e =
|
|
326
|
+
const e = getIvm();
|
|
309
327
|
return new e.Isolate({
|
|
310
328
|
memoryLimit: 128
|
|
311
329
|
}).createContextSync();
|
|
@@ -318,7 +336,7 @@ output;
|
|
|
318
336
|
rootSetState: s,
|
|
319
337
|
rootState: i
|
|
320
338
|
}) => {
|
|
321
|
-
const a =
|
|
339
|
+
const a = getIvm(), l = fastClone({
|
|
322
340
|
...i,
|
|
323
341
|
...r
|
|
324
342
|
}), c = getFunctionArguments({
|
|
@@ -696,22 +714,22 @@ const getComponent = ({
|
|
|
696
714
|
},
|
|
697
715
|
block: o
|
|
698
716
|
}));
|
|
699
|
-
}, BlockStyles = () => import("./block-styles-
|
|
717
|
+
}, BlockStyles = () => import("./block-styles-rz8jpORX.js").then((e) => e.default).catch((e) => {
|
|
700
718
|
throw console.error(
|
|
701
719
|
"Error while attempting to dynamically import component BlockStyles at ./components/block-styles.vue",
|
|
702
720
|
e
|
|
703
721
|
), e;
|
|
704
|
-
}), BlockWrapper = () => import("./block-wrapper-
|
|
722
|
+
}), BlockWrapper = () => import("./block-wrapper--vej-Ae6.js").then((e) => e.default).catch((e) => {
|
|
705
723
|
throw console.error(
|
|
706
724
|
"Error while attempting to dynamically import component BlockWrapper at ./components/block-wrapper.vue",
|
|
707
725
|
e
|
|
708
726
|
), e;
|
|
709
|
-
}), ComponentRef = () => import("./component-ref-
|
|
727
|
+
}), ComponentRef = () => import("./component-ref-PGVczQrW.js").then((e) => e.default).catch((e) => {
|
|
710
728
|
throw console.error(
|
|
711
729
|
"Error while attempting to dynamically import component ComponentRef at ./components/component-ref/component-ref.vue",
|
|
712
730
|
e
|
|
713
731
|
), e;
|
|
714
|
-
}), RepeatedBlock = () => import("./repeated-block-
|
|
732
|
+
}), RepeatedBlock = () => import("./repeated-block-tjhtQDPA.js").then((e) => e.default).catch((e) => {
|
|
715
733
|
throw console.error(
|
|
716
734
|
"Error while attempting to dynamically import component RepeatedBlock at ./components/repeated-block.vue",
|
|
717
735
|
e
|
|
@@ -3431,7 +3449,7 @@ function isFromTrustedHost(e, t) {
|
|
|
3431
3449
|
const n = new URL(t.origin), o = n.hostname;
|
|
3432
3450
|
return (e || DEFAULT_TRUSTED_HOSTS).findIndex((r) => r.startsWith("*.") ? o.endsWith(r.slice(1)) : r === o) > -1;
|
|
3433
3451
|
}
|
|
3434
|
-
const SDK_VERSION = "1.0.
|
|
3452
|
+
const SDK_VERSION = "1.0.21", registry = {};
|
|
3435
3453
|
function register(e, t) {
|
|
3436
3454
|
let n = registry[e];
|
|
3437
3455
|
if (n || (n = registry[e] = []), n.push(t), isBrowser()) {
|
package/lib/node/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-XIqTnRyC.cjs");exports.Blocks=e.Blocks;exports.BuilderContext=e.BuilderContext;exports.Button=e.Button;exports.Columns=e.Columns;exports.Content=e.ContentVariants;exports.Fragment=e.Fragment;exports.Image=e.Image;exports.Section=e.Section;exports.Symbol=e.Symbol;exports.Text=e.Text;exports.Video=e.Video;exports._processContentResult=e._processContentResult;exports.createRegisterComponentMessage=e.createRegisterComponentMessage;exports.fetchBuilderProps=e.fetchBuilderProps;exports.fetchEntries=e.fetchEntries;exports.fetchOneEntry=e.fetchOneEntry;exports.getBuilderSearchParams=e.getBuilderSearchParams;exports.isEditing=e.isEditing;exports.isPreviewing=e.isPreviewing;exports.register=e.register;exports.setEditorSettings=e.setEditorSettings;exports.subscribeToEditor=e.subscribeToEditor;exports.track=e.track;
|
package/lib/node/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as a, j as t, k as r, C as o, o as i, F as n, I as c, S as g, l, m, V as u, z as d, r as C, y as p, A as B, D as E, u as S, p as f, q as h, s as x, t as b, x as k, v as y } from "./index-
|
|
1
|
+
import { n as a, j as t, k as r, C as o, o as i, F as n, I as c, S as g, l, m, V as u, z as d, r as C, y as p, A as B, D as E, u as S, p as f, q as h, s as x, t as b, x as k, v as y } from "./index-mnDtU0q8.js";
|
|
2
2
|
export {
|
|
3
3
|
a as Blocks,
|
|
4
4
|
t as BuilderContext,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("vue"),t=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("vue"),t=require("./index-XIqTnRyC.cjs"),r=()=>Promise.resolve().then(()=>require("./index-XIqTnRyC.cjs")).then(e=>e.block).then(e=>e.default).catch(e=>{throw console.error("Error while attempting to dynamically import component Block at ../block.vue",e),e}),c=o.defineComponent({name:"repeated-block",components:{Block:o.defineAsyncComponent(r)},props:["repeatContext","block","registeredComponents","linkComponent"],data(){return{store:this.repeatContext}},provide(){const e=this;return{[t.BuilderContext.key]:e.store}}});function s(e,i,p,a,m,d){const n=o.resolveComponent("block");return o.openBlock(),o.createBlock(n,{block:e.block,context:e.store,registeredComponents:e.registeredComponents,linkComponent:e.linkComponent},null,8,["block","context","registeredComponents","linkComponent"])}const l=t._export_sfc(c,[["render",s]]);exports.default=l;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as t, defineAsyncComponent as n, resolveComponent as r, openBlock as c, createBlock as p } from "vue";
|
|
2
|
-
import { j as s, e as l } from "./index-
|
|
3
|
-
const i = () => import("./index-
|
|
2
|
+
import { j as s, e as l } from "./index-mnDtU0q8.js";
|
|
3
|
+
const i = () => import("./index-mnDtU0q8.js").then((e) => e.G).then((e) => e.default).catch((e) => {
|
|
4
4
|
throw console.error(
|
|
5
5
|
"Error while attempting to dynamically import component Block at ../block.vue",
|
|
6
6
|
e
|