@designcrowd/library.brand-page 6.1.14 → 6.1.15

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-CNqGW-GB.js → CreatedOnBrandCrowd-de-de-a7cNT5AA.js} +1 -1
  2. package/lib/src/{CreatedOnBrandCrowd-en-us-BWZeor_R.js → CreatedOnBrandCrowd-en-us-BpZ89I9T.js} +1 -1
  3. package/lib/src/{CreatedOnBrandCrowd-es-es-D_-5Qdpd.js → CreatedOnBrandCrowd-es-es-Db0Ot-mQ.js} +1 -1
  4. package/lib/src/{CreatedOnBrandCrowd-fr-fr-BC6Xo2uA.js → CreatedOnBrandCrowd-fr-ca-Mbd7Hhxh.js} +1 -1
  5. package/lib/src/{CreatedOnBrandCrowd-fr-ca-BC6Xo2uA.js → CreatedOnBrandCrowd-fr-fr-Mbd7Hhxh.js} +1 -1
  6. package/lib/src/{CreatedOnBrandCrowd-pt-pt-D10DwNv3.js → CreatedOnBrandCrowd-pt-br-B98aoT6y.js} +1 -1
  7. package/lib/src/{CreatedOnBrandCrowd-pt-br-D10DwNv3.js → CreatedOnBrandCrowd-pt-pt-B98aoT6y.js} +1 -1
  8. package/lib/src/{CreatedOnDcom-de-de-BDHrHOOB.js → CreatedOnDcom-de-de-b_GUYmhX.js} +1 -1
  9. package/lib/src/{CreatedOnDcom-en-us-EbniAwLE.js → CreatedOnDcom-en-us-BtTIwekM.js} +1 -1
  10. package/lib/src/{CreatedOnDcom-es-es-BpAIMuUH.js → CreatedOnDcom-es-es-WbhHNEg-.js} +1 -1
  11. package/lib/src/{CreatedOnDcom-fr-ca-BDSu4efU.js → CreatedOnDcom-fr-ca-DnQOAvS5.js} +1 -1
  12. package/lib/src/{CreatedOnDcom-fr-fr-BR7f1SWB.js → CreatedOnDcom-fr-fr-D7Q-aBNQ.js} +1 -1
  13. package/lib/src/{CreatedOnDcom-pt-br-DzY1XBcr.js → CreatedOnDcom-pt-br-DnqkF_ve.js} +1 -1
  14. package/lib/src/{CreatedOnDcom-pt-pt-1v5N9vgW.js → CreatedOnDcom-pt-pt-DNyyHF1o.js} +1 -1
  15. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.js +4 -1
  16. package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +3 -0
  17. package/lib/src/brand-page-maker/composables/useEventTracker.d.ts +15 -0
  18. package/lib/src/brand-page-maker/composables/useEventTracker.js +36 -0
  19. package/lib/src/index.mjs +2 -2
  20. package/lib/src/{lib-BMP5cseh.js → lib-33AmrlUy.js} +14282 -14271
  21. package/lib/src/metadata-builder/builders/reorder-pages-builder.d.ts +13 -0
  22. package/lib/src/metadata-builder/builders/reorder-pages-builder.js +49 -0
  23. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts +3 -0
  24. package/lib/src/shared/content-settings/components/content-settings/ReplaceImageSettingsForContent.mixin.d.ts +3 -0
  25. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.d.ts +3 -0
  26. package/lib/src/shared/logo-settings/components/EditLogoSettings.mixin.d.ts +3 -0
  27. package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +3 -0
  28. package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.d.ts +3 -0
  29. package/lib/src/shared/side-bar/components/SideBarTabButton.mixin.d.ts +3 -0
  30. package/lib/src/shared/style-settings/components/StyleSettings.mixin.d.ts +3 -0
  31. package/lib/src/shared/template-settings/components/TemplatesSettings.mixin.d.ts +3 -0
  32. package/lib/src/tracker.d.ts +1 -1
  33. package/lib/src/tracker.js +1 -1
  34. package/lib/src/tracker.mjs +9 -7
  35. package/lib/src/{useEventTracker-Dmc2jFdN.js → useEventTracker-C5Ql5p7u.js} +56 -22
  36. package/package.json +1 -1
  37. package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.ts +9 -1
  38. package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.preview-gate.test.ts +38 -1
  39. package/src/brand-page-maker/components/preview-modal/PreviewModalWithState.test.ts +123 -0
  40. package/src/brand-page-maker/components/preview-modal/PreviewModalWithState.vue +25 -0
  41. package/src/brand-page-maker/composables/useEventTracker.ts +41 -0
  42. package/src/metadata-builder/builders/reorder-pages-builder.ts +80 -0
  43. package/src/tracker.ts +2 -0
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-BMP5cseh.js";
2
+ import { _ as t } from "./lib-33AmrlUy.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-BMP5cseh.js";
2
+ import { _ as t } from "./lib-33AmrlUy.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-BMP5cseh.js";
2
+ import { _ as t } from "./lib-33AmrlUy.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-BMP5cseh.js";
2
+ import { _ as t } from "./lib-33AmrlUy.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-BMP5cseh.js";
2
+ import { _ as t } from "./lib-33AmrlUy.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-BMP5cseh.js";
2
+ import { _ as t } from "./lib-33AmrlUy.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-BMP5cseh.js";
2
+ import { _ as t } from "./lib-33AmrlUy.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-BMP5cseh.js";
2
+ import { _ as e } from "./lib-33AmrlUy.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-BMP5cseh.js";
2
+ import { _ as e } from "./lib-33AmrlUy.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-BMP5cseh.js";
2
+ import { _ as e } from "./lib-33AmrlUy.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-BMP5cseh.js";
2
+ import { _ as e } from "./lib-33AmrlUy.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-BMP5cseh.js";
2
+ import { _ as e } from "./lib-33AmrlUy.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-BMP5cseh.js";
2
+ import { _ as M } from "./lib-33AmrlUy.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-BMP5cseh.js";
2
+ import { _ as M } from "./lib-33AmrlUy.js";
3
3
  const Z = {}, e = {
4
4
  width: "232",
5
5
  height: "36",
@@ -22,7 +22,7 @@ import { FabricRenderClient } from '../../../clients/fabric-render-client';
22
22
  import AssetLibraryClient from '../../../clients/asset-library-clients';
23
23
  import { useShopConfigStore } from '@shared/ecommerce-settings/store/shop-settings-store';
24
24
  import { useProductConfigStore } from '@brand-page-maker/stores/product-config/product-config-store';
25
- import { UPGRADE_CTA_LOCATIONS } from '../../composables/useEventTracker';
25
+ import { useEventTracker, UPGRADE_CTA_LOCATIONS, PREVIEW_CTA_LOCATIONS, } from '../../composables/useEventTracker';
26
26
  import { commonTr } from '@src/composables/useTranslate';
27
27
  import { useSnapshot } from '../../../composables/useSnapshot';
28
28
  import { usePageNavigationStore } from '@src/shared/page-navigation/store/page-navigation-store';
@@ -340,6 +340,9 @@ export default defineComponent({
340
340
  this.$emit(EVENTS.Back);
341
341
  },
342
342
  onPreview() {
343
+ // Every click is counted, before the gating below — the modal-open event
344
+ // fires separately, so click → open reads as a funnel.
345
+ useEventTracker().sendPreviewClickEvent(PREVIEW_CTA_LOCATIONS.MAKER);
343
346
  // The preview frames a SAVED, owned draft. A signed-out customer can't have
344
347
  // one, and the save needs an owner — so sign-in comes first, via the host's
345
348
  // Save Progress flow.
@@ -1152,6 +1152,9 @@ declare const _default: import("vue").DefineComponent<{}, {
1152
1152
  }>;
1153
1153
  eventTracker: {
1154
1154
  sendShippingToggleEvent: (isEnabled: boolean) => void;
1155
+ sendPreviewClickEvent: (ctaLocation: string) => void;
1156
+ sendPreviewModalOpenEvent: (ctaLocation: string) => void;
1157
+ sendPreviewModalContinuationEvent: (continuation: string, ctaLocation: string) => void;
1155
1158
  sendUndoEvent: (props: {
1156
1159
  entries_count: number;
1157
1160
  actor: string | undefined;
@@ -59,6 +59,18 @@ export declare const EVENTS: {
59
59
  WEBSITE_MAKER_REDO: string;
60
60
  WEBSITE_MAKER_HISTORY_CAPPED: string;
61
61
  WEBSITE_MAKER_HISTORY_OVERSIZED: string;
62
+ WEBSITE_MAKER_LIVE_PREVIEW_CLICK: string;
63
+ WEBSITE_MAKER_LIVE_PREVIEW_MODAL: string;
64
+ };
65
+ export declare const PREVIEW_CTA_LOCATIONS: {
66
+ MAKER: string;
67
+ MANAGE_WEBSITE: string;
68
+ };
69
+ export declare const PREVIEW_MODAL_CONTINUATION_EVENTS: {
70
+ EXIT: string;
71
+ BACK_TO_EDITOR: string;
72
+ EDIT: string;
73
+ PUBLISH: string;
62
74
  };
63
75
  export declare const SELECT_LOCATIONS: {
64
76
  MAKER_PREVIEW: string;
@@ -113,6 +125,9 @@ export declare const PUBLISH_OPTION_MODAL_CONTINUATION_EVENTS: {
113
125
  };
114
126
  declare const useEventTracker: () => {
115
127
  sendShippingToggleEvent: (isEnabled: boolean) => void;
128
+ sendPreviewClickEvent: (ctaLocation: string) => void;
129
+ sendPreviewModalOpenEvent: (ctaLocation: string) => void;
130
+ sendPreviewModalContinuationEvent: (continuation: string, ctaLocation: string) => void;
116
131
  sendUndoEvent: (props: {
117
132
  entries_count: number;
118
133
  actor: string | undefined;
@@ -40,6 +40,22 @@ export const EVENTS = {
40
40
  WEBSITE_MAKER_REDO: 'website_maker_redo',
41
41
  WEBSITE_MAKER_HISTORY_CAPPED: 'website_maker_history_capped',
42
42
  WEBSITE_MAKER_HISTORY_OVERSIZED: 'website_maker_history_oversized',
43
+ WEBSITE_MAKER_LIVE_PREVIEW_CLICK: 'website_maker_live_preview_click',
44
+ WEBSITE_MAKER_LIVE_PREVIEW_MODAL: 'website_maker_live_preview_modal',
45
+ };
46
+ // The global `location` prop already means pre/post purchase, so the surface a
47
+ // preview was launched from rides on cta_location, reusing existing values.
48
+ export const PREVIEW_CTA_LOCATIONS = {
49
+ MAKER: 'maker',
50
+ MANAGE_WEBSITE: 'manage_website',
51
+ };
52
+ export const PREVIEW_MODAL_CONTINUATION_EVENTS = {
53
+ EXIT: 'exit',
54
+ // The same button reads "Back to Editor" on the editor and "Edit" on other
55
+ // surfaces — the continuation mirrors the label the user actually clicked.
56
+ BACK_TO_EDITOR: 'back_to_editor',
57
+ EDIT: 'edit',
58
+ PUBLISH: 'publish',
43
59
  };
44
60
  export const SELECT_LOCATIONS = {
45
61
  MAKER_PREVIEW: 'maker_preview',
@@ -327,6 +343,26 @@ const useEventTracker = () => {
327
343
  is_enabled: isEnabled,
328
344
  });
329
345
  },
346
+ // Live preview: the click is tracked separately from the modal opening —
347
+ // sign-in/save gating means a click doesn't always open the modal, and the
348
+ // post-sign-in return trip opens it without a click.
349
+ sendPreviewClickEvent: (ctaLocation) => {
350
+ _publishEvent(EVENTS.WEBSITE_MAKER_LIVE_PREVIEW_CLICK, {
351
+ cta_location: ctaLocation,
352
+ });
353
+ },
354
+ sendPreviewModalOpenEvent: (ctaLocation) => {
355
+ _publishEvent(EVENTS.WEBSITE_MAKER_LIVE_PREVIEW_MODAL, {
356
+ cta_location: ctaLocation,
357
+ continuation: null,
358
+ });
359
+ },
360
+ sendPreviewModalContinuationEvent: (continuation, ctaLocation) => {
361
+ _publishEvent(EVENTS.WEBSITE_MAKER_LIVE_PREVIEW_MODAL, {
362
+ cta_location: ctaLocation,
363
+ continuation,
364
+ });
365
+ },
330
366
  // Undo / Redo (BP-5506)
331
367
  sendUndoEvent: (props) => {
332
368
  _publishEvent(EVENTS.WEBSITE_MAKER_UNDO, props);
package/lib/src/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
- import { A as s, a as I, b as S, c as N, d as e, e as A, f as O, B as t, g as C, h as D, i as G, j as P, k as R, l as o, m as L, n as M, o as r, p as n, q as i, r as l, s as b, t as c, u as F, v as g, w as B, x as Y, y as U, z as d, C as u, D as H, E as p, F as y, G as m, H as K, I as k, J as V, K as v, L as X, M as h, N as f, O as x, P as W, Q as z, R as w, S as J, T as Z, U as j, V as q, W as Q, X as $, Y as aa, Z as Ea, $ as _a, a0 as Ta, a1 as sa, a2 as Ia, a3 as Sa, a4 as Na, a5 as ea, a6 as Aa, a7 as Oa, a8 as ta, a9 as Ca, aa as Da, ab as Ga, ac as Pa, ad as Ra, ae as oa, af as La, ag as Ma, ah as ra, ai as na, aj as ia, ak as la, al as ba, am as ca, an as Fa, ao as ga, ap as Ba, aq as Ya, ar as Ua, as as da, at as ua, au as Ha, av as pa, aw as ya, ax as ma, ay as Ka, az as ka, aA as Va, aB as va, aC as Xa, aD as ha, aE as fa, aF as xa, aG as Wa, aH as za, aI as wa, aJ as Ja, aK as Za, aL as ja, aM as qa, aN as Qa, aO as $a, aP as aE, aQ as EE, aR as _E, aS as TE, aT as sE, aU as IE, aV as SE, aW as NE, aX as eE, aY as AE, aZ as OE, a_ as tE, a$ as CE, b0 as DE, b1 as GE, b2 as PE, b3 as RE, b4 as oE, b5 as LE, b6 as ME, b7 as rE, b8 as nE, b9 as iE, ba as lE, bb as bE, bc as cE, bd as FE, be as gE, bf as BE, bg as YE, bh as UE, bi as dE, bj as uE, bk as HE, bl as pE, bm as yE, bn as mE, bo as KE, bp as kE, bq as VE, br as vE, bs as XE, bt as hE, bu as fE, bv as xE, bw as WE, bx as zE, by as wE, bz as JE, bA as ZE, bB as jE, bC as qE, bD as QE, bE as $E, bF as a_, bG as E_, bH as __, bI as T_, bJ as s_, bK as I_, bL as S_, bM as N_, bN as e_, bO as A_, bP as O_, bQ as t_, bR as C_, bS as D_, bT as G_, bU as P_, bV as R_, bW as o_, bX as L_, bY as M_, bZ as r_, b_ as n_, b$ as i_, c0 as l_, c1 as b_, c2 as c_, c3 as F_, c4 as g_, c5 as B_, c6 as Y_, c7 as U_, c8 as d_, c9 as u_, ca as H_, cb as p_, cc as y_, cd as m_, ce as K_, cf as k_, cg as V_, ch as v_, ci as X_, cj as h_, ck as f_, cl as x_, cm as W_, cn as z_, co as w_, cp as J_, cq as Z_, cr as j_, cs as q_, ct as Q_, cu as $_, cv as aT, cw as ET, cx as _T, cy as TT, cz as sT, cA as IT, cB as ST, cC as NT, cD as eT } from "./lib-BMP5cseh.js";
2
- import { U as OT, u as tT } from "./useEventTracker-Dmc2jFdN.js";
1
+ import { A as s, a as I, b as S, c as N, d as e, e as A, f as O, B as t, g as C, h as D, i as G, j as P, k as R, l as o, m as L, n as M, o as r, p as n, q as i, r as l, s as b, t as c, u as F, v as g, w as B, x as Y, y as U, z as d, C as u, D as H, E as p, F as y, G as m, H as K, I as k, J as V, K as v, L as X, M as h, N as f, O as x, P as W, Q as z, R as w, S as J, T as Z, U as j, V as q, W as Q, X as $, Y as aa, Z as Ea, $ as _a, a0 as Ta, a1 as sa, a2 as Ia, a3 as Sa, a4 as Na, a5 as ea, a6 as Aa, a7 as Oa, a8 as ta, a9 as Ca, aa as Da, ab as Ga, ac as Pa, ad as Ra, ae as oa, af as La, ag as Ma, ah as ra, ai as na, aj as ia, ak as la, al as ba, am as ca, an as Fa, ao as ga, ap as Ba, aq as Ya, ar as Ua, as as da, at as ua, au as Ha, av as pa, aw as ya, ax as ma, ay as Ka, az as ka, aA as Va, aB as va, aC as Xa, aD as ha, aE as fa, aF as xa, aG as Wa, aH as za, aI as wa, aJ as Ja, aK as Za, aL as ja, aM as qa, aN as Qa, aO as $a, aP as aE, aQ as EE, aR as _E, aS as TE, aT as sE, aU as IE, aV as SE, aW as NE, aX as eE, aY as AE, aZ as OE, a_ as tE, a$ as CE, b0 as DE, b1 as GE, b2 as PE, b3 as RE, b4 as oE, b5 as LE, b6 as ME, b7 as rE, b8 as nE, b9 as iE, ba as lE, bb as bE, bc as cE, bd as FE, be as gE, bf as BE, bg as YE, bh as UE, bi as dE, bj as uE, bk as HE, bl as pE, bm as yE, bn as mE, bo as KE, bp as kE, bq as VE, br as vE, bs as XE, bt as hE, bu as fE, bv as xE, bw as WE, bx as zE, by as wE, bz as JE, bA as ZE, bB as jE, bC as qE, bD as QE, bE as $E, bF as a_, bG as E_, bH as __, bI as T_, bJ as s_, bK as I_, bL as S_, bM as N_, bN as e_, bO as A_, bP as O_, bQ as t_, bR as C_, bS as D_, bT as G_, bU as P_, bV as R_, bW as o_, bX as L_, bY as M_, bZ as r_, b_ as n_, b$ as i_, c0 as l_, c1 as b_, c2 as c_, c3 as F_, c4 as g_, c5 as B_, c6 as Y_, c7 as U_, c8 as d_, c9 as u_, ca as H_, cb as p_, cc as y_, cd as m_, ce as K_, cf as k_, cg as V_, ch as v_, ci as X_, cj as h_, ck as f_, cl as x_, cm as W_, cn as z_, co as w_, cp as J_, cq as Z_, cr as j_, cs as q_, ct as Q_, cu as $_, cv as aT, cw as ET, cx as _T, cy as TT, cz as sT, cA as IT, cB as ST, cC as NT, cD as eT } from "./lib-33AmrlUy.js";
2
+ import { U as OT, u as tT } from "./useEventTracker-C5Ql5p7u.js";
3
3
  import "vue";
4
4
  import "vue-cropperjs";
5
5
  import { createPinia as DT, setActivePinia as GT } from "pinia";