@designcrowd/library.brand-page 6.1.0-color-v2-3 → 6.1.0-websitev2-dev-2
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-CE83hdjG.js → CreatedOnBrandCrowd-de-de-D_qQ0sPW.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-en-us-DJTsOp2C.js → CreatedOnBrandCrowd-en-us-CNMxavFU.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-es-es-D3R4iuPK.js → CreatedOnBrandCrowd-es-es-Cyaiw1-R.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-fr-BIdcegm7.js → CreatedOnBrandCrowd-fr-ca-DbniOtuE.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-ca-BIdcegm7.js → CreatedOnBrandCrowd-fr-fr-DbniOtuE.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-pt-BlhdQ-hB.js → CreatedOnBrandCrowd-pt-br-DI3JfwR8.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-br-BlhdQ-hB.js → CreatedOnBrandCrowd-pt-pt-DI3JfwR8.js} +1 -1
- package/lib/src/{CreatedOnDcom-de-de-DRgpaO7O.js → CreatedOnDcom-de-de-DqBzJ_O9.js} +1 -1
- package/lib/src/{CreatedOnDcom-en-us-MlAviIXv.js → CreatedOnDcom-en-us-B8uZjYMi.js} +1 -1
- package/lib/src/{CreatedOnDcom-es-es-CyUO5i1i.js → CreatedOnDcom-es-es-BOLxcx3H.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-ca-B5Q6_p6m.js → CreatedOnDcom-fr-ca-CbGneDvu.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-fr-CFT3tntA.js → CreatedOnDcom-fr-fr-B-UwXpW3.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-br-C70p2WXo.js → CreatedOnDcom-pt-br-CRPrLx5_.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-pt-D3qQBqFK.js → CreatedOnDcom-pt-pt-4p2rdAnc.js} +1 -1
- package/lib/src/brand-page/components/background-shape/BackgroundShape.mixin.d.ts +0 -1
- package/lib/src/brand-page/components/background-shape/BackgroundShape.mixin.js +3 -18
- package/lib/src/brand-page/components/media/Shape.mixin.d.ts +0 -1
- package/lib/src/brand-page/components/media/Shape.mixin.js +2 -20
- package/lib/src/brand-page/components/page/Page.mixin.d.ts +0 -2
- package/lib/src/brand-page/components/page/Page.mixin.js +2 -21
- package/lib/src/brand-page/models/index.d.ts +0 -13
- package/lib/src/brand-page/models/index.js +0 -4
- package/lib/src/brand-page/utils/color.util.js +0 -18
- package/lib/src/brand-page/utils/index.d.ts +0 -1
- package/lib/src/brand-page/utils/index.js +0 -1
- package/lib/src/brand-page/utils/migration.util.d.ts +1 -2
- package/lib/src/brand-page/utils/migration.util.js +0 -23
- package/lib/src/brand-page/utils/style.util.d.ts +1 -14
- package/lib/src/brand-page/utils/style.util.js +0 -43
- package/lib/src/brand-page/utils/view-model.util.js +22 -44
- package/lib/src/brand-page/view-models.d.ts +1 -2
- package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +0 -2
- package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.js +14 -18
- package/lib/src/brand-page-maker/components/color-picker/components/GradientColorSlider.mixin.d.ts +1 -1
- package/lib/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.js +14 -17
- package/lib/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.js +7 -3
- package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.js +3 -8
- package/lib/src/brand-page-maker/constants/sidebar-constant.d.ts +0 -1
- package/lib/src/brand-page-maker/constants/sidebar-constant.js +0 -12
- package/lib/src/brand-page-maker/stores/ai-checkpoint/ai-checkpoint-store.d.ts +0 -30
- package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.js +35 -43
- package/lib/src/brand-page-maker/utils/index.js +9 -14
- package/lib/src/brand-page-maker/utils/rich-text-editor.util.d.ts +0 -1
- package/lib/src/brand-page-maker/utils/rich-text-editor.util.js +0 -10
- package/lib/src/bundled-translations-2HkRBbBD.js +177 -0
- package/lib/src/bundled-translations.de-DE-CL9ZEhU2.js +177 -0
- package/lib/src/bundled-translations.es-ES-uj7Sliu0.js +177 -0
- package/lib/src/bundled-translations.fr-CA-BMnBtr_w.js +177 -0
- package/lib/src/bundled-translations.fr-FR-9PEZedzq.js +177 -0
- package/lib/src/bundled-translations.pt-BR-B3oNDkoe.js +177 -0
- package/lib/src/bundled-translations.pt-PT-DM7Vsf-h.js +177 -0
- package/lib/src/bundles/bundled-translations.de-DE.json +1 -2
- package/lib/src/bundles/bundled-translations.es-ES.json +1 -2
- package/lib/src/bundles/bundled-translations.fr-CA.json +1 -2
- package/lib/src/bundles/bundled-translations.fr-FR.json +1 -2
- package/lib/src/bundles/bundled-translations.json +2 -15
- package/lib/src/bundles/bundled-translations.pt-BR.json +1 -2
- package/lib/src/bundles/bundled-translations.pt-PT.json +1 -2
- package/lib/src/clients/ai-assistant-client.d.ts +1 -0
- package/lib/src/clients/ai-assistant-client.js +1 -0
- package/lib/src/css/library.brand-page-brandCrowd.min.css +74 -132
- package/lib/src/css/library.brand-page-brandPage.min.css +74 -132
- package/lib/src/css/library.brand-page-designCom.min.css +74 -132
- package/lib/src/css/library.brand-page-preview.min.css +74 -132
- package/lib/src/index.mjs +1 -1
- package/lib/src/{lib-DKf-xyAs.js → lib-DhEJMZFn.js} +24761 -25360
- package/lib/src/metadata-builder/builders/global-font-propagation.d.ts +28 -0
- package/lib/src/metadata-builder/builders/global-font-propagation.js +125 -0
- package/lib/src/metadata-builder/builders/global-styles-builder.js +16 -0
- package/lib/src/metadata-builder/builders/section-builders/index.d.ts +1 -0
- package/lib/src/metadata-builder/builders/section-builders/index.js +1 -0
- package/lib/src/metadata-builder/builders/section-builders/support-me-builder.d.ts +8 -0
- package/lib/src/metadata-builder/builders/section-builders/support-me-builder.js +25 -0
- package/lib/src/metadata-builder/builders/section-builders/text-section-builder.js +5 -2
- package/lib/src/metadata-builder/builders/section-field-maps.js +15 -0
- package/lib/src/metadata-builder/builders/section-field-utils.d.ts +6 -1
- package/lib/src/metadata-builder/builders/section-field-utils.js +48 -12
- package/lib/src/metadata-builder/builders/section-rules/support-me.rules.d.ts +2 -0
- package/lib/src/metadata-builder/builders/section-rules/support-me.rules.js +17 -0
- package/lib/src/metadata-builder/metadata-executor.js +3 -1
- package/lib/src/metadata-builder/models.d.ts +2 -0
- package/lib/src/metadata-builder/models.js +2 -0
- package/lib/src/metadata-builder/parsers/ai-toolcall-parser.d.ts +1 -0
- package/lib/src/metadata-builder/parsers/ai-toolcall-parser.js +4 -0
- package/lib/src/metadata-builder/parsers/section-tool-arguments.d.ts +14 -2
- package/lib/src/shared/color-picker/components/ColorPicker.mixin.d.ts +1 -30
- package/lib/src/shared/color-picker/components/ColorPicker.mixin.js +6 -76
- package/lib/src/shared/color-picker/models.d.ts +0 -2
- package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.d.ts +0 -3
- package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.js +0 -28
- package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.d.ts +0 -3
- package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.js +0 -34
- package/lib/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.mixin.d.ts +5 -0
- package/lib/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.mixin.js +50 -3
- package/lib/src/shared/style-settings/components/StyleSettings.mixin.d.ts +53 -44
- package/lib/src/shared/style-settings/components/StyleSettings.mixin.js +56 -11
- package/lib/src/utils/minify-brand-page-metadata.js +7 -0
- package/package.json +1 -1
- package/src/brand-page/components/background-shape/BackgroundShape.mixin.ts +3 -23
- package/src/brand-page/components/media/Shape.mixin.ts +2 -25
- package/src/brand-page/components/page/Page.mixin.ts +2 -28
- package/src/brand-page/components/page/Page.vue +0 -6
- package/src/brand-page/models/index.ts +0 -18
- package/src/brand-page/utils/__snapshots__/migration.util.test.ts.snap +27 -108
- package/src/brand-page/utils/__snapshots__/migration2.util.test.ts.snap +0 -1
- package/src/brand-page/utils/__snapshots__/model.util.test.ts.snap +0 -2
- package/src/brand-page/utils/color.util.test.ts +0 -35
- package/src/brand-page/utils/color.util.ts +0 -24
- package/src/brand-page/utils/index.ts +0 -1
- package/src/brand-page/utils/migration.util.ts +1 -33
- package/src/brand-page/utils/style.util.test.ts +0 -54
- package/src/brand-page/utils/style.util.ts +0 -57
- package/src/brand-page/utils/view-model.util.test.ts +3 -186
- package/src/brand-page/utils/view-model.util.ts +22 -48
- package/src/brand-page/view-models.ts +0 -2
- package/src/brand-page-maker/components/admin-logo-settings/AdminLogoSettings.vue +5 -2
- package/src/brand-page-maker/components/ai-website-builder/AiWebsiteBuilder.vue +1 -1
- package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.vue +0 -2
- package/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.ts +15 -21
- package/src/brand-page-maker/components/color-palette/BpColorPalette.vue +6 -79
- package/src/brand-page-maker/components/color-palette/BpColorPicker.vue +20 -91
- package/src/brand-page-maker/components/color-palette/i18n/color-palette.de-DE.json +1 -2
- package/src/brand-page-maker/components/color-palette/i18n/color-palette.es-ES.json +1 -2
- package/src/brand-page-maker/components/color-palette/i18n/color-palette.fr-CA.json +1 -2
- package/src/brand-page-maker/components/color-palette/i18n/color-palette.fr-FR.json +1 -2
- package/src/brand-page-maker/components/color-palette/i18n/color-palette.json +1 -2
- package/src/brand-page-maker/components/color-palette/i18n/color-palette.pt-BR.json +1 -2
- package/src/brand-page-maker/components/color-palette/i18n/color-palette.pt-PT.json +1 -2
- package/src/brand-page-maker/components/rich-text-editor/RichTextEditor.vue +1 -2
- package/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.ts +14 -17
- package/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.ts +7 -3
- package/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.ts +2 -12
- package/src/brand-page-maker/constants/sidebar-constant.ts +0 -12
- package/src/brand-page-maker/stores/brandpage-maker/__snapshots__/brandpage-maker-store.test.ts.snap +3 -3
- package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.test.ts +9 -80
- package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.ts +62 -47
- package/src/brand-page-maker/utils/index.ts +11 -15
- package/src/brand-page-maker/utils/rich-text-editor.util.test.ts +0 -26
- package/src/brand-page-maker/utils/rich-text-editor.util.ts +0 -13
- package/src/bundles/bundled-translations.de-DE.json +1 -2
- package/src/bundles/bundled-translations.es-ES.json +1 -2
- package/src/bundles/bundled-translations.fr-CA.json +1 -2
- package/src/bundles/bundled-translations.fr-FR.json +1 -2
- package/src/bundles/bundled-translations.json +2 -15
- package/src/bundles/bundled-translations.pt-BR.json +1 -2
- package/src/bundles/bundled-translations.pt-PT.json +1 -2
- package/src/clients/ai-assistant-client.ts +1 -0
- package/src/metadata-builder/builders/global-font-propagation.test.ts +269 -0
- package/src/metadata-builder/builders/global-font-propagation.ts +205 -0
- package/src/metadata-builder/builders/global-styles-builder.ts +21 -0
- package/src/metadata-builder/builders/section-builders/index.ts +1 -0
- package/src/metadata-builder/builders/section-builders/support-me-builder.test.ts +177 -0
- package/src/metadata-builder/builders/section-builders/support-me-builder.ts +43 -0
- package/src/metadata-builder/builders/section-builders/text-section-builder.ts +5 -2
- package/src/metadata-builder/builders/section-field-maps.ts +18 -0
- package/src/metadata-builder/builders/section-field-utils.test.ts +83 -0
- package/src/metadata-builder/builders/section-field-utils.ts +69 -18
- package/src/metadata-builder/builders/section-rules/support-me.rules.ts +39 -0
- package/src/metadata-builder/metadata-executor.ts +3 -0
- package/src/metadata-builder/models.ts +2 -0
- package/src/metadata-builder/parsers/ai-toolcall-parser.ts +4 -0
- package/src/metadata-builder/parsers/section-tool-arguments.ts +14 -1
- package/src/shared/background-settings/components/background-color/BackgroundColorSettings.vue +25 -6
- package/src/shared/color-picker/components/ColorPicker.mixin.ts +7 -81
- package/src/shared/color-picker/models.ts +0 -7
- package/src/shared/content-settings/components/color-field/ColorField.vue +31 -211
- package/src/shared/content-settings/components/color-field/i18n/color-field.json +1 -10
- package/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.ts +0 -41
- package/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.vue +0 -15
- package/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.vue +0 -1
- package/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.ts +0 -49
- package/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.vue +0 -10
- package/src/shared/content-settings/components/text-style-field/TextStyleField.vue +0 -2
- package/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.mixin.ts +64 -3
- package/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.vue +38 -3
- package/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.vue +0 -2
- package/src/shared/style-settings/components/StyleSettings.mixin.ts +67 -14
- package/src/shared/style-settings/components/StyleSettings.vue +186 -18
- package/src/shared/style-settings/components/i18n/style-settings.json +0 -3
- package/src/utils/minify-brand-page-metadata.test.ts +61 -0
- package/src/utils/minify-brand-page-metadata.ts +8 -0
- package/lib/src/brand-page/utils/color-palette.util.d.ts +0 -125
- package/lib/src/brand-page/utils/color-palette.util.js +0 -292
- package/lib/src/brand-page/utils/migration/migration-20.d.ts +0 -2
- package/lib/src/brand-page/utils/migration/migration-20.js +0 -211
- package/lib/src/brand-page/utils/migration/migration-21.d.ts +0 -2
- package/lib/src/brand-page/utils/migration/migration-21.js +0 -177
- package/lib/src/brand-page-maker/utils/apply-color-strategy.d.ts +0 -52
- package/lib/src/brand-page-maker/utils/apply-color-strategy.js +0 -88
- package/lib/src/bundled-translations-C0fm9DE2.js +0 -177
- package/lib/src/bundled-translations.de-DE-BACSJnIH.js +0 -177
- package/lib/src/bundled-translations.es-ES-5Y2R5haO.js +0 -177
- package/lib/src/bundled-translations.fr-CA-CQ4zMF3r.js +0 -177
- package/lib/src/bundled-translations.fr-FR-BTaChKrC.js +0 -177
- package/lib/src/bundled-translations.pt-BR-CptaTqfB.js +0 -177
- package/lib/src/bundled-translations.pt-PT-DqIvqMCh.js +0 -177
- package/lib/src/shared/color-palette/store/color-palette-store.d.ts +0 -92
- package/lib/src/shared/color-palette/store/color-palette-store.js +0 -169
- package/lib/src/shared/color-palette/store/index.d.ts +0 -1
- package/lib/src/shared/color-palette/store/index.js +0 -1
- package/lib/src/shared/color-strategies/color-strategies.d.ts +0 -62
- package/lib/src/shared/color-strategies/color-strategies.js +0 -135
- package/lib/src/shared/color-strategies/models.d.ts +0 -29
- package/lib/src/shared/color-strategies/models.js +0 -5
- package/src/brand-page/utils/color-palette.util.test.ts +0 -354
- package/src/brand-page/utils/color-palette.util.ts +0 -424
- package/src/brand-page/utils/migration/migration-20.test.ts +0 -370
- package/src/brand-page/utils/migration/migration-20.ts +0 -279
- package/src/brand-page/utils/migration/migration-21.test.ts +0 -367
- package/src/brand-page/utils/migration/migration-21.ts +0 -245
- package/src/brand-page-maker/components/admin-settings/AdminSettings.vue +0 -54
- package/src/brand-page-maker/utils/apply-color-strategy.test.ts +0 -400
- package/src/brand-page-maker/utils/apply-color-strategy.ts +0 -161
- package/src/brand-page-maker/utils/is-color-matched.test.ts +0 -44
- package/src/shared/color-palette/store/color-palette-store.test.ts +0 -325
- package/src/shared/color-palette/store/color-palette-store.ts +0 -249
- package/src/shared/color-palette/store/index.ts +0 -1
- package/src/shared/color-strategies/color-strategies.test.ts +0 -263
- package/src/shared/color-strategies/color-strategies.ts +0 -191
- package/src/shared/color-strategies/models.ts +0 -47
- package/src/shared/content-settings/components/color-strategy-panel/ColorStrategyPanel.test.ts +0 -81
- package/src/shared/content-settings/components/color-strategy-panel/ColorStrategyPanel.vue +0 -93
- package/src/shared/content-settings/components/color-strategy-panel/color-strategy-gate.test.ts +0 -113
- package/src/shared/side-bar/components/SideBar.tabs.test.ts +0 -64
- package/src/shared/style-settings/components/color-palette-settings-with-state/ColorPaletteSettingsWithState.vue +0 -85
- package/src/shared/style-settings/components/style-option-color-field-with-state/StyleOptionColorFieldWithState.test.ts +0 -104
- package/src/shared/style-settings/components/style-option-color-field-with-state/StyleOptionColorFieldWithState.vue +0 -82
|
@@ -16,7 +16,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
16
16
|
backgroundShapesStyle(): BrandPageCssStyle;
|
|
17
17
|
isFullBackground(): boolean;
|
|
18
18
|
objectUrl(): string;
|
|
19
|
-
resolvedShapeColor(): string;
|
|
20
19
|
}, {
|
|
21
20
|
isValidSvgUrl(url: string): boolean;
|
|
22
21
|
applySvgAttributes(svgData: string): string;
|
|
@@ -2,7 +2,6 @@ import { defineComponent } from 'vue';
|
|
|
2
2
|
import ComponentCommonMixin from '../mixins/component-common.mixin';
|
|
3
3
|
import axios from 'axios';
|
|
4
4
|
import { applyColorToSvgString } from '@brand-page/utils/svg-color.util';
|
|
5
|
-
import { resolveColorReference, } from '@brand-page/utils/color-palette.util';
|
|
6
5
|
import { isURL } from '../../../utils/validator.util';
|
|
7
6
|
import { PROXY_SHAPE_URL_REGEX } from '@brand-page/constants';
|
|
8
7
|
import { getRegexToMatchAttributeInSvgTag } from '@brand-page/utils/svg.util';
|
|
@@ -18,11 +17,6 @@ export default defineComponent({
|
|
|
18
17
|
required: true,
|
|
19
18
|
},
|
|
20
19
|
},
|
|
21
|
-
inject: {
|
|
22
|
-
// BP-5886: getter for the page palette (provided by <Page>) to resolve
|
|
23
|
-
// `var(--id)` fills.
|
|
24
|
-
getPaletteColors: { default: undefined },
|
|
25
|
-
},
|
|
26
20
|
data() {
|
|
27
21
|
return {
|
|
28
22
|
svgData: '',
|
|
@@ -54,18 +48,9 @@ export default defineComponent({
|
|
|
54
48
|
}
|
|
55
49
|
return this.viewModel.name;
|
|
56
50
|
},
|
|
57
|
-
// BP-5886: the shape's colour with any palette `var(--id)` resolved to its
|
|
58
|
-
// concrete value — `var()` can't resolve inside the <img>-embedded SVG.
|
|
59
|
-
resolvedShapeColor() {
|
|
60
|
-
const getColors = this.getPaletteColors;
|
|
61
|
-
const colors = getColors?.() ?? [];
|
|
62
|
-
return resolveColorReference(this.viewModel?.style?.color, colors);
|
|
63
|
-
},
|
|
64
51
|
},
|
|
65
52
|
watch: {
|
|
66
|
-
|
|
67
|
-
// colour edit and an edit to a referenced palette role.
|
|
68
|
-
resolvedShapeColor: {
|
|
53
|
+
'viewModel.style.color': {
|
|
69
54
|
handler() {
|
|
70
55
|
this.render();
|
|
71
56
|
},
|
|
@@ -161,8 +146,8 @@ export default defineComponent({
|
|
|
161
146
|
else {
|
|
162
147
|
this.originalSvgData = this.viewModel.name;
|
|
163
148
|
}
|
|
164
|
-
if (this.
|
|
165
|
-
this.svgData = applyColorToSvgString(this.originalSvgData, this.
|
|
149
|
+
if (this.viewModel.style.color) {
|
|
150
|
+
this.svgData = applyColorToSvgString(this.originalSvgData, this.viewModel.style.color);
|
|
166
151
|
}
|
|
167
152
|
else {
|
|
168
153
|
this.svgData = this.originalSvgData;
|
|
@@ -30,7 +30,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
30
30
|
originalSvgData: string;
|
|
31
31
|
}, {
|
|
32
32
|
useObjectElement(): boolean;
|
|
33
|
-
resolvedColorReplacements(): ColorReplacement[];
|
|
34
33
|
objectStyle(): {
|
|
35
34
|
width?: undefined;
|
|
36
35
|
height?: undefined;
|
|
@@ -2,7 +2,6 @@ import { defineComponent } from 'vue';
|
|
|
2
2
|
import ComponentCommonMixin from '../mixins/component-common.mixin';
|
|
3
3
|
import axios from 'axios';
|
|
4
4
|
import { applyColorReplacementsToSvgString } from '@brand-page/utils/svg-color.util';
|
|
5
|
-
import { resolveColorReference, } from '@brand-page/utils/color-palette.util';
|
|
6
5
|
import { PROXY_SHAPE_URL_REGEX } from '@brand-page/constants';
|
|
7
6
|
import { getRegexToMatchAttributeInSvgTag } from '@brand-page/utils/svg.util';
|
|
8
7
|
export default defineComponent({
|
|
@@ -32,11 +31,6 @@ export default defineComponent({
|
|
|
32
31
|
default: undefined,
|
|
33
32
|
},
|
|
34
33
|
},
|
|
35
|
-
inject: {
|
|
36
|
-
// BP-5886: getter for the page palette (provided by <Page>) — used to resolve
|
|
37
|
-
// `var(--id)` fills to concrete colours before the SVG is built.
|
|
38
|
-
getPaletteColors: { default: undefined },
|
|
39
|
-
},
|
|
40
34
|
data() {
|
|
41
35
|
return { svgData: '', svgDataObjectUrl: '', originalSvgData: '' };
|
|
42
36
|
},
|
|
@@ -44,16 +38,6 @@ export default defineComponent({
|
|
|
44
38
|
useObjectElement() {
|
|
45
39
|
return !!this.imageUrl.match(PROXY_SHAPE_URL_REGEX);
|
|
46
40
|
},
|
|
47
|
-
// BP-5886: colour replacements with any palette `var(--id)` resolved to its
|
|
48
|
-
// concrete value — `var()` can't resolve inside the <img>-embedded SVG.
|
|
49
|
-
resolvedColorReplacements() {
|
|
50
|
-
const getColors = this.getPaletteColors;
|
|
51
|
-
const colors = getColors?.() ?? [];
|
|
52
|
-
return (this.colorReplacements ?? []).map((c) => ({
|
|
53
|
-
...c,
|
|
54
|
-
replacementColor: resolveColorReference(c.replacementColor, colors),
|
|
55
|
-
}));
|
|
56
|
-
},
|
|
57
41
|
objectStyle() {
|
|
58
42
|
if (!this.size) {
|
|
59
43
|
return {};
|
|
@@ -76,9 +60,7 @@ export default defineComponent({
|
|
|
76
60
|
},
|
|
77
61
|
},
|
|
78
62
|
watch: {
|
|
79
|
-
|
|
80
|
-
// its own colours change and when a referenced palette colour is edited.
|
|
81
|
-
resolvedColorReplacements: {
|
|
63
|
+
colorReplacements: {
|
|
82
64
|
handler(newVal, oldVal) {
|
|
83
65
|
if (newVal &&
|
|
84
66
|
oldVal &&
|
|
@@ -154,7 +136,7 @@ export default defineComponent({
|
|
|
154
136
|
if (!this.originalSvgData) {
|
|
155
137
|
return;
|
|
156
138
|
}
|
|
157
|
-
this.svgData = applyColorReplacementsToSvgString(this.originalSvgData, this.
|
|
139
|
+
this.svgData = applyColorReplacementsToSvgString(this.originalSvgData, this.colorReplacements);
|
|
158
140
|
this.svgData = this.applySvgAttributes(this.svgData);
|
|
159
141
|
const blob = new Blob([this.svgData], { type: 'image/svg+xml' });
|
|
160
142
|
const oldSvgDataObjectUrl = this.svgDataObjectUrl;
|
|
@@ -52,8 +52,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
52
52
|
styles: {};
|
|
53
53
|
}, {
|
|
54
54
|
brandPageToken(): string | null;
|
|
55
|
-
shouldEmitPaletteRoot(): boolean;
|
|
56
|
-
paletteRootStyleHtml(): string;
|
|
57
55
|
contents(): ContentViewModel[];
|
|
58
56
|
backgroundShapes(): BackgroundShape[];
|
|
59
57
|
rootElementStyles(): BrandPageCssStyle;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { defineComponent
|
|
1
|
+
import { defineComponent } from 'vue';
|
|
2
2
|
import { DEFAULT_FONT_FAMILY_KEY, FALLBACK_FONT_FAMILIES, FONT_FAMILY_CONFIGS, } from '../../constants';
|
|
3
|
-
import { getSlugFromContext, getPageHeadingText
|
|
3
|
+
import { getSlugFromContext, getPageHeadingText } from '@brand-page/utils';
|
|
4
4
|
import { findNavItemByRelativePath } from '@brand-page/utils/route.util';
|
|
5
5
|
import { BRAND_PAGE_TYPES } from '@brand-page/models';
|
|
6
6
|
import { hasProfileContent as checkHasProfileContent } from '@brand-page/utils/vcard.util';
|
|
@@ -59,14 +59,6 @@ export default defineComponent({
|
|
|
59
59
|
'save-contact-widget-click',
|
|
60
60
|
],
|
|
61
61
|
setup(props) {
|
|
62
|
-
// BP-5886: shapes render as <img>-embedded SVG, an isolated document the
|
|
63
|
-
// `:root` palette block can't reach, so a `var(--id)` fill won't resolve.
|
|
64
|
-
// Provide the palette as a getter so the shape mixins can resolve their refs
|
|
65
|
-
// to concrete colours before building the SVG. A getter (not a provided ref)
|
|
66
|
-
// sidesteps Options-API inject ref-unwrapping ambiguity and stays reactive:
|
|
67
|
-
// calling it inside a shape's computed tracks `viewModel.styles.colors`, so
|
|
68
|
-
// shapes recolour when a referenced palette colour is edited.
|
|
69
|
-
provide('getPaletteColors', () => props.viewModel?.styles?.colors ?? []);
|
|
70
62
|
return {
|
|
71
63
|
fluidText: JSON.stringify({
|
|
72
64
|
default: props.context.brandPageType === BRAND_PAGE_TYPES.brandSite
|
|
@@ -85,17 +77,6 @@ export default defineComponent({
|
|
|
85
77
|
brandPageToken() {
|
|
86
78
|
return this.viewModel?.brandPageToken || null;
|
|
87
79
|
},
|
|
88
|
-
// BP-5886 — global colour palette emitted as a single `:root` block.
|
|
89
|
-
// Only the published single-document surfaces emit the global block:
|
|
90
|
-
// template-grid cards get scoped vars (TemplatePreview) and the maker main
|
|
91
|
-
// preview emits from BrandPageMakerPage, so guard those out to avoid a
|
|
92
|
-
// duplicate / colliding `:root`.
|
|
93
|
-
shouldEmitPaletteRoot() {
|
|
94
|
-
return !this.context?.isTemplate && !this.context?.isPreview;
|
|
95
|
-
},
|
|
96
|
-
paletteRootStyleHtml() {
|
|
97
|
-
return buildPaletteRootCss(this.viewModel?.styles?.colors ?? []);
|
|
98
|
-
},
|
|
99
80
|
contents() {
|
|
100
81
|
return this.pageViewModel?.contents || [];
|
|
101
82
|
},
|
|
@@ -53,7 +53,6 @@ export declare class PageStyles {
|
|
|
53
53
|
logoStyles: LogoStyles;
|
|
54
54
|
textStyles: TextStyles;
|
|
55
55
|
galleryStyles: GalleryStyles;
|
|
56
|
-
colors: ColorItem[];
|
|
57
56
|
constructor(option?: Partial<Omit<PageStyles, 'logoStyles' | 'buttonStyles' | 'backgroundStyles' | 'textStyles'>> & {
|
|
58
57
|
logoStyles?: Partial<LogoStyles>;
|
|
59
58
|
buttonStyles?: Partial<ButtonStyles>;
|
|
@@ -371,18 +370,6 @@ export interface ColorReplacement {
|
|
|
371
370
|
originalColor: string;
|
|
372
371
|
replacementColor: string;
|
|
373
372
|
}
|
|
374
|
-
/**
|
|
375
|
-
* A single entry in the global colour palette (BP-5886).
|
|
376
|
-
* `id` is the CSS-variable name emitted at :root (`--<id>`); elements reference
|
|
377
|
-
* the colour via `var(--<id>)`. `value` is a concrete literal (rgb/#hex or a
|
|
378
|
-
* gradient string). `palette` = the 4 static brand roles (`palette-0`…`palette-3`);
|
|
379
|
-
* `custom` = one-off colours chosen on elements (`palette-custom-<uuid>`).
|
|
380
|
-
*/
|
|
381
|
-
export interface ColorItem {
|
|
382
|
-
id: string;
|
|
383
|
-
value: string;
|
|
384
|
-
type: 'palette' | 'custom';
|
|
385
|
-
}
|
|
386
373
|
export interface TestimonialSectionContent extends Content {
|
|
387
374
|
type: 'testimonial-section';
|
|
388
375
|
title: string;
|
|
@@ -85,9 +85,6 @@ export class PageStyles {
|
|
|
85
85
|
logoStyles;
|
|
86
86
|
textStyles;
|
|
87
87
|
galleryStyles;
|
|
88
|
-
// BP-5886 global colour palette. Non-nullable (default []) per the model
|
|
89
|
-
// reactivity rule; old persisted `styles` that omit it hydrate to [].
|
|
90
|
-
colors;
|
|
91
88
|
constructor(option = {}) {
|
|
92
89
|
this.backgroundStyles = new BackgroundStyles(option.backgroundStyles || {
|
|
93
90
|
backgroundImageUrl: '',
|
|
@@ -112,7 +109,6 @@ export class PageStyles {
|
|
|
112
109
|
? new TextStyles(option.textStyles)
|
|
113
110
|
: TextStyles.GetDefaultTextStyle();
|
|
114
111
|
this.galleryStyles = new GalleryStyles(option.galleryStyles);
|
|
115
|
-
this.colors = option.colors ? option.colors.map((c) => ({ ...c })) : [];
|
|
116
112
|
}
|
|
117
113
|
}
|
|
118
114
|
export const ASPECT_RATIOS = {
|
|
@@ -25,34 +25,16 @@ export const calculateLuminanceRatio = (color1, color2) => {
|
|
|
25
25
|
: (color1luminance + 0.05) / (color2luminance + 0.05);
|
|
26
26
|
return ratio;
|
|
27
27
|
};
|
|
28
|
-
// BP-5886: these helpers assume a `#rrggbb[aa]` hex. Under the palette model a
|
|
29
|
-
// colour value may instead be a `var(--id)` reference (or a named colour /
|
|
30
|
-
// gradient), and blindly substringing those yields garbage (e.g. `var(--p`),
|
|
31
|
-
// which corrupts the picker swatch. Guard so a non-hex value passes through
|
|
32
|
-
// untouched rather than being mangled.
|
|
33
|
-
const isHashPrefixedHex = (value) => typeof value === 'string' && value.trim().startsWith('#');
|
|
34
28
|
export const isHexTransparent = (hex) => {
|
|
35
|
-
if (!isHashPrefixedHex(hex)) {
|
|
36
|
-
return false;
|
|
37
|
-
}
|
|
38
29
|
return hex.trim().substring(7, 9) === '00';
|
|
39
30
|
};
|
|
40
31
|
export const removeAlphaFromHex = (hex) => {
|
|
41
|
-
if (!isHashPrefixedHex(hex)) {
|
|
42
|
-
return hex;
|
|
43
|
-
}
|
|
44
32
|
return hex.trim().substring(0, 7);
|
|
45
33
|
};
|
|
46
34
|
export const addTransparentAlphaChannelToHex = (hex) => {
|
|
47
|
-
if (!isHashPrefixedHex(hex)) {
|
|
48
|
-
return hex;
|
|
49
|
-
}
|
|
50
35
|
return `${removeAlphaFromHex(hex)}00`;
|
|
51
36
|
};
|
|
52
37
|
export const addOpacityToHex = (hex, opacity) => {
|
|
53
|
-
if (!isHashPrefixedHex(hex)) {
|
|
54
|
-
return hex;
|
|
55
|
-
}
|
|
56
38
|
return `${removeAlphaFromHex(hex)}${Math.round(opacity * 255).toString(16)}`;
|
|
57
39
|
};
|
|
58
40
|
export const setRgbAlpha = (rgb, alpha) => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type BrandPageModel, type LogoImageModel
|
|
1
|
+
import { type BrandPageModel, type LogoImageModel } from '../models';
|
|
2
2
|
export interface MigrationData {
|
|
3
3
|
brandPageModel: BrandPageModel;
|
|
4
4
|
useOldLogoRenderSize: boolean;
|
|
@@ -8,7 +8,6 @@ export interface MigrationOptions {
|
|
|
8
8
|
isUserDraft: boolean;
|
|
9
9
|
isServerRender: boolean;
|
|
10
10
|
disableLogoSizeMigration?: boolean;
|
|
11
|
-
logoTheme?: LogoTheme;
|
|
12
11
|
}
|
|
13
12
|
export declare const GetLatestModelVersion: () => number;
|
|
14
13
|
export declare const migrateBrandPageModel: (brandPageModel: BrandPageModel, options: MigrationOptions) => Promise<MigrationData>;
|
|
@@ -22,8 +22,6 @@ import { migration16 } from './migration/migration-16';
|
|
|
22
22
|
import { migration17 } from './migration/migration-17';
|
|
23
23
|
import { migration18 } from './migration/migration-18';
|
|
24
24
|
import { migration19 } from './migration/migration-19';
|
|
25
|
-
import { migration20 } from './migration/migration-20';
|
|
26
|
-
import { migration21 } from './migration/migration-21';
|
|
27
25
|
const MIGRATION_TABLE = [
|
|
28
26
|
{
|
|
29
27
|
version: 1,
|
|
@@ -151,27 +149,6 @@ const MIGRATION_TABLE = [
|
|
|
151
149
|
runAlways: true,
|
|
152
150
|
description: 'BP-5800: seed the button fill colour as each block’s own container colour so it is independent of the site button (existing sites render unchanged) — backgroundStyle for mailing-list, request-payment and support-me (all types); cardStyle for the BP/BC contact form (skipped on brand-site)',
|
|
153
151
|
},
|
|
154
|
-
{
|
|
155
|
-
version: 20,
|
|
156
|
-
migrateFn: migration20,
|
|
157
|
-
// Version-gated (runs once, when modelVersion < 20): builds the palette + 4
|
|
158
|
-
// palette roles and referencifies every colour, then the model is stamped v20
|
|
159
|
-
// and never re-migrated. Idempotent if it ever re-runs (existing palette + only
|
|
160
|
-
// var() values). Ordered after migration19 so its seeded colours extract too.
|
|
161
|
-
description: 'BP-5886 Global Color V2: extract every colour into a central styles.colors palette (4 palette roles + palette-custom-<uuid>) and rewrite references to var(--id) — RTE, shapes, box-shadow, gradients included (lossless, once)',
|
|
162
|
-
},
|
|
163
|
-
{
|
|
164
|
-
version: 21,
|
|
165
|
-
migrateFn: migration21,
|
|
166
|
-
// Prerequisite for colour strategies touching text. Phase 1 makes `color`
|
|
167
|
-
// cascade (element wins over its global text style) instead of being dropped;
|
|
168
|
-
// this clears the element colours that are shadowed TODAY so none of them
|
|
169
|
-
// spring to life when the cascade ships. Lossless — those values render
|
|
170
|
-
// nowhere under current semantics. MUST ship in the same release as the
|
|
171
|
-
// resolver change (decision 0005: no flag on a persisted-model migration).
|
|
172
|
-
// Ordered after migration20 so it sees referencified var(--id) colours.
|
|
173
|
-
description: 'BP-5886 colour strategies Phase 1: drop element text `color` that is shadowed by the linked global text style (dead data today) so the new colour cascade does not resurface it',
|
|
174
|
-
},
|
|
175
152
|
];
|
|
176
153
|
export const GetLatestModelVersion = () => Math.max(...MIGRATION_TABLE.map((x) => x.version));
|
|
177
154
|
export const migrateBrandPageModel = async (brandPageModel, options) => {
|
|
@@ -1,19 +1,6 @@
|
|
|
1
|
-
import type { BrandPageModel, LogoTheme, ThemeColor, FabricLogoTheme, ButtonStyles, PageModel
|
|
1
|
+
import type { BrandPageModel, LogoTheme, ThemeColor, FabricLogoTheme, ButtonStyles, PageModel } from '../models';
|
|
2
2
|
import { NavigationDesktop, NavigationMobile } from '../models';
|
|
3
3
|
import { PageStyles, PageHeaderMobile, PageHeaderDesktop, PageFooterMobile, PageFooterDesktop } from '../models';
|
|
4
|
-
/**
|
|
5
|
-
* BP-5886 — global colour palette emission.
|
|
6
|
-
*
|
|
7
|
-
* A `ColorItem` already holds one resolved value, so emission is a straight
|
|
8
|
-
* `--id: value` map (no gradient/solid gating here — that's an authoring-time
|
|
9
|
-
* concern). These are the single source of truth for the `:root` block across
|
|
10
|
-
* the maker preview, the published `<Page>` (SSR), and template-grid cards.
|
|
11
|
-
*/
|
|
12
|
-
export declare const paletteToCssVarDeclarations: (colors: ColorItem[]) => string;
|
|
13
|
-
/** Full `<style>:root{…}</style>` block for `v-html` consumers (Page.vue, maker). */
|
|
14
|
-
export declare const buildPaletteRootCss: (colors: ColorItem[]) => string;
|
|
15
|
-
/** `{ '--id': 'value' }` for scoped inline `:style` consumers (template grid). */
|
|
16
|
-
export declare const buildPaletteVarStyle: (colors: ColorItem[]) => Record<string, string>;
|
|
17
4
|
/**
|
|
18
5
|
* Simple utility to convert any color format to hex for consistent comparison
|
|
19
6
|
*/
|
|
@@ -6,34 +6,6 @@ import { addTransparentAlphaChannelToHex, calculateLuminanceRatio, getNewColorBa
|
|
|
6
6
|
import { isRgbColor } from '@src/utils/helpers';
|
|
7
7
|
import chroma from 'chroma-js';
|
|
8
8
|
import { hasRTEContent, RTE_ALLOWED_SECTION_TYPES, } from '@brand-page-maker/utils';
|
|
9
|
-
import { isColorVarReference } from './color-palette.util';
|
|
10
|
-
/**
|
|
11
|
-
* BP-5886 — global colour palette emission.
|
|
12
|
-
*
|
|
13
|
-
* A `ColorItem` already holds one resolved value, so emission is a straight
|
|
14
|
-
* `--id: value` map (no gradient/solid gating here — that's an authoring-time
|
|
15
|
-
* concern). These are the single source of truth for the `:root` block across
|
|
16
|
-
* the maker preview, the published `<Page>` (SSR), and template-grid cards.
|
|
17
|
-
*/
|
|
18
|
-
export const paletteToCssVarDeclarations = (colors) => (colors ?? [])
|
|
19
|
-
.filter((c) => c && c.id && c.value)
|
|
20
|
-
.map((c) => `--${c.id}: ${c.value};`)
|
|
21
|
-
.join('\n ');
|
|
22
|
-
/** Full `<style>:root{…}</style>` block for `v-html` consumers (Page.vue, maker). */
|
|
23
|
-
export const buildPaletteRootCss = (colors) => {
|
|
24
|
-
const declarations = paletteToCssVarDeclarations(colors);
|
|
25
|
-
return declarations
|
|
26
|
-
? `<style>
|
|
27
|
-
:root {
|
|
28
|
-
${declarations}
|
|
29
|
-
}
|
|
30
|
-
</style>`
|
|
31
|
-
: '';
|
|
32
|
-
};
|
|
33
|
-
/** `{ '--id': 'value' }` for scoped inline `:style` consumers (template grid). */
|
|
34
|
-
export const buildPaletteVarStyle = (colors) => Object.fromEntries((colors ?? [])
|
|
35
|
-
.filter((c) => c && c.id && c.value)
|
|
36
|
-
.map((c) => [`--${c.id}`, c.value]));
|
|
37
9
|
/**
|
|
38
10
|
* Simple utility to convert any color format to hex for consistent comparison
|
|
39
11
|
*/
|
|
@@ -87,13 +59,6 @@ export const getColorValueForCorrectCssProperty = (k, colorData) => {
|
|
|
87
59
|
: colorData.rgb;
|
|
88
60
|
};
|
|
89
61
|
export const colorMatchCssKeyValue = (cssKey, cssValue, logoTheme, applyColorWithMatchingLuminance) => {
|
|
90
|
-
// BP-5886: never bake a palette reference. Once a value is a `var(--id)` (from
|
|
91
|
-
// migration-20) it is resolved by the emitted :root block — the legacy logo
|
|
92
|
-
// theme bake must leave it untouched (the substring match below would otherwise
|
|
93
|
-
// rewrite `var(--logo-text-color)` back to rgb).
|
|
94
|
-
if (isColorVarReference(cssValue)) {
|
|
95
|
-
return { cssValue, isModified: false };
|
|
96
|
-
}
|
|
97
62
|
if (applyColorWithMatchingLuminance?.originalColor) {
|
|
98
63
|
let themeToApply;
|
|
99
64
|
if (cssValue === STYLE_THEME_KEYS.LogoTextMultiColor) {
|
|
@@ -351,14 +316,6 @@ export const applyLogoThemeToBrandPageStyles = (logoTheme, pageStyles) => {
|
|
|
351
316
|
let isModified = false;
|
|
352
317
|
const newStyle = new PageStyles();
|
|
353
318
|
for (const [key, value] of Object.entries(pageStyles)) {
|
|
354
|
-
// BP-5886: `colors` is the global palette (ColorItem[]), not an element
|
|
355
|
-
// style — preserve it verbatim. The logo-theme bake must never walk/rewrite
|
|
356
|
-
// the palette (the generic array branch below would collapse it to a single
|
|
357
|
-
// element and break every downstream `colors.map`).
|
|
358
|
-
if (key === 'colors') {
|
|
359
|
-
newStyle.colors = value;
|
|
360
|
-
continue;
|
|
361
|
-
}
|
|
362
319
|
if (Array.isArray(value)) {
|
|
363
320
|
for (let i = 0; i < value.length; i++) {
|
|
364
321
|
const output = applyLogoThemeToBrandPageStyleRecursive(logoTheme, `pageStyles`, value[i]);
|
|
@@ -30,29 +30,6 @@ const applyDefaultViewModelTextStyle = (textStyle) => {
|
|
|
30
30
|
wordBreak: 'normal',
|
|
31
31
|
});
|
|
32
32
|
};
|
|
33
|
-
/**
|
|
34
|
-
* BP-5886 colour-strategies Phase 1 — **`color` cascades; typography does not.**
|
|
35
|
-
*
|
|
36
|
-
* A global text style (`textStyleOptions[type]`) is a *default* for colour: the
|
|
37
|
-
* element's own `color` wins and only falls back to the global style's. Every
|
|
38
|
-
* other property still comes from the global style wholesale (see each caller) —
|
|
39
|
-
* that all-or-nothing behaviour is deliberately unchanged for now. Do not
|
|
40
|
-
* "fix" the inconsistency by reverting this; the resolution is to make every
|
|
41
|
-
* property cascade (see the plan's Follow-on).
|
|
42
|
-
*
|
|
43
|
-
* Before this, all four resolvers replaced the element's style with the global
|
|
44
|
-
* one and dropped `color` entirely, which made writing `color` onto a text
|
|
45
|
-
* element a silent no-op on render — the reason colour strategies could not
|
|
46
|
-
* touch text.
|
|
47
|
-
*
|
|
48
|
-
* The **site-wide default** (`textStyles.style.color`) is deliberately NOT in
|
|
49
|
-
* this chain: it reaches the text by CSS inheritance from the root element
|
|
50
|
-
* (`Page.mixin.ts` → `rootElementStyles`), exactly as it does today. So
|
|
51
|
-
* `undefined` here is a valid result meaning "inherit", and the mappers must not
|
|
52
|
-
* pre-seed the site default into an element style (that would read as an element
|
|
53
|
-
* override and beat the global text style).
|
|
54
|
-
*/
|
|
55
|
-
const resolveTextColor = (elementStyle, globalStyle) => elementStyle?.color || globalStyle?.color;
|
|
56
33
|
const getTextStyleByContentTextStyle = (contentTextStyle, textStyleOptions) => {
|
|
57
34
|
if (!contentTextStyle) {
|
|
58
35
|
return undefined;
|
|
@@ -60,8 +37,8 @@ const getTextStyleByContentTextStyle = (contentTextStyle, textStyleOptions) => {
|
|
|
60
37
|
if (contentTextStyle.textStyleType) {
|
|
61
38
|
const textStyle = textStyleOptions[contentTextStyle.textStyleType].style;
|
|
62
39
|
return Object.assign({}, textStyle, {
|
|
63
|
-
|
|
64
|
-
|
|
40
|
+
color: textStyle.color ||
|
|
41
|
+
contentTextStyle.color ||
|
|
65
42
|
FALLBACK_DEFAULT_LINK_COLOR,
|
|
66
43
|
fontWeight: textStyle.fontWeight || undefined,
|
|
67
44
|
fontStyle: textStyle.fontStyle || undefined,
|
|
@@ -80,7 +57,6 @@ const getCopyrightTextStyle = (contentTextStyle, textStyleOptions) => {
|
|
|
80
57
|
return applyDefaultViewModelTextStyle(Object.assign({}, textStyleOption, {
|
|
81
58
|
applyAutoScale: contentTextStyle.applyAutoScale,
|
|
82
59
|
textAlign: contentTextStyle.textAlign || DEFAULT_TEXT_ALIGN,
|
|
83
|
-
color: resolveTextColor(contentTextStyle, textStyleOption),
|
|
84
60
|
}));
|
|
85
61
|
}
|
|
86
62
|
}
|
|
@@ -95,7 +71,6 @@ const getTextStyleByContentTextStyleProperty = (content, contentPropKey, textSty
|
|
|
95
71
|
applyAutoScale: contentTextStyle.applyAutoScale,
|
|
96
72
|
textAlign: contentTextStyle.textAlign || DEFAULT_TEXT_ALIGN,
|
|
97
73
|
textStyleType: contentTextStyle.textStyleType,
|
|
98
|
-
color: resolveTextColor(contentTextStyle, textStyleOption.style),
|
|
99
74
|
}));
|
|
100
75
|
}
|
|
101
76
|
}
|
|
@@ -119,7 +94,6 @@ const applyViewModelTextItemTextStyles = (textItems, styles) => {
|
|
|
119
94
|
applyAutoScale: itemTextStyle.applyAutoScale,
|
|
120
95
|
textAlign: itemTextStyle.textAlign || DEFAULT_TEXT_ALIGN,
|
|
121
96
|
textStyleType: itemTextStyle.textStyleType || undefined,
|
|
122
|
-
color: resolveTextColor(itemTextStyle, textStyleOption?.style),
|
|
123
97
|
};
|
|
124
98
|
}
|
|
125
99
|
return {
|
|
@@ -579,15 +553,22 @@ const mapToTestimonialSectionViewModel = (content, styles) => {
|
|
|
579
553
|
...content,
|
|
580
554
|
role: content.type,
|
|
581
555
|
type: 'testimonial-section',
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
556
|
+
titleStyle: {
|
|
557
|
+
color: styles.textStyles.style.color,
|
|
558
|
+
...content.titleStyle,
|
|
559
|
+
},
|
|
560
|
+
nameStyle: {
|
|
561
|
+
color: styles.textStyles.style.color,
|
|
562
|
+
...content.nameStyle,
|
|
563
|
+
},
|
|
564
|
+
positionStyle: {
|
|
565
|
+
color: styles.textStyles.style.color,
|
|
566
|
+
...content.positionStyle,
|
|
567
|
+
},
|
|
568
|
+
testimonialStyle: {
|
|
569
|
+
color: styles.textStyles.style.color,
|
|
570
|
+
...content.testimonialStyle,
|
|
571
|
+
},
|
|
591
572
|
isFullWidth: true,
|
|
592
573
|
}, styles);
|
|
593
574
|
};
|
|
@@ -596,12 +577,10 @@ const mapToSocialLinksViewModel = (content, styles, brandPageType) => {
|
|
|
596
577
|
...content,
|
|
597
578
|
role: content.type,
|
|
598
579
|
type: 'social-links',
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
// `fill`, not a `color`, so `resolveTextColor` does not apply.
|
|
604
|
-
titleStyle: { ...content.titleStyle },
|
|
580
|
+
titleStyle: {
|
|
581
|
+
color: styles.textStyles.style.color,
|
|
582
|
+
...content.titleStyle,
|
|
583
|
+
},
|
|
605
584
|
iconFillStyles: {
|
|
606
585
|
fill: styles.textStyles?.style.color,
|
|
607
586
|
...content.iconFillStyles,
|
|
@@ -670,7 +649,6 @@ export const mapToPageStyleViewModel = (pageStyles, options) => {
|
|
|
670
649
|
logoStyles: pageStyles.logoStyles,
|
|
671
650
|
textStyles: pageStyles.textStyles,
|
|
672
651
|
galleryStyles: pageStyles.galleryStyles,
|
|
673
|
-
colors: pageStyles.colors ?? [],
|
|
674
652
|
};
|
|
675
653
|
};
|
|
676
654
|
export const mapToPageHeaderViewModel = (pageHeader, pageStyles, pages, useOldLogoRenderSize = false) => {
|