@builder.io/sdk-react 0.2.3-4 → 0.2.3

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 (261) hide show
  1. package/dist/sdk/blocks/columns/columns.js +4 -4
  2. package/dist/sdk/blocks/image/image.js +8 -7
  3. package/dist/sdk/blocks/symbol/symbol.js +2 -1
  4. package/dist/sdk/blocks/video/video.js +4 -1
  5. package/dist/sdk/components/render-block/render-block.js +4 -1
  6. package/dist/sdk/components/render-content/render-content.js +19 -5
  7. package/dist/sdk/index.d.ts +1 -0
  8. package/package.json +4 -1
  9. package/CHANGELOG.md +0 -25
  10. package/packages/react/src/blocks/BaseText.tsx +0 -19
  11. package/packages/react/src/blocks/button/button.tsx +0 -45
  12. package/packages/react/src/blocks/button/component-info.ts +0 -42
  13. package/packages/react/src/blocks/columns/columns.tsx +0 -211
  14. package/packages/react/src/blocks/columns/component-info.ts +0 -254
  15. package/packages/react/src/blocks/custom-code/component-info.ts +0 -31
  16. package/packages/react/src/blocks/custom-code/custom-code.tsx +0 -76
  17. package/packages/react/src/blocks/embed/component-info.ts +0 -55
  18. package/packages/react/src/blocks/embed/embed.tsx +0 -59
  19. package/packages/react/src/blocks/embed/helpers.ts +0 -8
  20. package/packages/react/src/blocks/form/component-info.ts +0 -282
  21. package/packages/react/src/blocks/form/form.tsx +0 -320
  22. package/packages/react/src/blocks/fragment/component-info.ts +0 -10
  23. package/packages/react/src/blocks/fragment/fragment.tsx +0 -14
  24. package/packages/react/src/blocks/image/component-info.ts +0 -172
  25. package/packages/react/src/blocks/image/image.helpers.ts +0 -75
  26. package/packages/react/src/blocks/image/image.tsx +0 -144
  27. package/packages/react/src/blocks/img/component-info.ts +0 -21
  28. package/packages/react/src/blocks/img/img.tsx +0 -40
  29. package/packages/react/src/blocks/input/component-info.ts +0 -78
  30. package/packages/react/src/blocks/input/input.tsx +0 -33
  31. package/packages/react/src/blocks/raw-text/component-info.ts +0 -15
  32. package/packages/react/src/blocks/raw-text/raw-text.tsx +0 -18
  33. package/packages/react/src/blocks/section/component-info.ts +0 -50
  34. package/packages/react/src/blocks/section/section.tsx +0 -33
  35. package/packages/react/src/blocks/select/component-info.ts +0 -61
  36. package/packages/react/src/blocks/select/select.tsx +0 -35
  37. package/packages/react/src/blocks/submit-button/component-info.ts +0 -32
  38. package/packages/react/src/blocks/submit-button/submit-button.tsx +0 -17
  39. package/packages/react/src/blocks/symbol/component-info.ts +0 -43
  40. package/packages/react/src/blocks/symbol/symbol.tsx +0 -111
  41. package/packages/react/src/blocks/text/component-info.ts +0 -24
  42. package/packages/react/src/blocks/text/text.tsx +0 -20
  43. package/packages/react/src/blocks/textarea/component-info.ts +0 -48
  44. package/packages/react/src/blocks/textarea/textarea.tsx +0 -24
  45. package/packages/react/src/blocks/util.ts +0 -18
  46. package/packages/react/src/blocks/video/component-info.ts +0 -109
  47. package/packages/react/src/blocks/video/video.tsx +0 -84
  48. package/packages/react/src/components/render-block/block-styles.tsx +0 -98
  49. package/packages/react/src/components/render-block/render-block.helpers.ts +0 -138
  50. package/packages/react/src/components/render-block/render-block.tsx +0 -216
  51. package/packages/react/src/components/render-block/render-component.tsx +0 -52
  52. package/packages/react/src/components/render-block/render-repeated-block.tsx +0 -43
  53. package/packages/react/src/components/render-block/types.ts +0 -7
  54. package/packages/react/src/components/render-blocks.tsx +0 -97
  55. package/packages/react/src/components/render-content/builder-editing.tsx +0 -8
  56. package/packages/react/src/components/render-content/components/render-styles.helpers.ts +0 -79
  57. package/packages/react/src/components/render-content/components/render-styles.tsx +0 -45
  58. package/packages/react/src/components/render-content/index.ts +0 -1
  59. package/packages/react/src/components/render-content/render-content.helpers.ts +0 -48
  60. package/packages/react/src/components/render-content/render-content.tsx +0 -410
  61. package/packages/react/src/components/render-content/render-content.types.ts +0 -33
  62. package/packages/react/src/components/render-inlined-styles.tsx +0 -36
  63. package/packages/react/src/constants/builder-registered-components.ts +0 -42
  64. package/packages/react/src/constants/device-sizes.ts +0 -65
  65. package/packages/react/src/constants/target.ts +0 -2
  66. package/packages/react/src/context/builder.context.ts +0 -12
  67. package/packages/react/src/context/types.ts +0 -26
  68. package/packages/react/src/functions/camel-to-kebab-case.ts +0 -2
  69. package/packages/react/src/functions/evaluate.ts +0 -57
  70. package/packages/react/src/functions/event-handler-name.ts +0 -6
  71. package/packages/react/src/functions/extract-text-styles.ts +0 -39
  72. package/packages/react/src/functions/fast-clone.ts +0 -5
  73. package/packages/react/src/functions/get-block-actions-handler.ts +0 -20
  74. package/packages/react/src/functions/get-block-actions.ts +0 -25
  75. package/packages/react/src/functions/get-block-component-options.ts +0 -12
  76. package/packages/react/src/functions/get-block-properties.ts +0 -75
  77. package/packages/react/src/functions/get-builder-search-params/fn.test.ts +0 -19
  78. package/packages/react/src/functions/get-builder-search-params/index.ts +0 -50
  79. package/packages/react/src/functions/get-content/ab-testing.ts +0 -132
  80. package/packages/react/src/functions/get-content/generate-content-url.test.ts +0 -95
  81. package/packages/react/src/functions/get-content/generate-content-url.ts +0 -59
  82. package/packages/react/src/functions/get-content/index.ts +0 -62
  83. package/packages/react/src/functions/get-content/types.ts +0 -53
  84. package/packages/react/src/functions/get-fetch.ts +0 -18
  85. package/packages/react/src/functions/get-global-this.ts +0 -17
  86. package/packages/react/src/functions/get-processed-block.test.ts +0 -33
  87. package/packages/react/src/functions/get-processed-block.ts +0 -54
  88. package/packages/react/src/functions/get-react-native-block-styles.ts +0 -33
  89. package/packages/react/src/functions/if-target.ts +0 -20
  90. package/packages/react/src/functions/is-browser.ts +0 -3
  91. package/packages/react/src/functions/is-editing.ts +0 -10
  92. package/packages/react/src/functions/is-iframe.ts +0 -5
  93. package/packages/react/src/functions/is-previewing.ts +0 -14
  94. package/packages/react/src/functions/on-change.test.ts +0 -23
  95. package/packages/react/src/functions/on-change.ts +0 -29
  96. package/packages/react/src/functions/register-component.ts +0 -50
  97. package/packages/react/src/functions/register.ts +0 -46
  98. package/packages/react/src/functions/sanitize-react-native-block-styles.ts +0 -65
  99. package/packages/react/src/functions/set-editor-settings.ts +0 -16
  100. package/packages/react/src/functions/set.test.ts +0 -19
  101. package/packages/react/src/functions/set.ts +0 -26
  102. package/packages/react/src/functions/track/helpers.ts +0 -67
  103. package/packages/react/src/functions/track/index.ts +0 -136
  104. package/packages/react/src/functions/track/interaction.ts +0 -80
  105. package/packages/react/src/functions/transform-block-properties.ts +0 -3
  106. package/packages/react/src/functions/transform-block.ts +0 -6
  107. package/packages/react/src/helpers/ab-tests.ts +0 -22
  108. package/packages/react/src/helpers/cookie.ts +0 -107
  109. package/packages/react/src/helpers/css.ts +0 -42
  110. package/packages/react/src/helpers/flatten.ts +0 -24
  111. package/packages/react/src/helpers/localStorage.ts +0 -40
  112. package/packages/react/src/helpers/logger.ts +0 -6
  113. package/packages/react/src/helpers/nullable.ts +0 -4
  114. package/packages/react/src/helpers/sessionId.ts +0 -38
  115. package/packages/react/src/helpers/time.ts +0 -4
  116. package/packages/react/src/helpers/url.test.ts +0 -23
  117. package/packages/react/src/helpers/url.ts +0 -16
  118. package/packages/react/src/helpers/uuid.ts +0 -17
  119. package/packages/react/src/helpers/visitorId.ts +0 -40
  120. package/packages/react/src/index-helpers/blocks-exports.ts +0 -10
  121. package/packages/react/src/index-helpers/top-of-file.ts +0 -4
  122. package/packages/react/src/index.ts +0 -14
  123. package/packages/react/src/scripts/init-editing.ts +0 -123
  124. package/packages/react/src/types/api-version.ts +0 -2
  125. package/packages/react/src/types/builder-block.ts +0 -69
  126. package/packages/react/src/types/builder-content.ts +0 -46
  127. package/packages/react/src/types/can-track.ts +0 -3
  128. package/packages/react/src/types/components.ts +0 -117
  129. package/packages/react/src/types/deep-partial.ts +0 -7
  130. package/packages/react/src/types/element.ts +0 -60
  131. package/packages/react/src/types/input.ts +0 -125
  132. package/packages/react/src/types/targets.ts +0 -6
  133. package/packages/react/src/types/typescript.ts +0 -7
  134. package/packages/rsc/src/blocks/BaseText.jsx +0 -12
  135. package/packages/rsc/src/blocks/button/button.jsx +0 -37
  136. package/packages/rsc/src/blocks/button/component-info.js +0 -40
  137. package/packages/rsc/src/blocks/columns/columns.jsx +0 -172
  138. package/packages/rsc/src/blocks/columns/component-info.js +0 -241
  139. package/packages/rsc/src/blocks/custom-code/component-info.js +0 -30
  140. package/packages/rsc/src/blocks/custom-code/custom-code.jsx +0 -57
  141. package/packages/rsc/src/blocks/embed/component-info.js +0 -43
  142. package/packages/rsc/src/blocks/embed/embed.jsx +0 -45
  143. package/packages/rsc/src/blocks/embed/helpers.js +0 -9
  144. package/packages/rsc/src/blocks/form/component-info.js +0 -261
  145. package/packages/rsc/src/blocks/form/form.jsx +0 -260
  146. package/packages/rsc/src/blocks/fragment/component-info.js +0 -10
  147. package/packages/rsc/src/blocks/fragment/fragment.jsx +0 -9
  148. package/packages/rsc/src/blocks/image/component-info.js +0 -150
  149. package/packages/rsc/src/blocks/image/image.helpers.js +0 -48
  150. package/packages/rsc/src/blocks/image/image.jsx +0 -122
  151. package/packages/rsc/src/blocks/img/component-info.js +0 -19
  152. package/packages/rsc/src/blocks/img/img.jsx +0 -21
  153. package/packages/rsc/src/blocks/input/component-info.js +0 -73
  154. package/packages/rsc/src/blocks/input/input.jsx +0 -23
  155. package/packages/rsc/src/blocks/raw-text/component-info.js +0 -15
  156. package/packages/rsc/src/blocks/raw-text/raw-text.jsx +0 -14
  157. package/packages/rsc/src/blocks/section/component-info.js +0 -48
  158. package/packages/rsc/src/blocks/section/section.jsx +0 -27
  159. package/packages/rsc/src/blocks/select/component-info.js +0 -58
  160. package/packages/rsc/src/blocks/select/select.jsx +0 -24
  161. package/packages/rsc/src/blocks/submit-button/component-info.js +0 -27
  162. package/packages/rsc/src/blocks/submit-button/submit-button.jsx +0 -13
  163. package/packages/rsc/src/blocks/symbol/component-info.js +0 -42
  164. package/packages/rsc/src/blocks/symbol/symbol.jsx +0 -89
  165. package/packages/rsc/src/blocks/text/component-info.js +0 -23
  166. package/packages/rsc/src/blocks/text/text.jsx +0 -17
  167. package/packages/rsc/src/blocks/textarea/component-info.js +0 -46
  168. package/packages/rsc/src/blocks/textarea/textarea.jsx +0 -17
  169. package/packages/rsc/src/blocks/util.js +0 -8
  170. package/packages/rsc/src/blocks/video/component-info.js +0 -105
  171. package/packages/rsc/src/blocks/video/video.jsx +0 -63
  172. package/packages/rsc/src/components/render-block/block-styles.jsx +0 -88
  173. package/packages/rsc/src/components/render-block/render-block.helpers.js +0 -129
  174. package/packages/rsc/src/components/render-block/render-block.jsx +0 -201
  175. package/packages/rsc/src/components/render-block/render-component.jsx +0 -39
  176. package/packages/rsc/src/components/render-block/render-repeated-block.jsx +0 -27
  177. package/packages/rsc/src/components/render-block/types.js +0 -0
  178. package/packages/rsc/src/components/render-blocks.jsx +0 -92
  179. package/packages/rsc/src/components/render-content/builder-editing.jsx +0 -64
  180. package/packages/rsc/src/components/render-content/components/render-styles.helpers.js +0 -57
  181. package/packages/rsc/src/components/render-content/components/render-styles.jsx +0 -39
  182. package/packages/rsc/src/components/render-content/index.js +0 -4
  183. package/packages/rsc/src/components/render-content/render-content.helpers.js +0 -48
  184. package/packages/rsc/src/components/render-content/render-content.jsx +0 -253
  185. package/packages/rsc/src/components/render-content/render-content.types.js +0 -0
  186. package/packages/rsc/src/components/render-inlined-styles.jsx +0 -33
  187. package/packages/rsc/src/constants/builder-registered-components.js +0 -54
  188. package/packages/rsc/src/constants/device-sizes.js +0 -48
  189. package/packages/rsc/src/constants/target.js +0 -4
  190. package/packages/rsc/src/context/builder.context.js +0 -14
  191. package/packages/rsc/src/context/types.js +0 -0
  192. package/packages/rsc/src/functions/camel-to-kebab-case.js +0 -4
  193. package/packages/rsc/src/functions/evaluate.js +0 -6
  194. package/packages/rsc/src/functions/event-handler-name.js +0 -7
  195. package/packages/rsc/src/functions/extract-text-styles.js +0 -22
  196. package/packages/rsc/src/functions/fast-clone.js +0 -4
  197. package/packages/rsc/src/functions/get-block-actions-handler.js +0 -11
  198. package/packages/rsc/src/functions/get-block-actions.js +0 -18
  199. package/packages/rsc/src/functions/get-block-component-options.js +0 -28
  200. package/packages/rsc/src/functions/get-block-properties.js +0 -53
  201. package/packages/rsc/src/functions/get-builder-search-params/fn.test.js +0 -13
  202. package/packages/rsc/src/functions/get-builder-search-params/index.js +0 -38
  203. package/packages/rsc/src/functions/get-content/ab-testing.js +0 -99
  204. package/packages/rsc/src/functions/get-content/generate-content-url.js +0 -60
  205. package/packages/rsc/src/functions/get-content/generate-content-url.test.js +0 -82
  206. package/packages/rsc/src/functions/get-content/index.js +0 -83
  207. package/packages/rsc/src/functions/get-content/types.js +0 -0
  208. package/packages/rsc/src/functions/get-fetch.js +0 -14
  209. package/packages/rsc/src/functions/get-global-this.js +0 -18
  210. package/packages/rsc/src/functions/get-processed-block.js +0 -59
  211. package/packages/rsc/src/functions/get-processed-block.test.js +0 -32
  212. package/packages/rsc/src/functions/get-react-native-block-styles.js +0 -33
  213. package/packages/rsc/src/functions/if-target.js +0 -15
  214. package/packages/rsc/src/functions/is-browser.js +0 -6
  215. package/packages/rsc/src/functions/is-editing.js +0 -8
  216. package/packages/rsc/src/functions/is-iframe.js +0 -7
  217. package/packages/rsc/src/functions/is-previewing.js +0 -14
  218. package/packages/rsc/src/functions/on-change.js +0 -27
  219. package/packages/rsc/src/functions/on-change.test.js +0 -19
  220. package/packages/rsc/src/functions/register-component.js +0 -68
  221. package/packages/rsc/src/functions/register.js +0 -29
  222. package/packages/rsc/src/functions/sanitize-react-native-block-styles.js +0 -66
  223. package/packages/rsc/src/functions/set-editor-settings.js +0 -15
  224. package/packages/rsc/src/functions/set.js +0 -11
  225. package/packages/rsc/src/functions/set.test.js +0 -16
  226. package/packages/rsc/src/functions/track/helpers.js +0 -50
  227. package/packages/rsc/src/functions/track/index.js +0 -129
  228. package/packages/rsc/src/functions/track/interaction.js +0 -53
  229. package/packages/rsc/src/functions/transform-block-properties.js +0 -6
  230. package/packages/rsc/src/functions/transform-block.js +0 -6
  231. package/packages/rsc/src/helpers/ab-tests.js +0 -16
  232. package/packages/rsc/src/helpers/cookie.js +0 -81
  233. package/packages/rsc/src/helpers/css.js +0 -34
  234. package/packages/rsc/src/helpers/flatten.js +0 -34
  235. package/packages/rsc/src/helpers/localStorage.js +0 -35
  236. package/packages/rsc/src/helpers/logger.js +0 -9
  237. package/packages/rsc/src/helpers/nullable.js +0 -4
  238. package/packages/rsc/src/helpers/sessionId.js +0 -52
  239. package/packages/rsc/src/helpers/time.js +0 -5
  240. package/packages/rsc/src/helpers/url.js +0 -13
  241. package/packages/rsc/src/helpers/url.test.js +0 -21
  242. package/packages/rsc/src/helpers/uuid.js +0 -13
  243. package/packages/rsc/src/helpers/visitorId.js +0 -34
  244. package/packages/rsc/src/index-helpers/blocks-exports.js +0 -22
  245. package/packages/rsc/src/index-helpers/top-of-file.js +0 -2
  246. package/packages/rsc/src/index.js +0 -13
  247. package/packages/rsc/src/scripts/init-editing.js +0 -93
  248. package/packages/rsc/src/types/api-version.js +0 -4
  249. package/packages/rsc/src/types/builder-block.js +0 -0
  250. package/packages/rsc/src/types/builder-content.js +0 -0
  251. package/packages/rsc/src/types/can-track.js +0 -0
  252. package/packages/rsc/src/types/components.js +0 -0
  253. package/packages/rsc/src/types/deep-partial.js +0 -0
  254. package/packages/rsc/src/types/element.js +0 -0
  255. package/packages/rsc/src/types/input.js +0 -0
  256. package/packages/rsc/src/types/targets.js +0 -0
  257. package/packages/rsc/src/types/typescript.js +0 -0
  258. package/tsconfig.json +0 -28
  259. package/tsconfig.sdk.json +0 -10
  260. package/tsconfig.server.json +0 -10
  261. package/vite.config.ts +0 -91
