@tryfinch/react-connect 3.6.1 → 3.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es.js +9 -11
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +9 -11
- package/dist/index.js.map +1 -1
- package/example/src/App.tsx +1 -0
- package/package.json +1 -1
- package/src/index.ts +11 -19
package/README.md
CHANGED
|
@@ -27,6 +27,7 @@ const App = () => {
|
|
|
27
27
|
products: ['company', 'directory'],
|
|
28
28
|
// Check Finch's [documentation](https://developer.tryfinch.com/docs/reference/96f5be9e0ec1a-providers) for the full list of payroll provider IDs
|
|
29
29
|
// payrollProvider: '<payroll-provider-id>',
|
|
30
|
+
// For `sandbox`, omit or use 'false' if in production. Use "finch" or "provider" for sandbox testing, depending on test plan. See Finch's [documentation](https://developer.tryfinch.com/implementation-guide/Test/Testing-Plan) for an overview of Finch and Provider sandboxes.
|
|
30
31
|
// sandbox: false,
|
|
31
32
|
// manual: false,
|
|
32
33
|
// zIndex: 999,
|
package/dist/index.d.ts
CHANGED
|
@@ -18,7 +18,10 @@ export type ConnectOptions = {
|
|
|
18
18
|
products: string[];
|
|
19
19
|
sandbox: Sandbox;
|
|
20
20
|
zIndex: number;
|
|
21
|
-
|
|
21
|
+
apiConfig?: {
|
|
22
|
+
connectUrl: string;
|
|
23
|
+
redirectUrl: string;
|
|
24
|
+
};
|
|
22
25
|
};
|
|
23
26
|
type OpenFn = (overrides?: Partial<Pick<ConnectOptions, 'products' | 'state' | 'payrollProvider'>>) => void;
|
|
24
27
|
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;IACf,
|
|
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,SAAS,CAAC,EAAE;QACV,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH,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;AAiFV,eAAO,MAAM,eAAe,YAAa,QAAQ,cAAc,CAAC;UAAW,MAAM;CAmGhF,CAAC"}
|
package/dist/index.es.js
CHANGED
|
@@ -2,13 +2,12 @@ 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';
|
|
7
5
|
const FINCH_CONNECT_IFRAME_ID = 'finch-connect-iframe';
|
|
8
6
|
const FINCH_AUTH_MESSAGE_NAME = 'finch-auth-message';
|
|
9
|
-
const constructAuthUrl = ({ clientId, payrollProvider, category, products, manual, sandbox, state,
|
|
10
|
-
const
|
|
11
|
-
const
|
|
7
|
+
const constructAuthUrl = ({ clientId, payrollProvider, category, products, manual, sandbox, state, apiConfig, }) => {
|
|
8
|
+
const CONNECT_URL = (apiConfig === null || apiConfig === void 0 ? void 0 : apiConfig.connectUrl) || BASE_FINCH_CONNECT_URI;
|
|
9
|
+
const REDIRECT_URL = (apiConfig === null || apiConfig === void 0 ? void 0 : apiConfig.redirectUrl) || DEFAULT_FINCH_REDIRECT_URI;
|
|
10
|
+
const authUrl = new URL(`${CONNECT_URL}/authorize`);
|
|
12
11
|
if (clientId)
|
|
13
12
|
authUrl.searchParams.append('client_id', clientId);
|
|
14
13
|
if (payrollProvider)
|
|
@@ -17,7 +16,7 @@ const constructAuthUrl = ({ clientId, payrollProvider, category, products, manua
|
|
|
17
16
|
authUrl.searchParams.append('category', category);
|
|
18
17
|
authUrl.searchParams.append('products', (products !== null && products !== void 0 ? products : []).join(' '));
|
|
19
18
|
authUrl.searchParams.append('app_type', 'spa');
|
|
20
|
-
authUrl.searchParams.append('redirect_uri',
|
|
19
|
+
authUrl.searchParams.append('redirect_uri', REDIRECT_URL);
|
|
21
20
|
/** The host URL of the SDK. This is used to store the referrer for postMessage purposes */
|
|
22
21
|
authUrl.searchParams.append('sdk_host_url', window.location.origin);
|
|
23
22
|
authUrl.searchParams.append('mode', 'employer');
|
|
@@ -28,7 +27,7 @@ const constructAuthUrl = ({ clientId, payrollProvider, category, products, manua
|
|
|
28
27
|
if (state)
|
|
29
28
|
authUrl.searchParams.append('state', state);
|
|
30
29
|
// replace with actual SDK version by rollup
|
|
31
|
-
authUrl.searchParams.append('sdk_version', 'react-3.
|
|
30
|
+
authUrl.searchParams.append('sdk_version', 'react-3.7.0');
|
|
32
31
|
return authUrl.href;
|
|
33
32
|
};
|
|
34
33
|
const noop = () => {
|
|
@@ -45,7 +44,6 @@ const DEFAULT_OPTIONS = {
|
|
|
45
44
|
sandbox: false,
|
|
46
45
|
state: null,
|
|
47
46
|
zIndex: 999,
|
|
48
|
-
finchDevMode: false,
|
|
49
47
|
};
|
|
50
48
|
let isUseFinchConnectInitialized = false;
|
|
51
49
|
const useFinchConnect = (options) => {
|
|
@@ -92,13 +90,13 @@ const useFinchConnect = (options) => {
|
|
|
92
90
|
};
|
|
93
91
|
useEffect(() => {
|
|
94
92
|
function handleFinchAuth(event) {
|
|
95
|
-
|
|
96
|
-
const
|
|
93
|
+
var _a;
|
|
94
|
+
const CONNECT_URL = ((_a = combinedOptions.apiConfig) === null || _a === void 0 ? void 0 : _a.connectUrl) || BASE_FINCH_CONNECT_URI;
|
|
97
95
|
if (!event.data)
|
|
98
96
|
return;
|
|
99
97
|
if (event.data.name !== FINCH_AUTH_MESSAGE_NAME)
|
|
100
98
|
return;
|
|
101
|
-
if (!event.origin.startsWith(
|
|
99
|
+
if (!event.origin.startsWith(CONNECT_URL))
|
|
102
100
|
return;
|
|
103
101
|
close();
|
|
104
102
|
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,13 +6,12 @@ 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';
|
|
11
9
|
const FINCH_CONNECT_IFRAME_ID = 'finch-connect-iframe';
|
|
12
10
|
const FINCH_AUTH_MESSAGE_NAME = 'finch-auth-message';
|
|
13
|
-
const constructAuthUrl = ({ clientId, payrollProvider, category, products, manual, sandbox, state,
|
|
14
|
-
const
|
|
15
|
-
const
|
|
11
|
+
const constructAuthUrl = ({ clientId, payrollProvider, category, products, manual, sandbox, state, apiConfig, }) => {
|
|
12
|
+
const CONNECT_URL = (apiConfig === null || apiConfig === void 0 ? void 0 : apiConfig.connectUrl) || BASE_FINCH_CONNECT_URI;
|
|
13
|
+
const REDIRECT_URL = (apiConfig === null || apiConfig === void 0 ? void 0 : apiConfig.redirectUrl) || DEFAULT_FINCH_REDIRECT_URI;
|
|
14
|
+
const authUrl = new URL(`${CONNECT_URL}/authorize`);
|
|
16
15
|
if (clientId)
|
|
17
16
|
authUrl.searchParams.append('client_id', clientId);
|
|
18
17
|
if (payrollProvider)
|
|
@@ -21,7 +20,7 @@ const constructAuthUrl = ({ clientId, payrollProvider, category, products, manua
|
|
|
21
20
|
authUrl.searchParams.append('category', category);
|
|
22
21
|
authUrl.searchParams.append('products', (products !== null && products !== void 0 ? products : []).join(' '));
|
|
23
22
|
authUrl.searchParams.append('app_type', 'spa');
|
|
24
|
-
authUrl.searchParams.append('redirect_uri',
|
|
23
|
+
authUrl.searchParams.append('redirect_uri', REDIRECT_URL);
|
|
25
24
|
/** The host URL of the SDK. This is used to store the referrer for postMessage purposes */
|
|
26
25
|
authUrl.searchParams.append('sdk_host_url', window.location.origin);
|
|
27
26
|
authUrl.searchParams.append('mode', 'employer');
|
|
@@ -32,7 +31,7 @@ const constructAuthUrl = ({ clientId, payrollProvider, category, products, manua
|
|
|
32
31
|
if (state)
|
|
33
32
|
authUrl.searchParams.append('state', state);
|
|
34
33
|
// replace with actual SDK version by rollup
|
|
35
|
-
authUrl.searchParams.append('sdk_version', 'react-3.
|
|
34
|
+
authUrl.searchParams.append('sdk_version', 'react-3.7.0');
|
|
36
35
|
return authUrl.href;
|
|
37
36
|
};
|
|
38
37
|
const noop = () => {
|
|
@@ -49,7 +48,6 @@ const DEFAULT_OPTIONS = {
|
|
|
49
48
|
sandbox: false,
|
|
50
49
|
state: null,
|
|
51
50
|
zIndex: 999,
|
|
52
|
-
finchDevMode: false,
|
|
53
51
|
};
|
|
54
52
|
let isUseFinchConnectInitialized = false;
|
|
55
53
|
const useFinchConnect = (options) => {
|
|
@@ -96,13 +94,13 @@ const useFinchConnect = (options) => {
|
|
|
96
94
|
};
|
|
97
95
|
react.useEffect(() => {
|
|
98
96
|
function handleFinchAuth(event) {
|
|
99
|
-
|
|
100
|
-
const
|
|
97
|
+
var _a;
|
|
98
|
+
const CONNECT_URL = ((_a = combinedOptions.apiConfig) === null || _a === void 0 ? void 0 : _a.connectUrl) || BASE_FINCH_CONNECT_URI;
|
|
101
99
|
if (!event.data)
|
|
102
100
|
return;
|
|
103
101
|
if (event.data.name !== FINCH_AUTH_MESSAGE_NAME)
|
|
104
102
|
return;
|
|
105
|
-
if (!event.origin.startsWith(
|
|
103
|
+
if (!event.origin.startsWith(CONNECT_URL))
|
|
106
104
|
return;
|
|
107
105
|
close();
|
|
108
106
|
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/example/src/App.tsx
CHANGED
|
@@ -16,6 +16,7 @@ const App = () => {
|
|
|
16
16
|
const { open } = useFinchConnect({
|
|
17
17
|
clientId: '<your-client-id>',
|
|
18
18
|
products: ['company', 'directory', 'individual', 'employment'],
|
|
19
|
+
// For 'sandbox`, omit or use 'false' if in production. Use "finch" or "provider" for sandbox testing, depending on test plan. See Finch's [documentation](https://developer.tryfinch.com/implementation-guide/Test/Testing-Plan) for an overview of Finch and Provider sandboxes.
|
|
19
20
|
// sandbox: false,
|
|
20
21
|
// payrollProvider: '<payroll-provider-id>',
|
|
21
22
|
onSuccess,
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -26,7 +26,10 @@ export type ConnectOptions = {
|
|
|
26
26
|
products: string[];
|
|
27
27
|
sandbox: Sandbox;
|
|
28
28
|
zIndex: number;
|
|
29
|
-
|
|
29
|
+
apiConfig?: {
|
|
30
|
+
connectUrl: string;
|
|
31
|
+
redirectUrl: string;
|
|
32
|
+
};
|
|
30
33
|
};
|
|
31
34
|
|
|
32
35
|
type OpenFn = (
|
|
@@ -58,9 +61,6 @@ interface FinchConnectPostMessage {
|
|
|
58
61
|
const BASE_FINCH_CONNECT_URI = 'https://connect.tryfinch.com';
|
|
59
62
|
const DEFAULT_FINCH_REDIRECT_URI = 'https://tryfinch.com';
|
|
60
63
|
|
|
61
|
-
const DEV_FINCH_CONNECT_URI = 'http://localhost:3000';
|
|
62
|
-
const DEV_DEFAULT_FINCH_REDIRECT_URI = 'http://localhost:4001';
|
|
63
|
-
|
|
64
64
|
const FINCH_CONNECT_IFRAME_ID = 'finch-connect-iframe';
|
|
65
65
|
const FINCH_AUTH_MESSAGE_NAME = 'finch-auth-message';
|
|
66
66
|
|
|
@@ -72,22 +72,18 @@ const constructAuthUrl = ({
|
|
|
72
72
|
manual,
|
|
73
73
|
sandbox,
|
|
74
74
|
state,
|
|
75
|
-
|
|
75
|
+
apiConfig,
|
|
76
76
|
}: Partial<ConnectOptions>) => {
|
|
77
|
-
const
|
|
77
|
+
const CONNECT_URL = apiConfig?.connectUrl || BASE_FINCH_CONNECT_URI;
|
|
78
|
+
const REDIRECT_URL = apiConfig?.redirectUrl || DEFAULT_FINCH_REDIRECT_URI;
|
|
78
79
|
|
|
79
|
-
const authUrl = new URL(
|
|
80
|
-
`${canUseFinchDevMode ? DEV_FINCH_CONNECT_URI : BASE_FINCH_CONNECT_URI}/authorize`
|
|
81
|
-
);
|
|
80
|
+
const authUrl = new URL(`${CONNECT_URL}/authorize`);
|
|
82
81
|
if (clientId) authUrl.searchParams.append('client_id', clientId);
|
|
83
82
|
if (payrollProvider) authUrl.searchParams.append('payroll_provider', payrollProvider);
|
|
84
83
|
if (category) authUrl.searchParams.append('category', category);
|
|
85
84
|
authUrl.searchParams.append('products', (products ?? []).join(' '));
|
|
86
85
|
authUrl.searchParams.append('app_type', 'spa');
|
|
87
|
-
authUrl.searchParams.append(
|
|
88
|
-
'redirect_uri',
|
|
89
|
-
canUseFinchDevMode ? DEV_DEFAULT_FINCH_REDIRECT_URI : DEFAULT_FINCH_REDIRECT_URI
|
|
90
|
-
);
|
|
86
|
+
authUrl.searchParams.append('redirect_uri', REDIRECT_URL);
|
|
91
87
|
/** The host URL of the SDK. This is used to store the referrer for postMessage purposes */
|
|
92
88
|
authUrl.searchParams.append('sdk_host_url', window.location.origin);
|
|
93
89
|
authUrl.searchParams.append('mode', 'employer');
|
|
@@ -115,7 +111,6 @@ const DEFAULT_OPTIONS: Omit<ConnectOptions, 'clientId'> = {
|
|
|
115
111
|
sandbox: false,
|
|
116
112
|
state: null,
|
|
117
113
|
zIndex: 999,
|
|
118
|
-
finchDevMode: false,
|
|
119
114
|
};
|
|
120
115
|
|
|
121
116
|
let isUseFinchConnectInitialized = false;
|
|
@@ -177,14 +172,11 @@ export const useFinchConnect = (options: Partial<ConnectOptions>): { open: OpenF
|
|
|
177
172
|
|
|
178
173
|
useEffect(() => {
|
|
179
174
|
function handleFinchAuth(event: FinchConnectPostMessage) {
|
|
180
|
-
const
|
|
181
|
-
combinedOptions.finchDevMode && window.location.hostname === 'localhost';
|
|
182
|
-
|
|
183
|
-
const CONNECT_URI = canUseFinchDevMode ? DEV_FINCH_CONNECT_URI : BASE_FINCH_CONNECT_URI;
|
|
175
|
+
const CONNECT_URL = combinedOptions.apiConfig?.connectUrl || BASE_FINCH_CONNECT_URI;
|
|
184
176
|
|
|
185
177
|
if (!event.data) return;
|
|
186
178
|
if (event.data.name !== FINCH_AUTH_MESSAGE_NAME) return;
|
|
187
|
-
if (!event.origin.startsWith(
|
|
179
|
+
if (!event.origin.startsWith(CONNECT_URL)) return;
|
|
188
180
|
|
|
189
181
|
close();
|
|
190
182
|
|