@builder.io/sdk-vue 0.12.2 → 0.12.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/lib/browser/block-styles.02ba52b2.cjs +1 -0
  2. package/lib/{edge/block-styles.a1440ad7.js → browser/block-styles.53c7f508.js} +5 -5
  3. package/lib/browser/block-wrapper.9fa9b402.cjs +1 -0
  4. package/lib/{edge/block-wrapper.efc7d98a.js → browser/block-wrapper.eee0672a.js} +4 -4
  5. package/lib/browser/blocks/button/button.types.d.ts +2 -1
  6. package/lib/browser/blocks/button/button.vue.d.ts +4 -0
  7. package/lib/browser/blocks/columns/columns.types.d.ts +3 -3
  8. package/lib/browser/blocks/columns/columns.vue.d.ts +9 -3
  9. package/lib/browser/blocks/symbol/symbol.types.d.ts +2 -2
  10. package/lib/browser/blocks/symbol/symbol.vue.d.ts +3 -0
  11. package/lib/browser/{component-ref.a9dd871c.js → component-ref.413e00a0.js} +26 -24
  12. package/lib/browser/component-ref.7152f073.cjs +1 -0
  13. package/lib/browser/components/block/block.vue.d.ts +8 -3
  14. package/lib/browser/components/block/components/block-styles.vue.d.ts +3 -3
  15. package/lib/browser/components/block/components/block-wrapper.vue.d.ts +3 -3
  16. package/lib/browser/components/block/components/component-ref/component-ref.helpers.d.ts +2 -2
  17. package/lib/browser/components/block/components/component-ref/component-ref.vue.d.ts +4 -2
  18. package/lib/browser/components/block/components/interactive-element.vue.d.ts +3 -3
  19. package/lib/browser/components/block/components/repeated-block.vue.d.ts +3 -0
  20. package/lib/browser/components/blocks/blocks.types.d.ts +1 -0
  21. package/lib/browser/components/blocks/blocks.vue.d.ts +3 -0
  22. package/lib/browser/components/content/content.vue.d.ts +3 -0
  23. package/lib/browser/components/content-variants/content-variants.types.d.ts +6 -2
  24. package/lib/browser/components/content-variants/content-variants.vue.d.ts +3 -0
  25. package/lib/browser/constants/sdk-version.d.ts +1 -1
  26. package/lib/browser/functions/get-block-properties.d.ts +1 -2
  27. package/lib/browser/functions/get-class-prop-name.d.ts +1 -0
  28. package/lib/browser/functions/get-style.d.ts +12 -0
  29. package/lib/browser/functions/transform-block-properties.d.ts +2 -2
  30. package/lib/browser/functions/transform-style-property.d.ts +7 -0
  31. package/lib/browser/get-block-properties.977a77b8.js +65 -0
  32. package/lib/browser/get-block-properties.af78bde3.cjs +1 -0
  33. package/lib/browser/helpers/omit.d.ts +1 -0
  34. package/lib/browser/index-helpers/blocks-exports.d.ts +6 -0
  35. package/lib/browser/{index.b532efb7.js → index.125c730f.js} +786 -638
  36. package/lib/browser/index.50f38496.cjs +165 -0
  37. package/lib/browser/index.cjs +1 -1
  38. package/lib/browser/index.js +8 -8
  39. package/lib/browser/repeated-block.0c50662b.cjs +1 -0
  40. package/lib/browser/repeated-block.bc26d02d.js +35 -0
  41. package/lib/browser/style.css +1 -1
  42. package/lib/browser/types/builder-block.d.ts +1 -0
  43. package/lib/browser/types/builder-props.d.ts +3 -0
  44. package/lib/edge/block-styles.a5af3df2.cjs +1 -0
  45. package/lib/{browser/block-styles.eada5366.js → edge/block-styles.fee0d2aa.js} +11 -13
  46. package/lib/{browser/block-wrapper.9b2bed3c.js → edge/block-wrapper.637d7df2.js} +5 -7
  47. package/lib/edge/block-wrapper.6bdfca76.cjs +1 -0
  48. package/lib/edge/blocks/button/button.types.d.ts +2 -1
  49. package/lib/edge/blocks/button/button.vue.d.ts +4 -0
  50. package/lib/edge/blocks/columns/columns.types.d.ts +3 -3
  51. package/lib/edge/blocks/columns/columns.vue.d.ts +9 -3
  52. package/lib/edge/blocks/symbol/symbol.types.d.ts +2 -2
  53. package/lib/edge/blocks/symbol/symbol.vue.d.ts +3 -0
  54. package/lib/edge/component-ref.369810a4.cjs +1 -0
  55. package/lib/edge/{component-ref.bcafb710.js → component-ref.41811af5.js} +26 -24
  56. package/lib/edge/components/block/block.vue.d.ts +8 -3
  57. package/lib/edge/components/block/components/block-styles.vue.d.ts +3 -3
  58. package/lib/edge/components/block/components/block-wrapper.vue.d.ts +3 -3
  59. package/lib/edge/components/block/components/component-ref/component-ref.helpers.d.ts +2 -2
  60. package/lib/edge/components/block/components/component-ref/component-ref.vue.d.ts +4 -2
  61. package/lib/edge/components/block/components/interactive-element.vue.d.ts +3 -3
  62. package/lib/edge/components/block/components/repeated-block.vue.d.ts +3 -0
  63. package/lib/edge/components/blocks/blocks.types.d.ts +1 -0
  64. package/lib/edge/components/blocks/blocks.vue.d.ts +3 -0
  65. package/lib/edge/components/content/content.vue.d.ts +3 -0
  66. package/lib/edge/components/content-variants/content-variants.types.d.ts +6 -2
  67. package/lib/edge/components/content-variants/content-variants.vue.d.ts +3 -0
  68. package/lib/edge/constants/sdk-version.d.ts +1 -1
  69. package/lib/edge/functions/get-block-properties.d.ts +1 -2
  70. package/lib/edge/functions/get-class-prop-name.d.ts +1 -0
  71. package/lib/edge/functions/get-style.d.ts +12 -0
  72. package/lib/edge/functions/transform-block-properties.d.ts +2 -2
  73. package/lib/edge/functions/transform-style-property.d.ts +7 -0
  74. package/lib/edge/get-block-properties.8c9ec377.cjs +1 -0
  75. package/lib/edge/get-block-properties.d9e1b7db.js +64 -0
  76. package/lib/edge/helpers/omit.d.ts +1 -0
  77. package/lib/edge/index-helpers/blocks-exports.d.ts +6 -0
  78. package/lib/edge/{index.ffc9a7bc.js → index.0e671c32.js} +1545 -1397
  79. package/lib/edge/index.202adcba.cjs +185 -0
  80. package/lib/edge/index.cjs +1 -1
  81. package/lib/edge/index.js +8 -8
  82. package/lib/edge/repeated-block.05059f8a.cjs +1 -0
  83. package/lib/edge/{repeated-block.090029ef.js → repeated-block.f8d5be9a.js} +11 -10
  84. package/lib/edge/style.css +1 -1
  85. package/lib/edge/types/builder-block.d.ts +1 -0
  86. package/lib/edge/types/builder-props.d.ts +3 -0
  87. package/lib/node/{block-styles.136d6f08.js → block-styles.bb5f14b0.js} +11 -12
  88. package/lib/node/block-styles.c9083d49.cjs +1 -0
  89. package/lib/node/{block-wrapper.18e00652.js → block-wrapper.7aa2ef9c.js} +5 -6
  90. package/lib/node/block-wrapper.7d82a700.cjs +1 -0
  91. package/lib/node/blocks/button/button.types.d.ts +2 -1
  92. package/lib/node/blocks/button/button.vue.d.ts +4 -0
  93. package/lib/node/blocks/columns/columns.types.d.ts +3 -3
  94. package/lib/node/blocks/columns/columns.vue.d.ts +9 -3
  95. package/lib/node/blocks/symbol/symbol.types.d.ts +2 -2
  96. package/lib/node/blocks/symbol/symbol.vue.d.ts +3 -0
  97. package/lib/node/{component-ref.c1216d72.js → component-ref.32bc874a.js} +26 -24
  98. package/lib/node/component-ref.3748ed2f.cjs +1 -0
  99. package/lib/node/components/block/block.vue.d.ts +8 -3
  100. package/lib/node/components/block/components/block-styles.vue.d.ts +3 -3
  101. package/lib/node/components/block/components/block-wrapper.vue.d.ts +3 -3
  102. package/lib/node/components/block/components/component-ref/component-ref.helpers.d.ts +2 -2
  103. package/lib/node/components/block/components/component-ref/component-ref.vue.d.ts +4 -2
  104. package/lib/node/components/block/components/interactive-element.vue.d.ts +3 -3
  105. package/lib/node/components/block/components/repeated-block.vue.d.ts +3 -0
  106. package/lib/node/components/blocks/blocks.types.d.ts +1 -0
  107. package/lib/node/components/blocks/blocks.vue.d.ts +3 -0
  108. package/lib/node/components/content/content.vue.d.ts +3 -0
  109. package/lib/node/components/content-variants/content-variants.types.d.ts +6 -2
  110. package/lib/node/components/content-variants/content-variants.vue.d.ts +3 -0
  111. package/lib/node/constants/sdk-version.d.ts +1 -1
  112. package/lib/node/functions/get-block-properties.d.ts +1 -2
  113. package/lib/node/functions/get-class-prop-name.d.ts +1 -0
  114. package/lib/node/functions/get-style.d.ts +12 -0
  115. package/lib/node/functions/transform-block-properties.d.ts +2 -2
  116. package/lib/node/functions/transform-style-property.d.ts +7 -0
  117. package/lib/node/get-block-properties.4076202f.cjs +1 -0
  118. package/lib/node/get-block-properties.4e3171b7.js +64 -0
  119. package/lib/node/helpers/omit.d.ts +1 -0
  120. package/lib/node/index-helpers/blocks-exports.d.ts +6 -0
  121. package/lib/node/{index.36c2b72c.js → index.0d7a2ca2.js} +333 -184
  122. package/lib/node/index.a0856b34.cjs +205 -0
  123. package/lib/node/index.cjs +1 -1
  124. package/lib/node/index.js +8 -8
  125. package/lib/node/repeated-block.05cbf677.js +35 -0
  126. package/lib/node/repeated-block.d07e6280.cjs +1 -0
  127. package/lib/node/style.css +1 -1
  128. package/lib/node/types/builder-block.d.ts +1 -0
  129. package/lib/node/types/builder-props.d.ts +3 -0
  130. package/package.json +1 -1
  131. package/lib/browser/block-styles.76e01443.cjs +0 -1
  132. package/lib/browser/block-wrapper.24b79ff8.cjs +0 -1
  133. package/lib/browser/component-ref.00682bcb.cjs +0 -1
  134. package/lib/browser/css.58041866.js +0 -22
  135. package/lib/browser/css.93429f3b.cjs +0 -6
  136. package/lib/browser/dynamic-renderer.587b2b22.cjs +0 -1
  137. package/lib/browser/dynamic-renderer.807ec99c.js +0 -29
  138. package/lib/browser/get-block-actions.3853c568.cjs +0 -1
  139. package/lib/browser/get-block-actions.7be7f916.js +0 -76
  140. package/lib/browser/index.8583dad3.cjs +0 -156
  141. package/lib/browser/repeated-block.569f57e3.cjs +0 -1
  142. package/lib/browser/repeated-block.b3746f1a.js +0 -34
  143. package/lib/edge/block-styles.f491edc2.cjs +0 -1
  144. package/lib/edge/block-wrapper.555f21dd.cjs +0 -1
  145. package/lib/edge/component-ref.100a10a4.cjs +0 -1
  146. package/lib/edge/css.0b928f4c.js +0 -21
  147. package/lib/edge/css.d6d697ec.cjs +0 -6
  148. package/lib/edge/dynamic-renderer.1a8c0430.js +0 -28
  149. package/lib/edge/dynamic-renderer.b95a1057.cjs +0 -1
  150. package/lib/edge/get-block-actions.34ceb0fb.cjs +0 -1
  151. package/lib/edge/get-block-actions.6f8ccd3c.js +0 -75
  152. package/lib/edge/index.332c4c68.cjs +0 -176
  153. package/lib/edge/repeated-block.cefa0bf6.cjs +0 -1
  154. package/lib/node/block-styles.589566b1.cjs +0 -1
  155. package/lib/node/block-wrapper.831b0d92.cjs +0 -1
  156. package/lib/node/component-ref.c4fd0511.cjs +0 -1
  157. package/lib/node/css.1037a3f7.cjs +0 -6
  158. package/lib/node/css.dd54b8f6.js +0 -21
  159. package/lib/node/dynamic-renderer.92a2f84d.cjs +0 -1
  160. package/lib/node/dynamic-renderer.d189611e.js +0 -29
  161. package/lib/node/get-block-actions.64593134.js +0 -75
  162. package/lib/node/get-block-actions.a79e1825.cjs +0 -1
  163. package/lib/node/index.c18f2b9a.cjs +0 -196
  164. package/lib/node/repeated-block.4e2006fc.cjs +0 -1
  165. package/lib/node/repeated-block.98cf3e1d.js +0 -34
