@builder.io/sdk-svelte 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.
Files changed (141) hide show
  1. package/lib/browser/blocks/button/component-info.js +0 -3
  2. package/lib/browser/blocks/columns/columns.svelte +8 -3
  3. package/lib/browser/blocks/custom-code/component-info.js +0 -6
  4. package/lib/browser/blocks/embed/component-info.js +0 -6
  5. package/lib/browser/blocks/form/input/component-info.js +0 -6
  6. package/lib/browser/blocks/form/select/component-info.js +0 -6
  7. package/lib/browser/blocks/form/submit-button/component-info.js +0 -6
  8. package/lib/browser/blocks/form/textarea/component-info.js +0 -6
  9. package/lib/browser/blocks/fragment/component-info.js +0 -6
  10. package/lib/browser/blocks/image/component-info.js +1 -4
  11. package/lib/browser/blocks/img/component-info.js +0 -6
  12. package/lib/browser/blocks/raw-text/component-info.js +0 -6
  13. package/lib/browser/blocks/section/component-info.js +0 -6
  14. package/lib/browser/blocks/slot/component-info.js +1 -4
  15. package/lib/browser/blocks/symbol/symbol.svelte +1 -0
  16. package/lib/browser/blocks/text/component-info.js +1 -4
  17. package/lib/browser/blocks/video/component-info.js +1 -4
  18. package/lib/browser/components/block/block.helpers.d.ts +8 -8
  19. package/lib/browser/components/block/block.helpers.js +20 -43
  20. package/lib/browser/components/block/components/block-styles.svelte +1 -1
  21. package/lib/browser/components/content/components/styles.svelte +2 -1
  22. package/lib/browser/components/content/components/styles.svelte.d.ts +3 -1
  23. package/lib/browser/components/content/content.svelte +9 -1
  24. package/lib/browser/components/content/content.svelte.d.ts +1 -0
  25. package/lib/browser/components/content-variants/content-variants.svelte +10 -1
  26. package/lib/browser/components/content-variants/content-variants.svelte.d.ts +1 -0
  27. package/lib/browser/components/content-variants/content-variants.types.d.ts +4 -0
  28. package/lib/browser/components/inlined-script.svelte +2 -1
  29. package/lib/browser/components/inlined-script.svelte.d.ts +3 -1
  30. package/lib/browser/components/inlined-styles.svelte +2 -1
  31. package/lib/browser/components/inlined-styles.svelte.d.ts +3 -1
  32. package/lib/browser/constants/sdk-version.d.ts +1 -1
  33. package/lib/browser/constants/sdk-version.js +1 -1
  34. package/lib/browser/context/builder.context.d.ts +1 -0
  35. package/lib/browser/context/builder.context.js +1 -0
  36. package/lib/browser/context/types.d.ts +1 -0
  37. package/lib/browser/types/builder-props.d.ts +3 -0
  38. package/lib/edge/blocks/button/component-info.js +0 -3
  39. package/lib/edge/blocks/columns/columns.svelte +8 -3
  40. package/lib/edge/blocks/custom-code/component-info.js +0 -6
  41. package/lib/edge/blocks/embed/component-info.js +0 -6
  42. package/lib/edge/blocks/form/input/component-info.js +0 -6
  43. package/lib/edge/blocks/form/select/component-info.js +0 -6
  44. package/lib/edge/blocks/form/submit-button/component-info.js +0 -6
  45. package/lib/edge/blocks/form/textarea/component-info.js +0 -6
  46. package/lib/edge/blocks/fragment/component-info.js +0 -6
  47. package/lib/edge/blocks/image/component-info.js +1 -4
  48. package/lib/edge/blocks/img/component-info.js +0 -6
  49. package/lib/edge/blocks/raw-text/component-info.js +0 -6
  50. package/lib/edge/blocks/section/component-info.js +0 -6
  51. package/lib/edge/blocks/slot/component-info.js +1 -4
  52. package/lib/edge/blocks/symbol/symbol.svelte +1 -0
  53. package/lib/edge/blocks/text/component-info.js +1 -4
  54. package/lib/edge/blocks/video/component-info.js +1 -4
  55. package/lib/edge/components/block/block.helpers.d.ts +8 -8
  56. package/lib/edge/components/block/block.helpers.js +20 -43
  57. package/lib/edge/components/block/components/block-styles.svelte +1 -1
  58. package/lib/edge/components/content/components/styles.svelte +2 -1
  59. package/lib/edge/components/content/components/styles.svelte.d.ts +3 -1
  60. package/lib/edge/components/content/content.svelte +9 -1
  61. package/lib/edge/components/content/content.svelte.d.ts +1 -0
  62. package/lib/edge/components/content-variants/content-variants.svelte +10 -1
  63. package/lib/edge/components/content-variants/content-variants.svelte.d.ts +1 -0
  64. package/lib/edge/components/content-variants/content-variants.types.d.ts +4 -0
  65. package/lib/edge/components/inlined-script.svelte +2 -1
  66. package/lib/edge/components/inlined-script.svelte.d.ts +3 -1
  67. package/lib/edge/components/inlined-styles.svelte +2 -1
  68. package/lib/edge/components/inlined-styles.svelte.d.ts +3 -1
  69. package/lib/edge/constants/sdk-version.d.ts +1 -1
  70. package/lib/edge/constants/sdk-version.js +1 -1
  71. package/lib/edge/context/builder.context.d.ts +1 -0
  72. package/lib/edge/context/builder.context.js +1 -0
  73. package/lib/edge/context/types.d.ts +1 -0
  74. package/lib/edge/types/builder-props.d.ts +3 -0
  75. package/lib/node/blocks/button/component-info.js +0 -3
  76. package/lib/node/blocks/columns/columns.svelte +8 -3
  77. package/lib/node/blocks/custom-code/component-info.js +0 -6
  78. package/lib/node/blocks/embed/component-info.js +0 -6
  79. package/lib/node/blocks/form/input/component-info.js +0 -6
  80. package/lib/node/blocks/form/select/component-info.js +0 -6
  81. package/lib/node/blocks/form/submit-button/component-info.js +0 -6
  82. package/lib/node/blocks/form/textarea/component-info.js +0 -6
  83. package/lib/node/blocks/fragment/component-info.js +0 -6
  84. package/lib/node/blocks/image/component-info.js +1 -4
  85. package/lib/node/blocks/img/component-info.js +0 -6
  86. package/lib/node/blocks/raw-text/component-info.js +0 -6
  87. package/lib/node/blocks/section/component-info.js +0 -6
  88. package/lib/node/blocks/slot/component-info.js +1 -4
  89. package/lib/node/blocks/symbol/symbol.svelte +1 -0
  90. package/lib/node/blocks/text/component-info.js +1 -4
  91. package/lib/node/blocks/video/component-info.js +1 -4
  92. package/lib/node/components/block/block.helpers.d.ts +8 -8
  93. package/lib/node/components/block/block.helpers.js +20 -43
  94. package/lib/node/components/block/components/block-styles.svelte +1 -1
  95. package/lib/node/components/content/components/styles.svelte +2 -1
  96. package/lib/node/components/content/components/styles.svelte.d.ts +3 -1
  97. package/lib/node/components/content/content.svelte +9 -1
  98. package/lib/node/components/content/content.svelte.d.ts +1 -0
  99. package/lib/node/components/content-variants/content-variants.svelte +10 -1
  100. package/lib/node/components/content-variants/content-variants.svelte.d.ts +1 -0
  101. package/lib/node/components/content-variants/content-variants.types.d.ts +4 -0
  102. package/lib/node/components/inlined-script.svelte +2 -1
  103. package/lib/node/components/inlined-script.svelte.d.ts +3 -1
  104. package/lib/node/components/inlined-styles.svelte +2 -1
  105. package/lib/node/components/inlined-styles.svelte.d.ts +3 -1
  106. package/lib/node/constants/sdk-version.d.ts +1 -1
  107. package/lib/node/constants/sdk-version.js +1 -1
  108. package/lib/node/context/builder.context.d.ts +1 -0
  109. package/lib/node/context/builder.context.js +1 -0
  110. package/lib/node/context/types.d.ts +1 -0
  111. package/lib/node/types/builder-props.d.ts +3 -0
  112. package/package.json +1 -1
  113. package/src/blocks/button/component-info.ts +0 -3
  114. package/src/blocks/columns/columns.svelte +8 -3
  115. package/src/blocks/custom-code/component-info.ts +0 -6
  116. package/src/blocks/embed/component-info.ts +0 -6
  117. package/src/blocks/form/input/component-info.ts +0 -6
  118. package/src/blocks/form/select/component-info.ts +0 -6
  119. package/src/blocks/form/submit-button/component-info.ts +0 -6
  120. package/src/blocks/form/textarea/component-info.ts +0 -6
  121. package/src/blocks/fragment/component-info.ts +0 -6
  122. package/src/blocks/image/component-info.ts +1 -4
  123. package/src/blocks/img/component-info.ts +0 -6
  124. package/src/blocks/raw-text/component-info.ts +0 -6
  125. package/src/blocks/section/component-info.ts +0 -6
  126. package/src/blocks/slot/component-info.ts +1 -4
  127. package/src/blocks/symbol/symbol.svelte +1 -0
  128. package/src/blocks/text/component-info.ts +1 -4
  129. package/src/blocks/video/component-info.ts +1 -4
  130. package/src/components/block/block.helpers.ts +8 -28
  131. package/src/components/block/components/block-styles.svelte +1 -1
  132. package/src/components/content/components/styles.svelte +4 -2
  133. package/src/components/content/content.svelte +9 -1
  134. package/src/components/content-variants/content-variants.svelte +10 -1
  135. package/src/components/content-variants/content-variants.types.ts +5 -0
  136. package/src/components/inlined-script.svelte +5 -2
  137. package/src/components/inlined-styles.svelte +5 -2
  138. package/src/constants/sdk-version.ts +1 -1
  139. package/src/context/builder.context.ts +1 -0
  140. package/src/context/types.ts +1 -0
  141. package/src/types/builder-props.ts +3 -0
