@designcrowd/library.brand-page 5.12.16 → 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.
Files changed (72) hide show
  1. package/lib/src/{CreatedOnBrandCrowd-de-de-BWNaSfFj.js → CreatedOnBrandCrowd-de-de-CYcz2hSC.js} +1 -1
  2. package/lib/src/{CreatedOnBrandCrowd-en-us-BY9aeDMv.js → CreatedOnBrandCrowd-en-us-Doj9YjhF.js} +1 -1
  3. package/lib/src/{CreatedOnBrandCrowd-es-es-CS_1PWua.js → CreatedOnBrandCrowd-es-es-COhwPYuu.js} +1 -1
  4. package/lib/src/{CreatedOnBrandCrowd-fr-fr-BEvtF_4D.js → CreatedOnBrandCrowd-fr-fr-opRV0oz_.js} +1 -1
  5. package/lib/src/{CreatedOnBrandCrowd-pt-pt-BhcDmSeh.js → CreatedOnBrandCrowd-pt-pt-D7DiCvI_.js} +1 -1
  6. package/lib/src/{CreatedOnDcom-de-de-H-eAS3dV.js → CreatedOnDcom-de-de-Beqaiw33.js} +1 -1
  7. package/lib/src/{CreatedOnDcom-en-us-D-VcbUgW.js → CreatedOnDcom-en-us-BVmIVdyf.js} +1 -1
  8. package/lib/src/{CreatedOnDcom-es-es-DduS8A1F.js → CreatedOnDcom-es-es-eQy4uWKt.js} +1 -1
  9. package/lib/src/{CreatedOnDcom-fr-fr-BcCjONur.js → CreatedOnDcom-fr-fr-EuzFzFmx.js} +1 -1
  10. package/lib/src/{CreatedOnDcom-pt-pt-Dzc9W3TD.js → CreatedOnDcom-pt-pt-ZXrw5G6P.js} +1 -1
  11. package/lib/src/brand-page/components/icon/Icon.mixin.d.ts +1 -0
  12. package/lib/src/brand-page/components/icon/Icon.mixin.js +2 -0
  13. package/lib/src/brand-page/models/brand-page-context.model.d.ts +2 -0
  14. package/lib/src/brand-page/models/brand-page-context.model.js +2 -1
  15. package/lib/src/brand-page/utils/migration/migration-051.d.ts +4 -0
  16. package/lib/src/brand-page/utils/migration/migration-051.js +18 -0
  17. package/lib/src/brand-page/utils/migration.util.js +5 -0
  18. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.d.ts +5 -2
  19. package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +9 -2
  20. package/lib/src/brand-page-maker/components/quick-link-bar/QuickLinkBar.mixin.d.ts +5 -2
  21. package/lib/src/brand-page-maker/components/seo-settings/SeoPageSettings.mixin.d.ts +5 -2
  22. package/lib/src/brand-page-maker/components/seo-settings/UrlSettings.mixin.d.ts +5 -2
  23. package/lib/src/brand-page-maker/components/seo-settings/UseExistingDomainModal.mixin.d.ts +5 -2
  24. package/lib/src/brand-page-maker/components/upgrade-to-premium-button/UpgradeToPremiumButton.mixin.d.ts +5 -2
  25. package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.js +8 -1
  26. package/lib/src/brand-page-maker/composables/useEventTracker.d.ts +7 -1
  27. package/lib/src/brand-page-maker/composables/useEventTracker.js +29 -4
  28. package/lib/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.d.ts +6 -2
  29. package/lib/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.js +42 -7
  30. package/lib/src/bundled-translations-BMr0LtzI.js +27 -0
  31. package/lib/src/bundled-translations.de-DE-BXAa3p16.js +27 -0
  32. package/lib/src/bundled-translations.es-ES-B4FHib2V.js +27 -0
  33. package/lib/src/bundled-translations.fr-FR-B84T67W5.js +27 -0
  34. package/lib/src/bundled-translations.pt-PT-BB4hTIYd.js +27 -0
  35. package/lib/src/clients/brand-page-client.d.ts +20 -3
  36. package/lib/src/css/library.brand-page-brandCrowd.min.css +15 -12
  37. package/lib/src/css/library.brand-page-brandPage.min.css +15 -12
  38. package/lib/src/css/library.brand-page-designCom.min.css +15 -12
  39. package/lib/src/css/library.brand-page-preview.min.css +15 -12
  40. package/lib/src/index.mjs +35 -34
  41. package/lib/src/{lib-BAogQklh.js → lib-B6YdKTau.js} +13487 -13326
  42. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts +4 -0
  43. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.d.ts +4 -0
  44. package/lib/src/shared/content-settings/components/payment-config-field/PaymentConfigField.mixin.d.ts +5 -2
  45. package/lib/src/shared/logo-settings/components/LogoSettings.mixin.d.ts +5 -2
  46. package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +9 -2
  47. package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +5 -2
  48. package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.d.ts +18 -8
  49. package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.js +14 -1
  50. package/lib/src/shared/side-bar/components/SideBar.mixin.d.ts +5 -2
  51. package/lib/src/shared/side-bar/components/SideBarTabButton.mixin.d.ts +4 -0
  52. package/lib/src/shared/style-settings/components/StyleSettings.mixin.d.ts +9 -2
  53. package/lib/src/shared/template-settings/components/TemplatesSettings.mixin.d.ts +4 -0
  54. package/package.json +2 -2
  55. package/src/brand-page/components/icon/Icon.mixin.ts +2 -0
  56. package/src/brand-page/components/icon/Icon.vue +1 -0
  57. package/src/brand-page/components/icon/icons/Twitter.vue +5 -0
  58. package/src/brand-page/models/brand-page-context.model.ts +7 -1
  59. package/src/brand-page/utils/__snapshots__/migration.util.test.ts.snap +3 -3
  60. package/src/brand-page/utils/migration/migration-051.ts +24 -0
  61. package/src/brand-page/utils/migration.util.ts +5 -0
  62. package/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.ts +8 -1
  63. package/src/brand-page-maker/composables/useEventTracker.ts +37 -4
  64. package/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.ts +78 -7
  65. package/src/clients/brand-page-client.ts +22 -3
  66. package/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.ts +16 -1
  67. package/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.vue +5 -0
  68. package/lib/src/bundled-translations-CD8h4dNr.js +0 -27
  69. package/lib/src/bundled-translations.de-DE-djs407Ih.js +0 -27
  70. package/lib/src/bundled-translations.es-ES-JjQoQaM7.js +0 -27
  71. package/lib/src/bundled-translations.fr-FR-rUuRWfsM.js +0 -27
  72. package/lib/src/bundled-translations.pt-PT-BiSQEFmA.js +0 -27
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as e, openBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-BAogQklh.js";
2
+ import { _ as t } from "./lib-B6YdKTau.js";
3
3
  const i = {}, h = {
4
4
  width: "275",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as e, openBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-BAogQklh.js";
2
+ import { _ as t } from "./lib-B6YdKTau.js";
3
3
  const i = {}, h = {
4
4
  width: "251",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as e, openBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-BAogQklh.js";
2
+ import { _ as t } from "./lib-B6YdKTau.js";
3
3
  const i = {}, h = {
4
4
  width: "250",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as e, openBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-BAogQklh.js";
2
+ import { _ as t } from "./lib-B6YdKTau.js";
3
3
  const i = {}, h = {
4
4
  width: "237",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as e, openBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-BAogQklh.js";
2
+ import { _ as t } from "./lib-B6YdKTau.js";
3
3
  const i = {}, h = {
4
4
  width: "263",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as H, openBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-BAogQklh.js";
2
+ import { _ as e } from "./lib-B6YdKTau.js";
3
3
  const M = {}, Z = {
4
4
  width: "242",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as H, openBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-BAogQklh.js";
2
+ import { _ as e } from "./lib-B6YdKTau.js";
3
3
  const i = {}, M = {
4
4
  width: "231",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as H, openBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-BAogQklh.js";
2
+ import { _ as e } from "./lib-B6YdKTau.js";
3
3
  const M = {}, Z = {
4
4
  width: "230",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as H, openBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-BAogQklh.js";
2
+ import { _ as e } from "./lib-B6YdKTau.js";
3
3
  const i = {}, l = {
4
4
  width: "216",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as H, openBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as M } from "./lib-BAogQklh.js";
2
+ import { _ as M } from "./lib-B6YdKTau.js";
3
3
  const Z = {}, e = {
4
4
  width: "232",
5
5
  height: "36",
@@ -113,6 +113,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
113
113
  IconTikTok: import("vue").DefineComponent<{}, {}, any>;
114
114
  IconTumblr: import("vue").DefineComponent<{}, {}, any>;
115
115
  IconTwitch: import("vue").DefineComponent<{}, {}, any>;
116
+ IconTwitter: import("vue").DefineComponent<{}, {}, any>;
116
117
  IconX: import("vue").DefineComponent<{}, {}, any>;
117
118
  IconUser: import("vue").DefineComponent<{}, {}, any>;
118
119
  IconUtensils: import("vue").DefineComponent<{}, {}, any>;
@@ -62,6 +62,7 @@ import IconThumbsUp from './icons/ThumbsUp.vue';
62
62
  import IconTikTok from './icons/TikTok.vue';
63
63
  import IconTumblr from './icons/Tumblr.vue';
64
64
  import IconTwitch from './icons/Twitch.vue';
65
+ import IconTwitter from './icons/Twitter.vue';
65
66
  import IconX from './icons/X.vue';
66
67
  import IconUser from './icons/User.vue';
67
68
  import IconUtensils from './icons/Utensils.vue';
@@ -128,6 +129,7 @@ export default defineComponent({
128
129
  IconTikTok,
129
130
  IconTumblr,
130
131
  IconTwitch,
132
+ IconTwitter,
131
133
  IconX,
132
134
  IconUser,
133
135
  IconUtensils,
@@ -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 || '',
@@ -0,0 +1,4 @@
1
+ import { type BrandPageModel } from '../..';
2
+ export declare const migration051: (brandPageModel: BrandPageModel, options: {
3
+ isUserDraft: boolean;
4
+ }) => BrandPageModel;
@@ -0,0 +1,18 @@
1
+ import {} from '../..';
2
+ export const migration051 = (brandPageModel, options) => {
3
+ if (!options.isUserDraft) {
4
+ brandPageModel.pageFooterDesktop?.socialLinks?.forEach((link) => {
5
+ if (link.imageUrl === 'twitter') {
6
+ link.imageUrl = 'x';
7
+ link.url = 'https://www.x.com';
8
+ }
9
+ });
10
+ brandPageModel.pageFooterMobile?.socialLinks?.forEach((link) => {
11
+ if (link.imageUrl === 'twitter') {
12
+ link.imageUrl = 'x';
13
+ link.url = 'https://www.x.com';
14
+ }
15
+ });
16
+ }
17
+ return brandPageModel;
18
+ };
@@ -4,6 +4,7 @@ import { migration02 } from './migration/migration-02';
4
4
  import { migration03 } from './migration/migration-03';
5
5
  import { migration04 } from './migration/migration-04';
6
6
  import { migration05 } from './migration/migration-05';
7
+ import { migration051 } from './migration/migration-051';
7
8
  const MIGRATION_TABLE = [
8
9
  {
9
10
  version: 1,
@@ -25,6 +26,10 @@ const MIGRATION_TABLE = [
25
26
  version: 5,
26
27
  migrateFn: migration05,
27
28
  },
29
+ {
30
+ version: 5.1,
31
+ migrateFn: migration051,
32
+ },
28
33
  ];
29
34
  export const GetLatestModelVersion = () => Math.max(...MIGRATION_TABLE.map((x) => x.version));
30
35
  export const migrateBrandPageModel = (brandPageModel, options) => {
@@ -246,6 +246,7 @@ 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
252
  } & import("pinia").PiniaCustomStateProperties<import("../../stores").BrandPageContainerState>) => boolean;
@@ -305,6 +306,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
305
306
  isPrePurchase: boolean;
306
307
  makerFonts: any[];
307
308
  eventButtonLocation?: string | undefined;
309
+ websiteUpsellModalViewModel?: any;
308
310
  showPublishOptionModal?: boolean | undefined;
309
311
  abTests: Record<string, string>;
310
312
  } & import("pinia").PiniaCustomStateProperties<import("../../stores").BrandPageContainerState>) => boolean;
@@ -365,12 +367,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
365
367
  eventButtonLocation?: string | undefined;
366
368
  }): Promise<false | {
367
369
  saved: boolean;
368
- canPublish: any;
370
+ canPublish: boolean;
371
+ websiteUpsellModalViewModel: any;
369
372
  }>;
370
373
  saveAndPublishBrandPage(eventButtonLocation: string): Promise<void>;
371
374
  saveTemplate(): Promise<void>;
372
375
  setBrandPageStatus(status: any): Promise<void>;
373
- showPublishModal(eventButtonLocation?: string | undefined): void;
376
+ showPublishModal(eventButtonLocation?: string | undefined, websiteUpsellModalViewModel?: any): void;
374
377
  showBrandPageSlugEditModal(): Promise<void>;
375
378
  showUpgradeModalAndSaveAsync(): Promise<void>;
376
379
  showStripeOnboardingModal(): void;
@@ -684,6 +684,7 @@ 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
690
  } & import("pinia").PiniaCustomStateProperties<import("../../stores").BrandPageContainerState>) => boolean;
@@ -743,6 +744,7 @@ declare const _default: import("vue").DefineComponent<{}, {
743
744
  isPrePurchase: boolean;
744
745
  makerFonts: any[];
745
746
  eventButtonLocation?: string | undefined;
747
+ websiteUpsellModalViewModel?: any;
746
748
  showPublishOptionModal?: boolean | undefined;
747
749
  abTests: Record<string, string>;
748
750
  } & import("pinia").PiniaCustomStateProperties<import("../../stores").BrandPageContainerState>) => boolean;
@@ -803,12 +805,13 @@ declare const _default: import("vue").DefineComponent<{}, {
803
805
  eventButtonLocation?: string | undefined;
804
806
  }): Promise<false | {
805
807
  saved: boolean;
806
- canPublish: any;
808
+ canPublish: boolean;
809
+ websiteUpsellModalViewModel: any;
807
810
  }>;
808
811
  saveAndPublishBrandPage(eventButtonLocation: string): Promise<void>;
809
812
  saveTemplate(): Promise<void>;
810
813
  setBrandPageStatus(status: any): Promise<void>;
811
- showPublishModal(eventButtonLocation?: string | undefined): void;
814
+ showPublishModal(eventButtonLocation?: string | undefined, websiteUpsellModalViewModel?: any): void;
812
815
  showBrandPageSlugEditModal(): Promise<void>;
813
816
  showUpgradeModalAndSaveAsync(): Promise<void>;
814
817
  showStripeOnboardingModal(): void;
@@ -967,6 +970,7 @@ declare const _default: import("vue").DefineComponent<{}, {
967
970
  setPreviousSelectedDisplayStyle(viewport: string, displayStyle: string): void;
968
971
  }>;
969
972
  eventTracker: {
973
+ sendExperimentStartedEvent: (abTestKey: string, abTestValue: string) => void;
970
974
  setGlobalEventProps: (props: Omit<import("../../../brand-page-maker/composables/useEventTracker").BpGlobalEventProps, "template_category">) => void;
971
975
  setUpsellBridgeState: (props: import("../../../brand-page-maker/composables/useEventTracker").BpUpsellEventProps) => void;
972
976
  subscribe: (callbackFn: (event: import("../../../brand-page-maker/composables/useEventTracker").BpEventTrackerEvent) => void) => void;
@@ -975,6 +979,7 @@ declare const _default: import("vue").DefineComponent<{}, {
975
979
  sendUpsellOpenEvent: () => void;
976
980
  sendUpsellContinuationEvent: (continuation: string) => void;
977
981
  sendPublishOpenEvent: () => void;
982
+ appendPublishBridgeState: (props: any) => void;
978
983
  sendPublishContinuationEvent: (continuation: string, domain: string | null) => void;
979
984
  sendWebsiteManageAddPageEvent: (pageName: string) => void;
980
985
  sendWebsiteManageRemovePageEvent: (pageName: string) => void;
@@ -987,6 +992,8 @@ declare const _default: import("vue").DefineComponent<{}, {
987
992
  sendTemplateCategorySelectEvent: (category: string) => void;
988
993
  sendSidebarCategoryClickedEvent: (tabName: string) => void;
989
994
  sendAddContentContinuationEvent: (continuation: string) => void;
995
+ sendUpsellOfferEvent: (upsellType: string) => void;
996
+ sendUpsellOfferActionEvent: (upsellType: string, action: string) => void;
990
997
  };
991
998
  externalEditor: import("@tiptap/vue-3").Editor;
992
999
  styleSettingsStore: import("pinia").Store<"uiStyleSettings", import("../../../shared/style-settings/store").StyleSettingsState, {
@@ -67,6 +67,7 @@ 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
73
  } & import("pinia").PiniaCustomStateProperties<import("../../stores").BrandPageContainerState>) => boolean;
@@ -126,6 +127,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
126
127
  isPrePurchase: boolean;
127
128
  makerFonts: any[];
128
129
  eventButtonLocation?: string | undefined;
130
+ websiteUpsellModalViewModel?: any;
129
131
  showPublishOptionModal?: boolean | undefined;
130
132
  abTests: Record<string, string>;
131
133
  } & import("pinia").PiniaCustomStateProperties<import("../../stores").BrandPageContainerState>) => boolean;
@@ -186,12 +188,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
186
188
  eventButtonLocation?: string | undefined;
187
189
  }): Promise<false | {
188
190
  saved: boolean;
189
- canPublish: any;
191
+ canPublish: boolean;
192
+ websiteUpsellModalViewModel: any;
190
193
  }>;
