@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.
@@ -3913,25 +3913,56 @@ var getRepeatItemData = ({
3913
3913
  }));
3914
3914
  return repeatArray;
3915
3915
  };
3916
+ var applyDefaults = (shouldReceiveBuilderProps) => {
3917
+ return {
3918
+ // once we bump to a major version, toggle this to `false`.
3919
+ builderBlock: true,
3920
+ // once we bump to a major version, toggle this to `false`.
3921
+ builderContext: true,
3922
+ builderComponents: false,
3923
+ builderLinkComponent: false,
3924
+ ...shouldReceiveBuilderProps
3925
+ };
3926
+ };
3916
3927
  var provideLinkComponent = (block, linkComponent) => {
3917
- return block && (block.isRSC && TARGET === "rsc" || ["Core:Button", "Symbol", "Columns", "Form:Form", "Builder: Tabs", "Builder:Accordion"].includes(block.name)) ? {
3928
+ if (!block)
3929
+ return {};
3930
+ const shouldReceiveProp = applyDefaults(block.shouldReceiveBuilderProps).builderLinkComponent;
3931
+ if (!shouldReceiveProp)
3932
+ return {};
3933
+ return {
3918
3934
  builderLinkComponent: linkComponent
3919
- } : {};
3935
+ };
3920
3936
  };
3921
3937
  var provideRegisteredComponents = (block, registeredComponents) => {
3922
- return block && (block.isRSC && TARGET === "rsc" || ["Symbol", "Columns", "Form:Form", "Builder: Tabs", "Builder:Accordion"].includes(block.name)) ? {
3938
+ if (!block)
3939
+ return {};
3940
+ const shouldReceiveProp = applyDefaults(block.shouldReceiveBuilderProps).builderComponents;
3941
+ if (!shouldReceiveProp)
3942
+ return {};
3943
+ return {
3923
3944
  builderComponents: registeredComponents
3924
- } : {};
3945
+ };
3925
3946
  };
3926
3947
  var provideBuilderBlock = (block, builderBlock) => {
3927
- return block && (block.isRSC && TARGET === "rsc" || TARGET === "reactNative" && block.name === "Text" || ["Builder:Accordion", "Columns", "Form:Form", "Builder: Tabs", "Symbol", "Image", "Video"].includes(block.name)) ? {
3948
+ if (!block)
3949
+ return {};
3950
+ const shouldReceiveProp = applyDefaults(block.shouldReceiveBuilderProps).builderBlock;
3951
+ if (!shouldReceiveProp)
3952
+ return {};
3953
+ return {
3928
3954
  builderBlock
3929
- } : {};
3955
+ };
3930
3956
  };
3931
3957
  var provideBuilderContext = (block, context) => {
3932
- return block && (block.isRSC && TARGET === "rsc" || ["Builder:Accordion", "Columns", "Form:Form", "Builder: Tabs", "Symbol", "Slot"].includes(block.name)) ? {
3958
+ if (!block)
3959
+ return {};
3960
+ const shouldReceiveProp = applyDefaults(block.shouldReceiveBuilderProps).builderContext;
3961
+ if (!shouldReceiveProp)
3962
+ return {};
3963
+ return {
3933
3964
  builderContext: context
3934
- } : {};
3965
+ };
3935
3966
  };
3936
3967
 
3937
3968
  // src/components/block/components/block-styles.tsx
@@ -4829,10 +4860,16 @@ function SectionComponent(props) {
4829
4860
  var section_default = SectionComponent;
4830
4861
 
4831
4862
  // src/blocks/symbol/symbol.tsx
4832
- import { onMount as onMount5, on as on3, createEffect as createEffect3, createMemo as createMemo19, createSignal as createSignal19 } from "solid-js";
4863
+ import { onMount as onMount5, on as on4, createEffect as createEffect4, createMemo as createMemo19, createSignal as createSignal19 } from "solid-js";
4833
4864
 
4834
4865
  // src/components/content-variants/content-variants.tsx
4835
- import { Show as Show14, For as For9, onMount as onMount4, createSignal as createSignal18, createMemo as createMemo18 } from "solid-js";
4866
+ import {
4867
+ Show as Show14,
4868
+ For as For9,
4869
+ onMount as onMount4,
4870
+ createMemo as createMemo18,
4871
+ createSignal as createSignal18
4872
+ } from "solid-js";
4836
4873
 
4837
4874
  // src/helpers/url.ts
4838
4875
  var getTopLevelDomain = (host) => {
@@ -5150,7 +5187,13 @@ var componentInfo = {
5150
5187
  options.set("items", []);
5151
5188
  }
5152
5189
  }
5153
- }]
5190
+ }],
5191
+ shouldReceiveBuilderProps: {
5192
+ builderBlock: true,
5193
+ builderContext: true,
5194
+ builderComponents: true,
5195
+ builderLinkComponent: true
5196
+ }
5154
5197
  };
