@builder.io/sdk-solid 4.0.3 → 4.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -596,6 +596,7 @@ interface ImageProps {
596
596
  height?: number;
597
597
  width?: number;
598
598
  altText?: string;
599
+ title?: string;
599
600
  backgroundSize?: 'cover' | 'contain';
600
601
  backgroundPosition?: string;
601
602
  srcset?: string;
@@ -1641,12 +1641,13 @@ function Block(props) {
1641
1641
  });
1642
1642
  }
1643
1643
  var block_default = Block;
1644
- var _tmpl$2 = /* @__PURE__ */ template(`<style>.dynamic-3d7ff108 {
1644
+ var _tmpl$2 = /* @__PURE__ */ template(`<style>.dynamic-023c60f2 {
1645
1645
  display: flex;
1646
1646
  flex-direction: column;
1647
1647
  align-items: stretch;
1648
1648
  }`);
1649
1649
  function BlocksWrapper(props) {
1650
+ createSignal(false);
1650
1651
  const className = createMemo(() => {
1651
1652
  return ["builder-blocks", !props.blocks?.length ? "no-blocks" : "", props.classNameProp].filter(Boolean).join(" ");
1652
1653
  });
@@ -1683,9 +1684,13 @@ function BlocksWrapper(props) {
1683
1684
  let blocksWrapperRef;
1684
1685
  onMount(() => {
1685
1686
  });
1687
+ const onUpdateFn_0_props_blocks = createMemo(() => props.blocks);
1688
+ function onUpdateFn_0() {
1689
+ }
1690
+ createEffect(on(() => [onUpdateFn_0_props_blocks()], onUpdateFn_0));
1686
1691
  return [createComponent(Dynamic, mergeProps({
1687
1692
  get ["class"]() {
1688
- return className() + " dynamic-3d7ff108";
1693
+ return className() + " dynamic-023c60f2";
1689
1694
  },
1690
1695
  ref(r$) {
1691
1696
  const _ref$ = blocksWrapperRef;
@@ -2038,16 +2043,16 @@ function getSrcSet(url) {
2038
2043
  // src/blocks/image/image.tsx
2039
2044
  var _tmpl$5 = /* @__PURE__ */ template(`<source type=image/webp>`);
2040
2045
  var _tmpl$23 = /* @__PURE__ */ template(`<picture><img>`);
2041
- var _tmpl$32 = /* @__PURE__ */ template(`<div class="builder-image-sizer div-dc6700b4">`);
2042
- var _tmpl$42 = /* @__PURE__ */ template(`<div class=div-dc6700b4-2>`);
2043
- var _tmpl$52 = /* @__PURE__ */ template(`<style>.img-dc6700b4 {
2046
+ var _tmpl$32 = /* @__PURE__ */ template(`<div class="builder-image-sizer div-040e729e">`);
2047
+ var _tmpl$42 = /* @__PURE__ */ template(`<div class=div-040e729e-2>`);
2048
+ var _tmpl$52 = /* @__PURE__ */ template(`<style>.img-040e729e {
2044
2049
  opacity: 1;
2045
2050
  transition: opacity 0.2s ease-in-out;
2046
- }.div-dc6700b4 {
2051
+ }.div-040e729e {
2047
2052
  width: 100%;
2048
2053
  pointer-events: none;
2049
2054
  font-size: 0;
2050
- }.div-dc6700b4-2 {
2055
+ }.div-040e729e-2 {
2051
2056
  display: flex;
2052
2057
  flex-direction: column;
2053
2058
  align-items: stretch;
@@ -2110,20 +2115,21 @@ function Image(props) {
2110
2115
  }
2111
2116
  }), _el$3);
2112
2117
  effect((_p$) => {
2113
- const _v$ = "builder-image" + (props.className ? " " + props.className : "") + " img-dc6700b4", _v$2 = props.highPriority ? "eager" : "lazy", _v$3 = props.highPriority ? "high" : "auto", _v$4 = props.altText, _v$5 = props.altText ? void 0 : "presentation", _v$6 = {
2118
+ const _v$ = "builder-image" + (props.className ? " " + props.className : "") + " img-040e729e", _v$2 = props.highPriority ? "eager" : "lazy", _v$3 = props.highPriority ? "high" : "auto", _v$4 = props.altText, _v$5 = props.title, _v$6 = props.altText ? void 0 : "presentation", _v$7 = {
2114
2119
  "object-position": props.backgroundPosition || "center",
2115
2120
  "object-fit": props.backgroundSize || "cover",
2116
2121
  ...aspectRatioCss()
2117
- }, _v$7 = props.image, _v$8 = srcSetToUse(), _v$9 = props.sizes;
2122
+ }, _v$8 = props.image, _v$9 = srcSetToUse(), _v$10 = props.sizes;
2118
2123
  _v$ !== _p$._v$ && className(_el$3, _p$._v$ = _v$);
2119
2124
  _v$2 !== _p$._v$2 && setAttribute(_el$3, "loading", _p$._v$2 = _v$2);
2120
2125
  _v$3 !== _p$._v$3 && setAttribute(_el$3, "fetchpriority", _p$._v$3 = _v$3);
2121
2126
  _v$4 !== _p$._v$4 && setAttribute(_el$3, "alt", _p$._v$4 = _v$4);
2122
- _v$5 !== _p$._v$5 && setAttribute(_el$3, "role", _p$._v$5 = _v$5);
2123
- _p$._v$6 = style(_el$3, _v$6, _p$._v$6);
2124
- _v$7 !== _p$._v$7 && setAttribute(_el$3, "src", _p$._v$7 = _v$7);
2125
- _v$8 !== _p$._v$8 && setAttribute(_el$3, "srcset", _p$._v$8 = _v$8);
2126
- _v$9 !== _p$._v$9 && setAttribute(_el$3, "sizes", _p$._v$9 = _v$9);
2127
+ _v$5 !== _p$._v$5 && setAttribute(_el$3, "title", _p$._v$5 = _v$5);
2128
+ _v$6 !== _p$._v$6 && setAttribute(_el$3, "role", _p$._v$6 = _v$6);
2129
+ _p$._v$7 = style(_el$3, _v$7, _p$._v$7);
2130
+ _v$8 !== _p$._v$8 && setAttribute(_el$3, "src", _p$._v$8 = _v$8);
2131
+ _v$9 !== _p$._v$9 && setAttribute(_el$3, "srcset", _p$._v$9 = _v$9);
2132
+ _v$10 !== _p$._v$10 && setAttribute(_el$3, "sizes", _p$._v$10 = _v$10);
2127
2133
  return _p$;
2128
2134
  }, {
2129
2135
  _v$: void 0,
@@ -2134,7 +2140,8 @@ function Image(props) {
2134
2140
  _v$6: void 0,
2135
2141
  _v$7: void 0,
2136
2142
  _v$8: void 0,
2137
- _v$9: void 0
2143
+ _v$9: void 0,
2144
+ _v$10: void 0
2138
2145
  });
2139
2146
  return _el$;
2140
2147
  })(), createComponent(Show, {
@@ -3118,6 +3125,10 @@ var componentInfo5 = {
3118
3125
  name: "altText",
3119
3126
  type: "string",
3120
3127
  helperText: "Text to display when the user has images off"
3128
+ }, {
3129
+ name: "title",
3130
+ type: "string",
3131
+ helperText: "Text to display when hovering over the asset"
3121
3132
  }, {
3122
3133
  name: "height",
3123
3134
  type: "number",
@@ -5341,7 +5352,7 @@ function getPreviewContent(_searchParams) {
5341
5352
  }
5342
5353
 
5343
5354
  // src/constants/sdk-version.ts
5344
- var SDK_VERSION = "4.0.3";
5355
+ var SDK_VERSION = "4.0.4";
5345
5356
 
5346
5357
  // src/helpers/sdk-headers.ts
5347
5358
  var getSdkHeaders = () => ({
@@ -1480,9 +1480,10 @@ function Block(props) {
1480
1480
  var Block_default = Block;
1481
1481
 
1482
1482
  // src/components/blocks/blocks-wrapper.tsx
1483
- import { onMount as onMount3, createMemo as createMemo6 } from "solid-js";
1483
+ import { onMount as onMount3, on as on2, createEffect as createEffect2, createMemo as createMemo6, createSignal as createSignal6 } from "solid-js";
1484
1484
  import { Dynamic as Dynamic4 } from "solid-js/web";
1485
1485
  function BlocksWrapper(props) {
1486
+ const [shouldUpdate, setShouldUpdate] = createSignal6(false);
1486
1487
  const className = createMemo6(() => {
1487
1488
  return [
1488
1489
  "builder-blocks",
@@ -1529,9 +1530,13 @@ function BlocksWrapper(props) {
1529
1530
  let blocksWrapperRef;
1530
1531
  onMount3(() => {
1531
1532
  });
1533
+ const onUpdateFn_0_props_blocks = createMemo6(() => props.blocks);
1534
+ function onUpdateFn_0() {
1535
+ }
1536
+ createEffect2(on2(() => [onUpdateFn_0_props_blocks()], onUpdateFn_0));
1532
1537
  return <>
1533
1538
  <Dynamic4
1534
- class={className() + " dynamic-3d7ff108"}
1539
+ class={className() + " dynamic-023c60f2"}
1535
1540
  ref={blocksWrapperRef}
1536
1541
  builder-path={dataPath()}
1537
1542
  builder-parent-id={props.parent}
@@ -1543,7 +1548,7 @@ function BlocksWrapper(props) {
1543
1548
  {...props.BlocksWrapperProps}
1544
1549
  component={props.BlocksWrapper}
1545
1550
  >{props.children}</Dynamic4>
1546
- <style>{`.dynamic-3d7ff108 {
1551
+ <style>{`.dynamic-023c60f2 {
1547
1552
  display: flex;
1548
1553
  flex-direction: column;
1549
1554
  align-items: stretch;
@@ -1847,10 +1852,11 @@ function Image(props) {
1847
1852
  <picture>
1848
1853
  <Show8 when={webpSrcSet()}><source type="image/webp" srcset={webpSrcSet()} /></Show8>
1849
1854
  <img
1850
- class={"builder-image" + (props.className ? " " + props.className : "") + " img-dc6700b4"}
1855
+ class={"builder-image" + (props.className ? " " + props.className : "") + " img-040e729e"}
1851
1856
  loading={props.highPriority ? "eager" : "lazy"}
1852
1857
  fetchpriority={props.highPriority ? "high" : "auto"}
1853
1858
  alt={props.altText}
1859
+ title={props.title}
1854
1860
  role={props.altText ? void 0 : "presentation"}
1855
1861
  style={{
1856
1862
  "object-position": props.backgroundPosition || "center",
@@ -1865,22 +1871,22 @@ function Image(props) {
1865
1871
  <Show8
1866
1872
  when={props.aspectRatio && !(props.builderBlock?.children?.length && props.fitContent)}
1867
1873
  ><div
1868
- class="builder-image-sizer div-dc6700b4"
1874
+ class="builder-image-sizer div-040e729e"
1869
1875
  style={{
1870
1876
  "padding-top": props.aspectRatio * 100 + "%"
1871
1877
  }}
1872
1878
  /></Show8>
1873
1879
  <Show8 when={props.builderBlock?.children?.length && props.fitContent}>{props.children}</Show8>
1874
- <Show8 when={!props.fitContent && props.builderBlock?.children?.length}><div class="div-dc6700b4-2">{props.children}</div></Show8>
1880
+ <Show8 when={!props.fitContent && props.builderBlock?.children?.length}><div class="div-040e729e-2">{props.children}</div></Show8>
1875
1881
  </>
1876
- <style>{`.img-dc6700b4 {
1882
+ <style>{`.img-040e729e {
1877
1883
  opacity: 1;
1878
1884
  transition: opacity 0.2s ease-in-out;
1879
- }.div-dc6700b4 {
1885
+ }.div-040e729e {
1880
1886
  width: 100%;
1881
1887
  pointer-events: none;
1882
1888
  font-size: 0;
1883
- }.div-dc6700b4-2 {
1889
+ }.div-040e729e-2 {
1884
1890
  display: flex;
1885
1891
  flex-direction: column;
1886
1892
  align-items: stretch;
@@ -1916,7 +1922,7 @@ function SectionComponent(props) {
1916
1922
  var section_default = SectionComponent;
1917
1923
 
1918
1924
  // src/blocks/symbol/symbol.tsx
1919
- import { onMount as onMount9, on as on5, createEffect as createEffect5, createMemo as createMemo20, createSignal as createSignal20 } from "solid-js";
1925
+ import { onMount as onMount9, on as on6, createEffect as createEffect6, createMemo as createMemo20, createSignal as createSignal20 } from "solid-js";
1920
1926
 
1921
1927
  // src/components/content-variants/content-variants.tsx
1922
1928
  import { Show as Show16, For as For9, onMount as onMount8, createSignal as createSignal19, createMemo as createMemo19 } from "solid-js";
@@ -2815,6 +2821,10 @@ var componentInfo5 = {
2815
2821
  name: "altText",
2816
2822
  type: "string",
2817
2823
  helperText: "Text to display when the user has images off"
2824
+ }, {
2825
+ name: "title",
2826
+ type: "string",
2827
+ helperText: "Text to display when hovering over the asset"
2818
2828
  }, {
2819
2829
  name: "height",
2820
2830
  type: "number",
@@ -3625,7 +3635,7 @@ var componentInfo12 = {
3625
3635
  };
3626
3636
 
3627
3637
  // src/blocks/custom-code/custom-code.tsx
3628
- import { onMount as onMount5, on as on2, createEffect as createEffect2, createMemo as createMemo12, createSignal as createSignal12 } from "solid-js";
3638
+ import { onMount as onMount5, on as on3, createEffect as createEffect3, createMemo as createMemo12, createSignal as createSignal12 } from "solid-js";
3629
3639
  function CustomCode(props) {
3630
3640
  const [scriptsInserted, setScriptsInserted] = createSignal12([]);
3631
3641
  const [scriptsRun, setScriptsRun] = createSignal12([]);
@@ -3675,7 +3685,7 @@ function CustomCode(props) {
3675
3685
  runScripts();
3676
3686
  }
3677
3687
  }
3678
- createEffect2(on2(() => [onUpdateFn_0_props_code()], onUpdateFn_0));
3688
+ createEffect3(on3(() => [onUpdateFn_0_props_code()], onUpdateFn_0));
3679
3689
  return <><div
3680
3690
  class={"builder-custom-code" + (props.replaceNodes ? " replace-nodes" : "")}
3681
3691
  ref={elementRef}
@@ -3703,7 +3713,7 @@ var componentInfo13 = {
3703
3713
  };
3704
3714
 
3705
3715
  // src/blocks/embed/embed.tsx
3706
- import { on as on3, createEffect as createEffect3, createMemo as createMemo13, createSignal as createSignal13 } from "solid-js";
3716
+ import { on as on4, createEffect as createEffect4, createMemo as createMemo13, createSignal as createSignal13 } from "solid-js";
3707
3717
 
3708
3718
  // src/blocks/embed/helpers.ts
3709
3719
  var SCRIPT_MIME_TYPES = ["text/javascript", "application/javascript", "application/ecmascript"];
@@ -3745,8 +3755,8 @@ function Embed(props) {
3745
3755
  findAndRunScripts();
3746
3756
  }
3747
3757
  }
3748
- createEffect3(
3749
- on3(() => [onUpdateFn_0_elem(), onUpdateFn_0_ranInitFn__()], onUpdateFn_0)
3758
+ createEffect4(
3759
+ on4(() => [onUpdateFn_0_elem(), onUpdateFn_0_ranInitFn__()], onUpdateFn_0)
3750
3760
  );
3751
3761
  return <><div class="builder-embed" ref={elem} innerHTML={props.content} /></>;
3752
3762
  }
@@ -4838,8 +4848,8 @@ var getUpdateVariantVisibilityScript = ({
4838
4848
  import {
4839
4849
  Show as Show14,
4840
4850
  onMount as onMount7,
4841
- on as on4,
4842
- createEffect as createEffect4,
4851
+ on as on5,
4852
+ createEffect as createEffect5,
4843
4853
  createMemo as createMemo16,
4844
4854
  createSignal as createSignal16
4845
4855
  } from "solid-js";
@@ -4851,7 +4861,7 @@ function getPreviewContent(_searchParams) {
4851
4861
  }
4852
4862
 
4853
4863
  // src/constants/sdk-version.ts
4854
- var SDK_VERSION = "4.0.3";
4864
+ var SDK_VERSION = "4.0.4";
4855
4865
 
4856
4866
  // src/helpers/sdk-headers.ts
4857
4867
  var getSdkHeaders = () => ({
@@ -5943,15 +5953,15 @@ function EnableEditor(props) {
5943
5953
  mergeNewContent(props.content);
5944
5954
  }
5945
5955
  }
5946
- createEffect4(on4(() => [onUpdateFn_0_props_content()], onUpdateFn_0));
5956
+ createEffect5(on5(() => [onUpdateFn_0_props_content()], onUpdateFn_0));
5947
5957
  const onUpdateFn_1_props_builderContextSignal_rootState = createMemo16(
5948
5958
  () => props.builderContextSignal.rootState
5949
5959
  );
5950
5960
  function onUpdateFn_1() {
5951
5961
  emitStateUpdate();
5952
5962
  }
5953
- createEffect4(
5954
- on4(
5963
+ createEffect5(
5964
+ on5(
5955
5965
  () => [onUpdateFn_1_props_builderContextSignal_rootState()],
5956
5966
  onUpdateFn_1
5957
5967
  )
@@ -5962,7 +5972,7 @@ function EnableEditor(props) {
5962
5972
  mergeNewRootState(props.data);
5963
5973
  }
5964
5974
  }
5965
- createEffect4(on4(() => [onUpdateFn_2_props_data()], onUpdateFn_2));
5975
+ createEffect5(on5(() => [onUpdateFn_2_props_data()], onUpdateFn_2));
5966
5976
  const onUpdateFn_3_props_locale = createMemo16(() => props.locale);
5967
5977
  function onUpdateFn_3() {
5968
5978
  if (props.locale) {
@@ -5971,7 +5981,7 @@ function EnableEditor(props) {
5971
5981
  });
5972
5982
  }
5973
5983
  }
5974
- createEffect4(on4(() => [onUpdateFn_3_props_locale()], onUpdateFn_3));
5984
+ createEffect5(on5(() => [onUpdateFn_3_props_locale()], onUpdateFn_3));
5975
5985
  return <><builder_context_default.Provider value={props.builderContextSignal}><Show14
5976
5986
  when={props.builderContextSignal.content || needsElementRefDivForEditing()}
5977
5987
  ><Dynamic5
@@ -6349,7 +6359,7 @@ function Symbol(props) {
6349
6359
  function onUpdateFn_0() {
6350
6360
  setContent();
6351
6361
  }
6352
- createEffect5(on5(() => [onUpdateFn_0_props_symbol()], onUpdateFn_0));
6362
+ createEffect6(on6(() => [onUpdateFn_0_props_symbol()], onUpdateFn_0));
6353
6363
  return <><div class={className()} {...{}} {...props.attributes} {...{}}><Content_variants_default
6354
6364
  nonce={props.builderContext.nonce}
6355
6365
  isNestedRender={true}
@@ -1632,12 +1632,13 @@ function Block(props) {
1632
1632
  });
1633
1633
  }
1634
1634
  var block_default = Block;
1635
- var _tmpl$2 = /* @__PURE__ */ template(`<style>.dynamic-3d7ff108 {
1635
+ var _tmpl$2 = /* @__PURE__ */ template(`<style>.dynamic-023c60f2 {
1636
1636
  display: flex;
1637
1637
  flex-direction: column;
1638
1638
  align-items: stretch;
1639
1639
  }`);
1640
1640
  function BlocksWrapper(props) {
1641
+ createSignal(false);
1641
1642
  const className = createMemo(() => {
1642
1643
  return ["builder-blocks", !props.blocks?.length ? "no-blocks" : "", props.classNameProp].filter(Boolean).join(" ");
1643
1644
  });
@@ -1674,9 +1675,13 @@ function BlocksWrapper(props) {
1674
1675
  let blocksWrapperRef;
1675
1676
  onMount(() => {
1676
1677
  });
1678
+ const onUpdateFn_0_props_blocks = createMemo(() => props.blocks);
1679
+ function onUpdateFn_0() {
1680
+ }
1681
+ createEffect(on(() => [onUpdateFn_0_props_blocks()], onUpdateFn_0));
1677
1682
  return [createComponent(Dynamic, mergeProps({
1678
1683
  get ["class"]() {
1679
- return className() + " dynamic-3d7ff108";
1684
+ return className() + " dynamic-023c60f2";
1680
1685
  },
1681
1686
  ref(r$) {
1682
1687
  const _ref$ = blocksWrapperRef;
@@ -2029,16 +2034,16 @@ function getSrcSet(url) {
2029
2034
  // src/blocks/image/image.tsx
2030
2035
  var _tmpl$5 = /* @__PURE__ */ template(`<source type=image/webp>`);
2031
2036
  var _tmpl$23 = /* @__PURE__ */ template(`<picture><img>`);
2032
- var _tmpl$32 = /* @__PURE__ */ template(`<div class="builder-image-sizer div-dc6700b4">`);
2033
- var _tmpl$42 = /* @__PURE__ */ template(`<div class=div-dc6700b4-2>`);
2034
- var _tmpl$52 = /* @__PURE__ */ template(`<style>.img-dc6700b4 {
2037
+ var _tmpl$32 = /* @__PURE__ */ template(`<div class="builder-image-sizer div-040e729e">`);
2038
+ var _tmpl$42 = /* @__PURE__ */ template(`<div class=div-040e729e-2>`);
2039
+ var _tmpl$52 = /* @__PURE__ */ template(`<style>.img-040e729e {
2035
2040
  opacity: 1;
2036
2041
  transition: opacity 0.2s ease-in-out;
2037
- }.div-dc6700b4 {
2042
+ }.div-040e729e {
2038
2043
  width: 100%;
2039
2044
  pointer-events: none;
2040
2045
  font-size: 0;
2041
- }.div-dc6700b4-2 {
2046
+ }.div-040e729e-2 {
2042
2047
  display: flex;
2043
2048
  flex-direction: column;
2044
2049
  align-items: stretch;
@@ -2100,20 +2105,21 @@ function Image(props) {
2100
2105
  }
2101
2106
  }), _el$3);
2102
2107
  effect((_p$) => {
2103
- const _v$ = "builder-image" + (props.className ? " " + props.className : "") + " img-dc6700b4", _v$2 = props.highPriority ? "eager" : "lazy", _v$3 = props.highPriority ? "high" : "auto", _v$4 = props.altText, _v$5 = props.altText ? void 0 : "presentation", _v$6 = {
2108
+ const _v$ = "builder-image" + (props.className ? " " + props.className : "") + " img-040e729e", _v$2 = props.highPriority ? "eager" : "lazy", _v$3 = props.highPriority ? "high" : "auto", _v$4 = props.altText, _v$5 = props.title, _v$6 = props.altText ? void 0 : "presentation", _v$7 = {
2104
2109
  "object-position": props.backgroundPosition || "center",
2105
2110
  "object-fit": props.backgroundSize || "cover",
2106
2111
  ...aspectRatioCss()
2107
- }, _v$7 = props.image, _v$8 = srcSetToUse(), _v$9 = props.sizes;
2112
+ }, _v$8 = props.image, _v$9 = srcSetToUse(), _v$10 = props.sizes;
2108
2113
  _v$ !== _p$._v$ && className(_el$3, _p$._v$ = _v$);
2109
2114
  _v$2 !== _p$._v$2 && setAttribute(_el$3, "loading", _p$._v$2 = _v$2);
2110
2115
  _v$3 !== _p$._v$3 && setAttribute(_el$3, "fetchpriority", _p$._v$3 = _v$3);
2111
2116
  _v$4 !== _p$._v$4 && setAttribute(_el$3, "alt", _p$._v$4 = _v$4);
2112
- _v$5 !== _p$._v$5 && setAttribute(_el$3, "role", _p$._v$5 = _v$5);
2113
- _p$._v$6 = style(_el$3, _v$6, _p$._v$6);
2114
- _v$7 !== _p$._v$7 && setAttribute(_el$3, "src", _p$._v$7 = _v$7);
2115
- _v$8 !== _p$._v$8 && setAttribute(_el$3, "srcset", _p$._v$8 = _v$8);
2116
- _v$9 !== _p$._v$9 && setAttribute(_el$3, "sizes", _p$._v$9 = _v$9);
2117
+ _v$5 !== _p$._v$5 && setAttribute(_el$3, "title", _p$._v$5 = _v$5);
2118
+ _v$6 !== _p$._v$6 && setAttribute(_el$3, "role", _p$._v$6 = _v$6);
2119
+ _p$._v$7 = style(_el$3, _v$7, _p$._v$7);
2120
+ _v$8 !== _p$._v$8 && setAttribute(_el$3, "src", _p$._v$8 = _v$8);
2121
+ _v$9 !== _p$._v$9 && setAttribute(_el$3, "srcset", _p$._v$9 = _v$9);
2122
+ _v$10 !== _p$._v$10 && setAttribute(_el$3, "sizes", _p$._v$10 = _v$10);
2117
2123
  return _p$;
2118
2124
  }, {
2119
2125
  _v$: void 0,
@@ -2124,7 +2130,8 @@ function Image(props) {
2124
2130
  _v$6: void 0,
2125
2131
  _v$7: void 0,
2126
2132
  _v$8: void 0,
2127
- _v$9: void 0
2133
+ _v$9: void 0,
2134
+ _v$10: void 0
2128
2135
  });
2129
2136
  return _el$;
2130
2137
  })(), createComponent(Show, {
@@ -3107,6 +3114,10 @@ var componentInfo5 = {
3107
3114
  name: "altText",
3108
3115
  type: "string",
3109
3116
  helperText: "Text to display when the user has images off"
3117
+ }, {
3118
+ name: "title",
3119
+ type: "string",
3120
+ helperText: "Text to display when hovering over the asset"
3110
3121
  }, {
3111
3122
  name: "height",
3112
3123
  type: "number",
@@ -5329,7 +5340,7 @@ function getPreviewContent(_searchParams) {
5329
5340
  }
5330
5341
 
5331
5342
  // src/constants/sdk-version.ts
5332
- var SDK_VERSION = "4.0.3";
5343
+ var SDK_VERSION = "4.0.4";
5333
5344
 
5334
5345
  // src/helpers/sdk-headers.ts
5335
5346
  var getSdkHeaders = () => ({
@@ -1473,9 +1473,10 @@ function Block(props) {
1473
1473
  var Block_default = Block;
1474
1474
 
1475
1475
  // src/components/blocks/blocks-wrapper.tsx
1476
- import { onMount as onMount3, createMemo as createMemo6 } from "solid-js";
1476
+ import { onMount as onMount3, on as on2, createEffect as createEffect2, createMemo as createMemo6, createSignal as createSignal6 } from "solid-js";
1477
1477
  import { Dynamic as Dynamic4 } from "solid-js/web";
1478
1478
  function BlocksWrapper(props) {
1479
+ const [shouldUpdate, setShouldUpdate] = createSignal6(false);
1479
1480
  const className = createMemo6(() => {
1480
1481
  return [
1481
1482
  "builder-blocks",
@@ -1522,9 +1523,13 @@ function BlocksWrapper(props) {
1522
1523
  let blocksWrapperRef;
1523
1524
  onMount3(() => {
1524
1525
  });
1526
+ const onUpdateFn_0_props_blocks = createMemo6(() => props.blocks);
1527
+ function onUpdateFn_0() {
1528
+ }
1529
+ createEffect2(on2(() => [onUpdateFn_0_props_blocks()], onUpdateFn_0));
1525
1530
  return <>
1526
1531
  <Dynamic4
1527
- class={className() + " dynamic-3d7ff108"}
1532
+ class={className() + " dynamic-023c60f2"}
1528
1533
  ref={blocksWrapperRef}
1529
1534
  builder-path={dataPath()}
1530
1535
  builder-parent-id={props.parent}
@@ -1536,7 +1541,7 @@ function BlocksWrapper(props) {
1536
1541
  {...props.BlocksWrapperProps}
1537
1542
  component={props.BlocksWrapper}
1538
1543
  >{props.children}</Dynamic4>
1539
- <style>{`.dynamic-3d7ff108 {
1544
+ <style>{`.dynamic-023c60f2 {
1540
1545
  display: flex;
1541
1546
  flex-direction: column;
1542
1547
  align-items: stretch;
@@ -1839,10 +1844,11 @@ function Image(props) {
1839
1844
  <picture>
1840
1845
  <Show8 when={webpSrcSet()}><source type="image/webp" srcset={webpSrcSet()} /></Show8>
1841
1846
  <img
1842
- class={"builder-image" + (props.className ? " " + props.className : "") + " img-dc6700b4"}
1847
+ class={"builder-image" + (props.className ? " " + props.className : "") + " img-040e729e"}
1843
1848
  loading={props.highPriority ? "eager" : "lazy"}
1844
1849
  fetchpriority={props.highPriority ? "high" : "auto"}
1845
1850
  alt={props.altText}
1851
+ title={props.title}
1846
1852
  role={props.altText ? void 0 : "presentation"}
1847
1853
  style={{
1848
1854
  "object-position": props.backgroundPosition || "center",
@@ -1857,22 +1863,22 @@ function Image(props) {
1857
1863
  <Show8
1858
1864
  when={props.aspectRatio && !(props.builderBlock?.children?.length && props.fitContent)}
1859
1865
  ><div
1860
- class="builder-image-sizer div-dc6700b4"
1866
+ class="builder-image-sizer div-040e729e"
1861
1867
  style={{
1862
1868
  "padding-top": props.aspectRatio * 100 + "%"
1863
1869
  }}
1864
1870
  /></Show8>
1865
1871
  <Show8 when={props.builderBlock?.children?.length && props.fitContent}>{props.children}</Show8>
1866
- <Show8 when={!props.fitContent && props.builderBlock?.children?.length}><div class="div-dc6700b4-2">{props.children}</div></Show8>
1872
+ <Show8 when={!props.fitContent && props.builderBlock?.children?.length}><div class="div-040e729e-2">{props.children}</div></Show8>
1867
1873
  </>
1868
- <style>{`.img-dc6700b4 {
1874
+ <style>{`.img-040e729e {
1869
1875
  opacity: 1;
1870
1876
  transition: opacity 0.2s ease-in-out;
1871
- }.div-dc6700b4 {
1877
+ }.div-040e729e {
1872
1878
  width: 100%;
1873
1879
  pointer-events: none;
1874
1880
  font-size: 0;
1875
- }.div-dc6700b4-2 {
1881
+ }.div-040e729e-2 {
1876
1882
  display: flex;
1877
1883
  flex-direction: column;
1878
1884
  align-items: stretch;
@@ -1908,7 +1914,7 @@ function SectionComponent(props) {
1908
1914
  var section_default = SectionComponent;
1909
1915
 
1910
1916
  // src/blocks/symbol/symbol.tsx
1911
- import { onMount as onMount9, on as on5, createEffect as createEffect5, createMemo as createMemo20, createSignal as createSignal20 } from "solid-js";
1917
+ import { onMount as onMount9, on as on6, createEffect as createEffect6, createMemo as createMemo20, createSignal as createSignal20 } from "solid-js";
1912
1918
 
1913
1919
  // src/components/content-variants/content-variants.tsx
1914
1920
  import { Show as Show16, For as For9, onMount as onMount8, createSignal as createSignal19, createMemo as createMemo19 } from "solid-js";
@@ -2806,6 +2812,10 @@ var componentInfo5 = {
2806
2812
  name: "altText",
2807
2813
  type: "string",
2808
2814
  helperText: "Text to display when the user has images off"
2815
+ }, {
2816
+ name: "title",
2817
+ type: "string",
2818
+ helperText: "Text to display when hovering over the asset"
2809
2819
  }, {
2810
2820
  name: "height",
2811
2821
  type: "number",
@@ -3616,7 +3626,7 @@ var componentInfo12 = {
3616
3626
  };
3617
3627
 
3618
3628
  // src/blocks/custom-code/custom-code.tsx
3619
- import { onMount as onMount5, on as on2, createEffect as createEffect2, createMemo as createMemo12, createSignal as createSignal12 } from "solid-js";
3629
+ import { onMount as onMount5, on as on3, createEffect as createEffect3, createMemo as createMemo12, createSignal as createSignal12 } from "solid-js";
3620
3630
  function CustomCode(props) {
3621
3631
  const [scriptsInserted, setScriptsInserted] = createSignal12([]);
3622
3632
  const [scriptsRun, setScriptsRun] = createSignal12([]);
@@ -3666,7 +3676,7 @@ function CustomCode(props) {
3666
3676
  runScripts();
3667
3677
  }
3668
3678
  }
3669
- createEffect2(on2(() => [onUpdateFn_0_props_code()], onUpdateFn_0));
3679
+ createEffect3(on3(() => [onUpdateFn_0_props_code()], onUpdateFn_0));
3670
3680
  return <><div
3671
3681
  class={"builder-custom-code" + (props.replaceNodes ? " replace-nodes" : "")}
3672
3682
  ref={elementRef}
@@ -3694,7 +3704,7 @@ var componentInfo13 = {
3694
3704
  };
3695
3705
 
3696
3706
  // src/blocks/embed/embed.tsx
3697
- import { on as on3, createEffect as createEffect3, createMemo as createMemo13, createSignal as createSignal13 } from "solid-js";
3707
+ import { on as on4, createEffect as createEffect4, createMemo as createMemo13, createSignal as createSignal13 } from "solid-js";
3698
3708
 
3699
3709
  // src/blocks/embed/helpers.ts
3700
3710
  var SCRIPT_MIME_TYPES = ["text/javascript", "application/javascript", "application/ecmascript"];
@@ -3736,8 +3746,8 @@ function Embed(props) {
3736
3746
  findAndRunScripts();
3737
3747
  }
3738
3748
  }
3739
- createEffect3(
3740
- on3(() => [onUpdateFn_0_elem(), onUpdateFn_0_ranInitFn__()], onUpdateFn_0)
3749
+ createEffect4(
3750
+ on4(() => [onUpdateFn_0_elem(), onUpdateFn_0_ranInitFn__()], onUpdateFn_0)
3741
3751
  );
3742
3752
  return <><div class="builder-embed" ref={elem} innerHTML={props.content} /></>;
3743
3753
  }
@@ -4828,8 +4838,8 @@ var getUpdateVariantVisibilityScript = ({
4828
4838
  import {
4829
4839
  Show as Show14,
4830
4840
  onMount as onMount7,
4831
- on as on4,
4832
- createEffect as createEffect4,
4841
+ on as on5,
4842
+ createEffect as createEffect5,
4833
4843
  createMemo as createMemo16,
4834
4844
  createSignal as createSignal16
4835
4845
  } from "solid-js";
@@ -4841,7 +4851,7 @@ function getPreviewContent(_searchParams) {
4841
4851
  }
4842
4852
 
4843
4853
  // src/constants/sdk-version.ts
4844
- var SDK_VERSION = "4.0.3";
4854
+ var SDK_VERSION = "4.0.4";
4845
4855
 
4846
4856
  // src/helpers/sdk-headers.ts
4847
4857
  var getSdkHeaders = () => ({
@@ -5926,15 +5936,15 @@ function EnableEditor(props) {
5926
5936
  mergeNewContent(props.content);
5927
5937
  }
5928
5938
  }
5929
- createEffect4(on4(() => [onUpdateFn_0_props_content()], onUpdateFn_0));
5939
+ createEffect5(on5(() => [onUpdateFn_0_props_content()], onUpdateFn_0));
5930
5940
  const onUpdateFn_1_props_builderContextSignal_rootState = createMemo16(
5931
5941
  () => props.builderContextSignal.rootState
5932
5942
  );
5933
5943
  function onUpdateFn_1() {
5934
5944
  emitStateUpdate();
5935
5945
  }
5936
- createEffect4(
5937
- on4(
5946
+ createEffect5(
5947
+ on5(
5938
5948
  () => [onUpdateFn_1_props_builderContextSignal_rootState()],
5939
5949
  onUpdateFn_1
5940
5950
  )
@@ -5945,7 +5955,7 @@ function EnableEditor(props) {
5945
5955
  mergeNewRootState(props.data);
5946
5956
  }
5947
5957
  }
5948
- createEffect4(on4(() => [onUpdateFn_2_props_data()], onUpdateFn_2));
5958
+ createEffect5(on5(() => [onUpdateFn_2_props_data()], onUpdateFn_2));
5949
5959
  const onUpdateFn_3_props_locale = createMemo16(() => props.locale);
5950
5960
  function onUpdateFn_3() {
5951
5961
  if (props.locale) {
@@ -5954,7 +5964,7 @@ function EnableEditor(props) {
5954
5964
  });
5955
5965
  }
5956
5966
  }
5957
- createEffect4(on4(() => [onUpdateFn_3_props_locale()], onUpdateFn_3));
5967
+ createEffect5(on5(() => [onUpdateFn_3_props_locale()], onUpdateFn_3));
5958
5968
  return <><builder_context_default.Provider value={props.builderContextSignal}><Show14
5959
5969
  when={props.builderContextSignal.content || needsElementRefDivForEditing()}
5960
5970
  ><Dynamic5
@@ -6332,7 +6342,7 @@ function Symbol(props) {
6332
6342
  function onUpdateFn_0() {
6333
6343
  setContent();
6334
6344
  }
6335
- createEffect5(on5(() => [onUpdateFn_0_props_symbol()], onUpdateFn_0));
6345
+ createEffect6(on6(() => [onUpdateFn_0_props_symbol()], onUpdateFn_0));
6336
6346
  return <><div class={className()} {...{}} {...props.attributes} {...{}}><Content_variants_default
6337
6347
  nonce={props.builderContext.nonce}
6338
6348
  isNestedRender={true}