191
194
  saveAndPublishBrandPage(eventButtonLocation: string): Promise<void>;
192
195
  saveTemplate(): Promise<void>;
193
196
  setBrandPageStatus(status: any): Promise<void>;
194
- showPublishModal(eventButtonLocation?: string | undefined): void;
197
+ showPublishModal(eventButtonLocation?: string | undefined, websiteUpsellModalViewModel?: any): void;
195
198
  showBrandPageSlugEditModal(): Promise<void>;
196
199
  showUpgradeModalAndSaveAsync(): Promise<void>;
197
200
  showStripeOnboardingModal(): void;
@@ -83,6 +83,7 @@ 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
89
  } & import("pinia").PiniaCustomStateProperties<import("../../stores").BrandPageContainerState>) => boolean;
@@ -142,6 +143,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
142
143
  isPrePurchase: boolean;
143
144
  makerFonts: any[];
144
145
  eventButtonLocation?: string | undefined;
146
+ websiteUpsellModalViewModel?: any;
145
147
  showPublishOptionModal?: boolean | undefined;
146
148
  abTests: Record<string, string>;
147
149
  } & import("pinia").PiniaCustomStateProperties<import("../../stores").BrandPageContainerState>) => boolean;
@@ -202,12 +204,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
202
204
  eventButtonLocation?: string | undefined;
