@designcrowd/library.brand-page 5.18.8 → 5.18.9-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 (139) hide show
  1. package/lib/src/{CreatedOnBrandCrowd-de-de-BRbznSpr.js → CreatedOnBrandCrowd-de-de-CAZavzz5.js} +1 -1
  2. package/lib/src/{CreatedOnBrandCrowd-en-us-DTgCvurL.js → CreatedOnBrandCrowd-en-us-C3ykuu0O.js} +1 -1
  3. package/lib/src/{CreatedOnBrandCrowd-es-es-ZEi7ypLq.js → CreatedOnBrandCrowd-es-es-Dp1kdubS.js} +1 -1
  4. package/lib/src/{CreatedOnBrandCrowd-fr-fr-DNDjgJA5.js → CreatedOnBrandCrowd-fr-ca-XQSZWskY.js} +1 -1
  5. package/lib/src/{CreatedOnBrandCrowd-fr-ca-DNDjgJA5.js → CreatedOnBrandCrowd-fr-fr-XQSZWskY.js} +1 -1
  6. package/lib/src/{CreatedOnBrandCrowd-pt-pt-BrKUBLlc.js → CreatedOnBrandCrowd-pt-br-D7Gyr7mi.js} +1 -1
  7. package/lib/src/{CreatedOnBrandCrowd-pt-br-BrKUBLlc.js → CreatedOnBrandCrowd-pt-pt-D7Gyr7mi.js} +1 -1
  8. package/lib/src/{CreatedOnDcom-de-de-ZxFuF7Zf.js → CreatedOnDcom-de-de-62-Y3e7k.js} +1 -1
  9. package/lib/src/{CreatedOnDcom-en-us-Bbe6q32b.js → CreatedOnDcom-en-us-D00b8Ozh.js} +1 -1
  10. package/lib/src/{CreatedOnDcom-es-es-B1xxtqwW.js → CreatedOnDcom-es-es-DiuuOBp4.js} +1 -1
  11. package/lib/src/{CreatedOnDcom-fr-ca-dYIw-XKa.js → CreatedOnDcom-fr-ca-D4_3lNx2.js} +1 -1
  12. package/lib/src/{CreatedOnDcom-fr-fr-CdvwGLYf.js → CreatedOnDcom-fr-fr-DsAo2lNu.js} +1 -1
  13. package/lib/src/{CreatedOnDcom-pt-br-oBMlRSZf.js → CreatedOnDcom-pt-br-D7KY-upE.js} +1 -1
  14. package/lib/src/{CreatedOnDcom-pt-pt-BA0tAdwI.js → CreatedOnDcom-pt-pt-Nxz3ndA_.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/testimonial-section/TestimonialSection.mixin.d.ts +4 -0
  26. package/lib/src/brand-page/components/testimonial-section/TestimonialSection.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/font.constants.d.ts +4 -4
  30. package/lib/src/brand-page/constants/font.constants.js +4 -4
  31. package/lib/src/brand-page/constants/misc.constants.d.ts +35 -0
  32. package/lib/src/brand-page/constants/misc.constants.js +51 -0
  33. package/lib/src/brand-page/models/content.model.d.ts +2 -0
  34. package/lib/src/brand-page/utils/content-padding.util.d.ts +13 -0
  35. package/lib/src/brand-page/utils/content-padding.util.js +10 -0
  36. package/lib/src/brand-page/utils/index.d.ts +1 -0
  37. package/lib/src/brand-page/utils/index.js +1 -0
  38. package/lib/src/brand-page/utils/migration/migration-17.d.ts +2 -0
  39. package/lib/src/brand-page/utils/migration/migration-17.js +54 -0
  40. package/lib/src/brand-page/utils/migration.util.js +10 -0
  41. package/lib/src/brand-page-maker/components/admin-logo-settings/AdminLogoSettings.mixin.d.ts +2 -0
  42. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.d.ts +12 -0
  43. package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +14 -0
  44. package/lib/src/brand-page-maker/constants/config-settings-constant.js +39 -0
  45. package/lib/src/brand-page-maker/convertors/about-display-style.convertor.js +9 -1
  46. package/lib/src/brand-page-maker/convertors/banner-align-display-style.convertor.js +7 -1
  47. package/lib/src/brand-page-maker/convertors/contact-layout-style.convertor.js +6 -1
  48. package/lib/src/brand-page-maker/models/content-settings.js +38 -2
  49. package/lib/src/brand-page-maker/stores/ai-checkpoint/ai-checkpoint-store.d.ts +12 -0
  50. package/lib/src/{bundled-translations-D1q3rSEz.js → bundled-translations-BUyt4scr.js} +9 -9
  51. package/lib/src/{bundled-translations.de-DE-BxqLLwbh.js → bundled-translations.de-DE-DEw_OVai.js} +1 -1
  52. package/lib/src/{bundled-translations.es-ES-uh249NlJ.js → bundled-translations.es-ES-CFKWmkgY.js} +17 -17
  53. package/lib/src/{bundled-translations.fr-CA-BEQmv2fX.js → bundled-translations.fr-CA-DCl5LJS4.js} +1 -1
  54. package/lib/src/{bundled-translations.fr-FR-BnNuCojH.js → bundled-translations.fr-FR-B5BjgllA.js} +1 -1
  55. package/lib/src/{bundled-translations.pt-BR-CJUOxVlq.js → bundled-translations.pt-BR-5PWpMPuM.js} +1 -1
  56. package/lib/src/{bundled-translations.pt-PT-Ds9cMEqK.js → bundled-translations.pt-PT-B9_wN0HR.js} +9 -9
  57. package/lib/src/bundles/bundled-translations.de-DE.json +2 -0
  58. package/lib/src/bundles/bundled-translations.es-ES.json +2 -0
  59. package/lib/src/bundles/bundled-translations.fr-CA.json +2 -0
  60. package/lib/src/bundles/bundled-translations.fr-FR.json +2 -0
  61. package/lib/src/bundles/bundled-translations.json +2 -0
  62. package/lib/src/bundles/bundled-translations.pt-BR.json +2 -0
  63. package/lib/src/bundles/bundled-translations.pt-PT.json +2 -0
  64. package/lib/src/css/library.brand-page-brandCrowd.min.css +165 -170
  65. package/lib/src/css/library.brand-page-brandPage.min.css +165 -170
  66. package/lib/src/css/library.brand-page-designCom.min.css +165 -170
  67. package/lib/src/css/library.brand-page-preview.min.css +165 -170
  68. package/lib/src/index.mjs +1 -1
  69. package/lib/src/{lib-DZmDarKM.js → lib-Sms5Rq17.js} +20181 -19988
  70. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts +14 -0
  71. package/lib/src/shared/content-settings/components/content-settings/ReplaceImageSettingsForContent.mixin.d.ts +14 -0
  72. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.d.ts +12 -0
  73. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.d.ts +12 -0
  74. package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.d.ts +12 -0
  75. package/lib/src/shared/content-settings/components/slider-field/SliderField.mixin.js +9 -0
  76. package/lib/src/shared/content-settings/store/content-settings-store.d.ts +12 -0
  77. package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +16 -0
  78. package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +14 -0
  79. package/lib/src/utils/minify-brand-page-metadata.js +11 -1
  80. package/package.json +1 -1
  81. package/src/brand-page/components/about-section/AboutSection.vue +10 -4
  82. package/src/brand-page/components/banner-section/BannerSection.vue +11 -4
  83. package/src/brand-page/components/booking-section/BookingSection.vue +11 -3
  84. package/src/brand-page/components/button/Button.vue +10 -2
  85. package/src/brand-page/components/contact-form/ContactForm.mixin.ts +12 -6
  86. package/src/brand-page/components/contact-form/ContactForm.vue +107 -106
  87. package/src/brand-page/components/image-gallery/ImageGallery.mixin.ts +5 -0
  88. package/src/brand-page/components/image-gallery/ImageGallery.vue +1 -1
  89. package/src/brand-page/components/mailing-list/MailingList.mixin.ts +8 -1
  90. package/src/brand-page/components/mailing-list/MailingList.vue +1 -1
  91. package/src/brand-page/components/map/Map.vue +5 -1
  92. package/src/brand-page/components/payment/request-payment/RequestPayment.mixin.ts +5 -0
  93. package/src/brand-page/components/payment/request-payment/RequestPayment.vue +1 -0
  94. package/src/brand-page/components/payment/support-me/SupportMe.mixin.ts +8 -1
  95. package/src/brand-page/components/payment/support-me/SupportMe.vue +1 -0
  96. package/src/brand-page/components/shop/Shop.vue +7 -2
  97. package/src/brand-page/components/social-links/SocialLinks.vue +7 -3
  98. package/src/brand-page/components/testimonial-section/TestimonialSection.mixin.ts +7 -1
  99. package/src/brand-page/components/testimonial-section/TestimonialSection.vue +4 -6
  100. package/src/brand-page/components/text/Text.vue +12 -5
  101. package/src/brand-page/components/text-media-section/TextMediaSection.vue +11 -3
  102. package/src/brand-page/components/video/Video.mixin.ts +5 -0
  103. package/src/brand-page/components/video/Video.vue +1 -1
  104. package/src/brand-page/constants/font.constants.ts +4 -4
  105. package/src/brand-page/constants/misc.constants.ts +58 -0
  106. package/src/brand-page/models/content.model.ts +2 -0
  107. package/src/brand-page/utils/__snapshots__/migration.util.test.ts.snap +9 -3
  108. package/src/brand-page/utils/__snapshots__/migration2.util.test.ts.snap +6 -6
  109. package/src/brand-page/utils/__snapshots__/model.util.test.ts.snap +12 -12
  110. package/src/brand-page/utils/content-padding.util.test.ts +29 -0
  111. package/src/brand-page/utils/content-padding.util.ts +13 -0
  112. package/src/brand-page/utils/index.ts +1 -0
  113. package/src/brand-page/utils/migration/migration-17.ts +72 -0
  114. package/src/brand-page/utils/migration.util.test.ts +252 -0
  115. package/src/brand-page/utils/migration.util.ts +11 -0
  116. package/src/brand-page-maker/constants/config-settings-constant.ts +45 -0
  117. package/src/brand-page-maker/convertors/about-display-style.convertor.ts +10 -0
  118. package/src/brand-page-maker/convertors/banner-align-display-style.convertor.ts +8 -0
  119. package/src/brand-page-maker/convertors/contact-layout-style.convertor.test.ts +50 -0
  120. package/src/brand-page-maker/convertors/contact-layout-style.convertor.ts +8 -0
  121. package/src/brand-page-maker/models/content-settings.ts +41 -2
  122. package/src/bundles/bundled-translations.de-DE.json +2 -0
  123. package/src/bundles/bundled-translations.es-ES.json +2 -0
  124. package/src/bundles/bundled-translations.fr-CA.json +2 -0
  125. package/src/bundles/bundled-translations.fr-FR.json +2 -0
  126. package/src/bundles/bundled-translations.json +2 -0
  127. package/src/bundles/bundled-translations.pt-BR.json +2 -0
  128. package/src/bundles/bundled-translations.pt-PT.json +2 -0
  129. package/src/shared/content-settings/components/content-settings/i18n/content-settings.de-DE.json +2 -0
  130. package/src/shared/content-settings/components/content-settings/i18n/content-settings.es-ES.json +2 -0
  131. package/src/shared/content-settings/components/content-settings/i18n/content-settings.fr-CA.json +2 -0
  132. package/src/shared/content-settings/components/content-settings/i18n/content-settings.fr-FR.json +2 -0
  133. package/src/shared/content-settings/components/content-settings/i18n/content-settings.json +2 -0
  134. package/src/shared/content-settings/components/content-settings/i18n/content-settings.pt-BR.json +2 -0
  135. package/src/shared/content-settings/components/content-settings/i18n/content-settings.pt-PT.json +2 -0
  136. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.vue +1 -1
  137. package/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.vue +2 -2
  138. package/src/shared/content-settings/components/slider-field/SliderField.mixin.ts +9 -0
  139. package/src/utils/minify-brand-page-metadata.ts +11 -1
@@ -24,6 +24,8 @@ import {
24
24
  EMPTY_LOGO_IMAGE_MODEL,
25
25
  BRAND_PAGE_TYPES,
26
26
  SENSITIVE_CONTENT_TYPES,
27
+ CONTACT_FORM_LAYOUT_DEFAULT_PADDING,
28
+ TESTIMONIAL_DEFAULT_PADDING,
27
29
  } from '@brand-page';
28
30
  import type {
29
31
  ButtonContent,
@@ -171,6 +173,8 @@ export const createInitialImageGalleryContent = (): ImageGalleryContent => {
171
173
  galleryStyles: {
172
174
  galleryType: 'grid',
173
175
  },
176
+ topPadding: 0,
177
+ bottomPadding: 0,
174
178
  };
175
179
  };
176
180
 
@@ -182,6 +186,8 @@ export const createInitialVideoContent = (): VideoContent => {
182
186
  displayStyle: DISPLAY_STYLE_PREVIEW,
183
187
  mute: false,
184
188
  videoUrl: '',
189
+ topPadding: 0,
190
+ bottomPadding: 0,
185
191
  };
186
192
  };
