@tryfinch/react-connect 3.5.0 → 3.6.1
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.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es.js +11 -5
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +11 -5
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +22 -3
package/dist/index.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ export type ConnectOptions = {
|
|
|
18
18
|
products: string[];
|
|
19
19
|
sandbox: Sandbox;
|
|
20
20
|
zIndex: number;
|
|
21
|
+
finchDevMode?: boolean;
|
|
21
22
|
};
|
|
22
23
|
type OpenFn = (overrides?: Partial<Pick<ConnectOptions, 'products' | 'state' | 'payrollProvider'>>) => void;
|
|
23
24
|
export declare const useFinchConnect: (options: Partial<ConnectOptions>) => {
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,OAAO,GACf,OAAO,CAAC,0DAA0D,GAClE,UAAU,CAAC,iDAAiD,GAC5D,OAAO,CAAC,wEAAwE,CAAC;AAErF,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,OAAO,GACf,OAAO,CAAC,0DAA0D,GAClE,UAAU,CAAC,iDAAiD,GAC5D,OAAO,CAAC,wEAAwE,CAAC;AAErF,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,KAAK,MAAM,GAAG,CACZ,SAAS,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,OAAO,GAAG,iBAAiB,CAAC,CAAC,KAChF,IAAI,CAAC;AAyFV,eAAO,MAAM,eAAe,YAAa,QAAQ,cAAc,CAAC;UAAW,MAAM;CAsGhF,CAAC"}
|
package/dist/index.es.js
CHANGED
|
@@ -2,10 +2,13 @@ import { useRef, useEffect } from 'react';
|
|
|
2
2
|
|
|
3
3
|
const BASE_FINCH_CONNECT_URI = 'https://connect.tryfinch.com';
|
|
4
4
|
const DEFAULT_FINCH_REDIRECT_URI = 'https://tryfinch.com';
|
|
5
|
+
const DEV_FINCH_CONNECT_URI = 'http://localhost:3000';
|
|
6
|
+
const DEV_DEFAULT_FINCH_REDIRECT_URI = 'http://localhost:4001';
|
|
5
7
|
const FINCH_CONNECT_IFRAME_ID = 'finch-connect-iframe';
|
|
6
8
|
const FINCH_AUTH_MESSAGE_NAME = 'finch-auth-message';
|
|
7
|
-
const constructAuthUrl = ({ clientId, payrollProvider, category, products, manual, sandbox, state, }) => {
|
|
8
|
-
const
|
|
9
|
+
const constructAuthUrl = ({ clientId, payrollProvider, category, products, manual, sandbox, state, finchDevMode, }) => {
|
|
10
|
+
const canUseFinchDevMode = finchDevMode && window.location.hostname === 'localhost';
|
|
11
|
+
const authUrl = new URL(`${canUseFinchDevMode ? DEV_FINCH_CONNECT_URI : BASE_FINCH_CONNECT_URI}/authorize`);
|
|
9
12
|
if (clientId)
|
|
10
13
|
authUrl.searchParams.append('client_id', clientId);
|
|
11
14
|
if (payrollProvider)
|
|
@@ -14,7 +17,7 @@ const constructAuthUrl = ({ clientId, payrollProvider, category, products, manua
|
|
|
14
17
|
authUrl.searchParams.append('category', category);
|
|
15
18
|
authUrl.searchParams.append('products', (products !== null && products !== void 0 ? products : []).join(' '));
|
|
16
19
|
authUrl.searchParams.append('app_type', 'spa');
|
|
17
|
-
authUrl.searchParams.append('redirect_uri', DEFAULT_FINCH_REDIRECT_URI);
|
|
20
|
+
authUrl.searchParams.append('redirect_uri', canUseFinchDevMode ? DEV_DEFAULT_FINCH_REDIRECT_URI : DEFAULT_FINCH_REDIRECT_URI);
|
|
18
21
|
/** The host URL of the SDK. This is used to store the referrer for postMessage purposes */
|
|
19
22
|
authUrl.searchParams.append('sdk_host_url', window.location.origin);
|
|
20
23
|
authUrl.searchParams.append('mode', 'employer');
|
|
@@ -25,7 +28,7 @@ const constructAuthUrl = ({ clientId, payrollProvider, category, products, manua
|
|
|
25
28
|
if (state)
|
|
26
29
|
authUrl.searchParams.append('state', state);
|
|
27
30
|
// replace with actual SDK version by rollup
|
|
28
|
-
authUrl.searchParams.append('sdk_version', 'react-3.
|
|
31
|
+
authUrl.searchParams.append('sdk_version', 'react-3.6.1');
|
|
29
32
|
return authUrl.href;
|
|
30
33
|
};
|
|
31
34
|
const noop = () => {
|
|
@@ -42,6 +45,7 @@ const DEFAULT_OPTIONS = {
|
|
|
42
45
|
sandbox: false,
|
|
43
46
|
state: null,
|
|
44
47
|
zIndex: 999,
|
|
48
|
+
finchDevMode: false,
|
|
45
49
|
};
|
|
46
50
|
let isUseFinchConnectInitialized = false;
|
|
47
51
|
const useFinchConnect = (options) => {
|
|
@@ -88,11 +92,13 @@ const useFinchConnect = (options) => {
|
|
|
88
92
|
};
|
|
89
93
|
useEffect(() => {
|
|
90
94
|
function handleFinchAuth(event) {
|
|
95
|
+
const canUseFinchDevMode = combinedOptions.finchDevMode && window.location.hostname === 'localhost';
|
|
96
|
+
const CONNECT_URI = canUseFinchDevMode ? DEV_FINCH_CONNECT_URI : BASE_FINCH_CONNECT_URI;
|
|
91
97
|
if (!event.data)
|
|
92
98
|
return;
|
|
93
99
|
if (event.data.name !== FINCH_AUTH_MESSAGE_NAME)
|
|
94
100
|
return;
|
|
95
|
-
if (!event.origin.startsWith(
|
|
101
|
+
if (!event.origin.startsWith(CONNECT_URI))
|
|
96
102
|
return;
|
|
97
103
|
close();
|
|
98
104
|
switch (event.data.kind) {
|
package/dist/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../src/src/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../src/src/index.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -6,10 +6,13 @@ var react = require('react');
|
|
|
6
6
|
|
|
7
7
|
const BASE_FINCH_CONNECT_URI = 'https://connect.tryfinch.com';
|
|
8
8
|
const DEFAULT_FINCH_REDIRECT_URI = 'https://tryfinch.com';
|
|
9
|
+
const DEV_FINCH_CONNECT_URI = 'http://localhost:3000';
|
|
10
|
+
const DEV_DEFAULT_FINCH_REDIRECT_URI = 'http://localhost:4001';
|
|
9
11
|
const FINCH_CONNECT_IFRAME_ID = 'finch-connect-iframe';
|
|
10
12
|
const FINCH_AUTH_MESSAGE_NAME = 'finch-auth-message';
|
|
11
|
-
const constructAuthUrl = ({ clientId, payrollProvider, category, products, manual, sandbox, state, }) => {
|
|
12
|
-
const
|
|
13
|
+
const constructAuthUrl = ({ clientId, payrollProvider, category, products, manual, sandbox, state, finchDevMode, }) => {
|
|
14
|
+
const canUseFinchDevMode = finchDevMode && window.location.hostname === 'localhost';
|
|
15
|
+
const authUrl = new URL(`${canUseFinchDevMode ? DEV_FINCH_CONNECT_URI : BASE_FINCH_CONNECT_URI}/authorize`);
|
|
13
16
|
if (clientId)
|
|
14
17
|
authUrl.searchParams.append('client_id', clientId);
|
|
15
18
|
if (payrollProvider)
|
|
@@ -18,7 +21,7 @@ const constructAuthUrl = ({ clientId, payrollProvider, category, products, manua
|
|
|
18
21
|
authUrl.searchParams.append('category', category);
|
|
19
22
|
authUrl.searchParams.append('products', (products !== null && products !== void 0 ? products : []).join(' '));
|
|
20
23
|
authUrl.searchParams.append('app_type', 'spa');
|
|
21
|
-
authUrl.searchParams.append('redirect_uri', DEFAULT_FINCH_REDIRECT_URI);
|
|
24
|
+
authUrl.searchParams.append('redirect_uri', canUseFinchDevMode ? DEV_DEFAULT_FINCH_REDIRECT_URI : DEFAULT_FINCH_REDIRECT_URI);
|
|
22
25
|
/** The host URL of the SDK. This is used to store the referrer for postMessage purposes */
|
|
23
26
|
authUrl.searchParams.append('sdk_host_url', window.location.origin);
|
|
24
27
|
authUrl.searchParams.append('mode', 'employer');
|
|
@@ -29,7 +32,7 @@ const constructAuthUrl = ({ clientId, payrollProvider, category, products, manua
|
|
|
29
32
|
if (state)
|
|
30
33
|
authUrl.searchParams.append('state', state);
|
|
31
34
|
// replace with actual SDK version by rollup
|
|
32
|
-
authUrl.searchParams.append('sdk_version', 'react-3.
|
|
35
|
+
authUrl.searchParams.append('sdk_version', 'react-3.6.1');
|
|
33
36
|
return authUrl.href;
|
|
34
37
|
};
|
|
35
38
|
const noop = () => {
|
|
@@ -46,6 +49,7 @@ const DEFAULT_OPTIONS = {
|
|
|
46
49
|
sandbox: false,
|
|
47
50
|
state: null,
|
|
48
51
|
zIndex: 999,
|
|
52
|
+
finchDevMode: false,
|
|
49
53
|
};
|
|
50
54
|
let isUseFinchConnectInitialized = false;
|
|
51
55
|
const useFinchConnect = (options) => {
|
|
@@ -92,11 +96,13 @@ const useFinchConnect = (options) => {
|
|
|
92
96
|
};
|
|
93
97
|
react.useEffect(() => {
|
|
94
98
|
function handleFinchAuth(event) {
|
|
99
|
+
const canUseFinchDevMode = combinedOptions.finchDevMode && window.location.hostname === 'localhost';
|
|
100
|
+
const CONNECT_URI = canUseFinchDevMode ? DEV_FINCH_CONNECT_URI : BASE_FINCH_CONNECT_URI;
|
|
95
101
|
if (!event.data)
|
|
96
102
|
return;
|
|
97
103
|
if (event.data.name !== FINCH_AUTH_MESSAGE_NAME)
|
|
98
104
|
return;
|
|
99
|
-
if (!event.origin.startsWith(
|
|
105
|
+
if (!event.origin.startsWith(CONNECT_URI))
|
|
100
106
|
return;
|
|
101
107
|
close();
|
|
102
108
|
switch (event.data.kind) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/src/index.ts"],"sourcesContent":[null],"names":["useRef","useEffect"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/src/index.ts"],"sourcesContent":[null],"names":["useRef","useEffect"],"mappings":"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"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -26,6 +26,7 @@ export type ConnectOptions = {
|
|
|
26
26
|
products: string[];
|
|
27
27
|
sandbox: Sandbox;
|
|
28
28
|
zIndex: number;
|
|
29
|
+
finchDevMode?: boolean;
|
|
29
30
|
};
|
|
30
31
|
|
|
31
32
|
type OpenFn = (
|
|
@@ -56,6 +57,10 @@ interface FinchConnectPostMessage {
|
|
|
56
57
|
|
|
57
58
|
const BASE_FINCH_CONNECT_URI = 'https://connect.tryfinch.com';
|
|
58
59
|
const DEFAULT_FINCH_REDIRECT_URI = 'https://tryfinch.com';
|
|
60
|
+
|
|
61
|
+
const DEV_FINCH_CONNECT_URI = 'http://localhost:3000';
|
|
62
|
+
const DEV_DEFAULT_FINCH_REDIRECT_URI = 'http://localhost:4001';
|
|
63
|
+
|
|
59
64
|
const FINCH_CONNECT_IFRAME_ID = 'finch-connect-iframe';
|
|
60
65
|
const FINCH_AUTH_MESSAGE_NAME = 'finch-auth-message';
|
|
61
66
|
|
|
@@ -67,14 +72,22 @@ const constructAuthUrl = ({
|
|
|
67
72
|
manual,
|
|
68
73
|
sandbox,
|
|
69
74
|
state,
|
|
75
|
+
finchDevMode,
|
|
70
76
|
}: Partial<ConnectOptions>) => {
|
|
71
|
-
const
|
|
77
|
+
const canUseFinchDevMode = finchDevMode && window.location.hostname === 'localhost';
|
|
78
|
+
|
|
79
|
+
const authUrl = new URL(
|
|
80
|
+
`${canUseFinchDevMode ? DEV_FINCH_CONNECT_URI : BASE_FINCH_CONNECT_URI}/authorize`
|
|
81
|
+
);
|
|
72
82
|
if (clientId) authUrl.searchParams.append('client_id', clientId);
|
|
73
83
|
if (payrollProvider) authUrl.searchParams.append('payroll_provider', payrollProvider);
|
|
74
84
|
if (category) authUrl.searchParams.append('category', category);
|
|
75
85
|
authUrl.searchParams.append('products', (products ?? []).join(' '));
|
|
76
86
|
authUrl.searchParams.append('app_type', 'spa');
|
|
77
|
-
authUrl.searchParams.append(
|
|
87
|
+
authUrl.searchParams.append(
|
|
88
|
+
'redirect_uri',
|
|
89
|
+
canUseFinchDevMode ? DEV_DEFAULT_FINCH_REDIRECT_URI : DEFAULT_FINCH_REDIRECT_URI
|
|
90
|
+
);
|
|
78
91
|
/** The host URL of the SDK. This is used to store the referrer for postMessage purposes */
|
|
79
92
|
authUrl.searchParams.append('sdk_host_url', window.location.origin);
|
|
80
93
|
authUrl.searchParams.append('mode', 'employer');
|
|
@@ -102,6 +115,7 @@ const DEFAULT_OPTIONS: Omit<ConnectOptions, 'clientId'> = {
|
|
|
102
115
|
sandbox: false,
|
|
103
116
|
state: null,
|
|
104
117
|
zIndex: 999,
|
|
118
|
+
finchDevMode: false,
|
|
105
119
|
};
|
|
106
120
|
|
|
107
121
|
let isUseFinchConnectInitialized = false;
|
|
@@ -163,9 +177,14 @@ export const useFinchConnect = (options: Partial<ConnectOptions>): { open: OpenF
|
|
|
163
177
|
|
|
164
178
|
useEffect(() => {
|
|
165
179
|
function handleFinchAuth(event: FinchConnectPostMessage) {
|
|
180
|
+
const canUseFinchDevMode =
|
|
181
|
+
combinedOptions.finchDevMode && window.location.hostname === 'localhost';
|
|
182
|
+
|
|
183
|
+
const CONNECT_URI = canUseFinchDevMode ? DEV_FINCH_CONNECT_URI : BASE_FINCH_CONNECT_URI;
|
|
184
|
+
|
|
166
185
|
if (!event.data) return;
|
|
167
186
|
if (event.data.name !== FINCH_AUTH_MESSAGE_NAME) return;
|
|
168
|
-
if (!event.origin.startsWith(
|
|
187
|
+
if (!event.origin.startsWith(CONNECT_URI)) return;
|
|
169
188
|
|
|
170
189
|
close();
|
|
171
190
|
|