@payscore/web-widget-sdk 0.1.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/dist/index.d.mts +41 -0
- package/dist/index.d.ts +41 -0
- package/dist/index.js +169 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +141 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +43 -0
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
interface PayscoreWidgetConfiguration {
|
|
2
|
+
environment: PayscoreEnvironment;
|
|
3
|
+
screeningId: string;
|
|
4
|
+
testUrl?: string;
|
|
5
|
+
widgetToken: string;
|
|
6
|
+
onEvent?(event: PayscoreBaseEvent): void;
|
|
7
|
+
}
|
|
8
|
+
declare enum PayscoreWidgetEventType {
|
|
9
|
+
IncomeVerificationLoaded = "payscore/incomeVerification/loaded",
|
|
10
|
+
IncomeVerificationStarted = "payscore/incomeVerification/started",
|
|
11
|
+
IncomeVerificationCompleted = "payscore/incomeVerification/completed",
|
|
12
|
+
WidgetClosed = "payscore/incomeVerification/widgetClosed"
|
|
13
|
+
}
|
|
14
|
+
type PayscoreEnvironment = 'staging' | 'production';
|
|
15
|
+
interface PayscoreBaseEvent<T extends PayscoreWidgetEventType = PayscoreWidgetEventType> {
|
|
16
|
+
type: T;
|
|
17
|
+
timestamp: number;
|
|
18
|
+
payscore: true;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
declare class IncomeVerificationWidget {
|
|
22
|
+
private environment;
|
|
23
|
+
private isUnmounting;
|
|
24
|
+
private screeningId;
|
|
25
|
+
private widgetToken;
|
|
26
|
+
private testUrl?;
|
|
27
|
+
private onEvent?;
|
|
28
|
+
private windowMessageCallback;
|
|
29
|
+
constructor(configuration: PayscoreWidgetConfiguration);
|
|
30
|
+
private get baseUrl();
|
|
31
|
+
private get widgetUrl();
|
|
32
|
+
load(): void;
|
|
33
|
+
unmount(): void;
|
|
34
|
+
private mountIFrame;
|
|
35
|
+
private unmountIFrame;
|
|
36
|
+
private handlePayscoreMessage;
|
|
37
|
+
private setupListener;
|
|
38
|
+
private removeListener;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export { IncomeVerificationWidget, type PayscoreBaseEvent, type PayscoreEnvironment, type PayscoreWidgetConfiguration, PayscoreWidgetEventType };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
interface PayscoreWidgetConfiguration {
|
|
2
|
+
environment: PayscoreEnvironment;
|
|
3
|
+
screeningId: string;
|
|
4
|
+
testUrl?: string;
|
|
5
|
+
widgetToken: string;
|
|
6
|
+
onEvent?(event: PayscoreBaseEvent): void;
|
|
7
|
+
}
|
|
8
|
+
declare enum PayscoreWidgetEventType {
|
|
9
|
+
IncomeVerificationLoaded = "payscore/incomeVerification/loaded",
|
|
10
|
+
IncomeVerificationStarted = "payscore/incomeVerification/started",
|
|
11
|
+
IncomeVerificationCompleted = "payscore/incomeVerification/completed",
|
|
12
|
+
WidgetClosed = "payscore/incomeVerification/widgetClosed"
|
|
13
|
+
}
|
|
14
|
+
type PayscoreEnvironment = 'staging' | 'production';
|
|
15
|
+
interface PayscoreBaseEvent<T extends PayscoreWidgetEventType = PayscoreWidgetEventType> {
|
|
16
|
+
type: T;
|
|
17
|
+
timestamp: number;
|
|
18
|
+
payscore: true;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
declare class IncomeVerificationWidget {
|
|
22
|
+
private environment;
|
|
23
|
+
private isUnmounting;
|
|
24
|
+
private screeningId;
|
|
25
|
+
private widgetToken;
|
|
26
|
+
private testUrl?;
|
|
27
|
+
private onEvent?;
|
|
28
|
+
private windowMessageCallback;
|
|
29
|
+
constructor(configuration: PayscoreWidgetConfiguration);
|
|
30
|
+
private get baseUrl();
|
|
31
|
+
private get widgetUrl();
|
|
32
|
+
load(): void;
|
|
33
|
+
unmount(): void;
|
|
34
|
+
private mountIFrame;
|
|
35
|
+
private unmountIFrame;
|
|
36
|
+
private handlePayscoreMessage;
|
|
37
|
+
private setupListener;
|
|
38
|
+
private removeListener;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export { IncomeVerificationWidget, type PayscoreBaseEvent, type PayscoreEnvironment, type PayscoreWidgetConfiguration, PayscoreWidgetEventType };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// style-loader:src/index.ts
|
|
21
|
+
var src_exports = {};
|
|
22
|
+
__export(src_exports, {
|
|
23
|
+
IncomeVerificationWidget: () => IncomeVerificationWidget,
|
|
24
|
+
PayscoreWidgetEventType: () => PayscoreWidgetEventType
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(src_exports);
|
|
27
|
+
|
|
28
|
+
// src/types/index.ts
|
|
29
|
+
var PayscoreWidgetEventType = /* @__PURE__ */ ((PayscoreWidgetEventType2) => {
|
|
30
|
+
PayscoreWidgetEventType2["IncomeVerificationLoaded"] = "payscore/incomeVerification/loaded";
|
|
31
|
+
PayscoreWidgetEventType2["IncomeVerificationStarted"] = "payscore/incomeVerification/started";
|
|
32
|
+
PayscoreWidgetEventType2["IncomeVerificationCompleted"] = "payscore/incomeVerification/completed";
|
|
33
|
+
PayscoreWidgetEventType2["WidgetClosed"] = "payscore/incomeVerification/widgetClosed";
|
|
34
|
+
return PayscoreWidgetEventType2;
|
|
35
|
+
})(PayscoreWidgetEventType || {});
|
|
36
|
+
|
|
37
|
+
// src/utils.ts
|
|
38
|
+
var PAYSCORE_STAGING_URL = "https://app.staging.payscore.com";
|
|
39
|
+
var PAYSCORE_PRODUCTION_URL = "https://app.payscore.com";
|
|
40
|
+
var AVAILABLE_ENVIRONMENTS = [
|
|
41
|
+
"production",
|
|
42
|
+
"staging"
|
|
43
|
+
];
|
|
44
|
+
|
|
45
|
+
// src/widgets.ts
|
|
46
|
+
var PAYSCORE_WIDGET_ID = "payscore-widget";
|
|
47
|
+
var PAYSCORE_WIDGET_CONTAINER_ID = "payscore-widget-container";
|
|
48
|
+
var PAYSCORE_LOADING_SPINNER_ID = "payscore-loading-spinner";
|
|
49
|
+
var IncomeVerificationWidget = class {
|
|
50
|
+
constructor(configuration) {
|
|
51
|
+
const { environment, screeningId, testUrl, widgetToken, onEvent } = configuration;
|
|
52
|
+
if (!environment || !AVAILABLE_ENVIRONMENTS.includes(environment)) {
|
|
53
|
+
throw new Error(
|
|
54
|
+
'Invalid environment configuration for the Payscore Widget, please use either "staging" or "production" as the environment configuration.'
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
if (!screeningId) {
|
|
58
|
+
throw new Error(
|
|
59
|
+
"screeningId is missing from the Payscore Widget configuration. Please provide a valid screening ID."
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
if (!widgetToken) {
|
|
63
|
+
throw new Error(
|
|
64
|
+
"widgetToken is missing from the Payscore Widget configuration. Please provide a valid widget token."
|
|
65
|
+
);
|
|
66
|
+
}
|
|
67
|
+
this.environment = environment;
|
|
68
|
+
this.screeningId = screeningId;
|
|
69
|
+
this.testUrl = testUrl;
|
|
70
|
+
this.widgetToken = widgetToken;
|
|
71
|
+
this.onEvent = onEvent;
|
|
72
|
+
this.isUnmounting = false;
|
|
73
|
+
this.windowMessageCallback = (event) => {
|
|
74
|
+
this.handlePayscoreMessage(event);
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
get baseUrl() {
|
|
78
|
+
if (!!this.testUrl) {
|
|
79
|
+
return this.testUrl;
|
|
80
|
+
}
|
|
81
|
+
switch (this.environment) {
|
|
82
|
+
case "staging":
|
|
83
|
+
return PAYSCORE_STAGING_URL;
|
|
84
|
+
case "production":
|
|
85
|
+
return PAYSCORE_PRODUCTION_URL;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
get widgetUrl() {
|
|
89
|
+
return `${this.baseUrl}/screenings/${this.screeningId}?token=${this.widgetToken}`;
|
|
90
|
+
}
|
|
91
|
+
load() {
|
|
92
|
+
const existingWidgetContainer = document.getElementById(
|
|
93
|
+
PAYSCORE_WIDGET_CONTAINER_ID
|
|
94
|
+
);
|
|
95
|
+
if (!!existingWidgetContainer || this.isUnmounting) {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
this.mountIFrame();
|
|
99
|
+
}
|
|
100
|
+
unmount() {
|
|
101
|
+
if (this.isUnmounting) {
|
|
102
|
+
console.log("Widget is already unmounting");
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
this.unmountIFrame();
|
|
106
|
+
}
|
|
107
|
+
mountIFrame() {
|
|
108
|
+
this.setupListener();
|
|
109
|
+
const iframe = document.createElement("iframe");
|
|
110
|
+
iframe.setAttribute("id", PAYSCORE_WIDGET_ID);
|
|
111
|
+
iframe.setAttribute("title", "Payscore Widget");
|
|
112
|
+
iframe.setAttribute("src", this.widgetUrl);
|
|
113
|
+
iframe.addEventListener("load", () => {
|
|
114
|
+
iframe.classList.add("loaded");
|
|
115
|
+
const iframeContainer2 = iframe.parentElement;
|
|
116
|
+
if (!!iframeContainer2) {
|
|
117
|
+
const spinner = document.getElementById(
|
|
118
|
+
PAYSCORE_LOADING_SPINNER_ID
|
|
119
|
+
);
|
|
120
|
+
if (!!spinner) {
|
|
121
|
+
iframeContainer2.removeChild(spinner);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
const iframeContainer = document.createElement("div");
|
|
126
|
+
iframeContainer.setAttribute("id", PAYSCORE_WIDGET_CONTAINER_ID);
|
|
127
|
+
const iframeLoadingSpinner = document.createElement("div");
|
|
128
|
+
iframeLoadingSpinner.setAttribute("id", PAYSCORE_LOADING_SPINNER_ID);
|
|
129
|
+
iframeContainer.appendChild(iframeLoadingSpinner);
|
|
130
|
+
iframeContainer.appendChild(iframe);
|
|
131
|
+
document.body.appendChild(iframeContainer);
|
|
132
|
+
}
|
|
133
|
+
unmountIFrame() {
|
|
134
|
+
this.isUnmounting = true;
|
|
135
|
+
this.removeListener();
|
|
136
|
+
const iframeContainer = document.getElementById(
|
|
137
|
+
PAYSCORE_WIDGET_CONTAINER_ID
|
|
138
|
+
);
|
|
139
|
+
if (!!iframeContainer) {
|
|
140
|
+
document.body.removeChild(iframeContainer);
|
|
141
|
+
}
|
|
142
|
+
this.isUnmounting = false;
|
|
143
|
+
}
|
|
144
|
+
handlePayscoreMessage(event) {
|
|
145
|
+
var _a;
|
|
146
|
+
if (!event.data.payscore) {
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
(_a = this.onEvent) == null ? void 0 : _a.call(this, event.data, this);
|
|
150
|
+
if (event.data.type === "payscore/incomeVerification/widgetClosed" /* WidgetClosed */) {
|
|
151
|
+
this.unmount();
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
setupListener() {
|
|
155
|
+
window.addEventListener("message", this.windowMessageCallback);
|
|
156
|
+
}
|
|
157
|
+
removeListener() {
|
|
158
|
+
window.removeEventListener("message", this.windowMessageCallback);
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
|
|
162
|
+
// style-loader:src/index.ts
|
|
163
|
+
typeof document === "object" && document.head.appendChild(document.createElement("style")).appendChild(document.createTextNode(":root {\n --payscore-container-z-index: 999999;\n}\n\n#payscore-widget-container {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: var(--payscore-container-z-index);\n background-color: rgba(0, 0, 0, 0.5);\n animation: fade-in 0.5s forwards;\n}\n\n#payscore-widget {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 90%;\n height: 90%;\n border-radius: 10px;\n transform: translate(-50%, -50%) scale(0);\n\n @media only screen and (max-width: 1200px) {\n width: 99.5%;\n height: 99.5%;\n min-width: 99.5%;\n min-height: 99.5%;\n }\n}\n\n#payscore-widget.loaded {\n animation: zoom-in 0.5s forwards;\n}\n\n#payscore-loading-spinner {\n position: absolute;\n top: calc(40% - 104px);\n left: calc(50% - 104px);\n width: 200px;\n height: 200px;\n padding: 8px;\n aspect-ratio: 1;\n border-radius: 50%;\n mask: conic-gradient(#0000 10%, #000), linear-gradient(#000 0 0) content-box;\n -webkit-mask-composite: source-out;\n mask-composite: subtract;\n animation: loading-spin 1s infinite linear;\n\n background-color: #014ffa;\n}\n\n@keyframes fade-in {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n@keyframes zoom-in {\n from {\n transform: translate(-50%, -50%) scale(0);\n }\n to {\n transform: translate(-50%, -50%) scale(1);\n }\n}\n\n@keyframes loading-spin {\n to {\n transform: rotate(1turn);\n }\n}\n"));
|
|
164
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
165
|
+
0 && (module.exports = {
|
|
166
|
+
IncomeVerificationWidget,
|
|
167
|
+
PayscoreWidgetEventType
|
|
168
|
+
});
|
|
169
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["style-loader:src/index.ts","../src/types/index.ts","../src/utils.ts","../src/widgets.ts"],"sourcesContent":["typeof document === 'object' &&document.head.appendChild(document.createElement('style')).appendChild(document.createTextNode(\":root {\\n --payscore-container-z-index: 999999;\\n}\\n\\n#payscore-widget-container {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n z-index: var(--payscore-container-z-index);\\n background-color: rgba(0, 0, 0, 0.5);\\n animation: fade-in 0.5s forwards;\\n}\\n\\n#payscore-widget {\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n width: 90%;\\n height: 90%;\\n border-radius: 10px;\\n transform: translate(-50%, -50%) scale(0);\\n\\n @media only screen and (max-width: 1200px) {\\n width: 99.5%;\\n height: 99.5%;\\n min-width: 99.5%;\\n min-height: 99.5%;\\n }\\n}\\n\\n#payscore-widget.loaded {\\n animation: zoom-in 0.5s forwards;\\n}\\n\\n#payscore-loading-spinner {\\n position: absolute;\\n top: calc(40% - 104px);\\n left: calc(50% - 104px);\\n width: 200px;\\n height: 200px;\\n padding: 8px;\\n aspect-ratio: 1;\\n border-radius: 50%;\\n mask: conic-gradient(#0000 10%, #000), linear-gradient(#000 0 0) content-box;\\n -webkit-mask-composite: source-out;\\n mask-composite: subtract;\\n animation: loading-spin 1s infinite linear;\\n\\n background-color: #014ffa;\\n}\\n\\n@keyframes fade-in {\\n from {\\n opacity: 0;\\n }\\n to {\\n opacity: 1;\\n }\\n}\\n\\n@keyframes zoom-in {\\n from {\\n transform: translate(-50%, -50%) scale(0);\\n }\\n to {\\n transform: translate(-50%, -50%) scale(1);\\n }\\n}\\n\\n@keyframes loading-spin {\\n to {\\n transform: rotate(1turn);\\n }\\n}\\n\"))\nexport * from './types/index';\nexport { IncomeVerificationWidget } from './widgets';\n","export interface PayscoreWidgetConfiguration {\n environment: PayscoreEnvironment;\n screeningId: string;\n testUrl?: string;\n widgetToken: string;\n onEvent?(event: PayscoreBaseEvent): void;\n}\n\nexport enum PayscoreWidgetEventType {\n IncomeVerificationLoaded = 'payscore/incomeVerification/loaded',\n IncomeVerificationStarted = 'payscore/incomeVerification/started',\n IncomeVerificationCompleted = 'payscore/incomeVerification/completed',\n WidgetClosed = 'payscore/incomeVerification/widgetClosed',\n}\n\nexport type PayscoreEnvironment = 'staging' | 'production';\n\nexport interface PayscoreBaseEvent<\n T extends PayscoreWidgetEventType = PayscoreWidgetEventType\n> {\n type: T;\n timestamp: number;\n payscore: true;\n}\n","import { PayscoreEnvironment } from './types';\nimport { Permutations } from './types/utils';\n\nexport const PAYSCORE_STAGING_URL = 'https://app.staging.payscore.com';\nexport const PAYSCORE_PRODUCTION_URL = 'https://app.payscore.com';\n\nexport const AVAILABLE_ENVIRONMENTS: Permutations<PayscoreEnvironment> = [\n 'production',\n 'staging',\n];\n","import {\n PayscoreBaseEvent,\n PayscoreEnvironment,\n PayscoreWidgetConfiguration,\n PayscoreWidgetEventType,\n} from './types';\nimport {\n AVAILABLE_ENVIRONMENTS,\n PAYSCORE_PRODUCTION_URL,\n PAYSCORE_STAGING_URL,\n} from './utils';\n\nconst PAYSCORE_WIDGET_ID = 'payscore-widget';\nconst PAYSCORE_WIDGET_CONTAINER_ID = 'payscore-widget-container';\nconst PAYSCORE_LOADING_SPINNER_ID = 'payscore-loading-spinner';\n\nexport class IncomeVerificationWidget {\n private environment: PayscoreEnvironment;\n private isUnmounting: boolean;\n private screeningId: string;\n private widgetToken: string;\n private testUrl?: string;\n private onEvent?: (\n event: PayscoreBaseEvent,\n widget: IncomeVerificationWidget\n ) => void;\n private windowMessageCallback: (event: MessageEvent) => void;\n\n constructor(configuration: PayscoreWidgetConfiguration) {\n const { environment, screeningId, testUrl, widgetToken, onEvent } =\n configuration;\n\n if (!environment || !AVAILABLE_ENVIRONMENTS.includes(environment)) {\n throw new Error(\n 'Invalid environment configuration for the Payscore Widget, please use either \"staging\" or \"production\" as the environment configuration.'\n );\n }\n\n if (!screeningId) {\n throw new Error(\n 'screeningId is missing from the Payscore Widget configuration. Please provide a valid screening ID.'\n );\n }\n\n if (!widgetToken) {\n throw new Error(\n 'widgetToken is missing from the Payscore Widget configuration. Please provide a valid widget token.'\n );\n }\n\n this.environment = environment;\n this.screeningId = screeningId;\n this.testUrl = testUrl;\n this.widgetToken = widgetToken;\n this.onEvent = onEvent;\n\n this.isUnmounting = false;\n\n this.windowMessageCallback = (event: MessageEvent) => {\n this.handlePayscoreMessage(event);\n };\n }\n\n private get baseUrl(): string {\n if (!!this.testUrl) {\n return this.testUrl;\n }\n\n switch (this.environment) {\n case 'staging':\n return PAYSCORE_STAGING_URL;\n case 'production':\n return PAYSCORE_PRODUCTION_URL;\n }\n }\n\n private get widgetUrl() {\n return `${this.baseUrl}/screenings/${this.screeningId}?token=${this.widgetToken}`;\n }\n\n load(): void {\n const existingWidgetContainer = document.getElementById(\n PAYSCORE_WIDGET_CONTAINER_ID\n );\n\n if (!!existingWidgetContainer || this.isUnmounting) {\n return;\n }\n\n this.mountIFrame();\n }\n\n unmount(): void {\n if (this.isUnmounting) {\n console.log('Widget is already unmounting');\n return;\n }\n\n this.unmountIFrame();\n }\n\n private mountIFrame(): void {\n this.setupListener();\n\n const iframe = document.createElement('iframe');\n\n iframe.setAttribute('id', PAYSCORE_WIDGET_ID);\n iframe.setAttribute('title', 'Payscore Widget');\n iframe.setAttribute('src', this.widgetUrl);\n\n iframe.addEventListener('load', () => {\n iframe.classList.add('loaded');\n const iframeContainer = iframe.parentElement;\n if (!!iframeContainer) {\n const spinner = document.getElementById(\n PAYSCORE_LOADING_SPINNER_ID\n );\n if (!!spinner) {\n iframeContainer.removeChild(spinner);\n }\n }\n });\n\n const iframeContainer = document.createElement('div');\n iframeContainer.setAttribute('id', PAYSCORE_WIDGET_CONTAINER_ID);\n\n const iframeLoadingSpinner = document.createElement('div');\n iframeLoadingSpinner.setAttribute('id', PAYSCORE_LOADING_SPINNER_ID);\n\n iframeContainer.appendChild(iframeLoadingSpinner);\n iframeContainer.appendChild(iframe);\n\n document.body.appendChild(iframeContainer);\n }\n\n private unmountIFrame(): void {\n this.isUnmounting = true;\n\n this.removeListener();\n\n const iframeContainer = document.getElementById(\n PAYSCORE_WIDGET_CONTAINER_ID\n );\n if (!!iframeContainer) {\n document.body.removeChild(iframeContainer);\n }\n\n this.isUnmounting = false;\n }\n\n private handlePayscoreMessage(\n event: MessageEvent<PayscoreBaseEvent>\n ): void {\n if (!event.data.payscore) {\n return;\n }\n\n this.onEvent?.(event.data, this);\n\n if (event.data.type === PayscoreWidgetEventType.WidgetClosed) {\n this.unmount();\n }\n }\n\n private setupListener(): void {\n window.addEventListener('message', this.windowMessageCallback);\n }\n\n private removeListener(): void {\n window.removeEventListener('message', this.windowMessageCallback);\n }\n}\n"],"mappings":"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","names":["PayscoreWidgetEventType","iframeContainer"]}
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
// src/types/index.ts
|
|
2
|
+
var PayscoreWidgetEventType = /* @__PURE__ */ ((PayscoreWidgetEventType2) => {
|
|
3
|
+
PayscoreWidgetEventType2["IncomeVerificationLoaded"] = "payscore/incomeVerification/loaded";
|
|
4
|
+
PayscoreWidgetEventType2["IncomeVerificationStarted"] = "payscore/incomeVerification/started";
|
|
5
|
+
PayscoreWidgetEventType2["IncomeVerificationCompleted"] = "payscore/incomeVerification/completed";
|
|
6
|
+
PayscoreWidgetEventType2["WidgetClosed"] = "payscore/incomeVerification/widgetClosed";
|
|
7
|
+
return PayscoreWidgetEventType2;
|
|
8
|
+
})(PayscoreWidgetEventType || {});
|
|
9
|
+
|
|
10
|
+
// src/utils.ts
|
|
11
|
+
var PAYSCORE_STAGING_URL = "https://app.staging.payscore.com";
|
|
12
|
+
var PAYSCORE_PRODUCTION_URL = "https://app.payscore.com";
|
|
13
|
+
var AVAILABLE_ENVIRONMENTS = [
|
|
14
|
+
"production",
|
|
15
|
+
"staging"
|
|
16
|
+
];
|
|
17
|
+
|
|
18
|
+
// src/widgets.ts
|
|
19
|
+
var PAYSCORE_WIDGET_ID = "payscore-widget";
|
|
20
|
+
var PAYSCORE_WIDGET_CONTAINER_ID = "payscore-widget-container";
|
|
21
|
+
var PAYSCORE_LOADING_SPINNER_ID = "payscore-loading-spinner";
|
|
22
|
+
var IncomeVerificationWidget = class {
|
|
23
|
+
constructor(configuration) {
|
|
24
|
+
const { environment, screeningId, testUrl, widgetToken, onEvent } = configuration;
|
|
25
|
+
if (!environment || !AVAILABLE_ENVIRONMENTS.includes(environment)) {
|
|
26
|
+
throw new Error(
|
|
27
|
+
'Invalid environment configuration for the Payscore Widget, please use either "staging" or "production" as the environment configuration.'
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
if (!screeningId) {
|
|
31
|
+
throw new Error(
|
|
32
|
+
"screeningId is missing from the Payscore Widget configuration. Please provide a valid screening ID."
|
|
33
|
+
);
|
|
34
|
+
}
|
|
35
|
+
if (!widgetToken) {
|
|
36
|
+
throw new Error(
|
|
37
|
+
"widgetToken is missing from the Payscore Widget configuration. Please provide a valid widget token."
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
this.environment = environment;
|
|
41
|
+
this.screeningId = screeningId;
|
|
42
|
+
this.testUrl = testUrl;
|
|
43
|
+
this.widgetToken = widgetToken;
|
|
44
|
+
this.onEvent = onEvent;
|
|
45
|
+
this.isUnmounting = false;
|
|
46
|
+
this.windowMessageCallback = (event) => {
|
|
47
|
+
this.handlePayscoreMessage(event);
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
get baseUrl() {
|
|
51
|
+
if (!!this.testUrl) {
|
|
52
|
+
return this.testUrl;
|
|
53
|
+
}
|
|
54
|
+
switch (this.environment) {
|
|
55
|
+
case "staging":
|
|
56
|
+
return PAYSCORE_STAGING_URL;
|
|
57
|
+
case "production":
|
|
58
|
+
return PAYSCORE_PRODUCTION_URL;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
get widgetUrl() {
|
|
62
|
+
return `${this.baseUrl}/screenings/${this.screeningId}?token=${this.widgetToken}`;
|
|
63
|
+
}
|
|
64
|
+
load() {
|
|
65
|
+
const existingWidgetContainer = document.getElementById(
|
|
66
|
+
PAYSCORE_WIDGET_CONTAINER_ID
|
|
67
|
+
);
|
|
68
|
+
if (!!existingWidgetContainer || this.isUnmounting) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
this.mountIFrame();
|
|
72
|
+
}
|
|
73
|
+
unmount() {
|
|
74
|
+
if (this.isUnmounting) {
|
|
75
|
+
console.log("Widget is already unmounting");
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
this.unmountIFrame();
|
|
79
|
+
}
|
|
80
|
+
mountIFrame() {
|
|
81
|
+
this.setupListener();
|
|
82
|
+
const iframe = document.createElement("iframe");
|
|
83
|
+
iframe.setAttribute("id", PAYSCORE_WIDGET_ID);
|
|
84
|
+
iframe.setAttribute("title", "Payscore Widget");
|
|
85
|
+
iframe.setAttribute("src", this.widgetUrl);
|
|
86
|
+
iframe.addEventListener("load", () => {
|
|
87
|
+
iframe.classList.add("loaded");
|
|
88
|
+
const iframeContainer2 = iframe.parentElement;
|
|
89
|
+
if (!!iframeContainer2) {
|
|
90
|
+
const spinner = document.getElementById(
|
|
91
|
+
PAYSCORE_LOADING_SPINNER_ID
|
|
92
|
+
);
|
|
93
|
+
if (!!spinner) {
|
|
94
|
+
iframeContainer2.removeChild(spinner);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
const iframeContainer = document.createElement("div");
|
|
99
|
+
iframeContainer.setAttribute("id", PAYSCORE_WIDGET_CONTAINER_ID);
|
|
100
|
+
const iframeLoadingSpinner = document.createElement("div");
|
|
101
|
+
iframeLoadingSpinner.setAttribute("id", PAYSCORE_LOADING_SPINNER_ID);
|
|
102
|
+
iframeContainer.appendChild(iframeLoadingSpinner);
|
|
103
|
+
iframeContainer.appendChild(iframe);
|
|
104
|
+
document.body.appendChild(iframeContainer);
|
|
105
|
+
}
|
|
106
|
+
unmountIFrame() {
|
|
107
|
+
this.isUnmounting = true;
|
|
108
|
+
this.removeListener();
|
|
109
|
+
const iframeContainer = document.getElementById(
|
|
110
|
+
PAYSCORE_WIDGET_CONTAINER_ID
|
|
111
|
+
);
|
|
112
|
+
if (!!iframeContainer) {
|
|
113
|
+
document.body.removeChild(iframeContainer);
|
|
114
|
+
}
|
|
115
|
+
this.isUnmounting = false;
|
|
116
|
+
}
|
|
117
|
+
handlePayscoreMessage(event) {
|
|
118
|
+
var _a;
|
|
119
|
+
if (!event.data.payscore) {
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
(_a = this.onEvent) == null ? void 0 : _a.call(this, event.data, this);
|
|
123
|
+
if (event.data.type === "payscore/incomeVerification/widgetClosed" /* WidgetClosed */) {
|
|
124
|
+
this.unmount();
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
setupListener() {
|
|
128
|
+
window.addEventListener("message", this.windowMessageCallback);
|
|
129
|
+
}
|
|
130
|
+
removeListener() {
|
|
131
|
+
window.removeEventListener("message", this.windowMessageCallback);
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
// style-loader:src/index.ts
|
|
136
|
+
typeof document === "object" && document.head.appendChild(document.createElement("style")).appendChild(document.createTextNode(":root {\n --payscore-container-z-index: 999999;\n}\n\n#payscore-widget-container {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: var(--payscore-container-z-index);\n background-color: rgba(0, 0, 0, 0.5);\n animation: fade-in 0.5s forwards;\n}\n\n#payscore-widget {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 90%;\n height: 90%;\n border-radius: 10px;\n transform: translate(-50%, -50%) scale(0);\n\n @media only screen and (max-width: 1200px) {\n width: 99.5%;\n height: 99.5%;\n min-width: 99.5%;\n min-height: 99.5%;\n }\n}\n\n#payscore-widget.loaded {\n animation: zoom-in 0.5s forwards;\n}\n\n#payscore-loading-spinner {\n position: absolute;\n top: calc(40% - 104px);\n left: calc(50% - 104px);\n width: 200px;\n height: 200px;\n padding: 8px;\n aspect-ratio: 1;\n border-radius: 50%;\n mask: conic-gradient(#0000 10%, #000), linear-gradient(#000 0 0) content-box;\n -webkit-mask-composite: source-out;\n mask-composite: subtract;\n animation: loading-spin 1s infinite linear;\n\n background-color: #014ffa;\n}\n\n@keyframes fade-in {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n@keyframes zoom-in {\n from {\n transform: translate(-50%, -50%) scale(0);\n }\n to {\n transform: translate(-50%, -50%) scale(1);\n }\n}\n\n@keyframes loading-spin {\n to {\n transform: rotate(1turn);\n }\n}\n"));
|
|
137
|
+
export {
|
|
138
|
+
IncomeVerificationWidget,
|
|
139
|
+
PayscoreWidgetEventType
|
|
140
|
+
};
|
|
141
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/types/index.ts","../src/utils.ts","../src/widgets.ts","style-loader:src/index.ts"],"sourcesContent":["export interface PayscoreWidgetConfiguration {\n environment: PayscoreEnvironment;\n screeningId: string;\n testUrl?: string;\n widgetToken: string;\n onEvent?(event: PayscoreBaseEvent): void;\n}\n\nexport enum PayscoreWidgetEventType {\n IncomeVerificationLoaded = 'payscore/incomeVerification/loaded',\n IncomeVerificationStarted = 'payscore/incomeVerification/started',\n IncomeVerificationCompleted = 'payscore/incomeVerification/completed',\n WidgetClosed = 'payscore/incomeVerification/widgetClosed',\n}\n\nexport type PayscoreEnvironment = 'staging' | 'production';\n\nexport interface PayscoreBaseEvent<\n T extends PayscoreWidgetEventType = PayscoreWidgetEventType\n> {\n type: T;\n timestamp: number;\n payscore: true;\n}\n","import { PayscoreEnvironment } from './types';\nimport { Permutations } from './types/utils';\n\nexport const PAYSCORE_STAGING_URL = 'https://app.staging.payscore.com';\nexport const PAYSCORE_PRODUCTION_URL = 'https://app.payscore.com';\n\nexport const AVAILABLE_ENVIRONMENTS: Permutations<PayscoreEnvironment> = [\n 'production',\n 'staging',\n];\n","import {\n PayscoreBaseEvent,\n PayscoreEnvironment,\n PayscoreWidgetConfiguration,\n PayscoreWidgetEventType,\n} from './types';\nimport {\n AVAILABLE_ENVIRONMENTS,\n PAYSCORE_PRODUCTION_URL,\n PAYSCORE_STAGING_URL,\n} from './utils';\n\nconst PAYSCORE_WIDGET_ID = 'payscore-widget';\nconst PAYSCORE_WIDGET_CONTAINER_ID = 'payscore-widget-container';\nconst PAYSCORE_LOADING_SPINNER_ID = 'payscore-loading-spinner';\n\nexport class IncomeVerificationWidget {\n private environment: PayscoreEnvironment;\n private isUnmounting: boolean;\n private screeningId: string;\n private widgetToken: string;\n private testUrl?: string;\n private onEvent?: (\n event: PayscoreBaseEvent,\n widget: IncomeVerificationWidget\n ) => void;\n private windowMessageCallback: (event: MessageEvent) => void;\n\n constructor(configuration: PayscoreWidgetConfiguration) {\n const { environment, screeningId, testUrl, widgetToken, onEvent } =\n configuration;\n\n if (!environment || !AVAILABLE_ENVIRONMENTS.includes(environment)) {\n throw new Error(\n 'Invalid environment configuration for the Payscore Widget, please use either \"staging\" or \"production\" as the environment configuration.'\n );\n }\n\n if (!screeningId) {\n throw new Error(\n 'screeningId is missing from the Payscore Widget configuration. Please provide a valid screening ID.'\n );\n }\n\n if (!widgetToken) {\n throw new Error(\n 'widgetToken is missing from the Payscore Widget configuration. Please provide a valid widget token.'\n );\n }\n\n this.environment = environment;\n this.screeningId = screeningId;\n this.testUrl = testUrl;\n this.widgetToken = widgetToken;\n this.onEvent = onEvent;\n\n this.isUnmounting = false;\n\n this.windowMessageCallback = (event: MessageEvent) => {\n this.handlePayscoreMessage(event);\n };\n }\n\n private get baseUrl(): string {\n if (!!this.testUrl) {\n return this.testUrl;\n }\n\n switch (this.environment) {\n case 'staging':\n return PAYSCORE_STAGING_URL;\n case 'production':\n return PAYSCORE_PRODUCTION_URL;\n }\n }\n\n private get widgetUrl() {\n return `${this.baseUrl}/screenings/${this.screeningId}?token=${this.widgetToken}`;\n }\n\n load(): void {\n const existingWidgetContainer = document.getElementById(\n PAYSCORE_WIDGET_CONTAINER_ID\n );\n\n if (!!existingWidgetContainer || this.isUnmounting) {\n return;\n }\n\n this.mountIFrame();\n }\n\n unmount(): void {\n if (this.isUnmounting) {\n console.log('Widget is already unmounting');\n return;\n }\n\n this.unmountIFrame();\n }\n\n private mountIFrame(): void {\n this.setupListener();\n\n const iframe = document.createElement('iframe');\n\n iframe.setAttribute('id', PAYSCORE_WIDGET_ID);\n iframe.setAttribute('title', 'Payscore Widget');\n iframe.setAttribute('src', this.widgetUrl);\n\n iframe.addEventListener('load', () => {\n iframe.classList.add('loaded');\n const iframeContainer = iframe.parentElement;\n if (!!iframeContainer) {\n const spinner = document.getElementById(\n PAYSCORE_LOADING_SPINNER_ID\n );\n if (!!spinner) {\n iframeContainer.removeChild(spinner);\n }\n }\n });\n\n const iframeContainer = document.createElement('div');\n iframeContainer.setAttribute('id', PAYSCORE_WIDGET_CONTAINER_ID);\n\n const iframeLoadingSpinner = document.createElement('div');\n iframeLoadingSpinner.setAttribute('id', PAYSCORE_LOADING_SPINNER_ID);\n\n iframeContainer.appendChild(iframeLoadingSpinner);\n iframeContainer.appendChild(iframe);\n\n document.body.appendChild(iframeContainer);\n }\n\n private unmountIFrame(): void {\n this.isUnmounting = true;\n\n this.removeListener();\n\n const iframeContainer = document.getElementById(\n PAYSCORE_WIDGET_CONTAINER_ID\n );\n if (!!iframeContainer) {\n document.body.removeChild(iframeContainer);\n }\n\n this.isUnmounting = false;\n }\n\n private handlePayscoreMessage(\n event: MessageEvent<PayscoreBaseEvent>\n ): void {\n if (!event.data.payscore) {\n return;\n }\n\n this.onEvent?.(event.data, this);\n\n if (event.data.type === PayscoreWidgetEventType.WidgetClosed) {\n this.unmount();\n }\n }\n\n private setupListener(): void {\n window.addEventListener('message', this.windowMessageCallback);\n }\n\n private removeListener(): void {\n window.removeEventListener('message', this.windowMessageCallback);\n }\n}\n","typeof document === 'object' &&document.head.appendChild(document.createElement('style')).appendChild(document.createTextNode(\":root {\\n --payscore-container-z-index: 999999;\\n}\\n\\n#payscore-widget-container {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n z-index: var(--payscore-container-z-index);\\n background-color: rgba(0, 0, 0, 0.5);\\n animation: fade-in 0.5s forwards;\\n}\\n\\n#payscore-widget {\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n width: 90%;\\n height: 90%;\\n border-radius: 10px;\\n transform: translate(-50%, -50%) scale(0);\\n\\n @media only screen and (max-width: 1200px) {\\n width: 99.5%;\\n height: 99.5%;\\n min-width: 99.5%;\\n min-height: 99.5%;\\n }\\n}\\n\\n#payscore-widget.loaded {\\n animation: zoom-in 0.5s forwards;\\n}\\n\\n#payscore-loading-spinner {\\n position: absolute;\\n top: calc(40% - 104px);\\n left: calc(50% - 104px);\\n width: 200px;\\n height: 200px;\\n padding: 8px;\\n aspect-ratio: 1;\\n border-radius: 50%;\\n mask: conic-gradient(#0000 10%, #000), linear-gradient(#000 0 0) content-box;\\n -webkit-mask-composite: source-out;\\n mask-composite: subtract;\\n animation: loading-spin 1s infinite linear;\\n\\n background-color: #014ffa;\\n}\\n\\n@keyframes fade-in {\\n from {\\n opacity: 0;\\n }\\n to {\\n opacity: 1;\\n }\\n}\\n\\n@keyframes zoom-in {\\n from {\\n transform: translate(-50%, -50%) scale(0);\\n }\\n to {\\n transform: translate(-50%, -50%) scale(1);\\n }\\n}\\n\\n@keyframes loading-spin {\\n to {\\n transform: rotate(1turn);\\n }\\n}\\n\"))\nexport * from './types/index';\nexport { IncomeVerificationWidget } from './widgets';\n"],"mappings":"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","names":["PayscoreWidgetEventType","iframeContainer"]}
|
package/package.json
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@payscore/web-widget-sdk",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Payscore Web Widget SDK",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"module": "./dist/index.mjs",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": {
|
|
11
|
+
"default": "./dist/index.mjs"
|
|
12
|
+
},
|
|
13
|
+
"require": {
|
|
14
|
+
"default": "./dist/index.js"
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"files": [
|
|
19
|
+
"dist"
|
|
20
|
+
],
|
|
21
|
+
"scripts": {
|
|
22
|
+
"build": "tsup",
|
|
23
|
+
"test": "jest --verbose --coverage",
|
|
24
|
+
"release": "release-it"
|
|
25
|
+
},
|
|
26
|
+
"repository": "https://github.com/Payscore/web-widget-sdk",
|
|
27
|
+
"author": "Payscore",
|
|
28
|
+
"license": "MIT",
|
|
29
|
+
"devDependencies": {
|
|
30
|
+
"@jest/globals": "^29.7.0",
|
|
31
|
+
"@types/jest": "^29.5.12",
|
|
32
|
+
"jest": "^29.7.0",
|
|
33
|
+
"jest-environment-jsdom": "^29.7.0",
|
|
34
|
+
"release-it": "^17.6.0",
|
|
35
|
+
"ts-jest": "^29.1.5",
|
|
36
|
+
"tsup": "^8.1.0",
|
|
37
|
+
"typescript": "^5.5.2"
|
|
38
|
+
},
|
|
39
|
+
"publishConfig": {
|
|
40
|
+
"registry": "https://registry.npmjs.org",
|
|
41
|
+
"access": "public"
|
|
42
|
+
}
|
|
43
|
+
}
|