@designcrowd/library.brand-page 5.17.21 → 5.17.23-ast-subnav

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 (121) hide show
  1. package/lib/src/{CreatedOnBrandCrowd-de-de-Brtp2yWB.js → CreatedOnBrandCrowd-de-de-Ct9Aewoo.js} +1 -1
  2. package/lib/src/{CreatedOnBrandCrowd-en-us-BIJ5VoX4.js → CreatedOnBrandCrowd-en-us-BsEzGp5K.js} +1 -1
  3. package/lib/src/{CreatedOnBrandCrowd-es-es-JrKK9K0u.js → CreatedOnBrandCrowd-es-es-UiIPmY0h.js} +1 -1
  4. package/lib/src/{CreatedOnBrandCrowd-fr-fr-D_HvOZe-.js → CreatedOnBrandCrowd-fr-ca-CQmEXbU7.js} +1 -1
  5. package/lib/src/{CreatedOnBrandCrowd-fr-ca-D_HvOZe-.js → CreatedOnBrandCrowd-fr-fr-CQmEXbU7.js} +1 -1
  6. package/lib/src/{CreatedOnBrandCrowd-pt-pt-SSLb0vlp.js → CreatedOnBrandCrowd-pt-br-DoMI5QSQ.js} +1 -1
  7. package/lib/src/{CreatedOnBrandCrowd-pt-br-SSLb0vlp.js → CreatedOnBrandCrowd-pt-pt-DoMI5QSQ.js} +1 -1
  8. package/lib/src/{CreatedOnDcom-de-de-BG39ozFo.js → CreatedOnDcom-de-de-gexV_wWX.js} +1 -1
  9. package/lib/src/{CreatedOnDcom-en-us-D2NzqECZ.js → CreatedOnDcom-en-us-C2sLHLjJ.js} +1 -1
  10. package/lib/src/{CreatedOnDcom-es-es-C55r2Lb4.js → CreatedOnDcom-es-es-CZFd666H.js} +1 -1
  11. package/lib/src/{CreatedOnDcom-fr-ca-Bj-sAaJI.js → CreatedOnDcom-fr-ca-CPaRB_io.js} +1 -1
  12. package/lib/src/{CreatedOnDcom-fr-fr-D8l0r-Tc.js → CreatedOnDcom-fr-fr-BQo5D5gE.js} +1 -1
  13. package/lib/src/{CreatedOnDcom-pt-br-CXHC6E1h.js → CreatedOnDcom-pt-br-CRr3CqOj.js} +1 -1
  14. package/lib/src/{CreatedOnDcom-pt-pt-2dMvgnyi.js → CreatedOnDcom-pt-pt-DR6Vi-eZ.js} +1 -1
  15. package/lib/src/brand-page/components/banner-section/BannerSection.mixin.d.ts +1 -1
  16. package/lib/src/brand-page/components/contact-form/ContactForm.mixin.d.ts +1 -0
  17. package/lib/src/brand-page/components/contact-form/ContactForm.mixin.js +20 -2
  18. package/lib/src/brand-page/components/image-gallery/ImageGalleryModal.mixin.d.ts +8 -1
  19. package/lib/src/brand-page/components/image-gallery/ImageGalleryModal.mixin.js +97 -3
  20. package/lib/src/brand-page/components/navigation/navigation-side-menu/NavigationSideMenu.mixin.js +6 -2
  21. package/lib/src/brand-page/models/index.d.ts +1 -1
  22. package/lib/src/brand-page/models/navigation-styles.model.d.ts +2 -0
  23. package/lib/src/brand-page/models/navigation-styles.model.js +20 -1
  24. package/lib/src/brand-page/utils/migration/migration-14.d.ts +2 -0
  25. package/lib/src/brand-page/utils/migration/migration-14.js +16 -0
  26. package/lib/src/brand-page/utils/migration/migration-15.d.ts +2 -0
  27. package/lib/src/brand-page/utils/migration/migration-15.js +37 -0
  28. package/lib/src/brand-page/utils/migration.util.js +12 -0
  29. package/lib/src/brand-page/utils/style.util.js +16 -2
  30. package/lib/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-examples.d.ts +1 -1
  31. package/lib/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-examples.js +1 -1
  32. package/lib/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-site-template.examples.js +1 -1
  33. package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +7 -1
  34. package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.js +1 -1
  35. package/lib/src/brand-page-maker/constants/config-settings-constant.js +1 -10
  36. package/lib/src/brand-page-maker/models/content-settings-configs.d.ts +5 -0
  37. package/lib/src/brand-page-maker/models/content-settings.js +3 -0
  38. package/lib/src/brand-page-maker/models/navigation-style-configs.d.ts +1 -0
  39. package/lib/src/brand-page-maker/models/navigation-style-configs.js +5 -0
  40. package/lib/src/brand-page-maker/utils/rich-text-editor.util.js +170 -388
  41. package/lib/src/{bundled-translations-Bu_5FO26.js → bundled-translations-Cy6nun02.js} +1 -1
  42. package/lib/src/{bundled-translations.de-DE-CZTzknyj.js → bundled-translations.de-DE-BUZncCAM.js} +1 -1
  43. package/lib/src/{bundled-translations.es-ES-p86F-gOD.js → bundled-translations.es-ES-D4IPwZD-.js} +9 -9
  44. package/lib/src/{bundled-translations.fr-CA-CM5ZA8dQ.js → bundled-translations.fr-CA-BMgRrrwA.js} +9 -9
  45. package/lib/src/{bundled-translations.fr-FR-DV7sOgtb.js → bundled-translations.fr-FR-Ck7kYrK4.js} +1 -1
  46. package/lib/src/{bundled-translations.pt-BR-DkWWGrsz.js → bundled-translations.pt-BR--5_9viJ9.js} +1 -1
  47. package/lib/src/{bundled-translations.pt-PT-C5Td5lLs.js → bundled-translations.pt-PT-DAGUOQ7m.js} +13 -13
  48. package/lib/src/bundles/bundled-translations.de-DE.json +1 -0
  49. package/lib/src/bundles/bundled-translations.es-ES.json +1 -0
  50. package/lib/src/bundles/bundled-translations.fr-CA.json +1 -0
  51. package/lib/src/bundles/bundled-translations.fr-FR.json +1 -0
  52. package/lib/src/bundles/bundled-translations.json +1 -0
  53. package/lib/src/bundles/bundled-translations.pt-BR.json +1 -0
  54. package/lib/src/bundles/bundled-translations.pt-PT.json +1 -0
  55. package/lib/src/css/library.brand-page-brandCrowd.min.css +110 -103
  56. package/lib/src/css/library.brand-page-brandPage.min.css +110 -103
  57. package/lib/src/css/library.brand-page-designCom.min.css +110 -103
  58. package/lib/src/css/library.brand-page-preview.min.css +110 -103
  59. package/lib/src/index.mjs +1 -1
  60. package/lib/src/{lib-CrBvj1a5.js → lib-wvy4koSU.js} +22606 -22689
  61. package/lib/src/metadata-builder/builders/section-field-maps.js +1 -0
  62. package/lib/src/metadata-builder/builders/section-field-utils.js +5 -0
  63. package/lib/src/metadata-builder/helpers/rte.helpers.js +3 -0
  64. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.js +2 -1
  65. package/lib/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.mixin.d.ts +4 -1
  66. package/lib/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.mixin.js +55 -2
  67. package/lib/src/shared/navigation-style-settings/store/index.d.ts +6 -0
  68. package/lib/src/shared/navigation-style-settings/store/index.js +15 -0
  69. package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +27 -1
  70. package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +25 -2
  71. package/package.json +1 -1
  72. package/src/brand-page/components/about-section/AboutSection.vue +63 -6
  73. package/src/brand-page/components/collapsible/Collapsible.vue +8 -2
  74. package/src/brand-page/components/contact-form/ContactForm.mixin.ts +21 -2
  75. package/src/brand-page/components/contact-form/ContactForm.vue +15 -15
  76. package/src/brand-page/components/image-gallery/ImageGalleryModal.mixin.ts +114 -5
  77. package/src/brand-page/components/image-gallery/ImageGalleryModal.vue +25 -8
  78. package/src/brand-page/components/navigation/navigation-carousel/NavigationCarousel.vue +19 -8
  79. package/src/brand-page/components/navigation/navigation-side-menu/NavigationSideMenu.mixin.ts +6 -2
  80. package/src/brand-page/components/text-wrapper/TextWrapper.vue +5 -1
  81. package/src/brand-page/models/index.ts +1 -1
  82. package/src/brand-page/models/navigation-styles.model.ts +31 -0
  83. package/src/brand-page/utils/__snapshots__/migration.util.test.ts.snap +15 -3
  84. package/src/brand-page/utils/__snapshots__/migration2.util.test.ts.snap +4 -0
  85. package/src/brand-page/utils/__snapshots__/model.util.test.ts.snap +8 -0
  86. package/src/brand-page/utils/migration/migration-14.ts +23 -0
  87. package/src/brand-page/utils/migration/migration-15.ts +62 -0
  88. package/src/brand-page/utils/migration.util.ts +14 -0
  89. package/src/brand-page/utils/style.util.ts +16 -2
  90. package/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-examples.ts +1 -1
  91. package/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-site-template.examples.ts +1 -1
  92. package/src/brand-page-maker/components/rich-text-editor/RichTextEditor.vue +8 -1
  93. package/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.ts +1 -1
  94. package/src/brand-page-maker/constants/config-settings-constant.ts +1 -10
  95. package/src/brand-page-maker/models/content-settings-configs.ts +6 -0
  96. package/src/brand-page-maker/models/content-settings.ts +3 -0
  97. package/src/brand-page-maker/models/i18n/models.de-DE.json +1 -0
  98. package/src/brand-page-maker/models/i18n/models.es-ES.json +1 -0
  99. package/src/brand-page-maker/models/i18n/models.fr-CA.json +1 -0
  100. package/src/brand-page-maker/models/i18n/models.fr-FR.json +1 -0
  101. package/src/brand-page-maker/models/i18n/models.json +1 -0
  102. package/src/brand-page-maker/models/i18n/models.pt-BR.json +1 -0
  103. package/src/brand-page-maker/models/i18n/models.pt-PT.json +1 -0
  104. package/src/brand-page-maker/models/navigation-style-configs.ts +5 -0
  105. package/src/brand-page-maker/utils/rich-text-editor.util.ts +274 -684
  106. package/src/bundles/bundled-translations.de-DE.json +1 -0
  107. package/src/bundles/bundled-translations.es-ES.json +1 -0
  108. package/src/bundles/bundled-translations.fr-CA.json +1 -0
  109. package/src/bundles/bundled-translations.fr-FR.json +1 -0
  110. package/src/bundles/bundled-translations.json +1 -0
  111. package/src/bundles/bundled-translations.pt-BR.json +1 -0
  112. package/src/bundles/bundled-translations.pt-PT.json +1 -0
  113. package/src/metadata-builder/builders/section-field-maps.ts +1 -0
  114. package/src/metadata-builder/builders/section-field-utils.ts +5 -0
  115. package/src/metadata-builder/helpers/rte.helpers.ts +4 -0
  116. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.ts +2 -1
  117. package/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.mixin.ts +82 -4
  118. package/src/shared/navigation-style-settings/store/index.ts +30 -0
  119. package/lib/src/brand-page/components/about-section/AboutSection.mixin.d.ts +0 -83
  120. package/lib/src/brand-page/components/about-section/AboutSection.mixin.js +0 -65
  121. package/src/brand-page/components/about-section/AboutSection.mixin.ts +0 -78
