@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.
- package/lib/src/{CreatedOnBrandCrowd-de-de-CNqGW-GB.js → CreatedOnBrandCrowd-de-de-a7cNT5AA.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-en-us-BWZeor_R.js → CreatedOnBrandCrowd-en-us-BpZ89I9T.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-es-es-D_-5Qdpd.js → CreatedOnBrandCrowd-es-es-Db0Ot-mQ.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-fr-BC6Xo2uA.js → CreatedOnBrandCrowd-fr-ca-Mbd7Hhxh.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-ca-BC6Xo2uA.js → CreatedOnBrandCrowd-fr-fr-Mbd7Hhxh.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-pt-D10DwNv3.js → CreatedOnBrandCrowd-pt-br-B98aoT6y.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-br-D10DwNv3.js → CreatedOnBrandCrowd-pt-pt-B98aoT6y.js} +1 -1
- package/lib/src/{CreatedOnDcom-de-de-BDHrHOOB.js → CreatedOnDcom-de-de-b_GUYmhX.js} +1 -1
- package/lib/src/{CreatedOnDcom-en-us-EbniAwLE.js → CreatedOnDcom-en-us-BtTIwekM.js} +1 -1
- package/lib/src/{CreatedOnDcom-es-es-BpAIMuUH.js → CreatedOnDcom-es-es-WbhHNEg-.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-ca-BDSu4efU.js → CreatedOnDcom-fr-ca-DnQOAvS5.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-fr-BR7f1SWB.js → CreatedOnDcom-fr-fr-D7Q-aBNQ.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-br-DzY1XBcr.js → CreatedOnDcom-pt-br-DnqkF_ve.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-pt-1v5N9vgW.js → CreatedOnDcom-pt-pt-DNyyHF1o.js} +1 -1
- package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.js +4 -1
- package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +3 -0
- package/lib/src/brand-page-maker/composables/useEventTracker.d.ts +15 -0
- package/lib/src/brand-page-maker/composables/useEventTracker.js +36 -0
- package/lib/src/index.mjs +2 -2
- package/lib/src/{lib-BMP5cseh.js → lib-33AmrlUy.js} +14282 -14271
- package/lib/src/metadata-builder/builders/reorder-pages-builder.d.ts +13 -0
- package/lib/src/metadata-builder/builders/reorder-pages-builder.js +49 -0
- package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts +3 -0
- package/lib/src/shared/content-settings/components/content-settings/ReplaceImageSettingsForContent.mixin.d.ts +3 -0
- package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.d.ts +3 -0
- package/lib/src/shared/logo-settings/components/EditLogoSettings.mixin.d.ts +3 -0
- package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +3 -0
- package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.d.ts +3 -0
- package/lib/src/shared/side-bar/components/SideBarTabButton.mixin.d.ts +3 -0
- package/lib/src/shared/style-settings/components/StyleSettings.mixin.d.ts +3 -0
- package/lib/src/shared/template-settings/components/TemplatesSettings.mixin.d.ts +3 -0
- package/lib/src/tracker.d.ts +1 -1
- package/lib/src/tracker.js +1 -1
- package/lib/src/tracker.mjs +9 -7
- package/lib/src/{useEventTracker-Dmc2jFdN.js → useEventTracker-C5Ql5p7u.js} +56 -22
- package/package.json +1 -1
- package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.ts +9 -1
- package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.preview-gate.test.ts +38 -1
- package/src/brand-page-maker/components/preview-modal/PreviewModalWithState.test.ts +123 -0
- package/src/brand-page-maker/components/preview-modal/PreviewModalWithState.vue +25 -0
- package/src/brand-page-maker/composables/useEventTracker.ts +41 -0
- package/src/metadata-builder/builders/reorder-pages-builder.ts +80 -0
- package/src/tracker.ts +2 -0
|
@@ -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.
|
package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts
CHANGED
|
@@ -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-
|
|
2
|
-
import { U as OT, u as tT } from "./useEventTracker-
|
|
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";
|