@bigbinary/neeto-integrations-frontend 3.0.0 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/app/javascript/src/translations/en.json +1 -1
  2. package/dist/Connect.js +99 -0
  3. package/dist/Connect.js.map +1 -0
  4. package/dist/Daily.js +31 -792
  5. package/dist/Daily.js.map +1 -1
  6. package/dist/DailyForm.js +25 -0
  7. package/dist/DailyForm.js.map +1 -0
  8. package/dist/Demo.js +95 -0
  9. package/dist/Demo.js.map +1 -0
  10. package/dist/Finish.js +87 -0
  11. package/dist/Finish.js.map +1 -0
  12. package/dist/Form-5be03668.js +171 -0
  13. package/dist/Form-5be03668.js.map +1 -0
  14. package/dist/Form-be2e5595.js +209 -0
  15. package/dist/Form-be2e5595.js.map +1 -0
  16. package/dist/GoogleCalendar.js +127 -0
  17. package/dist/GoogleCalendar.js.map +1 -0
  18. package/dist/Manage.js +162 -0
  19. package/dist/Manage.js.map +1 -0
  20. package/dist/Modal.js +84 -0
  21. package/dist/Modal.js.map +1 -0
  22. package/dist/Twilio.js +5 -108
  23. package/dist/Twilio.js.map +1 -1
  24. package/dist/ZapierForm.js +8 -102
  25. package/dist/ZapierForm.js.map +1 -1
  26. package/dist/Zoom.js +14 -895
  27. package/dist/Zoom.js.map +1 -1
  28. package/dist/cjs/Connect.js +106 -0
  29. package/dist/cjs/Connect.js.map +1 -0
  30. package/dist/cjs/Daily.js +150 -0
  31. package/dist/cjs/Daily.js.map +1 -0
  32. package/dist/cjs/DailyForm.js +31 -0
  33. package/dist/cjs/DailyForm.js.map +1 -0
  34. package/dist/cjs/Demo.js +102 -0
  35. package/dist/cjs/Demo.js.map +1 -0
  36. package/dist/cjs/Finish.js +113 -0
  37. package/dist/cjs/Finish.js.map +1 -0
  38. package/dist/cjs/GoogleCalendar.js +137 -0
  39. package/dist/cjs/GoogleCalendar.js.map +1 -0
  40. package/dist/cjs/Manage.js +173 -0
  41. package/dist/cjs/Manage.js.map +1 -0
  42. package/dist/cjs/Modal.js +92 -0
  43. package/dist/cjs/Modal.js.map +1 -0
  44. package/dist/{Twilio.cjs.js → cjs/Twilio.js} +22 -125
  45. package/dist/cjs/Twilio.js.map +1 -0
  46. package/dist/{ZapierForm.cjs.js → cjs/ZapierForm.js} +19 -113
  47. package/dist/cjs/ZapierForm.js.map +1 -0
  48. package/dist/cjs/Zoom.js +127 -0
  49. package/dist/cjs/Zoom.js.map +1 -0
  50. package/dist/cjs/index.js +67 -0
  51. package/dist/cjs/index.js.map +1 -0
  52. package/dist/defineProperty-e90a259c.js +43 -0
  53. package/dist/defineProperty-e90a259c.js.map +1 -0
  54. package/dist/defineProperty-f3094d6c.js +45 -0
  55. package/dist/defineProperty-f3094d6c.js.map +1 -0
  56. package/dist/index-2f3a953b.js +86 -0
  57. package/dist/index-2f3a953b.js.map +1 -0
  58. package/dist/index-4bda54e6.js +84 -0
  59. package/dist/index-4bda54e6.js.map +1 -0
  60. package/dist/index.js +49 -1501
  61. package/dist/index.js.map +1 -1
  62. package/dist/query-4f9552ab.js +21 -0
  63. package/dist/query-4f9552ab.js.map +1 -0
  64. package/dist/query-62fcdf0a.js +15 -0
  65. package/dist/query-62fcdf0a.js.map +1 -0
  66. package/dist/slicedToArray-b4278ecd.js +57 -0
  67. package/dist/slicedToArray-b4278ecd.js.map +1 -0
  68. package/dist/slicedToArray-f320d9e7.js +61 -0
  69. package/dist/slicedToArray-f320d9e7.js.map +1 -0
  70. package/package.json +15 -13
  71. package/dist/Daily.cjs.js +0 -945
  72. package/dist/Daily.cjs.js.map +0 -1
  73. package/dist/GoogleCalender.cjs.js +0 -1114
  74. package/dist/GoogleCalender.cjs.js.map +0 -1
  75. package/dist/GoogleCalender.js +0 -1067
  76. package/dist/GoogleCalender.js.map +0 -1
  77. package/dist/Twilio.cjs.js.map +0 -1
  78. package/dist/ZapierForm.cjs.js.map +0 -1
  79. package/dist/Zoom.cjs.js +0 -1044
  80. package/dist/Zoom.cjs.js.map +0 -1
  81. package/dist/index.cjs.js +0 -1573
  82. package/dist/index.cjs.js.map +0 -1