5155
5198
 
5156
5199
  // src/blocks/accordion/accordion.tsx
@@ -5337,7 +5380,13 @@ var componentInfo2 = {
5337
5380
  friendlyName: "Open link in new tab"
5338
5381
  }],
5339
5382
  static: true,
5340
- noWrap: true
5383
+ noWrap: true,
5384
+ shouldReceiveBuilderProps: {
5385
+ builderBlock: false,
5386
+ builderContext: false,
5387
+ builderComponents: false,
5388
+ builderLinkComponent: true
5389
+ }
5341
5390
  };
5342
5391
 
5343
5392
  // src/blocks/columns/component-info.ts
@@ -5557,11 +5606,23 @@ var componentInfo3 = {
5557
5606
  defaultValue: false,
5558
5607
  helperText: "When stacking columns for mobile devices, reverse the ordering",
5559
5608
  advanced: true
5560
- }]
5609
+ }],
5610
+ shouldReceiveBuilderProps: {
5611
+ builderBlock: true,
5612
+ builderContext: true,
5613
+ builderComponents: true,
5614
+ builderLinkComponent: true
5615
+ }
5561
5616
  };
5562
5617
 
5563
5618
  // src/blocks/fragment/component-info.ts
5564
5619
  var componentInfo4 = {
5620
+ shouldReceiveBuilderProps: {
5621
+ builderBlock: false,
5622
+ builderContext: false,
5623
+ builderComponents: false,
5624
+ builderLinkComponent: false
5625
+ },
5565
5626
  name: "Fragment",
5566
5627
  static: true,
5567
5628
  hidden: true,
@@ -5693,11 +5754,23 @@ var componentInfo5 = {
5693
5754
  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",
5694
5755
  advanced: true,
5695
5756
  defaultValue: 0.7041
5696
- }]
5757
+ }],
5758
+ shouldReceiveBuilderProps: {
5759
+ builderBlock: true,
5760
+ builderContext: false,
5761
+ builderComponents: false,
5762
+ builderLinkComponent: false
5763
+ }
5697
5764
  };
5698
5765
 
5699
5766
  // src/blocks/section/component-info.ts
5700
5767
  var componentInfo6 = {
5768
+ shouldReceiveBuilderProps: {
5769
+ builderBlock: false,
5770
+ builderContext: false,
5771
+ builderComponents: false,
5772
+ builderLinkComponent: false
5773
+ },
5701
5774
  name: "Core:Section",
5702
5775
  static: true,
5703
5776
  image: "https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F682efef23ace49afac61748dd305c70a",
@@ -5751,7 +5824,13 @@ var componentInfo7 = {
5751
5824
  type: "string",
5752
5825
  required: true,
5753
5826
  defaultValue: "children"
5754
- }]
5827
+ }],
5828
+ shouldReceiveBuilderProps: {
5829
+ builderBlock: false,
5830
+ builderContext: true,
5831
+ builderComponents: false,
5832
+ builderLinkComponent: false
5833
+ }
5755
5834
  };
5756
5835
 
5757
5836
  // src/blocks/slot/slot.tsx
@@ -5805,7 +5884,13 @@ var componentInfo8 = {
5805
5884
  name: "useChildren",
5806
5885
  hideFromUI: true,
5807
5886
  type: "boolean"
5808
- }]
5887
+ }],
5888
+ shouldReceiveBuilderProps: {
5889
+ builderBlock: true,
5890
+ builderContext: true,
5891
+ builderComponents: true,
5892
+ builderLinkComponent: true
5893
+ }
5809
5894
  };
5810
5895
 
5811
5896
  // src/blocks/tabs/component-info.ts
@@ -5945,7 +6030,13 @@ var componentInfo9 = {
5945
6030
  label: "Right",
5946
6031
  value: "flex-end"
5947
6032
  }]
5948
- }]
6033
+ }],
6034
+ shouldReceiveBuilderProps: {
6035
+ builderBlock: true,
6036
+ builderContext: true,
6037
+ builderComponents: true,
6038
+ builderLinkComponent: true
6039
+ }
5949
6040
  };
5950
6041
 
5951
6042
  // src/blocks/tabs/tabs.tsx
@@ -6005,6 +6096,12 @@ var tabs_default = Tabs;
6005
6096
 
6006
6097
  // src/blocks/text/component-info.ts
