@adtrackify/at-tracking-event-types 4.61.9 → 4.61.11
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/cjs/__tests__/tag-load-trigger-types.spec.d.ts +1 -0
- package/dist/cjs/__tests__/tag-load-trigger-types.spec.js +122 -0
- package/dist/cjs/__tests__/tag-load-trigger-types.spec.js.map +1 -0
- package/dist/cjs/types/api/destinations/destination-catalog.d.ts +7 -1
- package/dist/cjs/types/api/destinations/destinations.d.ts +2 -0
- package/dist/cjs/types/api/destinations/index.d.ts +1 -0
- package/dist/cjs/types/api/destinations/index.js +1 -0
- package/dist/cjs/types/api/destinations/index.js.map +1 -1
- package/dist/cjs/types/api/destinations/tag-load-trigger-types.d.ts +34 -0
- package/dist/cjs/types/api/destinations/tag-load-trigger-types.js +70 -0
- package/dist/cjs/types/api/destinations/tag-load-trigger-types.js.map +1 -0
- package/dist/cjs/types/api/destinations/third-party-destination-configs.d.ts +3 -0
- package/dist/cjs/types/api/destinations/third-party-destination-configs.js.map +1 -1
- package/dist/esm/__tests__/tag-load-trigger-types.spec.d.ts +1 -0
- package/dist/esm/__tests__/tag-load-trigger-types.spec.js +120 -0
- package/dist/esm/__tests__/tag-load-trigger-types.spec.js.map +1 -0
- package/dist/esm/types/api/destinations/destination-catalog.d.ts +7 -1
- package/dist/esm/types/api/destinations/destinations.d.ts +2 -0
- package/dist/esm/types/api/destinations/index.d.ts +1 -0
- package/dist/esm/types/api/destinations/index.js +1 -0
- package/dist/esm/types/api/destinations/index.js.map +1 -1
- package/dist/esm/types/api/destinations/tag-load-trigger-types.d.ts +34 -0
- package/dist/esm/types/api/destinations/tag-load-trigger-types.js +67 -0
- package/dist/esm/types/api/destinations/tag-load-trigger-types.js.map +1 -0
- package/dist/esm/types/api/destinations/third-party-destination-configs.d.ts +3 -0
- package/dist/esm/types/api/destinations/third-party-destination-configs.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const index_1 = require("../index");
|
|
4
|
+
describe('Tag Load Trigger Types', () => {
|
|
5
|
+
describe('TAG_LOAD_MODE enum', () => {
|
|
6
|
+
it('has exactly 2 modes', () => {
|
|
7
|
+
expect(Object.keys(index_1.TAG_LOAD_MODE)).toHaveLength(2);
|
|
8
|
+
});
|
|
9
|
+
it('defines INCLUDE mode', () => {
|
|
10
|
+
expect(index_1.TAG_LOAD_MODE.INCLUDE).toBe('include');
|
|
11
|
+
});
|
|
12
|
+
it('defines EXCLUDE mode', () => {
|
|
13
|
+
expect(index_1.TAG_LOAD_MODE.EXCLUDE).toBe('exclude');
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
describe('TAG_LOAD_FIELD enum', () => {
|
|
17
|
+
it('has exactly 5 fields', () => {
|
|
18
|
+
expect(Object.keys(index_1.TAG_LOAD_FIELD)).toHaveLength(5);
|
|
19
|
+
});
|
|
20
|
+
it('defines PATHNAME field', () => {
|
|
21
|
+
expect(index_1.TAG_LOAD_FIELD.PATHNAME).toBe('page.pathname');
|
|
22
|
+
});
|
|
23
|
+
it('defines URL field', () => {
|
|
24
|
+
expect(index_1.TAG_LOAD_FIELD.URL).toBe('page.url');
|
|
25
|
+
});
|
|
26
|
+
it('defines SEARCH field', () => {
|
|
27
|
+
expect(index_1.TAG_LOAD_FIELD.SEARCH).toBe('page.search');
|
|
28
|
+
});
|
|
29
|
+
it('defines HOSTNAME field', () => {
|
|
30
|
+
expect(index_1.TAG_LOAD_FIELD.HOSTNAME).toBe('page.hostname');
|
|
31
|
+
});
|
|
32
|
+
it('defines REFERRER field', () => {
|
|
33
|
+
expect(index_1.TAG_LOAD_FIELD.REFERRER).toBe('page.referrer');
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
describe('TAG_LOAD_SUPPORTED_OPERATORS', () => {
|
|
37
|
+
it('has exactly 8 operators', () => {
|
|
38
|
+
expect(index_1.TAG_LOAD_SUPPORTED_OPERATORS).toHaveLength(8);
|
|
39
|
+
});
|
|
40
|
+
it('includes all expected string operators', () => {
|
|
41
|
+
expect(index_1.TAG_LOAD_SUPPORTED_OPERATORS).toContain(index_1.CONDITION_OPERATOR.EQUALS);
|
|
42
|
+
expect(index_1.TAG_LOAD_SUPPORTED_OPERATORS).toContain(index_1.CONDITION_OPERATOR.NOT_EQUALS);
|
|
43
|
+
expect(index_1.TAG_LOAD_SUPPORTED_OPERATORS).toContain(index_1.CONDITION_OPERATOR.CONTAINS);
|
|
44
|
+
expect(index_1.TAG_LOAD_SUPPORTED_OPERATORS).toContain(index_1.CONDITION_OPERATOR.NOT_CONTAINS);
|
|
45
|
+
expect(index_1.TAG_LOAD_SUPPORTED_OPERATORS).toContain(index_1.CONDITION_OPERATOR.STARTS_WITH);
|
|
46
|
+
expect(index_1.TAG_LOAD_SUPPORTED_OPERATORS).toContain(index_1.CONDITION_OPERATOR.ENDS_WITH);
|
|
47
|
+
expect(index_1.TAG_LOAD_SUPPORTED_OPERATORS).toContain(index_1.CONDITION_OPERATOR.EXISTS);
|
|
48
|
+
expect(index_1.TAG_LOAD_SUPPORTED_OPERATORS).toContain(index_1.CONDITION_OPERATOR.NOT_EXISTS);
|
|
49
|
+
});
|
|
50
|
+
it('excludes numeric operators', () => {
|
|
51
|
+
expect(index_1.TAG_LOAD_SUPPORTED_OPERATORS).not.toContain(index_1.CONDITION_OPERATOR.GREATER_THAN);
|
|
52
|
+
expect(index_1.TAG_LOAD_SUPPORTED_OPERATORS).not.toContain(index_1.CONDITION_OPERATOR.LESS_THAN);
|
|
53
|
+
});
|
|
54
|
+
it('excludes array operators', () => {
|
|
55
|
+
expect(index_1.TAG_LOAD_SUPPORTED_OPERATORS).not.toContain(index_1.CONDITION_OPERATOR.IN);
|
|
56
|
+
expect(index_1.TAG_LOAD_SUPPORTED_OPERATORS).not.toContain(index_1.CONDITION_OPERATOR.ARRAY_INCLUDES);
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
describe('TAG_LOAD_EXISTENCE_OPERATORS', () => {
|
|
60
|
+
it('has exactly 2 operators', () => {
|
|
61
|
+
expect(index_1.TAG_LOAD_EXISTENCE_OPERATORS).toHaveLength(2);
|
|
62
|
+
});
|
|
63
|
+
it('includes EXISTS and NOT_EXISTS', () => {
|
|
64
|
+
expect(index_1.TAG_LOAD_EXISTENCE_OPERATORS).toContain(index_1.CONDITION_OPERATOR.EXISTS);
|
|
65
|
+
expect(index_1.TAG_LOAD_EXISTENCE_OPERATORS).toContain(index_1.CONDITION_OPERATOR.NOT_EXISTS);
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
describe('TAG_LOAD_CONDITION_FIELDS', () => {
|
|
69
|
+
it('has exactly 5 field definitions', () => {
|
|
70
|
+
expect(index_1.TAG_LOAD_CONDITION_FIELDS).toHaveLength(5);
|
|
71
|
+
});
|
|
72
|
+
it('each field has required properties', () => {
|
|
73
|
+
index_1.TAG_LOAD_CONDITION_FIELDS.forEach((fieldDef) => {
|
|
74
|
+
expect(fieldDef).toHaveProperty('field');
|
|
75
|
+
expect(fieldDef).toHaveProperty('label');
|
|
76
|
+
expect(typeof fieldDef.field).toBe('string');
|
|
77
|
+
expect(typeof fieldDef.label).toBe('string');
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
it('hostname field is marked as case-insensitive', () => {
|
|
81
|
+
const hostnameField = index_1.TAG_LOAD_CONDITION_FIELDS.find((f) => f.field === index_1.TAG_LOAD_FIELD.HOSTNAME);
|
|
82
|
+
expect(hostnameField?.caseInsensitive).toBe(true);
|
|
83
|
+
});
|
|
84
|
+
it('other fields are not marked as case-insensitive', () => {
|
|
85
|
+
const otherFields = index_1.TAG_LOAD_CONDITION_FIELDS.filter((f) => f.field !== index_1.TAG_LOAD_FIELD.HOSTNAME);
|
|
86
|
+
otherFields.forEach((f) => {
|
|
87
|
+
expect(f.caseInsensitive).toBeUndefined();
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
describe('TAG_LOAD_OPERATOR_DEFINITIONS', () => {
|
|
92
|
+
it('has exactly 8 operator definitions', () => {
|
|
93
|
+
expect(index_1.TAG_LOAD_OPERATOR_DEFINITIONS).toHaveLength(8);
|
|
94
|
+
});
|
|
95
|
+
it('each operator has required properties', () => {
|
|
96
|
+
index_1.TAG_LOAD_OPERATOR_DEFINITIONS.forEach((opDef) => {
|
|
97
|
+
expect(opDef).toHaveProperty('operator');
|
|
98
|
+
expect(opDef).toHaveProperty('label');
|
|
99
|
+
expect(opDef).toHaveProperty('requiresValue');
|
|
100
|
+
expect(typeof opDef.operator).toBe('string');
|
|
101
|
+
expect(typeof opDef.label).toBe('string');
|
|
102
|
+
expect(typeof opDef.requiresValue).toBe('boolean');
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
it('EXISTS operator does not require value', () => {
|
|
106
|
+
const existsOp = index_1.TAG_LOAD_OPERATOR_DEFINITIONS.find((o) => o.operator === index_1.CONDITION_OPERATOR.EXISTS);
|
|
107
|
+
expect(existsOp?.requiresValue).toBe(false);
|
|
108
|
+
});
|
|
109
|
+
it('NOT_EXISTS operator does not require value', () => {
|
|
110
|
+
const notExistsOp = index_1.TAG_LOAD_OPERATOR_DEFINITIONS.find((o) => o.operator === index_1.CONDITION_OPERATOR.NOT_EXISTS);
|
|
111
|
+
expect(notExistsOp?.requiresValue).toBe(false);
|
|
112
|
+
});
|
|
113
|
+
it('all other operators require value', () => {
|
|
114
|
+
const valueRequiredOps = index_1.TAG_LOAD_OPERATOR_DEFINITIONS.filter((o) => o.operator !== index_1.CONDITION_OPERATOR.EXISTS &&
|
|
115
|
+
o.operator !== index_1.CONDITION_OPERATOR.NOT_EXISTS);
|
|
116
|
+
valueRequiredOps.forEach((op) => {
|
|
117
|
+
expect(op.requiresValue).toBe(true);
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
//# sourceMappingURL=tag-load-trigger-types.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag-load-trigger-types.spec.js","sourceRoot":"","sources":["../../../src/__tests__/tag-load-trigger-types.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ export interface DestinationCatalogItem {
|
|
|
9
9
|
description?: string;
|
|
10
10
|
url: string;
|
|
11
11
|
fields?: DestinationCatalogField[];
|
|
12
|
+
supportsTagLoadTrigger?: boolean;
|
|
12
13
|
createdAt: string;
|
|
13
14
|
updatedAt: string;
|
|
14
15
|
}
|
|
@@ -17,6 +18,10 @@ export interface DestinationCatalogFieldValidation {
|
|
|
17
18
|
pattern: string;
|
|
18
19
|
error?: string;
|
|
19
20
|
}
|
|
21
|
+
export interface DestinationCatalogFieldVisibleWhen {
|
|
22
|
+
field: string;
|
|
23
|
+
is: unknown;
|
|
24
|
+
}
|
|
20
25
|
export interface DestinationCatalogField {
|
|
21
26
|
component_type: string;
|
|
22
27
|
name: string;
|
|
@@ -24,7 +29,8 @@ export interface DestinationCatalogField {
|
|
|
24
29
|
label: string;
|
|
25
30
|
type: string;
|
|
26
31
|
required: boolean;
|
|
27
|
-
values?:
|
|
32
|
+
values?: unknown[];
|
|
28
33
|
validation?: DestinationCatalogFieldValidation;
|
|
29
34
|
order: number;
|
|
35
|
+
visibleWhen?: DestinationCatalogFieldVisibleWhen;
|
|
30
36
|
}
|
|
@@ -4,6 +4,7 @@ import { DESTINATION, DESTINATION_TYPE, EVENT_TRIGGER_CONDITION } from './destin
|
|
|
4
4
|
import type { DestinationHealthStatus } from '../health/health-status.js';
|
|
5
5
|
import type { ForwardingHealthStatus } from '../health/forwarding-health.js';
|
|
6
6
|
import type { DestinationEventConfig } from './custom-event-mapping.js';
|
|
7
|
+
import type { TagLoadTriggerConfig } from './tag-load-trigger-types.js';
|
|
7
8
|
export interface Destination {
|
|
8
9
|
id: string;
|
|
9
10
|
accountId: string;
|
|
@@ -31,6 +32,7 @@ export interface UserDestinationConfiguration {
|
|
|
31
32
|
trigger?: DestinationTriggerConfiguration;
|
|
32
33
|
forwarding?: ForwardingConfiguration;
|
|
33
34
|
eventConfig?: DestinationEventConfig;
|
|
35
|
+
tagLoadTrigger?: TagLoadTriggerConfig;
|
|
34
36
|
}
|
|
35
37
|
export interface DestinationTriggerConfiguration {
|
|
36
38
|
shopify?: ShopifyTriggerConfiguration;
|
|
@@ -22,4 +22,5 @@ __exportStar(require("./third-party-integration-configs.js"), exports);
|
|
|
22
22
|
__exportStar(require("./third-party-contact-acquisition-configs.js"), exports);
|
|
23
23
|
__exportStar(require("./custom-event-mapping.js"), exports);
|
|
24
24
|
__exportStar(require("./slack-destination-types.js"), exports);
|
|
25
|
+
__exportStar(require("./tag-load-trigger-types.js"), exports);
|
|
25
26
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/types/api/destinations/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAKA,yDAAuC;AACvC,oDAAkC;AAClC,2DAAyC;AACzC,uEAAqD;AACrD,uEAAqD;AACrD,+EAA6D;AAC7D,4DAA0C;AAC1C,+DAA6C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/types/api/destinations/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAKA,yDAAuC;AACvC,oDAAkC;AAClC,2DAAyC;AACzC,uEAAqD;AACrD,uEAAqD;AACrD,+EAA6D;AAC7D,4DAA0C;AAC1C,+DAA6C;AAC7C,8DAA4C"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { ConditionGroup } from './custom-event-mapping.js';
|
|
2
|
+
import { CONDITION_LOGIC, CONDITION_OPERATOR } from './custom-event-mapping.js';
|
|
3
|
+
export declare enum TAG_LOAD_MODE {
|
|
4
|
+
INCLUDE = "include",
|
|
5
|
+
EXCLUDE = "exclude"
|
|
6
|
+
}
|
|
7
|
+
export declare enum TAG_LOAD_FIELD {
|
|
8
|
+
PATHNAME = "page.pathname",
|
|
9
|
+
URL = "page.url",
|
|
10
|
+
SEARCH = "page.search",
|
|
11
|
+
HOSTNAME = "page.hostname",
|
|
12
|
+
REFERRER = "page.referrer"
|
|
13
|
+
}
|
|
14
|
+
export interface TagLoadTriggerConfig {
|
|
15
|
+
enabled: boolean;
|
|
16
|
+
mode: TAG_LOAD_MODE;
|
|
17
|
+
conditionGroups: ConditionGroup[];
|
|
18
|
+
groupLogic?: CONDITION_LOGIC;
|
|
19
|
+
}
|
|
20
|
+
export declare const TAG_LOAD_SUPPORTED_OPERATORS: CONDITION_OPERATOR[];
|
|
21
|
+
export interface TagLoadFieldDefinition {
|
|
22
|
+
field: TAG_LOAD_FIELD;
|
|
23
|
+
label: string;
|
|
24
|
+
description?: string;
|
|
25
|
+
caseInsensitive?: boolean;
|
|
26
|
+
}
|
|
27
|
+
export declare const TAG_LOAD_CONDITION_FIELDS: TagLoadFieldDefinition[];
|
|
28
|
+
export interface TagLoadOperatorDefinition {
|
|
29
|
+
operator: CONDITION_OPERATOR;
|
|
30
|
+
label: string;
|
|
31
|
+
requiresValue: boolean;
|
|
32
|
+
}
|
|
33
|
+
export declare const TAG_LOAD_OPERATOR_DEFINITIONS: TagLoadOperatorDefinition[];
|
|
34
|
+
export declare const TAG_LOAD_EXISTENCE_OPERATORS: CONDITION_OPERATOR[];
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TAG_LOAD_EXISTENCE_OPERATORS = exports.TAG_LOAD_OPERATOR_DEFINITIONS = exports.TAG_LOAD_CONDITION_FIELDS = exports.TAG_LOAD_SUPPORTED_OPERATORS = exports.TAG_LOAD_FIELD = exports.TAG_LOAD_MODE = void 0;
|
|
4
|
+
const custom_event_mapping_js_1 = require("./custom-event-mapping.js");
|
|
5
|
+
var TAG_LOAD_MODE;
|
|
6
|
+
(function (TAG_LOAD_MODE) {
|
|
7
|
+
TAG_LOAD_MODE["INCLUDE"] = "include";
|
|
8
|
+
TAG_LOAD_MODE["EXCLUDE"] = "exclude";
|
|
9
|
+
})(TAG_LOAD_MODE = exports.TAG_LOAD_MODE || (exports.TAG_LOAD_MODE = {}));
|
|
10
|
+
var TAG_LOAD_FIELD;
|
|
11
|
+
(function (TAG_LOAD_FIELD) {
|
|
12
|
+
TAG_LOAD_FIELD["PATHNAME"] = "page.pathname";
|
|
13
|
+
TAG_LOAD_FIELD["URL"] = "page.url";
|
|
14
|
+
TAG_LOAD_FIELD["SEARCH"] = "page.search";
|
|
15
|
+
TAG_LOAD_FIELD["HOSTNAME"] = "page.hostname";
|
|
16
|
+
TAG_LOAD_FIELD["REFERRER"] = "page.referrer";
|
|
17
|
+
})(TAG_LOAD_FIELD = exports.TAG_LOAD_FIELD || (exports.TAG_LOAD_FIELD = {}));
|
|
18
|
+
exports.TAG_LOAD_SUPPORTED_OPERATORS = [
|
|
19
|
+
custom_event_mapping_js_1.CONDITION_OPERATOR.EQUALS,
|
|
20
|
+
custom_event_mapping_js_1.CONDITION_OPERATOR.NOT_EQUALS,
|
|
21
|
+
custom_event_mapping_js_1.CONDITION_OPERATOR.CONTAINS,
|
|
22
|
+
custom_event_mapping_js_1.CONDITION_OPERATOR.NOT_CONTAINS,
|
|
23
|
+
custom_event_mapping_js_1.CONDITION_OPERATOR.STARTS_WITH,
|
|
24
|
+
custom_event_mapping_js_1.CONDITION_OPERATOR.ENDS_WITH,
|
|
25
|
+
custom_event_mapping_js_1.CONDITION_OPERATOR.EXISTS,
|
|
26
|
+
custom_event_mapping_js_1.CONDITION_OPERATOR.NOT_EXISTS,
|
|
27
|
+
];
|
|
28
|
+
exports.TAG_LOAD_CONDITION_FIELDS = [
|
|
29
|
+
{
|
|
30
|
+
field: TAG_LOAD_FIELD.PATHNAME,
|
|
31
|
+
label: 'Page Path',
|
|
32
|
+
description: 'URL path without domain (e.g., /checkout)',
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
field: TAG_LOAD_FIELD.URL,
|
|
36
|
+
label: 'Full URL',
|
|
37
|
+
description: 'Complete URL including protocol and query string',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
field: TAG_LOAD_FIELD.SEARCH,
|
|
41
|
+
label: 'Query String',
|
|
42
|
+
description: 'URL parameters (e.g., ?utm_source=google)',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
field: TAG_LOAD_FIELD.HOSTNAME,
|
|
46
|
+
label: 'Hostname',
|
|
47
|
+
description: 'Domain name (e.g., shop.example.com)',
|
|
48
|
+
caseInsensitive: true,
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
field: TAG_LOAD_FIELD.REFERRER,
|
|
52
|
+
label: 'Referrer',
|
|
53
|
+
description: 'Previous page URL',
|
|
54
|
+
},
|
|
55
|
+
];
|
|
56
|
+
exports.TAG_LOAD_OPERATOR_DEFINITIONS = [
|
|
57
|
+
{ operator: custom_event_mapping_js_1.CONDITION_OPERATOR.EQUALS, label: 'equals', requiresValue: true },
|
|
58
|
+
{ operator: custom_event_mapping_js_1.CONDITION_OPERATOR.NOT_EQUALS, label: 'does not equal', requiresValue: true },
|
|
59
|
+
{ operator: custom_event_mapping_js_1.CONDITION_OPERATOR.CONTAINS, label: 'contains', requiresValue: true },
|
|
60
|
+
{ operator: custom_event_mapping_js_1.CONDITION_OPERATOR.NOT_CONTAINS, label: 'does not contain', requiresValue: true },
|
|
61
|
+
{ operator: custom_event_mapping_js_1.CONDITION_OPERATOR.STARTS_WITH, label: 'starts with', requiresValue: true },
|
|
62
|
+
{ operator: custom_event_mapping_js_1.CONDITION_OPERATOR.ENDS_WITH, label: 'ends with', requiresValue: true },
|
|
63
|
+
{ operator: custom_event_mapping_js_1.CONDITION_OPERATOR.EXISTS, label: 'exists', requiresValue: false },
|
|
64
|
+
{ operator: custom_event_mapping_js_1.CONDITION_OPERATOR.NOT_EXISTS, label: 'does not exist', requiresValue: false },
|
|
65
|
+
];
|
|
66
|
+
exports.TAG_LOAD_EXISTENCE_OPERATORS = [
|
|
67
|
+
custom_event_mapping_js_1.CONDITION_OPERATOR.EXISTS,
|
|
68
|
+
custom_event_mapping_js_1.CONDITION_OPERATOR.NOT_EXISTS,
|
|
69
|
+
];
|
|
70
|
+
//# sourceMappingURL=tag-load-trigger-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag-load-trigger-types.js","sourceRoot":"","sources":["../../../../../src/types/api/destinations/tag-load-trigger-types.ts"],"names":[],"mappings":";;;AAQA,uEAAgF;AAShF,IAAY,aAKX;AALD,WAAY,aAAa;IAEvB,oCAAmB,CAAA;IAEnB,oCAAmB,CAAA;AACrB,CAAC,EALW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAKxB;AAUD,IAAY,cAWX;AAXD,WAAY,cAAc;IAExB,4CAA0B,CAAA;IAE1B,kCAAgB,CAAA;IAEhB,wCAAsB,CAAA;IAEtB,4CAA0B,CAAA;IAE1B,4CAA0B,CAAA;AAC5B,CAAC,EAXW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAWzB;AA6BY,QAAA,4BAA4B,GAAyB;IAChE,4CAAkB,CAAC,MAAM;IACzB,4CAAkB,CAAC,UAAU;IAC7B,4CAAkB,CAAC,QAAQ;IAC3B,4CAAkB,CAAC,YAAY;IAC/B,4CAAkB,CAAC,WAAW;IAC9B,4CAAkB,CAAC,SAAS;IAC5B,4CAAkB,CAAC,MAAM;IACzB,4CAAkB,CAAC,UAAU;CAC9B,CAAC;AAoBW,QAAA,yBAAyB,GAA6B;IACjE;QACE,KAAK,EAAE,cAAc,CAAC,QAAQ;QAC9B,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,2CAA2C;KACzD;IACD;QACE,KAAK,EAAE,cAAc,CAAC,GAAG;QACzB,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,kDAAkD;KAChE;IACD;QACE,KAAK,EAAE,cAAc,CAAC,MAAM;QAC5B,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,2CAA2C;KACzD;IACD;QACE,KAAK,EAAE,cAAc,CAAC,QAAQ;QAC9B,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,sCAAsC;QACnD,eAAe,EAAE,IAAI;KACtB;IACD;QACE,KAAK,EAAE,cAAc,CAAC,QAAQ;QAC9B,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,mBAAmB;KACjC;CACF,CAAC;AAcW,QAAA,6BAA6B,GAAgC;IACxE,EAAE,QAAQ,EAAE,4CAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE;IAC7E,EAAE,QAAQ,EAAE,4CAAkB,CAAC,UAAU,EAAE,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,IAAI,EAAE;IACzF,EAAE,QAAQ,EAAE,4CAAkB,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE;IACjF,EAAE,QAAQ,EAAE,4CAAkB,CAAC,YAAY,EAAE,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,IAAI,EAAE;IAC7F,EAAE,QAAQ,EAAE,4CAAkB,CAAC,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,IAAI,EAAE;IACvF,EAAE,QAAQ,EAAE,4CAAkB,CAAC,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE;IACnF,EAAE,QAAQ,EAAE,4CAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE;IAC9E,EAAE,QAAQ,EAAE,4CAAkB,CAAC,UAAU,EAAE,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,KAAK,EAAE;CAC3F,CAAC;AASW,QAAA,4BAA4B,GAAyB;IAChE,4CAAkB,CAAC,MAAM;IACzB,4CAAkB,CAAC,UAAU;CAC9B,CAAC"}
|
|
@@ -94,6 +94,9 @@ export interface KlaviyoConfiguration extends UserDestinationConfiguration {
|
|
|
94
94
|
enablePredictivePopup: boolean;
|
|
95
95
|
signupFormId?: string;
|
|
96
96
|
clonedSignupFormId?: string;
|
|
97
|
+
enableBrowserPixel?: boolean;
|
|
98
|
+
publicApiKey?: string;
|
|
99
|
+
useStandardEventNames?: boolean;
|
|
97
100
|
}
|
|
98
101
|
export interface SendlaneConfiguration extends UserDestinationConfiguration {
|
|
99
102
|
apiAccessToken: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"third-party-destination-configs.js","sourceRoot":"","sources":["../../../../../src/types/api/destinations/third-party-destination-configs.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"third-party-destination-configs.js","sourceRoot":"","sources":["../../../../../src/types/api/destinations/third-party-destination-configs.ts"],"names":[],"mappings":";;;AA4KA,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,2BAAS,CAAA;IACT,2BAAS,CAAA;AACX,CAAC,EAHW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAGzB;AA4BD,IAAY,aAYX;AAZD,WAAY,aAAa;IACvB,uCAAsB,CAAA;IACtB,yCAAwB,CAAA;IACxB,uCAAsB,CAAA;IACtB,4CAA2B,CAAA;IAC3B,wCAAuB,CAAA;IACvB,gDAA+B,CAAA;IAC/B,wDAAuC,CAAA;IACvC,sCAAqB,CAAA;IACrB,kCAAiB,CAAA;IACjB,oCAAmB,CAAA;IACnB,8BAAa,CAAA;AACf,CAAC,EAZW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAYxB;AAkDD,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,mCAAa,CAAA;AACf,CAAC,EAJW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAI7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { TAG_LOAD_MODE, TAG_LOAD_FIELD, TAG_LOAD_SUPPORTED_OPERATORS, TAG_LOAD_EXISTENCE_OPERATORS, TAG_LOAD_CONDITION_FIELDS, TAG_LOAD_OPERATOR_DEFINITIONS, CONDITION_OPERATOR, } from '../index';
|
|
2
|
+
describe('Tag Load Trigger Types', () => {
|
|
3
|
+
describe('TAG_LOAD_MODE enum', () => {
|
|
4
|
+
it('has exactly 2 modes', () => {
|
|
5
|
+
expect(Object.keys(TAG_LOAD_MODE)).toHaveLength(2);
|
|
6
|
+
});
|
|
7
|
+
it('defines INCLUDE mode', () => {
|
|
8
|
+
expect(TAG_LOAD_MODE.INCLUDE).toBe('include');
|
|
9
|
+
});
|
|
10
|
+
it('defines EXCLUDE mode', () => {
|
|
11
|
+
expect(TAG_LOAD_MODE.EXCLUDE).toBe('exclude');
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
describe('TAG_LOAD_FIELD enum', () => {
|
|
15
|
+
it('has exactly 5 fields', () => {
|
|
16
|
+
expect(Object.keys(TAG_LOAD_FIELD)).toHaveLength(5);
|
|
17
|
+
});
|
|
18
|
+
it('defines PATHNAME field', () => {
|
|
19
|
+
expect(TAG_LOAD_FIELD.PATHNAME).toBe('page.pathname');
|
|
20
|
+
});
|
|
21
|
+
it('defines URL field', () => {
|
|
22
|
+
expect(TAG_LOAD_FIELD.URL).toBe('page.url');
|
|
23
|
+
});
|
|
24
|
+
it('defines SEARCH field', () => {
|
|
25
|
+
expect(TAG_LOAD_FIELD.SEARCH).toBe('page.search');
|
|
26
|
+
});
|
|
27
|
+
it('defines HOSTNAME field', () => {
|
|
28
|
+
expect(TAG_LOAD_FIELD.HOSTNAME).toBe('page.hostname');
|
|
29
|
+
});
|
|
30
|
+
it('defines REFERRER field', () => {
|
|
31
|
+
expect(TAG_LOAD_FIELD.REFERRER).toBe('page.referrer');
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
describe('TAG_LOAD_SUPPORTED_OPERATORS', () => {
|
|
35
|
+
it('has exactly 8 operators', () => {
|
|
36
|
+
expect(TAG_LOAD_SUPPORTED_OPERATORS).toHaveLength(8);
|
|
37
|
+
});
|
|
38
|
+
it('includes all expected string operators', () => {
|
|
39
|
+
expect(TAG_LOAD_SUPPORTED_OPERATORS).toContain(CONDITION_OPERATOR.EQUALS);
|
|
40
|
+
expect(TAG_LOAD_SUPPORTED_OPERATORS).toContain(CONDITION_OPERATOR.NOT_EQUALS);
|
|
41
|
+
expect(TAG_LOAD_SUPPORTED_OPERATORS).toContain(CONDITION_OPERATOR.CONTAINS);
|
|
42
|
+
expect(TAG_LOAD_SUPPORTED_OPERATORS).toContain(CONDITION_OPERATOR.NOT_CONTAINS);
|
|
43
|
+
expect(TAG_LOAD_SUPPORTED_OPERATORS).toContain(CONDITION_OPERATOR.STARTS_WITH);
|
|
44
|
+
expect(TAG_LOAD_SUPPORTED_OPERATORS).toContain(CONDITION_OPERATOR.ENDS_WITH);
|
|
45
|
+
expect(TAG_LOAD_SUPPORTED_OPERATORS).toContain(CONDITION_OPERATOR.EXISTS);
|
|
46
|
+
expect(TAG_LOAD_SUPPORTED_OPERATORS).toContain(CONDITION_OPERATOR.NOT_EXISTS);
|
|
47
|
+
});
|
|
48
|
+
it('excludes numeric operators', () => {
|
|
49
|
+
expect(TAG_LOAD_SUPPORTED_OPERATORS).not.toContain(CONDITION_OPERATOR.GREATER_THAN);
|
|
50
|
+
expect(TAG_LOAD_SUPPORTED_OPERATORS).not.toContain(CONDITION_OPERATOR.LESS_THAN);
|
|
51
|
+
});
|
|
52
|
+
it('excludes array operators', () => {
|
|
53
|
+
expect(TAG_LOAD_SUPPORTED_OPERATORS).not.toContain(CONDITION_OPERATOR.IN);
|
|
54
|
+
expect(TAG_LOAD_SUPPORTED_OPERATORS).not.toContain(CONDITION_OPERATOR.ARRAY_INCLUDES);
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
describe('TAG_LOAD_EXISTENCE_OPERATORS', () => {
|
|
58
|
+
it('has exactly 2 operators', () => {
|
|
59
|
+
expect(TAG_LOAD_EXISTENCE_OPERATORS).toHaveLength(2);
|
|
60
|
+
});
|
|
61
|
+
it('includes EXISTS and NOT_EXISTS', () => {
|
|
62
|
+
expect(TAG_LOAD_EXISTENCE_OPERATORS).toContain(CONDITION_OPERATOR.EXISTS);
|
|
63
|
+
expect(TAG_LOAD_EXISTENCE_OPERATORS).toContain(CONDITION_OPERATOR.NOT_EXISTS);
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
describe('TAG_LOAD_CONDITION_FIELDS', () => {
|
|
67
|
+
it('has exactly 5 field definitions', () => {
|
|
68
|
+
expect(TAG_LOAD_CONDITION_FIELDS).toHaveLength(5);
|
|
69
|
+
});
|
|
70
|
+
it('each field has required properties', () => {
|
|
71
|
+
TAG_LOAD_CONDITION_FIELDS.forEach((fieldDef) => {
|
|
72
|
+
expect(fieldDef).toHaveProperty('field');
|
|
73
|
+
expect(fieldDef).toHaveProperty('label');
|
|
74
|
+
expect(typeof fieldDef.field).toBe('string');
|
|
75
|
+
expect(typeof fieldDef.label).toBe('string');
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
it('hostname field is marked as case-insensitive', () => {
|
|
79
|
+
const hostnameField = TAG_LOAD_CONDITION_FIELDS.find((f) => f.field === TAG_LOAD_FIELD.HOSTNAME);
|
|
80
|
+
expect(hostnameField?.caseInsensitive).toBe(true);
|
|
81
|
+
});
|
|
82
|
+
it('other fields are not marked as case-insensitive', () => {
|
|
83
|
+
const otherFields = TAG_LOAD_CONDITION_FIELDS.filter((f) => f.field !== TAG_LOAD_FIELD.HOSTNAME);
|
|
84
|
+
otherFields.forEach((f) => {
|
|
85
|
+
expect(f.caseInsensitive).toBeUndefined();
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
describe('TAG_LOAD_OPERATOR_DEFINITIONS', () => {
|
|
90
|
+
it('has exactly 8 operator definitions', () => {
|
|
91
|
+
expect(TAG_LOAD_OPERATOR_DEFINITIONS).toHaveLength(8);
|
|
92
|
+
});
|
|
93
|
+
it('each operator has required properties', () => {
|
|
94
|
+
TAG_LOAD_OPERATOR_DEFINITIONS.forEach((opDef) => {
|
|
95
|
+
expect(opDef).toHaveProperty('operator');
|
|
96
|
+
expect(opDef).toHaveProperty('label');
|
|
97
|
+
expect(opDef).toHaveProperty('requiresValue');
|
|
98
|
+
expect(typeof opDef.operator).toBe('string');
|
|
99
|
+
expect(typeof opDef.label).toBe('string');
|
|
100
|
+
expect(typeof opDef.requiresValue).toBe('boolean');
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
it('EXISTS operator does not require value', () => {
|
|
104
|
+
const existsOp = TAG_LOAD_OPERATOR_DEFINITIONS.find((o) => o.operator === CONDITION_OPERATOR.EXISTS);
|
|
105
|
+
expect(existsOp?.requiresValue).toBe(false);
|
|
106
|
+
});
|
|
107
|
+
it('NOT_EXISTS operator does not require value', () => {
|
|
108
|
+
const notExistsOp = TAG_LOAD_OPERATOR_DEFINITIONS.find((o) => o.operator === CONDITION_OPERATOR.NOT_EXISTS);
|
|
109
|
+
expect(notExistsOp?.requiresValue).toBe(false);
|
|
110
|
+
});
|
|
111
|
+
it('all other operators require value', () => {
|
|
112
|
+
const valueRequiredOps = TAG_LOAD_OPERATOR_DEFINITIONS.filter((o) => o.operator !== CONDITION_OPERATOR.EXISTS &&
|
|
113
|
+
o.operator !== CONDITION_OPERATOR.NOT_EXISTS);
|
|
114
|
+
valueRequiredOps.forEach((op) => {
|
|
115
|
+
expect(op.requiresValue).toBe(true);
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
//# sourceMappingURL=tag-load-trigger-types.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag-load-trigger-types.spec.js","sourceRoot":"","sources":["../../../src/__tests__/tag-load-trigger-types.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ export interface DestinationCatalogItem {
|
|
|
9
9
|
description?: string;
|
|
10
10
|
url: string;
|
|
11
11
|
fields?: DestinationCatalogField[];
|
|
12
|
+
supportsTagLoadTrigger?: boolean;
|
|
12
13
|
createdAt: string;
|
|
13
14
|
updatedAt: string;
|
|
14
15
|
}
|
|
@@ -17,6 +18,10 @@ export interface DestinationCatalogFieldValidation {
|
|
|
17
18
|
pattern: string;
|
|
18
19
|
error?: string;
|
|
19
20
|
}
|
|
21
|
+
export interface DestinationCatalogFieldVisibleWhen {
|
|
22
|
+
field: string;
|
|
23
|
+
is: unknown;
|
|
24
|
+
}
|
|
20
25
|
export interface DestinationCatalogField {
|
|
21
26
|
component_type: string;
|
|
22
27
|
name: string;
|
|
@@ -24,7 +29,8 @@ export interface DestinationCatalogField {
|
|
|
24
29
|
label: string;
|
|
25
30
|
type: string;
|
|
26
31
|
required: boolean;
|
|
27
|
-
values?:
|
|
32
|
+
values?: unknown[];
|
|
28
33
|
validation?: DestinationCatalogFieldValidation;
|
|
29
34
|
order: number;
|
|
35
|
+
visibleWhen?: DestinationCatalogFieldVisibleWhen;
|
|
30
36
|
}
|
|
@@ -4,6 +4,7 @@ import { DESTINATION, DESTINATION_TYPE, EVENT_TRIGGER_CONDITION } from './destin
|
|
|
4
4
|
import type { DestinationHealthStatus } from '../health/health-status.js';
|
|
5
5
|
import type { ForwardingHealthStatus } from '../health/forwarding-health.js';
|
|
6
6
|
import type { DestinationEventConfig } from './custom-event-mapping.js';
|
|
7
|
+
import type { TagLoadTriggerConfig } from './tag-load-trigger-types.js';
|
|
7
8
|
export interface Destination {
|
|
8
9
|
id: string;
|
|
9
10
|
accountId: string;
|
|
@@ -31,6 +32,7 @@ export interface UserDestinationConfiguration {
|
|
|
31
32
|
trigger?: DestinationTriggerConfiguration;
|
|
32
33
|
forwarding?: ForwardingConfiguration;
|
|
33
34
|
eventConfig?: DestinationEventConfig;
|
|
35
|
+
tagLoadTrigger?: TagLoadTriggerConfig;
|
|
34
36
|
}
|
|
35
37
|
export interface DestinationTriggerConfiguration {
|
|
36
38
|
shopify?: ShopifyTriggerConfiguration;
|
|
@@ -6,4 +6,5 @@ export * from './third-party-integration-configs.js';
|
|
|
6
6
|
export * from './third-party-contact-acquisition-configs.js';
|
|
7
7
|
export * from './custom-event-mapping.js';
|
|
8
8
|
export * from './slack-destination-types.js';
|
|
9
|
+
export * from './tag-load-trigger-types.js';
|
|
9
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/types/api/destinations/index.ts"],"names":[],"mappings":"AAKA,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sCAAsC,CAAC;AACrD,cAAc,sCAAsC,CAAC;AACrD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/types/api/destinations/index.ts"],"names":[],"mappings":"AAKA,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sCAAsC,CAAC;AACrD,cAAc,sCAAsC,CAAC;AACrD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { ConditionGroup } from './custom-event-mapping.js';
|
|
2
|
+
import { CONDITION_LOGIC, CONDITION_OPERATOR } from './custom-event-mapping.js';
|
|
3
|
+
export declare enum TAG_LOAD_MODE {
|
|
4
|
+
INCLUDE = "include",
|
|
5
|
+
EXCLUDE = "exclude"
|
|
6
|
+
}
|
|
7
|
+
export declare enum TAG_LOAD_FIELD {
|
|
8
|
+
PATHNAME = "page.pathname",
|
|
9
|
+
URL = "page.url",
|
|
10
|
+
SEARCH = "page.search",
|
|
11
|
+
HOSTNAME = "page.hostname",
|
|
12
|
+
REFERRER = "page.referrer"
|
|
13
|
+
}
|
|
14
|
+
export interface TagLoadTriggerConfig {
|
|
15
|
+
enabled: boolean;
|
|
16
|
+
mode: TAG_LOAD_MODE;
|
|
17
|
+
conditionGroups: ConditionGroup[];
|
|
18
|
+
groupLogic?: CONDITION_LOGIC;
|
|
19
|
+
}
|
|
20
|
+
export declare const TAG_LOAD_SUPPORTED_OPERATORS: CONDITION_OPERATOR[];
|
|
21
|
+
export interface TagLoadFieldDefinition {
|
|
22
|
+
field: TAG_LOAD_FIELD;
|
|
23
|
+
label: string;
|
|
24
|
+
description?: string;
|
|
25
|
+
caseInsensitive?: boolean;
|
|
26
|
+
}
|
|
27
|
+
export declare const TAG_LOAD_CONDITION_FIELDS: TagLoadFieldDefinition[];
|
|
28
|
+
export interface TagLoadOperatorDefinition {
|
|
29
|
+
operator: CONDITION_OPERATOR;
|
|
30
|
+
label: string;
|
|
31
|
+
requiresValue: boolean;
|
|
32
|
+
}
|
|
33
|
+
export declare const TAG_LOAD_OPERATOR_DEFINITIONS: TagLoadOperatorDefinition[];
|
|
34
|
+
export declare const TAG_LOAD_EXISTENCE_OPERATORS: CONDITION_OPERATOR[];
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { CONDITION_OPERATOR } from './custom-event-mapping.js';
|
|
2
|
+
export var TAG_LOAD_MODE;
|
|
3
|
+
(function (TAG_LOAD_MODE) {
|
|
4
|
+
TAG_LOAD_MODE["INCLUDE"] = "include";
|
|
5
|
+
TAG_LOAD_MODE["EXCLUDE"] = "exclude";
|
|
6
|
+
})(TAG_LOAD_MODE || (TAG_LOAD_MODE = {}));
|
|
7
|
+
export var TAG_LOAD_FIELD;
|
|
8
|
+
(function (TAG_LOAD_FIELD) {
|
|
9
|
+
TAG_LOAD_FIELD["PATHNAME"] = "page.pathname";
|
|
10
|
+
TAG_LOAD_FIELD["URL"] = "page.url";
|
|
11
|
+
TAG_LOAD_FIELD["SEARCH"] = "page.search";
|
|
12
|
+
TAG_LOAD_FIELD["HOSTNAME"] = "page.hostname";
|
|
13
|
+
TAG_LOAD_FIELD["REFERRER"] = "page.referrer";
|
|
14
|
+
})(TAG_LOAD_FIELD || (TAG_LOAD_FIELD = {}));
|
|
15
|
+
export const TAG_LOAD_SUPPORTED_OPERATORS = [
|
|
16
|
+
CONDITION_OPERATOR.EQUALS,
|
|
17
|
+
CONDITION_OPERATOR.NOT_EQUALS,
|
|
18
|
+
CONDITION_OPERATOR.CONTAINS,
|
|
19
|
+
CONDITION_OPERATOR.NOT_CONTAINS,
|
|
20
|
+
CONDITION_OPERATOR.STARTS_WITH,
|
|
21
|
+
CONDITION_OPERATOR.ENDS_WITH,
|
|
22
|
+
CONDITION_OPERATOR.EXISTS,
|
|
23
|
+
CONDITION_OPERATOR.NOT_EXISTS,
|
|
24
|
+
];
|
|
25
|
+
export const TAG_LOAD_CONDITION_FIELDS = [
|
|
26
|
+
{
|
|
27
|
+
field: TAG_LOAD_FIELD.PATHNAME,
|
|
28
|
+
label: 'Page Path',
|
|
29
|
+
description: 'URL path without domain (e.g., /checkout)',
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
field: TAG_LOAD_FIELD.URL,
|
|
33
|
+
label: 'Full URL',
|
|
34
|
+
description: 'Complete URL including protocol and query string',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
field: TAG_LOAD_FIELD.SEARCH,
|
|
38
|
+
label: 'Query String',
|
|
39
|
+
description: 'URL parameters (e.g., ?utm_source=google)',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
field: TAG_LOAD_FIELD.HOSTNAME,
|
|
43
|
+
label: 'Hostname',
|
|
44
|
+
description: 'Domain name (e.g., shop.example.com)',
|
|
45
|
+
caseInsensitive: true,
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
field: TAG_LOAD_FIELD.REFERRER,
|
|
49
|
+
label: 'Referrer',
|
|
50
|
+
description: 'Previous page URL',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
export const TAG_LOAD_OPERATOR_DEFINITIONS = [
|
|
54
|
+
{ operator: CONDITION_OPERATOR.EQUALS, label: 'equals', requiresValue: true },
|
|
55
|
+
{ operator: CONDITION_OPERATOR.NOT_EQUALS, label: 'does not equal', requiresValue: true },
|
|
56
|
+
{ operator: CONDITION_OPERATOR.CONTAINS, label: 'contains', requiresValue: true },
|
|
57
|
+
{ operator: CONDITION_OPERATOR.NOT_CONTAINS, label: 'does not contain', requiresValue: true },
|
|
58
|
+
{ operator: CONDITION_OPERATOR.STARTS_WITH, label: 'starts with', requiresValue: true },
|
|
59
|
+
{ operator: CONDITION_OPERATOR.ENDS_WITH, label: 'ends with', requiresValue: true },
|
|
60
|
+
{ operator: CONDITION_OPERATOR.EXISTS, label: 'exists', requiresValue: false },
|
|
61
|
+
{ operator: CONDITION_OPERATOR.NOT_EXISTS, label: 'does not exist', requiresValue: false },
|
|
62
|
+
];
|
|
63
|
+
export const TAG_LOAD_EXISTENCE_OPERATORS = [
|
|
64
|
+
CONDITION_OPERATOR.EXISTS,
|
|
65
|
+
CONDITION_OPERATOR.NOT_EXISTS,
|
|
66
|
+
];
|
|
67
|
+
//# sourceMappingURL=tag-load-trigger-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag-load-trigger-types.js","sourceRoot":"","sources":["../../../../../src/types/api/destinations/tag-load-trigger-types.ts"],"names":[],"mappings":"AAQA,OAAO,EAAmB,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAShF,MAAM,CAAN,IAAY,aAKX;AALD,WAAY,aAAa;IAEvB,oCAAmB,CAAA;IAEnB,oCAAmB,CAAA;AACrB,CAAC,EALW,aAAa,KAAb,aAAa,QAKxB;AAUD,MAAM,CAAN,IAAY,cAWX;AAXD,WAAY,cAAc;IAExB,4CAA0B,CAAA;IAE1B,kCAAgB,CAAA;IAEhB,wCAAsB,CAAA;IAEtB,4CAA0B,CAAA;IAE1B,4CAA0B,CAAA;AAC5B,CAAC,EAXW,cAAc,KAAd,cAAc,QAWzB;AA6BD,MAAM,CAAC,MAAM,4BAA4B,GAAyB;IAChE,kBAAkB,CAAC,MAAM;IACzB,kBAAkB,CAAC,UAAU;IAC7B,kBAAkB,CAAC,QAAQ;IAC3B,kBAAkB,CAAC,YAAY;IAC/B,kBAAkB,CAAC,WAAW;IAC9B,kBAAkB,CAAC,SAAS;IAC5B,kBAAkB,CAAC,MAAM;IACzB,kBAAkB,CAAC,UAAU;CAC9B,CAAC;AAoBF,MAAM,CAAC,MAAM,yBAAyB,GAA6B;IACjE;QACE,KAAK,EAAE,cAAc,CAAC,QAAQ;QAC9B,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,2CAA2C;KACzD;IACD;QACE,KAAK,EAAE,cAAc,CAAC,GAAG;QACzB,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,kDAAkD;KAChE;IACD;QACE,KAAK,EAAE,cAAc,CAAC,MAAM;QAC5B,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,2CAA2C;KACzD;IACD;QACE,KAAK,EAAE,cAAc,CAAC,QAAQ;QAC9B,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,sCAAsC;QACnD,eAAe,EAAE,IAAI;KACtB;IACD;QACE,KAAK,EAAE,cAAc,CAAC,QAAQ;QAC9B,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,mBAAmB;KACjC;CACF,CAAC;AAcF,MAAM,CAAC,MAAM,6BAA6B,GAAgC;IACxE,EAAE,QAAQ,EAAE,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE;IAC7E,EAAE,QAAQ,EAAE,kBAAkB,CAAC,UAAU,EAAE,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,IAAI,EAAE;IACzF,EAAE,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE;IACjF,EAAE,QAAQ,EAAE,kBAAkB,CAAC,YAAY,EAAE,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,IAAI,EAAE;IAC7F,EAAE,QAAQ,EAAE,kBAAkB,CAAC,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,IAAI,EAAE;IACvF,EAAE,QAAQ,EAAE,kBAAkB,CAAC,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE;IACnF,EAAE,QAAQ,EAAE,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE;IAC9E,EAAE,QAAQ,EAAE,kBAAkB,CAAC,UAAU,EAAE,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,KAAK,EAAE;CAC3F,CAAC;AASF,MAAM,CAAC,MAAM,4BAA4B,GAAyB;IAChE,kBAAkB,CAAC,MAAM;IACzB,kBAAkB,CAAC,UAAU;CAC9B,CAAC"}
|
|
@@ -94,6 +94,9 @@ export interface KlaviyoConfiguration extends UserDestinationConfiguration {
|
|
|
94
94
|
enablePredictivePopup: boolean;
|
|
95
95
|
signupFormId?: string;
|
|
96
96
|
clonedSignupFormId?: string;
|
|
97
|
+
enableBrowserPixel?: boolean;
|
|
98
|
+
publicApiKey?: string;
|
|
99
|
+
useStandardEventNames?: boolean;
|
|
97
100
|
}
|
|
98
101
|
export interface SendlaneConfiguration extends UserDestinationConfiguration {
|
|
99
102
|
apiAccessToken: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"third-party-destination-configs.js","sourceRoot":"","sources":["../../../../../src/types/api/destinations/third-party-destination-configs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"third-party-destination-configs.js","sourceRoot":"","sources":["../../../../../src/types/api/destinations/third-party-destination-configs.ts"],"names":[],"mappings":"AA4KA,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,2BAAS,CAAA;IACT,2BAAS,CAAA;AACX,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AA4BD,MAAM,CAAN,IAAY,aAYX;AAZD,WAAY,aAAa;IACvB,uCAAsB,CAAA;IACtB,yCAAwB,CAAA;IACxB,uCAAsB,CAAA;IACtB,4CAA2B,CAAA;IAC3B,wCAAuB,CAAA;IACvB,gDAA+B,CAAA;IAC/B,wDAAuC,CAAA;IACvC,sCAAqB,CAAA;IACrB,kCAAiB,CAAA;IACjB,oCAAmB,CAAA;IACnB,8BAAa,CAAA;AACf,CAAC,EAZW,aAAa,KAAb,aAAa,QAYxB;AAkDD,MAAM,CAAN,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,mCAAa,CAAA;AACf,CAAC,EAJW,kBAAkB,KAAlB,kBAAkB,QAI7B"}
|