@pexip-engage-public/plugin 1.0.0-canary-20231031112431

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/configuration/PluginConfiguration.current.d.ts +52 -0
  3. package/dist/configuration/PluginConfiguration.current.d.ts.map +1 -0
  4. package/dist/configuration/PluginConfiguration.current.js +1 -0
  5. package/dist/configuration/PluginConfiguration.schema.d.ts +489 -0
  6. package/dist/configuration/PluginConfiguration.schema.d.ts.map +1 -0
  7. package/dist/configuration/PluginConfiguration.schema.js +121 -0
  8. package/dist/configuration/PluginConfiguration.v0.d.ts +51 -0
  9. package/dist/configuration/PluginConfiguration.v0.d.ts.map +1 -0
  10. package/dist/configuration/PluginConfiguration.v0.js +1 -0
  11. package/dist/configuration/PluginConfiguration.v1.d.ts +51 -0
  12. package/dist/configuration/PluginConfiguration.v1.d.ts.map +1 -0
  13. package/dist/configuration/PluginConfiguration.v1.js +1 -0
  14. package/dist/configuration/index.d.ts +2 -0
  15. package/dist/configuration/index.d.ts.map +1 -0
  16. package/dist/configuration/index.js +1 -0
  17. package/dist/configuration/migration.d.ts +6 -0
  18. package/dist/configuration/migration.d.ts.map +1 -0
  19. package/dist/configuration/migration.js +84 -0
  20. package/dist/configuration-parser/LegacyParser.d.ts +196 -0
  21. package/dist/configuration-parser/LegacyParser.d.ts.map +1 -0
  22. package/dist/configuration-parser/LegacyParser.js +165 -0
  23. package/dist/configuration-parser/LegacyParser.utils.d.ts +88 -0
  24. package/dist/configuration-parser/LegacyParser.utils.d.ts.map +1 -0
  25. package/dist/configuration-parser/LegacyParser.utils.js +255 -0
  26. package/dist/configuration-parser/ModernParser.d.ts +99 -0
  27. package/dist/configuration-parser/ModernParser.d.ts.map +1 -0
  28. package/dist/configuration-parser/ModernParser.js +48 -0
  29. package/dist/configuration-parser/ModernParser.utils.d.ts +6 -0
  30. package/dist/configuration-parser/ModernParser.utils.d.ts.map +1 -0
  31. package/dist/configuration-parser/ModernParser.utils.js +28 -0
  32. package/dist/configuration-parser/Parser.d.ts +28 -0
  33. package/dist/configuration-parser/Parser.d.ts.map +1 -0
  34. package/dist/configuration-parser/Parser.js +33 -0
  35. package/dist/configuration-parser/hash-parser.d.ts +7 -0
  36. package/dist/configuration-parser/hash-parser.d.ts.map +1 -0
  37. package/dist/configuration-parser/hash-parser.js +13 -0
  38. package/dist/configuration-parser/html-parser.d.ts +13 -0
  39. package/dist/configuration-parser/html-parser.d.ts.map +1 -0
  40. package/dist/configuration-parser/html-parser.js +23 -0
  41. package/dist/configuration-parser/index.d.ts +48 -0
  42. package/dist/configuration-parser/index.d.ts.map +1 -0
  43. package/dist/configuration-parser/index.js +86 -0
  44. package/dist/configuration-parser/js-parser.d.ts +84 -0
  45. package/dist/configuration-parser/js-parser.d.ts.map +1 -0
  46. package/dist/configuration-parser/js-parser.js +56 -0
  47. package/dist/configuration-parser/tests/LegacyDomParser.test.d.ts +2 -0
  48. package/dist/configuration-parser/tests/LegacyDomParser.test.d.ts.map +1 -0
  49. package/dist/configuration-parser/tests/LegacyDomParser.test.js +151 -0
  50. package/dist/configuration-parser/tests/LegacyLocationHashParser.test.d.ts +2 -0
  51. package/dist/configuration-parser/tests/LegacyLocationHashParser.test.d.ts.map +1 -0
  52. package/dist/configuration-parser/tests/LegacyLocationHashParser.test.js +86 -0
  53. package/dist/configuration-parser/tests/LegacyParser.test.d.ts +2 -0
  54. package/dist/configuration-parser/tests/LegacyParser.test.d.ts.map +1 -0
  55. package/dist/configuration-parser/tests/LegacyParser.test.js +104 -0
  56. package/dist/configuration-parser/tests/test-utils.d.ts +4 -0
  57. package/dist/configuration-parser/tests/test-utils.d.ts.map +1 -0
  58. package/dist/configuration-parser/tests/test-utils.js +10 -0
  59. package/dist/configuration-parser/utils.d.ts +18 -0
  60. package/dist/configuration-parser/utils.d.ts.map +1 -0
  61. package/dist/configuration-parser/utils.js +44 -0
  62. package/dist/configuration-parser-legacy/LegacyParser.d.ts +196 -0
  63. package/dist/configuration-parser-legacy/LegacyParser.d.ts.map +1 -0
  64. package/dist/configuration-parser-legacy/LegacyParser.js +162 -0
  65. package/dist/configuration-parser-legacy/LegacyParser.utils.d.ts +8 -0
  66. package/dist/configuration-parser-legacy/LegacyParser.utils.d.ts.map +1 -0
  67. package/dist/configuration-parser-legacy/LegacyParser.utils.js +88 -0
  68. package/dist/configuration-parser-legacy/ModernParser.d.ts +97 -0
  69. package/dist/configuration-parser-legacy/ModernParser.d.ts.map +1 -0
  70. package/dist/configuration-parser-legacy/ModernParser.js +96 -0
  71. package/dist/configuration-parser-legacy/Parser.d.ts +20 -0
  72. package/dist/configuration-parser-legacy/Parser.d.ts.map +1 -0
  73. package/dist/configuration-parser-legacy/Parser.js +20 -0
  74. package/dist/configuration-parser-legacy/tests/LegacyDomParser.test.d.ts +2 -0
  75. package/dist/configuration-parser-legacy/tests/LegacyDomParser.test.d.ts.map +1 -0
  76. package/dist/configuration-parser-legacy/tests/LegacyDomParser.test.js +151 -0
  77. package/dist/configuration-parser-legacy/tests/LegacyLocationHashParser.test.d.ts +2 -0
  78. package/dist/configuration-parser-legacy/tests/LegacyLocationHashParser.test.d.ts.map +1 -0
  79. package/dist/configuration-parser-legacy/tests/LegacyLocationHashParser.test.js +86 -0
  80. package/dist/configuration-parser-legacy/tests/LegacyParser.test.d.ts +2 -0
  81. package/dist/configuration-parser-legacy/tests/LegacyParser.test.d.ts.map +1 -0
  82. package/dist/configuration-parser-legacy/tests/LegacyParser.test.js +104 -0
  83. package/dist/configuration-parser-legacy/tests/test-utils.d.ts +4 -0
  84. package/dist/configuration-parser-legacy/tests/test-utils.d.ts.map +1 -0
  85. package/dist/configuration-parser-legacy/tests/test-utils.js +10 -0
  86. package/dist/configuration-parser-legacy/utils.d.ts +14 -0
  87. package/dist/configuration-parser-legacy/utils.d.ts.map +1 -0
  88. package/dist/configuration-parser-legacy/utils.js +24 -0
  89. package/dist/constants.d.ts +22 -0
  90. package/dist/constants.d.ts.map +1 -0
  91. package/dist/constants.js +50 -0
  92. package/dist/encoding.d.ts +8 -0
  93. package/dist/encoding.d.ts.map +1 -0
  94. package/dist/encoding.js +33 -0
  95. package/dist/events/conversion-analytics.d.ts +120 -0
  96. package/dist/events/conversion-analytics.d.ts.map +1 -0
  97. package/dist/events/conversion-analytics.js +10 -0
  98. package/dist/events/event-types.d.ts +152 -0
  99. package/dist/events/event-types.d.ts.map +1 -0
  100. package/dist/events/event-types.js +1 -0
  101. package/dist/events/index.d.ts +2 -0
  102. package/dist/events/index.d.ts.map +1 -0
  103. package/dist/events/index.js +1 -0
  104. package/dist/events/utils.d.ts +2 -0
  105. package/dist/events/utils.d.ts.map +1 -0
  106. package/dist/events/utils.js +1 -0
  107. package/dist/index.d.ts +8 -0
  108. package/dist/index.d.ts.map +1 -0
  109. package/dist/index.js +7 -0
  110. package/dist/instance/PexipEngagePluginFrame.d.ts +8 -0
  111. package/dist/instance/PexipEngagePluginFrame.d.ts.map +1 -0
  112. package/dist/instance/PexipEngagePluginFrame.js +39 -0
  113. package/dist/instance/PluginInstance.d.ts +138 -0
  114. package/dist/instance/PluginInstance.d.ts.map +1 -0
  115. package/dist/instance/PluginInstance.js +328 -0
  116. package/dist/instance/dispatchEvent.d.ts +24 -0
  117. package/dist/instance/dispatchEvent.d.ts.map +1 -0
  118. package/dist/instance/dispatchEvent.js +5 -0
  119. package/dist/instance/hooks.d.ts +17 -0
  120. package/dist/instance/hooks.d.ts.map +1 -0
  121. package/dist/instance/hooks.js +1 -0
  122. package/dist/instance/index.d.ts +19 -0
  123. package/dist/instance/index.d.ts.map +1 -0
  124. package/dist/instance/index.js +30 -0
  125. package/dist/logger.d.ts +10 -0
  126. package/dist/logger.d.ts.map +1 -0
  127. package/dist/logger.js +24 -0
  128. package/dist/state/PluginState.schema.d.ts +943 -0
  129. package/dist/state/PluginState.schema.d.ts.map +1 -0
  130. package/dist/state/PluginState.schema.js +52 -0
  131. package/dist/state/index.d.ts +4 -0
  132. package/dist/state/index.d.ts.map +1 -0
  133. package/dist/state/index.js +2 -0
  134. package/dist/state/schemas.d.ts +169 -0
  135. package/dist/state/schemas.d.ts.map +1 -0
  136. package/dist/state/schemas.js +85 -0
  137. package/dist/state/utils.d.ts +7 -0
  138. package/dist/state/utils.d.ts.map +1 -0
  139. package/dist/state/utils.js +22 -0
  140. package/package.json +66 -0
  141. package/src/@types/iframe-resizer.iframeResizer.d.ts +211 -0
  142. package/src/@types/reset.d.ts +1 -0
  143. package/src/configuration/PluginConfiguration.current.ts +51 -0
  144. package/src/configuration/PluginConfiguration.schema.ts +133 -0
  145. package/src/configuration/PluginConfiguration.v0.ts +50 -0
  146. package/src/configuration/index.ts +1 -0
  147. package/src/configuration/migration.ts +95 -0
  148. package/src/configuration-parser/hash-parser.ts +18 -0
  149. package/src/configuration-parser/html-parser.ts +35 -0
  150. package/src/configuration-parser/index.ts +134 -0
  151. package/src/configuration-parser/js-parser.ts +153 -0
  152. package/src/configuration-parser-legacy/LegacyParser.ts +376 -0
  153. package/src/configuration-parser-legacy/LegacyParser.utils.ts +104 -0
  154. package/src/configuration-parser-legacy/ModernParser.ts +213 -0
  155. package/src/configuration-parser-legacy/Parser.ts +44 -0
  156. package/src/configuration-parser-legacy/tests/LegacyDomParser.test.ts +168 -0
  157. package/src/configuration-parser-legacy/tests/LegacyLocationHashParser.test.ts +96 -0
  158. package/src/configuration-parser-legacy/tests/LegacyParser.test.ts +117 -0
  159. package/src/configuration-parser-legacy/tests/test-utils.ts +16 -0
  160. package/src/configuration-parser-legacy/utils.ts +30 -0
  161. package/src/constants.ts +61 -0
  162. package/src/encoding.ts +42 -0
  163. package/src/events/event-types.ts +126 -0
  164. package/src/events/index.ts +1 -0
  165. package/src/instance/PexipEngagePluginFrame.ts +48 -0
  166. package/src/instance/PluginInstance.ts +429 -0
  167. package/src/instance/dispatchEvent.ts +34 -0
  168. package/src/instance/hooks.ts +17 -0
  169. package/src/instance/index.ts +54 -0
  170. package/src/logger.ts +25 -0
  171. package/src/state/PluginState.schema.ts +67 -0
  172. package/src/state/index.ts +11 -0
  173. package/src/state/schemas.ts +97 -0
