@builder.io/sdk-react-native 3.0.0 → 3.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 (258) hide show
  1. package/lib/browser/commonjs/blocks/image/component-info.js +2 -1
  2. package/lib/browser/commonjs/blocks/image/component-info.js.map +1 -1
  3. package/lib/browser/commonjs/blocks/img/component-info.js +2 -1
  4. package/lib/browser/commonjs/blocks/img/component-info.js.map +1 -1
  5. package/lib/browser/commonjs/blocks/video/component-info.js +3 -2
  6. package/lib/browser/commonjs/blocks/video/component-info.js.map +1 -1
  7. package/lib/browser/commonjs/components/block/block.helpers.js +17 -6
  8. package/lib/browser/commonjs/components/block/block.helpers.js.map +1 -1
  9. package/lib/browser/commonjs/components/block/block.js +3 -2
  10. package/lib/browser/commonjs/components/block/block.js.map +1 -1
  11. package/lib/browser/commonjs/components/content/components/enable-editor.helpers.js +24 -0
  12. package/lib/browser/commonjs/components/content/components/enable-editor.helpers.js.map +1 -0
  13. package/lib/browser/commonjs/components/content/components/enable-editor.js +17 -7
  14. package/lib/browser/commonjs/components/content/components/enable-editor.js.map +1 -1
  15. package/lib/browser/commonjs/components/content/content.js +37 -54
  16. package/lib/browser/commonjs/components/content/content.js.map +1 -1
  17. package/lib/browser/commonjs/constants/file-types.js +9 -0
  18. package/lib/browser/commonjs/constants/file-types.js.map +1 -0
  19. package/lib/browser/commonjs/constants/sdk-version.js +1 -1
  20. package/lib/browser/commonjs/context/builder.context.js +2 -1
  21. package/lib/browser/commonjs/context/builder.context.js.map +1 -1
  22. package/lib/browser/commonjs/functions/extract-localized-values.js +45 -0
  23. package/lib/browser/commonjs/functions/extract-localized-values.js.map +1 -0
  24. package/lib/browser/commonjs/functions/get-processed-block.js +3 -1
  25. package/lib/browser/commonjs/functions/get-processed-block.js.map +1 -1
  26. package/lib/browser/commonjs/functions/register-component.js +4 -1
  27. package/lib/browser/commonjs/functions/register-component.js.map +1 -1
  28. package/lib/browser/commonjs/functions/traverse.js +69 -0
  29. package/lib/browser/commonjs/functions/traverse.js.map +1 -0
  30. package/lib/browser/module/blocks/image/component-info.js +2 -1
  31. package/lib/browser/module/blocks/image/component-info.js.map +1 -1
  32. package/lib/browser/module/blocks/img/component-info.js +2 -1
  33. package/lib/browser/module/blocks/img/component-info.js.map +1 -1
  34. package/lib/browser/module/blocks/video/component-info.js +3 -2
  35. package/lib/browser/module/blocks/video/component-info.js.map +1 -1
  36. package/lib/browser/module/components/block/block.helpers.js +17 -6
  37. package/lib/browser/module/components/block/block.helpers.js.map +1 -1
  38. package/lib/browser/module/components/block/block.js +3 -2
  39. package/lib/browser/module/components/block/block.js.map +1 -1
  40. package/lib/browser/module/components/content/components/enable-editor.helpers.js +17 -0
  41. package/lib/browser/module/components/content/components/enable-editor.helpers.js.map +1 -0
  42. package/lib/browser/module/components/content/components/enable-editor.js +17 -7
  43. package/lib/browser/module/components/content/components/enable-editor.js.map +1 -1
  44. package/lib/browser/module/components/content/content.js +37 -54
  45. package/lib/browser/module/components/content/content.js.map +1 -1
  46. package/lib/browser/module/constants/file-types.js +3 -0
  47. package/lib/browser/module/constants/file-types.js.map +1 -0
  48. package/lib/browser/module/constants/sdk-version.js +1 -1
  49. package/lib/browser/module/context/builder.context.js +2 -1
  50. package/lib/browser/module/context/builder.context.js.map +1 -1
  51. package/lib/browser/module/functions/extract-localized-values.js +39 -0
  52. package/lib/browser/module/functions/extract-localized-values.js.map +1 -0
  53. package/lib/browser/module/functions/get-processed-block.js +3 -1
  54. package/lib/browser/module/functions/get-processed-block.js.map +1 -1
  55. package/lib/browser/module/functions/register-component.js +4 -1
  56. package/lib/browser/module/functions/register-component.js.map +1 -1
  57. package/lib/browser/module/functions/traverse.js +63 -0
  58. package/lib/browser/module/functions/traverse.js.map +1 -0
  59. package/lib/browser/typescript/blocks/image/component-info.d.ts.map +1 -1
  60. package/lib/browser/typescript/components/block/block.d.ts.map +1 -1
  61. package/lib/browser/typescript/components/block/block.helpers.d.ts +6 -3
  62. package/lib/browser/typescript/components/block/block.helpers.d.ts.map +1 -1
  63. package/lib/browser/typescript/components/content/components/enable-editor.d.ts.map +1 -1
  64. package/lib/browser/typescript/components/content/components/enable-editor.helpers.d.ts +12 -0
  65. package/lib/browser/typescript/components/content/components/enable-editor.helpers.d.ts.map +1 -0
  66. package/lib/browser/typescript/components/content/content.d.ts.map +1 -1
  67. package/lib/browser/typescript/constants/file-types.d.ts +3 -0
  68. package/lib/browser/typescript/constants/file-types.d.ts.map +1 -0
  69. package/lib/browser/typescript/constants/sdk-version.d.ts +1 -1
  70. package/lib/browser/typescript/context/builder.context.d.ts.map +1 -1
  71. package/lib/browser/typescript/context/types.d.ts +1 -0
  72. package/lib/browser/typescript/context/types.d.ts.map +1 -1
  73. package/lib/browser/typescript/functions/extract-localized-values.d.ts +3 -0
  74. package/lib/browser/typescript/functions/extract-localized-values.d.ts.map +1 -0
  75. package/lib/browser/typescript/functions/get-processed-block.d.ts.map +1 -1
  76. package/lib/browser/typescript/functions/register-component.d.ts.map +1 -1
  77. package/lib/browser/typescript/functions/traverse.d.ts +35 -0
  78. package/lib/browser/typescript/functions/traverse.d.ts.map +1 -0
  79. package/lib/browser/typescript/types/components.d.ts +3 -0
  80. package/lib/browser/typescript/types/components.d.ts.map +1 -1
  81. package/lib/edge/commonjs/blocks/image/component-info.js +2 -1
  82. package/lib/edge/commonjs/blocks/image/component-info.js.map +1 -1
  83. package/lib/edge/commonjs/blocks/img/component-info.js +2 -1
  84. package/lib/edge/commonjs/blocks/img/component-info.js.map +1 -1
  85. package/lib/edge/commonjs/blocks/video/component-info.js +3 -2
  86. package/lib/edge/commonjs/blocks/video/component-info.js.map +1 -1
  87. package/lib/edge/commonjs/components/block/block.helpers.js +17 -6
  88. package/lib/edge/commonjs/components/block/block.helpers.js.map +1 -1
  89. package/lib/edge/commonjs/components/block/block.js +3 -2
  90. package/lib/edge/commonjs/components/block/block.js.map +1 -1
  91. package/lib/edge/commonjs/components/content/components/enable-editor.helpers.js +24 -0
  92. package/lib/edge/commonjs/components/content/components/enable-editor.helpers.js.map +1 -0
  93. package/lib/edge/commonjs/components/content/components/enable-editor.js +17 -7
  94. package/lib/edge/commonjs/components/content/components/enable-editor.js.map +1 -1
  95. package/lib/edge/commonjs/components/content/content.js +37 -54
  96. package/lib/edge/commonjs/components/content/content.js.map +1 -1
  97. package/lib/edge/commonjs/constants/file-types.js +9 -0
  98. package/lib/edge/commonjs/constants/file-types.js.map +1 -0
  99. package/lib/edge/commonjs/constants/sdk-version.js +1 -1
  100. package/lib/edge/commonjs/context/builder.context.js +2 -1
  101. package/lib/edge/commonjs/context/builder.context.js.map +1 -1
  102. package/lib/edge/commonjs/functions/extract-localized-values.js +45 -0
  103. package/lib/edge/commonjs/functions/extract-localized-values.js.map +1 -0
  104. package/lib/edge/commonjs/functions/get-processed-block.js +3 -1
  105. package/lib/edge/commonjs/functions/get-processed-block.js.map +1 -1
  106. package/lib/edge/commonjs/functions/register-component.js +4 -1
  107. package/lib/edge/commonjs/functions/register-component.js.map +1 -1
  108. package/lib/edge/commonjs/functions/traverse.js +69 -0
  109. package/lib/edge/commonjs/functions/traverse.js.map +1 -0
  110. package/lib/edge/module/blocks/image/component-info.js +2 -1
  111. package/lib/edge/module/blocks/image/component-info.js.map +1 -1
  112. package/lib/edge/module/blocks/img/component-info.js +2 -1
  113. package/lib/edge/module/blocks/img/component-info.js.map +1 -1
  114. package/lib/edge/module/blocks/video/component-info.js +3 -2
  115. package/lib/edge/module/blocks/video/component-info.js.map +1 -1
  116. package/lib/edge/module/components/block/block.helpers.js +17 -6
  117. package/lib/edge/module/components/block/block.helpers.js.map +1 -1
  118. package/lib/edge/module/components/block/block.js +3 -2
  119. package/lib/edge/module/components/block/block.js.map +1 -1
  120. package/lib/edge/module/components/content/components/enable-editor.helpers.js +17 -0
  121. package/lib/edge/module/components/content/components/enable-editor.helpers.js.map +1 -0
  122. package/lib/edge/module/components/content/components/enable-editor.js +17 -7
  123. package/lib/edge/module/components/content/components/enable-editor.js.map +1 -1
  124. package/lib/edge/module/components/content/content.js +37 -54
  125. package/lib/edge/module/components/content/content.js.map +1 -1
  126. package/lib/edge/module/constants/file-types.js +3 -0
  127. package/lib/edge/module/constants/file-types.js.map +1 -0
  128. package/lib/edge/module/constants/sdk-version.js +1 -1
  129. package/lib/edge/module/context/builder.context.js +2 -1
  130. package/lib/edge/module/context/builder.context.js.map +1 -1
  131. package/lib/edge/module/functions/extract-localized-values.js +39 -0
  132. package/lib/edge/module/functions/extract-localized-values.js.map +1 -0
  133. package/lib/edge/module/functions/get-processed-block.js +3 -1
  134. package/lib/edge/module/functions/get-processed-block.js.map +1 -1
  135. package/lib/edge/module/functions/register-component.js +4 -1
  136. package/lib/edge/module/functions/register-component.js.map +1 -1
  137. package/lib/edge/module/functions/traverse.js +63 -0
  138. package/lib/edge/module/functions/traverse.js.map +1 -0
  139. package/lib/edge/typescript/blocks/image/component-info.d.ts.map +1 -1
  140. package/lib/edge/typescript/components/block/block.d.ts.map +1 -1
  141. package/lib/edge/typescript/components/block/block.helpers.d.ts +6 -3
  142. package/lib/edge/typescript/components/block/block.helpers.d.ts.map +1 -1
  143. package/lib/edge/typescript/components/content/components/enable-editor.d.ts.map +1 -1
  144. package/lib/edge/typescript/components/content/components/enable-editor.helpers.d.ts +12 -0
  145. package/lib/edge/typescript/components/content/components/enable-editor.helpers.d.ts.map +1 -0
  146. package/lib/edge/typescript/components/content/content.d.ts.map +1 -1
  147. package/lib/edge/typescript/constants/file-types.d.ts +3 -0
  148. package/lib/edge/typescript/constants/file-types.d.ts.map +1 -0
  149. package/lib/edge/typescript/constants/sdk-version.d.ts +1 -1
  150. package/lib/edge/typescript/context/builder.context.d.ts.map +1 -1
  151. package/lib/edge/typescript/context/types.d.ts +1 -0
  152. package/lib/edge/typescript/context/types.d.ts.map +1 -1
  153. package/lib/edge/typescript/functions/extract-localized-values.d.ts +3 -0
  154. package/lib/edge/typescript/functions/extract-localized-values.d.ts.map +1 -0
  155. package/lib/edge/typescript/functions/get-processed-block.d.ts.map +1 -1
  156. package/lib/edge/typescript/functions/register-component.d.ts.map +1 -1
  157. package/lib/edge/typescript/functions/traverse.d.ts +35 -0
  158. package/lib/edge/typescript/functions/traverse.d.ts.map +1 -0
  159. package/lib/edge/typescript/types/components.d.ts +3 -0
  160. package/lib/edge/typescript/types/components.d.ts.map +1 -1
  161. package/lib/node/commonjs/blocks/image/component-info.js +2 -1
  162. package/lib/node/commonjs/blocks/image/component-info.js.map +1 -1
  163. package/lib/node/commonjs/blocks/img/component-info.js +2 -1
  164. package/lib/node/commonjs/blocks/img/component-info.js.map +1 -1
  165. package/lib/node/commonjs/blocks/video/component-info.js +3 -2
  166. package/lib/node/commonjs/blocks/video/component-info.js.map +1 -1
  167. package/lib/node/commonjs/components/block/block.helpers.js +17 -6
  168. package/lib/node/commonjs/components/block/block.helpers.js.map +1 -1
  169. package/lib/node/commonjs/components/block/block.js +3 -2
  170. package/lib/node/commonjs/components/block/block.js.map +1 -1
  171. package/lib/node/commonjs/components/content/components/enable-editor.helpers.js +24 -0
  172. package/lib/node/commonjs/components/content/components/enable-editor.helpers.js.map +1 -0
  173. package/lib/node/commonjs/components/content/components/enable-editor.js +17 -7
  174. package/lib/node/commonjs/components/content/components/enable-editor.js.map +1 -1
  175. package/lib/node/commonjs/components/content/content.js +37 -54
  176. package/lib/node/commonjs/components/content/content.js.map +1 -1
  177. package/lib/node/commonjs/constants/file-types.js +9 -0
  178. package/lib/node/commonjs/constants/file-types.js.map +1 -0
  179. package/lib/node/commonjs/constants/sdk-version.js +1 -1
  180. package/lib/node/commonjs/context/builder.context.js +2 -1
  181. package/lib/node/commonjs/context/builder.context.js.map +1 -1
  182. package/lib/node/commonjs/functions/extract-localized-values.js +45 -0
  183. package/lib/node/commonjs/functions/extract-localized-values.js.map +1 -0
  184. package/lib/node/commonjs/functions/get-processed-block.js +3 -1
  185. package/lib/node/commonjs/functions/get-processed-block.js.map +1 -1
  186. package/lib/node/commonjs/functions/register-component.js +4 -1
  187. package/lib/node/commonjs/functions/register-component.js.map +1 -1
  188. package/lib/node/commonjs/functions/traverse.js +69 -0
  189. package/lib/node/commonjs/functions/traverse.js.map +1 -0
  190. package/lib/node/module/blocks/image/component-info.js +2 -1
  191. package/lib/node/module/blocks/image/component-info.js.map +1 -1
  192. package/lib/node/module/blocks/img/component-info.js +2 -1
  193. package/lib/node/module/blocks/img/component-info.js.map +1 -1
  194. package/lib/node/module/blocks/video/component-info.js +3 -2
  195. package/lib/node/module/blocks/video/component-info.js.map +1 -1
  196. package/lib/node/module/components/block/block.helpers.js +17 -6
  197. package/lib/node/module/components/block/block.helpers.js.map +1 -1
  198. package/lib/node/module/components/block/block.js +3 -2
  199. package/lib/node/module/components/block/block.js.map +1 -1
  200. package/lib/node/module/components/content/components/enable-editor.helpers.js +17 -0
  201. package/lib/node/module/components/content/components/enable-editor.helpers.js.map +1 -0
  202. package/lib/node/module/components/content/components/enable-editor.js +17 -7
  203. package/lib/node/module/components/content/components/enable-editor.js.map +1 -1
  204. package/lib/node/module/components/content/content.js +37 -54
  205. package/lib/node/module/components/content/content.js.map +1 -1
  206. package/lib/node/module/constants/file-types.js +3 -0
  207. package/lib/node/module/constants/file-types.js.map +1 -0
  208. package/lib/node/module/constants/sdk-version.js +1 -1
  209. package/lib/node/module/context/builder.context.js +2 -1
  210. package/lib/node/module/context/builder.context.js.map +1 -1
  211. package/lib/node/module/functions/extract-localized-values.js +39 -0
  212. package/lib/node/module/functions/extract-localized-values.js.map +1 -0
  213. package/lib/node/module/functions/get-processed-block.js +3 -1
  214. package/lib/node/module/functions/get-processed-block.js.map +1 -1
  215. package/lib/node/module/functions/register-component.js +4 -1
  216. package/lib/node/module/functions/register-component.js.map +1 -1
  217. package/lib/node/module/functions/traverse.js +63 -0
  218. package/lib/node/module/functions/traverse.js.map +1 -0
  219. package/lib/node/typescript/blocks/image/component-info.d.ts.map +1 -1
  220. package/lib/node/typescript/components/block/block.d.ts.map +1 -1
  221. package/lib/node/typescript/components/block/block.helpers.d.ts +6 -3
  222. package/lib/node/typescript/components/block/block.helpers.d.ts.map +1 -1
  223. package/lib/node/typescript/components/content/components/enable-editor.d.ts.map +1 -1
  224. package/lib/node/typescript/components/content/components/enable-editor.helpers.d.ts +12 -0
  225. package/lib/node/typescript/components/content/components/enable-editor.helpers.d.ts.map +1 -0
  226. package/lib/node/typescript/components/content/content.d.ts.map +1 -1
  227. package/lib/node/typescript/constants/file-types.d.ts +3 -0
  228. package/lib/node/typescript/constants/file-types.d.ts.map +1 -0
  229. package/lib/node/typescript/constants/sdk-version.d.ts +1 -1
  230. package/lib/node/typescript/context/builder.context.d.ts.map +1 -1
  231. package/lib/node/typescript/context/types.d.ts +1 -0
  232. package/lib/node/typescript/context/types.d.ts.map +1 -1
  233. package/lib/node/typescript/functions/extract-localized-values.d.ts +3 -0
  234. package/lib/node/typescript/functions/extract-localized-values.d.ts.map +1 -0
  235. package/lib/node/typescript/functions/get-processed-block.d.ts.map +1 -1
  236. package/lib/node/typescript/functions/register-component.d.ts.map +1 -1
  237. package/lib/node/typescript/functions/traverse.d.ts +35 -0
  238. package/lib/node/typescript/functions/traverse.d.ts.map +1 -0
  239. package/lib/node/typescript/types/components.d.ts +3 -0
  240. package/lib/node/typescript/types/components.d.ts.map +1 -1
  241. package/package.json +1 -1
  242. package/src/blocks/image/component-info.ts +2 -1
  243. package/src/blocks/img/component-info.ts +2 -1
  244. package/src/blocks/video/component-info.ts +3 -2
  245. package/src/components/block/block.helpers.ts +18 -6
  246. package/src/components/block/block.tsx +3 -1
  247. package/src/components/content/components/enable-editor.helpers.ts +18 -0
  248. package/src/components/content/components/enable-editor.tsx +25 -5
  249. package/src/components/content/content.tsx +3 -10
  250. package/src/constants/file-types.ts +2 -0
  251. package/src/constants/sdk-version.ts +1 -1
  252. package/src/context/builder.context.ts +1 -0
  253. package/src/context/types.ts +1 -0
  254. package/src/functions/extract-localized-values.ts +38 -0
  255. package/src/functions/get-processed-block.ts +3 -1
  256. package/src/functions/register-component.ts +4 -1
  257. package/src/functions/traverse.ts +64 -0
  258. package/src/types/components.ts +3 -0
