@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
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { BRAND_PAGE_TYPES } from '../../models';
|
|
2
|
+
import { CONTACT_FORM_LAYOUT_DEFAULT_PADDING, TESTIMONIAL_DEFAULT_PADDING, bannerDisplayStyleDefaultPadding, } from '../../constants';
|
|
3
|
+
/**
|
|
4
|
+
* Padding Control backfill (BP-5699 Tier 2, BP-5700 Store): blocks that already
|
|
5
|
+
* had hard-coded top/bottom spacing. Backfill that spacing as the block's explicit
|
|
6
|
+
* topPadding/bottomPadding so existing pages render unchanged once the spacing
|
|
7
|
+
* moves to the Padding Control sliders. Type-scoped and idempotent — only the
|
|
8
|
+
* listed types, and only when the value isn't already set.
|
|
9
|
+
*
|
|
10
|
+
* Exception — `testimonial-section` (BP-5703): testimonials had 32px mobile / 80px
|
|
11
|
+
* desktop and are intentionally collapsing to a single value across both breakpoints,
|
|
12
|
+
* so the backfill sets that single value rather than preserving the old desktop 80px.
|
|
13
|
+
* Existing testimonials will look tighter on desktop / roomier on mobile — by design.
|
|
14
|
+
*/
|
|
15
|
+
const BLOCK_DEFAULT_PADDING = {
|
|
16
|
+
'images-section': 32,
|
|
17
|
+
'social-links': 32,
|
|
18
|
+
'shapes-section': 32,
|
|
19
|
+
'booking-section': 32,
|
|
20
|
+
'shop-section': 16,
|
|
21
|
+
'about-section': 32,
|
|
22
|
+
'testimonial-section': TESTIMONIAL_DEFAULT_PADDING,
|
|
23
|
+
};
|
|
24
|
+
export const migration17 = async (migrationResult) => {
|
|
25
|
+
const { brandPageModel } = migrationResult;
|
|
26
|
+
brandPageModel.pages.forEach((page) => {
|
|
27
|
+
page.contents.forEach((content) => {
|
|
28
|
+
// Contact Form and Banner previously varied their hard-coded spacing by
|
|
29
|
+
// layout/display style (full-bleed image layouts had no outer padding), so they're
|
|
30
|
+
// keyed by that rather than a single per-type value.
|
|
31
|
+
let value;
|
|
32
|
+
if (content.type === 'contact-form') {
|
|
33
|
+
value =
|
|
34
|
+
CONTACT_FORM_LAYOUT_DEFAULT_PADDING[content.layoutStyle ?? ''];
|
|
35
|
+
}
|
|
36
|
+
else if (content.type === 'banner-section') {
|
|
37
|
+
value = bannerDisplayStyleDefaultPadding(content.displayStyle);
|
|
38
|
+
}
|
|
39
|
+
else if (content.type === 'text') {
|
|
40
|
+
// Text outer padding is brand-page-type specific: 12 on Brand Site, 0 on
|
|
41
|
+
// Brand Page / Brand Contact - backfill per type so existing pages render unchanged.
|
|
42
|
+
value =
|
|
43
|
+
brandPageModel.brandPageType === BRAND_PAGE_TYPES.brandSite ? 12 : 0;
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
value = BLOCK_DEFAULT_PADDING[content.type];
|
|
47
|
+
}
|
|
48
|
+
if (value === undefined) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
if (content.topPadding === undefined) {
|
|
52
|
+
content.topPadding = value;
|
|
53
|
+
}
|
|
54
|
+
if (content.bottomPadding === undefined) {
|
|
55
|
+
content.bottomPadding = value;
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
return migrationResult;
|
|
60
|
+
};
|
|
@@ -19,6 +19,7 @@ import { migration13 } from './migration/migration-13';
|
|
|
19
19
|
import { migration14 } from './migration/migration-14';
|
|
20
20
|
import { migration15 } from './migration/migration-15';
|
|
21
21
|
import { migration16 } from './migration/migration-16';
|
|
22
|
+
import { migration17 } from './migration/migration-17';
|
|
22
23
|
const MIGRATION_TABLE = [
|
|
23
24
|
{
|
|
24
25
|
version: 1,
|
|
@@ -122,6 +123,15 @@ const MIGRATION_TABLE = [
|
|
|
122
123
|
runAlways: true,
|
|
123
124
|
description: 'Default sub nav background color to color match on for TAB_2 and hamburger navs depending on font color only on first load flow',
|
|
124
125
|
},
|
|
126
|
+
{
|
|
127
|
+
version: 17,
|
|
128
|
+
migrateFn: migration17,
|
|
129
|
+
// runAlways: re-apply on every load (ticket stack) so already-migrated pages
|
|
130
|
+
// pick up newly-added block defaults (e.g. Store) without a new migration.
|
|
131
|
+
// Idempotent — only backfills when topPadding/bottomPadding aren't already set.
|
|
132
|
+
runAlways: true,
|
|
133
|
+
description: 'Padding Control backfill (BP-5699 Tier 2 + BP-5700 Store): backfill existing top/bottom spacing as explicit padding for text (12px), images/social links/shapes/booking (32px), store (16px), contact form (per layout), banner and about (per display style)',
|
|
134
|
+
},
|
|
125
135
|
];
|
|
126
136
|
export const GetLatestModelVersion = () => Math.max(...MIGRATION_TABLE.map((x) => x.version));
|
|
127
137
|
export const migrateBrandPageModel = async (brandPageModel, options) => {
|
|
@@ -206,15 +206,59 @@ const getPersonalisationValueAsync = async (section, property) => {
|
|
|
206
206
|
}
|
|
207
207
|
return { value: propertyValue, section };
|
|
208
208
|
};
|
|
209
|
+
// The userPrompt AI content generation only populates these content-bearing sections
|
|
210
|
+
// (see GenerateAiDesignMakerContentService / GenerateWebsiteContentService - About,
|
|
211
|
+
// Information, Profile, Media). Sections like email/website/phone are never generated, so
|
|
212
|
+
// blocks whose role points at an ungenerated section fall back to this pool.
|
|
213
|
+
const PERSONALISATION_FALLBACK_ROLES = [
|
|
214
|
+
'profile',
|
|
215
|
+
'about',
|
|
216
|
+
'information',
|
|
217
|
+
'media',
|
|
218
|
+
];
|
|
219
|
+
// "Effectively empty" = no renderable content (ungenerated userPrompt sections like
|
|
220
|
+
// email/website/phone). A section that has data but lacks one property is NOT empty - it
|
|
221
|
+
// intentionally keeps its original content.
|
|
222
|
+
const isSectionEffectivelyEmpty = (section) => {
|
|
223
|
+
if (!section) {
|
|
224
|
+
return true;
|
|
225
|
+
}
|
|
226
|
+
return (!section.title &&
|
|
227
|
+
!section.name &&
|
|
228
|
+
!section.url &&
|
|
229
|
+
!section.description &&
|
|
230
|
+
!section.descriptionShort &&
|
|
231
|
+
!section.ctaTitle &&
|
|
232
|
+
!section.imageUrls?.length &&
|
|
233
|
+
!section.shapes?.length &&
|
|
234
|
+
!section.items?.length &&
|
|
235
|
+
!section.mainShapesCollection?.tall?.length &&
|
|
236
|
+
!section.mainShapesCollection?.square?.length &&
|
|
237
|
+
!section.mainShapesCollection?.wide?.length);
|
|
238
|
+
};
|
|
239
|
+
// Resolve a property from a specific role's section. Returns null when that section is
|
|
240
|
+
// ungenerated (effectively empty) or cannot supply the property, so the caller can try the
|
|
241
|
+
// next role.
|
|
242
|
+
const resolvePersonalisationValueForRoleAsync = async (role, property, personalisation) => {
|
|
243
|
+
const key = `${role}Section`;
|
|
244
|
+
const section = personalisation[key];
|
|
245
|
+
if (isSectionEffectivelyEmpty(section)) {
|
|
246
|
+
return null;
|
|
247
|
+
}
|
|
248
|
+
const { value, section: updatedSection, valuesToUpdate, } = await getPersonalisationValueAsync(section, property);
|
|
249
|
+
if (value === undefined || value === null) {
|
|
250
|
+
return null;
|
|
251
|
+
}
|
|
252
|
+
return {
|
|
253
|
+
value,
|
|
254
|
+
personalisation: { ...personalisation, [key]: updatedSection },
|
|
255
|
+
valuesToUpdate,
|
|
256
|
+
};
|
|
257
|
+
};
|
|
209
258
|
const getPersonalisationValueFromPropertyAsync = async (propertyKey, propertyValue, personalisationRole, personalisationOverride, personalisation, contentType) => {
|
|
210
259
|
if (!personalisationRole || personalisationOverride === 'none') {
|
|
211
260
|
return { value: undefined, personalisation };
|
|
212
261
|
}
|
|
213
|
-
const matchingValue = Object.entries(personalisation).find(([key]) => key === `${personalisationRole}Section`);
|
|
214
|
-
if (!matchingValue) {
|
|
215
|
-
return { value: undefined, personalisation };
|
|
216
|
-
}
|
|
217
|
-
const section = matchingValue[1];
|
|
218
262
|
const mapping = getPersonalisationMappingForContentType(contentType);
|
|
219
263
|
const matchingProperty = Object.entries(mapping).find(([, value]) => value.includes(propertyKey));
|
|
220
264
|
if (!matchingProperty) {
|
|
@@ -225,15 +269,29 @@ const getPersonalisationValueFromPropertyAsync = async (propertyKey, propertyVal
|
|
|
225
269
|
brandPageType: personalisation.type,
|
|
226
270
|
isSvgShape: typeof propertyValue === 'string' && propertyValue.endsWith('.svg'),
|
|
227
271
|
});
|
|
228
|
-
const
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
},
|
|
235
|
-
|
|
236
|
-
|
|
272
|
+
const primaryKey = `${personalisationRole}Section`;
|
|
273
|
+
const primarySection = personalisation[primaryKey];
|
|
274
|
+
// When the block's own section has content, use it as-is - this preserves existing
|
|
275
|
+
// behaviour, including legitimately keeping the original when that section lacks a
|
|
276
|
+
// specific property (e.g. no items, or an invalid shape).
|
|
277
|
+
if (!isSectionEffectivelyEmpty(primarySection)) {
|
|
278
|
+
const { value, section: updatedSection, valuesToUpdate, } = await getPersonalisationValueAsync(primarySection, property);
|
|
279
|
+
return {
|
|
280
|
+
value,
|
|
281
|
+
personalisation: { ...personalisation, [primaryKey]: updatedSection },
|
|
282
|
+
valuesToUpdate,
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
// The block's section was never generated - fall back to the first populated section that
|
|
286
|
+
// can supply this property, so it doesn't render the "should be AI generated" placeholder.
|
|
287
|
+
// Never reached when the section exists (above) or all are populated (AI Website Builder).
|
|
288
|
+
for (const role of PERSONALISATION_FALLBACK_ROLES) {
|
|
289
|
+
const resolved = await resolvePersonalisationValueForRoleAsync(role, property, personalisation);
|
|
290
|
+
if (resolved) {
|
|
291
|
+
return resolved;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
return { value: undefined, personalisation };
|
|
237
295
|
};
|
|
238
296
|
const applyPersonalisationToBrandPageContentsRecursiveAsync = async (personalisation, mappingType, content, personalisationRole) => {
|
|
239
297
|
let isApplied = false;
|
|
@@ -6,12 +6,12 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
6
6
|
isBrandContact: import("vue").ComputedRef<boolean>;
|
|
7
7
|
userStore: import("pinia").Store<"brandPageMakerUser", import("@brand-page-maker/stores").UserState, {}, {
|
|
8
8
|
setUserState(payload: {
|
|
9
|
-
emailAddress?: string
|
|
10
|
-
userToken?: string
|
|
11
|
-
isAdmin?: boolean
|
|
12
|
-
hasPremiumSubscription?: boolean
|
|
13
|
-
brandPageCommissionPercentage?: number
|
|
14
|
-
features?: Partial<import("
|
|
9
|
+
emailAddress?: string;
|
|
10
|
+
userToken?: string;
|
|
11
|
+
isAdmin?: boolean;
|
|
12
|
+
hasPremiumSubscription?: boolean;
|
|
13
|
+
brandPageCommissionPercentage?: number;
|
|
14
|
+
features?: Partial<import("@brand-page-maker/stores").UserFeatures>;
|
|
15
15
|
}): void;
|
|
16
16
|
}>;
|
|
17
17
|
brandPageMakerStore: import("pinia").Store<"brandPageMaker", import("@brand-page-maker/stores").BrandPageMakerState, {
|
|
@@ -22,7 +22,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
22
22
|
brandPageToken(): string | undefined;
|
|
23
23
|
brandPageDescription(): string;
|
|
24
24
|
brandPageSlug(): string;
|
|
25
|
-
brandPageTemplate():
|
|
25
|
+
brandPageTemplate(): import("@brand-page/models").BrandPageData;
|
|
26
26
|
brandPageTitle(): string;
|
|
27
27
|
brandPageViewModel(): import("../../../brand-page").BrandPageViewModel;
|
|
28
28
|
gettyVideoIds(): string[];
|
|
@@ -37,7 +37,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
37
37
|
showBrandCrowdLogo(): boolean;
|
|
38
38
|
}, {
|
|
39
39
|
setMode(payload: {
|
|
40
|
-
mode: "
|
|
40
|
+
mode: import("@brand-page-maker/stores").BrandPageSettingsMode;
|
|
41
41
|
}): void;
|
|
42
42
|
setFaviconUrl(payload: {
|
|
43
43
|
faviconUrl: string | undefined;
|
|
@@ -81,7 +81,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
81
81
|
enqueueContentErrorMessage(): void;
|
|
82
82
|
dequeueNotificationMessageQueue(): void;
|
|
83
83
|
setCurrentNotificationMessage(payload: {
|
|
84
|
-
message:
|
|
84
|
+
message: import("@brand-page-maker/stores").NotificationMessage | false;
|
|
85
85
|
}): void;
|
|
86
86
|
setIsApplyingTemplate(payload: import("@brand-page-maker/stores").IsApplyingTemplatePayload): void;
|
|
87
87
|
setIsPageNavigating(isPageNavigating: boolean): void;
|
|
@@ -100,9 +100,9 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
100
100
|
applySelectedTemplate(): Promise<void>;
|
|
101
101
|
enqueueErrorMessage(): Promise<void>;
|
|
102
102
|
enqueueSaveSuccessMessage(payload?: {
|
|
103
|
-
description?: string
|
|
104
|
-
isPublished?: boolean
|
|
105
|
-
noDescription?: boolean
|
|
103
|
+
description?: string;
|
|
104
|
+
isPublished?: boolean;
|
|
105
|
+
noDescription?: boolean;
|
|
106
106
|
}): Promise<void>;
|
|
107
107
|
hideChangeTemplateConfirmModal(): void;
|
|
108
108
|
onBackgroundChanged(): void;
|
|
@@ -118,16 +118,16 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
118
118
|
content: TContent;
|
|
119
119
|
}>(payload: P): Promise<void>;
|
|
120
120
|
_captureTemplateSwitchIfEnabled(): void;
|
|
121
|
-
applyHistorySnapshot(snapshot: import("@brand-page/models").BrandPageModel, activePageId?: string
|
|
122
|
-
_syncLogoSettingsFromSnapshot(snapshot: import("@brand-page/models").BrandPageModel, logoEditsStr?: string
|
|
123
|
-
_navigateToActivePage(activePageId?: string
|
|
121
|
+
applyHistorySnapshot(snapshot: import("@brand-page/models").BrandPageModel, activePageId?: string, logoEditsStr?: string): Promise<void>;
|
|
122
|
+
_syncLogoSettingsFromSnapshot(snapshot: import("@brand-page/models").BrandPageModel, logoEditsStr?: string): Promise<void>;
|
|
123
|
+
_navigateToActivePage(activePageId?: string): void;
|
|
124
124
|
_fallbackSidebarIfSelectedContentMissing(snapshot: import("@brand-page/models").BrandPageModel): void;
|
|
125
125
|
export(): import("@brand-page/models").BrandPageModel;
|
|
126
126
|
setBrandPageType({ brandPageType }: {
|
|
127
|
-
brandPageType: "
|
|
127
|
+
brandPageType: import("@brand-page/models").BrandPageType;
|
|
128
128
|
}): void;
|
|
129
129
|
initialiseStoresByBrandPageModelAsync(brandPageModel: import("@brand-page/models").BrandPageModel): Promise<void>;
|
|
130
|
-
initialise({ brandPage, brandPageType, logoDraftDesignAttributes, unsplashApplicationName, templateCategories, personalisationData, isPersonalisationEnabled, businessName, industry, layout, logoVariationImageUrls, shopConfigData, isServerRenderOverride, }: import("@brand-page-maker/stores").InitialisePayload): Promise<void>;
|
|
130
|
+
initialise({ brandPage, brandPageType, logoDraftDesignAttributes, unsplashApplicationName, templateCategories, personalisationData, isPersonalisationEnabled, userPromptContentKey, showAiTemplatesTab, businessName, industry, layout, logoVariationImageUrls, shopConfigData: _shopConfigData, isServerRenderOverride, }: import("@brand-page-maker/stores").InitialisePayload): Promise<void>;
|
|
131
131
|
initialisePages({ pages, sections, }: {
|
|
132
132
|
pages: import("@brand-page/models").PageModel[];
|
|
133
133
|
sections: import("../../../shared/page-settings/store").PageSettingsStateSections;
|
|
@@ -155,11 +155,13 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
155
155
|
viewport: import("@brand-page/models").ViewportsType;
|
|
156
156
|
}): void;
|
|
157
157
|
showStripeOnboardingModal(): Promise<void>;
|
|
158
|
-
selectInitialCategories(payload: import("
|
|
158
|
+
selectInitialCategories(payload: import("@brand-page-maker/stores").SelectedCategoryPayload): void;
|
|
159
159
|
}>;
|
|
160
160
|
}, {}, {}, {
|
|
161
161
|
saveBrandPage(): void;
|
|
162
162
|
saveAndPublishBrandPage(isActionBar: boolean): void;
|
|
163
163
|
createTeamCards(isTopNav: boolean): void;
|
|
164
|
-
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin,
|
|
164
|
+
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "create-team-cards"[], "create-team-cards", import("vue").PublicProps, Readonly<{}> & Readonly<{
|
|
165
|
+
"onCreate-team-cards"?: ((...args: any[]) => any) | undefined;
|
|
166
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
165
167
|
export default _default;
|
|
@@ -4,6 +4,7 @@ import { computed, defineComponent } from 'vue';
|
|
|
4
4
|
import { UPGRADE_CTA_LOCATIONS } from './../../composables/useEventTracker';
|
|
5
5
|
import { BRAND_PAGE_TYPES } from '@brand-page/models';
|
|
6
6
|
export default defineComponent({
|
|
7
|
+
emits: ['create-team-cards'],
|
|
7
8
|
setup() {
|
|
8
9
|
const userStore = useBrandPageMakerUserStore();
|
|
9
10
|
const brandPageMakerStore = useBrandPageMakerStore();
|
|
@@ -180,7 +180,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
180
180
|
wordBreak?: string | undefined;
|
|
181
181
|
};
|
|
182
182
|
}[];
|
|
183
|
-
personalisationRole?: "
|
|
183
|
+
personalisationRole?: import("../../../brand-page").PersonalisationRole | undefined;
|
|
184
184
|
media?: {
|
|
185
185
|
type: import("../../../brand-page").MediaTypes;
|
|
186
186
|
} | undefined;
|
|
@@ -243,14 +243,20 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
243
243
|
thirdPartySettings: import("../../../lib").UIRootStateThirdPartySettings;
|
|
244
244
|
}): void;
|
|
245
245
|
setDeviceMode({ mode }: {
|
|
246
|
-
mode: "
|
|
246
|
+
mode: import("../../../lib").UiDeviceMode;
|
|
247
247
|
}): void;
|
|
248
248
|
setScreenSizeMode({ mode }: {
|
|
249
|
-
mode: "
|
|
249
|
+
mode: import("../../../lib").UiScreenSizeMode;
|
|
250
250
|
}): void;
|
|
251
251
|
setUserPersonalisationData({ personalisationData, }: {
|
|
252
252
|
personalisationData: import("../../../brand-page").UserPersonalisationContent[];
|
|
253
253
|
}): void;
|
|
254
|
+
setUserPromptContentKey({ userPromptContentKey, }: {
|
|
255
|
+
userPromptContentKey: string | undefined;
|
|
256
|
+
}): void;
|
|
257
|
+
setShowAiTemplatesTab({ showAiTemplatesTab, }: {
|
|
258
|
+
showAiTemplatesTab: boolean;
|
|
259
|
+
}): void;
|
|
254
260
|
onBackgroundChanged(): void;
|
|
255
261
|
onContentChanged(): void;
|
|
256
262
|
onStyleChanged(): void;
|
|
@@ -263,7 +269,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
263
269
|
type: string;
|
|
264
270
|
}): Promise<void>;
|
|
265
271
|
onTemplateSelected(payload: import("@brand-page-maker/stores").OnTemplateSelectedPayload): Promise<void>;
|
|
266
|
-
showUpgradeModalAndSaveAsync(contextualUpgradeType?:
|
|
272
|
+
showUpgradeModalAndSaveAsync(contextualUpgradeType?: import("@brand-page-maker/stores").WebsiteContextUpgradeType): Promise<void>;
|
|
267
273
|
setIsPersonalisationEnabled({ isPersonalisationEnabled, }: {
|
|
268
274
|
isPersonalisationEnabled: boolean;
|
|
269
275
|
}): void;
|
|
@@ -273,11 +279,11 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
273
279
|
}, {
|
|
274
280
|
onBackgroundChanged(): void;
|
|
275
281
|
setBackgroundStyle({ backgroundStyle, }: {
|
|
276
|
-
backgroundStyle:
|
|
282
|
+
backgroundStyle: import("../../../brand-page").BackgroundStyle;
|
|
277
283
|
}): void;
|
|
278
284
|
setBackgroundShapes(payload: import("../../../brand-page").BackgroundShape[]): void;
|
|
279
285
|
setBackgroundPersonalisationRole(payload: {
|
|
280
|
-
personalisationRole: "
|
|
286
|
+
personalisationRole: import("../../../brand-page").PersonalisationRole | undefined;
|
|
281
287
|
}): void;
|
|
282
288
|
setBackgroundShapeStyle(payload: BrandPageCssStyle): void;
|
|
283
289
|
setPrimaryBackgroundShapeStyle(payload: BrandPageCssStyle): void;
|
|
@@ -286,9 +292,9 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
286
292
|
}): void;
|
|
287
293
|
addBackgroundShape({ shapeUrl, width, height, aspectRatio, }: {
|
|
288
294
|
shapeUrl: string;
|
|
289
|
-
width?: number
|
|
290
|
-
height?: number
|
|
291
|
-
aspectRatio?: number
|
|
295
|
+
width?: number;
|
|
296
|
+
height?: number;
|
|
297
|
+
aspectRatio?: number;
|
|
292
298
|
}): void;
|
|
293
299
|
deleteBackgroundShape({ shapeIndex }: {
|
|
294
300
|
shapeIndex: number;
|
|
@@ -303,7 +309,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
303
309
|
setBackgroundShapeSettings(payload: import("../../../shared/background-settings/background-settings-models").SetBackgroundShapeSettingsPayload): void;
|
|
304
310
|
setRecommendedLogoColors(payload: import("../../../shared/background-settings/background-settings-models").SetRecommendedLogoColorsPayload): void;
|
|
305
311
|
setBackgroundMode(payload: {
|
|
306
|
-
backgroundMode: "
|
|
312
|
+
backgroundMode: import("@brand-page-maker/stores").BrandPageSettingsMode;
|
|
307
313
|
}): void;
|
|
308
314
|
setBackgroundMedia(payload: import("src/shared/my-uploads/models").MediaBaseSelectedPayload): void;
|
|
309
315
|
removeBackgroundVideo(): void;
|
package/lib/src/brand-page-maker/components/admin-logo-settings/AdminLogoSettings.mixin.d.ts
CHANGED
|
@@ -2,12 +2,14 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
2
2
|
templates: import("vue").ComputedRef<import("@brand-page-maker/stores/admin-logo-settings").AdminPreviewLogoTemplateTemplate[]>;
|
|
3
3
|
items: import("vue").ComputedRef<{
|
|
4
4
|
id: string;
|
|
5
|
-
type: "
|
|
5
|
+
type: import("../../../brand-page").ContentType;
|
|
6
6
|
settings: {
|
|
7
7
|
content: {
|
|
8
8
|
id: string;
|
|
9
|
-
type: "
|
|
10
|
-
personalisationRole?: "
|
|
9
|
+
type: import("../../../brand-page").ContentType;
|
|
10
|
+
personalisationRole?: import("../../../brand-page").PersonalisationRole | undefined;
|
|
11
|
+
topPadding?: number | undefined;
|
|
12
|
+
bottomPadding?: number | undefined;
|
|
11
13
|
imageUrlOverride?: string | undefined;
|
|
12
14
|
imageUrlsOverride?: string | undefined;
|
|
13
15
|
avatarImageUrlOverride?: string | undefined;
|