@builder.io/sdk-solid 4.0.3 → 4.0.5

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;
@@ -1305,7 +1305,13 @@ var getWrapperProps = ({
1305
1305
 
1306
1306
  // src/components/block/components/component-ref/component-ref.tsx
1307
1307
  function ComponentRef(props) {
1308
+ createSignal(false);
1308
1309
  const [Wrapper, setWrapper] = createSignal(props.isInteractive ? interactive_element_default : props.componentRef);
1310
+ const onUpdateFn_0_props_componentOptions = createMemo(() => props.componentOptions);
1311
+ const onUpdateFn_0_props_blockChildren = createMemo(() => props.blockChildren);
1312
+ function onUpdateFn_0() {
1313
+ }
1314
+ createEffect(on(() => [onUpdateFn_0_props_componentOptions(), onUpdateFn_0_props_blockChildren()], onUpdateFn_0));
1309
1315
  return createComponent(Show, {
1310
1316
  get when() {
1311
1317
  return props.componentRef;
@@ -1641,12 +1647,13 @@ function Block(props) {
1641
1647
  });
1642
1648
  }
1643
1649
  var block_default = Block;
1644
- var _tmpl$2 = /* @__PURE__ */ template(`<style>.dynamic-3d7ff108 {
1650
+ var _tmpl$2 = /* @__PURE__ */ template(`<style>.dynamic-023c60f2 {
1645
1651
  display: flex;
1646
1652
  flex-direction: column;
1647
1653
  align-items: stretch;
1648
1654
  }`);
1649
1655
  function BlocksWrapper(props) {
1656
+ createSignal(false);
1650
1657
  const className = createMemo(() => {
1651
1658
  return ["builder-blocks", !props.blocks?.length ? "no-blocks" : "", props.classNameProp].filter(Boolean).join(" ");
1652
1659
  });
@@ -1683,9 +1690,13 @@ function BlocksWrapper(props) {
1683
1690
  let blocksWrapperRef;
1684
1691
  onMount(() => {
1685
1692
  });
1693
+ const onUpdateFn_0_props_blocks = createMemo(() => props.blocks);
1694
+ function onUpdateFn_0() {
1695
+ }
1696
+ createEffect(on(() => [onUpdateFn_0_props_blocks()], onUpdateFn_0));
1686
1697
  return [createComponent(Dynamic, mergeProps({
1687
1698
  get ["class"]() {
1688
- return className() + " dynamic-3d7ff108";
1699
+ return className() + " dynamic-023c60f2";
1689
1700
  },
1690
1701
  ref(r$) {
1691
1702
  const _ref$ = blocksWrapperRef;
@@ -1784,9 +1795,10 @@ var getColumnsClass = (id) => {
1784
1795
 
1785
1796
  // src/blocks/columns/columns.tsx
1786
1797
  var _tmpl$3 = /* @__PURE__ */ template(`<div>`);
1787
- var _tmpl$22 = /* @__PURE__ */ template(`<style>.div-6331dfc5 {
1798
+ var _tmpl$22 = /* @__PURE__ */ template(`<style>.div-7612d942 {
1788
1799
  display: flex;
1789
1800
  line-height: normal;
1801
+ height: 100%;
1790
1802
  }`);
1791
1803
  function Columns(props) {
1792
1804
  const gutterSize = createMemo(() => {
@@ -1913,7 +1925,7 @@ function Columns(props) {
1913
1925
  const _el$ = _tmpl$3();
1914
1926
  spread(_el$, mergeProps({
1915
1927
  get ["class"]() {
1916
- return getColumnsClass(props.builderBlock?.id) + " div-6331dfc5";
1928
+ return getColumnsClass(props.builderBlock?.id) + " div-7612d942";
1917
1929
  },
1918
1930
  get style() {
1919
1931
  return columnsCssVars();
@@ -2038,16 +2050,16 @@ function getSrcSet(url) {
2038
2050
  // src/blocks/image/image.tsx
2039
2051
  var _tmpl$5 = /* @__PURE__ */ template(`<source type=image/webp>`);
2040
2052
  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 {
2053
+ var _tmpl$32 = /* @__PURE__ */ template(`<div class="builder-image-sizer div-040e729e">`);
2054
+ var _tmpl$42 = /* @__PURE__ */ template(`<div class=div-040e729e-2>`);
2055
+ var _tmpl$52 = /* @__PURE__ */ template(`<style>.img-040e729e {
2044
2056
  opacity: 1;
2045
2057
  transition: opacity 0.2s ease-in-out;
2046
- }.div-dc6700b4 {
2058
+ }.div-040e729e {
2047
2059
  width: 100%;
2048
2060
  pointer-events: none;
2049
2061
  font-size: 0;
2050
- }.div-dc6700b4-2 {
2062
+ }.div-040e729e-2 {
2051
2063
  display: flex;
2052
2064
  flex-direction: column;
2053
2065
  align-items: stretch;
@@ -2110,20 +2122,21 @@ function Image(props) {
2110
2122
  }
2111
2123
  }), _el$3);
2112
2124
  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 = {
2125
+ 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
2126
  "object-position": props.backgroundPosition || "center",
2115
2127
  "object-fit": props.backgroundSize || "cover",
2116
2128
  ...aspectRatioCss()
2117
- }, _v$7 = props.image, _v$8 = srcSetToUse(), _v$9 = props.sizes;
2129
+ }, _v$8 = props.image, _v$9 = srcSetToUse(), _v$10 = props.sizes;
2118
2130
  _v$ !== _p$._v$ && className(_el$3, _p$._v$ = _v$);
2119
2131
  _v$2 !== _p$._v$2 && setAttribute(_el$3, "loading", _p$._v$2 = _v$2);
2120
2132
  _v$3 !== _p$._v$3 && setAttribute(_el$3, "fetchpriority", _p$._v$3 = _v$3);
2121
2133
  _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);
2134
+ _v$5 !== _p$._v$5 && setAttribute(_el$3, "title", _p$._v$5 = _v$5);
2135
+ _v$6 !== _p$._v$6 && setAttribute(_el$3, "role", _p$._v$6 = _v$6);
2136
+ _p$._v$7 = style(_el$3, _v$7, _p$._v$7);
2137
+ _v$8 !== _p$._v$8 && setAttribute(_el$3, "src", _p$._v$8 = _v$8);
2138
+ _v$9 !== _p$._v$9 && setAttribute(_el$3, "srcset", _p$._v$9 = _v$9);
2139
+ _v$10 !== _p$._v$10 && setAttribute(_el$3, "sizes", _p$._v$10 = _v$10);
2127
2140
  return _p$;
2128
2141
  }, {
2129
2142
  _v$: void 0,
@@ -2134,7 +2147,8 @@ function Image(props) {
2134
2147
  _v$6: void 0,
2135
2148
  _v$7: void 0,
2136
2149
  _v$8: void 0,
2137
- _v$9: void 0
2150
+ _v$9: void 0,
2151
+ _v$10: void 0
2138
2152
  });
2139
2153
  return _el$;
2140
2154
  })(), createComponent(Show, {
@@ -3118,6 +3132,10 @@ var componentInfo5 = {
3118
3132
  name: "altText",
3119
3133
  type: "string",
3120
3134
  helperText: "Text to display when the user has images off"
3135
+ }, {
3136
+ name: "title",
3137
+ type: "string",
3138
+ helperText: "Text to display when hovering over the asset"
3121
3139
  }, {
3122
3140
  name: "height",
3123
3141
  type: "number",
@@ -5341,7 +5359,7 @@ function getPreviewContent(_searchParams) {
5341
5359
  }
5342
5360
 
5343
5361
  // src/constants/sdk-version.ts
5344
- var SDK_VERSION = "4.0.3";
5362
+ var SDK_VERSION = "4.0.5";
5345
5363
 
5346
5364
  // src/helpers/sdk-headers.ts
5347
5365
  var getSdkHeaders = () => ({
@@ -1196,7 +1196,14 @@ function BlockWrapper(props) {
1196
1196
  var Block_wrapper_default = BlockWrapper;
1197
1197
 
1198
1198
  // src/components/block/components/component-ref/component-ref.tsx
1199
- import { Show as Show4, For, createSignal as createSignal3 } from "solid-js";
1199
+ import {
1200
+ Show as Show4,
1201
+ For,
1202
+ on,
1203
+ createEffect,
1204
+ createMemo as createMemo3,
1205
+ createSignal as createSignal3
1206
+ } from "solid-js";
1200
1207
  import { Dynamic as Dynamic3 } from "solid-js/web";
1201
1208
 
1202
1209
  // src/components/block/components/interactive-element.tsx
@@ -1280,9 +1287,27 @@ var getWrapperProps = ({
1280
1287
 
1281
1288
  // src/components/block/components/component-ref/component-ref.tsx
1282
1289
  function ComponentRef(props) {
1290
+ const [shouldUpdate, setShouldUpdate] = createSignal3(false);
1283
1291
  const [Wrapper, setWrapper] = createSignal3(
1284
1292
  props.isInteractive ? interactive_element_default : props.componentRef
1285
1293
  );
1294
+ const onUpdateFn_0_props_componentOptions = createMemo3(
1295
+ () => props.componentOptions
1296
+ );
1297
+ const onUpdateFn_0_props_blockChildren = createMemo3(
1298
+ () => props.blockChildren
1299
+ );
1300
+ function onUpdateFn_0() {
1301
+ }
1302
+ createEffect(
1303
+ on(
1304
+ () => [
1305
+ onUpdateFn_0_props_componentOptions(),
1306
+ onUpdateFn_0_props_blockChildren()
1307
+ ],
1308
+ onUpdateFn_0
1309
+ )
1310
+ );
1286
1311
  return <><Show4 when={props.componentRef}><Dynamic3
1287
1312
  {...getWrapperProps({
1288
1313
  componentOptions: props.componentOptions,
@@ -1480,9 +1505,10 @@ function Block(props) {
1480
1505
  var Block_default = Block;
1481
1506
 
1482
1507
  // src/components/blocks/blocks-wrapper.tsx
1483
- import { onMount as onMount3, createMemo as createMemo6 } from "solid-js";
1508
+ import { onMount as onMount3, on as on3, createEffect as createEffect3, createMemo as createMemo6, createSignal as createSignal6 } from "solid-js";
1484
1509
  import { Dynamic as Dynamic4 } from "solid-js/web";
1485
1510
  function BlocksWrapper(props) {
1511
+ const [shouldUpdate, setShouldUpdate] = createSignal6(false);
1486
1512
  const className = createMemo6(() => {
1487
1513
  return [
1488
1514
  "builder-blocks",
@@ -1529,9 +1555,13 @@ function BlocksWrapper(props) {
1529
1555
  let blocksWrapperRef;
1530
1556
  onMount3(() => {
1531
1557
  });
1558
+ const onUpdateFn_0_props_blocks = createMemo6(() => props.blocks);
1559
+ function onUpdateFn_0() {
1560
+ }
1561
+ createEffect3(on3(() => [onUpdateFn_0_props_blocks()], onUpdateFn_0));
1532
1562
  return <>
1533
1563
  <Dynamic4
1534
- class={className() + " dynamic-3d7ff108"}
1564
+ class={className() + " dynamic-023c60f2"}
1535
1565
  ref={blocksWrapperRef}
1536
1566
  builder-path={dataPath()}
1537
1567
  builder-parent-id={props.parent}
@@ -1543,7 +1573,7 @@ function BlocksWrapper(props) {
1543
1573
  {...props.BlocksWrapperProps}
1544
1574
  component={props.BlocksWrapper}
1545
1575
  >{props.children}</Dynamic4>
1546
- <style>{`.dynamic-3d7ff108 {
1576
+ <style>{`.dynamic-023c60f2 {
1547
1577
  display: flex;
1548
1578
  flex-direction: column;
1549
1579
  align-items: stretch;
@@ -1708,7 +1738,7 @@ function Columns(props) {
1708
1738
  }
1709
1739
  return <>
1710
1740
  <div
1711
- class={getColumnsClass(props.builderBlock?.id) + " div-6331dfc5"}
1741
+ class={getColumnsClass(props.builderBlock?.id) + " div-7612d942"}
1712
1742
  style={columnsCssVars()}
1713
1743
  {...{}}
1714
1744
  >
@@ -1737,9 +1767,10 @@ function Columns(props) {
1737
1767
  /></Dynamic_renderer_default>;
1738
1768
  }}</For4>
1739
1769
  </div>
1740
- <style>{`.div-6331dfc5 {
1770
+ <style>{`.div-7612d942 {
1741
1771
  display: flex;
1742
1772
  line-height: normal;
1773
+ height: 100%;
1743
1774
  }`}</style>
1744
1775
  </>;
1745
1776
  }
@@ -1847,10 +1878,11 @@ function Image(props) {
1847
1878
  <picture>
1848
1879
  <Show8 when={webpSrcSet()}><source type="image/webp" srcset={webpSrcSet()} /></Show8>
1849
1880
  <img
1850
- class={"builder-image" + (props.className ? " " + props.className : "") + " img-dc6700b4"}
1881
+ class={"builder-image" + (props.className ? " " + props.className : "") + " img-040e729e"}
1851
1882
  loading={props.highPriority ? "eager" : "lazy"}
1852
1883
  fetchpriority={props.highPriority ? "high" : "auto"}
1853
1884
  alt={props.altText}
1885
+ title={props.title}
1854
1886
  role={props.altText ? void 0 : "presentation"}
1855
1887
  style={{
1856
1888
  "object-position": props.backgroundPosition || "center",
@@ -1865,22 +1897,22 @@ function Image(props) {
1865
1897
  <Show8
1866
1898
  when={props.aspectRatio && !(props.builderBlock?.children?.length && props.fitContent)}
1867
1899
  ><div
1868
- class="builder-image-sizer div-dc6700b4"
1900
+ class="builder-image-sizer div-040e729e"
1869
1901
  style={{
1870
1902
  "padding-top": props.aspectRatio * 100 + "%"
1871
1903
  }}
1872
1904
  /></Show8>
1873
1905
  <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>
1906
+ <Show8 when={!props.fitContent && props.builderBlock?.children?.length}><div class="div-040e729e-2">{props.children}</div></Show8>
1875
1907
  </>
1876
- <style>{`.img-dc6700b4 {
1908
+ <style>{`.img-040e729e {
1877
1909
  opacity: 1;
1878
1910
  transition: opacity 0.2s ease-in-out;
1879
- }.div-dc6700b4 {
1911
+ }.div-040e729e {
1880
1912
  width: 100%;
1881
1913
  pointer-events: none;
1882
1914
  font-size: 0;
1883
- }.div-dc6700b4-2 {
1915
+ }.div-040e729e-2 {
1884
1916
  display: flex;
1885
1917
  flex-direction: column;
1886
1918
  align-items: stretch;
@@ -1916,7 +1948,7 @@ function SectionComponent(props) {
1916
1948
  var section_default = SectionComponent;
1917
1949
 
1918
1950
  // 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";
1951
+ import { onMount as onMount9, on as on7, createEffect as createEffect7, createMemo as createMemo20, createSignal as createSignal20 } from "solid-js";
1920
1952
 
1921
1953
  // src/components/content-variants/content-variants.tsx
1922
1954
  import { Show as Show16, For as For9, onMount as onMount8, createSignal as createSignal19, createMemo as createMemo19 } from "solid-js";
@@ -2815,6 +2847,10 @@ var componentInfo5 = {
2815
2847
  name: "altText",
2816
2848
  type: "string",
2817
2849
  helperText: "Text to display when the user has images off"
2850
+ }, {
2851
+ name: "title",
2852
+ type: "string",
2853
+ helperText: "Text to display when hovering over the asset"
2818
2854
  }, {
2819
2855
  name: "height",
2820
2856
  type: "number",
@@ -3625,7 +3661,7 @@ var componentInfo12 = {
3625
3661
  };
3626
3662
 
3627
3663
  // 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";
3664
+ import { onMount as onMount5, on as on4, createEffect as createEffect4, createMemo as createMemo12, createSignal as createSignal12 } from "solid-js";
3629
3665
  function CustomCode(props) {
3630
3666
  const [scriptsInserted, setScriptsInserted] = createSignal12([]);
3631
3667
  const [scriptsRun, setScriptsRun] = createSignal12([]);
@@ -3675,7 +3711,7 @@ function CustomCode(props) {
3675
3711
  runScripts();
3676
3712
  }
3677
3713
  }
3678
- createEffect2(on2(() => [onUpdateFn_0_props_code()], onUpdateFn_0));
3714
+ createEffect4(on4(() => [onUpdateFn_0_props_code()], onUpdateFn_0));
3679
3715
  return <><div
3680
3716
  class={"builder-custom-code" + (props.replaceNodes ? " replace-nodes" : "")}
3681
3717
  ref={elementRef}
@@ -3703,7 +3739,7 @@ var componentInfo13 = {
3703
3739
  };
3704
3740
 
3705
3741
  // src/blocks/embed/embed.tsx
3706
- import { on as on3, createEffect as createEffect3, createMemo as createMemo13, createSignal as createSignal13 } from "solid-js";
3742
+ import { on as on5, createEffect as createEffect5, createMemo as createMemo13, createSignal as createSignal13 } from "solid-js";
3707
3743
 
3708
3744
  // src/blocks/embed/helpers.ts
3709
3745
  var SCRIPT_MIME_TYPES = ["text/javascript", "application/javascript", "application/ecmascript"];
@@ -3745,8 +3781,8 @@ function Embed(props) {
3745
3781
  findAndRunScripts();
3746
3782
  }
3747
3783
  }
3748
- createEffect3(
3749
- on3(() => [onUpdateFn_0_elem(), onUpdateFn_0_ranInitFn__()], onUpdateFn_0)
3784
+ createEffect5(
3785
+ on5(() => [onUpdateFn_0_elem(), onUpdateFn_0_ranInitFn__()], onUpdateFn_0)
3750
3786
  );
3751
3787
  return <><div class="builder-embed" ref={elem} innerHTML={props.content} /></>;
3752
3788
  }
@@ -4838,8 +4874,8 @@ var getUpdateVariantVisibilityScript = ({
4838
4874
  import {
4839
4875
  Show as Show14,
4840
4876
  onMount as onMount7,
4841
- on as on4,
4842
- createEffect as createEffect4,
4877
+ on as on6,
4878
+ createEffect as createEffect6,
4843
4879
  createMemo as createMemo16,
4844
4880
  createSignal as createSignal16
4845
4881
  } from "solid-js";
@@ -4851,7 +4887,7 @@ function getPreviewContent(_searchParams) {
4851
4887
  }
4852
4888
 
4853
4889
  // src/constants/sdk-version.ts
4854
- var SDK_VERSION = "4.0.3";
4890
+ var SDK_VERSION = "4.0.5";
4855
4891
 
4856
4892
  // src/helpers/sdk-headers.ts
4857
4893
  var getSdkHeaders = () => ({
@@ -5943,15 +5979,15 @@ function EnableEditor(props) {
5943
5979
  mergeNewContent(props.content);
5944
5980
  }
5945
5981
  }
5946
- createEffect4(on4(() => [onUpdateFn_0_props_content()], onUpdateFn_0));
5982
+ createEffect6(on6(() => [onUpdateFn_0_props_content()], onUpdateFn_0));
5947
5983
  const onUpdateFn_1_props_builderContextSignal_rootState = createMemo16(
5948
5984
  () => props.builderContextSignal.rootState
5949
5985
  );
5950
5986
  function onUpdateFn_1() {
5951
5987
  emitStateUpdate();
5952
5988
  }
5953
- createEffect4(
5954
- on4(
5989
+ createEffect6(
5990
+ on6(
5955
5991
  () => [onUpdateFn_1_props_builderContextSignal_rootState()],
5956
5992
  onUpdateFn_1
5957
5993
  )
@@ -5962,7 +5998,7 @@ function EnableEditor(props) {
5962
5998
  mergeNewRootState(props.data);
5963
5999
  }
5964
6000
  }
5965
- createEffect4(on4(() => [onUpdateFn_2_props_data()], onUpdateFn_2));
6001
+ createEffect6(on6(() => [onUpdateFn_2_props_data()], onUpdateFn_2));
5966
6002
  const onUpdateFn_3_props_locale = createMemo16(() => props.locale);
5967
6003
  function onUpdateFn_3() {
5968
6004
  if (props.locale) {
@@ -5971,7 +6007,7 @@ function EnableEditor(props) {
5971
6007
  });
5972
6008
  }
5973
6009
  }
5974
- createEffect4(on4(() => [onUpdateFn_3_props_locale()], onUpdateFn_3));
6010
+ createEffect6(on6(() => [onUpdateFn_3_props_locale()], onUpdateFn_3));
5975
6011
  return <><builder_context_default.Provider value={props.builderContextSignal}><Show14
5976
6012
  when={props.builderContextSignal.content || needsElementRefDivForEditing()}
5977
6013
  ><Dynamic5
@@ -6349,7 +6385,7 @@ function Symbol(props) {
6349
6385
  function onUpdateFn_0() {
6350
6386
  setContent();
6351
6387
  }
6352
- createEffect5(on5(() => [onUpdateFn_0_props_symbol()], onUpdateFn_0));
6388
+ createEffect7(on7(() => [onUpdateFn_0_props_symbol()], onUpdateFn_0));
6353
6389
  return <><div class={className()} {...{}} {...props.attributes} {...{}}><Content_variants_default
6354
6390
  nonce={props.builderContext.nonce}
6355
6391
  isNestedRender={true}
@@ -1296,7 +1296,13 @@ var getWrapperProps = ({
1296
1296
 
1297
1297
  // src/components/block/components/component-ref/component-ref.tsx
1298
1298
  function ComponentRef(props) {
1299
+ createSignal(false);
1299
1300
  const [Wrapper, setWrapper] = createSignal(props.isInteractive ? interactive_element_default : props.componentRef);
1301
+ const onUpdateFn_0_props_componentOptions = createMemo(() => props.componentOptions);
1302
+ const onUpdateFn_0_props_blockChildren = createMemo(() => props.blockChildren);
1303
+ function onUpdateFn_0() {
1304
+ }
1305
+ createEffect(on(() => [onUpdateFn_0_props_componentOptions(), onUpdateFn_0_props_blockChildren()], onUpdateFn_0));
1300
1306
  return createComponent(Show, {
1301
1307
  get when() {
1302
1308
  return props.componentRef;
@@ -1632,12 +1638,13 @@ function Block(props) {
1632
1638
  });
1633
1639
  }
1634
1640
  var block_default = Block;
1635
- var _tmpl$2 = /* @__PURE__ */ template(`<style>.dynamic-3d7ff108 {
1641
+ var _tmpl$2 = /* @__PURE__ */ template(`<style>.dynamic-023c60f2 {
1636
1642
  display: flex;
1637
1643
  flex-direction: column;
1638
1644
  align-items: stretch;
1639
1645
  }`);
1640
1646
  function BlocksWrapper(props) {
1647
+ createSignal(false);
1641
1648
  const className = createMemo(() => {
1642
1649
  return ["builder-blocks", !props.blocks?.length ? "no-blocks" : "", props.classNameProp].filter(Boolean).join(" ");
1643
1650
  });
@@ -1674,9 +1681,13 @@ function BlocksWrapper(props) {
1674
1681
  let blocksWrapperRef;
1675
1682
  onMount(() => {
1676
1683
  });
1684
+ const onUpdateFn_0_props_blocks = createMemo(() => props.blocks);
1685
+ function onUpdateFn_0() {
1686
+ }
1687
+ createEffect(on(() => [onUpdateFn_0_props_blocks()], onUpdateFn_0));
1677
1688
  return [createComponent(Dynamic, mergeProps({
1678
1689
  get ["class"]() {
1679
- return className() + " dynamic-3d7ff108";
1690
+ return className() + " dynamic-023c60f2";
1680
1691
  },
1681
1692
  ref(r$) {
1682
1693
  const _ref$ = blocksWrapperRef;
@@ -1775,9 +1786,10 @@ var getColumnsClass = (id) => {
1775
1786
 
1776
1787
  // src/blocks/columns/columns.tsx
1777
1788
  var _tmpl$3 = /* @__PURE__ */ template(`<div>`);
1778
- var _tmpl$22 = /* @__PURE__ */ template(`<style>.div-6331dfc5 {
1789
+ var _tmpl$22 = /* @__PURE__ */ template(`<style>.div-7612d942 {
1779
1790
  display: flex;
1780
1791
  line-height: normal;
1792
+ height: 100%;
1781
1793
  }`);
1782
1794
  function Columns(props) {
1783
1795
  const gutterSize = createMemo(() => {
@@ -1904,7 +1916,7 @@ function Columns(props) {
1904
1916
  const _el$ = _tmpl$3();
1905
1917
  spread(_el$, mergeProps({
1906
1918
  get ["class"]() {
1907
- return getColumnsClass(props.builderBlock?.id) + " div-6331dfc5";
1919
+ return getColumnsClass(props.builderBlock?.id) + " div-7612d942";
1908
1920
  },
1909
1921
  get style() {
1910
1922
  return columnsCssVars();
@@ -2029,16 +2041,16 @@ function getSrcSet(url) {
2029
2041
  // src/blocks/image/image.tsx
2030
2042
  var _tmpl$5 = /* @__PURE__ */ template(`<source type=image/webp>`);
2031
2043
  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 {
2044
+ var _tmpl$32 = /* @__PURE__ */ template(`<div class="builder-image-sizer div-040e729e">`);
2045
+ var _tmpl$42 = /* @__PURE__ */ template(`<div class=div-040e729e-2>`);
2046
+ var _tmpl$52 = /* @__PURE__ */ template(`<style>.img-040e729e {
2035
2047
  opacity: 1;
2036
2048
  transition: opacity 0.2s ease-in-out;
2037
- }.div-dc6700b4 {
2049
+ }.div-040e729e {
2038
2050
  width: 100%;
2039
2051
  pointer-events: none;
2040
2052
  font-size: 0;
2041
- }.div-dc6700b4-2 {
2053
+ }.div-040e729e-2 {
2042
2054
  display: flex;
2043
2055
  flex-direction: column;
2044
2056
  align-items: stretch;
@@ -2100,20 +2112,21 @@ function Image(props) {
2100
2112
  }
2101
2113
  }), _el$3);
2102
2114
  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 = {
2115
+ 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
2116
  "object-position": props.backgroundPosition || "center",
2105
2117
  "object-fit": props.backgroundSize || "cover",
2106
2118
  ...aspectRatioCss()
2107
- }, _v$7 = props.image, _v$8 = srcSetToUse(), _v$9 = props.sizes;
2119
+ }, _v$8 = props.image, _v$9 = srcSetToUse(), _v$10 = props.sizes;
2108
2120
  _v$ !== _p$._v$ && className(_el$3, _p$._v$ = _v$);
2109
2121
  _v$2 !== _p$._v$2 && setAttribute(_el$3, "loading", _p$._v$2 = _v$2);
2110
2122
  _v$3 !== _p$._v$3 && setAttribute(_el$3, "fetchpriority", _p$._v$3 = _v$3);
2111
2123
  _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);
2124
+ _v$5 !== _p$._v$5 && setAttribute(_el$3, "title", _p$._v$5 = _v$5);
2125
+ _v$6 !== _p$._v$6 && setAttribute(_el$3, "role", _p$._v$6 = _v$6);
2126
+ _p$._v$7 = style(_el$3, _v$7, _p$._v$7);
2127
+ _v$8 !== _p$._v$8 && setAttribute(_el$3, "src", _p$._v$8 = _v$8);
2128
+ _v$9 !== _p$._v$9 && setAttribute(_el$3, "srcset", _p$._v$9 = _v$9);
2129
+ _v$10 !== _p$._v$10 && setAttribute(_el$3, "sizes", _p$._v$10 = _v$10);
2117
2130
  return _p$;
2118
2131
  }, {
2119
2132
  _v$: void 0,
@@ -2124,7 +2137,8 @@ function Image(props) {
2124
2137
  _v$6: void 0,
2125
2138
  _v$7: void 0,
2126
2139
  _v$8: void 0,
2127
- _v$9: void 0
2140
+ _v$9: void 0,
2141
+ _v$10: void 0
2128
2142
  });
2129
2143
  return _el$;
2130
2144
  })(), createComponent(Show, {
@@ -3107,6 +3121,10 @@ var componentInfo5 = {
3107
3121
  name: "altText",
3108
3122
  type: "string",
3109
3123
  helperText: "Text to display when the user has images off"
3124
+ }, {
3125
+ name: "title",
3126
+ type: "string",
3127
+ helperText: "Text to display when hovering over the asset"
3110
3128
  }, {
3111
3129
  name: "height",
3112
3130
  type: "number",
@@ -5329,7 +5347,7 @@ function getPreviewContent(_searchParams) {
5329
5347
  }
5330
5348
 
5331
5349
  // src/constants/sdk-version.ts
5332
- var SDK_VERSION = "4.0.3";
5350
+ var SDK_VERSION = "4.0.5";
5333
5351
 
5334
5352
  // src/helpers/sdk-headers.ts
5335
5353
  var getSdkHeaders = () => ({