@bigbinary/neeto-integrations-frontend 3.0.0 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/app/javascript/src/translations/en.json +1 -1
  2. package/dist/Connect.js +99 -0
  3. package/dist/Connect.js.map +1 -0
  4. package/dist/Daily.js +31 -792
  5. package/dist/Daily.js.map +1 -1
  6. package/dist/DailyForm.js +25 -0
  7. package/dist/DailyForm.js.map +1 -0
  8. package/dist/Demo.js +95 -0
  9. package/dist/Demo.js.map +1 -0
  10. package/dist/Finish.js +87 -0
  11. package/dist/Finish.js.map +1 -0
  12. package/dist/Form-5be03668.js +171 -0
  13. package/dist/Form-5be03668.js.map +1 -0
  14. package/dist/Form-be2e5595.js +209 -0
  15. package/dist/Form-be2e5595.js.map +1 -0
  16. package/dist/GoogleCalendar.js +127 -0
  17. package/dist/GoogleCalendar.js.map +1 -0
  18. package/dist/Manage.js +162 -0
  19. package/dist/Manage.js.map +1 -0
  20. package/dist/Modal.js +84 -0
  21. package/dist/Modal.js.map +1 -0
  22. package/dist/Twilio.js +5 -108
  23. package/dist/Twilio.js.map +1 -1
  24. package/dist/ZapierForm.js +8 -102
  25. package/dist/ZapierForm.js.map +1 -1
  26. package/dist/Zoom.js +14 -895
  27. package/dist/Zoom.js.map +1 -1
  28. package/dist/cjs/Connect.js +106 -0
  29. package/dist/cjs/Connect.js.map +1 -0
  30. package/dist/cjs/Daily.js +150 -0
  31. package/dist/cjs/Daily.js.map +1 -0
  32. package/dist/cjs/DailyForm.js +31 -0
  33. package/dist/cjs/DailyForm.js.map +1 -0
  34. package/dist/cjs/Demo.js +102 -0
  35. package/dist/cjs/Demo.js.map +1 -0
  36. package/dist/cjs/Finish.js +113 -0
  37. package/dist/cjs/Finish.js.map +1 -0
  38. package/dist/cjs/GoogleCalendar.js +137 -0
  39. package/dist/cjs/GoogleCalendar.js.map +1 -0
  40. package/dist/cjs/Manage.js +173 -0
  41. package/dist/cjs/Manage.js.map +1 -0
  42. package/dist/cjs/Modal.js +92 -0
  43. package/dist/cjs/Modal.js.map +1 -0
  44. package/dist/{Twilio.cjs.js → cjs/Twilio.js} +22 -125
  45. package/dist/cjs/Twilio.js.map +1 -0
  46. package/dist/{ZapierForm.cjs.js → cjs/ZapierForm.js} +19 -113
  47. package/dist/cjs/ZapierForm.js.map +1 -0
  48. package/dist/cjs/Zoom.js +127 -0
  49. package/dist/cjs/Zoom.js.map +1 -0
  50. package/dist/cjs/index.js +67 -0
  51. package/dist/cjs/index.js.map +1 -0
  52. package/dist/defineProperty-e90a259c.js +43 -0
  53. package/dist/defineProperty-e90a259c.js.map +1 -0
  54. package/dist/defineProperty-f3094d6c.js +45 -0
  55. package/dist/defineProperty-f3094d6c.js.map +1 -0
  56. package/dist/index-2f3a953b.js +86 -0
  57. package/dist/index-2f3a953b.js.map +1 -0
  58. package/dist/index-4bda54e6.js +84 -0
  59. package/dist/index-4bda54e6.js.map +1 -0
  60. package/dist/index.js +49 -1501
  61. package/dist/index.js.map +1 -1
  62. package/dist/query-4f9552ab.js +21 -0
  63. package/dist/query-4f9552ab.js.map +1 -0
  64. package/dist/query-62fcdf0a.js +15 -0
  65. package/dist/query-62fcdf0a.js.map +1 -0
  66. package/dist/slicedToArray-b4278ecd.js +57 -0
  67. package/dist/slicedToArray-b4278ecd.js.map +1 -0
  68. package/dist/slicedToArray-f320d9e7.js +61 -0
  69. package/dist/slicedToArray-f320d9e7.js.map +1 -0
  70. package/package.json +15 -13
  71. package/dist/Daily.cjs.js +0 -945
  72. package/dist/Daily.cjs.js.map +0 -1
  73. package/dist/GoogleCalender.cjs.js +0 -1114
  74. package/dist/GoogleCalender.cjs.js.map +0 -1
  75. package/dist/GoogleCalender.js +0 -1067
  76. package/dist/GoogleCalender.js.map +0 -1
  77. package/dist/Twilio.cjs.js.map +0 -1
  78. package/dist/ZapierForm.cjs.js.map +0 -1
  79. package/dist/Zoom.cjs.js +0 -1044
  80. package/dist/Zoom.cjs.js.map +0 -1
  81. package/dist/index.cjs.js +0 -1573
  82. package/dist/index.cjs.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,1502 +1,50 @@
