@builder.io/sdk-solid 1.0.31 → 1.0.32

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
@@ -123,11 +123,7 @@ var components_context_default = createContext({ registeredComponents: {} });
123
123
  function getBlockComponentOptions(block) {
124
124
  return {
125
125
  ...block.component?.options,
126
- ...block.options,
127
- /**
128
- * Our built-in components frequently make use of the block, so we provide all of it under `builderBlock`
129
- */
130
- builderBlock: block
126
+ ...block.options
131
127
  };
132
128
  }
133
129
 
@@ -944,11 +940,25 @@ var getRepeatItemData = ({
944
940
  }));
945
941
  return repeatArray;
946
942
  };
947
- var shouldPassLinkComponent = (block) => {
948
- return block && (block.isRSC || ["Core:Button", "Symbol", "Columns", "Form:Form", "Builder: Tabs", "Builder:Accordion"].includes(block.name));
943
+ var provideLinkComponent = (block, linkComponent) => {
944
+ return block && (block.isRSC && TARGET === "rsc" || ["Core:Button", "Symbol", "Columns", "Form:Form", "Builder: Tabs", "Builder:Accordion"].includes(block.name)) ? {
945
+ builderLinkComponent: linkComponent
946
+ } : {};
947
+ };
948
+ var provideRegisteredComponents = (block, registeredComponents) => {
949
+ return block && (block.isRSC && TARGET === "rsc" || ["Symbol", "Columns", "Form:Form", "Builder: Tabs", "Builder:Accordion"].includes(block.name)) ? {
950
+ builderComponents: registeredComponents
951
+ } : {};
952
+ };
953
+ var provideBuilderBlock = (block, builderBlock) => {
954
+ return block && (block.isRSC && TARGET === "rsc" || TARGET === "reactNative" && block.name === "Text" || ["Builder:Accordion", "Columns", "Form:Form", "Builder: Tabs", "Symbol", "Image", "Video"].includes(block.name)) ? {
955
+ builderBlock
956
+ } : {};
949
957
  };
950
- var shouldPassRegisteredComponents = (block) => {
951
- return block && (block.isRSC || ["Symbol", "Columns", "Form:Form", "Builder: Tabs", "Builder:Accordion"].includes(block.name));
958
+ var provideBuilderContext = (block, context) => {
959
+ return block && (block.isRSC && TARGET === "rsc" || ["Builder:Accordion", "Columns", "Form:Form", "Builder: Tabs", "Symbol", "Slot"].includes(block.name)) ? {
960
+ builderContext: context
961
+ } : {};
952
962
  };
953
963
 
954
964
  // src/constants/device-sizes.ts
@@ -1397,13 +1407,10 @@ function Block(props) {
1397
1407
  componentRef: blockComponent()?.component,
1398
1408
  componentOptions: {
1399
1409
  ...getBlockComponentOptions(processedBlock()),
1400
- builderContext: props.context,
1401
- ...shouldPassLinkComponent(blockComponent()) ? {
1402
- builderLinkComponent: props.linkComponent
1403
- } : {},
1404
- ...shouldPassRegisteredComponents(blockComponent()) ? {
1405
- builderComponents: props.registeredComponents
1406
- } : {}
1410
+ ...provideBuilderBlock(blockComponent(), processedBlock()),
1411
+ ...provideBuilderContext(blockComponent(), props.context),
1412
+ ...provideLinkComponent(blockComponent(), props.linkComponent),
1413
+ ...provideRegisteredComponents(blockComponent(), props.registeredComponents)
1407
1414
  },
1408
1415
  context: props.context,
1409
1416
  linkComponent: props.linkComponent,
@@ -1511,9 +1518,6 @@ function Block(props) {
1511
1518
  get context() {
1512
1519
  return props.context;
1513
1520
  },
1514
- get linkComponent() {
1515
- return props.linkComponent;
1516
- },
1517
1521
  get children() {
1518
1522
  return [createComponent(component_ref_default, {
1519
1523
  get componentRef() {
@@ -1939,7 +1943,7 @@ function getSrcSet(url) {
1939
1943
 
1940
1944
  // src/blocks/image/image.tsx
1941
1945
  var _tmpl$4 = /* @__PURE__ */ template(`<source type=image/webp>`);
1942
- var _tmpl$22 = /* @__PURE__ */ template(`<picture><img loading=lazy>`);
1946
+ var _tmpl$22 = /* @__PURE__ */ template(`<picture><img>`);
1943
1947
  var _tmpl$32 = /* @__PURE__ */ template(`<div>`);
1944
1948
  function Image(props) {
1945
1949
  const srcSetToUse = createMemo(() => {
@@ -1994,18 +1998,20 @@ function Image(props) {
1994
1998
  const _v$ = "builder-image" + (props.className ? " " + props.className : "") + " " + css({
1995
1999
  opacity: "1",
1996
2000
  transition: "opacity 0.2s ease-in-out"
1997
- }), _v$2 = props.altText, _v$3 = props.altText ? void 0 : "presentation", _v$4 = {
2001
+ }), _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 = {
1998
2002
  "object-position": props.backgroundPosition || "center",
1999
2003
  "object-fit": props.backgroundSize || "cover",
2000
2004
  ...aspectRatioCss()
2001
- }, _v$5 = props.image, _v$6 = srcSetToUse(), _v$7 = props.sizes;
2005
+ }, _v$7 = props.image, _v$8 = srcSetToUse(), _v$9 = props.sizes;
2002
2006
  _v$ !== _p$._v$ && className(_el$3, _p$._v$ = _v$);
2003
- _v$2 !== _p$._v$2 && setAttribute(_el$3, "alt", _p$._v$2 = _v$2);
2004
- _v$3 !== _p$._v$3 && setAttribute(_el$3, "role", _p$._v$3 = _v$3);
2005
- _p$._v$4 = style(_el$3, _v$4, _p$._v$4);
2006
- _v$5 !== _p$._v$5 && setAttribute(_el$3, "src", _p$._v$5 = _v$5);
2007
- _v$6 !== _p$._v$6 && setAttribute(_el$3, "srcset", _p$._v$6 = _v$6);
2008
- _v$7 !== _p$._v$7 && setAttribute(_el$3, "sizes", _p$._v$7 = _v$7);
2007
+ _v$2 !== _p$._v$2 && setAttribute(_el$3, "loading", _p$._v$2 = _v$2);
2008
+ _v$3 !== _p$._v$3 && setAttribute(_el$3, "fetchpriority", _p$._v$3 = _v$3);
2009
+ _v$4 !== _p$._v$4 && setAttribute(_el$3, "alt", _p$._v$4 = _v$4);
2010
+ _v$5 !== _p$._v$5 && setAttribute(_el$3, "role", _p$._v$5 = _v$5);
2011
+ _p$._v$6 = style(_el$3, _v$6, _p$._v$6);
2012
+ _v$7 !== _p$._v$7 && setAttribute(_el$3, "src", _p$._v$7 = _v$7);
2013
+ _v$8 !== _p$._v$8 && setAttribute(_el$3, "srcset", _p$._v$8 = _v$8);
2014
+ _v$9 !== _p$._v$9 && setAttribute(_el$3, "sizes", _p$._v$9 = _v$9);
2009
2015
  return _p$;
2010
2016
  }, {
2011
2017
  _v$: void 0,
@@ -2014,7 +2020,9 @@ function Image(props) {
2014
2020
  _v$4: void 0,
2015
2021
  _v$5: void 0,
2016
2022
  _v$6: void 0,
2017
- _v$7: void 0
2023
+ _v$7: void 0,
2024
+ _v$8: void 0,
2025
+ _v$9: void 0
2018
2026
  });
2019
2027
  return _el$;
2020
2028
  })(), createComponent(Show, {
@@ -2024,17 +2032,17 @@ function Image(props) {
2024
2032
  get children() {
2025
2033
  const _el$4 = _tmpl$32();
2026
2034
  effect((_p$) => {
2027
- const _v$8 = "builder-image-sizer " + css({
2035
+ const _v$10 = "builder-image-sizer " + css({
2028
2036
  width: "100%",
2029
2037
  pointerEvents: "none",
2030
2038
  fontSize: "0"
2031
- }), _v$9 = props.aspectRatio * 100 + "%";
2032
- _v$8 !== _p$._v$8 && className(_el$4, _p$._v$8 = _v$8);
2033
- _v$9 !== _p$._v$9 && ((_p$._v$9 = _v$9) != null ? _el$4.style.setProperty("padding-top", _v$9) : _el$4.style.removeProperty("padding-top"));
2039
+ }), _v$11 = props.aspectRatio * 100 + "%";
2040
+ _v$10 !== _p$._v$10 && className(_el$4, _p$._v$10 = _v$10);
2041
+ _v$11 !== _p$._v$11 && ((_p$._v$11 = _v$11) != null ? _el$4.style.setProperty("padding-top", _v$11) : _el$4.style.removeProperty("padding-top"));
2034
2042
  return _p$;
2035
2043
  }, {
2036
- _v$8: void 0,
2037
- _v$9: void 0
2044
+ _v$10: void 0,
2045
+ _v$11: void 0
2038
2046
  });
2039
2047
  return _el$4;
2040
2048
  }
@@ -2975,6 +2983,11 @@ var componentInfo5 = {
2975
2983
  type: "boolean",
2976
2984
  helperText: "When child blocks are provided, fit to them instead of using the image's aspect ratio",
2977
2985
  defaultValue: true
2986
+ }, {
2987
+ name: "highPriority",
2988
+ type: "boolean",
2989
+ advanced: true,
2990
+ helperText: "Mark this image as high priority compared to other images on the page. This prevents lazy loading of the image and tells the browser to load this image before others on the page."
2978
2991
  }, {
2979
2992
  name: "aspectRatio",
2980
2993
  type: "number",
@@ -5178,7 +5191,7 @@ function isFromTrustedHost(trustedHosts, e) {
5178
5191
  }
5179
5192
 
5180
5193
  // src/constants/sdk-version.ts
5181
- var SDK_VERSION = "1.0.31";
5194
+ var SDK_VERSION = "1.0.32";
5182
5195
 
5183
5196
  // src/functions/register.ts
5184
5197
  var registry = {};
@@ -5897,9 +5910,6 @@ function ContentComponent(props) {
5897
5910
  get contentWrapperProps() {
5898
5911
  return props.contentWrapperProps;
5899
5912
  },
5900
- get linkComponent() {
5901
- return props.linkComponent;
5902
- },
5903
5913
  get trustedHosts() {
5904
5914
  return props.trustedHosts;
5905
5915
  }
package/lib/node/dev.jsx CHANGED
@@ -109,11 +109,7 @@ import { Show as Show4, For as For2, onMount, createMemo as createMemo5 } from "
109
109
  function getBlockComponentOptions(block) {
110
110
  return {
111
111
  ...block.component?.options,
112
- ...block.options,
113
- /**
114
- * Our built-in components frequently make use of the block, so we provide all of it under `builderBlock`
115
- */
116
- builderBlock: block
112
+ ...block.options
117
113
  };
118
114
  }
119
115
 
@@ -933,11 +929,25 @@ var getRepeatItemData = ({
933
929
  }));
934
930
  return repeatArray;
935
931
  };
936
- var shouldPassLinkComponent = (block) => {
937
- return block && (block.isRSC || ["Core:Button", "Symbol", "Columns", "Form:Form", "Builder: Tabs", "Builder:Accordion"].includes(block.name));
932
+ var provideLinkComponent = (block, linkComponent) => {
933
+ return block && (block.isRSC && TARGET === "rsc" || ["Core:Button", "Symbol", "Columns", "Form:Form", "Builder: Tabs", "Builder:Accordion"].includes(block.name)) ? {
934
+ builderLinkComponent: linkComponent
935
+ } : {};
936
+ };
937
+ var provideRegisteredComponents = (block, registeredComponents) => {
938
+ return block && (block.isRSC && TARGET === "rsc" || ["Symbol", "Columns", "Form:Form", "Builder: Tabs", "Builder:Accordion"].includes(block.name)) ? {
939
+ builderComponents: registeredComponents
940
+ } : {};
938
941
  };
939
- var shouldPassRegisteredComponents = (block) => {
940
- return block && (block.isRSC || ["Symbol", "Columns", "Form:Form", "Builder: Tabs", "Builder:Accordion"].includes(block.name));
942
+ var provideBuilderBlock = (block, builderBlock) => {
943
+ return block && (block.isRSC && TARGET === "rsc" || TARGET === "reactNative" && block.name === "Text" || ["Builder:Accordion", "Columns", "Form:Form", "Builder: Tabs", "Symbol", "Image", "Video"].includes(block.name)) ? {
944
+ builderBlock
945
+ } : {};
946
+ };
947
+ var provideBuilderContext = (block, context) => {
948
+ return block && (block.isRSC && TARGET === "rsc" || ["Builder:Accordion", "Columns", "Form:Form", "Builder: Tabs", "Symbol", "Slot"].includes(block.name)) ? {
949
+ builderContext: context
950
+ } : {};
941
951
  };
942
952
 
943
953
  // src/components/block/components/block-styles.tsx
@@ -1340,13 +1350,13 @@ function Block(props) {
1340
1350
  componentRef: blockComponent()?.component,
1341
1351
  componentOptions: {
1342
1352
  ...getBlockComponentOptions(processedBlock()),
1343
- builderContext: props.context,
1344
- ...shouldPassLinkComponent(blockComponent()) ? {
1345
- builderLinkComponent: props.linkComponent
1346
- } : {},
1347
- ...shouldPassRegisteredComponents(blockComponent()) ? {
1348
- builderComponents: props.registeredComponents
1349
- } : {}
1353
+ ...provideBuilderBlock(blockComponent(), processedBlock()),
1354
+ ...provideBuilderContext(blockComponent(), props.context),
1355
+ ...provideLinkComponent(blockComponent(), props.linkComponent),
1356
+ ...provideRegisteredComponents(
1357
+ blockComponent(),
1358
+ props.registeredComponents
1359
+ )
1350
1360
  },
1351
1361
  context: props.context,
1352
1362
  linkComponent: props.linkComponent,
@@ -1399,7 +1409,6 @@ function Block(props) {
1399
1409
  Wrapper={Tag()}
1400
1410
  block={processedBlock()}
1401
1411
  context={props.context}
1402
- linkComponent={props.linkComponent}
1403
1412
  >
1404
1413
  <Component_ref_default
1405
1414
  componentRef={componentRefProps().componentRef}
@@ -1767,7 +1776,8 @@ function Image(props) {
1767
1776
  opacity: "1",
1768
1777
  transition: "opacity 0.2s ease-in-out"
1769
1778
  })}
1770
- loading="lazy"
1779
+ loading={props.highPriority ? "eager" : "lazy"}
1780
+ fetchpriority={props.highPriority ? "high" : "auto"}
1771
1781
  alt={props.altText}
1772
1782
  role={props.altText ? void 0 : "presentation"}
1773
1783
  style={{
@@ -2685,6 +2695,11 @@ var componentInfo5 = {
2685
2695
  type: "boolean",
2686
2696
  helperText: "When child blocks are provided, fit to them instead of using the image's aspect ratio",
2687
2697
  defaultValue: true
2698
+ }, {
2699
+ name: "highPriority",
2700
+ type: "boolean",
2701
+ advanced: true,
2702
+ helperText: "Mark this image as high priority compared to other images on the page. This prevents lazy loading of the image and tells the browser to load this image before others on the page."
2688
2703
  }, {
2689
2704
  name: "aspectRatio",
2690
2705
  type: "number",
@@ -4691,7 +4706,7 @@ function isFromTrustedHost(trustedHosts, e) {
4691
4706
  }
4692
4707
 
4693
4708
  // src/constants/sdk-version.ts
4694
- var SDK_VERSION = "1.0.31";
4709
+ var SDK_VERSION = "1.0.32";
4695
4710
 
4696
4711
  // src/functions/register.ts
4697
4712
  var registry = {};
@@ -5409,7 +5424,6 @@ function ContentComponent(props) {
5409
5424
  builderContextSignal={builderContextSignal()}
5410
5425
  contentWrapper={props.contentWrapper}
5411
5426
  contentWrapperProps={props.contentWrapperProps}
5412
- linkComponent={props.linkComponent}
5413
5427
  trustedHosts={props.trustedHosts}
5414
5428
  {...{
5415
5429
  setBuilderContextSignal
package/lib/node/index.js CHANGED
@@ -123,11 +123,7 @@ var components_context_default = createContext({ registeredComponents: {} });
123
123
  function getBlockComponentOptions(block) {
124
124
  return {
125
125
  ...block.component?.options,
126
- ...block.options,
127
- /**
128
- * Our built-in components frequently make use of the block, so we provide all of it under `builderBlock`
129
- */
130
- builderBlock: block
126
+ ...block.options
131
127
  };
132
128
  }
133
129
 
@@ -938,11 +934,25 @@ var getRepeatItemData = ({
938
934
  }));
939
935
  return repeatArray;
940
936
  };
941
- var shouldPassLinkComponent = (block) => {
942
- return block && (block.isRSC || ["Core:Button", "Symbol", "Columns", "Form:Form", "Builder: Tabs", "Builder:Accordion"].includes(block.name));
937
+ var provideLinkComponent = (block, linkComponent) => {
938
+ return block && (block.isRSC && TARGET === "rsc" || ["Core:Button", "Symbol", "Columns", "Form:Form", "Builder: Tabs", "Builder:Accordion"].includes(block.name)) ? {
939
+ builderLinkComponent: linkComponent
940
+ } : {};
941
+ };
942
+ var provideRegisteredComponents = (block, registeredComponents) => {
943
+ return block && (block.isRSC && TARGET === "rsc" || ["Symbol", "Columns", "Form:Form", "Builder: Tabs", "Builder:Accordion"].includes(block.name)) ? {
944
+ builderComponents: registeredComponents
945
+ } : {};
946
+ };
947
+ var provideBuilderBlock = (block, builderBlock) => {
948
+ return block && (block.isRSC && TARGET === "rsc" || TARGET === "reactNative" && block.name === "Text" || ["Builder:Accordion", "Columns", "Form:Form", "Builder: Tabs", "Symbol", "Image", "Video"].includes(block.name)) ? {
949
+ builderBlock
950
+ } : {};
943
951
  };
944
- var shouldPassRegisteredComponents = (block) => {
945
- return block && (block.isRSC || ["Symbol", "Columns", "Form:Form", "Builder: Tabs", "Builder:Accordion"].includes(block.name));
952
+ var provideBuilderContext = (block, context) => {
953
+ return block && (block.isRSC && TARGET === "rsc" || ["Builder:Accordion", "Columns", "Form:Form", "Builder: Tabs", "Symbol", "Slot"].includes(block.name)) ? {
954
+ builderContext: context
955
+ } : {};
946
956
  };
947
957
 
948
958
  // src/constants/device-sizes.ts
@@ -1391,13 +1401,10 @@ function Block(props) {
1391
1401
  componentRef: blockComponent()?.component,
1392
1402
  componentOptions: {
1393
1403
  ...getBlockComponentOptions(processedBlock()),
1394
- builderContext: props.context,
1395
- ...shouldPassLinkComponent(blockComponent()) ? {
1396
- builderLinkComponent: props.linkComponent
1397
- } : {},
1398
- ...shouldPassRegisteredComponents(blockComponent()) ? {
1399
- builderComponents: props.registeredComponents
1400
- } : {}
1404
+ ...provideBuilderBlock(blockComponent(), processedBlock()),
1405
+ ...provideBuilderContext(blockComponent(), props.context),
1406
+ ...provideLinkComponent(blockComponent(), props.linkComponent),
1407
+ ...provideRegisteredComponents(blockComponent(), props.registeredComponents)
1401
1408
  },
1402
1409
  context: props.context,
1403
1410
  linkComponent: props.linkComponent,
@@ -1505,9 +1512,6 @@ function Block(props) {
1505
1512
  get context() {
1506
1513
  return props.context;
1507
1514
  },
1508
- get linkComponent() {
1509
- return props.linkComponent;
1510
- },
1511
1515
  get children() {
1512
1516
  return [createComponent(component_ref_default, {
1513
1517
  get componentRef() {
@@ -1933,7 +1937,7 @@ function getSrcSet(url) {
1933
1937
 
1934
1938
  // src/blocks/image/image.tsx
1935
1939
  var _tmpl$4 = /* @__PURE__ */ template(`<source type=image/webp>`);
1936
- var _tmpl$22 = /* @__PURE__ */ template(`<picture><img loading=lazy>`);
1940
+ var _tmpl$22 = /* @__PURE__ */ template(`<picture><img>`);
1937
1941
  var _tmpl$32 = /* @__PURE__ */ template(`<div>`);
1938
1942
  function Image(props) {
1939
1943
  const srcSetToUse = createMemo(() => {
@@ -1987,18 +1991,20 @@ function Image(props) {
1987
1991
  const _v$ = "builder-image" + (props.className ? " " + props.className : "") + " " + css({
1988
1992
  opacity: "1",
1989
1993
  transition: "opacity 0.2s ease-in-out"
1990
- }), _v$2 = props.altText, _v$3 = props.altText ? void 0 : "presentation", _v$4 = {
1994
+ }), _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 = {
1991
1995
  "object-position": props.backgroundPosition || "center",
1992
1996
  "object-fit": props.backgroundSize || "cover",
1993
1997
  ...aspectRatioCss()
1994
- }, _v$5 = props.image, _v$6 = srcSetToUse(), _v$7 = props.sizes;
1998
+ }, _v$7 = props.image, _v$8 = srcSetToUse(), _v$9 = props.sizes;
1995
1999
  _v$ !== _p$._v$ && className(_el$3, _p$._v$ = _v$);
1996
- _v$2 !== _p$._v$2 && setAttribute(_el$3, "alt", _p$._v$2 = _v$2);
1997
- _v$3 !== _p$._v$3 && setAttribute(_el$3, "role", _p$._v$3 = _v$3);
1998
- _p$._v$4 = style(_el$3, _v$4, _p$._v$4);
1999
- _v$5 !== _p$._v$5 && setAttribute(_el$3, "src", _p$._v$5 = _v$5);
2000
- _v$6 !== _p$._v$6 && setAttribute(_el$3, "srcset", _p$._v$6 = _v$6);
2001
- _v$7 !== _p$._v$7 && setAttribute(_el$3, "sizes", _p$._v$7 = _v$7);
2000
+ _v$2 !== _p$._v$2 && setAttribute(_el$3, "loading", _p$._v$2 = _v$2);
2001
+ _v$3 !== _p$._v$3 && setAttribute(_el$3, "fetchpriority", _p$._v$3 = _v$3);
2002
+ _v$4 !== _p$._v$4 && setAttribute(_el$3, "alt", _p$._v$4 = _v$4);
2003
+ _v$5 !== _p$._v$5 && setAttribute(_el$3, "role", _p$._v$5 = _v$5);
2004
+ _p$._v$6 = style(_el$3, _v$6, _p$._v$6);
2005
+ _v$7 !== _p$._v$7 && setAttribute(_el$3, "src", _p$._v$7 = _v$7);
2006
+ _v$8 !== _p$._v$8 && setAttribute(_el$3, "srcset", _p$._v$8 = _v$8);
2007
+ _v$9 !== _p$._v$9 && setAttribute(_el$3, "sizes", _p$._v$9 = _v$9);
2002
2008
  return _p$;
2003
2009
  }, {
2004
2010
  _v$: void 0,
@@ -2007,7 +2013,9 @@ function Image(props) {
2007
2013
  _v$4: void 0,
2008
2014
  _v$5: void 0,
2009
2015
  _v$6: void 0,
2010
- _v$7: void 0
2016
+ _v$7: void 0,
2017
+ _v$8: void 0,
2018
+ _v$9: void 0
2011
2019
  });
2012
2020
  return _el$;
2013
2021
  })(), createComponent(Show, {
@@ -2017,17 +2025,17 @@ function Image(props) {
2017
2025
  get children() {
2018
2026
  const _el$4 = _tmpl$32();
2019
2027
  effect((_p$) => {
2020
- const _v$8 = "builder-image-sizer " + css({
2028
+ const _v$10 = "builder-image-sizer " + css({
2021
2029
  width: "100%",
2022
2030
  pointerEvents: "none",
2023
2031
  fontSize: "0"
2024
- }), _v$9 = props.aspectRatio * 100 + "%";
2025
- _v$8 !== _p$._v$8 && className(_el$4, _p$._v$8 = _v$8);
2026
- _v$9 !== _p$._v$9 && ((_p$._v$9 = _v$9) != null ? _el$4.style.setProperty("padding-top", _v$9) : _el$4.style.removeProperty("padding-top"));
2032
+ }), _v$11 = props.aspectRatio * 100 + "%";
2033
+ _v$10 !== _p$._v$10 && className(_el$4, _p$._v$10 = _v$10);
2034
+ _v$11 !== _p$._v$11 && ((_p$._v$11 = _v$11) != null ? _el$4.style.setProperty("padding-top", _v$11) : _el$4.style.removeProperty("padding-top"));
2027
2035
  return _p$;
2028
2036
  }, {
2029
- _v$8: void 0,
2030
- _v$9: void 0
2037
+ _v$10: void 0,
2038
+ _v$11: void 0
2031
2039
  });
2032
2040
  return _el$4;
2033
2041
  }
@@ -2967,6 +2975,11 @@ var componentInfo5 = {
2967
2975
  type: "boolean",
2968
2976
  helperText: "When child blocks are provided, fit to them instead of using the image's aspect ratio",
2969
2977
  defaultValue: true
2978
+ }, {
2979
+ name: "highPriority",
2980
+ type: "boolean",
2981
+ advanced: true,
2982
+ helperText: "Mark this image as high priority compared to other images on the page. This prevents lazy loading of the image and tells the browser to load this image before others on the page."
2970
2983
  }, {
2971
2984
  name: "aspectRatio",
2972
2985
  type: "number",
@@ -5163,7 +5176,7 @@ function isFromTrustedHost(trustedHosts, e) {
5163
5176
  }
5164
5177
 
5165
5178
  // src/constants/sdk-version.ts
5166
- var SDK_VERSION = "1.0.31";
5179
+ var SDK_VERSION = "1.0.32";
5167
5180
 
5168
5181
  // src/functions/register.ts
5169
5182
  var registry = {};
@@ -5880,9 +5893,6 @@ function ContentComponent(props) {
5880
5893
  get contentWrapperProps() {
5881
5894
  return props.contentWrapperProps;
5882
5895
  },
5883
- get linkComponent() {
5884
- return props.linkComponent;
5885
- },
5886
5896
  get trustedHosts() {
5887
5897
  return props.trustedHosts;
5888
5898
  }
@@ -109,11 +109,7 @@ import { Show as Show4, For as For2, onMount, createMemo as createMemo5 } from "
109
109
  function getBlockComponentOptions(block) {
110
110
  return {
111
111
  ...block.component?.options,
112
- ...block.options,
113
- /**
114
- * Our built-in components frequently make use of the block, so we provide all of it under `builderBlock`
115
- */
116
- builderBlock: block
112
+ ...block.options
117
113
  };
118
114
  }
119
115
 
@@ -927,11 +923,25 @@ var getRepeatItemData = ({
927
923
  }));
928
924
  return repeatArray;
929
925
  };
930
- var shouldPassLinkComponent = (block) => {
931
- return block && (block.isRSC || ["Core:Button", "Symbol", "Columns", "Form:Form", "Builder: Tabs", "Builder:Accordion"].includes(block.name));
926
+ var provideLinkComponent = (block, linkComponent) => {
927
+ return block && (block.isRSC && TARGET === "rsc" || ["Core:Button", "Symbol", "Columns", "Form:Form", "Builder: Tabs", "Builder:Accordion"].includes(block.name)) ? {
928
+ builderLinkComponent: linkComponent
929
+ } : {};
930
+ };
931
+ var provideRegisteredComponents = (block, registeredComponents) => {
932
+ return block && (block.isRSC && TARGET === "rsc" || ["Symbol", "Columns", "Form:Form", "Builder: Tabs", "Builder:Accordion"].includes(block.name)) ? {
933
+ builderComponents: registeredComponents
934
+ } : {};
932
935
  };
933
- var shouldPassRegisteredComponents = (block) => {
934
- return block && (block.isRSC || ["Symbol", "Columns", "Form:Form", "Builder: Tabs", "Builder:Accordion"].includes(block.name));
936
+ var provideBuilderBlock = (block, builderBlock) => {
937
+ return block && (block.isRSC && TARGET === "rsc" || TARGET === "reactNative" && block.name === "Text" || ["Builder:Accordion", "Columns", "Form:Form", "Builder: Tabs", "Symbol", "Image", "Video"].includes(block.name)) ? {
938
+ builderBlock
939
+ } : {};
940
+ };
941
+ var provideBuilderContext = (block, context) => {
942
+ return block && (block.isRSC && TARGET === "rsc" || ["Builder:Accordion", "Columns", "Form:Form", "Builder: Tabs", "Symbol", "Slot"].includes(block.name)) ? {
943
+ builderContext: context
944
+ } : {};
935
945
  };
936
946
 
937
947
  // src/components/block/components/block-styles.tsx
@@ -1334,13 +1344,13 @@ function Block(props) {
1334
1344
  componentRef: blockComponent()?.component,
1335
1345
  componentOptions: {
1336
1346
  ...getBlockComponentOptions(processedBlock()),
1337
- builderContext: props.context,
1338
- ...shouldPassLinkComponent(blockComponent()) ? {
1339
- builderLinkComponent: props.linkComponent
1340
- } : {},
1341
- ...shouldPassRegisteredComponents(blockComponent()) ? {
1342
- builderComponents: props.registeredComponents
1343
- } : {}
1347
+ ...provideBuilderBlock(blockComponent(), processedBlock()),
1348
+ ...provideBuilderContext(blockComponent(), props.context),
1349
+ ...provideLinkComponent(blockComponent(), props.linkComponent),
1350
+ ...provideRegisteredComponents(
1351
+ blockComponent(),
1352
+ props.registeredComponents
1353
+ )
1344
1354
  },
1345
1355
  context: props.context,
1346
1356
  linkComponent: props.linkComponent,
@@ -1393,7 +1403,6 @@ function Block(props) {
1393
1403
  Wrapper={Tag()}
1394
1404
  block={processedBlock()}
1395
1405
  context={props.context}
1396
- linkComponent={props.linkComponent}
1397
1406
  >
1398
1407
  <Component_ref_default
1399
1408
  componentRef={componentRefProps().componentRef}
@@ -1760,7 +1769,8 @@ function Image(props) {
1760
1769
  opacity: "1",
1761
1770
  transition: "opacity 0.2s ease-in-out"
1762
1771
  })}
1763
- loading="lazy"
1772
+ loading={props.highPriority ? "eager" : "lazy"}
1773
+ fetchpriority={props.highPriority ? "high" : "auto"}
1764
1774
  alt={props.altText}
1765
1775
  role={props.altText ? void 0 : "presentation"}
1766
1776
  style={{
@@ -2677,6 +2687,11 @@ var componentInfo5 = {
2677
2687
  type: "boolean",
2678
2688
  helperText: "When child blocks are provided, fit to them instead of using the image's aspect ratio",
2679
2689
  defaultValue: true
2690
+ }, {
2691
+ name: "highPriority",
2692
+ type: "boolean",
2693
+ advanced: true,
2694
+ helperText: "Mark this image as high priority compared to other images on the page. This prevents lazy loading of the image and tells the browser to load this image before others on the page."
2680
2695
  }, {
2681
2696
  name: "aspectRatio",
2682
2697
  type: "number",
@@ -4676,7 +4691,7 @@ function isFromTrustedHost(trustedHosts, e) {
4676
4691
  }
4677
4692
 
4678
4693
  // src/constants/sdk-version.ts
4679
- var SDK_VERSION = "1.0.31";
4694
+ var SDK_VERSION = "1.0.32";
4680
4695
 
4681
4696
  // src/functions/register.ts
4682
4697
  var registry = {};
@@ -5392,7 +5407,6 @@ function ContentComponent(props) {
5392
5407
  builderContextSignal={builderContextSignal()}
5393
5408
  contentWrapper={props.contentWrapper}
5394
5409
  contentWrapperProps={props.contentWrapperProps}
5395
- linkComponent={props.linkComponent}
5396
5410
  trustedHosts={props.trustedHosts}
5397
5411
  {...{
5398
5412
  setBuilderContextSignal
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@builder.io/sdk-solid",
3
- "version": "1.0.31",
3
+ "version": "1.0.32",
4
4
  "description": "",
5
5
  "files": [
6
6
  "dist",