@@ -1 +1 @@
1
- {"version":3,"file":"enable-editor.d.ts","sourceRoot":"","sources":["../../../../../../src/components/content/components/enable-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAgB/B,KAAK,kBAAkB,GAAG,IAAI,CAC5B,YAAY,EACV,kBAAkB,GAClB,YAAY,GACZ,aAAa,GACb,eAAe,GACf,oBAAoB,GACpB,eAAe,CAClB,GAAG;IACF,oBAAoB,EAAE,uBAAuB,CAAC;IAC9C,uBAAuB,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;IAC/C,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB,CAAC;AAEF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAuBtE,OAAO,KAAK,EAEV,YAAY,EACb,MAAM,kBAAkB,CAAC;AAG1B,iBAAS,YAAY,CAAC,KAAK,EAAE,kBAAkB,qBAkY9C;AAED,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"enable-editor.d.ts","sourceRoot":"","sources":["../../../../../../src/components/content/components/enable-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAgB/B,KAAK,kBAAkB,GAAG,IAAI,CAC5B,YAAY,EACV,kBAAkB,GAClB,YAAY,GACZ,aAAa,GACb,eAAe,GACf,oBAAoB,GACpB,eAAe,CAClB,GAAG;IACF,oBAAoB,EAAE,uBAAuB,CAAC;IAC9C,uBAAuB,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;IAC/C,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB,CAAC;AAEF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAuBtE,OAAO,KAAK,EAEV,YAAY,EACb,MAAM,kBAAkB,CAAC;AAI1B,iBAAS,YAAY,CAAC,KAAK,EAAE,kBAAkB,qBAqZ9C;AAED,eAAe,YAAY,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { Target } from '../../../types/targets';
2
+ /**
3
+ * SDKS that use the elementRef approach to enable visual editing.
4
+ * We don't need to render the div for other SDKs as they attach event listeners to the window.
5
+ */
6
+ export declare const SDKS_USING_ELEMENT_REF_APPROACH: Target[];
7
+ /**
8
+ * We need to attach this div only when content exists or isPreviewing/isEditing even when content is null,
9
+ * as we need to set the elementRef and allow previewing and visual editing
10
+ */
11
+ export declare const needsElementRefDivForEditing: () => boolean;
12
+ //# sourceMappingURL=enable-editor.helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enable-editor.helpers.d.ts","sourceRoot":"","sources":["../../../../../../src/components/content/components/enable-editor.helpers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD;;;GAGG;AACH,eAAO,MAAM,+BAA+B,UAA0C,CAAC;AAEvF;;;GAGG;AACH,eAAO,MAAM,4BAA4B,eAExC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../../../src/components/content/content.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAsC/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGpD,iBAAS,gBAAgB,CAAC,KAAK,EAAE,YAAY,qBA+J5C;AAED,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../../../src/components/content/content.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAsC/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGpD,iBAAS,gBAAgB,CAAC,KAAK,EAAE,YAAY,qBAwJ5C;AAED,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const IMAGE_FILE_TYPES: string[];
2
+ export declare const VIDEO_FILE_TYPES: string[];
3
+ //# sourceMappingURL=file-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-types.d.ts","sourceRoot":"","sources":["../../../../src/constants/file-types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,UAA2L,CAAC;AACzN,eAAO,MAAM,gBAAgB,UAAsR,CAAA"}
@@ -1,2 +1,2 @@
1
- export declare const SDK_VERSION = "3.0.0";
1
+ export declare const SDK_VERSION = "3.0.1";
2
2
  //# sourceMappingURL=sdk-version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"builder.context.d.ts","sourceRoot":"","sources":["../../../../src/context/builder.context.ts"],"names":[],"mappings":";;AAEA,wBAaG"}
1
+ {"version":3,"file":"builder.context.d.ts","sourceRoot":"","sources":["../../../../src/context/builder.context.ts"],"names":[],"mappings":";;AAEA,wBAcG"}
@@ -36,6 +36,7 @@ export interface BuilderContextInterface extends Pick<BlocksWrapperProps, 'Block
36
36
  componentInfos: Dictionary<ComponentInfo>;
37
37
  inheritedStyles: Record<string, unknown>;
38
38
  nonce: string;
39
+ model: string;
39
40
  canTrack?: boolean;
40
41
  }
41
42
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/context/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG;IAChD,SAAS,EAAE,kBAAkB,CAAC;CAC/B,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;AACnE,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACzD,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC3D,MAAM,WAAW,uBAAwB,SAAQ,IAAI,CAAC,kBAAkB,EAAE,eAAe,GAAG,oBAAoB,CAAC,EAAE,iBAAiB;IAClI,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IAClC,OAAO,EAAE,oBAAoB,CAAC;IAC9B;;;;OAIG;IACH,SAAS,EAAE,kBAAkB,CAAC;IAC9B;;;OAGG;IACH,YAAY,EAAE,CAAC,CAAC,SAAS,EAAE,kBAAkB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACpE;;;;OAIG;IACH,UAAU,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC3C,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC;IACnC,cAAc,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;IAE1C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/context/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG;IAChD,SAAS,EAAE,kBAAkB,CAAC;CAC/B,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;AACnE,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACzD,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC3D,MAAM,WAAW,uBAAwB,SAAQ,IAAI,CAAC,kBAAkB,EAAE,eAAe,GAAG,oBAAoB,CAAC,EAAE,iBAAiB;IAClI,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IAClC,OAAO,EAAE,oBAAoB,CAAC;IAC9B;;;;OAIG;IACH,SAAS,EAAE,kBAAkB,CAAC;IAC9B;;;OAGG;IACH,YAAY,EAAE,CAAC,CAAC,SAAS,EAAE,kBAAkB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACpE;;;;OAIG;IACH,UAAU,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC3C,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC;IACnC,cAAc,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;IAE1C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB"}
@@ -0,0 +1,3 @@
1
+ import type { BuilderBlock } from '../types/builder-block';
2
+ export declare function resolveLocalizedValues(block: BuilderBlock, locale: string | undefined): BuilderBlock;
3
+ //# sourceMappingURL=extract-localized-values.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-localized-values.d.ts","sourceRoot":"","sources":["../../../../src/functions/extract-localized-values.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AA6B3D,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,gBAQrF"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-processed-block.d.ts","sourceRoot":"","sources":["../../../../src/functions/get-processed-block.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAO3D,wBAAgB,uBAAuB,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAiB1D;AAwDD,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,OAAO,EACP,sBAAsB,EACtB,UAAU,EACV,SAAS,EACT,YAAY,EACb,EAAE;IACD,KAAK,EAAE,YAAY,CAAC;IACpB;;;OAGG;IACH,sBAAsB,EAAE,OAAO,CAAC;CACjC,GAAG,IAAI,CAAC,uBAAuB,EAAE,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,cAAc,CAAC,GAAG,YAAY,CAaxG"}
1
+ {"version":3,"file":"get-processed-block.d.ts","sourceRoot":"","sources":["../../../../src/functions/get-processed-block.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAQ3D,wBAAgB,uBAAuB,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAiB1D;AAwDD,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,OAAO,EACP,sBAAsB,EACtB,UAAU,EACV,SAAS,EACT,YAAY,EACb,EAAE;IACD,KAAK,EAAE,YAAY,CAAC;IACpB;;;OAGG;IACH,sBAAsB,EAAE,OAAO,CAAC;CACjC,GAAG,IAAI,CAAC,uBAAuB,EAAE,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,cAAc,CAAC,GAAG,YAAY,CAcxG"}
@@ -1 +1 @@
1
- {"version":3,"file":"register-component.d.ts","sourceRoot":"","sources":["../../../../src/functions/register-component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,eAAO,MAAM,8BAA8B,SAAU,aAAa;;;CAGhE,CAAC;AAeH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,aAAa,OAO9D"}
1
+ {"version":3,"file":"register-component.d.ts","sourceRoot":"","sources":["../../../../src/functions/register-component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,eAAO,MAAM,8BAA8B,SAAU,aAAa;;;CAGhE,CAAC;AAkBH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,aAAa,OAO9D"}
@@ -0,0 +1,35 @@
1
+ type TraverseCallback = (value: any, update: (newValue: any) => void) => void;
2
+ /**
3
+ * Recursively traverses an object or array, invoking a callback on each value.
4
+ *
5
+ * @param {any} obj - The object or array to traverse. Can also handle primitives, null, or undefined.
6
+ * @param {TraverseCallback} callback - The function to invoke on each value. Receives the current value
7
+ * and an `update` function to modify the value in its parent container.
8
+ * @param {any} [parent=null] - The parent object or array of the current value. Used internally.
9
+ * @param {any} [key=null] - The key or index of the current value in its parent. Used internally.
10
+ * @param {WeakSet} [visited=new WeakSet()] - Tracks visited objects to handle circular references. Used internally.
11
+ *
12
+ * @example
13
+ * // Example: Doubling all numbers in an object
14
+ * const obj = { a: 1, b: [2, 3, { c: 4 }] };
15
+ * traverse(obj, (value, update) => {
16
+ * if (typeof value === 'number') {
17
+ * update(value * 2);
18
+ * }
19
+ * });
20
+ * console.log(obj); // { a: 2, b: [4, 6, { c: 8 }] }
21
+ *
22
+ * @example
23
+ * // Example: Handling circular references
24
+ * const obj = { a: 1 };
25
+ * obj.self = obj;
26
+ * traverse(obj, (value, update) => {
27
+ * if (typeof value === 'number') {
28
+ * update(value * 2);
29
+ * }
30
+ * });
31
+ * console.log(obj.a); // 2
32
+ */
33
+ export declare function traverse(obj: any, callback: TraverseCallback, parent?: any, key?: any, visited?: WeakSet<object>): void;
34
+ export {};
35
+ //# sourceMappingURL=traverse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traverse.d.ts","sourceRoot":"","sources":["../../../../src/functions/traverse.ts"],"names":[],"mappings":"AAAA,KAAK,gBAAgB,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI,KAAK,IAAI,CAAC;AAE9E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,GAAE,GAAU,EAAE,GAAG,GAAE,GAAU,EAAE,OAAO,kBAAgB,GAAG,IAAI,CA8BjI"}
@@ -146,6 +146,9 @@ export interface ComponentInfo {
146
146
  */
147
147
  builderLinkComponent?: boolean;
148
148
  };
149
+ meta?: {
150
+ [key: string]: any;
151
+ };
149
152
  }
150
153
  type Permission = 'read' | 'publish' | 'editCode' | 'editDesigns' | 'admin' | 'create';
151
154
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../../src/types/components.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,IAAI,CAAC,EAAE,SAAS,GAAG,cAAc,GAAG,OAAO,GAAG,KAAK,CAAC;IACpD,aAAa,CAAC,EAAE;QACd,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;IACF;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAEnC,KAAK,CAAC,EAAE;QACN,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;KAClC,CAAC;IACF;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAElB;;OAEG;IACH,iBAAiB,CAAC,EAAE;QAClB,+FAA+F;QAC/F,OAAO,EAAE,MAAM,CAAC;QAChB,mEAAmE;QACnE,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB;;;;;;;;;WASG;QACH,KAAK,CAAC,EAAE,GAAG,CAAC;KACb,CAAC;IAEF;;OAEG;IACH,cAAc,CAAC,EAAE;QACf,2GAA2G;QAC3G,OAAO,EAAE,MAAM,CAAC;QAChB,uFAAuF;QACvF,SAAS,CAAC,EAAE,MAAM,CAAC;QAEnB;;;;;;;;;WASG;QACH,KAAK,CAAC,EAAE,GAAG,CAAC;KACb,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAGxC,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,yBAAyB,CAAC,EAAE;QAC1B;;;;WAIG;QACH,YAAY,CAAC,EAAE,OAAO,CAAC;QAEvB;;;;;;WAMG;QACH,cAAc,CAAC,EAAE,OAAO,CAAC;QAEzB;;;;WAIG;QACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAE5B;;;;WAIG;QACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;KAChC,CAAC;CACH;AACD,KAAK,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,aAAa,GAAG,OAAO,GAAG,QAAQ,CAAA"}
1
+ {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../../src/types/components.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,IAAI,CAAC,EAAE,SAAS,GAAG,cAAc,GAAG,OAAO,GAAG,KAAK,CAAC;IACpD,aAAa,CAAC,EAAE;QACd,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;IACF;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAEnC,KAAK,CAAC,EAAE;QACN,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;KAClC,CAAC;IACF;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAElB;;OAEG;IACH,iBAAiB,CAAC,EAAE;QAClB,+FAA+F;QAC/F,OAAO,EAAE,MAAM,CAAC;QAChB,mEAAmE;QACnE,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB;;;;;;;;;WASG;QACH,KAAK,CAAC,EAAE,GAAG,CAAC;KACb,CAAC;IAEF;;OAEG;IACH,cAAc,CAAC,EAAE;QACf,2GAA2G;QAC3G,OAAO,EAAE,MAAM,CAAC;QAChB,uFAAuF;QACvF,SAAS,CAAC,EAAE,MAAM,CAAC;QAEnB;;;;;;;;;WASG;QACH,KAAK,CAAC,EAAE,GAAG,CAAC;KACb,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAGxC,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,yBAAyB,CAAC,EAAE;QAC1B;;;;WAIG;QACH,YAAY,CAAC,EAAE,OAAO,CAAC;QAEvB;;;;;;WAMG;QACH,cAAc,CAAC,EAAE,OAAO,CAAC;QAEzB;;;;WAIG;QACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAE5B;;;;WAIG;QACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;KAChC,CAAC;IACF,IAAI,CAAC,EAAE;QACL,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;CACH;AACD,KAAK,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,aAAa,GAAG,OAAO,GAAG,QAAQ,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@builder.io/sdk-react-native",
3
3
  "description": "Builder.io SDK for React Native",
4
- "version": "3.0.0",
4
+ "version": "3.0.1",
5
5
  "homepage": "https://github.com/BuilderIO/builder/tree/main/packages/sdks/output/react-native",
6
6
  "repository": {
7
7
  "type": "git",
@@ -1,3 +1,4 @@
1
+ import { IMAGE_FILE_TYPES } from '../../constants/file-types';
1
2
  import type { ComponentInfo } from '../../types/components';
2
3
  export const componentInfo: ComponentInfo = {
3
4
  name: 'Image',
@@ -14,7 +15,7 @@ export const componentInfo: ComponentInfo = {
14
15
  name: 'image',
15
16
  type: 'file',
16
17
  bubble: true,
17
- allowedFileTypes: ['jpeg', 'jpg', 'png', 'svg', 'webp'],
18
+ allowedFileTypes: IMAGE_FILE_TYPES,
18
19
  required: true,
19
20
  defaultValue: 'https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F72c80f114dc149019051b6852a9e3b7a',
20
21
  onChange: (options: Map<string, any>): void | Promise<void> => {
@@ -1,3 +1,4 @@
1
+ import { IMAGE_FILE_TYPES } from '../../constants/file-types';
1
2
  import type { ComponentInfo } from '../../types/components';
2
3
  export const componentInfo: ComponentInfo = {
3
4
  // friendlyName?
@@ -8,7 +9,7 @@ export const componentInfo: ComponentInfo = {
8
9
  name: 'image',
9
10
  bubble: true,
10
11
  type: 'file',
11
- allowedFileTypes: ['jpeg', 'jpg', 'png', 'svg', 'gif', 'webp'],
12
+ allowedFileTypes: IMAGE_FILE_TYPES,
12
13
  required: true
13
14
  }],
14
15
  noWrap: true,
@@ -1,3 +1,4 @@
1
+ import { IMAGE_FILE_TYPES, VIDEO_FILE_TYPES } from '../../constants/file-types';
1
2
  import type { ComponentInfo } from '../../types/components';
2
3
  export const componentInfo: ComponentInfo = {
3
4
  name: 'Video',
@@ -10,14 +11,14 @@ export const componentInfo: ComponentInfo = {
10
11
  inputs: [{
11
12
  name: 'video',
12
13
  type: 'file',
13
- allowedFileTypes: ['mp4'],
14
+ allowedFileTypes: VIDEO_FILE_TYPES,
14
15
  bubble: true,
15
16
  defaultValue: 'https://cdn.builder.io/o/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fd27731a526464deba0016216f5f9e570%2Fcompressed?apiKey=YJIGb4i01jvw0SRdL5Bt&token=d27731a526464deba0016216f5f9e570&alt=media&optimized=true',
16
17
  required: true
17
18
  }, {
18
19
  name: 'posterImage',
19
20
  type: 'file',
20
- allowedFileTypes: ['jpeg', 'png'],
21
+ allowedFileTypes: IMAGE_FILE_TYPES,
21
22
  helperText: 'Image to show before the video plays'
22
23
  }, {
23
24
  name: 'autoPlay',
@@ -4,19 +4,26 @@ import { extractTextStyles } from '../../functions/extract-text-styles';
4
4
  import { getStyle } from '../../functions/get-style';
5
5
  import type { BuilderBlock } from '../../types/builder-block';
6
6
  import type { RepeatData } from './types';
7
+ const checkIsComponentRestricted = (component: RegisteredComponent | null | undefined, model: string) => {
8
+ if (!component) return true;
9
+ if (!model) return false;
10
+ return component.models && component.models.length > 0 && !component.models.includes(model);
11
+ };
7
12
  export const getComponent = ({
8
13
  block,
9
- registeredComponents
14
+ registeredComponents,
15
+ model
10
16
  }: {
11
17
  block: BuilderBlock;
12
18
  registeredComponents: RegisteredComponents;
19
+ model: string;
13
20
  }) => {
14
21
  const componentName = block.component?.name;
15
22
  if (!componentName) {
16
23
  return null;
17
24
  }
18
25
  const ref = registeredComponents[componentName];
19
- if (!ref) {
26
+ if (!ref || checkIsComponentRestricted(ref, model)) {
20
27
  // TODO: Public doc page with more info about this message
21
28
  console.warn(`
22
29
  Could not find a registered component named "${componentName}".
@@ -93,10 +100,15 @@ export const provideLinkComponent = (block: RegisteredComponent | null | undefin
93
100
  };
94
101
  return {};
95
102
  };
96
- export const provideRegisteredComponents = (block: RegisteredComponent | null | undefined, registeredComponents: RegisteredComponents) => {
97
- if (block?.shouldReceiveBuilderProps?.builderComponents) return {
98
- builderComponents: registeredComponents
99
- };
103
+ export const provideRegisteredComponents = (block: RegisteredComponent | null | undefined, registeredComponents: RegisteredComponents, model: string) => {
104
+ if (block?.shouldReceiveBuilderProps?.builderComponents) {
105
+ const filteredRegisteredComponents = Object.fromEntries(Object.entries(registeredComponents).filter(([_, component]) => {
106
+ return !checkIsComponentRestricted(component, model);
107
+ }));
108
+ return {
109
+ builderComponents: filteredRegisteredComponents
110
+ };
111
+ }
100
112
  return {};
101
113
  };
102
114
  export const provideBuilderBlock = (block: RegisteredComponent | null | undefined, builderBlock: BuilderBlock) => {
@@ -83,6 +83,7 @@ function Block(props: BlockProps) {
83
83
  return getComponent({
84
84
  block: processedBlock(),
85
85
  registeredComponents: props.registeredComponents,
86
+ model: props.context.model,
86
87
  });
87
88
  }
88
89
 
@@ -134,7 +135,8 @@ function Block(props: BlockProps) {
134
135
  ...provideLinkComponent(blockComponent(), props.linkComponent),
135
136
  ...provideRegisteredComponents(
136
137
  blockComponent(),
137
- props.registeredComponents
138
+ props.registeredComponents,
139
+ props.context.model
138
140
  ),
139
141
  },
140
142
  context: {
@@ -0,0 +1,18 @@
1
+ import { TARGET } from '../../../constants/target';
2
+ import { isEditing } from '../../../functions/is-editing';
3
+ import { isPreviewing } from '../../../functions/is-previewing';
4
+ import type { Target } from '../../../types/targets';
5
+
6
+ /**
7
+ * SDKS that use the elementRef approach to enable visual editing.
8
+ * We don't need to render the div for other SDKs as they attach event listeners to the window.
9
+ */
10
+ export const SDKS_USING_ELEMENT_REF_APPROACH = (['svelte', 'qwik', 'vue'] as Target[]);
11
+
12
+ /**
13
+ * We need to attach this div only when content exists or isPreviewing/isEditing even when content is null,
14
+ * as we need to set the elementRef and allow previewing and visual editing
15
+ */
16
+ export const needsElementRefDivForEditing = () => {
17
+ return SDKS_USING_ELEMENT_REF_APPROACH.includes(TARGET) && (isEditing() || isPreviewing());
18
+ }
@@ -55,6 +55,7 @@ import type {
55
55
  BuilderComponentStateChange,
56
56
  ContentProps,
57
57
  } from "../content.types";
58
+ import { needsElementRefDivForEditing } from "./enable-editor.helpers";
58
59
  import { getWrapperClassName } from "./styles.helpers";
59
60
 
60
61
  function EnableEditor(props: BuilderEditorProps) {
@@ -249,8 +250,14 @@ function EnableEditor(props: BuilderEditorProps) {
249
250
  Object.values<ComponentInfo>(
250
251
  props.builderContextSignal.componentInfos
251
252
  ).forEach((registeredComponent) => {
252
- const message = createRegisterComponentMessage(registeredComponent);
253
- window.parent?.postMessage(message, "*");
253
+ if (
254
+ !props.model ||
255
+ !registeredComponent.models?.length ||
256
+ registeredComponent.models.includes(props.model)
257
+ ) {
258
+ const message = createRegisterComponentMessage(registeredComponent);
259
+ window.parent?.postMessage(message, "*");
260
+ }
254
261
  });
255
262
  window.addEventListener(
256
263
  "builder:component:stateChangeListenerActivated",
@@ -323,8 +330,14 @@ function EnableEditor(props: BuilderEditorProps) {
323
330
  Object.values<ComponentInfo>(
324
331
  props.builderContextSignal.componentInfos
325
332
  ).forEach((registeredComponent) => {
326
- const message = createRegisterComponentMessage(registeredComponent);
327
- window.parent?.postMessage(message, "*");
333
+ if (
334
+ !props.model ||
335
+ !registeredComponent.models?.length ||
336
+ registeredComponent.models.includes(props.model)
337
+ ) {
338
+ const message = createRegisterComponentMessage(registeredComponent);
339
+ window.parent?.postMessage(message, "*");
340
+ }
328
341
  });
329
342
  window.addEventListener(
330
343
  "builder:component:stateChangeListenerActivated",
@@ -422,13 +435,20 @@ function EnableEditor(props: BuilderEditorProps) {
422
435
 
423
436
  return (
424
437
  <builderContext.Provider value={props.builderContextSignal}>
425
- {props.builderContextSignal.content ? (
438
+ {props.builderContextSignal.content || needsElementRefDivForEditing() ? (
426
439
  <ContentWrapper
427
440
  {...{}}
428
441
  ref={elementRef}
429
442
  onClick={(event) => onClick(event)}
430
443
  builder-content-id={props.builderContextSignal.content?.id}
431
444
  builder-model={props.model}
445
+ style={{
446
+ display:
447
+ !props.builderContextSignal.content &&
448
+ needsElementRefDivForEditing()
449
+ ? "none"
450
+ : undefined,
451
+ }}
432
452
  {...{
433
453
  // currently, we can't set the actual ID here. // we don't need it right now, we just need to identify content divs for testing.
434
454
  dataSet: {
@@ -59,11 +59,7 @@ function ContentComponent(props: ContentProps) {
59
59
  const [registeredComponents, setRegisteredComponents] = useState(() =>
60
60
  [
61
61
  ...getDefaultRegisteredComponents(),
62
- ...(props.customComponents?.filter(({ models }) => {
63
- if (!models?.length) return true;
64
- if (!props.model) return true;
65
- return models.includes(props.model);
66
- }) || []),
62
+ ...(props.customComponents || []),
67
63
  ].reduce<RegisteredComponents>(
68
64
  (acc, { component, ...info }) => ({
69
65
  ...acc,
@@ -96,11 +92,7 @@ function ContentComponent(props: ContentProps) {
96
92
  apiVersion: props.apiVersion,
97
93
  componentInfos: [
98
94
  ...getDefaultRegisteredComponents(),
99
- ...(props.customComponents?.filter(({ models }) => {
100
- if (!models?.length) return true;
101
- if (!props.model) return true;
102
- return models.includes(props.model);
103
- }) || []),
95
+ ...(props.customComponents || []),
104
96
  ].reduce<Dictionary<ComponentInfo>>(
105
97
  (acc, { component: _, ...info }) => ({
106
98
  ...acc,
@@ -112,6 +104,7 @@ function ContentComponent(props: ContentProps) {
112
104
  BlocksWrapper: props.blocksWrapper || ScrollView,
113
105
  BlocksWrapperProps: props.blocksWrapperProps || {},
114
106
  nonce: props.nonce || "",
107
+ model: props.model || "",
115
108
  }));
116
109
 
117
110
  const hasInitialized = useRef(false);
@@ -0,0 +1,2 @@
1
+ export const IMAGE_FILE_TYPES = ['jpeg', 'jpg', 'png', 'svg', 'webp', 'gif', 'jfif', 'pjpeg', 'pjp', 'apng', 'avif', 'tif', 'tiff', 'heif', 'bmp', 'eps', 'raw', 'cr2', 'nef', 'orf', 'sr2', 'psd', 'heic', 'dib', 'ai'];
2
+ export const VIDEO_FILE_TYPES = ['mp4', 'webm', 'mkv', 'flv', 'vob', 'ogv', 'ogg', 'drc', 'gif', 'gifv', 'mng', 'avi', 'mov', 'qt', 'mts', 'm2ts', 'ts', 'wmv', 'yuv', 'rm', 'rmvb', 'viv', 'asf', 'amv', 'm4p', 'mpeg', 'mpe', 'm2v', 'm4v', 'svi', '3gp', '3g2', 'mxf', 'roq', 'nsv', 'f4v', 'f4p', 'f4a', 'f4b']
@@ -1 +1 @@
1
- export const SDK_VERSION = "3.0.0"
1
+ export const SDK_VERSION = "3.0.1"
@@ -13,4 +13,5 @@ export default createContext<any>({
13
13
  BlocksWrapper: "div",
14
14
  BlocksWrapperProps: {},
15
15
  nonce: "",
16
+ model: "",
16
17
  });
@@ -37,5 +37,6 @@ export interface BuilderContextInterface extends Pick<BlocksWrapperProps, 'Block
37
37
  // Used to recursively store all CSS coming from a parent that would apply to a Text block
38
38
  inheritedStyles: Record<string, unknown>;
39
39
  nonce: string;
40
+ model: string;
40
41
  canTrack?: boolean;
41
42
  }
@@ -0,0 +1,38 @@
1
+ import type { BuilderBlock } from '../types/builder-block';
2
+ import { traverse } from './traverse';
3
+ function isLocalizedField(value: any) {
4
+ return value && typeof value === 'object' && value['@type'] === '@builder.io/core:LocalizedValue';
5
+ }
6
+ function containsLocalizedValues(data: Record<string, any>) {
7
+ if (!data || !Object.getOwnPropertyNames(data).length) {
8
+ return false;
9
+ }
10
+ let hasLocalizedValues = false;
11
+ traverse(data, value => {
12
+ if (isLocalizedField(value)) {
13
+ hasLocalizedValues = true;
14
+ return;
15
+ }
16
+ });
17
+ return hasLocalizedValues;
18
+ }
19
+ function extractLocalizedValues(data: Record<string, any>, locale: string) {
20
+ if (!data || !Object.getOwnPropertyNames(data).length) {
21
+ return {};
22
+ }
23
+ traverse(data, (value, update) => {
24
+ if (isLocalizedField(value)) {
25
+ update(value[locale] ?? undefined);
26
+ }
27
+ });
28
+ return data;
29
+ }
30
+ export function resolveLocalizedValues(block: BuilderBlock, locale: string | undefined) {
31
+ if (block.component?.options && containsLocalizedValues(block.component?.options)) {
32
+ if (!locale) {
33
+ console.warn('[Builder.io] In order to use localized fields in Builder, you must pass a locale prop to the BuilderComponent or to options object while fetching the content to resolve localized fields. Learn more: https://www.builder.io/c/docs/localization-inline#targeting-and-inline-localization');
34
+ }
35
+ block.component.options = extractLocalizedValues(block.component.options, locale ?? 'Default');
36
+ }
37
+ return block;
38
+ }
@@ -3,6 +3,7 @@ import type { BuilderContextInterface } from '../context/types';
3
3
  import { omit } from '../helpers/omit';
4
4
  import type { BuilderBlock } from '../types/builder-block';
5
5
  import { evaluate } from './evaluate/index';
6
+ import { resolveLocalizedValues } from './extract-localized-values';
6
7
  import { fastClone } from './fast-clone';
7
8
  import { set } from './set';
8
9
  import { transformBlock } from './transform-block';
@@ -96,7 +97,8 @@ export function getProcessedBlock({
96
97
  */
97
98
  shouldEvaluateBindings: boolean;
98
99
  } & Pick<BuilderContextInterface, 'localState' | 'context' | 'rootState' | 'rootSetState'>): BuilderBlock {
99
- const transformedBlock = transformBlock(block);
100
+ let transformedBlock = resolveLocalizedValues(block, (rootState.locale as string | undefined));
101
+ transformedBlock = transformBlock(transformedBlock);
100
102
  if (shouldEvaluateBindings) {
101
103
  return evaluateBindings({
102
104
  block: transformedBlock,
@@ -13,8 +13,11 @@ const serializeFn = (fnValue: Function) => {
13
13
  // 2. `name(args) => {code}`
14
14
  // 3. `(args) => {}`
15
15
  // 4. `args => {}`
16
+ // 5. `async function(args) {code}`
17
+ // 6. `async (args) => {}`
18
+ // 7. `async args => {}`
16
19
  const isArrowWithoutParens = /^[a-zA-Z0-9_]+\s*=>/i.test(fnStr);
17
- const appendFunction = !fnStr.startsWith('function') && !fnStr.startsWith('(') && !isArrowWithoutParens;
20
+ const appendFunction = !fnStr.startsWith('function') && !fnStr.startsWith('async') && !fnStr.startsWith('(') && !isArrowWithoutParens;
18
21
  return `return (${appendFunction ? 'function ' : ''}${fnStr}).apply(this, arguments)`;
19
22
  };
20
23
  export function serializeIncludingFunctions(info: ComponentInfo) {
@@ -0,0 +1,64 @@
1
+ type TraverseCallback = (value: any, update: (newValue: any) => void) => void;
2
+
3
+ /**
4
+ * Recursively traverses an object or array, invoking a callback on each value.
5
+ *
6
+ * @param {any} obj - The object or array to traverse. Can also handle primitives, null, or undefined.
7
+ * @param {TraverseCallback} callback - The function to invoke on each value. Receives the current value
8
+ * and an `update` function to modify the value in its parent container.
9
+ * @param {any} [parent=null] - The parent object or array of the current value. Used internally.
10
+ * @param {any} [key=null] - The key or index of the current value in its parent. Used internally.
11
+ * @param {WeakSet} [visited=new WeakSet()] - Tracks visited objects to handle circular references. Used internally.
12
+ *
13
+ * @example
14
+ * // Example: Doubling all numbers in an object
15
+ * const obj = { a: 1, b: [2, 3, { c: 4 }] };
16
+ * traverse(obj, (value, update) => {
17
+ * if (typeof value === 'number') {
18
+ * update(value * 2);
19
+ * }
20
+ * });
21
+ * console.log(obj); // { a: 2, b: [4, 6, { c: 8 }] }
22
+ *
23
+ * @example
24
+ * // Example: Handling circular references
25
+ * const obj = { a: 1 };
26
+ * obj.self = obj;
27
+ * traverse(obj, (value, update) => {
28
+ * if (typeof value === 'number') {
29
+ * update(value * 2);
30
+ * }
31
+ * });
32
+ * console.log(obj.a); // 2
33
+ */
34
+ export function traverse(obj: any, callback: TraverseCallback, parent: any = null, key: any = null, visited = new WeakSet()): void {
35
+ if (obj == null || typeof obj !== 'object') {
36
+ callback(obj, (newValue: any) => {
37
+ if (parent !== null && key !== null) {
38
+ parent[key] = newValue;
39
+ }
40
+ });
41
+ return;
42
+ }
43
+ if (visited.has(obj)) {
44
+ return;
45
+ }
46
+ visited.add(obj);
47
+ if (Array.isArray(obj)) {
48
+ obj.forEach((item, index) => {
49
+ const update = (newValue: any) => {
50
+ obj[index] = newValue;
51
+ };
52
+ callback(item, update);
53
+ traverse(item, callback, obj, index, visited);
54
+ });
55
+ } else {
56
+ Object.entries(obj).forEach(([key, value]) => {
57
+ const update = (newValue: any) => {
58
+ obj[key] = newValue;
59
+ };
60
+ callback(value, update);
61
+ traverse(value, callback, obj, key, visited);
62
+ });
63
+ }
64
+ }
@@ -161,5 +161,8 @@ export interface ComponentInfo {
161
161
  */
162
162
  builderLinkComponent?: boolean;
163
163
  };
164
+ meta?: {
165
+ [key: string]: any;
166
+ };
164
167
  }
165
168
  type Permission = 'read' | 'publish' | 'editCode' | 'editDesigns' | 'admin' | 'create'