203
205
  }): Promise<false | {
204
206
  saved: boolean;
205
- canPublish: any;
207
+ canPublish: boolean;
208
+ websiteUpsellModalViewModel: any;
206
209
  }>;
207
210
  saveAndPublishBrandPage(eventButtonLocation: string): Promise<void>;
208
211
  saveTemplate(): Promise<void>;
209
212
  setBrandPageStatus(status: any): Promise<void>;
210
- showPublishModal(eventButtonLocation?: string | undefined): void;
213
+ showPublishModal(eventButtonLocation?: string | undefined, websiteUpsellModalViewModel?: any): void;
211
214
  showBrandPageSlugEditModal(): Promise<void>;
212
215
  showUpgradeModalAndSaveAsync(): Promise<void>;
213
216
  showStripeOnboardingModal(): void;
@@ -86,6 +86,7 @@ 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
92
  } & import("pinia").PiniaCustomStateProperties<import("../../stores").BrandPageContainerState>) => boolean;
@@ -145,6 +146,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
145
146
  isPrePurchase: boolean;
146
147
  makerFonts: any[];
147
148
  eventButtonLocation?: string | undefined;
149
+ websiteUpsellModalViewModel?: any;
148
150
  showPublishOptionModal?: boolean | undefined;
149
151
  abTests: Record<string, string>;
