@designcrowd/library.brand-page 5.18.8 → 5.18.9-ast-padding-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 (139) hide show
  1. package/lib/src/{CreatedOnBrandCrowd-de-de-BRbznSpr.js → CreatedOnBrandCrowd-de-de-BmLOUBDj.js} +1 -1
  2. package/lib/src/{CreatedOnBrandCrowd-en-us-DTgCvurL.js → CreatedOnBrandCrowd-en-us-DGCwedd5.js} +1 -1
  3. package/lib/src/{CreatedOnBrandCrowd-es-es-ZEi7ypLq.js → CreatedOnBrandCrowd-es-es-qfWIO62h.js} +1 -1
  4. package/lib/src/{CreatedOnBrandCrowd-fr-fr-DNDjgJA5.js → CreatedOnBrandCrowd-fr-ca-Bh6tQfv-.js} +1 -1
  5. package/lib/src/{CreatedOnBrandCrowd-fr-ca-DNDjgJA5.js → CreatedOnBrandCrowd-fr-fr-Bh6tQfv-.js} +1 -1
  6. package/lib/src/{CreatedOnBrandCrowd-pt-pt-BrKUBLlc.js → CreatedOnBrandCrowd-pt-br-DBF_gR3z.js} +1 -1
  7. package/lib/src/{CreatedOnBrandCrowd-pt-br-BrKUBLlc.js → CreatedOnBrandCrowd-pt-pt-DBF_gR3z.js} +1 -1
  8. package/lib/src/{CreatedOnDcom-de-de-ZxFuF7Zf.js → CreatedOnDcom-de-de-B1ZibTqN.js} +1 -1
  9. package/lib/src/{CreatedOnDcom-en-us-Bbe6q32b.js → CreatedOnDcom-en-us-4qS61Om_.js} +1 -1
  10. package/lib/src/{CreatedOnDcom-es-es-B1xxtqwW.js → CreatedOnDcom-es-es-yX1FaMrI.js} +1 -1
  11. package/lib/src/{CreatedOnDcom-fr-ca-dYIw-XKa.js → CreatedOnDcom-fr-ca-h5RbgiUo.js} +1 -1
  12. package/lib/src/{CreatedOnDcom-fr-fr-CdvwGLYf.js → CreatedOnDcom-fr-fr-4cJbiAWr.js} +1 -1
  13. package/lib/src/{CreatedOnDcom-pt-br-oBMlRSZf.js → CreatedOnDcom-pt-br-C0FUKVjn.js} +1 -1
  14. package/lib/src/{CreatedOnDcom-pt-pt-BA0tAdwI.js → CreatedOnDcom-pt-pt-CFstpuvQ.js} +1 -1
  15. package/lib/src/brand-page/components/contact-form/ContactForm.mixin.d.ts +4 -0
  16. package/lib/src/brand-page/components/contact-form/ContactForm.mixin.js +8 -4
  17. package/lib/src/brand-page/components/image-gallery/ImageGallery.mixin.d.ts +4 -0
  18. package/lib/src/brand-page/components/image-gallery/ImageGallery.mixin.js +4 -0
  19. package/lib/src/brand-page/components/mailing-list/MailingList.mixin.d.ts +4 -0
  20. package/lib/src/brand-page/components/mailing-list/MailingList.mixin.js +4 -1
  21. package/lib/src/brand-page/components/payment/request-payment/RequestPayment.mixin.d.ts +4 -0
  22. package/lib/src/brand-page/components/payment/request-payment/RequestPayment.mixin.js +4 -0
  23. package/lib/src/brand-page/components/payment/support-me/SupportMe.mixin.d.ts +4 -0
  24. package/lib/src/brand-page/components/payment/support-me/SupportMe.mixin.js +4 -1
  25. package/lib/src/brand-page/components/video/Video.mixin.d.ts +4 -0
  26. package/lib/src/brand-page/components/video/Video.mixin.js +4 -0
  27. package/lib/src/brand-page/constants/font.constants.d.ts +4 -4
  28. package/lib/src/brand-page/constants/font.constants.js +4 -4
  29. package/lib/src/brand-page/constants/misc.constants.d.ts +35 -0
  30. package/lib/src/brand-page/constants/misc.constants.js +51 -0
  31. package/lib/src/brand-page/models/content.model.d.ts +2 -0
  32. package/lib/src/brand-page/utils/content-padding.util.d.ts +13 -0
  33. package/lib/src/brand-page/utils/content-padding.util.js +10 -0
  34. package/lib/src/brand-page/utils/index.d.ts +1 -0
  35. package/lib/src/brand-page/utils/index.js +1 -0
  36. package/lib/src/brand-page/utils/migration/migration-17.d.ts +2 -0
  37. package/lib/src/brand-page/utils/migration/migration-17.js +60 -0
  38. package/lib/src/brand-page/utils/migration.util.js +10 -0
  39. package/lib/src/brand-page-maker/components/admin-logo-settings/AdminLogoSettings.mixin.d.ts +2 -0
  40. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.d.ts +12 -0
  41. package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +14 -0
  42. package/lib/src/brand-page-maker/constants/config-settings-constant.js +39 -0
  43. package/lib/src/brand-page-maker/convertors/about-display-style.convertor.js +9 -1
  44. package/lib/src/brand-page-maker/convertors/banner-align-display-style.convertor.js +7 -1
  45. package/lib/src/brand-page-maker/convertors/contact-layout-style.convertor.js +6 -1
  46. package/lib/src/brand-page-maker/models/content-settings.js +39 -2
  47. package/lib/src/brand-page-maker/stores/ai-checkpoint/ai-checkpoint-store.d.ts +12 -0
  48. package/lib/src/{bundled-translations-D1q3rSEz.js → bundled-translations-BUyt4scr.js} +9 -9
  49. package/lib/src/{bundled-translations.de-DE-BxqLLwbh.js → bundled-translations.de-DE-DEw_OVai.js} +1 -1
  50. package/lib/src/{bundled-translations.es-ES-uh249NlJ.js → bundled-translations.es-ES-CFKWmkgY.js} +17 -17
  51. package/lib/src/{bundled-translations.fr-CA-BEQmv2fX.js → bundled-translations.fr-CA-DCl5LJS4.js} +1 -1
  52. package/lib/src/{bundled-translations.fr-FR-BnNuCojH.js → bundled-translations.fr-FR-B5BjgllA.js} +1 -1
  53. package/lib/src/{bundled-translations.pt-BR-CJUOxVlq.js → bundled-translations.pt-BR-5PWpMPuM.js} +1 -1
  54. package/lib/src/{bundled-translations.pt-PT-Ds9cMEqK.js → bundled-translations.pt-PT-B9_wN0HR.js} +9 -9
  55. package/lib/src/bundles/bundled-translations.de-DE.json +2 -0
  56. package/lib/src/bundles/bundled-translations.es-ES.json +2 -0
  57. package/lib/src/bundles/bundled-translations.fr-CA.json +2 -0
  58. package/lib/src/bundles/bundled-translations.fr-FR.json +2 -0
  59. package/lib/src/bundles/bundled-translations.json +2 -0
  60. package/lib/src/bundles/bundled-translations.pt-BR.json +2 -0
  61. package/lib/src/bundles/bundled-translations.pt-PT.json +2 -0
  62. package/lib/src/css/library.brand-page-brandCrowd.min.css +165 -170
  63. package/lib/src/css/library.brand-page-brandPage.min.css +165 -170
  64. package/lib/src/css/library.brand-page-designCom.min.css +165 -170
  65. package/lib/src/css/library.brand-page-preview.min.css +165 -170
  66. package/lib/src/index.mjs +1 -1
  67. package/lib/src/{lib-DZmDarKM.js → lib-B3NH7cmE.js} +21158 -21010
  68. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts +14 -0
  69. package/lib/src/shared/content-settings/components/content-settings/ReplaceImageSettingsForContent.mixin.d.ts +14 -0
  70. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.d.ts +12 -0
  71. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.d.ts +12 -0
  72. package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.d.ts +12 -0
  73. package/lib/src/shared/content-settings/components/slider-field/SliderField.mixin.js +9 -0
  74. package/lib/src/shared/content-settings/store/content-settings-store.d.ts +12 -0
  75. package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +16 -0
  76. package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +14 -0
  77. package/lib/src/utils/minify-brand-page-metadata.js +11 -1
  78. package/package.json +1 -1
  79. package/src/brand-page/components/about-section/AboutSection.vue +10 -4
  80. package/src/brand-page/components/banner-section/BannerSection.vue +11 -4
  81. package/src/brand-page/components/booking-section/BookingSection.vue +11 -3
  82. package/src/brand-page/components/button/Button.vue +10 -2
  83. package/src/brand-page/components/contact-form/ContactForm.mixin.ts +12 -6
  84. package/src/brand-page/components/contact-form/ContactForm.vue +107 -106
  85. package/src/brand-page/components/image-gallery/ImageGallery.mixin.ts +5 -0
  86. package/src/brand-page/components/image-gallery/ImageGallery.vue +1 -1
  87. package/src/brand-page/components/mailing-list/MailingList.mixin.ts +8 -1
  88. package/src/brand-page/components/mailing-list/MailingList.vue +1 -1
  89. package/src/brand-page/components/map/Map.vue +5 -1
  90. package/src/brand-page/components/payment/request-payment/RequestPayment.mixin.ts +5 -0
  91. package/src/brand-page/components/payment/request-payment/RequestPayment.vue +1 -0
  92. package/src/brand-page/components/payment/support-me/SupportMe.mixin.ts +8 -1
  93. package/src/brand-page/components/payment/support-me/SupportMe.vue +1 -0
  94. package/src/brand-page/components/shop/Shop.vue +7 -2
  95. package/src/brand-page/components/social-links/SocialLinks.vue +7 -3
  96. package/src/brand-page/components/testimonial-section/TestimonialSection.vue +120 -11
  97. package/src/brand-page/components/text/Text.vue +12 -5
  98. package/src/brand-page/components/text-media-section/TextMediaSection.vue +11 -3
  99. package/src/brand-page/components/video/Video.mixin.ts +5 -0
  100. package/src/brand-page/components/video/Video.vue +1 -1
  101. package/src/brand-page/constants/font.constants.ts +4 -4
  102. package/src/brand-page/constants/misc.constants.ts +58 -0
  103. package/src/brand-page/models/content.model.ts +2 -0
  104. package/src/brand-page/utils/__snapshots__/migration.util.test.ts.snap +9 -3
  105. package/src/brand-page/utils/__snapshots__/migration2.util.test.ts.snap +6 -6
  106. package/src/brand-page/utils/__snapshots__/model.util.test.ts.snap +12 -12
  107. package/src/brand-page/utils/content-padding.util.test.ts +29 -0
  108. package/src/brand-page/utils/content-padding.util.ts +13 -0
  109. package/src/brand-page/utils/index.ts +1 -0
  110. package/src/brand-page/utils/migration/migration-17.ts +77 -0
  111. package/src/brand-page/utils/migration.util.test.ts +290 -0
  112. package/src/brand-page/utils/migration.util.ts +11 -0
  113. package/src/brand-page-maker/constants/config-settings-constant.ts +45 -0
  114. package/src/brand-page-maker/convertors/about-display-style.convertor.ts +10 -0
  115. package/src/brand-page-maker/convertors/banner-align-display-style.convertor.ts +8 -0
  116. package/src/brand-page-maker/convertors/contact-layout-style.convertor.test.ts +50 -0
  117. package/src/brand-page-maker/convertors/contact-layout-style.convertor.ts +8 -0
  118. package/src/brand-page-maker/models/content-settings.ts +43 -2
  119. package/src/bundles/bundled-translations.de-DE.json +2 -0
  120. package/src/bundles/bundled-translations.es-ES.json +2 -0
  121. package/src/bundles/bundled-translations.fr-CA.json +2 -0
  122. package/src/bundles/bundled-translations.fr-FR.json +2 -0
  123. package/src/bundles/bundled-translations.json +2 -0
  124. package/src/bundles/bundled-translations.pt-BR.json +2 -0
  125. package/src/bundles/bundled-translations.pt-PT.json +2 -0
  126. package/src/shared/content-settings/components/content-settings/i18n/content-settings.de-DE.json +2 -0
  127. package/src/shared/content-settings/components/content-settings/i18n/content-settings.es-ES.json +2 -0
  128. package/src/shared/content-settings/components/content-settings/i18n/content-settings.fr-CA.json +2 -0
  129. package/src/shared/content-settings/components/content-settings/i18n/content-settings.fr-FR.json +2 -0
  130. package/src/shared/content-settings/components/content-settings/i18n/content-settings.json +2 -0
  131. package/src/shared/content-settings/components/content-settings/i18n/content-settings.pt-BR.json +2 -0
  132. package/src/shared/content-settings/components/content-settings/i18n/content-settings.pt-PT.json +2 -0
  133. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.vue +1 -1
  134. package/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.vue +2 -2
  135. package/src/shared/content-settings/components/slider-field/SliderField.mixin.ts +9 -0
  136. package/src/utils/minify-brand-page-metadata.ts +11 -1
  137. package/lib/src/brand-page/components/testimonial-section/TestimonialSection.mixin.d.ts +0 -97
  138. package/lib/src/brand-page/components/testimonial-section/TestimonialSection.mixin.js +0 -112
  139. package/src/brand-page/components/testimonial-section/TestimonialSection.mixin.ts +0 -132