@@ -1284,6 +1284,7 @@
1284
1284
  "selectedTextColor": "Ausgewählte Textfarbe",
1285
1285
  "iconColor": "Symbolfarbe",
1286
1286
  "iconBackgroundColor": "Symbolhintergrundfarbe",
1287
+ "subNavBackgroundColor": "Sub nav background color",
1287
1288
  "allDisplayName": "Alle",
1288
1289
  "generalDisplayName": "Allgemein",
1289
1290
  "socialLinksDisplayName": "Social Media",
@@ -1284,6 +1284,7 @@
1284
1284
  "selectedTextColor": "Color de texto seleccionado",
1285
1285
  "iconColor": "Color del icono",
1286
1286
  "iconBackgroundColor": "Color de fondo del icono",
1287
+ "subNavBackgroundColor": "Sub nav background color",
1287
1288
  "allDisplayName": "Todo",
1288
1289
  "generalDisplayName": "General",
1289
1290
  "socialLinksDisplayName": "Redes sociales",
@@ -1284,6 +1284,7 @@
1284
1284
  "selectedTextColor": "Couleur de texte sélectionnée",
1285
1285
  "iconColor": "Couleur de l'icône",
1286
1286
  "iconBackgroundColor": "Couleur d’arrière-plan de l’icône",
