@bigbinary/neeto-integrations-frontend 3.1.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 (81) hide show
  1. package/dist/Connect.js +99 -0
  2. package/dist/Connect.js.map +1 -0
  3. package/dist/Daily.js +30 -743
  4. package/dist/Daily.js.map +1 -1
  5. package/dist/DailyForm.js +25 -0
  6. package/dist/DailyForm.js.map +1 -0
  7. package/dist/Demo.js +95 -0
  8. package/dist/Demo.js.map +1 -0
  9. package/dist/Finish.js +87 -0
  10. package/dist/Finish.js.map +1 -0
  11. package/dist/Form-5be03668.js +171 -0
  12. package/dist/Form-5be03668.js.map +1 -0
  13. package/dist/Form-be2e5595.js +209 -0
  14. package/dist/Form-be2e5595.js.map +1 -0
  15. package/dist/GoogleCalendar.js +127 -0
  16. package/dist/GoogleCalendar.js.map +1 -0
  17. package/dist/Manage.js +162 -0
  18. package/dist/Manage.js.map +1 -0
  19. package/dist/Modal.js +84 -0
  20. package/dist/Modal.js.map +1 -0
  21. package/dist/Twilio.js +5 -108
  22. package/dist/Twilio.js.map +1 -1
  23. package/dist/ZapierForm.js +7 -101
  24. package/dist/ZapierForm.js.map +1 -1
  25. package/dist/Zoom.js +13 -846
  26. package/dist/Zoom.js.map +1 -1
  27. package/dist/cjs/Connect.js +106 -0
  28. package/dist/cjs/Connect.js.map +1 -0
  29. package/dist/cjs/Daily.js +150 -0
  30. package/dist/cjs/Daily.js.map +1 -0
  31. package/dist/cjs/DailyForm.js +31 -0
  32. package/dist/cjs/DailyForm.js.map +1 -0
  33. package/dist/cjs/Demo.js +102 -0
  34. package/dist/cjs/Demo.js.map +1 -0
  35. package/dist/cjs/Finish.js +113 -0
  36. package/dist/cjs/Finish.js.map +1 -0
  37. package/dist/cjs/GoogleCalendar.js +137 -0
  38. package/dist/cjs/GoogleCalendar.js.map +1 -0
  39. package/dist/cjs/Manage.js +173 -0
  40. package/dist/cjs/Manage.js.map +1 -0
  41. package/dist/cjs/Modal.js +92 -0
  42. package/dist/cjs/Modal.js.map +1 -0
  43. package/dist/{Twilio.cjs.js → cjs/Twilio.js} +22 -125
  44. package/dist/cjs/Twilio.js.map +1 -0
  45. package/dist/{ZapierForm.cjs.js → cjs/ZapierForm.js} +19 -113
  46. package/dist/cjs/ZapierForm.js.map +1 -0
  47. package/dist/cjs/Zoom.js +127 -0
  48. package/dist/cjs/Zoom.js.map +1 -0
  49. package/dist/cjs/index.js +67 -0
  50. package/dist/cjs/index.js.map +1 -0
  51. package/dist/defineProperty-e90a259c.js +43 -0
  52. package/dist/defineProperty-e90a259c.js.map +1 -0
  53. package/dist/defineProperty-f3094d6c.js +45 -0
  54. package/dist/defineProperty-f3094d6c.js.map +1 -0
  55. package/dist/index-2f3a953b.js +86 -0
  56. package/dist/index-2f3a953b.js.map +1 -0
  57. package/dist/index-4bda54e6.js +84 -0
  58. package/dist/index-4bda54e6.js.map +1 -0
  59. package/dist/index.js +49 -1453
  60. package/dist/index.js.map +1 -1
  61. package/dist/query-4f9552ab.js +21 -0
  62. package/dist/query-4f9552ab.js.map +1 -0
  63. package/dist/query-62fcdf0a.js +15 -0
  64. package/dist/query-62fcdf0a.js.map +1 -0
  65. package/dist/slicedToArray-b4278ecd.js +57 -0
  66. package/dist/slicedToArray-b4278ecd.js.map +1 -0
  67. package/dist/slicedToArray-f320d9e7.js +61 -0
  68. package/dist/slicedToArray-f320d9e7.js.map +1 -0
  69. package/package.json +9 -9
  70. package/dist/Daily.cjs.js +0 -896
  71. package/dist/Daily.cjs.js.map +0 -1
  72. package/dist/GoogleCalender.cjs.js +0 -1065
  73. package/dist/GoogleCalender.cjs.js.map +0 -1
  74. package/dist/GoogleCalender.js +0 -1019
  75. package/dist/GoogleCalender.js.map +0 -1
  76. package/dist/Twilio.cjs.js.map +0 -1
  77. package/dist/ZapierForm.cjs.js.map +0 -1
  78. package/dist/Zoom.cjs.js +0 -995
  79. package/dist/Zoom.cjs.js.map +0 -1
  80. package/dist/index.cjs.js +0 -1524
  81. package/dist/index.cjs.js.map +0 -1
