@designcrowd/library.brand-page 5.12.17 → 5.12.18-upsell-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-SuRBYEOK.js → CreatedOnBrandCrowd-de-de-CYcz2hSC.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-en-us-nRsOUZ3P.js → CreatedOnBrandCrowd-en-us-Doj9YjhF.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-es-es-ClBEtWuB.js → CreatedOnBrandCrowd-es-es-COhwPYuu.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-fr-K4MC8Ylw.js → CreatedOnBrandCrowd-fr-fr-opRV0oz_.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-pt-CVu8GWB4.js → CreatedOnBrandCrowd-pt-pt-D7DiCvI_.js} +1 -1
- package/lib/src/{CreatedOnDcom-de-de-CKGT_xy8.js → CreatedOnDcom-de-de-Beqaiw33.js} +1 -1
- package/lib/src/{CreatedOnDcom-en-us-DwqjHxyq.js → CreatedOnDcom-en-us-BVmIVdyf.js} +1 -1
- package/lib/src/{CreatedOnDcom-es-es-BMx0XD9Y.js → CreatedOnDcom-es-es-eQy4uWKt.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-fr-WgW2vbbI.js → CreatedOnDcom-fr-fr-EuzFzFmx.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-pt-BZJmhI7K.js → CreatedOnDcom-pt-pt-ZXrw5G6P.js} +1 -1
- package/lib/src/brand-page/models/brand-page-context.model.d.ts +2 -0
- package/lib/src/brand-page/models/brand-page-context.model.js +2 -1
- package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.d.ts +5 -7
- package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.stories.js +0 -1
- package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +9 -4
- package/lib/src/brand-page-maker/components/quick-link-bar/QuickLinkBar.mixin.d.ts +5 -4
- package/lib/src/brand-page-maker/components/seo-settings/SeoPageSettings.mixin.d.ts +5 -4
- package/lib/src/brand-page-maker/components/seo-settings/UrlSettings.mixin.d.ts +5 -4
- package/lib/src/brand-page-maker/components/seo-settings/UseExistingDomainModal.mixin.d.ts +5 -4
- package/lib/src/brand-page-maker/components/upgrade-to-premium-button/UpgradeToPremiumButton.mixin.d.ts +5 -4
- package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.js +8 -1
- package/lib/src/brand-page-maker/composables/useEventTracker.d.ts +7 -1
- package/lib/src/brand-page-maker/composables/useEventTracker.js +29 -4
- package/lib/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.d.ts +6 -5
- package/lib/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.js +42 -12
- package/lib/src/bundled-translations-BMr0LtzI.js +27 -0
- package/lib/src/bundled-translations.de-DE-BXAa3p16.js +27 -0
- package/lib/src/bundled-translations.es-ES-B4FHib2V.js +27 -0
- package/lib/src/bundled-translations.fr-FR-B84T67W5.js +27 -0
- package/lib/src/bundled-translations.pt-PT-BB4hTIYd.js +27 -0
- package/lib/src/clients/brand-page-client.d.ts +20 -3
- package/lib/src/css/library.brand-page-brandCrowd.min.css +12 -9
- package/lib/src/css/library.brand-page-brandPage.min.css +12 -9
- package/lib/src/css/library.brand-page-designCom.min.css +12 -9
- package/lib/src/css/library.brand-page-preview.min.css +12 -9
- package/lib/src/index.mjs +35 -34
- package/lib/src/{lib-CiOvr9QV.js → lib-B6YdKTau.js} +13451 -13321
- package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts +4 -0
- package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.d.ts +4 -0
- package/lib/src/shared/content-settings/components/payment-config-field/PaymentConfigField.mixin.d.ts +5 -4
- package/lib/src/shared/logo-settings/components/LogoSettings.mixin.d.ts +5 -4
- package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +9 -4
- package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +5 -4
- package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.d.ts +18 -10
- package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.js +14 -1
- package/lib/src/shared/side-bar/components/SideBar.mixin.d.ts +5 -4
- package/lib/src/shared/side-bar/components/SideBarTabButton.mixin.d.ts +4 -0
- package/lib/src/shared/style-settings/components/StyleSettings.mixin.d.ts +9 -4
- package/lib/src/shared/template-settings/components/TemplatesSettings.mixin.d.ts +4 -4
- package/lib/src/shared/template-settings/components/TemplatesSettings.mixin.js +3 -12
- package/lib/src/shared/template-settings/store/template-settings-store.d.ts +0 -4
- package/lib/src/shared/template-settings/store/template-settings-store.js +0 -4
- package/package.json +2 -2
- package/src/brand-page/models/brand-page-context.model.ts +7 -1
- package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.stories.ts +0 -1
- package/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.ts +8 -1
- package/src/brand-page-maker/composables/useEventTracker.ts +37 -4
- package/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.ts +78 -14
- package/src/clients/brand-page-client.ts +22 -3
- package/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.ts +16 -1
- package/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.vue +5 -0
- package/src/shared/template-settings/components/TemplatesSettings.mixin.ts +3 -13
- package/src/shared/template-settings/store/template-settings-store.ts +0 -5
- package/lib/src/bundled-translations-CD8h4dNr.js +0 -27
- package/lib/src/bundled-translations.de-DE-djs407Ih.js +0 -27
- package/lib/src/bundled-translations.es-ES-JjQoQaM7.js +0 -27
- package/lib/src/bundled-translations.fr-FR-rUuRWfsM.js +0 -27
- package/lib/src/bundled-translations.pt-PT-BiSQEFmA.js +0 -27
|
@@ -36,6 +36,7 @@ export interface AbTestResult {
|
|
|
36
36
|
}
|
|
37
37
|
export interface AbTest {
|
|
38
38
|
bp_3926_freemium_watermark?: AbTestResult;
|
|
39
|
+
bp_4092_rotating_upsells_at_publish?: AbTestResult;
|
|
39
40
|
}
|
|
40
41
|
export declare const MEDIA_SIZES: {
|
|
41
42
|
readonly size1x: "size1x";
|
|
@@ -74,4 +75,5 @@ export interface BrandPageContext {
|
|
|
74
75
|
isCapturingPreview: boolean;
|
|
75
76
|
disableLogoRenderOnServerside?: boolean;
|
|
76
77
|
}
|
|
78
|
+
export declare const getValueType: (key: string, abtestValue?: string) => AbTestResult;
|
|
77
79
|
export declare const getAbTestResults: (abtestKeyValues: Record<string, string>) => AbTest;
|
|
@@ -24,13 +24,14 @@ export const AB_TEST_FLAG = {
|
|
|
24
24
|
};
|
|
25
25
|
const AB_TEST_KEYS = {
|
|
26
26
|
BP_3926_FREEMIUM_WATERMARK: 'bc-bp-3926-freemium-cta-in-website-editor',
|
|
27
|
+
BP_4092_ROTATING_UPSELLS_AT_PUBLISH: 'bc-bp-4092-rotating-upsells-at-website-publish',
|
|
27
28
|
};
|
|
28
29
|
export const MEDIA_SIZES = {
|
|
29
30
|
size1x: 'size1x',
|
|
30
31
|
size2x: 'size2x',
|
|
31
32
|
sizeThumb: 'sizeThumb',
|
|
32
33
|
};
|
|
33
|
-
const getValueType = (key, abtestValue) => {
|
|
34
|
+
export const getValueType = (key, abtestValue) => {
|
|
34
35
|
return {
|
|
35
36
|
key: key,
|
|
36
37
|
value: abtestValue || '',
|
|
@@ -246,9 +246,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
246
246
|
isPrePurchase: boolean;
|
|
247
247
|
makerFonts: any[];
|
|
248
248
|
eventButtonLocation?: string | undefined;
|
|
249
|
+
websiteUpsellModalViewModel?: any;
|
|
249
250
|
showPublishOptionModal?: boolean | undefined;
|
|
250
251
|
abTests: Record<string, string>;
|
|
251
|
-
logoBrandIndustry: string | undefined;
|
|
252
252
|
} & import("pinia").PiniaCustomStateProperties<import("../../stores").BrandPageContainerState>) => boolean;
|
|
253
253
|
isUserDraft: (state: {
|
|
254
254
|
availableTaxes: any[];
|
|
@@ -306,9 +306,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
306
306
|
isPrePurchase: boolean;
|
|
307
307
|
makerFonts: any[];
|
|
308
308
|
eventButtonLocation?: string | undefined;
|
|
309
|
+
websiteUpsellModalViewModel?: any;
|
|
309
310
|
showPublishOptionModal?: boolean | undefined;
|
|
310
311
|
abTests: Record<string, string>;
|
|
311
|
-
logoBrandIndustry: string | undefined;
|
|
312
312
|
} & import("pinia").PiniaCustomStateProperties<import("../../stores").BrandPageContainerState>) => boolean;
|
|
313
313
|
}, {
|
|
314
314
|
clearTriggerSaveEventApiOnPublishModalClose(): void;
|
|
@@ -367,12 +367,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
367
367
|
eventButtonLocation?: string | undefined;
|
|
368
368
|
}): Promise<false | {
|
|
369
369
|
saved: boolean;
|
|
370
|
-
canPublish:
|
|
370
|
+
canPublish: boolean;
|
|
371
|
+
websiteUpsellModalViewModel: any;
|
|
371
372
|
}>;
|
|
372
373
|
saveAndPublishBrandPage(eventButtonLocation: string): Promise<void>;
|
|
373
374
|
saveTemplate(): Promise<void>;
|
|
374
375
|
setBrandPageStatus(status: any): Promise<void>;
|
|
375
|
-
showPublishModal(eventButtonLocation?: string | undefined): void;
|
|
376
|
+
showPublishModal(eventButtonLocation?: string | undefined, websiteUpsellModalViewModel?: any): void;
|
|
376
377
|
showBrandPageSlugEditModal(): Promise<void>;
|
|
377
378
|
showUpgradeModalAndSaveAsync(): Promise<void>;
|
|
378
379
|
showStripeOnboardingModal(): void;
|
|
@@ -1001,9 +1002,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
1001
1002
|
selectInitialTemplateCategory(payload: {
|
|
1002
1003
|
selectedCategory: string;
|
|
1003
1004
|
}): void;
|
|
1004
|
-
setInitialSearchTerm(payload: {
|
|
1005
|
-
initialSearchTerm: string;
|
|
1006
|
-
}): void;
|
|
1007
1005
|
clearTemplates(): void;
|
|
1008
1006
|
getTemplateByTemplateId(id: string): import("../../../shared/template-settings/models").TemplateSettingsTemplate | undefined;
|
|
1009
1007
|
}>;
|
|
@@ -175,7 +175,6 @@ const InitialiseMakerStores = (options) => {
|
|
|
175
175
|
triggerSaveSuccessMessage: false,
|
|
176
176
|
triggerSaveEventApiOnPublishModalClose: false,
|
|
177
177
|
abTests: {},
|
|
178
|
-
logoBrandIndustry: '',
|
|
179
178
|
});
|
|
180
179
|
userStore.setIsAdmin({ isAdmin: options.isAdmin || false });
|
|
181
180
|
userStore.setHasBrandPagePremiumSubscription(false);
|
package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts
CHANGED
|
@@ -684,9 +684,9 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
684
684
|
isPrePurchase: boolean;
|
|
685
685
|
makerFonts: any[];
|
|
686
686
|
eventButtonLocation?: string | undefined;
|
|
687
|
+
websiteUpsellModalViewModel?: any;
|
|
687
688
|
showPublishOptionModal?: boolean | undefined;
|
|
688
689
|
abTests: Record<string, string>;
|
|
689
|
-
logoBrandIndustry: string | undefined;
|
|
690
690
|
} & import("pinia").PiniaCustomStateProperties<import("../../stores").BrandPageContainerState>) => boolean;
|
|
691
691
|
isUserDraft: (state: {
|
|
692
692
|
availableTaxes: any[];
|
|
@@ -744,9 +744,9 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
744
744
|
isPrePurchase: boolean;
|
|
745
745
|
makerFonts: any[];
|
|
746
746
|
eventButtonLocation?: string | undefined;
|
|
747
|
+
websiteUpsellModalViewModel?: any;
|
|
747
748
|
showPublishOptionModal?: boolean | undefined;
|
|
748
749
|
abTests: Record<string, string>;
|
|
749
|
-
logoBrandIndustry: string | undefined;
|
|
750
750
|
} & import("pinia").PiniaCustomStateProperties<import("../../stores").BrandPageContainerState>) => boolean;
|
|
751
751
|
}, {
|
|
752
752
|
clearTriggerSaveEventApiOnPublishModalClose(): void;
|
|
@@ -805,12 +805,13 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
805
805
|
eventButtonLocation?: string | undefined;
|
|
806
806
|
}): Promise<false | {
|
|
807
807
|
saved: boolean;
|
|
808
|
-
canPublish:
|
|
808
|
+
canPublish: boolean;
|
|
809
|
+
websiteUpsellModalViewModel: any;
|
|
809
810
|
}>;
|
|
810
811
|
saveAndPublishBrandPage(eventButtonLocation: string): Promise<void>;
|
|
811
812
|
saveTemplate(): Promise<void>;
|
|
812
813
|
setBrandPageStatus(status: any): Promise<void>;
|
|
813
|
-
showPublishModal(eventButtonLocation?: string | undefined): void;
|
|
814
|
+
showPublishModal(eventButtonLocation?: string | undefined, websiteUpsellModalViewModel?: any): void;
|
|
814
815
|
showBrandPageSlugEditModal(): Promise<void>;
|
|
815
816
|
showUpgradeModalAndSaveAsync(): Promise<void>;
|
|
816
817
|
showStripeOnboardingModal(): void;
|
|
@@ -969,6 +970,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
969
970
|
setPreviousSelectedDisplayStyle(viewport: string, displayStyle: string): void;
|
|
970
971
|
}>;
|
|
971
972
|
eventTracker: {
|
|
973
|
+
sendExperimentStartedEvent: (abTestKey: string, abTestValue: string) => void;
|
|
972
974
|
setGlobalEventProps: (props: Omit<import("../../../brand-page-maker/composables/useEventTracker").BpGlobalEventProps, "template_category">) => void;
|
|
973
975
|
setUpsellBridgeState: (props: import("../../../brand-page-maker/composables/useEventTracker").BpUpsellEventProps) => void;
|
|
974
976
|
subscribe: (callbackFn: (event: import("../../../brand-page-maker/composables/useEventTracker").BpEventTrackerEvent) => void) => void;
|
|
@@ -977,6 +979,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
977
979
|
sendUpsellOpenEvent: () => void;
|
|
978
980
|
sendUpsellContinuationEvent: (continuation: string) => void;
|
|
979
981
|
sendPublishOpenEvent: () => void;
|
|
982
|
+
appendPublishBridgeState: (props: any) => void;
|
|
980
983
|
sendPublishContinuationEvent: (continuation: string, domain: string | null) => void;
|
|
981
984
|
sendWebsiteManageAddPageEvent: (pageName: string) => void;
|
|
982
985
|
sendWebsiteManageRemovePageEvent: (pageName: string) => void;
|
|
@@ -989,6 +992,8 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
989
992
|
sendTemplateCategorySelectEvent: (category: string) => void;
|
|
990
993
|
sendSidebarCategoryClickedEvent: (tabName: string) => void;
|
|
991
994
|
sendAddContentContinuationEvent: (continuation: string) => void;
|
|
995
|
+
sendUpsellOfferEvent: (upsellType: string) => void;
|
|
996
|
+
sendUpsellOfferActionEvent: (upsellType: string, action: string) => void;
|
|
992
997
|
};
|
|
993
998
|
externalEditor: import("@tiptap/vue-3").Editor;
|
|
994
999
|
styleSettingsStore: import("pinia").Store<"uiStyleSettings", import("../../../shared/style-settings/store").StyleSettingsState, {
|
|
@@ -67,9 +67,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
67
67
|
isPrePurchase: boolean;
|
|
68
68
|
makerFonts: any[];
|
|
69
69
|
eventButtonLocation?: string | undefined;
|
|
70
|
+
websiteUpsellModalViewModel?: any;
|
|
70
71
|
showPublishOptionModal?: boolean | undefined;
|
|
71
72
|
abTests: Record<string, string>;
|
|
72
|
-
logoBrandIndustry: string | undefined;
|
|
73
73
|
} & import("pinia").PiniaCustomStateProperties<import("../../stores").BrandPageContainerState>) => boolean;
|
|
74
74
|
isUserDraft: (state: {
|
|
75
75
|
availableTaxes: any[];
|
|
@@ -127,9 +127,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
127
127
|
isPrePurchase: boolean;
|
|
128
128
|
makerFonts: any[];
|
|
129
129
|
eventButtonLocation?: string | undefined;
|
|
130
|
+
websiteUpsellModalViewModel?: any;
|
|
130
131
|
showPublishOptionModal?: boolean | undefined;
|
|
131
132
|
abTests: Record<string, string>;
|
|
132
|
-
logoBrandIndustry: string | undefined;
|
|
133
133
|
} & import("pinia").PiniaCustomStateProperties<import("../../stores").BrandPageContainerState>) => boolean;
|
|
134
134
|
}, {
|
|
135
135
|
clearTriggerSaveEventApiOnPublishModalClose(): void;
|
|
@@ -188,12 +188,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
188
188
|
eventButtonLocation?: string | undefined;
|
|
189
189
|
}): Promise<false | {
|
|
190
190
|
saved: boolean;
|
|
191
|
-
canPublish:
|
|
191
|
+
canPublish: boolean;
|
|
192
|
+
websiteUpsellModalViewModel: any;
|
|
192
193
|
}>;
|
|
193
194
|
saveAndPublishBrandPage(eventButtonLocation: string): Promise<void>;
|
|
194
195
|
saveTemplate(): Promise<void>;
|
|
195
196
|
setBrandPageStatus(status: any): Promise<void>;
|
|
196
|
-
showPublishModal(eventButtonLocation?: string | undefined): void;
|
|
197
|
+
showPublishModal(eventButtonLocation?: string | undefined, websiteUpsellModalViewModel?: any): void;
|
|
197
198
|
showBrandPageSlugEditModal(): Promise<void>;
|
|
198
199
|
showUpgradeModalAndSaveAsync(): Promise<void>;
|
|
199
200
|
showStripeOnboardingModal(): void;
|
|
@@ -83,9 +83,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
83
83
|
isPrePurchase: boolean;
|
|
84
84
|
makerFonts: any[];
|
|
85
85
|
eventButtonLocation?: string | undefined;
|
|
86
|
+
websiteUpsellModalViewModel?: any;
|
|
86
87
|
showPublishOptionModal?: boolean | undefined;
|
|
87
88
|
abTests: Record<string, string>;
|
|
88
|
-
logoBrandIndustry: string | undefined;
|
|
89
89
|
} & import("pinia").PiniaCustomStateProperties<import("../../stores").BrandPageContainerState>) => boolean;
|
|
90
90
|
isUserDraft: (state: {
|
|
91
91
|
availableTaxes: any[];
|
|
@@ -143,9 +143,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
143
143
|
isPrePurchase: boolean;
|
|
144
144
|
makerFonts: any[];
|
|
145
145
|
eventButtonLocation?: string | undefined;
|
|
146
|
+
websiteUpsellModalViewModel?: any;
|
|
146
147
|
showPublishOptionModal?: boolean | undefined;
|
|
147
148
|
abTests: Record<string, string>;
|
|
148
|
-
logoBrandIndustry: string | undefined;
|
|
149
149
|
} & import("pinia").PiniaCustomStateProperties<import("../../stores").BrandPageContainerState>) => boolean;
|
|
150
150
|
}, {
|
|
151
151
|
clearTriggerSaveEventApiOnPublishModalClose(): void;
|
|
@@ -204,12 +204,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
204
204
|
eventButtonLocation?: string | undefined;
|
|
205
205
|
}): Promise<false | {
|
|
206
206
|
saved: boolean;
|
|
207
|
-
canPublish:
|
|
207
|
+
canPublish: boolean;
|
|
208
|
+
websiteUpsellModalViewModel: any;
|
|
208
209
|
}>;
|
|
209
210
|
saveAndPublishBrandPage(eventButtonLocation: string): Promise<void>;
|
|
210
211
|
saveTemplate(): Promise<void>;
|
|
211
212
|
setBrandPageStatus(status: any): Promise<void>;
|
|
212
|
-
showPublishModal(eventButtonLocation?: string | undefined): void;
|
|
213
|
+
showPublishModal(eventButtonLocation?: string | undefined, websiteUpsellModalViewModel?: any): void;
|
|
213
214
|
showBrandPageSlugEditModal(): Promise<void>;
|
|
214
215
|
showUpgradeModalAndSaveAsync(): Promise<void>;
|
|
215
216
|
showStripeOnboardingModal(): void;
|
|
@@ -86,9 +86,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
86
86
|
isPrePurchase: boolean;
|
|
87
87
|
makerFonts: any[];
|
|
88
88
|
eventButtonLocation?: string | undefined;
|
|
89
|
+
websiteUpsellModalViewModel?: any;
|
|
89
90
|
showPublishOptionModal?: boolean | undefined;
|
|
90
91
|
abTests: Record<string, string>;
|
|
91
|
-
logoBrandIndustry: string | undefined;
|
|
92
92
|
} & import("pinia").PiniaCustomStateProperties<import("../../stores").BrandPageContainerState>) => boolean;
|
|
93
93
|
isUserDraft: (state: {
|
|
94
94
|
availableTaxes: any[];
|
|
@@ -146,9 +146,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
146
146
|
isPrePurchase: boolean;
|
|
147
147
|
makerFonts: any[];
|
|
148
148
|
eventButtonLocation?: string | undefined;
|
|
149
|
+
websiteUpsellModalViewModel?: any;
|
|
149
150
|
showPublishOptionModal?: boolean | undefined;
|
|
150
151
|
abTests: Record<string, string>;
|
|
151
|
-
logoBrandIndustry: string | undefined;
|
|
152
152
|
} & import("pinia").PiniaCustomStateProperties<import("../../stores").BrandPageContainerState>) => boolean;
|
|
153
153
|
}, {
|
|
154
154
|
clearTriggerSaveEventApiOnPublishModalClose(): void;
|
|
@@ -207,12 +207,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
207
207
|
eventButtonLocation?: string | undefined;
|
|
208
208
|
}): Promise<false | {
|
|
209
209
|
saved: boolean;
|
|
210
|
-
canPublish:
|
|
210
|
+
canPublish: boolean;
|
|
211
|
+
websiteUpsellModalViewModel: any;
|
|
211
212
|
}>;
|
|
212
213
|
saveAndPublishBrandPage(eventButtonLocation: string): Promise<void>;
|
|
213
214
|
saveTemplate(): Promise<void>;
|
|
214
215
|
setBrandPageStatus(status: any): Promise<void>;
|
|
215
|
-
showPublishModal(eventButtonLocation?: string | undefined): void;
|
|
216
|
+
showPublishModal(eventButtonLocation?: string | undefined, websiteUpsellModalViewModel?: any): void;
|
|
216
217
|
showBrandPageSlugEditModal(): Promise<void>;
|
|
217
218
|
showUpgradeModalAndSaveAsync(): Promise<void>;
|
|
218
219
|
showStripeOnboardingModal(): void;
|
|
@@ -64,9 +64,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
64
64
|
isPrePurchase: boolean;
|
|
65
65
|
makerFonts: any[];
|
|
66
66
|
eventButtonLocation?: string | undefined;
|
|
67
|
+
websiteUpsellModalViewModel?: any;
|
|
67
68
|
showPublishOptionModal?: boolean | undefined;
|
|
68
69
|
abTests: Record<string, string>;
|
|
69
|
-
logoBrandIndustry: string | undefined;
|
|
70
70
|
} & import("pinia").PiniaCustomStateProperties<import("../../stores").BrandPageContainerState>) => boolean;
|
|
71
71
|
isUserDraft: (state: {
|
|
72
72
|
availableTaxes: any[];
|
|
@@ -124,9 +124,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
124
124
|
isPrePurchase: boolean;
|
|
125
125
|
makerFonts: any[];
|
|
126
126
|
eventButtonLocation?: string | undefined;
|
|
127
|
+
websiteUpsellModalViewModel?: any;
|
|
127
128
|
showPublishOptionModal?: boolean | undefined;
|
|
128
129
|
abTests: Record<string, string>;
|
|
129
|
-
logoBrandIndustry: string | undefined;
|
|
130
130
|
} & import("pinia").PiniaCustomStateProperties<import("../../stores").BrandPageContainerState>) => boolean;
|
|
131
131
|
}, {
|
|
132
132
|
clearTriggerSaveEventApiOnPublishModalClose(): void;
|
|
@@ -185,12 +185,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
185
185
|
eventButtonLocation?: string | undefined;
|
|
186
186
|
}): Promise<false | {
|
|
187
187
|
saved: boolean;
|
|
188
|
-
canPublish:
|
|
188
|
+
canPublish: boolean;
|
|
189
|
+
websiteUpsellModalViewModel: any;
|
|
189
190
|
}>;
|
|
190
191
|
saveAndPublishBrandPage(eventButtonLocation: string): Promise<void>;
|
|
191
192
|
saveTemplate(): Promise<void>;
|
|
192
193
|
setBrandPageStatus(status: any): Promise<void>;
|
|
193
|
-
showPublishModal(eventButtonLocation?: string | undefined): void;
|
|
194
|
+
showPublishModal(eventButtonLocation?: string | undefined, websiteUpsellModalViewModel?: any): void;
|
|
194
195
|
showBrandPageSlugEditModal(): Promise<void>;
|
|
195
196
|
showUpgradeModalAndSaveAsync(): Promise<void>;
|
|
196
197
|
showStripeOnboardingModal(): void;
|
|
@@ -64,9 +64,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
64
64
|
isPrePurchase: boolean;
|
|
65
65
|
makerFonts: any[];
|
|
66
66
|
eventButtonLocation?: string | undefined;
|
|
67
|
+
websiteUpsellModalViewModel?: any;
|
|
67
68
|
showPublishOptionModal?: boolean | undefined;
|
|
68
69
|
abTests: Record<string, string>;
|
|
69
|
-
logoBrandIndustry: string | undefined;
|
|
70
70
|
} & import("pinia").PiniaCustomStateProperties<import("../../stores").BrandPageContainerState>) => boolean;
|
|
71
71
|
isUserDraft: (state: {
|
|
72
72
|
availableTaxes: any[];
|
|
@@ -124,9 +124,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
124
124
|
isPrePurchase: boolean;
|
|
125
125
|
makerFonts: any[];
|
|
126
126
|
eventButtonLocation?: string | undefined;
|
|
127
|
+
websiteUpsellModalViewModel?: any;
|
|
127
128
|
showPublishOptionModal?: boolean | undefined;
|
|
128
129
|
abTests: Record<string, string>;
|
|
129
|
-
logoBrandIndustry: string | undefined;
|
|
130
130
|
} & import("pinia").PiniaCustomStateProperties<import("../../stores").BrandPageContainerState>) => boolean;
|
|
131
131
|
}, {
|
|
132
132
|
clearTriggerSaveEventApiOnPublishModalClose(): void;
|
|
@@ -185,12 +185,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
185
185
|
eventButtonLocation?: string | undefined;
|
|
186
186
|
}): Promise<false | {
|
|
187
187
|
saved: boolean;
|
|
188
|
-
canPublish:
|
|
188
|
+
canPublish: boolean;
|
|
189
|
+
websiteUpsellModalViewModel: any;
|
|
189
190
|
}>;
|
|
190
191
|
saveAndPublishBrandPage(eventButtonLocation: string): Promise<void>;
|
|
191
192
|
saveTemplate(): Promise<void>;
|
|
192
193
|
setBrandPageStatus(status: any): Promise<void>;
|
|
193
|
-
showPublishModal(eventButtonLocation?: string | undefined): void;
|
|
194
|
+
showPublishModal(eventButtonLocation?: string | undefined, websiteUpsellModalViewModel?: any): void;
|
|
194
195
|
showBrandPageSlugEditModal(): Promise<void>;
|
|
195
196
|
showUpgradeModalAndSaveAsync(): Promise<void>;
|
|
196
197
|
showStripeOnboardingModal(): void;
|
|
@@ -75,7 +75,14 @@ export const useRichTextEditor = (model, props, emit, fontSettings, fontStyleDro
|
|
|
75
75
|
content: model.value ?? '',
|
|
76
76
|
editable: !props.readOnly,
|
|
77
77
|
extensions: [
|
|
78
|
-
StarterKit
|
|
78
|
+
StarterKit.configure({
|
|
79
|
+
bulletList: false,
|
|
80
|
+
orderedList: false,
|
|
81
|
+
listItem: false,
|
|
82
|
+
horizontalRule: false,
|
|
83
|
+
codeBlock: false,
|
|
84
|
+
code: false,
|
|
85
|
+
}),
|
|
79
86
|
Underline,
|
|
80
87
|
TextStyle.configure({ mergeNestedSpanStyles: true }),
|
|
81
88
|
TextAlign.configure({
|
|
@@ -18,7 +18,7 @@ export interface BpEventTrackerEvent {
|
|
|
18
18
|
eventProps: any;
|
|
19
19
|
}
|
|
20
20
|
export declare const EVENTS: {
|
|
21
|
-
|
|
21
|
+
EXPERIMENT_STARTED: string;
|
|
22
22
|
WEBSITE_MAKER_ADD_CONTENT: string;
|
|
23
23
|
WEBSITE_MAKER_REMOVE_CONTENT: string;
|
|
24
24
|
WEBSITE_MAKER_SELECT_CONTENT: string;
|
|
@@ -38,6 +38,8 @@ export declare const EVENTS: {
|
|
|
38
38
|
WEBSITE_MAKER_HYPERLINK_CLICK: string;
|
|
39
39
|
WEBSITE_MAKER_HYPERLINK_EDIT: string;
|
|
40
40
|
WEBSITE_MAKER_CALENDLY_LINK_CLICKED: string;
|
|
41
|
+
WEBSITE_MAKER_UPSELL_OFFER: string;
|
|
42
|
+
WEBSITE_MAKER_UPSELL_ACTION: string;
|
|
41
43
|
};
|
|
42
44
|
export declare const SELECT_LOCATIONS: {
|
|
43
45
|
MAKER_PREVIEW: string;
|
|
@@ -73,6 +75,7 @@ export declare const PUBLISH_OPTION_MODAL_CONTINUATION_EVENTS: {
|
|
|
73
75
|
FREEMIUM: string;
|
|
74
76
|
};
|
|
75
77
|
declare const useEventTracker: () => {
|
|
78
|
+
sendExperimentStartedEvent: (abTestKey: string, abTestValue: string) => void;
|
|
76
79
|
setGlobalEventProps: (props: Omit<BpGlobalEventProps, 'template_category'>) => void;
|
|
77
80
|
setUpsellBridgeState: (props: BpUpsellEventProps) => void;
|
|
78
81
|
subscribe: (callbackFn: (event: BpEventTrackerEvent) => void) => void;
|
|
@@ -81,6 +84,7 @@ declare const useEventTracker: () => {
|
|
|
81
84
|
sendUpsellOpenEvent: () => void;
|
|
82
85
|
sendUpsellContinuationEvent: (continuation: string) => void;
|
|
83
86
|
sendPublishOpenEvent: () => void;
|
|
87
|
+
appendPublishBridgeState: (props: any) => void;
|
|
84
88
|
sendPublishContinuationEvent: (continuation: string, domain: string | null) => void;
|
|
85
89
|
sendWebsiteManageAddPageEvent: (pageName: string) => void;
|
|
86
90
|
sendWebsiteManageRemovePageEvent: (pageName: string) => void;
|
|
@@ -93,5 +97,7 @@ declare const useEventTracker: () => {
|
|
|
93
97
|
sendTemplateCategorySelectEvent: (category: string) => void;
|
|
94
98
|
sendSidebarCategoryClickedEvent: (tabName: string) => void;
|
|
95
99
|
sendAddContentContinuationEvent: (continuation: string) => void;
|
|
100
|
+
sendUpsellOfferEvent: (upsellType: string) => void;
|
|
101
|
+
sendUpsellOfferActionEvent: (upsellType: string, action: string) => void;
|
|
96
102
|
};
|
|
97
103
|
export { useEventTracker };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { shallowRef } from 'vue';
|
|
2
|
-
// Event names should driven with prefix `
|
|
2
|
+
// Event names should driven with prefix `website_maker_` to distinguish the event from other events around the site
|
|
3
3
|
export const EVENTS = {
|
|
4
|
-
|
|
4
|
+
EXPERIMENT_STARTED: '$experiment_started',
|
|
5
5
|
WEBSITE_MAKER_ADD_CONTENT: 'website_maker_add_content',
|
|
6
6
|
WEBSITE_MAKER_REMOVE_CONTENT: 'website_maker_remove_content',
|
|
7
7
|
WEBSITE_MAKER_SELECT_CONTENT: 'website_maker_select_content',
|
|
@@ -21,6 +21,8 @@ export const EVENTS = {
|
|
|
21
21
|
WEBSITE_MAKER_HYPERLINK_CLICK: 'website_maker_hyperlink_click',
|
|
22
22
|
WEBSITE_MAKER_HYPERLINK_EDIT: 'website_maker_hyperlink_edit',
|
|
23
23
|
WEBSITE_MAKER_CALENDLY_LINK_CLICKED: 'website_maker_calendly_link_clicked',
|
|
24
|
+
WEBSITE_MAKER_UPSELL_OFFER: 'website_maker_upsell_offer',
|
|
25
|
+
WEBSITE_MAKER_UPSELL_ACTION: 'website_maker_upsell_action',
|
|
24
26
|
};
|
|
25
27
|
export const SELECT_LOCATIONS = {
|
|
26
28
|
MAKER_PREVIEW: 'maker_preview',
|
|
@@ -66,12 +68,12 @@ const bridgeState = shallowRef({
|
|
|
66
68
|
publishOpenEventProps: {},
|
|
67
69
|
});
|
|
68
70
|
const LISTENERS = shallowRef([]);
|
|
69
|
-
const _publishEvent = (eventName, eventProps) => {
|
|
71
|
+
const _publishEvent = (eventName, eventProps, excludeGlobal = false) => {
|
|
70
72
|
LISTENERS.value.forEach((listener) => {
|
|
71
73
|
listener({
|
|
72
74
|
eventName: eventName,
|
|
73
75
|
eventProps: {
|
|
74
|
-
...GLOBAL_EVENT_PROPS.value,
|
|
76
|
+
...(excludeGlobal ? {} : GLOBAL_EVENT_PROPS.value),
|
|
75
77
|
...eventProps,
|
|
76
78
|
},
|
|
77
79
|
});
|
|
@@ -79,6 +81,12 @@ const _publishEvent = (eventName, eventProps) => {
|
|
|
79
81
|
};
|
|
80
82
|
const useEventTracker = () => {
|
|
81
83
|
return {
|
|
84
|
+
sendExperimentStartedEvent: (abTestKey, abTestValue) => {
|
|
85
|
+
_publishEvent(EVENTS.EXPERIMENT_STARTED, {
|
|
86
|
+
'Experiment name': abTestKey,
|
|
87
|
+
'Variant name': abTestValue,
|
|
88
|
+
}, true);
|
|
89
|
+
},
|
|
82
90
|
setGlobalEventProps: (props) => {
|
|
83
91
|
GLOBAL_EVENT_PROPS.value = { ...GLOBAL_EVENT_PROPS.value, ...props };
|
|
84
92
|
},
|
|
@@ -118,6 +126,12 @@ const useEventTracker = () => {
|
|
|
118
126
|
continuation: null,
|
|
119
127
|
});
|
|
120
128
|
},
|
|
129
|
+
appendPublishBridgeState: (props) => {
|
|
130
|
+
bridgeState.value.publishOpenEventProps = {
|
|
131
|
+
...bridgeState.value.publishOpenEventProps,
|
|
132
|
+
...props,
|
|
133
|
+
};
|
|
134
|
+
},
|
|
121
135
|
sendPublishContinuationEvent: (continuation, domain) => {
|
|
122
136
|
_publishEvent(EVENTS.WEBSITE_MAKER_PUBLISH_MODAL, {
|
|
123
137
|
...bridgeState.value.publishOpenEventProps,
|
|
@@ -182,6 +196,17 @@ const useEventTracker = () => {
|
|
|
182
196
|
continuation,
|
|
183
197
|
});
|
|
184
198
|
},
|
|
199
|
+
sendUpsellOfferEvent: (upsellType) => {
|
|
200
|
+
_publishEvent(EVENTS.WEBSITE_MAKER_UPSELL_OFFER, {
|
|
201
|
+
upsellType,
|
|
202
|
+
});
|
|
203
|
+
},
|
|
204
|
+
sendUpsellOfferActionEvent: (upsellType, action) => {
|
|
205
|
+
_publishEvent(EVENTS.WEBSITE_MAKER_UPSELL_ACTION, {
|
|
206
|
+
upsellType,
|
|
207
|
+
action,
|
|
208
|
+
});
|
|
209
|
+
},
|
|
185
210
|
};
|
|
186
211
|
};
|
|
187
212
|
export { useEventTracker };
|
|
@@ -44,9 +44,9 @@ export interface BrandPageContainerState {
|
|
|
44
44
|
isPrePurchase: boolean;
|
|
45
45
|
makerFonts: any[];
|
|
46
46
|
eventButtonLocation?: string;
|
|
47
|
+
websiteUpsellModalViewModel?: any;
|
|
47
48
|
showPublishOptionModal?: boolean;
|
|
48
49
|
abTests: Record<string, string>;
|
|
49
|
-
logoBrandIndustry: string | undefined;
|
|
50
50
|
}
|
|
51
51
|
export type InitialisePayload = Omit<BrandPageContainerState, 'customDomain' | 'customDomainConfig'> & {
|
|
52
52
|
logoDraftToken?: string;
|
|
@@ -118,9 +118,9 @@ export declare const useBrandPageContainerStore: import("pinia").StoreDefinition
|
|
|
118
118
|
isPrePurchase: boolean;
|
|
119
119
|
makerFonts: any[];
|
|
120
120
|
eventButtonLocation?: string | undefined;
|
|
121
|
+
websiteUpsellModalViewModel?: any;
|
|
121
122
|
showPublishOptionModal?: boolean | undefined;
|
|
122
123
|
abTests: Record<string, string>;
|
|
123
|
-
logoBrandIndustry: string | undefined;
|
|
124
124
|
} & import("pinia").PiniaCustomStateProperties<BrandPageContainerState>) => boolean;
|
|
125
125
|
isUserDraft: (state: {
|
|
126
126
|
availableTaxes: any[];
|
|
@@ -178,9 +178,9 @@ export declare const useBrandPageContainerStore: import("pinia").StoreDefinition
|
|
|
178
178
|
isPrePurchase: boolean;
|
|
179
179
|
makerFonts: any[];
|
|
180
180
|
eventButtonLocation?: string | undefined;
|
|
181
|
+
websiteUpsellModalViewModel?: any;
|
|
181
182
|
showPublishOptionModal?: boolean | undefined;
|
|
182
183
|
abTests: Record<string, string>;
|
|
183
|
-
logoBrandIndustry: string | undefined;
|
|
184
184
|
} & import("pinia").PiniaCustomStateProperties<BrandPageContainerState>) => boolean;
|
|
185
185
|
}, {
|
|
186
186
|
clearTriggerSaveEventApiOnPublishModalClose(): void;
|
|
@@ -239,12 +239,13 @@ export declare const useBrandPageContainerStore: import("pinia").StoreDefinition
|
|
|
239
239
|
eventButtonLocation?: string;
|
|
240
240
|
}): Promise<false | {
|
|
241
241
|
saved: boolean;
|
|
242
|
-
canPublish:
|
|
242
|
+
canPublish: boolean;
|
|
243
|
+
websiteUpsellModalViewModel: any;
|
|
243
244
|
}>;
|
|
244
245
|
saveAndPublishBrandPage(eventButtonLocation: string): Promise<void>;
|
|
245
246
|
saveTemplate(): Promise<void>;
|
|
246
247
|
setBrandPageStatus(status: any): Promise<void>;
|
|
247
|
-
showPublishModal(eventButtonLocation?: string): void;
|
|
248
|
+
showPublishModal(eventButtonLocation?: string, websiteUpsellModalViewModel?: any): void;
|
|
248
249
|
showBrandPageSlugEditModal(): Promise<void>;
|
|
249
250
|
showUpgradeModalAndSaveAsync(): Promise<void>;
|
|
250
251
|
showStripeOnboardingModal(): void;
|