@designcrowd/library.brand-page 5.16.32 → 5.16.33
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-C5AHj5yG.js → CreatedOnBrandCrowd-de-de-nDG-SvL9.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-en-us-9vm89uNN.js → CreatedOnBrandCrowd-en-us-Dt-_cNx9.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-es-es-InrLqZ7B.js → CreatedOnBrandCrowd-es-es-DOHLEX6U.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-fr-X4r6d53Z.js → CreatedOnBrandCrowd-fr-ca-ZcxoXYEH.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-ca-X4r6d53Z.js → CreatedOnBrandCrowd-fr-fr-ZcxoXYEH.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-pt-CQ41-qP5.js → CreatedOnBrandCrowd-pt-br-D6WcOax8.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-br-CQ41-qP5.js → CreatedOnBrandCrowd-pt-pt-D6WcOax8.js} +1 -1
- package/lib/src/{CreatedOnDcom-de-de-ESORkxko.js → CreatedOnDcom-de-de-Boyt5XwN.js} +1 -1
- package/lib/src/{CreatedOnDcom-en-us-DKWbRt35.js → CreatedOnDcom-en-us-Cpw1nF3G.js} +1 -1
- package/lib/src/{CreatedOnDcom-es-es-CtVdE5DL.js → CreatedOnDcom-es-es-rRRk339c.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-ca-BTl6zmCF.js → CreatedOnDcom-fr-ca-CBPG0ctC.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-fr-CbdWfp16.js → CreatedOnDcom-fr-fr-DvGxUvqy.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-br-B8QbSViW.js → CreatedOnDcom-pt-br-D0Tu4f-H.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-pt-_GQdFxAH.js → CreatedOnDcom-pt-pt-X9_clgUZ.js} +1 -1
- package/lib/src/brand-page/utils/logo.util.d.ts +7 -2
- package/lib/src/brand-page/utils/logo.util.js +38 -28
- package/lib/src/brand-page-maker/components/action-bar/ActionBar.mixin.d.ts +1 -0
- package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.d.ts +1 -0
- package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMakerTemplateSettings.mixin.d.ts +1 -0
- package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +1 -0
- package/lib/src/brand-page-maker/components/brandpage-settings/ReplaceImageSettingsForBrandPageSettings.mixin.d.ts +1 -0
- package/lib/src/brand-page-maker/components/seo-settings/SeoPageSettings.mixin.d.ts +1 -0
- package/lib/src/brand-page-maker/components/seo-settings/UrlSettings.mixin.d.ts +1 -0
- package/lib/src/brand-page-maker/components/social-share/SocialShare.mixin.d.ts +1 -0
- package/lib/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.d.ts +1 -0
- package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.d.ts +1 -0
- package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.js +17 -23
- package/lib/src/index.d.ts +1 -1
- package/lib/src/index.mjs +41 -39
- package/lib/src/{lib-BfzwtsTk.js → lib-DllHzIBd.js} +10427 -10418
- package/lib/src/lib.js +1 -1
- package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts +1 -0
- package/lib/src/shared/content-settings/components/content-settings/ReplaceImageSettingsForContent.mixin.d.ts +1 -0
- package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.d.ts +1 -0
- package/lib/src/shared/logo-settings/components/LogoSettings.mixin.d.ts +1 -0
- package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +1 -0
- package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +1 -0
- package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.d.ts +1 -0
- package/lib/src/shared/style-settings/components/StyleSettings.mixin.d.ts +1 -0
- package/package.json +1 -1
- package/src/brand-page/utils/logo.util.ts +76 -44
- package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.ts +30 -46
- package/src/lib.ts +2 -0
package/lib/src/lib.js
CHANGED
|
@@ -26,7 +26,7 @@ export { default as SensitiveContentModal } from './brand-page/components/sensit
|
|
|
26
26
|
// functions
|
|
27
27
|
export { getBrandPageViewModelFromBrandPageModel, migrateBrandPageModel, } from './brand-page/utils';
|
|
28
28
|
export * as brandPageUtils from './brand-page/utils';
|
|
29
|
-
export { getOptimalLogoSize, calculateOptimizedLogoDimensions, applyLogoImageBase64UrlToBrandPageTemplateModel, } from './brand-page/utils/logo.util';
|
|
29
|
+
export { getOptimalLogoSize, calculateOptimizedLogoDimensions, applyLogoImageBase64UrlToBrandPageTemplateModel, recalculateLogoContentDimensions, recalculateHeaderLogoSizes, } from './brand-page/utils/logo.util';
|
|
30
30
|
export { sanitizeRTEHtml } from './brand-page-maker/utils';
|
|
31
31
|
export { getPageSlugFromPageTitle } from './brand-page-maker/utils/slug.util';
|
|
32
32
|
// stores
|
package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts
CHANGED
|
@@ -117,6 +117,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
117
117
|
setSelectedTemplateId(payload: {
|
|
118
118
|
templateId: string | false;
|
|
119
119
|
}): void;
|
|
120
|
+
recalculateLogoSizes(forceRecalculate?: boolean): Promise<void>;
|
|
120
121
|
applySelectedTemplate(): Promise<void>;
|
|
121
122
|
enqueueErrorMessage(): Promise<void>;
|
|
122
123
|
enqueueSaveSuccessMessage(payload?: {
|
|
@@ -637,6 +637,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
637
637
|
setSelectedTemplateId(payload: {
|
|
638
638
|
templateId: string | false;
|
|
639
639
|
}): void;
|
|
640
|
+
recalculateLogoSizes(forceRecalculate?: boolean): Promise<void>;
|
|
640
641
|
applySelectedTemplate(): Promise<void>;
|
|
641
642
|
enqueueErrorMessage(): Promise<void>;
|
|
642
643
|
enqueueSaveSuccessMessage(payload?: {
|
|
@@ -580,6 +580,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
580
580
|
setSelectedTemplateId(payload: {
|
|
581
581
|
templateId: string | false;
|
|
582
582
|
}): void;
|
|
583
|
+
recalculateLogoSizes(forceRecalculate?: boolean): Promise<void>;
|
|
583
584
|
applySelectedTemplate(): Promise<void>;
|
|
584
585
|
enqueueErrorMessage(): Promise<void>;
|
|
585
586
|
enqueueSaveSuccessMessage(payload?: {
|
|
@@ -107,6 +107,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
107
107
|
setSelectedTemplateId(payload: {
|
|
108
108
|
templateId: string | false;
|
|
109
109
|
}): void;
|
|
110
|
+
recalculateLogoSizes(forceRecalculate?: boolean): Promise<void>;
|
|
110
111
|
applySelectedTemplate(): Promise<void>;
|
|
111
112
|
enqueueErrorMessage(): Promise<void>;
|
|
112
113
|
enqueueSaveSuccessMessage(payload?: {
|
|
@@ -3795,6 +3795,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
3795
3795
|
setSelectedTemplateId(payload: {
|
|
3796
3796
|
templateId: string | false;
|
|
3797
3797
|
}): void;
|
|
3798
|
+
recalculateLogoSizes(forceRecalculate?: boolean): Promise<void>;
|
|
3798
3799
|
applySelectedTemplate(): Promise<void>;
|
|
3799
3800
|
enqueueErrorMessage(): Promise<void>;
|
|
3800
3801
|
enqueueSaveSuccessMessage(payload?: {
|
|
@@ -4315,6 +4315,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
4315
4315
|
setSelectedTemplateId(payload: {
|
|
4316
4316
|
templateId: string | false;
|
|
4317
4317
|
}): void;
|
|
4318
|
+
recalculateLogoSizes(forceRecalculate?: boolean): Promise<void>;
|
|
4318
4319
|
applySelectedTemplate(): Promise<void>;
|
|
4319
4320
|
enqueueErrorMessage(): Promise<void>;
|
|
4320
4321
|
enqueueSaveSuccessMessage(payload?: {
|
package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.d.ts
CHANGED
|
@@ -141,6 +141,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
141
141
|
setSelectedTemplateId(payload: {
|
|
142
142
|
templateId: string | false;
|
|
143
143
|
}): void;
|
|
144
|
+
recalculateLogoSizes(forceRecalculate?: boolean): Promise<void>;
|
|
144
145
|
applySelectedTemplate(): Promise<void>;
|
|
145
146
|
enqueueErrorMessage(): Promise<void>;
|
|
146
147
|
enqueueSaveSuccessMessage(payload?: {
|
|
@@ -550,6 +550,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
550
550
|
setSelectedTemplateId(payload: {
|
|
551
551
|
templateId: string | false;
|
|
552
552
|
}): void;
|
|
553
|
+
recalculateLogoSizes(forceRecalculate?: boolean): Promise<void>;
|
|
553
554
|
applySelectedTemplate(): Promise<void>;
|
|
554
555
|
enqueueErrorMessage(): Promise<void>;
|
|
555
556
|
enqueueSaveSuccessMessage(payload?: {
|
package/package.json
CHANGED
|
@@ -396,67 +396,99 @@ export const calculateOptimizedLogoDimensions = (
|
|
|
396
396
|
|
|
397
397
|
export const recalculateLogoContentDimensions = async (
|
|
398
398
|
pageData: any,
|
|
399
|
-
editableLogoVariations
|
|
399
|
+
editableLogoVariations: {
|
|
400
400
|
variationId: number;
|
|
401
401
|
width: number;
|
|
402
402
|
height: number;
|
|
403
403
|
}[],
|
|
404
|
+
logoImage: LogoImageModel,
|
|
405
|
+
isPrePurchase: boolean,
|
|
404
406
|
) => {
|
|
405
407
|
try {
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
408
|
+
let logoData: { width: number; height: number } | undefined;
|
|
409
|
+
|
|
410
|
+
// For prepurchase, use editableLogoVariations
|
|
411
|
+
if (isPrePurchase && logoImage.logoVariation !== undefined) {
|
|
412
|
+
logoData = editableLogoVariations.find(
|
|
413
|
+
(v) => v.variationId === logoImage.logoVariation,
|
|
414
|
+
);
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
// For post-purchase or fallback, fetch from Fabric
|
|
418
|
+
if (!logoData || logoData.width <= 0 || logoData.height <= 0) {
|
|
419
|
+
logoData =
|
|
420
|
+
await FabricRenderClient.getInstance().getLogoSvgUrlByLogoImageAsync(
|
|
421
|
+
logoImage,
|
|
422
|
+
);
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
if (!logoData || logoData.width <= 0 || logoData.height <= 0) {
|
|
426
|
+
return;
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
const dimensions = getOptimalLogoSize(
|
|
430
|
+
BRAND_PAGE_TYPES.default,
|
|
431
|
+
logoData.width,
|
|
432
|
+
logoData.height,
|
|
433
|
+
);
|
|
434
|
+
|
|
435
|
+
pageData.pages.forEach((page: any) => {
|
|
436
|
+
page.contents.forEach((contentItem: any) => {
|
|
414
437
|
const content = contentItem.settings.content;
|
|
415
438
|
|
|
416
439
|
if (isLogoContent(content)) {
|
|
417
|
-
|
|
440
|
+
content.logoImageHeight = dimensions.newLogoSize;
|
|
441
|
+
content.logoImageWidth = dimensions.newLogoSize;
|
|
418
442
|
}
|
|
419
443
|
});
|
|
420
444
|
});
|
|
445
|
+
} catch (error) {
|
|
446
|
+
console.warn('Failed to recalculate logo dimensions:', error);
|
|
447
|
+
}
|
|
448
|
+
};
|
|
421
449
|
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
450
|
+
export const recalculateHeaderLogoSizes = async (
|
|
451
|
+
pageSettingsStore: any,
|
|
452
|
+
logoSettingsStore: any,
|
|
453
|
+
editableLogoVariations: {
|
|
454
|
+
variationId: number;
|
|
455
|
+
width: number;
|
|
456
|
+
height: number;
|
|
457
|
+
}[],
|
|
458
|
+
brandPageType: BrandPageType,
|
|
459
|
+
isPrePurchase: boolean,
|
|
460
|
+
forceRecalculate = false,
|
|
461
|
+
) => {
|
|
462
|
+
try {
|
|
463
|
+
const logoImageHeight =
|
|
464
|
+
pageSettingsStore.sections.header.desktop.logoImageHeight;
|
|
465
|
+
const logoVariation =
|
|
466
|
+
pageSettingsStore.sections.header.desktop.logoVariation;
|
|
425
467
|
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
// First priority: Use editableLogoVariations if available
|
|
430
|
-
if (
|
|
431
|
-
editableLogoVariations &&
|
|
432
|
-
content.logoImage?.logoVariation !== undefined
|
|
433
|
-
) {
|
|
434
|
-
const matchingVariation = editableLogoVariations.find(
|
|
435
|
-
(variation) =>
|
|
436
|
-
variation.variationId === content.logoImage.logoVariation,
|
|
437
|
-
);
|
|
468
|
+
const logoPrePurchase = editableLogoVariations.find(
|
|
469
|
+
(logo) => logo.variationId === logoVariation,
|
|
470
|
+
);
|
|
438
471
|
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
};
|
|
444
|
-
}
|
|
445
|
-
}
|
|
472
|
+
const logoPostPurchase =
|
|
473
|
+
await FabricRenderClient.getInstance().getLogoSvgUrlByLogoImageAsync(
|
|
474
|
+
logoSettingsStore.selectedLogoImage,
|
|
475
|
+
);
|
|
446
476
|
|
|
447
|
-
|
|
448
|
-
if (logoData && logoData.width && logoData.height) {
|
|
449
|
-
const dimensions = getOptimalLogoSize(
|
|
450
|
-
BRAND_PAGE_TYPES.default,
|
|
451
|
-
logoData.width,
|
|
452
|
-
logoData.height,
|
|
453
|
-
);
|
|
477
|
+
const logo = isPrePurchase ? logoPrePurchase : logoPostPurchase;
|
|
454
478
|
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
479
|
+
if (logo && (logoImageHeight || forceRecalculate)) {
|
|
480
|
+
const optimalSize = getOptimalLogoSize(
|
|
481
|
+
brandPageType,
|
|
482
|
+
logo.width,
|
|
483
|
+
logo.height,
|
|
484
|
+
);
|
|
485
|
+
|
|
486
|
+
pageSettingsStore.sections.header.desktop.logoImageWidth =
|
|
487
|
+
optimalSize.newLogoSize;
|
|
488
|
+
pageSettingsStore.sections.header.desktop.logoImageHeight =
|
|
489
|
+
optimalSize.newLogoSize;
|
|
490
|
+
}
|
|
459
491
|
} catch (error) {
|
|
460
|
-
console.warn('Failed to recalculate
|
|
492
|
+
console.warn('Failed to recalculate header logo dimensions:', error);
|
|
461
493
|
}
|
|
462
494
|
};
|
|
@@ -92,6 +92,7 @@ import {
|
|
|
92
92
|
applyLogoTemplateImageToBrandPageTemplateModel,
|
|
93
93
|
getOptimalLogoSize,
|
|
94
94
|
recalculateLogoContentDimensions,
|
|
95
|
+
recalculateHeaderLogoSizes,
|
|
95
96
|
} from '../../../brand-page/utils/logo.util';
|
|
96
97
|
import type { ShopConfigData } from '../../../brand-page/models/shop.model';
|
|
97
98
|
import { FabricRenderClient } from '../../../clients/fabric-render-client';
|
|
@@ -349,6 +350,31 @@ export const useBrandPageMakerStore = defineStore('brandPageMaker', {
|
|
|
349
350
|
setSelectedTemplateId(payload: { templateId: string | false }): void {
|
|
350
351
|
this.selectedTemplateId = payload.templateId;
|
|
351
352
|
},
|
|
353
|
+
async recalculateLogoSizes(forceRecalculate = false) {
|
|
354
|
+
const brandPageContainerStore = useBrandPageContainerStore();
|
|
355
|
+
const userStore = useBrandPageMakerUserStore();
|
|
356
|
+
const pageSettingsStore = useUiPageSettingsStore();
|
|
357
|
+
const logoSettingsStore = useUiLogoSettingsStore();
|
|
358
|
+
const editableLogoStore = useUiEditableLogoStore();
|
|
359
|
+
|
|
360
|
+
if (!userStore.isAdmin && this.isBrandSite) {
|
|
361
|
+
await recalculateHeaderLogoSizes(
|
|
362
|
+
pageSettingsStore,
|
|
363
|
+
logoSettingsStore,
|
|
364
|
+
editableLogoStore.editableLogoVariations,
|
|
365
|
+
this.brandPageType,
|
|
366
|
+
brandPageContainerStore.isPrePurchase,
|
|
367
|
+
forceRecalculate,
|
|
368
|
+
);
|
|
369
|
+
} else if (!userStore.isAdmin && this.isBrandPageOrIsBrandContact) {
|
|
370
|
+
await recalculateLogoContentDimensions(
|
|
371
|
+
pageSettingsStore,
|
|
372
|
+
editableLogoStore.editableLogoVariations,
|
|
373
|
+
logoSettingsStore.selectedLogoImage,
|
|
374
|
+
brandPageContainerStore.isPrePurchase,
|
|
375
|
+
);
|
|
376
|
+
}
|
|
377
|
+
},
|
|
352
378
|
async applySelectedTemplate() {
|
|
353
379
|
const uiStore = useUiStore();
|
|
354
380
|
const logoSettingsStore = useUiLogoSettingsStore();
|
|
@@ -567,6 +593,8 @@ export const useBrandPageMakerStore = defineStore('brandPageMaker', {
|
|
|
567
593
|
backgroundStyles: brandPageModel.styles.backgroundStyles,
|
|
568
594
|
});
|
|
569
595
|
|
|
596
|
+
await this.recalculateLogoSizes(true);
|
|
597
|
+
|
|
570
598
|
this.setIsModifiedAfterTemplateApplied({
|
|
571
599
|
isModified: false,
|
|
572
600
|
});
|
|
@@ -901,52 +929,8 @@ export const useBrandPageMakerStore = defineStore('brandPageMaker', {
|
|
|
901
929
|
});
|
|
902
930
|
}
|
|
903
931
|
|
|
904
|
-
if (
|
|
905
|
-
|
|
906
|
-
!userStore.isAdmin &&
|
|
907
|
-
this.isBrandSite
|
|
908
|
-
) {
|
|
909
|
-
const logoImageHeight =
|
|
910
|
-
pageSettingsStore.sections[PAGE_SECTIONS.header][VIEWPORTS.desktop]
|
|
911
|
-
.logoImageHeight;
|
|
912
|
-
const logoVariation =
|
|
913
|
-
pageSettingsStore.sections[PAGE_SECTIONS.header][VIEWPORTS.desktop]
|
|
914
|
-
.logoVariation;
|
|
915
|
-
const logoPrePurchase = editableLogoStore.editableLogoVariations.find(
|
|
916
|
-
(logo) => logo.variationId === logoVariation,
|
|
917
|
-
);
|
|
918
|
-
const logoPostPurchase =
|
|
919
|
-
await FabricRenderClient.getInstance().getLogoSvgUrlByLogoImageAsync(
|
|
920
|
-
logoSettingsStore.selectedLogoImage,
|
|
921
|
-
);
|
|
922
|
-
|
|
923
|
-
const logo = brandPageContainerStore.isPrePurchase
|
|
924
|
-
? logoPrePurchase
|
|
925
|
-
: logoPostPurchase;
|
|
926
|
-
|
|
927
|
-
if (logo && logoImageHeight) {
|
|
928
|
-
const optimalSize = getOptimalLogoSize(
|
|
929
|
-
this.brandPageType,
|
|
930
|
-
logo.width,
|
|
931
|
-
logo.height,
|
|
932
|
-
);
|
|
933
|
-
|
|
934
|
-
pageSettingsStore.sections[PAGE_SECTIONS.header][
|
|
935
|
-
VIEWPORTS.desktop
|
|
936
|
-
].logoImageWidth = optimalSize.newLogoSize;
|
|
937
|
-
pageSettingsStore.sections[PAGE_SECTIONS.header][
|
|
938
|
-
VIEWPORTS.desktop
|
|
939
|
-
].logoImageHeight = optimalSize.newLogoSize;
|
|
940
|
-
}
|
|
941
|
-
} else if (
|
|
942
|
-
!brandPageContainerStore.designDraftToken &&
|
|
943
|
-
!userStore.isAdmin &&
|
|
944
|
-
this.isBrandPageOrIsBrandContact
|
|
945
|
-
) {
|
|
946
|
-
recalculateLogoContentDimensions(
|
|
947
|
-
pageSettingsStore,
|
|
948
|
-
editableLogoStore.editableLogoVariations,
|
|
949
|
-
);
|
|
932
|
+
if (!brandPageContainerStore.designDraftToken) {
|
|
933
|
+
await this.recalculateLogoSizes();
|
|
950
934
|
}
|
|
951
935
|
|
|
952
936
|
const backgroundStyles = new BackgroundStyles(
|
package/src/lib.ts
CHANGED
|
@@ -62,6 +62,8 @@ export {
|
|
|
62
62
|
getOptimalLogoSize,
|
|
63
63
|
calculateOptimizedLogoDimensions,
|
|
64
64
|
applyLogoImageBase64UrlToBrandPageTemplateModel,
|
|
65
|
+
recalculateLogoContentDimensions,
|
|
66
|
+
recalculateHeaderLogoSizes,
|
|
65
67
|
} from './brand-page/utils/logo.util';
|
|
66
68
|
export { sanitizeRTEHtml } from './brand-page-maker/utils';
|
|
67
69
|
export { getPageSlugFromPageTitle } from './brand-page-maker/utils/slug.util';
|