1287
+ "subNavBackgroundColor": "Sub nav background color",
1287
1288
  "allDisplayName": "Tous",
1288
1289
  "generalDisplayName": "Général",
1289
1290
  "socialLinksDisplayName": "Réseaux sociaux",
@@ -1284,6 +1284,7 @@
1284
1284
  "selectedTextColor": "Couleur de texte sélectionnée",
1285
1285
  "iconColor": "Couleur de l'icône",
1286
1286
  "iconBackgroundColor": "Couleur d’arrière-plan de l’icône",
1287
+ "subNavBackgroundColor": "Sub nav background color",
1287
1288
  "allDisplayName": "Tous",
1288
1289
  "generalDisplayName": "Général",
1289
1290
  "socialLinksDisplayName": "Réseaux sociaux",
@@ -1284,6 +1284,7 @@
1284
1284
  "selectedTextColor": "Selected text color",
1285
1285
  "iconColor": "Icon color",
1286
1286
  "iconBackgroundColor": "Icon background color",
1287
+ "subNavBackgroundColor": "Sub nav background color",
1287
1288
  "allDisplayName": "all",
1288
1289
  "generalDisplayName": "General",
1289
1290
  "socialLinksDisplayName": "Socials",
@@ -1284,6 +1284,7 @@
1284
1284
  "selectedTextColor": "Cor do texto selecionado",
