@builder.io/sdk-solid 1.0.35 → 1.1.0

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/dev.jsx CHANGED
@@ -3919,25 +3919,56 @@ var getRepeatItemData = ({
3919
3919
  }));
3920
3920
  return repeatArray;
3921
3921
  };
3922
+ var applyDefaults = (shouldReceiveBuilderProps) => {
3923
+ return {
3924
+ // once we bump to a major version, toggle this to `false`.
3925
+ builderBlock: true,
3926
+ // once we bump to a major version, toggle this to `false`.
3927
+ builderContext: true,
3928
+ builderComponents: false,
3929
+ builderLinkComponent: false,
3930
+ ...shouldReceiveBuilderProps
3931
+ };
3932
+ };
3922
3933
  var provideLinkComponent = (block, linkComponent) => {
3923
- return block && (block.isRSC && TARGET === "rsc" || ["Core:Button", "Symbol", "Columns", "Form:Form", "Builder: Tabs", "Builder:Accordion"].includes(block.name)) ? {
3934
+ if (!block)
3935
+ return {};
3936
+ const shouldReceiveProp = applyDefaults(block.shouldReceiveBuilderProps).builderLinkComponent;
3937
+ if (!shouldReceiveProp)
3938
+ return {};
3939
+ return {
3924
3940
  builderLinkComponent: linkComponent
3925
- } : {};
3941
+ };
3926
3942
  };
3927
3943
  var provideRegisteredComponents = (block, registeredComponents) => {
3928
- return block && (block.isRSC && TARGET === "rsc" || ["Symbol", "Columns", "Form:Form", "Builder: Tabs", "Builder:Accordion"].includes(block.name)) ? {
3944
+ if (!block)
3945
+ return {};
3946
+ const shouldReceiveProp = applyDefaults(block.shouldReceiveBuilderProps).builderComponents;
3947
+ if (!shouldReceiveProp)
3948
+ return {};
3949
+ return {
3929
3950
  builderComponents: registeredComponents
3930
- } : {};
3951
+ };
3931
3952
  };
3932
3953
  var provideBuilderBlock = (block, builderBlock) => {
3933
- return block && (block.isRSC && TARGET === "rsc" || TARGET === "reactNative" && block.name === "Text" || ["Builder:Accordion", "Columns", "Form:Form", "Builder: Tabs", "Symbol", "Image", "Video"].includes(block.name)) ? {
3954
+ if (!block)
3955
+ return {};
3956
+ const shouldReceiveProp = applyDefaults(block.shouldReceiveBuilderProps).builderBlock;
3957
+ if (!shouldReceiveProp)
3958
+ return {};
3959
+ return {
3934
3960
  builderBlock
3935
- } : {};
3961
+ };
3936
3962
  };
3937
3963
  var provideBuilderContext = (block, context) => {
3938
- return block && (block.isRSC && TARGET === "rsc" || ["Builder:Accordion", "Columns", "Form:Form", "Builder: Tabs", "Symbol", "Slot"].includes(block.name)) ? {
3964
+ if (!block)
3965
+ return {};
3966
+ const shouldReceiveProp = applyDefaults(block.shouldReceiveBuilderProps).builderContext;
3967
+ if (!shouldReceiveProp)
3968
+ return {};
3969
+ return {
3939
3970
  builderContext: context
3940
- } : {};
3971
+ };
3941
3972
  };
3942
3973
 
3943
3974
  // src/components/block/components/block-styles.tsx
@@ -4836,10 +4867,16 @@ function SectionComponent(props) {
4836
4867
  var section_default = SectionComponent;
4837
4868
 
4838
4869
  // src/blocks/symbol/symbol.tsx
4839
- import { onMount as onMount5, on as on3, createEffect as createEffect3, createMemo as createMemo19, createSignal as createSignal19 } from "solid-js";
4870
+ import { onMount as onMount5, on as on4, createEffect as createEffect4, createMemo as createMemo19, createSignal as createSignal19 } from "solid-js";
4840
4871
 
4841
4872
  // src/components/content-variants/content-variants.tsx
4842
- import { Show as Show14, For as For9, onMount as onMount4, createSignal as createSignal18, createMemo as createMemo18 } from "solid-js";
4873
+ import {
4874
+ Show as Show14,
4875
+ For as For9,
4876
+ onMount as onMount4,
4877
+ createMemo as createMemo18,
4878
+ createSignal as createSignal18
4879
+ } from "solid-js";
4843
4880
 
4844
4881
  // src/helpers/url.ts
4845
4882
  var getTopLevelDomain = (host) => {
@@ -5157,7 +5194,13 @@ var componentInfo = {
5157
5194
  options.set("items", []);
5158
5195
  }
5159
5196
  }
5160
- }]
5197
+ }],
5198
+ shouldReceiveBuilderProps: {
5199
+ builderBlock: true,
5200
+ builderContext: true,
5201
+ builderComponents: true,
5202
+ builderLinkComponent: true
5203
+ }
5161
5204
  };
