@builder.io/sdk-vue 0.0.1-7 → 0.0.1-72

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 (376) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/README.md +44 -0
  3. package/dist/vue-2/block-styles.4027f1b9.js +64 -0
  4. package/dist/vue-2/block-styles.8800a764.cjs +10 -0
  5. package/dist/vue-2/get-processed-block.0494fb81.js +44 -0
  6. package/dist/vue-2/get-processed-block.d751f4a7.cjs +1 -0
  7. package/dist/vue-2/index.1aa5d3e4.cjs +1 -0
  8. package/dist/vue-2/index.3e132178.js +78896 -0
  9. package/dist/vue-2/index.475f52c7.cjs +1 -0
  10. package/dist/vue-2/index.62438203.js +1860 -0
  11. package/dist/vue-2/render-block.1e8573eb.js +206 -0
  12. package/dist/vue-2/render-block.c46898e7.cjs +3 -0
  13. package/dist/vue-2/render-component.61552d2f.cjs +1 -0
  14. package/dist/vue-2/render-component.7863c949.js +27 -0
  15. package/dist/vue-2/render-inlined-styles.50d42108.js +28 -0
  16. package/dist/vue-2/render-inlined-styles.ff54866e.cjs +1 -0
  17. package/dist/vue-2/render-repeated-block.b228208b.cjs +1 -0
  18. package/dist/vue-2/render-repeated-block.ec12e3ae.js +39 -0
  19. package/dist/vue-2/render-styles.95568b18.cjs +17 -0
  20. package/dist/vue-2/render-styles.9ef447c4.js +62 -0
  21. package/dist/vue-2/sdk.cjs +1 -0
  22. package/dist/vue-2/sdk.js +27 -0
  23. package/dist/vue-2/style.css +1 -0
  24. package/dist/vue-3/block-styles.83ef5bb2.js +59 -0
  25. package/dist/vue-3/block-styles.98e0bfa5.cjs +10 -0
  26. package/dist/vue-3/get-processed-block.36f8ee1a.cjs +1 -0
  27. package/dist/vue-3/get-processed-block.3fdcf745.js +44 -0
  28. package/dist/vue-3/index.3e132178.js +78896 -0
  29. package/dist/vue-3/index.475f52c7.cjs +1 -0
  30. package/dist/vue-3/index.843892e8.js +1834 -0
  31. package/dist/vue-3/index.e1b4b830.cjs +1 -0
  32. package/dist/vue-3/render-block.66ba74d8.js +214 -0
  33. package/dist/vue-3/render-block.7f3bcf7c.cjs +3 -0
  34. package/dist/vue-3/render-component.3fc97401.js +29 -0
  35. package/dist/vue-3/render-component.8c88611c.cjs +1 -0
  36. package/dist/vue-3/render-inlined-styles.1a6db9d2.js +27 -0
  37. package/dist/vue-3/render-inlined-styles.52546cc8.cjs +1 -0
  38. package/dist/vue-3/render-repeated-block.782a1fd8.js +34 -0
  39. package/dist/vue-3/render-repeated-block.f3519de4.cjs +1 -0
  40. package/dist/vue-3/render-styles.7008104f.cjs +17 -0
  41. package/dist/vue-3/render-styles.8ab3c39a.js +54 -0
  42. package/dist/vue-3/sdk.cjs +1 -0
  43. package/dist/vue-3/sdk.js +28 -0
  44. package/dist/vue-3/style.css +1 -0
  45. package/nuxt.js +24 -0
  46. package/package.json +30 -4
  47. package/vue2/.vscode/extensions.json +3 -0
  48. package/vue2/README.md +40 -0
  49. package/vue2/env.d.ts +1 -0
  50. package/vue2/package.json +27 -0
  51. package/vue2/src/blocks/button/button.vue +52 -0
  52. package/vue2/src/blocks/button/component-info.js +41 -0
  53. package/vue2/src/blocks/columns/columns.vue +131 -0
  54. package/vue2/src/blocks/columns/component-info.js +242 -0
  55. package/vue2/src/blocks/custom-code/component-info.js +31 -0
  56. package/{src/blocks/custom-code.original.vue → vue2/src/blocks/custom-code/custom-code.vue} +39 -23
  57. package/vue2/src/blocks/embed/component-info.js +44 -0
  58. package/vue2/src/blocks/embed/embed.vue +73 -0
  59. package/vue2/src/blocks/embed/helpers.js +9 -0
  60. package/vue2/src/blocks/form/component-info.js +262 -0
  61. package/vue2/src/blocks/form/form.vue +343 -0
  62. package/vue2/src/blocks/fragment/component-info.js +11 -0
  63. package/vue2/src/blocks/fragment/fragment.vue +35 -0
  64. package/vue2/src/blocks/image/component-info.js +151 -0
  65. package/vue2/src/blocks/image/image.helpers.js +48 -0
  66. package/vue2/src/blocks/image/image.vue +156 -0
  67. package/vue2/src/blocks/img/component-info.js +20 -0
  68. package/vue2/src/blocks/img/img.vue +50 -0
  69. package/vue2/src/blocks/input/component-info.js +74 -0
  70. package/vue2/src/blocks/input/input.vue +50 -0
  71. package/vue2/src/blocks/raw-text/component-info.js +16 -0
  72. package/vue2/src/blocks/raw-text/raw-text.vue +48 -0
  73. package/vue2/src/blocks/section/component-info.js +49 -0
  74. package/vue2/src/blocks/section/section.vue +47 -0
  75. package/vue2/src/blocks/select/component-info.js +59 -0
  76. package/vue2/src/blocks/select/select.vue +56 -0
  77. package/vue2/src/blocks/submit-button/component-info.js +28 -0
  78. package/vue2/src/blocks/submit-button/submit-button.vue +36 -0
  79. package/vue2/src/blocks/symbol/component-info.js +43 -0
  80. package/vue2/src/blocks/symbol/symbol.vue +118 -0
  81. package/vue2/src/blocks/text/component-info.js +24 -0
  82. package/vue2/src/blocks/text/text.vue +33 -0
  83. package/vue2/src/blocks/textarea/component-info.js +47 -0
  84. package/vue2/src/blocks/textarea/textarea.vue +43 -0
  85. package/vue2/src/blocks/util.js +7 -0
  86. package/vue2/src/blocks/video/component-info.js +106 -0
  87. package/vue2/src/blocks/video/video.vue +79 -0
  88. package/vue2/src/components/render-block/block-styles.vue +66 -0
  89. package/vue2/src/components/render-block/render-block.helpers.js +23 -0
  90. package/vue2/src/components/render-block/render-block.vue +212 -0
  91. package/vue2/src/components/render-block/render-component.vue +50 -0
  92. package/vue2/src/components/render-block/render-repeated-block.vue +60 -0
  93. package/{src/blocks/button_styles.js → vue2/src/components/render-block/types.js} +0 -0
  94. package/vue2/src/components/render-blocks.vue +106 -0
  95. package/vue2/src/components/render-content/components/render-styles.vue +104 -0
  96. package/vue2/src/components/render-content/index.js +4 -0
  97. package/vue2/src/components/render-content/render-content.vue +301 -0
  98. package/vue2/src/components/render-inlined-styles.vue +44 -0
  99. package/vue2/src/constants/builder-registered-components.js +51 -0
  100. package/vue2/src/constants/device-sizes.js +21 -0
  101. package/vue2/src/constants/target.js +4 -0
  102. package/vue2/src/context/builder.context.js +4 -0
  103. package/vue2/src/functions/camel-to-kebab-case.js +4 -0
  104. package/vue2/src/functions/convert-style-object.js +6 -0
  105. package/vue2/src/functions/evaluate.js +28 -0
  106. package/vue2/src/functions/event-handler-name.js +4 -0
  107. package/vue2/src/functions/get-block-actions.js +23 -0
  108. package/vue2/src/functions/get-block-component-options.js +28 -0
  109. package/{src → vue2/src}/functions/get-block-properties.js +3 -9
  110. package/vue2/src/functions/get-block-styles.js +6 -0
  111. package/vue2/src/functions/get-block-tag.js +6 -0
  112. package/vue2/src/functions/get-builder-search-params/fn.test.js +13 -0
  113. package/vue2/src/functions/get-builder-search-params/index.js +33 -0
  114. package/vue2/src/functions/get-content/ab-testing.js +38 -0
  115. package/vue2/src/functions/get-content/fn.test.js +31 -0
  116. package/vue2/src/functions/get-content/index.js +96 -0
  117. package/{src/blocks/custom-code_styles.js → vue2/src/functions/get-content/types.js} +0 -0
  118. package/vue2/src/functions/get-fetch.js +34 -0
  119. package/vue2/src/functions/get-global-this.js +18 -0
  120. package/vue2/src/functions/get-processed-block.js +57 -0
  121. package/vue2/src/functions/get-processed-block.test.js +32 -0
  122. package/vue2/src/functions/if-target.js +15 -0
  123. package/vue2/src/functions/is-browser.js +6 -0
  124. package/vue2/src/functions/is-editing.js +7 -0
  125. package/vue2/src/functions/is-iframe.js +7 -0
  126. package/vue2/src/functions/is-previewing.js +14 -0
  127. package/{src → vue2/src}/functions/on-change.js +4 -11
  128. package/vue2/src/functions/on-change.test.js +19 -0
  129. package/vue2/src/functions/register-component.js +72 -0
  130. package/vue2/src/functions/register.js +29 -0
  131. package/vue2/src/functions/sanitize-styles.js +5 -0
  132. package/vue2/src/functions/set-editor-settings.js +15 -0
  133. package/{src → vue2/src}/functions/set.js +3 -10
  134. package/vue2/src/functions/set.test.js +16 -0
  135. package/vue2/src/functions/track.js +115 -0
  136. package/vue2/src/functions/transform-block.js +6 -0
  137. package/vue2/src/helpers/cookie.js +59 -0
  138. package/vue2/src/helpers/css.js +12 -0
  139. package/vue2/src/helpers/flatten.js +34 -0
  140. package/vue2/src/helpers/localStorage.js +34 -0
  141. package/vue2/src/helpers/nullable.js +4 -0
  142. package/vue2/src/helpers/sessionId.js +26 -0
  143. package/vue2/src/helpers/time.js +5 -0
  144. package/vue2/src/helpers/url.js +10 -0
  145. package/vue2/src/helpers/url.test.js +15 -0
  146. package/vue2/src/helpers/uuid.js +13 -0
  147. package/vue2/src/helpers/visitorId.js +33 -0
  148. package/vue2/src/index-helpers/blocks-exports.js +22 -0
  149. package/vue2/src/index-helpers/top-of-file.js +4 -0
  150. package/vue2/src/index.js +10 -0
  151. package/vue2/src/scripts/init-editing.js +79 -0
  152. package/{src/blocks/embed_styles.js → vue2/src/types/builder-block.js} +0 -0
  153. package/{src/blocks/fragment_styles.js → vue2/src/types/builder-content.js} +0 -0
  154. package/{src/blocks/img_styles.js → vue2/src/types/can-track.js} +0 -0
  155. package/{src/blocks/input_styles.js → vue2/src/types/components.js} +0 -0
  156. package/{src/blocks/raw-text_styles.js → vue2/src/types/deep-partial.js} +0 -0
  157. package/{src/blocks/section_styles.js → vue2/src/types/element.js} +0 -0
  158. package/{src/blocks/select_styles.js → vue2/src/types/targets.js} +0 -0
  159. package/{src/blocks/submit-button_styles.js → vue2/src/types/typescript.js} +0 -0
  160. package/vue2/tsconfig.config.json +8 -0
  161. package/vue2/tsconfig.json +16 -0
  162. package/vue2/vite.config.ts +27 -0
  163. package/vue3/.vscode/extensions.json +3 -0
  164. package/vue3/README.md +40 -0
  165. package/vue3/env.d.ts +1 -0
  166. package/vue3/package.json +25 -0
  167. package/vue3/src/blocks/button/button.vue +56 -0
  168. package/vue3/src/blocks/button/component-info.js +41 -0
  169. package/vue3/src/blocks/columns/columns.vue +131 -0
  170. package/vue3/src/blocks/columns/component-info.js +242 -0
  171. package/vue3/src/blocks/custom-code/component-info.js +31 -0
  172. package/{src/blocks/embed.original.vue → vue3/src/blocks/custom-code/custom-code.vue} +47 -23
  173. package/vue3/src/blocks/embed/component-info.js +44 -0
  174. package/vue3/src/blocks/embed/embed.vue +73 -0
  175. package/vue3/src/blocks/embed/helpers.js +9 -0
  176. package/vue3/src/blocks/form/component-info.js +262 -0
  177. package/vue3/src/blocks/form/form.vue +343 -0
  178. package/vue3/src/blocks/fragment/component-info.js +11 -0
  179. package/vue3/src/blocks/fragment/fragment.vue +35 -0
  180. package/vue3/src/blocks/image/component-info.js +151 -0
  181. package/vue3/src/blocks/image/image.helpers.js +48 -0
  182. package/vue3/src/blocks/image/image.vue +165 -0
  183. package/vue3/src/blocks/img/component-info.js +20 -0
  184. package/vue3/src/blocks/img/img.vue +50 -0
  185. package/vue3/src/blocks/input/component-info.js +74 -0
  186. package/vue3/src/blocks/input/input.vue +50 -0
  187. package/vue3/src/blocks/raw-text/component-info.js +16 -0
  188. package/vue3/src/blocks/raw-text/raw-text.vue +48 -0
  189. package/vue3/src/blocks/section/component-info.js +49 -0
  190. package/vue3/src/blocks/section/section.vue +47 -0
  191. package/vue3/src/blocks/select/component-info.js +59 -0
  192. package/vue3/src/blocks/select/select.vue +52 -0
  193. package/vue3/src/blocks/submit-button/component-info.js +28 -0
  194. package/vue3/src/blocks/submit-button/submit-button.vue +36 -0
  195. package/vue3/src/blocks/symbol/component-info.js +43 -0
  196. package/vue3/src/blocks/symbol/symbol.vue +118 -0
  197. package/vue3/src/blocks/text/component-info.js +24 -0
  198. package/vue3/src/blocks/text/text.vue +33 -0
  199. package/vue3/src/blocks/textarea/component-info.js +47 -0
  200. package/vue3/src/blocks/textarea/textarea.vue +43 -0
  201. package/vue3/src/blocks/util.js +7 -0
  202. package/vue3/src/blocks/video/component-info.js +106 -0
  203. package/vue3/src/blocks/video/video.vue +79 -0
  204. package/vue3/src/components/render-block/block-styles.vue +67 -0
  205. package/vue3/src/components/render-block/render-block.helpers.js +23 -0
  206. package/vue3/src/components/render-block/render-block.vue +215 -0
  207. package/vue3/src/components/render-block/render-component.vue +52 -0
  208. package/vue3/src/components/render-block/render-repeated-block.vue +60 -0
  209. package/{src/blocks/symbol_styles.js → vue3/src/components/render-block/types.js} +0 -0
  210. package/vue3/src/components/render-blocks.vue +108 -0
  211. package/vue3/src/components/render-content/components/render-styles.vue +104 -0
  212. package/vue3/src/components/render-content/index.js +4 -0
  213. package/vue3/src/components/render-content/render-content.vue +303 -0
  214. package/vue3/src/components/render-inlined-styles.vue +49 -0
  215. package/vue3/src/constants/builder-registered-components.js +51 -0
  216. package/vue3/src/constants/device-sizes.js +21 -0
  217. package/vue3/src/constants/target.js +4 -0
  218. package/vue3/src/context/builder.context.js +4 -0
  219. package/vue3/src/functions/camel-to-kebab-case.js +4 -0
  220. package/vue3/src/functions/convert-style-object.js +6 -0
  221. package/vue3/src/functions/evaluate.js +28 -0
  222. package/vue3/src/functions/event-handler-name.js +4 -0
  223. package/vue3/src/functions/get-block-actions.js +23 -0
  224. package/vue3/src/functions/get-block-component-options.js +28 -0
  225. package/vue3/src/functions/get-block-properties.js +40 -0
  226. package/vue3/src/functions/get-block-styles.js +6 -0
  227. package/vue3/src/functions/get-block-tag.js +6 -0
  228. package/vue3/src/functions/get-builder-search-params/fn.test.js +13 -0
  229. package/vue3/src/functions/get-builder-search-params/index.js +33 -0
  230. package/vue3/src/functions/get-content/ab-testing.js +38 -0
  231. package/vue3/src/functions/get-content/fn.test.js +31 -0
  232. package/vue3/src/functions/get-content/index.js +96 -0
  233. package/{src/blocks/text_styles.js → vue3/src/functions/get-content/types.js} +0 -0
  234. package/vue3/src/functions/get-fetch.js +34 -0
  235. package/vue3/src/functions/get-global-this.js +18 -0
  236. package/vue3/src/functions/get-processed-block.js +57 -0
  237. package/vue3/src/functions/get-processed-block.test.js +32 -0
  238. package/vue3/src/functions/if-target.js +15 -0
  239. package/vue3/src/functions/is-browser.js +6 -0
  240. package/vue3/src/functions/is-editing.js +7 -0
  241. package/vue3/src/functions/is-iframe.js +7 -0
  242. package/vue3/src/functions/is-previewing.js +14 -0
  243. package/vue3/src/functions/on-change.js +27 -0
  244. package/vue3/src/functions/on-change.test.js +19 -0
  245. package/vue3/src/functions/register-component.js +72 -0
  246. package/vue3/src/functions/register.js +29 -0
  247. package/vue3/src/functions/sanitize-styles.js +5 -0
  248. package/vue3/src/functions/set-editor-settings.js +15 -0
  249. package/vue3/src/functions/set.js +11 -0
  250. package/vue3/src/functions/set.test.js +16 -0
  251. package/vue3/src/functions/track.js +115 -0
  252. package/vue3/src/functions/transform-block.js +6 -0
  253. package/vue3/src/helpers/cookie.js +59 -0
  254. package/vue3/src/helpers/css.js +12 -0
  255. package/vue3/src/helpers/flatten.js +34 -0
  256. package/vue3/src/helpers/localStorage.js +34 -0
  257. package/vue3/src/helpers/nullable.js +4 -0
  258. package/vue3/src/helpers/sessionId.js +26 -0
  259. package/vue3/src/helpers/time.js +5 -0
  260. package/vue3/src/helpers/url.js +10 -0
  261. package/vue3/src/helpers/url.test.js +15 -0
  262. package/vue3/src/helpers/uuid.js +13 -0
  263. package/vue3/src/helpers/visitorId.js +33 -0
  264. package/vue3/src/index-helpers/blocks-exports.js +22 -0
  265. package/vue3/src/index-helpers/top-of-file.js +4 -0
  266. package/vue3/src/index.js +10 -0
  267. package/vue3/src/scripts/init-editing.js +79 -0
  268. package/{src/blocks/textarea_styles.js → vue3/src/types/builder-block.js} +0 -0
  269. package/{src/blocks/video_styles.js → vue3/src/types/builder-content.js} +0 -0
  270. package/{src/components/block-styles_styles.js → vue3/src/types/can-track.js} +0 -0
  271. package/{src/components/error-boundary_styles.js → vue3/src/types/components.js} +0 -0
  272. package/{src/components/render-block_styles.js → vue3/src/types/deep-partial.js} +0 -0
  273. package/{src/components/render-content_styles.js → vue3/src/types/element.js} +0 -0
  274. package/vue3/src/types/targets.js +0 -0
  275. package/vue3/src/types/typescript.js +0 -0
  276. package/vue3/tsconfig.config.json +8 -0
  277. package/vue3/tsconfig.json +16 -0
  278. package/vue3/vite.config.ts +27 -0
  279. package/src/blocks/button.js +0 -31
  280. package/src/blocks/button.original.vue +0 -48
  281. package/src/blocks/button_script.js +0 -21
  282. package/src/blocks/columns.js +0 -31
  283. package/src/blocks/columns.original.vue +0 -59
  284. package/src/blocks/columns_script.js +0 -58
  285. package/src/blocks/columns_styles.js +0 -14
  286. package/src/blocks/custom-code.js +0 -31
  287. package/src/blocks/custom-code_script.js +0 -63
  288. package/src/blocks/embed.js +0 -31
  289. package/src/blocks/embed_script.js +0 -53
  290. package/src/blocks/form.js +0 -31
  291. package/src/blocks/form.original.vue +0 -289
  292. package/src/blocks/form_script.js +0 -231
  293. package/src/blocks/form_styles.js +0 -12
  294. package/src/blocks/fragment.js +0 -31
  295. package/src/blocks/fragment.original.vue +0 -28
  296. package/src/blocks/fragment_script.js +0 -40
  297. package/src/blocks/image.js +0 -31
  298. package/src/blocks/image.original.vue +0 -52
  299. package/src/blocks/image_script.js +0 -32
  300. package/src/blocks/image_styles.js +0 -13
  301. package/src/blocks/img.js +0 -31
  302. package/src/blocks/img.original.vue +0 -31
  303. package/src/blocks/img_script.js +0 -42
  304. package/src/blocks/input.js +0 -31
  305. package/src/blocks/input.original.vue +0 -28
  306. package/src/blocks/input_script.js +0 -39
  307. package/src/blocks/raw-text.js +0 -31
  308. package/src/blocks/raw-text.original.vue +0 -35
  309. package/src/blocks/raw-text_script.js +0 -32
  310. package/src/blocks/section.js +0 -31
  311. package/src/blocks/section.original.vue +0 -29
  312. package/src/blocks/section_script.js +0 -23
  313. package/src/blocks/select.js +0 -31
  314. package/src/blocks/select.original.vue +0 -32
  315. package/src/blocks/select_script.js +0 -41
  316. package/src/blocks/submit-button.js +0 -31
  317. package/src/blocks/submit-button.original.vue +0 -27
  318. package/src/blocks/submit-button_script.js +0 -21
  319. package/src/blocks/symbol.js +0 -29
  320. package/src/blocks/symbol.original.vue +0 -33
  321. package/src/blocks/symbol_script.js +0 -44
  322. package/src/blocks/text.js +0 -31
  323. package/src/blocks/text.original.vue +0 -25
  324. package/src/blocks/text_script.js +0 -21
  325. package/src/blocks/textarea.js +0 -31
  326. package/src/blocks/textarea.original.vue +0 -25
  327. package/src/blocks/textarea_script.js +0 -21
  328. package/src/blocks/video.js +0 -31
  329. package/src/blocks/video.original.vue +0 -34
  330. package/src/blocks/video_script.js +0 -28
  331. package/src/components/block-styles.js +0 -29
  332. package/src/components/block-styles.original.vue +0 -25
  333. package/src/components/block-styles.vue +0 -34
  334. package/src/components/block-styles_script.js +0 -20
  335. package/src/components/error-boundary.js +0 -29
  336. package/src/components/error-boundary.original.vue +0 -25
  337. package/src/components/error-boundary.vue +0 -15
  338. package/src/components/error-boundary_script.js +0 -20
  339. package/src/components/render-block.js +0 -29
  340. package/src/components/render-block.original.vue +0 -116
  341. package/src/components/render-block_script.js +0 -91
  342. package/src/components/render-blocks.js +0 -29
  343. package/src/components/render-blocks.original.vue +0 -75
  344. package/src/components/render-blocks_script.js +0 -76
  345. package/src/components/render-blocks_styles.js +0 -12
  346. package/src/components/render-content.js +0 -29
  347. package/src/components/render-content.original.vue +0 -95
  348. package/src/components/render-content_script.js +0 -92
  349. package/src/constants/device-sizes.js +0 -46
  350. package/src/context/builder.context.js +0 -11
  351. package/src/functions/evaluate.js +0 -42
  352. package/src/functions/get-block-actions.js +0 -45
  353. package/src/functions/get-block-component-options.js +0 -14
  354. package/src/functions/get-block-styles.js +0 -13
  355. package/src/functions/get-block-tag.js +0 -13
  356. package/src/functions/get-content.js +0 -123
  357. package/src/functions/get-processed-block.js +0 -65
  358. package/src/functions/get-processed-block.test.js +0 -44
  359. package/src/functions/get-target.js +0 -13
  360. package/src/functions/if-target.js +0 -13
  361. package/src/functions/is-browser.js +0 -30
  362. package/src/functions/is-editing.js +0 -30
  363. package/src/functions/is-iframe.js +0 -30
  364. package/src/functions/is-react-native.js +0 -13
  365. package/src/functions/macro-eval.js +0 -12
  366. package/src/functions/on-change.test.js +0 -38
  367. package/src/functions/register-component.js +0 -73
  368. package/src/functions/register.js +0 -52
  369. package/src/functions/set-editor-settings.js +0 -38
  370. package/src/functions/set.test.js +0 -35
  371. package/src/functions/track.js +0 -41
  372. package/src/index.js +0 -51
  373. package/src/scripts/init-editing.js +0 -78
  374. package/src/types/builder-block.js +0 -3
  375. package/src/types/builder-content.js +0 -3
  376. package/src/types/deep-partial.js +0 -3
