@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.
@@ -765,25 +765,56 @@ var getRepeatItemData = ({
765
765
  }));
766
766
  return repeatArray;
767
767
  };
768
+ var applyDefaults = (shouldReceiveBuilderProps) => {
769
+ return {
770
+ // once we bump to a major version, toggle this to `false`.
771
+ builderBlock: true,
772
+ // once we bump to a major version, toggle this to `false`.
773
+ builderContext: true,
774
+ builderComponents: false,
775
+ builderLinkComponent: false,
776
+ ...shouldReceiveBuilderProps
777
+ };
778
+ };
768
779
  var provideLinkComponent = (block, linkComponent) => {
769
- return block && (block.isRSC && TARGET === "rsc" || ["Core:Button", "Symbol", "Columns", "Form:Form", "Builder: Tabs", "Builder:Accordion"].includes(block.name)) ? {
780
+ if (!block)
781
+ return {};
782
+ const shouldReceiveProp = applyDefaults(block.shouldReceiveBuilderProps).builderLinkComponent;
783
+ if (!shouldReceiveProp)
784
+ return {};
785
+ return {
770
786
  builderLinkComponent: linkComponent
771
- } : {};
787
+ };
772
788
  };
773
789
  var provideRegisteredComponents = (block, registeredComponents) => {
774
- return block && (block.isRSC && TARGET === "rsc" || ["Symbol", "Columns", "Form:Form", "Builder: Tabs", "Builder:Accordion"].includes(block.name)) ? {
790
+ if (!block)
791
+ return {};
792
+ const shouldReceiveProp = applyDefaults(block.shouldReceiveBuilderProps).builderComponents;
793
+ if (!shouldReceiveProp)
794
+ return {};
795
+ return {
775
796
  builderComponents: registeredComponents
776
- } : {};
797
+ };
777
798
  };
778
799
  var provideBuilderBlock = (block, builderBlock) => {
779
- return block && (block.isRSC && TARGET === "rsc" || TARGET === "reactNative" && block.name === "Text" || ["Builder:Accordion", "Columns", "Form:Form", "Builder: Tabs", "Symbol", "Image", "Video"].includes(block.name)) ? {
800
+ if (!block)
801
+ return {};
802
+ const shouldReceiveProp = applyDefaults(block.shouldReceiveBuilderProps).builderBlock;
803
+ if (!shouldReceiveProp)
804
+ return {};
805
+ return {
780
806
  builderBlock
781
- } : {};
807
+ };
782
808
  };
783
809
  var provideBuilderContext = (block, context) => {
784
- return block && (block.isRSC && TARGET === "rsc" || ["Builder:Accordion", "Columns", "Form:Form", "Builder: Tabs", "Symbol", "Slot"].includes(block.name)) ? {
810
+ if (!block)
811
+ return {};
812
+ const shouldReceiveProp = applyDefaults(block.shouldReceiveBuilderProps).builderContext;
813
+ if (!shouldReceiveProp)
814
+ return {};
815
+ return {
785
816
  builderContext: context
786
- } : {};
817
+ };
787
818
  };
788
819
 
789
820
  // src/components/block/components/block-styles.tsx
@@ -1681,10 +1712,16 @@ function SectionComponent(props) {
1681
1712
  var section_default = SectionComponent;
1682
1713
 
1683
1714
  // src/blocks/symbol/symbol.tsx
1684
- import { onMount as onMount5, on as on3, createEffect as createEffect3, createMemo as createMemo19, createSignal as createSignal19 } from "solid-js";
1715
+ import { onMount as onMount5, on as on4, createEffect as createEffect4, createMemo as createMemo19, createSignal as createSignal19 } from "solid-js";
1685
1716
 
1686
1717
  // src/components/content-variants/content-variants.tsx
1687
- import { Show as Show14, For as For9, onMount as onMount4, createSignal as createSignal18, createMemo as createMemo18 } from "solid-js";
1718
+ import {
1719
+ Show as Show14,
1720
+ For as For9,
1721
+ onMount as onMount4,
1722
+ createMemo as createMemo18,
1723
+ createSignal as createSignal18
1724
+ } from "solid-js";
1688
1725
 
1689
1726
  // src/helpers/url.ts
1690
1727
  var getTopLevelDomain = (host) => {
@@ -2002,7 +2039,13 @@ var componentInfo = {
2002
2039
  options.set("items", []);
2003
2040
  }
2004
2041
  }
2005
- }]
2042
+ }],
2043
+ shouldReceiveBuilderProps: {
2044
+ builderBlock: true,
2045
+ builderContext: true,
2046
+ builderComponents: true,
2047
+ builderLinkComponent: true
2048
+ }
2006
2049
  };