150
152
  } & import("pinia").PiniaCustomStateProperties<import("../../stores").BrandPageContainerState>) => boolean;
@@ -205,12 +207,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
205
207
  eventButtonLocation?: string | undefined;
206
208
  }): Promise<false | {
207
209
  saved: boolean;
208
- canPublish: any;
210
+ canPublish: boolean;
211
+ websiteUpsellModalViewModel: any;
209
212
  }>;
210
213
  saveAndPublishBrandPage(eventButtonLocation: string): Promise<void>;
211
214
  saveTemplate(): Promise<void>;
212
215
  setBrandPageStatus(status: any): Promise<void>;
213
- showPublishModal(eventButtonLocation?: string | undefined): void;
216
+ showPublishModal(eventButtonLocation?: string | undefined, websiteUpsellModalViewModel?: any): void;
214
217
  showBrandPageSlugEditModal(): Promise<void>;
215
218
  showUpgradeModalAndSaveAsync(): Promise<void>;
216
219
  showStripeOnboardingModal(): void;
@@ -64,6 +64,7 @@ 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
70
  } & import("pinia").PiniaCustomStateProperties<import("../../stores").BrandPageContainerState>) => boolean;
@@ -123,6 +124,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
123
124
  isPrePurchase: boolean;
124
125
  makerFonts: any[];
