@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.
- package/lib/src/{CreatedOnBrandCrowd-de-de-Brtp2yWB.js → CreatedOnBrandCrowd-de-de-Ct9Aewoo.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-en-us-BIJ5VoX4.js → CreatedOnBrandCrowd-en-us-BsEzGp5K.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-es-es-JrKK9K0u.js → CreatedOnBrandCrowd-es-es-UiIPmY0h.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-fr-D_HvOZe-.js → CreatedOnBrandCrowd-fr-ca-CQmEXbU7.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-ca-D_HvOZe-.js → CreatedOnBrandCrowd-fr-fr-CQmEXbU7.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-pt-SSLb0vlp.js → CreatedOnBrandCrowd-pt-br-DoMI5QSQ.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-br-SSLb0vlp.js → CreatedOnBrandCrowd-pt-pt-DoMI5QSQ.js} +1 -1
- package/lib/src/{CreatedOnDcom-de-de-BG39ozFo.js → CreatedOnDcom-de-de-gexV_wWX.js} +1 -1
- package/lib/src/{CreatedOnDcom-en-us-D2NzqECZ.js → CreatedOnDcom-en-us-C2sLHLjJ.js} +1 -1
- package/lib/src/{CreatedOnDcom-es-es-C55r2Lb4.js → CreatedOnDcom-es-es-CZFd666H.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-ca-Bj-sAaJI.js → CreatedOnDcom-fr-ca-CPaRB_io.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-fr-D8l0r-Tc.js → CreatedOnDcom-fr-fr-BQo5D5gE.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-br-CXHC6E1h.js → CreatedOnDcom-pt-br-CRr3CqOj.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-pt-2dMvgnyi.js → CreatedOnDcom-pt-pt-DR6Vi-eZ.js} +1 -1
- package/lib/src/brand-page/components/banner-section/BannerSection.mixin.d.ts +1 -1
- package/lib/src/brand-page/components/contact-form/ContactForm.mixin.d.ts +1 -0
- package/lib/src/brand-page/components/contact-form/ContactForm.mixin.js +20 -2
- package/lib/src/brand-page/components/image-gallery/ImageGalleryModal.mixin.d.ts +8 -1
- package/lib/src/brand-page/components/image-gallery/ImageGalleryModal.mixin.js +97 -3
- package/lib/src/brand-page/components/navigation/navigation-side-menu/NavigationSideMenu.mixin.js +6 -2
- package/lib/src/brand-page/models/index.d.ts +1 -1
- package/lib/src/brand-page/models/navigation-styles.model.d.ts +2 -0
- package/lib/src/brand-page/models/navigation-styles.model.js +20 -1
- package/lib/src/brand-page/utils/migration/migration-14.d.ts +2 -0
- package/lib/src/brand-page/utils/migration/migration-14.js +16 -0
- package/lib/src/brand-page/utils/migration/migration-15.d.ts +2 -0
- package/lib/src/brand-page/utils/migration/migration-15.js +37 -0
- package/lib/src/brand-page/utils/migration.util.js +12 -0
- package/lib/src/brand-page/utils/style.util.js +16 -2
- package/lib/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-examples.d.ts +1 -1
- package/lib/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-examples.js +1 -1
- package/lib/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-site-template.examples.js +1 -1
- package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +7 -1
- package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.js +1 -1
- package/lib/src/brand-page-maker/constants/config-settings-constant.js +1 -10
- package/lib/src/brand-page-maker/models/content-settings-configs.d.ts +5 -0
- package/lib/src/brand-page-maker/models/content-settings.js +3 -0
- package/lib/src/brand-page-maker/models/navigation-style-configs.d.ts +1 -0
- package/lib/src/brand-page-maker/models/navigation-style-configs.js +5 -0
- package/lib/src/brand-page-maker/utils/rich-text-editor.util.js +170 -388
- package/lib/src/{bundled-translations-Bu_5FO26.js → bundled-translations-Cy6nun02.js} +1 -1
- package/lib/src/{bundled-translations.de-DE-CZTzknyj.js → bundled-translations.de-DE-BUZncCAM.js} +1 -1
- package/lib/src/{bundled-translations.es-ES-p86F-gOD.js → bundled-translations.es-ES-D4IPwZD-.js} +9 -9
- package/lib/src/{bundled-translations.fr-CA-CM5ZA8dQ.js → bundled-translations.fr-CA-BMgRrrwA.js} +9 -9
- package/lib/src/{bundled-translations.fr-FR-DV7sOgtb.js → bundled-translations.fr-FR-Ck7kYrK4.js} +1 -1
- package/lib/src/{bundled-translations.pt-BR-DkWWGrsz.js → bundled-translations.pt-BR--5_9viJ9.js} +1 -1
- package/lib/src/{bundled-translations.pt-PT-C5Td5lLs.js → bundled-translations.pt-PT-DAGUOQ7m.js} +13 -13
- package/lib/src/bundles/bundled-translations.de-DE.json +1 -0
- package/lib/src/bundles/bundled-translations.es-ES.json +1 -0
- package/lib/src/bundles/bundled-translations.fr-CA.json +1 -0
- package/lib/src/bundles/bundled-translations.fr-FR.json +1 -0
- package/lib/src/bundles/bundled-translations.json +1 -0
- package/lib/src/bundles/bundled-translations.pt-BR.json +1 -0
- package/lib/src/bundles/bundled-translations.pt-PT.json +1 -0
- package/lib/src/css/library.brand-page-brandCrowd.min.css +110 -103
- package/lib/src/css/library.brand-page-brandPage.min.css +110 -103
- package/lib/src/css/library.brand-page-designCom.min.css +110 -103
- package/lib/src/css/library.brand-page-preview.min.css +110 -103
- package/lib/src/index.mjs +1 -1
- package/lib/src/{lib-CrBvj1a5.js → lib-wvy4koSU.js} +22606 -22689
- package/lib/src/metadata-builder/builders/section-field-maps.js +1 -0
- package/lib/src/metadata-builder/builders/section-field-utils.js +5 -0
- package/lib/src/metadata-builder/helpers/rte.helpers.js +3 -0
- package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.js +2 -1
- package/lib/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.mixin.d.ts +4 -1
- package/lib/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.mixin.js +55 -2
- package/lib/src/shared/navigation-style-settings/store/index.d.ts +6 -0
- package/lib/src/shared/navigation-style-settings/store/index.js +15 -0
- package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +27 -1
- package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +25 -2
- package/package.json +1 -1
- package/src/brand-page/components/about-section/AboutSection.vue +63 -6
- package/src/brand-page/components/collapsible/Collapsible.vue +8 -2
- package/src/brand-page/components/contact-form/ContactForm.mixin.ts +21 -2
- package/src/brand-page/components/contact-form/ContactForm.vue +15 -15
- package/src/brand-page/components/image-gallery/ImageGalleryModal.mixin.ts +114 -5
- package/src/brand-page/components/image-gallery/ImageGalleryModal.vue +25 -8
- package/src/brand-page/components/navigation/navigation-carousel/NavigationCarousel.vue +19 -8
- package/src/brand-page/components/navigation/navigation-side-menu/NavigationSideMenu.mixin.ts +6 -2
- package/src/brand-page/components/text-wrapper/TextWrapper.vue +5 -1
- package/src/brand-page/models/index.ts +1 -1
- package/src/brand-page/models/navigation-styles.model.ts +31 -0
- package/src/brand-page/utils/__snapshots__/migration.util.test.ts.snap +15 -3
- package/src/brand-page/utils/__snapshots__/migration2.util.test.ts.snap +4 -0
- package/src/brand-page/utils/__snapshots__/model.util.test.ts.snap +8 -0
- package/src/brand-page/utils/migration/migration-14.ts +23 -0
- package/src/brand-page/utils/migration/migration-15.ts +62 -0
- package/src/brand-page/utils/migration.util.ts +14 -0
- package/src/brand-page/utils/style.util.ts +16 -2
- package/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-examples.ts +1 -1
- package/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-site-template.examples.ts +1 -1
- package/src/brand-page-maker/components/rich-text-editor/RichTextEditor.vue +8 -1
- package/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.ts +1 -1
- package/src/brand-page-maker/constants/config-settings-constant.ts +1 -10
- package/src/brand-page-maker/models/content-settings-configs.ts +6 -0
- package/src/brand-page-maker/models/content-settings.ts +3 -0
- package/src/brand-page-maker/models/i18n/models.de-DE.json +1 -0
- package/src/brand-page-maker/models/i18n/models.es-ES.json +1 -0
- package/src/brand-page-maker/models/i18n/models.fr-CA.json +1 -0
- package/src/brand-page-maker/models/i18n/models.fr-FR.json +1 -0
- package/src/brand-page-maker/models/i18n/models.json +1 -0
- package/src/brand-page-maker/models/i18n/models.pt-BR.json +1 -0
- package/src/brand-page-maker/models/i18n/models.pt-PT.json +1 -0
- package/src/brand-page-maker/models/navigation-style-configs.ts +5 -0
- package/src/brand-page-maker/utils/rich-text-editor.util.ts +274 -684
- package/src/bundles/bundled-translations.de-DE.json +1 -0
- package/src/bundles/bundled-translations.es-ES.json +1 -0
- package/src/bundles/bundled-translations.fr-CA.json +1 -0
- package/src/bundles/bundled-translations.fr-FR.json +1 -0
- package/src/bundles/bundled-translations.json +1 -0
- package/src/bundles/bundled-translations.pt-BR.json +1 -0
- package/src/bundles/bundled-translations.pt-PT.json +1 -0
- package/src/metadata-builder/builders/section-field-maps.ts +1 -0
- package/src/metadata-builder/builders/section-field-utils.ts +5 -0
- package/src/metadata-builder/helpers/rte.helpers.ts +4 -0
- package/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.ts +2 -1
- package/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.mixin.ts +82 -4
- package/src/shared/navigation-style-settings/store/index.ts +30 -0
- package/lib/src/brand-page/components/about-section/AboutSection.mixin.d.ts +0 -83
- package/lib/src/brand-page/components/about-section/AboutSection.mixin.js +0 -65
- package/src/brand-page/components/about-section/AboutSection.mixin.ts +0 -78
|
@@ -156,6 +156,7 @@ const contactFormStyleFields = defineFieldMap({
|
|
|
156
156
|
title_style: 'titleStyle',
|
|
157
157
|
description_style: 'descriptionStyle',
|
|
158
158
|
button_text_style: 'buttonTextStyle',
|
|
159
|
+
success_message_style: 'successMessageStyle',
|
|
159
160
|
});
|
|
160
161
|
const imagesSectionStyleFields = defineFieldMap({
|
|
161
162
|
title_style: 'titleStyle',
|
|
@@ -85,6 +85,11 @@ const RTE_FIELD_STYLE_PAIRS = [
|
|
|
85
85
|
argKey: 'description_style',
|
|
86
86
|
},
|
|
87
87
|
{ textField: 'text', styleField: 'textStyle', argKey: 'text_style' },
|
|
88
|
+
{
|
|
89
|
+
textField: 'paragraph',
|
|
90
|
+
styleField: 'paragraphStyle',
|
|
91
|
+
argKey: 'paragraph_style',
|
|
92
|
+
},
|
|
88
93
|
];
|
|
89
94
|
/**
|
|
90
95
|
* Re-applies merged styles to RTE content fields after applyStyleFields has
|
|
@@ -3,6 +3,9 @@ import { useExternalRichTextEditor } from '../../brand-page-maker/composables/ri
|
|
|
3
3
|
import { getRenderText } from '../../brand-page/utils';
|
|
4
4
|
import { ESCAPED_NEWLINE_CHARACTER } from '../../constants/ui';
|
|
5
5
|
export const applyStyleToRTEText = (externalEditor, contentText, newContentStyle) => {
|
|
6
|
+
if (!contentText) {
|
|
7
|
+
return contentText;
|
|
8
|
+
}
|
|
6
9
|
const content = contentText.includes(ESCAPED_NEWLINE_CHARACTER)
|
|
7
10
|
? getRenderText(contentText)
|
|
8
11
|
: contentText;
|
|
@@ -23,6 +23,7 @@ const RTE_DISALLOWED_STYLE_FIELD_NAMES = [
|
|
|
23
23
|
'descriptionStyle',
|
|
24
24
|
'titleStyle',
|
|
25
25
|
'textStyle',
|
|
26
|
+
'paragraphStyle',
|
|
26
27
|
];
|
|
27
28
|
const AI_ALLOWED_FIELD_NAMES = ['description', 'title', 'text', 'paragraph'];
|
|
28
29
|
const RTE_DISALLOWED_FIELD_NAMES = ['buttonText'];
|
|
@@ -87,7 +88,7 @@ export default defineComponent({
|
|
|
87
88
|
return this.getContent(this.id);
|
|
88
89
|
},
|
|
89
90
|
styleName() {
|
|
90
|
-
return `${this.field.name}Style`;
|
|
91
|
+
return this.field.styleName || `${this.field.name}Style`;
|
|
91
92
|
},
|
|
92
93
|
contentType() {
|
|
93
94
|
return this.type;
|
|
@@ -21,7 +21,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
21
21
|
required: true;
|
|
22
22
|
};
|
|
23
23
|
}>, {}, {
|
|
24
|
-
navigationStyleConfigOptionTitles: Record<"defaultBorderColor" | "selectedBorderColor" | "defaultTextStyle" | "defaultBackgroundColor" | "selectedTextColor" | "selectedBackgroundColor" | "iconColor" | "iconBackgroundColor", string>;
|
|
24
|
+
navigationStyleConfigOptionTitles: Record<"defaultBorderColor" | "selectedBorderColor" | "subNavBackgroundColor" | "defaultTextStyle" | "defaultBackgroundColor" | "selectedTextColor" | "selectedBackgroundColor" | "iconColor" | "iconBackgroundColor", string>;
|
|
25
25
|
styleThemeKeys: Record<string, string>;
|
|
26
26
|
valueFuncDict: Record<string, () => string | undefined>;
|
|
27
27
|
}, {
|
|
@@ -31,6 +31,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
31
31
|
}, {
|
|
32
32
|
emitOptionValueChange(event: NavigationStyleOptionValueChangeEvent): void;
|
|
33
33
|
onColorPickerInput(option: NavigationStyleConfigOption, payload: UpdateItemValuePayload<string | Event | undefined> | string): void;
|
|
34
|
+
isDefaultTextColorLogoBackground(): boolean;
|
|
35
|
+
isDefaultTextColorLogoText(): boolean;
|
|
36
|
+
getSubNavBackgroundColorThemeKey(): string;
|
|
34
37
|
onColorMatchToggled(option: NavigationStyleConfigOption, value: boolean): void;
|
|
35
38
|
getMenuStyles(): NavigationMenuStyles;
|
|
36
39
|
setTextStyleOption(option: NavigationStyleConfigOption, payload: UpdateItemValuePayload<TextStyleDeclaration>): void;
|
|
@@ -3,6 +3,7 @@ import { NAVIGATION_STYLE_CONFIG_OPTION_TITLES } from '@brand-page-maker/models/
|
|
|
3
3
|
import { STYLE_THEME_KEYS } from '@brand-page';
|
|
4
4
|
import { isColorMatched } from '@brand-page-maker/utils';
|
|
5
5
|
import { RGBAtoHex } from '@utils/helpers';
|
|
6
|
+
import { colorsMatch } from '@brand-page/utils/style.util';
|
|
6
7
|
export default defineComponent({
|
|
7
8
|
props: {
|
|
8
9
|
availableNavigationStyleConfigs: {
|
|
@@ -36,7 +37,11 @@ export default defineComponent({
|
|
|
36
37
|
};
|
|
37
38
|
},
|
|
38
39
|
navigationStyleOptions() {
|
|
39
|
-
|
|
40
|
+
const options = this.availableNavigationStyleConfigs.find((c) => c.displayType === this.value.displayType)?.options ?? [];
|
|
41
|
+
if (!this.isAdmin && this.value.displayType.includes('hamburger')) {
|
|
42
|
+
return options.filter((o) => o !== 'subNavBackgroundColor');
|
|
43
|
+
}
|
|
44
|
+
return options;
|
|
40
45
|
},
|
|
41
46
|
isOptionColorMatched() {
|
|
42
47
|
return (option) => {
|
|
@@ -78,6 +83,10 @@ export default defineComponent({
|
|
|
78
83
|
const menuStyles = this.getMenuStyles();
|
|
79
84
|
return menuStyles.iconStyle.backgroundColor;
|
|
80
85
|
},
|
|
86
|
+
subNavBackgroundColor: () => {
|
|
87
|
+
const menuStyles = this.getMenuStyles();
|
|
88
|
+
return menuStyles.subNavBackgroundColor;
|
|
89
|
+
},
|
|
81
90
|
};
|
|
82
91
|
},
|
|
83
92
|
methods: {
|
|
@@ -107,11 +116,55 @@ export default defineComponent({
|
|
|
107
116
|
}
|
|
108
117
|
console.error('onColorPickerInput unhandled payload type: ' + typeof payload);
|
|
109
118
|
},
|
|
119
|
+
isDefaultTextColorLogoBackground() {
|
|
120
|
+
const menuStyles = this.getMenuStyles();
|
|
121
|
+
const defaultTextColor = menuStyles.defaultButtonStyle.color;
|
|
122
|
+
if (!defaultTextColor) {
|
|
123
|
+
return false;
|
|
124
|
+
}
|
|
125
|
+
if (defaultTextColor === STYLE_THEME_KEYS.LogoBackgroundColor ||
|
|
126
|
+
defaultTextColor === STYLE_THEME_KEYS.LogoBackgroundMultiColor) {
|
|
127
|
+
return true;
|
|
128
|
+
}
|
|
129
|
+
if (this.logoTheme.logoBackgroundColor.rgb &&
|
|
130
|
+
colorsMatch(defaultTextColor, this.logoTheme.logoBackgroundColor.rgb)) {
|
|
131
|
+
return true;
|
|
132
|
+
}
|
|
133
|
+
return false;
|
|
134
|
+
},
|
|
135
|
+
isDefaultTextColorLogoText() {
|
|
136
|
+
const menuStyles = this.getMenuStyles();
|
|
137
|
+
const defaultTextColor = menuStyles.defaultButtonStyle.color;
|
|
138
|
+
if (!defaultTextColor) {
|
|
139
|
+
return false;
|
|
140
|
+
}
|
|
141
|
+
if (defaultTextColor === STYLE_THEME_KEYS.LogoTextColor ||
|
|
142
|
+
defaultTextColor === STYLE_THEME_KEYS.LogoTextMultiColor) {
|
|
143
|
+
return true;
|
|
144
|
+
}
|
|
145
|
+
if (this.logoTheme.logoTextColor.rgb &&
|
|
146
|
+
colorsMatch(defaultTextColor, this.logoTheme.logoTextColor.rgb)) {
|
|
147
|
+
return true;
|
|
148
|
+
}
|
|
149
|
+
return false;
|
|
150
|
+
},
|
|
151
|
+
getSubNavBackgroundColorThemeKey() {
|
|
152
|
+
if (this.isDefaultTextColorLogoText()) {
|
|
153
|
+
return STYLE_THEME_KEYS.LogoBackgroundColor;
|
|
154
|
+
}
|
|
155
|
+
if (this.isDefaultTextColorLogoBackground()) {
|
|
156
|
+
return STYLE_THEME_KEYS.LogoTextColor;
|
|
157
|
+
}
|
|
158
|
+
return STYLE_THEME_KEYS.LogoTextColor;
|
|
159
|
+
},
|
|
110
160
|
onColorMatchToggled(option, value) {
|
|
111
161
|
if (value) {
|
|
162
|
+
const themeKey = option === 'subNavBackgroundColor'
|
|
163
|
+
? this.getSubNavBackgroundColorThemeKey()
|
|
164
|
+
: STYLE_THEME_KEYS.LogoTextColor;
|
|
112
165
|
this.emitOptionValueChange({
|
|
113
166
|
option,
|
|
114
|
-
value:
|
|
167
|
+
value: themeKey,
|
|
115
168
|
});
|
|
116
169
|
}
|
|
117
170
|
else {
|
|
@@ -47,6 +47,12 @@ export declare const useUiNavigationStyleSettingsStore: import("pinia").StoreDef
|
|
|
47
47
|
style: BrandPageCssStyle;
|
|
48
48
|
viewport: ViewportsType;
|
|
49
49
|
}): void;
|
|
50
|
+
_setSubNavBackgroundColor({ displayType, section, value, viewport, }: {
|
|
51
|
+
displayType: NavigationDisplayType;
|
|
52
|
+
section: PageSection;
|
|
53
|
+
value: string;
|
|
54
|
+
viewport: ViewportsType;
|
|
55
|
+
}): void;
|
|
50
56
|
_setButtonStyles({ section, defaultButtonStyle, selectedButtonStyle, iconStyle, viewport, }: {
|
|
51
57
|
section: PageSection;
|
|
52
58
|
defaultButtonStyle: TextStyleDeclaration;
|
|
@@ -64,6 +64,13 @@ export const useUiNavigationStyleSettingsStore = defineStore('uiNavigationStyleS
|
|
|
64
64
|
}
|
|
65
65
|
this.navigation[section][viewport].iconStyle = Object.assign({}, this.navigation[section][viewport].iconStyle, style);
|
|
66
66
|
},
|
|
67
|
+
_setSubNavBackgroundColor({ displayType, section, value, viewport, }) {
|
|
68
|
+
if (displayType.includes('hamburger')) {
|
|
69
|
+
this.navigation[section][viewport].hamburgerMenuStyle.subNavBackgroundColor = value;
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
this.navigation[section][viewport].subNavBackgroundColor = value;
|
|
73
|
+
},
|
|
67
74
|
_setButtonStyles({ section, defaultButtonStyle, selectedButtonStyle, iconStyle, viewport, }) {
|
|
68
75
|
this.navigation[section][viewport].selectedButtonStyle =
|
|
69
76
|
selectedButtonStyle;
|
|
@@ -237,6 +244,14 @@ export const useUiNavigationStyleSettingsStore = defineStore('uiNavigationStyleS
|
|
|
237
244
|
viewport,
|
|
238
245
|
});
|
|
239
246
|
break;
|
|
247
|
+
case 'subNavBackgroundColor':
|
|
248
|
+
this._setSubNavBackgroundColor({
|
|
249
|
+
displayType,
|
|
250
|
+
section,
|
|
251
|
+
value,
|
|
252
|
+
viewport,
|
|
253
|
+
});
|
|
254
|
+
break;
|
|
240
255
|
default:
|
|
241
256
|
if (process.env.NODE_ENV !== 'production') {
|
|
242
257
|
assertUnreachable();
|
|
@@ -214,6 +214,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
214
214
|
width?: string | undefined;
|
|
215
215
|
wordBreak?: string | undefined;
|
|
216
216
|
};
|
|
217
|
+
subNavBackgroundColor?: string | undefined;
|
|
217
218
|
isLogoVisible: boolean;
|
|
218
219
|
hamburgerMenuStyle: {
|
|
219
220
|
defaultButtonStyle: {
|
|
@@ -353,6 +354,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
353
354
|
width?: string | undefined;
|
|
354
355
|
wordBreak?: string | undefined;
|
|
355
356
|
};
|
|
357
|
+
subNavBackgroundColor?: string | undefined;
|
|
356
358
|
};
|
|
357
359
|
viewport: import("@brand-page").ViewportsType;
|
|
358
360
|
} | {
|
|
@@ -495,6 +497,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
495
497
|
width?: string | undefined;
|
|
496
498
|
wordBreak?: string | undefined;
|
|
497
499
|
};
|
|
500
|
+
subNavBackgroundColor?: string | undefined;
|
|
498
501
|
isLogoVisible: boolean;
|
|
499
502
|
hamburgerMenuStyle: {
|
|
500
503
|
defaultButtonStyle: {
|
|
@@ -634,6 +637,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
634
637
|
width?: string | undefined;
|
|
635
638
|
wordBreak?: string | undefined;
|
|
636
639
|
};
|
|
640
|
+
subNavBackgroundColor?: string | undefined;
|
|
637
641
|
};
|
|
638
642
|
viewport: import("@brand-page").ViewportsType;
|
|
639
643
|
} | undefined;
|
|
@@ -777,6 +781,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
777
781
|
width?: string | undefined;
|
|
778
782
|
wordBreak?: string | undefined;
|
|
779
783
|
};
|
|
784
|
+
subNavBackgroundColor?: string | undefined;
|
|
780
785
|
isLogoVisible: boolean;
|
|
781
786
|
hamburgerMenuStyle: {
|
|
782
787
|
defaultButtonStyle: {
|
|
@@ -916,6 +921,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
916
921
|
width?: string | undefined;
|
|
917
922
|
wordBreak?: string | undefined;
|
|
918
923
|
};
|
|
924
|
+
subNavBackgroundColor?: string | undefined;
|
|
919
925
|
};
|
|
920
926
|
viewport: import("@brand-page").ViewportsType;
|
|
921
927
|
} | {
|
|
@@ -1058,6 +1064,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
1058
1064
|
width?: string | undefined;
|
|
1059
1065
|
wordBreak?: string | undefined;
|
|
1060
1066
|
};
|
|
1067
|
+
subNavBackgroundColor?: string | undefined;
|
|
1061
1068
|
isLogoVisible: boolean;
|
|
1062
1069
|
hamburgerMenuStyle: {
|
|
1063
1070
|
defaultButtonStyle: {
|
|
@@ -1197,6 +1204,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
1197
1204
|
width?: string | undefined;
|
|
1198
1205
|
wordBreak?: string | undefined;
|
|
1199
1206
|
};
|
|
1207
|
+
subNavBackgroundColor?: string | undefined;
|
|
1200
1208
|
};
|
|
1201
1209
|
viewport: import("@brand-page").ViewportsType;
|
|
1202
1210
|
};
|
|
@@ -1498,6 +1506,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
1498
1506
|
width?: string | undefined;
|
|
1499
1507
|
wordBreak?: string | undefined;
|
|
1500
1508
|
};
|
|
1509
|
+
subNavBackgroundColor?: string | undefined;
|
|
1501
1510
|
isLogoVisible: boolean;
|
|
1502
1511
|
hamburgerMenuStyle: {
|
|
1503
1512
|
defaultButtonStyle: {
|
|
@@ -1637,6 +1646,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
1637
1646
|
width?: string | undefined;
|
|
1638
1647
|
wordBreak?: string | undefined;
|
|
1639
1648
|
};
|
|
1649
|
+
subNavBackgroundColor?: string | undefined;
|
|
1640
1650
|
};
|
|
1641
1651
|
viewport: import("@brand-page").ViewportsType;
|
|
1642
1652
|
} | {
|
|
@@ -1779,6 +1789,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
1779
1789
|
width?: string | undefined;
|
|
1780
1790
|
wordBreak?: string | undefined;
|
|
1781
1791
|
};
|
|
1792
|
+
subNavBackgroundColor?: string | undefined;
|
|
1782
1793
|
isLogoVisible: boolean;
|
|
1783
1794
|
hamburgerMenuStyle: {
|
|
1784
1795
|
defaultButtonStyle: {
|
|
@@ -1918,6 +1929,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
1918
1929
|
width?: string | undefined;
|
|
1919
1930
|
wordBreak?: string | undefined;
|
|
1920
1931
|
};
|
|
1932
|
+
subNavBackgroundColor?: string | undefined;
|
|
1921
1933
|
};
|
|
1922
1934
|
viewport: import("@brand-page").ViewportsType;
|
|
1923
1935
|
} | undefined;
|
|
@@ -2061,6 +2073,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
2061
2073
|
width?: string | undefined;
|
|
2062
2074
|
wordBreak?: string | undefined;
|
|
2063
2075
|
};
|
|
2076
|
+
subNavBackgroundColor?: string | undefined;
|
|
2064
2077
|
isLogoVisible: boolean;
|
|
2065
2078
|
hamburgerMenuStyle: {
|
|
2066
2079
|
defaultButtonStyle: {
|
|
@@ -2200,6 +2213,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
2200
2213
|
width?: string | undefined;
|
|
2201
2214
|
wordBreak?: string | undefined;
|
|
2202
2215
|
};
|
|
2216
|
+
subNavBackgroundColor?: string | undefined;
|
|
2203
2217
|
};
|
|
2204
2218
|
viewport: import("@brand-page").ViewportsType;
|
|
2205
2219
|
} | {
|
|
@@ -2342,6 +2356,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
2342
2356
|
width?: string | undefined;
|
|
2343
2357
|
wordBreak?: string | undefined;
|
|
2344
2358
|
};
|
|
2359
|
+
subNavBackgroundColor?: string | undefined;
|
|
2345
2360
|
isLogoVisible: boolean;
|
|
2346
2361
|
hamburgerMenuStyle: {
|
|
2347
2362
|
defaultButtonStyle: {
|
|
@@ -2481,6 +2496,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
2481
2496
|
width?: string | undefined;
|
|
2482
2497
|
wordBreak?: string | undefined;
|
|
2483
2498
|
};
|
|
2499
|
+
subNavBackgroundColor?: string | undefined;
|
|
2484
2500
|
};
|
|
2485
2501
|
viewport: import("@brand-page").ViewportsType;
|
|
2486
2502
|
};
|
|
@@ -3261,6 +3277,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
3261
3277
|
width?: string | undefined;
|
|
3262
3278
|
wordBreak?: string | undefined;
|
|
3263
3279
|
};
|
|
3280
|
+
subNavBackgroundColor?: string | undefined;
|
|
3264
3281
|
isLogoVisible: boolean;
|
|
3265
3282
|
hamburgerMenuStyle: {
|
|
3266
3283
|
defaultButtonStyle: {
|
|
@@ -3400,6 +3417,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
3400
3417
|
width?: string | undefined;
|
|
3401
3418
|
wordBreak?: string | undefined;
|
|
3402
3419
|
};
|
|
3420
|
+
subNavBackgroundColor?: string | undefined;
|
|
3403
3421
|
};
|
|
3404
3422
|
viewport: import("@brand-page").ViewportsType;
|
|
3405
3423
|
}>;
|
|
@@ -3543,6 +3561,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
3543
3561
|
width?: string | undefined;
|
|
3544
3562
|
wordBreak?: string | undefined;
|
|
3545
3563
|
};
|
|
3564
|
+
subNavBackgroundColor?: string | undefined;
|
|
3546
3565
|
isLogoVisible: boolean;
|
|
3547
3566
|
hamburgerMenuStyle: {
|
|
3548
3567
|
defaultButtonStyle: {
|
|
@@ -3682,6 +3701,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
3682
3701
|
width?: string | undefined;
|
|
3683
3702
|
wordBreak?: string | undefined;
|
|
3684
3703
|
};
|
|
3704
|
+
subNavBackgroundColor?: string | undefined;
|
|
3685
3705
|
};
|
|
3686
3706
|
viewport: import("@brand-page").ViewportsType;
|
|
3687
3707
|
}>;
|
|
@@ -4478,6 +4498,12 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
4478
4498
|
style: BrandPageCssStyle;
|
|
4479
4499
|
viewport: import("@brand-page").ViewportsType;
|
|
4480
4500
|
}): void;
|
|
4501
|
+
_setSubNavBackgroundColor({ displayType, section, value, viewport, }: {
|
|
4502
|
+
displayType: import("@brand-page").NavigationDisplayType;
|
|
4503
|
+
section: "footer" | "header";
|
|
4504
|
+
value: string;
|
|
4505
|
+
viewport: import("@brand-page").ViewportsType;
|
|
4506
|
+
}): void;
|
|
4481
4507
|
_setButtonStyles({ section, defaultButtonStyle, selectedButtonStyle, iconStyle, viewport, }: {
|
|
4482
4508
|
section: "footer" | "header";
|
|
4483
4509
|
defaultButtonStyle: import("@brand-page").TextStyleDeclaration;
|
|
@@ -4492,7 +4518,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
4492
4518
|
}): void;
|
|
4493
4519
|
setNavigationStyleOptionValue({ section, option, value, viewport, }: {
|
|
4494
4520
|
section: "footer" | "header";
|
|
4495
|
-
option: "defaultBorderColor" | "selectedBorderColor" | "defaultTextStyle" | "defaultBackgroundColor" | "selectedTextColor" | "selectedBackgroundColor" | "iconColor" | "iconBackgroundColor";
|
|
4521
|
+
option: "defaultBorderColor" | "selectedBorderColor" | "subNavBackgroundColor" | "defaultTextStyle" | "defaultBackgroundColor" | "selectedTextColor" | "selectedBackgroundColor" | "iconColor" | "iconBackgroundColor";
|
|
4496
4522
|
value: any;
|
|
4497
4523
|
viewport: import("@brand-page").ViewportsType;
|
|
4498
4524
|
}): void;
|
|
@@ -176,6 +176,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
176
176
|
width?: string | undefined;
|
|
177
177
|
wordBreak?: string | undefined;
|
|
178
178
|
};
|
|
179
|
+
subNavBackgroundColor?: string | undefined;
|
|
179
180
|
isLogoVisible: boolean;
|
|
180
181
|
hamburgerMenuStyle: {
|
|
181
182
|
defaultButtonStyle: {
|
|
@@ -315,6 +316,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
315
316
|
width?: string | undefined;
|
|
316
317
|
wordBreak?: string | undefined;
|
|
317
318
|
};
|
|
319
|
+
subNavBackgroundColor?: string | undefined;
|
|
318
320
|
};
|
|
319
321
|
viewport: ViewportsType;
|
|
320
322
|
} | {
|
|
@@ -457,6 +459,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
457
459
|
width?: string | undefined;
|
|
458
460
|
wordBreak?: string | undefined;
|
|
459
461
|
};
|
|
462
|
+
subNavBackgroundColor?: string | undefined;
|
|
460
463
|
isLogoVisible: boolean;
|
|
461
464
|
hamburgerMenuStyle: {
|
|
462
465
|
defaultButtonStyle: {
|
|
@@ -596,6 +599,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
596
599
|
width?: string | undefined;
|
|
597
600
|
wordBreak?: string | undefined;
|
|
598
601
|
};
|
|
602
|
+
subNavBackgroundColor?: string | undefined;
|
|
599
603
|
};
|
|
600
604
|
viewport: ViewportsType;
|
|
601
605
|
} | undefined;
|
|
@@ -739,6 +743,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
739
743
|
width?: string | undefined;
|
|
740
744
|
wordBreak?: string | undefined;
|
|
741
745
|
};
|
|
746
|
+
subNavBackgroundColor?: string | undefined;
|
|
742
747
|
isLogoVisible: boolean;
|
|
743
748
|
hamburgerMenuStyle: {
|
|
744
749
|
defaultButtonStyle: {
|
|
@@ -878,6 +883,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
878
883
|
width?: string | undefined;
|
|
879
884
|
wordBreak?: string | undefined;
|
|
880
885
|
};
|
|
886
|
+
subNavBackgroundColor?: string | undefined;
|
|
881
887
|
};
|
|
882
888
|
viewport: ViewportsType;
|
|
883
889
|
} | {
|
|
@@ -1020,6 +1026,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
1020
1026
|
width?: string | undefined;
|
|
1021
1027
|
wordBreak?: string | undefined;
|
|
1022
1028
|
};
|
|
1029
|
+
subNavBackgroundColor?: string | undefined;
|
|
1023
1030
|
isLogoVisible: boolean;
|
|
1024
1031
|
hamburgerMenuStyle: {
|
|
1025
1032
|
defaultButtonStyle: {
|
|
@@ -1159,6 +1166,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
1159
1166
|
width?: string | undefined;
|
|
1160
1167
|
wordBreak?: string | undefined;
|
|
1161
1168
|
};
|
|
1169
|
+
subNavBackgroundColor?: string | undefined;
|
|
1162
1170
|
};
|
|
1163
1171
|
viewport: ViewportsType;
|
|
1164
1172
|
};
|
|
@@ -1460,6 +1468,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
1460
1468
|
width?: string | undefined;
|
|
1461
1469
|
wordBreak?: string | undefined;
|
|
1462
1470
|
};
|
|
1471
|
+
subNavBackgroundColor?: string | undefined;
|
|
1463
1472
|
isLogoVisible: boolean;
|
|
1464
1473
|
hamburgerMenuStyle: {
|
|
1465
1474
|
defaultButtonStyle: {
|
|
@@ -1599,6 +1608,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
1599
1608
|
width?: string | undefined;
|
|
1600
1609
|
wordBreak?: string | undefined;
|
|
1601
1610
|
};
|
|
1611
|
+
subNavBackgroundColor?: string | undefined;
|
|
1602
1612
|
};
|
|
1603
1613
|
viewport: ViewportsType;
|
|
1604
1614
|
} | {
|
|
@@ -1741,6 +1751,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
1741
1751
|
width?: string | undefined;
|
|
1742
1752
|
wordBreak?: string | undefined;
|
|
1743
1753
|
};
|
|
1754
|
+
subNavBackgroundColor?: string | undefined;
|
|
1744
1755
|
isLogoVisible: boolean;
|
|
1745
1756
|
hamburgerMenuStyle: {
|
|
1746
1757
|
defaultButtonStyle: {
|
|
@@ -1880,6 +1891,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
1880
1891
|
width?: string | undefined;
|
|
1881
1892
|
wordBreak?: string | undefined;
|
|
1882
1893
|
};
|
|
1894
|
+
subNavBackgroundColor?: string | undefined;
|
|
1883
1895
|
};
|
|
1884
1896
|
viewport: ViewportsType;
|
|
1885
1897
|
} | undefined;
|
|
@@ -2023,6 +2035,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
2023
2035
|
width?: string | undefined;
|
|
2024
2036
|
wordBreak?: string | undefined;
|
|
2025
2037
|
};
|
|
2038
|
+
subNavBackgroundColor?: string | undefined;
|
|
2026
2039
|
isLogoVisible: boolean;
|
|
2027
2040
|
hamburgerMenuStyle: {
|
|
2028
2041
|
defaultButtonStyle: {
|
|
@@ -2162,6 +2175,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
2162
2175
|
width?: string | undefined;
|
|
2163
2176
|
wordBreak?: string | undefined;
|
|
2164
2177
|
};
|
|
2178
|
+
subNavBackgroundColor?: string | undefined;
|
|
2165
2179
|
};
|
|
2166
2180
|
viewport: ViewportsType;
|
|
2167
2181
|
} | {
|
|
@@ -2304,6 +2318,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
2304
2318
|
width?: string | undefined;
|
|
2305
2319
|
wordBreak?: string | undefined;
|
|
2306
2320
|
};
|
|
2321
|
+
subNavBackgroundColor?: string | undefined;
|
|
2307
2322
|
isLogoVisible: boolean;
|
|
2308
2323
|
hamburgerMenuStyle: {
|
|
2309
2324
|
defaultButtonStyle: {
|
|
@@ -2443,6 +2458,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
2443
2458
|
width?: string | undefined;
|
|
2444
2459
|
wordBreak?: string | undefined;
|
|
2445
2460
|
};
|
|
2461
|
+
subNavBackgroundColor?: string | undefined;
|
|
2446
2462
|
};
|
|
2447
2463
|
viewport: ViewportsType;
|
|
2448
2464
|
};
|
|
@@ -3073,7 +3089,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
3073
3089
|
dataAttribute?: string | undefined;
|
|
3074
3090
|
disabled?: boolean | undefined;
|
|
3075
3091
|
};
|
|
3076
|
-
options: ("defaultBorderColor" | "selectedBorderColor" | "defaultTextStyle" | "defaultBackgroundColor" | "selectedTextColor" | "selectedBackgroundColor" | "iconColor" | "iconBackgroundColor")[];
|
|
3092
|
+
options: ("defaultBorderColor" | "selectedBorderColor" | "subNavBackgroundColor" | "defaultTextStyle" | "defaultBackgroundColor" | "selectedTextColor" | "selectedBackgroundColor" | "iconColor" | "iconBackgroundColor")[];
|
|
3077
3093
|
iconStyle: {
|
|
3078
3094
|
aspectRatio?: string | undefined;
|
|
3079
3095
|
backgroundAttachment?: string | undefined;
|
|
@@ -3211,6 +3227,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
3211
3227
|
width?: string | undefined;
|
|
3212
3228
|
wordBreak?: string | undefined;
|
|
3213
3229
|
};
|
|
3230
|
+
subNavBackgroundColor?: string | undefined;
|
|
3214
3231
|
displayType: NavigationDisplayType;
|
|
3215
3232
|
renderAfterLogo: boolean;
|
|
3216
3233
|
}[]>;
|
|
@@ -3382,6 +3399,12 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
3382
3399
|
style: BrandPageCssStyle;
|
|
3383
3400
|
viewport: ViewportsType;
|
|
3384
3401
|
}): void;
|
|
3402
|
+
_setSubNavBackgroundColor({ displayType, section, value, viewport, }: {
|
|
3403
|
+
displayType: NavigationDisplayType;
|
|
3404
|
+
section: "footer" | "header";
|
|
3405
|
+
value: string;
|
|
3406
|
+
viewport: ViewportsType;
|
|
3407
|
+
}): void;
|
|
3385
3408
|
_setButtonStyles({ section, defaultButtonStyle, selectedButtonStyle, iconStyle, viewport, }: {
|
|
3386
3409
|
section: "footer" | "header";
|
|
3387
3410
|
defaultButtonStyle: import("@brand-page").TextStyleDeclaration;
|
|
@@ -3396,7 +3419,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
3396
3419
|
}): void;
|
|
3397
3420
|
setNavigationStyleOptionValue({ section, option, value, viewport, }: {
|
|
3398
3421
|
section: "footer" | "header";
|
|
3399
|
-
option: "defaultBorderColor" | "selectedBorderColor" | "defaultTextStyle" | "defaultBackgroundColor" | "selectedTextColor" | "selectedBackgroundColor" | "iconColor" | "iconBackgroundColor";
|
|
3422
|
+
option: "defaultBorderColor" | "selectedBorderColor" | "subNavBackgroundColor" | "defaultTextStyle" | "defaultBackgroundColor" | "selectedTextColor" | "selectedBackgroundColor" | "iconColor" | "iconBackgroundColor";
|
|
3400
3423
|
value: any;
|
|
3401
3424
|
viewport: ViewportsType;
|
|
3402
3425
|
}): void;
|
package/package.json
CHANGED
|
@@ -91,6 +91,7 @@
|
|
|
91
91
|
v-if="renderText"
|
|
92
92
|
:text-style="viewModel.paragraphStyle"
|
|
93
93
|
:text="renderText"
|
|
94
|
+
element="div"
|
|
94
95
|
:class="textAlignClass"
|
|
95
96
|
/>
|
|
96
97
|
</div>
|
|
@@ -98,15 +99,71 @@
|
|
|
98
99
|
</div>
|
|
99
100
|
</section>
|
|
100
101
|
</template>
|
|
101
|
-
<script>
|
|
102
|
-
import
|
|
102
|
+
<script lang="ts" setup>
|
|
103
|
+
import { computed } from 'vue';
|
|
104
|
+
import type { AboutSectionViewModel } from '@brand-page/view-models';
|
|
105
|
+
import type { BrandPageContext } from '@brand-page/models';
|
|
106
|
+
import { getRenderText } from '@brand-page/utils';
|
|
107
|
+
import { hasRTEContent } from '@brand-page-maker/utils';
|
|
103
108
|
import Media from '../media/Media.vue';
|
|
104
109
|
import TextWrapper from '../text-wrapper/TextWrapper.vue';
|
|
105
110
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
111
|
+
const props = withDefaults(
|
|
112
|
+
defineProps<{
|
|
113
|
+
viewModel: AboutSectionViewModel;
|
|
114
|
+
context: BrandPageContext;
|
|
115
|
+
isPreview?: boolean;
|
|
116
|
+
isMobileDevice?: boolean;
|
|
117
|
+
contentIndex?: number;
|
|
118
|
+
}>(),
|
|
119
|
+
{
|
|
120
|
+
isPreview: false,
|
|
121
|
+
isMobileDevice: undefined,
|
|
122
|
+
contentIndex: undefined,
|
|
123
|
+
},
|
|
124
|
+
);
|
|
125
|
+
|
|
126
|
+
const isFullImage = computed(
|
|
127
|
+
() =>
|
|
128
|
+
props.viewModel.displayStyle === 'right-aligned-full-image' ||
|
|
129
|
+
props.viewModel.displayStyle === 'left-aligned-full-image',
|
|
130
|
+
);
|
|
131
|
+
|
|
132
|
+
const isRightAligned = computed(
|
|
133
|
+
() =>
|
|
134
|
+
props.viewModel.displayStyle === 'right-aligned-full-image' ||
|
|
135
|
+
props.viewModel.displayStyle === 'right-aligned',
|
|
136
|
+
);
|
|
137
|
+
|
|
138
|
+
const isLeftAligned = computed(
|
|
139
|
+
() =>
|
|
140
|
+
props.viewModel.displayStyle === 'left-aligned-full-image' ||
|
|
141
|
+
props.viewModel.displayStyle === 'left-aligned',
|
|
142
|
+
);
|
|
143
|
+
|
|
144
|
+
const isDividedContent = computed(
|
|
145
|
+
() =>
|
|
146
|
+
props.viewModel.displayStyle === 'right-aligned' ||
|
|
147
|
+
props.viewModel.displayStyle === 'left-aligned',
|
|
148
|
+
);
|
|
149
|
+
|
|
150
|
+
const textAlignClass = computed(() => ({
|
|
151
|
+
'tw-text-center': props.viewModel.displayStyle === 'centered',
|
|
152
|
+
'tw-text-left': props.viewModel.displayStyle !== 'centered',
|
|
153
|
+
'tw-px-6': isFullImage.value,
|
|
154
|
+
}));
|
|
155
|
+
|
|
156
|
+
const renderText = computed((): string => {
|
|
157
|
+
if (!props.viewModel.paragraph) {
|
|
158
|
+
return '';
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
if (hasRTEContent(props.viewModel.paragraph)) {
|
|
162
|
+
return props.viewModel.paragraph;
|
|
163
|
+
} else {
|
|
164
|
+
return getRenderText(props.viewModel.paragraph);
|
|
165
|
+
}
|
|
166
|
+
});
|
|
110
167
|
</script>
|
|
111
168
|
<style scoped>
|
|
112
169
|
/* classes */
|
|
@@ -15,10 +15,14 @@
|
|
|
15
15
|
'tw-mb-4': !isCollapsed,
|
|
16
16
|
'hover:tw-cursor-pointer': canCollapse,
|
|
17
17
|
}"
|
|
18
|
-
:style="titleStyle"
|
|
19
18
|
@click="onHeaderToggleClick"
|
|
20
19
|
>
|
|
21
|
-
<
|
|
20
|
+
<TextWrapper
|
|
21
|
+
:text-style="titleStyle"
|
|
22
|
+
:text="title"
|
|
23
|
+
element="div"
|
|
24
|
+
class="tw-select-none"
|
|
25
|
+
/>
|
|
22
26
|
<div v-if="canCollapse" class="tw-absolute tw-top-0 tw-right-4">
|
|
23
27
|
<Icon
|
|
24
28
|
:style="arrowStyle"
|
|
@@ -38,10 +42,12 @@
|
|
|
38
42
|
<script>
|
|
39
43
|
import { Icon } from '@designcrowd/fe-shared-lib';
|
|
40
44
|
import CollapsibleMixin from './Collapsible.mixin.ts';
|
|
45
|
+
import TextWrapper from '../text-wrapper/TextWrapper.vue';
|
|
41
46
|
|
|
42
47
|
export default {
|
|
43
48
|
components: {
|
|
44
49
|
Icon,
|
|
50
|
+
TextWrapper,
|
|
45
51
|
},
|
|
46
52
|
mixins: [CollapsibleMixin],
|
|
47
53
|
};
|