@builder.io/sdk-qwik 0.5.8 → 0.6.0

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 (63) hide show
  1. package/README.md +0 -4
  2. package/lib/browser/index.qwik.cjs +4270 -0
  3. package/lib/browser/index.qwik.mjs +4270 -0
  4. package/lib/edge/index.qwik.cjs +7474 -0
  5. package/lib/edge/index.qwik.mjs +7474 -0
  6. package/lib/index.qwik.cjs +1642 -371
  7. package/lib/index.qwik.mjs +1643 -372
  8. package/lib/node/index.qwik.cjs +4270 -0
  9. package/lib/node/index.qwik.mjs +4270 -0
  10. package/package.json +83 -13
  11. package/types/components/blocks/deopt.d.ts +4 -0
  12. package/types/components/content/content.types.d.ts +2 -2
  13. package/types/components/content-variants/content-variants.d.ts +2 -2
  14. package/types/components/content-variants/content-variants.types.d.ts +1 -1
  15. package/types/functions/evaluate/browser-runtime/browser.d.ts +4 -0
  16. package/types/functions/evaluate/browser-runtime/index.d.ts +1 -0
  17. package/types/functions/evaluate/edge-runtime/edge-runtime.d.ts +2 -0
  18. package/types/functions/evaluate/edge-runtime/index.d.ts +1 -0
  19. package/types/functions/evaluate/evaluate.d.ts +4 -8
  20. package/types/functions/evaluate/helpers.d.ts +18 -0
  21. package/types/functions/evaluate/index.d.ts +1 -1
  22. package/types/functions/evaluate/node-runtime/index.d.ts +1 -0
  23. package/types/functions/evaluate/non-node-runtime/non-node-runtime.d.ts +2 -2
  24. package/types/functions/evaluate/placeholder-runtime.d.ts +2 -0
  25. package/types/functions/fetch-builder-props.d.ts +4 -3
  26. package/types/functions/get-content/index.d.ts +4 -5
  27. package/types/functions/is-edge-runtime.d.ts +4 -0
  28. package/types/index-helpers/blocks-exports.d.ts +1 -1
  29. package/types/index.d.ts +5 -14
  30. package/types/server-index.d.ts +15 -0
  31. package/types/src/components/block/components/component-ref/component-ref.helpers.d.ts +1 -1
  32. package/types/src/components/blocks/blocks.d.ts +1 -1
  33. package/types/src/components/blocks/deopt.d.ts +4 -0
  34. package/types/src/components/content/content.types.d.ts +2 -2
  35. package/types/src/components/content/index.d.ts +1 -1
  36. package/types/src/components/content-variants/content-variants.d.ts +2 -2
  37. package/types/src/components/content-variants/content-variants.types.d.ts +1 -1
  38. package/types/src/constants/sdk-version.d.ts +1 -1
  39. package/types/src/constants/target.d.ts +1 -1
  40. package/types/src/functions/deopt.d.ts +4 -0
  41. package/types/src/functions/evaluate/edge-runtime/acorn-interpreter.d.ts +2 -0
  42. package/types/src/functions/evaluate/edge-runtime/edge-runtime.d.ts +2 -0
  43. package/types/src/functions/evaluate/edge-runtime/index.d.ts +1 -0
  44. package/types/src/functions/evaluate/evaluate.d.ts +4 -8
  45. package/types/src/functions/evaluate/index.d.ts +1 -1
  46. package/types/src/functions/evaluate/node-runtime/index.d.ts +1 -1
  47. package/types/src/functions/evaluate/non-node-runtime/non-node-runtime.d.ts +2 -2
  48. package/types/src/functions/evaluate/placeholder-runtime.d.ts +1 -1
  49. package/types/src/functions/fetch-builder-props.d.ts +6 -5
  50. package/types/src/functions/get-content/index.d.ts +4 -5
  51. package/types/src/functions/is-edge-runtime.d.ts +4 -0
  52. package/types/src/helpers/preview-lru-cache/get.d.ts +1 -1
  53. package/types/src/helpers/preview-lru-cache/set.d.ts +1 -1
  54. package/types/src/index-helpers/blocks-exports.d.ts +14 -14
  55. package/types/src/index.d.ts +5 -14
  56. package/types/src/server-index.d.ts +15 -0
  57. package/types/functions/evaluate/types.d.ts +0 -11
  58. package/types/functions/if-target.d.ts +0 -7
  59. package/types/src/functions/evaluate/node-runtime/node-runtime.d.ts +0 -2
  60. package/types/src/functions/evaluate/types.d.ts +0 -11
  61. package/types/src/functions/if-target.d.ts +0 -7
  62. /package/types/functions/evaluate/{acorn-interpreter.d.ts → edge-runtime/acorn-interpreter.d.ts} +0 -0
  63. /package/types/{src/functions/evaluate → functions/evaluate/non-node-runtime}/acorn-interpreter.d.ts +0 -0
@@ -1,4 +1,4 @@
1
- import { componentQrl, inlinedQrl, useStylesScopedQrl, _jsxC, _jsxS, _fnSignal, createContextId, _jsxQ, _jsxBranch, useStore, useComputedQrl, useLexicalScope, _IMMUTABLE, Slot, useContextProvider, useContext, createElement, Fragment as Fragment$1, useSignal, useTaskQrl, useVisibleTaskQrl } from "@builder.io/qwik";
1
+ import { componentQrl, inlinedQrl, useStylesScopedQrl, _jsxC, _jsxS, _fnSignal, createContextId, _jsxQ, _jsxBranch, useStore, useComputedQrl, useLexicalScope, _IMMUTABLE, Slot, useContextProvider, _wrapProp, useContext, Fragment as Fragment$1, createElement, useSignal, useTaskQrl, useVisibleTaskQrl } from "@builder.io/qwik";
2
2
  import { Fragment } from "@builder.io/qwik/jsx-runtime";