125
126
  eventButtonLocation?: string | undefined;
127
+ websiteUpsellModalViewModel?: any;
126
128
  showPublishOptionModal?: boolean | undefined;
127
129
  abTests: Record<string, string>;
128
130
  } & import("pinia").PiniaCustomStateProperties<import("../../stores").BrandPageContainerState>) => boolean;
@@ -183,12 +185,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
183
185
  eventButtonLocation?: string | undefined;
184
186
  }): Promise<false | {
185
187
  saved: boolean;
186
- canPublish: any;
188
+ canPublish: boolean;
189
+ websiteUpsellModalViewModel: any;
187
190
  }>;
188
191
  saveAndPublishBrandPage(eventButtonLocation: string): Promise<void>;
189
192
  saveTemplate(): Promise<void>;
190
193
  setBrandPageStatus(status: any): Promise<void>;
191
- showPublishModal(eventButtonLocation?: string | undefined): void;
194
+ showPublishModal(eventButtonLocation?: string | undefined, websiteUpsellModalViewModel?: any): void;
192
195
  showBrandPageSlugEditModal(): Promise<void>;
193
196
  showUpgradeModalAndSaveAsync(): Promise<void>;
194
197
  showStripeOnboardingModal(): void;
@@ -64,6 +64,7 @@ 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
70
  } & import("pinia").PiniaCustomStateProperties<import("../../stores").BrandPageContainerState>) => boolean;
