@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.
@@ -771,25 +771,56 @@ var getRepeatItemData = ({
771
771
  }));
772
772
  return repeatArray;
773
773
  };
774
+ var applyDefaults = (shouldReceiveBuilderProps) => {
775
+ return {
776
+ // once we bump to a major version, toggle this to `false`.
777
+ builderBlock: true,
778
+ // once we bump to a major version, toggle this to `false`.
779
+ builderContext: true,
780
+ builderComponents: false,
781
+ builderLinkComponent: false,
782
+ ...shouldReceiveBuilderProps
783
+ };
784
+ };
774
785
  var provideLinkComponent = (block, linkComponent) => {
775
- return block && (block.isRSC && TARGET === "rsc" || ["Core:Button", "Symbol", "Columns", "Form:Form", "Builder: Tabs", "Builder:Accordion"].includes(block.name)) ? {
786
+ if (!block)
787
+ return {};
788
+ const shouldReceiveProp = applyDefaults(block.shouldReceiveBuilderProps).builderLinkComponent;
789
+ if (!shouldReceiveProp)
790
+ return {};
791
+ return {
776
792
  builderLinkComponent: linkComponent
777
- } : {};
793
+ };
778
794
  };
779
795
  var provideRegisteredComponents = (block, registeredComponents) => {
780
- return block && (block.isRSC && TARGET === "rsc" || ["Symbol", "Columns", "Form:Form", "Builder: Tabs", "Builder:Accordion"].includes(block.name)) ? {
796
+ if (!block)
797
+ return {};
798
+ const shouldReceiveProp = applyDefaults(block.shouldReceiveBuilderProps).builderComponents;
799
+ if (!shouldReceiveProp)
800
+ return {};
801
+ return {
781
802
  builderComponents: registeredComponents
782
- } : {};
803
+ };
783
804
  };
784
805
  var provideBuilderBlock = (block, builderBlock) => {
785
- return block && (block.isRSC && TARGET === "rsc" || TARGET === "reactNative" && block.name === "Text" || ["Builder:Accordion", "Columns", "Form:Form", "Builder: Tabs", "Symbol", "Image", "Video"].includes(block.name)) ? {
806
+ if (!block)
807
+ return {};
808
+ const shouldReceiveProp = applyDefaults(block.shouldReceiveBuilderProps).builderBlock;
809
+ if (!shouldReceiveProp)
810
+ return {};
811
+ return {
786
812
  builderBlock
787
- } : {};
813
+ };
788
814
  };
789
815
  var provideBuilderContext = (block, context) => {
790
- return block && (block.isRSC && TARGET === "rsc" || ["Builder:Accordion", "Columns", "Form:Form", "Builder: Tabs", "Symbol", "Slot"].includes(block.name)) ? {
816
+ if (!block)
817
+ return {};
818
+ const shouldReceiveProp = applyDefaults(block.shouldReceiveBuilderProps).builderContext;
819
+ if (!shouldReceiveProp)
820
+ return {};
821
+ return {
791
822
  builderContext: context
792
- } : {};
823
+ };
793
824
  };
794
825
 
795
826
  // src/components/block/components/block-styles.tsx
@@ -1688,10 +1719,16 @@ function SectionComponent(props) {
1688
1719
  var section_default = SectionComponent;
1689
1720
 
1690
1721
  // src/blocks/symbol/symbol.tsx
1691
- import { onMount as onMount5, on as on3, createEffect as createEffect3, createMemo as createMemo19, createSignal as createSignal19 } from "solid-js";
1722
+ import { onMount as onMount5, on as on4, createEffect as createEffect4, createMemo as createMemo19, createSignal as createSignal19 } from "solid-js";
1692
1723
 
1693
1724
  // src/components/content-variants/content-variants.tsx
1694
- import { Show as Show14, For as For9, onMount as onMount4, createSignal as createSignal18, createMemo as createMemo18 } from "solid-js";
1725
+ import {
1726
+ Show as Show14,
1727
+ For as For9,
1728
+ onMount as onMount4,
1729
+ createMemo as createMemo18,
1730
+ createSignal as createSignal18
1731
+ } from "solid-js";
1695
1732
 
1696
1733
  // src/helpers/url.ts
1697
1734
  var getTopLevelDomain = (host) => {
@@ -2009,7 +2046,13 @@ var componentInfo = {
2009
2046
  options.set("items", []);
2010
2047
  }
2011
2048
  }
2012
- }]
2049
+ }],
2050
+ shouldReceiveBuilderProps: {
2051
+ builderBlock: true,
2052
+ builderContext: true,
2053
+ builderComponents: true,
2054
+ builderLinkComponent: true
2055
+ }
2013
2056
  };
