@designcrowd/library.brand-page 5.17.27-shape-memory-2 → 5.17.28-ast-padding
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/src/{CreatedOnBrandCrowd-de-de-CmwyVngB.js → CreatedOnBrandCrowd-de-de-BKiqBMgr.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-en-us-BsYNmX7g.js → CreatedOnBrandCrowd-en-us-BE9ztLEZ.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-es-es-Di-Cb90E.js → CreatedOnBrandCrowd-es-es-isBp-_KV.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-fr-DkPUGPrO.js → CreatedOnBrandCrowd-fr-ca-BHkyP1Ym.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-ca-DkPUGPrO.js → CreatedOnBrandCrowd-fr-fr-BHkyP1Ym.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-pt-BB1hWv0w.js → CreatedOnBrandCrowd-pt-br-D4EXIp5p.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-br-BB1hWv0w.js → CreatedOnBrandCrowd-pt-pt-D4EXIp5p.js} +1 -1
- package/lib/src/{CreatedOnDcom-de-de-CLPQHUdt.js → CreatedOnDcom-de-de-DCyTITAn.js} +1 -1
- package/lib/src/{CreatedOnDcom-en-us-4xPohzcl.js → CreatedOnDcom-en-us-Bwr-eCqH.js} +1 -1
- package/lib/src/{CreatedOnDcom-es-es-COjxz_Aa.js → CreatedOnDcom-es-es-DBMJ7xE-.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-ca-sxQVouYP.js → CreatedOnDcom-fr-ca-itsxeehe.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-fr-B2XC86kO.js → CreatedOnDcom-fr-fr-B8CIK3Dc.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-br-CYK9le9x.js → CreatedOnDcom-pt-br-mV_AMZNj.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-pt-CF-QACKl.js → CreatedOnDcom-pt-pt-mwvCkhOd.js} +1 -1
- package/lib/src/brand-page/components/background-shape/BackgroundShape.mixin.js +6 -0
- package/lib/src/brand-page/components/image-gallery/ImageGallery.mixin.d.ts +4 -0
- package/lib/src/brand-page/components/image-gallery/ImageGallery.mixin.js +4 -0
- package/lib/src/brand-page/components/mailing-list/MailingList.mixin.d.ts +4 -0
- package/lib/src/brand-page/components/mailing-list/MailingList.mixin.js +4 -1
- package/lib/src/brand-page/components/media/Shape.mixin.js +6 -0
- package/lib/src/brand-page/components/payment/request-payment/RequestPayment.mixin.d.ts +4 -0
- package/lib/src/brand-page/components/payment/request-payment/RequestPayment.mixin.js +4 -0
- package/lib/src/brand-page/components/payment/support-me/SupportMe.mixin.d.ts +4 -0
- package/lib/src/brand-page/components/payment/support-me/SupportMe.mixin.js +4 -1
- package/lib/src/brand-page/components/video/Video.mixin.d.ts +4 -0
- package/lib/src/brand-page/components/video/Video.mixin.js +4 -0
- package/lib/src/brand-page/models/content.model.d.ts +2 -0
- package/lib/src/brand-page/utils/content-padding.util.d.ts +13 -0
- package/lib/src/brand-page/utils/content-padding.util.js +10 -0
- package/lib/src/brand-page/utils/index.d.ts +1 -0
- package/lib/src/brand-page/utils/index.js +1 -0
- package/lib/src/brand-page/utils/migration/migration-16.d.ts +2 -0
- package/lib/src/brand-page/utils/migration/migration-16.js +32 -0
- package/lib/src/brand-page/utils/migration.util.js +6 -0
- package/lib/src/brand-page-maker/components/admin-logo-settings/AdminLogoSettings.mixin.d.ts +2 -0
- package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.d.ts +12 -0
- package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +14 -0
- package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.js +6 -8
- package/lib/src/brand-page-maker/constants/config-settings-constant.js +33 -0
- package/lib/src/brand-page-maker/models/content-settings.js +22 -0
- package/lib/src/{bundled-translations-CNK7l6_v.js → bundled-translations-D4Pw0u0B.js} +1 -1
- package/lib/src/bundles/bundled-translations.json +2 -0
- package/lib/src/css/library.brand-page-brandCrowd.min.css +84 -115
- package/lib/src/css/library.brand-page-brandPage.min.css +84 -115
- package/lib/src/css/library.brand-page-designCom.min.css +84 -115
- package/lib/src/css/library.brand-page-preview.min.css +84 -115
- package/lib/src/index.mjs +1 -1
- package/lib/src/{lib-vkr7dfRD.js → lib-ro9XYcgh.js} +19363 -19245
- package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts +14 -0
- package/lib/src/shared/content-settings/components/content-settings/ReplaceImageSettingsForContent.mixin.d.ts +14 -0
- package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.d.ts +12 -0
- package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.d.ts +12 -0
- package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.d.ts +12 -0
- package/lib/src/shared/content-settings/store/content-settings-store.d.ts +12 -0
- package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +16 -0
- package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +14 -0
- package/lib/src/utils/minify-brand-page-metadata.js +11 -1
- package/package.json +1 -1
- package/src/brand-page/components/background-shape/BackgroundShape.mixin.ts +6 -0
- package/src/brand-page/components/background-shape/BackgroundShape.vue +5 -1
- package/src/brand-page/components/booking-section/BookingSection.vue +11 -3
- package/src/brand-page/components/contact-form/ContactForm.vue +13 -13
- package/src/brand-page/components/image-gallery/ImageGallery.mixin.ts +5 -0
- package/src/brand-page/components/image-gallery/ImageGallery.vue +1 -1
- package/src/brand-page/components/mailing-list/MailingList.mixin.ts +8 -1
- package/src/brand-page/components/mailing-list/MailingList.vue +1 -1
- package/src/brand-page/components/map/Map.vue +5 -1
- package/src/brand-page/components/media/Shape.mixin.ts +6 -0
- package/src/brand-page/components/media/Shape.vue +1 -1
- package/src/brand-page/components/payment/request-payment/RequestPayment.mixin.ts +5 -0
- package/src/brand-page/components/payment/request-payment/RequestPayment.vue +1 -0
- package/src/brand-page/components/payment/support-me/SupportMe.mixin.ts +8 -1
- package/src/brand-page/components/payment/support-me/SupportMe.vue +1 -0
- package/src/brand-page/components/placeholder/Placeholder.vue +39 -100
- package/src/brand-page/components/social-links/SocialLinks.vue +7 -3
- package/src/brand-page/components/text/Text.vue +12 -5
- package/src/brand-page/components/text-media-section/TextMediaSection.vue +11 -3
- package/src/brand-page/components/video/Video.mixin.ts +5 -0
- package/src/brand-page/components/video/Video.vue +1 -1
- package/src/brand-page/models/content.model.ts +2 -0
- package/src/brand-page/utils/__snapshots__/migration.util.test.ts.snap +7 -3
- package/src/brand-page/utils/content-padding.util.ts +13 -0
- package/src/brand-page/utils/index.ts +1 -0
- package/src/brand-page/utils/migration/migration-16.ts +42 -0
- package/src/brand-page/utils/migration.util.ts +7 -0
- package/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.ts +10 -8
- package/src/brand-page-maker/constants/config-settings-constant.ts +39 -0
- package/src/brand-page-maker/models/content-settings.ts +22 -0
- package/src/bundles/bundled-translations.json +2 -0
- package/src/shared/content-settings/components/content-settings/i18n/content-settings.json +2 -0
- package/src/utils/minify-brand-page-metadata.ts +11 -1
|
@@ -454,7 +454,7 @@ exports[`migration.util > Banner Contents - text Align and Font Family should no
|
|
|
454
454
|
},
|
|
455
455
|
},
|
|
456
456
|
},
|
|
457
|
-
"v":
|
|
457
|
+
"v": 16,
|
|
458
458
|
},
|
|
459
459
|
"useOldLogoRenderSize": true,
|
|
460
460
|
}
|
|
@@ -751,6 +751,7 @@ exports[`migration.util > migrateBrandPageModel should return brand page model w
|
|
|
751
751
|
{
|
|
752
752
|
"contents": [
|
|
753
753
|
{
|
|
754
|
+
"bottomPadding": 12,
|
|
754
755
|
"id": "bec5aca6-e3c5-4d4c-93fa-2894816a8040",
|
|
755
756
|
"text": "",
|
|
756
757
|
"textColor": {},
|
|
@@ -774,6 +775,7 @@ exports[`migration.util > migrateBrandPageModel should return brand page model w
|
|
|
774
775
|
"textAlign": "center",
|
|
775
776
|
"textStyleType": "paragraphs",
|
|
776
777
|
},
|
|
778
|
+
"topPadding": 12,
|
|
777
779
|
"type": "text",
|
|
778
780
|
},
|
|
779
781
|
],
|
|
@@ -897,7 +899,7 @@ exports[`migration.util > migrateBrandPageModel should return brand page model w
|
|
|
897
899
|
},
|
|
898
900
|
},
|
|
899
901
|
},
|
|
900
|
-
"v":
|
|
902
|
+
"v": 16,
|
|
901
903
|
},
|
|
902
904
|
"useOldLogoRenderSize": true,
|
|
903
905
|
}
|
|
@@ -1194,6 +1196,7 @@ exports[`migration.util > migrateBrandPageModel should return brand page model w
|
|
|
1194
1196
|
{
|
|
1195
1197
|
"contents": [
|
|
1196
1198
|
{
|
|
1199
|
+
"bottomPadding": 12,
|
|
1197
1200
|
"id": "bec5aca6-e3c5-4d4c-93fa-2894816a8040",
|
|
1198
1201
|
"text": "",
|
|
1199
1202
|
"textColor": {},
|
|
@@ -1224,6 +1227,7 @@ exports[`migration.util > migrateBrandPageModel should return brand page model w
|
|
|
1224
1227
|
"textAlign": "center",
|
|
1225
1228
|
"textStyleType": "paragraphs",
|
|
1226
1229
|
},
|
|
1230
|
+
"topPadding": 12,
|
|
1227
1231
|
"type": "text",
|
|
1228
1232
|
},
|
|
1229
1233
|
],
|
|
@@ -1347,7 +1351,7 @@ exports[`migration.util > migrateBrandPageModel should return brand page model w
|
|
|
1347
1351
|
},
|
|
1348
1352
|
},
|
|
1349
1353
|
},
|
|
1350
|
-
"v":
|
|
1354
|
+
"v": 16,
|
|
1351
1355
|
},
|
|
1352
1356
|
"useOldLogoRenderSize": true,
|
|
1353
1357
|
}
|
|
@@ -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 const contentPaddingStyle = (content: {
|
|
8
|
+
topPadding?: number;
|
|
9
|
+
bottomPadding?: number;
|
|
10
|
+
}): { paddingTop: string; paddingBottom: string } => ({
|
|
11
|
+
paddingTop: `${content.topPadding ?? 0}px`,
|
|
12
|
+
paddingBottom: `${content.bottomPadding ?? 0}px`,
|
|
13
|
+
});
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { MigrationData } from '../migration.util';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Tier 2 Padding Control (BP-5699): blocks that already had hard-coded
|
|
5
|
+
* top/bottom spacing. Backfill that spacing as the block's explicit
|
|
6
|
+
* topPadding/bottomPadding so existing pages render unchanged once the spacing
|
|
7
|
+
* moves to the Padding Control sliders. Type-scoped and idempotent — only the
|
|
8
|
+
* listed types, and only when the value isn't already set.
|
|
9
|
+
*/
|
|
10
|
+
const TIER2_DEFAULT_PADDING: Partial<Record<string, number>> = {
|
|
11
|
+
text: 12,
|
|
12
|
+
'images-section': 32,
|
|
13
|
+
'social-links': 32,
|
|
14
|
+
'shapes-section': 32,
|
|
15
|
+
'booking-section': 32,
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export const migration16 = async (
|
|
19
|
+
migrationResult: MigrationData,
|
|
20
|
+
): Promise<MigrationData> => {
|
|
21
|
+
const { brandPageModel } = migrationResult;
|
|
22
|
+
|
|
23
|
+
brandPageModel.pages.forEach((page) => {
|
|
24
|
+
page.contents.forEach((content) => {
|
|
25
|
+
const value = TIER2_DEFAULT_PADDING[content.type];
|
|
26
|
+
|
|
27
|
+
if (value === undefined) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
if (content.topPadding === undefined) {
|
|
32
|
+
content.topPadding = value;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
if (content.bottomPadding === undefined) {
|
|
36
|
+
content.bottomPadding = value;
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
return migrationResult;
|
|
42
|
+
};
|
|
@@ -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
|
|
|
22
23
|
export interface MigrationData {
|
|
23
24
|
brandPageModel: BrandPageModel;
|
|
@@ -141,6 +142,12 @@ const MIGRATION_TABLE = [
|
|
|
141
142
|
migrateFn: migration15,
|
|
142
143
|
description: 'Adding default mediaOverlayStyle to background styles',
|
|
143
144
|
},
|
|
145
|
+
{
|
|
146
|
+
version: 16,
|
|
147
|
+
migrateFn: migration16,
|
|
148
|
+
description:
|
|
149
|
+
'Tier 2 Padding Control (BP-5699): backfill existing top/bottom spacing as explicit padding for text (12px) and images, social links, shapes and booking (32px)',
|
|
150
|
+
},
|
|
144
151
|
] as MigrationTableItem[];
|
|
145
152
|
|
|
146
153
|
export const GetLatestModelVersion = () =>
|
|
@@ -614,10 +614,11 @@ export const useRichTextEditor = (
|
|
|
614
614
|
globalStyles ?? {},
|
|
615
615
|
);
|
|
616
616
|
|
|
617
|
-
if (
|
|
618
|
-
props.styles &&
|
|
619
|
-
|
|
620
|
-
|
|
617
|
+
if (
|
|
618
|
+
props.styles?.textAlign &&
|
|
619
|
+
currentAlignment?.textAlign !== props.styles.textAlign
|
|
620
|
+
) {
|
|
621
|
+
toggleTextAlign(props.styles.textAlign);
|
|
621
622
|
}
|
|
622
623
|
} else if (props.styles) {
|
|
623
624
|
// copy the content settings styles to the editor
|
|
@@ -643,10 +644,11 @@ export const useRichTextEditor = (
|
|
|
643
644
|
props.styles ?? {},
|
|
644
645
|
);
|
|
645
646
|
|
|
646
|
-
if (
|
|
647
|
-
props.styles &&
|
|
648
|
-
|
|
649
|
-
|
|
647
|
+
if (
|
|
648
|
+
props.styles?.textAlign &&
|
|
649
|
+
currentAlignment?.textAlign !== props.styles.textAlign
|
|
650
|
+
) {
|
|
651
|
+
toggleTextAlign(props.styles.textAlign);
|
|
650
652
|
}
|
|
651
653
|
}
|
|
652
654
|
};
|
|
@@ -201,6 +201,34 @@ const SETTINGS_STYLE_FIElD_GROUPS = (): ContentSettingsFieldGroup[] => {
|
|
|
201
201
|
];
|
|
202
202
|
};
|
|
203
203
|
|
|
204
|
+
/**
|
|
205
|
+
* Shared Top/Bottom padding sliders (BP-5687). Reuses the same `slider` control
|
|
206
|
+
* as the Divider block (track + editable number box), range 0–100, continuous.
|
|
207
|
+
* Spread into a block's `fields` to expose the Padding Control on that block.
|
|
208
|
+
* Pass the Style field-group id for blocks that use grouped panels.
|
|
209
|
+
*/
|
|
210
|
+
const PADDING_CONTROL_FIELDS = (
|
|
211
|
+
groupId?: string,
|
|
212
|
+
): {
|
|
213
|
+
topPadding: ContentSettingsField<Content>;
|
|
214
|
+
bottomPadding: ContentSettingsField<Content>;
|
|
215
|
+
} => ({
|
|
216
|
+
topPadding: {
|
|
217
|
+
type: 'slider',
|
|
218
|
+
title: contentSettingsTr(`topPaddingTitle`),
|
|
219
|
+
minLength: 0,
|
|
220
|
+
maxLength: 100,
|
|
221
|
+
groupId,
|
|
222
|
+
},
|
|
223
|
+
bottomPadding: {
|
|
224
|
+
type: 'slider',
|
|
225
|
+
title: contentSettingsTr(`bottomPaddingTitle`),
|
|
226
|
+
minLength: 0,
|
|
227
|
+
maxLength: 100,
|
|
228
|
+
groupId,
|
|
229
|
+
},
|
|
230
|
+
});
|
|
231
|
+
|
|
204
232
|
const DEFAULT_TITLE_STYLE_SETTINGS_FILED =
|
|
205
233
|
(): ContentSettingsField<Content> => ({
|
|
206
234
|
type: 'text-style',
|
|
@@ -1097,6 +1125,7 @@ export const IMAGE_GALLERY_CONTENT_SETTINGS_CONFIG = (): ContentSettingsConfig<
|
|
|
1097
1125
|
defaultValue: false,
|
|
1098
1126
|
visibilityAssessor: imageGalleryFieldVisibilityAssessor,
|
|
1099
1127
|
},
|
|
1128
|
+
...PADDING_CONTROL_FIELDS(),
|
|
1100
1129
|
},
|
|
1101
1130
|
isEnabled: true,
|
|
1102
1131
|
isLocked: (features) => !features.canAddImageContents,
|
|
@@ -1136,6 +1165,7 @@ export const VIDEO_CONTENT_SETTINGS_CONFIG = (): ContentSettingsConfig<
|
|
|
1136
1165
|
label: contentSettingsTr(`muteLabel`),
|
|
1137
1166
|
valueConvertor: videoContentStateConvertor,
|
|
1138
1167
|
},
|
|
1168
|
+
...PADDING_CONTROL_FIELDS(),
|
|
1139
1169
|
},
|
|
1140
1170
|
isEnabled: true,
|
|
1141
1171
|
isLocked: (features) => !features.canAddVideoContents,
|
|
@@ -1287,6 +1317,7 @@ export const TEXT_CONTENT_SETTINGS_CONFIG = (): ContentSettingsConfig<
|
|
|
1287
1317
|
valueConvertor: backgroundColorConvertor,
|
|
1288
1318
|
groupId: SETTINGS_STYLE_FIELD_GROUP_IDS.style,
|
|
1289
1319
|
},
|
|
1320
|
+
...PADDING_CONTROL_FIELDS(SETTINGS_STYLE_FIELD_GROUP_IDS.style),
|
|
1290
1321
|
},
|
|
1291
1322
|
isEnabled: true,
|
|
1292
1323
|
isLocked: false,
|
|
@@ -1736,6 +1767,7 @@ export const MAP_CONTENT_SETTINGS_CONFIG =
|
|
|
1736
1767
|
type: 'address',
|
|
1737
1768
|
title: contentSettingsTr(`addressTitle`),
|
|
1738
1769
|
},
|
|
1770
|
+
...PADDING_CONTROL_FIELDS(),
|
|
1739
1771
|
},
|
|
1740
1772
|
isEnabled: true,
|
|
1741
1773
|
isLocked: (features) => !features.canAddMapContents,
|
|
@@ -1787,6 +1819,7 @@ export const MAILING_LIST_CONTENT_SETTINGS_CONFIG =
|
|
|
1787
1819
|
},
|
|
1788
1820
|
titleStyle: DEFAULT_TITLE_STYLE_SETTINGS_FILED_WITH_TITLE(),
|
|
1789
1821
|
buttonTextStyle: DEFAULT_BUTTON_TEXT_STYLE_FIELD(),
|
|
1822
|
+
...PADDING_CONTROL_FIELDS(SETTINGS_STYLE_FIELD_GROUP_IDS.style),
|
|
1790
1823
|
},
|
|
1791
1824
|
isEnabled: true,
|
|
1792
1825
|
isLocked: false,
|
|
@@ -1971,6 +2004,7 @@ export const REQUEST_PAYMENT_CONTENT_SETTINGS_CONFIG =
|
|
|
1971
2004
|
defaultValue: {},
|
|
1972
2005
|
label: contentSettingsTr(`buttonTextStyleLabel`),
|
|
1973
2006
|
},
|
|
2007
|
+
...PADDING_CONTROL_FIELDS(REQUEST_PAYMENT_GROUPS.style),
|
|
1974
2008
|
},
|
|
1975
2009
|
isEnabled: (features) => features.canAddRequestPaymentContents,
|
|
1976
2010
|
isLocked: false,
|
|
@@ -2038,6 +2072,7 @@ export const SUPPORT_ME_CONTENT_SETTINGS_CONFIG =
|
|
|
2038
2072
|
label: contentSettingsTr(`itemStyleLabel`),
|
|
2039
2073
|
},
|
|
2040
2074
|
buttonTextStyle: DEFAULT_BUTTON_TEXT_STYLE_FIELD(),
|
|
2075
|
+
...PADDING_CONTROL_FIELDS(SETTINGS_STYLE_FIELD_GROUP_IDS.style),
|
|
2041
2076
|
},
|
|
2042
2077
|
isEnabled: (features) => features.canAddRequestPaymentContents,
|
|
2043
2078
|
isLocked: false,
|
|
@@ -2656,6 +2691,7 @@ export const IMAGES_SECTION_SETTINGS_CONFIG =
|
|
|
2656
2691
|
? MAX_BS_MEDIA_AND_IMAGE_ITEMS
|
|
2657
2692
|
: MAX_BP_MEDIA_AND_IMAGE_ITEMS,
|
|
2658
2693
|
},
|
|
2694
|
+
...PADDING_CONTROL_FIELDS(SETTINGS_STYLE_FIELD_GROUP_IDS.style),
|
|
2659
2695
|
},
|
|
2660
2696
|
isEnabled: true,
|
|
2661
2697
|
isLocked: false,
|
|
@@ -2829,6 +2865,7 @@ export const SOCIAL_LINKS_SETTINGS_CONFIG =
|
|
|
2829
2865
|
title: contentSettingsTr(`backgroundColorTitle`),
|
|
2830
2866
|
valueConvertor: backgroundColorConvertor,
|
|
2831
2867
|
},
|
|
2868
|
+
...PADDING_CONTROL_FIELDS(SOCIAL_LINKS_GROUPS.style),
|
|
2832
2869
|
},
|
|
2833
2870
|
isEnabled: true,
|
|
2834
2871
|
isLocked: false,
|
|
@@ -2942,6 +2979,7 @@ export const SHAPES_SECTION_SETTINGS_CONFIG =
|
|
|
2942
2979
|
? MAX_BS_MEDIA_AND_IMAGE_ITEMS
|
|
2943
2980
|
: MAX_BP_MEDIA_AND_IMAGE_ITEMS,
|
|
2944
2981
|
},
|
|
2982
|
+
...PADDING_CONTROL_FIELDS(SETTINGS_STYLE_FIELD_GROUP_IDS.style),
|
|
2945
2983
|
},
|
|
2946
2984
|
isEnabled: true,
|
|
2947
2985
|
isLocked: false,
|
|
@@ -3202,6 +3240,7 @@ export const BOOKING_SECTION_SETTINGS_CONFIG =
|
|
|
3202
3240
|
validator: urlValidator,
|
|
3203
3241
|
defaultValue: '',
|
|
3204
3242
|
},
|
|
3243
|
+
...PADDING_CONTROL_FIELDS(SETTINGS_STYLE_FIELD_GROUP_IDS.style),
|
|
3205
3244
|
},
|
|
3206
3245
|
isEnabled: true,
|
|
3207
3246
|
isLocked: false,
|
|
@@ -171,6 +171,8 @@ export const createInitialImageGalleryContent = (): ImageGalleryContent => {
|
|
|
171
171
|
galleryStyles: {
|
|
172
172
|
galleryType: 'grid',
|
|
173
173
|
},
|
|
174
|
+
topPadding: 0,
|
|
175
|
+
bottomPadding: 0,
|
|
174
176
|
};
|
|
175
177
|
};
|
|
176
178
|
|
|
@@ -182,6 +184,8 @@ export const createInitialVideoContent = (): VideoContent => {
|
|
|
182
184
|
displayStyle: DISPLAY_STYLE_PREVIEW,
|
|
183
185
|
mute: false,
|
|
184
186
|
videoUrl: '',
|
|
187
|
+
topPadding: 0,
|
|
188
|
+
bottomPadding: 0,
|
|
185
189
|
};
|
|
186
190
|
};
|
|
187
191
|
|
|
@@ -239,6 +243,8 @@ export const createInitialTextContent = (
|
|
|
239
243
|
]
|
|
240
244
|
: undefined,
|
|
241
245
|
type: 'text',
|
|
246
|
+
topPadding: 12,
|
|
247
|
+
bottomPadding: 12,
|
|
242
248
|
textSize: {
|
|
243
249
|
fontSize: FONT_SIZE_BODY,
|
|
244
250
|
lineHeight: LINE_HEIGHT_BODY,
|
|
@@ -282,6 +288,8 @@ export const createInitialMapContent = (): MapContent => {
|
|
|
282
288
|
formattedAddress: '',
|
|
283
289
|
placeId: '',
|
|
284
290
|
},
|
|
291
|
+
topPadding: 0,
|
|
292
|
+
bottomPadding: 0,
|
|
285
293
|
};
|
|
286
294
|
};
|
|
287
295
|
|
|
@@ -291,6 +299,8 @@ export const createInitialMailingListContent = (
|
|
|
291
299
|
return {
|
|
292
300
|
id: uuid.v4(),
|
|
293
301
|
type: 'mailing-list',
|
|
302
|
+
topPadding: 0,
|
|
303
|
+
bottomPadding: 0,
|
|
294
304
|
title: contentSettingsTr(`mailingListTitle`),
|
|
295
305
|
buttonText: contentSettingsTr(`subscribePlaceholder`),
|
|
296
306
|
acceptedFields: 'emailOnly',
|
|
@@ -324,6 +334,8 @@ export const createInitialRequestPaymentContent = (
|
|
|
324
334
|
successMessage: '',
|
|
325
335
|
title: contentSettingsTr(`buyNowTitle`),
|
|
326
336
|
type: 'request-payment',
|
|
337
|
+
topPadding: 0,
|
|
338
|
+
bottomPadding: 0,
|
|
327
339
|
fillColor: {},
|
|
328
340
|
defaultBorderColor: {},
|
|
329
341
|
selectedBorderColor: {},
|
|
@@ -415,6 +427,8 @@ export const createInitialSupportMeContent = (
|
|
|
415
427
|
successMessage: contentSettingsTr(`successSupportPlaceholder`),
|
|
416
428
|
description: contentSettingsTr(`makeADonationDescription`),
|
|
417
429
|
type: 'support-me',
|
|
430
|
+
topPadding: 0,
|
|
431
|
+
bottomPadding: 0,
|
|
418
432
|
titleStyle: {
|
|
419
433
|
applyAutoScale: options?.brandPageType === BRAND_PAGE_TYPES.brandSite,
|
|
420
434
|
textStyleType: TEXT_STYLE_TYPES.headings,
|
|
@@ -599,6 +613,8 @@ export const createInitialBookingSectionContent: CreateInitialContentFunction<
|
|
|
599
613
|
buttonText: contentSettingsTr(`bookNowLabel`),
|
|
600
614
|
url: '',
|
|
601
615
|
type: 'booking-section',
|
|
616
|
+
topPadding: 32,
|
|
617
|
+
bottomPadding: 32,
|
|
602
618
|
descriptionStyle: {
|
|
603
619
|
applyAutoScale: options?.brandPageType === BRAND_PAGE_TYPES.brandSite,
|
|
604
620
|
textStyleType: TEXT_STYLE_TYPES.paragraphs,
|
|
@@ -628,6 +644,8 @@ export const createInitialImagesSectionContent: CreateInitialContentFunction<
|
|
|
628
644
|
title: contentSettingsTr(`imagesTitle`),
|
|
629
645
|
description: '',
|
|
630
646
|
type: 'images-section',
|
|
647
|
+
topPadding: 32,
|
|
648
|
+
bottomPadding: 32,
|
|
631
649
|
displayStyle: 'centered',
|
|
632
650
|
aspectRatio: 'Default',
|
|
633
651
|
areImagesFullWidth: false,
|
|
@@ -793,6 +811,8 @@ export const createInitialSocialLinksContent = (
|
|
|
793
811
|
return {
|
|
794
812
|
id: uuid.v4(),
|
|
795
813
|
type: 'social-links',
|
|
814
|
+
topPadding: 32,
|
|
815
|
+
bottomPadding: 32,
|
|
796
816
|
title: contentSettingsTr(`followUsOnTitle`),
|
|
797
817
|
links: [
|
|
798
818
|
{
|
|
@@ -846,6 +866,8 @@ export const createInitialShapesSectionContent: CreateInitialContentFunction<
|
|
|
846
866
|
title: contentSettingsTr(`shapesTitle`),
|
|
847
867
|
description: '',
|
|
848
868
|
type: 'shapes-section',
|
|
869
|
+
topPadding: 32,
|
|
870
|
+
bottomPadding: 32,
|
|
849
871
|
displayStyle: 'centered',
|
|
850
872
|
items: [
|
|
851
873
|
{
|
|
@@ -1544,6 +1544,8 @@
|
|
|
1544
1544
|
"iconFillColorTitle": "Icon fill color",
|
|
1545
1545
|
"iconBackgroundColorTitle": "Icon background color",
|
|
1546
1546
|
"paddingTitle": "Padding",
|
|
1547
|
+
"topPaddingTitle": "Top padding",
|
|
1548
|
+
"bottomPaddingTitle": "Bottom padding",
|
|
1547
1549
|
"dividerStyleTitle": "Divider Style",
|
|
1548
1550
|
"dividerColorTitle": "Divider color",
|
|
1549
1551
|
"addItemTitle": "Add Item",
|
|
@@ -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",
|
|
@@ -74,7 +74,17 @@ const includeString = (value: unknown): string | undefined => {
|
|
|
74
74
|
};
|
|
75
75
|
|
|
76
76
|
const minifyContent = (content: Content): MinifiedContent => {
|
|
77
|
-
const base: MinifiedContent = {
|
|
77
|
+
const base: MinifiedContent = {
|
|
78
|
+
id: content.id,
|
|
79
|
+
type: content.type,
|
|
80
|
+
// Padding Control (BP-5687) — shared across every block, persist when set.
|
|
81
|
+
...(typeof content.topPadding === 'number' && {
|
|
82
|
+
topPadding: content.topPadding,
|
|
83
|
+
}),
|
|
84
|
+
...(typeof content.bottomPadding === 'number' && {
|
|
85
|
+
bottomPadding: content.bottomPadding,
|
|
86
|
+
}),
|
|
87
|
+
};
|
|
78
88
|
const c = content as any;
|
|
79
89
|
|
|
80
90
|
if (BUTTON_TYPES.includes(content.type)) {
|