@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
|
@@ -15,8 +15,10 @@ export const ButtonStyleConfigOptions = [
|
|
|
15
15
|
|
|
16
16
|
export type ButtonStyleConfigOption = (typeof ButtonStyleConfigOptions)[number];
|
|
17
17
|
|
|
18
|
-
export interface ButtonStyleConfig
|
|
19
|
-
|
|
18
|
+
export interface ButtonStyleConfig extends Omit<
|
|
19
|
+
ButtonStyles,
|
|
20
|
+
'style' | 'template' | 'selectedButtonStyleId'
|
|
21
|
+
> {
|
|
20
22
|
readonly id: string;
|
|
21
23
|
readonly hasShadow: boolean;
|
|
22
24
|
readonly hasSoftShadow?: boolean;
|
|
@@ -156,8 +156,10 @@ export interface ContentSettingsField<TContent> {
|
|
|
156
156
|
styleName?: string;
|
|
157
157
|
}
|
|
158
158
|
|
|
159
|
-
export interface ContentSettingsMultiField<TContent, TField>
|
|
160
|
-
|
|
159
|
+
export interface ContentSettingsMultiField<TContent, TField> extends Omit<
|
|
160
|
+
ContentSettingsField<TContent>,
|
|
161
|
+
'type' | 'role'
|
|
162
|
+
> {
|
|
161
163
|
type: ItemMultiFieldType;
|
|
162
164
|
role: 'multi';
|
|
163
165
|
fields?: {
|
|
@@ -24,6 +24,8 @@ import {
|
|
|
24
24
|
EMPTY_LOGO_IMAGE_MODEL,
|
|
25
25
|
BRAND_PAGE_TYPES,
|
|
26
26
|
SENSITIVE_CONTENT_TYPES,
|
|
27
|
+
CONTACT_FORM_LAYOUT_DEFAULT_PADDING,
|
|
28
|
+
TESTIMONIAL_DEFAULT_PADDING,
|
|
27
29
|
} from '@brand-page';
|
|
28
30
|
import type {
|
|
29
31
|
ButtonContent,
|
|
@@ -171,6 +173,8 @@ export const createInitialImageGalleryContent = (): ImageGalleryContent => {
|
|
|
171
173
|
galleryStyles: {
|
|
172
174
|
galleryType: 'grid',
|
|
173
175
|
},
|
|
176
|
+
topPadding: 0,
|
|
177
|
+
bottomPadding: 0,
|
|
174
178
|
};
|
|
175
179
|
};
|
|
176
180
|
|
|
@@ -182,6 +186,8 @@ export const createInitialVideoContent = (): VideoContent => {
|
|
|
182
186
|
displayStyle: DISPLAY_STYLE_PREVIEW,
|
|
183
187
|
mute: false,
|
|
184
188
|
videoUrl: '',
|
|
189
|
+
topPadding: 0,
|
|
190
|
+
bottomPadding: 0,
|
|
185
191
|
};
|
|
186
192
|
};
|
|
187
193
|
|
|
@@ -239,6 +245,10 @@ export const createInitialTextContent = (
|
|
|
239
245
|
]
|
|
240
246
|
: undefined,
|
|
241
247
|
type: 'text',
|
|
248
|
+
// Brand Site text blocks sit in a 12px outer padding; Brand Page / Brand Contact use 0.
|
|
249
|
+
topPadding: options?.brandPageType === BRAND_PAGE_TYPES.brandSite ? 12 : 0,
|
|
250
|
+
bottomPadding:
|
|
251
|
+
options?.brandPageType === BRAND_PAGE_TYPES.brandSite ? 12 : 0,
|
|
242
252
|
textSize: {
|
|
243
253
|
fontSize: FONT_SIZE_BODY,
|
|
244
254
|
lineHeight: LINE_HEIGHT_BODY,
|
|
@@ -282,6 +292,8 @@ export const createInitialMapContent = (): MapContent => {
|
|
|
282
292
|
formattedAddress: '',
|
|
283
293
|
placeId: '',
|
|
284
294
|
},
|
|
295
|
+
topPadding: 0,
|
|
296
|
+
bottomPadding: 0,
|
|
285
297
|
};
|
|
286
298
|
};
|
|
287
299
|
|
|
@@ -291,6 +303,8 @@ export const createInitialMailingListContent = (
|
|
|
291
303
|
return {
|
|
292
304
|
id: uuid.v4(),
|
|
293
305
|
type: 'mailing-list',
|
|
306
|
+
topPadding: 0,
|
|
307
|
+
bottomPadding: 0,
|
|
294
308
|
title: contentSettingsTr(`mailingListTitle`),
|
|
295
309
|
buttonText: contentSettingsTr(`subscribePlaceholder`),
|
|
296
310
|
acceptedFields: 'emailOnly',
|
|
@@ -324,6 +338,8 @@ export const createInitialRequestPaymentContent = (
|
|
|
324
338
|
successMessage: '',
|
|
325
339
|
title: contentSettingsTr(`buyNowTitle`),
|
|
326
340
|
type: 'request-payment',
|
|
341
|
+
topPadding: 0,
|
|
342
|
+
bottomPadding: 0,
|
|
327
343
|
fillColor: {},
|
|
328
344
|
defaultBorderColor: {},
|
|
329
345
|
selectedBorderColor: {},
|
|
@@ -356,6 +372,8 @@ export const createInitialShopContent = (
|
|
|
356
372
|
return {
|
|
357
373
|
id: uuid.v4(),
|
|
358
374
|
description: '',
|
|
375
|
+
topPadding: 16,
|
|
376
|
+
bottomPadding: 16,
|
|
359
377
|
products: [],
|
|
360
378
|
displayStyle: PAYMENT_OPTION_DISPLAY_TYPES.thumbnail,
|
|
361
379
|
aspectRatio: PAYMENT_OPTION_IMAGE_TYPES.auto,
|
|
@@ -415,6 +433,8 @@ export const createInitialSupportMeContent = (
|
|
|
415
433
|
successMessage: contentSettingsTr(`successSupportPlaceholder`),
|
|
416
434
|
description: contentSettingsTr(`makeADonationDescription`),
|
|
417
435
|
type: 'support-me',
|
|
436
|
+
topPadding: 0,
|
|
437
|
+
bottomPadding: 0,
|
|
418
438
|
titleStyle: {
|
|
419
439
|
applyAutoScale: options?.brandPageType === BRAND_PAGE_TYPES.brandSite,
|
|
420
440
|
textStyleType: TEXT_STYLE_TYPES.headings,
|
|
@@ -453,14 +473,21 @@ export const createInitialContactFormContent: CreateInitialContentFunction<
|
|
|
453
473
|
console.error('userState.emailAddress should not be undefined');
|
|
454
474
|
}
|
|
455
475
|
|
|
476
|
+
// New blocks inherit the padding their initial layout previously had
|
|
477
|
+
// hard-coded — same source as the migration backfill for existing pages.
|
|
478
|
+
const layoutStyle =
|
|
479
|
+
options?.brandPageType === 'brandSite' ? 'center-card-aligned' : '';
|
|
480
|
+
const padding = CONTACT_FORM_LAYOUT_DEFAULT_PADDING[layoutStyle] ?? 0;
|
|
481
|
+
|
|
456
482
|
return {
|
|
457
483
|
id: uuid.v4(),
|
|
458
484
|
title: contentSettingsTr(`contactUsTitle`),
|
|
459
485
|
description: '',
|
|
460
486
|
buttonText: contentSettingsTr(`sendPlaceholder`),
|
|
461
487
|
displayStyle: DISPLAY_STYLE_PREVIEW,
|
|
462
|
-
layoutStyle
|
|
463
|
-
|
|
488
|
+
layoutStyle,
|
|
489
|
+
topPadding: padding,
|
|
490
|
+
bottomPadding: padding,
|
|
464
491
|
imageUrl: '',
|
|
465
492
|
fields: [
|
|
466
493
|
{
|
|
@@ -553,6 +580,8 @@ export const createInitialBannerSectionContent: CreateInitialContentFunction<
|
|
|
553
580
|
> = (options?: CreateInitialContentOptions) => {
|
|
554
581
|
return {
|
|
555
582
|
id: uuid.v4(),
|
|
583
|
+
topPadding: 32,
|
|
584
|
+
bottomPadding: 32,
|
|
556
585
|
imageUrl: '',
|
|
557
586
|
title: contentSettingsTr(`thisIsABannerTitle`),
|
|
558
587
|
description: '',
|
|
@@ -599,6 +628,8 @@ export const createInitialBookingSectionContent: CreateInitialContentFunction<
|
|
|
599
628
|
buttonText: contentSettingsTr(`bookNowLabel`),
|
|
600
629
|
url: '',
|
|
601
630
|
type: 'booking-section',
|
|
631
|
+
topPadding: 32,
|
|
632
|
+
bottomPadding: 32,
|
|
602
633
|
descriptionStyle: {
|
|
603
634
|
applyAutoScale: options?.brandPageType === BRAND_PAGE_TYPES.brandSite,
|
|
604
635
|
textStyleType: TEXT_STYLE_TYPES.paragraphs,
|
|
@@ -628,6 +659,8 @@ export const createInitialImagesSectionContent: CreateInitialContentFunction<
|
|
|
628
659
|
title: contentSettingsTr(`imagesTitle`),
|
|
629
660
|
description: '',
|
|
630
661
|
type: 'images-section',
|
|
662
|
+
topPadding: 32,
|
|
663
|
+
bottomPadding: 32,
|
|
631
664
|
displayStyle: 'centered',
|
|
632
665
|
aspectRatio: 'Default',
|
|
633
666
|
areImagesFullWidth: false,
|
|
@@ -683,6 +716,8 @@ export const createInitialTestimonialSectionContent: CreateInitialContentFunctio
|
|
|
683
716
|
title: contentSettingsTr(`testimonialsTitle`),
|
|
684
717
|
type: 'testimonial-section',
|
|
685
718
|
displayStyle: 'centered',
|
|
719
|
+
topPadding: TESTIMONIAL_DEFAULT_PADDING,
|
|
720
|
+
bottomPadding: TESTIMONIAL_DEFAULT_PADDING,
|
|
686
721
|
items: [],
|
|
687
722
|
titleStyle: {
|
|
688
723
|
applyAutoScale: options?.brandPageType === BRAND_PAGE_TYPES.brandSite,
|
|
@@ -731,6 +766,8 @@ export const createInitialAboutSectionContent: CreateInitialContentFunction<
|
|
|
731
766
|
textAlign: 'center',
|
|
732
767
|
},
|
|
733
768
|
backgroundStyle: {},
|
|
769
|
+
topPadding: 32,
|
|
770
|
+
bottomPadding: 32,
|
|
734
771
|
};
|
|
735
772
|
};
|
|
736
773
|
|
|
@@ -793,6 +830,8 @@ export const createInitialSocialLinksContent = (
|
|
|
793
830
|
return {
|
|
794
831
|
id: uuid.v4(),
|
|
795
832
|
type: 'social-links',
|
|
833
|
+
topPadding: 32,
|
|
834
|
+
bottomPadding: 32,
|
|
796
835
|
title: contentSettingsTr(`followUsOnTitle`),
|
|
797
836
|
links: [
|
|
798
837
|
{
|
|
@@ -846,6 +885,8 @@ export const createInitialShapesSectionContent: CreateInitialContentFunction<
|
|
|
846
885
|
title: contentSettingsTr(`shapesTitle`),
|
|
847
886
|
description: '',
|
|
848
887
|
type: 'shapes-section',
|
|
888
|
+
topPadding: 32,
|
|
889
|
+
bottomPadding: 32,
|
|
849
890
|
displayStyle: 'centered',
|
|
850
891
|
items: [
|
|
851
892
|
{
|
|
@@ -14,7 +14,7 @@ import type {
|
|
|
14
14
|
import type { PageSection } from '@shared/page-settings/models';
|
|
15
15
|
import { PAGE_SECTIONS } from '@shared/page-settings/models';
|
|
16
16
|
import type { ButtonGroupOption } from './button-group.model';
|
|
17
|
-
import {
|
|
17
|
+
import { commonTr, modelsTr } from '@src/composables/useTranslate';
|
|
18
18
|
|
|
19
19
|
export const NavigationStyleConfigOptions = {
|
|
20
20
|
defaultBorderColor: 'defaultBorderColor',
|
|
@@ -46,11 +46,10 @@ export const NAVIGATION_STYLE_CONFIG_OPTION_TITLES = (): Record<
|
|
|
46
46
|
subNavBackgroundColor: modelsTr('subNavBackgroundColor'),
|
|
47
47
|
});
|
|
48
48
|
|
|
49
|
-
export interface NavigationStyleConfig
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
> {
|
|
49
|
+
export interface NavigationStyleConfig extends Omit<
|
|
50
|
+
NavigationDesktop | NavigationMobile,
|
|
51
|
+
'isLogoVisible' | 'hamburgerMenuStyle' | 'viewport'
|
|
52
|
+
> {
|
|
54
53
|
buttonGroupOption: ButtonGroupOption;
|
|
55
54
|
options: NavigationStyleConfigOption[];
|
|
56
55
|
}
|
|
@@ -21,7 +21,6 @@ import {
|
|
|
21
21
|
BRAND_PAGE_TYPES,
|
|
22
22
|
SENSITIVE_CONTENT_TYPES,
|
|
23
23
|
getAbTestResults,
|
|
24
|
-
getValueType,
|
|
25
24
|
type AbTest,
|
|
26
25
|
type LogoContent,
|
|
27
26
|
} from '@brand-page';
|
|
@@ -34,7 +33,6 @@ import {
|
|
|
34
33
|
TRIGGER_TYPE,
|
|
35
34
|
UPGRADE_CTA_LOCATIONS,
|
|
36
35
|
useEventTracker,
|
|
37
|
-
EVENTS,
|
|
38
36
|
} from '@brand-page-maker/composables/useEventTracker';
|
|
39
37
|
import { navigationTr } from '@src/composables/useTranslate';
|
|
40
38
|
import type { WebsiteSlugCheckResponse } from '@brand-page-maker/models/api.model';
|
|
@@ -123,6 +121,7 @@ export type InitialisePayload = Omit<
|
|
|
123
121
|
logoDraftAssets: LogoDraftAsset[];
|
|
124
122
|
gettyVideos: GettyVideoEditorViewModelResponse[];
|
|
125
123
|
templateSearchTerm: string | undefined;
|
|
124
|
+
aiTemplateKeywords: string | undefined;
|
|
126
125
|
onSearchTermChanged?: OnSearchTermChangedCallback;
|
|
127
126
|
};
|
|
128
127
|
|
|
@@ -266,6 +265,10 @@ export const useBrandPageContainerStore = defineStore('brandPageContainer', {
|
|
|
266
265
|
onSearchTermChanged: payload.onSearchTermChanged,
|
|
267
266
|
});
|
|
268
267
|
|
|
268
|
+
templateSettingsStore.setAiTemplateKeywords({
|
|
269
|
+
aiTemplateKeywords: payload.aiTemplateKeywords ?? '',
|
|
270
|
+
});
|
|
271
|
+
|
|
269
272
|
brandPageMakerStore.setSelectedTemplateId({
|
|
270
273
|
templateId: this.designTemplateToken,
|
|
271
274
|
});
|
|
@@ -446,7 +449,7 @@ export const useBrandPageContainerStore = defineStore('brandPageContainer', {
|
|
|
446
449
|
|
|
447
450
|
async publishBrandPage({ shouldPublish, slug }) {
|
|
448
451
|
const brandPageMakerStore = useBrandPageMakerStore();
|
|
449
|
-
const
|
|
452
|
+
const _eventTracker = useEventTracker();
|
|
450
453
|
|
|
451
454
|
if (!this.designDraftToken) {
|
|
452
455
|
throw new Error(
|
|
@@ -553,7 +556,7 @@ export const useBrandPageContainerStore = defineStore('brandPageContainer', {
|
|
|
553
556
|
isPurchasedDomain,
|
|
554
557
|
}) {
|
|
555
558
|
const brandPageMakerStore = useBrandPageMakerStore();
|
|
556
|
-
const
|
|
559
|
+
const _eventTracker = useEventTracker();
|
|
557
560
|
|
|
558
561
|
if (!this.designDraftToken) {
|
|
559
562
|
throw new Error(
|
|
@@ -887,7 +890,7 @@ export const useBrandPageContainerStore = defineStore('brandPageContainer', {
|
|
|
887
890
|
) {
|
|
888
891
|
const userStore = useBrandPageMakerUserStore();
|
|
889
892
|
const brandPageMakerStore = useBrandPageMakerStore();
|
|
890
|
-
const
|
|
893
|
+
const _eventTracker = useEventTracker();
|
|
891
894
|
|
|
892
895
|
if (userStore.isAdmin) {
|
|
893
896
|
throw new Error('save brand page is not allowed in admin mode');
|
|
@@ -2,7 +2,6 @@ import { vi } from 'vitest';
|
|
|
2
2
|
import {
|
|
3
3
|
BRAND_PAGE,
|
|
4
4
|
INITIALISE_PAYLOAD,
|
|
5
|
-
USER_FEATURES,
|
|
6
5
|
userFeatures,
|
|
7
6
|
} from '../../components/brand-page-maker/__fixtures__';
|
|
8
7
|
import {
|
|
@@ -44,6 +43,7 @@ import { useUiBackgroundSettingsStore } from '@shared/background-settings/store'
|
|
|
44
43
|
import { useBrandPageMakerUserStore } from '../user';
|
|
45
44
|
import { useBrandPageContainerStore } from '../brandpage-container';
|
|
46
45
|
import { useUiTemplateSettingsStore } from '@shared/template-settings/store';
|
|
46
|
+
import { usePageNavigationStore } from '@shared/page-navigation/store/page-navigation-store';
|
|
47
47
|
import {
|
|
48
48
|
CONTENT_SETTINGS_MODES,
|
|
49
49
|
useUiContentSettingsStore,
|
|
@@ -54,8 +54,6 @@ import { SIDE_BAR_TAB_NAMES } from '@brand-page-maker/constants';
|
|
|
54
54
|
import { PAGE_SECTIONS } from '@shared/page-settings/models';
|
|
55
55
|
import { FabricRenderClient } from '../../../clients/fabric-render-client';
|
|
56
56
|
import { setLocaleAsync } from '@src/composables/useTranslate';
|
|
57
|
-
import { usePageNavigationStore } from '@shared/page-navigation/store/page-navigation-store';
|
|
58
|
-
import type { NavModel } from '@brand-page/models';
|
|
59
57
|
|
|
60
58
|
const createInitialisePayload = () => {
|
|
61
59
|
const initialisePayload = {
|
|
@@ -23,14 +23,12 @@ import {
|
|
|
23
23
|
CONTENT_TYPES,
|
|
24
24
|
NavigationDesktop,
|
|
25
25
|
NavigationMobile,
|
|
26
|
-
NavModel,
|
|
27
26
|
} from '@brand-page';
|
|
28
27
|
import type {
|
|
29
28
|
DesignTemplateType,
|
|
30
29
|
InitialCategories,
|
|
31
30
|
TemplateCategory,
|
|
32
31
|
} from '@shared/template-settings/models';
|
|
33
|
-
import type { UserFeatures } from '../user';
|
|
34
32
|
import { useBrandPageMakerUserStore } from '../user';
|
|
35
33
|
import { defineStore } from 'pinia';
|
|
36
34
|
import { toRaw } from 'vue';
|
|
@@ -125,6 +123,8 @@ export interface InitialisePayload {
|
|
|
125
123
|
templateCategories: TemplateCategory[];
|
|
126
124
|
personalisationData?: UserPersonalisationContent[];
|
|
127
125
|
isPersonalisationEnabled: boolean;
|
|
126
|
+
userPromptContentKey?: string;
|
|
127
|
+
showAiTemplatesTab?: boolean;
|
|
128
128
|
businessName: string | undefined;
|
|
129
129
|
industry: string | undefined;
|
|
130
130
|
layout?: string;
|
|
@@ -1230,11 +1230,13 @@ export const useBrandPageMakerStore = defineStore('brandPageMaker', {
|
|
|
1230
1230
|
templateCategories,
|
|
1231
1231
|
personalisationData,
|
|
1232
1232
|
isPersonalisationEnabled,
|
|
1233
|
+
userPromptContentKey,
|
|
1234
|
+
showAiTemplatesTab = false,
|
|
1233
1235
|
businessName,
|
|
1234
1236
|
industry,
|
|
1235
1237
|
layout,
|
|
1236
1238
|
logoVariationImageUrls,
|
|
1237
|
-
shopConfigData,
|
|
1239
|
+
shopConfigData: _shopConfigData,
|
|
1238
1240
|
isServerRenderOverride = false,
|
|
1239
1241
|
}: InitialisePayload) {
|
|
1240
1242
|
const brandPageContainerStore = useBrandPageContainerStore();
|
|
@@ -1246,7 +1248,7 @@ export const useBrandPageMakerStore = defineStore('brandPageMaker', {
|
|
|
1246
1248
|
const backgroundSettingsStore = useUiBackgroundSettingsStore();
|
|
1247
1249
|
const styleSettingsStore = useUiStyleSettingsStore();
|
|
1248
1250
|
const navigationStyleSettingsStore = useUiNavigationStyleSettingsStore();
|
|
1249
|
-
const
|
|
1251
|
+
const _sideBarStore = useUiSideBarStore();
|
|
1250
1252
|
|
|
1251
1253
|
navigationStyleSettingsStore.initialise({ reset: false });
|
|
1252
1254
|
|
|
@@ -1353,6 +1355,10 @@ export const useBrandPageMakerStore = defineStore('brandPageMaker', {
|
|
|
1353
1355
|
});
|
|
1354
1356
|
}
|
|
1355
1357
|
|
|
1358
|
+
uiStore.setUserPromptContentKey({ userPromptContentKey });
|
|
1359
|
+
|
|
1360
|
+
uiStore.setShowAiTemplatesTab({ showAiTemplatesTab });
|
|
1361
|
+
|
|
1356
1362
|
templateSettingsStore.setTemplateCategories({
|
|
1357
1363
|
categories: templateCategories,
|
|
1358
1364
|
});
|
|
@@ -1800,6 +1806,7 @@ export const useBrandPageMakerStore = defineStore('brandPageMaker', {
|
|
|
1800
1806
|
const navigationStyleSettingsStore = useUiNavigationStyleSettingsStore();
|
|
1801
1807
|
const shopStore = useShopConfigStore();
|
|
1802
1808
|
const pageNavigationStore = usePageNavigationStore();
|
|
1809
|
+
const uiStore = useUiStore();
|
|
1803
1810
|
|
|
1804
1811
|
const pages = pageSettingsStore.pages.map((p) => ({
|
|
1805
1812
|
...p,
|
|
@@ -1817,6 +1824,7 @@ export const useBrandPageMakerStore = defineStore('brandPageMaker', {
|
|
|
1817
1824
|
|
|
1818
1825
|
return {
|
|
1819
1826
|
v: GetLatestModelVersion(),
|
|
1827
|
+
userPromptContentKey: uiStore.userPromptContentKey,
|
|
1820
1828
|
pages,
|
|
1821
1829
|
styles: {
|
|
1822
1830
|
logoStyles,
|
|
@@ -48,6 +48,8 @@ export const useUiStore = defineStore('ui', {
|
|
|
48
48
|
},
|
|
49
49
|
personalisationData: undefined,
|
|
50
50
|
isPersonalisationEnabled: false,
|
|
51
|
+
userPromptContentKey: undefined,
|
|
52
|
+
showAiTemplatesTab: false,
|
|
51
53
|
}),
|
|
52
54
|
actions: {
|
|
53
55
|
setLogoTheme(payload: { logoTheme: LogoTheme }) {
|
|
@@ -78,6 +80,20 @@ export const useUiStore = defineStore('ui', {
|
|
|
78
80
|
}) {
|
|
79
81
|
this.personalisationData = personalisationData;
|
|
80
82
|
},
|
|
83
|
+
setUserPromptContentKey({
|
|
84
|
+
userPromptContentKey,
|
|
85
|
+
}: {
|
|
86
|
+
userPromptContentKey: string | undefined;
|
|
87
|
+
}) {
|
|
88
|
+
this.userPromptContentKey = userPromptContentKey;
|
|
89
|
+
},
|
|
90
|
+
setShowAiTemplatesTab({
|
|
91
|
+
showAiTemplatesTab,
|
|
92
|
+
}: {
|
|
93
|
+
showAiTemplatesTab: boolean;
|
|
94
|
+
}) {
|
|
95
|
+
this.showAiTemplatesTab = showAiTemplatesTab;
|
|
96
|
+
},
|
|
81
97
|
onBackgroundChanged() {
|
|
82
98
|
const brandPageMakerStore = useBrandPageMakerStore();
|
|
83
99
|
|
|
@@ -7,7 +7,7 @@ import type {
|
|
|
7
7
|
ContentSettingsConfig,
|
|
8
8
|
CreateInitialContentOptions,
|
|
9
9
|
} from '../models';
|
|
10
|
-
import {
|
|
10
|
+
import { type Content } from '@brand-page';
|
|
11
11
|
import { RESERVED_FIELD_NAMES } from '@shared/content-settings/constants';
|
|
12
12
|
import { CONTENT_SETTINGS_CONFIGS } from '../constants';
|
|
13
13
|
import type { UIUserFeatures } from '@src/constants/ui';
|
|
@@ -431,7 +431,7 @@ const transformRTEField = (
|
|
|
431
431
|
if (textStyleType && (textStyleType === type || uiStyleSettingsStore)) {
|
|
432
432
|
let globalContentStyle = uiStyleSettingsStore
|
|
433
433
|
? uiStyleSettingsStore.textStyles.textStyleOptions[textStyleType].style
|
|
434
|
-
: newStyle ?? ({} as TextStyleDeclaration);
|
|
434
|
+
: (newStyle ?? ({} as TextStyleDeclaration));
|
|
435
435
|
|
|
436
436
|
globalContentStyle = {
|
|
437
437
|
...globalContentStyle,
|
|
@@ -549,7 +549,7 @@ export const transformToRTE = (
|
|
|
549
549
|
? uiStyleSettingsStore.textStyles.textStyleOptions[
|
|
550
550
|
textItemStyleType
|
|
551
551
|
].style
|
|
552
|
-
: newStyle ?? ({} as TextStyleDeclaration);
|
|
552
|
+
: (newStyle ?? ({} as TextStyleDeclaration));
|
|
553
553
|
|
|
554
554
|
globalContentStyle = {
|
|
555
555
|
...globalContentStyle,
|
|
@@ -593,7 +593,7 @@ export const transformToRTE = (
|
|
|
593
593
|
let globalContentStyle = uiStyleSettingsStore
|
|
594
594
|
? uiStyleSettingsStore.textStyles.textStyleOptions[textStyleType]
|
|
595
595
|
.style
|
|
596
|
-
: newStyle ?? ({} as TextStyleDeclaration);
|
|
596
|
+
: (newStyle ?? ({} as TextStyleDeclaration));
|
|
597
597
|
|
|
598
598
|
globalContentStyle = {
|
|
599
599
|
...globalContentStyle,
|
|
@@ -647,7 +647,7 @@ export const switchAllContentToRTE = (
|
|
|
647
647
|
|
|
648
648
|
if (textContent.textItems && textContent.textItems.length > 0) {
|
|
649
649
|
for (const [
|
|
650
|
-
|
|
650
|
+
_itemIndex,
|
|
651
651
|
textItemContent,
|
|
652
652
|
] of textContent.textItems.entries()) {
|
|
653
653
|
const textItemStyleType = textItemContent.textStyle.textStyleType;
|
|
@@ -1529,6 +1529,8 @@
|
|
|
1529
1529
|
"iconFillColorTitle": "Farbe der Symbolfüllung",
|
|
1530
1530
|
"iconBackgroundColorTitle": "Symbolhintergrundfarbe",
|
|
1531
1531
|
"paddingTitle": "Polsterung",
|
|
1532
|
+
"topPaddingTitle": "Polsterung oben",
|
|
1533
|
+
"bottomPaddingTitle": "Polsterung unten",
|
|
1532
1534
|
"dividerStyleTitle": "Trennlinienstil",
|
|
1533
1535
|
"dividerColorTitle": "Trennlinienfarbe",
|
|
1534
1536
|
"addItemTitle": "Artikel hinzufügen",
|
|
@@ -1529,6 +1529,8 @@
|
|
|
1529
1529
|
"iconFillColorTitle": "Color de relleno del icono",
|
|
1530
1530
|
"iconBackgroundColorTitle": "Color de fondo del icono",
|
|
1531
1531
|
"paddingTitle": "Relleno",
|
|
1532
|
+
"topPaddingTitle": "Relleno superior",
|
|
1533
|
+
"bottomPaddingTitle": "Relleno inferior",
|
|
1532
1534
|
"dividerStyleTitle": "Estilo del divisor",
|
|
1533
1535
|
"dividerColorTitle": "Color del separador",
|
|
1534
1536
|
"addItemTitle": "Añadir artículo",
|
|
@@ -1529,6 +1529,8 @@
|
|
|
1529
1529
|
"iconFillColorTitle": "Couleur de remplissage de l’icône",
|
|
1530
1530
|
"iconBackgroundColorTitle": "Couleur d’arrière-plan de l’icône",
|
|
1531
1531
|
"paddingTitle": "Marges intérieures",
|
|
1532
|
+
"topPaddingTitle": "Marge intérieure supérieure",
|
|
1533
|
+
"bottomPaddingTitle": "Marges intérieures inférieures",
|
|
1532
1534
|
"dividerStyleTitle": "Style de séparateur",
|
|
1533
1535
|
"dividerColorTitle": "Couleur du séparateur",
|
|
1534
1536
|
"addItemTitle": "Ajouter un article",
|
|
@@ -1529,6 +1529,8 @@
|
|
|
1529
1529
|
"iconFillColorTitle": "Couleur de remplissage de l’icône",
|
|
1530
1530
|
"iconBackgroundColorTitle": "Couleur d’arrière-plan de l’icône",
|
|
1531
1531
|
"paddingTitle": "Marges intérieures",
|
|
1532
|
+
"topPaddingTitle": "Marges intérieures supérieures",
|
|
1533
|
+
"bottomPaddingTitle": "Marges intérieures inférieures",
|
|
1532
1534
|
"dividerStyleTitle": "Style de séparateur",
|
|
1533
1535
|
"dividerColorTitle": "Couleur du séparateur",
|
|
1534
1536
|
"addItemTitle": "Ajouter un article",
|
|
@@ -1529,6 +1529,8 @@
|
|
|
1529
1529
|
"iconFillColorTitle": "Icon fill color",
|
|
1530
1530
|
"iconBackgroundColorTitle": "Icon background color",
|
|
1531
1531
|
"paddingTitle": "Padding",
|
|
1532
|
+
"topPaddingTitle": "Top padding",
|
|
1533
|
+
"bottomPaddingTitle": "Bottom padding",
|
|
1532
1534
|
"dividerStyleTitle": "Divider Style",
|
|
1533
1535
|
"dividerColorTitle": "Divider color",
|
|
1534
1536
|
"addItemTitle": "Add Item",
|
|
@@ -1529,6 +1529,8 @@
|
|
|
1529
1529
|
"iconFillColorTitle": "Cor de preenchimento do ícone",
|
|
1530
1530
|
"iconBackgroundColorTitle": "Cor de fundo do ícone",
|
|
1531
1531
|
"paddingTitle": "Preenchimento",
|
|
1532
|
+
"topPaddingTitle": "Preenchimento superior",
|
|
1533
|
+
"bottomPaddingTitle": "Preenchimento inferior",
|
|
1532
1534
|
"dividerStyleTitle": "Estilo do separador",
|
|
1533
1535
|
"dividerColorTitle": "Cor do separador",
|
|
1534
1536
|
"addItemTitle": "Adicionar item",
|
|
@@ -1529,6 +1529,8 @@
|
|
|
1529
1529
|
"iconFillColorTitle": "Cor de preenchimento do ícone",
|
|
1530
1530
|
"iconBackgroundColorTitle": "Cor de fundo do ícone",
|
|
1531
1531
|
"paddingTitle": "Preenchimento",
|
|
1532
|
+
"topPaddingTitle": "Preenchimento superior",
|
|
1533
|
+
"bottomPaddingTitle": "Preenchimento inferior",
|
|
1532
1534
|
"dividerStyleTitle": "Estilo do separador",
|
|
1533
1535
|
"dividerColorTitle": "Cor do separador",
|
|
1534
1536
|
"addItemTitle": "Adicionar Item",
|
|
@@ -11,6 +11,7 @@ interface DesignTemplateClientOptions {}
|
|
|
11
11
|
interface GetTemplatesAsyncOptions {
|
|
12
12
|
categoryName?: string;
|
|
13
13
|
searchTerm?: string;
|
|
14
|
+
keywords?: string;
|
|
14
15
|
side?: string;
|
|
15
16
|
logoDraftToken?: string;
|
|
16
17
|
logoVariation?: number;
|
|
@@ -22,6 +23,8 @@ interface GetTemplatesAsyncOptions {
|
|
|
22
23
|
locale?: string;
|
|
23
24
|
logoS3Token?: string;
|
|
24
25
|
logoTemplateToken?: string;
|
|
26
|
+
pageSection?: string;
|
|
27
|
+
pageName?: string;
|
|
25
28
|
}
|
|
26
29
|
|
|
27
30
|
export const getTemplatesEndpoint = (templateTypeName: string) =>
|
package/src/clients/models.ts
CHANGED
|
@@ -4,6 +4,7 @@ export interface Paginated<T> {
|
|
|
4
4
|
pageSize: number;
|
|
5
5
|
pageCount: number;
|
|
6
6
|
totalResultCount: number;
|
|
7
|
+
abTestValuesToBePushed?: Record<string, string>;
|
|
7
8
|
}
|
|
8
9
|
|
|
9
10
|
export interface DesignTemplate {
|
|
@@ -14,6 +15,7 @@ export interface DesignTemplate {
|
|
|
14
15
|
|
|
15
16
|
export interface PaginatedDesignTemplateItem {
|
|
16
17
|
designTemplateToken: string;
|
|
18
|
+
isPersonalisable?: boolean;
|
|
17
19
|
previewImageUrl?: string;
|
|
18
20
|
}
|
|
19
21
|
|
|
@@ -180,15 +180,19 @@ export function useSnapshot() {
|
|
|
180
180
|
const captureWidth = target.clientWidth || target.offsetWidth || 1;
|
|
181
181
|
const scale = Math.min(1, SNAPSHOT_TARGET_WIDTH / captureWidth);
|
|
182
182
|
|
|
183
|
-
//
|
|
184
|
-
//
|
|
185
|
-
//
|
|
186
|
-
//
|
|
187
|
-
//
|
|
183
|
+
// Inline every shape's blob-backed SVG as a data: URI up front. Shapes
|
|
184
|
+
// (content + background) render their coloured SVG via an <img> whose src
|
|
185
|
+
// is a `blob:` URL from URL.createObjectURL. The owning component revokes
|
|
186
|
+
// that blob on re-render (colour/size/imageUrl change) and on unmount —
|
|
187
|
+
// exactly what an AI "change all my contents" run triggers right before we
|
|
188
|
+
// capture. html2canvas fetches each <img> src ASYNCHRONOUSLY while
|
|
189
|
+
// rendering, so a concurrent revoke leaves it fetching a dead blob URL →
|
|
190
|
+
// the shape 404s and snapshots blank. A data: URI can't be revoked, so
|
|
191
|
+
// swapping the blob for one in the clone removes the race.
|
|
188
192
|
const blobSvgUris = new Map<string, string>();
|
|
189
193
|
const blobSources = Array.from(
|
|
190
|
-
element.querySelectorAll<
|
|
191
|
-
).map((
|
|
194
|
+
element.querySelectorAll<HTMLImageElement>('.c-shape-object img'),
|
|
195
|
+
).map((img) => img.getAttribute('src'));
|
|
192
196
|
|
|
193
197
|
for (const src of blobSources) {
|
|
194
198
|
if (src && src.startsWith('blob:') && !blobSvgUris.has(src)) {
|
|
@@ -340,23 +344,16 @@ export function useSnapshot() {
|
|
|
340
344
|
overflow: 'visible',
|
|
341
345
|
});
|
|
342
346
|
|
|
343
|
-
//
|
|
344
|
-
//
|
|
347
|
+
// Repoint each shape <img> from its (revocable) blob: src to the
|
|
348
|
+
// pre-fetched data: URI so html2canvas never fetches a blob that may
|
|
349
|
+
// have been revoked mid-capture.
|
|
345
350
|
_doc
|
|
346
|
-
.querySelectorAll<
|
|
347
|
-
.forEach((
|
|
348
|
-
const
|
|
351
|
+
.querySelectorAll<HTMLImageElement>('.c-shape-object img')
|
|
352
|
+
.forEach((img) => {
|
|
353
|
+
const src = img.getAttribute('src');
|
|
349
354
|
|
|
350
|
-
if (
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
img.src = blobSvgUris.get(dataUrl)!;
|
|
354
|
-
|
|
355
|
-
const style = obj.getAttribute('style');
|
|
356
|
-
|
|
357
|
-
if (style) img.setAttribute('style', style);
|
|
358
|
-
|
|
359
|
-
obj.parentNode?.replaceChild(img, obj);
|
|
355
|
+
if (src && blobSvgUris.has(src)) {
|
|
356
|
+
img.src = blobSvgUris.get(src)!;
|
|
360
357
|
}
|
|
361
358
|
});
|
|
362
359
|
|
package/src/lib.ts
CHANGED