@designcrowd/library.brand-page 6.1.1-ast-preview-5 → 6.1.1-json-prereq-2
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/lib/src/{CreatedOnBrandCrowd-de-de-sVIjGbu6.js → CreatedOnBrandCrowd-de-de-r7USgAVD.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-en-us-B_0ppSv0.js → CreatedOnBrandCrowd-en-us-Cl9PeQVq.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-es-es-DqKj4e_p.js → CreatedOnBrandCrowd-es-es-JQgWL1oM.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-fr-DiNXZwRd.js → CreatedOnBrandCrowd-fr-ca-MyYaZgId.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-ca-DiNXZwRd.js → CreatedOnBrandCrowd-fr-fr-MyYaZgId.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-pt-CuYkLGHc.js → CreatedOnBrandCrowd-pt-br-D6FStQU6.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-br-CuYkLGHc.js → CreatedOnBrandCrowd-pt-pt-D6FStQU6.js} +1 -1
- package/lib/src/{CreatedOnDcom-de-de-Bd6MW0BB.js → CreatedOnDcom-de-de-BL1nZZE6.js} +1 -1
- package/lib/src/{CreatedOnDcom-en-us-nOQGBiSc.js → CreatedOnDcom-en-us-C8R2eB3R.js} +1 -1
- package/lib/src/{CreatedOnDcom-es-es-CYKmU876.js → CreatedOnDcom-es-es-Cw34v79P.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-ca-BC1ylbfG.js → CreatedOnDcom-fr-ca-hQ7zuwhB.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-fr-DpK26Wq1.js → CreatedOnDcom-fr-fr-DYO-y4Qs.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-br-P9Hfpokg.js → CreatedOnDcom-pt-br-D_-6VWMA.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-pt-rgBJjIoZ.js → CreatedOnDcom-pt-pt-C0bg2qxu.js} +1 -1
- package/lib/src/brand-page/components/contact-form/ContactForm.mixin.js +8 -7
- package/lib/src/brand-page/components/mailing-list/MailingList.mixin.js +4 -6
- package/lib/src/brand-page/components/page-footer/PageFooter.mixin.d.ts +0 -1
- package/lib/src/brand-page/components/page-footer/PageFooter.mixin.js +1 -4
- package/lib/src/brand-page/components/payment/Payment.mixin.js +3 -4
- package/lib/src/brand-page/components/payment/__fixtures__/request-payment.d.ts +0 -1
- package/lib/src/brand-page/components/payment/__fixtures__/support-me.d.ts +0 -1
- package/lib/src/brand-page/components/payment/request-payment/RequestPayment.mixin.d.ts +0 -1
- package/lib/src/brand-page/components/payment/request-payment/RequestPayment.mixin.js +1 -4
- package/lib/src/brand-page/composables/consent.composable.d.ts +0 -2
- package/lib/src/brand-page/composables/consent.composable.js +3 -9
- package/lib/src/brand-page/models/brand-page-context.model.d.ts +0 -9
- package/lib/src/brand-page/models/brand-page-context.model.js +0 -12
- package/lib/src/brand-page/models/index.d.ts +34 -26
- package/lib/src/brand-page/utils/context.util.d.ts +0 -8
- package/lib/src/brand-page/utils/context.util.js +0 -8
- package/lib/src/brand-page/utils/migration/migration-20.d.ts +2 -0
- package/lib/src/brand-page/utils/migration/migration-20.js +66 -0
- package/lib/src/brand-page/utils/migration.util.js +11 -0
- package/lib/src/brand-page/utils/text.util.d.ts +1 -1
- package/lib/src/brand-page/utils/text.util.js +32 -0
- package/lib/src/brand-page/utils/vcard.util.js +4 -4
- package/lib/src/brand-page/utils/view-model.util.d.ts +1 -0
- package/lib/src/brand-page/utils/view-model.util.js +68 -20
- package/lib/src/brand-page/view-models.d.ts +3 -3
- package/lib/src/brand-page-maker/__fixtures__/complex-rte.fixture.d.ts +22 -0
- package/lib/src/brand-page-maker/__fixtures__/complex-rte.fixture.js +22 -0
- package/lib/src/brand-page-maker/components/action-bar/ActionBar.mixin.d.ts +0 -2
- package/lib/src/brand-page-maker/components/action-bar/ActionBar.mixin.js +1 -14
- package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.d.ts +1 -135
- package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.js +0 -50
- package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +0 -130
- package/lib/src/brand-page-maker/components/navigation/Navigation.mixin.d.ts +0 -1
- package/lib/src/brand-page-maker/components/navigation/Navigation.mixin.js +0 -3
- package/lib/src/brand-page-maker/components/preview/Preview.mixin.d.ts +0 -14
- package/lib/src/brand-page-maker/components/quick-link-bar/QuickLinkBar.mixin.d.ts +0 -130
- package/lib/src/brand-page-maker/components/seo-settings/SeoPageSettings.mixin.d.ts +0 -130
- package/lib/src/brand-page-maker/components/seo-settings/UrlSettings.mixin.d.ts +0 -130
- package/lib/src/brand-page-maker/components/seo-settings/UseExistingDomainModal.mixin.d.ts +0 -130
- package/lib/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.d.ts +0 -130
- package/lib/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.js +18 -51
- package/lib/src/brand-page-maker/components/upgrade-to-premium-button/UpgradeToPremiumButton.mixin.d.ts +0 -130
- package/lib/src/brand-page-maker/composables/ai-chat/useAiMetadataBuilder.d.ts +0 -1
- package/lib/src/brand-page-maker/composables/rich-text-editor/bubbleMenu.d.ts +2 -9
- package/lib/src/brand-page-maker/composables/rich-text-editor/bubbleMenu.js +6 -10
- package/lib/src/brand-page-maker/composables/rich-text-editor/extensions/FontFamily.d.ts +14 -0
- package/lib/src/brand-page-maker/composables/rich-text-editor/extensions/FontFamily.js +39 -0
- package/lib/src/brand-page-maker/composables/rich-text-editor/getRteExtensions.d.ts +28 -0
- package/lib/src/brand-page-maker/composables/rich-text-editor/getRteExtensions.js +117 -0
- package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.d.ts +1 -1
- package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.js +24 -103
- package/lib/src/brand-page-maker/composables/useEventTracker.d.ts +0 -1
- package/lib/src/brand-page-maker/composables/useEventTracker.js +0 -1
- package/lib/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.d.ts +0 -132
- package/lib/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.js +6 -30
- package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.js +3 -9
- package/lib/src/brand-page-maker/stores/ui/ui-store.d.ts +1 -1
- package/lib/src/brand-page-maker/utils/index.d.ts +2 -0
- package/lib/src/brand-page-maker/utils/index.js +2 -0
- package/lib/src/brand-page-maker/utils/rich-text-editor.util.d.ts +28 -5
- package/lib/src/brand-page-maker/utils/rich-text-editor.util.js +48 -5
- package/lib/src/brand-page-maker/utils/rte-render.util.d.ts +63 -0
- package/lib/src/brand-page-maker/utils/rte-render.util.js +95 -0
- package/lib/src/brand-page-maker/utils/rte-sanitize.util.d.ts +6 -0
- package/lib/src/brand-page-maker/utils/rte-sanitize.util.js +156 -0
- package/lib/src/brand-page-maker/validators/field.validator.js +10 -2
- package/lib/src/bundled-translations-2HkRBbBD.js +177 -0
- package/lib/src/bundled-translations.de-DE-CL9ZEhU2.js +177 -0
- package/lib/src/bundled-translations.es-ES-uj7Sliu0.js +177 -0
- package/lib/src/bundled-translations.fr-CA-BMnBtr_w.js +177 -0
- package/lib/src/bundled-translations.fr-FR-9PEZedzq.js +177 -0
- package/lib/src/bundled-translations.pt-BR-B3oNDkoe.js +177 -0
- package/lib/src/bundled-translations.pt-PT-DM7Vsf-h.js +177 -0
- package/lib/src/bundles/bundled-translations.de-DE.json +0 -5
- package/lib/src/bundles/bundled-translations.es-ES.json +0 -5
- package/lib/src/bundles/bundled-translations.fr-CA.json +0 -5
- package/lib/src/bundles/bundled-translations.fr-FR.json +0 -5
- package/lib/src/bundles/bundled-translations.json +0 -5
- package/lib/src/bundles/bundled-translations.pt-BR.json +0 -5
- package/lib/src/bundles/bundled-translations.pt-PT.json +0 -5
- package/lib/src/clients/brand-page-client.d.ts +0 -1
- package/lib/src/clients/models.d.ts +0 -2
- package/lib/src/composables/useTranslate.d.ts +1 -2
- package/lib/src/composables/useTranslate.js +1 -2
- package/lib/src/constants/brand-page-maker.d.ts +0 -2
- package/lib/src/constants/brand-page-maker.js +0 -5
- package/lib/src/css/library.brand-page-brandCrowd.min.css +209 -352
- package/lib/src/css/library.brand-page-brandPage.min.css +209 -356
- package/lib/src/css/library.brand-page-designCom.min.css +209 -352
- package/lib/src/css/library.brand-page-preview.min.css +209 -352
- package/lib/src/index.d.ts +2 -3
- package/lib/src/index.mjs +215 -215
- package/lib/src/{lib-C3x15Hyk.js → lib-B_8Foa76.js} +54753 -51680
- package/lib/src/lib.js +3 -3
- package/lib/src/metadata-builder/ai-metadata-executor.d.ts +0 -1
- package/lib/src/metadata-builder/ai-metadata-executor.js +0 -19
- package/lib/src/metadata-builder/builders/section-builders/about-section-builder.js +2 -3
- package/lib/src/metadata-builder/builders/section-builders/banner-section-builder.js +2 -3
- package/lib/src/metadata-builder/builders/section-builders/booking-section-builder.js +2 -3
- package/lib/src/metadata-builder/builders/section-builders/contact-form-builder.js +3 -4
- package/lib/src/metadata-builder/builders/section-builders/images-section-builder.js +2 -3
- package/lib/src/metadata-builder/builders/section-builders/mailing-list-builder.js +1 -2
- package/lib/src/metadata-builder/builders/section-builders/mailing-list-section-builder.js +1 -2
- package/lib/src/metadata-builder/builders/section-builders/profile-section-builder.js +3 -4
- package/lib/src/metadata-builder/builders/section-builders/shapes-section-builder.js +2 -3
- package/lib/src/metadata-builder/builders/section-builders/testimonial-section-builder.js +1 -2
- package/lib/src/metadata-builder/builders/section-builders/text-section-builder.js +15 -11
- package/lib/src/metadata-builder/helpers/rte.helpers.d.ts +11 -13
- package/lib/src/metadata-builder/helpers/rte.helpers.js +14 -73
- package/lib/src/metadata-builder/metadata-executor.js +0 -4
- package/lib/src/metadata-builder/models.d.ts +0 -2
- package/lib/src/metadata-builder/models.js +0 -2
- package/lib/src/metadata-builder/parsers/ai-toolcall-parser.d.ts +0 -19
- package/lib/src/metadata-builder/parsers/ai-toolcall-parser.js +0 -4
- package/lib/src/metadata-builder/sanitizers/rte-schema-check.d.ts +7 -8
- package/lib/src/metadata-builder/sanitizers/rte-schema-check.js +21 -52
- package/lib/src/shared/content-settings/components/GenericTextInput.mixin.js +14 -1
- package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.d.ts +1 -1
- package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.js +12 -3
- package/lib/src/shared/content-settings/components/payment-config-field/PaymentConfigField.mixin.d.ts +0 -130
- package/lib/src/shared/content-settings/components/testimonial-items-field/TestimonialItemsField.mixin.d.ts +3 -2
- package/lib/src/shared/content-settings/components/testimonial-items-field/TestimonialItemsField.mixin.js +10 -3
- package/lib/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.d.ts +2 -1
- package/lib/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.js +4 -1
- package/lib/src/shared/logo-settings/components/EditLogoSettings.mixin.d.ts +1 -1
- package/lib/src/shared/logo-settings/components/LogoSettings.mixin.d.ts +0 -130
- package/lib/src/shared/logo-versions/LogoVersions.mixin.d.ts +1 -1
- package/lib/src/shared/my-designs/MyDesigns.mixin.d.ts +1 -1
- package/lib/src/shared/my-uploads/MyMedia.mixin.d.ts +1 -1
- package/lib/src/shared/my-uploads/MyUploads.mixin.d.ts +1 -1
- package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +1 -131
- package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +1 -131
- package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.d.ts +0 -144
- package/lib/src/shared/side-bar/components/SideBar.mixin.d.ts +0 -130
- package/lib/src/shared/style-settings/components/StyleSettings.mixin.d.ts +1 -131
- package/lib/src/shared/template-settings/components/TemplatesSettings.mixin.d.ts +1 -1
- package/lib/src/shared/template-settings/store/template-settings-store.d.ts +0 -2
- package/lib/src/shared/template-settings/store/template-settings-store.js +24 -72
- package/lib/src/shared/unsplash-library/UnsplashLibrary.mixin.d.ts +1 -1
- package/lib/src/tracker.mjs +1 -1
- package/lib/src/{useEventTracker-Dmc2jFdN.js → useEventTracker-DmQ6AkNn.js} +4 -5
- package/lib/src/utils/minify-brand-page-metadata.js +4 -1
- package/package.json +17 -15
- package/src/brand-page/components/contact-form/ContactForm.mixin.ts +7 -9
- package/src/brand-page/components/cookie-consent/CookieConsent.vue +0 -1
- package/src/brand-page/components/image-gallery/masonry/MasonryGallery.vue +0 -1
- package/src/brand-page/components/images-section/ImagesSection.vue +0 -10
- package/src/brand-page/components/mailing-list/MailingList.mixin.ts +3 -8
- package/src/brand-page/components/media/Video.vue +0 -4
- package/src/brand-page/components/navigation/navigation-carousel/NavigationCarousel.vue +1 -5
- package/src/brand-page/components/page-footer/PageFooter.mixin.ts +1 -4
- package/src/brand-page/components/page-footer/PageFooter.vue +1 -1
- package/src/brand-page/components/payment/Payment.mixin.ts +3 -4
- package/src/brand-page/components/payment/Payment.vue +0 -3
- package/src/brand-page/components/payment/request-payment/RequestPayment.mixin.ts +1 -8
- package/src/brand-page/components/payment/request-payment/RequestPayment.vue +1 -2
- package/src/brand-page/components/payment/support-me/SupportMe.vue +0 -3
- package/src/brand-page/components/save-contact/SaveContactWidget.vue +1 -2
- package/src/brand-page/components/shop/Shop.vue +3 -11
- package/src/brand-page/components/social-links/SocialLinks.vue +2 -5
- package/src/brand-page/components/testimonial-section/TestimonialSection.vue +460 -460
- package/src/brand-page/components/text-wrapper/TextWrapper.vue +17 -6
- package/src/brand-page/components/video/Video.vue +0 -3
- package/src/brand-page/composables/consent.composable.ts +4 -18
- package/src/brand-page/models/brand-page-context.model.ts +0 -30
- package/src/brand-page/models/index.ts +35 -26
- package/src/brand-page/utils/__snapshots__/migration.util.test.ts.snap +3 -3
- package/src/brand-page/utils/context.util.ts +0 -10
- package/src/brand-page/utils/migration/migration-20.server.test.ts +125 -0
- package/src/brand-page/utils/migration/migration-20.test.ts +72 -0
- package/src/brand-page/utils/migration/migration-20.ts +87 -0
- package/src/brand-page/utils/migration.util.ts +12 -0
- package/src/brand-page/utils/style.util.test.ts +51 -0
- package/src/brand-page/utils/text.util.test.ts +47 -0
- package/src/brand-page/utils/text.util.ts +43 -4
- package/src/brand-page/utils/vcard.util.ts +6 -4
- package/src/brand-page/utils/view-model.pageid-rte.test.ts +104 -0
- package/src/brand-page/utils/view-model.util.ts +94 -26
- package/src/brand-page/view-models.ts +3 -2
- package/src/brand-page-maker/__fixtures__/complex-rte.fixture.ts +23 -0
- package/src/brand-page-maker/components/action-bar/ActionBar.mixin.ts +0 -15
- package/src/brand-page-maker/components/action-bar/ActionBarNavigation.vue +4 -19
- package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.ts +0 -57
- package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.vue +1 -26
- package/src/brand-page-maker/components/navigation/Navigation.mixin.ts +0 -3
- package/src/brand-page-maker/components/navigation/Navigation.vue +0 -1
- package/src/brand-page-maker/components/rich-text-editor/RichTextEditor.vue +21 -32
- package/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.ts +21 -62
- package/src/brand-page-maker/composables/ai-chat/useAiMetadataBuilder.ts +0 -1
- package/src/brand-page-maker/composables/rich-text-editor/bubbleMenu.ts +6 -10
- package/src/brand-page-maker/composables/rich-text-editor/extensions/FontFamily.test.ts +52 -0
- package/src/brand-page-maker/composables/rich-text-editor/extensions/FontFamily.ts +42 -0
- package/src/brand-page-maker/composables/rich-text-editor/getRteExtensions.ts +162 -0
- package/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.ts +27 -111
- package/src/brand-page-maker/composables/useEventTracker.ts +0 -1
- package/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.ts +8 -49
- package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.ts +3 -11
- package/src/brand-page-maker/stores/ui/ui-store.ts +1 -1
- package/src/brand-page-maker/utils/__snapshots__/rte-render-parity.test.ts.snap +202 -0
- package/src/brand-page-maker/utils/index.ts +2 -0
- package/src/brand-page-maker/utils/rich-text-editor.util.test.ts +37 -3
- package/src/brand-page-maker/utils/rich-text-editor.util.ts +66 -11
- package/src/brand-page-maker/utils/rte-features.test.ts +378 -0
- package/src/brand-page-maker/utils/rte-render-parity.test.ts +164 -0
- package/src/brand-page-maker/utils/rte-render.util.ts +165 -0
- package/src/brand-page-maker/utils/rte-sanitize-json.test.ts +172 -0
- package/src/brand-page-maker/utils/rte-sanitize.util.ts +192 -0
- package/src/brand-page-maker/validators/field.validator.test.ts +55 -0
- package/src/brand-page-maker/validators/field.validator.ts +10 -2
- package/src/bundles/bundled-translations.de-DE.json +0 -5
- package/src/bundles/bundled-translations.es-ES.json +0 -5
- package/src/bundles/bundled-translations.fr-CA.json +0 -5
- package/src/bundles/bundled-translations.fr-FR.json +0 -5
- package/src/bundles/bundled-translations.json +0 -5
- package/src/bundles/bundled-translations.pt-BR.json +0 -5
- package/src/bundles/bundled-translations.pt-PT.json +0 -5
- package/src/clients/brand-page-client.ts +0 -2
- package/src/clients/models.ts +0 -3
- package/src/composables/useTranslate.ts +0 -2
- package/src/constants/brand-page-maker.ts +0 -5
- package/src/lib.ts +10 -6
- package/src/metadata-builder/ai-metadata-executor.ts +0 -26
- package/src/metadata-builder/builders/section-builders/about-section-builder.ts +2 -3
- package/src/metadata-builder/builders/section-builders/banner-section-builder.ts +2 -3
- package/src/metadata-builder/builders/section-builders/booking-section-builder.ts +2 -5
- package/src/metadata-builder/builders/section-builders/contact-form-builder.ts +3 -4
- package/src/metadata-builder/builders/section-builders/images-section-builder.ts +2 -3
- package/src/metadata-builder/builders/section-builders/mailing-list-builder.ts +1 -2
- package/src/metadata-builder/builders/section-builders/mailing-list-section-builder.ts +1 -2
- package/src/metadata-builder/builders/section-builders/profile-section-builder.ts +3 -6
- package/src/metadata-builder/builders/section-builders/shapes-section-builder.ts +2 -3
- package/src/metadata-builder/builders/section-builders/testimonial-section-builder.ts +1 -2
- package/src/metadata-builder/builders/section-builders/text-section-builder.ts +19 -13
- package/src/metadata-builder/helpers/rte.helpers.ts +15 -101
- package/src/metadata-builder/metadata-executor.ts +0 -5
- package/src/metadata-builder/models.ts +0 -3
- package/src/metadata-builder/parsers/ai-toolcall-parser.ts +0 -27
- package/src/metadata-builder/sanitizers/rte-schema-check.ts +24 -53
- package/src/shared/common/i18n/common.de-DE.json +0 -1
- package/src/shared/common/i18n/common.es-ES.json +0 -1
- package/src/shared/common/i18n/common.fr-CA.json +0 -1
- package/src/shared/common/i18n/common.fr-FR.json +0 -1
- package/src/shared/common/i18n/common.json +0 -1
- package/src/shared/common/i18n/common.pt-BR.json +0 -1
- package/src/shared/common/i18n/common.pt-PT.json +0 -1
- package/src/shared/content-settings/components/GenericTextInput.mixin.ts +17 -1
- package/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.ts +16 -3
- package/src/shared/content-settings/components/testimonial-items-field/TestimonialItemsField.mixin.ts +13 -4
- package/src/shared/content-settings/components/testimonial-items-field/TestimonialItemsField.vue +6 -4
- package/src/shared/content-settings/components/text-image-field/TextImageField.vue +6 -3
- package/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.ts +6 -1
- package/src/shared/content-settings/components/text-items-field/TextItemsField.vue +1 -1
- package/src/shared/template-settings/store/template-settings-store.ts +27 -93
- package/src/utils/minify-brand-page-metadata.ts +4 -1
- package/lib/src/brand-page-maker/composables/rich-text-editor/extensions/FontSize.d.ts +0 -20
- package/lib/src/brand-page-maker/composables/rich-text-editor/extensions/FontSize.js +0 -44
- package/lib/src/brand-page-maker/composables/rich-text-editor/extensions/LineHeight.d.ts +0 -27
- package/lib/src/brand-page-maker/composables/rich-text-editor/extensions/LineHeight.js +0 -44
- package/lib/src/bundled-translations-D42tE0D2.js +0 -179
- package/lib/src/bundled-translations.de-DE-D9aWGgFt.js +0 -179
- package/lib/src/bundled-translations.es-ES-lk4B0xQ7.js +0 -179
- package/lib/src/bundled-translations.fr-CA-DhOBNt6q.js +0 -179
- package/lib/src/bundled-translations.fr-FR-CnpafQeG.js +0 -179
- package/lib/src/bundled-translations.pt-BR-C4PnKrd9.js +0 -179
- package/lib/src/bundled-translations.pt-PT-CfKDVQC-.js +0 -179
- package/lib/src/constants/live-preview.constants.d.ts +0 -15
- package/lib/src/constants/live-preview.constants.js +0 -15
- package/lib/src/metadata-builder/builders/update-content-text-builder.d.ts +0 -17
- package/lib/src/metadata-builder/builders/update-content-text-builder.js +0 -103
- package/lib/src/metadata-builder/builders/update-content-text-style-builder.d.ts +0 -16
- package/lib/src/metadata-builder/builders/update-content-text-style-builder.js +0 -216
- package/src/brand-page/utils/context.util.test.ts +0 -43
- package/src/brand-page-maker/components/action-bar/ActionBarNavigation.test.ts +0 -72
- package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.preview-gate.test.ts +0 -48
- package/src/brand-page-maker/components/preview-modal/PreviewModal.test.ts +0 -162
- package/src/brand-page-maker/components/preview-modal/PreviewModal.vue +0 -345
- package/src/brand-page-maker/components/preview-modal/PreviewModalWithState.test.ts +0 -226
- package/src/brand-page-maker/components/preview-modal/PreviewModalWithState.vue +0 -149
- package/src/brand-page-maker/components/preview-modal/i18n/preview-modal.de-DE.json +0 -6
- package/src/brand-page-maker/components/preview-modal/i18n/preview-modal.es-ES.json +0 -6
- package/src/brand-page-maker/components/preview-modal/i18n/preview-modal.fr-CA.json +0 -6
- package/src/brand-page-maker/components/preview-modal/i18n/preview-modal.fr-FR.json +0 -6
- package/src/brand-page-maker/components/preview-modal/i18n/preview-modal.json +0 -6
- package/src/brand-page-maker/components/preview-modal/i18n/preview-modal.pt-BR.json +0 -6
- package/src/brand-page-maker/components/preview-modal/i18n/preview-modal.pt-PT.json +0 -6
- package/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.test.ts +0 -135
- package/src/brand-page-maker/composables/rich-text-editor/extensions/FontSize.ts +0 -73
- package/src/brand-page-maker/composables/rich-text-editor/extensions/LineHeight.ts +0 -85
- package/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.save.test.ts +0 -106
- package/src/constants/live-preview.constants.ts +0 -15
- package/src/metadata-builder/builders/update-content-text-builder.ts +0 -148
- package/src/metadata-builder/builders/update-content-text-style-builder.ts +0 -352
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { defineComponent } from 'vue';
|
|
2
2
|
import { FORM_FIELD_TYPES } from '@brand-page/models';
|
|
3
|
-
import { getEmailValidationError, getMessageValidationError, getNameValidationError, getPhoneValidationError,
|
|
3
|
+
import { getEmailValidationError, getMessageValidationError, getNameValidationError, getPhoneValidationError, } from '@brand-page/utils';
|
|
4
4
|
import { isDecorativeButtonStyle } from '../../utils/button.util';
|
|
5
5
|
import brandPageClient from '../../clients/brand-page.client';
|
|
6
6
|
import { isEmail } from '../../../utils/validator.util';
|
|
7
7
|
import { ALIGN_CARD_CENTER, ALIGN_CARD_CENTER_IMAGE, ALIGN_CENTERED, ALIGN_LEFT_FULL_IMAGE, ALIGN_RIGHT_FULL_IMAGE, DISPLAY_STYLE_COLLAPSED, RECAPTCHA_ACTION_CONTACT_FORM, TEXT_ONLY, } from '../../constants';
|
|
8
8
|
import { getRenderText, contentPaddingStyle as toContentPaddingStyle, mutedTextForBackground, backgroundColorFromStyle, } from '@brand-page/utils';
|
|
9
|
-
import { hasRTEContent } from '@brand-page-maker/utils';
|
|
9
|
+
import { hasRTEContent, getPlainTextFromRTE } from '@brand-page-maker/utils';
|
|
10
10
|
import { useReCaptcha } from '../../composables/recaptcha.composable';
|
|
11
11
|
export default defineComponent({
|
|
12
12
|
props: {
|
|
@@ -120,7 +120,10 @@ export default defineComponent({
|
|
|
120
120
|
isEmail(this.viewModel.responseEmail));
|
|
121
121
|
},
|
|
122
122
|
title() {
|
|
123
|
-
|
|
123
|
+
// BP-5787: title may be RTE JSON (not a string), so `.trim()` would
|
|
124
|
+
// throw — read the visible text via getPlainTextFromRTE to decide
|
|
125
|
+
// whether to fall back to the default.
|
|
126
|
+
return getPlainTextFromRTE(this.viewModel.title)
|
|
124
127
|
? this.viewModel.title
|
|
125
128
|
: 'Contact Us';
|
|
126
129
|
},
|
|
@@ -193,9 +196,7 @@ export default defineComponent({
|
|
|
193
196
|
}));
|
|
194
197
|
},
|
|
195
198
|
mounted() {
|
|
196
|
-
if (this.context?.recaptchaSiteKey &&
|
|
197
|
-
!isPreviewMode(this.context) &&
|
|
198
|
-
this.recaptcha) {
|
|
199
|
+
if (this.context?.recaptchaSiteKey && !this.isPreview && this.recaptcha) {
|
|
199
200
|
this.recaptcha.initialise({ siteKey: this.context.recaptchaSiteKey });
|
|
200
201
|
}
|
|
201
202
|
},
|
|
@@ -205,7 +206,7 @@ export default defineComponent({
|
|
|
205
206
|
if (this.hasFormError) {
|
|
206
207
|
return;
|
|
207
208
|
}
|
|
208
|
-
if (
|
|
209
|
+
if (this.isPreview || !this.context.brandPageToken) {
|
|
209
210
|
if (process.env.NODE_ENV !== 'production' &&
|
|
210
211
|
!this.context.brandPageSlug) {
|
|
211
212
|
console.error('brandPageToken is not defined');
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent } from 'vue';
|
|
2
2
|
import brandPageClient from '../../clients/brand-page.client';
|
|
3
|
-
import { getEmailValidationError, contentPaddingStyle as toContentPaddingStyle,
|
|
3
|
+
import { getEmailValidationError, contentPaddingStyle as toContentPaddingStyle, mutedTextForBackground, backgroundColorFromStyle, } from '@brand-page/utils';
|
|
4
4
|
import { contentSettingsTr, mailingListTr, } from '@src/composables/useTranslate';
|
|
5
5
|
import { useReCaptcha } from '../../composables/recaptcha.composable';
|
|
6
6
|
import { RECAPTCHA_ACTION_MAILING_LIST } from '../../constants';
|
|
@@ -46,9 +46,7 @@ export default defineComponent({
|
|
|
46
46
|
},
|
|
47
47
|
mounted() {
|
|
48
48
|
this.show = true;
|
|
49
|
-
if (this.context?.recaptchaSiteKey &&
|
|
50
|
-
!isPreviewMode(this.context) &&
|
|
51
|
-
this.recaptcha) {
|
|
49
|
+
if (this.context?.recaptchaSiteKey && !this.isPreview && this.recaptcha) {
|
|
52
50
|
this.recaptcha.initialise({ siteKey: this.context.recaptchaSiteKey });
|
|
53
51
|
}
|
|
54
52
|
},
|
|
@@ -105,7 +103,7 @@ export default defineComponent({
|
|
|
105
103
|
},
|
|
106
104
|
isFormDisabled() {
|
|
107
105
|
return (this.hasFormError ||
|
|
108
|
-
|
|
106
|
+
this.isPreview ||
|
|
109
107
|
!this.brandPageToken ||
|
|
110
108
|
this.isSubmitting);
|
|
111
109
|
},
|
|
@@ -127,7 +125,7 @@ export default defineComponent({
|
|
|
127
125
|
if (this.hasFormError) {
|
|
128
126
|
return;
|
|
129
127
|
}
|
|
130
|
-
if (
|
|
128
|
+
if (this.isPreview || !this.brandPageToken) {
|
|
131
129
|
return;
|
|
132
130
|
}
|
|
133
131
|
this.isSubmitting = true;
|
|
@@ -20,7 +20,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
20
20
|
default: boolean;
|
|
21
21
|
};
|
|
22
22
|
}>, {}, {}, {
|
|
23
|
-
isInPreviewMode(): boolean;
|
|
24
23
|
containerStyle(): BrandPageCssStyle;
|
|
25
24
|
socialLinksIconStyle(): BrandPageCssStyle;
|
|
26
25
|
isDisplayStyleCentered(): boolean;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent } from 'vue';
|
|
2
|
-
import { getRenderText
|
|
2
|
+
import { getRenderText } from '@brand-page/utils';
|
|
3
3
|
import { FOOTER_DISPLAY } from '../../constants';
|
|
4
4
|
export default defineComponent({
|
|
5
5
|
props: {
|
|
@@ -23,9 +23,6 @@ export default defineComponent({
|
|
|
23
23
|
},
|
|
24
24
|
emits: ['on-logo-click', 'footer-container-click'],
|
|
25
25
|
computed: {
|
|
26
|
-
isInPreviewMode() {
|
|
27
|
-
return isPreviewMode(this.context);
|
|
28
|
-
},
|
|
29
26
|
containerStyle() {
|
|
30
27
|
return this.viewModel.backgroundStyle;
|
|
31
28
|
},
|
|
@@ -2,7 +2,6 @@ import { defineComponent } from 'vue';
|
|
|
2
2
|
import brandPageClient from '../../clients/brand-page.client';
|
|
3
3
|
import { DISPLAY_STYLE_COLLAPSED, DISPLAY_STYLE_PREVIEW, paymentProviders, } from '../../constants';
|
|
4
4
|
import raygunUtil from '@brand-page/utils/raygun.util';
|
|
5
|
-
import { isPreviewMode } from '@brand-page/utils';
|
|
6
5
|
import { paymentTr } from '@src/composables/useTranslate';
|
|
7
6
|
const DEFAULT_PAYMENT_SUCCESS_MESSAGE = paymentTr(`defaultPaymentSuccessMessage`);
|
|
8
7
|
const PAYMENT_CONFIG_ACTIVE = 'Active';
|
|
@@ -61,10 +60,10 @@ export default defineComponent({
|
|
|
61
60
|
}
|
|
62
61
|
},
|
|
63
62
|
canMakePayment() {
|
|
64
|
-
return !
|
|
63
|
+
return !this.context.isPreview && this.isPaymentConfigActive;
|
|
65
64
|
},
|
|
66
65
|
showPaymentBlock() {
|
|
67
|
-
return
|
|
66
|
+
return this.context.isPreview || this.isPaymentConfigActive;
|
|
68
67
|
},
|
|
69
68
|
paymentOptions() {
|
|
70
69
|
return this.paymentConfig.paymentOptions;
|
|
@@ -148,7 +147,7 @@ export default defineComponent({
|
|
|
148
147
|
this.state = paymentConfigId
|
|
149
148
|
? paymentState.PaymentOptionSelection
|
|
150
149
|
: paymentState.IncompleteConfig;
|
|
151
|
-
if (
|
|
150
|
+
if (this.context.isPreview || !paymentConfigId) {
|
|
152
151
|
return;
|
|
153
152
|
}
|
|
154
153
|
try {
|
|
@@ -2,7 +2,7 @@ import { defineComponent } from 'vue';
|
|
|
2
2
|
import { PAYMENT_OPTION_DISPLAY_TYPES, PAYMENT_OPTION_IMAGE_TYPES, } from '../../../models';
|
|
3
3
|
import { DEFAULT_CURRENCY_SYMBOL } from '../../../constants';
|
|
4
4
|
import { addOpacityToHex } from '../../../utils/color.util';
|
|
5
|
-
import { contentPaddingStyle as toContentPaddingStyle
|
|
5
|
+
import { contentPaddingStyle as toContentPaddingStyle } from '../../../utils';
|
|
6
6
|
import { RGBAtoHex } from '@utils/helpers';
|
|
7
7
|
const MAX_CUSTOM_REQUEST_CHARS = 500;
|
|
8
8
|
export default defineComponent({
|
|
@@ -29,9 +29,6 @@ export default defineComponent({
|
|
|
29
29
|
};
|
|
30
30
|
},
|
|
31
31
|
computed: {
|
|
32
|
-
isInPreviewMode() {
|
|
33
|
-
return isPreviewMode(this.context);
|
|
34
|
-
},
|
|
35
32
|
contentPaddingStyle() {
|
|
36
33
|
return toContentPaddingStyle(this.viewModel);
|
|
37
34
|
},
|
|
@@ -4,10 +4,8 @@ export declare const useConsent: () => {
|
|
|
4
4
|
updateConsent: import("vue").Ref<(c: ConsentType) => void, (c: ConsentType) => void>;
|
|
5
5
|
featureEnabled: import("vue").Ref<boolean, boolean>;
|
|
6
6
|
showConsentModal: import("vue").Ref<boolean, boolean>;
|
|
7
|
-
persist: import("vue").Ref<boolean, boolean>;
|
|
8
7
|
initialise: (options: {
|
|
9
8
|
featureEnabled: boolean;
|
|
10
|
-
persist?: boolean;
|
|
11
9
|
}) => ConsentType;
|
|
12
10
|
grant: (cb?: () => unknown) => void;
|
|
13
11
|
deny: (cb?: () => unknown) => void;
|
|
@@ -28,7 +28,6 @@ const store = reactive({
|
|
|
28
28
|
consent: undefined,
|
|
29
29
|
featureEnabled: false,
|
|
30
30
|
showConsentModal: false,
|
|
31
|
-
persist: true,
|
|
32
31
|
updateConsent(c) {
|
|
33
32
|
this.consent = c;
|
|
34
33
|
},
|
|
@@ -39,8 +38,7 @@ export const useConsent = () => {
|
|
|
39
38
|
return undefined;
|
|
40
39
|
}
|
|
41
40
|
store.featureEnabled = options.featureEnabled;
|
|
42
|
-
store.
|
|
43
|
-
store.consent = store.persist ? getStoredConsent() : undefined;
|
|
41
|
+
store.consent = getStoredConsent();
|
|
44
42
|
store.showConsentModal =
|
|
45
43
|
options.featureEnabled && !accepted.value && !declined.value;
|
|
46
44
|
return store.consent;
|
|
@@ -48,17 +46,13 @@ export const useConsent = () => {
|
|
|
48
46
|
const accepted = computed(() => Boolean(store.consent && store.consent === 'granted'));
|
|
49
47
|
const declined = computed(() => Boolean(store.consent && store.consent === 'denied'));
|
|
50
48
|
const grant = (cb) => {
|
|
51
|
-
|
|
52
|
-
storeConsent('granted');
|
|
53
|
-
}
|
|
49
|
+
storeConsent('granted');
|
|
54
50
|
store.updateConsent('granted');
|
|
55
51
|
store.showConsentModal = store.featureEnabled && !accepted.value;
|
|
56
52
|
cb && cb();
|
|
57
53
|
};
|
|
58
54
|
const deny = (cb) => {
|
|
59
|
-
|
|
60
|
-
storeConsent('denied');
|
|
61
|
-
}
|
|
55
|
+
storeConsent('denied');
|
|
62
56
|
store.updateConsent('denied');
|
|
63
57
|
store.showConsentModal = false;
|
|
64
58
|
cb && cb();
|
|
@@ -37,8 +37,6 @@ export interface AbTestResult {
|
|
|
37
37
|
export interface AbTest {
|
|
38
38
|
bp_3926_freemium_watermark?: AbTestResult;
|
|
39
39
|
bp_5245_ai_website_assistant?: AbTestResult;
|
|
40
|
-
bp_5873_live_preview_prepurchase?: AbTestResult;
|
|
41
|
-
bp_5873_live_preview_postpurchase?: AbTestResult;
|
|
42
40
|
}
|
|
43
41
|
export declare const MEDIA_SIZES: {
|
|
44
42
|
readonly size1x: "size1x";
|
|
@@ -49,13 +47,6 @@ export type MediaSizes = keyof typeof MEDIA_SIZES;
|
|
|
49
47
|
export interface BrandPageContext {
|
|
50
48
|
isTemplate: boolean;
|
|
51
49
|
isPreview: boolean;
|
|
52
|
-
/**
|
|
53
|
-
* Rendered as a customer-facing live preview (safe/inert actions, no
|
|
54
|
-
* watermark, ephemeral consent). Distinct from the editor `isPreview`, which
|
|
55
|
-
* also drives editor/thumbnail-only behaviour. Use `isPreviewMode()` to gate
|
|
56
|
-
* inert-action behaviour that applies to both.
|
|
57
|
-
*/
|
|
58
|
-
isLivePreview?: boolean;
|
|
59
50
|
/** @deprecated should be used on maker only */
|
|
60
51
|
isMobile?: boolean;
|
|
61
52
|
isDesignCom: boolean;
|
|
@@ -25,11 +25,6 @@ export const AB_TEST_FLAG = {
|
|
|
25
25
|
const AB_TEST_KEYS = {
|
|
26
26
|
BP_3926_FREEMIUM_WATERMARK: 'bc-bp-3926-freemium-cta-in-website-editor',
|
|
27
27
|
BP_5245_AI_WEBSITE_ASSISTANT: 'bc-bp-5245-ai-website-assistant-postpurchase',
|
|
28
|
-
// Two separate live-preview experiments — bc-net sends only the one for the
|
|
29
|
-
// current purchase state, and a user's value on each side is independent
|
|
30
|
-
// (BP-5873). Keys must match `CampaignNames.LivePreview*Test` in bc-net.
|
|
31
|
-
BP_5873_LIVE_PREVIEW_PREPURCHASE: 'bc-bp-5873-live-preview-prepurchase',
|
|
32
|
-
BP_5873_LIVE_PREVIEW_POSTPURCHASE: 'bc-bp-5873-live-preview-postpurchase',
|
|
33
28
|
};
|
|
34
29
|
export const MEDIA_SIZES = {
|
|
35
30
|
size1x: 'size1x',
|
|
@@ -55,12 +50,5 @@ export const getAbTestResults = (abtestKeyValues) => {
|
|
|
55
50
|
if (abtestKeyValues[AB_TEST_KEYS.BP_5245_AI_WEBSITE_ASSISTANT]) {
|
|
56
51
|
abTests.bp_5245_ai_website_assistant = getValueType(AB_TEST_KEYS.BP_5245_AI_WEBSITE_ASSISTANT, abtestKeyValues[AB_TEST_KEYS.BP_5245_AI_WEBSITE_ASSISTANT]);
|
|
57
52
|
}
|
|
58
|
-
// AB Test for BP-5873 - Live preview (pre- and post-purchase run separately)
|
|
59
|
-
if (abtestKeyValues[AB_TEST_KEYS.BP_5873_LIVE_PREVIEW_PREPURCHASE]) {
|
|
60
|
-
abTests.bp_5873_live_preview_prepurchase = getValueType(AB_TEST_KEYS.BP_5873_LIVE_PREVIEW_PREPURCHASE, abtestKeyValues[AB_TEST_KEYS.BP_5873_LIVE_PREVIEW_PREPURCHASE]);
|
|
61
|
-
}
|
|
62
|
-
if (abtestKeyValues[AB_TEST_KEYS.BP_5873_LIVE_PREVIEW_POSTPURCHASE]) {
|
|
63
|
-
abTests.bp_5873_live_preview_postpurchase = getValueType(AB_TEST_KEYS.BP_5873_LIVE_PREVIEW_POSTPURCHASE, abtestKeyValues[AB_TEST_KEYS.BP_5873_LIVE_PREVIEW_POSTPURCHASE]);
|
|
64
|
-
}
|
|
65
53
|
return abTests;
|
|
66
54
|
};
|
|
@@ -7,6 +7,14 @@ import { TextStyles } from './styles.model';
|
|
|
7
7
|
import { LogoStyles } from './logo.model';
|
|
8
8
|
import type { LogoImageModel, LogoTemplateImageModel } from './logo.model';
|
|
9
9
|
import type { BrandPagePaymentConfig } from './payment.model';
|
|
10
|
+
import type { JSONContent } from '@tiptap/vue-3';
|
|
11
|
+
/**
|
|
12
|
+
* BP-5787 — a rich-text field is either a legacy inline-HTML string or a
|
|
13
|
+
* Tiptap JSON document. Typing RTE content fields as RichTextValue (instead of
|
|
14
|
+
* `string`) forces every consumer to handle both forms — surfacing at compile
|
|
15
|
+
* time any code that assumes a plain string (e.g. `.replace`, `.length`).
|
|
16
|
+
*/
|
|
17
|
+
export type RichTextValue = string | JSONContent;
|
|
10
18
|
export * from './brand-page-context.model';
|
|
11
19
|
export * from './payment.model';
|
|
12
20
|
export * from './content.model';
|
|
@@ -148,7 +156,7 @@ export interface TextContent extends Content {
|
|
|
148
156
|
/**
|
|
149
157
|
* For BrandPage/BrandContact only
|
|
150
158
|
*/
|
|
151
|
-
text:
|
|
159
|
+
text: RichTextValue;
|
|
152
160
|
/**
|
|
153
161
|
* For BrandSite
|
|
154
162
|
*/
|
|
@@ -171,9 +179,9 @@ export interface TextContent extends Content {
|
|
|
171
179
|
}
|
|
172
180
|
export interface ProfileContent extends Content {
|
|
173
181
|
avatarImageUrl: string;
|
|
174
|
-
name:
|
|
175
|
-
title:
|
|
176
|
-
description:
|
|
182
|
+
name: RichTextValue;
|
|
183
|
+
title: RichTextValue;
|
|
184
|
+
description: RichTextValue;
|
|
177
185
|
backgroundColor: BrandPageCssStyle;
|
|
178
186
|
colorReplacements: ColorReplacement[];
|
|
179
187
|
mediaType?: string;
|
|
@@ -191,7 +199,7 @@ export interface MapContent extends Content {
|
|
|
191
199
|
}
|
|
192
200
|
export interface MailingListContent extends Content {
|
|
193
201
|
acceptedFields?: 'emailOnly' | 'nameAndEmail';
|
|
194
|
-
title:
|
|
202
|
+
title: RichTextValue;
|
|
195
203
|
buttonText: string;
|
|
196
204
|
titleStyle: TextStyleDeclaration;
|
|
197
205
|
buttonTextStyle: TextStyleDeclaration;
|
|
@@ -243,10 +251,10 @@ export interface FormField {
|
|
|
243
251
|
export interface ContactFormContent extends Content {
|
|
244
252
|
type: 'contact-form';
|
|
245
253
|
displayStyle: string;
|
|
246
|
-
title:
|
|
247
|
-
description:
|
|
254
|
+
title: RichTextValue;
|
|
255
|
+
description: RichTextValue;
|
|
248
256
|
buttonText: string;
|
|
249
|
-
successMessage:
|
|
257
|
+
successMessage: RichTextValue;
|
|
250
258
|
fields: FormField[];
|
|
251
259
|
responseEmail: string;
|
|
252
260
|
imageUrl?: string;
|
|
@@ -265,8 +273,8 @@ export interface ContactFormContent extends Content {
|
|
|
265
273
|
export interface BannerSectionContent extends Content {
|
|
266
274
|
type: 'banner-section';
|
|
267
275
|
imageUrl: string;
|
|
268
|
-
title:
|
|
269
|
-
description:
|
|
276
|
+
title: RichTextValue;
|
|
277
|
+
description: RichTextValue;
|
|
270
278
|
buttonText: string | false;
|
|
271
279
|
url: string;
|
|
272
280
|
email?: string;
|
|
@@ -293,8 +301,8 @@ export declare const MEDIA_TYPES: {
|
|
|
293
301
|
};
|
|
294
302
|
export type MediaType = keyof typeof MEDIA_TYPES;
|
|
295
303
|
export interface TextMediaItem extends ImageItem {
|
|
296
|
-
title:
|
|
297
|
-
paragraph:
|
|
304
|
+
title: RichTextValue;
|
|
305
|
+
paragraph: RichTextValue;
|
|
298
306
|
itemsId: number;
|
|
299
307
|
buttonText?: string | false;
|
|
300
308
|
buttonPageId?: string;
|
|
@@ -313,8 +321,8 @@ export interface TextShapeItem extends TextMediaItem {
|
|
|
313
321
|
export interface ShapeItem extends ImageItem {
|
|
314
322
|
colorReplacements: ColorReplacement[];
|
|
315
323
|
mediaType: MediaType;
|
|
316
|
-
title?:
|
|
317
|
-
paragraph?:
|
|
324
|
+
title?: RichTextValue;
|
|
325
|
+
paragraph?: RichTextValue;
|
|
318
326
|
titleOverride?: string;
|
|
319
327
|
paragraphOverride?: string;
|
|
320
328
|
}
|
|
@@ -322,9 +330,9 @@ export interface TestimonialItems {
|
|
|
322
330
|
/** Stable per-item identifier. See ImageItem.id. */
|
|
323
331
|
id: string;
|
|
324
332
|
imageUrl: string;
|
|
325
|
-
name:
|
|
326
|
-
position:
|
|
327
|
-
testimonials:
|
|
333
|
+
name: RichTextValue;
|
|
334
|
+
position: RichTextValue;
|
|
335
|
+
testimonials: RichTextValue;
|
|
328
336
|
colorReplacements: ColorReplacement[];
|
|
329
337
|
mediaType: string;
|
|
330
338
|
size?: string;
|
|
@@ -337,7 +345,7 @@ export interface TestimonialItems {
|
|
|
337
345
|
export interface TextItem {
|
|
338
346
|
/** Stable per-item identifier. See ImageItem.id. */
|
|
339
347
|
id: string;
|
|
340
|
-
text:
|
|
348
|
+
text: RichTextValue;
|
|
341
349
|
textStyle: TextStyleDeclaration;
|
|
342
350
|
textOverride?: string;
|
|
343
351
|
}
|
|
@@ -354,8 +362,8 @@ export interface ImagesSectionContent extends Content, MediaSection {
|
|
|
354
362
|
enablePopup: boolean;
|
|
355
363
|
}
|
|
356
364
|
export interface MediaSection extends Content {
|
|
357
|
-
title:
|
|
358
|
-
description:
|
|
365
|
+
title: RichTextValue;
|
|
366
|
+
description: RichTextValue;
|
|
359
367
|
displayStyle: ImagesSectionContentDisplayStyle;
|
|
360
368
|
items: TextShapeItem[] | TextMediaItem[];
|
|
361
369
|
titleStyle: TextStyleDeclaration;
|
|
@@ -372,7 +380,7 @@ export interface ColorReplacement {
|
|
|
372
380
|
}
|
|
373
381
|
export interface TestimonialSectionContent extends Content {
|
|
374
382
|
type: 'testimonial-section';
|
|
375
|
-
title:
|
|
383
|
+
title: RichTextValue;
|
|
376
384
|
displayStyle: string;
|
|
377
385
|
items: TestimonialItems[];
|
|
378
386
|
titleStyle: TextStyleDeclaration;
|
|
@@ -386,8 +394,8 @@ export interface TestimonialSectionContent extends Content {
|
|
|
386
394
|
export interface AboutSectionContent extends Content {
|
|
387
395
|
type: 'about-section';
|
|
388
396
|
imageUrl: string;
|
|
389
|
-
title:
|
|
390
|
-
paragraph:
|
|
397
|
+
title: RichTextValue;
|
|
398
|
+
paragraph: RichTextValue;
|
|
391
399
|
displayStyle: string;
|
|
392
400
|
titleStyle: TextStyleDeclaration;
|
|
393
401
|
paragraphStyle: TextStyleDeclaration;
|
|
@@ -411,7 +419,7 @@ export declare const SOCIAL_LINKS_ICON_DISPLAY_STYLES: {
|
|
|
411
419
|
export type SocialLinksIconDisplayStyle = keyof typeof SOCIAL_LINKS_ICON_DISPLAY_STYLES;
|
|
412
420
|
export interface SocialLinksContent extends Content {
|
|
413
421
|
type: 'social-links';
|
|
414
|
-
title:
|
|
422
|
+
title: RichTextValue;
|
|
415
423
|
links: LinksItem[];
|
|
416
424
|
iconDisplayStyle: SocialLinksIconDisplayStyle;
|
|
417
425
|
iconFillStyles: BrandPageCssStyle;
|
|
@@ -434,8 +442,8 @@ export interface DividerSectionContent extends Content {
|
|
|
434
442
|
}
|
|
435
443
|
export interface BookingSectionContent extends Content {
|
|
436
444
|
type: 'booking-section';
|
|
437
|
-
title:
|
|
438
|
-
description:
|
|
445
|
+
title: RichTextValue;
|
|
446
|
+
description: RichTextValue;
|
|
439
447
|
buttonText: string;
|
|
440
448
|
url: string;
|
|
441
449
|
email?: string;
|
|
@@ -1,10 +1,2 @@
|
|
|
1
1
|
import type { BrandPageContext } from '../models';
|
|
2
2
|
export declare const getSlugFromContext: (context: BrandPageContext) => string;
|
|
3
|
-
/**
|
|
4
|
-
* True when interactive actions must be inert and payment/shop blocks always
|
|
5
|
-
* shown — i.e. the render is a preview, not a live site. Covers both the
|
|
6
|
-
* editor preview (`isPreview`) and the customer live-preview
|
|
7
|
-
* (`isLivePreview`). Editor-only artifacts (cursor, nav interception,
|
|
8
|
-
* placeholders) must keep reading `context.isPreview` directly.
|
|
9
|
-
*/
|
|
10
|
-
export declare const isPreviewMode: (context: BrandPageContext) => boolean;
|
|
@@ -4,11 +4,3 @@ export const getSlugFromContext = (context) => {
|
|
|
4
4
|
}
|
|
5
5
|
return context.brandPageSlug;
|
|
6
6
|
};
|
|
7
|
-
/**
|
|
8
|
-
* True when interactive actions must be inert and payment/shop blocks always
|
|
9
|
-
* shown — i.e. the render is a preview, not a live site. Covers both the
|
|
10
|
-
* editor preview (`isPreview`) and the customer live-preview
|
|
11
|
-
* (`isLivePreview`). Editor-only artifacts (cursor, nav interception,
|
|
12
|
-
* placeholders) must keep reading `context.isPreview` directly.
|
|
13
|
-
*/
|
|
14
|
-
export const isPreviewMode = (context) => !!(context.isPreview || context.isLivePreview);
|