@designcrowd/library.brand-page 5.12.14 → 5.12.15

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 (101) hide show
  1. package/lib/src/{CreatedOnBrandCrowd-de-de-CLvcrjGD.js → CreatedOnBrandCrowd-de-de-CZd7RKCS.js} +1 -1
  2. package/lib/src/{CreatedOnBrandCrowd-en-us-IAccZs5I.js → CreatedOnBrandCrowd-en-us-DgUw_Gmk.js} +1 -1
  3. package/lib/src/{CreatedOnBrandCrowd-es-es-DiT9Jb5Q.js → CreatedOnBrandCrowd-es-es-qmEj0qtS.js} +1 -1
  4. package/lib/src/{CreatedOnBrandCrowd-fr-fr-C-ZE-8xH.js → CreatedOnBrandCrowd-fr-fr-WSAFNEbH.js} +1 -1
  5. package/lib/src/{CreatedOnBrandCrowd-pt-pt-BmzMx788.js → CreatedOnBrandCrowd-pt-pt-QQsa4zfN.js} +1 -1
  6. package/lib/src/{CreatedOnDcom-de-de-CknEXPtF.js → CreatedOnDcom-de-de-Dgmk8ib6.js} +1 -1
  7. package/lib/src/{CreatedOnDcom-en-us-CNuaCmwO.js → CreatedOnDcom-en-us-u6DK8Fzd.js} +1 -1
  8. package/lib/src/{CreatedOnDcom-es-es-xQmDcCxZ.js → CreatedOnDcom-es-es-CyOJpVzh.js} +1 -1
  9. package/lib/src/{CreatedOnDcom-fr-fr-Ig9ufuyT.js → CreatedOnDcom-fr-fr-CWzC5FlL.js} +1 -1
  10. package/lib/src/{CreatedOnDcom-pt-pt-BcpCcEx4.js → CreatedOnDcom-pt-pt-DVigHaTn.js} +1 -1
  11. package/lib/src/brand-page/components/icon/Icon.mixin.d.ts +1 -1
  12. package/lib/src/brand-page/components/icon/Icon.mixin.js +2 -2
  13. package/lib/src/brand-page/models/content.model.d.ts +1 -1
  14. package/lib/src/brand-page/models/content.model.js +1 -1
  15. package/lib/src/brand-page/models/index.d.ts +7 -13
  16. package/lib/src/brand-page/models/index.js +2 -2
  17. package/lib/src/brand-page/utils/button.util.d.ts +7 -0
  18. package/lib/src/brand-page/utils/button.util.js +29 -0
  19. package/lib/src/brand-page/utils/content-callback-util.js +1 -1
  20. package/lib/src/brand-page/utils/model.util.js +1 -1
  21. package/lib/src/brand-page/utils/style.util.js +7 -1
  22. package/lib/src/brand-page/utils/view-model.util.js +18 -21
  23. package/lib/src/brand-page-maker/components/admin-logo-settings/AdminLogoSettings.mixin.d.ts +2 -2
  24. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.d.ts +18 -18
  25. package/lib/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-examples.js +2 -0
  26. package/lib/src/brand-page-maker/components/brand-page-maker/__fixtures__/content-settings-items.fixture.d.ts +2 -2
  27. package/lib/src/brand-page-maker/components/brand-page-maker/__fixtures__/content-settings-items.fixture.js +4 -4
  28. package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +20 -20
  29. package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.js +2 -0
  30. package/lib/src/brand-page-maker/components/seo-settings/SeoPageSettings.mixin.d.ts +1 -1
  31. package/lib/src/brand-page-maker/constants/config-settings-constant.d.ts +4 -2
  32. package/lib/src/brand-page-maker/constants/config-settings-constant.js +24 -5
  33. package/lib/src/brand-page-maker/constants/personalisation.constant.js +1 -1
  34. package/lib/src/brand-page-maker/models/content-settings.js +20 -2
  35. package/lib/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.js +0 -1
  36. package/lib/src/brand-page-maker/utils/rich-text-editor.util.js +80 -0
  37. package/lib/src/{bundled-translations-5b693qBQ.js → bundled-translations-DEYhoqLM.js} +10 -10
  38. package/lib/src/{bundled-translations.de-DE-Baq37kiT.js → bundled-translations.de-DE-B3NNo7JX.js} +22 -22
  39. package/lib/src/{bundled-translations.es-ES-BZB7Rc2f.js → bundled-translations.es-ES-_4IspVbp.js} +7 -7
  40. package/lib/src/{bundled-translations.fr-FR-QQJaBYEl.js → bundled-translations.fr-FR-9CdErV_a.js} +5 -5
  41. package/lib/src/{bundled-translations.pt-PT-DXFlBwc9.js → bundled-translations.pt-PT-BSmtPIMr.js} +12 -12
  42. package/lib/src/bundles/bundled-translations.de-DE.json +9 -8
  43. package/lib/src/bundles/bundled-translations.es-ES.json +10 -9
  44. package/lib/src/bundles/bundled-translations.fr-FR.json +3 -2
  45. package/lib/src/bundles/bundled-translations.json +2 -1
  46. package/lib/src/bundles/bundled-translations.pt-PT.json +14 -13
  47. package/lib/src/css/library.brand-page-brandCrowd.min.css +17 -17
  48. package/lib/src/css/library.brand-page-brandPage.min.css +17 -17
  49. package/lib/src/css/library.brand-page-designCom.min.css +17 -17
  50. package/lib/src/css/library.brand-page-preview.min.css +17 -17
  51. package/lib/src/index.mjs +67 -65
  52. package/lib/src/{lib-BxhpFccU.js → lib--oa9Rosp.js} +17834 -17682
  53. package/lib/src/plugins/bundle-translations-plugin/bundle-translations-plugin.js +2 -4
  54. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts +20 -20
  55. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.js +2 -0
  56. package/lib/src/shared/content-settings/components/content-settings/ReplaceImageSettingsForContent.mixin.d.ts +21 -21
  57. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.d.ts +20 -20
  58. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.d.ts +18 -18
  59. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.js +7 -1
  60. package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.d.ts +18 -18
  61. package/lib/src/shared/content-settings/store/content-settings-store.d.ts +18 -18
  62. package/lib/src/shared/page-settings/components/delete-page-modal/DeletePageModal.mixin.d.ts +1 -1
  63. package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +22 -22
  64. package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +20 -20
  65. package/package.json +1 -1
  66. package/src/brand-page/components/icon/Icon.mixin.ts +2 -2
  67. package/src/brand-page/components/icon/Icon.vue +1 -1
  68. package/src/brand-page/components/text-media-section/TextMediaSection.vue +14 -0
  69. package/src/brand-page/models/content.model.ts +1 -1
  70. package/src/brand-page/models/index.ts +9 -15
  71. package/src/brand-page/utils/__snapshots__/migration.util.test.ts.snap +12 -12
  72. package/src/brand-page/utils/__snapshots__/migration2.util.test.ts.snap +4 -4
  73. package/src/brand-page/utils/__snapshots__/model.util.test.ts.snap +8 -8
  74. package/src/brand-page/utils/button.util.ts +39 -0
  75. package/src/brand-page/utils/content-callback-util.ts +1 -1
  76. package/src/brand-page/utils/model.util.ts +1 -1
  77. package/src/brand-page/utils/style.util.ts +7 -1
  78. package/src/brand-page/utils/view-model.util.ts +21 -30
  79. package/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-examples.ts +2 -0
  80. package/src/brand-page-maker/components/brand-page-maker/__fixtures__/content-settings-items.fixture.ts +6 -6
  81. package/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.ts +2 -0
  82. package/src/brand-page-maker/constants/config-settings-constant.ts +38 -7
  83. package/src/brand-page-maker/constants/personalisation.constant.ts +1 -1
  84. package/src/brand-page-maker/models/content-settings.ts +20 -2
  85. package/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.ts +0 -2
  86. package/src/brand-page-maker/stores/brandpage-maker/__snapshots__/brandpage-maker-store.test.ts.snap +1 -1
  87. package/src/brand-page-maker/utils/rich-text-editor.util.ts +156 -0
  88. package/src/bundles/bundled-translations.de-DE.json +9 -8
  89. package/src/bundles/bundled-translations.es-ES.json +10 -9
  90. package/src/bundles/bundled-translations.fr-FR.json +3 -2
  91. package/src/bundles/bundled-translations.json +2 -1
  92. package/src/bundles/bundled-translations.pt-PT.json +14 -13
  93. package/src/plugins/bundle-translations-plugin/bundle-translations-plugin.ts +3 -6
  94. package/src/shared/content-settings/components/content-settings/ContentSettings.mixin.ts +2 -0
  95. package/src/shared/content-settings/components/content-settings/i18n/content-settings.de-DE.json +9 -8
  96. package/src/shared/content-settings/components/content-settings/i18n/content-settings.es-ES.json +10 -9
  97. package/src/shared/content-settings/components/content-settings/i18n/content-settings.fr-FR.json +3 -2
  98. package/src/shared/content-settings/components/content-settings/i18n/content-settings.json +2 -1
  99. package/src/shared/content-settings/components/content-settings/i18n/content-settings.pt-PT.json +14 -13
  100. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.ts +7 -1
  101. /package/src/brand-page/components/icon/icons/{Twitter.vue → X.vue} +0 -0