5162
5205
 
5163
5206
  // src/blocks/accordion/accordion.tsx
@@ -5344,7 +5387,13 @@ var componentInfo2 = {
5344
5387
  friendlyName: "Open link in new tab"
5345
5388
  }],
5346
5389
  static: true,
5347
- noWrap: true
5390
+ noWrap: true,
5391
+ shouldReceiveBuilderProps: {
5392
+ builderBlock: false,
5393
+ builderContext: false,
5394
+ builderComponents: false,
5395
+ builderLinkComponent: true
5396
+ }
5348
5397
  };
5349
5398
 
5350
5399
  // src/blocks/columns/component-info.ts
@@ -5564,11 +5613,23 @@ var componentInfo3 = {
5564
5613
  defaultValue: false,
5565
5614
  helperText: "When stacking columns for mobile devices, reverse the ordering",
5566
5615
  advanced: true
5567
- }]
5616
+ }],
5617
+ shouldReceiveBuilderProps: {
5618
+ builderBlock: true,
5619
+ builderContext: true,
5620
+ builderComponents: true,
5621
+ builderLinkComponent: true
5622
+ }
5568
5623
  };
5569
5624
 
5570
5625
  // src/blocks/fragment/component-info.ts
5571
5626
  var componentInfo4 = {
5627
+ shouldReceiveBuilderProps: {
5628
+ builderBlock: false,
5629
+ builderContext: false,
5630
+ builderComponents: false,
5631
+ builderLinkComponent: false
5632
+ },
5572
5633
  name: "Fragment",
5573
5634
  static: true,
5574
5635
  hidden: true,
@@ -5701,11 +5762,23 @@ var componentInfo5 = {
5701
5762
  helperText: "This is the ratio of height/width, e.g. set to 1.5 for a 300px wide and 200px tall photo. Set to 0 to not force the image to maintain it's aspect ratio",
5702
5763
  advanced: true,
5703
5764
  defaultValue: 0.7041
5704
- }]
5765
+ }],
5766
+ shouldReceiveBuilderProps: {
5767
+ builderBlock: true,
5768
+ builderContext: false,
5769
+ builderComponents: false,
5770
+ builderLinkComponent: false
5771
+ }
5705
5772
  };
5706
5773
 
5707
5774
  // src/blocks/section/component-info.ts
5708
5775
  var componentInfo6 = {
5776
+ shouldReceiveBuilderProps: {
5777
+ builderBlock: false,
5778
+ builderContext: false,
5779
+ builderComponents: false,
5780
+ builderLinkComponent: false
5781
+ },
5709
5782
  name: "Core:Section",
5710
5783
  static: true,
5711
5784
  image: "https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F682efef23ace49afac61748dd305c70a",
@@ -5759,7 +5832,13 @@ var componentInfo7 = {
5759
5832
  type: "string",
5760
5833
  required: true,
5761
5834
  defaultValue: "children"
5762
- }]
5835
+ }],
5836
+ shouldReceiveBuilderProps: {
5837
+ builderBlock: false,
5838
+ builderContext: true,
5839
+ builderComponents: false,
5840
+ builderLinkComponent: false
5841
+ }
5763
5842
  };
5764
5843
 
5765
5844
  // src/blocks/slot/slot.tsx
@@ -5813,7 +5892,13 @@ var componentInfo8 = {
5813
5892
  name: "useChildren",
5814
5893
  hideFromUI: true,
5815
5894
  type: "boolean"
5816
- }]
5895
+ }],
5896
+ shouldReceiveBuilderProps: {
5897
+ builderBlock: true,
5898
+ builderContext: true,
5899
+ builderComponents: true,
5900
+ builderLinkComponent: true
5901
+ }
5817
5902
  };
5818
5903
 
5819
5904
  // src/blocks/tabs/component-info.ts
@@ -5953,7 +6038,13 @@ var componentInfo9 = {
5953
6038
  label: "Right",
5954
6039
  value: "flex-end"
5955
6040
  }]
5956
- }]
6041
+ }],
6042
+ shouldReceiveBuilderProps: {
6043
+ builderBlock: true,
6044
+ builderContext: true,
6045
+ builderComponents: true,
6046
+ builderLinkComponent: true
6047
+ }
5957
6048
  };
5958
6049
 
5959
6050
  // src/blocks/tabs/tabs.tsx
@@ -6013,6 +6104,12 @@ var tabs_default = Tabs;
6013
6104
 
6014
6105
  // src/blocks/text/component-info.ts
