@designcrowd/library.brand-page 5.16.54 → 5.16.55

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 (43) hide show
  1. package/lib/src/{CreatedOnBrandCrowd-de-de-MT7ymeOj.js → CreatedOnBrandCrowd-de-de-CKdF-VPz.js} +1 -1
  2. package/lib/src/{CreatedOnBrandCrowd-en-us-C2GKnuEv.js → CreatedOnBrandCrowd-en-us-BKYnl-yb.js} +1 -1
  3. package/lib/src/{CreatedOnBrandCrowd-es-es-2takDYdw.js → CreatedOnBrandCrowd-es-es-C8imb_hy.js} +1 -1
  4. package/lib/src/{CreatedOnBrandCrowd-fr-fr-DFjtVwB7.js → CreatedOnBrandCrowd-fr-ca-boSG54Iv.js} +1 -1
  5. package/lib/src/{CreatedOnBrandCrowd-fr-ca-DFjtVwB7.js → CreatedOnBrandCrowd-fr-fr-boSG54Iv.js} +1 -1
  6. package/lib/src/{CreatedOnBrandCrowd-pt-pt-BgN5BFxF.js → CreatedOnBrandCrowd-pt-br-BDJJDXbB.js} +1 -1
  7. package/lib/src/{CreatedOnBrandCrowd-pt-br-BgN5BFxF.js → CreatedOnBrandCrowd-pt-pt-BDJJDXbB.js} +1 -1
  8. package/lib/src/{CreatedOnDcom-de-de-BzxanK33.js → CreatedOnDcom-de-de-mBzErUNE.js} +1 -1
  9. package/lib/src/{CreatedOnDcom-en-us-Vlybo-_L.js → CreatedOnDcom-en-us-DATpe8q3.js} +1 -1
  10. package/lib/src/{CreatedOnDcom-es-es-BRKauY9e.js → CreatedOnDcom-es-es-l7aq6D9Y.js} +1 -1
  11. package/lib/src/{CreatedOnDcom-fr-ca-BRSzGg7E.js → CreatedOnDcom-fr-ca-C3MoZ4Ks.js} +1 -1
  12. package/lib/src/{CreatedOnDcom-fr-fr-CQg_YrB1.js → CreatedOnDcom-fr-fr-CG_cHJxE.js} +1 -1
  13. package/lib/src/{CreatedOnDcom-pt-br-CXxzg52F.js → CreatedOnDcom-pt-br-CTSbFbwu.js} +1 -1
  14. package/lib/src/{CreatedOnDcom-pt-pt-Bv63jvQl.js → CreatedOnDcom-pt-pt-j7JeOpTM.js} +1 -1
  15. package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +4 -0
  16. package/lib/src/brand-page-maker/components/seo-settings/UrlSettings.mixin.d.ts +2 -18
  17. package/lib/src/brand-page-maker/composables/useEventTracker.d.ts +7 -0
  18. package/lib/src/brand-page-maker/composables/useEventTracker.js +26 -8
  19. package/lib/src/brand-page-maker/stores/route/localised-route-store.d.ts +2 -18
  20. package/lib/src/brand-page-maker/stores/route/localised-route-store.js +34 -24
  21. package/lib/src/css/library.brand-page-brandCrowd.min.css +29 -29
  22. package/lib/src/css/library.brand-page-brandPage.min.css +29 -29
  23. package/lib/src/css/library.brand-page-designCom.min.css +29 -29
  24. package/lib/src/css/library.brand-page-preview.min.css +29 -29
  25. package/lib/src/index.d.ts +1 -0
  26. package/lib/src/index.mjs +1 -1
  27. package/lib/src/{lib-Ct6M2UhH.js → lib-BWXLHDqW.js} +4577 -4537
  28. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts +4 -0
  29. package/lib/src/shared/content-settings/components/content-settings/ReplaceImageSettingsForContent.mixin.d.ts +4 -0
  30. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.d.ts +4 -0
  31. package/lib/src/shared/logo-settings/components/EditLogoSettings.mixin.d.ts +4 -0
  32. package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +4 -0
  33. package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.d.ts +4 -0
  34. package/lib/src/shared/side-bar/components/SideBarTabButton.mixin.d.ts +4 -0
  35. package/lib/src/shared/style-settings/components/StyleSettings.mixin.d.ts +4 -0
  36. package/lib/src/shared/template-settings/components/TemplatesSettings.mixin.d.ts +4 -0
  37. package/package.json +1 -1
  38. package/src/brand-page/components/brand-page-footer/BrandPageFooter.vue +20 -5
  39. package/src/brand-page/components/save-contact/SaveContactWidget.vue +4 -8
  40. package/src/brand-page/components/save-contact/popup-card/PopupCard.vue +2 -8
  41. package/src/brand-page-maker/composables/useEventTracker.ts +48 -7
  42. package/src/brand-page-maker/stores/route/localised-route-store.ts +59 -45
  43. package/src/lib.ts +1 -0
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as e, openBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-Ct6M2UhH.js";
2
+ import { _ as t } from "./lib-BWXLHDqW.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-Ct6M2UhH.js";
2
+ import { _ as t } from "./lib-BWXLHDqW.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-Ct6M2UhH.js";
2
+ import { _ as t } from "./lib-BWXLHDqW.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-Ct6M2UhH.js";
2
+ import { _ as t } from "./lib-BWXLHDqW.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-Ct6M2UhH.js";
2
+ import { _ as t } from "./lib-BWXLHDqW.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-Ct6M2UhH.js";
2
+ import { _ as t } from "./lib-BWXLHDqW.js";
3
3
  const i = {}, h = {
4
4
  width: "263",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as e, openBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-Ct6M2UhH.js";
2
+ import { _ as t } from "./lib-BWXLHDqW.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-Ct6M2UhH.js";
2
+ import { _ as e } from "./lib-BWXLHDqW.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-Ct6M2UhH.js";
2
+ import { _ as e } from "./lib-BWXLHDqW.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-Ct6M2UhH.js";
2
+ import { _ as e } from "./lib-BWXLHDqW.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-Ct6M2UhH.js";
2
+ import { _ as e } from "./lib-BWXLHDqW.js";
3
3
  const i = {}, l = {
4
4
  width: "216",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as H, openBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-Ct6M2UhH.js";
2
+ import { _ as e } from "./lib-BWXLHDqW.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-Ct6M2UhH.js";
2
+ import { _ as M } from "./lib-BWXLHDqW.js";
3
3
  const Z = {}, e = {
4
4
  width: "232",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as H, openBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as M } from "./lib-Ct6M2UhH.js";
2
+ import { _ as M } from "./lib-BWXLHDqW.js";
3
3
  const Z = {}, e = {
4
4
  width: "232",
5
5
  height: "36",
@@ -1004,11 +1004,15 @@ declare const _default: import("vue").DefineComponent<{}, {
1004
1004
  setPreviousSelectedDisplayStyle(viewport: string, displayStyle: string): void;
1005
1005
  }>;
1006
1006
  eventTracker: {
1007
+ sendSaveContactEvent: () => void;
1008
+ sendStartForFreeEvent: () => void;
1009
+ sendFooterLinkClickEvent: (linkType: "watermark_logo" | "create_your_website") => void;
1007
1010
  sendGettyVideoAddEvent: () => void;
1008
1011
  sendGettyVideoReplaceEvent: () => void;
1009
1012
  sendGettyVideoRemoveEvent: () => void;
1010
1013
  sendExperimentStartedEvent: (abTestKey: string, abTestValue: string) => void;
1011
1014
  setGlobalEventProps: (props: Omit<import("../../../brand-page-maker/composables/useEventTracker").BpGlobalEventProps, "template_category">) => void;
1015
+ setCustomGlobalEventProps: (props: any) => void;
1012
1016
  setUpsellBridgeState: (props: import("../../../brand-page-maker/composables/useEventTracker").BpUpsellEventProps) => void;
1013
1017
  setDomainUpsellBridgeState: (props: import("../../../brand-page-maker/composables/useEventTracker").BpUpsellEventProps) => void;
1014
1018
  subscribe: (callbackFn: (event: import("../../../brand-page-maker/composables/useEventTracker").BpEventTrackerEvent) => void) => void;
@@ -427,27 +427,11 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
427
427
  localisedBaseUrl: string;
428
428
  } & import("pinia").PiniaCustomStateProperties<import("../../stores").LocalisedRouteState>) => () => string;
429
429
  getPostpurchaseByDesignDraftTokenUrl: () => (editorUrlToRedirectTo: string, designDraftToken: string) => string;
430
- getBuilderLandingPageByTypeUrl: (state: {
431
- baseFabricRenderDomain: string;
432
- baseBrandPageDomain: string;
433
- upgradeSubscriptionUrlPath: string;
434
- reactivationUrlPath: string;
435
- backToWebsiteManageUrlPath: string;
436
- manageWebsiteDesignsUrlPath: string;
437
- createNewDesignUrlPath: string;
438
- termsOfUseUrlPath: string;
439
- websiteBuilderUrlPath: string;
440
- digitalBusinessCardBuilderUrlPath: string;
441
- linkInBioBuilderUrlPath: string;
442
- brandPageEditorUrlPath: string;
443
- brandSiteEditorUrlPath: string;
444
- brandContactEditorUrlPath: string;
445
- logoEditUrlPath: string;
446
- localisedBaseUrl: string;
447
- } & import("pinia").PiniaCustomStateProperties<import("../../stores").LocalisedRouteState>) => (isPreview: boolean, brandPageType: string, isDesignCom: boolean, locale: string) => string;
448
430
  getWebsiteBaseUrl: () => (isDesignCom: boolean) => "https://www.design.com" | "https://www.brandcrowd.com";
449
431
  }, {
450
432
  initialise(payload: any): void;
433
+ buildUtmQueryStrings(brandPageType: string, utmCampaign?: string | undefined): string;
434
+ getBuilderLandingPageByTypeUrl(isPreview: boolean, brandPageType: string, isDesignCom: boolean, locale: string, utmCampaign?: string | undefined): string;
451
435
  }>;
452
436
  }, {
453
437
  customDomainName: string | undefined;
@@ -1,3 +1,4 @@
1
+ type EventScope = 'maker_editor' | 'published_website';
1
2
  type LocationTypes = 'pre_purchase' | 'post_purchase';
2
3
  type TemplateTypes = 'brand-page' | 'brand-site' | 'brand-contact';
3
4
  export interface BpGlobalEventProps {
@@ -14,6 +15,7 @@ export interface BpUpsellEventProps {
14
15
  ab_test_variation?: string;
15
16
  }
16
17
  export interface BpEventTrackerEvent {
18
+ scope?: EventScope;
17
19
  eventName: string;
18
20
  eventProps: any;
19
21
  }
@@ -49,6 +51,7 @@ export declare const EVENTS: {
49
51
  WEBSITE_MAKER_AI_STOP_GENERATION: string;
50
52
  WEBSITE_SAVE_CONTACT: string;
51
53
  WEBSITE_START_FOR_FREE: string;
54
+ WEBSITE_FOOTER_LINK_CLICK: string;
52
55
  WEBSITE_MAKER_AI_CLICK_SUGGESTED_PROMPT: string;
53
56
  WEBSITE_MAKER_DOMAIN_UPSELL_MODAL: string;
54
57
  WEBSITE_MAKER_DIGITAL_BUSINESS_CARDS_SAVE_CONTACT_TOGGLE: string;
@@ -112,11 +115,15 @@ export declare const PUBLISH_OPTION_MODAL_CONTINUATION_EVENTS: {
112
115
  FREEMIUM: string;
113
116
  };
114
117
  declare const useEventTracker: () => {
118
+ sendSaveContactEvent: () => void;
119
+ sendStartForFreeEvent: () => void;
120
+ sendFooterLinkClickEvent: (linkType: 'watermark_logo' | 'create_your_website') => void;
115
121
  sendGettyVideoAddEvent: () => void;
116
122
  sendGettyVideoReplaceEvent: () => void;
117
123
  sendGettyVideoRemoveEvent: () => void;
118
124
  sendExperimentStartedEvent: (abTestKey: string, abTestValue: string) => void;
119
125
  setGlobalEventProps: (props: Omit<BpGlobalEventProps, 'template_category'>) => void;
126
+ setCustomGlobalEventProps: (props: any) => void;
120
127
  setUpsellBridgeState: (props: BpUpsellEventProps) => void;
121
128
  setDomainUpsellBridgeState: (props: BpUpsellEventProps) => void;
122
129
  subscribe: (callbackFn: (event: BpEventTrackerEvent) => void) => void;
@@ -32,6 +32,7 @@ export const EVENTS = {
32
32
  WEBSITE_MAKER_AI_STOP_GENERATION: 'website_maker_ai_stop_generation',
33
33
  WEBSITE_SAVE_CONTACT: 'website_save_contact',
34
34
  WEBSITE_START_FOR_FREE: 'website_start_for_free',
35
+ WEBSITE_FOOTER_LINK_CLICK: 'website_footer_link_click',
35
36
  WEBSITE_MAKER_AI_CLICK_SUGGESTED_PROMPT: 'website_maker_ai_click_suggested_prompt',
36
37
  WEBSITE_MAKER_DOMAIN_UPSELL_MODAL: 'website_domain_upsell_modal',
37
38
  WEBSITE_MAKER_DIGITAL_BUSINESS_CARDS_SAVE_CONTACT_TOGGLE: 'website_maker_digital_business_cards_save_contact_toggle',
@@ -94,21 +95,17 @@ export const PUBLISH_OPTION_MODAL_CONTINUATION_EVENTS = {
94
95
  EXIT: 'exit',
95
96
  FREEMIUM: 'freemium',
96
97
  };
97
- const GLOBAL_EVENT_PROPS = shallowRef({
98
- template_category: 'website',
99
- template_type: 'brand-page',
100
- location: 'post_purchase',
101
- domain_type: 'Free',
102
- });
98
+ const GLOBAL_EVENT_PROPS = shallowRef();
103
99
  const bridgeState = shallowRef({
104
100
  upsellOpenEventProps: {},
105
101
  domainUpsellOpenEventProps: {},
106
102
  publishOpenEventProps: {},
107
103
  });
108
104
  const LISTENERS = shallowRef([]);
109
- const _publishEvent = (eventName, eventProps, excludeGlobal = false) => {
105
+ const _publishEvent = (eventName, eventProps, excludeGlobal = false, scope = 'maker_editor') => {
110
106
  LISTENERS.value.forEach((listener) => {
111
107
  listener({
108
+ scope,
112
109
  eventName: eventName,
113
110
  eventProps: {
114
111
  ...(excludeGlobal ? {} : GLOBAL_EVENT_PROPS.value),
@@ -135,6 +132,17 @@ const useEventTracker = () => {
135
132
  });
136
133
  },
137
134
  };
135
+ const publishedWebsiteEvents = {
136
+ sendSaveContactEvent: () => {
137
+ _publishEvent(EVENTS.WEBSITE_SAVE_CONTACT, {}, false, 'published_website');
138
+ },
139
+ sendStartForFreeEvent: () => {
140
+ _publishEvent(EVENTS.WEBSITE_START_FOR_FREE, {}, false, 'published_website');
141
+ },
142
+ sendFooterLinkClickEvent: (linkType) => {
143
+ _publishEvent(EVENTS.WEBSITE_FOOTER_LINK_CLICK, { link_type: linkType }, false, 'published_website');
144
+ },
145
+ };
138
146
  return {
139
147
  sendExperimentStartedEvent: (abTestKey, abTestValue) => {
140
148
  _publishEvent(EVENTS.EXPERIMENT_STARTED, {
@@ -143,7 +151,16 @@ const useEventTracker = () => {
143
151
  }, true);
144
152
  },
145
153
  setGlobalEventProps: (props) => {
146
- GLOBAL_EVENT_PROPS.value = { ...GLOBAL_EVENT_PROPS.value, ...props };
154
+ const defaultValues = {
155
+ template_category: 'website',
156
+ template_type: 'brand-page',
157
+ location: 'post_purchase',
158
+ domain_type: 'Free',
159
+ };
160
+ GLOBAL_EVENT_PROPS.value = { ...defaultValues, ...props };
161
+ },
162
+ setCustomGlobalEventProps: (props) => {
163
+ GLOBAL_EVENT_PROPS.value = props;
147
164
  },
148
165
  setUpsellBridgeState: (props) => {
149
166
  bridgeState.value.upsellOpenEventProps = props;
@@ -285,6 +302,7 @@ const useEventTracker = () => {
285
302
  });
286
303
  },
287
304
  ...gettyVideoEvents,
305
+ ...publishedWebsiteEvents,
288
306
  };
289
307
  };
290
308
  export { useEventTracker };
@@ -54,25 +54,9 @@ export declare const useLocalisedRouteStore: import("pinia").StoreDefinition<"lo
54
54
  localisedBaseUrl: string;
55
55
  } & import("pinia").PiniaCustomStateProperties<LocalisedRouteState>) => () => string;
56
56
  getPostpurchaseByDesignDraftTokenUrl: () => (editorUrlToRedirectTo: string, designDraftToken: string) => string;
57
- getBuilderLandingPageByTypeUrl: (state: {
58
- baseFabricRenderDomain: string;
59
- baseBrandPageDomain: string;
60
- upgradeSubscriptionUrlPath: string;
61
- reactivationUrlPath: string;
62
- backToWebsiteManageUrlPath: string;
63
- manageWebsiteDesignsUrlPath: string;
64
- createNewDesignUrlPath: string;
65
- termsOfUseUrlPath: string;
66
- websiteBuilderUrlPath: string;
67
- digitalBusinessCardBuilderUrlPath: string;
68
- linkInBioBuilderUrlPath: string;
69
- brandPageEditorUrlPath: string;
70
- brandSiteEditorUrlPath: string;
71
- brandContactEditorUrlPath: string;
72
- logoEditUrlPath: string;
73
- localisedBaseUrl: string;
74
- } & import("pinia").PiniaCustomStateProperties<LocalisedRouteState>) => (isPreview: boolean, brandPageType: string, isDesignCom: boolean, locale: string) => string;
75
57
  getWebsiteBaseUrl: () => (isDesignCom: boolean) => "https://www.design.com" | "https://www.brandcrowd.com";
76
58
  }, {
77
59
  initialise(payload: any): void;
60
+ buildUtmQueryStrings(brandPageType: string, utmCampaign?: string): string;
61
+ getBuilderLandingPageByTypeUrl(isPreview: boolean, brandPageType: string, isDesignCom: boolean, locale: string, utmCampaign?: string): string;
78
62
  }>;
@@ -2,6 +2,7 @@ import { defineStore } from 'pinia';
2
2
  import { BRAND_PAGE_TYPES } from '../../../brand-page/models';
3
3
  import { interpolateUrl } from '../../utils/route.util';
4
4
  import { useBrandPageContainerStore } from '../brandpage-container';
5
+ const UTM_MEDIUM = 'published_website';
5
6
  const getLocalisedSlug = (defaultSlug, locale) => {
6
7
  const translations = {
7
8
  '/website-builder': {
@@ -70,6 +71,39 @@ export const useLocalisedRouteStore = defineStore('localisedRoute', {
70
71
  this.logoEditUrlPath = payload.logoEditUrlPath;
71
72
  this.localisedBaseUrl = payload.localisedBaseUrl;
72
73
  },
74
+ buildUtmQueryStrings(brandPageType, utmCampaign) {
75
+ if (!utmCampaign) {
76
+ return '';
77
+ }
78
+ return `utm_source=${brandPageType || BRAND_PAGE_TYPES.default}&utm_medium=${UTM_MEDIUM}&utm_campaign=${utmCampaign}`;
79
+ },
80
+ getBuilderLandingPageByTypeUrl(isPreview, brandPageType, isDesignCom, locale, utmCampaign) {
81
+ if (isPreview) {
82
+ return '#';
83
+ }
84
+ let slug = '';
85
+ switch (brandPageType) {
86
+ case BRAND_PAGE_TYPES.brandSite:
87
+ slug = getLocalisedSlug(this.websiteBuilderUrlPath || '/website-builder', locale);
88
+ break;
89
+ case BRAND_PAGE_TYPES.brandContact:
90
+ slug = getLocalisedSlug(this.digitalBusinessCardBuilderUrlPath || '/digital-business-card', locale);
91
+ break;
92
+ default:
93
+ slug = getLocalisedSlug(this.linkInBioBuilderUrlPath || '/link-in-bio', locale);
94
+ }
95
+ const lowercaseLocale = locale.toLowerCase();
96
+ const isEnglish = lowercaseLocale === 'en-us';
97
+ const domain = isDesignCom
98
+ ? 'https://www.design.com'
99
+ : 'https://www.brandcrowd.com';
100
+ const localePath = isEnglish ? '' : `/${lowercaseLocale}`;
101
+ const url = `${domain}${localePath}${slug}`;
102
+ const utmParams = utmCampaign
103
+ ? `?${this.buildUtmQueryStrings(brandPageType, utmCampaign)}`
104
+ : '';
105
+ return url + utmParams;
106
+ },
73
107
  },
74
108
  getters: {
75
109
  currentPublishedSlugUrl: (state) => () => {
@@ -91,30 +125,6 @@ export const useLocalisedRouteStore = defineStore('localisedRoute', {
91
125
  designDraftToken: designDraftToken,
92
126
  });
93
127
  },
94
- getBuilderLandingPageByTypeUrl: (state) => (isPreview, brandPageType, isDesignCom, locale) => {
95
- if (isPreview) {
96
- return '#';
97
- }
98
- let slug = '';
99
- switch (brandPageType) {
100
- case BRAND_PAGE_TYPES.brandSite:
101
- slug = getLocalisedSlug(state.websiteBuilderUrlPath || '/website-builder', locale);
102
- break;
103
- case BRAND_PAGE_TYPES.brandContact:
104
- slug = getLocalisedSlug(state.digitalBusinessCardBuilderUrlPath ||
105
- '/digital-business-card', locale);
106
- break;
107
- default:
108
- slug = getLocalisedSlug(state.linkInBioBuilderUrlPath || '/link-in-bio', locale);
109
- }
110
- const lowercaseLocale = locale.toLowerCase();
111
- const isEnglish = lowercaseLocale === 'en-us';
112
- const domain = isDesignCom
113
- ? 'https://www.design.com'
114
- : 'https://www.brandcrowd.com';
115
- const localePath = isEnglish ? '' : `/${lowercaseLocale}`;
116
- return `${domain}${localePath}${slug}`;
117
- },
118
128
  getWebsiteBaseUrl: () => (isDesignCom) => {
119
129
  return isDesignCom
120
130
  ? `https://www.design.com`
@@ -5153,7 +5153,7 @@ input[data-v-4cd691db]::-webkit-inner-spin-button {
5153
5153
  border-radius: 0 !important;
5154
5154
  }
5155
5155
 
5156
- @-webkit-keyframes slide-eea86c62 {
5156
+ @-webkit-keyframes slide-ccfbe22d {
5157
5157
  0% {
5158
5158
  -webkit-transform: translateX(-40%);
5159
5159
  transform: translateX(-40%);
@@ -5178,7 +5178,7 @@ input[data-v-4cd691db]::-webkit-inner-spin-button {
5178
5178
  transform: translateX(150%);
5179
5179
  }
5180
5180
  }
5181
- @keyframes slide-eea86c62 {
5181
+ @keyframes slide-ccfbe22d {
5182
5182
  0% {
5183
5183
  -webkit-transform: translateX(-40%);
5184
5184
  transform: translateX(-40%);
@@ -5203,7 +5203,7 @@ input[data-v-4cd691db]::-webkit-inner-spin-button {
5203
5203
  transform: translateX(150%);
5204
5204
  }
5205
5205
  }
5206
- .brand-page__footer[data-v-eea86c62] {
5206
+ .brand-page__footer[data-v-ccfbe22d] {
5207
5207
  display: -webkit-box;
5208
5208
  display: -ms-flexbox;
5209
5209
  display: flex;
@@ -5211,7 +5211,7 @@ input[data-v-4cd691db]::-webkit-inner-spin-button {
5211
5211
  -ms-flex-pack: center;
5212
5212
  justify-content: center;
5213
5213
  }
5214
- .brand-page__footer-link[data-v-eea86c62] {
5214
+ .brand-page__footer-link[data-v-ccfbe22d] {
5215
5215
  display: block;
5216
5216
  border-radius: 0.25rem;
5217
5217
  padding: 0.75rem;
@@ -5219,37 +5219,37 @@ input[data-v-4cd691db]::-webkit-inner-spin-button {
5219
5219
  -webkit-transition: background 0.2s ease-in-out;
5220
5220
  transition: background 0.2s ease-in-out;
5221
5221
  }
5222
- .brand-page__footer-link[data-v-eea86c62]:hover {
5222
+ .brand-page__footer-link[data-v-ccfbe22d]:hover {
5223
5223
  opacity: 0.9;
5224
5224
  }
5225
- .icon-container[data-v-eea86c62] {
5225
+ .icon-container[data-v-ccfbe22d] {
5226
5226
  width: 20px;
5227
5227
  overflow: hidden;
5228
5228
  }
5229
- .icon-right[data-v-eea86c62] {
5229
+ .icon-right[data-v-ccfbe22d] {
5230
5230
  left: 50%;
5231
5231
  -webkit-transform: translateX(-50%);
5232
5232
  transform: translateX(-50%);
5233
- -webkit-animation-name: slide-eea86c62;
5234
- animation-name: slide-eea86c62;
5233
+ -webkit-animation-name: slide-ccfbe22d;
5234
+ animation-name: slide-ccfbe22d;
5235
5235
  -webkit-animation-duration: 3s;
5236
5236
  animation-duration: 3s;
5237
5237
  -webkit-animation-iteration-count: infinite;
5238
5238
  animation-iteration-count: infinite;
5239
5239
  }
5240
- .btn-dcom[data-v-eea86c62] {
5240
+ .btn-dcom[data-v-ccfbe22d] {
5241
5241
  --tw-border-opacity: 1;
5242
5242
  --tw-bg-opacity: 1;
5243
5243
  border-color: rgb(63 89 246 / var(--tw-border-opacity));
5244
5244
  background-color: rgb(63 89 246 / var(--tw-bg-opacity));
5245
5245
  font-family: 'Inter', Lato, sans-serif;
5246
5246
  }
5247
- .extra-height[data-v-eea86c62] {
5247
+ .extra-height[data-v-ccfbe22d] {
5248
5248
  -webkit-transition: height 0.5s ease-in-out;
5249
5249
  transition: height 0.5s ease-in-out;
5250
5250
  width: 100%;
5251
5251
  }
5252
- .btn-bc[data-v-eea86c62] {
5252
+ .btn-bc[data-v-ccfbe22d] {
5253
5253
  font-family: Lato, Helvetica, sans-serif;
5254
5254
  }
5255
5255
 
@@ -7220,7 +7220,7 @@ input[data-v-4cd691db]::-webkit-inner-spin-button {
7220
7220
  justify-content: flex-end;
7221
7221
  }
7222
7222
 
7223
- @-webkit-keyframes slideUp-a1c3a7d4 {
7223
+ @-webkit-keyframes slideUp-9b5e0507 {
7224
7224
  from {
7225
7225
  bottom: -100%;
7226
7226
  opacity: 0;
@@ -7229,7 +7229,7 @@ to {
7229
7229
  opacity: 1;
7230
7230
  }
7231
7231
  }
7232
- @keyframes slideUp-a1c3a7d4 {
7232
+ @keyframes slideUp-9b5e0507 {
7233
7233
  from {
7234
7234
  bottom: -100%;
7235
7235
  opacity: 0;
@@ -7238,27 +7238,27 @@ to {
7238
7238
  opacity: 1;
7239
7239
  }
7240
7240
  }
7241
- .popup-card[data-v-a1c3a7d4] {
7242
- -webkit-animation: slideUp-a1c3a7d4 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
7243
- animation: slideUp-a1c3a7d4 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
7241
+ .popup-card[data-v-9b5e0507] {
7242
+ -webkit-animation: slideUp-9b5e0507 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
7243
+ animation: slideUp-9b5e0507 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
7244
7244
  }
7245
7245
  @media (max-width: 767px) {
7246
- .popup-card[data-v-a1c3a7d4] {
7246
+ .popup-card[data-v-9b5e0507] {
7247
7247
  max-width: calc(100% - 2rem);
7248
7248
  }
7249
7249
  }
7250
- .btn-dcom[data-v-a1c3a7d4] {
7250
+ .btn-dcom[data-v-9b5e0507] {
7251
7251
  --tw-border-opacity: 1;
7252
7252
  --tw-bg-opacity: 1;
7253
7253
  border-color: rgb(63 89 246 / var(--tw-border-opacity));
7254
7254
  background-color: rgb(63 89 246 / var(--tw-bg-opacity));
7255
7255
  font-family: 'Inter', Lato, sans-serif;
7256
7256
  }
7257
- .btn-bc[data-v-a1c3a7d4] {
7257
+ .btn-bc[data-v-9b5e0507] {
7258
7258
  font-family: Lato, Helvetica, sans-serif;
7259
7259
  }
7260
7260
 
7261
- .brand-page__footer[data-v-73d82b88] {
7261
+ .brand-page__footer[data-v-2d20753c] {
7262
7262
  display: -webkit-box;
7263
7263
  display: -ms-flexbox;
7264
7264
  display: flex;
@@ -7266,7 +7266,7 @@ to {
7266
7266
  -ms-flex-pack: center;
7267
7267
  justify-content: center;
7268
7268
  }
7269
- .brand-page__footer-link[data-v-73d82b88] {
7269
+ .brand-page__footer-link[data-v-2d20753c] {
7270
7270
  display: block;
7271
7271
  border-radius: 0.25rem;
7272
7272
  padding: 0.75rem;
@@ -7274,25 +7274,25 @@ to {
7274
7274
  -webkit-transition: background 0.2s ease-in-out;
7275
7275
  transition: background 0.2s ease-in-out;
7276
7276
  }
7277
- .brand-page__footer-link[data-v-73d82b88]:hover {
7277
+ .brand-page__footer-link[data-v-2d20753c]:hover {
7278
7278
  opacity: 0.9;
7279
7279
  }
7280
- .icon-container[data-v-73d82b88] {
7280
+ .icon-container[data-v-2d20753c] {
7281
7281
  width: 20px;
7282
7282
  overflow: hidden;
7283
7283
  }
7284
- .extra-height[data-v-73d82b88] {
7284
+ .extra-height[data-v-2d20753c] {
7285
7285
  -webkit-transition: height 0.5s ease-in-out;
7286
7286
  transition: height 0.5s ease-in-out;
7287
7287
  width: 100%;
7288
7288
  }
7289
- .c-button__label[data-v-73d82b88] {
7289
+ .c-button__label[data-v-2d20753c] {
7290
7290
  margin: 0 auto;
7291
7291
  word-break: break-word;
7292
7292
  overflow-wrap: anywhere;
7293
7293
  width: auto;
7294
7294
  }
7295
- .c-button[data-v-73d82b88] {
7295
+ .c-button[data-v-2d20753c] {
7296
7296
  --icon-h: 1.5rem;
7297
7297
  --icon-m-r: 0.5rem;
7298
7298
  --icon-m-icon: 0.5rem;
@@ -7307,10 +7307,10 @@ to {
7307
7307
  -ms-flex-align: center !important;
7308
7308
  align-items: center !important;
7309
7309
  }
7310
- .button__icon[data-v-73d82b88] {
7310
+ .button__icon[data-v-2d20753c] {
7311
7311
  margin-right: var(--icon-m-r);
7312
7312
  }
7313
- .btn-max-width[data-v-73d82b88] {
7313
+ .btn-max-width[data-v-2d20753c] {
7314
7314
  max-width: 315px;
7315
7315
  width: 100%;
7316
7316
  }