2007
2050
 
2008
2051
  // src/blocks/accordion/accordion.tsx
@@ -2189,7 +2232,13 @@ var componentInfo2 = {
2189
2232
  friendlyName: "Open link in new tab"
2190
2233
  }],
2191
2234
  static: true,
2192
- noWrap: true
2235
+ noWrap: true,
2236
+ shouldReceiveBuilderProps: {
2237
+ builderBlock: false,
2238
+ builderContext: false,
2239
+ builderComponents: false,
2240
+ builderLinkComponent: true
2241
+ }
2193
2242
  };
2194
2243
 
2195
2244
  // src/blocks/columns/component-info.ts
@@ -2409,11 +2458,23 @@ var componentInfo3 = {
2409
2458
  defaultValue: false,
2410
2459
  helperText: "When stacking columns for mobile devices, reverse the ordering",
2411
2460
  advanced: true
2412
- }]
2461
+ }],
2462
+ shouldReceiveBuilderProps: {
2463
+ builderBlock: true,
2464
+ builderContext: true,
2465
+ builderComponents: true,
2466
+ builderLinkComponent: true
2467
+ }
2413
2468
  };
2414
2469
 
2415
2470
  // src/blocks/fragment/component-info.ts
2416
2471
  var componentInfo4 = {
2472
+ shouldReceiveBuilderProps: {
2473
+ builderBlock: false,
2474
+ builderContext: false,
2475
+ builderComponents: false,
2476
+ builderLinkComponent: false
2477
+ },
2417
2478
  name: "Fragment",
2418
2479
  static: true,
2419
2480
  hidden: true,
@@ -2545,11 +2606,23 @@ var componentInfo5 = {
2545
2606
  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",
2546
2607
  advanced: true,
2547
2608
  defaultValue: 0.7041
2548
- }]
2609
+ }],
2610
+ shouldReceiveBuilderProps: {
2611
+ builderBlock: true,
2612
+ builderContext: false,
2613
+ builderComponents: false,
2614
+ builderLinkComponent: false
2615
+ }
2549
2616
  };
2550
2617
 
2551
2618
  // src/blocks/section/component-info.ts
2552
2619
  var componentInfo6 = {
2620
+ shouldReceiveBuilderProps: {
2621
+ builderBlock: false,
2622
+ builderContext: false,
2623
+ builderComponents: false,
2624
+ builderLinkComponent: false
2625
+ },
2553
2626
  name: "Core:Section",
2554
2627
  static: true,
2555
2628
  image: "https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F682efef23ace49afac61748dd305c70a",
@@ -2603,7 +2676,13 @@ var componentInfo7 = {
2603
2676
  type: "string",
2604
2677
  required: true,
2605
2678
  defaultValue: "children"
2606
- }]
2679
+ }],
2680
+ shouldReceiveBuilderProps: {
2681
+ builderBlock: false,
2682
+ builderContext: true,
2683
+ builderComponents: false,
2684
+ builderLinkComponent: false
2685
+ }
2607
2686
  };
2608
2687
 
2609
2688
  // src/blocks/slot/slot.tsx
@@ -2657,7 +2736,13 @@ var componentInfo8 = {
2657
2736
  name: "useChildren",
2658
2737
  hideFromUI: true,
2659
2738
  type: "boolean"
2660
- }]
2739
+ }],
2740
+ shouldReceiveBuilderProps: {
2741
+ builderBlock: true,
2742
+ builderContext: true,
2743
+ builderComponents: true,
2744
+ builderLinkComponent: true
2745
+ }
2661
2746
  };
2662
2747
 
2663
2748
  // src/blocks/tabs/component-info.ts
@@ -2797,7 +2882,13 @@ var componentInfo9 = {
2797
2882
  label: "Right",
2798
2883
  value: "flex-end"
2799
2884
  }]
2800
- }]
2885
+ }],
2886
+ shouldReceiveBuilderProps: {
2887
+ builderBlock: true,
2888
+ builderContext: true,
2889
+ builderComponents: true,
2890
+ builderLinkComponent: true
2891
+ }
2801
2892
  };
2802
2893
 
2803
2894
  // src/blocks/tabs/tabs.tsx
@@ -2857,6 +2948,12 @@ var tabs_default = Tabs;
2857
2948
 
2858
2949
  // src/blocks/text/component-info.ts