@@ -0,0 +1,104 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { parse as legacyParse } from "../LegacyParser.js";
3
+ import { insertMeetingTypeStepInFlow } from "../LegacyParser.utils.js";
4
+ import { createFakeElement, createFakeHash } from "./test-utils.js";
5
+ describe("LegacyConfigurationParser", () => {
6
+ it("Should correctly cascade config options", () => {
7
+ const config = legacyParse({
8
+ element: createFakeElement({
9
+ "skedify:searchCountry": "EN",
10
+ "skedify:appointment.subject_id": "1",
11
+ "skedify:appointment.office_id": "2000",
12
+ }),
13
+ hash: createFakeHash({
14
+ sco: "DE,NB",
15
+ sub: "2",
16
+ lis: "3000",
17
+ }),
18
+ options: {
19
+ searchCountry: "BE,NL",
20
+ lead_segment_code: "CODE_123",
21
+ },
22
+ });
23
+ expect(config).toMatchInlineSnapshot(`
24
+ {
25
+ "domConfig": {
26
+ "office-ids": "2000",
27
+ "office-type": "id",
28
+ "search_countries": "EN",
29
+ "subject-ids": "1",
30
+ "subject-type": "id",
31
+ },
32
+ "hashConfig": {
33
+ "listing-id": "3000",
34
+ "listing-type": "id",
35
+ "search_countries": "DE,NB",
36
+ "subject-ids": "2",
37
+ "subject-type": "id",
38
+ },
39
+ "jsConfig": {
40
+ "lead_segment-id": "CODE_123",
41
+ "lead_segment-type": "code",
42
+ "search_countries": "BE,NL",
43
+ },
44
+ }
45
+ `);
46
+ });
47
+ });
48
+ describe("parseLegacyHashConfig", () => {
49
+ it("Should correctly parse legacy configuration", () => {
50
+ const legacyConfig = legacyParse({
51
+ hash: "#skedifyeyJmbG8iOiJTI09UUUMiLCJvZmYiOiI2In0f",
52
+ });
53
+ expect(legacyConfig).toMatchInlineSnapshot(`
54
+ {
55
+ "domConfig": {},
56
+ "hashConfig": {
57
+ "flow": "SM*OTQC",
58
+ "office-ids": "6",
59
+ "office-type": "id",
60
+ },
61
+ "jsConfig": {},
62
+ }
63
+ `);
64
+ });
65
+ it("Should correctly parse legacy special encoded character configuration", () => {
66
+ const legacyConfig = legacyParse({
67
+ hash: "#skedifyeyJjZW0iOiJjaGFybG90dGVzY2hyb+tAaG90bWFpbC5jb20iLCJjZm4iOiJDaGFybG90dGUiLCJjbG4iOiJTY2hyb+siLCJjcG4iOiIwNDk3IDk5IDk5IDk5IiwiZWxpIjoiRTEzRkRGNzEtNkUwRi1FIEUxMS04RjZELTAwMEQzQUJBM0Q5QyJ9e",
68
+ });
69
+ expect(legacyConfig).toMatchInlineSnapshot(`
70
+ {
71
+ "domConfig": {},
72
+ "hashConfig": {
73
+ "customer-email": "charlotteschroë@hotmail.com",
74
+ "customer-first_name": "Charlotte",
75
+ "customer-last_name": "Schroë",
76
+ "customer-phone_number": "0497 99 99 99",
77
+ "listing-id": "E13FDF71-6E0F-E E11-8F6D-000D3ABA3D9C",
78
+ "listing-type": "externalId",
79
+ },
80
+ "jsConfig": {},
81
+ }
82
+ `);
83
+ });
84
+ });
85
+ describe("insertMeetingTypeStepInFlow", () => {
86
+ it("should correctly handle empty flow", () => {
87
+ expect(insertMeetingTypeStepInFlow()).toBeUndefined();
88
+ });
89
+ it("should correctly stop when M is already present", () => {
90
+ expect(insertMeetingTypeStepInFlow("#S#M#O#ETQC")).toBe("#S#M#O#ETQC");
91
+ });
92
+ it("should correctly insert M when O is locked", () => {
93
+ expect(insertMeetingTypeStepInFlow("S#OTQC")).toBe("SM#OTQC");
94
+ });
95
+ it("should correctly insert M when S is locked", () => {
96
+ expect(insertMeetingTypeStepInFlow("#SOTQC")).toBe("#SMOTQC");
97
+ });
98
+ it("should correctly insert M when S & O is locked", () => {
99
+ expect(insertMeetingTypeStepInFlow("#S#OETQC")).toBe("#SM#OETQC");
100
+ });
101
+ it("should correctly insert M when S & O & E is locked", () => {
102
+ expect(insertMeetingTypeStepInFlow("#S#O#ETQC")).toBe("#SM#O#ETQC");
103
+ });
104
+ });
@@ -0,0 +1,4 @@
1
+ import type { LegacyPluginHashConfiguration } from "../LegacyParser.js";
2
+ export declare function createFakeHash(obj?: LegacyPluginHashConfiguration): string;
3
+ export declare function createFakeElement(attributes: Record<string, string>): HTMLDivElement;
4
+ //# sourceMappingURL=test-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../../../src/configuration-parser-legacy/tests/test-utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AAExE,wBAAgB,cAAc,CAAC,GAAG,CAAC,EAAE,6BAA6B,UAIjE;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,kBAKnE"}
@@ -0,0 +1,10 @@
1
+ import { encodeURIParameters } from "skedify-uri-encoding";
2
+ export function createFakeHash(obj) {
3
+ const values = encodeURIParameters(obj ?? {});
4
+ return `#skedify${values}`;
5
+ }
6
+ export function createFakeElement(attributes) {
7
+ const element = global.window.document.createElement("div");
8
+ Object.entries(attributes).forEach(([key, value]) => element.setAttribute(key, value));
9
+ return element;
10
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Removes all falsy and empty objects from a passed object
3
+ * @param obj Object
4
+ * @returns Object
5
+ */
6
+ export declare function sanitize<
7
+ T extends {
8
+ [key: string]: any;
9
+ },
10
+ >(obj: {
11
+ [K in keyof Required<T>]: T[K];
12
+ }): T;
13
+ export declare function isValidConfiguration(configuration: unknown): configuration is object;
14
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/configuration-parser-legacy/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAAE,GAAG,EAAE;KAC7D,CAAC,IAAI,MAAM,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC/B,GAAG,CAAC,CAkBJ;AAED,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,OAAO,GAAG,aAAa,IAAI,MAAM,CAEpF"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Removes all falsy and empty objects from a passed object
3
+ * @param obj Object
4
+ * @returns Object
5
+ */
6
+ export function sanitize(obj) {
7
+ for (const key in obj) {
8
+ if (!obj[key]) {
9
+ delete obj[key];
10
+ }
11
+ if (typeof obj[key] !== "object") {
12
+ continue; // If not an object, skip to the next iteration
13
+ }
14
+ // The property is an object
15
+ sanitize(obj[key]); // <-- Make a recursive call on the nested object
16
+ if (Object.keys(obj[key]).length === 0) {
17
+ delete obj[key]; // The object had no properties, so delete that property
18
+ }
19
+ }
20
+ return obj;
21
+ }
22
+ export function isValidConfiguration(configuration) {
23
+ return typeof configuration === "object" && configuration !== null;
24
+ }
@@ -0,0 +1,22 @@
1
+ import type { Language } from "@pexip-engage/graphql";
2
+ export declare const DEPRECATED_TOKEN: {
3
+ readonly LOCK: "#";
4
+ readonly OFFICE: "L";
5
+ readonly START: "'";
6
+ };
7
+ export declare const TOKEN: {
8
+ readonly EMPLOYEE: "E";
9
+ readonly CUSTOMER: "C";
10
+ readonly LOCK: "*";
11
+ readonly MEETING_TYPE: "M";
12
+ readonly OFFICE: "O";
13
+ readonly QUESTION: "Q";
14
+ readonly SUBJECT: "S";
15
+ readonly TIMETABLE: "T";
16
+ };
17
+ export declare const DEFAULT_FLOW: string;
18
+ export type SupportedLngs = Language | "en-US" | "en-GB";
19
+ export declare const SUPPORTED_LNGS: readonly ["da", "de", "el", "en", "en-GB", "en-US", "es", "fr", "ja", "no", "nl", "pl"];
20
+ export declare const FALLBACK_LNG: SupportedLngs;
21
+ export declare function getSupportedLng(value?: string): "cimode" | SupportedLngs | undefined;
22
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,eAAO,MAAM,gBAAgB;;;;CAInB,CAAC;AAEX,eAAO,MAAM,KAAK;;;;;;;;;CASR,CAAC;AAEX,eAAO,MAAM,YAAY,QAOf,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;AACzD,eAAO,MAAM,cAAc,yFAasB,CAAC;AAClD,eAAO,MAAM,YAAY,EAAE,aAAoB,CAAC;AAMhD,wBAAgB,eAAe,CAAC,KAAK,CAAC,EAAE,MAAM,wCAW7C"}
@@ -0,0 +1,50 @@
1
+ export const DEPRECATED_TOKEN = {
2
+ LOCK: "#",
3
+ OFFICE: "L",
4
+ START: "'",
5
+ };
6
+ export const TOKEN = {
7
+ EMPLOYEE: "E",
8
+ CUSTOMER: "C",
9
+ LOCK: "*",
10
+ MEETING_TYPE: "M",
11
+ OFFICE: "O",
12
+ QUESTION: "Q",
13
+ SUBJECT: "S",
14
+ TIMETABLE: "T",
15
+ };
16
+ export const DEFAULT_FLOW = [
17
+ TOKEN.SUBJECT,
18
+ TOKEN.MEETING_TYPE,
19
+ TOKEN.OFFICE,
20
+ TOKEN.TIMETABLE,
21
+ TOKEN.QUESTION,
22
+ TOKEN.CUSTOMER,
23
+ ].join("");
24
+ export const SUPPORTED_LNGS = [
25
+ "da",
26
+ "de",
27
+ "el",
28
+ "en",
29
+ "en-GB",
30
+ "en-US",
31
+ "es",
32
+ "fr",
33
+ "ja",
34
+ "no",
35
+ "nl",
36
+ "pl",
37
+ ];
38
+ export const FALLBACK_LNG = "en";
39
+ function isSupportedLng(value) {
40
+ return Boolean(value && SUPPORTED_LNGS.includes(value));
41
+ }
42
+ export function getSupportedLng(value) {
43
+ if (value === "cimode") {
44
+ return "cimode";
45
+ }
46
+ if (isSupportedLng(value)) return value;
47
+ const locale = value?.split("-")[0];
48
+ if (isSupportedLng(locale)) return locale;
49
+ return undefined;
50
+ }
@@ -0,0 +1,8 @@
1
+ import type { PluginConfiguration } from "./configuration/PluginConfiguration.current.js";
2
+ export declare function encodeURIParameters<T>(obj: T): string;
3
+ export declare function decodeURIParameters<T>(str: string): T;
4
+ export declare const pluginParams: {
5
+ encode(config: PluginConfiguration): URLSearchParams;
6
+ decode(searchParams: URLSearchParams): PluginConfiguration | null;
7
+ };
8
+ //# sourceMappingURL=encoding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../src/encoding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AAE1F,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,MAAM,CAQrD;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,CAYrD;AAID,eAAO,MAAM,YAAY;mBACR,mBAAmB,GAAG,eAAe;yBAM/B,eAAe;CAMrC,CAAC"}
@@ -0,0 +1,33 @@
1
+ export function encodeURIParameters(obj) {
2
+ const str = JSON.stringify(obj);
3
+ return btoa(
4
+ encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function (_, p1) {
5
+ return String.fromCharCode(parseInt(p1, 16));
6
+ }),
7
+ );
8
+ }
9
+ export function decodeURIParameters(str) {
10
+ const result = JSON.parse(
11
+ decodeURIComponent(
12
+ Array.prototype.map
13
+ .call(atob(str), function (c) {
14
+ return "%" + ("00" + c.charCodeAt(0).toString(16)).slice(-2);
15
+ })
16
+ .join(""),
17
+ ),
18
+ );
19
+ return result;
20
+ }
21
+ const CONFIGURATION_SEARCH_PARAM_KEY = "configuration.pexip";
22
+ export const pluginParams = {
23
+ encode(config) {
24
+ const searchParams = new URLSearchParams();
25
+ searchParams.set(CONFIGURATION_SEARCH_PARAM_KEY, encodeURIParameters(config));
26
+ return searchParams;
27
+ },
28
+ decode(searchParams) {
29
+ const config = searchParams.get(CONFIGURATION_SEARCH_PARAM_KEY);
30
+ if (!config) return null;
31
+ return decodeURIParameters(config);
32
+ },
33
+ };
@@ -0,0 +1,120 @@
1
+ import type { Geolocation } from "@pexip-engage/graphql";
2
+ import type { PluginStateInput } from "../state/index.js";
3
+ type ValueOf<T> = T[keyof T];
4
+ export interface CAMeta {
5
+ enterprise: string;
6
+ sessionId: string;
7
+ application: {
8
+ name: string;
9
+ version: string;
10
+ };
11
+ timestamp: string;
12
+ }
13
+ export declare const CAEventType: {
14
+ readonly SESSION_CONFIG: "session-config";
15
+ readonly SESSION_DATA: "session-data";
16
+ readonly STEP_SHOWN: "step-shown";
17
+ readonly DATA_SHOWN: "data-shown";
18
+ readonly STEP_SUBMITTED: "data-selected";
19
+ readonly APPOINTMENT_REQUESTED: "appointment-requested";
20
+ readonly APPOINTMENT_CONFIRMED: "appointment-confirmed";
21
+ readonly TIMETABLE_NAVIGATION: "timetable-navigation";
22
+ };
23
+ export type CAEventType = ValueOf<typeof CAEventType>;
24
+ type CAEvent<T extends CAEventType, P> = {
25
+ type: T;
26
+ payload: P;
27
+ };
28
+ export type ConversionAnalyticsEvents = CAEvent<"session-config", {
29
+ userAgent: string;
30
+ configuration: PluginStateInput["config"];
31
+ }> | CAEvent<"session-data", {
32
+ appointmentId: string;
33
+ }> | CAEvent<"step-shown", {
34
+ view: "employee" | "customer" | "meeting-type" | "office" | "questions" | "subject" | "timetable";
35
+ }> | CAEvent<"data-shown", CADataShownPayload> | CAEvent<"data-selected", CADataSelectedPayload> | CAEvent<"timetable-navigation", {
36
+ type: "next" | "previous" | "date-selection";
37
+ timeZone: string | null;
38
+ /** YYYY-MM-DD */
39
+ startDay: string;
40
+ /** YYYY-MM-DD */
41
+ endDay: string;
42
+ }> | CAEvent<"appointment-confirmed", {
43
+ appointmentId: string;
44
+ }>;
45
+ type CADataShownPayload = {
46
+ subtype: "timetable";
47
+ slots: {
48
+ /** 2022-11-03T14:35:58+00:00 */
49
+ start: string;
50
+ /** 2022-11-03T14:35:58+00:00 */
51
+ end: string;
52
+ }[];
53
+ /** YYYY-MM-DD */
54
+ startDay: string;
55
+ /** YYYY-MM-DD */
56
+ endDay: string;
57
+ timeZone: string;
58
+ } | {
59
+ subtype: "office";
60
+ officeIds: string[];
61
+ } | {
62
+ subtype: "subject-category";
63
+ categoryIds: string[];
64
+ } | {
65
+ subtype: "subject";
66
+ subjectIds: string[];
67
+ } | {
68
+ subtype: "meeting-type";
69
+ meetingTypes: Array<"OFFICE" | "PHONE" | "VIDEO" | "ON_LOCATION">;
70
+ } | {
71
+ subtype: "questions";
72
+ questionIds: string[];
73
+ } | {
74
+ subtype: "employee";
75
+ employeeIds: string[];
76
+ };
77
+ type CADataSelectedPayload = {
78
+ subtype: "employee";
79
+ employeeId: number;
80
+ } | {
81
+ subtype: "customer";
82
+ customer: {
83
+ timezone?: string;
84
+ };
85
+ } | {
86
+ subtype: "office";
87
+ officeId: number;
88
+ } | {
89
+ subtype: "questions";
90
+ questions: {
91
+ questionId: number;
92
+ value: string | number | string[];
93
+ }[];
94
+ } | {
95
+ subtype: "subject";
96
+ subjectId: number;
97
+ } | {
98
+ subtype: "timetable";
99
+ possibility: {
100
+ /** 2022-11-03T14:35:58+00:00 */
101
+ start: string;
102
+ /** 2022-11-03T14:35:58+00:00 */
103
+ end: string;
104
+ timeZone: string;
105
+ employeeIds: number[];
106
+ };
107
+ } | {
108
+ subtype: "subject-category";
109
+ categoryId: number;
110
+ } | {
111
+ subtype: "location";
112
+ location: {
113
+ geolocation: Geolocation;
114
+ };
115
+ } | {
116
+ subtype: "meeting-type";
117
+ meetingType: "OFFICE" | "PHONE" | "VIDEO" | "ON_LOCATION";
118
+ };
119
+ export {};
120
+ //# sourceMappingURL=conversion-analytics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversion-analytics.d.ts","sourceRoot":"","sources":["../../src/events/conversion-analytics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export const CAEventType = {
2
+ SESSION_CONFIG: "session-config",
3
+ SESSION_DATA: "session-data",
4
+ STEP_SHOWN: "step-shown",
5
+ DATA_SHOWN: "data-shown",
6
+ STEP_SUBMITTED: "data-selected",
7
+ APPOINTMENT_REQUESTED: "appointment-requested",
8
+ APPOINTMENT_CONFIRMED: "appointment-confirmed",
9
+ TIMETABLE_NAVIGATION: "timetable-navigation",
10
+ };
@@ -0,0 +1,152 @@
1
+ import type { PluginState } from "../state/index.js";
2
+ import type { InputType } from "@pexip-engage/graphql";
3
+ export type IFrameMessage = PublicIFrameMessage | PrivateIFrameMessage;
4
+ export type PublicIFrameMessage = PluginEventMessage | StepShownMessage;
5
+ export type PrivateIFrameMessage =
6
+ | StateUpdateMessage
7
+ | RequestPreAppointmentMessage
8
+ | RequestMessage;
9
+ export interface StateUpdateMessage {
10
+ type: "STATE_UPDATE";
11
+ payload: PluginState & {
12
+ subjectCategoryId?: string;
13
+ };
14
+ }
15
+ export interface StepShownMessage {
16
+ type: "STEP_SHOWN";
17
+ payload: {
18
+ step:
19
+ | "office"
20
+ | "timetable"
21
+ | "customer"
22
+ | "questions"
23
+ | "subject"
24
+ | "employee"
25
+ | "meeting-type";
26
+ subject?: {
27
+ id: string;
28
+ title?: string;
29
+ };
30
+ office?: {
31
+ id: string;
32
+ title?: string;
33
+ };
34
+ meetingType?:
35
+ | "video"
36
+ | "phone"
37
+ | "on_location"
38
+ | "office"
39
+ | "VIDEO"
40
+ | "PHONE"
41
+ | "ON_LOCATION"
42
+ | "OFFICE";
43
+ employee?: {
44
+ id: string;
45
+ firstName?: string | null;
46
+ lastName?: string | null;
47
+ };
48
+ };
49
+ }
50
+ export interface PluginEventMessage {
51
+ type:
52
+ | "ERROR"
53
+ | "MISCONFIGURED"
54
+ | "APPOINTMENT_CREATED"
55
+ | "APPOINTMENT_EDITED"
56
+ | "INVITE_ACCEPTED"
57
+ | "APPOINTMENT_CANCELLED"
58
+ | "APPOINTMENT_COMPLETED";
59
+ }
60
+ export type IFrameObjectMessage =
61
+ | RequestPreAppointmentResponseMessage
62
+ | GeolocationResponseMessage
63
+ | CssVarUpdateResponseMessage
64
+ | OriginResponseMessage
65
+ | CustomCssUpdateResponseMessage;
66
+ export interface IFrameResponseMap {
67
+ ["PRE_APPOINTMENT_REQUEST"]: RequestPreAppointmentResponseMessage["payload"];
68
+ ["REQUEST_GEOLOCATION"]: GeolocationResponseMessage["payload"];
69
+ ["REQUEST_ORIGIN_URL"]: OriginResponseMessage["payload"];
70
+ ["CSS_VAR_UPDATE"]: CssVarUpdateResponseMessage["payload"];
71
+ ["CUSTOM_CSS_UPDATE"]: CustomCssUpdateResponseMessage["payload"];
72
+ }
73
+ export type RequestEvent = RequestMessage | RequestPreAppointmentMessage;
74
+ export interface RequestMessage {
75
+ type: "REQUEST_GEOLOCATION" | "REQUEST_ORIGIN_URL";
76
+ }
77
+ export interface GeolocationResponseMessage {
78
+ type: "REQUEST_GEOLOCATION";
79
+ payload:
80
+ | GeolocationPosition
81
+ | {
82
+ error: string;
83
+ };
84
+ }
85
+ export interface CssVarUpdateResponseMessage {
86
+ type: "CSS_VAR_UPDATE";
87
+ payload: {
88
+ name: string;
89
+ value: string;
90
+ };
91
+ }
92
+ export interface CustomCssUpdateResponseMessage {
93
+ type: "CUSTOM_CSS_UPDATE";
94
+ payload: {
95
+ css: string;
96
+ };
97
+ }
98
+ export interface OriginResponseMessage {
99
+ type: "REQUEST_ORIGIN_URL";
100
+ payload: {
101
+ href: string;
102
+ };
103
+ }
104
+ export interface RequestPreAppointmentResponseMessage {
105
+ type: "PRE_APPOINTMENT_REQUEST";
106
+ payload: {
107
+ meta: Record<string, unknown>;
108
+ };
109
+ }
110
+ export interface RequestPreAppointmentMessage {
111
+ type: "PRE_APPOINTMENT_REQUEST";
112
+ payload: PreAppointmentRequestPayload;
113
+ }
114
+ export interface PreAppointmentRequestPayload {
115
+ employee?: {
116
+ externalId?: string;
117
+ firstName?: string;
118
+ lastName?: string;
119
+ };
120
+ meetingType: "OFFICE" | "PHONE" | "VIDEO" | "ON_LOCATION";
121
+ office: {
122
+ externalId?: string;
123
+ title: string;
124
+ };
125
+ subject: {
126
+ externalId?: string;
127
+ title: string;
128
+ };
129
+ customer: {
130
+ externalId?: string;
131
+ firstName?: string;
132
+ lastName?: string;
133
+ };
134
+ questions: ReadonlyArray<{
135
+ label: string;
136
+ externalId?: string;
137
+ answer:
138
+ | {
139
+ type: Exclude<InputType, "SELECT" | "MULTI_SELECT">;
140
+ value?: string;
141
+ }
142
+ | {
143
+ type: Extract<InputType, "SELECT" | "MULTI_SELECT">;
144
+ selectedAnswerOptions: ReadonlyArray<{
145
+ externalId?: string;
146
+ value?: string;
147
+ label: string;
148
+ }>;
149
+ };
150
+ }>;
151
+ }
152
+ //# sourceMappingURL=event-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-types.d.ts","sourceRoot":"","sources":["../../src/events/event-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from "./event-types.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1 @@
1
+ export * from "./event-types.js";
@@ -0,0 +1,2 @@
1
+ export type ValueOf<T> = T[keyof T];
2
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/events/utils.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ export * from "./configuration/index.js";
2
+ export * from "./configuration-parser/index.js";
3
+ export * from "./events/index.js";
4
+ export * from "./instance/index.js";
5
+ export * from "./state/index.js";
6
+ export * from "./constants.js";
7
+ export * from "./logger.js";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,7 @@
1
+ export * from "./configuration/index.js";
2
+ export * from "./configuration-parser/index.js";
3
+ export * from "./events/index.js";
4
+ export * from "./instance/index.js";
5
+ export * from "./state/index.js";
6
+ export * from "./constants.js";
7
+ export * from "./logger.js";
@@ -0,0 +1,8 @@
1
+ declare class PexipEngagePluginFrame extends HTMLElement {
2
+ #private;
3
+ constructor();
4
+ createPexipPlugin(src: string): HTMLIFrameElement;
5
+ }
6
+ export declare function getPexipEngagePluginFrame(): typeof PexipEngagePluginFrame;
7
+ export {};
8
+ //# sourceMappingURL=PexipEngagePluginFrame.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PexipEngagePluginFrame.d.ts","sourceRoot":"","sources":["../../src/instance/PexipEngagePluginFrame.ts"],"names":[],"mappings":"AAQA,cAAM,sBAAuB,SAAQ,WAAW;;;IAQ9C,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB;CAsBlD;AAGD,wBAAgB,yBAAyB,kCAMxC"}