@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.
Files changed (455) hide show
  1. package/lib/src/{CreatedOnBrandCrowd-de-de-DsoA9hc-.js → CreatedOnBrandCrowd-de-de-DmKe7W8L.js} +3 -3
  2. package/lib/src/{CreatedOnBrandCrowd-en-us-BP6NEQ66.js → CreatedOnBrandCrowd-en-us-D2EeiNep.js} +3 -3
  3. package/lib/src/{CreatedOnBrandCrowd-es-es-D424uM1Z.js → CreatedOnBrandCrowd-es-es-BqVwNY1D.js} +3 -3
  4. package/lib/src/{CreatedOnBrandCrowd-fr-fr-CJvuLTkB.js → CreatedOnBrandCrowd-fr-ca-C756a27-.js} +3 -3
  5. package/lib/src/{CreatedOnBrandCrowd-fr-ca-CJvuLTkB.js → CreatedOnBrandCrowd-fr-fr-C756a27-.js} +3 -3
  6. package/lib/src/{CreatedOnBrandCrowd-pt-pt-Cc9L314u.js → CreatedOnBrandCrowd-pt-br-FNHAnZUw.js} +3 -3
  7. package/lib/src/{CreatedOnBrandCrowd-pt-br-Cc9L314u.js → CreatedOnBrandCrowd-pt-pt-FNHAnZUw.js} +3 -3
  8. package/lib/src/{CreatedOnDcom-de-de-CX-295FH.js → CreatedOnDcom-de-de-8AZZFmDt.js} +3 -3
  9. package/lib/src/{CreatedOnDcom-en-us-UFlORUgZ.js → CreatedOnDcom-en-us-DizTP32i.js} +3 -3
  10. package/lib/src/{CreatedOnDcom-es-es-D1tRpcq9.js → CreatedOnDcom-es-es-qnp9_n_A.js} +3 -3
  11. package/lib/src/{CreatedOnDcom-fr-ca-Dz_ry9uY.js → CreatedOnDcom-fr-ca-jUs352uK.js} +3 -3
  12. package/lib/src/{CreatedOnDcom-fr-fr-8Ydu6b1T.js → CreatedOnDcom-fr-fr-CTxXtHyk.js} +3 -3
  13. package/lib/src/{CreatedOnDcom-pt-br-COwvw5k4.js → CreatedOnDcom-pt-br-nQHj8P7d.js} +3 -3
  14. package/lib/src/{CreatedOnDcom-pt-pt-CB72-eaa.js → CreatedOnDcom-pt-pt-DJmVYQuL.js} +3 -3
  15. package/lib/src/brand-page/clients/brand-page.client.d.ts +9 -9
  16. package/lib/src/brand-page/components/{testimonial-section/TestimonialSection.mixin.d.ts → banner-section/BannerSection.mixin.d.ts} +43 -37
  17. package/lib/src/brand-page/components/banner-section/BannerSection.mixin.js +178 -0
  18. package/lib/src/brand-page/components/contact-form/ContactForm.mixin.d.ts +4 -0
  19. package/lib/src/brand-page/components/contact-form/ContactForm.mixin.js +8 -4
  20. package/lib/src/brand-page/components/image-gallery/ImageGallery.mixin.d.ts +4 -0
  21. package/lib/src/brand-page/components/image-gallery/ImageGallery.mixin.js +4 -0
  22. package/lib/src/brand-page/components/image-gallery/masonry/MasonryGallery.mixin.d.ts +0 -1
  23. package/lib/src/brand-page/components/mailing-list/MailingList.mixin.d.ts +4 -0
  24. package/lib/src/brand-page/components/mailing-list/MailingList.mixin.js +4 -1
  25. package/lib/src/brand-page/components/navigation/hamburger/HamburgerNavigation.mixin.d.ts +4 -2
  26. package/lib/src/brand-page/components/navigation/hamburger/HamburgerNavigation.mixin.js +1 -0
  27. package/lib/src/brand-page/components/navigation/navigation-side-menu/NavigationSideMenu.mixin.d.ts +4 -2
  28. package/lib/src/brand-page/components/navigation/navigation-side-menu/NavigationSideMenu.mixin.js +5 -4
  29. package/lib/src/brand-page/components/page/Page.mixin.d.ts +1 -1
  30. package/lib/src/brand-page/components/page/PageComponent.mixin.d.ts +1 -1
  31. package/lib/src/brand-page/components/payment/Payment.mixin.d.ts +3 -3
  32. package/lib/src/brand-page/components/payment/__fixtures__/request-payment.d.ts +13 -13
  33. package/lib/src/brand-page/components/payment/__fixtures__/support-me.d.ts +13 -13
  34. package/lib/src/brand-page/components/payment/request-payment/RequestPayment.mixin.d.ts +4 -0
  35. package/lib/src/brand-page/components/payment/request-payment/RequestPayment.mixin.js +4 -0
  36. package/lib/src/brand-page/components/payment/support-me/SupportMe.mixin.d.ts +4 -0
  37. package/lib/src/brand-page/components/payment/support-me/SupportMe.mixin.js +4 -1
  38. package/lib/src/brand-page/components/video/Video.mixin.d.ts +4 -0
  39. package/lib/src/brand-page/components/video/Video.mixin.js +4 -0
  40. package/lib/src/brand-page/constants/font.constants.d.ts +4 -4
  41. package/lib/src/brand-page/constants/font.constants.js +4 -4
  42. package/lib/src/brand-page/constants/misc.constants.d.ts +35 -0
  43. package/lib/src/brand-page/constants/misc.constants.js +51 -0
  44. package/lib/src/brand-page/constants/sections/footer-display.constants.js +1 -1
  45. package/lib/src/brand-page/models/content.model.d.ts +2 -0
  46. package/lib/src/brand-page/models/index.d.ts +2 -1
  47. package/lib/src/brand-page/models/index.js +3 -0
  48. package/lib/src/brand-page/models/payment.model.d.ts +1 -1
  49. package/lib/src/brand-page/utils/content-padding.util.d.ts +13 -0
  50. package/lib/src/brand-page/utils/content-padding.util.js +10 -0
  51. package/lib/src/brand-page/utils/index.d.ts +1 -0
  52. package/lib/src/brand-page/utils/index.js +1 -0
  53. package/lib/src/brand-page/utils/migration/migration-17.d.ts +2 -0
  54. package/lib/src/brand-page/utils/migration/migration-17.js +60 -0
  55. package/lib/src/brand-page/utils/migration.util.js +10 -0
  56. package/lib/src/brand-page/utils/personalisation.util.js +72 -14
  57. package/lib/src/brand-page-maker/components/action-bar/ActionBar.mixin.d.ts +21 -19
  58. package/lib/src/brand-page-maker/components/action-bar/ActionBar.mixin.js +1 -0
  59. package/lib/src/brand-page-maker/components/admin-background-settings/AdminBackgroundSettings.mixin.d.ts +16 -10
  60. package/lib/src/brand-page-maker/components/admin-logo-settings/AdminLogoSettings.mixin.d.ts +5 -3
  61. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.d.ts +193 -170
  62. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.js +3 -0
  63. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.stories.js +1 -0
  64. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMakerTemplateSettings.mixin.d.ts +12 -12
  65. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMakerTemplateSettings.stories.js +2 -2
  66. package/lib/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-payment.js +0 -7
  67. package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +162 -149
  68. package/lib/src/brand-page-maker/components/brandpage-settings/ReplaceImageSettingsForBrandPageSettings.mixin.d.ts +21 -21
  69. package/lib/src/brand-page-maker/components/brandpage-settings/ReplaceImageSettingsForBrandPageSettings.mixin.js +1 -1
  70. package/lib/src/brand-page-maker/components/color-picker/components/ColorModeSelect.mixin.d.ts +4 -2
  71. package/lib/src/brand-page-maker/components/color-picker/components/ColorModeSelect.mixin.js +1 -0
  72. package/lib/src/brand-page-maker/components/color-picker/components/GradientColorSlider.mixin.d.ts +4 -2
  73. package/lib/src/brand-page-maker/components/color-picker/components/GradientColorSlider.mixin.js +1 -0
  74. package/lib/src/brand-page-maker/components/color-picker/components/GradientColorSliderHandler.mixin.d.ts +5 -2
  75. package/lib/src/brand-page-maker/components/color-picker/components/GradientColorSliderHandler.mixin.js +1 -0
  76. package/lib/src/brand-page-maker/components/color-picker/components/GradientTypeSelector.mixin.d.ts +4 -2
  77. package/lib/src/brand-page-maker/components/color-picker/components/GradientTypeSelector.mixin.js +1 -0
  78. package/lib/src/brand-page-maker/components/device/Device.mixin.d.ts +4 -2
  79. package/lib/src/brand-page-maker/components/device/Device.mixin.js +1 -0
  80. package/lib/src/brand-page-maker/components/navigation/Navigation.mixin.d.ts +4 -2
  81. package/lib/src/brand-page-maker/components/navigation/Navigation.mixin.js +1 -0
  82. package/lib/src/brand-page-maker/components/preview/Preview.mixin.d.ts +3 -3
  83. package/lib/src/brand-page-maker/components/quick-link-bar/QuickLinkBar.mixin.d.ts +11 -11
  84. package/lib/src/brand-page-maker/components/seo-settings/SeoPageSettings.mixin.d.ts +27 -25
  85. package/lib/src/brand-page-maker/components/seo-settings/SeoPageSettings.mixin.js +1 -0
  86. package/lib/src/brand-page-maker/components/seo-settings/UrlSettings.mixin.d.ts +27 -27
  87. package/lib/src/brand-page-maker/components/seo-settings/UrlSettings.mixin.js +1 -1
  88. package/lib/src/brand-page-maker/components/seo-settings/UseExistingDomainModal.mixin.d.ts +17 -12
  89. package/lib/src/brand-page-maker/components/social-share/SocialShare.mixin.d.ts +12 -12
  90. package/lib/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.d.ts +30 -32
  91. package/lib/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.js +16 -5
  92. package/lib/src/brand-page-maker/components/upgrade-to-premium-button/UpgradeToPremiumButton.mixin.d.ts +11 -11
  93. package/lib/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.js +1 -1
  94. package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.d.ts +1 -1
  95. package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.js +6 -6
  96. package/lib/src/brand-page-maker/composables/useEventTracker.d.ts +2 -2
  97. package/lib/src/brand-page-maker/constants/config-settings-constant.d.ts +6 -6
  98. package/lib/src/brand-page-maker/constants/config-settings-constant.js +40 -1
  99. package/lib/src/brand-page-maker/convertors/about-display-style.convertor.js +9 -1
  100. package/lib/src/brand-page-maker/convertors/banner-align-display-style.convertor.js +7 -1
  101. package/lib/src/brand-page-maker/convertors/contact-layout-style.convertor.js +6 -1
  102. package/lib/src/brand-page-maker/convertors/text-image-display-style.convertor.d.ts +1 -1
  103. package/lib/src/brand-page-maker/convertors/text-image-display-style.convertor.js +1 -1
  104. package/lib/src/brand-page-maker/models/content-settings.d.ts +1 -1
  105. package/lib/src/brand-page-maker/models/content-settings.js +39 -2
  106. package/lib/src/brand-page-maker/models/navigation-style-configs.js +1 -1
  107. package/lib/src/brand-page-maker/routing/brand-page-maker-router.d.ts +1 -2
  108. package/lib/src/brand-page-maker/stores/ai-checkpoint/ai-checkpoint-store.d.ts +378 -360
  109. package/lib/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.d.ts +5 -4
  110. package/lib/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.js +8 -5
  111. package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.d.ts +3 -1
  112. package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.js +7 -3
  113. package/lib/src/brand-page-maker/stores/history/history-store.d.ts +15 -15
  114. package/lib/src/brand-page-maker/stores/ui/ui-store.d.ts +6 -0
  115. package/lib/src/brand-page-maker/stores/ui/ui-store.js +8 -0
  116. package/lib/src/brand-page-maker/utils/content-settings.util.js +1 -1
  117. package/lib/src/brand-page-maker/utils/rich-text-editor.util.d.ts +1 -1
  118. package/lib/src/brand-page-maker/utils/rich-text-editor.util.js +4 -4
  119. package/lib/src/{bundled-translations-D1q3rSEz.js → bundled-translations-BUyt4scr.js} +9 -9
  120. package/lib/src/{bundled-translations.de-DE-BxqLLwbh.js → bundled-translations.de-DE-DEw_OVai.js} +1 -1
  121. package/lib/src/{bundled-translations.es-ES-uh249NlJ.js → bundled-translations.es-ES-CFKWmkgY.js} +17 -17
  122. package/lib/src/{bundled-translations.fr-CA-BEQmv2fX.js → bundled-translations.fr-CA-DCl5LJS4.js} +1 -1
  123. package/lib/src/{bundled-translations.fr-FR-BnNuCojH.js → bundled-translations.fr-FR-B5BjgllA.js} +1 -1
  124. package/lib/src/{bundled-translations.pt-BR-CJUOxVlq.js → bundled-translations.pt-BR-5PWpMPuM.js} +1 -1
  125. package/lib/src/{bundled-translations.pt-PT-Ds9cMEqK.js → bundled-translations.pt-PT-B9_wN0HR.js} +9 -9
  126. package/lib/src/bundles/bundled-translations.de-DE.json +2 -0
  127. package/lib/src/bundles/bundled-translations.es-ES.json +2 -0
  128. package/lib/src/bundles/bundled-translations.fr-CA.json +2 -0
  129. package/lib/src/bundles/bundled-translations.fr-FR.json +2 -0
  130. package/lib/src/bundles/bundled-translations.json +2 -0
  131. package/lib/src/bundles/bundled-translations.pt-BR.json +2 -0
  132. package/lib/src/bundles/bundled-translations.pt-PT.json +2 -0
  133. package/lib/src/clients/brand-page-client.d.ts +16 -15
  134. package/lib/src/clients/design-template-client.d.ts +3 -0
  135. package/lib/src/clients/media-client.d.ts +2 -2
  136. package/lib/src/clients/models.d.ts +2 -0
  137. package/lib/src/composables/useSnapshot.js +18 -18
  138. package/lib/src/css/library.brand-page-brandCrowd.min.css +441 -437
  139. package/lib/src/css/library.brand-page-brandPage.min.css +719 -437
  140. package/lib/src/css/library.brand-page-designCom.min.css +441 -437
  141. package/lib/src/css/library.brand-page-preview.min.css +697 -437
  142. package/lib/src/index.d.ts +1 -1
  143. package/lib/src/index.mjs +16 -15
  144. package/lib/src/{lib-tHPi9EKk.js → lib-DityivZa.js} +37011 -33834
  145. package/lib/src/lib.js +1 -1
  146. package/lib/src/metadata-builder/builders/footer-builder.js +90 -65
  147. package/lib/src/metadata-builder/builders/section-builders/image-gallery-builder.js +1 -1
  148. package/lib/src/metadata-builder/builders/section-builders/images-section-builder.js +1 -1
  149. package/lib/src/metadata-builder/builders/section-builders/testimonial-section-builder.js +1 -1
  150. package/lib/src/metadata-builder/builders/section-builders/text-section-builder.js +1 -1
  151. package/lib/src/metadata-builder/builders/shape-color-utils.js +1 -1
  152. package/lib/src/plugins/google-maps-plugin/google-maps-plugin.d.ts +1 -1
  153. package/lib/src/plugins/google-maps-plugin/google-maps-plugin.js +8 -8
  154. package/lib/src/shared/background-settings/components/background-shapes/BackgroundShapeSettings.mixin.d.ts +13 -13
  155. package/lib/src/shared/background-settings/store/background-settings-store.d.ts +3 -3
  156. package/lib/src/shared/color-picker/components/ColorPicker.mixin.d.ts +4 -2
  157. package/lib/src/shared/color-picker/components/ColorPicker.mixin.js +2 -2
  158. package/lib/src/shared/color-picker/components/ColorPickerSwatch.mixin.d.ts +4 -2
  159. package/lib/src/shared/color-picker/components/ColorPickerSwatch.mixin.js +1 -0
  160. package/lib/src/shared/confirm-modal/ConfirmModal.mixin.d.ts +5 -2
  161. package/lib/src/shared/confirm-modal/ConfirmModal.mixin.js +1 -0
  162. package/lib/src/shared/content-settings/components/GenericTextInput.mixin.d.ts +0 -1
  163. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts +145 -129
  164. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.js +2 -1
  165. package/lib/src/shared/content-settings/components/content-settings/ReplaceImageSettingsForContent.mixin.d.ts +125 -110
  166. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.d.ts +96 -81
  167. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.js +5 -0
  168. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.d.ts +129 -109
  169. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.js +1 -14
  170. package/lib/src/shared/content-settings/components/email-field/EmailField.mixin.d.ts +0 -1
  171. package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.d.ts +84 -70
  172. package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.js +4 -3
  173. package/lib/src/shared/content-settings/components/form-fields-field/FormFieldsField.mixin.d.ts +4 -4
  174. package/lib/src/shared/content-settings/components/icon-library/IconLibrary.mixin.d.ts +3 -1
  175. package/lib/src/shared/content-settings/components/icon-library/IconLibrary.mixin.js +1 -0
  176. package/lib/src/shared/content-settings/components/images-field/ImagesField.mixin.d.ts +2 -2
  177. package/lib/src/shared/content-settings/components/items-field/ItemsField.mixin.d.ts +4 -3
  178. package/lib/src/shared/content-settings/components/items-field/ItemsField.mixin.js +1 -1
  179. package/lib/src/shared/content-settings/components/payment-config-field/PaymentConfigField.mixin.d.ts +40 -40
  180. package/lib/src/shared/content-settings/components/payment-config-field/PaymentConfigOptionField.mixin.d.ts +5 -6
  181. package/lib/src/shared/content-settings/components/shape-field/ShapeField.mixin.d.ts +0 -1
  182. package/lib/src/shared/content-settings/components/slider-field/SliderField.mixin.d.ts +2 -2
  183. package/lib/src/shared/content-settings/components/slider-field/SliderField.mixin.js +9 -0
  184. package/lib/src/shared/content-settings/components/tel-field/TelField.mixin.d.ts +0 -1
  185. package/lib/src/shared/content-settings/components/testimonial-items-field/TestimonialItemsField.mixin.d.ts +1 -2
  186. package/lib/src/shared/content-settings/components/text-field/TextField.mixin.d.ts +0 -1
  187. package/lib/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.d.ts +1 -2
  188. package/lib/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.js +1 -1
  189. package/lib/src/shared/content-settings/components/text-style-field/TextStyleField.mixin.d.ts +28 -28
  190. package/lib/src/shared/content-settings/components/textarea-field/TextareaField.mixin.d.ts +0 -1
  191. package/lib/src/shared/content-settings/components/toggle-field/ToggleField.mixin.d.ts +2 -2
  192. package/lib/src/shared/content-settings/components/url-field/UrlField.mixin.d.ts +0 -1
  193. package/lib/src/shared/content-settings/components/youtube-video-field/YoutubeVideoField.mixin.d.ts +0 -1
  194. package/lib/src/shared/content-settings/store/content-settings-store.d.ts +51 -39
  195. package/lib/src/shared/content-settings/utils.js +0 -1
  196. package/lib/src/shared/font-family-selector/FontFamilySelector.mixin.d.ts +6 -4
  197. package/lib/src/shared/font-family-selector/FontFamilySelector.mixin.js +1 -0
  198. package/lib/src/shared/image-gallery-style-settings/ImageGalleryStyleSettings.mixin.d.ts +4 -2
  199. package/lib/src/shared/image-gallery-style-settings/ImageGalleryStyleSettings.mixin.js +1 -0
  200. package/lib/src/shared/logo-settings/components/EditLogoSettings.mixin.d.ts +29 -21
  201. package/lib/src/shared/logo-settings/components/EditLogoSettings.mixin.js +1 -1
  202. package/lib/src/shared/logo-settings/components/LogoSettings.mixin.d.ts +50 -51
  203. package/lib/src/shared/logo-settings/components/LogoSettingsHeader.mixin.d.ts +6 -4
  204. package/lib/src/shared/logo-settings/components/LogoSettingsHeader.mixin.js +1 -0
  205. package/lib/src/shared/logo-settings/store/editable-logo-store.js +1 -1
  206. package/lib/src/shared/logo-settings/store/logo-settings-store.d.ts +1 -1
  207. package/lib/src/shared/logo-versions/LogoVersions.mixin.d.ts +13 -5
  208. package/lib/src/shared/logo-versions/LogoVersions.mixin.js +1 -0
  209. package/lib/src/shared/models.d.ts +2 -0
  210. package/lib/src/shared/my-designs/MyDesigns.mixin.d.ts +14 -6
  211. package/lib/src/shared/my-designs/MyDesigns.mixin.js +1 -0
  212. package/lib/src/shared/my-uploads/MyMedia.mixin.d.ts +14 -5
  213. package/lib/src/shared/my-uploads/MyMedia.mixin.js +1 -0
  214. package/lib/src/shared/my-uploads/MyUploads.mixin.d.ts +14 -5
  215. package/lib/src/shared/my-uploads/MyUploads.mixin.js +1 -0
  216. package/lib/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.mixin.d.ts +5 -3
  217. package/lib/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.mixin.js +1 -0
  218. package/lib/src/shared/navigation-style-settings/store/index.d.ts +2 -2
  219. package/lib/src/shared/page-navigation/store/page-navigation-store.d.ts +2 -2
  220. package/lib/src/shared/page-settings/components/new-page-modal/NewPageModal.mixin.d.ts +27 -28
  221. package/lib/src/shared/page-settings/components/new-page-modal/NewPageModal.mixin.js +0 -2
  222. package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +204 -177
  223. package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +195 -175
  224. package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.js +1 -1
  225. package/lib/src/shared/page-settings/store/page-settings-store.d.ts +9 -9
  226. package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.d.ts +39 -39
  227. package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.js +0 -1
  228. package/lib/src/shared/side-bar/components/SideBar.mixin.d.ts +18 -18
  229. package/lib/src/shared/side-bar/components/SideBarTabButton.mixin.d.ts +6 -6
  230. package/lib/src/shared/style-settings/components/StyleSettings.mixin.d.ts +66 -60
  231. package/lib/src/shared/style-settings/store/style-settings-store.d.ts +1 -1
  232. package/lib/src/shared/style-settings/store/style-settings-store.js +1 -1
  233. package/lib/src/shared/template-settings/components/TemplatesSettings.mixin.d.ts +20 -450
  234. package/lib/src/shared/template-settings/components/TemplatesSettings.mixin.js +2 -2
  235. package/lib/src/shared/template-settings/models.d.ts +1 -0
  236. package/lib/src/shared/template-settings/store/template-settings-store.d.ts +4 -0
  237. package/lib/src/shared/template-settings/store/template-settings-store.js +79 -11
  238. package/lib/src/shared/unsplash-library/UnsplashLibrary.mixin.d.ts +9 -4
  239. package/lib/src/utils/minify-brand-page-metadata.js +11 -1
  240. package/package.json +61 -57
  241. package/src/brand-page/components/about-section/AboutSection.vue +10 -4
  242. package/src/brand-page/components/about-section/AboutSection.vue.test.ts +7 -5
  243. package/src/brand-page/components/banner-section/BannerSection.mixin.ts +210 -0
  244. package/src/brand-page/components/banner-section/BannerSection.vue +11 -4
  245. package/src/brand-page/components/booking-section/BookingSection.vue +11 -3
  246. package/src/brand-page/components/brand-page-footer/BrandPageFooter.vue +1 -1
  247. package/src/brand-page/components/contact-form/ContactForm.mixin.ts +12 -6
  248. package/src/brand-page/components/contact-form/ContactForm.vue +105 -104
  249. package/src/brand-page/components/image/Image.mixin.ts +1 -1
  250. package/src/brand-page/components/image/Image.test.ts +1 -1
  251. package/src/brand-page/components/image-gallery/ImageGallery.mixin.ts +5 -0
  252. package/src/brand-page/components/image-gallery/ImageGallery.vue +1 -1
  253. package/src/brand-page/components/images-section/ImagesSection.vue +0 -1
  254. package/src/brand-page/components/logo/LogoRender.vue +188 -188
  255. package/src/brand-page/components/mailing-list/MailingList.mixin.ts +8 -1
  256. package/src/brand-page/components/mailing-list/MailingList.vue +1 -1
  257. package/src/brand-page/components/map/Map.vue +5 -1
  258. package/src/brand-page/components/navigation/hamburger/HamburgerNavigation.mixin.ts +1 -0
  259. package/src/brand-page/components/navigation/navigation-side-menu/NavigationSideMenu.mixin.ts +15 -6
  260. package/src/brand-page/components/page-footer/PageFooter.vue +1 -0
  261. package/src/brand-page/components/page-header/HeaderLayout.vue +12 -6
  262. package/src/brand-page/components/page-header/PageHeader.vue +1 -0
  263. package/src/brand-page/components/payment/request-payment/RequestPayment.mixin.ts +5 -0
  264. package/src/brand-page/components/payment/request-payment/RequestPayment.vue +1 -0
  265. package/src/brand-page/components/payment/support-me/SupportMe.mixin.ts +8 -1
  266. package/src/brand-page/components/payment/support-me/SupportMe.vue +1 -0
  267. package/src/brand-page/components/shapes-section/ShapesSection.vue +1 -1
  268. package/src/brand-page/components/shop/CartModal.vue +1 -3
  269. package/src/brand-page/components/shop/FeaturedDisplay.vue +2 -2
  270. package/src/brand-page/components/shop/PaymentModal.vue +1 -5
  271. package/src/brand-page/components/shop/ProductDetailModal.vue +1 -1
  272. package/src/brand-page/components/shop/Shop.vue +8 -3
  273. package/src/brand-page/components/shop/TextDisplay.vue +1 -1
  274. package/src/brand-page/components/shop/ThumbnailDisplay.vue +2 -2
  275. package/src/brand-page/components/social-links/SocialLinks.vue +7 -3
  276. package/src/brand-page/components/testimonial-section/TestimonialSection.vue +120 -11
  277. package/src/brand-page/components/text/Text.vue +12 -5
  278. package/src/brand-page/components/text-media-section/TextMediaSection.vue +11 -3
  279. package/src/brand-page/components/text-wrapper/TextWrapper.vue +3 -1
  280. package/src/brand-page/components/video/Video.mixin.ts +5 -0
  281. package/src/brand-page/components/video/Video.vue +1 -1
  282. package/src/brand-page/constants/font.constants.ts +4 -4
  283. package/src/brand-page/constants/misc.constants.ts +58 -0
  284. package/src/brand-page/constants/sections/footer-display.constants.ts +1 -1
  285. package/src/brand-page/models/content.model.ts +2 -0
  286. package/src/brand-page/models/index.ts +4 -0
  287. package/src/brand-page/models/payment.model.ts +2 -1
  288. package/src/brand-page/models/shop.model.ts +0 -2
  289. package/src/brand-page/models/user-personalisation.model.ts +1 -2
  290. package/src/brand-page/utils/__snapshots__/migration.util.test.ts.snap +12 -3
  291. package/src/brand-page/utils/__snapshots__/migration2.util.test.ts.snap +7 -6
  292. package/src/brand-page/utils/__snapshots__/model.util.test.ts.snap +14 -12
  293. package/src/brand-page/utils/content-padding.util.test.ts +29 -0
  294. package/src/brand-page/utils/content-padding.util.ts +13 -0
  295. package/src/brand-page/utils/index.ts +1 -0
  296. package/src/brand-page/utils/migration/migration-01_1.ts +1 -1
  297. package/src/brand-page/utils/migration/migration-02.ts +0 -1
  298. package/src/brand-page/utils/migration/migration-03.ts +0 -1
  299. package/src/brand-page/utils/migration/migration-04.ts +0 -1
  300. package/src/brand-page/utils/migration/migration-05.ts +1 -5
  301. package/src/brand-page/utils/migration/migration-05_2.ts +1 -1
  302. package/src/brand-page/utils/migration/migration-08.test.ts +1 -1
  303. package/src/brand-page/utils/migration/migration-17.ts +77 -0
  304. package/src/brand-page/utils/migration.util.test.ts +290 -0
  305. package/src/brand-page/utils/migration.util.ts +11 -0
  306. package/src/brand-page/utils/personalisation.util.test.ts +35 -0
  307. package/src/brand-page/utils/personalisation.util.ts +119 -23
  308. package/src/brand-page/view-models.ts +38 -56
  309. package/src/brand-page-maker/assessors/banner-section-description-visibility.assessor.ts +6 -6
  310. package/src/brand-page-maker/assessors/color-replacement-icon-visibility.assessor.ts +2 -2
  311. package/src/brand-page-maker/assessors/color-replacement-profile-visibility.assessor.ts +2 -2
  312. package/src/brand-page-maker/assessors/color-replacement-visibility.assessor.ts +2 -2
  313. package/src/brand-page-maker/assessors/contact-form-visibility.assessor.ts +14 -14
  314. package/src/brand-page-maker/components/action-bar/ActionBar.mixin.ts +1 -0
  315. package/src/brand-page-maker/components/ai-text-edit/TextBubble.vue +1 -0
  316. package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.ts +5 -1
  317. package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.stories.ts +1 -0
  318. package/src/brand-page-maker/components/brand-page-maker/BrandPageMakerTemplateSettings.stories.ts +2 -5
  319. package/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-examples.ts +0 -5
  320. package/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-payment.ts +0 -8
  321. package/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-site-template.examples.ts +0 -2
  322. package/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.vue +1 -0
  323. package/src/brand-page-maker/components/brandpage-settings/ReplaceImageSettingsForBrandPageSettings.mixin.ts +1 -1
  324. package/src/brand-page-maker/components/color-palette/BpColorPalette.vue +1 -2
  325. package/src/brand-page-maker/components/color-picker/components/ColorModeSelect.mixin.ts +1 -0
  326. package/src/brand-page-maker/components/color-picker/components/GradientColorSlider.mixin.ts +1 -0
  327. package/src/brand-page-maker/components/color-picker/components/GradientColorSliderHandler.mixin.ts +1 -0
  328. package/src/brand-page-maker/components/color-picker/components/GradientTypeSelector.mixin.ts +1 -0
  329. package/src/brand-page-maker/components/device/Device.mixin.ts +1 -0
  330. package/src/brand-page-maker/components/navigation/Navigation.mixin.ts +1 -0
  331. package/src/brand-page-maker/components/rich-text-editor/RichTextEditor.vue +3 -1
  332. package/src/brand-page-maker/components/sensitive-content/SensitiveContent.vue +1 -4
  333. package/src/brand-page-maker/components/seo-settings/DeleteDomainModal.vue +1 -1
  334. package/src/brand-page-maker/components/seo-settings/SeoPageSettings.mixin.ts +1 -0
  335. package/src/brand-page-maker/components/seo-settings/SeoPageSettings.vue +1 -1
  336. package/src/brand-page-maker/components/seo-settings/UrlSettings.mixin.ts +0 -1
  337. package/src/brand-page-maker/components/seo-settings/UrlSettings.vue +0 -1
  338. package/src/brand-page-maker/components/seo-settings/UseExistingDomainModal.vue +1 -5
  339. package/src/brand-page-maker/components/shop/AddOrEditProductContainer.vue +1 -1
  340. package/src/brand-page-maker/components/shop/ReplaceImageSettingsForShop.vue +1 -1
  341. package/src/brand-page-maker/components/social-share/SocialShare.vue +1 -1
  342. package/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.ts +22 -8
  343. package/src/brand-page-maker/components/template-preview/TemplatePreview.vue +5 -10
  344. package/src/brand-page-maker/components/template-preview/TemplatePreviewAiBadge.vue +12 -0
  345. package/src/brand-page-maker/components/video-play/VideoPlayButton.vue +1 -1
  346. package/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.ts +1 -1
  347. package/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.ts +6 -6
  348. package/src/brand-page-maker/constants/config-settings-constant.ts +48 -3
  349. package/src/brand-page-maker/convertors/about-display-style.convertor.ts +10 -0
  350. package/src/brand-page-maker/convertors/banner-align-display-style.convertor.ts +8 -0
  351. package/src/brand-page-maker/convertors/contact-layout-style.convertor.test.ts +50 -0
  352. package/src/brand-page-maker/convertors/contact-layout-style.convertor.ts +8 -0
  353. package/src/brand-page-maker/convertors/text-image-display-style.convertor.ts +1 -1
  354. package/src/brand-page-maker/models/button-styles-config.ts +4 -2
  355. package/src/brand-page-maker/models/content-settings-configs.ts +4 -2
  356. package/src/brand-page-maker/models/content-settings.ts +43 -2
  357. package/src/brand-page-maker/models/navigation-style-configs.ts +5 -6
  358. package/src/brand-page-maker/stores/admin-logo-settings/admin-logo-settings-store.ts +0 -1
  359. package/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.ts +8 -5
  360. package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.test.ts +1 -3
  361. package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.ts +12 -4
  362. package/src/brand-page-maker/stores/ui/ui-store.ts +16 -0
  363. package/src/brand-page-maker/utils/content-settings.util.ts +1 -1
  364. package/src/brand-page-maker/utils/rich-text-editor.util.ts +4 -4
  365. package/src/bundles/bundled-translations.de-DE.json +2 -0
  366. package/src/bundles/bundled-translations.es-ES.json +2 -0
  367. package/src/bundles/bundled-translations.fr-CA.json +2 -0
  368. package/src/bundles/bundled-translations.fr-FR.json +2 -0
  369. package/src/bundles/bundled-translations.json +2 -0
  370. package/src/bundles/bundled-translations.pt-BR.json +2 -0
  371. package/src/bundles/bundled-translations.pt-PT.json +2 -0
  372. package/src/clients/design-template-client.ts +3 -0
  373. package/src/clients/models.ts +2 -0
  374. package/src/composables/useSnapshot.ts +19 -22
  375. package/src/lib.ts +1 -0
  376. package/src/metadata-builder/builders/footer-builder.test.ts +137 -0
  377. package/src/metadata-builder/builders/footer-builder.ts +129 -89
  378. package/src/metadata-builder/builders/section-builders/image-gallery-builder.ts +1 -1
  379. package/src/metadata-builder/builders/section-builders/images-section-builder.ts +1 -1
  380. package/src/metadata-builder/builders/section-builders/testimonial-section-builder.ts +1 -1
  381. package/src/metadata-builder/builders/section-builders/text-section-builder.ts +1 -1
  382. package/src/metadata-builder/builders/shape-color-utils.ts +2 -2
  383. package/src/plugins/google-maps-plugin/google-maps-plugin.ts +8 -8
  384. package/src/shared/background-settings/components/BackgroundSettings.vue +1 -1
  385. package/src/shared/background-settings/components/background-color/BackgroundColorSettings.vue +1 -1
  386. package/src/shared/color-picker/components/ColorPicker.mixin.ts +2 -7
  387. package/src/shared/color-picker/components/ColorPickerSwatch.mixin.ts +1 -0
  388. package/src/shared/common/NumberInput.vue +1 -0
  389. package/src/shared/common/SideBarSettingsHeader.vue +2 -2
  390. package/src/shared/confirm-modal/ConfirmModal.mixin.ts +1 -0
  391. package/src/shared/content-settings/components/booking-url-field/BookingUrlField.vue +1 -0
  392. package/src/shared/content-settings/components/button-configuration-field/ButtonConfigurationField.vue +1 -0
  393. package/src/shared/content-settings/components/color-field/ColorField.vue +3 -10
  394. package/src/shared/content-settings/components/content-settings/ContentSettings.mixin.ts +1 -1
  395. package/src/shared/content-settings/components/content-settings/ContentSettingsLockedButton.vue +1 -0
  396. package/src/shared/content-settings/components/content-settings/i18n/content-settings.de-DE.json +2 -0
  397. package/src/shared/content-settings/components/content-settings/i18n/content-settings.es-ES.json +2 -0
  398. package/src/shared/content-settings/components/content-settings/i18n/content-settings.fr-CA.json +2 -0
  399. package/src/shared/content-settings/components/content-settings/i18n/content-settings.fr-FR.json +2 -0
  400. package/src/shared/content-settings/components/content-settings/i18n/content-settings.json +2 -0
  401. package/src/shared/content-settings/components/content-settings/i18n/content-settings.pt-BR.json +2 -0
  402. package/src/shared/content-settings/components/content-settings/i18n/content-settings.pt-PT.json +2 -0
  403. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.ts +5 -0
  404. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.vue +1 -1
  405. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.ts +1 -14
  406. package/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.ts +4 -6
  407. package/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.vue +2 -2
  408. package/src/shared/content-settings/components/icon-library/IconLibrary.mixin.ts +1 -0
  409. package/src/shared/content-settings/components/items-field/ItemsField.mixin.ts +1 -1
  410. package/src/shared/content-settings/components/logo-selection-field/LogoSelectionField.vue +1 -1
  411. package/src/shared/content-settings/components/logo-size-field/LogoSizeSliderField.vue +1 -1
  412. package/src/shared/content-settings/components/page-dropdown-field/PageDropdownField.vue +1 -1
  413. package/src/shared/content-settings/components/personalisation-role-field/PersonalisationRoleField.vue +4 -4
  414. package/src/shared/content-settings/components/slider-field/SliderField.mixin.ts +9 -0
  415. package/src/shared/content-settings/components/text-image-field/TextImageField.vue +2 -8
  416. package/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.ts +1 -1
  417. package/src/shared/content-settings/models.ts +3 -2
  418. package/src/shared/content-settings/utils.ts +0 -1
  419. package/src/shared/dropzone-image-uploader/components/DropzoneImageUploader.vue +1 -0
  420. package/src/shared/ecommerce-settings/store/cart-store.test.ts +1 -1
  421. package/src/shared/font-family-selector/FontFamilySelector.mixin.ts +1 -0
  422. package/src/shared/image-gallery-style-settings/ImageGalleryStyleSettings.mixin.ts +1 -0
  423. package/src/shared/logo-settings/components/EditLogoSettings.mixin.ts +1 -1
  424. package/src/shared/logo-settings/components/LogoSettings.mixin.ts +0 -1
  425. package/src/shared/logo-settings/components/LogoSettingsHeader.mixin.ts +1 -0
  426. package/src/shared/logo-settings/components/LogoStyleSettingsWithState.vue +2 -2
  427. package/src/shared/logo-settings/components/LogoTemplateSearch.vue +1 -1
  428. package/src/shared/logo-settings/store/editable-logo-store.ts +1 -1
  429. package/src/shared/logo-settings/store/logo-settings-store.test.ts +4 -4
  430. package/src/shared/logo-versions/LogoVersions.mixin.ts +1 -0
  431. package/src/shared/models.ts +6 -0
  432. package/src/shared/my-designs/MyDesigns.mixin.ts +1 -0
  433. package/src/shared/my-uploads/MyMedia.mixin.ts +1 -0
  434. package/src/shared/my-uploads/MyMediaSelectionItem.vue +2 -1
  435. package/src/shared/my-uploads/MyUploads.mixin.ts +1 -0
  436. package/src/shared/my-uploads/models.ts +1 -2
  437. package/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.mixin.ts +1 -0
  438. package/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.vue +1 -1
  439. package/src/shared/page-settings/components/new-page-modal/NewPageModal.mixin.ts +0 -3
  440. package/src/shared/page-settings/components/page-settings/NestedDraggable.vue +1 -1
  441. package/src/shared/page-settings/components/page-settings/PageSettings.vue +1 -2
  442. package/src/shared/page-settings/components/page-settings-section-styles/HeaderDisplayStyle.vue +1 -1
  443. package/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.ts +1 -1
  444. package/src/shared/page-settings/store/page-settings-store.test.ts +4 -8
  445. package/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.ts +0 -1
  446. package/src/shared/shape-library/ShapeLibrary.vue +2 -2
  447. package/src/shared/style-settings/store/style-settings-store.ts +1 -1
  448. package/src/shared/template-settings/components/TemplatesSettings.mixin.ts +2 -2
  449. package/src/shared/template-settings/models.ts +1 -0
  450. package/src/shared/template-settings/store/template-settings-store.ts +105 -18
  451. package/src/shared/unsplash-library/UnsplashLibrary.vue +2 -6
  452. package/src/shared/video-library/VideoLibrary.vue +1 -1
  453. package/src/utils/minify-brand-page-metadata.ts +11 -1
  454. package/lib/src/brand-page/components/testimonial-section/TestimonialSection.mixin.js +0 -112
  455. package/src/brand-page/components/testimonial-section/TestimonialSection.mixin.ts +0 -132