2859
2950
  var componentInfo10 = {
2951
+ shouldReceiveBuilderProps: {
2952
+ builderBlock: TARGET === "reactNative" ? true : false,
2953
+ builderContext: false,
2954
+ builderComponents: false,
2955
+ builderLinkComponent: false
2956
+ },
2860
2957
  name: "Text",
2861
2958
  static: true,
2862
2959
  isRSC: true,
@@ -2890,6 +2987,12 @@ var text_default = Text;
2890
2987
 
2891
2988
  // src/blocks/custom-code/component-info.ts
2892
2989
  var componentInfo11 = {
2990
+ shouldReceiveBuilderProps: {
2991
+ builderBlock: false,
2992
+ builderContext: false,
2993
+ builderComponents: false,
2994
+ builderLinkComponent: false
2995
+ },
2893
2996
  name: "Custom Code",
2894
2997
  static: true,
2895
2998
  requiredPermissions: ["editCode"],
@@ -2961,6 +3064,12 @@ var custom_code_default = CustomCode;
2961
3064
 
2962
3065
  // src/blocks/embed/component-info.ts
2963
3066
  var componentInfo12 = {
3067
+ shouldReceiveBuilderProps: {
3068
+ builderBlock: false,
3069
+ builderContext: false,
3070
+ builderComponents: false,
3071
+ builderLinkComponent: false
3072
+ },
2964
3073
  name: "Embed",
2965
3074
  static: true,
2966
3075
  inputs: [{
@@ -3277,7 +3386,13 @@ var componentInfo13 = {
3277
3386
  text: "Submit"
3278
3387
  }
3279
3388
  }
3280
- }]
3389
+ }],
3390
+ shouldReceiveBuilderProps: {
3391
+ builderBlock: true,
3392
+ builderContext: true,
3393
+ builderComponents: true,
3394
+ builderLinkComponent: true
3395
+ }
3281
3396
  };
3282
3397
 
3283
3398
  // src/blocks/form/form/form.tsx
@@ -3534,6 +3649,12 @@ var form_default = FormComponent;
3534
3649
 
3535
3650
  // src/blocks/form/input/component-info.ts
