@picked/analytics 0.0.75 → 0.0.76-next.2
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/dist/.tsbuildinfo +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/plugins/analytics/index.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/plugins/analytics/index.js +1 -1
- package/dist/src-7EIzjB45.cjs +1 -0
- package/dist/{src-C_BdMfPd.js → src-GZp0YtvD.js} +270 -264
- package/dist/types/utils.d.ts +188 -0
- package/dist/types/utils.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/src-iNGHUVHv.cjs +0 -1
package/dist/types/utils.d.ts
CHANGED
|
@@ -1,29 +1,162 @@
|
|
|
1
1
|
import type { AnalyticsContext, AppContext, Context, ContextArray, ExceptionContext, ExperienceContext, FeatureListContext, FieldListContext, FormContext, ModalContext, OrderContext, ProductListContext, ResponseListContext, SchemaUrl, SessionContext, SnowplowEventWithContext, SnowplowSelfDescribingEvent, StepContext } from './types';
|
|
2
2
|
import type { EventSchema } from './schemas';
|
|
3
|
+
/**
|
|
4
|
+
* Builds the Iglu URI that identifies a Snowplow schema and version.
|
|
5
|
+
*
|
|
6
|
+
* @param {string} schema - Schema name, such as `event` or `response_list`.
|
|
7
|
+
* @param {string} version - Schema version in Iglu's dash form, such as `1-0-0`.
|
|
8
|
+
* @returns {SchemaUrl} The fully qualified Iglu schema URI.
|
|
9
|
+
* @example schemaUrl('event', '1-0-0') // 'iglu:dev.pckd/event/jsonschema/1-0-0'
|
|
10
|
+
*/
|
|
3
11
|
export declare function schemaUrl<T extends string, U extends string>(schema: T, version: U): SchemaUrl<T, U>;
|
|
12
|
+
/**
|
|
13
|
+
* Records a debug message. The body is a stub until debug mode is wired up.
|
|
14
|
+
*
|
|
15
|
+
* @param {string} _message - The message to record.
|
|
16
|
+
* @param {...unknown} _data - Values to record alongside the message.
|
|
17
|
+
* @example log('tracked', event)
|
|
18
|
+
*/
|
|
4
19
|
export declare function log(_message: string, ..._data: unknown[]): void;
|
|
20
|
+
/**
|
|
21
|
+
* Records a warning. The body is a stub until debug mode is wired up.
|
|
22
|
+
*
|
|
23
|
+
* @param {string} _message - The message to record.
|
|
24
|
+
* @param {...unknown} _data - Values to record alongside the message.
|
|
25
|
+
* @example warn('"form" is required for this event', event)
|
|
26
|
+
*/
|
|
5
27
|
export declare function warn(_message: string, ..._data: unknown[]): void;
|
|
28
|
+
/**
|
|
29
|
+
* Records an error. The body is a stub until debug mode is wired up.
|
|
30
|
+
*
|
|
31
|
+
* @param {string} _message - The message to record.
|
|
32
|
+
* @param {...unknown} _data - Values to record alongside the message.
|
|
33
|
+
* @example error('tracker failed', reason)
|
|
34
|
+
*/
|
|
6
35
|
export declare function error(_message: string, ..._data: unknown[]): void;
|
|
36
|
+
/**
|
|
37
|
+
* Assembles a self-describing Snowplow event from a type, its contexts and its meta.
|
|
38
|
+
* Contexts that resolved to `undefined` are dropped, so a caller can pass an optional
|
|
39
|
+
* context inline.
|
|
40
|
+
*
|
|
41
|
+
* @param {string} type - The event type carried in the event's `data`.
|
|
42
|
+
* @param {ContextArray} context - The contexts to attach, `undefined` entries included.
|
|
43
|
+
* @param {EventSchema['meta']} [meta] - Event meta; defaults to an empty object.
|
|
44
|
+
* @returns {SnowplowSelfDescribingEvent} The event ready to hand to the tracker.
|
|
45
|
+
* @example createEvent('step_submit', [createContext('step', '1-0-1', step)])
|
|
46
|
+
*/
|
|
7
47
|
export declare function createEvent<E extends SnowplowEventWithContext<string, ContextArray, ContextArray>>(type: E['event']['data']['type'], context: E['context'], meta?: E['event']['data']['meta']): SnowplowSelfDescribingEvent;
|
|
48
|
+
/**
|
|
49
|
+
* Wraps context data in its Iglu schema envelope.
|
|
50
|
+
*
|
|
51
|
+
* @param {string} schema - Schema name for the context.
|
|
52
|
+
* @param {string} version - Schema version in Iglu's dash form.
|
|
53
|
+
* @param {Record<string, unknown>} data - The context payload.
|
|
54
|
+
* @returns {Context} The context with its `schema` and `data` members.
|
|
55
|
+
* @example createContext('app', '1-0-0', { project_id: 'proj1' })
|
|
56
|
+
*/
|
|
8
57
|
export declare function createContext<S extends string, V extends string, D extends Record<string, unknown>>(schema: S, version: V, data: D): Context<SchemaUrl<S, V>, D>;
|
|
58
|
+
/**
|
|
59
|
+
* Builds a tracking function for one event type. The returned function formats its
|
|
60
|
+
* payload through `formatter` and hands the result to the Snowplow tracker.
|
|
61
|
+
*
|
|
62
|
+
* @param {string} eventName - The event type the returned function tracks.
|
|
63
|
+
* @param {(payload: never, meta?: EventSchema['meta']) => SnowplowSelfDescribingEvent} formatter - Formats a payload into a self-describing event.
|
|
64
|
+
* @returns {(payload: never, meta?: EventSchema['meta']) => void} A function that formats and tracks one event.
|
|
65
|
+
* @example const trackStepSubmit = createTrackEvent('step_submit', formatEvent)
|
|
66
|
+
*/
|
|
9
67
|
export declare function createTrackEvent(eventName: string, formatter: (_: null, eventMeta?: EventSchema['meta']) => SnowplowSelfDescribingEvent): (eventMeta?: EventSchema['meta']) => void;
|
|
10
68
|
export declare function createTrackEvent<P>(eventName: string, formatter: (eventPayload: P, eventMeta?: EventSchema['meta']) => SnowplowSelfDescribingEvent): (eventPayload: P, eventMeta?: EventSchema['meta']) => void;
|
|
69
|
+
/**
|
|
70
|
+
* Builds a binder for one DOM event type. The returned function attaches the handler to
|
|
71
|
+
* a target at most once per type, and reads a fresh analytics context on every
|
|
72
|
+
* interaction.
|
|
73
|
+
*
|
|
74
|
+
* @param {string} type - The DOM event type to listen for.
|
|
75
|
+
* @param {(interaction: { analyticsContext: AnalyticsContext; event: Event }) => void} handler - Receives the event and the analytics context read at interaction time.
|
|
76
|
+
* @param {AddEventListenerOptions | boolean} [options] - Listener options; defaults to `{ passive: true }`.
|
|
77
|
+
* @returns {(target: EventTarget, createAnalyticsContext: () => AnalyticsContext) => void} A binder taking the target and a context factory.
|
|
78
|
+
* @example const bindClick = createBindListener('click', onClick)
|
|
79
|
+
*/
|
|
11
80
|
export declare function createBindListener<T extends Event = Event>(type: string, handler: (interaction: {
|
|
12
81
|
analyticsContext: AnalyticsContext;
|
|
13
82
|
event: T;
|
|
14
83
|
}) => void, options?: AddEventListenerOptions | boolean): (target: EventTarget, createAnalyticsContext: () => AnalyticsContext) => void;
|
|
84
|
+
/**
|
|
85
|
+
* Builds a binder that attaches the handler to `document` at most once per event type.
|
|
86
|
+
* The binder is inert where there is no document.
|
|
87
|
+
*
|
|
88
|
+
* @param {string} type - The DOM event type to listen for.
|
|
89
|
+
* @param {(interaction: { analyticsContext: AnalyticsContext; event: Event }) => void} handler - Receives the event and the analytics context read at interaction time.
|
|
90
|
+
* @returns {(createAnalyticsContext: () => AnalyticsContext) => void} A binder taking a context factory.
|
|
91
|
+
* @example const bindVisibility = createDocumentBindListener('visibilitychange', onHide)
|
|
92
|
+
*/
|
|
15
93
|
export declare function createDocumentBindListener<T extends Event = Event>(type: string, handler: (interaction: {
|
|
16
94
|
analyticsContext: AnalyticsContext;
|
|
17
95
|
event: T;
|
|
18
96
|
}) => void): (createAnalyticsContext: () => AnalyticsContext) => void;
|
|
97
|
+
/**
|
|
98
|
+
* Builds a binder that attaches the handler to `window` at most once per event type.
|
|
99
|
+
* The binder is inert where there is no window.
|
|
100
|
+
*
|
|
101
|
+
* @param {string} type - The DOM event type to listen for.
|
|
102
|
+
* @param {(interaction: { analyticsContext: AnalyticsContext; event: Event }) => void} handler - Receives the event and the analytics context read at interaction time.
|
|
103
|
+
* @returns {(createAnalyticsContext: () => AnalyticsContext) => void} A binder taking a context factory.
|
|
104
|
+
* @example const bindUnload = createWindowBindListener('beforeunload', onLeave)
|
|
105
|
+
*/
|
|
19
106
|
export declare function createWindowBindListener<T extends Event = Event>(type: string, handler: (interaction: {
|
|
20
107
|
analyticsContext: AnalyticsContext;
|
|
21
108
|
event: T;
|
|
22
109
|
}) => void): (createAnalyticsContext: () => AnalyticsContext) => void;
|
|
110
|
+
/**
|
|
111
|
+
* Builds the Snowplow `feature_list` context from the features the session resolved.
|
|
112
|
+
* A context with no features carries an empty list.
|
|
113
|
+
*
|
|
114
|
+
* @param {AnalyticsContext} event - Analytics context carrying the resolved features.
|
|
115
|
+
* @returns {FeatureListContext['data']} The feature list context data.
|
|
116
|
+
* @example formatFeatureListContextData({ projectId: 'p', features: [] }) // { items: [] }
|
|
117
|
+
*/
|
|
23
118
|
export declare function formatFeatureListContextData(event: AnalyticsContext): FeatureListContext['data'];
|
|
119
|
+
/**
|
|
120
|
+
* Builds the Snowplow `app` context. A missing project id is reported and replaced with
|
|
121
|
+
* an `unknown` placeholder, so the event still reaches the collector.
|
|
122
|
+
*
|
|
123
|
+
* @param {AnalyticsContext} event - Analytics context carrying the project id.
|
|
124
|
+
* @returns {AppContext['data']} The app context data.
|
|
125
|
+
* @example formatAppContextData({ projectId: 'proj1' }) // { project_id: 'proj1' }
|
|
126
|
+
*/
|
|
24
127
|
export declare function formatAppContextData(event: AnalyticsContext): AppContext['data'];
|
|
128
|
+
/**
|
|
129
|
+
* Builds the Snowplow `session` context, folding in the session identifiers, the Google
|
|
130
|
+
* Analytics client id read from the `_ga` cookie, and any Shopify session tokens.
|
|
131
|
+
*
|
|
132
|
+
* @param {AnalyticsContext} event - Analytics context carrying the session.
|
|
133
|
+
* @returns {SessionContext['data']} The session context data.
|
|
134
|
+
* @example formatSessionContextData({ projectId: 'p', sessionId: 's1' }) // { id: 's1' }
|
|
135
|
+
*/
|
|
25
136
|
export declare function formatSessionContextData(event: AnalyticsContext): SessionContext['data'];
|
|
137
|
+
/**
|
|
138
|
+
* Builds the Snowplow `field_list` context from the fields on the current step. The
|
|
139
|
+
* context describes the fields themselves — their type, label and options — and carries
|
|
140
|
+
* no captured value.
|
|
141
|
+
*
|
|
142
|
+
* @param {AnalyticsContext} event - Analytics context carrying the fields.
|
|
143
|
+
* @returns {FieldListContext['data'] | undefined} The field list context data, or `undefined` when no fields are present.
|
|
144
|
+
* @example formatFieldListContextData({ projectId: 'p', fields }) // { items: [...] }
|
|
145
|
+
*/
|
|
26
146
|
export declare function formatFieldListContextData(event: AnalyticsContext): FieldListContext['data'] | undefined;
|
|
147
|
+
/**
|
|
148
|
+
* Builds the Snowplow `response_list` context from the responses whose fields opt into
|
|
149
|
+
* tracking. Every event that carries this context passes through here, so this is the
|
|
150
|
+
* single point at which a field's tracking policy is enforced. The context is omitted
|
|
151
|
+
* when no response survives the filter.
|
|
152
|
+
*
|
|
153
|
+
* @param {AnalyticsContext} event - Analytics context carrying the responses and the fields they belong to.
|
|
154
|
+
* @returns {ResponseListContext['data'] | undefined} The response list context data, or `undefined` when nothing is trackable.
|
|
155
|
+
* @example
|
|
156
|
+
* const fields = [{ key: 'colour', policies: { doNotTrackValue: false }, ... }]
|
|
157
|
+
* formatResponseListContextData({ projectId: 'p', fields, responses: [{ fieldKey: 'colour', value: 'blue' }] })
|
|
158
|
+
* // { items: [{ field_id: 'colour', values: [{ value: 'blue' }] }] }
|
|
159
|
+
*/
|
|
27
160
|
export declare function formatResponseListContextData(event: AnalyticsContext): ResponseListContext['data'] | undefined;
|
|
28
161
|
/**
|
|
29
162
|
* Builds the Snowplow `step` context, emitting the stable `key` alongside the
|
|
@@ -38,20 +171,75 @@ export declare function formatResponseListContextData(event: AnalyticsContext):
|
|
|
38
171
|
*/
|
|
39
172
|
export declare function formatStepContextData(event: AnalyticsContext, required: true): StepContext['data'];
|
|
40
173
|
export declare function formatStepContextData(event: AnalyticsContext, required?: false): StepContext['data'] | undefined;
|
|
174
|
+
/**
|
|
175
|
+
* Builds the Snowplow `product_list` context, accepting either a bare item array or an
|
|
176
|
+
* object carrying a title alongside its items. When the list is absent and `required` is
|
|
177
|
+
* set, the absence is reported and an `unknown` placeholder is returned.
|
|
178
|
+
*
|
|
179
|
+
* @param {AnalyticsContext} event - Analytics context carrying the product list.
|
|
180
|
+
* @param {boolean} [required] - When `true`, returns a placeholder instead of `undefined`.
|
|
181
|
+
* @returns {ProductListContext['data'] | undefined} The product list context data, or `undefined` when absent and not required.
|
|
182
|
+
* @example formatProductListContextData({ projectId: 'p', productList: [] }, true)
|
|
183
|
+
*/
|
|
41
184
|
export declare function formatProductListContextData(event: AnalyticsContext, required: true): ProductListContext['data'];
|
|
42
185
|
export declare function formatProductListContextData(event: AnalyticsContext, required?: false): ProductListContext['data'] | undefined;
|
|
186
|
+
/**
|
|
187
|
+
* Builds the Snowplow `order` context. When the order is absent and `required` is set,
|
|
188
|
+
* the absence is reported and an `unknown` placeholder is returned.
|
|
189
|
+
*
|
|
190
|
+
* @param {AnalyticsContext} event - Analytics context carrying the order.
|
|
191
|
+
* @param {boolean} [required] - When `true`, returns a placeholder instead of `undefined`.
|
|
192
|
+
* @returns {OrderContext['data'] | undefined} The order context data, or `undefined` when absent and not required.
|
|
193
|
+
* @example formatOrderContextData({ projectId: 'p', order: { id: 'o1' } })
|
|
194
|
+
*/
|
|
43
195
|
export declare function formatOrderContextData(event: AnalyticsContext, required: true): OrderContext['data'];
|
|
44
196
|
export declare function formatOrderContextData(event: AnalyticsContext, required?: false): OrderContext['data'] | undefined;
|
|
197
|
+
/**
|
|
198
|
+
* Builds the Snowplow `experience` context. When the experience is absent and `required`
|
|
199
|
+
* is set, the absence is reported and an `unknown` placeholder is returned.
|
|
200
|
+
*
|
|
201
|
+
* @param {AnalyticsContext} event - Analytics context carrying the experience.
|
|
202
|
+
* @param {boolean} [required] - When `true`, returns a placeholder instead of `undefined`.
|
|
203
|
+
* @returns {ExperienceContext['data'] | undefined} The experience context data, or `undefined` when absent and not required.
|
|
204
|
+
* @example formatExperienceContextData({ projectId: 'p', experience })
|
|
205
|
+
*/
|
|
45
206
|
export declare function formatExperienceContextData(event: AnalyticsContext, required: true): ExperienceContext['data'];
|
|
46
207
|
export declare function formatExperienceContextData(event: AnalyticsContext, required?: false): ExperienceContext['data'] | undefined;
|
|
208
|
+
/**
|
|
209
|
+
* Builds the Snowplow `exception` context from either a bare reason string or a field
|
|
210
|
+
* validation error. When the exception is absent and `required` is set, the absence is
|
|
211
|
+
* reported and an `unknown` placeholder is returned.
|
|
212
|
+
*
|
|
213
|
+
* @param {AnalyticsContext} event - Analytics context carrying the exception.
|
|
214
|
+
* @param {boolean} [required] - When `true`, returns a placeholder instead of `undefined`.
|
|
215
|
+
* @returns {ExceptionContext['data'] | undefined} The exception context data, or `undefined` when absent and not required.
|
|
216
|
+
* @example formatExceptionContextData({ projectId: 'p', exception: 'timeout' })
|
|
217
|
+
*/
|
|
47
218
|
export declare function formatExceptionContextData(event: AnalyticsContext, required: true): ExceptionContext['data'];
|
|
48
219
|
export declare function formatExceptionContextData(event: AnalyticsContext, required?: false): ExceptionContext['data'] | undefined;
|
|
220
|
+
/**
|
|
221
|
+
* Builds the Snowplow `form` context. A missing form is reported and replaced with an
|
|
222
|
+
* `unknown` placeholder, because every event carrying this context requires one.
|
|
223
|
+
*
|
|
224
|
+
* @param {AnalyticsContext} event - Analytics context carrying the form.
|
|
225
|
+
* @returns {FormContext['data']} The form context data.
|
|
226
|
+
* @example formatFormContextData({ projectId: 'p', form: { id: 'f1', title: 'Quote' } })
|
|
227
|
+
*/
|
|
49
228
|
export declare function formatFormContextData(event: AnalyticsContext): FormContext['data'];
|
|
229
|
+
/**
|
|
230
|
+
* Builds the Snowplow `modal` context. A missing modal is reported and replaced with an
|
|
231
|
+
* `unknown` placeholder, because every event carrying this context requires one.
|
|
232
|
+
*
|
|
233
|
+
* @param {AnalyticsContext} event - Analytics context carrying the modal.
|
|
234
|
+
* @returns {ModalContext['data']} The modal context data.
|
|
235
|
+
* @example formatModalContextData({ projectId: 'p', modal: { id: 'm1', title: 'Offer' } })
|
|
236
|
+
*/
|
|
50
237
|
export declare function formatModalContextData(event: AnalyticsContext): ModalContext['data'];
|
|
51
238
|
/**
|
|
52
239
|
* Creates a debounced version of the supplied function that will only invoke
|
|
53
240
|
* the original after `ms` milliseconds have elapsed since the last call.
|
|
54
241
|
*
|
|
242
|
+
* @template Fn
|
|
55
243
|
* @param {Fn} fn - The function to debounce.
|
|
56
244
|
* @param {number} ms - The debounce window in milliseconds.
|
|
57
245
|
* @returns {(...args: Parameters<Fn>) => void} A debounced wrapper around `fn`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,gBAAgB,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@picked/analytics",
|
|
3
3
|
"description": "Picked Analytics",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.76-next.2",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"@snowplow/browser-plugin-button-click-tracking": "^4.10.0",
|
|
7
7
|
"@snowplow/browser-plugin-error-tracking": "^4.10.0",
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"main": "./dist/cjs/index.js",
|
|
57
57
|
"module": "./dist/esm/index.js",
|
|
58
58
|
"peerDependencies": {
|
|
59
|
-
"@picked/client": "0.0.
|
|
59
|
+
"@picked/client": "0.0.76-next.2",
|
|
60
60
|
"effector": "^23.4.4"
|
|
61
61
|
},
|
|
62
62
|
"private": false,
|
package/dist/src-iNGHUVHv.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
let e=require("@snowplow/browser-tracker"),t=require("@snowplow/browser-plugin-button-click-tracking"),n=require("@snowplow/browser-plugin-performance-navigation-timing"),r=require("@snowplow/browser-plugin-error-tracking"),i=require("@snowplow/browser-plugin-web-vitals"),a=require("@picked/client");function o(e,t){return`iglu:dev.pckd/${e}/jsonschema/${t}`}function s(e,t,n={}){return{event:{schema:o(`event`,`1-0-0`),data:{type:e,meta:n}},context:t.filter(e=>e!==void 0)}}function c(e,t,n){return{schema:o(e,t),data:n}}function l(t,n){return(t,r)=>{let i=n(t,r);(0,e.trackSelfDescribingEvent)(i)}}function u(e,t,n={passive:!0}){let r=new WeakMap;return(i,a)=>{let o=r.get(i);if(o||(o=new Set,r.set(i,o)),o.has(e))return;function s(e){t({event:e,analyticsContext:a()})}i.addEventListener(e,s,n),o.add(e)}}function d(e,t){let n=new Set;return r=>{if(n.has(e)||!(0,a.supportsDocument)())return;function i(e){t({event:e,analyticsContext:r()})}document.addEventListener(e,i,{passive:!0}),n.add(e)}}function f(e,t){let n=new Set;return r=>{if(n.has(e)||!(0,a.supportsWindow)())return;function i(e){t({event:e,analyticsContext:r()})}window.addEventListener(e,i,{passive:!0}),n.add(e)}}function p(e){return{items:e.features?.map(({feature:e,name:t,key:n,bucket:r})=>({ab_feature:e,ab_name:t,ab_key:n,ab_bucket:r}))||[]}}var m=`unknown`;function h(e){let t=D(),n={id:e.sessionId||null};return e.isUser!==void 0&&(n.is_user=e.isUser),e.identifiers&&Object.assign(n,e.identifiers),t&&(n.gaid=t),e.shopifySession?.clientId&&(n.shopify_client_id=e.shopifySession.clientId),e.shopifySession?.customerId&&(n.shopify_customer_id=e.shopifySession.customerId),e.shopifySession?.checkoutToken&&(n.shopify_checkout_token=e.shopifySession.checkoutToken),n}function g(e){if(e.fields)return{items:e.fields.map(({id:e,type:t,label:n,options:r})=>({id:e,type:t,label:n,options:Array.isArray(r)?r.map(({id:e,label:t,value:n})=>({id:e,label:t,value:n})):void 0}))}}function _(e){if(e.responses)return{items:e.responses.map(({fieldKey:e,value:t})=>({field_id:e,values:Array.isArray(t)?t.map(e=>({value:e})):[{value:t}]}))}}function v(e,t=!1){let{step:n}=e;if(n)return{id:n.id,title:n.name,key:n.key};if(t)return{id:m,title:m,key:m}}function y(e,t=!1){let{productList:n}=e;if(n){let e={};`title`in n&&n.title&&Object.assign(e,{title:n.title});let t=`items`in n?n.items:n;return Object.assign(e,{items:t.map(e=>({item_id:e.itemId,item_name:e.itemName,affiliation:e.affiliation,coupon:e.coupon,currency:e.currency,creative_name:e.creativeName,creative_slot:e.creativeSlot,discount:E(e.discount),index:E(e.index),item_brand:e.itemBrand,item_category:e.itemCategory,item_category2:e.itemCategory2,item_category3:e.itemCategory3,item_category4:e.itemCategory4,item_category5:e.itemCategory5,item_list_id:e.itemListId,item_list_name:e.itemListName,item_variant:e.itemVariant,location_id:e.locationId,price:E(e.price),promotion_id:e.promotionId,promotion_name:e.promotionName,quantity:E(e.quantity),in_stock:e.inStock}))}),e}if(t)return{items:[]}}function b(e,t=!1){let{order:n}=e;if(n){let e={id:n.id};return n.checkoutToken&&(e.checkout_token=n.checkoutToken),n.cartToken&&(e.cart_token=n.cartToken),n.customerId&&(e.customer_id=n.customerId),e}if(t)return{id:m}}function x(e,t=!1){let{experience:n}=e;if(n)return{id:n.id,title:n.title};if(t)return{id:m,title:m}}function S(e,t=!1){let{exception:n}=e;if(n)return typeof n==`string`?{reason:n}:{reason:n.systemMessage};if(t)return{reason:m}}function C(e){let{form:t}=e;return t?{id:t.id,title:t.title}:{id:m,title:m}}function w(e){let{modal:t}=e;return t?{id:t.id,title:t.title}:{id:m,title:m}}function T(e,t=300){let n;return(...r)=>{clearTimeout(n),n=setTimeout(()=>e(...r),t)}}function E(e){if(typeof e==`number`)return e;if(typeof e!=`string`)return;let t=parseFloat(e);if(!isNaN(t))return t}function D(){if(!(0,a.supportsDocument)()||!(0,a.supportsCookies)())return null;let e=document.cookie?document.cookie.split(`;`):[];for(let t of e){let e=t.trim();if(e.startsWith(`_ga=`)){let t=e.substring(4).split(`.`);if(t.length>2)return t.slice(2).join(`.`)}}}var O=Object.freeze([/token$/i,/apikey$/i,/secret$/i,/password$/i,/email$/i,/^code$/i]),ee=[`url`,`refr`],te=`REDACTED`,ne=/[_-]/g;function re(e){try{return decodeURIComponent(e).toLowerCase().replace(ne,``)}catch{return e.toLowerCase().replace(ne,``)}}function ie(e){let t=e.indexOf(`=`);if(t===-1)return e;let n=e.slice(0,t),r=re(n);return O.some(e=>e.test(r))?`${n}=${te}`:e}function ae(e){return e===``?e:e.split(`&`).map(e=>ie(e)).join(`&`)}function oe(e){let t=e.indexOf(`#`),n=t===-1?e:e.slice(0,t),r=t===-1?``:e.slice(t+1),i=n.indexOf(`?`),a=i===-1?n:n.slice(0,i),o=i===-1?``:n.slice(i+1),s=ae(o),c=ae(r);return s===o&&c===r?e:`${a}${i===-1?``:`?${s}`}${t===-1?``:`#${c}`}`}function se(e,t){let n=e.getPayload()[t];if(typeof n!=`string`)return;let r=oe(n);r!==n&&e.add(t,r)}function ce(){return{beforeTrack:e=>{try{for(let t of ee)se(e,t)}catch{}}}}function le(e){let a=[ce()];return e.trackErrors&&a.push((0,r.ErrorTrackingPlugin)()),e.trackVitals&&a.push((0,i.WebVitalsPlugin)()),e.trackPerformance&&a.push((0,n.PerformanceNavigationTimingPlugin)()),(e.trackButtonClickAllowList||e.trackButtonClickFilter)&&a.push((0,t.ButtonClickTrackingPlugin)()),a}function ue(n){n.trackActivity&&!n.trackActivityCallback&&(0,e.enableActivityTracking)({minimumVisitLength:30,heartbeatDelay:10}),n.trackActivity&&n.trackActivityCallback&&(0,e.enableActivityTrackingCallback)({minimumVisitLength:30,heartbeatDelay:10,callback:n.trackActivityCallback}),(n.trackButtonClickAllowList||n.trackButtonClickFilter)&&(0,t.enableButtonClickTracking)({filter:n.trackButtonClickAllowList?{allowlist:n.trackButtonClickAllowList}:n.trackButtonClickFilter}),n.trackErrors&&(0,r.enableErrorTracking)()}function de({projectId:t,cvlyX:n,deployment:r,collectorUrl:i=`evnts.pckd.dev`,collectorPath:a,appId:o=`picked-analytics`,trackVitals:s=!1,trackPerformance:c=!1,trackWebPage:l=!0,trackSessions:u=!0,trackBrowser:d=!0,trackActivity:f=!1,trackErrors:p=!1,trackActivityCallback:m,trackButtonClickAllowList:h}){let g={trackVitals:s,trackErrors:p,trackActivity:f,trackPerformance:c,trackActivityCallback:m,trackButtonClickAllowList:h,deployment:r},_=a?{postPath:a,eventMethod:`post`}:{},v={appId:o,platform:`web`,keepalive:!0,contexts:{webPage:l,session:u,browser:d||!1},plugins:le(g),..._},y=(0,e.newTracker)(o,i,v);return fe({projectId:t,cvlyX:n,deployment:r}),ue(g),y}function fe({projectId:t,cvlyX:n,deployment:r}){if(!t)throw Error(`bindGlobalContext: projectId is required`);let i=[];i.push(c(`app`,`1-1-0`,{project_id:t}),c(`deployment`,`1-0-1`,{sha:r.sha,id:r.id,env:r.env,host:r.host})),n&&i.push(c(`cvly_x`,`1-0-1`,{vercel_deployment_id:n.vercelDeploymentId,vercel_env:n.vercelEnv,vercel_url:n.vercelUrl})),(0,e.addGlobalContexts)(i)}var pe=`app_close`;function me(e,t){let n=p(e),r=h(e),i=x(e),a=v(e);return s(pe,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),a?c(`step`,`1-0-1`,a):void 0,i?c(`experience`,`1-0-1`,i):void 0],t)}var he=l(pe,me),ge=`app_initialize`;function _e(e,t){let n=p(e),r=h(e),i=x(e),a=v(e);return s(ge,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),a?c(`step`,`1-0-1`,a):void 0,i?c(`experience`,`1-0-1`,i):void 0],t)}var ve=l(ge,_e),ye=`app_load`;function be(e,t){let n=p(e),r=h(e),i=x(e),a=v(e);return s(ye,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),a?c(`step`,`1-0-1`,a):void 0,i?c(`experience`,`1-0-1`,i):void 0],t)}var xe=l(ye,be),Se=`app_open`;function Ce(e,t){let n=p(e),r=h(e),i=x(e),a=v(e);return s(Se,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),a?c(`step`,`1-0-1`,a):void 0,i?c(`experience`,`1-0-1`,i):void 0],t)}var we=l(Se,Ce),Te=`experience_load`;function Ee(e,t){let n=p(e),r=h(e),i=x(e,!0),a=v(e);return s(Te,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),c(`experience`,`1-0-1`,i),a?c(`step`,`1-0-1`,a):void 0],t)}var De=l(Te,Ee),Oe=`feature_decide`;function ke(e,t){let n=p(e),r=h(e),i=x(e),a=v(e);return s(Oe,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),a?c(`step`,`1-0-1`,a):void 0,i?c(`experience`,`1-0-1`,i):void 0],t)}var Ae=l(Oe,ke),je=`step_complete`;function Me(e,t){let n=p(e),r=h(e),i=x(e),a=v(e,!0),o=_(e),l=g(e);return s(je,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),c(`step`,`1-0-1`,a),l&&c(`field_list`,`1-0-0`,l),o&&c(`response_list`,`1-0-0`,o),i&&c(`experience`,`1-0-1`,i)],t)}var Ne=l(je,Me),Pe=`step_enter`;function Fe(e,t){let n=p(e),r=h(e),i=x(e),a=v(e,!0),o=g(e);return s(Pe,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),c(`step`,`1-0-1`,a),o&&c(`field_list`,`1-0-0`,o),i&&c(`experience`,`1-0-1`,i)],t)}var Ie=l(Pe,Fe),Le=`step_submit`;function Re(e,t){let n=p(e),r=h(e),i=x(e),a=v(e,!0),o=_(e),l=g(e);return s(Le,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),c(`step`,`1-0-1`,a),l&&c(`field_list`,`1-0-0`,l),o&&c(`response_list`,`1-0-0`,o),i&&c(`experience`,`1-0-1`,i)],t)}var ze=l(Le,Re),Be=`step_submit_error`;function Ve(e,t){let n=p(e),r=h(e),i=S(e,!0),a=x(e),o=v(e,!0),l=g(e),u=_(e);return s(Be,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),c(`exception`,`1-0-0`,i),c(`step`,`1-0-1`,o),l&&c(`field_list`,`1-0-0`,l),u&&c(`response_list`,`1-0-0`,u),a&&c(`experience`,`1-0-1`,a)],t)}var He=l(Be,Ve),Ue=`step_submit_success`;function We(e,t){let n=p(e),r=h(e),i=x(e),a=v(e,!0),o=g(e),l=_(e);return s(Ue,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),c(`step`,`1-0-1`,a),o&&c(`field_list`,`1-0-0`,o),l&&c(`response_list`,`1-0-0`,l),i&&c(`experience`,`1-0-1`,i)],t)}var Ge=l(Ue,We),Ke=`cart_add`;function qe(e,t){let n=p(e),r=h(e),i=y(e,!0),a=x(e),o=v(e);return s(Ke,[c(`app`,`1-1-0`,{project_id:e.projectId}),c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),c(`product_list`,`2-0-1`,i),a&&c(`experience`,`1-0-1`,a),o&&c(`step`,`1-0-1`,o)],t)}function Je(e,t){return qe(e,t)}var Ye=l(Ke,qe),Xe=`cart_remove`;function Ze(e,t){let n=p(e),r=h(e),i=y(e,!0),a=x(e),o=v(e);return s(Xe,[c(`app`,`1-1-0`,{project_id:e.projectId}),c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),c(`product_list`,`2-0-1`,i),a&&c(`experience`,`1-0-1`,a),o&&c(`step`,`1-0-1`,o)],t)}function Qe(e,t){return Ze(e,t)}var $e=l(Xe,Ze),et=`checkout_complete`;function tt(e,t){let n=p(e),r=h(e),i=y(e,!0),a=b(e,!0),o=x(e),l=v(e);return s(et,[c(`app`,`1-1-0`,{project_id:e.projectId}),c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),c(`product_list`,`2-0-1`,i),c(`order`,`1-0-0`,a),o&&c(`experience`,`1-0-1`,o),l&&c(`step`,`1-0-1`,l)],t)}function nt(e,t){return tt(e,t)}var rt=l(et,tt),it=`checkout_start`;function at(e,t){let n=p(e),r=h(e),i=y(e,!0),a=x(e),o=v(e);return s(it,[c(`app`,`1-1-0`,{project_id:e.projectId}),c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),c(`product_list`,`2-0-1`,i),a&&c(`experience`,`1-0-1`,a),o&&c(`step`,`1-0-1`,o)],t)}function ot(e,t){return at(e,t)}var st=l(it,at),ct=`order_create`;function k(e,t){let n=p(e),r=h(e),i=y(e,!0),a=b(e,!0),o=x(e),l=v(e);return s(ct,[c(`app`,`1-1-0`,{project_id:e.projectId}),c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),c(`product_list`,`2-0-1`,i),c(`order`,`1-0-0`,a),o&&c(`experience`,`1-0-1`,o),l&&c(`step`,`1-0-1`,l)],t)}function lt(e,t){return k(e,t)}var ut=l(ct,k),A=`product_list_view`;function j(e,t){let n=p(e),r=h(e),i=y(e,!0),a=x(e),o=v(e);return s(A,[c(`app`,`1-1-0`,{project_id:e.projectId}),c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),c(`product_list`,`2-0-1`,i),o?c(`step`,`1-0-1`,o):void 0,a?c(`experience`,`1-0-1`,a):void 0],t)}function dt(e,t){return j(e,t)}var ft=l(A,j),M=`product_select`;function pt(e,t){let n=p(e),r=h(e),i=y(e,!0),a=x(e),o=v(e);return s(M,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),c(`product_list`,`2-0-1`,i),a&&c(`experience`,`1-0-1`,a),o&&c(`step`,`1-0-1`,o)],t)}var mt=l(M,pt),N=`product_view_details`;function ht(e,t){let n=p(e),r=h(e),i=y(e,!0),a=x(e),o=v(e);return s(N,[c(`app`,`1-1-0`,{project_id:e.projectId}),c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),c(`product_list`,`2-0-1`,i),a&&c(`experience`,`1-0-1`,a),o&&c(`step`,`1-0-1`,o)],t)}function gt(e,t){return ht(e,t)}var _t=l(N,ht),vt=`recommendation_present`;function yt(e,t){let n=p(e),r=h(e),i=x(e),a=v(e),o=y(e,!0);return s(vt,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),c(`product_list`,`2-0-1`,o),i&&c(`experience`,`1-0-1`,i),a&&c(`step`,`1-0-1`,a)],t)}var bt=l(vt,yt),xt=`search_results_list_view`;function St(e,t){let n=p(e),r=h(e),i=y(e,!0),a=x(e),o=v(e);return s(xt,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),c(`product_list`,`2-0-1`,i),o?c(`step`,`1-0-1`,o):void 0,a?c(`experience`,`1-0-1`,a):void 0],t)}var Ct=l(xt,St),wt=`waitlist_join`;function Tt(e,t){let n=p(e),r=h(e),i=x(e),a=v(e),o=y(e);return s(wt,[c(`app`,`1-1-0`,{project_id:e.projectId}),c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),a?c(`step`,`1-0-1`,a):void 0,i?c(`experience`,`1-0-1`,i):void 0,o?c(`product_list`,`2-0-1`,o):void 0],t)}var Et=l(wt,Tt),Dt=`wishlist_add`;function Ot(e,t){let n=p(e),r=h(e),i=y(e,!0),a=x(e),o=v(e);return s(Dt,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),c(`product_list`,`2-0-1`,i),a&&c(`experience`,`1-0-1`,a),o&&c(`step`,`1-0-1`,o)],t)}var kt=l(Dt,Ot),At=`field_validation_error`;function jt(e,t){let n=p(e),r=h(e),i=C(e),a=S(e,!0),o=x(e),l=v(e);return s(At,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),c(`exception`,`1-0-0`,a),c(`form`,`1-0-0`,i),o&&c(`experience`,`1-0-1`,o),l&&c(`step`,`1-0-1`,l)],t)}var Mt=l(At,jt),Nt=`form_submit`;function Pt(e,t){let n=p(e),r=h(e),i=C(e),a=x(e),o=v(e);return s(Nt,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),c(`form`,`1-0-0`,i),a&&c(`experience`,`1-0-1`,a),o&&c(`step`,`1-0-1`,o)],t)}var Ft=l(Nt,Pt),It=`form_submit_error`;function Lt(e,t){let n=p(e),r=h(e),i=C(e),a=S(e,!0),o=x(e),l=v(e);return s(It,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),c(`form`,`1-0-0`,i),c(`exception`,`1-0-0`,a),o&&c(`experience`,`1-0-1`,o),l&&c(`step`,`1-0-1`,l)],t)}var Rt=l(It,Lt),zt=`form_submit_success`;function Bt(e,t){let n=p(e),r=h(e),i=C(e),a=x(e),o=v(e);return s(zt,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),c(`form`,`1-0-0`,i),a&&c(`experience`,`1-0-1`,a),o&&c(`step`,`1-0-1`,o)],t)}var Vt=l(zt,Bt),Ht=`identify`;function Ut(e,t){let n=p(e),r=h(e),i=x(e),a=v(e);return s(Ht,[c(`app`,`1-1-0`,{project_id:e.projectId}),c(`session`,`1-0-4`,r),c(`feature_list`,`2-0-0`,n),a?c(`step`,`1-0-1`,a):void 0,i?c(`experience`,`1-0-1`,i):void 0],t)}function Wt(e,t){return Ut(e,t)}var Gt=l(Ht,Ut),Kt=`lead_capture`;function qt(e,t){let n=p(e),r=h(e),i=x(e),a=v(e);return s(Kt,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),a&&c(`step`,`1-0-1`,a),i&&c(`experience`,`1-0-1`,i)],t)}var Jt=l(Kt,qt),Yt=`modal_close`;function Xt(e,t){let n=p(e),r=h(e),i=w(e),a=x(e),o=v(e);return s(Yt,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),c(`modal`,`1-0-0`,i),a&&c(`experience`,`1-0-1`,a),o&&c(`step`,`1-0-1`,o)],t)}var Zt=l(Yt,Xt),Qt=`modal_open`;function $t(e,t){let n=p(e),r=h(e),i=w(e),a=x(e),o=v(e);return s(Qt,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),c(`modal`,`1-0-0`,i),a&&c(`experience`,`1-0-1`,a),o&&c(`step`,`1-0-1`,o)],t)}var en=l(Qt,$t),tn=`page_view`;function nn(e,t){let n=p(e),r=h(e),i=x(e),a=v(e),o=y(e);return s(tn,[c(`app`,`1-1-0`,{project_id:e.projectId}),c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),a?c(`step`,`1-0-1`,a):void 0,i?c(`experience`,`1-0-1`,i):void 0,o?c(`product_list`,`2-0-1`,o):void 0],t)}function rn(e,t){return nn(e,t)}var an=l(tn,nn);function P(e){return e instanceof Element}function on(e){return`data-picked-${e.replaceAll(`_`,`-`)}`}function F(e){let t=[`a`,`button`,`input`,`select`,`textarea`,`details`,`summary`,`label`,`form`,`fieldset`,`legend`,`optgroup`,`option`,`output`,`datalist`,`dialog`,`menu`,`menuitem`,`iframe`,`audio`,`video`,`embed`,`object`,`canvas`].join(`, `);return P(e)?e.matches(t)?e:e.closest(t):null}function I(e){if(e instanceof HTMLSelectElement){let t=e.selectedIndex||0;return e.options[t]?.text??``}return`innerText`in e&&typeof e.innerText==`string`?e.innerText:e.textContent}function L(e){let t=e.getAttribute(`aria-label`);if(t)return t;let n=e.getAttribute(`aria-labelledby`);if(n){let e=document.getElementById(n);if(e){let t=I(e);if(t)return t}}if(`id`in e&&e.id){let t=document.querySelector(`label[for="${e.id}"]`);if(t){let e=I(t);if(e)return e}}let r=e.parentElement;for(;r;){if(r.tagName.toLowerCase()===`label`){let e=I(r);if(e)return e}r=r.parentElement}if(e instanceof HTMLInputElement&&`labels`in e&&e.labels){let t=Array.from(e.labels).map(e=>I(e)).filter(Boolean).join(` `);if(t)return t}return`placeholder`in e&&typeof e.placeholder==`string`?e.placeholder:null}function sn(e,t){if(!P(e))return null;let n=on(t),r=e.closest(`[${n}]`);if(!r)return null;let i=r.getAttribute(n);return i?{element:r,customEventName:i}:null}var cn=255;function R(e){return e?e.slice(0,cn):null}var z=`click`;function ln(e,t){let n=p(e.analyticsContext),r=h(e.analyticsContext),i=x(e.analyticsContext),a=v(e.analyticsContext),o=e.event.target||document.activeElement||e.event.currentTarget;if(!P(o))return s(z,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),c(`element`,`1-0-0`,{node_type:`unknown`}),a?c(`step`,`1-0-1`,a):void 0,i?c(`experience`,`1-0-1`,i):void 0],t);let l=F(o)||o,u={id:l.id||null,node_type:l.nodeName.toLowerCase(),label:R(L(l)),text:R(I(l))};return s(z,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),c(`element`,`1-0-0`,u),a?c(`step`,`1-0-1`,a):void 0,i?c(`experience`,`1-0-1`,i):void 0],t)}var B=l(z,ln);function un(e,t,n,r){let i=S(n.analyticsContext),a=x(n.analyticsContext),o=p(n.analyticsContext),l=g(n.analyticsContext),u=C(n.analyticsContext),d=w(n.analyticsContext),f=b(n.analyticsContext),m=y(n.analyticsContext),T=_(n.analyticsContext),E=h(n.analyticsContext),D=v(n.analyticsContext),O={id:t.id||null,node_type:t.nodeName.toLowerCase(),label:R(L(t)),text:R(I(t))};return s(e,[c(`app`,`1-1-0`,{project_id:n.analyticsContext.projectId}),c(`session`,`1-0-4`,E),c(`element`,`1-0-0`,O),i?c(`exception`,`1-0-0`,i):void 0,a?c(`experience`,`1-0-1`,a):void 0,c(`feature_list`,`2-0-0`,o),l?c(`field_list`,`1-0-0`,l):void 0,c(`form`,`1-0-0`,u),c(`modal`,`1-0-0`,d),f?c(`order`,`1-0-0`,f):void 0,m?c(`product_list`,`2-0-1`,m):void 0,T?c(`response_list`,`1-0-0`,T):void 0,D?c(`step`,`1-0-1`,D):void 0],r)}function V(t,n,r){let i=sn(n.event.target,t);if(!i)return;let{element:a,customEventName:o}=i,s=un(o,a,n,r);(0,e.trackSelfDescribingEvent)(s)}function dn(t,n,r){let i=S(t),a=x(t),o=p(t),l=g(t),u=t.form?C(t):void 0,d=t.modal?w(t):void 0,f=b(t),m=y(t),T=_(t),E=h(t),D=v(t),O=s(n,[c(`app`,`1-1-0`,{project_id:t.projectId}),c(`session`,`1-0-4`,E),i?c(`exception`,`1-0-0`,i):void 0,a?c(`experience`,`1-0-1`,a):void 0,c(`feature_list`,`2-0-0`,o),l?c(`field_list`,`1-0-0`,l):void 0,u?c(`form`,`1-0-0`,u):void 0,d?c(`modal`,`1-0-0`,d):void 0,f?c(`order`,`1-0-0`,f):void 0,m?c(`product_list`,`2-0-1`,m):void 0,T?c(`response_list`,`1-0-0`,T):void 0,D?c(`step`,`1-0-1`,D):void 0],r);(0,e.trackSelfDescribingEvent)(O)}var fn=`page_visible`;function pn(e,t){let n=p(e.analyticsContext),r=h(e.analyticsContext),i=x(e.analyticsContext),a=v(e.analyticsContext);return s(fn,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),a?c(`step`,`1-0-1`,a):void 0,i?c(`experience`,`1-0-1`,i):void 0],t)}var mn=l(fn,pn),hn=`page_hidden`;function gn(e,t){let n=p(e.analyticsContext),r=h(e.analyticsContext),i=x(e.analyticsContext),a=v(e.analyticsContext);return s(hn,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),a?c(`step`,`1-0-1`,a):void 0,i?c(`experience`,`1-0-1`,i):void 0],t)}var _n=l(hn,gn);function vn(e,t){if(document.visibilityState===`visible`){mn(e,t);return}_n(e,t)}var yn=d(`visibilitychange`,vn),bn=`page_hide`;function xn(e,t){let n=p(e.analyticsContext),r=h(e.analyticsContext),i=x(e.analyticsContext),a=v(e.analyticsContext);return s(bn,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),a?c(`step`,`1-0-1`,a):void 0,i?c(`experience`,`1-0-1`,i):void 0],t)}var Sn=l(bn,xn);function Cn(e,t){Sn(e,t)}var wn=f(`pagehide`,Cn),Tn=`page_show`;function En(e,t){let n=p(e.analyticsContext),r=h(e.analyticsContext),i=x(e.analyticsContext),a=v(e.analyticsContext);return s(Tn,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),a?c(`step`,`1-0-1`,a):void 0,i?c(`experience`,`1-0-1`,i):void 0],t)}var Dn=l(Tn,En);function On(e,t){Dn(e,t)}var kn=f(`pageshow`,On),An=`offline`;function jn(e,t){let n=p(e.analyticsContext),r=h(e.analyticsContext),i=x(e.analyticsContext),a=v(e.analyticsContext);return s(An,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),a?c(`step`,`1-0-1`,a):void 0,i?c(`experience`,`1-0-1`,i):void 0],t)}var Mn=l(An,jn);function Nn(e,t){Mn(e,t)}var Pn=f(`offline`,Nn),Fn=`online`;function In(e,t){let n=p(e.analyticsContext),r=h(e.analyticsContext),i=x(e.analyticsContext),a=v(e.analyticsContext);return s(Fn,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),a?c(`step`,`1-0-1`,a):void 0,i?c(`experience`,`1-0-1`,i):void 0],t)}var Ln=l(Fn,In);function Rn(e,t){Ln(e,t)}var zn=f(`online`,Rn),Bn=`resize`;function Vn(e,t){let n=p(e.analyticsContext),r=h(e.analyticsContext),i=x(e.analyticsContext),a=v(e.analyticsContext);return s(Bn,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),a?c(`step`,`1-0-1`,a):void 0,i?c(`experience`,`1-0-1`,i):void 0],t)}var Hn=l(Bn,Vn),H=0,Un=f(`resize`,T((e,t)=>{let n=window.innerWidth;n===H?`ontouchstart`in window||Hn(e,t):(Hn(e,t),H=n),H=n},300)),Wn=`unload`;function Gn(e,t){let n=p(e.analyticsContext),r=h(e.analyticsContext),i=x(e.analyticsContext),a=v(e.analyticsContext);return s(Wn,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),a?c(`step`,`1-0-1`,a):void 0,i?c(`experience`,`1-0-1`,i):void 0],t)}var Kn=l(Wn,Gn);function qn(e,t){Kn(e,t)}var Jn=f(`unload`,qn);function Yn(e,t){B(e,t),V(`click`,e,t)}var Xn=u(`click`,Yn),U=`rapid_click`;function Zn(e,t){let n=p(e.analyticsContext),r=h(e.analyticsContext),i=x(e.analyticsContext),a=v(e.analyticsContext),o=e.event.target||document.activeElement||e.event.currentTarget;if(!P(o))return s(U,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),c(`element`,`1-0-0`,{node_type:`unknown`}),a?c(`step`,`1-0-1`,a):void 0,i?c(`experience`,`1-0-1`,i):void 0],t);let l=F(o)||o,u={id:l.id||null,node_type:l.nodeName.toLowerCase(),label:R(L(l)),text:R(I(l))};return s(U,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),c(`element`,`1-0-0`,u),a?c(`step`,`1-0-1`,a):void 0,i?c(`experience`,`1-0-1`,i):void 0],t)}var Qn=l(U,Zn),W=0,$n=0,er=3,tr=500;function nr(e,t){let n=new Date().getTime();n-$n<tr?W++:W=1,$n=n,W>=er&&(Qn(e,t),V(`rapid_click`,e,t),W=0)}var rr=u(`click`,nr),G=`right_click`;function ir(e,t){let n=p(e.analyticsContext),r=h(e.analyticsContext),i=x(e.analyticsContext),a=v(e.analyticsContext),o=e.event.target||document.activeElement||e.event.currentTarget;if(!P(o))return s(G,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),c(`element`,`1-0-0`,{node_type:`unknown`}),a?c(`step`,`1-0-1`,a):void 0,i?c(`experience`,`1-0-1`,i):void 0]);let l=F(o)||o,u={id:l.id||null,node_type:l.nodeName.toLowerCase(),label:R(L(l)),text:R(I(l))};return s(G,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),c(`element`,`1-0-0`,u),a?c(`step`,`1-0-1`,a):void 0,i?c(`experience`,`1-0-1`,i):void 0],t)}var ar=l(G,ir);function or(e,t){ar(e,t),V(`right_click`,e,t)}var sr=u(`contextmenu`,or),K=`copy`;function cr(e,t){let n=p(e.analyticsContext),r=h(e.analyticsContext),i=x(e.analyticsContext),a=v(e.analyticsContext),o=e.event.target||document.activeElement||e.event.currentTarget;if(!P(o))return s(K,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),a?c(`step`,`1-0-1`,a):void 0,i?c(`experience`,`1-0-1`,i):void 0],t);let l=F(o)||o,u={id:l.id||null,node_type:l.nodeName.toLowerCase(),label:R(L(l)),text:R(I(l))};return s(K,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),a?c(`step`,`1-0-1`,a):void 0,i?c(`experience`,`1-0-1`,i):void 0,c(`element`,`1-0-0`,u)],t)}var lr=l(K,cr);function ur(e,t){lr(e,t)}var dr=u(`copy`,ur),q=`paste`;function fr(e,t){let n=p(e.analyticsContext),r=h(e.analyticsContext),i=x(e.analyticsContext),a=v(e.analyticsContext),o=e.event.target||document.activeElement||e.event.currentTarget;if(!P(o))return s(q,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),a?c(`step`,`1-0-1`,a):void 0,i?c(`experience`,`1-0-1`,i):void 0],t);let l=F(o)||o,u={id:l.id||null,node_type:l.nodeName.toLowerCase(),label:R(L(l)),text:R(I(l))};return s(q,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),a?c(`step`,`1-0-1`,a):void 0,i?c(`experience`,`1-0-1`,i):void 0,c(`element`,`1-0-0`,u)],t)}var pr=l(q,fr);function mr(e,t){pr(e,t)}var hr=u(`paste`,mr),J=`drag`;function gr(e,t){let n=p(e.analyticsContext),r=h(e.analyticsContext),i=x(e.analyticsContext),a=v(e.analyticsContext),o=e.event.target||document.activeElement||e.event.currentTarget;if(!P(o))return s(J,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),a?c(`step`,`1-0-1`,a):void 0,i?c(`experience`,`1-0-1`,i):void 0],t);let l=F(o)||o,u={id:l.id||null,node_type:l.nodeName.toLowerCase(),label:R(L(l)),text:R(I(l))};return s(J,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),a?c(`step`,`1-0-1`,a):void 0,i?c(`experience`,`1-0-1`,i):void 0,c(`element`,`1-0-0`,u)],t)}var _r=l(J,gr);function vr(e,t){let n=e.event.currentTarget;if(!n||!(n instanceof HTMLElement))return;function r(t){vr({event:t,analyticsContext:e.analyticsContext})}n.removeEventListener(`drag`,r),n.addEventListener(`dragend`,()=>yr(n,()=>e.analyticsContext)),_r(e,t),V(`drag`,e,t)}var yr=u(`drag`,vr),Y=`backspace`;function br(e,t){let n=p(e.analyticsContext),r=h(e.analyticsContext),i=x(e.analyticsContext),a=v(e.analyticsContext),o=e.event.target||document.activeElement||e.event.currentTarget;if(!P(o))return s(Y,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),c(`element`,`1-0-0`,{node_type:`unknown`}),a?c(`step`,`1-0-1`,a):void 0,i?c(`experience`,`1-0-1`,i):void 0],t);let l=F(o)||o,u={id:l.id||null,node_type:l.nodeName.toLowerCase(),label:R(L(l)),text:R(I(l))};return s(Y,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),c(`element`,`1-0-0`,u),a?c(`step`,`1-0-1`,a):void 0,i?c(`experience`,`1-0-1`,i):void 0],t)}var xr=l(Y,br);function Sr(e,t){e.event.key===`Backspace`&&xr(e,t)}var Cr=u(`keydown`,Sr),X=`scroll`;function wr(e,t){let n=p(e.analyticsContext),r=h(e.analyticsContext),i=x(e.analyticsContext),a=v(e.analyticsContext),o=e.event.target||document.activeElement||e.event.currentTarget;if(!P(o))return s(X,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),a?c(`step`,`1-0-1`,a):void 0,i?c(`experience`,`1-0-1`,i):void 0],t);let l=F(o)||o,u={id:l.id||null,node_type:l.nodeName.toLowerCase(),label:R(L(l)),text:R(I(l))};return s(X,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),a?c(`step`,`1-0-1`,a):void 0,i?c(`experience`,`1-0-1`,i):void 0,c(`element`,`1-0-0`,u)],t)}var Tr=l(X,wr),Er=u(`scroll`,T((e,t)=>{Tr(e,t),V(`scroll`,e,t)},500),!0),Z=`rapid_scroll`;function Dr(e,t){let n=p(e.analyticsContext),r=h(e.analyticsContext),i=x(e.analyticsContext),a=v(e.analyticsContext),o=e.event.target||document.activeElement||e.event.currentTarget;if(!P(o))return s(Z,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),a?c(`step`,`1-0-1`,a):void 0,i?c(`experience`,`1-0-1`,i):void 0,c(`element`,`1-0-0`,{node_type:`unknown`})],t);let l=F(o)||o,u={id:l.id||null,node_type:l.nodeName.toLowerCase(),label:R(L(l)),text:R(I(l))};return s(Z,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),a?c(`step`,`1-0-1`,a):void 0,i?c(`experience`,`1-0-1`,i):void 0,c(`element`,`1-0-0`,u)],t)}var Or=l(Z,Dr),kr=100,Ar=100,jr=300,Mr=0,Nr=0,Pr=T((e,t)=>{Or(e,t),V(`rapid_scroll`,e,t)},jr);function Fr(e,t){let n=e.event.target||document.documentElement;if(!(n instanceof HTMLElement))return;let r=n.scrollTop,i=Date.now()-Nr;Math.abs(r-Mr)>kr&&i<Ar&&Pr(e,t),Mr=r,Nr=Date.now()}var Ir=u(`scroll`,Fr,!0),Lr=`mouse_shake`;function Rr(e,t){let n=p(e.analyticsContext),r=h(e.analyticsContext),i=x(e.analyticsContext),a=v(e.analyticsContext);return s(Lr,[c(`feature_list`,`2-0-0`,n),c(`session`,`1-0-4`,r),a?c(`step`,`1-0-1`,a):void 0,i?c(`experience`,`1-0-1`,i):void 0],t)}var zr=l(Lr,Rr),Br=5,Vr=500,Hr=500,Ur={x:0,y:0},Q=[],Wr=0,Gr=T((e,t)=>{zr(e,t),V(`mouse_shake`,e,t)},Vr);function Kr(e,t){let n=Date.now(),r=e.event.clientX-Ur.x,i=Math.sign(r);n-Wr>Hr&&(Q=[]),i!==0&&(Q.length===0||Q.at(-1)!==i)&&Q.push(i),Ur={x:e.event.clientX,y:e.event.clientY},Q.length>=Br&&(Gr(e,t),Q=[]),Wr=n}var qr=u(`mousemove`,Kr),$=Object.freeze([`click`,`rapid_click`,`right_click`,`copy`,`paste`,`drag`,`backspace`,`scroll`,`rapid_scroll`,`mouse_shake`]),Jr={click:Xn,rapid_click:rr,right_click:sr,copy:dr,paste:hr,drag:yr,backspace:Cr,scroll:Er,rapid_scroll:Ir,mouse_shake:qr},Yr=new Set($);function Xr(e){return Yr.has(e)}function Zr(e,t,n=$){if(t)for(let r of n)Jr[r](t,e)}function Qr(e){yn(e),wn(e),kn(e),Pn(e),zn(e),Un(e),Jn(e)}Object.defineProperty(exports,"A",{enumerable:!0,get:function(){return ot}}),Object.defineProperty(exports,"B",{enumerable:!0,get:function(){return ze}}),Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return gt}}),Object.defineProperty(exports,"D",{enumerable:!0,get:function(){return ft}}),Object.defineProperty(exports,"E",{enumerable:!0,get:function(){return dt}}),Object.defineProperty(exports,"F",{enumerable:!0,get:function(){return $e}}),Object.defineProperty(exports,"G",{enumerable:!0,get:function(){return we}}),Object.defineProperty(exports,"H",{enumerable:!0,get:function(){return Ne}}),Object.defineProperty(exports,"I",{enumerable:!0,get:function(){return Je}}),Object.defineProperty(exports,"J",{enumerable:!0,get:function(){return he}}),Object.defineProperty(exports,"K",{enumerable:!0,get:function(){return xe}}),Object.defineProperty(exports,"L",{enumerable:!0,get:function(){return Ye}}),Object.defineProperty(exports,"M",{enumerable:!0,get:function(){return nt}}),Object.defineProperty(exports,"N",{enumerable:!0,get:function(){return rt}}),Object.defineProperty(exports,"O",{enumerable:!0,get:function(){return lt}}),Object.defineProperty(exports,"P",{enumerable:!0,get:function(){return Qe}}),Object.defineProperty(exports,"R",{enumerable:!0,get:function(){return Ge}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return bt}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return mt}}),Object.defineProperty(exports,"U",{enumerable:!0,get:function(){return Ae}}),Object.defineProperty(exports,"V",{enumerable:!0,get:function(){return Ie}}),Object.defineProperty(exports,"W",{enumerable:!0,get:function(){return De}}),Object.defineProperty(exports,"Y",{enumerable:!0,get:function(){return de}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return Ft}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return Et}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return rn}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return Zt}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return Jt}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return Rt}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return Vt}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return Xr}}),Object.defineProperty(exports,"j",{enumerable:!0,get:function(){return st}}),Object.defineProperty(exports,"k",{enumerable:!0,get:function(){return ut}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return an}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return Gt}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return Zr}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return dn}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return Wt}}),Object.defineProperty(exports,"q",{enumerable:!0,get:function(){return ve}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return Qr}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return en}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return Mt}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return _t}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return Ct}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return kt}}),Object.defineProperty(exports,"z",{enumerable:!0,get:function(){return He}});
|