3
3
  const Button = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) => {
4
4
  useStylesScopedQrl(/* @__PURE__ */ inlinedQrl(STYLES$3, "Button_component_useStylesScoped_a1JZ0Q0Q2Oc"));
@@ -66,12 +66,84 @@ function isIframe() {
66
66
  function isEditing() {
67
67
  return isIframe() && window.location.search.indexOf("builder.frameEditing=") !== -1;
68
68
  }
69
- function isNonNodeServer() {
70
- const hasNode = () => {
71
- var _a;
72
- return typeof process !== "undefined" && ((_a = process == null ? void 0 : process.versions) == null ? void 0 : _a.node);
69
+ const getLocation = () => {
70
+ if (isBrowser()) {
71
+ const parsedLocation = new URL(location.href);
72
+ if (parsedLocation.pathname === "")
73
+ parsedLocation.pathname = "/";
74
+ return parsedLocation;
75
+ } else {
76
+ console.warn("Cannot get location for tracking in non-browser environment");
77
+ return null;
78
+ }
79
+ };
80
+ const getUserAgent = () => typeof navigator === "object" && navigator.userAgent || "";
81
+ const getUserAttributes = () => {
82
+ const userAgent = getUserAgent();
83
+ const isMobile = {
84
+ Android() {
85
+ return userAgent.match(/Android/i);
86
+ },
87
+ BlackBerry() {
88
+ return userAgent.match(/BlackBerry/i);
89
+ },
90
+ iOS() {
91
+ return userAgent.match(/iPhone|iPod/i);
92
+ },
93
+ Opera() {
94
+ return userAgent.match(/Opera Mini/i);
95
+ },
96
+ Windows() {
97
+ return userAgent.match(/IEMobile/i) || userAgent.match(/WPDesktop/i);
98
+ },
99
+ any() {
100
+ return isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows() || TARGET === "reactNative";
101
+ }
73
102
  };
74
- return !isBrowser() && !hasNode();
103
+ const isTablet = userAgent.match(/Tablet|iPad/i);
104
+ const url = getLocation();
105
+ return {
106
+ urlPath: url == null ? void 0 : url.pathname,
107
+ host: (url == null ? void 0 : url.host) || (url == null ? void 0 : url.hostname),
108
+ device: isTablet ? "tablet" : isMobile.any() ? "mobile" : "desktop"
109
+ };
110
+ };
111
+ const getFunctionArguments = ({ builder, context, event, state }) => {
112
+ return Object.entries({
113
+ state,
114
+ Builder: builder,
115
+ // legacy
116
+ builder,
117
+ context,
118
+ event
119
+ });
120
+ };
121
+ const runInBrowser = ({ code, builder, context, event, localState, rootSetState, rootState }) => {
122
+ const functionArgs = getFunctionArguments({
123
+ builder,
124
+ context,
125
+ event,
126
+ state: flattenState(rootState, localState, rootSetState)
127
+ });
128
+ return new Function(...functionArgs.map(([name]) => name), code)(...functionArgs.map(([, value]) => value));
129
+ };
130
+ function flattenState(rootState, localState, rootSetState) {
131
+ if (rootState === localState)
132
+ throw new Error("rootState === localState");
133
+ return new Proxy(rootState, {
134
+ get: (_, prop) => {
135
+ if (localState && prop in localState)
136
+ return localState[prop];
137
+ return rootState[prop];
138
+ },
139
+ set: (_, prop, value) => {
140
+ if (localState && prop in localState)
141
+ throw new Error("Writing to local state is not allowed as it is read-only.");
142
+ rootState[prop] = value;
143
+ rootSetState == null ? void 0 : rootSetState(rootState);
144
+ return true;
145
+ }
146
+ });
75
147
  }
76
148
  const set = (obj, _path, value) => {
77
149
  if (Object(obj) !== obj)
@@ -3260,20 +3332,19 @@ const processCode = (code) => {
3260
3332
  }).filter(Boolean).join("\n");
3261
3333
  };
3262
3334
  const getJSONValName = (val) => val + "JSON";
3263
- const runInNonNode = ({ builder, context, event, rootState, localState, rootSetState, useCode }) => {
3335
+ const runInNonNode = ({ builder, context, event, rootState, localState, rootSetState, code }) => {
3264
3336
  const state = {
3265
3337
  ...rootState,
3266
3338
  ...localState
3267
3339
  };
3268
- const properties = {
3269
- state,
3270
- Builder: builder,
3340
+ const properties = getFunctionArguments({
3271
3341
  builder,
3272
3342
  context,
3273
- event
3274
- };
3275
- const prependedCode = Object.keys(properties).map((key) => `var ${key} = JSON.parse(${getJSONValName(key)});`).join("\n");
3276
- const cleanedCode = processCode(useCode);
3343
+ event,
3344
+ state
3345
+ });
3346
+ const prependedCode = properties.map(([key]) => `var ${key} = JSON.parse(${getJSONValName(key)});`).join("\n");
3347
+ const cleanedCode = processCode(code);
3277
3348
  if (cleanedCode === "") {
3278
3349
  logger.warn("Skipping evaluation of empty code block.");
3279
3350
  return;
@@ -3291,8 +3362,7 @@ theFunction();
3291
3362
  rootSetState == null ? void 0 : rootSetState(newState);
3292
3363
  };
3293
3364
  const initFunc = function(interpreter, globalObject) {
3294
- Object.keys(properties).forEach((key) => {
3295
- const val = properties[key] || {};
3365
+ properties.forEach(([key, val]) => {
3296
3366
  const jsonVal = JSON.stringify(val);
3297
3367
  interpreter.setProperty(globalObject, getJSONValName(key), jsonVal);
3298
3368
  });
@@ -3310,6 +3380,13 @@ theFunction();
3310
3380
  return;
3311
3381
  }
3312
3382
  };
3383
+ function isNonNodeServer() {
3384
+ const hasNode = () => {
3385
+ var _a;
3386
+ return typeof process !== "undefined" && ((_a = process == null ? void 0 : process.versions) == null ? void 0 : _a.node);
3387
+ };
3388
+ return !isBrowser() && !hasNode();
3389
+ }
3313
3390
  function evaluate({ code, context, localState, rootState, rootSetState, event, isExpression = true }) {
3314
3391
  if (code === "") {
3315
3392
  logger.warn("Skipping evaluation of empty code block.");
@@ -3318,7 +3395,8 @@ function evaluate({ code, context, localState, rootState, rootSetState, event, i
3318
3395
  const builder = {
3319
3396
  isEditing: isEditing(),
3320
3397
  isBrowser: isBrowser(),
3321
- isServer: !isBrowser()
3398
+ isServer: !isBrowser(),
3399
+ getUserAttributes: () => getUserAttributes()
3322
3400
  };
3323
3401
  const useReturn = (
3324
3402
  // we disable this for cases where we definitely don't want a return
@@ -3326,7 +3404,7 @@ function evaluate({ code, context, localState, rootState, rootSetState, event, i
3326
3404
  );
3327
3405
  const useCode = useReturn ? `return (${code});` : code;
3328
3406
  const args = {
3329
- useCode,
3407
+ code: useCode,
3330
3408
  builder,
3331
3409
  context,
3332
3410
  event,
@@ -3334,40 +3412,18 @@ function evaluate({ code, context, localState, rootState, rootSetState, event, i
3334
3412
  rootState,
3335
3413
  localState
3336
3414
  };
3337
- if (isBrowser())
3338
- return runInBrowser(args);
3339
- if (isNonNodeServer())
3340
- return runInNonNode(args);
3341
- return runInNode(args);
3342
- }
3343
- const runInBrowser = ({ useCode, builder, context, event, localState, rootSetState, rootState }) => {
3344
- const state = flattenState(rootState, localState, rootSetState);
3345
3415
  try {
3346
- return new Function("builder", "Builder", "state", "context", "event", useCode)(builder, builder, state, context, event);
3416
+ if (isBrowser())
3417
+ return runInBrowser(args);
3418
+ if (isNonNodeServer())
3419
+ return runInNonNode(args);
3420
+ return runInBrowser(args);
3347
3421
  } catch (e) {
3348
- logger.warn("Builder custom code error: \n While Evaluating: \n ", useCode, "\n", e);
3422
+ logger.error("Failed code evaluation: " + e.message, {
3423
+ code
3424
+ });
3425
+ return void 0;
3349
3426
  }
3350
- };
3351
- const runInNode = (args) => {
3352
- return runInBrowser(args);
3353
- };
3354
- function flattenState(rootState, localState, rootSetState) {
3355
- if (rootState === localState)
3356
- throw new Error("rootState === localState");
3357
- return new Proxy(rootState, {
3358
- get: (_, prop) => {
3359
- if (localState && prop in localState)
3360
- return localState[prop];
3361
- return rootState[prop];
3362
- },
3363
- set: (_, prop, value) => {
3364
- if (localState && prop in localState)
3365
- throw new Error("Writing to local state is not allowed as it is read-only.");
3366
- rootState[prop] = value;
3367
- rootSetState == null ? void 0 : rootSetState(rootState);
3368
- return true;
3369
- }
3370
- });
3371
3427
  }
3372
3428
  const fastClone = (obj) => JSON.parse(JSON.stringify(obj));
3373
3429
  function transformBlock(block) {
@@ -3798,11 +3854,9 @@ const ComponentRef = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((pr
3798
3854
  contextValue: props.context
3799
3855
  }),
3800
3856
  children: [
3801
- (props.blockChildren || []).map(function(child) {
3857
+ (props.blockChildren || []).map((child) => {
3802
3858
  return /* @__PURE__ */ _jsxC(Block, {
3803
- get block() {
3804
- return child;
3805
- },
3859
+ block: child,
3806
3860
  get context() {
3807
3861
  return props.context;
3808
3862
  },
@@ -3810,7 +3864,6 @@ const ComponentRef = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((pr
3810
3864
  return props.registeredComponents;
3811
3865
  },
3812
3866
  [_IMMUTABLE]: {
3813
- block: _IMMUTABLE,
3814
3867
  context: _fnSignal((p0) => p0.context, [
3815
3868
  props
3816
3869
  ], "p0.context"),
@@ -3820,16 +3873,13 @@ const ComponentRef = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((pr
3820
3873
  }
3821
3874
  }, 3, "block-" + child.id);
3822
3875
  }),
3823
- (props.blockChildren || []).map(function(child) {
3876
+ (props.blockChildren || []).map((child) => {
3824
3877
  return /* @__PURE__ */ _jsxC(BlockStyles, {
3825
- get block() {
3826
- return child;
3827
- },
3878
+ block: child,
3828
3879
  get context() {
3829
3880
  return props.context;
3830
3881
  },
3831
3882
  [_IMMUTABLE]: {
3832
- block: _IMMUTABLE,
3833
3883
  context: _fnSignal((p0) => p0.context, [
3834
3884
  props
3835
3885
  ], "p0.context")
@@ -3985,7 +4035,7 @@ const Block = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) =>
3985
4035
  hasChildren: _IMMUTABLE
3986
4036
  }
3987
4037
  }, 3, "jN_0") : null,
3988
- !isEmptyHtmlElement(Tag.value) && repeatItem.value ? (repeatItem.value || []).map(function(data, index) {
4038
+ !isEmptyHtmlElement(Tag.value) && repeatItem.value ? (repeatItem.value || []).map((data, index) => {
3989
4039
  return /* @__PURE__ */ _jsxC(RepeatedBlock, {
3990
4040
  get repeatContext() {
3991
4041
  return data.context;
@@ -3997,11 +4047,11 @@ const Block = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) =>
3997
4047
  return props.registeredComponents;
3998
4048
  },
3999
4049
  [_IMMUTABLE]: {
4000
- block: _IMMUTABLE,
4050
+ block: _wrapProp(data, "block"),
4001
4051
  registeredComponents: _fnSignal((p0) => p0.registeredComponents, [
4002
4052
  props
4003
4053
  ], "p0.registeredComponents"),
4004
- repeatContext: _IMMUTABLE
4054
+ repeatContext: _wrapProp(data, "context")
4005
4055
  }
4006
4056
  }, 3, index);
4007
4057
  }) : null,
@@ -4019,11 +4069,9 @@ const Block = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) =>
4019
4069
  /* @__PURE__ */ _jsxC(ComponentRef, {
4020
4070
  ...componentRefProps.value
4021
4071
  }, 0, "jN_1"),
4022
- (childrenWithoutParentComponent.value || []).map(function(child) {
4072
+ (childrenWithoutParentComponent.value || []).map((child) => {
4023
4073
  return /* @__PURE__ */ _jsxC(Block, {
4024
- get block() {
4025
- return child;
4026
- },
4074
+ block: child,
4027
4075
  get context() {
4028
4076
  return state.childrenContext;
4029
4077
  },
@@ -4031,7 +4079,6 @@ const Block = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) =>
4031
4079
  return props.registeredComponents;
4032
4080
  },
4033
4081
  [_IMMUTABLE]: {
4034
- block: _IMMUTABLE,
4035
4082
  context: _fnSignal((p0) => p0.childrenContext, [
4036
4083
  state
4037
4084
  ], "p0.childrenContext"),
@@ -4041,16 +4088,13 @@ const Block = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) =>
4041
4088
  }
4042
4089
  }, 3, "block-" + child.id);
4043
4090
  }),
4044
- (childrenWithoutParentComponent.value || []).map(function(child) {
4091
+ (childrenWithoutParentComponent.value || []).map((child) => {
4045
4092
  return /* @__PURE__ */ _jsxC(BlockStyles, {
4046
- get block() {
4047
- return child;
4048
- },
4093
+ block: child,
4049
4094
  get context() {
4050
4095
  return state.childrenContext;
4051
4096
  },
4052
4097
  [_IMMUTABLE]: {
4053
- block: _IMMUTABLE,
4054
4098
  context: _fnSignal((p0) => p0.childrenContext, [
4055
4099
  state
4056
4100
  ], "p0.childrenContext")
@@ -4171,40 +4215,45 @@ const Blocks = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) =
4171
4215
  return props.styleProp;
4172
4216
  },
4173
4217
  children: [
4174
- props.blocks ? (props.blocks || []).map(function(block) {
4175
- return /* @__PURE__ */ _jsxC(Block, {
4176
- get block() {
4177
- return block;
4178
- },
4179
- get context() {
4180
- return props.context || builderContext$1;
4181
- },
4182
- get registeredComponents() {
4183
- return props.registeredComponents || componentsContext.registeredComponents;
4184
- },
4185
- [_IMMUTABLE]: {
4186
- block: _IMMUTABLE,
4187
- context: _fnSignal((p0, p1) => p1.context || p0, [
4188
- builderContext$1,
4189
- props
4190
- ], "p1.context||p0"),
4191
- registeredComponents: _fnSignal((p0, p1) => p1.registeredComponents || p0.registeredComponents, [
4192
- componentsContext,
4193
- props
4194
- ], "p1.registeredComponents||p0.registeredComponents")
4195
- }
4196
- }, 3, "render-block-" + block.id);
4218
+ /* @__PURE__ */ _jsxQ("div", null, null, [
4219
+ "in BLOCKS (outside loop): ",
4220
+ _fnSignal((p0) => (
4221
+ // @ts-ignore
4222
+ p0.context.content.data.blocks[2].children[1].component.options.columns[0].blocks[1].component.options.text
4223
+ ), [
4224
+ props
4225
+ ], "p0.context.content.data.blocks[2].children[1].component.options.columns[0].blocks[1].component.options.text")
4226
+ ], 3, null),
4227
+ props.blocks ? (props.blocks || []).map((block) => {
4228
+ return /* @__PURE__ */ _jsxC(Fragment$1, {
4229
+ children: /* @__PURE__ */ _jsxC(Block, {
4230
+ block,
4231
+ get context() {
4232
+ return props.context || builderContext$1;
4233
+ },
4234
+ get registeredComponents() {
4235
+ return props.registeredComponents || componentsContext.registeredComponents;
4236
+ },
4237
+ [_IMMUTABLE]: {
4238
+ context: _fnSignal((p0, p1) => p1.context || p0, [
4239
+ builderContext$1,
4240
+ props
4241
+ ], "p1.context||p0"),
4242
+ registeredComponents: _fnSignal((p0, p1) => p1.registeredComponents || p0.registeredComponents, [
4243
+ componentsContext,
4244
+ props
4245
+ ], "p1.registeredComponents||p0.registeredComponents")
4246
+ }
4247
+ }, 3, "render-block-" + block.id)
4248
+ }, 1, "render-block-" + block.id);
4197
4249
  }) : null,
4198
- props.blocks ? (props.blocks || []).map(function(block) {
4250
+ props.blocks ? (props.blocks || []).map((block) => {
4199
4251
  return /* @__PURE__ */ _jsxC(BlockStyles, {
4200
- get block() {
4201
- return block;
4202
- },
4252
+ block,
4203
4253
  get context() {
4204
4254
  return props.context || builderContext$1;
4205
4255
  },
4206
4256
  [_IMMUTABLE]: {
4207
- block: _IMMUTABLE,
4208
4257
  context: _fnSignal((p0, p1) => p1.context || p0, [
4209
4258
  builderContext$1,
4210
4259
  props
@@ -4347,7 +4396,7 @@ const Columns = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props)
4347
4396
  ], "p0.value")
4348
4397
  }
4349
4398
  }, 3, "c0_0"),
4350
- (props.columns || []).map(function(column, index) {
4399
+ (props.columns || []).map((column, index) => {
4351
4400
  return /* @__PURE__ */ createElement("div", {
4352
4401
  class: "builder-column div-Columns-2",
4353
4402
  style: columnCssVars(props, state, index),
@@ -4356,9 +4405,7 @@ const Columns = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props)
4356
4405
  get blocks() {
4357
4406
  return column.blocks;
4358
4407
  },
4359
- get path() {
4360
- return `component.options.columns.${index}.blocks`;
4361
- },
4408
+ path: `component.options.columns.${index}.blocks`,
4362
4409
  get parent() {
4363
4410
  return props.builderBlock.id;
4364
4411
  },
@@ -4374,14 +4421,13 @@ const Columns = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props)
4374
4421
  return props.builderComponents;
4375
4422
  },
4376
4423
  [_IMMUTABLE]: {
4377
- blocks: _IMMUTABLE,
4424
+ blocks: _wrapProp(column, "blocks"),
4378
4425
  context: _fnSignal((p0) => p0.builderContext, [
4379
4426
  props
4380
4427
  ], "p0.builderContext"),
4381
4428
  parent: _fnSignal((p0) => p0.builderBlock.id, [
4382
4429
  props
4383
4430
  ], "p0.builderBlock.id"),
4384
- path: _IMMUTABLE,
4385
4431
  registeredComponents: _fnSignal((p0) => p0.builderComponents, [
4386
4432
  props
4387
4433
  ], "p0.builderComponents"),
@@ -5797,167 +5843,35 @@ const serializeComponentInfo = ({ inputs, ...info }) => ({
5797
5843
  [key]: serializeValue(value)
5798
5844
  }), {}))
5799
5845
  });
5800
- const getVariants = (content) => Object.values((content == null ? void 0 : content.variations) || {}).map((variant) => ({
5801
- ...variant,
5802
- testVariationId: variant.id,
5803
- id: content == null ? void 0 : content.id
5804
- }));
5805
- const checkShouldRunVariants = ({ canTrack, content }) => {
5806
- const hasVariants = getVariants(content).length > 0;
5807
- if (!hasVariants)
5808
- return false;
5809
- if (!canTrack)
5810
- return false;
5811
- if (isBrowser())
5812
- return false;
5813
- return true;
5814
- };
5815
- function bldrAbTest(contentId, variants, isHydrationTarget2) {
5816
- var _a;
5817
- function getAndSetVariantId2() {
5818
- function setCookie2(name, value, days) {
5819
- let expires = "";
5820
- if (days) {
5821
- const date = /* @__PURE__ */ new Date();
5822
- date.setTime(date.getTime() + days * 864e5);
5823
- expires = "; expires=" + date.toUTCString();
5824
- }
5825
- document.cookie = name + "=" + (value || "") + expires + "; path=/; Secure; SameSite=None";
5826
- }
5827
- function getCookie2(name) {
5828
- const nameEQ = name + "=";
5829
- const ca2 = document.cookie.split(";");
5830
- for (let i = 0; i < ca2.length; i++) {
5831
- let c = ca2[i];
5832
- while (c.charAt(0) === " ")
5833
- c = c.substring(1, c.length);
5834
- if (c.indexOf(nameEQ) === 0)
5835
- return c.substring(nameEQ.length, c.length);
5836
- }
5837
- return null;
5838
- }
5839
- const cookieName = `builder.tests.${contentId}`;
5840
- const variantInCookie = getCookie2(cookieName);
5841
- const availableIDs = variants.map((vr) => vr.id).concat(contentId);
5842
- if (variantInCookie && availableIDs.includes(variantInCookie))
5843
- return variantInCookie;
5844
- let n = 0;
5845
- const random = Math.random();
5846
- for (let i = 0; i < variants.length; i++) {
5847
- const variant = variants[i];
5848
- const testRatio = variant.testRatio;
5849
- n += testRatio;
5850
- if (random < n) {
5851
- setCookie2(cookieName, variant.id);
5852
- return variant.id;
5853
- }
5854
- }
5855
- setCookie2(cookieName, contentId);
5856
- return contentId;
5857
- }
5858
- const winningVariantId = getAndSetVariantId2();
5859
- const styleEl = (_a = document.currentScript) == null ? void 0 : _a.previousElementSibling;
5860
- if (isHydrationTarget2) {
5861
- styleEl.remove();
5862
- const thisScriptEl = document.currentScript;
5863
- thisScriptEl == null ? void 0 : thisScriptEl.remove();
5864
- } else {
5865
- const newStyleStr = variants.concat({
5866
- id: contentId
5867
- }).filter((variant) => variant.id !== winningVariantId).map((value) => {
5868
- return `.variant-${value.id} { display: none; }
5869
- `;
5870
- }).join("");
5871
- styleEl.innerHTML = newStyleStr;
5846
+ const InlinedScript = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) => {
5847
+ return /* @__PURE__ */ _jsxQ("script", null, {
5848
+ dangerouslySetInnerHTML: _fnSignal((p0) => p0.scriptStr, [
5849
+ props
5850
+ ], "p0.scriptStr"),
5851
+ id: _fnSignal((p0) => p0.id, [
5852
+ props
5853
+ ], "p0.id")
5854
+ }, null, 3, "WO_0");
5855
+ }, "InlinedScript_component_hwThBdhA8rw"));
5856
+ function getGlobalThis() {
5857
+ if (typeof globalThis !== "undefined")
5858
+ return globalThis;
5859
+ if (typeof window !== "undefined")
5860
+ return window;
5861
+ if (typeof global !== "undefined")
5862
+ return global;
5863
+ if (typeof self !== "undefined")
5864
+ return self;
5865
+ return globalThis;
5866
+ }
5867
+ function getFetch() {
5868
+ const globalFetch = getGlobalThis().fetch;
5869
+ if (typeof globalFetch === "undefined") {
5870
+ console.warn(`Builder SDK could not find a global fetch function. Make sure you have a polyfill for fetch in your project.
5871
+ For more information, read https://github.com/BuilderIO/this-package-uses-fetch`);
5872
+ throw new Error("Builder SDK could not find a global `fetch` function");
5872
5873
  }
5873
- }
5874
- function bldrCntntScrpt(variantContentId, defaultContentId, isHydrationTarget2) {
5875
- var _a;
5876
- if (!navigator.cookieEnabled)
5877
- return;
5878
- function getCookie2(name) {
5879
- const nameEQ = name + "=";
5880
- const ca2 = document.cookie.split(";");
5881
- for (let i = 0; i < ca2.length; i++) {
5882
- let c = ca2[i];
5883
- while (c.charAt(0) === " ")
5884
- c = c.substring(1, c.length);
5885
- if (c.indexOf(nameEQ) === 0)
5886
- return c.substring(nameEQ.length, c.length);
5887
- }
5888
- return null;
5889
- }
5890
- const cookieName = `builder.tests.${defaultContentId}`;
5891
- const variantId = getCookie2(cookieName);
5892
- const parentDiv = (_a = document.currentScript) == null ? void 0 : _a.parentElement;
5893
- const variantIsDefaultContent = variantContentId === defaultContentId;
5894
- if (variantId === variantContentId) {
5895
- if (variantIsDefaultContent)
5896
- return;
5897
- parentDiv == null ? void 0 : parentDiv.removeAttribute("hidden");
5898
- parentDiv == null ? void 0 : parentDiv.removeAttribute("aria-hidden");
5899
- } else {
5900
- if (variantIsDefaultContent) {
5901
- if (isHydrationTarget2)
5902
- parentDiv == null ? void 0 : parentDiv.remove();
5903
- else {
5904
- parentDiv == null ? void 0 : parentDiv.setAttribute("hidden", "true");
5905
- parentDiv == null ? void 0 : parentDiv.setAttribute("aria-hidden", "true");
5906
- }
5907
- }
5908
- return;
5909
- }
5910
- return;
5911
- }
5912
- const getIsHydrationTarget = (target) => target === "react" || target === "reactNative";
5913
- const isHydrationTarget = getIsHydrationTarget(TARGET);
5914
- const AB_TEST_FN_NAME = "builderIoAbTest";
5915
- const CONTENT_FN_NAME = "builderIoRenderContent";
5916
- const getScriptString = () => {
5917
- const fnStr = bldrAbTest.toString().replace(/\s+/g, " ");
5918
- const fnStr2 = bldrCntntScrpt.toString().replace(/\s+/g, " ");
5919
- return `
5920
- window.${AB_TEST_FN_NAME} = ${fnStr}
5921
- window.${CONTENT_FN_NAME} = ${fnStr2}
5922
- `;
5923
- };
5924
- const getVariantsScriptString = (variants, contentId) => {
5925
- return `
5926
- window.${AB_TEST_FN_NAME}("${contentId}",${JSON.stringify(variants)}, ${isHydrationTarget})`;
5927
- };
5928
- const getRenderContentScriptString = ({ contentId, variationId }) => {
5929
- return `
5930
- window.${CONTENT_FN_NAME}("${variationId}", "${contentId}", ${isHydrationTarget})`;
5931
- };
5932
- const InlinedScript = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) => {
5933
- return /* @__PURE__ */ _jsxQ("script", null, {
5934
- dangerouslySetInnerHTML: _fnSignal((p0) => p0.scriptStr, [
5935
- props
5936
- ], "p0.scriptStr"),
5937
- id: _fnSignal((p0) => p0.id, [
5938
- props
5939
- ], "p0.id")
5940
- }, null, 3, "WO_0");
5941
- }, "InlinedScript_component_hwThBdhA8rw"));
5942
- function getGlobalThis() {
5943
- if (typeof globalThis !== "undefined")
5944
- return globalThis;
5945
- if (typeof window !== "undefined")
5946
- return window;
5947
- if (typeof global !== "undefined")
5948
- return global;
5949
- if (typeof self !== "undefined")
5950
- return self;
5951
- return globalThis;
5952
- }
5953
- function getFetch() {
5954
- const globalFetch = getGlobalThis().fetch;
5955
- if (typeof globalFetch === "undefined") {
5956
- console.warn(`Builder SDK could not find a global fetch function. Make sure you have a polyfill for fetch in your project.
5957
- For more information, read https://github.com/BuilderIO/this-package-uses-fetch`);
5958
- throw new Error("Builder SDK could not find a global `fetch` function");
5959
- }
5960
- return globalFetch;
5874
+ return globalFetch;
5961
5875
  }
5962
5876
  const fetch$1 = getFetch();
5963
5877
  function flatten(object, path = null, separator = ".") {
@@ -6182,48 +6096,6 @@ const setVisitorId = ({ id: id2, canTrack }) => setLocalStorageItem({
6182
6096
  value: id2,
6183
6097
  canTrack
6184
6098
  });
6185
- const getLocation = () => {
6186
- if (isBrowser()) {
6187
- const parsedLocation = new URL(location.href);
6188
- if (parsedLocation.pathname === "")
6189
- parsedLocation.pathname = "/";
6190
- return parsedLocation;
6191
- } else {
6192
- console.warn("Cannot get location for tracking in non-browser environment");
6193
- return null;
6194
- }
6195
- };
6196
- const getUserAgent = () => typeof navigator === "object" && navigator.userAgent || "";
6197
- const getUserAttributes = () => {
6198
- const userAgent = getUserAgent();
6199
- const isMobile = {
6200
- Android() {
6201
- return userAgent.match(/Android/i);
6202
- },
6203
- BlackBerry() {
6204
- return userAgent.match(/BlackBerry/i);
6205
- },
6206
- iOS() {
6207
- return userAgent.match(/iPhone|iPod/i);
6208
- },
6209
- Opera() {
6210
- return userAgent.match(/Opera Mini/i);
6211
- },
6212
- Windows() {
6213
- return userAgent.match(/IEMobile/i) || userAgent.match(/WPDesktop/i);
6214
- },
6215
- any() {
6216
- return isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows() || TARGET === "reactNative";
6217
- }
6218
- };
6219
- const isTablet = userAgent.match(/Tablet|iPad/i);
6220
- const url = getLocation();
6221
- return {
6222
- urlPath: url == null ? void 0 : url.pathname,
6223
- host: (url == null ? void 0 : url.host) || (url == null ? void 0 : url.hostname),
6224
- device: isTablet ? "tablet" : isMobile.any() ? "mobile" : "desktop"
6225
- };
6226
- };
6227
6099
  const getTrackingEventData = async ({ canTrack }) => {
6228
6100
  if (!canTrack)
6229
6101
  return {
@@ -6469,6 +6341,1257 @@ const setupBrowserForEditing = (options = {}) => {
6469
6341
  });
6470
6342
  }
6471
6343
  };
6344
+ const MODIFIED_COLUMNS = {
6345
+ "createdBy": "OcOewqA7uqVVlVfqY453F8vgcc33",
6346
+ "createdDate": 1644861548711,
6347
+ "data": {
6348
+ "title": "Columns",
6349
+ "blocks": [
6350
+ {
6351
+ "@type": "@builder.io/sdk:Element",
6352
+ "@version": 2,
6353
+ "id": "builder-20b0d28f7838498bbc6f660a3d037835",
6354
+ "component": {
6355
+ "name": "Core:Button",
6356
+ "options": {
6357
+ "text": "Go back home",
6358
+ "link": "/"
6359
+ }
6360
+ },
6361
+ "responsiveStyles": {
6362
+ "large": {
6363
+ "display": "flex",
6364
+ "flexDirection": "column",
6365
+ "position": "relative",
6366
+ "flexShrink": "0",
6367
+ "boxSizing": "border-box",
6368
+ "marginTop": "20px",
6369
+ "appearance": "none",
6370
+ "paddingTop": "15px",
6371
+ "paddingBottom": "15px",
6372
+ "paddingLeft": "25px",
6373
+ "paddingRight": "25px",
6374
+ "backgroundColor": "#3898EC",
6375
+ "color": "white",
6376
+ "borderRadius": "4px",
6377
+ "textAlign": "center",
6378
+ "cursor": "pointer",
6379
+ "marginLeft": "auto"
6380
+ },
6381
+ "small": {
6382
+ "marginLeft": "auto",
6383
+ "marginRight": "auto"
6384
+ }
6385
+ }
6386
+ },
6387
+ {
6388
+ "@type": "@builder.io/sdk:Element",
6389
+ "@version": 2,
6390
+ "id": "builder-92c438f62b744699bbc818f81454418c",
6391
+ "component": {
6392
+ "name": "Text",
6393
+ "options": {
6394
+ "text": "<h1>Columns</h1>"
6395
+ }
6396
+ },
6397
+ "responsiveStyles": {
6398
+ "large": {
6399
+ "display": "flex",
6400
+ "flexDirection": "column",
6401
+ "position": "relative",
6402
+ "flexShrink": "0",
6403
+ "boxSizing": "border-box",
6404
+ "marginTop": "20px",
6405
+ "lineHeight": "normal",
6406
+ "height": "auto",
6407
+ "textAlign": "center"
6408
+ }
6409
+ }
6410
+ },
6411
+ {
6412
+ "@type": "@builder.io/sdk:Element",
6413
+ "@version": 2,
6414
+ "id": "builder-1253ebf62a87451db1a31e103189b5bb",
6415
+ "children": [
6416
+ {
6417
+ "@type": "@builder.io/sdk:Element",
6418
+ "@version": 2,
6419
+ "id": "builder-330e798bc0a1405fb04d8a3dce06ff99",
6420
+ "component": {
6421
+ "name": "Text",
6422
+ "options": {
6423
+ "text": "<h3>Stack at tablet</h3>"
6424
+ }
6425
+ },
6426
+ "responsiveStyles": {
6427
+ "large": {
6428
+ "display": "flex",
6429
+ "flexDirection": "column",
6430
+ "position": "relative",
6431
+ "flexShrink": "0",
6432
+ "boxSizing": "border-box",
6433
+ "marginTop": "20px",
6434
+ "lineHeight": "normal",
6435
+ "height": "auto",
6436
+ "textAlign": "center"
6437
+ }
6438
+ }
6439
+ },
6440
+ {
6441
+ "@type": "@builder.io/sdk:Element",
6442
+ "@version": 2,
6443
+ "id": "builder-25c64e9c18804f46b73985264df3c41c",
6444
+ "component": {
6445
+ "name": "Columns",
6446
+ "options": {
6447
+ "columns": [
6448
+ {
6449
+ "blocks": [
6450
+ {
6451
+ "@type": "@builder.io/sdk:Element",
6452
+ "@version": 2,
6453
+ "id": "builder-fa35a394778842b1a9e780a54a3b49a7",
6454
+ "component": {
6455
+ "name": "Image",
6456
+ "options": {
6457
+ "image": "https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=990",
6458
+ "backgroundPosition": "center",
6459
+ "backgroundSize": "cover",
6460
+ "aspectRatio": 0.7004048582995948,
6461
+ "lazy": false,
6462
+ "srcset": "https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=100 100w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=200 200w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=400 400w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=800 800w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=1200 1200w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=1600 1600w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=2000 2000w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=990 990w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=630 630w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=586 586w",
6463
+ "sizes": "(max-width: 638px) 99vw, (max-width: 998px) 100vw, 42vw"
6464
+ }
6465
+ },
6466
+ "responsiveStyles": {
6467
+ "large": {
6468
+ "display": "flex",
6469
+ "flexDirection": "column",
6470
+ "alignItems": "stretch",
6471
+ "flexShrink": "0",
6472
+ "position": "relative",
6473
+ "marginTop": "30px",
6474
+ "textAlign": "center",
6475
+ "lineHeight": "normal",
6476
+ "height": "auto",
6477
+ "minHeight": "20px",
6478
+ "minWidth": "20px",
6479
+ "overflow": "hidden"
6480
+ },
6481
+ "small": {
6482
+ "maxHeight": "200px",
6483
+ "maxWidth": "200px"
6484
+ }
6485
+ }
6486
+ },
6487
+ {
6488
+ "@type": "@builder.io/sdk:Element",
6489
+ "@version": 2,
6490
+ "id": "builder-71c14581f362486eb24214d27c0c24d0",
6491
+ "component": {
6492
+ "name": "Text",
6493
+ "options": {
6494
+ "text": "UPDATED TEXT!"
6495
+ }
6496
+ },
6497
+ "responsiveStyles": {
6498
+ "large": {
6499
+ "display": "flex",
6500
+ "flexDirection": "column",
6501
+ "alignItems": "stretch",
6502
+ "flexShrink": "0",
6503
+ "position": "relative",
6504
+ "marginTop": "30px",
6505
+ "textAlign": "center",
6506
+ "lineHeight": "normal",
6507
+ "height": "auto"
6508
+ }
6509
+ }
6510
+ },
6511
+ {
6512
+ "@type": "@builder.io/sdk:Element",
6513
+ "@version": 2,
6514
+ "id": "builder-b70d96812f4845268f5a4e9deb4411f2",
6515
+ "component": {
6516
+ "name": "Text",
6517
+ "options": {
6518
+ "text": "<p>more text in column 1</p>"
6519
+ }
6520
+ },
6521
+ "responsiveStyles": {
6522
+ "large": {
6523
+ "display": "flex",
6524
+ "flexDirection": "column",
6525
+ "position": "relative",
6526
+ "flexShrink": "0",
6527
+ "boxSizing": "border-box",
6528
+ "marginTop": "20px",
6529
+ "lineHeight": "normal",
6530
+ "height": "auto",
6531
+ "textAlign": "center"
6532
+ }
6533
+ }
6534
+ }
6535
+ ]
6536
+ },
6537
+ {
6538
+ "blocks": [
6539
+ {
6540
+ "@type": "@builder.io/sdk:Element",
6541
+ "@version": 2,
6542
+ "id": "builder-be56c8d76c684759952d6633dafd6bb7",
6543
+ "component": {
6544
+ "name": "Image",
6545
+ "options": {
6546
+ "image": "https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=990",
6547
+ "backgroundPosition": "center",
6548
+ "backgroundSize": "cover",
6549
+ "aspectRatio": 0.7004048582995948,
6550
+ "lazy": false,
6551
+ "srcset": "https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=100 100w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=200 200w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=400 400w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=800 800w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=1200 1200w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=1600 1600w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=2000 2000w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=990 990w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=630 630w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=586 586w",
6552
+ "sizes": "(max-width: 638px) 99vw, (max-width: 998px) 100vw, 42vw"
6553
+ }
6554
+ },
6555
+ "responsiveStyles": {
6556
+ "large": {
6557
+ "display": "flex",
6558
+ "flexDirection": "column",
6559
+ "alignItems": "stretch",
6560
+ "flexShrink": "0",
6561
+ "position": "relative",
6562
+ "marginTop": "30px",
6563
+ "textAlign": "center",
6564
+ "lineHeight": "normal",
6565
+ "height": "auto",
6566
+ "minHeight": "20px",
6567
+ "minWidth": "20px",
6568
+ "overflow": "hidden"
6569
+ },
6570
+ "small": {
6571
+ "maxHeight": "200px",
6572
+ "maxWidth": "200px"
6573
+ }
6574
+ }
6575
+ },
6576
+ {
6577
+ "@type": "@builder.io/sdk:Element",
6578
+ "@version": 2,
6579
+ "id": "builder-a76f13775bfd440e9656226ef820fcd2",
6580
+ "component": {
6581
+ "name": "Text",
6582
+ "options": {
6583
+ "text": "<p>text in column 2</p>"
6584
+ }
6585
+ },
6586
+ "responsiveStyles": {
6587
+ "large": {
6588
+ "display": "flex",
6589
+ "flexDirection": "column",
6590
+ "alignItems": "stretch",
6591
+ "flexShrink": "0",
6592
+ "position": "relative",
6593
+ "marginTop": "30px",
6594
+ "textAlign": "center",
6595
+ "lineHeight": "normal",
6596
+ "height": "auto"
6597
+ }
6598
+ }
6599
+ }
6600
+ ]
6601
+ }
6602
+ ],
6603
+ "space": 20,
6604
+ "stackColumnsAt": "tablet"
6605
+ }
6606
+ },
6607
+ "responsiveStyles": {
6608
+ "large": {
6609
+ "display": "flex",
6610
+ "flexDirection": "column",
6611
+ "position": "relative",
6612
+ "flexShrink": "0",
6613
+ "boxSizing": "border-box",
6614
+ "marginTop": "20px"
6615
+ }
6616
+ }
6617
+ }
6618
+ ],
6619
+ "responsiveStyles": {
6620
+ "large": {
6621
+ "display": "flex",
6622
+ "flexDirection": "column",
6623
+ "position": "relative",
6624
+ "flexShrink": "0",
6625
+ "boxSizing": "border-box",
6626
+ "marginTop": "20px",
6627
+ "height": "auto",
6628
+ "paddingBottom": "30px",
6629
+ "borderStyle": "solid",
6630
+ "borderColor": "rgba(207, 52, 52, 1)",
6631
+ "borderWidth": "4px"
6632
+ }
6633
+ }
6634
+ },
6635
+ {
6636
+ "@type": "@builder.io/sdk:Element",
6637
+ "@version": 2,
6638
+ "id": "builder-ccb8d32210c04e8c80bc1e7fe1677b7f",
6639
+ "children": [
6640
+ {
6641
+ "@type": "@builder.io/sdk:Element",
6642
+ "@version": 2,
6643
+ "id": "builder-92317b99fd0b4393adbf59d2337fec8c",
6644
+ "component": {
6645
+ "name": "Text",
6646
+ "options": {
6647
+ "text": "<h3>Tablet, reverse</h3>"
6648
+ }
6649
+ },
6650
+ "responsiveStyles": {
6651
+ "large": {
6652
+ "display": "flex",
6653
+ "flexDirection": "column",
6654
+ "position": "relative",
6655
+ "flexShrink": "0",
6656
+ "boxSizing": "border-box",
6657
+ "marginTop": "20px",
6658
+ "lineHeight": "normal",
6659
+ "height": "auto",
6660
+ "textAlign": "center"
6661
+ }
6662
+ }
6663
+ },
6664
+ {
6665
+ "@type": "@builder.io/sdk:Element",
6666
+ "@version": 2,
6667
+ "id": "builder-6e2c6a142cd84d8ca3cf88c20f63635b",
6668
+ "component": {
6669
+ "name": "Columns",
6670
+ "options": {
6671
+ "columns": [
6672
+ {
6673
+ "blocks": [
6674
+ {
6675
+ "@type": "@builder.io/sdk:Element",
6676
+ "@version": 2,
6677
+ "id": "builder-f6867b68fa5f4fd3bd845509ba0bf196",
6678
+ "component": {
6679
+ "name": "Image",
6680
+ "options": {
6681
+ "image": "https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=990",
6682
+ "backgroundPosition": "center",
6683
+ "backgroundSize": "cover",
6684
+ "aspectRatio": 0.7004048582995948,
6685
+ "lazy": false,
6686
+ "srcset": "https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=100 100w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=200 200w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=400 400w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=800 800w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=1200 1200w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=1600 1600w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=2000 2000w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=990 990w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=630 630w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=586 586w",
6687
+ "sizes": "(max-width: 638px) 99vw, (max-width: 998px) 100vw, 42vw"
6688
+ }
6689
+ },
6690
+ "responsiveStyles": {
6691
+ "large": {
6692
+ "display": "flex",
6693
+ "flexDirection": "column",
6694
+ "alignItems": "stretch",
6695
+ "flexShrink": "0",
6696
+ "position": "relative",
6697
+ "marginTop": "30px",
6698
+ "textAlign": "center",
6699
+ "lineHeight": "normal",
6700
+ "height": "auto",
6701
+ "minHeight": "20px",
6702
+ "minWidth": "20px",
6703
+ "overflow": "hidden"
6704
+ },
6705
+ "small": {
6706
+ "maxHeight": "200px",
6707
+ "marginTop": "29px",
6708
+ "maxWidth": "200px"
6709
+ }
6710
+ }
6711
+ },
6712
+ {
6713
+ "@type": "@builder.io/sdk:Element",
6714
+ "@version": 2,
6715
+ "id": "builder-4d3da6f276d04a29a4910d024ab69b8f",
6716
+ "component": {
6717
+ "name": "Text",
6718
+ "options": {
6719
+ "text": "<p>text in column 1</p>"
6720
+ }
6721
+ },
6722
+ "responsiveStyles": {
6723
+ "large": {
6724
+ "display": "flex",
6725
+ "flexDirection": "column",
6726
+ "alignItems": "stretch",
6727
+ "flexShrink": "0",
6728
+ "position": "relative",
6729
+ "marginTop": "30px",
6730
+ "textAlign": "center",
6731
+ "lineHeight": "normal",
6732
+ "height": "auto"
6733
+ }
6734
+ }
6735
+ },
6736
+ {
6737
+ "@type": "@builder.io/sdk:Element",
6738
+ "@version": 2,
6739
+ "id": "builder-a0ffc4156fa34b9392bdabe63265e986",
6740
+ "component": {
6741
+ "name": "Text",
6742
+ "options": {
6743
+ "text": "<p>more text in column 1</p>"
6744
+ }
6745
+ },
6746
+ "responsiveStyles": {
6747
+ "large": {
6748
+ "display": "flex",
6749
+ "flexDirection": "column",
6750
+ "position": "relative",
6751
+ "flexShrink": "0",
6752
+ "boxSizing": "border-box",
6753
+ "marginTop": "20px",
6754
+ "lineHeight": "normal",
6755
+ "height": "auto",
6756
+ "textAlign": "center"
6757
+ }
6758
+ }
6759
+ },
6760
+ {
6761
+ "@type": "@builder.io/sdk:Element",
6762
+ "@version": 2,
6763
+ "id": "builder-95f6aa245166450f9d6af877656ddde5",
6764
+ "component": {
6765
+ "name": "Image",
6766
+ "options": {
6767
+ "image": "https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=990",
6768
+ "backgroundPosition": "center",
6769
+ "backgroundSize": "cover",
6770
+ "aspectRatio": 0.7004048582995948,
6771
+ "lazy": false,
6772
+ "srcset": "https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=100 100w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=200 200w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=400 400w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=800 800w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=1200 1200w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=1600 1600w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=2000 2000w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=990 990w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=630 630w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=586 586w",
6773
+ "sizes": "(max-width: 638px) 99vw, (max-width: 998px) 100vw, 42vw"
6774
+ }
6775
+ },
6776
+ "responsiveStyles": {
6777
+ "large": {
6778
+ "display": "flex",
6779
+ "flexDirection": "column",
6780
+ "alignItems": "stretch",
6781
+ "flexShrink": "0",
6782
+ "position": "relative",
6783
+ "marginTop": "30px",
6784
+ "textAlign": "center",
6785
+ "lineHeight": "normal",
6786
+ "height": "auto",
6787
+ "minHeight": "20px",
6788
+ "minWidth": "20px",
6789
+ "overflow": "hidden"
6790
+ },
6791
+ "small": {
6792
+ "maxHeight": "200px",
6793
+ "maxWidth": "200px"
6794
+ }
6795
+ }
6796
+ }
6797
+ ]
6798
+ },
6799
+ {
6800
+ "blocks": [
6801
+ {
6802
+ "@type": "@builder.io/sdk:Element",
6803
+ "@version": 2,
6804
+ "id": "builder-e52cbe382c5649949ea3c80618f8a226",
6805
+ "component": {
6806
+ "name": "Text",
6807
+ "options": {
6808
+ "text": "<p>text in column 2</p>"
6809
+ }
6810
+ },
6811
+ "responsiveStyles": {
6812
+ "large": {
6813
+ "display": "flex",
6814
+ "flexDirection": "column",
6815
+ "alignItems": "stretch",
6816
+ "flexShrink": "0",
6817
+ "position": "relative",
6818
+ "marginTop": "30px",
6819
+ "textAlign": "center",
6820
+ "lineHeight": "normal",
6821
+ "height": "auto"
6822
+ }
6823
+ }
6824
+ }
6825
+ ]
6826
+ }
6827
+ ],
6828
+ "space": 20,
6829
+ "stackColumnsAt": "tablet",
6830
+ "reverseColumnsWhenStacked": true
6831
+ }
6832
+ },
6833
+ "responsiveStyles": {
6834
+ "large": {
6835
+ "display": "flex",
6836
+ "flexDirection": "column",
6837
+ "position": "relative",
6838
+ "flexShrink": "0",
6839
+ "boxSizing": "border-box",
6840
+ "marginTop": "20px"
6841
+ }
6842
+ }
6843
+ }
6844
+ ],
6845
+ "responsiveStyles": {
6846
+ "large": {
6847
+ "display": "flex",
6848
+ "flexDirection": "column",
6849
+ "position": "relative",
6850
+ "flexShrink": "0",
6851
+ "boxSizing": "border-box",
6852
+ "marginTop": "20px",
6853
+ "height": "auto",
6854
+ "paddingBottom": "30px",
6855
+ "borderStyle": "solid",
6856
+ "borderColor": "rgba(52, 191, 207, 1)",
6857
+ "borderWidth": "4px"
6858
+ }
6859
+ }
6860
+ },
6861
+ {
6862
+ "@type": "@builder.io/sdk:Element",
6863
+ "@version": 2,
6864
+ "layerName": "Box",
6865
+ "id": "builder-bbcf573a81fd49aea653e0bde509c325",
6866
+ "children": [
6867
+ {
6868
+ "@type": "@builder.io/sdk:Element",
6869
+ "@version": 2,
6870
+ "id": "builder-64d3b1c02ba44ba4af4a672a4fc3c23c",
6871
+ "component": {
6872
+ "name": "Text",
6873
+ "options": {
6874
+ "text": "<h3>Stack at mobile</h3>"
6875
+ }
6876
+ },
6877
+ "responsiveStyles": {
6878
+ "large": {
6879
+ "display": "flex",
6880
+ "flexDirection": "column",
6881
+ "position": "relative",
6882
+ "flexShrink": "0",
6883
+ "boxSizing": "border-box",
6884
+ "marginTop": "20px",
6885
+ "lineHeight": "normal",
6886
+ "height": "auto",
6887
+ "textAlign": "center"
6888
+ }
6889
+ }
6890
+ },
6891
+ {
6892
+ "@type": "@builder.io/sdk:Element",
6893
+ "@version": 2,
6894
+ "id": "builder-d06032a1fb514917add773bd1004392f",
6895
+ "component": {
6896
+ "name": "Columns",
6897
+ "options": {
6898
+ "columns": [
6899
+ {
6900
+ "blocks": [
6901
+ {
6902
+ "@type": "@builder.io/sdk:Element",
6903
+ "@version": 2,
6904
+ "id": "builder-69e5c0267cca4dc398f1e15be98e9eb9",
6905
+ "component": {
6906
+ "name": "Image",
6907
+ "options": {
6908
+ "image": "https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=990",
6909
+ "backgroundPosition": "center",
6910
+ "backgroundSize": "cover",
6911
+ "aspectRatio": 0.7004048582995948,
6912
+ "lazy": false,
6913
+ "srcset": "https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=100 100w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=200 200w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=400 400w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=800 800w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=1200 1200w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=1600 1600w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=2000 2000w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=990 990w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=630 630w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=586 586w",
6914
+ "sizes": "(max-width: 638px) 99vw, (max-width: 998px) 100vw, 42vw"
6915
+ }
6916
+ },
6917
+ "responsiveStyles": {
6918
+ "large": {
6919
+ "display": "flex",
6920
+ "flexDirection": "column",
6921
+ "alignItems": "stretch",
6922
+ "flexShrink": "0",
6923
+ "position": "relative",
6924
+ "marginTop": "30px",
6925
+ "textAlign": "center",
6926
+ "lineHeight": "normal",
6927
+ "height": "auto",
6928
+ "minHeight": "20px",
6929
+ "minWidth": "20px",
6930
+ "overflow": "hidden"
6931
+ },
6932
+ "small": {
6933
+ "maxHeight": "200px",
6934
+ "maxWidth": "200px"
6935
+ }
6936
+ }
6937
+ },
6938
+ {
6939
+ "@type": "@builder.io/sdk:Element",
6940
+ "@version": 2,
6941
+ "id": "builder-d5f1a9f711b242e68e001d2aed4e6e75",
6942
+ "component": {
6943
+ "name": "Text",
6944
+ "options": {
6945
+ "text": "<p>text in column 1</p>"
6946
+ }
6947
+ },
6948
+ "responsiveStyles": {
6949
+ "large": {
6950
+ "display": "flex",
6951
+ "flexDirection": "column",
6952
+ "alignItems": "stretch",
6953
+ "flexShrink": "0",
6954
+ "position": "relative",
6955
+ "marginTop": "30px",
6956
+ "textAlign": "center",
6957
+ "lineHeight": "normal",
6958
+ "height": "auto"
6959
+ }
6960
+ }
6961
+ },
6962
+ {
6963
+ "@type": "@builder.io/sdk:Element",
6964
+ "@version": 2,
6965
+ "id": "builder-b387d9862a944a29a440ea9986a102a1",
6966
+ "component": {
6967
+ "name": "Text",
6968
+ "options": {
6969
+ "text": "<p>more text in column 1</p>"
6970
+ }
6971
+ },
6972
+ "responsiveStyles": {
6973
+ "large": {
6974
+ "display": "flex",
6975
+ "flexDirection": "column",
6976
+ "position": "relative",
6977
+ "flexShrink": "0",
6978
+ "boxSizing": "border-box",
6979
+ "marginTop": "20px",
6980
+ "lineHeight": "normal",
6981
+ "height": "auto",
6982
+ "textAlign": "center"
6983
+ }
6984
+ }
6985
+ }
6986
+ ]
6987
+ },
6988
+ {
6989
+ "blocks": [
6990
+ {
6991
+ "@type": "@builder.io/sdk:Element",
6992
+ "@version": 2,
6993
+ "id": "builder-b425ebd84fea4a3bbf9a387f4b8a2b58",
6994
+ "component": {
6995
+ "name": "Image",
6996
+ "options": {
6997
+ "image": "https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=990",
6998
+ "backgroundPosition": "center",
6999
+ "backgroundSize": "cover",
7000
+ "aspectRatio": 0.7004048582995948,
7001
+ "lazy": false,
7002
+ "srcset": "https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=100 100w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=200 200w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=400 400w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=800 800w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=1200 1200w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=1600 1600w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=2000 2000w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=990 990w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=630 630w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=586 586w",
7003
+ "sizes": "(max-width: 638px) 99vw, (max-width: 998px) 100vw, 42vw"
7004
+ }
7005
+ },
7006
+ "responsiveStyles": {
7007
+ "large": {
7008
+ "display": "flex",
7009
+ "flexDirection": "column",
7010
+ "alignItems": "stretch",
7011
+ "flexShrink": "0",
7012
+ "position": "relative",
7013
+ "marginTop": "30px",
7014
+ "textAlign": "center",
7015
+ "lineHeight": "normal",
7016
+ "height": "auto",
7017
+ "minHeight": "20px",
7018
+ "minWidth": "20px",
7019
+ "overflow": "hidden"
7020
+ },
7021
+ "small": {
7022
+ "maxHeight": "200px"
7023
+ }
7024
+ }
7025
+ },
7026
+ {
7027
+ "@type": "@builder.io/sdk:Element",
7028
+ "@version": 2,
7029
+ "id": "builder-60cddbdd0b2f45138b2bf6ec33e68d7f",
7030
+ "component": {
7031
+ "name": "Text",
7032
+ "options": {
7033
+ "text": "<p>text in column 2</p>"
7034
+ }
7035
+ },
7036
+ "responsiveStyles": {
7037
+ "large": {
7038
+ "display": "flex",
7039
+ "flexDirection": "column",
7040
+ "alignItems": "stretch",
7041
+ "flexShrink": "0",
7042
+ "position": "relative",
7043
+ "marginTop": "30px",
7044
+ "textAlign": "center",
7045
+ "lineHeight": "normal",
7046
+ "height": "auto"
7047
+ }
7048
+ }
7049
+ }
7050
+ ]
7051
+ }
7052
+ ],
7053
+ "space": 20,
7054
+ "stackColumnsAt": "mobile",
7055
+ "reverseColumnsWhenStacked": false
7056
+ }
7057
+ },
7058
+ "responsiveStyles": {
7059
+ "large": {
7060
+ "display": "flex",
7061
+ "flexDirection": "column",
7062
+ "position": "relative",
7063
+ "flexShrink": "0",
7064
+ "boxSizing": "border-box",
7065
+ "marginTop": "20px"
7066
+ }
7067
+ }
7068
+ }
7069
+ ],
7070
+ "responsiveStyles": {
7071
+ "large": {
7072
+ "display": "flex",
7073
+ "flexDirection": "column",
7074
+ "position": "relative",
7075
+ "flexShrink": "0",
7076
+ "boxSizing": "border-box",
7077
+ "marginTop": "20px",
7078
+ "height": "auto",
7079
+ "paddingBottom": "30px",
7080
+ "borderStyle": "solid",
7081
+ "borderColor": "rgba(102, 207, 52, 1)",
7082
+ "borderWidth": "4px"
7083
+ }
7084
+ }
7085
+ },
7086
+ {
7087
+ "@type": "@builder.io/sdk:Element",
7088
+ "@version": 2,
7089
+ "id": "builder-86dec6c0db8b487687de2d39d6e7aab9",
7090
+ "children": [
7091
+ {
7092
+ "@type": "@builder.io/sdk:Element",
7093
+ "@version": 2,
7094
+ "id": "builder-5cae291c046245a9a9c30fc152ba9d39",
7095
+ "component": {
7096
+ "name": "Text",
7097
+ "options": {
7098
+ "text": "<h3>Mobile, reverse</h3>"
7099
+ }
7100
+ },
7101
+ "responsiveStyles": {
7102
+ "large": {
7103
+ "display": "flex",
7104
+ "flexDirection": "column",
7105
+ "position": "relative",
7106
+ "flexShrink": "0",
7107
+ "boxSizing": "border-box",
7108
+ "marginTop": "20px",
7109
+ "lineHeight": "normal",
7110
+ "height": "auto",
7111
+ "textAlign": "center"
7112
+ }
7113
+ }
7114
+ },
7115
+ {
7116
+ "@type": "@builder.io/sdk:Element",
7117
+ "@version": 2,
7118
+ "id": "builder-652e5e9c32164620ae651b4b8f2938dd",
7119
+ "component": {
7120
+ "name": "Columns",
7121
+ "options": {
7122
+ "columns": [
7123
+ {
7124
+ "blocks": [
7125
+ {
7126
+ "@type": "@builder.io/sdk:Element",
7127
+ "@version": 2,
7128
+ "id": "builder-822c0d0cbe7143648ea3f81d40a611c7",
7129
+ "component": {
7130
+ "name": "Image",
7131
+ "options": {
7132
+ "image": "https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=990",
7133
+ "backgroundPosition": "center",
7134
+ "backgroundSize": "cover",
7135
+ "aspectRatio": 0.7004048582995948,
7136
+ "lazy": false,
7137
+ "srcset": "https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=100 100w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=200 200w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=400 400w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=800 800w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=1200 1200w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=1600 1600w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=2000 2000w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=990 990w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=630 630w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=586 586w",
7138
+ "sizes": "(max-width: 638px) 99vw, (max-width: 998px) 100vw, 42vw"
7139
+ }
7140
+ },
7141
+ "responsiveStyles": {
7142
+ "large": {
7143
+ "display": "flex",
7144
+ "flexDirection": "column",
7145
+ "alignItems": "stretch",
7146
+ "flexShrink": "0",
7147
+ "position": "relative",
7148
+ "marginTop": "30px",
7149
+ "textAlign": "center",
7150
+ "lineHeight": "normal",
7151
+ "height": "auto",
7152
+ "minHeight": "20px",
7153
+ "minWidth": "20px",
7154
+ "overflow": "hidden"
7155
+ },
7156
+ "small": {
7157
+ "maxHeight": "200px",
7158
+ "maxWidth": "200px"
7159
+ }
7160
+ }
7161
+ },
7162
+ {
7163
+ "@type": "@builder.io/sdk:Element",
7164
+ "@version": 2,
7165
+ "id": "builder-6bf2300b907f4f3d9db0af0bd5d0aeaf",
7166
+ "component": {
7167
+ "name": "Text",
7168
+ "options": {
7169
+ "text": "<p>text in column 1</p>"
7170
+ }
7171
+ },
7172
+ "responsiveStyles": {
7173
+ "large": {
7174
+ "display": "flex",
7175
+ "flexDirection": "column",
7176
+ "alignItems": "stretch",
7177
+ "flexShrink": "0",
7178
+ "position": "relative",
7179
+ "marginTop": "30px",
7180
+ "textAlign": "center",
7181
+ "lineHeight": "normal",
7182
+ "height": "auto"
7183
+ }
7184
+ }
7185
+ },
7186
+ {
7187
+ "@type": "@builder.io/sdk:Element",
7188
+ "@version": 2,
7189
+ "id": "builder-6428878b0cfc478291dd9a9dcc373441",
7190
+ "component": {
7191
+ "name": "Text",
7192
+ "options": {
7193
+ "text": "<p>more text in column 1</p>"
7194
+ }
7195
+ },
7196
+ "responsiveStyles": {
7197
+ "large": {
7198
+ "display": "flex",
7199
+ "flexDirection": "column",
7200
+ "position": "relative",
7201
+ "flexShrink": "0",
7202
+ "boxSizing": "border-box",
7203
+ "marginTop": "20px",
7204
+ "lineHeight": "normal",
7205
+ "height": "auto",
7206
+ "textAlign": "center"
7207
+ }
7208
+ }
7209
+ }
7210
+ ]
7211
+ },
7212
+ {
7213
+ "blocks": [
7214
+ {
7215
+ "@type": "@builder.io/sdk:Element",
7216
+ "@version": 2,
7217
+ "id": "builder-c1e86e55860e426a8d943f7beb2cbc8f",
7218
+ "component": {
7219
+ "name": "Image",
7220
+ "options": {
7221
+ "image": "https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=990",
7222
+ "backgroundPosition": "center",
7223
+ "backgroundSize": "cover",
7224
+ "aspectRatio": 0.7004048582995948,
7225
+ "lazy": false,
7226
+ "srcset": "https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=100 100w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=200 200w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=400 400w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=800 800w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=1200 1200w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=1600 1600w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=2000 2000w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=990 990w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=630 630w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=586 586w",
7227
+ "sizes": "(max-width: 638px) 99vw, (max-width: 998px) 100vw, 42vw"
7228
+ }
7229
+ },
7230
+ "responsiveStyles": {
7231
+ "large": {
7232
+ "display": "flex",
7233
+ "flexDirection": "column",
7234
+ "alignItems": "stretch",
7235
+ "flexShrink": "0",
7236
+ "position": "relative",
7237
+ "marginTop": "30px",
7238
+ "textAlign": "center",
7239
+ "lineHeight": "normal",
7240
+ "height": "auto",
7241
+ "minHeight": "20px",
7242
+ "minWidth": "20px",
7243
+ "overflow": "hidden"
7244
+ },
7245
+ "small": {
7246
+ "maxHeight": "200px",
7247
+ "maxWidth": "200px"
7248
+ }
7249
+ }
7250
+ },
7251
+ {
7252
+ "@type": "@builder.io/sdk:Element",
7253
+ "@version": 2,
7254
+ "id": "builder-74bf2b6acadc4430bda4397db8e9c8a9",
7255
+ "component": {
7256
+ "name": "Text",
7257
+ "options": {
7258
+ "text": "<p>text in column 2</p>"
7259
+ }
7260
+ },
7261
+ "responsiveStyles": {
7262
+ "large": {
7263
+ "display": "flex",
7264
+ "flexDirection": "column",
7265
+ "alignItems": "stretch",
7266
+ "flexShrink": "0",
7267
+ "position": "relative",
7268
+ "marginTop": "30px",
7269
+ "textAlign": "center",
7270
+ "lineHeight": "normal",
7271
+ "height": "auto"
7272
+ }
7273
+ }
7274
+ }
7275
+ ]
7276
+ }
7277
+ ],
7278
+ "space": 20,
7279
+ "stackColumnsAt": "mobile",
7280
+ "reverseColumnsWhenStacked": true
7281
+ }
7282
+ },
7283
+ "responsiveStyles": {
7284
+ "large": {
7285
+ "display": "flex",
7286
+ "flexDirection": "column",
7287
+ "position": "relative",
7288
+ "flexShrink": "0",
7289
+ "boxSizing": "border-box",
7290
+ "marginTop": "20px"
7291
+ }
7292
+ }
7293
+ }
7294
+ ],
7295
+ "responsiveStyles": {
7296
+ "large": {
7297
+ "display": "flex",
7298
+ "flexDirection": "column",
7299
+ "position": "relative",
7300
+ "flexShrink": "0",
7301
+ "boxSizing": "border-box",
7302
+ "marginTop": "20px",
7303
+ "height": "auto",
7304
+ "paddingBottom": "30px",
7305
+ "borderStyle": "solid",
7306
+ "borderColor": "rgba(86, 52, 207, 1)",
7307
+ "borderWidth": "4px"
7308
+ }
7309
+ }
7310
+ },
7311
+ {
7312
+ "@type": "@builder.io/sdk:Element",
7313
+ "@version": 2,
7314
+ "id": "builder-21bd2e55352947afa52243efffda347e",
7315
+ "children": [
7316
+ {
7317
+ "@type": "@builder.io/sdk:Element",
7318
+ "@version": 2,
7319
+ "id": "builder-3c8548a227ac4a3c99a29f36a48f7c95",
7320
+ "component": {
7321
+ "name": "Text",
7322
+ "options": {
7323
+ "text": "<h3>Never stack</h3>"
7324
+ }
7325
+ },
7326
+ "responsiveStyles": {
7327
+ "large": {
7328
+ "display": "flex",
7329
+ "flexDirection": "column",
7330
+ "position": "relative",
7331
+ "flexShrink": "0",
7332
+ "boxSizing": "border-box",
7333
+ "marginTop": "20px",
7334
+ "lineHeight": "normal",
7335
+ "height": "auto",
7336
+ "textAlign": "center"
7337
+ }
7338
+ }
7339
+ },
7340
+ {
7341
+ "@type": "@builder.io/sdk:Element",
7342
+ "@version": 2,
7343
+ "id": "builder-0343cf1789b7421f9b64eef4e1ec801f",
7344
+ "component": {
7345
+ "name": "Columns",
7346
+ "options": {
7347
+ "columns": [
7348
+ {
7349
+ "blocks": [
7350
+ {
7351
+ "@type": "@builder.io/sdk:Element",
7352
+ "@version": 2,
7353
+ "id": "builder-a965faafa3d046d6846277bbf93524f5",
7354
+ "component": {
7355
+ "name": "Image",
7356
+ "options": {
7357
+ "image": "https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=990",
7358
+ "backgroundPosition": "center",
7359
+ "backgroundSize": "cover",
7360
+ "aspectRatio": 0.7004048582995948,
7361
+ "lazy": false,
7362
+ "srcset": "https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=100 100w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=200 200w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=400 400w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=800 800w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=1200 1200w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=1600 1600w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=2000 2000w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=990 990w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=630 630w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F48ad0c7692d940b4b0910420fb78d311?width=586 586w",
7363
+ "sizes": "(max-width: 638px) 99vw, (max-width: 998px) 100vw, 42vw"
7364
+ }
7365
+ },
7366
+ "responsiveStyles": {
7367
+ "large": {
7368
+ "display": "flex",
7369
+ "flexDirection": "column",
7370
+ "alignItems": "stretch",
7371
+ "flexShrink": "0",
7372
+ "position": "relative",
7373
+ "marginTop": "30px",
7374
+ "textAlign": "center",
7375
+ "lineHeight": "normal",
7376
+ "height": "auto",
7377
+ "minHeight": "20px",
7378
+ "minWidth": "20px",
7379
+ "overflow": "hidden"
7380
+ },
7381
+ "small": {
7382
+ "maxHeight": "200px",
7383
+ "maxWidth": "200px"
7384
+ }
7385
+ }
7386
+ },
7387
+ {
7388
+ "@type": "@builder.io/sdk:Element",
7389
+ "@version": 2,
7390
+ "id": "builder-34a2db960cfc4696b3b202eaaf5b4bde",
7391
+ "component": {
7392
+ "name": "Text",
7393
+ "options": {
7394
+ "text": "<p>text in column 1</p>"
7395
+ }
7396
+ },
7397
+ "responsiveStyles": {
7398
+ "large": {
7399
+ "display": "flex",
7400
+ "flexDirection": "column",
7401
+ "alignItems": "stretch",
7402
+ "flexShrink": "0",
7403
+ "position": "relative",
7404
+ "marginTop": "30px",
7405
+ "textAlign": "center",
7406
+ "lineHeight": "normal",
7407
+ "height": "auto"
7408
+ }
7409
+ }
7410
+ },
7411
+ {
7412
+ "@type": "@builder.io/sdk:Element",
7413
+ "@version": 2,
7414
+ "id": "builder-e39d9d6c565e4072aefb532fe18e55d8",
7415
+ "component": {
7416
+ "name": "Text",
7417
+ "options": {
7418
+ "text": "<p>more text in column 1</p>"
7419
+ }
7420
+ },
7421
+ "responsiveStyles": {
7422
+ "large": {
7423
+ "display": "flex",
7424
+ "flexDirection": "column",
7425
+ "position": "relative",
7426
+ "flexShrink": "0",
7427
+ "boxSizing": "border-box",
7428
+ "marginTop": "20px",
7429
+ "lineHeight": "normal",
7430
+ "height": "auto",
7431
+ "textAlign": "center"
7432
+ }
7433
+ }
7434
+ }
7435
+ ]
7436
+ },
7437
+ {
7438
+ "blocks": [
7439
+ {
7440
+ "@type": "@builder.io/sdk:Element",
7441
+ "@version": 2,
7442
+ "id": "builder-11b5a73611354686ba4f9bc092d72723",
7443
+ "component": {
7444
+ "name": "Image",
7445
+ "options": {
7446
+ "image": "https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=990",
7447
+ "backgroundPosition": "center",
7448
+ "backgroundSize": "cover",
7449
+ "aspectRatio": 0.7004048582995948,
7450
+ "lazy": false,
7451
+ "srcset": "https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=100 100w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=200 200w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=400 400w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=800 800w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=1200 1200w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=1600 1600w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=2000 2000w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=990 990w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=630 630w, https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2Fcb698d65565243aabcd89080f6f55bd8?width=586 586w",
7452
+ "sizes": "(max-width: 638px) 99vw, (max-width: 998px) 100vw, 42vw"
7453
+ }
7454
+ },
7455
+ "responsiveStyles": {
7456
+ "large": {
7457
+ "display": "flex",
7458
+ "flexDirection": "column",
7459
+ "alignItems": "stretch",
7460
+ "flexShrink": "0",
7461
+ "position": "relative",
7462
+ "marginTop": "30px",
7463
+ "textAlign": "center",
7464
+ "lineHeight": "normal",
7465
+ "height": "auto",
7466
+ "minHeight": "20px",
7467
+ "minWidth": "20px",
7468
+ "overflow": "hidden"
7469
+ },
7470
+ "small": {
7471
+ "maxHeight": "200px",
7472
+ "maxWidth": "200px"
7473
+ }
7474
+ }
7475
+ },
7476
+ {
7477
+ "@type": "@builder.io/sdk:Element",
7478
+ "@version": 2,
7479
+ "id": "builder-1355114f2fc841a790826cf4a5af14ad",
7480
+ "component": {
7481
+ "name": "Text",
7482
+ "options": {
7483
+ "text": "<p>text in column 2</p>"
7484
+ }
7485
+ },
7486
+ "responsiveStyles": {
7487
+ "large": {
7488
+ "display": "flex",
7489
+ "flexDirection": "column",
7490
+ "alignItems": "stretch",
7491
+ "flexShrink": "0",
7492
+ "position": "relative",
7493
+ "marginTop": "30px",
7494
+ "textAlign": "center",
7495
+ "lineHeight": "normal",
7496
+ "height": "auto"
7497
+ }
7498
+ }
7499
+ }
7500
+ ]
7501
+ }
7502
+ ],
7503
+ "space": 20,
7504
+ "stackColumnsAt": "never",
7505
+ "reverseColumnsWhenStacked": false
7506
+ }
7507
+ },
7508
+ "responsiveStyles": {
7509
+ "large": {
7510
+ "display": "flex",
7511
+ "flexDirection": "column",
7512
+ "position": "relative",
7513
+ "flexShrink": "0",
7514
+ "boxSizing": "border-box",
7515
+ "marginTop": "20px"
7516
+ }
7517
+ }
7518
+ }
7519
+ ],
7520
+ "responsiveStyles": {
7521
+ "large": {
7522
+ "display": "flex",
7523
+ "flexDirection": "column",
7524
+ "position": "relative",
7525
+ "flexShrink": "0",
7526
+ "boxSizing": "border-box",
7527
+ "marginTop": "20px",
7528
+ "height": "auto",
7529
+ "paddingBottom": "30px",
7530
+ "borderStyle": "solid",
7531
+ "borderColor": "rgba(207, 52, 182, 1)",
7532
+ "borderWidth": "4px"
7533
+ }
7534
+ }
7535
+ },
7536
+ {
7537
+ "id": "builder-pixel-29jl3ch956",
7538
+ "@type": "@builder.io/sdk:Element",
7539
+ "tagName": "img",
7540
+ "properties": {
7541
+ "src": "https://cdn.builder.io/api/v1/pixel?apiKey=f1a790f8c3204b3b8c5c1795aeac4660",
7542
+ "role": "presentation",
7543
+ "width": "0",
7544
+ "height": "0"
7545
+ },
7546
+ "responsiveStyles": {
7547
+ "large": {
7548
+ "height": "0",
7549
+ "width": "0",
7550
+ "display": "inline-block",
7551
+ "opacity": "0",
7552
+ "overflow": "hidden",
7553
+ "pointerEvents": "none"
7554
+ }
7555
+ }
7556
+ }
7557
+ ],
7558
+ "url": "/columns",
7559
+ "state": {
7560
+ "deviceSize": "large",
7561
+ "location": {
7562
+ "pathname": "/columns",
7563
+ "path": [
7564
+ "columns"
7565
+ ],
7566
+ "query": {}
7567
+ }
7568
+ }
7569
+ },
7570
+ "id": "f24c6940ee5f46458369151cc9ec598c",
7571
+ "lastUpdatedBy": "OcOewqA7uqVVlVfqY453F8vgcc33",
7572
+ "meta": {
7573
+ "hasLinks": false,
7574
+ "kind": "page",
7575
+ "needsHydration": false
7576
+ },
7577
+ "modelId": "240a12053d674735ac2a384dcdc561b5",
7578
+ "name": "Columns",
7579
+ "published": "published",
7580
+ "query": [
7581
+ {
7582
+ "@type": "@builder.io/core:Query",
7583
+ "operator": "is",
7584
+ "property": "urlPath",
7585
+ "value": "/columns"
7586
+ }
7587
+ ],
7588
+ "testRatio": 1,
7589
+ "variations": {},
7590
+ "lastUpdated": 1645030056460,
7591
+ "screenshot": "https://cdn.builder.io/api/v1/image/assets%2Ff1a790f8c3204b3b8c5c1795aeac4660%2F43c3e56ad68647d4b55990d655aeb3f9",
7592
+ "firstPublished": 1644862675476,
7593
+ "rev": "zxiskiseoj"
7594
+ };
6472
7595
  const mergeNewContent = function mergeNewContent2(props, state, elementRef, newContent) {
6473
7596
  var _a, _b, _c, _d, _e;
6474
7597
  const newContentValue = {
@@ -6484,6 +7607,7 @@ const mergeNewContent = function mergeNewContent2(props, state, elementRef, newC
6484
7607
  breakpoints: ((_c = newContent == null ? void 0 : newContent.meta) == null ? void 0 : _c.breakpoints) || ((_e = (_d = props.builderContextSignal.content) == null ? void 0 : _d.meta) == null ? void 0 : _e.breakpoints)
6485
7608
  }
6486
7609
  };
7610
+ console.log("newContentValue", newContentValue);
6487
7611
  props.builderContextSignal.content = newContentValue;
6488
7612
  };
6489
7613
  const processMessage = function processMessage2(props, state, elementRef, event) {
@@ -6506,10 +7630,12 @@ const processMessage = function processMessage2(props, state, elementRef, event)
6506
7630
  break;
6507
7631
  }
6508
7632
  case "builder.contentUpdate": {
7633
+ console.log("builder.contentUpdate", data);
6509
7634
  const messageContent = data.data;
6510
7635
  const key = messageContent.key || messageContent.alias || messageContent.entry || messageContent.modelName;
6511
7636
  const contentData = messageContent.data;
6512
7637
  if (key === props.model) {
7638
+ console.log("yeeha");
6513
7639
  mergeNewContent(props, state, elementRef, contentData);
6514
7640
  state.forceReRenderCount = state.forceReRenderCount + 1;
6515
7641
  }
@@ -6606,7 +7732,7 @@ const EnableEditor = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((pr
6606
7732
  }, {
6607
7733
  deep: true
6608
7734
  });
6609
- useContextProvider(builderContext, props.builderContextSignal);
7735
+ useContextProvider(builderContext, {});
6610
7736
  useVisibleTaskQrl(/* @__PURE__ */ inlinedQrl(() => {
6611
7737
  var _a, _b;
6612
7738
  const [elementRef2, props2, state2] = useLexicalScope();
@@ -6721,35 +7847,54 @@ const EnableEditor = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((pr
6721
7847
  state
6722
7848
  ]));
6723
7849
  return /* @__PURE__ */ _jsxC(Fragment, {
6724
- children: props.builderContextSignal.content ? /* @__PURE__ */ _jsxS("div", {
6725
- ref: elementRef,
6726
- ...props.showContent ? {} : {
6727
- hidden: true,
6728
- "aria-hidden": true
6729
- },
6730
- children: /* @__PURE__ */ _jsxC(Slot, null, 3, "06_0"),
6731
- onClick$: /* @__PURE__ */ inlinedQrl((event) => {
6732
- const [elementRef2, props2, state2] = useLexicalScope();
6733
- return onClick(props2, state2, elementRef2, event);
6734
- }, "EnableEditor_component__Fragment_div_onClick_1QOkLijjH0M", [
6735
- elementRef,
6736
- props,
6737
- state
6738
- ])
6739
- }, {
6740
- "builder-content-id": _fnSignal((p0) => {
6741
- var _a;
6742
- return (_a = p0.builderContextSignal.content) == null ? void 0 : _a.id;
6743
- }, [
6744
- props
6745
- ], "p0.builderContextSignal.content?.id"),
6746
- "builder-model": _fnSignal((p0) => p0.model, [
6747
- props
6748
- ], "p0.model"),
6749
- class: _fnSignal((p0) => p0.classNameProp, [
6750
- props
6751
- ], "p0.classNameProp")
6752
- }, 0, state.forceReRenderCount) : null
7850
+ children: [
7851
+ /* @__PURE__ */ _jsxQ("div", null, null, [
7852
+ "DATA in EnableEditor: ",
7853
+ _fnSignal((p0) => p0.builderContextSignal.content.data.blocks[2].children[1].component.options.columns[0].blocks[1].component.options.text, [
7854
+ props
7855
+ ], "p0.builderContextSignal.content.data.blocks[2].children[1].component.options.columns[0].blocks[1].component.options.text")
7856
+ ], 3, null),
7857
+ /* @__PURE__ */ _jsxQ("button", null, {
7858
+ onClick$: /* @__PURE__ */ inlinedQrl(() => {
7859
+ const [elementRef2, props2, state2] = useLexicalScope();
7860
+ mergeNewContent(props2, state2, elementRef2, MODIFIED_COLUMNS);
7861
+ window.location.href.includes("columns");
7862
+ }, "EnableEditor_component__Fragment_button_onClick_F7jLxv2BTrU", [
7863
+ elementRef,
7864
+ props,
7865
+ state
7866
+ ])
7867
+ }, "update me", 3, null),
7868
+ props.builderContextSignal.content ? /* @__PURE__ */ _jsxS("div", {
7869
+ ref: elementRef,
7870
+ ...props.showContent ? {} : {
7871
+ hidden: true,
7872
+ "aria-hidden": true
7873
+ },
7874
+ children: /* @__PURE__ */ _jsxC(Slot, null, 3, "06_0"),
7875
+ onClick$: /* @__PURE__ */ inlinedQrl((event) => {
7876
+ const [elementRef2, props2, state2] = useLexicalScope();
7877
+ return onClick(props2, state2, elementRef2, event);
7878
+ }, "EnableEditor_component__Fragment_div_onClick_1QOkLijjH0M", [
7879
+ elementRef,
7880
+ props,
7881
+ state
7882
+ ])
7883
+ }, {
7884
+ "builder-content-id": _fnSignal((p0) => {
7885
+ var _a;
7886
+ return (_a = p0.builderContextSignal.content) == null ? void 0 : _a.id;
7887
+ }, [
7888
+ props
7889
+ ], "p0.builderContextSignal.content?.id"),
7890
+ "builder-model": _fnSignal((p0) => p0.model, [
7891
+ props
7892
+ ], "p0.model"),
7893
+ class: _fnSignal((p0) => p0.classNameProp, [
7894
+ props
7895
+ ], "p0.classNameProp")
7896
+ }, 0, state.forceReRenderCount) : null
7897
+ ]
6753
7898
  }, 1, "06_1");
6754
7899
  }, "EnableEditor_component_ko1mO8oaj8k"));
6755
7900
  const getCssFromFont = (font) => {
@@ -6863,17 +8008,16 @@ const getContentInitialValue = ({ content, data }) => {
6863
8008
  };
6864
8009
  };
6865
8010
  const ContentComponent = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) => {
6866
- var _a, _b;
6867
8011
  _jsxBranch();
6868
8012
  const state = useStore({
6869
8013
  builderContextSignal: {
6870
8014
  content: getContentInitialValue({
6871
- content: props.content,
8015
+ content: JSON.parse(JSON.stringify(props.content)),
6872
8016
  data: props.data
6873
8017
  }),
6874
8018
  localState: void 0,
6875
8019
  rootState: getContextStateInitialValue({
6876
- content: props.content,
8020
+ content: {},
6877
8021
  data: props.data,
6878
8022
  locale: props.locale
6879
8023
  }),
@@ -6912,12 +8056,7 @@ const ContentComponent = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl
6912
8056
  ...serializeComponentInfo(info)
6913
8057
  }
6914
8058
  }), {}),
6915
- scriptStr: getRenderContentScriptString({
6916
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion, @typescript-eslint/no-non-null-asserted-optional-chain
6917
- variationId: (_a = props.content) == null ? void 0 : _a.testVariationId,
6918
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion, @typescript-eslint/no-non-null-asserted-optional-chain
6919
- contentId: (_b = props.content) == null ? void 0 : _b.id
6920
- })
8059
+ scriptStr: ""
6921
8060
  }, {
6922
8061
  deep: true
6923
8062
  });
@@ -6926,7 +8065,7 @@ const ContentComponent = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl
6926
8065
  }));
6927
8066
  return /* @__PURE__ */ _jsxC(EnableEditor, {
6928
8067
  get content() {
6929
- return props.content;
8068
+ return void 0;
6930
8069
  },
6931
8070
  get model() {
6932
8071
  return props.model;
@@ -6959,6 +8098,15 @@ const ContentComponent = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl
6959
8098
  return state.builderContextSignal;
6960
8099
  },
6961
8100
  children: [
8101
+ /* @__PURE__ */ _jsxQ("div", null, null, [
8102
+ "in CONTENT: ",
8103
+ _fnSignal((p0) => {
8104
+ var _a, _b, _c, _d, _e, _f;
8105
+ return (_f = (_e = (_d = (_c = (_b = (_a = p0.builderContextSignal) == null ? void 0 : _a.content) == null ? void 0 : _b.data) == null ? void 0 : _c.blocks[0]) == null ? void 0 : _d.children) == null ? void 0 : _e[1]) == null ? void 0 : _f.component.options.columns[0].blocks[1].component.options.text;
8106
+ }, [
8107
+ state
8108
+ ], "p0.builderContextSignal?.content?.data?.blocks[0]?.children?.[1]?.component.options.columns[0].blocks[1].component.options.text")
8109
+ ], 3, null),
6962
8110
  props.isSsrAbTest ? /* @__PURE__ */ _jsxC(InlinedScript, {
6963
8111
  get scriptStr() {
6964
8112
  return state.scriptStr;
@@ -6971,33 +8119,33 @@ const ContentComponent = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl
6971
8119
  }, 3, "LQ_0") : null,
6972
8120
  /* @__PURE__ */ _jsxC(ContentStyles, {
6973
8121
  get contentId() {
6974
- var _a2;
6975
- return (_a2 = state.builderContextSignal.content) == null ? void 0 : _a2.id;
8122
+ var _a;
8123
+ return (_a = state.builderContextSignal.content) == null ? void 0 : _a.id;
6976
8124
  },
6977
8125
  get cssCode() {
6978
- var _a2, _b2;
6979
- return (_b2 = (_a2 = state.builderContextSignal.content) == null ? void 0 : _a2.data) == null ? void 0 : _b2.cssCode;
8126
+ var _a, _b;
8127
+ return (_b = (_a = state.builderContextSignal.content) == null ? void 0 : _a.data) == null ? void 0 : _b.cssCode;
6980
8128
  },
6981
8129
  get customFonts() {
6982
- var _a2, _b2;
6983
- return (_b2 = (_a2 = state.builderContextSignal.content) == null ? void 0 : _a2.data) == null ? void 0 : _b2.customFonts;
8130
+ var _a, _b;
8131
+ return (_b = (_a = state.builderContextSignal.content) == null ? void 0 : _a.data) == null ? void 0 : _b.customFonts;
6984
8132
  },
6985
8133
  [_IMMUTABLE]: {
6986
8134
  contentId: _fnSignal((p0) => {
6987
- var _a2;
6988
- return (_a2 = p0.builderContextSignal.content) == null ? void 0 : _a2.id;
8135
+ var _a;
8136
+ return (_a = p0.builderContextSignal.content) == null ? void 0 : _a.id;
6989
8137
  }, [
6990
8138
  state
6991
8139
  ], "p0.builderContextSignal.content?.id"),
6992
8140
  cssCode: _fnSignal((p0) => {
6993
- var _a2, _b2;
6994
- return (_b2 = (_a2 = p0.builderContextSignal.content) == null ? void 0 : _a2.data) == null ? void 0 : _b2.cssCode;
8141
+ var _a, _b;
8142
+ return (_b = (_a = p0.builderContextSignal.content) == null ? void 0 : _a.data) == null ? void 0 : _b.cssCode;
6995
8143
  }, [
6996
8144
  state
6997
8145
  ], "p0.builderContextSignal.content?.data?.cssCode"),
6998
8146
  customFonts: _fnSignal((p0) => {
6999
- var _a2, _b2;
7000
- return (_b2 = (_a2 = p0.builderContextSignal.content) == null ? void 0 : _a2.data) == null ? void 0 : _b2.customFonts;
8147
+ var _a, _b;
8148
+ return (_b = (_a = p0.builderContextSignal.content) == null ? void 0 : _a.data) == null ? void 0 : _b.customFonts;
7001
8149
  }, [
7002
8150
  state
7003
8151
  ], "p0.builderContextSignal.content?.data?.customFonts")
@@ -7005,8 +8153,8 @@ const ContentComponent = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl
7005
8153
  }, 3, "LQ_1"),
7006
8154
  /* @__PURE__ */ _jsxC(Blocks, {
7007
8155
  get blocks() {
7008
- var _a2, _b2;
7009
- return (_b2 = (_a2 = state.builderContextSignal.content) == null ? void 0 : _a2.data) == null ? void 0 : _b2.blocks;
8156
+ var _a, _b;
8157
+ return (_b = (_a = state.builderContextSignal.content) == null ? void 0 : _a.data) == null ? void 0 : _b.blocks;
7010
8158
  },
7011
8159
  get context() {
7012
8160
  return state.builderContextSignal;
@@ -7016,8 +8164,8 @@ const ContentComponent = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl
7016
8164
  },
7017
8165
  [_IMMUTABLE]: {
7018
8166
  blocks: _fnSignal((p0) => {
7019
- var _a2, _b2;
7020
- return (_b2 = (_a2 = p0.builderContextSignal.content) == null ? void 0 : _a2.data) == null ? void 0 : _b2.blocks;
8167
+ var _a, _b;
8168
+ return (_b = (_a = p0.builderContextSignal.content) == null ? void 0 : _a.data) == null ? void 0 : _b.blocks;
7021
8169
  }, [
7022
8170
  state
7023
8171
  ], "p0.builderContextSignal.content?.data?.blocks"),
@@ -7043,9 +8191,7 @@ const ContentComponent = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl
7043
8191
  classNameProp: _fnSignal((p0) => p0.classNameProp, [
7044
8192
  props
7045
8193
  ], "p0.classNameProp"),
7046
- content: _fnSignal((p0) => p0.content, [
7047
- props
7048
- ], "p0.content"),
8194
+ content: _IMMUTABLE,
7049
8195
  context: _fnSignal((p0) => p0.context, [
7050
8196
  props
7051
8197
  ], "p0.context"),
@@ -7067,6 +8213,134 @@ const ContentComponent = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl
7067
8213
  }
7068
8214
  }, 1, "LQ_3");
7069
8215
  }, "ContentComponent_component_HIsczUcxjCE"));
8216
+ const getVariants = (content) => Object.values((content == null ? void 0 : content.variations) || {}).map((variant) => ({
8217
+ ...variant,
8218
+ testVariationId: variant.id,
8219
+ id: content == null ? void 0 : content.id
8220
+ }));
8221
+ const checkShouldRunVariants = ({ canTrack, content }) => {
8222
+ const hasVariants = getVariants(content).length > 0;
8223
+ if (!hasVariants)
8224
+ return false;
8225
+ if (!canTrack)
8226
+ return false;
8227
+ if (isBrowser())
8228
+ return false;
8229
+ return true;
8230
+ };
8231
+ function bldrAbTest(contentId, variants, isHydrationTarget2) {
8232
+ var _a;
8233
+ function getAndSetVariantId2() {
8234
+ function setCookie2(name, value, days) {
8235
+ let expires = "";
8236
+ if (days) {
8237
+ const date = /* @__PURE__ */ new Date();
8238
+ date.setTime(date.getTime() + days * 864e5);
8239
+ expires = "; expires=" + date.toUTCString();
8240
+ }
8241
+ document.cookie = name + "=" + (value || "") + expires + "; path=/; Secure; SameSite=None";
8242
+ }
8243
+ function getCookie2(name) {
8244
+ const nameEQ = name + "=";
8245
+ const ca2 = document.cookie.split(";");
8246
+ for (let i = 0; i < ca2.length; i++) {
8247
+ let c = ca2[i];
8248
+ while (c.charAt(0) === " ")
8249
+ c = c.substring(1, c.length);
8250
+ if (c.indexOf(nameEQ) === 0)
8251
+ return c.substring(nameEQ.length, c.length);
8252
+ }
8253
+ return null;
8254
+ }
8255
+ const cookieName = `builder.tests.${contentId}`;
8256
+ const variantInCookie = getCookie2(cookieName);
8257
+ const availableIDs = variants.map((vr) => vr.id).concat(contentId);
8258
+ if (variantInCookie && availableIDs.includes(variantInCookie))
8259
+ return variantInCookie;
8260
+ let n = 0;
8261
+ const random = Math.random();
8262
+ for (let i = 0; i < variants.length; i++) {
8263
+ const variant = variants[i];
8264
+ const testRatio = variant.testRatio;
8265
+ n += testRatio;
8266
+ if (random < n) {
8267
+ setCookie2(cookieName, variant.id);
8268
+ return variant.id;
8269
+ }
8270
+ }
8271
+ setCookie2(cookieName, contentId);
8272
+ return contentId;
8273
+ }
8274
+ const winningVariantId = getAndSetVariantId2();
8275
+ const styleEl = (_a = document.currentScript) == null ? void 0 : _a.previousElementSibling;
8276
+ if (isHydrationTarget2) {
8277
+ styleEl.remove();
8278
+ const thisScriptEl = document.currentScript;
8279
+ thisScriptEl == null ? void 0 : thisScriptEl.remove();
8280
+ } else {
8281
+ const newStyleStr = variants.concat({
8282
+ id: contentId
8283
+ }).filter((variant) => variant.id !== winningVariantId).map((value) => {
8284
+ return `.variant-${value.id} { display: none; }
8285
+ `;
8286
+ }).join("");
8287
+ styleEl.innerHTML = newStyleStr;
8288
+ }
8289
+ }
8290
+ function bldrCntntScrpt(variantContentId, defaultContentId, isHydrationTarget2) {
8291
+ var _a;
8292
+ if (!navigator.cookieEnabled)
8293
+ return;
8294
+ function getCookie2(name) {
8295
+ const nameEQ = name + "=";
8296
+ const ca2 = document.cookie.split(";");
8297
+ for (let i = 0; i < ca2.length; i++) {
8298
+ let c = ca2[i];
8299
+ while (c.charAt(0) === " ")
8300
+ c = c.substring(1, c.length);
8301
+ if (c.indexOf(nameEQ) === 0)
8302
+ return c.substring(nameEQ.length, c.length);
8303
+ }
8304
+ return null;
8305
+ }
8306
+ const cookieName = `builder.tests.${defaultContentId}`;
8307
+ const variantId = getCookie2(cookieName);
8308
+ const parentDiv = (_a = document.currentScript) == null ? void 0 : _a.parentElement;
8309
+ const variantIsDefaultContent = variantContentId === defaultContentId;
8310
+ if (variantId === variantContentId) {
8311
+ if (variantIsDefaultContent)
8312
+ return;
8313
+ parentDiv == null ? void 0 : parentDiv.removeAttribute("hidden");
8314
+ parentDiv == null ? void 0 : parentDiv.removeAttribute("aria-hidden");
8315
+ } else {
8316
+ if (variantIsDefaultContent) {
8317
+ if (isHydrationTarget2)
8318
+ parentDiv == null ? void 0 : parentDiv.remove();
8319
+ else {
8320
+ parentDiv == null ? void 0 : parentDiv.setAttribute("hidden", "true");
8321
+ parentDiv == null ? void 0 : parentDiv.setAttribute("aria-hidden", "true");
8322
+ }
8323
+ }
8324
+ return;
8325
+ }
8326
+ return;
8327
+ }
8328
+ const getIsHydrationTarget = (target) => target === "react" || target === "reactNative";
8329
+ const isHydrationTarget = getIsHydrationTarget(TARGET);
8330
+ const AB_TEST_FN_NAME = "builderIoAbTest";
8331
+ const CONTENT_FN_NAME = "builderIoRenderContent";
8332
+ const getScriptString = () => {
8333
+ const fnStr = bldrAbTest.toString().replace(/\s+/g, " ");
8334
+ const fnStr2 = bldrCntntScrpt.toString().replace(/\s+/g, " ");
8335
+ return `
8336
+ window.${AB_TEST_FN_NAME} = ${fnStr}
8337
+ window.${CONTENT_FN_NAME} = ${fnStr2}
8338
+ `;
8339
+ };
8340
+ const getVariantsScriptString = (variants, contentId) => {
8341
+ return `
8342
+ window.${AB_TEST_FN_NAME}("${contentId}",${JSON.stringify(variants)}, ${isHydrationTarget})`;
8343
+ };
7070
8344
  const ContentVariants = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) => {
7071
8345
  _jsxBranch();
7072
8346
  const state = useStore({
@@ -7149,11 +8423,9 @@ const ContentVariants = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl(
7149
8423
  ], "p0.value")
7150
8424
  }
7151
8425
  }, 3, "XM_2"),
7152
- (getVariants(props.content) || []).map(function(variant) {
8426
+ (getVariants(props.content) || []).map((variant) => {
7153
8427
  return /* @__PURE__ */ _jsxC(ContentComponent, {
7154
- get content() {
7155
- return variant;
7156
- },
8428
+ content: variant,
7157
8429
  showContent: false,
7158
8430
  get classNameProp() {
7159
8431
  return void 0;
@@ -7202,7 +8474,6 @@ const ContentVariants = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl(
7202
8474
  props
7203
8475
  ], "p0.canTrack"),
7204
8476
  classNameProp: _IMMUTABLE,
7205
- content: _IMMUTABLE,
7206
8477
  context: _fnSignal((p0) => p0.context, [
7207
8478
  props
7208
8479
  ], "p0.context"),