@designcrowd/library.brand-page 5.18.1-undo-34 → 5.18.2-ast-padding-1

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 (186) hide show
  1. package/lib/src/{CreatedOnBrandCrowd-de-de-D-2WhY-F.js → CreatedOnBrandCrowd-de-de-GFYl8DtL.js} +1 -1
  2. package/lib/src/{CreatedOnBrandCrowd-en-us-B7ldKpJK.js → CreatedOnBrandCrowd-en-us-D5CcXf2I.js} +1 -1
  3. package/lib/src/{CreatedOnBrandCrowd-es-es-BatQY8Tt.js → CreatedOnBrandCrowd-es-es-Cr7J3ooe.js} +1 -1
  4. package/lib/src/{CreatedOnBrandCrowd-fr-fr-CFivOJkN.js → CreatedOnBrandCrowd-fr-ca-BC1NFFIW.js} +1 -1
  5. package/lib/src/{CreatedOnBrandCrowd-fr-ca-CFivOJkN.js → CreatedOnBrandCrowd-fr-fr-BC1NFFIW.js} +1 -1
  6. package/lib/src/{CreatedOnBrandCrowd-pt-pt-wHkXfYLP.js → CreatedOnBrandCrowd-pt-br-BdiCcpwi.js} +1 -1
  7. package/lib/src/{CreatedOnBrandCrowd-pt-br-wHkXfYLP.js → CreatedOnBrandCrowd-pt-pt-BdiCcpwi.js} +1 -1
  8. package/lib/src/{CreatedOnDcom-de-de--HwniV-Y.js → CreatedOnDcom-de-de-d4TmC_lo.js} +1 -1
  9. package/lib/src/{CreatedOnDcom-en-us-Bqm5NnRX.js → CreatedOnDcom-en-us-DlvLEF-R.js} +1 -1
  10. package/lib/src/{CreatedOnDcom-es-es-COGQIuEn.js → CreatedOnDcom-es-es-BulpVp3k.js} +1 -1
  11. package/lib/src/{CreatedOnDcom-fr-ca-eVDHO7MX.js → CreatedOnDcom-fr-ca-M4xqunZe.js} +1 -1
  12. package/lib/src/{CreatedOnDcom-fr-fr-BhGKbdoG.js → CreatedOnDcom-fr-fr-BFqUXgzb.js} +1 -1
  13. package/lib/src/{CreatedOnDcom-pt-br-5kDZKPZc.js → CreatedOnDcom-pt-br-CUVcVkV2.js} +1 -1
  14. package/lib/src/{CreatedOnDcom-pt-pt-CnTcVxct.js → CreatedOnDcom-pt-pt-Dc4CZ4xW.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/page/Page.mixin.d.ts +1 -1
  22. package/lib/src/brand-page/components/page/PageComponent.mixin.d.ts +1 -1
  23. package/lib/src/brand-page/components/payment/request-payment/RequestPayment.mixin.d.ts +4 -0
  24. package/lib/src/brand-page/components/payment/request-payment/RequestPayment.mixin.js +4 -0
  25. package/lib/src/brand-page/components/payment/support-me/SupportMe.mixin.d.ts +4 -0
  26. package/lib/src/brand-page/components/payment/support-me/SupportMe.mixin.js +4 -1
  27. package/lib/src/brand-page/components/video/Video.mixin.d.ts +4 -0
  28. package/lib/src/brand-page/components/video/Video.mixin.js +4 -0
  29. package/lib/src/brand-page/constants/misc.constants.d.ts +17 -0
  30. package/lib/src/brand-page/constants/misc.constants.js +25 -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-16.d.ts +2 -0
  37. package/lib/src/brand-page/utils/migration/migration-16.js +37 -0
  38. package/lib/src/brand-page/utils/migration.util.js +6 -0
  39. package/lib/src/brand-page-maker/components/action-bar/ActionBar.mixin.d.ts +2 -7
  40. package/lib/src/brand-page-maker/components/admin-logo-settings/AdminLogoSettings.mixin.d.ts +2 -0
  41. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.d.ts +14 -7
  42. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.js +0 -10
  43. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMakerTemplateSettings.mixin.d.ts +2 -7
  44. package/lib/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-examples.js +0 -1
  45. package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +17 -24
  46. package/lib/src/brand-page-maker/components/brandpage-settings/ReplaceImageSettingsForBrandPageSettings.mixin.d.ts +2 -7
  47. package/lib/src/brand-page-maker/components/quick-link-bar/QuickLinkBar.mixin.d.ts +0 -3
  48. package/lib/src/brand-page-maker/components/quick-link-bar/QuickLinkBar.mixin.js +0 -11
  49. package/lib/src/brand-page-maker/components/seo-settings/SeoPageSettings.mixin.d.ts +2 -7
  50. package/lib/src/brand-page-maker/components/seo-settings/UrlSettings.mixin.d.ts +2 -7
  51. package/lib/src/brand-page-maker/components/social-share/SocialShare.mixin.d.ts +2 -7
  52. package/lib/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.d.ts +2 -7
  53. package/lib/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.js +0 -9
  54. package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.js +1 -20
  55. package/lib/src/brand-page-maker/composables/useEventTracker.d.ts +0 -20
  56. package/lib/src/brand-page-maker/composables/useEventTracker.js +0 -17
  57. package/lib/src/brand-page-maker/constants/config-settings-constant.js +34 -0
  58. package/lib/src/brand-page-maker/convertors/banner-align-display-style.convertor.js +56 -2
  59. package/lib/src/brand-page-maker/convertors/contact-layout-style.convertor.js +6 -1
  60. package/lib/src/brand-page-maker/models/content-settings.js +30 -2
  61. package/lib/src/brand-page-maker/stores/ai-checkpoint/ai-checkpoint-store.d.ts +12 -0
  62. package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.d.ts +2 -41
  63. package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.js +5 -301
  64. package/lib/src/brand-page-maker/stores/logo-store/logo-store.d.ts +0 -1
  65. package/lib/src/brand-page-maker/stores/user/user-store.js +0 -1
  66. package/lib/src/bundled-translations-DYd5oFZv.js +175 -0
  67. package/lib/src/bundles/bundled-translations.json +3 -3
  68. package/lib/src/constants/ui.d.ts +0 -1
  69. package/lib/src/css/library.brand-page-brandCrowd.min.css +167 -160
  70. package/lib/src/css/library.brand-page-brandPage.min.css +169 -160
  71. package/lib/src/css/library.brand-page-designCom.min.css +167 -160
  72. package/lib/src/css/library.brand-page-preview.min.css +167 -160
  73. package/lib/src/index.mjs +1 -1
  74. package/lib/src/{lib-B5jbN-ro.js → lib-CRihSxY0.js} +35813 -35783
  75. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts +16 -87
  76. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.js +0 -5
  77. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.stories.js +0 -1
  78. package/lib/src/shared/content-settings/components/content-settings/ReplaceImageSettingsForContent.mixin.d.ts +16 -23
  79. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.d.ts +12 -16
  80. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.d.ts +14 -7
  81. package/lib/src/shared/content-settings/components/draggable-item-list/DraggableItemList.mixin.d.ts +0 -3
  82. package/lib/src/shared/content-settings/components/draggable-item-list/DraggableItemList.mixin.js +2 -19
  83. package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.d.ts +12 -0
  84. package/lib/src/shared/content-settings/components/form-fields-field/FormFieldsField.mixin.js +8 -18
  85. package/lib/src/shared/content-settings/components/payment-config-field/PaymentConfigField.mixin.d.ts +0 -64
  86. package/lib/src/shared/content-settings/components/payment-config-field/PaymentConfigField.mixin.js +0 -6
  87. package/lib/src/shared/content-settings/components/slider-field/SliderField.mixin.js +9 -0
  88. package/lib/src/shared/content-settings/store/content-settings-store.d.ts +12 -0
  89. package/lib/src/shared/logo-settings/components/EditLogoSettings.mixin.d.ts +0 -19
  90. package/lib/src/shared/logo-settings/components/EditLogoSettings.mixin.js +0 -11
  91. package/lib/src/shared/logo-settings/components/LogoSettings.mixin.d.ts +2 -10
  92. package/lib/src/shared/logo-settings/store/editable-logo-store.d.ts +1 -5
  93. package/lib/src/shared/logo-settings/store/editable-logo-store.js +0 -31
  94. package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +18 -24
  95. package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +16 -10
  96. package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.d.ts +2 -23
  97. package/lib/src/shared/side-bar/components/SideBarTabButton.mixin.d.ts +0 -16
  98. package/lib/src/shared/style-settings/components/StyleSettings.mixin.d.ts +2 -23
  99. package/lib/src/shared/template-settings/components/TemplatesSettings.mixin.d.ts +0 -16
  100. package/lib/src/utils/minify-brand-page-metadata.js +11 -1
  101. package/package.json +2 -2
  102. package/src/brand-page/components/banner-section/BannerSection.vue +360 -12
  103. package/src/brand-page/components/banner-section/BannerSection.vue.test.ts +201 -0
  104. package/src/brand-page/components/booking-section/BookingSection.vue +11 -3
  105. package/src/brand-page/components/contact-form/ContactForm.mixin.ts +12 -6
  106. package/src/brand-page/components/contact-form/ContactForm.vue +115 -118
  107. package/src/brand-page/components/image-gallery/ImageGallery.mixin.ts +5 -0
  108. package/src/brand-page/components/image-gallery/ImageGallery.vue +1 -1
  109. package/src/brand-page/components/mailing-list/MailingList.mixin.ts +8 -1
  110. package/src/brand-page/components/mailing-list/MailingList.vue +1 -1
  111. package/src/brand-page/components/map/Map.vue +5 -1
  112. package/src/brand-page/components/payment/request-payment/RequestPayment.mixin.ts +5 -0
  113. package/src/brand-page/components/payment/request-payment/RequestPayment.vue +1 -0
  114. package/src/brand-page/components/payment/support-me/SupportMe.mixin.ts +8 -1
  115. package/src/brand-page/components/payment/support-me/SupportMe.vue +1 -0
  116. package/src/brand-page/components/placeholder/Placeholder.vue +39 -100
  117. package/src/brand-page/components/social-links/SocialLinks.vue +7 -3
  118. package/src/brand-page/components/text/Text.vue +12 -5
  119. package/src/brand-page/components/text-media-section/TextMediaSection.vue +11 -3
  120. package/src/brand-page/components/video/Video.mixin.ts +5 -0
  121. package/src/brand-page/components/video/Video.vue +1 -1
  122. package/src/brand-page/constants/misc.constants.ts +26 -0
  123. package/src/brand-page/models/content.model.ts +2 -0
  124. package/src/brand-page/utils/__snapshots__/migration.util.test.ts.snap +7 -3
  125. package/src/brand-page/utils/content-padding.util.test.ts +29 -0
  126. package/src/brand-page/utils/content-padding.util.ts +13 -0
  127. package/src/brand-page/utils/index.ts +1 -0
  128. package/src/brand-page/utils/migration/migration-16.ts +51 -0
  129. package/src/brand-page/utils/migration.util.test.ts +64 -0
  130. package/src/brand-page/utils/migration.util.ts +7 -0
  131. package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.ts +0 -11
  132. package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.vue +3 -2
  133. package/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-examples.ts +0 -1
  134. package/src/brand-page-maker/components/cookie-collection/CookieSettings.vue +17 -18
  135. package/src/brand-page-maker/components/quick-link-bar/QuickLinkBar.mixin.ts +0 -13
  136. package/src/brand-page-maker/components/quick-link-bar/QuickLinkBar.vue +3 -26
  137. package/src/brand-page-maker/components/quick-link-bar/i18n/quick-link-bar.json +1 -3
  138. package/src/brand-page-maker/components/save-contact/SaveContact.vue +19 -12
  139. package/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.ts +0 -10
  140. package/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.ts +1 -24
  141. package/src/brand-page-maker/composables/useEventTracker.ts +0 -29
  142. package/src/brand-page-maker/constants/config-settings-constant.ts +40 -0
  143. package/src/brand-page-maker/convertors/banner-align-display-style.convertor.ts +61 -1
  144. package/src/brand-page-maker/convertors/contact-layout-style.convertor.test.ts +50 -0
  145. package/src/brand-page-maker/convertors/contact-layout-style.convertor.ts +8 -0
  146. package/src/brand-page-maker/models/content-settings.ts +32 -2
  147. package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.test.ts +0 -335
  148. package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.ts +4 -364
  149. package/src/brand-page-maker/stores/logo-store/logo-store.ts +0 -5
  150. package/src/brand-page-maker/stores/user/user-store.ts +0 -1
  151. package/src/bundles/bundled-translations.json +3 -3
  152. package/src/constants/ui.ts +0 -1
  153. package/src/shared/content-settings/components/content-settings/ContentSettings.mixin.ts +0 -5
  154. package/src/shared/content-settings/components/content-settings/ContentSettings.stories.ts +0 -1
  155. package/src/shared/content-settings/components/content-settings/i18n/content-settings.json +2 -0
  156. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.vue +1 -1
  157. package/src/shared/content-settings/components/draggable-item-list/DraggableItemList.mixin.ts +2 -19
  158. package/src/shared/content-settings/components/draggable-item-list/DraggableItemList.vue +1 -1
  159. package/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.vue +2 -2
  160. package/src/shared/content-settings/components/form-fields-field/FormFieldsField.mixin.ts +10 -26
  161. package/src/shared/content-settings/components/logo-selection-field/LogoSelection.vue +48 -63
  162. package/src/shared/content-settings/components/page-dropdown-field/PageDropdownField.vue +0 -4
  163. package/src/shared/content-settings/components/payment-config-field/PaymentConfigField.mixin.ts +0 -7
  164. package/src/shared/content-settings/components/slider-field/SliderField.mixin.ts +9 -0
  165. package/src/shared/content-settings/components/text-field/TextField.vue +0 -1
  166. package/src/shared/content-settings/components/text-image-field/TextImageField.vue +4 -33
  167. package/src/shared/logo-settings/components/EditLogoSettings.mixin.ts +0 -11
  168. package/src/shared/logo-settings/store/editable-logo-store.ts +1 -42
  169. package/src/utils/minify-brand-page-metadata.ts +11 -1
  170. package/lib/src/brand-page/components/banner-section/BannerSection.mixin.d.ts +0 -103
  171. package/lib/src/brand-page/components/banner-section/BannerSection.mixin.js +0 -178
  172. package/lib/src/brand-page-maker/composables/useUndoRedoFlag.d.ts +0 -16
  173. package/lib/src/brand-page-maker/composables/useUndoRedoFlag.js +0 -22
  174. package/lib/src/brand-page-maker/stores/history/history-store.d.ts +0 -83
  175. package/lib/src/brand-page-maker/stores/history/history-store.js +0 -488
  176. package/lib/src/bundled-translations-DQVbIb4i.js +0 -175
  177. package/lib/src/metadata-builder/builders/reorder-pages-builder.d.ts +0 -13
  178. package/lib/src/metadata-builder/builders/reorder-pages-builder.js +0 -49
  179. package/src/brand-page/components/banner-section/BannerSection.mixin.ts +0 -213
  180. package/src/brand-page-maker/components/quick-link-bar/RedoButton.vue +0 -66
  181. package/src/brand-page-maker/components/quick-link-bar/UndoButton.vue +0 -66
  182. package/src/brand-page-maker/components/quick-link-bar/undo-redo-buttons.test.ts +0 -116
  183. package/src/brand-page-maker/composables/useUndoRedoFlag.ts +0 -26
  184. package/src/brand-page-maker/stores/history/history-store.test.ts +0 -1120
  185. package/src/brand-page-maker/stores/history/history-store.ts +0 -651
  186. package/src/metadata-builder/builders/reorder-pages-builder.ts +0 -80
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-B5jbN-ro.js";
2
+ import { _ as t } from "./lib-CRihSxY0.js";
3
3
  const i = {}, h = {
4
4
  width: "275",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-B5jbN-ro.js";
2
+ import { _ as t } from "./lib-CRihSxY0.js";
3
3
  const i = {}, h = {
4
4
  width: "251",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-B5jbN-ro.js";
2
+ import { _ as t } from "./lib-CRihSxY0.js";
3
3
  const i = {}, h = {
4
4
  width: "250",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-B5jbN-ro.js";
2
+ import { _ as t } from "./lib-CRihSxY0.js";
3
3
  const i = {}, h = {
4
4
  width: "237",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-B5jbN-ro.js";
2
+ import { _ as t } from "./lib-CRihSxY0.js";
3
3
  const i = {}, h = {
4
4
  width: "237",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-B5jbN-ro.js";
2
+ import { _ as t } from "./lib-CRihSxY0.js";
3
3
  const i = {}, h = {
4
4
  width: "263",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-B5jbN-ro.js";
2
+ import { _ as t } from "./lib-CRihSxY0.js";
3
3
  const i = {}, h = {
4
4
  width: "263",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-B5jbN-ro.js";
2
+ import { _ as e } from "./lib-CRihSxY0.js";
3
3
  const M = {}, Z = {
4
4
  width: "242",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-B5jbN-ro.js";
2
+ import { _ as e } from "./lib-CRihSxY0.js";
3
3
  const i = {}, M = {
4
4
  width: "231",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-B5jbN-ro.js";
2
+ import { _ as e } from "./lib-CRihSxY0.js";
3
3
  const M = {}, Z = {
4
4
  width: "230",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-B5jbN-ro.js";
2
+ import { _ as e } from "./lib-CRihSxY0.js";
3
3
  const i = {}, l = {
4
4
  width: "216",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-B5jbN-ro.js";
2
+ import { _ as e } from "./lib-CRihSxY0.js";
3
3
  const i = {}, l = {
4
4
  width: "216",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as M } from "./lib-B5jbN-ro.js";
2
+ import { _ as M } from "./lib-CRihSxY0.js";
3
3
  const Z = {}, e = {
4
4
  width: "232",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as M } from "./lib-B5jbN-ro.js";
2
+ import { _ as M } from "./lib-CRihSxY0.js";
3
3
  const Z = {}, e = {
4
4
  width: "232",
5
5
  height: "36",
@@ -45,6 +45,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
45
45
  }, {
46
46
  submitButtonStyle(): BrandPageCssStyle;
47
47
  submitButtonTextStyle(): BrandPageCssStyle;
48
+ contentPaddingStyle(): {
49
+ paddingTop: string;
50
+ paddingBottom: string;
51
+ };
48
52
  hasCard(): boolean;
49
53
  hasBgImage(): boolean;
50
54
  hasBgColor(): boolean;
@@ -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
@@ -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
  },
@@ -145,8 +145,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
145
145
  }>, {
146
146
  viewport: ViewportsType;
147
147
  isMobileDevice: boolean;
148
- containerClientWidth: number | undefined;
149
148
  containerClientHeight: number | undefined;
149
+ containerClientWidth: 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
- containerClientWidth: number;
82
81
  containerClientHeight: number;
82
+ containerClientWidth: number;
83
83
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
84
84
  export default _default;
@@ -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,
@@ -12,6 +12,12 @@ export declare const ALIGN_LEFT_BIG_IMAGE = "left-aligned-big-image";
12
12
  export declare const ALIGN_CARD_CENTER_IMAGE = "center-card-aligned-image";
13
13
  export declare const ALIGN_CARD_CENTER = "center-card-aligned";
14
14
  export declare const ALIGN_CARD_LEFT_IMAGE = "left-card-aligned-image";
15
+ export declare const ALIGN_TOP_CARD_IMAGE = "top-card-aligned-image";
16
+ export declare const ALIGN_BOTTOM_CARD_IMAGE = "bottom-card-aligned-image";
17
+ export declare const ALIGN_MIDDLE_CARD_IMAGE = "middle-card-aligned-image";
18
+ export declare const ALIGN_TOP_FULL_IMAGE = "top-aligned-full-image";
19
+ export declare const ALIGN_BOTTOM_FULL_IMAGE = "bottom-aligned-full-image";
20
+ export declare const ALIGN_MIDDLE_FULL_IMAGE = "middle-aligned-full-image";
15
21
  export declare const MAX_IMAGES_SECTION_ALIGNMENT_ITEMS_LENGTH = 3;
16
22
  export declare const TEXT_COLUMNS: {
17
23
  readonly 1: "1";
@@ -23,6 +29,17 @@ export declare const TEXT_ONLY = "text-only";
23
29
  export declare const ALIGN_LEFT_FULL_IMAGE = "left-aligned-full-image";
24
30
  export declare const ALIGN_RIGHT_FULL_IMAGE = "right-aligned-full-image";
25
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: their
37
+ * padding sits on the section root and reveals the background colour around
38
+ * the image block (same as the banner), while the spacing inside/over the
39
+ * image stays fixed — existing pages rendered the image flush to the section
40
+ * edges.
41
+ */
42
+ export declare const CONTACT_FORM_LAYOUT_DEFAULT_PADDING: Record<string, number>;
26
43
  export declare const BIG_IMAGE = "big-image";
27
44
  export declare const MEDIA_ONLY = "media-only";
28
45
  export declare const COLUMNS = "columns";
@@ -13,6 +13,12 @@ export const ALIGN_LEFT_BIG_IMAGE = 'left-aligned-big-image';
13
13
  export const ALIGN_CARD_CENTER_IMAGE = 'center-card-aligned-image';
14
14
  export const ALIGN_CARD_CENTER = 'center-card-aligned';
15
15
  export const ALIGN_CARD_LEFT_IMAGE = 'left-card-aligned-image';
16
+ export const ALIGN_TOP_CARD_IMAGE = 'top-card-aligned-image';
17
+ export const ALIGN_BOTTOM_CARD_IMAGE = 'bottom-card-aligned-image';
18
+ export const ALIGN_MIDDLE_CARD_IMAGE = 'middle-card-aligned-image';
19
+ export const ALIGN_TOP_FULL_IMAGE = 'top-aligned-full-image';
20
+ export const ALIGN_BOTTOM_FULL_IMAGE = 'bottom-aligned-full-image';
21
+ export const ALIGN_MIDDLE_FULL_IMAGE = 'middle-aligned-full-image';
16
22
  export const MAX_IMAGES_SECTION_ALIGNMENT_ITEMS_LENGTH = 3;
17
23
  export const TEXT_COLUMNS = {
18
24
  1: '1',
@@ -24,6 +30,25 @@ export const TEXT_ONLY = 'text-only';
24
30
  export const ALIGN_LEFT_FULL_IMAGE = 'left-aligned-full-image';
25
31
  export const ALIGN_RIGHT_FULL_IMAGE = 'right-aligned-full-image';
26
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: their
38
+ * padding sits on the section root and reveals the background colour around
39
+ * the image block (same as the banner), while the spacing inside/over the
40
+ * image stays fixed — existing pages rendered the image flush to the section
41
+ * edges.
42
+ */
43
+ export const CONTACT_FORM_LAYOUT_DEFAULT_PADDING = {
44
+ '': 0, // collapsible (default on Brand Page / Brand Contact)
45
+ [ALIGN_CENTERED]: 24,
46
+ [ALIGN_CARD_CENTER]: 32,
47
+ [ALIGN_CARD_CENTER_IMAGE]: 0,
48
+ [TEXT_ONLY]: 32,
49
+ [ALIGN_LEFT_FULL_IMAGE]: 0,
50
+ [ALIGN_RIGHT_FULL_IMAGE]: 0,
51
+ };
27
52
  export const BIG_IMAGE = 'big-image';
28
53
  export const MEDIA_ONLY = 'media-only';
29
54
  export const COLUMNS = 'columns';
@@ -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;
@@ -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';
@@ -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';
@@ -0,0 +1,2 @@
1
+ import type { MigrationData } from '../migration.util';
2
+ export declare const migration16: (migrationResult: MigrationData) => Promise<MigrationData>;
@@ -0,0 +1,37 @@
1
+ import { CONTACT_FORM_LAYOUT_DEFAULT_PADDING } from '../../constants';
2
+ /**
3
+ * Tier 2 Padding Control (BP-5699): blocks that already had hard-coded
4
+ * top/bottom spacing. Backfill that spacing as the block's explicit
5
+ * topPadding/bottomPadding so existing pages render unchanged once the spacing
6
+ * moves to the Padding Control sliders. Type-scoped and idempotent — only the
7
+ * listed types, and only when the value isn't already set.
8
+ */
9
+ const TIER2_DEFAULT_PADDING = {
10
+ text: 12,
11
+ 'images-section': 32,
12
+ 'social-links': 32,
13
+ 'shapes-section': 32,
14
+ 'booking-section': 32,
15
+ };
16
+ export const migration16 = async (migrationResult) => {
17
+ const { brandPageModel } = migrationResult;
18
+ brandPageModel.pages.forEach((page) => {
19
+ page.contents.forEach((content) => {
20
+ // Contact Form's previous hard-coded spacing varies by layout, so it's
21
+ // keyed by layoutStyle rather than a single per-type value.
22
+ const value = content.type === 'contact-form'
23
+ ? CONTACT_FORM_LAYOUT_DEFAULT_PADDING[content.layoutStyle ?? '']
24
+ : TIER2_DEFAULT_PADDING[content.type];
25
+ if (value === undefined) {
26
+ return;
27
+ }
28
+ if (content.topPadding === undefined) {
29
+ content.topPadding = value;
30
+ }
31
+ if (content.bottomPadding === undefined) {
32
+ content.bottomPadding = value;
33
+ }
34
+ });
35
+ });
36
+ return migrationResult;
37
+ };
@@ -18,6 +18,7 @@ import { migration12_1 } from './migration/migration-12_1';
18
18
  import { migration13 } from './migration/migration-13';
19
19
  import { migration14 } from './migration/migration-14';
20
20
  import { migration15 } from './migration/migration-15';
21
+ import { migration16 } from './migration/migration-16';
21
22
  const MIGRATION_TABLE = [
22
23
  {
23
24
  version: 1,
@@ -115,6 +116,11 @@ const MIGRATION_TABLE = [
115
116
  migrateFn: migration15,
116
117
  description: 'Adding default mediaOverlayStyle to background styles',
117
118
  },
119
+ {
120
+ version: 16,
121
+ migrateFn: migration16,
122
+ description: 'Tier 2 Padding Control (BP-5699): backfill existing top/bottom spacing as explicit padding for text (12px), images, social links, shapes and booking (32px), and contact form (per layout)',
123
+ },
118
124
  ];
119
125
  export const GetLatestModelVersion = () => Math.max(...MIGRATION_TABLE.map((x) => x.version));
120
126
  export const migrateBrandPageModel = async (brandPageModel, options) => {
@@ -107,21 +107,16 @@ declare const _default: import("vue").DefineComponent<{}, {
107
107
  hideChangeTemplateConfirmModal(): void;
108
108
  onBackgroundChanged(): void;
109
109
  onChangeTemplateConfirmModalCancel(): void;
110
- onChangeTemplateConfirmModalConfirm(): Promise<void>;
110
+ onChangeTemplateConfirmModalConfirm(): void;
111
111
  onContentChanged(): void;
112
112
  onStyleChanged(): void;
113
- onTemplateSelected(payload: import("@brand-page-maker/stores").OnTemplateSelectedPayload): Promise<void>;
113
+ onTemplateSelected(payload: import("@brand-page-maker/stores").OnTemplateSelectedPayload): void;
114
114
  setSelectedTabName(payload: any): void;
115
115
  showNextNotificationMessage(): Promise<void>;
116
116
  updateContent<TContent extends import("@brand-page/models").Content, P extends {
117
117
  id: string;
118
118
  content: TContent;
119
119
  }>(payload: P): Promise<void>;
120
- _captureTemplateSwitchIfEnabled(): void;
121
- applyHistorySnapshot(snapshot: import("@brand-page/models").BrandPageModel, activePageId?: string | undefined, logoEditsStr?: string | undefined): Promise<void>;
122
- _syncLogoSettingsFromSnapshot(snapshot: import("@brand-page/models").BrandPageModel, logoEditsStr?: string | undefined): Promise<void>;
123
- _navigateToActivePage(activePageId?: string | undefined): void;
124
- _fallbackSidebarIfSelectedContentMissing(snapshot: import("@brand-page/models").BrandPageModel): void;
125
120
  export(): import("@brand-page/models").BrandPageModel;
126
121
  setBrandPageType({ brandPageType }: {
127
122
  brandPageType: "default" | "brandSite" | "brandContact";
@@ -8,6 +8,8 @@ declare const _default: import("vue").DefineComponent<{}, {
8
8
  id: string;
9
9
  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";
10
10
  personalisationRole?: "website" | "email" | "phone" | "profile" | "about" | "information" | "media" | undefined;
11
+ topPadding?: number | undefined;
12
+ bottomPadding?: number | undefined;
11
13
  imageUrlOverride?: string | undefined;
12
14
  imageUrlsOverride?: string | undefined;
13
15
  avatarImageUrlOverride?: string | undefined;