@bigbinary/neeto-payments-frontend 3.3.30 → 3.3.32
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/ManualUpiPaymentConfirmButton.js +188 -0
- package/dist/ManualUpiPaymentConfirmButton.js.map +1 -0
- package/dist/PayoutsDashboard.js +1 -2
- package/dist/PayoutsDashboard.js.map +1 -1
- package/dist/PayoutsPage.js +1 -2
- package/dist/PayoutsPage.js.map +1 -1
- package/dist/cjs/AccountsDashboard.js +15 -15
- package/dist/cjs/AdminCancelRecurringPaymentButton.js +2 -2
- package/dist/cjs/ConfirmUpiPaymentButton.js +2 -2
- package/dist/cjs/{ExportModal-CPZu2qzb.js → ExportModal-BZWbo5JF.js} +6 -6
- package/dist/cjs/{ExportModal-CPZu2qzb.js.map → ExportModal-BZWbo5JF.js.map} +1 -1
- package/dist/cjs/ManualUpiPaymentConfirmButton.js +209 -0
- package/dist/cjs/ManualUpiPaymentConfirmButton.js.map +1 -0
- package/dist/cjs/PaymentsDashboard.js +9 -9
- package/dist/cjs/PayoutsDashboard.js +17 -18
- package/dist/cjs/PayoutsDashboard.js.map +1 -1
- package/dist/cjs/PayoutsPage.js +2 -3
- package/dist/cjs/PayoutsPage.js.map +1 -1
- package/dist/cjs/RefundsDashboard.js +9 -9
- package/dist/cjs/SplitTransfersDashboard.js +15 -15
- package/dist/cjs/TaxesDashboard.js +4 -4
- package/dist/cjs/UpiConnect.js +3 -3
- package/dist/cjs/index.js +24 -30
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/{usePlatformApi-CWdvdY23.js → usePlatformApi-DB_N-Ua_.js} +40 -2
- package/dist/cjs/usePlatformApi-DB_N-Ua_.js.map +1 -0
- package/dist/cjs/useStripePromise.js +2 -2
- package/dist/index.js +18 -24
- package/dist/index.js.map +1 -1
- package/dist/{usePlatformApi-BmTjLVDt.js → usePlatformApi-36ZLH1ga.js} +39 -3
- package/dist/usePlatformApi-36ZLH1ga.js.map +1 -0
- package/package.json +17 -15
- package/dist/StripeConnect.js +0 -522
- package/dist/StripeConnect.js.map +0 -1
- package/dist/cjs/StripeConnect.js +0 -543
- package/dist/cjs/StripeConnect.js.map +0 -1
- package/dist/cjs/useConnectApi-CUkuzw0c.js +0 -114
- package/dist/cjs/useConnectApi-CUkuzw0c.js.map +0 -1
- package/dist/cjs/usePlatformApi-CWdvdY23.js.map +0 -1
- package/dist/useConnectApi-DLJNjz8A.js +0 -106
- package/dist/useConnectApi-DLJNjz8A.js.map +0 -1
- package/dist/usePlatformApi-BmTjLVDt.js.map +0 -1
package/dist/StripeConnect.js
DELETED
|
@@ -1,522 +0,0 @@
|
|
|
1
|
-
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
-
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
3
|
-
import * as React from 'react';
|
|
4
|
-
import { useState, useEffect, useMemo } from 'react';
|
|
5
|
-
import { humanize, isPresent } from '@bigbinary/neeto-cist';
|
|
6
|
-
import { useQueryParams, withT, useStateWithDependency } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
7
|
-
import Demo from 'neetointegrations/Demo';
|
|
8
|
-
import IntegrationModal from 'neetointegrations/Modal';
|
|
9
|
-
import { b as useCreateStripeAccount, c as usePollingStripeAccountCreationStatus, d as useFetchConnectedStripeAccount, e as useDestroyStripeAccount, f as usePollingStripeAccount } from './useConnectApi-DLJNjz8A.js';
|
|
10
|
-
import Label from '@bigbinary/neetoui/Label';
|
|
11
|
-
import Typography from '@bigbinary/neetoui/Typography';
|
|
12
|
-
import { useTranslation, Trans } from 'react-i18next';
|
|
13
|
-
import Spinner from '@bigbinary/neetoui/Spinner';
|
|
14
|
-
import Select from '@bigbinary/neetoui/formik/Select';
|
|
15
|
-
import Form from '@bigbinary/neetoui/formik/Form';
|
|
16
|
-
import ActionBlock from '@bigbinary/neetoui/formik/ActionBlock';
|
|
17
|
-
import { useHistory } from 'react-router-dom';
|
|
18
|
-
import { useQuery } from '@tanstack/react-query';
|
|
19
|
-
import axios from 'axios';
|
|
20
|
-
import { B as BASE_URL } from './index-ER2sofJn.js';
|
|
21
|
-
import { Q as QUERY_KEYS } from './queryConstants-mgjK5Hgk.js';
|
|
22
|
-
import { t } from 'i18next';
|
|
23
|
-
import * as yup from 'yup';
|
|
24
|
-
import 'ramda';
|
|
25
|
-
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
26
|
-
import Alert from '@bigbinary/neetoui/Alert';
|
|
27
|
-
import Button from '@bigbinary/neetoui/Button';
|
|
28
|
-
import DOMPurify from 'dompurify';
|
|
29
|
-
import Radio from '@bigbinary/neetoui/Radio';
|
|
30
|
-
import { buildUrl } from '@bigbinary/neeto-commons-frontend/utils';
|
|
31
|
-
import IntegrationFinish from 'neetointegrations/Finish';
|
|
32
|
-
import 'qs';
|
|
33
|
-
import '@bigbinary/neeto-commons-frontend/constants';
|
|
34
|
-
|
|
35
|
-
var _path, _path2, _path3;
|
|
36
|
-
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
37
|
-
const SvgStripe = props => /*#__PURE__*/React.createElement("svg", _extends({
|
|
38
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
39
|
-
width: 54,
|
|
40
|
-
height: 54,
|
|
41
|
-
fill: "#6772e5",
|
|
42
|
-
viewBox: "0 0 32 32"
|
|
43
|
-
}, props), _path || (_path = /*#__PURE__*/React.createElement("path", {
|
|
44
|
-
fillRule: "evenodd",
|
|
45
|
-
d: "M111.328 15.602c0-4.97-2.415-8.9-7.013-8.9s-7.423 3.924-7.423 8.863c0 5.85 3.32 8.8 8.036 8.8 2.318 0 4.06-.528 5.377-1.26V19.22a10.246 10.246 0 0 1-4.764 1.075c-1.9 0-3.556-.67-3.774-2.943h9.497a39.64 39.64 0 0 0 .063-1.748zm-9.606-1.835c0-2.186 1.35-3.1 2.56-3.1s2.454.906 2.454 3.1zM89.4 6.712a5.434 5.434 0 0 0-3.801 1.509l-.254-1.208h-4.27v22.64l4.85-1.032v-5.488a5.434 5.434 0 0 0 3.444 1.265c3.472 0 6.64-2.792 6.64-8.957.003-5.66-3.206-8.73-6.614-8.73zM88.23 20.1a2.898 2.898 0 0 1-2.288-.906l-.03-7.2a2.928 2.928 0 0 1 2.315-.96c1.775 0 2.998 2 2.998 4.528.003 2.593-1.198 4.546-2.995 4.546zM79.25.57l-4.87 1.035v3.95l4.87-1.032z"
|
|
46
|
-
})), _path2 || (_path2 = /*#__PURE__*/React.createElement("path", {
|
|
47
|
-
d: "M74.38 7.035h4.87V24.04h-4.87z"
|
|
48
|
-
})), _path3 || (_path3 = /*#__PURE__*/React.createElement("path", {
|
|
49
|
-
fillRule: "evenodd",
|
|
50
|
-
d: "m69.164 8.47-.302-1.434h-4.196V24.04h4.848V12.5c1.147-1.5 3.082-1.208 3.698-1.017V7.038c-.646-.232-2.913-.658-4.048 1.43zm-9.73-5.646L54.698 3.83l-.02 15.562c0 2.87 2.158 4.993 5.038 4.993 1.585 0 2.756-.302 3.405-.643v-3.95c-.622.248-3.683 1.138-3.683-1.72v-6.9h3.683V7.035h-3.683zM46.3 11.97c0-.758.63-1.05 1.648-1.05a10.868 10.868 0 0 1 4.83 1.25V7.6a12.815 12.815 0 0 0-4.83-.888c-3.924 0-6.557 2.056-6.557 5.488 0 5.37 7.375 4.498 7.375 6.813 0 .906-.78 1.186-1.863 1.186-1.606 0-3.68-.664-5.307-1.55v4.63a13.461 13.461 0 0 0 5.307 1.117c4.033 0 6.813-1.992 6.813-5.485 0-5.796-7.417-4.76-7.417-6.943zM13.88 9.515c0-1.37 1.14-1.9 2.982-1.9A19.661 19.661 0 0 1 25.6 9.876v-8.27A23.184 23.184 0 0 0 16.862.001C9.762.001 5 3.72 5 9.93c0 9.716 13.342 8.138 13.342 12.326 0 1.638-1.4 2.146-3.37 2.146-2.905 0-6.657-1.202-9.6-2.802v8.378A24.353 24.353 0 0 0 14.973 32C22.27 32 27.3 28.395 27.3 22.077c0-10.486-13.42-8.613-13.42-12.56z"
|
|
51
|
-
})));
|
|
52
|
-
|
|
53
|
-
var fetchCountries = function fetchCountries() {
|
|
54
|
-
return axios.get("".concat(BASE_URL, "/api/v1/stripe/countries"));
|
|
55
|
-
};
|
|
56
|
-
var countriesApi = {
|
|
57
|
-
fetchCountries: fetchCountries
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
var useFetchStripeCountries = function useFetchStripeCountries() {
|
|
61
|
-
return useQuery({
|
|
62
|
-
queryKey: [QUERY_KEYS.STRIPE_COUNTRIES],
|
|
63
|
-
queryFn: countriesApi.fetchCountries
|
|
64
|
-
});
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
var POLLING_INTERVAL = 5000;
|
|
68
|
-
var MAX_POLLING_TIME = 30000;
|
|
69
|
-
var INITIAL_VALUES = {
|
|
70
|
-
country: "",
|
|
71
|
-
return_url: ""
|
|
72
|
-
};
|
|
73
|
-
var VALIDATION_SCHEMA = yup.object().shape({
|
|
74
|
-
country: yup.object().required(t("neetoPayments.validations.countryRequired")),
|
|
75
|
-
returnUrl: yup.string().url(t("neetoPayments.validations.invalidUrl"))
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
var STEPS = {
|
|
79
|
-
connect: "connect",
|
|
80
|
-
configure: "configure",
|
|
81
|
-
finish: "finish",
|
|
82
|
-
demo: "demo"
|
|
83
|
-
};
|
|
84
|
-
var INTEGRATION_STEPS = [{
|
|
85
|
-
step: "1",
|
|
86
|
-
label: t("neetoPayments.common.connect"),
|
|
87
|
-
isActive: false,
|
|
88
|
-
isCompleted: false
|
|
89
|
-
}, {
|
|
90
|
-
step: "2",
|
|
91
|
-
label: t("neetoPayments.common.configure"),
|
|
92
|
-
isActive: false,
|
|
93
|
-
isCompleted: false
|
|
94
|
-
}, {
|
|
95
|
-
step: "3",
|
|
96
|
-
label: t("neetoPayments.common.finish"),
|
|
97
|
-
isActive: false,
|
|
98
|
-
isCompleted: true
|
|
99
|
-
}
|
|
100
|
-
// { step: "4", label: "demo", isActive: false, isCompleted: false },
|
|
101
|
-
];
|
|
102
|
-
var INTEGRATION_METHOD = {
|
|
103
|
-
useExistingAccount: "use_existing_account",
|
|
104
|
-
createNewAccount: "create_new_account"
|
|
105
|
-
};
|
|
106
|
-
var STRIPE_CONNECT_URL = "/".concat(BASE_URL, "/api/v1/integrations/connect/stripe");
|
|
107
|
-
|
|
108
|
-
var buildRefreshUrl = function buildRefreshUrl(accountId, returnUrl) {
|
|
109
|
-
return "/payments/api/v1/stripe/callbacks/".concat(accountId, "/refresh?return_url=").concat(returnUrl);
|
|
110
|
-
};
|
|
111
|
-
var buildCountryOptions = function buildCountryOptions(countries) {
|
|
112
|
-
var _Object$entries;
|
|
113
|
-
return (_Object$entries = Object.entries(countries)) === null || _Object$entries === void 0 ? void 0 : _Object$entries.map(function (country) {
|
|
114
|
-
return {
|
|
115
|
-
label: humanize(country[0]),
|
|
116
|
-
value: country[1]
|
|
117
|
-
};
|
|
118
|
-
});
|
|
119
|
-
};
|
|
120
|
-
|
|
121
|
-
var AccountForm = function AccountForm(_ref) {
|
|
122
|
-
var holdableId = _ref.holdableId,
|
|
123
|
-
returnUrl = _ref.returnUrl;
|
|
124
|
-
var _useTranslation = useTranslation(),
|
|
125
|
-
t = _useTranslation.t;
|
|
126
|
-
var history = useHistory();
|
|
127
|
-
var _useState = useState(false),
|
|
128
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
129
|
-
isPolling = _useState2[0],
|
|
130
|
-
setIsPolling = _useState2[1];
|
|
131
|
-
var submitButtonLabel = isPolling ? t("neetoPayments.integrationModal.creating") : t("neetoPayments.common.connect");
|
|
132
|
-
var refetchInterval = function refetchInterval() {
|
|
133
|
-
var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
134
|
-
jobStatus = _ref2.jobStatus,
|
|
135
|
-
onboarding = _ref2.onboarding;
|
|
136
|
-
if (jobStatus === "complete") {
|
|
137
|
-
window.open(onboarding === null || onboarding === void 0 ? void 0 : onboarding.url, "_self");
|
|
138
|
-
return false;
|
|
139
|
-
}
|
|
140
|
-
return POLLING_INTERVAL;
|
|
141
|
-
};
|
|
142
|
-
var _useCreateStripeAccou = useCreateStripeAccount({
|
|
143
|
-
onSuccess: function onSuccess() {
|
|
144
|
-
return setIsPolling(true);
|
|
145
|
-
}
|
|
146
|
-
}),
|
|
147
|
-
isCreating = _useCreateStripeAccou.isPending,
|
|
148
|
-
_useCreateStripeAccou2 = _useCreateStripeAccou.data,
|
|
149
|
-
_useCreateStripeAccou3 = _useCreateStripeAccou2 === void 0 ? {} : _useCreateStripeAccou2,
|
|
150
|
-
jobId = _useCreateStripeAccou3.jobId,
|
|
151
|
-
createStripeAccount = _useCreateStripeAccou.mutate;
|
|
152
|
-
usePollingStripeAccountCreationStatus(jobId, {
|
|
153
|
-
refetchInterval: refetchInterval,
|
|
154
|
-
enabled: isPresent(jobId)
|
|
155
|
-
});
|
|
156
|
-
var _useFetchStripeCountr = useFetchStripeCountries(),
|
|
157
|
-
isLoading = _useFetchStripeCountr.isLoading,
|
|
158
|
-
_useFetchStripeCountr2 = _useFetchStripeCountr.data,
|
|
159
|
-
_useFetchStripeCountr3 = _useFetchStripeCountr2 === void 0 ? {} : _useFetchStripeCountr2,
|
|
160
|
-
_useFetchStripeCountr4 = _useFetchStripeCountr3.countries,
|
|
161
|
-
countries = _useFetchStripeCountr4 === void 0 ? {} : _useFetchStripeCountr4;
|
|
162
|
-
var handleSubmit = function handleSubmit(_ref3) {
|
|
163
|
-
var country = _ref3.country;
|
|
164
|
-
var payload = {
|
|
165
|
-
returnUrl: returnUrl,
|
|
166
|
-
country: country.value,
|
|
167
|
-
holdableId: holdableId
|
|
168
|
-
};
|
|
169
|
-
createStripeAccount(payload);
|
|
170
|
-
};
|
|
171
|
-
if (isLoading) {
|
|
172
|
-
return /*#__PURE__*/jsx("div", {
|
|
173
|
-
className: "flex h-full w-full items-center justify-center",
|
|
174
|
-
children: /*#__PURE__*/jsx(Spinner, {})
|
|
175
|
-
});
|
|
176
|
-
}
|
|
177
|
-
return /*#__PURE__*/jsx(Form, {
|
|
178
|
-
formikProps: {
|
|
179
|
-
enableReinitialize: true,
|
|
180
|
-
initialValues: INITIAL_VALUES,
|
|
181
|
-
validationSchema: VALIDATION_SCHEMA,
|
|
182
|
-
onSubmit: handleSubmit
|
|
183
|
-
},
|
|
184
|
-
children: /*#__PURE__*/jsxs("div", {
|
|
185
|
-
className: "space-y-3",
|
|
186
|
-
children: [/*#__PURE__*/jsx(Select, {
|
|
187
|
-
required: true,
|
|
188
|
-
helpText: t("neetoPayments.integrationModal.form.helpText"),
|
|
189
|
-
label: t("neetoPayments.integrationModal.form.label"),
|
|
190
|
-
name: "country",
|
|
191
|
-
options: buildCountryOptions(countries),
|
|
192
|
-
placeholder: t("neetoPayments.integrationModal.form.placeholder")
|
|
193
|
-
}), /*#__PURE__*/jsx(ActionBlock, {
|
|
194
|
-
cancelButtonProps: {
|
|
195
|
-
onClick: function onClick() {
|
|
196
|
-
return history.goBack();
|
|
197
|
-
}
|
|
198
|
-
},
|
|
199
|
-
isSubmitting: isCreating || isPolling,
|
|
200
|
-
submitButtonProps: {
|
|
201
|
-
label: submitButtonLabel
|
|
202
|
-
}
|
|
203
|
-
})]
|
|
204
|
-
})
|
|
205
|
-
});
|
|
206
|
-
};
|
|
207
|
-
|
|
208
|
-
var AccountDetails = function AccountDetails(_ref) {
|
|
209
|
-
var holdableId = _ref.holdableId;
|
|
210
|
-
var _useFetchConnectedStr = useFetchConnectedStripeAccount(holdableId),
|
|
211
|
-
_useFetchConnectedStr2 = _useFetchConnectedStr.data,
|
|
212
|
-
_useFetchConnectedStr3 = _useFetchConnectedStr2 === void 0 ? {} : _useFetchConnectedStr2,
|
|
213
|
-
stripeAccount = _useFetchConnectedStr3.account;
|
|
214
|
-
var _useTranslation = useTranslation(),
|
|
215
|
-
t = _useTranslation.t;
|
|
216
|
-
return /*#__PURE__*/jsxs("div", {
|
|
217
|
-
className: "mb-6 space-y-3",
|
|
218
|
-
children: [/*#__PURE__*/jsx(Typography, {
|
|
219
|
-
style: "h5",
|
|
220
|
-
weight: "medium",
|
|
221
|
-
children: t("neetoPayments.integrationModal.account.title")
|
|
222
|
-
}), /*#__PURE__*/jsxs("div", {
|
|
223
|
-
className: "grid grid-cols-4 gap-y-3",
|
|
224
|
-
children: [/*#__PURE__*/jsx(Label, {
|
|
225
|
-
className: "neeto-ui-text-gray-800",
|
|
226
|
-
children: t("neetoPayments.common.id")
|
|
227
|
-
}), /*#__PURE__*/jsx(Label, {
|
|
228
|
-
className: "neeto-ui-text-gray-800 col-span-3",
|
|
229
|
-
children: stripeAccount === null || stripeAccount === void 0 ? void 0 : stripeAccount.identifier
|
|
230
|
-
}), /*#__PURE__*/jsx(Label, {
|
|
231
|
-
className: "neeto-ui-text-gray-800",
|
|
232
|
-
children: t("neetoPayments.common.email")
|
|
233
|
-
}), /*#__PURE__*/jsx(Label, {
|
|
234
|
-
className: "neeto-ui-text-gray-800 col-span-3",
|
|
235
|
-
children: stripeAccount === null || stripeAccount === void 0 ? void 0 : stripeAccount.email
|
|
236
|
-
}), /*#__PURE__*/jsx(Label, {
|
|
237
|
-
className: "neeto-ui-text-gray-800",
|
|
238
|
-
children: t("neetoPayments.common.country")
|
|
239
|
-
}), /*#__PURE__*/jsx(Label, {
|
|
240
|
-
className: "neeto-ui-text-gray-800 col-span-3",
|
|
241
|
-
children: stripeAccount === null || stripeAccount === void 0 ? void 0 : stripeAccount.country
|
|
242
|
-
})]
|
|
243
|
-
})]
|
|
244
|
-
});
|
|
245
|
-
};
|
|
246
|
-
|
|
247
|
-
var AccountProcessing = function AccountProcessing(_ref) {
|
|
248
|
-
var holdableId = _ref.holdableId,
|
|
249
|
-
returnUrl = _ref.returnUrl;
|
|
250
|
-
var _useQueryParams = useQueryParams(),
|
|
251
|
-
app = _useQueryParams.app;
|
|
252
|
-
var _useState = useState(false),
|
|
253
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
254
|
-
isAlertOpen = _useState2[0],
|
|
255
|
-
setIsAlertOpen = _useState2[1];
|
|
256
|
-
var _useState3 = useState(false),
|
|
257
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
258
|
-
isPolling = _useState4[0],
|
|
259
|
-
setIsPolling = _useState4[1];
|
|
260
|
-
var _useTranslation = useTranslation(),
|
|
261
|
-
t = _useTranslation.t;
|
|
262
|
-
var isStripeCallback = app === "stripe";
|
|
263
|
-
useEffect(function () {
|
|
264
|
-
if (!isStripeCallback) return;
|
|
265
|
-
setIsPolling(true);
|
|
266
|
-
setInterval(function () {
|
|
267
|
-
setIsPolling(false);
|
|
268
|
-
}, MAX_POLLING_TIME);
|
|
269
|
-
}, [isStripeCallback]);
|
|
270
|
-
var _useFetchConnectedStr = useFetchConnectedStripeAccount(holdableId),
|
|
271
|
-
_useFetchConnectedStr2 = _useFetchConnectedStr.data,
|
|
272
|
-
_useFetchConnectedStr3 = _useFetchConnectedStr2 === void 0 ? {} : _useFetchConnectedStr2,
|
|
273
|
-
stripeAccount = _useFetchConnectedStr3.account;
|
|
274
|
-
var _useDestroyStripeAcco = useDestroyStripeAccount({
|
|
275
|
-
onSuccess: function onSuccess() {
|
|
276
|
-
return setIsAlertOpen(false);
|
|
277
|
-
},
|
|
278
|
-
holdableId: holdableId
|
|
279
|
-
}),
|
|
280
|
-
isStripeAccountDestroying = _useDestroyStripeAcco.isPending,
|
|
281
|
-
destroyStripeAccount = _useDestroyStripeAcco.mutate;
|
|
282
|
-
var refetchInterval = function refetchInterval() {
|
|
283
|
-
var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
284
|
-
account = _ref2.account;
|
|
285
|
-
if (isStripeCallback && !(account !== null && account !== void 0 && account.isConnected) && isPolling) {
|
|
286
|
-
return POLLING_INTERVAL;
|
|
287
|
-
}
|
|
288
|
-
if (account !== null && account !== void 0 && account.isConnected) {
|
|
289
|
-
setIsPolling(false);
|
|
290
|
-
}
|
|
291
|
-
return false;
|
|
292
|
-
};
|
|
293
|
-
usePollingStripeAccount(holdableId, {
|
|
294
|
-
refetchInterval: refetchInterval
|
|
295
|
-
});
|
|
296
|
-
var isAccountProcessingFailed = isStripeCallback && !isPolling && !(stripeAccount !== null && stripeAccount !== void 0 && stripeAccount.isConnected);
|
|
297
|
-
var buttonLabel = function buttonLabel() {
|
|
298
|
-
if (isPolling) {
|
|
299
|
-
return t("neetoPayments.integrationModal.creating");
|
|
300
|
-
}
|
|
301
|
-
if (isAccountProcessingFailed) {
|
|
302
|
-
return t("neetoPayments.integrationModal.failedButton");
|
|
303
|
-
}
|
|
304
|
-
return t("neetoPayments.common.continue");
|
|
305
|
-
};
|
|
306
|
-
var handleUseAnotherStripeAccount = function handleUseAnotherStripeAccount() {
|
|
307
|
-
destroyStripeAccount(stripeAccount === null || stripeAccount === void 0 ? void 0 : stripeAccount.id);
|
|
308
|
-
};
|
|
309
|
-
return /*#__PURE__*/jsxs(Fragment, {
|
|
310
|
-
children: [/*#__PURE__*/jsx(AccountDetails, {}), /*#__PURE__*/jsxs("div", {
|
|
311
|
-
className: "flex flex-col items-start space-y-2",
|
|
312
|
-
children: [/*#__PURE__*/jsx(Button, {
|
|
313
|
-
disabled: isPolling,
|
|
314
|
-
href: buildRefreshUrl(stripeAccount === null || stripeAccount === void 0 ? void 0 : stripeAccount.id, returnUrl),
|
|
315
|
-
label: buttonLabel(),
|
|
316
|
-
loading: isPolling,
|
|
317
|
-
size: "small"
|
|
318
|
-
}), !isPolling && !isAccountProcessingFailed && /*#__PURE__*/jsx(Button, {
|
|
319
|
-
disabled: isStripeAccountDestroying || isPolling,
|
|
320
|
-
label: t("neetoPayments.integrationModal.anotherAccount"),
|
|
321
|
-
size: "small",
|
|
322
|
-
style: "link",
|
|
323
|
-
onClick: function onClick() {
|
|
324
|
-
return setIsAlertOpen(true);
|
|
325
|
-
}
|
|
326
|
-
})]
|
|
327
|
-
}), /*#__PURE__*/jsx(Alert, {
|
|
328
|
-
isOpen: isAlertOpen,
|
|
329
|
-
title: t("neetoPayments.integrationModal.alert.changeTitle"),
|
|
330
|
-
message: /*#__PURE__*/jsx(Trans, {
|
|
331
|
-
i18nKey: "neetoPayments.integrationModal.alert.changeMessage",
|
|
332
|
-
values: {
|
|
333
|
-
account: stripeAccount === null || stripeAccount === void 0 ? void 0 : stripeAccount.email
|
|
334
|
-
}
|
|
335
|
-
}),
|
|
336
|
-
onClose: function onClose() {
|
|
337
|
-
return setIsAlertOpen(false);
|
|
338
|
-
},
|
|
339
|
-
onSubmit: handleUseAnotherStripeAccount
|
|
340
|
-
})]
|
|
341
|
-
});
|
|
342
|
-
};
|
|
343
|
-
|
|
344
|
-
var Configure = function Configure(_ref) {
|
|
345
|
-
var holdableId = _ref.holdableId,
|
|
346
|
-
returnUrl = _ref.returnUrl;
|
|
347
|
-
var _useTranslation = useTranslation(),
|
|
348
|
-
t = _useTranslation.t;
|
|
349
|
-
var _useFetchConnectedStr = useFetchConnectedStripeAccount(holdableId),
|
|
350
|
-
_useFetchConnectedStr2 = _useFetchConnectedStr.data,
|
|
351
|
-
_useFetchConnectedStr3 = _useFetchConnectedStr2 === void 0 ? {} : _useFetchConnectedStr2,
|
|
352
|
-
stripeAccount = _useFetchConnectedStr3.account;
|
|
353
|
-
var handleStripeAccountCreated = function handleStripeAccountCreated(_ref2) {
|
|
354
|
-
var onboarding = _ref2.onboarding;
|
|
355
|
-
window.open(onboarding === null || onboarding === void 0 ? void 0 : onboarding.url, "_self");
|
|
356
|
-
};
|
|
357
|
-
var connectDescription = isPresent(stripeAccount) ? t("neetoPayments.integrationModal.linkedDescription") : t("neetoPayments.integrationModal.subtitle");
|
|
358
|
-
return /*#__PURE__*/jsxs("div", {
|
|
359
|
-
className: "mx-auto w-full max-w-lg space-y-8",
|
|
360
|
-
children: [/*#__PURE__*/jsxs("div", {
|
|
361
|
-
className: "space-y-2",
|
|
362
|
-
children: [/*#__PURE__*/jsx(SvgStripe, {}), /*#__PURE__*/jsx(Typography, {
|
|
363
|
-
"data-cy": "configure-payment-title",
|
|
364
|
-
style: "h2",
|
|
365
|
-
weight: "semibold",
|
|
366
|
-
children: t("neetoPayments.integrationModal.title")
|
|
367
|
-
}), /*#__PURE__*/jsx(Label, {
|
|
368
|
-
className: "leading-snug",
|
|
369
|
-
children: connectDescription
|
|
370
|
-
})]
|
|
371
|
-
}), isPresent(stripeAccount) ? /*#__PURE__*/jsx(AccountProcessing, {
|
|
372
|
-
onAccountCreated: handleStripeAccountCreated,
|
|
373
|
-
holdableId: holdableId,
|
|
374
|
-
returnUrl: returnUrl
|
|
375
|
-
}) : /*#__PURE__*/jsx(AccountForm, {
|
|
376
|
-
holdableId: holdableId,
|
|
377
|
-
returnUrl: returnUrl,
|
|
378
|
-
onAccountCreated: handleStripeAccountCreated
|
|
379
|
-
})]
|
|
380
|
-
});
|
|
381
|
-
};
|
|
382
|
-
|
|
383
|
-
var getInitialTab = function getInitialTab(stripeAccount) {
|
|
384
|
-
if (stripeAccount !== null && stripeAccount !== void 0 && stripeAccount.isConnected) {
|
|
385
|
-
return STEPS.finish;
|
|
386
|
-
}
|
|
387
|
-
if (isPresent(stripeAccount)) {
|
|
388
|
-
return STEPS.configure;
|
|
389
|
-
}
|
|
390
|
-
return STEPS.connect;
|
|
391
|
-
};
|
|
392
|
-
var buildStripeConnectUrl = function buildStripeConnectUrl(holdableId, returnUrl) {
|
|
393
|
-
return buildUrl(STRIPE_CONNECT_URL, {
|
|
394
|
-
holdable_id: holdableId,
|
|
395
|
-
return_url: returnUrl
|
|
396
|
-
});
|
|
397
|
-
};
|
|
398
|
-
|
|
399
|
-
var Connect = function Connect(_ref) {
|
|
400
|
-
var setActiveTab = _ref.setActiveTab,
|
|
401
|
-
holdableId = _ref.holdableId,
|
|
402
|
-
returnUrl = _ref.returnUrl;
|
|
403
|
-
var _useTranslation = useTranslation(),
|
|
404
|
-
t = _useTranslation.t;
|
|
405
|
-
var _useState = useState(INTEGRATION_METHOD.createNewAccount),
|
|
406
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
407
|
-
selectedOption = _useState2[0],
|
|
408
|
-
setSelectedOption = _useState2[1];
|
|
409
|
-
var stripeConnectUrl = buildStripeConnectUrl(holdableId, returnUrl);
|
|
410
|
-
var handleSubmit = function handleSubmit() {
|
|
411
|
-
if (selectedOption !== INTEGRATION_METHOD.useExistingAccount) {
|
|
412
|
-
setActiveTab(STEPS.configure);
|
|
413
|
-
return;
|
|
414
|
-
}
|
|
415
|
-
window.location.href = DOMPurify.sanitize(stripeConnectUrl);
|
|
416
|
-
};
|
|
417
|
-
return /*#__PURE__*/jsxs("div", {
|
|
418
|
-
className: "mx-auto w-full max-w-lg space-y-8",
|
|
419
|
-
children: [/*#__PURE__*/jsxs("div", {
|
|
420
|
-
className: "space-y-2",
|
|
421
|
-
children: [/*#__PURE__*/jsx(SvgStripe, {}), /*#__PURE__*/jsx(Typography, {
|
|
422
|
-
"data-cy": "configure-payment-title",
|
|
423
|
-
style: "h2",
|
|
424
|
-
weight: "semibold",
|
|
425
|
-
children: t("neetoPayments.integrationModal.title")
|
|
426
|
-
}), /*#__PURE__*/jsx(Label, {
|
|
427
|
-
className: "leading-snug",
|
|
428
|
-
children: t("neetoPayments.integrationModal.subtitle")
|
|
429
|
-
})]
|
|
430
|
-
}), /*#__PURE__*/jsxs(Radio, {
|
|
431
|
-
stacked: true,
|
|
432
|
-
value: selectedOption,
|
|
433
|
-
onChange: function onChange(event) {
|
|
434
|
-
return setSelectedOption(event.target.value);
|
|
435
|
-
},
|
|
436
|
-
children: [/*#__PURE__*/jsx(Radio.Item, {
|
|
437
|
-
className: "neeto-ui-border-black w-96 py-2",
|
|
438
|
-
label: t("neetoPayments.integrationModal.createAccount"),
|
|
439
|
-
name: "accountMethod",
|
|
440
|
-
value: INTEGRATION_METHOD.createNewAccount
|
|
441
|
-
}), /*#__PURE__*/jsx(Radio.Item, {
|
|
442
|
-
className: "neeto-ui-border-black w-96 py-2",
|
|
443
|
-
label: t("neetoPayments.integrationModal.connectAccount"),
|
|
444
|
-
name: "accountMethod",
|
|
445
|
-
value: INTEGRATION_METHOD.useExistingAccount
|
|
446
|
-
})]
|
|
447
|
-
}), /*#__PURE__*/jsx(Button, {
|
|
448
|
-
label: t("neetoPayments.common.continue"),
|
|
449
|
-
onClick: handleSubmit
|
|
450
|
-
})]
|
|
451
|
-
});
|
|
452
|
-
};
|
|
453
|
-
|
|
454
|
-
var Finish = withT(function (_ref) {
|
|
455
|
-
var t = _ref.t,
|
|
456
|
-
onSuccess = _ref.onSuccess;
|
|
457
|
-
return /*#__PURE__*/jsx(IntegrationFinish, {
|
|
458
|
-
title: t("v2.payment.finishTitle"),
|
|
459
|
-
onClick: onSuccess,
|
|
460
|
-
children: /*#__PURE__*/jsx(AccountDetails, {})
|
|
461
|
-
});
|
|
462
|
-
});
|
|
463
|
-
|
|
464
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
465
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
466
|
-
var StripeConnect = function StripeConnect(_ref) {
|
|
467
|
-
var _ref$holdableId = _ref.holdableId,
|
|
468
|
-
holdableId = _ref$holdableId === void 0 ? null : _ref$holdableId,
|
|
469
|
-
isOpen = _ref.isOpen,
|
|
470
|
-
onClose = _ref.onClose,
|
|
471
|
-
_ref$isPlatform = _ref.isPlatform,
|
|
472
|
-
isPlatform = _ref$isPlatform === void 0 ? false : _ref$isPlatform,
|
|
473
|
-
returnUrl = _ref.returnUrl;
|
|
474
|
-
var _useFetchConnectedStr = useFetchConnectedStripeAccount(holdableId),
|
|
475
|
-
_useFetchConnectedStr2 = _useFetchConnectedStr.data,
|
|
476
|
-
_useFetchConnectedStr3 = _useFetchConnectedStr2 === void 0 ? {} : _useFetchConnectedStr2,
|
|
477
|
-
stripeAccount = _useFetchConnectedStr3.account;
|
|
478
|
-
var _useStateWithDependen = useStateWithDependency(getInitialTab(stripeAccount), [stripeAccount]),
|
|
479
|
-
_useStateWithDependen2 = _slicedToArray(_useStateWithDependen, 2),
|
|
480
|
-
activeTab = _useStateWithDependen2[0],
|
|
481
|
-
setActiveTab = _useStateWithDependen2[1];
|
|
482
|
-
var steps = useMemo(function () {
|
|
483
|
-
var _INTEGRATION_STEPS = _slicedToArray(INTEGRATION_STEPS, 4),
|
|
484
|
-
connect = _INTEGRATION_STEPS[0],
|
|
485
|
-
configure = _INTEGRATION_STEPS[1],
|
|
486
|
-
finish = _INTEGRATION_STEPS[2],
|
|
487
|
-
demo = _INTEGRATION_STEPS[3];
|
|
488
|
-
return [_objectSpread(_objectSpread({}, connect), {}, {
|
|
489
|
-
isActive: activeTab === STEPS.connect,
|
|
490
|
-
isCompleted: isPresent(stripeAccount) || activeTab === STEPS.configure || isPlatform
|
|
491
|
-
}), _objectSpread(_objectSpread({}, configure), {}, {
|
|
492
|
-
isActive: activeTab === STEPS.configure,
|
|
493
|
-
isCompleted: !!(stripeAccount !== null && stripeAccount !== void 0 && stripeAccount.isConnected)
|
|
494
|
-
}), _objectSpread(_objectSpread({}, finish), {}, {
|
|
495
|
-
isActive: activeTab === STEPS.finish,
|
|
496
|
-
isCompleted: activeTab === STEPS.finish || activeTab === STEPS.demo
|
|
497
|
-
}), _objectSpread(_objectSpread({}, demo), {}, {
|
|
498
|
-
isActive: activeTab === STEPS.demo,
|
|
499
|
-
isCompleted: activeTab === STEPS.demo
|
|
500
|
-
})];
|
|
501
|
-
}, [activeTab, stripeAccount]);
|
|
502
|
-
return /*#__PURE__*/jsxs(IntegrationModal, {
|
|
503
|
-
isOpen: isOpen,
|
|
504
|
-
onClose: onClose,
|
|
505
|
-
steps: steps,
|
|
506
|
-
children: [activeTab === STEPS.connect && /*#__PURE__*/jsx(Connect, {
|
|
507
|
-
holdableId: holdableId,
|
|
508
|
-
returnUrl: returnUrl,
|
|
509
|
-
setActiveTab: setActiveTab
|
|
510
|
-
}), activeTab === STEPS.configure && /*#__PURE__*/jsx(Configure, {
|
|
511
|
-
holdableId: holdableId,
|
|
512
|
-
returnUrl: returnUrl
|
|
513
|
-
}), activeTab === STEPS.finish && /*#__PURE__*/jsx(Finish, {
|
|
514
|
-
onSuccess: onClose
|
|
515
|
-
}), activeTab === STEPS.demo && /*#__PURE__*/jsx(Demo, {
|
|
516
|
-
onClose: onClose
|
|
517
|
-
})]
|
|
518
|
-
});
|
|
519
|
-
};
|
|
520
|
-
|
|
521
|
-
export { StripeConnect as default };
|
|
522
|
-
//# sourceMappingURL=StripeConnect.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StripeConnect.js","sources":["../app/javascript/src/assets/images/stripe.svg","../app/javascript/src/apis/stripe/countries.js","../app/javascript/src/hooks/reactQuery/stripe/useGeneralApi.js","../app/javascript/src/components/StripeConnect/Account/constants.js","../app/javascript/src/components/StripeConnect/constants.js","../app/javascript/src/components/StripeConnect/Account/utils.js","../app/javascript/src/components/StripeConnect/Account/Form.jsx","../app/javascript/src/components/StripeConnect/Account/Details.jsx","../app/javascript/src/components/StripeConnect/Account/Processing.jsx","../app/javascript/src/components/StripeConnect/Configure.jsx","../app/javascript/src/components/StripeConnect/utils.js","../app/javascript/src/components/StripeConnect/Connect.jsx","../app/javascript/src/components/StripeConnect/Finish.jsx","../app/javascript/src/components/StripeConnect/index.jsx"],"sourcesContent":["<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\" width=\"54px\" height=\"54px\" fill=\"#6772e5\"><path d=\"M111.328 15.602c0-4.97-2.415-8.9-7.013-8.9s-7.423 3.924-7.423 8.863c0 5.85 3.32 8.8 8.036 8.8 2.318 0 4.06-.528 5.377-1.26V19.22a10.246 10.246 0 0 1-4.764 1.075c-1.9 0-3.556-.67-3.774-2.943h9.497a39.64 39.64 0 0 0 .063-1.748zm-9.606-1.835c0-2.186 1.35-3.1 2.56-3.1s2.454.906 2.454 3.1zM89.4 6.712a5.434 5.434 0 0 0-3.801 1.509l-.254-1.208h-4.27v22.64l4.85-1.032v-5.488a5.434 5.434 0 0 0 3.444 1.265c3.472 0 6.64-2.792 6.64-8.957.003-5.66-3.206-8.73-6.614-8.73zM88.23 20.1a2.898 2.898 0 0 1-2.288-.906l-.03-7.2a2.928 2.928 0 0 1 2.315-.96c1.775 0 2.998 2 2.998 4.528.003 2.593-1.198 4.546-2.995 4.546zM79.25.57l-4.87 1.035v3.95l4.87-1.032z\" fill-rule=\"evenodd\"/><path d=\"M74.38 7.035h4.87V24.04h-4.87z\"/><path d=\"M69.164 8.47l-.302-1.434h-4.196V24.04h4.848V12.5c1.147-1.5 3.082-1.208 3.698-1.017V7.038c-.646-.232-2.913-.658-4.048 1.43zm-9.73-5.646L54.698 3.83l-.02 15.562c0 2.87 2.158 4.993 5.038 4.993 1.585 0 2.756-.302 3.405-.643v-3.95c-.622.248-3.683 1.138-3.683-1.72v-6.9h3.683V7.035h-3.683zM46.3 11.97c0-.758.63-1.05 1.648-1.05a10.868 10.868 0 0 1 4.83 1.25V7.6a12.815 12.815 0 0 0-4.83-.888c-3.924 0-6.557 2.056-6.557 5.488 0 5.37 7.375 4.498 7.375 6.813 0 .906-.78 1.186-1.863 1.186-1.606 0-3.68-.664-5.307-1.55v4.63a13.461 13.461 0 0 0 5.307 1.117c4.033 0 6.813-1.992 6.813-5.485 0-5.796-7.417-4.76-7.417-6.943zM13.88 9.515c0-1.37 1.14-1.9 2.982-1.9A19.661 19.661 0 0 1 25.6 9.876v-8.27A23.184 23.184 0 0 0 16.862.001C9.762.001 5 3.72 5 9.93c0 9.716 13.342 8.138 13.342 12.326 0 1.638-1.4 2.146-3.37 2.146-2.905 0-6.657-1.202-9.6-2.802v8.378A24.353 24.353 0 0 0 14.973 32C22.27 32 27.3 28.395 27.3 22.077c0-10.486-13.42-8.613-13.42-12.56z\" fill-rule=\"evenodd\"/></svg>\n","import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst fetchCountries = () => axios.get(`${BASE_URL}/api/v1/stripe/countries`);\n\nconst countriesApi = { fetchCountries };\n\nexport default countriesApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport countriesApi from \"apis/stripe/countries\";\nimport { QUERY_KEYS } from \"src/common/queryConstants\";\n\nexport const useFetchStripeCountries = () =>\n useQuery({\n queryKey: [QUERY_KEYS.STRIPE_COUNTRIES],\n queryFn: countriesApi.fetchCountries,\n });\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const POLLING_INTERVAL = 5000;\nexport const MAX_POLLING_TIME = 30000;\n\nexport const INITIAL_VALUES = { country: \"\", return_url: \"\" };\n\nexport const VALIDATION_SCHEMA = yup.object().shape({\n country: yup\n .object()\n .required(t(\"neetoPayments.validations.countryRequired\")),\n returnUrl: yup.string().url(t(\"neetoPayments.validations.invalidUrl\")),\n});\n","import { t } from \"i18next\";\n\nimport { BASE_URL } from \"src/constants\";\n\nexport const STEPS = {\n connect: \"connect\",\n configure: \"configure\",\n finish: \"finish\",\n demo: \"demo\",\n};\n\nexport const INTEGRATION_STEPS = [\n {\n step: \"1\",\n label: t(\"neetoPayments.common.connect\"),\n isActive: false,\n isCompleted: false,\n },\n {\n step: \"2\",\n label: t(\"neetoPayments.common.configure\"),\n isActive: false,\n isCompleted: false,\n },\n {\n step: \"3\",\n label: t(\"neetoPayments.common.finish\"),\n isActive: false,\n isCompleted: true,\n },\n // { step: \"4\", label: \"demo\", isActive: false, isCompleted: false },\n];\n\nexport const INTEGRATION_METHOD = {\n useExistingAccount: \"use_existing_account\",\n createNewAccount: \"create_new_account\",\n};\n\nexport const STRIPE_CONNECT_URL = `/${BASE_URL}/api/v1/integrations/connect/stripe`;\n","import { humanize } from \"neetocist\";\nimport { assocPath } from \"ramda\";\n\nimport { STEPS } from \"../constants\";\n\nexport const buildRefreshUrl = (accountId, returnUrl) =>\n `/payments/api/v1/stripe/callbacks/${accountId}/refresh?return_url=${returnUrl}`;\n\nexport const moveStep = (from, to) =>\n assocPath(\n [from, \"status\"],\n \"completed\",\n assocPath([to, \"status\"], \"initiated\", STEPS)\n );\n\nexport const buildCountryOptions = countries =>\n Object.entries(countries)?.map(country => ({\n label: humanize(country[0]),\n value: country[1],\n }));\n","import { useState } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { Spinner } from \"neetoui\";\nimport { Select, Form, ActionBlock } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n useCreateStripeAccount,\n usePollingStripeAccountCreationStatus,\n} from \"hooks/reactQuery/stripe/useConnectApi\";\nimport { useFetchStripeCountries } from \"hooks/reactQuery/stripe/useGeneralApi\";\n\nimport {\n VALIDATION_SCHEMA,\n INITIAL_VALUES,\n POLLING_INTERVAL,\n} from \"./constants\";\nimport { buildCountryOptions } from \"./utils\";\n\nconst AccountForm = ({ holdableId, returnUrl }) => {\n const { t } = useTranslation();\n const history = useHistory();\n\n const [isPolling, setIsPolling] = useState(false);\n\n const submitButtonLabel = isPolling\n ? t(\"neetoPayments.integrationModal.creating\")\n : t(\"neetoPayments.common.connect\");\n\n const refetchInterval = ({ jobStatus, onboarding } = {}) => {\n if (jobStatus === \"complete\") {\n window.open(onboarding?.url, \"_self\");\n\n return false;\n }\n\n return POLLING_INTERVAL;\n };\n\n const {\n isPending: isCreating,\n data: { jobId } = {},\n mutate: createStripeAccount,\n } = useCreateStripeAccount({ onSuccess: () => setIsPolling(true) });\n\n usePollingStripeAccountCreationStatus(jobId, {\n refetchInterval,\n enabled: isPresent(jobId),\n });\n\n const { isLoading, data: { countries = {} } = {} } =\n useFetchStripeCountries();\n\n const handleSubmit = ({ country }) => {\n const payload = { returnUrl, country: country.value, holdableId };\n createStripeAccount(payload);\n };\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Form\n formikProps={{\n enableReinitialize: true,\n initialValues: INITIAL_VALUES,\n validationSchema: VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n <div className=\"space-y-3\">\n <Select\n required\n helpText={t(\"neetoPayments.integrationModal.form.helpText\")}\n label={t(\"neetoPayments.integrationModal.form.label\")}\n name=\"country\"\n options={buildCountryOptions(countries)}\n placeholder={t(\"neetoPayments.integrationModal.form.placeholder\")}\n />\n <ActionBlock\n cancelButtonProps={{ onClick: () => history.goBack() }}\n isSubmitting={isCreating || isPolling}\n submitButtonProps={{ label: submitButtonLabel }}\n />\n </div>\n </Form>\n );\n};\n\nexport default AccountForm;\n","import { Typography, Label } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchConnectedStripeAccount } from \"hooks/reactQuery/stripe/useConnectApi\";\n\nconst AccountDetails = ({ holdableId }) => {\n const { data: { account: stripeAccount } = {} } =\n useFetchConnectedStripeAccount(holdableId);\n\n const { t } = useTranslation();\n\n return (\n <div className=\"mb-6 space-y-3\">\n <Typography style=\"h5\" weight=\"medium\">\n {t(\"neetoPayments.integrationModal.account.title\")}\n </Typography>\n <div className=\"grid grid-cols-4 gap-y-3\">\n <Label className=\"neeto-ui-text-gray-800\">\n {t(\"neetoPayments.common.id\")}\n </Label>\n <Label className=\"neeto-ui-text-gray-800 col-span-3\">\n {stripeAccount?.identifier}\n </Label>\n <Label className=\"neeto-ui-text-gray-800\">\n {t(\"neetoPayments.common.email\")}\n </Label>\n <Label className=\"neeto-ui-text-gray-800 col-span-3\">\n {stripeAccount?.email}\n </Label>\n <Label className=\"neeto-ui-text-gray-800\">\n {t(\"neetoPayments.common.country\")}\n </Label>\n <Label className=\"neeto-ui-text-gray-800 col-span-3\">\n {stripeAccount?.country}\n </Label>\n </div>\n </div>\n );\n};\n\nexport default AccountDetails;\n","import { useState, useEffect } from \"react\";\n\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { Alert, Button } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport {\n useDestroyStripeAccount,\n useFetchConnectedStripeAccount,\n usePollingStripeAccount,\n} from \"hooks/reactQuery/stripe/useConnectApi\";\n\nimport { POLLING_INTERVAL, MAX_POLLING_TIME } from \"./constants\";\nimport AccountDetails from \"./Details\";\nimport { buildRefreshUrl } from \"./utils\";\n\nconst AccountProcessing = ({ holdableId, returnUrl }) => {\n const { app } = useQueryParams();\n const [isAlertOpen, setIsAlertOpen] = useState(false);\n const [isPolling, setIsPolling] = useState(false);\n const { t } = useTranslation();\n\n const isStripeCallback = app === \"stripe\";\n\n useEffect(() => {\n if (!isStripeCallback) return;\n\n setIsPolling(true);\n setInterval(() => {\n setIsPolling(false);\n }, MAX_POLLING_TIME);\n }, [isStripeCallback]);\n\n const { data: { account: stripeAccount } = {} } =\n useFetchConnectedStripeAccount(holdableId);\n\n const { isPending: isStripeAccountDestroying, mutate: destroyStripeAccount } =\n useDestroyStripeAccount({\n onSuccess: () => setIsAlertOpen(false),\n holdableId,\n });\n\n const refetchInterval = ({ account } = {}) => {\n if (isStripeCallback && !account?.isConnected && isPolling) {\n return POLLING_INTERVAL;\n }\n\n if (account?.isConnected) {\n setIsPolling(false);\n }\n\n return false;\n };\n\n usePollingStripeAccount(holdableId, { refetchInterval });\n\n const isAccountProcessingFailed =\n isStripeCallback && !isPolling && !stripeAccount?.isConnected;\n\n const buttonLabel = () => {\n if (isPolling) {\n return t(\"neetoPayments.integrationModal.creating\");\n }\n\n if (isAccountProcessingFailed) {\n return t(\"neetoPayments.integrationModal.failedButton\");\n }\n\n return t(\"neetoPayments.common.continue\");\n };\n\n const handleUseAnotherStripeAccount = () => {\n destroyStripeAccount(stripeAccount?.id);\n };\n\n return (\n <>\n <AccountDetails />\n <div className=\"flex flex-col items-start space-y-2\">\n <Button\n disabled={isPolling}\n href={buildRefreshUrl(stripeAccount?.id, returnUrl)}\n label={buttonLabel()}\n loading={isPolling}\n size=\"small\"\n />\n {!isPolling && !isAccountProcessingFailed && (\n <Button\n disabled={isStripeAccountDestroying || isPolling}\n label={t(\"neetoPayments.integrationModal.anotherAccount\")}\n size=\"small\"\n style=\"link\"\n onClick={() => setIsAlertOpen(true)}\n />\n )}\n </div>\n <Alert\n isOpen={isAlertOpen}\n title={t(\"neetoPayments.integrationModal.alert.changeTitle\")}\n message={\n <Trans\n i18nKey=\"neetoPayments.integrationModal.alert.changeMessage\"\n values={{ account: stripeAccount?.email }}\n />\n }\n onClose={() => setIsAlertOpen(false)}\n onSubmit={handleUseAnotherStripeAccount}\n />\n </>\n );\n};\n\nexport default AccountProcessing;\n","import { isPresent } from \"neetocist\";\nimport { Label, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport StripeIcon from \"assets/images/stripe\";\nimport { useFetchConnectedStripeAccount } from \"hooks/reactQuery/stripe/useConnectApi\";\n\nimport AccountForm from \"./Account/Form\";\nimport AccountProcessing from \"./Account/Processing\";\n\nconst Configure = ({ holdableId, returnUrl }) => {\n const { t } = useTranslation();\n\n const { data: { account: stripeAccount } = {} } =\n useFetchConnectedStripeAccount(holdableId);\n\n const handleStripeAccountCreated = ({ onboarding }) => {\n window.open(onboarding?.url, \"_self\");\n };\n\n const connectDescription = isPresent(stripeAccount)\n ? t(\"neetoPayments.integrationModal.linkedDescription\")\n : t(\"neetoPayments.integrationModal.subtitle\");\n\n return (\n <div className=\"mx-auto w-full max-w-lg space-y-8\">\n <div className=\"space-y-2\">\n <StripeIcon />\n <Typography\n data-cy=\"configure-payment-title\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {t(\"neetoPayments.integrationModal.title\")}\n </Typography>\n <Label className=\"leading-snug\">{connectDescription}</Label>\n </div>\n {isPresent(stripeAccount) ? (\n <AccountProcessing\n onAccountCreated={handleStripeAccountCreated}\n {...{ holdableId, returnUrl }}\n />\n ) : (\n <AccountForm\n {...{ holdableId, returnUrl }}\n onAccountCreated={handleStripeAccountCreated}\n />\n )}\n </div>\n );\n};\n\nexport default Configure;\n","import { isPresent } from \"neetocist\";\nimport { buildUrl } from \"neetocommons/utils\";\n\nimport { STEPS, STRIPE_CONNECT_URL } from \"./constants\";\n\nexport const getInitialTab = stripeAccount => {\n if (stripeAccount?.isConnected) {\n return STEPS.finish;\n }\n\n if (isPresent(stripeAccount)) {\n return STEPS.configure;\n }\n\n return STEPS.connect;\n};\n\nexport const buildStripeConnectUrl = (holdableId, returnUrl) =>\n buildUrl(STRIPE_CONNECT_URL, {\n holdable_id: holdableId,\n return_url: returnUrl,\n });\n","import { useState } from \"react\";\n\nimport DOMPurify from \"dompurify\";\nimport { Typography, Label, Radio, Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport StripeIcon from \"assets/images/stripe\";\n\nimport { INTEGRATION_METHOD, STEPS } from \"./constants\";\nimport { buildStripeConnectUrl } from \"./utils\";\n\nconst Connect = ({ setActiveTab, holdableId, returnUrl }) => {\n const { t } = useTranslation();\n const [selectedOption, setSelectedOption] = useState(\n INTEGRATION_METHOD.createNewAccount\n );\n\n const stripeConnectUrl = buildStripeConnectUrl(holdableId, returnUrl);\n\n const handleSubmit = () => {\n if (selectedOption !== INTEGRATION_METHOD.useExistingAccount) {\n setActiveTab(STEPS.configure);\n\n return;\n }\n window.location.href = DOMPurify.sanitize(stripeConnectUrl);\n };\n\n return (\n <div className=\"mx-auto w-full max-w-lg space-y-8\">\n <div className=\"space-y-2\">\n <StripeIcon />\n <Typography\n data-cy=\"configure-payment-title\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {t(\"neetoPayments.integrationModal.title\")}\n </Typography>\n <Label className=\"leading-snug\">\n {t(\"neetoPayments.integrationModal.subtitle\")}\n </Label>\n </div>\n <Radio\n stacked\n value={selectedOption}\n onChange={event => setSelectedOption(event.target.value)}\n >\n <Radio.Item\n className=\"neeto-ui-border-black w-96 py-2\"\n label={t(\"neetoPayments.integrationModal.createAccount\")}\n name=\"accountMethod\"\n value={INTEGRATION_METHOD.createNewAccount}\n />\n <Radio.Item\n className=\"neeto-ui-border-black w-96 py-2\"\n label={t(\"neetoPayments.integrationModal.connectAccount\")}\n name=\"accountMethod\"\n value={INTEGRATION_METHOD.useExistingAccount}\n />\n </Radio>\n <Button\n label={t(\"neetoPayments.common.continue\")}\n onClick={handleSubmit}\n />\n </div>\n );\n};\n\nexport default Connect;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Finish as IntegrationFinish } from \"neetointegrations\";\n\nimport AccountDetails from \"./Account/Details\";\n\nconst Finish = withT(({ t, onSuccess }) => (\n <IntegrationFinish title={t(\"v2.payment.finishTitle\")} onClick={onSuccess}>\n <AccountDetails />\n </IntegrationFinish>\n));\n\nexport default Finish;\n","import { useMemo } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { useStateWithDependency } from \"neetocommons/react-utils\";\nimport { Demo, Modal as IntegrationModal } from \"neetointegrations\";\n\nimport { useFetchConnectedStripeAccount } from \"hooks/reactQuery/stripe/useConnectApi\";\n\nimport Configure from \"./Configure\";\nimport ConnectStep from \"./Connect\";\nimport { INTEGRATION_STEPS, STEPS } from \"./constants\";\nimport Finish from \"./Finish\";\nimport { getInitialTab } from \"./utils\";\n\nconst StripeConnect = ({\n holdableId = null,\n isOpen,\n onClose,\n isPlatform = false,\n returnUrl,\n}) => {\n const { data: { account: stripeAccount } = {} } =\n useFetchConnectedStripeAccount(holdableId);\n\n const [activeTab, setActiveTab] = useStateWithDependency(\n getInitialTab(stripeAccount),\n [stripeAccount]\n );\n\n const steps = useMemo(() => {\n const [connect, configure, finish, demo] = INTEGRATION_STEPS;\n\n return [\n {\n ...connect,\n isActive: activeTab === STEPS.connect,\n isCompleted:\n isPresent(stripeAccount) ||\n activeTab === STEPS.configure ||\n isPlatform,\n },\n {\n ...configure,\n isActive: activeTab === STEPS.configure,\n isCompleted: !!stripeAccount?.isConnected,\n },\n {\n ...finish,\n isActive: activeTab === STEPS.finish,\n isCompleted: activeTab === STEPS.finish || activeTab === STEPS.demo,\n },\n {\n ...demo,\n isActive: activeTab === STEPS.demo,\n isCompleted: activeTab === STEPS.demo,\n },\n ];\n }, [activeTab, stripeAccount]);\n\n return (\n <IntegrationModal {...{ isOpen, onClose, steps }}>\n {activeTab === STEPS.connect && (\n <ConnectStep {...{ holdableId, returnUrl, setActiveTab }} />\n )}\n {activeTab === STEPS.configure && (\n <Configure {...{ holdableId, returnUrl }} />\n )}\n {activeTab === STEPS.finish && <Finish onSuccess={onClose} />}\n {activeTab === STEPS.demo && (\n <Demo\n {...{ onClose }}\n // videoUrl={INTEGRATIONS.stripe.walkthroughVideoUrl}\n />\n )}\n </IntegrationModal>\n );\n};\n\nexport default StripeConnect;\n"],"names":["fetchCountries","axios","get","concat","BASE_URL","countriesApi","useFetchStripeCountries","useQuery","queryKey","QUERY_KEYS","STRIPE_COUNTRIES","queryFn","POLLING_INTERVAL","MAX_POLLING_TIME","INITIAL_VALUES","country","return_url","VALIDATION_SCHEMA","yup","object","shape","required","t","returnUrl","string","url","STEPS","connect","configure","finish","demo","INTEGRATION_STEPS","step","label","isActive","isCompleted","INTEGRATION_METHOD","useExistingAccount","createNewAccount","STRIPE_CONNECT_URL","buildRefreshUrl","accountId","buildCountryOptions","countries","_Object$entries","Object","entries","map","humanize","value","AccountForm","_ref","holdableId","_useTranslation","useTranslation","history","useHistory","_useState","useState","_useState2","_slicedToArray","isPolling","setIsPolling","submitButtonLabel","refetchInterval","_ref2","arguments","length","undefined","jobStatus","onboarding","window","open","_useCreateStripeAccou","useCreateStripeAccount","onSuccess","isCreating","isPending","_useCreateStripeAccou2","data","_useCreateStripeAccou3","jobId","createStripeAccount","mutate","usePollingStripeAccountCreationStatus","enabled","isPresent","_useFetchStripeCountr","isLoading","_useFetchStripeCountr2","_useFetchStripeCountr3","_useFetchStripeCountr4","handleSubmit","_ref3","payload","_jsx","className","children","Spinner","Form","formikProps","enableReinitialize","initialValues","validationSchema","onSubmit","_jsxs","Select","helpText","name","options","placeholder","ActionBlock","cancelButtonProps","onClick","goBack","isSubmitting","submitButtonProps","AccountDetails","_useFetchConnectedStr","useFetchConnectedStripeAccount","_useFetchConnectedStr2","_useFetchConnectedStr3","stripeAccount","account","Typography","style","weight","Label","identifier","email","AccountProcessing","_useQueryParams","useQueryParams","app","isAlertOpen","setIsAlertOpen","_useState3","_useState4","isStripeCallback","useEffect","setInterval","_useDestroyStripeAcco","useDestroyStripeAccount","isStripeAccountDestroying","destroyStripeAccount","isConnected","usePollingStripeAccount","isAccountProcessingFailed","buttonLabel","handleUseAnotherStripeAccount","id","_Fragment","Button","disabled","href","loading","size","Alert","isOpen","title","message","Trans","i18nKey","values","onClose","Configure","handleStripeAccountCreated","connectDescription","StripeIcon","onAccountCreated","getInitialTab","buildStripeConnectUrl","buildUrl","holdable_id","Connect","setActiveTab","selectedOption","setSelectedOption","stripeConnectUrl","location","DOMPurify","sanitize","Radio","stacked","onChange","event","target","Item","Finish","withT","IntegrationFinish","StripeConnect","_ref$holdableId","_ref$isPlatform","isPlatform","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","activeTab","steps","useMemo","_INTEGRATION_STEPS","_objectSpread","IntegrationModal","ConnectStep","Demo"],"mappings":"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"}
|