package/dist/index.cjs.js DELETED
@@ -1,1524 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var IntegrationCard = require('@bigbinary/neeto-molecules/IntegrationCard');
6
- var DisconnectAlert = require('@bigbinary/neeto-molecules/IntegrationDisconnectAlert');
7
- var WalkthroughModal = require('@bigbinary/neeto-molecules/IntegrationWalkthroughModal');
8
- var classnames = require('classnames');
9
- var neetoCist = require('@bigbinary/neeto-cist');
10
- var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
11
- var Check = require('@bigbinary/neeto-icons/Check');
12
- var Button = require('@bigbinary/neetoui/Button');
13
- var Tooltip = require('@bigbinary/neetoui/Tooltip');
14
- var Typography = require('@bigbinary/neetoui/Typography');
15
- var reactI18next = require('react-i18next');
16
- var i18next = require('i18next');
17
- var reactQuery = require('@tanstack/react-query');
18
- var constants = require('@bigbinary/neeto-commons-frontend/constants');
19
- var axios = require('axios');
20
- var React = require('react');
21
- var Container = require('@bigbinary/neeto-molecules/Container');
22
- var Header = require('@bigbinary/neeto-molecules/Header');
23
- var HelpPopover = require('@bigbinary/neeto-molecules/HelpPopover');
24
- var PageLoader = require('@bigbinary/neeto-molecules/PageLoader');
25
- var Input = require('@bigbinary/neetoui/formik/Input');
26
- var FormikForm = require('@bigbinary/neetoui/formik/Form');
27
- var ActionBlock = require('@bigbinary/neetoui/formik/ActionBlock');
28
- var reactRouterDom = require('react-router-dom');
29
- var utils = require('@bigbinary/neeto-commons-frontend/utils');
30
- var GoogleCalendarIcon = require('@bigbinary/neeto-icons/misc/GoogleCalendar');
31
- var Google = require('@bigbinary/neeto-icons/misc/Google');
32
- var Callout = require('@bigbinary/neetoui/Callout');
33
- var jsxRuntime = require('react/jsx-runtime');
34
- var ramda = require('ramda');
35
- var Select = require('@bigbinary/neetoui/formik/Select');
36
- var yup = require('yup');
37
- var ZoomIcon = require('@bigbinary/neeto-icons/misc/Zoom');
38
- var NeetoUIModal = require('@bigbinary/neetoui/Modal');
39
- var DailyIcon = require('@bigbinary/neeto-icons/misc/Daily');
40
- var CopyToClipboardButton = require('@bigbinary/neeto-molecules/CopyToClipboardButton');
41
-
42
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
43
-
44
- function _interopNamespace(e) {
45
- if (e && e.__esModule) return e;
46
- var n = Object.create(null);
47
- if (e) {
48
- Object.keys(e).forEach(function (k) {
49
- if (k !== 'default') {
50
- var d = Object.getOwnPropertyDescriptor(e, k);
51
- Object.defineProperty(n, k, d.get ? d : {
52
- enumerable: true,
53
- get: function () { return e[k]; }
54
- });
55
- }
56
- });
57
- }
58
- n["default"] = e;
59
- return Object.freeze(n);
60
- }
61
-
62
- var IntegrationCard__default = /*#__PURE__*/_interopDefaultLegacy(IntegrationCard);
63
- var DisconnectAlert__default = /*#__PURE__*/_interopDefaultLegacy(DisconnectAlert);
64
- var WalkthroughModal__default = /*#__PURE__*/_interopDefaultLegacy(WalkthroughModal);
65
- var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
66
- var Check__default = /*#__PURE__*/_interopDefaultLegacy(Check);
67
- var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
68
- var Tooltip__default = /*#__PURE__*/_interopDefaultLegacy(Tooltip);
69
- var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
70
- var i18next__default = /*#__PURE__*/_interopDefaultLegacy(i18next);
71
- var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
72
- var React__namespace = /*#__PURE__*/_interopNamespace(React);
73
- var Container__default = /*#__PURE__*/_interopDefaultLegacy(Container);
74
- var Header__default = /*#__PURE__*/_interopDefaultLegacy(Header);
75
- var HelpPopover__default = /*#__PURE__*/_interopDefaultLegacy(HelpPopover);
76
- var PageLoader__default = /*#__PURE__*/_interopDefaultLegacy(PageLoader);
77
- var Input__default = /*#__PURE__*/_interopDefaultLegacy(Input);
78
- var FormikForm__default = /*#__PURE__*/_interopDefaultLegacy(FormikForm);
79
- var ActionBlock__default = /*#__PURE__*/_interopDefaultLegacy(ActionBlock);
80
- var GoogleCalendarIcon__default = /*#__PURE__*/_interopDefaultLegacy(GoogleCalendarIcon);
81
- var Google__default = /*#__PURE__*/_interopDefaultLegacy(Google);
82
- var Callout__default = /*#__PURE__*/_interopDefaultLegacy(Callout);
83
- var Select__default = /*#__PURE__*/_interopDefaultLegacy(Select);
84
- var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
85
- var ZoomIcon__default = /*#__PURE__*/_interopDefaultLegacy(ZoomIcon);
86
- var NeetoUIModal__default = /*#__PURE__*/_interopDefaultLegacy(NeetoUIModal);
87
- var DailyIcon__default = /*#__PURE__*/_interopDefaultLegacy(DailyIcon);
88
- var CopyToClipboardButton__default = /*#__PURE__*/_interopDefaultLegacy(CopyToClipboardButton);
89
-
90
- function _typeof(o) {
91
- "@babel/helpers - typeof";
92
-
93
- return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
94
- return typeof o;
95
- } : function (o) {
96
- return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
97
- }, _typeof(o);
98
- }
99
-
100
- function _toPrimitive(input, hint) {
101
- if (_typeof(input) !== "object" || input === null) return input;
102
- var prim = input[Symbol.toPrimitive];
103
- if (prim !== undefined) {
104
- var res = prim.call(input, hint || "default");
105
- if (_typeof(res) !== "object") return res;
106
- throw new TypeError("@@toPrimitive must return a primitive value.");
107
- }
108
- return (hint === "string" ? String : Number)(input);
109
- }
110
-
111
- function _toPropertyKey(arg) {
112
- var key = _toPrimitive(arg, "string");
113
- return _typeof(key) === "symbol" ? key : String(key);
114
- }
115
-
116
- function _defineProperty(obj, key, value) {
117
- key = _toPropertyKey(key);
118
- if (key in obj) {
119
- Object.defineProperty(obj, key, {
120
- value: value,
121
- enumerable: true,
122
- configurable: true,
123
- writable: true
124
- });
125
- } else {
126
- obj[key] = value;
127
- }
128
- return obj;
129
- }
130
-
131
- 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; }
132
- 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; }
133
- var Manage$1 = reactUtils.withT(function (_ref) {
134
- var t = _ref.t,
135
- _ref$title = _ref.title,
136
- title = _ref$title === void 0 ? "" : _ref$title,
137
- _ref$description = _ref.description,
138
- description = _ref$description === void 0 ? "" : _ref$description,
139
- _ref$integration = _ref.integration,
140
- integration = _ref$integration === void 0 ? "" : _ref$integration,
141
- _ref$isDisconnectAler = _ref.isDisconnectAlertOpen,
142
- isDisconnectAlertOpen = _ref$isDisconnectAler === void 0 ? false : _ref$isDisconnectAler,
143
- _ref$setIsDisconnectA = _ref.setIsDisconnectAlertOpen,
144
- setIsDisconnectAlertOpen = _ref$setIsDisconnectA === void 0 ? neetoCist.noop : _ref$setIsDisconnectA,
145
- _ref$isDisconnecting = _ref.isDisconnecting,
146
- isDisconnecting = _ref$isDisconnecting === void 0 ? false : _ref$isDisconnecting,
147
- _ref$onConnect = _ref.onConnect,
148
- onConnect = _ref$onConnect === void 0 ? undefined : _ref$onConnect,
149
- _ref$onDisconnect = _ref.onDisconnect,
150
- onDisconnect = _ref$onDisconnect === void 0 ? undefined : _ref$onDisconnect,
151
- _ref$onClose = _ref.onClose,
152
- onClose = _ref$onClose === void 0 ? neetoCist.noop : _ref$onClose,
153
- _ref$Icon = _ref.Icon,
154
- Icon = _ref$Icon === void 0 ? null : _ref$Icon,
155
- _ref$isConnected = _ref.isConnected,
156
- isConnected = _ref$isConnected === void 0 ? false : _ref$isConnected,
157
- _ref$connectPath = _ref.connectPath,
158
- connectPath = _ref$connectPath === void 0 ? "" : _ref$connectPath,
159
- _ref$connectUrl = _ref.connectUrl,
160
- connectUrl = _ref$connectUrl === void 0 ? "" : _ref$connectUrl,
161
- _ref$helpDocUrl = _ref.helpDocUrl,
162
- helpDocUrl = _ref$helpDocUrl === void 0 ? "" : _ref$helpDocUrl,
163
- _ref$managePath = _ref.managePath,
164
- managePath = _ref$managePath === void 0 ? "" : _ref$managePath,
165
- _ref$manageUrl = _ref.manageUrl,
166
- manageUrl = _ref$manageUrl === void 0 ? "" : _ref$manageUrl,
167
- _ref$integrationName = _ref.integrationName,
168
- integrationName = _ref$integrationName === void 0 ? "" : _ref$integrationName,
169
- _ref$disconnectMessag = _ref.disconnectMessage,
170
- disconnectMessage = _ref$disconnectMessag === void 0 ? "" : _ref$disconnectMessag,
171
- _ref$disconnectTitle = _ref.disconnectTitle,
172
- disconnectTitle = _ref$disconnectTitle === void 0 ? "" : _ref$disconnectTitle,
173
- _ref$isConnectDisable = _ref.isConnectDisabled,
174
- isConnectDisabled = _ref$isConnectDisable === void 0 ? false : _ref$isConnectDisable,
175
- _ref$connectTooltipPr = _ref.connectTooltipProps,
176
- connectTooltipProps = _ref$connectTooltipPr === void 0 ? null : _ref$connectTooltipPr,
177
- _ref$buttonProps = _ref.buttonProps,
178
- buttonProps = _ref$buttonProps === void 0 ? {} : _ref$buttonProps,
179
- _ref$secondaryButtonP = _ref.secondaryButtonProps,
180
- secondaryButtonProps = _ref$secondaryButtonP === void 0 ? {} : _ref$secondaryButtonP;
181
- return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
182
- children: [/*#__PURE__*/jsxRuntime.jsx("div", {
183
- className: "mx-auto w-full max-w-3xl",
184
- children: /*#__PURE__*/jsxRuntime.jsxs("div", {
185
- className: "neeto-ui-border-gray-300 neeto-ui-rounded-xl mt-10 w-full space-y-4 border p-6",
186
- children: [Icon && /*#__PURE__*/jsxRuntime.jsx(Icon, {
187
- className: "neeto-ui-text-gray-600",
188
- size: 48
189
- }), /*#__PURE__*/jsxRuntime.jsxs("div", {
190
- className: "space-y-2",
191
- children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
192
- className: "flex items-center space-x-4",
193
- children: [/*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
194
- className: "neeto-ui-text-gray-800 mb-0.5",
195
- style: "h2",
196
- weight: "semibold",
197
- children: title
198
- }), isConnected && /*#__PURE__*/jsxRuntime.jsx("div", {
199
- className: "neeto-ui-bg-success-500 neeto-ui-text-white neeto-ui-rounded-full flex items-center justify-center p-1",
200
- children: /*#__PURE__*/jsxRuntime.jsx(Check__default["default"], {
201
- size: 24
202
- })
203
- })]
204
- }), /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
205
- style: "body1",
206
- weight: "normal",
207
- className: classnames__default["default"]("neeto-ui-text-gray-800", {
208
- "break-all": isConnected
209
- }),
210
- children: description
211
- }), helpDocUrl && /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
212
- className: "neeto-ui-text-gray-800",
213
- style: "body2",
214
- weight: "normal",
215
- children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
216
- i18nKey: "neetoIntegrations.common.helpDocUrl",
217
- components: {
218
- helpLink: /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
219
- href: helpDocUrl,
220
- style: "link",
221
- target: "_blank"
222
- })
223
- },
224
- values: {
225
- integration: integrationName || neetoCist.humanize(integration)
226
- }
227
- })
228
- })]
229
- }), isConnected ? /*#__PURE__*/jsxRuntime.jsxs("div", {
230
- className: "space-x-2",
231
- children: [(managePath || manageUrl) && /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], _objectSpread$7({
232
- "data-cy": "manage-button",
233
- href: manageUrl,
234
- target: manageUrl ? "_blank" : "_self",
235
- to: managePath,
236
- label: t("neetoIntegrations.common.manageIntegration", {
237
- integration: integrationName || neetoCist.humanize(integration)
238
- })
239
- }, buttonProps)), onDisconnect && /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], _objectSpread$7({
240
- "data-cy": "disconnect-button",
241
- style: "secondary",
242
- label: t("neetoIntegrations.common.disconnectIntegration", {
243
- integration: integrationName || neetoCist.humanize(integration)
244
- }),
245
- onClick: function onClick() {
246
- return setIsDisconnectAlertOpen(true);
247
- }
248
- }, secondaryButtonProps))]
249
- }) : /*#__PURE__*/jsxRuntime.jsx("div", {
250
- children: /*#__PURE__*/jsxRuntime.jsx(Tooltip__default["default"], _objectSpread$7(_objectSpread$7({
251
- disabled: !isConnectDisabled
252
- }, connectTooltipProps), {}, {
253
- children: /*#__PURE__*/jsxRuntime.jsx("span", {
254
- children: (connectPath || connectUrl || onConnect) && /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], _objectSpread$7({
255
- "data-cy": "connect-button",
256
- disabled: isConnectDisabled,
257
- href: connectUrl,
258
- to: connectPath,
259
- label: t("neetoIntegrations.common.connectIntegration", {
260
- integration: integrationName || neetoCist.humanize(integration)
261
- }),
262
- onClick: onConnect
263
- }, buttonProps))
264
- })
265
- }))
266
- })]
267
- })
268
- }), /*#__PURE__*/jsxRuntime.jsx(DisconnectAlert__default["default"], {
269
- isDisconnecting: isDisconnecting,
270
- onClose: onClose,
271
- onDisconnect: onDisconnect,
272
- isOpen: isDisconnectAlertOpen,
273
- message: disconnectMessage || t("settings.integrations.".concat(integration, ".disconnect.message")),
274
- title: disconnectTitle || t("settings.integrations.".concat(integration, ".disconnect.title"))
275
- })]
276
- });
277
- });
278
-
279
- var INTEGRATIONS_ENGINE_BASE_URL = "/neeto_integrations";
280
- var TWILIO_CONFIGURATION_BASE_URL = "".concat(INTEGRATIONS_ENGINE_BASE_URL, "/twilio/sms_configurations");
281
- var INTEGRATIONS_ENGINE_DAILY_URL = "".concat(INTEGRATIONS_ENGINE_BASE_URL, "/daily");
282
- var INTEGRATIONS_ENGINE_ZOOM_URL = "".concat(INTEGRATIONS_ENGINE_BASE_URL, "/zoom");
283
- var INTEGRATION_DETAILS_URL = "".concat(INTEGRATIONS_ENGINE_BASE_URL, "/status");
284
-
285
- var create = function create(payload) {
286
- return axios__default["default"].post(INTEGRATIONS_ENGINE_DAILY_URL, {
287
- daily: payload
288
- });
289
- };
290
- var show$1 = function show() {
291
- return axios__default["default"].get(INTEGRATIONS_ENGINE_DAILY_URL);
292
- };
293
- var destroy$1 = function destroy() {
294
- return axios__default["default"]["delete"](INTEGRATIONS_ENGINE_DAILY_URL);
295
- };
296
- var dailiesApi = {
297
- create: create,
298
- show: show$1,
299
- destroy: destroy$1
300
- };
301
-
302
- var QUERY_KEYS = {
303
- TWILIO_SMS_CONFIGURATION: "twilio-sms-configuration",
304
- TWILIO_PHONE_NUMBERS: "twilio-phone-numbers",
305
- DAILY_CO_DETAILS: "daily-co-details",
306
- ZOOM_DETAILS: "zoom-details"
307
- };
308
-
309
- 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; }
310
- 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; }
311
- var useCreateDaily = function useCreateDaily() {
312
- var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
313
- return reactUtils.useMutationWithInvalidation(dailiesApi.create, _objectSpread$6({
314
- keysToInvalidate: [[QUERY_KEYS.DAILY_CO_DETAILS]]
315
- }, options));
316
- };
317
- var useFetchDaily = function useFetchDaily() {
318
- return reactQuery.useQuery({
319
- queryKey: [QUERY_KEYS.DAILY_CO_DETAILS],
320
- queryFn: dailiesApi.show,
321
- staleTime: constants.DEFAULT_STALE_TIME
322
- });
323
- };
324
- var useDestroyDaily = function useDestroyDaily(_ref) {
325
- var onSuccess = _ref.onSuccess;
326
- return reactUtils.useMutationWithInvalidation(dailiesApi.destroy, {
327
- keysToInvalidate: [[QUERY_KEYS.DAILY_CO_DETAILS]],
328
- onSuccess: onSuccess
329
- });
330
- };
331
-
332
- function _arrayWithHoles(arr) {
333
- if (Array.isArray(arr)) return arr;
334
- }
335
-
336
- function _iterableToArrayLimit(r, l) {
337
- var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
338
- if (null != t) {
339
- var e,
340
- n,
341
- i,
342
- u,
343
- a = [],
344
- f = !0,
345
- o = !1;
346
- try {
347
- if (i = (t = t.call(r)).next, 0 === l) {
348
- if (Object(t) !== t) return;
349
- f = !1;
350
- } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
351
- } catch (r) {
352
- o = !0, n = r;
353
- } finally {
354
- try {
355
- if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
356
- } finally {
357
- if (o) throw n;
358
- }
359
- }
360
- return a;
361
- }
362
- }
363
-
364
- function _arrayLikeToArray(arr, len) {
365
- if (len == null || len > arr.length) len = arr.length;
366
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
367
- return arr2;
368
- }
369
-
370
- function _unsupportedIterableToArray(o, minLen) {
371
- if (!o) return;
372
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
373
- var n = Object.prototype.toString.call(o).slice(8, -1);
374
- if (n === "Object" && o.constructor) n = o.constructor.name;
375
- if (n === "Map" || n === "Set") return Array.from(o);
376
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
377
- }
378
-
379
- function _nonIterableRest() {
380
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
381
- }
382
-
383
- function _slicedToArray(arr, i) {
384
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
385
- }
386
-
387
- var MANAGE_DAILY_CO_FORM_INITIAL_VALUES = {
388
- apiKey: ""
389
- };
390
- var DAILY_CO_VALIDATION_SCHEMA = yup__namespace.object().shape({
391
- apiKey: yup__namespace.string().trim().required(i18next.t("neetoIntegrations.errors.required", {
392
- entity: i18next.t("neetoIntegrations.daily.apiKey")
393
- }))
394
- });
395
-
396
- var Form = function Form(_ref) {
397
- var helpDocUrl = _ref.helpDocUrl,
398
- videoUrl = _ref.videoUrl,
399
- onConnect = _ref.onConnect,
400
- breadcrumbs = _ref.breadcrumbs;
401
- var _useTranslation = reactI18next.useTranslation(),
402
- t = _useTranslation.t;
403
- var history = reactRouterDom.useHistory();
404
- var _useState = React.useState(false),
405
- _useState2 = _slicedToArray(_useState, 2),
406
- isDemoModalOpen = _useState2[0],
407
- setIsDemoModalOpen = _useState2[1];
408
- var _useCreateDaily = useCreateDaily({
409
- onSuccess: function onSuccess() {
410
- return onConnect === null || onConnect === void 0 ? void 0 : onConnect();
411
- }
412
- }),
413
- createDaily = _useCreateDaily.mutate,
414
- isConnecting = _useCreateDaily.isPending;
415
- var handleSubmit = function handleSubmit(payload) {
416
- return createDaily(payload);
417
- };
418
- if (isConnecting) {
419
- return /*#__PURE__*/jsxRuntime.jsx(PageLoader__default["default"], {});
420
- }
421
- return /*#__PURE__*/jsxRuntime.jsxs(Container__default["default"], {
422
- isHeaderFixed: true,
423
- children: [/*#__PURE__*/jsxRuntime.jsx(Header__default["default"], {
424
- breadcrumbs: breadcrumbs,
425
- title: /*#__PURE__*/jsxRuntime.jsxs("span", {
426
- className: "flex items-center gap-2",
427
- children: [t("neetoIntegrations.daily.connect.title"), /*#__PURE__*/jsxRuntime.jsx(HelpPopover__default["default"], {
428
- title: t("neetoIntegrations.daily.connect.title"),
429
- description: /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
430
- lineHeight: "normal",
431
- style: "body2",
432
- children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
433
- i18nKey: "neetoIntegrations.daily.helpDoc",
434
- components: {
435
- videoLink: /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
436
- style: "link",
437
- onClick: function onClick() {
438
- return setIsDemoModalOpen(true);
439
- }
440
- })
441
- }
442
- })
443
- }),
444
- helpLinkProps: {
445
- href: helpDocUrl,
446
- "data-cy": "api-key-help-doc-link"
447
- }
448
- })]
449
- })
450
- }), /*#__PURE__*/jsxRuntime.jsxs("div", {
451
- className: "mx-auto w-full max-w-md",
452
- children: [/*#__PURE__*/jsxRuntime.jsx(FormikForm__default["default"], {
453
- formikProps: {
454
- initialValues: MANAGE_DAILY_CO_FORM_INITIAL_VALUES,
455
- validationSchema: DAILY_CO_VALIDATION_SCHEMA,
456
- onSubmit: handleSubmit
457
- },
458
- children: /*#__PURE__*/jsxRuntime.jsxs("div", {
459
- className: "mt-14 w-full space-y-2",
460
- children: [/*#__PURE__*/jsxRuntime.jsx("div", {
461
- className: "block min-h-20",
462
- children: /*#__PURE__*/jsxRuntime.jsx(Input__default["default"], {
463
- autoFocus: true,
464
- required: true,
465
- label: t("neetoIntegrations.daily.apiKey"),
466
- name: "apiKey"
467
- })
468
- }), /*#__PURE__*/jsxRuntime.jsx(ActionBlock__default["default"], {
469
- cancelButtonProps: {
470
- onClick: function onClick() {
471
- return history.goBack();
472
- }
473
- },
474
- isSubmitting: isConnecting,
475
- submitButtonProps: {
476
- label: t("neetoIntegrations.common.connect")
477
- }
478
- })]
479
- })
480
- }), /*#__PURE__*/jsxRuntime.jsx(WalkthroughModal__default["default"], {
481
- videoUrl: videoUrl,
482
- isOpen: isDemoModalOpen,
483
- onClose: function onClose() {
484
- return setIsDemoModalOpen(false);
485
- }
486
- })]
487
- })]
488
- });
489
- };
490
- var Form$1 = reactUtils.withTitle(Form, i18next__default["default"].t("neetoIntegrations.browserTitles.integrations.dailyco"));
491
-
492
- var Manage = function Manage(_ref) {
493
- var description = _ref.description,
494
- onDisconnect = _ref.onDisconnect;
495
- var _useState = React.useState(false),
496
- _useState2 = _slicedToArray(_useState, 2),
497
- isDisconnectAlertOpen = _useState2[0],
498
- setIsDisconnectAlertOpen = _useState2[1];
499
- var _useFetchDaily = useFetchDaily(),
500
- _useFetchDaily$data = _useFetchDaily.data,
501
- _useFetchDaily$data2 = _useFetchDaily$data === void 0 ? {} : _useFetchDaily$data,
502
- _useFetchDaily$data2$ = _useFetchDaily$data2.metadata,
503
- metadata = _useFetchDaily$data2$ === void 0 ? {} : _useFetchDaily$data2$,
504
- isFetching = _useFetchDaily.isFetching;
505
- var _ref2 = metadata || {},
506
- _ref2$apiKey = _ref2.apiKey,
507
- apiKey = _ref2$apiKey === void 0 ? null : _ref2$apiKey;
508
- var _useTranslation = reactI18next.useTranslation(),
509
- t = _useTranslation.t;
510
- var _useDestroyDaily = useDestroyDaily({
511
- onSuccess: function onSuccess() {
512
- setIsDisconnectAlertOpen(false);
513
- onDisconnect === null || onDisconnect === void 0 || onDisconnect();
514
- }
515
- }),
516
- destroyIntegration = _useDestroyDaily.mutate,
517
- isDisconnecting = _useDestroyDaily.isPending;
518
- var isConnected = neetoCist.isPresent(apiKey);
519
- var handleDisconnect = function handleDisconnect() {
520
- return destroyIntegration("daily");
521
- };
522
- if (isFetching || isDisconnecting) return /*#__PURE__*/jsxRuntime.jsx(PageLoader__default["default"], {});
523
- return /*#__PURE__*/jsxRuntime.jsx(Manage$1, {
524
- isConnected: isConnected,
525
- isDisconnectAlertOpen: isDisconnectAlertOpen,
526
- isDisconnecting: isDisconnecting,
527
- setIsDisconnectAlertOpen: setIsDisconnectAlertOpen,
528
- Icon: DailyIcon__default["default"],
529
- connectPath: utils.buildUrl(window.location.pathname, {
530
- connect: true
531
- }),
532
- integration: "daily",
533
- description: isConnected ? /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
534
- i18nKey: "neetoIntegrations.daily.yourApiKey",
535
- values: {
536
- apiKey: apiKey
537
- },
538
- components: {
539
- wrapper: /*#__PURE__*/jsxRuntime.jsx("div", {
540
- className: "neeto-ui-rounded-md mt-2 flex items-center justify-between gap-x-3 border px-3 py-2"
541
- }),
542
- span: /*#__PURE__*/jsxRuntime.jsx("span", {
543
- className: "break-all text-sm"
544
- }),
545
- copy: /*#__PURE__*/jsxRuntime.jsx(CopyToClipboardButton__default["default"], {
546
- className: "flex-shrink-0 self-start",
547
- style: "text",
548
- value: apiKey
549
- })
550
- }
551
- }) : description,
552
- title: isConnected ? t("neetoIntegrations.daily.connected") : t("neetoIntegrations.daily.connect.account"),
553
- onClose: function onClose() {
554
- return setIsDisconnectAlertOpen(false);
555
- },
556
- onDisconnect: handleDisconnect
557
- });
558
- };
559
-
560
- var Daily = function Daily(_ref) {
561
- var _ref$isOnboarding = _ref.isOnboarding,
562
- isOnboarding = _ref$isOnboarding === void 0 ? false : _ref$isOnboarding,
563
- _ref$helpDocUrl = _ref.helpDocUrl,
564
- helpDocUrl = _ref$helpDocUrl === void 0 ? "" : _ref$helpDocUrl,
565
- _ref$videoUrl = _ref.videoUrl,
566
- videoUrl = _ref$videoUrl === void 0 ? "" : _ref$videoUrl,
567
- _ref$description = _ref.description,
568
- description = _ref$description === void 0 ? "" : _ref$description,
569
- _ref$onConnect = _ref.onConnect,
570
- onConnect = _ref$onConnect === void 0 ? neetoCist.noop : _ref$onConnect,
571
- _ref$onDisconnect = _ref.onDisconnect,
572
- onDisconnect = _ref$onDisconnect === void 0 ? neetoCist.noop : _ref$onDisconnect;
573
- var _useQueryParams = reactUtils.useQueryParams(),
574
- connect = _useQueryParams.connect;
575
- var _useFetchDaily = useFetchDaily(),
576
- _useFetchDaily$data = _useFetchDaily.data,
577
- _useFetchDaily$data2 = _useFetchDaily$data === void 0 ? {} : _useFetchDaily$data,
578
- _useFetchDaily$data2$ = _useFetchDaily$data2.metadata,
579
- metadata = _useFetchDaily$data2$ === void 0 ? {} : _useFetchDaily$data2$;
580
- var _ref2 = metadata || {},
581
- _ref2$apiKey = _ref2.apiKey,
582
- apiKey = _ref2$apiKey === void 0 ? null : _ref2$apiKey;
583
- if (neetoCist.isPresent(apiKey) && !isOnboarding || !connect) {
584
- return /*#__PURE__*/jsxRuntime.jsx(Manage, {
585
- description: description,
586
- onDisconnect: onDisconnect
587
- });
588
- }
589
- return /*#__PURE__*/jsxRuntime.jsx(Form$1, {
590
- helpDocUrl: helpDocUrl,
591
- onConnect: onConnect,
592
- videoUrl: videoUrl
593
- });
594
- };
595
- var index = reactUtils.withTitle(Daily, i18next__default["default"].t("neetoIntegrations.browserTitles.integrations.dailyco"));
596
-
597
- function _arrayWithoutHoles(arr) {
598
- if (Array.isArray(arr)) return _arrayLikeToArray(arr);
599
- }
600
-
601
- function _iterableToArray(iter) {
602
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
603
- }
604
-
605
- function _nonIterableSpread() {
606
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
607
- }
608
-
609
- function _toConsumableArray(arr) {
610
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
611
- }
612
-
613
- var INTEGRATION_STEPS = [{
614
- step: "1",
615
- label: i18next.t("neetoIntegrations.common.connect"),
616
- isActive: true,
617
- isCompleted: false
618
- }, {
619
- step: "2",
620
- label: i18next.t("neetoIntegrations.common.finish"),
621
- isActive: false,
622
- isCompleted: false
623
- }];
624
- var STEPS = {
625
- connect: i18next.t("neetoIntegrations.common.connect"),
626
- finish: i18next.t("neetoIntegrations.common.finish")
627
- };
628
-
629
- 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; }
630
- 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; }
631
- var GoogleCalendar = function GoogleCalendar(_ref) {
632
- var permissionImage = _ref.permissionImage,
633
- fetchAuthorizationUrl = _ref.fetchAuthorizationUrl,
634
- handleClose = _ref.handleClose,
635
- handleRedirect = _ref.handleRedirect;
636
- var _useTranslation = reactI18next.useTranslation(),
637
- t = _useTranslation.t;
638
- var _useState = React.useState(INTEGRATION_STEPS),
639
- _useState2 = _slicedToArray(_useState, 2),
640
- steps = _useState2[0],
641
- setSteps = _useState2[1];
642
- var _getQueryParams = utils.getQueryParams(),
643
- status = _getQueryParams.status;
644
- var activeTab = neetoCist.isPresent(status) ? STEPS.finish : STEPS.connect;
645
- React.useEffect(function () {
646
- setSteps(function () {
647
- var stepsClone = _toConsumableArray(steps);
648
- stepsClone[0] = _objectSpread$5(_objectSpread$5({}, steps[0]), {}, {
649
- isActive: activeTab === STEPS.connect,
650
- isCompleted: activeTab !== STEPS.connect
651
- });
652
- stepsClone[1] = _objectSpread$5(_objectSpread$5({}, steps[1]), {}, {
653
- isActive: activeTab === STEPS.finish,
654
- isCompleted: activeTab === STEPS.finish
655
- });
656
- return stepsClone;
657
- });
658
- }, [activeTab]);
659
- return /*#__PURE__*/jsxRuntime.jsxs(Modal, {
660
- steps: steps,
661
- isOpen: true,
662
- onClose: handleClose,
663
- children: [activeTab === STEPS.connect && /*#__PURE__*/jsxRuntime.jsxs("div", {
664
- className: "mx-auto w-full max-w-3xl",
665
- children: [/*#__PURE__*/jsxRuntime.jsx(GoogleCalendarIcon__default["default"], {
666
- size: 48
667
- }), /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
668
- className: "mb-4 mt-2",
669
- style: "h2",
670
- children: t("neetoIntegrations.google.connect.title")
671
- }), /*#__PURE__*/jsxRuntime.jsxs("div", {
672
- className: "flex w-full flex-col items-start",
673
- children: [/*#__PURE__*/jsxRuntime.jsx(Callout__default["default"], {
674
- className: "block leading-5",
675
- children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
676
- components: {
677
- bold: /*#__PURE__*/jsxRuntime.jsx("strong", {})
678
- },
679
- i18nKey: "neetoIntegrations.google.connect.reminderToAcceptPermissions",
680
- values: {
681
- selectCheckbox: t("neetoIntegrations.google.connect.selectCheckbox")
682
- }
683
- })
684
- }), permissionImage && /*#__PURE__*/jsxRuntime.jsx("div", {
685
- className: "neeto-ui-border-gray-300 neeto-ui-rounded-md my-4 overflow-hidden border",
686
- children: /*#__PURE__*/jsxRuntime.jsx("img", {
687
- src: permissionImage
688
- })
689
- })]
690
- }), /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
691
- icon: Google__default["default"],
692
- label: t("neetoIntegrations.google.connect.signIn"),
693
- onClick: fetchAuthorizationUrl
694
- })]
695
- }), activeTab === STEPS.finish && /*#__PURE__*/jsxRuntime.jsx(Finish, {
696
- title: t("neetoIntegrations.google.finish.title"),
697
- onClick: handleRedirect
698
- })]
699
- });
700
- };
701
-
702
- 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; }
703
- 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; }
704
- var ConfigurationForm = function ConfigurationForm(_ref) {
705
- var _errors$twilioPhoneNu;
706
- var phoneNumberOptions = _ref.phoneNumberOptions,
707
- _ref$selectedPhoneNum = _ref.selectedPhoneNumber,
708
- selectedPhoneNumber = _ref$selectedPhoneNum === void 0 ? null : _ref$selectedPhoneNum,
709
- _ref$initialFocusRef = _ref.initialFocusRef,
710
- initialFocusRef = _ref$initialFocusRef === void 0 ? null : _ref$initialFocusRef,
711
- _ref$isUsingOverlay = _ref.isUsingOverlay,
712
- isUsingOverlay = _ref$isUsingOverlay === void 0 ? false : _ref$isUsingOverlay,
713
- _ref$formikProps = _ref.formikProps,
714
- formikProps = _ref$formikProps === void 0 ? {} : _ref$formikProps;
715
- var _useTranslation = reactI18next.useTranslation(),
716
- t = _useTranslation.t;
717
- var setFieldValue = formikProps.setFieldValue,
718
- setValues = formikProps.setValues,
719
- errors = formikProps.errors,
720
- values = formikProps.values,
721
- initialValues = formikProps.initialValues;
722
- React.useEffect(function () {
723
- selectedPhoneNumber && setFieldValue("twilioPhoneNumber", selectedPhoneNumber);
724
- }, [selectedPhoneNumber, initialValues]);
725
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
726
- className: "flex w-full flex-col gap-y-4",
727
- children: [/*#__PURE__*/jsxRuntime.jsx("div", {
728
- className: "flex w-full",
729
- children: /*#__PURE__*/jsxRuntime.jsx(Input__default["default"], {
730
- required: true,
731
- autoFocus: !isUsingOverlay,
732
- "data-testid": "integrations-twilio-sid",
733
- label: t("neetoIntegrations.twilio.sid"),
734
- name: "twilioSid",
735
- ref: initialFocusRef
736
- })
737
- }), /*#__PURE__*/jsxRuntime.jsx("div", {
738
- className: "flex w-full",
739
- children: /*#__PURE__*/jsxRuntime.jsx(Input__default["default"], {
740
- required: true,
741
- "data-testid": "integrations-twilio-auth-token",
742
- label: t("neetoIntegrations.twilio.authToken"),
743
- name: "twilioAuthToken"
744
- })
745
- }), phoneNumberOptions && /*#__PURE__*/jsxRuntime.jsx("div", {
746
- className: "flex w-full",
747
- children: /*#__PURE__*/jsxRuntime.jsx(Select__default["default"], {
748
- error: (_errors$twilioPhoneNu = errors.twilioPhoneNumber) === null || _errors$twilioPhoneNu === void 0 ? void 0 : _errors$twilioPhoneNu.value,
749
- label: t("neetoIntegrations.common.phNo"),
750
- name: "twilioPhoneNumber",
751
- options: phoneNumberOptions,
752
- size: "large",
753
- onChange: function onChange(selected) {
754
- return setValues(_objectSpread$4(_objectSpread$4({}, values), {}, {
755
- twilioPhoneNumber: selected
756
- }));
757
- }
758
- })
759
- })]
760
- });
761
- };
762
-
763
- 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; }
764
- 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; }
765
- var fetchTwilioSmsConfiguration = function fetchTwilioSmsConfiguration(integrable) {
766
- return axios__default["default"].get(TWILIO_CONFIGURATION_BASE_URL, {
767
- params: integrable
768
- });
769
- };
770
- var removeTwilioConfiguration = function removeTwilioConfiguration() {
771
- return axios__default["default"]["delete"](TWILIO_CONFIGURATION_BASE_URL);
772
- };
773
- var getTwilioPhoneNumbers = function getTwilioPhoneNumbers(data) {
774
- return axios__default["default"].get("".concat(TWILIO_CONFIGURATION_BASE_URL, "/new"), {
775
- params: data
776
- });
777
- };
778
- var createTwilioConfiguration = function createTwilioConfiguration(payload, integrable) {
779
- return axios__default["default"].post(TWILIO_CONFIGURATION_BASE_URL, _objectSpread$3(_objectSpread$3({}, payload), integrable));
780
- };
781
- var twilioApi = {
782
- fetchTwilioSmsConfiguration: fetchTwilioSmsConfiguration,
783
- removeTwilioConfiguration: removeTwilioConfiguration,
784
- getTwilioPhoneNumbers: getTwilioPhoneNumbers,
785
- createTwilioConfiguration: createTwilioConfiguration
786
- };
787
-
788
- var useFetchTwilioSmsConfiguration = function useFetchTwilioSmsConfiguration(_ref) {
789
- var integrable = _ref.integrable;
790
- return reactQuery.useQuery({
791
- queryKey: [QUERY_KEYS.TWILIO_SMS_CONFIGURATION, integrable === null || integrable === void 0 ? void 0 : integrable.integrableType, integrable === null || integrable === void 0 ? void 0 : integrable.integrableId],
792
- queryFn: function queryFn() {
793
- return twilioApi.fetchTwilioSmsConfiguration(integrable);
794
- },
795
- select: function select(response) {
796
- var _smsConfiguration$twi, _smsConfiguration$twi2, _smsConfiguration$twi3;
797
- var smsConfiguration = response.smsConfiguration;
798
- return {
799
- twilioSid: (_smsConfiguration$twi = smsConfiguration === null || smsConfiguration === void 0 ? void 0 : smsConfiguration.twilioSid) !== null && _smsConfiguration$twi !== void 0 ? _smsConfiguration$twi : "",
800
- twilioAuthToken: (_smsConfiguration$twi2 = smsConfiguration === null || smsConfiguration === void 0 ? void 0 : smsConfiguration.twilioAuthToken) !== null && _smsConfiguration$twi2 !== void 0 ? _smsConfiguration$twi2 : "",
801
- twilioPhoneNumber: (_smsConfiguration$twi3 = smsConfiguration === null || smsConfiguration === void 0 ? void 0 : smsConfiguration.twilioPhoneNumber) !== null && _smsConfiguration$twi3 !== void 0 ? _smsConfiguration$twi3 : ""
802
- };
803
- }
804
- });
805
- };
806
- var useFetchTwilioPhoneNumbers = function useFetchTwilioPhoneNumbers(_ref2) {
807
- var _formRef$current, _formRef$current2;
808
- var credentials = _ref2.credentials,
809
- formRef = _ref2.formRef;
810
- return reactQuery.useQuery({
811
- queryKey: [QUERY_KEYS.TWILIO_PHONE_NUMBERS, {
812
- credentials: credentials
813
- }],
814
- queryFn: function queryFn() {
815
- return twilioApi.getTwilioPhoneNumbers(neetoCist.keysToSnakeCase(credentials));
816
- },
817
- 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),
818
- select: ramda.prop("phoneNumbers"),
819
- retry: false
820
- });
821
- };
822
- var useCreateTwilioConfiguration = function useCreateTwilioConfiguration(_ref3) {
823
- var integrable = _ref3.integrable;
824
- return reactUtils.useMutationWithInvalidation(function (payload) {
825
- return twilioApi.createTwilioConfiguration(payload, integrable);
826
- }, {
827
- keysToInvalidate: [[QUERY_KEYS.TWILIO_SMS_CONFIGURATION, integrable === null || integrable === void 0 ? void 0 : integrable.integrableType, integrable === null || integrable === void 0 ? void 0 : integrable.integrableId]]
828
- });
829
- };
830
-
831
- var useTwilio = function useTwilio(_ref) {
832
- var _ref$onConnect = _ref.onConnect,
833
- onConnect = _ref$onConnect === void 0 ? neetoCist.noop : _ref$onConnect,
834
- _ref$formRef = _ref.formRef,
835
- formRef = _ref$formRef === void 0 ? null : _ref$formRef,
836
- _ref$integrable = _ref.integrable,
837
- integrable = _ref$integrable === void 0 ? null : _ref$integrable;
838
- var _useFetchTwilioSmsCon = useFetchTwilioSmsConfiguration({
839
- integrable: integrable
840
- }),
841
- _useFetchTwilioSmsCon2 = _useFetchTwilioSmsCon.data,
842
- configuration = _useFetchTwilioSmsCon2 === void 0 ? {} : _useFetchTwilioSmsCon2,
843
- isConfigurationLoading = _useFetchTwilioSmsCon.isLoading;
844
- var _useStateWithDependen = reactUtils.useStateWithDependency(configuration),
845
- _useStateWithDependen2 = _slicedToArray(_useStateWithDependen, 2),
846
- credentials = _useStateWithDependen2[0],
847
- setCredentials = _useStateWithDependen2[1];
848
- var _useFetchTwilioPhoneN = useFetchTwilioPhoneNumbers({
849
- credentials: credentials,
850
- formRef: formRef
851
- }),
852
- phoneNumbers = _useFetchTwilioPhoneN.data,
853
- isPhoneNumbersLoading = _useFetchTwilioPhoneN.isLoading;
854
- var _useCreateTwilioConfi = useCreateTwilioConfiguration({
855
- integrable: integrable
856
- }),
857
- saveConfiguration = _useCreateTwilioConfi.mutate,
858
- isSubmitting = _useCreateTwilioConfi.isPending;
859
- var handleSubmit = function handleSubmit(values) {
860
- var _values$twilioPhoneNu;
861
- var payload = {
862
- twilio_sid: values.twilioSid,
863
- twilio_auth_token: values.twilioAuthToken,
864
- twilio_phone_number_sid: (_values$twilioPhoneNu = values.twilioPhoneNumber) === null || _values$twilioPhoneNu === void 0 ? void 0 : _values$twilioPhoneNu.value
865
- };
866
- if (!phoneNumbers && !(configuration !== null && configuration !== void 0 && configuration.twilioPhoneNumber)) {
867
- setCredentials(payload);
868
- return;
869
- }
870
- saveConfiguration(payload, {
871
- onSuccess: onConnect
872
- });
873
- };
874
- return {
875
- handleSubmit: handleSubmit,
876
- phoneNumbers: phoneNumbers,
877
- isConfigurationLoading: isConfigurationLoading,
878
- isPhoneNumbersLoading: isPhoneNumbersLoading,
879
- isSubmitting: isSubmitting,
880
- configuration: configuration
881
- };
882
- };
883
-
884
- var buildTwilioConfigurationValidationSchema = function buildTwilioConfigurationValidationSchema(isTwilioPhoneRequired) {
885
- return yup__namespace.object().shape({
886
- twilioSid: yup__namespace.string().required(i18next__default["default"].t("neetoIntegrations.twilio.validations.sidReq")),
887
- twilioAuthToken: yup__namespace.string().required(i18next__default["default"].t("neetoIntegrations.twilio.validations.authTokenReq")),
888
- twilioPhoneNumber: isTwilioPhoneRequired ? yup__namespace.object().shape({
889
- label: yup__namespace.string(),
890
- value: yup__namespace.string().required(i18next__default["default"].t("neetoIntegrations.twilio.validations.phNumReq"))
891
- }) : null
892
- });
893
- };
894
- var buildPhoneNumberOptions = function buildPhoneNumberOptions(phoneNumbers) {
895
- return phoneNumbers === null || phoneNumbers === void 0 ? void 0 : phoneNumbers.map(function (_ref) {
896
- var phoneNumber = _ref.phoneNumber,
897
- sid = _ref.sid;
898
- return {
899
- label: phoneNumber,
900
- value: sid
901
- };
902
- });
903
- };
904
-
905
- 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; }
906
- 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; }
907
- var Twilio = function Twilio(_ref) {
908
- var _ref$integrable = _ref.integrable,
909
- integrable = _ref$integrable === void 0 ? null : _ref$integrable,
910
- _ref$onClose = _ref.onClose,
911
- onClose = _ref$onClose === void 0 ? neetoCist.noop : _ref$onClose,
912
- _ref$onConnect = _ref.onConnect,
913
- onConnect = _ref$onConnect === void 0 ? neetoCist.noop : _ref$onConnect;
914
- var _useTranslation = reactI18next.useTranslation(),
915
- t = _useTranslation.t;
916
- var initialFocusRef = React.useRef();
917
- var formRef = React.useRef();
918
- var _useTwilio = useTwilio({
919
- onConnect: onConnect,
920
- formRef: formRef,
921
- integrable: integrable
922
- }),
923
- handleSubmit = _useTwilio.handleSubmit,
924
- phoneNumbers = _useTwilio.phoneNumbers,
925
- isConfigurationLoading = _useTwilio.isConfigurationLoading,
926
- isPhoneNumbersLoading = _useTwilio.isPhoneNumbersLoading,
927
- isSubmitting = _useTwilio.isSubmitting,
928
- configuration = _useTwilio.configuration;
929
- var phoneNumberOptions = buildPhoneNumberOptions(phoneNumbers);
930
- var selectedPhoneNumber = neetoCist._findBy({
931
- label: configuration === null || configuration === void 0 ? void 0 : configuration.twilioPhoneNumber
932
- }, phoneNumberOptions);
933
- var isLoading = isPhoneNumbersLoading || isConfigurationLoading;
934
- var isSubmitDisabled = function isSubmitDisabled(values) {
935
- return ramda.equals(_objectSpread$2(_objectSpread$2({}, configuration), {}, {
936
- twilioPhoneNumber: selectedPhoneNumber
937
- }), values) || isLoading;
938
- };
939
- return /*#__PURE__*/jsxRuntime.jsx(FormikForm__default["default"], {
940
- className: "mx-auto flex w-full max-w-md flex-col p-5",
941
- formikProps: {
942
- enableReinitialize: true,
943
- validationSchema: buildTwilioConfigurationValidationSchema(!!phoneNumbers),
944
- initialValues: configuration,
945
- innerRef: formRef,
946
- onSubmit: handleSubmit
947
- },
948
- children: function children(formikProps) {
949
- return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
950
- children: [/*#__PURE__*/jsxRuntime.jsx(ConfigurationForm, {
951
- formikProps: formikProps,
952
- initialFocusRef: initialFocusRef,
953
- phoneNumberOptions: phoneNumberOptions,
954
- selectedPhoneNumber: selectedPhoneNumber
955
- }), /*#__PURE__*/jsxRuntime.jsx("div", {
956
- className: "mt-8",
957
- children: /*#__PURE__*/jsxRuntime.jsx(ActionBlock__default["default"], {
958
- isSubmitting: isSubmitting,
959
- cancelButtonProps: {
960
- onClick: onClose
961
- },
962
- submitButtonProps: {
963
- label: phoneNumberOptions ? t("neetoIntegrations.common.saveChanges") : t("neetoIntegrations.common.verify"),
964
- disabled: isSubmitDisabled(formikProps.values) || isSubmitting,
965
- loading: isSubmitting || isPhoneNumbersLoading && !(configuration !== null && configuration !== void 0 && configuration.twilioAuthToken)
966
- }
967
- })
968
- })]
969
- });
970
- }
971
- });
972
- };
973
-
974
- var show = function show() {
975
- return axios__default["default"].get(INTEGRATION_DETAILS_URL, {
976
- params: {
977
- serviceName: "Zoom",
978
- integrableType: "User"
979
- }
980
- });
981
- };
982
- var destroy = function destroy() {
983
- return axios__default["default"]["delete"]("".concat(INTEGRATIONS_ENGINE_ZOOM_URL, "/oauth"));
984
- };
985
- var zoomApi = {
986
- show: show,
987
- destroy: destroy
988
- };
989
-
990
- var useShowZoom = function useShowZoom() {
991
- return reactQuery.useQuery({
992
- queryKey: [QUERY_KEYS.ZOOM_DETAILS],
993
- queryFn: zoomApi.show,
994
- staleTime: constants.DEFAULT_STALE_TIME
995
- });
996
- };
997
- var useDestroyZoom = function useDestroyZoom(_ref) {
998
- var _onSuccess = _ref.onSuccess;
999
- return reactUtils.useMutationWithInvalidation(zoomApi.destroy, {
1000
- keysToInvalidate: [[QUERY_KEYS.ZOOM_DETAILS]],
1001
- onSuccess: function onSuccess() {
1002
- return _onSuccess === null || _onSuccess === void 0 ? void 0 : _onSuccess();
1003
- }
1004
- });
1005
- };
1006
-
1007
- var Zoom = function Zoom(_ref) {
1008
- var _ref$connectUrl = _ref.connectUrl,
1009
- connectUrl = _ref$connectUrl === void 0 ? "" : _ref$connectUrl,
1010
- _ref$description = _ref.description,
1011
- description = _ref$description === void 0 ? "" : _ref$description,
1012
- _ref$onDisconnect = _ref.onDisconnect,
1013
- onDisconnect = _ref$onDisconnect === void 0 ? neetoCist.noop : _ref$onDisconnect;
1014
- var _useTranslation = reactI18next.useTranslation(),
1015
- t = _useTranslation.t;
1016
- var _useState = React.useState(false),
1017
- _useState2 = _slicedToArray(_useState, 2),
1018
- isDisconnectAlertOpen = _useState2[0],
1019
- setIsDisconnectAlertOpen = _useState2[1];
1020
- var _useShowZoom = useShowZoom(),
1021
- _useShowZoom$data = _useShowZoom.data,
1022
- _useShowZoom$data2 = _useShowZoom$data === void 0 ? {} : _useShowZoom$data,
1023
- _useShowZoom$data2$me = _useShowZoom$data2.metadata,
1024
- _useShowZoom$data2$me2 = _useShowZoom$data2$me === void 0 ? {} : _useShowZoom$data2$me,
1025
- _useShowZoom$data2$me3 = _useShowZoom$data2$me2.email,
1026
- email = _useShowZoom$data2$me3 === void 0 ? "" : _useShowZoom$data2$me3,
1027
- isLoading = _useShowZoom.isLoading;
1028
- var _useDestroyZoom = useDestroyZoom({
1029
- onSuccess: function onSuccess() {
1030
- setIsDisconnectAlertOpen(false);
1031
- onDisconnect === null || onDisconnect === void 0 || onDisconnect();
1032
- }
1033
- }),
1034
- destroyIntegration = _useDestroyZoom.mutate,
1035
- isDisconnecting = _useDestroyZoom.isPending;
1036
- var isConnected = neetoCist.isPresent(email);
1037
- var handleDisconnect = function handleDisconnect() {
1038
- return destroyIntegration("zoom");
1039
- };
1040
- if (isLoading) return /*#__PURE__*/jsxRuntime.jsx(PageLoader__default["default"], {});
1041
- return /*#__PURE__*/jsxRuntime.jsx(Manage$1, {
1042
- connectUrl: connectUrl,
1043
- isConnected: isConnected,
1044
- isDisconnectAlertOpen: isDisconnectAlertOpen,
1045
- isDisconnecting: isDisconnecting,
1046
- setIsDisconnectAlertOpen: setIsDisconnectAlertOpen,
1047
- Icon: ZoomIcon__default["default"],
1048
- integration: "zoom",
1049
- description: isConnected ? /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
1050
- components: {
1051
- underline: /*#__PURE__*/jsxRuntime.jsx("u", {
1052
- className: "font-medium"
1053
- })
1054
- },
1055
- i18nKey: "neetoIntegrations.zoom.account",
1056
- values: {
1057
- email: email
1058
- }
1059
- }) : description,
1060
- title: isConnected ? t("neetoIntegrations.zoom.connected") : t("neetoIntegrations.zoom.connect"),
1061
- onClose: function onClose() {
1062
- return setIsDisconnectAlertOpen(false);
1063
- },
1064
- onDisconnect: function onDisconnect() {
1065
- return handleDisconnect();
1066
- }
1067
- });
1068
- };
1069
-
1070
- var Stepper = function Stepper(_ref) {
1071
- var _ref$steps = _ref.steps,
1072
- steps = _ref$steps === void 0 ? {} : _ref$steps;
1073
- var isActiveOrCompleted = function isActiveOrCompleted(activeStatus, completedStatus) {
1074
- return activeStatus || completedStatus;
1075
- };
1076
- return /*#__PURE__*/jsxRuntime.jsx("ul", {
1077
- className: "flex gap-4",
1078
- children: steps === null || steps === void 0 ? void 0 : steps.map(function (_ref2) {
1079
- var step = _ref2.step,
1080
- label = _ref2.label,
1081
- isActive = _ref2.isActive,
1082
- isCompleted = _ref2.isCompleted;
1083
- return /*#__PURE__*/jsxRuntime.jsxs("li", {
1084
- className: "flex items-center gap-4",
1085
- children: [step !== "1" && /*#__PURE__*/jsxRuntime.jsx("div", {
1086
- className: classnames__default["default"]("w-10 border-b", {
1087
- "neeto-ui-border-gray-800": isActiveOrCompleted(isActive, isCompleted),
1088
- "neeto-ui-border-gray-400": !isActiveOrCompleted(isActive, isCompleted)
1089
- })
1090
- }), /*#__PURE__*/jsxRuntime.jsxs("div", {
1091
- className: "flex items-center gap-2",
1092
- children: [/*#__PURE__*/jsxRuntime.jsx("div", {
1093
- className: classnames__default["default"]("neeto-ui-rounded-full neeto-ui-gray-600 flex h-6 w-6 items-center justify-center border", {
1094
- "neeto-ui-bg-success-600 neeto-ui-border-success-600 neeto-ui-text-white": isActive,
1095
- "neeto-ui-bg-primary-600 neeto-ui-border-primary-600 neeto-ui-text-white": isCompleted,
1096
- "neeto-ui-border-gray-400": !isActiveOrCompleted(isActive, isCompleted)
1097
- }),
1098
- children: /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
1099
- component: "span",
1100
- style: "body2",
1101
- weight: "normal",
1102
- children: step
1103
- })
1104
- }), /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
1105
- style: "body2",
1106
- weight: "normal",
1107
- className: classnames__default["default"]({
1108
- "neeto-ui-text-gray-800": isActiveOrCompleted(isActive, isCompleted),
1109
- "neeto-ui-text-gray-600": !isActiveOrCompleted(isActive, isCompleted)
1110
- }),
1111
- children: label
1112
- })]
1113
- })]
1114
- }, step);
1115
- })
1116
- });
1117
- };
1118
-
1119
- var Modal = function Modal(_ref) {
1120
- var _ref$isOpen = _ref.isOpen,
1121
- isOpen = _ref$isOpen === void 0 ? neetoCist.noop : _ref$isOpen,
1122
- _ref$onClose = _ref.onClose,
1123
- onClose = _ref$onClose === void 0 ? neetoCist.noop : _ref$onClose,
1124
- _ref$steps = _ref.steps,
1125
- steps = _ref$steps === void 0 ? {} : _ref$steps,
1126
- children = _ref.children;
1127
- return /*#__PURE__*/jsxRuntime.jsxs(NeetoUIModal__default["default"], {
1128
- isOpen: isOpen,
1129
- onClose: onClose,
1130
- className: "neeto-ui-flex neeto-ui-flex-col neeto-ui-transform-none w-screen overflow-y-auto",
1131
- size: "fullScreen",
1132
- children: [/*#__PURE__*/jsxRuntime.jsx(NeetoUIModal__default["default"].Header, {
1133
- children: /*#__PURE__*/jsxRuntime.jsx(Stepper, {
1134
- steps: steps
1135
- })
1136
- }), /*#__PURE__*/jsxRuntime.jsx(NeetoUIModal__default["default"].Body, {
1137
- className: "neeto-ui-flex neeto-ui-justify-center neeto-ui-flex-grow",
1138
- children: /*#__PURE__*/jsxRuntime.jsx("div", {
1139
- className: "neeto-ui-w-full py-10",
1140
- children: children
1141
- })
1142
- })]
1143
- });
1144
- };
1145
-
1146
- function getDefaultExportFromCjs (x) {
1147
- return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
1148
- }
1149
-
1150
- var propTypes = {exports: {}};
1151
-
1152
- /**
1153
- * Copyright (c) 2013-present, Facebook, Inc.
1154
- *
1155
- * This source code is licensed under the MIT license found in the
1156
- * LICENSE file in the root directory of this source tree.
1157
- */
1158
- var ReactPropTypesSecret$1 = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
1159
- var ReactPropTypesSecret_1 = ReactPropTypesSecret$1;
1160
-
1161
- /**
1162
- * Copyright (c) 2013-present, Facebook, Inc.
1163
- *
1164
- * This source code is licensed under the MIT license found in the
1165
- * LICENSE file in the root directory of this source tree.
1166
- */
1167
- var ReactPropTypesSecret = ReactPropTypesSecret_1;
1168
- function emptyFunction() {}
1169
- function emptyFunctionWithReset() {}
1170
- emptyFunctionWithReset.resetWarningCache = emptyFunction;
1171
- var factoryWithThrowingShims = function factoryWithThrowingShims() {
1172
- function shim(props, propName, componentName, location, propFullName, secret) {
1173
- if (secret === ReactPropTypesSecret) {
1174
- // It is still safe when called from React.
1175
- return;
1176
- }
1177
- 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');
1178
- err.name = 'Invariant Violation';
1179
- throw err;
1180
- }
1181
- shim.isRequired = shim;
1182
- function getShim() {
1183
- return shim;
1184
- }
1185
- // Important!
1186
- // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.
1187
- var ReactPropTypes = {
1188
- array: shim,
1189
- bigint: shim,
1190
- bool: shim,
1191
- func: shim,
1192
- number: shim,
1193
- object: shim,
1194
- string: shim,
1195
- symbol: shim,
1196
- any: shim,
1197
- arrayOf: getShim,
1198
- element: shim,
1199
- elementType: shim,
1200
- instanceOf: getShim,
1201
- node: shim,
1202
- objectOf: getShim,
1203
- oneOf: getShim,
1204
- oneOfType: getShim,
1205
- shape: getShim,
1206
- exact: getShim,
1207
- checkPropTypes: emptyFunctionWithReset,
1208
- resetWarningCache: emptyFunction
1209
- };
1210
- ReactPropTypes.PropTypes = ReactPropTypes;
1211
- return ReactPropTypes;
1212
- };
1213
-
1214
- /**
1215
- * Copyright (c) 2013-present, Facebook, Inc.
1216
- *
1217
- * This source code is licensed under the MIT license found in the
1218
- * LICENSE file in the root directory of this source tree.
1219
- */
1220
- {
1221
- // By explicitly using `prop-types` you are opting into new production behavior.
1222
- // http://fb.me/prop-types-in-prod
1223
- propTypes.exports = factoryWithThrowingShims();
1224
- }
1225
- var propTypesExports = propTypes.exports;
1226
- var PropTypes = /*@__PURE__*/getDefaultExportFromCjs(propTypesExports);
1227
-
1228
- 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; }
1229
- 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; }
1230
- var Connect = reactUtils.withT(function (_ref) {
1231
- var t = _ref.t,
1232
- Icon = _ref.Icon,
1233
- _ref$title = _ref.title,
1234
- title = _ref$title === void 0 ? "" : _ref$title,
1235
- _ref$description = _ref.description,
1236
- description = _ref$description === void 0 ? "" : _ref$description,
1237
- _ref$integration = _ref.integration,
1238
- integration = _ref$integration === void 0 ? "" : _ref$integration,
1239
- _ref$integrationName = _ref.integrationName,
1240
- integrationName = _ref$integrationName === void 0 ? "" : _ref$integrationName,
1241
- _ref$helpDocUrl = _ref.helpDocUrl,
1242
- helpDocUrl = _ref$helpDocUrl === void 0 ? "" : _ref$helpDocUrl,
1243
- _ref$buttonProps = _ref.buttonProps,
1244
- buttonProps = _ref$buttonProps === void 0 ? {} : _ref$buttonProps,
1245
- _ref$onConnect = _ref.onConnect,
1246
- onConnect = _ref$onConnect === void 0 ? neetoCist.noop : _ref$onConnect,
1247
- children = _ref.children,
1248
- secondaryButtonProps = _ref.secondaryButtonProps;
1249
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
1250
- className: "mx-auto w-full max-w-3xl",
1251
- children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
1252
- className: "mb-6 flex flex-col gap-y-2",
1253
- children: [/*#__PURE__*/jsxRuntime.jsx(Icon, {
1254
- size: 48
1255
- }), /*#__PURE__*/jsxRuntime.jsxs("div", {
1256
- className: "flex flex-col gap-y-1",
1257
- children: [/*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
1258
- style: "h2",
1259
- children: title
1260
- }), /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
1261
- style: "body2",
1262
- children: description
1263
- })]
1264
- })]
1265
- }), helpDocUrl && /*#__PURE__*/jsxRuntime.jsx("div", {
1266
- className: "mb-4",
1267
- children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
1268
- i18nKey: "neetoIntegrations.common.helpDocUrl",
1269
- components: {
1270
- helpLink: /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
1271
- className: "text-xs",
1272
- href: helpDocUrl,
1273
- size: "small",
1274
- style: "link",
1275
- target: "_blank"
1276
- })
1277
- },
1278
- values: {
1279
- integration: integrationName || neetoCist.humanize(integration)
1280
- }
1281
- })
1282
- }), children, /*#__PURE__*/jsxRuntime.jsxs("div", {
1283
- className: "flex w-full items-center gap-x-3",
1284
- children: [/*#__PURE__*/jsxRuntime.jsx(Button__default["default"], _objectSpread$1({
1285
- label: t("neetoIntegrations.common.connect"),
1286
- onClick: onConnect
1287
- }, buttonProps)), secondaryButtonProps && /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], _objectSpread$1({
1288
- style: "secondary"
1289
- }, secondaryButtonProps))]
1290
- })]
1291
- });
1292
- });
1293
- Connect.prototypes = {
1294
- /**
1295
- * To specify the Icon to be shown
1296
- */
1297
- Icon: PropTypes.node,
1298
- /**
1299
- * To specify the title of the connect component
1300
- */
1301
- title: PropTypes.string,
1302
- /**
1303
- * To specify the description for connect component
1304
- */
1305
- description: PropTypes.string,
1306
- /**
1307
- * To specify the props for the connect button
1308
- */
1309
- buttonProps: PropTypes.object,
1310
- /**
1311
- * Handler function that is triggered when the connect button is clicked.
1312
- */
1313
- onConnect: PropTypes.func
1314
- };
1315
-
1316
- var isYouTubeLink = function isYouTubeLink(videoUrl) {
1317
- var youtubeRegex = /^(https?:\/\/)?(www\.)?(youtube\.com|youtu\.be)\//;
1318
- return youtubeRegex.test(videoUrl);
1319
- };
1320
- var renderText = function renderText(text, fallbackTranslation) {
1321
- return ramda.isEmpty(text) ? fallbackTranslation : text;
1322
- };
1323
-
1324
- var Demo = function Demo(_ref) {
1325
- var _ref$title = _ref.title,
1326
- title = _ref$title === void 0 ? "" : _ref$title,
1327
- _ref$subtitle = _ref.subtitle,
1328
- subtitle = _ref$subtitle === void 0 ? "" : _ref$subtitle,
1329
- _ref$iframeTitle = _ref.iframeTitle,
1330
- iframeTitle = _ref$iframeTitle === void 0 ? "" : _ref$iframeTitle,
1331
- _ref$onClose = _ref.onClose,
1332
- onClose = _ref$onClose === void 0 ? neetoCist.noop : _ref$onClose,
1333
- _ref$videoUrl = _ref.videoUrl,
1334
- videoUrl = _ref$videoUrl === void 0 ? "" : _ref$videoUrl,
1335
- children = _ref.children;
1336
- var _useTranslation = reactI18next.useTranslation(),
1337
- t = _useTranslation.t;
1338
- var renderVideo = function renderVideo(videoUrl) {
1339
- return isYouTubeLink(videoUrl) ? /*#__PURE__*/jsxRuntime.jsx("iframe", {
1340
- allowFullScreen: true,
1341
- className: "aspect-video border-none",
1342
- frameBorder: "0",
1343
- id: "ytplayer",
1344
- src: videoUrl,
1345
- title: renderText(iframeTitle, t("neetoIntegrations.demo.iFrameTitle")),
1346
- type: "text/html"
1347
- }) : /*#__PURE__*/jsxRuntime.jsx("video", {
1348
- autoPlay: true,
1349
- controls: true,
1350
- muted: true,
1351
- className: "neeto-ui-rounded-xl aspect-video w-full max-w-3xl cursor-pointer",
1352
- id: "walkthrough-video",
1353
- children: /*#__PURE__*/jsxRuntime.jsx("source", {
1354
- src: videoUrl
1355
- })
1356
- });
1357
- };
1358
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
1359
- className: "mx-auto w-full max-w-3xl",
1360
- children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
1361
- className: "mb-6 flex flex-col gap-y-1",
1362
- children: [/*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
1363
- style: "h2",
1364
- children: renderText(title, t("neetoIntegrations.demo.title"))
1365
- }), /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
1366
- style: "body2",
1367
- children: renderText(subtitle, t("neetoIntegrations.demo.subtitle"))
1368
- })]
1369
- }), children, videoUrl && /*#__PURE__*/jsxRuntime.jsx("div", {
1370
- className: "mb-8",
1371
- children: renderVideo(videoUrl)
1372
- }), /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
1373
- label: t("neetoIntegrations.common.finish"),
1374
- onClick: onClose
1375
- })]
1376
- });
1377
- };
1378
- Demo.prototypes = {
1379
- /**
1380
- * To specify whether the integration modal should be opened or closed.
1381
- */
1382
- onClose: PropTypes.func,
1383
- /**
1384
- * To specify the walkthrough video link
1385
- */
1386
- videoUrl: PropTypes.string,
1387
- /**
1388
- * To specify the title of the demo component
1389
- */
1390
- title: PropTypes.string,
1391
- /**
1392
- * To specify the subtitle of the demo component
1393
- */
1394
- subtitle: PropTypes.string,
1395
- /**
1396
- * To specify the title of the video in the iframe
1397
- */
1398
- iframeTitle: PropTypes.string
1399
- };
1400
-
1401
- var _path, _defs;
1402
- 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); }
1403
- const SvgSuccess = props => /*#__PURE__*/React__namespace.createElement("svg", _extends({
1404
- xmlns: "http://www.w3.org/2000/svg",
1405
- xmlnsXlink: "http://www.w3.org/1999/xlink",
1406
- width: 72,
1407
- height: 72,
1408
- fill: "none"
1409
- }, props), _path || (_path = /*#__PURE__*/React__namespace.createElement("path", {
1410
- fill: "url(#success_svg__a)",
1411
- d: "M0 0h72v72H0z"
1412
- })), _defs || (_defs = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("pattern", {
1413
- id: "success_svg__a",
1414
- width: 1,
1415
- height: 1,
1416
- patternContentUnits: "objectBoundingBox"
1417
- }, /*#__PURE__*/React__namespace.createElement("use", {
1418
- xlinkHref: "#success_svg__b",
1419
- transform: "scale(.0029)"
1420
- })), /*#__PURE__*/React__namespace.createElement("image", {
1421
- 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",
1422
- id: "success_svg__b",
1423
- width: 344,
1424
- height: 344
1425
- }))));
1426
-
1427
- 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; }
1428
- 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; }
1429
- var Finish = reactUtils.withT(function (_ref) {
1430
- var t = _ref.t,
1431
- _ref$onClick = _ref.onClick,
1432
- onClick = _ref$onClick === void 0 ? neetoCist.noop : _ref$onClick,
1433
- _ref$title = _ref.title,
1434
- title = _ref$title === void 0 ? "" : _ref$title,
1435
- _ref$buttonProps = _ref.buttonProps,
1436
- buttonProps = _ref$buttonProps === void 0 ? {} : _ref$buttonProps,
1437
- _ref$secondaryButtonP = _ref.secondaryButtonProps,
1438
- secondaryButtonProps = _ref$secondaryButtonP === void 0 ? {} : _ref$secondaryButtonP,
1439
- children = _ref.children;
1440
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
1441
- className: "mx-auto w-full max-w-3xl",
1442
- children: [/*#__PURE__*/jsxRuntime.jsx(SvgSuccess, {}), /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
1443
- className: "mb-6 mt-4",
1444
- style: "h2",
1445
- weight: "semibold",
1446
- children: title
1447
- }), children, /*#__PURE__*/jsxRuntime.jsxs("div", {
1448
- className: "flex w-full items-center gap-x-2",
1449
- children: [/*#__PURE__*/jsxRuntime.jsx(Button__default["default"], _objectSpread({
1450
- onClick: onClick,
1451
- label: t("neetoIntegrations.common.continue")
1452
- }, buttonProps)), neetoCist.isNotEmpty(secondaryButtonProps) && /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], _objectSpread({
1453
- style: "secondary"
1454
- }, secondaryButtonProps))]
1455
- })]
1456
- });
1457
- });
1458
- Finish.prototypes = {
1459
- /**
1460
- * To specify whether the integration modal should be opened or closed.
1461
- */
1462
- onClick: PropTypes.func,
1463
- /**
1464
- * To show the title of the Finish component
1465
- */
1466
- title: PropTypes.string,
1467
- /**
1468
- * To specify props for primary button
1469
- */
1470
- buttonProps: PropTypes.object,
1471
- /**
1472
- * To specify props for secondary button
1473
- */
1474
- secondaryButtonProps: PropTypes.object
1475
- };
1476
-
1477
- var e = [],
1478
- t = [];
1479
- function n(n, r) {
1480
- if (n && "undefined" != typeof document) {
1481
- var a,
1482
- s = !0 === r.prepend ? "prepend" : "append",
1483
- d = !0 === r.singleTag,
1484
- i = "string" == typeof r.container ? document.querySelector(r.container) : document.getElementsByTagName("head")[0];
1485
- if (d) {
1486
- var u = e.indexOf(i);
1487
- -1 === u && (u = e.push(i) - 1, t[u] = {}), a = t[u] && t[u][s] ? t[u][s] : t[u][s] = c();
1488
- } else a = c();
1489
- 65279 === n.charCodeAt(0) && (n = n.substring(1)), a.styleSheet ? a.styleSheet.cssText += n : a.appendChild(document.createTextNode(n));
1490
- }
1491
- function c() {
1492
- var e = document.createElement("style");
1493
- 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]]);
1494
- var a = "prepend" === s ? "afterbegin" : "beforeend";
1495
- return i.insertAdjacentElement(a, e), e;
1496
- }
1497
- }
1498
-
1499
- 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%}";
1500
- n(css,{});
1501
-
1502
- Object.defineProperty(exports, 'Card', {
1503
- enumerable: true,
1504
- get: function () { return IntegrationCard__default["default"]; }
1505
- });
1506
- Object.defineProperty(exports, 'DisconnectAlert', {
1507
- enumerable: true,
1508
- get: function () { return DisconnectAlert__default["default"]; }
1509
- });
1510
- Object.defineProperty(exports, 'WalkthroughModal', {
1511
- enumerable: true,
1512
- get: function () { return WalkthroughModal__default["default"]; }
1513
- });
1514
- exports.Connect = Connect;
1515
- exports.Daily = index;
1516
- exports.DailyForm = Form$1;
1517
- exports.Demo = Demo;
1518
- exports.Finish = Finish;
1519
- exports.GoogleCalendar = GoogleCalendar;
1520
- exports.Manage = Manage$1;
1521
- exports.Modal = Modal;
1522
- exports.Twilio = Twilio;
1523
- exports.Zoom = Zoom;
1524
- //# sourceMappingURL=index.cjs.js.map