@@ -1,21 +0,0 @@
1
- import { c as o } from "./index.36c2b72c.js";
2
- const c = (s) => s.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase(), n = (s) => Object.entries(s).map(([r, e]) => {
3
- if (typeof e == "string")
4
- return `${c(r)}: ${e};`;
5
- }).filter(o), a = (s) => n(s).join(`
6
- `), i = ({
7
- mediaQuery: s,
8
- className: t,
9
- styles: r
10
- }) => {
11
- const e = `.${t} {
12
- ${a(r)}
13
- }`;
14
- return s ? `${s} {
15
- ${e}
16
- }` : e;
17
- };
18
- export {
19
- n as a,
20
- i as c
21
- };
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),t=require("./index.c18f2b9a.cjs");require("node:module");const n=new Set(["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"]),o=r=>typeof r=="string"&&n.has(r.toLowerCase()),a=e.defineComponent({name:"dynamic-renderer",props:["attributes","actionAttributes","TagName"],data(){return{isEmptyElement:o}}});function s(r,l,u,m,d,c){return r.isEmptyElement(r.TagName)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.TagName),e.mergeProps({key:1},r.attributes,e.toHandlers(r.actionAttributes)),null,16)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[typeof r.TagName=="string"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.TagName),e.mergeProps({key:0},r.attributes,e.toHandlers(r.actionAttributes)),{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},16)):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.TagName),e.mergeProps({key:1},r.attributes,e.toHandlers(r.actionAttributes)),{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},16))],64))}const i=t._export_sfc(a,[["render",s],["__file","/home/runner/work/builder/builder/packages/sdks/output/vue/src/components/dynamic-renderer/dynamic-renderer.vue"]]);exports.default=i;
@@ -1,29 +0,0 @@
1
- import { defineComponent as m, openBlock as t, createElementBlock as u, Fragment as d, createBlock as r, resolveDynamicComponent as a, mergeProps as n, toHandlers as o, withCtx as s, renderSlot as i } from "vue";
2
- import { _ as p } from "./index.36c2b72c.js";
3
- import "node:module";
4
- const l = /* @__PURE__ */ new Set(["area", "base", "br", "col", "embed", "hr", "img", "input", "keygen", "link", "meta", "param", "source", "track", "wbr"]), c = (e) => typeof e == "string" && l.has(e.toLowerCase()), f = m({
5
- name: "dynamic-renderer",
6
- props: ["attributes", "actionAttributes", "TagName"],
7
- data() {
8
- return { isEmptyElement: c };
9
- }
10
- });
11
- function b(e, y, k, g, E, T) {
12
- return e.isEmptyElement(e.TagName) ? (t(), r(a(e.TagName), n({ key: 1 }, e.attributes, o(e.actionAttributes)), null, 16)) : (t(), u(d, { key: 0 }, [
13
- typeof e.TagName == "string" ? (t(), r(a(e.TagName), n({ key: 0 }, e.attributes, o(e.actionAttributes)), {
14
- default: s(() => [
15
- i(e.$slots, "default")
16
- ]),
17
- _: 3
18
- }, 16)) : (t(), r(a(e.TagName), n({ key: 1 }, e.attributes, o(e.actionAttributes)), {
19
- default: s(() => [
20
- i(e.$slots, "default")
21
- ]),
22
- _: 3
23
- }, 16))
24
- ], 64));
25
- }
26
- const w = /* @__PURE__ */ p(f, [["render", b], ["__file", "/home/runner/work/builder/builder/packages/sdks/output/vue/src/components/dynamic-renderer/dynamic-renderer.vue"]]);
27
- export {
28
- w as default
29
- };
@@ -1,75 +0,0 @@
1
- import { T as n, e as i } from "./index.36c2b72c.js";
2
- import { a as l } from "./css.dd54b8f6.js";
3
- function u({
4
- properties: e
5
- }) {
6
- return e;
7
- }
8
- const f = (e) => ({
9
- href: e.href
10
- });
11
- function y({
12
- block: e,
13
- context: t
14
- }) {
15
- var a;
16
- const r = {
17
- ...f(e),
18
- ...e.properties,
19
- "builder-id": e.id,
20
- style: e.style ? v(e.style) : void 0,
21
- class: [e.id, "builder-block", e.class, (a = e.properties) == null ? void 0 : a.class].filter(Boolean).join(" ")
22
- };
23
- return u({
24
- properties: r,
25
- context: t,
26
- block: e
27
- });
28
- }
29
- function v(e) {
30
- switch (n) {
31
- case "svelte":
32
- case "vue":
33
- case "solid":
34
- return l(e).join(" ");
35
- case "qwik":
36
- case "reactNative":
37
- case "react":
38
- case "rsc":
39
- return e;
40
- }
41
- }
42
- const p = (e) => `v-on:${e.toLowerCase()}`, S = (e, t) => (r) => i({
43
- code: e,
44
- context: t.context,
45
- localState: t.localState,
46
- rootState: t.rootState,
47
- rootSetState: t.rootSetState,
48
- event: r,
49
- isExpression: !1
50
- });
51
- function x(e) {
52
- var a;
53
- const t = {}, r = (a = e.block.actions) != null ? a : {};
54
- for (const s in r) {
55
- if (!r.hasOwnProperty(s))
56
- continue;
57
- const c = r[s];
58
- let o = p(s);
59
- if (e.stripPrefix)
60
- switch (n) {
61
- case "vue":
62
- o = o.replace("v-on:", "");
63
- break;
64
- case "svelte":
65
- o = o.replace("on:", "");
66
- break;
67
- }
68
- t[o] = S(c, e);
69
- }
70
- return t;
71
- }
72
- export {
73
- y as a,
74
- x as g
75
- };
@@ -1 +0,0 @@
1
- "use strict";const a=require("./index.c18f2b9a.cjs"),i=require("./css.1037a3f7.cjs");function l({properties:e}){return e}const u=e=>({href:e.href});function f({block:e,context:t}){var s;const r={...u(e),...e.properties,"builder-id":e.id,style:e.style?v(e.style):void 0,class:[e.id,"builder-block",e.class,(s=e.properties)==null?void 0:s.class].filter(Boolean).join(" ")};return l({properties:r,context:t,block:e})}function v(e){switch(a.TARGET){case"svelte":case"vue":case"solid":return i.convertStyleMapToCSSArray(e).join(" ");case"qwik":case"reactNative":case"react":case"rsc":return e}}const d=e=>`v-on:${e.toLowerCase()}`,p=(e,t)=>r=>a.evaluate({code:e,context:t.context,localState:t.localState,rootState:t.rootState,rootSetState:t.rootSetState,event:r,isExpression:!1});function S(e){var s;const t={},r=(s=e.block.actions)!=null?s:{};for(const o in r){if(!r.hasOwnProperty(o))continue;const n=r[o];let c=d(o);if(e.stripPrefix)switch(a.TARGET){case"vue":c=c.replace("v-on:","");break;case"svelte":c=c.replace("on:","");break}t[c]=p(n,e)}return t}exports.getBlockActions=S;exports.getBlockProperties=f;
@@ -1,196 +0,0 @@
1
- "use strict";const vue=require("vue"),node_module=require("node:module");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$k=vue.defineComponent({name:"builder-button",props:["attributes","text","link","openLinkInNewTab"],data(){return{filterAttrs}}}),button_vue_vue_type_style_index_0_scoped_becdf225_lang="",_export_sfc=(e,t)=>{const n=e.__vccOpts||e;for(const[o,r]of t)n[o]=r;return n},_hoisted_1$6=["href","target"];function _sfc_render$i(e,t,n,o,r,s){return e.link?(vue.openBlock(),vue.createElementBlock("a",vue.mergeProps({key:0,href:e.link,target:e.openLinkInNewTab?"_blank":void 0,role:"button"},e.filterAttrs(e.attributes,"v-on:",!1),vue.toHandlers(e.filterAttrs(e.attributes,"v-on:",!0),!0)),vue.toDisplayString(e.text),17,_hoisted_1$6)):(vue.openBlock(),vue.createElementBlock("button",vue.mergeProps({key:1,style:e.attributes.style,class:e.attributes.class+" button-21azgz5avex"},e.filterAttrs(e.attributes,"v-on:",!1),vue.toHandlers(e.filterAttrs(e.attributes,"v-on:",!0),!0)),vue.toDisplayString(e.text),17))}const Button=_export_sfc(_sfc_main$k,[["render",_sfc_render$i],["__scopeId","data-v-becdf225"],["__file","/home/runner/work/builder/builder/packages/sdks/output/vue/src/blocks/button/button.vue"]]),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 TARGET="vue",checkIsDefined=e=>e!=null,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()&&(TARGET==="reactNative"||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(i,r,s)});return new Function(...a.map(([c])=>c),e)(...a.map(([,c])=>c))};function flattenState(e,t,n){if(e===t)throw new Error("rootState === localState");return new Proxy(e,{get:(o,r)=>t&&r in t?t[r]:e[r],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 e[r]=s,n==null||n(e),!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"?new(require("url")).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("index.c18f2b9a.cjs",document.baseURI).href)}catch(error){try{safeDynamicRequire=eval("require")}catch(e){}}const ivm=safeDynamicRequire("isolated-vm"),getSyncValName=e=>`bldr_${e}_sync`,BUILDER_SET_STATE_NAME="BUILDER_SET_STATE",INJECTED_IVM_GLOBAL="BUILDER_IVM",REF_TO_PROXY_FN=`
2
- var refToProxy = (obj) => {
3
- if (typeof obj !== 'object' || obj === null) {
4
- return obj;
5
- }
6
- return new Proxy({}, {
7
- get(target, key) {
8
- if (key === 'copySync') {
9
- return () => obj.copySync();
10
- }
11
- const val = obj.getSync(key);
12
- if (typeof val?.getSync === 'function') {
13
- return refToProxy(val);
14
- }
15
- return val;
16
- },
17
- set(target, key, value) {
18
- const v = typeof value === 'object' ? new ${INJECTED_IVM_GLOBAL}.Reference(value) : value;
19
- obj.setSync(key, v);
20
- ${BUILDER_SET_STATE_NAME}(key, value)
21
- },
22
- deleteProperty(target, key) {
23
- obj.deleteSync(key);
24
- }
25
- })
26
- }
27
- `,processCode=({code:e,args:t})=>{const n=t.map(([o])=>`var ${o} = refToProxy(${getSyncValName(o)}); `).join("");return`
28
- ${REF_TO_PROXY_FN}
29
- ${n}
30
- function theFunction() {
31
- ${e}
32
- }
33
-
34
- let output = theFunction()
35
-
36
- if (typeof output === 'object' && output !== null) {
37
- output = JSON.stringify(output.copySync ? output.copySync() : output);
38
- }
39
-
40
- output;
41
- `},getIsolateContext=()=>new ivm.Isolate({memoryLimit:128}).createContextSync(),runInNode=({code:e,builder:t,context:n,event:o,localState:r,rootSetState:s,rootState:i})=>{const a=fastClone({...i,...r}),c=getFunctionArguments({builder:t,context:n,event:o,state:a}),l=getIsolateContext(),u=l.global;u.setSync("global",u.derefInto()),u.setSync("log",function(...m){console.log(...m)}),u.setSync(BUILDER_SET_STATE_NAME,function(m,f){set(i,m,f),s==null||s(i)}),c.forEach(([m,f])=>{const g=typeof f=="object"?new ivm.Reference(m==="builder"?{...f,getUserAttributes:()=>f.getUserAttributes()}:f):null;u.setSync(getSyncValName(m),g)}),u.setSync(INJECTED_IVM_GLOBAL,ivm);const d=processCode({code:e,args:c}),p=l.evalSync(d);try{return JSON.parse(p)}catch{return p}},chooseBrowserOrServerEval=e=>isBrowser()?runInBrowser(e):runInNode(e);function evaluate({code:e,context:t,localState:n,rootState:o,rootSetState:r,event:s,isExpression:i=!0}){if(e===""){logger.warn("Skipping evaluation of empty code block.");return}const a={code:parseCode(e,{isExpression:i}),builder:getBuilderGlobals(),context:t,event:s,rootSetState:r,rootState:o,localState:n};try{return chooseBrowserOrServerEval(a)}catch(c){logger.error("Failed code evaluation: "+c.message,{code:e});return}}function transformBlock(e){return e}const evaluateBindings=({block:e,context:t,localState:n,rootState:o,rootSetState:r})=>{if(!e.bindings)return e;const s=fastClone(e),i={...s,properties:{...s.properties},actions:{...s.actions}};for(const a in e.bindings){const c=e.bindings[a],l=evaluate({code:c,localState:n,rootState:o,rootSetState:r,context:t});set(i,a,l)}return i};function getProcessedBlock({block:e,context:t,shouldEvaluateBindings:n,localState:o,rootState:r,rootSetState:s}){const i=e;return n?evaluateBindings({block:i,localState:o,rootState:r,rootSetState:s,context:t}):i}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(`
42
- Could not find a registered component named "${o}".
43
- 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((c,l)=>({context:{...t,localState:{...t.localState,$index:l,$item:c,[i]:c,[`$${i}Index`]:l}},block:o}))},BlockStyles=()=>Promise.resolve().then(()=>require("./block-styles.589566b1.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.831b0d92.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.c4fd0511.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.4e2006fc.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$j=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"],data(){return{childrenContext:this.context}},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(){return 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,n;return!((t=this.blockComponent)!=null&&t.component)&&!this.repeatItem?(n=this.processedBlock.children)!=null?n:[]:[]},componentRefProps(){var e,t,n,o,r,s;return{blockChildren:(e=this.processedBlock.children)!=null?e:[],componentRef:(t=this.blockComponent)==null?void 0:t.component,componentOptions:{...getBlockComponentOptions(this.processedBlock),builderContext:this.context,...((n=this.blockComponent)==null?void 0:n.name)==="Symbol"||((o=this.blockComponent)==null?void 0:o.name)==="Columns"?{builderComponents:this.registeredComponents}:{}},context:this.childrenContext,registeredComponents:this.registeredComponents,builderBlock:this.processedBlock,includeBlockProps:((r=this.blockComponent)==null?void 0:r.noWrap)===!0,isInteractive:!((s=this.blockComponent)!=null&&s.isRSC)}}}});function _sfc_render$h(e,t,n,o,r,s){var d;const i=vue.resolveComponent("block-styles"),a=vue.resolveComponent("component-ref"),c=vue.resolveComponent("block",!0),l=vue.resolveComponent("block-wrapper"),u=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"]),(d=e.blockComponent)!=null&&d.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,builderBlock:e.componentRefProps.builderBlock,includeBlockProps:e.componentRefProps.includeBlockProps,isInteractive:e.componentRefProps.isInteractive},null,8,["componentRef","componentOptions","blockChildren","context","registeredComponents","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,(p,m)=>(vue.openBlock(),vue.createBlock(u,{key:m,repeatContext:p.context,block:p.block,registeredComponents:e.registeredComponents},null,8,["repeatContext","block","registeredComponents"]))),128)):(vue.openBlock(),vue.createBlock(l,{key:0,Wrapper:e.Tag,block:e.processedBlock,context:e.context},{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,builderBlock:e.componentRefProps.builderBlock,includeBlockProps:e.componentRefProps.includeBlockProps,isInteractive:e.componentRefProps.isInteractive},null,8,["componentRef","componentOptions","blockChildren","context","registeredComponents","builderBlock","includeBlockProps","isInteractive"]),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.childrenWithoutParentComponent,(p,m)=>(vue.openBlock(),vue.createBlock(c,{key:p.id,block:p,context:e.childrenContext,registeredComponents:e.registeredComponents},null,8,["block","context","registeredComponents"]))),128))]),_:1},8,["Wrapper","block","context"]))],64))],64)):vue.createCommentVNode("v-if",!0)}const Block=_export_sfc(_sfc_main$j,[["render",_sfc_render$h],["__file","/home/runner/work/builder/builder/packages/sdks/output/vue/src/components/block/block.vue"]]),block=Object.freeze(Object.defineProperty({__proto__:null,default:Block},Symbol.toStringTag,{value:"Module"})),_sfc_main$i=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}},"*"))}}}),blocksWrapper_vue_vue_type_style_index_0_scoped_1f8aab9f_lang="";function _sfc_render$g(e,t,n,o,r,s){return vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(e.BlocksWrapper),vue.mergeProps({class:e.className+" component-1k2igrjdg3x","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$i,[["render",_sfc_render$g],["__scopeId","data-v-1f8aab9f"],["__file","/home/runner/work/builder/builder/packages/sdks/output/vue/src/components/blocks/blocks-wrapper.vue"]]),_sfc_main$h=vue.defineComponent({name:"builder-blocks",components:{BlocksWrapper,Block},props:["blocks","parent","path","styleProp","context","registeredComponents"],inject:{builderContext:BuilderContext.key,componentsContext:ComponentsContext.key}});function _sfc_render$f(e,t,n,o,r,s){var c,l;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:(c=e.context)==null?void 0:c.BlocksWrapper,BlocksWrapperProps:(l=e.context)==null?void 0:l.BlocksWrapperProps},{default:vue.withCtx(()=>[e.blocks?(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,{key:0},vue.renderList(e.blocks,(u,d)=>(vue.openBlock(),vue.createBlock(i,{key:u.id,block:u,context:e.context||e.builderContext,registeredComponents:e.registeredComponents||e.componentsContext.registeredComponents},null,8,["block","context","registeredComponents"]))),128)):vue.createCommentVNode("v-if",!0)]),_:1},8,["blocks","parent","path","styleProp","BlocksWrapper","BlocksWrapperProps"])}const Blocks=_export_sfc(_sfc_main$h,[["render",_sfc_render$f],["__file","/home/runner/work/builder/builder/packages/sdks/output/vue/src/components/blocks/blocks.vue"]]),_sfc_main$g=vue.defineComponent({render(){return vue.h("style",{id:this.id,innerHTML:this.styles})},name:"inlined-styles",props:["styles","id"]}),InlinedStyles=_export_sfc(_sfc_main$g,[["__file","/home/runner/work/builder/builder/packages/sdks/output/vue/src/components/inlined-styles.vue"]]),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$f=vue.defineComponent({name:"builder-columns",components:{InlinedStyles,Blocks},props:["js","space","columns","stackColumnsAt","reverseColumnsWhenStacked","builderContext","builderBlock","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}},computed:{columnsCssVars(){return{"--flex-dir":this.flexDir,"--flex-dir-tablet":this.getTabletStyle({stackedStyle:this.flexDir,desktopStyle:"row"})}},columnsStyles(){return`
44
- @media (max-width: ${this.getWidthForBreakpointSize("medium")}px) {
45
- .${this.builderBlock.id}-breakpoints {
46
- flex-direction: var(--flex-dir-tablet);
47
- align-items: stretch;
48
- }
49
-
50
- .${this.builderBlock.id}-breakpoints > .builder-column {
51
- width: var(--column-width-tablet) !important;
52
- margin-left: var(--column-margin-left-tablet) !important;
53
- }
54
- }
55
-
56
- @media (max-width: ${this.getWidthForBreakpointSize("small")}px) {
57
- .${this.builderBlock.id}-breakpoints {
58
- flex-direction: var(--flex-dir);
59
- align-items: stretch;
60
- }
61
-
62
- .${this.builderBlock.id}-breakpoints > .builder-column {
63
- width: var(--column-width-mobile) !important;
64
- margin-left: var(--column-margin-left-mobile) !important;
65
- }
66
- },
67
- `}},methods:{getWidth(e){var t;return((t=this.cols[e])==null?void 0:t.width)||100/this.cols.length},getColumnCssWidth(e){const t=this.gutterSize*(this.cols.length-1)/this.cols.length;return`calc(${this.getWidth(e)}% - ${t}px)`},getTabletStyle({stackedStyle:e,desktopStyle:t}){return this.stackAt==="tablet"?e:t},getMobileStyle({stackedStyle:e,desktopStyle:t}){return this.stackAt==="never"?t:e},columnCssVars(e){const t=e===0?0:this.gutterSize,n=this.getColumnCssWidth(e),o=`${t}px`,r="100%",s=0;return{width:n,["margin-left"]:o,"--column-width-mobile":this.getMobileStyle({stackedStyle:r,desktopStyle:n}),"--column-margin-left-mobile":this.getMobileStyle({stackedStyle:s,desktopStyle:o}),"--column-width-tablet":this.getTabletStyle({stackedStyle:r,desktopStyle:n}),"--column-margin-left-tablet":this.getTabletStyle({stackedStyle:s,desktopStyle:o})}},getWidthForBreakpointSize(e){var n,o;return getSizesForBreakpoints(((o=(n=this.builderContext.content)==null?void 0:n.meta)==null?void 0:o.breakpoints)||{})[e].max}}}),columns_vue_vue_type_style_index_0_scoped_7be099dc_lang="";function _sfc_render$e(e,t,n,o,r,s){const i=vue.resolveComponent("inlined-styles"),a=vue.resolveComponent("blocks");return vue.openBlock(),vue.createElementBlock("div",vue.mergeProps({class:`builder-columns ${e.builderBlock.id}-breakpoints div-16nol0lwi20`,style:e.columnsCssVars},{}),[e.TARGET!=="reactNative"?(vue.openBlock(),vue.createBlock(i,{key:0,styles:e.columnsStyles},null,8,["styles"])):vue.createCommentVNode("v-if",!0),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.columns,(c,l)=>(vue.openBlock(),vue.createElementBlock("div",vue.mergeProps({key:l,class:"builder-column div-16nol0lwi20-2",style:e.columnCssVars(l)},{}),[vue.createVNode(a,{path:`component.options.columns.${l}.blocks`,parent:e.builderBlock.id,styleProp:{flexGrow:"1"},context:e.builderContext,registeredComponents:e.builderComponents,blocks:c.blocks},null,8,["path","parent","context","registeredComponents","blocks"])],16))),128))],16)}const Columns=_export_sfc(_sfc_main$f,[["render",_sfc_render$e],["__scopeId","data-v-7be099dc"],["__file","/home/runner/work/builder/builder/packages/sdks/output/vue/src/blocks/columns/columns.vue"]]),_sfc_main$e=vue.defineComponent({name:"builder-fragment-component",props:[]});function _sfc_render$d(e,t,n,o,r,s){return vue.openBlock(),vue.createElementBlock("span",null,[vue.renderSlot(e.$slots,"default")])}const Fragment=_export_sfc(_sfc_main$e,[["render",_sfc_render$d],["__file","/home/runner/work/builder/builder/packages/sdks/output/vue/src/blocks/fragment/fragment.vue"]]);function removeProtocol(e){return e.replace(/http(s)?:/,"")}function updateQueryParam(e="",t,n){const o=new RegExp("([?&])"+t+"=.*?(&|$)","i"),r=e.indexOf("?")!==-1?"&":"?";return e.match(o)?e.replace(o,"$1"+t+"="+encodeURIComponent(n)+"$2"):e+r+t+"="+encodeURIComponent(n)}function getShopifyImageUrl(e,t){if(!e||!(e!=null&&e.match(/cdn\.shopify\.com/))||!t)return e;if(t==="master")return removeProtocol(e);const n=e.match(/(_\d+x(\d+)?)?(\.(jpg|jpeg|gif|png|bmp|bitmap|tiff|tif)(\?v=\d+)?)/i);if(n){const o=e.split(n[0]),r=n[3],s=t.match("x")?t:`${t}x`;return removeProtocol(`${o[0]}_${s}${r}`)}return null}function getSrcSet(e){if(!e)return e;const t=[100,200,400,800,1200,1600,2e3];if(e.match(/builder\.io/)){let n=e;const o=Number(e.split("?width=")[1]);return isNaN(o)||(n=`${n} ${o}w`),t.filter(r=>r!==o).map(r=>`${updateQueryParam(e,"width",r)} ${r}w`).concat([n]).join(", ")}return e.match(/cdn\.shopify\.com/)?t.map(n=>[getShopifyImageUrl(e,`${n}x${n}`),n]).filter(([n])=>!!n).map(([n,o])=>`${n} ${o}w`).concat([e]).join(", "):e}const _sfc_main$d=vue.defineComponent({name:"builder-image",props:["image","src","srcset","noWebp","aspectRatio","altText","backgroundPosition","backgroundSize","className","sizes","builderBlock","fitContent"],computed:{srcSetToUse(){var n;const t=this.image||this.src;if(!t||!(t.match(/builder\.io/)||t.match(/cdn\.shopify\.com/)))return this.srcset;if(this.srcset&&((n=this.image)==null?void 0:n.includes("builder.io/api/v1/image"))){if(!this.srcset.includes(this.image.split("?")[0]))return console.debug("Removed given srcset"),getSrcSet(t)}else if(this.image&&!this.srcset)return getSrcSet(t);return getSrcSet(t)},webpSrcSet(){var e;return((e=this.srcSetToUse)==null?void 0:e.match(/builder\.io/))&&!this.noWebp?this.srcSetToUse.replace(/\?/g,"?format=webp&"):""},aspectRatioCss(){const e={position:"absolute",height:"100%",width:"100%",left:"0px",top:"0px"};return this.aspectRatio?e:void 0}}}),image_vue_vue_type_style_index_0_scoped_58ca75d1_lang="",_hoisted_1$5=["srcset"],_hoisted_2$1=["alt","role","src","srcset","sizes"],_hoisted_3$1={key:2,class:"div-1be3j8m9ewb-2"};function _sfc_render$c(e,t,n,o,r,s){var i,a,c,l;return vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[vue.createElementVNode("picture",null,[e.webpSrcSet?(vue.openBlock(),vue.createElementBlock("source",{key:0,type:"image/webp",srcset:e.webpSrcSet},null,8,_hoisted_1$5)):vue.createCommentVNode("v-if",!0),vue.createElementVNode("img",{loading:"lazy",alt:e.altText,role:e.altText?"presentation":void 0,style:vue.normalizeStyle({objectPosition:e.backgroundPosition||"center",objectFit:e.backgroundSize||"cover",...e.aspectRatioCss}),class:vue.normalizeClass("builder-image"+(e.className?" "+e.className:"")+" img-1be3j8m9ewb"),src:e.image,srcset:e.srcSetToUse,sizes:e.sizes},null,14,_hoisted_2$1)]),e.aspectRatio&&!(((a=(i=e.builderBlock)==null?void 0:i.children)==null?void 0:a.length)&&e.fitContent)?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:"builder-image-sizer div-1be3j8m9ewb",style:vue.normalizeStyle({paddingTop:e.aspectRatio*100+"%"})},null,4)):vue.createCommentVNode("v-if",!0),((l=(c=e.builderBlock)==null?void 0:c.children)==null?void 0:l.length)&&e.fitContent?vue.renderSlot(e.$slots,"default",{key:1},void 0,!0):vue.createCommentVNode("v-if",!0),!e.fitContent&&e.$slots.default?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$1,[vue.renderSlot(e.$slots,"default",{},void 0,!0)])):vue.createCommentVNode("v-if",!0)],64)}const Image=_export_sfc(_sfc_main$d,[["render",_sfc_render$c],["__scopeId","data-v-58ca75d1"],["__file","/home/runner/work/builder/builder/packages/sdks/output/vue/src/blocks/image/image.vue"]]),_sfc_main$c=vue.defineComponent({name:"builder-section-component",props:["attributes","maxWidth"],data(){return{filterAttrs}}});function _sfc_render$b(e,t,n,o,r,s){return vue.openBlock(),vue.createElementBlock("section",vue.mergeProps({style:{width:"100%",alignSelf:"stretch",flexGrow:1,boxSizing:"border-box",maxWidth:e.maxWidth||1200,display:"flex",flexDirection:"column",alignItems:"stretch",marginLeft:"auto",marginRight:"auto"}},e.filterAttrs(e.attributes,"v-on:",!1),vue.toHandlers(e.filterAttrs(e.attributes,"v-on:",!0),!0)),[vue.renderSlot(e.$slots,"default")],16)}const Section=_export_sfc(_sfc_main$c,[["render",_sfc_render$b],["__file","/home/runner/work/builder/builder/packages/sdks/output/vue/src/blocks/section/section.vue"]]),getTopLevelDomain=e=>{if(e==="localhost"||e==="127.0.0.1")return e;const t=e.split(".");return t.length>2?t.slice(1).join("."):e},getCookieSync=({name:e,canTrack:t})=>{var n;try{return t?(n=document.cookie.split("; ").find(o=>o.startsWith(`${e}=`)))==null?void 0:n.split("=")[1]:void 0}catch(o){logger.warn("[COOKIE] GET error: ",(o==null?void 0:o.message)||o);return}},getCookie=async e=>getCookieSync(e),stringifyCookie=e=>e.map(([t,n])=>n?`${t}=${n}`:t).filter(checkIsDefined).join("; "),SECURE_CONFIG=[["secure",""],["SameSite","None"]],createCookieString=({name:e,value:t,expires:n})=>{const r=(isBrowser()?location.protocol==="https:":!0)?SECURE_CONFIG:[[]],s=n?[["expires",n.toUTCString()]]:[[]],i=[[e,t],...s,["path","/"],["domain",getTopLevelDomain(window.location.hostname)],...r];return stringifyCookie(i)},setCookie=async({name:e,value:t,expires:n,canTrack:o})=>{try{if(!o)return;const r=createCookieString({name:e,value:t,expires:n});document.cookie=r}catch(r){logger.warn("[COOKIE] SET error: ",(r==null?void 0:r.message)||r)}},BUILDER_STORE_PREFIX="builder.tests",getContentTestKey=e=>`${BUILDER_STORE_PREFIX}.${e}`,getContentVariationCookie=({contentId:e})=>getCookie({name:getContentTestKey(e),canTrack:!0}),getContentVariationCookieSync=({contentId:e})=>getCookieSync({name:getContentTestKey(e),canTrack:!0}),setContentVariationCookie=({contentId:e,value:t})=>setCookie({name:getContentTestKey(e),value:t,canTrack:!0}),checkIsBuilderContentWithVariations=e=>checkIsDefined(e.id)&&checkIsDefined(e.variations)&&Object.keys(e.variations).length>0,getRandomVariationId=({id:e,variations:t})=>{var r;let n=0;const o=Math.random();for(const s in t){const i=(r=t[s])==null?void 0:r.testRatio;if(n+=i,o<n)return s}return e},getAndSetVariantId=e=>{const t=getRandomVariationId(e);return setContentVariationCookie({contentId:e.id,value:t}).catch(n=>{logger.error("could not store A/B test variation: ",n)}),t},getTestFields=({item:e,testGroupId:t})=>{const n=e.variations[t];return t===e.id||!n?{testVariationId:e.id,testVariationName:"Default"}:{data:n.data,testVariationId:n.id,testVariationName:n.name||(n.id===e.id?"Default":"")}},handleABTestingSync=({item:e,canTrack:t})=>{if(!t)return e;if(!e)return;if(!checkIsBuilderContentWithVariations(e))return e;const n=getContentVariationCookieSync({contentId:e.id})||getAndSetVariantId({variations:e.variations,id:e.id}),o=getTestFields({item:e,testGroupId:n});return{...e,...o}},handleABTesting=async({item:e,canTrack:t})=>{if(!t||!checkIsBuilderContentWithVariations(e))return e;const o=await getContentVariationCookie({contentId:e.id})||getAndSetVariantId({variations:e.variations,id:e.id}),r=getTestFields({item:e,testGroupId:o});return{...e,...r}},getDefaultCanTrack=e=>checkIsDefined(e)?e:!0,componentInfo$b={name:"Core:Button",image:"https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F81a15681c3e74df09677dfc57a615b13",defaultStyles:{appearance:"none",paddingTop:"15px",paddingBottom:"15px",paddingLeft:"25px",paddingRight:"25px",backgroundColor:"#000000",color:"white",borderRadius:"4px",textAlign:"center",cursor:"pointer"},inputs:[{name:"text",type:"text",defaultValue:"Click me!",bubble:!0},{name:"link",type:"url",bubble:!0},{name:"openLinkInNewTab",type:"boolean",defaultValue:!1,friendlyName:"Open link in new tab"}],static:!0,noWrap:!0},componentInfo$a={name:"Columns",isRSC:!0,inputs:[{name:"columns",type:"array",broadcast:!0,subFields:[{name:"blocks",type:"array",hideFromUI:!0,defaultValue:[{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{display:"flex",flexDirection:"column",alignItems:"stretch",flexShrink:"0",position:"relative",marginTop:"30px",textAlign:"center",lineHeight:"normal",height:"auto",minHeight:"20px",minWidth:"20px",overflow:"hidden"}},component:{name:"Image",options:{image:"https://builder.io/api/v1/image/assets%2Fpwgjf0RoYWbdnJSbpBAjXNRMe9F2%2Ffb27a7c790324294af8be1c35fe30f4d",backgroundPosition:"center",backgroundSize:"cover",aspectRatio:.7004048582995948}}},{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{display:"flex",flexDirection:"column",alignItems:"stretch",flexShrink:"0",position:"relative",marginTop:"30px",textAlign:"center",lineHeight:"normal",height:"auto"}},component:{name:"Text",options:{text:"<p>Enter some text...</p>"}}}]},{name:"width",type:"number",hideFromUI:!0,helperText:"Width %, e.g. set to 50 to fill half of the space"},{name:"link",type:"url",helperText:"Optionally set a url that clicking this column will link to"}],defaultValue:[{blocks:[{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{display:"flex",flexDirection:"column",alignItems:"stretch",flexShrink:"0",position:"relative",marginTop:"30px",textAlign:"center",lineHeight:"normal",height:"auto",minHeight:"20px",minWidth:"20px",overflow:"hidden"}},component:{name:"Image",options:{image:"https://builder.io/api/v1/image/assets%2Fpwgjf0RoYWbdnJSbpBAjXNRMe9F2%2Ffb27a7c790324294af8be1c35fe30f4d",backgroundPosition:"center",backgroundSize:"cover",aspectRatio:.7004048582995948}}},{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{display:"flex",flexDirection:"column",alignItems:"stretch",flexShrink:"0",position:"relative",marginTop:"30px",textAlign:"center",lineHeight:"normal",height:"auto"}},component:{name:"Text",options:{text:"<p>Enter some text...</p>"}}}]},{blocks:[{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{display:"flex",flexDirection:"column",alignItems:"stretch",flexShrink:"0",position:"relative",marginTop:"30px",textAlign:"center",lineHeight:"normal",height:"auto",minHeight:"20px",minWidth:"20px",overflow:"hidden"}},component:{name:"Image",options:{image:"https://builder.io/api/v1/image/assets%2Fpwgjf0RoYWbdnJSbpBAjXNRMe9F2%2Ffb27a7c790324294af8be1c35fe30f4d",backgroundPosition:"center",backgroundSize:"cover",aspectRatio:.7004048582995948}}},{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{display:"flex",flexDirection:"column",alignItems:"stretch",flexShrink:"0",position:"relative",marginTop:"30px",textAlign:"center",lineHeight:"normal",height:"auto"}},component:{name:"Text",options:{text:"<p>Enter some text...</p>"}}}]}],onChange:e=>{function t(){n.forEach(o=>{o.delete("width")})}const n=e.get("columns");Array.isArray(n)&&!!n.find(r=>r.get("width"))&&(!!n.find(s=>!s.get("width"))||n.reduce((a,c)=>a+c.get("width"),0)!==100)&&t()}},{name:"space",type:"number",defaultValue:20,helperText:"Size of gap between columns",advanced:!0},{name:"stackColumnsAt",type:"string",defaultValue:"tablet",helperText:"Convert horizontal columns to vertical at what device size",enum:["tablet","mobile","never"],advanced:!0},{name:"reverseColumnsWhenStacked",type:"boolean",defaultValue:!1,helperText:"When stacking columns for mobile devices, reverse the ordering",advanced:!0}]},componentInfo$9={name:"Custom Code",static:!0,requiredPermissions:["editCode"],inputs:[{name:"code",type:"html",required:!0,defaultValue:"<p>Hello there, I am custom HTML code!</p>",code:!0},{name:"replaceNodes",type:"boolean",helperText:"Preserve server rendered dom nodes",advanced:!0},{name:"scriptsClientOnly",type:"boolean",defaultValue:!1,helperText:"Only print and run scripts on the client. Important when scripts influence DOM that could be replaced when client loads",advanced:!0}]},_sfc_main$b=vue.defineComponent({name:"builder-custom-code",props:["replaceNodes","code"],data(){return{scriptsInserted:[],scriptsRun:[]}},mounted(){var t;if(!((t=this.$refs.elementRef)!=null&&t.getElementsByTagName)||typeof window>"u")return;const e=this.$refs.elementRef.getElementsByTagName("script");for(let n=0;n<e.length;n++){const o=e[n];if(o.src){if(this.scriptsInserted.includes(o.src))continue;this.scriptsInserted.push(o.src);const r=document.createElement("script");r.async=!0,r.src=o.src,document.head.appendChild(r)}else if(!o.type||["text/javascript","application/javascript","application/ecmascript"].includes(o.type)){if(this.scriptsRun.includes(o.innerText))continue;try{this.scriptsRun.push(o.innerText),new Function(o.innerText)()}catch(r){console.warn("`CustomCode`: Error running script:",r)}}}}}),_hoisted_1$4=["innerHTML"];function _sfc_render$a(e,t,n,o,r,s){return vue.openBlock(),vue.createElementBlock("div",{ref:"elementRef",class:vue.normalizeClass("builder-custom-code"+(e.replaceNodes?" replace-nodes":"")),innerHTML:e.code},null,10,_hoisted_1$4)}const customCode=_export_sfc(_sfc_main$b,[["render",_sfc_render$a],["__file","/home/runner/work/builder/builder/packages/sdks/output/vue/src/blocks/custom-code/custom-code.vue"]]),componentInfo$8={name:"Embed",static:!0,inputs:[{name:"url",type:"url",required:!0,defaultValue:"",helperText:"e.g. enter a youtube url, google map, etc",onChange:e=>{const t=e.get("url");if(t)return e.set("content","Loading..."),fetch(`https://iframe.ly/api/iframely?url=${t}&api_key=ae0e60e78201a3f2b0de4b`).then(o=>o.json()).then(o=>{e.get("url")===t&&(o.html?e.set("content",o.html):e.set("content","Invalid url, please try another"))}).catch(o=>{e.set("content","There was an error embedding this URL, please try again or another URL")});e.delete("content")}},{name:"content",type:"html",defaultValue:'<div style="padding: 20px; text-align: center">(Choose an embed URL)<div>',hideFromUI:!0}]},SCRIPT_MIME_TYPES=["text/javascript","application/javascript","application/ecmascript"],isJsScript=e=>SCRIPT_MIME_TYPES.includes(e.type),_sfc_main$a=vue.defineComponent({name:"builder-embed",props:["content"],data(){return{scriptsInserted:[],scriptsRun:[],ranInitFn:!1}},watch:{onUpdateHook0:{handler(){this.$refs.elem&&!this.ranInitFn&&(this.ranInitFn=!0,this.findAndRunScripts())},immediate:!0}},computed:{onUpdateHook0(){return{0:this.$refs.elem,1:this.ranInitFn}}},methods:{findAndRunScripts(){if(!this.$refs.elem||!this.$refs.elem.getElementsByTagName)return;const e=this.$refs.elem.getElementsByTagName("script");for(let t=0;t<e.length;t++){const n=e[t];if(n.src&&!this.scriptsInserted.includes(n.src)){this.scriptsInserted.push(n.src);const o=document.createElement("script");o.async=!0,o.src=n.src,document.head.appendChild(o)}else if(isJsScript(n)&&!this.scriptsRun.includes(n.innerText))try{this.scriptsRun.push(n.innerText),new Function(n.innerText)()}catch(o){console.warn("`Embed`: Error running script:",o)}}}}}),_hoisted_1$3=["innerHTML"];function _sfc_render$9(e,t,n,o,r,s){return vue.openBlock(),vue.createElementBlock("div",{class:"builder-embed",ref:"elem",innerHTML:e.content},null,8,_hoisted_1$3)}const embed=_export_sfc(_sfc_main$a,[["render",_sfc_render$9],["__file","/home/runner/work/builder/builder/packages/sdks/output/vue/src/blocks/embed/embed.vue"]]),componentInfo$7={name:"Fragment",static:!0,hidden:!0,canHaveChildren:!0,noWrap:!0},componentInfo$6={name:"Image",static:!0,image:"https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-insert_photo-24px.svg?alt=media&token=4e5d0ef4-f5e8-4e57-b3a9-38d63a9b9dc4",defaultStyles:{position:"relative",minHeight:"20px",minWidth:"20px",overflow:"hidden"},canHaveChildren:!0,inputs:[{name:"image",type:"file",bubble:!0,allowedFileTypes:["jpeg","jpg","png","svg"],required:!0,defaultValue:"https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F72c80f114dc149019051b6852a9e3b7a",onChange:e=>{e.delete("srcset"),e.delete("noWebp");function n(i,a=6e4){return new Promise((c,l)=>{const u=document.createElement("img");let d=!1;u.onload=()=>{d=!0,c(u)},u.addEventListener("error",p=>{console.warn("Image load failed",p.error),l(p.error)}),u.src=i,setTimeout(()=>{d||l(new Error("Image load timed out"))},a)})}function o(i){return Math.round(i*1e3)/1e3}const r=e.get("image"),s=e.get("aspectRatio");if(fetch(r).then(i=>i.blob()).then(i=>{i.type.includes("svg")&&e.set("noWebp",!0)}),r&&(!s||s===.7041))return n(r).then(i=>{const a=e.get("aspectRatio");e.get("image")===r&&(!a||a===.7041)&&i.width&&i.height&&(e.set("aspectRatio",o(i.height/i.width)),e.set("height",i.height),e.set("width",i.width))})}},{name:"backgroundSize",type:"text",defaultValue:"cover",enum:[{label:"contain",value:"contain",helperText:"The image should never get cropped"},{label:"cover",value:"cover",helperText:"The image should fill it's box, cropping when needed"}]},{name:"backgroundPosition",type:"text",defaultValue:"center",enum:["center","top","left","right","bottom","top left","top right","bottom left","bottom right"]},{name:"altText",type:"string",helperText:"Text to display when the user has images off"},{name:"height",type:"number",hideFromUI:!0},{name:"width",type:"number",hideFromUI:!0},{name:"sizes",type:"string",hideFromUI:!0},{name:"srcset",type:"string",hideFromUI:!0},{name:"lazy",type:"boolean",defaultValue:!0,hideFromUI:!0},{name:"fitContent",type:"boolean",helperText:"When child blocks are provided, fit to them instead of using the image's aspect ratio",defaultValue:!0},{name:"aspectRatio",type:"number",helperText:"This is the ratio of height/width, e.g. set to 1.5 for a 300px wide and 200px tall photo. Set to 0 to not force the image to maintain it's aspect ratio",advanced:!0,defaultValue:.7041}]},componentInfo$5={name:"Raw:Img",hideFromInsertMenu:!0,image:"https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-insert_photo-24px.svg?alt=media&token=4e5d0ef4-f5e8-4e57-b3a9-38d63a9b9dc4",inputs:[{name:"image",bubble:!0,type:"file",allowedFileTypes:["jpeg","jpg","png","svg","gif","webp"],required:!0}],noWrap:!0,static:!0},_sfc_main$9=vue.defineComponent({name:"builder-img-component",props:["backgroundSize","backgroundPosition","imgSrc","altText","image","attributes"],data(){return{isEditing,filterAttrs}}}),_hoisted_1$2=["alt","src"];function _sfc_render$8(e,t,n,o,r,s){return vue.openBlock(),vue.createElementBlock("img",vue.mergeProps({style:{objectFit:e.backgroundSize||"cover",objectPosition:e.backgroundPosition||"center"},key:e.isEditing()&&e.imgSrc||"default-key",alt:e.altText,src:e.imgSrc||e.image},e.filterAttrs(e.attributes,"v-on:",!1),vue.toHandlers(e.filterAttrs(e.attributes,"v-on:",!0),!0)),null,16,_hoisted_1$2)}const Img=_export_sfc(_sfc_main$9,[["render",_sfc_render$8],["__file","/home/runner/work/builder/builder/packages/sdks/output/vue/src/blocks/img/img.vue"]]),componentInfo$4={name:"Core:Section",static:!0,image:"https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F682efef23ace49afac61748dd305c70a",inputs:[{name:"maxWidth",type:"number",defaultValue:1200},{name:"lazyLoad",type:"boolean",defaultValue:!1,advanced:!0,description:"Only render this section when in view"}],defaultStyles:{paddingLeft:"20px",paddingRight:"20px",paddingTop:"50px",paddingBottom:"50px",marginTop:"0px",width:"100vw",marginLeft:"calc(50% - 50vw)"},canHaveChildren:!0,defaultChildren:[{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{textAlign:"center"}},component:{name:"Text",options:{text:"<p><b>I am a section! My content keeps from getting too wide, so that it's easy to read even on big screens.</b></p><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur</p>"}}}]},componentInfo$3={name:"Slot",isRSC:!0,description:"Allow child blocks to be inserted into this content when used as a Symbol",docsLink:"https://www.builder.io/c/docs/symbols-with-blocks",image:"https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F3aad6de36eae43b59b52c85190fdef56",inputs:[{name:"name",type:"string",required:!0,defaultValue:"children"}]},_sfc_main$8=vue.defineComponent({name:"builder-slot",components:{Blocks},props:["builderContext","name"]});function _sfc_render$7(e,t,n,o,r,s){var a,c,l;const i=vue.resolveComponent("blocks");return vue.openBlock(),vue.createElementBlock("div",vue.mergeProps({style:{pointerEvents:"auto"}},!((a=e.builderContext.context)!=null&&a.symbolId)&&{"builder-slot":e.name}),[vue.createVNode(i,{parent:(c=e.builderContext.context)==null?void 0:c.symbolId,path:`symbol.data.${e.name}`,context:e.builderContext,blocks:(l=e.builderContext.rootState)==null?void 0:l[e.name]},null,8,["parent","path","context","blocks"])],16)}const Slot=_export_sfc(_sfc_main$8,[["render",_sfc_render$7],["__file","/home/runner/work/builder/builder/packages/sdks/output/vue/src/blocks/slot/slot.vue"]]),componentInfo$2={name:"Symbol",noWrap:!0,static:!0,isRSC:!0,inputs:[{name:"symbol",type:"uiSymbol"},{name:"dataOnly",helperText:"Make this a data symbol that doesn't display any UI",type:"boolean",defaultValue:!1,advanced:!0,hideFromUI:!0},{name:"inheritState",helperText:"Inherit the parent component state and data",type:"boolean",defaultValue:!1,advanced:!0},{name:"renderToLiquid",helperText:"Render this symbols contents to liquid. Turn off to fetch with javascript and use custom targeting",type:"boolean",defaultValue:!1,advanced:!0,hideFromUI:!0},{name:"useChildren",hideFromUI:!0,type:"boolean"}]},componentInfo$1={name:"Text",static:!0,isRSC:!0,image:"https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-text_fields-24px%20(1).svg?alt=media&token=12177b73-0ee3-42ca-98c6-0dd003de1929",inputs:[{name:"text",type:"html",required:!0,autoFocus:!0,bubble:!0,defaultValue:"Enter some text..."}],defaultStyles:{lineHeight:"normal",height:"auto",textAlign:"center"}},_sfc_main$7=vue.defineComponent({name:"builder-text",props:["text"]}),_hoisted_1$1=["innerHTML"];function _sfc_render$6(e,t,n,o,r,s){var i;return vue.openBlock(),vue.createElementBlock("div",{class:"builder-text",innerHTML:((i=e.text)==null?void 0:i.toString())||"",style:{outline:"none"}},null,8,_hoisted_1$1)}const Text=_export_sfc(_sfc_main$7,[["render",_sfc_render$6],["__file","/home/runner/work/builder/builder/packages/sdks/output/vue/src/blocks/text/text.vue"]]),componentInfo={name:"Video",canHaveChildren:!0,defaultStyles:{minHeight:"20px",minWidth:"20px"},image:"https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-videocam-24px%20(1).svg?alt=media&token=49a84e4a-b20e-4977-a650-047f986874bb",inputs:[{name:"video",type:"file",allowedFileTypes:["mp4"],bubble:!0,defaultValue:"https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/assets%2FKQlEmWDxA0coC3PK6UvkrjwkIGI2%2F28cb070609f546cdbe5efa20e931aa4b?alt=media&token=912e9551-7a7c-4dfb-86b6-3da1537d1a7f",required:!0},{name:"posterImage",type:"file",allowedFileTypes:["jpeg","png"],helperText:"Image to show before the video plays"},{name:"autoPlay",type:"boolean",defaultValue:!0},{name:"controls",type:"boolean",defaultValue:!1},{name:"muted",type:"boolean",defaultValue:!0},{name:"loop",type:"boolean",defaultValue:!0},{name:"playsInline",type:"boolean",defaultValue:!0},{name:"fit",type:"text",defaultValue:"cover",enum:["contain","cover","fill","auto"]},{name:"preload",type:"text",defaultValue:"metadata",enum:["auto","metadata","none"]},{name:"fitContent",type:"boolean",helperText:"When child blocks are provided, fit to them instead of using the aspect ratio",defaultValue:!0,advanced:!0},{name:"position",type:"text",defaultValue:"center",enum:["center","top","left","right","bottom","top left","top right","bottom left","bottom right"]},{name:"height",type:"number",advanced:!0},{name:"width",type:"number",advanced:!0},{name:"aspectRatio",type:"number",advanced:!0,defaultValue:.7004048582995948},{name:"lazyLoad",type:"boolean",helperText:'Load this video "lazily" - as in only when a user scrolls near the video. Recommended for optmized performance and bandwidth consumption',defaultValue:!0,advanced:!0}]},_sfc_main$6=vue.defineComponent({name:"builder-video",props:["autoPlay","muted","controls","loop","playsInline","preload","attributes","fit","position","aspectRatio","video","posterImage","lazyLoad","fitContent","builderBlock"],computed:{videoProps(){return{...this.autoPlay===!0?{autoPlay:!0}:{},...this.muted===!0?{muted:!0}:{},...this.controls===!0?{controls:!0}:{},...this.loop===!0?{loop:!0}:{},...this.playsInline===!0?{playsInline:!0}:{}}},spreadProps(){return{...this.videoProps}}}}),_hoisted_1={style:{position:"relative"}},_hoisted_2=["preload","src","poster"],_hoisted_3=["src"],_hoisted_4={key:1,style:{display:"flex",flexDirection:"column",alignItems:"stretch"}},_hoisted_5={key:2,style:{pointerEvents:"none",display:"flex",flexDirection:"column",alignItems:"stretch",position:"absolute",top:"0",left:"0",width:"100%",height:"100%"}};function _sfc_render$5(e,t,n,o,r,s){var i,a,c,l,u,d,p;return vue.openBlock(),vue.createElementBlock("div",_hoisted_1,[vue.createElementVNode("video",vue.mergeProps({class:"builder-video",preload:e.preload||"metadata",style:{width:"100%",height:"100%",...(i=e.attributes)==null?void 0:i.style,objectFit:e.fit,objectPosition:e.position,zIndex:2,borderRadius:"1px",...e.aspectRatio?{position:"absolute"}:null},src:e.video||"no-src",poster:e.posterImage},e.spreadProps),[e.lazyLoad?vue.createCommentVNode("v-if",!0):(vue.openBlock(),vue.createElementBlock("source",{key:0,type:"video/mp4",src:e.video},null,8,_hoisted_3))],16,_hoisted_2),e.aspectRatio&&!(e.fitContent&&((c=(a=e.builderBlock)==null?void 0:a.children)==null?void 0:c.length))?(vue.openBlock(),vue.createElementBlock("div",{key:0,style:vue.normalizeStyle({width:"100%",paddingTop:e.aspectRatio*100+"%",pointerEvents:"none",fontSize:"0px"})},null,4)):vue.createCommentVNode("v-if",!0),((u=(l=e.builderBlock)==null?void 0:l.children)==null?void 0:u.length)&&e.fitContent?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4,[vue.renderSlot(e.$slots,"default")])):vue.createCommentVNode("v-if",!0),((p=(d=e.builderBlock)==null?void 0:d.children)==null?void 0:p.length)&&!e.fitContent?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5,[vue.renderSlot(e.$slots,"default")])):vue.createCommentVNode("v-if",!0)])}const Video=_export_sfc(_sfc_main$6,[["render",_sfc_render$5],["__file","/home/runner/work/builder/builder/packages/sdks/output/vue/src/blocks/video/video.vue"]]),getDefaultRegisteredComponents=()=>[{component:Button,...componentInfo$b},{component:Columns,...componentInfo$a},{component:customCode,...componentInfo$9},{component:embed,...componentInfo$8},{component:Fragment,...componentInfo$7},{component:Image,...componentInfo$6},{component:Img,...componentInfo$5},{component:Section,...componentInfo$4},{component:Symbol$1,...componentInfo$2},{component:Text,...componentInfo$1},{component:Video,...componentInfo},{component:Slot,...componentInfo$3}],components=[],createRegisterComponentMessage=e=>({type:"builder.registerComponent",data:serializeComponentInfo(e)}),serializeFn=e=>{const t=e.toString().trim();return`return (${!t.startsWith("function")&&!t.startsWith("(")?"function ":""}${t}).apply(this, arguments)`},serializeValue=e=>typeof e=="function"?serializeFn(e):fastClone(e),serializeComponentInfo=({inputs:e,...t})=>({...fastClone(t),inputs:e==null?void 0:e.map(n=>Object.entries(n).reduce((o,[r,s])=>({...o,[r]:serializeValue(s)}),{}))}),UPDATE_COOKIES_AND_STYLES_SCRIPT=`function updateCookiesAndStyles(contentId, variants, isHydrationTarget) {
68
- function getAndSetVariantId() {
69
- function setCookie(name, value, days) {
70
- let expires = '';
71
- if (days) {
72
- const date = new Date();
73
- date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);
74
- expires = '; expires=' + date.toUTCString();
75
- }
76
- document.cookie = name + '=' + (value || '') + expires + '; path=/' + '; Secure; SameSite=None';
77
- }
78
- function getCookie(name) {
79
- const nameEQ = name + '=';
80
- const ca = document.cookie.split(';');
81
- for (let i = 0; i < ca.length; i++) {
82
- let c = ca[i];
83
- while (c.charAt(0) === ' ') c = c.substring(1, c.length);
84
- if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);
85
- }
86
- return null;
87
- }
88
- const cookieName = \`builder.tests.\${contentId}\`;
89
- const variantInCookie = getCookie(cookieName);
90
- const availableIDs = variants.map(vr => vr.id).concat(contentId);
91
- if (variantInCookie && availableIDs.includes(variantInCookie)) {
92
- return variantInCookie;
93
- }
94
- let n = 0;
95
- const random = Math.random();
96
- for (let i = 0; i < variants.length; i++) {
97
- const variant = variants[i];
98
- const testRatio = variant.testRatio;
99
- n += testRatio;
100
- if (random < n) {
101
- setCookie(cookieName, variant.id);
102
- return variant.id;
103
- }
104
- }
105
- setCookie(cookieName, contentId);
106
- return contentId;
107
- }
108
- const winningVariantId = getAndSetVariantId();
109
- const styleEl = document.currentScript?.previousElementSibling;
110
- if (isHydrationTarget) {
111
- styleEl.remove();
112
- const thisScriptEl = document.currentScript;
113
- thisScriptEl?.remove();
114
- } else {
115
- const newStyleStr = variants.concat({
116
- id: contentId
117
- }).filter(variant => variant.id !== winningVariantId).map(value => {
118
- return \`.variant-\${value.id} { display: none; }
119
- \`;
120
- }).join('');
121
- styleEl.innerHTML = newStyleStr;
122
- }
123
- }`,UPDATE_VARIANT_VISIBILITY_SCRIPT=`function updateVariantVisibility(variantContentId, defaultContentId, isHydrationTarget) {
124
- if (!navigator.cookieEnabled) {
125
- return;
126
- }
127
- function getCookie(name) {
128
- const nameEQ = name + '=';
129
- const ca = document.cookie.split(';');
130
- for (let i = 0; i < ca.length; i++) {
131
- let c = ca[i];
132
- while (c.charAt(0) === ' ') c = c.substring(1, c.length);
133
- if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);
134
- }
135
- return null;
136
- }
137
- const cookieName = \`builder.tests.\${defaultContentId}\`;
138
- const winningVariant = getCookie(cookieName);
139
- const parentDiv = document.currentScript?.parentElement;
140
- const isDefaultContent = variantContentId === defaultContentId;
141
- const isWinningVariant = winningVariant === variantContentId;
142
- if (isWinningVariant && !isDefaultContent) {
143
- parentDiv?.removeAttribute('hidden');
144
- parentDiv?.removeAttribute('aria-hidden');
145
- } else if (!isWinningVariant && isDefaultContent) {
146
- parentDiv?.setAttribute('hidden', 'true');
147
- parentDiv?.setAttribute('aria-hidden', 'true');
148
- }
149
- if (isHydrationTarget) {
150
- if (!isWinningVariant) {
151
- parentDiv?.remove();
152
- }
153
- const thisScriptEl = document.currentScript;
154
- thisScriptEl?.remove();
155
- }
156
- return;
157
- }`,UPDATE_COOKIES_AND_STYLES_SCRIPT_NAME="builderIoAbTest",UPDATE_VARIANT_VISIBILITY_SCRIPT_FN_NAME="builderIoRenderContent",getVariants=e=>Object.values((e==null?void 0:e.variations)||{}).map(t=>({...t,testVariationId:t.id,id:e==null?void 0:e.id})),checkShouldRenderVariants=({canTrack:e,content:t})=>!(!(getVariants(t).length>0)||!e),getIsHydrationTarget=e=>e==="react"||e==="reactNative",isHydrationTarget=getIsHydrationTarget(TARGET),getScriptString=()=>`
158
- window.${UPDATE_COOKIES_AND_STYLES_SCRIPT_NAME} = ${UPDATE_COOKIES_AND_STYLES_SCRIPT}
159
- window.${UPDATE_VARIANT_VISIBILITY_SCRIPT_FN_NAME} = ${UPDATE_VARIANT_VISIBILITY_SCRIPT}
160
- `,getUpdateCookieAndStylesScript=(e,t)=>`
161
- window.${UPDATE_COOKIES_AND_STYLES_SCRIPT_NAME}(
162
- "${t}",${JSON.stringify(e)}, ${isHydrationTarget}
163
- )`,getUpdateVariantVisibilityScript=({contentId:e,variationId:t})=>`window.${UPDATE_VARIANT_VISIBILITY_SCRIPT_FN_NAME}(
164
- "${t}", "${e}", ${isHydrationTarget}
165
- )`,_sfc_main$5=vue.defineComponent({render(){return vue.h("script",{id:this.id,innerHTML:this.scriptStr})},name:"inlined-script",props:["scriptStr","id"]}),InlinedScript=_export_sfc(_sfc_main$5,[["__file","/home/runner/work/builder/builder/packages/sdks/output/vue/src/components/inlined-script.vue"]]);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.
166
- 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=>{let{noTraverse:t=!1}=e;const{limit:n=30,userAttributes:o,query:r,model:s,apiKey:i,includeRefs:a=!0,enrich:c,locale:l,apiVersion:u=DEFAULT_API_VERSION,fields:d,omit:p,offset:m,cacheSeconds:f,staleCacheSeconds:g,sort:v,includeUnpublished:y}=e;if(!i)throw new Error("Missing API key");if(!["v2","v3"].includes(u))throw new Error(`Invalid apiVersion: expected 'v2' or 'v3', received '${u}'`);(e.limit===void 0||e.limit>1)&&!("noTraverse"in e)&&(t=!0);const h=new URL(`https://cdn.builder.io/api/${u}/content/${s}?apiKey=${i}&limit=${n}&noTraverse=${t}&includeRefs=${a}${l?`&locale=${l}`:""}${c?`&enrich=${c}`:""}`);if(h.searchParams.set("omit",p||"meta.componentsUsed"),d&&h.searchParams.set("fields",d),Number.isFinite(m)&&m>-1&&h.searchParams.set("offset",String(Math.floor(m))),typeof y=="boolean"&&h.searchParams.set("includeUnpublished",String(y)),f&&isPositiveNumber(f)&&h.searchParams.set("cacheSeconds",String(f)),g&&isPositiveNumber(g)&&h.searchParams.set("staleCacheSeconds",String(g)),v){const b=flatten({sort:v});for(const k in b)h.searchParams.set(k,JSON.stringify(b[k]))}const C={...getBuilderSearchParamsFromWindow(),...normalizeSearchParams(e.options||{})},S=flatten(C);for(const b in S)h.searchParams.set(b,String(S[b]));if(o&&h.searchParams.set("userAttributes",JSON.stringify(o)),r){const b=flatten({query:r});for(const k in b)h.searchParams.set(k,JSON.stringify(b[k]))}return h},checkContentHasResults=e=>"results"in e;async function fetchOneEntry(e){const t=await fetchEntries({...e,limit:1});return t&&t[0]||null}const getContent=fetchOneEntry,_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}}const getAllContent=fetchEntries,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}function isPreviewing(){return!isBrowser()||isEditing()?!1:Boolean(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 Boolean((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}}},SDK_VERSION="0.12.2",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,c=r.data.arguments||[],l=r.data.id,u=new Function(a);let d,p=null;try{d=u.apply(null,c)}catch(m){p=m}p?(s=window.parent)==null||s.postMessage({type:"builder.evaluateError",data:{id:l,error:p.message}},"*"):d&&typeof d.then=="function"?d.then(m=>{var f;(f=window.parent)==null||f.postMessage({type:"builder.evaluateResult",data:{id:l,result:m}},"*")}).catch(console.error):(i=window.parent)==null||i.postMessage({type:"builder.evaluateResult",data:{result:d,id:l}},"*");break}}})))},_sfc_main$4=vue.defineComponent({name:"enable-editor",props:["builderContextSignal","contentWrapper","trustedHosts","model","context","canTrack","apiKey","locale","includeRefs","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,1:this.builderContextSignal.rootState}},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){var n;if(!isFromTrustedHost(this.trustedHosts,e))return;const{data:t}=e;if(t)switch(t.type){case"builder.configureSdk":{const o=t.data,{breakpoints:r,contentId:s}=o;if(!s||s!==((n=this.builderContextSignal.content)==null?void 0:n.id))return;r&&this.mergeNewContent({meta:{breakpoints:r}}),this.forceReRenderCount=this.forceReRenderCount+1;break}case"builder.contentUpdate":{const o=t.data,r=o.key||o.alias||o.entry||o.modelName,s=o.data;r===this.model&&(this.mergeNewContent(s),this.forceReRenderCount=this.forceReRenderCount+1);break}}},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,o;const e=(o=(n=(t=this.builderContextSignal.content)==null?void 0:t.data)==null?void 0:n.httpRequests)!=null?o:{};Object.entries(e).forEach(([r,s])=>{if(s&&(!this.httpReqsData[r]||isEditing())){const i=this.evalExpression(s);this.handleRequest({url:i,key:r})}})},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.includeRefs?{includeRefs:this.includeRefs}:{},...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,c;return e.builderContextSignal.content?(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(e.ContentWrapper),vue.mergeProps({key:e.forceReRenderCount,ref:"elementRef",onClick:l=>e.onClick(l),"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)||((c=e.content)==null?void 0:c.id)}`,onIniteditingbldr:l=>e.elementRef_onIniteditingbldr(l),onInitpreviewingbldr:l=>e.elementRef_onInitpreviewingbldr(l)},{...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("v-if",!0)}const EnableEditor=_export_sfc(_sfc_main$4,[["render",_sfc_render$4],["__file","/home/runner/work/builder/builder/packages/sdks/output/vue/src/components/content/components/enable-editor.vue"]]),getCssFromFont=e=>{var s,i;const t=e.family+(e.kind&&!e.kind.includes("#")?", "+e.kind:""),n=t.split(",")[0],o=(i=e.fileUrl)!=null?i:(s=e==null?void 0:e.files)==null?void 0:s.regular;let r="";if(o&&t&&n&&(r+=`
167
- @font-face {
168
- font-family: "${t}";
169
- src: local("${n}"), url('${o}') format('woff2');
170
- font-display: fallback;
171
- font-weight: 400;
172
- }
173
- `.trim()),e.files)for(const a in e.files){if(!(String(Number(a))===a))continue;const l=e.files[a];l&&l!==o&&(r+=`
174
- @font-face {
175
- font-family: "${t}";
176
- src: url('${l}') format('woff2');
177
- font-display: fallback;
178
- font-weight: ${a};
179
- }
180
- `.trim())}return r},getFontCss=({customFonts:e})=>{var t;return((t=e==null?void 0:e.map(n=>getCssFromFont(n)))==null?void 0:t.join(" "))||""},getCss=({cssCode:e,contentId:t})=>e?t?(e==null?void 0:e.replace(/&/g,`div[builder-content-id="${t}"]`))||"":e:"",_sfc_main$3=vue.defineComponent({name:"content-styles",components:{InlinedStyles},props:["cssCode","contentId","customFonts"],data(){return{injectedStyles:`
181
- ${getCss({cssCode:this.cssCode,contentId:this.contentId})}
182
- ${getFontCss({customFonts:this.customFonts})}
183
-
184
- .builder-text > p:first-of-type, .builder-text > .builder-paragraph:first-of-type {
185
- margin: 0;
186
- }
187
- .builder-text > p, .builder-text > .builder-paragraph {
188
- color: inherit;
189
- line-height: inherit;
190
- letter-spacing: inherit;
191
- font-weight: inherit;
192
- font-size: inherit;
193
- text-align: inherit;
194
- font-family: inherit;
195
- }
196
- `.trim()}}});function _sfc_render$3(e,t,n,o,r,s){const i=vue.resolveComponent("inlined-styles");return vue.openBlock(),vue.createBlock(i,{styles:e.injectedStyles},null,8,["styles"])}const ContentStyles=_export_sfc(_sfc_main$3,[["render",_sfc_render$3],["__file","/home/runner/work/builder/builder/packages/sdks/output/vue/src/components/content/components/styles.vue"]]),getRootStateInitialValue=({content:e,data:t,locale:n})=>{var s,i,a;const o={},r=((s=e==null?void 0:e.data)==null?void 0:s.state)||{};return(a=(i=e==null?void 0:e.data)==null?void 0:i.inputs)==null||a.forEach(c=>{c.name&&c.defaultValue!==void 0&&(o[c.name]=c.defaultValue)}),{...o,...r,...t,...n?{locale:n}:{}}},getContentInitialValue=({content:e,data:t})=>e?{...e,data:{...e==null?void 0:e.data,...t},meta:e==null?void 0:e.meta}:void 0,wrapComponentRef=vue.markRaw,_sfc_main$2=vue.defineComponent({name:"content-component",components:{EnableEditor,InlinedScript,ContentStyles,Blocks},props:["content","customComponents","data","locale","context","apiKey","apiVersion","blocksWrapper","blocksWrapperProps","model","canTrack","includeRefs","enrich","showContent","contentWrapper","contentWrapperProps","trustedHosts","isSsrAbTest"],data(){var e,t;return{scriptStr:getUpdateVariantVisibilityScript({variationId:(e=this.content)==null?void 0:e.testVariationId,contentId:(t=this.content)==null?void 0:t.id}),registeredComponents:[...getDefaultRegisteredComponents(),...components,...this.customComponents||[]].reduce((n,{component:o,...r})=>({...n,[r.name]:{component:wrapComponentRef(o),...serializeComponentInfo(r)}}),{}),builderContextSignal:{content:getContentInitialValue({content:this.content,data:this.data}),localState:void 0,rootState:getRootStateInitialValue({content:this.content,data:this.data,locale:this.locale}),rootSetState:this.contentSetState,context:this.context||{},apiKey:this.apiKey,apiVersion:this.apiVersion,componentInfos:[...getDefaultRegisteredComponents(),...components,...this.customComponents||[]].reduce((n,{component:o,...r})=>({...n,[r.name]:serializeComponentInfo(r)}),{}),inheritedStyles:{},BlocksWrapper:this.blocksWrapper||"div",BlocksWrapperProps:this.blocksWrapperProps||{}},TARGET}},provide(){const e=this;return{[ComponentsContext.key]:{registeredComponents:e.registeredComponents}}},methods:{contentSetState(e){this.builderContextSignal.rootState=e}}});function _sfc_render$2(e,t,n,o,r,s){const i=vue.resolveComponent("inlined-script"),a=vue.resolveComponent("content-styles"),c=vue.resolveComponent("blocks"),l=vue.resolveComponent("enable-editor");return vue.openBlock(),vue.createBlock(l,vue.mergeProps({content:e.content,data:e.data,model:e.model,context:e.context,apiKey:e.apiKey,canTrack:e.canTrack,locale:e.locale,includeRefs:e.includeRefs,enrich:e.enrich,showContent:e.showContent,builderContextSignal:e.builderContextSignal,contentWrapper:e.contentWrapper,contentWrapperProps:e.contentWrapperProps,trustedHosts:e.trustedHosts},{}),{default:vue.withCtx(()=>{var u,d,p,m,f,g,v;return[e.isSsrAbTest?(vue.openBlock(),vue.createBlock(i,{key:0,scriptStr:e.scriptStr},null,8,["scriptStr"])):vue.createCommentVNode("v-if",!0),e.TARGET!=="reactNative"?(vue.openBlock(),vue.createBlock(a,{key:1,contentId:(u=e.builderContextSignal.content)==null?void 0:u.id,cssCode:(p=(d=e.builderContextSignal.content)==null?void 0:d.data)==null?void 0:p.cssCode,customFonts:(f=(m=e.builderContextSignal.content)==null?void 0:m.data)==null?void 0:f.customFonts},null,8,["contentId","cssCode","customFonts"])):vue.createCommentVNode("v-if",!0),vue.createVNode(c,{blocks:(v=(g=e.builderContextSignal.content)==null?void 0:g.data)==null?void 0:v.blocks,context:e.builderContextSignal,registeredComponents:e.registeredComponents},null,8,["blocks","context","registeredComponents"])]}),_:1},16,["content","data","model","context","apiKey","canTrack","locale","includeRefs","enrich","showContent","builderContextSignal","contentWrapper","contentWrapperProps","trustedHosts"])}const ContentComponent=_export_sfc(_sfc_main$2,[["render",_sfc_render$2],["__file","/home/runner/work/builder/builder/packages/sdks/output/vue/src/components/content/content.vue"]]),_sfc_main$1=vue.defineComponent({name:"content-variants",components:{InlinedScript,InlinedStyles,ContentComponent},props:["canTrack","content","__isNestedRender","model","data","context","apiKey","apiVersion","customComponents","locale","includeRefs","enrich","blocksWrapper","blocksWrapperProps","contentWrapper","contentWrapperProps","trustedHosts"],data(){return{shouldRenderVariants:checkShouldRenderVariants({canTrack:getDefaultCanTrack(this.canTrack),content:this.content}),TARGET,getScriptString,getVariants}},mounted(){this.shouldRenderVariants=!1},computed:{updateCookieAndStylesScriptStr(){var e;return getUpdateCookieAndStylesScript(getVariants(this.content).map(t=>({id:t.testVariationId,testRatio:t.testRatio})),((e=this.content)==null?void 0:e.id)||"")},hideVariantsStyleString(){return getVariants(this.content).map(e=>`.variant-${e.testVariationId} { display: none; } `).join("")},defaultContent(){var e;return this.shouldRenderVariants?{...this.content,testVariationId:(e=this.content)==null?void 0:e.id}:handleABTestingSync({item:this.content,canTrack:getDefaultCanTrack(this.canTrack)})}}});function _sfc_render$1(e,t,n,o,r,s){var l;const i=vue.resolveComponent("inlined-script"),a=vue.resolveComponent("inlined-styles"),c=vue.resolveComponent("content-component");return vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[!e.__isNestedRender&&e.TARGET!=="reactNative"?(vue.openBlock(),vue.createBlock(i,{key:0,scriptStr:e.getScriptString()},null,8,["scriptStr"])):vue.createCommentVNode("v-if",!0),e.shouldRenderVariants?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createVNode(a,{id:`variants-styles-${(l=e.content)==null?void 0:l.id}`,styles:e.hideVariantsStyleString},null,8,["id","styles"]),vue.createVNode(i,{scriptStr:e.updateCookieAndStylesScriptStr},null,8,["scriptStr"]),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.getVariants(e.content),(u,d)=>(vue.openBlock(),vue.createBlock(c,{key:u.testVariationId,content:u,showContent:!1,model:e.model,data:e.data,context:e.context,apiKey:e.apiKey,apiVersion:e.apiVersion,customComponents:e.customComponents,canTrack:e.canTrack,locale:e.locale,includeRefs:e.includeRefs,enrich:e.enrich,isSsrAbTest:e.shouldRenderVariants,blocksWrapper:e.blocksWrapper,blocksWrapperProps:e.blocksWrapperProps,contentWrapper:e.contentWrapper,contentWrapperProps:e.contentWrapperProps,trustedHosts:e.trustedHosts},null,8,["content","model","data","context","apiKey","apiVersion","customComponents","canTrack","locale","includeRefs","enrich","isSsrAbTest","blocksWrapper","blocksWrapperProps","contentWrapper","contentWrapperProps","trustedHosts"]))),128))],64)):vue.createCommentVNode("v-if",!0),vue.createVNode(c,vue.mergeProps({content:e.defaultContent,showContent:!0,model:e.model,data:e.data,context:e.context,apiKey:e.apiKey,apiVersion:e.apiVersion,customComponents:e.customComponents,canTrack:e.canTrack,locale:e.locale,includeRefs:e.includeRefs,enrich:e.enrich,isSsrAbTest:e.shouldRenderVariants,blocksWrapper:e.blocksWrapper,blocksWrapperProps:e.blocksWrapperProps,contentWrapper:e.contentWrapper,contentWrapperProps:e.contentWrapperProps,trustedHosts:e.trustedHosts},{key:e.shouldRenderVariants.toString()}),null,16,["content","model","data","context","apiKey","apiVersion","customComponents","canTrack","locale","includeRefs","enrich","isSsrAbTest","blocksWrapper","blocksWrapperProps","contentWrapper","contentWrapperProps","trustedHosts"])],64)}const Content=_export_sfc(_sfc_main$1,[["render",_sfc_render$1],["__file","/home/runner/work/builder/builder/packages/sdks/output/vue/src/components/content-variants/content-variants.vue"]]),fetchSymbolContent=async({builderContextValue:e,symbol:t})=>{if((t==null?void 0:t.model)&&(e==null?void 0:e.apiKey))return fetchOneEntry({model:t.model,apiKey:e.apiKey,apiVersion:e.apiVersion,...(t==null?void 0:t.entry)&&{query:{id:t.entry}}}).catch(n=>{logger.error("Could not fetch symbol content: ",n)})},_sfc_main=vue.defineComponent({name:"builder-symbol",components:{ContentVariants:Content},props:["js","attributes","symbol","dynamic","builderContext","builderBlock","builderComponents"],data(){var e;return{contentToUse:(e=this.symbol)==null?void 0:e.content,filterAttrs}},mounted(){this.setContent()},watch:{onUpdateHook0:{handler(){this.setContent()},immediate:!0}},computed:{className(){var e,t;return[this.attributes.class,"builder-symbol",(e=this.symbol)!=null&&e.inline?"builder-inline-symbol":void 0,((t=this.symbol)==null?void 0:t.dynamic)||this.dynamic?"builder-dynamic-symbol":void 0].filter(Boolean).join(" ")},onUpdateHook0(){return{0:this.symbol}}},methods:{setContent(){this.contentToUse||fetchSymbolContent({symbol:this.symbol,builderContextValue:this.builderContext}).then(e=>{e&&(this.contentToUse=e)})}}});function _sfc_render(e,t,n,o,r,s){var a,c,l,u,d;const i=vue.resolveComponent("content-variants");return vue.openBlock(),vue.createElementBlock("div",vue.mergeProps({class:e.className},{...e.filterAttrs(e.attributes,"v-on:",!1)},vue.toHandlers(e.filterAttrs(e.attributes,"v-on:",!0),!0)),[vue.createVNode(i,{__isNestedRender:!0,apiVersion:e.builderContext.apiVersion,apiKey:e.builderContext.apiKey,context:{...e.builderContext.context,symbolId:(a=e.builderBlock)==null?void 0:a.id},customComponents:Object.values(e.builderComponents),data:{...(c=e.symbol)==null?void 0:c.data,...e.builderContext.localState,...(u=(l=e.contentToUse)==null?void 0:l.data)==null?void 0:u.state},model:(d=e.symbol)==null?void 0:d.model,content:e.contentToUse},null,8,["apiVersion","apiKey","context","customComponents","data","model","content"])],16)}const Symbol$1=_export_sfc(_sfc_main,[["render",_sfc_render],["__file","/home/runner/work/builder/builder/packages/sdks/output/vue/src/blocks/symbol/symbol.vue"]]),RenderBlocks=Blocks,RenderContent=Content,settings={};function setEditorSettings(e){if(isBrowser()){Object.assign(settings,e);const t={type:"builder.settingsChange",data:settings};parent.postMessage(t,"*")}}const fetchBuilderProps=async e=>{var o,r,s;const t=e.path||((o=e.url)==null?void 0:o.pathname)||((r=e.userAttributes)==null?void 0:r.urlPath),n={...e,apiKey:e.apiKey,model:e.model||"page",userAttributes:{...e.userAttributes,...t?{urlPath:t}:{}},options:getBuilderSearchParams(e.searchParams||((s=e.url)==null?void 0:s.searchParams)||e.options)};return{apiKey:n.apiKey,model:n.model,content:await fetchOneEntry(n)}};exports.Block=Block;exports.Blocks=Blocks;exports.BuilderContext=BuilderContext;exports.Button=Button;exports.Columns=Columns;exports.Content=Content;exports.Fragment=Fragment;exports.Image=Image;exports.InlinedStyles=InlinedStyles;exports.RenderBlocks=RenderBlocks;exports.RenderContent=RenderContent;exports.Section=Section;exports.Symbol=Symbol$1;exports.TARGET=TARGET;exports.Text=Text;exports.Video=Video;exports._export_sfc=_export_sfc;exports._processContentResult=_processContentResult;exports.block=block;exports.checkIsDefined=checkIsDefined;exports.createRegisterComponentMessage=createRegisterComponentMessage;exports.evaluate=evaluate;exports.fetchBuilderProps=fetchBuilderProps;exports.fetchEntries=fetchEntries;exports.fetchOneEntry=fetchOneEntry;exports.getAllContent=getAllContent;exports.getBuilderSearchParams=getBuilderSearchParams;exports.getContent=getContent;exports.getMaxWidthQueryForSize=getMaxWidthQueryForSize;exports.getProcessedBlock=getProcessedBlock;exports.getSizesForBreakpoints=getSizesForBreakpoints;exports.isEditing=isEditing;exports.isPreviewing=isPreviewing;exports.register=register;exports.setEditorSettings=setEditorSettings;exports.track=track;exports.wrapComponentRef=wrapComponentRef;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("vue"),t=require("./index.c18f2b9a.cjs");require("node:module");const r=()=>Promise.resolve().then(()=>require("./index.c18f2b9a.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"],data(){return{store:this.repeatContext}},provide(){const e=this;return{[t.BuilderContext.key]:e.store}}});function s(e,i,p,d,u,a){const n=o.resolveComponent("block");return o.openBlock(),o.createBlock(n,{block:e.block,context:e.store,registeredComponents:e.registeredComponents},null,8,["block","context","registeredComponents"])}const l=t._export_sfc(c,[["render",s],["__file","/home/runner/work/builder/builder/packages/sdks/output/vue/src/components/block/components/repeated-block.vue"]]);exports.default=l;
@@ -1,34 +0,0 @@
1
- import { defineComponent as t, defineAsyncComponent as n, resolveComponent as r, openBlock as c, createBlock as s } from "vue";
2
- import { d as p, _ as l } from "./index.36c2b72c.js";
3
- import "node:module";
4
- const a = () => import("./index.36c2b72c.js").then((e) => e.D).then((e) => e.default).catch((e) => {
5
- throw console.error(
6
- "Error while attempting to dynamically import component Block at ../block.vue",
7
- e
8
- ), e;
9
- }), i = t({
10
- name: "repeated-block",
11
- components: { Block: n(a) },
12
- props: ["repeatContext", "block", "registeredComponents"],
13
- data() {
14
- return { store: this.repeatContext };
15
- },
16
- provide() {
17
- const e = this;
18
- return {
19
- [p.key]: e.store
20
- };
21
- }
22
- });
23
- function m(e, d, k, u, b, f) {
24
- const o = r("block");
25
- return c(), s(o, {
26
- block: e.block,
27
- context: e.store,
28
- registeredComponents: e.registeredComponents
29
- }, null, 8, ["block", "context", "registeredComponents"]);
30
- }
31
- const B = /* @__PURE__ */ l(i, [["render", m], ["__file", "/home/runner/work/builder/builder/packages/sdks/output/vue/src/components/block/components/repeated-block.vue"]]);
32
- export {
33
- B as default
34
- };