@@ -123,6 +124,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
123
124
  isPrePurchase: boolean;
124
125
  makerFonts: any[];
125
126
  eventButtonLocation?: string | undefined;
127
+ websiteUpsellModalViewModel?: any;
126
128
  showPublishOptionModal?: boolean | undefined;
127
129
  abTests: Record<string, string>;
128
130
  } & import("pinia").PiniaCustomStateProperties<import("../../stores").BrandPageContainerState>) => boolean;
@@ -183,12 +185,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
183
185
  eventButtonLocation?: string | undefined;
184
186
  }): Promise<false | {
185
187
  saved: boolean;
186
- canPublish: any;
188
+ canPublish: boolean;
189
+ websiteUpsellModalViewModel: any;
187
190
  }>;
188
191
  saveAndPublishBrandPage(eventButtonLocation: string): Promise<void>;
189
192
  saveTemplate(): Promise<void>;
190
193
  setBrandPageStatus(status: any): Promise<void>;
191
- showPublishModal(eventButtonLocation?: string | undefined): void;
194
+ showPublishModal(eventButtonLocation?: string | undefined, websiteUpsellModalViewModel?: any): void;
192
195
  showBrandPageSlugEditModal(): Promise<void>;
193
196
  showUpgradeModalAndSaveAsync(): Promise<void>;