package/CHANGELOG.md ADDED
@@ -0,0 +1,53 @@
1
+ ### 0.0.1-56
2
+
3
+ - Feature: We now provide initial support for Vue 3.
4
+
5
+ 🧨 Breaking change: you must now explicitly import the Vue SDK version that you want (for Vue 2 or Vue 3) e.g.
6
+
7
+ ```ts
8
+ // imports Vue 2 SDK
9
+ import * as BuilderSDK from '@builder.io/sdk-vue/vue2';
10
+ // fallback to Vue 2 SDK
11
+ import * as BuilderSDK from '@builder.io/sdk-vue';
12
+
13
+ // imports Vue 3 SDK
14
+ import * as BuilderSDK from '@builder.io/sdk-vue/vue3';
15
+ ```
16
+
17
+ ### 0.0.1-54
18
+
19
+ 🐛 Fix: custom components were not rendering correctly
20
+ 🐛 Fix: Image component's `srcSet` was not being set correctly
21
+
22
+ ### 0.0.1-52
23
+
24
+ 🧨 Breaking change: the format of the `customComponents` prop has changed from `[{ component, info }]` to `[{ component, ...info }]`.
25
+ See [builder-registered-components.ts](/packages/sdks/src/constants/builder-registered-components.ts) for examples of how to do so, or see the example provided for this SDK.
26
+
27
+ ### 0.0.1-51
28
+
29
+ ⚠️ Deprecation notice: Registering components via `registerComponent(component, info)` is now deprecated.
30
+ To register your custom components in Builder, you must now provide a `customComponents` array to the `RenderContent` component containing `[{ component, info }]`.
31
+ See [builder-registered-components.ts](/packages/sdks/src/constants/builder-registered-components.ts) for examples of how to do so, or see the example provided for this SDK.
32
+
33
+ ### 0.0.1-50
34
+
35
+ - feat: 🎸 export `isPreviewing()` (https://github.com/BuilderIO/builder/pull/951)
36
+ - feat: 🎸 Add support for Symbols (https://github.com/BuilderIO/builder/pull/951)
37
+ - feat: 🎸 Add support for Data Bindings https://github.com/BuilderIO/builder/pull/970
38
+
39
+ - BREAKING CHANGE: 🧨 RenderContent must now be provided the `apiKey` as a prop (https://github.com/BuilderIO/builder/pull/951)
40
+
41
+ ### 0.0.1-49
42
+
43
+ - Fix: show the "+ add block" button on empty pages https://github.com/BuilderIO/builder/pull/934
44
+ - Add `getBuilderSearchParams` helper export to easily view current drafts on your production site. https://github.com/BuilderIO/builder/pull/883
45
+
46
+ ### 0.0.1-48
47
+
48
+ Changes:
49
+
50
+ - Adds support for Columns https://github.com/BuilderIO/builder/pull/717
51
+ - Add preliminary support for Children within custom components https://github.com/BuilderIO/builder/pull/753
52
+ - Seeds classnames to reduce variation in changes https://github.com/BuilderIO/builder/pull/703
53
+ - Fixes `getAllContent` to traverse all symbols/references https://github.com/BuilderIO/builder/pull/718
package/README.md ADDED
@@ -0,0 +1,44 @@
1
+ # Builder.io Vue 2.0 SDK (BETA)
2
+
3
+ This is the 2.0 Vue SDK. It is currently in beta.
4
+
5
+ NOTE: If you are looking for the stable 1.0 Vue SDK, you can find it [here](/packages/vue)
6
+
7
+ ## Mitosis
8
+
9
+ This SDK is generated by [Mitosis](https://github.com/BuilderIO/mitosis). To see the Mitosis source-code, go [here](../../).
10
+
11
+ ## Feature Support
12
+
13
+ To check the status of the SDK, look at [these tables](../../README.md#feature-implementation).
14
+
15
+ ## Version Support
16
+
17
+ Legend:
18
+
19
+ - ✅: implemented
20
+ - 🏗: currently in progress
21
+ - ⚠️: not-yet implemented
22
+ - N/A : does not apply
23
+
24
+ | Platform | Support |
25
+ | -------- | ------- |
26
+ | Vue 2 | 🏗 |
27
+ | Nuxt 2 | 🏗 |
28
+ | Vue 3 | 🏗 |
29
+ | Nuxt 3 | ✅ |
30
+
31
+ ## Getting Started
32
+
33
+ ```
34
+ npm install @builder.io/sdk-vue@dev
35
+ ```
36
+
37
+ ## Usage
38
+
39
+ You can see examples of using Builder.io:
40
+
41
+ - with Vue 2 [here](/examples/vue/vue-2/)
42
+ - with Nuxt 2 [here](/examples/vue/nuxt-2/)
43
+ - with Vue Storefront 2 [here](/examples/vue/vue-storefront-2)
44
+ - with Vue 3 [here](/examples/vue/vue-3/)
@@ -0,0 +1,64 @@
1
+ import { T as r, n as c } from "./index.62438203.js";
2
+ import { g as a } from "./get-processed-block.0494fb81.js";
3
+ const i = {
4
+ small: {
5
+ min: 320,
6
+ default: 321,
7
+ max: 640
8
+ },
9
+ medium: {
10
+ min: 641,
11
+ default: 642,
12
+ max: 991
13
+ },
14
+ large: {
15
+ min: 990,
16
+ default: 991,
17
+ max: 1200
18
+ }
19
+ }, l = (e) => `@media (max-width: ${i[e].max}px)`, m = (e) => e.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase(), o = (e) => Object.entries(e).map(([s, n]) => {
20
+ if (typeof n == "string")
21
+ return `${m(s)}: ${n};`;
22
+ }).join(`
23
+ `), u = () => import("./render-inlined-styles.50d42108.js"), d = {
24
+ name: "block-styles",
25
+ components: { "render-inlined-styles": u },
26
+ props: ["block", "context"],
27
+ data: () => ({ TARGET: r }),
28
+ computed: { useBlock() {
29
+ return a({
30
+ block: this.block,
31
+ state: this.context.state,
32
+ context: this.context.context,
33
+ shouldEvaluateBindings: !0
34
+ });
35
+ }, css() {
36
+ const e = this.useBlock.responsiveStyles, t = e == null ? void 0 : e.large, s = e == null ? void 0 : e.medium, n = e == null ? void 0 : e.small;
37
+ return `
38
+ ${t ? `.${this.useBlock.id} {${o(t)}}` : ""}
39
+ ${s ? `${l("medium")} {
40
+ .${this.useBlock.id} {${o(s)}}
41
+ }` : ""}
42
+ ${n ? `${l("small")} {
43
+ .${this.useBlock.id} {${o(n)}}
44
+ }` : ""}
45
+ }`;
46
+ } }
47
+ };
48
+ var p = function() {
49
+ var t = this, s = t._self._c;
50
+ return t.TARGET === "vue2" || t.TARGET === "vue3" || t.TARGET === "svelte" ? s("render-inlined-styles", { attrs: { styles: t.css } }) : t._e();
51
+ }, $ = [], _ = /* @__PURE__ */ c(
52
+ d,
53
+ p,
54
+ $,
55
+ !1,
56
+ null,
57
+ null,
58
+ null,
59
+ null
60
+ );
61
+ const S = _.exports;
62
+ export {
63
+ S as default
64
+ };
@@ -0,0 +1,10 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./index.1aa5d3e4.cjs"),l=require("./get-processed-block.d751f4a7.cjs"),i={small:{min:320,default:321,max:640},medium:{min:641,default:642,max:991},large:{min:990,default:991,max:1200}},r=e=>`@media (max-width: ${i[e].max}px)`,a=e=>e.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g,"$1-$2").toLowerCase(),o=e=>Object.entries(e).map(([s,n])=>{if(typeof n=="string")return`${a(s)}: ${n};`}).join(`
2
+ `),d=()=>Promise.resolve().then(()=>require("./render-inlined-styles.ff54866e.cjs")),u={name:"block-styles",components:{"render-inlined-styles":d},props:["block","context"],data:()=>({TARGET:c.TARGET}),computed:{useBlock(){return l.getProcessedBlock({block:this.block,state:this.context.state,context:this.context.context,shouldEvaluateBindings:!0})},css(){const e=this.useBlock.responsiveStyles,t=e==null?void 0:e.large,s=e==null?void 0:e.medium,n=e==null?void 0:e.small;return`
3
+ ${t?`.${this.useBlock.id} {${o(t)}}`:""}
4
+ ${s?`${r("medium")} {
5
+ .${this.useBlock.id} {${o(s)}}
6
+ }`:""}
7
+ ${n?`${r("small")} {
8
+ .${this.useBlock.id} {${o(n)}}
9
+ }`:""}
10
+ }`}}};var m=function(){var t=this,s=t._self._c;return t.TARGET==="vue2"||t.TARGET==="vue3"||t.TARGET==="svelte"?s("render-inlined-styles",{attrs:{styles:t.css}}):t._e()},p=[],f=c.normalizeComponent(u,m,p,!1,null,null,null,null);const $=f.exports;exports.default=$;
@@ -0,0 +1,44 @@
1
+ import { e as u } from "./index.62438203.js";
2
+ const f = (r, e, t) => {
3
+ if (Object(r) !== r)
4
+ return r;
5
+ const n = Array.isArray(e) ? e : e.toString().match(/[^.[\]]+/g);
6
+ return n.slice(0, -1).reduce((s, o, i) => Object(s[o]) === s[o] ? s[o] : s[o] = Math.abs(Number(n[i + 1])) >> 0 === +n[i + 1] ? [] : {}, r)[n[n.length - 1]] = t, r;
7
+ };
8
+ var d = Object.defineProperty, _ = Object.defineProperties, g = Object.getOwnPropertyDescriptors, p = Object.getOwnPropertySymbols, l = Object.prototype.hasOwnProperty, O = Object.prototype.propertyIsEnumerable, c = (r, e, t) => e in r ? d(r, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[e] = t, a = (r, e) => {
9
+ for (var t in e || (e = {}))
10
+ l.call(e, t) && c(r, t, e[t]);
11
+ if (p)
12
+ for (var t of p(e))
13
+ O.call(e, t) && c(r, t, e[t]);
14
+ return r;
15
+ }, v = (r, e) => _(r, g(e));
16
+ const P = ({
17
+ block: r,
18
+ context: e,
19
+ state: t
20
+ }) => {
21
+ if (!r.bindings)
22
+ return r;
23
+ const n = v(a({}, r), {
24
+ properties: a({}, r.properties),
25
+ actions: a({}, r.actions)
26
+ });
27
+ for (const s in r.bindings) {
28
+ const o = r.bindings[s], i = u({ code: o, state: t, context: e });
29
+ f(n, s, i);
30
+ }
31
+ return n;
32
+ };
33
+ function y({
34
+ block: r,
35
+ context: e,
36
+ shouldEvaluateBindings: t,
37
+ state: n
38
+ }) {
39
+ const s = r;
40
+ return t ? P({ block: s, state: n, context: e }) : s;
41
+ }
42
+ export {
43
+ y as g
44
+ };
@@ -0,0 +1 @@
1
+ "use strict";const u=require("./index.1aa5d3e4.cjs"),d=(r,e,t)=>{if(Object(r)!==r)return r;const n=Array.isArray(e)?e:e.toString().match(/[^.[\]]+/g);return n.slice(0,-1).reduce((s,o,i)=>Object(s[o])===s[o]?s[o]:s[o]=Math.abs(Number(n[i+1]))>>0===+n[i+1]?[]:{},r)[n[n.length-1]]=t,r};var f=Object.defineProperty,l=Object.defineProperties,_=Object.getOwnPropertyDescriptors,c=Object.getOwnPropertySymbols,g=Object.prototype.hasOwnProperty,O=Object.prototype.propertyIsEnumerable,p=(r,e,t)=>e in r?f(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,a=(r,e)=>{for(var t in e||(e={}))g.call(e,t)&&p(r,t,e[t]);if(c)for(var t of c(e))O.call(e,t)&&p(r,t,e[t]);return r},P=(r,e)=>l(r,_(e));const v=({block:r,context:e,state:t})=>{if(!r.bindings)return r;const n=P(a({},r),{properties:a({},r.properties),actions:a({},r.actions)});for(const s in r.bindings){const o=r.bindings[s],i=u.evaluate({code:o,state:t,context:e});d(n,s,i)}return n};function m({block:r,context:e,shouldEvaluateBindings:t,state:n}){const s=r;return t?v({block:s,state:n,context:e}):s}exports.getProcessedBlock=m;
@@ -0,0 +1 @@
1
+ "use strict";const v="vue2";function d(){return typeof window<"u"&&typeof document<"u"}const O={};function H(t,e){let n=O[t];if(n||(n=O[t]=[]),n.push(e),d()){const r={type:"builder.register",data:{type:t,info:e}};try{parent.postMessage(r,"*"),parent!==window&&window.postMessage(r,"*")}catch(o){console.debug("Could not postmessage",o)}}}const ke=()=>{H("insertMenu",{name:"_default",default:!0,items:[{name:"Box"},{name:"Text"},{name:"Image"},{name:"Columns"},{name:"Core:Section"},{name:"Core:Button"},{name:"Embed"},{name:"Custom Code"}]})},Ie=()=>{var t;d()&&((t=window.parent)==null||t.postMessage({type:"builder.sdkInfo",data:{target:v,supportsPatchUpdates:!1}},"*"),window.addEventListener("message",({data:e})=>{var n,r;if(e)switch(e.type){case"builder.evaluate":{const o=e.data.text,i=e.data.arguments||[],a=e.data.id,l=new Function(o);let s,c=null;try{s=l.apply(null,i)}catch(u){c=u}c?(n=window.parent)==null||n.postMessage({type:"builder.evaluateError",data:{id:a,error:c.message}},"*"):s&&typeof s.then=="function"?s.then(u=>{var f;(f=window.parent)==null||f.postMessage({type:"builder.evaluateResult",data:{id:a,result:u}},"*")}).catch(console.error):(r=window.parent)==null||r.postMessage({type:"builder.evaluateResult",data:{result:s,id:a}},"*");break}}}))},$e=()=>Promise.resolve().then(()=>Ce),Te={name:"builder-columns",components:{"render-blocks":$e},props:["space","columns","stackColumnsAt","reverseColumnsWhenStacked","builderBlock"],computed:{columnsCssVars(){const t=this.stackColumnsAt==="never"?"inherit":this.reverseColumnsWhenStacked?"column-reverse":"column";return{"--flex-dir":t,"--flex-dir-tablet":this.maybeApplyForTablet(t)}},columnCssVars(){const t="100%",e="0";return{"--column-width":t,"--column-margin-left":e,"--column-width-tablet":this.maybeApplyForTablet(t),"--column-margin-left-tablet":this.maybeApplyForTablet(e)}}},methods:{getGutterSize(){return typeof this.space=="number"?this.space||0:20},getColumns(){return this.columns||[]},getWidth(t){var n;const e=this.getColumns();return((n=e[t])==null?void 0:n.width)||100/e.length},getColumnCssWidth(t){const e=this.getColumns(),r=this.getGutterSize()*(e.length-1)/e.length;return`calc(${this.getWidth(t)}% - ${r}px)`},maybeApplyForTablet(t){return(this.stackColumnsAt||"tablet")==="tablet"?t:"inherit"}}};function p(t,e,n,r,o,i,a,l){var s=typeof t=="function"?t.options:t;e&&(s.render=e,s.staticRenderFns=n,s._compiled=!0),r&&(s.functional=!0),i&&(s._scopeId="data-v-"+i);var c;if(a?(c=function(m){m=m||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,!m&&typeof __VUE_SSR_CONTEXT__<"u"&&(m=__VUE_SSR_CONTEXT__),o&&o.call(this,m),m&&m._registeredComponents&&m._registeredComponents.add(a)},s._ssrRegister=c):o&&(c=l?function(){o.call(this,(s.functional?this.parent:this).$root.$options.shadowRoot)}:o),c)if(s.functional){s._injectStyles=c;var u=s.render;s.render=function(Se,R){return c.call(R),u(Se,R)}}else{var f=s.beforeCreate;s.beforeCreate=f?[].concat(f,c):[c]}return{exports:t,options:s}}var Pe=function(){var e=this,n=e._self._c;return n("div",{staticClass:"builder-columns div-20351ewpue7",style:e.columnsCssVars},e._l(e.columns,function(r,o){return n("div",{key:o,staticClass:"builder-column div-20351ewpue7-2",style:{width:e.getColumnCssWidth(o),marginLeft:`${o===0?0:e.getGutterSize()}px`,...e.columnCssVars}},[n("render-blocks",{attrs:{blocks:r.blocks,path:`component.options.columns.${o}.blocks`,parent:e.builderBlock.id}})],1)}),0)},Re=[],Oe=p(Te,Pe,Re,!1,null,"ac7d439f",null,null);const K=Oe.exports;function j(t){return t.replace(/http(s)?:/,"")}function je(t="",e,n){const r=new RegExp("([?&])"+e+"=.*?(&|$)","i"),o=t.indexOf("?")!==-1?"&":"?";return t.match(r)?t.replace(r,"$1"+e+"="+encodeURIComponent(n)+"$2"):t+o+e+"="+encodeURIComponent(n)}function Ee(t,e){if(!t||!(t!=null&&t.match(/cdn\.shopify\.com/))||!e)return t;if(e==="master")return j(t);const n=t.match(/(_\d+x(\d+)?)?(\.(jpg|jpeg|gif|png|bmp|bitmap|tiff|tif)(\?v=\d+)?)/i);if(n){const r=t.split(n[0]),o=n[3],i=e.match("x")?e:`${e}x`;return j(`${r[0]}_${i}${o}`)}return null}function y(t){if(!t)return t;const e=[100,200,400,800,1200,1600,2e3];if(t.match(/builder\.io/)){let n=t;const r=Number(t.split("?width=")[1]);return isNaN(r)||(n=`${n} ${r}w`),e.filter(o=>o!==r).map(o=>`${je(t,"width",o)} ${o}w`).concat([n]).join(", ")}return t.match(/cdn\.shopify\.com/)?e.map(n=>[Ee(t,`${n}x${n}`),n]).filter(([n])=>!!n).map(([n,r])=>`${n} ${r}w`).concat([t]).join(", "):t}const Fe={name:"builder-image",props:["image","src","srcset","noWebp","altText","backgroundSize","className","sizes","aspectRatio","fitContent","builderBlock"],computed:{srcSetToUse(){var n;const e=this.image||this.src;if(!e||!(e.match(/builder\.io/)||e.match(/cdn\.shopify\.com/)))return this.srcset;if(this.srcset&&((n=this.image)==null?void 0:n.includes("builder.io/api/v1/image"))){if(!this.srcset.includes(this.image.split("?")[0]))return console.debug("Removed given srcset"),y(e)}else if(this.image&&!this.srcset)return y(e);return y(e)},webpSrcSet(){var t;return((t=this.srcSetToUse)==null?void 0:t.match(/builder\.io/))&&!this.noWebp?this.srcSetToUse.replace(/\?/g,"?format=webp&"):""}},methods:{_classStringToObject(t){const e={};if(typeof t!="string")return e;const n=t.trim().split(/\s+/);for(const r of n)e[r]=!0;return e}}};var Ue=function(){var r,o;var e=this,n=e._self._c;return n("div",{staticClass:"div-2lx2rpb0jxo"},[n("picture",[e.webpSrcSet?n("source",{attrs:{type:"image/webp",srcset:e.webpSrcSet}}):e._e(),n("img",{class:e._classStringToObject("builder-image"+(e.className?" "+e.className:"")+" img-2lx2rpb0jxo"),style:{objectPosition:e.backgroundSize||"center",objectFit:e.backgroundSize||"cover"},attrs:{loading:"lazy",alt:e.altText,role:e.altText?"presentation":void 0,src:e.image,srcset:e.srcSetToUse,sizes:e.sizes}}),n("source",{attrs:{srcset:e.srcSetToUse}})]),e.aspectRatio&&!(e.fitContent&&((o=(r=e.builderBlock)==null?void 0:r.children)==null?void 0:o.length))?n("div",{staticClass:"builder-image-sizer div-2lx2rpb0jxo-2",style:{paddingTop:e.aspectRatio*100+"%"}}):e._e(),e._t("default"),e.fitContent?e._e():n("div",{staticClass:"div-2lx2rpb0jxo-3"},[e._t("default")],2)],2)},Ae=[],Ve=p(Fe,Ue,Ae,!1,null,"1074f5e3",null,null);const G=Ve.exports,We={name:"builder-text",props:["text"]};var Le=function(){var e=this,n=e._self._c;return n("div",{staticClass:"builder-text",domProps:{innerHTML:e._s(e.text)}})},Ne=[],Be=p(We,Le,Ne,!1,null,null,null,null);const J=Be.exports,Me={name:"builder-video",props:["autoPlay","muted","controls","loop","playsInline","attributes","fit","position","video","posterImage"],computed:{videoProps(){return{...this.autoPlay===!0?{autoPlay:!0}:{},...this.muted===!0?{muted:!0}:{},...this.controls===!0?{controls:!0}:{},...this.loop===!0?{loop:!0}:{},...this.playsInline===!0?{playsInline:!0}:{}}}}};var ze=function(){var r;var e=this,n=e._self._c;return n("video",e._b({style:{width:"100%",height:"100%",...(r=e.attributes)==null?void 0:r.style,objectFit:e.fit,objectPosition:e.position,borderRadius:1},attrs:{src:e.video||"no-src",poster:e.posterImage}},"video",e.videoProps,!1))},De=[],qe=p(Me,ze,De,!1,null,null,null,null);const X=qe.exports;var He=Object.defineProperty,Ke=Object.defineProperties,Ge=Object.getOwnPropertyDescriptors,E=Object.getOwnPropertySymbols,Je=Object.prototype.hasOwnProperty,Xe=Object.prototype.propertyIsEnumerable,F=(t,e,n)=>e in t?He(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,x=(t,e)=>{for(var n in e||(e={}))Je.call(e,n)&&F(t,n,e[n]);if(E)for(var n of E(e))Xe.call(e,n)&&F(t,n,e[n]);return t},Ye=(t,e)=>Ke(t,Ge(e));function w(t,e=null,n="."){return Object.keys(t).reduce((r,o)=>{const i=t[o],a=[e,o].filter(Boolean).join(n);return[typeof i=="object",i!==null,!(Array.isArray(i)&&i.length===0)].every(Boolean)?x(x({},r),w(i,a,n)):Ye(x({},r),{[a]:i})},{})}const U="builder.",I=t=>{const e={};return t.forEach((n,r)=>{e[r]=n}),e},Y=t=>{const e={};return Object.keys(t).forEach(n=>{if(n.startsWith(U)){const r=n.replace(U,"");e[r]=t[n]}}),e},Q=()=>{if(!d())return{};const t=new URLSearchParams(window.location.search);return Y(I(t))},Z=t=>t instanceof URLSearchParams?I(t):t;function Qe(){return typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:null}var Ze=(t,e,n)=>new Promise((r,o)=>{var i=s=>{try{l(n.next(s))}catch(c){o(c)}},a=s=>{try{l(n.throw(s))}catch(c){o(c)}},l=s=>s.done?r(s.value):Promise.resolve(s.value).then(i,a);l((n=n.apply(t,e)).next())});function ee(){return Ze(this,null,function*(){const t=Qe().fetch;if(typeof t>"u"&&typeof global<"u"){const e=Promise.resolve().then(()=>require("./index.475f52c7.cjs")).then(n=>n.default);return e.default||e}return t.default||t})}const et=(t,e)=>{if(t.variations&&Object.keys(t.variations).length){const n=t.id?e[t.id]:void 0,r=n?t.variations[n]:void 0;if(n&&r)t.data=r.data,t.testVariationId=r.id,t.testVariationName=r.name;else{let o=0;const i=Math.random();let a=!1;for(const l in t.variations){const s=t.variations[l];if(o+=s.testRatio,i<o){const u=s.name||(s.id===t.id?"Default variation":"");a=!0,Object.assign(t,{data:s.data,testVariationId:s.id,testVariationName:u})}}a||Object.assign(t,{testVariationId:t.id,testVariationName:"Default"})}}};var tt=Object.defineProperty,nt=Object.defineProperties,rt=Object.getOwnPropertyDescriptors,A=Object.getOwnPropertySymbols,ot=Object.prototype.hasOwnProperty,st=Object.prototype.propertyIsEnumerable,V=(t,e,n)=>e in t?tt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,C=(t,e)=>{for(var n in e||(e={}))ot.call(e,n)&&V(t,n,e[n]);if(A)for(var n of A(e))st.call(e,n)&&V(t,n,e[n]);return t},at=(t,e)=>nt(t,rt(e)),te=(t,e,n)=>new Promise((r,o)=>{var i=s=>{try{l(n.next(s))}catch(c){o(c)}},a=s=>{try{l(n.throw(s))}catch(c){o(c)}},l=s=>s.done?r(s.value):Promise.resolve(s.value).then(i,a);l((n=n.apply(t,e)).next())});const it=ee();function $(t){return te(this,null,function*(){return(yield re(at(C({},t),{limit:1}))).results[0]||null})}const ne=t=>{const{limit:e=30,userAttributes:n,query:r,noTraverse:o=!1,model:i,apiKey:a}=t,l=new URL(`https://cdn.builder.io/api/v2/content/${i}?apiKey=${a}&limit=${e}&noTraverse=${o}`),s=C(C({},Q()),Z(t.options||{})),c=w(s);for(const u in c)l.searchParams.set(u,String(c[u]));if(n&&l.searchParams.set("userAttributes",JSON.stringify(n)),r){const u=w({query:r});for(const f in u)l.searchParams.set(f,JSON.stringify(u[f]))}return l};function re(t){return te(this,null,function*(){const e=ne(t),r=yield(yield it)(e.href).then(o=>o.json());if(t.testGroups)for(const o of r.results)et(o,t.testGroups);return r})}const lt=()=>Promise.resolve().then(()=>Un),ct={name:"builder-symbol",components:{"render-content":lt},props:["symbol","attributes"],data:()=>({className:"builder-symbol",content:null}),inject:{builderContext:"BuilderContext"},mounted(){var t;this.content=(t=this.symbol)==null?void 0:t.content},watch:{onUpdateHook0(){const t=this.symbol;t&&!t.content&&!this.content&&t.model&&$({model:t.model,apiKey:this.builderContext.apiKey,query:{id:t.entry}}).then(e=>{this.content=e})}},computed:{onUpdateHook0(){var t,e,n;return{0:(t=this.symbol)==null?void 0:t.content,1:(e=this.symbol)==null?void 0:e.model,2:(n=this.symbol)==null?void 0:n.entry,3:this.content}}},methods:{_classStringToObject(t){const e={};if(typeof t!="string")return e;const n=t.trim().split(/\s+/);for(const r of n)e[r]=!0;return e}}};var ut=function(){var r,o,i,a,l;var e=this,n=e._self._c;return n("div",e._b({class:e._classStringToObject(e.className),attrs:{dataSet:{class:e.className}}},"div",e.attributes,!1),[n("render-content",{attrs:{apiKey:e.builderContext.apiKey,context:e.builderContext.context,customComponents:Object.values(e.builderContext.registeredComponents),data:{...(r=e.symbol)==null?void 0:r.data,...e.builderContext.state,...(a=(i=(o=e.symbol)==null?void 0:o.content)==null?void 0:i.data)==null?void 0:a.state},model:(l=e.symbol)==null?void 0:l.model,content:e.content}})],1)},dt=[],pt=p(ct,ut,dt,!1,null,null,null,null);const oe=pt.exports,mt={name:"builder-button",props:["attributes","text","link","openLinkInNewTab"]};var ft=function(){var e=this,n=e._self._c;return e.link?n("a",e._b({attrs:{role:"button",href:e.link,target:e.openLinkInNewTab?"_blank":void 0}},"a",e.attributes,!1),[e._v(" "+e._s(e.text)+" ")]):n("button",e._b({staticClass:"button-1be3j8m9ewb"},"button",e.attributes,!1),[e._v(" "+e._s(e.text)+" ")])},ht=[],gt=p(mt,ft,ht,!1,null,"a6274bf3",null,null);const se=gt.exports,bt={name:"builder-section-component",props:["attributes","maxWidth"]};var _t=function(){var e=this,n=e._self._c;return n("section",e._b({style:e.maxWidth&&typeof e.maxWidth=="number"?{maxWidth:e.maxWidth}:void 0},"section",e.attributes,!1),[e._t("default")],2)},vt=[],yt=p(bt,_t,vt,!1,null,null,null,null);const ae=yt.exports,xt={name:"builder-fragment-component",props:[]};var wt=function(){var e=this,n=e._self._c;return n("span",[e._t("default")],2)},Ct=[],St=p(xt,wt,Ct,!1,null,null,null,null);const ie=St.exports,kt={name:"Core:Button",builtIn:!0,image:"https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F81a15681c3e74df09677dfc57a615b13",defaultStyles:{appearance:"none",paddingTop:"15px",paddingBottom:"15px",paddingLeft:"25px",paddingRight:"25px",backgroundColor:"#000000",color:"white",borderRadius:"4px",textAlign:"center",cursor:"pointer"},inputs:[{name:"text",type:"text",defaultValue:"Click me!",bubble:!0},{name:"link",type:"url",bubble:!0},{name:"openLinkInNewTab",type:"boolean",defaultValue:!1,friendlyName:"Open link in new tab"}],static:!0,noWrap:!0};function T(t){return t.__qwik_serializable__=!0,t}const It={name:"Columns",builtIn:!0,inputs:[{name:"columns",type:"array",broadcast:!0,subFields:[{name:"blocks",type:"array",hideFromUI:!0,defaultValue:[{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{display:"flex",flexDirection:"column",alignItems:"stretch",flexShrink:"0",position:"relative",marginTop:"30px",textAlign:"center",lineHeight:"normal",height:"auto",minHeight:"20px",minWidth:"20px",overflow:"hidden"}},component:{name:"Image",options:{image:"https://builder.io/api/v1/image/assets%2Fpwgjf0RoYWbdnJSbpBAjXNRMe9F2%2Ffb27a7c790324294af8be1c35fe30f4d",backgroundPosition:"center",backgroundSize:"cover",aspectRatio:.7004048582995948}}},{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{display:"flex",flexDirection:"column",alignItems:"stretch",flexShrink:"0",position:"relative",marginTop:"30px",textAlign:"center",lineHeight:"normal",height:"auto"}},component:{name:"Text",options:{text:"<p>Enter some text...</p>"}}}]},{name:"width",type:"number",hideFromUI:!0,helperText:"Width %, e.g. set to 50 to fill half of the space"},{name:"link",type:"url",helperText:"Optionally set a url that clicking this column will link to"}],defaultValue:[{blocks:[{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{display:"flex",flexDirection:"column",alignItems:"stretch",flexShrink:"0",position:"relative",marginTop:"30px",textAlign:"center",lineHeight:"normal",height:"auto",minHeight:"20px",minWidth:"20px",overflow:"hidden"}},component:{name:"Image",options:{image:"https://builder.io/api/v1/image/assets%2Fpwgjf0RoYWbdnJSbpBAjXNRMe9F2%2Ffb27a7c790324294af8be1c35fe30f4d",backgroundPosition:"center",backgroundSize:"cover",aspectRatio:.7004048582995948}}},{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{display:"flex",flexDirection:"column",alignItems:"stretch",flexShrink:"0",position:"relative",marginTop:"30px",textAlign:"center",lineHeight:"normal",height:"auto"}},component:{name:"Text",options:{text:"<p>Enter some text...</p>"}}}]},{blocks:[{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{display:"flex",flexDirection:"column",alignItems:"stretch",flexShrink:"0",position:"relative",marginTop:"30px",textAlign:"center",lineHeight:"normal",height:"auto",minHeight:"20px",minWidth:"20px",overflow:"hidden"}},component:{name:"Image",options:{image:"https://builder.io/api/v1/image/assets%2Fpwgjf0RoYWbdnJSbpBAjXNRMe9F2%2Ffb27a7c790324294af8be1c35fe30f4d",backgroundPosition:"center",backgroundSize:"cover",aspectRatio:.7004048582995948}}},{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{display:"flex",flexDirection:"column",alignItems:"stretch",flexShrink:"0",position:"relative",marginTop:"30px",textAlign:"center",lineHeight:"normal",height:"auto"}},component:{name:"Text",options:{text:"<p>Enter some text...</p>"}}}]}],onChange:T(t=>{function e(){n.forEach(r=>{r.delete("width")})}const n=t.get("columns");Array.isArray(n)&&!!n.find(o=>o.get("width"))&&(!!n.find(i=>!i.get("width"))||n.reduce((l,s)=>l+s.get("width"),0)!==100)&&e()})},{name:"space",type:"number",defaultValue:20,helperText:"Size of gap between columns",advanced:!0},{name:"stackColumnsAt",type:"string",defaultValue:"tablet",helperText:"Convert horizontal columns to vertical at what device size",enum:["tablet","mobile","never"],advanced:!0},{name:"reverseColumnsWhenStacked",type:"boolean",defaultValue:!1,helperText:"When stacking columns for mobile devices, reverse the ordering",advanced:!0}]},$t={name:"Fragment",static:!0,hidden:!0,builtIn:!0,canHaveChildren:!0,noWrap:!0},Tt={name:"Image",static:!0,builtIn:!0,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",defaultStyles:{position:"relative",minHeight:"20px",minWidth:"20px",overflow:"hidden"},canHaveChildren:!0,inputs:[{name:"image",type:"file",bubble:!0,allowedFileTypes:["jpeg","jpg","png","svg"],required:!0,defaultValue:"https://cdn.builder.io/api/v1/image/assets%2Fpwgjf0RoYWbdnJSbpBAjXNRMe9F2%2Ffb27a7c790324294af8be1c35fe30f4d",onChange:T(t=>{t.delete("srcset"),t.delete("noWebp");function n(a,l=6e4){return new Promise((s,c)=>{const u=document.createElement("img");let f=!1;u.onload=()=>{f=!0,s(u)},u.addEventListener("error",m=>{console.warn("Image load failed",m.error),c(m.error)}),u.src=a,setTimeout(()=>{f||c(new Error("Image load timed out"))},l)})}function r(a){return Math.round(a*1e3)/1e3}const o=t.get("image"),i=t.get("aspectRatio");if(fetch(o).then(a=>a.blob()).then(a=>{a.type.includes("svg")&&t.set("noWebp",!0)}),o&&(!i||i===.7041))return n(o).then(a=>{const l=t.get("aspectRatio");t.get("image")===o&&(!l||l===.7041)&&a.width&&a.height&&(t.set("aspectRatio",r(a.height/a.width)),t.set("height",a.height),t.set("width",a.width))})})},{name:"backgroundSize",type:"text",defaultValue:"cover",enum:[{label:"contain",value:"contain",helperText:"The image should never get cropped"},{label:"cover",value:"cover",helperText:"The image should fill it's box, cropping when needed"}]},{name:"backgroundPosition",type:"text",defaultValue:"center",enum:["center","top","left","right","bottom","top left","top right","bottom left","bottom right"]},{name:"altText",type:"string",helperText:"Text to display when the user has images off"},{name:"height",type:"number",hideFromUI:!0},{name:"width",type:"number",hideFromUI:!0},{name:"sizes",type:"string",hideFromUI:!0},{name:"srcset",type:"string",hideFromUI:!0},{name:"lazy",type:"boolean",defaultValue:!0,hideFromUI:!0},{name:"fitContent",type:"boolean",helperText:"When child blocks are provided, fit to them instead of using the image's aspect ratio",defaultValue:!0},{name:"aspectRatio",type:"number",helperText:"This is the ratio of height/width, e.g. set to 1.5 for a 300px wide and 200px tall photo. Set to 0 to not force the image to maintain it's aspect ratio",advanced:!0,defaultValue:.7041}]},Pt={name:"Core:Section",static:!0,builtIn:!0,image:"https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F682efef23ace49afac61748dd305c70a",inputs:[{name:"maxWidth",type:"number",defaultValue:1200},{name:"lazyLoad",type:"boolean",defaultValue:!1,advanced:!0,description:"Only render this section when in view"}],defaultStyles:{paddingLeft:"20px",paddingRight:"20px",paddingTop:"50px",paddingBottom:"50px",marginTop:"0px",width:"100vw",marginLeft:"calc(50% - 50vw)"},canHaveChildren:!0,defaultChildren:[{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{textAlign:"center"}},component:{name:"Text",options:{text:"<p><b>I am a section! My content keeps from getting too wide, so that it's easy to read even on big screens.</b></p><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur</p>"}}}]},Rt={name:"Symbol",noWrap:!0,static:!0,builtIn:!0,inputs:[{name:"symbol",type:"uiSymbol"},{name:"dataOnly",helperText:"Make this a data symbol that doesn't display any UI",type:"boolean",defaultValue:!1,advanced:!0,hideFromUI:!0},{name:"inheritState",helperText:"Inherit the parent component state and data",type:"boolean",defaultValue:!1,advanced:!0},{name:"renderToLiquid",helperText:"Render this symbols contents to liquid. Turn off to fetch with javascript and use custom targeting",type:"boolean",defaultValue:!1,advanced:!0,hideFromUI:!0},{name:"useChildren",hideFromUI:!0,type:"boolean"}]},Ot={name:"Text",static:!0,builtIn:!0,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",inputs:[{name:"text",type:"html",required:!0,autoFocus:!0,bubble:!0,defaultValue:"Enter some text..."}],defaultStyles:{lineHeight:"normal",height:"auto",textAlign:"center"}},jt={name:"Video",canHaveChildren:!0,builtIn:!0,defaultStyles:{minHeight:"20px",minWidth:"20px"},image:"https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-videocam-24px%20(1).svg?alt=media&token=49a84e4a-b20e-4977-a650-047f986874bb",inputs:[{name:"video",type:"file",allowedFileTypes:["mp4"],bubble:!0,defaultValue:"https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/assets%2FKQlEmWDxA0coC3PK6UvkrjwkIGI2%2F28cb070609f546cdbe5efa20e931aa4b?alt=media&token=912e9551-7a7c-4dfb-86b6-3da1537d1a7f",required:!0},{name:"posterImage",type:"file",allowedFileTypes:["jpeg","png"],helperText:"Image to show before the video plays"},{name:"autoPlay",type:"boolean",defaultValue:!0},{name:"controls",type:"boolean",defaultValue:!1},{name:"muted",type:"boolean",defaultValue:!0},{name:"loop",type:"boolean",defaultValue:!0},{name:"playsInline",type:"boolean",defaultValue:!0},{name:"fit",type:"text",defaultValue:"cover",enum:["contain","cover","fill","auto"]},{name:"fitContent",type:"boolean",helperText:"When child blocks are provided, fit to them instead of using the aspect ratio",defaultValue:!0,advanced:!0},{name:"position",type:"text",defaultValue:"center",enum:["center","top","left","right","bottom","top left","top right","bottom left","bottom right"]},{name:"height",type:"number",advanced:!0},{name:"width",type:"number",advanced:!0},{name:"aspectRatio",type:"number",advanced:!0,defaultValue:.7004048582995948},{name:"lazyLoad",type:"boolean",helperText:'Load this video "lazily" - as in only when a user scrolls near the video. Recommended for optmized performance and bandwidth consumption',defaultValue:!0,advanced:!0}]},Et={name:"Embed",static:!0,builtIn:!0,inputs:[{name:"url",type:"url",required:!0,defaultValue:"",helperText:"e.g. enter a youtube url, google map, etc",onChange:T(t=>{const e=t.get("url");if(e)return t.set("content","Loading..."),fetch(`https://iframe.ly/api/iframely?url=${e}&api_key=ae0e60e78201a3f2b0de4b`).then(r=>r.json()).then(r=>{t.get("url")===e&&(r.html?t.set("content",r.html):t.set("content","Invalid url, please try another"))}).catch(r=>{t.set("content","There was an error embedding this URL, please try again or another URL")});t.delete("content")})},{name:"content",type:"html",defaultValue:'<div style="padding: 20px; text-align: center">(Choose an embed URL)<div>',hideFromUI:!0}]},Ft=["text/javascript","application/javascript","application/ecmascript"],Ut=t=>Ft.includes(t.type),At={name:"builder-embed",props:["content"],data:()=>({scriptsInserted:[],scriptsRun:[],ranInitFn:!1}),watch:{onUpdateHook0(){this.$refs.elem&&!this.ranInitFn&&(this.ranInitFn=!0,this.findAndRunScripts())}},computed:{onUpdateHook0(){return{0:this.$refs.elem,1:this.ranInitFn}}},methods:{findAndRunScripts(){const t=this.$refs.elem.getElementsByTagName("script");for(let e=0;e<t.length;e++){const n=t[e];if(n.src&&!this.scriptsInserted.includes(n.src)){this.scriptsInserted.push(n.src);const r=document.createElement("script");r.async=!0,r.src=n.src,document.head.appendChild(r)}else if(Ut(n)&&!this.scriptsRun.includes(n.innerText))try{this.scriptsRun.push(n.innerText),new Function(n.innerText)()}catch(r){console.warn("`Embed`: Error running script:",r)}}}}};var Vt=function(){var e=this,n=e._self._c;return n("div",{ref:"elem",staticClass:"builder-embed",domProps:{innerHTML:e._s(e.content)}})},Wt=[],Lt=p(At,Vt,Wt,!1,null,null,null,null);const Nt=Lt.exports;function Bt(){return d()&&window.self!==window.top}function g(){return Bt()&&window.location.search.indexOf("builder.frameEditing=")!==-1}const Mt={name:"builder-img-component",props:["backgroundSize","backgroundPosition","imgSrc","altText","image","attributes"],data:()=>({isEditing:g})};var zt=function(){var e=this,n=e._self._c;return n("img",e._b({key:e.isEditing()&&e.imgSrc||"default-key",style:{objectFit:e.backgroundSize||"cover",objectPosition:e.backgroundPosition||"center"},attrs:{alt:e.altText,src:e.imgSrc||e.image}},"img",e.attributes,!1))},Dt=[],qt=p(Mt,zt,Dt,!1,null,null,null,null);const Ht=qt.exports,Kt={name:"Raw:Img",hideFromInsertMenu:!0,builtIn:!0,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",inputs:[{name:"image",bubble:!0,type:"file",allowedFileTypes:["jpeg","jpg","png","svg"],required:!0}],noWrap:!0,static:!0};var Gt=Object.defineProperty,W=Object.getOwnPropertySymbols,Jt=Object.prototype.hasOwnProperty,Xt=Object.prototype.propertyIsEnumerable,L=(t,e,n)=>e in t?Gt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,h=(t,e)=>{for(var n in e||(e={}))Jt.call(e,n)&&L(t,n,e[n]);if(W)for(var n of W(e))Xt.call(e,n)&&L(t,n,e[n]);return t};const Yt=()=>[h({component:K},It),h({component:G},Tt),h({component:Ht},Kt),h({component:J},Ot),h({component:X},jt),h({component:oe},Rt),h({component:se},kt),h({component:ae},Pt),h({component:ie},$t),h({component:Nt},Et)];function S({code:t,context:e,state:n,event:r}){if(t===""){console.warn("Skipping evaluation of empty code block.");return}const o={isEditing:g(),isBrowser:d(),isServer:!d()},a=!(t.includes(";")||t.includes(" return ")||t.trim().startsWith("return "))?`return (${t});`:t;try{return new Function("builder","Builder","state","context","event",a)(o,o,n,e,r)}catch(l){console.warn("Builder custom code error: ",l)}}function le(){return!d()||g()?!1:Boolean(location.search.indexOf("builder.preview=")!==-1)}var Qt=Object.defineProperty,Zt=Object.defineProperties,en=Object.getOwnPropertyDescriptors,b=Object.getOwnPropertySymbols,ce=Object.prototype.hasOwnProperty,ue=Object.prototype.propertyIsEnumerable,N=(t,e,n)=>e in t?Qt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,k=(t,e)=>{for(var n in e||(e={}))ce.call(e,n)&&N(t,n,e[n]);if(b)for(var n of b(e))ue.call(e,n)&&N(t,n,e[n]);return t},B=(t,e)=>Zt(t,en(e)),de=(t,e)=>{var n={};for(var r in t)ce.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&b)for(var r of b(t))e.indexOf(r)<0&&ue.call(t,r)&&(n[r]=t[r]);return n};const P=[];function tn(t,e){return P.push(k({component:t},e)),console.warn("registerComponent is deprecated. Use the `customComponents` prop in RenderContent instead to provide your custom components to the builder SDK."),t}const pe=t=>{var e=t,n=de(e,["component"]);return{type:"builder.registerComponent",data:on(n)}},me=t=>JSON.parse(JSON.stringify(t)),nn=t=>typeof t=="function"?rn(t):me(t),rn=t=>{const e=t.toString().trim();return`return (${!e.startsWith("function")&&!e.startsWith("(")?"function ":""}${e}).apply(this, arguments)`},on=t=>{var e=t,{inputs:n}=e,r=de(e,["inputs"]);return B(k({},me(r)),{inputs:n==null?void 0:n.map(o=>Object.entries(o).reduce((i,[a,l])=>B(k({},i),{[a]:nn(l)}),{}))})},sn=t=>{const e=t.split(".");return e.length>2?e.slice(1).join("."):t},an=({name:t,canTrack:e})=>{var n;try{return e?(n=document.cookie.split("; ").find(r=>r.startsWith(`${t}=`)))==null?void 0:n.split("=")[1]:void 0}catch(r){console.debug("[COOKIE] GET error: ",r)}},ln=t=>t.map(([e,n])=>n?`${e}=${n}`:e).join("; "),cn=[["secure",""],["SameSite","None"]],un=({name:t,value:e,expires:n})=>{const o=(d()?location.protocol==="https:":!0)?cn:[[]],i=n?[["expires",n.toUTCString()]]:[[]],a=[[t,e],...i,["path","/"],["domain",sn(window.location.hostname)],...o];return ln(a)},dn=({name:t,value:e,expires:n,canTrack:r})=>{try{if(!r)return;const o=un({name:t,value:e,expires:n});document.cookie=o}catch(o){console.warn("[COOKIE] SET error: ",o)}},fe=t=>t!=null;function pn(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){const e=Math.random()*16|0;return(t=="x"?e:e&3|8).toString(16)})}function he(){return pn().replace(/-/g,"")}const ge="builderSessionId",mn=({canTrack:t})=>{if(!t)return;const e=an({name:ge,canTrack:t});if(fe(e))return e;{const n=fn();hn({id:n,canTrack:t})}},fn=()=>he(),hn=({id:t,canTrack:e})=>dn({name:ge,value:t,canTrack:e}),be=()=>d()&&typeof localStorage<"u"?localStorage:void 0,gn=({key:t,canTrack:e})=>{var n;try{return e?(n=be())==null?void 0:n.getItem(t):void 0}catch(r){console.debug("[LocalStorage] GET error: ",r)}},bn=({key:t,canTrack:e,value:n})=>{var r;try{e&&((r=be())==null||r.setItem(t,n))}catch(o){console.debug("[LocalStorage] SET error: ",o)}},_e="builderVisitorId",_n=({canTrack:t})=>{if(!t)return;const e=gn({key:_e,canTrack:t});if(fe(e))return e;{const n=vn();yn({id:n,canTrack:t})}},vn=()=>he(),yn=({id:t,canTrack:e})=>bn({key:_e,value:t,canTrack:e});var xn=Object.defineProperty,wn=Object.defineProperties,Cn=Object.getOwnPropertyDescriptors,_=Object.getOwnPropertySymbols,ve=Object.prototype.hasOwnProperty,ye=Object.prototype.propertyIsEnumerable,M=(t,e,n)=>e in t?xn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,z=(t,e)=>{for(var n in e||(e={}))ve.call(e,n)&&M(t,n,e[n]);if(_)for(var n of _(e))ye.call(e,n)&&M(t,n,e[n]);return t},Sn=(t,e)=>wn(t,Cn(e)),kn=(t,e)=>{var n={};for(var r in t)ve.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&_)for(var r of _(t))e.indexOf(r)<0&&ye.call(t,r)&&(n[r]=t[r]);return n},In=(t,e,n)=>new Promise((r,o)=>{var i=s=>{try{l(n.next(s))}catch(c){o(c)}},a=s=>{try{l(n.throw(s))}catch(c){o(c)}},l=s=>s.done?r(s.value):Promise.resolve(s.value).then(i,a);l((n=n.apply(t,e)).next())});const $n=({canTrack:t})=>{if(!t)return{visitorId:void 0,sessionId:void 0};const e=mn({canTrack:t}),n=_n({canTrack:t});return{sessionId:e,visitorId:n}},Tn=t=>{var e=t,{type:n,canTrack:r,orgId:o,contentId:i}=e,a=kn(e,["type","canTrack","orgId","contentId"]);return{type:n,data:Sn(z(z({},a),$n({canTrack:r})),{ownerId:o,contentId:i})}};function D(t){return In(this,null,function*(){if(!!t.canTrack&&!g()&&!!(d()||v==="reactNative"))return fetch("https://builder.io/api/v1/track",{method:"POST",body:JSON.stringify({events:[Tn(t)]}),headers:{"content-type":"application/json"},mode:"cors"}).catch(e=>{console.error("Failed to track: ",e)})})}const Pn=()=>Promise.resolve().then(()=>Ce),Rn=()=>Promise.resolve().then(()=>require("./render-styles.95568b18.cjs")),On={name:"render-content",components:{"render-content-styles":Rn,"render-blocks":Pn},props:["content","data","canTrack","context","customComponents","model","apiKey"],data:()=>({forceReRenderCount:0,overrideContent:null,update:0,overrideState:{}}),provide(){const t=this;return{BuilderContext:{get content(){return t.useContent},get state(){return t.contentState},get context(){return t.contextContext},get apiKey(){return t.apiKey},get registeredComponents(){return t.allRegisteredComponents}}}},mounted(){if(d()){if(g()&&(this.forceReRenderCount=this.forceReRenderCount+1,ke(),Ie(),Object.values(this.allRegisteredComponents).forEach(t=>{var n;const e=pe(t);(n=window.parent)==null||n.postMessage(e,"*")}),window.addEventListener("message",this.processMessage),window.addEventListener("builder:component:stateChangeListenerActivated",this.emitStateUpdate)),this.useContent&&D({type:"impression",canTrack:this.canTrackToUse,contentId:this.useContent.id,orgId:this.apiKey}),le()){const t=new URL(location.href).searchParams;if(this.model&&t.get("builder.preview")===this.model){const e=t.get("apiKey")||t.get("builder.space");e&&$({model:this.model,apiKey:e}).then(n=>{n&&(this.overrideContent=n)})}}this.evaluateJsCode(),this.runHttpRequests(),this.emitStateUpdate()}},watch:{onUpdateHook0(){this.evaluateJsCode()},onUpdateHook1(){this.runHttpRequests()},onUpdateHook2(){this.emitStateUpdate()}},unmounted(){d()&&(window.removeEventListener("message",this.processMessage),window.removeEventListener("builder:component:stateChangeListenerActivated",this.emitStateUpdate))},computed:{useContent(){var e,n;return{...this.content,...this.overrideContent,data:{...(e=this.content)==null?void 0:e.data,...this.data,...(n=this.overrideContent)==null?void 0:n.data}}},canTrackToUse(){return this.canTrack||!0},contentState(){var t,e;return{...(e=(t=this.content)==null?void 0:t.data)==null?void 0:e.state,...this.data,...this.overrideState}},contextContext(){return this.context||{}},allRegisteredComponents(){return[...Yt(),...P,...this.customComponents||[]].reduce((n,r)=>({...n,[r.name]:r}),{})},httpReqsData(){return{}},shouldRenderContentStyles(){var t,e,n,r,o;return Boolean((((e=(t=this.useContent)==null?void 0:t.data)==null?void 0:e.cssCode)||((o=(r=(n=this.useContent)==null?void 0:n.data)==null?void 0:r.customFonts)==null?void 0:o.length))&&v!=="reactNative")},onUpdateHook0(){var t,e;return{0:(e=(t=this.useContent)==null?void 0:t.data)==null?void 0:e.jsCode}},onUpdateHook1(){var t,e;return{0:(e=(t=this.useContent)==null?void 0:t.data)==null?void 0:e.httpRequests}},onUpdateHook2(){return{0:this.contentState}}},methods:{processMessage(t){const{data:e}=t;if(e)switch(e.type){case"builder.contentUpdate":{const n=e.data,r=n.key||n.alias||n.entry||n.modelName,o=n.data;r===this.model&&(this.overrideContent=o);break}}},evaluateJsCode(){var e,n;const t=(n=(e=this.useContent)==null?void 0:e.data)==null?void 0:n.jsCode;t&&S({code:t,context:this.contextContext,state:this.contentState})},onClick(t){this.useContent&&D({type:"click",canTrack:this.canTrackToUse,contentId:this.useContent.id,orgId:this.apiKey})},evalExpression(t){return t.replace(/{{([^}]+)}}/g,(e,n)=>S({code:n,context:this.contextContext,state:this.contentState}))},handleRequest({url:t,key:e}){(async()=>{const i=await(await(await ee())(t)).json(),a={...this.overrideState,[e]:i};this.overrideState=a})()},runHttpRequests(){var e,n,r;const t=(r=(n=(e=this.useContent)==null?void 0:e.data)==null?void 0:n.httpRequests)!=null?r:{};Object.entries(t).forEach(([o,i])=>{if(i&&(!this.httpReqsData[o]||g())){const a=this.evalExpression(i);this.handleRequest({url:a,key:o})}})},emitStateUpdate(){g()&&window.dispatchEvent(new CustomEvent("builder:component:stateChange",{detail:{state:this.contentState,ref:{name:this.model}}}))}}};var jn=function(){var r,o,i,a,l,s,c;var e=this,n=e._self._c;return e.useContent?n("div",{ref:"elementRef",attrs:{"builder-content-id":(r=e.useContent)==null?void 0:r.id},on:{click:function(u){return e.onClick(u)}}},[e.shouldRenderContentStyles?n("render-content-styles",{attrs:{cssCode:(i=(o=e.useContent)==null?void 0:o.data)==null?void 0:i.cssCode,customFonts:(l=(a=e.useContent)==null?void 0:a.data)==null?void 0:l.customFonts}}):e._e(),n("render-blocks",{key:e.forceReRenderCount,attrs:{blocks:(c=(s=e.useContent)==null?void 0:s.data)==null?void 0:c.blocks}})],1):e._e()},En=[],Fn=p(On,jn,En,!1,null,null,null,null);const xe=Fn.exports,Un=Object.freeze(Object.defineProperty({__proto__:null,default:xe},Symbol.toStringTag,{value:"Module"})),An=()=>Promise.resolve().then(()=>require("./block-styles.8800a764.cjs")),Vn=()=>Promise.resolve().then(()=>require("./render-block.c46898e7.cjs")),Wn={name:"render-blocks",components:{"render-block":Vn,"block-styles":An},props:["blocks","parent","path"],inject:{builderContext:"BuilderContext"},computed:{className(){var t;return"builder-blocks"+((t=this.blocks)!=null&&t.length?"":" no-blocks")}},methods:{onClick(){var t,e;g()&&!((t=this.blocks)!=null&&t.length)&&((e=window.parent)==null||e.postMessage({type:"builder.clickEmptyBlocks",data:{parentElementId:this.parent,dataPath:this.path}},"*"))},onMouseEnter(){var t,e;g()&&!((t=this.blocks)!=null&&t.length)&&((e=window.parent)==null||e.postMessage({type:"builder.hoverEmptyBlocks",data:{parentElementId:this.parent,dataPath:this.path}},"*"))},_classStringToObject(t){const e={};if(typeof t!="string")return e;const n=t.trim().split(/\s+/);for(const r of n)e[r]=!0;return e}}};var Ln=function(){var e=this,n=e._self._c;return n("div",{class:e._classStringToObject(e.className+" div-23e8fqt91nf"),attrs:{"builder-path":e.path,"builder-parent-id":e.parent,dataSet:{class:e.className}},on:{click:function(r){return e.onClick()},mouseenter:function(r){return e.onMouseEnter()}}},[e._l(e.blocks,function(r,o){return e.blocks?n("render-block",{key:"render-block-"+r.id,attrs:{block:r,context:e.builderContext}}):e._e()}),e._l(e.blocks,function(r,o){return e.blocks?n("block-styles",{key:"block-style-"+r.id,attrs:{block:r,context:e.builderContext}}):e._e()})],2)},Nn=[],Bn=p(Wn,Ln,Nn,!1,null,"600183c5",null,null);const we=Bn.exports,Ce=Object.freeze(Object.defineProperty({__proto__:null,default:we},Symbol.toStringTag,{value:"Module"})),q={};function Mn(t){if(d()){Object.assign(q,t);const e={type:"builder.settingsChange",data:q};parent.postMessage(e,"*")}}exports.Button=se;exports.Columns=K;exports.Fragment=ie;exports.Image=G;exports.Section=ae;exports.Symbol=oe;exports.TARGET=v;exports.Text=J;exports.Video=X;exports.components=P;exports.convertSearchParamsToQueryObject=I;exports.createRegisterComponentMessage=pe;exports.evaluate=S;exports.generateContentUrl=ne;exports.getAllContent=re;exports.getBuilderSearchParams=Y;exports.getBuilderSearchParamsFromWindow=Q;exports.getContent=$;exports.isEditing=g;exports.isPreviewing=le;exports.normalizeComponent=p;exports.normalizeSearchParams=Z;exports.register=H;exports.registerComponent=tn;exports.renderBlocks=we;exports.renderContent=xe;exports.setEditorSettings=Mn;