@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/lib/node/dev.js CHANGED
@@ -1810,12 +1810,13 @@ function Block(props) {
1810
1810
  });
1811
1811
  }
1812
1812
  var block_default = Block;
1813
- var _tmpl$2 = /* @__PURE__ */ template(`<style>.dynamic-3d7ff108 {
1813
+ var _tmpl$2 = /* @__PURE__ */ template(`<style>.dynamic-023c60f2 {
1814
1814
  display: flex;
1815
1815
  flex-direction: column;
1816
1816
  align-items: stretch;
1817
1817
  }`);
1818
1818
  function BlocksWrapper(props) {
1819
+ createSignal(false);
1819
1820
  const className = createMemo(() => {
1820
1821
  return ["builder-blocks", !props.blocks?.length ? "no-blocks" : "", props.classNameProp].filter(Boolean).join(" ");
1821
1822
  });
@@ -1852,9 +1853,13 @@ function BlocksWrapper(props) {
1852
1853
  let blocksWrapperRef;
1853
1854
  onMount(() => {
1854
1855
  });
1856
+ const onUpdateFn_0_props_blocks = createMemo(() => props.blocks);
1857
+ function onUpdateFn_0() {
1858
+ }
1859
+ createEffect(on(() => [onUpdateFn_0_props_blocks()], onUpdateFn_0));
1855
1860
  return [createComponent(Dynamic, mergeProps({
1856
1861
  get ["class"]() {
1857
- return className() + " dynamic-3d7ff108";
1862
+ return className() + " dynamic-023c60f2";
1858
1863
  },
1859
1864
  ref(r$) {
1860
1865
  const _ref$ = blocksWrapperRef;
@@ -2207,16 +2212,16 @@ function getSrcSet(url) {
2207
2212
  // src/blocks/image/image.tsx
2208
2213
  var _tmpl$5 = /* @__PURE__ */ template(`<source type=image/webp>`);
2209
2214
  var _tmpl$23 = /* @__PURE__ */ template(`<picture><img>`);
2210
- var _tmpl$32 = /* @__PURE__ */ template(`<div class="builder-image-sizer div-dc6700b4">`);
2211
- var _tmpl$42 = /* @__PURE__ */ template(`<div class=div-dc6700b4-2>`);
2212
- var _tmpl$52 = /* @__PURE__ */ template(`<style>.img-dc6700b4 {
2215
+ var _tmpl$32 = /* @__PURE__ */ template(`<div class="builder-image-sizer div-040e729e">`);
2216
+ var _tmpl$42 = /* @__PURE__ */ template(`<div class=div-040e729e-2>`);
2217
+ var _tmpl$52 = /* @__PURE__ */ template(`<style>.img-040e729e {
2213
2218
  opacity: 1;
2214
2219
  transition: opacity 0.2s ease-in-out;
2215
- }.div-dc6700b4 {
2220
+ }.div-040e729e {
2216
2221
  width: 100%;
2217
2222
  pointer-events: none;
2218
2223
  font-size: 0;
2219
- }.div-dc6700b4-2 {
2224
+ }.div-040e729e-2 {
2220
2225
  display: flex;
2221
2226
  flex-direction: column;
2222
2227
  align-items: stretch;
@@ -2279,20 +2284,21 @@ function Image(props) {
2279
2284
  }
2280
2285
  }), _el$3);
2281
2286
  effect((_p$) => {
2282
- 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 = {
2287
+ 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 = {
2283
2288
  "object-position": props.backgroundPosition || "center",
2284
2289
  "object-fit": props.backgroundSize || "cover",
2285
2290
  ...aspectRatioCss()
2286
- }, _v$7 = props.image, _v$8 = srcSetToUse(), _v$9 = props.sizes;
2291
+ }, _v$8 = props.image, _v$9 = srcSetToUse(), _v$10 = props.sizes;
2287
2292
  _v$ !== _p$._v$ && className(_el$3, _p$._v$ = _v$);
2288
2293
  _v$2 !== _p$._v$2 && setAttribute(_el$3, "loading", _p$._v$2 = _v$2);
2289
2294
  _v$3 !== _p$._v$3 && setAttribute(_el$3, "fetchpriority", _p$._v$3 = _v$3);
2290
2295
  _v$4 !== _p$._v$4 && setAttribute(_el$3, "alt", _p$._v$4 = _v$4);
2291
- _v$5 !== _p$._v$5 && setAttribute(_el$3, "role", _p$._v$5 = _v$5);
2292
- _p$._v$6 = style(_el$3, _v$6, _p$._v$6);
2293
- _v$7 !== _p$._v$7 && setAttribute(_el$3, "src", _p$._v$7 = _v$7);
2294
- _v$8 !== _p$._v$8 && setAttribute(_el$3, "srcset", _p$._v$8 = _v$8);
2295
- _v$9 !== _p$._v$9 && setAttribute(_el$3, "sizes", _p$._v$9 = _v$9);
2296
+ _v$5 !== _p$._v$5 && setAttribute(_el$3, "title", _p$._v$5 = _v$5);
2297
+ _v$6 !== _p$._v$6 && setAttribute(_el$3, "role", _p$._v$6 = _v$6);
2298
+ _p$._v$7 = style(_el$3, _v$7, _p$._v$7);
2299
+ _v$8 !== _p$._v$8 && setAttribute(_el$3, "src", _p$._v$8 = _v$8);
2300
+ _v$9 !== _p$._v$9 && setAttribute(_el$3, "srcset", _p$._v$9 = _v$9);
2301
+ _v$10 !== _p$._v$10 && setAttribute(_el$3, "sizes", _p$._v$10 = _v$10);
2296
2302
  return _p$;
2297
2303
  }, {
2298
2304
  _v$: void 0,
@@ -2303,7 +2309,8 @@ function Image(props) {
2303
2309
  _v$6: void 0,
2304
2310
  _v$7: void 0,
2305
2311
  _v$8: void 0,
2306
- _v$9: void 0
2312
+ _v$9: void 0,
2313
+ _v$10: void 0
2307
2314
  });
2308
2315
  return _el$;
2309
2316
  })(), createComponent(Show, {
@@ -3287,6 +3294,10 @@ var componentInfo5 = {
3287
3294
  name: "altText",
3288
3295
  type: "string",
3289
3296
  helperText: "Text to display when the user has images off"
3297
+ }, {
3298
+ name: "title",
3299
+ type: "string",
3300
+ helperText: "Text to display when hovering over the asset"
3290
3301
  }, {
3291
3302
  name: "height",
3292
3303
  type: "number",
@@ -5510,7 +5521,7 @@ function getPreviewContent(_searchParams) {
5510
5521
  }
5511
5522
 
5512
5523
  // src/constants/sdk-version.ts
5513
- var SDK_VERSION = "4.0.3";
5524
+ var SDK_VERSION = "4.0.4";
5514
5525
 
5515
5526
  // src/helpers/sdk-headers.ts
5516
5527
  var getSdkHeaders = () => ({
package/lib/node/dev.jsx CHANGED
@@ -1651,9 +1651,10 @@ function Block(props) {
1651
1651
  var Block_default = Block;
1652
1652
 
1653
1653
  // src/components/blocks/blocks-wrapper.tsx
1654
- import { onMount as onMount3, createMemo as createMemo6 } from "solid-js";
1654
+ import { onMount as onMount3, on as on2, createEffect as createEffect2, createMemo as createMemo6, createSignal as createSignal6 } from "solid-js";
1655
1655
  import { Dynamic as Dynamic4 } from "solid-js/web";
1656
1656
  function BlocksWrapper(props) {
1657
+ const [shouldUpdate, setShouldUpdate] = createSignal6(false);
1657
1658
  const className = createMemo6(() => {
1658
1659
  return [
1659
1660
  "builder-blocks",
@@ -1700,9 +1701,13 @@ function BlocksWrapper(props) {
1700
1701
  let blocksWrapperRef;
1701
1702
  onMount3(() => {
1702
1703
  });
1704
+ const onUpdateFn_0_props_blocks = createMemo6(() => props.blocks);
1705
+ function onUpdateFn_0() {
1706
+ }
1707
+ createEffect2(on2(() => [onUpdateFn_0_props_blocks()], onUpdateFn_0));
1703
1708
  return <>
1704
1709
  <Dynamic4
1705
- class={className() + " dynamic-3d7ff108"}
1710
+ class={className() + " dynamic-023c60f2"}
1706
1711
  ref={blocksWrapperRef}
1707
1712
  builder-path={dataPath()}
1708
1713
  builder-parent-id={props.parent}
@@ -1714,7 +1719,7 @@ function BlocksWrapper(props) {
1714
1719
  {...props.BlocksWrapperProps}
1715
1720
  component={props.BlocksWrapper}
1716
1721
  >{props.children}</Dynamic4>
1717
- <style>{`.dynamic-3d7ff108 {
1722
+ <style>{`.dynamic-023c60f2 {
1718
1723
  display: flex;
1719
1724
  flex-direction: column;
1720
1725
  align-items: stretch;
@@ -2018,10 +2023,11 @@ function Image(props) {
2018
2023
  <picture>
2019
2024
  <Show8 when={webpSrcSet()}><source type="image/webp" srcset={webpSrcSet()} /></Show8>
2020
2025
  <img
2021
- class={"builder-image" + (props.className ? " " + props.className : "") + " img-dc6700b4"}
2026
+ class={"builder-image" + (props.className ? " " + props.className : "") + " img-040e729e"}
2022
2027
  loading={props.highPriority ? "eager" : "lazy"}
2023
2028
  fetchpriority={props.highPriority ? "high" : "auto"}
2024
2029
  alt={props.altText}
2030
+ title={props.title}
2025
2031
  role={props.altText ? void 0 : "presentation"}
2026
2032
  style={{
2027
2033
  "object-position": props.backgroundPosition || "center",
@@ -2036,22 +2042,22 @@ function Image(props) {
2036
2042
  <Show8
2037
2043
  when={props.aspectRatio && !(props.builderBlock?.children?.length && props.fitContent)}
2038
2044
  ><div
2039
- class="builder-image-sizer div-dc6700b4"
2045
+ class="builder-image-sizer div-040e729e"
2040
2046
  style={{
2041
2047
  "padding-top": props.aspectRatio * 100 + "%"
2042
2048
  }}
2043
2049
  /></Show8>
2044
2050
  <Show8 when={props.builderBlock?.children?.length && props.fitContent}>{props.children}</Show8>
2045
- <Show8 when={!props.fitContent && props.builderBlock?.children?.length}><div class="div-dc6700b4-2">{props.children}</div></Show8>
2051
+ <Show8 when={!props.fitContent && props.builderBlock?.children?.length}><div class="div-040e729e-2">{props.children}</div></Show8>
2046
2052
  </>
2047
- <style>{`.img-dc6700b4 {
2053
+ <style>{`.img-040e729e {
2048
2054
  opacity: 1;
2049
2055
  transition: opacity 0.2s ease-in-out;
2050
- }.div-dc6700b4 {
2056
+ }.div-040e729e {
2051
2057
  width: 100%;
2052
2058
  pointer-events: none;
2053
2059
  font-size: 0;
2054
- }.div-dc6700b4-2 {
2060
+ }.div-040e729e-2 {
2055
2061
  display: flex;
2056
2062
  flex-direction: column;
2057
2063
  align-items: stretch;
@@ -2087,7 +2093,7 @@ function SectionComponent(props) {
2087
2093
  var section_default = SectionComponent;
2088
2094
 
2089
2095
  // src/blocks/symbol/symbol.tsx
2090
- import { onMount as onMount9, on as on5, createEffect as createEffect5, createMemo as createMemo20, createSignal as createSignal20 } from "solid-js";
2096
+ import { onMount as onMount9, on as on6, createEffect as createEffect6, createMemo as createMemo20, createSignal as createSignal20 } from "solid-js";
2091
2097
 
2092
2098
  // src/components/content-variants/content-variants.tsx
2093
2099
  import { Show as Show16, For as For9, onMount as onMount8, createSignal as createSignal19, createMemo as createMemo19 } from "solid-js";
@@ -2986,6 +2992,10 @@ var componentInfo5 = {
2986
2992
  name: "altText",
2987
2993
  type: "string",
2988
2994
  helperText: "Text to display when the user has images off"
2995
+ }, {
2996
+ name: "title",
2997
+ type: "string",
2998
+ helperText: "Text to display when hovering over the asset"
2989
2999
  }, {
2990
3000
  name: "height",
2991
3001
  type: "number",
@@ -3796,7 +3806,7 @@ var componentInfo12 = {
3796
3806
  };
3797
3807
 
3798
3808
  // src/blocks/custom-code/custom-code.tsx
3799
- import { onMount as onMount5, on as on2, createEffect as createEffect2, createMemo as createMemo12, createSignal as createSignal12 } from "solid-js";
3809
+ import { onMount as onMount5, on as on3, createEffect as createEffect3, createMemo as createMemo12, createSignal as createSignal12 } from "solid-js";
3800
3810
  function CustomCode(props) {
3801
3811
  const [scriptsInserted, setScriptsInserted] = createSignal12([]);
3802
3812
  const [scriptsRun, setScriptsRun] = createSignal12([]);
@@ -3846,7 +3856,7 @@ function CustomCode(props) {
3846
3856
  runScripts();
3847
3857
  }
3848
3858
  }
3849
- createEffect2(on2(() => [onUpdateFn_0_props_code()], onUpdateFn_0));
3859
+ createEffect3(on3(() => [onUpdateFn_0_props_code()], onUpdateFn_0));
3850
3860
  return <><div
3851
3861
  class={"builder-custom-code" + (props.replaceNodes ? " replace-nodes" : "")}
3852
3862
  ref={elementRef}
@@ -3874,7 +3884,7 @@ var componentInfo13 = {
3874
3884
  };
3875
3885
 
3876
3886
  // src/blocks/embed/embed.tsx
3877
- import { on as on3, createEffect as createEffect3, createMemo as createMemo13, createSignal as createSignal13 } from "solid-js";
3887
+ import { on as on4, createEffect as createEffect4, createMemo as createMemo13, createSignal as createSignal13 } from "solid-js";
3878
3888
 
3879
3889
  // src/blocks/embed/helpers.ts
3880
3890
  var SCRIPT_MIME_TYPES = ["text/javascript", "application/javascript", "application/ecmascript"];
@@ -3916,8 +3926,8 @@ function Embed(props) {
3916
3926
  findAndRunScripts();
3917
3927
  }
3918
3928
  }
3919
- createEffect3(
3920
- on3(() => [onUpdateFn_0_elem(), onUpdateFn_0_ranInitFn__()], onUpdateFn_0)
3929
+ createEffect4(
3930
+ on4(() => [onUpdateFn_0_elem(), onUpdateFn_0_ranInitFn__()], onUpdateFn_0)
3921
3931
  );
3922
3932
  return <><div class="builder-embed" ref={elem} innerHTML={props.content} /></>;
3923
3933
  }
@@ -5009,8 +5019,8 @@ var getUpdateVariantVisibilityScript = ({
5009
5019
  import {
5010
5020
  Show as Show14,
5011
5021
  onMount as onMount7,
5012
- on as on4,
5013
- createEffect as createEffect4,
5022
+ on as on5,
5023
+ createEffect as createEffect5,
5014
5024
  createMemo as createMemo16,
5015
5025
  createSignal as createSignal16
5016
5026
  } from "solid-js";
@@ -5022,7 +5032,7 @@ function getPreviewContent(_searchParams) {
5022
5032
  }
5023
5033
 
5024
5034
  // src/constants/sdk-version.ts
5025
- var SDK_VERSION = "4.0.3";
5035
+ var SDK_VERSION = "4.0.4";
5026
5036
 
5027
5037
  // src/helpers/sdk-headers.ts
5028
5038
  var getSdkHeaders = () => ({
@@ -6114,15 +6124,15 @@ function EnableEditor(props) {
6114
6124
  mergeNewContent(props.content);
6115
6125
  }
6116
6126
  }
6117
- createEffect4(on4(() => [onUpdateFn_0_props_content()], onUpdateFn_0));
6127
+ createEffect5(on5(() => [onUpdateFn_0_props_content()], onUpdateFn_0));
6118
6128
  const onUpdateFn_1_props_builderContextSignal_rootState = createMemo16(
6119
6129
  () => props.builderContextSignal.rootState
6120
6130
  );
6121
6131
  function onUpdateFn_1() {
6122
6132
  emitStateUpdate();
6123
6133
  }
6124
- createEffect4(
6125
- on4(
6134
+ createEffect5(
6135
+ on5(
6126
6136
  () => [onUpdateFn_1_props_builderContextSignal_rootState()],
6127
6137
  onUpdateFn_1
6128
6138
  )
@@ -6133,7 +6143,7 @@ function EnableEditor(props) {
6133
6143
  mergeNewRootState(props.data);
6134
6144
  }
6135
6145
  }
6136
- createEffect4(on4(() => [onUpdateFn_2_props_data()], onUpdateFn_2));
6146
+ createEffect5(on5(() => [onUpdateFn_2_props_data()], onUpdateFn_2));
6137
6147
  const onUpdateFn_3_props_locale = createMemo16(() => props.locale);
6138
6148
  function onUpdateFn_3() {
6139
6149
  if (props.locale) {
@@ -6142,7 +6152,7 @@ function EnableEditor(props) {
6142
6152
  });
6143
6153
  }
6144
6154
  }
6145
- createEffect4(on4(() => [onUpdateFn_3_props_locale()], onUpdateFn_3));
6155
+ createEffect5(on5(() => [onUpdateFn_3_props_locale()], onUpdateFn_3));
6146
6156
  return <><builder_context_default.Provider value={props.builderContextSignal}><Show14
6147
6157
  when={props.builderContextSignal.content || needsElementRefDivForEditing()}
6148
6158
  ><Dynamic5
@@ -6520,7 +6530,7 @@ function Symbol(props) {
6520
6530
  function onUpdateFn_0() {
6521
6531
  setContent();
6522
6532
  }
6523
- createEffect5(on5(() => [onUpdateFn_0_props_symbol()], onUpdateFn_0));
6533
+ createEffect6(on6(() => [onUpdateFn_0_props_symbol()], onUpdateFn_0));
6524
6534
  return <><div class={className()} {...{}} {...props.attributes} {...{}}><Content_variants_default
6525
6535
  nonce={props.builderContext.nonce}
6526
6536
  isNestedRender={true}
package/lib/node/index.js CHANGED
@@ -1801,12 +1801,13 @@ function Block(props) {
1801
1801
  });
1802
1802
  }
1803
1803
  var block_default = Block;
1804
- var _tmpl$2 = /* @__PURE__ */ template(`<style>.dynamic-3d7ff108 {
1804
+ var _tmpl$2 = /* @__PURE__ */ template(`<style>.dynamic-023c60f2 {
1805
1805
  display: flex;
1806
1806
  flex-direction: column;
1807
1807
  align-items: stretch;
1808
1808
  }`);
1809
1809
  function BlocksWrapper(props) {
1810
+ createSignal(false);
1810
1811
  const className = createMemo(() => {
1811
1812
  return ["builder-blocks", !props.blocks?.length ? "no-blocks" : "", props.classNameProp].filter(Boolean).join(" ");
1812
1813
  });
@@ -1843,9 +1844,13 @@ function BlocksWrapper(props) {
1843
1844
  let blocksWrapperRef;
1844
1845
  onMount(() => {
1845
1846
  });
1847
+ const onUpdateFn_0_props_blocks = createMemo(() => props.blocks);
1848
+ function onUpdateFn_0() {
1849
+ }
1850
+ createEffect(on(() => [onUpdateFn_0_props_blocks()], onUpdateFn_0));
1846
1851
  return [createComponent(Dynamic, mergeProps({
1847
1852
  get ["class"]() {
1848
- return className() + " dynamic-3d7ff108";
1853
+ return className() + " dynamic-023c60f2";
1849
1854
  },
1850
1855
  ref(r$) {
1851
1856
  const _ref$ = blocksWrapperRef;
@@ -2198,16 +2203,16 @@ function getSrcSet(url) {
2198
2203
  // src/blocks/image/image.tsx
2199
2204
  var _tmpl$5 = /* @__PURE__ */ template(`<source type=image/webp>`);
2200
2205
  var _tmpl$23 = /* @__PURE__ */ template(`<picture><img>`);
2201
- var _tmpl$32 = /* @__PURE__ */ template(`<div class="builder-image-sizer div-dc6700b4">`);
2202
- var _tmpl$42 = /* @__PURE__ */ template(`<div class=div-dc6700b4-2>`);
2203
- var _tmpl$52 = /* @__PURE__ */ template(`<style>.img-dc6700b4 {
2206
+ var _tmpl$32 = /* @__PURE__ */ template(`<div class="builder-image-sizer div-040e729e">`);
2207
+ var _tmpl$42 = /* @__PURE__ */ template(`<div class=div-040e729e-2>`);
2208
+ var _tmpl$52 = /* @__PURE__ */ template(`<style>.img-040e729e {
2204
2209
  opacity: 1;
2205
2210
  transition: opacity 0.2s ease-in-out;
2206
- }.div-dc6700b4 {
2211
+ }.div-040e729e {
2207
2212
  width: 100%;
2208
2213
  pointer-events: none;
2209
2214
  font-size: 0;
2210
- }.div-dc6700b4-2 {
2215
+ }.div-040e729e-2 {
2211
2216
  display: flex;
2212
2217
  flex-direction: column;
2213
2218
  align-items: stretch;
@@ -2269,20 +2274,21 @@ function Image(props) {
2269
2274
  }
2270
2275
  }), _el$3);
2271
2276
  effect((_p$) => {
2272
- 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 = {
2277
+ 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 = {
2273
2278
  "object-position": props.backgroundPosition || "center",
2274
2279
  "object-fit": props.backgroundSize || "cover",
2275
2280
  ...aspectRatioCss()
2276
- }, _v$7 = props.image, _v$8 = srcSetToUse(), _v$9 = props.sizes;
2281
+ }, _v$8 = props.image, _v$9 = srcSetToUse(), _v$10 = props.sizes;
2277
2282
  _v$ !== _p$._v$ && className(_el$3, _p$._v$ = _v$);
2278
2283
  _v$2 !== _p$._v$2 && setAttribute(_el$3, "loading", _p$._v$2 = _v$2);
2279
2284
  _v$3 !== _p$._v$3 && setAttribute(_el$3, "fetchpriority", _p$._v$3 = _v$3);
2280
2285
  _v$4 !== _p$._v$4 && setAttribute(_el$3, "alt", _p$._v$4 = _v$4);
2281
- _v$5 !== _p$._v$5 && setAttribute(_el$3, "role", _p$._v$5 = _v$5);
2282
- _p$._v$6 = style(_el$3, _v$6, _p$._v$6);
2283
- _v$7 !== _p$._v$7 && setAttribute(_el$3, "src", _p$._v$7 = _v$7);
2284
- _v$8 !== _p$._v$8 && setAttribute(_el$3, "srcset", _p$._v$8 = _v$8);
2285
- _v$9 !== _p$._v$9 && setAttribute(_el$3, "sizes", _p$._v$9 = _v$9);
2286
+ _v$5 !== _p$._v$5 && setAttribute(_el$3, "title", _p$._v$5 = _v$5);
2287
+ _v$6 !== _p$._v$6 && setAttribute(_el$3, "role", _p$._v$6 = _v$6);
2288
+ _p$._v$7 = style(_el$3, _v$7, _p$._v$7);
2289
+ _v$8 !== _p$._v$8 && setAttribute(_el$3, "src", _p$._v$8 = _v$8);
2290
+ _v$9 !== _p$._v$9 && setAttribute(_el$3, "srcset", _p$._v$9 = _v$9);
2291
+ _v$10 !== _p$._v$10 && setAttribute(_el$3, "sizes", _p$._v$10 = _v$10);
2286
2292
  return _p$;
2287
2293
  }, {
2288
2294
  _v$: void 0,
@@ -2293,7 +2299,8 @@ function Image(props) {
2293
2299
  _v$6: void 0,
2294
2300
  _v$7: void 0,
2295
2301
  _v$8: void 0,
2296
- _v$9: void 0
2302
+ _v$9: void 0,
2303
+ _v$10: void 0
2297
2304
  });
2298
2305
  return _el$;
2299
2306
  })(), createComponent(Show, {
@@ -3276,6 +3283,10 @@ var componentInfo5 = {
3276
3283
  name: "altText",
3277
3284
  type: "string",
3278
3285
  helperText: "Text to display when the user has images off"
3286
+ }, {
3287
+ name: "title",
3288
+ type: "string",
3289
+ helperText: "Text to display when hovering over the asset"
3279
3290
  }, {
3280
3291
  name: "height",
3281
3292
  type: "number",
@@ -5498,7 +5509,7 @@ function getPreviewContent(_searchParams) {
5498
5509
  }
5499
5510
 
5500
5511
  // src/constants/sdk-version.ts
5501
- var SDK_VERSION = "4.0.3";
5512
+ var SDK_VERSION = "4.0.4";
5502
5513
 
5503
5514
  // src/helpers/sdk-headers.ts
5504
5515
  var getSdkHeaders = () => ({
@@ -1644,9 +1644,10 @@ function Block(props) {
1644
1644
  var Block_default = Block;
1645
1645
 
1646
1646
  // src/components/blocks/blocks-wrapper.tsx
1647
- import { onMount as onMount3, createMemo as createMemo6 } from "solid-js";
1647
+ import { onMount as onMount3, on as on2, createEffect as createEffect2, createMemo as createMemo6, createSignal as createSignal6 } from "solid-js";
1648
1648
  import { Dynamic as Dynamic4 } from "solid-js/web";
1649
1649
  function BlocksWrapper(props) {
1650
+ const [shouldUpdate, setShouldUpdate] = createSignal6(false);
1650
1651
  const className = createMemo6(() => {
1651
1652
  return [
1652
1653
  "builder-blocks",
@@ -1693,9 +1694,13 @@ function BlocksWrapper(props) {
1693
1694
  let blocksWrapperRef;
1694
1695
  onMount3(() => {
1695
1696
  });
1697
+ const onUpdateFn_0_props_blocks = createMemo6(() => props.blocks);
1698
+ function onUpdateFn_0() {
1699
+ }
1700
+ createEffect2(on2(() => [onUpdateFn_0_props_blocks()], onUpdateFn_0));
1696
1701
  return <>
1697
1702
  <Dynamic4
1698
- class={className() + " dynamic-3d7ff108"}
1703
+ class={className() + " dynamic-023c60f2"}
1699
1704
  ref={blocksWrapperRef}
1700
1705
  builder-path={dataPath()}
1701
1706
  builder-parent-id={props.parent}
@@ -1707,7 +1712,7 @@ function BlocksWrapper(props) {
1707
1712
  {...props.BlocksWrapperProps}
1708
1713
  component={props.BlocksWrapper}
1709
1714
  >{props.children}</Dynamic4>
1710
- <style>{`.dynamic-3d7ff108 {
1715
+ <style>{`.dynamic-023c60f2 {
1711
1716
  display: flex;
1712
1717
  flex-direction: column;
1713
1718
  align-items: stretch;
@@ -2010,10 +2015,11 @@ function Image(props) {
2010
2015
  <picture>
2011
2016
  <Show8 when={webpSrcSet()}><source type="image/webp" srcset={webpSrcSet()} /></Show8>
2012
2017
  <img
2013
- class={"builder-image" + (props.className ? " " + props.className : "") + " img-dc6700b4"}
2018
+ class={"builder-image" + (props.className ? " " + props.className : "") + " img-040e729e"}
2014
2019
  loading={props.highPriority ? "eager" : "lazy"}
2015
2020
  fetchpriority={props.highPriority ? "high" : "auto"}
2016
2021
  alt={props.altText}
2022
+ title={props.title}
2017
2023
  role={props.altText ? void 0 : "presentation"}
2018
2024
  style={{
2019
2025
  "object-position": props.backgroundPosition || "center",
@@ -2028,22 +2034,22 @@ function Image(props) {
2028
2034
  <Show8
2029
2035
  when={props.aspectRatio && !(props.builderBlock?.children?.length && props.fitContent)}
2030
2036
  ><div
2031
- class="builder-image-sizer div-dc6700b4"
2037
+ class="builder-image-sizer div-040e729e"
2032
2038
  style={{
2033
2039
  "padding-top": props.aspectRatio * 100 + "%"
2034
2040
  }}
2035
2041
  /></Show8>
2036
2042
  <Show8 when={props.builderBlock?.children?.length && props.fitContent}>{props.children}</Show8>
2037
- <Show8 when={!props.fitContent && props.builderBlock?.children?.length}><div class="div-dc6700b4-2">{props.children}</div></Show8>
2043
+ <Show8 when={!props.fitContent && props.builderBlock?.children?.length}><div class="div-040e729e-2">{props.children}</div></Show8>
2038
2044
  </>
2039
- <style>{`.img-dc6700b4 {
2045
+ <style>{`.img-040e729e {
2040
2046
  opacity: 1;
2041
2047
  transition: opacity 0.2s ease-in-out;
2042
- }.div-dc6700b4 {
2048
+ }.div-040e729e {
2043
2049
  width: 100%;
2044
2050
  pointer-events: none;
2045
2051
  font-size: 0;
2046
- }.div-dc6700b4-2 {
2052
+ }.div-040e729e-2 {
2047
2053
  display: flex;
2048
2054
  flex-direction: column;
2049
2055
  align-items: stretch;
@@ -2079,7 +2085,7 @@ function SectionComponent(props) {
2079
2085
  var section_default = SectionComponent;
2080
2086
 
2081
2087
  // src/blocks/symbol/symbol.tsx
2082
- import { onMount as onMount9, on as on5, createEffect as createEffect5, createMemo as createMemo20, createSignal as createSignal20 } from "solid-js";
2088
+ import { onMount as onMount9, on as on6, createEffect as createEffect6, createMemo as createMemo20, createSignal as createSignal20 } from "solid-js";
2083
2089
 
2084
2090
  // src/components/content-variants/content-variants.tsx
2085
2091
  import { Show as Show16, For as For9, onMount as onMount8, createSignal as createSignal19, createMemo as createMemo19 } from "solid-js";
@@ -2977,6 +2983,10 @@ var componentInfo5 = {
2977
2983
  name: "altText",
2978
2984
  type: "string",
2979
2985
  helperText: "Text to display when the user has images off"
2986
+ }, {
2987
+ name: "title",
2988
+ type: "string",
2989
+ helperText: "Text to display when hovering over the asset"
2980
2990
  }, {
2981
2991
  name: "height",
2982
2992
  type: "number",
@@ -3787,7 +3797,7 @@ var componentInfo12 = {
3787
3797
  };
3788
3798
 
3789
3799
  // src/blocks/custom-code/custom-code.tsx
3790
- import { onMount as onMount5, on as on2, createEffect as createEffect2, createMemo as createMemo12, createSignal as createSignal12 } from "solid-js";
3800
+ import { onMount as onMount5, on as on3, createEffect as createEffect3, createMemo as createMemo12, createSignal as createSignal12 } from "solid-js";
3791
3801
  function CustomCode(props) {
3792
3802
  const [scriptsInserted, setScriptsInserted] = createSignal12([]);
3793
3803
  const [scriptsRun, setScriptsRun] = createSignal12([]);
@@ -3837,7 +3847,7 @@ function CustomCode(props) {
3837
3847
  runScripts();
3838
3848
  }
3839
3849
  }
3840
- createEffect2(on2(() => [onUpdateFn_0_props_code()], onUpdateFn_0));
3850
+ createEffect3(on3(() => [onUpdateFn_0_props_code()], onUpdateFn_0));
3841
3851
  return <><div
3842
3852
  class={"builder-custom-code" + (props.replaceNodes ? " replace-nodes" : "")}
3843
3853
  ref={elementRef}
@@ -3865,7 +3875,7 @@ var componentInfo13 = {
3865
3875
  };
3866
3876
 
3867
3877
  // src/blocks/embed/embed.tsx
3868
- import { on as on3, createEffect as createEffect3, createMemo as createMemo13, createSignal as createSignal13 } from "solid-js";
3878
+ import { on as on4, createEffect as createEffect4, createMemo as createMemo13, createSignal as createSignal13 } from "solid-js";
3869
3879
 
3870
3880
  // src/blocks/embed/helpers.ts
3871
3881
  var SCRIPT_MIME_TYPES = ["text/javascript", "application/javascript", "application/ecmascript"];
@@ -3907,8 +3917,8 @@ function Embed(props) {
3907
3917
  findAndRunScripts();
3908
3918
  }
3909
3919
  }
3910
- createEffect3(
3911
- on3(() => [onUpdateFn_0_elem(), onUpdateFn_0_ranInitFn__()], onUpdateFn_0)
3920
+ createEffect4(
3921
+ on4(() => [onUpdateFn_0_elem(), onUpdateFn_0_ranInitFn__()], onUpdateFn_0)
3912
3922
  );
3913
3923
  return <><div class="builder-embed" ref={elem} innerHTML={props.content} /></>;
3914
3924
  }
@@ -4999,8 +5009,8 @@ var getUpdateVariantVisibilityScript = ({
4999
5009
  import {
5000
5010
  Show as Show14,
5001
5011
  onMount as onMount7,
5002
- on as on4,
5003
- createEffect as createEffect4,
5012
+ on as on5,
5013
+ createEffect as createEffect5,
5004
5014
  createMemo as createMemo16,
5005
5015
  createSignal as createSignal16
5006
5016
  } from "solid-js";
@@ -5012,7 +5022,7 @@ function getPreviewContent(_searchParams) {
5012
5022
  }
5013
5023
 
5014
5024
  // src/constants/sdk-version.ts
5015
- var SDK_VERSION = "4.0.3";
5025
+ var SDK_VERSION = "4.0.4";
5016
5026
 
5017
5027
  // src/helpers/sdk-headers.ts
5018
5028
  var getSdkHeaders = () => ({
@@ -6097,15 +6107,15 @@ function EnableEditor(props) {
6097
6107
  mergeNewContent(props.content);
6098
6108
  }
6099
6109
  }
6100
- createEffect4(on4(() => [onUpdateFn_0_props_content()], onUpdateFn_0));
6110
+ createEffect5(on5(() => [onUpdateFn_0_props_content()], onUpdateFn_0));
6101
6111
  const onUpdateFn_1_props_builderContextSignal_rootState = createMemo16(
6102
6112
  () => props.builderContextSignal.rootState
6103
6113
  );
6104
6114
  function onUpdateFn_1() {
6105
6115
  emitStateUpdate();
6106
6116
  }
6107
- createEffect4(
6108
- on4(
6117
+ createEffect5(
6118
+ on5(
6109
6119
  () => [onUpdateFn_1_props_builderContextSignal_rootState()],
6110
6120
  onUpdateFn_1
6111
6121
  )
@@ -6116,7 +6126,7 @@ function EnableEditor(props) {
6116
6126
  mergeNewRootState(props.data);
6117
6127
  }
6118
6128
  }
6119
- createEffect4(on4(() => [onUpdateFn_2_props_data()], onUpdateFn_2));
6129
+ createEffect5(on5(() => [onUpdateFn_2_props_data()], onUpdateFn_2));
6120
6130
  const onUpdateFn_3_props_locale = createMemo16(() => props.locale);
6121
6131
  function onUpdateFn_3() {
6122
6132
  if (props.locale) {
@@ -6125,7 +6135,7 @@ function EnableEditor(props) {
6125
6135
  });
6126
6136
  }
6127
6137
  }
6128
- createEffect4(on4(() => [onUpdateFn_3_props_locale()], onUpdateFn_3));
6138
+ createEffect5(on5(() => [onUpdateFn_3_props_locale()], onUpdateFn_3));
6129
6139
  return <><builder_context_default.Provider value={props.builderContextSignal}><Show14
6130
6140
  when={props.builderContextSignal.content || needsElementRefDivForEditing()}
6131
6141
  ><Dynamic5
@@ -6503,7 +6513,7 @@ function Symbol(props) {
6503
6513
  function onUpdateFn_0() {
6504
6514
  setContent();
6505
6515
  }
6506
- createEffect5(on5(() => [onUpdateFn_0_props_symbol()], onUpdateFn_0));
6516
+ createEffect6(on6(() => [onUpdateFn_0_props_symbol()], onUpdateFn_0));
6507
6517
  return <><div class={className()} {...{}} {...props.attributes} {...{}}><Content_variants_default
6508
6518
  nonce={props.builderContext.nonce}
6509
6519
  isNestedRender={true}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@builder.io/sdk-solid",
3
- "version": "4.0.3",
3
+ "version": "4.0.4",
4
4
  "description": "",
5
5
  "files": [
6
6
  "dist",