@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.
- package/CHANGELOG.md +53 -0
- package/README.md +44 -0
- package/dist/vue-2/block-styles.4027f1b9.js +64 -0
- package/dist/vue-2/block-styles.8800a764.cjs +10 -0
- package/dist/vue-2/get-processed-block.0494fb81.js +44 -0
- package/dist/vue-2/get-processed-block.d751f4a7.cjs +1 -0
- package/dist/vue-2/index.1aa5d3e4.cjs +1 -0
- package/dist/vue-2/index.3e132178.js +78896 -0
- package/dist/vue-2/index.475f52c7.cjs +1 -0
- package/dist/vue-2/index.62438203.js +1860 -0
- package/dist/vue-2/render-block.1e8573eb.js +206 -0
- package/dist/vue-2/render-block.c46898e7.cjs +3 -0
- package/dist/vue-2/render-component.61552d2f.cjs +1 -0
- package/dist/vue-2/render-component.7863c949.js +27 -0
- package/dist/vue-2/render-inlined-styles.50d42108.js +28 -0
- package/dist/vue-2/render-inlined-styles.ff54866e.cjs +1 -0
- package/dist/vue-2/render-repeated-block.b228208b.cjs +1 -0
- package/dist/vue-2/render-repeated-block.ec12e3ae.js +39 -0
- package/dist/vue-2/render-styles.95568b18.cjs +17 -0
- package/dist/vue-2/render-styles.9ef447c4.js +62 -0
- package/dist/vue-2/sdk.cjs +1 -0
- package/dist/vue-2/sdk.js +27 -0
- package/dist/vue-2/style.css +1 -0
- package/dist/vue-3/block-styles.83ef5bb2.js +59 -0
- package/dist/vue-3/block-styles.98e0bfa5.cjs +10 -0
- package/dist/vue-3/get-processed-block.36f8ee1a.cjs +1 -0
- package/dist/vue-3/get-processed-block.3fdcf745.js +44 -0
- package/dist/vue-3/index.3e132178.js +78896 -0
- package/dist/vue-3/index.475f52c7.cjs +1 -0
- package/dist/vue-3/index.843892e8.js +1834 -0
- package/dist/vue-3/index.e1b4b830.cjs +1 -0
- package/dist/vue-3/render-block.66ba74d8.js +214 -0
- package/dist/vue-3/render-block.7f3bcf7c.cjs +3 -0
- package/dist/vue-3/render-component.3fc97401.js +29 -0
- package/dist/vue-3/render-component.8c88611c.cjs +1 -0
- package/dist/vue-3/render-inlined-styles.1a6db9d2.js +27 -0
- package/dist/vue-3/render-inlined-styles.52546cc8.cjs +1 -0
- package/dist/vue-3/render-repeated-block.782a1fd8.js +34 -0
- package/dist/vue-3/render-repeated-block.f3519de4.cjs +1 -0
- package/dist/vue-3/render-styles.7008104f.cjs +17 -0
- package/dist/vue-3/render-styles.8ab3c39a.js +54 -0
- package/dist/vue-3/sdk.cjs +1 -0
- package/dist/vue-3/sdk.js +28 -0
- package/dist/vue-3/style.css +1 -0
- package/nuxt.js +24 -0
- package/package.json +30 -4
- package/vue2/.vscode/extensions.json +3 -0
- package/vue2/README.md +40 -0
- package/vue2/env.d.ts +1 -0
- package/vue2/package.json +27 -0
- package/vue2/src/blocks/button/button.vue +52 -0
- package/vue2/src/blocks/button/component-info.js +41 -0
- package/vue2/src/blocks/columns/columns.vue +131 -0
- package/vue2/src/blocks/columns/component-info.js +242 -0
- package/vue2/src/blocks/custom-code/component-info.js +31 -0
- package/{src/blocks/custom-code.original.vue → vue2/src/blocks/custom-code/custom-code.vue} +39 -23
- package/vue2/src/blocks/embed/component-info.js +44 -0
- package/vue2/src/blocks/embed/embed.vue +73 -0
- package/vue2/src/blocks/embed/helpers.js +9 -0
- package/vue2/src/blocks/form/component-info.js +262 -0
- package/vue2/src/blocks/form/form.vue +343 -0
- package/vue2/src/blocks/fragment/component-info.js +11 -0
- package/vue2/src/blocks/fragment/fragment.vue +35 -0
- package/vue2/src/blocks/image/component-info.js +151 -0
- package/vue2/src/blocks/image/image.helpers.js +48 -0
- package/vue2/src/blocks/image/image.vue +156 -0
- package/vue2/src/blocks/img/component-info.js +20 -0
- package/vue2/src/blocks/img/img.vue +50 -0
- package/vue2/src/blocks/input/component-info.js +74 -0
- package/vue2/src/blocks/input/input.vue +50 -0
- package/vue2/src/blocks/raw-text/component-info.js +16 -0
- package/vue2/src/blocks/raw-text/raw-text.vue +48 -0
- package/vue2/src/blocks/section/component-info.js +49 -0
- package/vue2/src/blocks/section/section.vue +47 -0
- package/vue2/src/blocks/select/component-info.js +59 -0
- package/vue2/src/blocks/select/select.vue +56 -0
- package/vue2/src/blocks/submit-button/component-info.js +28 -0
- package/vue2/src/blocks/submit-button/submit-button.vue +36 -0
- package/vue2/src/blocks/symbol/component-info.js +43 -0
- package/vue2/src/blocks/symbol/symbol.vue +118 -0
- package/vue2/src/blocks/text/component-info.js +24 -0
- package/vue2/src/blocks/text/text.vue +33 -0
- package/vue2/src/blocks/textarea/component-info.js +47 -0
- package/vue2/src/blocks/textarea/textarea.vue +43 -0
- package/vue2/src/blocks/util.js +7 -0
- package/vue2/src/blocks/video/component-info.js +106 -0
- package/vue2/src/blocks/video/video.vue +79 -0
- package/vue2/src/components/render-block/block-styles.vue +66 -0
- package/vue2/src/components/render-block/render-block.helpers.js +23 -0
- package/vue2/src/components/render-block/render-block.vue +212 -0
- package/vue2/src/components/render-block/render-component.vue +50 -0
- package/vue2/src/components/render-block/render-repeated-block.vue +60 -0
- package/{src/blocks/button_styles.js → vue2/src/components/render-block/types.js} +0 -0
- package/vue2/src/components/render-blocks.vue +106 -0
- package/vue2/src/components/render-content/components/render-styles.vue +104 -0
- package/vue2/src/components/render-content/index.js +4 -0
- package/vue2/src/components/render-content/render-content.vue +301 -0
- package/vue2/src/components/render-inlined-styles.vue +44 -0
- package/vue2/src/constants/builder-registered-components.js +51 -0
- package/vue2/src/constants/device-sizes.js +21 -0
- package/vue2/src/constants/target.js +4 -0
- package/vue2/src/context/builder.context.js +4 -0
- package/vue2/src/functions/camel-to-kebab-case.js +4 -0
- package/vue2/src/functions/convert-style-object.js +6 -0
- package/vue2/src/functions/evaluate.js +28 -0
- package/vue2/src/functions/event-handler-name.js +4 -0
- package/vue2/src/functions/get-block-actions.js +23 -0
- package/vue2/src/functions/get-block-component-options.js +28 -0
- package/{src → vue2/src}/functions/get-block-properties.js +3 -9
- package/vue2/src/functions/get-block-styles.js +6 -0
- package/vue2/src/functions/get-block-tag.js +6 -0
- package/vue2/src/functions/get-builder-search-params/fn.test.js +13 -0
- package/vue2/src/functions/get-builder-search-params/index.js +33 -0
- package/vue2/src/functions/get-content/ab-testing.js +38 -0
- package/vue2/src/functions/get-content/fn.test.js +31 -0
- package/vue2/src/functions/get-content/index.js +96 -0
- package/{src/blocks/custom-code_styles.js → vue2/src/functions/get-content/types.js} +0 -0
- package/vue2/src/functions/get-fetch.js +34 -0
- package/vue2/src/functions/get-global-this.js +18 -0
- package/vue2/src/functions/get-processed-block.js +57 -0
- package/vue2/src/functions/get-processed-block.test.js +32 -0
- package/vue2/src/functions/if-target.js +15 -0
- package/vue2/src/functions/is-browser.js +6 -0
- package/vue2/src/functions/is-editing.js +7 -0
- package/vue2/src/functions/is-iframe.js +7 -0
- package/vue2/src/functions/is-previewing.js +14 -0
- package/{src → vue2/src}/functions/on-change.js +4 -11
- package/vue2/src/functions/on-change.test.js +19 -0
- package/vue2/src/functions/register-component.js +72 -0
- package/vue2/src/functions/register.js +29 -0
- package/vue2/src/functions/sanitize-styles.js +5 -0
- package/vue2/src/functions/set-editor-settings.js +15 -0
- package/{src → vue2/src}/functions/set.js +3 -10
- package/vue2/src/functions/set.test.js +16 -0
- package/vue2/src/functions/track.js +115 -0
- package/vue2/src/functions/transform-block.js +6 -0
- package/vue2/src/helpers/cookie.js +59 -0
- package/vue2/src/helpers/css.js +12 -0
- package/vue2/src/helpers/flatten.js +34 -0
- package/vue2/src/helpers/localStorage.js +34 -0
- package/vue2/src/helpers/nullable.js +4 -0
- package/vue2/src/helpers/sessionId.js +26 -0
- package/vue2/src/helpers/time.js +5 -0
- package/vue2/src/helpers/url.js +10 -0
- package/vue2/src/helpers/url.test.js +15 -0
- package/vue2/src/helpers/uuid.js +13 -0
- package/vue2/src/helpers/visitorId.js +33 -0
- package/vue2/src/index-helpers/blocks-exports.js +22 -0
- package/vue2/src/index-helpers/top-of-file.js +4 -0
- package/vue2/src/index.js +10 -0
- package/vue2/src/scripts/init-editing.js +79 -0
- package/{src/blocks/embed_styles.js → vue2/src/types/builder-block.js} +0 -0
- package/{src/blocks/fragment_styles.js → vue2/src/types/builder-content.js} +0 -0
- package/{src/blocks/img_styles.js → vue2/src/types/can-track.js} +0 -0
- package/{src/blocks/input_styles.js → vue2/src/types/components.js} +0 -0
- package/{src/blocks/raw-text_styles.js → vue2/src/types/deep-partial.js} +0 -0
- package/{src/blocks/section_styles.js → vue2/src/types/element.js} +0 -0
- package/{src/blocks/select_styles.js → vue2/src/types/targets.js} +0 -0
- package/{src/blocks/submit-button_styles.js → vue2/src/types/typescript.js} +0 -0
- package/vue2/tsconfig.config.json +8 -0
- package/vue2/tsconfig.json +16 -0
- package/vue2/vite.config.ts +27 -0
- package/vue3/.vscode/extensions.json +3 -0
- package/vue3/README.md +40 -0
- package/vue3/env.d.ts +1 -0
- package/vue3/package.json +25 -0
- package/vue3/src/blocks/button/button.vue +56 -0
- package/vue3/src/blocks/button/component-info.js +41 -0
- package/vue3/src/blocks/columns/columns.vue +131 -0
- package/vue3/src/blocks/columns/component-info.js +242 -0
- package/vue3/src/blocks/custom-code/component-info.js +31 -0
- package/{src/blocks/embed.original.vue → vue3/src/blocks/custom-code/custom-code.vue} +47 -23
- package/vue3/src/blocks/embed/component-info.js +44 -0
- package/vue3/src/blocks/embed/embed.vue +73 -0
- package/vue3/src/blocks/embed/helpers.js +9 -0
- package/vue3/src/blocks/form/component-info.js +262 -0
- package/vue3/src/blocks/form/form.vue +343 -0
- package/vue3/src/blocks/fragment/component-info.js +11 -0
- package/vue3/src/blocks/fragment/fragment.vue +35 -0
- package/vue3/src/blocks/image/component-info.js +151 -0
- package/vue3/src/blocks/image/image.helpers.js +48 -0
- package/vue3/src/blocks/image/image.vue +165 -0
- package/vue3/src/blocks/img/component-info.js +20 -0
- package/vue3/src/blocks/img/img.vue +50 -0
- package/vue3/src/blocks/input/component-info.js +74 -0
- package/vue3/src/blocks/input/input.vue +50 -0
- package/vue3/src/blocks/raw-text/component-info.js +16 -0
- package/vue3/src/blocks/raw-text/raw-text.vue +48 -0
- package/vue3/src/blocks/section/component-info.js +49 -0
- package/vue3/src/blocks/section/section.vue +47 -0
- package/vue3/src/blocks/select/component-info.js +59 -0
- package/vue3/src/blocks/select/select.vue +52 -0
- package/vue3/src/blocks/submit-button/component-info.js +28 -0
- package/vue3/src/blocks/submit-button/submit-button.vue +36 -0
- package/vue3/src/blocks/symbol/component-info.js +43 -0
- package/vue3/src/blocks/symbol/symbol.vue +118 -0
- package/vue3/src/blocks/text/component-info.js +24 -0
- package/vue3/src/blocks/text/text.vue +33 -0
- package/vue3/src/blocks/textarea/component-info.js +47 -0
- package/vue3/src/blocks/textarea/textarea.vue +43 -0
- package/vue3/src/blocks/util.js +7 -0
- package/vue3/src/blocks/video/component-info.js +106 -0
- package/vue3/src/blocks/video/video.vue +79 -0
- package/vue3/src/components/render-block/block-styles.vue +67 -0
- package/vue3/src/components/render-block/render-block.helpers.js +23 -0
- package/vue3/src/components/render-block/render-block.vue +215 -0
- package/vue3/src/components/render-block/render-component.vue +52 -0
- package/vue3/src/components/render-block/render-repeated-block.vue +60 -0
- package/{src/blocks/symbol_styles.js → vue3/src/components/render-block/types.js} +0 -0
- package/vue3/src/components/render-blocks.vue +108 -0
- package/vue3/src/components/render-content/components/render-styles.vue +104 -0
- package/vue3/src/components/render-content/index.js +4 -0
- package/vue3/src/components/render-content/render-content.vue +303 -0
- package/vue3/src/components/render-inlined-styles.vue +49 -0
- package/vue3/src/constants/builder-registered-components.js +51 -0
- package/vue3/src/constants/device-sizes.js +21 -0
- package/vue3/src/constants/target.js +4 -0
- package/vue3/src/context/builder.context.js +4 -0
- package/vue3/src/functions/camel-to-kebab-case.js +4 -0
- package/vue3/src/functions/convert-style-object.js +6 -0
- package/vue3/src/functions/evaluate.js +28 -0
- package/vue3/src/functions/event-handler-name.js +4 -0
- package/vue3/src/functions/get-block-actions.js +23 -0
- package/vue3/src/functions/get-block-component-options.js +28 -0
- package/vue3/src/functions/get-block-properties.js +40 -0
- package/vue3/src/functions/get-block-styles.js +6 -0
- package/vue3/src/functions/get-block-tag.js +6 -0
- package/vue3/src/functions/get-builder-search-params/fn.test.js +13 -0
- package/vue3/src/functions/get-builder-search-params/index.js +33 -0
- package/vue3/src/functions/get-content/ab-testing.js +38 -0
- package/vue3/src/functions/get-content/fn.test.js +31 -0
- package/vue3/src/functions/get-content/index.js +96 -0
- package/{src/blocks/text_styles.js → vue3/src/functions/get-content/types.js} +0 -0
- package/vue3/src/functions/get-fetch.js +34 -0
- package/vue3/src/functions/get-global-this.js +18 -0
- package/vue3/src/functions/get-processed-block.js +57 -0
- package/vue3/src/functions/get-processed-block.test.js +32 -0
- package/vue3/src/functions/if-target.js +15 -0
- package/vue3/src/functions/is-browser.js +6 -0
- package/vue3/src/functions/is-editing.js +7 -0
- package/vue3/src/functions/is-iframe.js +7 -0
- package/vue3/src/functions/is-previewing.js +14 -0
- package/vue3/src/functions/on-change.js +27 -0
- package/vue3/src/functions/on-change.test.js +19 -0
- package/vue3/src/functions/register-component.js +72 -0
- package/vue3/src/functions/register.js +29 -0
- package/vue3/src/functions/sanitize-styles.js +5 -0
- package/vue3/src/functions/set-editor-settings.js +15 -0
- package/vue3/src/functions/set.js +11 -0
- package/vue3/src/functions/set.test.js +16 -0
- package/vue3/src/functions/track.js +115 -0
- package/vue3/src/functions/transform-block.js +6 -0
- package/vue3/src/helpers/cookie.js +59 -0
- package/vue3/src/helpers/css.js +12 -0
- package/vue3/src/helpers/flatten.js +34 -0
- package/vue3/src/helpers/localStorage.js +34 -0
- package/vue3/src/helpers/nullable.js +4 -0
- package/vue3/src/helpers/sessionId.js +26 -0
- package/vue3/src/helpers/time.js +5 -0
- package/vue3/src/helpers/url.js +10 -0
- package/vue3/src/helpers/url.test.js +15 -0
- package/vue3/src/helpers/uuid.js +13 -0
- package/vue3/src/helpers/visitorId.js +33 -0
- package/vue3/src/index-helpers/blocks-exports.js +22 -0
- package/vue3/src/index-helpers/top-of-file.js +4 -0
- package/vue3/src/index.js +10 -0
- package/vue3/src/scripts/init-editing.js +79 -0
- package/{src/blocks/textarea_styles.js → vue3/src/types/builder-block.js} +0 -0
- package/{src/blocks/video_styles.js → vue3/src/types/builder-content.js} +0 -0
- package/{src/components/block-styles_styles.js → vue3/src/types/can-track.js} +0 -0
- package/{src/components/error-boundary_styles.js → vue3/src/types/components.js} +0 -0
- package/{src/components/render-block_styles.js → vue3/src/types/deep-partial.js} +0 -0
- package/{src/components/render-content_styles.js → vue3/src/types/element.js} +0 -0
- package/vue3/src/types/targets.js +0 -0
- package/vue3/src/types/typescript.js +0 -0
- package/vue3/tsconfig.config.json +8 -0
- package/vue3/tsconfig.json +16 -0
- package/vue3/vite.config.ts +27 -0
- package/src/blocks/button.js +0 -31
- package/src/blocks/button.original.vue +0 -48
- package/src/blocks/button_script.js +0 -21
- package/src/blocks/columns.js +0 -31
- package/src/blocks/columns.original.vue +0 -59
- package/src/blocks/columns_script.js +0 -58
- package/src/blocks/columns_styles.js +0 -14
- package/src/blocks/custom-code.js +0 -31
- package/src/blocks/custom-code_script.js +0 -63
- package/src/blocks/embed.js +0 -31
- package/src/blocks/embed_script.js +0 -53
- package/src/blocks/form.js +0 -31
- package/src/blocks/form.original.vue +0 -289
- package/src/blocks/form_script.js +0 -231
- package/src/blocks/form_styles.js +0 -12
- package/src/blocks/fragment.js +0 -31
- package/src/blocks/fragment.original.vue +0 -28
- package/src/blocks/fragment_script.js +0 -40
- package/src/blocks/image.js +0 -31
- package/src/blocks/image.original.vue +0 -52
- package/src/blocks/image_script.js +0 -32
- package/src/blocks/image_styles.js +0 -13
- package/src/blocks/img.js +0 -31
- package/src/blocks/img.original.vue +0 -31
- package/src/blocks/img_script.js +0 -42
- package/src/blocks/input.js +0 -31
- package/src/blocks/input.original.vue +0 -28
- package/src/blocks/input_script.js +0 -39
- package/src/blocks/raw-text.js +0 -31
- package/src/blocks/raw-text.original.vue +0 -35
- package/src/blocks/raw-text_script.js +0 -32
- package/src/blocks/section.js +0 -31
- package/src/blocks/section.original.vue +0 -29
- package/src/blocks/section_script.js +0 -23
- package/src/blocks/select.js +0 -31
- package/src/blocks/select.original.vue +0 -32
- package/src/blocks/select_script.js +0 -41
- package/src/blocks/submit-button.js +0 -31
- package/src/blocks/submit-button.original.vue +0 -27
- package/src/blocks/submit-button_script.js +0 -21
- package/src/blocks/symbol.js +0 -29
- package/src/blocks/symbol.original.vue +0 -33
- package/src/blocks/symbol_script.js +0 -44
- package/src/blocks/text.js +0 -31
- package/src/blocks/text.original.vue +0 -25
- package/src/blocks/text_script.js +0 -21
- package/src/blocks/textarea.js +0 -31
- package/src/blocks/textarea.original.vue +0 -25
- package/src/blocks/textarea_script.js +0 -21
- package/src/blocks/video.js +0 -31
- package/src/blocks/video.original.vue +0 -34
- package/src/blocks/video_script.js +0 -28
- package/src/components/block-styles.js +0 -29
- package/src/components/block-styles.original.vue +0 -25
- package/src/components/block-styles.vue +0 -34
- package/src/components/block-styles_script.js +0 -20
- package/src/components/error-boundary.js +0 -29
- package/src/components/error-boundary.original.vue +0 -25
- package/src/components/error-boundary.vue +0 -15
- package/src/components/error-boundary_script.js +0 -20
- package/src/components/render-block.js +0 -29
- package/src/components/render-block.original.vue +0 -116
- package/src/components/render-block_script.js +0 -91
- package/src/components/render-blocks.js +0 -29
- package/src/components/render-blocks.original.vue +0 -75
- package/src/components/render-blocks_script.js +0 -76
- package/src/components/render-blocks_styles.js +0 -12
- package/src/components/render-content.js +0 -29
- package/src/components/render-content.original.vue +0 -95
- package/src/components/render-content_script.js +0 -92
- package/src/constants/device-sizes.js +0 -46
- package/src/context/builder.context.js +0 -11
- package/src/functions/evaluate.js +0 -42
- package/src/functions/get-block-actions.js +0 -45
- package/src/functions/get-block-component-options.js +0 -14
- package/src/functions/get-block-styles.js +0 -13
- package/src/functions/get-block-tag.js +0 -13
- package/src/functions/get-content.js +0 -123
- package/src/functions/get-processed-block.js +0 -65
- package/src/functions/get-processed-block.test.js +0 -44
- package/src/functions/get-target.js +0 -13
- package/src/functions/if-target.js +0 -13
- package/src/functions/is-browser.js +0 -30
- package/src/functions/is-editing.js +0 -30
- package/src/functions/is-iframe.js +0 -30
- package/src/functions/is-react-native.js +0 -13
- package/src/functions/macro-eval.js +0 -12
- package/src/functions/on-change.test.js +0 -38
- package/src/functions/register-component.js +0 -73
- package/src/functions/register.js +0 -52
- package/src/functions/set-editor-settings.js +0 -38
- package/src/functions/set.test.js +0 -35
- package/src/functions/track.js +0 -41
- package/src/index.js +0 -51
- package/src/scripts/init-editing.js +0 -78
- package/src/types/builder-block.js +0 -3
- package/src/types/builder-content.js +0 -3
- 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;
|