@designcrowd/library.brand-page 6.2.1 → 6.2.2-live-preview-1
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-CtvPtYF6.js → CreatedOnBrandCrowd-de-de-Cn0M-eZ1.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-en-us-eGF-EjAX.js → CreatedOnBrandCrowd-en-us-DRLMSDZr.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-es-es-CSemsOtT.js → CreatedOnBrandCrowd-es-es-BglTu73U.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-fr-DzylX-AT.js → CreatedOnBrandCrowd-fr-ca-Bj6YZ_el.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-ca-DzylX-AT.js → CreatedOnBrandCrowd-fr-fr-Bj6YZ_el.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-pt-QMUxXQsE.js → CreatedOnBrandCrowd-pt-br-DEoOmQ1F.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-br-QMUxXQsE.js → CreatedOnBrandCrowd-pt-pt-DEoOmQ1F.js} +1 -1
- package/lib/src/{CreatedOnDcom-de-de-M7OoJt-1.js → CreatedOnDcom-de-de-BZ7gTt4Z.js} +1 -1
- package/lib/src/{CreatedOnDcom-en-us-D7hMM0AI.js → CreatedOnDcom-en-us-CD6Km5sH.js} +1 -1
- package/lib/src/{CreatedOnDcom-es-es-CLw-BLp2.js → CreatedOnDcom-es-es-CNpZHvEl.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-ca-BRu_kmeu.js → CreatedOnDcom-fr-ca-URS-ydJ1.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-fr-IMnEv_yM.js → CreatedOnDcom-fr-fr-D2AVeA3H.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-br-Bt6v1p27.js → CreatedOnDcom-pt-br-C32frnFs.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-pt-BVsFJIJg.js → CreatedOnDcom-pt-pt-TDYGjRXS.js} +1 -1
- package/lib/src/brand-page/models/brand-page-context.model.d.ts +0 -2
- package/lib/src/brand-page/models/brand-page-context.model.js +0 -12
- package/lib/src/brand-page-maker/components/action-bar/ActionBar.mixin.d.ts +0 -1
- package/lib/src/brand-page-maker/components/action-bar/ActionBar.mixin.js +0 -9
- package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.d.ts +7 -43
- package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +6 -42
- package/lib/src/brand-page-maker/components/preview/Preview.mixin.d.ts +0 -14
- package/lib/src/brand-page-maker/components/quick-link-bar/QuickLinkBar.mixin.d.ts +0 -42
- package/lib/src/brand-page-maker/components/seo-settings/SeoPageSettings.mixin.d.ts +0 -42
- package/lib/src/brand-page-maker/components/seo-settings/UrlSettings.mixin.d.ts +0 -42
- package/lib/src/brand-page-maker/components/seo-settings/UseExistingDomainModal.mixin.d.ts +0 -42
- package/lib/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.d.ts +0 -42
- package/lib/src/brand-page-maker/components/upgrade-to-premium-button/UpgradeToPremiumButton.mixin.d.ts +0 -42
- package/lib/src/brand-page-maker/composables/useEventTracker.d.ts +3 -0
- package/lib/src/brand-page-maker/composables/useEventTracker.js +10 -0
- package/lib/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.d.ts +0 -42
- package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.js +2 -4
- package/lib/src/{bundled-translations-KY0aSmMp.js → bundled-translations-BYUfWBT3.js} +9 -9
- package/lib/src/{bundled-translations.de-DE-BIFi4bYj.js → bundled-translations.de-DE-MmzUu1tt.js} +13 -13
- package/lib/src/{bundled-translations.es-ES-CHlKuPLO.js → bundled-translations.es-ES-D-tG33XL.js} +1 -1
- package/lib/src/{bundled-translations.fr-CA-DR1fvm8e.js → bundled-translations.fr-CA-CNc1H1h3.js} +1 -1
- package/lib/src/{bundled-translations.fr-FR-DnpWVIQg.js → bundled-translations.fr-FR-DX0-yepT.js} +1 -1
- package/lib/src/{bundled-translations.pt-BR-p8szTOiT.js → bundled-translations.pt-BR-ih1-LRgy.js} +9 -9
- package/lib/src/{bundled-translations.pt-PT-DEk39NhW.js → bundled-translations.pt-PT-Dq2CmD1p.js} +1 -1
- package/lib/src/bundles/bundled-translations.de-DE.json +3 -1
- package/lib/src/bundles/bundled-translations.es-ES.json +3 -1
- package/lib/src/bundles/bundled-translations.fr-CA.json +3 -1
- package/lib/src/bundles/bundled-translations.fr-FR.json +3 -1
- package/lib/src/bundles/bundled-translations.json +3 -1
- package/lib/src/bundles/bundled-translations.pt-BR.json +3 -1
- package/lib/src/bundles/bundled-translations.pt-PT.json +3 -1
- package/lib/src/composables/useTranslate.d.ts +1 -1
- package/lib/src/composables/useTranslate.js +1 -1
- package/lib/src/css/library.brand-page-brandCrowd.min.css +4 -4
- package/lib/src/css/library.brand-page-brandPage.min.css +4 -4
- package/lib/src/css/library.brand-page-designCom.min.css +4 -4
- package/lib/src/css/library.brand-page-preview.min.css +4 -4
- package/lib/src/index.mjs +2 -2
- package/lib/src/{lib-B38VVCSw.js → lib-Dm9AuOJL.js} +16909 -16783
- package/lib/src/metadata-builder/builders/item-id-utils.d.ts +2 -0
- package/lib/src/metadata-builder/builders/item-id-utils.js +8 -2
- package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts +8 -1
- package/lib/src/shared/content-settings/components/content-settings/ReplaceImageSettingsForContent.mixin.d.ts +6 -0
- package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.d.ts +1 -0
- package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.d.ts +5 -0
- package/lib/src/shared/content-settings/components/payment-config-field/PaymentConfigField.mixin.d.ts +5 -42
- package/lib/src/shared/ecommerce-settings/util/refreshDuplicatedMetadata.d.ts +9 -1
- package/lib/src/shared/ecommerce-settings/util/refreshDuplicatedMetadata.js +31 -9
- package/lib/src/shared/logo-settings/components/EditLogoSettings.mixin.d.ts +1 -0
- package/lib/src/shared/logo-settings/components/LogoSettings.mixin.d.ts +5 -42
- package/lib/src/shared/page-navigation/store/page-navigation-store.d.ts +2 -1
- package/lib/src/shared/page-navigation/store/page-navigation-store.js +22 -9
- package/lib/src/shared/page-settings/components/new-page-modal/NewPageModal.mixin.d.ts +7 -1
- package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +10 -43
- package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.js +12 -35
- package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +6 -42
- package/lib/src/shared/page-settings/duplicate-page.util.d.ts +4 -0
- package/lib/src/shared/page-settings/duplicate-page.util.js +82 -0
- package/lib/src/shared/page-settings/models.d.ts +1 -0
- package/lib/src/shared/page-settings/store/page-settings-store.d.ts +5 -0
- package/lib/src/shared/page-settings/store/page-settings-store.js +90 -7
- package/lib/src/shared/page-settings/utils.d.ts +3 -0
- package/lib/src/shared/page-settings/utils.js +6 -0
- package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.d.ts +1 -56
- package/lib/src/shared/side-bar/components/SideBar.mixin.d.ts +0 -42
- package/lib/src/shared/side-bar/components/SideBarTabButton.mixin.d.ts +1 -0
- package/lib/src/shared/style-settings/components/StyleSettings.mixin.d.ts +1 -42
- package/lib/src/shared/template-settings/components/TemplatesSettings.mixin.d.ts +1 -0
- package/lib/src/tracker.mjs +1 -1
- package/lib/src/{useEventTracker-C5Ql5p7u.js → useEventTracker-DwPTmzpa.js} +13 -3
- package/package.json +1 -1
- package/src/brand-page/models/brand-page-context.model.ts +0 -23
- package/src/brand-page-maker/components/action-bar/ActionBar.mixin.ts +0 -10
- package/src/brand-page-maker/components/action-bar/ActionBarNavigation.test.ts +8 -49
- package/src/brand-page-maker/components/action-bar/ActionBarNavigation.vue +1 -1
- package/src/brand-page-maker/composables/useEventTracker.ts +13 -0
- package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.ts +2 -4
- package/src/bundles/bundled-translations.de-DE.json +3 -1
- package/src/bundles/bundled-translations.es-ES.json +3 -1
- package/src/bundles/bundled-translations.fr-CA.json +3 -1
- package/src/bundles/bundled-translations.fr-FR.json +3 -1
- package/src/bundles/bundled-translations.json +3 -1
- package/src/bundles/bundled-translations.pt-BR.json +3 -1
- package/src/bundles/bundled-translations.pt-PT.json +3 -1
- package/src/composables/useTranslate.ts +2 -1
- package/src/metadata-builder/builders/item-id-utils.ts +9 -2
- package/src/shared/ecommerce-settings/components/product-config-field/ProductConfigOption.vue +0 -2
- package/src/shared/ecommerce-settings/util/refreshDuplicatedMetadata.ts +32 -10
- package/src/shared/page-navigation/store/page-navigation-store.ts +41 -13
- package/src/shared/page-settings/components/page-settings/NestedDraggable.vue +3 -0
- package/src/shared/page-settings/components/page-settings/PageElement.vue +2 -0
- package/src/shared/page-settings/components/page-settings/PageSettingMenu.test.ts +105 -0
- package/src/shared/page-settings/components/page-settings/PageSettingMenu.vue +16 -0
- package/src/shared/page-settings/components/page-settings/PageSettings.duplicate.test.ts +108 -0
- package/src/shared/page-settings/components/page-settings/PageSettings.mixin.ts +22 -50
- package/src/shared/page-settings/components/page-settings/PageSettings.vue +1 -0
- package/src/shared/page-settings/components/page-settings/i18n/page-settings.de-DE.json +3 -1
- package/src/shared/page-settings/components/page-settings/i18n/page-settings.es-ES.json +3 -1
- package/src/shared/page-settings/components/page-settings/i18n/page-settings.fr-CA.json +3 -1
- package/src/shared/page-settings/components/page-settings/i18n/page-settings.fr-FR.json +3 -1
- package/src/shared/page-settings/components/page-settings/i18n/page-settings.json +3 -1
- package/src/shared/page-settings/components/page-settings/i18n/page-settings.pt-BR.json +3 -1
- package/src/shared/page-settings/components/page-settings/i18n/page-settings.pt-PT.json +3 -1
- package/src/shared/page-settings/duplicate-page.util.test.ts +382 -0
- package/src/shared/page-settings/duplicate-page.util.ts +124 -0
- package/src/shared/page-settings/models.ts +1 -0
- package/src/shared/page-settings/store/page-settings-store.test.ts +441 -1
- package/src/shared/page-settings/store/page-settings-store.ts +145 -11
- package/src/shared/page-settings/utils.ts +10 -0
|
@@ -6,6 +6,8 @@ import type { BrandPageModel } from '../../brand-page/models';
|
|
|
6
6
|
export declare const END_ITEM_ANCHOR = "__end__";
|
|
7
7
|
/** Generate a stable item id. Mirrors section-level `uuid.v4()` id generation. */
|
|
8
8
|
export declare const generateItemId: () => string;
|
|
9
|
+
/** Every array field the minifier surfaces to the AI as a list of items. */
|
|
10
|
+
export declare const ITEM_ID_BEARING_FIELDS: readonly ["images", "items", "textItems", "links"];
|
|
9
11
|
/**
|
|
10
12
|
* Walk an entire BrandPageModel and backfill a stable uuid `id` onto every
|
|
11
13
|
* nested array item that lacks one (gallery images, images/shapes/testimonial
|
|
@@ -6,6 +6,13 @@ import { v4 as uuidv4 } from 'uuid';
|
|
|
6
6
|
export const END_ITEM_ANCHOR = '__end__';
|
|
7
7
|
/** Generate a stable item id. Mirrors section-level `uuid.v4()` id generation. */
|
|
8
8
|
export const generateItemId = () => uuidv4();
|
|
9
|
+
/** Every array field the minifier surfaces to the AI as a list of items. */
|
|
10
|
+
export const ITEM_ID_BEARING_FIELDS = [
|
|
11
|
+
'images',
|
|
12
|
+
'items',
|
|
13
|
+
'textItems',
|
|
14
|
+
'links',
|
|
15
|
+
];
|
|
9
16
|
/**
|
|
10
17
|
* Walk an entire BrandPageModel and backfill a stable uuid `id` onto every
|
|
11
18
|
* nested array item that lacks one (gallery images, images/shapes/testimonial
|
|
@@ -19,8 +26,7 @@ export const generateItemId = () => uuidv4();
|
|
|
19
26
|
*/
|
|
20
27
|
export const ensureBrandPageItemIds = (model) => {
|
|
21
28
|
const ensureContentItemIds = (content) => {
|
|
22
|
-
|
|
23
|
-
for (const field of ['images', 'items', 'textItems', 'links']) {
|
|
29
|
+
for (const field of ITEM_ID_BEARING_FIELDS) {
|
|
24
30
|
const arr = content[field];
|
|
25
31
|
if (Array.isArray(arr))
|
|
26
32
|
ensureItemIds(arr);
|
package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts
CHANGED
|
@@ -471,6 +471,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
471
471
|
hasVisibleNavigation(): boolean;
|
|
472
472
|
}, {
|
|
473
473
|
getPageSlugsForDepth(parentRouteId?: string): string[];
|
|
474
|
+
getDisplayNamesForDepth(parentRouteId?: string): string[];
|
|
474
475
|
getParentRouteIdForPage(pageId: string): string | undefined;
|
|
475
476
|
getParentRouteIdForRoute(routeId: string): string | undefined;
|
|
476
477
|
getFirstOrDefaultRoute(): import("@brand-page").NavRoute;
|
|
@@ -483,7 +484,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
483
484
|
setNav({ nav }: {
|
|
484
485
|
nav: import("@brand-page").NavModel;
|
|
485
486
|
}): void;
|
|
486
|
-
addNavRoute(newRoute: import("@brand-page").NavRoute, parentRouteId?: string): void;
|
|
487
|
+
addNavRoute(newRoute: import("@brand-page").NavRoute, parentRouteId?: string, insertAfterRouteId?: string): void;
|
|
487
488
|
removeNavRoute(routeId: string): void;
|
|
488
489
|
onDisplayNameChange(routeId: string, newDisplayName: string): void;
|
|
489
490
|
setRouteTitleAndSlugByPageId(pageId: string, displayName: string, slug: string): void;
|
|
@@ -508,6 +509,8 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
508
509
|
setPages({ pages }: {
|
|
509
510
|
pages: import("../../../page-settings/models").ContentPage[];
|
|
510
511
|
}): void;
|
|
512
|
+
syncPagesWithOrders(): void;
|
|
513
|
+
showPageLimitUpgradeModalAsync(ctaLocation: string): Promise<void>;
|
|
511
514
|
setNewPageModalVisibilityAsync({ isNewPageModalVisible, parentPageId, }: {
|
|
512
515
|
isNewPageModalVisible: boolean;
|
|
513
516
|
parentPageId?: string;
|
|
@@ -557,6 +560,9 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
557
560
|
title: string;
|
|
558
561
|
newPageParentId?: string;
|
|
559
562
|
}): import("../../../page-settings/models").ContentPage;
|
|
563
|
+
duplicatePage({ pageId, }: {
|
|
564
|
+
pageId: string;
|
|
565
|
+
}): Promise<import("../../../page-settings/models").ContentPage | undefined>;
|
|
560
566
|
setSelectedSectionName({ sectionName, }: {
|
|
561
567
|
sectionName?: import("../../../page-settings/store").PageSettingsSection;
|
|
562
568
|
}): void;
|
|
@@ -681,6 +687,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
681
687
|
sendWebsiteManageAddPageEvent: (pageName: string, isSubPageMode?: boolean) => void;
|
|
682
688
|
sendWebsiteManageRemovePageEvent: (pageName: string, isRouteNested?: boolean) => void;
|
|
683
689
|
sendWebsiteManageReorderPageEvent: (pageName: string) => void;
|
|
690
|
+
sendWebsiteManageDuplicatePageEvent: (sourcePageName: string, isSubPage?: boolean) => void;
|
|
684
691
|
sendPublishOptionsForFreeEvent: () => void;
|
|
685
692
|
sendPublishOptionsForPremiumEvent: () => void;
|
|
686
693
|
sendPublishOptionsForExitEvent: () => void;
|
|
@@ -516,6 +516,8 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
516
516
|
setPages({ pages }: {
|
|
517
517
|
pages: import("../../../page-settings/models").ContentPage[];
|
|
518
518
|
}): void;
|
|
519
|
+
syncPagesWithOrders(): void;
|
|
520
|
+
showPageLimitUpgradeModalAsync(ctaLocation: string): Promise<void>;
|
|
519
521
|
setNewPageModalVisibilityAsync({ isNewPageModalVisible, parentPageId, }: {
|
|
520
522
|
isNewPageModalVisible: boolean;
|
|
521
523
|
parentPageId?: string;
|
|
@@ -565,6 +567,9 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
565
567
|
title: string;
|
|
566
568
|
newPageParentId?: string;
|
|
567
569
|
}): import("../../../page-settings/models").ContentPage;
|
|
570
|
+
duplicatePage({ pageId, }: {
|
|
571
|
+
pageId: string;
|
|
572
|
+
}): Promise<import("../../../page-settings/models").ContentPage | undefined>;
|
|
568
573
|
setSelectedSectionName({ sectionName, }: {
|
|
569
574
|
sectionName?: import("../../../page-settings/store").PageSettingsSection;
|
|
570
575
|
}): void;
|
|
@@ -800,6 +805,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
800
805
|
sendWebsiteManageAddPageEvent: (pageName: string, isSubPageMode?: boolean) => void;
|
|
801
806
|
sendWebsiteManageRemovePageEvent: (pageName: string, isRouteNested?: boolean) => void;
|
|
802
807
|
sendWebsiteManageReorderPageEvent: (pageName: string) => void;
|
|
808
|
+
sendWebsiteManageDuplicatePageEvent: (sourcePageName: string, isSubPage?: boolean) => void;
|
|
803
809
|
sendPublishOptionsForFreeEvent: () => void;
|
|
804
810
|
sendPublishOptionsForPremiumEvent: () => void;
|
|
805
811
|
sendPublishOptionsForExitEvent: () => void;
|
|
@@ -532,6 +532,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
532
532
|
sendWebsiteManageAddPageEvent: (pageName: string, isSubPageMode?: boolean) => void;
|
|
533
533
|
sendWebsiteManageRemovePageEvent: (pageName: string, isRouteNested?: boolean) => void;
|
|
534
534
|
sendWebsiteManageReorderPageEvent: (pageName: string) => void;
|
|
535
|
+
sendWebsiteManageDuplicatePageEvent: (sourcePageName: string, isSubPage?: boolean) => void;
|
|
535
536
|
sendPublishOptionsForFreeEvent: () => void;
|
|
536
537
|
sendPublishOptionsForPremiumEvent: () => void;
|
|
537
538
|
sendPublishOptionsForExitEvent: () => void;
|
|
@@ -738,6 +738,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
738
738
|
setPages({ pages }: {
|
|
739
739
|
pages: import("../../../page-settings/models").ContentPage[];
|
|
740
740
|
}): void;
|
|
741
|
+
syncPagesWithOrders(): void;
|
|
742
|
+
showPageLimitUpgradeModalAsync(ctaLocation: string): Promise<void>;
|
|
741
743
|
setNewPageModalVisibilityAsync({ isNewPageModalVisible, parentPageId, }: {
|
|
742
744
|
isNewPageModalVisible: boolean;
|
|
743
745
|
parentPageId?: string;
|
|
@@ -787,6 +789,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
787
789
|
title: string;
|
|
788
790
|
newPageParentId?: string;
|
|
789
791
|
}): import("../../../page-settings/models").ContentPage;
|
|
792
|
+
duplicatePage({ pageId, }: {
|
|
793
|
+
pageId: string;
|
|
794
|
+
}): Promise<import("../../../page-settings/models").ContentPage | undefined>;
|
|
790
795
|
setSelectedSectionName({ sectionName, }: {
|
|
791
796
|
sectionName?: import("../../../page-settings/store").PageSettingsSection;
|
|
792
797
|
}): void;
|
|
@@ -91,20 +91,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
91
91
|
isVariation: boolean;
|
|
92
92
|
isExcluded: boolean;
|
|
93
93
|
} | undefined;
|
|
94
|
-
bp_5873_live_preview_prepurchase?: {
|
|
95
|
-
key: string;
|
|
96
|
-
value: string;
|
|
97
|
-
isControl: boolean;
|
|
98
|
-
isVariation: boolean;
|
|
99
|
-
isExcluded: boolean;
|
|
100
|
-
} | undefined;
|
|
101
|
-
bp_5873_live_preview_postpurchase?: {
|
|
102
|
-
key: string;
|
|
103
|
-
value: string;
|
|
104
|
-
isControl: boolean;
|
|
105
|
-
isVariation: boolean;
|
|
106
|
-
isExcluded: boolean;
|
|
107
|
-
} | undefined;
|
|
108
94
|
};
|
|
109
95
|
isSubsequentPublish: boolean;
|
|
110
96
|
isContextualUpgradeModalVisible: boolean;
|
|
@@ -180,20 +166,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
180
166
|
isVariation: boolean;
|
|
181
167
|
isExcluded: boolean;
|
|
182
168
|
} | undefined;
|
|
183
|
-
bp_5873_live_preview_prepurchase?: {
|
|
184
|
-
key: string;
|
|
185
|
-
value: string;
|
|
186
|
-
isControl: boolean;
|
|
187
|
-
isVariation: boolean;
|
|
188
|
-
isExcluded: boolean;
|
|
189
|
-
} | undefined;
|
|
190
|
-
bp_5873_live_preview_postpurchase?: {
|
|
191
|
-
key: string;
|
|
192
|
-
value: string;
|
|
193
|
-
isControl: boolean;
|
|
194
|
-
isVariation: boolean;
|
|
195
|
-
isExcluded: boolean;
|
|
196
|
-
} | undefined;
|
|
197
169
|
};
|
|
198
170
|
isSubsequentPublish: boolean;
|
|
199
171
|
isContextualUpgradeModalVisible: boolean;
|
|
@@ -269,20 +241,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
269
241
|
isVariation: boolean;
|
|
270
242
|
isExcluded: boolean;
|
|
271
243
|
} | undefined;
|
|
272
|
-
bp_5873_live_preview_prepurchase?: {
|
|
273
|
-
key: string;
|
|
274
|
-
value: string;
|
|
275
|
-
isControl: boolean;
|
|
276
|
-
isVariation: boolean;
|
|
277
|
-
isExcluded: boolean;
|
|
278
|
-
} | undefined;
|
|
279
|
-
bp_5873_live_preview_postpurchase?: {
|
|
280
|
-
key: string;
|
|
281
|
-
value: string;
|
|
282
|
-
isControl: boolean;
|
|
283
|
-
isVariation: boolean;
|
|
284
|
-
isExcluded: boolean;
|
|
285
|
-
} | undefined;
|
|
286
244
|
};
|
|
287
245
|
isSubsequentPublish: boolean;
|
|
288
246
|
isContextualUpgradeModalVisible: boolean;
|
|
@@ -540,6 +498,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
540
498
|
setPages({ pages }: {
|
|
541
499
|
pages: import("../../../page-settings/models").ContentPage[];
|
|
542
500
|
}): void;
|
|
501
|
+
syncPagesWithOrders(): void;
|
|
502
|
+
showPageLimitUpgradeModalAsync(ctaLocation: string): Promise<void>;
|
|
543
503
|
setNewPageModalVisibilityAsync({ isNewPageModalVisible, parentPageId, }: {
|
|
544
504
|
isNewPageModalVisible: boolean;
|
|
545
505
|
parentPageId?: string;
|
|
@@ -589,6 +549,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
589
549
|
title: string;
|
|
590
550
|
newPageParentId?: string;
|
|
591
551
|
}): import("../../../page-settings/models").ContentPage;
|
|
552
|
+
duplicatePage({ pageId, }: {
|
|
553
|
+
pageId: string;
|
|
554
|
+
}): Promise<import("../../../page-settings/models").ContentPage | undefined>;
|
|
592
555
|
setSelectedSectionName({ sectionName, }: {
|
|
593
556
|
sectionName?: import("@shared/page-settings/store").PageSettingsSection;
|
|
594
557
|
}): void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { BrandPageModel } from '@brand-page/models';
|
|
1
|
+
import type { BrandPageModel, Content } from '@brand-page/models';
|
|
2
2
|
/**
|
|
3
3
|
* Refresh a (migrated, current-version) BrandPageModel so it is safe to persist as a *duplicate*.
|
|
4
4
|
* Two things travel with a verbatim copy that must not: client-minted identifiers that the
|
|
@@ -9,3 +9,11 @@ import type { BrandPageModel } from '@brand-page/models';
|
|
|
9
9
|
* See `shop-duplication.md`.
|
|
10
10
|
*/
|
|
11
11
|
export declare function refreshDuplicatedMetadata(model: BrandPageModel): BrandPageModel;
|
|
12
|
+
/**
|
|
13
|
+
* Rotate the client-minted ids the brand-page-api keys a **global** row on — shop product / sku_key
|
|
14
|
+
* and payment-option ids. A verbatim copy collides with its source on those tables.
|
|
15
|
+
*
|
|
16
|
+
* Shared with page duplication, which wants only this half: that copy keeps the same owner, so it
|
|
17
|
+
* keeps its payment connection.
|
|
18
|
+
*/
|
|
19
|
+
export declare function rotateMonetizationIds(content: Content): void;
|
|
@@ -16,10 +16,8 @@ export function refreshDuplicatedMetadata(model) {
|
|
|
16
16
|
// content-level connections below are cleared. Disconnect it too; the new owner reconnects.
|
|
17
17
|
model.paymentConfig = undefined;
|
|
18
18
|
model.pages.forEach((page) => page.contents.forEach((content) => {
|
|
19
|
+
rotateMonetizationIds(content);
|
|
19
20
|
if (isShopContent(content)) {
|
|
20
|
-
// Shop products collide on the global product / sku_key tables. The shop's payment-config
|
|
21
|
-
// link is written with throwaway ids (not the content id), so only the product ids rotate.
|
|
22
|
-
content.products.forEach(rotateProductIds);
|
|
23
21
|
disconnectPayment(content.shopPaymentConfig);
|
|
24
22
|
}
|
|
25
23
|
else if (isPayment(content)) {
|
|
@@ -31,6 +29,26 @@ export function refreshDuplicatedMetadata(model) {
|
|
|
31
29
|
}));
|
|
32
30
|
return model;
|
|
33
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* Rotate the client-minted ids the brand-page-api keys a **global** row on — shop product / sku_key
|
|
34
|
+
* and payment-option ids. A verbatim copy collides with its source on those tables.
|
|
35
|
+
*
|
|
36
|
+
* Shared with page duplication, which wants only this half: that copy keeps the same owner, so it
|
|
37
|
+
* keeps its payment connection.
|
|
38
|
+
*/
|
|
39
|
+
export function rotateMonetizationIds(content) {
|
|
40
|
+
if (isShopContent(content)) {
|
|
41
|
+
// The shop's payment-config link is written with throwaway ids (not the content id), so only
|
|
42
|
+
// the product ids rotate here.
|
|
43
|
+
content.products.forEach(rotateProductIds);
|
|
44
|
+
}
|
|
45
|
+
else if (isPayment(content)) {
|
|
46
|
+
rotatePaymentOptionIds(content.requestPaymentConfig);
|
|
47
|
+
}
|
|
48
|
+
else if (isSupportMe(content)) {
|
|
49
|
+
rotatePaymentOptionIds(content.supportMeConfig);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
34
52
|
function rotateProductIds(product) {
|
|
35
53
|
product.id = uuid();
|
|
36
54
|
// The option id is the only value cross-referenced inside a product — SKUs point at product
|
|
@@ -56,17 +74,21 @@ function rotateProductIds(product) {
|
|
|
56
74
|
sku.skuKey = generateSku(product.name, sku.variant[0]?.option);
|
|
57
75
|
});
|
|
58
76
|
}
|
|
77
|
+
// `brand_page_product` is keyed on the payment-option id, so a verbatim copy would adopt the
|
|
78
|
+
// source's product rows on its next payment upsert.
|
|
79
|
+
function rotatePaymentOptionIds(config) {
|
|
80
|
+
config.paymentOptions.forEach((option) => {
|
|
81
|
+
option.id = uuid();
|
|
82
|
+
});
|
|
83
|
+
}
|
|
59
84
|
/**
|
|
60
85
|
* request-payment / support-me content. The api keys `content_block_payment_config` on the content
|
|
61
|
-
* id (PK)
|
|
62
|
-
*
|
|
63
|
-
*
|
|
86
|
+
* id (PK), so a verbatim copy would repoint the source's config link on its next payment upsert -
|
|
87
|
+
* re-mint it, then drop the connection. (The option ids are rotated upstream, for both kinds of
|
|
88
|
+
* duplication.)
|
|
64
89
|
*/
|
|
65
90
|
function resetPaymentBlock(content, config) {
|
|
66
91
|
content.id = uuid();
|
|
67
|
-
config.paymentOptions.forEach((option) => {
|
|
68
|
-
option.id = uuid();
|
|
69
|
-
});
|
|
70
92
|
disconnectPayment(config);
|
|
71
93
|
}
|
|
72
94
|
/**
|
|
@@ -299,6 +299,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
299
299
|
sendWebsiteManageAddPageEvent: (pageName: string, isSubPageMode?: boolean) => void;
|
|
300
300
|
sendWebsiteManageRemovePageEvent: (pageName: string, isRouteNested?: boolean) => void;
|
|
301
301
|
sendWebsiteManageReorderPageEvent: (pageName: string) => void;
|
|
302
|
+
sendWebsiteManageDuplicatePageEvent: (sourcePageName: string, isSubPage?: boolean) => void;
|
|
302
303
|
sendPublishOptionsForFreeEvent: () => void;
|
|
303
304
|
sendPublishOptionsForPremiumEvent: () => void;
|
|
304
305
|
sendPublishOptionsForExitEvent: () => void;
|
|
@@ -387,20 +387,6 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
387
387
|
isVariation: boolean;
|
|
388
388
|
isExcluded: boolean;
|
|
389
389
|
} | undefined;
|
|
390
|
-
bp_5873_live_preview_prepurchase?: {
|
|
391
|
-
key: string;
|
|
392
|
-
value: string;
|
|
393
|
-
isControl: boolean;
|
|
394
|
-
isVariation: boolean;
|
|
395
|
-
isExcluded: boolean;
|
|
396
|
-
} | undefined;
|
|
397
|
-
bp_5873_live_preview_postpurchase?: {
|
|
398
|
-
key: string;
|
|
399
|
-
value: string;
|
|
400
|
-
isControl: boolean;
|
|
401
|
-
isVariation: boolean;
|
|
402
|
-
isExcluded: boolean;
|
|
403
|
-
} | undefined;
|
|
404
390
|
};
|
|
405
391
|
isSubsequentPublish: boolean;
|
|
406
392
|
isContextualUpgradeModalVisible: boolean;
|
|
@@ -476,20 +462,6 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
476
462
|
isVariation: boolean;
|
|
477
463
|
isExcluded: boolean;
|
|
478
464
|
} | undefined;
|
|
479
|
-
bp_5873_live_preview_prepurchase?: {
|
|
480
|
-
key: string;
|
|
481
|
-
value: string;
|
|
482
|
-
isControl: boolean;
|
|
483
|
-
isVariation: boolean;
|
|
484
|
-
isExcluded: boolean;
|
|
485
|
-
} | undefined;
|
|
486
|
-
bp_5873_live_preview_postpurchase?: {
|
|
487
|
-
key: string;
|
|
488
|
-
value: string;
|
|
489
|
-
isControl: boolean;
|
|
490
|
-
isVariation: boolean;
|
|
491
|
-
isExcluded: boolean;
|
|
492
|
-
} | undefined;
|
|
493
465
|
};
|
|
494
466
|
isSubsequentPublish: boolean;
|
|
495
467
|
isContextualUpgradeModalVisible: boolean;
|
|
@@ -565,20 +537,6 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
565
537
|
isVariation: boolean;
|
|
566
538
|
isExcluded: boolean;
|
|
567
539
|
} | undefined;
|
|
568
|
-
bp_5873_live_preview_prepurchase?: {
|
|
569
|
-
key: string;
|
|
570
|
-
value: string;
|
|
571
|
-
isControl: boolean;
|
|
572
|
-
isVariation: boolean;
|
|
573
|
-
isExcluded: boolean;
|
|
574
|
-
} | undefined;
|
|
575
|
-
bp_5873_live_preview_postpurchase?: {
|
|
576
|
-
key: string;
|
|
577
|
-
value: string;
|
|
578
|
-
isControl: boolean;
|
|
579
|
-
isVariation: boolean;
|
|
580
|
-
isExcluded: boolean;
|
|
581
|
-
} | undefined;
|
|
582
540
|
};
|
|
583
541
|
isSubsequentPublish: boolean;
|
|
584
542
|
isContextualUpgradeModalVisible: boolean;
|
|
@@ -707,6 +665,8 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
707
665
|
setPages({ pages }: {
|
|
708
666
|
pages: import("../../page-settings/models").ContentPage[];
|
|
709
667
|
}): void;
|
|
668
|
+
syncPagesWithOrders(): void;
|
|
669
|
+
showPageLimitUpgradeModalAsync(ctaLocation: string): Promise<void>;
|
|
710
670
|
setNewPageModalVisibilityAsync({ isNewPageModalVisible, parentPageId, }: {
|
|
711
671
|
isNewPageModalVisible: boolean;
|
|
712
672
|
parentPageId?: string;
|
|
@@ -756,6 +716,9 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
756
716
|
title: string;
|
|
757
717
|
newPageParentId?: string;
|
|
758
718
|
}): import("../../page-settings/models").ContentPage;
|
|
719
|
+
duplicatePage({ pageId, }: {
|
|
720
|
+
pageId: string;
|
|
721
|
+
}): Promise<import("../../page-settings/models").ContentPage | undefined>;
|
|
759
722
|
setSelectedSectionName({ sectionName, }: {
|
|
760
723
|
sectionName?: import("@shared/page-settings/store").PageSettingsSection;
|
|
761
724
|
}): void;
|
|
@@ -9,6 +9,7 @@ export declare const usePageNavigationStore: import("pinia").StoreDefinition<"pa
|
|
|
9
9
|
hasVisibleNavigation(): boolean;
|
|
10
10
|
}, {
|
|
11
11
|
getPageSlugsForDepth(parentRouteId?: string): string[];
|
|
12
|
+
getDisplayNamesForDepth(parentRouteId?: string): string[];
|
|
12
13
|
getParentRouteIdForPage(pageId: string): string | undefined;
|
|
13
14
|
getParentRouteIdForRoute(routeId: string): string | undefined;
|
|
14
15
|
getFirstOrDefaultRoute(): NavRoute;
|
|
@@ -21,7 +22,7 @@ export declare const usePageNavigationStore: import("pinia").StoreDefinition<"pa
|
|
|
21
22
|
setNav({ nav }: {
|
|
22
23
|
nav: NavModel;
|
|
23
24
|
}): void;
|
|
24
|
-
addNavRoute(newRoute: NavRoute, parentRouteId?: string): void;
|
|
25
|
+
addNavRoute(newRoute: NavRoute, parentRouteId?: string, insertAfterRouteId?: string): void;
|
|
25
26
|
removeNavRoute(routeId: string): void;
|
|
26
27
|
onDisplayNameChange(routeId: string, newDisplayName: string): void;
|
|
27
28
|
setRouteTitleAndSlugByPageId(pageId: string, displayName: string, slug: string): void;
|
|
@@ -16,9 +16,9 @@ const findParentRouteIdForRouteId = (orders, targetRouteId, parentRouteId) => {
|
|
|
16
16
|
}
|
|
17
17
|
return undefined;
|
|
18
18
|
};
|
|
19
|
-
//
|
|
20
|
-
//
|
|
21
|
-
const
|
|
19
|
+
// Routes at one depth. Slugs and titles only need to be unique among siblings,
|
|
20
|
+
// so /home/home-1 and /my-home/home-1 can coexist.
|
|
21
|
+
const getRoutesForCurrentDepth = (navModel, parentRouteId, excludeRouteId) => {
|
|
22
22
|
let ordersAtDepth;
|
|
23
23
|
if (!parentRouteId) {
|
|
24
24
|
ordersAtDepth = navModel.orders;
|
|
@@ -28,10 +28,9 @@ const getPageSlugsForCurrentDepth = (navModel, parentRouteId, excludeRouteId) =>
|
|
|
28
28
|
ordersAtDepth = parentOrder?.subRoutes || [];
|
|
29
29
|
}
|
|
30
30
|
const routeIdsAtDepth = ordersAtDepth.map((order) => order.routeId);
|
|
31
|
-
return navModel.routes
|
|
32
|
-
.filter((route) => routeIdsAtDepth.includes(route.id) && route.id !== excludeRouteId)
|
|
33
|
-
.map((route) => route.pageSlug);
|
|
31
|
+
return navModel.routes.filter((route) => routeIdsAtDepth.includes(route.id) && route.id !== excludeRouteId);
|
|
34
32
|
};
|
|
33
|
+
const getPageSlugsForCurrentDepth = (navModel, parentRouteId, excludeRouteId) => getRoutesForCurrentDepth(navModel, parentRouteId, excludeRouteId).map((route) => route.pageSlug);
|
|
35
34
|
export const usePageNavigationStore = defineStore('pageNavigation', {
|
|
36
35
|
state: () => ({
|
|
37
36
|
routes: [],
|
|
@@ -62,6 +61,9 @@ export const usePageNavigationStore = defineStore('pageNavigation', {
|
|
|
62
61
|
getPageSlugsForDepth(parentRouteId) {
|
|
63
62
|
return getPageSlugsForCurrentDepth(this.nav, parentRouteId);
|
|
64
63
|
},
|
|
64
|
+
getDisplayNamesForDepth(parentRouteId) {
|
|
65
|
+
return getRoutesForCurrentDepth(this.nav, parentRouteId).map((route) => route.displayName);
|
|
66
|
+
},
|
|
65
67
|
getParentRouteIdForPage(pageId) {
|
|
66
68
|
const route = this.routes.find((r) => r.pageId === pageId);
|
|
67
69
|
if (!route) {
|
|
@@ -93,16 +95,27 @@ export const usePageNavigationStore = defineStore('pageNavigation', {
|
|
|
93
95
|
this.routes = nav.routes;
|
|
94
96
|
this.orders = nav.orders;
|
|
95
97
|
},
|
|
96
|
-
addNavRoute(newRoute, parentRouteId) {
|
|
98
|
+
addNavRoute(newRoute, parentRouteId, insertAfterRouteId) {
|
|
97
99
|
const newOrder = {
|
|
98
100
|
routeId: newRoute.id,
|
|
99
101
|
subRoutes: [],
|
|
100
102
|
};
|
|
103
|
+
const addToSiblings = (siblings) => {
|
|
104
|
+
const afterIndex = insertAfterRouteId
|
|
105
|
+
? siblings.findIndex((order) => order.routeId === insertAfterRouteId)
|
|
106
|
+
: -1;
|
|
107
|
+
if (afterIndex === -1) {
|
|
108
|
+
siblings.push(newOrder);
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
siblings.splice(afterIndex + 1, 0, newOrder);
|
|
112
|
+
}
|
|
113
|
+
};
|
|
101
114
|
if (parentRouteId) {
|
|
102
115
|
// Find where to insert the new route into order
|
|
103
116
|
const parentOrder = findParentOrderByRouteId(this.orders, parentRouteId);
|
|
104
117
|
if (parentOrder) {
|
|
105
|
-
parentOrder.subRoutes
|
|
118
|
+
addToSiblings(parentOrder.subRoutes);
|
|
106
119
|
}
|
|
107
120
|
else {
|
|
108
121
|
console.error(`Parent route with id ${parentRouteId} not found in nav orders.`);
|
|
@@ -110,7 +123,7 @@ export const usePageNavigationStore = defineStore('pageNavigation', {
|
|
|
110
123
|
}
|
|
111
124
|
else {
|
|
112
125
|
// Push to root of orders object as this is not a nested route
|
|
113
|
-
this.orders
|
|
126
|
+
addToSiblings(this.orders);
|
|
114
127
|
}
|
|
115
128
|
this.routes.push(newRoute);
|
|
116
129
|
this.reorderVisibleAndHiddenRoutes();
|
|
@@ -17,6 +17,8 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
17
17
|
setPages({ pages }: {
|
|
18
18
|
pages: import("../../models").ContentPage[];
|
|
19
19
|
}): void;
|
|
20
|
+
syncPagesWithOrders(): void;
|
|
21
|
+
showPageLimitUpgradeModalAsync(ctaLocation: string): Promise<void>;
|
|
20
22
|
setNewPageModalVisibilityAsync({ isNewPageModalVisible, parentPageId, }: {
|
|
21
23
|
isNewPageModalVisible: boolean;
|
|
22
24
|
parentPageId?: string;
|
|
@@ -66,6 +68,9 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
66
68
|
title: string;
|
|
67
69
|
newPageParentId?: string;
|
|
68
70
|
}): import("../../models").ContentPage;
|
|
71
|
+
duplicatePage({ pageId, }: {
|
|
72
|
+
pageId: string;
|
|
73
|
+
}): Promise<import("../../models").ContentPage | undefined>;
|
|
69
74
|
setSelectedSectionName({ sectionName, }: {
|
|
70
75
|
sectionName?: import("../../store").PageSettingsSection;
|
|
71
76
|
}): void;
|
|
@@ -82,6 +87,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
82
87
|
hasVisibleNavigation(): boolean;
|
|
83
88
|
}, {
|
|
84
89
|
getPageSlugsForDepth(parentRouteId?: string): string[];
|
|
90
|
+
getDisplayNamesForDepth(parentRouteId?: string): string[];
|
|
85
91
|
getParentRouteIdForPage(pageId: string): string | undefined;
|
|
86
92
|
getParentRouteIdForRoute(routeId: string): string | undefined;
|
|
87
93
|
getFirstOrDefaultRoute(): import("../../../../brand-page").NavRoute;
|
|
@@ -94,7 +100,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
94
100
|
setNav({ nav }: {
|
|
95
101
|
nav: import("../../../../brand-page").NavModel;
|
|
96
102
|
}): void;
|
|
97
|
-
addNavRoute(newRoute: import("../../../../brand-page").NavRoute, parentRouteId?: string): void;
|
|
103
|
+
addNavRoute(newRoute: import("../../../../brand-page").NavRoute, parentRouteId?: string, insertAfterRouteId?: string): void;
|
|
98
104
|
removeNavRoute(routeId: string): void;
|
|
99
105
|
onDisplayNameChange(routeId: string, newDisplayName: string): void;
|
|
100
106
|
setRouteTitleAndSlugByPageId(pageId: string, displayName: string, slug: string): void;
|
|
@@ -39,6 +39,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
39
39
|
fields: Record<string, import("../../../content-settings/models").ContentItemFieldSettings>;
|
|
40
40
|
};
|
|
41
41
|
}[];
|
|
42
|
+
isHidden?: boolean | undefined;
|
|
42
43
|
};
|
|
43
44
|
pageTitle: string;
|
|
44
45
|
pageTitleError: string | null;
|
|
@@ -4151,6 +4152,8 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
4151
4152
|
setPages({ pages }: {
|
|
4152
4153
|
pages: ContentPage[];
|
|
4153
4154
|
}): void;
|
|
4155
|
+
syncPagesWithOrders(): void;
|
|
4156
|
+
showPageLimitUpgradeModalAsync(ctaLocation: string): Promise<void>;
|
|
4154
4157
|
setNewPageModalVisibilityAsync({ isNewPageModalVisible, parentPageId, }: {
|
|
4155
4158
|
isNewPageModalVisible: boolean;
|
|
4156
4159
|
parentPageId?: string;
|
|
@@ -4200,6 +4203,9 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
4200
4203
|
title: string;
|
|
4201
4204
|
newPageParentId?: string;
|
|
4202
4205
|
}): ContentPage;
|
|
4206
|
+
duplicatePage({ pageId, }: {
|
|
4207
|
+
pageId: string;
|
|
4208
|
+
}): Promise<ContentPage | undefined>;
|
|
4203
4209
|
setSelectedSectionName({ sectionName, }: {
|
|
4204
4210
|
sectionName?: PageSettingsSection;
|
|
4205
4211
|
}): void;
|
|
@@ -4216,6 +4222,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
4216
4222
|
hasVisibleNavigation(): boolean;
|
|
4217
4223
|
}, {
|
|
4218
4224
|
getPageSlugsForDepth(parentRouteId?: string): string[];
|
|
4225
|
+
getDisplayNamesForDepth(parentRouteId?: string): string[];
|
|
4219
4226
|
getParentRouteIdForPage(pageId: string): string | undefined;
|
|
4220
4227
|
getParentRouteIdForRoute(routeId: string): string | undefined;
|
|
4221
4228
|
getFirstOrDefaultRoute(): import("@brand-page").NavRoute;
|
|
@@ -4228,7 +4235,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
4228
4235
|
setNav({ nav }: {
|
|
4229
4236
|
nav: import("@brand-page").NavModel;
|
|
4230
4237
|
}): void;
|
|
4231
|
-
addNavRoute(newRoute: import("@brand-page").NavRoute, parentRouteId?: string): void;
|
|
4238
|
+
addNavRoute(newRoute: import("@brand-page").NavRoute, parentRouteId?: string, insertAfterRouteId?: string): void;
|
|
4232
4239
|
removeNavRoute(routeId: string): void;
|
|
4233
4240
|
onDisplayNameChange(routeId: string, newDisplayName: string): void;
|
|
4234
4241
|
setRouteTitleAndSlugByPageId(pageId: string, displayName: string, slug: string): void;
|
|
@@ -4816,20 +4823,6 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
4816
4823
|
isVariation: boolean;
|
|
4817
4824
|
isExcluded: boolean;
|
|
4818
4825
|
} | undefined;
|
|
4819
|
-
bp_5873_live_preview_prepurchase?: {
|
|
4820
|
-
key: string;
|
|
4821
|
-
value: string;
|
|
4822
|
-
isControl: boolean;
|
|
4823
|
-
isVariation: boolean;
|
|
4824
|
-
isExcluded: boolean;
|
|
4825
|
-
} | undefined;
|
|
4826
|
-
bp_5873_live_preview_postpurchase?: {
|
|
4827
|
-
key: string;
|
|
4828
|
-
value: string;
|
|
4829
|
-
isControl: boolean;
|
|
4830
|
-
isVariation: boolean;
|
|
4831
|
-
isExcluded: boolean;
|
|
4832
|
-
} | undefined;
|
|
4833
4826
|
};
|
|
4834
4827
|
isSubsequentPublish: boolean;
|
|
4835
4828
|
isContextualUpgradeModalVisible: boolean;
|
|
@@ -4905,20 +4898,6 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
4905
4898
|
isVariation: boolean;
|
|
4906
4899
|
isExcluded: boolean;
|
|
4907
4900
|
} | undefined;
|
|
4908
|
-
bp_5873_live_preview_prepurchase?: {
|
|
4909
|
-
key: string;
|
|
4910
|
-
value: string;
|
|
4911
|
-
isControl: boolean;
|
|
4912
|
-
isVariation: boolean;
|
|
4913
|
-
isExcluded: boolean;
|
|
4914
|
-
} | undefined;
|
|
4915
|
-
bp_5873_live_preview_postpurchase?: {
|
|
4916
|
-
key: string;
|
|
4917
|
-
value: string;
|
|
4918
|
-
isControl: boolean;
|
|
4919
|
-
isVariation: boolean;
|
|
4920
|
-
isExcluded: boolean;
|
|
4921
|
-
} | undefined;
|
|
4922
4901
|
};
|
|
4923
4902
|
isSubsequentPublish: boolean;
|
|
4924
4903
|
isContextualUpgradeModalVisible: boolean;
|
|
@@ -4994,20 +4973,6 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
4994
4973
|
isVariation: boolean;
|
|
4995
4974
|
isExcluded: boolean;
|
|
4996
4975
|
} | undefined;
|
|
4997
|
-
bp_5873_live_preview_prepurchase?: {
|
|
4998
|
-
key: string;
|
|
4999
|
-
value: string;
|
|
5000
|
-
isControl: boolean;
|
|
5001
|
-
isVariation: boolean;
|
|
5002
|
-
isExcluded: boolean;
|
|
5003
|
-
} | undefined;
|
|
5004
|
-
bp_5873_live_preview_postpurchase?: {
|
|
5005
|
-
key: string;
|
|
5006
|
-
value: string;
|
|
5007
|
-
isControl: boolean;
|
|
5008
|
-
isVariation: boolean;
|
|
5009
|
-
isExcluded: boolean;
|
|
5010
|
-
} | undefined;
|
|
5011
4976
|
};
|
|
5012
4977
|
isSubsequentPublish: boolean;
|
|
5013
4978
|
isContextualUpgradeModalVisible: boolean;
|
|
@@ -5169,6 +5134,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
5169
5134
|
sendWebsiteManageAddPageEvent: (pageName: string, isSubPageMode?: boolean) => void;
|
|
5170
5135
|
sendWebsiteManageRemovePageEvent: (pageName: string, isRouteNested?: boolean) => void;
|
|
5171
5136
|
sendWebsiteManageReorderPageEvent: (pageName: string) => void;
|
|
5137
|
+
sendWebsiteManageDuplicatePageEvent: (sourcePageName: string, isSubPage?: boolean) => void;
|
|
5172
5138
|
sendPublishOptionsForFreeEvent: () => void;
|
|
5173
5139
|
sendPublishOptionsForPremiumEvent: () => void;
|
|
5174
5140
|
sendPublishOptionsForExitEvent: () => void;
|
|
@@ -5211,6 +5177,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
5211
5177
|
isRootPage(index: number): boolean;
|
|
5212
5178
|
onAddSubPageSelected(pageId: string): Promise<void>;
|
|
5213
5179
|
onAddNewPageSelected(): Promise<void>;
|
|
5180
|
+
onDuplicatePageSelected(pageId: string): Promise<void>;
|
|
5214
5181
|
onChangePageVisibility(pageId: string): void;
|
|
5215
5182
|
onDeletePageSelected(pageId: string): void;
|
|
5216
5183
|
onConfirmDeletePage(pageId: string): void;
|