@@ -58,9 +58,9 @@ BrandPageModel {
58
58
  "height": 0,
59
59
  "imageLink": "",
60
60
  "imageTitle": "",
61
- "imageUrl": "twitter",
61
+ "imageUrl": "x",
62
62
  "mediaType": "image",
63
- "url": "https://www.twitter.com",
63
+ "url": "https://www.x.com",
64
64
  "width": 0,
65
65
  },
66
66
  ],
@@ -113,9 +113,9 @@ BrandPageModel {
113
113
  "height": 0,
114
114
  "imageLink": "",
115
115
  "imageTitle": "",
116
- "imageUrl": "twitter",
116
+ "imageUrl": "x",
117
117
  "mediaType": "image",
118
- "url": "https://www.twitter.com",
118
+ "url": "https://www.x.com",
119
119
  "width": 0,
120
120
  },
121
121
  ],
@@ -488,9 +488,9 @@ BrandPageModel {
488
488
  "height": 0,
489
489
  "imageLink": "",
490
490
  "imageTitle": "",
491
- "imageUrl": "twitter",
491
+ "imageUrl": "x",
492
492
  "mediaType": "image",
493
- "url": "https://www.twitter.com",
493
+ "url": "https://www.x.com",
494
494
  "width": 0,
495
495
  },