6007
6098
  var componentInfo10 = {
6099
+ shouldReceiveBuilderProps: {
6100
+ builderBlock: TARGET === "reactNative" ? true : false,
6101
+ builderContext: false,
6102
+ builderComponents: false,
6103
+ builderLinkComponent: false
6104
+ },
6008
6105
  name: "Text",
6009
6106
  static: true,
6010
6107
  isRSC: true,
@@ -6038,6 +6135,12 @@ var text_default = Text;
6038
6135
 
6039
6136
  // src/blocks/custom-code/component-info.ts
6040
6137
  var componentInfo11 = {
6138
+ shouldReceiveBuilderProps: {
6139
+ builderBlock: false,
6140
+ builderContext: false,
6141
+ builderComponents: false,
6142
+ builderLinkComponent: false
6143
+ },
6041
6144
  name: "Custom Code",
6042
6145
  static: true,
6043
6146
  requiredPermissions: ["editCode"],
@@ -6109,6 +6212,12 @@ var custom_code_default = CustomCode;
6109
6212
 
6110
6213
  // src/blocks/embed/component-info.ts
6111
6214
  var componentInfo12 = {
6215
+ shouldReceiveBuilderProps: {
6216
+ builderBlock: false,
6217
+ builderContext: false,
6218
+ builderComponents: false,
6219
+ builderLinkComponent: false
6220
+ },
6112
6221
  name: "Embed",
6113
6222
  static: true,
6114
6223
  inputs: [{
@@ -6425,7 +6534,13 @@ var componentInfo13 = {
6425
6534
  text: "Submit"
6426
6535
  }
6427
6536
  }
6428
- }]
6537
+ }],
6538
+ shouldReceiveBuilderProps: {
6539
+ builderBlock: true,
6540
+ builderContext: true,
6541
+ builderComponents: true,
6542
+ builderLinkComponent: true
6543
+ }
6429
6544
  };
6430
6545
 
6431
6546
  // src/blocks/form/form/form.tsx
@@ -6682,6 +6797,12 @@ var form_default = FormComponent;
6682
6797
 
6683
6798
  // src/blocks/form/input/component-info.ts