@@ -1,1067 +0,0 @@
1
- import * as React from 'react';
2
- import React__default, { useState, useEffect } from 'react';
3
- import { humanize, noop, isPresent, isNotEmpty } from '@bigbinary/neeto-cist';
4
- import { buildUrl, getQueryParams } from '@bigbinary/neeto-commons-frontend/utils';
5
- import GoogleCalendarIcon from '@bigbinary/neeto-icons/misc/GoogleCalendar';
6
- import Google from '@bigbinary/neeto-icons/misc/Google';
7
- import Typography from '@bigbinary/neetoui/Typography';
8
- import Callout from '@bigbinary/neetoui/Callout';
9
- import Button from '@bigbinary/neetoui/Button';
10
- import { Trans, useTranslation } from 'react-i18next';
11
- import '@bigbinary/neeto-molecules/IntegrationCard';
12
- import DisconnectAlert from '@bigbinary/neeto-molecules/IntegrationDisconnectAlert';
13
- import WalkthroughModal from '@bigbinary/neeto-molecules/IntegrationWalkthroughModal';
14
- import classnames from 'classnames';
15
- import { withT, useMutationWithInvalidation, withTitle, useQueryParams } from '@bigbinary/neeto-commons-frontend/react-utils';
16
- import Check from '@bigbinary/neeto-icons/Check';
17
- import Tooltip from '@bigbinary/neetoui/Tooltip';
18
- import i18next, { t as t$1 } from 'i18next';
19
- import { useQuery } from '@tanstack/react-query';
20
- import { DEFAULT_STALE_TIME } from '@bigbinary/neeto-commons-frontend/constants';
21
- import axios from 'axios';
22
- import Container from '@bigbinary/neeto-molecules/Container';
23
- import Header from '@bigbinary/neeto-molecules/Header';
24
- import HelpPopover from '@bigbinary/neeto-molecules/HelpPopover';
25
- import PageLoader from '@bigbinary/neeto-molecules/PageLoader';
26
- import Input from '@bigbinary/neetoui/formik/Input';
27
- import FormikForm from '@bigbinary/neetoui/formik/Form';
28
- import ActionBlock from '@bigbinary/neetoui/formik/ActionBlock';
29
- import { useHistory } from 'react-router-dom';
30
- import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
31
- import 'ramda';
32
- import '@bigbinary/neetoui/formik/Select';
33
- import * as yup from 'yup';
34
- import '@bigbinary/neeto-icons/misc/Zoom';
35
- import NeetoUIModal from '@bigbinary/neetoui/Modal';
36
- import DailyIcon from '@bigbinary/neeto-icons/misc/Daily';
37
- import CopyToClipboardButton from '@bigbinary/neeto-molecules/CopyToClipboardButton';
38
-
39
- function _typeof(o) {
40
- "@babel/helpers - typeof";
41
-
42
- return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
43
- return typeof o;
44
- } : function (o) {
45
- return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
46
- }, _typeof(o);
47
- }
48
-
49
- function _toPrimitive(input, hint) {
50
- if (_typeof(input) !== "object" || input === null) return input;
51
- var prim = input[Symbol.toPrimitive];
52
- if (prim !== undefined) {
53
- var res = prim.call(input, hint || "default");
54
- if (_typeof(res) !== "object") return res;
55
- throw new TypeError("@@toPrimitive must return a primitive value.");
56
- }
57
- return (hint === "string" ? String : Number)(input);
58
- }
59
-
60
- function _toPropertyKey(arg) {
61
- var key = _toPrimitive(arg, "string");
62
- return _typeof(key) === "symbol" ? key : String(key);
63
- }
64
-
65
- function _defineProperty(obj, key, value) {
66
- key = _toPropertyKey(key);
67
- if (key in obj) {
68
- Object.defineProperty(obj, key, {
69
- value: value,
70
- enumerable: true,
71
- configurable: true,
72
- writable: true
73
- });
74
- } else {
75
- obj[key] = value;
76
- }
77
- return obj;
78
- }
79
-
80
- function _arrayLikeToArray(arr, len) {
81
- if (len == null || len > arr.length) len = arr.length;
82
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
83
- return arr2;
84
- }
85
-
86
- function _arrayWithoutHoles(arr) {
87
- if (Array.isArray(arr)) return _arrayLikeToArray(arr);
88
- }
89
-
90
- function _iterableToArray(iter) {
91
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
92
- }
93
-
94
- function _unsupportedIterableToArray(o, minLen) {
95
- if (!o) return;
96
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
97
- var n = Object.prototype.toString.call(o).slice(8, -1);
98
- if (n === "Object" && o.constructor) n = o.constructor.name;
99
- if (n === "Map" || n === "Set") return Array.from(o);
100
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
101
- }
102
-
103
- function _nonIterableSpread() {
104
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
105
- }
106
-
107
- function _toConsumableArray(arr) {
108
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
109
- }
110
-
111
- function _arrayWithHoles(arr) {
112
- if (Array.isArray(arr)) return arr;
113
- }
114
-
115
- function _iterableToArrayLimit(r, l) {
116
- var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
117
- if (null != t) {
118
- var e,
119
- n,
120
- i,
121
- u,
122
- a = [],
123
- f = !0,
124
- o = !1;
125
- try {
126
- if (i = (t = t.call(r)).next, 0 === l) {
127
- if (Object(t) !== t) return;
128
- f = !1;
129
- } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
130
- } catch (r) {
131
- o = !0, n = r;
132
- } finally {
133
- try {
134
- if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
135
- } finally {
136
- if (o) throw n;
137
- }
138
- }
139
- return a;
140
- }
141
- }
142
-
143
- function _nonIterableRest() {
144
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
145
- }
146
-
147
- function _slicedToArray(arr, i) {
148
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
149
- }
150
-
151
- 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; }
152
- 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; }
153
- var Manage$1 = withT(function (_ref) {
154
- var t = _ref.t,
155
- _ref$title = _ref.title,
156
- title = _ref$title === void 0 ? "" : _ref$title,
157
- _ref$description = _ref.description,
158
- description = _ref$description === void 0 ? "" : _ref$description,
159
- _ref$integration = _ref.integration,
160
- integration = _ref$integration === void 0 ? "" : _ref$integration,
161
- _ref$isDisconnectAler = _ref.isDisconnectAlertOpen,
162
- isDisconnectAlertOpen = _ref$isDisconnectAler === void 0 ? false : _ref$isDisconnectAler,
163
- _ref$setIsDisconnectA = _ref.setIsDisconnectAlertOpen,
164
- setIsDisconnectAlertOpen = _ref$setIsDisconnectA === void 0 ? noop : _ref$setIsDisconnectA,
165
- _ref$isDisconnecting = _ref.isDisconnecting,
166
- isDisconnecting = _ref$isDisconnecting === void 0 ? false : _ref$isDisconnecting,
167
- _ref$onConnect = _ref.onConnect,
168
- onConnect = _ref$onConnect === void 0 ? undefined : _ref$onConnect,
169
- _ref$onDisconnect = _ref.onDisconnect,
170
- onDisconnect = _ref$onDisconnect === void 0 ? undefined : _ref$onDisconnect,
171
- _ref$onClose = _ref.onClose,
172
- onClose = _ref$onClose === void 0 ? noop : _ref$onClose,
173
- _ref$Icon = _ref.Icon,
174
- Icon = _ref$Icon === void 0 ? null : _ref$Icon,
175
- _ref$isConnected = _ref.isConnected,
176
- isConnected = _ref$isConnected === void 0 ? false : _ref$isConnected,
177
- _ref$connectPath = _ref.connectPath,
178
- connectPath = _ref$connectPath === void 0 ? "" : _ref$connectPath,
179
- _ref$connectUrl = _ref.connectUrl,
180
- connectUrl = _ref$connectUrl === void 0 ? "" : _ref$connectUrl,
181
- _ref$helpDocUrl = _ref.helpDocUrl,
182
- helpDocUrl = _ref$helpDocUrl === void 0 ? "" : _ref$helpDocUrl,
183
- _ref$managePath = _ref.managePath,
184
- managePath = _ref$managePath === void 0 ? "" : _ref$managePath,
185
- _ref$manageUrl = _ref.manageUrl,
186
- manageUrl = _ref$manageUrl === void 0 ? "" : _ref$manageUrl,
187
- _ref$integrationName = _ref.integrationName,
188
- integrationName = _ref$integrationName === void 0 ? "" : _ref$integrationName,
189
- _ref$disconnectMessag = _ref.disconnectMessage,
190
- disconnectMessage = _ref$disconnectMessag === void 0 ? "" : _ref$disconnectMessag,
191
- _ref$disconnectTitle = _ref.disconnectTitle,
192
- disconnectTitle = _ref$disconnectTitle === void 0 ? "" : _ref$disconnectTitle,
193
- _ref$isConnectDisable = _ref.isConnectDisabled,
194
- isConnectDisabled = _ref$isConnectDisable === void 0 ? false : _ref$isConnectDisable,
195
- _ref$connectTooltipPr = _ref.connectTooltipProps,
196
- connectTooltipProps = _ref$connectTooltipPr === void 0 ? null : _ref$connectTooltipPr,
197
- _ref$buttonProps = _ref.buttonProps,
198
- buttonProps = _ref$buttonProps === void 0 ? {} : _ref$buttonProps,
199
- _ref$secondaryButtonP = _ref.secondaryButtonProps,
200
- secondaryButtonProps = _ref$secondaryButtonP === void 0 ? {} : _ref$secondaryButtonP;
201
- return /*#__PURE__*/jsxs(Fragment, {
202
- children: [/*#__PURE__*/jsx("div", {
203
- className: "mx-auto w-full max-w-3xl",
204
- children: /*#__PURE__*/jsxs("div", {
205
- className: "neeto-ui-border-gray-300 neeto-ui-rounded-xl mt-10 w-full space-y-4 border p-6",
206
- children: [Icon && /*#__PURE__*/jsx(Icon, {
207
- className: "neeto-ui-text-gray-600",
208
- size: 48
209
- }), /*#__PURE__*/jsxs("div", {
210
- className: "space-y-2",
211
- children: [/*#__PURE__*/jsxs("div", {
212
- className: "flex items-center space-x-4",
213
- children: [/*#__PURE__*/jsx(Typography, {
214
- className: "neeto-ui-text-gray-800 mb-0.5",
215
- style: "h2",
216
- weight: "semibold",
217
- children: title
218
- }), isConnected && /*#__PURE__*/jsx("div", {
219
- className: "neeto-ui-bg-success-500 neeto-ui-text-white neeto-ui-rounded-full flex items-center justify-center p-1",
220
- children: /*#__PURE__*/jsx(Check, {
221
- size: 24
222
- })
223
- })]
224
- }), /*#__PURE__*/jsx(Typography, {
225
- style: "body1",
226
- weight: "normal",
227
- className: classnames("neeto-ui-text-gray-800", {
228
- "break-all": isConnected
229
- }),
230
- children: description
231
- }), helpDocUrl && /*#__PURE__*/jsx(Typography, {
232
- className: "neeto-ui-text-gray-800",
233
- style: "body2",
234
- weight: "normal",
235
- children: /*#__PURE__*/jsx(Trans, {
236
- i18nKey: "neetoIntegrations.common.helpDocUrl",
237
- components: {
238
- helpLink: /*#__PURE__*/jsx(Button, {
239
- href: helpDocUrl,
240
- style: "link",
241
- target: "_blank"
242
- })
243
- },
244
- values: {
245
- integration: integrationName || humanize(integration)
246
- }
247
- })
248
- })]
249
- }), isConnected ? /*#__PURE__*/jsxs("div", {
250
- className: "space-x-2",
251
- children: [(managePath || manageUrl) && /*#__PURE__*/jsx(Button, _objectSpread$5({
252
- "data-cy": "manage-button",
253
- href: manageUrl,
254
- target: manageUrl ? "_blank" : "_self",
255
- to: managePath,
256
- label: t("neetoIntegrations.common.manageIntegration", {
257
- integration: integrationName || humanize(integration)
258
- })
259
- }, buttonProps)), onDisconnect && /*#__PURE__*/jsx(Button, _objectSpread$5({
260
- "data-cy": "disconnect-button",
261
- style: "secondary",
262
- label: t("neetoIntegrations.common.disconnectIntegration", {
263
- integration: integrationName || humanize(integration)
264
- }),
265
- onClick: function onClick() {
266
- return setIsDisconnectAlertOpen(true);
267
- }
268
- }, secondaryButtonProps))]
269
- }) : /*#__PURE__*/jsx("div", {
270
- children: /*#__PURE__*/jsx(Tooltip, _objectSpread$5(_objectSpread$5({
271
- disabled: !isConnectDisabled
272
- }, connectTooltipProps), {}, {
273
- children: /*#__PURE__*/jsx("span", {
274
- children: (connectPath || connectUrl || onConnect) && /*#__PURE__*/jsx(Button, _objectSpread$5({
275
- "data-cy": "connect-button",
276
- disabled: isConnectDisabled,
277
- href: connectUrl,
278
- to: connectPath,
279
- label: t("neetoIntegrations.common.connectIntegration", {
280
- integration: integrationName || humanize(integration)
281
- }),
282
- onClick: onConnect
283
- }, buttonProps))
284
- })
285
- }))
286
- })]
287
- })
288
- }), /*#__PURE__*/jsx(DisconnectAlert, {
289
- isDisconnecting: isDisconnecting,
290
- onClose: onClose,
291
- onDisconnect: onDisconnect,
292
- isOpen: isDisconnectAlertOpen,
293
- message: disconnectMessage || t("settings.integrations.".concat(integration, ".disconnect.message")),
294
- title: disconnectTitle || t("settings.integrations.".concat(integration, ".disconnect.title"))
295
- })]
296
- });
297
- });
298
-
299
- var INTEGRATIONS_ENGINE_BASE_URL = "/neeto_integrations";
300
- var INTEGRATIONS_ENGINE_DAILY_URL = "".concat(INTEGRATIONS_ENGINE_BASE_URL, "/daily");
301
-
302
- var create = function create(payload) {
303
- return axios.post(INTEGRATIONS_ENGINE_DAILY_URL, {
304
- daily: payload
305
- });
306
- };
307
- var show = function show() {
308
- return axios.get(INTEGRATIONS_ENGINE_DAILY_URL);
309
- };
310
- var destroy = function destroy() {
311
- return axios["delete"](INTEGRATIONS_ENGINE_DAILY_URL);
312
- };
313
- var dailiesApi = {
314
- create: create,
315
- show: show,
316
- destroy: destroy
317
- };
318
-
319
- var QUERY_KEYS = {
320
- TWILIO_SMS_CONFIGURATION: "twilio-sms-configuration",
321
- TWILIO_PHONE_NUMBERS: "twilio-phone-numbers",
322
- DAILY_CO_DETAILS: "daily-co-details",
323
- ZOOM_DETAILS: "zoom-details"
324
- };
325
-
326
- 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; }
327
- 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; }
328
- var useCreateDaily = function useCreateDaily() {
329
- var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
330
- return useMutationWithInvalidation(dailiesApi.create, _objectSpread$4({
331
- keysToInvalidate: [[QUERY_KEYS.DAILY_CO_DETAILS]]
332
- }, options));
333
- };
334
- var useFetchDaily = function useFetchDaily() {
335
- return useQuery({
336
- queryKey: [QUERY_KEYS.DAILY_CO_DETAILS],
337
- queryFn: dailiesApi.show,
338
- staleTime: DEFAULT_STALE_TIME
339
- });
340
- };
341
- var useDestroyDaily = function useDestroyDaily(_ref) {
342
- var onSuccess = _ref.onSuccess;
343
- return useMutationWithInvalidation(dailiesApi.destroy, {
344
- keysToInvalidate: [[QUERY_KEYS.DAILY_CO_DETAILS]],
345
- onSuccess: onSuccess
346
- });
347
- };
348
-
349
- function _objectWithoutPropertiesLoose(source, excluded) {
350
- if (source == null) return {};
351
- var target = {};
352
- var sourceKeys = Object.keys(source);
353
- var key, i;
354
- for (i = 0; i < sourceKeys.length; i++) {
355
- key = sourceKeys[i];
356
- if (excluded.indexOf(key) >= 0) continue;
357
- target[key] = source[key];
358
- }
359
- return target;
360
- }
361
-
362
- function _objectWithoutProperties(source, excluded) {
363
- if (source == null) return {};
364
- var target = _objectWithoutPropertiesLoose(source, excluded);
365
- var key, i;
366
- if (Object.getOwnPropertySymbols) {
367
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
368
- for (i = 0; i < sourceSymbolKeys.length; i++) {
369
- key = sourceSymbolKeys[i];
370
- if (excluded.indexOf(key) >= 0) continue;
371
- if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
372
- target[key] = source[key];
373
- }
374
- }
375
- return target;
376
- }
377
-
378
- var _excluded = ["className", "children"];
379
- 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; }
380
- 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; }
381
- var ExternalLink = function ExternalLink(_ref) {
382
- var _ref$className = _ref.className,
383
- className = _ref$className === void 0 ? "" : _ref$className,
384
- _ref$children = _ref.children,
385
- children = _ref$children === void 0 ? null : _ref$children,
386
- props = _objectWithoutProperties(_ref, _excluded);
387
- return /*#__PURE__*/jsx("a", _objectSpread$3(_objectSpread$3({
388
- className: classnames(["neeto-ui-text-primary-800 hover:neeto-ui-text-primary-800 visited:neeto-ui-text-primary-600 font-medium", className])
389
- }, props), {}, {
390
- children: children
391
- }));
392
- };
393
- var ExternalLink$1 = /*#__PURE__*/React__default.memo(ExternalLink);
394
-
395
- var MANAGE_DAILY_CO_FORM_INITIAL_VALUES = {
396
- apiKey: ""
397
- };
398
- var DAILY_CO_VALIDATION_SCHEMA = yup.object().shape({
399
- apiKey: yup.string().trim().required(t$1("neetoIntegrations.errors.required", {
400
- entity: t$1("neetoIntegrations.daily.apiKey")
401
- }))
402
- });
403
-
404
- var Form = function Form(_ref) {
405
- var helpDocUrl = _ref.helpDocUrl,
406
- videoUrl = _ref.videoUrl,
407
- onConnect = _ref.onConnect,
408
- breadcrumbs = _ref.breadcrumbs;
409
- var _useTranslation = useTranslation(),
410
- t = _useTranslation.t;
411
- var history = useHistory();
412
- var _useState = useState(false),
413
- _useState2 = _slicedToArray(_useState, 2),
414
- isDemoModalOpen = _useState2[0],
415
- setIsDemoModalOpen = _useState2[1];
416
- var _useCreateDaily = useCreateDaily({
417
- onSuccess: function onSuccess() {
418
- return onConnect === null || onConnect === void 0 ? void 0 : onConnect();
419
- }
420
- }),
421
- createDaily = _useCreateDaily.mutate,
422
- isConnecting = _useCreateDaily.isPending;
423
- var handleSubmit = function handleSubmit(payload) {
424
- return createDaily(payload);
425
- };
426
- if (isConnecting) {
427
- return /*#__PURE__*/jsx(PageLoader, {});
428
- }
429
- return /*#__PURE__*/jsxs(Container, {
430
- isHeaderFixed: true,
431
- children: [/*#__PURE__*/jsx(Header, {
432
- breadcrumbs: breadcrumbs,
433
- title: /*#__PURE__*/jsxs("span", {
434
- className: "flex items-center gap-2",
435
- children: [t("neetoIntegrations.daily.connect.title"), /*#__PURE__*/jsx(HelpPopover, {
436
- title: t("neetoIntegrations.daily.connect.title"),
437
- description: /*#__PURE__*/jsx(Trans, {
438
- i18nKey: "neetoIntegrations.daily.helpDoc",
439
- components: {
440
- externalLink: /*#__PURE__*/jsx(ExternalLink$1, {
441
- "data-cy": "api-key-help-doc-link",
442
- href: helpDocUrl,
443
- rel: "noreferrer",
444
- target: "_blank"
445
- })
446
- }
447
- }),
448
- helpLinkProps: {
449
- label: /*#__PURE__*/jsx(Button, {
450
- className: "mt-8",
451
- label: t("neetoIntegrations.daily.walkthroughText"),
452
- style: "link",
453
- onClick: function onClick() {
454
- return setIsDemoModalOpen(true);
455
- }
456
- })
457
- }
458
- })]
459
- })
460
- }), /*#__PURE__*/jsxs("div", {
461
- className: "mx-auto w-full max-w-md",
462
- children: [/*#__PURE__*/jsx(FormikForm, {
463
- formikProps: {
464
- initialValues: MANAGE_DAILY_CO_FORM_INITIAL_VALUES,
465
- validationSchema: DAILY_CO_VALIDATION_SCHEMA,
466
- onSubmit: handleSubmit
467
- },
468
- children: /*#__PURE__*/jsxs("div", {
469
- className: "mt-14 w-full space-y-2",
470
- children: [/*#__PURE__*/jsx("div", {
471
- className: "block min-h-20",
472
- children: /*#__PURE__*/jsx(Input, {
473
- autoFocus: true,
474
- required: true,
475
- label: t("neetoIntegrations.daily.apiKey"),
476
- name: "apiKey"
477
- })
478
- }), /*#__PURE__*/jsx(ActionBlock, {
479
- cancelButtonProps: {
480
- onClick: function onClick() {
481
- return history.goBack();
482
- }
483
- },
484
- isSubmitting: isConnecting,
485
- submitButtonProps: {
486
- label: t("neetoIntegrations.common.connect")
487
- }
488
- })]
489
- })
490
- }), /*#__PURE__*/jsx(WalkthroughModal, {
491
- videoUrl: videoUrl,
492
- isOpen: isDemoModalOpen,
493
- onClose: function onClose() {
494
- return setIsDemoModalOpen(false);
495
- }
496
- })]
497
- })]
498
- });
499
- };
500
- var Form$1 = withTitle(Form, i18next.t("neetoIntegrations.browserTitles.integrations.dailyco"));
501
-
502
- var Manage = function Manage(_ref) {
503
- var description = _ref.description,
504
- onDisconnect = _ref.onDisconnect;
505
- var _useState = useState(false),
506
- _useState2 = _slicedToArray(_useState, 2),
507
- isDisconnectAlertOpen = _useState2[0],
508
- setIsDisconnectAlertOpen = _useState2[1];
509
- var _useFetchDaily = useFetchDaily(),
510
- _useFetchDaily$data = _useFetchDaily.data,
511
- _useFetchDaily$data2 = _useFetchDaily$data === void 0 ? {} : _useFetchDaily$data,
512
- _useFetchDaily$data2$ = _useFetchDaily$data2.metadata,
513
- metadata = _useFetchDaily$data2$ === void 0 ? {} : _useFetchDaily$data2$,
514
- isFetching = _useFetchDaily.isFetching;
515
- var _ref2 = metadata || {},
516
- _ref2$apiKey = _ref2.apiKey,
517
- apiKey = _ref2$apiKey === void 0 ? null : _ref2$apiKey;
518
- var _useTranslation = useTranslation(),
519
- t = _useTranslation.t;
520
- var _useDestroyDaily = useDestroyDaily({
521
- onSuccess: function onSuccess() {
522
- setIsDisconnectAlertOpen(false);
523
- onDisconnect === null || onDisconnect === void 0 || onDisconnect();
524
- }
525
- }),
526
- destroyIntegration = _useDestroyDaily.mutate,
527
- isDisconnecting = _useDestroyDaily.isPending;
528
- var isConnected = isPresent(apiKey);
529
- var handleDisconnect = function handleDisconnect() {
530
- return destroyIntegration("daily");
531
- };
532
- if (isFetching || isDisconnecting) return /*#__PURE__*/jsx(PageLoader, {});
533
- return /*#__PURE__*/jsx(Manage$1, {
534
- isConnected: isConnected,
535
- isDisconnectAlertOpen: isDisconnectAlertOpen,
536
- isDisconnecting: isDisconnecting,
537
- setIsDisconnectAlertOpen: setIsDisconnectAlertOpen,
538
- Icon: DailyIcon,
539
- connectPath: buildUrl(window.location.pathname, {
540
- connect: true
541
- }),
542
- integration: "daily",
543
- description: isConnected ? /*#__PURE__*/jsx(Trans, {
544
- i18nKey: "neetoIntegrations.daily.yourApiKey",
545
- values: {
546
- apiKey: apiKey
547
- },
548
- components: {
549
- wrapper: /*#__PURE__*/jsx("div", {
550
- className: "neeto-ui-rounded-md mt-2 flex items-center justify-between gap-x-3 border px-3 py-2"
551
- }),
552
- span: /*#__PURE__*/jsx("span", {
553
- className: "break-all text-sm"
554
- }),
555
- copy: /*#__PURE__*/jsx(CopyToClipboardButton, {
556
- className: "flex-shrink-0 self-start",
557
- style: "text",
558
- value: apiKey
559
- })
560
- }
561
- }) : description,
562
- title: isConnected ? t("neetoIntegrations.daily.connected") : t("neetoIntegrations.daily.connect.account"),
563
- onClose: function onClose() {
564
- return setIsDisconnectAlertOpen(false);
565
- },
566
- onDisconnect: handleDisconnect
567
- });
568
- };
569
-
570
- var Daily = function Daily(_ref) {
571
- var _ref$isOnboarding = _ref.isOnboarding,
572
- isOnboarding = _ref$isOnboarding === void 0 ? false : _ref$isOnboarding,
573
- _ref$helpDocUrl = _ref.helpDocUrl,
574
- helpDocUrl = _ref$helpDocUrl === void 0 ? "" : _ref$helpDocUrl,
575
- _ref$videoUrl = _ref.videoUrl,
576
- videoUrl = _ref$videoUrl === void 0 ? "" : _ref$videoUrl,
577
- _ref$description = _ref.description,
578
- description = _ref$description === void 0 ? "" : _ref$description,
579
- _ref$onConnect = _ref.onConnect,
580
- onConnect = _ref$onConnect === void 0 ? noop : _ref$onConnect,
581
- _ref$onDisconnect = _ref.onDisconnect,
582
- onDisconnect = _ref$onDisconnect === void 0 ? noop : _ref$onDisconnect;
583
- var _useQueryParams = useQueryParams(),
584
- connect = _useQueryParams.connect;
585
- var _useFetchDaily = useFetchDaily(),
586
- _useFetchDaily$data = _useFetchDaily.data,
587
- _useFetchDaily$data2 = _useFetchDaily$data === void 0 ? {} : _useFetchDaily$data,
588
- _useFetchDaily$data2$ = _useFetchDaily$data2.metadata,
589
- metadata = _useFetchDaily$data2$ === void 0 ? {} : _useFetchDaily$data2$;
590
- var _ref2 = metadata || {},
591
- _ref2$apiKey = _ref2.apiKey,
592
- apiKey = _ref2$apiKey === void 0 ? null : _ref2$apiKey;
593
- if (isPresent(apiKey) && !isOnboarding || !connect) {
594
- return /*#__PURE__*/jsx(Manage, {
595
- description: description,
596
- onDisconnect: onDisconnect
597
- });
598
- }
599
- return /*#__PURE__*/jsx(Form$1, {
600
- helpDocUrl: helpDocUrl,
601
- onConnect: onConnect,
602
- videoUrl: videoUrl
603
- });
604
- };
605
- withTitle(Daily, i18next.t("neetoIntegrations.browserTitles.integrations.dailyco"));
606
-
607
- var Stepper = function Stepper(_ref) {
608
- var _ref$steps = _ref.steps,
609
- steps = _ref$steps === void 0 ? {} : _ref$steps;
610
- var isActiveOrCompleted = function isActiveOrCompleted(activeStatus, completedStatus) {
611
- return activeStatus || completedStatus;
612
- };
613
- return /*#__PURE__*/jsx("ul", {
614
- className: "flex gap-4",
615
- children: steps === null || steps === void 0 ? void 0 : steps.map(function (_ref2) {
616
- var step = _ref2.step,
617
- label = _ref2.label,
618
- isActive = _ref2.isActive,
619
- isCompleted = _ref2.isCompleted;
620
- return /*#__PURE__*/jsxs("li", {
621
- className: "flex items-center gap-4",
622
- children: [step !== "1" && /*#__PURE__*/jsx("div", {
623
- className: classnames("w-10 border-b", {
624
- "neeto-ui-border-gray-800": isActiveOrCompleted(isActive, isCompleted),
625
- "neeto-ui-border-gray-400": !isActiveOrCompleted(isActive, isCompleted)
626
- })
627
- }), /*#__PURE__*/jsxs("div", {
628
- className: "flex items-center gap-2",
629
- children: [/*#__PURE__*/jsx("div", {
630
- className: classnames("neeto-ui-rounded-full neeto-ui-gray-600 flex h-6 w-6 items-center justify-center border", {
631
- "neeto-ui-bg-success-600 neeto-ui-border-success-600 neeto-ui-text-white": isActive,
632
- "neeto-ui-bg-primary-600 neeto-ui-border-primary-600 neeto-ui-text-white": isCompleted,
633
- "neeto-ui-border-gray-400": !isActiveOrCompleted(isActive, isCompleted)
634
- }),
635
- children: /*#__PURE__*/jsx(Typography, {
636
- component: "span",
637
- style: "body2",
638
- weight: "normal",
639
- children: step
640
- })
641
- }), /*#__PURE__*/jsx(Typography, {
642
- style: "body2",
643
- weight: "normal",
644
- className: classnames({
645
- "neeto-ui-text-gray-800": isActiveOrCompleted(isActive, isCompleted),
646
- "neeto-ui-text-gray-600": !isActiveOrCompleted(isActive, isCompleted)
647
- }),
648
- children: label
649
- })]
650
- })]
651
- }, step);
652
- })
653
- });
654
- };
655
-
656
- var Modal = function Modal(_ref) {
657
- var _ref$isOpen = _ref.isOpen,
658
- isOpen = _ref$isOpen === void 0 ? noop : _ref$isOpen,
659
- _ref$onClose = _ref.onClose,
660
- onClose = _ref$onClose === void 0 ? noop : _ref$onClose,
661
- _ref$steps = _ref.steps,
662
- steps = _ref$steps === void 0 ? {} : _ref$steps,
663
- children = _ref.children;
664
- return /*#__PURE__*/jsxs(NeetoUIModal, {
665
- isOpen: isOpen,
666
- onClose: onClose,
667
- className: "neeto-ui-flex neeto-ui-flex-col neeto-ui-transform-none w-screen overflow-y-auto",
668
- size: "fullScreen",
669
- children: [/*#__PURE__*/jsx(NeetoUIModal.Header, {
670
- children: /*#__PURE__*/jsx(Stepper, {
671
- steps: steps
672
- })
673
- }), /*#__PURE__*/jsx(NeetoUIModal.Body, {
674
- className: "neeto-ui-flex neeto-ui-justify-center neeto-ui-flex-grow",
675
- children: /*#__PURE__*/jsx("div", {
676
- className: "neeto-ui-w-full py-10",
677
- children: children
678
- })
679
- })]
680
- });
681
- };
682
-
683
- function getDefaultExportFromCjs (x) {
684
- return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
685
- }
686
-
687
- var propTypes = {exports: {}};
688
-
689
- /**
690
- * Copyright (c) 2013-present, Facebook, Inc.
691
- *
692
- * This source code is licensed under the MIT license found in the
693
- * LICENSE file in the root directory of this source tree.
694
- */
695
- var ReactPropTypesSecret$1 = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
696
- var ReactPropTypesSecret_1 = ReactPropTypesSecret$1;
697
-
698
- /**
699
- * Copyright (c) 2013-present, Facebook, Inc.
700
- *
701
- * This source code is licensed under the MIT license found in the
702
- * LICENSE file in the root directory of this source tree.
703
- */
704
- var ReactPropTypesSecret = ReactPropTypesSecret_1;
705
- function emptyFunction() {}
706
- function emptyFunctionWithReset() {}
707
- emptyFunctionWithReset.resetWarningCache = emptyFunction;
708
- var factoryWithThrowingShims = function factoryWithThrowingShims() {
709
- function shim(props, propName, componentName, location, propFullName, secret) {
710
- if (secret === ReactPropTypesSecret) {
711
- // It is still safe when called from React.
712
- return;
713
- }
714
- 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');
715
- err.name = 'Invariant Violation';
716
- throw err;
717
- }
718
- shim.isRequired = shim;
719
- function getShim() {
720
- return shim;
721
- }
722
- // Important!
723
- // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.
724
- var ReactPropTypes = {
725
- array: shim,
726
- bigint: shim,
727
- bool: shim,
728
- func: shim,
729
- number: shim,
730
- object: shim,
731
- string: shim,
732
- symbol: shim,
733
- any: shim,
734
- arrayOf: getShim,
735
- element: shim,
736
- elementType: shim,
737
- instanceOf: getShim,
738
- node: shim,
739
- objectOf: getShim,
740
- oneOf: getShim,
741
- oneOfType: getShim,
742
- shape: getShim,
743
- exact: getShim,
744
- checkPropTypes: emptyFunctionWithReset,
745
- resetWarningCache: emptyFunction
746
- };
747
- ReactPropTypes.PropTypes = ReactPropTypes;
748
- return ReactPropTypes;
749
- };
750
-
751
- /**
752
- * Copyright (c) 2013-present, Facebook, Inc.
753
- *
754
- * This source code is licensed under the MIT license found in the
755
- * LICENSE file in the root directory of this source tree.
756
- */
757
- {
758
- // By explicitly using `prop-types` you are opting into new production behavior.
759
- // http://fb.me/prop-types-in-prod
760
- propTypes.exports = factoryWithThrowingShims();
761
- }
762
- var propTypesExports = propTypes.exports;
763
- var PropTypes = /*@__PURE__*/getDefaultExportFromCjs(propTypesExports);
764
-
765
- 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; }
766
- 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; }
767
- var Connect = withT(function (_ref) {
768
- var t = _ref.t,
769
- Icon = _ref.Icon,
770
- _ref$title = _ref.title,
771
- title = _ref$title === void 0 ? "" : _ref$title,
772
- _ref$description = _ref.description,
773
- description = _ref$description === void 0 ? "" : _ref$description,
774
- _ref$integration = _ref.integration,
775
- integration = _ref$integration === void 0 ? "" : _ref$integration,
776
- _ref$integrationName = _ref.integrationName,
777
- integrationName = _ref$integrationName === void 0 ? "" : _ref$integrationName,
778
- _ref$helpDocUrl = _ref.helpDocUrl,
779
- helpDocUrl = _ref$helpDocUrl === void 0 ? "" : _ref$helpDocUrl,
780
- _ref$buttonProps = _ref.buttonProps,
781
- buttonProps = _ref$buttonProps === void 0 ? {} : _ref$buttonProps,
782
- _ref$onConnect = _ref.onConnect,
783
- onConnect = _ref$onConnect === void 0 ? noop : _ref$onConnect,
784
- children = _ref.children,
785
- secondaryButtonProps = _ref.secondaryButtonProps;
786
- return /*#__PURE__*/jsxs("div", {
787
- className: "mx-auto w-full max-w-3xl",
788
- children: [/*#__PURE__*/jsxs("div", {
789
- className: "mb-6 flex flex-col gap-y-2",
790
- children: [/*#__PURE__*/jsx(Icon, {
791
- size: 48
792
- }), /*#__PURE__*/jsxs("div", {
793
- className: "flex flex-col gap-y-1",
794
- children: [/*#__PURE__*/jsx(Typography, {
795
- style: "h2",
796
- children: title
797
- }), /*#__PURE__*/jsx(Typography, {
798
- style: "body2",
799
- children: description
800
- })]
801
- })]
802
- }), helpDocUrl && /*#__PURE__*/jsx("div", {
803
- className: "mb-4",
804
- children: /*#__PURE__*/jsx(Trans, {
805
- i18nKey: "neetoIntegrations.common.helpDocUrl",
806
- components: {
807
- helpLink: /*#__PURE__*/jsx(Button, {
808
- className: "text-xs",
809
- href: helpDocUrl,
810
- size: "small",
811
- style: "link",
812
- target: "_blank"
813
- })
814
- },
815
- values: {
816
- integration: integrationName || humanize(integration)
817
- }
818
- })
819
- }), children, /*#__PURE__*/jsxs("div", {
820
- className: "flex w-full items-center gap-x-3",
821
- children: [/*#__PURE__*/jsx(Button, _objectSpread$2({
822
- label: t("neetoIntegrations.common.connect"),
823
- onClick: onConnect
824
- }, buttonProps)), secondaryButtonProps && /*#__PURE__*/jsx(Button, _objectSpread$2({
825
- style: "secondary"
826
- }, secondaryButtonProps))]
827
- })]
828
- });
829
- });
830
- Connect.prototypes = {
831
- /**
832
- * To specify the Icon to be shown
833
- */
834
- Icon: PropTypes.node,
835
- /**
836
- * To specify the title of the connect component
837
- */
838
- title: PropTypes.string,
839
- /**
840
- * To specify the description for connect component
841
- */
842
- description: PropTypes.string,
843
- /**
844
- * To specify the props for the connect button
845
- */
846
- buttonProps: PropTypes.object,
847
- /**
848
- * Handler function that is triggered when the connect button is clicked.
849
- */
850
- onConnect: PropTypes.func
851
- };
852
-
853
- ({
854
- /**
855
- * To specify whether the integration modal should be opened or closed.
856
- */
857
- onClose: PropTypes.func,
858
- /**
859
- * To specify the walkthrough video link
860
- */
861
- videoUrl: PropTypes.string,
862
- /**
863
- * To specify the title of the demo component
864
- */
865
- title: PropTypes.string,
866
- /**
867
- * To specify the subtitle of the demo component
868
- */
869
- subtitle: PropTypes.string,
870
- /**
871
- * To specify the title of the video in the iframe
872
- */
873
- iframeTitle: PropTypes.string
874
- });
875
-
876
- var _path, _defs;
877
- 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); }
878
- const SvgSuccess = props => /*#__PURE__*/React.createElement("svg", _extends({
879
- xmlns: "http://www.w3.org/2000/svg",
880
- xmlnsXlink: "http://www.w3.org/1999/xlink",
881
- width: 72,
882
- height: 72,
883
- fill: "none"
884
- }, props), _path || (_path = /*#__PURE__*/React.createElement("path", {
885
- fill: "url(#success_svg__a)",
886
- d: "M0 0h72v72H0z"
887
- })), _defs || (_defs = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("pattern", {
888
- id: "success_svg__a",
889
- width: 1,
890
- height: 1,
891
- patternContentUnits: "objectBoundingBox"
892
- }, /*#__PURE__*/React.createElement("use", {
893
- xlinkHref: "#success_svg__b",
894
- transform: "scale(.0029)"
895
- })), /*#__PURE__*/React.createElement("image", {
896
- xlinkHref: "data:image/png;base64,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WkH/ssvowWQz/YBFlR9ZwAICIBBXAqH1YL0OD+gniPJkO18J3kBp9lTfTfSi+yrepx+Li6hNPxZpEACBeBIIrcB6MXogzynR+Y4q6k0zkpIv/0/E5X8eVtgFArElEMoQgU/hAbz4L7ZfEzQcBEojEEoP1sPwAES1tPMKuUAABJhAKAXW5fAARBVfDRAAASMEQhcicCk8AFE1cjqhEBAAgWwCofNgDYYHIKrZZwLWQQAEjBMIncA6DA9AVI2fQigQBEAgF4FQhQjkMurTXkEbuDGVuRrUzXaIajdQsAkEQMB9AqHyYNvK6Tz+RShEXCGq7p87qAEEQKAHAqES2B7CAxDVHjobu0EABLwlEJoQQY7wAETV2/MFtYEACBRBIDQebFZ4AKJaRAfjUBAAAf8IhEZgyaKUSNO4suG0RE0F6B8y1AwCIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAAC7hD4/8l256QQPdLRAAAAAElFTkSuQmCC",
897
- id: "success_svg__b",
898
- width: 344,
899
- height: 344
900
- }))));
901
-
902
- 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; }
903
- 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; }
904
- var Finish = withT(function (_ref) {
905
- var t = _ref.t,
906
- _ref$onClick = _ref.onClick,
907
- onClick = _ref$onClick === void 0 ? noop : _ref$onClick,
908
- _ref$title = _ref.title,
909
- title = _ref$title === void 0 ? "" : _ref$title,
910
- _ref$buttonProps = _ref.buttonProps,
911
- buttonProps = _ref$buttonProps === void 0 ? {} : _ref$buttonProps,
912
- _ref$secondaryButtonP = _ref.secondaryButtonProps,
913
- secondaryButtonProps = _ref$secondaryButtonP === void 0 ? {} : _ref$secondaryButtonP,
914
- children = _ref.children;
915
- return /*#__PURE__*/jsxs("div", {
916
- className: "mx-auto w-full max-w-3xl",
917
- children: [/*#__PURE__*/jsx(SvgSuccess, {}), /*#__PURE__*/jsx(Typography, {
918
- className: "mb-6 mt-4",
919
- style: "h2",
920
- weight: "semibold",
921
- children: title
922
- }), children, /*#__PURE__*/jsxs("div", {
923
- className: "flex w-full items-center gap-x-2",
924
- children: [/*#__PURE__*/jsx(Button, _objectSpread$1({
925
- onClick: onClick,
926
- label: t("neetoIntegrations.common.continue")
927
- }, buttonProps)), isNotEmpty(secondaryButtonProps) && /*#__PURE__*/jsx(Button, _objectSpread$1({
928
- style: "secondary"
929
- }, secondaryButtonProps))]
930
- })]
931
- });
932
- });
933
- Finish.prototypes = {
934
- /**
935
- * To specify whether the integration modal should be opened or closed.
936
- */
937
- onClick: PropTypes.func,
938
- /**
939
- * To show the title of the Finish component
940
- */
941
- title: PropTypes.string,
942
- /**
943
- * To specify props for primary button
944
- */
945
- buttonProps: PropTypes.object,
946
- /**
947
- * To specify props for secondary button
948
- */
949
- secondaryButtonProps: PropTypes.object
950
- };
951
-
952
- var e = [],
953
- t = [];
954
- function n(n, r) {
955
- if (n && "undefined" != typeof document) {
956
- var a,
957
- s = !0 === r.prepend ? "prepend" : "append",
958
- d = !0 === r.singleTag,
959
- i = "string" == typeof r.container ? document.querySelector(r.container) : document.getElementsByTagName("head")[0];
960
- if (d) {
961
- var u = e.indexOf(i);
962
- -1 === u && (u = e.push(i) - 1, t[u] = {}), a = t[u] && t[u][s] ? t[u][s] : t[u][s] = c();
963
- } else a = c();
964
- 65279 === n.charCodeAt(0) && (n = n.substring(1)), a.styleSheet ? a.styleSheet.cssText += n : a.appendChild(document.createTextNode(n));
965
- }
966
- function c() {
967
- var e = document.createElement("style");
968
- 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]]);
969
- var a = "prepend" === s ? "afterbegin" : "beforeend";
970
- return i.insertAdjacentElement(a, e), e;
971
- }
972
- }
973
-
974
- 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%}";
975
- n(css,{});
976
-
977
- var INTEGRATION_STEPS = [{
978
- step: "1",
979
- label: t$1("neetoIntegrations.common.connect"),
980
- isActive: true,
981
- isCompleted: false
982
- }, {
983
- step: "2",
984
- label: t$1("neetoIntegrations.common.finish"),
985
- isActive: false,
986
- isCompleted: false
987
- }];
988
- var STEPS = {
989
- connect: t$1("neetoIntegrations.common.connect"),
990
- finish: t$1("neetoIntegrations.common.finish")
991
- };
992
-
993
- 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; }
994
- 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; }
995
- var GoogleCalendar = function GoogleCalendar(_ref) {
996
- var permissionImage = _ref.permissionImage,
997
- fetchAuthorizationUrl = _ref.fetchAuthorizationUrl,
998
- handleClose = _ref.handleClose,
999
- handleRedirect = _ref.handleRedirect;
1000
- var _useTranslation = useTranslation(),
1001
- t = _useTranslation.t;
1002
- var _useState = useState(INTEGRATION_STEPS),
1003
- _useState2 = _slicedToArray(_useState, 2),
1004
- steps = _useState2[0],
1005
- setSteps = _useState2[1];
1006
- var _getQueryParams = getQueryParams(),
1007
- status = _getQueryParams.status;
1008
- var activeTab = isPresent(status) ? STEPS.finish : STEPS.connect;
1009
- useEffect(function () {
1010
- setSteps(function () {
1011
- var stepsClone = _toConsumableArray(steps);
1012
- stepsClone[0] = _objectSpread(_objectSpread({}, steps[0]), {}, {
1013
- isActive: activeTab === STEPS.connect,
1014
- isCompleted: activeTab !== STEPS.connect
1015
- });
1016
- stepsClone[1] = _objectSpread(_objectSpread({}, steps[1]), {}, {
1017
- isActive: activeTab === STEPS.finish,
1018
- isCompleted: activeTab === STEPS.finish
1019
- });
1020
- return stepsClone;
1021
- });
1022
- }, [activeTab]);
1023
- return /*#__PURE__*/jsxs(Modal, {
1024
- steps: steps,
1025
- isOpen: true,
1026
- onClose: handleClose,
1027
- children: [activeTab === STEPS.connect && /*#__PURE__*/jsxs("div", {
1028
- className: "mx-auto w-full max-w-3xl",
1029
- children: [/*#__PURE__*/jsx(GoogleCalendarIcon, {
1030
- size: 48
1031
- }), /*#__PURE__*/jsx(Typography, {
1032
- className: "mb-4 mt-2",
1033
- style: "h2",
1034
- children: t("neetoIntegrations.google.connect.title")
1035
- }), /*#__PURE__*/jsxs("div", {
1036
- className: "flex w-full flex-col items-start",
1037
- children: [/*#__PURE__*/jsx(Callout, {
1038
- className: "block leading-5",
1039
- children: /*#__PURE__*/jsx(Trans, {
1040
- components: {
1041
- bold: /*#__PURE__*/jsx("strong", {})
1042
- },
1043
- i18nKey: "neetoIntegrations.google.connect.reminderToAcceptPermissions",
1044
- values: {
1045
- selectCheckbox: t("neetoIntegrations.google.connect.selectCheckbox")
1046
- }
1047
- })
1048
- }), permissionImage && /*#__PURE__*/jsx("div", {
1049
- className: "neeto-ui-border-gray-300 neeto-ui-rounded-md my-4 overflow-hidden border",
1050
- children: /*#__PURE__*/jsx("img", {
1051
- src: permissionImage
1052
- })
1053
- })]
1054
- }), /*#__PURE__*/jsx(Button, {
1055
- icon: Google,
1056
- label: t("neetoIntegrations.google.connect.signIn"),
1057
- onClick: fetchAuthorizationUrl
1058
- })]
1059
- }), activeTab === STEPS.finish && /*#__PURE__*/jsx(Finish, {
1060
- title: t("neetoIntegrations.google.finish.title"),
1061
- onClick: handleRedirect
1062
- })]
1063
- });
1064
- };
1065
-
1066
- export { GoogleCalendar as default };
1067
- //# sourceMappingURL=GoogleCalender.js.map