@@ -32,9 +32,6 @@ export const componentInfo = {
32
32
  static: true,
33
33
  noWrap: true,
34
34
  shouldReceiveBuilderProps: {
35
- builderBlock: false,
36
- builderContext: false,
37
- builderComponents: false,
38
35
  builderLinkComponent: true
39
36
  }
40
37
  };
@@ -35,8 +35,9 @@ function getWidth(index) {
35
35
  return cols[index]?.width || 100 / cols.length;
36
36
  }
37
37
  function getColumnCssWidth(index) {
38
- const subtractWidth = (gutterSize * (cols.length - 1)) / cols.length;
39
- return `calc(${getWidth(index)}% - ${subtractWidth}px)`;
38
+ const width = getWidth(index);
39
+ const subtractWidth = gutterSize * (cols.length - 1) * (width / 100);
40
+ return `calc(${width}% - ${subtractWidth}px)`;
40
41
  }
41
42
  function getTabletStyle({ stackedStyle, desktopStyle, }) {
42
43
  return stackAt === "tablet" ? stackedStyle : desktopStyle;
@@ -146,7 +147,11 @@ let flexDir = stackColumnsAt === "never"
146
147
  {...{}}
147
148
  >
148
149
  {#if TARGET !== "reactNative"}
149
- <InlinedStyles id="builderio-columns" styles={columnsStyles()} />
150
+ <InlinedStyles
151
+ id="builderio-columns"
152
+ styles={columnsStyles()}
153
+ nonce={$builderContext.nonce}
154
+ />
150
155
  {/if}
151
156
  {#each columns as column, index (index)}
152
157
  <DynamicRenderer
@@ -1,10 +1,4 @@
1
1
  export const componentInfo = {
2
- shouldReceiveBuilderProps: {
3
- builderBlock: false,
4
- builderContext: false,
5
- builderComponents: false,
6
- builderLinkComponent: false
7
- },
8
2
  name: 'Custom Code',
9
3
  static: true,
10
4
  requiredPermissions: ['editCode'],
@@ -1,10 +1,4 @@
1
1
  export const componentInfo = {
2
- shouldReceiveBuilderProps: {
3
- builderBlock: false,
4
- builderContext: false,
5
- builderComponents: false,
6
- builderLinkComponent: false
7
- },
8
2
  name: 'Embed',
9
3
  static: true,
10
4
  inputs: [{
@@ -1,10 +1,4 @@
1
1
  export const componentInfo = {
2
- shouldReceiveBuilderProps: {
3
- builderBlock: false,
4
- builderContext: false,
5
- builderComponents: false,
6
- builderLinkComponent: false
7
- },
8
2
  name: 'Form:Input',
9
3
  image: 'https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Fad6f37889d9e40bbbbc72cdb5875d6ca',
10
4
  inputs: [{
@@ -1,10 +1,4 @@
1
1
  export const componentInfo = {
2
- shouldReceiveBuilderProps: {
3
- builderBlock: false,
4
- builderContext: false,
5
- builderComponents: false,
6
- builderLinkComponent: false
7
- },
8
2
  name: 'Form:Select',
9
3
  image: 'https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F83acca093fb24aaf94dee136e9a4b045',
10
4
  defaultStyles: {
@@ -1,10 +1,4 @@
1
1
  export const componentInfo = {
2
- shouldReceiveBuilderProps: {
3
- builderBlock: false,
4
- builderContext: false,
5
- builderComponents: false,
6
- builderLinkComponent: false
7
- },
8
2
  name: 'Form:SubmitButton',
9
3
  image: 'https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Fdf2820ffed1f4349a94c40b3221f5b98',
10
4
  defaultStyles: {
@@ -1,10 +1,4 @@
1
1
  export const componentInfo = {
2
- shouldReceiveBuilderProps: {
3
- builderBlock: false,
4
- builderContext: false,
5
- builderComponents: false,
6
- builderLinkComponent: false
7
- },
8
2
  name: 'Form:TextArea',
9
3
  image: 'https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Ff74a2f3de58c4c3e939204e5b6b8f6c3',
10
4
  inputs: [{
@@ -1,10 +1,4 @@
1
1
  export const componentInfo = {
2
- shouldReceiveBuilderProps: {
3
- builderBlock: false,
4
- builderContext: false,
5
- builderComponents: false,
6
- builderLinkComponent: false
7
- },
8
2
  name: 'Fragment',
9
3
  static: true,
10
4
  hidden: true,
@@ -125,9 +125,6 @@ export const componentInfo = {
125
125
  defaultValue: 0.7041
126
126
  }],
127
127
  shouldReceiveBuilderProps: {
128
- builderBlock: true,
129
- builderContext: false,
130
- builderComponents: false,
131
- builderLinkComponent: false
128
+ builderBlock: true
132
129
  }
133
130
  };
@@ -1,10 +1,4 @@
1
1
  export const componentInfo = {
2
- shouldReceiveBuilderProps: {
3
- builderBlock: false,
4
- builderContext: false,
5
- builderComponents: false,
6
- builderLinkComponent: false
7
- },
8
2
  // friendlyName?
9
3
  name: 'Raw:Img',
10
4
  hideFromInsertMenu: true,
@@ -1,10 +1,4 @@
1
1
  export const componentInfo = {
2
- shouldReceiveBuilderProps: {
3
- builderBlock: false,
4
- builderContext: false,
5
- builderComponents: false,
6
- builderLinkComponent: false
7
- },
8
2
  name: 'Builder:RawText',
9
3
  hideFromInsertMenu: true,
10
4
  inputs: [{
@@ -1,10 +1,4 @@
1
1
  export const componentInfo = {
2
- shouldReceiveBuilderProps: {
3
- builderBlock: false,
4
- builderContext: false,
5
- builderComponents: false,
6
- builderLinkComponent: false
7
- },
8
2
  name: 'Core:Section',
9
3
  static: true,
10
4
  image: 'https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F682efef23ace49afac61748dd305c70a',
@@ -12,9 +12,6 @@ export const componentInfo = {
12
12
  defaultValue: 'children'
13
13
  }],
14
14
  shouldReceiveBuilderProps: {
15
- builderBlock: false,
16
- builderContext: true,
17
- builderComponents: false,
18
- builderLinkComponent: false
15
+ builderContext: true
19
16
  }
20
17
  };
@@ -57,6 +57,7 @@ $: onUpdateFn_0(...[symbol]);
57
57
  use:setAttrs={filterAttrs(attributes, "on:", true)}
58
58
  >
59
59
  <ContentVariants
60
+ nonce={$builderContext.nonce}
60
61
  isNestedRender={true}
61
62
  apiVersion={$builderContext.apiVersion}
62
63
  apiKey={$builderContext.apiKey}
@@ -1,10 +1,7 @@
1
1
  import { TARGET } from '../../constants/target';
2
2
  export const componentInfo = {
3
3
  shouldReceiveBuilderProps: {
4
- builderBlock: TARGET === 'reactNative' ? true : false,
5
- builderContext: false,
6
- builderComponents: false,
7
- builderLinkComponent: false
4
+ builderBlock: TARGET === 'reactNative' ? true : false
8
5
  },
9
6
  name: 'Text',
10
7
  static: true,
@@ -80,9 +80,6 @@ export const componentInfo = {
80
80
  advanced: true
81
81
  }],
82
82
  shouldReceiveBuilderProps: {
83
- builderBlock: true,
84
- builderContext: false,
85
- builderComponents: false,
86
- builderLinkComponent: false
83
+ builderBlock: true
87
84
  }
88
85
  };
@@ -17,22 +17,22 @@ export declare const getInheritedStyles: ({ block, context }: {
17
17
  context: BuilderContextInterface;
18
18
  }) => Partial<CSSStyleDeclaration>;
19
19
  export declare const provideLinkComponent: (block: RegisteredComponent | null | undefined, linkComponent: any) => {
20
- builderLinkComponent?: undefined;
21
- } | {
22
20
  builderLinkComponent: any;
21
+ } | {
22
+ builderLinkComponent?: undefined;
23
23
  };
24
24
  export declare const provideRegisteredComponents: (block: RegisteredComponent | null | undefined, registeredComponents: RegisteredComponents) => {
25
- builderComponents?: undefined;
26
- } | {
27
25
  builderComponents: RegisteredComponents;
26
+ } | {
27
+ builderComponents?: undefined;
28
28
  };
29
29
  export declare const provideBuilderBlock: (block: RegisteredComponent | null | undefined, builderBlock: BuilderBlock) => {
30
- builderBlock?: undefined;
31
- } | {
32
30
  builderBlock: BuilderBlock;
31
+ } | {
32
+ builderBlock?: undefined;
33
33
  };
34
34
  export declare const provideBuilderContext: (block: RegisteredComponent | null | undefined, context: Writable<BuilderContextInterface>) => {
35
- builderContext?: undefined;
36
- } | {
37
35
  builderContext: Writable<BuilderContextInterface>;
36
+ } | {
37
+ builderContext?: undefined;
38
38
  };
@@ -73,54 +73,31 @@ export const getInheritedStyles = ({ block, context }) => {
73
73
  }
74
74
  return extractTextStyles(style);
75
75
  };
76
- const applyDefaults = (shouldReceiveBuilderProps) => {
77
- return {
78
- // once we bump to a major version, toggle this to `false`.
79
- builderBlock: true,
80
- // once we bump to a major version, toggle this to `false`.
81
- builderContext: true,
82
- builderComponents: false,
83
- builderLinkComponent: false,
84
- ...shouldReceiveBuilderProps
85
- };
86
- };
87
76
  export const provideLinkComponent = (block, linkComponent) => {
88
- if (!block)
89
- return {};
90
- const shouldReceiveProp = applyDefaults(block.shouldReceiveBuilderProps).builderLinkComponent;
91
- if (!shouldReceiveProp)
92
- return {};
93
- return {
94
- builderLinkComponent: linkComponent
95
- };
77
+ if (block?.shouldReceiveBuilderProps?.builderLinkComponent)
78
+ return {
79
+ builderLinkComponent: linkComponent
80
+ };
81
+ return {};
96
82
  };
97
83
  export const provideRegisteredComponents = (block, registeredComponents) => {
98
- if (!block)
99
- return {};
100
- const shouldReceiveProp = applyDefaults(block.shouldReceiveBuilderProps).builderComponents;
101
- if (!shouldReceiveProp)
102
- return {};
103
- return {
104
- builderComponents: registeredComponents
105
- };
84
+ if (block?.shouldReceiveBuilderProps?.builderComponents)
85
+ return {
86
+ builderComponents: registeredComponents
87
+ };
88
+ return {};
106
89
  };
107
90
  export const provideBuilderBlock = (block, builderBlock) => {
108
- if (!block)
109
- return {};
110
- const shouldReceiveProp = applyDefaults(block.shouldReceiveBuilderProps).builderBlock;
111
- if (!shouldReceiveProp)
112
- return {};
113
- return {
114
- builderBlock
115
- };
91
+ if (block?.shouldReceiveBuilderProps?.builderBlock)
92
+ return {
93
+ builderBlock
94
+ };
95
+ return {};
116
96
  };
117
97
  export const provideBuilderContext = (block, context) => {
118
- if (!block)
119
- return {};
120
- const shouldReceiveProp = applyDefaults(block.shouldReceiveBuilderProps).builderContext;
121
- if (!shouldReceiveProp)
122
- return {};
123
- return {
124
- builderContext: context
125
- };
98
+ if (block?.shouldReceiveBuilderProps?.builderContext)
99
+ return {
100
+ builderContext: context
101
+ };
102
+ return {};
126
103
  };
@@ -93,5 +93,5 @@ $: css = () => {
93
93
  </script>
94
94
 
95
95
  {#if TARGET !== "reactNative" && css() && canShowBlock()}
96
- <InlinedStyles id="builderio-block" styles={css()} />
96
+ <InlinedStyles id="builderio-block" styles={css()} nonce={context.nonce} />
97
97
  {/if}
@@ -6,6 +6,7 @@ export let cssCode = undefined;
6
6
  export let contentId = undefined;
7
7
  export let customFonts = undefined;
8
8
  export let isNestedRender = undefined;
9
+ export let nonce;
9
10
  let injectedStyles = `
10
11
  ${getCss({
11
12
  cssCode: cssCode,
@@ -18,4 +19,4 @@ ${getDefaultStyles(isNestedRender)}
18
19
  `.trim();
19
20
  </script>
20
21
 
21
- <InlinedStyles id="builderio-content" styles={injectedStyles} />
22
+ <InlinedStyles id="builderio-content" styles={injectedStyles} {nonce} />
@@ -1,10 +1,11 @@
1
1
  import { SvelteComponent } from "svelte";
2
- interface Props {
2
+ interface Props extends BuilderNonceProp {
3
3
  cssCode?: string;
4
4
  customFonts?: CustomFont[];
5
5
  contentId?: string;
6
6
  isNestedRender?: boolean;
7
7
  }
8
+ import type { BuilderNonceProp } from "../../../types/builder-props";
8
9
  import type { CustomFont } from "./styles.helpers";
9
10
  declare const __propDef: {
10
11
  props: {
@@ -12,6 +13,7 @@ declare const __propDef: {
12
13
  contentId?: Props["contentId"];
13
14
  customFonts?: Props["customFonts"];
14
15
  isNestedRender?: Props["isNestedRender"];
16
+ nonce: Props["nonce"];
15
17
  };
16
18
  events: {
17
19
  [evt: string]: CustomEvent<any>;
@@ -22,6 +22,7 @@ export let apiKey;
22
22
  export let apiVersion = undefined;
23
23
  export let blocksWrapper = undefined;
24
24
  export let blocksWrapperProps = undefined;
25
+ export let nonce = undefined;
25
26
  export let model = undefined;
26
27
  export let enrich = undefined;
27
28
  export let showContent;
@@ -76,6 +77,7 @@ let builderContextSignal = writable({
76
77
  inheritedStyles: {},
77
78
  BlocksWrapper: blocksWrapper || "div",
78
79
  BlocksWrapperProps: blocksWrapperProps || {},
80
+ nonce: nonce || "",
79
81
  });
80
82
  setContext(ComponentsContext.key, {
81
83
  registeredComponents: registeredComponents,
@@ -83,6 +85,7 @@ setContext(ComponentsContext.key, {
83
85
  </script>
84
86
 
85
87
  <EnableEditor
88
+ {nonce}
86
89
  {content}
87
90
  {data}
88
91
  {model}
@@ -99,10 +102,15 @@ setContext(ComponentsContext.key, {
99
102
  {...{}}
100
103
  >
101
104
  {#if isSsrAbTest}
102
- <InlinedScript id="builderio-variant-visibility" {scriptStr} />
105
+ <InlinedScript
106
+ id="builderio-variant-visibility"
107
+ {scriptStr}
108
+ nonce={nonce || ""}
109
+ />
103
110
  {/if}
104
111
  {#if TARGET !== "reactNative"}
105
112
  <ContentStyles
113
+ nonce={nonce || ""}
106
114
  {isNestedRender}
107
115
  contentId={$builderContextSignal.content?.id}
108
116
  cssCode={$builderContextSignal.content?.data?.cssCode}
@@ -12,6 +12,7 @@ declare const __propDef: {
12
12
  apiVersion?: ContentProps["apiVersion"];
13
13
  blocksWrapper?: ContentProps["blocksWrapper"];
14
14
  blocksWrapperProps?: ContentProps["blocksWrapperProps"];
15
+ nonce?: ContentProps["nonce"];
15
16
  model?: ContentProps["model"];
16
17
  enrich?: ContentProps["enrich"];
17
18
  showContent: ContentProps["showContent"];
@@ -11,6 +11,7 @@ import { checkShouldRenderVariants, getInitVariantsFnsScriptString, getUpdateCoo
11
11
  export let canTrack = undefined;
12
12
  export let content = undefined;
13
13
  export let isNestedRender = undefined;
14
+ export let nonce = undefined;
14
15
  export let model = undefined;
15
16
  export let data = undefined;
16
17
  export let context = undefined;
@@ -64,19 +65,26 @@ afterUpdate(() => { });
64
65
  <InlinedScript
65
66
  id="builderio-init-variants-fns"
66
67
  scriptStr={getInitVariantsFnsScriptString()}
68
+ nonce={nonce || ""}
67
69
  />
68
70
  {/if}
69
71
 
70
72
  {#if shouldRenderVariants}
71
- <InlinedStyles id="builderio-variants" styles={hideVariantsStyleString()} />
73
+ <InlinedStyles
74
+ id="builderio-variants"
75
+ styles={hideVariantsStyleString()}
76
+ nonce={nonce || ""}
77
+ />
72
78
  <InlinedScript
73
79
  id="builderio-variants-visibility"
74
80
  scriptStr={updateCookieAndStylesScriptStr()}
81
+ nonce={nonce || ""}
75
82
  />
76
83
 
77
84
  {#each getVariants(content) as variant (variant.testVariationId)}
78
85
  <ContentComponent
79
86
  {isNestedRender}
87
+ {nonce}
80
88
  content={variant}
81
89
  showContent={false}
82
90
  {model}
@@ -99,6 +107,7 @@ afterUpdate(() => { });
99
107
  {/each}
100
108
  {/if}
101
109
  <ContentComponent
110
+ {nonce}
102
111
  {isNestedRender}
103
112
  {...{}}
104
113
  content={defaultContent()}
@@ -11,6 +11,7 @@ declare const __propDef: {
11
11
  canTrack?: VariantsProviderProps["canTrack"];
12
12
  content?: VariantsProviderProps["content"];
13
13
  isNestedRender?: VariantsProviderProps["isNestedRender"];
14
+ nonce?: VariantsProviderProps["nonce"];
14
15
  model?: VariantsProviderProps["model"];
15
16
  data?: VariantsProviderProps["data"];
16
17
  context?: VariantsProviderProps["context"];
@@ -68,4 +68,8 @@ export interface ContentVariantsPrps {
68
68
  * List of hosts to allow editing content from.
69
69
  */
70
70
  trustedHosts?: string[];
71
+ /**
72
+ * A CSP nonce to use for the SDK's inlined `<script>` and `<style>` tags.
73
+ */
74
+ nonce?: string;
71
75
  }
@@ -2,6 +2,7 @@
2
2
 
3
3
  <script>export let scriptStr;
4
4
  export let id;
5
+ export let nonce;
5
6
  </script>
6
7
 
7
- {@html `<script data-id=${id}>${scriptStr}</script>`}
8
+ {@html `<script data-id=${id} nonce=${nonce || ""}>${scriptStr}</script>`}
@@ -1,12 +1,14 @@
1
1
  import { SvelteComponent } from "svelte";
2
- interface Props {
2
+ interface Props extends BuilderNonceProp {
3
3
  scriptStr: string;
4
4
  id: string;
5
5
  }
6
+ import type { BuilderNonceProp } from "../types/builder-props";
6
7
  declare const __propDef: {
7
8
  props: {
8
9
  scriptStr: Props["scriptStr"];
9
10
  id: Props["id"];
11
+ nonce: Props["nonce"];
10
12
  };
11
13
  events: {
12
14
  [evt: string]: CustomEvent<any>;
@@ -2,6 +2,7 @@
2
2
 
3
3
  <script>export let styles;
4
4
  export let id;
5
+ export let nonce;
5
6
  </script>
6
7
 
7
- {@html `<${"style"} data-id=${id} >${styles}<${"/style"}>`}
8
+ {@html `<${"style"} data-id=${id} nonce=${nonce} >${styles}<${"/style"}>`}
@@ -1,12 +1,14 @@
1
1
  import { SvelteComponent } from "svelte";
2
- interface Props {
2
+ interface Props extends BuilderNonceProp {
3
3
  styles: string;
4
4
  id: string;
5
5
  }
6
+ import type { BuilderNonceProp } from "../types/builder-props";
6
7
  declare const __propDef: {
7
8
  props: {
8
9
  styles: Props["styles"];
9
10
  id: Props["id"];
11
+ nonce: Props["nonce"];
10
12
  };
11
13
  events: {
12
14
  [evt: string]: CustomEvent<any>;
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "1.1.2";
1
+ export declare const SDK_VERSION = "2.0.1";
@@ -1 +1 @@
1
- export const SDK_VERSION = "1.1.2";
1
+ export const SDK_VERSION = "2.0.1";
@@ -12,6 +12,7 @@ declare const _default: {
12
12
  inheritedStyles: {};
13
13
  BlocksWrapper: string;
14
14
  BlocksWrapperProps: {};
15
+ nonce: string;
15
16
  }>;
16
17
  key: symbol;
17
18
  };
@@ -13,6 +13,7 @@ export default {
13
13
  inheritedStyles: {},
14
14
  BlocksWrapper: "div",
15
15
  BlocksWrapperProps: {},
16
+ nonce: "",
16
17
  }),
17
18
  key,
18
19
  };
@@ -33,5 +33,6 @@ export interface BuilderContextInterface extends Pick<BlocksWrapperProps, 'Block
33
33
  apiVersion: ApiVersion | undefined;
34
34
  componentInfos: Dictionary<ComponentInfo>;
35
35
  inheritedStyles: Record<string, unknown>;
36
+ nonce: string;
36
37
  canTrack?: boolean;
37
38
  }
@@ -12,3 +12,6 @@ export type BuilderComponentsProp = {
12
12
  export type BuilderLinkComponentProp = {
13
13
  builderLinkComponent?: any;
14
14
  };
15
+ export type BuilderNonceProp = {
16
+ nonce: string;
17
+ };
@@ -32,9 +32,6 @@ export const componentInfo = {
32
32
  static: true,
33
33
  noWrap: true,
34
34
  shouldReceiveBuilderProps: {
35
- builderBlock: false,
36
- builderContext: false,
37
- builderComponents: false,
38
35
  builderLinkComponent: true
39
36
  }
40
37
  };
@@ -35,8 +35,9 @@ function getWidth(index) {
35
35
  return cols[index]?.width || 100 / cols.length;
36
36
  }
37
37
  function getColumnCssWidth(index) {
38
- const subtractWidth = (gutterSize * (cols.length - 1)) / cols.length;
39
- return `calc(${getWidth(index)}% - ${subtractWidth}px)`;
38
+ const width = getWidth(index);
39
+ const subtractWidth = gutterSize * (cols.length - 1) * (width / 100);
40
+ return `calc(${width}% - ${subtractWidth}px)`;
40
41
  }
41
42
  function getTabletStyle({ stackedStyle, desktopStyle, }) {
42
43
  return stackAt === "tablet" ? stackedStyle : desktopStyle;
@@ -146,7 +147,11 @@ let flexDir = stackColumnsAt === "never"
146
147
  {...{}}
147
148
  >
148
149
  {#if TARGET !== "reactNative"}
149
- <InlinedStyles id="builderio-columns" styles={columnsStyles()} />
150
+ <InlinedStyles
151
+ id="builderio-columns"
152
+ styles={columnsStyles()}
153
+ nonce={$builderContext.nonce}
154
+ />
150
155
  {/if}
151
156
  {#each columns as column, index (index)}
152
157
  <DynamicRenderer
@@ -1,10 +1,4 @@
1
1
  export const componentInfo = {
2
- shouldReceiveBuilderProps: {
3
- builderBlock: false,
4
- builderContext: false,
5
- builderComponents: false,
6
- builderLinkComponent: false
7
- },
8
2
  name: 'Custom Code',
9
3
  static: true,
10
4
  requiredPermissions: ['editCode'],
@@ -1,10 +1,4 @@
1
1
  export const componentInfo = {
2
- shouldReceiveBuilderProps: {
3
- builderBlock: false,
4
- builderContext: false,
5
- builderComponents: false,
6
- builderLinkComponent: false
7
- },
8
2
  name: 'Embed',
9
3
  static: true,
10
4
  inputs: [{
@@ -1,10 +1,4 @@
1
1
  export const componentInfo = {
2
- shouldReceiveBuilderProps: {
3
- builderBlock: false,
4
- builderContext: false,
5
- builderComponents: false,
6
- builderLinkComponent: false
7
- },
8
2
  name: 'Form:Input',
9
3
  image: 'https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Fad6f37889d9e40bbbbc72cdb5875d6ca',
10
4
  inputs: [{