@@ -1,40 +0,0 @@
1
- const componentInfo = {
2
- name: "Core:Button",
3
- image: "https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F81a15681c3e74df09677dfc57a615b13",
4
- defaultStyles: {
5
- appearance: "none",
6
- paddingTop: "15px",
7
- paddingBottom: "15px",
8
- paddingLeft: "25px",
9
- paddingRight: "25px",
10
- backgroundColor: "#000000",
11
- color: "white",
12
- borderRadius: "4px",
13
- textAlign: "center",
14
- cursor: "pointer"
15
- },
16
- inputs: [
17
- {
18
- name: "text",
19
- type: "text",
20
- defaultValue: "Click me!",
21
- bubble: true
22
- },
23
- {
24
- name: "link",
25
- type: "url",
26
- bubble: true
27
- },
28
- {
29
- name: "openLinkInNewTab",
30
- type: "boolean",
31
- defaultValue: false,
32
- friendlyName: "Open link in new tab"
33
- }
34
- ],
35
- static: true,
36
- noWrap: true
37
- };
38
- export {
39
- componentInfo
40
- };
@@ -1,172 +0,0 @@
1
- import * as React from "react";
2
- import RenderBlocks from "../../components/render-blocks";
3
- import { getSizesForBreakpoints } from "../../constants/device-sizes";
4
- import RenderInlinedStyles from "../../components/render-inlined-styles";
5
- import { TARGET } from "../../constants/target.js";
6
- import BuilderContext from "../../context/builder.context.js";
7
-
8
- function Columns(props) {
9
- const _context = { ...props["_context"] };
10
-
11
- const state = {
12
- gutterSize: typeof props.space === "number" ? props.space || 0 : 20,
13
- cols: props.columns || [],
14
- stackAt: props.stackColumnsAt || "tablet",
15
- getWidth(index) {
16
- return state.cols[index]?.width || 100 / state.cols.length;
17
- },
18
- getColumnCssWidth(index) {
19
- const subtractWidth =
20
- (state.gutterSize * (state.cols.length - 1)) / state.cols.length;
21
- return `calc(${state.getWidth(index)}% - ${subtractWidth}px)`;
22
- },
23
- getTabletStyle({ stackedStyle, desktopStyle }) {
24
- return state.stackAt === "tablet" ? stackedStyle : desktopStyle;
25
- },
26
- getMobileStyle({ stackedStyle, desktopStyle }) {
27
- return state.stackAt === "never" ? desktopStyle : stackedStyle;
28
- },
29
- flexDir:
30
- props.stackColumnsAt === "never"
31
- ? "row"
32
- : props.reverseColumnsWhenStacked
33
- ? "column-reverse"
34
- : "column",
35
- get columnsCssVars() {
36
- if (TARGET === "reactNative") {
37
- return {
38
- flexDirection: state.flexDir,
39
- };
40
- }
41
- return {
42
- "--flex-dir": state.flexDir,
43
- "--flex-dir-tablet": state.getTabletStyle({
44
- stackedStyle: state.flexDir,
45
- desktopStyle: "row",
46
- }),
47
- };
48
- },
49
- columnCssVars(index) {
50
- const gutter = index === 0 ? 0 : state.gutterSize;
51
- if (TARGET === "reactNative") {
52
- return {
53
- marginLeft: props.stackColumnsAt === "never" ? gutter : 0,
54
- };
55
- }
56
- const width = state.getColumnCssWidth(index);
57
- const gutterPixels = `${state.gutterSize}px`;
58
- const mobileWidth = "100%";
59
- const mobileMarginLeft = 0;
60
- return {
61
- width,
62
- "margin-left": gutterPixels,
63
- "--column-width-mobile": state.getMobileStyle({
64
- stackedStyle: mobileWidth,
65
- desktopStyle: width,
66
- }),
67
- "--column-margin-left-mobile": state.getMobileStyle({
68
- stackedStyle: mobileMarginLeft,
69
- desktopStyle: gutterPixels,
70
- }),
71
- "--column-width-tablet": state.getTabletStyle({
72
- stackedStyle: mobileWidth,
73
- desktopStyle: width,
74
- }),
75
- "--column-margin-left-tablet": state.getTabletStyle({
76
- stackedStyle: mobileMarginLeft,
77
- desktopStyle: gutterPixels,
78
- }),
79
- };
80
- },
81
- getWidthForBreakpointSize(size) {
82
- const breakpointSizes = getSizesForBreakpoints(
83
- builderContext.content?.meta?.breakpoints || {}
84
- );
85
- return breakpointSizes[size].max;
86
- },
87
- get columnsStyles() {
88
- return `
89
- @media (max-width: ${state.getWidthForBreakpointSize("medium")}px) {
90
- .${props.builderBlock.id}-breakpoints {
91
- flex-direction: var(--flex-dir-tablet);
92
- align-items: stretch;
93
- }
94
-
95
- .${props.builderBlock.id}-breakpoints > .builder-column {
96
- width: var(--column-width-tablet) !important;
97
- margin-left: var(--column-margin-left-tablet) !important;
98
- }
99
- }
100
-
101
- @media (max-width: ${state.getWidthForBreakpointSize("small")}px) {
102
- .${props.builderBlock.id}-breakpoints {
103
- flex-direction: var(--flex-dir);
104
- align-items: stretch;
105
- }
106
-
107
- .${props.builderBlock.id}-breakpoints > .builder-column {
108
- width: var(--column-width-mobile) !important;
109
- margin-left: var(--column-margin-left-mobile) !important;
110
- }
111
- },
112
- `;
113
- },
114
- };
115
-
116
- const builderContext = _context["BuilderContext"];
117
-
118
- return (
119
- <>
120
- <div
121
- className={
122
- `builder-columns ${props.builderBlock.id}-breakpoints` +
123
- " div-38093a46"
124
- }
125
- style={state.columnsCssVars}
126
- dataSet={{
127
- "builder-block-name": "builder-columns",
128
- }}
129
- >
130
- {TARGET !== "reactNative" ? (
131
- <>
132
- <RenderInlinedStyles
133
- styles={state.columnsStyles}
134
- _context={_context}
135
- />
136
- </>
137
- ) : null}
138
-
139
- {props.columns?.map((column, index) => (
140
- <div
141
- className="builder-column div-38093a46-2"
142
- style={state.columnCssVars(index)}
143
- dataSet={{
144
- "builder-block-name": "builder-column",
145
- }}
146
- key={index}
147
- >
148
- <RenderBlocks
149
- blocks={column.blocks}
150
- path={`component.options.columns.${index}.blocks`}
151
- parent={props.builderBlock.id}
152
- styleProp={{
153
- flexGrow: "1",
154
- }}
155
- _context={_context}
156
- />
157
- </div>
158
- ))}
159
- </div>
160
- <style>{`.div-38093a46 {
161
- display: flex;
162
- line-height: normal;
163
- }.div-38093a46-2 {
164
- display: flex;
165
- flex-direction: column;
166
- align-items: stretch;
167
- }`}</style>
168
- </>
169
- );
170
- }
171
-
172
- export default Columns;
@@ -1,241 +0,0 @@
1
- import { serializeFn } from "../util.js";
2
- const componentInfo = {
3
- name: "Columns",
4
- inputs: [
5
- {
6
- name: "columns",
7
- type: "array",
8
- broadcast: true,
9
- subFields: [
10
- {
11
- name: "blocks",
12
- type: "array",
13
- hideFromUI: true,
14
- defaultValue: [
15
- {
16
- "@type": "@builder.io/sdk:Element",
17
- responsiveStyles: {
18
- large: {
19
- display: "flex",
20
- flexDirection: "column",
21
- alignItems: "stretch",
22
- flexShrink: "0",
23
- position: "relative",
24
- marginTop: "30px",
25
- textAlign: "center",
26
- lineHeight: "normal",
27
- height: "auto",
28
- minHeight: "20px",
29
- minWidth: "20px",
30
- overflow: "hidden"
31
- }
32
- },
33
- component: {
34
- name: "Image",
35
- options: {
36
- image: "https://builder.io/api/v1/image/assets%2Fpwgjf0RoYWbdnJSbpBAjXNRMe9F2%2Ffb27a7c790324294af8be1c35fe30f4d",
37
- backgroundPosition: "center",
38
- backgroundSize: "cover",
39
- aspectRatio: 0.7004048582995948
40
- }
41
- }
42
- },
43
- {
44
- "@type": "@builder.io/sdk:Element",
45
- responsiveStyles: {
46
- large: {
47
- display: "flex",
48
- flexDirection: "column",
49
- alignItems: "stretch",
50
- flexShrink: "0",
51
- position: "relative",
52
- marginTop: "30px",
53
- textAlign: "center",
54
- lineHeight: "normal",
55
- height: "auto"
56
- }
57
- },
58
- component: {
59
- name: "Text",
60
- options: {
61
- text: "<p>Enter some text...</p>"
62
- }
63
- }
64
- }
65
- ]
66
- },
67
- {
68
- name: "width",
69
- type: "number",
70
- hideFromUI: true,
71
- helperText: "Width %, e.g. set to 50 to fill half of the space"
72
- },
73
- {
74
- name: "link",
75
- type: "url",
76
- helperText: "Optionally set a url that clicking this column will link to"
77
- }
78
- ],
79
- defaultValue: [
80
- {
81
- blocks: [
82
- {
83
- "@type": "@builder.io/sdk:Element",
84
- responsiveStyles: {
85
- large: {
86
- display: "flex",
87
- flexDirection: "column",
88
- alignItems: "stretch",
89
- flexShrink: "0",
90
- position: "relative",
91
- marginTop: "30px",
92
- textAlign: "center",
93
- lineHeight: "normal",
94
- height: "auto",
95
- minHeight: "20px",
96
- minWidth: "20px",
97
- overflow: "hidden"
98
- }
99
- },
100
- component: {
101
- name: "Image",
102
- options: {
103
- image: "https://builder.io/api/v1/image/assets%2Fpwgjf0RoYWbdnJSbpBAjXNRMe9F2%2Ffb27a7c790324294af8be1c35fe30f4d",
104
- backgroundPosition: "center",
105
- backgroundSize: "cover",
106
- aspectRatio: 0.7004048582995948
107
- }
108
- }
109
- },
110
- {
111
- "@type": "@builder.io/sdk:Element",
112
- responsiveStyles: {
113
- large: {
114
- display: "flex",
115
- flexDirection: "column",
116
- alignItems: "stretch",
117
- flexShrink: "0",
118
- position: "relative",
119
- marginTop: "30px",
120
- textAlign: "center",
121
- lineHeight: "normal",
122
- height: "auto"
123
- }
124
- },
125
- component: {
126
- name: "Text",
127
- options: {
128
- text: "<p>Enter some text...</p>"
129
- }
130
- }
131
- }
132
- ]
133
- },
134
- {
135
- blocks: [
136
- {
137
- "@type": "@builder.io/sdk:Element",
138
- responsiveStyles: {
139
- large: {
140
- display: "flex",
141
- flexDirection: "column",
142
- alignItems: "stretch",
143
- flexShrink: "0",
144
- position: "relative",
145
- marginTop: "30px",
146
- textAlign: "center",
147
- lineHeight: "normal",
148
- height: "auto",
149
- minHeight: "20px",
150
- minWidth: "20px",
151
- overflow: "hidden"
152
- }
153
- },
154
- component: {
155
- name: "Image",
156
- options: {
157
- image: "https://builder.io/api/v1/image/assets%2Fpwgjf0RoYWbdnJSbpBAjXNRMe9F2%2Ffb27a7c790324294af8be1c35fe30f4d",
158
- backgroundPosition: "center",
159
- backgroundSize: "cover",
160
- aspectRatio: 0.7004048582995948
161
- }
162
- }
163
- },
164
- {
165
- "@type": "@builder.io/sdk:Element",
166
- responsiveStyles: {
167
- large: {
168
- display: "flex",
169
- flexDirection: "column",
170
- alignItems: "stretch",
171
- flexShrink: "0",
172
- position: "relative",
173
- marginTop: "30px",
174
- textAlign: "center",
175
- lineHeight: "normal",
176
- height: "auto"
177
- }
178
- },
179
- component: {
180
- name: "Text",
181
- options: {
182
- text: "<p>Enter some text...</p>"
183
- }
184
- }
185
- }
186
- ]
187
- }
188
- ],
189
- onChange: serializeFn((options) => {
190
- function clearWidths() {
191
- columns.forEach((col) => {
192
- col.delete("width");
193
- });
194
- }
195
- const columns = options.get("columns");
196
- if (Array.isArray(columns)) {
197
- const containsColumnWithWidth = !!columns.find((col) => col.get("width"));
198
- if (containsColumnWithWidth) {
199
- const containsColumnWithoutWidth = !!columns.find((col) => !col.get("width"));
200
- if (containsColumnWithoutWidth) {
201
- clearWidths();
202
- } else {
203
- const sumWidths = columns.reduce((memo, col) => {
204
- return memo + col.get("width");
205
- }, 0);
206
- const widthsDontAddUp = sumWidths !== 100;
207
- if (widthsDontAddUp) {
208
- clearWidths();
209
- }
210
- }
211
- }
212
- }
213
- })
214
- },
215
- {
216
- name: "space",
217
- type: "number",
218
- defaultValue: 20,
219
- helperText: "Size of gap between columns",
220
- advanced: true
221
- },
222
- {
223
- name: "stackColumnsAt",
224
- type: "string",
225
- defaultValue: "tablet",
226
- helperText: "Convert horizontal columns to vertical at what device size",
227
- enum: ["tablet", "mobile", "never"],
228
- advanced: true
229
- },
230
- {
231
- name: "reverseColumnsWhenStacked",
232
- type: "boolean",
233
- defaultValue: false,
234
- helperText: "When stacking columns for mobile devices, reverse the ordering",
235
- advanced: true
236
- }
237
- ]
238
- };
239
- export {
240
- componentInfo
241
- };
@@ -1,30 +0,0 @@
1
- const componentInfo = {
2
- name: "Custom Code",
3
- static: true,
4
- requiredPermissions: ["editCode"],
5
- inputs: [
6
- {
7
- name: "code",
8
- type: "html",
9
- required: true,
10
- defaultValue: "<p>Hello there, I am custom HTML code!</p>",
11
- code: true
12
- },
13
- {
14
- name: "replaceNodes",
15
- type: "boolean",
16
- helperText: "Preserve server rendered dom nodes",
17
- advanced: true
18
- },
19
- {
20
- name: "scriptsClientOnly",
21
- type: "boolean",
22
- defaultValue: false,
23
- helperText: "Only print and run scripts on the client. Important when scripts influence DOM that could be replaced when client loads",
24
- advanced: true
25
- }
26
- ]
27
- };
28
- export {
29
- componentInfo
30
- };
@@ -1,57 +0,0 @@
1
- import * as React from "react";
2
-
3
- function CustomCode(props) {
4
- const _context = { ...props["_context"] };
5
-
6
- const state = {
7
- scriptsInserted: [],
8
- scriptsRun: [],
9
- findAndRunScripts() {
10
- // TODO: Move this function to standalone one in '@builder.io/utils'
11
- if (elem && elem.getElementsByTagName && typeof window !== "undefined") {
12
- const scripts = elem.getElementsByTagName("script");
13
- for (let i = 0; i < scripts.length; i++) {
14
- const script = scripts[i];
15
- if (script.src) {
16
- if (state.scriptsInserted.includes(script.src)) {
17
- continue;
18
- }
19
- state.scriptsInserted.push(script.src);
20
- const newScript = document.createElement("script");
21
- newScript.async = true;
22
- newScript.src = script.src;
23
- document.head.appendChild(newScript);
24
- } else if (
25
- !script.type ||
26
- [
27
- "text/javascript",
28
- "application/javascript",
29
- "application/ecmascript",
30
- ].includes(script.type)
31
- ) {
32
- if (state.scriptsRun.includes(script.innerText)) {
33
- continue;
34
- }
35
- try {
36
- state.scriptsRun.push(script.innerText);
37
- new Function(script.innerText)();
38
- } catch (error) {
39
- console.warn("`CustomCode`: Error running script:", error);
40
- }
41
- }
42
- }
43
- }
44
- },
45
- };
46
-
47
- return (
48
- <div
49
- className={
50
- "builder-custom-code" + (props.replaceNodes ? " replace-nodes" : "")
51
- }
52
- dangerouslySetInnerHTML={{ __html: props.code }}
53
- />
54
- );
55
- }
56
-
57
- export default CustomCode;
@@ -1,43 +0,0 @@
1
- import { serializeFn } from "../util.js";
2
- const componentInfo = {
3
- name: "Embed",
4
- static: true,
5
- inputs: [
6
- {
7
- name: "url",
8
- type: "url",
9
- required: true,
10
- defaultValue: "",
11
- helperText: "e.g. enter a youtube url, google map, etc",
12
- onChange: serializeFn((options) => {
13
- const url = options.get("url");
14
- if (url) {
15
- options.set("content", "Loading...");
16
- const apiKey = "ae0e60e78201a3f2b0de4b";
17
- return fetch(`https://iframe.ly/api/iframely?url=${url}&api_key=${apiKey}`).then((res) => res.json()).then((data) => {
18
- if (options.get("url") === url) {
19
- if (data.html) {
20
- options.set("content", data.html);
21
- } else {
22
- options.set("content", "Invalid url, please try another");
23
- }
24
- }
25
- }).catch((_err) => {
26
- options.set("content", "There was an error embedding this URL, please try again or another URL");
27
- });
28
- } else {
29
- options.delete("content");
30
- }
31
- })
32
- },
33
- {
34
- name: "content",
35
- type: "html",
36
- defaultValue: '<div style="padding: 20px; text-align: center">(Choose an embed URL)<div>',
37
- hideFromUI: true
38
- }
39
- ]
40
- };
41
- export {
42
- componentInfo
43
- };
@@ -1,45 +0,0 @@
1
- import * as React from "react";
2
- import { isJsScript } from "./helpers.js";
3
-
4
- function Embed(props) {
5
- const _context = { ...props["_context"] };
6
-
7
- const state = {
8
- scriptsInserted: [],
9
- scriptsRun: [],
10
- ranInitFn: false,
11
- findAndRunScripts() {
12
- if (!elem || !elem.getElementsByTagName) return;
13
- const scripts = elem.getElementsByTagName("script");
14
- for (let i = 0; i < scripts.length; i++) {
15
- const script = scripts[i];
16
- if (script.src && !state.scriptsInserted.includes(script.src)) {
17
- state.scriptsInserted.push(script.src);
18
- const newScript = document.createElement("script");
19
- newScript.async = true;
20
- newScript.src = script.src;
21
- document.head.appendChild(newScript);
22
- } else if (
23
- isJsScript(script) &&
24
- !state.scriptsRun.includes(script.innerText)
25
- ) {
26
- try {
27
- state.scriptsRun.push(script.innerText);
28
- new Function(script.innerText)();
29
- } catch (error) {
30
- console.warn("`Embed`: Error running script:", error);
31
- }
32
- }
33
- }
34
- },
35
- };
36
-
37
- return (
38
- <div
39
- className="builder-embed"
40
- dangerouslySetInnerHTML={{ __html: props.content }}
41
- />
42
- );
43
- }
44
-
45
- export default Embed;
@@ -1,9 +0,0 @@
1
- const SCRIPT_MIME_TYPES = [
2
- "text/javascript",
3
- "application/javascript",
4
- "application/ecmascript"
5
- ];
6
- const isJsScript = (script) => SCRIPT_MIME_TYPES.includes(script.type);
7
- export {
8
- isJsScript
9
- };