@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.
Files changed (42) hide show
  1. package/dist/ManualUpiPaymentConfirmButton.js +188 -0
  2. package/dist/ManualUpiPaymentConfirmButton.js.map +1 -0
  3. package/dist/PayoutsDashboard.js +1 -2
  4. package/dist/PayoutsDashboard.js.map +1 -1
  5. package/dist/PayoutsPage.js +1 -2
  6. package/dist/PayoutsPage.js.map +1 -1
  7. package/dist/cjs/AccountsDashboard.js +15 -15
  8. package/dist/cjs/AdminCancelRecurringPaymentButton.js +2 -2
  9. package/dist/cjs/ConfirmUpiPaymentButton.js +2 -2
  10. package/dist/cjs/{ExportModal-CPZu2qzb.js → ExportModal-BZWbo5JF.js} +6 -6
  11. package/dist/cjs/{ExportModal-CPZu2qzb.js.map → ExportModal-BZWbo5JF.js.map} +1 -1
  12. package/dist/cjs/ManualUpiPaymentConfirmButton.js +209 -0
  13. package/dist/cjs/ManualUpiPaymentConfirmButton.js.map +1 -0
  14. package/dist/cjs/PaymentsDashboard.js +9 -9
  15. package/dist/cjs/PayoutsDashboard.js +17 -18
  16. package/dist/cjs/PayoutsDashboard.js.map +1 -1
  17. package/dist/cjs/PayoutsPage.js +2 -3
  18. package/dist/cjs/PayoutsPage.js.map +1 -1
  19. package/dist/cjs/RefundsDashboard.js +9 -9
  20. package/dist/cjs/SplitTransfersDashboard.js +15 -15
  21. package/dist/cjs/TaxesDashboard.js +4 -4
  22. package/dist/cjs/UpiConnect.js +3 -3
  23. package/dist/cjs/index.js +24 -30
  24. package/dist/cjs/index.js.map +1 -1
  25. package/dist/cjs/{usePlatformApi-CWdvdY23.js → usePlatformApi-DB_N-Ua_.js} +40 -2
  26. package/dist/cjs/usePlatformApi-DB_N-Ua_.js.map +1 -0
  27. package/dist/cjs/useStripePromise.js +2 -2
  28. package/dist/index.js +18 -24
  29. package/dist/index.js.map +1 -1
  30. package/dist/{usePlatformApi-BmTjLVDt.js → usePlatformApi-36ZLH1ga.js} +39 -3
  31. package/dist/usePlatformApi-36ZLH1ga.js.map +1 -0
  32. package/package.json +17 -15
  33. package/dist/StripeConnect.js +0 -522
  34. package/dist/StripeConnect.js.map +0 -1
  35. package/dist/cjs/StripeConnect.js +0 -543
  36. package/dist/cjs/StripeConnect.js.map +0 -1
  37. package/dist/cjs/useConnectApi-CUkuzw0c.js +0 -114
  38. package/dist/cjs/useConnectApi-CUkuzw0c.js.map +0 -1
  39. package/dist/cjs/usePlatformApi-CWdvdY23.js.map +0 -1
  40. package/dist/useConnectApi-DLJNjz8A.js +0 -106
  41. package/dist/useConnectApi-DLJNjz8A.js.map +0 -1
  42. package/dist/usePlatformApi-BmTjLVDt.js.map +0 -1
@@ -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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"}