@@ -501,6 +501,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
501
501
  id: string;
502
502
  type: "website" | "image" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "facebook" | "x" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
503
503
  personalisationRole?: "website" | "email" | "phone" | "profile" | "about" | "information" | "media" | undefined;
504
+ topPadding?: number | undefined;
505
+ bottomPadding?: number | undefined;
504
506
  imageUrlOverride?: string | undefined;
505
507
  imageUrlsOverride?: string | undefined;
506
508
  avatarImageUrlOverride?: string | undefined;
@@ -550,6 +552,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
550
552
  id: string;
551
553
  type: "website" | "image" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "facebook" | "x" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
552
554
  personalisationRole?: "website" | "email" | "phone" | "profile" | "about" | "information" | "media" | undefined;
555
+ topPadding?: number | undefined;
556
+ bottomPadding?: number | undefined;
553
557
  imageUrlOverride?: string | undefined;
554
558
  imageUrlsOverride?: string | undefined;
555
559
  avatarImageUrlOverride?: string | undefined;
@@ -599,6 +603,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
599
603
  id: string;
600
604
  type: "website" | "image" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "facebook" | "x" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
601
605
  personalisationRole?: "website" | "email" | "phone" | "profile" | "about" | "information" | "media" | undefined;
606
+ topPadding?: number | undefined;
607
+ bottomPadding?: number | undefined;
602
608
  imageUrlOverride?: string | undefined;