187
193
 
@@ -239,6 +245,8 @@ export const createInitialTextContent = (
239
245
  ]
240
246
  : undefined,
241
247
  type: 'text',
248
+ topPadding: 12,
249
+ bottomPadding: 12,
242
250
  textSize: {
243
251
  fontSize: FONT_SIZE_BODY,
244
252
  lineHeight: LINE_HEIGHT_BODY,
@@ -282,6 +290,8 @@ export const createInitialMapContent = (): MapContent => {
282
290
  formattedAddress: '',
283
291
  placeId: '',
284
292
  },
293
+ topPadding: 0,
294
+ bottomPadding: 0,
285
295
  };
286
296
  };
287
297
 
@@ -291,6 +301,8 @@ export const createInitialMailingListContent = (
291
301
  return {
292
302
  id: uuid.v4(),
293
303
  type: 'mailing-list',
304
+ topPadding: 0,
305
+ bottomPadding: 0,
294
306
  title: contentSettingsTr(`mailingListTitle`),
295
307
  buttonText: contentSettingsTr(`subscribePlaceholder`),
296
308
  acceptedFields: 'emailOnly',
@@ -324,6 +336,8 @@ export const createInitialRequestPaymentContent = (
324
336
  successMessage: '',
325
337
  title: contentSettingsTr(`buyNowTitle`),
326
338
  type: 'request-payment',
339
+ topPadding: 0,
340
+ bottomPadding: 0,
327
341
  fillColor: {},
328
342
  defaultBorderColor: {},
329
343
  selectedBorderColor: {},
@@ -356,6 +370,8 @@ export const createInitialShopContent = (
356
370
  return {
357
371
  id: uuid.v4(),
358
372
  description: '',
373
+ topPadding: 16,
374
+ bottomPadding: 16,
359
375
  products: [],
360
376
  displayStyle: PAYMENT_OPTION_DISPLAY_TYPES.thumbnail,
361
377
  aspectRatio: PAYMENT_OPTION_IMAGE_TYPES.auto,
@@ -415,6 +431,8 @@ export const createInitialSupportMeContent = (
415
431
  successMessage: contentSettingsTr(`successSupportPlaceholder`),
416
432
  description: contentSettingsTr(`makeADonationDescription`),
417
433
  type: 'support-me',
434
+ topPadding: 0,
435
+ bottomPadding: 0,
418
436
  titleStyle: {
419
437
  applyAutoScale: options?.brandPageType === BRAND_PAGE_TYPES.brandSite,
420
438
  textStyleType: TEXT_STYLE_TYPES.headings,
@@ -453,14 +471,21 @@ export const createInitialContactFormContent: CreateInitialContentFunction<
453
471
  console.error('userState.emailAddress should not be undefined');
454
472
  }
455
473
 
474
+ // New blocks inherit the padding their initial layout previously had
475
+ // hard-coded — same source as the migration backfill for existing pages.
476
+ const layoutStyle =
477
+ options?.brandPageType === 'brandSite' ? 'center-card-aligned' : '';
478
+ const padding = CONTACT_FORM_LAYOUT_DEFAULT_PADDING[layoutStyle] ?? 0;
479
+
456
480
  return {
457
481
  id: uuid.v4(),
458
482
  title: contentSettingsTr(`contactUsTitle`),
459
483
  description: '',
460
484
  buttonText: contentSettingsTr(`sendPlaceholder`),
461
485
  displayStyle: DISPLAY_STYLE_PREVIEW,
462
- layoutStyle:
463
- options?.brandPageType === 'brandSite' ? 'center-card-aligned' : '',
486
+ layoutStyle,
487
+ topPadding: padding,
488
+ bottomPadding: padding,
464
489
  imageUrl: '',
465
490
  fields: [
466
491
  {
@@ -553,6 +578,8 @@ export const createInitialBannerSectionContent: CreateInitialContentFunction<
553
578
  > = (options?: CreateInitialContentOptions) => {
554
579
  return {
555
580
  id: uuid.v4(),
581
+ topPadding: 32,
582
+ bottomPadding: 32,
556
583
  imageUrl: '',
557
584
  title: contentSettingsTr(`thisIsABannerTitle`),
558
585
  description: '',
@@ -599,6 +626,8 @@ export const createInitialBookingSectionContent: CreateInitialContentFunction<
599
626
  buttonText: contentSettingsTr(`bookNowLabel`),
600
627
  url: '',
601
628
  type: 'booking-section',
629
+ topPadding: 32,
630
+ bottomPadding: 32,
602
631
  descriptionStyle: {
603
632
  applyAutoScale: options?.brandPageType === BRAND_PAGE_TYPES.brandSite,
604
633
  textStyleType: TEXT_STYLE_TYPES.paragraphs,
@@ -628,6 +657,8 @@ export const createInitialImagesSectionContent: CreateInitialContentFunction<
628
657
  title: contentSettingsTr(`imagesTitle`),
629
658
  description: '',
630
659
  type: 'images-section',
660
+ topPadding: 32,
661
+ bottomPadding: 32,
631
662
  displayStyle: 'centered',
632
663
  aspectRatio: 'Default',
633
664
  areImagesFullWidth: false,
@@ -683,6 +714,8 @@ export const createInitialTestimonialSectionContent: CreateInitialContentFunctio
683
714
  title: contentSettingsTr(`testimonialsTitle`),
684
715
  type: 'testimonial-section',
685
716
  displayStyle: 'centered',
717
+ topPadding: TESTIMONIAL_DEFAULT_PADDING,
718
+ bottomPadding: TESTIMONIAL_DEFAULT_PADDING,
686
719
  items: [],
687
720
  titleStyle: {
688
721
  applyAutoScale: options?.brandPageType === BRAND_PAGE_TYPES.brandSite,
@@ -731,6 +764,8 @@ export const createInitialAboutSectionContent: CreateInitialContentFunction<
731
764
  textAlign: 'center',
732
765
  },
733
766
  backgroundStyle: {},
767
+ topPadding: 32,
768
+ bottomPadding: 32,
734
769
  };
735
770
  };
736
771
 
@@ -793,6 +828,8 @@ export const createInitialSocialLinksContent = (
793
828
  return {
794
829
  id: uuid.v4(),
795
830
  type: 'social-links',
831
+ topPadding: 32,
832
+ bottomPadding: 32,
796
833
  title: contentSettingsTr(`followUsOnTitle`),
797
834
  links: [
798
835
  {
@@ -846,6 +883,8 @@ export const createInitialShapesSectionContent: CreateInitialContentFunction<
846
883
  title: contentSettingsTr(`shapesTitle`),
847
884
  description: '',
848
885
  type: 'shapes-section',
886
+ topPadding: 32,
887
+ bottomPadding: 32,
849
888
  displayStyle: 'centered',
850
889
  items: [
851
890
  {
@@ -1529,6 +1529,8 @@
1529
1529
  "iconFillColorTitle": "Farbe der Symbolfüllung",
1530
1530
  "iconBackgroundColorTitle": "Symbolhintergrundfarbe",
1531
1531
  "paddingTitle": "Polsterung",
1532
+ "topPaddingTitle": "Polsterung oben",
1533
+ "bottomPaddingTitle": "Polsterung unten",
1532
1534
  "dividerStyleTitle": "Trennlinienstil",
1533
1535
  "dividerColorTitle": "Trennlinienfarbe",
1534
1536
  "addItemTitle": "Artikel hinzufügen",
@@ -1529,6 +1529,8 @@
1529
1529
  "iconFillColorTitle": "Color de relleno del icono",
1530
1530
  "iconBackgroundColorTitle": "Color de fondo del icono",
1531
1531
  "paddingTitle": "Relleno",
1532
+ "topPaddingTitle": "Relleno superior",
1533
+ "bottomPaddingTitle": "Relleno inferior",
1532
1534
  "dividerStyleTitle": "Estilo del divisor",
1533
1535
  "dividerColorTitle": "Color del separador",
1534
1536
  "addItemTitle": "Añadir artículo",
@@ -1529,6 +1529,8 @@
1529
1529
  "iconFillColorTitle": "Couleur de remplissage de l’icône",
1530
1530
  "iconBackgroundColorTitle": "Couleur d’arrière-plan de l’icône",
1531
1531
  "paddingTitle": "Marges intérieures",
1532
+ "topPaddingTitle": "Marge intérieure supérieure",
1533
+ "bottomPaddingTitle": "Marges intérieures inférieures",
1532
1534
  "dividerStyleTitle": "Style de séparateur",
1533
1535
  "dividerColorTitle": "Couleur du séparateur",
1534
1536
  "addItemTitle": "Ajouter un article",
@@ -1529,6 +1529,8 @@
1529
1529
  "iconFillColorTitle": "Couleur de remplissage de l’icône",
1530
1530
  "iconBackgroundColorTitle": "Couleur d’arrière-plan de l’icône",
1531
1531
  "paddingTitle": "Marges intérieures",
1532
+ "topPaddingTitle": "Marges intérieures supérieures",
1533
+ "bottomPaddingTitle": "Marges intérieures inférieures",
1532
1534
  "dividerStyleTitle": "Style de séparateur",
1533
1535
  "dividerColorTitle": "Couleur du séparateur",
1534
1536
  "addItemTitle": "Ajouter un article",
@@ -1529,6 +1529,8 @@
1529
1529
  "iconFillColorTitle": "Icon fill color",
1530
1530
  "iconBackgroundColorTitle": "Icon background color",
1531
1531
  "paddingTitle": "Padding",
1532
+ "topPaddingTitle": "Top padding",
1533
+ "bottomPaddingTitle": "Bottom padding",
1532
1534
  "dividerStyleTitle": "Divider Style",
1533
1535
  "dividerColorTitle": "Divider color",
1534
1536
  "addItemTitle": "Add Item",
@@ -1529,6 +1529,8 @@
1529
1529
  "iconFillColorTitle": "Cor de preenchimento do ícone",
1530
1530
  "iconBackgroundColorTitle": "Cor de fundo do ícone",
1531
1531
  "paddingTitle": "Preenchimento",
1532
+ "topPaddingTitle": "Preenchimento superior",
1533
+ "bottomPaddingTitle": "Preenchimento inferior",
1532
1534
  "dividerStyleTitle": "Estilo do separador",
1533
1535
  "dividerColorTitle": "Cor do separador",
1534
1536
  "addItemTitle": "Adicionar item",
@@ -1529,6 +1529,8 @@
1529
1529
  "iconFillColorTitle": "Cor de preenchimento do ícone",
1530
1530
  "iconBackgroundColorTitle": "Cor de fundo do ícone",
1531
1531
  "paddingTitle": "Preenchimento",
1532
+ "topPaddingTitle": "Preenchimento superior",
1533
+ "bottomPaddingTitle": "Preenchimento inferior",
1532
1534
  "dividerStyleTitle": "Estilo do separador",
1533
1535
  "dividerColorTitle": "Cor do separador",
1534
1536
  "addItemTitle": "Adicionar Item",
@@ -113,6 +113,8 @@
113
113
  "iconFillColorTitle": "Farbe der Symbolfüllung",
114
114
  "iconBackgroundColorTitle": "Symbolhintergrundfarbe",
115
115
  "paddingTitle": "Polsterung",
116
+ "topPaddingTitle": "Polsterung oben",
117
+ "bottomPaddingTitle": "Polsterung unten",
116
118
  "dividerStyleTitle": "Trennlinienstil",
117
119
  "dividerColorTitle": "Trennlinienfarbe",
118
120
  "addItemTitle": "Artikel hinzufügen",
@@ -113,6 +113,8 @@
113
113
  "iconFillColorTitle": "Color de relleno del icono",
114
114
  "iconBackgroundColorTitle": "Color de fondo del icono",
115
115
  "paddingTitle": "Relleno",
116
+ "topPaddingTitle": "Relleno superior",
117
+ "bottomPaddingTitle": "Relleno inferior",
116
118
  "dividerStyleTitle": "Estilo del divisor",
117
119
  "dividerColorTitle": "Color del separador",
118
120
  "addItemTitle": "Añadir artículo",
@@ -113,6 +113,8 @@
113
113
  "iconFillColorTitle": "Couleur de remplissage de l’icône",
114
114
  "iconBackgroundColorTitle": "Couleur d’arrière-plan de l’icône",
115
115
  "paddingTitle": "Marges intérieures",
116
+ "topPaddingTitle": "Marge intérieure supérieure",
117
+ "bottomPaddingTitle": "Marges intérieures inférieures",
116
118
  "dividerStyleTitle": "Style de séparateur",
117
119
  "dividerColorTitle": "Couleur du séparateur",
118
120
  "addItemTitle": "Ajouter un article",
@@ -113,6 +113,8 @@
113
113
  "iconFillColorTitle": "Couleur de remplissage de l’icône",
114
114
  "iconBackgroundColorTitle": "Couleur d’arrière-plan de l’icône",
115
115
  "paddingTitle": "Marges intérieures",
116
+ "topPaddingTitle": "Marges intérieures supérieures",
117
+ "bottomPaddingTitle": "Marges intérieures inférieures",
116
118
  "dividerStyleTitle": "Style de séparateur",
117
119
  "dividerColorTitle": "Couleur du séparateur",
118
120
  "addItemTitle": "Ajouter un article",
@@ -113,6 +113,8 @@
113
113
  "iconFillColorTitle": "Icon fill color",
114
114
  "iconBackgroundColorTitle": "Icon background color",
115
115
  "paddingTitle": "Padding",
116
+ "topPaddingTitle": "Top padding",
117
+ "bottomPaddingTitle": "Bottom padding",
116
118
  "dividerStyleTitle": "Divider Style",
117
119
  "dividerColorTitle": "Divider color",
118
120
  "addItemTitle": "Add Item",
@@ -113,6 +113,8 @@
113
113
  "iconFillColorTitle": "Cor de preenchimento do ícone",
114
114
  "iconBackgroundColorTitle": "Cor de fundo do ícone",
115
115
  "paddingTitle": "Preenchimento",
116
+ "topPaddingTitle": "Preenchimento superior",
117
+ "bottomPaddingTitle": "Preenchimento inferior",
116
118
  "dividerStyleTitle": "Estilo do separador",
117
119
  "dividerColorTitle": "Cor do separador",
118
120
  "addItemTitle": "Adicionar item",
@@ -113,6 +113,8 @@
113
113
  "iconFillColorTitle": "Cor de preenchimento do ícone",
114
114
  "iconBackgroundColorTitle": "Cor de fundo do ícone",
115
115
  "paddingTitle": "Preenchimento",
116
+ "topPaddingTitle": "Preenchimento superior",
117
+ "bottomPaddingTitle": "Preenchimento inferior",
116
118
  "dividerStyleTitle": "Estilo do separador",
117
119
  "dividerColorTitle": "Cor do separador",
118
120
  "addItemTitle": "Adicionar Item",
@@ -56,7 +56,7 @@
56
56
  >
57
57
  <li
58
58
  v-for="(field, index) in fields"
59
- :key="`content-settings-item-field-${id}-${index}`"
59
+ :key="`content-settings-item-field-${id}-${field.name}`"
60
60
  class="tw-cursor-pointer"
61
61
  :class="{
62
62
  'tw-mb-3': index !== fields.length - 1,
@@ -25,8 +25,8 @@
25
25
  >
26
26
  <ul>
27
27
  <li
28
- v-for="(field, fieldIndex) in group.fields"
29
- :key="`content-settings-item-group-field-${id}-${group.id}-${fieldIndex}`"
28
+ v-for="field in group.fields"
29
+ :key="`content-settings-item-group-field-${id}-${group.id}-${field.name}`"
30
30
  >
31
31
  <ContentSettingsItemField
32
32
  v-if="
@@ -45,6 +45,15 @@ export default defineComponent({
45
45
  sliderValue: value,
46
46
  };
47
47
  },
48
+ watch: {
49
+ // The value can change outside the slider (e.g. a layout switch
50
+ // re-applying default padding, or undo) — keep the display in sync.
51
+ value(newValue: string | undefined) {
52
+ this.sliderValue = this.valueConvertor
53
+ ? this.valueConvertor.convert(newValue as any)
54
+ : newValue;
55
+ },
56
+ },
48
57
  computed: {
49
58
  innerMinLength(): number {
50
59
  return this.minLength ?? 0;
@@ -205,7 +205,17 @@ const minifyContent = (
205
205
  editor: Editor,
206
206
  assets?: AssetEntry[],
207
207
  ): MinifiedContent => {
208
- const base: MinifiedContent = { id: content.id, type: content.type };
208
+ const base: MinifiedContent = {
209
+ id: content.id,
210
+ type: content.type,
211
+ // Padding Control (BP-5687) — shared across every block, persist when set.
212
+ ...(typeof content.topPadding === 'number' && {
213
+ topPadding: content.topPadding,
214
+ }),
215
+ ...(typeof content.bottomPadding === 'number' && {
216
+ bottomPadding: content.bottomPadding,
217
+ }),
218
+ };
209
219
  const c = content as any;
210
220
 
211
221
  // Helper: include imageUrl and its asset key if available