@builder.io/sdk-solid 1.1.2 → 2.0.1

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/dist/index.d.ts CHANGED
@@ -510,6 +510,7 @@ interface BuilderContextInterface extends Pick<BlocksWrapperProps, 'BlocksWrappe
510
510
  apiVersion: ApiVersion | undefined;
511
511
  componentInfos: Dictionary<ComponentInfo>;
512
512
  inheritedStyles: Record<string, unknown>;
513
+ nonce: string;
513
514
  canTrack?: boolean;
514
515
  }
515
516
 
@@ -708,6 +709,10 @@ interface ContentVariantsPrps {
708
709
  * List of hosts to allow editing content from.
709
710
  */
710
711
  trustedHosts?: string[];
712
+ /**
713
+ * A CSP nonce to use for the SDK's inlined `<script>` and `<style>` tags.
714
+ */
715
+ nonce?: string;
711
716
  }
712
717
 
713
718
  type VariantsProviderProps = ContentVariantsPrps & {
@@ -731,6 +736,7 @@ declare const _default: solid_js.Context<{
731
736
  inheritedStyles: {};
732
737
  BlocksWrapper: string;
733
738
  BlocksWrapperProps: {};
739
+ nonce: string;
734
740
  }>;
735
741
 
736
742
  type QueryObject = Record<string, string | string[]>;
@@ -113,7 +113,8 @@ var builder_context_default = createContext({
113
113
  componentInfos: {},
114
114
  inheritedStyles: {},
115
115
  BlocksWrapper: "div",
116
- BlocksWrapperProps: {}
116
+ BlocksWrapperProps: {},
117
+ nonce: ""
117
118
  });
118
119
  var components_context_default = createContext({ registeredComponents: {} });
119
120
 
@@ -784,56 +785,33 @@ var getRepeatItemData = ({
784
785
  }));
785
786
  return repeatArray;
786
787
  };
787
- var applyDefaults = (shouldReceiveBuilderProps) => {
788
- return {
789
- // once we bump to a major version, toggle this to `false`.
790
- builderBlock: true,
791
- // once we bump to a major version, toggle this to `false`.
792
- builderContext: true,
793
- builderComponents: false,
794
- builderLinkComponent: false,
795
- ...shouldReceiveBuilderProps
796
- };
797
- };
798
788
  var provideLinkComponent = (block, linkComponent) => {
799
- if (!block)
800
- return {};
801
- const shouldReceiveProp = applyDefaults(block.shouldReceiveBuilderProps).builderLinkComponent;
802
- if (!shouldReceiveProp)
803
- return {};
804
- return {
805
- builderLinkComponent: linkComponent
806
- };
789
+ if (block?.shouldReceiveBuilderProps?.builderLinkComponent)
790
+ return {
791
+ builderLinkComponent: linkComponent
792
+ };
793
+ return {};
807
794
  };
808
795
  var provideRegisteredComponents = (block, registeredComponents) => {
809
- if (!block)
810
- return {};
811
- const shouldReceiveProp = applyDefaults(block.shouldReceiveBuilderProps).builderComponents;
812
- if (!shouldReceiveProp)
813
- return {};
814
- return {
815
- builderComponents: registeredComponents
816
- };
796
+ if (block?.shouldReceiveBuilderProps?.builderComponents)
797
+ return {
798
+ builderComponents: registeredComponents
799
+ };
800
+ return {};
817
801
  };
818
802
  var provideBuilderBlock = (block, builderBlock) => {
819
- if (!block)
820
- return {};
821
- const shouldReceiveProp = applyDefaults(block.shouldReceiveBuilderProps).builderBlock;
822
- if (!shouldReceiveProp)
823
- return {};
824
- return {
825
- builderBlock
826
- };
803
+ if (block?.shouldReceiveBuilderProps?.builderBlock)
804
+ return {
805
+ builderBlock
806
+ };
807
+ return {};
827
808
  };
828
809
  var provideBuilderContext = (block, context) => {
829
- if (!block)
830
- return {};
831
- const shouldReceiveProp = applyDefaults(block.shouldReceiveBuilderProps).builderContext;
832
- if (!shouldReceiveProp)
833
- return {};
834
- return {
835
- builderContext: context
836
- };
810
+ if (block?.shouldReceiveBuilderProps?.builderContext)
811
+ return {
812
+ builderContext: context
813
+ };
814
+ return {};
837
815
  };
