@builder.io/sdk-solid 4.2.1 → 4.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/edge/index.js CHANGED
@@ -4492,11 +4492,6 @@ var getWrapperProps = ({
4492
4492
  function ComponentRef(props) {
4493
4493
  createSignal(false);
4494
4494
  const [Wrapper, setWrapper] = createSignal(props.isInteractive ? interactive_element_default : props.componentRef);
4495
- const onUpdateFn_0_props_componentOptions = createMemo(() => props.componentOptions);
4496
- const onUpdateFn_0_props_blockChildren = createMemo(() => props.blockChildren);
4497
- function onUpdateFn_0() {
4498
- }
4499
- createEffect(on(() => [onUpdateFn_0_props_componentOptions(), onUpdateFn_0_props_blockChildren()], onUpdateFn_0));
4500
4495
  return createComponent(Show, {
4501
4496
  get when() {
4502
4497
  return props.componentRef;
@@ -4516,25 +4511,32 @@ function ComponentRef(props) {
4516
4511
  return Wrapper();
4517
4512
  },
4518
4513
  get children() {
4519
- return createComponent(For, {
4520
- get each() {
4521
- return props.blockChildren;
4514
+ return createComponent(Show, {
4515
+ get when() {
4516
+ return props.componentRef;
4522
4517
  },
4523
- children: (child, _index) => {
4524
- _index();
4525
- return createComponent(block_default, {
4526
- get key() {
4527
- return child.id;
4528
- },
4529
- block: child,
4530
- get context() {
4531
- return props.context;
4532
- },
4533
- get registeredComponents() {
4534
- return props.registeredComponents;
4518
+ get children() {
4519
+ return createComponent(For, {
4520
+ get each() {
4521
+ return props.blockChildren;
4535
4522
  },
4536
- get linkComponent() {
4537
- return props.linkComponent;
4523
+ children: (child, _index) => {
4524
+ _index();
4525
+ return createComponent(block_default, {
4526
+ get key() {
4527
+ return child.id;
4528
+ },
4529
+ block: child,
4530
+ get context() {
4531
+ return props.context;
4532
+ },
4533
+ get registeredComponents() {
4534
+ return props.registeredComponents;
4535
+ },
4536
+ get linkComponent() {
4537
+ return props.linkComponent;
4538
+ }
4539
+ });
4538
4540
  }
4539
4541
  });
4540
4542
  }
@@ -4841,7 +4843,7 @@ function Block(props) {
4841
4843
  });
4842
4844
  }
4843
4845
  var block_default = Block;
4844
- var _tmpl$2 = /* @__PURE__ */ template(`<style>.dynamic-450facf4 {
4846
+ var _tmpl$2 = /* @__PURE__ */ template(`<style>.dynamic-4d836538 {
4845
4847
  display: flex;
4846
4848
  flex-direction: column;
4847
4849
  align-items: stretch;
@@ -4890,7 +4892,7 @@ function BlocksWrapper(props) {
4890
4892
  createEffect(on(() => [onUpdateFn_0_props_blocks()], onUpdateFn_0));
4891
4893
  return [createComponent(Dynamic, mergeProps({
4892
4894
  get ["class"]() {
4893
- return className() + " dynamic-450facf4";
4895
+ return className() + " dynamic-4d836538";
4894
4896
  },
4895
4897
  ref(r$) {
4896
4898
  const _ref$ = blocksWrapperRef;
@@ -7143,6 +7145,9 @@ function Tabs(props) {
7143
7145
  function activeTabContent(active) {
7144
7146
  return props.tabs && props.tabs[active].content;
7145
7147
  }
7148
+ function getTabStyle(index) {
7149
+ return index === activeTab() ? props.activeTabStyle : {};
7150
+ }
7146
7151
  function onClick(index) {
7147
7152
  if (index === activeTab() && props.collapsible) {
7148
7153
  setActiveTab(-1);
@@ -7184,9 +7189,7 @@ function Tabs(props) {
7184
7189
  }
7185
7190
  }));
7186
7191
  effect((_p$) => {
7187
- const _v$ = `builder-tab-wrap ${activeTab() === index ? "builder-tab-active" : ""}`, _v$2 = {
7188
- ...activeTab() === index ? props.activeTabStyle : {}
7189
- };
7192
+ const _v$ = `builder-tab-wrap ${activeTab() === index ? "builder-tab-active" : ""}`, _v$2 = getTabStyle(index);
7190
7193
  _v$ !== _p$._v$ && className(_el$4, _p$._v$ = _v$);
7191
7194
  _p$._v$2 = style(_el$4, _v$2, _p$._v$2);
7192
7195
  return _p$;
@@ -7682,9 +7685,9 @@ function logFetch(url) {
7682
7685
  }
7683
7686
 
7684
7687
  // src/blocks/form/form/form.tsx
7685
- var _tmpl$15 = /* @__PURE__ */ template(`<pre class="builder-form-error-text pre-fdf23968">`);
7688
+ var _tmpl$15 = /* @__PURE__ */ template(`<pre class="builder-form-error-text pre-74261216">`);
7686
7689
  var _tmpl$26 = /* @__PURE__ */ template(`<form>`);
7687
- var _tmpl$34 = /* @__PURE__ */ template(`<style>.pre-fdf23968 {
7690
+ var _tmpl$34 = /* @__PURE__ */ template(`<style>.pre-74261216 {
7688
7691
  padding: 10px;
7689
7692
  color: red;
7690
7693
  text-align: center;
@@ -7707,6 +7710,9 @@ function FormComponent(props) {
7707
7710
  function submissionState() {
7708
7711
  return isEditing() && props.previewState || formState();
7709
7712
  }
7713
+ function errorResponse(response) {
7714
+ return JSON.stringify(response, null, 2);
7715
+ }
7710
7716
  function onSubmit(event) {
7711
7717
  const sendWithJsProp = props.sendWithJs || props.sendSubmissionsTo === "email";
7712
7718
  if (props.sendSubmissionsTo === "zapier") {
@@ -7954,7 +7960,7 @@ function FormComponent(props) {
7954
7960
  },
7955
7961
  get children() {
7956
7962
  const _el$2 = _tmpl$15();
7957
- insert(_el$2, () => JSON.stringify(responseData(), null, 2));
7963
+ insert(_el$2, () => errorResponse(responseData()));
7958
7964
  return _el$2;
7959
7965
  }
7960
7966
  }), null);
@@ -8670,7 +8676,7 @@ function getPreviewContent(_searchParams) {
8670
8676
  }
8671
8677
 
8672
8678
  // src/constants/sdk-version.ts
8673
- var SDK_VERSION = "4.2.1";
8679
+ var SDK_VERSION = "4.2.2";
8674
8680
 
8675
8681
  // src/helpers/sdk-headers.ts
8676
8682
  var getSdkHeaders = () => ({
@@ -9474,6 +9480,8 @@ var getWrapperClassName = (variationId) => {
9474
9480
  // src/components/content/components/enable-editor.tsx
9475
9481
  function EnableEditor(props) {
9476
9482
  createSignal(false);
9483
+ const [prevData, setPrevData] = createSignal(null);
9484
+ const [prevLocale, setPrevLocale] = createSignal("");
9477
9485
  const [ContentWrapper, setContentWrapper] = createSignal(props.contentWrapper || "div");
9478
9486
  const [httpReqsData, setHttpReqsData] = createSignal({});
9479
9487
  const [httpReqsPending, setHttpReqsPending] = createSignal({});
@@ -9598,11 +9606,15 @@ function EnableEditor(props) {
9598
9606
  method: "GET"
9599
9607
  };
9600
9608
  logFetch(JSON.stringify(fetchRequestObj));
9601
- fetch(fetchRequestObj.url, {
9609
+ const fetchOptions = {
9602
9610
  method: fetchRequestObj.method,
9603
9611
  headers: fetchRequestObj.headers,
9604
9612
  body: fetchRequestObj.body
9605
- }).then((response) => response.json()).then((json) => {
9613
+ };
9614
+ if (fetchRequestObj.method === "GET") {
9615
+ delete fetchOptions.body;
9616
+ }
9617
+ fetch(fetchRequestObj.url, fetchOptions).then((response) => response.json()).then((json) => {
9606
9618
  mergeNewRootState({
9607
9619
  [key]: json
9608
9620
  });
@@ -9710,16 +9722,24 @@ function EnableEditor(props) {
9710
9722
  const onUpdateFn_2_props_data = createMemo(() => props.data);
9711
9723
  function onUpdateFn_2() {
9712
9724
  if (props.data) {
9725
+ if (prevData() === props.data) {
9726
+ return;
9727
+ }
9713
9728
  mergeNewRootState(props.data);
9729
+ setPrevData(props.data);
9714
9730
  }
9715
9731
  }
9716
9732
  createEffect(on(() => [onUpdateFn_2_props_data()], onUpdateFn_2));
9717
9733
  const onUpdateFn_3_props_locale = createMemo(() => props.locale);
9718
9734
  function onUpdateFn_3() {
9719
9735
  if (props.locale) {
9736
+ if (prevLocale() === props.locale) {
9737
+ return;
9738
+ }
9720
9739
  mergeNewRootState({
9721
9740
  locale: props.locale
9722
9741
  });
9742
+ setPrevLocale(props.locale);
9723
9743
  }
9724
9744
  }
9725
9745
  createEffect(on(() => [onUpdateFn_3_props_locale()], onUpdateFn_3));
@@ -10269,6 +10289,9 @@ function Symbol2(props) {
10269
10289
  const contentWrapper = createMemo(() => {
10270
10290
  return "div";
10271
10291
  });
10292
+ const customComponents = createMemo(() => {
10293
+ return Object.values(props.builderComponents);
10294
+ });
10272
10295
  const className = createMemo(() => {
10273
10296
  return [...[props.attributes[getClassPropName()]], "builder-symbol", props.symbol?.inline ? "builder-inline-symbol" : void 0, props.symbol?.dynamic || props.dynamic ? "builder-dynamic-symbol" : void 0].filter(Boolean).join(" ");
10274
10297
  });
@@ -10317,7 +10340,7 @@ function Symbol2(props) {
10317
10340
  };
10318
10341
  },
10319
10342
  get customComponents() {
10320
- return Object.values(props.builderComponents);
10343
+ return customComponents();
10321
10344
  },
10322
10345
  get data() {
10323
10346
  return {
@@ -4376,14 +4376,7 @@ function BlockWrapper(props) {
4376
4376
  var Block_wrapper_default = BlockWrapper;
4377
4377
 
4378
4378
  // src/components/block/components/component-ref/component-ref.tsx
4379
- import {
4380
- Show as Show4,
4381
- For,
4382
- on as on2,
4383
- createEffect as createEffect2,
4384
- createMemo as createMemo3,
4385
- createSignal as createSignal3
4386
- } from "solid-js";
4379
+ import { Show as Show4, For, createSignal as createSignal3 } from "solid-js";
4387
4380
  import { Dynamic as Dynamic3 } from "solid-js/web";
4388
4381
 
4389
4382
  // src/components/block/components/interactive-element.tsx
@@ -4490,23 +4483,6 @@ function ComponentRef(props) {
4490
4483
  const [Wrapper, setWrapper] = createSignal3(
4491
4484
  props.isInteractive ? interactive_element_default : props.componentRef
4492
4485
  );
4493
- const onUpdateFn_0_props_componentOptions = createMemo3(
4494
- () => props.componentOptions
4495
- );
4496
- const onUpdateFn_0_props_blockChildren = createMemo3(
4497
- () => props.blockChildren
4498
- );
4499
- function onUpdateFn_0() {
4500
- }
4501
- createEffect2(
4502
- on2(
4503
- () => [
4504
- onUpdateFn_0_props_componentOptions(),
4505
- onUpdateFn_0_props_blockChildren()
4506
- ],
4507
- onUpdateFn_0
4508
- )
4509
- );
4510
4486
  return <><Show4 when={props.componentRef}><Dynamic3
4511
4487
  {...getWrapperProps({
4512
4488
  componentOptions: props.componentOptions,
@@ -4519,7 +4495,7 @@ function ComponentRef(props) {
4519
4495
  contextValue: props.context
4520
4496
  })}
4521
4497
  component={Wrapper()}
4522
- ><For each={props.blockChildren}>{(child, _index) => {
4498
+ ><Show4 when={props.componentRef}><For each={props.blockChildren}>{(child, _index) => {
4523
4499
  const index = _index();
4524
4500
  return <Block_default
4525
4501
  key={child.id}
@@ -4528,12 +4504,12 @@ function ComponentRef(props) {
4528
4504
  registeredComponents={props.registeredComponents}
4529
4505
  linkComponent={props.linkComponent}
4530
4506
  />;
4531
- }}</For></Dynamic3></Show4></>;
4507
+ }}</For></Show4></Dynamic3></Show4></>;
4532
4508
  }
4533
4509
  var Component_ref_default = ComponentRef;
4534
4510
 
4535
4511
  // src/components/block/components/repeated-block.tsx
4536
- import { on as on3, createEffect as createEffect3, createMemo as createMemo4, createSignal as createSignal4 } from "solid-js";
4512
+ import { on as on2, createEffect as createEffect2, createMemo as createMemo4, createSignal as createSignal4 } from "solid-js";
4537
4513
  function RepeatedBlock(props) {
4538
4514
  const [store, setStore] = createSignal4(props.repeatContext);
4539
4515
  const onUpdateFn_0_props_repeatContext = createMemo4(
@@ -4542,7 +4518,7 @@ function RepeatedBlock(props) {
4542
4518
  function onUpdateFn_0() {
4543
4519
  setStore(props.repeatContext);
4544
4520
  }
4545
- createEffect3(on3(() => [onUpdateFn_0_props_repeatContext()], onUpdateFn_0));
4521
+ createEffect2(on2(() => [onUpdateFn_0_props_repeatContext()], onUpdateFn_0));
4546
4522
  return <><builder_context_default.Provider value={store()}><Block_default
4547
4523
  block={props.block}
4548
4524
  context={store()}
@@ -4711,7 +4687,7 @@ function Block(props) {
4711
4687
  var Block_default = Block;
4712
4688
 
4713
4689
  // src/components/blocks/blocks-wrapper.tsx
4714
- import { onMount as onMount3, on as on5, createEffect as createEffect5, createMemo as createMemo6, createSignal as createSignal6 } from "solid-js";
4690
+ import { onMount as onMount3, on as on4, createEffect as createEffect4, createMemo as createMemo6, createSignal as createSignal6 } from "solid-js";
4715
4691
  import { Dynamic as Dynamic4 } from "solid-js/web";
4716
4692
  function BlocksWrapper(props) {
4717
4693
  const [shouldUpdate, setShouldUpdate] = createSignal6(false);
@@ -4764,10 +4740,10 @@ function BlocksWrapper(props) {
4764
4740
  const onUpdateFn_0_props_blocks = createMemo6(() => props.blocks);
4765
4741
  function onUpdateFn_0() {
4766
4742
  }
4767
- createEffect5(on5(() => [onUpdateFn_0_props_blocks()], onUpdateFn_0));
4743
+ createEffect4(on4(() => [onUpdateFn_0_props_blocks()], onUpdateFn_0));
4768
4744
  return <>
4769
4745
  <Dynamic4
4770
- class={className() + " dynamic-450facf4"}
4746
+ class={className() + " dynamic-4d836538"}
4771
4747
  ref={blocksWrapperRef}
4772
4748
  builder-path={dataPath()}
4773
4749
  builder-parent-id={props.parent}
@@ -4779,7 +4755,7 @@ function BlocksWrapper(props) {
4779
4755
  {...props.BlocksWrapperProps}
4780
4756
  component={props.BlocksWrapper}
4781
4757
  >{props.children}</Dynamic4>
4782
- <style>{`.dynamic-450facf4 {
4758
+ <style>{`.dynamic-4d836538 {
4783
4759
  display: flex;
4784
4760
  flex-direction: column;
4785
4761
  align-items: stretch;
@@ -5158,7 +5134,7 @@ function SectionComponent(props) {
5158
5134
  var section_default = SectionComponent;
5159
5135
 
5160
5136
  // src/blocks/symbol/symbol.tsx
5161
- import { onMount as onMount10, on as on9, createEffect as createEffect9, createMemo as createMemo21, createSignal as createSignal21 } from "solid-js";
5137
+ import { onMount as onMount10, on as on8, createEffect as createEffect8, createMemo as createMemo21, createSignal as createSignal21 } from "solid-js";
5162
5138
 
5163
5139
  // src/components/content-variants/content-variants.tsx
5164
5140
  import { Show as Show16, For as For9, onMount as onMount9, createSignal as createSignal20, createMemo as createMemo20 } from "solid-js";
@@ -6798,6 +6774,9 @@ function Tabs(props) {
6798
6774
  function activeTabContent(active) {
6799
6775
  return props.tabs && props.tabs[active].content;
6800
6776
  }
6777
+ function getTabStyle(index) {
6778
+ return index === activeTab() ? props.activeTabStyle : {};
6779
+ }
6801
6780
  function onClick(index) {
6802
6781
  if (index === activeTab() && props.collapsible) {
6803
6782
  setActiveTab(-1);
@@ -6819,9 +6798,7 @@ function Tabs(props) {
6819
6798
  return <span
6820
6799
  class={`builder-tab-wrap ${activeTab() === index ? "builder-tab-active" : ""}`}
6821
6800
  key={index}
6822
- style={{
6823
- ...activeTab() === index ? props.activeTabStyle : {}
6824
- }}
6801
+ style={getTabStyle(index)}
6825
6802
  onClick={(event) => onClick(index)}
6826
6803
  ><Blocks_default
6827
6804
  parent={props.builderBlock.id}
@@ -6907,7 +6884,7 @@ var componentInfo12 = {
6907
6884
  };
6908
6885
 
6909
6886
  // src/blocks/custom-code/custom-code.tsx
6910
- import { onMount as onMount6, on as on6, createEffect as createEffect6, createMemo as createMemo12, createSignal as createSignal12 } from "solid-js";
6887
+ import { onMount as onMount6, on as on5, createEffect as createEffect5, createMemo as createMemo12, createSignal as createSignal12 } from "solid-js";
6911
6888
  function CustomCode(props) {
6912
6889
  const [scriptsInserted, setScriptsInserted] = createSignal12([]);
6913
6890
  const [scriptsRun, setScriptsRun] = createSignal12([]);
@@ -6957,7 +6934,7 @@ function CustomCode(props) {
6957
6934
  runScripts();
6958
6935
  }
6959
6936
  }
6960
- createEffect6(on6(() => [onUpdateFn_0_props_code()], onUpdateFn_0));
6937
+ createEffect5(on5(() => [onUpdateFn_0_props_code()], onUpdateFn_0));
6961
6938
  return <><div
6962
6939
  class={"builder-custom-code" + (props.replaceNodes ? " replace-nodes" : "")}
6963
6940
  ref={elementRef}
@@ -6985,7 +6962,7 @@ var componentInfo13 = {
6985
6962
  };
6986
6963
 
6987
6964
  // src/blocks/embed/embed.tsx
6988
- import { on as on7, createEffect as createEffect7, createMemo as createMemo13, createSignal as createSignal13 } from "solid-js";
6965
+ import { on as on6, createEffect as createEffect6, createMemo as createMemo13, createSignal as createSignal13 } from "solid-js";
6989
6966
 
6990
6967
  // src/blocks/embed/helpers.ts
6991
6968
  var SCRIPT_MIME_TYPES = ["text/javascript", "application/javascript", "application/ecmascript"];
@@ -7027,8 +7004,8 @@ function Embed(props) {
7027
7004
  findAndRunScripts();
7028
7005
  }
7029
7006
  }
7030
- createEffect7(
7031
- on7(() => [onUpdateFn_0_elem(), onUpdateFn_0_ranInitFn__()], onUpdateFn_0)
7007
+ createEffect6(
7008
+ on6(() => [onUpdateFn_0_elem(), onUpdateFn_0_ranInitFn__()], onUpdateFn_0)
7032
7009
  );
7033
7010
  return <><div class="builder-embed" ref={elem} innerHTML={props.content} /></>;
7034
7011
  }
@@ -7312,6 +7289,9 @@ function FormComponent(props) {
7312
7289
  function submissionState() {
7313
7290
  return isEditing() && props.previewState || formState();
7314
7291
  }
7292
+ function errorResponse(response) {
7293
+ return JSON.stringify(response, null, 2);
7294
+ }
7315
7295
  function onSubmit(event) {
7316
7296
  const sendWithJsProp = props.sendWithJs || props.sendSubmissionsTo === "email";
7317
7297
  if (props.sendSubmissionsTo === "zapier") {
@@ -7526,14 +7506,14 @@ function FormComponent(props) {
7526
7506
  blocks={props.sendingMessage}
7527
7507
  context={props.builderContext}
7528
7508
  /></Show12>
7529
- <Show12 when={submissionState() === "error" && responseData()}><pre class="builder-form-error-text pre-fdf23968">{JSON.stringify(responseData(), null, 2)}</pre></Show12>
7509
+ <Show12 when={submissionState() === "error" && responseData()}><pre class="builder-form-error-text pre-74261216">{errorResponse(responseData())}</pre></Show12>
7530
7510
  <Show12 when={submissionState() === "success"}><Blocks_default
7531
7511
  path="successMessage"
7532
7512
  blocks={props.successMessage}
7533
7513
  context={props.builderContext}
7534
7514
  /></Show12>
7535
7515
  </form>
7536
- <style>{`.pre-fdf23968 {
7516
+ <style>{`.pre-74261216 {
7537
7517
  padding: 10px;
7538
7518
  color: red;
7539
7519
  text-align: center;
@@ -8155,8 +8135,8 @@ var getUpdateVariantVisibilityScript = ({
8155
8135
  import {
8156
8136
  Show as Show14,
8157
8137
  onMount as onMount8,
8158
- on as on8,
8159
- createEffect as createEffect8,
8138
+ on as on7,
8139
+ createEffect as createEffect7,
8160
8140
  createMemo as createMemo17,
8161
8141
  createSignal as createSignal17
8162
8142
  } from "solid-js";
@@ -8168,7 +8148,7 @@ function getPreviewContent(_searchParams) {
8168
8148
  }
8169
8149
 
8170
8150
  // src/constants/sdk-version.ts
8171
- var SDK_VERSION = "4.2.1";
8151
+ var SDK_VERSION = "4.2.2";
8172
8152
 
8173
8153
  // src/helpers/sdk-headers.ts
8174
8154
  var getSdkHeaders = () => ({
@@ -8972,6 +8952,8 @@ var getWrapperClassName = (variationId) => {
8972
8952
  // src/components/content/components/enable-editor.tsx
8973
8953
  function EnableEditor(props) {
8974
8954
  const [hasExecuted, setHasExecuted] = createSignal17(false);
8955
+ const [prevData, setPrevData] = createSignal17(null);
8956
+ const [prevLocale, setPrevLocale] = createSignal17("");
8975
8957
  const [ContentWrapper, setContentWrapper] = createSignal17(
8976
8958
  props.contentWrapper || "div"
8977
8959
  );
@@ -9101,11 +9083,15 @@ function EnableEditor(props) {
9101
9083
  method: "GET"
9102
9084
  };
9103
9085
  logFetch(JSON.stringify(fetchRequestObj));
9104
- fetch(fetchRequestObj.url, {
9086
+ const fetchOptions = {
9105
9087
  method: fetchRequestObj.method,
9106
9088
  headers: fetchRequestObj.headers,
9107
9089
  body: fetchRequestObj.body
9108
- }).then((response) => response.json()).then((json) => {
9090
+ };
9091
+ if (fetchRequestObj.method === "GET") {
9092
+ delete fetchOptions.body;
9093
+ }
9094
+ fetch(fetchRequestObj.url, fetchOptions).then((response) => response.json()).then((json) => {
9109
9095
  mergeNewRootState({
9110
9096
  [key]: json
9111
9097
  });
@@ -9217,15 +9203,15 @@ function EnableEditor(props) {
9217
9203
  mergeNewContent(props.content);
9218
9204
  }
9219
9205
  }
9220
- createEffect8(on8(() => [onUpdateFn_0_props_content()], onUpdateFn_0));
9206
+ createEffect7(on7(() => [onUpdateFn_0_props_content()], onUpdateFn_0));
9221
9207
  const onUpdateFn_1_props_builderContextSignal_rootState = createMemo17(
9222
9208
  () => props.builderContextSignal.rootState
9223
9209
  );
9224
9210
  function onUpdateFn_1() {
9225
9211
  emitStateUpdate();
9226
9212
  }
9227
- createEffect8(
9228
- on8(
9213
+ createEffect7(
9214
+ on7(
9229
9215
  () => [onUpdateFn_1_props_builderContextSignal_rootState()],
9230
9216
  onUpdateFn_1
9231
9217
  )
@@ -9233,19 +9219,27 @@ function EnableEditor(props) {
9233
9219
  const onUpdateFn_2_props_data = createMemo17(() => props.data);
9234
9220
  function onUpdateFn_2() {
9235
9221
  if (props.data) {
9222
+ if (prevData() === props.data) {
9223
+ return;
9224
+ }
9236
9225
  mergeNewRootState(props.data);
9226
+ setPrevData(props.data);
9237
9227
  }
9238
9228
  }
9239
- createEffect8(on8(() => [onUpdateFn_2_props_data()], onUpdateFn_2));
9229
+ createEffect7(on7(() => [onUpdateFn_2_props_data()], onUpdateFn_2));
9240
9230
  const onUpdateFn_3_props_locale = createMemo17(() => props.locale);
9241
9231
  function onUpdateFn_3() {
9242
9232
  if (props.locale) {
9233
+ if (prevLocale() === props.locale) {
9234
+ return;
9235
+ }
9243
9236
  mergeNewRootState({
9244
9237
  locale: props.locale
9245
9238
  });
9239
+ setPrevLocale(props.locale);
9246
9240
  }
9247
9241
  }
9248
- createEffect8(on8(() => [onUpdateFn_3_props_locale()], onUpdateFn_3));
9242
+ createEffect7(on7(() => [onUpdateFn_3_props_locale()], onUpdateFn_3));
9249
9243
  return <><builder_context_default.Provider value={props.builderContextSignal}><Show14
9250
9244
  when={props.builderContextSignal.content || needsElementRefDivForEditing()}
9251
9245
  ><Dynamic5
@@ -9605,6 +9599,9 @@ function Symbol2(props) {
9605
9599
  const contentWrapper = createMemo21(() => {
9606
9600
  return "div";
9607
9601
  });
9602
+ const customComponents = createMemo21(() => {
9603
+ return Object.values(props.builderComponents);
9604
+ });
9608
9605
  const className = createMemo21(() => {
9609
9606
  return [
9610
9607
  ...[props.attributes[getClassPropName()]],
@@ -9632,7 +9629,7 @@ function Symbol2(props) {
9632
9629
  function onUpdateFn_0() {
9633
9630
  setContent();
9634
9631
  }
9635
- createEffect9(on9(() => [onUpdateFn_0_props_symbol()], onUpdateFn_0));
9632
+ createEffect8(on8(() => [onUpdateFn_0_props_symbol()], onUpdateFn_0));
9636
9633
  return <><div class={className()} {...{}} {...props.attributes} {...{}}><Content_variants_default
9637
9634
  nonce={props.builderContext.nonce}
9638
9635
  isNestedRender={true}
@@ -9642,7 +9639,7 @@ function Symbol2(props) {
9642
9639
  ...props.builderContext.context,
9643
9640
  symbolId: props.builderBlock?.id
9644
9641
  }}
9645
- customComponents={Object.values(props.builderComponents)}
9642
+ customComponents={customComponents()}
9646
9643
  data={{
9647
9644
  ...props.symbol?.data,
9648
9645
  ...props.builderContext.localState,