496
496
  ],
@@ -543,9 +543,9 @@ BrandPageModel {
543
543
  "height": 0,
544
544
  "imageLink": "",
545
545
  "imageTitle": "",
546
- "imageUrl": "twitter",
546
+ "imageUrl": "x",
547
547
  "mediaType": "image",
548
- "url": "https://www.twitter.com",
548
+ "url": "https://www.x.com",
549
549
  "width": 0,
550
550
  },
551
551
  ],
@@ -901,9 +901,9 @@ BrandPageModel {
901
901
  "height": 0,
902
902
  "imageLink": "",
903
903
  "imageTitle": "",
904
- "imageUrl": "twitter",
904
+ "imageUrl": "x",
905
905
  "mediaType": "image",
906
- "url": "https://www.twitter.com",
906
+ "url": "https://www.x.com",
907
907
  "width": 0,
908
908
  },
909
909
  ],
@@ -956,9 +956,9 @@ BrandPageModel {
956
956
  "height": 0,
957
957
  "imageLink": "",
958
958
  "imageTitle": "",
959
- "imageUrl": "twitter",
959
+ "imageUrl": "x",
960
960
  "mediaType": "image",
961
- "url": "https://www.twitter.com",
961
+ "url": "https://www.x.com",
962
962
  "width": 0,
963
963
  },
964
964
  ],
@@ -59,9 +59,9 @@ BrandPageModel {
59
59
  "height": 0,
60
60
  "imageLink": "",
61
61
  "imageTitle": "",
62
- "imageUrl": "twitter",
62
+ "imageUrl": "x",
63
63
  "mediaType": "image",
64
- "url": "https://www.twitter.com",
64
+ "url": "https://www.x.com",
65
65
  "width": 0,
66
66
  },
67
67
  ],
@@ -115,9 +115,9 @@ BrandPageModel {
115
115
  "height": 0,
116
116
  "imageLink": "",
117
117
  "imageTitle": "",
118
- "imageUrl": "twitter",
118
+ "imageUrl": "x",
119
119
  "mediaType": "image",
120
- "url": "https://www.twitter.com",
120
+ "url": "https://www.x.com",
121
121
  "width": 0,
122
122
  },
123
123
  ],
@@ -59,9 +59,9 @@ BrandPageModel {
59
59
  "height": 0,
60
60
  "imageLink": "",
61
61
  "imageTitle": "",
62
- "imageUrl": "twitter",
62
+ "imageUrl": "x",
63
63
  "mediaType": "image",
64
- "url": "https://www.twitter.com",
64
+ "url": "https://www.x.com",
65
65
  "width": 0,
66
66
  },
67
67
  ],
@@ -115,9 +115,9 @@ BrandPageModel {
115
115
  "height": 0,
116
116
  "imageLink": "",
117
117
  "imageTitle": "",
118
- "imageUrl": "twitter",
118
+ "imageUrl": "x",
119
119
  "mediaType": "image",
120
- "url": "https://www.twitter.com",
120
+ "url": "https://www.x.com",
121
121
  "width": 0,
122
122
  },
123
123
  ],
@@ -499,9 +499,9 @@ BrandPageModel {
499
499
  "height": 0,
500
500
  "imageLink": "",
501
501
  "imageTitle": "",
502
- "imageUrl": "twitter",
502
+ "imageUrl": "x",
503
503
  "mediaType": "image",
504
- "url": "https://www.twitter.com",
504
+ "url": "https://www.x.com",
505
505
  "width": 0,
506
506
  },
507
507
  ],