6015
6106
  var componentInfo10 = {
6107
+ shouldReceiveBuilderProps: {
6108
+ builderBlock: TARGET === "reactNative" ? true : false,
6109
+ builderContext: false,
6110
+ builderComponents: false,
6111
+ builderLinkComponent: false
6112
+ },
6016
6113
  name: "Text",
6017
6114
  static: true,
6018
6115
  isRSC: true,
@@ -6046,6 +6143,12 @@ var text_default = Text;
6046
6143
 
6047
6144
  // src/blocks/custom-code/component-info.ts
6048
6145
  var componentInfo11 = {
6146
+ shouldReceiveBuilderProps: {
6147
+ builderBlock: false,
6148
+ builderContext: false,
6149
+ builderComponents: false,
6150
+ builderLinkComponent: false
6151
+ },
6049
6152
  name: "Custom Code",
6050
6153
  static: true,
6051
6154
  requiredPermissions: ["editCode"],
@@ -6118,6 +6221,12 @@ var custom_code_default = CustomCode;
6118
6221
 
6119
6222
  // src/blocks/embed/component-info.ts
6120
6223
  var componentInfo12 = {
6224
+ shouldReceiveBuilderProps: {
6225
+ builderBlock: false,
6226
+ builderContext: false,
6227
+ builderComponents: false,
6228
+ builderLinkComponent: false
6229
+ },
6121
6230
  name: "Embed",
6122
6231
  static: true,
6123
6232
  inputs: [{
@@ -6435,7 +6544,13 @@ var componentInfo13 = {
6435
6544
  text: "Submit"
6436
6545
  }
6437
6546
  }
6438
- }]
6547
+ }],
6548
+ shouldReceiveBuilderProps: {
6549
+ builderBlock: true,
6550
+ builderContext: true,
6551
+ builderComponents: true,
6552
+ builderLinkComponent: true
6553
+ }
6439
6554
  };
6440
6555
 
6441
6556
  // src/blocks/form/form/form.tsx
@@ -6692,6 +6807,12 @@ var form_default = FormComponent;
6692
6807
 
6693
6808
  // src/blocks/form/input/component-info.ts
