@builder.io/sdk-react 0.1.4 → 0.1.6

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 (249) hide show
  1. package/dist/react/blocks/button/button.js +2 -2
  2. package/dist/react/blocks/button/component-info.js +0 -1
  3. package/dist/react/blocks/columns/columns.js +4 -4
  4. package/dist/react/blocks/columns/component-info.js +0 -1
  5. package/dist/react/blocks/custom-code/component-info.js +0 -1
  6. package/dist/react/blocks/embed/component-info.js +0 -1
  7. package/dist/react/blocks/form/component-info.js +0 -1
  8. package/dist/react/blocks/form/form.js +2 -2
  9. package/dist/react/blocks/fragment/component-info.js +0 -1
  10. package/dist/react/blocks/image/component-info.js +0 -1
  11. package/dist/react/blocks/image/image.js +6 -6
  12. package/dist/react/blocks/img/component-info.js +0 -1
  13. package/dist/react/blocks/input/component-info.js +0 -1
  14. package/dist/react/blocks/raw-text/component-info.js +0 -1
  15. package/dist/react/blocks/section/component-info.js +0 -1
  16. package/dist/react/blocks/select/component-info.js +0 -1
  17. package/dist/react/blocks/submit-button/component-info.js +0 -1
  18. package/dist/react/blocks/symbol/component-info.js +0 -1
  19. package/dist/react/blocks/text/component-info.js +0 -1
  20. package/dist/react/blocks/textarea/component-info.js +0 -1
  21. package/dist/react/blocks/video/component-info.js +0 -1
  22. package/dist/react/components/render-block/render-block.js +18 -1
  23. package/dist/react/components/render-block/render-repeated-block.js +1 -0
  24. package/dist/react/components/render-blocks.js +2 -2
  25. package/dist/react/components/render-content/components/render-styles.helpers.js +51 -0
  26. package/dist/react/components/render-content/components/render-styles.js +12 -54
  27. package/dist/react/components/render-content/render-content.helpers.js +38 -0
  28. package/dist/react/components/render-content/render-content.js +65 -62
  29. package/dist/react/components/render-content/render-content.types.js +1 -0
  30. package/dist/react/constants/builder-registered-components.js +7 -7
  31. package/dist/react/context/builder.context.js +2 -0
  32. package/dist/react/index-helpers/blocks-exports.js +10 -10
  33. package/dist/react/types/input.js +1 -0
  34. package/dist/rsc/blocks/button/button.js +2 -2
  35. package/dist/rsc/blocks/button/component-info.js +0 -1
  36. package/dist/rsc/blocks/columns/columns.js +4 -4
  37. package/dist/rsc/blocks/columns/component-info.js +0 -1
  38. package/dist/rsc/blocks/custom-code/component-info.js +0 -1
  39. package/dist/rsc/blocks/embed/component-info.js +0 -1
  40. package/dist/rsc/blocks/form/component-info.js +0 -1
  41. package/dist/rsc/blocks/form/form.js +2 -2
  42. package/dist/rsc/blocks/fragment/component-info.js +0 -1
  43. package/dist/rsc/blocks/image/component-info.js +0 -1
  44. package/dist/rsc/blocks/image/image.js +6 -6
  45. package/dist/rsc/blocks/img/component-info.js +0 -1
  46. package/dist/rsc/blocks/input/component-info.js +0 -1
  47. package/dist/rsc/blocks/raw-text/component-info.js +0 -1
  48. package/dist/rsc/blocks/section/component-info.js +0 -1
  49. package/dist/rsc/blocks/select/component-info.js +0 -1
  50. package/dist/rsc/blocks/submit-button/component-info.js +0 -1
  51. package/dist/rsc/blocks/symbol/component-info.js +0 -1
  52. package/dist/rsc/blocks/text/component-info.js +0 -1
  53. package/dist/rsc/blocks/textarea/component-info.js +0 -1
  54. package/dist/rsc/blocks/video/component-info.js +0 -1
  55. package/dist/rsc/components/render-block/render-block.js +18 -1
  56. package/dist/rsc/components/render-block/render-repeated-block.js +1 -0
  57. package/dist/rsc/components/render-blocks.js +2 -2
  58. package/dist/rsc/components/render-content/builder-editing.js +47 -4
  59. package/dist/rsc/components/render-content/components/render-styles.helpers.js +51 -0
  60. package/dist/rsc/components/render-content/components/render-styles.js +11 -54
  61. package/dist/rsc/components/render-content/render-content.helpers.js +38 -0
  62. package/dist/rsc/components/render-content/render-content.js +43 -38
  63. package/dist/rsc/components/render-content/render-content.types.js +1 -0
  64. package/dist/rsc/constants/builder-registered-components.js +7 -7
  65. package/dist/rsc/context/builder.context.js +2 -0
  66. package/dist/rsc/index-helpers/blocks-exports.js +10 -10
  67. package/dist/rsc/types/input.js +1 -0
  68. package/package.json +1 -1
  69. package/packages/react/src/blocks/button/button.jsx +2 -2
  70. package/packages/react/src/blocks/button/component-info.js +0 -1
  71. package/packages/react/src/blocks/columns/columns.jsx +4 -4
  72. package/packages/react/src/blocks/columns/component-info.js +0 -1
  73. package/packages/react/src/blocks/custom-code/component-info.js +0 -1
  74. package/packages/react/src/blocks/embed/component-info.js +0 -1
  75. package/packages/react/src/blocks/form/component-info.js +0 -1
  76. package/packages/react/src/blocks/form/form.jsx +2 -2
  77. package/packages/react/src/blocks/fragment/component-info.js +0 -1
  78. package/packages/react/src/blocks/image/component-info.js +0 -1
  79. package/packages/react/src/blocks/image/image.jsx +6 -6
  80. package/packages/react/src/blocks/img/component-info.js +0 -1
  81. package/packages/react/src/blocks/input/component-info.js +0 -1
  82. package/packages/react/src/blocks/raw-text/component-info.js +0 -1
  83. package/packages/react/src/blocks/section/component-info.js +0 -1
  84. package/packages/react/src/blocks/select/component-info.js +0 -1
  85. package/packages/react/src/blocks/submit-button/component-info.js +0 -1
  86. package/packages/react/src/blocks/symbol/component-info.js +0 -1
  87. package/packages/react/src/blocks/text/component-info.js +0 -1
  88. package/packages/react/src/blocks/textarea/component-info.js +0 -1
  89. package/packages/react/src/blocks/video/component-info.js +0 -1
  90. package/packages/react/src/components/render-block/render-block.jsx +22 -1
  91. package/packages/react/src/components/render-block/render-repeated-block.jsx +1 -0
  92. package/packages/react/src/components/render-blocks.jsx +2 -2
  93. package/packages/react/src/components/render-content/components/render-styles.helpers.js +57 -0
  94. package/packages/react/src/components/render-content/components/render-styles.jsx +13 -56
  95. package/packages/react/src/components/render-content/render-content.helpers.js +48 -0
  96. package/packages/react/src/components/render-content/render-content.jsx +76 -67
  97. package/packages/{_rsc/src/components/render-block/types.js → react/src/components/render-content/render-content.types.js} +0 -0
  98. package/packages/react/src/constants/builder-registered-components.js +7 -7
  99. package/packages/react/src/context/builder.context.js +2 -0
  100. package/packages/react/src/index-helpers/blocks-exports.js +18 -18
  101. package/packages/{_rsc/src/context/types.js → react/src/types/input.js} +0 -0
  102. package/packages/rsc/src/blocks/button/button.jsx +2 -2
  103. package/packages/rsc/src/blocks/button/component-info.js +0 -1
  104. package/packages/rsc/src/blocks/columns/columns.jsx +4 -4
  105. package/packages/rsc/src/blocks/columns/component-info.js +0 -1
  106. package/packages/rsc/src/blocks/custom-code/component-info.js +0 -1
  107. package/packages/rsc/src/blocks/embed/component-info.js +0 -1
  108. package/packages/rsc/src/blocks/form/component-info.js +0 -1
  109. package/packages/rsc/src/blocks/form/form.jsx +2 -2
  110. package/packages/rsc/src/blocks/fragment/component-info.js +0 -1
  111. package/packages/rsc/src/blocks/image/component-info.js +0 -1
  112. package/packages/rsc/src/blocks/image/image.jsx +6 -6
  113. package/packages/rsc/src/blocks/img/component-info.js +0 -1
  114. package/packages/rsc/src/blocks/input/component-info.js +0 -1
  115. package/packages/rsc/src/blocks/raw-text/component-info.js +0 -1
  116. package/packages/rsc/src/blocks/section/component-info.js +0 -1
  117. package/packages/rsc/src/blocks/select/component-info.js +0 -1
  118. package/packages/rsc/src/blocks/submit-button/component-info.js +0 -1
  119. package/packages/rsc/src/blocks/symbol/component-info.js +0 -1
  120. package/packages/rsc/src/blocks/text/component-info.js +0 -1
  121. package/packages/rsc/src/blocks/textarea/component-info.js +0 -1
  122. package/packages/rsc/src/blocks/video/component-info.js +0 -1
  123. package/packages/rsc/src/components/render-block/render-block.jsx +21 -1
  124. package/packages/rsc/src/components/render-block/render-repeated-block.jsx +1 -0
  125. package/packages/rsc/src/components/render-blocks.jsx +2 -2
  126. package/packages/rsc/src/components/render-content/builder-editing.jsx +61 -4
  127. package/packages/rsc/src/components/render-content/components/render-styles.helpers.js +57 -0
  128. package/packages/rsc/src/components/render-content/components/render-styles.jsx +10 -56
  129. package/packages/rsc/src/components/render-content/render-content.helpers.js +48 -0
  130. package/packages/rsc/src/components/render-content/render-content.jsx +46 -37
  131. package/packages/{_rsc/src/functions/get-content/types.js → rsc/src/components/render-content/render-content.types.js} +0 -0
  132. package/packages/rsc/src/constants/builder-registered-components.js +7 -7
  133. package/packages/rsc/src/context/builder.context.js +2 -0
  134. package/packages/rsc/src/index-helpers/blocks-exports.js +18 -18
  135. package/packages/{_rsc/src/types/builder-block.js → rsc/src/types/input.js} +0 -0
  136. package/packages/_rsc/src/blocks/BaseText.jsx +0 -10
  137. package/packages/_rsc/src/blocks/button/button.jsx +0 -29
  138. package/packages/_rsc/src/blocks/button/component-info.js +0 -41
  139. package/packages/_rsc/src/blocks/columns/columns.jsx +0 -172
  140. package/packages/_rsc/src/blocks/columns/component-info.js +0 -242
  141. package/packages/_rsc/src/blocks/custom-code/component-info.js +0 -31
  142. package/packages/_rsc/src/blocks/custom-code/custom-code.jsx +0 -55
  143. package/packages/_rsc/src/blocks/embed/component-info.js +0 -44
  144. package/packages/_rsc/src/blocks/embed/embed.jsx +0 -43
  145. package/packages/_rsc/src/blocks/embed/helpers.js +0 -9
  146. package/packages/_rsc/src/blocks/form/component-info.js +0 -262
  147. package/packages/_rsc/src/blocks/form/form.jsx +0 -259
  148. package/packages/_rsc/src/blocks/fragment/component-info.js +0 -11
  149. package/packages/_rsc/src/blocks/fragment/fragment.jsx +0 -7
  150. package/packages/_rsc/src/blocks/image/component-info.js +0 -151
  151. package/packages/_rsc/src/blocks/image/image.helpers.js +0 -48
  152. package/packages/_rsc/src/blocks/image/image.jsx +0 -124
  153. package/packages/_rsc/src/blocks/img/component-info.js +0 -20
  154. package/packages/_rsc/src/blocks/img/img.jsx +0 -19
  155. package/packages/_rsc/src/blocks/input/component-info.js +0 -74
  156. package/packages/_rsc/src/blocks/input/input.jsx +0 -21
  157. package/packages/_rsc/src/blocks/raw-text/component-info.js +0 -16
  158. package/packages/_rsc/src/blocks/raw-text/raw-text.jsx +0 -12
  159. package/packages/_rsc/src/blocks/section/component-info.js +0 -49
  160. package/packages/_rsc/src/blocks/section/section.jsx +0 -29
  161. package/packages/_rsc/src/blocks/select/component-info.js +0 -59
  162. package/packages/_rsc/src/blocks/select/select.jsx +0 -22
  163. package/packages/_rsc/src/blocks/submit-button/component-info.js +0 -28
  164. package/packages/_rsc/src/blocks/submit-button/submit-button.jsx +0 -11
  165. package/packages/_rsc/src/blocks/symbol/component-info.js +0 -43
  166. package/packages/_rsc/src/blocks/symbol/symbol.jsx +0 -56
  167. package/packages/_rsc/src/blocks/text/component-info.js +0 -24
  168. package/packages/_rsc/src/blocks/text/text.jsx +0 -12
  169. package/packages/_rsc/src/blocks/textarea/component-info.js +0 -47
  170. package/packages/_rsc/src/blocks/textarea/textarea.jsx +0 -15
  171. package/packages/_rsc/src/blocks/util.js +0 -8
  172. package/packages/_rsc/src/blocks/video/component-info.js +0 -106
  173. package/packages/_rsc/src/blocks/video/video.jsx +0 -61
  174. package/packages/_rsc/src/components/render-block/block-styles.jsx +0 -72
  175. package/packages/_rsc/src/components/render-block/render-block.helpers.js +0 -23
  176. package/packages/_rsc/src/components/render-block/render-block.jsx +0 -251
  177. package/packages/_rsc/src/components/render-block/render-component-with-context.jsx +0 -38
  178. package/packages/_rsc/src/components/render-block/render-component.jsx +0 -37
  179. package/packages/_rsc/src/components/render-block/render-repeated-block.jsx +0 -36
  180. package/packages/_rsc/src/components/render-blocks.jsx +0 -90
  181. package/packages/_rsc/src/components/render-content/builder-editing.jsx +0 -7
  182. package/packages/_rsc/src/components/render-content/components/render-styles.jsx +0 -70
  183. package/packages/_rsc/src/components/render-content/index.js +0 -4
  184. package/packages/_rsc/src/components/render-content/render-content.jsx +0 -259
  185. package/packages/_rsc/src/components/render-inlined-styles.jsx +0 -33
  186. package/packages/_rsc/src/constants/builder-registered-components.js +0 -54
  187. package/packages/_rsc/src/constants/device-sizes.js +0 -48
  188. package/packages/_rsc/src/constants/target.js +0 -4
  189. package/packages/_rsc/src/context/builder.context.js +0 -11
  190. package/packages/_rsc/src/functions/camel-to-kebab-case.js +0 -4
  191. package/packages/_rsc/src/functions/evaluate.js +0 -6
  192. package/packages/_rsc/src/functions/event-handler-name.js +0 -7
  193. package/packages/_rsc/src/functions/extract-text-styles.js +0 -22
  194. package/packages/_rsc/src/functions/fast-clone.js +0 -4
  195. package/packages/_rsc/src/functions/get-block-actions-handler.js +0 -11
  196. package/packages/_rsc/src/functions/get-block-actions.js +0 -18
  197. package/packages/_rsc/src/functions/get-block-component-options.js +0 -28
  198. package/packages/_rsc/src/functions/get-block-properties.js +0 -50
  199. package/packages/_rsc/src/functions/get-block-tag.js +0 -6
  200. package/packages/_rsc/src/functions/get-builder-search-params/fn.test.js +0 -13
  201. package/packages/_rsc/src/functions/get-builder-search-params/index.js +0 -38
  202. package/packages/_rsc/src/functions/get-content/ab-testing.js +0 -99
  203. package/packages/_rsc/src/functions/get-content/generate-content-url.js +0 -55
  204. package/packages/_rsc/src/functions/get-content/generate-content-url.test.js +0 -31
  205. package/packages/_rsc/src/functions/get-content/index.js +0 -65
  206. package/packages/_rsc/src/functions/get-fetch.js +0 -14
  207. package/packages/_rsc/src/functions/get-global-this.js +0 -18
  208. package/packages/_rsc/src/functions/get-processed-block.js +0 -59
  209. package/packages/_rsc/src/functions/get-processed-block.test.js +0 -32
  210. package/packages/_rsc/src/functions/get-react-native-block-styles.js +0 -33
  211. package/packages/_rsc/src/functions/if-target.js +0 -15
  212. package/packages/_rsc/src/functions/is-browser.js +0 -6
  213. package/packages/_rsc/src/functions/is-editing.js +0 -7
  214. package/packages/_rsc/src/functions/is-iframe.js +0 -7
  215. package/packages/_rsc/src/functions/is-previewing.js +0 -14
  216. package/packages/_rsc/src/functions/on-change.js +0 -27
  217. package/packages/_rsc/src/functions/on-change.test.js +0 -19
  218. package/packages/_rsc/src/functions/register-component.js +0 -68
  219. package/packages/_rsc/src/functions/register.js +0 -29
  220. package/packages/_rsc/src/functions/sanitize-react-native-block-styles.js +0 -66
  221. package/packages/_rsc/src/functions/set-editor-settings.js +0 -15
  222. package/packages/_rsc/src/functions/set.js +0 -11
  223. package/packages/_rsc/src/functions/set.test.js +0 -16
  224. package/packages/_rsc/src/functions/track.js +0 -124
  225. package/packages/_rsc/src/functions/transform-block-properties.js +0 -6
  226. package/packages/_rsc/src/functions/transform-block.js +0 -6
  227. package/packages/_rsc/src/helpers/ab-tests.js +0 -16
  228. package/packages/_rsc/src/helpers/cookie.js +0 -81
  229. package/packages/_rsc/src/helpers/css.js +0 -34
  230. package/packages/_rsc/src/helpers/flatten.js +0 -34
  231. package/packages/_rsc/src/helpers/localStorage.js +0 -35
  232. package/packages/_rsc/src/helpers/nullable.js +0 -4
  233. package/packages/_rsc/src/helpers/sessionId.js +0 -52
  234. package/packages/_rsc/src/helpers/time.js +0 -5
  235. package/packages/_rsc/src/helpers/url.js +0 -13
  236. package/packages/_rsc/src/helpers/url.test.js +0 -21
  237. package/packages/_rsc/src/helpers/uuid.js +0 -13
  238. package/packages/_rsc/src/helpers/visitorId.js +0 -34
  239. package/packages/_rsc/src/index-helpers/blocks-exports.js +0 -22
  240. package/packages/_rsc/src/index-helpers/top-of-file.js +0 -2
  241. package/packages/_rsc/src/index.js +0 -14
  242. package/packages/_rsc/src/scripts/init-editing.js +0 -93
  243. package/packages/_rsc/src/types/builder-content.js +0 -0
  244. package/packages/_rsc/src/types/can-track.js +0 -0
  245. package/packages/_rsc/src/types/components.js +0 -0
  246. package/packages/_rsc/src/types/deep-partial.js +0 -0
  247. package/packages/_rsc/src/types/element.js +0 -0
  248. package/packages/_rsc/src/types/targets.js +0 -0
  249. package/packages/_rsc/src/types/typescript.js +0 -0
