@builder.io/sdk-svelte 0.4.5 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package/--package.json +41 -29
- package/package/CHANGELOG.md +8 -0
- package/package/blocks/BaseText.svelte +1 -1
- package/package/blocks/button/button.svelte +18 -33
- package/package/blocks/button/button.svelte.d.ts +3 -1
- package/package/blocks/button/component-info.d.ts +1 -1
- package/package/blocks/button/component-info.js +9 -13
- package/package/blocks/columns/columns.svelte +12 -18
- package/package/blocks/columns/columns.svelte.d.ts +11 -7
- package/package/blocks/columns/component-info.d.ts +1 -1
- package/package/blocks/columns/component-info.js +62 -83
- package/package/blocks/custom-code/component-info.d.ts +1 -1
- package/package/blocks/custom-code/component-info.js +7 -11
- package/package/blocks/embed/component-info.d.ts +1 -1
- package/package/blocks/embed/component-info.js +8 -15
- package/package/blocks/embed/helpers.js +1 -5
- package/package/blocks/form/component-info.d.ts +1 -1
- package/package/blocks/form/component-info.js +94 -129
- package/package/blocks/form/form.svelte +2 -289
- package/package/blocks/form/form.svelte.d.ts +1 -57
- package/package/blocks/fragment/component-info.d.ts +1 -1
- package/package/blocks/fragment/component-info.js +1 -1
- package/package/blocks/helpers.d.ts +13 -0
- package/package/blocks/helpers.js +40 -0
- package/package/blocks/image/component-info.d.ts +1 -1
- package/package/blocks/image/component-info.js +33 -63
- package/package/blocks/image/image.helpers.js +2 -11
- package/package/blocks/image/image.svelte.d.ts +0 -1
- package/package/blocks/img/component-info.d.ts +1 -1
- package/package/blocks/img/component-info.js +4 -6
- package/package/blocks/img/img.svelte +4 -29
- package/package/blocks/img/img.svelte.d.ts +3 -1
- package/package/blocks/input/component-info.d.ts +1 -1
- package/package/blocks/input/component-info.js +15 -40
- package/package/blocks/input/input.svelte +4 -29
- package/package/blocks/input/input.svelte.d.ts +3 -1
- package/package/blocks/raw-text/component-info.d.ts +1 -1
- package/package/blocks/raw-text/component-info.js +3 -5
- package/package/blocks/raw-text/raw-text.svelte +3 -5
- package/package/blocks/raw-text/raw-text.svelte.d.ts +1 -1
- package/package/blocks/section/component-info.d.ts +1 -1
- package/package/blocks/section/component-info.js +13 -18
- package/package/blocks/section/section.svelte +4 -29
- package/package/blocks/section/section.svelte.d.ts +3 -1
- package/package/blocks/select/component-info.d.ts +1 -1
- package/package/blocks/select/component-info.js +22 -34
- package/package/blocks/select/select.svelte +4 -29
- package/package/blocks/select/select.svelte.d.ts +3 -1
- package/package/blocks/submit-button/component-info.d.ts +1 -1
- package/package/blocks/submit-button/component-info.js +5 -7
- package/package/blocks/submit-button/submit-button.svelte +4 -29
- package/package/blocks/submit-button/submit-button.svelte.d.ts +3 -1
- package/package/blocks/symbol/component-info.d.ts +1 -1
- package/package/blocks/symbol/component-info.js +12 -17
- package/package/blocks/symbol/symbol.helpers.d.ts +14 -0
- package/package/blocks/symbol/symbol.helpers.js +31 -0
- package/package/blocks/symbol/symbol.svelte +37 -87
- package/package/blocks/symbol/symbol.svelte.d.ts +13 -7
- package/package/blocks/text/component-info.d.ts +1 -1
- package/package/blocks/text/component-info.js +6 -7
- package/package/blocks/text/text.svelte +1 -1
- package/package/blocks/textarea/component-info.d.ts +1 -1
- package/package/blocks/textarea/component-info.js +13 -19
- package/package/blocks/textarea/textarea.svelte +4 -29
- package/package/blocks/textarea/textarea.svelte.d.ts +3 -1
- package/package/blocks/video/component-info.d.ts +1 -1
- package/package/blocks/video/component-info.js +35 -55
- package/package/blocks/video/video.svelte +4 -30
- package/package/blocks/video/video.svelte.d.ts +2 -0
- package/package/components/block/block.helpers.d.ts +13 -0
- package/package/components/{render-block/render-block.helpers.js → block/block.helpers.js} +12 -29
- package/package/components/block/block.svelte +135 -0
- package/package/components/block/block.svelte.d.ts +26 -0
- package/package/components/{render-block → block/components}/block-styles.svelte +20 -22
- package/package/components/{render-block → block/components}/block-styles.svelte.d.ts +2 -2
- package/package/components/block/components/block-wrapper.svelte +53 -0
- package/package/components/block/components/block-wrapper.svelte.d.ts +33 -0
- package/package/components/block/components/component-ref/component-ref.helpers.d.ts +36 -0
- package/package/components/block/components/component-ref/component-ref.helpers.js +22 -0
- package/package/components/block/components/component-ref/component-ref.svelte +37 -0
- package/package/components/block/components/component-ref/component-ref.svelte.d.ts +24 -0
- package/package/components/block/components/interactive-element.svelte +29 -0
- package/package/components/block/components/interactive-element.svelte.d.ts +31 -0
- package/package/components/{render-block/render-repeated-block.svelte → block/components/repeated-block.svelte} +4 -3
- package/package/components/block/components/repeated-block.svelte.d.ts +25 -0
- package/package/components/{render-blocks.svelte → blocks/blocks-wrapper.svelte} +3 -20
- package/package/components/blocks/blocks-wrapper.svelte.d.ts +29 -0
- package/package/components/blocks/blocks.svelte +36 -0
- package/package/components/blocks/blocks.svelte.d.ts +28 -0
- package/package/components/{render-content/render-content.svelte → content/components/enable-editor.svelte} +47 -166
- package/package/components/content/components/enable-editor.svelte.d.ts +36 -0
- package/package/components/{render-content/components/render-styles.helpers.d.ts → content/components/styles.helpers.d.ts} +1 -1
- package/package/components/{render-content/components/render-styles.helpers.js → content/components/styles.helpers.js} +3 -4
- package/package/components/{render-content/components/render-styles.svelte → content/components/styles.svelte} +2 -2
- package/package/components/{render-content/components/render-styles.svelte.d.ts → content/components/styles.svelte.d.ts} +5 -5
- package/package/components/content/content.helpers.d.ts +7 -0
- package/package/components/content/content.helpers.js +30 -0
- package/package/components/content/content.svelte +118 -0
- package/package/components/content/content.svelte.d.ts +30 -0
- package/package/components/{render-content/render-content.types.d.ts → content/content.types.d.ts} +4 -4
- package/package/components/content/index.d.ts +1 -0
- package/package/components/content/index.js +1 -0
- package/package/components/{render-content-variants/render-content-variants.svelte → content-variants/content-variants.svelte} +20 -19
- package/package/components/{render-content-variants/render-content-variants.svelte.d.ts → content-variants/content-variants.svelte.d.ts} +6 -6
- package/package/components/{render-content-variants/render-content-variants.types.d.ts → content-variants/content-variants.types.d.ts} +5 -5
- package/package/components/{render-content-variants → content-variants}/helpers.d.ts +7 -7
- package/package/components/{render-content-variants → content-variants}/helpers.js +13 -22
- package/package/constants/builder-registered-components.js +34 -13
- package/package/constants/device-sizes.js +9 -8
- package/package/constants/sdk-version.d.ts +1 -1
- package/package/constants/sdk-version.js +1 -1
- package/package/constants/target.d.ts +1 -1
- package/package/context/builder.context.d.ts +1 -1
- package/package/context/builder.context.js +1 -1
- package/package/context/components.context.d.ts +7 -0
- package/package/context/components.context.js +5 -0
- package/package/context/types.d.ts +1 -1
- package/package/functions/apply-patch-with-mutation.d.ts +10 -0
- package/package/functions/apply-patch-with-mutation.js +54 -0
- package/package/functions/evaluate/acorn.d.ts +0 -0
- package/package/functions/evaluate/acorn.js +2433 -0
- package/package/functions/{evaluate.d.ts → evaluate/evaluate.d.ts} +5 -2
- package/package/functions/{evaluate.js → evaluate/evaluate.js} +34 -13
- package/package/functions/evaluate/index.d.ts +1 -0
- package/package/functions/evaluate/index.js +1 -0
- package/package/functions/evaluate/interpreter.d.ts +2 -0
- package/package/functions/evaluate/interpreter.js +3853 -0
- package/package/functions/evaluate/non-node-runtime.d.ts +2 -0
- package/package/functions/evaluate/non-node-runtime.js +84 -0
- package/package/functions/evaluate/types.d.ts +10 -0
- package/package/functions/extract-text-styles.js +2 -14
- package/package/functions/get-block-actions-handler.js +3 -3
- package/package/functions/get-block-actions.d.ts +1 -0
- package/package/functions/get-block-actions.js +14 -1
- package/package/functions/get-block-component-options.js +1 -1
- package/package/functions/get-block-properties.d.ts +5 -1
- package/package/functions/get-block-properties.js +15 -9
- package/package/functions/get-builder-search-params/index.js +3 -7
- package/package/functions/get-content/generate-content-url.js +7 -5
- package/package/functions/get-content/index.d.ts +2 -6
- package/package/functions/get-content/index.js +26 -6
- package/package/functions/get-processed-block.d.ts +1 -1
- package/package/functions/get-processed-block.js +11 -7
- package/package/functions/get-react-native-block-styles.d.ts +1 -1
- package/package/functions/get-react-native-block-styles.js +2 -2
- package/package/functions/if-target.d.ts +1 -1
- package/package/functions/if-target.js +1 -1
- package/package/functions/is-editing.js +1 -3
- package/package/functions/is-non-node-server.d.ts +4 -0
- package/package/functions/is-non-node-server.js +8 -0
- package/package/functions/on-change.js +1 -1
- package/package/functions/register-component.d.ts +2 -1
- package/package/functions/register-component.js +20 -8
- package/package/functions/register.js +2 -2
- package/package/functions/sanitize-react-native-block-styles.js +13 -5
- package/package/functions/set-editor-settings.js +1 -1
- package/package/functions/set.js +2 -9
- package/package/functions/track/helpers.js +6 -11
- package/package/functions/track/index.js +26 -14
- package/package/functions/track/interaction.js +15 -16
- package/package/helpers/ab-tests.d.ts +2 -2
- package/package/helpers/ab-tests.js +42 -30
- package/package/helpers/canTrack.js +1 -1
- package/package/helpers/cookie.d.ts +2 -2
- package/package/helpers/cookie.js +13 -26
- package/package/helpers/css.d.ts +1 -1
- package/package/helpers/css.js +1 -1
- package/package/helpers/flatten.js +8 -8
- package/package/helpers/localStorage.d.ts +2 -2
- package/package/helpers/localStorage.js +2 -2
- package/package/helpers/logger.js +1 -1
- package/package/helpers/preview-lru-cache/get.d.ts +1 -0
- package/package/helpers/preview-lru-cache/get.js +7 -0
- package/package/helpers/preview-lru-cache/helpers.d.ts +1 -0
- package/package/helpers/preview-lru-cache/helpers.js +9 -0
- package/package/helpers/preview-lru-cache/init.d.ts +6 -0
- package/package/helpers/preview-lru-cache/init.js +15 -0
- package/package/helpers/preview-lru-cache/set.d.ts +7 -0
- package/package/helpers/preview-lru-cache/set.js +9 -0
- package/package/helpers/preview-lru-cache/types.d.ts +12 -0
- package/package/helpers/preview-lru-cache/types.js +6 -0
- package/package/helpers/sessionId.d.ts +2 -2
- package/package/helpers/sessionId.js +11 -4
- package/package/helpers/uuid.js +1 -1
- package/package/helpers/visitorId.d.ts +1 -1
- package/package/helpers/visitorId.js +7 -4
- package/package/index-helpers/blocks-exports.d.ts +2 -2
- package/package/index-helpers/blocks-exports.js +2 -2
- package/package/index.d.ts +2 -2
- package/package/index.js +1 -1
- package/package/scripts/init-editing.js +65 -57
- package/package/types/builder-props.d.ts +10 -0
- package/package/types/components.d.ts +8 -2
- package/package/types/enforced-partials.d.ts +1 -1
- package/package/types/targets.d.ts +1 -3
- package/package/types/typescript.d.ts +3 -0
- package/package.json +2 -2
- package/src/blocks/BaseText.svelte +1 -1
- package/src/blocks/button/button.svelte +21 -34
- package/src/blocks/button/component-info.ts +20 -27
- package/src/blocks/columns/columns.svelte +26 -30
- package/src/blocks/columns/component-info.ts +205 -240
- package/src/blocks/custom-code/component-info.ts +20 -27
- package/src/blocks/embed/component-info.ts +34 -51
- package/src/blocks/embed/helpers.ts +2 -8
- package/src/blocks/form/component-info.ts +204 -253
- package/src/blocks/form/form.svelte +1 -368
- package/src/blocks/fragment/component-info.ts +3 -5
- package/src/blocks/helpers.ts +43 -0
- package/src/blocks/image/component-info.ts +113 -161
- package/src/blocks/image/image.helpers.ts +5 -33
- package/src/blocks/img/component-info.ts +11 -16
- package/src/blocks/img/img.svelte +7 -31
- package/src/blocks/input/component-info.ts +35 -66
- package/src/blocks/input/input.svelte +7 -31
- package/src/blocks/raw-text/component-info.ts +8 -12
- package/src/blocks/raw-text/raw-text.svelte +2 -5
- package/src/blocks/section/component-info.ts +28 -37
- package/src/blocks/section/section.svelte +7 -30
- package/src/blocks/select/component-info.ts +38 -55
- package/src/blocks/select/select.svelte +7 -31
- package/src/blocks/submit-button/component-info.ts +10 -15
- package/src/blocks/submit-button/submit-button.svelte +7 -30
- package/src/blocks/symbol/component-info.ts +31 -39
- package/src/blocks/symbol/symbol.helpers.ts +47 -0
- package/src/blocks/symbol/symbol.svelte +50 -97
- package/src/blocks/text/component-info.ts +14 -18
- package/src/blocks/text/text.svelte +1 -1
- package/src/blocks/textarea/component-info.ts +26 -36
- package/src/blocks/textarea/textarea.svelte +7 -30
- package/src/blocks/video/component-info.ts +77 -103
- package/src/blocks/video/video.svelte +4 -31
- package/src/components/{render-block/render-block.helpers.ts → block/block.helpers.ts} +22 -49
- package/src/components/block/block.svelte +158 -0
- package/src/components/{render-block → block/components}/block-styles.svelte +23 -24
- package/src/components/block/components/block-wrapper.svelte +70 -0
- package/src/components/block/components/component-ref/component-ref.helpers.ts +53 -0
- package/src/components/block/components/component-ref/component-ref.svelte +41 -0
- package/src/components/block/components/interactive-element.svelte +42 -0
- package/src/components/block/components/repeated-block.svelte +30 -0
- package/src/components/{render-block → block}/types.ts +1 -2
- package/src/components/{render-blocks.svelte → blocks/blocks-wrapper.svelte} +14 -32
- package/src/components/blocks/blocks.svelte +51 -0
- package/src/components/{render-content/render-content.svelte → content/components/enable-editor.svelte} +71 -199
- package/src/components/{render-content/components/render-styles.helpers.ts → content/components/styles.helpers.ts} +9 -11
- package/src/components/{render-content/components/render-styles.svelte → content/components/styles.svelte} +3 -3
- package/src/components/content/content.helpers.ts +42 -0
- package/src/components/content/content.svelte +144 -0
- package/src/components/{render-content/render-content.types.ts → content/content.types.ts} +5 -9
- package/src/components/content/index.ts +1 -0
- package/src/components/{render-content → content}/wrap-component-ref.ts +1 -1
- package/src/components/{render-content-variants/render-content-variants.svelte → content-variants/content-variants.svelte} +26 -24
- package/src/components/{render-content-variants/render-content-variants.types.ts → content-variants/content-variants.types.ts} +9 -11
- package/src/components/{render-content-variants → content-variants}/helpers.ts +27 -73
- package/src/constants/builder-registered-components.ts +34 -14
- package/src/constants/device-sizes.ts +16 -22
- package/src/constants/sdk-version.ts +1 -1
- package/src/constants/target.ts +3 -1
- package/src/context/builder.context.ts +1 -1
- package/src/context/components.context.ts +6 -0
- package/src/context/types.ts +2 -7
- package/src/functions/apply-patch-with-mutation.ts +61 -0
- package/src/functions/camel-to-kebab-case.ts +1 -2
- package/src/functions/evaluate/acorn.ts +2501 -0
- package/src/functions/evaluate/evaluate.ts +90 -0
- package/src/functions/evaluate/index.ts +1 -0
- package/src/functions/evaluate/interpreter.ts +3887 -0
- package/src/functions/evaluate/non-node-runtime.ts +94 -0
- package/src/functions/evaluate/types.ts +10 -0
- package/src/functions/extract-text-styles.ts +3 -18
- package/src/functions/fast-clone.ts +1 -2
- package/src/functions/get-block-actions-handler.ts +11 -20
- package/src/functions/get-block-actions.ts +22 -14
- package/src/functions/get-block-component-options.ts +2 -3
- package/src/functions/get-block-properties.ts +24 -17
- package/src/functions/get-builder-search-params/index.ts +5 -21
- package/src/functions/get-content/generate-content-url.ts +10 -25
- package/src/functions/get-content/index.ts +34 -37
- package/src/functions/get-content/types.ts +4 -2
- package/src/functions/get-fetch.ts +3 -10
- package/src/functions/get-global-this.ts +1 -2
- package/src/functions/get-processed-block.ts +14 -21
- package/src/functions/get-react-native-block-styles.ts +6 -12
- package/src/functions/if-target.ts +2 -3
- package/src/functions/is-browser.ts +1 -1
- package/src/functions/is-editing.ts +2 -7
- package/src/functions/is-iframe.ts +1 -2
- package/src/functions/is-non-node-server.ts +9 -0
- package/src/functions/is-previewing.ts +1 -4
- package/src/functions/on-change.ts +2 -2
- package/src/functions/register-component.ts +24 -26
- package/src/functions/register.ts +6 -8
- package/src/functions/sanitize-react-native-block-styles.ts +17 -24
- package/src/functions/set-editor-settings.ts +5 -6
- package/src/functions/set.ts +3 -15
- package/src/functions/track/helpers.ts +8 -24
- package/src/functions/track/index.ts +37 -42
- package/src/functions/track/interaction.ts +21 -38
- package/src/functions/transform-block-properties.ts +1 -1
- package/src/functions/transform-block.ts +1 -1
- package/src/helpers/ab-tests.ts +64 -79
- package/src/helpers/canTrack.ts +2 -4
- package/src/helpers/cookie.ts +15 -46
- package/src/helpers/css.ts +4 -13
- package/src/helpers/flatten.ts +11 -16
- package/src/helpers/localStorage.ts +4 -8
- package/src/helpers/logger.ts +2 -2
- package/src/helpers/nullable.ts +1 -3
- package/src/helpers/preview-lru-cache/get.ts +8 -0
- package/src/helpers/preview-lru-cache/helpers.ts +9 -0
- package/src/helpers/preview-lru-cache/init.ts +17 -0
- package/src/helpers/preview-lru-cache/set.ts +18 -0
- package/src/helpers/preview-lru-cache/types.ts +12 -0
- package/src/helpers/sessionId.ts +12 -13
- package/src/helpers/time.ts +1 -3
- package/src/helpers/url.ts +1 -2
- package/src/helpers/uuid.ts +3 -3
- package/src/helpers/visitorId.ts +14 -17
- package/src/index-helpers/blocks-exports.ts +2 -2
- package/src/index-helpers/top-of-file.ts +1 -1
- package/src/index.ts +2 -13
- package/src/scripts/init-editing.ts +85 -98
- package/src/types/api-version.ts +1 -1
- package/src/types/builder-block.ts +1 -3
- package/src/types/builder-content.ts +7 -4
- package/src/types/builder-props.ts +10 -0
- package/src/types/can-track.ts +1 -1
- package/src/types/components.ts +17 -13
- package/src/types/deep-partial.ts +1 -7
- package/src/types/element.ts +1 -3
- package/src/types/enforced-partials.ts +6 -20
- package/src/types/input.ts +6 -9
- package/src/types/targets.ts +1 -6
- package/src/types/typescript.ts +9 -9
- package/package/blocks/util.d.ts +0 -4
- package/package/blocks/util.js +0 -13
- package/package/components/render-block/render-block.helpers.d.ts +0 -12
- package/package/components/render-block/render-block.svelte +0 -152
- package/package/components/render-block/render-block.svelte.d.ts +0 -24
- package/package/components/render-block/render-component.svelte +0 -21
- package/package/components/render-block/render-component.svelte.d.ts +0 -34
- package/package/components/render-block/render-repeated-block.svelte.d.ts +0 -23
- package/package/components/render-blocks.svelte.d.ts +0 -26
- package/package/components/render-content/builder-editing.svelte +0 -4
- package/package/components/render-content/builder-editing.svelte.d.ts +0 -14
- package/package/components/render-content/index.d.ts +0 -1
- package/package/components/render-content/index.js +0 -1
- package/package/components/render-content/render-content.helpers.d.ts +0 -7
- package/package/components/render-content/render-content.helpers.js +0 -30
- package/package/components/render-content/render-content.svelte.d.ts +0 -30
- package/package/functions/evaluate.test.js +0 -17
- package/package/functions/get-builder-search-params/fn.test.js +0 -13
- package/package/functions/get-content/generate-content-url.test.d.ts +0 -1
- package/package/functions/get-content/generate-content-url.test.js +0 -97
- package/package/functions/get-processed-block.test.d.ts +0 -1
- package/package/functions/get-processed-block.test.js +0 -33
- package/package/functions/on-change.test.d.ts +0 -1
- package/package/functions/on-change.test.js +0 -20
- package/package/functions/set.test.d.ts +0 -1
- package/package/functions/set.test.js +0 -16
- package/package/helpers/url.test.d.ts +0 -1
- package/package/helpers/url.test.js +0 -21
- package/src/blocks/util.ts +0 -18
- package/src/components/render-block/render-block.svelte +0 -173
- package/src/components/render-block/render-component.svelte +0 -40
- package/src/components/render-block/render-repeated-block.svelte +0 -25
- package/src/components/render-content/builder-editing.svelte +0 -4
- package/src/components/render-content/index.ts +0 -1
- package/src/components/render-content/render-content.helpers.ts +0 -48
- package/src/functions/evaluate.test.ts +0 -21
- package/src/functions/evaluate.ts +0 -99
- package/src/functions/get-builder-search-params/fn.test.ts +0 -19
- package/src/functions/get-content/generate-content-url.test.ts +0 -112
- package/src/functions/get-processed-block.test.ts +0 -35
- package/src/functions/on-change.test.ts +0 -23
- package/src/functions/set.test.ts +0 -19
- package/src/helpers/url.test.ts +0 -23
- /package/package/components/{render-block → block}/types.d.ts +0 -0
- /package/package/components/{render-block → block}/types.js +0 -0
- /package/package/components/{render-content/render-content.types.js → content/content.types.js} +0 -0
- /package/package/components/{render-content → content}/wrap-component-ref.d.ts +0 -0
- /package/package/components/{render-content → content}/wrap-component-ref.js +0 -0
- /package/package/components/{render-content-variants/render-content-variants.types.js → content-variants/content-variants.types.js} +0 -0
- /package/package/functions/{evaluate.test.d.ts → evaluate/types.js} +0 -0
- /package/package/{functions/get-builder-search-params/fn.test.d.ts → types/builder-props.js} +0 -0
package/package/blocks/util.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Input attributes that are functions must be converted to strings before being serialized to JSON.
|
|
3
|
-
*/
|
|
4
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
5
|
-
export const serializeFn = (fnValue) => {
|
|
6
|
-
const fnStr = fnValue.toString().trim();
|
|
7
|
-
// we need to account for a few different fn syntaxes:
|
|
8
|
-
// 1. `function name(args) => {code}`
|
|
9
|
-
// 2. `name(args) => {code}`
|
|
10
|
-
// 3. `(args) => {}`
|
|
11
|
-
const appendFunction = !fnStr.startsWith('function') && !fnStr.startsWith('(');
|
|
12
|
-
return `return (${appendFunction ? 'function ' : ''}${fnStr}).apply(this, arguments)`;
|
|
13
|
-
};
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { BuilderContextInterface } from '../../context/types';
|
|
2
|
-
import type { BuilderBlock } from '../../types/builder-block';
|
|
3
|
-
import type { RepeatData } from './types';
|
|
4
|
-
export declare const isEmptyHtmlElement: (tagName: unknown) => boolean;
|
|
5
|
-
export declare const getComponent: ({ block, context, }: {
|
|
6
|
-
block: BuilderBlock;
|
|
7
|
-
context: BuilderContextInterface;
|
|
8
|
-
}) => import("../../context/types").RegisteredComponent | null | undefined;
|
|
9
|
-
export declare const getRepeatItemData: ({ block, context, }: {
|
|
10
|
-
block: BuilderBlock;
|
|
11
|
-
context: BuilderContextInterface;
|
|
12
|
-
}) => RepeatData[] | undefined;
|
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
<script context="module"></script>
|
|
2
|
-
|
|
3
|
-
<script>import { writable } from "svelte/store";
|
|
4
|
-
import { getBlockActions } from "../../functions/get-block-actions.js";
|
|
5
|
-
import { getBlockComponentOptions } from "../../functions/get-block-component-options.js";
|
|
6
|
-
import { getBlockProperties } from "../../functions/get-block-properties.js";
|
|
7
|
-
import { getProcessedBlock } from "../../functions/get-processed-block.js";
|
|
8
|
-
import BlockStyles from "./block-styles.svelte";
|
|
9
|
-
import { getComponent, getRepeatItemData, isEmptyHtmlElement, } from "./render-block.helpers.js";
|
|
10
|
-
import RenderRepeatedBlock from "./render-repeated-block.svelte";
|
|
11
|
-
import { TARGET } from "../../constants/target.js";
|
|
12
|
-
import "../../functions/extract-text-styles.js";
|
|
13
|
-
import RenderComponent from "./render-component.svelte";
|
|
14
|
-
import { getReactNativeBlockStyles } from "../../functions/get-react-native-block-styles.js";
|
|
15
|
-
const setAttrs = (node, attrs = {}) => {
|
|
16
|
-
const attrKeys = Object.keys(attrs);
|
|
17
|
-
const setup = (attr) => node.addEventListener(attr.substr(3), attrs[attr]);
|
|
18
|
-
const teardown = (attr) => node.removeEventListener(attr.substr(3), attrs[attr]);
|
|
19
|
-
attrKeys.map(setup);
|
|
20
|
-
return {
|
|
21
|
-
update(attrs = {}) {
|
|
22
|
-
const attrKeys = Object.keys(attrs);
|
|
23
|
-
attrKeys.map(teardown);
|
|
24
|
-
attrKeys.map(setup);
|
|
25
|
-
},
|
|
26
|
-
destroy() {
|
|
27
|
-
attrKeys.map(teardown);
|
|
28
|
-
},
|
|
29
|
-
};
|
|
30
|
-
};
|
|
31
|
-
export let block;
|
|
32
|
-
export let context;
|
|
33
|
-
$: repeatItem = () => {
|
|
34
|
-
return getRepeatItemData({
|
|
35
|
-
block: block,
|
|
36
|
-
context: $context,
|
|
37
|
-
});
|
|
38
|
-
};
|
|
39
|
-
$: useBlock = () => {
|
|
40
|
-
return repeatItem()
|
|
41
|
-
? block
|
|
42
|
-
: getProcessedBlock({
|
|
43
|
-
block: block,
|
|
44
|
-
localState: $context.localState,
|
|
45
|
-
rootState: $context.rootState,
|
|
46
|
-
rootSetState: $context.rootSetState,
|
|
47
|
-
context: $context.context,
|
|
48
|
-
shouldEvaluateBindings: true,
|
|
49
|
-
});
|
|
50
|
-
};
|
|
51
|
-
$: canShowBlock = () => {
|
|
52
|
-
if ("hide" in useBlock()) {
|
|
53
|
-
return !useBlock().hide;
|
|
54
|
-
}
|
|
55
|
-
if ("show" in useBlock()) {
|
|
56
|
-
return useBlock().show;
|
|
57
|
-
}
|
|
58
|
-
return true;
|
|
59
|
-
};
|
|
60
|
-
$: actions = () => {
|
|
61
|
-
return getBlockActions({
|
|
62
|
-
block: useBlock(),
|
|
63
|
-
rootState: $context.rootState,
|
|
64
|
-
rootSetState: $context.rootSetState,
|
|
65
|
-
localState: $context.localState,
|
|
66
|
-
context: $context.context,
|
|
67
|
-
});
|
|
68
|
-
};
|
|
69
|
-
$: attributes = () => {
|
|
70
|
-
const blockProperties = getBlockProperties(useBlock());
|
|
71
|
-
return {
|
|
72
|
-
...blockProperties,
|
|
73
|
-
...(TARGET === "reactNative"
|
|
74
|
-
? {
|
|
75
|
-
style: getReactNativeBlockStyles({
|
|
76
|
-
block: useBlock(),
|
|
77
|
-
context: $context,
|
|
78
|
-
blockStyles: blockProperties.style,
|
|
79
|
-
}),
|
|
80
|
-
}
|
|
81
|
-
: {}),
|
|
82
|
-
};
|
|
83
|
-
};
|
|
84
|
-
$: childrenWithoutParentComponent = () => {
|
|
85
|
-
/**
|
|
86
|
-
* When there is no `componentRef`, there might still be children that need to be rendered. In this case,
|
|
87
|
-
* we render them outside of `componentRef`.
|
|
88
|
-
* NOTE: We make sure not to render this if `repeatItemData` is non-null, because that means we are rendering an array of
|
|
89
|
-
* blocks, and the children will be repeated within those blocks.
|
|
90
|
-
*/
|
|
91
|
-
const shouldRenderChildrenOutsideRef = !component?.component && !repeatItem();
|
|
92
|
-
return shouldRenderChildrenOutsideRef ? useBlock().children ?? [] : [];
|
|
93
|
-
};
|
|
94
|
-
$: renderComponentProps = () => {
|
|
95
|
-
return {
|
|
96
|
-
blockChildren: useBlock().children ?? [],
|
|
97
|
-
componentRef: component?.component,
|
|
98
|
-
componentOptions: {
|
|
99
|
-
...getBlockComponentOptions(useBlock()),
|
|
100
|
-
/**
|
|
101
|
-
* These attributes are passed to the wrapper element when there is one. If `noWrap` is set to true, then
|
|
102
|
-
* they are provided to the component itself directly.
|
|
103
|
-
*/
|
|
104
|
-
...(!component?.noWrap
|
|
105
|
-
? {}
|
|
106
|
-
: {
|
|
107
|
-
attributes: {
|
|
108
|
-
...attributes(),
|
|
109
|
-
...actions(),
|
|
110
|
-
},
|
|
111
|
-
}),
|
|
112
|
-
},
|
|
113
|
-
context: childrenContext,
|
|
114
|
-
};
|
|
115
|
-
};
|
|
116
|
-
let component = getComponent({
|
|
117
|
-
block: block,
|
|
118
|
-
context: $context,
|
|
119
|
-
});
|
|
120
|
-
let Tag = block.tagName || "div";
|
|
121
|
-
let childrenContext = writable($context);
|
|
122
|
-
</script>
|
|
123
|
-
|
|
124
|
-
{#if canShowBlock()}
|
|
125
|
-
{#if !component?.noWrap}
|
|
126
|
-
{#if isEmptyHtmlElement(Tag)}
|
|
127
|
-
<svelte:element this={Tag} {...attributes()} use:setAttrs={actions()} />
|
|
128
|
-
{/if}
|
|
129
|
-
|
|
130
|
-
{#if !isEmptyHtmlElement(Tag) && repeatItem()}
|
|
131
|
-
{#each repeatItem() as data, index (index)}
|
|
132
|
-
<RenderRepeatedBlock repeatContext={data.context} block={data.block} />
|
|
133
|
-
{/each}
|
|
134
|
-
{/if}
|
|
135
|
-
|
|
136
|
-
{#if !isEmptyHtmlElement(Tag) && !repeatItem()}
|
|
137
|
-
<svelte:element this={Tag} {...attributes()} use:setAttrs={actions()}>
|
|
138
|
-
<RenderComponent {...renderComponentProps()} />
|
|
139
|
-
|
|
140
|
-
{#each childrenWithoutParentComponent() as child ("render-block-" + child.id)}
|
|
141
|
-
<svelte:self block={child} context={childrenContext} />
|
|
142
|
-
{/each}
|
|
143
|
-
|
|
144
|
-
{#each childrenWithoutParentComponent() as child ("block-style-" + child.id)}
|
|
145
|
-
<BlockStyles block={child} context={$childrenContext} />
|
|
146
|
-
{/each}
|
|
147
|
-
</svelte:element>
|
|
148
|
-
{/if}
|
|
149
|
-
{:else}
|
|
150
|
-
<RenderComponent {...renderComponentProps()} />
|
|
151
|
-
{/if}
|
|
152
|
-
{/if}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { SvelteComponentTyped } from "svelte";
|
|
2
|
-
export type RenderBlockProps = {
|
|
3
|
-
block: BuilderBlock;
|
|
4
|
-
context: Writable<BuilderContextInterface>;
|
|
5
|
-
};
|
|
6
|
-
import type { BuilderContextInterface } from "../../context/types.js";
|
|
7
|
-
import type { BuilderBlock } from "../../types/builder-block.js";
|
|
8
|
-
import type { Writable } from "svelte/store";
|
|
9
|
-
declare const __propDef: {
|
|
10
|
-
props: {
|
|
11
|
-
block: RenderBlockProps["block"];
|
|
12
|
-
context: RenderBlockProps["context"];
|
|
13
|
-
};
|
|
14
|
-
events: {
|
|
15
|
-
[evt: string]: CustomEvent<any>;
|
|
16
|
-
};
|
|
17
|
-
slots: {};
|
|
18
|
-
};
|
|
19
|
-
export type RenderBlockProps = typeof __propDef.props;
|
|
20
|
-
export type RenderBlockEvents = typeof __propDef.events;
|
|
21
|
-
export type RenderBlockSlots = typeof __propDef.slots;
|
|
22
|
-
export default class RenderBlock extends SvelteComponentTyped<RenderBlockProps, RenderBlockEvents, RenderBlockSlots> {
|
|
23
|
-
}
|
|
24
|
-
export {};
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
<script context="module"></script>
|
|
2
|
-
|
|
3
|
-
<script>import BlockStyles from "./block-styles.svelte";
|
|
4
|
-
import RenderBlock from "./render-block.svelte";
|
|
5
|
-
export let componentRef;
|
|
6
|
-
export let componentOptions;
|
|
7
|
-
export let blockChildren;
|
|
8
|
-
export let context;
|
|
9
|
-
</script>
|
|
10
|
-
|
|
11
|
-
{#if componentRef}
|
|
12
|
-
<svelte:component this={componentRef} {...componentOptions}>
|
|
13
|
-
{#each blockChildren as child ("render-block-" + child.id)}
|
|
14
|
-
<RenderBlock block={child} {context} />
|
|
15
|
-
{/each}
|
|
16
|
-
|
|
17
|
-
{#each blockChildren as child ("block-style-" + child.id)}
|
|
18
|
-
<BlockStyles block={child} context={$context} />
|
|
19
|
-
{/each}
|
|
20
|
-
</svelte:component>
|
|
21
|
-
{/if}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { SvelteComponentTyped } from "svelte";
|
|
2
|
-
type ComponentOptions = {
|
|
3
|
-
[index: string]: any;
|
|
4
|
-
attributes?: {
|
|
5
|
-
[index: string]: any;
|
|
6
|
-
};
|
|
7
|
-
};
|
|
8
|
-
export interface RenderComponentProps {
|
|
9
|
-
componentRef: any;
|
|
10
|
-
componentOptions: ComponentOptions;
|
|
11
|
-
blockChildren: BuilderBlock[];
|
|
12
|
-
context: Writable<BuilderContextInterface>;
|
|
13
|
-
}
|
|
14
|
-
import type { BuilderBlock } from "../../types/builder-block.js";
|
|
15
|
-
import type { BuilderContextInterface } from "../../context/types.js";
|
|
16
|
-
import type { Writable } from "svelte/store";
|
|
17
|
-
declare const __propDef: {
|
|
18
|
-
props: {
|
|
19
|
-
componentRef: RenderComponentProps["componentRef"];
|
|
20
|
-
componentOptions: RenderComponentProps["componentOptions"];
|
|
21
|
-
blockChildren: RenderComponentProps["blockChildren"];
|
|
22
|
-
context: RenderComponentProps["context"];
|
|
23
|
-
};
|
|
24
|
-
events: {
|
|
25
|
-
[evt: string]: CustomEvent<any>;
|
|
26
|
-
};
|
|
27
|
-
slots: {};
|
|
28
|
-
};
|
|
29
|
-
export type RenderComponentProps = typeof __propDef.props;
|
|
30
|
-
export type RenderComponentEvents = typeof __propDef.events;
|
|
31
|
-
export type RenderComponentSlots = typeof __propDef.slots;
|
|
32
|
-
export default class RenderComponent extends SvelteComponentTyped<RenderComponentProps, RenderComponentEvents, RenderComponentSlots> {
|
|
33
|
-
}
|
|
34
|
-
export {};
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { SvelteComponentTyped } from "svelte";
|
|
2
|
-
type Props = {
|
|
3
|
-
block: BuilderBlock;
|
|
4
|
-
repeatContext: BuilderContextInterface;
|
|
5
|
-
};
|
|
6
|
-
import type { BuilderContextInterface } from "../../context/types.js";
|
|
7
|
-
import type { BuilderBlock } from "../../types/builder-block";
|
|
8
|
-
declare const __propDef: {
|
|
9
|
-
props: {
|
|
10
|
-
repeatContext: Props["repeatContext"];
|
|
11
|
-
block: Props["block"];
|
|
12
|
-
};
|
|
13
|
-
events: {
|
|
14
|
-
[evt: string]: CustomEvent<any>;
|
|
15
|
-
};
|
|
16
|
-
slots: {};
|
|
17
|
-
};
|
|
18
|
-
export type RenderRepeatedBlockProps = typeof __propDef.props;
|
|
19
|
-
export type RenderRepeatedBlockEvents = typeof __propDef.events;
|
|
20
|
-
export type RenderRepeatedBlockSlots = typeof __propDef.slots;
|
|
21
|
-
export default class RenderRepeatedBlock extends SvelteComponentTyped<RenderRepeatedBlockProps, RenderRepeatedBlockEvents, RenderRepeatedBlockSlots> {
|
|
22
|
-
}
|
|
23
|
-
export {};
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { SvelteComponentTyped } from "svelte";
|
|
2
|
-
export type RenderBlockProps = {
|
|
3
|
-
blocks?: BuilderBlock[];
|
|
4
|
-
parent?: string;
|
|
5
|
-
path?: string;
|
|
6
|
-
styleProp?: Record<string, any>;
|
|
7
|
-
};
|
|
8
|
-
import type { BuilderBlock } from "../types/builder-block.js";
|
|
9
|
-
declare const __propDef: {
|
|
10
|
-
props: {
|
|
11
|
-
blocks: RenderBlockProps["blocks"];
|
|
12
|
-
parent: RenderBlockProps["parent"];
|
|
13
|
-
path: RenderBlockProps["path"];
|
|
14
|
-
styleProp: RenderBlockProps["styleProp"];
|
|
15
|
-
};
|
|
16
|
-
events: {
|
|
17
|
-
[evt: string]: CustomEvent<any>;
|
|
18
|
-
};
|
|
19
|
-
slots: {};
|
|
20
|
-
};
|
|
21
|
-
export type RenderBlocksProps = typeof __propDef.props;
|
|
22
|
-
export type RenderBlocksEvents = typeof __propDef.events;
|
|
23
|
-
export type RenderBlocksSlots = typeof __propDef.slots;
|
|
24
|
-
export default class RenderBlocks extends SvelteComponentTyped<RenderBlocksProps, RenderBlocksEvents, RenderBlocksSlots> {
|
|
25
|
-
}
|
|
26
|
-
export {};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { SvelteComponentTyped } from "svelte";
|
|
2
|
-
declare const __propDef: {
|
|
3
|
-
props: Record<string, never>;
|
|
4
|
-
events: {
|
|
5
|
-
[evt: string]: CustomEvent<any>;
|
|
6
|
-
};
|
|
7
|
-
slots: {};
|
|
8
|
-
};
|
|
9
|
-
export type BuilderEditingProps = typeof __propDef.props;
|
|
10
|
-
export type BuilderEditingEvents = typeof __propDef.events;
|
|
11
|
-
export type BuilderEditingSlots = typeof __propDef.slots;
|
|
12
|
-
export default class BuilderEditing extends SvelteComponentTyped<BuilderEditingProps, BuilderEditingEvents, BuilderEditingSlots> {
|
|
13
|
-
}
|
|
14
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default } from './render-content.svelte';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default } from './render-content.svelte';
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { BuilderContent } from '../../types/builder-content';
|
|
2
|
-
import type { Nullable } from '../../types/typescript';
|
|
3
|
-
import type { RenderContentProps } from './render-content.types';
|
|
4
|
-
export declare const getContextStateInitialValue: ({ content, data, locale, }: Pick<RenderContentProps, 'content' | 'data' | 'locale'>) => {
|
|
5
|
-
[x: string]: unknown;
|
|
6
|
-
};
|
|
7
|
-
export declare const getContentInitialValue: ({ content, data, }: Pick<RenderContentProps, 'content' | 'data'>) => Nullable<BuilderContent>;
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
export const getContextStateInitialValue = ({ content, data, locale, }) => {
|
|
2
|
-
const defaultValues = {};
|
|
3
|
-
// set default values for content state inputs
|
|
4
|
-
content?.data?.inputs?.forEach((input) => {
|
|
5
|
-
if (input.name &&
|
|
6
|
-
input.defaultValue !== undefined &&
|
|
7
|
-
content?.data?.state &&
|
|
8
|
-
content.data.state[input.name] === undefined) {
|
|
9
|
-
defaultValues[input.name] = input.defaultValue;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
const stateToUse = {
|
|
13
|
-
...content?.data?.state,
|
|
14
|
-
...data,
|
|
15
|
-
...(locale ? { locale } : {}),
|
|
16
|
-
};
|
|
17
|
-
return { ...defaultValues, ...stateToUse };
|
|
18
|
-
};
|
|
19
|
-
export const getContentInitialValue = ({ content, data, }) => {
|
|
20
|
-
return !content
|
|
21
|
-
? undefined
|
|
22
|
-
: {
|
|
23
|
-
...content,
|
|
24
|
-
data: {
|
|
25
|
-
...content?.data,
|
|
26
|
-
...data,
|
|
27
|
-
},
|
|
28
|
-
meta: content?.meta,
|
|
29
|
-
};
|
|
30
|
-
};
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { SvelteComponentTyped } from "svelte";
|
|
2
|
-
import type { RenderContentProps } from "./render-content.types.js";
|
|
3
|
-
declare const __propDef: {
|
|
4
|
-
props: {
|
|
5
|
-
canTrack: RenderContentProps["canTrack"];
|
|
6
|
-
model: RenderContentProps["model"];
|
|
7
|
-
context: RenderContentProps["context"];
|
|
8
|
-
apiKey: RenderContentProps["apiKey"];
|
|
9
|
-
content: RenderContentProps["content"];
|
|
10
|
-
data: RenderContentProps["data"];
|
|
11
|
-
locale: RenderContentProps["locale"];
|
|
12
|
-
apiVersion: RenderContentProps["apiVersion"];
|
|
13
|
-
customComponents: RenderContentProps["customComponents"];
|
|
14
|
-
showContent: RenderContentProps["showContent"];
|
|
15
|
-
classNameProp: RenderContentProps["classNameProp"];
|
|
16
|
-
isSsrAbTest: RenderContentProps["isSsrAbTest"];
|
|
17
|
-
includeRefs: RenderContentProps["includeRefs"];
|
|
18
|
-
enrich: RenderContentProps["enrich"];
|
|
19
|
-
};
|
|
20
|
-
events: {
|
|
21
|
-
[evt: string]: CustomEvent<any>;
|
|
22
|
-
};
|
|
23
|
-
slots: {};
|
|
24
|
-
};
|
|
25
|
-
export type RenderContentProps = typeof __propDef.props;
|
|
26
|
-
export type RenderContentEvents = typeof __propDef.events;
|
|
27
|
-
export type RenderContentSlots = typeof __propDef.slots;
|
|
28
|
-
export default class RenderContent extends SvelteComponentTyped<RenderContentProps, RenderContentEvents, RenderContentSlots> {
|
|
29
|
-
}
|
|
30
|
-
export {};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { flattenState } from './evaluate';
|
|
2
|
-
describe('flatten state', () => {
|
|
3
|
-
it('should behave normally when no PROTO_STATE', () => {
|
|
4
|
-
const localState = {};
|
|
5
|
-
const rootState = { foo: 'bar' };
|
|
6
|
-
const flattened = flattenState(rootState, localState, undefined);
|
|
7
|
-
expect(flattened.foo).toEqual('bar');
|
|
8
|
-
flattened.foo = 'baz';
|
|
9
|
-
expect(rootState.foo).toEqual('baz');
|
|
10
|
-
});
|
|
11
|
-
it('should shadow write ', () => {
|
|
12
|
-
const rootState = { foo: 'foo' };
|
|
13
|
-
const localState = { foo: 'baz' };
|
|
14
|
-
const flattened = flattenState(rootState, localState, undefined);
|
|
15
|
-
expect(() => (flattened.foo = 'bar')).toThrow('Writing to local state is not allowed as it is read-only.');
|
|
16
|
-
});
|
|
17
|
-
});
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { convertSearchParamsToQueryObject, getBuilderSearchParams } from '.';
|
|
2
|
-
const querystring = 'someotherValue=jklsjfdal&abc=klfdjklgfds&builder.cachebust=true&builder.preview=page&builder.noCache=true&__builder_editing__=true&builder.overrides.page=037948e52eaf4743afed464f02c70da4&builder.overrides.037948e52eaf4743afed464f02c70da4=037948e52eaf4743afed464f02c70da4&builder.overrides.page%3A%2F=037948e52eaf4743afed464f02c70da4&preview_theme_id=128854393017';
|
|
3
|
-
const url = new URL(`localhost:3000/about-us?${querystring}`);
|
|
4
|
-
describe('Get Builder SearchParams', () => {
|
|
5
|
-
test('correctly converts URLSearchParams to object', () => {
|
|
6
|
-
const output = convertSearchParamsToQueryObject(url.searchParams);
|
|
7
|
-
expect(output).toMatchSnapshot();
|
|
8
|
-
});
|
|
9
|
-
test('correctly extracts all builder params from a query object', () => {
|
|
10
|
-
const output = getBuilderSearchParams(convertSearchParamsToQueryObject(url.searchParams));
|
|
11
|
-
expect(output).toMatchSnapshot();
|
|
12
|
-
});
|
|
13
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import { generateContentUrl } from './generate-content-url';
|
|
2
|
-
const testKey = 'YJIGb4i01jvw0SRdL5Bt';
|
|
3
|
-
const testModel = 'page';
|
|
4
|
-
const testId = 'c1b81bab59704599b997574eb0736def';
|
|
5
|
-
const options = {
|
|
6
|
-
cachebust: 'true',
|
|
7
|
-
noCache: 'true',
|
|
8
|
-
'overrides.037948e52eaf4743afed464f02c70da4': '037948e52eaf4743afed464f02c70da4',
|
|
9
|
-
'overrides.page': '037948e52eaf4743afed464f02c70da4',
|
|
10
|
-
'overrides.page:/': '037948e52eaf4743afed464f02c70da4',
|
|
11
|
-
preview: 'page',
|
|
12
|
-
};
|
|
13
|
-
describe('Generate Content URL', () => {
|
|
14
|
-
test('generates the proper value for a simple query', () => {
|
|
15
|
-
const output = generateContentUrl({
|
|
16
|
-
apiKey: testKey,
|
|
17
|
-
model: testModel,
|
|
18
|
-
query: { id: testId },
|
|
19
|
-
});
|
|
20
|
-
expect(output).toMatchSnapshot();
|
|
21
|
-
});
|
|
22
|
-
test('Handles overrides correctly', () => {
|
|
23
|
-
const output = generateContentUrl({
|
|
24
|
-
apiKey: testKey,
|
|
25
|
-
model: testModel,
|
|
26
|
-
query: { id: testId },
|
|
27
|
-
options,
|
|
28
|
-
});
|
|
29
|
-
expect(output).toMatchSnapshot();
|
|
30
|
-
});
|
|
31
|
-
test('generate content url with apiVersion as default', () => {
|
|
32
|
-
const output = generateContentUrl({
|
|
33
|
-
apiKey: testKey,
|
|
34
|
-
model: testModel,
|
|
35
|
-
query: { id: testId },
|
|
36
|
-
options,
|
|
37
|
-
});
|
|
38
|
-
expect(output).toMatchSnapshot();
|
|
39
|
-
});
|
|
40
|
-
test('generate content url with apiVersion as v2', () => {
|
|
41
|
-
const output = generateContentUrl({
|
|
42
|
-
apiKey: testKey,
|
|
43
|
-
model: testModel,
|
|
44
|
-
query: { id: testId },
|
|
45
|
-
options,
|
|
46
|
-
apiVersion: 'v2',
|
|
47
|
-
});
|
|
48
|
-
expect(output).toMatchSnapshot();
|
|
49
|
-
});
|
|
50
|
-
test('generate content url with apiVersion as v3', () => {
|
|
51
|
-
const output = generateContentUrl({
|
|
52
|
-
apiKey: testKey,
|
|
53
|
-
model: testModel,
|
|
54
|
-
query: { id: testId },
|
|
55
|
-
options,
|
|
56
|
-
apiVersion: 'v3',
|
|
57
|
-
});
|
|
58
|
-
expect(output).toMatchSnapshot();
|
|
59
|
-
});
|
|
60
|
-
test('throw error when trying to generate content url with apiVersion as v1', () => {
|
|
61
|
-
expect(() => {
|
|
62
|
-
generateContentUrl({
|
|
63
|
-
apiKey: testKey,
|
|
64
|
-
model: testModel,
|
|
65
|
-
query: { id: testId },
|
|
66
|
-
options,
|
|
67
|
-
apiVersion: 'v1',
|
|
68
|
-
});
|
|
69
|
-
}).toThrow(`Invalid apiVersion: expected 'v2' or 'v3', received 'v1'`);
|
|
70
|
-
});
|
|
71
|
-
test('throw error when trying to generate content url with an invalid apiVersion value', () => {
|
|
72
|
-
expect(() => {
|
|
73
|
-
generateContentUrl({
|
|
74
|
-
apiKey: testKey,
|
|
75
|
-
model: testModel,
|
|
76
|
-
query: { id: testId },
|
|
77
|
-
options,
|
|
78
|
-
apiVersion: 'INVALID_API_VERSION',
|
|
79
|
-
});
|
|
80
|
-
}).toThrow(`Invalid apiVersion: expected 'v2' or 'v3', received 'INVALID_API_VERSION'`);
|
|
81
|
-
});
|
|
82
|
-
test('generate content url with enrich option true', () => {
|
|
83
|
-
const output = generateContentUrl({
|
|
84
|
-
apiKey: testKey,
|
|
85
|
-
model: testModel,
|
|
86
|
-
enrich: true,
|
|
87
|
-
});
|
|
88
|
-
expect(output).toMatchSnapshot();
|
|
89
|
-
});
|
|
90
|
-
test('generate content url with enrich option not present', () => {
|
|
91
|
-
const output = generateContentUrl({
|
|
92
|
-
apiKey: testKey,
|
|
93
|
-
model: testModel,
|
|
94
|
-
});
|
|
95
|
-
expect(output).toMatchSnapshot();
|
|
96
|
-
});
|
|
97
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { getProcessedBlock } from './get-processed-block.js';
|
|
2
|
-
test('Can process bindings', () => {
|
|
3
|
-
const block = {
|
|
4
|
-
'@type': '@builder.io/sdk:Element',
|
|
5
|
-
properties: {
|
|
6
|
-
foo: 'bar',
|
|
7
|
-
},
|
|
8
|
-
bindings: {
|
|
9
|
-
'properties.foo': '"baz"',
|
|
10
|
-
'responsiveStyles.large.zIndex': '1 + 1',
|
|
11
|
-
'properties.test': 'state.test',
|
|
12
|
-
'properties.block': `
|
|
13
|
-
const foo = 'bar';
|
|
14
|
-
return foo;
|
|
15
|
-
`,
|
|
16
|
-
'properties.isEditing': 'builder.isEditing',
|
|
17
|
-
},
|
|
18
|
-
};
|
|
19
|
-
const processed = getProcessedBlock({
|
|
20
|
-
block,
|
|
21
|
-
context: {},
|
|
22
|
-
rootState: { test: 'hello' },
|
|
23
|
-
rootSetState: undefined,
|
|
24
|
-
localState: undefined,
|
|
25
|
-
shouldEvaluateBindings: true,
|
|
26
|
-
});
|
|
27
|
-
expect(processed).not.toEqual(block);
|
|
28
|
-
expect(processed.properties?.foo).toEqual('baz');
|
|
29
|
-
expect(processed.properties?.test).toEqual('hello');
|
|
30
|
-
expect(processed.properties?.block).toEqual('bar');
|
|
31
|
-
expect(processed.properties?.isEditing).toEqual(false);
|
|
32
|
-
expect(processed.responsiveStyles?.large?.zIndex).toEqual(2);
|
|
33
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { onChange } from './on-change.js';
|
|
2
|
-
test('onChange can observe a shallow change', () => {
|
|
3
|
-
let changeHappend = false;
|
|
4
|
-
const obj = onChange({ foo: 'hi' }, () => (changeHappend = true));
|
|
5
|
-
obj.foo = 'yo';
|
|
6
|
-
expect(changeHappend).toBe(true);
|
|
7
|
-
});
|
|
8
|
-
test('onChange can observe a deep change', () => {
|
|
9
|
-
let changeHappend = false;
|
|
10
|
-
const obj = onChange({ foo: { bar: 'hi' } }, () => (changeHappend = true));
|
|
11
|
-
obj.foo.bar = 'yo';
|
|
12
|
-
expect(changeHappend).toBe(true);
|
|
13
|
-
});
|
|
14
|
-
test('Smoke test: callback is not fired if no properties updated', () => {
|
|
15
|
-
let changeHappend = false;
|
|
16
|
-
const obj = onChange({ foo: { bar: 'hi' } }, () => (changeHappend = true));
|
|
17
|
-
// Access some properties
|
|
18
|
-
obj.foo.bar;
|
|
19
|
-
expect(changeHappend).toBe(false);
|
|
20
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { set } from './set.js';
|
|
2
|
-
test('can shallow set a property', () => {
|
|
3
|
-
const obj = { foo: 'bar' };
|
|
4
|
-
set(obj, 'foo', 'baz');
|
|
5
|
-
expect(obj.foo).toBe('baz');
|
|
6
|
-
});
|
|
7
|
-
test('can deeply set a property', () => {
|
|
8
|
-
const obj = { foo: 'bar' };
|
|
9
|
-
set(obj, 'foo.bar', 'baz');
|
|
10
|
-
expect(obj.foo.bar).toBe('baz');
|
|
11
|
-
});
|
|
12
|
-
test('can deeply create arrays', () => {
|
|
13
|
-
const obj = { foo: 'bar' };
|
|
14
|
-
set(obj, 'foo.bar.0', 'hi');
|
|
15
|
-
expect(obj.foo.bar).toEqual(['hi']);
|
|
16
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { getTopLevelDomain } from './url.js';
|
|
2
|
-
describe('getTopLevelDomain', () => {
|
|
3
|
-
test('handles root domain', () => {
|
|
4
|
-
const output = getTopLevelDomain('example.com');
|
|
5
|
-
expect(output).toBe('example.com');
|
|
6
|
-
});
|
|
7
|
-
test('handles subdomain', () => {
|
|
8
|
-
const output = getTopLevelDomain('wwww.example.com');
|
|
9
|
-
expect(output).toBe('example.com');
|
|
10
|
-
});
|
|
11
|
-
test('handles subdomain with long suffix', () => {
|
|
12
|
-
const output = getTopLevelDomain('www.example.co.uk');
|
|
13
|
-
expect(output).toBe('example.co.uk');
|
|
14
|
-
});
|
|
15
|
-
test('handles localhost', () => {
|
|
16
|
-
const output = getTopLevelDomain('localhost');
|
|
17
|
-
expect(output).toBe('localhost');
|
|
18
|
-
const output2 = getTopLevelDomain('127.0.0.1');
|
|
19
|
-
expect(output2).toBe('127.0.0.1');
|
|
20
|
-
});
|
|
21
|
-
});
|