1
- export { default as Card } from '@bigbinary/neeto-molecules/IntegrationCard';
2
- import DisconnectAlert from '@bigbinary/neeto-molecules/IntegrationDisconnectAlert';
3
- export { default as DisconnectAlert } from '@bigbinary/neeto-molecules/IntegrationDisconnectAlert';
4
- import WalkthroughModal from '@bigbinary/neeto-molecules/IntegrationWalkthroughModal';
5
- export { default as WalkthroughModal } from '@bigbinary/neeto-molecules/IntegrationWalkthroughModal';
6
- import * as React from 'react';
7
- import React__default, { useState, useEffect, useRef } from 'react';
8
- import classnames from 'classnames';
9
- import { humanize, noop, isPresent, keysToSnakeCase, _findBy, isNotEmpty } from '@bigbinary/neeto-cist';
10
- import { withT, useMutationWithInvalidation, withTitle, useQueryParams, useStateWithDependency } from '@bigbinary/neeto-commons-frontend/react-utils';
11
- import Check from '@bigbinary/neeto-icons/Check';
12
- import Button from '@bigbinary/neetoui/Button';
13
- import Tooltip from '@bigbinary/neetoui/Tooltip';
14
- import Typography from '@bigbinary/neetoui/Typography';
15
- import { Trans, useTranslation } from 'react-i18next';
16
- import i18next, { t as t$1 } from 'i18next';
17
- import { useQuery } from '@tanstack/react-query';
18
- import { DEFAULT_STALE_TIME } from '@bigbinary/neeto-commons-frontend/constants';
19
- import axios from 'axios';
20
- import Container from '@bigbinary/neeto-molecules/Container';
21
- import Header from '@bigbinary/neeto-molecules/Header';
22
- import HelpPopover from '@bigbinary/neeto-molecules/HelpPopover';
23
- import PageLoader from '@bigbinary/neeto-molecules/PageLoader';
24
- import Input from '@bigbinary/neetoui/formik/Input';
25
- import FormikForm from '@bigbinary/neetoui/formik/Form';
26
- import ActionBlock from '@bigbinary/neetoui/formik/ActionBlock';
27
- import { useHistory } from 'react-router-dom';
28
- import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
29
- import { buildUrl, getQueryParams } from '@bigbinary/neeto-commons-frontend/utils';
30
- import GoogleCalendarIcon from '@bigbinary/neeto-icons/misc/GoogleCalendar';
31
- import Google from '@bigbinary/neeto-icons/misc/Google';
32
- import Callout from '@bigbinary/neetoui/Callout';
33
- import { prop, equals, isEmpty } from 'ramda';
34
- import Select from '@bigbinary/neetoui/formik/Select';
35
- import * as yup from 'yup';
36
- import ZoomIcon from '@bigbinary/neeto-icons/misc/Zoom';
37
- import NeetoUIModal from '@bigbinary/neetoui/Modal';
38
- import DailyIcon from '@bigbinary/neeto-icons/misc/Daily';
39
- import CopyToClipboardButton from '@bigbinary/neeto-molecules/CopyToClipboardButton';
40
-
41
- function _typeof(o) {
42
- "@babel/helpers - typeof";
43
-
44
- return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
45
- return typeof o;
46
- } : function (o) {
47
- return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
48
- }, _typeof(o);
49
- }
50
-
51
- function _toPrimitive(input, hint) {
52
- if (_typeof(input) !== "object" || input === null) return input;
53
- var prim = input[Symbol.toPrimitive];
54
- if (prim !== undefined) {
55
- var res = prim.call(input, hint || "default");
56
- if (_typeof(res) !== "object") return res;
57
- throw new TypeError("@@toPrimitive must return a primitive value.");
58
- }
59
- return (hint === "string" ? String : Number)(input);
60
- }
61
-
62
- function _toPropertyKey(arg) {
63
- var key = _toPrimitive(arg, "string");
64
- return _typeof(key) === "symbol" ? key : String(key);
65
- }
66
-
67
- function _defineProperty(obj, key, value) {
68
- key = _toPropertyKey(key);
69
- if (key in obj) {
70
- Object.defineProperty(obj, key, {
71
- value: value,
72
- enumerable: true,
73
- configurable: true,
74
- writable: true
75
- });
76
- } else {
77
- obj[key] = value;
78
- }
79
- return obj;
80
- }
81
-
82
- function ownKeys$8(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; }
83
- function _objectSpread$8(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$8(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$8(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
84
- var Manage$1 = withT(function (_ref) {
85
- var t = _ref.t,
86
- _ref$title = _ref.title,
87
- title = _ref$title === void 0 ? "" : _ref$title,
88
- _ref$description = _ref.description,
89
- description = _ref$description === void 0 ? "" : _ref$description,
90
- _ref$integration = _ref.integration,
91
- integration = _ref$integration === void 0 ? "" : _ref$integration,
92
- _ref$isDisconnectAler = _ref.isDisconnectAlertOpen,
93
- isDisconnectAlertOpen = _ref$isDisconnectAler === void 0 ? false : _ref$isDisconnectAler,
94
- _ref$setIsDisconnectA = _ref.setIsDisconnectAlertOpen,
95
- setIsDisconnectAlertOpen = _ref$setIsDisconnectA === void 0 ? noop : _ref$setIsDisconnectA,
96
- _ref$isDisconnecting = _ref.isDisconnecting,
97
- isDisconnecting = _ref$isDisconnecting === void 0 ? false : _ref$isDisconnecting,
98
- _ref$onConnect = _ref.onConnect,
99
- onConnect = _ref$onConnect === void 0 ? undefined : _ref$onConnect,
100
- _ref$onDisconnect = _ref.onDisconnect,
101
- onDisconnect = _ref$onDisconnect === void 0 ? undefined : _ref$onDisconnect,
102
- _ref$onClose = _ref.onClose,
103
- onClose = _ref$onClose === void 0 ? noop : _ref$onClose,
104
- _ref$Icon = _ref.Icon,
105
- Icon = _ref$Icon === void 0 ? null : _ref$Icon,
106
- _ref$isConnected = _ref.isConnected,
107
- isConnected = _ref$isConnected === void 0 ? false : _ref$isConnected,
108
- _ref$connectPath = _ref.connectPath,
109
- connectPath = _ref$connectPath === void 0 ? "" : _ref$connectPath,
110
- _ref$connectUrl = _ref.connectUrl,
111
- connectUrl = _ref$connectUrl === void 0 ? "" : _ref$connectUrl,
112
- _ref$helpDocUrl = _ref.helpDocUrl,
113
- helpDocUrl = _ref$helpDocUrl === void 0 ? "" : _ref$helpDocUrl,
114
- _ref$managePath = _ref.managePath,
115
- managePath = _ref$managePath === void 0 ? "" : _ref$managePath,
116
- _ref$manageUrl = _ref.manageUrl,
117
- manageUrl = _ref$manageUrl === void 0 ? "" : _ref$manageUrl,
118
- _ref$integrationName = _ref.integrationName,
119
- integrationName = _ref$integrationName === void 0 ? "" : _ref$integrationName,
120
- _ref$disconnectMessag = _ref.disconnectMessage,
121
- disconnectMessage = _ref$disconnectMessag === void 0 ? "" : _ref$disconnectMessag,
122
- _ref$disconnectTitle = _ref.disconnectTitle,
123
- disconnectTitle = _ref$disconnectTitle === void 0 ? "" : _ref$disconnectTitle,
124
- _ref$isConnectDisable = _ref.isConnectDisabled,
125
- isConnectDisabled = _ref$isConnectDisable === void 0 ? false : _ref$isConnectDisable,
126
- _ref$connectTooltipPr = _ref.connectTooltipProps,
127
- connectTooltipProps = _ref$connectTooltipPr === void 0 ? null : _ref$connectTooltipPr,
128
- _ref$buttonProps = _ref.buttonProps,
129
- buttonProps = _ref$buttonProps === void 0 ? {} : _ref$buttonProps,
130
- _ref$secondaryButtonP = _ref.secondaryButtonProps,
131
- secondaryButtonProps = _ref$secondaryButtonP === void 0 ? {} : _ref$secondaryButtonP;
132
- return /*#__PURE__*/jsxs(Fragment, {
133
- children: [/*#__PURE__*/jsx("div", {
134
- className: "mx-auto w-full max-w-3xl",
135
- children: /*#__PURE__*/jsxs("div", {
136
- className: "neeto-ui-border-gray-300 neeto-ui-rounded-xl mt-10 w-full space-y-4 border p-6",
137
- children: [Icon && /*#__PURE__*/jsx(Icon, {
138
- className: "neeto-ui-text-gray-600",
139
- size: 48
140
- }), /*#__PURE__*/jsxs("div", {
141
- className: "space-y-2",
142
- children: [/*#__PURE__*/jsxs("div", {
143
- className: "flex items-center space-x-4",
144
- children: [/*#__PURE__*/jsx(Typography, {
145
- className: "neeto-ui-text-gray-800 mb-0.5",
146
- style: "h2",
147
- weight: "semibold",
148
- children: title
149
- }), isConnected && /*#__PURE__*/jsx("div", {
150
- className: "neeto-ui-bg-success-500 neeto-ui-text-white neeto-ui-rounded-full flex items-center justify-center p-1",
151
- children: /*#__PURE__*/jsx(Check, {
152
- size: 24
153
- })
154
- })]
155
- }), /*#__PURE__*/jsx(Typography, {
156
- style: "body1",
157
- weight: "normal",
158
- className: classnames("neeto-ui-text-gray-800", {
159
- "break-all": isConnected
160
- }),
161
- children: description
162
- }), helpDocUrl && /*#__PURE__*/jsx(Typography, {
163
- className: "neeto-ui-text-gray-800",
164
- style: "body2",
165
- weight: "normal",
166
- children: /*#__PURE__*/jsx(Trans, {
167
- i18nKey: "neetoIntegrations.common.helpDocUrl",
168
- components: {
169
- helpLink: /*#__PURE__*/jsx(Button, {
170
- href: helpDocUrl,
171
- style: "link",
172
- target: "_blank"
173
- })
174
- },
175
- values: {
176
- integration: integrationName || humanize(integration)
177
- }
178
- })
179
- })]
180
- }), isConnected ? /*#__PURE__*/jsxs("div", {
181
- className: "space-x-2",
182
- children: [(managePath || manageUrl) && /*#__PURE__*/jsx(Button, _objectSpread$8({
183
- "data-cy": "manage-button",
184
- href: manageUrl,
185
- target: manageUrl ? "_blank" : "_self",
186
- to: managePath,
187
- label: t("neetoIntegrations.common.manageIntegration", {
188
- integration: integrationName || humanize(integration)
189
- })
190
- }, buttonProps)), onDisconnect && /*#__PURE__*/jsx(Button, _objectSpread$8({
191
- "data-cy": "disconnect-button",
192
- style: "secondary",
193
- label: t("neetoIntegrations.common.disconnectIntegration", {
194
- integration: integrationName || humanize(integration)
195
- }),
196
- onClick: function onClick() {
197
- return setIsDisconnectAlertOpen(true);
198
- }
199
- }, secondaryButtonProps))]
200
- }) : /*#__PURE__*/jsx("div", {
201
- children: /*#__PURE__*/jsx(Tooltip, _objectSpread$8(_objectSpread$8({
202
- disabled: !isConnectDisabled
203
- }, connectTooltipProps), {}, {
204
- children: /*#__PURE__*/jsx("span", {
205
- children: (connectPath || connectUrl || onConnect) && /*#__PURE__*/jsx(Button, _objectSpread$8({
206
- "data-cy": "connect-button",
207
- disabled: isConnectDisabled,
208
- href: connectUrl,
209
- to: connectPath,
210
- label: t("neetoIntegrations.common.connectIntegration", {
211
- integration: integrationName || humanize(integration)
212
- }),
213
- onClick: onConnect
214
- }, buttonProps))
215
- })
216
- }))
217
- })]
218
- })
219
- }), /*#__PURE__*/jsx(DisconnectAlert, {
220
- isDisconnecting: isDisconnecting,
221
- onClose: onClose,
222
- onDisconnect: onDisconnect,
223
- isOpen: isDisconnectAlertOpen,
224
- message: disconnectMessage || t("settings.integrations.".concat(integration, ".disconnect.message")),
225
- title: disconnectTitle || t("settings.integrations.".concat(integration, ".disconnect.title"))
226
- })]
227
- });
228
- });
229
-
230
- var INTEGRATIONS_ENGINE_BASE_URL = "/neeto_integrations";
231
- var TWILIO_CONFIGURATION_BASE_URL = "".concat(INTEGRATIONS_ENGINE_BASE_URL, "/twilio/sms_configurations");
232
- var INTEGRATIONS_ENGINE_DAILY_URL = "".concat(INTEGRATIONS_ENGINE_BASE_URL, "/daily");
233
- var INTEGRATIONS_ENGINE_ZOOM_URL = "".concat(INTEGRATIONS_ENGINE_BASE_URL, "/zoom");
234
- var INTEGRATION_DETAILS_URL = "".concat(INTEGRATIONS_ENGINE_BASE_URL, "/status");
235
-
236
- var create = function create(payload) {
237
- return axios.post(INTEGRATIONS_ENGINE_DAILY_URL, {
238
- daily: payload
239
- });
240
- };
241
- var show$1 = function show() {
242
- return axios.get(INTEGRATIONS_ENGINE_DAILY_URL);
243
- };
244
- var destroy$1 = function destroy() {
245
- return axios["delete"](INTEGRATIONS_ENGINE_DAILY_URL);
246
- };
247
- var dailiesApi = {
248
- create: create,
249
- show: show$1,
250
- destroy: destroy$1
251
- };
252
-
253
- var QUERY_KEYS = {
254
- TWILIO_SMS_CONFIGURATION: "twilio-sms-configuration",
255
- TWILIO_PHONE_NUMBERS: "twilio-phone-numbers",
256
- DAILY_CO_DETAILS: "daily-co-details",
257
- ZOOM_DETAILS: "zoom-details"
258
- };
259
-
260
- function ownKeys$7(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; }
261
- function _objectSpread$7(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$7(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$7(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
262
- var useCreateDaily = function useCreateDaily() {
263
- var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
264
- return useMutationWithInvalidation(dailiesApi.create, _objectSpread$7({
265
- keysToInvalidate: [[QUERY_KEYS.DAILY_CO_DETAILS]]
266
- }, options));
267
- };
268
- var useFetchDaily = function useFetchDaily() {
269
- return useQuery({
270
- queryKey: [QUERY_KEYS.DAILY_CO_DETAILS],
271
- queryFn: dailiesApi.show,
272
- staleTime: DEFAULT_STALE_TIME
273
- });
274
- };
275
- var useDestroyDaily = function useDestroyDaily(_ref) {
276
- var onSuccess = _ref.onSuccess;
277
- return useMutationWithInvalidation(dailiesApi.destroy, {
278
- keysToInvalidate: [[QUERY_KEYS.DAILY_CO_DETAILS]],
279
- onSuccess: onSuccess
280
- });
281
- };
282
-
283
- function _arrayWithHoles(arr) {
284
- if (Array.isArray(arr)) return arr;
285
- }
286
-
287
- function _iterableToArrayLimit(r, l) {
288
- var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
289
- if (null != t) {
290
- var e,
291
- n,
292
- i,
293
- u,
294
- a = [],
295
- f = !0,
296
- o = !1;
297
- try {
298
- if (i = (t = t.call(r)).next, 0 === l) {
299
- if (Object(t) !== t) return;
300
- f = !1;
301
- } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
302
- } catch (r) {
303
- o = !0, n = r;
304
- } finally {
305
- try {
306
- if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
307
- } finally {
308
- if (o) throw n;
309
- }
310
- }
311
- return a;
312
- }
313
- }
314
-
315
- function _arrayLikeToArray(arr, len) {
316
- if (len == null || len > arr.length) len = arr.length;
317
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
318
- return arr2;
319
- }
320
-
321
- function _unsupportedIterableToArray(o, minLen) {
322
- if (!o) return;
323
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
324
- var n = Object.prototype.toString.call(o).slice(8, -1);
325
- if (n === "Object" && o.constructor) n = o.constructor.name;
326
- if (n === "Map" || n === "Set") return Array.from(o);
327
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
328
- }
329
-
330
- function _nonIterableRest() {
331
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
332
- }
333
-
334
- function _slicedToArray(arr, i) {
335
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
336
- }
337
-
338
- function _objectWithoutPropertiesLoose(source, excluded) {
339
- if (source == null) return {};
340
- var target = {};
341
- var sourceKeys = Object.keys(source);
342
- var key, i;
343
- for (i = 0; i < sourceKeys.length; i++) {
344
- key = sourceKeys[i];
345
- if (excluded.indexOf(key) >= 0) continue;
346
- target[key] = source[key];
347
- }
348
- return target;
349
- }
350
-
351
- function _objectWithoutProperties(source, excluded) {
352
- if (source == null) return {};
353
- var target = _objectWithoutPropertiesLoose(source, excluded);
354
- var key, i;
355
- if (Object.getOwnPropertySymbols) {
356
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
357
- for (i = 0; i < sourceSymbolKeys.length; i++) {
358
- key = sourceSymbolKeys[i];
359
- if (excluded.indexOf(key) >= 0) continue;
360
- if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
361
- target[key] = source[key];
362
- }
363
- }
364
- return target;
365
- }
366
-
367
- var _excluded = ["className", "children"];
368
- function ownKeys$6(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; }
369
- function _objectSpread$6(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$6(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$6(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
370
- var ExternalLink = function ExternalLink(_ref) {
371
- var _ref$className = _ref.className,
372
- className = _ref$className === void 0 ? "" : _ref$className,
373
- _ref$children = _ref.children,
374
- children = _ref$children === void 0 ? null : _ref$children,
375
- props = _objectWithoutProperties(_ref, _excluded);
376
- return /*#__PURE__*/jsx("a", _objectSpread$6(_objectSpread$6({
377
- className: classnames(["neeto-ui-text-primary-800 hover:neeto-ui-text-primary-800 visited:neeto-ui-text-primary-600 font-medium", className])
378
- }, props), {}, {
379
- children: children
380
- }));
381
- };
382
- var ExternalLink$1 = /*#__PURE__*/React__default.memo(ExternalLink);
383
-
384
- var MANAGE_DAILY_CO_FORM_INITIAL_VALUES = {
385
- apiKey: ""
386
- };
387
- var DAILY_CO_VALIDATION_SCHEMA = yup.object().shape({
388
- apiKey: yup.string().trim().required(t$1("neetoIntegrations.errors.required", {
389
- entity: t$1("neetoIntegrations.daily.apiKey")
390
- }))
391
- });
392
-
393
- var Form = function Form(_ref) {
394
- var helpDocUrl = _ref.helpDocUrl,
395
- videoUrl = _ref.videoUrl,
396
- onConnect = _ref.onConnect,
397
- breadcrumbs = _ref.breadcrumbs;
398
- var _useTranslation = useTranslation(),
399
- t = _useTranslation.t;
400
- var history = useHistory();
401
- var _useState = useState(false),
402
- _useState2 = _slicedToArray(_useState, 2),
403
- isDemoModalOpen = _useState2[0],
404
- setIsDemoModalOpen = _useState2[1];
405
- var _useCreateDaily = useCreateDaily({
406
- onSuccess: function onSuccess() {
407
- return onConnect === null || onConnect === void 0 ? void 0 : onConnect();
408
- }
409
- }),
410
- createDaily = _useCreateDaily.mutate,
411
- isConnecting = _useCreateDaily.isPending;
412
- var handleSubmit = function handleSubmit(payload) {
413
- return createDaily(payload);
414
- };
415
- if (isConnecting) {
416
- return /*#__PURE__*/jsx(PageLoader, {});
417
- }
418
- return /*#__PURE__*/jsxs(Container, {
419
- isHeaderFixed: true,
420
- children: [/*#__PURE__*/jsx(Header, {
421
- breadcrumbs: breadcrumbs,
422
- title: /*#__PURE__*/jsxs("span", {
423
- className: "flex items-center gap-2",
424
- children: [t("neetoIntegrations.daily.connect.title"), /*#__PURE__*/jsx(HelpPopover, {
425
- title: t("neetoIntegrations.daily.connect.title"),
426
- description: /*#__PURE__*/jsx(Trans, {
427
- i18nKey: "neetoIntegrations.daily.helpDoc",
428
- components: {
429
- externalLink: /*#__PURE__*/jsx(ExternalLink$1, {
430
- "data-cy": "api-key-help-doc-link",
431
- href: helpDocUrl,
432
- rel: "noreferrer",
433
- target: "_blank"
434
- })
435
- }
436
- }),
437
- helpLinkProps: {
438
- label: /*#__PURE__*/jsx(Button, {
439
- className: "mt-8",
440
- label: t("neetoIntegrations.daily.walkthroughText"),
441
- style: "link",
442
- onClick: function onClick() {
443
- return setIsDemoModalOpen(true);
444
- }
445
- })
446
- }
447
- })]
448
- })
449
- }), /*#__PURE__*/jsxs("div", {
450
- className: "mx-auto w-full max-w-md",
451
- children: [/*#__PURE__*/jsx(FormikForm, {
452
- formikProps: {
453
- initialValues: MANAGE_DAILY_CO_FORM_INITIAL_VALUES,
454
- validationSchema: DAILY_CO_VALIDATION_SCHEMA,
455
- onSubmit: handleSubmit
456
- },
457
- children: /*#__PURE__*/jsxs("div", {
458
- className: "mt-14 w-full space-y-2",
459
- children: [/*#__PURE__*/jsx("div", {
460
- className: "block min-h-20",
461
- children: /*#__PURE__*/jsx(Input, {
462
- autoFocus: true,
463
- required: true,
464
- label: t("neetoIntegrations.daily.apiKey"),
465
- name: "apiKey"
466
- })
467
- }), /*#__PURE__*/jsx(ActionBlock, {
468
- cancelButtonProps: {
469
- onClick: function onClick() {
470
- return history.goBack();
471
- }
472
- },
473
- isSubmitting: isConnecting,
474
- submitButtonProps: {
475
- label: t("neetoIntegrations.common.connect")
476
- }
477
- })]
478
- })
479
- }), /*#__PURE__*/jsx(WalkthroughModal, {
480
- videoUrl: videoUrl,
481
- isOpen: isDemoModalOpen,
482
- onClose: function onClose() {
483
- return setIsDemoModalOpen(false);
484
- }
485
- })]
486
- })]
487
- });
488
- };
489
- var Form$1 = withTitle(Form, i18next.t("neetoIntegrations.browserTitles.integrations.dailyco"));
490
-
491
- var Manage = function Manage(_ref) {
492
- var description = _ref.description,
493
- onDisconnect = _ref.onDisconnect;
494
- var _useState = useState(false),
495
- _useState2 = _slicedToArray(_useState, 2),
496
- isDisconnectAlertOpen = _useState2[0],
497
- setIsDisconnectAlertOpen = _useState2[1];
498
- var _useFetchDaily = useFetchDaily(),
499
- _useFetchDaily$data = _useFetchDaily.data,
500
- _useFetchDaily$data2 = _useFetchDaily$data === void 0 ? {} : _useFetchDaily$data,
501
- _useFetchDaily$data2$ = _useFetchDaily$data2.metadata,
502
- metadata = _useFetchDaily$data2$ === void 0 ? {} : _useFetchDaily$data2$,
503
- isFetching = _useFetchDaily.isFetching;
504
- var _ref2 = metadata || {},
505
- _ref2$apiKey = _ref2.apiKey,
506
- apiKey = _ref2$apiKey === void 0 ? null : _ref2$apiKey;
507
- var _useTranslation = useTranslation(),
508
- t = _useTranslation.t;
509
- var _useDestroyDaily = useDestroyDaily({
510
- onSuccess: function onSuccess() {
511
- setIsDisconnectAlertOpen(false);
512
- onDisconnect === null || onDisconnect === void 0 || onDisconnect();
513
- }
514
- }),
515
- destroyIntegration = _useDestroyDaily.mutate,
516
- isDisconnecting = _useDestroyDaily.isPending;
517
- var isConnected = isPresent(apiKey);
518
- var handleDisconnect = function handleDisconnect() {
519
- return destroyIntegration("daily");
520
- };
521
- if (isFetching || isDisconnecting) return /*#__PURE__*/jsx(PageLoader, {});
522
- return /*#__PURE__*/jsx(Manage$1, {
523
- isConnected: isConnected,
524
- isDisconnectAlertOpen: isDisconnectAlertOpen,
525
- isDisconnecting: isDisconnecting,
526
- setIsDisconnectAlertOpen: setIsDisconnectAlertOpen,
527
- Icon: DailyIcon,
528
- connectPath: buildUrl(window.location.pathname, {
529
- connect: true
530
- }),
531
- integration: "daily",
532
- description: isConnected ? /*#__PURE__*/jsx(Trans, {
533
- i18nKey: "neetoIntegrations.daily.yourApiKey",
534
- values: {
535
- apiKey: apiKey
536
- },
537
- components: {
538
- wrapper: /*#__PURE__*/jsx("div", {
539
- className: "neeto-ui-rounded-md mt-2 flex items-center justify-between gap-x-3 border px-3 py-2"
540
- }),
541
- span: /*#__PURE__*/jsx("span", {
542
- className: "break-all text-sm"
543
- }),
544
- copy: /*#__PURE__*/jsx(CopyToClipboardButton, {
545
- className: "flex-shrink-0 self-start",
546
- style: "text",
547
- value: apiKey
548
- })
549
- }
550
- }) : description,
551
- title: isConnected ? t("neetoIntegrations.daily.connected") : t("neetoIntegrations.daily.connect.account"),
552
- onClose: function onClose() {
553
- return setIsDisconnectAlertOpen(false);
554
- },
555
- onDisconnect: handleDisconnect
556
- });
557
- };
558
-
559
- var Daily = function Daily(_ref) {
560
- var _ref$isOnboarding = _ref.isOnboarding,
561
- isOnboarding = _ref$isOnboarding === void 0 ? false : _ref$isOnboarding,
562
- _ref$helpDocUrl = _ref.helpDocUrl,
563
- helpDocUrl = _ref$helpDocUrl === void 0 ? "" : _ref$helpDocUrl,
564
- _ref$videoUrl = _ref.videoUrl,
565
- videoUrl = _ref$videoUrl === void 0 ? "" : _ref$videoUrl,
566
- _ref$description = _ref.description,
567
- description = _ref$description === void 0 ? "" : _ref$description,
568
- _ref$onConnect = _ref.onConnect,
569
- onConnect = _ref$onConnect === void 0 ? noop : _ref$onConnect,
570
- _ref$onDisconnect = _ref.onDisconnect,
571
- onDisconnect = _ref$onDisconnect === void 0 ? noop : _ref$onDisconnect;
572
- var _useQueryParams = useQueryParams(),
573
- connect = _useQueryParams.connect;
574
- var _useFetchDaily = useFetchDaily(),
575
- _useFetchDaily$data = _useFetchDaily.data,
576
- _useFetchDaily$data2 = _useFetchDaily$data === void 0 ? {} : _useFetchDaily$data,
577
- _useFetchDaily$data2$ = _useFetchDaily$data2.metadata,
578
- metadata = _useFetchDaily$data2$ === void 0 ? {} : _useFetchDaily$data2$;
579
- var _ref2 = metadata || {},
580
- _ref2$apiKey = _ref2.apiKey,
581
- apiKey = _ref2$apiKey === void 0 ? null : _ref2$apiKey;
582
- if (isPresent(apiKey) && !isOnboarding || !connect) {
583
- return /*#__PURE__*/jsx(Manage, {
584
- description: description,
585
- onDisconnect: onDisconnect
586
- });
587
- }
588
- return /*#__PURE__*/jsx(Form$1, {
589
- helpDocUrl: helpDocUrl,
590
- onConnect: onConnect,
591
- videoUrl: videoUrl
592
- });
593
- };
594
- var index = withTitle(Daily, i18next.t("neetoIntegrations.browserTitles.integrations.dailyco"));
595
-
596
- function _arrayWithoutHoles(arr) {
597
- if (Array.isArray(arr)) return _arrayLikeToArray(arr);
598
- }
599
-
600
- function _iterableToArray(iter) {
601
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
602
- }
603
-
604
- function _nonIterableSpread() {
605
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
606
- }
607
-
608
- function _toConsumableArray(arr) {
609
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
610
- }
611
-
612
- var INTEGRATION_STEPS = [{
613
- step: "1",
614
- label: t$1("neetoIntegrations.common.connect"),
615
- isActive: true,
616
- isCompleted: false
617
- }, {
618
- step: "2",
619
- label: t$1("neetoIntegrations.common.finish"),
620
- isActive: false,
621
- isCompleted: false
622
- }];
623
- var STEPS = {
624
- connect: t$1("neetoIntegrations.common.connect"),
625
- finish: t$1("neetoIntegrations.common.finish")
626
- };
627
-
628
- function ownKeys$5(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; }
629
- function _objectSpread$5(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$5(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$5(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
630
- var GoogleCalendar = function GoogleCalendar(_ref) {
631
- var permissionImage = _ref.permissionImage,
632
- fetchAuthorizationUrl = _ref.fetchAuthorizationUrl,
633
- handleClose = _ref.handleClose,
634
- handleRedirect = _ref.handleRedirect;
635
- var _useTranslation = useTranslation(),
636
- t = _useTranslation.t;
637
- var _useState = useState(INTEGRATION_STEPS),
638
- _useState2 = _slicedToArray(_useState, 2),
639
- steps = _useState2[0],
640
- setSteps = _useState2[1];
641
- var _getQueryParams = getQueryParams(),
642
- status = _getQueryParams.status;
643
- var activeTab = isPresent(status) ? STEPS.finish : STEPS.connect;
644
- useEffect(function () {
645
- setSteps(function () {
646
- var stepsClone = _toConsumableArray(steps);
647
- stepsClone[0] = _objectSpread$5(_objectSpread$5({}, steps[0]), {}, {
648
- isActive: activeTab === STEPS.connect,
649
- isCompleted: activeTab !== STEPS.connect
650
- });
651
- stepsClone[1] = _objectSpread$5(_objectSpread$5({}, steps[1]), {}, {
652
- isActive: activeTab === STEPS.finish,
653
- isCompleted: activeTab === STEPS.finish
654
- });
655
- return stepsClone;
656
- });
657
- }, [activeTab]);
658
- return /*#__PURE__*/jsxs(Modal, {
659
- steps: steps,
660
- isOpen: true,
661
- onClose: handleClose,
662
- children: [activeTab === STEPS.connect && /*#__PURE__*/jsxs("div", {
663
- className: "mx-auto w-full max-w-3xl",
664
- children: [/*#__PURE__*/jsx(GoogleCalendarIcon, {
665
- size: 48
666
- }), /*#__PURE__*/jsx(Typography, {
667
- className: "mb-4 mt-2",
668
- style: "h2",
669
- children: t("neetoIntegrations.google.connect.title")
670
- }), /*#__PURE__*/jsxs("div", {
671
- className: "flex w-full flex-col items-start",
672
- children: [/*#__PURE__*/jsx(Callout, {
673
- className: "block leading-5",
674
- children: /*#__PURE__*/jsx(Trans, {
675
- components: {
676
- bold: /*#__PURE__*/jsx("strong", {})
677
- },
678
- i18nKey: "neetoIntegrations.google.connect.reminderToAcceptPermissions",
679
- values: {
680
- selectCheckbox: t("neetoIntegrations.google.connect.selectCheckbox")
681
- }
682
- })
683
- }), permissionImage && /*#__PURE__*/jsx("div", {
684
- className: "neeto-ui-border-gray-300 neeto-ui-rounded-md my-4 overflow-hidden border",
685
- children: /*#__PURE__*/jsx("img", {
686
- src: permissionImage
687
- })
688
- })]
689
- }), /*#__PURE__*/jsx(Button, {
690
- icon: Google,
691
- label: t("neetoIntegrations.google.connect.signIn"),
692
- onClick: fetchAuthorizationUrl
693
- })]
694
- }), activeTab === STEPS.finish && /*#__PURE__*/jsx(Finish, {
695
- title: t("neetoIntegrations.google.finish.title"),
696
- onClick: handleRedirect
697
- })]
698
- });
699
- };
700
-
701
- function ownKeys$4(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; }
702
- function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
703
- var ConfigurationForm = function ConfigurationForm(_ref) {
704
- var _errors$twilioPhoneNu;
705
- var phoneNumberOptions = _ref.phoneNumberOptions,
706
- _ref$selectedPhoneNum = _ref.selectedPhoneNumber,
707
- selectedPhoneNumber = _ref$selectedPhoneNum === void 0 ? null : _ref$selectedPhoneNum,
708
- _ref$initialFocusRef = _ref.initialFocusRef,
709
- initialFocusRef = _ref$initialFocusRef === void 0 ? null : _ref$initialFocusRef,
710
- _ref$isUsingOverlay = _ref.isUsingOverlay,
711
- isUsingOverlay = _ref$isUsingOverlay === void 0 ? false : _ref$isUsingOverlay,
712
- _ref$formikProps = _ref.formikProps,
713
- formikProps = _ref$formikProps === void 0 ? {} : _ref$formikProps;
714
- var _useTranslation = useTranslation(),
715
- t = _useTranslation.t;
716
- var setFieldValue = formikProps.setFieldValue,
717
- setValues = formikProps.setValues,
718
- errors = formikProps.errors,
719
- values = formikProps.values,
720
- initialValues = formikProps.initialValues;
721
- useEffect(function () {
722
- selectedPhoneNumber && setFieldValue("twilioPhoneNumber", selectedPhoneNumber);
723
- }, [selectedPhoneNumber, initialValues]);
724
- return /*#__PURE__*/jsxs("div", {
725
- className: "flex w-full flex-col gap-y-4",
726
- children: [/*#__PURE__*/jsx("div", {
727
- className: "flex w-full",
728
- children: /*#__PURE__*/jsx(Input, {
729
- required: true,
730
- autoFocus: !isUsingOverlay,
731
- "data-testid": "integrations-twilio-sid",
732
- label: t("neetoIntegrations.twilio.sid"),
733
- name: "twilioSid",
734
- ref: initialFocusRef
735
- })
736
- }), /*#__PURE__*/jsx("div", {
737
- className: "flex w-full",
738
- children: /*#__PURE__*/jsx(Input, {
739
- required: true,
740
- "data-testid": "integrations-twilio-auth-token",
741
- label: t("neetoIntegrations.twilio.authToken"),
742
- name: "twilioAuthToken"
743
- })
744
- }), phoneNumberOptions && /*#__PURE__*/jsx("div", {
745
- className: "flex w-full",
746
- children: /*#__PURE__*/jsx(Select, {
747
- error: (_errors$twilioPhoneNu = errors.twilioPhoneNumber) === null || _errors$twilioPhoneNu === void 0 ? void 0 : _errors$twilioPhoneNu.value,
748
- label: t("neetoIntegrations.common.phNo"),
749
- name: "twilioPhoneNumber",
750
- options: phoneNumberOptions,
751
- size: "large",
752
- onChange: function onChange(selected) {
753
- return setValues(_objectSpread$4(_objectSpread$4({}, values), {}, {
754
- twilioPhoneNumber: selected
755
- }));
756
- }
757
- })
758
- })]
759
- });
760
- };
761
-
762
- function ownKeys$3(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; }
763
- function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
764
- var fetchTwilioSmsConfiguration = function fetchTwilioSmsConfiguration(integrable) {
765
- return axios.get(TWILIO_CONFIGURATION_BASE_URL, {
766
- params: integrable
767
- });
768
- };
769
- var removeTwilioConfiguration = function removeTwilioConfiguration() {
770
- return axios["delete"](TWILIO_CONFIGURATION_BASE_URL);
771
- };
772
- var getTwilioPhoneNumbers = function getTwilioPhoneNumbers(data) {
773
- return axios.get("".concat(TWILIO_CONFIGURATION_BASE_URL, "/new"), {
774
- params: data
775
- });
776
- };
777
- var createTwilioConfiguration = function createTwilioConfiguration(payload, integrable) {
778
- return axios.post(TWILIO_CONFIGURATION_BASE_URL, _objectSpread$3(_objectSpread$3({}, payload), integrable));
779
- };
780
- var twilioApi = {
781
- fetchTwilioSmsConfiguration: fetchTwilioSmsConfiguration,
782
- removeTwilioConfiguration: removeTwilioConfiguration,
783
- getTwilioPhoneNumbers: getTwilioPhoneNumbers,
784
- createTwilioConfiguration: createTwilioConfiguration
785
- };
786
-
787
- var useFetchTwilioSmsConfiguration = function useFetchTwilioSmsConfiguration(_ref) {
788
- var integrable = _ref.integrable;
789
- return useQuery({
790
- queryKey: [QUERY_KEYS.TWILIO_SMS_CONFIGURATION, integrable === null || integrable === void 0 ? void 0 : integrable.integrableType, integrable === null || integrable === void 0 ? void 0 : integrable.integrableId],
791
- queryFn: function queryFn() {
792
- return twilioApi.fetchTwilioSmsConfiguration(integrable);
793
- },
794
- select: function select(response) {
795
- var _smsConfiguration$twi, _smsConfiguration$twi2, _smsConfiguration$twi3;
796
- var smsConfiguration = response.smsConfiguration;
797
- return {
798
- twilioSid: (_smsConfiguration$twi = smsConfiguration === null || smsConfiguration === void 0 ? void 0 : smsConfiguration.twilioSid) !== null && _smsConfiguration$twi !== void 0 ? _smsConfiguration$twi : "",
799
- twilioAuthToken: (_smsConfiguration$twi2 = smsConfiguration === null || smsConfiguration === void 0 ? void 0 : smsConfiguration.twilioAuthToken) !== null && _smsConfiguration$twi2 !== void 0 ? _smsConfiguration$twi2 : "",
800
- twilioPhoneNumber: (_smsConfiguration$twi3 = smsConfiguration === null || smsConfiguration === void 0 ? void 0 : smsConfiguration.twilioPhoneNumber) !== null && _smsConfiguration$twi3 !== void 0 ? _smsConfiguration$twi3 : ""
801
- };
802
- }
803
- });
804
- };
805
- var useFetchTwilioPhoneNumbers = function useFetchTwilioPhoneNumbers(_ref2) {
806
- var _formRef$current, _formRef$current2;
807
- var credentials = _ref2.credentials,
808
- formRef = _ref2.formRef;
809
- return useQuery({
810
- queryKey: [QUERY_KEYS.TWILIO_PHONE_NUMBERS, {
811
- credentials: credentials
812
- }],
813
- queryFn: function queryFn() {
814
- return twilioApi.getTwilioPhoneNumbers(keysToSnakeCase(credentials));
815
- },
816
- enabled: !!(credentials !== null && credentials !== void 0 && credentials.twilio_sid) || !!(credentials !== null && credentials !== void 0 && credentials.twilioSid) || !!(formRef !== null && formRef !== void 0 && (_formRef$current = formRef.current) !== null && _formRef$current !== void 0 && (_formRef$current = _formRef$current.values) !== null && _formRef$current !== void 0 && _formRef$current.twilioSid) || !!(formRef !== null && formRef !== void 0 && (_formRef$current2 = formRef.current) !== null && _formRef$current2 !== void 0 && (_formRef$current2 = _formRef$current2.values) !== null && _formRef$current2 !== void 0 && _formRef$current2.twilioAuthToken),
817
- select: prop("phoneNumbers"),
818
- retry: false
819
- });
820
- };
821
- var useCreateTwilioConfiguration = function useCreateTwilioConfiguration(_ref3) {
822
- var integrable = _ref3.integrable;
823
- return useMutationWithInvalidation(function (payload) {
824
- return twilioApi.createTwilioConfiguration(payload, integrable);
825
- }, {
826
- keysToInvalidate: [[QUERY_KEYS.TWILIO_SMS_CONFIGURATION, integrable === null || integrable === void 0 ? void 0 : integrable.integrableType, integrable === null || integrable === void 0 ? void 0 : integrable.integrableId]]
827
- });
828
- };
829
-
830
- var useTwilio = function useTwilio(_ref) {
831
- var _ref$onConnect = _ref.onConnect,
832
- onConnect = _ref$onConnect === void 0 ? noop : _ref$onConnect,
833
- _ref$formRef = _ref.formRef,
834
- formRef = _ref$formRef === void 0 ? null : _ref$formRef,
835
- _ref$integrable = _ref.integrable,
836
- integrable = _ref$integrable === void 0 ? null : _ref$integrable;
837
- var _useFetchTwilioSmsCon = useFetchTwilioSmsConfiguration({
838
- integrable: integrable
839
- }),
840
- _useFetchTwilioSmsCon2 = _useFetchTwilioSmsCon.data,
841
- configuration = _useFetchTwilioSmsCon2 === void 0 ? {} : _useFetchTwilioSmsCon2,
842
- isConfigurationLoading = _useFetchTwilioSmsCon.isLoading;
843
- var _useStateWithDependen = useStateWithDependency(configuration),
844
- _useStateWithDependen2 = _slicedToArray(_useStateWithDependen, 2),
845
- credentials = _useStateWithDependen2[0],
846
- setCredentials = _useStateWithDependen2[1];
847
- var _useFetchTwilioPhoneN = useFetchTwilioPhoneNumbers({
848
- credentials: credentials,
849
- formRef: formRef
850
- }),
851
- phoneNumbers = _useFetchTwilioPhoneN.data,
852
- isPhoneNumbersLoading = _useFetchTwilioPhoneN.isLoading;
853
- var _useCreateTwilioConfi = useCreateTwilioConfiguration({
854
- integrable: integrable
855
- }),
856
- saveConfiguration = _useCreateTwilioConfi.mutate,
857
- isSubmitting = _useCreateTwilioConfi.isPending;
858
- var handleSubmit = function handleSubmit(values) {
859
- var _values$twilioPhoneNu;
860
- var payload = {
861
- twilio_sid: values.twilioSid,
862
- twilio_auth_token: values.twilioAuthToken,
863
- twilio_phone_number_sid: (_values$twilioPhoneNu = values.twilioPhoneNumber) === null || _values$twilioPhoneNu === void 0 ? void 0 : _values$twilioPhoneNu.value
864
- };
865
- if (!phoneNumbers && !(configuration !== null && configuration !== void 0 && configuration.twilioPhoneNumber)) {
866
- setCredentials(payload);
867
- return;
868
- }
869
- saveConfiguration(payload, {
870
- onSuccess: onConnect
871
- });
872
- };
873
- return {
874
- handleSubmit: handleSubmit,
875
- phoneNumbers: phoneNumbers,
876
- isConfigurationLoading: isConfigurationLoading,
877
- isPhoneNumbersLoading: isPhoneNumbersLoading,
878
- isSubmitting: isSubmitting,
879
- configuration: configuration
880
- };
881
- };
882
-
883
- var buildTwilioConfigurationValidationSchema = function buildTwilioConfigurationValidationSchema(isTwilioPhoneRequired) {
884
- return yup.object().shape({
885
- twilioSid: yup.string().required(i18next.t("neetoIntegrations.twilio.validations.sidReq")),
886
- twilioAuthToken: yup.string().required(i18next.t("neetoIntegrations.twilio.validations.authTokenReq")),
887
- twilioPhoneNumber: isTwilioPhoneRequired ? yup.object().shape({
888
- label: yup.string(),
889
- value: yup.string().required(i18next.t("neetoIntegrations.twilio.validations.phNumReq"))
890
- }) : null
891
- });
892
- };
893
- var buildPhoneNumberOptions = function buildPhoneNumberOptions(phoneNumbers) {
894
- return phoneNumbers === null || phoneNumbers === void 0 ? void 0 : phoneNumbers.map(function (_ref) {
895
- var phoneNumber = _ref.phoneNumber,
896
- sid = _ref.sid;
897
- return {
898
- label: phoneNumber,
899
- value: sid
900
- };
901
- });
902
- };
903
-
904
- function ownKeys$2(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; }
905
- function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
906
- var Twilio = function Twilio(_ref) {
907
- var _ref$integrable = _ref.integrable,
908
- integrable = _ref$integrable === void 0 ? null : _ref$integrable,
909
- _ref$onClose = _ref.onClose,
910
- onClose = _ref$onClose === void 0 ? noop : _ref$onClose,
911
- _ref$onConnect = _ref.onConnect,
912
- onConnect = _ref$onConnect === void 0 ? noop : _ref$onConnect;
913
- var _useTranslation = useTranslation(),
914
- t = _useTranslation.t;
915
- var initialFocusRef = useRef();
916
- var formRef = useRef();
917
- var _useTwilio = useTwilio({
918
- onConnect: onConnect,
919
- formRef: formRef,
920
- integrable: integrable
921
- }),
922
- handleSubmit = _useTwilio.handleSubmit,
923
- phoneNumbers = _useTwilio.phoneNumbers,
924
- isConfigurationLoading = _useTwilio.isConfigurationLoading,
925
- isPhoneNumbersLoading = _useTwilio.isPhoneNumbersLoading,
926
- isSubmitting = _useTwilio.isSubmitting,
927
- configuration = _useTwilio.configuration;
928
- var phoneNumberOptions = buildPhoneNumberOptions(phoneNumbers);
929
- var selectedPhoneNumber = _findBy({
930
- label: configuration === null || configuration === void 0 ? void 0 : configuration.twilioPhoneNumber
931
- }, phoneNumberOptions);
932
- var isLoading = isPhoneNumbersLoading || isConfigurationLoading;
933
- var isSubmitDisabled = function isSubmitDisabled(values) {
934
- return equals(_objectSpread$2(_objectSpread$2({}, configuration), {}, {
935
- twilioPhoneNumber: selectedPhoneNumber
936
- }), values) || isLoading;
937
- };
938
- return /*#__PURE__*/jsx(FormikForm, {
939
- className: "mx-auto flex w-full max-w-md flex-col p-5",
940
- formikProps: {
941
- enableReinitialize: true,
942
- validationSchema: buildTwilioConfigurationValidationSchema(!!phoneNumbers),
943
- initialValues: configuration,
944
- innerRef: formRef,
945
- onSubmit: handleSubmit
946
- },
947
- children: function children(formikProps) {
948
- return /*#__PURE__*/jsxs(Fragment, {
949
- children: [/*#__PURE__*/jsx(ConfigurationForm, {
950
- formikProps: formikProps,
951
- initialFocusRef: initialFocusRef,
952
- phoneNumberOptions: phoneNumberOptions,
953
- selectedPhoneNumber: selectedPhoneNumber
954
- }), /*#__PURE__*/jsx("div", {
955
- className: "mt-8",
956
- children: /*#__PURE__*/jsx(ActionBlock, {
957
- isSubmitting: isSubmitting,
958
- cancelButtonProps: {
959
- onClick: onClose
960
- },
961
- submitButtonProps: {
962
- label: phoneNumberOptions ? t("neetoIntegrations.common.saveChanges") : t("neetoIntegrations.common.verify"),
963
- disabled: isSubmitDisabled(formikProps.values) || isSubmitting,
964
- loading: isSubmitting || isPhoneNumbersLoading && !(configuration !== null && configuration !== void 0 && configuration.twilioAuthToken)
965
- }
966
- })
967
- })]
968
- });
969
- }
970
- });
971
- };
972
-
973
- var show = function show() {
974
- return axios.get(INTEGRATION_DETAILS_URL, {
975
- params: {
976
- serviceName: "Zoom",
977
- integrableType: "User"
978
- }
979
- });
980
- };
981
- var destroy = function destroy() {
982
- return axios["delete"]("".concat(INTEGRATIONS_ENGINE_ZOOM_URL, "/oauth"));
983
- };
984
- var zoomApi = {
985
- show: show,
986
- destroy: destroy
987
- };
988
-
989
- var useShowZoom = function useShowZoom() {
990
- return useQuery({
991
- queryKey: [QUERY_KEYS.ZOOM_DETAILS],
992
- queryFn: zoomApi.show,
993
- staleTime: DEFAULT_STALE_TIME
994
- });
995
- };
996
- var useDestroyZoom = function useDestroyZoom(_ref) {
997
- var _onSuccess = _ref.onSuccess;
998
- return useMutationWithInvalidation(zoomApi.destroy, {
999
- keysToInvalidate: [[QUERY_KEYS.ZOOM_DETAILS]],
1000
- onSuccess: function onSuccess() {
1001
- return _onSuccess === null || _onSuccess === void 0 ? void 0 : _onSuccess();
1002
- }
1003
- });
1004
- };
1005
-
1006
- var Zoom = function Zoom(_ref) {
1007
- var _ref$connectUrl = _ref.connectUrl,
1008
- connectUrl = _ref$connectUrl === void 0 ? "" : _ref$connectUrl,
1009
- _ref$description = _ref.description,
1010
- description = _ref$description === void 0 ? "" : _ref$description,
1011
- _ref$onDisconnect = _ref.onDisconnect,
1012
- onDisconnect = _ref$onDisconnect === void 0 ? noop : _ref$onDisconnect;
1013
- var _useTranslation = useTranslation(),
1014
- t = _useTranslation.t;
1015
- var _useState = useState(false),
1016
- _useState2 = _slicedToArray(_useState, 2),
1017
- isDisconnectAlertOpen = _useState2[0],
1018
- setIsDisconnectAlertOpen = _useState2[1];
1019
- var _useShowZoom = useShowZoom(),
1020
- _useShowZoom$data = _useShowZoom.data,
1021
- _useShowZoom$data2 = _useShowZoom$data === void 0 ? {} : _useShowZoom$data,
1022
- _useShowZoom$data2$me = _useShowZoom$data2.metadata,
1023
- _useShowZoom$data2$me2 = _useShowZoom$data2$me === void 0 ? {} : _useShowZoom$data2$me,
1024
- _useShowZoom$data2$me3 = _useShowZoom$data2$me2.email,
1025
- email = _useShowZoom$data2$me3 === void 0 ? "" : _useShowZoom$data2$me3,
1026
- isLoading = _useShowZoom.isLoading;
1027
- var _useDestroyZoom = useDestroyZoom({
1028
- onSuccess: function onSuccess() {
1029
- setIsDisconnectAlertOpen(false);
1030
- onDisconnect === null || onDisconnect === void 0 || onDisconnect();
1031
- }
1032
- }),
1033
- destroyIntegration = _useDestroyZoom.mutate,
1034
- isDisconnecting = _useDestroyZoom.isPending;
1035
- var isConnected = isPresent(email);
1036
- var handleDisconnect = function handleDisconnect() {
1037
- return destroyIntegration("zoom");
1038
- };
1039
- if (isLoading) return /*#__PURE__*/jsx(PageLoader, {});
1040
- return /*#__PURE__*/jsx(Manage$1, {
1041
- connectUrl: connectUrl,
1042
- isConnected: isConnected,
1043
- isDisconnectAlertOpen: isDisconnectAlertOpen,
1044
- isDisconnecting: isDisconnecting,
1045
- setIsDisconnectAlertOpen: setIsDisconnectAlertOpen,
1046
- Icon: ZoomIcon,
1047
- integration: "zoom",
1048
- description: isConnected ? /*#__PURE__*/jsx(Trans, {
1049
- components: {
1050
- underline: /*#__PURE__*/jsx("u", {
1051
- className: "font-medium"
1052
- })
1053
- },
1054
- i18nKey: "neetoIntegrations.zoom.account",
1055
- values: {
1056
- email: email
1057
- }
1058
- }) : description,
1059
- title: isConnected ? t("neetoIntegrations.zoom.connected") : t("neetoIntegrations.zoom.connect"),
1060
- onClose: function onClose() {
1061
- return setIsDisconnectAlertOpen(false);
1062
- },
1063
- onDisconnect: function onDisconnect() {
1064
- return handleDisconnect();
1065
- }
1066
- });
1067
- };
1068
-
1069
- var Stepper = function Stepper(_ref) {
1070
- var _ref$steps = _ref.steps,
1071
- steps = _ref$steps === void 0 ? {} : _ref$steps;
1072
- var isActiveOrCompleted = function isActiveOrCompleted(activeStatus, completedStatus) {
1073
- return activeStatus || completedStatus;
1074
- };
1075
- return /*#__PURE__*/jsx("ul", {
1076
- className: "flex gap-4",
1077
- children: steps === null || steps === void 0 ? void 0 : steps.map(function (_ref2) {
1078
- var step = _ref2.step,
1079
- label = _ref2.label,
1080
- isActive = _ref2.isActive,
1081
- isCompleted = _ref2.isCompleted;
1082
- return /*#__PURE__*/jsxs("li", {
1083
- className: "flex items-center gap-4",
1084
- children: [step !== "1" && /*#__PURE__*/jsx("div", {
1085
- className: classnames("w-10 border-b", {
1086
- "neeto-ui-border-gray-800": isActiveOrCompleted(isActive, isCompleted),
1087
- "neeto-ui-border-gray-400": !isActiveOrCompleted(isActive, isCompleted)
1088
- })
1089
- }), /*#__PURE__*/jsxs("div", {
1090
- className: "flex items-center gap-2",
1091
- children: [/*#__PURE__*/jsx("div", {
1092
- className: classnames("neeto-ui-rounded-full neeto-ui-gray-600 flex h-6 w-6 items-center justify-center border", {
1093
- "neeto-ui-bg-success-600 neeto-ui-border-success-600 neeto-ui-text-white": isActive,
1094
- "neeto-ui-bg-primary-600 neeto-ui-border-primary-600 neeto-ui-text-white": isCompleted,
1095
- "neeto-ui-border-gray-400": !isActiveOrCompleted(isActive, isCompleted)
1096
- }),
1097
- children: /*#__PURE__*/jsx(Typography, {
1098
- component: "span",
1099
- style: "body2",
1100
- weight: "normal",
1101
- children: step
1102
- })
1103
- }), /*#__PURE__*/jsx(Typography, {
1104
- style: "body2",
1105
- weight: "normal",
1106
- className: classnames({
1107
- "neeto-ui-text-gray-800": isActiveOrCompleted(isActive, isCompleted),
1108
- "neeto-ui-text-gray-600": !isActiveOrCompleted(isActive, isCompleted)
1109
- }),
1110
- children: label
1111
- })]
1112
- })]
1113
- }, step);
1114
- })
1115
- });
1116
- };
1117
-
1118
- var Modal = function Modal(_ref) {
1119
- var _ref$isOpen = _ref.isOpen,
1120
- isOpen = _ref$isOpen === void 0 ? noop : _ref$isOpen,
1121
- _ref$onClose = _ref.onClose,
1122
- onClose = _ref$onClose === void 0 ? noop : _ref$onClose,
1123
- _ref$steps = _ref.steps,
1124
- steps = _ref$steps === void 0 ? {} : _ref$steps,
1125
- children = _ref.children;
1126
- return /*#__PURE__*/jsxs(NeetoUIModal, {
1127
- isOpen: isOpen,
1128
- onClose: onClose,
1129
- className: "neeto-ui-flex neeto-ui-flex-col neeto-ui-transform-none w-screen overflow-y-auto",
1130
- size: "fullScreen",
1131
- children: [/*#__PURE__*/jsx(NeetoUIModal.Header, {
1132
- children: /*#__PURE__*/jsx(Stepper, {
1133
- steps: steps
1134
- })
1135
- }), /*#__PURE__*/jsx(NeetoUIModal.Body, {
1136
- className: "neeto-ui-flex neeto-ui-justify-center neeto-ui-flex-grow",
1137
- children: /*#__PURE__*/jsx("div", {
1138
- className: "neeto-ui-w-full py-10",
1139
- children: children
1140
- })
1141
- })]
1142
- });
1143
- };
1144
-
1145
- function getDefaultExportFromCjs (x) {
1146
- return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
1147
- }
1148
-
1149
- var propTypes = {exports: {}};
1150
-
1151
- /**
1152
- * Copyright (c) 2013-present, Facebook, Inc.
1153
- *
1154
- * This source code is licensed under the MIT license found in the
1155
- * LICENSE file in the root directory of this source tree.
1156
- */
1157
- var ReactPropTypesSecret$1 = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
1158
- var ReactPropTypesSecret_1 = ReactPropTypesSecret$1;
1159
-
1160
- /**
1161
- * Copyright (c) 2013-present, Facebook, Inc.
1162
- *
1163
- * This source code is licensed under the MIT license found in the
1164
- * LICENSE file in the root directory of this source tree.
1165
- */
1166
- var ReactPropTypesSecret = ReactPropTypesSecret_1;
1167
- function emptyFunction() {}
1168
- function emptyFunctionWithReset() {}
1169
- emptyFunctionWithReset.resetWarningCache = emptyFunction;
1170
- var factoryWithThrowingShims = function factoryWithThrowingShims() {
1171
- function shim(props, propName, componentName, location, propFullName, secret) {
1172
- if (secret === ReactPropTypesSecret) {
1173
- // It is still safe when called from React.
1174
- return;
1175
- }
1176
- var err = new Error('Calling PropTypes validators directly is not supported by the `prop-types` package. ' + 'Use PropTypes.checkPropTypes() to call them. ' + 'Read more at http://fb.me/use-check-prop-types');
1177
- err.name = 'Invariant Violation';
1178
- throw err;
1179
- }
1180
- shim.isRequired = shim;
1181
- function getShim() {
1182
- return shim;
1183
- }
1184
- // Important!
1185
- // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.
1186
- var ReactPropTypes = {
1187
- array: shim,
1188
- bigint: shim,
1189
- bool: shim,
1190
- func: shim,
1191
- number: shim,
1192
- object: shim,
1193
- string: shim,
1194
- symbol: shim,
1195
- any: shim,
1196
- arrayOf: getShim,
1197
- element: shim,
1198
- elementType: shim,
1199
- instanceOf: getShim,
1200
- node: shim,
1201
- objectOf: getShim,
1202
- oneOf: getShim,
1203
- oneOfType: getShim,
1204
- shape: getShim,
1205
- exact: getShim,
1206
- checkPropTypes: emptyFunctionWithReset,
1207
- resetWarningCache: emptyFunction
1208
- };
1209
- ReactPropTypes.PropTypes = ReactPropTypes;
1210
- return ReactPropTypes;
1211
- };
1212
-
1213
- /**
1214
- * Copyright (c) 2013-present, Facebook, Inc.
1215
- *
1216
- * This source code is licensed under the MIT license found in the
1217
- * LICENSE file in the root directory of this source tree.
1218
- */
1219
- {
1220
- // By explicitly using `prop-types` you are opting into new production behavior.
1221
- // http://fb.me/prop-types-in-prod
1222
- propTypes.exports = factoryWithThrowingShims();
1223
- }
1224
- var propTypesExports = propTypes.exports;
1225
- var PropTypes = /*@__PURE__*/getDefaultExportFromCjs(propTypesExports);
1226
-
1227
- function ownKeys$1(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; }
1228
- function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1229
- var Connect = withT(function (_ref) {
1230
- var t = _ref.t,
1231
- Icon = _ref.Icon,
1232
- _ref$title = _ref.title,
1233
- title = _ref$title === void 0 ? "" : _ref$title,
1234
- _ref$description = _ref.description,
1235
- description = _ref$description === void 0 ? "" : _ref$description,
1236
- _ref$integration = _ref.integration,
1237
- integration = _ref$integration === void 0 ? "" : _ref$integration,
1238
- _ref$integrationName = _ref.integrationName,
1239
- integrationName = _ref$integrationName === void 0 ? "" : _ref$integrationName,
1240
- _ref$helpDocUrl = _ref.helpDocUrl,
1241
- helpDocUrl = _ref$helpDocUrl === void 0 ? "" : _ref$helpDocUrl,
1242
- _ref$buttonProps = _ref.buttonProps,
1243
- buttonProps = _ref$buttonProps === void 0 ? {} : _ref$buttonProps,
1244
- _ref$onConnect = _ref.onConnect,
1245
- onConnect = _ref$onConnect === void 0 ? noop : _ref$onConnect,
1246
- children = _ref.children,
1247
- secondaryButtonProps = _ref.secondaryButtonProps;
1248
- return /*#__PURE__*/jsxs("div", {
1249
- className: "mx-auto w-full max-w-3xl",
1250
- children: [/*#__PURE__*/jsxs("div", {
1251
- className: "mb-6 flex flex-col gap-y-2",
1252
- children: [/*#__PURE__*/jsx(Icon, {
1253
- size: 48
1254
- }), /*#__PURE__*/jsxs("div", {
1255
- className: "flex flex-col gap-y-1",
1256
- children: [/*#__PURE__*/jsx(Typography, {
1257
- style: "h2",
1258
- children: title
1259
- }), /*#__PURE__*/jsx(Typography, {
1260
- style: "body2",
1261
- children: description
1262
- })]
1263
- })]
1264
- }), helpDocUrl && /*#__PURE__*/jsx("div", {
1265
- className: "mb-4",
1266
- children: /*#__PURE__*/jsx(Trans, {
1267
- i18nKey: "neetoIntegrations.common.helpDocUrl",
1268
- components: {
1269
- helpLink: /*#__PURE__*/jsx(Button, {
1270
- className: "text-xs",
1271
- href: helpDocUrl,
1272
- size: "small",
1273
- style: "link",
1274
- target: "_blank"
1275
- })
1276
- },
1277
- values: {
1278
- integration: integrationName || humanize(integration)
1279
- }
1280
- })
1281
- }), children, /*#__PURE__*/jsxs("div", {
1282
- className: "flex w-full items-center gap-x-3",
1283
- children: [/*#__PURE__*/jsx(Button, _objectSpread$1({
1284
- label: t("neetoIntegrations.common.connect"),
1285
- onClick: onConnect
1286
- }, buttonProps)), secondaryButtonProps && /*#__PURE__*/jsx(Button, _objectSpread$1({
1287
- style: "secondary"
1288
- }, secondaryButtonProps))]
1289
- })]
1290
- });
1291
- });
1292
- Connect.prototypes = {
1293
- /**
1294
- * To specify the Icon to be shown
1295
- */
1296
- Icon: PropTypes.node,
1297
- /**
1298
- * To specify the title of the connect component
1299
- */
1300
- title: PropTypes.string,
1301
- /**
1302
- * To specify the description for connect component
1303
- */
1304
- description: PropTypes.string,
1305
- /**
1306
- * To specify the props for the connect button
1307
- */
1308
- buttonProps: PropTypes.object,
1309
- /**
1310
- * Handler function that is triggered when the connect button is clicked.
1311
- */
1312
- onConnect: PropTypes.func
1313
- };
1314
-
1315
- var isYouTubeLink = function isYouTubeLink(videoUrl) {
1316
- var youtubeRegex = /^(https?:\/\/)?(www\.)?(youtube\.com|youtu\.be)\//;
1317
- return youtubeRegex.test(videoUrl);
1318
- };
1319
- var renderText = function renderText(text, fallbackTranslation) {
1320
- return isEmpty(text) ? fallbackTranslation : text;
1321
- };
1322
-
1323
- var Demo = function Demo(_ref) {
1324
- var _ref$title = _ref.title,
1325
- title = _ref$title === void 0 ? "" : _ref$title,
1326
- _ref$subtitle = _ref.subtitle,
1327
- subtitle = _ref$subtitle === void 0 ? "" : _ref$subtitle,
1328
- _ref$iframeTitle = _ref.iframeTitle,
1329
- iframeTitle = _ref$iframeTitle === void 0 ? "" : _ref$iframeTitle,
1330
- _ref$onClose = _ref.onClose,
1331
- onClose = _ref$onClose === void 0 ? noop : _ref$onClose,
1332
- _ref$videoUrl = _ref.videoUrl,
1333
- videoUrl = _ref$videoUrl === void 0 ? "" : _ref$videoUrl,
1334
- children = _ref.children;
1335
- var _useTranslation = useTranslation(),
1336
- t = _useTranslation.t;
1337
- var renderVideo = function renderVideo(videoUrl) {
1338
- return isYouTubeLink(videoUrl) ? /*#__PURE__*/jsx("iframe", {
1339
- allowFullScreen: true,
1340
- className: "aspect-video border-none",
1341
- frameBorder: "0",
1342
- id: "ytplayer",
1343
- src: videoUrl,
1344
- title: renderText(iframeTitle, t("neetoIntegrations.demo.iFrameTitle")),
1345
- type: "text/html"
1346
- }) : /*#__PURE__*/jsx("video", {
1347
- autoPlay: true,
1348
- controls: true,
1349
- muted: true,
1350
- className: "neeto-ui-rounded-xl aspect-video w-full max-w-3xl cursor-pointer",
1351
- id: "walkthrough-video",
1352
- children: /*#__PURE__*/jsx("source", {
1353
- src: videoUrl
1354
- })
1355
- });
1356
- };
1357
- return /*#__PURE__*/jsxs("div", {
1358
- className: "mx-auto w-full max-w-3xl",
1359
- children: [/*#__PURE__*/jsxs("div", {
1360
- className: "mb-6 flex flex-col gap-y-1",
1361
- children: [/*#__PURE__*/jsx(Typography, {
1362
- style: "h2",
1363
- children: renderText(title, t("neetoIntegrations.demo.title"))
1364
- }), /*#__PURE__*/jsx(Typography, {
1365
- style: "body2",
1366
- children: renderText(subtitle, t("neetoIntegrations.demo.subtitle"))
1367
- })]
1368
- }), children, videoUrl && /*#__PURE__*/jsx("div", {
1369
- className: "mb-8",
1370
- children: renderVideo(videoUrl)
1371
- }), /*#__PURE__*/jsx(Button, {
1372
- label: t("neetoIntegrations.common.finish"),
1373
- onClick: onClose
1374
- })]
1375
- });
1376
- };
1377
- Demo.prototypes = {
1378
- /**
1379
- * To specify whether the integration modal should be opened or closed.
1380
- */
1381
- onClose: PropTypes.func,
1382
- /**
1383
- * To specify the walkthrough video link
1384
- */
1385
- videoUrl: PropTypes.string,
1386
- /**
1387
- * To specify the title of the demo component
1388
- */
1389
- title: PropTypes.string,
1390
- /**
1391
- * To specify the subtitle of the demo component
1392
- */
1393
- subtitle: PropTypes.string,
1394
- /**
1395
- * To specify the title of the video in the iframe
1396
- */
1397
- iframeTitle: PropTypes.string
1398
- };
1399
-
1400
- var _path, _defs;
1401
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
1402
- const SvgSuccess = props => /*#__PURE__*/React.createElement("svg", _extends({
1403
- xmlns: "http://www.w3.org/2000/svg",
1404
- xmlnsXlink: "http://www.w3.org/1999/xlink",
1405
- width: 72,
1406
- height: 72,
1407
- fill: "none"
1408
- }, props), _path || (_path = /*#__PURE__*/React.createElement("path", {
1409
- fill: "url(#success_svg__a)",
1410
- d: "M0 0h72v72H0z"
1411
- })), _defs || (_defs = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("pattern", {
1412
- id: "success_svg__a",
1413
- width: 1,
1414
- height: 1,
1415
- patternContentUnits: "objectBoundingBox"
1416
- }, /*#__PURE__*/React.createElement("use", {
1417
- xlinkHref: "#success_svg__b",
1418
- transform: "scale(.0029)"
1419
- })), /*#__PURE__*/React.createElement("image", {
1420
- xlinkHref: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAVgAAAFYCAYAAAAWbORAAAAMa2lDQ1BJQ0MgUHJvZmlsZQAASImVVwdYU8kWnluSkJDQAghICb0jUgNICaEFkF4EGyEJJJQYE4KKvSwquHYRxYquiii2lWYBsSuLYu+LBRVlXdTFhsqbkICu+8r3Tr6598+ZM/8pmcm9BwDND1yJJA/VAiBfXCBNCA9mjElLZ5CeAgR+KEALIFyeTMKKi4sGUAbvf5d3N6AtlKvOCq5/zv9X0eELZDwAkHEQZ/JlvHyImwHAN/Ak0gIAiAq95ZQCiQLPgVhXCgOEeLUCZyvxLgXOVOKjAzZJCWyILwOgRuVypdkAaNyDekYhLxvyaHyG2FXMF4kB0HSCOIAn5PIhVsTulJ8/SYHLIbaD9hKIYTyAmfkdZ/bf+DOH+Lnc7CGszGtA1EJEMkked9r/WZr/Lfl58kEfNnBQhdKIBEX+sIa3cidFKTAV4m5xZkysotYQfxDxlXUHAKUI5RHJSnvUmCdjw/oBfYhd+dyQKIiNIQ4T58VEq/SZWaIwDsRwt6BTRQWcJIgNIF4kkIUmqmy2SCclqHyhtVlSNkulP8eVDvhV+Hogz01mqfjfCAUcFT+mUSRMSoWYArFVoSglBmINiF1kuYlRKptRRUJ2zKCNVJ6giN8K4gSBODxYyY8VZknDElT2JfmywXyxLUIRJ0aFDxYIkyKU9cFO8bgD8cNcsMsCMSt5kEcgGxM9mAtfEBKqzB17LhAnJ6p4PkgKghOUa3GKJC9OZY9bCPLCFXoLiD1khYmqtXhKAdycSn48S1IQl6SMEy/K4UbGKePBl4NowAYhgAHkcGSCSSAHiNq667rhN+VMGOACKcgGAuCs0gyuSB2YEcNrIigCf0AkALKhdcEDswJQCPVfhrTKqzPIGpgtHFiRC55CnA+iQB78Lh9YJR7ylgKeQI3oH965cPBgvHlwKOb/vX5Q+03DgppolUY+6JGhOWhJDCWGECOIYUR73AgPwP3waHgNgsMNZ+I+g3l8syc8JbQTHhGuEzoItyeK5kl/iHI06ID8YapaZH5fC9wGcnriwbg/ZIfMuD5uBJxxD+iHhQdCz55Qy1bFragK4wfuv2Xw3a+hsiO7klHyMHIQ2e7HlRoOGp5DLIpaf18fZayZQ/VmD8386J/9XfX58B71oyW2CDuEncVOYOexo1gdYGBNWD3Wih1T4KHd9WRgdw16SxiIJxfyiP7hj6vyqaikzLXatcv1s3KuQDC1QHHw2JMk06SibGEBgwWfDgIGR8xzcWK4ubq5AaB41ij/vt7GDzxDEP3Wb7r5vwPg39Tf33/kmy6yCYAD3vD4N3zT2TEB0FYH4FwDTy4tVOpwxYUA/yU04UkzBKbAEtjBfNyAF/ADQSAURIJYkATSwARYZSHc51IwBcwAc0ExKAXLwRqwHmwG28AusBccBHXgKDgBzoCL4DK4Du7C3dMJXoIe8A70IQhCQmgIHTFEzBBrxBFxQ5hIABKKRCMJSBqSgWQjYkSOzEDmI6XISmQ9shWpQg4gDcgJ5DzSjtxGHiJdyBvkE4qhVFQXNUFt0BEoE2WhUWgSOh7NRiejRegCdClajlaie9Ba9AR6Eb2OdqAv0V4MYOqYPmaOOWNMjI3FYulYFibFZmElWBlWidVgjfB3vop1YN3YR5yI03EG7gx3cASejPPwyfgsfAm+Ht+F1+Kn8Kv4Q7wH/0qgEYwJjgRfAocwhpBNmEIoJpQRdhAOE07Ds9RJeEckEvWJtkRveBbTiDnE6cQlxI3EfcRmYjvxMbGXRCIZkhxJ/qRYEpdUQComrSPtITWRrpA6SR/U1NXM1NzUwtTS1cRq89TK1HarHVe7ovZMrY+sRbYm+5JjyXzyNPIy8nZyI/kSuZPcR9Gm2FL8KUmUHMpcSjmlhnKaco/yVl1d3ULdRz1eXaQ+R71cfb/6OfWH6h+pOlQHKps6jiqnLqXupDZTb1Pf0mg0G1oQLZ1WQFtKq6KdpD2gfdCga7hocDT4GrM1KjRqNa5ovNIka1prsjQnaBZplmke0ryk2a1F1rLRYmtxtWZpVWg1aN3U6tWma4/UjtXO116ivVv7vPZzHZKOjU6oDl9ngc42nZM6j+kY3ZLOpvPo8+nb6afpnbpEXVtdjm6ObqnuXt023R49HT0PvRS9qXoVesf0OvQxfRt9jn6e/jL9g/o39D8NMxnGGiYYtnhYzbArw94bDDcIMhAYlBjsM7hu8MmQYRhqmGu4wrDO8L4RbuRgFG80xWiT0Wmj7uG6w/2G84aXDD84/I4xauxgnGA83Xibcatxr4mpSbiJxGSdyUmTblN90yDTHNPVpsdNu8zoZgFmIrPVZk1mLxh6DBYjj1HOOMXoMTc2jzCXm281bzPvs7C1SLaYZ7HP4r4lxZJpmWW52rLFssfKzGq01Qyraqs71mRrprXQeq31Wev3NrY2qTYLbepsntsa2HJsi2yrbe/Z0ewC7SbbVdpdsyfaM+1z7TfaX3ZAHTwdhA4VDpccUUcvR5HjRsd2J4KTj5PYqdLppjPVmeVc6Fzt/NBF3yXaZZ5LncurEVYj0kesGHF2xFdXT9c81+2ud0fqjIwcOW9k48g3bg5uPLcKt2vuNPcw99nu9e6vPRw9BB6bPG550j1Hey70bPH84uXtJfWq8erytvLO8N7gfZOpy4xjLmGe8yH4BPvM9jnq89HXy7fA96Dvn37Ofrl+u/2ej7IdJRi1fdRjfwt/rv9W/44ARkBGwJaAjkDzQG5gZeCjIMsgftCOoGcse1YOaw/rVbBrsDT4cPB7ti97Jrs5BAsJDykJaQvVCU0OXR/6IMwiLDusOqwn3DN8enhzBCEiKmJFxE2OCYfHqeL0RHpHzow8FUWNSoxaH/Uo2iFaGt04Gh0dOXrV6Hsx1jHimLpYEMuJXRV7P842bnLckXhifFx8RfzThJEJMxLOJtITJybuTnyXFJy0LOlusl2yPLklRTNlXEpVyvvUkNSVqR1jRoyZOeZimlGaKK0+nZSekr4jvXds6Ng1YzvHeY4rHndjvO34qePPTzCakDfh2ETNidyJhzIIGakZuzM+c2O5ldzeTE7mhsweHpu3lveSH8Rfze8S+AtWCp5l+WetzHqe7Z+9KrtLGCgsE3aL2KL1otc5ETmbc97nxubuzO3PS83bl6+Wn5HfINYR54pPTTKdNHVSu8RRUizpmOw7ec3kHmmUdIcMkY2X1Rfowpf6Vrmd/Cf5w8KAworCD1NSphyaqj1VPLV1msO0xdOeFYUV/TIdn86b3jLDfMbcGQ9nsmZunYXMypzVMtty9oLZnXPC5+yaS5mbO/e3ea7zVs77a37q/MYFJgvmLHj8U/hP1cUaxdLimwv9Fm5ehC8SLWpb7L543eKvJfySC6WupWWln5fwllz4eeTP5T/3L81a2rbMa9mm5cTl4uU3VgSu2LVSe2XRyserRq+qXc1YXbL6rzUT15wv8yjbvJayVr62ozy6vH6d1brl6z6vF66/XhFcsW+D8YbFG95v5G+8siloU81mk82lmz9tEW25tTV8a22lTWXZNuK2wm1Pt6dsP/sL85eqHUY7Snd82Sne2bErYdepKu+qqt3Gu5dVo9Xy6q494/Zc3huyt77GuWbrPv19pfvBfvn+FwcyDtw4GHWw5RDzUM2v1r9uOEw/XFKL1E6r7akT1nXUp9W3N0Q2tDT6NR4+4nJk51HzoxXH9I4tO045vuB4f1NRU2+zpLn7RPaJxy0TW+6eHHPy2qn4U22no06fOxN25uRZ1tmmc/7njp73Pd9wgXmh7qLXxdpWz9bDv3n+drjNq632kvel+ss+lxvbR7UfvxJ45cTVkKtnrnGuXbwec739RvKNWzfH3ey4xb/1/Hbe7dd3Cu/03Z1zj3Cv5L7W/bIHxg8qf7f/fV+HV8exhyEPWx8lPrr7mPf45RPZk8+dC57SnpY9M3tW9dzt+dGusK7LL8a+6HwpednXXfyH9h8bXtm9+vXPoD9be8b0dL6Wvu5/s+St4dudf3n81dIb1/vgXf67vvclHww/7PrI/Hj2U+qnZ31TPpM+l3+x/9L4Nerrvf78/n4JV8odeBXA4ECzsgB4sxMAWhoAdNi3UcYqe8EBQZT96wAC/wkr+8UB8QKgBr6/x3fDt5ubAOzfDtsvyK8Je9U4GgBJPgB1dx8aKpFlubspuaiwTyE86O9/C3s20ioAvizv7++r7O//sg0GC3vHZrGyB1UIEfYMWzhfMvMzwb8RZX/6XY4/3oEiAg/w4/1foXSQhsIY9n8AAAA4ZVhJZk1NACoAAAAIAAGHaQAEAAAAAQAAABoAAAAAAAKgAgAEAAAAAQAAAVigAwAEAAAAAQAAAVgAAAAA4EYPbgAAPDtJREFUeAHtnQmcFMXZ/5/q2V3YWUBgF7wPlFPUaLwVEBTvG1ijRk1iEvP65k3eeICaQ9doElHf3In/JCavvjFG5YgSFQ8U5PI2MRHlUElUkGMXEXZnz+n6P7Www1DszM5MV9+//nx2p6u7q+qpb/X85umnq6uJsIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACLhIQLhYNooGARDwkEDzfDpApul8m+g4rnZv/nL35s8NJOh9adMTVZ/QfHERtXloUuyrgsDG/hQAgLAT2PI8jUjYdBu3Ywr/5ftO10tBd1c10E8gtN70er7O8MYC1AICIFAygaZ59GXO/Gv+qyiikBdlgib1mUDrisiDQ0sgAIEtARqygEAQCDQ9S99lf1V5rqUs/xaCTkyeQmtKyYw8hRGAwBbGCUeBQKAIpJ6li/hy/yE2ysl3+NVkkk4SJ1BzoBoXIWOsCLUFTQGBWBD4ZD71Z3FVYQEn4qpYHZ1qoutiAc2nRkJgfQKPakGgVAIVaZrGeatLzb9TPkFTt8wzVNZOBSOhCJQBQ3gIyKepqtmiM9h7OYyt3of/Evy3Vkpabgt6ot9EaghPa2BpKQS4r0XqObq8lLw58vRLCLqQ992bYz82OyDg9BLDQdXIWigB/kLtzV+sW/n4z/OfGtvY3ZLmjY/zGMhv951Ib3d3ALaFn0DT83Qk2fSa0ZZImlN1Kp1vtEwU1kkAIYKAnwiNz9IVLK6r2Ew1HCeXuKpWKG/2fO7Qf/DQnZuVp6M2YokWAe7Xg023iK+IRpkuE+VtIwCBDfCZoISSh9LczyZWFmGmEtpbm5+nB2QdoX+LABeKQ23aw7Sd/Eu8l+kyUd42AvgCBvRMaNwWZ1NhgZIW9nQuTY0peYxkSXUik/sE+Avb4UIt7S6UiSKZAAQ2gKeBirkKSb8xYNpNqWfoRAPloIigEBC01gVT3CjTBTPDVyQENoB9xt5nHZtVTFggVysEx9em59qJ7eEj0GHR301bzWEo42WatjGs5UFgA9Zzcj71YZMuM2YWPw659Wk6xFh5KMhXAv1OphUsiMsNG/Go4fJQ3HYCENiAnQrNHXQam5RvtEDRFltlGIJTNLRgZzARPupq4ZrKFD3RlcCnWQIQWLM8HZcmLTrCcSF6AZIO1zchHV4Cla10D1u/2lALbhHnUspQWShGIwCB1YD4npSuDJnBMBzfO9acAeIsauXb07VcotNJWh5NLqb/NWcZStIJQGB1Iv6n1ThW0wseiTZN1Ofyqk6m13n86pVsRqlvKFiaTNDloo6fC8PiGgEIrGtoSy7YjSEzmPOz5O4IbsbkRHrIEnQqW7i+SCv/kGyjk8UEaiwyHw4vkgAEtkhgbh/OQ7RM3yFWJrtRptsoUH4BBCpPoYUtbTScH4y+nQ/fnCcLn1q0iL/w46om0pc7wwx5DsYuMwT4KgNLkAioqeM4RrCObTJ2WS8sOi55Mr0cpHbCFvME5GtU3rSZJ9AmOp4Fd09+WKUv1/IxC+u7Ik1zk6fTh+ZrRYn5CEBg89HxaR/PQaDGJZqa3egdvpFxCGJtPnUmqo01AYQIAtj96TTdyGaZeeZc0k0Q1wB2MkyKBQEIbAC7ud/pnTHT25yaxkG3P/M8n485LQf5QcBPAptqb9itafK0Wc1Tpo71045S6kaIoBRqHuRhcRSdUw7yrFglVvciv9DuFLzQrkR6yOY7AfnFut5NjalLSF2FEQ1jgxotIc+qnHnXIt+NK9AACGyBoPw4TIlsah7dwjcsbub6C+4rvqnxcFUzXYkndPzoNdSpE5Dj68pa+rfsQ+Xp/fmcHswDbysFWZWSZH+ejSgpSPI67caneAXnrSIh+7KoDuX1/fmvXCsvVCJb8JdWaySSHhJIPU/H2pKm813hk/JVy525gmX4e5Un00yeEITPWSwg4C0BJaapgS1HCGEfz0J6HJ+Tx7AF+/GfLpRODAuNyEJgnXSzx3nVrFhWgs7jao9g+dyTxZRHdHUOMl/G4vvXyiX0Cm5oedwpqI5kXZ3Vsqz5hLQta1lQLmYkgz3AkmKn45y+s++c70FdJVcBgS0ZHTKCQLwJbLnwpupEwv4WSXkVk/BCVHXggfdkIbB6lyENAiCQl8CWS66rSbQn/ouvor7FB3Ls1Ncl0J4sBNbXcwOVg0B4CMjauoqUnZrKFn+b/5IBsjywniwENkBnCUwBgaASaJp049Ek7PvZvlEBtTGQIosHDQJ6tsAsEAgCAR6KIhqnTLuBxXUJ2xNUcVWo+thSPBm0hxHgwQbhLIYNIBBAAvLy66tSqQR7rXJyAM3LZVKgYrIQ2FzdhO0gEGMCjbVT9xC2eIoRfCaEGAITLkCIIIRnD0wGATcJNNfesB/ZYiHXEUZxVWhUuOCprZOmTXCTUyFlw4MthBKOAYGYEGiedN3+tkgocVVPX4V98d2ThQcb9lMI9oOAIQJbL7x+sBSWCgtEQVwVFd89WQisoZMTxYBAmAmoG1qWZT3F8wuNDHM7urE9ye8tm+PX6AIIbDc9gk0gECcCaihWU8r6Pbf5iIi22zdPFgIb0TMKzQKBQgk0T77hGr4Z87lCjw/pcb54srjJFdKzBWaDgAkCjbU3HCps+QqX1dtEeSEow9NxshDYEJwRMLFnAuo5+Sa7eQJPg3sOT+M4hGd4GszxxBaekGQNz4L/kkgnHqt89I5/9VxSfI7onLu1OvUGt/jQ+LS6s6WejS6AwMbszIpac+VVV5WnGvp/idtVx3975m+fmCcturbPjOn/zH9cPPY2Tpp2HU/Mfnc8Wqu1UtBTVTPvPFPbajyJGKxxpBEqUEoxduXG6WNXNRwcxFapafOaGvrPY9t+w389iKtqgZzIl8OvNU2eeqVKxXnZfOmNA1hcvxdTBnOTrUlPHv+FwMb0DCuk2eNWNNzGl9jTyLbnj12+/rBC8nh1TKr2mr0TbYnX+BJsXJF18nufxO/5LaXfKTJfpA4vb7G/yQ3yey5X75lKujdpJS8Qf61LeVE5QgReUA5hHeNWbvwav6Du/2VMF/SJJcXpL4yoeTWzzacVWXtNZcouX8jVH+XABMmv2bkoOfvOmQ7KCGXWhs9/o1/vlsp/sfEDQtmA0oxuZ7G7Njnrzl+Wlr20XPBgS+MW6VzjVtZPYnH91U6NlDTAFvLpk1bUH73Tdh8SqXT5NK7Wibgqq/mFpvTbT2uvGehDE3ytsldz5dfZgNiIK4/zXcntPcFrcVWdDIFVFLBkCIxbuWGclPJPvEG9UHHnRYks2XNPXL5xxM47vEup90Bx7PA6QzUOKLPLrzVUViiKUQ8VMD/1Dq04LB08quTuqqT92apZd77mR4MhsH5QD2idJ65qGM1Dmx5l8/KMiRTV/Ojhkye8u86Pl9xRwkpPZpHoaw6h+KISHXPlBbuk5snXH8MWHhBsKx1bx6cxzZFkH5mcdddU8ce7mxyXWGIBENgSwUUt2/hVDftYaftJvqlVyKXjgYl04vEj1671471M55plL/dOTb7xcLNlBrc0W1jqtdpRXWxu2OP8dwwPwTq/z6y7/+F3Q8v8NgD1+0/g+GWfDkzbbc/wr34xsygdXdVYcR8P6L+YLzrVie3VYvy1JVLYahja37xqgF/1KE89JWmKX/W7WO9qDgU83EFl9/eb9aPlLtZTdNEQ2KKRRSvD8R9+WFmWanuMW1W0cHGstnbMiobXFxNN95DKHubrEgWMoTVfq9cltk6eOpTr3Mfrel2or5WvtN7gWDKfevas5Ky7X3ahDiNFQmCNYAxnIbVSJj5eufEBtn5MqS0QQt5+0qqGhS8Mq36x1DKKzNdR5PE9Hm7Z0niZPVbqwwF8x+d4HpoWhkVZuZn/PmEhredb8R+w3at54/vCst+sbGx9Q8z9RWsYGgKBDUMvuWQji+vPBIlJDosvs9P2QxxmOOLF0bttclhWj9n5UvBjvoNhdoC8Jdf0WHEEDuBAzgk+385TN5se4kjF6xyWeU+IREPaFk0VJNvaLbE1XS47dqvo3Szuq2uJAO7OJkBgo9KTRbZj7IqNt3IWNR7S+cKx27LydvW4aq3zwvKXwO9a+jtfGhqdFNpKl72Zv9aI7BXiSP9aIma0pVuvGvDoT5VnGpsFowhi09U7Gqqe0uLUzTu2GFiTcsrY5fWXGSgpbxGWJVS82OAi3u79lx+pgehxWA70o5F8xfGz5Kzpn4ubuCrWEFg/zjgf6xyzauO5/JSWO48LCvmTU97ZUu1m8ypbK+fwZe5aU3UIsn9rqqwgl/PJBd/qz/b58NSamFV1aOW1PNA4HNFfw50IgTUMNMjFjVlZf6xIqxgYuRUaqmkTrbe7yaBzkg4p6gzV8X6lVXWPobICXUxFovcQHwz8tL2X+Kqoq/NyGJ8PzcxdJQQ2N5tI7VFTDgopn2Tvz92HA/gxTB5VcLyb8Phy8152hx5xWEcL35n+vJhR1+awnFBklyI9yGtD+YbkE/0fvOMTr+sNUn0Q2CD1hku2qKe0eMrBp7h4Ly4RLWnbv1ZDwFxqjroRLqus5Jf5orPUoWFt/ED+l3gmrZfcsjFo5Vp2QU/oGTWbb0i+ZbTAEBYGgQ1hpxVj8sT3Nu2Wtu0nOM++xeRzcix7l4evX1F/sZMyesrLnmdjsl/yZB7yc19Px2r71/ErZCYmZ05XoZLYLNKyVAzW08US4j1PKwxgZRDYAHaKKZPUU1otHem/cnmeT5bNUwHWjZ8v3Yr1diJS4yWrZk3/Es9TexJ7s4t5Y74bKZ/wI723p9ppeOXMuxaZYhyWcjgcUuW1rTzGtd7rOoNWn6tfgKA1Nk72qEv0dSsa/sizno71qd1D03tvVMO27nO7/srZ0xdyHWNT51+7rywrO5NDCENZa/dktd3KosoPJtDSqoGbF4rf/rbdbVuCWr4tZS8eP+zpkkjIyDwwUCo4CGyp5AKeb93Khp+wuE721Uy+2z96mXxw2WjhyY2k5GM//pDbG4thV8X2K2srvyrH24Vj8bEXWIQIvD3nPKmN53U9jj24//KksvyV7D+gfOPn8x+CvV4Q4DkjentRT3YdfJOrOTsdx3UIbAR7fcmwanV3XD2t5fv4Q46PqpfrYfGZgE3C3eF53bSvrAweLAS2mxMjCpsWjRj0O26HEtl8N35cbypXfrh6wMH1ilBBXgIcIqjMe4ALO+10BUIELnBFkQEhwCKrBuTf6rc5PDD2P/22AfULz4dptdkphAhw4kWbwOLhNd9nJ/Z+P1vJk31cNH7F2ho/bUDd8kCPGaT7H95/i8d1Bq46hAi2d8mRr8ny41fU7z3mvU37nblqVa/A9VSpBvHdjT7Wp1/jS8S/l1qEgXy9bVmGm10GQJZShKyt5afqxLBS8jrIsyXOcxB0cYv1MK0xK9cfSHbiS6xB5xHVH8pQBHWkqZH6E8+X+j6n5vC+/1s4bHCo39c0d9iw1vHvbqhNp8Ub3EaDb2TtOo16/pRCqHdB/aznI3GEaQKp9IFn8JC9fqbL7aG8hh72x2I3OzbxW8Yv29DHTlg/kEL+B7e+p/GB6ibRw5SmaxcdPOjjMNMas3LjVfxEj5oY24/FZob7hJ2hH+Cc1Lmp9obdetv2SxymGemknOLzinn8lN2pxeeLVo7YhQjUxCfpcrGAxVUNH+pJXFVvqx+hiylBr41dUa/eKR/aZfGwGh5ZIJb61ABLJBy/nsYn08NZrTzzG7162fJh78VV8ZLvh5OaWatjJbBqMmie+GQBD1wq5dUZe/FJM2/825sOMdsFHpbG8Q6S6au5Rl9e8meTz0+WeYja76q2Xnj94FSy8nm243Q/bOG5KCCwDD4+IQIpxdhV9c+zuI53eMK9l+iQhy8YPbjRYTm+Zef4shoj+xUfDEj3KktUzzto4Kc+1B3pKmXtNZVbqXy/RFoM5d/Rkziupfp3gF+N5ivE0/vMvOsZv+oPSr2xuck1dmX95xj6eAPgD+ooE9dxObcaKMuXImRZ4jbRkb6CKy8kRGLSxkRbR8eJXOCTJguNWlnNF9x4QDohR/CE1UPYAzqQr5x44hr1JJZQN6r4JqVUT2Wp2bH68/5yFtO+KZs4isWLukhRn/4udpuwXvbXhGDUHhsPlr22txn5KEPYG9mL3TPMXuy4FRt/w1/EqwzxKLgY9q6mLxw++MaCM8TgwK211/HbJsrO4i/jCSQlzyNBe4a82cuqZt0Z3lCaQfix8GBV3DRNaVPiqvD34Xe4q9jWLIN94WlRPAHzz/gtB1/lSj39kZXS8mv6RE/59lRZywVTD0onxMV83Od4xohD2SvtKUuY9sduvt1cnROLm1zpRNr4cBEhrdNyQQ3D9kXDqt/m7/RC722VRx+5dq3nE494387ua2ysveHQ1ORp/8fiuoKPuJ3/WFyjtdi2NSNaLSq9NbHwYHmQ+/78wr/SKXWTU5XZzeaQbRL3sud0ksdGl1c1lh3Fdfog7h63NKu6pkk3Hk3CvplseTafiZ5eNWSZ4cXquj5l773gRUVhqCMWAss3C8w/By/l4DB0cD4bedjUY3wJ08LHeDpXqLTFwVxnLAR286U3Dihrtet45kg1Py/jjvbCPx6PiBkz0tFuZeGti3yHd6KQ0o1XBzcUjjmYRy4ZOWgrW/ac19YJEibj4V6bX3B9TVNuOLO8zX6H3VX1UEscvms8/NW6r2BAMTgwJh6stcb84BW5JhLnhxRP8NCes71siy3sSAusHF9X1lSdms4jAq5hrlEOB+x82gh6smrmHaGet2PnBjlPxUJg05ZYYNl88WJw4V/q+QaL862ohG0t4puAntYfZQ9WhQRSbamHeTiq8RurnnZSCZUJW/6ohGyRzhKHyxZaMnTgK+xGmPQ42y1qeyIKZ8aCUQOWcTvqPW7L3qe9uc7z10i73cZU7TV7l7faS3h0RuzElf30Z5Oz71riNuOwlR8LgeVXN7P/Ku4w1TkcbvjtghF7eS1KpszfuZzO+QnkGztvdD0lUpVid9dr8bCClsk3HijtcjX+M9LhjxxI0ySsm3Lsi/XmeAgsd/Gmjmr1Omf1NJfDRTa0l8vbHBYSqOwc7ljutUFCJsyP7PC6EdvrS02atk+abHWzcIhPJvhaLQffflU1447XfTUioJXHRmCXjRZt0qYL+VLGyYiCDn7A4KKXD9x9fUD7sySz2CN/p6SMTjIJOchJ9qDkVbNW8Tk1j+05ICg2eWzHu83t9F2P6wxNdbERWNUji0cNWmkL6yz+xS1eICWl+K7wJQtH1qgp4CK1cJTgA+8bFH6BlVddVS4sawafTyO85xeIGtnhoMsHzblTDffD0g2BWAmsav+SYdUvWQnraPbanu2GR/ebJL0hEnLMopGDZ3Z/gDdbNy6mvk3P0h/kI9smTjJVqyTLh3iyCL0Hm2rofw/fPB1nqh/CVg6L69Tk7DtfCpvdXtobO4FVcBcOrf5w8YjBp1mC5xMQQolmd3O7tvG+p3nk9KWLRtQcHYT3clW20Hl8OfqlpoH0gEmRlSLtucDyD5zXUyUa/V41Tr7hMi7wy0YLDVdh97O4/jRcJntvbSzGwebC+sLwauXFPjt+9ere7R39DkoQ7S35VjDPMvWhTdbqJSNqAnXpw95SrWoLf17MIkssspeJi/hNVw4X0WE1m/WJHRoU8OzNtdcPsW36VcDNdM88QU8lRdLzqS7da5B7JcdaYLuwLhgyRD2Pv2z7X9fmQH2q8ADPGpCZwcu0yHrdWL504iaEc7Gl9Wv+eVOTX8dxWZJsTU4Wf61ri2Pji21zLEMExUIKwvGd4QGiymxbtous0XBBdvlurvMbfEJ57qUmT53MDxKc4SaboJbNkyYtSLXTmSyuqaDaGDS7QnmSBw2iF/awmHaGB/S6TIgsf3H66OUivSsBWVdn8QMrkRoDvWsrc2wRNKeyb9WZGDGQg0+OzRDYHGCCtLkzPEA7wgO6bU5FVpR7P+hfCB72FrKl+Z/NU9jk2D2pxcPQfp4UqyeJ++pUKA1LEQQQgy0Cll+HVjbTuRyx3Ck8oNuyXWRLuvFlS5tvmXm72Lbc5G2NzmpjkRE8EPo7zkoJW26xheepv7rP7OkPhs3yoNgLDzYoPZHHDvb2ug0P6FlK9mSlGKKX5XbaIuH50DAnbUpNvuEczn+YkzJClnepZaUPh7g66zUIrDN+rufeHh5QL1gsaClFZAV5Pz+rJDtsE5Z/oaAOCP9Bn3JM/ltJa/W4yhl3rw5/c/xtAUIE/vLvsfZCwgN6IcWGC2x+wwDn8XQRViI0IQJZW9cnZafO8hSQ95U1chjkD2TJH1XNuGud99VHs0YIbMD7tdDwgN6MQkW2VsrEupX1R+r53U7bLWWh+RI3pZvP437IGwN3m5eL5TfwsLNftPe2ft7/wTucTITkoonhLRoCG+C+2/5wQcHhAb0phYjsx8vrD+cRqZ4OmmdPaf3iw/qH5sssLHkhi1CUlkYOA8zhscgPJ5ubnxZzf9EapcYFqS0Q2CD1hmZLKeEBrYgeH6tlz2ysnsftNE8S4vn8s47aJOlER/l9zyy2sAmv8GxwL5IlXkyKtgVixk+afTcrBgZAYAPcyaWGB/Qm5fVkLTrfa++MncHQCGzzBTceYJO9p87Up7R6PHVt54gxks3MMcXvN2PvU/L4VNHMAvopTz25mR+G4D/6KCHk+/yK9NWVs6ev4XMgWj64Tx1QbLUQ2GKJeXS80/CAbmZ3Invs++t3p3YfPNgQCWzakicwOx8X8TZfhvzcEulnetO/PxAzZjie3MfHxsSuaghsQLvcRHhAb5oushVtiUn8ym6eRMzbRSQsA6/u8cZmS9iHskfoTWV6LZL+N5mo/A8xAxOr6GjCkobABrSnTIUH9OZli+w4kl/R93uQTldY4mUP6jFSBQ9hG+KLvArxi6pZ079ppBEoxDcCEFjf0Oeu2HR4QK9Jiezv97xyX97+WX2f62lJb847aOCnrtdjqAK+234gxzcNlVZYMVzbc5Xi/WsKOxpHBZkAnuQKYO90hge0qQlNm3l365UnrtrAL3Lw+NaHtMQi021xtTwh9nO1/G4K5xtVtyLW2g2YEG6CBxvATnMrPNDV1LnW2bQ8VU3U3MI3niUN372vZ04a/6Iv7LIjFJ+SvJ4I56PKmXeF60coFB3pj5HwYP3hnrPWYuceyFlQnh3XpW/JeK7rt7TSyvX8ZhxvPFm7w+pYnMe0QO3aeN40/uWhci+N4vDACi/rQ13uEoDAusu36NLdDg/8ruwq+neL0o0dixJZb8IF4qWlQ/fYsKPmYK9VldFuXlvIv3P/8rpO1OceAYQI3GNbUsluhgc+sQbQd1u+1a1d6z71IFwg5YxuKw/oRn69e+80v93Qy4WHhKmnrkK3yPnUu6WDBkuL0pW70QZxFI+wxkIQ2ACdBG6PHvg83U+N7bnviCtPVi0uxWSlLE/MDhDuHk1pt2Uvry/x+DHi0DzC2vQcfZZD+FfwGXVuKk0Hdg62YBc8tZlk0zz6J6fnWB30h8rTaXWPsCN6AAQ2QB3rxsMFXc17IHEFLWwa1pXM+alEVrAbPWwwv6YrtxbnzJ9nxyuLDxr4QZ79gdvFk4JXeBWc3tF4O/AC2/QM7cWe6o85bn8RnyLdnSVq22G8/zA7QdMa59E9VWn6jjidmna0Mx5rXv9Ax4Nqia10KzzwtnUI/XfLTTxioDDDVLjA9I0v/saFKjygSPFwKc+nKBTCCvS7yhqfocPJohe5Pz+nEBVwRlXwQf+dStDS5vl0QAHHR+oQCGxAupNjWOrNriVPTZirGVtFXzqr4wHi+FhRi+HRBa2t5fYDRRkQgINtmU56bYYkyYOTg7lsfZZG8dSWC9i6UsYGH2anaf7WJ2lQMFvnjlUQWHe4Fl1qUwedx5mMekztopxOkU/QxtZeRdujMhgcXfDIywfuvr4kI3zMJKTlg8DyuxUDuKj7A5agx9k0JyMrDkhU0MN8JVWI5xtACsWbBIEtnpkrOUyHB2y+jjuNvw/Lmp05DGbCBeKXrkBzu1BLeD5NIT+aG0gPNtlC1zPuA50i5yjVhObnaYrTcsKSHwIbgJ4yHR5Q4nq69Ti9kirlSm5XIA492VcXjah5ZddSQ7FlH6+tlHbwbgRtf/jlWlMs2IOtM1VW0MuBwAagh0yGB5S4nmU9RkubhhhtWameLF8NhtN7VfSknGAUYgGF8WU4P1YXrKWqmc5ki9Q9AlPLwSqea6qwIJcDgQ1A75gKD3SJ66Kmoa60qoQbXyvL1lY/6IoxLhe69cLrD+Eqjne5ml2LT3es2XWjv1ukoFNNW5AQHMGKwQKB9bmTTYUH1H2D8xN/IbfEtQtTMSLLE8l8d8EEUeT4ha6a/Pvk13RXJCzrNrbA6+9HR+Wn/T72r+U5a94/554Sd9iCjJdZoimuZvP6BHK1MWEs3ER4QInreYlH6fnG4Z4gKEhkBb2+eMSgmZ4YZLiSZtl0Pj8gq8IDLxkuuqfi1ogFdUH8QarpyfBi91uSBhebJ4zHQ2B97jUT4YFvJX7qmbh24erpxhcPmP+2GqnfdXyYPpMz75pBUvyQbT6af7vm8qc37RD0ZhA58Zgq469Y5x+whiC21bRNEFjTRIsoz1R44Fb7Ftq3t/dPIea88SXphYXDqp8pAkXgDu0ze/qdUopvs7SqGzxL+c/98alS/D1wIJRBktyIC7tRZuDwQWB97JJmm87l6iudmtBfbqaXrIm+iGw34YJ2fhNr91N2OW2ox/m3i+wNXO2JPD/DB/zpanxUyHQgBZbd9wWm0bNXPN90mUEsDwLrY6/weMBaU9UHRWTZ65u+dPjgQApFKay7RJZv2I3kcAHrAv2tlHIKyJPukOULCzjO80PsdvorV2py+sGPkqfQa543xIcKIbA+QFdVbg8PnGGy+i6R3ceHcIHyZNdv3NB6XOuTd5hsUxDK6hJZvlTeg+05mD8Xm7aLvcSl/f7yo0DGJfueRRv5p+Veg23+Ed978CaubdDoUoqCwJZCzUAeU+EB3RQlsi/7EC5Qzt132r/fq27jFffKRyih2xX2dEZkiXpxU8ewR/s8t8ncHX/ZeTMtsJh4esLvs3GbDBi4LNmffmegnFAUAYH1qZtMhgf0JiiRfcU6mfbr3ajvci19dt83aYr9sLqGvrhpID0QcZFVc+aezDDVXX8TryCXZUIGekhbnwm0jp8yu5Db2+bgJPokYdOFcXrbgYopYfGYgAoP8Azw6t1Ujm9w5TN9s+hPx9rz6KOWqnyHOd43uHc7vZU4garsHYLO138PVW2iy8RFlHZcQcAKaJx0wzQegTZ9m1niXxzw4VFHTiZCEfOqZk03/rSUG9hSz1EtOwf3cdnFzjS2jgftXZg81fOxxW5gKLhMeLAFozJ3oFvhAd1C5cm+6rInW85n0COJq3YSV2VHXDxZFtcDWHAGcYNLntBGSPkbve+CmuabUzO4rWPZvmJu9j0tEnR03MRV9SEE1ocz2c3wgN6cfnILx2RPcSdcwCr6w+Sv6Wi7+wee4iKyfMOmL9+yOZK99kU6/57TYk1lzebHej4uOEdUnUJvJBfTUdzuS7ndarxzd2EDdTkzk5mcWjWRzkhOoI+C0wLvLEGIwDvWnTV5FR7Qm7VF9OsMF3ygvbJbP66Y9KQ+r9If01f0mCU+4QKFQvBDCfIIXiks/CPpK1Wz7/x9jxADfICazrCyhYZwCGBfvhnWzpPDrOkj6D0xgVoCbLYnpkFgPcG8oxKOYV3CHuyDO7Z4t7ZNZJ+jD1r6OK50VHITvSLH8iWQCj/2vMRJZNmzW8F9PJCp9DTb+T+T1uojxIwZkYtT93xGxOMIhAg87mcvwwN600yFC/bs3ULP0TkFi6uyIy7hAtVW7uMR3GCbhHxbpXMtPEnPVIhrLjrR2A4P1sN+9Cs8oDfRSbhgQHkHvVJ+Br+3ubRHyWPlyRK18rR8b/Kl8zF6H/BPziweOTBl1+3YEiUC8GA97E2vRg/01KRtnuzEom989StP04LySSWLq7IrVp4sP5SwXVyXcNOzYykfpW3raz31E/aHnwAE1sM+9DM8oDez2HBB33Kb5pdfREPlKr2ootNxEtntcE7kwAHPz8BDOlhobdv6QlAfiy26M5EhLwGECPLiMbczKOEBvUXbHkZ4lh9GyH3jS4nr8xWfo4Ptt/TsjtJRDhc0TZn2PR7C9P2dAcnV7MLfWzXzrh/uvB2pqBKAB+tRzwYlPKA3d9vDCLnHySpxnVdxsXFxVXZE2ZOtmnnnbTyzmJrqMLNw+uXkIVWRmwwn00Cs7EIAArsLEnc2WDV0LJdscso3Y4bmChd0iesh9j+N1aUXpEQ2NZDulXXRe+gla4IY9XKH56uam78o6uqyY7E6DqQjRgAhAg86VC6jPu0VPPdAB73ZvoaO5CrLPai26Cqyx8luE9dL6BD7H0WXU0qGSIcLJk+9MmlVPSJm1O2YrKEUSMgTOgIQWA+6rHUlXcKDz7c9XNBBLwVZZFVM9jx+3PxX4no61H7TAzo7qoiyyO5oJdbiRAAC60Fvt6+k2fz4oJrqbdsScJHtMtOPT4isH9RRp1sEILBukd1ebiY8oD+bDpHNSR4imxMNdoSMAG5yudxhbeU5XmxYRseV702vc/WBvPHlMpa8xfOvfmQn7c7bcOyMHAEIrMtdyoBzv9gQIpuTPkQ2JxrsCBEBhAhc7Kyc4QG9ToQLdCKZNMIFGRRYCSEBeLAudlrO8IBeJzxZnUgmDU82gwIrISQAgXWx0/KGB/R6IbI6kUwaIptBgZWQEUCIwKUOKzg8oNePcIFOJJNGuCCDAishIQAP1qWOKjg8oNcPT1YnkknDk82gwEpICEBgXeqoosIDug0QWZ1IJg2RzaDASggIIETgQieVHB7QbUG4QCeSSSNckEGBlQATgAfrQueUHB7QbYEnqxPJpOHJZlBgJcAEILAudI6j8IBuD0RWJ5JJQ2QzKLASUAIIERjuGGPhAd0uhAt0Ipk0wgUZFFgJGAF4sIY7xFh4QLcLnqxOJJOGJ5tBgZWAEYDAGu4Qo+EB3TaIrE4kk4bIZlBgJUAEECIw2BmuhQd0GxEu0Ilk0ggXZFBgJQAE4MEa7ATXwgO6jfBkdSKZNDzZDAqsBIAABNZgJ7gaHtDthMjqRDJpiGwGBVZ8JoAQgaEO8Cw8oNuLcIFOJJNGuCCDAis+EYAHawi8Z+EB3V54sjqRTBqebAYFVnwiAIE1BN7T8IBuM0RWJ5JJQ2QzKLDiAwGECAxA9y08oNuOcIFOJJNGuCCDAiseEoAHawC2b+EB3XZ4sjqRTBqebAYFVjwkAIE1ANvX8IBuP0RWJ5JJQ2QzKLDiEQGECByCDkx4QG8HwgU6kUw6qOGCI9euTSa3JIZKEntZJKqJZI201CfVCEmJTAO2r0iSbXxsPR9bb0t7A0mxscwS67ZurX7v9aMEXgevA/MhDYF1CL11JV0iBD3osBh3skNkc3L1VWSlFCe+u+lgy7ZPIEEHE4lRJGkEC+r+bLCJ72Q7t+89Lu9tQdZyKeRbdkfZ0qUHD/h3TiDY4QoBE53pimFhKbR9Jc2Wgi4MrL0Q2Zxd45nIsqCOfbf+CErTOJbPk9igMfxXk9Mwt3ZI+oDrX8gOwWJLihcWjKhZ7lZVKHcbAQisgzMhsOEBvU0QWZ1IJu2ayEppjVlef4Rl0blcx2Vc4UGZSoOzslpI8Vdb2DMWDx+0hAQHIrAYJQCBdYAz0OEBvV0QWZ1IJm1SZMcuX38YicRXBMlJXO7emUqCv7KavdsZokPeu/DgwauCb244LITAOuinwIcH9LZBZHUimbQjkVXe6rv1ZwubvskFnsJ/Yf9eLZFS/qzs40F/WTBBdGQgYaVoAmE/EYpusKkMoQkP6A2GyOpEMuliRXbie5t2a+3o+Drr6dVcyD6ZgqKz8qEg8Wurw/7lgtGDG6PTLO9aAoEtkXWowgN6GyGyOpFMuhCRHb1MVgwor/8iRyxv44yDM5kjuyIbWGh/mZb0P0tGDtoa1maOX7G2poMqzhJkj+Q27MVD3DpYANeQsP9R2SyfeuYzezSZbhsEtkSioQsP6O2EyOpEMulcIjt+vizr2Lv+SkvSzXxMmOKrmbY5XFknpLzD6tX0mwVDhrQ4LMuz7CeuahjNQ+J+wBWew3+7jCfebohqzwMdJOpeHFGzZvs2xx8Q2BIQhjY8oLcVIqsTyaR1kR27vP58suRdPF51WOag+K68Kyzr6wuHVT8TaAQ8PG7cyvpbuC+/y3bmEtadmyApxSGfry0aWfPAzjtKS0FgS+AW6vCA3l6IrE4kk1Yi+9X+r31jTd/9f8DrV2V2YKWLwOMiYf3nwqHVH3ZtCMynuvG4ov6PPOb30hJtumXRiEHfLzFvJhvmIsigKHwlUHMPFG5290di7oLuufDWR9OnX9z0yd/XCTsNce2e0jkybf9z3Ir6rxN7i90f4s/WMSs3/sCBuCqjbx2zfMOVTq0PFBSnjfEif2TCAzoseLIZIluoL32n7Xr6Q/qizm3jKv5BtN9JJK3CrjIzBcVr5YkEtX9xwYi96v1u9pgVG8bwTblFju3gcIFNNIxv7K0ttSx4sEWS46kJz+MslUVmC/7h8GQ7+2ipfSQd1TInI65q48K2w6jio3lk2eng96N/Fp7dQeVvjVvVcJp/JmyrmedfmG7EBkFJS1Cdk7IgsEXSY+C1RWYJz+ExF1nlsZ7d+r+0Ru6xS5/NazmS5Acv8IgeiOwucLZv4Mvh3aVtPzl2xcZba6X0xd3vfJKO5Am5bCxh+2WnvbmuqoR8nVkgsEWQU+EBvtlxehFZwndoDEW2iS9ILm/7CX2j7VZqo/KcfQZPNiea7B1KWG9et7J+lpp+MXuHF+vCEuoK0+RSmepdVrJXDoEtoisiGx7QGcRIZNfLGjqz9X6anT5Dp9BtGp5st1i623h+cmv5/GPfX797dzvd2mZLOsJ02TyvxOGllgmBLYJcpMMDOocYiOx79n50atuf6HX7UL31edPKkyWEC/Iy2r7zmIp260UeizqqkINNHMOCtpeJcrQySi4TAquRzJWMRXhAb3yERfYfciRNaHuIlMiWskBkC6Y2hN+8sGTsivpjCs7h4EB+/NUFTRNlpZrkgjGlmhLsfLEJD+jdEEGRfdMe1Xkzq0EO0FtbVBoiWyAuSQxaPnPi8o1HFZjDyWEfO8ncXV6ec6LkR2chsN0R7WZbrMIDevsjJLJ/s0fTWW330SbZX29lSWnc+CoY226WkE+Ne2ddcfGYgovfdiDPGW78LQ18Y7vkMiGwBXRgLMMDOpcIiKzyXM9t/T1tlv301jlK48ZXofhENT+s8ZyafKXQHEUfl5Zzis6TP0O6QlbMzX9I7r0Q2NxsMntiGx7IENi+EmKR7QoLfEK76a0ykka4oGCM/Ibc9CkFH13kgQtHDn7JicepV8cjCOY8N6pfg7690DQEtgBSsQ4P6HxCKLJui2sXIohsF4mcn2meseA/Fg8f/POcRzjdIfi9EiS+7bSY7fnTaSvxPSdlQWB7oIfwQDeAQiSyXolrFyWIbBcJ7ZOf62dxvYBfrvhbbY/x5OIRNX/hQh9yWjDHc+uWDKte5qQcCGwP9NqaaSIfgklxdE4hEdnp7VeTW2EBHUlXGje+ukhkPuvthHUKi+vjmS0ur3QkW67ky/uXSq1GSnpw4bBBPyg1f1c+CGwXiRyfHZvpC3Y9qV8xNeM5lmwCIRDZe3tNo/FWyd+z7NYWtY4bX124xL8SJMayJ+hpJ7y4777NVkXTBLbij12WFPgp2XOdzl7w5SZeYw7PLA91OZ/6pNK0gQ+pTFTR61YNqbufvfNkieeugE91mOIuq229hxbYx3neP3Ge6lAK+VaZSJy5YFj1R56Dz6pwzMr6iTyW9cc8FrenIWIvWySnvjBi8KKs7I5WIbB58DU+S5fypL1/6joEIttFoptPiGw3ULZtiqPI8p38+b3LEhfOO2jgpznBeLmD33Bw0rubjrVtye/lkqM5fLA7P/WVZi/1Y5L23xLpsjkLDh74lmmTILB5iDbNIxUsvyD7EIhsNg1tHSKrAdmRLEJk3+Fcr3HY/x3+cV9hp+W/qSKxMdnY1pD91tNjVzX0S1DHIEFlgxJ2en8Wi4OFEKOklOqR1P131Oz9GovrI32tzVfMHTas1fvag1UjBDZHf2SHB/RDILI6kaw0RDYLxs6r3Yqs4HtwUjzGztTjaUsuWjp0DxWScrSMe7dhX9khT+JL9HP5C34WF9bHUYFFZBZS/HzhiOpr2DPk4VJYILA5zgE9PKAfBpHViWSlIbJZMHZe3S6yabKsOTx19+9atg6a9/pRon3no8ylxq9e3bujre+ZfEms3ium5jV168Y2O8/ipsUja8y8TcAcAl9LgsDmwN9deEA/FCKrE8lKh0Bkp7TdQy+kvbvxleSBKF8pe4iuLJ/19Gc2vXu2uIg8fT3CCavWH1SWTnyTPVsltiZv1rZziOIrfOf9/7LOAKwyAQhsN6dBvvCAfjhEVieSlQ6ByHoxuqCcOujyxGz6dvmvaE+xLQLAccqHqjbRZV6LrOqd41fU750g+yZ+MaAS2tyvcMjqyjyrjey61i4eOfipPMfEdhcEtpuu7yk8oGeByOpEstIhEFk3Pdlx1sv0y/Kb6SDrgywo21b9FFllgZp0xbLtX/PquG0WFf1/g0XinBdG1LxadM6YZIDAdtPRhYQH9GwQWZ1IVjoEImvak+1LjfS98l/Q1WUPcNAz9/0ev0WWOHA6bsXGK3l0/U+5x4q5GfZ+IiFPXzB08LtZPY1VjQAEVgNSTHhAy0oQWZ1IVjoEImvKk/2M9Q79ufwbtL9V2DzNvossd9OYdzYO52Fhf+ag4Wezeq37VUlvtFXYZ7184O7ruz8AW7sIuHVHsav80H02dZB6K2VlKYanm+hIPFabg1zAH6tVN6BmVlzt+LHaixKP07xelxYsrooWezkXNw2kB+QjpN7I6suyeNSglX0Sm0/gQfj35zOAX//yLPvj4yGu+Sjt2AcPdgeLzrVSwgNaEfBkdSDZ6Qh7snXlP6WpZb/Jbm1R60HwZFXIgB8tvZmF4RY2fid9UBOgfJKu+dKy0aKtqIbF+OCdAMaYQ2fTnYQHdHYIF+hEstIhENliYrI8xpTuKL+D/qvM+SilQIgsd9W4lRu/xoJ6D692agTb9T+Lh9dMNTEBStaZEPlVhAiyurjZpnM5WVJ4IKuYzlWEC3QiWekQhAtm9LqaTkr0PAGUuoH184o6I+KqCLGa+R4uUHYsHD6IXXHxTV61WVyvWzxi0PUQV0WmuAUebBYvDg/M5uSFWZscr8KTzYMw5J6s8lx/UnEbfTXx5zyNLG1XcDzZ+lELh9eo+RGwlEAAArsdmsnwgN4PEFmdSFY6pCKrxPXH5bfRVWXmxbWLTlBEtssefBZPACGC7cxMhgf0bkC4QCeSlQ5JuCB70m4vxFURCkq4IKu3sFokAQjsdmAc0K8tkl1Rh0Nk8+AKkch6Ja5dtCCyXSTC+YkQAfebm+EB/bRAuEAnkpUOQbhgfvoEOjvxfJbR3qwiXOANZ9O1QGCZaOo5ukSN8TMNN1d5ENlcZHh7wEU2j+Wu74LIuo7YeAUIETBSt8MDeq8hXKATyUoHPFyQZannqwgXeI7ccYWx92C9DA/ovQVPVieSlYYnmwVj51V4sjvzCHIq9h6sm6MHeup4eLJ5CMGTzQkHnmxONIHbEXuB9To8oJ8BEFmdSFZ6m8i+wVtce6VKVm2hWlUi21xNt4fK6BgaG+sQgZ/hAf1cQ7hAJ5KVRrggCwbVC0lzpUUzkhbNFRP4tiCWwBIoC6xlHhjmZ3hAb57yZHnb61YNjeZPk+9L0qsKX3qbJ/tS+5pORk5fcRK+9hNENYydpmyOtcD6HR7QTxqIrE4kKx0/kYWnmtX9YV2NbYggSOEB/eRBuEAnkpWOdrgAoprV1VFYja0HG6TwgH4iwZPViWSlo+fJQlSzujdqq7EV2KCFB/QTCyKrE8lKh19kIapZ3Rnl1ViGCIIcHtBPNoQLdCJZ6XCFCyCqWV0Xl9VYerBBDg/oJx48WZ1IVjr4nixENau74rgaS4ENenhAPxEhsjqRrHTwRBaimtU9cV+NXYggTOEB/eREuEAnkpX2N1wAUc3qCqzuIBA7DzZM4YEd3bRtDZ6sTiQr7b0nC1HNwo/V7gnETmDDFh7Quw0iqxPJSrsvshDVLNxY7ZlArEIEYQ4P6F2JcIFOJCttNlwAUc1Ci9XiCMTKgw1zeEDvVniyOpGstHNPFqKahROrpROIlcCGPTygdzNEVieSlS5eZCGqWfiwaoZAbEIEUQoP6F2PcIFOJCudP1wAUc1ChVXzBGLjwUYpPKCfBvBkdSJZ6V09WYhqFh6suksgNgIbtfCAflp0iqzg+WSrMZ+szkaU0X48z+7tVE/zey+mJaKObP0YpEHADQKxCBFEOTygnxQIF2SI1PPaXFbSGb0+wsz/GSpY8ZRALDzYKIcH9LMl5uECiKp+QiDtK4FYeLCphbRcttEIX0l7XHmMPFmIqsfnFqornEDkBVa+QnukttDHhSOJzpERFlmIanRO00i3JPIhglai70a6B/M0LmLhAohqnr7GrmASiLwHm1pEa2Ur7RlM/N5YFWJPFqLqzSmCWlwiEGmBjXN4QD9fQiSyEFW985AOLYFIhwjiHB7Qz8iAhwsgqnqHIR0JApH2YBEe2PUcDZAnC1HdtXuwJWIEIiuw8jXarXkrfSLTFNk2lnouWlX0aqKGDuX8vUsto8R8ENUSwSFbOAlENkTQ1o/OTvQikd5AxI/JYskiYDfR0fyr8zo/PjqaN7stshDVLPZYjReByAqsJahWsnQkBhNBZHc9qV2OyUJUd0WOLTEkEMnLZ7mc+rYnaD33Z6XqU9kCkc11bhuMyUJUc0HG9tgSiKQH22bRufzL0SmuqmcFPNmcJ7hDTxaimpMsdoAAUSQFtjM8oPUuRFYDkpUsUmQhqlnssAoC+QhELkSghwf0xiNcoBPZkc4TLoCo7sCENRAomEDkPFg9PKCTgCerE9mR1jzZRt6D+VR34MEaCBRNIHIC2114QKfSJbIdPISLMIQrG8/H6UZ60bboG5XH0MtCYOb/bDhYB4FiCUQqRNBTeECHg3BBJxG8o0o/MZAGAUMEIuXB9hQe0Jl1ebIxHCcLUdVPBqRBwAUCkRLYQsIDOsMYiSxEVe98pEHAZQKRCREUGx7QuUY0XABR1TsaaRDwkEBkPNhiwwM64y5PNgI3viCqeuciDQI+EYiMwJYSHtCZK5Et47kLQiiyEFW9M5EGgQAQiESIwGl4QO8HFS4IgchCVPWOQxoEAkYgEh6s0/CA3icB9mQhqnpnIQ0CASYQCYE1ER7Q+yhAIgtR1TsHaRAICYHQhwhMhwf0fvMpXABR1TsCaRAIIYHQe7CmwwN6H3royUJUdfhIg0DICYReYN0ID+h96qLIQlR12EiDQIQIhDpE4HZ4QO9nQ+ECiKoOFmkQiCiBUHuwbocH9D534MlCVHWYSINADAiEWmAtoilezzZYqMiqqf5EOb1mt9PtSYvmignUEYPzCU0EARDIIhDaEIHX4YEsZp2r3YULhMWiWkH/ssvowWQz/YBFlR9ZwAICIBBXAqH1YL0OD+gniPJkO18J3kBp9lTfTfSi+yrepx+Li6hNPxZpEACBeBIIrcB6MXogzynR+Y4q6k0zkpIv/0/E5X8eVtgFArElEMoQgU/hAbz4L7ZfEzQcBEojEEoP1sPwAES1tPMKuUAABJhAKAXW5fAARBVfDRAAASMEQhcicCk8AFE1cjqhEBAAgWwCofNgDYYHIKrZZwLWQQAEjBMIncA6DA9AVI2fQigQBEAgF4FQhQjkMurTXkEbuDGVuRrUzXaIajdQsAkEQMB9AqHyYNvK6Tz+RShEXCGq7p87qAEEQKAHAqES2B7CAxDVHjobu0EABLwlEJoQQY7wAETV2/MFtYEACBRBIDQebFZ4AKJaRAfjUBAAAf8IhEZgyaKUSNO4suG0RE0F6B8y1AwCIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAAC7hD4/8l256QQPdLRAAAAAElFTkSuQmCC",
1421
- id: "success_svg__b",
1422
- width: 344,
1423
- height: 344
1424
- }))));
1425
-
1426
- 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; }
1427
- 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; }
1428
- var Finish = withT(function (_ref) {
1429
- var t = _ref.t,
1430
- _ref$onClick = _ref.onClick,
1431
- onClick = _ref$onClick === void 0 ? noop : _ref$onClick,
1432
- _ref$title = _ref.title,
1433
- title = _ref$title === void 0 ? "" : _ref$title,
1434
- _ref$buttonProps = _ref.buttonProps,
1435
- buttonProps = _ref$buttonProps === void 0 ? {} : _ref$buttonProps,
1436
- _ref$secondaryButtonP = _ref.secondaryButtonProps,
1437
- secondaryButtonProps = _ref$secondaryButtonP === void 0 ? {} : _ref$secondaryButtonP,
1438
- children = _ref.children;
1439
- return /*#__PURE__*/jsxs("div", {
1440
- className: "mx-auto w-full max-w-3xl",
1441
- children: [/*#__PURE__*/jsx(SvgSuccess, {}), /*#__PURE__*/jsx(Typography, {
1442
- className: "mb-6 mt-4",
1443
- style: "h2",
1444
- weight: "semibold",
1445
- children: title
1446
- }), children, /*#__PURE__*/jsxs("div", {
1447
- className: "flex w-full items-center gap-x-2",
1448
- children: [/*#__PURE__*/jsx(Button, _objectSpread({
1449
- onClick: onClick,
1450
- label: t("neetoIntegrations.common.continue")
1451
- }, buttonProps)), isNotEmpty(secondaryButtonProps) && /*#__PURE__*/jsx(Button, _objectSpread({
1452
- style: "secondary"
1453
- }, secondaryButtonProps))]
1454
- })]
1455
- });
1456
- });
1457
- Finish.prototypes = {
1458
- /**
1459
- * To specify whether the integration modal should be opened or closed.
1460
- */
1461
- onClick: PropTypes.func,
1462
- /**
1463
- * To show the title of the Finish component
1464
- */
1465
- title: PropTypes.string,
1466
- /**
1467
- * To specify props for primary button
1468
- */
1469
- buttonProps: PropTypes.object,
1470
- /**
1471
- * To specify props for secondary button
1472
- */
1473
- secondaryButtonProps: PropTypes.object
1474
- };
1475
-
1476
- var e = [],
1477
- t = [];
1478
- function n(n, r) {
1479
- if (n && "undefined" != typeof document) {
1480
- var a,
1481
- s = !0 === r.prepend ? "prepend" : "append",
1482
- d = !0 === r.singleTag,
1483
- i = "string" == typeof r.container ? document.querySelector(r.container) : document.getElementsByTagName("head")[0];
1484
- if (d) {
1485
- var u = e.indexOf(i);
1486
- -1 === u && (u = e.push(i) - 1, t[u] = {}), a = t[u] && t[u][s] ? t[u][s] : t[u][s] = c();
1487
- } else a = c();
1488
- 65279 === n.charCodeAt(0) && (n = n.substring(1)), a.styleSheet ? a.styleSheet.cssText += n : a.appendChild(document.createTextNode(n));
1489
- }
1490
- function c() {
1491
- var e = document.createElement("style");
1492
- if (e.setAttribute("type", "text/css"), r.attributes) for (var t = Object.keys(r.attributes), n = 0; n < t.length; n++) e.setAttribute(t[n], r.attributes[t[n]]);
1493
- var a = "prepend" === s ? "afterbegin" : "beforeend";
1494
- return i.insertAdjacentElement(a, e), e;
1495
- }
1496
- }
1497
-
1498
- var css = ".intrinsic-container{height:0;overflow:hidden;position:relative}.intrinsic-container-16x9{padding-bottom:56.25%}.intrinsic-container-4x3{padding-bottom:75%}.intrinsic-container iframe{height:100%;left:0;position:absolute;top:0;width:100%}";
1499
- n(css,{});
1500
-
1501
- export { Connect, index as Daily, Form$1 as DailyForm, Demo, Finish, GoogleCalendar, Manage$1 as Manage, Modal, Twilio, Zoom };
1
+ export { default as Manage } from './Manage.js';
2
+ export { default as Daily } from './Daily.js';
3
+ export { F as DailyForm } from './Form-5be03668.js';
4
+ export { default as GoogleCalendar } from './GoogleCalendar.js';
5
+ export { default as Twilio } from './Twilio.js';
6
+ export { default as Zoom } from './Zoom.js';
7
+ export { default as Modal } from './Modal.js';
8
+ export { default as Connect } from './Connect.js';
9
+ export { default as Demo } from './Demo.js';
10
+ export { default as Finish } from './Finish.js';
11
+ import './defineProperty-e90a259c.js';
12
+ import 'classnames';
13
+ import '@bigbinary/neeto-cist';
14
+ import '@bigbinary/neeto-commons-frontend/react-utils';
15
+ import '@bigbinary/neeto-icons/Check';
16
+ import '@bigbinary/neeto-molecules/IntegrationDisconnectAlert';
17
+ import '@bigbinary/neetoui/Button';
18
+ import '@bigbinary/neetoui/Tooltip';
19
+ import '@bigbinary/neetoui/Typography';
20
+ import 'react-i18next';
21
+ import 'react/jsx-runtime';
22
+ import 'i18next';
23
+ import './slicedToArray-b4278ecd.js';
24
+ import 'react';
25
+ import '@bigbinary/neeto-commons-frontend/utils';
26
+ import '@bigbinary/neeto-icons/misc/Daily';
27
+ import '@bigbinary/neeto-molecules/CopyToClipboardButton';
28
+ import '@bigbinary/neeto-molecules/PageLoader';
29
+ import '@bigbinary/neeto-molecules/Container';
30
+ import '@bigbinary/neeto-molecules/Header';
31
+ import '@bigbinary/neeto-molecules/HelpPopover';
32
+ import '@bigbinary/neeto-molecules/IntegrationWalkthroughModal';
33
+ import '@bigbinary/neetoui/formik/Input';
34
+ import '@bigbinary/neetoui/formik/Form';
35
+ import '@bigbinary/neetoui/formik/ActionBlock';
36
+ import 'react-router-dom';
37
+ import '@tanstack/react-query';
38
+ import '@bigbinary/neeto-commons-frontend/constants';
39
+ import 'axios';
40
+ import './query-62fcdf0a.js';
41
+ import 'yup';
42
+ import '@bigbinary/neeto-icons/misc/GoogleCalendar';
43
+ import '@bigbinary/neeto-icons/misc/Google';
44
+ import '@bigbinary/neetoui/Callout';
45
+ import 'ramda';
46
+ import '@bigbinary/neetoui/formik/Select';
47
+ import '@bigbinary/neeto-icons/misc/Zoom';
48
+ import '@bigbinary/neetoui/Modal';
49
+ import './index-4bda54e6.js';
1502
50
  //# sourceMappingURL=index.js.map