@designcrowd/library.brand-page 5.15.12 → 5.15.13

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 (42) hide show
  1. package/lib/src/{CreatedOnBrandCrowd-de-de-DFKc_so0.js → CreatedOnBrandCrowd-de-de-C5FXWLML.js} +1 -1
  2. package/lib/src/{CreatedOnBrandCrowd-en-us-40QRcYUX.js → CreatedOnBrandCrowd-en-us-G_4dcPih.js} +1 -1
  3. package/lib/src/{CreatedOnBrandCrowd-es-es-DMfH3fRr.js → CreatedOnBrandCrowd-es-es-BRncVaEZ.js} +1 -1
  4. package/lib/src/{CreatedOnBrandCrowd-fr-fr-DbNQrijo.js → CreatedOnBrandCrowd-fr-ca-DPFhUq3i.js} +1 -1
  5. package/lib/src/{CreatedOnBrandCrowd-fr-ca-DbNQrijo.js → CreatedOnBrandCrowd-fr-fr-DPFhUq3i.js} +1 -1
  6. package/lib/src/{CreatedOnBrandCrowd-pt-pt-V3Xcyi3r.js → CreatedOnBrandCrowd-pt-br-DKWkP6IS.js} +1 -1
  7. package/lib/src/{CreatedOnBrandCrowd-pt-br-V3Xcyi3r.js → CreatedOnBrandCrowd-pt-pt-DKWkP6IS.js} +1 -1
  8. package/lib/src/{CreatedOnDcom-de-de-DpegN5_e.js → CreatedOnDcom-de-de-CMMOIPW8.js} +1 -1
  9. package/lib/src/{CreatedOnDcom-en-us-ByiQFMkC.js → CreatedOnDcom-en-us-DS6QmZZJ.js} +1 -1
  10. package/lib/src/{CreatedOnDcom-es-es-5eBXXPKs.js → CreatedOnDcom-es-es-DjUY-mfY.js} +1 -1
  11. package/lib/src/{CreatedOnDcom-fr-ca-DRMV4ACI.js → CreatedOnDcom-fr-ca-DX8LU2Yu.js} +1 -1
  12. package/lib/src/{CreatedOnDcom-fr-fr-CQrrHapF.js → CreatedOnDcom-fr-fr-BDLSIYqq.js} +1 -1
  13. package/lib/src/{CreatedOnDcom-pt-br-8bqzVFM8.js → CreatedOnDcom-pt-br-Bcp-qwUZ.js} +1 -1
  14. package/lib/src/{CreatedOnDcom-pt-pt-Dgv_C7cs.js → CreatedOnDcom-pt-pt-DtolTWh9.js} +1 -1
  15. package/lib/src/brand-page/utils/logo.util.d.ts +19 -0
  16. package/lib/src/brand-page/utils/logo.util.js +79 -1
  17. package/lib/src/brand-page/utils/migration/migration-07.js +7 -17
  18. package/lib/src/brand-page/utils/migration/migration-08.d.ts +5 -0
  19. package/lib/src/brand-page/utils/migration/migration-08.js +71 -0
  20. package/lib/src/brand-page/utils/migration.util.js +6 -0
  21. package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.js +6 -2
  22. package/lib/src/clients/fabric-render-client.js +1 -1
  23. package/lib/src/css/library.brand-page-brandCrowd.min.css +2 -2
  24. package/lib/src/css/library.brand-page-brandPage.min.css +2 -2
  25. package/lib/src/css/library.brand-page-designCom.min.css +2 -2
  26. package/lib/src/css/library.brand-page-preview.min.css +2 -2
  27. package/lib/src/index.d.ts +1 -1
  28. package/lib/src/index.mjs +53 -52
  29. package/lib/src/{lib-CF7FYBeS.js → lib-B3L785Hu.js} +11279 -11170
  30. package/lib/src/lib.js +1 -1
  31. package/package.json +1 -1
  32. package/src/brand-page/components/logo/LogoRender.vue +2 -1
  33. package/src/brand-page/utils/__snapshots__/migration.util.test.ts.snap +3 -3
  34. package/src/brand-page/utils/logo.util.ts +130 -1
  35. package/src/brand-page/utils/migration/migration-07.test.ts +2 -0
  36. package/src/brand-page/utils/migration/migration-07.ts +8 -25
  37. package/src/brand-page/utils/migration/migration-08.test.ts +398 -0
  38. package/src/brand-page/utils/migration/migration-08.ts +118 -0
  39. package/src/brand-page/utils/migration.util.ts +6 -0
  40. package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.ts +11 -2
  41. package/src/clients/fabric-render-client.ts +1 -1
  42. package/src/lib.ts +4 -1
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as e, openBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-CF7FYBeS.js";
2
+ import { _ as t } from "./lib-B3L785Hu.js";
3
3
  const i = {}, h = {
4
4
  width: "275",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as e, openBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-CF7FYBeS.js";
2
+ import { _ as t } from "./lib-B3L785Hu.js";
3
3
  const i = {}, h = {
4
4
  width: "251",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as e, openBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-CF7FYBeS.js";
2
+ import { _ as t } from "./lib-B3L785Hu.js";
3
3
  const i = {}, h = {
4
4
  width: "250",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as e, openBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-CF7FYBeS.js";
2
+ import { _ as t } from "./lib-B3L785Hu.js";
3
3
  const i = {}, h = {
4
4
  width: "237",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as e, openBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-CF7FYBeS.js";
2
+ import { _ as t } from "./lib-B3L785Hu.js";
3
3
  const i = {}, h = {
4
4
  width: "237",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as e, openBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-CF7FYBeS.js";
2
+ import { _ as t } from "./lib-B3L785Hu.js";
3
3
  const i = {}, h = {
4
4
  width: "263",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as e, openBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-CF7FYBeS.js";
2
+ import { _ as t } from "./lib-B3L785Hu.js";
3
3
  const i = {}, h = {
4
4
  width: "263",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as H, openBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-CF7FYBeS.js";
2
+ import { _ as e } from "./lib-B3L785Hu.js";
3
3
  const M = {}, Z = {
4
4
  width: "242",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as H, openBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-CF7FYBeS.js";
2
+ import { _ as e } from "./lib-B3L785Hu.js";
3
3
  const i = {}, M = {
4
4
  width: "231",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as H, openBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-CF7FYBeS.js";
2
+ import { _ as e } from "./lib-B3L785Hu.js";
3
3
  const M = {}, Z = {
4
4
  width: "230",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as H, openBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-CF7FYBeS.js";
2
+ import { _ as e } from "./lib-B3L785Hu.js";
3
3
  const i = {}, l = {
4
4
  width: "216",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as H, openBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-CF7FYBeS.js";
2
+ import { _ as e } from "./lib-B3L785Hu.js";
3
3
  const i = {}, l = {
4
4
  width: "216",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as H, openBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as M } from "./lib-CF7FYBeS.js";
2
+ import { _ as M } from "./lib-B3L785Hu.js";
3
3
  const Z = {}, e = {
4
4
  width: "232",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as H, openBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as M } from "./lib-CF7FYBeS.js";
2
+ import { _ as M } from "./lib-B3L785Hu.js";
3
3
  const Z = {}, e = {
4
4
  width: "232",
5
5
  height: "36",
@@ -13,3 +13,22 @@ export declare const applyLogoTemplateImageToBrandPageTemplateModel: (model: Bra
13
13
  export declare const getLogoVariationUrlByLogoImage: (logoImage: LogoImageModel) => string | undefined;
14
14
  export declare const getLogoTemplateUrlByLogoTemplateImage: (logoTemplateImage: LogoTemplateImageModel) => string;
15
15
  export declare const getOptimalLogoSize: (width: number, height: number, currentSize: string) => string;
16
+ export declare const calculateLogoDimensions: (logoData: {
17
+ width: number;
18
+ height: number;
19
+ }, maxWidth: string, maxHeight: string) => {
20
+ width: string;
21
+ height: string;
22
+ };
23
+ export declare const calculateOptimizedLogoDimensions: (logoData: {
24
+ width: number;
25
+ height: number;
26
+ } | null, currentWidth: string, currentHeight: string) => {
27
+ width: string;
28
+ height: string;
29
+ };
30
+ export declare const recalculateLogoContentDimensions: (pageData: any, editableLogoVariations?: {
31
+ variationId: number;
32
+ width: number;
33
+ height: number;
34
+ }[]) => Promise<void>;
@@ -1,4 +1,4 @@
1
- import { DEFAULT_LOGO_VARIATION, LOGO_VARIATION } from '../constants';
1
+ import { DEFAULT_LOGO_VARIATION, LOGO_VARIATION, DEFAULT_LOGO_WIDTH, DEFAULT_LOGO_HEIGHT, } from '../constants';
2
2
  import { BRAND_PAGE_TYPES, } from '../models';
3
3
  import { FabricRenderClient, LogoVariationDefinitions, } from '../../clients/fabric-render-client';
4
4
  import { isLogoContent } from './model.util';
@@ -183,3 +183,81 @@ export const getOptimalLogoSize = (width, height, currentSize) => {
183
183
  return `${Math.round(newSize)}rem`;
184
184
  }
185
185
  };
186
+ export const calculateLogoDimensions = (logoData, maxWidth, maxHeight) => {
187
+ const maxWidthRem = parseFloat(maxWidth);
188
+ const maxHeightRem = parseFloat(maxHeight);
189
+ const logoAspectRatio = logoData.width / logoData.height;
190
+ let actualHeight;
191
+ if (logoAspectRatio >= 1) {
192
+ actualHeight = maxWidthRem / logoAspectRatio;
193
+ }
194
+ else {
195
+ actualHeight = maxHeightRem;
196
+ }
197
+ const actualHeightRem = `${Math.ceil(actualHeight)}rem`;
198
+ return { width: actualHeightRem, height: actualHeightRem };
199
+ };
200
+ export const calculateOptimizedLogoDimensions = (logoData, currentWidth, currentHeight) => {
201
+ const currentHeightRem = parseFloat(currentHeight);
202
+ if (logoData && logoData.width && logoData.height) {
203
+ const logoAspectRatio = logoData.width / logoData.height;
204
+ let newsize = currentHeightRem;
205
+ // Width-dominant logo (wider than tall)
206
+ if (logoAspectRatio >= 1.75 && logoAspectRatio <= 2) {
207
+ const ratioDiff = 2 - logoAspectRatio;
208
+ newsize = currentHeightRem - Math.round(ratioDiff * 10);
209
+ return {
210
+ width: `${newsize}rem`,
211
+ height: `${newsize}rem`,
212
+ };
213
+ }
214
+ else if (logoAspectRatio > 2) {
215
+ return {
216
+ width: `4rem`,
217
+ height: `4rem`,
218
+ };
219
+ }
220
+ }
221
+ return { width: currentWidth, height: currentHeight };
222
+ };
223
+ export const recalculateLogoContentDimensions = async (pageData, editableLogoVariations) => {
224
+ try {
225
+ const logoContents = [];
226
+ pageData.pages.forEach((page, pageIndex) => {
227
+ page.contents.forEach((contentItem, contentIndex) => {
228
+ const content = contentItem.settings.content;
229
+ if (isLogoContent(content)) {
230
+ logoContents.push({ content, pageIndex, contentIndex });
231
+ }
232
+ });
233
+ });
234
+ if (logoContents.length === 0) {
235
+ return;
236
+ }
237
+ logoContents.forEach(({ content }) => {
238
+ let logoData = null;
239
+ // First priority: Use editableLogoVariations if available
240
+ if (editableLogoVariations &&
241
+ content.logoImage?.logoVariation !== undefined) {
242
+ const matchingVariation = editableLogoVariations.find((variation) => variation.variationId === content.logoImage.logoVariation);
243
+ if (matchingVariation) {
244
+ logoData = {
245
+ width: matchingVariation.width,
246
+ height: matchingVariation.height,
247
+ };
248
+ }
249
+ }
250
+ // Apply dimensions or fallback logic
251
+ if (logoData && logoData.width && logoData.height) {
252
+ const currentMaxWidth = content.logoImageWidth || DEFAULT_LOGO_WIDTH;
253
+ const currentMaxHeight = content.logoImageHeight || DEFAULT_LOGO_HEIGHT;
254
+ const dimensions = calculateOptimizedLogoDimensions(logoData, currentMaxWidth, currentMaxHeight);
255
+ content.logoImageHeight = dimensions.height;
256
+ content.logoImageWidth = dimensions.width;
257
+ }
258
+ });
259
+ }
260
+ catch (error) {
261
+ console.warn('Failed to recalculate prepurchase logo dimensions:', error);
262
+ }
263
+ };
@@ -1,21 +1,11 @@
1
- import { DEFAULT_LOGO_HEIGHT, DEFAULT_LOGO_WIDTH, PageFooterDesktop, PageFooterMobile, PageHeaderDesktop, PageHeaderMobile, } from '../..';
1
+ import { BRAND_PAGE_TYPES, DEFAULT_LOGO_HEIGHT, DEFAULT_LOGO_WIDTH, PageFooterDesktop, PageFooterMobile, PageHeaderDesktop, PageHeaderMobile, } from '../..';
2
2
  import { FabricRenderClient } from '../../../clients/fabric-render-client';
3
- const calculateConstrainedDimensions = (logoData, maxWidth, maxHeight) => {
4
- const maxWidthRem = parseFloat(maxWidth);
5
- const maxHeightRem = parseFloat(maxHeight);
6
- const logoAspectRatio = logoData.width / logoData.height;
7
- let actualHeight;
8
- if (logoAspectRatio >= 1) {
9
- actualHeight = maxWidthRem / logoAspectRatio;
10
- }
11
- else {
12
- actualHeight = maxHeightRem;
13
- }
14
- const actualHeightRem = `${Math.ceil(actualHeight)}rem`;
15
- return { width: actualHeightRem, height: actualHeightRem };
16
- };
3
+ import { calculateLogoDimensions } from '../logo.util';
17
4
  export const migration07 = async (migrationResult, options) => {
18
5
  const { brandPageModel } = migrationResult;
6
+ if (brandPageModel.brandPageType !== BRAND_PAGE_TYPES.brandSite) {
7
+ return migrationResult;
8
+ }
19
9
  if (options.isServerRender !== undefined && options.isServerRender) {
20
10
  migrationResult.useOldLogoRenderSize = true;
21
11
  return migrationResult;
@@ -46,7 +36,7 @@ export const migration07 = async (migrationResult, options) => {
46
36
  if (logoData && logoData.width && logoData.height && config) {
47
37
  const currentMaxWidth = config.logoImageWidth || DEFAULT_LOGO_WIDTH;
48
38
  const currentMaxHeight = config.logoImageHeight || DEFAULT_LOGO_HEIGHT;
49
- const dimensions = calculateConstrainedDimensions(logoData, currentMaxWidth, currentMaxHeight);
39
+ const dimensions = calculateLogoDimensions(logoData, currentMaxWidth, currentMaxHeight);
50
40
  config.logoImageHeight = dimensions.height;
51
41
  config.logoImageWidth = dimensions.width;
52
42
  }
@@ -64,7 +54,7 @@ export const migration07 = async (migrationResult, options) => {
64
54
  });
65
55
  }
66
56
  catch (error) {
67
- console.warn('Migration 06: Failed to fetch logo dimensions:', error);
57
+ console.warn('Migration 07: Failed to fetch logo dimensions:', error);
68
58
  migrationResult.useOldLogoRenderSize = true;
69
59
  return migrationResult;
70
60
  }
@@ -0,0 +1,5 @@
1
+ import type { MigrationData } from '../migration.util';
2
+ export declare const migration08: (migrationResult: MigrationData, options: {
3
+ isServerRender: boolean;
4
+ isUserDraft?: boolean;
5
+ }) => Promise<MigrationData>;
@@ -0,0 +1,71 @@
1
+ import { DEFAULT_LOGO_HEIGHT, DEFAULT_LOGO_WIDTH, BRAND_PAGE_TYPES, } from '../..';
2
+ import { FabricRenderClient } from '../../../clients/fabric-render-client';
3
+ import { isLogoContent } from '../model.util';
4
+ import { calculateLogoDimensions, safeGetLogoImageFromLogoImageUrl, } from '../logo.util';
5
+ export const migration08 = async (migrationResult, options) => {
6
+ const { brandPageModel } = migrationResult;
7
+ if (brandPageModel.brandPageType !== BRAND_PAGE_TYPES.default &&
8
+ brandPageModel.brandPageType !== BRAND_PAGE_TYPES.brandContact) {
9
+ return migrationResult;
10
+ }
11
+ if (options.isUserDraft !== undefined && !options.isUserDraft) {
12
+ return migrationResult;
13
+ }
14
+ if (options.isServerRender !== undefined && options.isServerRender) {
15
+ migrationResult.useOldLogoRenderSize = true;
16
+ return migrationResult;
17
+ }
18
+ try {
19
+ const fabricClient = FabricRenderClient.getInstance();
20
+ const logoContents = [];
21
+ brandPageModel.pages.forEach((page, pageIndex) => {
22
+ page.contents.forEach((content, contentIndex) => {
23
+ if (isLogoContent(content)) {
24
+ logoContents.push({ content, pageIndex, contentIndex });
25
+ }
26
+ });
27
+ });
28
+ const logoDataPromises = logoContents.map(async ({ content }) => {
29
+ if (content.logoTemplateImage?.logoTemplateToken) {
30
+ const logoData = await fabricClient.getLogoSvgUrlByLogoTemplateImageAsync(content.logoTemplateImage);
31
+ return { content, logoData };
32
+ }
33
+ if (content.logoImage?.logoDraftToken) {
34
+ const logoData = await fabricClient.getLogoSvgUrlByLogoImageAsync({
35
+ logoDraftToken: content.logoImage.logoDraftToken,
36
+ logoVariation: content.logoImage.logoVariation,
37
+ });
38
+ return { content, logoData };
39
+ }
40
+ return { content, logoData: null };
41
+ });
42
+ const results = await Promise.all(logoDataPromises);
43
+ // Apply dimensions to each logo content
44
+ results.forEach(({ content, logoData }) => {
45
+ if (logoData && logoData.width && logoData.height) {
46
+ const currentMaxWidth = content.logoImageWidth || DEFAULT_LOGO_WIDTH;
47
+ const currentMaxHeight = content.logoImageHeight || DEFAULT_LOGO_HEIGHT;
48
+ const dimensions = calculateLogoDimensions(logoData, currentMaxWidth, currentMaxHeight);
49
+ content.logoImageHeight = dimensions.height;
50
+ content.logoImageWidth = dimensions.width;
51
+ }
52
+ // else if (!logoData) {
53
+ // // Fallback logic when no logo data is available
54
+ // const currentMaxHeight = content.logoImageHeight || DEFAULT_LOGO_HEIGHT;
55
+ // const heightValue = parseFloat(currentMaxHeight);
56
+ // const newHeight =
57
+ // heightValue >= 7
58
+ // ? Math.round(heightValue * 0.7)
59
+ // : Math.round(heightValue * 0.8);
60
+ // content.logoImageHeight = `${newHeight}rem`;
61
+ // content.logoImageWidth = `${newHeight}rem`;
62
+ // }
63
+ });
64
+ }
65
+ catch (error) {
66
+ console.warn('Migration 08: Failed to fetch logo dimensions:', error);
67
+ migrationResult.useOldLogoRenderSize = true;
68
+ return migrationResult;
69
+ }
70
+ return migrationResult;
71
+ };
@@ -10,6 +10,7 @@ import { migration06 } from './migration/migration-06';
10
10
  import { migration05_1 } from './migration/migration-05_1';
11
11
  import { migration05_2 } from './migration/migration-05_2';
12
12
  import { migration07 } from './migration/migration-07';
13
+ import { migration08 } from './migration/migration-08';
13
14
  const MIGRATION_TABLE = [
14
15
  {
15
16
  version: 1,
@@ -62,6 +63,11 @@ const MIGRATION_TABLE = [
62
63
  migrateFn: migration07,
63
64
  description: 'Migrating logo render sizes for logo content, header and footer sections',
64
65
  },
66
+ {
67
+ version: 8,
68
+ migrateFn: migration08,
69
+ description: 'Migrating logo content sizes for brandPage and brandContact',
70
+ },
65
71
  ];
66
72
  export const GetLatestModelVersion = () => Math.max(...MIGRATION_TABLE.map((x) => x.version));
67
73
  export const migrateBrandPageModel = async (brandPageModel, options) => {
@@ -26,7 +26,7 @@ import { useLocalisedRouteStore } from '../route/localised-route-store';
26
26
  import cloneDeep from 'lodash.clonedeep';
27
27
  import * as uuid from 'uuid';
28
28
  import { getAiContentIndexByTemplateTokenAndNumberOfVariations } from '../../utils/ai-content-selection.util';
29
- import { applyLogoTemplateImageToBrandPageTemplateModel, getOptimalLogoSize, } from '../../../brand-page/utils/logo.util';
29
+ import { applyLogoTemplateImageToBrandPageTemplateModel, getOptimalLogoSize, recalculateLogoContentDimensions, } from '../../../brand-page/utils/logo.util';
30
30
  import { FabricRenderClient } from '../../../clients/fabric-render-client';
31
31
  import { useConsent } from '../../../brand-page/composables/consent.composable';
32
32
  import { commonTr, errorTr } from '../../../composables/useTranslate';
@@ -492,6 +492,7 @@ export const useBrandPageMakerStore = defineStore('brandPageMaker', {
492
492
  newState: logoSettingsState,
493
493
  });
494
494
  }
495
+ const pageSettingsStore = useUiPageSettingsStore();
495
496
  if (brandPageContainerStore.isPrePurchase) {
496
497
  await editableLogoStore.setStateAsync({
497
498
  defaultPrimaryText: businessName,
@@ -519,7 +520,6 @@ export const useBrandPageMakerStore = defineStore('brandPageMaker', {
519
520
  },
520
521
  });
521
522
  }
522
- const pageSettingsStore = useUiPageSettingsStore();
523
523
  if (!brandPageContainerStore.designDraftToken &&
524
524
  !userStore.isAdmin &&
525
525
  this.isBrandSite) {
@@ -538,6 +538,10 @@ export const useBrandPageMakerStore = defineStore('brandPageMaker', {
538
538
  pageSettingsStore.sections[PAGE_SECTIONS.header][VIEWPORTS.desktop].logoImageHeight = newLogoSize;
539
539
  }
540
540
  }
541
+ else if (this.isBrandPageOrIsBrandContact &&
542
+ brandPageContainerStore.isPrePurchase) {
543
+ recalculateLogoContentDimensions(pageSettingsStore, editableLogoStore.editableLogoVariations);
544
+ }
541
545
  const backgroundStyles = new BackgroundStyles(brandPageModel.styles.backgroundStyles);
542
546
  const backgroundSetStatePayload = {
543
547
  newState: {
@@ -41,7 +41,7 @@ export class FabricRenderClient {
41
41
  return FabricRenderClient._staticClient;
42
42
  }
43
43
  getLogoTemplateUrlByLogoTemplateImage(logoTemplateImage, outputFormat = 'base64svgjson') {
44
- return `${this.baseUrl}/asset/logotemplate/brand-page/${logoTemplateImage.logoTemplateToken}?dimensionsType=preview_image_transparent_no_buffer&outputFormat=${outputFormat}&logoTemplateVersion=${logoTemplateImage.logoTemplateVersion}&text=${encodeURIComponent(logoTemplateImage.logoTemplateText)}`;
44
+ return `${this.baseUrl}/asset/logotemplate/brand-page/${logoTemplateImage.logoTemplateToken}?dimensionsType=preview_image_transparent_no_buffer&outputFormat=${outputFormat}&logoTemplateVersion=${logoTemplateImage.logoTemplateVersion}&text=${encodeURIComponent(logoTemplateImage.logoTemplateText)}&applyAutoLayout=true`;
45
45
  }
46
46
  getLogoVariationUrlByLogoVariationIndex(logoDraftToken, tick, variationIndex, outputFormat = 'png') {
47
47
  let thisVariationIndex = variationIndex;
@@ -5336,11 +5336,11 @@ input[data-v-4cd691db]::-webkit-inner-spin-button {
5336
5336
  }
5337
5337
  }
5338
5338
 
5339
- .logo__container[data-v-acc9a38e] {
5339
+ .logo__container[data-v-61298814] {
5340
5340
  border: 0.125rem solid var(--logo-border-colour);
5341
5341
  border-radius: 0.75rem;
5342
5342
  }
5343
- .logo__image[data-v-acc9a38e] {
5343
+ .logo__image[data-v-61298814] {
5344
5344
  display: block;
5345
5345
  -o-object-fit: contain;
5346
5346
  object-fit: contain;
@@ -5664,11 +5664,11 @@ input[data-v-4cd691db]::-webkit-inner-spin-button {
5664
5664
  }
5665
5665
  }
5666
5666
 
5667
- .logo__container[data-v-acc9a38e] {
5667
+ .logo__container[data-v-61298814] {
5668
5668
  border: 0.125rem solid var(--logo-border-colour);
5669
5669
  border-radius: 0.75rem;
5670
5670
  }
5671
- .logo__image[data-v-acc9a38e] {
5671
+ .logo__image[data-v-61298814] {
5672
5672
  display: block;
5673
5673
  -o-object-fit: contain;
5674
5674
  object-fit: contain;
@@ -5354,11 +5354,11 @@ input[data-v-4cd691db]::-webkit-inner-spin-button {
5354
5354
  }
5355
5355
  }
5356
5356
 
5357
- .logo__container[data-v-acc9a38e] {
5357
+ .logo__container[data-v-61298814] {
5358
5358
  border: 0.125rem solid var(--logo-border-colour);
5359
5359
  border-radius: 0.75rem;
5360
5360
  }
5361
- .logo__image[data-v-acc9a38e] {
5361
+ .logo__image[data-v-61298814] {
5362
5362
  display: block;
5363
5363
  -o-object-fit: contain;
5364
5364
  object-fit: contain;
@@ -5096,11 +5096,11 @@ input[data-v-4cd691db]::-webkit-inner-spin-button {
5096
5096
  }
5097
5097
  }
5098
5098
 
5099
- .bp .logo__container[data-v-acc9a38e] {
5099
+ .bp .logo__container[data-v-61298814] {
5100
5100
  border: 0.125rem solid var(--logo-border-colour);
5101
5101
  border-radius: 0.75rem;
5102
5102
  }
5103
- .bp .logo__image[data-v-acc9a38e] {
5103
+ .bp .logo__image[data-v-61298814] {
5104
5104
  display: block;
5105
5105
  -o-object-fit: contain;
5106
5106
  object-fit: contain;
@@ -23,7 +23,7 @@ export { default as SensitiveContentModal } from './brand-page/components/sensit
23
23
  export { getBrandPageViewModelFromBrandPageModel, migrateBrandPageModel, } from './brand-page/utils';
24
24
  export * as brandPageUtils from './brand-page/utils';
25
25
  export type { CriticalResourceURLs } from './brand-page/utils/view-model.util';
26
- export { getOptimalLogoSize } from './brand-page/utils/logo.util';
26
+ export { getOptimalLogoSize, calculateOptimizedLogoDimensions, } from './brand-page/utils/logo.util';
27
27
  export { sanitizeRTEHtml } from './brand-page-maker/utils';
28
28
  export { getPageSlugFromPageTitle } from './brand-page-maker/utils/slug.util';
29
29
  export { useBrandPageMakerStore, useBrandPageMakerUserStore, useUiStore, useBrandPageContainerStore, useEventManagerStore, useLocalisedRouteStore, } from './brand-page-maker/stores';