6694
6809
  var componentInfo14 = {
6810
+ shouldReceiveBuilderProps: {
6811
+ builderBlock: false,
6812
+ builderContext: false,
6813
+ builderComponents: false,
6814
+ builderLinkComponent: false
6815
+ },
6695
6816
  name: "Form:Input",
6696
6817
  image: "https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Fad6f37889d9e40bbbbc72cdb5875d6ca",
6697
6818
  inputs: [
@@ -6762,6 +6883,12 @@ var input_default = FormInputComponent;
6762
6883
 
6763
6884
  // src/blocks/form/select/component-info.ts
6764
6885
  var componentInfo15 = {
6886
+ shouldReceiveBuilderProps: {
6887
+ builderBlock: false,
6888
+ builderContext: false,
6889
+ builderComponents: false,
6890
+ builderLinkComponent: false
6891
+ },
6765
6892
  name: "Form:Select",
6766
6893
  image: "https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F83acca093fb24aaf94dee136e9a4b045",
6767
6894
  defaultStyles: {
@@ -6815,6 +6942,7 @@ function SelectComponent(props) {
6815
6942
  key={isEditing() && props.defaultValue ? props.defaultValue : "default-key"}
6816
6943
  defaultValue={props.defaultValue}
6817
6944
  name={props.name}
6945
+ required={props.required}
6818
6946
  ><For8 each={props.options}>{(option, _index) => {
6819
6947
  const index = _index();
6820
6948
  return <option key={`${option.name}-${index}`} value={option.value}>{option.name || option.value}</option>;
@@ -6824,6 +6952,12 @@ var select_default = SelectComponent;
6824
6952
 
6825
6953
  // src/blocks/form/submit-button/component-info.ts
6826
6954
  var componentInfo16 = {
6955
+ shouldReceiveBuilderProps: {
6956
+ builderBlock: false,
6957
+ builderContext: false,
6958
+ builderComponents: false,
6959
+ builderLinkComponent: false
6960
+ },
6827
6961
  name: "Form:SubmitButton",
6828
6962
  image: "https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Fdf2820ffed1f4349a94c40b3221f5b98",
6829
6963
  defaultStyles: {
@@ -6856,8 +6990,73 @@ function SubmitButton(props) {
6856
6990
  }
6857
6991
  var submit_button_default = SubmitButton;
6858
6992
 
6859
- // src/blocks/img/component-info.ts
6993
+ // src/blocks/form/textarea/component-info.ts
6860
6994
  var componentInfo17 = {
6995
+ shouldReceiveBuilderProps: {
6996
+ builderBlock: false,
6997
+ builderContext: false,
6998
+ builderComponents: false,
6999
+ builderLinkComponent: false
7000
+ },
7001
+ name: "Form:TextArea",
7002
+ image: "https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Ff74a2f3de58c4c3e939204e5b6b8f6c3",
7003
+ inputs: [{
7004
+ advanced: true,
7005
+ name: "value",
7006
+ type: "string"
7007
+ }, {
7008
+ name: "name",
7009
+ type: "string",
7010
+ required: true,
7011
+ helperText: 'Every input in a form needs a unique name describing what it gets, e.g. "email"'
7012
+ }, {
7013
+ name: "defaultValue",
7014
+ type: "string"
7015
+ }, {
7016
+ name: "placeholder",
7017
+ type: "string",
7018
+ defaultValue: "Hello there"
7019
+ }, {
7020
+ name: "required",
7021
+ type: "boolean",
7022
+ defaultValue: false
7023
+ }],
7024
+ defaultStyles: {
7025
+ paddingTop: "10px",
7026
+ paddingBottom: "10px",
7027
+ paddingLeft: "10px",
7028
+ paddingRight: "10px",
7029
+ borderRadius: "3px",
7030
+ borderWidth: "1px",
7031
+ borderStyle: "solid",
7032
+ borderColor: "#ccc"
7033
+ },
7034
+ static: true,
7035
+ noWrap: true
7036
+ };
7037
+
7038
+ // src/blocks/form/textarea/textarea.tsx
7039
+ function Textarea(props) {
7040
+ return <><textarea
7041
+ {...{}}
7042
+ {...props.attributes}
7043
+ placeholder={props.placeholder}
7044
+ name={props.name}
7045
+ value={props.value}
7046
+ defaultValue={props.defaultValue}
7047
+ required={props.required}
7048
+ /></>;
7049
+ }
7050
+ var textarea_default = Textarea;
7051
+
7052
+ // src/blocks/img/component-info.ts
7053
+ var componentInfo18 = {
7054
+ shouldReceiveBuilderProps: {
7055
+ builderBlock: false,
7056
+ builderContext: false,
7057
+ builderComponents: false,
7058
+ builderLinkComponent: false
7059
+ },
6861
7060
  // friendlyName?
6862
7061
  name: "Raw:Img",
6863
7062
  hideFromInsertMenu: true,
@@ -6890,7 +7089,7 @@ function ImgComponent(props) {
6890
7089
  var img_default = ImgComponent;
6891
7090
 
6892
7091
  // src/blocks/video/component-info.ts
6893
- var componentInfo18 = {
7092
+ var componentInfo19 = {
6894
7093
  name: "Video",
6895
7094
  canHaveChildren: true,
6896
7095
  defaultStyles: {
@@ -6970,7 +7169,13 @@ var componentInfo18 = {
6970
7169
  helperText: 'Load this video "lazily" - as in only when a user scrolls near the video. Recommended for optmized performance and bandwidth consumption',
6971
7170
  defaultValue: true,
6972
7171
  advanced: true
6973
- }]
7172
+ }],
7173
+ shouldReceiveBuilderProps: {
7174
+ builderBlock: true,
7175
+ builderContext: false,
7176
+ builderComponents: false,
7177
+ builderLinkComponent: false
7178
+ }
6974
7179
  };
6975
7180
 
6976
7181
  // src/blocks/video/video.tsx
@@ -7079,12 +7284,15 @@ var getExtraComponents = () => [{
7079
7284
  }, {
7080
7285
  component: select_default,
7081
7286
  ...componentInfo15
7287
+ }, {
7288
+ component: textarea_default,
7289
+ ...componentInfo17
7082
7290
  }], {
7083
7291
  component: img_default,
7084
- ...componentInfo17
7292
+ ...componentInfo18
7085
7293
  }, {
7086
7294
  component: video_default,
7087
- ...componentInfo18
7295
+ ...componentInfo19
7088
7296
  }];
7089
7297
 
7090
7298
  // src/constants/builder-registered-components.ts
@@ -7704,7 +7912,7 @@ function isFromTrustedHost(trustedHosts, e) {
7704
7912
  }
7705
7913
 
7706
7914
  // src/constants/sdk-version.ts
7707
- var SDK_VERSION = "1.0.35";
7915
+ var SDK_VERSION = "1.1.0";
7708
7916
 
7709
7917
  // src/functions/register.ts
7710
7918
  var registry = {};
@@ -8604,7 +8812,7 @@ function Symbol2(props) {
8604
8812
  function onUpdateFn_0() {
8605
8813
  setContent();
8606
8814
  }
8607
- createEffect3(on3(() => [onUpdateFn_0_props_symbol()], onUpdateFn_0));
8815
+ createEffect4(on4(() => [onUpdateFn_0_props_symbol()], onUpdateFn_0));
8608
8816
  return <><div class={className()} {...{}} {...props.attributes} {...{}}><Content_variants_default
8609
8817
  isNestedRender={true}
8610
8818
  apiVersion={props.builderContext.apiVersion}