2014
2057
 
2015
2058
  // src/blocks/accordion/accordion.tsx
@@ -2196,7 +2239,13 @@ var componentInfo2 = {
2196
2239
  friendlyName: "Open link in new tab"
2197
2240
  }],
2198
2241
  static: true,
2199
- noWrap: true
2242
+ noWrap: true,
2243
+ shouldReceiveBuilderProps: {
2244
+ builderBlock: false,
2245
+ builderContext: false,
2246
+ builderComponents: false,
2247
+ builderLinkComponent: true
2248
+ }
2200
2249
  };
2201
2250
 
2202
2251
  // src/blocks/columns/component-info.ts
@@ -2416,11 +2465,23 @@ var componentInfo3 = {
2416
2465
  defaultValue: false,
2417
2466
  helperText: "When stacking columns for mobile devices, reverse the ordering",
2418
2467
  advanced: true
2419
- }]
2468
+ }],
2469
+ shouldReceiveBuilderProps: {
2470
+ builderBlock: true,
2471
+ builderContext: true,
2472
+ builderComponents: true,
2473
+ builderLinkComponent: true
2474
+ }
2420
2475
  };
2421
2476
 
2422
2477
  // src/blocks/fragment/component-info.ts
2423
2478
  var componentInfo4 = {
2479
+ shouldReceiveBuilderProps: {
2480
+ builderBlock: false,
2481
+ builderContext: false,
2482
+ builderComponents: false,
2483
+ builderLinkComponent: false
2484
+ },
2424
2485
  name: "Fragment",
2425
2486
  static: true,
2426
2487
  hidden: true,
@@ -2553,11 +2614,23 @@ var componentInfo5 = {
2553
2614
  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",
2554
2615
  advanced: true,
2555
2616
  defaultValue: 0.7041
2556
- }]
2617
+ }],
2618
+ shouldReceiveBuilderProps: {
2619
+ builderBlock: true,
2620
+ builderContext: false,
2621
+ builderComponents: false,
2622
+ builderLinkComponent: false
2623
+ }
2557
2624
  };
2558
2625
 
2559
2626
  // src/blocks/section/component-info.ts
2560
2627
  var componentInfo6 = {
2628
+ shouldReceiveBuilderProps: {
2629
+ builderBlock: false,
2630
+ builderContext: false,
2631
+ builderComponents: false,
2632
+ builderLinkComponent: false
2633
+ },
2561
2634
  name: "Core:Section",
2562
2635
  static: true,
2563
2636
  image: "https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F682efef23ace49afac61748dd305c70a",
@@ -2611,7 +2684,13 @@ var componentInfo7 = {
2611
2684
  type: "string",
2612
2685
  required: true,
2613
2686
  defaultValue: "children"
2614
- }]
2687
+ }],
2688
+ shouldReceiveBuilderProps: {
2689
+ builderBlock: false,
2690
+ builderContext: true,
2691
+ builderComponents: false,
2692
+ builderLinkComponent: false
2693
+ }
2615
2694
  };
2616
2695
 
2617
2696
  // src/blocks/slot/slot.tsx
@@ -2665,7 +2744,13 @@ var componentInfo8 = {
2665
2744
  name: "useChildren",
2666
2745
  hideFromUI: true,
2667
2746
  type: "boolean"
2668
- }]
2747
+ }],
2748
+ shouldReceiveBuilderProps: {
2749
+ builderBlock: true,
2750
+ builderContext: true,
2751
+ builderComponents: true,
2752
+ builderLinkComponent: true
2753
+ }
2669
2754
  };
2670
2755
 
2671
2756
  // src/blocks/tabs/component-info.ts
@@ -2805,7 +2890,13 @@ var componentInfo9 = {
2805
2890
  label: "Right",
2806
2891
  value: "flex-end"
2807
2892
  }]
2808
- }]
2893
+ }],
2894
+ shouldReceiveBuilderProps: {
2895
+ builderBlock: true,
2896
+ builderContext: true,
2897
+ builderComponents: true,
2898
+ builderLinkComponent: true
2899
+ }
2809
2900
  };
2810
2901
 
2811
2902
  // src/blocks/tabs/tabs.tsx
@@ -2865,6 +2956,12 @@ var tabs_default = Tabs;
2865
2956
 
2866
2957
  // src/blocks/text/component-info.ts