@@ -555,9 +555,9 @@ BrandPageModel {
555
555
  "height": 0,
556
556
  "imageLink": "",
557
557
  "imageTitle": "",
558
- "imageUrl": "twitter",
558
+ "imageUrl": "x",
559
559
  "mediaType": "image",
560
- "url": "https://www.twitter.com",
560
+ "url": "https://www.x.com",
561
561
  "width": 0,
562
562
  },
563
563
  ],
@@ -0,0 +1,39 @@
1
+ import type { ButtonStyles } from '../models';
2
+ import { isHexColor } from '../../utils/helpers';
3
+ import { setRgbAlpha } from './color.util';
4
+ import {
5
+ ButtonSoftBoxShadowSize,
6
+ ButtonBoxShadowSize,
7
+ BoxShadowSpread,
8
+ } from '../constants';
9
+
10
+ /**
11
+ * Calculates the box shadow value for button styles based on the button style configuration
12
+ * @param buttonStyles - The button styles configuration
13
+ * @returns The calculated box shadow CSS value
14
+ */
15
+ export const getBoxShadowValue = (buttonStyles: ButtonStyles): string => {
16
+ let boxShadowValue = '';
17
+
18
+ if (buttonStyles.style.boxShadow) {
19
+ if (isHexColor(buttonStyles.style.boxShadow)) {
20
+ if (
21
+ buttonStyles.selectedButtonStyleId === 'BUTTON_STYLE_16' ||
22
+ buttonStyles.selectedButtonStyleId === 'BUTTON_STYLE_17' ||
23
+ buttonStyles.selectedButtonStyleId === 'BUTTON_STYLE_18'
24
+ ) {
25
+ const rgba = setRgbAlpha(buttonStyles.style.boxShadow, BoxShadowSpread);
26
+
27
+ boxShadowValue = `${ButtonSoftBoxShadowSize} ${rgba}`;
28
+ } else {
29
+ const rgba = setRgbAlpha(buttonStyles.style.boxShadow, BoxShadowSpread);
30
+
31
+ boxShadowValue = `${ButtonBoxShadowSize} ${rgba}`;
32
+ }
33
+ } else {
34
+ boxShadowValue = buttonStyles.style.boxShadow;
35
+ }
36
+ }
37
+
38
+ return boxShadowValue;
39
+ };
@@ -110,7 +110,7 @@ export const forEachPageCallContentCallback = (
110
110
  case 'linkedin':
111
111
  case 'tiktok':
112
112
  case 'twitch':
113
- case 'twitter':
113
+ case 'x':
114
114
  case 'pinterest':
115
115
  case 'youtube':
116
116
  callbacks.buttonContentCallback(content as ButtonContent);
@@ -73,7 +73,7 @@ export const isButtonContent = (
73
73
  content?.type === 'website' ||
74
74
  content?.type === 'email' ||
75
75
  content?.type === 'phone' ||
76
- content?.type === 'twitter' ||
76
+ content?.type === 'x' ||
77
77
  content?.type === 'instagram' ||
78
78
  content?.type === 'youtube' ||
79
79
  content?.type === 'linkedin' ||
@@ -372,7 +372,13 @@ const CONTENT_STYLE_PROP_NAME_SUFFIX = [
372
372
  'Replacements',
373
373
  ];
374
374
 
375
- const RTE_ALLOWED_SECTION_TYPES = ['text', 'banner-section', 'booking-section'];
375
+ const RTE_ALLOWED_SECTION_TYPES = [
376
+ 'text',
377
+ 'banner-section',
378
+ 'booking-section',
379
+ 'images-section',
380
+ 'shapes-section',
381
+ ];
376
382
  const RTE_ALLOWED_FIELDS = ['title', 'description', 'text', 'textItems'];
377
383
 
378
384
  export const applyLogoThemeToContents = (
@@ -106,6 +106,7 @@ import uniq from 'lodash/uniq';
106
106
  import { generateGoogleFontUrl } from './font-loader.util';
107
107
  import { isValidSvgUrl } from './image.util';
108
108
  import { isLogoContent } from './model.util';
109
+ import { getBoxShadowValue } from './button.util';
109
110
 
110
111
  const BUTTON_BORDER_RADIUS = '9999px';
111
112
  const CONTENT_BORDER_RADIUS = '48px';
@@ -381,33 +382,7 @@ const mapToButtonViewModel = (
381
382
  styles: PageStyles,
382
383
  options: { titleStyle: TextStyleDeclaration },
383
384
  ): ButtonViewModel => {
384
- let boxShadowValue = '';
385
-
386
- if (styles.buttonStyles.style.boxShadow) {
387
- if (isHexColor(styles.buttonStyles.style.boxShadow)) {
388
- if (
389
- styles.buttonStyles.selectedButtonStyleId === 'BUTTON_STYLE_16' ||
390
- styles.buttonStyles.selectedButtonStyleId === 'BUTTON_STYLE_17' ||
391
- styles.buttonStyles.selectedButtonStyleId === 'BUTTON_STYLE_18'
392
- ) {
393
- const rgba = setRgbAlpha(
394
- styles.buttonStyles.style.boxShadow,
395
- BoxShadowSpread,
396
- );
397
-
398
- boxShadowValue = `${ButtonSoftBoxShadowSize} ${rgba}`;
399
- } else {
400
- const rgba = setRgbAlpha(
401
- styles.buttonStyles.style.boxShadow,
402
- BoxShadowSpread,
403
- );
404
-
405
- boxShadowValue = `${ButtonBoxShadowSize} ${rgba}`;
406
- }
407
- } else {
408
- boxShadowValue = styles.buttonStyles.style.boxShadow;
409
- }
410
- }
385
+ const boxShadowValue = getBoxShadowValue(styles.buttonStyles);
411
386
 
412
387
  const buttonStyles: ButtonStyles = {
413
388
  iconStyle: styles.buttonStyles.iconStyle,
@@ -549,9 +524,14 @@ const mapToMailingListViewModel = (
549
524
  content: MailingListContent,
550
525
  styles: PageStyles,
551
526
  ): MailingListViewModel => {
527
+ const boxShadowValue = getBoxShadowValue(styles.buttonStyles);
528
+
552
529
  const buttonStyles: ButtonStyles = {
553
530
  iconStyle: styles.buttonStyles.iconStyle,
554
- style: styles.buttonStyles.style,
531
+ style: {
532
+ ...styles.buttonStyles.style,
533
+ boxShadow: boxShadowValue,
534
+ },
555
535
  selectedButtonStyleId: styles.buttonStyles.selectedButtonStyleId,
556
536
  };
557
537
 
@@ -636,12 +616,23 @@ const mapToContactFormViewModel = (
636
616
  styles: PageStyles,
637
617
  brandPageType: BrandPageType,
638
618
  ): ContactFormViewModel => {
619
+ const boxShadowValue = getBoxShadowValue(styles.buttonStyles);
620
+
621
+ const buttonStyles: ButtonStyles = {
622
+ iconStyle: styles.buttonStyles.iconStyle,
623
+ style: {
624
+ ...styles.buttonStyles.style,
625
+ boxShadow: boxShadowValue,
626
+ },
627
+ selectedButtonStyleId: styles.buttonStyles.selectedButtonStyleId,
628
+ };
629
+
639
630
  return applyViewModelTextStyles(
640
631
  {
641
632
  ...content,
642
633
  role: content.type,
643
634
  type: 'contact-form',
644
- buttonStyles: styles.buttonStyles,
635
+ buttonStyles: buttonStyles,
645
636
  buttonTextStyle: {
646
637
  ...content.buttonTextStyle,
647
638
  },
@@ -1129,7 +1120,7 @@ export const mapToViewModel =
1129
1120
  case 'website':
1130
1121
  case 'phone':
1131
1122
  case 'facebook':
1132
- case 'twitter':
1123
+ case 'x':
1133
1124
  case 'instagram':
1134
1125
  case 'youtube':
1135
1126
  case 'linkedin':
@@ -1215,6 +1215,7 @@ export const BRAND_PAGE_PERSONALISED: BrandPageData = {
1215
1215
  {
1216
1216
  id: uuid(),
1217
1217
  title: 'Shapes',
1218
+ description: '',
1218
1219
  type: 'shapes-section',
1219
1220
  displayStyle: 'centered',
1220
1221
  items: [
@@ -1237,6 +1238,7 @@ export const BRAND_PAGE_PERSONALISED: BrandPageData = {
1237
1238
  cardStyle: {},
1238
1239
  size: '4rem',
1239
1240
  titleStyle: {},
1241
+ descriptionStyle: {},
1240
1242
  paragraphStyle: {},
1241
1243
  headingStyle: {},
1242
1244
  personalisationRole: 'media',
@@ -7,7 +7,7 @@ import type {
7
7
  EmailContent,
8
8
  PhoneContent,
9
9
  FacebookContent,
10
- TwitterContent,
10
+ XContent,
11
11
  InstagramContent,
12
12
  YoutubeContent,
13
13
  LinkedInContent,
@@ -135,12 +135,12 @@ export const facebookLink: FacebookContent = {
135
135
  },
136
136
  };
137
137
 
138
- export const twitterLink: TwitterContent = {
138
+ export const twitterLink: XContent = {
139
139
  id: faker.string.uuid(),
140
- iconUrl: 'twitter',
141
- title: 'Twitter',
142
- url: 'https://www.twitter.com',
143
- type: 'twitter',
140
+ iconUrl: 'x',
141
+ title: 'X',
142
+ url: 'https://www.x.com',
143
+ type: 'x',
144
144
  colorReplacements: [],
145
145
  titleStyle: {
146
146
  textAlign: DEFAULT_TEXT_ALIGN,
@@ -285,6 +285,8 @@ export default defineComponent({
285
285
  if (
286
286
  (item.type === 'banner-section' ||
287
287
  item.type === 'booking-section' ||
288
+ item.type === 'images-section' ||
289
+ item.type === 'shapes-section' ||
288
290
  item.type === 'text') &&
289
291
  this.canUseRichTextEditor
290
292
  ) {
@@ -12,7 +12,7 @@ import type {
12
12
  TextContent,
13
13
  TiktokContent,
14
14
  TwitchContent,
15
- TwitterContent,
15
+ XContent,
16
16
  VideoContent,
17
17
  WebsiteContent,
18
18
  YoutubeContent,
@@ -613,6 +613,8 @@ const textImageReplaceImageSettings =
613
613
  width: value.width!,
614
614
  imageLink: '',
615
615
  itemsId: -1,
616
+ colorReplacements: [],
617
+ mediaType: MEDIA_TYPES.image,
616
618
  });
617
619
 
618
620
  return;
@@ -1319,14 +1321,14 @@ export const FACEBOOK_CONTENT_SETTINGS_CONFIG =
1319
1321
  isLocked: false,
1320
1322
  });
1321
1323
 
1322
- export const TWITTER_CONTENT_SETTINGS_CONFIG =
1323
- (): ContentSettingsConfig<TwitterContent> => ({
1324
- type: 'twitter',
1324
+ export const X_CONTENT_SETTINGS_CONFIG =
1325
+ (): ContentSettingsConfig<XContent> => ({
1326
+ type: 'x',
1325
1327
  brandPageType: [BRAND_PAGE_TYPES.default, BRAND_PAGE_TYPES.brandContact],
1326
1328
  category: 'social-links',
1327
1329
  displayMode: CONTENT_SETTINGS_DISPLAY_MODES.focused,
1328
1330
  createInitialContent: (options?: CreateInitialContentOptions) =>
1329
- createInitialButtonContent('twitter', 'twitter', options)(),
1331
+ createInitialButtonContent('x', 'x', options)(),
1330
1332
  displayName: contentSettingsTr(`twitterDisplayName`),
1331
1333
  defaultIconName: 'maker-twitter',
1332
1334
  fieldGroups: SETTINGS_STYLE_FIElD_GROUPS(),
@@ -1357,7 +1359,7 @@ export const TWITTER_CONTENT_SETTINGS_CONFIG =
1357
1359
  url: {
1358
1360
  type: 'url',
1359
1361
  role: 'url',
1360
- placeholder: 'https://twitter.com',
1362
+ placeholder: 'https://x.com',
1361
1363
  title: contentSettingsTr(`urlTitle`),
1362
1364
  groupId: SETTINGS_STYLE_FIELD_GROUP_IDS.settings,
1363
1365
  },
@@ -2351,6 +2353,19 @@ export const TEXT_MEDIA_TITLE_FIELD = ():
2351
2353
  maxLength: 200,
2352
2354
  });
2353
2355
 
2356
+ export const TEXT_MEDIA_DESCRIPTION_FIELD = ():
2357
+ | ContentSettingsField<ImagesSectionContent | ShapesSectionContent>
2358
+ | ContentSettingsMultiField<
2359
+ ImagesSectionContent | ShapesSectionContent,
2360
+ string
2361
+ > => ({
2362
+ type: 'textarea',
2363
+ placeholder: contentSettingsTr(`descriptionPlaceholder`),
2364
+ title: contentSettingsTr(`descriptionTitle`),
2365
+ groupId: SETTINGS_STYLE_FIELD_GROUP_IDS.settings,
2366
+ maxLength: 1000,
2367
+ });
2368
+
2354
2369
  export const TEXT_MEDIA_BACKGROUND_FIELD = ():
2355
2370
  | ContentSettingsField<ImagesSectionContent | ShapesSectionContent>
2356
2371
  | ContentSettingsMultiField<
@@ -2379,6 +2394,18 @@ export const TEXT_MEDIA_TITLE_STYLE_FIELD = ():
2379
2394
  title: contentSettingsTr(`fontSettingsTitle`),
2380
2395
  });
2381
2396
 
2397
+ export const TEXT_MEDIA_DESCRIPTION_STYLE_FIELD = ():
2398
+ | ContentSettingsField<ImagesSectionContent | ShapesSectionContent>
2399
+ | ContentSettingsMultiField<
2400
+ ImagesSectionContent | ShapesSectionContent,
2401
+ BrandPageCssStyle
2402
+ > => ({
2403
+ type: 'text-style',
2404
+ defaultValue: {},
2405
+ groupId: SETTINGS_STYLE_FIELD_GROUP_IDS.style,
2406
+ label: contentSettingsTr(`descriptionStyleLabel`),
2407
+ });
2408
+
2382
2409
  export const TEXT_MEDIA_HEADING_STYLE_FIELD = ():
2383
2410
  | ContentSettingsField<ImagesSectionContent | ShapesSectionContent>
2384
2411
  | ContentSettingsMultiField<
@@ -2549,6 +2576,7 @@ export const IMAGES_SECTION_SETTINGS_CONFIG =
2549
2576
  groupId: SETTINGS_STYLE_FIELD_GROUP_IDS.style,
2550
2577
  },
2551
2578
  title: TEXT_MEDIA_TITLE_FIELD(),
2579
+ description: TEXT_MEDIA_DESCRIPTION_FIELD(),
2552
2580
  titleOverride: {
2553
2581
  type: 'personalisation-override',
2554
2582
  groupId: SETTINGS_STYLE_FIELD_GROUP_IDS.settings,
@@ -2556,6 +2584,7 @@ export const IMAGES_SECTION_SETTINGS_CONFIG =
2556
2584
  personalisationOverrideVisibility(c, b, 'title'),
2557
2585
  },
2558
2586
  titleStyle: TEXT_MEDIA_TITLE_STYLE_FIELD(),
2587
+ descriptionStyle: TEXT_MEDIA_DESCRIPTION_STYLE_FIELD(),
2559
2588
  headingStyle: TEXT_MEDIA_HEADING_STYLE_FIELD(),
2560
2589
  paragraphStyle: TEXT_MEDIA_PARAGRAPH_STYLE_FIELD(),
2561
2590
  cardStyle: {
@@ -2833,6 +2862,7 @@ export const SHAPES_SECTION_SETTINGS_CONFIG =
2833
2862
  displayStyle: TEXT_MEDIA_DISPLAY_STYLE_FIELD(MEDIA_TYPES.shape),
2834
2863
  size: IMAGE_SIZE_FIELD(),
2835
2864
  title: TEXT_MEDIA_TITLE_FIELD(),
2865
+ description: TEXT_MEDIA_DESCRIPTION_FIELD(),
2836
2866
  titleOverride: {
2837
2867
  type: 'personalisation-override',
2838
2868
  groupId: SETTINGS_STYLE_FIELD_GROUP_IDS.settings,
@@ -2852,6 +2882,7 @@ export const SHAPES_SECTION_SETTINGS_CONFIG =
2852
2882
  },
2853
2883
  backgroundStyle: TEXT_MEDIA_BACKGROUND_FIELD(),
2854
2884
  titleStyle: TEXT_MEDIA_TITLE_STYLE_FIELD(),
2885
+ descriptionStyle: TEXT_MEDIA_DESCRIPTION_STYLE_FIELD(),
2855
2886
  headingStyle: TEXT_MEDIA_HEADING_STYLE_FIELD(),
2856
2887
  paragraphStyle: TEXT_MEDIA_PARAGRAPH_STYLE_FIELD(),
2857
2888
  items: {
@@ -3141,7 +3172,7 @@ export const CONTENT_SETTINGS_CONFIGS = (): Record<
3141
3172
  map: MAP_CONTENT_SETTINGS_CONFIG(),
3142
3173
  'mailing-list': MAILING_LIST_CONTENT_SETTINGS_CONFIG(),
3143
3174
  facebook: FACEBOOK_CONTENT_SETTINGS_CONFIG(),
3144
- twitter: TWITTER_CONTENT_SETTINGS_CONFIG(),
3175
+ x: X_CONTENT_SETTINGS_CONFIG(),
3145
3176
  instagram: INSTAGRAM_CONTENT_SETTINGS_CONFIG(),
3146
3177
  youtube: YOUTUBE_CONTENT_SETTINGS_CONFIG(),
3147
3178
  linkedin: LINKEDIN_CONTENT_SETTINGS_CONFIG(),
@@ -65,7 +65,7 @@ export const PERSONALISATION_MAPPINGS: Partial<
65
65
  pinterest: BUTTON_PERSONALISATION_MAPPING,
66
66
  tiktok: BUTTON_PERSONALISATION_MAPPING,
67
67
  twitch: BUTTON_PERSONALISATION_MAPPING,
68
- twitter: BUTTON_PERSONALISATION_MAPPING,
68
+ x: BUTTON_PERSONALISATION_MAPPING,
69
69
  youtube: BUTTON_PERSONALISATION_MAPPING,
70
70
  email: BUTTON_PERSONALISATION_MAPPING,
71
71
  phone: BUTTON_PERSONALISATION_MAPPING,
@@ -555,6 +555,7 @@ export const createInitialImagesSectionContent: CreateInitialContentFunction<
555
555
  return {
556
556
  id: uuid.v4(),
557
557
  title: contentSettingsTr(`imagesTitle`),
558
+ description: '',
558
559
  type: 'images-section',
559
560
  displayStyle: 'centered',
560
561
  aspectRatio: 'Default',
@@ -577,14 +578,22 @@ export const createInitialImagesSectionContent: CreateInitialContentFunction<
577
578
  titleStyle: {
578
579
  applyAutoScale: options?.brandPageType === BRAND_PAGE_TYPES.brandSite,
579
580
  textStyleType: TEXT_STYLE_TYPES.titles,
581
+ textAlign: 'center',
582
+ },
583
+ descriptionStyle: {
584
+ applyAutoScale: options?.brandPageType === BRAND_PAGE_TYPES.brandSite,
585
+ textStyleType: TEXT_STYLE_TYPES.paragraphs,
586
+ textAlign: 'center',
580
587
  },
581
588
  headingStyle: {
582
589
  applyAutoScale: options?.brandPageType === BRAND_PAGE_TYPES.brandSite,
583
590
  textStyleType: TEXT_STYLE_TYPES.headings,
591
+ textAlign: 'center',
584
592
  },
585
593
  paragraphStyle: {
586
594
  applyAutoScale: options?.brandPageType === BRAND_PAGE_TYPES.brandSite,
587
595
  textStyleType: TEXT_STYLE_TYPES.paragraphs,
596
+ textAlign: 'center',
588
597
  },
589
598
  };
590
599
  };
@@ -730,8 +739,8 @@ export const createInitialSocialLinksContent = (
730
739
  imageLink: '',
731
740
  },
732
741
  {
733
- imageUrl: 'twitter',
734
- url: 'https://www.twitter.com',
742
+ imageUrl: 'x',
743
+ url: 'https://www.x.com',
735
744
  imageTitle: '',
736
745
  width: 0,
737
746
  height: 0,
@@ -758,6 +767,7 @@ export const createInitialShapesSectionContent: CreateInitialContentFunction<
758
767
  return {
759
768
  id: uuid.v4(),
760
769
  title: contentSettingsTr(`shapesTitle`),
770
+ description: '',
761
771
  type: 'shapes-section',
762
772
  displayStyle: 'centered',
763
773
  items: [
@@ -781,14 +791,22 @@ export const createInitialShapesSectionContent: CreateInitialContentFunction<
781
791
  titleStyle: {
782
792
  applyAutoScale: options?.brandPageType === BRAND_PAGE_TYPES.brandSite,
783
793
  textStyleType: TEXT_STYLE_TYPES.titles,
794
+ textAlign: 'center',
795
+ },
796
+ descriptionStyle: {
797
+ applyAutoScale: options?.brandPageType === BRAND_PAGE_TYPES.brandSite,
798
+ textStyleType: TEXT_STYLE_TYPES.paragraphs,
799
+ textAlign: 'center',
784
800
  },
785
801
  headingStyle: {
786
802
  applyAutoScale: options?.brandPageType === BRAND_PAGE_TYPES.brandSite,
787
803
  textStyleType: TEXT_STYLE_TYPES.headings,
804
+ textAlign: 'center',
788
805
  },
789
806
  paragraphStyle: {
790
807
  applyAutoScale: options?.brandPageType === BRAND_PAGE_TYPES.brandSite,
791
808
  textStyleType: TEXT_STYLE_TYPES.paragraphs,
809
+ textAlign: 'center',
792
810
  },
793
811
  };
794
812
  };
@@ -10,13 +10,11 @@ import {
10
10
  type LogoTemplateAsset,
11
11
  } from '../../stores';
12
12
  import { SIDE_BAR_TAB_NAMES } from '../../constants';
13
- import { useUiSideBarStore } from '../../../shared/side-bar/store';
14
13
  import type { CustomDomainConfigModel, CustomDomainModel } from '../../models';
15
14
  import {
16
15
  BRAND_PAGE_TYPES,
17
16
  SENSITIVE_CONTENT_TYPES,
18
17
  getAbTestResults,
19
- type AbTest,
20
18
  type LogoContent,
21
19
  } from '../../../brand-page';
22
20
  import { isLogoContent } from '../../../brand-page/utils';
@@ -10,7 +10,7 @@ exports[`brand page maker store module > brand page maker module should returns
10
10
  "email",
11
11
  "phone",
12
12
  "facebook",
13
- "twitter",
13
+ "x",
14
14
  "instagram",
15
15
  "youtube",
16
16
  "linkedin",