@inploi/sdk 0.4.3 → 0.6.0
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/README.md +1 -3
- package/cdn/plugins/accessibility.js +72 -0
- package/cdn/plugins/journeys.js +9 -2
- package/cdn/sdk.js +19 -18
- package/dist/accessibility/accessibility.d.mts +61 -0
- package/dist/accessibility/accessibility.d.ts +61 -0
- package/dist/accessibility/accessibility.js +2 -0
- package/dist/accessibility/accessibility.js.map +1 -0
- package/dist/accessibility/accessibility.mjs +2 -0
- package/dist/accessibility/accessibility.mjs.map +1 -0
- package/dist/chunk-DG423OQK.mjs +2 -0
- package/dist/chunk-DG423OQK.mjs.map +1 -0
- package/dist/chunk-NLLAI5ZB.mjs +2 -0
- package/dist/chunk-NLLAI5ZB.mjs.map +1 -0
- package/dist/{common.plugins-030c372f.d.ts → common.plugins-1ba83e05.d.ts} +8 -1
- package/dist/journeys/journeys.d.mts +1 -1
- package/dist/journeys/journeys.d.ts +1 -1
- package/dist/journeys/journeys.js.map +1 -1
- package/dist/journeys/journeys.mjs +1 -1
- package/dist/journeys/journeys.mjs.map +1 -1
- package/dist/sdk.d.mts +3 -3
- package/dist/sdk.d.ts +3 -3
- package/dist/sdk.js +1 -1
- package/dist/sdk.js.map +1 -1
- package/dist/sdk.mjs +1 -1
- package/dist/sdk.mjs.map +1 -1
- package/package.json +6 -1
- package/dist/chunk-KHVPBEFD.mjs +0 -2
- package/dist/chunk-KHVPBEFD.mjs.map +0 -1
package/README.md
CHANGED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
// This file is generated automatically. Do not edit it manually.
|
|
2
|
+
|
|
3
|
+
"use strict";
|
|
4
|
+
(() => {
|
|
5
|
+
// src/common/common.plugins.ts
|
|
6
|
+
var createPlugin = (pluginName, {
|
|
7
|
+
initialise
|
|
8
|
+
}) => ({
|
|
9
|
+
pluginName,
|
|
10
|
+
initialise
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
// src/accessibility/accessibility.constants.ts
|
|
14
|
+
var WIDGET_SCRIPT_ID = "inploi-a11y";
|
|
15
|
+
|
|
16
|
+
// src/accessibility/accessibility.ts
|
|
17
|
+
var createAccessibilityPlugin = (params) => createPlugin("accessibility", {
|
|
18
|
+
initialise: ({ logger }) => {
|
|
19
|
+
if (typeof window === "undefined")
|
|
20
|
+
return;
|
|
21
|
+
const a11yWidget = document.getElementById(WIDGET_SCRIPT_ID);
|
|
22
|
+
if (a11yWidget !== null)
|
|
23
|
+
return;
|
|
24
|
+
try {
|
|
25
|
+
const script = document.createElement("script");
|
|
26
|
+
const head = document.querySelector("head") || document.body;
|
|
27
|
+
script.id = WIDGET_SCRIPT_ID;
|
|
28
|
+
script.src = "https://acsbapp.com/apps/app/dist/js/app.js";
|
|
29
|
+
script.async = true;
|
|
30
|
+
script.onload = function() {
|
|
31
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z;
|
|
32
|
+
window.acsbJS.init({
|
|
33
|
+
statementLink: "",
|
|
34
|
+
footerHtml: "Powered by inploi",
|
|
35
|
+
hideMobile: false,
|
|
36
|
+
hideTrigger: params.showTrigger !== false,
|
|
37
|
+
disableBgProcess: false,
|
|
38
|
+
language: (_a = params.language) != null ? _a : "en",
|
|
39
|
+
position: (_d = (_c = (_b = params.position) == null ? void 0 : _b.x) == null ? void 0 : _c.desktop) != null ? _d : "right",
|
|
40
|
+
leadColor: params.colors.interface,
|
|
41
|
+
triggerColor: params.colors.trigger,
|
|
42
|
+
triggerRadius: "50%",
|
|
43
|
+
triggerPositionX: (_g = (_f = (_e = params.position) == null ? void 0 : _e.x) == null ? void 0 : _f.desktop) != null ? _g : "right",
|
|
44
|
+
triggerPositionY: (_j = (_i = (_h = params.position) == null ? void 0 : _h.y) == null ? void 0 : _i.desktop) != null ? _j : "bottom",
|
|
45
|
+
triggerIcon: "people",
|
|
46
|
+
triggerSize: "medium",
|
|
47
|
+
triggerOffsetX: (_l = (_k = params.position) == null ? void 0 : _k.offsetX) == null ? void 0 : _l.desktop,
|
|
48
|
+
triggerOffsetY: (_n = (_m = params.position) == null ? void 0 : _m.offsetY) == null ? void 0 : _n.desktop,
|
|
49
|
+
mobile: {
|
|
50
|
+
triggerSize: "small",
|
|
51
|
+
triggerPositionX: (_q = (_p = (_o = params.position) == null ? void 0 : _o.x) == null ? void 0 : _p.mobile) != null ? _q : "right",
|
|
52
|
+
triggerPositionY: (_t = (_s = (_r = params.position) == null ? void 0 : _r.y) == null ? void 0 : _s.mobile) != null ? _t : "bottom",
|
|
53
|
+
triggerOffsetX: (_w = (_v = (_u = params.position) == null ? void 0 : _u.offsetX) == null ? void 0 : _v.mobile) != null ? _w : 4,
|
|
54
|
+
triggerOffsetY: (_z = (_y = (_x = params.position) == null ? void 0 : _x.offsetY) == null ? void 0 : _y.mobile) != null ? _z : 4,
|
|
55
|
+
triggerRadius: "20"
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
head.appendChild(script);
|
|
60
|
+
logger == null ? void 0 : logger.info("Accessibility plugin initialised");
|
|
61
|
+
} catch (error) {
|
|
62
|
+
logger == null ? void 0 : logger.error("Accessibility plugin failed to initialise", error);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
// src/accessibility/accessibility.cdn.ts
|
|
68
|
+
if (typeof window.inploi !== "object") {
|
|
69
|
+
throw new Error("Please insert the SDK script tag above the plugins.");
|
|
70
|
+
}
|
|
71
|
+
window.inploi.createAccessibilityPlugin = createAccessibilityPlugin;
|
|
72
|
+
})();
|
package/cdn/plugins/journeys.js
CHANGED
|
@@ -24,7 +24,9 @@
|
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
// src/common/common.plugins.ts
|
|
27
|
-
var createPlugin = (pluginName, {
|
|
27
|
+
var createPlugin = (pluginName, {
|
|
28
|
+
initialise
|
|
29
|
+
}) => ({
|
|
28
30
|
pluginName,
|
|
29
31
|
initialise
|
|
30
32
|
});
|
|
@@ -68,7 +70,12 @@
|
|
|
68
70
|
}
|
|
69
71
|
});
|
|
70
72
|
}
|
|
71
|
-
return {
|
|
73
|
+
return {
|
|
74
|
+
/** Logs an event including some client-side metadata.
|
|
75
|
+
* Will fail if called on the server, as it needs access to window and document.
|
|
76
|
+
*/
|
|
77
|
+
log
|
|
78
|
+
};
|
|
72
79
|
}
|
|
73
80
|
|
|
74
81
|
// src/journeys/journeys.ts
|
package/cdn/sdk.js
CHANGED
|
@@ -42,10 +42,14 @@
|
|
|
42
42
|
});
|
|
43
43
|
};
|
|
44
44
|
|
|
45
|
-
// src/
|
|
46
|
-
var
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
// src/common/common.logger.ts
|
|
46
|
+
var CONSOLE_PREFIX = "%c[inploi SDK]";
|
|
47
|
+
var CONSOLE_STYLE = "color: #65BC67; font-weight: bold;";
|
|
48
|
+
var inploiBrandedLogger = {
|
|
49
|
+
warn: (message) => console.warn(CONSOLE_PREFIX, CONSOLE_STYLE, message),
|
|
50
|
+
error: (message) => console.error(CONSOLE_PREFIX, CONSOLE_STYLE, message),
|
|
51
|
+
info: (message) => console.info(CONSOLE_PREFIX, CONSOLE_STYLE, message),
|
|
52
|
+
log: (message) => console.log(CONSOLE_PREFIX, CONSOLE_STYLE, message)
|
|
49
53
|
};
|
|
50
54
|
|
|
51
55
|
// src/journeys/journeys.api.ts
|
|
@@ -80,14 +84,10 @@
|
|
|
80
84
|
};
|
|
81
85
|
};
|
|
82
86
|
|
|
83
|
-
// src/
|
|
84
|
-
var
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
warn: (message) => console.warn(CONSOLE_PREFIX, CONSOLE_STYLE, message),
|
|
88
|
-
error: (message) => console.error(CONSOLE_PREFIX, CONSOLE_STYLE, message),
|
|
89
|
-
info: (message) => console.info(CONSOLE_PREFIX, CONSOLE_STYLE, message),
|
|
90
|
-
log: (message) => console.log(CONSOLE_PREFIX, CONSOLE_STYLE, message)
|
|
87
|
+
// src/journeys/journeys.constants.ts
|
|
88
|
+
var ENV_TO_API_URL = {
|
|
89
|
+
sandbox: "https://preview.api.inploi.com",
|
|
90
|
+
production: "https://api.inploi.com"
|
|
91
91
|
};
|
|
92
92
|
|
|
93
93
|
// src/sdk.ts
|
|
@@ -97,13 +97,14 @@
|
|
|
97
97
|
plugins,
|
|
98
98
|
logger = inploiBrandedLogger
|
|
99
99
|
}) {
|
|
100
|
-
if (typeof window === "undefined")
|
|
101
|
-
return null;
|
|
102
100
|
const apiClient = createApiClient({ baseUrl: ENV_TO_API_URL[env], publishableKey });
|
|
103
|
-
const pluginsObj = plugins.reduce(
|
|
104
|
-
acc
|
|
105
|
-
|
|
106
|
-
|
|
101
|
+
const pluginsObj = plugins.reduce(
|
|
102
|
+
(acc, plugin) => {
|
|
103
|
+
acc[plugin.pluginName] = plugin.initialise({ apiClient, logger });
|
|
104
|
+
return acc;
|
|
105
|
+
},
|
|
106
|
+
{}
|
|
107
|
+
);
|
|
107
108
|
return pluginsObj;
|
|
108
109
|
}
|
|
109
110
|
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { P as Plugin } from '../common.plugins-1ba83e05.js';
|
|
2
|
+
|
|
3
|
+
type AccessibeSize = 'small' | 'medium' | 'big';
|
|
4
|
+
type HorizontalPosition = 'left' | 'right';
|
|
5
|
+
type VerticalPosition = 'top' | 'center' | 'bottom';
|
|
6
|
+
type AccessibilityPluginLanguage = 'en' | 'es' | 'fr' | 'de' | 'pl' | 'it' | 'pt' | 'nl' | 'hu' | 'sl' | 'sk' | 'cs' | 'tr' | 'ja' | 'tw' | 'zh' | 'he' | 'ru' | 'ar';
|
|
7
|
+
type AccessibeParams = {
|
|
8
|
+
statementLink: string;
|
|
9
|
+
footerHtml: string;
|
|
10
|
+
hideMobile: boolean;
|
|
11
|
+
hideTrigger: boolean;
|
|
12
|
+
disableBgProcess: boolean;
|
|
13
|
+
language: AccessibilityPluginLanguage;
|
|
14
|
+
position: HorizontalPosition;
|
|
15
|
+
leadColor: string;
|
|
16
|
+
triggerColor: string;
|
|
17
|
+
triggerRadius: string;
|
|
18
|
+
triggerPositionX: HorizontalPosition;
|
|
19
|
+
triggerPositionY: VerticalPosition;
|
|
20
|
+
triggerIcon: string;
|
|
21
|
+
triggerSize: AccessibeSize;
|
|
22
|
+
triggerOffsetX: number | undefined;
|
|
23
|
+
triggerOffsetY: number | undefined;
|
|
24
|
+
mobile: {
|
|
25
|
+
triggerSize: AccessibeSize;
|
|
26
|
+
triggerPositionX: HorizontalPosition;
|
|
27
|
+
triggerPositionY: VerticalPosition;
|
|
28
|
+
triggerOffsetX: number;
|
|
29
|
+
triggerOffsetY: number;
|
|
30
|
+
triggerRadius: string;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
declare global {
|
|
34
|
+
interface Window {
|
|
35
|
+
acsbJS: {
|
|
36
|
+
init: (params: AccessibeParams) => void;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
type Responsive<T> = {
|
|
42
|
+
mobile: T;
|
|
43
|
+
desktop: T;
|
|
44
|
+
};
|
|
45
|
+
type AccessibilityPluginParams = {
|
|
46
|
+
language?: AccessibilityPluginLanguage;
|
|
47
|
+
colors: {
|
|
48
|
+
interface: string;
|
|
49
|
+
trigger: string;
|
|
50
|
+
};
|
|
51
|
+
showTrigger?: boolean;
|
|
52
|
+
position?: {
|
|
53
|
+
x?: Responsive<HorizontalPosition>;
|
|
54
|
+
y?: Responsive<VerticalPosition>;
|
|
55
|
+
offsetX?: Responsive<number>;
|
|
56
|
+
offsetY?: Responsive<number>;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
declare const createAccessibilityPlugin: (params: AccessibilityPluginParams) => Plugin<"accessibility", void>;
|
|
60
|
+
|
|
61
|
+
export { AccessibilityPluginParams, createAccessibilityPlugin };
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { P as Plugin } from '../common.plugins-1ba83e05.js';
|
|
2
|
+
|
|
3
|
+
type AccessibeSize = 'small' | 'medium' | 'big';
|
|
4
|
+
type HorizontalPosition = 'left' | 'right';
|
|
5
|
+
type VerticalPosition = 'top' | 'center' | 'bottom';
|
|
6
|
+
type AccessibilityPluginLanguage = 'en' | 'es' | 'fr' | 'de' | 'pl' | 'it' | 'pt' | 'nl' | 'hu' | 'sl' | 'sk' | 'cs' | 'tr' | 'ja' | 'tw' | 'zh' | 'he' | 'ru' | 'ar';
|
|
7
|
+
type AccessibeParams = {
|
|
8
|
+
statementLink: string;
|
|
9
|
+
footerHtml: string;
|
|
10
|
+
hideMobile: boolean;
|
|
11
|
+
hideTrigger: boolean;
|
|
12
|
+
disableBgProcess: boolean;
|
|
13
|
+
language: AccessibilityPluginLanguage;
|
|
14
|
+
position: HorizontalPosition;
|
|
15
|
+
leadColor: string;
|
|
16
|
+
triggerColor: string;
|
|
17
|
+
triggerRadius: string;
|
|
18
|
+
triggerPositionX: HorizontalPosition;
|
|
19
|
+
triggerPositionY: VerticalPosition;
|
|
20
|
+
triggerIcon: string;
|
|
21
|
+
triggerSize: AccessibeSize;
|
|
22
|
+
triggerOffsetX: number | undefined;
|
|
23
|
+
triggerOffsetY: number | undefined;
|
|
24
|
+
mobile: {
|
|
25
|
+
triggerSize: AccessibeSize;
|
|
26
|
+
triggerPositionX: HorizontalPosition;
|
|
27
|
+
triggerPositionY: VerticalPosition;
|
|
28
|
+
triggerOffsetX: number;
|
|
29
|
+
triggerOffsetY: number;
|
|
30
|
+
triggerRadius: string;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
declare global {
|
|
34
|
+
interface Window {
|
|
35
|
+
acsbJS: {
|
|
36
|
+
init: (params: AccessibeParams) => void;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
type Responsive<T> = {
|
|
42
|
+
mobile: T;
|
|
43
|
+
desktop: T;
|
|
44
|
+
};
|
|
45
|
+
type AccessibilityPluginParams = {
|
|
46
|
+
language?: AccessibilityPluginLanguage;
|
|
47
|
+
colors: {
|
|
48
|
+
interface: string;
|
|
49
|
+
trigger: string;
|
|
50
|
+
};
|
|
51
|
+
showTrigger?: boolean;
|
|
52
|
+
position?: {
|
|
53
|
+
x?: Responsive<HorizontalPosition>;
|
|
54
|
+
y?: Responsive<VerticalPosition>;
|
|
55
|
+
offsetX?: Responsive<number>;
|
|
56
|
+
offsetY?: Responsive<number>;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
declare const createAccessibilityPlugin: (params: AccessibilityPluginParams) => Plugin<"accessibility", void>;
|
|
60
|
+
|
|
61
|
+
export { AccessibilityPluginParams, createAccessibilityPlugin };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var n=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var O=Object.prototype.hasOwnProperty;var W=(i,e)=>{for(var s in e)n(i,s,{get:e[s],enumerable:!0})},_=(i,e,s,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of E(e))!O.call(i,o)&&o!==s&&n(i,o,{get:()=>e[o],enumerable:!(t=D(e,o))||t.enumerable});return i};var H=i=>_(n({},"__esModule",{value:!0}),i);var B={};W(B,{createAccessibilityPlugin:()=>j});module.exports=H(B);var z=(i,{initialise:e})=>({pluginName:i,initialise:e});var r="inploi-a11y";var j=i=>z("accessibility",{initialise:({logger:e})=>{if(!(typeof window=="undefined"||document.getElementById(r)!==null))try{let t=document.createElement("script"),o=document.querySelector("head")||document.body;t.id=r,t.src="https://acsbapp.com/apps/app/dist/js/app.js",t.async=!0,t.onload=function(){var g,l,p,c,a,f,d,u,P,m,b,y,T,h,x,A,R,C,I,k,w,X,Y,S,v,L;window.acsbJS.init({statementLink:"",footerHtml:"Powered by inploi",hideMobile:!1,hideTrigger:i.showTrigger!==!1,disableBgProcess:!1,language:(g=i.language)!=null?g:"en",position:(c=(p=(l=i.position)==null?void 0:l.x)==null?void 0:p.desktop)!=null?c:"right",leadColor:i.colors.interface,triggerColor:i.colors.trigger,triggerRadius:"50%",triggerPositionX:(d=(f=(a=i.position)==null?void 0:a.x)==null?void 0:f.desktop)!=null?d:"right",triggerPositionY:(m=(P=(u=i.position)==null?void 0:u.y)==null?void 0:P.desktop)!=null?m:"bottom",triggerIcon:"people",triggerSize:"medium",triggerOffsetX:(y=(b=i.position)==null?void 0:b.offsetX)==null?void 0:y.desktop,triggerOffsetY:(h=(T=i.position)==null?void 0:T.offsetY)==null?void 0:h.desktop,mobile:{triggerSize:"small",triggerPositionX:(R=(A=(x=i.position)==null?void 0:x.x)==null?void 0:A.mobile)!=null?R:"right",triggerPositionY:(k=(I=(C=i.position)==null?void 0:C.y)==null?void 0:I.mobile)!=null?k:"bottom",triggerOffsetX:(Y=(X=(w=i.position)==null?void 0:w.offsetX)==null?void 0:X.mobile)!=null?Y:4,triggerOffsetY:(L=(v=(S=i.position)==null?void 0:S.offsetY)==null?void 0:v.mobile)!=null?L:4,triggerRadius:"20"}})},o.appendChild(t),e==null||e.info("Accessibility plugin initialised")}catch(t){e==null||e.error("Accessibility plugin failed to initialise",t)}}});0&&(module.exports={createAccessibilityPlugin});
|
|
2
|
+
//# sourceMappingURL=accessibility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/accessibility/accessibility.ts","../../src/common/common.plugins.ts","../../src/accessibility/accessibility.constants.ts"],"sourcesContent":["import { createPlugin } from '../common/common.plugins';\nimport { WIDGET_SCRIPT_ID } from './accessibility.constants';\nimport { AccessibilityPluginLanguage, HorizontalPosition, VerticalPosition } from './accessibility.types';\n\ntype Responsive<T> = {\n\tmobile: T;\n\tdesktop: T;\n};\n\nexport type AccessibilityPluginParams = {\n\tlanguage?: AccessibilityPluginLanguage;\n\tcolors: {\n\t\tinterface: string;\n\t\ttrigger: string;\n\t};\n\tshowTrigger?: boolean;\n\tposition?: {\n\t\tx?: Responsive<HorizontalPosition>;\n\t\ty?: Responsive<VerticalPosition>;\n\t\toffsetX?: Responsive<number>;\n\t\toffsetY?: Responsive<number>;\n\t};\n};\n\nexport const createAccessibilityPlugin = (params: AccessibilityPluginParams) =>\n\tcreatePlugin('accessibility', {\n\t\tinitialise: ({ logger }) => {\n\t\t\tif (typeof window === 'undefined') return;\n\t\t\tconst a11yWidget = document.getElementById(WIDGET_SCRIPT_ID);\n\t\t\tif (a11yWidget !== null) return;\n\n\t\t\ttry {\n\t\t\t\tconst script = document.createElement('script');\n\t\t\t\tconst head = document.querySelector('head') || document.body;\n\t\t\t\tscript.id = WIDGET_SCRIPT_ID;\n\t\t\t\tscript.src = 'https://acsbapp.com/apps/app/dist/js/app.js';\n\t\t\t\tscript.async = true;\n\t\t\t\tscript.onload = function () {\n\t\t\t\t\twindow.acsbJS.init({\n\t\t\t\t\t\tstatementLink: '',\n\t\t\t\t\t\tfooterHtml: 'Powered by inploi',\n\t\t\t\t\t\thideMobile: false,\n\t\t\t\t\t\thideTrigger: params.showTrigger !== false,\n\t\t\t\t\t\tdisableBgProcess: false,\n\t\t\t\t\t\tlanguage: params.language ?? 'en',\n\t\t\t\t\t\tposition: params.position?.x?.desktop ?? 'right',\n\t\t\t\t\t\tleadColor: params.colors.interface,\n\t\t\t\t\t\ttriggerColor: params.colors.trigger,\n\t\t\t\t\t\ttriggerRadius: '50%',\n\t\t\t\t\t\ttriggerPositionX: params.position?.x?.desktop ?? 'right',\n\t\t\t\t\t\ttriggerPositionY: params.position?.y?.desktop ?? 'bottom',\n\t\t\t\t\t\ttriggerIcon: 'people',\n\t\t\t\t\t\ttriggerSize: 'medium',\n\t\t\t\t\t\ttriggerOffsetX: params.position?.offsetX?.desktop,\n\t\t\t\t\t\ttriggerOffsetY: params.position?.offsetY?.desktop,\n\t\t\t\t\t\tmobile: {\n\t\t\t\t\t\t\ttriggerSize: 'small',\n\t\t\t\t\t\t\ttriggerPositionX: params.position?.x?.mobile ?? 'right',\n\t\t\t\t\t\t\ttriggerPositionY: params.position?.y?.mobile ?? 'bottom',\n\t\t\t\t\t\t\ttriggerOffsetX: params.position?.offsetX?.mobile ?? 4,\n\t\t\t\t\t\t\ttriggerOffsetY: params.position?.offsetY?.mobile ?? 4,\n\t\t\t\t\t\t\ttriggerRadius: '20',\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t};\n\t\t\t\thead.appendChild(script);\n\t\t\t\tlogger?.info('Accessibility plugin initialised');\n\t\t\t} catch (error) {\n\t\t\t\tlogger?.error('Accessibility plugin failed to initialise', error);\n\t\t\t}\n\t\t},\n\t});\n","import { ApiClient } from '../journeys/journeys.api';\nimport { Logger } from './common.logger';\n\nexport type PluginParams = {\n\tapiClient: ApiClient;\n\tlogger?: Logger;\n};\n\nexport type Plugin<T extends string, P> = {\n\tpluginName: T;\n\tinitialise: (params: PluginParams) => P;\n};\n\nexport const createPlugin = <T extends string, P>(\n\t/** The plugin name to access its properties.\n\t * @example const myPluginVariable = createPlugin('myPluginName', { initialise: () => 'works' });\n\t * const sdk = initialiseSdk({plugins: [myPluginVariable]});\n\t * sdk.myPluginName // 'works'\n\t * sdk.myPluginVariable // undefined\n\t */\n\tpluginName: T,\n\t{\n\t\tinitialise,\n\t}: {\n\t\t/** Called when the SDK is initialised.\n\t\t * Here’s where you can do any one-off initialisation.\n\t\t * Returning a value or function will make it available to the SDK client.\n\t\t * @example const plugin = createPlugin('foo', { initialise: () => ({ bar: 'baz' }) });\n\t\t * const sdk = initialiseSdk({plugins: [plugin]});\n\t\t * sdk.foo.bar // 'baz'\n\t\t */\n\t\tinitialise: (params: PluginParams) => P;\n\t},\n): Plugin<T, P> => ({\n\tpluginName,\n\tinitialise,\n});\n","export const WIDGET_SCRIPT_ID = 'inploi-a11y';\n"],"mappings":"yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,+BAAAE,IAAA,eAAAC,EAAAH,GCaO,IAAMI,EAAe,CAO3BC,EACA,CACC,WAAAC,CACD,KAUmB,CACnB,WAAAD,EACA,WAAAC,CACD,GCpCO,IAAMC,EAAmB,cFwBzB,IAAMC,EAA6BC,GACzCC,EAAa,gBAAiB,CAC7B,WAAY,CAAC,CAAE,OAAAC,CAAO,IAAM,CAG3B,GAFI,SAAO,QAAW,aACH,SAAS,eAAeC,CAAgB,IACxC,MAEnB,GAAI,CACH,IAAMC,EAAS,SAAS,cAAc,QAAQ,EACxCC,EAAO,SAAS,cAAc,MAAM,GAAK,SAAS,KACxDD,EAAO,GAAKD,EACZC,EAAO,IAAM,8CACbA,EAAO,MAAQ,GACfA,EAAO,OAAS,UAAY,CArChC,IAAAE,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAsCK,OAAO,OAAO,KAAK,CAClB,cAAe,GACf,WAAY,oBACZ,WAAY,GACZ,YAAa/B,EAAO,cAAgB,GACpC,iBAAkB,GAClB,UAAUM,EAAAN,EAAO,WAAP,KAAAM,EAAmB,KAC7B,UAAUG,GAAAD,GAAAD,EAAAP,EAAO,WAAP,YAAAO,EAAiB,IAAjB,YAAAC,EAAoB,UAApB,KAAAC,EAA+B,QACzC,UAAWT,EAAO,OAAO,UACzB,aAAcA,EAAO,OAAO,QAC5B,cAAe,MACf,kBAAkBY,GAAAD,GAAAD,EAAAV,EAAO,WAAP,YAAAU,EAAiB,IAAjB,YAAAC,EAAoB,UAApB,KAAAC,EAA+B,QACjD,kBAAkBG,GAAAD,GAAAD,EAAAb,EAAO,WAAP,YAAAa,EAAiB,IAAjB,YAAAC,EAAoB,UAApB,KAAAC,EAA+B,SACjD,YAAa,SACb,YAAa,SACb,gBAAgBE,GAAAD,EAAAhB,EAAO,WAAP,YAAAgB,EAAiB,UAAjB,YAAAC,EAA0B,QAC1C,gBAAgBE,GAAAD,EAAAlB,EAAO,WAAP,YAAAkB,EAAiB,UAAjB,YAAAC,EAA0B,QAC1C,OAAQ,CACP,YAAa,QACb,kBAAkBG,GAAAD,GAAAD,EAAApB,EAAO,WAAP,YAAAoB,EAAiB,IAAjB,YAAAC,EAAoB,SAApB,KAAAC,EAA8B,QAChD,kBAAkBG,GAAAD,GAAAD,EAAAvB,EAAO,WAAP,YAAAuB,EAAiB,IAAjB,YAAAC,EAAoB,SAApB,KAAAC,EAA8B,SAChD,gBAAgBG,GAAAD,GAAAD,EAAA1B,EAAO,WAAP,YAAA0B,EAAiB,UAAjB,YAAAC,EAA0B,SAA1B,KAAAC,EAAoC,EACpD,gBAAgBG,GAAAD,GAAAD,EAAA7B,EAAO,WAAP,YAAA6B,EAAiB,UAAjB,YAAAC,EAA0B,SAA1B,KAAAC,EAAoC,EACpD,cAAe,IAChB,CACD,CAAC,CACF,EACA1B,EAAK,YAAYD,CAAM,EACvBF,GAAA,MAAAA,EAAQ,KAAK,mCACd,OAAS8B,EAAO,CACf9B,GAAA,MAAAA,EAAQ,MAAM,4CAA6C8B,EAC5D,CACD,CACD,CAAC","names":["accessibility_exports","__export","createAccessibilityPlugin","__toCommonJS","createPlugin","pluginName","initialise","WIDGET_SCRIPT_ID","createAccessibilityPlugin","params","createPlugin","logger","WIDGET_SCRIPT_ID","script","head","_a","_b","_c","_d","_e","_f","_g","_h","_i","_j","_k","_l","_m","_n","_o","_p","_q","_r","_s","_t","_u","_v","_w","_x","_y","_z","error"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{d as v}from"../chunk-DG423OQK.mjs";var o="inploi-a11y";var W=i=>v("accessibility",{initialise:({logger:t})=>{if(!(typeof window=="undefined"||document.getElementById(o)!==null))try{let e=document.createElement("script"),C=document.querySelector("head")||document.body;e.id=o,e.src="https://acsbapp.com/apps/app/dist/js/app.js",e.async=!0,e.onload=function(){var s,n,r,l,c,g,p,f,d,a,u,b,y,P,m,h,T,R,I,k,w,x,A,X,Y,S;window.acsbJS.init({statementLink:"",footerHtml:"Powered by inploi",hideMobile:!1,hideTrigger:i.showTrigger!==!1,disableBgProcess:!1,language:(s=i.language)!=null?s:"en",position:(l=(r=(n=i.position)==null?void 0:n.x)==null?void 0:r.desktop)!=null?l:"right",leadColor:i.colors.interface,triggerColor:i.colors.trigger,triggerRadius:"50%",triggerPositionX:(p=(g=(c=i.position)==null?void 0:c.x)==null?void 0:g.desktop)!=null?p:"right",triggerPositionY:(a=(d=(f=i.position)==null?void 0:f.y)==null?void 0:d.desktop)!=null?a:"bottom",triggerIcon:"people",triggerSize:"medium",triggerOffsetX:(b=(u=i.position)==null?void 0:u.offsetX)==null?void 0:b.desktop,triggerOffsetY:(P=(y=i.position)==null?void 0:y.offsetY)==null?void 0:P.desktop,mobile:{triggerSize:"small",triggerPositionX:(T=(h=(m=i.position)==null?void 0:m.x)==null?void 0:h.mobile)!=null?T:"right",triggerPositionY:(k=(I=(R=i.position)==null?void 0:R.y)==null?void 0:I.mobile)!=null?k:"bottom",triggerOffsetX:(A=(x=(w=i.position)==null?void 0:w.offsetX)==null?void 0:x.mobile)!=null?A:4,triggerOffsetY:(S=(Y=(X=i.position)==null?void 0:X.offsetY)==null?void 0:Y.mobile)!=null?S:4,triggerRadius:"20"}})},C.appendChild(e),t==null||t.info("Accessibility plugin initialised")}catch(e){t==null||t.error("Accessibility plugin failed to initialise",e)}}});export{W as createAccessibilityPlugin};
|
|
2
|
+
//# sourceMappingURL=accessibility.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/accessibility/accessibility.constants.ts","../../src/accessibility/accessibility.ts"],"sourcesContent":["export const WIDGET_SCRIPT_ID = 'inploi-a11y';\n","import { createPlugin } from '../common/common.plugins';\nimport { WIDGET_SCRIPT_ID } from './accessibility.constants';\nimport { AccessibilityPluginLanguage, HorizontalPosition, VerticalPosition } from './accessibility.types';\n\ntype Responsive<T> = {\n\tmobile: T;\n\tdesktop: T;\n};\n\nexport type AccessibilityPluginParams = {\n\tlanguage?: AccessibilityPluginLanguage;\n\tcolors: {\n\t\tinterface: string;\n\t\ttrigger: string;\n\t};\n\tshowTrigger?: boolean;\n\tposition?: {\n\t\tx?: Responsive<HorizontalPosition>;\n\t\ty?: Responsive<VerticalPosition>;\n\t\toffsetX?: Responsive<number>;\n\t\toffsetY?: Responsive<number>;\n\t};\n};\n\nexport const createAccessibilityPlugin = (params: AccessibilityPluginParams) =>\n\tcreatePlugin('accessibility', {\n\t\tinitialise: ({ logger }) => {\n\t\t\tif (typeof window === 'undefined') return;\n\t\t\tconst a11yWidget = document.getElementById(WIDGET_SCRIPT_ID);\n\t\t\tif (a11yWidget !== null) return;\n\n\t\t\ttry {\n\t\t\t\tconst script = document.createElement('script');\n\t\t\t\tconst head = document.querySelector('head') || document.body;\n\t\t\t\tscript.id = WIDGET_SCRIPT_ID;\n\t\t\t\tscript.src = 'https://acsbapp.com/apps/app/dist/js/app.js';\n\t\t\t\tscript.async = true;\n\t\t\t\tscript.onload = function () {\n\t\t\t\t\twindow.acsbJS.init({\n\t\t\t\t\t\tstatementLink: '',\n\t\t\t\t\t\tfooterHtml: 'Powered by inploi',\n\t\t\t\t\t\thideMobile: false,\n\t\t\t\t\t\thideTrigger: params.showTrigger !== false,\n\t\t\t\t\t\tdisableBgProcess: false,\n\t\t\t\t\t\tlanguage: params.language ?? 'en',\n\t\t\t\t\t\tposition: params.position?.x?.desktop ?? 'right',\n\t\t\t\t\t\tleadColor: params.colors.interface,\n\t\t\t\t\t\ttriggerColor: params.colors.trigger,\n\t\t\t\t\t\ttriggerRadius: '50%',\n\t\t\t\t\t\ttriggerPositionX: params.position?.x?.desktop ?? 'right',\n\t\t\t\t\t\ttriggerPositionY: params.position?.y?.desktop ?? 'bottom',\n\t\t\t\t\t\ttriggerIcon: 'people',\n\t\t\t\t\t\ttriggerSize: 'medium',\n\t\t\t\t\t\ttriggerOffsetX: params.position?.offsetX?.desktop,\n\t\t\t\t\t\ttriggerOffsetY: params.position?.offsetY?.desktop,\n\t\t\t\t\t\tmobile: {\n\t\t\t\t\t\t\ttriggerSize: 'small',\n\t\t\t\t\t\t\ttriggerPositionX: params.position?.x?.mobile ?? 'right',\n\t\t\t\t\t\t\ttriggerPositionY: params.position?.y?.mobile ?? 'bottom',\n\t\t\t\t\t\t\ttriggerOffsetX: params.position?.offsetX?.mobile ?? 4,\n\t\t\t\t\t\t\ttriggerOffsetY: params.position?.offsetY?.mobile ?? 4,\n\t\t\t\t\t\t\ttriggerRadius: '20',\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t};\n\t\t\t\thead.appendChild(script);\n\t\t\t\tlogger?.info('Accessibility plugin initialised');\n\t\t\t} catch (error) {\n\t\t\t\tlogger?.error('Accessibility plugin failed to initialise', error);\n\t\t\t}\n\t\t},\n\t});\n"],"mappings":"0CAAO,IAAMA,EAAmB,cCwBzB,IAAMC,EAA6BC,GACzCC,EAAa,gBAAiB,CAC7B,WAAY,CAAC,CAAE,OAAAC,CAAO,IAAM,CAG3B,GAFI,SAAO,QAAW,aACH,SAAS,eAAeC,CAAgB,IACxC,MAEnB,GAAI,CACH,IAAMC,EAAS,SAAS,cAAc,QAAQ,EACxCC,EAAO,SAAS,cAAc,MAAM,GAAK,SAAS,KACxDD,EAAO,GAAKD,EACZC,EAAO,IAAM,8CACbA,EAAO,MAAQ,GACfA,EAAO,OAAS,UAAY,CArChC,IAAAE,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAsCK,OAAO,OAAO,KAAK,CAClB,cAAe,GACf,WAAY,oBACZ,WAAY,GACZ,YAAa/B,EAAO,cAAgB,GACpC,iBAAkB,GAClB,UAAUM,EAAAN,EAAO,WAAP,KAAAM,EAAmB,KAC7B,UAAUG,GAAAD,GAAAD,EAAAP,EAAO,WAAP,YAAAO,EAAiB,IAAjB,YAAAC,EAAoB,UAApB,KAAAC,EAA+B,QACzC,UAAWT,EAAO,OAAO,UACzB,aAAcA,EAAO,OAAO,QAC5B,cAAe,MACf,kBAAkBY,GAAAD,GAAAD,EAAAV,EAAO,WAAP,YAAAU,EAAiB,IAAjB,YAAAC,EAAoB,UAApB,KAAAC,EAA+B,QACjD,kBAAkBG,GAAAD,GAAAD,EAAAb,EAAO,WAAP,YAAAa,EAAiB,IAAjB,YAAAC,EAAoB,UAApB,KAAAC,EAA+B,SACjD,YAAa,SACb,YAAa,SACb,gBAAgBE,GAAAD,EAAAhB,EAAO,WAAP,YAAAgB,EAAiB,UAAjB,YAAAC,EAA0B,QAC1C,gBAAgBE,GAAAD,EAAAlB,EAAO,WAAP,YAAAkB,EAAiB,UAAjB,YAAAC,EAA0B,QAC1C,OAAQ,CACP,YAAa,QACb,kBAAkBG,GAAAD,GAAAD,EAAApB,EAAO,WAAP,YAAAoB,EAAiB,IAAjB,YAAAC,EAAoB,SAApB,KAAAC,EAA8B,QAChD,kBAAkBG,GAAAD,GAAAD,EAAAvB,EAAO,WAAP,YAAAuB,EAAiB,IAAjB,YAAAC,EAAoB,SAApB,KAAAC,EAA8B,SAChD,gBAAgBG,GAAAD,GAAAD,EAAA1B,EAAO,WAAP,YAAA0B,EAAiB,UAAjB,YAAAC,EAA0B,SAA1B,KAAAC,EAAoC,EACpD,gBAAgBG,GAAAD,GAAAD,EAAA7B,EAAO,WAAP,YAAA6B,EAAiB,UAAjB,YAAAC,EAA0B,SAA1B,KAAAC,EAAoC,EACpD,cAAe,IAChB,CACD,CAAC,CACF,EACA1B,EAAK,YAAYD,CAAM,EACvBF,GAAA,MAAAA,EAAQ,KAAK,mCACd,OAAS8B,EAAO,CACf9B,GAAA,MAAAA,EAAQ,MAAM,4CAA6C8B,EAC5D,CACD,CACD,CAAC","names":["WIDGET_SCRIPT_ID","createAccessibilityPlugin","params","createPlugin","logger","WIDGET_SCRIPT_ID","script","head","_a","_b","_c","_d","_e","_f","_g","_h","_i","_j","_k","_l","_m","_n","_o","_p","_q","_r","_s","_t","_u","_v","_w","_x","_y","_z","error"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var m=Object.defineProperty,u=Object.defineProperties;var x=Object.getOwnPropertyDescriptors;var P=Object.getOwnPropertySymbols;var T=Object.prototype.hasOwnProperty,C=Object.prototype.propertyIsEnumerable;var l=(r,i,e)=>i in r?m(r,i,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[i]=e,c=(r,i)=>{for(var e in i||(i={}))T.call(i,e)&&l(r,e,i[e]);if(P)for(var e of P(i))C.call(i,e)&&l(r,e,i[e]);return r},d=(r,i)=>u(r,x(i));var f=(r,i,e)=>new Promise((p,g)=>{var s=t=>{try{n(e.next(t))}catch(a){g(a)}},o=t=>{try{n(e.throw(t))}catch(a){g(a)}},n=t=>t.done?p(t.value):Promise.resolve(t.value).then(s,o);n((e=e.apply(r,i)).next())});var A=(r,{initialise:i})=>({pluginName:r,initialise:i});export{c as a,d as b,f as c,A as d};
|
|
2
|
+
//# sourceMappingURL=chunk-DG423OQK.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/common/common.plugins.ts"],"sourcesContent":["import { ApiClient } from '../journeys/journeys.api';\nimport { Logger } from './common.logger';\n\nexport type PluginParams = {\n\tapiClient: ApiClient;\n\tlogger?: Logger;\n};\n\nexport type Plugin<T extends string, P> = {\n\tpluginName: T;\n\tinitialise: (params: PluginParams) => P;\n};\n\nexport const createPlugin = <T extends string, P>(\n\t/** The plugin name to access its properties.\n\t * @example const myPluginVariable = createPlugin('myPluginName', { initialise: () => 'works' });\n\t * const sdk = initialiseSdk({plugins: [myPluginVariable]});\n\t * sdk.myPluginName // 'works'\n\t * sdk.myPluginVariable // undefined\n\t */\n\tpluginName: T,\n\t{\n\t\tinitialise,\n\t}: {\n\t\t/** Called when the SDK is initialised.\n\t\t * Here’s where you can do any one-off initialisation.\n\t\t * Returning a value or function will make it available to the SDK client.\n\t\t * @example const plugin = createPlugin('foo', { initialise: () => ({ bar: 'baz' }) });\n\t\t * const sdk = initialiseSdk({plugins: [plugin]});\n\t\t * sdk.foo.bar // 'baz'\n\t\t */\n\t\tinitialise: (params: PluginParams) => P;\n\t},\n): Plugin<T, P> => ({\n\tpluginName,\n\tinitialise,\n});\n"],"mappings":"0nBAaO,IAAMA,EAAe,CAO3BC,EACA,CACC,WAAAC,CACD,KAUmB,CACnB,WAAAD,EACA,WAAAC,CACD","names":["createPlugin","pluginName","initialise"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/journeys/journeys.constants.ts"],"sourcesContent":["import { AppEnvironment } from '../common/common.constants';\n\nexport const ENV_TO_API_URL: Record<AppEnvironment, string> = {\n\tsandbox: 'https://preview.api.inploi.com',\n\tproduction: 'https://api.inploi.com',\n};\n\nexport const JOURNEY_PATHNAME = '/journey/log';\n"],"mappings":"AAEO,IAAMA,EAAiD,CAC7D,QAAS,iCACT,WAAY,wBACb,EAEaC,EAAmB","names":["ENV_TO_API_URL","JOURNEY_PATHNAME"]}
|
|
@@ -22,7 +22,14 @@ type Plugin<T extends string, P> = {
|
|
|
22
22
|
pluginName: T;
|
|
23
23
|
initialise: (params: PluginParams) => P;
|
|
24
24
|
};
|
|
25
|
-
declare const createPlugin: <T extends string, P>(pluginName: T, { initialise }: {
|
|
25
|
+
declare const createPlugin: <T extends string, P>(pluginName: T, { initialise, }: {
|
|
26
|
+
/** Called when the SDK is initialised.
|
|
27
|
+
* Here’s where you can do any one-off initialisation.
|
|
28
|
+
* Returning a value or function will make it available to the SDK client.
|
|
29
|
+
* @example const plugin = createPlugin('foo', { initialise: () => ({ bar: 'baz' }) });
|
|
30
|
+
* const sdk = initialiseSdk({plugins: [plugin]});
|
|
31
|
+
* sdk.foo.bar // 'baz'
|
|
32
|
+
*/
|
|
26
33
|
initialise: (params: PluginParams) => P;
|
|
27
34
|
}) => Plugin<T, P>;
|
|
28
35
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/journeys/journeys.ts","../../src/common/common.plugins.ts","../../src/journeys/journeys.constants.ts","../../src/journeys/journeys.log.ts"],"sourcesContent":["import { createPlugin } from '../common/common.plugins';\nimport { initialiseJourneysPlugin } from './journeys.log';\n\nexport const journeysPlugin = createPlugin('journey', { initialise: initialiseJourneysPlugin });\n","import {
|
|
1
|
+
{"version":3,"sources":["../../src/journeys/journeys.ts","../../src/common/common.plugins.ts","../../src/journeys/journeys.constants.ts","../../src/journeys/journeys.log.ts"],"sourcesContent":["import { createPlugin } from '../common/common.plugins';\nimport { initialiseJourneysPlugin } from './journeys.log';\n\nexport const journeysPlugin = createPlugin('journey', { initialise: initialiseJourneysPlugin });\n","import { ApiClient } from '../journeys/journeys.api';\nimport { Logger } from './common.logger';\n\nexport type PluginParams = {\n\tapiClient: ApiClient;\n\tlogger?: Logger;\n};\n\nexport type Plugin<T extends string, P> = {\n\tpluginName: T;\n\tinitialise: (params: PluginParams) => P;\n};\n\nexport const createPlugin = <T extends string, P>(\n\t/** The plugin name to access its properties.\n\t * @example const myPluginVariable = createPlugin('myPluginName', { initialise: () => 'works' });\n\t * const sdk = initialiseSdk({plugins: [myPluginVariable]});\n\t * sdk.myPluginName // 'works'\n\t * sdk.myPluginVariable // undefined\n\t */\n\tpluginName: T,\n\t{\n\t\tinitialise,\n\t}: {\n\t\t/** Called when the SDK is initialised.\n\t\t * Here’s where you can do any one-off initialisation.\n\t\t * Returning a value or function will make it available to the SDK client.\n\t\t * @example const plugin = createPlugin('foo', { initialise: () => ({ bar: 'baz' }) });\n\t\t * const sdk = initialiseSdk({plugins: [plugin]});\n\t\t * sdk.foo.bar // 'baz'\n\t\t */\n\t\tinitialise: (params: PluginParams) => P;\n\t},\n): Plugin<T, P> => ({\n\tpluginName,\n\tinitialise,\n});\n","import { AppEnvironment } from '../common/common.constants';\n\nexport const ENV_TO_API_URL: Record<AppEnvironment, string> = {\n\tsandbox: 'https://preview.api.inploi.com',\n\tproduction: 'https://api.inploi.com',\n};\n\nexport const JOURNEY_PATHNAME = '/journey/log';\n","import { Flatten, ResponseObj } from '@inploi/core/common';\n\nimport { SDK_VERSION } from '../common/common.constants';\nimport { PluginParams } from '../common/common.plugins';\nimport { JOURNEY_PATHNAME } from './journeys.constants';\n\ntype JourneyLogParams =\n\t| {\n\t\t\tevent: 'VIEW_JOB' | 'APPLY_START' | 'APPLY_COMPLETE';\n\t\t\tproperties: {\n\t\t\t\tjob_id?: string | number | null; // * inploi job id or external job id?\n\t\t\t};\n\t }\n\t| {\n\t\t\tevent: 'IDENTIFY' | 'SUBMIT_FORM' | 'VIEW_PAGE';\n\t\t\tproperties?: undefined;\n\t };\n\nexport type JourneyLogEvent = JourneyLogParams['event'];\n\ntype EventPropertyMap = {\n\t[Param in JourneyLogParams as Param['event']]: Flatten<Omit<Param, 'event'>>;\n};\n\ntype TrackPayload<P> = {\n\tevent: JourneyLogEvent;\n\tsent_at: string;\n\tcontext: {\n\t\tlibrary: {\n\t\t\tname: 'inploi-sdk';\n\t\t\tversion: number;\n\t\t};\n\t\tpage: {\n\t\t\thref: string;\n\t\t\treferrer: string;\n\t\t\ttitle: string;\n\t\t};\n\t};\n\tproperties: P;\n\tcustom_properties?: Record<string, unknown>;\n};\n\nexport function initialiseJourneysPlugin({ apiClient, logger }: PluginParams) {\n\tasync function log<T extends keyof EventPropertyMap>(\n\t\tparams: { event: T; customProperties?: Record<string, unknown> } & EventPropertyMap[T],\n\t): Promise<ResponseObj<TrackPayload<EventPropertyMap[T]['properties']>>> {\n\t\ttry {\n\t\t\tconst data: TrackPayload<EventPropertyMap[T]['properties']> = {\n\t\t\t\tevent: params.event,\n\t\t\t\tsent_at: new Date().toISOString(),\n\t\t\t\tcontext: {\n\t\t\t\t\tlibrary: {\n\t\t\t\t\t\tname: 'inploi-sdk' as const,\n\t\t\t\t\t\tversion: SDK_VERSION,\n\t\t\t\t\t},\n\t\t\t\t\tpage: {\n\t\t\t\t\t\thref: location.href,\n\t\t\t\t\t\treferrer: document.referrer,\n\t\t\t\t\t\ttitle: document.title,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tproperties: params.properties as EventPropertyMap[T]['properties'],\n\t\t\t\tcustom_properties: params.customProperties,\n\t\t\t};\n\n\t\t\tawait apiClient.fetch(JOURNEY_PATHNAME, {\n\t\t\t\tmethod: 'POST',\n\t\t\t\tbody: JSON.stringify(data),\n\t\t\t});\n\n\t\t\treturn { success: true, data };\n\t\t} catch (e) {\n\t\t\t/** We dont’t log any PII on the console */\n\t\t\tlogger?.error('Failed to send journey log to API. Inspect error response of `log` for more information.');\n\t\t\treturn { success: false, error: e };\n\t\t}\n\t}\n\n\treturn {\n\t\t/** Logs an event including some client-side metadata.\n\t\t * Will fail if called on the server, as it needs access to window and document.\n\t\t */\n\t\tlog,\n\t};\n}\n"],"mappings":"snBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,oBAAAE,IAAA,eAAAC,EAAAH,GCaO,IAAMI,EAAe,CAO3BC,EACA,CACC,WAAAC,CACD,KAUmB,CACnB,WAAAD,EACA,WAAAC,CACD,GC7BO,IAAMC,EAAmB,eCmCzB,SAASC,EAAyB,CAAE,UAAAC,EAAW,OAAAC,CAAO,EAAiB,CAC7E,SAAeC,EACdC,EACwE,QAAAC,EAAA,sBACxE,GAAI,CACH,IAAMC,EAAwD,CAC7D,MAAOF,EAAO,MACd,QAAS,IAAI,KAAK,EAAE,YAAY,EAChC,QAAS,CACR,QAAS,CACR,KAAM,aACN,QAAS,CACV,EACA,KAAM,CACL,KAAM,SAAS,KACf,SAAU,SAAS,SACnB,MAAO,SAAS,KACjB,CACD,EACA,WAAYA,EAAO,WACnB,kBAAmBA,EAAO,gBAC3B,EAEA,aAAMH,EAAU,MAAMM,EAAkB,CACvC,OAAQ,OACR,KAAM,KAAK,UAAUD,CAAI,CAC1B,CAAC,EAEM,CAAE,QAAS,GAAM,KAAAA,CAAK,CAC9B,OAASE,EAAG,CAEX,OAAAN,GAAA,MAAAA,EAAQ,MAAM,4FACP,CAAE,QAAS,GAAO,MAAOM,CAAE,CACnC,CACD,GAEA,MAAO,CAIN,IAAAL,CACD,CACD,CHjFO,IAAMM,EAAiBC,EAAa,UAAW,CAAE,WAAYC,CAAyB,CAAC","names":["journeys_exports","__export","journeysPlugin","__toCommonJS","createPlugin","pluginName","initialise","JOURNEY_PATHNAME","initialiseJourneysPlugin","apiClient","logger","log","params","__async","data","JOURNEY_PATHNAME","e","journeysPlugin","createPlugin","initialiseJourneysPlugin"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{b as n}from"../chunk-NLLAI5ZB.mjs";import{c as o,d as i}from"../chunk-DG423OQK.mjs";function s({apiClient:p,logger:r}){function a(t){return o(this,null,function*(){try{let e={event:t.event,sent_at:new Date().toISOString(),context:{library:{name:"inploi-sdk",version:1},page:{href:location.href,referrer:document.referrer,title:document.title}},properties:t.properties,custom_properties:t.customProperties};return yield p.fetch(n,{method:"POST",body:JSON.stringify(e)}),{success:!0,data:e}}catch(e){return r==null||r.error("Failed to send journey log to API. Inspect error response of `log` for more information."),{success:!1,error:e}}})}return{log:a}}var v=i("journey",{initialise:s});export{v as journeysPlugin};
|
|
2
2
|
//# sourceMappingURL=journeys.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/journeys/journeys.log.ts","../../src/journeys/journeys.ts"],"sourcesContent":["import { Flatten, ResponseObj } from '@inploi/core/common';\nimport { SDK_VERSION } from '../common/common.constants';\nimport {
|
|
1
|
+
{"version":3,"sources":["../../src/journeys/journeys.log.ts","../../src/journeys/journeys.ts"],"sourcesContent":["import { Flatten, ResponseObj } from '@inploi/core/common';\n\nimport { SDK_VERSION } from '../common/common.constants';\nimport { PluginParams } from '../common/common.plugins';\nimport { JOURNEY_PATHNAME } from './journeys.constants';\n\ntype JourneyLogParams =\n\t| {\n\t\t\tevent: 'VIEW_JOB' | 'APPLY_START' | 'APPLY_COMPLETE';\n\t\t\tproperties: {\n\t\t\t\tjob_id?: string | number | null; // * inploi job id or external job id?\n\t\t\t};\n\t }\n\t| {\n\t\t\tevent: 'IDENTIFY' | 'SUBMIT_FORM' | 'VIEW_PAGE';\n\t\t\tproperties?: undefined;\n\t };\n\nexport type JourneyLogEvent = JourneyLogParams['event'];\n\ntype EventPropertyMap = {\n\t[Param in JourneyLogParams as Param['event']]: Flatten<Omit<Param, 'event'>>;\n};\n\ntype TrackPayload<P> = {\n\tevent: JourneyLogEvent;\n\tsent_at: string;\n\tcontext: {\n\t\tlibrary: {\n\t\t\tname: 'inploi-sdk';\n\t\t\tversion: number;\n\t\t};\n\t\tpage: {\n\t\t\thref: string;\n\t\t\treferrer: string;\n\t\t\ttitle: string;\n\t\t};\n\t};\n\tproperties: P;\n\tcustom_properties?: Record<string, unknown>;\n};\n\nexport function initialiseJourneysPlugin({ apiClient, logger }: PluginParams) {\n\tasync function log<T extends keyof EventPropertyMap>(\n\t\tparams: { event: T; customProperties?: Record<string, unknown> } & EventPropertyMap[T],\n\t): Promise<ResponseObj<TrackPayload<EventPropertyMap[T]['properties']>>> {\n\t\ttry {\n\t\t\tconst data: TrackPayload<EventPropertyMap[T]['properties']> = {\n\t\t\t\tevent: params.event,\n\t\t\t\tsent_at: new Date().toISOString(),\n\t\t\t\tcontext: {\n\t\t\t\t\tlibrary: {\n\t\t\t\t\t\tname: 'inploi-sdk' as const,\n\t\t\t\t\t\tversion: SDK_VERSION,\n\t\t\t\t\t},\n\t\t\t\t\tpage: {\n\t\t\t\t\t\thref: location.href,\n\t\t\t\t\t\treferrer: document.referrer,\n\t\t\t\t\t\ttitle: document.title,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tproperties: params.properties as EventPropertyMap[T]['properties'],\n\t\t\t\tcustom_properties: params.customProperties,\n\t\t\t};\n\n\t\t\tawait apiClient.fetch(JOURNEY_PATHNAME, {\n\t\t\t\tmethod: 'POST',\n\t\t\t\tbody: JSON.stringify(data),\n\t\t\t});\n\n\t\t\treturn { success: true, data };\n\t\t} catch (e) {\n\t\t\t/** We dont’t log any PII on the console */\n\t\t\tlogger?.error('Failed to send journey log to API. Inspect error response of `log` for more information.');\n\t\t\treturn { success: false, error: e };\n\t\t}\n\t}\n\n\treturn {\n\t\t/** Logs an event including some client-side metadata.\n\t\t * Will fail if called on the server, as it needs access to window and document.\n\t\t */\n\t\tlog,\n\t};\n}\n","import { createPlugin } from '../common/common.plugins';\nimport { initialiseJourneysPlugin } from './journeys.log';\n\nexport const journeysPlugin = createPlugin('journey', { initialise: initialiseJourneysPlugin });\n"],"mappings":"2FA0CO,SAASA,EAAyB,CAAE,UAAAC,EAAW,OAAAC,CAAO,EAAiB,CAC7E,SAAeC,EACdC,EACwE,QAAAC,EAAA,sBACxE,GAAI,CACH,IAAMC,EAAwD,CAC7D,MAAOF,EAAO,MACd,QAAS,IAAI,KAAK,EAAE,YAAY,EAChC,QAAS,CACR,QAAS,CACR,KAAM,aACN,QAAS,CACV,EACA,KAAM,CACL,KAAM,SAAS,KACf,SAAU,SAAS,SACnB,MAAO,SAAS,KACjB,CACD,EACA,WAAYA,EAAO,WACnB,kBAAmBA,EAAO,gBAC3B,EAEA,aAAMH,EAAU,MAAMM,EAAkB,CACvC,OAAQ,OACR,KAAM,KAAK,UAAUD,CAAI,CAC1B,CAAC,EAEM,CAAE,QAAS,GAAM,KAAAA,CAAK,CAC9B,OAAS,EAAG,CAEX,OAAAJ,GAAA,MAAAA,EAAQ,MAAM,4FACP,CAAE,QAAS,GAAO,MAAO,CAAE,CACnC,CACD,GAEA,MAAO,CAIN,IAAAC,CACD,CACD,CCjFO,IAAMK,EAAiBC,EAAa,UAAW,CAAE,WAAYC,CAAyB,CAAC","names":["initialiseJourneysPlugin","apiClient","logger","log","params","__async","data","JOURNEY_PATHNAME","journeysPlugin","createPlugin","initialiseJourneysPlugin"]}
|
package/dist/sdk.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { P as Plugin, L as Logger } from './common.plugins-
|
|
2
|
-
export { C as CONSOLE_PREFIX, a as CONSOLE_STYLE, c as createPlugin, i as inploiBrandedLogger, n as noLogging } from './common.plugins-
|
|
1
|
+
import { P as Plugin, L as Logger } from './common.plugins-1ba83e05.js';
|
|
2
|
+
export { C as CONSOLE_PREFIX, a as CONSOLE_STYLE, c as createPlugin, i as inploiBrandedLogger, n as noLogging } from './common.plugins-1ba83e05.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* The environment the SDK should run in.
|
|
@@ -26,6 +26,6 @@ declare function initialiseSdk<TPlugin extends Plugin<any, any>>({ publishableKe
|
|
|
26
26
|
pluginName: K;
|
|
27
27
|
} extends infer T ? { [k in keyof T]: (TPlugin & {
|
|
28
28
|
pluginName: K;
|
|
29
|
-
})[k]; } : never)["initialise"]>; }
|
|
29
|
+
})[k]; } : never)["initialise"]>; };
|
|
30
30
|
|
|
31
31
|
export { InitialiseInploiSdkParams, Logger, Plugin, initialiseSdk };
|
package/dist/sdk.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { P as Plugin, L as Logger } from './common.plugins-
|
|
2
|
-
export { C as CONSOLE_PREFIX, a as CONSOLE_STYLE, c as createPlugin, i as inploiBrandedLogger, n as noLogging } from './common.plugins-
|
|
1
|
+
import { P as Plugin, L as Logger } from './common.plugins-1ba83e05.js';
|
|
2
|
+
export { C as CONSOLE_PREFIX, a as CONSOLE_STYLE, c as createPlugin, i as inploiBrandedLogger, n as noLogging } from './common.plugins-1ba83e05.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* The environment the SDK should run in.
|
|
@@ -26,6 +26,6 @@ declare function initialiseSdk<TPlugin extends Plugin<any, any>>({ publishableKe
|
|
|
26
26
|
pluginName: K;
|
|
27
27
|
} extends infer T ? { [k in keyof T]: (TPlugin & {
|
|
28
28
|
pluginName: K;
|
|
29
|
-
})[k]; } : never)["initialise"]>; }
|
|
29
|
+
})[k]; } : never)["initialise"]>; };
|
|
30
30
|
|
|
31
31
|
export { InitialiseInploiSdkParams, Logger, Plugin, initialiseSdk };
|
package/dist/sdk.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var l=Object.defineProperty,
|
|
1
|
+
"use strict";var l=Object.defineProperty,w=Object.defineProperties,E=Object.getOwnPropertyDescriptor,b=Object.getOwnPropertyDescriptors,C=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols;var x=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable;var f=(e,n,o)=>n in e?l(e,n,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[n]=o,u=(e,n)=>{for(var o in n||(n={}))x.call(n,o)&&f(e,o,n[o]);if(d)for(var o of d(n))v.call(n,o)&&f(e,o,n[o]);return e},h=(e,n)=>w(e,b(n));var I=(e,n)=>{for(var o in n)l(e,o,{get:n[o],enumerable:!0})},N=(e,n,o,t)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of C(n))!x.call(e,r)&&r!==o&&l(e,r,{get:()=>n[r],enumerable:!(t=E(n,r))||t.enumerable});return e};var O=e=>N(l({},"__esModule",{value:!0}),e);var y=(e,n,o)=>new Promise((t,r)=>{var P=s=>{try{i(o.next(s))}catch(m){r(m)}},a=s=>{try{i(o.throw(s))}catch(m){r(m)}},i=s=>s.done?t(s.value):Promise.resolve(s.value).then(P,a);i((o=o.apply(e,n)).next())});var U={};I(U,{CONSOLE_PREFIX:()=>p,CONSOLE_STYLE:()=>g,createPlugin:()=>T,initialiseSdk:()=>S,inploiBrandedLogger:()=>c,noLogging:()=>_});module.exports=O(U);var p="%c[inploi SDK]",g="color: #65BC67; font-weight: bold;",c={warn:e=>console.warn(p,g,e),error:e=>console.error(p,g,e),info:e=>console.info(p,g,e),log:e=>console.log(p,g,e)},_={info:()=>{},error:()=>{},log:()=>{},warn:()=>{}};var M="Unauthenticated",R="This action is unauthorized.",L=e=>{let n={Accept:"application/json","Content-Type":"application/json","x-publishable-key":e.publishableKey};return{fetch:(r,...P)=>y(void 0,[r,...P],function*(o,t={}){let a=h(u({},t),{headers:u(u({},t.headers),n)}),i=yield fetch(`${e.baseUrl}${o}`,a).then(s=>s.json());if("message"in i){if(i.message===M)throw new Error("You are not authenticated.");if(i.message===R)throw new Error("You are not authenticated.");if("exception"in i)throw new Error(`API error: \u201C${i.message}\u201D`);if("errors"in i)throw new Error(`API error: \u201C${i.message}\u201D`)}return i})}};var A={sandbox:"https://preview.api.inploi.com",production:"https://api.inploi.com"};var T=(e,{initialise:n})=>({pluginName:e,initialise:n});function S({publishableKey:e,env:n,plugins:o,logger:t=c}){let r=L({baseUrl:A[n],publishableKey:e});return o.reduce((a,i)=>(a[i.pluginName]=i.initialise({apiClient:r,logger:t}),a),{})}0&&(module.exports={CONSOLE_PREFIX,CONSOLE_STYLE,createPlugin,initialiseSdk,inploiBrandedLogger,noLogging});
|
|
2
2
|
//# sourceMappingURL=sdk.js.map
|
package/dist/sdk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/sdk.ts","../src/
|
|
1
|
+
{"version":3,"sources":["../src/sdk.ts","../src/common/common.logger.ts","../src/journeys/journeys.api.ts","../src/journeys/journeys.constants.ts","../src/common/common.plugins.ts"],"sourcesContent":["import { Flatten } from '@inploi/core/common';\n\nimport { AppEnvironment } from './common/common.constants';\nimport { Logger, inploiBrandedLogger } from './common/common.logger';\nimport { Plugin } from './common/common.plugins';\nimport { createApiClient } from './journeys/journeys.api';\nimport { ENV_TO_API_URL } from './journeys/journeys.constants';\n\n/** Different loggers so people can use `noLogging` */\nexport * from './common/common.logger';\nexport type { Plugin } from './common/common.plugins';\nexport { createPlugin } from './common/common.plugins';\n\nexport type InitialiseInploiSdkParams<P extends Plugin<any, any>> = {\n\t/** Your public API key for the inploi SDK. */\n\tpublishableKey: string;\n\t/** Add your plugins here. Try importing and passing `journeysPlugin` ;) */\n\tplugins: P[];\n\t/** Which app environment to run. This ultimately affects which inploi endpoints to gather data are going to be used.\n\t * Anything other than `production` should be considered a development environment and the data periodicaly purged. */\n\tenv: AppEnvironment;\n\t/** Logger object that handles logging of different levels.\n\t * You can override this to use your own logger, or to disable logging altogether by importing and passing `noLogging`.\n\t * @default inploiBrandedLogger\n\t * */\n\tlogger?: Logger;\n};\n\nexport function initialiseSdk<TPlugin extends Plugin<any, any>>({\n\tpublishableKey,\n\tenv,\n\tplugins,\n\tlogger = inploiBrandedLogger,\n}: InitialiseInploiSdkParams<TPlugin>) {\n\tconst apiClient = createApiClient({ baseUrl: ENV_TO_API_URL[env], publishableKey });\n\n\tconst pluginsObj = plugins.reduce(\n\t\t(acc, plugin) => {\n\t\t\tacc[plugin.pluginName as TPlugin['pluginName']] = plugin.initialise({ apiClient, logger });\n\t\t\treturn acc;\n\t\t},\n\t\t{} as { [K in TPlugin['pluginName']]: ReturnType<Flatten<TPlugin & { pluginName: K }>['initialise']> },\n\t);\n\n\treturn pluginsObj;\n}\n","export const CONSOLE_PREFIX = '%c[inploi SDK]';\nexport const CONSOLE_STYLE = 'color: #65BC67; font-weight: bold;';\n\ntype LogMessage = (...data: any[]) => void;\nexport type Logger = {\n\twarn: LogMessage;\n\terror: LogMessage;\n\tinfo: LogMessage;\n\tlog: LogMessage;\n};\n\nexport const inploiBrandedLogger: Logger = {\n\twarn: message => console.warn(CONSOLE_PREFIX, CONSOLE_STYLE, message),\n\terror: message => console.error(CONSOLE_PREFIX, CONSOLE_STYLE, message),\n\tinfo: message => console.info(CONSOLE_PREFIX, CONSOLE_STYLE, message),\n\tlog: message => console.log(CONSOLE_PREFIX, CONSOLE_STYLE, message),\n};\n\nexport const noLogging: Logger = { info: () => void 0, error: () => void 0, log: () => void 0, warn: () => void 0 };\n","export const unauthenticatedMessage = 'Unauthenticated';\nexport const unauthorisedMessage = 'This action is unauthorized.';\n\nexport type ApiClient = {\n\tfetch: (pathname: string, options?: RequestInit) => Promise<unknown>;\n};\n\nexport const createApiClient = (params: { baseUrl: string; publishableKey: string }): ApiClient => {\n\tconst defaultHeaders: HeadersInit = {\n\t\tAccept: 'application/json',\n\t\t'Content-Type': 'application/json',\n\t\t'x-publishable-key': params.publishableKey,\n\t};\n\n\treturn {\n\t\tfetch: async (pathname, options = {}) => {\n\t\t\tconst init = { ...options, headers: { ...options.headers, ...defaultHeaders } };\n\t\t\tconst response = await fetch(`${params.baseUrl}${pathname}`, init).then(res => res.json());\n\n\t\t\tif ('message' in response) {\n\t\t\t\tif (response.message === unauthenticatedMessage) {\n\t\t\t\t\tthrow new Error('You are not authenticated.');\n\t\t\t\t}\n\t\t\t\tif (response.message === unauthorisedMessage) {\n\t\t\t\t\tthrow new Error('You are not authenticated.');\n\t\t\t\t}\n\t\t\t\tif ('exception' in response) {\n\t\t\t\t\tthrow new Error(`API error: “${response.message}”`);\n\t\t\t\t}\n\t\t\t\tif ('errors' in response) {\n\t\t\t\t\tthrow new Error(`API error: “${response.message}”`);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn response;\n\t\t},\n\t};\n};\n","import { AppEnvironment } from '../common/common.constants';\n\nexport const ENV_TO_API_URL: Record<AppEnvironment, string> = {\n\tsandbox: 'https://preview.api.inploi.com',\n\tproduction: 'https://api.inploi.com',\n};\n\nexport const JOURNEY_PATHNAME = '/journey/log';\n","import { ApiClient } from '../journeys/journeys.api';\nimport { Logger } from './common.logger';\n\nexport type PluginParams = {\n\tapiClient: ApiClient;\n\tlogger?: Logger;\n};\n\nexport type Plugin<T extends string, P> = {\n\tpluginName: T;\n\tinitialise: (params: PluginParams) => P;\n};\n\nexport const createPlugin = <T extends string, P>(\n\t/** The plugin name to access its properties.\n\t * @example const myPluginVariable = createPlugin('myPluginName', { initialise: () => 'works' });\n\t * const sdk = initialiseSdk({plugins: [myPluginVariable]});\n\t * sdk.myPluginName // 'works'\n\t * sdk.myPluginVariable // undefined\n\t */\n\tpluginName: T,\n\t{\n\t\tinitialise,\n\t}: {\n\t\t/** Called when the SDK is initialised.\n\t\t * Here’s where you can do any one-off initialisation.\n\t\t * Returning a value or function will make it available to the SDK client.\n\t\t * @example const plugin = createPlugin('foo', { initialise: () => ({ bar: 'baz' }) });\n\t\t * const sdk = initialiseSdk({plugins: [plugin]});\n\t\t * sdk.foo.bar // 'baz'\n\t\t */\n\t\tinitialise: (params: PluginParams) => P;\n\t},\n): Plugin<T, P> => ({\n\tpluginName,\n\tinitialise,\n});\n"],"mappings":"i9BAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,oBAAAE,EAAA,kBAAAC,EAAA,iBAAAC,EAAA,kBAAAC,EAAA,wBAAAC,EAAA,cAAAC,IAAA,eAAAC,EAAAR,GCAO,IAAMS,EAAiB,iBACjBC,EAAgB,qCAUhBC,EAA8B,CAC1C,KAAMC,GAAW,QAAQ,KAAKH,EAAgBC,EAAeE,CAAO,EACpE,MAAOA,GAAW,QAAQ,MAAMH,EAAgBC,EAAeE,CAAO,EACtE,KAAMA,GAAW,QAAQ,KAAKH,EAAgBC,EAAeE,CAAO,EACpE,IAAKA,GAAW,QAAQ,IAAIH,EAAgBC,EAAeE,CAAO,CACnE,EAEaC,EAAoB,CAAE,KAAM,IAAG,GAAW,MAAO,IAAG,GAAW,IAAK,IAAG,GAAW,KAAM,IAAG,EAAU,EClB3G,IAAMC,EAAyB,kBACzBC,EAAsB,+BAMtBC,EAAmBC,GAAmE,CAClG,IAAMC,EAA8B,CACnC,OAAQ,mBACR,eAAgB,mBAChB,oBAAqBD,EAAO,cAC7B,EAEA,MAAO,CACN,MAAO,CAAOE,KAA2BC,IAAAC,EAAA,QAA3BF,EAA2B,GAAAC,GAAA,UAA3BE,EAAUC,EAAU,CAAC,EAAM,CACxC,IAAMC,EAAOC,EAAAC,EAAA,GAAKH,GAAL,CAAc,QAASG,IAAA,GAAKH,EAAQ,SAAYL,EAAiB,GACxES,EAAW,MAAM,MAAM,GAAGV,EAAO,OAAO,GAAGK,CAAQ,GAAIE,CAAI,EAAE,KAAKI,GAAOA,EAAI,KAAK,CAAC,EAEzF,GAAI,YAAaD,EAAU,CAC1B,GAAIA,EAAS,UAAYb,EACxB,MAAM,IAAI,MAAM,4BAA4B,EAE7C,GAAIa,EAAS,UAAYZ,EACxB,MAAM,IAAI,MAAM,4BAA4B,EAE7C,GAAI,cAAeY,EAClB,MAAM,IAAI,MAAM,oBAAeA,EAAS,OAAO,QAAG,EAEnD,GAAI,WAAYA,EACf,MAAM,IAAI,MAAM,oBAAeA,EAAS,OAAO,QAAG,CAEpD,CACA,OAAOA,CACR,EACD,CACD,EClCO,IAAME,EAAiD,CAC7D,QAAS,iCACT,WAAY,wBACb,ECQO,IAAMC,EAAe,CAO3BC,EACA,CACC,WAAAC,CACD,KAUmB,CACnB,WAAAD,EACA,WAAAC,CACD,GJRO,SAASC,EAAgD,CAC/D,eAAAC,EACA,IAAAC,EACA,QAAAC,EACA,OAAAC,EAASC,CACV,EAAuC,CACtC,IAAMC,EAAYC,EAAgB,CAAE,QAASC,EAAeN,CAAG,EAAG,eAAAD,CAAe,CAAC,EAUlF,OARmBE,EAAQ,OAC1B,CAACM,EAAKC,KACLD,EAAIC,EAAO,UAAmC,EAAIA,EAAO,WAAW,CAAE,UAAAJ,EAAW,OAAAF,CAAO,CAAC,EAClFK,GAER,CAAC,CACF,CAGD","names":["sdk_exports","__export","CONSOLE_PREFIX","CONSOLE_STYLE","createPlugin","initialiseSdk","inploiBrandedLogger","noLogging","__toCommonJS","CONSOLE_PREFIX","CONSOLE_STYLE","inploiBrandedLogger","message","noLogging","unauthenticatedMessage","unauthorisedMessage","createApiClient","params","defaultHeaders","_0","_1","__async","pathname","options","init","__spreadProps","__spreadValues","response","res","ENV_TO_API_URL","createPlugin","pluginName","initialise","initialiseSdk","publishableKey","env","plugins","logger","inploiBrandedLogger","apiClient","createApiClient","ENV_TO_API_URL","acc","plugin"]}
|
package/dist/sdk.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as i,b as l,c as p,d as
|
|
1
|
+
import{a as u}from"./chunk-NLLAI5ZB.mjs";import{a as i,b as l,c as p,d as h}from"./chunk-DG423OQK.mjs";var t="%c[inploi SDK]",s="color: #65BC67; font-weight: bold;",c={warn:e=>console.warn(t,s,e),error:e=>console.error(t,s,e),info:e=>console.info(t,s,e),log:e=>console.log(t,s,e)},L={info:()=>{},error:()=>{},log:()=>{},warn:()=>{}};var P="Unauthenticated",x="This action is unauthorized.",m=e=>{let a={Accept:"application/json","Content-Type":"application/json","x-publishable-key":e.publishableKey};return{fetch:(d,...y)=>p(void 0,[d,...y],function*(g,o={}){let r=l(i({},o),{headers:i(i({},o.headers),a)}),n=yield fetch(`${e.baseUrl}${g}`,r).then(f=>f.json());if("message"in n){if(n.message===P)throw new Error("You are not authenticated.");if(n.message===x)throw new Error("You are not authenticated.");if("exception"in n)throw new Error(`API error: \u201C${n.message}\u201D`);if("errors"in n)throw new Error(`API error: \u201C${n.message}\u201D`)}return n})}};function v({publishableKey:e,env:a,plugins:g,logger:o=c}){let d=m({baseUrl:u[a],publishableKey:e});return g.reduce((r,n)=>(r[n.pluginName]=n.initialise({apiClient:d,logger:o}),r),{})}export{t as CONSOLE_PREFIX,s as CONSOLE_STYLE,h as createPlugin,v as initialiseSdk,c as inploiBrandedLogger,L as noLogging};
|
|
2
2
|
//# sourceMappingURL=sdk.mjs.map
|
package/dist/sdk.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/
|
|
1
|
+
{"version":3,"sources":["../src/common/common.logger.ts","../src/journeys/journeys.api.ts","../src/sdk.ts"],"sourcesContent":["export const CONSOLE_PREFIX = '%c[inploi SDK]';\nexport const CONSOLE_STYLE = 'color: #65BC67; font-weight: bold;';\n\ntype LogMessage = (...data: any[]) => void;\nexport type Logger = {\n\twarn: LogMessage;\n\terror: LogMessage;\n\tinfo: LogMessage;\n\tlog: LogMessage;\n};\n\nexport const inploiBrandedLogger: Logger = {\n\twarn: message => console.warn(CONSOLE_PREFIX, CONSOLE_STYLE, message),\n\terror: message => console.error(CONSOLE_PREFIX, CONSOLE_STYLE, message),\n\tinfo: message => console.info(CONSOLE_PREFIX, CONSOLE_STYLE, message),\n\tlog: message => console.log(CONSOLE_PREFIX, CONSOLE_STYLE, message),\n};\n\nexport const noLogging: Logger = { info: () => void 0, error: () => void 0, log: () => void 0, warn: () => void 0 };\n","export const unauthenticatedMessage = 'Unauthenticated';\nexport const unauthorisedMessage = 'This action is unauthorized.';\n\nexport type ApiClient = {\n\tfetch: (pathname: string, options?: RequestInit) => Promise<unknown>;\n};\n\nexport const createApiClient = (params: { baseUrl: string; publishableKey: string }): ApiClient => {\n\tconst defaultHeaders: HeadersInit = {\n\t\tAccept: 'application/json',\n\t\t'Content-Type': 'application/json',\n\t\t'x-publishable-key': params.publishableKey,\n\t};\n\n\treturn {\n\t\tfetch: async (pathname, options = {}) => {\n\t\t\tconst init = { ...options, headers: { ...options.headers, ...defaultHeaders } };\n\t\t\tconst response = await fetch(`${params.baseUrl}${pathname}`, init).then(res => res.json());\n\n\t\t\tif ('message' in response) {\n\t\t\t\tif (response.message === unauthenticatedMessage) {\n\t\t\t\t\tthrow new Error('You are not authenticated.');\n\t\t\t\t}\n\t\t\t\tif (response.message === unauthorisedMessage) {\n\t\t\t\t\tthrow new Error('You are not authenticated.');\n\t\t\t\t}\n\t\t\t\tif ('exception' in response) {\n\t\t\t\t\tthrow new Error(`API error: “${response.message}”`);\n\t\t\t\t}\n\t\t\t\tif ('errors' in response) {\n\t\t\t\t\tthrow new Error(`API error: “${response.message}”`);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn response;\n\t\t},\n\t};\n};\n","import { Flatten } from '@inploi/core/common';\n\nimport { AppEnvironment } from './common/common.constants';\nimport { Logger, inploiBrandedLogger } from './common/common.logger';\nimport { Plugin } from './common/common.plugins';\nimport { createApiClient } from './journeys/journeys.api';\nimport { ENV_TO_API_URL } from './journeys/journeys.constants';\n\n/** Different loggers so people can use `noLogging` */\nexport * from './common/common.logger';\nexport type { Plugin } from './common/common.plugins';\nexport { createPlugin } from './common/common.plugins';\n\nexport type InitialiseInploiSdkParams<P extends Plugin<any, any>> = {\n\t/** Your public API key for the inploi SDK. */\n\tpublishableKey: string;\n\t/** Add your plugins here. Try importing and passing `journeysPlugin` ;) */\n\tplugins: P[];\n\t/** Which app environment to run. This ultimately affects which inploi endpoints to gather data are going to be used.\n\t * Anything other than `production` should be considered a development environment and the data periodicaly purged. */\n\tenv: AppEnvironment;\n\t/** Logger object that handles logging of different levels.\n\t * You can override this to use your own logger, or to disable logging altogether by importing and passing `noLogging`.\n\t * @default inploiBrandedLogger\n\t * */\n\tlogger?: Logger;\n};\n\nexport function initialiseSdk<TPlugin extends Plugin<any, any>>({\n\tpublishableKey,\n\tenv,\n\tplugins,\n\tlogger = inploiBrandedLogger,\n}: InitialiseInploiSdkParams<TPlugin>) {\n\tconst apiClient = createApiClient({ baseUrl: ENV_TO_API_URL[env], publishableKey });\n\n\tconst pluginsObj = plugins.reduce(\n\t\t(acc, plugin) => {\n\t\t\tacc[plugin.pluginName as TPlugin['pluginName']] = plugin.initialise({ apiClient, logger });\n\t\t\treturn acc;\n\t\t},\n\t\t{} as { [K in TPlugin['pluginName']]: ReturnType<Flatten<TPlugin & { pluginName: K }>['initialise']> },\n\t);\n\n\treturn pluginsObj;\n}\n"],"mappings":"uGAAO,IAAMA,EAAiB,iBACjBC,EAAgB,qCAUhBC,EAA8B,CAC1C,KAAMC,GAAW,QAAQ,KAAKH,EAAgBC,EAAeE,CAAO,EACpE,MAAOA,GAAW,QAAQ,MAAMH,EAAgBC,EAAeE,CAAO,EACtE,KAAMA,GAAW,QAAQ,KAAKH,EAAgBC,EAAeE,CAAO,EACpE,IAAKA,GAAW,QAAQ,IAAIH,EAAgBC,EAAeE,CAAO,CACnE,EAEaC,EAAoB,CAAE,KAAM,IAAG,GAAW,MAAO,IAAG,GAAW,IAAK,IAAG,GAAW,KAAM,IAAG,EAAU,EClB3G,IAAMC,EAAyB,kBACzBC,EAAsB,+BAMtBC,EAAmBC,GAAmE,CAClG,IAAMC,EAA8B,CACnC,OAAQ,mBACR,eAAgB,mBAChB,oBAAqBD,EAAO,cAC7B,EAEA,MAAO,CACN,MAAO,CAAOE,KAA2BC,IAAAC,EAAA,QAA3BF,EAA2B,GAAAC,GAAA,UAA3BE,EAAUC,EAAU,CAAC,EAAM,CACxC,IAAMC,EAAOC,EAAAC,EAAA,GAAKH,GAAL,CAAc,QAASG,IAAA,GAAKH,EAAQ,SAAYL,EAAiB,GACxES,EAAW,MAAM,MAAM,GAAGV,EAAO,OAAO,GAAGK,CAAQ,GAAIE,CAAI,EAAE,KAAKI,GAAOA,EAAI,KAAK,CAAC,EAEzF,GAAI,YAAaD,EAAU,CAC1B,GAAIA,EAAS,UAAYb,EACxB,MAAM,IAAI,MAAM,4BAA4B,EAE7C,GAAIa,EAAS,UAAYZ,EACxB,MAAM,IAAI,MAAM,4BAA4B,EAE7C,GAAI,cAAeY,EAClB,MAAM,IAAI,MAAM,oBAAeA,EAAS,OAAO,QAAG,EAEnD,GAAI,WAAYA,EACf,MAAM,IAAI,MAAM,oBAAeA,EAAS,OAAO,QAAG,CAEpD,CACA,OAAOA,CACR,EACD,CACD,ECRO,SAASE,EAAgD,CAC/D,eAAAC,EACA,IAAAC,EACA,QAAAC,EACA,OAAAC,EAASC,CACV,EAAuC,CACtC,IAAMC,EAAYC,EAAgB,CAAE,QAASC,EAAeN,CAAG,EAAG,eAAAD,CAAe,CAAC,EAUlF,OARmBE,EAAQ,OAC1B,CAACM,EAAKC,KACLD,EAAIC,EAAO,UAAmC,EAAIA,EAAO,WAAW,CAAE,UAAAJ,EAAW,OAAAF,CAAO,CAAC,EAClFK,GAER,CAAC,CACF,CAGD","names":["CONSOLE_PREFIX","CONSOLE_STYLE","inploiBrandedLogger","message","noLogging","unauthenticatedMessage","unauthorisedMessage","createApiClient","params","defaultHeaders","_0","_1","__async","pathname","options","init","__spreadProps","__spreadValues","response","res","initialiseSdk","publishableKey","env","plugins","logger","inploiBrandedLogger","apiClient","createApiClient","ENV_TO_API_URL","acc","plugin"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inploi/sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"license": "MIT",
|
|
@@ -18,6 +18,11 @@
|
|
|
18
18
|
"require": "./dist/journeys/journeys.js",
|
|
19
19
|
"import": "./dist/journeys/journeys.mjs",
|
|
20
20
|
"types": "./dist/journeys/journeys.d.ts"
|
|
21
|
+
},
|
|
22
|
+
"./accessibility": {
|
|
23
|
+
"require": "./dist/accessibility/accessibility.js",
|
|
24
|
+
"import": "./dist/accessibility/accessibility.mjs",
|
|
25
|
+
"types": "./dist/accessibility/accessibility.d.ts"
|
|
21
26
|
}
|
|
22
27
|
},
|
|
23
28
|
"scripts": {
|
package/dist/chunk-KHVPBEFD.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var P=Object.defineProperty,u=Object.defineProperties;var c=Object.getOwnPropertyDescriptors;var a=Object.getOwnPropertySymbols;var x=Object.prototype.hasOwnProperty,A=Object.prototype.propertyIsEnumerable;var s=(t,i,n)=>i in t?P(t,i,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[i]=n,T=(t,i)=>{for(var n in i||(i={}))x.call(i,n)&&s(t,n,i[n]);if(a)for(var n of a(i))A.call(i,n)&&s(t,n,i[n]);return t},d=(t,i)=>u(t,c(i));var E=(t,i,n)=>new Promise((g,p)=>{var l=o=>{try{r(n.next(o))}catch(e){p(e)}},m=o=>{try{r(n.throw(o))}catch(e){p(e)}},r=o=>o.done?g(o.value):Promise.resolve(o.value).then(l,m);r((n=n.apply(t,i)).next())});var _={sandbox:"https://preview.api.inploi.com",production:"https://api.inploi.com"},f="/journey/log";var y=(t,{initialise:i})=>({pluginName:t,initialise:i});export{T as a,d as b,E as c,_ as d,f as e,y as f};
|
|
2
|
-
//# sourceMappingURL=chunk-KHVPBEFD.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/journeys/journeys.constants.ts","../src/common/common.plugins.ts"],"sourcesContent":["import { AppEnvironment } from '../common/common.constants';\n\nexport const ENV_TO_API_URL: Record<AppEnvironment, string> = {\n\tsandbox: 'https://preview.api.inploi.com',\n\tproduction: 'https://api.inploi.com',\n};\n\nexport const JOURNEY_PATHNAME = '/journey/log';\n","import { Logger } from './common.logger';\nimport { ApiClient } from '../journeys/journeys.api';\n\nexport type PluginParams = {\n\tapiClient: ApiClient;\n\tlogger?: Logger;\n};\n\nexport type Plugin<T extends string, P> = {\n\tpluginName: T;\n\tinitialise: (params: PluginParams) => P;\n};\n\nexport const createPlugin = <T extends string, P>(\n\tpluginName: T,\n\t{ initialise }: { initialise: (params: PluginParams) => P }\n): Plugin<T, P> => ({\n\tpluginName,\n\tinitialise,\n});\n"],"mappings":"0nBAEO,IAAMA,EAAiD,CAC7D,QAAS,iCACT,WAAY,wBACb,EAEaC,EAAmB,eCMzB,IAAMC,EAAe,CAC3BC,EACA,CAAE,WAAAC,CAAW,KACM,CACnB,WAAAD,EACA,WAAAC,CACD","names":["ENV_TO_API_URL","JOURNEY_PATHNAME","createPlugin","pluginName","initialise"]}
|