2867
2958
  var componentInfo10 = {
2959
+ shouldReceiveBuilderProps: {
2960
+ builderBlock: TARGET === "reactNative" ? true : false,
2961
+ builderContext: false,
2962
+ builderComponents: false,
2963
+ builderLinkComponent: false
2964
+ },
2868
2965
  name: "Text",
2869
2966
  static: true,
2870
2967
  isRSC: true,
@@ -2898,6 +2995,12 @@ var text_default = Text;
2898
2995
 
2899
2996
  // src/blocks/custom-code/component-info.ts
2900
2997
  var componentInfo11 = {
2998
+ shouldReceiveBuilderProps: {
2999
+ builderBlock: false,
3000
+ builderContext: false,
3001
+ builderComponents: false,
3002
+ builderLinkComponent: false
3003
+ },
2901
3004
  name: "Custom Code",
2902
3005
  static: true,
2903
3006
  requiredPermissions: ["editCode"],
@@ -2970,6 +3073,12 @@ var custom_code_default = CustomCode;
2970
3073
 
2971
3074
  // src/blocks/embed/component-info.ts
2972
3075
  var componentInfo12 = {
3076
+ shouldReceiveBuilderProps: {
3077
+ builderBlock: false,
3078
+ builderContext: false,
3079
+ builderComponents: false,
3080
+ builderLinkComponent: false
3081
+ },
2973
3082
  name: "Embed",
2974
3083
  static: true,
2975
3084
  inputs: [{
@@ -3287,7 +3396,13 @@ var componentInfo13 = {
3287
3396
  text: "Submit"
3288
3397
  }
3289
3398
  }
3290
- }]
3399
+ }],
3400
+ shouldReceiveBuilderProps: {
3401
+ builderBlock: true,
3402
+ builderContext: true,
3403
+ builderComponents: true,
3404
+ builderLinkComponent: true
3405
+ }
3291
3406
  };
3292
3407
 
3293
3408
  // src/blocks/form/form/form.tsx
@@ -3544,6 +3659,12 @@ var form_default = FormComponent;
3544
3659
 
3545
3660
  // src/blocks/form/input/component-info.ts