1285
1285
  "iconColor": "Cor do ícone",
1286
1286
  "iconBackgroundColor": "Cor de fundo do ícone",
1287
+ "subNavBackgroundColor": "Sub nav background color",
1287
1288
  "allDisplayName": "tudo",
1288
1289
  "generalDisplayName": "Geral",
1289
1290
  "socialLinksDisplayName": "Redes sociais",
@@ -1284,6 +1284,7 @@
1284
1284
  "selectedTextColor": "Cor do texto selecionado",
1285
1285
  "iconColor": "Cor do ícone",
1286
1286
  "iconBackgroundColor": "Cor de fundo do ícone",
1287
+ "subNavBackgroundColor": "Sub nav background color",
1287
1288
  "allDisplayName": "Tudo",
1288
1289
  "generalDisplayName": "Geral",
1289
1290
  "socialLinksDisplayName": "Redes sociais",
@@ -205,6 +205,7 @@ const contactFormStyleFields = defineFieldMap<ContactFormContent>({
205
205
  title_style: 'titleStyle',
206
206
  description_style: 'descriptionStyle',
207
207
  button_text_style: 'buttonTextStyle',
208
+ success_message_style: 'successMessageStyle',
208
209
  });
209
210
 
210
211
  const imagesSectionStyleFields = defineFieldMap<ImagesSectionContent>({
@@ -126,6 +126,11 @@ const RTE_FIELD_STYLE_PAIRS: {
126
126
  argKey: 'description_style',
127
127
  },
128
128
  { textField: 'text', styleField: 'textStyle', argKey: 'text_style' },
129
+ {
130
+ textField: 'paragraph',
131
+ styleField: 'paragraphStyle',
132
+ argKey: 'paragraph_style',
133
+ },
129
134
  ];
130
135
 
131
136
  /**
@@ -10,6 +10,10 @@ export const applyStyleToRTEText = (
10
10
  contentText: string,
11
11
  newContentStyle: TextStyleDeclaration,
12
12
  ) => {
13
+ if (!contentText) {
14
+ return contentText;
15
+ }
16
+
13
17
  const content = contentText.includes(ESCAPED_NEWLINE_CHARACTER)
14
18
  ? getRenderText(contentText)
15
19
  : contentText;
@@ -36,6 +36,7 @@ const RTE_DISALLOWED_STYLE_FIELD_NAMES = [
36
36
  'descriptionStyle',
37
37
  'titleStyle',
38
38
  'textStyle',
39
+ 'paragraphStyle',
39
40
  ];
40
41
  const AI_ALLOWED_FIELD_NAMES = ['description', 'title', 'text', 'paragraph'];
41
42
  const RTE_DISALLOWED_FIELD_NAMES = ['buttonText'];
@@ -106,7 +107,7 @@ export default defineComponent({
106
107
  return this.getContent(this.id)!;
107
108
  },
108
109
  styleName(): string {
109
- return `${this.field.name}Style`;
110
+ return this.field.styleName || `${this.field.name}Style`;
110
111
  },
111
112
  contentType(): string {
112
113
  return this.type;
@@ -15,6 +15,7 @@ import { NAVIGATION_STYLE_CONFIG_OPTION_TITLES } from '@brand-page-maker/models/
15
15
  import { STYLE_THEME_KEYS } from '@brand-page';
16
16
  import { isColorMatched } from '@brand-page-maker/utils';
17
17
  import { RGBAtoHex } from '@utils/helpers';
18
+ import { colorsMatch } from '@brand-page/utils/style.util';
18
19
  import type { UpdateItemValuePayload } from '../../../content-settings/models';
19
20
  import type { NavigationStyleOptionValueChangeEvent } from '../../../page-settings/models';
20
21
 
@@ -55,11 +56,16 @@ export default defineComponent({
55
56
  };
56
57
  },
57
58
  navigationStyleOptions(): NavigationStyleConfigOption[] {
58
- return (
59
+ const options =
59
60
  this.availableNavigationStyleConfigs.find(
60
61
  (c) => c.displayType === this.value.displayType,
61
- )?.options ?? []
62
- );
62
+ )?.options ?? [];
63
+
64
+ if (!this.isAdmin && this.value.displayType.includes('hamburger')) {
65
+ return options.filter((o) => o !== 'subNavBackgroundColor');
66
+ }
67
+
68
+ return options;
63
69
  },
64
70
  isOptionColorMatched(): (option: NavigationStyleConfigOption) => boolean {
65
71
  return (option) => {
@@ -109,6 +115,11 @@ export default defineComponent({
109
115
 
110
116
  return menuStyles.iconStyle.backgroundColor;
111
117
  },
118
+ subNavBackgroundColor: () => {
119
+ const menuStyles = this.getMenuStyles();
120
+
121
+ return menuStyles.subNavBackgroundColor;
122
+ },
112
123
  };
113
124
  },
114
125
  methods: {
@@ -150,11 +161,78 @@ export default defineComponent({
150
161
  );
151
162
  },
152
163
 
164
+ isDefaultTextColorLogoBackground(): boolean {
165
+ const menuStyles = this.getMenuStyles();
166
+ const defaultTextColor = menuStyles.defaultButtonStyle.color;
167
+
168
+ if (!defaultTextColor) {
169
+ return false;
170
+ }
171
+
172
+ if (
173
+ defaultTextColor === STYLE_THEME_KEYS.LogoBackgroundColor ||
174
+ defaultTextColor === STYLE_THEME_KEYS.LogoBackgroundMultiColor
175
+ ) {
176
+ return true;
177
+ }
178
+
179
+ if (
180
+ this.logoTheme.logoBackgroundColor.rgb &&
181
+ colorsMatch(defaultTextColor, this.logoTheme.logoBackgroundColor.rgb)
182
+ ) {
183
+ return true;
184
+ }
185
+
186
+ return false;
187
+ },
188
+
189
+ isDefaultTextColorLogoText(): boolean {
190
+ const menuStyles = this.getMenuStyles();
191
+ const defaultTextColor = menuStyles.defaultButtonStyle.color;
192
+
193
+ if (!defaultTextColor) {
194
+ return false;
195
+ }
196
+
197
+ if (
198
+ defaultTextColor === STYLE_THEME_KEYS.LogoTextColor ||
199
+ defaultTextColor === STYLE_THEME_KEYS.LogoTextMultiColor
200
+ ) {
201
+ return true;
202
+ }
203
+
204
+ if (
205
+ this.logoTheme.logoTextColor.rgb &&
206
+ colorsMatch(defaultTextColor, this.logoTheme.logoTextColor.rgb)
207
+ ) {
208
+ return true;
209
+ }
210
+
211
+ return false;
212
+ },
213
+
214
+ getSubNavBackgroundColorThemeKey(): string {
215
+ if (this.isDefaultTextColorLogoText()) {
216
+ return STYLE_THEME_KEYS.LogoBackgroundColor;
217
+ }
218
+
219
+ if (this.isDefaultTextColorLogoBackground()) {
220
+ return STYLE_THEME_KEYS.LogoTextColor;
221
+ }
222
+
223
+ return STYLE_THEME_KEYS.LogoTextColor;
224
+ },
225
+
153
226
  onColorMatchToggled(option: NavigationStyleConfigOption, value: boolean) {
154
227
  if (value) {
228
+ const themeKey =
229
+ option === 'subNavBackgroundColor'
230
+ ? this.getSubNavBackgroundColorThemeKey()
231
+ : STYLE_THEME_KEYS.LogoTextColor;
232
+
155
233
  this.emitOptionValueChange({
156
234
  option,
157
- value: STYLE_THEME_KEYS.LogoTextColor,
235
+ value: themeKey,
158
236
  });
159
237
  } else {
160
238
  this.emitOptionValueChange({
@@ -186,6 +186,28 @@ export const useUiNavigationStyleSettingsStore = defineStore(
186
186
  );
187
187
  },
188
188
 
189
+ _setSubNavBackgroundColor({
190
+ displayType,
191
+ section,
192
+ value,
193
+ viewport,
194
+ }: {
195
+ displayType: NavigationDisplayType;
196
+ section: PageSection;
197
+ value: string;
198
+ viewport: ViewportsType;
199
+ }): void {
200
+ if (displayType.includes('hamburger')) {
201
+ this.navigation[section][
202
+ viewport
203
+ ].hamburgerMenuStyle.subNavBackgroundColor = value;
204
+
205
+ return;
206
+ }
207
+
208
+ this.navigation[section][viewport].subNavBackgroundColor = value;
209
+ },
210
+
189
211
  _setButtonStyles({
190
212
  section,
191
213
  defaultButtonStyle,
@@ -408,6 +430,14 @@ export const useUiNavigationStyleSettingsStore = defineStore(
408
430
  viewport,
409
431
  });
410
432
  break;
433
+ case 'subNavBackgroundColor':
434
+ this._setSubNavBackgroundColor({
435
+ displayType,
436
+ section,
437
+ value,
438
+ viewport,
439
+ });
440
+ break;
411
441
  default:
412
442
  if (process.env.NODE_ENV !== 'production') {
413
443
  assertUnreachable();
@@ -1,83 +0,0 @@
1
- import type { PropType } from 'vue';
2
- import type { AboutSectionViewModel } from '@brand-page/view-models';
3
- import type { BrandPageContext } from '@brand-page/models';
4
- declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
5
- viewModel: {
6
- type: PropType<AboutSectionViewModel>;
7
- required: true;
8
- };
9
- isPreview: {
10
- type: BooleanConstructor;
11
- required: false;
12
- default: boolean;
13
- };
14
- context: {
15
- type: PropType<BrandPageContext>;
16
- required: true;
17
- };
18
- contentIndex: {
19
- type: NumberConstructor;
20
- required: false;
21
- default: undefined;
22
- };
23
- }>, {}, {}, {
24
- displayAlignClass(): "tw-items-center tw-text-center" | "tw-items-start tw-text-left";
25
- isFullImage(): boolean;
26
- isRightAligned(): boolean;
27
- isLeftAligned(): boolean;
28
- isDividedContent(): boolean;
29
- textAlignClass(): {
30
- 'tw-text-center': boolean;
31
- 'tw-text-left': boolean;
32
- 'tw-px-6': any;
33
- };
34
- renderText(): string;
35
- }, {}, import("vue").DefineComponent<import("vue").ExtractPropTypes<{
36
- isPreview: {
37
- type: BooleanConstructor;
38
- required: false;
39
- default: boolean;
40
- };
41
- isMobileDevice: {
42
- type: BooleanConstructor;
43
- required: false;
44
- default: undefined;
45
- };
46
- }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
47
- isPreview: {
48
- type: BooleanConstructor;
49
- required: false;
50
- default: boolean;
51
- };
52
- isMobileDevice: {
53
- type: BooleanConstructor;
54
- required: false;
55
- default: undefined;
56
- };
57
- }>> & Readonly<{}>, {
58
- isPreview: boolean;
59
- isMobileDevice: boolean;
60
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
61
- viewModel: {
62
- type: PropType<AboutSectionViewModel>;
63
- required: true;
64
- };
65
- isPreview: {
66
- type: BooleanConstructor;
67
- required: false;
68
- default: boolean;
69
- };
70
- context: {
71
- type: PropType<BrandPageContext>;
72
- required: true;
73
- };
74
- contentIndex: {
75
- type: NumberConstructor;
76
- required: false;
77
- default: undefined;
78
- };
79
- }>> & Readonly<{}>, {
80
- isPreview: boolean;
81
- contentIndex: number;
82
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
83
- export default _default;
@@ -1,65 +0,0 @@
1
- import { defineComponent } from 'vue';
2
- import ComponentCommonMixin from '../mixins/component-common.mixin';
3
- import { getRenderText } from '@brand-page/utils';
4
- export default defineComponent({
5
- mixins: [ComponentCommonMixin],
6
- props: {
7
- viewModel: {
8
- type: Object,
9
- required: true,
10
- },
11
- isPreview: {
12
- type: Boolean,
13
- required: false,
14
- default: false,
15
- },
16
- context: {
17
- type: Object,
18
- required: true,
19
- },
20
- contentIndex: {
21
- type: Number,
22
- required: false,
23
- default: undefined,
24
- },
25
- },
26
- data() {
27
- return {};
28
- },
29
- computed: {
30
- displayAlignClass() {
31
- return this.viewModel.displayStyle === 'centered'
32
- ? 'tw-items-center tw-text-center'
33
- : 'tw-items-start tw-text-left';
34
- },
35
- isFullImage() {
36
- return (this.viewModel.displayStyle === 'right-aligned-full-image' ||
37
- this.viewModel.displayStyle === 'left-aligned-full-image');
38
- },
39
- isRightAligned() {
40
- return (this.viewModel.displayStyle === 'right-aligned-full-image' ||
41
- this.viewModel.displayStyle === 'right-aligned');
42
- },
43
- isLeftAligned() {
44
- return (this.viewModel.displayStyle === 'left-aligned-full-image' ||
45
- this.viewModel.displayStyle === 'left-aligned');
46
- },
47
- isDividedContent() {
48
- return (this.viewModel.displayStyle === 'right-aligned' ||
49
- this.viewModel.displayStyle === 'left-aligned');
50
- },
51
- textAlignClass() {
52
- return {
53
- 'tw-text-center': this.viewModel.displayStyle === 'centered',
54
- 'tw-text-left': this.viewModel.displayStyle !== 'centered',
55
- 'tw-px-6': this.isFullImage,
56
- };
57
- },
58
- renderText() {
59
- if (!this.viewModel.paragraph) {
60
- return '';
61
- }
62
- return getRenderText(this.viewModel.paragraph);
63
- },
64
- },
65
- });
@@ -1,78 +0,0 @@
1
- import { defineComponent } from 'vue';
2
- import type { PropType } from 'vue';
3
- import ComponentCommonMixin from '../mixins/component-common.mixin';
4
- import type { AboutSectionViewModel } from '@brand-page/view-models';
5
- import type { BrandPageContext } from '@brand-page/models';
6
- import { getRenderText } from '@brand-page/utils';
7
-
8
- export default defineComponent({
9
- mixins: [ComponentCommonMixin],
10
- props: {
11
- viewModel: {
12
- type: Object as PropType<AboutSectionViewModel>,
13
- required: true,
14
- },
15
- isPreview: {
16
- type: Boolean,
17
- required: false,
18
- default: false,
19
- },
20
- context: {
21
- type: Object as PropType<BrandPageContext>,
22
- required: true,
23
- },
24
- contentIndex: {
25
- type: Number,
26
- required: false,
27
- default: undefined,
28
- },
29
- },
30
- data() {
31
- return {};
32
- },
33
- computed: {
34
- displayAlignClass() {
35
- return this.viewModel.displayStyle === 'centered'
36
- ? 'tw-items-center tw-text-center'
37
- : 'tw-items-start tw-text-left';
38
- },
39
- isFullImage() {
40
- return (
41
- this.viewModel.displayStyle === 'right-aligned-full-image' ||
42
- this.viewModel.displayStyle === 'left-aligned-full-image'
43
- );
44
- },
45
- isRightAligned() {
46
- return (
47
- this.viewModel.displayStyle === 'right-aligned-full-image' ||
48
- this.viewModel.displayStyle === 'right-aligned'
49
- );
50
- },
51
- isLeftAligned() {
52
- return (
53
- this.viewModel.displayStyle === 'left-aligned-full-image' ||
54
- this.viewModel.displayStyle === 'left-aligned'
55
- );
56
- },
57
- isDividedContent() {
58
- return (
59
- this.viewModel.displayStyle === 'right-aligned' ||
60
- this.viewModel.displayStyle === 'left-aligned'
61
- );
62
- },
63
- textAlignClass() {
64
- return {
65
- 'tw-text-center': this.viewModel.displayStyle === 'centered',
66
- 'tw-text-left': this.viewModel.displayStyle !== 'centered',
67
- 'tw-px-6': this.isFullImage,
68
- };
69
- },
70
- renderText(): string {
71
- if (!this.viewModel.paragraph) {
72
- return '';
73
- }
74
-
75
- return getRenderText(this.viewModel.paragraph);
76
- },
77
- },
78
- });