603
609
  imageUrlsOverride?: string | undefined;
604
610
  avatarImageUrlOverride?: string | undefined;
@@ -648,6 +654,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
648
654
  id: string;
649
655
  type: "website" | "image" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "facebook" | "x" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
650
656
  personalisationRole?: "website" | "email" | "phone" | "profile" | "about" | "information" | "media" | undefined;
657
+ topPadding?: number | undefined;
658
+ bottomPadding?: number | undefined;
651
659
  imageUrlOverride?: string | undefined;
652
660
  imageUrlsOverride?: string | undefined;
653
661
  avatarImageUrlOverride?: string | undefined;
@@ -697,6 +705,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
697
705
  id: string;
698
706
  type: "website" | "image" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "facebook" | "x" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
699
707
  personalisationRole?: "website" | "email" | "phone" | "profile" | "about" | "information" | "media" | undefined;
708
+ topPadding?: number | undefined;
709
+ bottomPadding?: number | undefined;
700
710
  imageUrlOverride?: string | undefined;
701
711
  imageUrlsOverride?: string | undefined;
702
712
  avatarImageUrlOverride?: string | undefined;
@@ -746,6 +756,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
746
756
  id: string;
747
757
  type: "website" | "image" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "facebook" | "x" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
748
758
  personalisationRole?: "website" | "email" | "phone" | "profile" | "about" | "information" | "media" | undefined;
759
+ topPadding?: number | undefined;
760
+ bottomPadding?: number | undefined;
749
761
  imageUrlOverride?: string | undefined;
750
762
  imageUrlsOverride?: string | undefined;
751
763
  avatarImageUrlOverride?: string | undefined;
