@designcrowd/library.brand-page 5.17.5 → 5.17.6-jy-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 (53) hide show
  1. package/lib/src/{CreatedOnBrandCrowd-de-de-Cpnqtpzv.js → CreatedOnBrandCrowd-de-de-D_Hnsj28.js} +1 -1
  2. package/lib/src/{CreatedOnBrandCrowd-en-us-C13SObir.js → CreatedOnBrandCrowd-en-us-CMyfwczi.js} +1 -1
  3. package/lib/src/{CreatedOnBrandCrowd-es-es-B5VwaU9q.js → CreatedOnBrandCrowd-es-es-BvYhSzAw.js} +1 -1
  4. package/lib/src/{CreatedOnBrandCrowd-fr-fr-Cr7eKKqj.js → CreatedOnBrandCrowd-fr-ca-BSRSPd2Z.js} +1 -1
  5. package/lib/src/{CreatedOnBrandCrowd-fr-ca-Cr7eKKqj.js → CreatedOnBrandCrowd-fr-fr-BSRSPd2Z.js} +1 -1
  6. package/lib/src/{CreatedOnBrandCrowd-pt-pt-DhSgDPQ8.js → CreatedOnBrandCrowd-pt-br-CcAmuirx.js} +1 -1
  7. package/lib/src/{CreatedOnBrandCrowd-pt-br-DhSgDPQ8.js → CreatedOnBrandCrowd-pt-pt-CcAmuirx.js} +1 -1
  8. package/lib/src/{CreatedOnDcom-de-de-BNI8f-n_.js → CreatedOnDcom-de-de-CpWwhMNV.js} +1 -1
  9. package/lib/src/{CreatedOnDcom-en-us-BwaGdHTG.js → CreatedOnDcom-en-us-m17A05Ff.js} +1 -1
  10. package/lib/src/{CreatedOnDcom-es-es-CariHyO8.js → CreatedOnDcom-es-es-CqwD5d0B.js} +1 -1
  11. package/lib/src/{CreatedOnDcom-fr-ca-BxuMjByN.js → CreatedOnDcom-fr-ca-D7DqzKEu.js} +1 -1
  12. package/lib/src/{CreatedOnDcom-fr-fr-NYGNCCIG.js → CreatedOnDcom-fr-fr-DsXxNbr1.js} +1 -1
  13. package/lib/src/{CreatedOnDcom-pt-br-BQ0xFPwF.js → CreatedOnDcom-pt-br-G1fjIhbo.js} +1 -1
  14. package/lib/src/{CreatedOnDcom-pt-pt-Bn6xEs1M.js → CreatedOnDcom-pt-pt-D7yYI2ID.js} +1 -1
  15. package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +15 -2
  16. package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.js +4 -11
  17. package/lib/src/brand-page-maker/composables/ai-chat/useAiTextEditPrompts.js +4 -22
  18. package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.js +4 -22
  19. package/lib/src/brand-page-maker/composables/useEventTracker.d.ts +14 -1
  20. package/lib/src/brand-page-maker/composables/useEventTracker.js +85 -4
  21. package/lib/src/css/library.brand-page-brandCrowd.min.css +33 -36
  22. package/lib/src/css/library.brand-page-brandPage.min.css +33 -36
  23. package/lib/src/css/library.brand-page-designCom.min.css +33 -36
  24. package/lib/src/css/library.brand-page-preview.min.css +33 -36
  25. package/lib/src/index.mjs +1 -1
  26. package/lib/src/{lib-CIZEL8xo.js → lib-_9WqRMcr.js} +3560 -3546
  27. package/lib/src/shared/content-settings/components/booking-url-field/BookingUrlField.mixin.js +1 -4
  28. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts +14 -1
  29. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.js +3 -17
  30. package/lib/src/shared/content-settings/components/content-settings/ReplaceImageSettingsForContent.mixin.d.ts +14 -1
  31. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.d.ts +15 -2
  32. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.js +4 -11
  33. package/lib/src/shared/logo-settings/components/EditLogoSettings.mixin.d.ts +14 -1
  34. package/lib/src/shared/logo-settings/components/EditLogoSettings.mixin.js +2 -7
  35. package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +14 -1
  36. package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.d.ts +14 -1
  37. package/lib/src/shared/side-bar/components/SideBarTabButton.mixin.d.ts +14 -1
  38. package/lib/src/shared/style-settings/components/StyleSettings.mixin.d.ts +14 -1
  39. package/lib/src/shared/template-settings/components/TemplatesSettings.mixin.d.ts +14 -1
  40. package/package.json +1 -1
  41. package/src/brand-page/components/about-section/AboutSection.vue +0 -6
  42. package/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.ts +9 -13
  43. package/src/brand-page-maker/components/save-contact/SaveContact.vue +8 -15
  44. package/src/brand-page-maker/composables/ai-chat/useAiTextEditPrompts.ts +12 -22
  45. package/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.ts +4 -22
  46. package/src/brand-page-maker/composables/useEventTracker.ts +109 -4
  47. package/src/shared/content-settings/components/booking-url-field/BookingUrlField.mixin.ts +1 -4
  48. package/src/shared/content-settings/components/content-settings/ContentSettings.mixin.ts +10 -17
  49. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.ts +7 -13
  50. package/src/shared/content-settings/components/generate-ai-button/GenerateAiButton.vue +2 -11
  51. package/src/shared/content-settings/components/generate-ai-modal/GenerateAiModal.vue +16 -46
  52. package/src/shared/logo-settings/components/EditLogoSettings.mixin.ts +1 -7
  53. package/src/shared/logo-settings/components/LogoTemplateSearch.vue +9 -21
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-CIZEL8xo.js";
2
+ import { _ as t } from "./lib-_9WqRMcr.js";
3
3
  const i = {}, h = {
4
4
  width: "275",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-CIZEL8xo.js";
2
+ import { _ as t } from "./lib-_9WqRMcr.js";
3
3
  const i = {}, h = {
4
4
  width: "251",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-CIZEL8xo.js";
2
+ import { _ as t } from "./lib-_9WqRMcr.js";
3
3
  const i = {}, h = {
4
4
  width: "250",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-CIZEL8xo.js";
2
+ import { _ as t } from "./lib-_9WqRMcr.js";
3
3
  const i = {}, h = {
4
4
  width: "237",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-CIZEL8xo.js";
2
+ import { _ as t } from "./lib-_9WqRMcr.js";
3
3
  const i = {}, h = {
4
4
  width: "237",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-CIZEL8xo.js";
2
+ import { _ as t } from "./lib-_9WqRMcr.js";
3
3
  const i = {}, h = {
4
4
  width: "263",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-CIZEL8xo.js";
2
+ import { _ as t } from "./lib-_9WqRMcr.js";
3
3
  const i = {}, h = {
4
4
  width: "263",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-CIZEL8xo.js";
2
+ import { _ as e } from "./lib-_9WqRMcr.js";
3
3
  const M = {}, Z = {
4
4
  width: "242",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-CIZEL8xo.js";
2
+ import { _ as e } from "./lib-_9WqRMcr.js";
3
3
  const i = {}, M = {
4
4
  width: "231",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-CIZEL8xo.js";
2
+ import { _ as e } from "./lib-_9WqRMcr.js";
3
3
  const M = {}, Z = {
4
4
  width: "230",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-CIZEL8xo.js";
2
+ import { _ as e } from "./lib-_9WqRMcr.js";
3
3
  const i = {}, l = {
4
4
  width: "216",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-CIZEL8xo.js";
2
+ import { _ as e } from "./lib-_9WqRMcr.js";
3
3
  const i = {}, l = {
4
4
  width: "216",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as M } from "./lib-CIZEL8xo.js";
2
+ import { _ as M } from "./lib-_9WqRMcr.js";
3
3
  const Z = {}, e = {
4
4
  width: "232",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as M } from "./lib-CIZEL8xo.js";
2
+ import { _ as M } from "./lib-_9WqRMcr.js";
3
3
  const Z = {}, e = {
4
4
  width: "232",
5
5
  height: "36",
@@ -1022,7 +1022,6 @@ declare const _default: import("vue").DefineComponent<{}, {
1022
1022
  setUpsellBridgeState: (props: import("@brand-page-maker/composables/useEventTracker").BpUpsellEventProps) => void;
1023
1023
  setDomainUpsellBridgeState: (props: import("@brand-page-maker/composables/useEventTracker").BpUpsellEventProps) => void;
1024
1024
  subscribe: (callbackFn: (event: import("@brand-page-maker/composables/useEventTracker").BpEventTrackerEvent) => void) => void;
1025
- sendWebsiteEvent: (event: import("@brand-page-maker/composables/useEventTracker").BpEventTrackerEvent) => void;
1026
1025
  sendWebsiteMakerOpenEvent: (location: string) => void;
1027
1026
  sendUpsellOpenEvent: (cta_location?: string | undefined) => void;
1028
1027
  sendDomainUpsellOpenEvent: () => void;
@@ -1047,6 +1046,20 @@ declare const _default: import("vue").DefineComponent<{}, {
1047
1046
  sendGenerateTextContinuationEvent: (cta_location: string, continuation: string | null) => void;
1048
1047
  sendAiSendPromptEvent: (ctaLocation: string) => void;
1049
1048
  sendAiStopGenerationEvent: (ctaLocation: string) => void;
1049
+ sendMakerHyperlinkClickEvent: (linkType: string, contentType: string) => void;
1050
+ sendMakerHyperlinkAddEvent: (linkType: string, contentType: string) => void;
1051
+ sendMakerHyperlinkRemoveEvent: (linkType: string, contentType: string) => void;
1052
+ sendAiClickSuggestedPromptEvent: (ctaLocation: string, prompt: string) => void;
1053
+ sendAiCopyResponseEvent: (ctaLocation: string) => void;
1054
+ sendAiRegenerateTextEvent: (ctaLocation: string) => void;
1055
+ sendMakerSelectContentEvent: (contentCategory: string, contentType: string, selectLocation: string) => void;
1056
+ sendMakerAddContentEvent: (contentCategory: string, contentType: string, selectLocation: string) => void;
1057
+ sendMakerRemoveContentEvent: (contentCategory: string, contentType: string, selectLocation: string) => void;
1058
+ sendMakerSwitchLogoEvent: (selectLocation: string) => void;
1059
+ sendMakerSwitchLogoModalEvent: (selectLocation: string, continuation?: string | undefined) => void;
1060
+ sendMakerCalendlyLinkClickedEvent: () => void;
1061
+ sendDigitalBusinessCardsSaveContactToggleEvent: (ctaLocation: string, toggleValue: "enabled" | "disabled") => void;
1062
+ sendDigitalBusinessCardsHidePopupEvent: (ctaLocation: string, toggleValue: "enabled" | "disabled") => void;
1050
1063
  };
1051
1064
  externalEditor: import("@tiptap/vue-3").Editor;
1052
1065
  styleSettingsStore: import("pinia").Store<"uiStyleSettings", import("@shared/style-settings/store").StyleSettingsState, {
@@ -1139,7 +1152,7 @@ declare const _default: import("vue").DefineComponent<{}, {
1139
1152
  onPageFooterContainerClick(): void;
1140
1153
  onSaveContactWidgetClick(): void;
1141
1154
  onLogoClick(tabName: string): void;
1142
- sendSelectContentEvent(): void;
1155
+ sendMakerSelectContentEvent(): void;
1143
1156
  }, import("vue").DefineComponent<import("vue").ExtractPropTypes<{
1144
1157
  context: {
1145
1158
  type: import("vue").PropType<import("@brand-page").BrandPageContext>;
@@ -9,7 +9,7 @@ import { useUiSideBarStore } from '@shared/side-bar/store';
9
9
  import { SIDE_BAR_TAB_NAMES } from '@brand-page-maker/constants';
10
10
  import { useUiPageSettingsStore } from '@shared/page-settings/store';
11
11
  import { PAGE_SECTIONS } from '@shared/page-settings/models';
12
- import { EVENTS, SELECT_LOCATIONS, useEventTracker, } from '@brand-page-maker/composables/useEventTracker';
12
+ import { SELECT_LOCATIONS, useEventTracker, } from '@brand-page-maker/composables/useEventTracker';
13
13
  import debounce from 'lodash.debounce';
14
14
  import { transformToRTE, RTE_ALLOWED_SECTION_TYPES, } from '@brand-page-maker/utils';
15
15
  import { useExternalRichTextEditor } from '@brand-page-maker/composables/rich-text-editor/useRichTextEditor';
@@ -64,7 +64,7 @@ export default defineComponent({
64
64
  },
65
65
  created() {
66
66
  if (!this.selectEventDebounceHandler) {
67
- this.selectEventDebounceHandler = debounce(this.sendSelectContentEvent, 500);
67
+ this.selectEventDebounceHandler = debounce(this.sendMakerSelectContentEvent, 500);
68
68
  }
69
69
  },
70
70
  onBeforeUnmount() {
@@ -305,18 +305,11 @@ export default defineComponent({
305
305
  onLogoClick(tabName) {
306
306
  this.sideBarStore.setSelectedTabName({ tabName });
307
307
  },
308
- sendSelectContentEvent() {
308
+ sendMakerSelectContentEvent() {
309
309
  const currentlySelectedItem = this.items.find((item) => item.id === this.contentSettingsStore.selectedItemId);
310
310
  // Send MixPanel select event
311
311
  if (currentlySelectedItem) {
312
- this.eventTracker.sendWebsiteEvent({
313
- eventName: EVENTS.WEBSITE_MAKER_SELECT_CONTENT,
314
- eventProps: {
315
- content_category: this.contentSettingsStore.getContentCategory(currentlySelectedItem.type),
316
- content_type: currentlySelectedItem.type,
317
- select_location: SELECT_LOCATIONS.SIDEBAR,
318
- },
319
- });
312
+ this.eventTracker.sendMakerSelectContentEvent(this.contentSettingsStore.getContentCategory(currentlySelectedItem.type), currentlySelectedItem.type, SELECT_LOCATIONS.SIDEBAR);
320
313
  }
321
314
  },
322
315
  },
@@ -1,6 +1,6 @@
1
1
  import { computed } from 'vue';
2
2
  import { useBrandPageMakerStore } from '../../stores';
3
- import { EVENTS, GENERATE_AI_SUGGESTED_PROMPT, useEventTracker, } from '../../composables/useEventTracker';
3
+ import { GENERATE_AI_SUGGESTED_PROMPT, useEventTracker, } from '../../composables/useEventTracker';
4
4
  import { generateAiModalTr, contentSettingsTr, } from '../../../composables/useTranslate';
5
5
  import { getPlainTextFromRTE } from '../../utils/rich-text-editor.util';
6
6
  import { useUiContentSettingsStore } from '../../../shared/content-settings/store';
@@ -78,36 +78,18 @@ export function useAiTextEditPrompts(options) {
78
78
  const promptKey = buildPromptKey('generateTextPrompt');
79
79
  const prompt = generateAiModalTr(promptKey, getPromptParams(true));
80
80
  options.promptText.value = prompt;
81
- eventTracker.sendWebsiteEvent({
82
- eventName: EVENTS.WEBSITE_MAKER_AI_CLICK_SUGGESTED_PROMPT,
83
- eventProps: {
84
- cta_location: options.ctaLocation.value,
85
- prompt: GENERATE_AI_SUGGESTED_PROMPT.GENERATE_TEXT,
86
- },
87
- });
81
+ eventTracker.sendAiClickSuggestedPromptEvent(options.ctaLocation.value, GENERATE_AI_SUGGESTED_PROMPT.GENERATE_TEXT);
88
82
  };
89
83
  const onImproveTextClick = () => {
90
84
  const promptKey = buildPromptKey('improveTextPrompt');
91
85
  const prompt = generateAiModalTr(promptKey, getPromptParams(false));
92
86
  options.promptText.value = prompt;
93
- eventTracker.sendWebsiteEvent({
94
- eventName: EVENTS.WEBSITE_MAKER_AI_CLICK_SUGGESTED_PROMPT,
95
- eventProps: {
96
- cta_location: options.ctaLocation.value,
97
- prompt: GENERATE_AI_SUGGESTED_PROMPT.IMPROVE_TEXT,
98
- },
99
- });
87
+ eventTracker.sendAiClickSuggestedPromptEvent(options.ctaLocation.value, GENERATE_AI_SUGGESTED_PROMPT.IMPROVE_TEXT);
100
88
  };
101
89
  const onSpellCheckClick = () => {
102
90
  const prompt = generateAiModalTr('spellCheckPrompt');
103
91
  options.promptText.value = prompt;
104
- eventTracker.sendWebsiteEvent({
105
- eventName: EVENTS.WEBSITE_MAKER_AI_CLICK_SUGGESTED_PROMPT,
106
- eventProps: {
107
- cta_location: options.ctaLocation.value,
108
- prompt: GENERATE_AI_SUGGESTED_PROMPT.SPELL_CHECK,
109
- },
110
- });
92
+ eventTracker.sendAiClickSuggestedPromptEvent(options.ctaLocation.value, GENERATE_AI_SUGGESTED_PROMPT.SPELL_CHECK);
111
93
  };
112
94
  // Computed suggested prompts with handlers and disabled states
113
95
  const suggestedPrompts = computed(() => {
@@ -27,7 +27,7 @@ import { AutoLink } from './extensions/AutoLink';
27
27
  import { isHrefPageId, useHyperlink } from './hyperlink';
28
28
  import { useBubbleMenu } from './bubbleMenu';
29
29
  import { hasLogoColorVar, isLogoColor, getRTEColor, } from '@brand-page-maker/utils/rich-text-editor.util';
30
- import { useEventTracker, EVENTS } from '../useEventTracker';
30
+ import { useEventTracker } from '../useEventTracker';
31
31
  export const useExternalRichTextEditor = () => {
32
32
  const externalEditor = new Editor({
33
33
  editable: false,
@@ -521,13 +521,7 @@ export const useRichTextEditor = (model, props, emit, fontSettings, fontStyleDro
521
521
  : 'external_link';
522
522
  switch (action) {
523
523
  case 'toggle':
524
- eventTracker.sendWebsiteEvent({
525
- eventName: EVENTS.WEBSITE_MAKER_HYPERLINK_CLICK,
526
- eventProps: {
527
- link_type: linkType,
528
- content_type: props.contentType,
529
- },
530
- });
524
+ eventTracker.sendMakerHyperlinkClickEvent(linkType, props.contentType);
531
525
  isHyperlinkPopupOpen.value = !isHyperlinkPopupOpen.value;
532
526
  if (isHyperlinkPopupOpen.value) {
533
527
  if (data?.href && data?.text) {
@@ -556,13 +550,7 @@ export const useRichTextEditor = (model, props, emit, fontSettings, fontStyleDro
556
550
  break;
557
551
  case 'apply':
558
552
  // Track Mixpanel event for hyperlink attachment
559
- eventTracker.sendWebsiteEvent({
560
- eventName: EVENTS.WEBSITE_MAKER_HYPERLINK_ADD,
561
- eventProps: {
562
- link_type: linkType,
563
- content_type: props.contentType,
564
- },
565
- });
553
+ eventTracker.sendMakerHyperlinkAddEvent(linkType, props.contentType);
566
554
  const url = hyperlinkValue.value.value;
567
555
  const text = markedText.value;
568
556
  if (!url.trim()) {
@@ -577,13 +565,7 @@ export const useRichTextEditor = (model, props, emit, fontSettings, fontStyleDro
577
565
  isHyperlinkPopupOpen.value = false;
578
566
  break;
579
567
  case 'remove':
580
- eventTracker.sendWebsiteEvent({
581
- eventName: EVENTS.WEBSITE_MAKER_HYPERLINK_REMOVE,
582
- eventProps: {
583
- link_type: linkType,
584
- content_type: props.contentType,
585
- },
586
- });
568
+ eventTracker.sendMakerHyperlinkRemoveEvent(linkType, props.contentType);
587
569
  removeHyperlinkFromComposable();
588
570
  isHyperlinkPopupOpen.value = false;
589
571
  break;
@@ -129,7 +129,6 @@ declare const useEventTracker: () => {
129
129
  setUpsellBridgeState: (props: BpUpsellEventProps) => void;
130
130
  setDomainUpsellBridgeState: (props: BpUpsellEventProps) => void;
131
131
  subscribe: (callbackFn: (event: BpEventTrackerEvent) => void) => void;
132
- sendWebsiteEvent: (event: BpEventTrackerEvent) => void;
133
132
  sendWebsiteMakerOpenEvent: (location: string) => void;
134
133
  sendUpsellOpenEvent: (cta_location?: string) => void;
135
134
  sendDomainUpsellOpenEvent: () => void;
@@ -154,5 +153,19 @@ declare const useEventTracker: () => {
154
153
  sendGenerateTextContinuationEvent: (cta_location: string, continuation: string | null) => void;
155
154
  sendAiSendPromptEvent: (ctaLocation: string) => void;
156
155
  sendAiStopGenerationEvent: (ctaLocation: string) => void;
156
+ sendMakerHyperlinkClickEvent: (linkType: string, contentType: string) => void;
157
+ sendMakerHyperlinkAddEvent: (linkType: string, contentType: string) => void;
158
+ sendMakerHyperlinkRemoveEvent: (linkType: string, contentType: string) => void;
159
+ sendAiClickSuggestedPromptEvent: (ctaLocation: string, prompt: string) => void;
160
+ sendAiCopyResponseEvent: (ctaLocation: string) => void;
161
+ sendAiRegenerateTextEvent: (ctaLocation: string) => void;
162
+ sendMakerSelectContentEvent: (contentCategory: string, contentType: string, selectLocation: string) => void;
163
+ sendMakerAddContentEvent: (contentCategory: string, contentType: string, selectLocation: string) => void;
164
+ sendMakerRemoveContentEvent: (contentCategory: string, contentType: string, selectLocation: string) => void;
165
+ sendMakerSwitchLogoEvent: (selectLocation: string) => void;
166
+ sendMakerSwitchLogoModalEvent: (selectLocation: string, continuation?: string) => void;
167
+ sendMakerCalendlyLinkClickedEvent: () => void;
168
+ sendDigitalBusinessCardsSaveContactToggleEvent: (ctaLocation: string, toggleValue: 'enabled' | 'disabled') => void;
169
+ sendDigitalBusinessCardsHidePopupEvent: (ctaLocation: string, toggleValue: 'enabled' | 'disabled') => void;
157
170
  };
158
171
  export { useEventTracker };
@@ -172,10 +172,6 @@ const useEventTracker = () => {
172
172
  subscribe: (callbackFn) => {
173
173
  LISTENERS.value.push(callbackFn);
174
174
  },
175
- // Publish event to subscriber
176
- sendWebsiteEvent: (event) => {
177
- _publishEvent(event.eventName, event.eventProps);
178
- },
179
175
  // Open post or pre purchase maker
180
176
  sendWebsiteMakerOpenEvent: (location) => {
181
177
  _publishEvent(EVENTS.WEBSITE_MAKER_OPEN, {
@@ -314,6 +310,91 @@ const useEventTracker = () => {
314
310
  cta_location: ctaLocation,
315
311
  });
316
312
  },
313
+ // Hyperlink events
314
+ sendMakerHyperlinkClickEvent: (linkType, contentType) => {
315
+ _publishEvent(EVENTS.WEBSITE_MAKER_HYPERLINK_CLICK, {
316
+ link_type: linkType,
317
+ content_type: contentType,
318
+ });
319
+ },
320
+ sendMakerHyperlinkAddEvent: (linkType, contentType) => {
321
+ _publishEvent(EVENTS.WEBSITE_MAKER_HYPERLINK_ADD, {
322
+ link_type: linkType,
323
+ content_type: contentType,
324
+ });
325
+ },
326
+ sendMakerHyperlinkRemoveEvent: (linkType, contentType) => {
327
+ _publishEvent(EVENTS.WEBSITE_MAKER_HYPERLINK_REMOVE, {
328
+ link_type: linkType,
329
+ content_type: contentType,
330
+ });
331
+ },
332
+ // AI suggested prompt
333
+ sendAiClickSuggestedPromptEvent: (ctaLocation, prompt) => {
334
+ _publishEvent(EVENTS.WEBSITE_MAKER_AI_CLICK_SUGGESTED_PROMPT, {
335
+ cta_location: ctaLocation,
336
+ prompt,
337
+ });
338
+ },
339
+ // AI modal events
340
+ sendAiCopyResponseEvent: (ctaLocation) => {
341
+ _publishEvent(EVENTS.WEBSITE_MAKER_AI_COPY_RESPONSE, {
342
+ cta_location: ctaLocation,
343
+ });
344
+ },
345
+ sendAiRegenerateTextEvent: (ctaLocation) => {
346
+ _publishEvent(EVENTS.WEBSITE_MAKER_AI_REGENERATE_TEXT, {
347
+ cta_location: ctaLocation,
348
+ });
349
+ },
350
+ // Content management
351
+ sendMakerSelectContentEvent: (contentCategory, contentType, selectLocation) => {
352
+ _publishEvent(EVENTS.WEBSITE_MAKER_SELECT_CONTENT, {
353
+ content_category: contentCategory,
354
+ content_type: contentType,
355
+ select_location: selectLocation,
356
+ });
357
+ },
358
+ sendMakerAddContentEvent: (contentCategory, contentType, selectLocation) => {
359
+ _publishEvent(EVENTS.WEBSITE_MAKER_ADD_CONTENT, {
360
+ content_category: contentCategory,
361
+ content_type: contentType,
362
+ select_location: selectLocation,
363
+ });
364
+ },
365
+ sendMakerRemoveContentEvent: (contentCategory, contentType, selectLocation) => {
366
+ _publishEvent(EVENTS.WEBSITE_MAKER_REMOVE_CONTENT, {
367
+ content_category: contentCategory,
368
+ content_type: contentType,
369
+ select_location: selectLocation,
370
+ });
371
+ },
372
+ // Logo events
373
+ sendMakerSwitchLogoEvent: (selectLocation) => {
374
+ _publishEvent(EVENTS.WEBSITE_MAKER_SWITCH_LOGO, {
375
+ select_location: selectLocation,
376
+ });
377
+ },
378
+ sendMakerSwitchLogoModalEvent: (selectLocation, continuation) => {
379
+ _publishEvent(EVENTS.WEBSITE_MAKER_SWITCH_LOGO_MODAL, {
380
+ select_location: selectLocation,
381
+ ...(continuation !== undefined && { continuation }),
382
+ });
383
+ },
384
+ // Booking URL
385
+ sendMakerCalendlyLinkClickedEvent: () => {
386
+ _publishEvent(EVENTS.WEBSITE_MAKER_CALENDLY_LINK_CLICKED, {});
387
+ },
388
+ // Digital Business Cards
389
+ sendDigitalBusinessCardsSaveContactToggleEvent: (ctaLocation, toggleValue) => {
390
+ _publishEvent(EVENTS.WEBSITE_MAKER_DIGITAL_BUSINESS_CARDS_SAVE_CONTACT_TOGGLE, { cta_location: ctaLocation, toggle_value: toggleValue });
391
+ },
392
+ sendDigitalBusinessCardsHidePopupEvent: (ctaLocation, toggleValue) => {
393
+ _publishEvent(EVENTS.WEBSITE_MAKER_DIGITAL_BUSINESS_CARDS_HIDE_POPUP, {
394
+ cta_location: ctaLocation,
395
+ toggle_value: toggleValue,
396
+ });
397
+ },
317
398
  ...gettyVideoEvents,
318
399
  ...publishedWebsiteEvents,
319
400
  sendShippingToggleEvent: (isEnabled) => {
@@ -6212,32 +6212,29 @@ select[data-v-534cad39] {
6212
6212
  /* mob_img--left - image for display left (should only show on mobile) */
6213
6213
  /* mob_img--right - image for display right (should only show on mobile) */
6214
6214
  /* top-img--center - image for display centered*/
6215
- .about-container[data-v-e757d2ee] {
6215
+ .about-container[data-v-ffedbb40] {
6216
6216
  max-width: var(--brandsite-max-width);
6217
6217
  margin: 0 auto;
6218
6218
  }
6219
- .side-full-media-container[data-v-e757d2ee] {
6220
- max-width: 100% !important;
6221
- }
6222
- .about-container--padding[data-v-e757d2ee] {
6219
+ .about-container--padding[data-v-ffedbb40] {
6223
6220
  padding-left: var(--page-padding);
6224
6221
  padding-right: var(--page-padding);
6225
6222
  }
6226
- .device-wrapper--mobile .about-container[data-v-e757d2ee] .mob_img--left {
6223
+ .device-wrapper--mobile .about-container[data-v-ffedbb40] .mob_img--left {
6227
6224
  display: grid;
6228
6225
  width: 100%;
6229
6226
  }
6230
- .device-wrapper--mobile .about-container[data-v-e757d2ee] .mob_img--right {
6227
+ .device-wrapper--mobile .about-container[data-v-ffedbb40] .mob_img--right {
6231
6228
  display: grid;
6232
6229
  width: 100%;
6233
6230
  }
6234
- .device-wrapper--mobile .about-body-text[data-v-e757d2ee] {
6231
+ .device-wrapper--mobile .about-body-text[data-v-ffedbb40] {
6235
6232
  display: block;
6236
6233
  }
6237
- .device-wrapper--mobile .about-container[data-v-e757d2ee] .img--left-right {
6234
+ .device-wrapper--mobile .about-container[data-v-ffedbb40] .img--left-right {
6238
6235
  display: none;
6239
6236
  }
6240
- .device-wrapper--mobile .about-container[data-v-e757d2ee] .container-image {
6237
+ .device-wrapper--mobile .about-container[data-v-ffedbb40] .container-image {
6241
6238
  -o-object-fit: cover;
6242
6239
  object-fit: cover;
6243
6240
  aspect-ratio: 1/1;
@@ -6245,24 +6242,24 @@ select[data-v-534cad39] {
6245
6242
  max-width: -moz-max-content;
6246
6243
  max-width: max-content;
6247
6244
  }
6248
- .device-wrapper--mobile .mobile-about-container--padding[data-v-e757d2ee] {
6245
+ .device-wrapper--mobile .mobile-about-container--padding[data-v-ffedbb40] {
6249
6246
  padding-left: var(--page-padding);
6250
6247
  padding-right: var(--page-padding);
6251
6248
  padding-top: 2.5rem;
6252
6249
  padding-bottom: 2.5rem;
6253
6250
  }
6254
- .device-wrapper--mobile .text-grid-column[data-v-e757d2ee] {
6251
+ .device-wrapper--mobile .text-grid-column[data-v-ffedbb40] {
6255
6252
  display: grid;
6256
6253
  grid-template-columns: repeat(2, 1fr);
6257
6254
  grid-template-columns: 1fr;
6258
6255
  }
6259
- .device-wrapper--mobile .full-square-image[data-v-e757d2ee] {
6256
+ .device-wrapper--mobile .full-square-image[data-v-ffedbb40] {
6260
6257
  margin-bottom: 1rem;
6261
6258
  }
6262
- .device-wrapper--mobile .about-container[data-v-e757d2ee] .about-placeholder {
6259
+ .device-wrapper--mobile .about-container[data-v-ffedbb40] .about-placeholder {
6263
6260
  width: 100%;
6264
6261
  }
6265
- .about-container[data-v-e757d2ee] .top-img--center {
6262
+ .about-container[data-v-ffedbb40] .top-img--center {
6266
6263
  display: grid;
6267
6264
  aspect-ratio: 3/1;
6268
6265
  width: 100%;
@@ -6271,8 +6268,8 @@ select[data-v-534cad39] {
6271
6268
  -o-object-position: center;
6272
6269
  object-position: center;
6273
6270
  }
6274
- .about-container[data-v-e757d2ee] .mob_img--left,
6275
- .about-container[data-v-e757d2ee] .mob_img--right {
6271
+ .about-container[data-v-ffedbb40] .mob_img--left,
6272
+ .about-container[data-v-ffedbb40] .mob_img--right {
6276
6273
  padding-top: 1rem;
6277
6274
  padding-bottom: 1rem;
6278
6275
  aspect-ratio: 1/1;
@@ -6282,23 +6279,23 @@ select[data-v-534cad39] {
6282
6279
  object-position: center;
6283
6280
  width: 100%;
6284
6281
  }
6285
- .container-grid-columns[data-v-e757d2ee] {
6282
+ .container-grid-columns[data-v-ffedbb40] {
6286
6283
  display: grid;
6287
6284
  grid-template-columns: repeat(2, 1fr);
6288
6285
  }
6289
- .about-container[data-v-e757d2ee] .full-square-image {
6286
+ .about-container[data-v-ffedbb40] .full-square-image {
6290
6287
  width: 100%;
6291
6288
  aspect-ratio: 1/1;
6292
6289
  -o-object-fit: cover;
6293
6290
  object-fit: cover;
6294
6291
  }
6295
- .grid-reverse-direction[data-v-e757d2ee] {
6292
+ .grid-reverse-direction[data-v-ffedbb40] {
6296
6293
  direction: rtl;
6297
6294
  }
6298
- .grid-direction-ltr[data-v-e757d2ee] {
6295
+ .grid-direction-ltr[data-v-ffedbb40] {
6299
6296
  direction: ltr;
6300
6297
  }
6301
- .about-container[data-v-e757d2ee] .container-image {
6298
+ .about-container[data-v-ffedbb40] .container-image {
6302
6299
  margin-bottom: 1rem;
6303
6300
  display: grid;
6304
6301
  max-width: 20rem;
@@ -6308,34 +6305,34 @@ select[data-v-534cad39] {
6308
6305
  height: fit-content;
6309
6306
  }
6310
6307
  @media (max-width: 767px) {
6311
- .about-container[data-v-e757d2ee] .mob_img--left {
6308
+ .about-container[data-v-ffedbb40] .mob_img--left {
6312
6309
  display: block;
6313
6310
  width: 100%;
6314
6311
  }
6315
- .about-container[data-v-e757d2ee] .mob_img--right {
6312
+ .about-container[data-v-ffedbb40] .mob_img--right {
6316
6313
  display: grid;
6317
6314
  }
6318
- .about-container[data-v-e757d2ee] .img--left-right {
6315
+ .about-container[data-v-ffedbb40] .img--left-right {
6319
6316
  display: none;
6320
6317
  }
6321
- .about-body-text[data-v-e757d2ee] {
6318
+ .about-body-text[data-v-ffedbb40] {
6322
6319
  display: block;
6323
6320
  }
6324
- .about-container[data-v-e757d2ee] .about-placeholder {
6321
+ .about-container[data-v-ffedbb40] .about-placeholder {
6325
6322
  width: 100%;
6326
6323
  }
6327
- .text-grid-column[data-v-e757d2ee] {
6324
+ .text-grid-column[data-v-ffedbb40] {
6328
6325
  display: grid;
6329
6326
  grid-template-columns: repeat(2, 1fr);
6330
6327
  grid-template-columns: 1fr;
6331
6328
  }
6332
- .mobile-about-container--padding[data-v-e757d2ee] {
6329
+ .mobile-about-container--padding[data-v-ffedbb40] {
6333
6330
  padding-left: var(--page-padding);
6334
6331
  padding-right: var(--page-padding);
6335
6332
  padding-top: 2.5rem;
6336
6333
  padding-bottom: 2.5rem;
6337
6334
  }
6338
- .about-container[data-v-e757d2ee] .container-image {
6335
+ .about-container[data-v-ffedbb40] .container-image {
6339
6336
  aspect-ratio: 1/1;
6340
6337
  -o-object-fit: cover;
6341
6338
  object-fit: cover;
@@ -6343,23 +6340,23 @@ select[data-v-534cad39] {
6343
6340
  max-width: -moz-max-content;
6344
6341
  max-width: max-content;
6345
6342
  }
6346
- .about-container[data-v-e757d2ee] .full-square-image {
6343
+ .about-container[data-v-ffedbb40] .full-square-image {
6347
6344
  margin-bottom: 1rem;
6348
6345
  }
6349
6346
  }
6350
6347
  @media (min-width: 767px) {
6351
- .about-container[data-v-e757d2ee] .mob_img--right,
6352
- .about-container[data-v-e757d2ee] .mob_img--left {
6348
+ .about-container[data-v-ffedbb40] .mob_img--right,
6349
+ .about-container[data-v-ffedbb40] .mob_img--left {
6353
6350
  display: none;
6354
6351
  }
6355
- .about-container[data-v-e757d2ee] .img--left-right {
6352
+ .about-container[data-v-ffedbb40] .img--left-right {
6356
6353
  display: grid;
6357
6354
  }
6358
- .text-grid-column[data-v-e757d2ee] {
6355
+ .text-grid-column[data-v-ffedbb40] {
6359
6356
  display: grid;
6360
6357
  grid-template-columns: repeat(2, 1fr);
6361
6358
  }
6362
- .about-container[data-v-e757d2ee] .container-image {
6359
+ .about-container[data-v-ffedbb40] .container-image {
6363
6360
  aspect-ratio: auto;
6364
6361
  }
6365
6362
  }