@@ -4,7 +4,7 @@ import { getEmailValidationError, getMessageValidationError, getNameValidationEr
4
4
  import brandPageClient from '../../clients/brand-page.client';
5
5
  import { isEmail } from '../../../utils/validator.util';
6
6
  import { ALIGN_CARD_CENTER, ALIGN_CARD_CENTER_IMAGE, ALIGN_CENTERED, ALIGN_LEFT_FULL_IMAGE, ALIGN_RIGHT_FULL_IMAGE, DISPLAY_STYLE_COLLAPSED, RECAPTCHA_ACTION_CONTACT_FORM, TEXT_ONLY, } from '../../constants';
7
- import { getRenderText } from '@brand-page/utils';
7
+ import { getRenderText, contentPaddingStyle as toContentPaddingStyle, } from '@brand-page/utils';
8
8
  import { hasRTEContent } from '@brand-page-maker/utils';
9
9
  import { useReCaptcha } from '../../composables/recaptcha.composable';
10
10
  export default defineComponent({
@@ -64,6 +64,9 @@ export default defineComponent({
64
64
  };
65
65
  return buttonTextStyle;
66
66
  },
67
+ contentPaddingStyle() {
68
+ return toContentPaddingStyle(this.viewModel);
69
+ },
67
70
  hasCard() {
68
71
  return (this.viewModel.layoutStyle === ALIGN_CARD_CENTER ||
69
72
  this.viewModel.layoutStyle === ALIGN_CARD_CENTER_IMAGE);
@@ -72,9 +75,10 @@ export default defineComponent({
72
75
  return this.viewModel.layoutStyle === ALIGN_CARD_CENTER_IMAGE;
73
76
  },
74
77
  hasBgColor() {
75
- return (this.viewModel.layoutStyle === ALIGN_CARD_CENTER ||
76
- this.viewModel.layoutStyle === TEXT_ONLY ||
77
- this.viewModel.layoutStyle === ALIGN_CENTERED);
78
+ // Every brandSite layout applies the background colour on the section
79
+ // root (banner-style) so the padding control reveals it; for the image
80
+ // layouts it only shows in the padding bands around the image block.
81
+ return Boolean(this.viewModel.layoutStyle);
78
82
  },
79
83
  isCenteredLayout() {
80
84
  return (this.viewModel.layoutStyle === ALIGN_CARD_CENTER ||
@@ -23,6 +23,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
23
23
  }>, {}, {
24
24
  imageModalSelectedImageIndex: number | undefined;
25
25
  }, {
26
+ contentPaddingStyle(): {
27
+ paddingTop: string;
28
+ paddingBottom: string;
29
+ };
26
30
  getContainerStyle(): BrandPageCssStyle;
27
31
  images(): any[] | undefined;
28
32
  galleryType(): GalleryType;
@@ -1,4 +1,5 @@
1
1
  import { defineComponent } from 'vue';
2
+ import { contentPaddingStyle as toContentPaddingStyle } from '@brand-page/utils';
2
3
  import ComponentCommonMixin from '../mixins/component-common.mixin';
3
4
  import ImageModalMixin from '../mixins/image-modal.mixin';
4
5
  import { GALLERY_TYPES } from '@brand-page/models';
@@ -29,6 +30,9 @@ export default defineComponent({
29
30
  };
30
31
  },
31
32
  computed: {
33
+ contentPaddingStyle() {
34
+ return toContentPaddingStyle(this.viewModel);
35
+ },
32
36
  getContainerStyle() {
33
37
  if (this.galleryType === 'carousel') {
34
38
  const maxWidth = this.containerClientWidth
@@ -1,4 +1,3 @@
1
- /// <reference types="types/lodash-shims" />
2
1
  import type { PropType } from 'vue';
3
2
  import type { ImageGalleryViewModel } from '../../../view-models';
4
3
  import type { DebounceHandle } from 'lodash.debounce';
@@ -39,6 +39,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
39
39
  isSubmitting: boolean;
40
40
  show: boolean;
41
41
  }, {
42
+ contentPaddingStyle(): {
43
+ paddingTop: string;
44
+ paddingBottom: string;
45
+ };
42
46
  hasNameError(): boolean;
43
47
  hasEmailError(): boolean;
44
48
  hasFormError(): boolean;
@@ -1,6 +1,6 @@
1
1
  import { defineComponent } from 'vue';
2
2
  import brandPageClient from '../../clients/brand-page.client';
3
- import { getEmailValidationError } from '@brand-page/utils';
3
+ import { getEmailValidationError, contentPaddingStyle as toContentPaddingStyle, } from '@brand-page/utils';
4
4
  import { contentSettingsTr, mailingListTr, } from '@src/composables/useTranslate';
5
5
  import { useReCaptcha } from '../../composables/recaptcha.composable';
6
6
  import { RECAPTCHA_ACTION_MAILING_LIST } from '../../constants';
@@ -51,6 +51,9 @@ export default defineComponent({
51
51
  }
52
52
  },
53
53
  computed: {
54
+ contentPaddingStyle() {
55
+ return toContentPaddingStyle(this.viewModel);
56
+ },
54
57
  hasNameError() {
55
58
  return !!this.nameError;
56
59
  },
@@ -12,10 +12,12 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
12
12
  isHamburgerRounded(): boolean;
13
13
  }, {
14
14
  openSideMenu(): void;
15
- }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
15
+ }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "open-side-menu"[], "open-side-menu", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
16
16
  navigation: {
17
17
  type: PropType<NavigationDesktop | NavigationMobile>;
18
18
  required: true;
19
19
  };
20
- }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
20
+ }>> & Readonly<{
21
+ "onOpen-side-menu"?: ((...args: any[]) => any) | undefined;
22
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
21
23
  export default _default;
@@ -7,6 +7,7 @@ export default defineComponent({
7
7
  required: true,
8
8
  },
9
9
  },
10
+ emits: ['open-side-menu'],
10
11
  computed: {
11
12
  iconStyle() {
12
13
  // rounded
@@ -36,7 +36,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
36
36
  toggleExpanded(pageId: string): void;
37
37
  isExpanded(pageId: string): boolean;
38
38
  expandSubPageIfCurrentPage(): void;
39
- }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
39
+ }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "close-side-menu"[], "close-side-menu", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
40
40
  context: {
41
41
  type: PropType<BrandPageContext>;
42
42
  required: true;
@@ -53,5 +53,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
53
53
  type: PropType<NavigationDesktop | NavigationMobile>;
54
54
  required: true;
55
55
  };
56
- }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
56
+ }>> & Readonly<{
57
+ "onClose-side-menu"?: ((...args: any[]) => any) | undefined;
58
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
57
59
  export default _default;
@@ -18,6 +18,7 @@ export default defineComponent({
18
18
  required: true,
19
19
  },
20
20
  },
21
+ emits: ['close-side-menu'],
21
22
  data() {
22
23
  return {
23
24
  expandedItems: {}, // Keep track of which navs are expanded
@@ -41,15 +42,15 @@ export default defineComponent({
41
42
  },
42
43
  // Prevents us from doubling down on em sizing of font
43
44
  defaultWrapperStyle() {
44
- const { fontSize, lineHeight, letterSpacing, ...rest } = this.defaultButtonStyle;
45
+ const { fontSize: _fontSize, lineHeight: _lineHeight, letterSpacing: _letterSpacing, ...rest } = this.defaultButtonStyle;
45
46
  return rest;
46
47
  },
47
48
  selectedWrapperStyle() {
48
- const { fontSize, lineHeight, letterSpacing, ...rest } = this.selectedButtonStyle;
49
+ const { fontSize: _fontSize, lineHeight: _lineHeight, letterSpacing: _letterSpacing, ...rest } = this.selectedButtonStyle;
49
50
  return rest;
50
51
  },
51
52
  routes() {
52
- return this.visibleNavItems.map((navItem, i) => {
53
+ return this.visibleNavItems.map((navItem, _i) => {
53
54
  return {
54
55
  routeName: navItem.routeName,
55
56
  routeParams: navItem.routeParams,
@@ -79,7 +80,7 @@ export default defineComponent({
79
80
  paddingLeft: '32px',
80
81
  backgroundColor: isActive
81
82
  ? baseStyle.backgroundColor
82
- : this.styles.hamburgerMenuStyle.subNavBackgroundColor ?? '#ffffff',
83
+ : (this.styles.hamburgerMenuStyle.subNavBackgroundColor ?? '#ffffff'),
83
84
  };
84
85
  },
85
86
  closeSideMenu() {
@@ -145,8 +145,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
145
145
  }>, {
146
146
  viewport: ViewportsType;
147
147
  isMobileDevice: boolean;
148
- containerClientHeight: number | undefined;
149
148
  containerClientWidth: number | undefined;
149
+ containerClientHeight: number | undefined;
150
150
  isContentSelected: boolean;
151
151
  isHeaderSelected: boolean;
152
152
  isFooterSelected: boolean;
@@ -78,7 +78,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
78
78
  }>> & Readonly<{}>, {
79
79
  brandPageToken: string;
80
80
  isMobileDevice: boolean;
81
- containerClientHeight: number;
82
81
  containerClientWidth: number;
82
+ containerClientHeight: number;
83
83
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
84
84
  export default _default;
@@ -23,7 +23,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
23
23
  required: true;
24
24
  };
25
25
  viewModel: {
26
- type: PropType<SupportMeViewModel | RequestPaymentViewModel>;
26
+ type: PropType<RequestPaymentViewModel | SupportMeViewModel>;
27
27
  required: true;
28
28
  };
29
29
  paymentConfig: {
@@ -42,7 +42,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
42
42
  readonly CheckoutStripe: "checkout-stripe";
43
43
  readonly Success: "success";
44
44
  };
45
- cart: CreateCartResult<unknown> | null | undefined;
45
+ cart: CreateCartResult<unknown> | undefined | null;
46
46
  isCollapsed: boolean;
47
47
  isPaymentConfigActive: boolean;
48
48
  state: State;
@@ -78,7 +78,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
78
78
  required: true;
79
79
  };
80
80
  viewModel: {
81
- type: PropType<SupportMeViewModel | RequestPaymentViewModel>;
81
+ type: PropType<RequestPaymentViewModel | SupportMeViewModel>;
82
82
  required: true;
83
83
  };
84
84
  paymentConfig: {
@@ -3,33 +3,33 @@ export declare const context: {
3
3
  stripePublishableKey: string;
4
4
  isTemplate: boolean;
5
5
  isPreview: boolean;
6
- isMobile?: boolean | undefined;
6
+ isMobile?: boolean;
7
7
  isDesignCom: boolean;
8
8
  isProduction: boolean;
9
9
  isServerRender: boolean;
10
10
  brandPageSlug: string;
11
- brandPageToken?: string | undefined;
12
- pages?: import("../../../view-models").PageViewModel[] | undefined;
11
+ brandPageToken?: string;
12
+ pages?: import("../../../view-models").PageViewModel[];
13
13
  nav: import("../../../view-models").NavViewModel;
14
- currentPageRelativePath?: string | undefined;
14
+ currentPageRelativePath?: string;
15
15
  runtimeEnvironment: string;
16
16
  recaptchaSiteKey: string | undefined;
17
17
  pageTitle: string;
18
18
  customDomain: string | undefined;
19
- brandPageType: "default" | "brandSite" | "brandContact";
19
+ brandPageType: import("../../../models").BrandPageType;
20
20
  isBrandPage: boolean;
21
21
  isBrandPageOrIsBrandContact: boolean;
22
22
  isBrandSite: boolean;
23
23
  isBrandContact: boolean;
24
24
  options?: {
25
- disableNavigationSideMenu?: boolean | undefined;
26
- mediaSizes?: "size1x" | "size2x" | "sizeThumb" | undefined;
27
- renderVideoAsImage?: boolean | undefined;
28
- shouldPlayVideos?: boolean | undefined;
29
- enableSaveContact?: boolean | undefined;
30
- } | undefined;
31
- abTests?: import("../../../models").AbTest | undefined;
25
+ disableNavigationSideMenu?: boolean;
26
+ mediaSizes?: import("../../../models").MediaSizes;
27
+ renderVideoAsImage?: boolean;
28
+ shouldPlayVideos?: boolean;
29
+ enableSaveContact?: boolean;
30
+ };
31
+ abTests?: import("../../../models").AbTest;
32
32
  isCapturingPreview: boolean;
33
- disableLogoRenderOnServerside?: boolean | undefined;
33
+ disableLogoRenderOnServerside?: boolean;
34
34
  };
35
35
  export declare const viewModel: RequestPaymentViewModel;
@@ -3,33 +3,33 @@ export declare const context: {
3
3
  stripePublishableKey: string;
4
4
  isTemplate: boolean;
5
5
  isPreview: boolean;
6
- isMobile?: boolean | undefined;
6
+ isMobile?: boolean;
7
7
  isDesignCom: boolean;
8
8
  isProduction: boolean;
9
9
  isServerRender: boolean;
10
10
  brandPageSlug: string;
11
- brandPageToken?: string | undefined;
12
- pages?: import("../../../view-models").PageViewModel[] | undefined;
11
+ brandPageToken?: string;
12
+ pages?: import("../../../view-models").PageViewModel[];
13
13
  nav: import("../../../view-models").NavViewModel;
14
- currentPageRelativePath?: string | undefined;
14
+ currentPageRelativePath?: string;
15
15
  runtimeEnvironment: string;
16
16
  recaptchaSiteKey: string | undefined;
17
17
  pageTitle: string;
18
18
  customDomain: string | undefined;
19
- brandPageType: "default" | "brandSite" | "brandContact";
19
+ brandPageType: import("../../../models").BrandPageType;
20
20
  isBrandPage: boolean;
21
21
  isBrandPageOrIsBrandContact: boolean;
22
22
  isBrandSite: boolean;
23
23
  isBrandContact: boolean;
24
24
  options?: {
25
- disableNavigationSideMenu?: boolean | undefined;
26
- mediaSizes?: "size1x" | "size2x" | "sizeThumb" | undefined;
27
- renderVideoAsImage?: boolean | undefined;
28
- shouldPlayVideos?: boolean | undefined;
29
- enableSaveContact?: boolean | undefined;
30
- } | undefined;
31
- abTests?: import("../../../models").AbTest | undefined;
25
+ disableNavigationSideMenu?: boolean;
26
+ mediaSizes?: import("../../../models").MediaSizes;
27
+ renderVideoAsImage?: boolean;
28
+ shouldPlayVideos?: boolean;
29
+ enableSaveContact?: boolean;
30
+ };
31
+ abTests?: import("../../../models").AbTest;
32
32
  isCapturingPreview: boolean;
33
- disableLogoRenderOnServerside?: boolean | undefined;
33
+ disableLogoRenderOnServerside?: boolean;
34
34
  };
35
35
  export declare const viewModel: SupportMeViewModel;
@@ -21,6 +21,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
21
21
  selectedPaymentOptionIds: string[];
22
22
  imageType: string;
23
23
  }, {
24
+ contentPaddingStyle(): {
25
+ paddingTop: string;
26
+ paddingBottom: string;
27
+ };
24
28
  isCustomerRequestDetailsValid(): boolean;
25
29
  paymentRequestDetails(): PaymentRequestDetails;
26
30
  paymentOptions(): PaymentOption[];
@@ -2,6 +2,7 @@ import { defineComponent } from 'vue';
2
2
  import { PAYMENT_OPTION_DISPLAY_TYPES, PAYMENT_OPTION_IMAGE_TYPES, } from '../../../models';
3
3
  import { DEFAULT_CURRENCY_SYMBOL } from '../../../constants';
4
4
  import { addOpacityToHex } from '../../../utils/color.util';
5
+ import { contentPaddingStyle as toContentPaddingStyle } from '../../../utils';
5
6
  import { RGBAtoHex } from '@utils/helpers';
6
7
  const MAX_CUSTOM_REQUEST_CHARS = 500;
7
8
  export default defineComponent({
@@ -28,6 +29,9 @@ export default defineComponent({
28
29
  };
29
30
  },
30
31
  computed: {
32
+ contentPaddingStyle() {
33
+ return toContentPaddingStyle(this.viewModel);
34
+ },
31
35
  isCustomerRequestDetailsValid() {
32
36
  return (!this.viewModel.requestPaymentConfig.isCustomerRequestDetailsEnabled ||
33
37
  this.customerRequestDetails === undefined ||
@@ -17,6 +17,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
17
17
  prevCustomAmount: string;
18
18
  customAmount: string;
19
19
  }, {
20
+ contentPaddingStyle(): {
21
+ paddingTop: string;
22
+ paddingBottom: string;
23
+ };
20
24
  isCustomAmountFieldVisible(): boolean;
21
25
  isCustomerMessageFieldVisible(): boolean;
22
26
  isCustomerMessageValid(): boolean;
@@ -1,6 +1,6 @@
1
1
  import { defineComponent } from 'vue';
2
2
  import { SUPPORT_ME_CUSTOM_PRODUCT_NAME } from '../../../constants';
3
- import { isPaymentAmountValid } from '../../../utils';
3
+ import { isPaymentAmountValid, contentPaddingStyle as toContentPaddingStyle, } from '../../../utils';
4
4
  import { DEFAULT_CURRENCY_SYMBOL, DEFAULT_CURRENCY_CODE, } from '../../../constants';
5
5
  import { paymentTr } from '@src/composables/useTranslate';
6
6
  const MAX_CUSTOM_MESSAGE_CHARS = 500;
@@ -24,6 +24,9 @@ export default defineComponent({
24
24
  };
25
25
  },
26
26
  computed: {
27
+ contentPaddingStyle() {
28
+ return toContentPaddingStyle(this.viewModel);
29
+ },
27
30
  isCustomAmountFieldVisible() {
28
31
  return this.viewModel.supportMeConfig.paymentOptions.some((o) => o.name === SUPPORT_ME_CUSTOM_PRODUCT_NAME);
29
32
  },
@@ -11,6 +11,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
11
11
  isCollapsed: boolean;
12
12
  title: string;
13
13
  }, {
14
+ contentPaddingStyle(): {
15
+ paddingTop: string;
16
+ paddingBottom: string;
17
+ };
14
18
  arrowStyle(): BrandPageCssStyle;
15
19
  containerStyle(): BrandPageCssStyle;
16
20
  videoUrl(): string;
@@ -1,4 +1,5 @@
1
1
  import { defineComponent } from 'vue';
2
+ import { contentPaddingStyle as toContentPaddingStyle } from '@brand-page/utils';
2
3
  import ComponentCommonMixin from '../mixins/component-common.mixin';
3
4
  import { DISPLAY_STYLE_PREVIEW, DISPLAY_STYLE_COLLAPSED, } from '../../constants';
4
5
  export default defineComponent({
@@ -16,6 +17,9 @@ export default defineComponent({
16
17
  title: 'Video',
17
18
  }),
18
19
  computed: {
20
+ contentPaddingStyle() {
21
+ return toContentPaddingStyle(this.viewModel);
22
+ },
19
23
  arrowStyle() {
20
24
  return {
21
25
  color: this.viewModel.buttonStyles.style?.color,
@@ -4,10 +4,10 @@ export declare const DISPLAY_TEXT_BODY = "Paragraphs";
4
4
  export declare const DISPlAY_TEXT_BUTTONS = "Button Texts";
5
5
  export declare const DEFAULT_TEXT_DECORATION: undefined;
6
6
  export declare const DEFAULT_FONT_STYLE: undefined;
7
- export declare const FONT_SIZE_TITLE = "2.25rem";
8
- export declare const FONT_SIZE_HEADINGS = "1.5rem";
9
- export declare const FONT_SIZE_BODY = "1rem";
10
- export declare const FONT_SIZE_PROFILE_NAME = "1.5rem";
7
+ export declare const FONT_SIZE_TITLE = "2.25em";
8
+ export declare const FONT_SIZE_HEADINGS = "1.5em";
9
+ export declare const FONT_SIZE_BODY = "1em";
10
+ export declare const FONT_SIZE_PROFILE_NAME = "1.5em";
11
11
  export declare const FONT_WEIGHT_PROFILE_NAME = "800";
12
12
  export declare const FONT_WEIGHT_NORMAL = "normal";
13
13
  export declare const LINE_HEIGHT_TITLE = "1.3";
@@ -5,10 +5,10 @@ export const DISPLAY_TEXT_BODY = 'Paragraphs';
5
5
  export const DISPlAY_TEXT_BUTTONS = 'Button Texts';
6
6
  export const DEFAULT_TEXT_DECORATION = undefined;
7
7
  export const DEFAULT_FONT_STYLE = undefined;
8
- export const FONT_SIZE_TITLE = '2.25rem';
9
- export const FONT_SIZE_HEADINGS = '1.5rem';
10
- export const FONT_SIZE_BODY = '1rem';
11
- export const FONT_SIZE_PROFILE_NAME = '1.5rem';
8
+ export const FONT_SIZE_TITLE = '2.25em';
9
+ export const FONT_SIZE_HEADINGS = '1.5em';
10
+ export const FONT_SIZE_BODY = '1em';
11
+ export const FONT_SIZE_PROFILE_NAME = '1.5em';
12
12
  export const FONT_WEIGHT_PROFILE_NAME = '800';
13
13
  export const FONT_WEIGHT_NORMAL = 'normal';
14
14
  export const LINE_HEIGHT_TITLE = '1.3';
@@ -29,6 +29,41 @@ export declare const TEXT_ONLY = "text-only";
29
29
  export declare const ALIGN_LEFT_FULL_IMAGE = "left-aligned-full-image";
30
30
  export declare const ALIGN_RIGHT_FULL_IMAGE = "right-aligned-full-image";
31
31
  export declare const ALTERNATE_IMAGE = "alternate-image";
32
+ /**
33
+ * Padding Control (BP-5699): the top/bottom padding each Contact Form layout
34
+ * had hard-coded before the sliders existed. Single source for new-block
35
+ * defaults (content-settings) and the migration backfill for existing pages.
36
+ * The image layouts (full-image divided and card-over-image) are 0: the bg
37
+ * image expands with the section padding (banner-style), so the default starts
38
+ * flush at the edges; the spacing inside/over the image stays fixed.
39
+ */
40
+ export declare const CONTACT_FORM_LAYOUT_DEFAULT_PADDING: Record<string, number>;
41
+ /**
42
+ * Banner: full-bleed display styles (divided + full-width stacked) render the
43
+ * image flush to the section edges, so their top/bottom padding defaults to 0 to
44
+ * match prod — the standard 32 would push the image off the edges. Every other
45
+ * banner style keeps 32. Used by the banner display-style convertor and the
46
+ * migration backfill, mirroring contact-form's per-layout map above.
47
+ */
48
+ export declare const BANNER_DEFAULT_PADDING = 32;
49
+ export declare const BANNER_FULL_BLEED_DISPLAY_STYLES: string[];
50
+ export declare const bannerDisplayStyleDefaultPadding: (displayStyle?: string) => number;
51
+ /**
52
+ * About: a flat 32 for every display style, including the two full-image styles.
53
+ * The full-image About renders the image inside the padded container, so the
54
+ * standard 32 band is the intended look. Used by the About display-style
55
+ * convertor and the migration backfill.
56
+ */
57
+ export declare const ABOUT_DEFAULT_PADDING = 32;
58
+ /**
59
+ * Testimonials: a single top/bottom value across both breakpoints, replacing the
60
+ * old 32px mobile / 80px desktop split. The same value applies to every display
61
+ * style (centered / big-image / columns) — they share one root, so padding does
62
+ * not vary by style. Used by the new-block default and the migration backfill.
63
+ * Default (BP-5703): 48px — the single value chosen for both breakpoints (replaces
64
+ * the old 32px mobile / 80px desktop split).
65
+ */
66
+ export declare const TESTIMONIAL_DEFAULT_PADDING = 48;
32
67
  export declare const BIG_IMAGE = "big-image";
33
68
  export declare const MEDIA_ONLY = "media-only";
34
69
  export declare const COLUMNS = "columns";
@@ -30,6 +30,57 @@ export const TEXT_ONLY = 'text-only';
30
30
  export const ALIGN_LEFT_FULL_IMAGE = 'left-aligned-full-image';
31
31
  export const ALIGN_RIGHT_FULL_IMAGE = 'right-aligned-full-image';
32
32
  export const ALTERNATE_IMAGE = 'alternate-image';
33
+ /**
34
+ * Padding Control (BP-5699): the top/bottom padding each Contact Form layout
35
+ * had hard-coded before the sliders existed. Single source for new-block
36
+ * defaults (content-settings) and the migration backfill for existing pages.
37
+ * The image layouts (full-image divided and card-over-image) are 0: the bg
38
+ * image expands with the section padding (banner-style), so the default starts
39
+ * flush at the edges; the spacing inside/over the image stays fixed.
40
+ */
41
+ export const CONTACT_FORM_LAYOUT_DEFAULT_PADDING = {
42
+ '': 0, // collapsible (default on Brand Page / Brand Contact)
43
+ [ALIGN_CENTERED]: 32,
44
+ [ALIGN_CARD_CENTER]: 32,
45
+ [ALIGN_CARD_CENTER_IMAGE]: 0,
46
+ [TEXT_ONLY]: 32,
47
+ [ALIGN_LEFT_FULL_IMAGE]: 0,
48
+ [ALIGN_RIGHT_FULL_IMAGE]: 0,
49
+ };
50
+ /**
51
+ * Banner: full-bleed display styles (divided + full-width stacked) render the
52
+ * image flush to the section edges, so their top/bottom padding defaults to 0 to
53
+ * match prod — the standard 32 would push the image off the edges. Every other
54
+ * banner style keeps 32. Used by the banner display-style convertor and the
55
+ * migration backfill, mirroring contact-form's per-layout map above.
56
+ */
57
+ export const BANNER_DEFAULT_PADDING = 32;
58
+ export const BANNER_FULL_BLEED_DISPLAY_STYLES = [
59
+ ALIGN_LEFT_FULL_IMAGE,
60
+ ALIGN_RIGHT_FULL_IMAGE,
61
+ ALIGN_TOP_FULL_IMAGE,
62
+ ALIGN_BOTTOM_FULL_IMAGE,
63
+ ALIGN_MIDDLE_FULL_IMAGE,
64
+ ];
65
+ export const bannerDisplayStyleDefaultPadding = (displayStyle) => displayStyle && BANNER_FULL_BLEED_DISPLAY_STYLES.includes(displayStyle)
66
+ ? 0
67
+ : BANNER_DEFAULT_PADDING;
68
+ /**
69
+ * About: a flat 32 for every display style, including the two full-image styles.
70
+ * The full-image About renders the image inside the padded container, so the
71
+ * standard 32 band is the intended look. Used by the About display-style
72
+ * convertor and the migration backfill.
73
+ */
74
+ export const ABOUT_DEFAULT_PADDING = 32;
75
+ /**
76
+ * Testimonials: a single top/bottom value across both breakpoints, replacing the
77
+ * old 32px mobile / 80px desktop split. The same value applies to every display
78
+ * style (centered / big-image / columns) — they share one root, so padding does
79
+ * not vary by style. Used by the new-block default and the migration backfill.
80
+ * Default (BP-5703): 48px — the single value chosen for both breakpoints (replaces
81
+ * the old 32px mobile / 80px desktop split).
82
+ */
83
+ export const TESTIMONIAL_DEFAULT_PADDING = 48;
33
84
  export const BIG_IMAGE = 'big-image';
34
85
  export const MEDIA_ONLY = 'media-only';
35
86
  export const COLUMNS = 'columns';
@@ -1,5 +1,5 @@
1
1
  import { ALIGN_CENTERED, ALIGN_JUSTIFIED } from '../misc.constants';
2
- import { tr, commonTr } from '@src/composables/useTranslate';
2
+ import { commonTr } from '@src/composables/useTranslate';
3
3
  export const FOOTER_DISPLAY = {
4
4
  /** @deprecated */
5
5
  ALIGN_CENTERED, // mapped to CENTERED
@@ -47,6 +47,8 @@ export interface Content {
47
47
  id: string;
48
48
  type: ContentType;
49
49
  personalisationRole?: PersonalisationRole;
50
+ topPadding?: number;
51
+ bottomPadding?: number;
50
52
  imageUrlOverride?: string;
51
53
  imageUrlsOverride?: string;
52
54
  avatarImageUrlOverride?: string;
@@ -42,7 +42,7 @@ export declare const GALLERY_TYPES: {
42
42
  readonly masonry: "masonry";
43
43
  };
44
44
  export type GalleryType = keyof typeof GALLERY_TYPES;
45
- export declare const availableGalleryTypes: ("grid" | "carousel" | "masonry")[];
45
+ export declare const availableGalleryTypes: GalleryType[];
46
46
  export declare class GalleryStyles {
47
47
  galleryType: GalleryType;
48
48
  constructor(option?: Partial<GalleryStyles>);
@@ -547,6 +547,7 @@ export interface SaveContactOptions {
547
547
  }
548
548
  export declare class BrandPageModel {
549
549
  v: number;
550
+ userPromptContentKey?: string;
550
551
  styles: PageStyles;
551
552
  /** @deprecated */
552
553
  headerStyles?: AbstractPageHeaderStyles;
@@ -400,6 +400,9 @@ export class PageFooterMobile extends AbstractPageFooterStyles {
400
400
  export class BrandPageModel {
401
401
  // Model version
402
402
  v;
403
+ // AI personalisation key persisted with the draft so previews survive login/checkout-back/
404
+ // refresh - content is retrieved by this token (user-agnostic), not regenerated (bp-5742).
405
+ userPromptContentKey;
403
406
  styles;
404
407
  /** @deprecated */
405
408
  headerStyles;
@@ -50,7 +50,7 @@ export interface StripePaymentIntent {
50
50
  currency: string;
51
51
  }
52
52
  export declare const isStripePaymentIntent: (value: any) => value is StripePaymentIntent;
53
- export interface CreateCartResult<T> {
53
+ export interface CreateCartResult<T = unknown> {
54
54
  cartId: string;
55
55
  paymentProviderName: string;
56
56
  paymentProviderExternalId: string;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Block top/bottom padding (BP-5687) as a bindable CSS style object. Defaults
3
+ * live in the data — `content-settings` for new content, a migration for
4
+ * existing — so this just reads the stored value (`?? 0` covers content from
5
+ * before the field existed).
6
+ */
7
+ export declare const contentPaddingStyle: (content: {
8
+ topPadding?: number;
9
+ bottomPadding?: number;
10
+ }) => {
11
+ paddingTop: string;
12
+ paddingBottom: string;
13
+ };
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Block top/bottom padding (BP-5687) as a bindable CSS style object. Defaults
3
+ * live in the data — `content-settings` for new content, a migration for
4
+ * existing — so this just reads the stored value (`?? 0` covers content from
5
+ * before the field existed).
6
+ */
7
+ export const contentPaddingStyle = (content) => ({
8
+ paddingTop: `${content.topPadding ?? 0}px`,
9
+ paddingBottom: `${content.bottomPadding ?? 0}px`,
10
+ });
@@ -1,4 +1,5 @@
1
1
  export * from './style.util';
2
+ export * from './content-padding.util';
2
3
  export * from './view-model.util';
3
4
  export * from './text.util';
4
5
  export * from './model.util';