@designcrowd/library.brand-page 5.19.0 → 5.19.1-error-html2canvas-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-DsoA9hc-.js → CreatedOnBrandCrowd-de-de-DmKe7W8L.js} +3 -3
- package/lib/src/{CreatedOnBrandCrowd-en-us-BP6NEQ66.js → CreatedOnBrandCrowd-en-us-D2EeiNep.js} +3 -3
- package/lib/src/{CreatedOnBrandCrowd-es-es-D424uM1Z.js → CreatedOnBrandCrowd-es-es-BqVwNY1D.js} +3 -3
- package/lib/src/{CreatedOnBrandCrowd-fr-fr-CJvuLTkB.js → CreatedOnBrandCrowd-fr-ca-C756a27-.js} +3 -3
- package/lib/src/{CreatedOnBrandCrowd-fr-ca-CJvuLTkB.js → CreatedOnBrandCrowd-fr-fr-C756a27-.js} +3 -3
- package/lib/src/{CreatedOnBrandCrowd-pt-pt-Cc9L314u.js → CreatedOnBrandCrowd-pt-br-FNHAnZUw.js} +3 -3
- package/lib/src/{CreatedOnBrandCrowd-pt-br-Cc9L314u.js → CreatedOnBrandCrowd-pt-pt-FNHAnZUw.js} +3 -3
- package/lib/src/{CreatedOnDcom-de-de-CX-295FH.js → CreatedOnDcom-de-de-8AZZFmDt.js} +3 -3
- package/lib/src/{CreatedOnDcom-en-us-UFlORUgZ.js → CreatedOnDcom-en-us-DizTP32i.js} +3 -3
- package/lib/src/{CreatedOnDcom-es-es-D1tRpcq9.js → CreatedOnDcom-es-es-qnp9_n_A.js} +3 -3
- package/lib/src/{CreatedOnDcom-fr-ca-Dz_ry9uY.js → CreatedOnDcom-fr-ca-jUs352uK.js} +3 -3
- package/lib/src/{CreatedOnDcom-fr-fr-8Ydu6b1T.js → CreatedOnDcom-fr-fr-CTxXtHyk.js} +3 -3
- package/lib/src/{CreatedOnDcom-pt-br-COwvw5k4.js → CreatedOnDcom-pt-br-nQHj8P7d.js} +3 -3
- package/lib/src/{CreatedOnDcom-pt-pt-CB72-eaa.js → CreatedOnDcom-pt-pt-DJmVYQuL.js} +3 -3
- package/lib/src/brand-page/clients/brand-page.client.d.ts +9 -9
- package/lib/src/brand-page/components/{testimonial-section/TestimonialSection.mixin.d.ts → banner-section/BannerSection.mixin.d.ts} +43 -37
- package/lib/src/brand-page/components/banner-section/BannerSection.mixin.js +178 -0
- package/lib/src/brand-page/components/contact-form/ContactForm.mixin.d.ts +4 -0
- package/lib/src/brand-page/components/contact-form/ContactForm.mixin.js +8 -4
- package/lib/src/brand-page/components/image-gallery/ImageGallery.mixin.d.ts +4 -0
- package/lib/src/brand-page/components/image-gallery/ImageGallery.mixin.js +4 -0
- package/lib/src/brand-page/components/image-gallery/masonry/MasonryGallery.mixin.d.ts +0 -1
- package/lib/src/brand-page/components/mailing-list/MailingList.mixin.d.ts +4 -0
- package/lib/src/brand-page/components/mailing-list/MailingList.mixin.js +4 -1
- package/lib/src/brand-page/components/navigation/hamburger/HamburgerNavigation.mixin.d.ts +4 -2
- package/lib/src/brand-page/components/navigation/hamburger/HamburgerNavigation.mixin.js +1 -0
- package/lib/src/brand-page/components/navigation/navigation-side-menu/NavigationSideMenu.mixin.d.ts +4 -2
- package/lib/src/brand-page/components/navigation/navigation-side-menu/NavigationSideMenu.mixin.js +5 -4
- package/lib/src/brand-page/components/page/Page.mixin.d.ts +1 -1
- package/lib/src/brand-page/components/page/PageComponent.mixin.d.ts +1 -1
- package/lib/src/brand-page/components/payment/Payment.mixin.d.ts +3 -3
- package/lib/src/brand-page/components/payment/__fixtures__/request-payment.d.ts +13 -13
- package/lib/src/brand-page/components/payment/__fixtures__/support-me.d.ts +13 -13
- package/lib/src/brand-page/components/payment/request-payment/RequestPayment.mixin.d.ts +4 -0
- package/lib/src/brand-page/components/payment/request-payment/RequestPayment.mixin.js +4 -0
- package/lib/src/brand-page/components/payment/support-me/SupportMe.mixin.d.ts +4 -0
- package/lib/src/brand-page/components/payment/support-me/SupportMe.mixin.js +4 -1
- package/lib/src/brand-page/components/video/Video.mixin.d.ts +4 -0
- package/lib/src/brand-page/components/video/Video.mixin.js +4 -0
- package/lib/src/brand-page/constants/font.constants.d.ts +4 -4
- package/lib/src/brand-page/constants/font.constants.js +4 -4
- package/lib/src/brand-page/constants/misc.constants.d.ts +35 -0
- package/lib/src/brand-page/constants/misc.constants.js +51 -0
- package/lib/src/brand-page/constants/sections/footer-display.constants.js +1 -1
- package/lib/src/brand-page/models/content.model.d.ts +2 -0
- package/lib/src/brand-page/models/index.d.ts +2 -1
- package/lib/src/brand-page/models/index.js +3 -0
- package/lib/src/brand-page/models/payment.model.d.ts +1 -1
- package/lib/src/brand-page/utils/content-padding.util.d.ts +13 -0
- package/lib/src/brand-page/utils/content-padding.util.js +10 -0
- package/lib/src/brand-page/utils/index.d.ts +1 -0
- package/lib/src/brand-page/utils/index.js +1 -0
- package/lib/src/brand-page/utils/migration/migration-17.d.ts +2 -0
- package/lib/src/brand-page/utils/migration/migration-17.js +60 -0
- package/lib/src/brand-page/utils/migration.util.js +10 -0
- package/lib/src/brand-page/utils/personalisation.util.js +72 -14
- package/lib/src/brand-page-maker/components/action-bar/ActionBar.mixin.d.ts +21 -19
- package/lib/src/brand-page-maker/components/action-bar/ActionBar.mixin.js +1 -0
- package/lib/src/brand-page-maker/components/admin-background-settings/AdminBackgroundSettings.mixin.d.ts +16 -10
- package/lib/src/brand-page-maker/components/admin-logo-settings/AdminLogoSettings.mixin.d.ts +5 -3
- package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.d.ts +193 -170
- package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.js +3 -0
- package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.stories.js +1 -0
- package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMakerTemplateSettings.mixin.d.ts +12 -12
- package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMakerTemplateSettings.stories.js +2 -2
- package/lib/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-payment.js +0 -7
- package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +162 -149
- package/lib/src/brand-page-maker/components/brandpage-settings/ReplaceImageSettingsForBrandPageSettings.mixin.d.ts +21 -21
- package/lib/src/brand-page-maker/components/brandpage-settings/ReplaceImageSettingsForBrandPageSettings.mixin.js +1 -1
- package/lib/src/brand-page-maker/components/color-picker/components/ColorModeSelect.mixin.d.ts +4 -2
- package/lib/src/brand-page-maker/components/color-picker/components/ColorModeSelect.mixin.js +1 -0
- package/lib/src/brand-page-maker/components/color-picker/components/GradientColorSlider.mixin.d.ts +4 -2
- package/lib/src/brand-page-maker/components/color-picker/components/GradientColorSlider.mixin.js +1 -0
- package/lib/src/brand-page-maker/components/color-picker/components/GradientColorSliderHandler.mixin.d.ts +5 -2
- package/lib/src/brand-page-maker/components/color-picker/components/GradientColorSliderHandler.mixin.js +1 -0
- package/lib/src/brand-page-maker/components/color-picker/components/GradientTypeSelector.mixin.d.ts +4 -2
- package/lib/src/brand-page-maker/components/color-picker/components/GradientTypeSelector.mixin.js +1 -0
- package/lib/src/brand-page-maker/components/device/Device.mixin.d.ts +4 -2
- package/lib/src/brand-page-maker/components/device/Device.mixin.js +1 -0
- package/lib/src/brand-page-maker/components/navigation/Navigation.mixin.d.ts +4 -2
- package/lib/src/brand-page-maker/components/navigation/Navigation.mixin.js +1 -0
- package/lib/src/brand-page-maker/components/preview/Preview.mixin.d.ts +3 -3
- package/lib/src/brand-page-maker/components/quick-link-bar/QuickLinkBar.mixin.d.ts +11 -11
- package/lib/src/brand-page-maker/components/seo-settings/SeoPageSettings.mixin.d.ts +27 -25
- package/lib/src/brand-page-maker/components/seo-settings/SeoPageSettings.mixin.js +1 -0
- package/lib/src/brand-page-maker/components/seo-settings/UrlSettings.mixin.d.ts +27 -27
- package/lib/src/brand-page-maker/components/seo-settings/UrlSettings.mixin.js +1 -1
- package/lib/src/brand-page-maker/components/seo-settings/UseExistingDomainModal.mixin.d.ts +17 -12
- package/lib/src/brand-page-maker/components/social-share/SocialShare.mixin.d.ts +12 -12
- package/lib/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.d.ts +30 -32
- package/lib/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.js +16 -5
- package/lib/src/brand-page-maker/components/upgrade-to-premium-button/UpgradeToPremiumButton.mixin.d.ts +11 -11
- package/lib/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.js +1 -1
- 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 +6 -6
- package/lib/src/brand-page-maker/composables/useEventTracker.d.ts +2 -2
- package/lib/src/brand-page-maker/constants/config-settings-constant.d.ts +6 -6
- package/lib/src/brand-page-maker/constants/config-settings-constant.js +40 -1
- package/lib/src/brand-page-maker/convertors/about-display-style.convertor.js +9 -1
- package/lib/src/brand-page-maker/convertors/banner-align-display-style.convertor.js +7 -1
- package/lib/src/brand-page-maker/convertors/contact-layout-style.convertor.js +6 -1
- package/lib/src/brand-page-maker/convertors/text-image-display-style.convertor.d.ts +1 -1
- package/lib/src/brand-page-maker/convertors/text-image-display-style.convertor.js +1 -1
- package/lib/src/brand-page-maker/models/content-settings.d.ts +1 -1
- package/lib/src/brand-page-maker/models/content-settings.js +39 -2
- package/lib/src/brand-page-maker/models/navigation-style-configs.js +1 -1
- package/lib/src/brand-page-maker/routing/brand-page-maker-router.d.ts +1 -2
- package/lib/src/brand-page-maker/stores/ai-checkpoint/ai-checkpoint-store.d.ts +378 -360
- package/lib/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.d.ts +5 -4
- package/lib/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.js +8 -5
- package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.d.ts +3 -1
- package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.js +7 -3
- package/lib/src/brand-page-maker/stores/history/history-store.d.ts +15 -15
- package/lib/src/brand-page-maker/stores/ui/ui-store.d.ts +6 -0
- package/lib/src/brand-page-maker/stores/ui/ui-store.js +8 -0
- package/lib/src/brand-page-maker/utils/content-settings.util.js +1 -1
- package/lib/src/brand-page-maker/utils/rich-text-editor.util.d.ts +1 -1
- package/lib/src/brand-page-maker/utils/rich-text-editor.util.js +4 -4
- package/lib/src/{bundled-translations-D1q3rSEz.js → bundled-translations-BUyt4scr.js} +9 -9
- package/lib/src/{bundled-translations.de-DE-BxqLLwbh.js → bundled-translations.de-DE-DEw_OVai.js} +1 -1
- package/lib/src/{bundled-translations.es-ES-uh249NlJ.js → bundled-translations.es-ES-CFKWmkgY.js} +17 -17
- package/lib/src/{bundled-translations.fr-CA-BEQmv2fX.js → bundled-translations.fr-CA-DCl5LJS4.js} +1 -1
- package/lib/src/{bundled-translations.fr-FR-BnNuCojH.js → bundled-translations.fr-FR-B5BjgllA.js} +1 -1
- package/lib/src/{bundled-translations.pt-BR-CJUOxVlq.js → bundled-translations.pt-BR-5PWpMPuM.js} +1 -1
- package/lib/src/{bundled-translations.pt-PT-Ds9cMEqK.js → bundled-translations.pt-PT-B9_wN0HR.js} +9 -9
- package/lib/src/bundles/bundled-translations.de-DE.json +2 -0
- package/lib/src/bundles/bundled-translations.es-ES.json +2 -0
- package/lib/src/bundles/bundled-translations.fr-CA.json +2 -0
- package/lib/src/bundles/bundled-translations.fr-FR.json +2 -0
- package/lib/src/bundles/bundled-translations.json +2 -0
- package/lib/src/bundles/bundled-translations.pt-BR.json +2 -0
- package/lib/src/bundles/bundled-translations.pt-PT.json +2 -0
- package/lib/src/clients/brand-page-client.d.ts +16 -15
- package/lib/src/clients/design-template-client.d.ts +3 -0
- package/lib/src/clients/media-client.d.ts +2 -2
- package/lib/src/clients/models.d.ts +2 -0
- package/lib/src/composables/useSnapshot.js +18 -18
- package/lib/src/css/library.brand-page-brandCrowd.min.css +441 -437
- package/lib/src/css/library.brand-page-brandPage.min.css +719 -437
- package/lib/src/css/library.brand-page-designCom.min.css +441 -437
- package/lib/src/css/library.brand-page-preview.min.css +697 -437
- package/lib/src/index.d.ts +1 -1
- package/lib/src/index.mjs +16 -15
- package/lib/src/{lib-tHPi9EKk.js → lib-DityivZa.js} +37011 -33834
- package/lib/src/lib.js +1 -1
- package/lib/src/metadata-builder/builders/footer-builder.js +90 -65
- package/lib/src/metadata-builder/builders/section-builders/image-gallery-builder.js +1 -1
- package/lib/src/metadata-builder/builders/section-builders/images-section-builder.js +1 -1
- package/lib/src/metadata-builder/builders/section-builders/testimonial-section-builder.js +1 -1
- package/lib/src/metadata-builder/builders/section-builders/text-section-builder.js +1 -1
- package/lib/src/metadata-builder/builders/shape-color-utils.js +1 -1
- package/lib/src/plugins/google-maps-plugin/google-maps-plugin.d.ts +1 -1
- package/lib/src/plugins/google-maps-plugin/google-maps-plugin.js +8 -8
- package/lib/src/shared/background-settings/components/background-shapes/BackgroundShapeSettings.mixin.d.ts +13 -13
- package/lib/src/shared/background-settings/store/background-settings-store.d.ts +3 -3
- package/lib/src/shared/color-picker/components/ColorPicker.mixin.d.ts +4 -2
- package/lib/src/shared/color-picker/components/ColorPicker.mixin.js +2 -2
- package/lib/src/shared/color-picker/components/ColorPickerSwatch.mixin.d.ts +4 -2
- package/lib/src/shared/color-picker/components/ColorPickerSwatch.mixin.js +1 -0
- package/lib/src/shared/confirm-modal/ConfirmModal.mixin.d.ts +5 -2
- package/lib/src/shared/confirm-modal/ConfirmModal.mixin.js +1 -0
- package/lib/src/shared/content-settings/components/GenericTextInput.mixin.d.ts +0 -1
- package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts +145 -129
- package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.js +2 -1
- package/lib/src/shared/content-settings/components/content-settings/ReplaceImageSettingsForContent.mixin.d.ts +125 -110
- package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.d.ts +96 -81
- package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.js +5 -0
- package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.d.ts +129 -109
- package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.js +1 -14
- package/lib/src/shared/content-settings/components/email-field/EmailField.mixin.d.ts +0 -1
- package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.d.ts +84 -70
- package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.js +4 -3
- package/lib/src/shared/content-settings/components/form-fields-field/FormFieldsField.mixin.d.ts +4 -4
- package/lib/src/shared/content-settings/components/icon-library/IconLibrary.mixin.d.ts +3 -1
- package/lib/src/shared/content-settings/components/icon-library/IconLibrary.mixin.js +1 -0
- package/lib/src/shared/content-settings/components/images-field/ImagesField.mixin.d.ts +2 -2
- package/lib/src/shared/content-settings/components/items-field/ItemsField.mixin.d.ts +4 -3
- package/lib/src/shared/content-settings/components/items-field/ItemsField.mixin.js +1 -1
- package/lib/src/shared/content-settings/components/payment-config-field/PaymentConfigField.mixin.d.ts +40 -40
- package/lib/src/shared/content-settings/components/payment-config-field/PaymentConfigOptionField.mixin.d.ts +5 -6
- package/lib/src/shared/content-settings/components/shape-field/ShapeField.mixin.d.ts +0 -1
- package/lib/src/shared/content-settings/components/slider-field/SliderField.mixin.d.ts +2 -2
- package/lib/src/shared/content-settings/components/slider-field/SliderField.mixin.js +9 -0
- package/lib/src/shared/content-settings/components/tel-field/TelField.mixin.d.ts +0 -1
- package/lib/src/shared/content-settings/components/testimonial-items-field/TestimonialItemsField.mixin.d.ts +1 -2
- package/lib/src/shared/content-settings/components/text-field/TextField.mixin.d.ts +0 -1
- package/lib/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.d.ts +1 -2
- package/lib/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.js +1 -1
- package/lib/src/shared/content-settings/components/text-style-field/TextStyleField.mixin.d.ts +28 -28
- package/lib/src/shared/content-settings/components/textarea-field/TextareaField.mixin.d.ts +0 -1
- package/lib/src/shared/content-settings/components/toggle-field/ToggleField.mixin.d.ts +2 -2
- package/lib/src/shared/content-settings/components/url-field/UrlField.mixin.d.ts +0 -1
- package/lib/src/shared/content-settings/components/youtube-video-field/YoutubeVideoField.mixin.d.ts +0 -1
- package/lib/src/shared/content-settings/store/content-settings-store.d.ts +51 -39
- package/lib/src/shared/content-settings/utils.js +0 -1
- package/lib/src/shared/font-family-selector/FontFamilySelector.mixin.d.ts +6 -4
- package/lib/src/shared/font-family-selector/FontFamilySelector.mixin.js +1 -0
- package/lib/src/shared/image-gallery-style-settings/ImageGalleryStyleSettings.mixin.d.ts +4 -2
- package/lib/src/shared/image-gallery-style-settings/ImageGalleryStyleSettings.mixin.js +1 -0
- package/lib/src/shared/logo-settings/components/EditLogoSettings.mixin.d.ts +29 -21
- package/lib/src/shared/logo-settings/components/EditLogoSettings.mixin.js +1 -1
- package/lib/src/shared/logo-settings/components/LogoSettings.mixin.d.ts +50 -51
- package/lib/src/shared/logo-settings/components/LogoSettingsHeader.mixin.d.ts +6 -4
- package/lib/src/shared/logo-settings/components/LogoSettingsHeader.mixin.js +1 -0
- package/lib/src/shared/logo-settings/store/editable-logo-store.js +1 -1
- package/lib/src/shared/logo-settings/store/logo-settings-store.d.ts +1 -1
- package/lib/src/shared/logo-versions/LogoVersions.mixin.d.ts +13 -5
- package/lib/src/shared/logo-versions/LogoVersions.mixin.js +1 -0
- package/lib/src/shared/models.d.ts +2 -0
- package/lib/src/shared/my-designs/MyDesigns.mixin.d.ts +14 -6
- package/lib/src/shared/my-designs/MyDesigns.mixin.js +1 -0
- package/lib/src/shared/my-uploads/MyMedia.mixin.d.ts +14 -5
- package/lib/src/shared/my-uploads/MyMedia.mixin.js +1 -0
- package/lib/src/shared/my-uploads/MyUploads.mixin.d.ts +14 -5
- package/lib/src/shared/my-uploads/MyUploads.mixin.js +1 -0
- package/lib/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.mixin.d.ts +5 -3
- package/lib/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.mixin.js +1 -0
- package/lib/src/shared/navigation-style-settings/store/index.d.ts +2 -2
- package/lib/src/shared/page-navigation/store/page-navigation-store.d.ts +2 -2
- package/lib/src/shared/page-settings/components/new-page-modal/NewPageModal.mixin.d.ts +27 -28
- package/lib/src/shared/page-settings/components/new-page-modal/NewPageModal.mixin.js +0 -2
- package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +204 -177
- package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +195 -175
- package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.js +1 -1
- package/lib/src/shared/page-settings/store/page-settings-store.d.ts +9 -9
- package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.d.ts +39 -39
- package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.js +0 -1
- package/lib/src/shared/side-bar/components/SideBar.mixin.d.ts +18 -18
- package/lib/src/shared/side-bar/components/SideBarTabButton.mixin.d.ts +6 -6
- package/lib/src/shared/style-settings/components/StyleSettings.mixin.d.ts +66 -60
- package/lib/src/shared/style-settings/store/style-settings-store.d.ts +1 -1
- package/lib/src/shared/style-settings/store/style-settings-store.js +1 -1
- package/lib/src/shared/template-settings/components/TemplatesSettings.mixin.d.ts +20 -450
- package/lib/src/shared/template-settings/components/TemplatesSettings.mixin.js +2 -2
- package/lib/src/shared/template-settings/models.d.ts +1 -0
- package/lib/src/shared/template-settings/store/template-settings-store.d.ts +4 -0
- package/lib/src/shared/template-settings/store/template-settings-store.js +79 -11
- package/lib/src/shared/unsplash-library/UnsplashLibrary.mixin.d.ts +9 -4
- package/lib/src/utils/minify-brand-page-metadata.js +11 -1
- package/package.json +61 -57
- package/src/brand-page/components/about-section/AboutSection.vue +10 -4
- package/src/brand-page/components/about-section/AboutSection.vue.test.ts +7 -5
- package/src/brand-page/components/banner-section/BannerSection.mixin.ts +210 -0
- package/src/brand-page/components/banner-section/BannerSection.vue +11 -4
- package/src/brand-page/components/booking-section/BookingSection.vue +11 -3
- package/src/brand-page/components/brand-page-footer/BrandPageFooter.vue +1 -1
- package/src/brand-page/components/contact-form/ContactForm.mixin.ts +12 -6
- package/src/brand-page/components/contact-form/ContactForm.vue +105 -104
- package/src/brand-page/components/image/Image.mixin.ts +1 -1
- package/src/brand-page/components/image/Image.test.ts +1 -1
- package/src/brand-page/components/image-gallery/ImageGallery.mixin.ts +5 -0
- package/src/brand-page/components/image-gallery/ImageGallery.vue +1 -1
- package/src/brand-page/components/images-section/ImagesSection.vue +0 -1
- package/src/brand-page/components/logo/LogoRender.vue +188 -188
- package/src/brand-page/components/mailing-list/MailingList.mixin.ts +8 -1
- package/src/brand-page/components/mailing-list/MailingList.vue +1 -1
- package/src/brand-page/components/map/Map.vue +5 -1
- package/src/brand-page/components/navigation/hamburger/HamburgerNavigation.mixin.ts +1 -0
- package/src/brand-page/components/navigation/navigation-side-menu/NavigationSideMenu.mixin.ts +15 -6
- package/src/brand-page/components/page-footer/PageFooter.vue +1 -0
- package/src/brand-page/components/page-header/HeaderLayout.vue +12 -6
- package/src/brand-page/components/page-header/PageHeader.vue +1 -0
- package/src/brand-page/components/payment/request-payment/RequestPayment.mixin.ts +5 -0
- package/src/brand-page/components/payment/request-payment/RequestPayment.vue +1 -0
- package/src/brand-page/components/payment/support-me/SupportMe.mixin.ts +8 -1
- package/src/brand-page/components/payment/support-me/SupportMe.vue +1 -0
- package/src/brand-page/components/shapes-section/ShapesSection.vue +1 -1
- package/src/brand-page/components/shop/CartModal.vue +1 -3
- package/src/brand-page/components/shop/FeaturedDisplay.vue +2 -2
- package/src/brand-page/components/shop/PaymentModal.vue +1 -5
- package/src/brand-page/components/shop/ProductDetailModal.vue +1 -1
- package/src/brand-page/components/shop/Shop.vue +8 -3
- package/src/brand-page/components/shop/TextDisplay.vue +1 -1
- package/src/brand-page/components/shop/ThumbnailDisplay.vue +2 -2
- package/src/brand-page/components/social-links/SocialLinks.vue +7 -3
- package/src/brand-page/components/testimonial-section/TestimonialSection.vue +120 -11
- package/src/brand-page/components/text/Text.vue +12 -5
- package/src/brand-page/components/text-media-section/TextMediaSection.vue +11 -3
- package/src/brand-page/components/text-wrapper/TextWrapper.vue +3 -1
- package/src/brand-page/components/video/Video.mixin.ts +5 -0
- package/src/brand-page/components/video/Video.vue +1 -1
- package/src/brand-page/constants/font.constants.ts +4 -4
- package/src/brand-page/constants/misc.constants.ts +58 -0
- package/src/brand-page/constants/sections/footer-display.constants.ts +1 -1
- package/src/brand-page/models/content.model.ts +2 -0
- package/src/brand-page/models/index.ts +4 -0
- package/src/brand-page/models/payment.model.ts +2 -1
- package/src/brand-page/models/shop.model.ts +0 -2
- package/src/brand-page/models/user-personalisation.model.ts +1 -2
- package/src/brand-page/utils/__snapshots__/migration.util.test.ts.snap +12 -3
- package/src/brand-page/utils/__snapshots__/migration2.util.test.ts.snap +7 -6
- package/src/brand-page/utils/__snapshots__/model.util.test.ts.snap +14 -12
- package/src/brand-page/utils/content-padding.util.test.ts +29 -0
- package/src/brand-page/utils/content-padding.util.ts +13 -0
- package/src/brand-page/utils/index.ts +1 -0
- package/src/brand-page/utils/migration/migration-01_1.ts +1 -1
- package/src/brand-page/utils/migration/migration-02.ts +0 -1
- package/src/brand-page/utils/migration/migration-03.ts +0 -1
- package/src/brand-page/utils/migration/migration-04.ts +0 -1
- package/src/brand-page/utils/migration/migration-05.ts +1 -5
- package/src/brand-page/utils/migration/migration-05_2.ts +1 -1
- package/src/brand-page/utils/migration/migration-08.test.ts +1 -1
- package/src/brand-page/utils/migration/migration-17.ts +77 -0
- package/src/brand-page/utils/migration.util.test.ts +290 -0
- package/src/brand-page/utils/migration.util.ts +11 -0
- package/src/brand-page/utils/personalisation.util.test.ts +35 -0
- package/src/brand-page/utils/personalisation.util.ts +119 -23
- package/src/brand-page/view-models.ts +38 -56
- package/src/brand-page-maker/assessors/banner-section-description-visibility.assessor.ts +6 -6
- package/src/brand-page-maker/assessors/color-replacement-icon-visibility.assessor.ts +2 -2
- package/src/brand-page-maker/assessors/color-replacement-profile-visibility.assessor.ts +2 -2
- package/src/brand-page-maker/assessors/color-replacement-visibility.assessor.ts +2 -2
- package/src/brand-page-maker/assessors/contact-form-visibility.assessor.ts +14 -14
- package/src/brand-page-maker/components/action-bar/ActionBar.mixin.ts +1 -0
- package/src/brand-page-maker/components/ai-text-edit/TextBubble.vue +1 -0
- package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.ts +5 -1
- package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.stories.ts +1 -0
- package/src/brand-page-maker/components/brand-page-maker/BrandPageMakerTemplateSettings.stories.ts +2 -5
- package/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-examples.ts +0 -5
- package/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-payment.ts +0 -8
- package/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-site-template.examples.ts +0 -2
- package/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.vue +1 -0
- package/src/brand-page-maker/components/brandpage-settings/ReplaceImageSettingsForBrandPageSettings.mixin.ts +1 -1
- package/src/brand-page-maker/components/color-palette/BpColorPalette.vue +1 -2
- package/src/brand-page-maker/components/color-picker/components/ColorModeSelect.mixin.ts +1 -0
- package/src/brand-page-maker/components/color-picker/components/GradientColorSlider.mixin.ts +1 -0
- package/src/brand-page-maker/components/color-picker/components/GradientColorSliderHandler.mixin.ts +1 -0
- package/src/brand-page-maker/components/color-picker/components/GradientTypeSelector.mixin.ts +1 -0
- package/src/brand-page-maker/components/device/Device.mixin.ts +1 -0
- package/src/brand-page-maker/components/navigation/Navigation.mixin.ts +1 -0
- package/src/brand-page-maker/components/rich-text-editor/RichTextEditor.vue +3 -1
- package/src/brand-page-maker/components/sensitive-content/SensitiveContent.vue +1 -4
- package/src/brand-page-maker/components/seo-settings/DeleteDomainModal.vue +1 -1
- package/src/brand-page-maker/components/seo-settings/SeoPageSettings.mixin.ts +1 -0
- package/src/brand-page-maker/components/seo-settings/SeoPageSettings.vue +1 -1
- package/src/brand-page-maker/components/seo-settings/UrlSettings.mixin.ts +0 -1
- package/src/brand-page-maker/components/seo-settings/UrlSettings.vue +0 -1
- package/src/brand-page-maker/components/seo-settings/UseExistingDomainModal.vue +1 -5
- package/src/brand-page-maker/components/shop/AddOrEditProductContainer.vue +1 -1
- package/src/brand-page-maker/components/shop/ReplaceImageSettingsForShop.vue +1 -1
- package/src/brand-page-maker/components/social-share/SocialShare.vue +1 -1
- package/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.ts +22 -8
- package/src/brand-page-maker/components/template-preview/TemplatePreview.vue +5 -10
- package/src/brand-page-maker/components/template-preview/TemplatePreviewAiBadge.vue +12 -0
- package/src/brand-page-maker/components/video-play/VideoPlayButton.vue +1 -1
- package/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.ts +1 -1
- package/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.ts +6 -6
- package/src/brand-page-maker/constants/config-settings-constant.ts +48 -3
- package/src/brand-page-maker/convertors/about-display-style.convertor.ts +10 -0
- package/src/brand-page-maker/convertors/banner-align-display-style.convertor.ts +8 -0
- package/src/brand-page-maker/convertors/contact-layout-style.convertor.test.ts +50 -0
- package/src/brand-page-maker/convertors/contact-layout-style.convertor.ts +8 -0
- package/src/brand-page-maker/convertors/text-image-display-style.convertor.ts +1 -1
- package/src/brand-page-maker/models/button-styles-config.ts +4 -2
- package/src/brand-page-maker/models/content-settings-configs.ts +4 -2
- package/src/brand-page-maker/models/content-settings.ts +43 -2
- package/src/brand-page-maker/models/navigation-style-configs.ts +5 -6
- package/src/brand-page-maker/stores/admin-logo-settings/admin-logo-settings-store.ts +0 -1
- package/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.ts +8 -5
- package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.test.ts +1 -3
- package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.ts +12 -4
- package/src/brand-page-maker/stores/ui/ui-store.ts +16 -0
- package/src/brand-page-maker/utils/content-settings.util.ts +1 -1
- package/src/brand-page-maker/utils/rich-text-editor.util.ts +4 -4
- package/src/bundles/bundled-translations.de-DE.json +2 -0
- package/src/bundles/bundled-translations.es-ES.json +2 -0
- package/src/bundles/bundled-translations.fr-CA.json +2 -0
- package/src/bundles/bundled-translations.fr-FR.json +2 -0
- package/src/bundles/bundled-translations.json +2 -0
- package/src/bundles/bundled-translations.pt-BR.json +2 -0
- package/src/bundles/bundled-translations.pt-PT.json +2 -0
- package/src/clients/design-template-client.ts +3 -0
- package/src/clients/models.ts +2 -0
- package/src/composables/useSnapshot.ts +19 -22
- package/src/lib.ts +1 -0
- package/src/metadata-builder/builders/footer-builder.test.ts +137 -0
- package/src/metadata-builder/builders/footer-builder.ts +129 -89
- package/src/metadata-builder/builders/section-builders/image-gallery-builder.ts +1 -1
- package/src/metadata-builder/builders/section-builders/images-section-builder.ts +1 -1
- package/src/metadata-builder/builders/section-builders/testimonial-section-builder.ts +1 -1
- package/src/metadata-builder/builders/section-builders/text-section-builder.ts +1 -1
- package/src/metadata-builder/builders/shape-color-utils.ts +2 -2
- package/src/plugins/google-maps-plugin/google-maps-plugin.ts +8 -8
- package/src/shared/background-settings/components/BackgroundSettings.vue +1 -1
- package/src/shared/background-settings/components/background-color/BackgroundColorSettings.vue +1 -1
- package/src/shared/color-picker/components/ColorPicker.mixin.ts +2 -7
- package/src/shared/color-picker/components/ColorPickerSwatch.mixin.ts +1 -0
- package/src/shared/common/NumberInput.vue +1 -0
- package/src/shared/common/SideBarSettingsHeader.vue +2 -2
- package/src/shared/confirm-modal/ConfirmModal.mixin.ts +1 -0
- package/src/shared/content-settings/components/booking-url-field/BookingUrlField.vue +1 -0
- package/src/shared/content-settings/components/button-configuration-field/ButtonConfigurationField.vue +1 -0
- package/src/shared/content-settings/components/color-field/ColorField.vue +3 -10
- package/src/shared/content-settings/components/content-settings/ContentSettings.mixin.ts +1 -1
- package/src/shared/content-settings/components/content-settings/ContentSettingsLockedButton.vue +1 -0
- package/src/shared/content-settings/components/content-settings/i18n/content-settings.de-DE.json +2 -0
- package/src/shared/content-settings/components/content-settings/i18n/content-settings.es-ES.json +2 -0
- package/src/shared/content-settings/components/content-settings/i18n/content-settings.fr-CA.json +2 -0
- package/src/shared/content-settings/components/content-settings/i18n/content-settings.fr-FR.json +2 -0
- package/src/shared/content-settings/components/content-settings/i18n/content-settings.json +2 -0
- package/src/shared/content-settings/components/content-settings/i18n/content-settings.pt-BR.json +2 -0
- package/src/shared/content-settings/components/content-settings/i18n/content-settings.pt-PT.json +2 -0
- package/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.ts +5 -0
- package/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.vue +1 -1
- package/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.ts +1 -14
- package/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.ts +4 -6
- package/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.vue +2 -2
- package/src/shared/content-settings/components/icon-library/IconLibrary.mixin.ts +1 -0
- package/src/shared/content-settings/components/items-field/ItemsField.mixin.ts +1 -1
- package/src/shared/content-settings/components/logo-selection-field/LogoSelectionField.vue +1 -1
- package/src/shared/content-settings/components/logo-size-field/LogoSizeSliderField.vue +1 -1
- package/src/shared/content-settings/components/page-dropdown-field/PageDropdownField.vue +1 -1
- package/src/shared/content-settings/components/personalisation-role-field/PersonalisationRoleField.vue +4 -4
- package/src/shared/content-settings/components/slider-field/SliderField.mixin.ts +9 -0
- package/src/shared/content-settings/components/text-image-field/TextImageField.vue +2 -8
- package/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.ts +1 -1
- package/src/shared/content-settings/models.ts +3 -2
- package/src/shared/content-settings/utils.ts +0 -1
- package/src/shared/dropzone-image-uploader/components/DropzoneImageUploader.vue +1 -0
- package/src/shared/ecommerce-settings/store/cart-store.test.ts +1 -1
- package/src/shared/font-family-selector/FontFamilySelector.mixin.ts +1 -0
- package/src/shared/image-gallery-style-settings/ImageGalleryStyleSettings.mixin.ts +1 -0
- package/src/shared/logo-settings/components/EditLogoSettings.mixin.ts +1 -1
- package/src/shared/logo-settings/components/LogoSettings.mixin.ts +0 -1
- package/src/shared/logo-settings/components/LogoSettingsHeader.mixin.ts +1 -0
- package/src/shared/logo-settings/components/LogoStyleSettingsWithState.vue +2 -2
- package/src/shared/logo-settings/components/LogoTemplateSearch.vue +1 -1
- package/src/shared/logo-settings/store/editable-logo-store.ts +1 -1
- package/src/shared/logo-settings/store/logo-settings-store.test.ts +4 -4
- package/src/shared/logo-versions/LogoVersions.mixin.ts +1 -0
- package/src/shared/models.ts +6 -0
- package/src/shared/my-designs/MyDesigns.mixin.ts +1 -0
- package/src/shared/my-uploads/MyMedia.mixin.ts +1 -0
- package/src/shared/my-uploads/MyMediaSelectionItem.vue +2 -1
- package/src/shared/my-uploads/MyUploads.mixin.ts +1 -0
- package/src/shared/my-uploads/models.ts +1 -2
- package/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.mixin.ts +1 -0
- package/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.vue +1 -1
- package/src/shared/page-settings/components/new-page-modal/NewPageModal.mixin.ts +0 -3
- package/src/shared/page-settings/components/page-settings/NestedDraggable.vue +1 -1
- package/src/shared/page-settings/components/page-settings/PageSettings.vue +1 -2
- package/src/shared/page-settings/components/page-settings-section-styles/HeaderDisplayStyle.vue +1 -1
- package/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.ts +1 -1
- package/src/shared/page-settings/store/page-settings-store.test.ts +4 -8
- package/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.ts +0 -1
- package/src/shared/shape-library/ShapeLibrary.vue +2 -2
- package/src/shared/style-settings/store/style-settings-store.ts +1 -1
- package/src/shared/template-settings/components/TemplatesSettings.mixin.ts +2 -2
- package/src/shared/template-settings/models.ts +1 -0
- package/src/shared/template-settings/store/template-settings-store.ts +105 -18
- package/src/shared/unsplash-library/UnsplashLibrary.vue +2 -6
- package/src/shared/video-library/VideoLibrary.vue +1 -1
- package/src/utils/minify-brand-page-metadata.ts +11 -1
- package/lib/src/brand-page/components/testimonial-section/TestimonialSection.mixin.js +0 -112
- package/src/brand-page/components/testimonial-section/TestimonialSection.mixin.ts +0 -132
|
@@ -156,7 +156,7 @@ exports[`migration02.ts > migration02 should return converted letterspacing 1`]
|
|
|
156
156
|
"borderTopWidth": "0px",
|
|
157
157
|
"color": undefined,
|
|
158
158
|
"fontFamily": "Lato",
|
|
159
|
-
"fontSize": "
|
|
159
|
+
"fontSize": "1em",
|
|
160
160
|
"fontStyle": undefined,
|
|
161
161
|
"fontWeight": "normal",
|
|
162
162
|
"textAlign": "center",
|
|
@@ -230,7 +230,7 @@ exports[`migration02.ts > migration02 should return converted letterspacing 1`]
|
|
|
230
230
|
"borderTopWidth": "0px",
|
|
231
231
|
"color": undefined,
|
|
232
232
|
"fontFamily": "Lato",
|
|
233
|
-
"fontSize": "
|
|
233
|
+
"fontSize": "1em",
|
|
234
234
|
"fontStyle": undefined,
|
|
235
235
|
"fontWeight": "normal",
|
|
236
236
|
"textAlign": "center",
|
|
@@ -410,7 +410,7 @@ exports[`migration02.ts > migration02 should return converted letterspacing 1`]
|
|
|
410
410
|
"style": {
|
|
411
411
|
"color": undefined,
|
|
412
412
|
"fontFamily": "Lato",
|
|
413
|
-
"fontSize": "
|
|
413
|
+
"fontSize": "1em",
|
|
414
414
|
"fontStyle": undefined,
|
|
415
415
|
"fontWeight": undefined,
|
|
416
416
|
"letterSpacing": undefined,
|
|
@@ -426,7 +426,7 @@ exports[`migration02.ts > migration02 should return converted letterspacing 1`]
|
|
|
426
426
|
"style": {
|
|
427
427
|
"color": undefined,
|
|
428
428
|
"fontFamily": "Lato",
|
|
429
|
-
"fontSize": "1.
|
|
429
|
+
"fontSize": "1.5em",
|
|
430
430
|
"fontStyle": undefined,
|
|
431
431
|
"fontWeight": undefined,
|
|
432
432
|
"letterSpacing": undefined,
|
|
@@ -442,7 +442,7 @@ exports[`migration02.ts > migration02 should return converted letterspacing 1`]
|
|
|
442
442
|
"style": {
|
|
443
443
|
"color": undefined,
|
|
444
444
|
"fontFamily": "Lato",
|
|
445
|
-
"fontSize": "
|
|
445
|
+
"fontSize": "1em",
|
|
446
446
|
"fontStyle": undefined,
|
|
447
447
|
"fontWeight": undefined,
|
|
448
448
|
"letterSpacing": undefined,
|
|
@@ -458,7 +458,7 @@ exports[`migration02.ts > migration02 should return converted letterspacing 1`]
|
|
|
458
458
|
"style": {
|
|
459
459
|
"color": undefined,
|
|
460
460
|
"fontFamily": "Lato",
|
|
461
|
-
"fontSize": "2.
|
|
461
|
+
"fontSize": "2.25em",
|
|
462
462
|
"fontStyle": undefined,
|
|
463
463
|
"fontWeight": undefined,
|
|
464
464
|
"letterSpacing": undefined,
|
|
@@ -472,6 +472,7 @@ exports[`migration02.ts > migration02 should return converted letterspacing 1`]
|
|
|
472
472
|
},
|
|
473
473
|
},
|
|
474
474
|
},
|
|
475
|
+
"userPromptContentKey": undefined,
|
|
475
476
|
"v": 0,
|
|
476
477
|
},
|
|
477
478
|
"useOldLogoRenderSize": false,
|
|
@@ -155,7 +155,7 @@ BrandPageModel {
|
|
|
155
155
|
"borderTopWidth": "0px",
|
|
156
156
|
"color": undefined,
|
|
157
157
|
"fontFamily": "Lato",
|
|
158
|
-
"fontSize": "
|
|
158
|
+
"fontSize": "1em",
|
|
159
159
|
"fontStyle": undefined,
|
|
160
160
|
"fontWeight": "normal",
|
|
161
161
|
"textAlign": "center",
|
|
@@ -229,7 +229,7 @@ BrandPageModel {
|
|
|
229
229
|
"borderTopWidth": "0px",
|
|
230
230
|
"color": undefined,
|
|
231
231
|
"fontFamily": "Lato",
|
|
232
|
-
"fontSize": "
|
|
232
|
+
"fontSize": "1em",
|
|
233
233
|
"fontStyle": undefined,
|
|
234
234
|
"fontWeight": "normal",
|
|
235
235
|
"textAlign": "center",
|
|
@@ -384,7 +384,7 @@ BrandPageModel {
|
|
|
384
384
|
"style": {
|
|
385
385
|
"color": undefined,
|
|
386
386
|
"fontFamily": "Lato",
|
|
387
|
-
"fontSize": "
|
|
387
|
+
"fontSize": "1em",
|
|
388
388
|
"fontStyle": undefined,
|
|
389
389
|
"fontWeight": undefined,
|
|
390
390
|
"letterSpacing": undefined,
|
|
@@ -400,7 +400,7 @@ BrandPageModel {
|
|
|
400
400
|
"style": {
|
|
401
401
|
"color": undefined,
|
|
402
402
|
"fontFamily": "Lato",
|
|
403
|
-
"fontSize": "1.
|
|
403
|
+
"fontSize": "1.5em",
|
|
404
404
|
"fontStyle": undefined,
|
|
405
405
|
"fontWeight": undefined,
|
|
406
406
|
"letterSpacing": undefined,
|
|
@@ -416,7 +416,7 @@ BrandPageModel {
|
|
|
416
416
|
"style": {
|
|
417
417
|
"color": undefined,
|
|
418
418
|
"fontFamily": "Lato",
|
|
419
|
-
"fontSize": "
|
|
419
|
+
"fontSize": "1em",
|
|
420
420
|
"fontStyle": undefined,
|
|
421
421
|
"fontWeight": undefined,
|
|
422
422
|
"letterSpacing": undefined,
|
|
@@ -432,7 +432,7 @@ BrandPageModel {
|
|
|
432
432
|
"style": {
|
|
433
433
|
"color": undefined,
|
|
434
434
|
"fontFamily": "Lato",
|
|
435
|
-
"fontSize": "2.
|
|
435
|
+
"fontSize": "2.25em",
|
|
436
436
|
"fontStyle": undefined,
|
|
437
437
|
"fontWeight": undefined,
|
|
438
438
|
"letterSpacing": undefined,
|
|
@@ -446,6 +446,7 @@ BrandPageModel {
|
|
|
446
446
|
},
|
|
447
447
|
},
|
|
448
448
|
},
|
|
449
|
+
"userPromptContentKey": undefined,
|
|
449
450
|
"v": 0,
|
|
450
451
|
}
|
|
451
452
|
`;
|
|
@@ -605,7 +606,7 @@ BrandPageModel {
|
|
|
605
606
|
"borderTopWidth": "0px",
|
|
606
607
|
"color": undefined,
|
|
607
608
|
"fontFamily": "Lato",
|
|
608
|
-
"fontSize": "
|
|
609
|
+
"fontSize": "1em",
|
|
609
610
|
"fontStyle": undefined,
|
|
610
611
|
"fontWeight": "normal",
|
|
611
612
|
"textAlign": "center",
|
|
@@ -679,7 +680,7 @@ BrandPageModel {
|
|
|
679
680
|
"borderTopWidth": "0px",
|
|
680
681
|
"color": undefined,
|
|
681
682
|
"fontFamily": "Lato",
|
|
682
|
-
"fontSize": "
|
|
683
|
+
"fontSize": "1em",
|
|
683
684
|
"fontStyle": undefined,
|
|
684
685
|
"fontWeight": "normal",
|
|
685
686
|
"textAlign": "center",
|
|
@@ -849,7 +850,7 @@ BrandPageModel {
|
|
|
849
850
|
"style": {
|
|
850
851
|
"color": undefined,
|
|
851
852
|
"fontFamily": "Lato",
|
|
852
|
-
"fontSize": "
|
|
853
|
+
"fontSize": "1em",
|
|
853
854
|
"fontStyle": undefined,
|
|
854
855
|
"fontWeight": undefined,
|
|
855
856
|
"letterSpacing": undefined,
|
|
@@ -865,7 +866,7 @@ BrandPageModel {
|
|
|
865
866
|
"style": {
|
|
866
867
|
"color": undefined,
|
|
867
868
|
"fontFamily": "Lato",
|
|
868
|
-
"fontSize": "1.
|
|
869
|
+
"fontSize": "1.5em",
|
|
869
870
|
"fontStyle": undefined,
|
|
870
871
|
"fontWeight": undefined,
|
|
871
872
|
"letterSpacing": undefined,
|
|
@@ -881,7 +882,7 @@ BrandPageModel {
|
|
|
881
882
|
"style": {
|
|
882
883
|
"color": undefined,
|
|
883
884
|
"fontFamily": "Lato",
|
|
884
|
-
"fontSize": "
|
|
885
|
+
"fontSize": "1em",
|
|
885
886
|
"fontStyle": undefined,
|
|
886
887
|
"fontWeight": undefined,
|
|
887
888
|
"letterSpacing": undefined,
|
|
@@ -897,7 +898,7 @@ BrandPageModel {
|
|
|
897
898
|
"style": {
|
|
898
899
|
"color": undefined,
|
|
899
900
|
"fontFamily": "Lato",
|
|
900
|
-
"fontSize": "2.
|
|
901
|
+
"fontSize": "2.25em",
|
|
901
902
|
"fontStyle": undefined,
|
|
902
903
|
"fontWeight": undefined,
|
|
903
904
|
"letterSpacing": undefined,
|
|
@@ -911,6 +912,7 @@ BrandPageModel {
|
|
|
911
912
|
},
|
|
912
913
|
},
|
|
913
914
|
},
|
|
915
|
+
"userPromptContentKey": undefined,
|
|
914
916
|
"v": 0,
|
|
915
917
|
}
|
|
916
918
|
`;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { describe, test, expect } from 'vitest';
|
|
2
|
+
import { contentPaddingStyle } from './content-padding.util';
|
|
3
|
+
|
|
4
|
+
describe('content-padding.util', () => {
|
|
5
|
+
test('contentPaddingStyle should map stored padding to px values', () => {
|
|
6
|
+
expect(contentPaddingStyle({ topPadding: 53, bottomPadding: 24 })).toEqual({
|
|
7
|
+
paddingTop: '53px',
|
|
8
|
+
paddingBottom: '24px',
|
|
9
|
+
});
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
test('contentPaddingStyle should default missing values to 0 for content created before the field existed', () => {
|
|
13
|
+
expect(contentPaddingStyle({})).toEqual({
|
|
14
|
+
paddingTop: '0px',
|
|
15
|
+
paddingBottom: '0px',
|
|
16
|
+
});
|
|
17
|
+
expect(contentPaddingStyle({ topPadding: 16 })).toEqual({
|
|
18
|
+
paddingTop: '16px',
|
|
19
|
+
paddingBottom: '0px',
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
test('contentPaddingStyle should keep an explicit 0 rather than treating it as unset', () => {
|
|
24
|
+
expect(contentPaddingStyle({ topPadding: 0, bottomPadding: 0 })).toEqual({
|
|
25
|
+
paddingTop: '0px',
|
|
26
|
+
paddingBottom: '0px',
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
});
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Block top/bottom padding (BP-5687) as a bindable CSS style object. Defaults
|
|
3
|
+
* live in the data — `content-settings` for new content, a migration for
|
|
4
|
+
* existing — so this just reads the stored value (`?? 0` covers content from
|
|
5
|
+
* before the field existed).
|
|
6
|
+
*/
|
|
7
|
+
export const contentPaddingStyle = (content: {
|
|
8
|
+
topPadding?: number;
|
|
9
|
+
bottomPadding?: number;
|
|
10
|
+
}): { paddingTop: string; paddingBottom: string } => ({
|
|
11
|
+
paddingTop: `${content.topPadding ?? 0}px`,
|
|
12
|
+
paddingBottom: `${content.bottomPadding ?? 0}px`,
|
|
13
|
+
});
|
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
type BrandPageModel,
|
|
3
|
-
type TextContent,
|
|
4
|
-
type LogoImageModel,
|
|
5
|
-
} from '../..';
|
|
1
|
+
import { type TextContent, type LogoImageModel } from '../..';
|
|
6
2
|
import type { MigrationData } from '../migration.util';
|
|
7
3
|
import { isTextContent } from '../model.util';
|
|
8
4
|
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import type { MigrationData } from '../migration.util';
|
|
2
|
+
import type { BannerSectionContent, ContactFormContent } from '../../models';
|
|
3
|
+
import { BRAND_PAGE_TYPES } from '../../models';
|
|
4
|
+
import {
|
|
5
|
+
CONTACT_FORM_LAYOUT_DEFAULT_PADDING,
|
|
6
|
+
TESTIMONIAL_DEFAULT_PADDING,
|
|
7
|
+
bannerDisplayStyleDefaultPadding,
|
|
8
|
+
} from '../../constants';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Padding Control backfill (BP-5699 Tier 2, BP-5700 Store): blocks that already
|
|
12
|
+
* had hard-coded top/bottom spacing. Backfill that spacing as the block's explicit
|
|
13
|
+
* topPadding/bottomPadding so existing pages render unchanged once the spacing
|
|
14
|
+
* moves to the Padding Control sliders. Type-scoped and idempotent — only the
|
|
15
|
+
* listed types, and only when the value isn't already set.
|
|
16
|
+
*
|
|
17
|
+
* Exception — `testimonial-section` (BP-5703): testimonials had 32px mobile / 80px
|
|
18
|
+
* desktop and are intentionally collapsing to a single value across both breakpoints,
|
|
19
|
+
* so the backfill sets that single value rather than preserving the old desktop 80px.
|
|
20
|
+
* Existing testimonials will look tighter on desktop / roomier on mobile — by design.
|
|
21
|
+
*/
|
|
22
|
+
const BLOCK_DEFAULT_PADDING: Partial<Record<string, number>> = {
|
|
23
|
+
'images-section': 32,
|
|
24
|
+
'social-links': 32,
|
|
25
|
+
'shapes-section': 32,
|
|
26
|
+
'booking-section': 32,
|
|
27
|
+
'shop-section': 16,
|
|
28
|
+
'about-section': 32,
|
|
29
|
+
'testimonial-section': TESTIMONIAL_DEFAULT_PADDING,
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export const migration17 = async (
|
|
33
|
+
migrationResult: MigrationData,
|
|
34
|
+
): Promise<MigrationData> => {
|
|
35
|
+
const { brandPageModel } = migrationResult;
|
|
36
|
+
|
|
37
|
+
brandPageModel.pages.forEach((page) => {
|
|
38
|
+
page.contents.forEach((content) => {
|
|
39
|
+
// Contact Form and Banner previously varied their hard-coded spacing by
|
|
40
|
+
// layout/display style (full-bleed image layouts had no outer padding), so they're
|
|
41
|
+
// keyed by that rather than a single per-type value.
|
|
42
|
+
let value: number | undefined;
|
|
43
|
+
|
|
44
|
+
if (content.type === 'contact-form') {
|
|
45
|
+
value =
|
|
46
|
+
CONTACT_FORM_LAYOUT_DEFAULT_PADDING[
|
|
47
|
+
(content as ContactFormContent).layoutStyle ?? ''
|
|
48
|
+
];
|
|
49
|
+
} else if (content.type === 'banner-section') {
|
|
50
|
+
value = bannerDisplayStyleDefaultPadding(
|
|
51
|
+
(content as BannerSectionContent).displayStyle,
|
|
52
|
+
);
|
|
53
|
+
} else if (content.type === 'text') {
|
|
54
|
+
// Text outer padding is brand-page-type specific: 12 on Brand Site, 0 on
|
|
55
|
+
// Brand Page / Brand Contact - backfill per type so existing pages render unchanged.
|
|
56
|
+
value =
|
|
57
|
+
brandPageModel.brandPageType === BRAND_PAGE_TYPES.brandSite ? 12 : 0;
|
|
58
|
+
} else {
|
|
59
|
+
value = BLOCK_DEFAULT_PADDING[content.type];
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
if (value === undefined) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
if (content.topPadding === undefined) {
|
|
67
|
+
content.topPadding = value;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
if (content.bottomPadding === undefined) {
|
|
71
|
+
content.bottomPadding = value;
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
return migrationResult;
|
|
77
|
+
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { migrateBrandPageModel } from './migration.util';
|
|
2
2
|
import { migrateNewLogoLogic } from './migration/migration-01';
|
|
3
|
+
import { migration17 } from './migration/migration-17';
|
|
3
4
|
import {
|
|
4
5
|
BrandPageModel,
|
|
5
6
|
type BrandPageData,
|
|
@@ -24,11 +25,18 @@ import {
|
|
|
24
25
|
createInitialTestimonialSectionContent,
|
|
25
26
|
} from '@brand-page-maker/models';
|
|
26
27
|
import {
|
|
28
|
+
ALIGN_CARD_CENTER_IMAGE,
|
|
29
|
+
ALIGN_LEFT_FULL_IMAGE,
|
|
30
|
+
ALIGN_RIGHT_FULL_IMAGE,
|
|
31
|
+
ALIGN_TOP_FULL_IMAGE,
|
|
32
|
+
ALIGN_BOTTOM_FULL_IMAGE,
|
|
33
|
+
ALIGN_MIDDLE_FULL_IMAGE,
|
|
27
34
|
DEFAULT_LETTER_SPACING,
|
|
28
35
|
LINE_HEIGHT_BODY,
|
|
29
36
|
LINE_HEIGHT_HEADINGS,
|
|
30
37
|
LINE_HEIGHT_TITLE,
|
|
31
38
|
TEXT_ONLY,
|
|
39
|
+
TESTIMONIAL_DEFAULT_PADDING,
|
|
32
40
|
} from '../constants';
|
|
33
41
|
|
|
34
42
|
describe('migration.util', () => {
|
|
@@ -1464,6 +1472,288 @@ describe('migration.util', () => {
|
|
|
1464
1472
|
expect(content.layoutStyle).toBe(TEXT_ONLY);
|
|
1465
1473
|
});
|
|
1466
1474
|
|
|
1475
|
+
test('migration17 should backfill contact form padding from its layout style', async () => {
|
|
1476
|
+
const model = await migrateBrandPageModel(getBsModel(), {
|
|
1477
|
+
isUserDraft: false,
|
|
1478
|
+
isServerRender: false,
|
|
1479
|
+
});
|
|
1480
|
+
|
|
1481
|
+
const collapsible = model.brandPageModel.pages[3]
|
|
1482
|
+
.contents[0] as ContactFormContent;
|
|
1483
|
+
const textOnly = model.brandPageModel.pages[3]
|
|
1484
|
+
.contents[1] as ContactFormContent;
|
|
1485
|
+
|
|
1486
|
+
expect(collapsible.topPadding).toBe(0);
|
|
1487
|
+
expect(collapsible.bottomPadding).toBe(0);
|
|
1488
|
+
expect(textOnly.topPadding).toBe(32);
|
|
1489
|
+
expect(textOnly.bottomPadding).toBe(32);
|
|
1490
|
+
});
|
|
1491
|
+
|
|
1492
|
+
test.each([
|
|
1493
|
+
[ALIGN_LEFT_FULL_IMAGE],
|
|
1494
|
+
[ALIGN_RIGHT_FULL_IMAGE],
|
|
1495
|
+
[ALIGN_CARD_CENTER_IMAGE],
|
|
1496
|
+
])(
|
|
1497
|
+
'migration17 should backfill zero padding for the %s contact form layout',
|
|
1498
|
+
async (layoutStyle) => {
|
|
1499
|
+
const brandPageModel = getBsModel();
|
|
1500
|
+
|
|
1501
|
+
(
|
|
1502
|
+
brandPageModel.pages[3].contents[1] as ContactFormContent
|
|
1503
|
+
).layoutStyle = layoutStyle;
|
|
1504
|
+
|
|
1505
|
+
const model = await migrateBrandPageModel(brandPageModel, {
|
|
1506
|
+
isUserDraft: false,
|
|
1507
|
+
isServerRender: false,
|
|
1508
|
+
});
|
|
1509
|
+
|
|
1510
|
+
const content = model.brandPageModel.pages[3]
|
|
1511
|
+
.contents[1] as ContactFormContent;
|
|
1512
|
+
|
|
1513
|
+
expect(content.topPadding).toBe(0);
|
|
1514
|
+
expect(content.bottomPadding).toBe(0);
|
|
1515
|
+
},
|
|
1516
|
+
);
|
|
1517
|
+
|
|
1518
|
+
test('migration17 should not overwrite contact form padding that is already set', async () => {
|
|
1519
|
+
const brandPageModel = getBsModel();
|
|
1520
|
+
|
|
1521
|
+
(brandPageModel.pages[3].contents[1] as ContactFormContent).topPadding =
|
|
1522
|
+
10;
|
|
1523
|
+
|
|
1524
|
+
const model = await migrateBrandPageModel(brandPageModel, {
|
|
1525
|
+
isUserDraft: false,
|
|
1526
|
+
isServerRender: false,
|
|
1527
|
+
});
|
|
1528
|
+
|
|
1529
|
+
const content = model.brandPageModel.pages[3]
|
|
1530
|
+
.contents[1] as ContactFormContent;
|
|
1531
|
+
|
|
1532
|
+
expect(content.topPadding).toBe(10);
|
|
1533
|
+
expect(content.bottomPadding).toBe(32);
|
|
1534
|
+
});
|
|
1535
|
+
|
|
1536
|
+
test('migration17 should backfill 32 padding for standard banner display styles', async () => {
|
|
1537
|
+
const model = await migrateBrandPageModel(getBsModel(), {
|
|
1538
|
+
isUserDraft: false,
|
|
1539
|
+
isServerRender: false,
|
|
1540
|
+
});
|
|
1541
|
+
|
|
1542
|
+
// pages[0].contents[0] is a 'centered' banner (standard, not full-bleed).
|
|
1543
|
+
const banner = model.brandPageModel.pages[0]
|
|
1544
|
+
.contents[0] as BannerSectionContent;
|
|
1545
|
+
|
|
1546
|
+
expect(banner.topPadding).toBe(32);
|
|
1547
|
+
expect(banner.bottomPadding).toBe(32);
|
|
1548
|
+
});
|
|
1549
|
+
|
|
1550
|
+
test.each([
|
|
1551
|
+
[ALIGN_LEFT_FULL_IMAGE],
|
|
1552
|
+
[ALIGN_RIGHT_FULL_IMAGE],
|
|
1553
|
+
[ALIGN_TOP_FULL_IMAGE],
|
|
1554
|
+
[ALIGN_BOTTOM_FULL_IMAGE],
|
|
1555
|
+
[ALIGN_MIDDLE_FULL_IMAGE],
|
|
1556
|
+
])(
|
|
1557
|
+
'migration17 should backfill zero padding for the %s full-bleed banner style',
|
|
1558
|
+
async (displayStyle) => {
|
|
1559
|
+
const brandPageModel = getBsModel();
|
|
1560
|
+
|
|
1561
|
+
(
|
|
1562
|
+
brandPageModel.pages[0].contents[0] as BannerSectionContent
|
|
1563
|
+
).displayStyle = displayStyle;
|
|
1564
|
+
|
|
1565
|
+
const model = await migrateBrandPageModel(brandPageModel, {
|
|
1566
|
+
isUserDraft: false,
|
|
1567
|
+
isServerRender: false,
|
|
1568
|
+
});
|
|
1569
|
+
|
|
1570
|
+
const banner = model.brandPageModel.pages[0]
|
|
1571
|
+
.contents[0] as BannerSectionContent;
|
|
1572
|
+
|
|
1573
|
+
expect(banner.topPadding).toBe(0);
|
|
1574
|
+
expect(banner.bottomPadding).toBe(0);
|
|
1575
|
+
},
|
|
1576
|
+
);
|
|
1577
|
+
|
|
1578
|
+
test('migration17 should backfill 32 padding for standard about display styles', async () => {
|
|
1579
|
+
const model = await migrateBrandPageModel(getBsModel(), {
|
|
1580
|
+
isUserDraft: false,
|
|
1581
|
+
isServerRender: false,
|
|
1582
|
+
});
|
|
1583
|
+
|
|
1584
|
+
// pages[0].contents[2] is a 'centered' about section (standard, not full-image).
|
|
1585
|
+
const about = model.brandPageModel.pages[0]
|
|
1586
|
+
.contents[2] as AboutSectionContent;
|
|
1587
|
+
|
|
1588
|
+
expect(about.topPadding).toBe(32);
|
|
1589
|
+
expect(about.bottomPadding).toBe(32);
|
|
1590
|
+
});
|
|
1591
|
+
|
|
1592
|
+
test.each([[ALIGN_LEFT_FULL_IMAGE], [ALIGN_RIGHT_FULL_IMAGE]])(
|
|
1593
|
+
'migration17 should backfill 32 padding for the %s full-image about style',
|
|
1594
|
+
async (displayStyle) => {
|
|
1595
|
+
const brandPageModel = getBsModel();
|
|
1596
|
+
|
|
1597
|
+
(
|
|
1598
|
+
brandPageModel.pages[0].contents[2] as AboutSectionContent
|
|
1599
|
+
).displayStyle = displayStyle;
|
|
1600
|
+
|
|
1601
|
+
const model = await migrateBrandPageModel(brandPageModel, {
|
|
1602
|
+
isUserDraft: false,
|
|
1603
|
+
isServerRender: false,
|
|
1604
|
+
});
|
|
1605
|
+
|
|
1606
|
+
const about = model.brandPageModel.pages[0]
|
|
1607
|
+
.contents[2] as AboutSectionContent;
|
|
1608
|
+
|
|
1609
|
+
expect(about.topPadding).toBe(32);
|
|
1610
|
+
expect(about.bottomPadding).toBe(32);
|
|
1611
|
+
},
|
|
1612
|
+
);
|
|
1613
|
+
|
|
1614
|
+
test('migration17 should backfill 16 padding for the shop section', async () => {
|
|
1615
|
+
const oldTemplate: BrandPageModel = {
|
|
1616
|
+
pages: [
|
|
1617
|
+
{
|
|
1618
|
+
slug: 'shop',
|
|
1619
|
+
title: 'Shop',
|
|
1620
|
+
contents: [{ type: 'shop-section', id: 'shop-1' }],
|
|
1621
|
+
},
|
|
1622
|
+
],
|
|
1623
|
+
brandPageType: 'brandSite',
|
|
1624
|
+
} as any;
|
|
1625
|
+
|
|
1626
|
+
const model = await migrateBrandPageModel(
|
|
1627
|
+
new BrandPageModel(oldTemplate),
|
|
1628
|
+
{
|
|
1629
|
+
isUserDraft: false,
|
|
1630
|
+
isServerRender: false,
|
|
1631
|
+
},
|
|
1632
|
+
);
|
|
1633
|
+
const shop = model.brandPageModel.pages[0].contents[0] as any;
|
|
1634
|
+
|
|
1635
|
+
expect(shop.topPadding).toBe(16);
|
|
1636
|
+
expect(shop.bottomPadding).toBe(16);
|
|
1637
|
+
});
|
|
1638
|
+
|
|
1639
|
+
test('migration17 should not overwrite shop padding that is already set', async () => {
|
|
1640
|
+
const oldTemplate: BrandPageModel = {
|
|
1641
|
+
pages: [
|
|
1642
|
+
{
|
|
1643
|
+
slug: 'shop',
|
|
1644
|
+
title: 'Shop',
|
|
1645
|
+
contents: [{ type: 'shop-section', id: 'shop-1', topPadding: 40 }],
|
|
1646
|
+
},
|
|
1647
|
+
],
|
|
1648
|
+
brandPageType: 'brandSite',
|
|
1649
|
+
} as any;
|
|
1650
|
+
|
|
1651
|
+
const model = await migrateBrandPageModel(
|
|
1652
|
+
new BrandPageModel(oldTemplate),
|
|
1653
|
+
{
|
|
1654
|
+
isUserDraft: false,
|
|
1655
|
+
isServerRender: false,
|
|
1656
|
+
},
|
|
1657
|
+
);
|
|
1658
|
+
const shop = model.brandPageModel.pages[0].contents[0] as any;
|
|
1659
|
+
|
|
1660
|
+
expect(shop.topPadding).toBe(40);
|
|
1661
|
+
expect(shop.bottomPadding).toBe(16);
|
|
1662
|
+
});
|
|
1663
|
+
|
|
1664
|
+
test('migration17 should backfill the single testimonial padding across both breakpoints', async () => {
|
|
1665
|
+
const oldTemplate: BrandPageModel = {
|
|
1666
|
+
pages: [
|
|
1667
|
+
{
|
|
1668
|
+
slug: 'testimonials',
|
|
1669
|
+
title: 'Testimonials',
|
|
1670
|
+
contents: [{ type: 'testimonial-section', id: 'testimonial-1' }],
|
|
1671
|
+
},
|
|
1672
|
+
],
|
|
1673
|
+
brandPageType: 'brandSite',
|
|
1674
|
+
} as any;
|
|
1675
|
+
|
|
1676
|
+
const model = await migrateBrandPageModel(
|
|
1677
|
+
new BrandPageModel(oldTemplate),
|
|
1678
|
+
{
|
|
1679
|
+
isUserDraft: false,
|
|
1680
|
+
isServerRender: false,
|
|
1681
|
+
},
|
|
1682
|
+
);
|
|
1683
|
+
const testimonial = model.brandPageModel.pages[0].contents[0] as any;
|
|
1684
|
+
|
|
1685
|
+
expect(testimonial.topPadding).toBe(TESTIMONIAL_DEFAULT_PADDING);
|
|
1686
|
+
expect(testimonial.bottomPadding).toBe(TESTIMONIAL_DEFAULT_PADDING);
|
|
1687
|
+
});
|
|
1688
|
+
|
|
1689
|
+
test('migration17 should not overwrite testimonial padding that is already set', async () => {
|
|
1690
|
+
const oldTemplate: BrandPageModel = {
|
|
1691
|
+
pages: [
|
|
1692
|
+
{
|
|
1693
|
+
slug: 'testimonials',
|
|
1694
|
+
title: 'Testimonials',
|
|
1695
|
+
contents: [
|
|
1696
|
+
{
|
|
1697
|
+
type: 'testimonial-section',
|
|
1698
|
+
id: 'testimonial-1',
|
|
1699
|
+
topPadding: 40,
|
|
1700
|
+
},
|
|
1701
|
+
],
|
|
1702
|
+
},
|
|
1703
|
+
],
|
|
1704
|
+
brandPageType: 'brandSite',
|
|
1705
|
+
} as any;
|
|
1706
|
+
|
|
1707
|
+
const model = await migrateBrandPageModel(
|
|
1708
|
+
new BrandPageModel(oldTemplate),
|
|
1709
|
+
{
|
|
1710
|
+
isUserDraft: false,
|
|
1711
|
+
isServerRender: false,
|
|
1712
|
+
},
|
|
1713
|
+
);
|
|
1714
|
+
const testimonial = model.brandPageModel.pages[0].contents[0] as any;
|
|
1715
|
+
|
|
1716
|
+
expect(testimonial.topPadding).toBe(40);
|
|
1717
|
+
expect(testimonial.bottomPadding).toBe(TESTIMONIAL_DEFAULT_PADDING);
|
|
1718
|
+
});
|
|
1719
|
+
|
|
1720
|
+
const runMigration17ForText = async (brandPageType: string) => {
|
|
1721
|
+
const brandPageModel = {
|
|
1722
|
+
brandPageType,
|
|
1723
|
+
pages: [
|
|
1724
|
+
{
|
|
1725
|
+
slug: 'home',
|
|
1726
|
+
title: 'Home',
|
|
1727
|
+
contents: [{ type: 'text', id: 'text-1' }],
|
|
1728
|
+
},
|
|
1729
|
+
],
|
|
1730
|
+
} as any;
|
|
1731
|
+
|
|
1732
|
+
const result = await migration17({
|
|
1733
|
+
brandPageModel,
|
|
1734
|
+
useOldLogoRenderSize: false,
|
|
1735
|
+
});
|
|
1736
|
+
|
|
1737
|
+
return result.brandPageModel.pages[0].contents[0] as any;
|
|
1738
|
+
};
|
|
1739
|
+
|
|
1740
|
+
test('migration17 should backfill 12 text padding for brand site', async () => {
|
|
1741
|
+
const text = await runMigration17ForText('brandSite');
|
|
1742
|
+
|
|
1743
|
+
expect(text.topPadding).toBe(12);
|
|
1744
|
+
expect(text.bottomPadding).toBe(12);
|
|
1745
|
+
});
|
|
1746
|
+
|
|
1747
|
+
test.each(['default', 'brandContact'])(
|
|
1748
|
+
'migration17 should backfill 0 text padding for %s (Brand Page / Brand Contact)',
|
|
1749
|
+
async (brandPageType) => {
|
|
1750
|
+
const text = await runMigration17ForText(brandPageType);
|
|
1751
|
+
|
|
1752
|
+
expect(text.topPadding).toBe(0);
|
|
1753
|
+
expect(text.bottomPadding).toBe(0);
|
|
1754
|
+
},
|
|
1755
|
+
);
|
|
1756
|
+
|
|
1467
1757
|
test('migrateNewLogoLogic should migrate logoDraftToken and logoVariation', () => {
|
|
1468
1758
|
const oldTemplate: BrandPageData = {
|
|
1469
1759
|
pages: [
|