@@ -11,6 +11,8 @@ declare const _default: import("vue").DefineComponent<{}, {
11
11
  id: string;
12
12
  type: "website" | "image" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "facebook" | "x" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
13
13
  personalisationRole?: "website" | "email" | "phone" | "profile" | "about" | "information" | "media" | undefined;
14
+ topPadding?: number | undefined;
15
+ bottomPadding?: number | undefined;
14
16
  imageUrlOverride?: string | undefined;
15
17
  imageUrlsOverride?: string | undefined;
16
18
  avatarImageUrlOverride?: string | undefined;
@@ -90,6 +92,8 @@ declare const _default: import("vue").DefineComponent<{}, {
90
92
  id: string;
91
93
  type: "website" | "image" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "facebook" | "x" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
92
94
  personalisationRole?: "website" | "email" | "phone" | "profile" | "about" | "information" | "media" | undefined;
95
+ topPadding?: number | undefined;
96
+ bottomPadding?: number | undefined;
93
97
  imageUrlOverride?: string | undefined;
94
98
  imageUrlsOverride?: string | undefined;
95
99
  avatarImageUrlOverride?: string | undefined;
@@ -139,6 +143,8 @@ declare const _default: import("vue").DefineComponent<{}, {
139
143
  id: string;
140
144
  type: "website" | "image" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "facebook" | "x" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
141
145
  personalisationRole?: "website" | "email" | "phone" | "profile" | "about" | "information" | "media" | undefined;
146
+ topPadding?: number | undefined;
147
+ bottomPadding?: number | undefined;
142
148
  imageUrlOverride?: string | undefined;
143
149
  imageUrlsOverride?: string | undefined;
144
150
  avatarImageUrlOverride?: string | undefined;
@@ -188,6 +194,8 @@ declare const _default: import("vue").DefineComponent<{}, {
188
194
  id: string;
189
195
  type: "website" | "image" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "facebook" | "x" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
190
196
  personalisationRole?: "website" | "email" | "phone" | "profile" | "about" | "information" | "media" | undefined;
197
+ topPadding?: number | undefined;
198
+ bottomPadding?: number | undefined;
191
199
  imageUrlOverride?: string | undefined;
192
200
  imageUrlsOverride?: string | undefined;
193
201
  avatarImageUrlOverride?: string | undefined;
@@ -237,6 +245,8 @@ declare const _default: import("vue").DefineComponent<{}, {
237
245
  id: string;
238
246
  type: "website" | "image" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "facebook" | "x" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
239
247
  personalisationRole?: "website" | "email" | "phone" | "profile" | "about" | "information" | "media" | undefined;
248
+ topPadding?: number | undefined;
249
+ bottomPadding?: number | undefined;
240
250
  imageUrlOverride?: string | undefined;
241
251
  imageUrlsOverride?: string | undefined;
242
252
  avatarImageUrlOverride?: string | undefined;
@@ -286,6 +296,8 @@ declare const _default: import("vue").DefineComponent<{}, {
286
296
  id: string;
287
297
  type: "website" | "image" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "facebook" | "x" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
288
298
  personalisationRole?: "website" | "email" | "phone" | "profile" | "about" | "information" | "media" | undefined;
299
+ topPadding?: number | undefined;
300
+ bottomPadding?: number | undefined;
289
301
  imageUrlOverride?: string | undefined;
290
302
  imageUrlsOverride?: string | undefined;
291
303
  avatarImageUrlOverride?: string | undefined;
@@ -335,6 +347,8 @@ declare const _default: import("vue").DefineComponent<{}, {
335
347
  id: string;
336
348
  type: "website" | "image" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "facebook" | "x" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
337
349
  personalisationRole?: "website" | "email" | "phone" | "profile" | "about" | "information" | "media" | undefined;
350
+ topPadding?: number | undefined;
351
+ bottomPadding?: number | undefined;
338
352
  imageUrlOverride?: string | undefined;
339
353
  imageUrlsOverride?: string | undefined;
340
354
  avatarImageUrlOverride?: string | undefined;
@@ -42,6 +42,28 @@ const SETTINGS_STYLE_FIElD_GROUPS = () => {
42
42
  },
43
43
  ];
44
44
  };
45
+ /**
46
+ * Shared Top/Bottom padding sliders (BP-5687). Reuses the same `slider` control
47
+ * as the Divider block (track + editable number box), range 0–100, continuous.
48
+ * Spread into a block's `fields` to expose the Padding Control on that block.
49
+ * Pass the Style field-group id for blocks that use grouped panels.
50
+ */
51
+ const PADDING_CONTROL_FIELDS = (groupId) => ({
52
+ topPadding: {
53
+ type: 'slider',
54
+ title: contentSettingsTr(`topPaddingTitle`),
55
+ minLength: 0,
56
+ maxLength: 100,
57
+ groupId,
58
+ },
59
+ bottomPadding: {
60
+ type: 'slider',
61
+ title: contentSettingsTr(`bottomPaddingTitle`),
62
+ minLength: 0,
63
+ maxLength: 100,
64
+ groupId,
65
+ },
66
+ });
45
67
  const DEFAULT_TITLE_STYLE_SETTINGS_FILED = () => ({
46
68
  type: 'text-style',
47
69
  defaultValue: {},
@@ -799,6 +821,7 @@ export const IMAGE_GALLERY_CONTENT_SETTINGS_CONFIG = () => ({
799
821
  defaultValue: false,
800
822
  visibilityAssessor: imageGalleryFieldVisibilityAssessor,
801
823
  },
824
+ ...PADDING_CONTROL_FIELDS(),
802
825
  },
803
826
  isEnabled: true,
804
827
  isLocked: (features) => !features.canAddImageContents,
@@ -835,6 +858,7 @@ export const VIDEO_CONTENT_SETTINGS_CONFIG = () => ({
835
858
  label: contentSettingsTr(`muteLabel`),
836
859
  valueConvertor: videoContentStateConvertor,
837
860
  },
861
+ ...PADDING_CONTROL_FIELDS(),
838
862
  },
839
863
  isEnabled: true,
840
864
  isLocked: (features) => !features.canAddVideoContents,
@@ -968,6 +992,7 @@ export const TEXT_CONTENT_SETTINGS_CONFIG = () => ({
968
992
  variant: 'icon',
969
993
  visibilityAssessor: brandSiteTypeVisibilityAssessor,
970
994
  },
995
+ ...PADDING_CONTROL_FIELDS(SETTINGS_STYLE_FIELD_GROUP_IDS.style),
971
996
  backgroundColor: {
972
997
  type: 'color',
973
998
  defaultValue: {},
@@ -1384,6 +1409,7 @@ export const MAP_CONTENT_SETTINGS_CONFIG = () => ({
1384
1409
  type: 'address',
1385
1410
  title: contentSettingsTr(`addressTitle`),
1386
1411
  },
1412
+ ...PADDING_CONTROL_FIELDS(),
1387
1413
  },
1388
1414
  isEnabled: true,
1389
1415
  isLocked: (features) => !features.canAddMapContents,
@@ -1432,6 +1458,7 @@ export const MAILING_LIST_CONTENT_SETTINGS_CONFIG = () => ({
1432
1458
  },
1433
1459
  titleStyle: DEFAULT_TITLE_STYLE_SETTINGS_FILED_WITH_TITLE(),
1434
1460
  buttonTextStyle: DEFAULT_BUTTON_TEXT_STYLE_FIELD(),
1461
+ ...PADDING_CONTROL_FIELDS(SETTINGS_STYLE_FIELD_GROUP_IDS.style),
1435
1462
  },
1436
1463
  isEnabled: true,
1437
1464
  isLocked: false,
@@ -1602,6 +1629,7 @@ export const REQUEST_PAYMENT_CONTENT_SETTINGS_CONFIG = () => ({
1602
1629
  defaultValue: {},
1603
1630
  label: contentSettingsTr(`buttonTextStyleLabel`),
1604
1631
  },
1632
+ ...PADDING_CONTROL_FIELDS(REQUEST_PAYMENT_GROUPS.style),
1605
1633
  },
1606
1634
  isEnabled: (features) => features.canAddRequestPaymentContents,
1607
1635
  isLocked: false,
@@ -1666,6 +1694,7 @@ export const SUPPORT_ME_CONTENT_SETTINGS_CONFIG = () => ({
1666
1694
  label: contentSettingsTr(`itemStyleLabel`),
1667
1695
  },
1668
1696
  buttonTextStyle: DEFAULT_BUTTON_TEXT_STYLE_FIELD(),
1697
+ ...PADDING_CONTROL_FIELDS(SETTINGS_STYLE_FIELD_GROUP_IDS.style),
1669
1698
  },
1670
1699
  isEnabled: (features) => features.canAddRequestPaymentContents,
1671
1700
  isLocked: false,
@@ -1791,6 +1820,7 @@ export const CONTACT_FORM_SETTINGS_CONFIG = () => ({
1791
1820
  variant: 'icon',
1792
1821
  visibilityAssessor: brandSiteTypeVisibilityAssessor,
1793
1822
  },
1823
+ ...PADDING_CONTROL_FIELDS(CONTACT_FORM_GROUPS.style),
1794
1824
  titleStyle: DEFAULT_TITLE_STYLE_SETTINGS_FILED_WITH_TITLE(),
1795
1825
  descriptionStyle: DEFAULT_DESCRIPTION_STYLE_FILED(),
1796
1826
  buttonTextStyle: DEFAULT_BUTTON_TEXT_STYLE_FIELD(),
@@ -1848,6 +1878,7 @@ export const BANNER_SECTION_SETTINGS_CONFIG = () => ({
1848
1878
  groupId: SETTINGS_STYLE_FIELD_GROUP_IDS.style,
1849
1879
  variant: 'icon',
1850
1880
  },
1881
+ ...PADDING_CONTROL_FIELDS(SETTINGS_STYLE_FIELD_GROUP_IDS.style),
1851
1882
  overlayColor: {
1852
1883
  type: 'color',
1853
1884
  title: contentSettingsTr(`overlayColorTitle`),
@@ -2063,6 +2094,7 @@ export const ABOUT_SECTION_SETTINGS_CONFIG = () => ({
2063
2094
  groupId: SETTINGS_STYLE_FIELD_GROUP_IDS.style,
2064
2095
  variant: 'icon',
2065
2096
  },
2097
+ ...PADDING_CONTROL_FIELDS(SETTINGS_STYLE_FIELD_GROUP_IDS.style),
2066
2098
  titleStyle: DEFAULT_TITLE_STYLE_SETTINGS_FILED_WITH_TITLE(),
2067
2099
  paragraphStyle: {
2068
2100
  type: 'text-style',
@@ -2145,6 +2177,7 @@ export const IMAGES_SECTION_SETTINGS_CONFIG = () => ({
2145
2177
  ],
2146
2178
  fields: {
2147
2179
  displayStyle: TEXT_MEDIA_DISPLAY_STYLE_FIELD(MEDIA_TYPES.image),
2180
+ ...PADDING_CONTROL_FIELDS(SETTINGS_STYLE_FIELD_GROUP_IDS.style),
2148
2181
  aspectRatio: {
2149
2182
  type: 'radio',
2150
2183
  role: 'multi',
@@ -2227,6 +2260,7 @@ export const TESTIMONIALS_SECTION_SETTINGS_CONFIG = () => ({
2227
2260
  groupId: SETTINGS_STYLE_FIELD_GROUP_IDS.style,
2228
2261
  variant: 'icon',
2229
2262
  },
2263
+ ...PADDING_CONTROL_FIELDS(SETTINGS_STYLE_FIELD_GROUP_IDS.style),
2230
2264
  title: {
2231
2265
  type: 'text',
2232
2266
  placeholder: contentSettingsTr(`titlePlaceholder`),
@@ -2334,6 +2368,7 @@ export const SOCIAL_LINKS_SETTINGS_CONFIG = () => ({
2334
2368
  optionsConvertor: socialLinksIconDisplayStyleConvertor,
2335
2369
  variant: 'icon',
2336
2370
  },
2371
+ ...PADDING_CONTROL_FIELDS(SOCIAL_LINKS_GROUPS.style),
2337
2372
  titleStyle: {
2338
2373
  type: 'text-style',
2339
2374
  groupId: SOCIAL_LINKS_GROUPS.style,
@@ -2442,6 +2477,7 @@ export const SHAPES_SECTION_SETTINGS_CONFIG = () => ({
2442
2477
  ],
2443
2478
  fields: {
2444
2479
  displayStyle: TEXT_MEDIA_DISPLAY_STYLE_FIELD(MEDIA_TYPES.shape),
2480
+ ...PADDING_CONTROL_FIELDS(SETTINGS_STYLE_FIELD_GROUP_IDS.style),
2445
2481
  size: IMAGE_SIZE_FIELD(),
2446
2482
  title: TEXT_MEDIA_TITLE_FIELD(),
2447
2483
  description: TEXT_MEDIA_DESCRIPTION_FIELD(),
@@ -2477,6 +2513,7 @@ export const SHAPES_SECTION_SETTINGS_CONFIG = () => ({
2477
2513
  ? MAX_BS_MEDIA_AND_IMAGE_ITEMS
2478
2514
  : MAX_BP_MEDIA_AND_IMAGE_ITEMS,
2479
2515
  },
2516
+ ...PADDING_CONTROL_FIELDS(SETTINGS_STYLE_FIELD_GROUP_IDS.style),
2480
2517
  },
2481
2518
  isEnabled: true,
2482
2519
  isLocked: false,
@@ -2530,6 +2567,7 @@ export const SHOP_SECTION_SETTINGS_CONFIG = () => ({
2530
2567
  optionsConvertor: shopAspectRatioConvertor,
2531
2568
  visibilityAssessor: shopImageOptionVisibilityAssessor,
2532
2569
  },
2570
+ ...PADDING_CONTROL_FIELDS(REQUEST_PAYMENT_GROUPS.style),
2533
2571
  title: {
2534
2572
  type: 'title',
2535
2573
  groupId: REQUEST_PAYMENT_GROUPS.settings,
@@ -2688,6 +2726,7 @@ export const BOOKING_SECTION_SETTINGS_CONFIG = () => ({
2688
2726
  groupId: SETTINGS_STYLE_FIELD_GROUP_IDS.settings,
2689
2727
  visibilityAssessor: (c, b) => personalisationOverrideVisibility(c, b, 'buttonText'),
2690
2728
  },
2729
+ ...PADDING_CONTROL_FIELDS(SETTINGS_STYLE_FIELD_GROUP_IDS.style),
2691
2730
  backgroundStyle: {
2692
2731
  type: 'color',
2693
2732
  groupId: SETTINGS_STYLE_FIELD_GROUP_IDS.style,
@@ -1,4 +1,4 @@
1
- import { ALIGN_CENTERED, ALIGN_LEFT_ALIGNED, ALIGN_LEFT_FULL_IMAGE, ALIGN_RIGHT_ALIGNED, ALIGN_RIGHT_FULL_IMAGE, TEXT_ONLY, } from '@brand-page/constants';
1
+ import { ALIGN_CENTERED, ALIGN_LEFT_ALIGNED, ALIGN_LEFT_FULL_IMAGE, ALIGN_RIGHT_ALIGNED, ALIGN_RIGHT_FULL_IMAGE, TEXT_ONLY, ABOUT_DEFAULT_PADDING, } from '@brand-page/constants';
2
2
  export const aboutDisplayStyleConvertor = {
3
3
  convertBackToMultipleValues: true,
4
4
  convert(value) {
@@ -58,10 +58,16 @@ export const aboutDisplayStyleConvertor = {
58
58
  },
59
59
  convertBack(config) {
60
60
  const selectedOption = config.options.find((v) => v.isSelected);
61
+ // Switching display style adopts that style's canonical look — like the
62
+ // textAlign reset below — including its default block padding (a flat 32
63
+ // for every About style).
64
+ const padding = ABOUT_DEFAULT_PADDING;
61
65
  if (!selectedOption || selectedOption.value === ALIGN_CENTERED) {
62
66
  const textAlign = 'center';
63
67
  return {
64
68
  displayStyle: selectedOption?.value,
69
+ topPadding: padding,
70
+ bottomPadding: padding,
65
71
  titleStyle: {
66
72
  textAlign,
67
73
  },
@@ -73,6 +79,8 @@ export const aboutDisplayStyleConvertor = {
73
79
  const textAlign = 'left';
74
80
  return {
75
81
  displayStyle: selectedOption?.value,
82
+ topPadding: padding,
83
+ bottomPadding: padding,
76
84
  titleStyle: {
77
85
  textAlign,
78
86
  },
@@ -1,4 +1,4 @@
1
- import { ALIGN_CENTERED, ALIGN_LEFT_ALIGNED, ALIGN_RIGHT_ALIGNED, BIG_IMAGE, ALIGN_LEFT_FULL_IMAGE, ALIGN_RIGHT_FULL_IMAGE, ALIGN_LEFT_BIG_IMAGE, ALIGN_CARD_CENTER_IMAGE, ALIGN_CARD_LEFT_IMAGE, ALIGN_TOP_CARD_IMAGE, ALIGN_BOTTOM_CARD_IMAGE, ALIGN_MIDDLE_CARD_IMAGE, ALIGN_TOP_FULL_IMAGE, ALIGN_BOTTOM_FULL_IMAGE, ALIGN_MIDDLE_FULL_IMAGE, } from '@brand-page/constants';
1
+ import { ALIGN_CENTERED, ALIGN_LEFT_ALIGNED, ALIGN_RIGHT_ALIGNED, BIG_IMAGE, ALIGN_LEFT_FULL_IMAGE, ALIGN_RIGHT_FULL_IMAGE, ALIGN_LEFT_BIG_IMAGE, ALIGN_CARD_CENTER_IMAGE, ALIGN_CARD_LEFT_IMAGE, ALIGN_TOP_CARD_IMAGE, ALIGN_BOTTOM_CARD_IMAGE, ALIGN_MIDDLE_CARD_IMAGE, ALIGN_TOP_FULL_IMAGE, ALIGN_BOTTOM_FULL_IMAGE, ALIGN_MIDDLE_FULL_IMAGE, bannerDisplayStyleDefaultPadding, } from '@brand-page/constants';
2
2
  export const bannerAlignDisplayStyleConvertor = {
3
3
  convertBackToMultipleValues: true,
4
4
  convert(value) {
@@ -143,8 +143,14 @@ export const bannerAlignDisplayStyleConvertor = {
143
143
  selectedOption.value === ALIGN_MIDDLE_FULL_IMAGE) {
144
144
  textAlign = 'center';
145
145
  }
146
+ // Switching display style adopts that style's canonical look — like the
147
+ // textAlign resets above — including its default block padding. Full-bleed
148
+ // image styles default to 0 (image flush to the edges); the rest to 32.
149
+ const padding = bannerDisplayStyleDefaultPadding(selectedOption?.value);
146
150
  return {
147
151
  displayStyle: selectedOption?.value,
152
+ topPadding: padding,
153
+ bottomPadding: padding,
148
154
  titleStyle: {
149
155
  textAlign,
150
156
  },
@@ -1,4 +1,4 @@
1
- import { ALIGN_CENTERED, ALIGN_LEFT_FULL_IMAGE, ALIGN_RIGHT_FULL_IMAGE, ALIGN_CARD_CENTER_IMAGE, TEXT_ONLY, ALIGN_CARD_CENTER, } from '@brand-page/constants';
1
+ import { ALIGN_CENTERED, ALIGN_LEFT_FULL_IMAGE, ALIGN_RIGHT_FULL_IMAGE, ALIGN_CARD_CENTER_IMAGE, TEXT_ONLY, ALIGN_CARD_CENTER, CONTACT_FORM_LAYOUT_DEFAULT_PADDING, } from '@brand-page/constants';
2
2
  export const contactLayoutStyleConvertor = {
3
3
  convertBackToMultipleValues: true,
4
4
  convert(value) {
@@ -64,8 +64,13 @@ export const contactLayoutStyleConvertor = {
64
64
  selectedOption?.value === ALIGN_RIGHT_FULL_IMAGE) {
65
65
  textAlign = 'left';
66
66
  }
67
+ // Switching layout adopts that layout's canonical look — same as the
68
+ // textAlign resets below — including its default block padding.
69
+ const padding = CONTACT_FORM_LAYOUT_DEFAULT_PADDING[selectedOption?.value ?? ''] ?? 0;
67
70
  return {
68
71
  layoutStyle: selectedOption?.value,
72
+ topPadding: padding,
73
+ bottomPadding: padding,
69
74
  titleStyle: {
70
75
  textAlign,
71
76
  },
@@ -1,4 +1,4 @@
1
- import { BrandPageModel, PageStyles, FORM_FIELD_IDS, PAYMENT_OPTION_DISPLAY_TYPES, PAYMENT_OPTION_IMAGE_TYPES, SOCIAL_LINKS_ICON_DISPLAY_STYLES, PageHeaderMobile, PageHeaderDesktop, PageFooterMobile, PageFooterDesktop, MEDIA_TYPES, BUTTON_LINK_TYPE, DISPLAY_STYLE_PREVIEW, SUPPORT_ME_CUSTOM_PRODUCT_NAME, DEFAULT_LOGO_HEIGHT, DEFAULT_LOGO_WIDTH, FONT_SIZE_BODY, LINE_HEIGHT_BODY, TEXT_STYLE_TYPES, TEXT_COLUMNS, DEFAULT_LOGO_BACKGROUND_COLOR_RGB, DEFAULT_LOGO_TEXT_COLOR_RGB, EMPTY_LOGO_IMAGE_MODEL, BRAND_PAGE_TYPES, SENSITIVE_CONTENT_TYPES, } from '@brand-page';
1
+ import { BrandPageModel, PageStyles, FORM_FIELD_IDS, PAYMENT_OPTION_DISPLAY_TYPES, PAYMENT_OPTION_IMAGE_TYPES, SOCIAL_LINKS_ICON_DISPLAY_STYLES, PageHeaderMobile, PageHeaderDesktop, PageFooterMobile, PageFooterDesktop, MEDIA_TYPES, BUTTON_LINK_TYPE, DISPLAY_STYLE_PREVIEW, SUPPORT_ME_CUSTOM_PRODUCT_NAME, DEFAULT_LOGO_HEIGHT, DEFAULT_LOGO_WIDTH, FONT_SIZE_BODY, LINE_HEIGHT_BODY, TEXT_STYLE_TYPES, TEXT_COLUMNS, DEFAULT_LOGO_BACKGROUND_COLOR_RGB, DEFAULT_LOGO_TEXT_COLOR_RGB, EMPTY_LOGO_IMAGE_MODEL, BRAND_PAGE_TYPES, SENSITIVE_CONTENT_TYPES, CONTACT_FORM_LAYOUT_DEFAULT_PADDING, TESTIMONIAL_DEFAULT_PADDING, } from '@brand-page';
2
2
  import * as uuid from 'uuid';
3
3
  import { getColorShades } from '@brand-page/utils';
4
4
  import { contentSettingsTr } from '@src/composables/useTranslate';
@@ -101,6 +101,8 @@ export const createInitialImageGalleryContent = () => {
101
101
  galleryStyles: {
102
102
  galleryType: 'grid',
103
103
  },
104
+ topPadding: 0,
105
+ bottomPadding: 0,
104
106
  };
105
107
  };
106
108
  export const createInitialVideoContent = () => {
@@ -111,6 +113,8 @@ export const createInitialVideoContent = () => {
111
113
  displayStyle: DISPLAY_STYLE_PREVIEW,
112
114
  mute: false,
113
115
  videoUrl: '',
116
+ topPadding: 0,
117
+ bottomPadding: 0,
114
118
  };
115
119
  };
116
120
  export const createInitialProfileContent = (options) => {
@@ -160,6 +164,9 @@ export const createInitialTextContent = (options) => {
160
164
  ]
161
165
  : undefined,
162
166
  type: 'text',
167
+ // Brand Site text blocks sit in a 12px outer padding; Brand Page / Brand Contact use 0.
168
+ topPadding: options?.brandPageType === BRAND_PAGE_TYPES.brandSite ? 12 : 0,
169
+ bottomPadding: options?.brandPageType === BRAND_PAGE_TYPES.brandSite ? 12 : 0,
163
170
  textSize: {
164
171
  fontSize: FONT_SIZE_BODY,
165
172
  lineHeight: LINE_HEIGHT_BODY,
@@ -201,12 +208,16 @@ export const createInitialMapContent = () => {
201
208
  formattedAddress: '',
202
209
  placeId: '',
203
210
  },
211
+ topPadding: 0,
212
+ bottomPadding: 0,
204
213
  };
205
214
  };
206
215
  export const createInitialMailingListContent = (options) => {
207
216
  return {
208
217
  id: uuid.v4(),
209
218
  type: 'mailing-list',
219
+ topPadding: 0,
220
+ bottomPadding: 0,
210
221
  title: contentSettingsTr(`mailingListTitle`),
211
222
  buttonText: contentSettingsTr(`subscribePlaceholder`),
212
223
  acceptedFields: 'emailOnly',
@@ -237,6 +248,8 @@ export const createInitialRequestPaymentContent = (options) => {
237
248
  successMessage: '',
238
249
  title: contentSettingsTr(`buyNowTitle`),
239
250
  type: 'request-payment',
251
+ topPadding: 0,
252
+ bottomPadding: 0,
240
253
  fillColor: {},
241
254
  defaultBorderColor: {},
242
255
  selectedBorderColor: {},
@@ -266,6 +279,8 @@ export const createInitialShopContent = (options) => {
266
279
  return {
267
280
  id: uuid.v4(),
268
281
  description: '',
282
+ topPadding: 16,
283
+ bottomPadding: 16,
269
284
  products: [],
270
285
  displayStyle: PAYMENT_OPTION_DISPLAY_TYPES.thumbnail,
271
286
  aspectRatio: PAYMENT_OPTION_IMAGE_TYPES.auto,
@@ -322,6 +337,8 @@ export const createInitialSupportMeContent = (options) => {
322
337
  successMessage: contentSettingsTr(`successSupportPlaceholder`),
323
338
  description: contentSettingsTr(`makeADonationDescription`),
324
339
  type: 'support-me',
340
+ topPadding: 0,
341
+ bottomPadding: 0,
325
342
  titleStyle: {
326
343
  applyAutoScale: options?.brandPageType === BRAND_PAGE_TYPES.brandSite,
327
344
  textStyleType: TEXT_STYLE_TYPES.headings,
@@ -354,13 +371,19 @@ export const createInitialContactFormContent = (options) => {
354
371
  typeof options?.userState.emailAddress === 'undefined') {
355
372
  console.error('userState.emailAddress should not be undefined');
356
373
  }
374
+ // New blocks inherit the padding their initial layout previously had
375
+ // hard-coded — same source as the migration backfill for existing pages.
376
+ const layoutStyle = options?.brandPageType === 'brandSite' ? 'center-card-aligned' : '';
377
+ const padding = CONTACT_FORM_LAYOUT_DEFAULT_PADDING[layoutStyle] ?? 0;
357
378
  return {
358
379
  id: uuid.v4(),
359
380
  title: contentSettingsTr(`contactUsTitle`),
360
381
  description: '',
361
382
  buttonText: contentSettingsTr(`sendPlaceholder`),
362
383
  displayStyle: DISPLAY_STYLE_PREVIEW,
363
- layoutStyle: options?.brandPageType === 'brandSite' ? 'center-card-aligned' : '',
384
+ layoutStyle,
385
+ topPadding: padding,
386
+ bottomPadding: padding,
364
387
  imageUrl: '',
365
388
  fields: [
366
389
  {
@@ -450,6 +473,8 @@ export const createInitialContactFormContent = (options) => {
450
473
  export const createInitialBannerSectionContent = (options) => {
451
474
  return {
452
475
  id: uuid.v4(),
476
+ topPadding: 32,
477
+ bottomPadding: 32,
453
478
  imageUrl: '',
454
479
  title: contentSettingsTr(`thisIsABannerTitle`),
455
480
  description: '',
@@ -493,6 +518,8 @@ export const createInitialBookingSectionContent = (options) => {
493
518
  buttonText: contentSettingsTr(`bookNowLabel`),
494
519
  url: '',
495
520
  type: 'booking-section',
521
+ topPadding: 32,
522
+ bottomPadding: 32,
496
523
  descriptionStyle: {
497
524
  applyAutoScale: options?.brandPageType === BRAND_PAGE_TYPES.brandSite,
498
525
  textStyleType: TEXT_STYLE_TYPES.paragraphs,
@@ -519,6 +546,8 @@ export const createInitialImagesSectionContent = (options) => {
519
546
  title: contentSettingsTr(`imagesTitle`),
520
547
  description: '',
521
548
  type: 'images-section',
549
+ topPadding: 32,
550
+ bottomPadding: 32,
522
551
  displayStyle: 'centered',
523
552
  aspectRatio: 'Default',
524
553
  areImagesFullWidth: false,
@@ -571,6 +600,8 @@ export const createInitialTestimonialSectionContent = (options) => {
571
600
  title: contentSettingsTr(`testimonialsTitle`),
572
601
  type: 'testimonial-section',
573
602
  displayStyle: 'centered',
603
+ topPadding: TESTIMONIAL_DEFAULT_PADDING,
604
+ bottomPadding: TESTIMONIAL_DEFAULT_PADDING,
574
605
  items: [],
575
606
  titleStyle: {
576
607
  applyAutoScale: options?.brandPageType === BRAND_PAGE_TYPES.brandSite,
@@ -616,6 +647,8 @@ export const createInitialAboutSectionContent = (options) => {
616
647
  textAlign: 'center',
617
648
  },
618
649
  backgroundStyle: {},
650
+ topPadding: 32,
651
+ bottomPadding: 32,
619
652
  };
620
653
  };
621
654
  export const createInitialDividerSectionContent = () => {
@@ -668,6 +701,8 @@ export const createInitialSocialLinksContent = (options) => {
668
701
  return {
669
702
  id: uuid.v4(),
670
703
  type: 'social-links',
704
+ topPadding: 32,
705
+ bottomPadding: 32,
671
706
  title: contentSettingsTr(`followUsOnTitle`),
672
707
  links: [
673
708
  {
@@ -718,6 +753,8 @@ export const createInitialShapesSectionContent = (options) => {
718
753
  title: contentSettingsTr(`shapesTitle`),
719
754
  description: '',
720
755
  type: 'shapes-section',
756
+ topPadding: 32,
757
+ bottomPadding: 32,
721
758
  displayStyle: 'centered',
722
759
  items: [
723
760
  {
@@ -5054,6 +5054,8 @@ export declare const useAiCheckpointStore: import("pinia").StoreDefinition<"aiCh
5054
5054
  id: string;
5055
5055
  type: "website" | "image" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "facebook" | "x" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
5056
5056
  personalisationRole?: "website" | "email" | "phone" | "profile" | "about" | "information" | "media" | undefined;
5057
+ topPadding?: number | undefined;
5058
+ bottomPadding?: number | undefined;
5057
5059
  imageUrlOverride?: string | undefined;
5058
5060
  imageUrlsOverride?: string | undefined;
5059
5061
  avatarImageUrlOverride?: string | undefined;
@@ -10160,6 +10162,8 @@ export declare const useAiCheckpointStore: import("pinia").StoreDefinition<"aiCh
10160
10162
  id: string;
10161
10163
  type: "website" | "image" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "facebook" | "x" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
10162
10164
  personalisationRole?: "website" | "email" | "phone" | "profile" | "about" | "information" | "media" | undefined;
10165
+ topPadding?: number | undefined;
10166
+ bottomPadding?: number | undefined;
10163
10167
  imageUrlOverride?: string | undefined;
10164
10168
  imageUrlsOverride?: string | undefined;
10165
10169
  avatarImageUrlOverride?: string | undefined;
@@ -15272,6 +15276,8 @@ export declare const useAiCheckpointStore: import("pinia").StoreDefinition<"aiCh
15272
15276
  id: string;
15273
15277
  type: "website" | "image" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "facebook" | "x" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
15274
15278
  personalisationRole?: "website" | "email" | "phone" | "profile" | "about" | "information" | "media" | undefined;
15279
+ topPadding?: number | undefined;
15280
+ bottomPadding?: number | undefined;
15275
15281
  imageUrlOverride?: string | undefined;
15276
15282
  imageUrlsOverride?: string | undefined;
15277
15283
  avatarImageUrlOverride?: string | undefined;
@@ -20378,6 +20384,8 @@ export declare const useAiCheckpointStore: import("pinia").StoreDefinition<"aiCh
20378
20384
  id: string;
20379
20385
  type: "website" | "image" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "facebook" | "x" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
20380
20386
  personalisationRole?: "website" | "email" | "phone" | "profile" | "about" | "information" | "media" | undefined;
20387
+ topPadding?: number | undefined;
20388
+ bottomPadding?: number | undefined;
20381
20389
  imageUrlOverride?: string | undefined;
20382
20390
  imageUrlsOverride?: string | undefined;
20383
20391
  avatarImageUrlOverride?: string | undefined;
@@ -25490,6 +25498,8 @@ export declare const useAiCheckpointStore: import("pinia").StoreDefinition<"aiCh
25490
25498
  id: string;
25491
25499
  type: "website" | "image" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "facebook" | "x" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
25492
25500
  personalisationRole?: "website" | "email" | "phone" | "profile" | "about" | "information" | "media" | undefined;
25501
+ topPadding?: number | undefined;
25502
+ bottomPadding?: number | undefined;
25493
25503
  imageUrlOverride?: string | undefined;
25494
25504
  imageUrlsOverride?: string | undefined;
25495
25505
  avatarImageUrlOverride?: string | undefined;
@@ -30596,6 +30606,8 @@ export declare const useAiCheckpointStore: import("pinia").StoreDefinition<"aiCh
30596
30606
  id: string;
30597
30607
  type: "website" | "image" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "facebook" | "x" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
30598
30608
  personalisationRole?: "website" | "email" | "phone" | "profile" | "about" | "information" | "media" | undefined;
30609
+ topPadding?: number | undefined;
30610
+ bottomPadding?: number | undefined;
30599
30611
  imageUrlOverride?: string | undefined;
30600
30612
  imageUrlsOverride?: string | undefined;
30601
30613
  avatarImageUrlOverride?: string | undefined;