@@ -2,8 +2,8 @@ import * as React from "react";
2
2
  export default function Button(props) {
3
3
  return (React.createElement(React.Fragment, null,
4
4
  props.link ? (React.createElement(React.Fragment, null,
5
- React.createElement("a", { role: "button", ...props.attributes, href: props.link, target: props.openLinkInNewTab ? "_blank" : undefined }, props.text))) : (React.createElement("button", { className: "button-7028b0a4", ...props.attributes }, props.text)),
6
- React.createElement("style", null, `.button-7028b0a4 {
5
+ React.createElement("a", { role: "button", ...props.attributes, href: props.link, target: props.openLinkInNewTab ? "_blank" : undefined }, props.text))) : (React.createElement("button", { className: "button-66d34b93", ...props.attributes }, props.text)),
6
+ React.createElement("style", null, `.button-66d34b93 {
7
7
  all: unset;
8
8
  }`)));
9
9
  }
@@ -1,6 +1,5 @@
1
1
  const componentInfo = {
2
2
  name: "Core:Button",
3
- builtIn: true,
4
3
  image: "https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F81a15681c3e74df09677dfc57a615b13",
5
4
  defaultStyles: {
6
5
  appearance: "none",
@@ -105,13 +105,13 @@ export default function Columns(props) {
105
105
  }
106
106
  return (React.createElement(React.Fragment, null,
107
107
  React.createElement("div", { className: `builder-columns ${props.builderBlock.id}-breakpoints` +
108
- " div-bda7d4e0", style: {
108
+ " div-46a0fd84", style: {
109
109
  ...(TARGET === "reactNative" ? reactNativeColumnsStyles() : {}),
110
110
  ...columnsCssVars(),
111
111
  } },
112
112
  TARGET !== "reactNative" ? (React.createElement(React.Fragment, null,
113
113
  React.createElement(RenderInlinedStyles, { styles: columnsStyles() }))) : null,
114
- props.columns?.map((column, index) => (React.createElement("div", { className: "builder-column div-bda7d4e0-2", style: {
114
+ props.columns?.map((column, index) => (React.createElement("div", { className: "builder-column div-46a0fd84-2", style: {
115
115
  width: getColumnCssWidth(index),
116
116
  marginLeft: `${index === 0 ? 0 : getGutterSize()}px`,
117
117
  ...(TARGET === "reactNative" ? reactNativeColumnStyles() : {}),
@@ -120,10 +120,10 @@ export default function Columns(props) {
120
120
  React.createElement(RenderBlocks, { blocks: column.blocks, path: `component.options.columns.${index}.blocks`, parent: props.builderBlock.id, styleProp: {
121
121
  flexGrow: "1",
122
122
  } }))))),
123
- React.createElement("style", null, `.div-bda7d4e0 {
123
+ React.createElement("style", null, `.div-46a0fd84 {
124
124
  display: flex;
125
125
  line-height: normal;
126
- }.div-bda7d4e0-2 {
126
+ }.div-46a0fd84-2 {
127
127
  display: flex;
128
128
  flex-direction: column;
129
129
  align-items: stretch;
@@ -1,7 +1,6 @@
1
1
  import { serializeFn } from "../util.js";
2
2
  const componentInfo = {
3
3
  name: "Columns",
4
- builtIn: true,
5
4
  inputs: [
6
5
  {
7
6
  name: "columns",
@@ -1,7 +1,6 @@
1
1
  const componentInfo = {
2
2
  name: "Custom Code",
3
3
  static: true,
4
- builtIn: true,
5
4
  requiredPermissions: ["editCode"],
6
5
  inputs: [
7
6
  {
@@ -2,7 +2,6 @@ import { serializeFn } from "../util.js";
2
2
  const componentInfo = {
3
3
  name: "Embed",
4
4
  static: true,
5
- builtIn: true,
6
5
  inputs: [
7
6
  {
8
7
  name: "url",
@@ -1,6 +1,5 @@
1
1
  const componentInfo = {
2
2
  name: "Form:Form",
3
- builtIn: true,
4
3
  defaults: {
5
4
  responsiveStyles: {
6
5
  large: {
@@ -187,7 +187,7 @@ export default function FormComponent(props) {
187
187
  React.createElement(BuilderBlocks, { dataPath: "sendingMessage", blocks: props.sendingMessage }))) : null,
188
188
  " ",
189
189
  submissionState() === "error" && responseData ? (React.createElement(React.Fragment, null,
190
- React.createElement("pre", { className: "builder-form-error-text pre-4bdc7532" },
190
+ React.createElement("pre", { className: "builder-form-error-text pre-0d1abaf2" },
191
191
  " ",
192
192
  JSON.stringify(responseData, null, 2),
193
193
  " "))) : null,
@@ -196,6 +196,6 @@ export default function FormComponent(props) {
196
196
  React.createElement(BuilderBlocks, { dataPath: "successMessage", blocks: props.successMessage }))) : null,
197
197
  " "),
198
198
  " ",
199
- React.createElement("style", null, `.pre-4bdc7532 { padding: 10px; color: red; text-align: center; }`),
199
+ React.createElement("style", null, `.pre-0d1abaf2 { padding: 10px; color: red; text-align: center; }`),
200
200
  " "));
201
201
  }
@@ -2,7 +2,6 @@ const componentInfo = {
2
2
  name: "Fragment",
3
3
  static: true,
4
4
  hidden: true,
5
- builtIn: true,
6
5
  canHaveChildren: true,
7
6
  noWrap: true
8
7
  };
@@ -2,7 +2,6 @@ import { serializeFn } from "../util.js";
2
2
  const componentInfo = {
3
3
  name: "Image",
4
4
  static: true,
5
- builtIn: true,
6
5
  image: "https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-insert_photo-24px.svg?alt=media&token=4e5d0ef4-f5e8-4e57-b3a9-38d63a9b9dc4",
7
6
  defaultStyles: {
8
7
  position: "relative",
@@ -51,25 +51,25 @@ export default function Image(props) {
51
51
  ...aspectRatioCss(),
52
52
  }, className: "builder-image" +
53
53
  (props.className ? " " + props.className : "") +
54
- " img-72859b6f", src: props.image, srcSet: srcSetToUse(), sizes: props.sizes })),
54
+ " img-54289eda", src: props.image, srcSet: srcSetToUse(), sizes: props.sizes })),
55
55
  props.aspectRatio &&
56
56
  !(props.builderBlock?.children?.length && props.fitContent) ? (React.createElement(React.Fragment, null,
57
- React.createElement("div", { className: "builder-image-sizer div-72859b6f", style: {
57
+ React.createElement("div", { className: "builder-image-sizer div-54289eda", style: {
58
58
  paddingTop:
59
59
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
60
60
  props.aspectRatio * 100 + "%",
61
61
  } }))) : null,
62
62
  props.builderBlock?.children?.length && props.fitContent ? (React.createElement(React.Fragment, null, props.children)) : null,
63
63
  !props.fitContent && props.children ? (React.createElement(React.Fragment, null,
64
- React.createElement("div", { className: "div-72859b6f-2" }, props.children))) : null),
65
- React.createElement("style", null, `.img-72859b6f {
64
+ React.createElement("div", { className: "div-54289eda-2" }, props.children))) : null),
65
+ React.createElement("style", null, `.img-54289eda {
66
66
  opacity: 1;
67
67
  transition: opacity 0.2s ease-in-out;
68
- }.div-72859b6f {
68
+ }.div-54289eda {
69
69
  width: 100%;
70
70
  pointer-events: none;
71
71
  font-size: 0;
72
- }.div-72859b6f-2 {
72
+ }.div-54289eda-2 {
73
73
  display: flex;
74
74
  flex-direction: column;
75
75
  align-items: stretch;
@@ -1,7 +1,6 @@
1
1
  const componentInfo = {
2
2
  name: "Raw:Img",
3
3
  hideFromInsertMenu: true,
4
- builtIn: true,
5
4
  image: "https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-insert_photo-24px.svg?alt=media&token=4e5d0ef4-f5e8-4e57-b3a9-38d63a9b9dc4",
6
5
  inputs: [
7
6
  {
@@ -1,6 +1,5 @@
1
1
  const componentInfo = {
2
2
  name: "Form:Input",
3
- builtIn: true,
4
3
  image: "https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Fad6f37889d9e40bbbbc72cdb5875d6ca",
5
4
  inputs: [
6
5
  {
@@ -1,7 +1,6 @@
1
1
  const componentInfo = {
2
2
  name: "Builder:RawText",
3
3
  hideFromInsertMenu: true,
4
- builtIn: true,
5
4
  inputs: [
6
5
  {
7
6
  name: "text",
@@ -1,7 +1,6 @@
1
1
  const componentInfo = {
2
2
  name: "Core:Section",
3
3
  static: true,
4
- builtIn: true,
5
4
  image: "https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F682efef23ace49afac61748dd305c70a",
6
5
  inputs: [
7
6
  {
@@ -1,6 +1,5 @@
1
1
  const componentInfo = {
2
2
  name: "Form:Select",
3
- builtIn: true,
4
3
  image: "https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F83acca093fb24aaf94dee136e9a4b045",
5
4
  defaultStyles: {
6
5
  alignSelf: "flex-start"
@@ -1,6 +1,5 @@
1
1
  const componentInfo = {
2
2
  name: "Form:SubmitButton",
3
- builtIn: true,
4
3
  image: "https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Fdf2820ffed1f4349a94c40b3221f5b98",
5
4
  defaultStyles: {
6
5
  appearance: "none",
@@ -2,7 +2,6 @@ const componentInfo = {
2
2
  name: "Symbol",
3
3
  noWrap: true,
4
4
  static: true,
5
- builtIn: true,
6
5
  inputs: [
7
6
  {
8
7
  name: "symbol",
@@ -1,7 +1,6 @@
1
1
  const componentInfo = {
2
2
  name: "Text",
3
3
  static: true,
4
- builtIn: true,
5
4
  image: "https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-text_fields-24px%20(1).svg?alt=media&token=12177b73-0ee3-42ca-98c6-0dd003de1929",
6
5
  inputs: [
7
6
  {
@@ -1,6 +1,5 @@
1
1
  const componentInfo = {
2
2
  name: "Form:TextArea",
3
- builtIn: true,
4
3
  image: "https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Ff74a2f3de58c4c3e939204e5b6b8f6c3",
5
4
  inputs: [
6
5
  {
@@ -1,7 +1,6 @@
1
1
  const componentInfo = {
2
2
  name: "Video",
3
3
  canHaveChildren: true,
4
- builtIn: true,
5
4
  defaultStyles: {
6
5
  minHeight: "20px",
7
6
  minWidth: "20px"
@@ -30,10 +30,26 @@ export default function RenderBlock(props) {
30
30
  shouldEvaluateBindings: true,
31
31
  });
32
32
  }
33
+ function proxyState() {
34
+ if (typeof Proxy === "undefined") {
35
+ console.error("no Proxy available in this environment, cannot proxy state.");
36
+ return props.context.state;
37
+ }
38
+ const useState = new Proxy(props.context.state, {
39
+ set: (obj, prop, value) => {
40
+ // set the value on the state object, so that the event handler instantly gets the update.
41
+ obj[prop] = value;
42
+ // set the value in the context, so that the rest of the app gets the update.
43
+ props.context.setState?.(obj);
44
+ return true;
45
+ },
46
+ });
47
+ return useState;
48
+ }
33
49
  function actions() {
34
50
  return getBlockActions({
35
51
  block: useBlock(),
36
- state: props.context.state,
52
+ state: proxyState(),
37
53
  context: props.context.context,
38
54
  });
39
55
  }
@@ -105,6 +121,7 @@ export default function RenderBlock(props) {
105
121
  state: props.context.state,
106
122
  content: props.context.content,
107
123
  context: props.context.context,
124
+ setState: props.context.setState,
108
125
  registeredComponents: props.context.registeredComponents,
109
126
  inheritedStyles: getInheritedTextStyles(),
110
127
  };
@@ -6,6 +6,7 @@ export default function RenderRepeatedBlock(props) {
6
6
  return (React.createElement(BuilderContext.Provider, { value: {
7
7
  content: props.repeatContext.content,
8
8
  state: props.repeatContext.state,
9
+ setState: props.repeatContext.setState,
9
10
  context: props.repeatContext.context,
10
11
  apiKey: props.repeatContext.apiKey,
11
12
  registeredComponents: props.repeatContext.registeredComponents,
@@ -32,12 +32,12 @@ export default function RenderBlocks(props) {
32
32
  }
33
33
  const builderContext = useContext(BuilderContext);
34
34
  return (React.createElement(React.Fragment, null,
35
- React.createElement("div", { className: className() + " div-05727d92", "builder-path": props.path, "builder-parent-id": props.parent, dataSet: {
35
+ React.createElement("div", { className: className() + " div-297c34fa", "builder-path": props.path, "builder-parent-id": props.parent, dataSet: {
36
36
  class: className(),
37
37
  }, style: props.styleProp, onClick: (event) => onClick(), onMouseEnter: (event) => onMouseEnter() },
38
38
  props.blocks ? (React.createElement(React.Fragment, null, props.blocks?.map((block) => (React.createElement(RenderBlock, { key: "render-block-" + block.id, block: block, context: builderContext }))))) : null,
39
39
  props.blocks ? (React.createElement(React.Fragment, null, props.blocks?.map((block) => (React.createElement(BlockStyles, { key: "block-style-" + block.id, block: block, context: builderContext }))))) : null),
40
- React.createElement("style", null, `.div-05727d92 {
40
+ React.createElement("style", null, `.div-297c34fa {
41
41
  display: flex;
42
42
  flex-direction: column;
43
43
  align-items: stretch;
@@ -0,0 +1,51 @@
1
+ const getCssFromFont = (font) => {
2
+ var _a, _b;
3
+ const family = font.family + (font.kind && !font.kind.includes("#") ? ", " + font.kind : "");
4
+ const name = family.split(",")[0];
5
+ const url = (_b = font.fileUrl) != null ? _b : (_a = font == null ? void 0 : font.files) == null ? void 0 : _a.regular;
6
+ let str = "";
7
+ if (url && family && name) {
8
+ str += `
9
+ @font-face {
10
+ font-family: "${family}";
11
+ src: local("${name}"), url('${url}') format('woff2');
12
+ font-display: fallback;
13
+ font-weight: 400;
14
+ }
15
+ `.trim();
16
+ }
17
+ if (font.files) {
18
+ for (const weight in font.files) {
19
+ const isNumber = String(Number(weight)) === weight;
20
+ if (!isNumber) {
21
+ continue;
22
+ }
23
+ const weightUrl = font.files[weight];
24
+ if (weightUrl && weightUrl !== url) {
25
+ str += `
26
+ @font-face {
27
+ font-family: "${family}";
28
+ src: url('${weightUrl}') format('woff2');
29
+ font-display: fallback;
30
+ font-weight: ${weight};
31
+ }
32
+ `.trim();
33
+ }
34
+ }
35
+ }
36
+ return str;
37
+ };
38
+ const getFontCss = ({ customFonts }) => {
39
+ var _a;
40
+ return ((_a = customFonts == null ? void 0 : customFonts.map((font) => getCssFromFont(font))) == null ? void 0 : _a.join(" ")) || "";
41
+ };
42
+ const getCss = ({ cssCode, contentId }) => {
43
+ if (!cssCode) {
44
+ return "";
45
+ }
46
+ if (!contentId) {
47
+ return cssCode;
48
+ }
49
+ return (cssCode == null ? void 0 : cssCode.replace(/&/g, `div[builder-content-id="${contentId}"]`)) || "";
50
+ };
51
+ export { getCss, getFontCss };
@@ -1,59 +1,17 @@
1
1
  import * as React from "react";
2
+ import { useState } from "react";
2
3
  import RenderInlinedStyles from "../../render-inlined-styles";
4
+ import { getCss } from "./render-styles.helpers";
5
+ import { getFontCss } from "./render-styles.helpers";
3
6
  export default function RenderContentStyles(props) {
4
- function getCssFromFont(font) {
5
- // TODO: compute what font sizes are used and only load those.......
6
- const family = font.family +
7
- (font.kind && !font.kind.includes("#") ? ", " + font.kind : "");
8
- const name = family.split(",")[0];
9
- const url = font.fileUrl ?? font?.files?.regular;
10
- let str = "";
11
- if (url && family && name) {
12
- str += `
13
- @font-face {
14
- font-family: "${family}";
15
- src: local("${name}"), url('${url}') format('woff2');
16
- font-display: fallback;
17
- font-weight: 400;
18
- }
19
- `.trim();
20
- }
21
- if (font.files) {
22
- for (const weight in font.files) {
23
- const isNumber = String(Number(weight)) === weight;
24
- if (!isNumber) {
25
- continue;
26
- }
27
- // TODO: maybe limit number loaded
28
- const weightUrl = font.files[weight];
29
- if (weightUrl && weightUrl !== url) {
30
- str += `
31
- @font-face {
32
- font-family: "${family}";
33
- src: url('${weightUrl}') format('woff2');
34
- font-display: fallback;
35
- font-weight: ${weight};
36
- }
37
- `.trim();
38
- }
39
- }
40
- }
41
- return str;
42
- }
43
- function getFontCss({ customFonts }) {
44
- // TODO: flag for this
45
- // if (!builder.allowCustomFonts) {
46
- // return '';
47
- // }
48
- // TODO: separate internal data from external
49
- return customFonts?.map((font) => getCssFromFont(font))?.join(" ") || "";
50
- }
51
- function injectedStyles() {
52
- return `
53
- ${props.cssCode || ""}
7
+ const [injectedStyles, setInjectedStyles] = useState(() => `
8
+ ${getCss({
9
+ cssCode: props.cssCode,
10
+ contentId: props.contentId,
11
+ })}
54
12
  ${getFontCss({
55
- customFonts: props.customFonts,
56
- })}`;
57
- }
58
- return React.createElement(RenderInlinedStyles, { styles: injectedStyles() });
13
+ customFonts: props.customFonts,
14
+ })}
15
+ `);
16
+ return React.createElement(RenderInlinedStyles, { styles: injectedStyles });
59
17
  }
@@ -0,0 +1,38 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ const getContextStateInitialValue = ({ content, data, locale }) => {
21
+ var _a, _b, _c;
22
+ const defaultValues = {};
23
+ (_b = (_a = content == null ? void 0 : content.data) == null ? void 0 : _a.inputs) == null ? void 0 : _b.forEach((input) => {
24
+ var _a2;
25
+ if (input.name && input.defaultValue !== void 0 && ((_a2 = content == null ? void 0 : content.data) == null ? void 0 : _a2.state) && content.data.state[input.name] === void 0) {
26
+ defaultValues[input.name] = input.defaultValue;
27
+ }
28
+ });
29
+ const stateToUse = __spreadValues(__spreadValues(__spreadValues({}, (_c = content == null ? void 0 : content.data) == null ? void 0 : _c.state), data), locale ? { locale } : {});
30
+ return __spreadValues(__spreadValues({}, defaultValues), stateToUse);
31
+ };
32
+ const getContentInitialValue = ({ content, data }) => {
33
+ return !content ? void 0 : __spreadProps(__spreadValues({}, content), {
34
+ data: __spreadValues(__spreadValues({}, content == null ? void 0 : content.data), data),
35
+ meta: content == null ? void 0 : content.meta
36
+ });
37
+ };
38
+ export { getContentInitialValue, getContextStateInitialValue };