@builder.io/sdk-vue 1.0.4 → 1.0.6
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-ukxa2-Zu.cjs → block-styles-T5vCQuNZ.cjs} +1 -1
- package/lib/browser/{block-styles-j9np3P-r.js → block-styles-l1n9LOP3.js} +1 -1
- package/lib/browser/{block-wrapper-_qLR80a4.cjs → block-wrapper-1iQeE0Vh.cjs} +1 -1
- package/lib/browser/{block-wrapper-FxyYLXqG.js → block-wrapper-AnautAQY.js} +3 -3
- package/lib/browser/{component-ref-ef4o2sj2.cjs → component-ref-IYvN3d9s.cjs} +1 -1
- package/lib/browser/{component-ref-EbQVULbj.js → component-ref-RDMHJDH-.js} +2 -2
- package/lib/browser/constants/sdk-version.d.ts +1 -1
- package/lib/browser/functions/get-builder-search-params/index.d.ts +1 -4
- package/lib/browser/functions/is-editing.d.ts +2 -1
- package/lib/browser/functions/is-previewing.d.ts +2 -1
- package/lib/browser/{get-block-properties-Rh4X_YUt.js → get-block-properties-7dUtKLsz.js} +1 -1
- package/lib/browser/{get-block-properties-o2be_Wxk.cjs → get-block-properties-Eu8lMQZC.cjs} +1 -1
- package/lib/browser/helpers/search/search.d.ts +5 -0
- package/lib/browser/{index-e70TYoUr.cjs → index-d4LYRnwM.cjs} +22 -22
- package/lib/browser/{index-GygQh2Rk.js → index-zZaokacW.js} +416 -412
- package/lib/browser/index.cjs +1 -1
- package/lib/browser/index.d.cts +5 -2
- package/lib/browser/index.d.mts +5 -2
- package/lib/browser/index.js +1 -1
- package/lib/browser/{repeated-block-RuvksQ92.cjs → repeated-block-9AUw_5dN.cjs} +1 -1
- package/lib/browser/{repeated-block-EjD4PExV.js → repeated-block-b6-zxC9q.js} +2 -2
- package/lib/edge/{block-styles--O0l0Z9P.cjs → block-styles-EryVnVT2.cjs} +1 -1
- package/lib/{node/block-styles-r9wURB-0.js → edge/block-styles-kfRV8Nfe.js} +1 -1
- package/lib/{node/block-wrapper-B_V9SIlS.cjs → edge/block-wrapper-CZA5mJGL.cjs} +1 -1
- package/lib/edge/{block-wrapper-gb29rdP4.js → block-wrapper-Yc91mn-c.js} +3 -3
- package/lib/{node/component-ref-YacFSt-X.js → edge/component-ref-0Icv1DAo.js} +2 -2
- package/lib/{node/component-ref-ap55YBte.cjs → edge/component-ref-i9944Zps.cjs} +1 -1
- package/lib/edge/constants/sdk-version.d.ts +1 -1
- package/lib/edge/functions/get-builder-search-params/index.d.ts +1 -4
- package/lib/edge/functions/is-editing.d.ts +2 -1
- package/lib/edge/functions/is-previewing.d.ts +2 -1
- package/lib/{node/get-block-properties-qrTxzWJ0.js → edge/get-block-properties-3NfhpZAv.js} +1 -1
- package/lib/edge/{get-block-properties-0gL7ciO6.cjs → get-block-properties-79cWdk2l.cjs} +1 -1
- package/lib/edge/helpers/search/search.d.ts +5 -0
- package/lib/edge/{index-0_TXnqeC.cjs → index-Vawma8OH.cjs} +30 -30
- package/lib/edge/{index-d-VaM23f.js → index-bHy_c22G.js} +548 -544
- package/lib/edge/index.cjs +1 -1
- package/lib/edge/index.d.cts +5 -2
- package/lib/edge/index.d.mts +5 -2
- package/lib/edge/index.js +1 -1
- package/lib/edge/{repeated-block-tJccBEG3.cjs → repeated-block-IKmC4gcU.cjs} +1 -1
- package/lib/{node/repeated-block-QEaWmQ3H.js → edge/repeated-block-OZzE5RYv.js} +2 -2
- package/lib/node/{block-styles-5A29R26b.cjs → block-styles-gg6UCzQZ.cjs} +1 -1
- package/lib/{edge/block-styles-j3USwD3t.js → node/block-styles-iIXlBuOj.js} +1 -1
- package/lib/node/{block-wrapper-_4dHa6F_.js → block-wrapper-2EdxXIso.js} +3 -3
- package/lib/{edge/block-wrapper-M9NUhWGH.cjs → node/block-wrapper-LzsSTT7w.cjs} +1 -1
- package/lib/{edge/component-ref-3csDQ7HK.cjs → node/component-ref-QyoB6z9j.cjs} +1 -1
- package/lib/{edge/component-ref-3ett8l8W.js → node/component-ref-_Tts7Ixk.js} +2 -2
- package/lib/node/constants/sdk-version.d.ts +1 -1
- package/lib/node/functions/get-builder-search-params/index.d.ts +1 -4
- package/lib/node/functions/is-editing.d.ts +2 -1
- package/lib/node/functions/is-previewing.d.ts +2 -1
- package/lib/{edge/get-block-properties-Ulj_6ST2.js → node/get-block-properties-9PvYdu6g.js} +1 -1
- package/lib/node/{get-block-properties-YuIrE2ch.cjs → get-block-properties-SoO0VRdP.cjs} +1 -1
- package/lib/node/helpers/search/search.d.ts +5 -0
- package/lib/node/{index-zohROqUT.cjs → index-2NS4ZmVm.cjs} +3 -3
- package/lib/node/{index-r1pyGeuy.js → index-8ZIeZjSs.js} +20 -16
- package/lib/node/index.cjs +1 -1
- package/lib/node/index.d.cts +5 -2
- package/lib/node/index.d.mts +5 -2
- package/lib/node/index.js +1 -1
- package/lib/node/{repeated-block-pNU308ur.cjs → repeated-block-e41uch83.cjs} +1 -1
- package/lib/{edge/repeated-block-nv-GpmWU.js → node/repeated-block-wVFWgrHC.js} +2 -2
- package/package.json +1 -1
package/lib/edge/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-Vawma8OH.cjs");exports.Blocks=e.Blocks;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/edge/index.d.cts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
export * from './index-helpers/top-of-file.js';
|
|
2
|
+
/**
|
|
3
|
+
* In the React SDK, this file is marked with `use client`.
|
|
4
|
+
*/
|
|
2
5
|
export * from './index-helpers/blocks-exports.js';
|
|
3
6
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
7
|
+
* In the React SDK, this file is not marked with `use client`, to allow
|
|
8
|
+
* NextJS App Directory to use the SDK helper functions without issues.
|
|
6
9
|
*/
|
|
7
10
|
export * from './server-index.js';
|
package/lib/edge/index.d.mts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
export * from './index-helpers/top-of-file.js';
|
|
2
|
+
/**
|
|
3
|
+
* In the React SDK, this file is marked with `use client`.
|
|
4
|
+
*/
|
|
2
5
|
export * from './index-helpers/blocks-exports.js';
|
|
3
6
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
7
|
+
* In the React SDK, this file is not marked with `use client`, to allow
|
|
8
|
+
* NextJS App Directory to use the SDK helper functions without issues.
|
|
6
9
|
*/
|
|
7
10
|
export * from './server-index.js';
|
package/lib/edge/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as a, k as t, C as r, o, F as i, I as n, S as c, l as g, m, V as l, z as u, r as d, y as p, A as C, D as E, u as S, p as f, q as h, s as B, t as b, x as k, v as x } from "./index-
|
|
1
|
+
import { n as a, k as t, C as r, o, F as i, I as n, S as c, l as g, m, V as l, z as u, r as d, y as p, A as C, D as E, u as S, p as f, q as h, s as B, t as b, x as k, v as x } from "./index-bHy_c22G.js";
|
|
2
2
|
export {
|
|
3
3
|
a as Blocks,
|
|
4
4
|
t as Button,
|
|
@@ -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-Vawma8OH.cjs"),r=()=>Promise.resolve().then(()=>require("./index-Vawma8OH.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-bHy_c22G.js";
|
|
3
|
+
const i = () => import("./index-bHy_c22G.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
|
|
@@ -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-2NS4ZmVm.cjs"),h=o.defineComponent({name:"block-styles",components:{InlinedStyles:t._sfc_main},props:["block","context"],data(){return{TARGET:t.TARGET}},computed:{canShowBlock(){const e=t.getProcessedBlock({block:this.block,localState:this.context.localState,rootState:this.context.rootState,rootSetState:this.context.rootSetState,context:this.context.context,shouldEvaluateBindings:!0});return t.checkIsDefined(e.hide)?!e.hide:t.checkIsDefined(e.show)?e.show:!0},css(){var d;const e=t.getProcessedBlock({block:this.block,localState:this.context.localState,rootState:this.context.rootState,rootSetState:this.context.rootSetState,context:this.context.context,shouldEvaluateBindings:!0}),s=e.responsiveStyles,n=this.context.content,r=t.getSizesForBreakpoints(((d=n==null?void 0:n.meta)==null?void 0:d.breakpoints)||{}),a=s==null?void 0:s.large,i=s==null?void 0:s.medium,c=s==null?void 0:s.small,l=e.id;if(!l)return"";const u=a?t.createCssClass({className:l,styles:a}):"",S=i?t.createCssClass({className:l,styles:i,mediaQuery:t.getMaxWidthQueryForSize("medium",r)}):"",m=c?t.createCssClass({className:l,styles:c,mediaQuery:t.getMaxWidthQueryForSize("small",r)}):"";return[u,S,m].join(" ")}}});function k(e,s,n,r,a,i){const c=o.resolveComponent("inlined-styles");return e.TARGET!=="reactNative"&&e.css&&e.canShowBlock?(o.openBlock(),o.createBlock(c,{key:0,styles:e.css},null,8,["styles"])):o.createCommentVNode("",!0)}const p=t._export_sfc(h,[["render",k]]);exports.default=p;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as k, resolveComponent as y, openBlock as x, createBlock as f, createCommentVNode as B } from "vue";
|
|
2
|
-
import { _, T as b, g as d, c as m, a as g, b as r, d as S, e as C } from "./index-
|
|
2
|
+
import { _, T as b, g as d, c as m, a as g, b as r, d as S, e as C } from "./index-8ZIeZjSs.js";
|
|
3
3
|
const v = k({
|
|
4
4
|
name: "block-styles",
|
|
5
5
|
components: { InlinedStyles: _ },
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineComponent as o, defineAsyncComponent as r, resolveComponent as n, openBlock as a, createBlock as c, withCtx as i, renderSlot as p } from "vue";
|
|
2
|
-
import { g as s, a as l } from "./get-block-properties-
|
|
3
|
-
import { e as m } from "./index-
|
|
4
|
-
const d = () => import("./index-
|
|
2
|
+
import { g as s, a as l } from "./get-block-properties-9PvYdu6g.js";
|
|
3
|
+
import { e as m } from "./index-8ZIeZjSs.js";
|
|
4
|
+
const d = () => import("./index-8ZIeZjSs.js").then((e) => e.E).then((e) => e.default).catch((e) => {
|
|
5
5
|
throw console.error(
|
|
6
6
|
"Error while attempting to dynamically import component DynamicRenderer at ../../dynamic-renderer/dynamic-renderer.vue",
|
|
7
7
|
e
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),o=require("./get-block-properties-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),o=require("./get-block-properties-SoO0VRdP.cjs"),n=require("./index-2NS4ZmVm.cjs"),c=()=>Promise.resolve().then(()=>require("./index-2NS4ZmVm.cjs")).then(e=>e.dynamicRenderer).then(e=>e.default).catch(e=>{throw console.error("Error while attempting to dynamically import component DynamicRenderer at ../../dynamic-renderer/dynamic-renderer.vue",e),e}),a=t.defineComponent({name:"block-wrapper",components:{DynamicRenderer:t.defineAsyncComponent(c)},props:["Wrapper","block","context"],data(){return{getBlockActions:o.getBlockActions,getBlockProperties:o.getBlockProperties}}});function i(e,l,p,d,m,u){const r=t.resolveComponent("dynamic-renderer");return t.openBlock(),t.createBlock(r,{TagName:e.Wrapper,attributes:e.getBlockProperties({block:e.block,context:e.context}),actionAttributes:e.getBlockActions({block:e.block,rootState:e.context.rootState,rootSetState:e.context.rootSetState,localState:e.context.localState,context:e.context.context,stripPrefix:!0})},{default:t.withCtx(()=>[t.renderSlot(e.$slots,"default")]),_:3},8,["TagName","attributes","actionAttributes"])}const s=n._export_sfc(a,[["render",i]]);exports.default=s;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("vue"),p=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("vue"),p=require("./index-2NS4ZmVm.cjs"),a=require("./get-block-properties-SoO0VRdP.cjs"),u=o.defineComponent({name:"interactive-element",props:["wrapperProps","includeBlockProps","block","context","Wrapper"],data(){return{getBlockActions:a.getBlockActions,getBlockProperties:a.getBlockProperties}}});function d(e,t,c,l,n,s){return o.openBlock(),o.createBlock(o.resolveDynamicComponent(e.Wrapper),o.mergeProps({attributes:e.includeBlockProps?{...e.getBlockProperties({block:e.block,context:e.context}),...e.getBlockActions({block:e.block,rootState:e.context.rootState,rootSetState:e.context.rootSetState,localState:e.context.localState,context:e.context.context})}:{}},e.wrapperProps),{default:o.withCtx(()=>[o.renderSlot(e.$slots,"default")]),_:3},16,["attributes"])}const k=p._export_sfc(u,[["render",d]]),B=({componentOptions:e,builderBlock:t,context:c,componentRef:l,includeBlockProps:n,isInteractive:s,contextValue:i})=>{const r={...e,...n?{attributes:a.getBlockProperties({block:t,context:i})}:{}};return s?{Wrapper:l,block:t,context:c,wrapperProps:e,includeBlockProps:n}:r},f=o.defineComponent({name:"component-ref",components:{Block:p.Block,InteractiveElement:k},props:["isInteractive","componentRef","componentOptions","builderBlock","context","linkComponent","includeBlockProps","blockChildren","registeredComponents"],data(){return{Wrapper:this.isInteractive?p.wrapComponentRef(k):this.componentRef,getWrapperProps:B}}});function b(e,t,c,l,n,s){const i=o.resolveComponent("block");return e.componentRef?(o.openBlock(),o.createBlock(o.resolveDynamicComponent(e.Wrapper),o.normalizeProps(o.mergeProps({key:0},e.getWrapperProps({componentOptions:e.componentOptions,builderBlock:e.builderBlock,context:e.context,componentRef:e.componentRef,linkComponent:e.linkComponent,includeBlockProps:e.includeBlockProps,isInteractive:e.isInteractive,contextValue:e.context}))),{default:o.withCtx(()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(e.blockChildren,(r,m)=>(o.openBlock(),o.createBlock(i,{key:r.id,block:r,context:e.context,registeredComponents:e.registeredComponents,linkComponent:e.linkComponent},null,8,["block","context","registeredComponents","linkComponent"]))),128))]),_:1},16)):o.createCommentVNode("",!0)}const C=p._export_sfc(f,[["render",b]]);exports.default=C;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as m, openBlock as r, createBlock as l, resolveDynamicComponent as k, mergeProps as d, withCtx as u, renderSlot as P, resolveComponent as B, normalizeProps as g, createElementBlock as $, Fragment as v, renderList as S, createCommentVNode as W } from "vue";
|
|
2
|
-
import { e as f, B as h, w } from "./index-
|
|
3
|
-
import { g as R, a as b } from "./get-block-properties-
|
|
2
|
+
import { e as f, B as h, w } from "./index-8ZIeZjSs.js";
|
|
3
|
+
import { g as R, a as b } from "./get-block-properties-9PvYdu6g.js";
|
|
4
4
|
const I = m({
|
|
5
5
|
name: "interactive-element",
|
|
6
6
|
props: ["wrapperProps", "includeBlockProps", "block", "context", "Wrapper"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const SDK_VERSION = "1.0.
|
|
1
|
+
export declare const SDK_VERSION = "1.0.6";
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
type QueryObject
|
|
2
|
-
export declare const convertSearchParamsToQueryObject: (searchParams: URLSearchParams) => QueryObject;
|
|
1
|
+
import type { QueryObject } from '../../helpers/search/search.js';
|
|
3
2
|
/**
|
|
4
3
|
* Receives a `URLSearchParams` object or a regular query object, and returns the subset of query params that are
|
|
5
4
|
* relevant to the Builder SDK.
|
|
@@ -8,5 +7,3 @@ export declare const convertSearchParamsToQueryObject: (searchParams: URLSearchP
|
|
|
8
7
|
*/
|
|
9
8
|
export declare const getBuilderSearchParams: (_options: QueryObject | URLSearchParams | undefined) => QueryObject;
|
|
10
9
|
export declare const getBuilderSearchParamsFromWindow: () => QueryObject;
|
|
11
|
-
export declare const normalizeSearchParams: (searchParams: QueryObject | URLSearchParams) => QueryObject;
|
|
12
|
-
export {};
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { type Search } from '../helpers/search/search.js';
|
|
2
|
+
export declare function isEditing(search?: Search): boolean;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import type { Search } from '../helpers/search/search.js';
|
|
2
|
+
export declare function isPreviewing(search?: Search): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const s=require("./index-
|
|
1
|
+
"use strict";const s=require("./index-2NS4ZmVm.cjs"),c=e=>`v-on:${e.toLowerCase()}`,i=(e,t)=>r=>s.evaluate({code:e,context:t.context,localState:t.localState,rootState:t.rootState,rootSetState:t.rootSetState,event:r,isExpression:!1});function l(e){const t={},r=e.block.actions??{};for(const o in r){if(!r.hasOwnProperty(o))continue;const a=r[o];let n=c(o);if(e.stripPrefix)switch(s.TARGET){case"vue":n=n.replace("v-on:","");break;case"svelte":n=n.replace("on:","");break}t[n]=i(a,e)}return t}function u({properties:e}){return e}const f=e=>({href:e.href});function p({block:e,context:t}){var o;const r={...f(e),...e.properties,"builder-id":e.id,style:s.getStyle({block:e,context:t}),[s.getClassPropName()]:[e.id,"builder-block",e.class,(o=e.properties)==null?void 0:o.class].filter(Boolean).join(" ")};return u({properties:r,context:t,block:e})}exports.getBlockActions=l;exports.getBlockProperties=p;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export type QueryObject = Record<string, string | string[]>;
|
|
2
|
+
export declare const convertSearchParamsToQueryObject: (searchParams: URLSearchParams) => QueryObject;
|
|
3
|
+
export declare const normalizeSearchParams: (searchParams: QueryObject | URLSearchParams) => QueryObject;
|
|
4
|
+
export type Search = URLSearchParams | string | QueryObject;
|
|
5
|
+
export declare const getSearchString: (search: Search) => string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";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:["attributes","actionAttributes","TagName"],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"}function isIframe(){return isBrowser()&&window.self!==window.top}function isEditing(){return isIframe()&&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"?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";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:["attributes","actionAttributes","TagName"],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"?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-2NS4ZmVm.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;
|
|
@@ -45,7 +45,7 @@ output;
|
|
|
45
45
|
${o}
|
|
46
46
|
}`: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}}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 u=Date.now();!a&&n.leading===!1&&(a=u);const p=t-(u-a);return o=this,r=arguments,p<=0||p>t?(i&&(clearTimeout(i),i=null),a=u,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 c=p.getBoundingClientRect(),d=window.innerHeight,m=(e.thresholdPercent||0)/100*d;return c.bottom>m&&c.top<d-m}const l=e.steps[0].styles;function u(){assign(n.style,l)}u(),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 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
47
|
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});if(!Array.isArray(r))return;const s=n.collection.split(".").pop(),i=n.itemName||(s?s+"Item":"item");return r.map((l,u)=>({context:{...t,localState:{...t.localState,$index:u,$item:l,[i]:l,[`$${i}Index`]:u}},block:o}))},BlockStyles=()=>Promise.resolve().then(()=>require("./block-styles-5A29R26b.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-B_V9SIlS.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-ap55YBte.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-pNU308ur.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"],data(){return{childrenContext:this.context}},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,u;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.childrenContext,linkComponent:this.linkComponent,registeredComponents:this.registeredComponents,builderBlock:this.processedBlock,includeBlockProps:((l=this.blockComponent)==null?void 0:l.noWrap)===!0,isInteractive:!((u=this.blockComponent)!=null&&u.isRSC)}}}});function _sfc_render$l(e,t,n,o,r,s){var c;const i=vue.resolveComponent("block-styles"),a=vue.resolveComponent("component-ref"),l=vue.resolveComponent("block",!0),u=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"]),(c=e.blockComponent)!=null&&c.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(u,{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,context:e.childrenContext,registeredComponents:e.registeredComponents,linkComponent:e.linkComponent},null,8,["block","context","registeredComponents","linkComponent"]))),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:["BlocksWrapper","blocks","parent","path","styleProp","BlocksWrapperProps"],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-6fabd81c"]]),_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,u;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,BlocksWrapperProps:(u=e.context)==null?void 0:u.BlocksWrapperProps},{default:vue.withCtx(()=>[e.blocks?(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,{key:0},vue.renderList(e.blocks,(p,c)=>(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",{id:this.id,innerHTML:this.styles})},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`
|
|
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});if(!Array.isArray(r))return;const s=n.collection.split(".").pop(),i=n.itemName||(s?s+"Item":"item");return r.map((l,u)=>({context:{...t,localState:{...t.localState,$index:u,$item:l,[i]:l,[`$${i}Index`]:u}},block:o}))},BlockStyles=()=>Promise.resolve().then(()=>require("./block-styles-gg6UCzQZ.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-LzsSTT7w.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-QyoB6z9j.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-e41uch83.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"],data(){return{childrenContext:this.context}},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,u;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.childrenContext,linkComponent:this.linkComponent,registeredComponents:this.registeredComponents,builderBlock:this.processedBlock,includeBlockProps:((l=this.blockComponent)==null?void 0:l.noWrap)===!0,isInteractive:!((u=this.blockComponent)!=null&&u.isRSC)}}}});function _sfc_render$l(e,t,n,o,r,s){var c;const i=vue.resolveComponent("block-styles"),a=vue.resolveComponent("component-ref"),l=vue.resolveComponent("block",!0),u=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"]),(c=e.blockComponent)!=null&&c.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(u,{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,context:e.childrenContext,registeredComponents:e.registeredComponents,linkComponent:e.linkComponent},null,8,["block","context","registeredComponents","linkComponent"]))),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:["BlocksWrapper","blocks","parent","path","styleProp","BlocksWrapperProps"],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-6fabd81c"]]),_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,u;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,BlocksWrapperProps:(u=e.context)==null?void 0:u.BlocksWrapperProps},{default:vue.withCtx(()=>[e.blocks?(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,{key:0},vue.renderList(e.blocks,(p,c)=>(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",{id:this.id,innerHTML:this.styles})},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
49
|
@media (max-width: ${this.getWidthForBreakpointSize("medium")}px) {
|
|
50
50
|
.${this.builderBlock.id}-breakpoints {
|
|
51
51
|
flex-direction: var(--flex-dir-tablet);
|
|
@@ -169,7 +169,7 @@ output;
|
|
|
169
169
|
)`,getUpdateVariantVisibilityScript=({contentId:e,variationId:t})=>`window.${UPDATE_VARIANT_VISIBILITY_SCRIPT_FN_NAME}(
|
|
170
170
|
"${t}", "${e}", ${isHydrationTarget}
|
|
171
171
|
)`,_sfc_main$5=vue.defineComponent({render(){return vue.h("script",{id:this.id,innerHTML:this.scriptStr})},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.
|
|
172
|
-
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.",convertSearchParamsToQueryObject=e=>{const t={};return e.forEach((n,o)=>{t[o]=n}),t},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)},normalizeSearchParams=e=>e instanceof URLSearchParams?convertSearchParamsToQueryObject(e):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:u,omit:p,offset:c,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 v=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(v)),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"),u&&h.searchParams.set("fields",u),Number.isFinite(c)&&c>-1&&h.searchParams.set("offset",String(Math.floor(c))),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 b=flatten({sort:m});for(const y in b)h.searchParams.set(y,JSON.stringify(b[y]))}const S={...getBuilderSearchParamsFromWindow(),...normalizeSearchParams(e.options||{})},k=flatten(S);for(const b in k)h.searchParams.set(b,String(k[b]));if(n&&h.searchParams.set("userAttributes",JSON.stringify(n)),o){const b=flatten({query:o});for(const y in b)h.searchParams.set(y,JSON.stringify(b[y]))}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 fetch$1(t.href)).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(){return!isBrowser()||isEditing()?!1:location.search.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.4",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||[],u=r.data.id,p=new Function(a);let c,d=null;try{c=p.apply(null,l)}catch(f){d=f}d?(s=window.parent)==null||s.postMessage({type:"builder.evaluateError",data:{id:u,error:d.message}},"*"):c&&typeof c.then=="function"?c.then(f=>{var m;(m=window.parent)==null||m.postMessage({type:"builder.evaluateResult",data:{id:u,result:f}},"*")}).catch(console.error):(i=window.parent)==null||i.postMessage({type:"builder.evaluateResult",data:{result:c,id:u}},"*");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","contentWrapper","model","trustedHosts","context","canTrack","apiKey","locale","enrich","content","showContent","contentWrapperProps","data"],data(){return{forceReRenderCount:0,firstRender:!0,lastUpdated:0,shouldSendResetCookie:!1,ContentWrapper:this.contentWrapper||"div",httpReqsData:{},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(){},immediate:!0},onUpdateHook2:{handler(){this.evaluateJsCode()},immediate:!0},onUpdateHook3:{handler(){this.runHttpRequests()},immediate:!0},onUpdateHook4:{handler(){this.emitStateUpdate()},immediate:!0},onUpdateHook5:{handler(){this.data&&this.mergeNewRootState(this.data)},immediate:!0},onUpdateHook6:{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(){return{0:this.shouldSendResetCookie}},onUpdateHook2(){var e,t;return{0:(t=(e=this.builderContextSignal.content)==null?void 0:e.data)==null?void 0:t.jsCode}},onUpdateHook3(){var e,t;return{0:(t=(e=this.builderContextSignal.content)==null?void 0:e.data)==null?void 0:t.httpRequests}},onUpdateHook4(){return{0:this.builderContextSignal.rootState}},onUpdateHook5(){return{0:this.data}},onUpdateHook6(){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}}),this.forceReRenderCount=this.forceReRenderCount+1)},animation:t=>{triggerAnimation(t)},contentUpdate:t=>{this.mergeNewContent(t),this.forceReRenderCount=this.forceReRenderCount+1}}})(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})},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)},evalExpression(e){return e.replace(/{{([^}]+)}}/g,(t,n)=>evaluate({code:n,context:this.context||{},localState:void 0,rootState:this.builderContextSignal.rootState,rootSetState:this.builderContextSignal.rootSetState}))},handleRequest({url:e,key:t}){fetch$1(e).then(n=>n.json()).then(n=>{var r,s;const o={...this.builderContextSignal.rootState,[t]:n};(s=(r=this.builderContextSignal).rootSetState)==null||s.call(r,o),this.httpReqsData[t]=!0}).catch(n=>{console.error("error fetching dynamic data",e,n)})},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.httpReqsData[o]||isEditing())){const s=this.evalExpression(r);this.handleRequest({url:s,key:o})}})},emitStateUpdate(){isEditing()&&window.dispatchEvent(new CustomEvent("builder:component:stateChange",{detail:{state:fastClone(this.builderContextSignal.rootState),ref:{name:this.model}}}))},elementRef_onIniteditingbldr(e){this.forceReRenderCount=this.forceReRenderCount+1,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:e.forceReRenderCount,ref:"elementRef",onClick:u=>e.onClick(u),"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:u=>e.elementRef_onIniteditingbldr(u),onInitpreviewingbldr:u=>e.elementRef_onInitpreviewingbldr(u)},{...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
|
+
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:u,omit:p,offset:c,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 v=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(v)),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"),u&&h.searchParams.set("fields",u),Number.isFinite(c)&&c>-1&&h.searchParams.set("offset",String(Math.floor(c))),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 b=flatten({sort:m});for(const y in b)h.searchParams.set(y,JSON.stringify(b[y]))}const S={...getBuilderSearchParamsFromWindow(),...normalizeSearchParams(e.options||{})},k=flatten(S);for(const b in k)h.searchParams.set(b,String(k[b]));if(n&&h.searchParams.set("userAttributes",JSON.stringify(n)),o){const b=flatten({query:o});for(const y in b)h.searchParams.set(y,JSON.stringify(b[y]))}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 fetch$1(t.href)).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.6",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||[],u=r.data.id,p=new Function(a);let c,d=null;try{c=p.apply(null,l)}catch(f){d=f}d?(s=window.parent)==null||s.postMessage({type:"builder.evaluateError",data:{id:u,error:d.message}},"*"):c&&typeof c.then=="function"?c.then(f=>{var m;(m=window.parent)==null||m.postMessage({type:"builder.evaluateResult",data:{id:u,result:f}},"*")}).catch(console.error):(i=window.parent)==null||i.postMessage({type:"builder.evaluateResult",data:{result:c,id:u}},"*");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","contentWrapper","model","trustedHosts","context","canTrack","apiKey","locale","enrich","content","showContent","contentWrapperProps","data"],data(){return{forceReRenderCount:0,firstRender:!0,lastUpdated:0,shouldSendResetCookie:!1,ContentWrapper:this.contentWrapper||"div",httpReqsData:{},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(){},immediate:!0},onUpdateHook2:{handler(){this.evaluateJsCode()},immediate:!0},onUpdateHook3:{handler(){this.runHttpRequests()},immediate:!0},onUpdateHook4:{handler(){this.emitStateUpdate()},immediate:!0},onUpdateHook5:{handler(){this.data&&this.mergeNewRootState(this.data)},immediate:!0},onUpdateHook6:{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(){return{0:this.shouldSendResetCookie}},onUpdateHook2(){var e,t;return{0:(t=(e=this.builderContextSignal.content)==null?void 0:e.data)==null?void 0:t.jsCode}},onUpdateHook3(){var e,t;return{0:(t=(e=this.builderContextSignal.content)==null?void 0:e.data)==null?void 0:t.httpRequests}},onUpdateHook4(){return{0:this.builderContextSignal.rootState}},onUpdateHook5(){return{0:this.data}},onUpdateHook6(){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}}),this.forceReRenderCount=this.forceReRenderCount+1)},animation:t=>{triggerAnimation(t)},contentUpdate:t=>{this.mergeNewContent(t),this.forceReRenderCount=this.forceReRenderCount+1}}})(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})},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)},evalExpression(e){return e.replace(/{{([^}]+)}}/g,(t,n)=>evaluate({code:n,context:this.context||{},localState:void 0,rootState:this.builderContextSignal.rootState,rootSetState:this.builderContextSignal.rootSetState}))},handleRequest({url:e,key:t}){fetch$1(e).then(n=>n.json()).then(n=>{var r,s;const o={...this.builderContextSignal.rootState,[t]:n};(s=(r=this.builderContextSignal).rootSetState)==null||s.call(r,o),this.httpReqsData[t]=!0}).catch(n=>{console.error("error fetching dynamic data",e,n)})},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.httpReqsData[o]||isEditing())){const s=this.evalExpression(r);this.handleRequest({url:s,key:o})}})},emitStateUpdate(){isEditing()&&window.dispatchEvent(new CustomEvent("builder:component:stateChange",{detail:{state:fastClone(this.builderContextSignal.rootState),ref:{name:this.model}}}))},elementRef_onIniteditingbldr(e){this.forceReRenderCount=this.forceReRenderCount+1,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:e.forceReRenderCount,ref:"elementRef",onClick:u=>e.onClick(u),"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:u=>e.elementRef_onIniteditingbldr(u),onInitpreviewingbldr:u=>e.elementRef_onInitpreviewingbldr(u)},{...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+=`
|
|
173
173
|
@font-face {
|
|
174
174
|
font-family: "${t}";
|
|
175
175
|
src: local("${n}"), url('${o}') format('woff2');
|
|
@@ -130,11 +130,17 @@ const MSG_PREFIX = "[Builder.io]: ", logger = {
|
|
|
130
130
|
function isBrowser() {
|
|
131
131
|
return typeof window < "u" && typeof document < "u";
|
|
132
132
|
}
|
|
133
|
+
const convertSearchParamsToQueryObject = (e) => {
|
|
134
|
+
const t = {};
|
|
135
|
+
return e.forEach((n, o) => {
|
|
136
|
+
t[o] = n;
|
|
137
|
+
}), t;
|
|
138
|
+
}, normalizeSearchParams = (e) => e instanceof URLSearchParams ? convertSearchParamsToQueryObject(e) : e, getSearchString = (e) => typeof e == "string" ? e : e instanceof URLSearchParams ? e.toString() : new URLSearchParams(e).toString();
|
|
133
139
|
function isIframe() {
|
|
134
140
|
return isBrowser() && window.self !== window.top;
|
|
135
141
|
}
|
|
136
|
-
function isEditing() {
|
|
137
|
-
return isIframe() && window.location.search.indexOf("builder.frameEditing=") !== -1;
|
|
142
|
+
function isEditing(e) {
|
|
143
|
+
return isIframe() && getSearchString(e || window.location.search).indexOf("builder.frameEditing=") !== -1;
|
|
138
144
|
}
|
|
139
145
|
const getLocation = () => {
|
|
140
146
|
if (isBrowser()) {
|
|
@@ -655,22 +661,22 @@ const getComponent = ({
|
|
|
655
661
|
},
|
|
656
662
|
block: o
|
|
657
663
|
}));
|
|
658
|
-
}, BlockStyles = () => import("./block-styles-
|
|
664
|
+
}, BlockStyles = () => import("./block-styles-iIXlBuOj.js").then((e) => e.default).catch((e) => {
|
|
659
665
|
throw console.error(
|
|
660
666
|
"Error while attempting to dynamically import component BlockStyles at ./components/block-styles.vue",
|
|
661
667
|
e
|
|
662
668
|
), e;
|
|
663
|
-
}), BlockWrapper = () => import("./block-wrapper-
|
|
669
|
+
}), BlockWrapper = () => import("./block-wrapper-2EdxXIso.js").then((e) => e.default).catch((e) => {
|
|
664
670
|
throw console.error(
|
|
665
671
|
"Error while attempting to dynamically import component BlockWrapper at ./components/block-wrapper.vue",
|
|
666
672
|
e
|
|
667
673
|
), e;
|
|
668
|
-
}), ComponentRef = () => import("./component-ref-
|
|
674
|
+
}), ComponentRef = () => import("./component-ref-_Tts7Ixk.js").then((e) => e.default).catch((e) => {
|
|
669
675
|
throw console.error(
|
|
670
676
|
"Error while attempting to dynamically import component ComponentRef at ./components/component-ref/component-ref.vue",
|
|
671
677
|
e
|
|
672
678
|
), e;
|
|
673
|
-
}), RepeatedBlock = () => import("./repeated-block-
|
|
679
|
+
}), RepeatedBlock = () => import("./repeated-block-wVFWgrHC.js").then((e) => e.default).catch((e) => {
|
|
674
680
|
throw console.error(
|
|
675
681
|
"Error while attempting to dynamically import component RepeatedBlock at ./components/repeated-block.vue",
|
|
676
682
|
e
|
|
@@ -3094,12 +3100,7 @@ function flatten(e, t = null, n = ".") {
|
|
|
3094
3100
|
};
|
|
3095
3101
|
}, {});
|
|
3096
3102
|
}
|
|
3097
|
-
const DEFAULT_API_VERSION = "v3", BUILDER_SEARCHPARAMS_PREFIX = "builder.", BUILDER_OPTIONS_PREFIX = "options.",
|
|
3098
|
-
const t = {};
|
|
3099
|
-
return e.forEach((n, o) => {
|
|
3100
|
-
t[o] = n;
|
|
3101
|
-
}), t;
|
|
3102
|
-
}, getBuilderSearchParams = (e) => {
|
|
3103
|
+
const DEFAULT_API_VERSION = "v3", BUILDER_SEARCHPARAMS_PREFIX = "builder.", BUILDER_OPTIONS_PREFIX = "options.", getBuilderSearchParams = (e) => {
|
|
3103
3104
|
if (!e)
|
|
3104
3105
|
return {};
|
|
3105
3106
|
const t = normalizeSearchParams(e), n = {};
|
|
@@ -3114,7 +3115,7 @@ const DEFAULT_API_VERSION = "v3", BUILDER_SEARCHPARAMS_PREFIX = "builder.", BUIL
|
|
|
3114
3115
|
return {};
|
|
3115
3116
|
const e = new URLSearchParams(window.location.search);
|
|
3116
3117
|
return getBuilderSearchParams(e);
|
|
3117
|
-
},
|
|
3118
|
+
}, isPositiveNumber = (e) => typeof e == "number" && !isNaN(e) && e >= 0, generateContentUrl = (e) => {
|
|
3118
3119
|
const {
|
|
3119
3120
|
limit: t = 30,
|
|
3120
3121
|
userAttributes: n,
|
|
@@ -3198,8 +3199,11 @@ async function fetchEntries(e) {
|
|
|
3198
3199
|
return logger.error("Error fetching data. ", t), null;
|
|
3199
3200
|
}
|
|
3200
3201
|
}
|
|
3201
|
-
function isPreviewing() {
|
|
3202
|
-
|
|
3202
|
+
function isPreviewing(e) {
|
|
3203
|
+
if (!isBrowser())
|
|
3204
|
+
return !1;
|
|
3205
|
+
const t = getSearchString(e || window.location.search);
|
|
3206
|
+
return isEditing(t) ? !1 : t.indexOf("builder.preview=") !== -1;
|
|
3203
3207
|
}
|
|
3204
3208
|
function uuidv4() {
|
|
3205
3209
|
return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(e) {
|
|
@@ -3390,7 +3394,7 @@ function isFromTrustedHost(e, t) {
|
|
|
3390
3394
|
const n = new URL(t.origin), o = n.hostname;
|
|
3391
3395
|
return (e || DEFAULT_TRUSTED_HOSTS).findIndex((r) => r.startsWith("*.") ? o.endsWith(r.slice(1)) : r === o) > -1;
|
|
3392
3396
|
}
|
|
3393
|
-
const SDK_VERSION = "1.0.
|
|
3397
|
+
const SDK_VERSION = "1.0.6", registry = {};
|
|
3394
3398
|
function register(e, t) {
|
|
3395
3399
|
let n = registry[e];
|
|
3396
3400
|
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-2NS4ZmVm.cjs");exports.Blocks=e.Blocks;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.d.cts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
export * from './index-helpers/top-of-file.js';
|
|
2
|
+
/**
|
|
3
|
+
* In the React SDK, this file is marked with `use client`.
|
|
4
|
+
*/
|
|
2
5
|
export * from './index-helpers/blocks-exports.js';
|
|
3
6
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
7
|
+
* In the React SDK, this file is not marked with `use client`, to allow
|
|
8
|
+
* NextJS App Directory to use the SDK helper functions without issues.
|
|
6
9
|
*/
|
|
7
10
|
export * from './server-index.js';
|
package/lib/node/index.d.mts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
export * from './index-helpers/top-of-file.js';
|
|
2
|
+
/**
|
|
3
|
+
* In the React SDK, this file is marked with `use client`.
|
|
4
|
+
*/
|
|
2
5
|
export * from './index-helpers/blocks-exports.js';
|
|
3
6
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
7
|
+
* In the React SDK, this file is not marked with `use client`, to allow
|
|
8
|
+
* NextJS App Directory to use the SDK helper functions without issues.
|
|
6
9
|
*/
|
|
7
10
|
export * from './server-index.js';
|
package/lib/node/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as a, k as t, C as r, o, F as i, I as n, S as c, l as g, m, V as l, z as u, r as d, y as p, A as C, D as E, u as S, p as f, q as h, s as B, t as b, x as k, v as x } from "./index-
|
|
1
|
+
import { n as a, k as t, C as r, o, F as i, I as n, S as c, l as g, m, V as l, z as u, r as d, y as p, A as C, D as E, u as S, p as f, q as h, s as B, t as b, x as k, v as x } from "./index-8ZIeZjSs.js";
|
|
2
2
|
export {
|
|
3
3
|
a as Blocks,
|
|
4
4
|
t as Button,
|
|
@@ -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-2NS4ZmVm.cjs"),r=()=>Promise.resolve().then(()=>require("./index-2NS4ZmVm.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-8ZIeZjSs.js";
|
|
3
|
+
const i = () => import("./index-8ZIeZjSs.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
|