@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/lib/edge/index.js CHANGED
@@ -4477,7 +4477,13 @@ var getWrapperProps = ({
4477
4477
 
4478
4478
  // src/components/block/components/component-ref/component-ref.tsx
4479
4479
  function ComponentRef(props) {
4480
+ createSignal(false);
4480
4481
  const [Wrapper, setWrapper] = createSignal(props.isInteractive ? interactive_element_default : props.componentRef);
4482
+ const onUpdateFn_0_props_componentOptions = createMemo(() => props.componentOptions);
4483
+ const onUpdateFn_0_props_blockChildren = createMemo(() => props.blockChildren);
4484
+ function onUpdateFn_0() {
4485
+ }
4486
+ createEffect(on(() => [onUpdateFn_0_props_componentOptions(), onUpdateFn_0_props_blockChildren()], onUpdateFn_0));
4481
4487
  return createComponent(Show, {
4482
4488
  get when() {
4483
4489
  return props.componentRef;
@@ -4813,12 +4819,13 @@ function Block(props) {
4813
4819
  });
4814
4820
  }
4815
4821
  var block_default = Block;
4816
- var _tmpl$2 = /* @__PURE__ */ template(`<style>.dynamic-3d7ff108 {
4822
+ var _tmpl$2 = /* @__PURE__ */ template(`<style>.dynamic-023c60f2 {
4817
4823
  display: flex;
4818
4824
  flex-direction: column;
4819
4825
  align-items: stretch;
4820
4826
  }`);
4821
4827
  function BlocksWrapper(props) {
4828
+ createSignal(false);
4822
4829
  const className = createMemo(() => {
4823
4830
  return ["builder-blocks", !props.blocks?.length ? "no-blocks" : "", props.classNameProp].filter(Boolean).join(" ");
4824
4831
  });
@@ -4855,9 +4862,13 @@ function BlocksWrapper(props) {
4855
4862
  let blocksWrapperRef;
4856
4863
  onMount(() => {
4857
4864
  });
4865
+ const onUpdateFn_0_props_blocks = createMemo(() => props.blocks);
4866
+ function onUpdateFn_0() {
4867
+ }
4868
+ createEffect(on(() => [onUpdateFn_0_props_blocks()], onUpdateFn_0));
4858
4869
  return [createComponent(Dynamic, mergeProps({
4859
4870
  get ["class"]() {
4860
- return className() + " dynamic-3d7ff108";
4871
+ return className() + " dynamic-023c60f2";
4861
4872
  },
4862
4873
  ref(r$) {
4863
4874
  const _ref$ = blocksWrapperRef;
@@ -4956,9 +4967,10 @@ var getColumnsClass = (id2) => {
4956
4967
 
4957
4968
  // src/blocks/columns/columns.tsx
4958
4969
  var _tmpl$3 = /* @__PURE__ */ template(`<div>`);
4959
- var _tmpl$22 = /* @__PURE__ */ template(`<style>.div-6331dfc5 {
4970
+ var _tmpl$22 = /* @__PURE__ */ template(`<style>.div-7612d942 {
4960
4971
  display: flex;
4961
4972
  line-height: normal;
4973
+ height: 100%;
4962
4974
  }`);
4963
4975
  function Columns(props) {
4964
4976
  const gutterSize = createMemo(() => {
@@ -5085,7 +5097,7 @@ function Columns(props) {
5085
5097
  const _el$ = _tmpl$3();
5086
5098
  spread(_el$, mergeProps({
5087
5099
  get ["class"]() {
5088
- return getColumnsClass(props.builderBlock?.id) + " div-6331dfc5";
5100
+ return getColumnsClass(props.builderBlock?.id) + " div-7612d942";
5089
5101
  },
5090
5102
  get style() {
5091
5103
  return columnsCssVars();
@@ -5210,16 +5222,16 @@ function getSrcSet(url) {
5210
5222
  // src/blocks/image/image.tsx
5211
5223
  var _tmpl$5 = /* @__PURE__ */ template(`<source type=image/webp>`);
5212
5224
  var _tmpl$23 = /* @__PURE__ */ template(`<picture><img>`);
5213
- var _tmpl$32 = /* @__PURE__ */ template(`<div class="builder-image-sizer div-dc6700b4">`);
5214
- var _tmpl$42 = /* @__PURE__ */ template(`<div class=div-dc6700b4-2>`);
5215
- var _tmpl$52 = /* @__PURE__ */ template(`<style>.img-dc6700b4 {
5225
+ var _tmpl$32 = /* @__PURE__ */ template(`<div class="builder-image-sizer div-040e729e">`);
5226
+ var _tmpl$42 = /* @__PURE__ */ template(`<div class=div-040e729e-2>`);
5227
+ var _tmpl$52 = /* @__PURE__ */ template(`<style>.img-040e729e {
5216
5228
  opacity: 1;
5217
5229
  transition: opacity 0.2s ease-in-out;
5218
- }.div-dc6700b4 {
5230
+ }.div-040e729e {
5219
5231
  width: 100%;
5220
5232
  pointer-events: none;
5221
5233
  font-size: 0;
5222
- }.div-dc6700b4-2 {
5234
+ }.div-040e729e-2 {
5223
5235
  display: flex;
5224
5236
  flex-direction: column;
5225
5237
  align-items: stretch;
@@ -5281,20 +5293,21 @@ function Image(props) {
5281
5293
  }
5282
5294
  }), _el$3);
5283
5295
  effect((_p$) => {
5284
- 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 = {
5296
+ 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 = {
5285
5297
  "object-position": props.backgroundPosition || "center",
5286
5298
  "object-fit": props.backgroundSize || "cover",
5287
5299
  ...aspectRatioCss()
5288
- }, _v$7 = props.image, _v$8 = srcSetToUse(), _v$9 = props.sizes;
5300
+ }, _v$8 = props.image, _v$9 = srcSetToUse(), _v$10 = props.sizes;
5289
5301
  _v$ !== _p$._v$ && className(_el$3, _p$._v$ = _v$);
5290
5302
  _v$2 !== _p$._v$2 && setAttribute(_el$3, "loading", _p$._v$2 = _v$2);
5291
5303
  _v$3 !== _p$._v$3 && setAttribute(_el$3, "fetchpriority", _p$._v$3 = _v$3);
5292
5304
  _v$4 !== _p$._v$4 && setAttribute(_el$3, "alt", _p$._v$4 = _v$4);
5293
- _v$5 !== _p$._v$5 && setAttribute(_el$3, "role", _p$._v$5 = _v$5);
5294
- _p$._v$6 = style(_el$3, _v$6, _p$._v$6);
5295
- _v$7 !== _p$._v$7 && setAttribute(_el$3, "src", _p$._v$7 = _v$7);
5296
- _v$8 !== _p$._v$8 && setAttribute(_el$3, "srcset", _p$._v$8 = _v$8);
5297
- _v$9 !== _p$._v$9 && setAttribute(_el$3, "sizes", _p$._v$9 = _v$9);
5305
+ _v$5 !== _p$._v$5 && setAttribute(_el$3, "title", _p$._v$5 = _v$5);
5306
+ _v$6 !== _p$._v$6 && setAttribute(_el$3, "role", _p$._v$6 = _v$6);
5307
+ _p$._v$7 = style(_el$3, _v$7, _p$._v$7);
5308
+ _v$8 !== _p$._v$8 && setAttribute(_el$3, "src", _p$._v$8 = _v$8);
5309
+ _v$9 !== _p$._v$9 && setAttribute(_el$3, "srcset", _p$._v$9 = _v$9);
5310
+ _v$10 !== _p$._v$10 && setAttribute(_el$3, "sizes", _p$._v$10 = _v$10);
5298
5311
  return _p$;
5299
5312
  }, {
5300
5313
  _v$: void 0,
@@ -5305,7 +5318,8 @@ function Image(props) {
5305
5318
  _v$6: void 0,
5306
5319
  _v$7: void 0,
5307
5320
  _v$8: void 0,
5308
- _v$9: void 0
5321
+ _v$9: void 0,
5322
+ _v$10: void 0
5309
5323
  });
5310
5324
  return _el$;
5311
5325
  })(), createComponent(Show, {
@@ -6288,6 +6302,10 @@ var componentInfo5 = {
6288
6302
  name: "altText",
6289
6303
  type: "string",
6290
6304
  helperText: "Text to display when the user has images off"
6305
+ }, {
6306
+ name: "title",
6307
+ type: "string",
6308
+ helperText: "Text to display when hovering over the asset"
6291
6309
  }, {
6292
6310
  name: "height",
6293
6311
  type: "number",
@@ -8510,7 +8528,7 @@ function getPreviewContent(_searchParams) {
8510
8528
  }
8511
8529
 
8512
8530
  // src/constants/sdk-version.ts
8513
- var SDK_VERSION = "4.0.3";
8531
+ var SDK_VERSION = "4.0.5";
8514
8532
 
8515
8533
  // src/helpers/sdk-headers.ts
8516
8534
  var getSdkHeaders = () => ({
@@ -4372,7 +4372,14 @@ function BlockWrapper(props) {
4372
4372
  var Block_wrapper_default = BlockWrapper;
4373
4373
 
4374
4374
  // src/components/block/components/component-ref/component-ref.tsx
4375
- import { Show as Show4, For, createSignal as createSignal3 } from "solid-js";
4375
+ import {
4376
+ Show as Show4,
4377
+ For,
4378
+ on,
4379
+ createEffect,
4380
+ createMemo as createMemo3,
4381
+ createSignal as createSignal3
4382
+ } from "solid-js";
4376
4383
  import { Dynamic as Dynamic3 } from "solid-js/web";
4377
4384
 
4378
4385
  // src/components/block/components/interactive-element.tsx
@@ -4456,9 +4463,27 @@ var getWrapperProps = ({
4456
4463
 
4457
4464
  // src/components/block/components/component-ref/component-ref.tsx
4458
4465
  function ComponentRef(props) {
4466
+ const [shouldUpdate, setShouldUpdate] = createSignal3(false);
4459
4467
  const [Wrapper, setWrapper] = createSignal3(
4460
4468
  props.isInteractive ? interactive_element_default : props.componentRef
4461
4469
  );
4470
+ const onUpdateFn_0_props_componentOptions = createMemo3(
4471
+ () => props.componentOptions
4472
+ );
4473
+ const onUpdateFn_0_props_blockChildren = createMemo3(
4474
+ () => props.blockChildren
4475
+ );
4476
+ function onUpdateFn_0() {
4477
+ }
4478
+ createEffect(
4479
+ on(
4480
+ () => [
4481
+ onUpdateFn_0_props_componentOptions(),
4482
+ onUpdateFn_0_props_blockChildren()
4483
+ ],
4484
+ onUpdateFn_0
4485
+ )
4486
+ );
4462
4487
  return <><Show4 when={props.componentRef}><Dynamic3
4463
4488
  {...getWrapperProps({
4464
4489
  componentOptions: props.componentOptions,
@@ -4656,9 +4681,10 @@ function Block(props) {
4656
4681
  var Block_default = Block;
4657
4682
 
4658
4683
  // src/components/blocks/blocks-wrapper.tsx
4659
- import { onMount as onMount3, createMemo as createMemo6 } from "solid-js";
4684
+ import { onMount as onMount3, on as on3, createEffect as createEffect3, createMemo as createMemo6, createSignal as createSignal6 } from "solid-js";
4660
4685
  import { Dynamic as Dynamic4 } from "solid-js/web";
4661
4686
  function BlocksWrapper(props) {
4687
+ const [shouldUpdate, setShouldUpdate] = createSignal6(false);
4662
4688
  const className = createMemo6(() => {
4663
4689
  return [
4664
4690
  "builder-blocks",
@@ -4705,9 +4731,13 @@ function BlocksWrapper(props) {
4705
4731
  let blocksWrapperRef;
4706
4732
  onMount3(() => {
4707
4733
  });
4734
+ const onUpdateFn_0_props_blocks = createMemo6(() => props.blocks);
4735
+ function onUpdateFn_0() {
4736
+ }
4737
+ createEffect3(on3(() => [onUpdateFn_0_props_blocks()], onUpdateFn_0));
4708
4738
  return <>
4709
4739
  <Dynamic4
4710
- class={className() + " dynamic-3d7ff108"}
4740
+ class={className() + " dynamic-023c60f2"}
4711
4741
  ref={blocksWrapperRef}
4712
4742
  builder-path={dataPath()}
4713
4743
  builder-parent-id={props.parent}
@@ -4719,7 +4749,7 @@ function BlocksWrapper(props) {
4719
4749
  {...props.BlocksWrapperProps}
4720
4750
  component={props.BlocksWrapper}
4721
4751
  >{props.children}</Dynamic4>
4722
- <style>{`.dynamic-3d7ff108 {
4752
+ <style>{`.dynamic-023c60f2 {
4723
4753
  display: flex;
4724
4754
  flex-direction: column;
4725
4755
  align-items: stretch;
@@ -4884,7 +4914,7 @@ function Columns(props) {
4884
4914
  }
4885
4915
  return <>
4886
4916
  <div
4887
- class={getColumnsClass(props.builderBlock?.id) + " div-6331dfc5"}
4917
+ class={getColumnsClass(props.builderBlock?.id) + " div-7612d942"}
4888
4918
  style={columnsCssVars()}
4889
4919
  {...{}}
4890
4920
  >
@@ -4913,9 +4943,10 @@ function Columns(props) {
4913
4943
  /></Dynamic_renderer_default>;
4914
4944
  }}</For4>
4915
4945
  </div>
4916
- <style>{`.div-6331dfc5 {
4946
+ <style>{`.div-7612d942 {
4917
4947
  display: flex;
4918
4948
  line-height: normal;
4949
+ height: 100%;
4919
4950
  }`}</style>
4920
4951
  </>;
4921
4952
  }
@@ -5022,10 +5053,11 @@ function Image(props) {
5022
5053
  <picture>
5023
5054
  <Show8 when={webpSrcSet()}><source type="image/webp" srcset={webpSrcSet()} /></Show8>
5024
5055
  <img
5025
- class={"builder-image" + (props.className ? " " + props.className : "") + " img-dc6700b4"}
5056
+ class={"builder-image" + (props.className ? " " + props.className : "") + " img-040e729e"}
5026
5057
  loading={props.highPriority ? "eager" : "lazy"}
5027
5058
  fetchpriority={props.highPriority ? "high" : "auto"}
5028
5059
  alt={props.altText}
5060
+ title={props.title}
5029
5061
  role={props.altText ? void 0 : "presentation"}
5030
5062
  style={{
5031
5063
  "object-position": props.backgroundPosition || "center",
@@ -5040,22 +5072,22 @@ function Image(props) {
5040
5072
  <Show8
5041
5073
  when={props.aspectRatio && !(props.builderBlock?.children?.length && props.fitContent)}
5042
5074
  ><div
5043
- class="builder-image-sizer div-dc6700b4"
5075
+ class="builder-image-sizer div-040e729e"
5044
5076
  style={{
5045
5077
  "padding-top": props.aspectRatio * 100 + "%"
5046
5078
  }}
5047
5079
  /></Show8>
5048
5080
  <Show8 when={props.builderBlock?.children?.length && props.fitContent}>{props.children}</Show8>
5049
- <Show8 when={!props.fitContent && props.builderBlock?.children?.length}><div class="div-dc6700b4-2">{props.children}</div></Show8>
5081
+ <Show8 when={!props.fitContent && props.builderBlock?.children?.length}><div class="div-040e729e-2">{props.children}</div></Show8>
5050
5082
  </>
5051
- <style>{`.img-dc6700b4 {
5083
+ <style>{`.img-040e729e {
5052
5084
  opacity: 1;
5053
5085
  transition: opacity 0.2s ease-in-out;
5054
- }.div-dc6700b4 {
5086
+ }.div-040e729e {
5055
5087
  width: 100%;
5056
5088
  pointer-events: none;
5057
5089
  font-size: 0;
5058
- }.div-dc6700b4-2 {
5090
+ }.div-040e729e-2 {
5059
5091
  display: flex;
5060
5092
  flex-direction: column;
5061
5093
  align-items: stretch;
@@ -5091,7 +5123,7 @@ function SectionComponent(props) {
5091
5123
  var section_default = SectionComponent;
5092
5124
 
5093
5125
  // src/blocks/symbol/symbol.tsx
5094
- import { onMount as onMount9, on as on5, createEffect as createEffect5, createMemo as createMemo20, createSignal as createSignal20 } from "solid-js";
5126
+ import { onMount as onMount9, on as on7, createEffect as createEffect7, createMemo as createMemo20, createSignal as createSignal20 } from "solid-js";
5095
5127
 
5096
5128
  // src/components/content-variants/content-variants.tsx
5097
5129
  import { Show as Show16, For as For9, onMount as onMount8, createSignal as createSignal19, createMemo as createMemo19 } from "solid-js";
@@ -5989,6 +6021,10 @@ var componentInfo5 = {
5989
6021
  name: "altText",
5990
6022
  type: "string",
5991
6023
  helperText: "Text to display when the user has images off"
6024
+ }, {
6025
+ name: "title",
6026
+ type: "string",
6027
+ helperText: "Text to display when hovering over the asset"
5992
6028
  }, {
5993
6029
  name: "height",
5994
6030
  type: "number",
@@ -6799,7 +6835,7 @@ var componentInfo12 = {
6799
6835
  };
6800
6836
 
6801
6837
  // src/blocks/custom-code/custom-code.tsx
6802
- import { onMount as onMount5, on as on2, createEffect as createEffect2, createMemo as createMemo12, createSignal as createSignal12 } from "solid-js";
6838
+ import { onMount as onMount5, on as on4, createEffect as createEffect4, createMemo as createMemo12, createSignal as createSignal12 } from "solid-js";
6803
6839
  function CustomCode(props) {
6804
6840
  const [scriptsInserted, setScriptsInserted] = createSignal12([]);
6805
6841
  const [scriptsRun, setScriptsRun] = createSignal12([]);
@@ -6849,7 +6885,7 @@ function CustomCode(props) {
6849
6885
  runScripts();
6850
6886
  }
6851
6887
  }
6852
- createEffect2(on2(() => [onUpdateFn_0_props_code()], onUpdateFn_0));
6888
+ createEffect4(on4(() => [onUpdateFn_0_props_code()], onUpdateFn_0));
6853
6889
  return <><div
6854
6890
  class={"builder-custom-code" + (props.replaceNodes ? " replace-nodes" : "")}
6855
6891
  ref={elementRef}
@@ -6877,7 +6913,7 @@ var componentInfo13 = {
6877
6913
  };
6878
6914
 
6879
6915
  // src/blocks/embed/embed.tsx
6880
- import { on as on3, createEffect as createEffect3, createMemo as createMemo13, createSignal as createSignal13 } from "solid-js";
6916
+ import { on as on5, createEffect as createEffect5, createMemo as createMemo13, createSignal as createSignal13 } from "solid-js";
6881
6917
 
6882
6918
  // src/blocks/embed/helpers.ts
6883
6919
  var SCRIPT_MIME_TYPES = ["text/javascript", "application/javascript", "application/ecmascript"];
@@ -6919,8 +6955,8 @@ function Embed(props) {
6919
6955
  findAndRunScripts();
6920
6956
  }
6921
6957
  }
6922
- createEffect3(
6923
- on3(() => [onUpdateFn_0_elem(), onUpdateFn_0_ranInitFn__()], onUpdateFn_0)
6958
+ createEffect5(
6959
+ on5(() => [onUpdateFn_0_elem(), onUpdateFn_0_ranInitFn__()], onUpdateFn_0)
6924
6960
  );
6925
6961
  return <><div class="builder-embed" ref={elem} innerHTML={props.content} /></>;
6926
6962
  }
@@ -8011,8 +8047,8 @@ var getUpdateVariantVisibilityScript = ({
8011
8047
  import {
8012
8048
  Show as Show14,
8013
8049
  onMount as onMount7,
8014
- on as on4,
8015
- createEffect as createEffect4,
8050
+ on as on6,
8051
+ createEffect as createEffect6,
8016
8052
  createMemo as createMemo16,
8017
8053
  createSignal as createSignal16
8018
8054
  } from "solid-js";
@@ -8024,7 +8060,7 @@ function getPreviewContent(_searchParams) {
8024
8060
  }
8025
8061
 
8026
8062
  // src/constants/sdk-version.ts
8027
- var SDK_VERSION = "4.0.3";
8063
+ var SDK_VERSION = "4.0.5";
8028
8064
 
8029
8065
  // src/helpers/sdk-headers.ts
8030
8066
  var getSdkHeaders = () => ({
@@ -9109,15 +9145,15 @@ function EnableEditor(props) {
9109
9145
  mergeNewContent(props.content);
9110
9146
  }
9111
9147
  }
9112
- createEffect4(on4(() => [onUpdateFn_0_props_content()], onUpdateFn_0));
9148
+ createEffect6(on6(() => [onUpdateFn_0_props_content()], onUpdateFn_0));
9113
9149
  const onUpdateFn_1_props_builderContextSignal_rootState = createMemo16(
9114
9150
  () => props.builderContextSignal.rootState
9115
9151
  );
9116
9152
  function onUpdateFn_1() {
9117
9153
  emitStateUpdate();
9118
9154
  }
9119
- createEffect4(
9120
- on4(
9155
+ createEffect6(
9156
+ on6(
9121
9157
  () => [onUpdateFn_1_props_builderContextSignal_rootState()],
9122
9158
  onUpdateFn_1
9123
9159
  )
@@ -9128,7 +9164,7 @@ function EnableEditor(props) {
9128
9164
  mergeNewRootState(props.data);
9129
9165
  }
9130
9166
  }
9131
- createEffect4(on4(() => [onUpdateFn_2_props_data()], onUpdateFn_2));
9167
+ createEffect6(on6(() => [onUpdateFn_2_props_data()], onUpdateFn_2));
9132
9168
  const onUpdateFn_3_props_locale = createMemo16(() => props.locale);
9133
9169
  function onUpdateFn_3() {
9134
9170
  if (props.locale) {
@@ -9137,7 +9173,7 @@ function EnableEditor(props) {
9137
9173
  });
9138
9174
  }
9139
9175
  }
9140
- createEffect4(on4(() => [onUpdateFn_3_props_locale()], onUpdateFn_3));
9176
+ createEffect6(on6(() => [onUpdateFn_3_props_locale()], onUpdateFn_3));
9141
9177
  return <><builder_context_default.Provider value={props.builderContextSignal}><Show14
9142
9178
  when={props.builderContextSignal.content || needsElementRefDivForEditing()}
9143
9179
  ><Dynamic5
@@ -9515,7 +9551,7 @@ function Symbol2(props) {
9515
9551
  function onUpdateFn_0() {
9516
9552
  setContent();
9517
9553
  }
9518
- createEffect5(on5(() => [onUpdateFn_0_props_symbol()], onUpdateFn_0));
9554
+ createEffect7(on7(() => [onUpdateFn_0_props_symbol()], onUpdateFn_0));
9519
9555
  return <><div class={className()} {...{}} {...props.attributes} {...{}}><Content_variants_default
9520
9556
  nonce={props.builderContext.nonce}
9521
9557
  isNestedRender={true}
package/lib/node/dev.js CHANGED
@@ -1474,7 +1474,13 @@ var getWrapperProps = ({
1474
1474
 
1475
1475
  // src/components/block/components/component-ref/component-ref.tsx
1476
1476
  function ComponentRef(props) {
1477
+ createSignal(false);
1477
1478
  const [Wrapper, setWrapper] = createSignal(props.isInteractive ? interactive_element_default : props.componentRef);
1479
+ const onUpdateFn_0_props_componentOptions = createMemo(() => props.componentOptions);
1480
+ const onUpdateFn_0_props_blockChildren = createMemo(() => props.blockChildren);
1481
+ function onUpdateFn_0() {
1482
+ }
1483
+ createEffect(on(() => [onUpdateFn_0_props_componentOptions(), onUpdateFn_0_props_blockChildren()], onUpdateFn_0));
1478
1484
  return createComponent(Show, {
1479
1485
  get when() {
1480
1486
  return props.componentRef;
@@ -1810,12 +1816,13 @@ function Block(props) {
1810
1816
  });
1811
1817
  }
1812
1818
  var block_default = Block;
1813
- var _tmpl$2 = /* @__PURE__ */ template(`<style>.dynamic-3d7ff108 {
1819
+ var _tmpl$2 = /* @__PURE__ */ template(`<style>.dynamic-023c60f2 {
1814
1820
  display: flex;
1815
1821
  flex-direction: column;
1816
1822
  align-items: stretch;
1817
1823
  }`);
1818
1824
  function BlocksWrapper(props) {
1825
+ createSignal(false);
1819
1826
  const className = createMemo(() => {
1820
1827
  return ["builder-blocks", !props.blocks?.length ? "no-blocks" : "", props.classNameProp].filter(Boolean).join(" ");
1821
1828
  });
@@ -1852,9 +1859,13 @@ function BlocksWrapper(props) {
1852
1859
  let blocksWrapperRef;
1853
1860
  onMount(() => {
1854
1861
  });
1862
+ const onUpdateFn_0_props_blocks = createMemo(() => props.blocks);
1863
+ function onUpdateFn_0() {
1864
+ }
1865
+ createEffect(on(() => [onUpdateFn_0_props_blocks()], onUpdateFn_0));
1855
1866
  return [createComponent(Dynamic, mergeProps({
1856
1867
  get ["class"]() {
1857
- return className() + " dynamic-3d7ff108";
1868
+ return className() + " dynamic-023c60f2";
1858
1869
  },
1859
1870
  ref(r$) {
1860
1871
  const _ref$ = blocksWrapperRef;
@@ -1953,9 +1964,10 @@ var getColumnsClass = (id) => {
1953
1964
 
1954
1965
  // src/blocks/columns/columns.tsx
1955
1966
  var _tmpl$3 = /* @__PURE__ */ template(`<div>`);
1956
- var _tmpl$22 = /* @__PURE__ */ template(`<style>.div-6331dfc5 {
1967
+ var _tmpl$22 = /* @__PURE__ */ template(`<style>.div-7612d942 {
1957
1968
  display: flex;
1958
1969
  line-height: normal;
1970
+ height: 100%;
1959
1971
  }`);
1960
1972
  function Columns(props) {
1961
1973
  const gutterSize = createMemo(() => {
@@ -2082,7 +2094,7 @@ function Columns(props) {
2082
2094
  const _el$ = _tmpl$3();
2083
2095
  spread(_el$, mergeProps({
2084
2096
  get ["class"]() {
2085
- return getColumnsClass(props.builderBlock?.id) + " div-6331dfc5";
2097
+ return getColumnsClass(props.builderBlock?.id) + " div-7612d942";
2086
2098
  },
2087
2099
  get style() {
2088
2100
  return columnsCssVars();
@@ -2207,16 +2219,16 @@ function getSrcSet(url) {
2207
2219
  // src/blocks/image/image.tsx
2208
2220
  var _tmpl$5 = /* @__PURE__ */ template(`<source type=image/webp>`);
2209
2221
  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 {
2222
+ var _tmpl$32 = /* @__PURE__ */ template(`<div class="builder-image-sizer div-040e729e">`);
2223
+ var _tmpl$42 = /* @__PURE__ */ template(`<div class=div-040e729e-2>`);
2224
+ var _tmpl$52 = /* @__PURE__ */ template(`<style>.img-040e729e {
2213
2225
  opacity: 1;
2214
2226
  transition: opacity 0.2s ease-in-out;
2215
- }.div-dc6700b4 {
2227
+ }.div-040e729e {
2216
2228
  width: 100%;
2217
2229
  pointer-events: none;
2218
2230
  font-size: 0;
2219
- }.div-dc6700b4-2 {
2231
+ }.div-040e729e-2 {
2220
2232
  display: flex;
2221
2233
  flex-direction: column;
2222
2234
  align-items: stretch;
@@ -2279,20 +2291,21 @@ function Image(props) {
2279
2291
  }
2280
2292
  }), _el$3);
2281
2293
  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 = {
2294
+ 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
2295
  "object-position": props.backgroundPosition || "center",
2284
2296
  "object-fit": props.backgroundSize || "cover",
2285
2297
  ...aspectRatioCss()
2286
- }, _v$7 = props.image, _v$8 = srcSetToUse(), _v$9 = props.sizes;
2298
+ }, _v$8 = props.image, _v$9 = srcSetToUse(), _v$10 = props.sizes;
2287
2299
  _v$ !== _p$._v$ && className(_el$3, _p$._v$ = _v$);
2288
2300
  _v$2 !== _p$._v$2 && setAttribute(_el$3, "loading", _p$._v$2 = _v$2);
2289
2301
  _v$3 !== _p$._v$3 && setAttribute(_el$3, "fetchpriority", _p$._v$3 = _v$3);
2290
2302
  _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);
2303
+ _v$5 !== _p$._v$5 && setAttribute(_el$3, "title", _p$._v$5 = _v$5);
2304
+ _v$6 !== _p$._v$6 && setAttribute(_el$3, "role", _p$._v$6 = _v$6);
2305
+ _p$._v$7 = style(_el$3, _v$7, _p$._v$7);
2306
+ _v$8 !== _p$._v$8 && setAttribute(_el$3, "src", _p$._v$8 = _v$8);
2307
+ _v$9 !== _p$._v$9 && setAttribute(_el$3, "srcset", _p$._v$9 = _v$9);
2308
+ _v$10 !== _p$._v$10 && setAttribute(_el$3, "sizes", _p$._v$10 = _v$10);
2296
2309
  return _p$;
2297
2310
  }, {
2298
2311
  _v$: void 0,
@@ -2303,7 +2316,8 @@ function Image(props) {
2303
2316
  _v$6: void 0,
2304
2317
  _v$7: void 0,
2305
2318
  _v$8: void 0,
2306
- _v$9: void 0
2319
+ _v$9: void 0,
2320
+ _v$10: void 0
2307
2321
  });
2308
2322
  return _el$;
2309
2323
  })(), createComponent(Show, {
@@ -3287,6 +3301,10 @@ var componentInfo5 = {
3287
3301
  name: "altText",
3288
3302
  type: "string",
3289
3303
  helperText: "Text to display when the user has images off"
3304
+ }, {
3305
+ name: "title",
3306
+ type: "string",
3307
+ helperText: "Text to display when hovering over the asset"
3290
3308
  }, {
3291
3309
  name: "height",
3292
3310
  type: "number",
@@ -5510,7 +5528,7 @@ function getPreviewContent(_searchParams) {
5510
5528
  }
5511
5529
 
5512
5530
  // src/constants/sdk-version.ts
5513
- var SDK_VERSION = "4.0.3";
5531
+ var SDK_VERSION = "4.0.5";
5514
5532
 
5515
5533
  // src/helpers/sdk-headers.ts
5516
5534
  var getSdkHeaders = () => ({