838
816
 
839
817
  // src/constants/device-sizes.ts
@@ -889,13 +867,15 @@ function InlinedStyles(props) {
889
867
  return (() => {
890
868
  const _el$ = _tmpl$();
891
869
  effect((_p$) => {
892
- const _v$ = props.styles, _v$2 = props.id;
870
+ const _v$ = props.styles, _v$2 = props.id, _v$3 = props.nonce;
893
871
  _v$ !== _p$._v$ && (_el$.innerHTML = _p$._v$ = _v$);
894
872
  _v$2 !== _p$._v$2 && setAttribute(_el$, "data-id", _p$._v$2 = _v$2);
873
+ _v$3 !== _p$._v$3 && setAttribute(_el$, "nonce", _p$._v$3 = _v$3);
895
874
  return _p$;
896
875
  }, {
897
876
  _v$: void 0,
898
- _v$2: void 0
877
+ _v$2: void 0,
878
+ _v$3: void 0
899
879
  });
900
880
  return _el$;
901
881
  })();
@@ -978,6 +958,9 @@ function BlockStyles(props) {
978
958
  id: "builderio-block",
979
959
  get styles() {
980
960
  return css();
961
+ },
962
+ get nonce() {
963
+ return props.context.nonce;
981
964
  }
982
965
  });
983
966
  }
