@jetshop/core 5.14.6 → 5.14.7-prerelease.0
Sign up to get free protection for your applications and to get access to all the features.
- package/analytics/AnalyticsProvider.d.ts +5 -0
- package/analytics/AnalyticsProvider.js +22 -11
- package/analytics/AnalyticsProvider.js.map +1 -1
- package/analytics/integrations/ga4.js +35 -3
- package/analytics/integrations/ga4.js.map +1 -1
- package/analytics/integrations/gtag/gtag.js +35 -3
- package/analytics/integrations/gtag/gtag.js.map +1 -1
- package/analytics/integrations/gtm/gtm.d.ts +12 -0
- package/analytics/integrations/gtm/gtm.js +236 -0
- package/analytics/integrations/gtm/gtm.js.map +1 -0
- package/analytics/integrations/gtm/index.d.ts +1 -12
- package/analytics/integrations/gtm/index.js +1 -212
- package/analytics/integrations/gtm/index.js.map +1 -1
- package/analytics/trackerRegistry.d.ts +12 -1
- package/analytics/trackerRegistry.js +2 -1
- package/analytics/trackerRegistry.js.map +1 -1
- package/boot/SharedTree.js +1 -1
- package/boot/SharedTree.js.map +1 -1
- package/components/ConfigProvider.d.ts +1 -0
- package/components/ConfigProvider.js.map +1 -1
- package/package.json +1 -1
@@ -3,6 +3,7 @@ import { SelectedChannel } from '../components/ChannelContext/ChannelContext';
|
|
3
3
|
import { BootOptions } from '../components/ConfigProvider';
|
4
4
|
import { TrackerRegistry } from './trackerRegistry';
|
5
5
|
import { Scalars } from '../types';
|
6
|
+
import { Cookies } from 'react-cookie';
|
6
7
|
export interface AnalyticsConfigReleware {
|
7
8
|
enabled: boolean;
|
8
9
|
baseUrl: Scalars['Uri'];
|
@@ -19,6 +20,8 @@ export interface AnalyticsConfig {
|
|
19
20
|
};
|
20
21
|
releware?: AnalyticsConfigReleware;
|
21
22
|
trackingAllowed: boolean;
|
23
|
+
consentedToTracking: boolean;
|
24
|
+
useTrackingConsentAPI: boolean;
|
22
25
|
}
|
23
26
|
export interface AnalyticsProviderContext {
|
24
27
|
config: AnalyticsConfig;
|
@@ -27,6 +30,7 @@ export interface AnalyticsProviderContext {
|
|
27
30
|
export declare const AnalyticsContext: Context<AnalyticsProviderContext>;
|
28
31
|
export interface AnalyticsProviderProps {
|
29
32
|
releware?: AnalyticsConfigReleware;
|
33
|
+
cookies: Cookies;
|
30
34
|
}
|
31
35
|
export declare const getFacebookCapi: (selectedChannel: SelectedChannel) => {
|
32
36
|
token: string;
|
@@ -37,6 +41,7 @@ export declare const getGoogleAnalytics: (config: BootOptions, selectedChannel:
|
|
37
41
|
useArticleNumberAsId: boolean;
|
38
42
|
tagManagerID: string;
|
39
43
|
additionalGtagTrackingIds: string[];
|
44
|
+
useTrackingConsentAPI: boolean;
|
40
45
|
};
|
41
46
|
declare const AnalyticsProvider: React.FC<AnalyticsProviderProps>;
|
42
47
|
export default AnalyticsProvider;
|
@@ -24,7 +24,9 @@ const initialAnalyticsConfig = {
|
|
24
24
|
baseUrl: null,
|
25
25
|
uid: null
|
26
26
|
},
|
27
|
-
trackingAllowed: false
|
27
|
+
trackingAllowed: false,
|
28
|
+
consentedToTracking: false,
|
29
|
+
useTrackingConsentAPI: false
|
28
30
|
};
|
29
31
|
export const AnalyticsContext = createContext({
|
30
32
|
config: initialAnalyticsConfig,
|
@@ -51,7 +53,9 @@ export const getGoogleAnalytics = (config, selectedChannel) => {
|
|
51
53
|
: {};
|
52
54
|
let { trackingID, tagManagerID, useArticleNumberAsId,
|
53
55
|
// eslint-disable-next-line prefer-const
|
54
|
-
additionalGtagTrackingIds
|
56
|
+
additionalGtagTrackingIds,
|
57
|
+
// eslint-disable-next-line prefer-const
|
58
|
+
useTrackingConsentAPI } = Object.assign(Object.assign({}, config), channelOverrides);
|
55
59
|
if ((_c = (_b = (_a = selectedChannel.settings) === null || _a === void 0 ? void 0 : _a.tracking) === null || _b === void 0 ? void 0 : _b.ga) === null || _c === void 0 ? void 0 : _c.trackingId) {
|
56
60
|
trackingID = selectedChannel.settings.tracking.ga.trackingId;
|
57
61
|
}
|
@@ -66,13 +70,15 @@ export const getGoogleAnalytics = (config, selectedChannel) => {
|
|
66
70
|
trackingID,
|
67
71
|
useArticleNumberAsId,
|
68
72
|
tagManagerID,
|
69
|
-
additionalGtagTrackingIds
|
73
|
+
additionalGtagTrackingIds,
|
74
|
+
useTrackingConsentAPI
|
70
75
|
};
|
71
76
|
};
|
72
77
|
const AnalyticsProvider = function AnalyticsProvider(props) {
|
73
78
|
const shopConfig = useShopConfig();
|
74
79
|
const { selectedChannel } = useContext(ChannelContext);
|
75
|
-
const
|
80
|
+
const consentedToTracking = props.cookies.get('cookieConsent');
|
81
|
+
const { tagManagerID, trackingID, useArticleNumberAsId, additionalGtagTrackingIds, useTrackingConsentAPI } = getGoogleAnalytics(shopConfig, selectedChannel);
|
76
82
|
const { pixelId, token } = getFacebookCapi(selectedChannel);
|
77
83
|
const trackingAllowed = allowsTrackingWithDNT();
|
78
84
|
const analyticsConfig = React.useMemo(() => ({
|
@@ -85,14 +91,18 @@ const AnalyticsProvider = function AnalyticsProvider(props) {
|
|
85
91
|
containerId: tagManagerID
|
86
92
|
},
|
87
93
|
releware: props.releware,
|
88
|
-
trackingAllowed: trackingAllowed
|
94
|
+
trackingAllowed: trackingAllowed,
|
95
|
+
consentedToTracking: consentedToTracking === 'agreed',
|
96
|
+
useTrackingConsentAPI
|
89
97
|
}), [
|
90
|
-
props.releware,
|
91
|
-
tagManagerID,
|
92
98
|
trackingID,
|
93
99
|
additionalGtagTrackingIds,
|
94
100
|
useArticleNumberAsId,
|
95
|
-
|
101
|
+
tagManagerID,
|
102
|
+
props.releware,
|
103
|
+
trackingAllowed,
|
104
|
+
consentedToTracking,
|
105
|
+
useTrackingConsentAPI
|
96
106
|
]);
|
97
107
|
const { gtm, gtag, releware } = analyticsConfig;
|
98
108
|
const registry = useMemo(() => trackerRegistry({
|
@@ -130,7 +140,8 @@ const AnalyticsProvider = function AnalyticsProvider(props) {
|
|
130
140
|
brandCustomField: shopConfig.brandCustomField,
|
131
141
|
useArticleNumberAsId
|
132
142
|
}));
|
133
|
-
|
143
|
+
const registred = registry.trackers();
|
144
|
+
if (!registred.includes('ga4') && !registred.includes('gtag')) {
|
134
145
|
registry.add(gtagTracker({
|
135
146
|
currency: selectedChannel.currency.format.code,
|
136
147
|
trackingId: gtm.containerId,
|
@@ -160,8 +171,8 @@ const AnalyticsProvider = function AnalyticsProvider(props) {
|
|
160
171
|
};
|
161
172
|
}, [analyticsConfig, registry]);
|
162
173
|
const preconnectLinks = usePreconnectLinks({
|
163
|
-
ga: !!(gtag === null || gtag === void 0 ? void 0 : gtag.trackingId),
|
164
|
-
gtm: !!(gtm === null || gtm === void 0 ? void 0 : gtm.containerId)
|
174
|
+
ga: consentedToTracking && !!(gtag === null || gtag === void 0 ? void 0 : gtag.trackingId),
|
175
|
+
gtm: consentedToTracking && !!(gtm === null || gtm === void 0 ? void 0 : gtm.containerId)
|
165
176
|
});
|
166
177
|
return (React.createElement(AnalyticsContext.Provider, { value: value },
|
167
178
|
React.createElement(Helmet, null, preconnectLinks.map(({ href, crossOrigin }) => (React.createElement("link", Object.assign({ rel: "preconnect", href: href }, (crossOrigin && { crossOrigin }), { key: href }))))),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"AnalyticsProvider.js","sourceRoot":"","sources":["AnalyticsProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAW,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC3E,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAG1D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EACL,mBAAmB,EACnB,eAAe,EAEhB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;
|
1
|
+
{"version":3,"file":"AnalyticsProvider.js","sourceRoot":"","sources":["AnalyticsProvider.tsx"],"names":[],"mappings":"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"}
|
@@ -17,8 +17,7 @@ function productToItem(product, selectedVariation, useArticleNumberAsId = false,
|
|
17
17
|
export function ga4Tracker({ trackingId, additionalGtagTrackingIds = [], currency, brandCustomField, useArticleNumberAsId = false }) {
|
18
18
|
return {
|
19
19
|
name: 'ga4',
|
20
|
-
initBrowser() {
|
21
|
-
const script = `https://www.googletagmanager.com/gtag/js?id=${trackingId}`;
|
20
|
+
initBrowser({ config }) {
|
22
21
|
const w = window;
|
23
22
|
w.dataLayer = w.dataLayer || [];
|
24
23
|
w.dataLayer.push({
|
@@ -33,6 +32,27 @@ export function ga4Tracker({ trackingId, additionalGtagTrackingIds = [], currenc
|
|
33
32
|
w.gtag = function gtag() {
|
34
33
|
w.dataLayer.push(arguments);
|
35
34
|
};
|
35
|
+
if (config.useTrackingConsentAPI) {
|
36
|
+
/**
|
37
|
+
NB:
|
38
|
+
Only cookieless pings will be sent to Google servers.
|
39
|
+
There’s also a wait time of 500 milliseconds before any Google tags are allowed to fire,
|
40
|
+
to give time for the update command to be invoked.
|
41
|
+
*/
|
42
|
+
const consent = config.consentedToTracking ? 'granted' : 'denied';
|
43
|
+
gtag()('consent', 'default', {
|
44
|
+
ad_storage: consent,
|
45
|
+
// https://www.simoahava.com/analytics/consent-mode-google-tags/#restrict-advertising-storage
|
46
|
+
analytics_storage: consent,
|
47
|
+
personalization_storage: consent,
|
48
|
+
functionality_storage: 'granted',
|
49
|
+
security_storage: 'granted',
|
50
|
+
wait_for_update: 500
|
51
|
+
});
|
52
|
+
// NB: This only works when you set ad_storage to denied.
|
53
|
+
// https://developers.google.com/tag-platform/devguides/consent#redact_ads_data
|
54
|
+
gtag()('set', 'ads_data_redaction', true);
|
55
|
+
}
|
36
56
|
w.gtag('js', new Date());
|
37
57
|
if (process.env.REACT_APP_DEBUG_MODE === 'true') {
|
38
58
|
gtag()('config', trackingId, {
|
@@ -45,9 +65,21 @@ export function ga4Tracker({ trackingId, additionalGtagTrackingIds = [], currenc
|
|
45
65
|
additionalGtagTrackingIds.forEach((id) => {
|
46
66
|
gtag()('config', id);
|
47
67
|
});
|
48
|
-
injectScript({
|
68
|
+
injectScript({
|
69
|
+
src: `https://www.googletagmanager.com/gtag/js?id=${trackingId}`
|
70
|
+
});
|
49
71
|
gtag();
|
50
72
|
},
|
73
|
+
consent(consents) {
|
74
|
+
gtag()('consent', 'update', consents
|
75
|
+
? Object.assign(Object.assign({}, consents), { functionality_storage: 'granted' }) : {
|
76
|
+
ad_storage: 'granted',
|
77
|
+
analytics_storage: 'granted',
|
78
|
+
personalization_storage: 'granted',
|
79
|
+
functionality_storage: 'granted',
|
80
|
+
security_storage: 'granted'
|
81
|
+
});
|
82
|
+
},
|
51
83
|
trackProduct({ quantity, action, product, selectedVariation, list, listName, index, category }, context, eventId) {
|
52
84
|
const productItem = Object.assign(Object.assign({}, productToItem(product, selectedVariation, useArticleNumberAsId, brandCustomField, category)), { quantity, item_list_name: list || listName || context.list, index: index });
|
53
85
|
switch (action) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ga4.js","sourceRoot":"","sources":["ga4.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,yDAAyD,CAAC;AAEnF,MAAM,IAAI,GAAG,GAAG,EAAE,CAAE,MAAc,CAAC,IAAI,CAAC;AAkBxC,SAAS,aAAa,CACpB,OAAgB,EAChB,iBAAiC,EACjC,oBAAoB,GAAG,KAAK,EAC5B,gBAAyB,EACzB,QAAiB;;IAEjB,OAAO;QACL,SAAS,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI;QACxB,OAAO,EAAE,oBAAoB;YAC3B,CAAC,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa;YACxB,CAAC,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,EAAE,0CAAE,QAAQ,EAAE;QAC3B,KAAK,EAAE,CAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,KAAK,0CAAE,MAAM,MAAI,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,0CAAE,MAAM,CAAA;QACjE,aAAa,EAAE,QAAQ;QACvB,YAAY,EAAE,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,MAAM,0CAAE,IAAI,CAAC,GAAG,CAAC;QAClD,UAAU,EAAE,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;KAChD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EACzB,UAAU,EACV,yBAAyB,GAAG,EAAE,EAC9B,QAAQ,EACR,gBAAgB,EAChB,oBAAoB,GAAG,KAAK,EAO7B;IACC,OAAO;QACL,IAAI,EAAE,KAAK;QACX,WAAW
|
1
|
+
{"version":3,"file":"ga4.js","sourceRoot":"","sources":["ga4.ts"],"names":[],"mappings":"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"}
|
@@ -33,8 +33,7 @@ function getProductData({ product, selectedVariation, useArticleNumberAsId = fal
|
|
33
33
|
}
|
34
34
|
export const gtagTracker = ({ trackingId, additionalGtagTrackingIds = [], currency, brandCustomField, useArticleNumberAsId = false }) => ({
|
35
35
|
name: 'gtag',
|
36
|
-
initBrowser() {
|
37
|
-
const script = `https://www.googletagmanager.com/gtag/js?id=${trackingId}`;
|
36
|
+
initBrowser({ config }) {
|
38
37
|
const w = window;
|
39
38
|
w.dataLayer = w.dataLayer || [];
|
40
39
|
w.dataLayer.push({
|
@@ -49,6 +48,27 @@ export const gtagTracker = ({ trackingId, additionalGtagTrackingIds = [], curren
|
|
49
48
|
w.gtag = function gtag() {
|
50
49
|
w.dataLayer.push(arguments); // I'm not sure why but this dosen't work using rest params. Don't change this line
|
51
50
|
};
|
51
|
+
if (config.useTrackingConsentAPI) {
|
52
|
+
/**
|
53
|
+
NB:
|
54
|
+
Only cookieless pings will be sent to Google servers.
|
55
|
+
There’s also a wait time of 500 milliseconds before any Google tags are allowed to fire,
|
56
|
+
to give time for the update command to be invoked.
|
57
|
+
*/
|
58
|
+
const consent = config.consentedToTracking ? 'granted' : 'denied';
|
59
|
+
gtag()('consent', 'default', {
|
60
|
+
ad_storage: consent,
|
61
|
+
// https://www.simoahava.com/analytics/consent-mode-google-tags/#restrict-advertising-storage
|
62
|
+
analytics_storage: consent,
|
63
|
+
personalization_storage: consent,
|
64
|
+
functionality_storage: 'granted',
|
65
|
+
security_storage: 'granted',
|
66
|
+
wait_for_update: 500
|
67
|
+
});
|
68
|
+
// NB: This only works when you set ad_storage to denied.
|
69
|
+
// https://developers.google.com/tag-platform/devguides/consent#redact_ads_data
|
70
|
+
gtag()('set', 'ads_data_redaction', true);
|
71
|
+
}
|
52
72
|
w.gtag('js', new Date());
|
53
73
|
gtag()('config', trackingId, {
|
54
74
|
currency,
|
@@ -60,9 +80,21 @@ export const gtagTracker = ({ trackingId, additionalGtagTrackingIds = [], curren
|
|
60
80
|
send_page_view: false
|
61
81
|
});
|
62
82
|
});
|
63
|
-
injectScript({
|
83
|
+
injectScript({
|
84
|
+
src: `https://www.googletagmanager.com/gtag/js?id=${trackingId}`
|
85
|
+
});
|
64
86
|
gtag();
|
65
87
|
},
|
88
|
+
consent(consents) {
|
89
|
+
gtag()('consent', 'update', consents
|
90
|
+
? Object.assign(Object.assign({}, consents), { functionality_storage: 'granted' }) : {
|
91
|
+
ad_storage: 'granted',
|
92
|
+
analytics_storage: 'granted',
|
93
|
+
personalization_storage: 'granted',
|
94
|
+
functionality_storage: 'granted',
|
95
|
+
security_storage: 'granted'
|
96
|
+
});
|
97
|
+
},
|
66
98
|
trackProduct({ quantity, action, product, selectedVariation, list, listName, index, category }, context, eventId) {
|
67
99
|
const productData = Object.assign(Object.assign({}, getProductData({
|
68
100
|
product,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"gtag.js","sourceRoot":"","sources":["gtag.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,QAAQ,EAAE,MAAM,oDAAoD,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAElF,MAAM,IAAI,GAAG,GAAG,EAAE,CAAE,MAAc,CAAC,IAAI,CAAC;AAExC,SAAS,cAAc,CAAC,EACtB,OAAO,EACP,iBAAiB,EACjB,oBAAoB,GAAG,KAAK,EAC5B,gBAAgB,EAChB,QAAQ,GAAG,EAAE,EAOd;IACC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAClD,IAAI,oBAAoB,EAAE;QACxB,OAAO;YACL,EAAE,EAAE,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,aAAa,KAAI,OAAO,CAAC,aAAa;YAC7D,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,UAAU,EAAE,OAAO,CAAC,aAAa;YACjC,OAAO,EAAE,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YAC5C,UAAU,EAAE,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,aAAa;YAC5C,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,YAAY,EAAE,OAAO,CAAC,aAAa;YACnC,QAAQ;YACR,KAAK;SACN,CAAC;KACH;SAAM;QACL,2IAA2I;QAC3I,yHAAyH;QACzH,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,OAAO,EAAE,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,aAAa,KAAI,OAAO,CAAC,aAAa;YAClE,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,WAAW,EAAE,OAAO,CAAC,aAAa;YAClC,QAAQ;YACR,KAAK;SACN,CAAC;KACH;AACH,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,UAAU,EACV,yBAAyB,GAAG,EAAE,EAC9B,QAAQ,EACR,gBAAgB,EAChB,oBAAoB,GAAG,KAAK,EAO7B,EAAW,EAAE,CAAC,CAAC;IACd,IAAI,EAAE,MAAM;IACZ,WAAW
|
1
|
+
{"version":3,"file":"gtag.js","sourceRoot":"","sources":["gtag.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { Tracker } from './../../trackerRegistry';
|
2
|
+
declare global {
|
3
|
+
interface Window {
|
4
|
+
dataLayer: any[];
|
5
|
+
}
|
6
|
+
}
|
7
|
+
export declare const gtmTracker: ({ containerId, currency, useArticleNumberAsId, brandCustomField }: {
|
8
|
+
containerId: string;
|
9
|
+
currency: string;
|
10
|
+
brandCustomField?: string;
|
11
|
+
useArticleNumberAsId?: boolean;
|
12
|
+
}) => Tracker;
|
@@ -0,0 +1,236 @@
|
|
1
|
+
import { injectScript } from '../../utils/script';
|
2
|
+
import { getBrand } from '@jetshop/core/components/OpenGraph/OpenGraphProductData';
|
3
|
+
import { unSlugify } from '../unslugify';
|
4
|
+
import { breadcrumbsWithoutProduct } from '../../utils/breadcrumbsWithoutProduct';
|
5
|
+
function push(event) {
|
6
|
+
if (window.dataLayer) {
|
7
|
+
if (event.ecommerce) {
|
8
|
+
window.dataLayer.push({ ecommerce: null });
|
9
|
+
}
|
10
|
+
window.dataLayer.push(event);
|
11
|
+
}
|
12
|
+
}
|
13
|
+
function getProductData({ product, selectedVariation, useArticleNumberAsId = false, brandCustomField, category = '' }) {
|
14
|
+
if (useArticleNumberAsId) {
|
15
|
+
return {
|
16
|
+
id: (selectedVariation === null || selectedVariation === void 0 ? void 0 : selectedVariation.articleNumber) || product.articleNumber,
|
17
|
+
productId: product.id,
|
18
|
+
productSKU: product.articleNumber,
|
19
|
+
variant: selectedVariation === null || selectedVariation === void 0 ? void 0 : selectedVariation.values.join('_'),
|
20
|
+
variantSKU: selectedVariation === null || selectedVariation === void 0 ? void 0 : selectedVariation.articleNumber,
|
21
|
+
name: product.name,
|
22
|
+
base_product: product.articleNumber,
|
23
|
+
category,
|
24
|
+
brand: getBrand(product, brandCustomField)
|
25
|
+
};
|
26
|
+
}
|
27
|
+
else {
|
28
|
+
// This is kept as backwards compatibility. Some shops rely on the product id being the internal Jetshop id, instead of the article number.
|
29
|
+
// Changing this could affect the statistics in Google Ads/Merchant/Analytics, so we want the new behaviour to be opt-in.
|
30
|
+
return {
|
31
|
+
id: product.id,
|
32
|
+
variant: selectedVariation
|
33
|
+
? selectedVariation.articleNumber
|
34
|
+
: product.articleNumber,
|
35
|
+
name: product.name,
|
36
|
+
base_product: product.articleNumber,
|
37
|
+
category,
|
38
|
+
brand: getBrand(product, brandCustomField)
|
39
|
+
};
|
40
|
+
}
|
41
|
+
}
|
42
|
+
export const gtmTracker = ({ containerId, currency, useArticleNumberAsId = false, brandCustomField }) => ({
|
43
|
+
name: 'gtm',
|
44
|
+
initBrowser({ config }) {
|
45
|
+
const script = `https://www.googletagmanager.com/gtm.js?id=${containerId}`;
|
46
|
+
const w = window;
|
47
|
+
w.dataLayer = w.dataLayer || [];
|
48
|
+
w.dataLayer.push({
|
49
|
+
'gtm.start': new Date().getTime(),
|
50
|
+
event: 'gtm.js',
|
51
|
+
originalLocation: document.location.protocol +
|
52
|
+
'//' +
|
53
|
+
document.location.hostname +
|
54
|
+
document.location.pathname +
|
55
|
+
document.location.search
|
56
|
+
});
|
57
|
+
if (config.useTrackingConsentAPI) {
|
58
|
+
/**
|
59
|
+
NB:
|
60
|
+
Only cookieless pings will be sent to Google servers.
|
61
|
+
There’s also a wait time of 500 milliseconds before any Google tags are allowed to fire,
|
62
|
+
to give time for the update command to be invoked.
|
63
|
+
*/
|
64
|
+
const consent = config.consentedToTracking ? 'granted' : 'denied';
|
65
|
+
w.dataLayer.push({
|
66
|
+
event: 'gtm_consent_default',
|
67
|
+
ad_storage: consent,
|
68
|
+
// https://www.simoahava.com/analytics/consent-mode-google-tags/#restrict-advertising-storage
|
69
|
+
analytics_storage: consent,
|
70
|
+
personalization_storage: consent,
|
71
|
+
functionality_storage: 'granted',
|
72
|
+
security_storage: 'granted',
|
73
|
+
wait_for_update: 500
|
74
|
+
});
|
75
|
+
}
|
76
|
+
injectScript({ src: script });
|
77
|
+
},
|
78
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
79
|
+
consent() {
|
80
|
+
// Consent updated should be handled from inside GTM
|
81
|
+
},
|
82
|
+
trackProduct({ quantity, action, product, selectedVariation, list, listName, index, category }, context, eventId) {
|
83
|
+
const productData = Object.assign(Object.assign({}, getProductData({
|
84
|
+
product,
|
85
|
+
selectedVariation,
|
86
|
+
useArticleNumberAsId,
|
87
|
+
brandCustomField,
|
88
|
+
category
|
89
|
+
})), { price: (selectedVariation && selectedVariation.price.incVat) ||
|
90
|
+
(product.price && product.price.incVat), quantity, position: index });
|
91
|
+
switch (action) {
|
92
|
+
case 'click':
|
93
|
+
push({
|
94
|
+
event: 'productClick',
|
95
|
+
productIds: product.articleNumber,
|
96
|
+
ecommerce: {
|
97
|
+
click: {
|
98
|
+
actionField: { list: list || listName || context.list },
|
99
|
+
products: [productData]
|
100
|
+
}
|
101
|
+
},
|
102
|
+
eventId
|
103
|
+
});
|
104
|
+
break;
|
105
|
+
case 'view':
|
106
|
+
push({
|
107
|
+
event: 'productDetails',
|
108
|
+
ecommerce: {
|
109
|
+
currencyCode: currency,
|
110
|
+
detail: {
|
111
|
+
products: [productData]
|
112
|
+
}
|
113
|
+
},
|
114
|
+
eventId
|
115
|
+
});
|
116
|
+
break;
|
117
|
+
case 'add':
|
118
|
+
push({
|
119
|
+
event: 'addToCart',
|
120
|
+
productIds: product.articleNumber,
|
121
|
+
ecommerce: {
|
122
|
+
actionField: {
|
123
|
+
list: list || listName || context.list
|
124
|
+
},
|
125
|
+
currencyCode: currency,
|
126
|
+
add: {
|
127
|
+
products: [productData]
|
128
|
+
}
|
129
|
+
},
|
130
|
+
eventId
|
131
|
+
});
|
132
|
+
break;
|
133
|
+
case 'remove':
|
134
|
+
push({
|
135
|
+
event: 'removeFromCart',
|
136
|
+
productIds: product.articleNumber,
|
137
|
+
pageType: 'cart',
|
138
|
+
ecommerce: {
|
139
|
+
currencyCode: currency,
|
140
|
+
remove: {
|
141
|
+
products: [productData]
|
142
|
+
}
|
143
|
+
},
|
144
|
+
eventId
|
145
|
+
});
|
146
|
+
break;
|
147
|
+
default:
|
148
|
+
console.log('Error: Gtag can not track action ' + action);
|
149
|
+
break;
|
150
|
+
}
|
151
|
+
},
|
152
|
+
trackCartCheckout({ cart }, _, eventId) {
|
153
|
+
const items = cart.items.map((item) => {
|
154
|
+
var _a, _b, _c;
|
155
|
+
return (Object.assign(Object.assign({}, getProductData({
|
156
|
+
product: item.product,
|
157
|
+
selectedVariation: item.variant,
|
158
|
+
useArticleNumberAsId,
|
159
|
+
brandCustomField,
|
160
|
+
category: breadcrumbsWithoutProduct((_a = item.product.primaryRoute) === null || _a === void 0 ? void 0 : _a.breadcrumbs) ||
|
161
|
+
unSlugify((_c = (_b = item.product.canonicalCategory) === null || _b === void 0 ? void 0 : _b.primaryRoute) === null || _c === void 0 ? void 0 : _c.path) ||
|
162
|
+
''
|
163
|
+
})), { price: item.total.incVat, quantity: item.quantity }));
|
164
|
+
});
|
165
|
+
push({
|
166
|
+
event: 'checkout',
|
167
|
+
ecommerce: {
|
168
|
+
products: items
|
169
|
+
},
|
170
|
+
eventId
|
171
|
+
});
|
172
|
+
},
|
173
|
+
trackPageView({ pathname, title }, _, eventId) {
|
174
|
+
push({
|
175
|
+
event: 'pageView',
|
176
|
+
pagePath: pathname,
|
177
|
+
pageTitle: title,
|
178
|
+
eventId
|
179
|
+
});
|
180
|
+
},
|
181
|
+
trackList({ listName, products, category }, _, eventId) {
|
182
|
+
const productData = products.map((product, i) => {
|
183
|
+
var _a, _b, _c, _d;
|
184
|
+
return (Object.assign(Object.assign({}, getProductData({
|
185
|
+
product,
|
186
|
+
selectedVariation: null,
|
187
|
+
useArticleNumberAsId,
|
188
|
+
brandCustomField,
|
189
|
+
category: category ||
|
190
|
+
breadcrumbsWithoutProduct((_a = product === null || product === void 0 ? void 0 : product.primaryRoute) === null || _a === void 0 ? void 0 : _a.breadcrumbs) ||
|
191
|
+
unSlugify((_c = (_b = product === null || product === void 0 ? void 0 : product.canonicalCategory) === null || _b === void 0 ? void 0 : _b.primaryRoute) === null || _c === void 0 ? void 0 : _c.path)
|
192
|
+
})), { price: (_d = product.price) === null || _d === void 0 ? void 0 : _d.incVat, position: i, list: listName }));
|
193
|
+
});
|
194
|
+
push({
|
195
|
+
event: 'productList',
|
196
|
+
ecommerce: {
|
197
|
+
currencyCode: currency,
|
198
|
+
impressions: productData
|
199
|
+
},
|
200
|
+
eventId
|
201
|
+
});
|
202
|
+
},
|
203
|
+
trackExperiment({ id, variant }, _, eventId) {
|
204
|
+
push({
|
205
|
+
experiment: `${id}.${variant}`,
|
206
|
+
eventId
|
207
|
+
});
|
208
|
+
},
|
209
|
+
trackUser({ userId }, _, eventId) {
|
210
|
+
push({
|
211
|
+
userId,
|
212
|
+
eventId
|
213
|
+
});
|
214
|
+
},
|
215
|
+
trackLogin(_, __, eventId) {
|
216
|
+
push({
|
217
|
+
event: 'login',
|
218
|
+
eventId
|
219
|
+
});
|
220
|
+
},
|
221
|
+
trackRegister(_, __, eventId) {
|
222
|
+
push({
|
223
|
+
event: 'register',
|
224
|
+
eventId
|
225
|
+
});
|
226
|
+
},
|
227
|
+
trackAddToWishList({ articleNumber, productName }, _, eventId) {
|
228
|
+
push({
|
229
|
+
event: 'addToWishlist',
|
230
|
+
articleNumber,
|
231
|
+
productName,
|
232
|
+
eventId
|
233
|
+
});
|
234
|
+
}
|
235
|
+
});
|
236
|
+
//# sourceMappingURL=gtm.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"gtm.js","sourceRoot":"","sources":["gtm.ts"],"names":[],"mappings":"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"}
|
@@ -1,12 +1 @@
|
|
1
|
-
|
2
|
-
declare global {
|
3
|
-
interface Window {
|
4
|
-
dataLayer: any[];
|
5
|
-
}
|
6
|
-
}
|
7
|
-
export declare const gtmTracker: ({ containerId, currency, useArticleNumberAsId, brandCustomField }: {
|
8
|
-
containerId: string;
|
9
|
-
currency: string;
|
10
|
-
brandCustomField?: string;
|
11
|
-
useArticleNumberAsId?: boolean;
|
12
|
-
}) => Tracker;
|
1
|
+
export * from './gtm';
|
@@ -1,213 +1,2 @@
|
|
1
|
-
|
2
|
-
import { getBrand } from '@jetshop/core/components/OpenGraph/OpenGraphProductData';
|
3
|
-
import { unSlugify } from '../unslugify';
|
4
|
-
import { breadcrumbsWithoutProduct } from '../../utils/breadcrumbsWithoutProduct';
|
5
|
-
function push(event) {
|
6
|
-
if (window.dataLayer) {
|
7
|
-
if (event.ecommerce) {
|
8
|
-
window.dataLayer.push({ ecommerce: null });
|
9
|
-
}
|
10
|
-
window.dataLayer.push(event);
|
11
|
-
}
|
12
|
-
}
|
13
|
-
function getProductData({ product, selectedVariation, useArticleNumberAsId = false, brandCustomField, category = '' }) {
|
14
|
-
if (useArticleNumberAsId) {
|
15
|
-
return {
|
16
|
-
id: (selectedVariation === null || selectedVariation === void 0 ? void 0 : selectedVariation.articleNumber) || product.articleNumber,
|
17
|
-
productId: product.id,
|
18
|
-
productSKU: product.articleNumber,
|
19
|
-
variant: selectedVariation === null || selectedVariation === void 0 ? void 0 : selectedVariation.values.join('_'),
|
20
|
-
variantSKU: selectedVariation === null || selectedVariation === void 0 ? void 0 : selectedVariation.articleNumber,
|
21
|
-
name: product.name,
|
22
|
-
base_product: product.articleNumber,
|
23
|
-
category,
|
24
|
-
brand: getBrand(product, brandCustomField)
|
25
|
-
};
|
26
|
-
}
|
27
|
-
else {
|
28
|
-
// This is kept as backwards compatibility. Some shops rely on the product id being the internal Jetshop id, instead of the article number.
|
29
|
-
// Changing this could affect the statistics in Google Ads/Merchant/Analytics, so we want the new behaviour to be opt-in.
|
30
|
-
return {
|
31
|
-
id: product.id,
|
32
|
-
variant: selectedVariation
|
33
|
-
? selectedVariation.articleNumber
|
34
|
-
: product.articleNumber,
|
35
|
-
name: product.name,
|
36
|
-
base_product: product.articleNumber,
|
37
|
-
category,
|
38
|
-
brand: getBrand(product, brandCustomField)
|
39
|
-
};
|
40
|
-
}
|
41
|
-
}
|
42
|
-
export const gtmTracker = ({ containerId, currency, useArticleNumberAsId = false, brandCustomField }) => ({
|
43
|
-
name: 'gtm',
|
44
|
-
initBrowser() {
|
45
|
-
const script = `https://www.googletagmanager.com/gtm.js?id=${containerId}`;
|
46
|
-
const w = window;
|
47
|
-
w.dataLayer = w.dataLayer || [];
|
48
|
-
w.dataLayer.push({
|
49
|
-
'gtm.start': new Date().getTime(),
|
50
|
-
event: 'gtm.js',
|
51
|
-
originalLocation: document.location.protocol +
|
52
|
-
'//' +
|
53
|
-
document.location.hostname +
|
54
|
-
document.location.pathname +
|
55
|
-
document.location.search
|
56
|
-
});
|
57
|
-
injectScript({ src: script });
|
58
|
-
},
|
59
|
-
trackProduct({ quantity, action, product, selectedVariation, list, listName, index, category }, context, eventId) {
|
60
|
-
const productData = Object.assign(Object.assign({}, getProductData({
|
61
|
-
product,
|
62
|
-
selectedVariation,
|
63
|
-
useArticleNumberAsId,
|
64
|
-
brandCustomField,
|
65
|
-
category
|
66
|
-
})), { price: (selectedVariation && selectedVariation.price.incVat) ||
|
67
|
-
(product.price && product.price.incVat), quantity, position: index });
|
68
|
-
switch (action) {
|
69
|
-
case 'click':
|
70
|
-
push({
|
71
|
-
event: 'productClick',
|
72
|
-
productIds: product.articleNumber,
|
73
|
-
ecommerce: {
|
74
|
-
click: {
|
75
|
-
actionField: { list: list || listName || context.list },
|
76
|
-
products: [productData]
|
77
|
-
}
|
78
|
-
},
|
79
|
-
eventId
|
80
|
-
});
|
81
|
-
break;
|
82
|
-
case 'view':
|
83
|
-
push({
|
84
|
-
event: 'productDetails',
|
85
|
-
ecommerce: {
|
86
|
-
currencyCode: currency,
|
87
|
-
detail: {
|
88
|
-
products: [productData]
|
89
|
-
}
|
90
|
-
},
|
91
|
-
eventId
|
92
|
-
});
|
93
|
-
break;
|
94
|
-
case 'add':
|
95
|
-
push({
|
96
|
-
event: 'addToCart',
|
97
|
-
productIds: product.articleNumber,
|
98
|
-
ecommerce: {
|
99
|
-
actionField: {
|
100
|
-
list: list || listName || context.list
|
101
|
-
},
|
102
|
-
currencyCode: currency,
|
103
|
-
add: {
|
104
|
-
products: [productData]
|
105
|
-
}
|
106
|
-
},
|
107
|
-
eventId
|
108
|
-
});
|
109
|
-
break;
|
110
|
-
case 'remove':
|
111
|
-
push({
|
112
|
-
event: 'removeFromCart',
|
113
|
-
productIds: product.articleNumber,
|
114
|
-
pageType: 'cart',
|
115
|
-
ecommerce: {
|
116
|
-
currencyCode: currency,
|
117
|
-
remove: {
|
118
|
-
products: [productData]
|
119
|
-
}
|
120
|
-
},
|
121
|
-
eventId
|
122
|
-
});
|
123
|
-
break;
|
124
|
-
default:
|
125
|
-
console.log('Error: Gtag can not track action ' + action);
|
126
|
-
break;
|
127
|
-
}
|
128
|
-
},
|
129
|
-
trackCartCheckout({ cart }, _, eventId) {
|
130
|
-
const items = cart.items.map((item) => {
|
131
|
-
var _a, _b, _c;
|
132
|
-
return (Object.assign(Object.assign({}, getProductData({
|
133
|
-
product: item.product,
|
134
|
-
selectedVariation: item.variant,
|
135
|
-
useArticleNumberAsId,
|
136
|
-
brandCustomField,
|
137
|
-
category: breadcrumbsWithoutProduct((_a = item.product.primaryRoute) === null || _a === void 0 ? void 0 : _a.breadcrumbs) ||
|
138
|
-
unSlugify((_c = (_b = item.product.canonicalCategory) === null || _b === void 0 ? void 0 : _b.primaryRoute) === null || _c === void 0 ? void 0 : _c.path) ||
|
139
|
-
''
|
140
|
-
})), { price: item.total.incVat, quantity: item.quantity }));
|
141
|
-
});
|
142
|
-
push({
|
143
|
-
event: 'checkout',
|
144
|
-
ecommerce: {
|
145
|
-
products: items
|
146
|
-
},
|
147
|
-
eventId
|
148
|
-
});
|
149
|
-
},
|
150
|
-
trackPageView({ pathname, title }, _, eventId) {
|
151
|
-
push({
|
152
|
-
event: 'pageView',
|
153
|
-
pagePath: pathname,
|
154
|
-
pageTitle: title,
|
155
|
-
eventId
|
156
|
-
});
|
157
|
-
},
|
158
|
-
trackList({ listName, products, category }, _, eventId) {
|
159
|
-
const productData = products.map((product, i) => {
|
160
|
-
var _a, _b, _c, _d;
|
161
|
-
return (Object.assign(Object.assign({}, getProductData({
|
162
|
-
product,
|
163
|
-
selectedVariation: null,
|
164
|
-
useArticleNumberAsId,
|
165
|
-
brandCustomField,
|
166
|
-
category: category ||
|
167
|
-
breadcrumbsWithoutProduct((_a = product === null || product === void 0 ? void 0 : product.primaryRoute) === null || _a === void 0 ? void 0 : _a.breadcrumbs) ||
|
168
|
-
unSlugify((_c = (_b = product === null || product === void 0 ? void 0 : product.canonicalCategory) === null || _b === void 0 ? void 0 : _b.primaryRoute) === null || _c === void 0 ? void 0 : _c.path)
|
169
|
-
})), { price: (_d = product.price) === null || _d === void 0 ? void 0 : _d.incVat, position: i, list: listName }));
|
170
|
-
});
|
171
|
-
push({
|
172
|
-
event: 'productList',
|
173
|
-
ecommerce: {
|
174
|
-
currencyCode: currency,
|
175
|
-
impressions: productData
|
176
|
-
},
|
177
|
-
eventId
|
178
|
-
});
|
179
|
-
},
|
180
|
-
trackExperiment({ id, variant }, _, eventId) {
|
181
|
-
push({
|
182
|
-
experiment: `${id}.${variant}`,
|
183
|
-
eventId
|
184
|
-
});
|
185
|
-
},
|
186
|
-
trackUser({ userId }, _, eventId) {
|
187
|
-
push({
|
188
|
-
userId,
|
189
|
-
eventId
|
190
|
-
});
|
191
|
-
},
|
192
|
-
trackLogin(_, __, eventId) {
|
193
|
-
push({
|
194
|
-
event: 'login',
|
195
|
-
eventId
|
196
|
-
});
|
197
|
-
},
|
198
|
-
trackRegister(_, __, eventId) {
|
199
|
-
push({
|
200
|
-
event: 'register',
|
201
|
-
eventId
|
202
|
-
});
|
203
|
-
},
|
204
|
-
trackAddToWishList({ articleNumber, productName }, _, eventId) {
|
205
|
-
push({
|
206
|
-
event: 'addToWishlist',
|
207
|
-
articleNumber,
|
208
|
-
productName,
|
209
|
-
eventId
|
210
|
-
});
|
211
|
-
}
|
212
|
-
});
|
1
|
+
export * from './gtm';
|
213
2
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC"}
|
@@ -55,8 +55,18 @@ export interface TrackingProps {
|
|
55
55
|
}
|
56
56
|
export interface InitOptions {
|
57
57
|
trackerRegistry: TrackerRegistry;
|
58
|
+
config: AnalyticsConfig;
|
59
|
+
}
|
60
|
+
declare type Consent = 'granted' | 'denied';
|
61
|
+
interface BaseConsentEvents {
|
62
|
+
ad_storage: Consent;
|
63
|
+
analytics_storage: Consent;
|
64
|
+
personalization_storage: Consent;
|
65
|
+
security_storage: Consent;
|
66
|
+
[key: string]: Consent;
|
58
67
|
}
|
59
68
|
export interface BaseTrackingEvents {
|
69
|
+
consent: (props: BaseConsentEvents, context: TrackingFunctionContext, eventId?: string) => void;
|
60
70
|
trackProduct: (props: TrackProductProps, context: TrackingFunctionContext, eventId?: string) => void;
|
61
71
|
trackCartCheckout: (props: TrackCartProps, context: TrackingFunctionContext, eventId?: string, callback?: (response: Response) => void) => void;
|
62
72
|
trackCart: (props: TrackCartProps, context: TrackingFunctionContext, eventId?: string) => void;
|
@@ -88,7 +98,7 @@ export interface TrackerRegistry {
|
|
88
98
|
* - Runs `initBrowser`
|
89
99
|
*/
|
90
100
|
add: (tracker: Tracker) => void;
|
91
|
-
trackers: () =>
|
101
|
+
trackers: () => string[];
|
92
102
|
}
|
93
103
|
export declare function createServerTracker({ currency, useArticleNumberAsId, pixelId, token }: {
|
94
104
|
currency: string;
|
@@ -100,3 +110,4 @@ export declare function trackerRegistry({ config, inServer }: {
|
|
100
110
|
config: AnalyticsConfig;
|
101
111
|
inServer: boolean;
|
102
112
|
}): TrackerRegistry;
|
113
|
+
export {};
|
@@ -9,6 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
9
9
|
};
|
10
10
|
import eventemitter3 from 'eventemitter3';
|
11
11
|
export const trackingEvents = [
|
12
|
+
'consent',
|
12
13
|
'trackProduct',
|
13
14
|
'trackCartCheckout',
|
14
15
|
'trackCart',
|
@@ -214,7 +215,7 @@ export function trackerRegistry({ config, inServer }) {
|
|
214
215
|
});
|
215
216
|
}
|
216
217
|
},
|
217
|
-
trackers: () => trackers
|
218
|
+
trackers: () => trackers.flatMap((t) => t.name)
|
218
219
|
};
|
219
220
|
return registry;
|
220
221
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"trackerRegistry.js","sourceRoot":"","sources":["trackerRegistry.ts"],"names":[],"mappings":";;;;;;;;;AAEA,OAAO,aAAa,MAAM,eAAe,CAAC;
|
1
|
+
{"version":3,"file":"trackerRegistry.js","sourceRoot":"","sources":["trackerRegistry.ts"],"names":[],"mappings":"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"}
|
package/boot/SharedTree.js
CHANGED
@@ -20,7 +20,7 @@ const SharedTree = ({ activeBreakpoint, cookies, helmetContext, releware, client
|
|
20
20
|
React.createElement(BreakpointProvider, { value: activeBreakpoint },
|
21
21
|
React.createElement(ApolloProvider, { client: client },
|
22
22
|
React.createElement(ChannelProvider, { config: config, channelHandler: channelHandler },
|
23
|
-
React.createElement(AnalyticsProvider, { releware: releware },
|
23
|
+
React.createElement(AnalyticsProvider, { releware: releware, cookies: cookies },
|
24
24
|
React.createElement(PreviewProvider, { previewHandler: previewHandler },
|
25
25
|
React.createElement(Router, Object.assign({ basename: channelHandler.getChannelBasename() || undefined }, routerProps),
|
26
26
|
React.createElement(AuthProvider, { auth: authHandler }, children))))))))))));
|
package/boot/SharedTree.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SharedTree.js","sourceRoot":"","sources":["SharedTree.tsx"],"names":[],"mappings":"AAAA,OAAO,iBAEN,MAAM,2CAA2C,CAAC;AAEnD,OAAO,KAAuB,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,UAAU;AACV,OAAO,EAAW,eAAe,EAAE,MAAM,cAAc,CAAC;AACxD,WAAW;AACX,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,YAAY,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,mBAAmB;AACnB,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAe,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAG3E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAgBpE,MAAM,UAAU,GAAG,CAAC,EAClB,gBAAgB,EAChB,OAAO,EACP,aAAa,EACb,QAAQ,EACR,MAAM,EACN,MAAM,EACN,WAAW,EACX,MAAM,EACN,WAAW,EACX,QAAQ,EACR,cAAc,EACd,cAAc,EACE,EAAgB,EAAE;IAClC,OAAO,CACL,oBAAC,cAAc,IAAC,MAAM,EAAE,MAAM;QAC5B,oBAAC,qBAAqB;YACpB,oBAAC,eAAe,IAAC,OAAO,EAAE,OAAO;gBAC/B,oBAAC,cAAc,IAAC,OAAO,EAAE,aAAa;oBACpC,oBAAC,kBAAkB,IAAC,KAAK,EAAE,gBAAgB;wBACzC,oBAAC,cAAc,IAAC,MAAM,EAAE,MAAM;4BAC5B,oBAAC,eAAe,IACd,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,cAAc;gCAE9B,oBAAC,iBAAiB,IAAC,QAAQ,EAAE,QAAQ;
|
1
|
+
{"version":3,"file":"SharedTree.js","sourceRoot":"","sources":["SharedTree.tsx"],"names":[],"mappings":"AAAA,OAAO,iBAEN,MAAM,2CAA2C,CAAC;AAEnD,OAAO,KAAuB,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,UAAU;AACV,OAAO,EAAW,eAAe,EAAE,MAAM,cAAc,CAAC;AACxD,WAAW;AACX,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,YAAY,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,mBAAmB;AACnB,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAe,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAG3E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAgBpE,MAAM,UAAU,GAAG,CAAC,EAClB,gBAAgB,EAChB,OAAO,EACP,aAAa,EACb,QAAQ,EACR,MAAM,EACN,MAAM,EACN,WAAW,EACX,MAAM,EACN,WAAW,EACX,QAAQ,EACR,cAAc,EACd,cAAc,EACE,EAAgB,EAAE;IAClC,OAAO,CACL,oBAAC,cAAc,IAAC,MAAM,EAAE,MAAM;QAC5B,oBAAC,qBAAqB;YACpB,oBAAC,eAAe,IAAC,OAAO,EAAE,OAAO;gBAC/B,oBAAC,cAAc,IAAC,OAAO,EAAE,aAAa;oBACpC,oBAAC,kBAAkB,IAAC,KAAK,EAAE,gBAAgB;wBACzC,oBAAC,cAAc,IAAC,MAAM,EAAE,MAAM;4BAC5B,oBAAC,eAAe,IACd,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,cAAc;gCAE9B,oBAAC,iBAAiB,IAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO;oCACrD,oBAAC,eAAe,IAAC,cAAc,EAAE,cAAc;wCAC7C,oBAAC,MAAM,kBACL,QAAQ,EACN,cAAc,CAAC,kBAAkB,EAAE,IAAI,SAAS,IAE9C,WAAW;4CAEf,oBAAC,YAAY,IAAC,IAAI,EAAE,WAAW,IAC5B,QAAQ,CACI,CACR,CACO,CACA,CACJ,CACH,CACE,CACN,CACD,CACI,CACT,CAClB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ConfigProvider.js","sourceRoot":"","sources":["ConfigProvider.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAgB,MAAM,OAAO,CAAC;AAM3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;
|
1
|
+
{"version":3,"file":"ConfigProvider.js","sourceRoot":"","sources":["ConfigProvider.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAgB,MAAM,OAAO,CAAC;AAM3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAsG5D,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAC5C,SAAS,CACV,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,EAO9B;QAP8B,EAC7B,MAAM,EAAE,UAAU,EAClB,QAAQ,OAKT,EAJI,IAAI,cAHsB,sBAI9B,CADQ;IAKP,MAAM,MAAM,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC5C,OAAO,CACL,oBAAC,iBAAiB,CAAC,QAAQ,kBAAC,KAAK,EAAE,MAAM,IAAM,IAAI,GAChD,QAAQ,CACkB,CAC9B,CAAC;AACJ,CAAC"}
|