@payscore/web-widget-sdk 0.1.1 → 1.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 CHANGED
@@ -1,8 +1,9 @@
1
1
  interface PayscoreWidgetConfiguration {
2
2
  environment: PayscoreEnvironment;
3
- screeningId: string;
3
+ applicantId: string;
4
4
  testUrl?: string;
5
5
  widgetToken: string;
6
+ options?: PayscoreWidgetOptions;
6
7
  onEvent?(event: PayscoreBaseEvent): void;
7
8
  }
8
9
  declare enum PayscoreWidgetEventType {
@@ -17,13 +18,17 @@ interface PayscoreBaseEvent<T extends PayscoreWidgetEventType = PayscoreWidgetEv
17
18
  timestamp: string;
18
19
  payscore: true;
19
20
  }
21
+ interface PayscoreWidgetOptions {
22
+ hideCloseButton?: boolean;
23
+ }
20
24
 
21
25
  declare class IncomeVerificationWidget {
22
26
  private environment;
23
27
  private isUnmounting;
24
- private screeningId;
28
+ private applicantId;
25
29
  private widgetToken;
26
30
  private testUrl?;
31
+ private options?;
27
32
  private onEvent?;
28
33
  private windowMessageCallback;
29
34
  constructor(configuration: PayscoreWidgetConfiguration);
@@ -38,4 +43,4 @@ declare class IncomeVerificationWidget {
38
43
  private removeListener;
39
44
  }
40
45
 
41
- export { IncomeVerificationWidget, type PayscoreBaseEvent, type PayscoreEnvironment, type PayscoreWidgetConfiguration, PayscoreWidgetEventType };
46
+ export { IncomeVerificationWidget, type PayscoreBaseEvent, type PayscoreEnvironment, type PayscoreWidgetConfiguration, PayscoreWidgetEventType, type PayscoreWidgetOptions };
package/dist/index.d.ts CHANGED
@@ -1,8 +1,9 @@
1
1
  interface PayscoreWidgetConfiguration {
2
2
  environment: PayscoreEnvironment;
3
- screeningId: string;
3
+ applicantId: string;
4
4
  testUrl?: string;
5
5
  widgetToken: string;
6
+ options?: PayscoreWidgetOptions;
6
7
  onEvent?(event: PayscoreBaseEvent): void;
7
8
  }
8
9
  declare enum PayscoreWidgetEventType {
@@ -17,13 +18,17 @@ interface PayscoreBaseEvent<T extends PayscoreWidgetEventType = PayscoreWidgetEv
17
18
  timestamp: string;
18
19
  payscore: true;
19
20
  }
21
+ interface PayscoreWidgetOptions {
22
+ hideCloseButton?: boolean;
23
+ }
20
24
 
21
25
  declare class IncomeVerificationWidget {
22
26
  private environment;
23
27
  private isUnmounting;
24
- private screeningId;
28
+ private applicantId;
25
29
  private widgetToken;
26
30
  private testUrl?;
31
+ private options?;
27
32
  private onEvent?;
28
33
  private windowMessageCallback;
29
34
  constructor(configuration: PayscoreWidgetConfiguration);
@@ -38,4 +43,4 @@ declare class IncomeVerificationWidget {
38
43
  private removeListener;
39
44
  }
40
45
 
41
- export { IncomeVerificationWidget, type PayscoreBaseEvent, type PayscoreEnvironment, type PayscoreWidgetConfiguration, PayscoreWidgetEventType };
46
+ export { IncomeVerificationWidget, type PayscoreBaseEvent, type PayscoreEnvironment, type PayscoreWidgetConfiguration, PayscoreWidgetEventType, type PayscoreWidgetOptions };
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, screeningId, testUrl, widgetToken, onEvent } = configuration;
51
+ const { environment, applicantId, testUrl, widgetToken, options, 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 (!screeningId) {
57
+ if (!applicantId) {
58
58
  throw new Error(
59
- "screeningId is missing from the Payscore Widget configuration. Please provide a valid screening ID."
59
+ "applicantId is missing from the Payscore Widget configuration. Please provide a valid applicant ID."
60
60
  );
61
61
  }
62
62
  if (!widgetToken) {
@@ -65,9 +65,10 @@ var IncomeVerificationWidget = class {
65
65
  );
66
66
  }
67
67
  this.environment = environment;
68
- this.screeningId = screeningId;
68
+ this.applicantId = applicantId;
69
69
  this.testUrl = testUrl;
70
70
  this.widgetToken = widgetToken;
71
+ this.options = options;
71
72
  this.onEvent = onEvent;
72
73
  this.isUnmounting = false;
73
74
  this.windowMessageCallback = (event) => {
@@ -86,12 +87,11 @@ var IncomeVerificationWidget = class {
86
87
  }
87
88
  }
88
89
  get widgetUrl() {
89
- return `${this.baseUrl}/screenings/${this.screeningId}?token=${this.widgetToken}`;
90
+ const options = this.options ? encodeURIComponent(JSON.stringify(this.options)) : "";
91
+ return `${this.baseUrl}/applicants/${this.applicantId}?token=${this.widgetToken}${options ? `&options=${options}` : ""}`;
90
92
  }
91
93
  load() {
92
- const existingWidgetContainer = document.getElementById(
93
- PAYSCORE_WIDGET_CONTAINER_ID
94
- );
94
+ const existingWidgetContainer = document.getElementById(PAYSCORE_WIDGET_CONTAINER_ID);
95
95
  if (!!existingWidgetContainer || this.isUnmounting) {
96
96
  return;
97
97
  }
@@ -114,9 +114,7 @@ var IncomeVerificationWidget = class {
114
114
  iframe.classList.add("loaded");
115
115
  const iframeContainer2 = iframe.parentElement;
116
116
  if (!!iframeContainer2) {
117
- const spinner = document.getElementById(
118
- PAYSCORE_LOADING_SPINNER_ID
119
- );
117
+ const spinner = document.getElementById(PAYSCORE_LOADING_SPINNER_ID);
120
118
  if (!!spinner) {
121
119
  iframeContainer2.removeChild(spinner);
122
120
  }
@@ -133,9 +131,7 @@ var IncomeVerificationWidget = class {
133
131
  unmountIFrame() {
134
132
  this.isUnmounting = true;
135
133
  this.removeListener();
136
- const iframeContainer = document.getElementById(
137
- PAYSCORE_WIDGET_CONTAINER_ID
138
- );
134
+ const iframeContainer = document.getElementById(PAYSCORE_WIDGET_CONTAINER_ID);
139
135
  if (!!iframeContainer) {
140
136
  document.body.removeChild(iframeContainer);
141
137
  }
@@ -160,7 +156,7 @@ var IncomeVerificationWidget = class {
160
156
  };
161
157
 
162
158
  // 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"));
159
+ 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
160
  // Annotate the CommonJS export names for ESM import in node:
165
161
  0 && (module.exports = {
166
162
  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 options?: PayscoreWidgetOptions;\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\nexport interface PayscoreWidgetOptions {\n hideCloseButton?: boolean;\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 PayscoreWidgetOptions,\n} 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 options?: PayscoreWidgetOptions;\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, options, 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.options = options;\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 const options = this.options ? encodeURIComponent(JSON.stringify(this.options)) : '';\n return `${this.baseUrl}/applicants/${this.applicantId}?token=${this.widgetToken}${\n options ? `&options=${options}` : ''\n }`;\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":"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","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, screeningId, testUrl, widgetToken, onEvent } = configuration;
24
+ const { environment, applicantId, testUrl, widgetToken, options, 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 (!screeningId) {
30
+ if (!applicantId) {
31
31
  throw new Error(
32
- "screeningId is missing from the Payscore Widget configuration. Please provide a valid screening ID."
32
+ "applicantId is missing from the Payscore Widget configuration. Please provide a valid applicant ID."
33
33
  );
34
34
  }
35
35
  if (!widgetToken) {
@@ -38,9 +38,10 @@ var IncomeVerificationWidget = class {
38
38
  );
39
39
  }
40
40
  this.environment = environment;
41
- this.screeningId = screeningId;
41
+ this.applicantId = applicantId;
42
42
  this.testUrl = testUrl;
43
43
  this.widgetToken = widgetToken;
44
+ this.options = options;
44
45
  this.onEvent = onEvent;
45
46
  this.isUnmounting = false;
46
47
  this.windowMessageCallback = (event) => {
@@ -59,12 +60,11 @@ var IncomeVerificationWidget = class {
59
60
  }
60
61
  }
61
62
  get widgetUrl() {
62
- return `${this.baseUrl}/screenings/${this.screeningId}?token=${this.widgetToken}`;
63
+ const options = this.options ? encodeURIComponent(JSON.stringify(this.options)) : "";
64
+ return `${this.baseUrl}/applicants/${this.applicantId}?token=${this.widgetToken}${options ? `&options=${options}` : ""}`;
63
65
  }
64
66
  load() {
65
- const existingWidgetContainer = document.getElementById(
66
- PAYSCORE_WIDGET_CONTAINER_ID
67
- );
67
+ const existingWidgetContainer = document.getElementById(PAYSCORE_WIDGET_CONTAINER_ID);
68
68
  if (!!existingWidgetContainer || this.isUnmounting) {
69
69
  return;
70
70
  }
@@ -87,9 +87,7 @@ var IncomeVerificationWidget = class {
87
87
  iframe.classList.add("loaded");
88
88
  const iframeContainer2 = iframe.parentElement;
89
89
  if (!!iframeContainer2) {
90
- const spinner = document.getElementById(
91
- PAYSCORE_LOADING_SPINNER_ID
92
- );
90
+ const spinner = document.getElementById(PAYSCORE_LOADING_SPINNER_ID);
93
91
  if (!!spinner) {
94
92
  iframeContainer2.removeChild(spinner);
95
93
  }
@@ -106,9 +104,7 @@ var IncomeVerificationWidget = class {
106
104
  unmountIFrame() {
107
105
  this.isUnmounting = true;
108
106
  this.removeListener();
109
- const iframeContainer = document.getElementById(
110
- PAYSCORE_WIDGET_CONTAINER_ID
111
- );
107
+ const iframeContainer = document.getElementById(PAYSCORE_WIDGET_CONTAINER_ID);
112
108
  if (!!iframeContainer) {
113
109
  document.body.removeChild(iframeContainer);
114
110
  }
@@ -133,7 +129,7 @@ var IncomeVerificationWidget = class {
133
129
  };
134
130
 
135
131
  // 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"));
132
+ 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
133
  export {
138
134
  IncomeVerificationWidget,
139
135
  PayscoreWidgetEventType
@@ -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 options?: PayscoreWidgetOptions;\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\nexport interface PayscoreWidgetOptions {\n hideCloseButton?: boolean;\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 PayscoreWidgetOptions,\n} 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 options?: PayscoreWidgetOptions;\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, options, 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.options = options;\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 const options = this.options ? encodeURIComponent(JSON.stringify(this.options)) : '';\n return `${this.baseUrl}/applicants/${this.applicantId}?token=${this.widgetToken}${\n options ? `&options=${options}` : ''\n }`;\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"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payscore/web-widget-sdk",
3
- "version": "0.1.1",
3
+ "version": "1.1.0",
4
4
  "description": "Payscore Web Widget SDK",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -20,6 +20,7 @@
20
20
  ],
21
21
  "scripts": {
22
22
  "build": "tsup",
23
+ "build:watch": "tsup --watch",
23
24
  "test": "jest --verbose --coverage",
24
25
  "release": "release-it"
25
26
  },