@@ -1580,7 +1563,7 @@ var getColumnsClass = (id) => {
1580
1563
 
1581
1564
  // src/blocks/columns/columns.tsx
1582
1565
  var _tmpl$3 = /* @__PURE__ */ template(`<div>`);
1583
- var _tmpl$22 = /* @__PURE__ */ template(`<style>.div-f2f53158 {
1566
+ var _tmpl$22 = /* @__PURE__ */ template(`<style>.div-5b8fb3ac {
1584
1567
  display: flex;
1585
1568
  line-height: normal;
1586
1569
  }`);
@@ -1596,8 +1579,9 @@ function Columns(props) {
1596
1579
  return cols()[index]?.width || 100 / cols().length;
1597
1580
  }
1598
1581
  function getColumnCssWidth(index) {
1599
- const subtractWidth = gutterSize() * (cols().length - 1) / cols().length;
1600
- return `calc(${getWidth(index)}% - ${subtractWidth}px)`;
1582
+ const width = getWidth(index);
1583
+ const subtractWidth = gutterSize() * (cols().length - 1) * (width / 100);
1584
+ return `calc(${width}% - ${subtractWidth}px)`;
1601
1585
  }
1602
1586
  function getTabletStyle({
1603
1587
  stackedStyle,
@@ -1699,7 +1683,7 @@ function Columns(props) {
1699
1683
  const _el$ = _tmpl$3();
1700
1684
  spread(_el$, mergeProps({
1701
1685
  get ["class"]() {
1702
- return getColumnsClass(props.builderBlock?.id) + " div-f2f53158";
1686
+ return getColumnsClass(props.builderBlock?.id) + " div-5b8fb3ac";
1703
1687
  },
1704
1688
  get style() {
1705
1689
  return columnsCssVars();
@@ -1712,6 +1696,9 @@ function Columns(props) {
1712
1696
  id: "builderio-columns",
1713
1697
  get styles() {
1714
1698
  return columnsStyles();
1699
+ },
1700
+ get nonce() {
1701
+ return props.builderContext.nonce;
1715
1702
  }
1716
1703
  });
1717
1704
  }
@@ -2515,9 +2502,6 @@ var componentInfo2 = {
2515
2502
  static: true,
2516
2503
  noWrap: true,
2517
2504
  shouldReceiveBuilderProps: {
2518
- builderBlock: false,
2519
- builderContext: false,
2520
- builderComponents: false,
2521
2505
  builderLinkComponent: true
2522
2506
  }
2523
2507
  };
@@ -2750,12 +2734,6 @@ var componentInfo3 = {
2750
2734
 
2751
2735
  // src/blocks/fragment/component-info.ts
2752
2736
  var componentInfo4 = {
2753
- shouldReceiveBuilderProps: {
2754
- builderBlock: false,
2755
- builderContext: false,
2756
- builderComponents: false,
2757
- builderLinkComponent: false
2758
- },
2759
2737
  name: "Fragment",
2760
2738
  static: true,
2761
2739
  hidden: true,
@@ -2890,21 +2868,12 @@ var componentInfo5 = {
2890
2868
  defaultValue: 0.7041
2891
2869
  }],
2892
2870
  shouldReceiveBuilderProps: {
2893
- builderBlock: true,
2894
- builderContext: false,
2895
- builderComponents: false,
2896
- builderLinkComponent: false
2871
+ builderBlock: true
2897
2872
  }
2898
2873
  };
2899
2874
 
2900
2875
  // src/blocks/section/component-info.ts
2901
2876
  var componentInfo6 = {
2902
- shouldReceiveBuilderProps: {
2903
- builderBlock: false,
2904
- builderContext: false,
2905
- builderComponents: false,
2906
- builderLinkComponent: false
2907
- },
2908
2877
  name: "Core:Section",
2909
2878
  static: true,
2910
2879
  image: "https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F682efef23ace49afac61748dd305c70a",
@@ -2960,10 +2929,7 @@ var componentInfo7 = {
2960
2929
  defaultValue: "children"
2961
2930
  }],
2962
2931
  shouldReceiveBuilderProps: {
2963
- builderBlock: false,
2964
- builderContext: true,
2965
- builderComponents: false,
2966
- builderLinkComponent: false
2932
+ builderContext: true
2967
2933
  }
2968
2934
  };
2969
2935
  var _tmpl$8 = /* @__PURE__ */ template(`<div>`);
@@ -3282,10 +3248,7 @@ delegateEvents(["click"]);
3282
3248
  // src/blocks/text/component-info.ts
3283
3249
  var componentInfo10 = {
3284
3250
  shouldReceiveBuilderProps: {
3285
- builderBlock: TARGET === "reactNative" ? true : false,
3286
- builderContext: false,
3287
- builderComponents: false,
3288
- builderLinkComponent: false
3251
+ builderBlock: TARGET === "reactNative" ? true : false
3289
3252
  },
3290
3253
  name: "Text",
3291
3254
  static: true,
@@ -3318,12 +3281,6 @@ var text_default = Text;
3318
3281
 
3319
3282
  // src/blocks/custom-code/component-info.ts
3320
3283
  var componentInfo11 = {
3321
- shouldReceiveBuilderProps: {
3322
- builderBlock: false,
3323
- builderContext: false,
3324
- builderComponents: false,
3325
- builderLinkComponent: false
3326
- },
3327
3284
  name: "Custom Code",
3328
3285
  static: true,
3329
3286
  requiredPermissions: ["editCode"],
@@ -3400,12 +3357,6 @@ var custom_code_default = CustomCode;
3400
3357
 
3401
3358
  // src/blocks/embed/component-info.ts
3402
3359
  var componentInfo12 = {
3403
- shouldReceiveBuilderProps: {
3404
- builderBlock: false,
3405
- builderContext: false,
3406
- builderComponents: false,
3407
- builderLinkComponent: false
3408
- },
3409
3360
  name: "Embed",
3410
3361
  static: true,
3411
3362
  inputs: [{
@@ -4031,12 +3982,6 @@ var form_default = FormComponent;
4031
3982
 
4032
3983
  // src/blocks/form/input/component-info.ts
4033
3984
  var componentInfo14 = {
4034
- shouldReceiveBuilderProps: {
4035
- builderBlock: false,
4036
- builderContext: false,
4037
- builderComponents: false,
4038
- builderLinkComponent: false
4039
- },
4040
3985
  name: "Form:Input",
4041
3986
  image: "https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Fad6f37889d9e40bbbbc72cdb5875d6ca",
4042
3987
  inputs: [
@@ -4122,12 +4067,6 @@ var input_default = FormInputComponent;
4122
4067
 
4123
4068
  // src/blocks/form/select/component-info.ts
4124
4069
  var componentInfo15 = {
4125
- shouldReceiveBuilderProps: {
4126
- builderBlock: false,
4127
- builderContext: false,
4128
- builderComponents: false,
4129
- builderLinkComponent: false
4130
- },
4131
4070
  name: "Form:Select",
4132
4071
  image: "https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F83acca093fb24aaf94dee136e9a4b045",
4133
4072
  defaultStyles: {
@@ -4214,12 +4153,6 @@ var select_default = SelectComponent;
4214
4153
 
4215
4154
  // src/blocks/form/submit-button/component-info.ts
4216
4155
  var componentInfo16 = {
4217
- shouldReceiveBuilderProps: {
4218
- builderBlock: false,
4219
- builderContext: false,
4220
- builderComponents: false,
4221
- builderLinkComponent: false
4222
- },
4223
4156
  name: "Form:SubmitButton",
4224
4157
  image: "https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Fdf2820ffed1f4349a94c40b3221f5b98",
4225
4158
  defaultStyles: {
@@ -4258,12 +4191,6 @@ var submit_button_default = SubmitButton;
4258
4191
 
4259
4192
  // src/blocks/form/textarea/component-info.ts
4260
4193
  var componentInfo17 = {
4261
- shouldReceiveBuilderProps: {
4262
- builderBlock: false,
4263
- builderContext: false,
4264
- builderComponents: false,
4265
- builderLinkComponent: false
4266
- },
4267
4194
  name: "Form:TextArea",
4268
4195
  image: "https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Ff74a2f3de58c4c3e939204e5b6b8f6c3",
4269
4196
  inputs: [{
@@ -4328,12 +4255,6 @@ var textarea_default = Textarea;
4328
4255
 
4329
4256
  // src/blocks/img/component-info.ts
4330
4257
  var componentInfo18 = {
4331
- shouldReceiveBuilderProps: {
4332
- builderBlock: false,
4333
- builderContext: false,
4334
- builderComponents: false,
4335
- builderLinkComponent: false
4336
- },
4337
4258
  // friendlyName?
4338
4259
  name: "Raw:Img",
4339
4260
  hideFromInsertMenu: true,
@@ -4457,10 +4378,7 @@ var componentInfo19 = {
4457
4378
  advanced: true
4458
4379
  }],
4459
4380
  shouldReceiveBuilderProps: {
4460
- builderBlock: true,
4461
- builderContext: false,
4462
- builderComponents: false,
4463
- builderLinkComponent: false
4381
+ builderBlock: true
4464
4382
  }
4465
4383
  };
4466
4384
  var _tmpl$19 = /* @__PURE__ */ template(`<source type=video/mp4>`);
@@ -4716,13 +4634,15 @@ function InlinedScript(props) {
4716
4634
  return (() => {
4717
4635
  const _el$ = _tmpl$20();
4718
4636
  effect((_p$) => {
4719
- const _v$ = props.scriptStr, _v$2 = props.id;
4637
+ const _v$ = props.scriptStr, _v$2 = props.id, _v$3 = props.nonce || "";
4720
4638
  _v$ !== _p$._v$ && (_el$.innerHTML = _p$._v$ = _v$);
4721
4639
  _v$2 !== _p$._v$2 && setAttribute(_el$, "data-id", _p$._v$2 = _v$2);
4640
+ _v$3 !== _p$._v$3 && setAttribute(_el$, "nonce", _p$._v$3 = _v$3);
4722
4641
  return _p$;
4723
4642
  }, {
4724
4643
  _v$: void 0,
4725
- _v$2: void 0
4644
+ _v$2: void 0,
4645
+ _v$3: void 0
4726
4646
  });
4727
4647
  return _el$;
4728
4648
  })();
@@ -5228,7 +5148,7 @@ function isFromTrustedHost(trustedHosts, e) {
5228
5148
  }
5229
5149
 
5230
5150
  // src/constants/sdk-version.ts
5231
- var SDK_VERSION = "1.1.2";
5151
+ var SDK_VERSION = "2.0.1";
5232
5152
 
5233
5153
  // src/functions/register.ts
5234
5154
  var registry = {};
@@ -5811,6 +5731,9 @@ ${getDefaultStyles(props.isNestedRender)}
5811
5731
  id: "builderio-content",
5812
5732
  get styles() {
5813
5733
  return injectedStyles();
5734
+ },
5735
+ get nonce() {
5736
+ return props.nonce;
5814
5737
  }
5815
5738
  });
5816
5739
  }
@@ -5895,7 +5818,8 @@ function ContentComponent(props) {
5895
5818
  }), {}),
5896
5819
  inheritedStyles: {},
5897
5820
  BlocksWrapper: props.blocksWrapper || "div",
5898
- BlocksWrapperProps: props.blocksWrapperProps || {}
5821
+ BlocksWrapperProps: props.blocksWrapperProps || {},
5822
+ nonce: props.nonce || ""
5899
5823
  });
5900
5824
  function contentSetState(newRootState) {
5901
5825
  setBuilderContextSignal((PREVIOUS_VALUE) => ({
@@ -5911,6 +5835,9 @@ function ContentComponent(props) {
5911
5835
  },
5912
5836
  get children() {
5913
5837
  return createComponent(enable_editor_default, mergeProps({
5838
+ get nonce() {
5839
+ return props.nonce;
5840
+ },
5914
5841
  get content() {
5915
5842
  return props.content;
5916
5843
  },
@@ -5963,6 +5890,9 @@ function ContentComponent(props) {
5963
5890
  id: "builderio-variant-visibility",
5964
5891
  get scriptStr() {
5965
5892
  return scriptStr();
5893
+ },
5894
+ get nonce() {
5895
+ return props.nonce || "";
5966
5896
  }
5967
5897
  });
5968
5898
  }
@@ -5970,6 +5900,9 @@ function ContentComponent(props) {
5970
5900
  when: TARGET !== "reactNative",
5971
5901
  get children() {
5972
5902
  return createComponent(styles_default, {
5903
+ get nonce() {
5904
+ return props.nonce || "";
5905
+ },
5973
5906
  get isNestedRender() {
5974
5907
  return props.isNestedRender;
5975
5908
  },
@@ -6041,6 +5974,9 @@ function ContentVariants(props) {
6041
5974
  id: "builderio-init-variants-fns",
6042
5975
  get scriptStr() {
6043
5976
  return getInitVariantsFnsScriptString();
5977
+ },
5978
+ get nonce() {
5979
+ return props.nonce || "";
6044
5980
  }
6045
5981
  });
6046
5982
  }
@@ -6053,11 +5989,17 @@ function ContentVariants(props) {
6053
5989
  id: "builderio-variants",
6054
5990
  get styles() {
6055
5991
  return hideVariantsStyleString();
5992
+ },
5993
+ get nonce() {
5994
+ return props.nonce || "";
6056
5995
  }
6057
5996
  }), createComponent(inlined_script_default, {
6058
5997
  id: "builderio-variants-visibility",
6059
5998
  get scriptStr() {
6060
5999
  return updateCookieAndStylesScriptStr();
6000
+ },
6001
+ get nonce() {
6002
+ return props.nonce || "";
6061
6003
  }
6062
6004
  }), createComponent(For, {
6063
6005
  get each() {
@@ -6072,6 +6014,9 @@ function ContentVariants(props) {
6072
6014
  get key() {
6073
6015
  return variant.testVariationId;
6074
6016
  },
6017
+ get nonce() {
6018
+ return props.nonce;
6019
+ },
6075
6020
  content: variant,
6076
6021
  showContent: false,
6077
6022
  get model() {
@@ -6127,6 +6072,9 @@ function ContentVariants(props) {
6127
6072
  })];
6128
6073
  }
6129
6074
  }), createComponent(content_default, mergeProps({
6075
+ get nonce() {
6076
+ return props.nonce;
6077
+ },
6130
6078
  get isNestedRender() {
6131
6079
  return props.isNestedRender;
6132
6080
  }
@@ -6251,6 +6199,9 @@ function Symbol(props) {
6251
6199
  }
6252
6200
  }, {}, () => props.attributes, {}), false, true);
6253
6201
  insert(_el$, createComponent(content_variants_default, {
6202
+ get nonce() {
6203
+ return props.builderContext.nonce;
6204
+ },
6254
6205
  isNestedRender: true,
6255
6206
  get apiVersion() {
6256
6207
  return props.builderContext.apiVersion;