3546
3661
  var componentInfo14 = {
3662
+ shouldReceiveBuilderProps: {
3663
+ builderBlock: false,
3664
+ builderContext: false,
3665
+ builderComponents: false,
3666
+ builderLinkComponent: false
3667
+ },
3547
3668
  name: "Form:Input",
3548
3669
  image: "https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Fad6f37889d9e40bbbbc72cdb5875d6ca",
3549
3670
  inputs: [
@@ -3614,6 +3735,12 @@ var input_default = FormInputComponent;
3614
3735
 
3615
3736
  // src/blocks/form/select/component-info.ts
3616
3737
  var componentInfo15 = {
3738
+ shouldReceiveBuilderProps: {
3739
+ builderBlock: false,
3740
+ builderContext: false,
3741
+ builderComponents: false,
3742
+ builderLinkComponent: false
3743
+ },
3617
3744
  name: "Form:Select",
3618
3745
  image: "https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F83acca093fb24aaf94dee136e9a4b045",
3619
3746
  defaultStyles: {
@@ -3667,6 +3794,7 @@ function SelectComponent(props) {
3667
3794
  key={isEditing() && props.defaultValue ? props.defaultValue : "default-key"}
3668
3795
  defaultValue={props.defaultValue}
3669
3796
  name={props.name}
3797
+ required={props.required}
3670
3798
  ><For8 each={props.options}>{(option, _index) => {
3671
3799
  const index = _index();
3672
3800
  return <option key={`${option.name}-${index}`} value={option.value}>{option.name || option.value}</option>;
@@ -3676,6 +3804,12 @@ var select_default = SelectComponent;
3676
3804
 
3677
3805
  // src/blocks/form/submit-button/component-info.ts
3678
3806
  var componentInfo16 = {
3807
+ shouldReceiveBuilderProps: {
3808
+ builderBlock: false,
3809
+ builderContext: false,
3810
+ builderComponents: false,
3811
+ builderLinkComponent: false
3812
+ },
3679
3813
  name: "Form:SubmitButton",
3680
3814
  image: "https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Fdf2820ffed1f4349a94c40b3221f5b98",
3681
3815
  defaultStyles: {
@@ -3708,8 +3842,73 @@ function SubmitButton(props) {
3708
3842
  }
3709
3843
  var submit_button_default = SubmitButton;
3710
3844
 
3711
- // src/blocks/img/component-info.ts
3845
+ // src/blocks/form/textarea/component-info.ts
3712
3846
  var componentInfo17 = {
3847
+ shouldReceiveBuilderProps: {
3848
+ builderBlock: false,
3849
+ builderContext: false,
3850
+ builderComponents: false,
3851
+ builderLinkComponent: false
3852
+ },
3853
+ name: "Form:TextArea",
3854
+ image: "https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Ff74a2f3de58c4c3e939204e5b6b8f6c3",
3855
+ inputs: [{
3856
+ advanced: true,
3857
+ name: "value",
3858
+ type: "string"
3859
+ }, {
3860
+ name: "name",
3861
+ type: "string",
3862
+ required: true,
3863
+ helperText: 'Every input in a form needs a unique name describing what it gets, e.g. "email"'
3864
+ }, {
3865
+ name: "defaultValue",
3866
+ type: "string"
3867
+ }, {
3868
+ name: "placeholder",
3869
+ type: "string",
3870
+ defaultValue: "Hello there"
3871
+ }, {
3872
+ name: "required",
3873
+ type: "boolean",
3874
+ defaultValue: false
3875
+ }],
3876
+ defaultStyles: {
3877
+ paddingTop: "10px",
3878
+ paddingBottom: "10px",
3879
+ paddingLeft: "10px",
3880
+ paddingRight: "10px",
3881
+ borderRadius: "3px",
3882
+ borderWidth: "1px",
3883
+ borderStyle: "solid",
3884
+ borderColor: "#ccc"
3885
+ },
3886
+ static: true,
3887
+ noWrap: true
3888
+ };
3889
+
3890
+ // src/blocks/form/textarea/textarea.tsx
3891
+ function Textarea(props) {
3892
+ return <><textarea
3893
+ {...{}}
3894
+ {...props.attributes}
3895
+ placeholder={props.placeholder}
3896
+ name={props.name}
3897
+ value={props.value}
3898
+ defaultValue={props.defaultValue}
3899
+ required={props.required}
3900
+ /></>;
3901
+ }
3902
+ var textarea_default = Textarea;
3903
+
3904
+ // src/blocks/img/component-info.ts
3905
+ var componentInfo18 = {
3906
+ shouldReceiveBuilderProps: {
3907
+ builderBlock: false,
3908
+ builderContext: false,
3909
+ builderComponents: false,
3910
+ builderLinkComponent: false
3911
+ },
3713
3912
  // friendlyName?
3714
3913
  name: "Raw:Img",
3715
3914
  hideFromInsertMenu: true,
@@ -3742,7 +3941,7 @@ function ImgComponent(props) {
3742
3941
  var img_default = ImgComponent;
3743
3942
 
3744
3943
  // src/blocks/video/component-info.ts
3745
- var componentInfo18 = {
3944
+ var componentInfo19 = {
3746
3945
  name: "Video",
3747
3946
  canHaveChildren: true,
3748
3947
  defaultStyles: {
@@ -3822,7 +4021,13 @@ var componentInfo18 = {
3822
4021
  helperText: 'Load this video "lazily" - as in only when a user scrolls near the video. Recommended for optmized performance and bandwidth consumption',
3823
4022
  defaultValue: true,
3824
4023
  advanced: true
3825
- }]
4024
+ }],
4025
+ shouldReceiveBuilderProps: {
4026
+ builderBlock: true,
4027
+ builderContext: false,
4028
+ builderComponents: false,
4029
+ builderLinkComponent: false
4030
+ }
3826
4031
  };
3827
4032
 
3828
4033
  // src/blocks/video/video.tsx
@@ -3931,12 +4136,15 @@ var getExtraComponents = () => [{
3931
4136
  }, {
3932
4137
  component: select_default,
3933
4138
  ...componentInfo15
4139
+ }, {
4140
+ component: textarea_default,
4141
+ ...componentInfo17
3934
4142
  }], {
3935
4143
  component: img_default,
3936
- ...componentInfo17
4144
+ ...componentInfo18
3937
4145
  }, {
3938
4146
  component: video_default,
3939
- ...componentInfo18
4147
+ ...componentInfo19
3940
4148
  }];
3941
4149
 
3942
4150
  // src/constants/builder-registered-components.ts
@@ -4556,7 +4764,7 @@ function isFromTrustedHost(trustedHosts, e) {
4556
4764
  }
4557
4765
 
4558
4766
  // src/constants/sdk-version.ts
4559
- var SDK_VERSION = "1.0.35";
4767
+ var SDK_VERSION = "1.1.0";
4560
4768
 
4561
4769
  // src/functions/register.ts
4562
4770
  var registry = {};
@@ -5456,7 +5664,7 @@ function Symbol(props) {
5456
5664
  function onUpdateFn_0() {
5457
5665
  setContent();
5458
5666
  }
5459
- createEffect3(on3(() => [onUpdateFn_0_props_symbol()], onUpdateFn_0));
5667
+ createEffect4(on4(() => [onUpdateFn_0_props_symbol()], onUpdateFn_0));
5460
5668
  return <><div class={className()} {...{}} {...props.attributes} {...{}}><Content_variants_default
5461
5669
  isNestedRender={true}
5462
5670
  apiVersion={props.builderContext.apiVersion}