3536
3651
  var componentInfo14 = {
3652
+ shouldReceiveBuilderProps: {
3653
+ builderBlock: false,
3654
+ builderContext: false,
3655
+ builderComponents: false,
3656
+ builderLinkComponent: false
3657
+ },
3537
3658
  name: "Form:Input",
3538
3659
  image: "https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Fad6f37889d9e40bbbbc72cdb5875d6ca",
3539
3660
  inputs: [
@@ -3604,6 +3725,12 @@ var input_default = FormInputComponent;
3604
3725
 
3605
3726
  // src/blocks/form/select/component-info.ts
3606
3727
  var componentInfo15 = {
3728
+ shouldReceiveBuilderProps: {
3729
+ builderBlock: false,
3730
+ builderContext: false,
3731
+ builderComponents: false,
3732
+ builderLinkComponent: false
3733
+ },
3607
3734
  name: "Form:Select",
3608
3735
  image: "https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F83acca093fb24aaf94dee136e9a4b045",
3609
3736
  defaultStyles: {
@@ -3657,6 +3784,7 @@ function SelectComponent(props) {
3657
3784
  key={isEditing() && props.defaultValue ? props.defaultValue : "default-key"}
3658
3785
  defaultValue={props.defaultValue}
3659
3786
  name={props.name}
3787
+ required={props.required}
3660
3788
  ><For8 each={props.options}>{(option, _index) => {
3661
3789
  const index = _index();
3662
3790
  return <option key={`${option.name}-${index}`} value={option.value}>{option.name || option.value}</option>;
@@ -3666,6 +3794,12 @@ var select_default = SelectComponent;
3666
3794
 
3667
3795
  // src/blocks/form/submit-button/component-info.ts
3668
3796
  var componentInfo16 = {
3797
+ shouldReceiveBuilderProps: {
3798
+ builderBlock: false,
3799
+ builderContext: false,
3800
+ builderComponents: false,
3801
+ builderLinkComponent: false
3802
+ },
3669
3803
  name: "Form:SubmitButton",
3670
3804
  image: "https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Fdf2820ffed1f4349a94c40b3221f5b98",
3671
3805
  defaultStyles: {
@@ -3698,8 +3832,73 @@ function SubmitButton(props) {
3698
3832
  }
3699
3833
  var submit_button_default = SubmitButton;
3700
3834
 
3701
- // src/blocks/img/component-info.ts
3835
+ // src/blocks/form/textarea/component-info.ts
3702
3836
  var componentInfo17 = {
3837
+ shouldReceiveBuilderProps: {
3838
+ builderBlock: false,
3839
+ builderContext: false,
3840
+ builderComponents: false,
3841
+ builderLinkComponent: false
3842
+ },
3843
+ name: "Form:TextArea",
3844
+ image: "https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Ff74a2f3de58c4c3e939204e5b6b8f6c3",
3845
+ inputs: [{
3846
+ advanced: true,
3847
+ name: "value",
3848
+ type: "string"
3849
+ }, {
3850
+ name: "name",
3851
+ type: "string",
3852
+ required: true,
3853
+ helperText: 'Every input in a form needs a unique name describing what it gets, e.g. "email"'
3854
+ }, {
3855
+ name: "defaultValue",
3856
+ type: "string"
3857
+ }, {
3858
+ name: "placeholder",
3859
+ type: "string",
3860
+ defaultValue: "Hello there"
3861
+ }, {
3862
+ name: "required",
3863
+ type: "boolean",
3864
+ defaultValue: false
3865
+ }],
3866
+ defaultStyles: {
3867
+ paddingTop: "10px",
3868
+ paddingBottom: "10px",
3869
+ paddingLeft: "10px",
3870
+ paddingRight: "10px",
3871
+ borderRadius: "3px",
3872
+ borderWidth: "1px",
3873
+ borderStyle: "solid",
3874
+ borderColor: "#ccc"
3875
+ },
3876
+ static: true,
3877
+ noWrap: true
3878
+ };
3879
+
3880
+ // src/blocks/form/textarea/textarea.tsx
3881
+ function Textarea(props) {
3882
+ return <><textarea
3883
+ {...{}}
3884
+ {...props.attributes}
3885
+ placeholder={props.placeholder}
3886
+ name={props.name}
3887
+ value={props.value}
3888
+ defaultValue={props.defaultValue}
3889
+ required={props.required}
3890
+ /></>;
3891
+ }
3892
+ var textarea_default = Textarea;
3893
+
3894
+ // src/blocks/img/component-info.ts
3895
+ var componentInfo18 = {
3896
+ shouldReceiveBuilderProps: {
3897
+ builderBlock: false,
3898
+ builderContext: false,
3899
+ builderComponents: false,
3900
+ builderLinkComponent: false
3901
+ },
3703
3902
  // friendlyName?
3704
3903
  name: "Raw:Img",
3705
3904
  hideFromInsertMenu: true,
@@ -3732,7 +3931,7 @@ function ImgComponent(props) {
3732
3931
  var img_default = ImgComponent;
3733
3932
 
3734
3933
  // src/blocks/video/component-info.ts
3735
- var componentInfo18 = {
3934
+ var componentInfo19 = {
3736
3935
  name: "Video",
3737
3936
  canHaveChildren: true,
3738
3937
  defaultStyles: {
@@ -3812,7 +4011,13 @@ var componentInfo18 = {
3812
4011
  helperText: 'Load this video "lazily" - as in only when a user scrolls near the video. Recommended for optmized performance and bandwidth consumption',
3813
4012
  defaultValue: true,
3814
4013
  advanced: true
3815
- }]
4014
+ }],
4015
+ shouldReceiveBuilderProps: {
4016
+ builderBlock: true,
4017
+ builderContext: false,
4018
+ builderComponents: false,
4019
+ builderLinkComponent: false
4020
+ }
3816
4021
  };
3817
4022
 
3818
4023
  // src/blocks/video/video.tsx
@@ -3921,12 +4126,15 @@ var getExtraComponents = () => [{
3921
4126
  }, {
3922
4127
  component: select_default,
3923
4128
  ...componentInfo15
4129
+ }, {
4130
+ component: textarea_default,
4131
+ ...componentInfo17
3924
4132
  }], {
3925
4133
  component: img_default,
3926
- ...componentInfo17
4134
+ ...componentInfo18
3927
4135
  }, {
3928
4136
  component: video_default,
3929
- ...componentInfo18
4137
+ ...componentInfo19
3930
4138
  }];
3931
4139
 
3932
4140
  // src/constants/builder-registered-components.ts
@@ -4541,7 +4749,7 @@ function isFromTrustedHost(trustedHosts, e) {
4541
4749
  }
4542
4750
 
4543
4751
  // src/constants/sdk-version.ts
4544
- var SDK_VERSION = "1.0.35";
4752
+ var SDK_VERSION = "1.1.0";
4545
4753
 
4546
4754
  // src/functions/register.ts
4547
4755
  var registry = {};
@@ -5439,7 +5647,7 @@ function Symbol(props) {
5439
5647
  function onUpdateFn_0() {
5440
5648
  setContent();
5441
5649
  }
5442
- createEffect3(on3(() => [onUpdateFn_0_props_symbol()], onUpdateFn_0));
5650
+ createEffect4(on4(() => [onUpdateFn_0_props_symbol()], onUpdateFn_0));
5443
5651
  return <><div class={className()} {...{}} {...props.attributes} {...{}}><Content_variants_default
5444
5652
  isNestedRender={true}
5445
5653
  apiVersion={props.builderContext.apiVersion}