194
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
- TEST: string;
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 `bpmaker_` to distinguish the event from other events around the site
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
- TEST: 'bpmaker_test',
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,6 +44,7 @@ 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
50
  }
@@ -117,6 +118,7 @@ export declare const useBrandPageContainerStore: import("pinia").StoreDefinition
117
118
  isPrePurchase: boolean;
118
119
  makerFonts: any[];
119
120
  eventButtonLocation?: string | undefined;
121
+ websiteUpsellModalViewModel?: any;
120
122
  showPublishOptionModal?: boolean | undefined;
121
123
  abTests: Record<string, string>;
122
124
  } & import("pinia").PiniaCustomStateProperties<BrandPageContainerState>) => boolean;
@@ -176,6 +178,7 @@ export declare const useBrandPageContainerStore: import("pinia").StoreDefinition
176
178
  isPrePurchase: boolean;
177
179
  makerFonts: any[];
178
180
  eventButtonLocation?: string | undefined;
181
+ websiteUpsellModalViewModel?: any;
179
182
  showPublishOptionModal?: boolean | undefined;
180
183
  abTests: Record<string, string>;
181
184
  } & import("pinia").PiniaCustomStateProperties<BrandPageContainerState>) => boolean;
@@ -236,12 +239,13 @@ export declare const useBrandPageContainerStore: import("pinia").StoreDefinition
236
239
  eventButtonLocation?: string;
237
240
  }): Promise<false | {
238
241
  saved: boolean;
239
- canPublish: any;
242
+ canPublish: boolean;
243
+ websiteUpsellModalViewModel: any;
240
244
  }>;
241
245
  saveAndPublishBrandPage(eventButtonLocation: string): Promise<void>;
242
246
  saveTemplate(): Promise<void>;
243
247
  setBrandPageStatus(status: any): Promise<void>;
244
- showPublishModal(eventButtonLocation?: string): void;
248
+ showPublishModal(eventButtonLocation?: string, websiteUpsellModalViewModel?: any): void;
245
249
  showBrandPageSlugEditModal(): Promise<void>;
246
250
  showUpgradeModalAndSaveAsync(): Promise<void>;
247
251
  showStripeOnboardingModal(): void;