6684
6799
  var componentInfo14 = {
6800
+ shouldReceiveBuilderProps: {
6801
+ builderBlock: false,
6802
+ builderContext: false,
6803
+ builderComponents: false,
6804
+ builderLinkComponent: false
6805
+ },
6685
6806
  name: "Form:Input",
6686
6807
  image: "https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Fad6f37889d9e40bbbbc72cdb5875d6ca",
6687
6808
  inputs: [
@@ -6752,6 +6873,12 @@ var input_default = FormInputComponent;
6752
6873
 
6753
6874
  // src/blocks/form/select/component-info.ts
6754
6875
  var componentInfo15 = {
6876
+ shouldReceiveBuilderProps: {
6877
+ builderBlock: false,
6878
+ builderContext: false,
6879
+ builderComponents: false,
6880
+ builderLinkComponent: false
6881
+ },
6755
6882
  name: "Form:Select",
6756
6883
  image: "https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F83acca093fb24aaf94dee136e9a4b045",
6757
6884
  defaultStyles: {
@@ -6805,6 +6932,7 @@ function SelectComponent(props) {
6805
6932
  key={isEditing() && props.defaultValue ? props.defaultValue : "default-key"}
6806
6933
  defaultValue={props.defaultValue}
6807
6934
  name={props.name}
6935
+ required={props.required}
6808
6936
  ><For8 each={props.options}>{(option, _index) => {
6809
6937
  const index = _index();
6810
6938
  return <option key={`${option.name}-${index}`} value={option.value}>{option.name || option.value}</option>;
@@ -6814,6 +6942,12 @@ var select_default = SelectComponent;
6814
6942
 
6815
6943
  // src/blocks/form/submit-button/component-info.ts
6816
6944
  var componentInfo16 = {
6945
+ shouldReceiveBuilderProps: {
6946
+ builderBlock: false,
6947
+ builderContext: false,
6948
+ builderComponents: false,
6949
+ builderLinkComponent: false
6950
+ },
6817
6951
  name: "Form:SubmitButton",
6818
6952
  image: "https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Fdf2820ffed1f4349a94c40b3221f5b98",
6819
6953
  defaultStyles: {
@@ -6846,8 +6980,73 @@ function SubmitButton(props) {
6846
6980
  }
6847
6981
  var submit_button_default = SubmitButton;
6848
6982
 
6849
- // src/blocks/img/component-info.ts
6983
+ // src/blocks/form/textarea/component-info.ts
6850
6984
  var componentInfo17 = {
6985
+ shouldReceiveBuilderProps: {
6986
+ builderBlock: false,
6987
+ builderContext: false,
6988
+ builderComponents: false,
6989
+ builderLinkComponent: false
6990
+ },
6991
+ name: "Form:TextArea",
6992
+ image: "https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Ff74a2f3de58c4c3e939204e5b6b8f6c3",
6993
+ inputs: [{
6994
+ advanced: true,
6995
+ name: "value",
6996
+ type: "string"
6997
+ }, {
6998
+ name: "name",
6999
+ type: "string",
7000
+ required: true,
7001
+ helperText: 'Every input in a form needs a unique name describing what it gets, e.g. "email"'
7002
+ }, {
7003
+ name: "defaultValue",
7004
+ type: "string"
7005
+ }, {
7006
+ name: "placeholder",
7007
+ type: "string",
7008
+ defaultValue: "Hello there"
7009
+ }, {
7010
+ name: "required",
7011
+ type: "boolean",
7012
+ defaultValue: false
7013
+ }],
7014
+ defaultStyles: {
7015
+ paddingTop: "10px",
7016
+ paddingBottom: "10px",
7017
+ paddingLeft: "10px",
7018
+ paddingRight: "10px",
7019
+ borderRadius: "3px",
7020
+ borderWidth: "1px",
7021
+ borderStyle: "solid",
7022
+ borderColor: "#ccc"
7023
+ },
7024
+ static: true,
7025
+ noWrap: true
7026
+ };
7027
+
7028
+ // src/blocks/form/textarea/textarea.tsx
7029
+ function Textarea(props) {
7030
+ return <><textarea
7031
+ {...{}}
7032
+ {...props.attributes}
7033
+ placeholder={props.placeholder}
7034
+ name={props.name}
7035
+ value={props.value}
7036
+ defaultValue={props.defaultValue}
7037
+ required={props.required}
7038
+ /></>;
7039
+ }
7040
+ var textarea_default = Textarea;
7041
+
7042
+ // src/blocks/img/component-info.ts
7043
+ var componentInfo18 = {
7044
+ shouldReceiveBuilderProps: {
7045
+ builderBlock: false,
7046
+ builderContext: false,
7047
+ builderComponents: false,
7048
+ builderLinkComponent: false
7049
+ },
6851
7050
  // friendlyName?
6852
7051
  name: "Raw:Img",
6853
7052
  hideFromInsertMenu: true,
@@ -6880,7 +7079,7 @@ function ImgComponent(props) {
6880
7079
  var img_default = ImgComponent;
6881
7080
 
6882
7081
  // src/blocks/video/component-info.ts
6883
- var componentInfo18 = {
7082
+ var componentInfo19 = {
6884
7083
  name: "Video",
6885
7084
  canHaveChildren: true,
6886
7085
  defaultStyles: {
@@ -6960,7 +7159,13 @@ var componentInfo18 = {
6960
7159
  helperText: 'Load this video "lazily" - as in only when a user scrolls near the video. Recommended for optmized performance and bandwidth consumption',
6961
7160
  defaultValue: true,
6962
7161
  advanced: true
6963
- }]
7162
+ }],
7163
+ shouldReceiveBuilderProps: {
7164
+ builderBlock: true,
7165
+ builderContext: false,
7166
+ builderComponents: false,
7167
+ builderLinkComponent: false
7168
+ }
6964
7169
  };
6965
7170
 
6966
7171
  // src/blocks/video/video.tsx
@@ -7069,12 +7274,15 @@ var getExtraComponents = () => [{
7069
7274
  }, {
7070
7275
  component: select_default,
7071
7276
  ...componentInfo15
7277
+ }, {
7278
+ component: textarea_default,
7279
+ ...componentInfo17
7072
7280
  }], {
7073
7281
  component: img_default,
7074
- ...componentInfo17
7282
+ ...componentInfo18
7075
7283
  }, {
7076
7284
  component: video_default,
7077
- ...componentInfo18
7285
+ ...componentInfo19
7078
7286
  }];
7079
7287
 
7080
7288
  // src/constants/builder-registered-components.ts
@@ -7689,7 +7897,7 @@ function isFromTrustedHost(trustedHosts, e) {
7689
7897
  }
7690
7898
 
7691
7899
  // src/constants/sdk-version.ts
7692
- var SDK_VERSION = "1.0.35";
7900
+ var SDK_VERSION = "1.1.0";
7693
7901
 
7694
7902
  // src/functions/register.ts
7695
7903
  var registry = {};
@@ -8587,7 +8795,7 @@ function Symbol2(props) {
8587
8795
  function onUpdateFn_0() {
8588
8796
  setContent();
8589
8797
  }
8590
- createEffect3(on3(() => [onUpdateFn_0_props_symbol()], onUpdateFn_0));
8798
+ createEffect4(on4(() => [onUpdateFn_0_props_symbol()], onUpdateFn_0));
8591
8799
  return <><div class={className()} {...{}} {...props.attributes} {...{}}><Content_variants_default
8592
8800
  isNestedRender={true}
8593
8801
  apiVersion={props.builderContext.apiVersion}