@payscore/web-widget-sdk 0.1.1 → 1.0.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 +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +9 -15
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +9 -15
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
interface PayscoreWidgetConfiguration {
|
|
2
2
|
environment: PayscoreEnvironment;
|
|
3
|
-
|
|
3
|
+
applicantId: string;
|
|
4
4
|
testUrl?: string;
|
|
5
5
|
widgetToken: string;
|
|
6
6
|
onEvent?(event: PayscoreBaseEvent): void;
|
|
@@ -21,7 +21,7 @@ interface PayscoreBaseEvent<T extends PayscoreWidgetEventType = PayscoreWidgetEv
|
|
|
21
21
|
declare class IncomeVerificationWidget {
|
|
22
22
|
private environment;
|
|
23
23
|
private isUnmounting;
|
|
24
|
-
private
|
|
24
|
+
private applicantId;
|
|
25
25
|
private widgetToken;
|
|
26
26
|
private testUrl?;
|
|
27
27
|
private onEvent?;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
interface PayscoreWidgetConfiguration {
|
|
2
2
|
environment: PayscoreEnvironment;
|
|
3
|
-
|
|
3
|
+
applicantId: string;
|
|
4
4
|
testUrl?: string;
|
|
5
5
|
widgetToken: string;
|
|
6
6
|
onEvent?(event: PayscoreBaseEvent): void;
|
|
@@ -21,7 +21,7 @@ interface PayscoreBaseEvent<T extends PayscoreWidgetEventType = PayscoreWidgetEv
|
|
|
21
21
|
declare class IncomeVerificationWidget {
|
|
22
22
|
private environment;
|
|
23
23
|
private isUnmounting;
|
|
24
|
-
private
|
|
24
|
+
private applicantId;
|
|
25
25
|
private widgetToken;
|
|
26
26
|
private testUrl?;
|
|
27
27
|
private onEvent?;
|
package/dist/index.js
CHANGED
|
@@ -48,15 +48,15 @@ var PAYSCORE_WIDGET_CONTAINER_ID = "payscore-widget-container";
|
|
|
48
48
|
var PAYSCORE_LOADING_SPINNER_ID = "payscore-loading-spinner";
|
|
49
49
|
var IncomeVerificationWidget = class {
|
|
50
50
|
constructor(configuration) {
|
|
51
|
-
const { environment,
|
|
51
|
+
const { environment, applicantId, testUrl, widgetToken, onEvent } = configuration;
|
|
52
52
|
if (!environment || !AVAILABLE_ENVIRONMENTS.includes(environment)) {
|
|
53
53
|
throw new Error(
|
|
54
54
|
'Invalid environment configuration for the Payscore Widget, please use either "staging" or "production" as the environment configuration.'
|
|
55
55
|
);
|
|
56
56
|
}
|
|
57
|
-
if (!
|
|
57
|
+
if (!applicantId) {
|
|
58
58
|
throw new Error(
|
|
59
|
-
"
|
|
59
|
+
"applicantId is missing from the Payscore Widget configuration. Please provide a valid applicant ID."
|
|
60
60
|
);
|
|
61
61
|
}
|
|
62
62
|
if (!widgetToken) {
|
|
@@ -65,7 +65,7 @@ var IncomeVerificationWidget = class {
|
|
|
65
65
|
);
|
|
66
66
|
}
|
|
67
67
|
this.environment = environment;
|
|
68
|
-
this.
|
|
68
|
+
this.applicantId = applicantId;
|
|
69
69
|
this.testUrl = testUrl;
|
|
70
70
|
this.widgetToken = widgetToken;
|
|
71
71
|
this.onEvent = onEvent;
|
|
@@ -86,12 +86,10 @@ var IncomeVerificationWidget = class {
|
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
get widgetUrl() {
|
|
89
|
-
return `${this.baseUrl}/
|
|
89
|
+
return `${this.baseUrl}/applicants/${this.applicantId}?token=${this.widgetToken}`;
|
|
90
90
|
}
|
|
91
91
|
load() {
|
|
92
|
-
const existingWidgetContainer = document.getElementById(
|
|
93
|
-
PAYSCORE_WIDGET_CONTAINER_ID
|
|
94
|
-
);
|
|
92
|
+
const existingWidgetContainer = document.getElementById(PAYSCORE_WIDGET_CONTAINER_ID);
|
|
95
93
|
if (!!existingWidgetContainer || this.isUnmounting) {
|
|
96
94
|
return;
|
|
97
95
|
}
|
|
@@ -114,9 +112,7 @@ var IncomeVerificationWidget = class {
|
|
|
114
112
|
iframe.classList.add("loaded");
|
|
115
113
|
const iframeContainer2 = iframe.parentElement;
|
|
116
114
|
if (!!iframeContainer2) {
|
|
117
|
-
const spinner = document.getElementById(
|
|
118
|
-
PAYSCORE_LOADING_SPINNER_ID
|
|
119
|
-
);
|
|
115
|
+
const spinner = document.getElementById(PAYSCORE_LOADING_SPINNER_ID);
|
|
120
116
|
if (!!spinner) {
|
|
121
117
|
iframeContainer2.removeChild(spinner);
|
|
122
118
|
}
|
|
@@ -133,9 +129,7 @@ var IncomeVerificationWidget = class {
|
|
|
133
129
|
unmountIFrame() {
|
|
134
130
|
this.isUnmounting = true;
|
|
135
131
|
this.removeListener();
|
|
136
|
-
const iframeContainer = document.getElementById(
|
|
137
|
-
PAYSCORE_WIDGET_CONTAINER_ID
|
|
138
|
-
);
|
|
132
|
+
const iframeContainer = document.getElementById(PAYSCORE_WIDGET_CONTAINER_ID);
|
|
139
133
|
if (!!iframeContainer) {
|
|
140
134
|
document.body.removeChild(iframeContainer);
|
|
141
135
|
}
|
|
@@ -160,7 +154,7 @@ var IncomeVerificationWidget = class {
|
|
|
160
154
|
};
|
|
161
155
|
|
|
162
156
|
// 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"));
|
|
157
|
+
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 background-color: #fff;\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
158
|
// Annotate the CommonJS export names for ESM import in node:
|
|
165
159
|
0 && (module.exports = {
|
|
166
160
|
IncomeVerificationWidget,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +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: string;\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"]}
|
|
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 background-color: #fff;\\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 applicantId: 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<T extends PayscoreWidgetEventType = PayscoreWidgetEventType> {\n type: T;\n timestamp: string;\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 { PayscoreBaseEvent, PayscoreEnvironment, PayscoreWidgetConfiguration, PayscoreWidgetEventType } from './types';\nimport { AVAILABLE_ENVIRONMENTS, PAYSCORE_PRODUCTION_URL, PAYSCORE_STAGING_URL } 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 applicantId: string;\n private widgetToken: string;\n private testUrl?: string;\n private onEvent?: (event: PayscoreBaseEvent, widget: IncomeVerificationWidget) => void;\n private windowMessageCallback: (event: MessageEvent) => void;\n\n constructor(configuration: PayscoreWidgetConfiguration) {\n const { environment, applicantId, testUrl, widgetToken, onEvent } = 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 (!applicantId) {\n throw new Error(\n 'applicantId is missing from the Payscore Widget configuration. Please provide a valid applicant 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.applicantId = applicantId;\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}/applicants/${this.applicantId}?token=${this.widgetToken}`;\n }\n\n load(): void {\n const existingWidgetContainer = document.getElementById(PAYSCORE_WIDGET_CONTAINER_ID);\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(PAYSCORE_LOADING_SPINNER_ID);\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(PAYSCORE_WIDGET_CONTAINER_ID);\n if (!!iframeContainer) {\n document.body.removeChild(iframeContainer);\n }\n\n this.isUnmounting = false;\n }\n\n private handlePayscoreMessage(event: MessageEvent<PayscoreBaseEvent>): 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":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACQO,IAAK,0BAAL,kBAAKA,6BAAL;AACH,EAAAA,yBAAA,8BAA2B;AAC3B,EAAAA,yBAAA,+BAA4B;AAC5B,EAAAA,yBAAA,iCAA8B;AAC9B,EAAAA,yBAAA,kBAAe;AAJP,SAAAA;AAAA,GAAA;;;ACLL,IAAM,uBAAuB;AAC7B,IAAM,0BAA0B;AAEhC,IAAM,yBAA4D;AAAA,EACrE;AAAA,EACA;AACJ;;;ACNA,IAAM,qBAAqB;AAC3B,IAAM,+BAA+B;AACrC,IAAM,8BAA8B;AAE7B,IAAM,2BAAN,MAA+B;AAAA,EASlC,YAAY,eAA4C;AACpD,UAAM,EAAE,aAAa,aAAa,SAAS,aAAa,QAAQ,IAAI;AAEpE,QAAI,CAAC,eAAe,CAAC,uBAAuB,SAAS,WAAW,GAAG;AAC/D,YAAM,IAAI;AAAA,QACN;AAAA,MACJ;AAAA,IACJ;AAEA,QAAI,CAAC,aAAa;AACd,YAAM,IAAI;AAAA,QACN;AAAA,MACJ;AAAA,IACJ;AAEA,QAAI,CAAC,aAAa;AACd,YAAM,IAAI;AAAA,QACN;AAAA,MACJ;AAAA,IACJ;AAEA,SAAK,cAAc;AACnB,SAAK,cAAc;AACnB,SAAK,UAAU;AACf,SAAK,cAAc;AACnB,SAAK,UAAU;AAEf,SAAK,eAAe;AAEpB,SAAK,wBAAwB,CAAC,UAAwB;AAClD,WAAK,sBAAsB,KAAK;AAAA,IACpC;AAAA,EACJ;AAAA,EAEA,IAAY,UAAkB;AAC1B,QAAI,CAAC,CAAC,KAAK,SAAS;AAChB,aAAO,KAAK;AAAA,IAChB;AAEA,YAAQ,KAAK,aAAa;AAAA,MACtB,KAAK;AACD,eAAO;AAAA,MACX,KAAK;AACD,eAAO;AAAA,IACf;AAAA,EACJ;AAAA,EAEA,IAAY,YAAY;AACpB,WAAO,GAAG,KAAK,OAAO,eAAe,KAAK,WAAW,UAAU,KAAK,WAAW;AAAA,EACnF;AAAA,EAEA,OAAa;AACT,UAAM,0BAA0B,SAAS,eAAe,4BAA4B;AAEpF,QAAI,CAAC,CAAC,2BAA2B,KAAK,cAAc;AAChD;AAAA,IACJ;AAEA,SAAK,YAAY;AAAA,EACrB;AAAA,EAEA,UAAgB;AACZ,QAAI,KAAK,cAAc;AACnB,cAAQ,IAAI,8BAA8B;AAC1C;AAAA,IACJ;AAEA,SAAK,cAAc;AAAA,EACvB;AAAA,EAEQ,cAAoB;AACxB,SAAK,cAAc;AAEnB,UAAM,SAAS,SAAS,cAAc,QAAQ;AAE9C,WAAO,aAAa,MAAM,kBAAkB;AAC5C,WAAO,aAAa,SAAS,iBAAiB;AAC9C,WAAO,aAAa,OAAO,KAAK,SAAS;AAEzC,WAAO,iBAAiB,QAAQ,MAAM;AAClC,aAAO,UAAU,IAAI,QAAQ;AAC7B,YAAMC,mBAAkB,OAAO;AAC/B,UAAI,CAAC,CAACA,kBAAiB;AACnB,cAAM,UAAU,SAAS,eAAe,2BAA2B;AACnE,YAAI,CAAC,CAAC,SAAS;AACX,UAAAA,iBAAgB,YAAY,OAAO;AAAA,QACvC;AAAA,MACJ;AAAA,IACJ,CAAC;AAED,UAAM,kBAAkB,SAAS,cAAc,KAAK;AACpD,oBAAgB,aAAa,MAAM,4BAA4B;AAE/D,UAAM,uBAAuB,SAAS,cAAc,KAAK;AACzD,yBAAqB,aAAa,MAAM,2BAA2B;AAEnE,oBAAgB,YAAY,oBAAoB;AAChD,oBAAgB,YAAY,MAAM;AAElC,aAAS,KAAK,YAAY,eAAe;AAAA,EAC7C;AAAA,EAEQ,gBAAsB;AAC1B,SAAK,eAAe;AAEpB,SAAK,eAAe;AAEpB,UAAM,kBAAkB,SAAS,eAAe,4BAA4B;AAC5E,QAAI,CAAC,CAAC,iBAAiB;AACnB,eAAS,KAAK,YAAY,eAAe;AAAA,IAC7C;AAEA,SAAK,eAAe;AAAA,EACxB;AAAA,EAEQ,sBAAsB,OAA8C;AAnIhF;AAoIQ,QAAI,CAAC,MAAM,KAAK,UAAU;AACtB;AAAA,IACJ;AAEA,eAAK,YAAL,8BAAe,MAAM,MAAM;AAE3B,QAAI,MAAM,KAAK,wEAA+C;AAC1D,WAAK,QAAQ;AAAA,IACjB;AAAA,EACJ;AAAA,EAEQ,gBAAsB;AAC1B,WAAO,iBAAiB,WAAW,KAAK,qBAAqB;AAAA,EACjE;AAAA,EAEQ,iBAAuB;AAC3B,WAAO,oBAAoB,WAAW,KAAK,qBAAqB;AAAA,EACpE;AACJ;;;AHtJA,OAAO,aAAa,YAAW,SAAS,KAAK,YAAY,SAAS,cAAc,OAAO,CAAC,EAAE,YAAY,SAAS,eAAe,yiDAAyiD,CAAC;","names":["PayscoreWidgetEventType","iframeContainer"]}
|
package/dist/index.mjs
CHANGED
|
@@ -21,15 +21,15 @@ var PAYSCORE_WIDGET_CONTAINER_ID = "payscore-widget-container";
|
|
|
21
21
|
var PAYSCORE_LOADING_SPINNER_ID = "payscore-loading-spinner";
|
|
22
22
|
var IncomeVerificationWidget = class {
|
|
23
23
|
constructor(configuration) {
|
|
24
|
-
const { environment,
|
|
24
|
+
const { environment, applicantId, testUrl, widgetToken, onEvent } = configuration;
|
|
25
25
|
if (!environment || !AVAILABLE_ENVIRONMENTS.includes(environment)) {
|
|
26
26
|
throw new Error(
|
|
27
27
|
'Invalid environment configuration for the Payscore Widget, please use either "staging" or "production" as the environment configuration.'
|
|
28
28
|
);
|
|
29
29
|
}
|
|
30
|
-
if (!
|
|
30
|
+
if (!applicantId) {
|
|
31
31
|
throw new Error(
|
|
32
|
-
"
|
|
32
|
+
"applicantId is missing from the Payscore Widget configuration. Please provide a valid applicant ID."
|
|
33
33
|
);
|
|
34
34
|
}
|
|
35
35
|
if (!widgetToken) {
|
|
@@ -38,7 +38,7 @@ var IncomeVerificationWidget = class {
|
|
|
38
38
|
);
|
|
39
39
|
}
|
|
40
40
|
this.environment = environment;
|
|
41
|
-
this.
|
|
41
|
+
this.applicantId = applicantId;
|
|
42
42
|
this.testUrl = testUrl;
|
|
43
43
|
this.widgetToken = widgetToken;
|
|
44
44
|
this.onEvent = onEvent;
|
|
@@ -59,12 +59,10 @@ var IncomeVerificationWidget = class {
|
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
get widgetUrl() {
|
|
62
|
-
return `${this.baseUrl}/
|
|
62
|
+
return `${this.baseUrl}/applicants/${this.applicantId}?token=${this.widgetToken}`;
|
|
63
63
|
}
|
|
64
64
|
load() {
|
|
65
|
-
const existingWidgetContainer = document.getElementById(
|
|
66
|
-
PAYSCORE_WIDGET_CONTAINER_ID
|
|
67
|
-
);
|
|
65
|
+
const existingWidgetContainer = document.getElementById(PAYSCORE_WIDGET_CONTAINER_ID);
|
|
68
66
|
if (!!existingWidgetContainer || this.isUnmounting) {
|
|
69
67
|
return;
|
|
70
68
|
}
|
|
@@ -87,9 +85,7 @@ var IncomeVerificationWidget = class {
|
|
|
87
85
|
iframe.classList.add("loaded");
|
|
88
86
|
const iframeContainer2 = iframe.parentElement;
|
|
89
87
|
if (!!iframeContainer2) {
|
|
90
|
-
const spinner = document.getElementById(
|
|
91
|
-
PAYSCORE_LOADING_SPINNER_ID
|
|
92
|
-
);
|
|
88
|
+
const spinner = document.getElementById(PAYSCORE_LOADING_SPINNER_ID);
|
|
93
89
|
if (!!spinner) {
|
|
94
90
|
iframeContainer2.removeChild(spinner);
|
|
95
91
|
}
|
|
@@ -106,9 +102,7 @@ var IncomeVerificationWidget = class {
|
|
|
106
102
|
unmountIFrame() {
|
|
107
103
|
this.isUnmounting = true;
|
|
108
104
|
this.removeListener();
|
|
109
|
-
const iframeContainer = document.getElementById(
|
|
110
|
-
PAYSCORE_WIDGET_CONTAINER_ID
|
|
111
|
-
);
|
|
105
|
+
const iframeContainer = document.getElementById(PAYSCORE_WIDGET_CONTAINER_ID);
|
|
112
106
|
if (!!iframeContainer) {
|
|
113
107
|
document.body.removeChild(iframeContainer);
|
|
114
108
|
}
|
|
@@ -133,7 +127,7 @@ var IncomeVerificationWidget = class {
|
|
|
133
127
|
};
|
|
134
128
|
|
|
135
129
|
// 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"));
|
|
130
|
+
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 background-color: #fff;\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
131
|
export {
|
|
138
132
|
IncomeVerificationWidget,
|
|
139
133
|
PayscoreWidgetEventType
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +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: string;\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"]}
|
|
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 applicantId: 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<T extends PayscoreWidgetEventType = PayscoreWidgetEventType> {\n type: T;\n timestamp: string;\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 { PayscoreBaseEvent, PayscoreEnvironment, PayscoreWidgetConfiguration, PayscoreWidgetEventType } from './types';\nimport { AVAILABLE_ENVIRONMENTS, PAYSCORE_PRODUCTION_URL, PAYSCORE_STAGING_URL } 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 applicantId: string;\n private widgetToken: string;\n private testUrl?: string;\n private onEvent?: (event: PayscoreBaseEvent, widget: IncomeVerificationWidget) => void;\n private windowMessageCallback: (event: MessageEvent) => void;\n\n constructor(configuration: PayscoreWidgetConfiguration) {\n const { environment, applicantId, testUrl, widgetToken, onEvent } = 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 (!applicantId) {\n throw new Error(\n 'applicantId is missing from the Payscore Widget configuration. Please provide a valid applicant 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.applicantId = applicantId;\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}/applicants/${this.applicantId}?token=${this.widgetToken}`;\n }\n\n load(): void {\n const existingWidgetContainer = document.getElementById(PAYSCORE_WIDGET_CONTAINER_ID);\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(PAYSCORE_LOADING_SPINNER_ID);\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(PAYSCORE_WIDGET_CONTAINER_ID);\n if (!!iframeContainer) {\n document.body.removeChild(iframeContainer);\n }\n\n this.isUnmounting = false;\n }\n\n private handlePayscoreMessage(event: MessageEvent<PayscoreBaseEvent>): 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 background-color: #fff;\\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"]}
|